KR102533674B1 - 수신 장치, 송신 장치 및 데이터 처리 방법 - Google Patents

수신 장치, 송신 장치 및 데이터 처리 방법 Download PDF

Info

Publication number
KR102533674B1
KR102533674B1 KR1020177029962A KR20177029962A KR102533674B1 KR 102533674 B1 KR102533674 B1 KR 102533674B1 KR 1020177029962 A KR1020177029962 A KR 1020177029962A KR 20177029962 A KR20177029962 A KR 20177029962A KR 102533674 B1 KR102533674 B1 KR 102533674B1
Authority
KR
South Korea
Prior art keywords
data
event
application control
control message
application
Prior art date
Application number
KR1020177029962A
Other languages
English (en)
Other versions
KR20170141676A (ko
Inventor
야스아키 야마기시
Original Assignee
소니그룹주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니그룹주식회사 filed Critical 소니그룹주식회사
Publication of KR20170141676A publication Critical patent/KR20170141676A/ko
Application granted granted Critical
Publication of KR102533674B1 publication Critical patent/KR102533674B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/91Arrangements characterised by the broadcast information itself broadcasting computer programmes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/25Arrangements for updating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting

Abstract

애플리케이션 제어 메시지를 적용한 애플리케이션 제어를 확실하게 실행 가능하게 한 구성을 실현한다. 송신 장치가 수신 장치에 애플리케이션 제어 메시지(ACM)를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신한다. 수신 장치의 애플리케이션 제어부는, 이벤트 통지 메시지에 이벤트 데이터로서 저장된 ACM에 기초한 애플리케이션 제어를 실행한다. 이벤트 통지 데이터는, 시그널링 데이터인 MPD 또는, AV 콘텐츠의 송신용 데이터인 세그먼트 내에 저장되고, 수신 장치는 MPD 또는 세그먼트로부터 ACM을 취득해서 신속한 애플리케이션 제어를 행할 수 있다.

Description

수신 장치, 송신 장치 및 데이터 처리 방법
본 개시는, 수신 장치, 송신 장치 및 데이터 처리 방법에 관한 것이다. 더욱 상세하게는 예를 들어 방송파나 네트워크를 통한 데이터의 수신 또는 송신을 실행하는 수신 장치, 송신 장치 및 통신 데이터 대응의 데이터 처리 방법에 관한 것이다.
화상 데이터나 음성 데이터 등의 콘텐츠를 각 통신 사업자의 서비스 형태에 상관없이 배신 가능하게 한 데이터 배신 방식으로서 OTT(Over The Top)가 있다. OTT에 의한 배신 콘텐츠는 OTT 콘텐츠라고 불리며, 또한 OTT를 이용한 화상(비디오) 데이터의 배신 서비스는 OTT 비디오나 OTT-V(Over The Top Video)라고 불린다.
OTT-V에 따른 데이터 스트리밍 배신 규격으로서 DASH(Dynamic Adaptive Streaming over HTTP) 규격이 있다. DASH는 HTTP(HyperText Transfer Protocol)를 베이스로 한 스트리밍 프로토콜을 사용한 어댑티브(적응형) 스트리밍 배신에 관한 규격이다.
어댑티브(적응형) 스트리밍에서는, 방송국 등의 콘텐츠 배신 서버는, 데이터 배신처가 되는 여러 클라이언트에 있어서 콘텐츠 재생을 가능하게 하기 위해서, 복수의 비트레이트의 동화상 콘텐츠의 세분화 파일과 이들의 속성 정보나 URL을 기술한 매니페스트·파일을 작성하여, 클라이언트에게 제공한다.
클라이언트는 매니페스트·파일을 서버로부터 취득하여, 자장치의 표시부의 사이즈나 이용 가능한 통신 대역에 따른 최적의 비트레이트 콘텐츠를 선택하고, 선택 콘텐츠를 수신해서 재생한다. 네트워크 대역의 변동에 따라서 비트레이트의 동적인 변경도 가능하고, 클라이언트측에서는, 상황에 따른 최적의 콘텐츠를 수시로 전환해서 수신하는 것이 가능하게 되어, 영상의 도중 끊김의 발생을 저감시킨 동화상 콘텐츠 재생이 실현된다. 또한, 어댑티브(적응형) 스트리밍에 대해서는, 예를 들어 특허문헌 1(일본특허공개 제2011-87103호 공보)에 기재가 있다.
방송국이나 그 밖의 콘텐츠 서버 등의 송신 장치로부터, 텔레비전, PC, 휴대 단말기 등의 수신 장치에 대하여, 방송파 등에 의한 일방향 통신, 혹은 인터넷 등의 네트워크를 통한 쌍방향 통신, 일방향 통신을 사용해서 방송 프로그램 등의 콘텐츠를 송수신하는 시스템에 관한 개발이나 규격화가, 현재 왕성하게 진행되고 있다.
또한, 방송파 및 네트워크를 통한 데이터 배신을 실현하기 위한 기술을 개시한 종래 기술로서, 예를 들어 특허문헌 2(일본특허공개 제2014-057227호 공보)가 있다.
방송파 및 네트워크를 통한 데이터 배신 시스템에 관한 규격으로서, 현재 ATSC(Advanced Television System Committee)3.0의 규격화가 진행 중이다.
ATSC3.0에서는, ATSC3.0 준거 물리층(ATSC-PHY)을 실장한 방송 배신용 디바이스(튜너 실장 디바이스) 상에, ATSC3.0 방송의 수신 처리 등을 실행하는 미들웨어를 실장시킴으로써, ATSC 방송용 제어 정보 등을 포함하는 시그널링 데이터를 수신하고, 시그널링 데이터에 의한 여러 제어를 가능하게 하는 구성을 검토하고 있다.
구체적으로는, 시그널링 데이터에 의한 제어에 의해, 인터넷 등에서 이용되고 있는 애플리케이션 프로그램, 소위 클라이언트 애플리케이션을 그대로 이용하여, 방송 콘텐츠의 출력 처리나, 방송파 등에 의해 제공되는 여러 애플리케이션을 이용한 데이터 처리를 실현 가능하게 하는 구성을 검토하고 있다.
예를 들어, 가정 내나 핫스폿에 설치된 방송 서비스를 수신하는 서버(전용 서버 외에, PC, TV, 태블릿, 스마트폰 등)에 ATSC3.0 준거 물리층(ATSC-PHY), 및 ATSC3.0 방송 수신 미들웨어를 실장한다.
이들 서버가, 일단 ATSC3.0 방송 서비스를 수신한 후, 네트워크(홈 네트워크나 핫스폿 등의 LAN/WiFi 등)를 통해서, 유저 장치(PC, TV, 태블릿, 스마트폰 등)에 방송 수신 데이터를 전송한다.
서버를 통해서 전송된 방송 수신 데이터를 입력한 유저 장치는, 유저 장치의 재생 제어부나 애플리케이션 제어부 상에서 가동하는 애플리케이션(예를 들어 ATSC3.0 DASH 클라이언트 애플리케이션)을 이용하여, 방송 콘텐츠의 재생이나, 방송에서 배신되는 여러 애플리케이션을 실행하는 것이 가능하게 된다.
이 형태에서는, ATSC3.0 방송 서비스의 제어 정보를 포함하는 시그널링 데이터의 해석 등을 실행하는 미들웨어가, 시그널링 데이터의 수신 타이밍에 있어서의 즉시 해석 처리가 가능한 종단부 디바이스가 된다. 이 결과, 후단의 유저 장치의 재생 제어부나 애플리케이션 제어부는, 방송파 등에 의해 송신되는 시그널링 데이터의 해석 결과에 따른 처리를, 시그널링 데이터의 수신 타이밍으로부터의 지연을 발생시키지 않는 즉시 처리로서 행할 수 없게 되는 경우가 발생한다.
그러나, 미들웨어가 처리를 행한 시그널링 데이터에 애플리케이션 제어 메시지가 포함되어 있는 경우가 있다.
이 메시지는, 후단의 애플리케이션 제어부에 있어서 실행되는 애플리케이션의 제어에 이용되는 메시지이며, 애플리케이션 제어부는, 애플리케이션 제어 메시지를 참조하지 않으면, 올바른 애플리케이션 제어를 행하지 못하게 된다고 하는 문제가 있다.
일본특허공개 제2011-87103호 공보 일본특허공개 제2014-057227호 공보
본 개시는, 예를 들어 상기 문제점을 감안하여 이루어진 것으로, ATSC3.0 방송 수신 미들웨어가 수신한 시그널링 데이터에 애플리케이션 제어 메시지 등이 포함되어 있는 경우, 이것을 확실하게 애플리케이션 제어부에 출력하는 구성을 실현하는 수신 장치, 송신 장치 및 데이터 처리 방법을 제공하는 것을 목적으로 한다.
본 개시의 제1 측면은,
애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 수신하는 통신부와,
이벤트 통지 메시지에 이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 애플리케이션 제어부를 갖는 수신 장치에 있다.
또한, 본 개시의 제2 측면은,
애플리케이션 제어 메시지를 수신하는 통신부와,
상기 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하는 미들웨어와,
상기 이벤트 통지 데이터로부터 애플리케이션 제어 메시지를 취득하여, 애플리케이션 제어부에 출력하는 데이터 처리부와,
상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 애플리케이션 제어부를 갖는 수신 장치에 있다.
또한, 본 개시의 제3 측면은,
애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신하는 통신부를 갖는 송신 장치에 있다.
또한, 본 개시의 제4 측면은,
수신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 수신하고,
애플리케이션 제어부가, 이벤트 통지 메시지에 이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 데이터 처리 방법에 있다.
또한, 본 개시의 제5 측면은,
수신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 수신하고,
미들웨어가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하고,
데이터 처리부가, 상기 이벤트 통지 데이터로부터 애플리케이션 제어 메시지를 취득하여, 애플리케이션 제어부에 출력하고,
애플리케이션 제어부가, 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 데이터 처리 방법에 있다.
또한, 본 개시의 제6 측면은,
송신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신하는 데이터 처리 방법에 있다.
본 개시의 또 다른 목적, 특징이나 이점은, 후술하는 본 개시의 실시예나 첨부하는 도면에 기초한 보다 상세한 설명에 의해 명백해질 것이다. 또한, 본 명세서에 있어서 시스템이란, 복수의 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것으로 한정하지는 않는다.
본 개시의 일 실시예의 구성에 따르면, 애플리케이션 제어 메시지를 적용한 애플리케이션 제어를 확실하게 실행 가능하게 한 구성이 실현된다.
구체적으로는, 송신 장치가 수신 장치에 애플리케이션 제어 메시지(ACM)를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신한다. 수신 장치의 애플리케이션 제어부는, 이벤트 통지 메시지에 이벤트 데이터로서 저장된 ACM에 기초한 애플리케이션 제어를 실행한다. 이벤트 통지 데이터는, 시그널링 데이터인 MPD 또는 AV 콘텐츠의 송신용 데이터인 세그먼트 내에 저장되고, 수신 장치는 MPD 또는 세그먼트로부터 ACM을 취득해서 신속한 애플리케이션 제어를 행할 수 있다.
본 구성에 의해, 애플리케이션 제어 메시지를 적용한 애플리케이션 제어를 확실하게 실행 가능하게 한 구성이 실현된다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것은 아니고, 또한 부가적인 효과가 있어도 된다.
도 1은 본 개시의 처리를 실행하는 통신 시스템의 일 구성예에 대해서 설명하는 도면이다.
도 2는 송신 장치의 송신 데이터에 대해서 설명하는 도면이다.
도 3은 송신 장치 및 수신 장치의 프로토콜 스택의 예를 나타내는 도면이다.
도 4는 ROUTE/FLUTE 프로토콜 스택에 대해서 설명하는 도면이다.
도 5는 수신 장치의 구성예에 대해서 설명하는 도면이다.
도 6은 수신 장치의 구성예에 대해서 설명하는 도면이다.
도 7은 MPD의 구성예에 대해서 설명하는 도면이다.
도 8은 MPD의 구성예에 대해서 설명하는 도면이다.
도 9는 이벤트 통지 MPD의 구성예에 대해서 설명하는 도면이다.
도 10은 MPD의 이용 시퀀스예에 대해서 설명하는 도면이다.
도 11은 이벤트 정보의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 12는 이벤트 정보를 저장하는 세그먼트의 구성에 대해서 설명하는 도면이다.
도 13은 이벤트 정보를 저장한 세그먼트 내의 데이터 구성예에 대해서 설명하는 도면이다.
도 14는 이벤트 정보의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 15는 애플리케이션 제어 메시지(ACM)의 구성예에 대해서 설명하는 도면이다.
도 16은 애플리케이션 제어 메시지(ACM)를 저장한 MPD의 예에 대해서 설명하는 도면이다.
도 17은 MPD에 저장되는 애플리케이션 제어 메시지(ACM)의 예에 대해서 설명하는 도면이다.
도 18은 애플리케이션 제어 메시지(ACM)를 저장한 세그먼트(MP4 규정의 emsg 박스)의 예에 대해서 설명하는 도면이다.
도 19는 애플리케이션 제어 메시지(ACM)의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 20은 애플리케이션 제어 메시지(ACM)의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 21은 애플리케이션 제어 메시지(ACM)의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 22는 애플리케이션 제어 메시지(ACM)의 생성, 송신, 이용 시퀀스에 대해서 설명하는 도면이다.
도 23은 통신 장치인 송신 장치와 수신 장치의 구성예에 대해서 설명하는 도면이다.
도 24는 통신 장치인 송신 장치와 수신 장치의 하드웨어 구성예에 대해서 설명하는 도면이다.
이하, 도면을 참조하면서 본 개시의 수신 장치, 송신 장치 및 데이터 처리 방법의 상세에 대해서 설명한다. 또한, 설명은 이하의 항목에 따라서 행한다.
1. 통신 시스템의 구성예에 대해서
2. 데이터 통신 프로토콜 FLUTE 및 ROUTE에 대해서
3. 송신 장치와 수신 장치를 실행하는 통신 처리예에 대해서
4. 수신 장치의 구성예와 처리예에 대해서
5. 애플리케이션 제어 메시지의 전송 처리에 대해서
6. 이벤트 통지 구성에 대해서
6-1. MPD 적용 이벤트 통지 방식(=MPD Event)에 대해서
6-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 대해서
7. 애플리케이션 제어 메시지의 통지 처리에 대해서
7-1. 이벤트 통지 기구를 이용한 애플리케이션 제어 메시지 통지 구성의 개요
7-2. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 통지 구성
7-3. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 통지 구성
8. 애플리케이션 제어 메시지(ACM)의 통지, 이용 시퀀스에 대해서
8-1. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서
8-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서
9. 튜너 비실장 수신 장치를 이용한 경우의 처리예에 대해서
9-1. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서
9-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서
10. 송신 장치와 수신 장치의 구성예에 대해서
11. 본 개시의 구성의 요약
[1. 통신 시스템의 구성예에 대해서]
먼저, 도 1을 참조하여 본 개시의 처리를 실행하는 통신 시스템의 일 구성예에 대해서 설명한다.
도 1에 도시한 바와 같이, 통신 시스템(10)은 화상 데이터나 음성 데이터 등의 콘텐츠를 송신하는 통신 장치인 송신 장치(20)와, 송신 장치(20)가 송신하는 콘텐츠를 방송파나 네트워크를 통해서 수신하는 통신 장치인 튜너 실장 수신 장치(30)와, 송신 장치(20)가 송신하는 콘텐츠를 튜너 실장 수신 장치(30), 네트워크를 통해서 수신하는 튜너 비실장 수신 장치(40)를 갖는다.
송신 장치(20)는, 구체적으로는, 예를 들어 방송국(21)이나 콘텐츠 서버(22) 등, 콘텐츠를 제공하는 장치이다.
튜너 실장 수신 장치(30)는, 방송파를 수신하기 위한 튜너를 구비한 수신 장치이다. 예를 들어 일반 유저의 클라이언트 장치나 홈 서버, 공공 시설에 설치된 중계 서버 등이다. 구체적으로는, 예를 들어 중계 서버(홈 서버 등을 포함한다)(31), 텔레비전(32), PC(33), 휴대 단말기(34) 등이다.
또한, 튜너 비실장 수신 장치(40)는, 방송파를 수신하기 위한 튜너를 구비하지 않은 수신 장치이다. 구체적으로는, 예를 들어 PC(41), 휴대 단말기(42) 등이다.
송신 장치(20)와 튜너 실장 수신 장치(30) 사이의 데이터 통신은, 인터넷 등의 네트워크를 통한 쌍방향 통신, 일방향 통신, 혹은 방송파 등에 의한 일방향 통신 중 적어도 어느 하나, 혹은 양자를 이용한 통신으로서 행해진다.
송신 장치(20)로부터 튜너 실장 수신 장치(30)에 대한 콘텐츠 송신은, 예를 들어 어댑티브(적응형) 스트리밍 기술의 규격인 DASH(MPEG-DASH) 규격에 따라서 실행한다.
또한, DASH(Dynamic Adaptive Streaming over HTTP) 규격은, 전술한 바와 같이 HTTP(HyperText Transfer Protocol)를 베이스로 한 스트리밍 프로토콜을 사용한 어댑티브(적응형) 스트리밍 배신에 관한 규격이다.
MPEG-DASH 규격에는, 이하의 2개의 규격이 포함된다.
(a) 동화상이나 음성 파일의 관리 정보인 메타데이터를 기술하기 위한 매니페스트·파일(MPD: Media Presentation Description)에 관한 규격,
(b) 동화상 콘텐츠 전송용 파일 포맷(세그먼트·포맷)에 관한 규격,
송신 장치(20)로부터, 튜너 실장 수신 장치(30)에 대한 콘텐츠 배신은, 상기 MPEG-DASH 규격에 따라서 실행된다.
튜너 실장 수신 장치(30)가 수신한 콘텐츠는, 네트워크(가정 내이면 홈 네트워크(LAN/WiFi 등), 핫스폿이면 WiFi 등)를 통해서, 튜너 비실장 수신 장치(40)로 전송된다.
튜너 실장 수신 장치(30)나, 튜너 비실장 수신 장치(40)는, 송신 장치(20)가 송신한 콘텐츠의 재생을 행할 수 있다.
송신 장치(20)는, 콘텐츠 데이터를 부호화하고, 부호화 데이터 및 부호화 데이터의 메타데이터를 포함하는 데이터 파일을 생성한다. 부호화 처리는, 예를 들어 MPEG에 있어서 규정되는 MP4 파일 포맷에 따라서 행해진다. 또한, 송신 장치(20)가 MP4 형식의 데이터 파일을 생성하는 경우의 부호화 데이터의 파일은 「mdat」, 메타데이터는 「moov」나 「moof」 등으로 불린다.
송신 장치(20)가 튜너 실장 수신 장치(30)에 제공하는 콘텐츠는, 예를 들어 음악 데이터나, 영화, 텔레비전 프로그램, 비디오, 사진, 문서, 회화 및 도표 등의 영상 데이터나, 게임 및 소프트웨어 등, 여러 데이터이다.
송신 장치(20)의 송신 데이터에 대해서 도 2를 참조하여 설명한다.
MPEG-DASH 규격에 따라서 데이터 송신을 실행하는 송신 장치(20)는, 도 2에 도시한 바와 같이, 크게 나누어서 이하의 복수 종류의 데이터 송신을 행한다.
(a) 시그널링 데이터(50)
(b) AV 세그먼트(60)
(c) 그 밖의 데이터(ESG, NRT 콘텐츠 등)(70)
AV 세그먼트(60)는 수신 장치에 있어서 재생하는 화상(Video)이나, 음성(Audio) 데이터, 즉 예를 들어 방송국이 제공하는 프로그램 콘텐츠 등에 의해 구성된다. 예를 들어, 상술한 MP4 부호화 데이터(mdat)나, 메타데이터(moov, moof)에 의해 구성된다. 또한, AV 세그먼트는 DASH 세그먼트라고도 불린다.
한편, 시그널링 데이터(50)는 프로그램표 등의 프로그램 예정 정보나, 프로그램 취득에 필요한 어드레스 정보(URL(Uniform Resource Locator) 등), 또한 콘텐츠의 재생 처리에 필요한 정보, 예를 들어 코덱 정보(부호화 방식 등) 등을 포함하는 안내 정보, 애플리케이션 제어 정보 등의 여러 제어 정보에 의해 구성된다.
튜너 실장 수신 장치(30)는, 이 시그널링 데이터(50)를, 재생 대상이 되는 프로그램 콘텐츠를 저장한 AV 세그먼트(60)의 수신에 선행해서 수신할 것이 필요해진다.
이 시그널링 데이터(50)는, 예를 들어 XML(Extensible Markup Language) 형식의 데이터로서 송신 장치(20)로부터 송신된다.
시그널링 데이터는, 수시로 반복 송신된다. 예를 들어 100msec마다 등, 빈번히 반복 송신된다.
이것은 수신 장치(클라이언트)가, 언제나, 바로 시그널링 데이터를 취득하는 것을 가능하게 하기 위함이다.
클라이언트(수신 장치)는, 수시로 수신 가능한 시그널링 데이터에 기초하여, 필요한 프로그램 콘텐츠의 액세스용 어드레스의 취득이나, 코덱 설정 처리 등, 프로그램 콘텐츠의 수신 및 재생에 필요한 처리를 지체없이 실행하는 것이 가능하게 된다.
그 밖의 데이터(70)는, 예를 들어 ESG(Electronic Service Guide), NRT 콘텐츠 등이 포함된다.
ESG는 전자 서비스 가이드(Electronic Service Guide)이며, 예를 들어 프로그램표 등의 안내 정보이다.
NRT 콘텐츠는 논 리얼타임형의 콘텐츠이다.
NRT 콘텐츠에는, 예를 들어 클라이언트인 수신 장치(30)의 브라우저 상에서 실행되는 여러 애플리케이션 파일, 동화상, 정지 화상 등의 데이터 파일 등이 포함된다.
도 2에 도시하는 이하의 데이터, 즉,
(a) 시그널링 데이터(50)
(b) AV 세그먼트(60)
(c) 그 밖의 데이터(ESG, NRT 콘텐츠 등)(70)
이들 데이터는, 예를 들어 데이터 통신 프로토콜: FLUTE(File Delivery over Uni-directional Transport)에 따라서 송신된다.
[2. 데이터 통신 프로토콜 FLUTE 및 ROUTE에 대해서]
데이터 통신 프로토콜: FLUTE(File Delivery over Uni-directional Transport)는 멀티캐스트에 의해 전송하는 콘텐츠의 세션 관리를 행하는 프로토콜이다.
예를 들어 송신 장치인 서버측에서 생성되는 파일(URL과 버전으로 식별된다)은, FLUTE 프로토콜에 따라서, 수신 장치인 클라이언트로 송신된다.
튜너 실장 수신 장치(클라이언트)(30)는, 예를 들어 기억부(클라이언트 캐시)에, 수신 파일의 URL 및 버전과 파일을 대응지어서 축적한다.
동일한 URL이면서 버전이 다른 것은 파일의 내용이 갱신되어 있는 것으로 간주한다. FLUTE 프로토콜은 일방향 파일 전송 제어만을 행하는 것으로, 클라이언트에 있어서의 파일의 선택적인 필터링 기능은 없지만, FLUTE로 전송 제어하는 파일을 그 파일에 관련지어지는 메타데이터를 이용하여, 클라이언트측에서 취사 선택함으로써, 선택적인 필터링을 실현하여, 유저의 기호를 반영한 로컬 캐시를 구성·갱신 관리하는 것이 가능하게 된다.
또한, 메타데이터는 FLUTE 프로토콜에 확장해서 내장할 수도 있고, 별도ESG(Electronic Service Guide) 등의 프로토콜에서 기술할 수도 있다.
또한, FLUTE는 당초 멀티캐스트에 있어서의 파일 전송 프로토콜로서 사양화되었다. FLUTE는 FDT와, ALC라고 불리는 스케일러블의 파일 오브젝트의 멀티캐스트 프로토콜, 구체적으로는 그 빌딩 블록인 LCT나 FEC 컴포넌트의 조합에 의해 구성된다.
종래의 FLUTE는, 주로 비동기형의 파일 전송에 이용하기 위해서 개발되었지만, 현재 방송파 및 네트워크를 통한 데이터 배신 시스템에 관한 규격화 단체인 ATSC(Advanced Television System Committee)에 있어서, 브로드캐스트 라이브 스트리밍에도 적용하기 쉽게 하기 위한 확장을 행하고 있다. 이 FLUTE의 확장 사양이 ROUTE(Real-Time Object Delivery over Unidirectional Transport)라고 불린다.
방송파 및 네트워크를 통한 데이터 배신 시스템에 관한 규격의 하나로서 현재, 표준화가 진행되고 있는 규격으로서 ATSC(Advanced Television System Committee)3.0이 있다. 이 ATSC3.0은, ROUTE를 종래의 FLUTE 프로토콜로 치환하고, 시그널링 데이터나 ESG, 혹은 비동기 파일, 동기형 스트림 등의 송신에 채용한 스택 구성을 규정하고 있다.
[3. 송신 장치와 수신 장치를 실행하는 통신 처리예에 대해서]
이어서, 송신 장치와 수신 장치를 실행하는 통신 처리예에 대해서 설명한다.
도 3은 송신 장치 및 수신 장치의 프로토콜 스택의 예를 나타내는 도면이다.
도 3에 도시하는 예는, 이하의 2개의 통신 데이터의 처리를 행하기 위한 2개의 프로토콜 스택을 갖는다.
(a) 브로드캐스트(멀티캐스트도 포함한다) 통신(예를 들어 방송형 데이터 배신)
(b) 유니캐스트(브로드밴드) 통신(예를 들어 HTTP형의 P2P 통신)
도 3의 좌측이 (a) 브로드캐스트 통신(예를 들어 방송형 데이터 배신)에 대응하는 프로토콜 스택이다.
도 3의 우측이 (b) 유니캐스트(브로드밴드) 통신(예를 들어 HTTP형의 P2P 통신)에 대응하는 프로토콜 스택이다.
도 3 좌측에 나타내는 (a) 브로드캐스트 통신(예를 들어 방송형 데이터 배신)에 대응하는 프로토콜 스택은, 하위 레이어부터 순서대로, 이하의 레이어를 갖는다.
(1) 브로드캐스트 물리 레이어(Broadcast PHY)
(2) IP 멀티캐스트 레이어(IP Multicast)
(3) UDP 레이어
(4) ROUTE(=확장형 FLUTE) 레이어
(5) ESG, NRTcontent, DASH(ISO BMFF) 및 Video/Audio/CC
(6) 애플리케이션 레이어(Applications(HTML5))
또한, (2) IP 멀티캐스트 레이어(IP Multicast)의 상위 레이어로서 시그널링(Signaling) 레이어가 설정된다.
시그널링 레이어는, 먼저 도 2를 참조하여 설명한 시그널링 데이터(50)의 송수신에 적용되는 레이어이다. 시그널링 데이터에는, 프로그램표 등의 프로그램 예정 정보나, 프로그램 취득에 필요한 어드레스 정보(URL 등), 또한 콘텐츠의 재생 처리에 필요한 정보, 예를 들어 코덱 정보(부호화 방식 등) 등을 포함하는 안내 정보, 제어 정보 등이 포함된다.
시그널링 데이터는, 수신 장치(클라이언트)가 수신, 재생하는 AV 세그먼트의 액세스 정보나, 복호 처리 등의 수신 후의 처리에 필요한 안내 정보나 제어 정보를 포함하는 데이터이며, 송신 장치로부터 수시로 반복 송신되는 데이터이다.
시그널링 데이터에는, 정보에 따른 여러 종류가 있다. 구체적으로는, 예를 들어 서비스 단위의 시그널링 데이터인 USD(유저 서비스 디스크립션(User Service Description))가 있다.
USD에는, 여러 종류의 제어 정보가 포함된다. 대표적인 제어 정보로서, 콘텐츠(AV 세그먼트)에 대응하는 여러 안내 정보, 제어 정보를 저장한 매니페스트·파일을 갖는 시그널링 데이터인 MPD(미디어 프리젠테이션 디스크립션(Media Presentation Description))가 있다.
각종 시그널링 데이터는, 각각 수신 장치(클라이언트)에 있어서, 송신 장치로부터 송신되는 AV 세그먼트나 애플리케이션(애플리케이션 프로그램)의 수신, 재생 처리, 제어 처리에 필요한 데이터이며, 예를 들어 카테고리별로 개별의 파일(메타파일)로서 설정되어, 송신 장치로부터 송신된다.
또한, (1) 브로드캐스트 물리 레이어(Broadcast PHY)의 상위 레이어로서 장래의 새로운 프로토콜의 이용 허용 레이어(Future Extensibility)가 설정되어 있다.
(1) 브로드캐스트 물리 레이어(Broadcast PHY)는, 브로드캐스트 통신을 실행하기 위한 예를 들어 방송계의 통신부를 제어하는 통신 제어부에 의해 구성되는 물리 레이어이다.
(2) IP 멀티캐스트 레이어(IP Multicast)는, IP 멀티캐스트에 따른 데이터 송수신 처리를 실행하는 레이어이다.
(3) UDP 레이어는, UDP 패킷의 생성, 해석 처리 레이어이다.
(4) ROUTE 레이어는, 확장형 FLUTE 프로토콜인 ROUTE 프로토콜에 따라서 전송 데이터의 저장이나 취출을 행하는 레이어이다.
ROUTE는, FLUTE와 마찬가지로, ALC라 불리는 스케일러블의 파일 오브젝트의 멀티캐스트 프로토콜이며, 구체적으로는 그 빌딩 블록인 LCT나 FEC 컴포넌트의 조합에 의해 구성된다.
도 4에 ROUTE 및 FLUTE에 관한 프로토콜 스택을 나타낸다.
(5) ESG, NRTcontent, DASH(ISO BMFF) 및 Video/Audio/CC는, ROUTE 프로토콜에 따라서 전송되는 데이터이다.
DASH 규격에 따른 동보형 배신 서비스는, MBMS(Multimedia Broadcast Multicast Service)라고 불린다. 이 MBMS를 LTE로 효율적으로 실현시키는 방식으로서 eMBMS(evolved Multimedia Broadcast Multicast Service)가 있다.
MBMS나 eMBMS는, 동보형 배신 서비스이며, 특정한 에어리어 내에 위치하는 수신 장치인 복수의 유저 단말기(UE)에 대하여 공통의 베어러로 일제히 동일 데이터, 예를 들어 영화 콘텐츠 등을 배신하는 서비스이다. MBMS나 eMBMS에 따른 동보 배신에 의해, 배신 서비스 제공 에어리어에 위치하는 다수의 스마트폰이나 PC, 혹은 텔레비전 등의 수신 장치에, 동일한 콘텐츠를 동시에 제공할 수 있다.
MBMS 및 eMBMS는, 3GPP 파일 포맷(ISO-BMFF 파일, MP4 파일)에 따른 파일을, 전송 프로토콜 ROUTE 또는 FLUTE에 따라서 다운로드하는 처리에 대해서 규정하고 있다.
먼저 도 2를 참조하여 설명한 이하의 데이터, 즉,
(a) 시그널링 데이터(50)
(b) AV 세그먼트(60)
(c) 그 밖의 데이터(ESG, NRT 콘텐츠 등)(70)
이들 데이터의 대부분은 ROUTE 프로토콜 또는 FLUTE 프로토콜에 따라서 송신된다.
(5) ESG, NRTcontent, DASH(ISO BMFF) 및 Video/Audio/CC는, ROUTE 프로토콜에 따라서 전송되는 데이터이다.
ESG는 전자 서비스 가이드(Electronic Service Guide)이며, 예를 들어 프로그램표 등의 안내 정보이다.
NRTcontent는 논 리얼타임형 콘텐츠이다.
전술한 바와 같이, NRT 콘텐츠에는, 예를 들어 클라이언트인 수신 장치의 브라우저 상에서 실행되는 여러 애플리케이션 파일, 동화상, 정지 화상 등의 데이터 파일 등이 포함된다.
Video/Audio/CC는 DASH 규격에 따라서 배신되는 비디오나 오디오 등, 재생 대상이 되는 실제 데이터이다.
(6) 애플리케이션 레이어(Applications(HTML5))는, ROUTE 프로토콜에 따라서 전송하는 데이터의 생성, 혹은 해석, 그 외, 여러 데이터의 출력 제어 등을 실행하는 애플리케이션 레이어이며, 예를 들어 HTML5를 적용한 데이터 생성, 해석, 출력 처리 등을 행한다.
한편, 도 3의 우측에 나타내는, (b) 유니캐스트(브로드밴드) 통신(예를 들어 HTTP형의 P2P 통신)에 대응하는 프로토콜 스택은, 하위 레이어부터 순서대로, 이하의 레이어를 갖는다.
(1) 브로드밴드 물리 레이어(Broadband PHY)
(2) IP 유니캐스트 레이어(IP Unicast)
(3) TCP 레이어
(4) HTTP 레이어
(5) ESG, Signaling, NRTcontent, DASH(ISO BMFF) 및 Video/Audio/CC
(6) 애플리케이션 레이어(Applications(HTML5))
(1) 브로드밴드 물리 레이어(Broadband PHY)는, 브로드밴드 통신을 실행하는 예를 들어 네트워크 카드 등의 통신부를 제어하는 디바이스 드라이버 등의 통신 제어부에 의해 구성되는 물리 레이어이다.
(2) IP 유니캐스트 레이어(IP Unicast)는, IP 유니캐스트 송수신 처리를 실행하는 레이어이다.
(3) HTTP 레이어는, HTTP 패킷의 생성, 해석 처리 레이어이다.
이 상위 레이어는, 도 3 좌측의 (a) 브로드캐스트 통신(예를 들어 방송형 데이터 배신)의 스택 구성과 마찬가지이다.
또한, 송신 장치(서버)(20), 튜너 실장 수신 장치(클라이언트)(30)는, 도 3의 2개의 처리계, 즉,
(a) 브로드캐스트 통신(예를 들어 방송형 데이터 배신)
(b) 유니캐스트(브로드밴드) 통신(예를 들어 HTTP형의 P2P 통신)
이들 2개의 통신 프로토콜 스택 중 적어도 어느 하나에 따른 처리를 행한다.
또한, 튜너 비실장 수신 장치(클라이언트)(40)는, 튜너 실장 수신 장치(클라이언트)(30)와의 통신 처리로서, 도 3의 우측의 처리계수, 즉 (b) 유니캐스트(브로드밴드) 통신(예를 들어 HTTP형의 P2P 통신)
이 통신 프로토콜 스택에 따른 통신 처리를 실행한다.
도 3에 도시하는 프로토콜 스택에 있어서, ROUTE(FLUTE)에 따라서 멀티캐스트 전송되는 파일군의 속성(파일의 식별자인 URL을 포함한다)은, ROUTE(FLUTE)의 제어 파일 내에 기술할 수도 있는가 하면, 파일 전송 세션을 기술하는 시그널링(Signaling) 데이터 중에 기술할 수도 있다. 또한, 파일 전송 세션의 한층 더한 상세 속성을 (엔드 유저에 대한 제시 용도에도 적용 가능한) ESG에 의해 기술할 수도 있다.
전술한 바와 같이, 방송파 및 네트워크를 통한 데이터 배신 시스템에 관한 규격의 하나로서 ATSC(Advanced Television System Committee)3.0의 규격화가 진행되고 있다.
ATSC3.0에 있어서의 IP 베이스의 트랜스포트 스택의 표준화에 있어서, MPEG-DASH의 파일 포맷(ISO-BMFF 파일, MP4 파일)에 기초한 파일을 FLUTE(File Delivery over Unidirectional Transport)를 확장한 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 프로토콜에 의해 전송하는 방법이 제안되어, 표준 후보 방식으로서 설정되었다.
ROUTE 프로토콜을 적용함으로써, DASH 규격의 프래그먼트화된 MP4(fragmented MP4) 파일 시퀀스와, DASH 규격의 제어 정보(시그널링 데이터) 저장 메타파일인 MPD(Media Presentation Description), 및 방송 배신을 위한 시그널링 데이터인 USBD/USD, S-TSID(Service based Transport Session Description) 등을 전송할 수 있다.
전술한 바와 같이, ROUTE 프로토콜은 FLUTE를 베이스로 하는 프로토콜이다. FLUTE에 있어서의 전송 제어 파라미터를 기술한 메타데이터 파일을 FDT(File Delivery Table)라 부르고, ROUTE에 있어서의 전송 제어 파라미터를 기술한 메타데이터 파일을 S-TSID(Service based Transport Session Description)라 부른다. S-TSID는 FDT의 superset이며 FDT를 포함한다.
ATSC3.0 서비스 레이어의 시그널링 데이터(SLS: Service Layer Signaling)로서 제안되어 있는 USBD/USD, S-TSID, MPD 등은 모두 ROUTE 세션에 의해 전송된다.
[4. 수신 장치의 구성예와 처리예에 대해서]
이어서, 도 5 이하를 참조하여 튜너 실장 수신 장치(클라이언트 A)(30)와, 튜너 비실장 수신 장치(클라이언트 B)(40)의 구성예와 처리예에 대해서 설명한다.
방송 서버(21)는 방송파나, 네트워크를 통한 브로드캐스트 송신에 의해, 방송 콘텐츠 등을 포함하는 AV 세그먼트, 시그널링 데이터, 그 밖의 데이터를 송신한다.
도면에는 도시되어 있지 않지만, 방송 서버(21) 이외의 송신 장치인 데이터 배신 서버(22)도 네트워크를 통한 브로드캐스트 송신에 의해, 방송 콘텐츠 등을 포함하는 AV 세그먼트, 시그널링 데이터, 그 밖의 데이터를 송신한다.
도 5에 도시한 바와 같이, 튜너 실장 수신 장치(30)는 미들웨어(110), HTTP 프록시 서버(120), 재생 제어부(DASH 클라이언트)(131), 출력 제어부(132), 애플리케이션 제어부(140)를 갖는다.
미들웨어(110)는 방송 서버(21)의 제공 데이터를 수신하고, 해석한다.
미들웨어(110)는 통신부(PHY/MAC)(111), 시그널링 데이터를 취득하는 시그널링 취득부(112), 시그널링 데이터를 해석하는 시그널링 해석부(113), 시그널링 데이터 및 영상, 음성 등의 프로그램 콘텐츠 데이터나, 애플리케이션 등의 NRT 콘텐츠 등의 데이터 파일을 취득하는 세그먼트 취득부(114)를 갖는다.
또한, 방송 프로그램이나 송신 데이터의 변경이나 상세 등의 통지 정보, 수신 장치에 있어서 실행하는 애플리케이션에 관한 정보, 수신 장치에 있어서 필요한 처리의 정보 등을 포함하는 이벤트 정보를 시그널링 데이터, 혹은 AV 데이터를 저장한 세그먼트 내에 삽입하는 처리를 실행하는 이벤트 삽입부(115)를 갖는다.
이벤트 정보란, 예를 들어 프로그램표의 변경이나, 방송 콘텐츠의 데이터 형태의 변경, 수신 장치에 있어서의 방송 콘텐츠의 재생 시에 실행해야 할 처리 등, 수신 장치에 대하여 통지해야 할 정보, 어떠한 처리의 실행을 요구하기 위한 정보 등이다.
미들웨어(110)는, 또한 수신 장치에 있어서 실행하기 위한 여러 애플리케이션(애플리케이션 프로그램)을 저장한 애플리케이션 파일을 취득하는 애플리케이션 파일 취득부(116)를 갖는다.
애플리케이션은, 예를 들어 방송 프로그램에 중첩 표시하는 날씨 정보나 뉴스 정보, 혹은 야구 중계의 경우의 선수 정보 등, 여러 정보 표시를 행하기 위한 애플리케이션이다.
애플리케이션의 구체예로서는, 예를 들어 이하와 같은 것이 있다.
방송 콘텐츠가 관광지의 안내 영상으로 이루어지는 콘텐츠인 경우에, 그 방송 콘텐츠에 중첩 표시하기 위한 지도 정보, 호텔 정보 등을 표시하기 위한 애플리케이션.
방송 콘텐츠가 야구 중계인 경우, 각 선수의 타율, 홈런수 등의 성적 정보를 표시하는 애플리케이션.
시청자에 대한 퀴즈나 앙케이트를 표시하여, 쌍방향 통신을 이용해서 시청자로부터의 회답을 회수하기 위한 애플리케이션.
이 밖에도, 유저에 따라서 제공되는 광고 표시 등 여러 애플리케이션이 있다.
미들웨어(110)가 수신한 데이터는, 프록시 서버(120)의 캐시부(프록시 캐시)(121)에 저장된다. 프록시 서버(120)는, 또한 네트워크 경유로 데이터 배신 서버(22)로부터 취득한 데이터를 캐시부(프록시 캐시)(122)에 저장한다.
프록시 서버(120)는 출력 제어부(130)로부터의 데이터 요구를 어드레스 해결부(123)에 입력하고, 요구된 데이터를 캐시부(프록시 캐시)(121, 122) 또는 외부로부터 취득해서 제공한다.
재생 제어부(DASH Client)(131)는, DASH(MPEG-DASH) 규격에 따라서 송신된 콘텐츠의 재생 제어를 실행한다.
전술한 바와 같이, MPEG-DASH 규격에는, 이하의 2개의 규격이 포함된다.
(a) 동화상이나 음성 파일의 관리 정보인 메타데이터를 기술하기 위한 매니페스트·파일(MPD: Media Presentation Description)에 관한 규격,
(b) 동화상 콘텐츠 전송용 파일 포맷(세그먼트·포맷)에 관한 규격,
송신 장치(20)로부터, 튜너 실장 수신 장치(30)에 대한 콘텐츠 배신은, 상기 MPEG-DASH 규격에 따라서 실행된다.
콘텐츠는, 예를 들어 MPEG에 있어서 규정되는 MP4 파일 포맷에 따라서 소정 단위의 분할 데이터인 세그먼트로서 송신되고, 재생 제어부(DASH Client)(131)는, 매니페스트·파일(MPD)을 참조하여, 재생 대상 콘텐츠를 저장한 세그먼트를 취득하는 처리 등을 실행한다.
출력 제어부(132)는 재생 제어부가 취득한 세그먼트로부터 부호화 콘텐츠를 취출해서 복호하고, 표시부 등의 출력부에 출력한다.
애플리케이션 제어부(140)는, 전술한 일기 예보, 뉴스, 야구 중계 시의 선수 정보, 여행 프로그램에 있어서의 지도 정보, 호텔 정보, 퀴즈, 앙케이트 처리 등을 실행하는 여러 애플리케이션의 취득이나, 애플리케이션의 개시, 종료 등의 애플리케이션 제어를 실행한다.
또한, 도 5에 도시하는 튜너 비실장 수신 장치(클라이언트 B)(40)는, 예를 들어 이더넷(등록상표)이나 Wi-Fi 등의 네트워크에 의해, 튜너 실장 수신 장치(클라이언트 A)(30)와 접속되고, 튜너 실장 수신 장치(클라이언트 A)(30)와의 통신을 실행한다.
튜너 비실장 수신 장치(클라이언트 B)(40)는 튜너 실장 수신 장치(클라이언트 A)(30)가, 방송 서버(21)나, 데이터 배신 서버(22)로부터 수신한 콘텐츠 등의 데이터를, 튜너 실장 수신 장치(클라이언트 A)(30)를 통해서 수신하고, 콘텐츠 재생을 실행한다.
도 5에 도시하는 튜너 비실장 수신 장치(클라이언트 B)(40)는,
재생 제어부(DASH Client)(151),
출력 제어부(152),
애플리케이션 제어부(160),
이들 구성을 갖는다.
이들 구성, 기능은, 튜너 실장 수신 장치(클라이언트 A)(30)에 있어서 설명한 재생 제어부(DASH Client)(131), 출력 제어부(132), 애플리케이션 제어부(140)와 마찬가지이다.
도 6은, 튜너 실장 수신 장치(클라이언트 A)(30)가 갖는,
재생 제어부(DASH Client)(131),
출력 제어부(132)와,
튜너 비실장 수신 장치(클라이언트 B)(40)가 갖는,
재생 제어부(DASH Client)(151),
출력 제어부(152),
이들의 상세 구성을 도시하는 도면이다.
튜너 실장 수신 장치(클라이언트 A)(30)의 재생 제어부(DASH Client)(131)는, MPD 취득부(201), MPD 해석부(202), 세그먼트 취득부(203), 세그먼트(MP4) 해석부(204), 또한 이벤트 추출부(205)를 갖는다.
재생 제어부(DASH Client)(131)는, 전술한 바와 같이, DASH(MPEG-DASH) 규격에 따라서 송신된 콘텐츠의 재생 제어를 실행한다.
MPD 취득부(201)는 동화상이나 음성 파일의 관리 정보 기술 파일인 매니페스트·파일(MPD: Media Presentation Description)을 취득한다.
MPD는 방송 서버(21), 데이터 배신 서버(22)로부터 제공되고, 프록시 서버(120)에 저장된 후, 재생 제어부(131)가 취득한다.
MPD 해석부(202)는 MPD 취득부(201)가 취득한 MPD의 기술 내용을 해석하고, 재생 대상 데이터에 대응하는 세그먼트의 취득에 필요한 정보 등을 세그먼트 취득부에 제공한다.
또한, MPD 해석부(202)는 MPD에, 애플리케이션 제어 메시지(ACM: Application Control Message)가 포함되어 있는 경우, MPD를 이벤트 추출부(205)에 출력한다.
이벤트 추출부(205)는 MPD에 기록된 애플리케이션 제어 메시지(ACM)를 애플리케이션 제어부(140)에 출력한다.
상술한 바와 같이, 애플리케이션에는, 여행 프로그램에 있어서의 호텔 안내 정보의 표시 애플리케이션이나, 퀴즈나 앙케이트용 애플리케이션 등, 다양하지만, 이들 애플리케이션은, 특정한 방송 콘텐츠에 있어서, 정해진 타이밍에 실행하지 않으면 의미가 없다. 따라서, 애플리케이션 제어부(140)는, 미리 규정된 타이밍에 따라서 애플리케이션의 취득, 애플리케이션의 실행, 종료 등의 제어를 행할 필요가 있다.
이들 정보는, 애플리케이션 제어 메시지(ACM: Application Control Message)에 기록되어 있고, 애플리케이션 제어부(140)는, 이 애플리케이션 제어 메시지(ACM)를 재생 제어부(131)의 이벤트 추출부(205)를 통해서 수령한다.
애플리케이션 제어 메시지(ACM)는, 시그널링 데이터로서의 MPD나, 세그먼트 내에 기록되어 있고, 재생 제어부(131)는 MPD나 세그먼트에 애플리케이션 제어 메시지(ACM)가 포함되어 있는 경우, 이것을 애플리케이션 제어부(140)에 출력하는 처리를 실행한다.
이 처리에 대해서는, 후단에서 상세하게 설명한다.
세그먼트 취득부(203)는, MPD 해석부(202)의 MPD 해석 결과에 따라서, 재생 대상 데이터에 대응하는 세그먼트의 취득을 행한다.
세그먼트는 AV 데이터로 이루어지는 콘텐츠 전송용 파일 포맷(세그먼트·포맷)에 따라서 설정되는 소정의 단위 데이터이다.
세그먼트 해석부(204)는, 세그먼트 취득부(203)가 취득한 세그먼트로부터, 부호화 화상 데이터, 부호화 음성 데이터 등을 취득하여, 출력 제어부(132)의 복호부(디코더)(211)에 출력한다.
또한, 세그먼트 해석부(204)는, 세그먼트에, 애플리케이션 제어 메시지(ACM: Application Control Message)가 포함되어 있는 경우, 세그먼트를 이벤트 추출부(205)에 출력한다.
이벤트 추출부(205)는, 세그먼트에 기록된 애플리케이션 제어 메시지(ACM)를 애플리케이션 제어부(140)에 출력한다.
이 처리의 상세에 대해서는, 후단에서 설명한다.
이벤트 추출부(205)는, MPD 또는 세그먼트에 저장된 이벤트 정보의 추출을 실행하고, 추출한 이벤트 정보에 포함되는 애플리케이션 제어 메시지를 애플리케이션 제어부(140)에 출력한다.
애플리케이션 제어 메시지는, 애플리케이션 제어부(140)가 제어 대상으로 하는 애플리케이션에 관한 제어 정보이다.
이 애플리케이션 제어 메시지는, MPD 또는 세그먼트에 이벤트 정보로서 저장된다.
또한, 이 구체적 구성에 대해서는 후술한다.
튜너 실장 수신 장치(클라이언트 A)(30)의 출력 제어부(132)는, 복호부(디코더)(211)와, 출력부(렌더러)(212)를 갖는다.
복호부(디코더)(211)는 세그먼트 해석부(204)로부터 제공된 부호화 화상 데이터, 부호화 음성 데이터의 복호 처리(디코드)를 실행한다.
출력부(212)는 복호된 화상 데이터, 음성 데이터를 출력부(디스플레이, 스피커)에 출력한다.
또한, 튜너 비실장 수신 장치(클라이언트 B)(40)의 재생 제어부(DASH Client)(151)는, MPD 취득부(251), MPD 해석부(252), 세그먼트 취득부(253), 세그먼트(MP4) 해석부(254), 또한 이벤트 추출부(255)를 갖는다.
또한, 출력 제어부(152)는, 복호부(디코더)(261)와, 출력부(렌더러)(262)를 갖는다.
이들의 구성 및 실행하는 처리는, 튜너 실장 수신 장치(클라이언트 A)(30)의 구성, 처리와 마찬가지이다.
또한, 튜너 비실장 수신 장치(클라이언트 B)(40)의 재생 제어부(DASH Client)(151)에는, 튜너 실장 수신 장치(클라이언트 A)(30)의 프록시 서버(120), 네트워크를 통해서 MPD, 세그먼트가 입력된다.
또한, 튜너 비실장 수신 장치(클라이언트 B)(40)의 애플리케이션 제어부(160)에는, 튜너 실장 수신 장치(클라이언트 A)(30)의 프록시 서버(120), 네트워크를 통해서 애플리케이션 파일이 입력된다.
튜너 실장 수신 장치(클라이언트 A)(30) 및 튜너 비실장 수신 장치(클라이언트 B)(40)의 재생 제어부(DASH Client)(131, 151)는, ATSC3.0 클라이언트 애플리케이션(3.0 DASH Client)의 실행부이다.
ATSC3.0 클라이언트 애플리케이션은, ATSC3.0 방송 수신 클라이언트 디바이스 상에 실장된 브라우저 상에서 실행된다. 혹은, 브라우저 애플리케이션으로서뿐만 아니라 네이티브 애플리케이션으로서 실행되는 경우도 있다.
재생 제어부(DASH Client)(131, 151)가 실행하는 ATSC3.0 클라이언트 애플리케이션은, ATSC3.0 DASH 클라이언트 애플리케이션(3.0 DASH Client)이나, ATSC3.0 스트림 부수 애플리케이션(3.0 Application) 등으로 이루어진다.
재생 제어부(DASH Client)(131, 151)의 ATSC3.0 클라이언트 애플리케이션 및 출력 제어부(132, 152)는, 미들웨어(Client Local ATSC Middleware)(110)가 수신한 데이터, 프록시 서버(Client Local HTTP Proxy Server)(120)가 네트워크를 통해서 수신한 데이터의 처리를 실행한다.
미들웨어(110) 또는 프록시 서버(120)가 취득한, DASH-MPD 파일이나 DASH 세그먼트(segment) 파일, 그 외 일반 애플리케이션 파일, 및 시그널링 데이터를 저장한 SLS(Service level Signaling) 파일을 입력하여, 스트림의 렌더링이나, 애플리케이션의 제어를 행한다.
이 모델은, 재생 제어부(DASH Client)(131, 151)가 실행하는 ATSC3.0 클라이언트 애플리케이션이나, 애플리케이션 제어부(160)가 실행하는 애플리케이션이라는 점에서 보면, 반드시 프록시 서버(120)를 통해서 외부 세계에 액세스하기 때문에, 그들 파일군을 방송 경유로 취득하고 있는지, 네트워크 경유로 취득하고 있는지의 구별을 의식하는 일이 없으므로(네트워크 투과성이 제공되므로), 애플리케이션의 가반성을 높이는 것이 가능하게 된다.
따라서 방송용만으로 특화해서 애플리케이션을 실장할 필요가 없어, 방송도 인터넷의 어느 쪽을 사용느냐에 구애되지 않는 실장으로 할 수 있다.
재생 제어부(DASH Client)(131, 151)가 실행하는 ATSC3.0 클라이언트 애플리케이션이 DASH-MPD 파일이나 DASH 세그먼트(segment) 파일, 그 외 일반 애플리케이션 파일, 및 시그널링 데이터 파일의 취득을 요구(HTTP 리퀘스트)하면, 그것을 받은 프록시 서버(120)가, 어드레스 해결부(Broadcast/Broadband Address Resolver)(123)에 있어서 방송 수신 스택을 통해서 취득할지, 네트워크 경유로 취득할지의 판단을 행한다.
판단 재료가 되는 정보는, 시그널링 해석부(SLS Signaling Parser)(113)로부터 제공된다. 시그널링 해석부(SLS Signaling Parser)(113)는, 시그널링 취득부(SLS Signaling Retriever)(112)에, ATSC3.0의 시그널링 메타인 USBD/USD나 S-TSID 등의 취득 요구를 행한다.
시그널링 취득부(SLS Signaling Retriever)(112)는, 통신부(ATSC 튜너: ATSC3.0 PHY/MAC)(111)를 통해서 방송 수신하는 SLS LCT 패킷에 의해 운반되는 시그널링 메타를 추출한다.
시그널링 해석부(SLS Signaling Parser)(113)는, 또한 애플리케이션 파트의 취득 요구에 포함되는 url로부터, 시그널링 메타를 추출하여, 대상이 되는 파일을 취득하기 위한 방송 배신 어드레스 정보를 해결한다. 방송 배신되는(배신된) 것을 알게 되면, 그 방송 배신 어드레스 정보를 바탕으로 해서, 원하는 파일이 저장된 LCT 패킷을 방송 스트림으로부터 취득하여, 캐시(Proxy Cache)부(121, 122) 내에 전개한다. 프록시 서버(120)는, 당해 파일을 재생 제어부(131)나 애플리케이션 제어부(140)로 (HTTP의 리스펀스로서) 돌려준다. 애플리케이션 파트의 취득 요구에 포함되는 url이 시그널링 메타에 없으면, 프록시 서버(120)는, 통상의 네트 스택을 통해서 당해 파일을 취득한다.
[5. 애플리케이션 제어 메시지의 전송 처리에 대해서]
전술한 바와 같이, 현재 개발 도상에 있는 ATSC3.0에 있어서는, ATSC3.0 준거 물리층(ATSC-PHY)을 실장한 튜너 실장 수신 장치(30) 상에, 미들웨어(ATSC3.0 방송 수신 미들웨어)(110)를 실장하여, 시그널링 데이터(ATSC 방송 시그널링)를 해석하는 모델을 검토하고 있다.
즉, 미들웨어(110)를 시그널링 데이터의 수신 타이밍에 있어서의 즉시 해석 처리가 가능한 종단부 디바이스로 하여, 재생 제어부(DADH 클라이언트)에 시그널링 데이터에 대한 즉시 해석 부하를 발생시키지 않는 설정으로 한 모델을 검토하고 있다. 이 설정에 의해, 인터넷에서 이용되고 있는 DASH 클라이언트 애플리케이션을 그대로 이용하여, ATSC 방송의 수신, 재생을 실현하는 것이 가능하게 된다.
이 모델은, 튜너 실장 수신 장치(30)에 의해 수신한 방송 콘텐츠나, 네트워크 수신 콘텐츠를, 튜너 비실장 수신 장치(40)로 전송하고, 튜너 비실장 수신 장치(40)의 재생 제어부(151)가 실행하는 ATSC3.0 DASH 클라이언트 애플리케이션의 처리에 의해 콘텐츠 재생을 행하는 것도 가능하게 한다.
튜너 실장 수신 장치(30)는, 예를 들어 공용 스페이스(핫스폿)에 설치한 중계 서버나, 가정에 설치한 홈 서버, PC 등이며, 방송파를 수신 가능한 튜너를 실장한 수신 장치이다.
튜너 실장 수신 장치(30)의 수신 데이터는, 네트워크(가정 내이면 홈 네트워크(LAN/WiFi 등), 핫스폿이면 WiFi 등)를 통해서, 튜너 비실장 수신 장치(40)로 전송된다.
튜너 비실장 수신 장치(40)는, 재생 제어부(151)에 있어서 ATSC3.0 DASH 클라이언트 애플리케이션을 실행하여, 콘텐츠 재생을 행한다.
본 개시의 구성에서는, ATSC3.0 방송 서비스에 의해 제공되는 시그널링 데이터의 해석 등의 처리를, 튜너 실장 수신 장치(클라이언트 A)(30)의 미들웨어(110)가 실행한다.
튜너 실장 수신 장치(클라이언트 A)(30)는 시그널링 정보에 애플리케이션 제어 메시지(ACM)가 포함되어 있는 경우에는, 그것을 수신한 타이밍에 가능한 한 빨리, 애플리케이션 제어 메시지(ACM)를 이용하는 수신 장치에 제공한다.
통지가 필요한 애플리케이션 제어 메시지(ACM)는, 구체적으로는, 방송 AV 스트림과 동기해서 제어되는 AV 스트림 부수 애플리케이션에 대한 애플리케이션 제어 메시지(ATSC-Trigger나 HbbTV-AIT 외) 등이다.
특히, 스트림에 가능한 한 동기한 메시지 통지가 필요한 경우에는, 각 수신 장치(30, 40)의 애플리케이션 제어부(140, 160)에 신속히 애플리케이션 제어 메시지(ACM)를 출력할 것이 요구된다.
통상, 재생 제어부(DASH Client)(131, 151)는, 화상이나 음성 등의 AV 데이터로 이루어지는 콘텐츠를 포함하는 세그먼트(DASH 세그먼트)의 HTTP에 의한 취득을 연속해서 실행하는 실장이 된다. 일단 스트리밍 재생이 개시되면 항상 재생 제어부(DASH Client)(131, 151)가 HTTP 취득/재생 처리를 계속해서 행한다.
세그먼트(AV 세그먼트 등의 DASH 세그먼트)를 제공하는 서버는 DASH 서버라고 불린다.
DASH 서버는, 구체적으로는,
방송 서버(21), 데이터 배신 서버(22),
또한, 튜너 실장 수신 장치(클라이언트 A)(30)의 프록시 서버(120)도 DASH 서버가 된다.
튜너 실장 수신 장치(30)나, 튜너 비실장 수신 장치(40)의 재생 제어부(131, 151)는, DASH 서버와 상시 접속되는 Pull형의 커뮤니케이션 세션을 이용해서 세그먼트 취득을 계속적으로 행하여, 방송 프로그램 등의 콘텐츠 재생을 실행한다.
이 세그먼트 취득 세션 중에서, 애플리케이션 제어부(140)에 있어서 제어해야 할 애플리케이션(예를 들어, 날씨 정보나 뉴스 정보의 표시, 퀴즈, 앙케이트 처리 등을 실행하는 애플리케이션 등)에 관한 애플리케이션 제어 메시지가 도착한 경우, 이 이벤트 통지나, 애플리케이션 제어 메시지 자체를, 바로 애플리케이션 제어부(140)에 통지하는 것이 필요해진다.
본 개시의 구성은, DASH에서 규정되어 있는 이벤트(Event) 통지 기구를 확장해서 이 애플리케이션 제어 메시지를 추출해서 애플리케이션 제어부에 출력하는 구성을 제안하는 것이다.
본 개시의 처리에서는, 미들웨어(ATSC3.0 방송 수신 미들웨어)(110)가 취득한 애플리케이션 제어 메시지를, 예를 들어 스트림 세션 중에 삽입할 수 있다.
따라서, 예를 들어 통신부(111)나 미들웨어(110)를 실장하지 않는 튜너 비실장 수신 장치(클라이언트 B)(40)에 대해서도, 스트림에 동기해서 애플리케이션 제어 메시지를 전송할 수 있다.
통신부(111)나 미들웨어(110)를 실장하는 튜너 실장 수신 장치(클라이언트 A)(30)와, 네트워크(가정 내이면 홈 네트워크(LAN/WiFi 등), 핫스폿이면 WiFi 등)를 통해서 접속되는 튜너 비실장 수신 장치(클라이언트 B)(40)는, AV 세그먼트 전송 세션의 다른 새로운 애플리케이션 메시지 세션을 개설하지 않고, 스트림에 동기해서 애플리케이션 제어 메시지를 수신하여, 시의적절한 애플리케이션 제어를 실행할 수 있다.
[6. 이벤트 통지 구성에 대해서]
이어서, DASH 규격에 있어서 규정되어 있는 이벤트 통지 구성에 대해서 설명한다.
DASH 규격에서는, DASH 이벤트(DASH Event)라고 불리는 이벤트 통지 기구가 정의되어 있다.
이벤트 통지 기구는, 예를 들어 방송 프로그램이나 송신 데이터의 변경이나 상세 등의 통지 정보, 수신 장치에 있어서 실행하는 애플리케이션에 관한 정보, 수신 장치에 통지해야 할 정보, 수신 장치에 있어서 필요한 처리의 정보 등, 여러 이벤트 정보의 통지를 행하기 위한 기구이다.
DASH 규격에 있어서는 이벤트 통지 기구로서, 이하의 두 종류의 이벤트 통지 방식이 규정되어 있다.
(a) MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이들 두 종류의 이벤트 통지 방식이 규정되어 있다.
이하, 이들 2개의 이벤트 통지 방식의 상세에 대해서, 순차, 설명한다.
[6-1. MPD 적용 이벤트 통지 방식(=MPD Event)에 대해서]
MPD 적용 이벤트 통지 방식(=MPD Event)은, DASH 규격으로 규정된 시그널링 데이터의 하나인 MPD(Media Presentation Description)를 이용해서 이벤트를 통지하는 방식이다.
MPD 적용 이벤트 통지 방식(=MPD Event)은, MPD에 규정 가능한 피리어드(Period) 단위로, 이벤트 요소, 구체적으로는 이벤트 종류나, 이벤트 내용을 나타내는 이벤트 스트림(EventStream) 등의 요소를 추가할 수 있다.
MPD 적용 이벤트 통지 방식(=MPD Event)에서는, MPD를 이용하여, 피리어드(Period) 단위로 이벤트 처리에 필요한 정보를 클라이언트에게 제공할 수 있다.
구체적으로는, MPD 적용 이벤트 통지 방식(=MPD Event)에서는,
(a) 여러 이벤트의 액티베이트(개시/실행/활성화) 타이밍 등의 이벤트 스케줄,
(b) 각 타이밍에 있어서 클라이언트(수신 장치)가 처리해야 할 이벤트 처리, 또한
(c) 이벤트 실행 시에 클라이언트 상에서 가동하는 애플리케이션에 건네주어야 할 데이터 등,
이들을 MPD에 기술할 수 있다.
도 7은 MPD의 포맷을 도시하는 도면이다.
MPD는 화상이나, 음성 각각의 스트림마다, 이하의 규정 범위 단위로 속성 등의 정보나 제어 정보를 기술하는 것이 가능한 구성을 갖는다.
(1) 시간축 상의 구간을 규정한 피리어드(Period)
(2) 화상, 음성 등의 데이터 종류 등을 규정한 어댑테이션(Adaptation)
(3) 화상의 종류, 음성의 종류 등을 규정한 리프리젠테이션(Representation)
(4) 화상, 음성의 세그먼트(AV 세그먼트) 단위의 정보 기록 영역이 되는 세그먼트 인포(SegmentInfo)
도 8은 MPD에 기록되는 AV 세그먼트 대응의 정보(제어 정보나 관리 정보, 속성 정보 등)를 시계열로 전개해서 도시한 도면이다.
왼쪽에서 오른쪽으로 시간이 경과한다고 하자. 이 시간축은, 예를 들어 수신 장치에 있어서의 AV 콘텐츠의 재생 시간에 대응한다.
AV 세그먼트에 대응하는 여러 정보가 MPD에 기록된다. 또한, MPD는 시그널링 데이터의 일부이며, 예를 들어 AV 세그먼트에 선행해서 송신된다.
MPD는, 도 7을 참조하여 설명한 바와 같이, 이하의 각 데이터 단위로 정보를 기록할 수 있다.
(1) 시간축 상의 구간을 규정한 피리어드(Period)
(2) 화상, 음성 등의 데이터 종류 등을 규정한 어댑테이션(Adaptation)
(3) 화상의 종류, 음성의 종류 등을 규정한 리프리젠테이션(Representation)
(4) 화상, 음성의 세그먼트(AV 세그먼트) 단위의 정보 기록 영역이 되는 세그먼트 인포(SegmentInfo)
도 8은 이들의 데이터 영역을 시간축 및 데이터 종류별로 전개해서 도시한 도면이다.
도 8에는, 이하의 2개의 어댑테이션(Adaptation)을 나타내고 있다.
(V) 화상 대응 정보 기록 영역인 어댑테이션 V(Adaptation(V))
(A) 음성 대응 정보 기록 영역인 어댑테이션 A(Adaptation(A))
(V) 화상 대응 정보 기록 영역인 어댑테이션 V(Adaptation(V))는, 다른 속성을 갖는 스트림 단위의 정보 기록 영역으로서, 이하의 2개의 리프리젠테이션(Representation)을 갖는다.
(V1) 저비트레이트 화상 대응의 정보 기록 영역인 리프리젠테이션(V1)(Representation(V1))
(V2) 고비트레이트 화상 대응의 정보 기록 영역인 리프리젠테이션(V2)(Representation(V2))
마찬가지로, (A) 음성상 대응 정보 기록 영역인 어댑테이션 A(Adaptation(A))는, 다른 속성을 갖는 스트림 단위의 정보 기록 영역으로서의 이하의 2개의 리프리젠테이션(Representation)을 갖는다.
(A1) 일본어 음성 대응의 정보 기록 영역인 리프리젠테이션(A1)(Representation(A1))
(A2) 영어 음성 대응의 정보 기록 영역인 리프리젠테이션(A2)(Representation(A2))
또한, 각 리프리젠테이션(Representation)은, 재생 시간축 대응의 피리어드, 또한 세그먼트 단위로 정보가 기록 가능한 구성으로 되어 있다.
예를 들어, 고비트레이트 화상과 일본어 음성을 선택해서 재생하는 수신 장치(클라이언트)는, 피리어드 1의 세그먼트(11)의 재생 시에 있어서, 재생 대상으로 하는 고비트레이트 화상과 일본어 음성에 관한 정보를 MPD에서 선택해서 취득하게 된다.
이 선택 대상으로 하는 MPD의 기록 정보가, 도면에 나타내는 세그먼트 영역(301, 302)의 정보가 된다.
이와 같이, 수신 장치는, 시그널링 데이터로서 송신 장치로부터 송신되는 MPD로부터, 자장치에서 재생 대상으로 하는 데이터(세그먼트)에 대응하는 정보만을 선택해서 참조한다.
이와 같이, MPD에는, 데이터 종별, 시간 단위의 세그먼트 대응 정보를 기록할 수 있다.
예를 들어, 수신 장치(클라이언트)에 있어서의 여러 처리 요구를 통지하기 위한 이벤트 통지도, 이 MPD에 기록할 수 있다.
도 9는 MPD를 사용한 이벤트 통지, 즉 MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 경우의 MPD의 기술예를 도시하는 도면이다.
이벤트 정보를 포함하는 MPD는, 예를 들어 이하의 기술을 갖는다.
<MPD availabilityStartTime="2011-12-25T12:30:00
<Period startTime='0'>
<EventStream schemeIdUri='urn:xxx' timescale='1000'>
<Event presentationTime='0' duration='1000'> 이벤트 데이터 1</Event>
<Event presentationTime='1000' duration='4000'> 이벤트 데이터 2</Event>
</EventStream>
<AdaptationSet>
<Representation/>
<Representation/>
</AdaptationSet>
</Period>
</MPD>
상기 MPD의 데이터 내용에 대해서 설명한다.
<MPD availabilityStartTime="2011-12-25T12:30:00
이 데이터 기록 영역은, 이 MPD에 기록된 데이터에 대응하는 최초의 피리어드의 개시 시각 정보의 기록 영역이다. 시각 정보로서는 예를 들어 UTC 시각이 사용된다.
<Period startTime='0'>
이 데이터 기록 영역은, 피리어드 개시 시간 정보 기록 영역이다. MPD에 있어서 규정되는 스타트 시간(MPD/@availabilityStartTime)으로부터의 오프셋 시간이 기록된다.
<EventStream schemeIdUri='urn:xxx' timescale='1000'>
이 데이터 기록 영역은, 이벤트 종류 등을 나타내는 이벤트 스트림 지정 정보와 타임 스케일 정보의 기록 영역이다.
「EventStream schemeIdUri='urn:xxx'」와, 옵셔널의 「EventStream/@value」에 의해 이벤트의 종류 등이 정의된다.
또한, 「timescale='1000'」은 이하에 기록되는 프리젠테이션 타임(presentationTime)의 단위 시간은 1/1000초인 것을 나타낸다.
<Event presentationTime='0' duration='1000'> 이벤트 데이터 1</Event>
이 데이터 기록 영역은 이벤트 데이터의 기록 영역과, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다.
이벤트 데이터는 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등에 의해 구성된다.
또한, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간이 기록된다.
이 예는, 이벤트 데이터 1에 의해 특정되는 이벤트를, 액티베이트(활성화/실행) 시각=0에서 1000단위 시간 계속되는 것을 지정하고 있다.
<Event presentationTime='1000' duration='4000'> 이벤트 데이터 1</Event>
이 데이터 기록 영역도, 이벤트 데이터의 기록 영역과, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다.
이벤트 데이터는, 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등으로 구성된다.
또한, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간이 기록된다.
이 예는, 이벤트 데이터 2에 의해 특정되는 이벤트를, 액티베이트(활성화/실행) 시각=1000에서 4000단위 시간 계속되는 것을 지정하고 있다.
이하의,
<AdaptationSet>
<Representation/>
<Representation/>
이들은, 각 데이터 종류별 정보를 기록하는 데이터 기록 영역이다.
이와 같이, MPD를 사용한 이벤트 통지, 즉 MPD 적용 이벤트 통지 방식(MPD Event)에서는,
EventStream/@schemeIdUri(와 옵셔널의 EventStream/@value) 속성에 의해 이벤트의 종류를 정의하고,
EventStream/Event 요소의 콘텐츠 파트에 이벤트 데이터, 즉 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등을 부가할 수 있다.
또한, MPD/Period/EventStream/Event 이하의 데이터 요소로서 저장되는 「이벤트 데이터」의 포맷(무엇을 저장해야 할지)에 대해서는, 「EventStream/@schemeIdUri」 속성의 값(도 9의 예에서는(urn:xxx)에 의해 특정(정의)된다.
또한, 이 MPD 적용 이벤트 통지 방식(MPD Event)은, MPD의 송출 전에, MPD 내에 기술되는 피리어드의 내용을 확정할 수 있는 경우에만 적용 가능하다.
도 10은 수신 장치에 있어서 실행하는 MPD의 해석 처리(파스)의 수순을 설명하는 도면이다.
도 10에는, 이하의 각 도면을 나타내고 있다.
(1) MPD
(2) 피리어드 단위 정보
(3) 리프리젠테이션 단위 정보
(4) 세그먼트 단위 정보
AV 세그먼트를 수신해서 AV 콘텐츠의 재생 처리를 실행하는 수신 장치(클라이언트)는, AV 세그먼트 수신 전에 미리 수신하는 시그널링 데이터에 포함되는 MPD를 취득하고, 자장치에 있어서 재생할 데이터에 대응하는 정보를 MPD로부터 취득한다.
먼저, 도 10에 도시하는 (1) MPD로부터, AV 세그먼트 재생 시간에 상당하는 특정한 피리어드의 정보를 기록한 (2) 피리어드 단위 정보를 선택한다.
또한, 자장치(클라이언트)에 있어서 재생할 데이터의 종류에 대응한 리프리젠테이션 단위 정보를 선택하고, 또한 재생 대상 세그먼트에 대응하는 (4) 세그먼트 단위 정보를 선택한다.
이 (4) 세그먼트 단위 정보에 기록된 데이터를 참조하여, 재생 대상이 되는 AV 세그먼트의 취득이나, AV 세그먼트 재생에 필요한 여러가지 정보를 취득할 수 있다.
수신 장치(클라이언트)는, 수신한 MPD의 세그먼트 단위 정보에 이벤트 정보가 기록되어 있는 경우, 그 기록된 이벤트 정보에 따라서 지정 이벤트의 액티베이트(실행, 개시 등의 이벤트 활성화 처리) 등을 행하게 된다.
도 11을 참조하여, 이벤트 정보를 기록한 MPD의 생성(또는 취득)과 출력을 실행하는 이벤트 삽입 실행 장치(310)와, 이벤트 기록 MPD를 수령해서 MPD 기록 이벤트 정보에 따른 처리를 실행하는 이벤트 실행 장치(320)의 구성과 처리예에 대해서 설명한다.
도 11에는, 좌측에, 이벤트 정보를 기록한 MPD의 생성(또는 취득)과 출력을 실행하는 이벤트 삽입 실행 장치(310)를 나타내고 있다.
또한, 도 11의 우측에는, 이벤트 정보를 기록한 MPD를 입력해서 MPD에 기록된 이벤트 정보에 따른 처리(이벤트 액티베이트)를 실행하는 이벤트 실행 장치(320)를 나타내고 있다.
이벤트 삽입 실행 장치(310)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22), 혹은 수신 장치에 있어서 MPD 등의 시그널링 데이터나, AV 세그먼트를 수신하고, 수신 장치의 재생 제어부(131)에 출력하는 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))이다.
또한, 도 11의 우측에 나타내는 이벤트 실행 장치(320)는, 구체적으로는 MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치의 재생 제어부(도 5, 도 6에 나타내는 재생 제어부(131, 151))이다.
이벤트 삽입 실행 장치(310)가 실행하는 처리에 대해서 설명한다.
이벤트 삽입 실행 장치(310)는 데이터 출력부(DASH 서버)(311), 이벤트 처리부(이벤트 서버)(312)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22), 또한 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))가 갖는 기능이다.
이하, 이벤트 삽입 실행 장치(310)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S11)
먼저, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S11에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성 또는 취득한다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, MPD, 세그먼트를 생성 또는 취득하는 처리를 행한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, MPD, 세그먼트를 수신 데이터로부터 취득하는 처리를 행한다.
(스텝 S12)
이어서, 이벤트 삽입 실행 장치(310)의 이벤트 처리부(이벤트 서버)(312)는, 스텝 S12에 있어서, 이벤트 정보를 생성 또는 취득한다.
이벤트 정보란, 예를 들어 프로그램표의 변경이나, 방송 콘텐츠의 데이터 형태의 변경, 수신 장치에 있어서의 방송 콘텐츠의 재생 시에 실행해야 할 처리 등, 수신 장치에 대하여 어떠한 처리의 실행을 통지 혹은 요구하기 위한 정보이다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, 이벤트 정보를 생성 또는 취득하는 처리를 행한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, 이벤트 정보를 수신 데이터로부터 취득하는 처리를 행한다.
(스텝 S13)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S13에 있어서, 시그널링 데이터로서의 MPD에 대하여, 이벤트 정보의 삽입을 행한다.
이 처리에 의해, 먼저 도 9를 참조하여 설명한 이벤트 정보 기록 MPD가 생성된다.
도 9에 나타내는 이벤트 정보 기록 MPD에는, 앞서 설명한 바와 같이,
이벤트의 종류, 내용이나, 이벤트의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 MPD에 기록된 이벤트 정보에 따라서, 지정된 이벤트를 지정 시간에 액티베이트(예를 들어 실행)하고, 지정 계속 시간, 계속시키는 처리 등을 행하는 것이 가능하게 된다.
(스텝 S14)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S14에 있어서, 시그널링 데이터로서의 MPD에 이벤트 정보를 기록한 이벤트 정보 기록 MPD를 송신(출력)한다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, 이벤트 정보 기록 MPD를, 방송파 또는 네트워크를 통해서 송신한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, 이벤트 정보 기록 MPD를, 프록시 서버, 혹은 재생 제어부에 출력한다.
(스텝 S15 내지 S16)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S15 내지 S16에 있어서, AV 콘텐츠 등을 저장한 세그먼트를 송신(출력)한다.
세그먼트 송신은, 스텝 S16 이후, 계속적으로 실행된다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, 세그먼트를, 방송파 또는 네트워크를 통해서 송신한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, 세그먼트를, 프록시 서버, 혹은 재생 제어부에 출력한다.
이어서, 도 11의 우측에 나타내는 이벤트 실행 장치(320)가 실행하는 처리에 대해서 설명한다.
이벤트 실행 장치(320)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치의 재생 제어부(도 5, 도 6에 나타내는 재생 제어부(131, 151))이다.
도 11에 도시하는 이벤트 실행 장치(320)가 실행하는 처리는, 수신 장치의 재생 제어부(131, 151)에 있어서 실행하는 처리이다.
또한, 도 11에 있어서는, 재생 제어부를, 실행하는 처리의 종류에 따른 처리 종류 단위로 분리한 구성으로서 나타내고 있다.
구체적으로는, 이벤트 대응 처리 실행부로서의 재생 제어부(이벤트 클라이언트)(321)와, MPD나 AV 세그먼트를 적용한 콘텐츠 재생 처리를 실행하는 재생 제어부(DASH 클라이언트)(322), 이들 2개의 처리부를 나타내고 있다.
(스텝 S21)
먼저, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S21에 있어서, 이벤트 삽입 실행 장치(310)에 대하여 시그널링 데이터로서의 MPD의 취득 요구를 행한다.
(스텝 S22)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S22에 있어서, 이벤트 삽입 실행 장치(310)로부터 취득한 MPD로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 MPD는, 이벤트 정보 기록 MPD, 즉 도 9에 나타내는 이벤트 정보 MPD인 것으로 한다.
이벤트 정보 기록 MPD에는, 이벤트의 종류, 내용이나, 이벤트의 액티베이트 (예를 들어 실행, 정지 등의 활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 MPD에 기록된 이벤트 정보에 따라서, 지정된 이벤트를 지정 시간에 액티베이트(예를 들어 실행)하여, 지정 계속 시간, 계속시키는 처리 등을 행하는 것이 가능하게 된다.
(스텝 S23)
이어서, 이벤트 실행 장치(320)의 재생 제어부(이벤트 클라이언트)(321)는, 스텝 S23에 있어서, MPD로부터 취득한 이벤트 정보에 따라서, 이벤트 적용의 스케줄링 처리를 행한다.
전술한 바와 같이, 이벤트 정보 기록 MPD에는, 이벤트의 종류, 내용이나, 이벤트의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있고, 이벤트 실행 장치(320)의 재생 제어부(이벤트 클라이언트)(321)는, 이들 정보를 참조하여, 이벤트 실행의 스케줄링 처리를 행한다.
(스텝 S24)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S24에 있어서, 이벤트 삽입 실행 장치(310)에 대하여 세그먼트의 취득 요구를 행한다.
(스텝 S25)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S25에 있어서, 스텝 S24에서 취득한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
(스텝 S26)
이어서, 이벤트 실행 장치(320)의 재생 제어부(이벤트 클라이언트)(321)는, 스텝 S26에 있어서, MPD로부터 취득한 이벤트 정보에 따라서 스케줄링된 이벤트의 적용 처리, 즉 이벤트 액티베이트(이벤트 실행, 개시 등) 처리를 행한다.
(스텝 S27 내지 S29)
스텝 S27 내지 S29의 처리는, 스텝 S24 내지 S26의 처리와 마찬가지의 처리이다.
이 일련의 처리는, 계속적으로 실행되게 된다.
이와 같이, 수신 장치(클라이언트)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, MPD에 기록된 이벤트 정보에 따라서, 여러 이벤트를 실행하는 것이 가능하게 된다.
[6-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 대해서]
이어서, DASH 규격에 있어서 규정된 또 하나의 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 대해서 설명한다.
세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)은, AV 콘텐츠 등을 저장한 세그먼트(DASH 세그먼트) 내에 이벤트 정보를 기록해서 수신 장치에 제공하는 방식이다.
도 1에 도시하는 송신 장치(20)는, 전술한 바와 같이, 콘텐츠 데이터를 부호화하고, 부호화 데이터 및 부호화 데이터의 메타데이터를 포함하는 데이터 파일을 생성하고 송신한다. 부호화 처리는, 예를 들어 MPEG에 있어서 규정되는 MP4파일 포맷에 따라서 행해진다. 또한, 송신 장치(20)가 MP4 형식의 데이터 파일을 생성하는 경우의 부호화 데이터의 파일은 「mdat」, 메타데이터는 「moov」나 「moof」 등으로 불린다.
송신 장치(20)가 제공하는 콘텐츠는, 예를 들어 음악 데이터나, 영화, 텔레비전 프로그램, 비디오, 사진, 문서, 회화 및 도표 등의 영상 데이터나, 게임 및 소프트웨어 등, 여러 데이터이다.
도 12를 참조하여, DASH 규격에 따라서 콘텐츠 스트림 배신을 행하는 경우에 이용 가능한 DASH 세그먼트의 구성예에 대해서 설명한다. DASH 세그먼트는,
(a) 초기화 세그먼트(Initialization Segment),
(b) 미디어 세그먼트(Media Segment)(=AV 세그먼트),
이들 두 종류로 나뉜다.
(a) 초기화 세그먼트(Initialization Segment)는, 수신 장치(30)에 있어서의 디코더의 설정 등, 콘텐츠 재생을 실행하기 위해서 필요한 설정 정보 등의 초기화 데이터를 저장한 세그먼트이다.
(b) 미디어 세그먼트(Media Segment)(=AV 세그먼트)는, 재생 대상이 되는 부호화 콘텐츠(AV 콘텐츠)를 저장한 세그먼트이다.
도 12에 도시하는 바와 같이 (a) 초기화 세그먼트는, 이하의 각 정보를 포함한다.
(a1) 세그먼트의 파일 타입 정보 등을 포함하는 헤더 정보(dash),
(a2) 미디어 세그먼트에 의해 송신하는 부호화 콘텐츠인 미디어 데이터(mdat)의 코덱(부호화 형태) 정보 등의 초기화 정보를 포함하는 메타데이터(moov),
한편, (b) 미디어 세그먼트는, 도 12에 도시하는 바와 같이 이하의 각 정보를 포함한다.
(b1) 세그먼트의 파일 타입 정보 등을 포함하는 헤더 정보(msdh),
(b2) 미디어 세그먼트에 저장된 복수의 서브 세그먼트(Sub-Segment)의 경계 정보나, 미디어 세그먼트에 저장된 부호화 콘텐츠인 미디어 데이터(mdat)의 랜덤 액세스 포인트 등을 나타내는 액세스 정보(sidx),
(b3) 복수의 서브 세그먼트(Sub-Segment),
또한, 복수의 서브 세그먼트(Sub-Segment)는 1개 또는 복수의 프래그먼트(Fragment)로 구성된다.
프래그먼트(Fragment)는, 이하의 각 데이터를 포함한다.
재생 대상이 되는 부호화 콘텐츠인 미디어 데이터(mdat),
미디어 데이터(mdat)에 대응하는 메타데이터(moof),
미디어 데이터(mdat)에 대응하는 각종 정보(제어 정보, 관리 정보, 속성 정보 등).
또한, 미디어 데이터(mdat), 메타데이터(moof), 그 외의 각종 정보(제어 정보, 관리 정보, 속성 정보 등)는, MP4 포맷에 있어서 정의되는 박스에 개별로 저장된다.
mdat 박스에는 AV 데이터가 저장된다.
moof 박스에는 메타데이터가 저장된다.
그 외의 각종 정보도, 각각의 정보에 따라서 정의되는 박스에 저장된다.
이벤트 정보는, 각종 정보의 일부로서 이벤트 정보를 저장하기 위한 박스로서 MP4 포맷으로 정의된 이벤트 정보 저장 박스[emsg 박스]에 저장된다.
세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 있어서 이용되는 MP4 포맷 데이터 내의 이벤트 정보 저장 박스(emsg)의 데이터 구성예에 대해서, 도 13을 참조하여 설명한다.
도 13에는, 이벤트 식별자 1, 2의 2개의 이벤트 정보를 개별로 저장한 2개의 이벤트 정보 저장 박스(emsg)의 데이터를 나타내고 있다.
이벤트 정보 저장 박스(emsg)는, 예를 들어 이하의 기술을 갖는다.
box_type='emsg'
scheme_id_uri="urn:xxx"
value=0
timescale=1000
presentation_time_delta=0
event_duration=0xFFFF
id=1
message_data[]=이벤트 데이터-1
상기 이벤트 정보 저장 박스(emsg)의 데이터 내용에 대해서 설명한다.
box_type='emsg'
이 데이터 기록 영역은 박스 타입 기록 영역이다. 이 박스(MP4에 있어서 규정되는 데이터 저장 박스)가, 이벤트 정보 저장 박스(emsg)인 것을 기술하고 있다.
scheme_id_uri="urn:xxx"
value=0
이 데이터 기록 영역은, 이벤트 종류 등을 나타내는 이벤트 지정 정보의 기록 영역이다.
「scheme_id_uri="urn:xxx"」와, 옵셔널의 「value」에 의해 이벤트의 종류 등을 정의한다.
timescale=1000
이 데이터 기록 영역은, 타임 스케일 정보의 기록 영역이다.
「timescale='1000'」은, 이하에 기록되는 프리젠테이션 타임(presentationTime)의 단위 시간은 1/1000초인 것을 나타낸다.
presentation_time_delta=0
event_duration=0xFFFF
이들 데이터 기록 영역은, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다. 이벤트 지정 정보에 의해 특정되는 이벤트의 액티베이트(활성화/실행) 시각=0에서, 시각=0xFFFF까지 계속하는 것을 지정하고 있다. 또한, 0xFFFF는 종료 시간을 정의하고 있지 않은 것을 나타내고, 이 이벤트 정보 저장 박스의 설정된 세그먼트에 대응하는 AV 콘텐츠의 재생 종료까지, 이벤트를 계속하거나 하지 않아도 된다고 하는 지정인 것을 의미한다.
id=1
이 데이터 기록 영역은, 이벤트 식별 정보 기록 영역이다.
message_data[]=이벤트 데이터-1
이 데이터 기록 영역은, 이벤트 데이터의 기록 영역이다.
이벤트 데이터는, 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등으로 구성된다.
이와 같이, 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에서는, 세그먼트 스트림 내(in-stream)에 이벤트 정보를 기록해서 전송할 수 있다.
세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에서는, 「scheme_id_uri」 필드와, 옵셔널의 「value」 필드에 이벤트의 종류를 정의할 수 있다.
또한, 「message_data」 필드에 이벤트 데이터, 즉 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등을 부가할 수 있다.
이어서, 도 14를 참조하여, 이벤트 정보를 기록한 세그먼트의 생성(또는 취득)과 출력을 실행하는 이벤트 삽입 실행 장치(310)와, 이벤트 기록 정보 세그먼트를 수령해서 세그먼트에 기록된 이벤트 정보에 따른 처리를 실행하는 이벤트 실행 장치(320)의 구성과 처리예에 대해서 설명한다.
도 14에는, 좌측에, 이벤트 정보를 기록한 세그먼트의 생성(또는 취득)과 출력을 실행하는 이벤트 삽입 실행 장치(310)를 나타내고 있다.
또한, 도 14의 우측에는, 이벤트 정보를 기록한 세그먼트를 입력해서 세그먼트에 기록된 이벤트 정보에 따른 처리(이벤트 액티베이트)를 실행하는 이벤트 실행 장치(320)를 나타내고 있다.
이벤트 삽입 실행 장치(310)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22), 혹은 수신 장치에 있어서 MPD 등의 시그널링 데이터나, AV 세그먼트를 수신하고, 수신 장치의 재생 제어부(131)에 출력하는 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))이다.
또한, 도 14의 우측에 나타내는 이벤트 실행 장치(320)는, 구체적으로는 MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치의 재생 제어부(도 5, 도 6에 나타내는 재생 제어부(131, 151))이다.
이벤트 삽입 실행 장치(310)가 실행하는 처리에 대해서 설명한다.
이벤트 삽입 실행 장치(310)는, 데이터 출력부(DASH 서버)(311), 이벤트 처리부(이벤트 서버)(312)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22), 또한 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))가 갖는 기능이다.
이하, 이벤트 삽입 실행 장치(310)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S31)
먼저, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S31에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성 또는 취득한다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, MPD, 세그먼트를 생성 또는 취득하는 처리를 행한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, MPD, 세그먼트를 수신 데이터로부터 취득하는 처리를 행한다.
(스텝 S32)
이어서, 이벤트 삽입 실행 장치(310)의 이벤트 처리부(이벤트 서버)(312)는, 스텝 S32에 있어서, 이벤트 정보를 생성 또는 취득한다.
이벤트 정보란, 예를 들어 프로그램표의 변경이나, 방송 콘텐츠의 데이터 형태의 변경, 수신 장치에 있어서의 방송 콘텐츠의 재생 시에 실행해야 할 처리 등, 수신 장치에 대하여 어떠한 처리의 실행을 통지 혹은 요구하기 위한 정보이다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, 이벤트 정보를 생성 또는 취득하는 처리를 행한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, 이벤트 정보를 수신 데이터로부터 취득하는 처리를 행한다.
(스텝 S33)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S33에 있어서, 세그먼트에 대하여, 이벤트 정보의 삽입을 행한다.
이 처리에 의해, 먼저 도 13을 참조하여 설명한 MP4 포맷에 있어서 규정되는 이벤트 정보 기록 박스인 emsg 박스를 포함하는 세그먼트가 생성된다.
도 13에 나타내는 이벤트 정보 기록 박스(emsg)는, 앞서 설명한 바와 같이, 이벤트의 종류, 내용이나, 이벤트의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트 내의 emsg 박스에 기록된 이벤트 정보에 따라서, 지정된 이벤트를 지정 시간에 액티베이트(예를 들어 실행)하여, 지정 계속 시간, 계속시키는 처리 등을 행하는 것이 가능하게 된다.
(스텝 S34)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S34에 있어서, 시그널링 데이터로서의 MPD를 송신(출력)한다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, MPD를, 방송파 또는 네트워크를 통해서 송신한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, MPD를 프록시 서버, 혹은 재생 제어부에 출력한다.
(스텝 S35 내지 S36)
이어서, 이벤트 삽입 실행 장치(310)의 데이터 출력부(DASH 서버)(311)는, 스텝 S35 내지 S36에 있어서, AV 콘텐츠 등을 저장한 세그먼트를 송신(출력)한다.
송신하는 세그먼트는 MP4 포맷에 있어서 규정되는 이벤트 정보 기록 박스(emsg)를 포함하는 세그먼트이다.
세그먼트 송신은, 스텝 S36 이후, 계속적으로 실행된다.
이벤트 삽입 실행 장치(310)가 방송 서버(21), 데이터 배신 서버(22)인 경우에는, 세그먼트를, 방송파 또는 네트워크를 통해서 송신한다.
이벤트 삽입 실행 장치(310)가 수신 장치의 미들웨어(110)(도 5, 도 6에 나타내는 미들웨어(110))인 경우에는, 세그먼트를, 프록시 서버, 혹은 재생 제어부에 출력한다.
이어서, 도 14의 우측에 나타내는 이벤트 실행 장치(320)가 실행하는 처리에 대해서 설명한다.
이벤트 실행 장치(320)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치의 재생 제어부(도 5, 도 6에 나타내는 재생 제어부(131, 151))이다.
도 14에 도시하는 이벤트 실행 장치(320)가 실행하는 처리는, 수신 장치의 재생 제어부(131, 151)에 있어서 실행하는 처리이다.
또한, 도 14에 있어서는, 재생 제어부를, 실행하는 처리의 종류에 따라서 분리해서 나타내고 있다. 즉, 이벤트 대응 처리 실행부로서의 재생 제어부(이벤트 클라이언트)(321)와, MPD나 AV 세그먼트를 적용한 콘텐츠 재생 처리를 실행하는 재생 제어부(DASH 클라이언트)(322)의 2개의 처리부로 구분해서 나타내고 있다.
(스텝 S41)
먼저, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S41에 있어서, 이벤트 삽입 실행 장치(310)에 대하여 시그널링 데이터로서의 MPD의 취득 요구를 행한다.
(스텝 S42)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S44에 있어서, 이벤트 삽입 실행 장치(310)에 대하여 세그먼트의 취득 요구를 행한다.
(스텝 S43)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S42에 있어서, 이벤트 삽입 실행 장치(310)로부터 취득한 세그먼트로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 세그먼트는, 이벤트 정보 기록 박스(emsg)를 갖는다. 즉, 도 13에 나타내는 이벤트 정보를 기록한 이벤트 정보 기록 박스(emsg)를 포함하는 세그먼트(이벤트 정보 기록 세그먼트)인 것으로 한다.
이벤트 정보 기록 세그먼트에는, 이벤트의 종류, 내용이나, 이벤트의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트에 기록된 이벤트 정보에 따라서, 지정된 이벤트를 지정 시간에 액티베이트(예를 들어 실행)하여, 지정 계속 시간, 계속시키는 처리 등을 행하는 것이 가능하게 된다.
(스텝 S44)
이어서, 이벤트 실행 장치(320)의 재생 제어부(이벤트 클라이언트)(321)는, 스텝 S44에 있어서, 세그먼트로부터 취득한 이벤트 정보에 따라서 스케줄링된 이벤트의 적용 처리, 즉 이벤트 액티베이트(이벤트 실행, 개시 등) 처리를 행한다.
(스텝 S45)
이어서, 이벤트 실행 장치(320)의 재생 제어부(DASH 클라이언트)(322)는, 스텝 S45에 있어서, 스텝 S42에서 취득한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
(스텝 S46 내지 S49)
스텝 S46 내지 S49의 처리는, 스텝 S42 내지 S45의 처리와 마찬가지의 처리이다.
이 일련의 처리는, 세그먼트 단위의 처리로서 계속적으로 실행되게 된다.
이와 같이, 수신 장치(클라이언트)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, 세그먼트 내의 이벤트 정보 기록 박스(emsg)에 기록된 이벤트 정보에 따라서, 여러 이벤트를 실행하는 것이 가능하게 된다.
[7. 애플리케이션 제어 메시지의 통지 처리에 대해서]
이어서, 상술한 이벤트 통지 기구를 이용해서 애플리케이션 제어 메시지를 통지하는 구성에 대해서 설명한다.
[7-1. 이벤트 통지 기구를 이용한 애플리케이션 제어 메시지 통지 구성의 개요]
먼저 도 5, 도 6을 참조하여 설명한 튜너 실장 수신 장치(클라이언트 A)(30)와, 튜너 비실장 수신 장치(클라이언트 B)(40)는, 모두, 애플리케이션 제어부(140, 160)를 갖는다.
애플리케이션 제어부(140, 160)는, 예를 들어 방송 콘텐츠의 재생 처리에 맞춰서 실행하는 여러 애플리케이션의 제어를 실행한다.
애플리케이션이란, 예를 들어 전술한 바와 같이 여행 프로그램에 있어서의 호텔 안내 정보의 표시 애플리케이션이나, 퀴즈나 앙케이트용의 애플리케이션 등, 다양하지만, 이들 애플리케이션은, 특정한 방송 콘텐츠에 있어서, 정해진 타이밍에으로 실행하지 않으면 의미가 없다. 따라서, 애플리케이션 제어부(140, 160)는, 미리 규정된 타이밍에 따라서 애플리케이션의 취득, 애플리케이션의 실행, 종료 등의 제어를 행할 필요가 있다.
애플리케이션 제어부(140, 160)는, 애플리케이션 파일의 취득(다운로드), 기동, 종료, 정지, 일시 정지, 가시화, 불가시화, 삭제 등 애플리케이션을 대상으로 한 여러 제어를 행한다.
애플리케이션 제어부(140, 160)에 대하여, 상기 여러 애플리케이션 제어를 실행시키기 위해서는, 애플리케이션 제어부(140, 160)에 대하여, 제어 내용이나, 제어 타이밍을 통지하는 것이 필요하다.
이 통지 정보가, 도 6에 나타내는 애플리케이션 제어 메시지(ACM: Application Control Message)이다.
애플리케이션 제어 메시지(ACM)는, 시그널링 데이터로서의 MPD나, 세그먼트 내에 기록되어 있고, 재생 제어부(131, 151)는 MPD나, 세그먼트에 애플리케이션 제어 메시지(ACM)가 포함되어 있는 경우, 이것을 애플리케이션 제어부(140, 160)에 출력하는 처리를 실행한다.
애플리케이션 제어 메시지는, 상술한 이벤트 통지 기구를 이용해서 송신, 출력된다. 이하, 이 이벤트 통지 기구를 이용한 애플리케이션 제어 메시지의 통지 구성의 상세에 대해서 설명한다.
상술한 바와 같이, DASH 규격에서는, 이벤트 통지 기구로서 이하의 두 종류의 타입의 이벤트 통지 방식이 규정되어 있다.
(a)MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이들 두 종류의 이벤트 통지 방식이 규정되어 있다.
(a) MPD 적용 이벤트 통지 방식(=MPD Event)을 사용해서 이벤트 통지를 행하는 경우의 구체적인 데이터 구성예는 도 9를 참조하여 설명한 바와 같다.
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 사용해서 이벤트 통지를 행하는 경우의 구체적인 데이터 구성예는 도 13을 참조하여 설명한 바와 같다.
이들의 어느 방식에 있어서도 이벤트 통지 메시지 내에는, 이벤트의 종류를 특정하기 위한 정보로서 이벤트 종류 정보가 기록된다.
도 9에 나타내는 이벤트 정보 저장 MPD에서는,
「EventStream schemeIdUri='urn:xxx'」와, 옵셔널의 「EventStream/@value」에 의해 이벤트의 종류가 정의된다.
또한, 도 13에 나타내는 세그먼트 내의 이벤트 정보 저장 박스(emsg)의 기술에서는,
scheme_id_uri="urn:xxx"
이 데이터 기록 영역이, 이벤트 종류 등을 나타내는 이벤트 지정 정보의 기록 영역이다.
이 이벤트 종류의 하나로서, 애플리케이션 제어 메시지(ACM: Application Control Message)를 정의한다.
즉, MPD나 세그먼트를 사용해서 실행하는 이벤트 통지에 있어서 통지하는 이벤트의 종류가, 애플리케이션 제어 메시지(ACM: Application Control Message)인 것을 나타내는 이벤트 종류를 정의한다.
구체적으로는, 예를 들어
schemeIdUri=urn:atsc:appControlMessage
상기 schemeIdUri를, 애플리케이션 제어 메시지(ACM)를 나타내는 이벤트 종류 식별자로 한다.
또한, 상기 식별자는 일례이며, 수신 장치가, MPD 또는 세그먼트로부터 추출한 이벤트 정보가, 애플리케이션 제어 메시지(ACM)에 관한 이벤트 정보임을 판별할 수 있는 데이터(문자열이나 코드)이면, 여러가지 식별자가 이용 가능하다.
또한, 도 9, 도 13을 참조하여 설명한 이하의 2개의 이벤트 통지 방식, 즉,
(a) MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이들 두 종류의 이벤트 통지 방식의 어떤 경우든 이벤트 데이터가 저장된다.
이벤트 데이터는, 이벤트를 실행하기 위해서 필요한 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등으로 구성된다.
도 9에 나타내는 이벤트 정보 저장 MPD에서는, 예를 들어
「<Event presentationTime='0' duration='1000'>이벤트 데이터 1 </Event>」에, 이벤트 데이터가 기록된다.
또한, 도 13에 나타내는 세그먼트 내의 이벤트 정보 저장 박스(emsg)의 기술에서는, 예를 들어
「message_data[]=이벤트 데이터-1」에, 이벤트 데이터가 기록된다.
도 9나 도 13에 나타내는 이벤트 통지 메시지를 이용해서 애플리케이션 제어 메시지(ACM(Application Control Message))를 통지하는 경우에, 이들 이벤트 통지 메시지에 기록하는 이벤트 데이터의 예에 대해서, 도 15를 참조하여 설명한다.
도 15에는, 이벤트 통지 메시지 내에 이벤트 데이터로서 저장하는 애플리케이션 제어 메시지(ACM)의 이하의 2개의 구성예를 나타내고 있다.
(1) 애플리케이션 본체 비저장형 ACM
(2) 애플리케이션 본체 저장형 ACM
(1) 애플리케이션 본체 비저장형 ACM은, 애플리케이션 본체는 저장하지 않는 타입이며, 애플리케이션 본체를 취득하기 위한 액세스 정보를 저장하고 있다.
(2) 애플리케이션 본체 저장형 ACM은, 애플리케이션 본체를 저장한 타입이다.
(1) 애플리케이션 본체 비저장형 ACM의 구성 요소는 이하와 같다.
(1a) 애플리케이션 식별자
(1b) 애플리케이션 메타데이터(옵셔널)
(1c) 애플리케이션 제어 커맨드
(2) 애플리케이션 본체 저장형 ACM의 구성 요소는 이하와 같다.
(2a) 애플리케이션 식별자+애플리케이션 본체
(2b) 애플리케이션 메타데이터(옵셔널)
(2c) 애플리케이션 제어 커맨드
이하, 이들의 저장 데이터에 대해서 설명한다.
(1a)(2a)에 포함되는 애플리케이션 식별자는, 애플리케이션 제어 메시지(ACM)의 제어 대상이 되는 애플리케이션의 URL 등, 애플리케이션의 식별이나 취득 처리에 필요한 정보이다. 애플리케이션 제어 메시지(ACM)의 제어 대상이 되는 애플리케이션이 복수의 어플리케이션인 경우에는, 복수의 애플리케이션을 취득 가능한 식별자가 설정된다.
예를 들어 패키지화된 애플리케이션의 식별자, 혹은 애플리케이션 개별의 식별자 집합 등이다.
또한, 애플리케이션 본체가 식별자의 url로 지정되는 경우, 방송으로 취득하는 경우와, 네트워크 경유로 취득하는 경우가 있다. 네트워크 경유의 경우에는, 통상의 네트계 스택에 의해 HTTP에 의해 취득된다. 방송으로 취득하는 경우에는, 시그널링 데이터를 저장한 시그널링 파일이나, DASH 세그먼트 파일과 마찬가지로, ROUTE 프로토콜에 따라서 전송된다. 또한, 파일로서 비동기로 방송 축적되는 경우에는 NRT(Non Real Time) 파일이라 칭한다.
(2a)에 포함되는 애플리케이션 본체는, 애플리케이션 제어 메시지(ACM)의 제어 대상이 되는 애플리케이션 자체이다. 또한, 복수의 애플리케이션이 패키징된 구성인 경우도 있다.
(1b), (2b)에 나타내는 애플리케이션의 메타데이터는 애플리케이션의 속성 정보이다.
또한, 애플리케이션 메타데이터는, ACM에 저장하는 필수 요소는 아니고, 모두 옵셔널이다.
이하, ACM에 저장하는 우선도가 높은 메타데이터, 우선도가 중정도인 메타데이터, 우선도가 낮은 메타데이터로 분류해서 나타낸다.
(A) ACM에 저장하는 우선도가 높은 메타데이터
(a1) 버전(Version) 정보: 애플리케이션의 버전(식별자(Identifier)와 버전(Version)에 의해 애플리케이션의 인스턴스가 일의적으로 식별된다)
(a2) 관련 파일(Related files) 정보: 애플리케이션을 실행하기 위해서 필요한 다른 관련된 파일·리소스
(a3) 애플리케이션 레이팅(Content advisory rating) 정보: 애플리케이션의 레이팅 정보
(B) ACM에 저장하는 우선도가 중정도인 메타데이터
(b1) 애플리케이션명 (Name) 정보: 애플리케이션의 유저 제시용의 이름
(b2) 우선도(Priority) 정보: 애플리케이션의 타애플리케이션에 대한 상대적인 우선도
(b3) 시큐리티 프로퍼티(Security properties) 정보: 애플리케이션의 시큐리티 프로퍼티 정보, 예를 들어 CAS/DRM 정보
(C) ACM에 저장하는 우선도가 낮은 메타데이터
(c1) 타입(Type) 정보: 애플리케이션의 타입(종류)
(c2) 프로파일(Profile) 정보: 애플리케이션을 실행함에 있어서 요구되는 디바이스의 능력 속성(코덱의 종류나 메모리 용량 등)
(c3) 아이콘(Icons) 정보: 애플리케이션을 식별하는 아이콘(애플리케이션 런쳐 등에 표시된다)
(c4) 스토리지(Storage hints) 정보: 로컬 스토리지나 경로 상의 디바이스의 캐시에 저장 가능한지의 힌트 정보
(c5) 타깃 프로퍼티(Targeting properties) 정보: 애플리케이션이 소비되어야 할 대상을 식별하는 속성(대상 지역이나 유저의 클래스 등)
도 15에 도시한 (1c), (2c) 애플리케이션 제어 커맨드의 기록 영역에는, 제어 대상이 되는 애플리케이션에 대한 제어 커맨드와, 실행 타이밍 등의 정보를 기록한다.
제어 커맨드의 종류로서는, 예를 들어 애플리케이션의 기동(실행), 정지(일시 정지(상태 유지)를 포함한다), 가시화/불가시화, 삭제(로컬 스토리지에 캐쉬되는 경우에 그 삭제) 등이 있다.
이들 커맨드 각각에 대해서, 실행하는 타이밍, 예를 들어 어떤 스트림(AV 스트림)에 부수되는 시간축 상의 시각(NPT: Normal Play Time의 개념)이나, 절대 시각(wall clock time)을 기록한다.
도 15에 도시한 (1c), (2c) 애플리케이션 제어 커맨드의 기록 영역에 기록하는 제어 커맨드와 구체적 처리(코드)의 예로서는, 이하의 것이 있다.
*다운로드(Download): 애플리케이션을 다운로드한다
*액티베이트(Activation(start)): 애플리케이션을 기동한다
*터미네이션(Termination(stop)): 애플리케이션을 정지한다
*서스펜션(Suspension(pause)): 애플리케이션을 일시 정지한다
*데이터 이벤트(DataEvent): 애플리케이션에 데이터를 건네준다(소비시킨다)
예를 들어 이들의 제어 커맨드가 있다.
또한, 도 15에 도시한 (1c), (2c) 애플리케이션 제어 커맨드의 기록 영역에는, 이들 커맨드의 실행 시에 적용하는 파라미터에 대해서도 기록 가능하다.
파라미터로서는, 예를 들어 이하의 파라미터 (p1), (p2)가 있다.
(p1) Time of the action: media time line
이것은 애플리케이션이 동기해서 실행 제어되는 대상의 스트림 시간축을 나타내는 파라미터이다.
(p2) Required synchronization level
이것은 동기의 정밀도 레벨(예를 들어, program level, ~ 2sec, lip sync, frame sync)을 나타내는 파라미터이다.
이들 파라미터는, 상기 제어 커맨드의 모두에 부수되어 설정되는 파라미터이다.
또한, 「다운로드(Download)」, 「액티베이트(Activation(start))」, 이들 제어 커맨드에 특유의 파라미터로서, 이하의 파라미터(p3)가 있다.
(p3) Target device
이것은, 대상 애플리케이션을 다운로드, 액티베이트하는 대상 디바이스(primary(프라이머리-TV 등)/companion(컴패니언-태블릿이나 휴대 등))를 나타내는 파라미터이다.
또한, 「데이터 이벤트(DataEvent)」 대응의 파라미터로서 이하의 파라미터(p4)가 있다.
(p4) Data
이것은 대상 애플리케이션에 건네주는 데이터를 나타내는 파라미터이다.
앞서 설명한 바와 같이, DASH 규격에서는, 이벤트 통지 기구로서 이하의 두 종류의 타입의 이벤트 통지 방식이 규정되어 있다.
(a) MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이들 두 종류의 이벤트 통지 방식이 규정되어 있다.
이하, 이들의 2개의 이벤트 통지 방식을 적용하여, 애플리케이션 제어 메시지를 통지하는 처리예에 대해서 설명한다.
[7-2. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 통지 구성]
이어서, MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 통지 구성에 대해서 설명한다.
도 16은 MPD를 사용한 이벤트 통지, 즉 MPD 적용 이벤트 통지 방식(=MPD Event)을 적용해서 애플리케이션 제어 메시지를 통지하는 경우의 MPD의 기술예를 도시하는 도면이다.
도 16에 도시하는 바와 같이 애플리케이션 제어 메시지를 포함하는 MPD는, 예를 들어 이하의 기술을 갖는다.
<MPD availabilityStartTime="2011-12-25T12:30:00
<Period startTime='0'>
<EventStream schemeIdUri='urn:atsc:appControlMessage' timescale='1000'>
<Event presentationTime='0' duration='1000'>ACM1 저장 </Event>
<Event presentationTime='1000' duration='4000'>ACM2 저장 </Event>
</EventStream>
<AdaptationSet>
<Representation/>
<Representation/>
</AdaptationSet>
</Period>
</MPD>
상기 MPD의 데이터 내용에 대해서 설명한다.
<MPD availabilityStartTime="2011-12-25T12:30:00
이 데이터 기록 영역은, 이 MPD에 기록된 데이터에 대응하는 최초의 피리어드의 개시 시각 정보의 기록 영역이다. 시각 정보로서는 예를 들어 UTC 시각이 사용된다.
<Period startTime='0'>
이 데이터 기록 영역은, 피리어드 개시 시간 정보 기록 영역이다. MPD에 있어서 규정되는 스타트 시간(MPD/@availabilityStartTime)으로부터의 오프셋 시간이 기록된다.
<EventStream schemeIdUri='urn:atsc:appControlMessage' timescale='1000'>
이 데이터 기록 영역은, 이벤트 종류 등을 나타내는 이벤트 스트림 지정 정보와 타임 스케일 정보의 기록 영역이다.
「EventStream schemeIdUri='urn:atsc:appControlMessage'」는,
이 이벤트 통지가 애플리케이션 제어 메시지(ACM)를 통지하는 이벤트 통지인 것을 나타내고 있다.
또한, 「timescale='1000'」은, 이하에 기록되는 프리젠테이션 타임(presentationTime)의 단위 시간은 1/1000초인 것을 나타낸다.
<Event presentationTime='0' duration='1000'>ACM1 저장 </Event>
이 데이터 기록 영역은, 이벤트 데이터의 기록 영역과, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다.
이 예에서는, 이벤트 데이터로서, 애플리케이션 제어 메시지 1(ACM1)이 저장되어 있다.
또한, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간이 기록된다.
이 예는, 이벤트 데이터 1에 의해 특정되는 이벤트를, 액티베이트(활성화/실행) 시각=0에서 1000단위 시간 계속되는 것을 지정하고 있다.
이벤트 데이터로서 저장하는 애플리케이션 제어 메시지 1(ACM1)은. 예를 들어, 애플리케이션 본체 또는 식별자, 메타데이터, 커맨드 등의 데이터이다.
애플리케이션 제어 메시지 1(ACM1)의 구체예를 도 17의 (1)에 나타낸다.
도 17의 (1)에 나타내는 애플리케이션 제어 메시지 1(ACM1)은, 먼저 도 15의 (1)을 참조하여 설명한 애플리케이션 본체 비저장형(ACM)과 마찬가지 데이터 구성이며, 이하의 데이터 구성 요소를 갖는다.
(1a) 애플리케이션 식별자
(1b) 애플리케이션 메타데이터(옵셔널)
(1c) 애플리케이션 제어 커맨드
이들의 각 데이터 요소의 상세는, 먼저 도 15를 참조하여 설명한 바와 같다.
도 17의 (1)에 나타내는 예에서는,
(1a) 애플리케이션 식별자=url-1
(1c) 애플리케이션 제어 커맨드=[액티베이트(Activation)]
이들을 기록하고 있다.
커맨드[액티베이트(Activation)]는, 애플리케이션을 기동하는 커맨드이다.
즉,
<Event presentationTime='0' duration='1000'>ACM1 저장 </Event>
이 기술은,
(1a) 애플리케이션 식별자=url-1
에 의해 식별되고, 취득되는 애플리케이션을
시간=0에 있어서,
(1c) 애플리케이션 제어 커맨드=[액티베이트(Activation)]
에 따라, 기동 처리를 실행하고,
1000단위 시간 계속되는 처리의 실행을 지정한 기술이다.
<Event presentationTime='1000' duration='4000'>ACM2 저장 </Event>
이 데이터 기록 영역도, 이벤트 데이터의 기록 영역과, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다.
이 예에서는, 이벤트 데이터로서, 애플리케이션 제어 메시지 2(ACM2)가 저장되어 있다.
또한, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간이 기록된다.
이 예는, 이벤트 데이터 1에 의해 특정되는 이벤트를, 액티베이트(활성화/실행) 시각=1000에서 4000단위 시간 계속되는 것을 지정하고 있다.
이벤트 데이터로서 저장하는 애플리케이션 제어 메시지 2(ACM2)는, 예를 들어 애플리케이션 본체 또는 식별자, 메타데이터, 커맨드 등의 데이터이다.
애플리케이션 제어 메시지 2(ACM2)의 구체예를 도 17의 (2)에 나타낸다.
도 17의 (2)에 나타내는 애플리케이션 제어 메시지 2(ACM2)는, 먼저 도 15의 (1)을 참조하여 설명한 애플리케이션 본체 비저장형(ACM)을 더욱 간략화한 데이터 구성이며, 이하의 데이터 구성 요소를 갖는다.
(1a) 애플리케이션 식별자
(1c) 애플리케이션 제어 커맨드
이 ACM의 예는, 애플리케이션 메타데이터를 갖고 있지 않다.
이 ACM2는, ACM1과 동일한 애플리케이션에 대한 처리를 실행시키기 위한 ACM이며, ACM1에 저장된 메타데이터와 동일한 메타데이터가 적용 가능하기 때문에, 메타데이터 저장 영역이 생략되어 있다.
도 17의 (2)에 나타내는 예에서는,
(1a) 애플리케이션 식별자=url-1
(1c) 애플리케이션 제어 커맨드=[터미네이트(Terminate)]
이들을 기록하고 있다.
커맨드[터미네이트(Terminate)]는, 애플리케이션을 정지하는 커맨드이다.
즉,
<Event presentationTime='1000' duration='4000'>ACM2 저장 </Event>
이 기술은,
(1a) 애플리케이션 식별자=url-1
에 의해 식별되고, 취득되는 애플리케이션을
시간=1000에 있어서,
(1c) 애플리케이션 제어 커맨드=[터미네이트(Terminate)]
에 따라서, 정지 처리를 실행하고,
4000단위 시간 계속되는 처리의 실행을 지정한 기술이다.
이하의,
<AdaptationSet>
<Representation/>
<Representation/>
이들은, 각 데이터 종류별의 정보를 기록하는 데이터 기록 영역이다.
이와 같이, MPD를 사용한 이벤트로서의 애플리케이션 제어 메시지(ACM) 통지, 즉 MPD 적용 이벤트 통지 방식(MPD Event)을 적용하여, 애플리케이션 제어 메시지(ACM)를 통지할 수 있다.
먼저 도 7, 도 8 등을 참조하여 설명한 바와 같이, MPD에는, 데이터 종별, 시간 단위의 세그먼트 대응 정보를 기록할 수 있다.
이 MPD를 이용해서 애플리케이션 제어 메시지(ACM)를 통지함으로써, 수신 장치에 있어서 재생 대상으로 하는 데이터 종별, 시간 단위의 세그먼트에 대응지은 애플리케이션 제어 메시지(ACM)를 제공하는 것이 가능하게 된다.
또한, 시그널링 데이터인 MPD는, AV 콘텐츠에 선행해서 수신 장치에 제공되기 때문에, 이 MPD를 사용한 ACM이벤트의 통지 처리는, MPD 내에서 처리 시간 범위로서 규정된 피리어드(Period)의 시간 구간에 걸쳐서 미리 이벤트의 실행 타이밍 등을 예측할 수 있는 경우에 이용 가능하다.
구체예로서는, 라이브 방송보다는, 오프라인 콘텐츠(사전 수록 프로그램이나 영화 프로그램 등)에 있어서 이용 가능하다.
[7-3. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 통지 구성]
이어서, 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 통지 구성에 대해서 설명한다.
도 18은 세그먼트를 사용한 이벤트 통지, 즉 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 있어서 이용되는 MP4 포맷 데이터 내의 이벤트 정보 저장 박스(emsg)를 적용해서 애플리케이션 제어 메시지를 통지하는 경우의 세그먼트 중의[이벤트 정보 저장 박스(emsg)]의 기술예를 도시하는 도면이다.
또한, 포맷은 바이너리의 비트 스트림 표현으로 인코딩되는 경우도, XML 등에 의한 텍스트로 인코딩되는 경우도 있다.
도 18에는, 이벤트 식별자 1, 2에 의해 식별되는 애플리케이션 제어 메시지 1, 2(ACM1, 2)의 2개의 ACM을 개별로 저장한 2개의 이벤트 정보 저장 박스(emsg)의 데이터를 나타내고 있다.
도 18에 도시하는 바와 같이 애플리케이션 제어 메시지(ACM)를 포함하는 세그먼트는, 예를 들어 이하의 기술을 갖는다.
box_type='emsg'
scheme_id_uri="urn:atsc:appControlMessage"
value=0
timescale=1000
presentation_time_delta=0
event_duration=0xFFFF
id=1
message_data[]=ACM1
상기 이벤트 정보 저장 박스(emsg)의 데이터 내용에 대해서 설명한다.
box_type='emsg'
이 데이터 기록 영역은 박스 타입 기록 영역이다. 이 박스(MP4에 있어서 규정되는 데이터 저장 박스)가, 이벤트 정보 저장 박스(emsg)인 것을 기술하고 있다.
scheme_id_uri="urn:atsc:appControlMessage"
value=0
이 데이터 기록 영역은, 이벤트 종류 등을 나타내는 이벤트 지정 정보의 기록 영역이다.
「scheme_id_uri="urn:atsc:appControlMessage"」는,
이 이벤트 통지가 애플리케이션 제어 메시지(ACM)를 통지하는 이벤트 통지인 것을 나타내고 있다.
timescale=1000
이 데이터 기록 영역은, 타임 스케일 정보의 기록 영역이다.
「timescale='1000'」은, 이하에 기록되는 프리젠테이션 타임(presentationTime)의 단위 시간은 1/1000초인 것을 나타낸다.
presentation_time_delta=0
event_duration=0xFFFF
이들 데이터 기록 영역은, 이벤트의 액티베이트(실행 개시 등) 시간이나 계속 시간 등의 이벤트 스케줄링 데이터의 기록 영역이다. 이벤트 지정 정보에 의해 특정되는 이벤트의 액티베이트(활성화/실행) 시각=0에서, 시각=0xFFFF까지 계속하는 것을 지정하고 있다. 또한, 0xFFFF는 종료 시간을 정의하고 있지 않은 것을 나타내고, 이 이벤트 정보 저장 박스의 설정된 세그먼트에 대응하는 AV 콘텐츠의 재생 종료까지, 이벤트를 계속하거나 하지 않아도 된다고 하는 지정인 것을 의미한다.
id=1
이 데이터 기록 영역은, 이벤트 식별 정보 기록 영역이다.
message_data[]=ACM1
이 데이터 기록 영역은, 이벤트 데이터의 기록 영역이다.
이 예에서는, 이벤트 데이터로서, 애플리케이션 제어 메시지 1(ACM1)이 저장되어 있다.
애플리케이션 제어 메시지 1(ACM1)의 구체예는, 먼저 도 17의 (1)을 참조하여 설명한 바와 같다.
도 17의 (1)에 나타내는 애플리케이션 제어 메시지 1(ACM1)은, 먼저 도 15의 (1)을 참조하여 설명한 애플리케이션 본체 비저장형(ACM)과 마찬가지인 데이터 구성이며, 이하의 데이터 구성 요소를 갖는다.
(1a) 애플리케이션 식별자
(1b) 애플리케이션 메타데이터(옵셔널)
(1c) 애플리케이션 제어 커맨드
이들 각 데이터 요소의 상세는, 먼저 도 15를 참조하여 설명한 바와 같다.
도 17의 (1)에 나타내는 예에서는,
(1a) 애플리케이션 식별자=url-1
(1c) 애플리케이션 제어 커맨드=[액티베이트(Activation)]
이들을 기록하고 있다.
커맨드[액티베이트(Activation)]는, 애플리케이션을 기동하는 커맨드이다.
즉, 도 18의 이벤트 식별자=1(ACM1) 대응의 세그먼트 적용 이벤트(ACM1) 통지 메시지는,
(1a) 애플리케이션 식별자=url-1
에 의해 식별되고, 취득되는 애플리케이션을
시간=0에 있어서,
(1c) 애플리케이션 제어 커맨드=[액티베이트(Activation)]
에 따라, 기동 처리를 실행하는 처리의 실행을 지정한 기술이다.
또한, 도 18의 하단에 나타내는 이벤트 식별자=2(ACM2) 대응의 세그먼트 적용 이벤트(ACM2)에 저장된 애플리케이션 제어 메시지 2(ACM2)는 도 17의 (2)에 나타내는 데이터 구성을 갖는다.
도 17의 (2)에 나타내는 애플리케이션 제어 메시지 2(ACM2)는, 먼저 도 15의 (1)을 참조하여 설명한 애플리케이션 본체 비저장형(ACM)을 더욱 간략화한 데이터 구성이며, 이하의 데이터 구성 요소를 갖는다.
(1a) 애플리케이션 식별자
(1c) 애플리케이션 제어 커맨드
이 ACM의 예는, 애플리케이션 메타데이터를 갖고 있지 않다.
이 ACM2는, ACM1과 같은 애플리케이션에 대한 처리를 실행시키기 위한 ACM이며, ACM1에 저장된 메타데이터와 동일한 메타데이터가 적용 가능하기 때문에, 메타데이터 저장 영역이 생략되어 있다.
도 17의 (2)에 나타내는 예에서는,
(1a) 애플리케이션 식별자=url-1
(1c) 애플리케이션 제어 커맨드=[터미네이트(Terminate)]
이들을 기록하고 있다.
커맨드[터미네이트(Terminate)]는 애플리케이션을 정지하는 커맨드이다.
즉, 도 18의 이벤트 식별자=2(ACM2) 대응의 세그먼트 적용 이벤트(ACM2) 통지 메시지는,
(1a) 애플리케이션 식별자=url-1
에 의해 식별되고, 취득되는 애플리케이션을
시간=1000에 있어서,
(1c) 애플리케이션 제어 커맨드=[터미네이트(Terminate)]
에 따라, 정지 처리를 실행하는 처리의 실행을 지정한 기술이다.
이와 같이, 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지(ACM) 통지 구성에서는, 세그먼트 스트림 내(in-stream)에 애플리케이션 제어 메시지(ACM)를 기록해서 전송할 수 있다.
세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에서는, 「scheme_id_uri」 필드와, 옵셔널의 「value」 필드에 이벤트 종류로서 애플리케이션 제어 메시지(ACM)인 것을 정의할 수 있다.
또한, 「message_data」 필드에 이벤트 데이터, 즉, 애플리케이션 제어 메시지(ACM)를 구성하는 애플리케이션 실체 데이터, 메타데이터, 커맨드 등의 데이터나, 그 액세스 정보 등을 부가할 수 있다.
[8. 애플리케이션 제어 메시지(ACM)의 통지, 이용 시퀀스에 대해서]
이어서, 애플리케이션 제어 메시지(ACM)의 송신, 이용 시퀀스에 대해서 설명한다.
상술한 바와 같이, 이벤트 통지 기구를 적용해서 애플리케이션 제어 메시지(ACM)를 송신하는 경우, 이하의 두 종류의 타입의 이벤트 통지 방식을 이용할 수 있다.
(a) MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이하, 이들 두 종류의 이벤트 통지 방식을 이용해서 애플리케이션 제어 메시지(ACM)를 송신하는 경우의 시퀀스에 대해서, 순차, 설명한다.
[8-1. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서]
먼저, MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서, 도 19를 참조하여 설명한다.
도 19를 참조하여, AV 세그먼트나, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)를 기록한 MPD의 생성과 출력을 실행하는 송신 장치(510)와, 애플리케이션 제어 메시지(ACM) 기록 MPD를 수령해서 MPD 기록 애플리케이션 제어 메시지(ACM)에 따른 처리를 실행하는 수신 장치(520)의 구성과 처리예에 대해서 설명한다.
도 19에는, 좌측에, 애플리케이션 제어 메시지(ACM)를 기록한 MPD의 생성과 출력을 실행하는 송신 장치(510)를 나타내고 있다.
또한, 도 19의 우측에는, 애플리케이션 제어 메시지(ACM)를 기록한 MPD를 입력해서 MPD에 기록된 애플리케이션 제어 메시지(ACM)에 따른 애플리케이션 제어 처리를 실행하는 수신 장치(520)를 나타내고 있다.
송신 장치(510)는, 구체적으로는 MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22)이다.
또한, 도 19의 우측에 나타내는 수신 장치(520)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치이다.
송신 장치(510)가 실행하는 처리에 대해서 설명한다.
송신 장치(510)는, 데이터 출력부(DASH 서버)(511), 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512), 방송 신호 생성부(방송 서버)(513)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 도 1에 도시하는 방송 서버(21), 데이터 배신 서버(22)가 갖는 기능이다.
이하, 송신 장치(510)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S101)
먼저, 송신 장치(510)의 데이터 출력부(DASH 서버)(511)는, 스텝 S101에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성한다.
(스텝 S102)
이어서, 송신 장치(510)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512)는, 스텝 S102에 있어서, 애플리케이션 제어 메시지(ACM)를 생성한다.
애플리케이션 제어 메시지(ACM)는, 예를 들어 먼저 도 15를 참조하여 설명한 데이터를 저장한 메시지이다.
도 15를 참조하여 설명한 바와 같이, 애플리케이션 제어 메시지(ACM)는, 예를 들어 이하의 2개의 데이터 타입이 있다.
(1) 애플리케이션 본체 비저장형 ACM
(2) 애플리케이션 본체 저장형 ACM
스텝 S102에서는, 이들 중 어느 타입의 애플리케이션 제어 메시지(ACM)를 생성한다.
(스텝 S103)
이어서, 송신 장치(510)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512)는, 스텝 S103에 있어서, 애플리케이션 제어 메시지(ACM)를 이벤트로서 설정한다.
즉, 애플리케이션 제어 메시지(ACM)의 액티베이트 시간, 계속 시간 등, 이벤트 통지에 있어서 필요한 각 파라미터를 결정한다. 즉, DASH 규격에 따른 이벤트 통지 기구를 이용한 ACM 송신을 가능하게 하기 위한 파라미터 그 밖의 포맷 데이터의 설정 처리 등을 행한다.
(스텝 S104)
이어서, 송신 장치(510)의 데이터 출력부(DASH 서버)(511)는, 스텝 S104에 있어서, 시그널링 데이터로서의 MPD에 대하여, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)의 삽입을 행한다.
이 처리에 의해, 먼저 도 16을 참조하여 설명한 애플리케이션 제어 메시지를 포함하는 MPD가 생성된다.
도 16에 나타내는 애플리케이션 제어 메시지 저장 MPD에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 MPD에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션 제어 메시지를 참조한 처리를 행하는 것이 가능하게 된다.
즉, 애플리케이션 제어 메시지의 기록 데이터에 따라서 취득되는 애플리케이션에 대하여,
애플리케이션 제어 메시지에 기록된 제어 커맨드를 적용한 처리를 실행한다.
실행 시간이나, 계속 시간은, MPD의 기술에 따르게 된다.
(스텝 S105)
이어서, 송신 장치(510)의 데이터 출력부(DASH 서버)(511)는, 스텝 S105에 있어서, 시그널링 데이터로서의 MPD에 애플리케이션 제어 메시지를 기록한 이벤트 정보 기록 MPD나 세그먼트를 송신(출력)한다.
송신 장치(510)가 방송 서버(21)인 경우, 방송 신호 생성부(방송 서버)(513)에 있어서, MPD나 세그먼트를 방송파에 실어서 송신하는 처리가 행해진다.
데이터 배신 서버(22)인 경우에는, MPD나 세그먼트를, 네트워크를 통해서 송신한다.
이어서, 도 19의 우측에 나타내는 수신 장치(520)가 실행하는 처리에 대해서 설명한다.
도 19에는, 수신 장치(520)의 미들웨어(521), 애플리케이션 제어부(522), 재생 제어부(523)를 나타내고 있다. 이들의 구성은, 도 5, 도 6에 나타내는 튜너 실장 수신 장치(30)의 각 구성에 대응한다.
(스텝 S121)
먼저, 수신 장치(520)의 재생 제어부(DASH 클라이언트)(523)는, 송신 장치(510)로부터 미들웨어(521)를 통해서 시그널링 데이터로서 MPD를 취득하면, 스텝 S121에 있어서, 취득 MPD로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 MPD는, 애플리케이션 제어 메시지(ACM)가 기록된 MPD인 것으로 한다.
애플리케이션 제어 메시지 저장 MPD에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 MPD에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션에 대하여 지정된 커맨드를 적용한 처리를 행하는 것이 가능하게 된다.
(스텝 S122)
이어서, 수신 장치(520)의 애플리케이션 제어부(522)는, 스텝 S122에 있어서, MPD로부터 취득한 애플리케이션 제어 메시지(ACM)의 적용 처리를 행한다.
애플리케이션 제어 메시지 저장 MPD에는, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
애플리케이션 제어 메시지(ACM)에는, 제어 대상의 애플리케이션 본체 또는 식별 정보가 기록되고, 또한 메타데이터, 제어 커맨드 등이 기록되어 있다.
애플리케이션 제어부(522)는, 이 ACM 기록 데이터에 따라서 특정되는 애플리케이션에 대하여, ACM에 규정된 커맨드의 적용 처리를 실행한다.
또한, 커맨드 적용 시각이나, 계속 시간 정보는, 먼저 도 16을 참조하여 설명한 바와 같이 MPD에 기록되어 있다.
(스텝 S123)
이어서, 수신 장치(520)의 재생 제어부(DASH 클라이언트)(523)는, 송신 장치(510)로부터 수신한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
또한, 스텝 S121 내지 S123의 처리는, 계속적으로 반복 실행되게 된다.
이와 같이, 수신 장치(클라이언트)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, MPD에 기록된 이벤트 정보로서의 애플리케이션 제어 메시지(ACM)에 따라, 여러 애플리케이션 제어를 실행하는 것이 가능하게 된다.
[8-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서]
이어서, 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서, 도 20을 참조하여 설명한다.
도 20을 참조하여, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)를 기록한 세그먼트의 생성(또는 취득)과 출력을 실행하는 송신 장치(510)와, 애플리케이션 제어 메시지(ACM) 기록 세그먼트를 수령해서 세그먼트에 기록된 애플리케이션 제어 메시지(ACM)에 따른 처리를 실행하는 수신 장치(520)의 구성과 처리예에 대해서 설명한다.
도 20에는, 좌측에, 애플리케이션 제어 메시지(ACM)를 기록한 세그먼트의 생성(또는 취득)과 출력을 실행하는 송신 장치(510)를 나타내고 있다.
또한, 도 20의 우측에는, 애플리케이션 제어 메시지(ACM)를 기록한 세그먼트를 입력해서 세그먼트에 기록된 애플리케이션 제어 메시지(ACM)에 따른 애플리케이션 제어 처리를 실행하는 수신 장치(520)를 나타내고 있다.
송신 장치(510)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22)이다.
또한, 도 20의 우측에 나타내는 수신 장치(520)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 입력해서 콘텐츠 재생 처리를 실행하는 수신 장치이다.
송신 장치(510)가 실행하는 처리에 대해서 설명한다.
송신 장치(510)는, 데이터 출력부(DASH 서버)(511), 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512), 방송 신호 생성부(방송 서버)(513)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 도 1에 도시하는 방송 서버(21), 데이터 배신 서버(22)가 갖는 기능이다.
이하, 송신 장치(510)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S131)
먼저, 송신 장치(510)의 데이터 출력부(DASH 서버)(511)는, 스텝 S131에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성 또는 취득한다.
(스텝 S132)
이어서, 송신 장치(510)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512)는, 스텝 S132에 있어서, 애플리케이션 제어 메시지(ACM)를 생성한다.
애플리케이션 제어 메시지(ACM)는, 예를 들어 먼저 도 15를 참조하여 설명한 데이터를 저장한 메시지이다.
도 15를 참조하여 설명한 바와 같이, 애플리케이션 제어 메시지(ACM)는, 예를 들어 이하의 2개의 데이터 타입이 있다.
(1) 애플리케이션 본체 비저장형 ACM
(2) 애플리케이션 본체 저장형 ACM
스텝 S132에서는, 이들 중 어느 타입의 애플리케이션 제어 메시지(ACM)를 생성한다.
(스텝 S133)
이어서, 송신 장치(510)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(512)는, 스텝 S133에 있어서, 애플리케이션 제어 메시지(ACM)를 이벤트로서 설정한다.
즉, 애플리케이션 제어 메시지(ACM)의 액티베이트 시간, 계속 시간 등, 이벤트 통지에 있어서 필요한 각 파라미터를 결정한다. 즉, DASH 규격에 따른 이벤트 통지 기구를 이용한 ACM 송신을 가능하게 하기 위한 파라미터 그 밖의 포맷 데이터의 설정 처리 등을 행한다.
(스텝 S134)
이어서, 송신 장치(510)의 데이터 출력부(DASH 서버)(311)는, 스텝 S134에 있어서, 세그먼트의 구성 데이터인 MP4에 있어서 규정되는 emsg 박스에 대하여, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)의 삽입을 행한다.
이 처리에 의해, 먼저 도 18을 참조하여 설명한 애플리케이션 제어 메시지를 포함하는 세그먼트가 생성된다. 구체적으로는 MP4에 있어서 규정되는 emsg 박스 기록 데이터를 생성한다.
도 18에 나타내는 애플리케이션 제어 메시지 저장 세그먼트에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트에 기록된 애플리케이션 제어 메시지에 따라서, 지정된 애플리케이션 제어 메시지를 참조한 처리를 행하는 것이 가능하게 된다.
즉, 애플리케이션 제어 메시지의 기록 데이터에 따라서 취득되는 애플리케이션에 대하여,
애플리케이션 제어 메시지에 기록된 제어 커맨드를 적용한 처리를 실행한다.
실행 시간이나, 계속 시간은, 세그먼트(emsg 박스) 기록 데이터에 따르게 된다.
(스텝 S135)
이어서, 송신 장치(510)의 데이터 출력부(DASH 서버)(511)는, 스텝 S135에 있어서, MPD 및 애플리케이션 제어 메시지를 기록한 세그먼트를 송신(출력)한다.
송신 장치(510)이 방송 서버(21)인 경우, 방송 신호 생성부(방송 서버)(513)에 있어서, MPD나 세그먼트를 방송파에 실어서 송신하는 처리가 행해진다.
데이터 배신 서버(22)인 경우에는, MPD나 세그먼트를, 네트워크를 통해서 송신한다.
이어서, 도 20의 우측에 나타내는 수신 장치(520)가 실행하는 처리에 대해서 설명한다.
도 20에는, 수신 장치(520)의 미들웨어(521), 애플리케이션 제어부(522), 재생 제어부(523)를 나타내고 있다. 이들 구성은, 도 5, 도 6에 나타내는 튜너 실장 수신 장치(30)의 각 구성에 대응한다.
(스텝 S141)
먼저, 수신 장치(520)의 재생 제어부(DASH 클라이언트)(523)는, 송신 장치(510)로부터 미들웨어(521)를 통해서 세그먼트를 취득하면, 스텝 S141에 있어서, 취득한 세그먼트로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 세그먼트는, 애플리케이션 제어 메시지(ACM)가 기록된 emsg 박스를 포함하는 세그먼트인 것으로 한다.
도 18을 참조하여 설명한 MP4 규정의 emsg 박스에 애플리케이션 제어 메시지(ACM)가 기록된 세그먼트이다.
애플리케이션 제어 메시지 저장 세그먼트에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션에 대하여 지정된 커맨드를 적용한 처리를 행하는 것이 가능하게 된다.
(스텝 S142)
이어서, 수신 장치(520)의 애플리케이션 제어부(522)는, 스텝 S142에 있어서, 세그먼트로부터 취득한 애플리케이션 제어 메시지(ACM)의 적용 처리를 행한다.
애플리케이션 제어 메시지 저장 세그먼트에는, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
애플리케이션 제어 메시지(ACM)에는, 제어 대상의 애플리케이션 본체 또는 식별 정보가 기록되고, 또한 메타데이터, 제어 커맨드 등이 기록되어 있다.
애플리케이션 제어부(522)는, 이 ACM 기록 데이터에 따라서 특정되는 애플리케이션에 대하여, ACM에 규정된 커맨드의 적용 처리를 실행한다.
또한, 커맨드 적용 시각이나, 계속 시간 정보는, 먼저 도 18을 참조하여 설명한 바와 같이 세그먼트(MP4 규정의 emsg 박스)에 기록되어 있다.
(스텝 S143)
이어서, 수신 장치(520)의 재생 제어부(DASH 클라이언트)(523)는, 송신 장치(510)로부터 수신한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
또한, 스텝 S141 내지 S143의 처리는, 계속적으로 반복 실행되게 된다.
이와 같이, 수신 장치(클라이언트)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, 세그먼트에 기록된 이벤트 정보로서의 애플리케이션 제어 메시지(ACM)에 따라, 여러 애플리케이션 제어를 실행하는 것이 가능하게 된다.
[9. 튜너 비실장 수신 장치를 이용한 경우의 처리예에 대해서]
먼저, 도 5, 도 6을 참조하여 설명한 바와 같이, 방송 콘텐츠 등의 재생을 실행하는 수신 장치(클라이언트)에는, 튜너 실장 수신 장치(클라이언트 A)(30)와, 튜너 비실장 수신 장치(클라이언트 B)(40)가 있다.
튜너 비실장 수신 장치(클라이언트 B)(40)는, 직접, 방송파를 수신할 수 없기 때문에, 튜너 실장 수신 장치(클라이언트 A)(30)을 통해서 여러가지 데이터를 입력하는 것이 필요해진다.
애플리케이션 제어 메시지(ACM)에 대해서도 마찬가지이며, 튜너 비실장 수신 장치(클라이언트 B)(40)는, 직접, 애플리케이션 제어 메시지(ACM)를 수신할 수 없기 때문에, 튜너 실장 수신 장치(클라이언트 A)(30)을 통해서 입력하는 것이 필요해진다.
이하, 튜너 비실장 수신 장치(클라이언트 B)(40)가, 튜너 실장 수신 장치(클라이언트 A)(30)을 통해서 애플리케이션 제어 메시지(ACM)를 입력해서 처리를 행하는 경우의 처리 시퀀스에 대해서 설명한다.
상술한 바와 같이, 이벤트 통지 기구를 적용해서 애플리케이션 제어 메시지(ACM)를 송신하는 경우, 이하의 두 종류의 타입의 이벤트 통지 방식을 이용할 수 있다.
(a) MPD 적용 이벤트 통지 방식(=MPD Event),
(b) 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)
이하, 이들 두 종류의 이벤트 통지 방식을 이용해서 애플리케이션 제어 메시지(ACM)를 송신하는 경우의 시퀀스에 대해서, 순차, 설명한다.
[9-1. MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서]
먼저, MPD 적용 이벤트 통지 방식(=MPD Event)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서, 도 21을 참조하여 설명한다.
도 21을 참조하여, 이하의 3개의 장치간의 처리 시퀀스에 대해서 설명한다.
(1) AV 세그먼트나, 애플리케이션 제어 메시지(ACM)의 생성과 출력을 실행하는 송신 장치(610),
(2) AV 세그먼트나, 애플리케이션 제어 메시지(ACM)를 수신하고, 애플리케이션 제어 메시지(ACM)를 이벤트 정보로서 MPD에 기록한 ACM 기록 MPD를 생성하는 튜너 실장 수신 장치(620),
(3) 튜너 실장 수신 장치(620)로부터, 애플리케이션 제어 메시지(ACM) 기록 MPD를 수령해서 MPD 기록 애플리케이션 제어 메시지(ACM)에 따른 처리를 실행하는 튜너 비실장 수신 장치(630),
도 21에는, 좌측으로부터, 송신 장치(610), 튜너 실장 수신 장치(620), 또한 튜너 비실장 수신 장치(630)를 나타내고 있다.
송신 장치(610)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22)이다.
송신 장치(610)가 실행하는 처리에 대해서 설명한다.
송신 장치(610)는, 데이터 출력부(DASH 서버)(611), 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(612), 방송 신호 생성부(방송 서버)(613)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 도 1에 도시하는 방송 서버(21), 데이터 배신 서버(22)가 갖는 기능이다.
이하, 송신 장치(610)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S201)
먼저, 송신 장치(610)의 데이터 출력부(DASH 서버)(611)는, 스텝 S201에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성한다.
(스텝 S202 내지 S203)
이어서, 송신 장치(610)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(612)는, 스텝 S202에 있어서, 애플리케이션 제어 메시지(ACM)를 생성하고, 스텝 S203에 있어서 생성한 애플리케이션 제어 메시지(ACM)를 송신한다.
애플리케이션 제어 메시지(ACM)는, 예를 들어 먼저 도 15를 참조하여 설명한 데이터를 저장한 메시지이다.
도 15를 참조하여 설명한 바와 같이, 애플리케이션 제어 메시지(ACM)는, 예를 들어 이하의 2개의 데이터 타입이 있다.
(1) 애플리케이션 본체 비저장형 ACM
(2) 애플리케이션 본체 저장형 ACM
스텝 S202 내지 S203에서는, 이들 중 어느 타입의 애플리케이션 제어 메시지(ACM)를 생성해서 송신한다.
(스텝 S204)
이어서, 송신 장치(610)의 데이터 출력부(DASH 서버)(611)는, 스텝 S204에 있어서, 시그널링 데이터로서의 MPD나 세그먼트를 송신(출력)한다.
송신 장치(610)가 방송 서버(21)인 경우, 방송 신호 생성부(방송 서버)(613)에 있어서, MPD나 세그먼트를 방송파에 실어서 송신하는 처리가 행해진다.
데이터 배신 서버(22)인 경우에는, MPD나 세그먼트를, 네트워크를 통해서 송신한다.
이어서, 튜너 실장 수신 장치(620)의 처리에 대해서 설명한다.
튜너 실장 수신 장치(620)는, 도 5, 도 6에 나타내는 튜너 실장 수신 장치(30)와 마찬가지 구성을 갖는다.
튜너 실장 수신 장치(620)는, 송신 장치(610)의 송신하는 AV 세그먼트나, 애플리케이션 제어 메시지(ACM)를 수신하고, 애플리케이션 제어 메시지(ACM)를 이벤트 정보로서 MPD에 기록한 ACM 기록 MPD를 생성한다.
또한, 생성한 ACM 기록 MPD나, 세그먼트를 튜너 비실장 수신 장치(630)에 전송한다.
튜너 실장 수신 장치(620)가 실행하는 각 스텝의 처리에 대해서 설명한다.
(스텝 S211)
튜너 실장 수신 장치(620)의 미들웨어(621)는, 송신 장치(610)로부터 애플리케이션 제어 메시지(ACM)를 수신하면, 스텝 S211에 있어서, 수신한 애플리케이션 제어 메시지(ACM)를 이벤트로서 설정한다.
즉, 애플리케이션 제어 메시지(ACM)의 액티베이트 시간, 계속 시간 등, 이벤트 통지에 있어서 필요한 각 파라미터를 설정하고, DASH 규격에 따른 이벤트 정보로서의 포맷을 정돈한다.
또한, 이 처리에 적용하는 각 파라미터는, 송신 장치(610)로부터 수신하는 애플리케이션 제어 메시지(ACM)에 부수되는 속성 데이터로서 기록되어 있다.
(스텝 S212)
이어서, 튜너 실장 수신 장치(620)의 미들웨어(621)는, 스텝 S212에 있어서, 시그널링 데이터로서의 MPD에 대하여, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)의 삽입을 행한다.
이 처리에 의해, 먼저 도 16을 참조하여 설명한 애플리케이션 제어 메시지를 포함하는 MPD가 생성된다.
도 16에 나타내는 애플리케이션 제어 메시지 저장 MPD에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
튜너 비실장 수신 장치(630)는, 이 MPD에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션 제어 메시지를 참조한 처리를 행하는 것이 가능하게 된다.
즉, 애플리케이션 제어 메시지의 기록 데이터에 따라서 취득되는 애플리케이션에 대하여,
애플리케이션 제어 메시지에 기록된 제어 커맨드를 적용한 처리를 실행한다.
실행 시간이나, 계속 시간은, MPD의 기술에 따르게 된다.
(스텝 S213)
이어서, 튜너 실장 수신 장치(620)의 미들웨어(621)는, 스텝 S213에 있어서, 시그널링 데이터로서의 MPD에 애플리케이션 제어 메시지를 기록한 이벤트 정보 기록 MPD나 세그먼트를 송신(출력)한다.
또한, 튜너 실장 수신 장치(620)로부터, 튜너 비실장 수신 장치(630)에 대하다 MPD나 세그먼트 출력은, 예를 들어 튜너 실장 수신 장치(620)의 미들웨어로부터 프록시 서버를 통해서 실행된다.
이어서, 도 21의 우측에 나타내는 튜너 비실장 수신 장치(630)가 실행하는 처리에 대해서 설명한다.
도 21에는, 튜너 비실장 수신 장치(630)의 애플리케이션 제어부(631), 재생 제어부(632)를 나타내고 있다. 이들의 구성은, 도 5, 도 6에 나타내는 튜너 비실장 수신 장치(40)의 각 구성에 대응한다.
(스텝 S221)
먼저, 튜너 비실장 수신 장치(630)의 재생 제어부(DASH 클라이언트)(632)는, 튜너 실장 수신 장치(620)의 미들웨어(621)를 통해서 시그널링 데이터로서의 MPD를 취득하면, 스텝 S221에 있어서, 취득 MPD로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 MPD는, 애플리케이션 제어 메시지(ACM)가 기록된 MPD인 것으로 한다.
애플리케이션 제어 메시지 저장 MPD에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 MPD에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션에 대하여 지정된 커맨드를 적용한 처리를 행하는 것이 가능하게 된다.
(스텝 S222)
이어서, 튜너 비실장 수신 장치(630)의 애플리케이션 제어부(631)는, 스텝 S222에 있어서, MPD로부터 취득한 애플리케이션 제어 메시지(ACM)의 적용 처리를 행한다.
애플리케이션 제어 메시지 저장 MPD에는, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
애플리케이션 제어 메시지(ACM)에는, 제어 대상의 애플리케이션 본체 또는 식별 정보가 기록되고, 또한 메타데이터, 제어 커맨드 등이 기록되어 있다.
애플리케이션 제어부(631)는, 이 ACM 기록 데이터에 따라서 특정되는 애플리케이션에 대하여, ACM에 규정된 커맨드의 적용 처리를 실행한다.
또한, 커맨드 적용 시각이나, 계속 시간 정보는, 먼저 도 16을 참조하여 설명한 바와 같이 MPD에 기록되어 있다.
(스텝 S223)
이어서, 튜너 비실장 수신 장치(630)의 재생 제어부(DASH 클라이언트)(632)는, 튜너 실장 수신 장치(620)를 통해서 수신한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
또한, 스텝 S221 내지 S223의 처리는, 계속적으로 반복 실행되게 된다.
이와 같이, 튜너 비실장 수신 장치(630)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, 튜너 실장 수신 장치(620)의 미들웨어가 생성한 애플리케이션 제어 메시지(ACM) 기록 MPD로부터, 이벤트 정보로서의 애플리케이션 제어 메시지(ACM)를 취득하고, 취득한 ACM에 따라, 여러 애플리케이션 제어를 실행하는 것이 가능하게 된다.
또한, 도 21을 참조하여 설명한 바와 같은 방송 송출후에 애플리케이션 제어 메시지(ACM)를 MPD에 삽입하는 처리를 행하는 구성은, 애플리케이션의 실행까지의 시간적인 여유가 있을 경우에 한정된다.
예를 들어, 어떤 AV 세그먼트가 방송 서버 등으로부터 송출되고 나서 충분한 시간이 흐른 다음 그 세그먼트의 재생 개시 시각이 스케줄되어 있는 경우 등에 한정된다.
이것은, 애플리케이션 제어 메시지(ACM)는 피리어드 단위의 설정으로 MPD에 기록할 필요가 있고, 예를 들어 튜너 실장 수신 장치(620)의 미들웨어(621)는, 하나의 피리어드(Period)분의 시간에 걸쳐, 방송 서버로부터 방송되는 ACM을 모으고, 그 피리어드 대응의 MPD를 생성하는 것이 필요하게 되어, MPD 송출까지 최저라도 1피리어드분의 타임 래그가 발생하기 때문이다.
[9-2. 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서]
이어서, 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)을 적용한 애플리케이션 제어 메시지의 송신 및 이용 시퀀스에 대해서, 도 22를 참조하여 설명한다.
도 22를 참조하여, 이하의 3개의 장치간의 처리 시퀀스에 대해서 설명한다.
(1) AV 세그먼트나, 애플리케이션 제어 메시지(ACM)의 생성과 출력을 실행하는 송신 장치(610),
(2) AV 세그먼트나, 애플리케이션 제어 메시지(ACM)를 수신하고, 애플리케이션 제어 메시지(ACM)를 이벤트 정보로서 세그먼트에 기록한 ACM 기록 세그먼트를 생성하는 튜너 실장 수신 장치(620),
(3) 튜너 실장 수신 장치(620)로부터, 애플리케이션 제어 메시지(ACM) 기록 세그먼트를 수령해서 세그먼트 기록 애플리케이션 제어 메시지(ACM)에 따른 처리를 실행하는 튜너 비실장 수신 장치(630).
도 22에는, 좌측으로부터, 송신 장치(610), 튜너 실장 수신 장치(620), 또한 튜너 비실장 수신 장치(630)를 나타내고 있다.
송신 장치(610)는, 구체적으로는, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 방송 서버(21), 데이터 배신 서버(22)이다.
송신 장치(610)가 실행하는 처리에 대해서 설명한다.
송신 장치(610)는, 데이터 출력부(DASH 서버)(611), 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(612), 방송 신호 생성부(방송 서버)(613)를 갖는다.
또한, 이들 서버 기능은, MPD 등의 시그널링 데이터나, AV 세그먼트를 송신하는 도 1에 도시하는 방송 서버(21), 데이터 배신 서버(22)가 갖는 기능이다.
이하, 송신 장치(610)가 실행하는 처리에 대해서, 처리 스텝별로 설명한다.
(스텝 S251)
먼저, 송신 장치(610)의 데이터 출력부(DASH 서버)(611)는, 스텝 S251에 있어서, 시그널링 데이터로서의 MPD 및 재생 콘텐츠를 구성하는 AV 데이터를 포함하는 세그먼트를 생성 취득한다.
(스텝 S252 내지 S253)
이어서, 송신 장치(610)의 애플리케이션 제어 메시지(ACM) 처리부(ACM 서버)(612)는, 스텝 S252에 있어서, 애플리케이션 제어 메시지(ACM)를 생성하고, 스텝 S253에 있어서 생성한 애플리케이션 제어 메시지(ACM)를 송신한다.
애플리케이션 제어 메시지(ACM)는, 예를 들어 먼저 도 15를 참조하여 설명한 데이터를 저장한 메시지이다.
도 15를 참조하여 설명한 바와 같이, 애플리케이션 제어 메시지(ACM)는, 예를 들어 이하의 2개의 데이터 타입이 있다.
(1) 애플리케이션 본체 비저장형 ACM
(2) 애플리케이션 본체 저장형 ACM
스텝 S252에서는, 이들 중 어느 타입의 애플리케이션 제어 메시지(ACM)를 생성한다.
(스텝 S254)
이어서, 송신 장치(610)의 데이터 출력부(DASH 서버)(611)는, 스텝 S254에 있어서, 시그널링 데이터로서의 MPD나 세그먼트를 송신(출력)한다.
송신 장치(610)가 방송 서버(21)인 경우, 방송 신호 생성부(방송 서버)(613)에 있어서, MPD나 세그먼트를 방송파에 실어서 송신하는 처리가 행해진다.
데이터 배신 서버(22)인 경우에는, MPD나 세그먼트를, 네트워크를 통해서 송신한다.
이어서, 튜너 실장 수신 장치(620)의 처리에 대해서 설명한다.
튜너 실장 수신 장치(620)는, 도 5, 도 6에 나타내는 튜너 실장 수신 장치(30)와 마찬가지 구성을 갖는다.
튜너 실장 수신 장치(620)는, 송신 장치(610)의 송신하는 AV 세그먼트나, 애플리케이션 제어 메시지(ACM)를 수신하고, 애플리케이션 제어 메시지(ACM)를 이벤트 정보로서 세그먼트에 기록한 ACM 기록 세그먼트를 생성한다.
또한, 생성한 ACM 기록 세그먼트나, MPD를 튜너 비실장 수신 장치(630)에 전송한다.
튜너 실장 수신 장치(620)가 실행하는 각 스텝의 처리에 대해서 설명한다.
(스텝 S261)
튜너 실장 수신 장치(620)의 미들웨어(621)는, 송신 장치(610)로부터 애플리케이션 제어 메시지(ACM)를 수신하면, 스텝 S261에 있어서, 수신한 애플리케이션 제어 메시지(ACM)를 이벤트로서 설정한다.
즉, 애플리케이션 제어 메시지(ACM)의 액티베이트 시간, 계속 시간 등, 이벤트 통지에 있어서 필요한 각 파라미터를 설정하고, DASH 규격에 따른 이벤트 정보로서의 포맷을 정돈한다.
또한, 이 처리에 적용하는 각 파라미터는, 송신 장치(610)로부터 수신하는 애플리케이션 제어 메시지(ACM)에 부수되는 속성 데이터로서 기록되어 있다.
(스텝 S262)
이어서, 튜너 실장 수신 장치(620)의 미들웨어(621)는, 스텝 S262에 있어서, 세그먼트의 구성 데이터인 MP4에 있어서 규정되는 emsg 박스에 대하여, 이벤트 정보로서 애플리케이션 제어 메시지(ACM)의 삽입을 행한다.
이 처리에 의해, 먼저 도 18을 참조하여 설명한 애플리케이션 제어 메시지를 포함하는 세그먼트가 생성된다. 구체적으로는 MP4에 있어서 규정되는 emsg 박스 기록 데이터를 생성한다.
도 18에 나타내는 애플리케이션 제어 메시지 저장 세그먼트에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션 제어 메시지를 참조한 처리를 행하는 것이 가능하게 된다.
즉, 애플리케이션 제어 메시지의 기록 데이터에 따라서 취득되는 애플리케이션에 대하여,
애플리케이션 제어 메시지에 기록된 제어 커맨드를 적용한 처리를 실행한다.
실행 시간이나, 계속 시간은, 세그먼트(emsg 박스) 기록 데이터에 따르게 된다.
(스텝 S263)
이어서, 튜너 실장 수신 장치(620)의 미들웨어(621)는, 스텝 S263에 있어서, MPD 및 애플리케이션 제어 메시지를 기록한 세그먼트를 송신(출력)한다.
또한, 튜너 실장 수신 장치(620)로부터, 튜너 비실장 수신 장치(630)에 대한 MPD나 세그먼트 출력은, 예를 들어 튜너 실장 수신 장치(620)의 미들웨어로부터 프록시 서버를 통해서 실행된다.
이어서, 도 22의 우측에 나타내는 튜너 비실장 수신 장치(630)가 실행하는 처리에 대해서 설명한다.
도 22에는, 튜너 비실장 수신 장치(630)의 애플리케이션 제어부(631), 재생 제어부(632)를 나타내고 있다. 이들의 구성은, 도 5, 도 6에 나타내는 튜너 비실장 수신 장치(40)의 각 구성에 대응한다.
(스텝 S271)
먼저, 튜너 비실장 수신 장치(630)의 재생 제어부(DASH 클라이언트)(632)는, 튜너 실장 수신 장치(620)의 미들웨어(621)를 통해서 세그먼트를 취득하면, 스텝 S271에 있어서, 취득한 세그먼트로부터 이벤트 정보를 취득한다.
또한, 여기에서 취득한 세그먼트는, 애플리케이션 제어 메시지(ACM)가 기록된 emsg 박스를 포함하는 세그먼트인 것으로 한다.
도 18을 참조하여 설명한 MP4 규정의 emsg 박스에 애플리케이션 제어 메시지(ACM)가 기록된 세그먼트이다.
애플리케이션 제어 메시지 저장 세그먼트에는, 앞서 설명한 바와 같이,
이벤트의 종류로서, 애플리케이션 제어 메시지인 것이 나타나 있다.
또한, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
또한, 애플리케이션 제어 메시지의 액티베이트(활성화) 시각, 계속 시간 정보 등이 기록되어 있다.
수신 장치는, 이 세그먼트에 기록된 애플리케이션 제어 메시지에 따라, 지정된 애플리케이션에 대하여 지정된 커맨드를 적용한 처리를 행하는 것이 가능하게 된다.
(스텝 S272)
이어서, 튜너 비실장 수신 장치(630)의 애플리케이션 제어부(631)는, 스텝 S272에 있어서, 세그먼트로부터 취득한 애플리케이션 제어 메시지(ACM)의 적용 처리를 행한다.
애플리케이션 제어 메시지 저장 세그먼트에는, 이벤트 데이터로서, 도 15를 참조하여 설명한 애플리케이션 제어 메시지(ACM)가 저장되어 있다.
애플리케이션 제어 메시지(ACM)에는, 제어 대상의 애플리케이션 본체 또는 식별 정보가 기록되고, 또한 메타데이터, 제어 커맨드 등이 기록되어 있다.
애플리케이션 제어부(631)는, 이 ACM 기록 데이터에 따라서 특정되는 애플리케이션에 대하여, ACM에 규정된 커맨드의 적용 처리를 실행한다.
또한, 커맨드 적용 시각이나, 계속 시간 정보는, 먼저 도 18을 참조하여 설명한 바와 같이 세그먼트(MP4 규정의 emsg 박스)에 기록되어 있다.
(스텝 S273)
이어서, 튜너 비실장 수신 장치(630)의 재생 제어부(DASH 클라이언트)(632)는, 튜너 실장 수신 장치(620)를 통해서 수신한 세그먼트로부터 AV 콘텐츠 등을 취득하여 재생 처리를 실행한다.
또한, 스텝 S271 내지 S273의 처리는, 계속적으로 반복 실행되게 된다.
이와 같이, 튜너 비실장 수신 장치(630)는, AV 세그먼트를 수신하여 재생하는 처리에 맞추어, 세그먼트에 기록된 이벤트 정보로서의 애플리케이션 제어 메시지(ACM)에 따라, 여러 애플리케이션 제어를 실행하는 것이 가능하게 된다.
[10. 송신 장치와 수신 장치의 구성예에 대해서]
이어서, 통신 장치인 송신 장치(서버)(20)와, 수신 장치(클라이언트)(30, 40)의 장치 구성예에 대해서, 도 23, 도 24를 참조하여 설명한다.
도 23에는, 송신 장치(서버)(20)와, 수신 장치(클라이언트)(30)의 구성예를 나타내고 있다.
송신 장치(서버)(20)는, 데이터 처리부(751), 통신부(752), 기억부(753)를 갖는다.
수신 장치(클라이언트)(30, 40)는, 데이터 처리부(771), 통신부(772), 기억부(773), 입력부(774), 출력부(775)를 갖는다.
데이터 처리부에는 재생 제어부(771a), 출력 제어부(771b), 애플리케이션 제어부(771c)가 포함된다.
송신 장치(서버)(20)의 데이터 처리부(751)는, 데이터 배신 서비스를 실행하기 위한 각종 데이터 처리를 실행한다. 예를 들어 데이터 배신 서비스의 구성 데이터의 생성이나 송신 제어를 행한다. 또한, 데이터 처리부(751)는, 수신 장치(클라이언트)(30)에 제공하는 애플리케이션, 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트, 그 외 여러 데이터나, 시그널링 데이터의 생성, 송신 처리를 행한다.
통신부(752)는, AV 세그먼트 외에, 애플리케이션, 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트, 그 외 여러 데이터, 시그널링 데이터 등의 배신 등의 통신 처리를 행한다.
기억부(753)는 배신 대상으로 하는 AV 세그먼트, 애플리케이션, 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트, 애플리케이션에 의해 이용되는 데이터, 시그널링 데이터 등이 저장된다.
또한, 기억부(753)는, 데이터 처리부(751)가 실행하는 데이터 처리의 워크 에리어로서 이용되고, 또한 각종 파라미터의 기억 영역으로서도 이용된다.
한편, 수신 장치(클라이언트)(30, 40)는, 데이터 처리부(771), 통신부(772), 기억부(773), 입력부(774), 출력부(775)를 갖는다.
통신부(772)는, 튜너 실장 수신 장치(30)의 통신부와, 튜너 비실장 수신 장치(40)의 경우가 다른 설정이 된다.
튜너 실장 수신 장치(30)의 통신부는, 송신 장치(서버)(20)로부터 배신되는 데이터, 예를 들어 AV 세그먼트나 애플리케이션, 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트, 애플리케이션에 의해 이용되는 데이터, 시그널링 데이터 등을 수신한다.
또한, LAN, Wi-Fi 등의 네트워크를 통한 데이터 송수신이 가능한 통신부로서 구성된다.
한편, 튜너 비실장 수신 장치(40)의 통신부는, 방송파를 수신 가능한 튜너부는 갖지 않고, LAN, Wi-Fi 등의 네트워크를 통한 데이터 송수신을 실행 가능한 통신부로서 구성된다.
데이터 처리부(771)는, 재생 제어부(771a), 출력 제어부(771b), 애플리케이션 제어부(771c)를 갖고, 예를 들어 앞서 설명한 실시예에 따른 처리 등을 실행한다.
구체적으로는, 애플리케이션이나, API, 또한 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트를 이용한 데이터 처리 등을 실행한다.
유저의 지시 커맨드, 예를 들어 채널 선택, 애플리케이션 기동, 인스톨 등의 여러가지 커맨드는 입력부(774)를 통해서 입력된다.
재생 데이터는 표시부나 스피커 등의 출력부(775)에 출력된다.
기억부(773)는 AV 세그먼트, 애플리케이션 제어 메시지(ACM), ACM 저장 MPD, ACM 저장 세그먼트, 애플리케이션, 애플리케이션에 의해 이용되는 데이터, 시그널링 데이터 등이 저장된다.
또한, 기억부(773)는 데이터 처리부(771)가 실행하는 데이터 처리의 워크 에리어로서 이용되고, 또한 각종 파라미터의 기억 영역으로서도 이용된다.
도 24는, 송신 장치(20), 수신 장치(30)로서 적용 가능한 통신 장치의 하드웨어 구성예를 나타내고 있다.
CPU(Central Processing Unit)(801)는, ROM(Read Only Memory)(802) 또는 기억부(808)에 기억되어 있는 프로그램에 따라서 각종 처리를 실행하는 데이터 처리부로서 기능한다. 예를 들어, 상술한 실시예에 있어서 설명한 시퀀스에 따른 처리를 실행한다. RAM(Random Access Memory)(803)에는, CPU(801)가 실행하는 프로그램이나 데이터 등이 기억된다. 이들 CPU(801), ROM(802) 및 RAM(803)은, 버스(804)에 의해 서로 접속되어 있다.
CPU(801)는 버스(804)를 통해서 입출력 인터페이스(805)에 접속되고, 입출력 인터페이스(805)에는, 각종 스위치, 키보드, 마우스, 마이크로폰 등을 포함하는 입력부(806), 디스플레이, 스피커 등을 포함하는 출력부(807)가 접속되어 있다. CPU(801)는, 입력부(806)로부터 입력되는 명령에 대응해서 각종 처리를 실행하고, 처리 결과를 예를 들어 출력부(807)에 출력한다.
입출력 인터페이스(805)에 접속되어 있는 기억부(808)는, 예를 들어 하드 디스크 등으로 이루어지고, CPU(801)가 실행하는 프로그램이나 각종 데이터를 기억한다. 통신부(809)는, 인터넷이나 로컬 에어리어 네트워크 등의 네트워크를 통한 데이터 통신의 송수신부, 또한 방송파의 송수신부로서 기능하여, 외부의 장치와 통신한다.
입출력 인터페이스(805)에 접속되어 있는 드라이브(810)는, 자기 디스크, 광 디스크, 광자기 디스크, 혹은 메모리 카드 등의 반도체 메모리 등의 리무버블 미디어(811)를 구동하여, 데이터의 기록 혹은 판독을 실행한다.
또한, 데이터의 부호화 혹은 복호는, 데이터 처리부로서의 CPU(801)의 처리로서 실행 가능하지만, 부호화 처리 혹은 복호 처리를 실행하기 위한 전용 하드웨어로서의 코덱을 구비한 구성으로 해도 된다.
[11. 본 개시의 구성의 요약]
이상, 특정한 실시예를 참조하면서, 본 개시의 실시예에 대해서 상세히 설명하였다. 그러나, 본 개시의 요지를 일탈하지 않는 범위에서 당업자가 실시예의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 예시라고 하는 형태로 본 발명을 개시한 것이며, 한정적으로 해석되어서는 안된다. 본 개시의 요지를 판단하기 위해서는, 특허 청구 범위의 란을 참작해야 한다.
또한, 본 명세서에 있어서 개시한 기술은, 이하와 같은 구성을 취할 수 있다.
(1) 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 수신하는 통신부와,
이벤트 통지 메시지에 이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 애플리케이션 제어부를 갖는 수신 장치.
(2) 상기 이벤트 통지 데이터는,
제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 (1)에 기재된 수신 장치.
(3) 상기 이벤트 통지 데이터는,
AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 (1)에 기재된 수신 장치.
(4) 상기 이벤트 통지 데이터는,
이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인 (1) 내지 (3) 중 어느 하나에 기재된 수신 장치.
(5) 상기 이벤트 통지 데이터는,
이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 따라서 처리를 실행하기 위한 제어 시간 정보를 기록한 데이터인 (1) 내지 (4) 중 어느 하나에 기재된 수신 장치.
(6) 상기 애플리케이션 제어 메시지는,
제어 대상이 되는 애플리케이션 본체 또는 애플리케이션 식별자를 기록한 데이터인 (1) 내지 (5) 중 어느 하나에 기재된 수신 장치.
(7) 상기 애플리케이션 제어 메시지는,
제어 대상이 되는 애플리케이션에 관한 메타데이터를 기록한 데이터인 (1) 내지 (6) 중 어느 하나에 기재된 수신 장치.
(8) 상기 메타데이터는,
(a) 제어 대상이 되는 애플리케이션의 버전,
(b) 제어 대상이 되는 애플리케이션의 실행에 필요한 리소스 정보,
(c) 제어 대상이 되는 애플리케이션의 레이팅 정보,
상기 (a) 내지 (c) 중 적어도 어느 하나의 정보를 포함하는 (7)에 기재된 수신 장치.
(9) 상기 애플리케이션 제어 메시지는,
제어 대상이 되는 애플리케이션에 대한 커맨드를 기록한 데이터인 (1) 내지 (8) 중 어느 하나에 기재된 수신 장치.
(10) 상기 수신 장치는, 추가로,
상기 통신부가 수신한 이벤트 통지 데이터로부터, 애플리케이션 제어 메시지를 취득해서 상기 애플리케이션 제어부에 출력하는 데이터 처리부를 갖는 (1) 내지 (9) 중 어느 하나에 기재된 수신 장치.
(11) 애플리케이션 제어 메시지를 수신하는 통신부와,
상기 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하는 미들웨어와,
상기 이벤트 통지 데이터로부터 애플리케이션 제어 메시지를 취득하여, 애플리케이션 제어부에 출력하는 데이터 처리부와,
상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 애플리케이션 제어부를 갖는 수신 장치.
(12) 상기 미들웨어는,
제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터를 생성하는 (11)에 기재된 수신 장치.
(13) 상기 미들웨어는,
AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터를 생성하는 (11)에 기재된 수신 장치.
(14) 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신하는 통신부를 갖는 송신 장치.
(15) 상기 이벤트 통지 데이터는,
제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 (14)에 기재된 송신 장치.
(16) 상기 이벤트 통지 데이터는,
AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 (14)에 기재된 송신 장치.
(17) 수신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 수신하고,
애플리케이션 제어부가, 이벤트 통지 메시지에 이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 데이터 처리 방법.
(18) 수신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 수신하고,
미들웨어가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하고,
데이터 처리부가, 상기 이벤트 통지 데이터로부터 애플리케이션 제어 메시지를 취득하여, 애플리케이션 제어부에 출력하고,
애플리케이션 제어부가, 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 데이터 처리 방법.
(19) 송신 장치에 있어서 실행하는 데이터 처리 방법이며,
통신부가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신하는 데이터 처리 방법.
또한, 명세서 중에 있어서 설명한 일련의 처리는 하드웨어 또는 소프트웨어, 혹은 양자의 복합 구성에 의해 실행하는 것이 가능하다. 소프트웨어에 의한 처리를 실행하는 경우에는, 처리 시퀀스를 기록한 프로그램을, 전용 하드웨어에 내장된 컴퓨터 내의 메모리에 인스톨해서 실행시키거나, 혹은 각종 처리가 실행 가능한 범용 컴퓨터에 프로그램을 인스톨해서 실행시키는 것이 가능하다. 예를 들어, 프로그램은 기록 매체에 미리 기록해 둘 수 있다. 기록 매체로부터 컴퓨터에 인스톨하는 것 외에, LAN(Local Area Network), 인터넷과 같은 네트워크를 통해서 프로그램을 수신하고, 내장된 하드 디스크 등의 기록 매체에 인스톨할 수 있다.
또한, 명세서에 기재된 각종 처리는, 기재에 따라서 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리 능력 혹은 필요에 따라 병렬적으로 혹은 개별로 실행되어도 된다. 또한, 본 명세서에 있어서 시스템이란, 복수 장치의 논리적 집합 구성이며, 각 구성의 장치가 동일 하우징 내에 있는 것에 한정되지는 않는다.
이상, 설명한 바와 같이, 본 개시의 일 실시예의 구성에 따르면, 애플리케이션 제어 메시지를 적용한 애플리케이션 제어를 확실하게 실행 가능하게 한 구성이 실현된다.
구체적으로는, 송신 장치가 수신 장치에 애플리케이션 제어 메시지(ACM)를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 송신한다. 수신 장치의 애플리케이션 제어부는, 이벤트 통지 메시지에 이벤트 데이터로서 저장된 ACM에 기초한 애플리케이션 제어를 실행한다. 이벤트 통지 데이터는, 시그널링 데이터인 MPD 또는, AV 콘텐츠의 송신용 데이터인 세그먼트 내에 저장되고, 수신 장치는 MPD 또는 세그먼트로부터 ACM을 취득해서 신속한 애플리케이션 제어를 행할 수 있다.
본 구성에 의해, 애플리케이션 제어 메시지를 적용한 애플리케이션 제어를 확실하게 실행 가능하게 한 구성이 실현된다.
10 : 통신 시스템
20 : 송신 장치
21 : 방송 서버
22 : 데이터 배신 서버
30 : 튜너 실장 수신 장치
31 : 중계 서버
32 : TV
33 : PC
34 : 휴대 단말기
40 : 튜너 비실장 수신 장치
41 : PC
42 : 휴대 단말기
50 : 시그널링 데이터
60 : AV 세그먼트
70 : 그 밖의 데이터
110 : 미들웨어
111 : 통신부(PHY/MAC)
112 : 시그널링 취득부
113 : 시그널링 해석부
114 : 세그먼트 취득부
115 : 이벤트 삽입부
116 : 애플리케이션 파일 취득부
120 : HTTP 프록시 서버
121, 122 : 캐시부
123 : 어드레스 해결부
131, 151 : 재생 제어부
132, 152 : 출력 제어부
140, 160 : 애플리케이션 제어부
310 : 이벤트 삽입 실행 장치
311 : 데이터 출력부(DASH 서버)
312 : 이벤트 처리부(이벤트 서버)
320 : 이벤트 실행 장치
321 : 재생 제어부(이벤트 클라이언트)
322 : 재생 제어부(DASH 클라이언트)
510 : 송신 장치
511 : 데이터 출력부(DASH 서버)
512 : ACM 처리부(ACM 서버)
513 : 방송 신호 처리부(방송 서버)
520 : 수신 장치
521 : 미들웨어
522 : 애플리케이션 제어부
523 : 재생 제어부
610 : 송신 장치
611 : 데이터 출력부(DASH 서버)
612 : ACM 처리부(ACM 서버)
613 : 방송 신호 처리부(방송 서버)
620 : 튜너 실장 수신 장치
621 : 미들웨어
630 : 튜너 비실장 수신 장치
631 : 애플리케이션 제어부
632 : 재생 제어부
751 : 데이터 처리부
752 : 통신부
753 : 기억부
771 : 데이터 처리부
771a : 재생 제어부
771b : 출력 제어부
771c : 애플리케이션 제어부
772 : 통신부
773 : 기억부
774 : 입력부
775 : 출력부
801 : CPU
802 : ROM
803 : RAM
804 : 버스
805 : 입출력 인터페이스
806 : 입력부
807 : 출력부
808 : 기억부
809 : 통신부
810 : 드라이브
811 : 리무버블 미디어

Claims (19)

  1. 수신 장치로서,
    방송에서 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 수신하도록 구성된 통신 회로; 및
    상기 통신 회로가 수신한 상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하고, 추출된 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하도록 구성된 처리 회로를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 수신 장치.
  2. 제1항에 있어서,
    상기 이벤트 통지 데이터는,
    제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 수신 장치.
  3. 제1항에 있어서,
    상기 이벤트 통지 데이터는,
    AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 수신 장치.
  4. 제1항에 있어서,
    상기 이벤트 통지 데이터는,
    이벤트 데이터로서 저장된 애플리케이션 제어 메시지에 따라서 처리를 실행하기 위한 제어 시간 정보를 기록한 데이터인 수신 장치.
  5. 제1항에 있어서,
    상기 애플리케이션 제어 메시지는,
    제어 대상이 되는 애플리케이션 본체 또는 애플리케이션 식별자를 기록한 데이터인 수신 장치.
  6. 제1항에 있어서,
    상기 애플리케이션 제어 메시지는,
    제어 대상이 되는 애플리케이션에 관한 메타데이터를 기록한 데이터인 수신 장치.
  7. 제6항에 있어서,
    상기 메타데이터는,
    (a) 상기 제어 대상이 되는 애플리케이션의 버전,
    (b) 상기 제어 대상이 되는 애플리케이션의 실행에 필요한 리소스 정보,
    (c) 상기 제어 대상이 되는 애플리케이션의 레이팅 정보,
    상기 (a) 내지 (c) 중 적어도 어느 하나의 정보를 포함하는 수신 장치.
  8. 제1항에 있어서,
    상기 애플리케이션 제어 메시지는,
    제어 대상이 되는 애플리케이션에 대한 커맨드를 기록한 데이터인 수신 장치.
  9. 수신 장치로서,
    방송에서 애플리케이션 제어 메시지를 수신하도록 구성된 통신 회로;
    상기 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하도록 구성된 미들웨어; 및
    상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하고, 추출된 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하도록 구성된 처리 회로를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 수신 장치.
  10. 제9항에 있어서,
    상기 미들웨어는,
    제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터를 생성하는 수신 장치.
  11. 제9항에 있어서,
    상기 미들웨어는,
    AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터를 생성하는 수신 장치.
  12. 송신 장치로서,
    애플리케이션 제어 메시지를 이벤트 데이터로서 이벤트 통지 데이터에 저장하도록 구성된 처리 회로; 및
    상기 애플리케이션 제어 메시지를 이벤트 데이터로서 포함하는 상기 이벤트 통지 데이터를 방송에서 수신 장치로 송신하도록 구성된 통신 회로를 포함하고,
    상기 수신 장치는, 상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하고, 추출된 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 처리 회로를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 송신 장치.
  13. 제12항에 있어서,
    상기 이벤트 통지 데이터는,
    제어 정보의 통지 데이터로서 송신되는 시그널링 데이터인 MPD(Media Presentation Description)를 이용한 이벤트 통지 방식인 MPD 적용 이벤트 통지 방식(MPD Event)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 송신 장치.
  14. 제12항에 있어서,
    상기 이벤트 통지 데이터는,
    AV 콘텐츠의 송신용 데이터인 세그먼트를 이용한 이벤트 통지 방식인 세그먼트 적용 이벤트 통지 방식(=In-band Event Signaling)에 따른 데이터 포맷을 갖는 이벤트 통지 데이터인 송신 장치.
  15. 수신 장치에 있어서 실행하는 데이터 처리 방법으로서,
    통신 회로가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 방송에서 수신하는 단계,
    처리 회로가, 상기 통신 회로가 수신한 상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하는 단계, 및
    상기 처리 회로가, 추출된 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 단계를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 데이터 처리 방법.
  16. 수신 장치에 있어서 실행하는 데이터 처리 방법으로서,
    통신 회로가, 방송에서 애플리케이션 제어 메시지를 수신하는 단계,
    미들웨어가, 애플리케이션 제어 메시지를 이벤트 데이터로서 저장한 이벤트 통지 데이터를 생성하는 단계,
    처리 회로가, 상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하는 단계, 및
    상기 처리 회로가, 추출된 상기 애플리케이션 제어 메시지에 기초한 애플리케이션 제어를 실행하는 단계를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 데이터 처리 방법.
  17. 송신 장치에 있어서 실행하는 데이터 처리 방법으로서,
    상기 송신 장치의 처리 회로가, 애플리케이션 제어 메시지를 이벤트 데이터로서 이벤트 통지 데이터에 저장하는 단계, 및
    통신 회로가, 상기 애플리케이션 제어 메시지를 포함하는 상기 이벤트 통지 데이터를 방송에서 수신 장치로 송신하는 단계를 포함하고,
    상기 수신 장치는, 상기 이벤트 통지 데이터로부터 상기 애플리케이션 제어 메시지를 추출하고, 추출된 상기 애플리케이션 제어 메시지에 따라서 애플리케이션 제어를 실행하는 처리 회로를 포함하고,
    상기 이벤트 통지 데이터는, 상기 이벤트 데이터가 애플리케이션 제어 메시지인 것을 나타내는 이벤트 식별자를 기록한 데이터인, 데이터 처리 방법.
  18. 삭제
  19. 삭제
KR1020177029962A 2015-04-30 2016-03-22 수신 장치, 송신 장치 및 데이터 처리 방법 KR102533674B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015092627 2015-04-30
JPJP-P-2015-092627 2015-04-30
PCT/JP2016/058933 WO2016174959A1 (ja) 2015-04-30 2016-03-22 受信装置、送信装置、およびデータ処理方法

Publications (2)

Publication Number Publication Date
KR20170141676A KR20170141676A (ko) 2017-12-26
KR102533674B1 true KR102533674B1 (ko) 2023-05-18

Family

ID=57198401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177029962A KR102533674B1 (ko) 2015-04-30 2016-03-22 수신 장치, 송신 장치 및 데이터 처리 방법

Country Status (8)

Country Link
US (1) US10425689B2 (ko)
EP (1) EP3291568B1 (ko)
JP (1) JPWO2016174959A1 (ko)
KR (1) KR102533674B1 (ko)
CN (1) CN107534792B (ko)
CA (1) CA2981228C (ko)
MX (1) MX2017013411A (ko)
WO (1) WO2016174959A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7390816B2 (ja) * 2019-08-02 2023-12-04 日本放送協会 配信システム、受信装置およびプログラム
EP4207776A1 (en) * 2020-08-31 2023-07-05 LG Electronics, Inc. Media data processing method and media data processing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793057B1 (ko) * 2006-09-01 2008-01-10 한국전자통신연구원 이기종 센서 네트워크 기반의 정보 서비스 생성을 위한usn 미들웨어 장치 및 그 방법과, 그를 이용한 정보서비스 제공 시스템
US20100259380A1 (en) 2009-04-09 2010-10-14 Fujitsu Limited Event detection control method and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5121231B2 (ja) * 2004-06-28 2013-01-16 パナソニック株式会社 データ処理装置
US7983769B2 (en) * 2004-11-23 2011-07-19 Rockwell Automation Technologies, Inc. Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
WO2006075885A1 (en) * 2005-01-12 2006-07-20 Electronics And Telecommunications Research Institute Effective application program transmitting/receiving method and its device using module concept at digital broadcasting network
US20100025938A1 (en) * 2006-06-07 2010-02-04 Freudenberg-Nok General Partnership Bearing Seal
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
KR20120083747A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 방송통신 융합형 서비스를 위한 전송 방법 및 장치
US8700027B2 (en) * 2011-02-11 2014-04-15 Alcatel Lucent Method and apparatus for network analysis
JP6348251B2 (ja) 2012-09-13 2018-06-27 サターン ライセンシング エルエルシーSaturn Licensing LLC 端末装置、受信方法、およびプログラム
CN103929472A (zh) * 2014-03-21 2014-07-16 珠海多玩信息技术有限公司 数据处理方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793057B1 (ko) * 2006-09-01 2008-01-10 한국전자통신연구원 이기종 센서 네트워크 기반의 정보 서비스 생성을 위한usn 미들웨어 장치 및 그 방법과, 그를 이용한 정보서비스 제공 시스템
US20100259380A1 (en) 2009-04-09 2010-10-14 Fujitsu Limited Event detection control method and system

Also Published As

Publication number Publication date
CN107534792A (zh) 2018-01-02
US10425689B2 (en) 2019-09-24
EP3291568A4 (en) 2018-10-24
EP3291568A1 (en) 2018-03-07
CA2981228A1 (en) 2016-11-03
WO2016174959A1 (ja) 2016-11-03
US20180146252A1 (en) 2018-05-24
CA2981228C (en) 2023-08-01
MX2017013411A (es) 2018-02-09
KR20170141676A (ko) 2017-12-26
EP3291568B1 (en) 2022-05-04
CN107534792B (zh) 2021-03-09
JPWO2016174959A1 (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
US11785289B2 (en) Receiving device, transmitting device, and data processing method
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
EP3813381B1 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
KR102438011B1 (ko) 수신 장치 및 데이터 처리 방법
KR102506963B1 (ko) 수신 장치, 송신 장치, 및 데이터 처리 방법
KR102085192B1 (ko) 렌더링 시간 제어
CN107615774B (zh) 接收装置、发送装置及数据处理方法
KR20180058219A (ko) 송신 장치, 수신 장치, 및 데이터 처리 방법
KR102533674B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
KR102628917B1 (ko) 송신 장치, 수신 장치, 및 데이터 처리 방법
KR20110117568A (ko) 멀티미디어 전송 시스템에서 서비스 발견 정보를 송수신하는 방법 및 장치와 이를 위한 파일 구조
KR20140103846A (ko) 미디어 컨텐츠 송수신 방법 및 그를 이용한 송수신기

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right