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

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

कैमरा ITS गेट्स, ज़रूरी कैमरा प्रॉपर्टी, एपीआई लेवल, और मीडिया परफ़ॉर्मेंस क्लास (एमपीसी) लेवल के हिसाब से टेस्ट करता है. एपीआई लेवल के लिए, 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_tele: टेलीफ़ोटो लेंस स्विच करना
  • scene_flash: ऑटोफ़्लैश, फ़्रेम रेट कम से कम
  • scene_video: फ़्रेम ड्रॉप
  • sensor_fusion: कैमरा/जाइरोस्कोप के टाइमिंग ऑफ़सेट की जानकारी
  • feature_combination: सुविधा के कॉम्बिनेशन
  • scene_ip: डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA के बीच इमेज की समानता

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

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_1

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_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_ev_compensation

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

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

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

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

बेसिक सेक्शन पास: इमेज में पांच चरणों में, ज़्यादा एक्सपोज़र दिए बिना एक्सपोज़र बढ़ाने की सुविधा दिखती है.

test_ev_compensation_basic

test_ev_compensation_basic.png

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

test_ev_compensation_advanced_plot_means

test_ev_compensation_advanced_plot_means.png

test_exposure_x_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_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

scene1_2

सीन 1_2, सीन 1_1 की फ़ंक्शनल कॉपी है. इसमें सब-सीन का स्ट्रक्चर लागू किया गया है, ताकि सीन 1 की लंबी अवधि को कम किया जा सके.

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_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_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

scene1_3

सीन 1_3, सीन 1_1 की फ़ंक्शनल कॉपी है. इसमें सब-सीन का स्ट्रक्चर लागू किया गया है, ताकि सीन 1 की लंबी अवधि को कम किया जा सके.

test_capture_result

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

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

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

test_capture_result_plot_lsc_auto_ch0

test_capture_result_plot_lsc_auto_ch0.png

test_dng_noise_model

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

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

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

test_dng_noise_model_plog

test_dng_noise_model_plog.png

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_raw_burst_sensitivity

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

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

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

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

test_raw_burst_sensitivity_variance

test_raw_burst_sensitivity_variance.png

test_raw_sensitivity

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

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

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

test_raw_sensitivity_variance

test_raw_sensitivity_variance.png

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

test_sensitivity_priority

अलग-अलग ISO सेटिंग में CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY टेस्ट किए जाते हैं, ताकि यह पुष्टि की जा सके कि ज़्यादा ISO और ज़्यादा शोर के लेवल के बीच कोई संबंध है या नहीं.

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

पास: ज़्यादा आईएसओ की वजह से, नॉइज़ लेवल बढ़ जाता है.

स्किप करने की शर्तों की जांच करना

अगर इनमें से कोई भी शर्त पूरी होती है, तो test_sensitivity_priority.py टेस्ट को छोड़ दिया जाता है:

test_exposure_time_priority

अलग-अलग एक्सपोज़र समय के लिए CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY का टेस्ट किया जाता है. इससे, उस रेंज में स्थिर चमक की जांच की जाती है जहां आईएसओ से बदलाव किया जा सकता है.

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

पास: अगर ISO, कंपेसेशन रेंज में है, तो एक्सपोज़र के सभी समयों में चमक स्थिर (टॉलरेंस के अंदर) रहती है.

स्किप करने की शर्तों की जांच करना

अगर इनमें से कोई भी शर्त पूरी होती है, तो test_exposure_time_priority टेस्ट को छोड़ दिया जाता है:

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_exposure_keys_consistent

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

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

पास: दोनों कैप्चर के बीच ल्यूमा में अंतर चार प्रतिशत से कम है.

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_preview_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 मिलीसेकंड से कम होना चाहिए. यह समय, दोनों प्राइमरी कैमरों के लिए, आईटीएस लाइटिंग कंडीशन (3000K) में सीटीएस कैमरा परफ़ॉर्मेंस टेस्ट के हिसाब से तय किया जाता है.

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_preview_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_preview_num_faces

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

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

पास: चेहरे के बॉउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे ढूंढता है.

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

scene2_g

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

scene2_g.png

scene2_g

test_preview_num_faces

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

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

पास: चेहरे के बॉउंडिंग बॉक्स में, चेहरे के लैंडमार्क के साथ तीन चेहरे ढूंढता है.

test_preview_num_faces

test_preview_num_faces

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% से ज़्यादा नहीं होता, और ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू (एफ़ओवी) को बनाए रखा जाता है.

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

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

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, यूनीक आइडेंटिफ़ायर वाले ArUco मार्कर का ग्रिड है. 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 रूट मीन स्क्वेयर (आरएमएस) का अंतर, टेस्ट में सेट किए गए थ्रेशोल्ड से कम है.

test_zoom

अल्ट्रावाइड लेंस से वाइड लेंस पर कैमरे के ज़ूम करने के तरीके की जांच करता है. ज़ूम रेंज में कैप्चर लेता है और यह जांच करता है कि कैमरे के ज़ूम इन करने पर, ArUco मार्कर बड़े हो जाते हैं या नहीं. इस टेस्ट से यह भी पता चलता है कि हर कैप्चर में, सेंटर मार्कर की पोज़िशन में क्या कोई बदलाव होता है. सेंटर मार्कर के बीच की दूरी और इमेज के बीच की दूरी, ज़ूम रेशियो के हिसाब से एक जैसी रह सकती है. ऐसा तब तक होता है, जब तक कैमरे को एक से दूसरे पर स्विच नहीं किया जाता. इसके बाद, यह दूरी एक ही मार्कर की जगह के हिसाब से बदल सकती है. जांच करने से पहले, डिवाइस पर Jetpack Camera ऐप्लिकेशन (JCA) इंस्टॉल होना चाहिए.

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

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

test_zoom

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

test_low_latency_zoom

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

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

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

test_preview_video_zoom_match

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

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

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

HD_1280x720_key_frame.png

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

preview_1280x720_key_frame.png

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

HD_1280x720_key_frame_zoomed.png

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

preview_1280x720_key_frame_zoomed.png

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

test_preview_zoom

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

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

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

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

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

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

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

  • एई की जांच: अगर डिवाइस में ae_regions और awb_regions, दोनों लेंस काम करते हैं, तो सभी कलर पैच के लिए, अल्ट्रा वाइड और वाइड लेंस की इमेज के बीच ल्यूमा में बदलाव (Y वैल्यू) 4% से कम होना चाहिए. अगर सिर्फ़ ae_regions काम करता है, तो सिर्फ़ स्लेटी रंग की पैच वैल्यू को शर्तें पूरी करनी होंगी.
  • AWB की जांच: अगर डिवाइस पर ae_regions और awb_regions, दोनों काम करते हैं, तो UW और W लेंस इमेज के लिए R/G और B/G वैल्यू के बीच का अंतर, स्लेटी रंग के पैच के लिए 3% से कम और अन्य रंग के पैच के लिए 10% से कम होना चाहिए.
  • ऑटो फ़ोकस की जांच: वाइड लेंस से कैप्चर की गई इमेज की क्वालिटी, यूडब्ल्यू लेंस से कैप्चर की गई इमेज की क्वालिटी से बेहतर होनी चाहिए.

test_multi_camera_switch_gray_uw_y

UW लेंस से लिया गया स्लेटी रंग का पैच

test_multi_camera_switch_gray_w_y

W लेंस से लिया गया स्लेटी रंग का पैच

scene8

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

scene8

scene8

test_ae_awb_regions

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

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

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

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

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

test_ae_awb_regions_dark_region

ज़्यादा एक्सपोज़र के साथ, फ़्रेम में गहरे हिस्से को मेज़र करना

test_ae_awb_regions_light_region

कम एक्सपोज़र के साथ, फ़्रेम मेज़रिंग लाइटर रीजन

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

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

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

test_color_correction_mode_cct

अलग-अलग कलर टेंपरेचर और टिनट में COLOR_CORRECTION_MODE का जांच करता है. साथ ही, कैप्चर किए गए सीन, scene8 के आरजीबी रेशियो में हुए बदलावों की पुष्टि करता है.

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

पास: आरजीबी अनुपात, चुने गए कलर टेंपरेचर और टिनट के हिसाब से, अनुमानित बढ़ोतरी या कमी दिखाते हैं.

स्किप करने की शर्तों की जांच करना

अगर इनमें से कोई भी शर्त पूरी होती है, तो test_color_correction_mode_cct टेस्ट को छोड़ दिया जाता है:

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 तक. साथ ही, पांच अंतरों का औसत भी निकालता है.

Android 16 या इसके बाद के वर्शन वाले डिवाइसों के लिए, कैप्चर करने के अनुरोध में एक मेज़र किया गया क्षेत्र शामिल होता है. यह क्षेत्र, स्क्वेयर के ग्रिड को बॉर्डर करने वाले रेक्टैंगल से मेल खाता है. इस बदलाव से, थ्रेशोल्ड पास करने की शर्तें बदल जाती हैं.

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

पास:

  • Android 16 या इसके बाद के वर्शन वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 80 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 18.75 होना चाहिए.
  • Android 15 और उससे पहले के वर्शन वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 85 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 17 होना चाहिए.

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

scene_low_light_night_pass

test_low_light_boost_extension

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

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

Android 16 या इसके बाद के वर्शन वाले डिवाइसों के लिए, कैप्चर करने के अनुरोध में एक मेज़र किया गया क्षेत्र शामिल होता है. यह क्षेत्र, स्क्वेयर के ग्रिड को बॉर्डर करने वाले रेक्टैंगल से मेल खाता है. इस बदलाव से, थ्रेशोल्ड पास करने की शर्तें बदल जाती हैं.

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

पास:

  • Android 16 या इसके बाद के वर्शन वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 54 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 17 होना चाहिए.

  • Android 15 और उससे पहले के वर्शन वाले डिवाइसों के लिए, पहले छह स्क्वेयर की औसत ल्यूमा वैल्यू कम से कम 70 होनी चाहिए. साथ ही, पांचवें और छठे स्क्वेयर तक के स्क्वेयर की ल्यूमा वैल्यू में औसत अंतर कम से कम 18 होना चाहिए.

scene_tele

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

वाइड और टेली कैमरे की फ़ोकस दूरी के आधार पर, scene_tele सेटअप

टेस्ट हार्डवेयर सेटअप के बारे में ज़्यादा जानकारी के लिए, टेली एक्सटेंशन रिग सेटअप देखें.

scene6_tele

scene6_tele सीन में, सफ़ेद रंग के बैकग्राउंड पर ArUco मार्कर का ग्रिड है.

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

remove_phone_mount

WFoV टेस्ट रिग को एक्सटेंशन से डिसकनेक्ट करें और फ़ोन माउंट हटाएं.

remove_front_plate

सामने की प्लेट हटाएं.

test_zoom_tele

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

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

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

test_preview_zoom_tele

वाइड लेंस से टेलीफ़ोटो लेंस तक, झलक फ़्रेम के लिए कैमरे के ज़ूम व्यवहार की जांच करता है. यह जांच, test_preview_zoom से मिलती-जुलती है. हालांकि, इसमें वाइड लेंस से टेलीफ़ोटो लेंस तक, झलक फ़्रेम के लिए कैमरे के ज़ूम व्यवहार की जांच की जाती है.

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

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

scene7_tele

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

test_multi_camera_switch_tele

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

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

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

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

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

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

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

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 तक बढ़ जाता है.

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_night_mode_indicator

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

इस जांच से यह पता चलता है कि कैमरे की झलक के दौरान, नाइट मोड इंडिकेटर, लाइटिंग की स्थिति को सही तरीके से दिखाता है या नहीं. जांच के लिए, ये चरण अपनाए जाते हैं:

  1. शुरू करना: यह जांच, ItsSession को शुरू करती है और कैमरा प्रॉपर्टी को फिर से हासिल करती है. यह लाइटिंग कंट्रोलर से भी कनेक्ट होता है.
  2. शर्तें पूरी न होने पर जांच न करना: अगर डिवाइस पर ज़रूरी एपीआई लेवल या नाइट मोड इंडिकेटर की सुविधा काम नहीं करती है, तो जांच नहीं की जाती.
  3. Camera2 सेशन:
    • यह जांच, Camera2 सेशन का इस्तेमाल करके, झलक कैप्चर करने वाला सेशन शुरू करती है.
    • लाइट चालू हो जाती है और झलक वाला फ़्रेम कैप्चर हो जाता है.
    • इस जांच से यह पुष्टि होती है कि नाइट मोड इंडिकेटर OFF स्टेटस में है.
    • लाइट बंद हो जाती है और झलक वाला फ़्रेम कैप्चर हो जाता है.
    • इस जांच से यह पुष्टि होती है कि नाइट मोड इंडिकेटर ON स्टेटस में है.
  4. कैमरा एक्सटेंशन सेशन:
    • टेस्ट में, Camera2 सेशन के लिए इस्तेमाल किए गए तरीके को दोहराया जाता है. हालांकि, इसमें EXTENSION_NIGHT एक्सटेंशन वाले CameraExtension सेशन का इस्तेमाल किया जाता है.
  5. क्लीनअप: टेस्ट ItsSession को बंद कर देता है और लाइटिंग कंट्रोलर को रिलीज़ कर देता है.

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

पास:

  • लाइट चालू होने पर, नाइट मोड इंडिकेटर की स्थिति OFF होनी चाहिए.
  • लाइट बंद होने पर, नाइट मोड इंडिकेटर की स्थिति ON होनी चाहिए.
  • यह Camera2 और CameraExtension, दोनों सेशन पर लागू होता है.

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

test_video_stabilization

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

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

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

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

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

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

test_video_stabilization_jca

इस बात की जांच करना कि Jetpack Camera ऐप्लिकेशन (JCA) का इस्तेमाल करके, स्थिर किए गए वीडियो में जियोस्कोप की तुलना में कम घुमाव होता है. जांच करने से पहले, डिवाइस पर JCA इंस्टॉल होना चाहिए.

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

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

feature_combination

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

test_feature_combination

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

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

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

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

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

scene_ip

(Android 16 से उपलब्ध) सीन scene_ip, डिफ़ॉल्ट कैमरा ऐप्लिकेशन और Jetpack कैमरा ऐप्लिकेशन (JCA) के बीच इमेज की पैरिटी जांच की सुविधा चालू करता है. इससे, कैप्चर की गई इमेज के बीच के बड़े अंतर की पहचान की जा सकती है. JCA, सोशल मीडिया ऐप्लिकेशन की कैप्चर की गई इमेज की नकल करता है और एक बेसलाइन इमेज उपलब्ध कराता है. इसके बाद, सोशल मीडिया ऐप्लिकेशन उस इमेज को प्रोसेस और बेहतर बनाते हैं.

हार्डवेयर सेटअप करने से जुड़ी ज़रूरी शर्तें

scene_ip टेस्ट के लिए, यह हार्डवेयर सेटअप ज़रूरी है:

  • टेस्ट, Gen2 कैमरे के एक बॉक्स में मौजूद आईटीएस में किए जाते हैं.
  • Gen2 रिग में मौजूद लाइटिंग और सर्वो कंट्रोलर का इस्तेमाल, टेस्ट एनवायरमेंट को कंट्रोल करने के लिए किया जाता है
  • Gen2 रिग में, टेस्ट की सुविधा का चार्ट रखा गया है.

test_chart_gen2

Gen2chart_sample.png

स्किप करने की शर्तों की जांच करना

scene_ip टेस्ट तब स्किप कर दिए जाते हैं, जब इनमें से कोई भी शर्त पूरी होती है:

  • डिवाइस का पहला एपीआई लेवल (first_api_level) 35 या उससे कम हो.
  • डिवाइस, फ़ोन डिवाइस न हो, जिसमें सामने और पीछे के मुख्य कैमरे डिवाइस हों (उदाहरण के लिए, टैबलेट या टीवी).

test_default_jca_ip

डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA का इस्तेमाल करके, लाइटिंग की कंट्रोल की गई स्थितियों में जांच की सुविधा वाले चार्ट की इमेज कैप्चर करता है. साथ ही, यह जांच करता है:

  • फ़ील्ड ऑफ़ व्यू (एफ़ओवी): यह जांच करता है कि डिफ़ॉल्ट कैमरा ऐप्लिकेशन और JCA कैप्चर में एक ही एफ़ओवी है या नहीं. यह जांच, कैप्चर किए गए चार्ट की इमेज से निकाले गए सेंटर क्यूआर कोड की सुविधा का इस्तेमाल करती है.

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

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

बुनियादी सेक्शन पास: फ़ील्ड ऑफ़ व्यू (FOV), चमक, और व्हाइट बैलेंस की जांच में पास. Android 16 में, यह जांच करना ज़रूरी नहीं है (NOT_YET_MANDATED).