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

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

कैमरा आईटीएस गेट, ज़रूरी कैमरा प्रॉपर्टी, एपीआई लेवल, और मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) लेवल के हिसाब से जांच करता है. एपीआई लेवल के लिए, 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 एमएस का डेल्टा है.

जांच_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

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

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.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 इमेज के 5 बर्स्ट लेता है. साथ ही, यह देखता है कि वे सभी एक जैसे हैं या नहीं. इस जांच का इस्तेमाल यह पता लगाने के लिए किया जा सकता है कि क्या कभी-कभी ऐसे फ़्रेम दिखते हैं जिन्हें अलग तरह से प्रोसेस किया गया है या जिनमें आर्टफ़ैक्ट हैं.

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

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

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

  • 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

जांच_क्रॉप_क्षेत्र_करो

ऐसे टेस्ट जिनसे पता चलता है कि RAW फ़ॉर्मैट में स्ट्रीम को काटा नहीं जा सकता.

जांचे गए एपीआई:

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

परीक्षण_क्रॉप_region_raw_comp_raw_क्रॉप

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_dng_noise_model

इस बात की पुष्टि करता है कि डीएनजी के रॉ मॉडल के पैरामीटर सही हैं या नहीं. इस प्लॉट में, अलग-अलग सेंसिटिविटी पर कैप्चर किए गए रॉ शॉट में, स्लेटी रंग के कार्ड के बीच के पैच के लिए, मापी गई वैरिएंस को दिखाया गया है. साथ ही, इन वैल्यू की तुलना, कैमरा एचएएल में 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

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

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

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

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

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

test_exposure_plot_means

जांच_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_latting_i=00.jpg test_latking_i=01.jpg test_latching_i=02.jpg
test_latching_i=00.jpg test_latking_i=01.jpg test_latching_i=02.jpg
test_latching_i=03.jpg test_lat{6}_i=04.jpg test_latching_i=05.jpg
test_latching_i=03.jpg test_lat{6}_i=04.jpg test_latging_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_latking_i=10.jpg test_latching_i=11.jpg
test_latching_i=09.jpg test_latking_i=10.jpg test_latching_i=11.jpg
Test_latting_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 में की जाती है.

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

पास: कैप्चर की गई इमेज एक जैसी दिखती हैं.

जांच_लॉक किया गया_बर्स्ट_फ़्रेम0

test_locked_burst_frame0.jpg

जांच_लॉक किया गया_बर्स्ट_फ़्रेम1

test_locked_burst_frame1.jpg

test_locked_burst_frame2

test_locked_बर्स्ट_फ़्रेम2.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_ सुधार_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_ अस्थायी_req=2.jpg (B बूस्ट)

test_param_flash_mode

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

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

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

परीक्षण_पैरामीटर_फ़्लैश_मोड_1

test_param_flash_mode_1.jpg

test_param_flash_mode_1_टाइल

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_restruction_plot_SNRs

परीक्षण_परम_नोइज़_रिडक्टन_plot_SNRs.png

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

Test_param_noise_reaction_high_gain_nr=0

test_param_noise_reaction_high_gain_nr=0.jpg

test_param_noise_reaction_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

जांच_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

परीक्षण_पोस्ट_raw_संवेदनशीलता_बूस्ट_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

जांच_पोस्ट_raw_संवेदनशीलता_boost_yuv_plot_means.png

test_raw_burst_sensitivity

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

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

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

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

test_raw_burst_sensitivity_variance

test_raw_burst_sensitivity_variance.png

जांच_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

परीक्षण_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

परीक्षण_raw_संवेदनशीलता

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

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

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

जांच_raw_संवेदनशीलता_वैरियंस

test_raw_sensitivity_variance.png

test_reprocess_noise_reduction

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

जांचे गए एपीआई:

पास: तेज़ >= बंद, HQ >= तेज़, HQ >> बंद

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

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

test_tonemap_sequence

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

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

पास: इसमें तीन एक जैसे फ़्रेम होते हैं. इसके बाद, एक जैसे तीन फ़्रेम का दूसरा सेट होता है.

test_tonemap_seq_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_seq_i=4.jpg

test_tonemap_seq_i=5

test_tonemap_sequence_i=5.jpg

test_yuv_jpeg_all

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

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

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

test_yuv_jpeg_सभी

test_yuv_jpeg_all.png

परीक्षण_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 में तीन चेहरे हैं. इनके बैकग्राउंड का रंग स्लेटी है और कपड़े न्यूट्रल हैं. इन चेहरों को चुनने का मकसद, अलग-अलग रंग की त्वचा दिखाना है. चेहरे की पहचान करने की सुविधा बेहतर तरीके से काम करे, इसके लिए चार्ट का ओरिएंटेशन सही होना चाहिए.

सीन2_ए

scene2_a

टेस्ट_ऑटोफ़्रेमिंग

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

जांचे गए एपीआई:

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

परीक्षण_display_p3

टेस्ट ColorSpaceProfiles एपीआई का इस्तेमाल करके, JPEG में Display P3 कैप्चर करने की सुविधा. यह जांच करता है कि कैप्चर किए गए 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 प्लेन को आपस में बदला नहीं गया है.

परीक्षण_रीप्रोसेस_रूवी_स्वैप

परीक्षण_रीप्रोसेस_रूवी_स्वैप.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% से कम है.

सीन2_सी

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 परफ़ॉर्मेंस क्लास के लिए कैमरे के लॉन्च में लगने वाले समय की जांच करता है.

पास: Camera2 के चालू होने में लगने वाला समय (पहले झलक दिखाने वाले फ़्रेम तक कैमरा खुलने में लगने वाला समय) 600 मि॰से॰ से कम होना चाहिए. दोनों मुख्य कैमरों के लिए, सीटीएस कैमरा PerformanceTest के तहत, इसकी लाइटिंग की शर्तों (3,000 हज़ार) को 600 मि॰से॰ से कम किया गया हो.

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 फ़्रेम कैप्चर करने के बाद सेट हो जाता है.

परीक्षण_num_faces

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

जांचे गए एपीआई:

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

scene2_f

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

सीन2_f.png

scene2_f

test_num_faces

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

जांचे गए एपीआई:

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

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

scene3

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

Test_ Edge_enhancement

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

पास: OFF मोड (0) की तुलना में HQ मोड (2) बेहतर. FAST मोड (1), OFF मोड से बेहतर है. HQ मोड, FAST मोड के बराबर या उससे बेहतर है.

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

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

  • EDGE_MODE

test_edge_enhancement_edge=0

test_edge_enhancement_edge=0.jpg

test_edge_enhancement_edge=1

test_Age_enhancement_ Edge=1.jpg (तेज़ मोड)

test_लेज_enhancement_ Edge=2

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

test_flip_mirror

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

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

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

जांच_फ्लिप_मिरर_स्सीन_पैच

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

जांच_imu_drift_rotation_vector_drift.png

test_imu_drift_rotation_vector_drift.png

टेस्ट_लैंडस्केप_तो_पोर्ट्रेट

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

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

पास: टेस्ट, चार्ट को उम्मीद के मुताबिक घुमाकर ढूंढ पाता है. लैंडस्केप से पोर्ट्रेट में बदलने की सुविधा बंद होने पर, चार्ट 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 का इस्तेमाल करके, डीयूटी और चार्ट के अलाइनमेंट की जांच की जा सकती है.

सीन4

सीन4

test_30_60fps_preview_fov_match

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

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

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

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

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

test_aspect_ratio_and_crop

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

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

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

समस्या ठीक न होने के तरीके:

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

test_multi_camera_alignment

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

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

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

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

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

test_preview_aspect_ratio_and_ शोप

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

जांचे गए एपीआई:

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

test_preview_stabilization_fov

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

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

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

test_video_aspect_ratio_and_crop

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

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

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

सीन5

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 पर सेट करने पर, ज़ूम रेंज में दो कैप्चर लिए जाते हैं. इनमें, फ़ील्ड ऑफ़ व्यू (एफ़ओवी) वाली पूरी RAW इमेज और काटी गई RAW इमेज शामिल होती है. यह टेस्ट, इमेज को RGB ऐरे में बदल देता है. साथ ही, पूरी साइज़ वाली क्रॉप की गई RAW इमेज को SCALER_RAW_CROP_REGION के बताए गए साइज़ में छोटा कर देता है. इसके बाद, दोनों इमेज के बीच के 3D रूट मीन स्क्वेयर (RMS) अंतर का हिसाब लगाता है.

जांचे गए एपीआई:

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

जांच_ज़ूम

कैमरे के ज़ूम करने के तरीके की जांच करता है. इससे, ज़ूम रेंज से जुड़ी फ़ोटो ली जाती हैं. साथ ही, यह जांच की जाती है कि कैमरे के ज़ूम इन होने पर वृत्त बड़े होते हैं या नहीं. हर फ़ॉर्मैट (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 (ज़ूम करने के बाद)

पूर्वावलोकन_640x480_key_frame_zoomed.png

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

जांच_झलक_ज़ूम

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

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

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

जांच_ज़ूम

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 मार्कर, आयत के चार बाहरी कोनों की मदद से अलाइन किए गए हैं. इससे अलग-अलग ज़ूम रेशियो पर, मुख्य रेक्टैंगल फ़्रेम के सटीक निर्देशांक पाने में मदद मिलती है.

सीन7

सीन7

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 Lens इमेज के लिए, R/G और B/G वैल्यू के बीच का अंतर 0.5% से कम होना चाहिए.
  • ऑटो फ़ोकस की जांच: UW और W लेंस की इमेज के बीच इमेज की शार्पनेस में बदलाव 2% से कम होना चाहिए.

सीन8

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

scene8

scene8

test_ae_awb_regions

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

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

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

जांचे गए एपीआई:

पास: AE और AWB दोनों पास की जांच करते हैं.

scene9

Square9 में, बिना किसी क्रम के साइज़ और रंग वाले हज़ारों सर्कल होते हैं. इस तरह के सीन में, 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_क्वालिटी को सही तरीके से सेट अप नहीं किया गया

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

ध्यान दें कि बहुत खराब क्वालिटी वाली इमेज (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

सीन_एचडीआर

test_hdr_extension

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

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

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

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 के लिए की जाती है. अगर नाइट मोड कैमरा एक्सटेंशन काम करता है और एक्सटेंशन, कम रोशनी में बूस्ट करने वाले एई मोड के साथ काम करता है, तो नाइट मोड के कैमरा एक्सटेंशन के लिए भी यह जांच की जाएगी. यह टेस्ट AE मोड को कम रोशनी पर सेट करता है, झलक से एक फ़्रेम लेता है, और यह काम करता है:

  • 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 हो जाता है.

सेंसर_फ़्यूजन

सेंसर फ़्यूज़न की जांच के लिए, चेकरबोर्ड पैटर्न और 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

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

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

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

जांच_झलक_स्टेबलाइज़ेशन

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

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

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

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

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

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

test_sensor_fusion

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

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

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

    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, DUT के साथ लंबे समय तक भरोसेमंद तरीके से कनेक्ट नहीं कर सकता, ताकि जांच की जा सके.
  • चार्ट को फ़्लैट माउंट नहीं किया गया है. प्लॉट test_sensor_fusion_plot_rotations में ऐसे फ़्रेम हैं जिनमें कैमरे के घूमने की दिशा और घुमने की स्पीड में काफ़ी अंतर है. ऐसा इसलिए है, क्योंकि कैमरा चार्ट के उन हिस्सों पर घूमता है जो सपाट नहीं हैं.
  • कैमरे को फ़्लैट माउंट नहीं किया गया है. प्लॉट test_sensor_fusion_gyro_events X और Y प्लेन में गति दिखाता है. यह समस्या, सामने वाले कैमरे में ज़्यादा होती है, क्योंकि रीयर कैमरे के लिए फ़ोन के बाकी हिस्से की तुलना में अक्सर उभार होता है. इससे फ़ोन के पीछे वाले हिस्से को माउंटिंग प्लेट पर माउंट करते समय, फ़ोन थोड़ा झुक जाता है.

जांच_वीडियो_स्टेबलाइज़ेशन

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

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

पास: फ़्रेम में ऐंगल का ज़्यादा से ज़्यादा रोटेशन, गायरोस्कोप के रोटेशन के 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 के दायरे में आता है.
  • रिकॉर्ड की गई झलक वाली स्ट्रीम का कलर स्पेस, सेट किए गए कलर स्पेस से मेल खाता हो.
  • अल्ट्रा एचडीआर कैप्चर में मान्य गेन मैप हो.