HARRIER AF-Zoom IP Camera로 최소 지연 시간을 확보하는 방법
이 기사에서는 IP 카메라와 IP 비디오 전송과 관련된 지연시 간을 소개하고, Harrier AF-Zoom IP 카메라 또는 Harrier IP 카메라 인터페이스 보드에서 가장 낮은 지연시간을 달성하는 방법과 예상되는 속도에 대해서도 설명한다. 일부 Harrier 카메라의 경우 지연시간이 140ms까지 낮을 수 있지만, 네트워크 구성 및 사용되는 PC 유형 등 여러 요인이 영향을 미친다.
IP(인터넷 프로토콜) 카메라는 네트워크 또는 인터넷을 통해 데이터를 송수신하는 디지털 카메라이다. IP 카메라는 자체 IP 주소를 사용하여 네트워크에 연결하며 PC나 다른 호스트 장치에 연결하지 않는다. IP 카메라는 이미지를 캡처하고 압축한 다음(일반적으로 H.264 또는 H.265 인코더 사용) 이더넷 네트워크를 통해 실시간 비디오 스트리밍 형태로 전송 한다. 유선 네트워크(이더넷 케이블을 통해 스위치/라우터/ PC에 연결) 또는 무선(WiFi 라우터/액세스 포인트를 통해)으로 사용할 수 있다.
Harrier AF-Zoom IP 카메라 제어는 간단하다. ONVIF Profile S와 호환되므로 사용자 개발 애플리케이션 또는 Profile S 기반 타사 소프트웨어로 카메라를 쉽게 제어할 수 있다. 또한 Harrier AF-Zoom IP 카메라는 원격으로 제어할 수 있는 다양한 고급 카메라 기능(예: 주/야간 기능, 광학 줌, WDR 등)을 제공한다. 또한 IP 비디오 스트림은 각각 다른 비디오 압축 설정을 가진 세 가지 프로필로 제공된다.

<그림1> Harrier 10x AF-Zoom IP/HDMI 카메라(Tamron MP3010M-EV)
지연시간(latency) 이해
이 기사의 목적상 지연시간은 카메라 렌즈에서 이미지가 캡처된 시점부터 비디오 디스플레이(유리 대 유리)에서 관찰할수 있는 시점까지의 시간으로 정의된다. 지연시간의 변동성을 지터(jitter)라고 하며, 지연시간의 변동성이 큰 시스템은 지터가 높다.
이미지 캡처 및 비디오 데이터 전송은 다양한 시스템 구성 요소 간의 불가피한 수집, 전송 및 처리 지연으로 인해 항상 지연시간이 발생할 수 있다. 비전 시스템의 지연시간은 일반 적으로 밀리초(ms) 단위로 기록된다.
비전 시스템 내에서 허용되는 지연시간의 수준은 애플리케 이션에 따라 다르다. 예를 들어, ANPR 주차 시스템은 애플리 케이션에 짧은 임계 시간 요구 사항이 없기 때문에 높은 지연 시간을 견딜 수 있다. 그러나 원격으로 작동하는 로봇이나 차량은 가장 낮은 지연시간이 필요하다.
응답 시간이 느리면 비효율적으로 작동하고 차량이나 주변 물체가 손상될 수 있으므로 운전자가 최소한의 지연으로 환경 변화에 빠르게 대응할 수 있도록 한다. 지연시간이 200~300밀리초 이상 걸리면 느리고 제어하기 어색하다고 느끼는 경향이 있으므로 실시간 사용자 제어 시스템은 이보다 짧은 지연시간을 목표로 하는 것이 이상적이다.
지연시간의 원인과 최적화
비전 시스템의 다양한 요소가 전체 데이터 전송에 지연시간을 추가한다. 아래 <그림2>는 지연시간이 발생할 수 있는 위치를 보여준다.

<그림2> 비전 시스템에 지연시간을 추가할 수 있는 요소
대부분의 Harrier IP 카메라는 LVDS 비디오를 IP 포맷으로 변환하는 Harrier IP 카메라 인터페이스 보드에 연결된 AF-Zoom 블록 카메라 모듈(LVDS 출력 포함)로 구성된다(그림1 참조).
AF-줌 블록 카메라는 정교한 이미징 기기이며 다양한 이미지 처리 기능(예: 자동 화이트 밸런스, 자동 노출, 렌즈 왜곡 보정, 노이즈 감소, 이미지 안정화, 텍스트 및 컬러 오버레이, 프라이버시 화면, 모션 알림 등)을 갖추고 있다.
그러나 이러한 기능에 필요한 처리에는 시간이 걸리므로 카메라 동영상의 지연시간이 늘어난다. 일반적인 AF-줌 카메 라는 카메라와 수행되는 처리 작업에 따라 2~6프레임의 지연 시간이 발생한다. 지연시간은 일반적으로 비디오 프레임 속도 와도 관련이 있다.
예를 들어 두 개의 이미지 프레임을 처리해야 하는 기능은두 개의 프레임이 캡처된 후에만 적용될 수 있으므로 최소 2프레임 이상의 지연시간이 필요하다. 프레임 속도가 빠르면 이 시간 제한이 더 작아지므로 프레임 속도와 비디오 출력 지연시간 사이에는 직접적인 관계가 있다.
블록 카메라의 지연 시간을 최소화하려면 빠른 프레임 속도를 설정하고 복잡한 이미지 처리 기능을 사용하지 않아야 하며, 카메라에 VISCA 명령을 사용하여 활성화할 수 있는 지연시간이 짧은 모드가 있을 수 있다(예: Tamron MP3010M-EV, 그러나 이러한 모드를 설정하면 일반적으로 카메라의 처리 기능이 제한된다. 예를 들어 렌즈 왜곡 보정이 비활성화될 수 있음).
Harrier IP 카메라 인터페이스 보드는 카메라 모듈에서 이미지 데이터를 수신하고 오버레이 추가 또는 이미지 스케일 링과 같은 추가 이미지 처리를 수행할 수 있다. 그런 다음 이미지가 H.264로 압축되고 네트워크에 전송할 수 있는 데이터 패킷 형식(IP/UDP)으로 변환된다. 하드웨어를 사용하여 비디 오를 인코딩하고 필요한 비디오 처리를 최적화/최소화함으 로써 지연시간을 줄일 수 있다. Harrier IP 카메라 인터페이스 보드의 지연시간은 최대 80ms이다.
네트워크는 IP 패킷을 수신하여 호스트 컴퓨터로 라우팅한 다. 데이터 수신 및 전송은 일반적으로 비교적 빠르고 지터 없이 이루어진다. 그러나 복잡하고 바쁜 네트워크에서는 패킷이 지연되거나 다른 네트워크 경로를 통해 라우팅될 수 있으므로 지연시간이 길어지고 지터가 더 많이 발생할 수 있다. 지연시 간을 줄이려면 네트워크는 가능한 한 단순해야 하며 관련 없는 많은 양의 데이터를 전달하지 않아야 한다. 포인트 투 포인트(카메라와 호스트 PC) 연결은 지연시간과 지터가 가장 낮다.
<그림2>와 같이 수신 컴퓨터/PC는 데이터 압축 해제 및 (선택 사항) 이미지 처리로 인해 PC 내에서 가장 큰 지연을 유발하는 지연시간을 더 추가한다. 중단 없이 빠르게 이미지를 수신, 디코딩, 처리 및 표시할 수 있는 고성능 컴퓨터를 선택하면 지연시간이 짧고 지터가 적은 비디오 전송을 제공하는 데 도움이 된다.
동영상을 캡처하고 표시하는데 사용되는 동영상 렌더링 소프트웨어도 지연시간에 상당한 차이를 만들 수 있다. 일부 소프트웨어는 이미지 품질을 개선하고 원활한 동영상 스트림을 제공하기 위해 추가 이미지 처리를 수행할 수 있도록 여러 프레임의 데이터를 버퍼링한다. 지연시간을 줄이려면 소프트웨 어가 이미지를 화면에 전송하기 전에 최소한의 버퍼링과 비디오 스트림 처리를 수행하도록 설정되어 있는지 확인해야 한다.
TCP/IP 패킷이 손실되면 네트워킹 시스템에서 패킷 재전 송을 요청하게 되는데, 이 경우 소프트웨어가 손실된 패킷을 기다리는 동안 비디오가 일시 정지되고, 도착하는 다른 비디오 데이터가 버퍼링되어 비디오 스트림이 지연될 수 있다. 일부 동영상 렌더러는 이 버퍼/지연을 유지하여 지연시간이 길어지므로 동영상 렌더러의 속성을 확인하여 TCP 대신 UDP 패킷을 사용할 수 있다. 누락된 UDP 패킷은 추적/복구되지 않으며 단순히 손실된다.
마지막으로 디스플레이 자체의 지연시간(게이머들은 이를 입력/디스플레이 지연이라고 부릅니다)이 있다. 이 지연은 모니터 전자 장치가 LCD 화면에 이미지를 수신하고 표시하는데 걸리는 시간으로 인해 발생하며 5ms에서 68ms 사이로 다양 하다. 이는 픽셀이 한 색상에서 다른 색상으로 바뀌는 데 걸리는 시간인 픽셀 응답 시간과는 다르다. 일부 텔레비전과 모니 터/디스플레이는 이미지를 표시하기 전에 전체 프레임을 버퍼링하여 최소 1프레임의 지연시간(60fps에서 ~16.7ms)을 추가한다.
또한 이미지 크기를 조정하거나(기본 디스플레이 해상도와 일치하도록) 이미지 아티팩트(예: HDR, 동적 밝기/대비, 가장 자리 선명화, 빗 필터링 등)를 줄이기 위해 이미지 처리를 수행할 수도 있다. 이 모두는 이미지 디스플레이에 지연시간을 추가한다. 이러한 이유로 많은 최신 텔레비전과 디스플레이는 추가 처리를 끄고 지연시간을 최소화하는 ‘게임 모드’ 설정을 제공한다. 일부 게임용 모니터는 더 높은 프레임 속도(예:120Hz)로 실행할 수 있으며, 이는 카메라를 최고 프레임 속도로 설정하는 것과 같은 방식으로 모니터 지연시간을 줄여준다.
지연시간을 최소화하려면 디스플레이의 기능을 주의 깊게 확인하고 지연시간을 추가하는 모든 처리 옵션을 끄고 비디오 해상도를 기본 모니터 해상도와 동일하게 설정해야 한다.(이미지 스케일링이 필요하지 않으므로 지연시간이 최적 화되도록). 일부 모니터에는 다른 모니터보다 지연시간이 짧은 입력 포트가 있을 수도 있다.
지연시간이 짧은 동영상을 위해서는 시스템을 최대한 단순하게 유지하고 하드웨어와 소프트웨어를 신중하게 선택하며 지연시간이 짧은 구성을 염두에 두고 선택해야 한다. 더 적은 수의 특정 작업을 수행하도록 시스템을 설계하고 가능한 경우 불필요한 추가 이미지 처리를 제거한다. 지연시간에 최적화된 시스템을 구현하고 하드웨어 가속을 사용하여 지연을 최소화하거나 제거하고 지터를 줄여야 한다.
IP 이더넷 지연시간 측정
Harrier IP 카메라 모듈의 지연시간을 측정한 방법이다.
• 카메라의 화면을 PC 모니터/디스플레이/스크린에 표시하는 애플리케이션(예: ONVIF 디바이스 관리자(ODM), G스트 리머)이 필요하다.
• 카메라가 PC 화면을 향하고 있다.
• 화면 새로고침 속도가 빠른 타이머를 카메라 뷰에 배치해야 한다. 이 경우 Windows 시계 애플리케이션이 스톱워치 모드 에서 실행되어 카메라의 시야에 들어오도록 화면에 표시됐다.
• IP 비디오 디스플레이 애플리케이션이 열리고 카메라 비디 오가 화면에 표시됐다. 화면의 타이머 이미지도 카메라의 시야에 들어오도록 카메라 뷰를 배치했다. 스크린샷을 찍고 디스플레이에 표시된 두 타이머 이미지의 차이에서 유리 대 유리 지연시간을 계산했다. 여러 번 측정했다.
또한 화면의 비디오를 녹화한 다음 비디오를 재생/일시 정지하여 개별 프레임을 검토할 수 있으므로 여러 측정이 쉽게 이루어질 수 있다. GStreamer를 사용하여 동영상을 표시할때 사용된 명령줄은 다음과 같다.
gstlaunch-1.0.exe rtspsrclocation=rtspu://192.168.189.99:8554/quality_h264latency=0!decodebin!autovideosink sync=false
• 타이머 디스플레이, 카메라 및 출력 모니터는 각각 고유한 비동기 재생률을 가지므로 이러한 타이밍이 위상을 오가면서 계산된 지연시간이 달라져 약 40~50ms의 지터가 발생한다.
시스템 설정 예시
Harrier IP 카메라:
• 프로필: balanced_h264(비트레이트=0)
• 펌웨어 버전: v3.2 / v4.3
• 연결: 1000BASE-T(유선)
• 유형: TCP / UDP
PC/소프트웨어:
• 씽크패드 X1 카본 6세대
• 인텔(R) 코어(TM) i7-8550U CPU @ 1.80GHz / 1.99GHz
• 씽크패드 USB-C 독, DK1633
• Windows 10 Pro 22H2
• ODM v2.2.250 / Gstreamer msvc_x86_64 v 1.0
• Microsoft Windows 시계 애플리케이션
• Dell 모니터 U2412M

<그림3> 지연시간 측정 기록을 위한 화면 설정 예시
지연시간 측정

Harrier 1080p30 특수 저지연 모드: Harrier IP 카메라 인터 페이스 보드에는 특별한 1080p30 저지연 구성이 있다. 이 모드는 카메라를 1080p60 출력으로 구성하되 IP 비디오 인코더가 매 프레임만 처리하도록 설정하여 1080p60 비디오와 동일한 카메라 지연 시간으로 1080p30 비디오를 전송(인코딩 간격(E.I) = 2)으로 설정하면 1080p30 비디오 스트림이 생성 된다. 인코딩 간격의 값은 ONVIF 장치 관리자 또는 ONVIF 요소에서 설정할 수 있다.
카메라 저지연 모드: 일부 AF-줌 블록 카메라에는 저 지연 모드를 켤 수 있지만, 이미지 처리량이 줄어들고 이미지 품질에 영향을 줄 수 있으며(예: 렌즈/왜곡 보정 기능 비활성화) 카메라가 비디오 데이터를 처리하는 기능이 제한될 수 있다. Tamron MP3010M-EV 저 지연 모드는 두 비디오 프레 임의 시간만큼 지연시간을 줄이며, 측정값은 표/그래프에 1080p60 LL(저 지연)으로 나열/표시된다.
Harrier IP 카메라는 비디오 시스템에 매우 짧은 지연시간을 제공한다. 비전 시스템의 각 요소는 전체 지연시간을 증가 시키지만, 개발자는 각 구성 요소의 측면을 해결하여 지연시 간을 최대한 줄일 수 있다. 이 기사에서는 지연시간을 최소화 하기 위해 다음과 같은 권장 사항을 제시했다.
• AF-줌 카메라에서 가장 높은 프레임 속도를 설정한다(예:60Hz).
• 처리량이 많은 AF-줌 카메라 기능을 사용하지 말라.
• AF 줌 카메라에 저지연 모드가 있는 경우 이를 활성화한다.
• 하이 프레임 레이트에서 데이터의 양이 너무 많으면 Harrier IP 카메라 인터페이스 보드 인코딩 간격을 2로 설정하여 1080p30을 ~1080p60 지연시간으로 전송한다.
• Harrier IP 카메라 인터페이스 보드와 같은 하드웨어 가속 IP 처리 인터페이스 보드를 사용한다.
• 관련 없는 많은 양의 데이터를 전송하지 않는 단순한 네트워 크를 운영하라.
• 지연시간과 지터를 최소화하려면 지점 간 네트워크 연결을 사용하라.
• 중단 없이 이미지를 빠르게 수신, 디코딩, 처리 및 표시할 수있는 고성능 컴퓨터를 선택해라.
• 최소한의 버퍼링 및 동영상 처리를 수행하도록 설정할 수 있는 소프트웨어를 선택해라.
• 디스플레이 화면의 지연시간이 최소화되도록 한다.
사용하는 모델과 모드/이미지 처리 기능에 따라 AF 줌 카메 라는 비디오에 50~200ms의 지연시간이 추가된다. Harrier IP 카메라 인터페이스 보드는 약 80ms의 지연시간을 추가한 다. 시스템의 다양한 요소를 구성하면 추가적인 복잡성이나 비용 없이 비전 시스템에서 가장 낮은 지연시간 결과를 얻을수 있다.
자료제공 : Active Silicon(www.activesilicon.com)


