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

इस पेज पर, 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: ऑटो एक्सपोज़र (AE) और ऑटो व्हाइट बैलेंस (AWB) के लिए क्षेत्र के हिसाब से मेज़रमेंट
  • scene9: JPEG कम्प्रेशन
  • scene_extensions: कैमरे के एक्सटेंशन
  • scene_tele: टेलीफ़ोटो लेंस पर स्विच करना
  • scene_flash: ऑटोफ़्लैश, कम से कम फ़्रेम रेट
  • scene_video: फ़्रेम ड्रॉप
  • sensor_fusion: कैमरे और जाइरोस्कोप के टाइमिंग ऑफ़सेट
  • feature_combination: सुविधाओं के कॉम्बिनेशन
  • scene_ip: डिफ़ॉल्ट कैमरा ऐप्लिकेशन और Jetpack Camera ऐप्लिकेशन (JCA) के बीच इमेज की समानता

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

scene0

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

test_jitter

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

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

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

नीचे दी गई इमेज में, y-ऐक्सिस की छोटी रेंज पर ध्यान दें. इस प्लॉट में, असल में जटर कम है.

test_jitter प्लॉट

पहली इमेज. test_jitter प्लॉट.

test_metadata

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

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

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

test_request_capture_match

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

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

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

test_sensor_events

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

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

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

test_solid_color_test_pattern

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

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

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

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

test_test_pattern

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

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

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

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

test_test_patterns का उदाहरण

दूसरी इमेज. test_test_patterns का उदाहरण.

test_tonemap_curve

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

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

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

test_tonemap_curve रॉ फ़ॉर्मैट का उदाहरण

तीसरा चित्र. test_tonemap_curve के रॉ डेटा का उदाहरण.

test_tonemap_curve YUV का उदाहरण

चौथी इमेज. test_tonemap_curve YUV का उदाहरण.

test_unified_timestamp

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

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

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

test_vibration_restriction

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

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

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

scene1_1

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

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

scene1 example

पांचवीं इमेज. पूरे साइज़ वाला सीन1 चार्ट (बाईं ओर), 2/3 स्केल वाला चार्ट (दाईं ओर).

test_ae_precapture_trigger

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

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

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

test_auto_vs_manual

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

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

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

test_auto_vs_manual के लिए ऑटो उदाहरण

छठी इमेज. test_auto_vs_manual के लिए ऑटोमैटिक उदाहरण.

test_auto_vs_manual व्हाइट बैलेंस का उदाहरण

सातवीं इमेज. test_auto_vs_manual वाइट बैलेंस का उदाहरण.

test_auto_vs_manual मैन्युअल व्हाइट बैलेंस ट्रांसफ़ॉर्म का उदाहरण

इमेज 8. test_auto_vs_manual मैन्युअल व्हाइट बैलेंस ट्रांसफ़ॉर्म का उदाहरण.

test_black_white

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

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

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

test_black_white, black example

नौवां इलस्ट्रेशन. test_black_white, ब्लैक इमेज का उदाहरण.

test_auto_vs_manual मैन्युअल व्हाइट बैलेंस ट्रांसफ़ॉर्म का उदाहरण

इमेज 10. test_black_white, सफ़ेद रंग का उदाहरण.

test_black_white प्लॉट का मतलब बताने वाला उदाहरण

इमेज 11. test_black_white, प्लॉट का मतलब उदाहरण.

test_burst_capture

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

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

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

test_burst_sameness_manual

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

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

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

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

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

test_burst_sameness_manual_mean

इमेज 12. test_burst_sameness_manual का मतलब बताने वाला उदाहरण.

test_burst_sameness_manual_plot_means

इमेज 13. test_burst_sameness_manual_plot_means

test_crop_region_raw

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

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

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

test_crop_region_raw comp raw crop example

इमेज 14. test_crop_region_raw comp रॉ फ़ॉर्मैट में काटे गए हिस्से का उदाहरण.

test_crop_region_raw comp raw full example

इमेज 15. test_crop_region_raw comp raw का पूरा उदाहरण.

test_crop_region_raw comp YUV crop example

इमेज 16. test_crop_region_raw comp YUV फ़ॉर्मैट में काटे गए हिस्से का उदाहरण.

test_crop_region_raw_yuv_full example

इमेज 17. test_crop_region_raw YUV का पूरा उदाहरण.

test_crop_regions

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

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

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

test_ev_compensation

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

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

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

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

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

test_ev_compensation_basic

18वीं इमेज. test_ev_compensation_basic.

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

test_ev_compensation_advanced_plot_means

इमेज 19. test_ev_compensation_advanced_plot_means.

test_exposure_x_iso

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

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

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

काम न करने की वजह: नीचे दी गई इमेज में, गेन मल्टीप्लायर की वैल्यू (x-ऐक्सिस) बढ़ने पर, नॉर्मलाइज़ किए गए आरजीबी प्लेन की औसत वैल्यू (y-ऐक्सिस) कम गेन मल्टीप्लायर की वैल्यू से अलग होने लगती हैं.

test_exposure_plot_means

इमेज 20. test_exposure_plot_means.

test_exposure_mult=1.00.jpg

21वीं इमेज. test_exposure_mult=1.00.

test_exposure_mult=64.00

इमेज 22. test_exposure_mult=64.00.

test_latching

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

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

पास: इमेज [2, 3, 6, 8, 10, 12, 13] में आईएसओ या एक्सपोज़र बढ़ा है और ये इमेज, नीचे दिए गए आंकड़े में प्लॉट में ज़्यादा आरजीबी मीन्स के साथ दिखती हैं.

test_latching प्लॉट का मतलब क्या है, इसका उदाहरण

इमेज 23. test_latching प्लॉट का मतलब है उदाहरण.

test_latching i=00

इमेज 24. test_latching i=00.

test_latching i=01

इमेज 25. test_latching i=01.

test_latching i=02

26वीं इमेज. test_latching i=02.

test_latching i=03

इमेज 27. test_latching i=03.

test_latching i=04

इमेज 28. test_latching i=04.

test_latching i=05

29वीं इमेज. test_latching i=05.

test_latching i=06

तीसवीं इमेज. test_latching i=06.

test_latching i=07

31वीं इमेज. test_latching i=07.

test_latching i=08

तीसवीं इमेज. test_latching i=08.

test_latching i=09

इमेज 33. test_latching i=09.

test_latching i=10

इमेज 34. test_latching i=10.

test_latching i=11

35वीं इमेज. test_latching i=11.

test_latching i=12

इमेज 36. test_latching i=12.

test_linearity

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

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

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

test_linearity प्लॉट का मतलब उदाहरण

इमेज 37. test_linearity प्लॉट का उदाहरण.

test_locked_burst

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

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

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

test_locked_burst frame0 example

इमेज 38. test_locked_burst frame0 का उदाहरण.

test_locked_burst frame1 का उदाहरण

इमेज 39. test_locked_burst frame1 का उदाहरण.

test_locked_burst_frame2

चित्र 40. test_locked_burst frame2 का उदाहरण.

scene1_2

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

test_param_color_correction

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

टोन मैपिंग एक ऐसी तकनीक है जिसका इस्तेमाल इमेज प्रोसेसिंग में किया जाता है. इससे रंगों के एक सेट को दूसरे से मैप किया जाता है, ताकि हाई-डाइनैमिक-रेंज वाली इमेज को ऐसे मीडियम में दिखाया जा सके जिसकी डाइनैमिक रेंज सीमित हो.

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

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

test_param_color_correction प्लॉट का मतलब बताने वाला उदाहरण

चित्र 41. test_param_color_correction प्लॉट का मतलब बताने वाला उदाहरण.

नीचे दी गई इमेज में, एक्स-ऐक्सिस पर कैप्चर के अनुरोध हैं: 0 = यूनिटी, 1 = रेड बूस्ट, और 2 = ब्लू बूस्ट.

test_param_color_correction req=0 unity example

चित्र 42. test_param_color_correction req=0 unity का उदाहरण.

test_param_color_correctness req=1 red boost example

चित्र 43. test_param_color_correctness req=1 लाल रंग के लिए बूस्टर का उदाहरण.

test_param_color_correction req=2 blue boost example

चित्र 44. test_param_color_correction req=2 नीले रंग को बढ़ाने के लिए इस्तेमाल होने वाले उदाहरण.

test_param_flash_mode

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

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

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

test_param_flash_mode 1 example

चित्र 45. test_param_flash_mode 1 का उदाहरण.

test_param_flash_mode 1 टाइल का उदाहरण

इमेज 46. test_param_flash_mode की एक टाइल का उदाहरण.

test_param_flash_mode_2 का उदाहरण

इमेज 47. test_param_flash_mode 2 का उदाहरण.

test_param_flash_mode 2 टाइल का उदाहरण

इमेज 48. test_param_flash_mode की दो टाइल का उदाहरण.

test_param_noise_reduction

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

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

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

test_param_noise_reduction प्लॉट SNRs का उदाहरण

चित्र 49. test_param_noise_reduction प्लॉट एसएनआर का उदाहरण.

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

test_param_noise_reduction high gain nr=0 example

इमेज 50. test_param_noise_reduction high gain nr=0 का उदाहरण.

test_param_noise_reduction high gain nr=1 example

इमेज 51. test_param_noise_reduction high gain nr=1 का उदाहरण.

test_param_noise_reduction high gain nr=2 example

इमेज 52. test_param_noise_reduction high gain nr=2 का उदाहरण.

test_param_noise_reduction high gain nr=3 example

इमेज 53. test_param_noise_reduction high gain nr=3 का उदाहरण.

test_param_noise_reduction low gain example

इमेज 54. test_param_noise_reduction low gain का उदाहरण.

test_param_shading_mode

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

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

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

test_param_shading_mode लेंस शेडिंग मैप, मोड 0 लूप 0 का उदाहरण

इमेज 55. test_param_shading_mode लेंस शेडिंग मैप, मोड 0 लूप 0 का उदाहरण.

test_param_shading_mode लेंस शेडिंग मैप, मोड 1 लूप 0 का उदाहरण

इमेज 56. test_param_shading_mode लेंस शेडिंग मैप, मोड 1 लूप 0 का उदाहरण.

test_param_shading_mode लेंस शेडिंग मैप, मोड 2 लूप 0 का उदाहरण

इमेज 57. test_param_shading_mode लेंस शेडिंग मैप, मोड 2 लूप 0 का उदाहरण.

test_param_tonemap_mode

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

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

पास:

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

n=0 के साथ test_param_tonemap_mode

इमेज 58. n=0 के साथ test_param_tonemap_mode.

n=1 के साथ test_param_tonemap_mode

इमेज 59. n=1 के साथ test_param_tonemap_mode.

test_post_raw_sensitivity_boost

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

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

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

test_post_raw_sensitivity_boost raw s=3583 boost=0100 example

इमेज 60. test_post_raw_sensitivity_boost raw s=3583 boost=0100 का उदाहरण.

test_post_raw_sensitivity_boost raw s=1792 boost=0200 example

इमेज 61. test_post_raw_sensitivity_boost raw s=1792 boost=0200 का उदाहरण.

test_post_raw_sensitivity_boost raw s=0896 boost=0400 example

इमेज 62. test_post_raw_sensitivity_boost raw s=0896 boost=0400 का उदाहरण.

test_post_raw_sensitivity_boost raw s=0448 boost=0800 example

इमेज 63. test_post_raw_sensitivity_boost raw s=0448 boost=0800 का उदाहरण.

test_post_raw_sensitivity_boost raw s=0224 boost=1600 example

इमेज 64. test_post_raw_sensitivity_boost raw s=0224 boost=1600 का उदाहरण.

test_post_raw_sensitivity_boost raw s=0112 boost=3199 example

इमेज 65. test_post_raw_sensitivity_boost raw s=0112 boost=3199 का उदाहरण.

test_post_raw_sensitivity_boost रॉ प्लॉट का मतलब बताने वाला उदाहरण

इमेज 66. test_post_raw_sensitivity_boost रॉ प्लॉट का मतलब उदाहरण.

test_post_raw_sensitivity_boost YUV s=0112 boost=3199 example

इमेज 67. test_post_raw_sensitivity_boost YUV s=0112 boost=3199 का उदाहरण.

test_post_raw_sensitivity_boost YUV s=0448 boost=0800 example

इमेज 68. test_post_raw_sensitivity_boost YUV s=0448 boost=0800 का उदाहरण.

test_post_raw_sensitivity_boost YUV s=0896 boost=0400 example

इमेज 69. test_post_raw_sensitivity_boost YUV s=0896 boost=0400 का उदाहरण.

test_post_raw_sensitivity_boost YUV s=1792 boost=0200 example

इमेज 70. test_post_raw_sensitivity_boost YUV s=1792 boost=0200 का उदाहरण.

test_post_raw_sensitivity_boost YUV s=3585 boost=0100 example

इमेज 71. test_post_raw_sensitivity_boost YUV s=3585 boost=0100 का उदाहरण.

test_post_raw_sensitivity_boost_yuv_plot_means

72वीं इमेज. test_post_raw_sensitivity_boost_yuv_plot_means

test_raw_exposure

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

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

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

test_raw_exposure ISO=55 का उदाहरण

इमेज 73. test_raw_exposure ISO=55 का उदाहरण.

10⁰ का मतलब है 1 मिलीसेकंड, 10¹ का मतलब है 10 मिलीसेकंड, और 10⁻¹ का मतलब है 0.1 मिलीसेकंड.

test_raw_exposure ISO=132 का उदाहरण

इमेज 74. test_raw_exposure ISO=132 का उदाहरण.

test_raw_exposure ISO=209 का उदाहरण

इमेज 75. test_raw_exposure ISO=209 का उदाहरण.

test_raw_exposure ISO=286 का उदाहरण

इमेज 76. test_raw_exposure ISOs=286 का उदाहरण.

test_raw_exposure ISO=363 का उदाहरण

इमेज 77. test_raw_exposure ISO=363 का उदाहरण.

test_raw_exposure_s=440

इमेज 78. test_raw_exposure ISO=440 का उदाहरण.

test_reprocess_noise_reduction

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

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

पास: फ़ास्ट >= बंद, एचडी >= फ़ास्ट, और एचडी >> बंद.

एनआर मोड बनाम सामान्य एसएनआर प्लॉट

79वीं इमेज. सामान्य एसएनआर बनाम एनआर मोड प्लॉट का उदाहरण.

test_tonemap_sequence

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

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

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

test_tonemap_sequence i=0 example

80वां इलस्ट्रेशन. test_tonemap_sequence i=0 का उदाहरण.

test_tonemap_sequence i=1 example

इमेज 81. test_tonemap_sequence i=1 का उदाहरण.

test_tonemap_sequence i=2 example

82वीं इमेज. test_tonemap_sequence i=2 का उदाहरण.

test_tonemap_sequence i=3 example

इमेज 83. test_tonemap_sequence i=3 का उदाहरण.

test_tonemap_sequence_i=4 का उदाहरण

84वीं इमेज. test_tonemap_sequence i=4 का उदाहरण.

test_tonemap_sequence i=5 example

इमेज 85. test_tonemap_sequence i=5 का उदाहरण.

test_yuv_jpeg_all

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

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

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

test_yuv_jpeg_all example

इमेज 86. test_yuv_jpeg_all का उदाहरण.

test_yuv_plus_dng

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

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

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

test_yuv_plus_dng example

इमेज 87. test_yuv_plus_dng का उदाहरण.

scene1_3

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

test_capture_result

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

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

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

test_capture_result_plot_lsc_auto_ch0

88वीं इमेज. test_capture_result_plot_lsc_auto_ch0.

test_dng_noise_model

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

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

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

test_dng_noise_model_plog

89वीं इमेज. test_dng_noise_model_plog.

test_jpeg

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

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

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

test_jpeg_fmt=jpg.jpg

इमेज 90. test_jpeg_fmt=jpg.jpg.

test_jpeg=fmt=yuv.jpg

इमेज 91. test_jpeg=fmt=yuv.jpg.

test_raw_burst_sensitivity

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

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

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

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

test_raw_burst_sensitivity_variance

पहली इमेज. test_raw_burst_sensitivity_variance.

test_raw_sensitivity

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

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

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

test_raw_sensitivity_variance

इमेज 93. test_raw_sensitivity_variance.

test_yuv_plus_jpeg

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

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

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

JPEG फ़ॉर्मैट में test_yuv_plus_jpeg

इमेज 94. JPEG फ़ॉर्मैट में test_yuv_plus_jpeg.

YUV फ़ॉर्मैट में test_yuv_plus_jpeg

इमेज 95. YUV फ़ॉर्मैट में test_yuv_plus_jpeg.

test_yuv_plus_raw

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

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

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

test_yuv_plus_raw_shading=1_raw.jpg

इमेज 96. test_yuv_plus_raw_shading=1_raw.jpg.

test_yuv_plus_raw_shading=1_yuv.jpg

इमेज 97. 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 example

इमेज 98. 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 gamut से बाहर के रंग शामिल हैं.

test_effects

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

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

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

test_effects_MONO

पहली इमेज. test_effects_MONO.

test_exposure_keys_consistent

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

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

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

test_format_combos

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

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

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

test_num_faces

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

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

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

test_num_faces चेहरे की पहचान करने की सुविधा के पहले मोड का उदाहरण

पहला इमेज. test_num_faces चेहरे की पहचान करने वाले मोड 1 का उदाहरण.

test_reprocess_uv_swap

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

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

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

test_reprocess_uv_swap

इमेज 101. test_reprocess_uv_swap का उदाहरण.

scene2_b

test_preview_num_faces

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

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

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

test_num_faces_fd_mode_1

इमेज 102. test_num_faces चेहरे की पहचान करने वाले मोड 1 का उदाहरण.

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

इमेज 103. test_num_faces चेहरे की पहचान करने वाले मोड का उदाहरण.

test_jpeg_capture_perf_class

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

पास: 1080 पिक्सल रिज़ॉल्यूशन के लिए, camera2 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 example

इमेज 104. scene2_f का उदाहरण.

test_preview_num_faces

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

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

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

test_num_faces_fd_mode_1

इमेज 105. test_num_faces_fd_mode_1 का उदाहरण.

scene2_g

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

scene2_g.png

इमेज 106. scene2_g का उदाहरण.

test_preview_num_faces

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

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

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

test_preview_num_faces

इमेज 107. 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

इमेज 108. test_edge_enhancement edge=0 का उदाहरण.

test_edge_enhancement edge=1 example

इमेज 109. test_edge_enhancement edge=1 (फास्ट मोड) का उदाहरण.

test_edge_enhancement edge=2 का उदाहरण

इमेज 110. test_edge_enhancement edge=2 (हाई क्वालिटी मोड) का उदाहरण.

test_flip_mirror

यह जांच करता है कि इमेज, सीडीडी में बताए गए 7.5.2 सामने वाला कैमरा के मुताबिक सही ओरिएंटेशन में है या नहीं.

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

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

test_flip_mirror सीन पैच का उदाहरण

इमेज 111. test_flip_mirror सीन पैच का उदाहरण.

test_imu_drift

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

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

पास:

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

test_imu_drift जाइरोस्कोप ड्रिफ़्ट का उदाहरण

इमेज 112. test_imu_drift के लिए, gyroscope drift का उदाहरण.

test_imu_drift रोटेशन वेक्टर ड्रिफ़्ट का उदाहरण

इमेज 113. test_imu_drift रोटेशन वेक्टर ड्रिफ़्ट का उदाहरण.

test_landscape_to_portrait

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

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

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

test_landscape_to_portrait का उदाहरण

इमेज 114. test_landscape_to_portrait का उदाहरण.

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 प्लॉट का उदाहरण

इमेज 115. test_reprocess_edge_enhancement प्लॉट का उदाहरण.

scene4

scene4 में, स्क्वेयर के अंदर सफ़ेद बैकग्राउंड पर काला गोला होता है.

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

scene4 example

इमेज 116. 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

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

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

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

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

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

scene5

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

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

scene5 example

इमेज 117. scene5 कैप्चर का उदाहरण.

test_lens_shading_and_color_uniformity

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

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

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

scene6

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

scene6

इमेज 118. scene6 का उदाहरण.

test_in_sensor_zoom

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

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

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

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

test_zoom

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

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

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

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

इमेज 119. केंद्र के सबसे नज़दीक मौजूद ArUco मार्कर का कॉन्टूर ढूंढने के लिए, test_zoom का इस्तेमाल किया जाता है.

test_low_latency_zoom

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

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

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

test_preview_video_zoom_match

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

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

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

HD_1280x720_key_frame.png

120वीं इमेज. HD_1280x720_key_frame.png (ज़ूम करने से पहले).

preview_1280x720_key_frame.png

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

HD_1280x720_key_frame_zoomed.png

122वीं इमेज. HD_1280x720_key_frame.png (ज़ूम करने के बाद).

preview_1280x720_key_frame_zoomed.png

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

test_preview_zoom

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

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

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

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

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

test_session_characteristics_zoom

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

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

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

scene7

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

scene7

इमेज 125. सीन 7.

test_multi_camera_switch

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

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

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

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

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

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

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

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

test_multi_camera_switch_gray_uw_y

126वीं इमेज. UW लेंस से ली गई ग्रे पैच वाली फ़ोटो.

test_multi_camera_switch_gray_w_y

127वीं इमेज. W लेंस से लिया गया स्लेटी रंग का पैच.

scene8

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

scene8 का उदाहरण

इमेज 128. scene8 का उदाहरण.

test_ae_awb_regions

यह जांच करता है कि अलग-अलग AE और AWB क्षेत्रों में रिकॉर्डिंग की झलक देखते समय, RGB और ल्यूमा वैल्यू अलग-अलग हों.

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

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

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

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

test_ae_awb_regions_dark_region

129वीं इमेज. ज़्यादा एक्सपोज़र के साथ, अंधेरे इलाके को फ़्रेम में मेज़र करना.

test_ae_awb_regions_light_region

130वीं इमेज. कम एक्सपोज़र के साथ, हल्के इलाके को फ़्रेम में मेज़र करना.

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

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

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

    131वीं इमेज. ArUco मार्कर अलाइन नहीं हैं.

test_color_correction_mode_cct

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

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

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

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

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

scene9

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

scene9 का उदाहरण

इमेज 132. scene9 का उदाहरण.

test_jpeg_high_entropy

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

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

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

test_jpeg_quality

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

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

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

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

133वीं इमेज. Pixel 4 के पीछे के कैमरे के ल्यूमा और क्रोमा DQT मैट्रिक के औसत की तुलना, JPEG क्वालिटी से की गई है.

test_jpeg_quality फ़ेल होने का उदाहरण

134वीं इमेज. जांच में फ़ेल होने का उदाहरण.

scene_video

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

इमेज 135. scene_video का उदाहरण.

test_preview_frame_drop

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

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

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

scene_extensions

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

scene_hdr

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

scene_hdr

इमेज 136. scene_hdr का उदाहरण.

test_hdr_extension

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

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

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

scene_low_light

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

scene_low_light example

इमेज 137. scene_low_light का उदाहरण.

test_night_extension

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

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

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

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

पास:

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

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

कम रोशनी में रात के सीन की जांच पास करने का उदाहरण

138वीं इमेज. कम रोशनी में रात के समय ली गई फ़ोटो, टेस्ट पास करने का उदाहरण.

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 सेटअप

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

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

scene6_tele

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

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

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

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

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

remove_front_plate

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

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

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

क्रॉसओवर पॉइंट पर और उससे पहले कैप्चर किए गए फ़्रेम का विश्लेषण, AE, AWB, और AF के लिए किया जाता है.

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

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

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

  • एई की जांच: वाइड और टेली लेंस की इमेज के बीच ल्यूमा में बदलाव 4% से कम होना चाहिए.
  • ऑटो वाइट बैलेंस (एडब्ल्यूबी) की जांच: एलएबी कलर स्पेस में, वाइड और टेलीफ़ोटो के लिए, लाल-हरे और नीले-हरे रंग के बीच डेल्टा सी 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) की सीमा में है या नहीं. यह जांचने के लिए कि इमेज में सफ़ेद रंग का बैलेंस ठीक है या नहीं, इस टेस्ट में लाल-हरे और नीले-हरे रंग के अनुपात का हिसाब लगाया जाता है. साथ ही, यह भी जांचा जाता है कि ये अनुपात 0.95 और 1.05 के बीच हैं या नहीं.

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

पास: लाल-हरा और नीला-हरा अनुपात 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 मार्कर के सामने फ़ोन को खास तरीके से घुमाना ज़रूरी है. सबसे अच्छे नतीजे पाने के लिए, पुष्टि करें कि टेस्ट चार्ट को सपाट तरीके से माउंट किया गया हो. फ़्लैट नहीं होने वाले चार्ट, कई जांचों के लिए रोटेशन कैलकुलेशन पर असर डालते हैं. चार्ट को 17x17 इंच में प्रिंट करके, सेंसर फ़्यूज़न बॉक्स के पीछे की जगह को भरना चाहिए. (43x43 cm). सेंसर फ़्यूज़न बॉक्स की मदद से, sensor_fusion टेस्ट को ऑटोमेट किया जा सकता है.

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

142वीं इमेज. सेंसर फ़्यूज़न चार्ट.

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

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

test_lens_intrinsic_calibration

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

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

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

नीचे दिए गए उदाहरण में, test_lens_intrinsic_calibration प्लॉट का एक उदाहरण दिया गया है. इसमें हर फ़्रेम के लिए, मुख्य पॉइंट में पिक्सल के हिसाब से हुए बदलावों को दिखाया गया है:

test_lens_intrinsic_calibration_example.png

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

test_multi_camera_frame_sync

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

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

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

test_preview_distortion

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

उदाहरण के तौर पर दी गई इमेज में, आदर्श पॉइंट हरे रंग में दिखाए गए हैं और असल पॉइंट लाल रंग में दिखाए गए हैं. विरूपण की गड़बड़ी का हिसाब, असल पॉइंट और आदर्श पॉइंट के बीच आरएमएस पिक्सल की दूरी के आधार पर लगाया जाता है. इमेज पर हरे और लाल रंग से हाइलाइट किए गए हिस्सों से, विरूपण की गड़बड़ी का पता चलता है.

test_preview_distortion_example.jpg

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

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

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

test_preview_stabilization

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

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

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

यहां स्टेबलाइज़ेशन की सुविधा के साथ और बिना सुविधा वाले वीडियो के सैंपल दिए गए हैं:

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

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

test_sensor_fusion

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

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

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

    test_sensor_fusion जाइरोस्कोप इवेंट का उदाहरण

    इमेज 148. test_sensor_fusion gyroscope इवेंट का उदाहरण.

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

    test_sensor_fusion प्लॉट रोटेशन का उदाहरण

    पहली इमेज 149. test_sensor_fusion प्लॉट रोटेशन का उदाहरण.

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

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

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

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

test_video_stabilization

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

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

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

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

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

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

test_video_stabilization_jca

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

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

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

feature_combination

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

test_feature_combination

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

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

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

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

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

scene_ip

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

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

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

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

test_chart_gen2

152वीं इमेज. Gen2chart_sample का उदाहरण.

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

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

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

test_default_jca_ip

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

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

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

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

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