요약

  • RFC 3189는 RTP 마커 비트를 DV 영상에 유용한 마지막 패킷 힌트로 만들었지만, 마커가 찍힌 패킷 자체가 유실될 수 있기 때문에 새 프레임의 감지는 반드시 변화된 90 kHz 타임스탬프로 이루어져야 한다고 명시적으로 요구했다.
  • 페이로드 포맷의 나머지 부분도 똑같이 중요한 구분을 그대로 유지했다. RTP 패킷은 한 프레임에 속한 온전한 80바이트 DIF 블록만 담았고, 시계는 의도적으로 버려진 프레임에서도 계속 앞으로 갔으며, 오류 은폐는 빠진 블록을 복원하지 않은 채 더 오래된 블록을 반복할 수 있었고, SDP는 스트림에 실려 있는 필수적인 VAUX와 AAUX 메타데이터를 대신할 수 없었다.

테이프 포맷이 패킷 네트워크로 들어오다

Digital Video는 물리적 과거를 짊어진 채 RTP에 도달했다. 소비자용 IEC 61834 계열은 헬리컬 스캔 카세트 녹화를 중심으로 설계되어 있었다. 전문용 형제 포맷들은 SMPTE 포맷을 사용했다. 그 데이터는 IP 스택이 임의로 나누어 기다리는 임의의 바이트 스트림으로 태어난 것이 아니었다. 하나의 화면 프레임에는 이미 DIF 시퀀스가 들어 있었고, 각 시퀀스는 80바이트 DIF 블록으로 구성되어 있으며, 블록의 식별자는 그 블록이 시퀀스 헤더, 서브코드, 영상 보조 정보, 오디오 또는 비디오 중 무엇을 담는지를 말해 주었다.

RFC 3189는 그 구조를 지우지 않았다. 온전한 DIF 블록을 일반 RTP 헤더 바로 뒤에 그대로 배치하고 DV 전용 페이로드 헤더는 추가하지 않았다. 페이로드 길이는 80바이트의 배수로 유지되어야 했다. 하나의 패킷은 여러 블록을 담을 수 있었지만, 그 패킷 안의 모든 블록은 같은 비디오 프레임에 속해야 했다. 공간이 남아 있더라도 송신자는 그 공간을 다음 프레임의 첫 블록에 쓸 수 없었다.

이 마지막 제약은 장식적인 단정함이 아니었다. 이 제약 덕분에 RTP 타임스탬프가 화면들 사이의 경계가 되었다. 한 프레임 안의 모든 패킷은 같은 90 kHz 타임스탬프를 실었다. 다음 프레임은 해당 모드에 맞는 간격만큼 타임스탬프를 바꾸었다. 이 표준은 패킷 묶음 방식이 재생이 의존하는 단위를 흐리지 못하도록 하면서 녹화 포맷을 실시간 전송으로 바꾸고 있었다.

최종 판정이 아니기에 유용했던 비트

RTP에는 이미 마커 비트가 있었다. RFC 3189는 그 비트에 단순한 임무를 부여했다. 일반 패킷에서는 0, 비디오 프레임의 마지막 패킷에서는 1. 그 패킷이 도착했다면 수신자는 새 타임스탬프를 가진 첫 패킷을 기다리지 않고도 화면을 표시할 수 있었다. 따라서 마커는 재생 경로에서 작지만 실재하는 불확실성 구간을 줄일 수 있었다.

그다음에 이 설계를 규정하는 문장이 나왔다. 프레임 변경 감지는 마커 비트에 의존해서는 안 되며, 마지막 패킷은 유실될 수 있기 때문에 수신자는 RTP 타임스탬프의 차이를 사용해야 한다.

이 구분은 "둘 다 사용하라"보다 날카롭다. 마커는 도착한 패킷을 기술한다. 그것은 송신자가 이 패킷을 마지막으로 표시했다는 증거다. 마커가 없을 때 수신자 앞에는 양립할 수 없는 두 가지 가능성이 놓인다. 프레임이 아직 도착하고 있거나, 마커를 실은 패킷이 사라졌거나 둘 중 하나다. 부재는 그 둘을 판별할 수 없다. 이후 패킷의 타임스탬프는 그렇게 할 수 있다.

그렇기 때문에 마커는 지연 최적화이고 타임스탬프는 상태 경계다. 시스템은 최적화가 권위로 격상될 때 흔히 실패한다. 여기서 표준은 그 격상을 한 문장으로 막았다.

새 타임스탬프가 이전 화면을 완성해 주지는 않았다

타임스탬프는 패킷이 어느 프레임에 속하는지 알려 주었다. 그러나 앞선 프레임의 모든 블록이 도착했다는 증명은 아니었다. 시퀀스 번호는 빈틈을 드러낼 수 있었지만, 페이로드 포맷은 불완전한 화면과 의도적인 생략도 미리 염두에 두고 있었다.

송신자는 선택된 프레임의 비디오와 VAUX 데이터를 버리는 방식으로 프레임 레이트를 낮출 수 있었다. 그래도 타임스탬프는 흘러간 시간만큼 반드시 앞으로 가야 했다. 또한 이전 화면에서 변하지 않은 영역에 대해서는 비디오 DIF 블록을 생략할 수도 있었다. 수신자에게는 유실되거나 빠진 영역을 이전 이미지의 해당 블록을 반복함으로써 은폐하도록 권장되었다.

이 전략은 볼 만한 화면을 만들 수 있었다. 그러나 사라진 원본 블록을 다시 만들어 낼 수는 없었다. 따라서 매끄러운 화면은 완전한 전송에 대한 영수증이 아니었다. 시계는 정확하면서 미디어는 빠져 있을 수 있고, 표시된 영역은 더 오래된 영역이 대체되었기 때문에 안정적으로 보일 수 있었다.

표준은 이를 불성실함으로 취급하지 않았다. 실시간 시스템에는 마감이 있다. 늦게 도착한 완벽한 블록은 제때 온 근사치보다 덜 유용할 수 있다. 그러나 그 근사치와 원본은 서로 다른 증거로 남았다.

협상은 스트림을 기술했고, 보조 팩이 디코딩을 가능하게 했다

DV는 오디오와 비디오를 하나의 RTP 스트림에 함께 실거나 분리할 수 있었다. 이 선택은 동적 페이로드 타입에 붙었고 세션 내내 안정적으로 유지되어야 했으며, 이를 통해 모드 변경 중 시퀀스 공간을 다시 동기화하는 복잡성을 피했다. 서로 다른 DV 인코딩에는 서로 다른 동적 페이로드 타입이 필요했다.

SDP는 인코딩과 오디오 번들 여부를 광고했다. 그러나 이 문서는 세션 기술에 모든 소스 속성을 나열하는 일을 거부했다. 화면 비율, 화면 위치, 오디오 샘플링, 채널 배정, 언어는 DV 소스 및 소스 제어 팩 안에 살아 있었다. 따라서 송신자는 필요한 VAUX 또는 AAUX 정보를 미디어 스트림 자체에 실어야 했다.

이 분할은 서로 다른 표면에 서로 다른 임무를 배정했다. SDP는 어떤 종류의 세션이 제안되는지를 말했다. RTP 페이로드 타입은 포맷을 선택했다. 보조 팩은 소재를 해석하는 데 필요한 구체적인 정보를 공급했다. 그리고 패킷은 여전히 도착해야 했다. 그 어떤 진술 하나만으로도 성공적인 디코딩이 증명되지는 않았다.

분리된 오디오도 같은 요점을 보여 주었다. RFC 3189는 추출한 오디오를 다시 패키징하는 것이 DV를 이해하지 못하는 수신자와의 상호 운용성을 개선하는 경우 DAT12, L16 또는 L20으로 재포장할 것을 권장했다. 오디오와 비디오가 모두 DV 스트림에 남는다면 일치하는 타임스탬프가 립 싱크를 단순화했고, RTCP 참조 타임스탬프는 또 다른 경로를 제공했다. 공유된 시간 기준은 조정에 대한 증거였지, 모든 청취자가 모든 샘플을 받았다는 증명이 아니었다.

후속 표준은 경고를 그대로 보존했다

RFC 6469는 2011년에 RFC 3189를 대체했다. 여기에는 고화질 SMPTE 370M 모드, offer/answer 지침, 소스별 멀티캐스트 조언이 추가되었다. SMPTE 306M 명칭은 이미 SMPTE 314M이 다루는 레거시 호환 자료로 취급되었고, 생략된 서브코드 동작이 명확해졌으며, 이전 문서의 부적절한 SDP fmtp 예시가 바로잡혔다.

그러나 마커 경고는 제거되지 않았다. 후속 표준은 다시 말했다. 마지막 패킷 마커는 표시를 빠르게 할 수 있지만, 마커가 찍힌 패킷이 유실될 수 있으므로 프레임 감지는 RTP 타임스탬프를 사용해야 한다. 그 연속성이 중요하다. 교정 이력은 등록과 협상 세부사항을 바꾸면서도 원래의 유실 모델을 버리지 않았다.

RFC 6469는 이전 구현을 위한 경로도 보존했다. 새 기술서는 이후의 라벨을 선호해야 했지만, 레거시 SMPTE 306M 제안은 여전히 수용되거나 재시도될 수 있었다. 표준의 계승은 이미 설치된 구문이 존재한 적이 없었다고 가장할 것을 요구하지 않았다.

RFC 3189가 실제로 증명한 것

RFC 3189는 DV가 DIF 블록, RTP 타임스탬프, 마커 비트, 페이로드 타입, 보조 메타데이터 사이의 합의된 관계를 갖춘 채 패킷화될 수 있음을 증명했다. 그러나 특정 스트림이 완전하거나, 진짜이거나, 이해 가능하거나, 동기화되어 있거나, 안전하거나, 보관되어 있다는 것은 증명하지 않았다.

오래 지속되는 교훈은 마커 비트가 불신뢰하다는 것이 아니다. 어떤 필드든 자신이 주장하는 범위 안에서는 신뢰할 수 있지만 그 밖에서는 위험해질 수 있다는 것이다. 마커가 찍힌 패킷이 도착하면 그 비트는 유용한 일을 한다. 도착하지 않으면 프로토콜은 다른 관찰 가능한 경계를 필요로 한다. 인터넷은 하나의 편리한 신호가 감당할 수 없는 증거를 대변하도록 허락하지 않음으로써 테이프 영상을 성공적으로 실어 날랐다.