कैमरा के लिए आईटीएस टेस्ट

इस पेज पर, Camera Image Test Suite (ITS) में शामिल टेस्ट की पूरी सूची दी गई है. यह Android Compatibility Test Suite (CTS) Verifier का हिस्सा है. आईटीएस टेस्ट, फ़ंक्शन की जांच करने वाले टेस्ट होते हैं. इसका मतलब है कि इनसे इमेज क्वालिटी का आकलन नहीं किया जाता है. हालांकि, इनसे यह पता चलता है कि विज्ञापन में दिखाए गए कैमरे के सभी फ़ंक्शन, उम्मीद के मुताबिक काम कर रहे हैं या नहीं. इस दस्तावेज़ से डेवलपर और टेस्टर को यह समझने में मदद मिलती है कि अलग-अलग टेस्ट क्या करते हैं और टेस्ट में होने वाली गड़बड़ियों को डीबग कैसे करें.

कैमरा आईटीएस गेट, ज़रूरी कैमरा प्रॉपर्टी, एपीआई लेवल, और मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) लेवल के हिसाब से जांच करता है. एपीआई लेवल के लिए, ITS किसी खास एपीआई लेवल में जोड़े गए टेस्ट को गेट करने के लिए ro.product.first_api_level का इस्तेमाल करता है. ये टेस्ट, एपीआई के निचले लेवल में फ़ंक्शन के लिए, उपयोगकर्ता अनुभव को खराब करने वाले एलिमेंट का पता लगाते हैं. ITS, किसी खास एपीआई लेवल में जोड़ी गई उन सुविधाओं के लिए टेस्ट को गेट करने के लिए ro.vendor.api_level का इस्तेमाल करता है जिनके लिए नए हार्डवेयर की ज़रूरत होती है. अगर किसी डिवाइस के लिए ro.odm.build.media_performance_class तय किया गया है, तो एमपीसी लेवल के आधार पर, आईटीएस को खास टेस्ट चलाने की ज़रूरत होती है.

टेस्ट को सीन के हिसाब से इस तरह ग्रुप किया जाता है:

  • scene0: मेटाडेटा, जटर, जियोस्कोप, वाइब्रेशन कैप्चर करें
  • scene1: एक्सपोज़र, सेंसिटिविटी, ईवी कंपेनसेशन, YUV बनाम JPEG/RAW
  • scene2: चेहरे की पहचान करने की सुविधा, ऐसे टेस्ट जिनमें कलर सीन की ज़रूरत होती है
  • scene3: किनारों को बेहतर बनाना, लेंस की मूवमेंट
  • scene4: आसपेक्ट रेशियो, काट-छांट करना, फ़ील्ड-ऑफ़-व्यू
  • scene5: लेंस के गहरा होने की समस्या
  • scene6: ज़ूम
  • scene7: एक से ज़्यादा कैमरे स्विच करना
  • scene8: एई और एडब्ल्यूबी क्षेत्र मेज़रमेंट
  • scene9: JPEG कम्प्रेशन
  • scene_extensions: कैमरे के एक्सटेंशन
  • scene_flash: ऑटोफ़्लैश, फ़्रेम रेट कम से कम
  • scene_video: फ़्रेम ड्रॉप
  • sensor_fusion: कैमरा/जाइरोस्कोप के टाइमिंग ऑफ़सेट की जानकारी
  • feature_combination: सुविधा के कॉम्बिनेशन

हर सीन की जानकारी के लिए, अलग-अलग सेक्शन देखें.

scene0

Scene0 टेस्ट के लिए, सीन की खास जानकारी की ज़रूरत नहीं होती. हालांकि, जायरोस्कोप और वाइब्रेशन की जांच के लिए, फ़ोन को एक जगह पर रखना ज़रूरी है.

test_jitter

कैमरे के टाइमस्टैंप में होने वाली झटके जैसी गतिविधियों को मेज़र करता है.

इन एपीआई की जांच की गई है:

पास: फ़्रेम के बीच कम से कम 30 एमएस का डेल्टा है.

test_jitter_plot.png

test_jitter_plot.png (Y-ऐक्सिस की छोटी रेंज पर ध्यान दें. इस प्लॉट में, असल में जटर कम है.)

test_metadata

मेटाडेटा एंट्री की पुष्टि करता है. कैप्चर किए गए नतीजों और कैमरे की विशेषताओं वाले ऑब्जेक्ट को देखता है. इस टेस्ट में auto_capture_request एक्सपोज़र और गेन वैल्यू का इस्तेमाल किया जाता है, क्योंकि इमेज का कॉन्टेंट ज़रूरी नहीं होता.

इन एपीआई की जांच की गई है:

पास: हार्डवेयर लेवल, rollingShutterSkew, frameDuration टैग, timestampSource, croppingType, blackLevelPattern, pixel_pitch, फ़ील्ड ऑफ़ व्यू, हाइपरफ़ोकल डिस्टेंस मौजूद हैं और उनकी वैल्यू मान्य हैं.

test_request_capture_match

यह जांच करता है कि कैप्चर किए गए मेटाडेटा को पढ़कर, डिवाइस सही एक्सपोज़र और गेन वैल्यू लिखता है या नहीं.

इन एपीआई की जांच की गई है:

पास: सभी शॉट में मेटाडेटा की वैल्यू मैच करने का अनुरोध करें और उन्हें कैप्चर करें.

test_sensor_events

यह जांच करता है कि डिवाइस से की गई क्वेरी सही हैं या नहीं. साथ ही, सेंसर फ़्यूज़न की सुविधा का विज्ञापन करने वाले डिवाइसों के लिए सेंसर इवेंट प्रिंट करता है. इनमें एक्सलरोमीटर, जाइरोस्कोप, और मैग्नेटोमीटर जैसे सेंसर होने चाहिए. यह जांच सिर्फ़ तब काम करती है, जब स्क्रीन चालू हो. इसका मतलब है कि डिवाइस स्टैंडबाय मोड में नहीं होना चाहिए.

इन एपीआई की जांच की गई है:

पास: हर सेंसर के लिए इवेंट मिलते हैं.

test_solid_color_test_pattern

यह जांच करता है कि कैमरे को म्यूट करने के लिए, सॉलिड कलर वाले टेस्ट पैटर्न सही तरीके से जनरेट हुए हैं या नहीं. अगर कैमरे को म्यूट करने की सुविधा काम करती है, तो एक ही रंग के टेस्ट पैटर्न काम करने चाहिए. अगर कैमरे को म्यूट करने की सुविधा काम नहीं करती है, तो सिर्फ़ तब एक जैसे रंग के टेस्ट पैटर्न की जांच की जाती है, जब इस सुविधा का विज्ञापन किया गया हो.

अगर RAW इमेज इस्तेमाल की जा सकती हैं, तो कलर असाइनमेंट की भी जांच की जाती है. जिन रंगों पर जांच की गई है उनमें काला, सफ़ेद, लाल, नीला, और हरा शामिल है. जिन कैमरों में RAW इमेज की सुविधा काम नहीं करती उनके लिए सिर्फ़ ब्लैक कलर की जांच की जाती है.

इन एपीआई की जांच की गई है:

पास: सॉलिड टेस्ट पैटर्न सही रंग के हैं और इमेज में कम वैरिएशन है.

test_test_pattern

हर मान्य टेस्ट पैटर्न के लिए फ़्रेम कैप्चर करने के लिए, android.sensor.testPatternMode पैरामीटर की जांच करता है. साथ ही, यह भी जांच करता है कि सॉलिड रंगों और कलर बार के लिए फ़्रेम सही तरीके से जनरेट हुए हैं या नहीं. इस टेस्ट में ये चरण शामिल हैं:

  1. काम करने वाले सभी टेस्ट पैटर्न के लिए इमेज कैप्चर करता है.
  2. यह एक ही रंग के टेस्ट पैटर्न और कलर बार के लिए, सही होने की आसान जांच करता है.

इन एपीआई की जांच की गई है:

पास: काम करने वाले टेस्ट पैटर्न सही तरीके से जनरेट किए गए हैं.

test_test_patterns_2

test_test_patterns_2.jpg

test_tonemap_curve

लीनियर टोनमैप की मदद से, टेस्ट पैटर्न को RAW से YUV में बदलने की जांच करता है. इस जांच के लिए, android.sensor.testPatternMode = 2 (COLOR_BARS) की ज़रूरत होती है, ताकि टोनमैप कन्वर्ज़न के लिए सही इमेज पैटर्न जनरेट किया जा सके. यह पक्का करता है कि पाइपलाइन में लीनियर टोनमैप और सही इमेज इनपुट के साथ सही रंग आउटपुट हों (test_test_patterns पर निर्भर करता है).

इन एपीआई की जांच की गई है:

पास: YUV और RAW फ़ॉर्मैट में मौजूद इमेज एक-दूसरे से मिलती-जुलती हैं.

test_tonemap_curve_raw_2

test_tonemap_curve_raw_2.jpg

test_tonemap_curve_yuv_2.jpg

test_tonemap_curve_yuv_2.jpg

test_unified_timestamp

यह जांच करता है कि इमेज और मोशन सेंसर इवेंट, एक ही टाइम डोमेन में हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: मोशन टाइमस्टैंप, दो इमेज टाइमस्टैंप के बीच में होते हैं.

test_vibration_restriction

यह जांच करता है कि डिवाइस का वाइब्रेशन उम्मीद के मुताबिक काम कर रहा है या नहीं.

इन एपीआई की जांच की गई है:

पास: कैमरे के ऑडियो पर पाबंदी लगाने वाले एपीआई की मदद से म्यूट करने पर, डिवाइस वाइब्रेट नहीं होता.

scene1

scene1 एक ग्रे चार्ट है. स्लेटी रंग का चार्ट, कैमरे के फ़ील्ड ऑफ़ व्यू के बीच के 30% हिस्से को कवर करना चाहिए. धूसर रंग के चार्ट में 3A (ऑटो एक्सपोज़र, ऑटो व्हाइट बैलेंस, ऑटो फ़ोकस) की सुविधाओं का इस्तेमाल कम किया गया है. ऐसा इसलिए किया गया है, क्योंकि बीच के हिस्से में कोई सुविधा नहीं है. हालांकि, कैप्चर करने के अनुरोध में पूरे सीन की जानकारी होती है. इसमें 3A के लिए ज़रूरी सुविधाएं शामिल होती हैं.

आरएफ़ओवी कैमरों की जांच, डब्ल्यूएफ़ओवी या आरएफ़ओवी टेस्ट रिग में की जा सकती है. अगर किसी RFoV कैमरे की जांच WFoV टेस्ट रिग में की जाती है, तो चार्ट को ⅔ तक स्केल किया जाता है. इससे, FoV में मौजूद स्लेटी रंग के चार्ट के लिए कुछ सीमाएं तय की जा सकती हैं, ताकि 3A कंवरजेंस में मदद मिल सके. कैमरे के टेस्ट रिग के बारे में ज़्यादा जानकारी के लिए, कैमरे के लिए ITS-in-a-box देखें.

scene1

scene1: फ़ुल साइज़ चार्ट (बाईं ओर). ⅔ स्केल वाला चार्ट (दाईं ओर).

test_ae_precapture_trigger

प्रीकैप्चर ट्रिगर का इस्तेमाल करते समय, एई स्टेट मशीन की जांच करता है. AE बंद होने पर, पांच मैन्युअल अनुरोध कैप्चर करता है. आखिरी अनुरोध में, एई प्रीकैप्चर ट्रिगर है. इसे अनदेखा किया जाना चाहिए, क्योंकि एई बंद है.

इन एपीआई की जांच की गई है:

पास: एई (एलिमेंट एग्रीगेशन) एक साथ मिल जाता है.

test_auto_vs_manual

अपने-आप और मैन्युअल तरीके से कैप्चर किए गए शॉट एक जैसे दिखते हैं.

इन एपीआई की जांच की गई है:

पास: हर कैप्चर के नतीजे में मैन्युअल तौर पर किए गए वाइट बैलेंस में होने वाले बदलाव और ट्रांसफ़ॉर्मेशन की जानकारी, कैमरे के 3A एल्गोरिदम से मिलने वाले ऑटो वाइट बैलेंस estimate से मेल खाती है.

test_auto_vs_manual_auto

test_auto_vs_manual_auto.jpg

test_auto_vs_manual_wb

test_auto_vs_manual_wb.jpg

test_auto_vs_manual_manual_wb_tm

test_auto_vs_manual_manual_wb_tm.jpg

test_black_white

यह जांच करता है कि डिवाइस, पूरी तरह से ब्लैक ऐंड व्हाइट इमेज जनरेट करता है या नहीं. यह दो कैप्चर लेता है. पहला कैप्चर, बहुत कम गेन और कम एक्सपोज़र के साथ लिया जाता है, जिससे काली फ़ोटो मिलती है. दूसरा कैप्चर, बहुत ज़्यादा गेन और ज़्यादा एक्सपोज़र के साथ लिया जाता है, जिससे सफ़ेद फ़ोटो मिलती है.

इन एपीआई की जांच की गई है:

पास: इससे ब्लैक ऐंड व्हाइट इमेज बनती हैं. सफ़ेद इमेज के संतृप्त चैनलों की आरजीबी वैल्यू [255, 255, 255] होती है. साथ ही, गड़बड़ी का मार्जिन 1% से कम होता है.

test_black_white_black test_black_white_black
test_black_white_black.jpg test_black_white_white.jpg

test_black_white_plot_means

test_black_white_plot_means.png

test_burst_capture

यह पुष्टि करता है कि कैप्चर करने की पूरी प्रोसेस, फ़ुल साइज़ में कैप्चर करने की स्पीड और सीपीयू के समय के हिसाब से काम कर सकती है.

इन एपीआई की जांच की गई है:

पास: यह फ़ंक्शन, फ़ुल साइज़ की इमेज को कैप्चर करता है. साथ ही, फ़्रेम ड्रॉप और इमेज की चमक की जांच करता है.

test_burst_sameness_manual

मैन्युअल कैप्चर सेटिंग की मदद से, 50 इमेज के पांच बर्स्ट लेता है और यह जांच करता है कि वे सभी एक जैसी हैं या नहीं. इस जांच का इस्तेमाल यह पता लगाने के लिए किया जा सकता है कि क्या कभी-कभी ऐसे फ़्रेम दिखते हैं जिन्हें अलग तरह से प्रोसेस किया गया है या जिनमें आर्टफ़ैक्ट हैं.

इन एपीआई की जांच की गई है:

पास: इमेज, विज़ुअल और आरजीबी वैल्यू में एक जैसी हैं.

अमान्य: हर बर्स्ट की शुरुआत में, आरजीबी औसत चार्ट में स्पाइक या गिरावट दिखती है

  • first_API_level < 30 के लिए, टॉलरेंस 3% है
  • first_API_level >= 30 के लिए, टॉलरेंस 2% है

test_burst_sameness_manual_mean

test_burst_sameness_manual_mean.jpg

test_burst_sameness_manual_plot_means

test_burst_sameness_manual_plot_means.png

test_capture_result

यह जांच करता है कि CaptureResult ऑब्जेक्ट में मान्य डेटा वापस आता है या नहीं. ऑटो, मैन्युअल, और ऑटो कैप्चर की सुविधा देता है.

इन एपीआई की जांच की गई है:

पास: मेटाडेटा सभी कैप्चर के लिए मान्य है और मैन्युअल सेटिंग, अपने-आप होने वाले दूसरे कैप्चर में लीक नहीं होती हैं. कैप्चर किए गए फ़ोटो में, लेंस के गलत रंग को ठीक करता है.

test_capture_result_plot_lsc_auto_ch0

test_capture_result_plot_lsc_auto_ch0.png

test_crop_region_raw

यह जांच करता है कि RAW स्ट्रीम को काटा जा सकता है या नहीं.

इन एपीआई की जांच की गई है:

पास: YUV इमेज को बीच से काटा जाता है, लेकिन RAW इमेज को नहीं.

test_crop_region_raw_comp_raw_crop

test_crop_region_raw_comp_raw_crop.jpg

test_crop_region_raw_comp_raw_full

test_crop_region_raw_comp_raw_full.jpg

test_crop_region_raw_comp_yuv_crop

test_crop_region_raw_comp_yuv_crop.jpg

test_crop_region_raw_yuv_full

test_crop_region_raw_yuv_full.jpg

test_crop_regions

यह जांच करता है कि फ़ोटो के हिस्से को काटने की सुविधा काम कर रही है या नहीं. यह पूरी इमेज लेता है और पांच अलग-अलग इलाकों (कोने और बीच) के पैच बनाता है. पांच क्षेत्रों के लिए क्रॉप सेट करके इमेज लेता है. पैच और काटी गई इमेज की वैल्यू की तुलना करता है.

इन एपीआई की जांच की गई है:

पास: काटे गए हिस्से की इमेज, काटी गई इमेज से जुड़े पैच से मेल खाती है.

test_dng_noise_model

यह पुष्टि करता है कि DNG रॉ मॉडल पैरामीटर सही हैं. इस प्लॉट में, अलग-अलग सेंसिटिविटी पर कैप्चर किए गए रॉ शॉट में, स्लेटी रंग के कार्ड के बीच वाले पैच के लिए, मापा गया वैरिएंस दिखाया गया है. साथ ही, इन वैल्यू की तुलना, कैमरा एचएएल में DNG नॉइज़ मॉडल के हिसाब से, हर सेंसिटिविटी पर होने वाले वैरिएंस से की गई है. यह वैरिएंस, कैप्चर के नतीजे वाले ऑब्जेक्ट में दिखाए गए O,S पैरामीटर के आधार पर तय होता है. DNG नॉइज़ मॉडल के बारे में ज़्यादा जानकारी के लिए, DNG नॉइज़ मॉडल के बारे में यह दस्तावेज़ डाउनलोड करें.

इन एपीआई की जांच की गई है:

पास: DNG रॉ मॉडल के पैरामीटर सही हैं. अनुमानित आरजीबी वैल्यू, मेज़र की गई असल आरजीबी वैल्यू से मेल खाती हैं.

test_dng_noise_model_plog

test_dng_noise_model_plog.png

test_ev_compensation_advanced

यह जांच करता है कि एक्सपोज़र वैल्यू (ईवी) का कंपेसेशन लागू किया गया है या नहीं. इस जांच में, आठ चरणों में एक्सपोज़र बढ़ाया जाता है. साथ ही, मेज़र की गई चमक और उम्मीद की गई चमक की तुलना की जाती है. अनुमानित वैल्यू का हिसाब, इमेज की चमक से लगाया जाता है. इसमें ईवी (एक्सपोज़र वैल्यू) का इस्तेमाल नहीं किया जाता. अगर कैलकुलेट की गई वैल्यू, इमेज की असल वैल्यू की सीमा से ज़्यादा हो जाती हैं, तो अनुमानित वैल्यू संतृप्त हो जाएगी. अगर उम्मीद की गई वैल्यू और मेज़र की गई वैल्यू मेल नहीं खाती हैं या पांच चरणों में इमेज ज़्यादा एक्सपोज़ हो जाती हैं, तो जांच पूरी नहीं होती.

इन एपीआई की जांच की गई है:

पास: इमेज में पांच चरणों में, ज़्यादा एक्सपोज़र दिए बिना एक्सपोज़र बढ़ाया गया है.

test_ev_compensation_advanced_plot_means

test_ev_compensation_advanced_plot_means.png

test_ev_compensation_basic

यह जांच करता है कि ईवी के लिए मुआवजा, CONTROL_AE_COMPENSATION_STEP की मदद से बनाई गई रेंज का इस्तेमाल करके लागू किया गया है या नहीं. हर कंपेसेशन वैल्यू के लिए आठ फ़्रेम कैप्चर किए जाते हैं.

इन एपीआई की जांच की गई है:

पास: ज़्यादा ईवी कंपेसेशन सेटिंग के साथ ल्यूमा में बढ़ोतरी को कैप्चर करता है. साथ ही, हर ईवी कंपेसेशन सेटिंग के लिए कैप्चर किए गए आठ फ़्रेम में ल्यूमा वैल्यू स्थिर होती हैं.

test_ev_compensation_basic

test_ev_compensation_basic.png

test_exposure_x_iso

यह जांच करता है कि ISO और एक्सपोज़र समय अलग-अलग होने पर, लगातार एक्सपोज़र मिलता है या नहीं. एक से ज़्यादा शॉट लेता है. इनमें आईएसओ और एक्सपोज़र का समय, एक-दूसरे के हिसाब से चुना जाता है. नतीजों की चमक एक जैसी होनी चाहिए, लेकिन क्रम में इमेज में गड़बड़ी दिखनी चाहिए. यह पुष्टि करता है कि सैंपल पिक्सल की औसत वैल्यू एक-दूसरे के करीब हैं. यह पक्का करता है कि इमेज को 0 या 1 पर क्लैंप न किया गया हो. ऐसा करने पर, इमेज फ़्लैट लाइन की तरह दिखेंगी. अपनी कॉन्फ़िगरेशन फ़ाइल में debug फ़्लैग सेट करके, टेस्ट को RAW इमेज के साथ भी चलाया जा सकता है.

इन एपीआई की जांच की गई है:

पास: इमेज की चमक एक जैसी है, लेकिन ज़्यादा आईएसओ के साथ नॉइज़ बढ़ जाता है. जब ISO*एक्सपोज़र की वैल्यू, जांचे गए गेन स्पेस में एक जैसी रहती है, तो आरजीबी प्लैन फ़्लैट होते हैं.

काम न करने की वजह:

  • test_exposure_plot_means.png में, गेन मल्टीप्लायर वैल्यू (x-ऐक्सिस) बढ़ने पर, सामान्य किए गए RGB प्लेन की औसत वैल्यू (y-ऐक्सिस), कम गेन मल्टीप्लायर वैल्यू से अलग होने लगती हैं.

test_exposure_plot_means

test_exposure_plot_means.png

test_exposure_mult=1.00 test_exposure_mult=64.00
test_exposure_mult=1.00.jpg test_exposure_mult=64.00.jpg

test_jpeg

यह जांच करना कि YUV फ़ॉर्मैट में बदली गई इमेज और डिवाइस की JPEG इमेज एक जैसी दिखती हैं या नहीं. टेस्ट में, इमेज के बीच के 10% हिस्से का इस्तेमाल करके आरजीबी वैल्यू का हिसाब लगाया जाता है. साथ ही, यह पुष्टि की जाती है कि दोनों वैल्यू एक जैसी हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: हर इमेज के बीच आरजीबी का औसत अंतर 3% से कम है.

test_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg
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=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=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=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=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=12.jpg
test_latching_i=12.jpg

test_latching_plot_means

test_latching_plot_means.png

test_linearity

यह जांच करता है कि डिवाइस पर प्रोसेसिंग को लीनियर पिक्सल में बदला जा सकता है या नहीं. एक ही टारगेट पर फ़ोकस करके, डिवाइस से शॉट का एक सिलसिला कैप्चर करता है.

इन एपीआई की जांच की गई है:

पास: संवेदनशीलता बढ़ने के साथ, R, G, B वैल्यू रैखिक रूप से बढ़नी चाहिए.

test_linearity_plot_means

test_linearity_plot_means.png

test_locked_burst

ऑटो सेटिंग का इस्तेमाल करके, 3A लॉक और YUV बर्स्ट की जांच करता है. इस टेस्ट को इस तरह से डिज़ाइन किया गया है कि यह उन सीमित डिवाइसों पर भी पास हो जाए जिनमें MANUAL_SENSOR या PER_FRAME_CONTROLS नहीं है. इस टेस्ट में YUV इमेज की एक जैसी होने की जांच की जाती है, जबकि फ़्रेम रेट की जांच CTS में की जाती है.

इन एपीआई की जांच की गई है:

पास: कैप्चर एक जैसे दिखते हैं.

test_locked_burst_frame0

test_locked_burst_frame0.jpg

test_locked_burst_frame1

test_locked_burst_frame1.jpg

test_locked_burst_frame2

test_locked_burst_frame2.jpg

test_param_color_correction

यह जांच करता है कि सेट होने पर android.colorCorrection.* पैरामीटर लागू होते हैं या नहीं. अलग-अलग ट्रांसफ़ॉर्म और गेन वैल्यू के साथ शॉट लेता है और यह जांचता है कि वे अलग-अलग दिखते हैं या नहीं. आउटपुट को ज़्यादा से ज़्यादा लाल या नीला बनाने के लिए, ट्रांसफ़ॉर्म और गेन चुने जाते हैं. लीनियर टोनमैप का इस्तेमाल करता है. टोन मैपिंग एक ऐसी तकनीक है जिसका इस्तेमाल इमेज प्रोसेसिंग में किया जाता है. इससे रंगों के एक सेट को दूसरे सेट पर मैप किया जाता है, ताकि हाई डाइनैमिक रेंज वाली इमेज को ऐसे मीडियम में दिखाया जा सके जिसकी डाइनैमिक रेंज सीमित हो.

इन एपीआई की जांच की गई है:

पास: ट्रांसफ़ॉर्मेशन के हिसाब से R और B वैल्यू बढ़ जाती हैं.

test_param_color_correction_plot_means

test_param_color_correction_plot_means.png

*x-ऐक्सिस, कैप्चर के अनुरोध हैं: 0 = यूनिटी, 1=रेड बूस्ट, 2= ब्लू बूस्ट

test_param_color_correction_req=0

test_param_color_correction_req=0.jpg

test_param_color_correctness_req=1

test_param_color_correctness_req=1.jpg (R boost)

test_param_color_correction_req=2

test_param_color_correction_req=2.jpg (B boost)

test_param_flash_mode

यह जांच करता है कि android.flash.mode पैरामीटर लागू है या नहीं. मैन्युअल तरीके से एक्सपोज़र को गहरे रंग पर सेट करता है, ताकि यह साफ़ तौर पर पता चल सके कि फ़्लैश चालू हुआ है या नहीं. साथ ही, यह लीनियर टोनमैप का इस्तेमाल करता है. टाइल इमेज के साथ बीच में मौजूद जगह की जांच करके यह पता लगाया जाता है कि क्या फ़्लैश चालू हुआ है या नहीं.

इन एपीआई की जांच की गई है:

पास: टाइल इमेज के बीच में बड़ा ग्रेडिएंट है, जिसका मतलब है कि फ़्लैश ट्रिगर हुआ.

test_param_flash_mode_1

test_param_flash_mode_1.jpg

test_param_flash_mode_1_tile

test_param_flash_mode_1_tile.jpg

test_param_flash_mode_2

test_param_flash_mode_2.jpg

test_param_flash_mode_2_tile

test_param_flash_mode_2_tile.jpg

test_param_noise_reduction

यह जांच करता है कि सेट होने पर, android.noiseReduction.mode पैरामीटर सही तरीके से लागू होता है या नहीं. कम रोशनी में कैमरे से इमेज कैप्चर करना. यह एनालॉग गेन का इस्तेमाल करता है, ताकि यह पक्का किया जा सके कि कैप्चर की गई इमेज में नॉइज़ न हो. एनआर बंद, "तेज़", और "अच्छी क्वालिटी" के लिए, तीन इमेज कैप्चर की जाती हैं. यह कम गेन और एनआर बंद होने पर भी इमेज कैप्चर करता है. साथ ही, इसके वैरिएंस का इस्तेमाल बेसलाइन के तौर पर करता है. एसएनआर (सिग्नल-टू-नॉइज़ रेशियो) जितना ज़्यादा होगा, इमेज की क्वालिटी उतनी ही बेहतर होगी.

इन एपीआई की जांच की गई है:

पास: शोर कम करने के अलग-अलग मोड के हिसाब से, एसएनआर अलग-अलग होता है. यह नीचे दिए गए ग्राफ़ की तरह ही काम करता है.

test_param_noise_reduction_plot_SNRs

test_param_noise_reduction_plot_SNRs.png

0: बंद, 1: तेज़, 2: एचक्यू, 3: कम , 4: ज़ेडएसएल

test_param_noise_reduction_high_gain_nr=0

test_param_noise_reduction_high_gain_nr=0.jpg

test_param_noise_reduction_high_gain_nr=1

test_param_noise_reduction_high_gain_nr=1.jpg

test_param_noise_reduction_high_gain_nr=2

test_param_noise_reduction_high_gain_nr=2.jpg

test_param_noise_reduction_high_gain_nr=3

test_param_noise_reduction_high_gain_nr=3.jpg

test_param_noise_reduction_low_gain

test_param_noise_reduction_low_gain.jpg

test_param_shading_mode

यह जांच करता है कि android.shading.mode पैरामीटर लागू है या नहीं.

इन एपीआई की जांच की गई है:

पास: शेडिंग मोड स्विच हो जाते हैं और लेंस शेडिंग मैप में, उम्मीद के मुताबिक बदलाव हो जाते हैं.

test_param_shading_mode_ls_maps_mode_0_loop_0

test_param_shading_mode_ls_maps_mode_0_loop_0.png

test_param_shading_mode_ls_maps_mode_1_loop_0

test_param_shading_mode_ls_maps_mode_1_loop_0.png

test_param_shading_mode_ls_maps_mode_2_loop_0

test_param_shading_mode_ls_maps_mode_2_loop_0.png

test_param_tonemap_mode

यह जांच करता है कि android.tonemap.mode पैरामीटर लागू है या नहीं. यह हर R, G, B चैनल पर अलग-अलग टोनमैप कर्व लागू करता है. साथ ही, यह जांच करता है कि आउटपुट इमेज में उम्मीद के मुताबिक बदलाव हुए हैं या नहीं. इस टेस्ट में दो टेस्ट शामिल हैं, test1 और test2.

इन एपीआई की जांच की गई है:

पास:

  • test1: दोनों इमेज में लीनियर टोनमैप है, लेकिन n=1 में ज़्यादा तीव्र ग्रेडिएंट है. n=1 इमेज के लिए G (हरा) चैनल ज़्यादा चमकीला है.
  • test2: एक ही टोनमैप, लेकिन अलग-अलग लंबाई. इमेज एक जैसी हैं.
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg

test_post_raw_sensitivity_boost

यह जांच करता है कि RAW फ़ॉर्मैट में, बेहतर इमेज क्वालिटी के लिए, डेटा इकट्ठा करने की क्षमता को बढ़ाने की सुविधा चालू है या नहीं. अलग-अलग सेंसिटिविटी के साथ RAW और YUV इमेज का सेट कैप्चर करता है. साथ ही, RAW सेंसिटिविटी को बढ़ाने वाले कॉम्बिनेशन को पोस्ट करता है और यह जांच करता है कि आउटपुट पिक्सल का माध्य, अनुरोध सेटिंग से मेल खाता है या नहीं.

इन एपीआई की जांच की गई है:

पास: बूस्ट की वैल्यू बढ़ने पर, RAW इमेज का रंग गहरा हो जाता है, जबकि YUV इमेज की चमक में कोई बदलाव नहीं होता

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_raw_plot_means

test_post_raw_sensitivity_boost_raw_plot_means.png

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg

test_post_raw_sensitivity_boost_yuv_plot_means

test_post_raw_sensitivity_boost_yuv_plot_means.png

test_raw_burst_sensitivity

यह फ़ंक्शन, गैन को बढ़ाकर रॉ इमेज का सेट कैप्चर करता है और नॉइज़ को मेज़र करता है. बर्स्ट मोड में सिर्फ़ रॉ फ़ोटो कैप्चर करता है.

इन एपीआई की जांच की गई है:

पास: हर शॉट पिछले शॉट से ज़्यादा नॉइज़ी होता है, क्योंकि गेन बढ़ रहा है.

इसमें सेंटर के आंकड़ों वाली ग्रिड सेल के वैरिएंस का इस्तेमाल किया जाता है.

test_raw_burst_sensitivity_variance

test_raw_burst_sensitivity_variance.png

test_raw_exposure

एक्सपोज़र के समय को बढ़ाकर, रॉ इमेज का सेट कैप्चर करता है और पिक्सल वैल्यू को मेज़र करता है.

इन एपीआई की जांच की गई है:

पास: आईएसओ (गेन) बढ़ाने से पिक्सल, लाइट के लिए ज़्यादा संवेदनशील हो जाते हैं. इसलिए, प्लॉट बाईं ओर बढ़ जाता है.

test_raw_exposure_s=55

test_raw_exposure_s=55.png

(10⁰ 1 मि॰से॰ है, 10¹ 10 मि॰से॰ है, 10⁻¹ 0.1 मि॰से॰ है)

test_raw_exposure_s=132

test_raw_exposure_s=132.png

test_raw_exposure_s=209

test_raw_exposure_s=209.png

test_raw_exposure_s=286

test_raw_exposure_s=286.png

test_raw_exposure_s=363

test_raw_exposure_s=363.png

test_raw_exposure_s=440

test_raw_exposure_s=440.png

test_raw_sensitivity

यह बढ़ती संवेदनशीलता के साथ रॉ इमेज का एक सेट कैप्चर करता है और इमेज के बीच के 10% हिस्से में मौजूद गड़बड़ी (वैरिएंस) को मेज़र करता है. यह जांच करता है कि हर शॉट, पिछले शॉट से ज़्यादा शोर वाला है या नहीं.

इन एपीआई की जांच की गई है:

पास: हर शॉट के साथ वैरिएंस बढ़ता है.

test_raw_sensitivity_variance

test_raw_sensitivity_variance.png

test_reprocess_noise_reduction

ऐसे टेस्ट जिनके लिए android.noiseReduction.mode, अनुरोधों को फिर से प्रोसेस करने के लिए लागू किया जाता है. कम रोशनी में कैमरे से फिर से प्रोसेस की गई इमेज कैप्चर करता है. यह पक्का करने के लिए कि कैप्चर की गई इमेज में नॉइज़ न हो, इसमें हाई एनालॉग गेन का इस्तेमाल किया जाता है. एनआर (नॉन-रेज़ोल्यूशन) बंद, "तेज़", और "अच्छी क्वालिटी" के लिए, फिर से प्रोसेस की गई तीन इमेज कैप्चर करता है. कम गेन और एनआईआर बंद करके, फिर से प्रोसेस की गई इमेज कैप्चर करता है. साथ ही, इस वैरिएंस का इस्तेमाल बेसलाइन के तौर पर करता है.

इन एपीआई की जांच की गई है:

पास: फ़ास्ट >= बंद, एचक्यू >= फ़ास्ट, एचक्यू >> बंद

सामान्य SNR बनाम NR_MODE प्लॉट

सामान्य SNR बनाम NR_MODE प्लॉट

test_tonemap_sequence

अलग-अलग टोनमैप कर्व के साथ शॉट के क्रम की जांच करता है. लीनियर टोनमैप की मदद से, मैन्युअल तरीके से तीन शॉट कैप्चर करता है. डिफ़ॉल्ट टोनमैप की मदद से, तीन मैन्युअल शॉट कैप्चर करता है. यह एक-दूसरे के बाद वाले हर फ़्रेम के बीच के डेल्टा का हिसाब लगाता है.

इन एपीआई की जांच की गई है:

पास: तीन एक जैसे फ़्रेम के बाद, तीन एक जैसे फ़्रेम का एक अलग सेट है.

test_tonemap_sequence_i=0

test_tonemap_sequence_i=0.jpg

test_tonemap_sequence_i=1

test_tonemap_sequence_i=1.jpg

test_tonemap_sequence_i=2

test_tonemap_sequence_i=2.jpg

test_tonemap_sequence_i=3

test_tonemap_sequence_i=3.jpg

test_tonemap_sequence_i=4

test_tonemap_sequence_i=4.jpg

test_tonemap_sequence_i=5

test_tonemap_sequence_i=5.jpg

test_yuv_jpeg_all

यह जांच करता है कि इमेज कैप्चर करने के लिए, रिपोर्ट किए गए सभी साइज़ और फ़ॉर्मैट काम करते हैं या नहीं. लीनियर टोनमैप के साथ मैन्युअल अनुरोध का इस्तेमाल करता है, ताकि image_processing_utils मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें. इमेज डिफ़ॉल्ट रूप से सेव नहीं होतीं. हालांकि, debug_mode को चालू करके इन्हें सेव किया जा सकता है.

इन एपीआई की जांच की गई है:

पास: सभी इमेज सेंटर में, आरजीबी में बदली गई इमेज के बीच ज़्यादा से ज़्यादा आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर, सबसे ज़्यादा रिज़ॉल्यूशन वाली YUV इमेज के 3% के बराबर है.

test_yuv_jpeg_all

test_yuv_jpeg_all.png

test_yuv_plus_dng

यह जांच करता है कि इमेज कैप्चर करने के लिए, बताए गए साइज़ और फ़ॉर्मैट काम करते हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: टेस्ट पूरा हो जाता है और अनुरोध की गई इमेज दिखाता है.

test_yuv_plus_dng

test_yuv_plus_dng.jpg

test_yuv_plus_jpeg

YUV और JPEG, दोनों आउटपुट के तौर पर एक फ़्रेम कैप्चर करने की जांच करता है. लीनियर टोनमैप के साथ मैन्युअल अनुरोध का इस्तेमाल करता है, ताकि image_processing_utils मॉड्यूल से बदलने पर YUV और JPEG एक जैसे दिखें.

इन एपीआई की जांच की गई है:

पास: YUV और JPEG इमेज एक जैसी हैं और इनमें आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर 1% से कम है.

test_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg
test_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg

test_yuv_plus_raw

यह जांच करता है कि एक फ़्रेम को RAW/RAW10/RAW12 और YUV आउटपुट, दोनों के तौर पर कैप्चर किया जा सकता है या नहीं. लीनियर टोनमैप के साथ मैन्युअल अनुरोध का इस्तेमाल करता है, ताकि रॉ और YUV एक जैसे हों. आरजीबी में बदली गई इमेज के बीच के 10% हिस्से की आरजीबी वैल्यू की तुलना करता है. लॉगandroid.shading.mode.

इन एपीआई की जांच की गई है:

पास: YUV और रॉ इमेज एक जैसी हैं और इनमें आरएमएस (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर 3.5% से कम है.

test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg
test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg

scene2_a

scene2_a में तीन चेहरे हैं. इनके बैकग्राउंड का रंग स्लेटी है और कपड़े न्यूट्रल हैं. इन चेहरों को चुनने का मकसद, त्वचा के अलग-अलग रंगों को शामिल करना है. चेहरे की पहचान करने की सुविधा सही तरीके से काम करे, इसके लिए चार्ट का ओरिएंटेशन सही होना चाहिए.

scene2_a

scene2_a

test_autoframing

कैमरा डिवाइस के ऑटोफ़्रेमिंग व्यवहार की जांच करता है. ज़ूम करके वीडियो को इतना बड़ा कर दिया जाता है कि स्क्रीन पर कोई भी चेहरा न दिखे. इसके बाद, CaptureRequest में AUTOFRAMING को True पर सेट करके, ऑटोफ़्रेमिंग मोड चालू किया जाता है. साथ ही, यह भी जांच की जाती है कि स्टेटस के एक जैसे होने पर, ओरिजनल सीन में मौजूद सभी चेहरों का पता लगाया जा सकता है या नहीं. इसका मतलब है कि CaptureResult में AUTOFRAMING_STATE को AUTOFRAMING_STATE_CONVERGED पर सेट करने पर.

इन एपीआई की जांच की गई है:

पास: तीनों चेहरों की पहचान की गई.

test_display_p3

ColorSpaceProfiles API का इस्तेमाल करके, Display P3 कैप्चर को JPEG में बदलने की जांच करता है. यह जांच करता है कि कैप्चर किए गए JPEG के हेडर में सही ICC प्रोफ़ाइल है या नहीं. साथ ही, यह भी जांच करता है कि इमेज में sRGB गैमट से बाहर के रंग हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: JPEG में Display P3 ICC प्रोफ़ाइल और sRGB के गैमुट से बाहर के रंग शामिल हैं.

test_effects

यह कैमरे के उन इफ़ेक्ट के लिए फ़्रेम कैप्चर करता है जिनका इस्तेमाल किया जा सकता है. साथ ही, यह जांच करता है कि इफ़ेक्ट सही तरीके से जनरेट हुए हैं या नहीं. यह टेस्ट सिर्फ़ OFF और MONO इफ़ेक्ट की जांच करता है. हालांकि, काम करने वाले सभी इफ़ेक्ट के लिए इमेज सेव करता है.

इन एपीआई की जांच की गई है:

पास: इफ़ेक्ट OFF के साथ सीन की इमेज और इफ़ेक्ट MONO पर सेट की गई एक मोनोक्रोम इमेज कैप्चर करता है.

test_effects_MONO

test_effects_MONO.jpg

test_format_combos

आउटपुट फ़ॉर्मैट के अलग-अलग कॉम्बिनेशन की जांच करता है.

इन एपीआई की जांच की गई है:

पास: सभी कॉम्बिनेशन कैप्चर हो गए हैं.

test_num_faces

चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरों की पहचान करता है.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_reprocess_uv_swap

यह जांच करता है कि YUV रीप्रोसेसिंग में, U और V प्लेन को स्वैप न किया गया हो. इसे पता लगाने के लिए, फिर से प्रोसेस की गई इमेज और फिर से प्रोसेस नहीं की गई इमेज के बीच के अंतर (एसएडी) का योग कैलकुलेट किया जाता है. अगर फिर से प्रोसेस किए गए कैप्चर के आउटपुट U और V प्लैन को स्वैप करने से एसएडी बढ़ जाता है, तो यह माना जाता है कि आउटपुट में सही U और V प्लैन हैं.

इन एपीआई की जांच की गई है:

पास: U और V प्लेन को आपस में बदला नहीं गया है.

test_reprocess_uv_swap

test_reprocess_uv_swap.png

scene2_b

test_num_faces

चेहरे के अलग-अलग सीन में, त्वचा की अलग-अलग रंगत के साथ चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरे ढूंढता है.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_yuv_jpeg_capture_sameness

सबसे बड़े सामान्य YUV और JPEG फ़ॉर्मैट का इस्तेमाल करके दो इमेज कैप्चर करता है. इन इमेज का आसपेक्ट रेशियो, सबसे बड़े JPEG फ़ॉर्मैट के आसपेक्ट रेशियो जैसा ही होता है. साथ ही, इनका रिज़ॉल्यूशन 1920x1440 से ज़्यादा नहीं होता. jpeg.quality को 100 पर सेट करता है और ड्यूअल प्लैटफ़ॉर्म के लिए अनुरोध कैप्चर करता है. यह दोनों इमेज को RGB ऐरे में बदल देता है और दोनों इमेज के बीच 3D रूट मीन स्क्वेयर (RMS) अंतर का हिसाब लगाता है.

साथ ही, इस टेस्ट से यह पुष्टि की जाती है कि स्ट्रीम के इस्तेमाल के सभी उदाहरणों के लिए YUV आउटपुट, STILL_CAPTURE इस्तेमाल के उदाहरण के YUV आउटपुट से काफ़ी हद तक मिलते-जुलते हैं.

इन एपीआई की जांच की गई है:

पास: STILL_CAPTURE इस्तेमाल के उदाहरण के लिए, YUV और JPEG इमेज के बीच RMS (सिग्नल की रूट-मीन-स्क्वेयर वैल्यू) का अंतर 3% से कम है. साथ ही, इस्तेमाल के सभी उदाहरणों के लिए, YUV इमेज के बीच RMS का अंतर STILL_CAPTURE इस्तेमाल के उदाहरण के लिए, YUV इमेज के बीच RMS का अंतर 10% से कम है.

scene2_c

test_num_faces

चेहरे के अलग-अलग सीन में, त्वचा की अलग-अलग रंगत के साथ चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरे ढूंढता है.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_jpeg_capture_perf_class

सीडीडी में सेक्शन 2.2.7.2 कैमरा में बताए गए मुताबिक, S परफ़ॉर्मेंस क्लास के लिए JPEG कैप्चर में लगने वाले समय की जांच करता है.

पास: 1080p रिज़ॉल्यूशन के लिए, कैमरा2 JPEG कैप्चर में लगने वाला समय 1000 मिलीसेकंड से कम होना चाहिए. यह समय, दोनों प्राइमरी कैमरों के लिए, ITS लाइटिंग कंडीशन (3000K) में CTS कैमरा परफ़ॉर्मेंस टेस्ट के हिसाब से मेज़र किया जाता है.

test_camera_launch_perf_class

सीडीडी में बताए गए सेक्शन 2.2.7.2 कैमरा के मुताबिक, S परफ़ॉर्मेंस क्लास के लिए कैमरे के लॉन्च होने में लगने वाले समय की जांच करता है.

पास: कैमरा चालू होने में लगने वाला समय (कैमरा चालू करने से लेकर, स्क्रीन पर पहली झलक दिखने में लगने वाला समय) 600 मिलीसेकंड से कम होना चाहिए. यह समय, दोनों मुख्य कैमरों के लिए, सीटीएस कैमरा परफ़ॉर्मेंस टेस्ट के तहत, रोशनी की आईटीएस स्थितियों (3000K) में मेज़र किया जाता है.

test_default_camera_hdr

यह जांच करता है कि कैमरे से डिफ़ॉल्ट रूप से, परफ़ॉर्मेंस क्लास 15 के लिए अल्ट्रा एचडीआर में फ़ोटो ली जा रही है या नहीं. इस बारे में सीडीडी के सेक्शन 2.2.7.2 कैमरा में बताया गया है.

पास: परफ़ॉर्मेंस क्लास 15 वाले डिवाइस के लिए, डिफ़ॉल्ट कैमरा पैकेज कैप्चर, अल्ट्रा एचडीआर होना चाहिए.

scene2_d

test_num_faces

चेहरे के अलग-अलग सीन में, त्वचा की अलग-अलग रंगत के साथ चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरे ढूंढता है.

scene2_e

test_continuous_picture

कैप्चर करने के अनुरोध की पहली सेटिंग में, 50 वीजीए रिज़ॉल्यूशन वाले फ़्रेम कैप्चर किए जाते हैं android.control.afMode = 4 (CONTINUOUS_PICTURE).

इन एपीआई की जांच की गई है:

पास: 3A सिस्टम, 50 फ़्रेम कैप्चर करने के बाद सेट हो जाता है.

test_num_faces

चेहरे के अलग-अलग सीन में, त्वचा की अलग-अलग रंगत के साथ चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरे ढूंढता है.

scene2_f

scene2_f में तीन चेहरे हैं. इनके बैकग्राउंड और कपड़े सफ़ेद हैं. चेहरों की त्वचा के रंग अलग-अलग हों और बैकग्राउंड के मुकाबले उनका कंट्रास्ट ज़्यादा हो.

scene2_f.png

scene2_f

test_num_faces

चेहरे के अलग-अलग सीन में, त्वचा की अलग-अलग रंगत के साथ चेहरे की पहचान करने की सुविधा की जांच करता है.

इन एपीआई की जांच की गई है:

पास: तीन चेहरे ढूंढता है.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

scene3

Scene3, ISO12233 चार्ट का इस्तेमाल करता है. साथ ही, ज़्यादातर टेस्ट में चार्ट एक्सट्रैक्टर का तरीका इस्तेमाल करके, सीन में चार्ट ढूंढा जाता है. इस वजह से, सेव की गई ज़्यादातर इमेज में, सीन 1, 2 या 4 की इमेज की तरह बॉर्डर नहीं होते. इनमें सिर्फ़ चार्ट होता है. चार्ट फ़ाइंडर के सही तरीके से काम करने के लिए, चार्ट सही ओरिएंटेशन में होना चाहिए.

test_edge_enhancement

यह जांच करता है कि android.edge.mode पैरामीटर सही तरीके से लागू किया गया है या नहीं. हर एज मोड के लिए, फिर से प्रोसेस न की गई इमेज कैप्चर करता है. साथ ही, आउटपुट इमेज की शार्पनेस और कैप्चर के नतीजे का मेटाडेटा दिखाता है. यह फ़ंक्शन, दिए गए एज मोड, संवेदनशीलता, एक्सपोज़र समय, फ़ोकस की दूरी, और आउटपुट के प्लैटफ़ॉर्म पैरामीटर के साथ, कैप्चर करने के अनुरोध को प्रोसेस करता है.

पास: HQ मोड (2) OFF मोड (0) से ज़्यादा शार्प है. FAST मोड (1), OFF मोड से बेहतर है. HQ मोड, FAST मोड के बराबर या उससे बेहतर है.

इन एपीआई की जांच की गई है:

इन कैमरा पैरामीटर पर असर पड़ा है:

  • EDGE_MODE

test_edge_enhancement_edge=0

test_edge_enhancement_edge=0.jpg

test_edge_enhancement_edge=1

test_edge_enhancement_edge=1.jpg (फास्ट मोड)

test_edge_enhancement_edge=2

test_edge_enhancement_edge=2.jpg (अच्छी क्वालिटी वाला मोड)

test_flip_mirror

यह जांच करता है कि इमेज, सीडीडी सेक्शन 7.5.2 सामने वाला कैमरा [C-1-5] के मुताबिक सही तरीके से ओरिएंट की गई है या नहीं.

मिरर की गई, फ़्लिप की गई या घुमाई गई इमेज की पहचान, बीच में मौजूद डायमंड की सुविधा से की जा सकती है.

पास: इमेज को फ़्लिप, मिरर या घुमाया नहीं गया है.

test_flip_mirror_scene_patch

test_flip_mirror_scene_patch.jpg

test_imu_drift

यह जांच करता है कि डिवाइस के स्थिर होने और हाई डेफ़िनिशन में झलक कैप्चर करने के दौरान, इनर्शियल मेज़रमेंट यूनिट (आईएमयू) का आउटपुट 30 सेकंड तक स्थिर है या नहीं.

इन एपीआई की जांच की गई है:

पास:

  • जांच के दौरान, गायरो का ड्रिफ़्ट 0.01 रेडियन से कम है.
  • जांच के दौरान, जायरो रीडिंग का वैरिएंस 1E-7 rad2/s2/Hz से कम है.
  • टेस्ट के दौरान, रोटेशन वेक्टर का ड्रिफ़्ट 0.01 रेडियन से कम है.
  • (अभी ज़रूरी नहीं है) जाइरो का ड्रिफ़्ट, हर सेकंड में एक डिग्री से कम हो.

test_imu_drift_gyro_drift.png

test_imu_drift_gyro_drift.png

test_imu_drift_rotation_vector_drift.png

test_imu_drift_rotation_vector_drift.png

test_landscape_to_portrait

यह जांच करता है कि लैंडस्केप से पोर्ट्रेट में बदलने की सुविधा, लैंडस्केप ओरिएंटेड सेंसर के लिए सही तरीके से काम करती है या नहीं.

इन एपीआई की जांच की गई है:

पास: टेस्ट, चार्ट को उम्मीद के मुताबिक घुमाकर ढूंढ पाता है. लैंडस्केप से पोर्ट्रेट में बदलने की सुविधा बंद होने पर, चार्ट 0 डिग्री पर और चालू होने पर 90 डिग्री पर घूमता है.

test_landscape_to_portrait

test_landscape_to_portrait.png

test_lens_movement_reporting

यह जांच करता है कि लेंस की मूवमेंट की जानकारी देने वाले फ़्लैग की शिकायत सही तरीके से की गई है या नहीं. यह मोड, 24 इमेज का बर्स्ट कैप्चर करता है. इसमें पहले 12 फ़्रेम, ऑप्टिमम फ़ोकस डिस्टेंस (3A से पता चलता है) पर और आखिरी 12 फ़्रेम, कम से कम फ़ोकस डिस्टेंस पर कैप्चर किए जाते हैं. 12वें फ़्रेम के आस-पास, लेंस के हिलने की वजह से फ़ोटो की क्वालिटी खराब हो गई है. लेंस की आखिरी पोज़िशन पर पहुंचने के बाद, इमेज की क्वालिटी में कोई बदलाव नहीं होता. लेंस मूवमेंट फ़्लैग को उन सभी फ़्रेम में दिखाया जाना चाहिए जिनमें फ़ोकस की डिग्री, सबसे पहले कुछ फ़्रेम में मध्यम से ज़्यादा और आखिरी कुछ फ़्रेम में कम से कम हो. यह ज़रूरी नहीं है कि लेंस किस फ़्रेम में हिले: यह देखा जाता है कि लेंस हिलने पर, मूवमेंट फ़्लैग का इस्तेमाल किया गया है या नहीं.

इन एपीआई की जांच की गई है:

पास: फ़्रेम में तीखेपन में बदलाव होने पर, लेंस मूवमेंट का फ़्लैग True है.

काम न करने के तरीके:

  • test_log.DEBUG में lens_moving: True (android.hardware.camera2.CaptureResult#LENS_STATE = 1) का इस्तेमाल सिर्फ़ उन फ़्रेम में किया जाता है जिनमें फ़ोटो की क्वालिटी में बदलाव नहीं हो रहा है.
  • test_log.DEBUG में lens_moving: False (android.hardware.camera2.CaptureResult#LENS_STATE = 0) वाले फ़्रेम की क्वालिटी, सबसे बेहतर फ़ोकल डिस्टेंस वाले शुरुआती फ़्रेम या सबसे कम फ़ोकल डिस्टेंस वाले आखिरी फ़्रेम की तुलना में अलग होती है.

test_reprocess_edge_enhancement

यह जांच करता है कि किनारे को बेहतर बनाने के लिए, इस्तेमाल किए जा सकने वाले फिर से प्रोसेस करने के तरीके सही तरीके से काम करते हैं या नहीं. यह किसी दिए गए रीप्रोसेस एज मोड के साथ कैप्चर करने के अनुरोध को प्रोसेस करता है. साथ ही, रीप्रोसेस एज मोड बंद होने पर, कैप्चर करने के लिए अलग-अलग मोड की तुलना करता है.

इन एपीआई की जांच की गई है:

पास: अलग-अलग किनारे मोड के लिए, शार्पनेस सही है. HQ (मोड 2) की इमेज, OFF (मोड 0) की इमेज से बेहतर है. साथ ही, अलग-अलग मोड के बीच का सुधार एक जैसा है.

test_reprocess_edge_enhancement_plot

test_reprocess_edge_enhancement_plot.png

scene4

सीन 4 में, स्क्वेयर के अंदर सफ़ेद बैकग्राउंड पर काला गोला है. scene4 में मौजूद टेस्ट, अलाइनमेंट के हिसाब से संवेदनशील हो सकते हैं. इसलिए, 15 से शुरू होने वाले वर्शन में, टूल डायरेक्ट्री में check_alignment.py का इस्तेमाल करके, डीयूटी और चार्ट के अलाइनमेंट की जांच की जा सकती है.

scene4

scene4

test_30_60fps_preview_fov_match

यह जांच करता है कि 30 एफ़पीएस और 60 एफ़पीएस वाले झलक वीडियो का फ़ील्ड ऑफ़ व्यू (एफ़ओवी) एक जैसा है या नहीं. इस जांच में दो वीडियो कैप्चर किए जाते हैं. पहला वीडियो 30 एफ़पीएस और दूसरा 60 एफ़पीएस पर रिकॉर्ड किया जाता है. हर वीडियो से एक फ़्रेम चुना जाता है और उसका विश्लेषण किया जाता है, ताकि यह पक्का किया जा सके कि दोनों वीडियो में फ़ील्ड ऑफ़ व्यू में हुए बदलाव, तय शर्तों के मुताबिक हैं या नहीं. यह जांच करता है कि सर्कल का आसपेक्ट रेशियो एक जैसा रहे, सर्कल का सेंटर एक जैसा रहे, और सर्कल का दायरा एक जैसा रहे.

इन एपीआई की जांच की गई है:

पास: इमेज स्ट्रेच नहीं हुई हैं, इमेज के बीच का अंतर 3% से ज़्यादा नहीं है, और 30 एफ़पीएस और 60 एफ़पीएस वाले वीडियो के बीच आसपेक्ट रेशियो में ज़्यादा से ज़्यादा 7.5% का बदलाव हुआ है

काम न करने के तरीके:

  • 30 एफ़पीएस वाले वीडियो में मौजूद सर्कल का साइज़, 60 एफ़पीएस वाले वीडियो में मौजूद सर्कल के साइज़ से काफ़ी अलग है.
  • प्रोसेसिंग पाइपलाइन की वजह से, कैप्चर की गई इमेज में मौजूद सर्कल का आकार बिगड़ गया है.
  • कैप्चर की गई इमेज में सर्कल को काटा गया है. ऐसा, आसपेक्ट रेशियो के लिए किए गए अनुरोध की वजह से हुआ है. इस अनुरोध की वजह से, इमेज की ऊंचाई या चौड़ाई कम हो गई है.
  • कैप्चर की गई इमेज में मौजूद सर्कल के बीच में, उसका रेफ़्लेक्टन दिख रहा है. साथ ही, वह पूरी तरह से भरा हुआ नहीं दिख रहा है.

test_aspect_ratio_and_crop

यह जांच करता है कि इमेज पाइपलाइन में, इमेज को अनचाहे तरीके से डिस्टॉर्ट या काटा गया है या नहीं. सभी फ़ॉर्मैट में सर्कल की फ़ोटो लेता है. यह पुष्टि करता है कि सर्कल का आकार बिगड़ा हुआ नहीं है, वह इमेज के बीच में है, और अलग-अलग आसपेक्ट रेशियो या रिज़ॉल्यूशन के साथ उसका साइज़ गलत तरीके से नहीं बदलता.

इन एपीआई की जांच की गई है:

पास: इमेज स्ट्रेच नहीं हुई हैं, इमेज के बीच का अंतर 3% से ज़्यादा नहीं है, और ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (FOV) को बनाए रखा गया है.

काम न करने के तरीके:

  • कैमरा, कैप्चर किए गए सीन के बीच में टैबलेट पर दिखाए गए सर्कल के साथ अलाइन नहीं है.
  • प्रोसेसिंग पाइपलाइन की वजह से, कैप्चर की गई इमेज में मौजूद सर्कल का आकार बिगड़ गया है.
  • इमेज पाइपलाइन में, कम रिज़ॉल्यूशन वाली इमेज को दो बार काटा जाता है. इससे, हाई और लो रिज़ॉल्यूशन वाली इमेज के बीच फ़ील्ड ऑफ़ व्यू (एफ़ओवी) अलग-अलग होता है.
  • कैप्चर की गई इमेज में सर्कल का काटा गया हिस्सा, आसपेक्ट रेशियो के लिए किए गए अनुरोध की वजह से है. इस अनुरोध की वजह से, इमेज की ऊंचाई या चौड़ाई कम हो जाती है.
  • कैप्चर की गई इमेज में मौजूद सर्कल के बीच में, उसका रेफ़्लेक्टन दिख रहा है. साथ ही, वह पूरी तरह से भरा हुआ नहीं दिख रहा है.

test_multi_camera_alignment

यह कई कैमरे वाले सिस्टम के लिए, कैमरे की पोज़िशनिंग से जुड़े कैलिब्रेशन पैरामीटर की जांच करता है. मल्टी-कैमरा फ़िज़िकल सब-कैमरों का इस्तेमाल करके, किसी एक फ़िज़िकल कैमरे से फ़ोटो ली जाती है. सर्कल का केंद्र ढूंढता है. हर कैमरे के लिए, सर्कल के बीच को दुनिया के निर्देशांक में प्रोजेक्ट करता है. दुनिया के निर्देशांक में, कैमरों के सर्कल के बीच के अंतर की तुलना करता है. यह वर्ल्ड कोऑर्डिनेट को फिर से पिक्सल कोऑर्डिनेट में बदलता है. साथ ही, पुष्टि करने के लिए, ओरिजनल कोऑर्डिनेट से तुलना करता है. सर्कल के साइज़ की तुलना करके यह पता लगाता है कि कैमरों के फ़ोकल लेंथ अलग-अलग हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: कैमरे के कैलिब्रेशन डेटा और फ़ोकल लेंथ का इस्तेमाल करके कैप्चर की गई इमेज की तुलना में, प्रोजेक्ट की गई इमेज में सर्कल के बीच और उनके साइज़, उम्मीद के मुताबिक हैं.

काम न करने के तरीके:

  • LENS_INTRINSIC_CALIBRATION, LENS_POSE_TRANSLATION या LENS_POSE_ROTATION, डिज़ाइन वैल्यू हैं, न कि कैलिब्रेशन का असल डेटा.
  • कैमरा सिस्टम, टेस्ट सेटअप के लिए सही नहीं है. उदाहरण के लिए, RFoV टेस्ट रिग की मदद से, वाइड और अल्ट्रा-वाइड कैमरा सिस्टम की जांच करना. ज़्यादा जानकारी के लिए, कैमरे के ITS-in-a-box से जुड़ा अक्सर पूछा जाने वाला पहला सवाल देखें.

test_preview_aspect_ratio_and_crop

स्टिल कैप्चर के लिए test_aspect_ratio_and_crop टेस्ट की तरह ही, यह टेस्ट भी झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले फ़ॉर्मैट की जांच करता है. इससे यह पक्का किया जाता है कि झलक दिखाने वाले फ़्रेम को गलत तरीके से स्ट्रेच या काटा न गया हो. यह पुष्टि करता है कि सर्कल का आसपेक्ट रेशियो या चौड़ाई-ऊंचाई का अनुपात नहीं बदलता, काटी गई इमेज में सर्कल फ़्रेम के बीच में रहता है, और सर्कल का साइज़ एक जैसे फ़ॉर्मैट या अलग-अलग रिज़ॉल्यूशन (फ़ील्ड ऑफ़ व्यू की जांच) के लिए नहीं बदलता.

इन एपीआई की जांच की गई है:

पास: इमेज स्ट्रेच नहीं होती हैं, इमेज के बीच के हिस्से में 3% से ज़्यादा का अंतर नहीं होता, और ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (एफ़ओवी) को बनाए रखा जाता है.

test_preview_stabilization_fov

यह जांच करता है कि झलक के लिए कौनसे साइज़ इस्तेमाल किए जा सकते हैं, ताकि यह पक्का किया जा सके कि फ़ील्ड ऑफ़ व्यू को सही तरीके से काटा गया है. इस टेस्ट में दो वीडियो कैप्चर किए जाते हैं. पहला वीडियो, झलक को स्टेबलाइज़ करने की सुविधा ON के साथ और दूसरा वीडियो, झलक को स्टेबलाइज़ करने की सुविधा OFF के साथ. हर वीडियो से एक प्रतिनिधि फ़्रेम चुना जाता है और उसका विश्लेषण किया जाता है, ताकि यह पक्का किया जा सके कि दोनों वीडियो में फ़ील्ड ऑफ़ व्यू में हुए बदलाव, तय किए गए मानक के मुताबिक हैं या नहीं.

इन एपीआई की जांच की गई है:

पास: सर्कल का आसपेक्ट रेशियो लगभग एक जैसा रहता है, सर्कल का केंद्र एक जैसा रहता है, और सर्कल का साइज़ 20% से ज़्यादा नहीं बदलता.

test_video_aspect_ratio_and_crop

सभी वीडियो फ़ॉर्मैट में, स्क्वेयर के अंदर सर्कल के तौर पर वीडियो रिकॉर्ड करता है. यह मुख्य फ़्रेम को निकालता है और पुष्टि करता है कि सर्कल का आसपेक्ट रेशियो या चौड़ाई-ऊंचाई का अनुपात नहीं बदलता है. साथ ही, काटी गई इमेज में सर्कल को बीच में रखा जाता है और सर्कल का साइज़, एक जैसे फ़ॉर्मैट या अलग-अलग रिज़ॉल्यूशन (फ़ील्ड ऑफ़ व्यू की जांच) के लिए नहीं बदलता है.

इन एपीआई की जांच की गई है:

पास: वीडियो फ़्रेम स्ट्रेच नहीं होते, फ़्रेम के बीच का अंतर 3% से ज़्यादा नहीं होता, और ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (FOV) को बनाए रखा जाता है.

scene5

Scene5 के लिए, एक जैसी रोशनी वाला स्लेटी रंग का सीन होना ज़रूरी है. ऐसा करने के लिए, कैमरे के लेंस पर डिफ़्यूज़र लगाया जाता है. हमारा सुझाव है कि आप इस डिफ़्यूज़र का इस्तेमाल करें: www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168.

वीडियो रिकॉर्ड करने के लिए, कैमरे के सामने डिफ़्यूज़र अटैच करें और कैमरे को करीब 2,000 लक्स के लाइटिंग सोर्स पर फ़ोकस करें. सीन 5 के लिए कैप्चर की गई इमेज में, रोशनी ऐसी होनी चाहिए जिससे कोई चीज़ साफ़ न दिखे. यहां सैंपल इमेज दी गई है:

scene5

scene5 capture

test_lens_shading_and_color_uniformity

यह जांच करता है कि लेंस के शेडिंग करेक्शन को सही तरीके से लागू किया गया है या नहीं. साथ ही, यह भी जांच करता है कि एक ही रंग के एक जैसे सीन का रंग समान रूप से डिस्ट्रिब्यूट किया गया है या नहीं. यह टेस्ट, ऑटो 3A के साथ YUV फ़्रेम पर किया जाता है. लेंस शेडिंग का आकलन, y चैनल के आधार पर किया जाता है. यह दिए गए हर सैंपल ब्लॉक के लिए, औसत y वैल्यू को मेज़र करता है. साथ ही, सेंटर y वैल्यू की तुलना करके यह तय करता है कि जांच पास हुई है या नहीं. कलर यूनिफ़ॉर्मिटी टेस्ट का आकलन, r/g और b/g स्पेस में किया जाता है.

इन एपीआई की जांच की गई है:

पास: टेस्ट पास करने के लिए, इमेज के तय किए गए दायरे में, r/g और b/g वैल्यू का अंतर 20% से कम होना चाहिए.

scene6

Scene6, छोटे गोले का ग्रिड होता है. इसके एक कोने में एक वर्ग होता है, जिससे ऑरिएंटेशन का पता चलता है. बड़े पैमाने पर ज़ूम फ़ंक्शन की जांच करने के लिए, छोटे गोले ज़रूरी होते हैं. scene6 में मौजूद टेस्ट, अलाइनमेंट के हिसाब से संवेदनशील हो सकते हैं. इसलिए, 15 से शुरू होने वाले वर्शन में, टूल डायरेक्ट्री में check_alignment.py का इस्तेमाल करके, डीयूटी और चार्ट के अलाइनमेंट की जांच की जा सकती है.

scene6

scene6

test_in_sensor_zoom

कैमरे के सेंसर में ज़ूम करने की सुविधा के काम करने के तरीके की जांच करता है. इससे काटी गई RAW इमेज मिलती हैं.

स्ट्रीम के इस्तेमाल के उदाहरण को CROPPED_RAW पर सेट करने पर, ज़ूम रेंज में दो कैप्चर लिए जाते हैं. इनमें, फ़ील्ड ऑफ़ व्यू (FoV) वाली RAW इमेज और काटी गई RAW इमेज शामिल होती है. यह टेस्ट, इमेज को RGB ऐरे में बदल देता है. साथ ही, पूरी साइज़ वाली क्रॉप की गई RAW इमेज को SCALER_RAW_CROP_REGION के बताए गए साइज़ पर डाउनस्केल करता है. इसके बाद, दोनों इमेज के बीच के 3D रूट मीन स्क्वेयर (RMS) अंतर का हिसाब लगाता है.

इन एपीआई की जांच की गई है:

पास: काटे गए हिस्से को छोटा करके बनाई गई RAW इमेज और पूरे फ़ील्ड ऑफ़ व्यू (एफ़ओवी) वाली RAW इमेज के बीच 3D रूट मीन स्क्वेयर (आरएमएस) का अंतर, टेस्ट में सेट किए गए थ्रेशोल्ड से कम है.

test_zoom

कैमरे के ज़ूम करने के तरीके की जांच करता है. ज़ूम रेंज में कैप्चर लेता है और यह जांच करता है कि कैमरे के ज़ूम इन करने पर, सर्कल बड़े हो जाते हैं या नहीं. हर फ़ॉर्मैट (YUV, JPEG) के लिए, 3A को कन्वर्ज़ करने और कैप्चर लेने के लिए, एक ही कैमरा कैप्चर सेशन का इस्तेमाल किया जाता है.

इन एपीआई की जांच की गई है:

पास: कैप्चर किए गए सर्कल का रिलेटिव साइज़, अनुरोध किए गए ज़ूम रेशियो के हिसाब से सही है. इससे यह पक्का होता है कि कैमरा सही तरीके से ज़ूम कर रहा है.

test_zoom

test_zoom, केंद्र के सबसे नज़दीक सर्कल का कॉन्टूर ढूंढने के लिए.

test_low_latency_zoom

यह कैमरे के कम इंतज़ार वाले ज़ूम व्यवहार की जांच करता है. android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM) की मदद से, ज़ूम रेंज में कैप्चर लेता है. साथ ही, यह जांच करता है कि आउटपुट इमेज में मौजूद सर्कल, कैप्चर के मेटाडेटा में मौजूद ज़ूम रेशियो से मेल खाते हैं या नहीं. 3A और टेक कैप्चर को एक साथ लाने के लिए, कैमरे के उसी कैप्चर सेशन का इस्तेमाल किया जाता है.

इन एपीआई की जांच की गई है:

पास: ज़ूम रेशियो के नतीजे के मेटाडेटा के मुकाबले, कैप्चर किए गए सर्कल का साइज़ सटीक है.

test_preview_video_zoom_match

यह जांच करता है कि रिकॉर्डिंग और ज़ूम करते समय, वीडियो की झलक और वीडियो आउटपुट एक ही आउटपुट दिखाते और रिकॉर्ड करते हैं या नहीं. अलग-अलग ज़ूम रेशियो पर, केंद्र के सबसे करीब मौजूद सर्कल के साइज़ का हिसाब लगाता है. साथ ही, यह भी जांचता है कि ज़ूम रेशियो बढ़ने पर, सर्कल का साइज़ बढ़ता है या नहीं.

इन एपीआई की जांच की गई है:

पास: वीडियो और झलक में, कैप्चर किए गए सर्कल का साइज़, अनुरोध किए गए ज़ूम रेशियो के हिसाब से सही है.

VGA_640x480_key_frame.png

VGA_640x480_key_frame.png (ज़ूम करने से पहले)

preview_640x480_key_frame.png

preview_640x480_key_frame.png (ज़ूम करने से पहले)

VGA_640x480_key_frame_zoomed.png

VGA_640x480_key_frame.png (ज़ूम करने के बाद)

preview_640x480_key_frame_zoomed.png

preview_640x480_key_frame.png (ज़ूम करने के बाद)

test_preview_zoom

यह जांच करता है कि हर झलक फ़्रेम का ज़ूम रेशियो, उससे जुड़े कैप्चर मेटाडेटा से मेल खाता है या नहीं. यह जांच, ज़ूम रेंज के दौरान झलक फ़्रेम लेती है और बीच में मौजूद सर्कल के कॉन्टूर का पता लगाती है. इसके बाद, जांच की जाती है कि चुना गया गोला बड़ा हो गया है या नहीं. साथ ही, यह भी देखा जाता है कि कैमरे के ज़ूम इन करने पर, गोले का बीच का हिस्सा इमेज के बीच से हट गया है या नहीं.

इन एपीआई की जांच की गई है:

पास: चुने गए सर्कल का साइज़, सभी झलक फ़्रेम के लिए कैप्चर किए गए नतीजे के ज़ूम रेशियो के हिसाब से सटीक है. चुने गए सर्कल की इमेज के बीच की दूरी, सभी झलक फ़्रेम के कैप्चर किए गए नतीजे के ज़ूम रेशियो के हिसाब से सटीक होती है.

test_zoom

test_preview_zoom इमेज, जिसमें बीच में मौजूद चुने गए सर्कल को दिखाया गया है

test_session_characteristics_zoom

CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION में दिए गए, काम करने वाले सभी सेशन कॉन्फ़िगरेशन के लिए, ज़ूम रेशियो की सीमा की जांच करता है. उन सभी कॉन्फ़िगरेशन के लिए, अगर CameraDeviceSetup#isSessionConfigurationSupported 'सही' दिखाता है, तो जांच की जाती है कि CameraDeviceSetup#getSessionCharacteristics में दी गई ज़ूम रेशियो की रेंज तक पहुंचा जा सकता है या नहीं.

इन एपीआई की जांच की गई है:

पास: CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION में दी गई, काम करने वाली हर SessionConfiguration के लिए, ज़ूम करने के कम से कम और ज़्यादा से ज़्यादा अनुपात, दोनों तक पहुंचा जा सकता है.

scene7

Scene7 एक आयताकार फ़्रेम है, जिसे चार बराबर क्वाड्रेंट में बांटा गया है. हर क्वाड्रेंट में एक अलग रंग भरा गया है. आयत के बीच में, तीखेपन की जांच के लिए एक तिरछा किनारा चार्ट होता है. चार ArUco मार्कर, रेक्टैंगल के चार बाहरी कोनों के साथ अलाइन किए जाते हैं. इससे, अलग-अलग ज़ूम रेशियो पर मुख्य रेक्टैंगल फ़्रेम के सटीक निर्देशांक पाने में मदद मिलती है.

scene7

scene7

test_multi_camera_switch

इस टेस्ट से यह पुष्टि की जाती है कि अलग-अलग ज़ूम रेशियो में झलक रिकॉर्ड करने के दौरान, अल्ट्रा-वाइड (UW) और वाइड (W) लेंस के बीच स्विच करने पर, आरजीबी वैल्यू एक जैसी होती हैं.

यह जांच, पहले से तय की गई रेंज में अलग-अलग ज़ूम रेशियो का इस्तेमाल करके, डाइनैमिक झलक रिकॉर्डिंग करती है. साथ ही, उस पॉइंट की पहचान करती है जहां फ़िज़िकल कैमरा बदलता है. यह पॉइंट, UW से W लेंस में बदलाव का निशान होता है.

क्रॉसओवर पॉइंट पर और उससे पहले कैप्चर किए गए फ़्रेम का विश्लेषण, ऑटो एक्सपोज़र (एई), ऑटो व्हाइट बैलेंस (एडब्ल्यूबी), और ऑटोफ़ोकस (एएफ़) के लिए किया जाता है.

एई जांच से यह पक्का होता है कि यूडब्ल्यू और डब्ल्यू लेंस, दोनों की इमेज के लिए ल्यूमा में बदलाव, उम्मीद के मुताबिक रेंज में है. AWB जांच से यह पुष्टि होती है कि UW और W लेंस, दोनों की इमेज के लिए R/G और B/G के अनुपात, थ्रेशोल्ड वैल्यू के अंदर हैं. ऑटो फ़ोकस की जांच में, UW और W लेंस इमेज के बीच के औसत ग्रेडिएंट मैग्नीट्यूड के आधार पर, तीखेपन के अनुमान की वैल्यू का आकलन किया जाता है.

इन एपीआई की जांच की गई है:

पास: जांच पास होने के लिए, AE, AWB, और AF की सभी जांचें पास होनी चाहिए. हर जांच के लिए ज़रूरी शर्तें यहां दी गई हैं:

  • एई की जांच: UW और W लेंस की इमेज के बीच ल्यूमा में बदलाव 0.5% से कम होना चाहिए.
  • AWB की जांच: UW और W लेंस की इमेज के लिए R/G और B/G वैल्यू के बीच का अंतर 0.5% से कम होना चाहिए.
  • ऑटो फ़ोकस की जांच: UW और W लेंस की इमेज के बीच इमेज की शार्पनेस में बदलाव 2% से कम होना चाहिए.

scene8

Scene8 एक आयताकार फ़्रेम है, जिसे चार बराबर हिस्सों में बांटा गया है. हर हिस्से में एक अलग एक्सपोज़र या अलग रंग के शेड (नीला शेड, ज़्यादा एक्सपोज़र, कम एक्सपोज़र, पीला शेड) के साथ लिया गया पोर्ट्रेट है. मुख्य रेक्टैंगल फ़्रेम के सटीक निर्देशांक पाने के लिए, चार ArUco मार्कर को रेक्टैंगल के चार बाहरी कोनों के साथ अलाइन किया जाता है.

scene8

scene8

test_ae_awb_regions

यह जांच करता है कि ऑटो एक्सपोज़र (AE) और ऑटो व्हाइट बैलेंस (AWB) के अलग-अलग क्षेत्रों में रिकॉर्डिंग की झलक देखते समय, आरजीबी और ल्यूमा वैल्यू अलग-अलग होती हैं या नहीं.

इस टेस्ट में, आठ सेकंड की झलक रिकॉर्ड की जाती है. इसमें हर क्वाड्रेंट पर दो सेकंड के लिए, एई और एडब्ल्यूबी मेज़रमेंट किया जाता है. इसके बाद, यह जांच हर इलाके की झलक वाली रिकॉर्डिंग से एक फ़्रेम निकालती है. साथ ही, निकाले गए फ़्रेम का इस्तेमाल करके, एई और एडब्ल्यूबी की ये जांच करती है:

  • एई जांच: यह पुष्टि करता है कि कम एक्सपोज़र वाले क्षेत्र को मेज़र करने वाले फ़्रेम की ल्यूमा वैल्यू, ज़्यादा एक्सपोज़र वाले क्षेत्र को मेज़र करने वाले फ़्रेम की ल्यूमा वैल्यू से 1% से ज़्यादा है. इससे यह पुष्टि होती है कि किसी गहरे हिस्से को मेज़र करते समय, इमेज को ज़्यादा चमकदार किया जाता है.
  • ऑटो वाइट बैलेंस (एडब्ल्यूबी) की जांच: यह पुष्टि करता है कि नीले रंग के मेज़रमेंट वाले फ़्रेम में, इमेज की औसत आरजीबी वैल्यू के लाल रंग और नीले रंग के अनुपात में, पीले रंग के मेज़रमेंट वाले फ़्रेम से 2% ज़्यादा है. इससे यह पुष्टि होती है कि पीले (गर्म) या नीले (ठंडे) रंग वाले हिस्से को मेज़र करते समय, इमेज की आरजीबी वैल्यू संतुलित है.

इन एपीआई की जांच की गई है:

पास: AE और AWB, दोनों जांच पास हो गई हैं.

काम न करने के तरीके:

  • इस टेस्ट के लिए, चारों ArUco मार्कर का सही तरीके से पता लगाना ज़रूरी है. अगर शुरुआती डिटेक्शन नहीं हो पाता है, तो सिस्टम इमेज के ब्लैक ऐंड व्हाइट वर्शन का इस्तेमाल करके, दूसरी बार डिटेक्शन की कोशिश करता है. यहां दी गई ग्रेस्केल इमेज, प्रोसेस करने के दूसरे चरण को दिखाती है.

    ArUco मार्कर अलाइन न होना

scene9

Scene9 में, अलग-अलग साइज़ और रंग के हज़ारों सर्कल होते हैं. इनका इस्तेमाल करके, JPEG कंप्रेशन एल्गोरिदम की जांच के लिए ऐसा सीन बनाया जाता है जिसे दोबारा इस्तेमाल करने की संभावना बहुत कम होती है.

scene9

scene9

test_jpeg_high_entropy

यह जांच करता है कि कैमरे का JPEG कंप्रेसन, ज़्यादा एन्ट्रापी और JPEG क्वालिटी फ़ैक्टर को 100% पर सेट करके, scene9 पर काम करता है या नहीं. ज़ूम फ़ैक्टर बढ़ाया जाता है, ताकि यह पक्का किया जा सके कि टैबलेट पर दिखाया गया सीन, कैमरे के फ़ील्ड ऑफ़ व्यू में दिखे.

इन एपीआई की जांच की गई है:

पास: JPEG फ़ाइल को सही तरीके से कंप्रेस किया गया है, डिस्क पर लिखा गया है, और उससे पढ़ा गया है.

test_jpeg_quality

कैमरे के JPEG कंप्रेस करने की क्वालिटी की जांच करता है. android.jpeg.quality की मदद से, JPEG की क्वालिटी में बदलाव करें और पक्का करें कि क्वांटाइज़ेशन टेबल सही तरीके से बदलें.

इन एपीआई की जांच की गई है:

पास: क्वालिटी बढ़ने के साथ, क्वांटाइज़ेशन मैट्रिक कम हो जाती है. (मैट्रिक्स, डिवीज़न फ़ैक्टर को दिखाती है.)

test_jpeg_quality

Pixel 4 के रियर कैमरे के ल्यूमा/क्रोमा DQT मैट्रिक के औसत बनाम JPEG क्वालिटी

test_jpeg_quality फ़ंक्शन काम नहीं कर रहा

जांच न हो पाने का उदाहरण

ध्यान दें कि बहुत खराब क्वालिटी वाली इमेज (jpeg.quality < 50) के लिए, क्वांटिज़ेशन मैट्रिक्स में कंप्रेस करने की सुविधा में कोई बढ़ोतरी नहीं होती.

scene_video

scene_video सीन, वीडियो का सीन है. इसमें चार अलग-अलग रंग के गोले हैं, जो सफ़ेद रंग के बैकग्राउंड पर अलग-अलग फ़्रेम रेट पर आगे-पीछे मूव कर रहे हैं.

scene_video

test_preview_frame_drop

यह जांच करता है कि अनुरोध किए गए झलक फ़्रेम रेट को डाइनैमिक सीन के साथ बनाए रखा गया है या नहीं. यह जांच उन सभी कैमरों पर की जाती है जिन्हें तीसरे पक्ष के ऐप्लिकेशन ऐक्सेस कर सकते हैं.

इन एपीआई की जांच की गई है:

पास: झलक का फ़्रेम रेट, अनुरोध किए गए फ़्रेम रेट की रेंज में सबसे ज़्यादा है. साथ ही, एक-दूसरे के बाद वाले फ़्रेम के बीच का औसत अंतर, जांच में तय किए गए रिलेटिव टॉलरेंस से कम है.

scene_extensions

scene_extensions टेस्ट, कैमरा एक्सटेंशन के लिए होते हैं. इनमें Camera ITS-in-a-Box का इस्तेमाल करना ज़रूरी है, क्योंकि इनमें टेस्टिंग एनवायरमेंट को सटीक तरीके से कंट्रोल करने की ज़रूरत होती है. इसके अलावा, लाइट के सभी लीकेज को कंट्रोल करना ज़रूरी है. इसके लिए, टेस्ट रिग, डीयूटी, और टैबलेट को ड्रॉप क्लॉथ से ढकना पड़ सकता है. साथ ही, डीयूटी की सामने वाली स्क्रीन से लाइट लीक होने की समस्या को भी ठीक करना पड़ सकता है.

scene_hdr

scene_hdr सीन में बाईं ओर एक पोर्ट्रेट और दाईं ओर कम कंट्रास्ट वाला क्यूआर कोड है.

scene_hdr

scene_hdr

test_hdr_extension

एचडीआर एक्सटेंशन की जांच करता है. एक्सटेंशन चालू होने और न होने पर, क्यूआर कोड की इमेज कैप्चर करता है. साथ ही, यह भी जांच करता है कि एक्सटेंशन की मदद से क्यूआर कोड को आसानी से स्कैन किया जा सकता है या नहीं.

इन एपीआई की जांच की गई है:

पास: HDR एक्सटेंशन, क्यूआर कोड का पता लगाने के लिए, कंट्रास्ट में होने वाले बदलावों की संख्या को कम करता है या क्यूआर कोड में ग्रेडिएंट को कम करता है.

scene_low_light

scene_low_light सीन में, काले रंग के बैकग्राउंड पर स्लेटी रंग के अलग-अलग शेड वाले स्क्वेयर का ग्रिड है. साथ ही, स्क्वेयर के ग्रिड को लाल रंग की आउटलाइन से बांध दिया गया है. स्क्वेयर को हिल्बर्ट कर्व ओरिएंटेशन में व्यवस्थित किया जाता है.

scene_low_light

scene_low_light

test_night_extension

नाइट एक्सटेंशन की जांच करता है. एक्सटेंशन चालू होने पर कैप्चर लेता है और ये काम करता है:

  • 20 स्क्वेयर की मौजूदगी का पता लगाता है
  • हर स्क्वेयर के बीच के ल्यूमा का हिसाब लगाता है
  • पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू का हिसाब लगाता है. यह हिसाब, हिल्बर्ट कर्व ग्रिड ओरिएंटेशन के हिसाब से लगाया जाता है
  • यह फ़ंक्शन, एक-दूसरे से जुड़े स्क्वेयर की ल्यूमा वैल्यू में अंतर का हिसाब लगाता है. उदाहरण के लिए, स्क्वेयर 2 - स्क्वेयर 1 से लेकर स्क्वेयर 5 और 6 - स्क्वेयर 5 तक. साथ ही, पांच अंतरों का औसत भी निकालता है.

इन एपीआई की जांच की गई है:

पास: पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 85 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 17 होना चाहिए.

नीचे दिए गए ल्यूमिनेंस प्लॉट में, टेस्ट पास होने का नतीजा कैसा दिखता है, यह दिखाया गया है.

scene_low_light_night_pass

test_low_light_boost_extension

कम रोशनी वाले मोड में ऑटो इमेज एक्सपोज़र (एई) की जांच करता है. अगर Camera2, कम रोशनी में बेहतर एई मोड के साथ काम करता है, तो यह जांच Camera2 के लिए की जाती है. अगर नाइट मोड कैमरा एक्सटेंशन काम करता है और एक्सटेंशन में कम रोशनी में बेहतर एई मोड काम करता है, तो यह जांच नाइट मोड कैमरा एक्सटेंशन के लिए भी की जाती है. यह टेस्ट, एई मोड को कम रोशनी वाले मोड पर सेट करता है. साथ ही, झलक से एक फ़्रेम लेता है और ये काम करता है:

  • 20 बॉक्स की मौजूदगी का पता लगाता है
  • हर बॉक्स के हिसाब से ल्यूमा का हिसाब लगाता है
  • पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू का हिसाब लगाता है. यह हिसाब, हिल्बर्ट कर्व ग्रिड ओरिएंटेशन के हिसाब से लगाया जाता है
  • यह फ़ंक्शन, एक-दूसरे से जुड़े स्क्वेयर की ल्यूमा वैल्यू में अंतर का हिसाब लगाता है. उदाहरण के लिए, स्क्वेयर 2 - स्क्वेयर 1 से लेकर स्क्वेयर 5 और 6 - स्क्वेयर 5 तक. साथ ही, पांच अंतरों का औसत भी निकालता है.

इन एपीआई की जांच की गई है:

पास: पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 70 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 17 होना चाहिए.

scene_flash

scene_flash टेस्ट के लिए, सेंसर फ़्यूज़न बॉक्स में अंधेरा सीन होना ज़रूरी है.

test_auto_flash

यह जांच करता है कि पीछे और सामने वाले कैमरे के लिए, अंधेरे में ऑटो-फ़्लैश चालू होता है या नहीं. फ़्रंट कैमरे के लिए, ऑटो-फ़्लैश सुविधा, स्क्रीन का इस्तेमाल करके सीन को रोशन करती है, न कि फ़्लैश यूनिट का. इस टेस्ट से यह पुष्टि की जाती है कि ऑटो-फ़्लैश चालू है या नहीं. इसके लिए, यह देखा जाता है कि ऑटो-फ़्लैश चालू होने पर टाइल इमेज का बीच का हिस्सा ज़्यादा चमकीला है या नहीं. ऑटो-फ़्लैश को ट्रिगर करने के लिए, जांच के लिए इस्तेमाल किए जा रहे रिग में लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. जांच ठीक से काम करे, इसके लिए ज़रूरी है कि सीन पूरी तरह से अंधेरा हो. जांच करने से पहले, डिवाइस पर Jetpack Camera ऐप्लिकेशन (JCA) इंस्टॉल होना चाहिए. पीछे वाले कैमरों के लिए ऑटो-फ़्लैश, एई की स्थिति पर निर्भर करता है. हालांकि, सामने वाले कैमरों के लिए ऑटो-फ़्लैश, एई पर निर्भर नहीं करता और हमेशा ट्रिगर होता है.

इन एपीआई की जांच की गई है:

पास: अपने-आप फ़्लैश चालू होने की सुविधा के साथ, टाइल इमेज का बीच का हिस्सा सभी कैमरों के लिए, ओरिजनल सीन इमेज से ज़्यादा चमकीला है.

test_flash_strength

यह जांच करता है कि SINGLE मोड में, फ़्लैश की रोशनी को कंट्रोल करने की सुविधा सही तरीके से लागू की गई है या नहीं.

यह पुष्टि करता है कि अगर डिवाइस में SINGLE मोड में कैमरे का इस्तेमाल करने के दौरान, फ़्लैश की रोशनी को कंट्रोल करने की सुविधा काम करती है, तो फ़्लैश की रोशनी, अनुरोध किए गए अलग-अलग रोशनी के लेवल के हिसाब से बदलती है. यह पुष्टि करता है कि फ़्लैश की रोशनी कंट्रोल करने की सुविधा, अलग-अलग AE_MODES के साथ काम करती है. उदाहरण के लिए, अगर ऑटो-एक्सपोज़र मोड ON या OFF है, तो फ़्लैश की रोशनी के लेवल का चमक पर असर पड़ता है. वहीं, अगर मोड ON_AUTO_FLASH है, तो फ़्लैश की रोशनी के लेवल का चमक पर कोई असर नहीं पड़ता. टेस्ट करने के लिए, टेस्ट रिग में लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. जांच ठीक से काम करे, इसके लिए ज़रूरी है कि सीन पूरी तरह से अंधेरा हो.

इन एपीआई की जांच की गई है:

पास:

ऑटो-एक्सपोज़र मोड ON या OFF होने पर, फ़्लैश की रोशनी के लेवल के बढ़ने पर इमेज पैच की चमक बढ़ती है. फ़्लैश की रोशनी का लेवल, बिना फ़्लैश से लेकर FLASH_SINGLE_STRENGTH_MAX_LEVEL तक होता है. जब ऑटो-एक्सपोज़र मोड ON_AUTO_FLASH पर सेट होता है, तो इमेज पैच की चमक में फ़्लैश की रोशनी के लेवल के हिसाब से ज़्यादा अंतर नहीं होता. जैसे, फ़्लैश की रोशनी के लेवल को FLASH_SINGLE_STRENGTH_MAX_LEVEL से FLASH_SINGLE_STRENGTH_MAX_LEVEL पर सेट करने पर, इमेज पैच की चमक में ज़्यादा अंतर नहीं होता.

test_led_snapshot

यह जांच करता है कि एलईडी स्नैपशॉट, इमेज को संतृप्त या रंगीन नहीं करते.

इस टेस्ट में, लाइटों को कंट्रोल करने के लिए सेंसर फ़्यूज़न बॉक्स में लाइटिंग कंट्रोलर जोड़ा जाता है. लाइटें OFF पर सेट होने पर, टेस्ट AUTO_FLASH मोड को ON पर सेट करके कैप्चर करता है. इस कैप्चर के दौरान, टेस्ट में aePrecapture ट्रिगर को START पर सेट करके, कैप्चर से पहले का क्रम चलाया जाता है. साथ ही, फ़्लैश के साथ कैप्चर लेने के लिए, कैप्चर इंटेंट को Preview पर सेट किया जाता है.

फ़्लैश की वजह से, कैप्चर में एक खास हॉटस्पॉट होता है. इसलिए, जांच में पूरे कैप्चर की फ़्लैश इमेज का औसत कैलकुलेट किया जाता है और पुष्टि की जाती है कि वैल्यू (68, 102) की सीमा में है या नहीं. यह जांचने के लिए कि इमेज का व्हाइट-बैलेंस ठीक है या नहीं, जांच में R/G और B/G रेशियो का हिसाब लगाया जाता है. साथ ही, यह भी पुष्टि की जाती है कि रेशियो 0.95 और 1.05 के बीच है या नहीं.

इन एपीआई की जांच की गई है:

पास: R/G और B/G अनुपात 0.95 और 1.05 के बीच हैं. फ़्लैश इमेज का औसत (68, 102) रेंज में है.

test_preview_min_frame_rate

यह जांच करता है कि अंधेरे सीन में, झलक का फ़्रेम रेट सही तरीके से कम हो रहा है या नहीं. इस जांच के सही तरीके से काम करने के लिए, टेस्ट रिग में मौजूद लाइटों को कंट्रोल करने वाले डिवाइस से या टेस्ट ऑपरेटर के ज़रिए मैन्युअल तरीके से बंद किया जाना चाहिए.

इन एपीआई की जांच की गई है:

पास: झलक का फ़्रेम रेट, अनुरोध किए गए फ़्रेम रेट की सीमा के कम से कम लेवल पर है. साथ ही, फ़्रेम के बीच का अंतर, जांच में तय किए गए थ्रेशोल्ड से कम है.

test_torch_strength

यह जांच करता है कि TORCH मोड में, फ़्लैश की रोशनी को कंट्रोल करने की सुविधा सही तरीके से लागू की गई है या नहीं.

यह पुष्टि करता है कि अगर डिवाइस पर TORCH मोड में कैमरे का इस्तेमाल करते समय, फ़्लैश की रोशनी को कंट्रोल करने की सुविधा काम करती है, तो टॉर्च की रोशनी, अनुरोध किए गए अलग-अलग रोशनी के लेवल के हिसाब से बदलती है. यह पुष्टि करता है कि फ़्लैश की रोशनी कंट्रोल करने की सुविधा, अलग-अलग AE_MODES के साथ काम करती है. उदाहरण के लिए, अगर ऑटो-एक्सपोज़र मोड ON या OFF है, तो फ़्लैश की रोशनी के लेवल का चमक पर असर पड़ता है. वहीं, अगर मोड ON_AUTO_FLASH है, तो फ़्लैश की रोशनी के लेवल का चमक पर कोई असर नहीं पड़ता. यह पुष्टि करता है कि वीडियो कैप्चर सेशन को सिम्युलेट करते समय, टॉर्च की रोशनी एक जैसी बनी रहे. टेस्ट करने के लिए, टेस्ट रिग में लाइटें बंद होनी चाहिए. Arduino कंट्रोलर की मदद से, लाइटें अपने-आप बंद हो सकती हैं. जांच ठीक से काम करे, इसके लिए ज़रूरी है कि सीन पूरी तरह से अंधेरा हो.

इन एपीआई की जांच की गई है:

पास:

ऑटो-एक्सपोज़र मोड ON या OFF होने पर, फ़्लैश की रोशनी के लेवल के बढ़ने पर इमेज के बर्स्ट पैच की चमक बढ़ जाती है. फ़्लैश की रोशनी का लेवल, बिना फ़्लैश से लेकर FLASH_TORCH_STRENGTH_MAX_LEVEL तक होता है. जब ऑटो-एक्सपोज़र मोड ON_AUTO_FLASH पर सेट होता है, तो इमेज बर्स्ट पैच की चमक में फ़र्क़, तय सीमा के अंदर होता है. ऐसा इसलिए होता है, क्योंकि फ़्लैश की रोशनी का लेवल, बिना फ़्लैश से लेकर FLASH_TORCH_STRENGTH_MAX_LEVEL तक बढ़ता है.

sensor_fusion

सेंसर फ़्यूज़न टेस्ट के लिए, चेकरबोर्ड पैटर्न और ArUco मार्कर के सामने फ़ोन को खास तरीके से घुमाना ज़रूरी है. सबसे अच्छे नतीजे पाने के लिए, पक्का करें कि टेस्ट चार्ट को सपाट तरीके से माउंट किया गया हो. फ़्लैट नहीं होने वाले चार्ट, कई जांचों के लिए रोटेशन कैलकुलेशन पर असर डालते हैं. चार्ट को 17"x17" (43x43 सें॰मी॰) पर प्रिंट करके, सेंसर फ़्यूज़न बॉक्स के पीछे की जगह को भरना चाहिए. sensor_fusion टेस्ट को सेंसर फ़्यूज़न बॉक्स की मदद से ऑटोमेट किया जा सकता है.

सेंसर फ़्यूज़न चार्ट

सेंसर फ़्यूज़न चार्ट

रिग में सेंसर फ़्यूज़न चार्ट

सेंसर फ़्यूज़न चार्ट, जो सेंसर फ़्यूज़न बॉक्स के पीछे की जगह को भरता है

test_lens_intrinsic_calibration

यह जांच करता है कि ऑप्टिकल इमेज स्टेबलाइज़ेशन (ओआईएस) की वजह से लेंस के हिलने पर, लेंस के ऑप्टिकल सेंटर में बदलाव होता है या नहीं. अगर लेंस के इंट्रिन्सिक सैंपल काम करते हैं, तो यह जांच की जाती है कि ऑप्टिकल इमेज स्टेबलाइज़ेशन (ओआईएस) की वजह से लेंस के हिलने पर, लेंस के इंट्रिन्सिक सैंपल का ऑप्टिकल सेंटर बदलता है या नहीं.

इन एपीआई की जांच की गई है:

पास: लेंस के ऑप्टिकल सेंटर में एक पिक्सल या उससे ज़्यादा का बदलाव होता है. अगर लेंस के इंट्रिन्सिक सैंपल काम करते हैं, तो लेंस के इंट्रिन्सिक सैंपल के ऑप्टिकल सेंटर एक पिक्सल या उससे ज़्यादा बदल जाते हैं.

test_lens_intrinsic_calibration_example.png

test_lens_intrinsic_calibration प्लॉट का उदाहरण, जिसमें हर फ़्रेम के लिए मुख्य बिंदुओं के बदलाव को पिक्सल में दिखाया गया है

test_multi_camera_frame_sync

यह जांच करता है कि लॉजिकल कैमरे से कैप्चर किए गए फ़्रेम के टाइमस्टैंप, 10 मिलीसेकंड के अंदर हों. इसके लिए, चेकरबोर्ड में स्क्वेयर के ऐंगल का हिसाब लगाकर टाइमस्टैंप का पता लगाया जाता है.

इन एपीआई की जांच की गई है:

पास: फ़ोन को घुमाने पर, हर कैमरे से ली गई इमेज के बीच का ऐंगल काफ़ी नहीं बदलता.

test_preview_distortion

यह जांच करता है कि अलग-अलग ज़ूम लेवल पर लिए गए हर झलक फ़्रेम में, डिस्टॉर्शन ठीक किया गया है या नहीं. हर झलक फ़्रेम के लिए, जांच में कैमरे के इनट्रिन्सिक और एक्सट्रिन्सिक के आधार पर, आदर्श पॉइंट का हिसाब लगाया जाता है. उदाहरण के तौर पर दी गई इमेज में, आदर्श पॉइंट हरे रंग में दिखाए गए हैं और असल पॉइंट लाल रंग में दिखाए गए हैं. डिस्टॉर्शन की गड़बड़ी का हिसाब, असल बिंदुओं और आदर्श बिंदुओं के बीच पिक्सल की रूट मीन स्क्वेयर (RMS) दूरी के आधार पर लगाया जाता है. इमेज पर हरे और लाल रंग के हाइलाइट का इस्तेमाल, विरूपण की गड़बड़ी वाले हिस्से का पता लगाने के लिए किया जाता है.

test_preview_distortion_example.jpg

चेकरबोर्ड की इमेज, जिसमें सही पॉइंट हरे और असल पॉइंट लाल रंग के हैं

इन एपीआई की जांच की गई है:

पास: हर झलक फ़्रेम में, विरूपण की सामान्य गड़बड़ी, जांच में तय किए गए थ्रेशोल्ड से कम है.

test_preview_stabilization

यह जांच करता है कि स्टेबलाइज़ किए गए झलक वाले वीडियो में, जियोस्कोप की तुलना में कम घुमाव हो.

इन एपीआई की जांच की गई है:

पास: फ़्रेम में ऐंगल का रोटेशन, गायरोस्कोप के रोटेशन के 70% से कम है.

यहां स्थिरीकरण की सुविधा के साथ और बिना स्थिरीकरण के वीडियो के सैंपल दिए गए हैं.

  • स्टेबलाइज़ेशन की सुविधा वाले वीडियो का सैंपल

  • स्टेबलाइज़ेशन के बिना वीडियो का सैंपल

test_sensor_fusion

यह AR और VR ऐप्लिकेशन के लिए, कैमरे और जायरोस्कोप के बीच टाइमस्टैंप के अंतर की जांच करता है. चेकरबोर्ड पैटर्न के सामने, फ़ोन को 90 डिग्री पर 10 बार घुमाया गया है. मोशन में, एक बार में आने और जाने में करीब 2 सेकंड लगते हैं. अगर कोई गायरोस्कोप शामिल नहीं है या टाइमस्टैंप सोर्स REALTIME पैरामीटर चालू नहीं है, तो यह जांच नहीं की जाती.

test_sensor_fusion टेस्ट कई प्लॉट जनरेट करता है. डीबग करने के लिए, ये दो सबसे ज़रूरी प्लॉट हैं:

  • test_sensor_fusion_gyro_events: जांच के दौरान, फ़ोन के लिए जाइरोस्कोप इवेंट दिखाता है. अगर फ़ोन, एक्स और वाई दिशा में हिलता है, तो इसका मतलब है कि फ़ोन को माउंटिंग प्लेट पर ठीक से माउंट नहीं किया गया है. इससे टेस्ट पास होने की संभावना कम हो जाती है. प्लॉट में साइकल की संख्या, फ़्रेम सेव करने के लिए लिखने की स्पीड पर निर्भर करती है.

    test_sensor_fusion_gyro_events.png

    test_sensor_fusion_gyro_events

  • test_sensor_fusion_plot_rotations: जाइरोस्कोप और कैमरे के इवेंट का अलाइनमेंट दिखाता है. इस प्लॉट में, कैमरे और घुमाव-गति सेंसर के बीच की गति +/-1 मिलीसेकंड तक मैच करनी चाहिए.

    test_sensor_fusion_plot_rotations.png

    test_sensor_fusion_plot_rotations

इन एपीआई की जांच की गई है:

पास: सीडीडी सेक्शन 7.3.9 हाई फ़िडेलिटी सेंसर [C-2-14] के मुताबिक, कैमरे और जाइरोस्कोप के टाइमस्टैंप का ऑफ़सेट 1 एमएस से कम है.

काम न करने के तरीके:

  • ऑफ़सेट गड़बड़ी: कैमरा-जाइरोस्कोप ऑफ़सेट को +/-1 एमएस के अंदर सही तरीके से कैलिब्रेट नहीं किया गया है.
  • फ़्रेम ड्रॉप: लगातार 200 फ़्रेम कैप्चर करने के लिए, पाइपलाइन तेज़ नहीं है.
  • सॉकेट से जुड़ी गड़बड़ियां: adb, जांच को पूरा करने के लिए ज़रूरत के मुताबिक डीयूटी से कनेक्ट नहीं हो पा रहा है.
  • चार्ट को फ़्लैट माउंट नहीं किया गया है. प्लॉट test_sensor_fusion_plot_rotations में ऐसे फ़्रेम हैं जिनमें कैमरे के घूमने की दिशा और घुमाव की स्पीड में काफ़ी अंतर है. ऐसा इसलिए है, क्योंकि कैमरा चार्ट के उन हिस्सों पर घूमता है जो सपाट नहीं हैं.
  • कैमरा फ़्लैट नहीं है. प्लॉट test_sensor_fusion_gyro_events में X और Y प्लेन में हुई गतिविधि दिखती है. यह गड़बड़ी, सामने वाले कैमरे में ज़्यादा होती है, क्योंकि रीयर कैमरे के लिए फ़ोन के बाकी हिस्से की तुलना में अक्सर थोड़ा उभार होता है. इससे फ़ोन के पीछे वाले हिस्से को माउंटिंग प्लेट पर माउंट करते समय, कैमरे में झुकाव आ जाता है.

test_video_stabilization

यह जांच करता है कि स्टेबलाइज़ किया गया वीडियो, जियोस्कोप से कम घूमता है या नहीं.

इन एपीआई की जांच की गई है:

पास: फ़्रेम में ऐंगल का रोटेशन, गायरोस्कोप के रोटेशन के 60% से कम है.

यहां स्थिरीकरण की सुविधा के साथ और बिना स्थिरीकरण के वीडियो के सैंपल दिए गए हैं.

  • स्टेबलाइज़ेशन की सुविधा वाले वीडियो का सैंपल

  • स्टेबलाइज़ेशन के बिना वीडियो का सैंपल

feature_combination

feature_combination टेस्ट से यह पुष्टि होती है कि एक साथ कई कैमरे की सुविधाएं चालू होने पर, सुविधाएं सही तरीके से काम करती हैं. इन टेस्ट में, सेंसर फ़्यूज़न सीन में इस्तेमाल की गई उसी चेकरबोर्ड इमेज का इस्तेमाल किया जाता है.

test_feature_combination

यह कैमरा डिवाइस पर काम करने वाले अलग-अलग स्ट्रीम कॉम्बिनेशन, झिलमिलाहट को कम करने की सुविधा, टारगेट फ़्रेम रेट की सीमा, 10-बिट एचडीआर वीडियो, और अल्ट्रा एचडीआर के सभी कॉम्बिनेशन की जांच करता है. यह टेस्ट बहुत ज़्यादा मेमोरी का इस्तेमाल करता है. इसलिए, हमारा सुझाव है कि आप कम से कम 128 जीबी रैम वाले होस्ट का इस्तेमाल करें.

Android 15 और इसके बाद के वर्शन के लिए, कॉन्फ़िगरेशन फ़ाइल में एक log_feature_combo_support फ़ील्ड शामिल होता है. यह डिफ़ॉल्ट रूप से False पर सेट होता है. जब log_feature_combo_support फ़ील्ड को True पर सेट किया जाता है, तो टेस्ट, काम करने वाली सुविधाओं के सभी कॉम्बिनेशन चलाता है. साथ ही, टेस्ट में फ़ेल हुए बिना, नतीजों को प्रोटो फ़ाइल में लॉग करता है. नीतियों का पालन करने से जुड़ी जांच के लिए, log_feature_combo_support फ़ील्ड को False पर सेट करना ज़रूरी है.

इन एपीआई की जांच की गई है:

पास: काम करने वाले हर सुविधा कॉम्बिनेशन के लिए:

  • अगर झलक को स्थिर करने की सुविधा चालू है, तो झलक की स्ट्रीम स्थिर हो जाती है.
  • झलक का फ़्रेम रेट, कॉन्फ़िगर किए गए AE_TARGET_FPS_RANGE के अंदर आता है.
  • रिकॉर्ड की गई झलक वाली स्ट्रीम का कलर स्पेस, सेट किए गए कलर स्पेस से मेल खाता हो.
  • अल्ट्रा एचडीआर कैप्चर में मान्य गेन मैप हो.