यह पृष्ठ कैमरा इमेज टेस्ट सूट (ITS) के तहत परीक्षणों की एक व्यापक सूची प्रदान करता है, जो Android संगतता परीक्षण सूट (CTS) सत्यापनकर्ता का हिस्सा है। ITS परीक्षण कार्यात्मक परीक्षण हैं, जिसका अर्थ है कि वे छवि गुणवत्ता को नहीं मापते हैं, लेकिन यह कि सभी विज्ञापित कैमरा फ़ंक्शन अपेक्षा के अनुरूप काम कर रहे हैं। यह दस्तावेज़ डेवलपर्स और परीक्षकों को यह समझने देता है कि व्यक्तिगत परीक्षण क्या करते हैं और परीक्षण विफलताओं को कैसे डिबग करें।
टेस्ट को दृश्य द्वारा समूहीकृत किया जाता है:
- दृश्य0 : मेटाडेटा, जिटर, जाइरोस्कोप, कंपन कैप्चर करें
- दृश्य 1 : एक्सपोजर, संवेदनशीलता, ईवी मुआवजा, वाईयूवी बनाम जेपीईजी/रॉ
- दृश्य 2 : चेहरे की पहचान, रंग दृश्यों या पूर्ण अंधेरे की आवश्यकता वाले परीक्षण
- दृश्य 3 : एज एन्हांसमेंट, लेंस मूवमेंट
- दृश्य 4 : पहलू अनुपात, काट-छाँट, देखने का क्षेत्र
- दृश्य 5 : लेंस छायांकन
- दृश्य 6 : ज़ूम करें
- sensor_fusion : कैमरा/जाइरोस्कोप टाइमिंग ऑफ़सेट
प्रत्येक दृश्य के विवरण के लिए अलग-अलग अनुभाग देखें।
दृश्य0
Scene0 परीक्षणों के लिए किसी विशिष्ट दृश्य जानकारी की आवश्यकता नहीं होती है। हालांकि, जाइरोस्कोप और वाइब्रेशन टेस्टिंग के लिए फोन स्थिर होना चाहिए।
test_burst_capture
सत्यापित करता है कि संपूर्ण कैप्चर पाइपलाइन पूर्ण आकार की कैप्चर और CPU समय की गति के साथ रह सकती है।
एपीआई परीक्षण किया गया:
पास: पूर्ण आकार की छवियों को कैप्चर करता है और टाइमआउट से बचने के लिए कैमरा पर्याप्त तेज़ है।
test_capture_result_dump
परीक्षण करता है कि मैन्युअल कैप्चर से कैप्चर परिणाम लौटाया जाता है और फिर उसे डंप कर दिया जाता है।
एपीआई परीक्षण किया गया:
पास: कैप्चर को पूरा करता है और कैप्चर के परिणामों को डंप करता है।
test_gyro_bias
परीक्षण करता है कि डिवाइस के स्थिर होने पर जाइरो का आउटपुट स्थिर है या नहीं। डेटा को औसतन 20 डेटा बिंदुओं के रूप में प्लॉट किया जाता है।
एपीआई परीक्षण किया गया:
पास: जाइरो रीडिंग का डेल्टा समय के साथ 0.01 से कम है।
test_gyro_bias_plot.png
test_jitter
कैमरा टाइमस्टैंप में जिटर को मापता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
पास करें: फ़्रेम के बीच कम से कम 30 ms डेल्टा है।
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
, एफओवी, हाइपरफोकल दूरी मौजूद हैं और उनके वैध मान हैं।
test_param_sensitivity_burst
परीक्षण करता है कि 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_sensor_events
परीक्षण करता है कि उपकरण पूछताछ करता है और सेंसर संलयन समर्थन का विज्ञापन करने वाले उपकरणों के लिए सेंसर घटनाओं को प्रिंट करता है। अपेक्षित सेंसर एक्सेलेरोमीटर, जायरोस्कोप और मैग्नेटोमीटर हैं। यह परीक्षण केवल तभी काम करता है जब स्क्रीन चालू हो, अर्थात डिवाइस स्टैंडबाय मोड में नहीं है।
एपीआई परीक्षण किया गया:
पास: प्रत्येक सेंसर के लिए ईवेंट प्राप्त होते हैं।
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
पास: समर्थित ठोस परीक्षण पैटर्न सही रंग हैं और छवि में कम विचरण है।
test_test_pattern
प्रत्येक मान्य परीक्षण पैटर्न के लिए फ़्रेम कैप्चर करने के लिए 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
पास करें: कैमरा ऑडियो प्रतिबंध API द्वारा म्यूट किए जाने पर डिवाइस कंपन नहीं करता है।
दृश्य 1
दृश्य 1 एक ग्रे चार्ट है। ग्रे चार्ट को कैमरे के देखने के क्षेत्र के 30% केंद्र को कवर करना चाहिए। ग्रे चार्ट से 3ए (ऑटो एक्सपोजर, ऑटो व्हाइट बैलेंस, ऑटो फोकस) को मध्यम रूप से चुनौती देने की उम्मीद है क्योंकि मध्य क्षेत्र में कोई विशेषता नहीं है। हालाँकि, कैप्चर अनुरोध पूरे दृश्य को निर्दिष्ट करता है जिसमें अभिसरण के लिए 3A के लिए पर्याप्त सुविधाएँ शामिल हैं।
RFoV कैमरों का परीक्षण WFoV या RFoV परीक्षण रिग में किया जा सकता है। यदि WFoV परीक्षण रिग में एक RFoV कैमरे का परीक्षण किया जाता है, तो 3A अभिसरण में मदद करने के लिए FoV में ग्रे चार्ट के लिए कुछ सीमाओं को सुनिश्चित करने के लिए चार्ट को ⅔ द्वारा स्केल किया जाता है।
दृश्य 1: पूर्ण आकार का चार्ट (बाएं)। ⅔ स्केल्ड चार्ट (दाएं)।
test_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 मान मान्य होते हैं।
test_ae_af
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 मान कानूनी होते हैं।
test_ae_precapture_trigger
प्रीकैप्चर ट्रिगर का उपयोग करते समय एई स्टेट मशीन का परीक्षण करता है। एई अक्षम के साथ पांच मैन्युअल अनुरोधों को कैप्चर करता है। अंतिम अनुरोध में एई प्रीकैप्चर ट्रिगर है, जिसे अनदेखा किया जाना चाहिए क्योंकि एई अक्षम है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
-
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
पास: एई अभिसरण।
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
test_black_white
परीक्षण करता है कि उपकरण पूर्ण श्वेत-श्याम चित्र बनाता है। दो कैप्चर करता है, पहला बेहद कम गेन और शॉर्ट एक्सपोजर के साथ, जिसके परिणामस्वरूप एक काली तस्वीर आती है, और दूसरी अत्यधिक उच्च गेन और लंबे एक्सपोजर के साथ, जिसके परिणामस्वरूप एक सफेद फोटो आती है।
एपीआई परीक्षण किया गया:
-
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 |
test_black_white_plot_means.png
test_burst_sameness_manual
मैन्युअल कैप्चर सेटिंग के साथ 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_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
test_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
test_crop_region_raw
परीक्षण करता है कि 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_crop_region_raw_yuv_full.jpg
test_crop_regions
टेस्ट कि फसल क्षेत्र काम करते हैं। पूरी इमेज लेता है और 5 अलग-अलग क्षेत्रों (कोनों और बीच) के पैच बनाता है। 5 क्षेत्रों के लिए क्रॉप सेट के साथ इमेज लेता है। पैच और क्रॉप छवि मानों की तुलना करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
-
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
पास: क्रॉप किए गए क्षेत्र की इमेज उस पैच से मेल खाती है जो क्रॉप इमेज से मेल खाता है।
test_dng_noise_model
सत्यापित करता है कि DNG अपरिष्कृत मॉडल पैरामीटर सही हैं। प्लॉट संवेदनशीलता की एक श्रृंखला पर कैप्चर किए गए कच्चे शॉट्स में ग्रे कार्ड के केंद्र पैच के मापा भिन्नता को दर्शाता है, और इन मूल्यों की तुलना उस भिन्नता के साथ करता है जो कैमरा एचएएल में डीएनजी शोर मॉडल द्वारा प्रत्येक संवेदनशीलता पर अपेक्षित है (के आधार पर) कैप्चर परिणाम ऑब्जेक्ट्स में ओ, एस पैरामीटर लौटाए गए)। DNG नॉइज़ मॉडल के बारे में अधिक जानकारी के लिए, DNG नॉइज़ मॉडल पर निम्न दस्तावेज़ डाउनलोड करें।
एपीआई परीक्षण किया गया:
-
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
पास करें: DNG रॉ मॉडल पैरामीटर सही हैं। अपेक्षित RGB मान मापे गए वास्तविक RGB मानों से मेल खाते हैं।
test_dng_noise_model_plog.png
test_ev_compensation_advanced
परीक्षण करता है कि एक्सपोज़र वैल्यू (EV) मुआवजा लागू किया गया है। परीक्षण आठ चरणों में एक्सपोज़र बढ़ाता है, और मापी गई चमक बनाम अपेक्षित चमक की जाँच करता है। अपेक्षित मूल्यों की गणना छवि की छवि चमक से की जाती है, जिसमें कोई ईवी क्षतिपूर्ति लागू नहीं होती है और यदि परिकलित मान वास्तविक छवि मान सीमा से अधिक हो जाते हैं तो अपेक्षित मान संतृप्त हो जाएगा। यदि अपेक्षित मान और मापे गए मान मेल नहीं खाते हैं या पांच चरणों के भीतर छवियां ओवरएक्सपोज़ हो जाती हैं, तो परीक्षण विफल हो जाता है।
एपीआई परीक्षण किया गया:
-
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
पास: छवियां पांच चरणों के भीतर बिना ओवरएक्सपोज़िंग के बढ़ते हुए एक्सपोज़र को दिखाती हैं।
test_ev_compensation_advanced_plot_means.png
test_ev_compensation_basic
परीक्षण करता है कि CONTROL_AE_COMPENSATION_STEP
के साथ बनाई गई श्रेणी का उपयोग करके EV क्षतिपूर्ति लागू की जाती है। प्रत्येक क्षतिपूर्ति मान पर आठ फ़्रेम कैप्चर किए जाते हैं।
एपीआई परीक्षण किया गया:
-
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 क्षतिपूर्ति सेटिंग के साथ लूमा में वृद्धि को कैप्चर करता है, और प्रत्येक EV क्षतिपूर्ति सेटिंग के लिए कैप्चर किए गए आठ फ़्रेमों में स्थिर लूमा मान होते हैं।
test_ev_compensation_basic.png
test_exposure
परीक्षण करता है कि आईएसओ के रूप में एक निरंतर एक्सपोजर हासिल किया जाता है और एक्सपोजर समय अलग-अलग होता है। शॉट्स की एक श्रृंखला लेता है जिसमें एक दूसरे को संतुलित करने के लिए आईएसओ और एक्सपोजर समय चुना गया है। परिणामों में समान चमक होनी चाहिए, लेकिन अनुक्रम के दौरान छवि अधिक शोर वाली होनी चाहिए। सत्यापित करता है कि नमूना पिक्सेल माध्य मान एक दूसरे के करीब हैं। यह सुनिश्चित करता है कि छवियां 0 या 1 पर जकड़ी हुई नहीं हैं (जिससे वे सपाट रेखाओं की तरह दिखेंगी)। आपकी कॉन्फ़िगरेशन फ़ाइल में debug
फ़्लैग सेट करके परीक्षण RAW छवियों के साथ भी चलाया जा सकता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
पास: छवियों में समान चमक होती है, लेकिन उच्च ISO के साथ अधिक शोर करती हैं। जब ISO*एक्सपोज़र का मान परीक्षण किए गए गेन स्पेस पर स्थिर रहता है तो RGB प्लेन सपाट होते हैं।
test_exposure_plot_means.png
![]() | ![]() | |
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
YUV छवियों और डिवाइस JPEG छवियों को परिवर्तित करने वाले परीक्षण समान दिखते हैं। परीक्षण केंद्र को छवि का 10% लेता है और RGB मान की गणना करता है, और सत्यापित करता है कि वे मेल खाते हैं।
एपीआई परीक्षण किया गया:
पास: प्रत्येक छवि के बीच औसत आरजीबी अंतर 3% से कम है।
![]() | ![]() | |
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_latching
परीक्षण करता है कि सेटिंग्स (एक्सपोज़र और गेन) FULL
और LEVEL_3
कैमरों के लिए सही फ़्रेम पर लैच हो जाती हैं। शॉट्स के बीच कैप्चर अनुरोध मापदंडों को बदलते हुए, बैक-टू-बैक अनुरोधों का उपयोग करके शॉट्स की एक श्रृंखला लेता है। जांचता है कि छवियों में अपेक्षित गुण हैं।
एपीआई परीक्षण किया गया:
पास: छवियां [2, 3, 6, 8, 10, 12, 13] ने आईएसओ या एक्सपोजर बढ़ाया है और test_latching_plot_means.png
पर उच्च आरजीबी साधनों के साथ दिखाया गया है।
![]() | ![]() | ![]() | |
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
![]() | ![]() | ![]() | |
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
![]() | |||
test_latching_i=12.jpg |
test_latching_plot_means.png
test_linearity
टेस्ट कि डिवाइस प्रोसेसिंग को लीनियर पिक्सल में बदला जा सकता है। एक समान लक्ष्य पर इंगित डिवाइस के साथ शॉट्स के क्रम को कैप्चर करता है।
एपीआई परीक्षण किया गया:
-
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 मानों को बढ़ी हुई संवेदनशीलता के साथ रैखिक रूप से बढ़ना चाहिए।
test_linearity_plot_means.png
test_locked_burst
टेस्ट 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_multi_camera_match
यह देखने के लिए परीक्षण कि क्या उपकरणों पर बहु कैमरे ग्रे पैच के लिए समान आरजीबी मान देते हैं।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
-
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
-
android.hardware.camera2.CaptureRequest#LENS_FOCAL_LENGTH
पास: अलग-अलग कैमरे एक ही ग्रे पैच के लिए समान आरजीबी मान उत्पन्न करते हैं।
test_multi_camera+match_yuv_fl=4.38.jpg
test_param_color_correction
परीक्षण करता है कि सेट होने पर android.colorCorrection.*
पैरामीटर लागू होते हैं। अलग-अलग परिवर्तन के साथ शॉट लेता है और मान प्राप्त करता है, और परीक्षण करता है कि वे अलग-अलग दिखते हैं। आउटपुट को तेजी से लाल या नीला बनाने के लिए परिवर्तन और लाभ का चयन किया जाता है। एक रेखीय टोनमैप का उपयोग करता है। टोन मैपिंग एक ऐसी तकनीक है जिसका उपयोग इमेज प्रोसेसिंग में रंगों के एक सेट को दूसरे से मैप करने के लिए किया जाता है ताकि उच्च-गतिशील-श्रेणी की छवियों को एक ऐसे माध्यम में प्रदर्शित किया जा सके जिसमें अधिक सीमित गतिशील रेंज हो।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
-
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
दर्रा: परिवर्तन के अनुसार आर और बी मान बढ़ते हैं।
test_param_color_correction_plot_means.png
* एक्स-अक्ष कैप्चर अनुरोध है: 0 = एकता, 1 = लाल बूस्ट, 2 = नीला बूस्ट
test_param_color_correction_req=0.jpg
test_param_color_correctness_req=1.jpg (आर बूस्ट)
test_param_color_correction_req=2.jpg (बी बूस्ट)
test_param_exposure_time
परीक्षण करता है कि android.sensor.exposureTime
पैरामीटर लागू किया गया है।
एपीआई परीक्षण किया गया:
पास: प्रत्येक शॉट पिछले शॉट की तुलना में उज्जवल है।
test_param_exposure_time_frame0.jpg
test_param_exposure_time_plot.png
test_param_flash_mode
परीक्षण करता है कि 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
test_param_noise_reduction
परीक्षण करता है कि सेट होने पर android.noiseReduction.mode
पैरामीटर सही ढंग से लागू होता है। कम रोशनी वाले कैमरे से तस्वीरें लेता है। कैप्चर की गई छवि शोर है यह सुनिश्चित करने के लिए एक उच्च एनालॉग लाभ का उपयोग करता है। एनआर ऑफ, "फास्ट", और "हाई क्वालिटी" के लिए तीन इमेज कैप्चर करता है। साथ ही कम लाभ और एनआर ऑफ के साथ एक छवि कैप्चर करता है, और बेसलाइन के रूप में इसके प्रसरण का उपयोग करता है। SNR (सिग्नल टू नॉइज़ रेशियो) जितना अधिक होगा, छवि गुणवत्ता उतनी ही बेहतर होगी।
एपीआई परीक्षण किया गया:
पास: SNR अलग-अलग नॉइज़ रिडक्शन मोड के साथ बदलता रहता है और नीचे दिए गए ग्राफ़ के समान ही व्यवहार करता है।
test_param_noise_reduction_plot_SNRs.png
0: ऑफ, 1: फास्ट, 2: मुख्यालय, 3: मिन, 4: जेडएसएल
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_sensitivity
परीक्षण करता है कि android.sensor.sensitivity
पैरामीटर लागू किया गया है। परीक्षण प्रत्येक शॉट के लिए निश्चित एक्सपोजर के साथ 5 चरणों में संवेदनशीलता बढ़ाता है।
एपीआई परीक्षण किया गया:
पास: केंद्र का आरजीबी 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
test_param_sensitivity_plot.png
test_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
पास करें: छायांकन मोड स्विच किए जाते हैं और लेंस छायांकन मानचित्र अपेक्षित रूप से संशोधित किए जाते हैं।
test_param_shading_mode_ls_maps_mode_0_loop_0.png
test_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 पैरामीटर लागू किया गया है। प्रत्येक आर, जी, बी चैनल के लिए अलग-अलग टोनमैप वक्र लागू करता है, और जांचता है कि आउटपुट छवियों को अपेक्षित रूप से संशोधित किया गया है। इस टेस्ट में दो टेस्ट होते हैं, टेस्ट1 और टेस्ट2।
एपीआई परीक्षण किया गया:
-
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
उत्तीर्ण:
- test1: दोनों छवियों में एक रेखीय टोनेमैप है, लेकिन n=1 में एक तेज ढाल है। G (हरा) चैनल n=1 छवि के लिए उज्जवल है।
- test2: एक ही टोनमैप, लेकिन अलग-अलग लंबाई। छवियां वही हैं।
![]() | ![]() | |
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
रॉ संवेदनशीलता को बढ़ावा देने के बाद चेक करता है। विभिन्न संवेदनशीलता के साथ 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
test_post_raw_sensitivity_boost_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
test_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_burst_sensitivity
बढ़ते लाभ के साथ कच्ची छवियों का एक सेट कैप्चर करता है और शोर को मापता है। रॉ-ओनली, फट से कैप्चर करता है।
एपीआई परीक्षण किया गया:
-
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
पास: प्रत्येक शॉट पिछले शॉट की तुलना में अधिक शोर वाला है, क्योंकि लाभ बढ़ रहा है।
केंद्र आँकड़े ग्रिड सेल के प्रसरण का उपयोग करता है।
test_raw_burst_sensitivity_variance.png
test_raw_exposure
बढ़ते एक्सपोज़र समय के साथ कच्ची छवियों का एक सेट कैप्चर करता है और पिक्सेल मानों को मापता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
पास: आईएसओ (लाभ) बढ़ाने से पिक्सेल प्रकाश के प्रति अधिक संवेदनशील हो जाते हैं, इसलिए प्लॉट बाईं ओर बढ़ता है।
test_raw_exposure_s=55.png
(10⁰ 1 एमएस है, 10¹ 10 एमएस है, 10⁻¹ 0.1 एमएस है)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
test_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
पास: प्रत्येक शॉट के साथ भिन्नता बढ़ती है।
test_raw_sensitivity_variance.png
test_reprocess_noise_reduction
परीक्षण करता है कि अनुरोधों को फिर से संसाधित करने के लिए android.noiseReduction.mode
लागू किया गया है। मंद रोशनी वाले कैमरे से पुनर्संसाधित छवियों को कैप्चर करता है। कैप्चर छवि शोर है यह सुनिश्चित करने के लिए एक उच्च एनालॉग लाभ का उपयोग करता है। NR बंद, "तेज", और "उच्च गुणवत्ता" के लिए, तीन पुनर्संसाधित छवियों को कैप्चर करता है। कम लाभ और NR बंद के साथ एक पुनर्संसाधित छवि कैप्चर करता है, और आधार रेखा के रूप में इसके प्रसरण का उपयोग करता है।
एपीआई परीक्षण किया गया:
पास: फास्ट>= ऑफ, मुख्यालय>= फास्ट, मुख्यालय >> ऑफ
विशिष्ट SNR बनाम NR_MODE प्लॉट
test_tonemap_sequence
विभिन्न टोनमैप कर्व्स के साथ शॉट्स के क्रम का परीक्षण करता है। लीनियर टोनमैप के साथ 3 मैन्युअल शॉट कैप्चर करता है। डिफ़ॉल्ट टोनमैप के साथ 3 मैन्युअल शॉट कैप्चर करता है। प्रत्येक लगातार फ्रेम जोड़ी के बीच डेल्टा की गणना करता है।
एपीआई परीक्षण किया गया:
पास: 3 समान फ़्रेम हैं, जिसके बाद 3 समान फ़्रेमों का एक अलग सेट है।
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
परीक्षण करता है कि छवि कैप्चर कार्य के लिए सभी रिपोर्ट किए गए आकार और प्रारूप। रैखिक टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है ताकि image_processing_utils
मॉड्यूल द्वारा परिवर्तित किए जाने पर YUV और JPEG समान दिखें। छवियों को डिफ़ॉल्ट रूप से सहेजा नहीं जाता है, लेकिन debug_mode
सक्षम करके सहेजा जा सकता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
-
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
-
android.graphics.ImageFormat#JPEG
पास: सभी छवि केंद्रों में आरजीबी रूपांतरित छवियों में अधिकतम आरएमएस (सिग्नल का मूल-माध्य-स्क्वायर मान) अंतर होता है जिसमें उच्चतम रिज़ॉल्यूशन वाईयूवी छवि का 3% होता है।
test_yuv_jpeg_all.png
test_yuv_plus_dng
परीक्षण करता है कि इमेज कैप्चर करने के लिए रिपोर्ट किए गए आकार और प्रारूप काम करते हैं।
एपीआई परीक्षण किया गया:
उत्तीर्ण: परीक्षण पूर्ण होता है और अनुरोधित छवियों को लौटाता है।
test_yuv_plus_dng.jpg
test_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% से कम RMS (सिग्नल का मूल-माध्य-वर्ग मान) अंतर है।
![]() | ![]() | |
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
RAW और 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
पास: YUV और JPEG छवियां समान हैं और इनमें 3.5% से कम RMS (रूट-मीन-स्क्वायर वैल्यू ऑफ़ सिग्नल) अंतर है।
![]() | ![]() | |
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
test_yuv_plus_raw10
RAW10 और 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
पास: RAW10 और YUV छवियां समान हैं और इनमें 3.5% से कम RMS (रूट-मीन-स्क्वायर वैल्यू ऑफ़ सिग्नल) अंतर है।
![]() | ![]() | |
test_yuv_plus_raw10_shading=1_raw.jpg | test_yuv_plus_raw10_shading=1_yuv.jpg |
test_yuv_plus_raw12
RAW12 और 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#RAW12
पास: RAW12 और YUV छवियां समान हैं और इनमें 3.5% से कम RMS (सिग्नल का मूल-माध्य-वर्ग मान) अंतर है।
![]() | ![]() | |
test_yuv_plus_raw12_shading=1_raw.jpg | test_yuv_plus_raw12_shading=1_yuv.jpg |
दृश्य2_ए
scene2_a में ग्रे बैकग्राउंड और न्यूट्रल कपड़ों के साथ तीन चेहरे हैं। त्वचा टोन की एक विस्तृत श्रृंखला के लिए चेहरों को चुना जाता है। चेहरे की पहचान के बेहतर तरीके से काम करने के लिए चार्ट में सही ओरिएंटेशन होना चाहिए।
दृश्य2_ए
test_auto_flash
परीक्षण करता है कि अंधेरे दृश्य में ऑटो-फ़्लैश ट्रिगर होता है। सत्यापित करता है कि टाइल छवि के केंद्र में एक बड़ा ग्रेडिएंट है, यह जाँच कर ऑटो-फ़्लैश चालू हो गया है। ऑटो-फ्लैश को ट्रिगर करने के लिए, परीक्षण रिग में टैबलेट और रोशनी बंद होनी चाहिए। टैबलेट को परीक्षण द्वारा बंद कर दिया गया है, और Arduino नियंत्रक के साथ रोशनी स्वचालित रूप से बंद हो सकती है। परीक्षण सही ढंग से काम करे इसके लिए दृश्य पूरी तरह से अंधेरा होना चाहिए। इस प्रकार, टैबलेट के पिछले हिस्से की ओपनिंग सीन टैबलेट से पूरी तरह से ढकी होनी चाहिए, और फ्रंट ओपनिंग को अपर्चर और DUT फोन से कवर किया जाना चाहिए ताकि स्ट्रे लाइट को रिग में प्रवेश करने से रोका जा सके।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#FLASH_MODE
पास करें: टाइल छवि के केंद्र में एक बड़ा ग्रेडिएंट है जिसका अर्थ है कि ऑटो-फ़्लैश सक्रिय हो गया है।
test_effects
समर्थित कैमरा प्रभावों के लिए फ़्रेम कैप्चर करता है और जाँचता है कि क्या वे सही ढंग से उत्पन्न हुए हैं। परीक्षण केवल प्रभाव OFF
और MONO
की जांच करता है, लेकिन सभी समर्थित प्रभावों के लिए छवियों को सहेजता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
-
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
पास: दृश्य छवि को OFF
के साथ कैप्चर करता है और एक मोनोक्रोम छवि को प्रभाव के साथ MONO
पर सेट करता है।
test_effects_MONO.jpg
test_format_combos
आउटपुट स्वरूपों के विभिन्न संयोजनों का परीक्षण करता है।
एपीआई परीक्षण किया गया:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
पास करें: सभी संयोजनों को सफलतापूर्वक कैप्चर किया गया है।
test_jpeg_quality
कैमरा जेपीईजी संपीड़न गुणवत्ता का परीक्षण करता है। android.jpeg.quality
के माध्यम से जेपीईजी गुणों को चरणबद्ध करें और सुनिश्चित करें कि क्वांटिज़ेशन टेबल सही ढंग से बदलते हैं।
एपीआई परीक्षण किया गया:
पास: गुणवत्ता में वृद्धि के साथ परिमाणीकरण मैट्रिक्स घटता है। (मैट्रिक्स विभाजन कारक का प्रतिनिधित्व करता है।)
पिक्सेल 4 रियर कैमरा लूमा/क्रोमा डीक्यूटी मैट्रिक्स औसत बनाम जेपीईजी गुणवत्ता
विफल परीक्षण उदाहरण
ध्यान दें कि बहुत कम गुणवत्ता वाली छवियों (jpeg.गुणवत्ता <50) के लिए, परिमाणीकरण मैट्रिक्स में संपीड़न में कोई वृद्धि नहीं होती है।
test_num_faces
चेहरे की पहचान का परीक्षण करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: तीन चेहरों को ढूँढता है।
test_num_faces_fd_mode_1.jpg
दृश्य2_बी
test_num_faces
चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ चेहरे की पहचान का परीक्षण करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: 3 चेहरों को ढूँढता है।
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
1920x1440 के रिज़ॉल्यूशन से अधिक नहीं होने वाले सबसे बड़े JPEG प्रारूप के समान पहलू अनुपात के साथ सबसे बड़े सामान्य YUV और JPEG स्वरूपों का उपयोग करके दो छवियों को कैप्चर करता है। jpeg.quality
100 पर सेट करता है और दोहरी सतह अनुरोध को कैप्चर करता है। दोनों छवियों को आरजीबी सरणी में कनवर्ट करता है और दो छवियों के बीच 3डी रूट माध्य वर्ग (आरएमएस) अंतर की गणना करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
-
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
-
android.graphics.ImageFormat#JPEG
उत्तीर्ण: YUV और JPEG छवियां समान हैं और इनमें 1% से कम RMS (सिग्नल का मूल-माध्य-वर्ग मान) अंतर है।
दृश्य2_सी
test_num_faces
चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ चेहरे की पहचान का परीक्षण करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: 3 चेहरों को ढूँढता है।
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
सीडीडी में अनुभाग 2.2.7.2 कैमरा में निर्दिष्ट एस प्रदर्शन वर्ग के लिए जेपीईजी कैप्चर विलंबता का परीक्षण करें।
उत्तीर्ण: दोनों प्राथमिक कैमरों के लिए ITS प्रकाश स्थितियों (3000K) के तहत CTS कैमरा प्रदर्शन परीक्षण द्वारा मापे गए 1080p रिज़ॉल्यूशन के लिए कैमरा2 JPEG कैप्चर लेटेंसी <1000ms होना चाहिए।
test_camera_launch_perf_class
CDD में निर्दिष्ट अनुभाग 2.2.7.2 कैमरा के अनुसार S प्रदर्शन वर्ग के लिए कैमरा लॉन्च विलंबता का परीक्षण करता है।
उत्तीर्ण: दोनों प्राथमिक कैमरों के लिए ITS प्रकाश स्थितियों (3000K) के तहत CTS कैमरा प्रदर्शन परीक्षण द्वारा मापे गए अनुसार कैमरा2 स्टार्टअप विलंबता (पहले पूर्वावलोकन फ़्रेम के लिए कैमरा खोलें) <600ms होना चाहिए।
दृश्य2_घ
test_num_faces
चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ चेहरे की पहचान का परीक्षण करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: 3 चेहरों को ढूँढता है।
दृश्य2_ई
परीक्षण_निरंतर_चित्र
कैप्चर अनुरोध के साथ 50 VGA रिज़ॉल्यूशन फ़्रेम कैप्चर किए जाते हैं, जो पहले 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-फ़्रेम कैप्चर के अंत तक व्यवस्थित हो जाता है।
test_num_faces
चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ चेहरे की पहचान का परीक्षण करता है।
एपीआई परीक्षण किया गया:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
पास: 3 चेहरों को ढूँढता है।
दृश्य3
Scene3 ISO12233 चार्ट का उपयोग करता है, और अधिकांश परीक्षण दृश्य में चार्ट खोजने के लिए एक चार्ट एक्सट्रैक्टर विधि का उपयोग करते हैं। इस कारण से, अधिकांश सहेजी गई छवियों में दृश्य 1, 2 या 4 की छवियों की तरह सीमाएँ नहीं होती हैं, लेकिन केवल चार्ट होता है। चार्ट फाइंडर को बेहतर तरीके से काम करने के लिए चार्ट को सही ओरिएंटेशन में होना चाहिए।
test_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
पास: 3ए एक्सपोजर, गेन, एडब्ल्यूबी (ऑटो व्हाइट बैलेंस) और एफडी (फोकस डिस्टेंस) के लिए सहिष्णुता के भीतर तीन गुना अभिसरण करता है।
test_edge_enhancement
परीक्षण करता है कि android.edge.mode
पैरामीटर सही तरीके से लागू किया गया है। प्रत्येक एज मोड के लिए गैर-पुनर्संसाधन छवियों को कैप्चर करता है और आउटपुट छवि और कैप्चर परिणाम मेटाडेटा की स्पष्टता देता है। किसी दिए गए किनारे मोड, संवेदनशीलता, एक्सपोजर समय, फोकस दूरी और आउटपुट सतह पैरामीटर के साथ कैप्चर अनुरोध को संसाधित करता है।
पास: HQ
मोड (2) OFF
मोड (0) से तेज। FAST
मोड (1) OFF
मोड से तेज। HQ
मोड तेज़ या FAST
मोड के बराबर।
एपीआई परीक्षण किया गया:
प्रभावित कैमरा पैरामीटर:
-
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (फास्ट मोड)
test_edge_enhancement_edge=2.jpg (उच्च गुणवत्ता मोड)
test_flip_mirror
सीडीडी अनुभाग 7.5.2 फ्रंट-फेसिंग कैमरा [सी-1-5] के अनुसार परीक्षण करता है कि छवि ठीक से उन्मुख है या नहीं।
Mirrored, flipped, or rotated images can be identified by the diamond feature near the center.
Pass: Image isn't flipped, mirrored or rotated.
test_flip_mirror_scene_patch.jpg
test_lens_movement_reporting
Tests if the lens movement flag is properly reported. Captures a burst of 24 images with the first 12 frames at the optimum focus distance (as found by 3A) and the last 12 frames at the minimum focus distance. Around frame 12, the lens moves causing the sharpness to drop. The sharpness eventually stabilize as the lens moves to the final position. The lens movement flag should be asserted in all frames where the sharpness is intermediate to sharpness in the first 10 frames with the lens stationary at optimum focal distance, and the final 10 frames where the lens is stationary in the minimum focal distance. The exact frame the lens moves isn't important: what is checked is that the movement flag is asserted when the lens is moving.
APIs tested:
-
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
Pass: Lens movement flag is True
in the frame with sharpness change.
test_reprocess_edge_enhancement
Tests if supported reprocess methods for edge enhancement work properly. Processes a capture request with a given reprocess edge mode and compares different modes to capture with reprocess edge modes disabled.
APIs tested:
-
android.hardware.camera2.CaptureRequest#EDGE_MODE
-
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Pass: Sharpness for the different edge modes is correct. HQ
(mode 2) is sharper than OFF
(mode 0), and improvement between different modes is similar.
test_reprocess_edge_enhancement_plot.png
scene4
Scene4 consists of a black circle on a white background inside a square.
scene4
test_aspect_ratio_and_crop
Takes pictures of a circle inside of a square over all formats. Verifies that the aspect ratio of the circle doesn't change, the cropped images keep the circle in center, and the circle size doesn't change for a constant format or with different resolution (field of view check).
APIs tested:
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Pass: Images aren't stretched, the center of images don't differ by more than 3%, and the maximum possible FOV (field of view) is preserved.
test_multi_camera_alignment
Tests the multi camera system parameters related to camera spacing. Using the multi-camera physical sub-cameras, takes a picture with one of the physical cameras. Finds the circle center. Projects the circle center to the world coordinates for each camera. Compares the difference between the cameras' circle centers in world coordinates. Reprojects the world coordinate back to pixel coordinates and compares against originals as a validity check. Compares the circle sizes checking if the focal lengths of the cameras are different.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
-
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
-
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
Pass: Focal lengths and circles sizes are consistent.
test_preview_stabilization_fov
Checks the supported preview sizes to ensure the FoV is cropped appropriately. The test captures two videos, one with preview stabilization ON
, and another with preview stabilization OFF
. A representative frame is selected from each video, and analyzed to ensure that the FoV changes in the two videos are within spec.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: The circle aspect ratio remains about constant, the center location of the circle remains stable, and the size of circle changes no more that 20%. ie the FOV changes at most 20%
test_video_aspect_ratio_and_crop
Takes videos of a circle inside of a square over all video formats. Extracts the key frames, and verifies the aspect ratio of the circle doesn't change, the cropped images keep the circle in center, and the circle size doesn't change for a constant format or with different resolution (field of view check).
APIs tested:
-
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
Pass: Video frames aren't stretched, the center of frames don't differ by more than 3%, and the maximum possible FoV (field of view) is preserved.
scene5/diffuser
test_lens_shading_and_color_uniformity
Tests that the lens shading correction is applied appropriately, and color of a monochrome uniform scene is evenly distributed. Performs this test on a YUV frame with auto 3A. Lens shading is evaluated based on the y channel. Measures the average y value for each sample block specified, and determines pass or fail by comparing with the center y value. The color uniformity test is evaluated in r/g and b/g space.
APIs tested:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Pass: At the specified radius of the image, the variance of r/g and b/g value must be less than 20% to pass the test.
scene6
Scene6 is a grid of small circles with a square in one corner to indicate orientation. The small circles are needed to test zoom function over a large range.
scene6
test_zoom
Tests the camera zoom behavior. Takes captures over the zoom range and checks if the circles get bigger as the camera zooms in.
APIs tested:
-
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
Pass: Relative size of captured circle is accurate against requested zoom ratio to ensure camera is zooming correctly.
test_zoom to find the contour of the circle closest to the center.
sensor_fusion
Sensor fusion tests require specific phone movement in front of a checkerboard pattern. The sensor_fusion
tests can be automated with the Sensor Fusion Box .
Image of checkerboard
test_multi_camera_frame_sync
Tests that frame timestamps captured by logical camera are within 10 ms by computing angles of squares within the checkerboard to determine the timestamp.
APIs tested:
-
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()
Pass: Angle between images from each camera doesn't change appreciably as phone is rotated.
test_preview_stabilization
Tests that stabilized preview video rotates less than gyroscope.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: Max angle rotation over frames is less than 70% of gyroscope rotation.
The following are sample videos with and without stabilization.
Sample video with stabilization
Sample video without stabilization
test_sensor_fusion
Tests the timestamp difference between the camera and the gyroscope for AR and VR applications. Phone is rotated 90 degrees 10 times in front of the checkerboard pattern. Motion is about 2 s round trip. This test is skipped if no gyroscope is included or if the timestamp source REALTIME
parameter is not enabled.
The test_sensor_fusion
test generates a number of plots. The two most important plots for debugging are:
test_sensor_fusion_gyro_events
: Shows the gyroscope events for the phone during the test. Movement in the x and y direction implies the phone isn't securely mounted on the mounting plate, reducing the probability of the test passing. The number of cycles in the plot depends on the write speed for saving frames.test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: Shows the alignment of the gyroscope and camera events. This plot must show matching movement between camera and gyroscope to +/-1 ms.test_sensor_fusion_plot_rotations
APIs tested:
-
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
Pass: Camera and gyroscope timestamps' offset is less than 1 ms as per CDD section 7.3.9 High Fidelity Sensors [C-2-14] .
test_video_stabilization
Tests that stabilized video rotates less than gyroscope.
APIs tested:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: Max angle rotation over frames is less than 60% of gyroscope rotation.
The following are sample videos with and without stabilization.
Sample video with stabilization
Sample video without stabilization