요약
- RFC 3190은 12비트 비선형, 20비트 선형, 24비트 선형 오디오를 RTP로 전송했지만, 가장 어려운 경계는 비트 폭이 아니었다. DV는 음의 풀스케일 값을 '유효한 샘플 없음' 오류 코드로 예약한 반면, RTP 페이로드 형식은 모든 가능한 값을 정당한 오디오로 취급했다.
- 브리지는 전송 전에 실패한 DV 판독을 감출 수도, DV에 넘기기 전에 정당한 RTP 샘플을 변경할 수도 있었다. 어느 쪽이든 증거를 바꾸는 방식으로 상호운용을 가능하게 했으므로, 원래의 센티널과 전송된 샘플, 재생 결과는 서로 별개의 기록으로 남아 있어야 했다.
하나의 숫자가 두 의미를 모두 담을 수는 없었다
DV 녹음 시스템에서 12비트 값800h는 파형의 가장 깊은 음의 지점이 아니었다. 그것은 매체가 보내는 경고, 즉 해당 샘플 기간에 유효한 오디오 샘플이 없다는 통지였다. 대응하는 센티널은 16비트 선형 오디오에서8000h, 20비트 선형 오디오에서80000h였다. 자기 테이프 판독 중 실패가 발생하면 그런 값 하나가 스트림에 들어갈 수 있었다.
RTP에는 그런 결손이 없었다. RFC 3190은 DAT12, L20, L24를 모든 가능한 수치 값이 유효한 샘플 페이로드로 정의했다. L16도 이미 같은 규칙을 따랐다. 음의 풀스케일 값은 실제 음향 데이터일 수 있었고, 거기에 오류 의미를 부여하면 네트워크 표현에서 하나의 정당한 지점이 사라지게 된다.
따라서 브리지는 비트를 그대로 복사하면서 양방향에서 의미를 모두 보존할 수 없었다. DV에서 RTP 방향으로는 없어진 테이프 샘플을 대신할 소리를 둘지 여부를 결정해야 했다. RTP에서 DV 방향으로는 정당한 음의 샘플이 하드웨어 오류로 오해되지 않도록 해야 했다. 비호환성은 숫자를 옮기는 능력이 아니라 그 숫자의 의미에 있었다.
컨실먼트는 프로그램을 복구하고 증상을 지웠다
RFC 3190은 DV 시스템에서 샘플을 받아들이는 송신자가 오류 컨실먼트 알고리즘을 적용해야 한다고 말했다. 문서는 의도적으로 그 알고리즘을 규정하지 않았다. 단일 샘플 실패와 연속 실패는 서로 다른 처리가 필요할 수 있었다. 송신자는 보간하거나, 반복하거나, 무음 처리하거나 다른 로컬 전략을 쓸 수 있었다. 센티널을 오디오처럼 그대로 통과시키는 것도 허용되었지만, 그 결과가 들리기 좋지 않을 가능성이 있다는 경고가 함께 있었다.
이 자유는 실시간 재생에는 도움이 되었다. 그러나 원천 이벤트는 보존하지 않았다.8000h가 보간된 샘플로 교체되고 나면 RTP 수신자는 테이프 판독 실패를 알지 못한 채 매끄러운 파형을 들을 수 있었다. 패킷 캡처는 손상된 원천이 아니라 복구 결과를 충실히 보존했을 것이다.
따라서 RTP 페이로드만 보관하는 아카이브는 전송 계층에서는 완전하더라도 녹음의 역사로서는 불완전할 수 있었다. 패킷은 손상되지 않았다. 오디오가 반드시 테이프 출력과 비트 단위로 동일한 것도 아니었다. 두 진술이 동시에 참일 수 있었다.
역방향 브리지는 정당한 샘플 하나를 희생했다
역방향에는 서로 다른 절충이 필요했다. RTP 수신자가 정당한 음의 풀스케일 값을 DV 시스템에 그대로 넘기면, DV 시스템은 이를 오류로 해석할 수 있었다. RFC 3190은 이 충돌을 바로 다음으로 작은 음의 값으로 번역할 것을 권고했다. 즉800h는801h로,8000h는8001h로 바뀌었다.
20비트 오디오에서는 보호 범위가 더 넓었다.80000h부터8000Fh까지의 값은80010h로 바뀌었다. 이유는 또 하나의 호환성 계층이었다. 16비트 장비가 하위 4비트를 무시하는 방식으로 20비트 소재를 재생할 수 있었다면, 16개의 서로 다른 20비트 값이 16비트 센티널 위로 겹쳐 내려올 수 있었다. 번역은 충돌 범위 전체를 이동시켰다.
이것은 통제된 왜곡이었다. 다운스트림 장비가 데이터와 상태를 혼동하지 않도록 유효한 원천 데이터를 바꾼 것이다. 결과는 운영적으로 더 안전하면서 동시에 수치적으로 덜 정확할 수 있었다. 24비트 오디오에 대한 대응 규칙은 없었는데, 인용된 DV 사양에 그 인코딩이 포함되지 않았기 때문이다.
12비트는 대역폭을 아꼈지만 코덱 판정을 내리지 않았다
DAT 롱 플레이는 16비트 선형 샘플에서 유도한 12비트 비선형 표현을 사용했다. 소재를 L16으로 보내는 것은 쉬웠지만, RFC 3190은 그렇게 하면 필요한 네트워크 대역폭을 33% 더 소모한다고 계산했다. DAT12는 압축 형식을 유지했다.
샘플은 -2048부터 2047까지의 부호 있는 2의 보수 값이었고, 최상위 비트부터 연속으로 채워졌다. 패킷이 홀수 개의 12비트 샘플을 담을 때는 마지막 옥텟의 하위 4비트가 사용되지 않았다. L20도 홀수 샘플 수에 대해 같은 반옥텟 조건을 따랐다. L24는 자연히 옥텟 경계에 맞아떨어졌다.
이러한 패킹 규칙은 숫자를 복원하는 방법을 정했을 뿐이다. 신호 품질, 청취자 선호, 원천 진위성, 성공적인 재생을 증명하지 않았다. 유효한 DAT12 페이로드에는 감춰진 테이프 오류가 들어 있을 수 있었다. 완벽한 비트 파서는 브리지가 선택한 값을 그대로 재현하면서도 테이프가 내놓지 못한 값이 무엇이었는지에 대해 아무것도 알지 못할 수 있었다.
채널 맵은 파형 바깥에 있었다
RTP 오디오는 샘플링 시점 기준으로 채널을 인터리브했다. 왼쪽 샘플 하나, 오른쪽 샘플 하나, 왼쪽 샘플 둘, 오른쪽 샘플 둘 하는 식이었다. DV 네이티브 블록은 다른 배열을 사용했다. 따라서 DV에서 오디오를 DAT12, L20, L24, L16으로 꺼내는 응용 프로그램은 샘플을 RTP 순서로 다시 섞어야 했다. 네이티브 번들 DV 구조를 유지하고 싶다면 그것은 DV 페이로드 형식의 몫이었다.
한 개, 두 개, 세 개 채널에서는 AIFF-C 관례가 암묵적 순서를 제공했다. 네 개 이상의 DV 채널은 그 관례를 벗어나므로 대역 외channel-order매개변수가 필요했다. 허용되는 값은 좌-우-중앙-우퍼 배치 같은 제약된 문자열이었다. 구현자가 임의의 순열을 만들어내지 못하도록 그 심볼들은 구분자 없이 이어 붙여졌다.
선언된 순서는 선언된 채널 수와도 일치해야 했다. 다섯 채널 DV에 허용되는 순서가 하나뿐이더라도 다섯 채널은 여전히 매개변수를 필요로 했다. 반대로 작은 암묵적 배치에서는 구형 구현의 상호운용성을 유지하기 위해 매개변수를 생략해야 했다.
RFC는 기술적 경계만이 아니라 사회적 경계도 그렸다. 함께 재생되기로 의도된 채널은 하나의 스트림을 공유할 수 있었다. 서로 독립적인 채널, 예컨대 별개의 언어 번역은 별개의 RTP 세션을 사용해야 했다. 그렇지 않으면 모든 수신자가 자신이 원하지 않는 프로그램에 대역폭을 쓰게 된다.
밝게 들리고 둔하게 들리는 것은 손상된 패킷이 아니라 협상 실패였다
일부 원천 오디오는 양자화 이전에 아날로그 프리엠파시스를 거쳤다. RFC 3190은 그 조건을 위한 대역 외emphasis=50-15매개변수를 정의하고, 프리엠파시스가 적용되지 않았을 때는 그 매개변수가 없어야 한다고 요구했다. 이 매개변수는 L16을 포함한 다른 페이로드와 함께 붙을 수 있었다.
구형 응용 프로그램이 세션은 받아들이면서 매개변수를 무시할 수 있었다. 패킷은 여전히 도착했고, 길이도 여전히 유효했으며, 샘플도 여전히 디코딩되었다. 그러나 수신은 지나치게 밝게, 전송은 지나치게 둔하게 들릴 수 있었다. 전송 성공과 충실한 재현은 다시 갈라졌다.
같은 패턴이 문서 전체를 관통했다.DAT12,L20,L24는 수치 표현을 지명했다. 샘플 레이트와 채널 수는 격자를 서술했다.channel-order는 위치를 배정했다.emphasis는 아날로그 변환을 설명했다. 그 어느 것도 전달, 컨실먼트 역사, 들리는 결과를 증명하지 않았다.
페이로드 등록이 실제로 이룬 것
RFC 3190은 세 개의 오디오 미디어 서브타입과 그것을 서술하는 규율 있는 방법을 등록했다. DAT와 DV 장비가 자기 네이티브 관례가 동일하다는 가짜를 만들지 않고도 RTP와 만날 수 있게 한 것이다. 가장 오래 지속된 선택은 변환이 일어나야 하는 지점을 드러낸 것이었다.
변환이 무손실이 되도록 만들지는 않았다. 브리지는 패킷화 전에 DV 오류를 교체할 수 있고, DV 출력 전에 유효한 RTP 샘플을 훼손할 수 있고, 네이티브 블록 순서를 재배열할 수 있으며, 구형 피어가 무시하는 메타데이터에 의존할 수 있었다. 상호운용은 의미적 동일성이 아니라 규정된 절충에서 나왔다.
역사적 교훈은 특히 구체적이다. 비트 패턴은 자기 관할권을 운반할 수 없다.8000h는 한 계약 아래에서는 '음의 풀스케일'을, 다른 계약 아래에서는 '샘플 없음'을 의미했다. 시스템이 이해 가능한 상태를 유지하려면 경계가 계약을 명명하고, 변환을 기록하고, 복구된 소리를 아무 일도 없었다는 증명으로 취급하지 않아야만 했다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





