एंड्रॉइड 12 कैमरा इमेज टेस्ट सूट रिलीज नोट्स

Android 12 रिलीज़ में कई कैमरा ITS परिवर्तन शामिल हैं। यह पृष्ठ उन परिवर्तनों का सारांश प्रस्तुत करता है जो चार व्यापक श्रेणियों में आते हैं:

पायथन 3 का रिफैक्टर

जनवरी 2020 में पायथन 2.7 के अप्रचलन के कारण, संपूर्ण कैमरा आईटीएस कोडबेस को पायथन 3 में पुनः सक्रिय किया गया था। एंड्रॉइड 12 में निम्नलिखित पायथन संस्करणों और लाइब्रेरी की आवश्यकता है:

मुख्य परीक्षण लॉन्चर, tools/run_all_tests.py , एंड्रॉइड 11 या उससे कम संस्करण के समान ही रहता है और इसे पायथन 3 में पुनः सक्रिय किया जाता है।

सभी व्यक्तिगत परीक्षणों को दोबारा तैयार किया जाता है और tests/its_base_test.py में परिभाषित नए परीक्षण सेटअप वर्ग का उपयोग किया जाता है। अधिकांश परीक्षण नाम और कार्यक्षमता समान रहती हैं। एंड्रॉइड 12 में सभी व्यक्तिगत परीक्षण अब अपने दृश्य लोड करते हैं। जबकि प्रत्येक परीक्षण के लिए दृश्य लोड करने से समग्र परीक्षण समय बढ़ जाता है, यह व्यक्तिगत परीक्षणों की डिबगिंग को सक्षम बनाता है।

व्यक्तिगत परीक्षण परिवर्तनों के बारे में अधिक जानकारी के लिए, परीक्षण परिवर्तन देखें।

निम्नलिखित पायथन मॉड्यूल को नाम परिवर्तन के साथ दोबारा तैयार किया गया है:

  • pymodules/its/caps.pyutils/camera_properties_utils.py
  • pymodules/its/cv2image.pyutils/opencv_processing_utils.py
  • pymodules/its/device.pyutils/its_session_utils.py
  • pymodules/its/error.pyutils/error_util.py
  • pymodules/its/image.pyutils/image_processing_utils.py
  • pymodules/its/objects.pyutils/capture_request_utils.py
  • pymodules/its/target.pyutils/target_exposure_utils.py
  • tools/hw.pyutils/sensor_fusion_utils.py

मोबली परीक्षण ढांचे को अपनाना

मोबली एक पायथन-आधारित परीक्षण ढांचा है जो परीक्षण मामलों का समर्थन करता है जिसके लिए कस्टम हार्डवेयर सेटअप के साथ कई उपकरणों की आवश्यकता होती है। कैमरा आईटीएस परीक्षणों के बेहतर नियंत्रण और लॉगिंग को सक्षम करने के लिए मोबली परीक्षण बुनियादी ढांचे का उपयोग करता है।

कैमरा आईटीएस परीक्षणों के बेहतर नियंत्रण और लॉगिंग को सक्षम करने के लिए मोबली परीक्षण बुनियादी ढांचे का उपयोग करता है। मोबली एक पायथन-आधारित परीक्षण ढांचा है जो परीक्षण मामलों का समर्थन करता है जिसके लिए कस्टम हार्डवेयर सेटअप के साथ कई उपकरणों की आवश्यकता होती है। मोबली पर अधिक जानकारी के लिए google/mobly देखें।

config.yml फ़ाइलें

मोबली फ्रेमवर्क के साथ, आप परीक्षण के तहत एक डिवाइस (डीयूटी) और its_base_test क्लास में एक चार्ट टैबलेट सेट कर सकते हैं। Mobly टेस्टबेड बनाने के लिए config.yml (YAML) फ़ाइल का उपयोग किया जाता है। इस कॉन्फ़िगरेशन फ़ाइल के भीतर एकाधिक टेस्टबेड को कॉन्फ़िगर किया जा सकता है, उदाहरण के लिए, एक टैबलेट और एक सेंसर फ़्यूज़न टेस्टबेड। प्रत्येक टेस्टबेड के नियंत्रक अनुभाग के भीतर, आप परीक्षण धावक के लिए उपयुक्त एंड्रॉइड डिवाइस की पहचान करने के लिए device_ids निर्दिष्ट कर सकते हैं। डिवाइस आईडी के अलावा, अन्य पैरामीटर जैसे टैबलेट brightness , chart_distance , debug_mode , camera_id और scene_id टेस्ट क्लास में पास किए जाते हैं। सामान्य परीक्षण पैरामीटर मान हैं:

brightness: 192  (all tablets except Pixel C)
chart_distance: 31.0  (rev1/rev1a box for FoV < 90° cameras)
chart_distance: 22.0 (rev2 test rig for FoV > 90° cameras)

टेबलेट-आधारित परीक्षण

टैबलेट-आधारित परीक्षण के लिए, कीवर्ड TABLET परीक्षणबेड नाम में मौजूद होना चाहिए। इनिशियलाइज़ेशन के दौरान, मोबली टेस्ट रनर TestParams इनिशियलाइज़ करता है और उन्हें व्यक्तिगत परीक्षणों में पास करता है।

टेबलेट-आधारित रन के लिए निम्नलिखित एक नमूना config.yml फ़ाइल है।

TestBeds:
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      chart_loc_arg: ""
      camera: 0
      scene: <scene-name>  # if <scene-name> runs all scenes

tools/run_all_tests.py उपयोग करके टेस्टबेड को लागू किया जा सकता है। यदि कोई कमांड लाइन मान मौजूद नहीं है, तो परीक्षण config.yml फ़ाइल मानों के साथ चलते हैं। इसके अतिरिक्त, आप एंड्रॉइड 11 या उससे पहले के संस्करण के समान कमांड का उपयोग करके कमांड लाइन पर camera और scene कॉन्फिग फ़ाइल मानों को ओवरराइड कर सकते हैं।

उदाहरण के लिए:

python tools/run_all_tests.py
python tools/run_all_tests.py camera=1
python tools/run_all_tests.py scenes=2,1,0
python tools/run_all_tests.py camera=1 scenes=2,1,0

सेंसर फ़्यूज़न परीक्षण

सेंसर फ़्यूज़न परीक्षण के लिए, परीक्षण बेड नाम में कीवर्ड SENSOR_FUSION शामिल होना चाहिए। सही परीक्षण बिस्तर परीक्षण किए गए दृश्यों द्वारा निर्धारित किया जाता है। एंड्रॉइड 12 सेंसर फ़्यूज़न के लिए Arduino और Canakit दोनों नियंत्रकों का समर्थन करता है।

सेंसर फ़्यूज़न रन के लिए निम्नलिखित एक नमूना config.yml फ़ाइल है।

Testbeds
  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino         # cntl can be arduino or canakit
      rotator_ch: 1
      camera: 0

सेंसर फ़्यूज़न परीक्षण रिग के साथ सेंसर फ़्यूज़न परीक्षण चलाने के लिए, उपयोग करें:

python tools/run_all_tests.py scenes=sensor_fusion
python tools/run_all_tests.py scenes=sensor_fusion camera=0

एकाधिक परीक्षण बिस्तर

कॉन्फ़िगरेशन फ़ाइल में एकाधिक परीक्षण बेड शामिल किए जा सकते हैं। सबसे आम संयोजन टैबलेट टेस्टबेड और सेंसर फ़्यूज़न टेस्टबेड दोनों का होना है।

निम्नलिखित टैबलेट और सेंसर फ़्यूज़न टेस्टबेड दोनों के साथ एक नमूना config.yml फ़ाइल है।

Testbeds
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      chart_loc_arg: ""
      camera: 0
      scene: <scene-name>  # if <scene-name> runs all scenes

  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino         # cntl can be arduino or canakit
      rotator_ch: 1
      camera: 0

मैन्युअल परीक्षण

एंड्रॉइड 12 में मैन्युअल परीक्षण का समर्थन जारी है। हालांकि, टेस्टबेड को टेस्टबेड नाम में कीवर्ड MANUAL के साथ परीक्षण की पहचान करनी चाहिए। इसके अतिरिक्त, परीक्षण बिस्तर में टैबलेट आईडी शामिल नहीं हो सकती।

मैन्युअल परीक्षण के लिए निम्नलिखित एक नमूना config.yml फ़ाइल है।

TestBeds:
  - Name: TEST_BED_MANUAL
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      debug_mode: "False"
      chart_distance: 31.0
      camera: 0
      scene: scene1

टेबलेट के बिना परीक्षण दृश्य

दृश्य 0 और दृश्य 5 के लिए परीक्षण TEST_BED_TABLET_SCENES या TEST_BED_MANUAL के साथ किया जा सकता है। हालाँकि, यदि परीक्षण TEST_BED_TABLET_SCENES के साथ किया जाता है, तो टैबलेट कनेक्ट होना चाहिए और टैबलेट सीरियल आईडी मान्य होना चाहिए, भले ही टैबलेट का उपयोग न किया गया हो क्योंकि टेस्ट क्लास सेटअप टैबलेट के लिए सीरियल आईडी मान निर्दिष्ट करता है।

व्यक्तिगत परीक्षण चलाएँ

व्यक्तिगत परीक्षण केवल डिबग उद्देश्यों के लिए चलाए जा सकते हैं क्योंकि उनके परिणाम सीटीएस सत्यापनकर्ता को रिपोर्ट नहीं किए जाते हैं। क्योंकि config.yml फ़ाइलों को camera और scene के लिए कमांड लाइन पर ओवरराइट नहीं किया जा सकता है, ये पैरामीटर प्रश्न में व्यक्तिगत परीक्षण के लिए config.yml फ़ाइल में सही होने चाहिए। इसके अतिरिक्त, यदि कॉन्फ़िगरेशन फ़ाइल में एक से अधिक टेस्टबेड है, तो आपको --test_bed ध्वज के साथ टेस्टबेड निर्दिष्ट करना होगा। उदाहरण के लिए:

python tests/scene1_1/test_black_white.py --config config.yml --test_bed TEST_BED_TABLET_SCENES

कलाकृतियों का परीक्षण करें

एंड्रॉइड 12 में, कैमरा आईटीएस के लिए परीक्षण कलाकृतियों को एंड्रॉइड 11 या उससे पहले के संस्करण के समान ही संग्रहीत किया जाता है, लेकिन निम्नलिखित परिवर्तनों के साथ:

  • परीक्षण आर्टिफैक्ट /tmp निर्देशिका में स्पष्टता के लिए 8-वर्ण यादृच्छिक स्ट्रिंग के साथ CameraITS_ जुड़ा हुआ है।
  • प्रत्येक परीक्षण के लिए परीक्षण आउटपुट और त्रुटियां test_name_stdout.txt और test_name_stderr.txt के बजाय test_log.DEBUG में संग्रहीत की जाती हैं।
  • प्रत्येक व्यक्तिगत परीक्षण से DUT और टैबलेट लॉगकैट्स को /tmp/CameraITS_######## निर्देशिका में संग्रहीत किया जाता है, जिससे डिबगिंग सरल हो जाती है क्योंकि 3A मुद्दों को डीबग करने के लिए आवश्यक सभी जानकारी लॉग की जाती है।

परीक्षण परिवर्तन

एंड्रॉइड 12 में टैबलेट दृश्य पीडीएफ फाइलों के बजाय पीएनजी फाइलें हैं। पीएनजी फ़ाइलों का उपयोग अधिक टैबलेट मॉडलों को दृश्यों को ठीक से प्रदर्शित करने में सक्षम बनाता है।

scene0/test_जिटर.py

test_jitter परीक्षण एंड्रॉइड 12 में भौतिक छिपे हुए कैमरों पर चलता है।

scene1_1/test_black_white.py

Android 12 के लिए, test_black_white में test_black_white और test_channel_saturation दोनों की कार्यक्षमता है।

निम्न तालिका एंड्रॉइड 11 में दो व्यक्तिगत परीक्षणों का वर्णन करती है।

परीक्षण का नाम पहला एपीआई स्तर इस प्रकार के दावे
scene1_1/test_black_white.py सभी लघु एक्सपोज़र, कम लाभ RGB मान ~[0, 0, 0]
लंबा एक्सपोज़र, उच्च लाभ RGB मान ~[255, 255, 255]
scene1_1/test_channel_saturation.py 29 सफेद छवियों में रंग टिंट को खत्म करने के लिए [255, 255, 255] अंतरों पर सहनशीलता कम की गई।

निम्न तालिका Android 12 में मर्ज किए गए परीक्षण, scene1_1/test_black_white.py का वर्णन करती है।

परीक्षण का नाम पहला एपीआई स्तर इस प्रकार के दावे
scene1_1/test_black_white.py सभी लघु एक्सपोज़र, कम लाभ RGB मान ~[0, 0, 0]
लंबा एक्सपोज़र, उच्च लाभ आरजीबी मान ~[255, 255, 255] और सफेद छवियों में रंग टिंट को खत्म करने के लिए मूल्यों के बीच कम सहनशीलता।

scene1_1/test_burst_sameness_manual.py

test_burst_sameness_manual परीक्षण Android 12 में भौतिक छिपे हुए कैमरों पर चलता है।

scene1_2/test_tonemap_sequence.py

test_tonemap_sequence परीक्षण Android 12 में सीमित कैमरों पर चलता है।

scene1_2/test_yuv_plus_raw.py

test_yuv_plus_raw परीक्षण Android 12 में भौतिक छिपे हुए कैमरों पर चलता है।

scene2_a/test_format_combos.py

test_format_combos परीक्षण Android 12 में सीमित कैमरों पर चलता है।

scene3/test_flip_mirror.py

test_flip_mirror परीक्षण Android 12 में सीमित कैमरों पर चलता है।

scene4/test_aspect_ratio_and_crop.py

एंड्रॉइड 12 में scene4/test_aspect_ratio_and_crop.py में मंडलियां ढूंढना दोबारा शुरू किया गया था।

पहले के एंड्रॉइड संस्करणों में एक विधि का उपयोग किया जाता था जिसमें आकार और रंग के लिए फिल्टर के साथ मूल समोच्च (वर्ग) के अंदर एक बच्चे के समोच्च (वृत्त) को ढूंढना शामिल था। एंड्रॉइड 12 एक ऐसी विधि का उपयोग करता है जिसमें सभी आकृतियों को ढूंढना और फिर सबसे अधिक गोलाकार सुविधाओं को ढूंढकर फ़िल्टर करना शामिल है। डिस्प्ले पर नकली वृत्तों को स्क्रीन करने के लिए, न्यूनतम समोच्च क्षेत्र की आवश्यकता होती है, और वृत्त का समोच्च काला होना चाहिए।

रूपरेखा और उनके चयन मानदंड निम्नलिखित छवि में दिखाए गए हैं।

रूपरेखा और चयन मानदंड का वैचारिक चित्रण

चित्र 1. आकृति और चयन मानदंड का वैचारिक चित्रण

एंड्रॉइड 12 विधि सरल है और कुछ डिस्प्ले टैबलेट में बाउंडिंग बॉक्स क्लिपिंग के साथ समस्या को हल करने के लिए काम करती है। डिबगिंग उद्देश्यों के लिए सभी सर्कल उम्मीदवारों को लॉग किया गया है।

Android 12 में, क्रॉप टेस्ट FULL और LEVEL3 डिवाइस के लिए चलाया जाता है। एंड्रॉइड 11 या उससे कम संस्करण FULL उपकरणों के लिए फसल परीक्षण दावे को छोड़ देते हैं।

निम्न तालिका test_aspect_ratio_and_crop.py के लिए दावों को सूचीबद्ध करती है जो किसी दिए गए डिवाइस स्तर और पहले एपीआई स्तर के अनुरूप हैं।

डिवाइस स्तर पहला एपीआई स्तर इस प्रकार के दावे
सीमित सभी आस्पेक्ट अनुपात
4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी
भरा हुआ <31 आस्पेक्ट अनुपात
4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी
भरा हुआ ≥ 31 काटना
आस्पेक्ट अनुपात
4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी
स्तर 3 सभी काटना
आस्पेक्ट अनुपात
4:3, 16:9, 2:1 प्रारूपों के लिए एफओवी

scene4/test_multi_camera_ignment.py

scene4/test_multi_camera_alignment.py में वाईयूवी कैप्चर के लिए undo_zoom() विधि को उन सेंसरों पर क्रॉपिंग के लिए अधिक सटीक रूप से ध्यान में रखने के लिए दोबारा तैयार किया गया था जो कैप्चर के पहलू अनुपात से मेल नहीं खाते हैं।

एंड्रॉइड 11 पायथन 2 कोड

zoom_ratio = min(1.0 * yuv_w / cr_w, 1.0 * yuv_h / cr_h)
circle[i]['x'] = cr['left'] + circle[i]['x'] / zoom_ratio
circle[i]['y'] = cr['top'] + circle[i]['y'] / zoom_ratio
circle[i]['r'] = circle[i]['r'] / zoom_ratio

एंड्रॉइड 12 पायथन 3 कोड

yuv_aspect = yuv_w / yuv_h
relative_aspect = yuv_aspect / (cr_w/cr_h)
if relative_aspect > 1:
  zoom_ratio = yuv_w / cr_w
  yuv_x = 0
  yuv_y = (cr_h - cr_w / yuv_aspect) / 2
else:
  zoom_ratio = yuv_h / cr_h
  yuv_x = (cr_w - cr_h * yuv_aspect) / 2
  yuv_y = 0
circle['x'] = cr['left'] + yuv_x + circle['x'] / zoom_ratio
circle['y'] = cr['top'] + yuv_y + circle['y'] / zoom_ratio
circle['r'] = circle['r'] / zoom_ratio

सेंसर_फ्यूजन/टेस्ट_सेंसर_फ्यूजन.py

एंड्रॉइड 12 में, सेंसर फ़्यूज़न परीक्षण के लिए छवियों में सुविधाओं का पता लगाने की एक विधि जोड़ी गई है।

एंड्रॉइड 12 से नीचे के संस्करणों में, पूरी छवि का उपयोग सर्वोत्तम 240 सुविधाओं को खोजने के लिए किया जाता है, जिन्हें न्यूनतम फीचर आवश्यकता 30 सुविधाओं के साथ रोलिंग शटर प्रभाव से बचने के लिए केंद्र में 20% छिपा दिया जाता है।

यदि इस विधि द्वारा पाई गई सुविधाएं अपर्याप्त हैं, तो एंड्रॉइड 12 फीचर डिटेक्शन क्षेत्र को पहले 20% केंद्र में मास्क करता है, और अधिकतम सुविधाओं को न्यूनतम सुविधा आवश्यकता से दो गुना तक सीमित करता है।

निम्न छवि एंड्रॉइड 11 और एंड्रॉइड 12 फीचर डिटेक्शन के बीच अंतर दिखाती है। न्यूनतम सुविधा आवश्यकता सीमा बढ़ाने से खराब गुणवत्ता वाली सुविधाओं का पता चलता है और माप पर नकारात्मक प्रभाव पड़ता है।

एंड्रॉइड 11 और एंड्रॉइड 12 सेंसर_फ्यूजन फीचर डिटेक्शन के बीच फीचर डिटेक्शन में अंतर

चित्र 2. एंड्रॉइड 11 और एंड्रॉइड 12 के बीच फीचर डिटेक्शन में अंतर

नए परीक्षण

scene0/test_solid_color_test_pattern.py

एंड्रॉइड 12 के लिए एक नया परीक्षण, test_solid_color_test_pattern सक्षम किया गया है। यह परीक्षण सभी कैमरों के लिए सक्षम है और निम्न तालिका में वर्णित है।

दृश्य परीक्षण का नाम पहला एपीआई स्तर विवरण
0 परीक्षण_ठोस_रंग_परीक्षण_पैटर्न 31 ठोस रंग छवि आउटपुट और छवि रंग प्रोग्रामयोग्यता की पुष्टि करता है।

कैमरा गोपनीयता मोड का समर्थन करने के लिए ठोस रंग परीक्षण पैटर्न सक्षम होना चाहिए। test_solid_color_test_pattern परीक्षण चयनित पैटर्न द्वारा परिभाषित रंग के साथ ठोस रंग YUV छवि आउटपुट की पुष्टि करता है, और छवि का रंग विनिर्देश के अनुसार बदलता है।

पैरामीटर

  • cameraPrivacyModeSupport : यह निर्धारित करता है कि कैमरा गोपनीयता मोड का समर्थन करता है या नहीं।
  • android.sensor.testPatternMode : परीक्षण पैटर्न मोड सेट करता है। यह परीक्षण SOLID_COLOR का उपयोग करता है।
  • android.sensor.testPatternData : परीक्षण पैटर्न मोड के लिए R, Gr, Gb, G परीक्षण पैटर्न मान सेट करता है।

ठोस रंग परीक्षण पैटर्न के विवरण के लिए, SENSOR_TEST_PATTERN_MODE_SOLID_COLOR देखें।

तरीका

सेट पैरामीटर के लिए YUV फ़्रेम कैप्चर किए जाते हैं और छवि सामग्री को मान्य किया जाता है। परीक्षण पैटर्न सीधे छवि सेंसर से आउटपुट होता है, इसलिए किसी विशेष दृश्य की आवश्यकता नहीं होती है। यदि PER_FRAME_CONTROL समर्थित है, तो परीक्षण की गई प्रत्येक सेटिंग के लिए एक एकल YUV फ़्रेम कैप्चर किया जाता है। यदि PER_FRAME_CONTROL समर्थित नहीं है, तो LIMITED कैमरों में परीक्षण कवरेज को अधिकतम करने के लिए केवल अंतिम फ्रेम का विश्लेषण करके चार फ़्रेम कैप्चर किए जाते हैं।

YUV कैप्चर पूरी तरह से संतृप्त BLACK , WHITE , RED , GREEN और BLUE परीक्षण पैटर्न पर सेट हैं। चूंकि परीक्षण पैटर्न की परिभाषा सेंसर बायर पैटर्न के अनुसार है, इसलिए प्रत्येक रंग के लिए रंग चैनल सेट किए जाने चाहिए जैसा कि निम्न तालिका में दिखाया गया है।

रंग टेस्टपैटर्नडेटा (आरजीजीबी)
काला (0, 0, 0, 0)
सफ़ेद (1, 1, 1, 1)
लाल (1, 0, 0, 0)
हरा (0, 1, 1, 0)
नीला (0, 0, 0, 1)

अभिकथन तालिका

निम्न तालिका test_solid_color_test_pattern.py के परीक्षण अभिकथनों का वर्णन करती है।

कैमरा
पहला एपीआई स्तर
कैमरा प्रकार रंगों पर जोर दिया गया
31 बायर काला, सफ़ेद, लाल, हरा, नीला
31 मोनो श्याम सफेद
<31 बायर/मोनो काला

प्रदर्शन वर्ग परीक्षण

scene2_c/test_camera_launch_perf_class.py

यह सत्यापित करता है कि scene2_c फेस सीन के साथ फ्रंट और रियर दोनों प्राथमिक कैमरों के लिए कैमरा स्टार्टअप 500 एमएस से कम है।

scene2_c/test_jpeg_capture_perf_class.py

सत्यापित करता है कि scene2_c फेस सीन के साथ फ्रंट और रियर दोनों प्राथमिक कैमरों के लिए 1080p JPEG कैप्चर विलंबता 1 सेकंड से कम है।