इस पेज पर Camera के इमेज टेस्ट सुइट (आईटीएस) के तहत किए जाने वाले टेस्ट की पूरी सूची दी गई है. यह Android कंपैटबिलिटी टेस्ट सुइट (सीटीएस) की पुष्टि करने वाली सुविधा का हिस्सा है. इसके टेस्ट, फ़ंक्शनल टेस्ट हैं. इसका मतलब है कि ये इमेज क्वालिटी को मापते नहीं हैं. हालांकि, विज्ञापन में दिखाए गए कैमरे के सभी फ़ंक्शन उम्मीद के मुताबिक काम कर रहे हैं. इस दस्तावेज़ से डेवलपर और टेस्टर यह समझ पाते हैं कि अलग-अलग टेस्ट क्या करते हैं. साथ ही, टेस्ट में सफल न होने वाले टेस्ट को कैसे डीबग किया जा सकता है.
कैमरा आईटीएस, ज़रूरी कैमरा प्रॉपर्टी, एपीआई लेवल, और मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) लेवल के हिसाब से
जांच करता है. एपीआई लेवल के लिए, आईटीएस किसी एपीआई लेवल में जोड़े गए गेट टेस्ट को ro.product.first_api_level
का इस्तेमाल करता है. यह एपीआई लेवल के निचले हिस्से में काम करने के लिए, उपयोगकर्ता अनुभव की खराब जांच की जांच करता है. आईटीएस, किसी खास एपीआई लेवल में जोड़ी गई सुविधाओं के लिए गेट टेस्ट करने के लिए, ro.vendor.api_level
का इस्तेमाल करता है. ऐसा सिर्फ़ उन सुविधाओं के लिए किया जाता है जिनके लिए हार्डवेयर की नई क्षमता की ज़रूरत होती है. अगर किसी डिवाइस के लिए ro.odm.build.media_performance_class
तय किया गया है, तो आईटीएस को एमपीसी लेवल के आधार पर खास तरह की जांच करने की ज़रूरत होती है.
जांचों को सीन के हिसाब से इस तरह ग्रुप में रखा जाता है:
- scene0: मेटाडेटा, वाइब्रेटर, जाइरोस्कोप, वाइब्रेशन कैप्चर करने की सुविधा
- scene1: एक्सपोज़र, संवेदनशीलता, ईवी के लिए मुआवज़ा, YUV बनाम JPEG/RAW
- scene2: चेहरे की पहचान करने वाले टेस्ट, जिनमें कलर सीन या पूरी रोशनी की ज़रूरत होती है
- scene3: किनारे को बेहतर बनाने की सुविधा, लेंस मूवमेंट
- scene4: आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात), क्रॉप करना, फ़ील्ड-ऑफ़-व्यू
- scene5: लेंस शेडिंग
- scene6: ज़ूम
- scene_extensions: कैमरा एक्सटेंशन
- sensor_fusion: कैमरा/जाइरोस्कोप टाइमिंग ऑफ़सेट
हर सीन का ब्यौरा देखने के लिए, अलग-अलग सेक्शन देखें.
सीन0
सीन0 टेस्ट के लिए, सीन की किसी खास जानकारी की ज़रूरत नहीं होती. हालांकि, जाइरोस्कोप और वाइब्रेशन की जांच करने के लिए फ़ोन स्थिर होना चाहिए.
जांच_बर्स्ट_कैप्चर
यह पुष्टि करता है कि पूरी कैप्चर पाइपलाइन को फ़ुल साइज़ कैप्चर करने की स्पीड और सीपीयू टाइम की सुविधा मिलती है.
जांचे गए एपीआई:
पास: इससे, एक क्लिक में कई फ़ुल साइज़ की इमेज कैप्चर हो जाती हैं. साथ ही, कैमरा इतनी तेज़ी से काम करता है कि इससे बचा जा सकता है.
test_capture_result_dump
यह जांच करता है कि मैन्युअल कैप्चर से कैप्चर किए गए नतीजे को दिखाया जाता है और फिर उसे डंप कर दिया जाता है.
जांचे गए एपीआई:
पास: कैप्चर किए गए नतीजों को कैप्चर करके डंप करता है.
जांच_गाइरो_बायस
यह जांच करता है कि डिवाइस के स्थिर होने पर, जाइरो में स्टेबल आउटपुट है या नहीं. डेटा को औसतन 20 डेटा पॉइंट के तौर पर दिखाया गया है.
जांचे गए एपीआई:
पास: जाइरो रीडिंग का डेल्टा समय के साथ 0.01 से कम है.
जांच_gyro_bias_plot.png
टेस्ट_जेटर
कैमरे के टाइमस्टैंप में कंपन को मापता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
पास: फ़्रेम के बीच कम से कम 30 मि॰से॰ का डेल्टा है.
test_jitter_plot.png (छोटी y-ऐक्सिस रेंज पर ध्यान दें. इस प्लॉट में जिटर असल में छोटा है.)
test_metadata
मेटाडेटा एंट्री की वैधता की जांच करता है. कैप्चर से मिले नतीजों और कैमरे में मौजूद चीज़ों को देखता है. यह टेस्ट, auto_capture_request
एक्सपोज़र का इस्तेमाल करता है और
वैल्यू गेन करता है, क्योंकि इमेज कॉन्टेंट ज़रूरी नहीं होता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
पास: हार्डवेयर लेवल, rollingShutterSkew
, frameDuration
टैग,
timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, एफ़ओवी,
हाइपरफ़ोकल डिस्टेंस मौजूद हैं और इनकी वैल्यू मान्य हैं.
जांच_पैरामीटर_संवेदनशीलता_बर्स्ट
यह जांच करता है कि बर्स्ट में android.sensor.sensitivity
पैरामीटर सही तरीके से लागू किया गया है. सिर्फ़ आउटपुट मेटाडेटा की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: आउटपुट डेटा में 0.2% से कम गड़बड़ी सहन करने की क्षमता है.
test_read_write
यह जांच करता है कि डिवाइस सही एक्सपोज़र लिखता है और कैप्चर मेटाडेटा को वापस पढ़कर वैल्यू हासिल करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
पास: सभी शॉट में मैच होने वाली वैल्यू पढ़ें और लिखें.
जांच_सेंसर_इवेंट
यह जांच करता है कि डिवाइस क्वेरी करता है और उन डिवाइस के लिए सेंसर इवेंट को प्रिंट करता है जो सेंसर फ़्यूज़न की सुविधा का विज्ञापन करते हैं. उम्मीद के मुताबिक सेंसर, एक्सलरोमीटर, जाइरोस्कोप, और मैग्नेटोमीटर हैं. यह जांच सिर्फ़ तब काम करती है, जब स्क्रीन चालू हो. इसका मतलब है कि डिवाइस स्टैंडबाय मोड में नहीं है.
जांचे गए एपीआई:
पास: हर सेंसर के लिए इवेंट की जानकारी मिलती है.
test_solid_color_test_pattern
ऐसे टेस्ट जिनसे कैमरे की म्यूटिंग के लिए, अच्छे रंग की जांच वाले पैटर्न सही तरीके से जनरेट होते हैं. अगर कैमरे को म्यूट करने की सुविधा काम करती है, तो गहरे रंगों की जांच करने वाले पैटर्न का इस्तेमाल किया जाना चाहिए. अगर कैमरा म्यूट करने की सुविधा काम नहीं करती है, तो सॉलिड कलर टेस्ट पैटर्न की जांच सिर्फ़ तब की जाती है, जब विज्ञापन दिखाने की क्षमता का इस्तेमाल किया जाता है.
अगर RAW इमेज काम करती हैं, तो रंग असाइन करने की प्रोसेस की भी जांच की जाती है. जांचे गए रंग काला, सफ़ेद, लाल, नीला, और हरे हैं. जो कैमरे काम नहीं करते हैं उनमें सिर्फ़ काले रंग की इमेज इस्तेमाल की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
पास: सॉलिड टेस्ट पैटर्न सही हैं और इमेज में कम फ़र्क़ है.
जांच_टेस्ट_पैटर्न
यह हर मान्य टेस्ट पैटर्न के लिए फ़्रेम कैप्चर करने के लिए, android.sensor.testPatternMode
पैरामीटर की जांच करता है. साथ ही, यह भी जांच करता है कि सॉलिड कलर और कलर बार के लिए, फ़्रेम सही तरीके से जनरेट हुए हैं या नहीं. इस जांच में ये चरण शामिल हैं:
- यह फ़ंक्शन, इस्तेमाल किए जा सकने वाले सभी टेस्ट पैटर्न के हिसाब से इमेज कैप्चर करता है.
- सॉलिड कलर के टेस्ट पैटर्न और कलर बार के सटीक होने की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
पास: इस्तेमाल किए जा सकने वाले टेस्ट पैटर्न सही तरीके से जनरेट किए गए हैं.
test_test_patterns_2.jpg
test_tonemap_curve
यह लीनियर टोनमैप की मदद से, RAW से YUV में टेस्ट पैटर्न के कन्वर्ज़न की जांच करता है. टोनमैप कन्वर्ज़न के लिए, सबसे सही इमेज पैटर्न जनरेट करने के लिए, इस टेस्ट में android.sensor.testPatternMode = 2
(COLOR_BARS) की ज़रूरत होती है. इससे पक्का होता है कि पाइपलाइन में लीनियर टोनमैप और सही इमेज इनपुट के साथ
सही कलर आउटपुट हों (यह test_test_patterns
पर निर्भर करता है).
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: YUV और RAW एक-दूसरे से मिलते-जुलते दिखते हैं.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp
जांच करता है कि क्या इमेज और मोशन सेंसर इवेंट एक ही समय डोमेन में हैं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
पास: मोशन टाइमस्टैंप, दो इमेज के टाइमस्टैंप के बीच होते हैं.
test_vibration_restriction
यह जांच करता है कि डिवाइस का वाइब्रेशन सही तरीके से काम कर रहा है या नहीं.
जांचे गए एपीआई:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
पास: कैमरा ऑडियो पाबंदी एपीआई से म्यूट किए जाने पर डिवाइस वाइब्रेट नहीं करता.
सीन1
सीन1 एक ग्रे चार्ट है. ग्रे चार्ट, कैमरे फ़ील्ड के व्यू फ़ील्ड के बीच वाले 30% हिस्से को कवर करना चाहिए. ग्रे चार्ट से कुछ हद तक 3A (ऑटो एक्सपोज़र, ऑटो व्हाइट बैलेंस, ऑटो फ़ोकस) को चुनौती देने की उम्मीद है, क्योंकि इस क्षेत्र में कोई सुविधा नहीं है. हालांकि, कैप्चर करने के अनुरोध से पूरे सीन के बारे में पता चलता है. इसमें 3A के लिए, एक जैसी सुविधाएं उपलब्ध कराने के लिए ज़रूरी सुविधाएं मौजूद हैं.
RFoV कैमरों की जांच WFoV या RFoV टेस्ट रिग में की जा सकती है. अगर WFoV टेस्ट रिग में किसी RFoV कैमरे की जांच की जाती है, तो चार्ट का स्केल 2⁄3 तक बढ़ाया जाता है, ताकि एफ़ओवी में ग्रे चार्ट के लिए कुछ सीमाएं तय की जा सकें. कैमरे की जांच करने वाले रिग के बारे में ज़्यादा जानकारी के लिए, कैमरे के साथ काम करने वाले कैमरे को देखें.
सीन1: फ़ुल साइज़ का चार्ट (बाएं). 2⁄3 स्केल किया गया चार्ट (दाएं).
परीक्षण_3a
कुछ हद तक चुनौती वाले टारगेट के साथ, 3A के कन्वर्जन की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
पास: 3A कन्वर्ज़न होता है और नतीजे के तौर पर मिली 3A वैल्यू मान्य होती हैं.
टेस्ट_ए_एफ़
3A ऑटो एक्सपोज़र (AE) और ऑटो फ़ोकस (AF) एल्गोरिदम का अलग-अलग परीक्षण करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
पास: 3A की वैल्यू एक जैसी है और नतीजे के तौर पर दी गई 3A वैल्यू कानूनी है.
जांच_ae_precapture_trigger
प्रीकैप्चर ट्रिगर का इस्तेमाल करते समय, AE स्थिति मशीन की जांच करता है. AE को अक्षम करके पांच मैन्युअल अनुरोधों को कैप्चर करता है. अंतिम अनुरोध में एक AE प्रीकैप्चर ट्रिगर है, जिसे अनदेखा किया जाना चाहिए, क्योंकि AE अक्षम है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
पास: AE कन्वर्ज़न.
test_auto_vs_manual
ऑटो और मैन्युअल शॉट को कैप्चर करने वाले टेस्ट एक जैसे दिखते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
पास: कैमरे के 3A एल्गोरिदम में दिखाए गए ऑटो व्हाइट बैलेंस estimate
से मैच करने वाले हर नतीजे में रिपोर्ट किए गए, मैन्युअल तौर पर व्हाइट बैलेंस बढ़ाने और ट्रांसफ़ॉर्म करने की सुविधा मिलती है.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
टेस्ट_काला_सफ़ेद
इस बात की जांच करता है कि डिवाइस से ब्लैक ऐंड व्हाइट इमेज जनरेट होती हैं या नहीं. इसे दो ली गई
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: इससे ब्लैक ऐंड व्हाइट इमेज जनरेट होती हैं. सफ़ेद इमेज वाले सैचुरेटेड चैनलों की आरजीबी वैल्यू [255, 255, 255] है. साथ ही, मार्जिन में गड़बड़ी का मार्जिन 1% से कम है.
test_black_white_black.jpg | test_black_white_white.jpg |
जांच_काला_सफ़ेद_plot_means.png
जांच_बर्स्ट_समानता_मैनुअल
मैन्युअल कैप्चर सेटिंग की मदद से, 50 इमेज के 5 बर्स्ट लेता है. साथ ही, यह देखता है कि वे सभी एक जैसे हैं या नहीं. इस टेस्ट का इस्तेमाल यह पता लगाने के लिए किया जा सकता है कि क्या ऐसे स्पोरैडिक फ़्रेम हैं जिन्हें अलग तरह से प्रोसेस किया गया है या जिनमें आर्टफ़ैक्ट हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
पास: इमेज विज़ुअल तौर पर एक जैसी हैं और आरजीबी वैल्यू में हैं.
फ़ेल: हर बर्स्ट की शुरुआत में आरजीबी औसत चार्ट में बढ़ोतरी या गिरावट को दिखाता है
first_API_level
< 30 के लिए सहनशीलता 3% हैfirst_API_level
>= 30 के लिए सहनशीलता 2% है
test_बर्स्ट_sameness_manual_mean.jpg
जांच_बर्स्ट_समानता_मैनुअल_plot_means.png
जांच_capture_result
यह जांच करता है कि CaptureResult
ऑब्जेक्ट में मान्य डेटा वापस आता है या नहीं. ऑटो, मैन्युअल, और ऑटो-कैप्चर मोड चालू करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: मेटाडेटा हर तरह की कैप्चर के लिए मान्य है और मैन्युअल सेटिंग, दूसरे ऑटो-कैप्चर मोड में लीक नहीं होती हैं. कैप्चर की गई चीज़ों के लिए, लेंस शेडिंग में सुधार करता है.
test_capture_result_plot_lsc_auto_ch0.png
जांच_क्रॉप_क्षेत्र_करो
ऐसे टेस्ट जिनसे पता चलता है कि RAW फ़ॉर्मैट में स्ट्रीम को क्रॉप नहीं किया जा सकता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
पास: YUV इमेज बीच में क्रॉप होती हैं, लेकिन RAW इमेज नहीं.
test_ Crop_region_raw_comp_raw_ Crop.jpg
test_ Crop_region_raw_comp_raw_full.jpg
test_ Crop_region_raw_comp_yuv_ Crop.jpg
test_Crp_region_raw_yuv_full.jpg
परीक्षण_क्रॉप_क्षेत्र
ऐसे टेस्ट जो काटने के क्षेत्र काम करते हैं. एक पूरी इमेज लेता है और 5 अलग-अलग इलाकों (कॉर्नर और सेंटर) के पैच बनाता है. यह सुविधा, पांच इलाकों के लिए क्रॉप सेट वाली इमेज लेती है. पैच और क्रॉप इमेज की वैल्यू की तुलना करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
पास: काटे गए हिस्से की इमेज, काटे जाने वाले हिस्से की इमेज वाले पैच से मेल खाती है.
परीक्षण_dng_noise_model
इस बात की पुष्टि करता है कि डीएनजी के रॉ मॉडल के पैरामीटर सही हैं या नहीं. प्लॉट, अलग-अलग तरह की संवेदनशीलता के आधार पर कैप्चर किए गए रॉ शॉट में, ग्रे कार्ड के सेंटर पैच के मापे गए वैरियंस को दिखाता है. साथ ही, इन वैल्यू की तुलना उस वैरियंस से की जाती है जो कैमरे के एचएएल (कैप्चर नतीजे ऑब्जेक्ट में दिखाए गए O,S पैरामीटर पर आधारित) में हर संवेदनशीलता पर आधारित होता है. डीएनजी नॉइज़ मॉडल के बारे में ज़्यादा जानकारी के लिए, डीएनजी नॉइज़ मॉडल पर दिया गया दस्तावेज़ डाउनलोड करें.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: डीएनजी के रॉ मॉडल के पैरामीटर सही हैं. अनुमानित आरजीबी वैल्यू, मेज़र की गई असल आरजीबी वैल्यू से मेल खाती हैं.
test_dng_noise_model_plog.png
परीक्षण_ev_compensation_advanced
टेस्ट करता है कि एक्सपोज़र वैल्यू (ईवी) कंपंसेशन लागू किया गया है. यह जांच आठ चरणों में एक्सपोज़र बढ़ाती है. साथ ही, अनुमानित चमक की तुलना में मापी गई चमक की जाँच करती है. अनुमानित वैल्यू का हिसाब, इमेज की चमक के आधार पर लगाया जाता है. इसमें ईवी के लिए कोई मुआवज़ा नहीं दिया जाता है. अगर कैलकुलेट की गई वैल्यू, इमेज की असल वैल्यू से ज़्यादा है, तो अनुमानित वैल्यू की संख्या फिर से घट जाएगी. अगर उम्मीद के मुताबिक वैल्यू और मेज़र की गई वैल्यू मेल नहीं खाती हैं या इमेज पांच चरणों में ज़्यादा एक्सपोज़ होती हैं, तो जांच नहीं हो पाती.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
पास: इमेज, पांच चरणों में ज़्यादा एक्सपोज़र के बिना बढ़ती हुई एक्सपोज़र दिखाती हैं.
परीक्षण_ev_compensation_advanced_plot_means.png
जांच_ev_compensation_basic
ये टेस्ट करते हैं कि CONTROL_AE_COMPENSATION_STEP
की मदद से बनाई गई रेंज का इस्तेमाल करके, ईवी के लिए मुआवज़ा कितना लागू किया जाता है. हर कंपंसेशन वैल्यू पर आठ फ़्रेम कैप्चर किए जाते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
पास: ईवी के मुआवज़े की सेटिंग में बढ़ोतरी करने से, लीमा में कैप्चर की संख्या में बढ़ोतरी होती है. साथ ही, ईवी के लिए मुआवज़े की हर सेटिंग के लिए कैप्चर किए गए आठ फ़्रेम की वैल्यू स्थायी होती है.
परीक्षण_ev_compensation_basic.png
परीक्षण_एक्सपोज़र
यह जांच करती है कि आईएसओ के हिसाब से लगातार एक्सपोज़र मिल रहा है और एक्सपोज़र का समय अलग-अलग है. एक-दूसरे को संतुलित करने के लिए
चुनी गई ऐसी कई फ़ोटो ली जाती हैं, जिनमें आईएसओ और एक्सपोज़र टाइम चुना गया है.
नतीजों में चमक एक जैसी होनी चाहिए, लेकिन क्रम में
इमेज में ज़्यादा शोर होना चाहिए. सैंपल पिक्सल की पुष्टि का मतलब है कि वैल्यू एक-दूसरे के पास हैं. पक्का करता है कि इमेज 0 या 1 पर न रखी गई हो (जिससे वे सपाट रेखाओं की तरह दिखें). अपनी कॉन्फ़िगरेशन फ़ाइल में debug
फ़्लैग सेट करके, RAW इमेज के साथ भी टेस्ट किया जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: इमेज की चमक एक जैसी होती है, लेकिन ज़्यादा आईएसओ होने पर ज़्यादा शोर होता है. आरजीबी प्लेन फ़्लैट होते हैं, बशर्ते आईएसओ*एक्सपोज़र की वैल्यू, जांची गई जगह के मुकाबले एक जैसी हो.
जांच_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
परीक्षण_jpeg
YUV इमेज और डिवाइस की JPEG इमेज को बदलने वाले टेस्ट एक जैसे दिखते हैं. टेस्ट, इमेज के बीच वाले 10% हिस्से को लेकर आरजीबी वैल्यू का हिसाब लगाता है और पुष्टि करता है कि इमेज आपस में मेल खाती हैं या नहीं.
जांचे गए एपीआई:
पास: हर इमेज के बीच औसत आरजीबी अंतर 3% से कम है.
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
टेस्ट_लैचिंग
जांच करता है कि FULL
और LEVEL_3
कैमरों के लिए सेटिंग (एक्सपोज़र और गेन) सही फ़्रेम पर लैच हैं या नहीं. इसके तहत, बैक-टू-बैक अनुरोधों का इस्तेमाल करके
शॉट की सीरीज़ ली जाती है. इससे अलग-अलग शॉट के बीच, कैप्चर करने के अनुरोध के पैरामीटर अलग-अलग होते हैं. यह जांच करता है कि इमेज में अपनी ज़रूरत के मुताबिक प्रॉपर्टी मौजूद हैं या नहीं.
जांचे गए एपीआई:
पास: इमेज [2, 3, 6, 8, 10, 12, 13] के लिए आईएसओ या एक्सपोज़र में बढ़ोतरी हुई है. साथ ही, ये test_latching_plot_means.png
पर ज़्यादा आरजीबी के साथ दिखती हैं.
test_latting_i=00.jpg | test_latking_i=01.jpg | test_latning_i=02.jpg | |
test_latning_i=03.jpg | test_latking_i=04.jpg | test_latting_i=05.jpg | |
test_lat{6}_i=06.jpg | test_latking_i=07.jpg | test_latking_i=08.jpg | |
test_latting_i=09.jpg | test_latking_i=10.jpg | test_latting_i=11.jpg | |
test_lat{6}_i=12.jpg |
जांच_लैपिंग_plot_means.png
टेस्ट_लीनियरिटी
यह जांच करता है कि डिवाइस की प्रोसेसिंग को लीनियर पिक्सल में बदला जा सकता है. एक जैसे टारगेट पर फ़ोकस करने वाले डिवाइस से शॉट की सीक्वेंस कैप्चर करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास: R, G, और B की वैल्यू, संवेदनशीलता बढ़ने के साथ लीनियर तौर पर बढ़नी चाहिए.
जांच_linearity_plot_means.png
जांच_लॉक किया गया_बर्स्ट
यह 3A लॉक और YUV बर्स्ट की जाँच करता है (अपने-आप होने वाली सेटिंग का इस्तेमाल करके). यह टेस्ट उन सीमित डिवाइसों पर भी पास होने के लिए डिज़ाइन किया गया है जिन पर MANUAL_SENSOR
या PER_FRAME_CONTROLS
नहीं है.
इस टेस्ट में यह जांच की जाती है कि YUV इमेज एक जैसी हैं या नहीं. वहीं, फ़्रेम रेट की जांच सीटीएस (CTS) में की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
पास: कैप्चर की गई इमेज एक जैसी दिखती हैं.
test_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
test_param_color_ अस्थायी
जांच करता है कि सेट होने पर android.colorCorrection.*
पैरामीटर लागू हुए हैं या नहीं.
अलग-अलग बदलाव के साथ शॉट लेता है. साथ ही, अलग-अलग तरह के बदलाव दिखाता है. ट्रांसफ़ॉर्म और गेन को आउटपुट को
लाल या नीले रंग में दिखाने के लिए चुना जाता है. लीनियर टोनमैप का इस्तेमाल करता है. टोन मैपिंग एक ऐसी तकनीक है जिसका इस्तेमाल इमेज प्रोसेसिंग में किया जाता है. इसकी मदद से, रंगों के एक सेट को दूसरे से मैप किया जाता है. इसकी मदद से, ऐसे मीडियम में हाई डाइनैमिक-रेंज वाली इमेज के दिखने का अनुमान लगाया जाता है जिसकी डाइनैमिक रेंज ज़्यादा सीमित होती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
पास: R और B वैल्यू, ट्रांसफ़ॉर्मेशन के हिसाब से बढ़ती हैं.
test_param_color_ सुधार_plot_means.png
*x-ऐक्सिस, कैप्चर करने के अनुरोध है: 0 = यूनिटी, 1=रेड बूस्ट, 2= ब्लू बूस्ट
test_param_color_ सुधार_req=0.jpg
test_param_color_ correctness_req=1.jpg (R बूस्ट)
test_param_color_ सुधार_req=2.jpg (B बूस्ट)
जांच_param_exposure_time
यह जांच करता है कि android.sensor.exposureTime
पैरामीटर लागू किया गया है या नहीं.
जांचे गए एपीआई:
पास: हर शॉट में पिछले शॉट से ज़्यादा चमक है.
test_param_exposure_time_frame0.jpg
जांच_param_exposure_time_plot.png
परीक्षण_पैरामीटर_फ़्लैश_मोड
यह जांच करता है कि android.flash.mode
पैरामीटर लागू किया गया है या नहीं. एक्सपोज़र को मैन्युअल रूप से सेट करता है, ताकि यह पता चल सके कि फ़्लैश चालू है या नहीं. साथ ही, इसमें लीनियर टोनमैप का इस्तेमाल किया जाता है. यह देखने के लिए टाइल चित्र के साथ केंद्र की जांच करता है कि
फ़्लैश सक्रिय है या नहीं, यह सत्यापित करने के लिए कोई बड़ा ग्रेडिएंट है या नहीं.
जांचे गए एपीआई:
पास: टाइल इमेज के बीच में एक बड़ा ग्रेडिएंट है, जिसका मतलब है कि फ़्लैश फ़ायर हुआ है.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
जांच_परम_शोर_करने_वाला
जांच करता है कि सेट होने पर android.noiseReduction.mode
पैरामीटर सही तरीके से लागू हुआ है या नहीं. इससे कैमरे में कम रोशनी होने पर भी फ़ोटो ली जा सकती हैं. यह पक्का करने के लिए कि कैप्चर की गई इमेज में शोर है, हाई ऐनालॉग गेन का इस्तेमाल किया जाता है. तीन इमेज कैप्चर करता है, जैसे कि एनआर बंद करने के लिए, "तेज़", और "अच्छी क्वालिटी". इसके अलावा, कम गेन और एनआर वाली इमेज को कैप्चर करता है और
बेसलाइन के तौर पर इसके फ़र्क़ का इस्तेमाल करता है. एसएनआर (सिग्नल टू नॉइज़ रेशियो) जितना ज़्यादा होगा, इमेज क्वालिटी उतनी ही बेहतर होगी.
जांचे गए एपीआई:
पास: एसएनआर, शोर कम करने वाले अलग-अलग मोड के हिसाब से अलग-अलग होता है और यह नीचे दिए गए ग्राफ़ की तरह ही काम करता है.
परीक्षण_परम_शोरसा_कम_कलन_plot_SNRs.png
0: बंद, 1: तेज़, 2: HQ, 3: मिनट , 4: ZSL
test_param_noise_reaction_high_gain_nr=0.jpg
test_param_noise_restruction_high_gain_nr=1.jpg
test_param_noise_reaction_high_gain_nr=2.jpg
Test_param_noise_reaction_high_gain_nr=3.jpg
test_param_noise_reaction_low_gain.jpg
जांच_परम_संवेदनशीलता
यह जांच करता है कि android.sensor.sensitivity
पैरामीटर लागू किया गया है या नहीं. इस टेस्ट में, हर शॉट के लिए तय एक्सपोज़र का इस्तेमाल करके, पांच चरणों में संवेदनशीलता को बढ़ाया जाता है.
जांचे गए एपीआई:
पास: संवेदनशीलता के बढ़ने पर आरजीबी के सेंटर 10% की चमक बढ़ जाती है.
test_param_sensitivity_iso=0055.jpg
test_param_sensitivity_iso=1819.jpg
test_param_sensitivity_iso=3583.jpg
test_param_sensitivity_iso=5347.jpg
test_param_sensitivity_iso=7111.jpg
जांच_परम_संवेदनशीलता_प्लोट.png
परीक्षण_param_shading_mode
यह जांच करता है कि android.shading.mode
पैरामीटर लागू किया गया है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
पास: शेडिंग मोड स्विच हो जाते हैं और लेंस शेडिंग मैप में उम्मीद के मुताबिक बदलाव हो जाते हैं.
परीक्षण_param_shading_mode_ls_maps_mode_0_loop_0.png
परीक्षण_param_shading_mode_ls_maps_mode_1_loop_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
जांच करता है कि android.tonemap.mode पैरामीटर लागू किया गया है या नहीं. हर R, G, B चैनल पर अलग-अलग टोनमैप कर्व लागू करता है और जांच करता है कि आउटपुट इमेज में उम्मीद के मुताबिक बदलाव किए गए हैं या नहीं. इस टेस्ट में दो टेस्ट शामिल हैं: test1 और test2.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
पास:
- टेस्ट 1: दोनों इमेज में लीनियर टोनमैप है, लेकिन n=1 में ज़्यादा गहरा ग्रेडिएंट है. n=1 इमेज के लिए, G (हरा) चैनल ज़्यादा चमकदार है.
- test2: एक ही टोनमैप, लेकिन अलग-अलग लंबाई का. इमेज एक जैसी हैं.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
जांच_post_raw_sensitivity_boost
RAW सेंसिटिविटी बूस्ट के बाद जांच की जाती है. यह अलग-अलग संवेदनशीलता वाली RAW और YUV इमेज के सेट को कैप्चर करता है. साथ ही, RAW सेंसिटिविटी बूस्ट के कॉम्बिनेशन को पोस्ट करता है और यह जांच करता है कि आउटपुट पिक्सल का मतलब, अनुरोध की सेटिंग से मेल खाता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: RAW इमेज की रोशनी, बूस्ट के हिसाब से गहरे हो जाती है और YUV इमेज की चमक एक जैसी रहती है
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
परीक्षण_पोस्ट_raw_संवेदनशीलता_बूस्ट_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
जांच_पोस्ट_raw_संवेदनशीलता_boost_yuv_plot_means.png
जांच_रॉ_बर्स्ट_संवेदनशीलता
रॉ इमेज के सेट को कैप्चर करता है और शोर को मापता है. एक बर्स्ट में, सिर्फ़ रॉ कॉन्टेंट कैप्चर करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
पास: पिछले शॉट की तुलना में, हर शॉट में ज़्यादा शोर होता है. ऐसा इसलिए होता है, क्योंकि इससे फ़ायदा बढ़ता जा रहा है.
केंद्र आंकड़े ग्रिड सेल के वैरियंस का इस्तेमाल करता है.
जांच_रॉ_बर्स्ट_संवेदनशीलता_वैरिएंस.png
जांच_raw_exposure
यह रॉ इमेज के एक सेट को कैप्चर करता है और एक्सपोज़र के समय को बढ़ाता है. साथ ही, पिक्सल वैल्यू को मापता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
पास: आईएसओ (बढ़ाने) को बढ़ाने से पिक्सल, रोशनी के प्रति ज़्यादा संवेदनशील हो जाते हैं, इसलिए प्लॉट बाईं ओर चला जाता है.
परीक्षण_raw_exposure_s=55.png
(100 1 मि॰से॰ है, 101 10 मि॰से॰ है, 10+1 0.1 मि॰से॰ है)
परीक्षण_raw_exposure_s=132.png
परीक्षण_raw_exposure_s=209.png
परीक्षण_raw_exposure_s=286.png
परीक्षण_raw_exposure_s=363.png
परीक्षण_raw_exposure_s=440.png
टेस्ट_raw_संवेदनशीलता
इससे संवेदनशील इमेज के सेट रॉ इमेज को कैप्चर किया जाता है. साथ ही, इमेज के बीच वाले 10% हिस्से में मौजूद नॉइज़ (वैरियंस) को मापा जाता है. यह जांच करता है कि हर शॉट में पिछले शॉट की तुलना में ज़्यादा शोर है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
पास: हर शॉट के साथ फ़र्क़ बढ़ता है.
परीक्षण_raw_संवेदनशीलता_variance.png
परीक्षण_रीप्रोसेस_शोर_रीडक्टन
यह जांच करता है कि android.noiseReduction.mode
को फिर से प्रोसेस करने वाले अनुरोधों पर लागू किया गया है.
यह सुविधा, दोबारा प्रोसेस की गई इमेज को कैमरे में कम रोशनी के साथ कैप्चर करती है. यह पक्का करने के लिए कि कैप्चर की गई इमेज में शोर है, हाई ऐनालॉग गेन का इस्तेमाल किया जाता है. एनआर के लिए, फिर से प्रोसेस की गई तीन इमेज को कैप्चर करता है.
जैसे, "तेज़", और "अच्छी क्वालिटी". कम गेन और एनआर वाली, फिर से प्रोसेस की गई इमेज को कैप्चर करता है. साथ ही, इसके अंतर का इस्तेमाल बेसलाइन के तौर पर करता है.
जांचे गए एपीआई:
पास: तेज़ >= बंद, HQ >= तेज़, HQ >> बंद
सामान्य SNR बनाम NR_ मोड प्लॉट
test_tonemap_ सीक्वेंस
अलग-अलग टोनमैप कर्व के साथ शॉट के क्रम की जांच करता है. लीनियर टोनमैप के साथ तीन मैन्युअल शॉट कैप्चर करता है. डिफ़ॉल्ट टोनमैप से तीन मैन्युअल शॉट कैप्चर करता है. लगातार आने वाले हर फ़्रेम पेयर के बीच के डेल्टा की गिनती करता है.
जांचे गए एपीआई:
पास: इसमें तीन एक जैसे फ़्रेम होते हैं. इसके बाद, एक जैसे तीन फ़्रेम का दूसरा सेट होता है.
test_tonemap_seq_i=0.jpg
test_tonemap_seq_i=1.jpg
test_tonemap_Sequence_i=2.jpg
test_tonemap_seq_i=3.jpg
test_tonemap_seq_i=4.jpg
test_tonemap_seq_i=5.jpg
test_yav_jpeg_सभी
इस बात की जांच करता है कि इमेज कैप्चर करने के लिए, सभी साइज़ और फ़ॉर्मैट रिपोर्ट किए गए हैं. लीनियर टोनमैप के साथ, मैन्युअल अनुरोध का इस्तेमाल करता है, ताकि image_processing_utils
मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें. इमेज डिफ़ॉल्ट रूप से सेव नहीं होती हैं, लेकिन debug_mode
को चालू करके सेव किया जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
पास: सभी इमेज सेंटर में ज़्यादा से ज़्यादा आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) आरजीबी इमेज में फ़र्क़ होता है, जिसमें 3% सबसे ज़्यादा रिज़ॉल्यूशन वाली YUV इमेज होती है.
जांच_yav_jpeg_all.png
जांच_yuv_plus_dng
यह जांच करता है कि इमेज कैप्चर करने के लिए, रिपोर्ट किए गए साइज़ और फ़ॉर्मैट काम करते हैं या नहीं.
जांचे गए एपीआई:
पास: जांच पूरी होती है और अनुरोध की गई इमेज दिखाती है.
test_yiv_plus_dng.jpg
जांच_yuv_plus_jpeg
YUV और JPEG, दोनों आउटपुट के तौर पर एक फ़्रेम कैप्चर करने वाले टेस्ट. लीनियर टोनमैप के साथ, मैन्युअल अनुरोध का इस्तेमाल करता है, ताकि image_processing_utils
मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
पास: YUV और JPEG इमेज एक जैसी हैं और उनके आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) में 1% से कम अंतर है.
test_yuv_plus_jpg_jpg.jpg | test_ytv_plus_jpeg_yuv.jpg |
टेस्ट_युव_प्लस_रॉ
एक फ़्रेम को कैप्चर करने की जांच, अगर RAW/RAW10/RAW12 और YUV आउटपुट
दोनों फ़ॉर्मैट में काम करती हो. लीनियर टोनमैप के साथ मैन्युअल
अनुरोध का इस्तेमाल करता है, इसलिए रॉ और YUV एक जैसा होना चाहिए. आरजीबी में बदली गई इमेज की सेंटर 10% आरजीबी वैल्यू की तुलना करता है. लॉगandroid.shading.mode
.
जांचे गए एपीआई:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
पास: YUV और रॉ इमेज एक जैसी होती हैं और उनके आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) में 3.5% से कम अंतर होता है.
test_yev_plus_raw_shading=1_raw.jpg | test_yiv_plus_raw_shading=1_yuv.jpg |
सीन2_ए
सीन2_a में तीन चेहरे हैं, जिनमें स्लेटी रंग का बैकग्राउंड और सामान्य कपड़े पहने हुए हैं. चेहरों के लिए अलग-अलग रंगों को चुना जाता है. चेहरे की पहचान करने वाली सुविधा के बेहतर तरीके से काम करने के लिए, चार्ट में स्क्रीन की दिशा सही होनी चाहिए.
सीन2_ए
अपने-आप होने वाली जांच (टेस्ट_ऑटो_फ़्लैश)
ऐसे टेस्ट जो अंधेरे सीन में ऑटो-फ़्लैश ट्रिगर होते हैं. यह पुष्टि करके कि ऑटो-फ़्लैश ट्रिगर होता है कि टाइल इमेज के बीच में एक बड़ा ग्रेडिएंट है या नहीं. ऑटो-फ़्लैश ट्रिगर करने के लिए, टेस्ट रिग में टैबलेट और लाइटों को बंद करना होगा. टेस्ट रिग से टैबलेट को बंद किया जाता है और Arduino कंट्रोलर से लाइटों को अपने-आप बंद किया जा सकता है. सही तरीके से काम करने के लिए सीन का रंग गहरा होना चाहिए. इसलिए, पीछे वाले टैबलेट को सीन वाले टैबलेट से पूरी तरह ढकना चाहिए. साथ ही, फ़ोन के सामने के हिस्से को एपर्चर और DUT फ़ोन से ढका होना चाहिए, ताकि आवारा लाइट को रिग के अंदर जाने से रोका जा सके.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
पास: टाइल इमेज के बीच में एक बड़ा ग्रेडिएंट है, जिसका मतलब है कि ऑटो-फ़्लैश ट्रिगर हुआ है.
टेस्ट_ऑटोफ़्रेमिंग
कैमरे के डिवाइस के ऑटोफ़्रेमिंग के व्यवहार की जांच करता है. बहुत बड़ा ज़ूम करता है, ताकि
सीन का कोई भी चेहरा न दिखे. यह CaptureRequest
में AUTOFRAMING
को True
पर सेट करके, ऑटोफ़्रेमिंग मोड को चालू करता है.
साथ ही, पुष्टि करता है कि ओरिजनल सीन के सभी चेहरों का पता तब लगाया जा सकता है या नहीं जब CaptureResult
में AUTOFRAMING_STATE
को
AUTOFRAMING_STATE_CONVERGED
पर सेट किया गया हो.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
पास: तीनों चेहरों की पहचान की जाती है.
परीक्षण_display_p3
टेस्ट
ColorSpaceProfiles
एपीआई का इस्तेमाल करके, JPEG में Display P3 कैप्चर करने की सुविधा. यह जांच करता है कि कैप्चर किए गए JPEG फ़ॉर्मैट के हेडर में सही ICC प्रोफ़ाइल है. साथ ही, यह भी जांच की जाती है कि इमेज में sRGB के दायरे से बाहर के रंग मौजूद हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
पास: JPEG में एक Display P3 ICC प्रोफ़ाइल और sRGB गैम से बाहर के रंग होते हैं.
टेस्ट_इफ़ेक्ट
यह ऐप्लिकेशन, वीडियो में इस्तेमाल किए जा सकने वाले कैमरा इफ़ेक्ट के लिए फ़्रेम कैप्चर करता है. साथ ही, यह देखता है कि वे सही तरीके से जनरेट हुए हैं या नहीं. यह टेस्ट सिर्फ़ OFF
और MONO
इफ़ेक्ट की जांच करता है. हालांकि, यह उन सभी इफ़ेक्ट के लिए इमेज सेव करता है जिनका इस्तेमाल किया जा सकता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
पास: इफ़ेक्ट OFF
के साथ सीन इमेज और मोनोक्रोम इमेज को कैप्चर करता है, जिसमें इफ़ेक्ट को MONO
पर सेट किया जाता है.
test_इफ़ेक्ट_MONO.jpg
test_format_combos
आउटपुट फ़ॉर्मैट के अलग-अलग कॉम्बिनेशन की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
पास: सभी कॉम्बिनेशन कैप्चर हो गए हैं.
जांच_jpeg_क्वालिटी
कैमरे के JPEG कंप्रेशन क्वालिटी की जांच करता है. JPEG क्वालिटी को android.jpeg.quality
से आगे बढ़ाएं और यह पक्का करें कि क्वांटाइज़ेशन टेबल सही तरीके से बदलें.
जांचे गए एपीआई:
पास: क्वालिटी बेहतर होने पर, क्वांटाइज़ेशन मैट्रिक्स कम हो जाता है. (मैट्रिक्स, डिवीज़न फ़ैक्टर दिखाता है.)
Pixel 4 के पीछे वाले कैमरे के लूमा/क्रोमा DQT मैट्रिक्स औसत बनाम JPEG क्वालिटी
जांच में पास न होने का उदाहरण
ध्यान दें कि बहुत खराब क्वालिटी वाली इमेज (jpeg.क्वालिटी < 50) के लिए, क्वांटाइज़ेशन मैट्रिक्स में कंप्रेस करने की कोई बढ़ोतरी नहीं होती.
परीक्षण_num_faces
चेहरे की पहचान की जांच करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: तीन चेहरे ढूंढता है.
test_num_faces_fd_mode_1.jpg
test_preview_min_frame_rate
यह जांच करता है कि गहरे रंग वाले सीन में, झलक का फ़्रेम रेट सही तरीके से कम हुआ है या नहीं. यह टेस्ट सही तरीके से काम करे, इसके लिए टेस्ट रिग की लाइटों को नियंत्रक से या टेस्ट ऑपरेटर को मैन्युअल तरीके से बंद करना होगा.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
पास: झलक में दिखने वाला फ़्रेम रेट, अनुरोध किए गए फ़्रेम रेट की कम से कम सीमा के बराबर है. साथ ही, फ़्रेम के बीच का फ़र्क़, टेस्ट में सेट किए गए कुल टॉलरेंस की वैल्यू से कम है.
test_reprocess_uv_swap
YUV रीप्रोसेसिंग की जांच से U और V हवाई जहाज़ों की अदला-बदली नहीं होती. इसका पता लगाने के लिए, प्रोसेस की गई इमेज और प्रोसेस नहीं किए गए कैप्चर के बीच के कुल अंतर (एसएडी) का हिसाब लगाया जाता है. अगर फिर से प्रोसेस किए गए कैप्चर के आउटपुट U और V प्लेन को बदलने पर SAD बढ़ जाता है, तो आउटपुट के लिए सही U और V प्लेन मान लिए जाते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
पास: U और V प्लेन की अदला-बदली नहीं की जाती.
जांच_reप्रोसेस_uf_swap.png
सीन2_बी
परीक्षण_num_faces
अलग-अलग तरह के चेहरे की पहचान करके, चेहरे की पहचान की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरे मिलते हैं.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
इससे दो इमेज कैप्चर करने के लिए, सबसे बड़े सामान्य YUV और JPEG फ़ॉर्मैट का इस्तेमाल किया जाता है. इनका आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और सबसे बड़ा JPEG फ़ॉर्मैट, जिनका रिज़ॉल्यूशन 1920x1440 से ज़्यादा नहीं हो.
इससे jpeg.quality
को 100 पर सेट किया जाता है और ड्यूअल सरफ़ेस अनुरोध को कैप्चर किया जाता है. दोनों इमेज को RGB अरे में कन्वर्ट करता है और दो इमेज के बीच 3D रूट मीन स्क्वेयर (RMS) के अंतर का हिसाब लगाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
पास: YUV और JPEG इमेज एक जैसी हैं और उनके आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) में 1% से कम अंतर है.
सीन2_सी
परीक्षण_num_faces
अलग-अलग तरह के चेहरे की पहचान करके, चेहरे की पहचान की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरे मिलते हैं.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
CDD के सेक्शन 2.2.7.2 कैमरा में बताई गई एस परफ़ॉर्मेंस क्लास के लिए, JPEG कैप्चर इंतज़ार के समय की जांच करता है.
पास: कैमरा2 JPEG कैप्चर लेटेंसी < 1080 पिक्सल रिज़ॉल्यूशन के लिए 1,000 मि॰से॰ से ज़्यादा होना ज़रूरी है. यह क्वालिटी, दोनों मुख्य कैमरों के लिए सीटीएस कैमरा परफ़ॉर्मेंसटेस्ट के हिसाब से मापी जाती है.
test_camera_launch_perf_class
CDD में बताए गए सेक्शन 2.2.7.2 कैमरा के मुताबिक, एस परफ़ॉर्मेंस क्लास के लिए कैमरा लॉन्च होने में लगने वाले समय की जांच करता है.
पास: Camera2 के चालू होने में लगने वाला समय (पहले झलक दिखाने वाले फ़्रेम के लिए, कैमरा खुला होना चाहिए) होना ज़रूरी है. यह दोनों मुख्य कैमरों के लिए, सीटीएस कैमरा परफ़ॉर्मेंसटेस्ट के हिसाब से 600 मि॰से॰ से कम होनी चाहिए.
सीन2_दिन
परीक्षण_num_faces
अलग-अलग तरह के चेहरे की पहचान करके, चेहरे की पहचान की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरे मिलते हैं.
सीन2_e
जांच_कंटिन्युअस_पिक्चर
कैप्चर करने के अनुरोध की पहली सेटिंग में 50 वीजीए रिज़ॉल्यूशन फ़्रेम कैप्चर किए गए
android.control.afMode = 4 (CONTINUOUS_PICTURE).
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
पास: 3A सिस्टम, 50 फ़्रेम वाला कैप्चर खत्म होने तक सेटल हो जाता है.
परीक्षण_num_faces
अलग-अलग तरह के चेहरे की पहचान करके, चेहरे की पहचान की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरे मिलते हैं.
सीन2_f
सीन2_f में तीन चेहरे हैं, जिनमें सफ़ेद बैकग्राउंड और सफ़ेद कपड़े हैं. चेहरों के लिए अलग-अलग तरह की त्वचा का रंग और बैकग्राउंड हाई कंट्रास्ट होता है.
सीन2_f
परीक्षण_num_faces
अलग-अलग तरह के चेहरे की पहचान करके, चेहरे की पहचान की जांच की जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: इसमें तीन चेहरे मिलते हैं.
test_num_faces_fd_mode_1.jpg
सीन3
सीन3, ISO12233 चार्ट का इस्तेमाल करता है. ज़्यादातर टेस्ट, सीन में चार्ट ढूंढने के लिए, चार्ट इकट्ठा करने वाले तरीके का इस्तेमाल करते हैं. इस वजह से, सेव की गई ज़्यादातर इमेज के बॉर्डर 1, 2 या 4 की इमेज की तरह नहीं होते, बल्कि सिर्फ़ चार्ट होते हैं. चार्ट खोजने की सुविधा के बेहतर तरीके से काम करने के लिए, चार्ट का ओरिएंटेशन सही होना चाहिए.
जांच_3a_निरंतरता
3A स्थिरता की जांच करना.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
पास: 3A को एक्सपोज़र, गेन, awb (ऑटो व्हाइट बैलेंस), और fd (फ़ोकस डिस्टेंस) के हिसाब से तीन बार देखा जा सकता है.
Test_ Edge_enhancement
जांच करता है कि android.edge.mode
पैरामीटर सही तरीके से लागू किया गया है या नहीं. यह हर किनारे वाले मोड के लिए, प्रोसेस न करने वाली इमेज को कैप्चर करता है. साथ ही, आउटपुट इमेज और कैप्चर किए गए नतीजे के मेटाडेटा की शार्पनेस दिखाता है. दिए गए एज मोड, संवेदनशीलता, एक्सपोज़र टाइम, फ़ोकस की दूरी, और आउटपुट सर्फ़ेस पैरामीटर के साथ कैप्चर करने के अनुरोध को प्रोसेस करता है.
पास: OFF
मोड (0) की तुलना में HQ
मोड (2) बेहतर. FAST
मोड (1) OFF
मोड से
बेहतर है. HQ
मोड ज़्यादा तेज़ या FAST
मोड के बराबर है.
जांचे गए एपीआई:
कैमरे के ऐसे पैरामीटर जिन पर असर पड़ा है:
EDGE_MODE
test_लेज_enhancement_ Edge=0.jpg
test_ Edge_enhancement_ Edge=1.jpg (तेज़ मोड)
test_dge_enhancement_ Edge=2.jpg (अच्छी क्वालिटी वाला मोड)
जांच_फ़्लिप_मिरर
जांच करता है कि इमेज CDD सेक्शन 7.5.2 फ़्रंट-फ़ेसिंग कैमरा [C-1-5] के मुताबिक सही से डाली गई है या नहीं.
केंद्र के पास मौजूद डायमंड वाली सुविधा से, मिरर की गई, फ़्लिप की गई या घुमाई गई इमेज की पहचान की जा सकती है.
पास: इमेज को पलटा नहीं गया है, उसका डुप्लीकेट वर्शन भी नहीं बनाया गया है, और न ही उसे घुमाया गया है.
test_Flip_mirror_scene_patch.jpg
टेस्ट_लैंडस्केप_तो_पोर्ट्रैट
जांच करता है कि लैंडस्केप से पोर्ट्रेट तक की सुविधा, लैंडस्केप-ओरिएंटेड सेंसर के लिए सही तरीके से काम करती है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
पास: टेस्ट, अनुमानित रोटेशन वाले चार्ट का पता लगा सकता है (लैंडस्केप में बदलने के लिए लैंडस्केप मोड बंद होने पर 0 डिग्री, चालू होने पर 90 डिग्री).
टेस्ट_लैंडस्केप_to_portrait.png
जांच_Lens_movement_Reporting
जांच करता है कि लेंस मूवमेंट फ़्लैग को ठीक से रिपोर्ट किया गया है या नहीं. सबसे सही फ़ोकस दूरी पर पहले 12 फ़्रेम (जैसा कि 3A से पता चलता है) और कम से कम फ़ोकस दूरी पर आखिरी 12 फ़्रेम के साथ, 24 इमेज के बर्स्ट कैप्चर करता है. फ़्रेम 12 के आस-पास, लेंस मूव करता है जिससे शार्पनेस कम हो जाती है. लेंस के आखिरी पोज़िशन पर जाने पर, शार्पनेस धीरे-धीरे स्थिर हो जाती है. लेंस मूवमेंट फ़्लैग को सभी फ़्रेम में लागू किया जाना चाहिए. पहले कुछ फ़्रेम में पैनानेस से लेकर बारीकियों तक का पता चलता है. साथ ही, लेंस के लिए एक सामान्य दूरी पर फ़ोकस होना चाहिए. यह अहम नहीं है कि लेंस के मूवमेंट का सटीक फ़्रेम कैसा हो: जांच करने पर यह पता चलता है कि लेंस के मूव होने पर मूवमेंट फ़्लैग को प्राथमिकता दी जाती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
पास: फ़्रेम में लेंस मूवमेंट फ़्लैग True
है, लेकिन शार्पनेस में बदलाव होता है.
समस्या ठीक न होने के तरीके:
lens_moving: True
test_log.DEBUG
में (android.hardware.camera2.CaptureResult#LENS_STATE
= 1) का इस्तेमाल सिर्फ़ उन फ़्रेम में किया जाता है जिनमें गहरापन नहीं बदलता.test_log.DEBUG
मेंlens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0) वाले फ़्रेम में, सबसे ज़्यादा फ़ोकल दूरी वाले पहले कुछ फ़्रेम या कम से कम फ़ोकस दूरी पर, आखिरी कुछ फ़्रेम की तुलना में, गहरे हिस्सों का अंतर होता है.
test_reprocess_ Edge_enhancement
इससे यह जांच की जाती है कि किनारे को बेहतर बनाने की प्रोसेस के लिए इस्तेमाल किए जा सकने वाले तरीके ठीक से काम कर रहे हैं या नहीं. दिए गए रीप्रोसेस एज मोड के साथ कैप्चर अनुरोध को प्रोसेस करता है और रीप्रोसेस एज मोड को बंद करके कैप्चर करने के लिए अलग-अलग मोड की तुलना करता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
पास: अलग-अलग किनारे वाले मोड के लिए, शार्पनेस सही है. HQ
(मोड 2), OFF
(मोड 0) से बेहतर है. साथ ही, अलग-अलग मोड के बीच सुधार एक जैसा है.
Test_reprocess_ Edge_enhancement_plot.png
सीन4
सीन 4 में, स्क्वेयर के अंदर सफ़ेद बैकग्राउंड पर काला सर्कल है.
सीन4
परीक्षण_aspect_ratio_and_ शोप
यह जांच करता है कि इमेज पाइपलाइन में इमेज खराब हो गई हैं या अचानक से कट गई हैं या नहीं. सभी फ़ॉर्मैट में सर्कल की तस्वीरें लेता है. यह पुष्टि करता है कि वृत्त बिगड़ा हुआ नहीं है, वृत्त इमेज के बीच से नहीं चलता है और वृत्त अलग-अलग आसपेक्ट रेशियो या रिज़ॉल्यूशन में गलत तरीके से आकार नहीं बदलता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
पास: इमेज को फैलाकर नहीं रखा जाता. इमेज के बीच में 3% से ज़्यादा का अंतर नहीं होता. साथ ही, ज़्यादा से ज़्यादा एफ़ओवी (फ़ील्ड ऑफ़ व्यू) को सुरक्षित रखा जाता है.
समस्या ठीक न होने के तरीके:
- कैमरा, कैप्चर किए गए सीन के बीच में टैबलेट पर दिख रहे सर्कल के साथ अलाइन नहीं है.
- प्रोसेस की गई पाइपलाइन से, कैप्चर की गई इमेज का सर्कल डिस्टॉर्शन है.
- कम रिज़ॉल्यूशन वाली इमेज को इमेज पाइपलाइन में दो बार क्रॉप किया जाता है. इससे ज़्यादा और लो रिज़ॉल्यूशन वाली इमेज के बीच अलग-अलग एफ़ओवी बनाया जाता है.
- कैप्चर की गई इमेज के सर्कल को बहुत ज़्यादा आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) कैप्चर करने के अनुरोध की वजह से काट दिया गया है, ताकि इमेज की ऊंचाई या चौड़ाई कम हो जाए.
- कैप्चर की गई इमेज में मौजूद सर्कल के बीच में एक परछाई दिखती है और वह पूरी तरह भरी नहीं दिखती.
जांच_multi_camera_alignment
यह सुविधा कई कैमरों वाले सिस्टम के लिए, कैमरे की पोज़िशनिंग से जुड़े कैमरा कैलिब्रेशन पैरामीटर की जांच करती है. कई कैमरों वाले फ़िज़िकल सब-कैमरे का इस्तेमाल करके, किसी एक कैमरे से फ़ोटो ली जा सकती है. सर्कल के केंद्र का पता लगाता है. सर्कल सेंटर को दुनिया के सामने प्रोजेक्ट करता है और हर कैमरे के निर्देशांकों को दिखाता है. दुनिया के निर्देशांकों में मौजूद कैमरों के सर्कल सेंटर के बीच के अंतर की तुलना करता है. दुनिया को फिर से प्रोजेक्ट करके, पिक्सल कोऑर्डिनेट पर सेट किया जाता है और ओरिजनल से तुलना की जाती है और यह देखा जाता है कि इस बात की जांच कितनी मान्य है कि वह मान्य है या नहीं. कैमरे की फ़ोकल लम्बाई अलग-अलग है या नहीं, यह पता लगाने के लिए सर्कल के साइज़ की तुलना करता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
पास: कैमरा कैलिब्रेशन डेटा और फ़ोकल लंबाई का इस्तेमाल करके कैप्चर की गई इमेज के मुकाबले, सर्कल सेंटर और साइज़, अनुमानित इमेज में उम्मीद के मुताबिक होते हैं.
समस्या ठीक न होने के तरीके:
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
याLENS_POSE_ROTATION
डिज़ाइन की वैल्यू हैं, न कि कैलिब्रेशन डेटा.- जांच सेटअप के लिए कैमरा सिस्टम सही नहीं है. उदाहरण के लिए, आरएफ़ओवी टेस्ट रिग से चौड़े और अल्ट्रा-वाइड कैमरा सिस्टम की जांच करना. ज़्यादा जानकारी के लिए, कैमरे के साथ काम करने की सुविधा के बारे में अक्सर पूछे जाने वाले सवाल1 देखें.
test_preview_aspect_ratio_and_ शोप
स्टिल कैप्चर के लिए test_aspect_ratio_and_ शोप टेस्ट की तरह ही, यह टेस्ट काम करने वाले झलक फ़ॉर्मैट की जांच करता है ताकि यह पक्का किया जा सके कि झलक दिखाने वाले फ़्रेम सही तरीके से खींचे या काटे न जाएं. यह पुष्टि करता है कि सर्कल का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) नहीं बदलता है, काटी गई इमेज सर्कल को फ़्रेम के बीच में रखती हैं. साथ ही, एक ही फ़ॉर्मैट या अलग-अलग रिज़ॉल्यूशन (फ़ील्ड ऑफ़ व्यू चेक) के लिए सर्कल का साइज़ नहीं बदलता.
जांचे गए एपीआई:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
पास: इमेज को फैलाकर नहीं रखा जाता. इमेज के बीच में 3% से ज़्यादा का अंतर नहीं होता. साथ ही, ज़्यादा से ज़्यादा एफ़ओवी (फ़ील्ड ऑफ़ व्यू) को सुरक्षित रखा जाता है.
जांच_preview_stabilization_fov
यह पक्का करने के लिए कि एफ़ओवी को सही तरीके से काटा गया है, झलक के सही साइज़ की जांच करता है.
इस टेस्ट में दो वीडियो कैप्चर किए गए हैं. पहला, प्रीव्यू स्टेबलाइज़ेशन ON
वाला और दूसरा OFF
वीडियो स्टेबलाइज़ेशन के साथ. हर वीडियो से एक प्रतिनिधि फ़्रेम चुना जाता है और उसका विश्लेषण किया जाता है, ताकि यह पक्का किया जा सके कि दोनों वीडियो में एफ़ओवी के बदलाव निर्देशों के मुताबिक हों.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
पास: सर्कल का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) स्थिर रहता है, सर्कल के बीच की जगह स्थिर रहती है, और सर्कल का साइज़ 20% से ज़्यादा नहीं बदलता.
test_video_aspect_ratio_and_ शोप
स्क्वेयर के अंदर, सभी वीडियो फ़ॉर्मैट के ऊपर सर्कल के वीडियो लेता है. मुख्य फ़्रेम निकालता है और यह पुष्टि करता है कि सर्कल का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) नहीं बदलता है, काटी गई इमेज सर्कल को बीच में रखती हैं, और सर्कल का साइज़ लगातार फ़ॉर्मैट या अलग रिज़ॉल्यूशन (फ़ील्ड ऑफ़ व्यू चेक) के लिए नहीं बदलता.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
पास: वीडियो फ़्रेम को बढ़ाया नहीं जाता, फ़्रेम के बीच में 3% से ज़्यादा का अंतर नहीं होता. साथ ही, ज़्यादा से ज़्यादा एफ़ओवी (फ़ील्ड ऑफ़ व्यू) को सेव रखा जाता है.
सीन5
सीन5 को एक समान रोशनी वाले ग्रे सीन की ज़रूरत है. ऐसा करने के लिए कैमरे के लेंस के ऊपर एक डिफ़्यूज़र दिया जाता है. हमारा सुझाव है कि आप यह डिफ़्यूज़र इस्तेमाल करें:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
सीन तैयार करने के लिए, कैमरे के सामने एक डिफ़्यूज़र लगाएं और कैमरे को करीब 2,000 lux के लाइटिंग सोर्स पर फ़ोकस करें. सीन5 के लिए कैप्चर की गई इमेज में अलग-अलग लाइटिंग का होना ज़रूरी है. इस इमेज में किसी भी तरह की सुविधा साफ़ तौर पर नहीं दिख रही है. यहां एक सैंपल इमेज दी गई है:
सीन 5 कैप्चर करें
परीक्षण_Lens_shading_and_color_uniformity
जांच करता है कि लेंस शेडिंग में सुधार को सही तरीके से लागू किया गया है या नहीं. साथ ही, एक ही क्रोम सीन के रंग को बराबर तरीके से बांटा गया है. यह टेस्ट ऑटो 3A वाले YUV फ़्रेम पर करता है. लेंस शेडिंग का आकलन y चैनल के आधार पर किया जाता है. यह बताए गए हर सैंपल ब्लॉक के औसत y मान को मापता है. साथ ही, सेंटर y की वैल्यू से तुलना करके पास या फ़ेल होने का पता लगाता है. रंग की एकरूपता की जांच का आकलन, r/g और b/g स्पेस में किया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
पास: इमेज के तय दायरे में, टेस्ट में पास होने के लिए r/g और b/g वैल्यू का वैरियंस 20% से कम होना चाहिए.
सीन6
सीन6, छोटे सर्कल का एक ग्रिड होता है. इसके एक कोने में स्क्वेयर होता है, जो ओरिएंटेशन दिखाता है. बड़ी रेंज पर ज़ूम फ़ंक्शन की जांच करने के लिए, छोटे सर्कल की ज़रूरत होती है.
सीन6
test_in_sensor_zoom
यह सुविधा, कैमरे की इन-सेंसर ज़ूम सुविधा के काम करने के तरीके की जांच करती है. इससे, क्रॉप की गई RAW इमेज जनरेट होती हैं.
स्ट्रीम के इस्तेमाल का उदाहरण CROPPED_RAW
पर सेट करने पर, टेस्ट में ज़ूम रेंज पर दो कैप्चर की जाती हैं. जैसे, फ़ुल फ़ील्ड ऑफ़ व्यू (एफ़ओवी) RAW इमेज और क्रॉप की गई RAW इमेज. यह टेस्ट, इमेज को आरजीबी अरे में बदल देता है और फ़ुल साइज़ में काटी गई RAW इमेज को SCALER_RAW_CROP_REGION
के बताए गए साइज़ में बदल देता है. साथ ही, 3D रूट मीन स्क्वेयर (आरएमएस) के बीच के अंतर का हिसाब लगाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
पास: डाउनस्केल की गई काटी गई RAW इमेज और पूरी एफ़ओवी RAW इमेज के बीच 3D रूट मीन स्क्वेयर (आरएमएस) का अंतर 1% से कम है.
जांच_ज़ूम
कैमरे के ज़ूम करने के तरीके की जांच करता है. इससे, ज़ूम रेंज से जुड़ी फ़ोटो ली जाती हैं. साथ ही, यह जांच की जाती है कि कैमरे के ज़ूम इन होने पर वृत्त बड़े होते हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: कैप्चर किए गए सर्कल का साइज़, अनुरोध किए गए ज़ूम रेशियो की तुलना में सटीक है. इससे यह पक्का किया जा सकता है कि कैमरा सही तरीके से ज़ूम कर रहा है.
केंद्र के सबसे पास के वृत्त की बनावट खोजने के लिए test_zoom.
test_low_latency_zoom
इसकी मदद से, यह जांच की जाती है कि ज़ूम करने के इंतज़ार का समय कम हुआ है या नहीं. android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
की मदद से, ज़ूम रेंज को कैप्चर करता है. साथ ही, यह जांच करता है कि आउटपुट इमेज में मौजूद सर्कल, कैप्चर किए गए मेटाडेटा के ज़ूम रेशियो से मेल खाते हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
पास: कैप्चर किए गए सर्कल का साइज़, ज़ूम रेशियो नतीजे के मेटाडेटा के मुकाबले सटीक है.
test_preview_video_zoom_match
टेस्ट करता है कि रिकॉर्ड और ज़ूम करते समय, वीडियो की झलक और वीडियो आउटपुट, दोनों एक ही आउटपुट को दिखाते और रिकॉर्ड करते हैं. अलग-अलग ज़ूम अनुपात पर केंद्र के निकटतम वृत्त के आकार की गणना करता है और जांचता है कि वृत्त का आकार ज़ूम अनुपात बढ़ने पर बढ़ता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
पास: वीडियो और झलक में अनुरोध किए गए ज़ूम अनुपात के हिसाब से, कैप्चर किए गए सर्कल का साइज़, सटीक है.
VGA_640x480_key_frame.png (ज़ूम करने से पहले)
Preview_640x480_key_frame.png (ज़ूम करने से पहले)
VGA_640x480_key_frame.png (ज़ूम करने के बाद)
Preview_640x480_key_frame.png (ज़ूम करने के बाद)
सीन_एक्सटेंशन
scene_extensions
की जांच, कैमरा एक्सटेंशन के लिए हैं और इसके लिए Camera ITS in a-Box का इस्तेमाल करना ज़रूरी है. ऐसा इसलिए, क्योंकि इसके लिए टेस्ट एनवायरमेंट का सटीक कंट्रोल होना ज़रूरी है.
सीन_एचडीआर
scene_hdr
सीन में बाईं ओर एक पोर्ट्रेट और दाईं ओर एक कम कंट्रास्ट क्यूआर कोड है.
सीन_एचडीआर
test_hdr_extension
एचडीआर एक्सटेंशन की जांच करता है. एक्सटेंशन चालू होने पर और उसके बिना भी कैप्चर करता है. साथ ही, जांच करता है कि इस एक्सटेंशन से क्यूआर कोड बेहतर तरीके से पहचाना जा सकता है या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
पास: एचडीआर एक्सटेंशन, क्यूआर कोड का पता लगाने के लिए ज़रूरी कंट्रास्ट बदलावों की संख्या को कम कर देता है या क्यूआर कोड में ग्रेडिएंट को कम करता है.
सीन_नाइट
scene_night
सीन में सफ़ेद रंग का एक वृत्त है, जिसके अंदर चार छोटे गोले हैं. सभी वृत्त काले रंग के बैकग्राउंड के सामने हैं. स्क्रीन की ओरिएंटेशन दिखाने के लिए, सबसे ऊपर दाएं कोने में मौजूद छोटे सर्कल, बाकी सर्कल की तुलना में गहरे रंग का होता है.
सीन_नाइट
test_night_extension
नाइट एक्सटेंशन की जांच करता है. एक्सटेंशन चालू होने पर और उसके बिना, कैप्चर की गई इमेज लेता है. साथ ही, इन चीज़ों की जांच करता है:
- नाइट एक्सटेंशन की सुविधा चालू होने पर, फ़ोटो और वीडियो रिकॉर्ड करने में ज़्यादा समय लगता है.
- नाइट एक्सटेंशन के चालू होने पर, कैप्चर की गई फ़ोटो ज़्यादा चमकदार होती है या उसमें बेहतर तरीके से सीन दिखाने वाले आर्टफ़ैक्ट होते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
पास: नाइट एक्सटेंशन को चालू किए बिना कैप्चर करने की तुलना में, नाइट एक्सटेंशन चालू होने पर कैप्चर करने में कम से कम 0.5 सेकंड ज़्यादा लगते हैं. कैप्चर की गई इमेज की चमक कम से कम 10% होनी चाहिए या सीन में मौजूद स्लेटी बिंदुओं की वैल्यू, आस-पास के सर्कल के बीच में 20 पिक्सल से कम होनी चाहिए.
सेंसर_फ़्यूजन
सेंसर फ़्यूज़न टेस्ट के लिए, चेकरबोर्ड पैटर्न के सामने फ़ोन को खास तरह से मूव करना ज़रूरी होता है. बेहतर नतीजे पाने के लिए, पक्का करें कि टेस्ट चार्ट को फ़्लैट किया गया हो. जो चार्ट पूरे नहीं हैं वे कई टेस्ट के लिए, रोटेशन कैलकुलेशन पर असर डालते हैं.
सेंसर फ़्यूज़न बॉक्स की मदद से, sensor_fusion
की जांच अपने-आप हो सकती हैं.
चेकरबोर्ड की इमेज
test_multi_camera_frame_sync
लॉजिकल कैमरे से कैप्चर किए गए फ़्रेम के टाइमस्टैंप की जांच करने वाले टेस्ट, 10 मि॰से॰ के अंदर होते हैं. टाइमस्टैंप का पता लगाने के लिए, चेकरबोर्ड में स्क्वेयर के ऐंगल का हिसाब लगाया जाता है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
पास: फ़ोन को घुमाने पर, हर कैमरे से इमेज के बीच का ऐंगल ठीक से नहीं बदलता.
जांच_झलक_स्टेबलाइज़ेशन
ऐसे टेस्ट जिनमें झलक दिखाने वाले वीडियो को स्टेबलाइज़ करने की सुविधा, जाइरोस्कोप की तुलना में कम घूमती है.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
पास: फ़्रेम के ऊपर ज़्यादा से ज़्यादा ऐंगल का रोटेशन, जाइरोस्कोप रोटेशन के 70% से कम होता है.
नीचे स्टेबलाइज़ेशन के साथ और बिना स्टेबलाइज़ेशन वाले वीडियो के सैंपल दिए गए हैं.
स्टेबलाइज़ेशन के साथ सैंपल वीडियो
बिना स्टेबलाइज़ेशन के सैंपल वीडियो
जांच_सेंसर_फ़्यूज़न
एआर और वीआर ऐप्लिकेशन के लिए, कैमरे और जाइरोस्कोप के बीच टाइमस्टैंप के अंतर की जांच करता है. फ़ोन को चेकरबोर्ड पैटर्न के सामने 90 डिग्री 10 बार घुमाया गया है. मोशन फ़ोटो में करीब दो सेकंड की दोतरफ़ा यात्रा है. जाइरोस्कोप को शामिल न करने या टाइमस्टैंप सोर्स REALTIME
पैरामीटर चालू न होने पर, यह टेस्ट स्किप कर दिया जाता है.
test_sensor_fusion
टेस्ट कई प्लॉट जनरेट करता है. डीबग करने के लिए दो सबसे अहम प्लॉट ये हैं:
test_sensor_fusion_gyro_events
: यह जांच के दौरान, फ़ोन के जाइरोस्कोप इवेंट दिखाता है. x और y दिशा में हलचल का मतलब है कि फ़ोन को माउंटिंग प्लेट पर सुरक्षित तरीके से माउंट नहीं किया गया है. इससे टेस्ट पास होने की संभावना कम हो जाती है. प्लॉट में साइकल की संख्या, फ़्रेम सेव करने की लिखने की स्पीड पर निर्भर करती है.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: जाइरोस्कोप और कैमरे में रिकॉर्ड हुई गतिविधियों का अलाइनमेंट दिखाता है. इस प्लॉट में कैमरे और जाइरोस्कोप के बीच +/-1 मि॰से॰ की गतिविधि दिखनी चाहिए.test_sensor_fusion_plot_rotations
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
पास: सीडीडी सेक्शन 7.3.9 हाई फ़िडेलिटी सेंसर [C-2-14] के मुताबिक, कैमरे और जाइरोस्कोप टाइमस्टैंप का ऑफ़सेट 1 मि॰से॰ से कम है.
समस्या ठीक न होने के तरीके:
- ऑफ़सेट गड़बड़ी: कैमरा-जाइरोस्कोप ऑफ़सेट को +/-1 मि॰से॰ के अंदर सही तरीके से कैलिब्रेट नहीं किया गया है.
- फ़्रेम ड्रॉप: पाइपलाइन इतनी तेज़ नहीं है कि वह लगातार 200 फ़्रेम कैप्चर कर सके.
- सॉकेट की गड़बड़ियां:
adb
, DUT के साथ लंबे समय तक भरोसेमंद तरीके से कनेक्ट नहीं कर सकता, ताकि जांच की जा सके. - चार्ट को फ़्लैट माउंट नहीं किया गया है. प्लॉट
test_sensor_fusion_plot_rotations
में ऐसे फ़्रेम होते हैं जिनमें जाइरोस्कोप और कैमरे के रोटेशन में काफ़ी अंतर होता है. ऐसा इसलिए होता है, क्योंकि कैमरा, चार्ट के उन हिस्सों में घूमता है जो सपाट नहीं हैं. - कैमरे को सीधा माउंट नहीं किया गया है. प्लॉट
test_sensor_fusion_gyro_events
, X और Y समतल में मूवमेंट दिखाता है. ऐसा आम तौर पर, सामने वाले कैमरे के सामने होता है, क्योंकि फ़ोन के पीछे वाले कैमरे में अक्सर उभरी हुई बॉडी होती है. इससे फ़ोन के पिछले हिस्से को माउंटिंग प्लेट पर माउंट करते समय, झुकाव होता है.
जांच_वीडियो_स्टेबलाइज़ेशन
ऐसे टेस्ट जिनमें वीडियो स्टेबलाइज़ किए गए वीडियो, जाइरोस्कोप की तुलना में कम रोटेट होते हैं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
पास: फ़्रेम के ऊपर ज़्यादा से ज़्यादा ऐंगल का रोटेशन, जाइरोस्कोप रोटेशन के 60% से कम होता है.
नीचे स्टेबलाइज़ेशन के साथ और बिना स्टेबलाइज़ेशन वाले वीडियो के सैंपल दिए गए हैं.
स्टेबलाइज़ेशन के साथ सैंपल वीडियो
बिना स्टेबलाइज़ेशन के सैंपल वीडियो
टेस्ट_लीड_स्नैपशॉट
जांच करता है कि एलईडी स्नैपशॉट से इमेज के रंग को गहरा या फीका नहीं होता है.
यह टेस्ट, लाइटों को कंट्रोल करने के लिए सेंसर के फ़्यूज़न बॉक्स में एक लाइटिंग कंट्रोलर जोड़ता है. जब लाइटें OFF
पर सेट होती हैं, तब टेस्ट के लिए, AUTO_FLASH
मोड को ON
पर सेट करके कैप्चर किया जाता है. इस कैप्चर के दौरान, टेस्ट एक प्रीकैप्चर क्रम चलाता है जिसमें aePrecapture
ट्रिगर START
पर सेट होता है और फ़्लैश के साथ कैप्चर करने के लिए कैप्चर इंटेंट को Preview
पर सेट करता है.
फ़्लैश की वजह से कैप्चर में एक अलग हॉटस्पॉट होता है, इसलिए टेस्ट सभी कैप्चर के फ़्लैश इमेज के माध्य की गणना करता है और पुष्टि करता है कि मान (68, 102) रेंज के अंदर है या नहीं. यह जांचने के लिए कि इमेज सही संतुलित है या नहीं, टेस्ट R/G और B/G अनुपातों की गणना करता है और पुष्टि करता है कि अनुपात 0.95 और 1.05 के अंदर हैं या नहीं.
जांचे गए एपीआई:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
पास: R/G और B/G का रेशियो 0.95 और 1.05 के बीच है. फ़्लैश चित्र का माध्य (68, 102) रेंज के अंदर है.