NDI 개요
NDI(Network Device Interface)는 NewTek에서 개발한 개방형 IP 비디오 프로토콜로 비디오 호환 제품이 LAN을 통해 비디오를 공유할 수 있도록 해 준다. 우리는 비디오 업계의 미래가 비디오가 IP 공간에서 쉽고 효율적으로 전송되고, 이 비전이 현재 생산 파이프 라인에서 산업별 연결 형식(HDMI, SDI 등)을 대신할 것이라고 믿고 있다.
NDI를 통해 다중 비디오 시스템은 IP를 통해 서로를 식별하고 통신할 수 있으며 고품질, 낮은 딜레이, 프레임 단위의 비디오 및 오디오 스트림을 실시간으로 인코딩, 전송 및 수신할 수 있다. 이 새로운 프로토콜은 비디오 믹서, 그래픽 시스템, 캡처 카드 및 기타 여러 제작 장치를 포함하여 네트워크에 연결된 모든 비디오 장치에 유용하다.
NDI는 로컬 영역 네트워크에서 양방향으로 작동할 수 있으며 공유 연결에서 많은 비디오 스트림을 사용할 수 있다. 인코딩 알고리즘은 해상도와 프레임 속도에 독립적이며 16채널(이상)의 부동 소수점 오디오와 함께 4K 이상을 지원한다. 이 프로토콜에는 비디오 액세스 권한, 그룹화, 양방향 메타 데이터 및 IP 명령을 구현하는 도구도 포함되어 있다. 또한 표준 GigE 네트워크를 통해 뛰어난 성능을 발휘하므로 SDI 카메라 및 인프라 스트럭처에 대한 기존 투자 또는 비용이 많이 드는 새로운 고속 네트워크 인프라를 구축하지 않고도 매우 다양한 IP 비디오 제작 파이프 라인으로 시설을 전환할 수 있다.
압축
NDI는 비디오 신호를 기본 주파수 구성 요소로 변환하는 이산 코사인 변환(DCT)과 같은 기존 인프라에서 많은 수의 비디오 스트림을 전송할 수 있도록 압축을 사용한다. 이 압축 방법은 업계에서 인코딩 형식과 메자닌 코덱에 일반적으로 사용된다.
현존하는 가장 효율적인 코덱 중 하나인 NDI는 전문 방송용으로 채택된 대부분의 코덱보다 훨씬 우수한 압축을 제공한다. 전형적인 인텔 기반 i7 프로세서에서 NDI 코덱은 단일 코어를 사용하여 초당 250프레임으로 1920×1080 비디오 신호를 압축할 수 있다.
NDI 코덱의 최고 신호 대 잡음비(PSNR)는 일반적인 비디오 콘텐츠의 경우 70dB를 초과한다. 독특하게 중요한 것은 NDI는 다중 세대 안정성을 제공하는 최초의 코덱인 것이다. 즉, 일단 비디오 신호가 압축되면 더 이상 손실이 발생하지 않는다. 실제 예로서, 한번 인코딩이 이루어진 후에는 2번째 시퀀스와 1000번째 시퀀스는 완전히 동일한 품질을 가지게 된다. 이 연결의 예는 NewTek의 NDI SDK에서 제공되고 있다. NDI 코덱은 매우 빠르게 실행되도록 설계되었으며 비디오 프레임을 압축하는 프로세스가 최대한 빨리 수행되도록 매뉴얼 어셈블리로 구현된다. 딜레이 시간은 네트워크 연결 및 엔드 포인트 제품의 중요한 요소이다. 실제로 NDI는 16 비디오 스캔 라인의 기술적 딜레이를 가지고 있지만 실제로는 대부분의 딜레이는 한 필드 정도이다. 하드웨어 구현은 8개의 스캔 라인 내에서 완전한 종단 간 대기 시간을 제공할 수 있다.
포맷
NDI는 알파 채널의 유무와 상관없이 모든 해상도, 프레임 속도 및 비디오 스트림을 완벽하게 지원한다. 실질적인 측면에서 해상도와 프레임 속도는 엔드 포인트 장치의 기능에 따라 결정된다. 가장 일반적인 구현은 8비트 UYVY 및 RGBA 비디오를 사용할 것으로 예상되지만 10비트 및 16비트에 대한 지원을 사용할 수 있다. 코덱의 내부 파이프 라인은 전적으로 16비트 이상으로 유지된다.
네트워크 대역폭
NDI는 높은 대역폭과 높은 가용성으로 전용 네트워크에서 가장 효율적으로 작동한다. 이는 공공 인터넷이나 비디오가 우선 순위없이 데이터와 함께 올라가는 네트워크와 같은 관리되지 않는 환경과는 대조적이다. 패스트 이더넷(100 Mbps) 네트워크에서 HD 비디오의 단일 스트림을 쉽게 전달할 수 있지만 프로덕션 워크 플로에서는 기가비트(1000 Mbps) 네트워크가 필수적이다. 1080i HD 비디오로 구성된 일반적인 NDI 스트림은 스트림 당 최대 100Mbps의 데이터 속도를 제공한다. 이 매우 효율적인 스트림은 대기 시간이 매우 짧도록 설계되어 단일 스트림의 기가비트 네트워크에 여러 스트림을 함께 쌓을 수 있다.
네트워크 레이아웃
NDI는 표준 소비자 기성품(COTS) 네트워킹 장치와 함께 사용하도록 설계되었다. 네트워크 토폴로지 및 구성을 자세히 살펴보면 가능한 최대 대역폭을 사용할 수 있다.
네트워크 스위치를 선택할 때 처리 속도를 확인하는 것이 중요하다. 각 포트가 전이중(양방향 통신)이고 각 포트의 업스트림 및 다운 스트림 데이터 속도가 초당 1 기가비트(Gbps) 이상인지 확인해야 한다. 자동 협상과 달리 관리 스위치의 포트가 1Gbps를 사용하도록 하는 것이 가장 좋다. Auto Negotiation을 사용하면 때때로 100Mb 연결이 되거나 더 낮아질 수 있다. 포트가 트래픽으로 가득 채워질 때까지 재협상을 하지 않는다. 또한 RJ-45 커넥터가 제대로 연결되지 않으면 자동 협상에 영향을 줄 수 있다.
가능한 한 동일한 서브넷에서 동일한 제조업체 또는 이상적으로 동일한 스위치 모델을 사용하는 것이 가장 좋다. 이렇게 하면 구성이 단순해지고 호환성 및 구성 문제가 줄어든다.
레이턴시 및 TriCaster
현대식 IMAG 애플리케이션에서 일반적으로 비디오 카메라는 프로젝션 시스템, 확대경 스피커 및 공연자에게 라이브 이미지를 제공하여 대규모 장소에서 더 많은 사람들이 여전히 무슨 일이 진행되는지 볼 수 있다. IMAG는 최상의 계획을 수립하고 가능한 경우 테스트를 요구하는 매우 까다로운 작업이다. IMAG 설치를 설계하는 사람들은 오디오 스트림과 비디오 스트림의 형태로 고려해야 할 하나뿐 아니라 두 개의 상호 관련 방송을 보유하고 있다.
IMAG 및 레이턴시
TriCaster는 IMAG를 위한 훌륭한 도구이지만 필연적으로 디바이스 체인에서 싱글(중요함에도 불구하고) 링크이다. 일반적으로 각 장치는 총 시스템 대기 시간에 약간의 기여를 한다.
총 대기 시간 합계 중 TriCaster의 부분은 대략 1.5 ~ 2.5프레임 사이의 장치(이 요소는 몇 가지 요소에 따라 실제 범위가 약간 다를 수 있음)에 적합하다. 예를 들어, 다른 프레임이 출력으로 전송된 후 카메라가 제공하는 ‘비디오 프레임’이 TriCaster의 입력에 1ms 후에 도착한다고 가정하자. 분명히 새로운 도착은 그 차례를 기다려야 한다. 전임자에 대한 정확한 지속 시간이 경과할 때까지 전송할 수 없다. 따라서 새롭게 도착한 프레임은 차례가 올 때까지 거의 하나의 전체 프레임을 ‘대기’ 해야 한다.
IMAG 체인의 TriCaster 섹션에서 가능한 최저 대기 시간을 어떻게 달성 할 수 있을까? 한 가지 트릭은 카메라를 TriCaster 출력에 ‘Genlock’ 하는 것이다. 이를 통해 TriCaster는 입력시간 수정자를 우회하여 스위칭 작업 동안 일관된 대기시간을 보장한다. 젠락된 소스의 경우, TriCaster의 Frame Sync를 비활성화하는 것을 고려한다. 실제로 TriCaster 설치 대기 시간을 상당히 쉽게 평가할 수 있다. 타임 코드를 1)모니터와 동시에 2)TriCaster를 통해 두 번째 동일한 모니터로 직접 실행한다. 두 모니터를 모두 포함하는 사진을 찍고 표시된 시간 코드를 비교하면 된다.