4.6. Rolling dan global shutter

Sensor membaca kisi piksel dua dimensinya satu sel pada satu waktu. Dua hal tentang urutan baca tersebut membentuk citra yang direkam: urutan pemindaian piksel, dan bagaimana jendela eksposur setiap baris selaras dengan pemindaian tersebut dalam waktu. Yang pertama ditentukan oleh silikon; yang kedua hadir dalam dua varian yang sudah mapan dan sangat penting untuk adegan yang bergerak.

4.6.1. Urutan baca

Sensor pada umumnya mulai dari piksel pojok kiri-bawah dan memindai ke arah kanan sepanjang baris tersebut, kemudian maju ke baris berikutnya dan memindai ke kanan lagi, dan seterusnya hingga selesai di pojok kanan-atas.

A grid of 6 columns by 4 rows of pixel cells. The bottom-left cell is marked "read first". A rightward arrow runs along each row showing the scan direction. To the right of the grid, an upward arrow labelled "rows advance" indicates that the scan moves up to the next row after each row finishes. The top-right cell is marked "read last".

Larik piksel dibaca mulai dari piksel pojok kiri-bawah, memindai ke kanan sepanjang setiap baris, dan maju ke atas ke baris berikutnya di antara baris-baris.

Urutan ini bukan kebetulan. Lensa membalik scene secara horizontal dan vertikal saat memproyeksikannya ke sensor -- bagian atas scene mendarat di bagian bawah sensor dan kiri scene di kanan sensor -- dan pembacaan dari kiri-bawah ke atas menelusuri sensor dalam urutan yang membatalkan kedua pembalikan tersebut, menempatkan piksel ke dalam memori dengan posisi yang benar.

4.6.2. Rolling shutter

Pada sensor rolling-shutter, setiap baris diekspos dan dibaca secara bergantian. Sementara satu baris sedang dibaca, baris berikutnya masih menyelesaikan eksposurnya, baris setelahnya baru saja dimulai, dan seterusnya -- jendela eksposur setiap baris digeser sedikit dalam waktu dari baris berikutnya. Jendela integrasi sensor bergulir melintasi bingkai dalam urutan pemindaian, dan satu pemindaian penuh memakan seluruh periode bingkai.

Untuk adegan yang diam, hal ini tidak terlihat. Untuk adegan dengan gerakan cepat, perbedaan waktu muncul sebagai skew -- objek yang bergerak antara saat baris pertama ditangkap dan saat baris terakhir ditangkap akan tampak pada posisi berbeda di baris yang berbeda dalam bingkai yang sama.

Three panels showing a vertical bar moving to the right. The first panel shows the bar at one instant, vertical. The second panel shows the same bar captured by rolling shutter: it appears as a slanted parallelogram, leaning to the right at the bottom, because the top rows were captured when the bar was at its earlier position and the bottom rows when it had moved to the right. The third panel shows the bar captured by global shutter: vertical and at one position.

Batang vertikal yang bergerak ke kanan, ditangkap oleh masing-masing jenis shutter. Rolling shutter memiringkan batang karena bagian atas bingkai dibaca pada waktu yang berbeda dari bagian bawah; global shutter membekukan batang pada satu waktu.

Rolling shutter adalah desain yang lebih murah. Karena setiap baris dibaca segera setelah selesai terekspos, sirkuit piksel tidak memerlukan penyimpanan terlindung per-piksel untuk menahan nilainya selama pembacaan di seluruh sensor. Transistor yang dihemat memberi fotodioda bagian yang lebih besar dari area piksel, yang secara langsung menghasilkan sensitivitas lebih tinggi dan noise lebih rendah pada ukuran piksel fisik yang sama. Kebanyakan sensor citra konsumen menggunakan rolling-shutter karena alasan ini.

4.6.3. Global shutter

Pada sensor global-shutter, setiap piksel memulai eksposurnya pada waktu yang sama dan mengakhirinya pada waktu yang sama. Muatan yang tertangkap kemudian dipindahkan ke area penyimpanan terlindung pada piksel, dan pembacaan baris per baris terjadi dari sana. Bingkai yang ditangkap merepresentasikan satu momen dalam waktu, tidak peduli seberapa cepat adegan bergerak.

Global shutter membutuhkan lebih banyak silikon, dan biayanya dibebankan pada fotodioda. Menahan nilai setiap baris melalui pembacaan di seluruh sensor membutuhkan sel penyimpanan terlindung tambahan pada setiap piksel beserta transistor yang memisahkannya dari fotodioda -- area yang seharusnya milik fotodioda itu sendiri. Fotodioda yang lebih kecil menangkap lebih sedikit foton per satuan waktu, sehingga piksel global-shutter kurang sensitif dibandingkan piksel rolling-shutter dengan ukuran setara. Adegan yang sama membutuhkan eksposur lebih lama atau gain lebih tinggi untuk direkam pada kecerahan yang sama, dan sirkuit tambahan sedikit meningkatkan read-noise di atas itu.

Beban lainnya ada pada anggaran eksposur. Pada sensor rolling-shutter, eksposur setiap baris tumpang tindih dengan pembacaan baris tetangga, sehingga setiap baris dapat mengintegrasikan cahaya hampir sepanjang periode bingkai penuh. Pada global shutter, pembacaan tidak dapat dimulai sampai setiap baris selesai terekspos, sehingga pada laju bingkai tertentu waktu eksposur maksimum adalah periode bingkai dikurangi waktu pembacaan penuh. Untuk laju bingkai yang sama, piksel rolling-shutter berakhir dengan lebih banyak cahaya per bingkai.

Biaya-biaya ini bertambah: sensor global-shutter lebih kecil dalam jumlah piksel, lebih bising, kurang sensitif, dan lebih mahal per piksel dibandingkan pasangan rolling-shutter-nya. Pertukarannya hanya layak ketika gerakan cepat harus ditangkap dengan bersih.

4.6.4. Kapan menggunakan yang mana

Jenis shutter adalah properti hardware dari sensor, bukan pengaturan perangkat lunak. Pilihan dibuat saat kamera dirancang.

Rolling shutter cocok digunakan ketika:

  • adegan diam atau bergerak lambat;

  • aplikasi dapat mentoleransi sedikit skew (sebagian besar fotografi dan sebagian besar pekerjaan antarmuka pengguna);

  • biaya dan resolusi per dollar adalah prioritas.

Global shutter adalah pilihan yang tepat ketika:

  • adegan mengandung gerakan cepat yang harus ditangkap dengan bersih (robotika, drone, inspeksi ban berjalan);

  • kamera itu sendiri bergetar atau bergerak relatif terhadap adegan statis;

  • citra dimasukkan ke dalam algoritma visi yang mengasumsikan setiap bingkai adalah satu waktu instan (sebagian besar pipeline estimasi pose dan structure-from-motion).

Catatan

Lini OpenMV Cam secara default menggunakan sensor global-shutter untuk penggunaan visi mesin, di mana motion blur pada subjek yang bergerak (atau kamera yang bergerak) merusak deteksi dan pelacakan di hilir. Modul sensor rolling-shutter juga ditawarkan untuk aplikasi di mana kualitas citra dari adegan yang lambat atau statis lebih penting daripada membekukan gerakan cepat -- penangkapan gaya fotografi klasik.