इस पेज पर, Camera Image Test Suite (ITS) में शामिल सभी टेस्ट की पूरी सूची दी गई है. यह Android Compatibility Test Suite (CTS) Verifier का हिस्सा है. आईटीएस टेस्ट, फ़ंक्शन के टेस्ट होते हैं. इसका मतलब है कि ये इमेज की क्वालिटी को मेज़र नहीं करते. हालांकि, ये इस बात की पुष्टि करते हैं कि विज्ञापन में बताए गए कैमरे के सभी फ़ंक्शन, उम्मीद के मुताबिक काम कर रहे हैं. इस दस्तावेज़ से डेवलपर और टेस्टर को यह समझने में मदद मिलती है कि अलग-अलग टेस्ट क्या करते हैं और टेस्ट के फ़ेल होने की समस्या को कैसे ठीक किया जाए.
Android 17 और इसके बाद के वर्शन में, Camera ITS टेस्ट को CTS Verifier में दो गतिविधियों में बांटा गया है, ताकि उन्हें एक साथ चलाया जा सके और टेस्ट का समय कम किया जा सके: एक गतिविधि feature_combination और sensor_fusion टेस्ट के लिए है, और दूसरी अन्य सभी टेस्ट के लिए.
कैमरा आईटीएस, ज़रूरी कैमरा प्रॉपर्टी, एपीआई लेवल, और मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) लेवल के हिसाब से टेस्ट करता है. एपीआई लेवल के लिए, आईटीएस ro.product.first_api_level का इस्तेमाल करता है. इससे, किसी खास एपीआई लेवल में जोड़े गए टेस्ट को गेट किया जाता है. ये टेस्ट, कम एपीआई लेवल में काम करने वाली सुविधाओं के लिए, उपयोगकर्ता के खराब अनुभवों की जांच करते हैं. आईटीएस, ro.vendor.api_level का इस्तेमाल करता है. इससे, किसी खास एपीआई लेवल में जोड़ी गई सुविधाओं के लिए टेस्ट किए जाते हैं. इन सुविधाओं के लिए, नए हार्डवेयर की ज़रूरत होती है. अगर किसी डिवाइस के लिए ro.odm.build.media_performance_class तय किया गया है, तो आईटीएस को एमपीसी लेवल के आधार पर कुछ खास टेस्ट चलाने होंगे.
टेस्ट को सीन के हिसाब से इस तरह ग्रुप किया जाता है:
scene0: मेटाडेटा, जिटर, जायरोस्कोप, वाइब्रेशन कैप्चर करनाscene1: एक्सपोज़र, सेंसिटिविटी, एक्सपोज़र वैल्यू (ईवी) कंपंसेशन, YUV बनाम JPEG और RAWscene2: चेहरे की पहचान करने की सुविधा, रंगीन सीन की ज़रूरत वाले टेस्टscene3: इमेज को ज़्यादा शार्प बनाना, लेंस का हिलनाscene4: आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात), काटना, फ़ील्ड ऑफ़ व्यूscene5: लेंस शेडिंगscene6: ज़ूम करेंscene7: एक से ज़्यादा कैमरा स्विच करने की सुविधाscene8: ऑटो एक्सपोज़र (एई) और ऑटो व्हाइट बैलेंस (एडब्ल्यूबी) रीजन मीटरिंगscene9: JPEG कंप्रेशनscene_extensions: कैमरा एक्सटेंशनscene_tele: टेलीफ़ोटो लेंस स्विच करनाscene_flash: ऑटोफ़्लैश, कम से कम फ़्रेम रेटscene_video: फ़्रेम ड्रॉपscene_gen2_chart: Gen2 पेपर चार्ट का इस्तेमाल करके किए गए टेस्टscene_wide_gamut: वाइड गैमट कलर प्रोफ़ाइल और रेंजsensor_fusion: कैमरा और जाइरोस्कोप के टाइमिंग ऑफ़सेटfeature_combination: सुविधाओं के कॉम्बिनेशनscene_ip: डिफ़ॉल्ट कैमरा ऐप्लिकेशन और Jetpack Camera App (JCA) से ली गई इमेज में समानता
हर सीन के बारे में जानकारी पाने के लिए, अलग-अलग सेक्शन देखें.
scene0
टेस्ट के लिए, सीन की किसी खास जानकारी की ज़रूरत नहीं होती. हालांकि, जायरोस्कोप और वाइब्रेशन की जांच के लिए, फ़ोन को स्थिर रखना ज़रूरी है.
test_jitter
यह कैमरे के टाइमस्टैंप में होने वाले बदलावों को मेज़र करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMPandroid.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
पास: फ़्रेम के बीच कम से कम 30 मि॰से॰ का अंतर है.
नीचे दी गई इमेज में, y-ऐक्सिस की छोटी रेंज पर ध्यान दें. इस प्लॉट में जिटरिंग का असर कम है.
पहली इमेज. test_jitter प्लॉट.
test_metadata
यह मेटाडेटा एंट्री की वैधता की जांच करता है. इसके लिए, यह कैप्चर के नतीजों और कैमरे की विशेषताओं वाले ऑब्जेक्ट को देखता है. इस टेस्ट में, auto_capture_request एक्सपोज़र और गेन वैल्यू का इस्तेमाल किया जाता है, क्योंकि इमेज कॉन्टेंट ज़रूरी नहीं है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVELandroid.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPEandroid.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERNandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCEandroid.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATIONandroid.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
पास: हार्डवेयर लेवल, rollingShutterSkew, frameDuration टैग,
timestampSource, croppingType, blackLevelPattern, pixel_pitch,
फ़ील्ड ऑफ़ व्यू (FoV) और हाइपरफ़ोकल दूरी मौजूद हैं और इनकी वैल्यू मान्य हैं.
test_request_capture_match
इन टेस्ट से यह पता चलता है कि डिवाइस, कैप्चर किए गए मेटाडेटा को पढ़कर सही एक्सपोज़र और गेन वैल्यू लिखता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
पास: अनुरोध की गई और कैप्चर की गई मेटाडेटा वैल्यू, सभी शॉट में एक जैसी हैं.
test_sensor_events
जिन डिवाइसों पर सेंसर फ़्यूज़न की सुविधा का विज्ञापन दिखाया जाता है उनके लिए, यह टेस्ट यह जांच करता है कि डिवाइस, सेंसर इवेंट के बारे में क्वेरी करता है या नहीं और उन्हें प्रिंट करता है या नहीं. एक्सलरोमीटर, जाइरोस्कोप, और मैग्नेटोमीटर सेंसर की ज़रूरत होती है. यह जांच सिर्फ़ तब काम करती है, जब स्क्रीन चालू हो. इसका मतलब है कि डिवाइस स्टैंडबाय मोड में न हो.
जांचे गए एपीआई:
पास: हर सेंसर के लिए इवेंट मिले हैं.
test_solid_color_test_pattern
इस टेस्ट से यह पता चलता है कि कैमरा म्यूट करने के लिए, एक रंग वाले टेस्ट पैटर्न सही तरीके से जनरेट किए गए हैं या नहीं. अगर कैमरा म्यूट करने की सुविधा काम करती है, तो सॉलिड कलर टेस्ट पैटर्न काम करने चाहिए. अगर कैमरा म्यूट करने की सुविधा काम नहीं करती है, तो सॉलिड कलर टेस्ट पैटर्न की जांच सिर्फ़ तब की जाती है, जब इस सुविधा का विज्ञापन किया गया हो.
अगर रॉ इमेज इस्तेमाल की जा सकती हैं, तो रंग असाइन करने की सुविधा की भी जांच की जाती है. इन रंगों की जांच की गई है: काला, सफ़ेद, लाल, नीला, और हरा. जिन कैमरों में रॉ इमेज की सुविधा नहीं होती है उनके लिए, सिर्फ़ काले रंग की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODESandroid.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATAandroid.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
पास: टेस्ट के लिए इस्तेमाल किए गए सॉलिड पैटर्न का रंग सही है और इमेज में कम अंतर है.
test_test_pattern
यह android.sensor.testPatternMode पैरामीटर की जांच करता है, ताकि हर मान्य टेस्ट पैटर्न के लिए फ़्रेम कैप्चर किए जा सकें. साथ ही, यह जांच करता है कि एक जैसे रंगों और कलर बार के लिए फ़्रेम सही तरीके से जनरेट किए गए हैं या नहीं. इस जांच में ये चरण शामिल हैं:
- यह सुविधा, टेस्ट के सभी पैटर्न के लिए इमेज कैप्चर करती है.
- यह सॉलिड कलर टेस्ट पैटर्न और कलर बार के सही होने की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODESandroid.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
पास: टेस्ट के लिए इस्तेमाल किए जा सकने वाले पैटर्न सही तरीके से जनरेट किए गए हैं.
दूसरी इमेज. test_test_patterns का उदाहरण.
test_tonemap_curve
यह टेस्ट, लीनियर टोनमैप की मदद से टेस्ट पैटर्न को रॉ से YUV में बदलने की प्रोसेस की जांच करता है. इस टेस्ट में, टोनमैप कन्वर्ज़न के लिए सही इमेज पैटर्न जनरेट करने के लिए android.sensor.testPatternMode = 2 (COLOR_BARS) की ज़रूरत होती है. इस टेस्ट से यह पुष्टि की जाती है कि पाइपलाइन में, लीनियर टोनमैप और सही इमेज इनपुट के साथ सही रंग आउटपुट हैं. यह test_test_patterns पर निर्भर करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODEandroid.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODEandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: YUV और RAW, दोनों एक-दूसरे से मिलते-जुलते हैं.
तीसरी इमेज. test_tonemap_curve का रॉ उदाहरण.
चौथी इमेज. test_tonemap_curve YUV का उदाहरण.
test_unified_timestamp
यह कुकी जांच करती है कि इमेज और मोशन सेंसर इवेंट, एक ही टाइम डोमेन में हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMPandroid.hardware.Sensorandroid.hardware.SensorEventandroid.hardware.Sensor#TYPE_ACCELEROMETERandroid.hardware.Sensor#TYPE_GYROSCOPE
पास: मोशन टाइमस्टैंप, इमेज के दोनों टाइमस्टैंप के बीच में हैं.
test_vibration_restriction
यह कुकी, यह जांच करती है कि डिवाइस का वाइब्रेशन ठीक से काम कर रहा है या नहीं.
जांचे गए एपीआई:
android.hardware.Sensorandroid.hardware.SensorEventandroid.hardware.Sensor#TYPE_ACCELEROMETERandroid.os.Vibratorandroid.hardware.camera2.CameraDevice#setCameraAudioRestriction
पास: कैमरा ऑडियो restriction API से म्यूट करने पर, डिवाइस वाइब्रेट नहीं होता.
scene1_1
scene1 एक ग्रे चार्ट है. ग्रे चार्ट को कैमरे के फ़ील्ड ऑफ़ व्यू (FoV) के बीच के 30% हिस्से को कवर करना चाहिए. ग्रे चार्ट से 3A (AE,
AWB, और AF) को चुनौती मिलने की संभावना है, क्योंकि सेंटर रीजन में कोई सुविधा नहीं है.
हालांकि, कैप्चर अनुरोध में पूरे सीन की जानकारी दी गई है. इसमें 3A के लिए ज़रूरी सुविधाएं शामिल हैं.
RFoV कैमरों की जांच, WFoV या RFoV टेस्ट रिग में की जा सकती है. अगर RFoV कैमरे को WFoV टेस्ट रिग में टेस्ट किया जाता है, तो चार्ट को 2/3 के हिसाब से स्केल किया जाता है. इससे FoV में मौजूद ग्रे चार्ट के लिए कुछ सीमाएं तय की जाती हैं, ताकि 3A को कन्वर्ज करने में मदद मिल सके. कैमरे के टेस्ट रिग के बारे में ज़्यादा जानकारी के लिए, Camera ITS-in-a-box देखें.
पांचवीं इमेज. बाईं ओर, पूरे साइज़ का सीन1 चार्ट और दाईं ओर, 2/3 स्केल किया गया चार्ट.
test_ae_precapture_trigger
यह कुकी, प्रीकैप्चर ट्रिगर का इस्तेमाल करते समय एई स्टेट मशीन की जांच करती है. यह कुकी, एई की सुविधा बंद होने पर, मैन्युअल तरीके से किए गए पांच अनुरोधों को कैप्चर करती है. पिछले अनुरोध में एई प्रीकैप्चर ट्रिगर है. इसे अनदेखा किया जाना चाहिए, क्योंकि एई बंद है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGERandroid.hardware.camera2.CaptureResult#CONTROL_AE_STATE
पास: AE कन्वर्ज होता है.
test_auto_vs_manual
ऑटो और मैन्युअल मोड में ली गई फ़ोटो, एक जैसी दिखती हैं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINSandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORMandroid.hardware.camera2.CaptureResult#TONEMAP_CURVEandroid.hardware.camera2.CaptureResult#TONEMAP_MODE
पास: हर कैप्चर के नतीजे में रिपोर्ट किए गए मैन्युअल व्हाइट बैलेंस के फ़ायदे और बदलाव, कैमरे के 3A एल्गोरिदम के ऑटो व्हाइट बैलेंस estimate से मेल खाते हैं.
छठी इमेज. test_auto_vs_manual ऑटो का उदाहरण.
सातवीं इमेज. ऑटोमैटिक और मैन्युअल वाइट बैलेंस की तुलना करने का उदाहरण.
आठवीं इमेज. test_auto_vs_manual में मैन्युअल तरीके से व्हाइट बैलेंस करने की सुविधा का उदाहरण.
test_black_white
इस टेस्ट से यह पता चलता है कि डिवाइस पूरी तरह से ब्लैक ऐंड व्हाइट इमेज बनाता है या नहीं. यह दो इमेज कैप्चर करता है. पहली इमेज में बहुत कम गेन और कम एक्सपोज़र होता है. इससे ब्लैक फ़ोटो मिलती है. दूसरी इमेज में बहुत ज़्यादा गेन और ज़्यादा एक्सपोज़र होता है. इससे व्हाइट फ़ोटो मिलती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: इससे ब्लैक ऐंड व्हाइट इमेज जनरेट होती हैं. सफ़ेद इमेज के सैचुरेटेड चैनलों की आरजीबी वैल्यू [255, 255, 255] होती है. इसमें गड़बड़ी की संभावना 1% से कम होती है.
नौवीं इमेज. test_black_white, ब्लैक उदाहरण.
दसवीं इमेज. test_black_white, सफ़ेद रंग का उदाहरण.
इमेज 11. test_black_white, plot means example.
test_burst_capture
इससे यह पुष्टि की जाती है कि पूरी कैप्चर पाइपलाइन, फ़ुल-साइज़ कैप्चर और सीपीयू के समय की स्पीड के साथ काम कर सकती है.
जांचे गए एपीआई:
पास: इसमें फ़ुल साइज़ की कई इमेज कैप्चर की जाती हैं. साथ ही, फ़्रेम ड्रॉप और इमेज की चमक की जांच की जाती है.
test_burst_sameness_manual
यह मैन्युअल कैप्चर सेटिंग के साथ, 50 इमेज के पांच बर्स्ट लेता है. साथ ही, यह देखता है कि सभी इमेज एक जैसी हैं या नहीं. इस टेस्ट का इस्तेमाल करके यह पता लगाएं कि क्या कुछ फ़्रेम ऐसे हैं जिन्हें अलग तरीके से प्रोसेस किया गया है या जिनमें आर्टफ़ैक्ट मौजूद हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSORandroid.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
पास: इमेज, विज़ुअल और आरजीबी वैल्यू के हिसाब से एक जैसी हैं.
फ़ेल: हर बर्स्ट की शुरुआत में, आरजीबी के औसत चार्ट में अचानक बढ़ोतरी या गिरावट दिखती है
first_API_level< 30 के लिए टॉलरेंस 3% हैfirst_API_level>= 30 के लिए टॉलरेंस 2% है
इमेज 12. test_burst_sameness_manual के औसत का उदाहरण.
13वीं इमेज. test_burst_sameness_manual_plot_means
test_crop_region_raw
इस कुकी से यह जांच की जाती है कि RAW स्ट्रीम को काटा नहीं जा सकता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZEandroid.hardware.camera2.CaptureResult#SCALER_CROP_REGIONandroid.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
पास: YUV इमेज को बीच से काटा जाता है, लेकिन RAW इमेज को नहीं.
आंकड़ा 14. test_crop_region_raw comp raw crop का उदाहरण.
आंकड़ा 15. test_crop_region_raw comp raw full example.
इमेज 16. test_crop_region_raw कंपोनेंट के YUV क्रॉप का उदाहरण.
इमेज 17. test_crop_region_raw YUV का पूरा उदाहरण.
test_crop_regions
इस कुकी से यह पता चलता है कि इमेज के काटे गए हिस्से काम कर रहे हैं या नहीं. यह पूरी इमेज लेता है और पांच अलग-अलग हिस्सों (कोने और बीच) के पैच बनाता है. पांच क्षेत्रों के लिए, क्रॉप की गई इमेज लेता है. यह पैच और काटी गई इमेज की वैल्यू की तुलना करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZEandroid.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
पास: काटी गई इमेज का हिस्सा, क्रॉप की गई इमेज के पैच से मेल खाता है.
test_ev_compensation
इस कुकी से यह पता चलता है कि एक्सपोज़र वैल्यू (ईवी) का मुआवज़ा लागू किया गया है या नहीं. इस टेस्ट में एक बुनियादी सेक्शन और एक ऐडवांस सेक्शन होता है.
बुनियादी सेक्शन में यह जांच की जाती है कि ईवी के लिए मुआवज़ा, CONTROL_AE_COMPENSATION_STEP से बनाई गई रेंज का इस्तेमाल करके दिया गया है. हर कंपंसेशन वैल्यू पर आठ फ़्रेम कैप्चर किए जाते हैं.
ऐडवांस सेक्शन में, आठ चरणों में एक्सपोज़र बढ़ता है. साथ ही, इसमें मेज़र की गई चमक की तुलना, अनुमानित चमक से की जाती है. अनुमानित वैल्यू का हिसाब, इन चीज़ों के आधार पर लगाया जाता है: ईवी कंपंसेशन लागू न होने पर, इमेज की चमक और अगर हिसाब लगाई गई वैल्यू, इमेज की असल वैल्यू की सीमा से ज़्यादा हो जाती है, तो अनुमानित वैल्यू पूरी हो जाती है. अगर अनुमानित वैल्यू और मेज़र की गई वैल्यू मेल नहीं खाती हैं या अगर पांच चरणों के अंदर इमेज ज़्यादा एक्सपोज़ हो जाती हैं, तो टेस्ट पूरा नहीं होता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEPandroid.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATIONandroid.hardware.camera2.CaptureRequest#CONTROL_AE_LOCKandroid.hardware.camera2.CaptureResult#CONTROL_AE_STATEandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCKandroid.hardware.camera2.CaptureResult#TONEMAP_CURVEandroid.hardware.camera2.CaptureResult#TONEMAP_MODE
बेसिक सेक्शन पास: इमेज में पांच चरणों में, ओवरएक्सपोज़ किए बिना एक्सपोज़र को बढ़ता हुआ दिखाया गया है.
18वीं इमेज. test_ev_compensation_basic.
ऐडवांस सेक्शन पास: ईवी कॉम्पन्सेशन सेटिंग बढ़ने पर, यह ल्यूमा में हुई बढ़ोतरी को कैप्चर करता है. ईवी कंपनसेशन की हर सेटिंग के लिए कैप्चर किए गए आठ फ़्रेम में, ल्यूमा की वैल्यू स्थिर होती हैं.
इमेज 19. test_ev_compensation_advanced_plot_means.
test_exposure_x_iso
ऐसे टेस्ट जिनसे यह पता चलता है कि आईएसओ और एक्सपोज़र टाइम अलग-अलग होने पर भी, एक जैसा एक्सपोज़र मिलता है. यह एक साथ कई फ़ोटो लेता है. इनमें आईएसओ और एक्सपोज़र टाइम को एक-दूसरे के हिसाब से सेट किया जाता है.
नतीजों की चमक एक जैसी होनी चाहिए. हालांकि, क्रम के हिसाब से इमेज में नॉइज़ बढ़ता जाना चाहिए. इससे यह पुष्टि की जाती है कि सैंपल पिक्सल की औसत वैल्यू एक-दूसरे के आस-पास हैं. इससे यह पुष्टि होती है कि इमेज को 0 या 1 पर क्लैंप नहीं किया गया है. ऐसा होने पर, इमेज फ़्लैट लाइनों की तरह दिखेंगी. कॉन्फ़िगरेशन फ़ाइल में debug फ़्लैग सेट करके, RAW इमेज के साथ भी टेस्ट चलाया जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: इमेज की चमक एक जैसी है, लेकिन आईएसओ बढ़ने पर नॉइज़ बढ़ जाता है. जब टेस्ट किए गए गेन स्पेस पर ISO*exposure की वैल्यू एक जैसी होती है, तब RGB प्लेन फ़्लैट होते हैं.
फ़ेल होने की वजह: इस इमेज में दिखाया गया है कि जैसे-जैसे गेन मल्टीप्लायर वैल्यू (x-ऐक्सिस) बढ़ती हैं वैसे-वैसे नॉर्मलाइज़ किए गए आरजीबी प्लैन की औसत वैल्यू (y-ऐक्सिस), कम गेन मल्टीप्लायर वैल्यू से अलग होने लगती हैं.
20वीं इमेज. test_exposure_plot_means.
21वीं इमेज. test_exposure_mult=1.00.
आंकड़ा 22. test_exposure_mult=64.00.
test_latching
इन टेस्ट से यह पता चलता है कि FULL और LEVEL_3 कैमरों के लिए, एक्सपोज़र और गेन की सेटिंग सही फ़्रेम पर लॉक होती हैं या नहीं. यह एक के बाद एक अनुरोधों का इस्तेमाल करके कई शॉट लेता है. साथ ही, यह हर शॉट के लिए कैप्चर करने के अनुरोध के पैरामीटर बदलता है. यह कुकी, यह जांच करती है कि इमेज में ज़रूरी प्रॉपर्टी मौजूद हैं या नहीं.
जांचे गए एपीआई:
पास: इमेज [2, 3, 6, 8, 10, 12, 13] में आईएसओ या एक्सपोज़र बढ़ा है. साथ ही, नीचे दी गई इमेज में प्लॉट में ज़्यादा आरजीबी वैल्यू दिख रही है.
आंकड़ा 23. test_latching प्लॉट का मतलब उदाहरण.
24वीं इमेज. test_latching i=00.
25वीं इमेज. test_latching i=01.
26वीं इमेज. test_latching i=02.
27वीं इमेज. test_latching i=03.
28वीं इमेज. test_latching i=04.
29वीं इमेज. test_latching i=05.
तीसवीं इमेज. test_latching i=06.
31वीं इमेज. test_latching i=07.
32वीं इमेज. test_latching i=08.
33वीं इमेज. test_latching i=09.
34वीं इमेज. test_latching i=10.
35वीं इमेज. test_latching i=11.
36वीं इमेज. test_latching i=12.
test_linearity
इस टेस्ट से यह पता चलता है कि डिवाइस प्रोसेसिंग को लीनियर पिक्सल में बदला जा सकता है या नहीं. इस मोड में, एक ही टारगेट पर डिवाइस को पॉइंट करके, कई शॉट लिए जाते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCKandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: संवेदनशीलता बढ़ने के साथ-साथ, R, G, और B की वैल्यू में भी बढ़ोतरी होनी चाहिए.
आंकड़ा 37. test_linearity प्लॉट का मतलब उदाहरण.
test_locked_burst
यह 3A लॉक और YUV बर्स्ट की जांच करता है. इसके लिए, ऑटो सेटिंग का इस्तेमाल किया जाता है. यह टेस्ट, उन डिवाइसों पर भी पास हो सकता है जिनमें MANUAL_SENSOR या PER_FRAME_CONTROLS नहीं है.
इस टेस्ट में, YUV इमेज की एक जैसी क्वालिटी की जांच की जाती है. वहीं, फ़्रेम रेट की जांच CTS में की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCKandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
पास: कैप्चर एक जैसे दिखते हैं.
38वीं इमेज. test_locked_burst frame0 का उदाहरण.
39वीं इमेज. test_locked_burst frame1 का उदाहरण.
40वीं इमेज. test_locked_burst frame2 का उदाहरण.
scene1_2
scene 1_2, scene 1_1 की फ़ंक्शन के हिसाब से एक जैसी कॉपी है. इसमें सबसीन स्ट्रक्चर लागू किया गया है, ताकि scene 1 की अवधि को कम किया जा सके.
test_param_color_correction
यह कुकी, यह जांच करती है कि android.colorCorrection.* पैरामीटर सेट होने पर लागू होते हैं या नहीं.
यह अलग-अलग ट्रांसफ़ॉर्म और गेन वैल्यू के साथ इमेज कैप्चर करता है. साथ ही, यह जांच करता है कि वे अलग-अलग दिख रही हैं या नहीं. आउटपुट को ज़्यादा से ज़्यादा लाल या नीला बनाने के लिए, ट्रांसफ़ॉर्म और गेन को चुना जाता है. लीनियर टोनमैप का इस्तेमाल करता है.
टोन मैपिंग, इमेज प्रोसेसिंग में इस्तेमाल की जाने वाली एक तकनीक है. इसका इस्तेमाल, रंगों के एक सेट को दूसरे सेट पर मैप करने के लिए किया जाता है. इससे, ज़्यादा डाइनैमिक रेंज वाली इमेज को ऐसे मीडियम में दिखाया जा सकता है जिसकी डाइनैमिक रेंज कम होती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINSandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODEandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
पास: ट्रांसफ़ॉर्मेशन के हिसाब से R और B वैल्यू बढ़ती हैं.
आंकड़ा 41. test_param_color_correction प्लॉट का मतलब बताने वाला उदाहरण.
यहां दिए गए आंकड़ों में, x-ऐक्सिस कैप्चर करने के अनुरोध हैं: 0 = यूनिटी, 1 = रेड बूस्ट, और 2 = ब्लू बूस्ट.
आंकड़ा 42. test_param_color_correction req=0 unity का उदाहरण.
आंकड़ा 43. test_param_color_correctness req=1 red boost का उदाहरण.
आंकड़ा 44. test_param_color_correction req=2 blue boost का उदाहरण.
test_param_flash_mode
इस कुकी से यह पता चलता है कि android.flash.mode पैरामीटर लागू किया गया है या नहीं. यह फ़िल्टर, एक्सपोज़र को मैन्युअल तरीके से डार्क साइड पर सेट करता है, ताकि यह पता चल सके कि फ़्लैश चालू हुआ या नहीं. साथ ही, यह लीनियर टोनमैप का इस्तेमाल करता है. यह कुकी, टाइल इमेज के बीच के हिस्से की जांच करती है. इससे यह पता चलता है कि फ़्लैश चालू हुआ है या नहीं. इसके लिए, यह देखती है कि क्या कोई बड़ा ग्रेडिएंट बनाया गया है.
जांचे गए एपीआई:
पास: टाइल इमेज के बीच में बड़ा ग्रेडिएंट है. इसका मतलब है कि फ़्लैश चालू था.
45वीं इमेज. test_param_flash_mode 1 का उदाहरण.
इमेज 46. test_param_flash_mode का एक टाइल वाला उदाहरण.
47वीं इमेज. test_param_flash_mode 2 का उदाहरण.
आंकड़ा 48. test_param_flash_mode के दो टाइल वाले उदाहरण.
test_param_noise_reduction
इस कुकी से यह जांच की जाती है कि android.noiseReduction.mode पैरामीटर को सेट करते समय, उसे सही तरीके से लागू किया गया है या नहीं. इस मोड में, कम रोशनी में भी कैमरे से अच्छी फ़ोटो खींची जा सकती हैं. यह ज़्यादा एनालॉग गेन का इस्तेमाल करता है, ताकि यह पक्का किया जा सके कि कैप्चर की गई इमेज में नॉइज़ है. यह तीन इमेज कैप्चर करता है. ये इमेज, नॉइज़ रिडक्शन की सुविधा बंद होने, फ़ास्ट, और अच्छी क्वालिटी के लिए होती हैं. यह कम गेन और नॉइज़ रिडक्शन (एनआर) बंद करके भी एक इमेज कैप्चर करता है. साथ ही, इसके वैरिएंस को बेसलाइन के तौर पर इस्तेमाल करता है. सिग्नल टू नॉइज़ (एसएनआर) रेशियो जितना ज़्यादा होगा, इमेज की क्वालिटी उतनी ही बेहतर होगी.
जांचे गए एपीआई:
पास: शोर कम करने की सुविधा के अलग-अलग मोड के हिसाब से एसएनआर अलग-अलग होता है. यह नीचे दिए गए ग्राफ़ के हिसाब से काम करता है:
आंकड़ा 49. test_param_noise_reduction प्लॉट एसएनआर का उदाहरण.
0: बंद, 1: तेज़, 2: हाई क्वालिटी, 3: कम से कम , 4: ज़ीरो शटर लैग
50वीं इमेज. test_param_noise_reduction high gain nr=0 का उदाहरण.
आंकड़ा 51. test_param_noise_reduction high gain nr=1 का उदाहरण.
आंकड़ा 52. test_param_noise_reduction हाई गेन nr=2 का उदाहरण.
53वीं इमेज. test_param_noise_reduction हाई गेन nr=3 का उदाहरण.
54वीं इमेज. test_param_noise_reduction के कम गेन का उदाहरण.
test_param_shading_mode
इस कुकी से यह पता चलता है कि android.shading.mode पैरामीटर लागू किया गया है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SHADING_MODEandroid.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODEandroid.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
पास: शेडिंग मोड स्विच किए जाते हैं और लेंस शेडिंग मैप में उम्मीद के मुताबिक बदलाव किए जाते हैं.
55वीं इमेज. test_param_shading_mode लेंस शेडिंग मैप, मोड 0 लूप 0 का उदाहरण.
56वीं इमेज. test_param_shading_mode लेंस शेडिंग मैप, मोड 1 लूप 0 का उदाहरण.
57वीं इमेज. test_param_shading_mode लेंस शेडिंग मैप, मोड 2 लूप 0 का उदाहरण.
test_param_tonemap_mode
इस कुकी से यह पता चलता है कि android.tonemap.mode पैरामीटर लागू किया गया है या नहीं. यह हर R, G, B चैनल पर अलग-अलग टोनमैप कर्व लागू करता है. साथ ही, यह जांच करता है कि आउटपुट इमेज में उम्मीद के मुताबिक बदलाव हुए हैं या नहीं. इस टेस्ट में दो टेस्ट शामिल हैं: test1 और test2.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODEandroid.hardware.camera2.CameraMetadata#TONEMAP_MODE_FASTandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास:
test1: दोनों इमेज में लीनियर टोनमैप है, लेकिनn=1में ज़्यादा स्टीपर ग्रेडिएंट है.n=1इमेज के लिए, G (हरा) चैनल ज़्यादा चमकदार है.test2: एक ही टोनमैप, लेकिन अलग-अलग अवधि. इमेज एक जैसी हैं.
इमेज 58. n=0 के साथ test_param_tonemap_mode.
इमेज 59. n=1 के साथ test_param_tonemap_mode.
test_post_raw_sensitivity_boost
यह कुकी, पोस्ट की संवेदनशीलता बढ़ाने की सुविधा की जांच करती है. यह अलग-अलग सेंसिटिविटी वाली रॉ और YUV इमेज का सेट कैप्चर करता है. साथ ही, रॉ सेंसिटिविटी बूस्ट कॉम्बिनेशन पोस्ट करता है. इसके अलावा, यह देखता है कि आउटपुट पिक्सल का औसत, अनुरोध की सेटिंग से मेल खाता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGEandroid.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAWandroid.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOSTandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: बूस्ट बढ़ने पर रॉ इमेज की चमक कम हो जाती है, जबकि YUV इमेज की चमक एक जैसी रहती है.
आंकड़ा 60. test_post_raw_sensitivity_boost raw s=3583 boost=0100 का उदाहरण.
आंकड़ा 61. test_post_raw_sensitivity_boost raw s=1792 boost=0200 का उदाहरण.
आंकड़ा 62. test_post_raw_sensitivity_boost raw s=0896 boost=0400 का उदाहरण.
आंकड़ा 63. test_post_raw_sensitivity_boost raw s=0448 boost=0800 उदाहरण.
आंकड़ा 64. test_post_raw_sensitivity_boost raw s=0224 boost=1600 उदाहरण.
65वीं इमेज. test_post_raw_sensitivity_boost raw s=0112 boost=3199 का उदाहरण.
आंकड़ा 66. test_post_raw_sensitivity_boost का मतलब है कि यह एक उदाहरण है.
इमेज 67. test_post_raw_sensitivity_boost YUV s=0112 boost=3199 का उदाहरण.
68वीं इमेज. test_post_raw_sensitivity_boost YUV s=0448 boost=0800 का उदाहरण.
आंकड़ा 69. test_post_raw_sensitivity_boost YUV s=0896 boost=0400 का उदाहरण.
70वीं इमेज. test_post_raw_sensitivity_boost YUV s=1792 boost=0200 का उदाहरण.
आंकड़ा 71. test_post_raw_sensitivity_boost YUV s=3585 boost=0100 का उदाहरण.
72वीं इमेज. test_post_raw_sensitivity_boost_yuv_plot_means
test_raw_exposure
यह फ़ंक्शन, एक्सपोज़र टाइम को बढ़ाकर रॉ इमेज का एक सेट कैप्चर करता है और पिक्सल वैल्यू को मेज़र करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAWandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
पास: आईएसओ (गेन) बढ़ाने से पिक्सल, रोशनी के लिए ज़्यादा संवेदनशील हो जाते हैं. इसलिए, प्लॉट बाईं ओर चला जाता है.
आंकड़ा 73. test_raw_exposure ISO=55 का उदाहरण.
10⁰ का मतलब 1 मि॰से॰, 10¹ का मतलब 10 मि॰से॰, और 10⁻¹ का मतलब 0.1 मि॰से॰ होता है.
आंकड़ा 74. test_raw_exposure ISO=132 का उदाहरण.
75वीं इमेज. test_raw_exposure ISO=209 का उदाहरण.
आंकड़ा 76. test_raw_exposure ISOs=286 का उदाहरण.
आंकड़ा 77. test_raw_exposure ISO=363 का उदाहरण.
आंकड़ा 78. test_raw_exposure ISO=440 का उदाहरण.
test_reprocess_noise_reduction
ऐसे टेस्ट जिनके लिए, फिर से प्रोसेस करने के अनुरोधों को android.noiseReduction.mode लागू किया जाता है.
इस सुविधा की मदद से, कम रोशनी में कैमरे से ली गई फ़ोटो को फिर से प्रोसेस किया जाता है. यह ज़्यादा एनालॉग गेन का इस्तेमाल करता है, ताकि यह पुष्टि की जा सके कि कैप्चर की गई इमेज में नॉइज़ है. यह कुकी, फिर से प्रोसेस की गई तीन इमेज कैप्चर करती है. ये इमेज, नॉइज़ रिडक्शन (एनआर) की सुविधा बंद होने, तेज़ गति से काम करने, और अच्छी क्वालिटी के लिए होती हैं. यह कम गेन और नॉइज़ रिडक्शन (एनआर) बंद करके, फिर से प्रोसेस की गई इमेज कैप्चर करता है. साथ ही, इसके अंतर का इस्तेमाल बेसलाइन के तौर पर करता है.
जांचे गए एपीआई:
पास: FAST >= OFF, HQ >= FAST, और HQ >> OFF.
79वीं इमेज. एसएनआर वर्सेस एनआर मोड के प्लॉट का उदाहरण.
test_tonemap_sequence
यह अलग-अलग टोनमैप कर्व के साथ, कई शॉट की जांच करता है. इसमें मैन्युअल तरीके से तीन फ़ोटो ली जाती हैं. साथ ही, लीनियर टोनमैप का इस्तेमाल किया जाता है. यह डिफ़ॉल्ट टोनमैप के साथ, मैन्युअल तरीके से लिए गए तीन शॉट कैप्चर करता है. यह हर लगातार फ़्रेम पेयर के बीच के अंतर का हिसाब लगाता है.
जांचे गए एपीआई:
पास: इसमें एक जैसे तीन फ़्रेम हैं. इसके बाद, एक जैसे तीन फ़्रेम का दूसरा सेट है.
80वीं इमेज. test_tonemap_sequence i=0 का उदाहरण.
81वीं इमेज. test_tonemap_sequence i=1 का उदाहरण.
82वीं इमेज. test_tonemap_sequence i=2 का उदाहरण.
83वीं इमेज. test_tonemap_sequence i=3 का उदाहरण.
84वीं इमेज. test_tonemap_sequence i=4 का उदाहरण.
85वीं इमेज. test_tonemap_sequence i=5 का उदाहरण.
test_yuv_jpeg_all
इस टेस्ट से यह पता चलता है कि इमेज कैप्चर करने के लिए, बताए गए सभी साइज़ और फ़ॉर्मैट काम करते हैं. यह मैन्युअल अनुरोध का इस्तेमाल करता है. इसमें लीनियर टोनमैप होता है, ताकि image_processing_utils मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें. इमेज डिफ़ॉल्ट रूप से सेव नहीं की जाती हैं. हालांकि, debug_mode को चालू करके इन्हें सेव किया जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODEandroid.graphics.ImageFormat#JPEG
पास: सभी इमेज सेंटर में, आरजीबी में बदली गई इमेज के लिए रूट मीन स्क्वेयर (आरएमएस) (सिग्नल की वैल्यू) का अंतर ज़्यादा से ज़्यादा 3% होता है. यह अंतर, सबसे ज़्यादा रिज़ॉल्यूशन वाली वाईयूवी इमेज के लिए होता है.
86वीं इमेज. test_yuv_jpeg_all का उदाहरण.
test_yuv_plus_dng
यह कुकी, इमेज कैप्चर करने के लिए बताए गए साइज़ और फ़ॉर्मैट के काम करने की जांच करती है.
जांचे गए एपीआई:
पास: टेस्ट पूरा हो गया है और इसमें अनुरोध की गई इमेज वापस मिल गई हैं.
इमेज 87. test_yuv_plus_dng का उदाहरण.
scene1_3
scene 1_3, scene 1_1 की फ़ंक्शन के हिसाब से एक जैसी कॉपी है. इसमें सबसीन स्ट्रक्चर लागू किया गया है, ताकि scene 1 की अवधि को कम किया जा सके.
test_capture_result
इस टेस्ट से यह पता चलता है कि CaptureResult ऑब्जेक्ट में मान्य डेटा वापस आता है. इस टेस्ट में, ऑटो कैप्चर मोड, मैन्युअल कैप्चर, और दूसरा ऑटो कैप्चर मोड शामिल है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONSandroid.hardware.camera2.CaptureRequest#CONTROL_AF_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONSandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONSandroid.hardware.camera2.CaptureRequest#CONTROL_MODEandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINSandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORMandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODEandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAPandroid.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODEandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: मेटाडेटा, सभी कैप्चर के लिए मान्य है. साथ ही, मैन्युअल सेटिंग दूसरे ऑटो कैप्चर में लीक नहीं होती हैं. यह कुकी, कैप्चर किए गए डेटा के लिए लेंस शेडिंग को ठीक करने की जानकारी देती है.
88वीं इमेज. test_capture_result_plot_lsc_auto_ch0.
test_dng_noise_model
इस कुकी से यह पुष्टि की जाती है कि DNG रॉ मॉडल के पैरामीटर सही हैं. इस प्लॉट में, अलग-अलग सेंसिटिविटी पर कैप्चर किए गए रॉ शॉट में, ग्रे कार्ड के सेंटर पैच के मेज़र किए गए वैरिएंस को दिखाया गया है. साथ ही, इन वैल्यू की तुलना, कैमरा HAL में मौजूद DNG नॉइज़ मॉडल से की गई है. यह मॉडल, कैप्चर के नतीजे के ऑब्जेक्ट में मिले O और S पैरामीटर के आधार पर, हर सेंसिटिविटी पर वैरिएंस का अनुमान लगाता है. डीएनजी नॉइज़ मॉडल के बारे में ज़्यादा जानकारी पाने के लिए, डीएनजी नॉइज़ मॉडल पर यह दस्तावेज़ डाउनलोड करें.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVELandroid.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITYandroid.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILEandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: DNG रॉ मॉडल के पैरामीटर सही हैं. अनुमानित आरजीबी वैल्यू, मेज़र की गई असल आरजीबी वैल्यू से मेल खाती हैं.
89वीं इमेज. test_dng_noise_model_plog.
test_jpeg
YUV इमेज और डिवाइस की JPEG इमेज को बदलने वाले टेस्ट एक जैसे दिखते हैं. टेस्ट में, इमेज के बीच के 10% हिस्से को लिया जाता है और आरजीबी वैल्यू का हिसाब लगाया जाता है. साथ ही, यह पुष्टि की जाती है कि ये वैल्यू मेल खाती हैं.
जांचे गए एपीआई:
पास: हर इमेज के बीच आरजीबी का औसत अंतर 3% से कम है.
इमेज 90. test_jpeg_fmt=jpg.jpg.
91वीं इमेज. test_jpeg=fmt=yuv.jpg.
test_raw_burst_sensitivity
यह फ़ंक्शन, बढ़ती हुई चमक वाली रॉ इमेज का सेट कैप्चर करता है और नॉइज़ को मेज़र करता है. इस मोड में, सिर्फ़ रॉ फ़ॉर्मैट में फ़ोटो कैप्चर की जाती हैं. साथ ही, बर्स्ट मोड में फ़ोटो कैप्चर की जाती हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVELandroid.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITYandroid.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
पास: हर शॉट, पिछले शॉट की तुलना में ज़्यादा नॉइज़ी है, क्योंकि गेन बढ़ रहा है.
यह सेंटर के आंकड़ों वाली ग्रिड सेल के वैरिएंस का इस्तेमाल करता है.
92वीं इमेज. test_raw_burst_sensitivity_variance.
test_raw_sensitivity
यह इमेज, अलग-अलग संवेदनशीलता वाली रॉ इमेज का एक सेट कैप्चर करती है. साथ ही, इमेज के बीच के 10% हिस्से में नॉइज़ (वैरिएशन) को मेज़र करती है. इस टेस्ट में यह देखा जाता है कि हर शॉट, पिछले शॉट से ज़्यादा नॉइज़ी है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVELandroid.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITYandroid.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
पास: हर शॉट के साथ वैरियंस बढ़ता है.
इमेज 93. test_raw_sensitivity_variance.
test_yuv_plus_jpeg
यह टेस्ट, एक फ़्रेम को YUV और JPEG, दोनों फ़ॉर्मैट में कैप्चर करता है. यह मैन्युअल अनुरोध का इस्तेमाल करता है. इसमें लीनियर टोनमैप होता है, ताकि image_processing_utils मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODEandroid.graphics.ImageFormat#JPEG
पास: YUV और JPEG इमेज एक जैसी हैं. साथ ही, इनमें 1% से कम आरएमएस (सिग्नल की वैल्यू) का अंतर है.
आकृति 94. JPEG फ़ॉर्मैट में test_yuv_plus_jpeg.
इमेज 95. YUV फ़ॉर्मैट के साथ test_yuv_plus_jpeg.
test_yuv_plus_raw
अगर यह सुविधा काम करती है, तो यह टेस्ट एक फ़्रेम को रॉ (10-बिट और 12-बिट रॉ) और YUV, दोनों फ़ॉर्मैट में कैप्चर करता है. यह लीनियर टोनमैप के साथ मैन्युअल अनुरोध का इस्तेमाल करता है, इसलिए रॉ और YUV एक जैसे होने चाहिए. यह आरजीबी में बदली गई इमेज के सेंटर की 10% आरजीबी वैल्यू की तुलना करता है. लॉगandroid.shading.mode.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAWandroid.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAPandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODEandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINSandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORMandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_MODEandroid.hardware.camera2.CaptureRequest#SHADING_MODEandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODEandroid.hardware.graphics.ImageFormat#RAW10android.hardware.graphics.ImageFormat#RAW12
पास: YUV और रॉ इमेज एक जैसी हैं. साथ ही, इनमें 3.5% से कम आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर है.
96वीं इमेज. test_yuv_plus_raw_shading=1_raw.jpg.
इमेज 97. test_yuv_plus_raw_shading=1_yuv.jpg.
test_sensitivity_priority
ज़्यादा आईएसओ और नॉइज़ लेवल बढ़ने के बीच के संबंध की पुष्टि करने के लिए, अलग-अलग आईएसओ सेटिंग पर टेस्ट CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY किए गए.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITYandroid.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureResult#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureRequest#CONTROL_AE_PRIORITY_MODEandroid.hardware.camera2.CaptureResult#CONTROL_AE_PRIORITY_MODEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureResult#CONTROL_AE_MODEandroid.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ONandroid.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_PRIORITY_MODES
पास: आईएसओ ज़्यादा होने पर, नॉइज़ लेवल बढ़ जाता है.
टेस्ट स्किप करने की शर्तें
अगर इनमें से कोई भी शर्त पूरी होती है, तो test_sensitivity_priority.py टेस्ट को छोड़ दिया जाता है:
- डिवाइस का पहला एपीआई लेवल (
first_api_level) 35 या इससे कम हो. - डिवाइस,
CONTROL_AE_AVAILABLE_PRIORITY_MODESमेंCONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITYका विज्ञापन नहीं दिखाता है.
test_exposure_time_priority
अलग-अलग एक्सपोज़र टाइम पर CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY टेस्ट किए जाते हैं. साथ ही, यह देखा जाता है कि आईएसओ की रेंज में ब्राइटनेस स्थिर है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITYandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_PRIORITY_MODEandroid.hardware.camera2.CaptureResult#CONTROL_AE_PRIORITY_MODEandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGEandroid.hardware.camera2.CaptureResult#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureResult#CONTROL_AE_MODEandroid.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ONandroid.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_PRIORITY_MODES
पास: अगर आईएसओ, कंपंसेशन रेंज में है, तो एक्सपोज़र टाइम के दौरान चमक स्थिर रहती है (टॉलरेंस के अंदर).
टेस्ट स्किप करने की शर्तें
अगर इनमें से कोई भी शर्त पूरी होती है, तो test_exposure_time_priority टेस्ट को छोड़ दिया जाता है:
- डिवाइस का पहला एपीआई लेवल (
first_api_level) 35 या इससे कम हो. - डिवाइस,
CONTROL_AE_AVAILABLE_PRIORITY_MODESमेंCONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITYका विज्ञापन नहीं दिखाता है.
scene2_a
scene2_a में तीन लोगों के चेहरे दिख रहे हैं. इसका बैकग्राउंड स्लेटी रंग का है और लोगों ने सामान्य कपड़े पहने हैं. चेहरों को अलग-अलग तरह की त्वचा के रंग के हिसाब से चुना जाता है. चेहरे की पहचान करने की सुविधा के बेहतर तरीके से काम करने के लिए, चार्ट का ओरिएंटेशन सही होना चाहिए.
आकृति 98. scene2_a का उदाहरण.
test_autoframing
यह कुकी, कैमरा डिवाइस की ऑटोफ़्रेमिंग की सुविधा के काम करने के तरीके की जांच करती है. ज़्यादा ज़ूम करता है, ताकि सीन में मौजूद कोई भी चेहरा न दिखे. साथ ही, CaptureRequest में AUTOFRAMING को True पर सेट करके, ऑटोफ़्रेमिंग मोड चालू करता है. इसके अलावा, यह पुष्टि करता है कि जब स्थिति एक जैसी हो (यानी कि जब CaptureResult में AUTOFRAMING_STATE को AUTOFRAMING_STATE_CONVERGED पर सेट किया गया हो), तब ओरिजनल सीन में मौजूद सभी चेहरों का पता लगाया जा सकता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLEandroid.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMINGandroid.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMINGandroid.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
पास: तीनों चेहरों की पहचान की गई है.
test_display_p3
ColorSpaceProfiles API का इस्तेमाल करके, JPEG फ़ॉर्मैट में Display P3 टेस्ट कैप्चर किए जाते हैं. इस टेस्ट में यह देखा जाता है कि कैप्चर की गई JPEG इमेज के हेडर में सही ICC प्रोफ़ाइल मौजूद है या नहीं. साथ ही, यह भी देखा जाता है कि इमेज में sRGB गैमट के बाहर के रंग शामिल हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.params.ColorSpaceProfilesandroid.hardware.camera2.params.SessionConfiguration#setColorSpace
पास: JPEG में Display P3 ICC प्रोफ़ाइल और sRGB गैमुट से बाहर के रंग शामिल हैं.
test_effects
यह कुकी, कैमरे के साथ काम करने वाले इफ़ेक्ट के लिए फ़्रेम कैप्चर करती है. साथ ही, यह देखती है कि वे सही तरीके से जनरेट हुए हैं या नहीं. यह टेस्ट सिर्फ़ OFF और MONO इफ़ेक्ट की जांच करता है. हालांकि, यह सभी इफ़ेक्ट के लिए इमेज सेव करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTSandroid.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
पास: इससे सीन की इमेज को इफ़ेक्ट OFF के साथ कैप्चर किया जाता है. साथ ही, इफ़ेक्ट MONO के साथ मोनोक्रोम इमेज कैप्चर की जाती है.
99वीं इमेज. test_effects_MONO.
test_exposure_keys_consistent
इस टेस्ट में, एई की सुविधा चालू करके कैप्चर की गई इमेज के ऐवरेज ल्यूमा की तुलना, एई की सुविधा बंद करके कैप्चर की गई इमेज के ऐवरेज ल्यूमा से की जाती है. एई की सुविधा बंद करके कैप्चर की गई इमेज में, एई की सुविधा चालू करके कैप्चर की गई इमेज के CaptureResult में मिले एक्सपोज़र पैरामीटर (सेंसिटिविटी, एक्सपोज़र टाइम, फ़्रेम की अवधि, पोस्ट रॉ सेंसिटिविटी बूस्ट) को मैन्युअल तरीके से लागू किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATIONandroid.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOSTandroid.hardware.camera2.CaptureResult#SENSOR_SENSITIVITYandroid.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureResult#SENSOR_FRAME_DURATIONandroid.hardware.camera2.CaptureResult#CONTROL_POST_RAW_SENSITIVITY_BOOST
पास: दोनों कैप्चर के बीच ल्यूमा का अंतर चार प्रतिशत से कम है.
test_format_combos
यह आउटपुट फ़ॉर्मैट के अलग-अलग कॉम्बिनेशन की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAPandroid.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()android.hardware.camera2.CameraCaptureSession#captureBurst()
पास: सभी कॉम्बिनेशन को कैप्चर कर लिया गया है.
test_num_faces
यह कुकी, चेहरे की पहचान करने की सुविधा की जांच करती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: तीन चेहरों की पहचान की गई.
आंकड़ा 100. test_num_faces फ़ेस डिटेक्शन मोड 1 का उदाहरण.
test_reprocess_uv_swap
ऐसे टेस्ट जिनसे यह पता चलता है कि YUV रीप्रोसेसिंग, U और V प्लैन को स्वैप नहीं करती है. इसका पता लगाने के लिए, फिर से प्रोसेस की गई इमेज और बिना प्रोसेस की गई इमेज के बीच के अंतर (एसएडी) का हिसाब लगाया जाता है. अगर फिर से प्रोसेस किए गए कैप्चर के आउटपुट U और V प्लैन को स्वैप करने से SAD बढ़ जाता है, तो यह माना जाता है कि आउटपुट में सही U और V प्लैन हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraDevice#createCaptureSessionandroid.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSINGandroid.hardware.camera2.CaptureRequest#EDGE_MODEandroid.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
पास: U और V प्लैन स्वैप नहीं किए गए हैं.
आंकड़ा 101. test_reprocess_uv_swap का उदाहरण.
scene2_b
scene2_b में तीन लोगों के चेहरे दिख रहे हैं. इसका बैकग्राउंड स्लेटी रंग का है और लोगों ने सामान्य कपड़े पहने हैं. चेहरों को अलग-अलग तरह की त्वचा के रंग के हिसाब से चुना जाता है. चेहरे की पहचान करने की सुविधा के बेहतर तरीके से काम करने के लिए, चार्ट का ओरिएंटेशन सही होना चाहिए.
test_preview_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा की जांच की जाती है. इसमें, चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें चेहरे के बाउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे मिलते हैं.
आंकड़ा 102. test_num_faces फ़ेस डिटेक्शन मोड 1 का उदाहरण.
test_yuv_jpeg_capture_sameness
यह सबसे बड़े कॉमन YUV और JPEG फ़ॉर्मैट का इस्तेमाल करके दो इमेज कैप्चर करता है. इनका आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सबसे बड़े JPEG फ़ॉर्मैट के बराबर होता है. साथ ही, इनका रिज़ॉल्यूशन 1920x1440 से ज़्यादा नहीं होता.
यह कुकी, jpeg.quality को 100 पर सेट करती है और दो सर्फ़ेस के अनुरोध को कैप्चर करती है. यह फ़ंक्शन, दोनों इमेज को RGB ऐरे में बदलता है. इसके बाद, दोनों इमेज के बीच 3D रूट मीन स्क्वेयर (आरएमएस) अंतर का हिसाब लगाता है.
इसके अलावा, इस टेस्ट से यह पुष्टि की जाती है कि स्ट्रीम करने के सभी तरीकों के लिए YUV आउटपुट, STILL_CAPTURE इस्तेमाल करने के तरीके के YUV से मिलते-जुलते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASESandroid.hardware.camera2.CaptureRequest#JPEG_QUALITYandroid.graphics.ImageFormat#JPEG
पास: STILL_CAPTURE इस्तेमाल के उदाहरण के लिए, YUV और JPEG इमेज में 3% से कम आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर है. साथ ही, इस्तेमाल के सभी उदाहरणों के लिए, YUV इमेज में STILL_CAPTURE इस्तेमाल के उदाहरण वाली YUV इमेज से 4% से कम CIELAB का अंतर है.
scene2_c
test_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा को परखा जाता है. इसमें चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: तीन चेहरों की पहचान की गई.
आंकड़ा 103. test_num_faces फ़ेस डिटेक्शन मोड का उदाहरण.
test_jpeg_capture_perf_class
यह टेस्ट, CDD के सेक्शन 2.2.7.2 कैमरा में बताई गई S परफ़ॉर्मेंस क्लास के लिए, JPEG कैप्चर करने में लगने वाले समय की जांच करता है.
पास: दोनों प्राइमरी कैमरों के लिए, 1080 पिक्सल रिज़ॉल्यूशन पर camera2 JPEG कैप्चर करने में लगने वाला समय 1,000 मि॰से॰ से कम होना चाहिए. यह समय, ITS की रोशनी की स्थितियों (3000K) में, CTS कैमरा परफ़ॉर्मेंस टेस्ट के तहत मेज़र किया जाता है.
test_camera_launch_perf_class
यह टेस्ट, CDD के सेक्शन 2.2.7.2 कैमरा में बताए गए S परफ़ॉर्मेंस क्लास के लिए, कैमरा लॉन्च होने में लगने वाले समय की जांच करता है.
पास: दोनों प्राइमरी कैमरों के लिए, Camera2 के चालू होने में लगने वाला समय (कैमरा खोलने से लेकर पहले प्रीव्यू फ़्रेम तक) 600 मि॰से॰ से कम होना चाहिए. यह समय, आईटीएस की रोशनी की स्थितियों (3000K) में, CTS की camera PerformanceTest के तहत मापा जाता है.
test_default_camera_hdr
इस टेस्ट में यह जांच की जाती है कि परफ़ॉर्मेंस क्लास 15 के लिए, डिफ़ॉल्ट कैमरा कैप्चर अल्ट्रा एचडीआर है या नहीं. इसके बारे में सीडीडी के सेक्शन 2.2.7.2 कैमरा में बताया गया है.
पास: परफ़ॉर्मेंस क्लास 15 वाले डिवाइस के लिए, डिफ़ॉल्ट कैमरा पैकेज से कैप्चर की गई इमेज का फ़ॉर्मैट अल्ट्रा एचडीआर होना चाहिए.
scene2_d
test_preview_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा की जांच की जाती है. इसमें, चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें चेहरे के बाउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे मिलते हैं.
scene2_e
test_continuous_picture
कैप्चर करने के अनुरोध की पहली सेटिंग के साथ, वीजीए रिज़ॉल्यूशन के 50 फ़्रेम कैप्चर किए जाते हैं
android.control.afMode = 4 (CONTINUOUS_PICTURE).
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODEandroid.hardware.camera2.CaptureResult#CONTROL_AE_STATEandroid.hardware.camera2.CaptureResult#CONTROL_AF_STATEandroid.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
पास: 3A सिस्टम, 50 फ़्रेम कैप्चर होने के बाद सेटल हो जाता है.
test_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा को परखा जाता है. इसमें चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरों का पता चलता है.
scene2_f
scene2_f में तीन चेहरे हैं. इनका बैकग्राउंड और कपड़े सफ़ेद रंग के हैं. चेहरों में अलग-अलग तरह के स्किन टोन होने चाहिए और बैकग्राउंड के साथ उनका कंट्रास्ट ज़्यादा होना चाहिए.
इमेज 104. scene2_f का उदाहरण.
test_preview_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा को परखा जाता है. इसमें चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें चेहरे के बाउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे मिलते हैं.
105वीं इमेज. test_num_faces_fd_mode_1 का उदाहरण.
scene2_g
scene2_g में तीन प्रोफ़ाइल फ़ेस हैं. इनका बैकग्राउंड और कपड़े सफ़ेद रंग के हैं.
चेहरों में अलग-अलग तरह की स्किन टोन हैं और बैकग्राउंड के साथ उनका कंट्रास्ट ज़्यादा है.
106वीं इमेज. scene2_g का उदाहरण.
test_preview_num_faces
इस टेस्ट में, चेहरे की पहचान करने की सुविधा को परखा जाता है. इसमें चेहरे वाले सीन में अलग-अलग स्किन टोन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACESandroid.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें चेहरे के बाउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे मिलते हैं.
107वीं इमेज. test_preview_num_faces एट्रिब्यूट की वैल्यू का उदाहरण.
scene3
scene3 ISO12233 चार्ट का इस्तेमाल करता है. साथ ही, ज़्यादातर टेस्ट में चार्ट एक्सट्रैक्टर तरीके का इस्तेमाल किया जाता है, ताकि सीन में चार्ट मिल सके. इस वजह से, सेव की गई ज़्यादातर इमेज में, सीन 1, 2 या 4 की इमेज की तरह बॉर्डर नहीं होते. हालांकि, सिर्फ़ चार्ट में बॉर्डर होता है. चार्ट फ़ाइंडर के बेहतर तरीके से काम करने के लिए, चार्ट का ओरिएंटेशन सही होना चाहिए.
Android 17 और इसके बाद के वर्शन में, scene3 चार्ट का पता लगाने के लिए ArUco मार्कर का इस्तेमाल करता है.
108वीं इमेज. सीन3 चार्ट.
test_edge_enhancement
इससे यह जांच की जाती है कि android.edge.mode पैरामीटर सही तरीके से लागू किया गया है या नहीं. यह फ़ंक्शन, हर एज मोड के लिए ऐसी इमेज कैप्चर करता है जिन्हें फिर से प्रोसेस नहीं किया जा सकता. साथ ही, आउटपुट इमेज की शार्पनेस और कैप्चर के नतीजे का मेटाडेटा दिखाता है. यह फ़ंक्शन, कैप्चर करने के अनुरोध को प्रोसेस करता है. इसके लिए, यह एज मोड, संवेदनशीलता, एक्सपोज़र टाइम, फ़ोकस दूरी, और आउटपुट सर्फ़ेस पैरामीटर का इस्तेमाल करता है. Android 17 और इसके बाद के वर्शन में, ArUco मार्कर का इस्तेमाल किया जाता है. इससे चार्ट के उस हिस्से को तय किया जाता है जिसमें ज़रूरी शार्प एज होते हैं.
पास: HQ मोड (2), OFF मोड (0) से ज़्यादा शार्प है. FAST मोड (1) OFF मोड से ज़्यादा शार्प है. HQ मोड, FAST मोड से ज़्यादा शार्प या इसके बराबर है.
जांचे गए एपीआई:
कैमरे के इन पैरामीटर पर असर पड़ा है:
EDGE_MODE
आंकड़ा 109. test_edge_enhancement edge=0 का उदाहरण.
आकृति 110. test_edge_enhancement edge=1 (फ़ास्ट मोड) का उदाहरण.
आकृति 111. test_edge_enhancement edge=2 (हाई क्वालिटी मोड) का उदाहरण.
test_flip_mirror
इस टेस्ट में यह देखा जाता है कि इमेज, सीडीडी में दिए गए 7.5.2 फ्रंट-फ़ेसिंग कैमरा के मुताबिक सही ओरिएंटेशन में है या नहीं. Android 17 और इसके बाद के वर्शन में, ArUco मार्कर का इस्तेमाल किया जाता है. इससे चार्ट की मौजूदगी और ओरिएंटेशन, दोनों की पुष्टि की जाती है. मिरर की गई, फ़्लिप की गई या घुमाई गई इमेज की पहचान, बीच में मौजूद डायमंड फ़ीचर से की जा सकती है.
पास: सभी मार्कर का पता चल गया है और वे सही तरीके से अलाइन किए गए हैं. इमेज को फ़्लिप, मिरर या रोटेट नहीं किया गया है.
आकृति 112. test_flip_mirror सीन पैच का उदाहरण.
test_imu_drift
इस टेस्ट में यह देखा जाता है कि डिवाइस के स्थिर रहने और हाई-डेफ़िनिशन प्रीव्यू कैप्चर करने के दौरान, इनर्शियल मेज़रमेंट यूनिट (आईएमयू) 30 सेकंड तक स्थिर आउटपुट देती है या नहीं.
जांचे गए एपीआई:
android.hardware.Sensorandroid.hardware.SensorEventandroid.hardware.Sensor#TYPE_GYROSCOPEandroid.hardware.Sensor#TYPE_ROTATION_VECTOR
पास:
- टेस्ट के दौरान, जायरोस्कोप का ड्रिफ़्ट 0.01 रेडियन से कम है.
- टेस्ट के दौरान, जायरोस्कोप की रीडिंग का वैरिएंस 1E-7 rad2/s2/Hz से कम है.
- टेस्ट के दौरान, रोटेशन वेक्टर का ड्रिफ़्ट 0.01 रेडियन से कम है.
- (अभी ज़रूरी नहीं है) जायरोस्कोप का ड्रिफ़्ट, एक डिग्री प्रति सेकंड से कम हो.
आंकड़ा 113. test_imu_drift में जायरोस्कोप के ड्रिफ़्ट का उदाहरण.
आंकड़ा 114. test_imu_drift रोटेशन वेक्टर के ड्रिफ़्ट का उदाहरण.
test_landscape_to_portrait
इस टेस्ट से यह पता चलता है कि लैंडस्केप ओरिएंटेशन वाले सेंसर के लिए, लैंडस्केप से पोर्ट्रेट में बदलने की सुविधा ठीक से काम कर रही है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODESandroid.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATIONandroid.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
पास: इस टेस्ट में, उम्मीद के मुताबिक रोटेशन वाला चार्ट मिलता है. लैंडस्केप से पोर्ट्रेट मोड में बदलने की सुविधा बंद होने पर, रोटेशन 0 डिग्री होता है. वहीं, यह सुविधा चालू होने पर, रोटेशन 90 डिग्री होता है.
115वीं इमेज. लैंडस्केप से पोर्ट्रेट में बदलने का उदाहरण.
test_lens_movement_reporting
इस कुकी का इस्तेमाल यह जांचने के लिए किया जाता है कि लेंस के मूवमेंट फ़्लैग की जानकारी सही तरीके से दी गई है या नहीं. यह सुविधा, 24 इमेज कैप्चर करती है. इनमें से पहले 12 फ़्रेम, ऑप्टिमल फ़ोकस दूरी (3A के हिसाब से) पर और आखिरी 12 फ़्रेम, कम से कम फ़ोकस दूरी पर कैप्चर किए जाते हैं. फ़्रेम 12 के आस-पास, लेंस हिलता है. इस वजह से, इमेज की शार्पनेस कम हो जाती है. लेंस के आखिरी पोज़िशन पर पहुंचने के बाद, इमेज की शार्पनेस स्थिर हो जाती है.
लेंस के हिलने का फ़्लैग, उन सभी फ़्रेम में सेट किया जाना चाहिए जिनमें शार्पनेस, शुरुआती कुछ फ़्रेम में मौजूद शार्पनेस और आखिरी कुछ फ़्रेम में मौजूद शार्पनेस के बीच में हो. शुरुआती कुछ फ़्रेम में, लेंस सबसे अच्छी फ़ोकल दूरी पर स्थिर होता है. वहीं, आखिरी कुछ फ़्रेम में, लेंस सबसे कम फ़ोकल दूरी पर स्थिर होता है. लेंस किस फ़्रेम में घूम रहा है, यह अहम नहीं है. अहम यह है कि लेंस के घूमने पर, मूवमेंट फ़्लैग सेट हो.
Android 17 और इसके बाद के वर्शन में, यह टेस्ट ArUco मार्कर का इस्तेमाल करता है. इससे चार्ट के उस हिस्से को तय किया जाता है जिसमें ज़रूरी शार्प एज होते हैं. इस तरीके से, अल्ट्रा-वाइड (यूडब्ल्यू) से लेकर टेली ऐप्लिकेशन तक के कैमरों के लिए, ऑब्जेक्ट का पता लगाने की सुविधा मिलती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCEandroid.hardware.camera2.CaptureResult#LENS_STATEandroid.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCEandroid.hardware.camera2.CaptureResult#SENSOR_TIMESTAMPandroid.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
पास: फ़्रेम में लेंस के हिलने का फ़्लैग True है और शार्पनेस में बदलाव हुआ है.
काम न करने की वजहें:
lens_moving: True(android.hardware.camera2.CaptureResult#LENS_STATE= 1) intest_log.DEBUGकी पुष्टि सिर्फ़ उन फ़्रेम में की जाती है जिनमें शार्पनेस में बदलाव नहीं हो रहा है.lens_moving: False(android.hardware.camera2.CaptureResult#LENS_STATE= 0) वाले फ़्रेम, ऑप्टिमम फ़ोकल दूरी पर लिए गए पहले कुछ फ़्रेम या कम से कम फ़ोकस दूरी पर लिए गए आखिरी कुछ फ़्रेम की तुलना में कम शार्प हैं.test_log.DEBUG
test_reprocess_edge_enhancement
इस कुकी से यह जांच की जाती है कि इमेज को बेहतर बनाने के लिए, फिर से प्रोसेस करने के तरीके सही तरीके से काम कर रहे हैं या नहीं. यह फ़ंक्शन, दिए गए रीप्रोसेस एज मोड के साथ कैप्चर करने के अनुरोध को प्रोसेस करता है. साथ ही, रीप्रोसेस एज मोड बंद होने पर, कैप्चर करने के लिए अलग-अलग मोड की तुलना करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#EDGE_MODEandroid.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
पास: अलग-अलग एज मोड के लिए शार्पनेस सही है. HQ (मोड 2) OFF (मोड 0) से ज़्यादा शार्प है. साथ ही, अलग-अलग मोड के बीच का अंतर एक जैसा है.
आंकड़ा 116. test_reprocess_edge_enhancement प्लॉट का उदाहरण.
scene4
scene4 में एक स्क्वेयर के अंदर, सफ़ेद बैकग्राउंड पर काला सर्कल होता है.
scene4 में किए जाने वाले टेस्ट, अलाइनमेंट के हिसाब से संवेदनशील हो सकते हैं. इसलिए, Android 15 से, check_alignment.py का इस्तेमाल किया जा सकता है. यह टूल डायरेक्ट्री में मौजूद होता है. इससे, DUT और चार्ट के अलाइनमेंट की जांच की जा सकती है.
117वीं इमेज. scene4 का उदाहरण.
test_30_60fps_preview_fov_match
ऐसे टेस्ट जिनसे पता चलता है कि 30 एफ़पीएस और 60 एफ़पीएस वाले झलक वीडियो का फ़ील्ड ऑफ़ व्यू (FoV) एक जैसा है. इस टेस्ट में दो वीडियो कैप्चर किए जाते हैं. एक वीडियो 30 एफ़पीएस और दूसरा 60 एफ़पीएस पर कैप्चर किया जाता है. हर वीडियो से एक फ़्रेम चुना जाता है. इसके बाद, उसका विश्लेषण किया जाता है. इससे यह पुष्टि की जाती है कि दोनों वीडियो में FoV में हुए बदलाव, तय किए गए स्पेसिफ़िकेशन के मुताबिक हैं. इन टेस्ट से यह पता चलता है कि सर्कल का आसपेक्ट रेशियो या चौड़ाई-ऊंचाई का अनुपात एक जैसा है या नहीं, सर्कल का सेंटर स्थिर है या नहीं, और सर्कल की रेडियस एक जैसी है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGEandroid.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATIONandroid.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIMEandroid.hardware.camera2.CaptureResult#LENS_DISTORTIONandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTHandroid.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
पास: इमेज को स्ट्रेच नहीं किया गया है, इमेज के बीच का अंतर 3% से ज़्यादा नहीं है, और 30 एफ़पीएस और 60 एफ़पीएस वाले वीडियो के बीच आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) में ज़्यादा से ज़्यादा 7.5% का बदलाव हुआ है
काम न करने की वजहें:
- 30 एफ़पीएस वाले वीडियो में मौजूद सर्कल का साइज़, 60 एफ़पीएस वाले वीडियो में मौजूद सर्कल के साइज़ से काफ़ी अलग है.
- कैप्चर की गई इमेज में मौजूद सर्कल, प्रोसेसिंग पाइपलाइन की वजह से खराब हो गया है.
- कैप्चर की गई इमेज में मौजूद सर्कल को काट दिया गया है. ऐसा इसलिए हुआ, क्योंकि कैप्चर करने के अनुरोध में आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) बहुत ज़्यादा था. इससे इमेज की ऊंचाई या चौड़ाई कम हो गई.
- कैप्चर की गई इमेज में मौजूद सर्कल के बीच में रिफ़्लेक्शन है और वह पूरी तरह से भरा हुआ नहीं दिखता.
test_aspect_ratio_and_crop
इस टेस्ट से यह पता चलता है कि इमेज पाइपलाइन में इमेज खराब तो नहीं हो गई हैं या उन्हें अनचाहे तरीके से काटा तो नहीं गया है. यह कुकी, सभी फ़ॉर्मैट में एक सर्कल की इमेज लेती है. इससे यह पुष्टि की जाती है कि सर्कल की शेप न बिगड़ी हो, सर्कल इमेज के बीच से न हिला हो, और अलग-अलग आसपेक्ट रेशियो या रिज़ॉल्यूशन के साथ सर्कल का साइज़ गलत तरीके से न बदला हो.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#LENS_DISTORTIONandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTHandroid.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
पास: इमेज को स्ट्रेच नहीं किया जाता. इमेज के बीच वाले हिस्से में 3% से ज़्यादा का अंतर नहीं होता. साथ ही, ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (एफ़ओवी) को बनाए रखा जाता है.
काम न करने की वजहें:
- कैमरा, कैप्चर किए गए सीन के बीच में मौजूद टैबलेट पर दिखाए गए सर्कल के साथ अलाइन नहीं है.
- कैप्चर की गई इमेज में मौजूद सर्कल, प्रोसेसिंग पाइपलाइन की वजह से खराब हो गया है.
- कम रिज़ॉल्यूशन वाली इमेज को इमेज पाइपलाइन में दो बार काटा जाता है. इससे, हाई और लो रिज़ॉल्यूशन वाली इमेज के बीच अलग-अलग फ़ील्ड ऑफ़ व्यू (FoV) बनता है.
- कैप्चर की गई इमेज में मौजूद सर्कल को काट दिया गया है. ऐसा इसलिए हुआ, क्योंकि कैप्चर करने के अनुरोध में आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) बहुत ज़्यादा था. इससे इमेज की ऊंचाई या चौड़ाई कम हो गई.
- कैप्चर की गई इमेज में मौजूद सर्कल के बीच में रिफ़्लेक्शन है और वह पूरी तरह से भरा हुआ नहीं दिखता.
test_multi_camera_alignment
यह टेस्ट, मल्टी-कैमरा सिस्टम के लिए कैमरे की पोज़िशनिंग से जुड़े, कैमरा कैलिब्रेशन पैरामीटर की जांच करता है. मल्टी-कैमरा फ़िज़िकल सबकैमरों का इस्तेमाल करके, किसी एक फ़िज़िकल कैमरे से फ़ोटो लेता है. इससे सर्कल का सेंटर पता चलता है. यह फ़ंक्शन, हर कैमरे के लिए सर्कल के सेंटर को दुनिया के कोऑर्डिनेट में प्रोजेक्ट करता है. यह फ़ंक्शन, दुनिया के कोऑर्डिनेट में कैमरों के सर्कल सेंटर के बीच के अंतर की तुलना करता है. यह दुनिया के कोऑर्डिनेट को वापस पिक्सल कोऑर्डिनेट में बदलता है और वैधता की जांच के लिए, ओरिजनल कोऑर्डिनेट से तुलना करता है. यह फ़ंक्शन, सर्कल के साइज़ की तुलना करता है. साथ ही, यह देखता है कि कैमरों की फ़ोकल लेंथ अलग-अलग हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()android.hardware.camera2.CameraCharacteristics#LENS_DISTORTIONandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATIONandroid.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATIONandroid.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATIONandroid.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERAandroid.hardware.camera2.CaptureRequest#SCALER_CROP_REGIONandroid.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
पास: कैमरे के कैलिब्रेशन डेटा और फ़ोकल लेंथ का इस्तेमाल करके कैप्चर की गई इमेज की तुलना में, प्रोजेक्ट की गई इमेज में सर्कल के सेंटर और साइज़ उम्मीद के मुताबिक हैं.
काम न करने की वजहें:
LENS_INTRINSIC_CALIBRATION,LENS_POSE_TRANSLATION, औरLENS_POSE_ROTATIONडिज़ाइन वैल्यू हैं, न कि कैलिब्रेशन का असल डेटा.- कैमरा सिस्टम, टेस्ट सेटअप के लिए सही नहीं है. उदाहरण के लिए, RFoV टेस्ट रिग की मदद से वाइड और अल्ट्रा-वाइड कैमरा सिस्टम की टेस्टिंग करना. ज़्यादा जानकारी के लिए, कैमरा आईएसटी-इन-अ-बॉक्स के बारे में अक्सर पूछे जाने वाले सवाल Q1 देखें.
test_preview_aspect_ratio_and_crop
यह टेस्ट, test_aspect_ratio_and_crop टेस्ट की तरह ही काम करता है. हालांकि, यह टेस्ट सिर्फ़ स्थिर इमेज के लिए होता है. यह टेस्ट, झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले फ़ॉर्मैट की जांच करता है. इससे यह पुष्टि की जाती है कि झलक दिखाने वाले फ़्रेम को गलत तरीके से न तो स्ट्रेच किया गया है और न ही काटा गया है. इससे यह पुष्टि की जाती है कि सर्कल का आसपेक्ट रेशियो या चौड़ाई-ऊंचाई का अनुपात नहीं बदलता है, काटी गई इमेज में सर्कल फ़्रेम के बीच में रहता है, और सर्कल का साइज़ एक जैसे फ़ॉर्मैट या अलग-अलग रिज़ॉल्यूशन के लिए नहीं बदलता है (FoV की जांच).
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#LENS_DISTORTIONandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTHandroid.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATIONandroid.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: इमेज को स्ट्रेच नहीं किया जाता. इमेज के बीच वाले हिस्से में 3% से ज़्यादा का अंतर नहीं होता. साथ ही, ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (एफ़ओवी) को बनाए रखा जाता है.
test_preview_stabilization_fov
यह फ़ंक्शन, झलक के लिए उपलब्ध साइज़ की जांच करता है. इससे यह पक्का करने में मदद मिलती है कि FoV को सही तरीके से काटा गया है. इस टेस्ट में दो वीडियो कैप्चर किए जाते हैं. एक में झलक को स्थिर करने की सुविधा ON और दूसरे में झलक को स्थिर करने की सुविधा OFF इस्तेमाल की जाती है. हर वीडियो से एक फ़्रेम चुना जाता है. इसके बाद, यह पुष्टि करने के लिए उसका विश्लेषण किया जाता है कि दोनों वीडियो में FoV में हुए बदलाव, तय सीमा के अंदर हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: सर्कल का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) लगभग एक जैसा रहता है, सर्कल की बीच की जगह स्थिर रहती है, और सर्कल का साइज़ 20% से ज़्यादा नहीं बदलता.
test_video_aspect_ratio_and_crop
यह सभी वीडियो फ़ॉर्मैट में, स्क्वेयर के अंदर मौजूद सर्कल के वीडियो बनाता है. यह टेस्ट, मुख्य फ़्रेम निकालता है. साथ ही, यह पुष्टि करता है कि सर्कल का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) नहीं बदलता, काटी गई इमेज में सर्कल बीच में रहता है, और सर्कल का साइज़ एक जैसे फ़ॉर्मैट या अलग-अलग रिज़ॉल्यूशन (FoV की जांच) के लिए नहीं बदलता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.hardware.camera2.CaptureResult#LENS_DISTORTIONandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTHandroid.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATIONandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: वीडियो फ़्रेम स्ट्रेच नहीं किए गए हैं, फ़्रेम के सेंटर में 3% से ज़्यादा का अंतर नहीं है, और ज़्यादा से ज़्यादा FoV को बनाए रखा गया है.
scene5
scene5 के लिए, ग्रे रंग का ऐसा सीन ज़रूरी है जिसमें रोशनी एक जैसी हो. इसके लिए, कैमरे के लेंस पर एक डिफ़्यूज़र लगाया जाता है. हमारा सुझाव है कि आप इस डिफ़्यूज़र का इस्तेमाल करें:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168.
सीन तैयार करने के लिए, कैमरे के सामने एक डिफ़्यूज़र लगाएं. इसके बाद, कैमरे को 2000 लक्स की रोशनी वाले सोर्स की तरफ़ करें. scene5 के लिए ली गई इमेज में, रोशनी का फैलाव एक जैसा होना चाहिए. साथ ही, इमेज में कोई भी फ़ीचर साफ़ तौर पर नहीं दिखनी चाहिए. यहां एक सैंपल इमेज दी गई है:
118वीं इमेज. scene5 कैप्चर करने का उदाहरण.
इस सीन के लिए, किसी टैबलेट या कंट्रोलर की ज़रूरत नहीं होती. इसलिए, टेस्ट में TEST_BED_MANUAL टेस्टबेड का इस्तेमाल किया जाता है. उदाहरण के लिए, मैन्युअल टेस्टिंग config.yml फ़ाइल देखें.
डिफ़ॉल्ट config.yml फ़ाइल में TEST_BED_MANUAL शामिल नहीं है. हालांकि, फ़ाइल में बदलाव करके इसे शामिल किया जा सकता है.
test_lens_shading_and_color_uniformity
इस टेस्ट से यह पता चलता है कि लेंस शेडिंग को सही तरीके से ठीक किया गया है या नहीं. साथ ही, एक ही रंग के यूनिफ़ॉर्म सीन का रंग एक जैसा है या नहीं. यह टेस्ट, ऑटो 3A के साथ YUV फ़्रेम पर किया जाता है. लेंस शेडिंग का आकलन, y चैनल के आधार पर किया जाता है. यह तय किए गए हर सैंपल ब्लॉक के लिए, औसत y वैल्यू को मेज़र करता है. साथ ही, सेंटर y वैल्यू से तुलना करके, पास या फ़ेल होने का पता लगाता है. कलर यूनिफ़ॉर्मिटी टेस्ट का आकलन, लाल-हरे और नीले-हरे रंग के स्पेस में किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
पास: इमेज के तय किए गए रेडियस में, लाल-हरे और नीले-हरे रंग की वैल्यू का अंतर 20% से कम होना चाहिए. ऐसा होने पर ही टेस्ट पास किया जा सकता है.
काम न करने की वजहें:
- इमेज में बहुत ज़्यादा विनेटिंग होना
- इमेज में काले बॉर्डर वाली कलाकृतियां
119वीं इमेज. test_lens_shading_and_color_uniformity_y_plane.
इमेज 120. test_lens_shading_and_color_uniformity_color_uniformity.
121वीं इमेज. test_lens_shading_and_color_uniformity_lens_shading_result.
scene6
scene6, ArUco मार्कर का एक ग्रिड है, जिसकी खास पहचान की जा सकती है.
scene6 में किए जाने वाले टेस्ट, अलाइनमेंट के हिसाब से संवेदनशील हो सकते हैं. इसलिए, 15 से, टूल डायरेक्ट्री में check_alignment.py का इस्तेमाल किया जा सकता है. इससे डीयूटी और चार्ट के अलाइनमेंट की जांच की जा सकती है.
इमेज 122. scene6 का उदाहरण.
test_in_sensor_zoom
यह टेस्ट, कैमरे में मौजूद इन-सेंसर ज़ूम सुविधा के काम करने के तरीके की जांच करता है. यह सुविधा, काटी गई रॉ इमेज जनरेट करती है.
स्ट्रीम के इस्तेमाल के उदाहरण को CROPPED_RAW पर सेट करने पर, टेस्ट में ज़ूम रेंज के हिसाब से दो इमेज कैप्चर की जाती हैं. इनमें से एक इमेज, पूरे फ़ील्ड ऑफ़ व्यू (एफ़ओवी) वाली रॉ इमेज होती है और दूसरी इमेज, काटी गई रॉ इमेज होती है. यह टेस्ट, इमेज को RGB ऐरे में बदलता है. साथ ही, काटी गई पूरी इमेज को SCALER_RAW_CROP_REGION की ओर से बताए गए साइज़ में छोटा करता है. इसके बाद, दोनों इमेज के बीच 3D RMS अंतर का हिसाब लगाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAWandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
पास: डाउनस्केल की गई, काटी गई रॉ इमेज और पूरे फ़ील्ड ऑफ़ व्यू (एफ़ओवी) वाली रॉ इमेज के बीच 3D आरएमएस का अंतर, टेस्ट में सेट किए गए थ्रेशोल्ड से कम है.
test_zoom
यह टेस्ट, अल्ट्रावाइड लेंस से वाइड लेंस तक कैमरे के ज़ूम करने की सुविधा की जांच करता है. यह टेस्ट, ज़ूम रेंज के हिसाब से इमेज कैप्चर करता है. साथ ही, यह जांच करता है कि कैमरे के ज़ूम इन करने पर, ArUco मार्कर बड़े होते हैं या नहीं. टेस्ट में यह भी देखा जाता है कि हर कैप्चर के दौरान, सेंटर मार्कर की पोज़िशन में अनुमान के मुताबिक बदलाव होता है या नहीं. सेंटर मार्कर के सेंटर से इमेज के सेंटर तक की दूरी, ज़ूम के अनुपात के हिसाब से एक जैसी दर पर बदल सकती है. ऐसा तब तक होता है, जब तक फ़िज़िकल कैमरा स्विच नहीं होता. इसके अलावा, फ़िज़िकल कैमरा स्विच होने के बाद, यह दूरी उसी मार्कर की जगह की ओर लगातार बदल सकती है. टेस्टिंग से पहले, डिवाइस पर Jetpack Camera ऐप्लिकेशन (JCA) इंस्टॉल होना चाहिए.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: कैप्चर किए गए ArUco मार्कर का साइज़, अनुरोध किए गए ज़ूम रेशियो के हिसाब से सही है. इससे यह पुष्टि होती है कि कैमरा सही तरीके से ज़ूम कर रहा है. साथ ही, मार्कर की दूरी, इमेज के सेंटर से टेस्ट के ब्यौरे में बताई गई शर्तों के मुताबिक बदलती है.
इमेज 123. test_zoom का इस्तेमाल करके, सेंटर के सबसे नज़दीक मौजूद ArUco मार्कर का कॉन्टूर ढूंढें.
test_low_latency_zoom
यह टेस्ट करता है कि ज़ूम करने पर कैमरे में कितना इंतज़ार का समय लगता है. यह फ़ंक्शन, ज़ूम रेंज में android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM) के साथ इमेज कैप्चर करता है. साथ ही, यह देखता है कि आउटपुट इमेज में मौजूद मार्कर, कैप्चर किए गए मेटाडेटा में मौजूद ज़ूम रेशियो से मेल खाते हैं या नहीं. 3A को कन्वर्ज करने और कैप्चर करने के लिए, एक ही कैमरा कैप्चर सेशन का इस्तेमाल किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDESandroid.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDEandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
पास: कैप्चर किए गए मार्कर का साइज़, ज़ूम रेशियो के नतीजे के मेटाडेटा के हिसाब से सटीक है.
test_preview_video_zoom_match
इन टेस्ट से यह पता चलता है कि रिकॉर्डिंग और ज़ूम करने के दौरान, वीडियो की झलक और वीडियो आउटपुट में एक जैसा आउटपुट दिखता है और रिकॉर्ड होता है. यह फ़ंक्शन, ज़ूम करने के अलग-अलग अनुपात में, सेंटर के सबसे नज़दीक मौजूद मार्कर के साइज़ का हिसाब लगाता है. साथ ही, यह भी देखता है कि ज़ूम करने का अनुपात बढ़ने पर, मार्कर का साइज़ बढ़ता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: कैप्चर किए गए मार्कर का साइज़, वीडियो और झलक में ज़ूम करने के अनुरोध किए गए अनुपात के हिसाब से सही है.
124वीं इमेज. HD_1280x720_key_frame.png (ज़ूम करने से पहले).
आंकड़ा 125. preview_1280x720_key_frame.png (ज़ूम करने से पहले).
126वीं इमेज. HD_1280x720_key_frame.png (ज़ूम करने के बाद).
127वीं इमेज. preview_1280x720_key_frame.png (ज़ूम करने के बाद).
test_preview_zoom
इस टेस्ट में यह देखा जाता है कि हर प्रीव्यू फ़्रेम का ज़ूम रेशियो, अल्ट्रावाइड लेंस से वाइड लेंस तक के कैप्चर मेटाडेटा से मेल खाता है या नहीं. यह टेस्ट, ज़ूम रेंज में प्रीव्यू फ़्रेम लेता है. साथ ही, सेंटर के सबसे करीब मौजूद ArUco मार्कर का पता लगाता है. इसके बाद, टेस्ट में यह देखा जाता है कि हर कैप्चर के दौरान, सेंटर मार्कर की पोज़िशन में अनुमान के मुताबिक बदलाव होता है या नहीं. सेंटर मार्कर के सेंटर से इमेज के सेंटर तक की दूरी, ज़ूम के अनुपात के हिसाब से एक जैसी दर पर बदल सकती है. ऐसा तब तक होता है, जब तक फ़िज़िकल कैमरा स्विच नहीं होता. इसके अलावा, फ़िज़िकल कैमरा स्विच होने के बाद, यह दूरी उसी मार्कर की जगह की ओर लगातार बदल सकती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: चुने गए ArUco मार्कर का साइज़, सभी प्रीव्यू फ़्रेम के लिए, कैप्चर किए गए नतीजे के रिपोर्ट किए गए ज़ूम रेशियो के हिसाब से सही है. चुने गए मार्कर की इमेज के सेंटर से दूरी, सभी प्रीव्यू फ़्रेम के कैप्चर किए गए नतीजे के रिपोर्ट किए गए ज़ूम रेशियो के हिसाब से सही है.
आंकड़ा 128. test_preview_zoom इमेज में, चुने गए मार्कर को सेंटर के सबसे करीब दिखाया गया है
test_session_characteristics_zoom
यह CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION में दिए गए, सहायता पाने वाले सभी सेशन कॉन्फ़िगरेशन के लिए ज़ूम रेशियो की सीमा की जांच करता है.
इनमें से हर कॉन्फ़िगरेशन के लिए, अगर CameraDeviceSetup#isSessionConfigurationSupported true दिखाता है, तो टेस्ट से पुष्टि होती है कि CameraDeviceSetup#getSessionCharacteristics में दिखाई गई ज़ूम रेशियो की रेंज तक पहुंचा जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSIONandroid.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupportedandroid.hardware.camera2.CameraDevice.CameraDeviceSetup#getSessionCharacteristics
पास: CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION में दिए गए हर SessionConfiguration के लिए, कम से कम और ज़्यादा से ज़्यादा ज़ूम रेशियो तक पहुंचा जा सकता है.
scene7
scene7 एक आयताकार फ़्रेम है, जिसे चार बराबर क्वाड्रेंट में बांटा गया है. हर क्वाड्रेंट में अलग-अलग रंग भरा गया है. आयत के बीच में, शार्पनेस की जांच के लिए एक स्लांटेड एज चार्ट है. चार ArUco मार्कर, आयत के चार बाहरी कोनों के साथ अलाइन किए गए हैं. इससे अलग-अलग ज़ूम रेशियो पर, मुख्य आयत के फ़्रेम के सटीक निर्देशांक पाने में मदद मिलती है.
129वीं इमेज. scene7.
test_multi_camera_switch
इस टेस्ट से यह पुष्टि की जाती है कि अलग-अलग ज़ूम रेशियो पर झलक रिकॉर्ड करने के दौरान, अल्ट्रावाइड (UW) और वाइड (W) लेंस के बीच स्विच करने पर, आरजीबी वैल्यू एक जैसी होती हैं.
इस टेस्ट में, पहले से तय की गई रेंज में अलग-अलग ज़ूम रेशियो का इस्तेमाल किया जाता है. इससे डाइनैमिक प्रीव्यू रिकॉर्डिंग की जाती है और यह पता लगाया जाता है कि फ़िज़िकल कैमरा कब बदलता है. यह पॉइंट यूडब्ल्यू से डब्ल्यू लेंस में क्रॉसओवर को चिह्नित करता है.
क्रॉसओवर पॉइंट पर और उससे पहले कैप्चर किए गए फ़्रेम का विश्लेषण किया जाता है. इससे ऑटो एक्सपोज़र (AE), ऑटो व्हाइट बैलेंस (AWB), और ऑटोफ़ोकस (AF) का पता चलता है.
AE की जांच से यह पुष्टि होती है कि ल्यूमा में बदलाव, UW और W लेंस, दोनों की इमेज के लिए अनुमानित सीमा के अंदर है. AWB की जांच से यह पुष्टि होती है कि लाल-हरे और नीले-हरे रंग के अनुपात, UW और W लेंस, दोनों की इमेज के लिए थ्रेशोल्ड वैल्यू के अंदर हैं. एएफ़ चेक, यूडब्ल्यू और डब्ल्यू लेंस की इमेज के बीच औसत ग्रेडिएंट मैग्नीट्यूड के आधार पर, शार्पनेस के अनुमान की वैल्यू का आकलन करता है.
अगर इस टेस्ट को पूरा करते समय, मोइरे इफ़ेक्ट की वजह से नतीजों में गड़बड़ी होती है, तो कैमरा आईटीएस से मंज़ूरी पा चुके टैबलेट की सूची में से ज़्यादा रिज़ॉल्यूशन वाले टैबलेट का इस्तेमाल करें.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: टेस्ट पास होने के लिए, AE और AWB की जांच पास होनी चाहिए. एएफ़ की जांच के नतीजों का इस्तेमाल सिर्फ़ लॉगिंग के लिए किया जाता है. हर जांच के लिए ये शर्तें पूरी होनी चाहिए:
- एई की जांच: अगर डिवाइस
ae_regionsऔरawb_regions, दोनों को सपोर्ट करता है, तो सभी कलर पैच के लिए, यूडब्ल्यू और डब्ल्यू लेंस की इमेज के बीच ल्यूमा में बदलाव (Y वैल्यू) 4% से कम होना चाहिए. अगर सिर्फ़ae_regionsका इस्तेमाल किया जा सकता है, तो सिर्फ़ ग्रे कलर पैच की वैल्यू को ज़रूरी शर्तें पूरी करनी होंगी. - एडब्ल्यूबी की जांच: यूडब्ल्यू और डब्ल्यू लेंस की इमेज के लिए, लाल-हरे और नीले-हरे रंग की वैल्यू के बीच का अंतर, ग्रे कलर पैच के लिए 3% से कम होना चाहिए. साथ ही, अगर डिवाइस
ae_regionsऔरawb_regions, दोनों के साथ काम करता है, तो अन्य कलर पैच के लिए यह अंतर 10% से कम होना चाहिए. - ऑटोफ़ोकस की जांच: W लेंस से कैप्चर की गई इमेज की शार्पनेस, UW लेंस से कैप्चर की गई इमेज की शार्पनेस से ज़्यादा होनी चाहिए.
130वीं इमेज. UW लेंस से ली गई ग्रे रंग की इमेज.
131वीं इमेज. W लेंस से ली गई स्लेटी रंग की इमेज.
scene8
scene8 एक आयताकार फ़्रेम है, जिसे चार बराबर हिस्सों में बांटा गया है. हर हिस्से में एक पोर्ट्रेट है, जिसे अलग-अलग एक्सपोज़र में लिया गया है या अलग-अलग रंग के शेड (नीला शेड, बढ़ा हुआ एक्सपोज़र, घटा हुआ एक्सपोज़र, पीला शेड) के साथ ओवरले किया गया है.
मुख्य आयत के फ़्रेम के सटीक निर्देशांक पाने के लिए, चार ArUco मार्कर को आयत के चार बाहरी कोनों के साथ अलाइन किया जाता है.
आंकड़ा 132. scene8 का उदाहरण.
test_ae_awb_regions
इस टेस्ट में यह देखा जाता है कि अलग-अलग एई और एडब्ल्यूबी क्षेत्रों में, रिकॉर्डिंग की झलक देखते समय आरजीबी और ल्यूमा वैल्यू अलग-अलग होती हैं.
इस टेस्ट में, आठ सेकंड की झलक रिकॉर्ड की जाती है. इसमें हर क्वाड्रेंट पर दो-दो सेकंड के लिए, एई और एडब्ल्यूबी मीटरिंग की जाती है. इसके बाद, टेस्ट में हर क्षेत्र की झलक की रिकॉर्डिंग से एक फ़्रेम निकाला जाता है. साथ ही, निकाले गए फ़्रेम का इस्तेमाल करके, एई और एडब्ल्यूबी की इन जांचों को पूरा किया जाता है:
- AE की जांच: इससे यह पुष्टि की जाती है कि जिस फ़्रेम में कम रोशनी वाले हिस्से को मेज़र किया गया है उसकी ल्यूमा वैल्यू, ज़्यादा रोशनी वाले हिस्से को मेज़र करने वाले फ़्रेम की ल्यूमा वैल्यू से 1% से ज़्यादा है. इससे यह पुष्टि होती है कि किसी गहरे रंग वाले हिस्से की मीटरिंग करते समय, इमेज को ज़्यादा रोशनी दी जाती है.
- AWB की जांच: इससे यह पुष्टि की जाती है कि नीले रंग के मीटरिंग क्षेत्र वाले फ़्रेम में, लाल और नीले रंग का अनुपात (इमेज की औसत आरजीबी वैल्यू का) 2% से ज़्यादा है. यह अनुपात, पीले रंग के मीटरिंग क्षेत्र वाले फ़्रेम की तुलना में ज़्यादा है. इससे यह पुष्टि होती है कि पीले (गर्म) या नीले (ठंडे) रंग वाले हिस्से को मेज़र करते समय, इमेज में आरजीबी वैल्यू बैलेंस है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONSandroid.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONSandroid.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AEandroid.hardware.camera2.CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
पास: एई और एडब्ल्यूबी, दोनों की जांच पास हो गई है.
133वीं इमेज. फ़्रेम मीटरिंग में, एक्सपोज़र बढ़ने की वजह से अंधेरा हो गया है.
134वीं इमेज. फ़्रेम मीटरिंग में, कम एक्सपोज़र वाला हल्का हिस्सा.
काम न करने की वजहें:
इस टेस्ट के लिए, सभी चार ArUco मार्कर का सटीक पता लगाना ज़रूरी है. अगर शुरुआती जांच में कोई गड़बड़ी नहीं मिलती है, तो सिस्टम इमेज के ब्लैक ऐंड वाइट वर्शन का इस्तेमाल करके, दूसरी बार जांच करता है. यहां दी गई ग्रेस्केल इमेज में, सेकंडरी प्रोसेसिंग का चरण दिखाया गया है:
135वीं इमेज. ArUco मार्कर अलाइन नहीं हैं.
test_color_correction_mode_cct
यह टेस्ट, अलग-अलग कलर टेंपरेचर और टिंट के हिसाब से COLOR_CORRECTION_MODE की जांच करता है. साथ ही, कैप्चर किए गए सीन scene8 के हिसाब से, आरजीबी रेशियो में हुए बदलावों की पुष्टि करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODEandroid.hardware.camera2.CaptureResult#COLOR_CORRECTION_MODEandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_COLOR_TEMPERATUREandroid.hardware.camera2.CaptureResult#COLOR_CORRECTION_COLOR_TEMPERATUREandroid.hardware.camera2.CaptureRequest#COLOR_CORRECTION_COLOR_TINTandroid.hardware.camera2.CaptureResult#COLOR_CORRECTION_COLOR_TINTandroid.hardware.camera2.CameraCharacteristics#COLOR_CORRECTION_COLOR_TEMPERATURE_RANGEandroid.hardware.camera2.CameraMetadata#COLOR_CORRECTION_MODE_CCTandroid.hardware.camera2.CameraCharacteristics#COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES
पास: आरजीबी अनुपात, चुने गए रंग के तापमान और टिंट के हिसाब से अनुमानित बढ़ोतरी या गिरावट दिखाते हैं.
टेस्ट स्किप करने की शर्तें
अगर इनमें से कोई भी शर्त पूरी होती है, तो test_color_correction_mode_cct टेस्ट को छोड़ दिया जाता है:
- डिवाइस का पहला एपीआई लेवल (
first_api_level) 35 या इससे कम हो. - डिवाइस,
COLOR_CORRECTION_AVAILABLE_ABERRATION_MODESमेंCOLOR_CORRECTION_MODE_CCTका विज्ञापन नहीं दिखाता है.
scene9
scene9 में अलग-अलग साइज़ और रंग के हज़ारों सर्कल होते हैं. इससे एक ऐसा सीन बनता है जिसमें एक जैसी चीज़ें बहुत कम होती हैं. इससे JPEG कंप्रेशन एल्गोरिदम पर ज़ोर पड़ता है.
इमेज 136. scene9 का उदाहरण.
test_jpeg_high_entropy
इस टेस्ट से यह पता चलता है कि scene9 पर कैमरा JPEG कंप्रेशन काम करता है या नहीं. इसमें हाई एंट्रॉपी और JPEG क्वालिटी फ़ैक्टर को 100% पर सेट किया जाता है. ज़ूम फ़ैक्टर को इसलिए बढ़ाया जाता है, ताकि यह पुष्टि की जा सके कि टैबलेट पर दिखने वाला सीन, कैमरे के फ़ील्ड ऑफ़ व्यू (एफ़ओवी) को भरता है.
जांचे गए एपीआई:
पास: JPEG फ़ाइल को सही तरीके से कंप्रेस किया गया है, लिखा गया है, और डिस्क से वापस पढ़ा गया है.
test_jpeg_quality
यह कुकी, कैमरा JPEG कंप्रेस करने की क्वालिटी की जांच करती है. यह android.jpeg.quality के ज़रिए JPEG क्वालिटी की जांच करता है. साथ ही, यह पुष्टि करता है कि क्वांटाइज़ेशन टेबल सही तरीके से बदलती हैं.
जांचे गए एपीआई:
पास: क्वालिटी बढ़ने पर, क्वांटाइज़ेशन मैट्रिक्स कम हो जाता है. (मैट्रिक्स, डिविज़न फ़ैक्टर को दिखाता है.)
137वीं इमेज. Pixel 4 के रियर कैमरे की ल्यूमा और क्रोमा डीक्यूटी मैट्रिक्स की औसत वैल्यू की तुलना, JPEG क्वालिटी से की गई है.
138वीं इमेज. टेस्ट फ़ेल होने का उदाहरण.
scene_video
scene_video एक वीडियो सीन है. इसमें अलग-अलग रंग के चार सर्कल, सफ़ेद बैकग्राउंड पर अलग-अलग फ़्रेम रेट पर आगे-पीछे घूम रहे हैं.
139वीं इमेज. scene_video का उदाहरण.
test_preview_frame_drop
इस कुकी से यह जांच की जाती है कि डाइनैमिक सीन के साथ, अनुरोध की गई झलक का फ़्रेम रेट बनाए रखा गया है या नहीं. यह जांच, तीसरे पक्ष के ऐप्लिकेशन के साथ शेयर किए गए सभी कैमरों पर की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGESandroid.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGEandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: प्रीव्यू का फ़्रेम रेट, अनुरोध किए गए फ़्रेम रेट की रेंज के ज़्यादा से ज़्यादा फ़्रेम रेट पर है. साथ ही, लगातार फ़्रेम के बीच का औसत अंतर, टेस्ट में सेट की गई रिलेटिव टॉलरेंस से कम है.
scene_extensions
scene_extensions टेस्ट, कैमरा एक्सटेंशन के लिए होते हैं. इनमें Camera ITS-in-a-Box का इस्तेमाल करना ज़रूरी है, क्योंकि इनके लिए टेस्टिंग एनवायरमेंट को सटीक तरीके से कंट्रोल करना ज़रूरी होता है. इसके अलावा, लाइट लीक होने की समस्या को पूरी तरह से ठीक किया जाना चाहिए. इसके लिए, टेस्ट रिग, डीयूटी, और टैबलेट को ड्रॉप क्लॉथ से ढकना पड़ सकता है. साथ ही, डीयूटी की सामने वाली स्क्रीन से रोशनी को बाहर निकलने से रोकना पड़ सकता है.
scene_hdr
scene_hdr सीन में, बाईं ओर एक पोर्ट्रेट और दाईं ओर कम कंट्रास्ट वाला क्यूआर कोड दिखाया गया है.
140वीं इमेज. scene_hdr का उदाहरण.
test_hdr_extension
यह HDR एक्सटेंशन की जांच करता है. यह एक्सटेंशन चालू होने और बंद होने, दोनों स्थितियों में इमेज कैप्चर करता है. साथ ही, यह देखता है कि एक्सटेंशन की वजह से क्यूआर कोड ज़्यादा आसानी से स्कैन हो पा रहा है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensionsandroid.hardware.camera2.CameraExtensionSession#capture
पास: एचडीआर एक्सटेंशन, क्यूआर कोड का पता लगाने के लिए ज़रूरी कंट्रास्ट में बदलावों की संख्या को कम करता है या क्यूआर कोड में ग्रेडिएंट को कम करता है.
scene_low_light
scene_low_light सीन में, काले बैकग्राउंड पर अलग-अलग शेड वाले स्क्वेयर की ग्रिड दिखाई गई है. स्क्वेयर की ग्रिड को लाल रंग की आउटलाइन से बाउंड किया गया है. स्क्वेयर को हिल्बर्ट कर्व के हिसाब से व्यवस्थित किया गया है.
141वीं इमेज. कम रोशनी वाले सीन का उदाहरण.
test_night_extension
यह कुकी, Night extension की जांच करती है. एक्सटेंशन चालू होने पर कैप्चर करता है और ये काम करता है:
- इससे 20 स्क्वेयर के मौजूद होने का पता चलता है
- यह फ़ंक्शन, हर स्क्वेयर से बंधी हुई ल्यूमा की गिनती करता है
- यह फ़ंक्शन, हिल्बर्ट कर्व ग्रिड ओरिएंटेशन के हिसाब से, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू का हिसाब लगाता है
- यह लगातार दो स्क्वेयर की ल्यूमा वैल्यू के अंतर का हिसाब लगाता है. जैसे, स्क्वेयर 2 - स्क्वेयर 1. यह स्क्वेयर 5 और 6 (स्क्वेयर 6 - स्क्वेयर 5) तक के अंतर का हिसाब लगाता है. इसके बाद, यह हिसाब लगाए गए पांच अंतर का औसत निकालता है.
Android 16 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, कैप्चर करने के अनुरोध में, मीटर के हिसाब से तय की गई कीमत वाला ऐसा क्षेत्र शामिल होता है जो स्क्वेयर के ग्रिड को बाउंड करने वाले रेक्टैंगल से मेल खाता है. इस बदलाव से, थ्रेशोल्ड पास करने की शर्तें बदल जाती हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensionsandroid.hardware.camera2.CameraExtensionSession#capture
पास:
- Android 16 या इसके बाद के वर्शन वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 80 होनी चाहिए. साथ ही, लगातार स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर, स्क्वेयर 5 और 6 तक कम से कम 18.75 होना चाहिए.
- Android 15 और इससे पहले के वर्शन पर काम करने वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 85 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के लगातार स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 17 होना चाहिए.
यहां दिए गए ल्यूमिनेंस प्लॉट में, टेस्ट पास होने पर मिलने वाला नतीजा दिखाया गया है.
142वीं इमेज. कम रोशनी में रात के सीन की फ़ोटो लेने के टेस्ट का उदाहरण.
test_low_light_boost_extension
यह कम रोशनी में बेहतर फ़ोटो लेने की सुविधा वाले एई मोड की जांच करता है. अगर Camera2, कम रोशनी में बेहतर फ़ोटो लेने की सुविधा वाले एई मोड के साथ काम करता है, तो यह टेस्ट Camera2 के लिए किया जाता है. अगर नाइट मोड कैमरा एक्सटेंशन काम करता है और एक्सटेंशन, कम रोशनी में बेहतर फ़ोटो लेने की सुविधा वाले एई मोड के साथ काम करता है, तो यह टेस्ट नाइट मोड कैमरा एक्सटेंशन के लिए भी किया जाता है. इस टेस्ट में, एई मोड को कम रोशनी में बेहतर फ़ोटो खींचने की सुविधा पर सेट किया जाता है. इसके बाद, झलक से एक फ़्रेम लिया जाता है और ये काम किए जाते हैं:
- इससे 20 बॉक्स के मौजूद होने का पता चलता है
- हर बॉक्स के हिसाब से ल्यूमा का हिसाब लगाता है
- यह फ़ंक्शन, हिल्बर्ट कर्व ग्रिड ओरिएंटेशन के हिसाब से, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू का हिसाब लगाता है
- यह लगातार दो स्क्वेयर की ल्यूमा वैल्यू के अंतर का हिसाब लगाता है. जैसे, स्क्वेयर 2 - स्क्वेयर 1. यह स्क्वेयर 5 और 6 (स्क्वेयर 6 - स्क्वेयर 5) तक के अंतर का हिसाब लगाता है. इसके बाद, यह हिसाब लगाए गए पांच अंतर का औसत निकालता है.
Android 16 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, कैप्चर करने के अनुरोध में, मीटर के हिसाब से तय की गई कीमत वाला ऐसा क्षेत्र शामिल होता है जो स्क्वेयर के ग्रिड को बाउंड करने वाले रेक्टैंगल से मेल खाता है. इस बदलाव से, थ्रेशोल्ड पास करने की शर्तें बदल जाती हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODESandroid.hardware.camera2.CameraMetadata#CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITYandroid.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
पास:
Android 16 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 54 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के लगातार स्क्वेयर की औसत ल्यूमा वैल्यू में कम से कम 17 का अंतर होना चाहिए.
Android 15 और इससे पहले के वर्शन पर काम करने वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 70 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के लगातार स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 18 होना चाहिए.
scene_tele
scene_tele टेस्ट के लिए ज़रूरी शर्त यह है कि चार्ट की दूरी, टेलीफ़ोटो लेंस की कम से कम फ़ोकस दूरी के बराबर होनी चाहिए. फ़ोकस करने की यह कम से कम दूरी, डिवाइसों के हिसाब से अलग-अलग हो सकती है. इसलिए, आपको अपने सेटअप को टेलीफ़ोटो कैमरे के हिसाब से कॉन्फ़िगर करना होगा.
आकृति 143. वाइड और टेलीफ़ोटो कैमरे की फ़ोकस दूरी के आधार पर scene_tele सेटअप.
टेस्ट हार्डवेयर सेटअप करने के बारे में ज़्यादा जानने के लिए, टेली एक्सटेंशन रिग सेटअप करना लेख पढ़ें.
scene6_tele
scene6_tele सीन में, सफ़ेद बैकग्राउंड पर ArUco मार्कर की ग्रिड दिखाई गई है.
अगर मॉड्यूलर रिग में scene6_tele से ली गई इमेज बहुत ज़्यादा ब्राइट दिखती हैं, तो मॉड्यूलर रिग का फ़्रंट प्लेट हटा दें.
WFoV टेस्ट रिग को एक्सटेंशन से डिसकनेक्ट करें और फ़ोन माउंट को हटा दें.
144वीं इमेज. WFoV टेस्ट रिग को एक्सटेंशन से डिसकनेक्ट करें और फ़ोन माउंट को हटा दें.
145वीं इमेज. सामने की प्लेट हटाएं.
test_zoom_tele
यह टेस्ट, वाइड लेंस से लेकर टेलीफ़ोटो लेंस तक, कैमरे के ज़ूम करने के तरीके की जांच करता है. यह टेस्ट, test_zoom जैसा ही होता है. हालांकि, इसमें वाइड लेंस से टेलीफ़ोटो लेंस तक, कैमरे के ज़ूम करने की सुविधा की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: कैप्चर किए गए ArUco मार्कर का साइज़, अनुरोध किए गए ज़ूम रेशियो के हिसाब से सही है. इससे यह पुष्टि की जाती है कि कैमरा सही तरीके से ज़ूम कर रहा है. साथ ही, मार्कर की दूरी, इमेज के सेंटर से test_zoom में दी गई शर्तों के हिसाब से बदलती है.
test_preview_zoom_tele
यह कुकी, वाइड लेंस से लेकर टेलीफ़ोटो लेंस तक, झलक वाले फ़्रेम के लिए कैमरे के ज़ूम करने के तरीके की जांच करती है. यह टेस्ट, test_preview_zoom जैसा ही है. हालांकि, इसमें वाइड लेंस से टेलीफ़ोटो लेंस तक, कैमरे के ज़ूम करने के तरीके की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHSandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: कैप्चर किए गए ArUco मार्कर का साइज़, अनुरोध किए गए ज़ूम रेशियो के हिसाब से सही है. इससे यह पुष्टि की जाती है कि कैमरा सही तरीके से ज़ूम कर रहा है. साथ ही, मार्कर की दूरी, इमेज के बीच में मौजूद ऑब्जेक्ट से test_preview_zoom में दी गई शर्तों के हिसाब से बदलती है.
scene7_tele
scene7_tele, scene7 जैसा ही है. हालांकि, इसे टेलीफ़ोटो लेंस की टेस्टिंग के लिए सेट अप किया गया है. यह आयताकार फ़्रेम है, जिसे चार बराबर क्वाड्रेंट में बांटा गया है. हर क्वाड्रेंट में अलग-अलग रंग भरा गया है. आयत के बीच में, शार्पनेस की जांच के लिए एक स्लांटेड एज चार्ट है. चार ArUco मार्कर, आयत के चार बाहरी कोनों के साथ अलाइन किए गए हैं. इससे अलग-अलग ज़ूम रेशियो पर, मुख्य आयत के फ़्रेम के सटीक निर्देशांक पाने में मदद मिलती है.
test_multi_camera_switch_tele
इस टेस्ट से यह पुष्टि की जाती है कि अलग-अलग ज़ूम रेशियो पर झलक रिकॉर्डिंग के दौरान, वाइड (W) और टेलीफ़ोटो (टेली) लेंस के बीच स्विच करने पर, RGB वैल्यू एक जैसी होती हैं.
इस टेस्ट में, पहले से तय की गई रेंज में अलग-अलग ज़ूम रेशियो का इस्तेमाल किया जाता है. इससे डाइनैमिक प्रीव्यू रिकॉर्डिंग की जाती है और यह पता लगाया जाता है कि फ़िज़िकल कैमरा कब बदलता है. इस पॉइंट से, वाइड ऐंगल लेंस से टेलीफ़ोटो लेंस पर स्विच किया जाता है.
क्रॉसओवर पॉइंट पर और उससे पहले कैप्चर किए गए फ़्रेम का विश्लेषण, एई, एएडब्ल्यूबी, और एएफ़ के लिए किया जाता है.
एई की जांच से यह पुष्टि होती है कि ल्यूमा में बदलाव, W और टेली लेंस, दोनों की इमेज के लिए तय की गई रेंज में है. AWB की जांच में यह पुष्टि की जाती है कि लाल-हरे और नीले-हरे रंग के अनुपात, W और टेली लेंस, दोनों की इमेज के लिए थ्रेशोल्ड वैल्यू के अंदर हैं. एएफ़ चेक, डब्ल्यू और टेली लेंस की इमेज के बीच औसत ग्रेडिएंट मैग्नीट्यूड के आधार पर, शार्पनेस के अनुमान की वैल्यू का आकलन करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: टेस्ट पास करने के लिए, AE, AWB, और AF की सभी जांचों का पास होना ज़रूरी है. हर जांच के लिए ये शर्तें पूरी होनी चाहिए:
- AE की जांच: वाइड और टेलीफ़ोटो लेंस की इमेज के बीच ल्यूमा में बदलाव 4% से कम होना चाहिए.
- AWB की जांच: LAB कलर स्पेस में, वाइड और टेलीफ़ोटो के लिए लाल-हरे और नीले-हरे रंग के बीच का डेल्टा C 10 से ज़्यादा नहीं होना चाहिए.
- ऑटो फ़ोकस की जांच: टेलीफ़ोटो लेंस की इमेज शार्पनेस, वाइड ऐंगल लेंस से ज़्यादा होनी चाहिए.
scene_flash
scene_flash टेस्ट के लिए, सेंसर फ़्यूज़न बॉक्स में डार्क सीन की ज़रूरत होती है.
Android 17 और इसके बाद के वर्शन में, scene_flash टेस्टिंग के लिए Gen2 रिग का इस्तेमाल किया जा सकता है.
test_auto_flash
इन टेस्ट से यह पता चलता है कि पीछे और सामने वाले कैमरे से अंधेरे में फ़ोटो लेते समय, फ़्लैश अपने-आप चालू होता है या नहीं. सामने वाले कैमरे के लिए, ऑटो-फ़्लैश की सुविधा स्क्रीन का इस्तेमाल करके सीन को रौशन करती है. इसके लिए, फ़्लैश यूनिट का इस्तेमाल नहीं किया जाता. इस टेस्ट में यह पुष्टि की जाती है कि ऑटो-फ़्लैश की सुविधा चालू है या नहीं. इसके लिए, यह देखा जाता है कि ऑटो-फ़्लैश की सुविधा चालू होने पर, टाइल इमेज का सेंटर ज़्यादा चमकदार है या नहीं. ऑटो-फ़्लैश को ट्रिगर करने के लिए, टेस्ट रिग की लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. टेस्ट ठीक से काम करे, इसके लिए सीन पूरी तरह से अंधेरा होना चाहिए. टेस्टिंग से पहले, डिवाइस पर Jetpack Camera ऐप्लिकेशन (JCA) इंस्टॉल होना चाहिए. पीछे की ओर लगे कैमरे के लिए, फ़्लैश अपने-आप चालू होने की सुविधा, एई की स्थिति पर निर्भर करती है. हालांकि, सामने की ओर लगे कैमरे के लिए, फ़्लैश अपने-आप चालू होने की सुविधा, एई पर निर्भर नहीं करती और हमेशा चालू रहती है.
Android 17 और इसके बाद के वर्शन में, यह फ़ंक्शन non1-x ज़ूम लेवल की जांच करता है. इससे यह पुष्टि की जाती है कि ज़ूम की सभी रेंज में, फ़ंक्शन सही तरीके से काम कर रहा है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGERandroid.hardware.camera2.CaptureResult#CONTROL_AE_STATEandroid.hardware.camera2.CaptureRequest#FLASH_MODE
पास: ऑटो-फ़्लैश की सुविधा चालू होने पर, सभी कैमरों के लिए, टाइल इमेज का सेंटर, ओरिजनल सीन इमेज से ज़्यादा चमकदार है.
test_flash_strength
इन कुकी से यह पता चलता है कि SINGLE मोड में फ़्लैश की तीव्रता को कंट्रोल करने की सुविधा सही तरीके से लागू की गई है या नहीं.
इसकी पुष्टि करता है कि अगर डिवाइस, SINGLE मोड में कैमरा इस्तेमाल करने के दौरान फ़्लैश की रोशनी को कंट्रोल करने की सुविधा के साथ काम करता है, तो फ़्लैश की रोशनी के अलग-अलग लेवल के लिए अनुरोध करने पर, फ़्लैश की रोशनी बदल जाती है. इस कुकी से यह पुष्टि की जाती है कि फ़्लैश की रोशनी को कंट्रोल करने की सुविधा, अलग-अलग AE_MODES के साथ काम करती है.
उदाहरण के लिए, अगर ऑटो-एक्सपोज़र मोड ON या OFF पर सेट है, तो फ़्लैश की रोशनी के लेवल का असर चमक पर पड़ता है. वहीं, अगर मोड ON_AUTO_FLASH पर सेट है, तो फ़्लैश की रोशनी के लेवल का असर चमक पर नहीं पड़ता.
टेस्ट करने के लिए, टेस्ट रिग की लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. टेस्ट के ठीक से काम करने के लिए, सीन पूरी तरह से अंधेरा होना चाहिए.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_DEFAULT_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_SINGLE_STRENGTH_MAX_LEVEL
पास:
ऑटो-एक्सपोज़र मोड ON या OFF पर सेट होने पर, फ़्लैश की रोशनी के बंद से FLASH_SINGLE_STRENGTH_MAX_LEVEL तक बढ़ने पर, इमेज पैच की चमक बढ़ जाती है.
ऑटो-एक्सपोज़र मोड ON_AUTO_FLASH पर सेट होने पर, इमेज पैच की चमक में अंतर, तय सीमा के अंदर होता है. ऐसा इसलिए होता है, क्योंकि फ़्लैश की रोशनी का लेवल, फ़्लैश बंद होने से लेकर FLASH_SINGLE_STRENGTH_MAX_LEVEL तक बढ़ता है.
test_led_snapshot
इन टेस्ट से यह पता चलता है कि एलईडी स्नैपशॉट, इमेज को ज़्यादा रंगीन या हल्का नहीं करते हैं.
इस टेस्ट में, सेंसर फ़्यूज़न बॉक्स में लाइटिंग कंट्रोलर जोड़ा जाता है, ताकि लाइटों को कंट्रोल किया जा सके. लाइट को OFF पर सेट करके, AUTO_FLASH मोड को ON पर सेट किया जाता है. इस कैप्चर के दौरान, टेस्ट में प्रीकैप्चर सीक्वेंस चलता है. इसमें aePrecapture ट्रिगर को START पर सेट किया जाता है. साथ ही, कैप्चर इंटेंट को Preview पर सेट किया जाता है, ताकि फ़्लैश के साथ कैप्चर किया जा सके.
फ़्लैश की वजह से कैप्चर में एक खास हॉटस्पॉट है. इसलिए, टेस्ट पूरे कैप्चर के फ़्लैश इमेज का औसत निकालता है और पुष्टि करता है कि वैल्यू (68, 102) रेंज में है या नहीं. यह जांचने के लिए कि इमेज में सफ़ेद रंग का बैलेंस सही है या नहीं, टेस्ट में लाल-हरे और नीले-हरे रंग के अनुपात का हिसाब लगाया जाता है. साथ ही, यह पुष्टि की जाती है कि अनुपात 0.95 और 1.05 के बीच है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_MODEandroid.hardware.camera2.CaptureRequest#FLASH_MODE
पास: लाल-हरे और नीले-हरे रंग के अनुपात, 0.95 और 1.05 के बीच हैं. फ़्लैश इमेज का औसत मान, (68, 102) रेंज में है.
test_night_mode_indicator
यह नाइट मोड इंडिकेटर की सुविधा की जांच करता है. यह सुविधा बताती है कि कैमरा कम रोशनी में काम कर रहा है या नहीं. साथ ही, यह भी बताती है कि नाइट मोड कैमरा एक्सटेंशन से फ़ोटो कैप्चर करने पर, फ़ोटो बेहतर होगी या नहीं. यह सुविधा सिर्फ़ उन डिवाइसों पर उपलब्ध है जिन पर नाइट मोड कैमरा एक्सटेंशन काम करते हैं.
इस टेस्ट से यह पता चलता है कि नाइट मोड इंडिकेटर, कैमरे की झलक के दौरान रोशनी की स्थिति को सही तरीके से दिखाता है या नहीं. जांच में ये चरण पूरे किए जाते हैं:
- शुरुआत: टेस्ट,
ItsSessionको शुरू करता है और कैमरे की प्रॉपर्टी को वापस पाता है. यह लाइटिंग कंट्रोलर के साथ कनेक्शन भी बनाता है. - टेस्ट को स्किप करने की शर्तें: अगर डिवाइस, ज़रूरी एपीआई लेवल या नाइट मोड इंडिकेटर की सुविधा के साथ काम नहीं करता है, तो टेस्ट को स्किप कर दिया जाता है.
- Camera2 सेशन:
- यह टेस्ट,
Camera2सेशन का इस्तेमाल करके, झलक कैप्चर करने वाला सेशन शुरू करता है. - लाइट चालू हो जाती है और झलक वाला फ़्रेम कैप्चर हो जाता है.
- इस टेस्ट से यह पुष्टि की जाती है कि नाइट मोड इंडिकेटर,
OFFस्थिति में है. - लाइट बंद कर दी जाती है और झलक दिखाने वाला फ़्रेम कैप्चर किया जाता है.
- इस टेस्ट से यह पुष्टि की जाती है कि नाइट मोड इंडिकेटर,
ONस्थिति में है.
- यह टेस्ट,
- कैमरा एक्सटेंशन सेशन:
- इस टेस्ट में,
Camera2सेशन वाली प्रक्रिया को दोहराया जाता है. हालांकि, इसमेंEXTENSION_NIGHTएक्सटेंशन के साथCamera2सेशन का इस्तेमाल किया जाता है.CameraExtension
- इस टेस्ट में,
- सफ़ाई: टेस्ट बंद हो जाता है
ItsSessionऔर लाइटिंग कंट्रोलर को रिलीज़ कर देता है.
जांचे गए एपीआई:
पास:
- लाइट चालू होने पर, नाइट मोड इंडिकेटर
OFFस्थिति में होना चाहिए. - लाइट बंद होने पर, नाइट मोड इंडिकेटर
ONस्थिति में होना चाहिए. - यह
Camera2औरCameraExtension, दोनों सेशन पर लागू होता है.
test_preview_min_frame_rate
इस टेस्ट से यह पता चलता है कि अंधेरे सीन में, झलक दिखाने वाले फ़्रेम का रेट सही तरीके से कम होता है या नहीं. इस टेस्ट के सही तरीके से काम करने के लिए, कंट्रोलर को टेस्ट रिग की लाइटें बंद करनी होंगी. इसके अलावा, टेस्ट ऑपरेटर को मैन्युअल तरीके से भी लाइटें बंद करने का विकल्प मिलता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGESandroid.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGEandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: झलक का फ़्रेम रेट, अनुरोध किए गए फ़्रेम रेट की रेंज के कम से कम फ़्रेम रेट के बराबर है. साथ ही, फ़्रेम के बीच का अंतर, टेस्ट में सेट की गई पूरी टॉलरेंस से कम है.
test_torch_strength
इन कुकी से यह पता चलता है कि TORCH मोड में फ़्लैश की तीव्रता को कंट्रोल करने की सुविधा सही तरीके से लागू की गई है या नहीं.
इसकी पुष्टि करता है कि अगर डिवाइस, TORCH मोड में कैमरा इस्तेमाल करने के दौरान फ़्लैश की रोशनी को कंट्रोल करने की सुविधा के साथ काम करता है, तो रोशनी के अलग-अलग लेवल के लिए अनुरोध करने पर, टॉर्च की रोशनी बदलती है. इस कुकी से यह पुष्टि की जाती है कि फ़्लैश की रोशनी को कंट्रोल करने की सुविधा, अलग-अलग AE_MODES के साथ काम करती है.
उदाहरण के लिए, अगर ऑटो-एक्सपोज़र मोड ON या OFF पर सेट है, तो फ़्लैश की रोशनी के लेवल का असर चमक पर पड़ता है. वहीं, अगर मोड ON_AUTO_FLASH पर सेट है, तो फ़्लैश की रोशनी के लेवल का असर चमक पर नहीं पड़ता.
यह कुकी पुष्टि करती है कि वीडियो कैप्चर सेशन के दौरान, टॉर्च की रोशनी एक जैसी बनी रहती है. टेस्ट करने के लिए, टेस्ट रिग की लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. टेस्ट ठीक से काम करे, इसके लिए सीन पूरी तरह से अंधेरा होना चाहिए.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_DEFAULT_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_DEFAULT_LEVELandroid.hardware.camera2.CameraCharacteristics#FLASH_TORCH_STRENGTH_MAX_LEVEL
पास:
ऑटो-एक्सपोज़र मोड ON या OFF पर सेट होने पर, फ़्लैश की रोशनी के लेवल के बढ़ने के साथ-साथ इमेज बर्स्ट पैच की चमक भी बढ़ती है. फ़्लैश की रोशनी का लेवल, फ़्लैश बंद होने से लेकर FLASH_TORCH_STRENGTH_MAX_LEVEL तक बढ़ता है.
ऑटो-एक्सपोज़र मोड ON_AUTO_FLASH पर सेट होने पर, फ़्लैश की रोशनी के लेवल को बंद से FLASH_TORCH_STRENGTH_MAX_LEVEL तक बढ़ाने पर, इमेज बर्स्ट पैच की चमक में अंतर, तय सीमा के अंदर होता है.
scene_gen2_chart
Android 17 और इसके बाद के वर्शन में, scene_gen2_chart Gen2 पेपर चार्ट का इस्तेमाल करता है.
इस टेस्ट चार्ट में चेहरे के सैंपल, एक क्यूआर कोड, ग्रे-स्केल पैच, एक सीमेंस स्टार, एक कलर चार्ट, और तिरछे स्क्वेयर शामिल हैं.
146वीं इमेज. Gen2 चार्ट के सैंपल का उदाहरण.
test_tonemap_sequence
इस टेस्ट में, डिवाइस की डिफ़ॉल्ट टोन मैप कर्व की तुलना, लीनियर कर्व और दो एक्सपोनेंशियल कर्व से की जाती है. इनमें से एक कर्व में यूनिफ़ॉर्म पॉइंट होते हैं और दूसरे में नॉन-यूनिफ़ॉर्म पॉइंट होते हैं. पास होने के लिए, डिफ़ॉल्ट कर्व की चमक, लीनियर और एक्सपोनेंशियल कर्व की चमक से ज़्यादा होनी चाहिए. इसके अलावा, लीनियर कर्व, एक्सपोनेंशियल कर्व से ज़्यादा चमकदार होना चाहिए. साथ ही, दोनों एक्सपोनेंशियल कर्व की चमक का लेवल एक जैसा होना चाहिए.
इस टेस्ट से, डिवाइस के डिफ़ॉल्ट कर्व की सटीकता की भी पुष्टि होती है. इसके लिए, डिफ़ॉल्ट कर्व को निकाला जाता है और फिर से डाला जाता है. इसके बाद, नतीजे के तौर पर मिली इमेज की चमक की तुलना, ओरिजनल डिफ़ॉल्ट कर्व की इमेज से की जाती है.
इमेज 147. टोनमैप सीक्वेंस प्लॉट की जांच करें.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODEandroid.hardware.camera2.CameraMetadata#TONEMAP_MODE_FASTandroid.hardware.camera2.CaptureRequest#TONEMAP_CURVEandroid.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: डिफ़ॉल्ट और लीनियर कर्व के बीच ब्राइटनेस का अंतर 15% से ज़्यादा है. वहीं, दो एक्सपोनेंशियल कर्व के बीच का अंतर 8% से कम है.
test_multi_camera_switch
इस टेस्ट से, डाइनैमिक ज़ूम ट्रांज़िशन के दौरान रंग और एक्सपोज़र में एकरूपता की पुष्टि की जाती है. इससे यह पुष्टि होती है कि झलक रिकॉर्डिंग के दौरान, अल्ट्रावाइड (UW) और वाइड (W) लेंस के बीच स्विच करने पर, CIELAB की वैल्यू लगभग एक जैसी रहती हैं. इससे उपयोगकर्ता अनुभव में दिखने वाले बदलावों को रोका जा सकता है.
यह टेस्ट, पहले से तय की गई ज़ूम रेंज में डाइनैमिक प्रीव्यू रिकॉर्डिंग करता है. इससे फ़िज़िकल कैमरे का "क्रॉसओवर" पॉइंट ट्रिगर होता है. इस पॉइंट पर, अल्ट्रा वाइड लेंस, वाइड लेंस पर स्विच करता है. इस टेस्ट से, उस फ़्रेम का पता चलता है जहां लेंस स्विच होता है. इस क्रॉसओवर पॉइंट से ठीक पहले और बाद के फ़्रेम कैप्चर किए जाते हैं. साथ ही, ऑटो एक्सपोज़र (एई) और ऑटो व्हाइट बैलेंस (एडब्ल्यूबी) में स्थिरता के लिए उनका विश्लेषण किया जाता है.
एई की जांच से यह पुष्टि होती है कि लेंस हैंडऑफ़ के दौरान, Luma में होने वाले बदलाव स्वीकार्य सीमा के अंदर हैं. AWB की जांच से यह पुष्टि होती है कि लाल-हरे और नीले-हरे रंग के अनुपात, रंग के न्यूट्रल होने की तय की गई थ्रेशोल्ड वैल्यू के अंदर हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: जांच के पास होने के लिए, एई और एडब्ल्यूबी की इन जांचों का पास होना ज़रूरी है:
- एई की जांच: अगर डिवाइस
ae_regionsऔरawb_regions, दोनों को सपोर्ट करता है, तो सभी कलर पैच के लिए, यूडब्ल्यू और डब्ल्यू लेंस की इमेज के बीच ल्यूमा में बदलाव (Y वैल्यू) 4% से कम होना चाहिए. अगर सिर्फ़ae_regionsका इस्तेमाल किया जा सकता है, तो सिर्फ़ ग्रे कलर पैच की वैल्यू को ज़रूरी शर्तें पूरी करनी होंगी. - एडब्ल्यूबी की जांच: यूडब्ल्यू और डब्ल्यू लेंस की इमेज के लिए, लाल-हरे और नीले-हरे रंग की वैल्यू के बीच का अंतर, ग्रे कलर पैच के लिए 3% से कम होना चाहिए. साथ ही, अगर डिवाइस
ae_regionsऔरawb_regions, दोनों के साथ काम करता है, तो अन्य कलर पैच के लिए यह अंतर 10% से कम होना चाहिए.
148वीं इमेज. UW लेंस से ली गई ग्रे रंग की इमेज.
149वीं इमेज. W लेंस से ली गई स्लेटी रंग की इमेज.
scene_wide_gamut
scene_wide_gamut एक आयताकार फ़्रेम है, जिसे चार बराबर क्वाड्रेंट में बांटा गया है. हर क्वाड्रेंट में अलग-अलग रंग भरा गया है. इसके लिए, टैबलेट को वाइड गैमट में चार्ट दिखाना होगा. साथ ही, DUT को स्क्रीन की वाइड गैमट फ़ोटो कैप्चर करनी होगी.
इन टेस्ट से यह पुष्टि होती है कि कैप्चर की गई इमेज, सही कलर प्रोफ़ाइल और कलर रेंज के मुताबिक है.
test_display_p3
यह ColorSpaceProfiles API का इस्तेमाल करके, JPEG फ़ॉर्मैट में Display P3 कैप्चर करने की जांच करता है. इन टेस्ट से यह पता चलता है कि कैप्चर की गई JPEG इमेज के हेडर में सही ICC प्रोफ़ाइल है या नहीं. साथ ही, यह भी पता चलता है कि इमेज में sRGB गैमट से बाहर के कुछ प्रतिशत रंग शामिल हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.params.ColorSpaceProfilesandroid.hardware.camera2.params.SessionConfiguration#setColorSpace
पास: JPEG में Display P3 ICC प्रोफ़ाइल और sRGB गैमट से बाहर के एक प्रतिशत से ज़्यादा रंग शामिल हैं.
150वीं इमेज. test_display_p3 का उदाहरण.
sensor_fusion
सेंसर फ़्यूज़न टेस्ट के लिए, फ़ोन को चेकरबोर्ड पैटर्न और ArUco मार्कर के सामने खास तरीके से घुमाना ज़रूरी है. बेहतर नतीजों के लिए, पुष्टि करें कि टेस्ट चार्ट को फ़्लैट तरीके से लगाया गया हो. फ़्लैट न होने वाले चार्ट, कई टेस्ट के रोटेशन कैलकुलेशन पर असर डालते हैं. चार्ट को सेंसर फ़्यूज़न बॉक्स के पीछे की ओर 17x17 इंच के साइज़ में प्रिंट करके चिपकाया जाना चाहिए. (43x43 cm). सेंसर फ़्यूज़न बॉक्स की मदद से, sensor_fusion टेस्ट को अपने-आप होने वाले टेस्ट के तौर पर सेट अप किया जा सकता है.
151वीं इमेज. सेंसर फ़्यूज़न चार्ट.
152वीं इमेज. सेंसर फ़्यूज़न चार्ट, जो सेंसर फ़्यूज़न बॉक्स के बैकग्राउंड में दिखता है.
test_lens_intrinsic_calibration
इस टेस्ट में यह देखा जाता है कि ऑप्टिकल इमेज स्टेबलाइज़ेशन (ओआईएस) की वजह से, लेंस के ऑप्टिकल सेंटर में बदलाव होता है या नहीं. अगर लेंस के इंट्रिंसिक सैंपल काम करते हैं, तो यह टेस्ट करता है कि ओआईएस की वजह से लेंस के हिलने पर, लेंस के इंट्रिंसिक सैंपल का ऑप्टिकल सेंटर बदलता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATIONandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: लेंस का ऑप्टिकल सेंटर, एक पिक्सल या इससे ज़्यादा बदल गया है. अगर लेंस इंट्रिंसिक सैंपल काम करते हैं, तो लेंस इंट्रिंसिक सैंपल के ऑप्टिकल सेंटर में एक पिक्सल या इससे ज़्यादा का बदलाव होता है.
नीचे दिए गए फ़िगर में, हर फ़्रेम के लिए पिक्सल में मुख्य बिंदुओं के बदलाव दिखाने वाला test_lens_intrinsic_calibration प्लॉट
दिया गया है:
153वीं इमेज. test_lens_intrinsic_calibration प्लॉट का उदाहरण. इसमें हर फ़्रेम के लिए, पिक्सल में मुख्य बिंदुओं के बदलाव दिखाए गए हैं.
test_multi_camera_frame_sync
इन टेस्ट में, लॉजिकल कैमरे से कैप्चर किए गए टाइमस्टैंप की जांच की जाती है. इसके लिए, चेकरबोर्ड में मौजूद स्क्वेयर के ऐंगल का हिसाब लगाया जाता है. इससे टाइमस्टैंप का पता चलता है. टाइमस्टैंप में 10 मि॰से॰ से ज़्यादा का अंतर नहीं होना चाहिए.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPEandroid.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERAandroid.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
पास: फ़ोन को घुमाने पर, हर कैमरे से ली गई इमेज के बीच का ऐंगल ज़्यादा नहीं बदलता.
test_preview_distortion
यह टेस्ट करता है कि अलग-अलग ज़ूम लेवल पर ली गई हर झलक के फ़्रेम में, इमेज में होने वाली गड़बड़ी को ठीक किया गया है या नहीं. हर झलक वाले फ़्रेम के लिए, टेस्ट कैमरे के इंट्रिंसिक और एक्सट्रिंसिक के आधार पर, सबसे सही पॉइंट का हिसाब लगाता है.
उदाहरण के तौर पर दी गई इमेज में, आदर्श पॉइंट हरे रंग में दिखाए गए हैं. वहीं, असल पॉइंट लाल रंग में दिखाए गए हैं. डिस्टॉर्शन की गड़बड़ी का हिसाब, असल पॉइंट और आइडियल पॉइंट के बीच आरएमएस पिक्सल की दूरी के आधार पर लगाया जाता है. इमेज में हरे और लाल रंग से हाइलाइट किए गए हिस्से का इस्तेमाल, गड़बड़ी वाले हिस्से का पता लगाने के लिए किया जाता है.
154वीं इमेज. चेकरबोर्ड की इमेज. इसमें आदर्श बिंदुओं को हरे रंग और असल बिंदुओं को लाल रंग में दिखाया गया है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGEandroid.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIOandroid.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()android.media.CamcorderProfileandroid.media.MediaRecorder
पास: हर झलक फ़्रेम की सामान्य की गई गड़बड़ी, टेस्ट में सेट की गई थ्रेशोल्ड वैल्यू से कम है.
test_preview_stabilization
ऐसे टेस्ट जिनमें झलक वाले वीडियो में, जायरोस्कोप की तुलना में कम बदलाव होता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: फ़्रेम के हिसाब से ज़्यादा से ज़्यादा ऐंगल रोटेशन, जायरोस्कोप के रोटेशन के 70% से कम है.
यहां स्टेबलाइज़ेशन की सुविधा चालू और बंद करके बनाए गए वीडियो के सैंपल दिए गए हैं:
155वीं इमेज. स्टेबलाइज़ेशन की सुविधा वाले सैंपल वीडियो.
156वीं इमेज. बिना स्टेबलाइज़ेशन वाला सैंपल वीडियो.
test_sensor_fusion
यह एआर और वीआर ऐप्लिकेशन के लिए, कैमरे और जायरोस्कोप के टाइमस्टैंप के बीच अंतर की जांच करता है. इस वीडियो में, फ़ोन को चेकरबोर्ड पैटर्न के सामने 90 डिग्री पर 10 बार घुमाया गया है. मोशन का समय करीब दो सेकंड है. अगर डिवाइस में जायरोस्कोप शामिल नहीं है या टाइमस्टैंप सोर्स REALTIME पैरामीटर चालू नहीं है, तो इस टेस्ट को छोड़ दिया जाता है.
test_sensor_fusion टेस्ट से कई प्लॉट जनरेट होते हैं. डीबग करने के लिए, ये दो सबसे ज़रूरी प्लॉट हैं:
test_sensor_fusion_gyro_events: इस सेक्शन में, टेस्ट के दौरान फ़ोन के जाइरोस्कोप इवेंट दिखाए जाते हैं. x और y दिशा में होने वाली हलचल से पता चलता है कि फ़ोन को माउंटिंग प्लेट पर ठीक से नहीं लगाया गया है. इससे टेस्ट पास होने की संभावना कम हो जाती है. प्लॉट में साइकल की संख्या, फ़्रेम सेव करने की स्पीड पर निर्भर करती है.
आंकड़ा 157. test_sensor_fusion gyroscope इवेंट का उदाहरण.
test_sensor_fusion_plot_rotations: इससे जाइरोस्कोप और कैमरे की गतिविधियों के अलाइनमेंट का पता चलता है. इस प्लॉट में, कैमरा और जायरोस्कोप के बीच +/-1 मिलीसेकंड का अंतर होना चाहिए.
आंकड़ा 158. test_sensor_fusion प्लॉट रोटेशन का उदाहरण.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LENS_FACINGandroid.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCEandroid.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIMEandroid.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGEandroid.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATIONandroid.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMPandroid.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
पास: सीडीडी में 7.3.9 हाई फ़िडेलिटी सेंसर के मुताबिक, कैमरे और जाइरोस्कोप के टाइमस्टैंप का ऑफ़सेट 1 मि॰से॰ से कम है.
काम न करने की वजहें:
- ऑफ़सेट से जुड़ी गड़बड़ी: कैमरा-जायरोस्कोप ऑफ़सेट को +/-1 मि॰से॰ के अंदर सही तरीके से कैलिब्रेट नहीं किया गया है.
- फ़्रेम ड्रॉप: पाइपलाइन इतनी तेज़ नहीं है कि लगातार 200 फ़्रेम कैप्चर कर सके.
- सॉकेट से जुड़ी गड़बड़ियां:
adb, टेस्ट को पूरा करने के लिए, डीयूटी से लंबे समय तक भरोसेमंद तरीके से कनेक्ट नहीं हो सकता. - चार्ट को फ़्लैट तरीके से नहीं लगाया गया है. प्लॉट
test_sensor_fusion_plot_rotationsमें ऐसे फ़्रेम हैं जिनमें जायरोस्कोप और कैमरे के रोटेशन में काफ़ी अंतर होता है. ऐसा इसलिए होता है, क्योंकि कैमरा चार्ट के उन हिस्सों में घूमता है जो फ़्लैट नहीं होते. - कैमरे को फ़्लैट माउंट नहीं किया गया है. प्लॉट
test_sensor_fusion_gyro_eventsमें, X और Y प्लैन में होने वाली गतिविधि दिखाई गई है. यह समस्या, सामने वाले कैमरे में ज़्यादा होती है. ऐसा इसलिए, क्योंकि रियर कैमरा अक्सर फ़ोन के बाकी हिस्से से थोड़ा उभरा हुआ होता है. इससे फ़ोन के पीछे वाले हिस्से को दीवार पर लगाने वाली प्लेट पर लगाते समय, वह थोड़ा झुक जाता है.
test_video_stabilization
अब इस्तेमाल नहीं किया जाता: यह टेस्ट Android 17 से काम नहीं करता. Android 17 और इसके बाद के वर्शन के लिए, इस टेस्ट को test_video_stabilization_jca से बदल दिया गया है.
ऐसे टेस्ट जिनमें स्टेबलाइज़ किए गए वीडियो को जायरोस्कोप की तुलना में कम घुमाया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.media.MediaRecorderandroid.media.CamcorderProfile
पास: फ़्रेम के हिसाब से ज़्यादा से ज़्यादा ऐंगल रोटेशन, जायरोस्कोप के रोटेशन के 60% से कम है.
यहां स्टेबलाइज़ेशन की सुविधा चालू और बंद करके बनाए गए वीडियो के सैंपल दिए गए हैं.
159वीं इमेज. स्टेबलाइज़ेशन की सुविधा वाले सैंपल वीडियो.
160वीं इमेज. बिना स्टेबलाइज़ेशन वाला सैंपल वीडियो.
test_video_stabilization_jca
JCA का इस्तेमाल करके कैप्चर किए गए वीडियो को स्थिर करने वाले टेस्ट में, यह पता चला है कि यह जायरोस्कोप की तुलना में कम घूमता है. टेस्टिंग से पहले, डिवाइस पर JCA इंस्टॉल होना चाहिए.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASESandroid.media.CamcorderProfileandroid.media.MediaRecorder
पास: जेसीए का इस्तेमाल करके कैप्चर किए गए वीडियो से निकाले गए फ़्रेम में, ज़्यादा से ज़्यादा ऐंगल रोटेशन, जायरोस्कोप रोटेशन के 70% से कम है.
feature_combination
feature_combination टेस्ट से यह पुष्टि की जाती है कि एक साथ कई कैमरा सुविधाएं चालू होने पर, वे सही तरीके से काम करती हैं. इन टेस्ट में, उसी चेकरबोर्ड इमेज का इस्तेमाल किया जाता है जिसका इस्तेमाल सेंसर फ़्यूज़न सीन में किया जाता है.
test_feature_combination
यह अलग-अलग स्ट्रीम कॉम्बिनेशन, वीडियो स्टेबलाइज़ेशन मोड, टारगेट एफ़पीएस रेंज, 10-बिट एचडीआर वीडियो, और अल्ट्रा एचडीआर के सभी कॉम्बिनेशन की जांच करता है. ये सभी कॉम्बिनेशन, कैमरा डिवाइस के साथ काम करते हैं.
Android 16 और इसके बाद के वर्शन के लिए, यह टेस्ट उन सभी कॉम्बिनेशन को चलाता है जिनमें काम करने वाली सुविधाएं शामिल हैं. साथ ही, नतीजों को एक प्रोटो फ़ाइल में लॉग करता है. फ़ेल होने की पुष्टि करने वाले दावे सिर्फ़ उन सुविधाओं के कॉम्बिनेशन के लिए किए जाते हैं जिनके लिए isSessionConfigurationSupported दिखाता है True.
जांचे गए एपीआई:
android.hardware.camera2.CameraDevice.CameraDeviceSetup#isSessionConfigurationSupportedandroid.hardware.camera2.CameraDevice.CameraDeviceSetup#createCaptureRequest
पास: सुविधा के हर कॉम्बिनेशन के लिए:
- अगर झलक को स्थिर करने की सुविधा चालू है, तो झलक वाली स्ट्रीम स्थिर हो जाती है.
- झलक का फ़्रेम रेट, कॉन्फ़िगर किए गए
AE_TARGET_FPS_RANGEके अंदर होना चाहिए. - रिकॉर्ड की गई झलक वाली स्ट्रीम का कलर स्पेस, सेट किए गए कलर स्पेस से मेल खाता हो.
- अल्ट्रा एचडीआर कैप्चर में मान्य गेन मैप है.
scene_ip
Android 16 और इसके बाद के वर्शन में, सीन scene_ip की मदद से डिफ़ॉल्ट कैमरा ऐप्लिकेशन और Jetpack कैमरा ऐप्लिकेशन (JCA) के बीच इमेज की समानता की जांच की जा सकती है. इससे कैप्चर की गई इमेज के बीच के मुख्य अंतरों का पता लगाया जा सकता है. JCA, सोशल मीडिया ऐप्लिकेशन से कैप्चर की गई इमेज को कॉपी करता है. साथ ही, एक बेसलाइन इमेज उपलब्ध कराता है. इसके बाद, सोशल मीडिया ऐप्लिकेशन इस इमेज को प्रोसेस करते हैं और बेहतर बनाते हैं.
हार्डवेयर सेटअप करने से जुड़ी ज़रूरी शर्तें
scene_ip की जांच के लिए, यह हार्डवेयर सेटअप ज़रूरी है:
- टेस्ट, Gen2 कैमरा ITS-in-a-box में किए जाते हैं.
- Gen2 रिग में शामिल लाइटिंग और सर्वो कंट्रोलर का इस्तेमाल, टेस्ट एनवायरमेंट को कंट्रोल करने के लिए किया जाता है.
- Gen2 रिग के अंदर, टेस्ट फ़ीचर चार्ट रखा गया है.
161वीं इमेज. Gen2chart_sample का उदाहरण.
टेस्ट स्किप करने की शर्तें
अगर इनमें से कोई भी शर्त पूरी होती है, तो scene_ip टेस्ट को छोड़ दिया जाता है:
- डिवाइस का पहला एपीआई लेवल (
first_api_level) 35 या इससे कम हो. - डिवाइस, सामने और पीछे की ओर प्राइमरी कैमरा वाला फ़ोन नहीं होना चाहिए. उदाहरण के लिए, टैबलेट या टीवी.
test_default_jca_ip
यह टेस्ट, कंट्रोल की गई लाइटिंग की स्थितियों में डिफ़ॉल्ट कैमरा ऐप्लिकेशन और जेसीए का इस्तेमाल करके, टेस्ट फ़ीचर चार्ट की इमेज कैप्चर करता है. साथ ही, इन चीज़ों की जांच करता है:
FoV: इससे यह पता चलता है कि डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA कैप्चर का FoV एक जैसा है या नहीं. इस जांच में, कैप्चर किए गए चार्ट की इमेज से निकाले गए सेंटर क्यूआर कोड की सुविधा का इस्तेमाल किया जाता है.
रोशनी: यह जांच करता है कि डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA के बीच मेज़र की गई रोशनी का अंतर 10 से ज़्यादा न हो. यह जांच, चमक को मेज़र करने के लिए डाइनैमिक रेंज पैच का इस्तेमाल करती है.
व्हाइट बैलेंस: यह जांच करता है कि डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA के बीच व्हाइट बैलेंस का अंतर 4 से ज़्यादा न हो. यह जांच, चमक को मेज़र करने के लिए डाइनैमिक रेंज पैच का इस्तेमाल करती है.
कलर रेंडरिंग: इससे यह पता चलता है कि डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA के बीच कलर रेंडरिंग का अंतर 6 से ज़्यादा नहीं है.
पास: टेस्ट में, फ़ील्ड ऑफ़ व्यू, चमक, और सफ़ेद रंग के बैलेंस की जांच पास की गई है. Android 16 में, यह टेस्ट ज़रूरी नहीं है (NOT_YET_MANDATED). Android 17 और इसके बाद के वर्शन के लिए, FoV, चमक, और व्हाइट बैलेंस की समानता की जांच करना ज़रूरी है. Android 17 में, कलर रेंडरिंग की जांच करना ज़रूरी नहीं है
(NOT_YET_MANDATED).
test_jca_jpegr_ip
यह कुकी पुष्टि करती है कि JPEG_R JCA प्रीव्यू स्नैपशॉट और कैप्चर की गई इमेज के बीच, वाइट बैलेंस का अंतर 4 से ज़्यादा नहीं है.
जांचे गए एपीआई:
पास: JCA की झलक वाले स्नैपशॉट और कैप्चर की गई JPEG_R इमेज के बीच, वाइट बैलेंस का अंतर थ्रेशोल्ड (डिफ़ॉल्ट रूप से 4) के अंदर है.