Digital Video Broadcasting (DVB); Adaptive media streaming over IP multicast
JUNIT742021. 9. 8. 20:45
[[[ 현재 작성 중이며 계속 업데이트 예정 ]]]
DVB에서 발행한 Multicast를 통한 Adaptive media streaming을 제공하는 기술 스펙이며 Multicast상에서 CAS가 아닌 DRM으로 encrypt 된 content를 사용 가능한지 알아보던 중 해당 문서를 접하게 됨.
Adaptive media streaming 기술 자체는 HLS나 MPEG-DASH와 같은 네트웍 환경에 맞는 contents를 streaming 할 수 있도록 가능하게 하는 기술을 의미하며 HLS, MPEG-DASH의 경우는 HTTP상에서 동작하고 해당 스펙은 HTTP가 아닌 Multicast상에서 동작한다는 것이 차이점이지 않을까 싶다.
Content preparation
Content encoding Bit rate를 줄이기 위한 목적으로 source stream을 여러 개의 segment로 변환한다. 해당 content는 clear content이며 MPEG element stream이나 MPEG2 TS의 형태가 가능하다.
Contnet packaging Dynamic adaptive streaming에 맞도록 암호화 content를 packager를 통해 구성한다.
Content hosting 준비된 contents를 Multicast server의 content ingest, Multicast gateway, Unitcast repair service 그리고 multicast server와 연결되지 않는 contents를 재생하는 경우에 대해서 Unicast를 통하여 전송된다. 간단한 웹서버로 동작 가능하며 직접 Client와 연결되어 사용될 수도 있다.
Multicast server
Content ingest Content hosting 기능을 통해 HLS 또는 MPEG-DASH를 사용하여 패키징된 segment를 HTTP를 통하여 가져올 수 있고 또한 WebDAV같은 HTTP Push interface 또는 RTP 기반의 Push Interface를 통하여 Content hosting을 거치지 않고 직접 segment들이 제공될 수도 있다.
Multicast transmission Content ingest에 의해 수신된 stream을 순차적으로 Multicast로 전송하는 기능.
Unicast repair service Unicast repair client에 payload 복구 기능을 제공한다. Multicast server로 Multicast를 통하여 수신한 packet를 local cache하고 Unicast repair client로 부터 요청이 왔을 경우 cache된 packet으로 복구한다. 또한 cache된 packet이 Unicast repair client의 요청에 충적하지 못할 경우 해당 요청은 Multicast server로 전달될 수 있다. 여러 Multicast gateway에서 동일한 repair packet을 요구하는 경우는 Multicast server를 통하여 repair packet을 Multicast로 전송하는 것이 효율적일 수 있다.
Multicast gateway 패키징된 content segment를 Content playback에 제공하는 것이 주된 기능이며 댁네 Home gateway, IP STB 또는 upstream network node에 위치할 수 있다. Content playback으로부터 요청이 왔을 경우 Asset storage에 cache된 content를 직접 전송하거나 Content hosting으로부터 수신하여 Content playback으로 간접적으로 전송한다. Asset storage는 cache가 될 때까지 Unicast로 streaming된다.
Service management Multicast content stream에 대한 Multicast 세션 구성 정보를 수집한다. 해당 정보는 Network control을 통하여 직접 수신하거나 Multicast reception통해 간적접으로 수신 또는 Multicast rendezvous service로 부터 unicast를 통하여 수신된다.
Multicast reception 수신기로부터의 요청 및 구성된 인터페이스를 통해 스트림을 수신하며 추후 사용하기 위해 Asset storage에 cache된다. 전송 중에 손상된 content는 Unicast repair client에 의해 복구될 수 있다.
Unicast repair client Multicast 패킷 손실 감지가 수행되고 Error Corrention information을 사용하여 복구된다. 복구는 Unicast repair service(unicast packet retransmission or multicast segment loss signalling)를 통하거나 Content hosting으로 부터 복구될 수 있다.
Asset storage 광고 또는 많은 사용자에게 제공되는 인기있는 asset을 관리하는 임시 저장소.
Service reporting 서비스와 관련된 분석 데이터를 Service report capture에 전송한다.
Provisioning
Service reporting capture cache 적중률, 시청정보와 같은 정보들을 Multicast gateway의 Service reporting기능에 의해 capture된다. 이러한 정보들은 multicast channel과 서비스 성능 향상에 사용된다. 또한 Content Provider metrics reporting capture로도 전달될 수 있다.
Network control 이 기능은 네트워크 리소스를 제어, 구성, 프로비저닝을 책임진다. Network control은 멀티캐스트 전송과 유니캐스트 운영을 위한 리소스를 포함한다. 중앙집중식 시스템에서 Network control 기능은 멀티캐스트 스트림셋에 대한 구성정보를 Network resource로 배포하고 이러한 구성정보를 Multicast server와 Multicast gateway에 추가로 배포할 수 있다. 멀티캐스트 스트림셋에 대한 구성 정보는 Content Provider control 정책과 클라이언트 요청 수에 따라 업데이트 될 수 있다.
Content Provider control 이 기능은 Network control 기능에 의해 제공되는 Interface를 통하여 멀티캐스트를 통해 이용가능한 서비스에 대한 정보를 제공한다. 하나의 Content Provider control은 여러 개의 다른 Network provider에 의해 운영되는 Network control과 연결될 수 있다.
Content playback 유니캐스트를 통해 제공되는 컨텐트를 수신, 복호화, 재생하는 역할을 한다. Content playback 기능은 스마트폰과 같은 장치에서 Multicast gateway와 분리될 수도 있고 Set-top box와 같은 장치에서 Multicast gateway와 결합한 형태도 가능하다.
Content unpackaging 전송된 스트림으로부터 Content decryption하기 위해 Elementary stream data들을 추출한다. 예를 들어 ISO Base Media File Format 세그먼트에서는 media data box를 추출하는 반면 MPEG-2 Transport Streams에서는 원하는 PID별로 추출하여 PES 패킷으로 조립된 페이로드가 추출된다.
Content decryption DRM이 포함된 컨텐츠일 경우 Content decryption기능에 의해 암호화된 ES를 DRM lincece management 에서 제공하는 decryption key를 사용하여 복호화한다.
Content decoding Content decoding 기능은 컨텐츠를 재생하기 위하여 ES(video, audio, ...) 단위로 분리한다.
Playback metrics reporting playback delay, buffer level, 네트워크 처리량과 같은 재생과 관련된 정보를 Content Porvider metrics reporting capture에 전송한다.
Multicast rendezvous service Network control은 Multicast gateway instance의 기록들과 현재 상태 그리고 multicast session 상태를 Multicast rendezvous service에 전송한다. Multicast rendezvous service는 활성화된 멀티캐스트 세션과 적합한 Multicast gateway가 있는 여부를 결정한다. 만약 적합한 Multicast gateway가 있다면 Multicast gateway에 요청을 재전송시키고 그렇지 않다면 Content hosting 기능에 재전송하여 유니캐스트를 사용하여 요청을 처리한다.
DRM licence management 컨텐츠 보호 서비스를 담당하며 컨텐츠를 암호화하기 위한 key를 제공하고 또한 복호화를 위한 licence를 제공한다.
Application Content playback 기능을 제어한다.
Service directory Application은 유효한 서비스를 찾기 위해 private Service directory를 사용할 수 있고 Content provider control에 의해 구성된다.
Deploy
Multicast gateway deployed in network edge device 위의 그림에서 Multicast gateway는 각 가정으로 들어가는 Network 장비의 끝단에 탑재가 되며 multicast/unicast 변환 기능을 담당한다. 따라서 Multicast gateway와 가정의 Home gateway와는 결국 unicast로 통신이 된다.
Multicast gateway deployed in home gateway device
위의 그림에서 Multicast gateway는 router와 같은 home gateway에 탑재가 되고 동일 네트웍상에 존재하는 디바이스에 multicast-unicast 변환 기능을 제공한다. 이 디바이스에는 Content playback 기능을 담당하는 instance를 가지고 있다.
Multicast gateway deployed in terminal device
터미널 디바이스는 가정의 네트워크간의 IP multicast 수신을 제공한다. 터미널 디바이스는 Multicast gateway와 Content playback 기능 모두를 포함하고 재생을 하기 위해 각각의 Application을 탑재한다. 위와 같은 형태에서 Multicast gateway는 Host 터미널 디바이스에만 컨텐츠를 제공하고 Home gateway는 단순히 multicast group subscription 기능만 수행한다.
Modes of system operation
Regular deployment
1. Network control 하위 기능은 현재 배포된 multicast session들의 구성으로 Multicast server를 구성한다. 2. multicast session이 시작되면 Multicast server는 manifest와 media segments를 수신한다.
참고 사이트에 공유된대로 비슷한 개념의 이미 상용화된 제품도 있으며 BBC R&D에서도 비슷한 내용의 글이 있어 URL을 링크하였다.