4.6. 롤링 셔터와 글로벌 셔터

센서는 2차원 픽셀 격자를 한 번에 한 셀씩 읽어냅니다. 이 읽기 동작에서 기록되는 이미지를 결정하는 두 가지가 있습니다. 픽셀이 스캔되는 순서, 그리고 각 행의 노출 구간이 시간상 그 스캔과 어떻게 맞물리는가 하는 점입니다. 첫 번째는 실리콘에 의해 고정되어 있고, 두 번째는 움직이는 장면에서 큰 영향을 미치는 두 가지 정립된 방식으로 나뉩니다.

4.6.1. 읽기 순서

전형적인 센서는 왼쪽 아래 픽셀에서 시작해 그 행을 따라 오른쪽으로 스캔한 다음, 위로 다음 행으로 올라가 다시 오른쪽으로 스캔하며, 이런 식으로 오른쪽 위에서 끝날 때까지 진행합니다.

픽셀 셀이 가로 6열, 세로 4행으로 이루어진 격자. 왼쪽 아래 셀에는 "가장 먼저 읽음"이라고 표시되어 있습니다. 각 행을 따라 오른쪽 방향 화살표가 그려져 스캔 방향을 나타냅니다. 격자 오른쪽에는 "행이 진행됨"이라고 표시된 위쪽 방향 화살표가 있어, 각 행이 끝나면 스캔이 위로 다음 행으로 이동함을 나타냅니다. 오른쪽 위 셀에는 "가장 나중에 읽음"이라고 표시되어 있습니다.

픽셀 배열은 왼쪽 아래 픽셀에서 시작해 각 행을 따라 오른쪽으로 스캔하고, 행과 행 사이에서 위로 다음 행으로 진행하며 읽어냅니다.

이 순서는 우연이 아닙니다. 렌즈는 장면을 센서에 투영할 때 수평으로 좌우 반전하고 수직으로 상하 반전합니다. 장면의 위쪽은 센서의 아래쪽에, 장면의 왼쪽은 센서의 오른쪽에 맺힙니다. 왼쪽 아래에서 시작해 위로 올라가는 읽기 방식은 이 두 반전을 모두 되돌리는 순서로 센서를 훑어, 픽셀을 똑바로 선 채로 메모리에 넣습니다.

4.6.2. 롤링 셔터

rolling-shutter(롤링 셔터) 센서에서는 각 행이 차례로 노출되고 읽혀 나갑니다. 한 행을 읽는 동안 다음 행은 아직 노출을 마무리하고 있고, 그 다음 행은 이제 막 시작했으며, 이런 식으로 이어집니다 – 각 행의 노출 구간은 다음 행과 시간상 약간씩 어긋나 있습니다. 센서의 적분 구간이 스캔 순서대로 프레임을 가로질러 굴러가며, 전체 스캔에는 한 프레임 주기 전체가 걸립니다.

정지된 장면에서는 이것이 드러나지 않습니다. 빠른 움직임이 있는 장면에서는 이 어긋남이 skew(왜곡)로 나타납니다 – 첫 행이 캡처되는 시점과 마지막 행이 캡처되는 시점 사이에 움직인 물체가 같은 프레임 내의 서로 다른 행에서 서로 다른 위치에 나타나는 것입니다.

오른쪽으로 움직이는 수직 막대를 보여주는 세 개의 패널. 첫 번째 패널은 어느 한 순간의 막대를 수직으로 보여줍니다. 두 번째 패널은 같은 막대를 롤링 셔터로 캡처한 모습입니다. 막대가 아래쪽이 오른쪽으로 기운 비스듬한 평행사변형으로 나타나는데, 위쪽 행은 막대가 이전 위치에 있을 때 캡처되었고 아래쪽 행은 막대가 오른쪽으로 이동한 뒤에 캡처되었기 때문입니다. 세 번째 패널은 같은 막대를 글로벌 셔터로 캡처한 모습으로, 수직이며 한 위치에 있습니다.

각 셔터 방식으로 캡처한, 오른쪽으로 움직이는 수직 막대. 롤링 셔터는 프레임 위쪽이 아래쪽과 다른 시점에 읽히기 때문에 막대를 기울입니다. 글로벌 셔터는 막대를 한 순간에 고정합니다.

롤링 셔터는 더 저렴한 설계입니다. 각 행이 노출을 마치자마자 곧바로 읽히기 때문에, 픽셀 회로는 센서 전체의 읽기 과정 동안 값을 유지하기 위한 픽셀별 차폐 저장소가 필요 없습니다. 절약된 트랜지스터 덕분에 포토다이오드가 픽셀 면적에서 더 큰 비율을 차지하게 되고, 이는 같은 물리적 픽셀 크기에서 더 높은 감도와 더 낮은 노이즈로 직결됩니다. 대부분의 소비자용 이미지 센서가 롤링 셔터인 이유가 바로 이것입니다.

4.6.3. 글로벌 셔터

global-shutter(글로벌 셔터) 센서에서는 모든 픽셀이 같은 순간에 노출을 시작하고 같은 순간에 끝냅니다. 캡처된 전하는 그 후 픽셀 내의 차폐된 저장 영역으로 전송되고, 행 단위 읽기는 거기서부터 이루어집니다. 캡처된 프레임은 장면이 아무리 빠르게 움직이더라도 단 하나의 시간 순간을 나타냅니다.

글로벌 셔터는 더 많은 실리콘을 필요로 하며, 그 비용은 포토다이오드에 돌아갑니다. 센서 전체의 읽기 과정 동안 모든 행의 값을 유지하려면 각 픽셀마다 추가 차폐 저장 셀과 그것을 포토다이오드로부터 차단하는 트랜지스터가 필요합니다. 이는 원래라면 포토다이오드 자체에 속했을 면적입니다. 더 작아진 포토다이오드는 단위 시간당 더 적은 광자를 받으므로, 글로벌 셔터 픽셀은 같은 크기의 롤링 셔터 픽셀보다 감도가 낮습니다. 같은 장면을 같은 밝기로 기록하려면 더 긴 노출이나 더 높은 게인이 필요하며, 추가 회로는 그 위에 읽기 노이즈를 약간 더 높입니다.

또 다른 대가는 노출 예산입니다. 롤링 셔터 센서에서는 각 행의 노출이 이웃 행의 읽기와 겹치므로, 모든 행이 거의 한 프레임 전체 기간 동안 빛을 적분할 수 있습니다. 글로벌 셔터에서는 모든 행이 노출을 마치기 전까지 읽기를 시작할 수 없으므로, 주어진 프레임 속도에서 최대 노출 시간은 프레임 기간에서 전체 읽기 시간을 뺀 값이 됩니다. 같은 프레임 속도에서는 롤링 셔터 픽셀이 결국 프레임당 더 많은 빛을 받게 됩니다.

이 비용들은 복합적으로 작용합니다. 글로벌 셔터 센서는 롤링 셔터 센서에 비해 픽셀 수가 더 적고, 노이즈가 더 많으며, 감도가 더 낮고, 픽셀당 비용이 더 비쌉니다. 이 거래는 빠른 움직임을 깔끔하게 캡처해야 할 때만 가치가 있습니다.

4.6.4. 어느 것을 언제 사용할지

셔터 방식은 센서의 하드웨어 속성이며 소프트웨어 설정이 아닙니다. 이 선택은 카메라가 설계될 때 결정됩니다.

롤링 셔터는 다음과 같은 경우에 적합합니다:

  • 장면이 정지해 있거나 천천히 움직일 때;

  • 응용이 어느 정도의 스큐를 허용할 수 있을 때(대부분의 사진 촬영과 대부분의 사용자 인터페이스 작업);

  • 비용과 1달러당 해상도가 우선순위일 때.

글로벌 셔터는 다음과 같은 경우에 올바른 선택입니다:

  • 장면에 깔끔하게 캡처해야 하는 빠른 움직임이 있을 때(로보틱스, 드론, 컨베이어 벨트 검사);

  • 정적인 장면에 대해 카메라 자체가 진동하거나 움직이고 있을 때;

  • 각 프레임이 단일 시간 순간이라고 가정하는 비전 알고리즘에 이미지가 입력될 때(대부분의 자세 추정 및 structure-from-motion 파이프라인).

참고

OpenMV Cam 제품군은 머신 비전 용도에서 기본적으로 글로벌 셔터 센서를 사용합니다. 머신 비전에서는 움직이는 피사체(또는 움직이는 카메라)의 모션 블러가 후속 검출과 추적을 망가뜨리기 때문입니다. 빠른 움직임을 고정하는 것보다 느리거나 정적인 장면의 이미지 품질이 더 중요한 응용을 위해, 즉 고전적인 사진 촬영 방식의 캡처를 위해 롤링 셔터 센서 모듈도 제공됩니다.