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

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

Info

Publication number
KR102653289B1
KR102653289B1 KR1020187018954A KR20187018954A KR102653289B1 KR 102653289 B1 KR102653289 B1 KR 102653289B1 KR 1020187018954 A KR1020187018954 A KR 1020187018954A KR 20187018954 A KR20187018954 A KR 20187018954A KR 102653289 B1 KR102653289 B1 KR 102653289B1
Authority
KR
South Korea
Prior art keywords
application
unit
content
server
signaling
Prior art date
Application number
KR1020187018954A
Other languages
English (en)
Other versions
KR20180105641A (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 KR20180105641A publication Critical patent/KR20180105641A/ko
Application granted granted Critical
Publication of KR102653289B1 publication Critical patent/KR102653289B1/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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/93Arrangements characterised by the broadcast information itself which locates resources of other pieces of information, e.g. URL [Uniform Resource Locator]
    • 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/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/13Arrangements for device control affected by the broadcast information
    • 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/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • 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/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • H04H60/23Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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
    • 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
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44236Monitoring of piracy processes or activities
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • 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/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet

Abstract

본 기술은, 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 유연하게 운용할 수 있도록 하는 수신 장치, 송신 장치 및 데이터 처리 방법에 관한 것이다. 수신 장치는, 콘텐츠를 수신하는 수신부와, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하는 취득부와, 취득된 상기 애플리케이션을 즉시 기동하는 제어부를 구비한다. 본 기술은, 예를 들어 디지털 방송을 수신 가능한 텔레비전 수상기에 적용할 수 있다.

Description

수신 장치, 송신 장치 및 데이터 처리 방법
본 기술은, 수신 장치, 송신 장치 및 데이터 처리 방법에 관한 것이며, 특히 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 유연하게 운용할 수 있도록 한 수신 장치, 송신 장치 및 데이터 처리 방법에 관한 것이다.
프로그램이나 CM 등의 콘텐츠에 부수되는 애플리케이션(이하, 간단히 애플리케이션이라고 함)의 배신의 라이프 사이클 컨트롤에, AIT(Application Information Table) 등의 애플리케이션 제어 정보를 사용하는 것이 알려져 있다. 이 애플리케이션 제어 정보에 의해, 애플리케이션의 기동이나 종료의 동작을 제어할 수 있다.
한편, 애플리케이션이, 소위 전파 잭(방송 신호 인터럽트: Broadcast signal intrusion) 등의 부정행위에 의해, 콘텐츠의 제공자가 의도하지 않은 악의가 있는 애플리케이션으로 치환될 가능성이 문제시되고 있다.
이러한 종류의 문제의 해결책으로서는, PKI(Public Key Infrastructure) 등을 이용한 본격적인 애플리케이션 인증의 플랫폼을 구축하는 방법도 고려되지만, 애플리케이션 인증을 위해서만, 본격적인 플랫폼을 구축하는 것은, 비용면에서 현실적이지는 않다. 또한, 콘텐츠의 저작권을 보호하기 위한 구조로서, 디지털 저작권 관리(DRM: Digital Rights Management)가 알려져 있다(예를 들어, 특허문헌 1 참조).
WO 2014/080783 A1
그런데, 애플리케이션의 라이프 사이클 컨트롤을 간소화하는 한편, 애플리케이션을 저비용으로 시큐어로 제공하여, 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 유연하게 운용하기 위한 제안이 요청되고 있었다.
본 기술은 이러한 상황에 비추어 이루어진 것이며, 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 유연하게 운용할 수 있도록 하는 것이다.
본 기술의 제1 측면의 수신 장치는, 콘텐츠를 수신하는 수신부와, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하는 취득부와, 취득된 상기 애플리케이션을 즉시 기동하는 제어부를 구비하는 수신 장치이다.
본 기술의 제1 측면의 수신 장치는, 독립된 장치여도 되고, 하나의 장치를 구성하고 있는 내부 블록이어도 된다. 또한, 본 기술의 제1 측면의 데이터 처리 방법은, 상술한 본 기술의 제1 측면의 수신 장치에 대응하는 데이터 처리 방법이다.
본 기술의 제1 측면의 수신 장치 및 데이터 처리 방법에 있어서는, 콘텐츠가 수신되고, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션이 취득되고, 취득된 상기 애플리케이션이 즉시 기동된다.
본 기술의 제2 측면의 송신 장치는, 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보이며, 취득된 상기 애플리케이션을 즉시 기동시키기 위한 상기 취득처 정보를 포함하는 제어 정보를 생성하는 생성부와, 상기 콘텐츠와 함께, 상기 제어 정보를 송신하는 송신부를 구비하는 송신 장치이다.
본 기술의 제2 측면의 송신 장치는, 독립된 장치여도 되고, 하나의 장치를 구성하고 있는 내부 블록이어도 된다. 또한, 본 기술의 제2 측면의 데이터 처리 방법은, 상술한 본 기술의 제2 측면의 송신 장치에 대응하는 데이터 처리 방법이다.
본 기술의 제2 측면의 송신 장치 및 데이터 처리 방법에 있어서는, 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보이며, 취득된 상기 애플리케이션을 즉시 기동시키기 위한 상기 취득처 정보를 포함하는 제어 정보가 생성되고, 상기 콘텐츠와 함께, 상기 제어 정보가 송신된다.
본 기술의 제3 측면의 수신 장치는, 콘텐츠를 수신하는 수신부와, 상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하는 취득부와, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 검증부와, 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하는 제어부를 구비하는 수신 장치이다.
본 기술의 제3 측면의 수신 장치는, 독립된 장치여도 되고, 하나의 장치를 구성하고 있는 내부 블록이어도 된다. 또한, 본 기술의 제3 측면의 데이터 처리 방법은, 상술한 본 기술의 제3 측면의 수신 장치에 대응하는 데이터 처리 방법이다.
본 기술의 제3 측면의 수신 장치 및 데이터 처리 방법에 있어서는, 콘텐츠가 수신되고, 상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션이 취득되고, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부가 검증되고, 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션이 기동된다.
본 기술의 제4 측면의 송신 장치는, 콘텐츠에 부수되는 애플리케이션을, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호하는 보호부와, 공통의 DRM(Digital Rights Management)에 의해 보호된 상기 콘텐츠 및 상기 애플리케이션을 송신하는 송신부를 구비하는 송신 장치이다.
본 기술의 제4 측면의 송신 장치는, 독립된 장치여도 되고, 하나의 장치를 구성하고 있는 내부 블록이어도 된다. 또한, 본 기술의 제4 측면의 데이터 처리 방법은, 상술한 본 기술의 제4 측면의 송신 장치에 대응하는 데이터 처리 방법이다.
본 기술의 제4 측면의 송신 장치 및 데이터 처리 방법에 있어서는, 콘텐츠에 부수되는 애플리케이션이, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호되고, 공통의 DRM(Digital Rights Management)에 의해 보호된 상기 콘텐츠 및 상기 애플리케이션이 송신된다.
본 기술의 제1 측면 내지 제4 측면에 따르면, 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 유연하게 운용할 수 있다.
또한, 여기에 기재된 효과는 반드시 한정되는 것은 아니며, 본 개시 중에 기재된 어느 효과여도 된다.
도 1은, 제1 실시 형태의 전송 시스템의 구성예를 도시하는 도면이다.
도 2는, DASH 서버의 구성예를 도시하는 도면이다.
도 3은, 시그널링 서버의 구성예를 도시하는 도면이다.
도 4는, 애플리케이션 서버의 구성예를 도시하는 도면이다.
도 5는, 방송 서버의 구성예를 도시하는 도면이다.
도 6은, 클라이언트 장치의 구성예를 도시하는 도면이다.
도 7은, 애플리케이션 URL에 따른 애플리케이션 제어의 개요를 도시하는 도면이다.
도 8은, 애플리케이션 URL에 따른 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명하는 흐름도이다.
도 9는, 애플리케이션 URL에 따른 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명하는 흐름도이다.
도 10은, MPD 이벤트 방식의 MPD 메타데이터의 기술예를 도시하는 도면이다.
도 11은, MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명하는 흐름도이다.
도 12는, MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명하는 흐름도이다.
도 13은, 인 밴드 이벤트 방식의 DASHEventMessageBox의 배치예를 도시하는 도면이다.
도 14는, 인 밴드 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명하는 흐름도이다.
도 15는, 인 밴드 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명하는 흐름도이다.
도 16은, 제2 실시 형태의 전송 시스템의 구성예를 도시하는 도면이다.
도 17은, 스트림 서버의 구성예를 도시하는 도면이다.
도 18은, DASH 서버의 구성예를 도시하는 도면이다.
도 19는, 애플리케이션 서버의 구성예를 도시하는 도면이다.
도 20은, 클라이언트 장치의 구성예를 도시하는 도면이다.
도 21은, 애플리케이션 다이제스트의 개요를 도시하는 도면이다.
도 22는, 애플리케이션 다이제스트의 신택스의 예를 도시하는 도면이다.
도 23은, digest_type의 예를 도시하는 도면이다.
도 24는, ISOBMFF에 대응한 세그먼트의 데이터 형식의 예를 도시하는 도면이다.
도 25는, 워터마크 저장 방식의 개요를 설명하는 도면이다.
도 26은, 비디오 워터마크를 이용한 애플리케이션 다이제스트의 저장 방법을 도시하는 도면이다.
도 27은, 워터마크 페이로드의 신택스의 예를 도시하는 도면이다.
도 28은, WM 메시지 블록의 신택스의 예를 도시하는 도면이다.
도 29는, WM 메시지 ID의 예를 도시하는 도면이다.
도 30은, 워터마크 저장 방식을 채용한 경우의 송신측의 처리의 흐름을 설명하는 흐름도이다.
도 31은, 워터마크 저장 방식을 채용한 경우의 수신측의 처리의 흐름을 설명하는 흐름도이다.
도 32는, 비VCL-NAL 유닛 저장 방식의 개요를 설명하는 도면이다.
도 33은, 비VCL-NAL 유닛 저장 방식을 채용한 경우의 송신측의 처리의 흐름을 설명하는 흐름도이다.
도 34는, 비VCL-NAL 유닛 저장 방식을 채용한 경우의 수신측의 처리의 흐름을 설명하는 흐름도이다.
도 35는, SLT의 포맷의 예를 도시하는 도면이다.
도 36은, USD의 포맷의 예를 도시하는 도면이다.
도 37은, S-TSID의 포맷의 예를 도시하는 도면이다.
도 38은, MPD 메타데이터의 applicationUrl 요소의 확장의 예를 도시하는 도면이다.
도 39는, S-TSID의 포맷의 예를 도시하는 도면이다.
도 40은, SrcFlow의 포맷의 예를 도시하는 도면이다.
도 41은, EFDT의 포맷의 예를 도시하는 도면이다.
도 42는, EFDT-Instance 요소 또는 File 요소의 확장의 예를 도시하는 도면이다.
도 43은, 컴퓨터의 구성예를 도시하는 도면이다.
이하, 도면을 참조하면서 본 기술의 실시 형태에 대하여 설명한다. 또한, 설명은 이하의 순서대로 행하기로 한다.
1. 제1 실시 형태: 애플리케이션의 라이프 사이클 컨트롤
(1) 시스템의 구성
(2) 애플리케이션 URL에 따른 애플리케이션 제어
(3) 애플리케이션 제어 이벤트에 따른 애플리케이션 제어
(A) MPD 이벤트 방식
(B) 인 밴드 이벤트 방식
2. 제2 실시 형태: 애플리케이션의 시큐어한 제공
(1) 시스템의 구성
(2) 애플리케이션 다이제스트의 개요
(3) 애플리케이션 다이제스트의 전송 방식
(A) 워터마크 저장 방식
(B) 비VCL-NAL 유닛 저장 방식
3. 시그널링의 예
4. 변형예
5. 컴퓨터의 구성
<1. 제1 실시 형태: 애플리케이션의 라이프 사이클 컨트롤>
그런데, 프로그램이나 CM 등의 콘텐츠에 부수되는 애플리케이션을 사용한 서비스를 제공할 때, 애플리케이션의 제어 모델을 심플하게 실장하는 제안이 요청되고 있다. 예를 들어, 현재 책정이 진행되고 있는 미국의 차세대 방송 규격인 ATSC(Advanced Television Systems Committee) 3.0에서는, 애플리케이션의 배신의 라이프 사이클 컨트롤에, AST(Application Signaling Table)를 사용하는 것이 검토되고 있지만, AST를 이용하는 것 이외에, 보다 애플리케이션의 제어 모델을 심플하게 실장하는 것이 요구되고 있다.
그래서, 본 기술에서는, 시그널링에, 콘텐츠에 부수되어 기동하는 애플리케이션의 URL(이하, 애플리케이션 URL(Uniform Resource Locator)이라고 함)만을 기술하여, 서비스(채널)가 선국된 경우에는, 즉시 그 시그널링에 기술된 애플리케이션 URL에 따라, 애플리케이션을 취득하여, 취득된 애플리케이션이 즉시 기동되도록 한다.
즉, 본 기술에서는, AST나 AIT 등의 애플리케이션 제어 정보에 의해 제어되는 개별의 애플리케이션의 라이프 사이클 컨트롤은 행하지 않고, 서비스(채널) 그 자체, 혹은 서비스(채널)의 특정한 시간대(예를 들어 프로그램 프레임이나 CM 프레임)에 바인딩된 하나 또는 복수의 애플리케이션 URL이, 시그널링에 기술되도록 해 둠으로써, 시그널링에 애플리케이션 URL이 기술되는 경우에는, 대상의 애플리케이션을 취득하여, 즉시 기동되도록 하고 있다.
이하, 제1 실시 형태로서, 애플리케이션 URL을 이용한 애플리케이션의 라이프 사이클 컨트롤의 간소화에 대하여 설명한다.
(1) 시스템의 구성
(전송 시스템의 구성)
도 1은, 본 기술을 적용한 전송 시스템의 일 실시 형태(제1 실시 형태)의 구성예를 도시하는 도면이다. 또한, 시스템이란, 복수의 장치가 논리적으로 집합한 것을 말한다.
도 1에 있어서, 전송 시스템(1)은, 송신측 시스템(5)과, 수신측의 클라이언트 장치(60)로 구성된다. 전송 시스템(1)에 있어서는, 송신측 시스템(5)으로부터 송신되는 데이터가, 전송로(80) 또는 인터넷(90)을 통하여 클라이언트 장치(60)에 의해 수신된다.
예를 들어, 전송 시스템(1)에서는, ATSC3.0 등의 소정의 규격에 준거한 데이터 전송이 행해진다. 또한, ATSC3.0에서는, 전송 방식으로서, 현재 널리 보급되어 있는 MPEG2-TS(Transport Stream) 방식이 아니라, 통신 분야에서 사용되고 있는 IP(Internet Protocol) 패킷을 디지털 방송에 사용한 IP 전송 방식을 도입함으로써, 보다 고도의 서비스를 제공하는 것이 상정되고 있다.
송신측 시스템(5)은, 예를 들어 ATSC3.0 등의 소정의 규격에 준거한 데이터를 송신하기 위한 처리를 행한다. 송신측 시스템(5)은, DASH 서버(10), 시그널링 서버(20), 애플리케이션 서버(30), 방송 서버(40) 및 통신 서버(50)로 구성된다.
DASH 서버(10)는, MPEG-DASH(Dynamic Adaptive Streaming over HTTP)에 대응한 배신 서비스를 행하기 위한 서버이다. 여기서, MPEG-DASH는, OTT-V(Over The Top Video)을 따른 스트리밍 배신 규격이며, HTTP(Hypertext Transfer Protocol)를 베이스로 한 스트리밍 프로토콜을 사용한 어댑티브 스트리밍 배신에 관한 규격이다.
이 MPEG-DASH의 규격에서는, 동화상이나 음성의 파일의 관리 정보인 메타데이터를 기술하기 위한 매니페스트 파일과, 동화상의 콘텐츠를 전송하기 위한 파일 포맷이 규정되어 있다. 또한, 전자의 매니페스트 파일은, MPD(Media Presentation Description)라고 칭해진다. 또한, 후자의 파일 포맷은, 세그먼트 포맷이라고도 칭해진다.
DASH 서버(10)는, 외부로부터 MPD 메타데이터를 생성하기 위한 데이터나, 콘텐츠의 데이터 등을 수신한다. DASH 서버(10)는, 외부로부터의 데이터에 기초하여, MPD 메타데이터를 생성하고, 시그널링 서버(20)에 송신한다. 또한, DASH 서버(10)는, 외부로부터의 데이터에 기초하여, 프로그램이나 CM 등의 콘텐츠의 세그먼트(이하, DASH 세그먼트라고도 함)의 파일을 생성하고, 방송 서버(40) 또는 통신 서버(50)에 송신한다.
애플리케이션 서버(30)는, 외부로부터 애플리케이션을 생성하기 위한 데이터 등을 수신한다. 애플리케이션 서버(30)는, 외부로부터의 데이터에 기초하여, 애플리케이션의 취득처를 나타내는 애플리케이션 URL을 생성하고, 시그널링 서버(20)에 송신한다. 또한, 애플리케이션 서버(30)는, 외부로부터의 데이터에 기초하여, 애플리케이션 URL로 식별되는 애플리케이션을 생성하고, 방송 서버(40) 또는 통신 서버(50)에 송신한다.
또한, 애플리케이션은, 프로그램이나 CM 등의 콘텐츠에 부수되는 애플리케이션이다. 또한, 콘텐츠에 부수되는 애플리케이션으로서는, 예를 들어 HTML5(Hyper Text Markup Language 5) 등의 마크업 언어나, JavaScript(등록 상표) 등의 스크립트 언어로 개발된 애플리케이션을 사용할 수 있다.
또한, 애플리케이션 서버(30)는, 애플리케이션의 동작을 제어하기 위한 이벤트(이하, 애플리케이션 제어 이벤트라고 함)를 생성하고, DASH 서버(10)에 송신한다. DASH 서버(10)는, 애플리케이션 서버(30)로부터 송신되어 오는 애플리케이션 제어 이벤트를, MPD 메타데이터 또는 DASH 세그먼트에 저장할 수 있다.
시그널링 서버(20)는, 외부로부터 시그널링을 생성하기 위한 데이터를 수신한다. 또한, 시그널링 서버(20)는, DASH 서버(10)로부터의 MPD 메타데이터와, 애플리케이션 서버(30)로부터의 애플리케이션 URL을 수신한다. 시그널링 서버(20)는, 외부로부터의 데이터나, MPD 메타데이터, 애플리케이션 URL에 기초하여, 시그널링을 생성하고, 방송 서버(40) 또는 통신 서버(50)에 송신한다.
여기서, 예를 들어 ATSC3.0에서는, 시그널링으로서, LLS(Link Layer Signaling) 시그널링과 SLS(Service Layer Signaling) 시그널링을 사용하는 것이 상정되고 있다. LLS 시그널링은, SLS 시그널링에 선행하여 취득되는 시그널링이며, LLS 시그널링에 포함되는 정보에 따라, SLS 시그널링이 취득된다. SLS 시그널링은, 서비스 단위의 시그널링이다.
LLS 시그널링은, SLT(Service List Table) 등의 메타데이터를 포함한다. SLT 메타데이터는, 서비스의 선국에 필요한 정보(선국 정보) 등, 방송 네트워크에 있어서의 스트림이나 서비스의 구성을 나타내는 기본 정보를 포함하고 있다.
SLS 시그널링은, USD(User Service Description), S-TSID(Service-based Transport Session Instance Description), MPD(Media Presentation Description) 등의 메타데이터를 포함한다. USD 메타데이터는, 다른 메타데이터의 취득처 등의 정보를 포함한다. 단, USD는, USBD(User Service Bundle Description)라고 칭해지는 경우가 있다.
S-TSID 메타데이터는, LSID(LCT Session Instance Description)를 ATSC3.0용으로 확장한 것이며, ROUTE(Real-time Object Delivery over Unidirectional Transport) 프로토콜의 제어 정보이다. 또한, ROUTE는, 스트리밍 파일 전송용 프로토콜이며, FLUTE(File Delivery over Unidirectional Transport)를 확장한 것이다.
MPD 메타데이터는, 상술한 바와 같이, 스트리밍 배신되는 동화상이나 음성의 파일의 관리 정보이다. 또한, SLT, USD, S-TSID, MPD 등의 메타데이터는, 예를 들어 XML(Extensible Markup Language) 등의 마크업 언어에 의해 기술할 수 있다.
시그널링 서버(20)는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링을 생성한다. 단, 시그널링 서버(20)는, DASH 서버(10)에 의해 생성된 MPD 메타데이터를, SLS 시그널링으로서 처리한다. 또한, 시그널링 서버(20)는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL을, SLT, USD, S-TSID, MPD 등의 메타데이터에 포함한다.
방송 서버(40)는, ATSC3.0 등의 디지털 방송의 규격에 준거한 데이터 전송을 행하는 것이 가능한 송신기이다.
방송 서버(40)는, DASH 서버(10)로부터 송신되어 오는 DASH 세그먼트, 시그널링 서버(20)로부터 송신되어 오는 시그널링, 및 애플리케이션 서버(30)로부터 송신되는 애플리케이션(의 파일)을 수신한다. 방송 서버(40)는, DASH 세그먼트, 시그널링 및 애플리케이션(의 파일)을 처리하고, 전송로(80)를 통하여 송신(일제 동보 배신)한다.
또한, 방송 서버(40)에는, LCC(Locally Cached Content) 콘텐츠가 입력된다. LCC 콘텐츠는, 클라이언트 장치(60)의 스토리지에 일단 축적된 후에 재생이 행해지는 콘텐츠이다. 방송 서버(40)는, 거기에 입력되는 LCC 콘텐츠(의 파일)을 처리하고, 전송로(80)를 통하여 송신(일제 동보 배신)한다.
통신 서버(50)는, 인터넷(90)에 접속된 클라이언트 장치(60)로부터의 요구에 따라, 인터넷(90)을 통하여 각종 데이터를 제공하는 서버이다.
통신 서버(50)는, DASH 서버(10)로부터 송신되어 오는 DASH 세그먼트, 시그널링 서버(20)로부터 송신되어 오는 시그널링, 및 애플리케이션 서버(30)로부터 송신되는 애플리케이션(의 파일)을 수신한다. 통신 서버(50)는, DASH 세그먼트, 시그널링 및 애플리케이션(의 파일)을 처리한다. 그리고, 통신 서버(50)는, 클라이언트 장치(60)로부터의 요구에 따라, 인터넷(90)을 통하여, 각종 파일을 송신한다.
클라이언트 장치(60)는, ATSC3.0 등의 디지털 방송의 규격에 준거한 전송 데이터를 수신 가능한 수신기이다. 예를 들어, 클라이언트 장치(60)는, 텔레비전 수상기나 셋톱 박스 등의 고정 수신기, 혹은 스마트폰이나 휴대 전화기, 태블릿형 컴퓨터 등의 모바일 수신기이다. 또한, 클라이언트 장치(60)는, 예를 들어 차량 탑재 TV 등의 자동차에 탑재되는 기기여도 된다.
클라이언트 장치(60)는, 방송 서버(40)로부터 전송로(80)를 통하여 송신(일제 동보 배신)되어 오는, DASH 세그먼트, 시그널링, LCC 콘텐츠 등의 파일을 수신하여 처리함으로써, 방송 프로그램 등의 콘텐츠의 영상이나 음성을 출력한다.
또한, 클라이언트 장치(60)는, 통신 기능을 갖는 경우, 인터넷(90)을 통하여, 통신 서버(50)에 액세스하여, 각종 파일을 취득할 수 있다. 예를 들어, 클라이언트 장치(60)는, 통신 서버(50)로부터 인터넷(90)을 통하여 송신(적응적으로 스트리밍 배신)되는, DASH 세그먼트나 MPD 메타데이터 등의 파일을 수신하여 처리함으로써, VOD(Video On Demand) 프로그램 등의 콘텐츠의 영상이나 음성을 출력한다.
또한, 클라이언트 장치(60)는, 방송 서버(40) 또는 통신 서버(50)로부터 송신되는 시그널링에 포함되는 애플리케이션 URL에 기초하여, 방송 서버(40) 또는 통신 서버(50)로부터 배신되는 애플리케이션을 취득하고, 취득된 애플리케이션을 즉시 기동한다.
이에 의해, 클라이언트 장치(60)에서는, 방송 경유 또는 통신 경유로 취득된 콘텐츠에 부수되어, 방송 경유 또는 통신 경유로 취득된 애플리케이션이 실행된다. 단, 애플리케이션은, 어떠한 정보를 명시적으로 표시할 뿐만 아니라, 비표시로(백그라운드로) 동작하는 경우도 있다(유저에게 인식되지 않고 기동하는 경우가 있음).
또한, 클라이언트 장치(60)는, MPD 메타데이터 또는 DASH 세그먼트에 애플리케이션 제어 이벤트가 저장되어 있는 경우, 당해 애플리케이션 제어 이벤트에 따라, 애플리케이션의 동작을 제어한다.
또한, 전송 시스템(1)에 있어서, 전송로(80)는, 지상파(지상파 방송) 외에, 예를 들어 방송 위성(BS: Broadcasting Satellite)이나 통신 위성(CS: Communications Satellite)을 이용한 위성 방송, 혹은 케이블을 이용한 유선 방송(CATV) 등이어도 된다.
여기서, 도 1의 전송 시스템(1)에 있어서는, 설명을 간단하게 하기 위해, 클라이언트 장치(60)를 하나만 도시하고 있지만, 클라이언트 장치(60)는 복수 설치할 수 있고, 송신측 시스템(5)이 송신(일제 동보 배신)하는 디지털 방송 신호는, 전송로(80)를 통하여 복수의 클라이언트 장치(60)에서 동시에 수신할 수 있다.
또한, 송신측 시스템(5)도 복수 설치할 수 있다. 복수의 송신측 시스템(5)의 각각에서는, 별개의 채널로서의, 예를 들어 별개의 주파수 대역에서, 방송 스트림을 포함하는 디지털 방송 신호를 송신하고, 클라이언트 장치(60)에서는, 복수의 송신측 시스템(5)의 각각의 채널 중에서, 방송 스트림을 수신하는 채널을 선택할 수 있다.
이어서, 도 2 내지 도 6을 참조하여, 도 1의 전송 시스템(1)에 있어서의, 송신측 시스템(5)의 DASH 서버(10), 시그널링 서버(20), 애플리케이션 서버(30) 및 방송 서버(40)와, 클라이언트 장치(60)의 구성에 대하여 설명한다. 또한, 여기서는, 통신 서버(50)의 상세한 구성은 생략하지만, 통신 서버(50)는, 통신 기능을 갖는 일반적인 서버와 마찬가지의 구성을 갖고 있다.
(DASH 서버의 구성)
도 2는, 도 1의 DASH 서버(10)의 구성예를 도시하는 도면이다.
도 2에 있어서, DASH 서버(10)는, 수신부(101), 처리부(102) 및 송신부(103)로 구성된다.
수신부(101)는, 외부의 서버(도시하지 않음) 등으로부터 스트리밍 배신용 데이터를 수신하고, 처리부(102)에 공급한다. 또한, 수신부(201)는, 애플리케이션 서버(30)로부터, 애플리케이션 제어 이벤트를 수신한 경우, 애플리케이션 제어 이벤트를, 처리부(102)에 공급한다. 또한, 애플리케이션 제어 이벤트의 상세에 대해서는 후술한다.
처리부(102)는, 수신부(101)로부터 공급되는 데이터를 처리하고, 송신부(103)에 공급한다. 또한, 처리부(102)는, MPD 생성부(111) 및 DASH 세그먼트 생성부(112)를 포함하고 있다.
MPD 생성부(111)는, 수신부(101)로부터 공급되는 데이터에 기초하여, MPD 메타데이터를 생성한다. 또한, MPD 생성부(111)는, 수신부(201)로부터 애플리케이션 제어 이벤트가 공급된 경우(후술하는 MPD 이벤트 방식을 채용한 경우), 당해 애플리케이션 제어 이벤트를, MPD 메타데이터에 저장한다.
DASH 세그먼트 생성부(112)는, 수신부(101)로부터 공급되는 데이터에 기초하여, DASH 세그먼트를 생성한다. 또한, DASH 세그먼트는, ISOBMFF(ISO Base Media File Format)에 준하고 있다. 또한, DASH 세그먼트 생성부(112)는, 수신부(201)로부터 애플리케이션 제어 이벤트가 공급된 경우(후술하는 인 밴드 이벤트 방식을 채용한 경우), 당해 애플리케이션 제어 이벤트를, DASH 세그먼트에 저장한다. 단, 상세는, 도 10 내지 도 15를 참조하여 후술하겠지만, 애플리케이션 제어 이벤트는, MPD 메타데이터 또는 DASH 세그먼트의 어느 한쪽에 저장되도록 하면 된다.
여기서, DASH 세그먼트는, 중계 장소로부터 전송로나 통신 회선을 통하여 보내져 오는 라이브 콘텐츠(예를 들어, 스포츠 중계 등의 생방송 프로그램)나, 스토리지에 축적된 수록 완료의 콘텐츠(예를 들어, 드라마 등의 사전 수록 프로그램) 등의 콘텐츠를 처리하여 얻어지는 세그먼트 파일이다.
송신부(103)는, 처리부(102)로부터 공급되는 데이터 중, MPD 메타데이터를, 시그널링 서버(20)에 송신하고, DASH 세그먼트를, 방송 서버(40) 또는 통신 서버(50)에 송신한다. 또한, 여기서는, DASH 세그먼트가 방송 경유로 배신되는 경우에는, 그 데이터가 방송 서버(40)에 송신되고, DASH 세그먼트가 통신 경유로 배신되는 경우에는, 그 데이터가 통신 서버(50)에 송신된다.
DASH 서버(10)는, 이상과 같이 구성된다.
(시그널링 서버의 구성)
도 3은, 도 1의 시그널링 서버(20)의 구성예를 도시하는 도면이다.
도 3에 있어서, 시그널링 서버(20)는, 수신부(201), 처리부(202) 및 송신부(203)로 구성된다.
수신부(201)는, 외부의 서버(도시하지 않음) 등으로부터 시그널링 생성용 데이터를 수신하고, 처리부(202)에 공급한다. 또한, 수신부(201)는, DASH 서버(10)로부터 송신되어 오는 MPD 메타데이터와, 애플리케이션 서버(30)로부터 송신되어 오는 애플리케이션 URL을 수신하고, 처리부(202)에 공급한다.
처리부(202)는, 수신부(201)로부터 공급되는 데이터를 처리하고, 송신부(203)에 공급한다. 또한, 처리부(202)는, 시그널링 생성부(211)를 포함하고 있다.
시그널링 생성부(211)는, 수신부(201)로부터 공급되는 데이터에 기초하여, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링을 생성한다. 단, SLT 메타데이터, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터 중, 어느 메타데이터에는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL이 포함된다.
송신부(203)는, 처리부(202)(의 시그널링 생성부(211))로부터 공급되는 시그널링을, 방송 서버(40) 또는 통신 서버(50)에 송신한다. 또한, 여기서는, 시그널링이 방송 경유로 배신되는 경우에는, 그 데이터가 방송 서버(40)에 송신되고, 시그널링이 통신 경유로 배신되는 경우에는, 그 데이터가 통신 서버(50)에 송신된다.
시그널링 서버(20)는, 이상과 같이 구성된다.
(애플리케이션 서버의 구성)
도 4는, 도 1의 애플리케이션 서버(30)의 구성예를 도시하는 도면이다.
도 4에 있어서, 애플리케이션 서버(30)는, 수신부(301), 처리부(302) 및 송신부(303)로 구성된다.
수신부(301)는, 외부의 서버(도시하지 않음) 등으로부터 애플리케이션용 데이터를 수신하고, 처리부(302)에 공급한다. 처리부(302)는, 수신부(301)로부터 공급되는 데이터를 처리하고, 송신부(303)에 공급한다. 또한, 처리부(302)는, 애플리케이션 URL 생성부(311), 애플리케이션 생성부(312) 및 애플리케이션 제어 이벤트 생성부(313)를 포함하고 있다.
애플리케이션 URL 생성부(311)는, 수신부(301)로부터 공급되는 데이터에 기초하여, 애플리케이션의 취득처를 나타내는 애플리케이션 URL을 생성한다. 애플리케이션 생성부(312)는, 수신부(301)로부터 공급되는 데이터에 기초하여, 애플리케이션 URL로 식별되는 애플리케이션을 생성한다.
애플리케이션 제어 이벤트 생성부(313)는, 애플리케이션에 대하여 소정의 동작을 시키는 소정의 타이밍으로 되었을 때, 애플리케이션의 동작을 제어하기 위한 이벤트(애플리케이션 동작 이벤트)를 생성한다.
송신부(303)는, 처리부(302)로부터 공급되는 데이터 중, 애플리케이션 URL을, 시그널링 서버(20)에 송신하고, 애플리케이션을, 방송 서버(40) 또는 통신 서버(50)에 송신한다. 또한, 여기서는, 애플리케이션이 방송 경유로 배신되는 경우에는, 그 데이터가 방송 서버(40)에 송신되고, 애플리케이션이 통신 경유로 배신되는 경우에는, 그 데이터가 통신 서버(50)에 송신된다.
또한, 송신부(303)는, 처리부(302)(의 애플리케이션 제어 이벤트 생성부(313))로부터 애플리케이션 동작 이벤트가 공급된 경우, 당해 애플리케이션 동작 이벤트를, DASH 서버(10)에 공급한다.
애플리케이션 서버(30)는, 이상과 같이 구성된다.
(방송 서버의 구성)
도 5는, 도 1의 방송 서버(40)의 구성예를 도시하는 도면이다.
도 5에 있어서, 방송 서버(40)는, 수신부(401), 처리부(402) 및 송신부(403)로 구성된다.
수신부(401)는, DASH 서버(10)로부터 송신되어 오는 DASH 세그먼트와, 시그널링 서버(20)로부터 송신되어 오는 시그널링과, 애플리케이션 서버(30)로부터 송신되어 오는 애플리케이션을 수신하고, 처리부(402)에 공급한다.
처리부(402)는, 수신부(401)로부터 공급되는 DASH 세그먼트, 시그널링 및 애플리케이션에 대하여 필요한 처리를 실시하고, 송신부(403)에 공급한다. 여기서는, 예를 들어 DASH 세그먼트, SLS 시그널링 및 애플리케이션을 포함하는 LCT 세션의 데이터를 페이로드에 저장한 IP/UDP 패킷이나, LLS 시그널링의 데이터를 페이로드에 저장한 IP/UDP 패킷을 생성하기 위한 처리 등이 행해진다.
송신부(403)는, 처리부(402)로부터 공급되는 데이터를 포함하는 방송파(디지털 방송 신호)를, 안테나(421)에 의해, 전송로(80)를 통하여 송신(일제 동보 배신)한다.
방송 서버(40)는, 이상과 같이 구성된다.
(클라이언트 장치의 구성)
도 6은, 도 1의 클라이언트 장치(60)의 구성예를 도시하는 도면이다.
도 6에 있어서, 클라이언트 장치(60)는, 처리부(601), 입력부(602), 수신부(603), 방송 미들웨어(604), DASH 클라이언트(605), 디코더(606), 출력부(607) 및 통신부(608)로 구성된다.
처리부(601)는, 클라이언트 장치(60)의 각 부의 동작을 제어하는 처리 등을 행한다.
입력부(602)는, 유저의 조작에 따른 조작 신호를 처리부(601)에 공급한다. 처리부(601)는, 입력부(602)로부터 공급되는 조작 신호에 기초하여, 클라이언트 장치(60)의 각 부의 동작을 제어한다.
수신부(603)는, 안테나(621)에 의해, 방송 서버(40)로부터 전송로(80)를 통하여 송신(일제 동보 배신)되어 오는 방송파(디지털 방송 신호)를 수신하여 처리하고, 그에 의해 얻어지는 데이터를, 방송 미들웨어(604)에 공급한다. 또한, 수신부(603)는, 튜너 등으로 구성된다.
방송 미들웨어(604)는, 수신부(603)로부터 공급되는 데이터를 처리하고, 처리부(601) 또는 DASH 클라이언트(605)에 공급한다. 여기서, 처리 대상의 데이터 중, MPD 메타데이터 및 DASH 세그먼트는, DASH 클라이언트(605)에 공급되고, 애플리케이션이나 시그널링 등의 데이터는, 처리부(601)에 공급된다.
DASH 클라이언트(605)에는, 방송 미들웨어(604)로부터 MPD 메타데이터 및 DASH 세그먼트가 공급된다. DASH 클라이언트(605)는, MPD 메타데이터에 기초하여, DASH 세그먼트를 처리한다. 이 DASH 세그먼트를 처리하여 얻어지는 비디오와 오디오의 데이터는, 디코더(606)에 공급된다.
디코더(606)는, 소정의 복호 방식(예를 들어 HEVC(High Efficiency Video Coding)나 AAC(Advanced Audio Coding) 등)에 따라, DASH 클라이언트(605)로부터 공급되는 비디오와 오디오의 데이터의 디코드를 행한다. 이 디코드에 의해 얻어지는 비디오와 오디오의 데이터는, 출력부(607)에 공급된다.
출력부(607)는, 디코더(606)로부터 공급되는 비디오와 오디오의 데이터를 출력한다. 이에 의해, 클라이언트 장치(60)에서는, 프로그램이나 CM 등의 콘텐츠가 재생되고, 그 영상이나 음성이 출력되게 된다.
통신부(608)는, 처리부(601)로부터의 제어에 따라, 인터넷(90)을 통하여, 통신 서버(50)와 데이터의 수수를 행한다. 통신부(608)에 의해 수신되는 데이터 중, MPD 메타데이터 및 DASH 세그먼트는, DASH 클라이언트(605)에 공급되고, 애플리케이션 및 시그널링 등의 데이터는, 처리부(601)에 공급된다. 이들 통신 경유로 취득된 데이터에 대한 처리는, 상술한 방송 경유로 취득된 데이터와 마찬가지이기 때문에, 여기서는, 그 설명은 생략한다.
또한, 처리부(601)는, 애플리케이션 제어부(611) 및 렌더링 엔진(612)을 포함하여 구성된다. 애플리케이션 제어부(611)는, 방송 미들웨어(604) 또는 통신부(608)로부터 공급되는 애플리케이션의 동작을 제어한다. 렌더링 엔진(612)은, 출력부(607)를 제어하여, 비디오나 오디오, 애플리케이션의 데이터를 렌더링함으로써, 영상이나 음성 등을 생성한다.
클라이언트 장치(60)는, 이상과 같이 구성된다.
(2) 애플리케이션 URL에 따른 애플리케이션 제어
상술한 바와 같이, 프로그램이나 CM 등의 콘텐츠에 부수되는 애플리케이션의 제어 모델을 심플하게 실장하는 제안이 요청되고 있다. 제1 실시 형태에서는, 콘텐츠에 부수되어 기동하는 애플리케이션의 애플리케이션 URL을, 시그널링(예를 들어 SLT, USD, S-TSID, MPD 등의 메타데이터)에 기술함으로써, 클라이언트 장치(60)에 있어서, 서비스가 선국된 경우에는, 즉시 그 시그널링에 기술된 애플리케이션 URL에 따라, 애플리케이션을 취득하여 즉시 기동되도록 한다.
여기서, 도 7의 좌측에 도시하는 바와 같이, 송신측의 송신측 시스템(5)에 있어서는, 애플리케이션 서버(30)의 애플리케이션 URL 생성부(311)에 의해, 애플리케이션 URL이 생성된다. 또한, 애플리케이션 서버(30)의 애플리케이션 생성부(312)에 의해, 애플리케이션이 생성된다.
여기서, 예를 들어 애플리케이션은, HTML5 등의 마크업 언어나, JavaScript(등록 상표) 등의 스크립트 언어로 개발되고, HTML 문서 파일이나 화상 파일 등, 복수의 파일로 구성되어 있다. 또한, 애플리케이션의 엔트리(예를 들어, index.html)는, 애플리케이션 URL에 의해 식별된다. 단, 엔트리란, 애플리케이션에 있어서, 최초로 기동되는 페이지를 의미하고 있다.
송신측의 송신측 시스템(5)에 있어서는, 방송 서버(40)(또는 통신 서버(50))에 의해, 애플리케이션 서버(30)에 의해 생성된 애플리케이션이, 전송로(80)(또는 인터넷(90))를 통하여 수신측의 클라이언트 장치(60)에 송신된다.
또한, 송신측의 송신측 시스템(5)에 있어서, 시그널링 서버(20)(의 시그널링 생성부(211))에 의해 생성되는, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL이 포함된다.
송신측의 송신측 시스템(5)에 있어서는, 방송 서버(40)(또는 통신 서버(50))에 의해, 시그널링 서버(20)에 의해 생성된 시그널링이, 전송로(80)(또는 인터넷(90))를 통하여 수신측의 클라이언트 장치(60)에 송신된다.
한편, 도 7의 우측에 도시하는 바와 같이, 수신측의 클라이언트 장치(60)에 있어서는, 송신측의 송신측 시스템(5)으로부터 송신되는 시그널링이 수신되어, 처리된다. 이 시그널링에는, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에, 애플리케이션 URL이 포함되어 있다.
수신측의 클라이언트 장치(60)는, SLT 메타데이터, 또는 SLS 시그널링에 포함되는 애플리케이션 URL에 따라, 방송 서버(40)(또는 통신 서버(50))로부터 송신되는 애플리케이션을 수신한다. 그리고, 수신측의 클라이언트 장치(60)는, 수신된 애플리케이션을 즉시 기동한다.
여기서, 기동된 애플리케이션은, 어떠한 정보를 명시적으로 표시하는 경우 도 있다면, 백그라운드를 투명하게 하여 기동되는 경우(아무것도 표시하지 않고 기동되고, 기동되고 있음을 유저에게 인식시키지 않는 경우)도 있다.
또한, 기동 중인 애플리케이션을 정지하는 타이밍이지만, 예를 들어 유저의 조작(예를 들어, 리모트 컨트롤러에 의한 서비스의 전환 조작)을 계기로 하여, 혹은 클라이언트 장치(60)에서 실행되는 네이티브 애플리케이션(내장 애플리케이션)의 제어를 계기로 하여, 다른 서비스로 전환할 때 정지할 수 있다.
단, 다른 서비스로 전환하는 경우라도, 당해 다른 서비스의 SLS 메타데이터, 또는 SLS 시그널링에, 동일한 애플리케이션 URL이 포함되어 있으면, 기동 중인 애플리케이션은 정지시키지 않고, 그대로 기동이 계속되도록 한다. 이 경우에는, 전환처의 서비스의 서비스 ID 또는 메이저 채널 번호가, 기동 중인 애플리케이션에 통지되도록 하여, 서비스의 전환이 일어났음이, 기동 중인 애플리케이션에 의해 검지되도록 한다.
또한, 시그널링에 있어서, 애플리케이션 URL은, 하나 또는 복수를 리스트로서 기술할 수 있다. 애플리케이션 URL을 리스트로서 기술하는 경우에는, 예를 들어 클라이언트 장치(60)의 실행 환경 등에 따라, 그들 애플리케이션 URL에 따른 애플리케이션의 기동 우선도의 제어나, 기동 선택 제어 등이 행해진다.
이상과 같이, 제1 실시 형태에 있어서의 애플리케이션 URL에 따른 애플리케이션 제어에서는, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에 포함되는 애플리케이션 URL에 따라, 애플리케이션이 취득되고, 즉시 기동되기 때문에, 애플리케이션의 배신 라이프 사이클 컨트롤에, AST나 AIT 등의 애플리케이션 제어 정보를 이용한 경우와 비교하여, 애플리케이션의 제어 모델을 심플하게 실장하는 것이 가능하게 된다.
이어서, 도 8 및 도 9의 흐름도를 참조하여, 애플리케이션 URL에 따른 애플리케이션 제어를 행하는 경우에 있어서의 전송 시스템(1)(도 1)의 각 장치에서 실행되는 처리의 흐름을 설명한다.
(송신측의 처리의 흐름)
우선, 도 8의 흐름도를 참조하여, 애플리케이션 URL에 따른 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명한다.
도 8의 스텝 S101 내지 S103의 처리는, DASH 서버(10)에 의해 실행된다. 스텝 S101에 있어서, MPD 생성부(111)는, MPD 메타데이터를 생성한다. 또한, 스텝 S102에 있어서, DASH 세그먼트 생성부(112)는, 프로그램 등의 콘텐츠(의 데이터)를 처리함으로써, 스텝 S101의 처리에서 생성된 MPD 메타데이터에 의해 재생이 관리되는 DASH 세그먼트를 생성한다.
스텝 S103에 있어서, 송신부(103)는, 스텝 S101의 처리에서 생성된 MPD 메타데이터를, 시그널링 서버(20)에 송신하고, 스텝 S102의 처리에서 생성된 DASH 세그먼트를 방송 서버(40)에 송신한다.
도 8의 스텝 S301 내지 S303의 처리는, 애플리케이션 서버(30)에 의해 실행된다. 스텝 S301에 있어서, 애플리케이션 URL 생성부(311)는, 애플리케이션 URL을 생성한다. 스텝 S302에 있어서, 애플리케이션 생성부(312)는, 스텝 S301의 처리에서 생성된 애플리케이션 URL에 의해 식별되는 애플리케이션을 생성한다.
스텝 S303에 있어서, 송신부(303)는, 스텝 S301의 처리에서 생성된 애플리케이션 URL을, 시그널링 서버(20)에 송신하고, 스텝 S302의 처리에서 생성된 애플리케이션을, 방송 서버(40)에 송신한다.
도 8의 스텝 S201 내지 S202의 처리는, 시그널링 서버(20)에 의해 실행된다. 또한, 시그널링 서버(20)에 있어서는, 스텝 S103의 처리에서 송신된 MPD 메타데이터와, 스텝 S303의 처리에서 송신된 애플리케이션 URL이 수신된다.
스텝 S201에 있어서, 시그널링 생성부(211)는, 시그널링을 생성한다. 여기서, 시그널링으로서는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링이 생성된다. 또한, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL이 기술된다.
스텝 S202에 있어서, 송신부(203)는, 스텝 S201의 처리에서 생성된 시그널링을, 방송 서버(40)에 송신한다.
도 8의 스텝 S401 내지 S403의 처리는, 방송 서버(40)에 의해 실행된다. 또한, 방송 서버(40)에 있어서는, 스텝 S103의 처리에서 송신된 DASH 세그먼트, 스텝 S202의 처리에서 송신된 시그널링, 및 스텝 S303의 처리에서 송신된 애플리케이션이 수신된다.
송신부(403)는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션, 시그널링 서버(20)에 의해 생성된 시그널링, 및 DASH 서버(10)에 의해 생성된 DASH 세그먼트를, 전송로(80)를 통하여 송신(일제 동보 배신)한다(S401 내지 S403).
이상, 송신측의 처리의 흐름에 대하여 설명하였다.
또한, 도 8의 송신측의 처리에서는, 애플리케이션, 시그널링 및 DASH 세그먼트가, 방송 서버(40)에 의해 방송 경유로 배신되는 경우를 설명하였지만, 애플리케이션, 시그널링 및 DASH 세그먼트의 전부 또는 그 일부의 데이터가, 통신 서버(50)에 의해 통신 경유로 배신되도록 해도 된다. 단, 이하의 설명에 있어서도, 애플리케이션, 시그널링 및 DASH 세그먼트 등의 데이터는, 방송 서버(40)에 의해 방송 경유로 배신되는 경우를 중심으로 설명한다.
(수신측의 처리의 흐름)
이어서, 도 9의 흐름도를 참조하여, 애플리케이션 URL에 따른 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명한다.
도 9에 도시한 처리는, 클라이언트 장치(60)에 의해 실행된다. 또한, 도 9에 있어서는, 방송 미들웨어(604)에 의해 실행되는 처리 외에, DASH 클라이언트(605)나 디코더(606), 렌더링 엔진(612) 등에 의해 실행되는 비디오ㆍ오디오 대응 처리와, 애플리케이션 제어부(611)나 렌더링 엔진(612) 등에 의해 실행되는 애플리케이션 대응 처리의 흐름이 도시되어 있다.
단, 비디오ㆍ오디오 대응 처리는, 콘텐츠의 비디오나 오디오의 데이터에 관한 처리를 나타내고, 애플리케이션 대응 처리는, 애플리케이션의 데이터에 관한 처리를 나타내고 있다.
클라이언트 장치(60)에 있어서는, 콘텐츠의 시청을 행하는 유저에 의해, 기동 조작이 행해진 경우(S1), 처리부(601)나 방송 미들웨어(604), DASH 클라이언트(605), 디코더(606) 등의 각 부가 기동된다(S601, S621, S631).
스텝 S602에 있어서, 방송 미들웨어(604)는, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 시그널링을 수신한다. 스텝 S603에 있어서, 방송 미들웨어(604)는, 스텝 S602의 처리에서 수신된 시그널링을 처리한다.
여기서, 시그널링으로서는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링이 처리된다. 또한, 콘텐츠에 부수되는 애플리케이션이 존재하는 경우, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에, 애플리케이션 URL이 기술되어 있다.
스텝 S604에 있어서, 방송 미들웨어(604)는, 스텝 S603의 처리에서 취득된 MPD 메타데이터를, DASH 클라이언트(605)에 통지한다. 스텝 S622에 있어서, DASH 클라이언트(605)는, 스텝 S604의 처리에서 통지된 MPD 메타데이터를 처리한다.
스텝 S605에 있어서, 방송 미들웨어(604)는, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 DASH 세그먼트를 수신한다. 스텝 S606에 있어서, 방송 미들웨어(604)는, 스텝 S605의 처리에서 수신된 DASH 세그먼트를, DASH 클라이언트(605)에 전송한다.
스텝 S623에 있어서, DASH 클라이언트(605)는, 스텝 S622의 MPD 메타데이터의 처리 결과에 기초하여, 스텝 S606의 처리에서 전송된 DASH 세그먼트를 처리한다. 또한, 스텝 S624에 있어서, 디코더(606)는, 스텝 S623의 처리에서 얻어지는 비디오와 오디오의 데이터의 디코드를 행한다.
스텝 S625에 있어서, 렌더링 엔진(612)은, 스텝 S624의 처리에서 얻어지는 비디오와 오디오의 데이터의 렌더링을 행한다. 이에 의해, 클라이언트 장치(60)에 있어서는, 출력부(607)를 통하여, 프로그램 등의 콘텐츠의 영상이 표시됨과 함께 그 음성이 출력된다.
이와 같이, 클라이언트 장치(60)에 있어서는, DASH 클라이언트(605), 디코더(606) 및 렌더링 엔진(612)에 의해, 스텝 S622 내지 S625의 처리가 행해짐으로써, 선국된 프로그램 등의 콘텐츠가 재생되게 된다.
또한, 스텝 S607에 있어서, 방송 미들웨어(604)는, 스텝 S603의 시그널링의 처리 결과에 기초하여, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터) 등의 시그널링에, 애플리케이션 URL이 기술되어 있는지 여부를 판정한다.
스텝 S607에 있어서, 시그널링에, 애플리케이션 URL이 기술되어 있다고 판정된 경우, 처리는, 스텝 S608로 진행된다. 스텝 S608에 있어서, 방송 미들웨어(604)는, 애플리케이션 제어부(611)로부터의 제어에 따라, 시그널링에 기술된 애플리케이션 URL에 기초하여, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 애플리케이션을 수신한다.
스텝 S609에 있어서, 방송 미들웨어(604)는, 스텝 S608의 처리에서 수신된 애플리케이션을, 애플리케이션 제어부(611)에 전송한다.
스텝 S632에 있어서, 애플리케이션 제어부(611)는, 스텝 S609의 처리에서 전송된 애플리케이션을 즉시 기동한다. 또한, 스텝 S633에 있어서, 렌더링 엔진(612)은, 스텝 S632의 처리에서 기동된 애플리케이션의 데이터의 렌더링을 행한다. 이에 의해, 클라이언트 장치(60)에 있어서는, 프로그램 등의 콘텐츠에 부수된 애플리케이션의 영상이 표시된다.
이와 같이, 클라이언트 장치(60)에 있어서는, 애플리케이션 제어부(611) 및 렌더링 엔진(612)에 의해, 스텝 S632 내지 633의 처리가 행해짐으로써, 애플리케이션이 기동되게 된다. 단, 애플리케이션은, 프로그램 등의 콘텐츠의 영상과 함께, 화면 상에 표시되도록 하는 것은 물론, 비표시로서 백그라운드로 실행되도록 해도 된다.
또한, 스텝 S607에 있어서, 시그널링에, 애플리케이션 URL이 기술되어 있지 않다고 판정된 경우, 스텝 S608 내지 S609의 처리는 스킵된다. 즉, 이 경우, 콘텐츠에 부수된 애플리케이션은, 미기동으로 된다.
그 후, 예를 들어 클라이언트 장치(60)에 있어서, 콘텐츠를 시청하고 있는 유저에 의해, 서비스의 전환 조작이 행해진 경우(S2), 방송 미들웨어(604)는, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는, 전환처의 서비스의 시그널링을 수신하여 처리한다(S610).
또한, 여기서는, 반복으로 되므로 그 상세한 설명은 생략하지만, 서비스의 전환 조작이 행해진 경우에는, 상술한 스텝 S604 내지 S606의 처리, 및 스텝 S622 내지 S625의 처리와 마찬가지의 처리가 행해지고, 전환처의 프로그램의 콘텐츠가 재생되게 된다.
또한, 스텝 S611에 있어서, 방송 미들웨어(604)는, 스텝 S610의 시그널링의 처리 결과에 기초하여, SLT 메타데이터 등의 시그널링에, 애플리케이션 URL이 기술되어 있는 경우에, 그 애플리케이션 URL이, 기동 중인 애플리케이션의 애플리케이션 URL과 동일한지 여부를 판정한다.
스텝 S611에 있어서, 시그널링에 기술된 애플리케이션 URL이, 기동 중인 애플리케이션의 애플리케이션 URL과 상이하다고 판정된 경우, 처리는, 스텝 S612로 진행된다. 스텝 S612에 있어서, 방송 미들웨어(604)는, 애플리케이션 제어부(611)로부터의 제어에 따라, 시그널링에 기술된 애플리케이션 URL에 기초하여, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 애플리케이션을 수신한다.
스텝 S613에 있어서, 방송 미들웨어(604)는, 스텝 S612의 처리에서 수신된 애플리케이션을, 애플리케이션 제어부(611)에 전송한다.
스텝 S634에 있어서, 애플리케이션 제어부(611)는, 스텝 S632의 처리에서 기동 완료된 애플리케이션을 정지(종료)한다.
스텝 S635에 있어서, 애플리케이션 제어부(611)는, 스텝 S613의 처리에서 전송된 새로운 애플리케이션을 즉시 기동한다. 또한, 스텝 S636에 있어서, 렌더링 엔진(612)은, 스텝 S635의 처리에서 기동된 새로운 애플리케이션의 데이터의 렌더링을 행한다. 이에 의해, 클라이언트 장치(60)에 있어서는, 스텝 S632의 처리에서 기동된 애플리케이션의 영상 대신에, 스텝 S635의 처리에서 기동된 새로운 애플리케이션의 영상이 표시된다.
한편, 스텝 S611에 있어서, 시그널링에 애플리케이션 URL이 기술되어 있는 경우에, 기동 중인 애플리케이션의 애플리케이션 URL과 동일하다고 판정된 경우, 처리는, 스텝 S614로 진행된다.
스텝 S614에 있어서, 방송 미들웨어(604)는, 전환처의 서비스의 서비스 ID 또는 채널 번호(메이저 채널 번호)를, 애플리케이션 제어부(611)에 통지한다. 이에 의해, 애플리케이션 제어부(611)는, 스텝 S632의 처리에서 기동 완료된 애플리케이션에 대하여, 전환처의 서비스의 서비스 ID 또는 채널 번호를 인식시켜, 서비스의 전환이 일어났음을, 당해 애플리케이션이 검지할 수 있도록 한다.
또한, 스텝 S611에 있어서, 시그널링에 애플리케이션 URL이 기술되어 있지 않다고 판정된 경우에는, 스텝 S612 내지 S614의 처리는 스킵된다.
이상, 수신측의 처리의 흐름에 대하여 설명하였다.
(3) 애플리케이션 제어 이벤트에 따른 애플리케이션 제어
그런데, 애플리케이션 자신이, 유저와의 인터랙션이나 그 밖의 이벤트에 의해, 능동적으로 서비스의 전환을 행하도록 해도 된다. 이 경우에는, 애플리케이션이, 서비스의 전환의 API(Application Programming Interface) 등을 콜하게 된다. 또한, 클라이언트 장치(60)에 있어서, 어떠한 서비스의 콘텐츠를 재생하고 있는 경우에, 명시적으로 애플리케이션을 정지할 때에는, MPEG-DASH에서 규정되어 있는 DASH 이벤트를 이용하여, 대상의 애플리케이션이 해석할 수 있는 제어 커맨드에 의해, 당해 애플리케이션을 정지하는 등의 것도 가능하다.
여기서, MPEG-DASH에서는, DASH 이벤트라고 칭해지는 이벤트 통지 기구가 정의되고, 2종류의 이벤트의 전송 방법이 규정되어 있다. 즉, 첫 번째 전송 방법은, MPD 이벤트이고, 두 번째 전송 방법은, 인 밴드 이벤트(인 밴드 이벤트 시그널링)이다. 제1 실시 형태에서는, 이들 MPD 이벤트와 인 밴드 이벤트를 이용하여, 애플리케이션의 동작을 제어한다.
또한, DASH 이벤트를 이용하는 경우의 제어 커맨드이지만, 대상의 애플리케이션이 해석할 수 있는 제어 커맨드이면 되므로, 그 포맷이나 의미 등의 커맨드의 내용에 대해서는, 특별히 표준화하여 규정할 필요는 없다. 따라서, 제1 실시 형태에서는, 새로운 이벤트의 종류를 정의하는 SchemIdUri로서, schemIdUri ="urn:atsc:applicationPrivateEvent"를 정의함으로써, 송신측 시스템(5)과 클라이언트 장치(60)가 공통으로 이해할 수 있는 프로토콜 프리미티브를 운반하기 위한 DASH 이벤트를 도입하는 것으로 한다.
이하, MPD 이벤트를 사용하여 애플리케이션의 동작을 제어하는 방식을, MPD 이벤트 방식이라고 칭함과 함께, 인 밴드 이벤트(인 밴드 이벤트 시그널링)를 사용하여 애플리케이션의 동작을 제어하는 방식을, 인 밴드 이벤트 방식이라고 칭하고, 그들 방식의 상세한 내용을 순서대로 설명한다.
(A) MPD 이벤트 방식
MPD 이벤트 방식에서는, MPD 메타데이터에 있어서, 피리어드 단위로, EventStream 요소가 추가되고, 거기에 이벤트에 관한 정보가 기술된다. 즉, MPD 메타데이터 내에, 피리어드 단위로 이벤트의 발화 스케줄과, 각 이벤트의 발화의 타이밍에서의 클라이언트 장치(60)가 처리해야 할 이벤트 데이터가 기술된다. 이에 의해, 클라이언트 장치(60)에 있어서는, MPD 메타데이터를 해석함으로써, 소정의 이벤트의 발화 타이밍에, 이벤트 데이터를 사용한 처리가 행해지게 된다.
(MPD의 기술예)
도 10은, MPD 이벤트 방식의 MPD 메타데이터의 기술예를 도시하는 도면이다.
또한, XML 형식의 MPD 메타데이터에서는, Period 요소, AdaptationSet 요소 및 Representation 요소가 계층 구조로 기술되어 있다. Period 요소는, 콘텐츠 등의 서비스의 구성을 기술하는 단위로 된다. 또한, AdaptationSet 요소와 Representation 요소는, 비디오나 오디오, 자막 등의 서비스 컴포넌트의 스트림별로 이용되며, 각각의 스트림의 속성을 기술할 수 있도록 되어 있다.
도 10에 있어서, 루트 요소인 MPD 요소의 availabilityStartTime 속성은, 최초의 Period 요소의 개시의 UTC 시각을 나타내고 있다. 또한, Period 요소의 startTime 속성은, MPD 요소의 availabilityStartTime 속성으로부터의 오프셋 시간을 나타내고 있다.
여기서, Period 요소에는, 비디오나 오디오 등의 서비스 컴포넌트의 스트림별 정보가 기술되는 AdaptationSet 요소나 Representation 요소 외에, EventStream 요소가 추가되어 있다. 즉, 이 EventStream 요소로 지정되는 이벤트가, AdaptationSet 요소로 지정되는 서비스 컴포넌트의 스트림과 관련지어져 있다.
이 EventStream 요소에 의해, Period 요소의 단위로의 이벤트 발화 스케줄과, 각 이벤트 발화의 타이밍에서의 클라이언트 장치(60)가 처리해야 할(클라이언트 장치(60)에서 기동(가동)하고 있는 애플리케이션에 전달해야 할) 이벤트 관련 데이터를 기술할 수 있다.
도 10의 MPD 메타데이터의 기술예에서는, EventStream 요소의 schemeIdUri 속성에 의해, 이벤트의 종류를 정의하고, EventStream 요소의 Event 요소의 콘텐츠 파트에, 이벤트 관련 데이터를 기술할 수 있다. 즉, 이 Event 요소의 콘텐츠 파트에 저장되는 이벤트 관련 데이터의 포맷(무엇을 저장해야 할지)에 대해서는, schemeIdUri 속성의 값(이 예에서는 "urn:xxx")에 의해 정의(특정)된다.
또한, EventStream 요소의 timescale 속성으로서, "1000"이 지정되어 있지만, 이것은, Event 요소의 presentationTime 속성의 값의 단위 시간이, 1/1000초로 됨을 나타내고 있다.
또한, 도 10의 EventStream 요소에 있어서, 첫 번째 Event 요소의 콘텐츠 파트에, 예를 들어 이벤트 관련 데이터-1을 기술함으로써, presentationTime 속성으로 지정되는 "0"인 발화 시각에서부터, duration 속성으로 지정되는 "1000"인 단위 시간만큼 계속되는 이벤트에서, 기동 중인 애플리케이션에 대하여, 이벤트 관련 데이터-1을 전달할 수 있다.
또한, 두 번째 Event 요소의 콘텐츠 파트에, 예를 들어 이벤트 관련 데이터-2를 기술함으로써, presentationTime 속성으로 지정되는 "1000"인 발화 시각에서부터, duration 속성으로 지정되는 "4000"인 단위 시간만큼 계속되는 이벤트에서, 기동 중인 애플리케이션에 대하여, 이벤트 관련 데이터-2를 전달할 수 있다.
여기서는, EventStream 요소의 schemeIdUri 속성의 값으로서, 예를 들어 "urn:atsc:applicationPrivateEvent"를 정의함으로써, 도 1의 송신측 시스템(5)과 클라이언트 장치(60)가 공통으로 이해할 수 있는 독자 프로토콜의 처리를 실현할 수 있다. 이러한 독자 프로토콜의 처리로서는, 예를 들어 클라이언트 장치(60)에서 실행되고 있는 애플리케이션의 표시 내용의 변경이나 그 실행의 정지 등의 처리가 해당된다.
또한, MPD 이벤트 방식은, 송신측 시스템(5)에 있어서, MPD 메타데이터의 송출 전에, MPD 메타데이터 내에 기술되는 Period 요소의 내용을 확정할 수 있는 경우에만 적용 가능하게 된다.
이어서, 도 11 및 도 12의 흐름도를 참조하여, MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우에 있어서의 전송 시스템(1)(도 1)의 각 장치에서 실행되는 처리의 흐름을 설명한다. 단, 이 MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어가 행해지는 전제로서, 상술한 도 8 및 도 9에 도시한 처리에 의해, 클라이언트 장치(60)에 있어서 애플리케이션이 이미 기동 중인 것으로 한다.
(송신측의 처리의 흐름)
우선, 도 11의 흐름도를 참조하여, MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명한다.
도 11의 스텝 S311 내지 S312의 처리는, 애플리케이션 서버(30)에 의해 실행된다. 스텝 S311에 있어서, 애플리케이션 제어 이벤트 생성부(313)는, 애플리케이션 제어 이벤트를 생성한다. 스텝 S312에 있어서, 송신부(303)는, 스텝 S311의 처리에서 생성된 애플리케이션 제어 이벤트를, DASH 서버(10)에 송신한다.
도 11의 스텝 S111 내지 S113의 처리는, DASH 서버(10)에 의해 실행된다. 또한, DASH 서버(10)에 있어서는, 스텝 S312의 처리에서 송신된 애플리케이션 제어 이벤트가 수신된다.
스텝 S111에 있어서, MPD 생성부(111)는, MPD 메타데이터를 생성할 때, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 제어 이벤트를, MPD 이벤트로서, MPD 메타데이터에 저장한다.
즉, MPD 메타데이터에 있어서는, Period 요소에, EventStream 요소가 기술되고, 그 이벤트 관련 데이터로서, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 제어 이벤트가 기술된다. 또한, 이때, EventStream 요소의 schemeIdUri 속성에는, "urn:atsc:applicationPrivateEvent"가 지정되어 있다.
스텝 S112에 있어서, DASH 세그먼트 생성부(112)는, 프로그램 등의 콘텐츠를 처리함으로써, 스텝 S111의 처리에서 생성된 MPD 메타데이터에 의해 재생이 관리되는 DASH 세그먼트를 생성한다.
스텝 S113에 있어서, 송신부(103)는, 스텝 S111의 처리에서 생성된 MPD 메타데이터를, 시그널링 서버(20)에 송신하고, 스텝 S112의 처리에서 생성된 DASH 세그먼트를 방송 서버(40)에 송신한다.
도 11의 스텝 S211 내지 S212의 처리는, 시그널링 서버(20)에 의해 실행된다. 또한, 시그널링 서버(20)에 있어서는, 스텝 S113의 처리에서 송신된 MPD 메타데이터가 수신된다.
스텝 S211에 있어서, 시그널링 생성부(211)는, 시그널링을 생성한다. 여기서, 시그널링으로서는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링이 생성된다. 단, MPD 메타데이터에는, MPD 이벤트(애플리케이션 제어 이벤트)가 포함되어 있다.
스텝 S212에 있어서, 송신부(203)는, 스텝 S211의 처리에서 생성된 시그널링을, 방송 서버(40)에 송신한다.
도 11의 스텝 S411 내지 S412의 처리는, 방송 서버(40)에 의해 실행된다. 또한, 방송 서버(40)에 있어서는, 스텝 S113의 처리에서 송신된 DASH 세그먼트, 및 스텝 S212의 처리에서 송신된 시그널링이 수신된다.
송신부(403)는, 시그널링 서버(20)에 의해 생성된 시그널링, 및 DASH 서버(10)에 의해 생성된 DASH 세그먼트를, 전송로(80)를 통하여 송신(일제 동보 배신)한다(S411 내지 S412).
이상, 송신측의 처리의 흐름에 대하여 설명하였다.
또한, 도 11의 송신측의 처리에서는, 애플리케이션 제어 이벤트가, 애플리케이션 서버(30)에 의해 생성되는 경우를 설명하였지만, 애플리케이션 제어 이벤트의 생성을 행하는 전용의 이벤트 서버를 제공하도록 해도 된다. 또한, 시그널링 또는 DASH 세그먼트는, 통신 서버(50)에 의해 통신 경유로 배신되도록 해도 된다.
(수신측의 처리의 흐름)
이어서, 도 12의 흐름도를 참조하여, MPD 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명한다.
스텝 S641 내지 S643에 있어서는, 도 9의 스텝 S602 내지 S604와 마찬가지로, 방송 미들웨어(604)에 의해, 방송 서버(40)로부터의 시그널링이 수신되어 처리되고, MPD 메타데이터가, DASH 클라이언트(605)에 통지된다.
스텝 S651에 있어서, DASH 클라이언트(605)는, 스텝 S643의 처리에서 통지된 MPD 메타데이터를 처리한다. 또한, 스텝 S652에 있어서, DASH 클라이언트(605)는, 스텝 S651의 MPD 메타데이터의 처리 결과에 기초하여, MPD 메타데이터로부터, MPD 이벤트로서 저장된 애플리케이션 제어 이벤트를 추출한다.
즉, MPD 메타데이터에 있어서는, Period 요소에, EventStream 요소가 기술되고, 그 이벤트 관련 데이터로서, 애플리케이션 제어 이벤트가 기술되어 있으므로, 거기에서, 애플리케이션 제어 이벤트가 추출된다. 또한, 이때, EventStream 요소의 schemeIdUri 속성에는, "urn:atsc:applicationPrivateEvent"가 지정되어 있다.
스텝 S653에 있어서, DASH 클라이언트(605)는, 스텝 S652의 처리에서 추출된 애플리케이션 제어 이벤트를, 애플리케이션 제어부(611)에 통지한다.
스텝 S661에 있어서, 애플리케이션 제어부(611)는, 스텝 S653의 처리에서 통지된 애플리케이션 제어 이벤트를 수취한다. 스텝 S662에 있어서, 애플리케이션 제어부(611)는, 스텝 S661의 처리에서 취득한 애플리케이션 제어 이벤트에 따라, 독자 프로토콜의 처리를 행한다. 여기서, 독자 프로토콜의 처리로서는, 송신측 시스템(5)과 클라이언트 장치(60)가 공통으로 이해할 수 있는 처리이며, 예를 들어 기동 중인 애플리케이션의 표시 내용의 변경이나 그 실행의 정지 등의 처리가 행해진다.
또한, 스텝 S644 내지 S645에 있어서는, 도 9의 스텝 S605 내지 S606과 마찬가지로, 방송 미들웨어(604)에 의해, DASH 세그먼트가 수신되고, DASH 클라이언트(605)에 전송된다. 또한, 스텝 S654 내지 S656에 있어서는, 도 9의 스텝 S623 내지 S625와 마찬가지로, DASH 클라이언트(605), 디코더(606) 및 렌더링 엔진(612)에 의해, 콘텐츠의 비디오나 오디오의 데이터에 관한 처리가 행해짐으로써, 프로그램 등의 콘텐츠의 영상이 표시됨과 함께 그 음성이 출력된다.
이상, 수신측의 처리의 흐름에 대하여 설명하였다.
또한, 클라이언트 장치(60)에 있어서는, 도 12의 수신측의 처리가 행해짐으로써, 스텝 S662의 처리에 의해, 애플리케이션 제어 이벤트에 따라, 기동 중인 애플리케이션을 정지(종료)시킬 수 있지만, 애플리케이션이 일단 정지한 후에는, 동일한 서비스의 SLS 시그널링(또는 SLT 메타데이터의 당해 서비스의 엔트리)에, 정지한 애플리케이션의 애플리케이션 URL과 상이한 애플리케이션 URL이 지정될 때까지는, 애플리케이션이 기동되지 않도록 한다. 이러한 제어 모델의 간략화에 의해, 애플리케이션의 라이프 사이클 컨트롤을 간소화할 수 있기 때문에, 예를 들어 클라이언트 장치(60)의 실장이나 테스트를 용이하게 하고, 도입 비용을 저감하는 것이 가능하게 된다.
(B) 인 밴드 이벤트 방식
인 밴드 이벤트 방식에서는, MP4의 브랜드명으로서 "emsg"인 box_type을 갖는 DASHEventMessageBox라고 칭해지는 MP4 box를, DASH 세그먼트에 삽입함으로써, 세그먼트의 스트림 중에서, 애플리케이션 제어 이벤트가 전송되도록 한다. 또한, 이하의 설명에서는, DASHEventMessageBox 중, "emsg"인 box_type을 갖는 DASHEventMessageBox를, emsg 박스라고도 칭하고 있다.
(DASHEventMessageBox의 배치예)
도 13은, 인 밴드 이벤트 방식의 DASHEventMessageBox의 배치예를 도시하는 도면이다.
도 13의 예에서는, box_type의 필드에 "emsg"가 배치되어 있다. 또한, scheme_id_uri의 필드에는, 이벤트의 종류가 정의되고, message_data의 필드에는, 이벤트 관련 데이터가 배치되어 있다.
여기서는, scheme_id_uri의 필드에, "urn:atsc:applicationPrivateEvent"를 정의함으로써, 도 1의 송신측 시스템(5)과 클라이언트 장치(60)가 공통으로 이해할 수 있는 독자 프로토콜의 처리를 실현할 수 있다.
또한, 도 13의 A에 있어서, message_data의 필드에, 이벤트 관련 데이터-1을 배치함으로써, presentation_time_delta의 필드에 배치되는 "0"인 발화 시각(DASH 세그먼트의 가장 빠른 프리젠테이션 타임으로부터 0x1/1000초 후)에서부터, event_duration의 필드에 배치되는 "0xFFFF"인 단위 시간만큼 계속되는 이벤트에서, 기동 중인 애플리케이션에 대하여, 이벤트 관련 데이터-1을 전달할 수 있다.
한편, 도 13의 B에 있어서, message_data의 필드에, 이벤트 관련 데이터-2를 배치함으로써, presentation_time_delta의 필드에 배치되는 "500"인 발화 시각(DASH 세그먼트의 가장 빠른 프리젠테이션 타임으로부터 500x1/1000초 후)에서부터, event_duration의 필드에 배치되는 "0xFFFF"인 단위 시간만큼 계속되는 이벤트에서, 기동 중인 애플리케이션에 대하여, 이벤트 관련 데이터-2를 전달할 수 있다.
이와 같이, scheme_id_uri의 필드에, "urn:atsc:applicationPrivateEvent"를 정의함과 함께, message_data의 필드에, 이벤트 관련 데이터-1이나 이벤트 관련 데이터-2를 배치함으로써, 예를 들어 클라이언트 장치(60)에서 실행되고 있는 애플리케이션의 표시 내용을 변경하거나, 그 실행을 정지하거나 할 수 있다.
이어서, 도 14 및 도 15의 흐름도를 참조하여, 인 밴드 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우에 있어서의 전송 시스템(1)(도 1)의 각 장치에서 실행되는 처리의 흐름을 설명한다.
(송신측의 처리의 흐름)
우선, 도 14의 흐름도를 참조하여, 인 밴드 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 송신측의 처리의 흐름을 설명한다.
도 14의 스텝 S321 내지 S322에 있어서는, 도 11의 스텝 S311 내지 S312와 마찬가지로, 애플리케이션 서버(30)의 애플리케이션 제어 이벤트 생성부(313)에 의해, 애플리케이션 제어 이벤트가 생성되고, DASH 서버(10)에 송신된다.
도 14의 스텝 S121 내지 S123은, DASH 서버(10)에 의해 실행된다. 또한, DASH 서버(10)에 있어서는, 스텝 S322의 처리에서 송신된 애플리케이션 제어 이벤트가 수신된다. 스텝 S121에 있어서, MPD 생성부(111)는, MPD 메타데이터를 생성한다.
스텝 S122에 있어서, DASH 세그먼트 생성부(112)는, DASH 세그먼트를 생성할 때, 애플리케이션 제어 이벤트를, 인 밴드 이벤트로서, emsg 박스(DASHEventMessageBox)에 저장하여, DASH 세그먼트(의 box 구조)에 삽입한다.
즉, emsg 박스(DASHEventMessageBox)에 있어서, scheme_id_uri의 필드에, "urn:atsc:applicationPrivateEvent"가 정의됨과 함께, message_data의 필드에, 이벤트 관련 데이터로서, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 제어 이벤트가 배치된다.
스텝 S123에 있어서, 송신부(103)는, 스텝 S121의 처리에서 생성된 MPD 메타데이터를, 시그널링 서버(20)에 송신하고, 스텝 S122의 처리에서 생성된 DASH 세그먼트를 방송 서버(40)에 송신한다.
도 14의 스텝 S221 내지 S222에 있어서는, 도 11의 스텝 S211 내지 S212와 마찬가지로, 시그널링 서버(20)의 시그널링 생성부(211)에 의해, LLS 시그널링과 SLS 시그널링이 생성되고, 방송 서버(40)에 송신된다.
도 14의 스텝 S421 내지 S422에 있어서는, 도 11의 스텝 S411 내지 S412와 마찬가지로, 방송 서버(40)의 송신부(403)에 의해, 시그널링 서버(20)에 의해 생성된 시그널링과, DASH 서버(10)에 의해 생성된 DASH 세그먼트가, 전송로(80)를 통하여 송신된다.
이상, 송신측의 처리의 흐름에 대하여 설명하였다.
또한, 도 14의 송신측의 처리에서는, 도 11의 송신측의 처리와 마찬가지로, 애플리케이션 제어 이벤트가, 애플리케이션 서버(30)에 의해 생성되는 경우를 설명하였지만, 애플리케이션 제어 이벤트의 생성을 행하는 전용의 이벤트 서버를 제공하도록 해도 된다. 또한, 시그널링 또는 DASH 세그먼트는, 통신 서버(50)에 의해 통신 경유로 배신되도록 해도 된다.
(수신측의 처리의 흐름)
이어서, 도 15의 흐름도를 참조하여, 인 밴드 이벤트 방식의 이벤트에 의한 애플리케이션 제어를 행하는 경우의 수신측의 처리의 흐름을 설명한다.
스텝 S671 내지 S673에 있어서는, 도 12의 스텝 S641 내지 S643과 마찬가지로, 방송 미들웨어(604)에 의해, 방송 서버(40)로부터의 시그널링이 수신되어 처리되고, MPD 메타데이터가, DASH 클라이언트(605)에 통지된다.
스텝 S681에 있어서, DASH 클라이언트(605)는, 스텝 S673의 처리에서 통지된 MPD 메타데이터를 처리한다.
스텝 S674 내지 S675에 있어서는, 도 12의 스텝 S644 내지 S645와 마찬가지로, 방송 미들웨어(604)에 의해, 방송 서버(40)로부터의 DASH 세그먼트가 수신되고, DASH 클라이언트(605)에 전송된다.
스텝 S682에 있어서, DASH 클라이언트(605)는, 스텝 S681의 MPD 메타데이터의 처리 결과에 기초하여, 스텝 S675의 처리에서 전송된 DASH 세그먼트를 처리한다. 또한, 스텝 S683에 있어서, DASH 클라이언트(605)는, 스텝 S682의 처리 결과에 기초하여, DASH 세그먼트(의 box 구조)에 삽입된 emsg 박스(DASHEventMessageBox)로부터, 인 밴드 이벤트로서 저장된 애플리케이션 제어 이벤트를 추출한다.
즉, emsg 박스(DASHEventMessageBox)에 있어서는, scheme_id_uri의 필드에, "urn:atsc:applicationPrivateEvent"가 정의됨과 함께, message_data의 필드에, 이벤트 관련 데이터로서, 애플리케이션 제어 이벤트가 배치되어 있으므로, 거기에서, 애플리케이션 제어 이벤트가 추출된다.
스텝 S684에 있어서, DASH 클라이언트(605)는, 스텝 S683의 처리에서 추출된 애플리케이션 제어 이벤트를, 애플리케이션 제어부(611)에 통지한다.
스텝 S691 내지 S692에 있어서는, 도 12의 스텝 S661 내지 S662와 마찬가지로, 애플리케이션 제어부(611)에 의해, 애플리케이션 제어 이벤트에 따른 독자 프로토콜의 처리가 행해진다. 여기서, 독자 프로토콜의 처리로서는, 송신측 시스템(5)과 클라이언트 장치(60)가 공통으로 이해할 수 있는 처리이며, 예를 들어 기동 중인 애플리케이션의 표시 내용의 변경이나 그 실행의 정지 등의 처리가 행해진다.
또한, 스텝 S685 내지 S686에 있어서는, 도 12의 스텝 S655 내지 S656과 마찬가지로, 디코더(606) 및 렌더링 엔진(612)에 의해, 콘텐츠의 비디오나 오디오의 데이터에 관한 처리가 행해짐으로써, 프로그램 등의 콘텐츠의 영상이 표시됨과 함께 그 음성이 출력된다.
이상, 수신측의 처리의 흐름에 대하여 설명하였다.
또한, 클라이언트 장치(60)에 있어서는, 도 15의 수신측의 처리가 행해짐으로써, 스텝 S692의 처리에 의해, 애플리케이션 제어 이벤트에 따라, 기동 중인 애플리케이션을 정지(종료)시킬 수 있지만, 애플리케이션이 일단 정지한 후에는, 동일한 서비스의 SLS 시그널링(또는 SLT 메타데이터의 당해 서비스의 엔트리)에, 정지한 애플리케이션의 애플리케이션 URL과 상이한 애플리케이션 URL이 지정될 때까지는, 애플리케이션이 기동되지 않도록 한다. 이러한 제어 모델의 간략화에 의해, 애플리케이션의 라이프 사이클 컨트롤을 간소화할 수 있기 때문에, 예를 들어 클라이언트 장치(60)의 실장이나 테스트를 용이하게 하고, 도입 비용을 저감하는 것이 가능하게 된다.
<2. 제2 실시 형태: 애플리케이션의 시큐어한 제공>
그런데, 프로그램이나 CM 등의 콘텐츠에 부수되는 애플리케이션은, 소위 전파 잭 등의 부정행위에 의해, 프로그램 등의 콘텐츠의 제공자(예를 들어 방송국)가 의도하지 않은 악의가 있는 애플리케이션으로 치환될 가능성이 문제시되고 있다. 이러한 종류의 문제의 해결책으로서는, PKI(Public Key Infrastructure) 등을 이용한 본격적인 애플리케이션 인증의 플랫폼을 구축하는 방법도 고려되지만, 애플리케이션 인증을 위해서만, 본격적인 플랫폼을 구축하는 것은, 비용면에서 현실적이지는 않다.
한편, 애플리케이션이 부수되는 프로그램 등의 콘텐츠는, 디지털 저작권 관리(DRM: Digital Rights Management)에 의해, 부정한 이용으로부터 보호한다고 하는 운용이 상정되는데, 본 기술에서는, 이 DRM의 콘텐츠 보호의 구조를 이용하여, 콘텐츠에 부수되는 애플리케이션이 시큐어하게 제공되도록 한다.
이하, 제2 실시 형태로서, DRM의 콘텐츠 보호의 구조를 이용한 애플리케이션의 시큐어한 제공에 대하여 설명한다. 단, 제2 실시 형태에 있어서도, 상술한 제1 실시 형태와 마찬가지로, 시큐어하게 제공되는 애플리케이션의 라이프 사이클 컨트롤이, 간소화되어 있는 것으로 한다.
또한, 제2 실시 형태에 있어서는, DRM의 콘텐츠 보호의 구조를 이용하여, 애플리케이션으로부터 일정한 계산 수순(알고리즘)에 의해 구해진 다이제스트값(해시값)을 포함하는 애플리케이션 다이제스트(후술하는 도 22의 애플리케이션 다이제스트(app_digest_message))가, 다음의 2가지 방식에 의해 저장되도록 한다.
즉, 제1 방식으로서는, 애플리케이션 다이제스트를, 워터마크(Watermark)로서, 비디오 부호화 데이터에 삽입하고 나서, VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛으로서, ISOBMFF(ISO Base Media File Format)의 fragmented mp4의 mdat 내의 샘플로서 전송되도록 한다. 이하, 이 제1 방식을, 워터마크 저장 방식이라고 칭하여 설명한다.
또한, 제2 방식으로서는, 애플리케이션 다이제스트를, 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 직접 저장하여, ISOBMFF의 fragmented mp4의 mdat 내의 샘플로서 전송되도록 한다. 이하, 이 제2 방식을, 비VCL-NAL 유닛 저장 방식이라고 칭하여 설명한다.
또한, NAL(Network Abstraction Layer)이란, 예를 들어 HEVC(High Efficiency Video Coding) 등에 있어서, 비디오 부호화 처리 그 자체를 취급하는 VCL(Video Coding Layer)과, 부호화된 정보(부호열)를 전송ㆍ축적하는 하위 시스템의 사이에 형성된 층(네트워크 추상 레이어)이다. 따라서, VCL과 NAL은 분리된 구조로 되어 있다.
(1) 시스템의 구성
(전송 시스템의 구성)
도 16은, 본 기술을 적용한 전송 시스템의 일 실시 형태(제2 실시 형태)의 구성예를 도시하는 도면이다.
도 16에 있어서, 전송 시스템(2)은, 송신측 시스템(7)과, 수신측 클라이언트 장치(60)로 구성된다. 또한, 도 16의 전송 시스템(2)에 있어서, 도 1의 전송 시스템(1)과 대응하는 부분에는 동일한 부호가 부여되어 있고, 반복으로 되는 부분의 설명은 적절하게 생략하기로 한다.
도 16에 있어서, 송신측 시스템(7)은, 도 1의 송신측 시스템(5)과 비교하여, DASH 서버(10) 내지 통신 서버(50)에 추가하여, 스트림 서버(70)가 새롭게 제공되어 있는 점이 상이하다.
애플리케이션 서버(30)는, 애플리케이션 다이제스트를 생성한다. 또한, 상세는, 도 22 등을 참조하여 후술하겠지만, 애플리케이션 다이제스트에는, 애플리케이션의 애플리케이션 URL과, 당해 애플리케이션에 대하여 소정의 알고리즘을 적용함으로써 생성된 다이제스트값(해시값)이 포함된다.
애플리케이션 서버(30)는, 워터마크 저장 방식을 채용한 경우에는, 애플리케이션 다이제스트를, 스트림 서버(70)에 송신하고, 비VCL-NAL 유닛 저장 방식을 채용한 경우에는, 애플리케이션 다이제스트를, DASH 서버(10)에 송신한다.
스트림 서버(70)는, 프로그램 등의 콘텐츠(의 데이터)를 처리함으로써, 스트림(기저 대역 밴드 프레임 시퀀스)을 생성한다. 또한, 스트림 서버(70)는, 스트림의 기저 대역 프레임을 인코드함으로써, VCL-NAL 유닛을 생성한다.
단, 스트림 서버(70)는, 워터마크 저장 방식을 채용한 경우, 스트림의 기저 대역 프레임에 삽입되는 워터마크에, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한다.
DASH 서버(10)는, 스트림 서버(70)로부터 송신되어 오는 스트림의 데이터를 처리하여, DASH 세그먼트를 생성하고, 방송 서버(40) 또는 통신 서버(50)에 송신한다.
단, DASH 서버(10)는, 워터마크 저장 방식을 채용한 경우, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한 워터마크를 포함하는 VCL-NAL 유닛을 암호화하여 얻어지는 DRM 보호 파일을 처리함으로써, DASH 세그먼트를 생성한다.
한편, DASH 서버(10)는, 비VCL-NAL 유닛 저장 방식을 채용한 경우, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한 비VCL-NAL 유닛을 생성하고, VCL-NAL 유닛과 비VCL-NAL 유닛을 암호화하여 얻어지는 DRM 보호 파일을 처리함으로써, DASH 세그먼트를 생성한다.
방송 서버(40) 또는 통신 서버(50)는, DASH 서버(10)에 의해 생성된 DASH 세그먼트, 시그널링 서버(20)에 의해 생성된 시그널링, 및 애플리케이션 서버(30)에 의해 생성된 애플리케이션을, 전송로(80) 또는 인터넷(90)을 통하여 배신한다.
클라이언트 장치(60)는, 도 1의 클라이언트 장치(60)와 마찬가지로, 콘텐츠를 재생하거나, 당해 콘텐츠에 부수된 애플리케이션을 실행하거나 한다. 또한, 클라이언트 장치(60)는, 도 1의 클라이언트 장치(60)와 비교하여, 애플리케이션 다이제스트를 사용하여 애플리케이션의 검증 처리를 행하는 점이 상이하다.
즉, 클라이언트 장치(60)는, 워터마크 저장 방식을 채용한 경우, DRM 보호 파일에 포함되는 워터마크에 저장된 애플리케이션 다이제스트를 추출하고, 당해 애플리케이션 다이제스트를 사용하여, 애플리케이션의 검증 처리를 행한다. 한편, 클라이언트 장치(60)는, 비VCL-NAL 유닛 저장 방식을 채용한 경우, DRM 보호 파일에 포함되는 비VCL-NAL 유닛에 저장된 애플리케이션 다이제스트를 추출하고, 당해 애플리케이션 다이제스트를 사용하여, 애플리케이션의 검증 처리를 행한다.
또한, 도 16의 전송 시스템(2)의 구성은 일례이며, 다른 구성을 채용해도 된다. 예를 들어, 애플리케이션 다이제스트는, 애플리케이션 서버(30)가 아니라, 전용의 서버가 생성하도록 해도 된다. 또한, 예를 들어 워터마크 저장 방식을 채용한 경우의 워터마크에 관한 처리 등을, 전용의 서버가 행하도록 해도 된다.
이어서, 도 17 내지 도 20을 참조하여, 도 16의 전송 시스템(2)에 있어서의, 송신측 시스템(7)의 스트림 서버(70), DASH 서버(10) 및 애플리케이션 서버(30)와, 클라이언트 장치(60)의 구성에 대하여 설명한다. 또한, 시그널링 서버(20)는, 도 3에 도시한 구성과 동일하기 때문에, 그 설명은 생략한다. 또한, 통신 서버(50)에 대해서도, 상술한 구성과 동일한 구성을 갖고 있다.
(스트림 서버의 구성)
도 17은, 도 16의 스트림 서버(70)의 구성예를 도시하는 도면이다.
도 17에 있어서, 스트림 서버(70)는, 수신부(701), 처리부(702) 및 송신부(703)로 구성된다. 또한, 처리부(702)는, 스트림 생성부(711), 워터마크 인서터(712) 및 인코더(713)를 포함하고 있다.
수신부(701)는, 외부의 서버(도시하지 않음) 등으로부터, 프로그램이나 CM 등의 콘텐츠(의 데이터)를 수신하고, 처리부(702)에 공급한다. 또한, 이 예에서는, 프로그램이나 CM 등의 콘텐츠(의 데이터)가, 외부로부터 제공되는 경우를 설명하지만, 프로그램이나 CM 등의 콘텐츠(의 데이터)는, 스트림 서버(70)에 의해 축적되도록 해도 된다.
또한, 수신부(701)는, 워터마크 저장 방식을 채용한 경우, 애플리케이션 서버(30)로부터 송신되어 오는 애플리케이션 다이제스트를 수신하고, 처리부(702)(의 워터마크 인서터(712))에 공급한다.
처리부(702)는, 수신부(701)로부터 공급되는 프로그램 등의 콘텐츠(의 데이터)를 처리하고, 송신부(703)에 공급한다. 또한, 처리부(702)는, 스트림 생성부(711), 워터마크 인서터(712) 및 인코더(713)로부터 공급된다.
스트림 생성부(711)는, 수신부(701)로부터 공급되는 프로그램 등의 콘텐츠(의 데이터)를 처리함으로써, 비디오의 스트림(기저 대역 프레임 시퀀스)을 생성한다. 또한, 여기서는 상세한 설명은 생략하지만, 스트림 생성부(711)는 콘텐츠(의 데이터)를 처리함으로써, 오디오의 스트림도 생성하고 있다.
워터마크 인서터(712)는, 워터마크 저장 방식을 채용한 경우, 스트림 생성부(711)에 의해 생성된 스트림의 기저 대역 프레임에 삽입되는 워터마크(워터마크 페이로드)에, 애플리케이션 서버(30)에 의해 생성되는 애플리케이션 다이제스트를 저장한다.
단, 워터마크 인서터(712)는, 워터마크 저장 방식을 채용한 경우에만 동작하는 것이며, 비VCL-NAL 유닛 저장 방식을 채용한 경우, 스트림 서버(70)에 있어서, 워터마크 인서터(712)를 동작시킬 필요는 없다(설치할 필요는 없다).
인코더(713)는, 소정의 부호화 방식(예를 들어 HEVC 등)에 따라, 스트림 생성부(711)에 의해 생성된 비디오의 스트림의 기저 대역 프레임을 인코드하고, VCL-NAL 유닛을 생성한다. 또한, 여기서는 상세한 설명은 생략하지만, 인코더(713)는, 스트림 생성부(711)에 의해 생성된 오디오의 스트림에 대해서도, 소정의 부호화 방식(예를 들어 AAC 등)에 따라, 인코드하게 된다.
송신부(703)는, 처리부(702)(의 인코더(713))로부터 공급되는 VCL-NAL 유닛(과 오디오의 데이터)를 포함하는 스트림의 데이터를, DASH 서버(10)에 송신한다.
스트림 서버(70)는, 이상과 같이 구성된다.
(DASH 서버의 구성)
도 18은, 도 16의 DASH 서버(10)의 구성예를 도시하는 도면이다. 또한, 도 18의 DASH 서버(10)에 있어서, 도 2의 DASH 서버(10)와 대응하는 부분에는 동일한 부호가 부여되어 있으며, 그 설명은 적절하게 생략한다.
도 18에 있어서, DASH 서버(10)는, 수신부(101), 처리부(102) 및 송신부(103)로 구성된다. 또한, 처리부(102)는, MPD 생성부(111) 및 DASH 세그먼트 생성부(112)에 추가하여, 암호화부(113), DRM 보호 파일 생성부(114) 및 비VCL-NAL 유닛 생성부(115)를 포함하고 있다.
수신부(101)는, 스트림 서버(70)로부터 송신되어 오는 스트림의 데이터를 수신하고, 처리부(102)에 공급한다. 처리부(102)는, 수신부(101)로부터 공급되는 스트림의 데이터를 처리하고, DASH 세그먼트를 생성하고, 송신부(103)에 공급한다. 송신부(103)는, 처리부(102)로부터 공급되는 DASH 세그먼트를, 방송 서버(40) 또는 통신 서버(50)에 송신한다.
보다 구체적으로는, 워터마크 저장 방식을 채용한 경우에는, 다음과 같이 하여 DASH 세그먼트가 생성된다. 즉, 암호화부(113)는, 소정의 암호화 방식에 따라, 스트림 서버(70)에 의해 생성된 VCL-NAL 유닛을 암호화한다.
계속해서, DRM 보호 파일 생성부(114)는, 암호화부(113)에 의해 암호화된 VCL-NAL 유닛을 처리하여, DRM 보호 파일을 생성한다. 여기서는, 예를 들어 PlayReady(등록 상표) 등의 DRM의 방식에 따라, DRM 보호 파일은 보호된다. 그리고, DASH 세그먼트 생성부(112)는, DRM 보호 파일 생성부(114)에 의해 생성된 DRM 보호 파일을 처리하여, DASH 세그먼트를 생성한다.
한편, 비VCL-NAL 유닛 저장 방식을 채용한 경우에는, 다음과 같이 하여 DASH 세그먼트가 생성된다. 즉, 비VCL-NAL 유닛 생성부(115)는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한 비VCL-NAL 유닛을 생성한다. 또한, 암호화부(113)는, 소정의 암호화 방식에 따라, 스트림 서버(70)에 의해 생성된 VCL-NAL 유닛과, 비VCL-NAL 유닛 생성부(115)에 의해 생성된 비VCL-NAL 유닛을 암호화한다.
계속해서, DRM 보호 파일 생성부(114)는, 암호화부(113)에 의해 암호화된 VCL-NAL 유닛과 비VCL-NAL 유닛을 처리하여, DRM 보호 파일을 생성한다. 여기서는, 예를 들어 PlayReady(등록 상표) 등의 DRM의 방식에 따라, DRM 보호 파일은 보호된다. 그리고, DASH 세그먼트 생성부(112)는, DRM 보호 파일 생성부(114)에 의해 생성된 DRM 보호 파일을 처리하여, DASH 세그먼트를 생성한다. 단, 비VCL-NAL 유닛 생성부(115)는, 비VCL-NAL 유닛 저장 방식을 채용한 경우에만 동작하는 것이며, 워터마크 저장 방식을 채용한 경우, DASH 서버(10)에 있어서, 비VCL-NAL 유닛 생성부(115)를 동작시킬 필요는 없다(설치할 필요는 없다).
DASH 서버(10)는, 이상과 같이 구성된다.
(애플리케이션 서버의 구성)
도 19는, 도 16의 애플리케이션 서버(30)의 구성예를 도시하는 도면이다. 또한, 도 19의 애플리케이션 서버(30)에 있어서, 도 4의 애플리케이션 서버(30)와 대응하는 부분에는 동일한 부호가 부여되어 있으며, 그 설명은 적절하게 생략한다.
도 19에 있어서, 애플리케이션 서버(30)는, 수신부(301), 처리부(302) 및 송신부(303)로 구성된다. 또한, 처리부(302)는, 애플리케이션 URL 생성부(311), 애플리케이션 생성부(312) 및 애플리케이션 제어 이벤트 생성부(313)에 추가하여, 애플리케이션 다이제스트 생성부(314)를 포함하고 있다.
애플리케이션 다이제스트 생성부(314)는, 애플리케이션 생성부(312)에 의해 생성된 애플리케이션으로부터 일정한 계산 수순(알고리즘)에 의해 구해진 다이제스트값(해시값)을 포함하는 애플리케이션 다이제스트를 생성하고, 송신부(303)에 공급한다. 또한, 애플리케이션 다이제스트의 상세한 내용은, 도 22 등을 참조하여 후술한다.
송신부(303)는, 애플리케이션 다이제스트 생성부(314)로부터 공급되는 애플리케이션 다이제스트를, DASH 서버(10) 또는 스트림 서버(70)에 송신한다.
또한, 여기서는, 워터마크 저장 방식을 채용한 경우, 애플리케이션 다이제스트는, 스트림 서버(70)에 송신된다. 한편, 비VCL-NAL 유닛 저장 방식을 채용한 경우, 애플리케이션 다이제스트는, DASH 서버(10)에 송신된다.
애플리케이션 서버(30)는, 이상과 같이 구성된다.
(클라이언트 장치의 구성)
도 20은, 도 16의 클라이언트 장치(60)의 구성예를 도시하는 도면이다. 또한, 도 20의 클라이언트 장치(60)에 있어서, 도 6의 클라이언트 장치(60)와 대응하는 부분에는 동일한 부호가 부여되어 있으며, 그 설명은 적절하게 생략한다.
도 20에 있어서, 클라이언트 장치(60)는, 처리부(601), 입력부(602), 수신부(603), 방송 미들웨어(604), DASH 클라이언트(605), 디코더(606), 출력부(607) 및 통신부(608)로 구성된다. 또한, 처리부(601)는, 도 6의 처리부(601)와 비교하여, 애플리케이션 제어부(611) 및 렌더링 엔진(612)에 추가하여, 워터마크 엑스트랙터(613) 및 애플리케이션 다이제스트 밸리데이터(614)를 갖고 있다.
도 16의 클라이언트 장치(60)에서는, 도 6의 클라이언트 장치(60)와 비교하여, 애플리케이션 다이제스트를 사용하여 애플리케이션의 검증 처리를 행한다는 점이 상이하다.
보다 구체적으로는, 워터마크 저장 방식을 채용한 경우에는, 다음과 같이 하여, 애플리케이션 다이제스트를 사용한 애플리케이션의 검증 처리가 행해진다. 즉, DASH 클라이언트(605)(의 DRM 보호 파일 처리부)는, DASH 세그먼트를 처리함으로써 얻어지는 DRM 보호 파일의 언패키징을 행한다. 또한, DASH 클라이언트(605)(의 복호부)는, 소정의 복호 방식에 따라, DRM 보호 파일의 언패키징을 행함으로써 얻어지는 암호화된 VCL-NAL 유닛을 복호한다.
계속해서, 디코더(606)는, 소정의 복호 방식(예를 들어 HEVC 등)에 따라, DASH 클라이언트(605)에 의해 처리된 VCL-NAL 유닛을 디코드한다. 이때, 워터마크 엑스트랙터(613)는, VCL-NAL 유닛을 디코드함으로써 얻어지는 기저 대역 프레임에 삽입되어 있는 워터마크를 추출한다. 애플리케이션 다이제스트 밸리데이터(614)는, 워터마크 엑스트랙터(613)에 의해 추출된 워터마크에 저장된 애플리케이션 다이제스트를 추출한다.
그리고, 애플리케이션 다이제스트 밸리데이터(614)는, 워터마크에 저장된 애플리케이션 다이제스트와, 방송 미들웨어(604)로부터의 애플리케이션에 따른 애플리케이션 다이제스트를 비교하여, 비교 대상의 애플리케이션 다이제스트가 일치하는 경우에는, 방송 미들웨어(604)로부터의 애플리케이션을 (즉시) 기동한다.
한편, 비VCL-NAL 유닛 저장 방식을 채용한 경우에는, 다음과 같이 하여, 애플리케이션 다이제스트를 사용한 애플리케이션의 검증 처리가 행해진다. 즉, DASH 클라이언트(605)(의 DRM 보호 파일 처리부)는, DASH 세그먼트를 처리함으로써 얻어지는 DRM 보호 파일의 언패키징을 행한다. 또한, DASH 클라이언트(605)(의 복호부)는, 소정의 복호 방식에 따라, DRM 보호 파일의 언패키징을 행함으로써 얻어지는 암호화된 비VCL-NAL 유닛을 복호한다.
계속해서, 애플리케이션 다이제스트 밸리데이터(614)는, DASH 클라이언트(605)(의 복호부)에 의해 복호된 비VCL-NAL 유닛에 저장된 애플리케이션 다이제스트를 추출한다.
그리고, 애플리케이션 다이제스트 밸리데이터(614)는, 비VCL-NAL 유닛에 저장된 애플리케이션 다이제스트와, 방송 미들웨어(604)로부터의 애플리케이션에 따른 애플리케이션 다이제스트를 비교하여, 비교 대상의 애플리케이션 다이제스트가 일치하는 경우에는, 방송 미들웨어(604)로부터의 애플리케이션을 (즉시) 기동한다.
이와 같이 하여, 클라이언트 장치(60)에서는, 워터마크 저장 방식 또는 비VCL-NAL 유닛 저장 방식에 의해, 애플리케이션 다이제스트를 사용한 애플리케이션의 검증 처리가 행해진다. 단, 워터마크 엑스트랙터(613)는, 워터마크 저장 방식을 채용한 경우에만 동작하는 것이며, 비VCL-NAL 유닛 저장 방식을 채용한 경우, 클라이언트 장치(60)에 있어서, 워터마크 엑스트랙터(613)를 동작시킬 필요는 없다(설치할 필요는 없다).
클라이언트 장치(60)는, 이상과 같이 구성된다.
(2) 애플리케이션 다이제스트의 개요
상술한 제1 실시 형태에 있어서는, 콘텐츠에 부수되는 애플리케이션의 라이프 사이클 컨트롤로서, 애플리케이션의 기동 제어를 행하는 경우에, 애플리케이션의 애플리케이션 URL을, 클라이언트 장치(60)에 통지함으로써, 클라이언트 장치(60)에서는, 당해 애플리케이션 URL로 식별되는 애플리케이션(애플리케이션 패키지)이 취득되고, 즉시 기동되게 된다.
이때, 애플리케이션은, 방송 경유 또는 통신 경유로 취득되게 되는데, 방송의 전송 경로 상에서, 애플리케이션 URL 또는 애플리케이션 그 자체의 교체나 개찬 등의 부정행위가 행해질 위험성이 있는 경우에는, 이것을 보호할 필요가 있다.
이러한 보호 방법의 하나로서, 예를 들어 애플리케이션 URL을 포함하는 SLT 메타데이터나 SLS 시그널링(의 메타데이터)를 전송하는 세션, 나아가 애플리케이션을 전송하는 세션 그 자체를, 그에 적합한 트랜스포트/네트워크의 시큐리티 기술(예를 들어, IPSec(Security Architecture for Internet Protocol) 등)을 이용하여, 암호화하는 방법이 상정된다.
그러나, 이러한 종류의 암호화나 개찬 등의 검출을 위한 시스템을 구축하기 위해서는 비용이 문제로 되는 경우가 있으며, 비용을 최소한으로 억제하여, 보다 용이하게, 애플리케이션 URL이나 애플리케이션의 교체나 개찬 등의 부정행위의 위험성으로부터 보호하기 위한 구조가 요구되고 있다.
그래서, 제2 실시 형태에서는, 애플리케이션의 교체나 개찬 등의 부정행위를 검출하기 위해, 송신측 시스템(7)에서, 해시 함수의 알고리즘에 의해 계산되는 애플리케이션 자신의 다이제스트값(해시값)이, 애플리케이션 다이제스트로서, 클라이언트 장치(60)에 통지되도록 한다. 그리고, 클라이언트 장치(60)에서는, 송신측 시스템(7)으로부터 통지되는 애플리케이션 다이제스트(애플리케이션 자신의 다이제스트값)를 사용하여, 애플리케이션에 대하여, 교체나 개찬 등의 부정행위가 행해지고 있는지 여부를 검증하게 된다.
예를 들어, 애플리케이션이, HTML 문서 파일 등의 복수의 파일군으로 구성되는 경우에, 당해 애플리케이션을 구성하는 파일군을 통합하여 서명하는 방식으로서는, XML 서명(XML Signature)에 의해 규정된 방식을 사용할 수 있다. 또한, XML 서명은, W3C(World Wide Web Consortium)에 의해, 디지털 서명을 위한 XML 구문을 규정하는 것으로서 권고되고 있다.
여기서, 도 21의 좌측에 도시하는 바와 같이, 송신측의 송신측 시스템(7)에 있어서는, 애플리케이션 서버(30)의 애플리케이션 다이제스트 생성부(314)에 의해, 클라이언트 장치(60)에 배신되는 애플리케이션에 대하여, 소정의 알고리즘을 적용함으로써 생성된 다이제스트값(해시값)을 포함하는 애플리케이션 다이제스트가 생성된다. 이 애플리케이션 다이제스트로서는, 예를 들어 대상의 애플리케이션의 애플리케이션 URL과, 그 애플리케이션 URL에, MD5(Message Digest Algorithm 5)나 SHA-1, SHA-256 등의 소정의 알고리즘을 적용함으로써 얻어지는 다이제스트값이 포함되도록 할 수 있다.
송신측의 송신측 시스템(7)에 있어서는, 방송 서버(40)(또는 통신 서버(50))에 의해, 애플리케이션 서버(30)에 의해 생성된 애플리케이션이, 전송로(80)(또는 인터넷(90))를 통하여, 수신측의 클라이언트 장치(60)에 송신된다.
또한, 송신측의 송신측 시스템(7)에 있어서는, 방송 서버(40)(또는 통신 서버(50))에 의해, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트가, 워터마크 저장 방식 또는 비VCL-NAL 유닛 저장 방식에 의해 보호된 상태에서, 전송로(80)(또는 인터넷(90))를 통하여, 수신측의 클라이언트 장치(60)에 송신된다.
한편, 수신측의 클라이언트 장치(60)에 있어서는, 송신측의 송신측 시스템(7)으로부터 송신되는 애플리케이션이 수신된다. 수신측의 클라이언트 장치(60)는, 송신측의 송신측 시스템(7)으로부터 배신(수신)된 애플리케이션에 대하여, 송신측의 송신측 시스템(7)과 동일한 알고리즘을 적용하여, 애플리케이션 다이제스트(다이제스트값)를 생성한다. 여기서는, 예를 들어 대상의 애플리케이션의 애플리케이션 URL에, MD5나 SHA-1, SHA-256 등의 소정의 알고리즘을 적용함으로써, 다이제스트값이 구해진다.
또한, 수신측의 클라이언트 장치(60)에 있어서는, 송신측의 송신측 시스템(7)으로부터 송신되는 애플리케이션 다이제스트이며, 워터마크 저장 방식 또는 비VCL-NAL 유닛 저장 방식에 의해 보호된 애플리케이션 다이제스트가 수신된다.
그리고, 수신측의 클라이언트 장치(60)는, 워터마크 저장 방식 또는 비VCL-NAL 유닛 저장 방식에 의해 보호된 애플리케이션 다이제스트(다이제스트값)와, 자신이 송신측과 동일한 알고리즘을 적용함으로써 구한 애플리케이션 다이제스트(다이제스트값)를 비교하여, 그들 애플리케이션 다이제스트(다이제스트값)가 일치하는지 여부를 판정한다.
수신측의 클라이언트 장치(60)는, 애플리케이션 다이제스트(다이제스트값)가 일치한다고 판정한 경우에는, 송신측의 송신측 시스템(7)으로부터 배신된 애플리케이션을, 예를 들어 즉시 기동하는 등, 정당한 애플리케이션으로서 처리한다. 한편, 수신측의 클라이언트 장치(60)는, 애플리케이션 다이제스트(다이제스트값)가 일치하지 않는다고 판정한 경우에는, 송신측의 송신측 시스템(7)으로부터 배신된 애플리케이션을, 예를 들어 미기동으로 하는 등, 부당한 애플리케이션으로서 처리한다.
그런데, 애플리케이션이 부수되는 콘텐츠는, 디지털 저작권 관리(DRM)에 의해, 부정한 이용으로부터 보호한다고 하는 운용이 상정된다. 특히, ATSC3.0에서는, 프로그램 등의 콘텐츠(의 스트림)의 보호가 요건으로 되어 있으며, 어떠한 DRM이 도입될 가능성이 높다. 제2 실시 형태에서는, 이 콘텐츠를 보호하기 위한 DRM을 이용하여, 송신측 시스템(7)으로부터 클라이언트 장치(60)에, 애플리케이션 다이제스트를 통지함으로써, 정당한 애플리케이션인지 여부를 검증할 수 있도록 하고 있다.
또한, DRM을 이용함으로써, 보호 대상으로 되는 콘텐츠(의 스트림)과, 거기에 부수되는 애플리케이션의 바인딩(관련지음)도 검증할 수 있다.
여기서, DRM으로서는, 예를 들어 PlayReady(등록 상표), Marlin, Widevine, Verimatrix 등의 방식을 적용할 수 있지만, 어느 방식에도 공통으로 적용 가능한 애플리케이션 바인딩 보호를 위한 각종 포맷을 사양화해 두도록 한다. 이에 의해, 클라이언트 장치(60)에서는, DRM으로서, 어느 방식이 적용된 경우라도, 각 방식의 차이에 구애되지 않고, 정당한 애플리케이션과의 바인딩인지 여부를 검증할 수 있다.
(애플리케이션 다이제스트의 신택스의 예)
도 22는, 애플리케이션 다이제스트(app_digest_message)의 신택스의 예를 도시하는 도면이다.
8비트의 uri_strlen은, 대상의 애플리케이션을 식별하는 URL(애플리케이션 URL)의 길이를 나타내고 있다. 8×uri_strlen 비트의 uri_string()는, 대상의 애플리케이션을 식별하는 URL(애플리케이션 URL)을 나타내고 있다.
8비트의 digest_type은, 암호학적 해시 함수의 알고리즘의 종별을 나타낸다. 예를 들어, 도 23에 도시하는 바와 같이, digest_type으로서 "0x01"이 지정된 경우, 알고리즘은, MD5(Message Digest Algorithm 5)임을 나타내고 있다. 또한, 예를 들어 digest_type으로서, "0x02"가 지정된 경우에는 SHA-1, "0x03"이 지정된 경우에는 SHA-256이 알고리즘으로서 지정되게 된다. 또한, SHA는, Secure Hash Algorithm의 약칭이다. 또한, 0x00, 0x04 내지 0xFF는, 장래의 확장을 위해 예약된 값(reserved)으로 된다.
도 22의 설명으로 되돌아가, 8비트의 digest_len은, 대상의 애플리케이션의 다이제스트값의 바이트 길이를 나타내고 있다. 8×digest_len 비트의 digest_value는, 대상의 애플리케이션의 다이제스트값을 나타내고 있다.
그리고, 제2 실시 형태에서는, 도 22의 애플리케이션 다이제스트(app_digest_message)가, 상술한 워터마크 저장 방식, 또는 비VCL-NAL 유닛 저장 방식에 따라 저장되게 된다.
즉, 워터마크 저장 방식에서는, 애플리케이션 다이제스트를, 워터마크로서, 비디오 부호화 데이터에 삽입하고 나서, VCL-NAL 유닛으로서, ISOBMFF의 fragmented mp4의 mdat 내의 샘플로서 전송되도록 하고 있다. 또한, 비VCL-NAL 유닛 저장 방식에서는, 애플리케이션 다이제스트를, 비VCL-NAL 유닛에 직접 저장하여, ISOBMFF의 fragmented mp4의 mdat 내의 샘플로서 전송되도록 하고 있다.
또한, 도 24에는, ISOBMFF에 대응한 세그먼트의 데이터 형식의 예를 도시하고 있지만, 워터마크 저장 방식, 또는 비VCL-NAL 유닛 저장 방식을 채용한 경우에는, 미디어 세그먼트(Media Segment)에 있어서, 서브 세그먼트(Sub Segment)의 Movie fragment를 구성하는 moof와 mdat 중, mdat 내에, 애플리케이션 다이제스트가 저장되게 된다.
(3) 애플리케이션 다이제스트의 전송 방식
이어서, 워터마크 저장 방식과, 비VCL-NAL 유닛 저장 방식의 상세한 내용에 대하여 설명한다.
(A) 워터마크 저장 방식
(워터마크 저장 방식의 개요)
도 25는, 워터마크 저장 방식의 개요를 설명하는 도면이다.
도 25에 있어서는, 송신측 시스템(7)의 방송 서버(40)로부터, 전송로(80)를 통하여 클라이언트 장치(60)에 전송되는 방송 스트림을 모식적으로 도시하고 있다. 이 방송 스트림에는, DRM에 의해 암호화되어 있는 부분(암호화 파이프(Encrypted Pipe))과, 암호화되어 있지 않은 부분(비암호화 파이프(Clear Pipe))이 있다.
워터마크 저장 방식에서는, 암호화 파이프에서, 애플리케이션(App)을 검증하기 위한 애플리케이션 다이제스트(App Digest)를, 워터마크(Watermark)에 저장함으로써, 당해 애플리케이션 다이제스트가 보호되도록 한다. 단, 이 애플리케이션 다이제스트에는, 도 22에 도시한 바와 같이, 애플리케이션의 식별 정보(예를 들어 애플리케이션 URL)와, 애플리케이션의 다이제스트값이 포함되어 있다.
클라이언트 장치(60)에서는, 프로그램 등의 콘텐츠의 재생 중에 DRM을 캔슬함으로써, 워터마크에 저장된 애플리케이션의 애플리케이션 URL과 다이제스트값을 추출하고, 다이제스트값을 사용하여, 애플리케이션 URL에 의해 특정되는 애플리케이션이, 정당한 애플리케이션인지 여부의 검증을 행한다. 여기서는, 워터마크에 저장된 다이제스트값과, 애플리케이션 URL에 따라 취득되는 애플리케이션에 따른 다이제스트값을 비교함으로써 검증을 행하여, 이들 다이제스트값이 일치하는 경우에는, 애플리케이션 URL에 의해 특정되는 애플리케이션은, 정당한 애플리케이션인 것으로 판정한다.
예를 들어, IP 전송 방식을 채용하는 ATSC3.0에 있어서, 프로그램 등의 콘텐츠의 비디오와 오디오의 스트림은, DRM에 의한 시큐어한 암호화 파이프에서 전송되어 보호되지만, IP/UDP 상의 ROUTE 세션으로 전송되는 (콘텐츠의) DASH 세그먼트의 파일(DASH 세그먼트 MP4 프래그먼트 파일)을 구성하는 미디어 세그먼트의 Movie fragment의 mdat에 저장되는 VCL-NAL 유닛에는, 애플리케이션 다이제스트를 포함하는 워터마크가 저장되어 있다. 그리고, 이 워터마크의 구조로서, 애플리케이션의 애플리케이션 URL과 다이제스트값을 포함하는 애플리케이션 다이제스트의 필드가 정의되어 있는 것이다.
이와 같이, 워터마크 저장 방식을 채용함으로써, 프로그램 등의 콘텐츠의 보호를 위한 DRM에 의한 시큐어한 암호화 파이프를, 애플리케이션 다이제스트의 전송에 유용함으로써, 엔드 투 엔드의 시큐리티가 보증되고, 예를 들어 애플리케이션의 교체나 개찬, 콘텐츠와 애플리케이션의 관련지음의 개찬 등, 악의가 있는 제3자에 의한 부정(공격)을 피할 수 있다.
또한, 워터마크 저장 방식에 따르면, PKI 등을 이용한 본격적인 애플리케이션 인증을 위한 플랫폼(인프라스트럭처)을 구축하지 않고, 기존의 DRM을 유용하여 애플리케이션 인증을 행하는 것이 가능하게 되므로, 비용의 경감을 담보할 수 있다.
(워터마크 페이로드의 구조)
도 26은, 비디오 워터마크(워터마크)를 이용한 애플리케이션 다이제스트의 저장 방법을 도시하는 도면이다.
도 26에 도시하는 바와 같이, 1비디오 프레임에 있어서는, 영상 표시 영역의 상측의 소정의 라인(예를 들어 2라인)을 비디오 워터마크로서 이용할 수 있다. 이 비디오 워터마크로 이용되는 라인에서는, 예를 들어 1블록별로, 1비트나 2비트의 정보량을 전송할 수 있다. 그리고, 비디오 워터마크에서는, 비디오 부호화 데이터의 소정의 라인(예를 들어 2라인)을 사용하여, 워터마크 페이로드(Watermark payload)를 전송할 수 있다.
이 워터마크 페이로드에는, WM 메시지(wm_message())로서, 도 22에 도시한 애플리케이션 다이제스트 메시지(app_digest_message())를 배치할 수 있다. 이 애플리케이션 다이제스트 메시지에는, 애플리케이션 URL을 저장한 uri_string()와, 다이제스트값을 저장한 digest_value가 포함된다. 이하, 도 27 내지 도 29를 참조하여, 워터마크 페이로드의 신택스에 대하여 설명한다.
(워터마크 페이로드의 신택스)
도 27은, 워터마크 페이로드(Watermark payload)의 신택스의 예를 도시하는 도면이다.
16비트의 run_in_pattern에는, 비디오 워터마크의 전송 패턴과, 백색에서부터 흑색까지의 범위로 표시되는 1영역의 분해능이 지정된다. 이 전송 패턴으로서는, 예를 들어 1라인 또는 2라인이 지정된다. 또한, 1영역의 분해능으로서는, 예를 들어 8비트 내지 12비트가 지정된다.
wm_message_block()는, 워터마크의 메시지 영역을 나타내고 있다. 8비트의 zero_pad는, 제로 패딩을 나타내고 있다.
(WM 메시지 블록의 신택스)
도 28은, 도 27의 WM 메시지 블록(wm_message_block())의 신택스의 예를 도시하는 도면이다.
8비트의 wm_message_id에는, WM 메시지 ID가 지정된다. 8비트의 wm_message_block_length에는, WM 메시지 블록 길이가 지정된다.
4비트의 wm_message_version에는, WM 메시지의 버전이 지정된다. 2비트의 fragment_number와, 2비트의 last_fragment에는, 프래그먼트에 관한 정보가 지정된다.
여기서, wm_message()에는, WM 메시지 ID로 지정되는 값에 따른 WM 메시지가 지정된다. 예를 들어, 도 29에 도시하는 바와 같이, WM 메시지 ID로서, "0x08"이 지정된 경우, WM 메시지로서, 애플리케이션 다이제스트 메시지(app_digest_message())가 배치된다. 또한, WM 메시지에는, message_CRC_32나 CRC_32 등의 오류 검출 부호가 포함된다.
이어서, 도 30 및 도 31의 흐름도를 참조하여, 워터마크 저장 방식을 채용한 경우에 있어서의 전송 시스템(2)(도 16)의 각 장치에서 실행되는 처리의 흐름을 설명한다.
(송신측의 처리의 흐름)
우선, 도 30의 흐름도를 참조하여, 워터마크 저장 방식을 채용한 경우의 송신측의 처리의 흐름을 설명한다. 또한, 이 송신측의 처리에서는, 애플리케이션 다이제스트가 비디오 워터마크에 저장되는 경우를 설명하기 위해, 비디오의 데이터에 대한 처리를 중심으로 설명하고, 오디오의 데이터에 대한 처리의 설명에 대해서는 적절하게 생략한다.
도 30의 스텝 S351 내지 S355의 처리는, 애플리케이션 서버(30)에 의해 실행된다. 스텝 S351에 있어서, 애플리케이션 URL 생성부(311)는, 애플리케이션 URL을 생성한다. 스텝 S352에 있어서, 애플리케이션 생성부(312)는, 스텝 S351의 처리에서 생성된 애플리케이션 URL에 의해 식별되는 애플리케이션을 생성한다.
스텝 S353에 있어서, 송신부(303)는, 스텝 S351의 처리에서 생성된 애플리케이션 URL을, 시그널링 서버(20)에 송신하고, 스텝 S352의 처리에서 생성된 애플리케이션을, 방송 서버(40)에 송신한다.
스텝 S354에 있어서, 애플리케이션 다이제스트 생성부(314)는, 애플리케이션 다이제스트를 생성한다. 이 애플리케이션 다이제스트에는, 예를 들어 스텝 S351의 처리에서 생성된 애플리케이션 URL과, 스텝 S352의 처리에서 생성된 애플리케이션에 대하여, 소정의 알고리즘(예를 들어, MD5 등)을 적용함으로써 생성된 다이제스트값(해시값)이 포함된다.
스텝 S355에 있어서, 송신부(303)는, 스텝 S354의 처리에서 생성된 애플리케이션 다이제스트를, 스트림 서버(70)에 송신한다.
도 30의 스텝 S701 내지 S704의 처리는, 스트림 서버(70)에 의해 실행된다. 또한, 스트림 서버(70)에 있어서는, 스텝 S355의 처리에서 송신된 애플리케이션 다이제스트가 수신된다.
스텝 S701에 있어서, 스트림 생성부(711)는, 수신부(701)에 축적된 프로그램 등의 콘텐츠(의 데이터)를 처리함으로써, 스트림(기저 대역 프레임 시퀀스)을 생성한다.
스텝 S702에 있어서, 워터마크 인서터(712)는, 스텝 S701의 처리에서 생성된 스트림의 기저 대역 프레임에 삽입되는 워터마크(워터마크 페이로드)에, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한다.
스텝 S703에 있어서, 인코더(713)는, 소정의 부호화 방식(예를 들어 HEVC 등)에 따라, 스텝 S702에서 처리된 기저 대역 프레임을 인코드하고, VCL-NAL 유닛을 생성한다. 스텝 S704에 있어서, 송신부(703)는, 스텝 S703의 처리에서 생성된 VCL-NAL 유닛을, DASH 서버(10)에 송신한다.
도 30의 스텝 S151 내지 S156의 처리는, DASH 서버(10)에 의해 실행된다. 또한, DASH 서버(10)에 있어서는, 스텝 S704의 처리에서 송신된 VCL-NAL 유닛이 수신된다.
스텝 S151에 있어서, MPD 생성부(111)는, MPD 메타데이터를 생성한다. 또한, 스텝 S152에 있어서, 송신부(103)는, 스텝 S151의 처리에서 생성된 MPD 메타데이터를, 시그널링 서버(20)에 송신한다.
스텝 S153에 있어서, 암호화부(113)는, 소정의 암호화 방식에 따라, 스트림 서버(70)에 의해 생성된 VCL-NAL 유닛을 암호화한다. 스텝 S154에 있어서, DRM 보호 파일 생성부(114)는, 스텝 S153의 처리에서 암호화된 VCL-NAL 유닛을 처리하여, DRM 보호 파일을 생성한다.
스텝 S155에 있어서, DASH 세그먼트 생성부(112)는, 스텝 S154의 처리에서 생성된 DRM 보호 파일을 처리하여, DASH 세그먼트를 생성한다. 스텝 S156에 있어서, 송신부(103)는, 스텝 S155의 처리에서 생성된 DASH 세그먼트를, 방송 서버(40)에 송신한다.
도 30의 스텝 S251 내지 S252의 처리는, 시그널링 서버(20)에 의해 실행된다. 또한, 시그널링 서버(20)에 있어서는, 스텝 S152의 처리에서 송신된 MPD 메타데이터와, 스텝 S353의 처리에서 송신된 애플리케이션 URL이 수신된다.
스텝 S251에 있어서, 시그널링 생성부(211)는, 시그널링을 생성한다. 여기서, 시그널링으로서는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링이 생성된다. 또한, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL이 기술된다.
스텝 S252에 있어서, 송신부(203)는, 스텝 S251의 처리에서 생성된 시그널링을, 방송 서버(40)에 송신한다.
도 30의 스텝 S451 내지 S453의 처리는, 방송 서버(40)에 의해 실행된다. 또한, 방송 서버(40)에 있어서는, 스텝 S156의 처리에서 송신된 DASH 세그먼트, 스텝 S252의 처리에서 송신된 시그널링, 및 스텝 S353의 처리에서 송신된 애플리케이션이 수신된다.
송신부(403)는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션, 시그널링 서버(20)에 의해 생성된 시그널링, 및 DASH 서버(10)에 의해 생성된 DASH 세그먼트를, 전송로(80)를 통하여 송신(일제 동보 배신)한다(S451 내지 S453).
이상, 송신측의 처리의 흐름에 대하여 설명하였다.
(수신측의 처리의 흐름)
이어서, 도 31의 흐름도를 참조하여, 워터마크 저장 방식을 채용한 경우의 수신측의 처리의 흐름을 설명한다. 또한, 이 수신측의 처리에서는, 애플리케이션 다이제스트가 비디오 워터마크에 저장되어 있는 경우를 설명하기 위해, 비디오의 데이터에 대한 처리를 중심으로 설명하고, 오디오의 데이터에 대한 처리의 설명에 대해서는 적절하게 생략한다.
도 31에 있어서는, 방송 미들웨어(604)와 DASH 클라이언트(605)에 의해 실행되는 처리 외에, 디코더(606)나 렌더링 엔진(612), 워터마크 엑스트랙터(613) 등에 의해 실행되는 비디오ㆍ오디오 대응 처리와, 애플리케이션 제어부(611)나 렌더링 엔진(612), 애플리케이션 다이제스트 밸리데이터(614) 등에 의해 실행되는 애플리케이션 대응 처리의 흐름이 도시되어 있다.
단, 도 9 등과 마찬가지로, 비디오ㆍ오디오 대응 처리는, 콘텐츠의 비디오나 오디오의 데이터에 관한 처리를 나타내고, 애플리케이션 대응 처리는, 애플리케이션의 데이터에 관한 처리를 나타내고 있다.
스텝 S801에 있어서, 방송 미들웨어(604)는, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 시그널링을 수신한다. 스텝 S802에 있어서, 방송 미들웨어(604)는, 스텝 S801의 처리에서 수신된 시그널링을 처리한다.
여기서, 시그널링으로서는, SLT 메타데이터를 포함하는 LLS 시그널링과, USD 메타데이터, S-TSID 메타데이터 및 MPD 메타데이터를 포함하는 SLS 시그널링이 처리된다. 또한, SLT 메타데이터, 또는 SLS 시그널링(예를 들어, USD, S-TSID, MPD 등의 메타데이터)에는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 URL이 기술된다.
스텝 S803에 있어서, 방송 미들웨어(604)는, 스텝 S802의 처리에서 취득된 MPD 메타데이터를, DASH 클라이언트(605)에 통지함과 함께, 스텝 S802의 처리에서 취득된 애플리케이션 URL을, 애플리케이션 제어부(611)에 통지한다.
스텝 S804에 있어서, 방송 미들웨어(604)는, 애플리케이션 제어부(611)로부터의 제어에 따라, 시그널링에 기술된 애플리케이션 URL에 기초하여, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 애플리케이션을 수신한다. 스텝 S805에 있어서, 방송 미들웨어(604)는, 스텝 S804의 처리에서 수신된 애플리케이션을, 애플리케이션 제어부(611)에 전송한다.
스텝 S831에 있어서, 애플리케이션 제어부(611)는, 스텝 S805의 처리에서 전송된 애플리케이션을 취득한다. 또한, 스텝 S832에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S831의 처리에서 취득된 애플리케이션에 따른 애플리케이션 다이제스트를 생성한다.
이 스텝 S832의 처리에서는, 스텝 S831의 처리에서 취득된 애플리케이션에 대하여, 송신측 시스템(7)의 스텝 S354(도 30)의 처리와 동일한 알고리즘(예를 들어, MD5 등)을 적용함으로써, 다이제스트값(해시값)이 생성된다.
스텝 S806에 있어서, 방송 미들웨어(604)는, 수신부(603)를 통하여, 방송 서버(40)로부터 송신되어 오는 DASH 세그먼트를 수신한다. 스텝 S807에 있어서, 방송 미들웨어(604)는, 스텝 S806의 처리에서 수신된 DASH 세그먼트를, DASH 클라이언트(605)에 전송한다.
스텝 S812에 있어서, DASH 클라이언트(605)는, 스텝 S811의 MPD 메타데이터의 처리 결과에 기초하여, 스텝 S807의 처리에서 전송된 DASH 세그먼트를 처리한다. 스텝 S813에 있어서, DASH 클라이언트(605)(의 DRM 보호 파일 처리부)는, 스텝 S812의 처리에서 얻어지는 DRM 보호 파일을 처리하여, 당해 DRM 보호 파일의 언패키징을 행한다.
스텝 S814에 있어서, DASH 클라이언트(605)(의 복호부)는, 소정의 복호 방식에 따라, 스텝 S814의 처리에서 얻어지는 암호화된 VCL-NAL 유닛을 복호한다. 스텝 S815에 있어서, DASH 클라이언트(605)는, 스텝 S814의 처리에서 복호된 VCL-NAL 유닛을, 디코더(606)에 전송한다.
스텝 S821에 있어서, 디코더(606)는, 소정의 복호 방식(예를 들어 HEVC 등)에 따라, 스텝 S815의 처리에서 전송된 VCL-NAL 유닛을 디코드한다. 스텝 S822에 있어서, 워터마크 엑스트랙터(613)는, 스텝 S821의 처리에서 얻어지는 기저 대역 프레임에 삽입된 워터마크(비디오 워터마크)를 추출한다.
스텝 S823에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S822의 처리에서 추출된 워터마크(워터마크 페이로드)에 저장된 애플리케이션 다이제스트를 추출한다. 또한, 상술한 경우와 마찬가지로, 클라이언트 장치(60)에서는, 렌더링 엔진(612)에 의해, 스텝 S821의 처리에서 얻어지는 비디오와 오디오의 데이터의 렌더링이 행해짐으로써, 프로그램 등의 콘텐츠의 영상과 음성이 출력된다(S824).
스텝 S833에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S832의 처리에서 생성된 애플리케이션 다이제스트와, 스텝 S823의 처리에서 추출된 애플리케이션 다이제스트를 비교함으로써, 애플리케이션 다이제스트를 검증한다. 스텝 S834에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S833의 검증 결과에 기초하여, 비교 대상의 애플리케이션 다이제스트가 일치하는지 여부를 판정한다.
여기서, 스텝 S823의 처리에서 추출된 애플리케이션 다이제스트(다이제스트값)는, 송신측 시스템(7)의 (애플리케이션 서버(30)에 의한) 스텝 S354(도 30)의 처리에서 생성된 것이며, 스텝 S832의 처리에서 생성된 애플리케이션 다이제스트(다이제스트값)와 동일한 알고리즘(예를 들어, MD5 등)을 적용하여 생성된 것으로 된다. 따라서, 스텝 S834의 판정 처리의 비교 대상의 애플리케이션 다이제스트(다이제스트값)가 일치하면, 대상의 애플리케이션은, 정당한 애플리케이션이라고 간주할 수 있다.
스텝 S834에 있어서, 비교 대상의 애플리케이션 다이제스트가 일치한다고 판정된 경우, 처리는, 스텝 S835로 진행된다. 스텝 S835에 있어서, 애플리케이션 제어부(611)는, 스텝 S831의 처리에서 취득된 애플리케이션을 (즉시) 기동한다. 즉, 이 경우, 클라이언트 장치(60)에서는, 수신된 애플리케이션이, 정당한 애플리케이션인 것으로 간주되어, 그 기동을 허가하고 있다.
스텝 S836에 있어서, 렌더링 엔진(612)은, 스텝 S835의 처리에서 기동된 애플리케이션의 데이터의 렌더링을 행한다. 이에 의해, 예를 들어 클라이언트 장치(60)에 있어서는, 프로그램 등의 콘텐츠에 부수된 애플리케이션의 영상이 표시된다.
한편, 스텝 S834에 있어서, 비교 대상의 애플리케이션 다이제스트가 일치하지 않는다고 판정된 경우, 스텝 S835 내지 S836의 처리는 스킵된다. 즉, 이 경우, 클라이언트 장치(60)에서는, 수신된 애플리케이션이, 부당한 애플리케이션인 것으로 간주되어, 그 기동을 거부하고 있다. 또한, 이러한 부당한 애플리케이션이 검출된 경우에는, 예를 들어 유저나 관련된 방송국에 통지하는 등, 다른 동작이 행해지도록 해도 된다.
이상, 수신측의 처리의 흐름에 대하여 설명하였다.
(B) 비VCL-NAL 유닛 저장 방식
(비VCL-NAL 유닛 저장 방식의 개요)
도 32는, 비VCL-NAL 유닛 저장 방식의 개요를 설명하는 도면이다.
도 32에 있어서는, 도 25와 마찬가지로, 방송 서버(40)로부터, 전송로(80)를 통하여 클라이언트 장치(60)에 전송되는 방송 스트림을 모식적으로 도시하고 있다. 이 방송 스트림에는, DRM에 의해 암호화되어 있는 부분(암호화 파이프(Encrypted Pipe))과, 암호화되어 있지 않은 부분(비암호화 파이프(Clear Pipe))이 있다.
비VCL-NAL 유닛 저장 방식에서는, 암호화 파이프에서, 애플리케이션(App)을 검증하기 위한 애플리케이션 다이제스트(App Digest)를, NAL 유닛에 저장되는 Video-SEI에 저장함으로써, 당해 애플리케이션 다이제스트가 보호되도록 한다.
여기서, NAL(Network Abstraction Layer) 유닛은, 여러 가지 데이터를 포함하고 있으며, 크게 나누면, VCL(Video Coding Layer: 비디오 부호화 계층)과, 비VCL(Non Video Coding Layer)로 분류할 수 있다. VCL-NAL 유닛은, 압축된 비디오의 슬라이스 데이터(부호화 데이터)이다.
한편, 비VCL-NAL 유닛은, 그 밖의 보조적인 정보를 저장하기 위한 것이다. 예를 들어, 비VCL-NAL 유닛에는, VPS(Video Parameter Set), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), SEI(Supplemental Enhancement Information) 등이 있다. 특히, SEI 메시지는, VCL의 복호에 필수적이지 않은 부가 정보를 저장하기 위한 것이며, 유저가 독자적으로 정의하는 정보(User data unregistered)를 포함할 수 있으므로, 거기에, 애플리케이션 다이제스트를 저장할 수 있다.
단, 비VCL-NAL 유닛 저장 방식에서는, VCL-NAL 유닛뿐만 아니라, 애플리케이션 다이제스트를 포함하는 SEI 메시지가 저장되는 NAL 유닛(비VCL-NAL 유닛)도 함께 DRM의 암호화의 대상으로 할 필요가 있다. 또한, 이 애플리케이션 다이제스트에는, 도 22에 도시한 바와 같이, 애플리케이션의 식별 정보(예를 들어 애플리케이션 URL)와, 애플리케이션의 다이제스트값이 포함되어 있다.
클라이언트 장치(60)에서는, 프로그램 등의 콘텐츠의 재생 중에 DRM을 캔슬함으로써, 비VCL-NAL 유닛(SEI 메시지)에 저장된 애플리케이션의 애플리케이션 URL과 다이제스트값을 추출하고, 다이제스트값을 사용하여, 애플리케이션 URL에 의해 특정되는 애플리케이션이, 정당한 애플리케이션인지 여부의 검증을 행한다. 여기서는, 비VCL-NAL 유닛(SEI 메시지)에 저장된 다이제스트값과, 애플리케이션 URL에 따라 취득되는 애플리케이션에 따른 다이제스트값을 비교함으로써 검증을 행하여, 이들 다이제스트값이 일치하는 경우에는, 애플리케이션 URL에 의해 특정되는 애플리케이션은, 정당한 애플리케이션인 것으로 판정한다.
이와 같이, 비VCL-NAL 유닛 저장 방식을 채용함으로써, 프로그램 등의 콘텐츠의 보호를 위한 DRM에 의한 시큐어한 암호화 파이프를, 애플리케이션 다이제스트의 전송에 유용함으로써, 엔드 투 엔드의 시큐리티가 보증되고, 애플리케이션의 교체나 개찬, 콘텐츠와 애플리케이션의 관련지음의 개찬 등, 악의가 있는 제3자에 의한 부정(공격)을 피할 수 있다.
또한, 비VCL-NAL 유닛 저장 방식에 따르면, PKI 등을 이용한 본격적인 애플리케이션 인증을 위한 플랫폼(인프라스트럭처)을 구축하지 않고, 기존의 DRM을 유용하여 애플리케이션 인증을 행하는 것이 가능하게 되므로, 비용의 경감을 담보할 수 있다.
또한, 클라이언트 장치(60)에 있어서는, 워터마크 저장 방식을 채용한 경우, 워터마크에 저장된 애플리케이션 다이제스트를 추출하기 위해, 상시, 워터마크 엑스트랙터(613)(도 20)를 기동해 둘 필요가 있는 한편, 비VCL-NAL 유닛 저장 방식을 채용한 경우에는, 워터마크 엑스트랙터(613)를 기동하지 않고(설치하지 않고), 애플리케이션 다이제스트를 추출할 수 있다.
이어서, 도 33 및 도 34의 흐름도를 참조하여, 비VCL-NAL 유닛 저장 방식을 채용한 경우에 있어서의 전송 시스템(2)(도 16)의 각 장치에서 실행되는 처리의 흐름을 설명한다.
(송신측의 처리의 흐름)
우선, 도 33의 흐름도를 참조하여, 비VCL-NAL 유닛 저장 방식을 채용한 경우의 송신측의 처리의 흐름을 설명한다. 또한, 이 송신측의 처리에서는, 애플리케이션 다이제스트가 비VCL-NAL 유닛에 저장되는 경우를 설명하기 위해, 비디오의 데이터에 대한 처리를 중심으로 설명하고, 오디오의 데이터에 대한 처리의 설명에 대해서는 적절하게 생략한다.
도 33의 스텝 S361 내지 S365의 처리는, 애플리케이션 서버(30)에 의해 실행된다. 스텝 S361 내지 S365에 있어서는, 도 30의 스텝 S351 내지 S355와 마찬가지로, 애플리케이션 URL, 애플리케이션 및 애플리케이션 다이제스트가 생성되고, 대상의 서버에 송신된다.
단, 비VCL-NAL 유닛 저장 방식을 채용한 경우, 애플리케이션 다이제스트는, 스트림 서버(70)가 아니라, DASH 서버(10)에 송신된다. 또한, 애플리케이션 다이제스트에는, 예를 들어 스텝 S361의 처리에서 생성된 애플리케이션 URL과, 스텝 S362의 처리에서 생성된 애플리케이션에 대하여, 소정의 알고리즘(예를 들어, MD5 등)을 적용함으로써 생성된 다이제스트값(해시값)이 포함된다.
도 33의 스텝 S711 내지 S713의 처리는, 스트림 서버(70)에 의해 실행된다. 스텝 S711에 있어서는, 도 30의 스텝 S701과 마찬가지로, 스트림(기저 대역 프레임 시퀀스)이 생성된다.
스텝 S712에 있어서, 인코더(713)는, 소정의 부호화 방식(예를 들어 HEVC 등)에 따라, 스텝 S711의 처리에서 생성된 기저 대역 프레임을 인코드하고, VCL-NAL 유닛을 생성한다. 스텝 S713에 있어서, 송신부(703)는, 스텝 S712의 처리에서 생성된 VCL-NAL 유닛을, DASH 서버(10)에 송신한다.
도 33의 스텝 S161 내지 S167의 처리는, DASH 서버(10)에 의해 실행된다. 또한, DASH 서버(10)에 있어서는, 스텝 S713의 처리에서 송신된 VCL-NAL 유닛 외에, 스텝 S365의 처리에서 송신된 애플리케이션 다이제스트가 수신된다.
도 33의 스텝 S161 내지 S162에 있어서는, 도 30의 스텝 S151 내지 S152와 마찬가지로, MPD 메타데이터가 생성되고, 시그널링 서버(20)에 송신된다.
스텝 S163에 있어서, 비VCL-NAL 유닛 생성부(115)는, 애플리케이션 서버(30)에 의해 생성된 애플리케이션 다이제스트를 저장한 비VCL-NAL 유닛을 생성한다. 여기서는, 비VCL-NAL 유닛으로서, 유저가 독자적으로 정의할 수 있는 SEI 메시지를 사용할 수 있다.
스텝 S164에 있어서, 암호화부(113)는, 소정의 암호화 방식에 따라, 스트림 서버(70)에 의해 생성된 VCL-NAL 유닛과, 스텝 S163의 처리에서 생성된 비VCL-NAL 유닛을 암호화한다. 스텝 S165에 있어서, DRM 보호 파일 생성부(114)는, 스텝 S164의 처리에서 암호화된 VCL-NAL 유닛과 비VCL-NAL 유닛을 처리하여, DRM 보호 파일을 생성한다.
스텝 S166에 있어서, DASH 세그먼트 생성부(112)는, 스텝 S165의 처리에서 생성된 DRM 보호 파일을 처리하여, DASH 세그먼트를 생성한다. 스텝 S167에 있어서, 송신부(103)는, 스텝 S166의 처리에서 생성된 DASH 세그먼트를, 방송 서버(40)에 송신한다.
도 33의 스텝 S261 내지 S262의 처리는, 시그널링 서버(20)에 의해 실행된다. 스텝 S261 내지 S262에 있어서는, 도 30의 스텝 S251 내지 S252와 마찬가지로, 시그널링이 생성되고, 방송 서버(40)에 송신된다.
도 33의 스텝 S461 내지 S463의 처리는, 방송 서버(40)에 의해 실행된다. 스텝 S461 내지 S463에 있어서는, 도 30의 스텝 S451 내지 S453과 마찬가지로, 송신부(403)에 의해, 애플리케이션, 시그널링 및 DASH 세그먼트가, 전송로(80)를 통하여 송신(일제 동보 배신)된다.
이상, 송신측의 처리의 흐름에 대하여 설명하였다.
(수신측의 처리의 흐름)
이어서, 도 34의 흐름도를 참조하여, 비VCL-NAL 유닛 저장 방식을 채용한 경우의 수신측의 처리의 흐름을 설명한다. 또한, 이 수신측의 처리에서는, 애플리케이션 다이제스트가 비VCL-NAL 유닛에 저장되어 있는 경우를 설명하기 위해, 비디오의 데이터에 대한 처리를 중심으로 설명하고, 오디오의 데이터에 대한 처리의 설명에 대해서는 적절하게 생략한다.
스텝 S841 내지 S847에 있어서는, 도 31의 스텝 S801 내지 S807과 마찬가지로, 방송 미들웨어(604)에 의해, 방송 서버(40)로부터 송신되어 오는 시그널링, 애플리케이션 및 DASH 세그먼트가 수신되어, 처리된다.
또한, 스텝 S851에 있어서는, 도 31의 스텝 S811과 마찬가지로, DASH 클라이언트(605)에 의해, MPD 메타데이터가 처리된다. 또한, 스텝 S871 내지 S872에 있어서는, 도 31의 스텝 S831 내지 S832와 마찬가지로, 애플리케이션 제어부(611)에 의해, 애플리케이션 URL에 대응한 애플리케이션이 취득됨과 함께, 애플리케이션 다이제스트 밸리데이터(614)에 의해, 당해 애플리케이션에 따른 애플리케이션 다이제스트가 생성된다.
이 스텝 S832의 처리에서는, 스텝 S871의 처리에서 취득된 애플리케이션에 대하여, 송신측 시스템(7)의 스텝 S364(도 33)의 처리와 동일한 알고리즘(예를 들어, MD5 등)을 적용함으로써, 다이제스트값(해시값)이 생성된다.
스텝 S852에 있어서, DASH 클라이언트(605)는, 스텝 S851의 MPD 메타데이터의 처리 결과에 기초하여, 스텝 S847의 처리에서 전송된 DASH 세그먼트를 처리한다. 스텝 S853에 있어서, DASH 클라이언트(605)(의 DRM 보호 파일 처리부)는, 스텝 S852의 처리에서 얻어지는 DRM 보호 파일을 처리하여, 당해 DRM 보호 파일의 언패키징을 행한다.
스텝 S854에 있어서, DASH 클라이언트(605)(의 복호부)는, 소정의 복호 방식에 따라, 스텝 S853의 처리에서 얻어지는 암호화된 VCL-NAL 유닛을 복호한다. 스텝 S855에 있어서, DASH 클라이언트(605)는, 스텝 S854의 처리에서 복호된 VCL-NAL 유닛을, 디코더(606)에 전송한다.
스텝 S861에 있어서, 디코더(606)는, 소정의 복호 방식(예를 들어 HEVC 등)에 따라, 스텝 S855의 처리에서 전송된 VCL-NAL 유닛을 디코드한다. 또한, 스텝 S862에 있어서, 렌더링 엔진(612)은, 스텝 S861의 처리에서 얻어지는 비디오와 오디오의 데이터의 렌더링을 행한다. 이에 의해, 클라이언트 장치(60)에서는, 프로그램 등의 콘텐츠의 영상과 음성이 출력되게 된다.
또한, 스텝 S856에 있어서, DASH 클라이언트(605)(의 복호부)는, 소정의 복호 방식에 따라, 스텝 S853의 처리에서 얻어지는 암호화된 비VCL-NAL 유닛을 복호한다. 스텝 S857에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S856의 처리에서 복호된 비VCL-NAL 유닛에 저장된 애플리케이션 다이제스트를 추출한다.
스텝 S873에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S872의 처리에서 생성된 애플리케이션 다이제스트와, 스텝 S857의 처리에서 추출된 애플리케이션 다이제스트를 비교함으로써, 애플리케이션 다이제스트를 검증한다. 스텝 S874에 있어서, 애플리케이션 다이제스트 밸리데이터(614)는, 스텝 S873의 검증 결과에 기초하여, 비교 대상의 애플리케이션 다이제스트가 일치하는지 여부를 판정한다.
여기서, 스텝 S857의 처리에서 추출된 애플리케이션 다이제스트(다이제스트값)는, 송신측 시스템(7)의 (애플리케이션 서버(30)에 의한) 스텝 S364(도 33)의 처리에서 생성된 것이며, 스텝 S872의 처리에서 생성된 애플리케이션 다이제스트(다이제스트값)와 동일한 알고리즘(예를 들어, MD5 등)을 적용하여 생성된 것으로 된다. 따라서, 스텝 S874의 판정 처리의 비교 대상의 애플리케이션 다이제스트(다이제스트값)가 일치하면, 대상의 애플리케이션은, 정당한 애플리케이션인 것으로 간주할 수 있다.
스텝 S874에 있어서, 비교 대상의 애플리케이션 다이제스트가 일치한다고 판정된 경우, 처리는, 스텝 S875로 진행된다. 스텝 S875 내지 S876에 있어서는, 도 31의 스텝 S835 내지 S836과 마찬가지로, 수신된 애플리케이션이 정당한 애플리케이션인 것으로 간주되어, 당해 애플리케이션이 (즉시) 기동되고, 그 영상이 표시되게 된다.
한편, 스텝 S874에 있어서, 비교 대상의 애플리케이션 다이제스트가 일치하지 않는다고 판정된 경우, 수신된 애플리케이션이, 부당한 애플리케이션인 것으로 간주되어, 당해 애플리케이션은 미기동으로 된다.
이상, 수신측의 처리의 흐름에 대하여 설명하였다.
<3. 시그널링의 예>
이어서, 도 35 내지 도 42를 참조하여, 애플리케이션의 취득처를 나타내는 취득처 정보(예를 들어 URL)를 전송하는 시그널링의 포맷의 예를 설명한다.
(SLT의 포맷)
도 35는, XML 형식의 SLT 메타데이터의 포맷의 예를 도시하는 도면이다. 또한, 도 35에 있어서, 요소와 속성 중, 속성에는 「@」가 부여되어 있다. 또한, 인덴트된 요소와 속성은, 그 상위의 요소에 대하여 지정된 것으로 된다. 이들 관계는, 후술하는 다른 시그널링의 포맷에서도 마찬가지로 된다.
SLT 요소는, 루트 요소이며, bsid 속성, sltCapabilities 속성, sltInetUrl 요소 및 Service 요소의 상위 요소로 된다.
bsid 속성에는, 브로드캐스트 스트림 ID가 지정된다. sltCapabilities 속성에는, 필요로 되는 기능에 관한 정보가 지정된다.
sltInetUrl 요소에는, ESG(Electronic Service Guide)나 SLS 시그널링을 취득하기 위한 베이스 URL이 지정된다. sltInetUrl 요소는, urlType 속성의 상위 요소로 된다. urlType 속성에는, 베이스 URL에서 이용 가능한 파일의 종류가 지정된다.
Service 요소에는, 하나 또는 복수의 서비스에 관한 정보가 지정된다. Service 요소는, serviceId 속성, sltSvcSeqNum 속성, protected 속성, majorChannelNo 속성, minorChannelNo 속성, serviceCategory 속성, shortServiceName 속성, hidden 속성, broadbandAccessRequired 속성, svcCapabilities 속성, applicationUrl 속성, BroadcastSvcSignaling 요소 및 svcInetUrl 요소의 상위 요소로 된다.
serviceId 속성에는, 서비스 ID가 지정된다. sltSvcSeqNum 속성에는, SLT 메타데이터의 버전에 관한 정보가 지정된다. protected 속성에는, 서비스의 보호를 나타내는 암호화 정보가 지정된다.
majorChannelNo 속성에는, 메이저 채널 번호가 지정된다. minorChannelNo 속성에는, 마이너 채널 번호가 지정된다. serviceCategory 속성에는, 서비스의 카테고리가 지정된다. shortServiceName 속성에는, 쇼트 서비스명이 지정된다.
hidden 속성에는, 서비스가, 숨겨진 서비스인지 여부가 지정된다. broadbandAccessRequired 속성에는, 인터넷(90) 등의 통신 회선에 액세스할 필요가 있는지 여부가 지정된다. svcCapabilities 속성에는, 디코드에 필요한 기능 등의 정보가 지정된다.
applicationUrl 속성에는, 애플리케이션의 취득처를 나타내는 URL(애플리케이션 URL)이 지정된다. 이 애플리케이션 URL은, 예를 들어 애플리케이션이, HTML 문서 파일이나 화상 파일 등, 복수의 파일로 구성되어 있는 경우에, 그 엔트리(예를 들어, index.html)를 식별하기 위한 정보로 된다. 또한, 이 SLT 메타데이터를 수신한 클라이언트 장치(60)에 있어서는, 애플리케이션 URL에 따라 애플리케이션이 취득되고, 즉시 기동되게 된다.
BroadcastSvcSignaling 요소에는, SLS 시그널링이 방송 경유로 취득되는 경우에, 당해 SLS 시그널링의 취득처에 관한 정보가 지정된다. BroadcastSvcSignaling 요소는, slsProtocol 속성, slsMajorProtocolVersion 속성, slsMinorProtocolVersion 속성, slsPlpId 속성, slsDestinationIpAddress 속성, slsDestinationUdpPort 속성 및 slsSourceIpAddress 속성의 상위 요소로 된다.
slsProtocol 속성에는, SLS 시그널링의 프로토콜에 관한 정보가 지정된다. slsMajorProtocolVersion 속성에는, SLS 시그널링의 프로토콜의 메이저 버전 번호가 지정된다. slsMinorProtocolVersion 속성에는, SLS 시그널링의 프로토콜의 마이너 버전 번호가 지정된다.
slsPlpId 속성에는, SLS 시그널링이 전송되는 PLP(Physical Layer Pipe)의 ID가 지정된다. slsDestinationIpAddress 속성에는, SLS 시그널링의 수신처(destination)의 IP 어드레스가 지정된다. slsDestinationUdpPort 속성에는, SLS 시그널링의 수신처(destination)의 포트 번호가 지정된다. slsSourceIpAddress 속성에는, SLS 시그널링의 송신원(source)의 IP 어드레스가 지정된다.
svcInetUrl 요소에는, SLS 시그널링이 통신 경유로 취득되는 경우에, 당해 SLS 시그널링의 취득처의 URL이 지정된다. svcInetUrl 요소는, urlType 속성의 상위 요소로 된다. urlType 속성에는, 이 URL에서 이용 가능한 파일의 종류가 지정된다.
또한, 도 35에 있어서, 출현수(Use)이지만, "1"이 지정된 경우에는, 그 요소 또는 속성은 반드시 하나만 지정되고, "0..1"이 지정된 경우에는, 그 요소 또는 속성을 지정할지 여부는 임의이다. 또한, "1..N"이 지정된 경우에는, 그 요소 또는 속성은 1 이상 지정되고, "0..N"이 지정된 경우에는, 그 요소 또는 속성을 1 이상 지정할지 여부는 임의이다.
또한, Data Type으로서, "unsignedShort" 또는 "unsignedByte"가 지정된 경우, 그 요소 또는 속성의 값이, 정수형임을 나타내고 있다. Data Type으로서, "string"이 지정된 경우에는, 그 요소 또는 속성의 값이, 문자열형임을 나타내고, "anyURI"가 지정된 경우, 그 요소 또는 속성의 값이, URI의 형식을 한 문자열임을 나타내고 있다. Data Type으로서, "boolean"이 지정된 경우에는, 그 요소 또는 속성이 불린형임을 나타내고 있다. 또한, Data Type으로서, "language"가 지정된 경우, 그 요소 또는 속성의 값이, xml:lang 속성의 값으로서 유효한 것임을 나타내고, "dateTime"이 지정된 경우, 그 요소 또는 속성의 값이, 특정한 일시임을 나타내는 것으로 한다.
(USD의 포맷)
도 36은, XML 형식의 USD 메타데이터(USBD 메타데이터)의 포맷의 예를 도시하는 도면이다.
bundleDescription 요소는, 루트 요소이며, userServiceDescription 요소(USD 요소)의 상위 요소로 된다. 이 userServiceDescription 요소는, globalServiceID 속성, serviceId 속성, serviceStatus 속성, fullMPDUri 속성, sTSIDUri 속성, applicationUrl 속성, name 요소, serviceLanguage 요소, capabilityCode 요소 및 deliveryMethod 요소의 상위 요소로 된다.
globalServiceID 속성에는, 글로벌 서비스 ID가 지정된다. serviceId 속성에는, 서비스 ID가 지정된다. serviceStatus 속성에는, 서비스의 스테이터스에 관한 정보가 지정된다. fullMPDUri 속성에는, MPD 메타데이터를 참조하기 위한 URI가 지정된다. sTSIDUri 속성에는, S-TSID 메타데이터를 참조하기 위한 URI가 지정된다.
applicationUrl 속성에는, 애플리케이션의 취득처를 나타내는 URL(애플리케이션 URL)이 지정된다. 이 애플리케이션 URL은, 예를 들어 애플리케이션이, HTML 문서 파일이나 화상 파일 등, 복수의 파일로 구성되어 있는 경우에, 그 엔트리(예를 들어, index.html)를 식별하기 위한 정보로 된다. 또한, 이 USD 메타데이터를 수신한 클라이언트 장치(60)에 있어서는, 애플리케이션 URL에 따라 애플리케이션이 취득되고, 즉시 기동되게 된다.
name 요소에는, ATSC3.0의 서비스의 명칭이 지정된다. name 요소는, lang 속성의 상위 요소로 된다. lang 속성에는, ATSC3.0의 서비스의 명칭의 언어가 지정된다. serviceLanguage 요소에는, ATSC3.0의 서비스에서 이용할 수 있는 언어가 지정된다. capabilityCode 요소에는, 기능에 관한 코드가 지정된다.
deliveryMethod 요소에는, 데이터의 배신 방법에 관한 정보가 지정된다. deliveryMethod 요소는, broadcastAppService 요소 및 unicastAppService 요소의 상위 요소로 된다. broadcastAppService 요소는, basePattern 요소의 상위 요소이며, 방송 경유로의 배신에 관한 정보가 지정된다. unicastAppService 요소는, basePattern 요소의 상위 요소이며, 통신 경유로의 배신에 관한 정보가 지정된다.
(S-TSID의 포맷)
도 37은, S-TSID 메타데이터의 포맷의 예를 도시하는 도면이다.
S-TSID 요소는, 루트 요소이며, serviceId 속성, applicationUrl 속성, 및 RS 요소의 상위 요소로 된다. serviceId 속성에는, 서비스 ID가 지정된다.
applicationUrl 속성에는, 애플리케이션의 취득처를 나타내는 URL(애플리케이션 URL)이 지정된다. 이 애플리케이션 URL은, 예를 들어 애플리케이션이, HTML 문서 파일이나 화상 파일 등, 복수의 파일로 구성되어 있는 경우에, 그 엔트리(예를 들어, index.html)를 식별하기 위한 정보로 된다. 또한, 이 S-TSID 메타데이터를 수신한 클라이언트 장치(60)에 있어서는, 애플리케이션 URL에 따라 애플리케이션이 취득되고, 즉시 기동되게 된다.
RS 요소에는, ROUTE 세션에 관한 정보가 지정된다. RS 요소는, bsid 속성, sIpAddr 속성, dIpAddr 속성, dport 속성, PLPID 속성 및 LS 요소의 상위 요소로 된다.
bsid 속성에는, 브로드캐스트 스트림 ID가 지정된다. sIpAddr 속성에는, 송신원(source)의 IP 어드레스가 지정된다. dIpAddr 속성에는, 수신처(destination)의 IP 어드레스가 지정된다. dport 속성에는, 수신처(destination)의 포트 번호가 지정된다. PLPID 속성에는, ROUTE 세션의 PLP의 ID가 지정된다.
LS 요소에는, LCT 세션에 관한 정보가 지정된다. LS 요소는, tsi 속성, PLPID 속성, bw 속성, startTime 속성, endTime 속성, SrcFlow 요소 및 RprFlow 요소의 상위 요소로 된다.
tsi 속성에는, TSI가 지정된다. PLPID 속성에는, PLP의 ID가 지정된다. bw 속성에는, 대역폭이 지정된다. startTime 속성과 endTime 속성에는, 개시 일시와 종료 일시가 지정된다. SrcFlow 요소에는, 소스 플로우 정보가 지정된다.
(MPD의 포맷)
도 38은, MPD 메타데이터의 포맷의 예를 도시하는 도면이다.
도 38에 있어서, "attributes"의 프레임 내에는, 루트 요소인 MPD 요소의 관리 하에 규정되는 속성이 열거되고, "attributes"의 프레임 밖에는, MPD 요소의 관리 하에 규정되는 요소가 열거되어 있다. MPD 요소에 규정되어 있는 속성 또는 요소 중, "any ##other"는, 자유롭게 확장 가능한 영역임을 나타내고 있고, 여기에, applicationUrl 속성 또는 applicationUrl 요소가 정의되도록 한다.
이 applicationUrl 속성 또는 applicationUrl 요소에는, 애플리케이션의 취득처를 나타내는 URL(애플리케이션 URL)이 지정된다. 이 애플리케이션 URL은, 예를 들어 애플리케이션이, HTML 문서 파일이나 화상 파일 등, 복수의 파일로 구성되어 있는 경우에, 그 엔트리(예를 들어, index.html)를 식별하기 위한 정보로 된다. 또한, 이 MPD 메타데이터를 수신한 클라이언트 장치(60)에 있어서는, 애플리케이션 URL에 따라 애플리케이션이 취득되고, 즉시 기동되게 된다.
여기서, 예를 들어 applicationUrl 요소를 사용하여, 애플리케이션 URL을 기술하는 경우에는, 이하와 같은 구조로 기술할 수 있다. 즉, 이 예에서는, 콘텐츠 파트에, 애플리케이션 URL을 그대로 저장하고 있는 경우를 나타내고 있다.
<ApplicationUrl>http://xxx.com/app.html</ApplicationUrl>
(S-TSID에 애플리케이션의 엔트리를 명시하는 경우의 메타데이터의 구조)
이어서, 도 39 내지 도 42를 참조하여, S-TSID에 애플리케이션의 엔트리를 명시하는 경우의 메타데이터의 구조에 대하여 설명한다.
도 39는, S-TSID 메타데이터의 포맷의 예를 도시하는 도면이다.
도 39의 S-TSID 메타데이터는, 도 37의 S-TSID 메타데이터와 비교하여, applicationUrl 속성이 제외되어 있는 점이 상이하다. 여기서, 도 40에는, 도 39의 S-TSID 메타데이터에 포함되는 SrcFlow 요소의 포맷이 도시되어 있다.
도 40의 SrcFlow 요소는, rt 속성, minBuffSize 속성, EFDT 요소, ContentInfo 요소 및 Payload 요소의 상위 요소로 된다.
minBuffSize 속성에는, 클라이언트 장치(40)가 필요로 하는 최소 버퍼 사이즈가 지정된다. EFDT 요소에는, 확장된 FDT(Extended FDT)에 관한 정보가 지정된다. ContentInfo 요소에는, 콘텐츠에 관한 정보가 지정된다.
Payload 요소는, codePoint 속성, formatID 속성, frag 속성, order 속성, srcFecPayloadID 속성 및 FECParams 속성의 상위 요소이며, 소스 플로우의 오브젝트를 저장하는 ROUTE 패킷의 페이로드에 관한 정보가 지정된다.
여기서, 도 41에는, 도 40의 SrcFlow 요소에 포함되는 EFDT 요소의 포맷이 도시되어 있다. 도 41의 EFDT 요소는, tsi 속성, idRef 속성, version 속성, maxExpiresDelta 속성, maxTransportSize 속성, FileTemplate 속성 및 FDTParameters 속성의 상위 요소로 된다.
FDTParameters 속성에는, IETF(Internet Engineering Task Force)로 정의되어 있는 FDT의 루트 요소인 FDT-Instance와 동일한 형태가 정의된다. 도 42에는, FDT-Instance 요소의 구조가 도시되어 있다. 즉, FDT-Instance 요소에 규정되어 있는 속성 중, "any"("any ##other")는, 자유롭게 확장 가능한 영역임을 나타내고 있으며, 여기에 ApplicationEntry 속성을 정의할 수 있다. 이 ApplicationEntry 속성에는, 애플리케이션의 엔트리용 파일의 URL인 파일 URL(즉, 애플리케이션 URL)이 기술된다.
또한, FDT-Instance 요소의 관리 하에는, File 요소가 정의되어 있는데, 이 File 요소의 속성 또는 요소 중, "any"("any ##other")는, 자유롭게 확장 가능한 영역임을 나타내고 있으며, 여기에, ApplicationEntry 속성 또는 ApplicationEntry 요소가 정의되도록 한다.
단, File 요소에, ApplicationEntry 속성을 정의한 경우에는, 이 속성(불린값은 "ture")을 갖는 File 요소의 Content-Location 속성(파일 URL(애플리케이션 URL))으로 표시되는 파일이, 애플리케이션의 엔트리임을 나타내고 있다. 또한, File 요소에, ApplicationEntry 요소를 정의한 경우에는, 이 요소가 존재하는 File 요소의 Content-Location 속성(파일 URL(애플리케이션 URL))으로 표시되는 파일이, 애플리케이션의 엔트리임을 나타내고 있다.
또한, 도 42에 있어서, FDT-Instance 요소로 정의 가능한 ApplicationEntry 속성과, FDT-Instance 요소의 관리 하의 File 요소로 정의 가능한 ApplicationEntry 속성 또는 ApplicationEntry 요소는, 어느 한쪽이 정의되게 된다.
<4. 변형예>
상술한 설명으로서는, 디지털 방송의 규격으로서, 미국 등에서 채용되고 있는 방식인 ATSC(특히, ATSC3.0)를 설명하였지만, 본 기술은, 일본 등이 채용하는 방식인 ISDB(Integrated Services Digital Broadcasting)나, 유럽의 각국 등이 채용하는 방식인 DVB(Digital Video Broadcasting) 등에 적용하도록 해도 된다. 또한, 상술한 설명에서는, IP 전송 방식이 채용되는 ATSC3.0을 예로 들어 설명하였지만, IP 전송 방식에 한하지 않고, 예를 들어 MPEG2-TS(Transport Stream) 방식 등의 다른 방식에 적용하도록 해도 된다.
또한, 디지털 방송으로서는, 지상파 방송 외에, 방송 위성(BS: Broadcasting Satellite)이나 통신 위성(CS: Communications Satellite) 등을 이용한 위성 방송이나, 케이블 텔레비전(CATV) 등의 유선 방송 등에 적용할 수 있다.
또한, 상술한 시그널링 등의 명칭은 일례이며, 다른 명칭이 사용되는 경우가 있다. 단, 이들 명칭의 차이는 형식적인 차이이며, 대상의 시그널링 등의 실질적인 내용이 상이한 것은 아니다. 예를 들어, AST(Application Signaling Table)는 AIT(Application Information Table) 등이라고 칭해지고, LCC(Locally Cached Content)는 NRT(Non Real Time) 등이라고 칭해지는 경우가 있다. 또한, 시그널링이 XML 등의 마크업 언어에 의해 기술되는 경우에 있어서, 그들 요소나 속성의 명칭은 일례이며, 다른 명칭이 채용되도록 해도 된다. 단, 이들 명칭의 차이는 형식적인 차이이며, 그들 요소나 속성의 실질적인 내용이 상이한 것은 아니다.
또한, 상술한 설명에서는, LLS 시그널링으로서, SLT 메타데이터를 설명하였지만, LLS 시그널링에는 EAT(Emergency Alerting Table)나 RRT(Region Rating Table) 등의 메타데이터가 포함되도록 해도 된다. EAT 메타데이터는, 긴급하게 고지할 필요가 있는 긴급 정보에 관한 정보를 포함한다. RRT 메타데이터는, 레이팅에 관한 정보를 포함한다.
또한, 애플리케이션은, HTML5 등의 마크업 언어나 JavaScript(등록 상표) 등의 스크립트 언어로 개발된 애플리케이션에 한하지 않고, 예를 들어 Java(등록 상표) 등의 프로그래밍 언어로 개발된 애플리케이션이어도 된다. 또한, 상술한 콘텐츠에는, 동화상이나 광고 외에, 예를 들어 전자 서적이나 게임, 음악 등, 모든 콘텐츠를 포함할 수 있다.
또한, 본 기술은, 전송로로서, 방송망 이외의 전송로, 즉 예를 들어 인터넷이나 전화망 등의 통신 회선(통신망) 등을 이용하는 것을 상정하여 규정되어 있는 소정의 규격(디지털 방송의 규격 이외의 규격) 등에도 적용할 수 있다.
<5. 컴퓨터의 구성>
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 도 43은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 도면이다.
컴퓨터(1000)에 있어서, CPU(Central Processing Unit)(1001), ROM(Read Only Memory)(1002), RAM(Random Access Memory)(1003)은, 버스(1004)에 의해 서로 접속되어 있다. 버스(1004)에는, 추가로 입출력 인터페이스(1005)가 접속되어 있다. 입출력 인터페이스(1005)에는, 입력부(1006), 출력부(1007), 기록부(1008), 통신부(1009) 및 드라이브(1010)가 접속되어 있다.
입력부(1006)는, 키보드, 마우스, 마이크로폰 등을 포함한다. 출력부(1007)는, 디스플레이, 스피커 등을 포함한다. 기록부(1008)는, 하드 디스크나 불휘발성의 메모리 등을 포함한다. 통신부(1009)는, 네트워크 인터페이스 등을 포함한다. 드라이브(1010)는, 자기 디스크, 광디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(1011)를 구동한다.
이상과 같이 구성되는 컴퓨터(1000)에서는, CPU(1001)가, ROM(1002)이나 기록부(1008)에 기록되어 있는 프로그램을, 입출력 인터페이스(1005) 및 버스(1004)를 통하여, RAM(1003)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(1000)(CPU(1001))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(1011)에 기록하여 제공할 수 있다. 또한, 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통하여 제공할 수 있다.
컴퓨터(1000)에서는, 프로그램은, 리무버블 미디어(1011)를 드라이브(1010)에 장착함으로써, 입출력 인터페이스(1005)를 통하여, 기록부(1008)에 인스톨할 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통하여, 통신부(1009)에서 수신하고, 기록부(1008)에 인스톨할 수 있다. 그 밖에, 프로그램은, ROM(1002)이나 기록부(1008)에, 미리 인스톨해 둘 수 있다.
여기서, 본 명세서에 있어서, 컴퓨터가 프로그램에 따라 행하는 처리는, 반드시 흐름도로서 기재된 순서를 따라 시계열로 행해질 필요가 있는 것은 아니다. 즉, 컴퓨터가 프로그램에 따라 행하는 처리는, 병렬적 혹은 개별적으로 실행되는 처리(예를 들어, 병렬 처리 혹은 오브젝트에 의한 처리)도 포함한다. 또한, 프로그램은, 하나의 컴퓨터(프로세서)에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
또한, 본 기술은, 이하와 같은 구성을 취할 수 있다.
(1)
콘텐츠를 수신하는 수신부와,
상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하는 취득부와,
취득된 상기 애플리케이션을 즉시 기동하는 제어부
를 구비하는 수신 장치.
(2)
상기 콘텐츠 및 상기 제어 정보는, 방송파에 의해 전송되고,
상기 제어 정보는, 디지털 방송의 서비스를 제공하기 위한 시그널링이고,
상기 취득처 정보는, URL(Uniform Resource Locator)인 (1)에 기재된 수신 장치.
(3)
상기 제어부는, 상기 콘텐츠 또는 상기 제어 정보와 함께 전송되는 이벤트에 따라, 상기 애플리케이션의 동작을 제어하는 (2)에 기재된 수신 장치.
(4)
상기 취득부는, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하고,
상기 수신 장치는, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 검증부를 더 구비하고,
상기 제어부는, 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하는 (1) 내지 (3) 중 어느 하나에 기재된 수신 장치.
(5)
상기 검증부는,
상기 콘텐츠의 스트림에 포함되는, 상기 애플리케이션에 따른 제1 다이제스트값을 추출하고,
취득된 상기 애플리케이션에 따른 제2 다이제스트값을 생성하고,
상기 제1 다이제스트값과, 상기 제2 다이제스트값을 비교함으로써, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 (4)에 기재된 수신 장치.
(6)
상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
상기 제1 다이제스트값은, 암호화된 VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛에 포함되는 기저 대역 프레임에 삽입되는 워터마크에 저장되는 (5)에 기재된 수신 장치.
(7)
상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
상기 제1 다이제스트값은, 암호화된 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 저장되는 (5)에 기재된 수신 장치.
(8)
수신 장치의 데이터 처리 방법에 있어서,
상기 수신 장치가,
콘텐츠를 수신하고,
상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하고,
취득된 상기 애플리케이션을 즉시 기동하는
스텝을 포함하는 데이터 처리 방법.
(9)
콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보이며, 취득된 상기 애플리케이션을 즉시 기동시키기 위한 상기 취득처 정보를 포함하는 제어 정보를 생성하는 생성부와,
상기 콘텐츠와 함께, 상기 제어 정보를 송신하는 송신부
를 구비하는 송신 장치.
(10)
송신 장치의 데이터 처리 방법에 있어서,
상기 송신 장치가,
콘텐츠에 부수되는 애플리케이션의 취득처를 나타내는 취득처 정보이며, 취득된 상기 애플리케이션을 즉시 기동시키기 위한 상기 취득처 정보를 포함하는 제어 정보를 생성하고,
상기 콘텐츠와 함께, 상기 제어 정보를 송신하는
스텝을 포함하는 데이터 처리 방법.
(11)
콘텐츠를 수신하는 수신부와,
상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하는 취득부와,
취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 검증부와,
상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하는 제어부
를 구비하는 수신 장치.
(12)
상기 검증부는,
상기 콘텐츠의 스트림에 포함되는, 상기 애플리케이션에 따른 제1 다이제스트값을 추출하고,
취득된 상기 애플리케이션에 따른 제2 다이제스트값을 생성하고,
상기 제1 다이제스트값과, 상기 제2 다이제스트값을 비교함으로써, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 (11)에 기재된 수신 장치.
(13)
상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
상기 제1 다이제스트값은, 암호화된 VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛에 포함되는 기저 대역 프레임에 삽입되는 워터마크에 저장되는 (12)에 기재된 수신 장치.
(14)
상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
상기 제1 다이제스트값은, 암호화된 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 저장되는 (12)에 기재된 수신 장치.
(15)
상기 제1 다이제스트값은, 상기 애플리케이션을 식별하기 위한 식별 정보와 함께, 메시지에 포함하여 전송되는 (12)에 기재된 수신 장치.
(16)
상기 취득부는, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하고,
상기 제어부는, 취득된 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우, 당해 애플리케이션을 즉시 기동하는 (11) 내지 (15) 중 어느 하나에 기재된 수신 장치.
(17)
상기 콘텐츠 및 상기 제어 정보는, 방송파에 의해 전송되고,
상기 제어 정보는, 디지털 방송의 서비스를 제공하기 위한 시그널링이고,
상기 취득처 정보는, URL(Uniform Resource Locator)인 (16)에 기재된 수신 장치.
(18)
수신 장치의 데이터 처리 방법에 있어서,
상기 수신 장치가,
콘텐츠를 수신하고,
상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하고,
취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 검증부와,
상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우, 당해 애플리케이션을 기동하는
스텝을 포함하는 데이터 처리 방법.
(19)
콘텐츠에 부수되는 애플리케이션을, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호하는 보호부와,
공통의 DRM(Digital Rights Management)에 의해 보호된 상기 콘텐츠 및 상기 애플리케이션을 송신하는 송신부
를 구비하는 송신 장치.
(20)
송신 장치의 데이터 처리 방법에 있어서,
상기 송신 장치가,
콘텐츠에 부수되는 애플리케이션을, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호하고,
공통의 DRM(Digital Rights Management)에 의해 보호된 상기 콘텐츠 및 상기 애플리케이션을 송신하는
스텝을 포함하는 데이터 처리 방법.
1, 2: 전송 시스템
5, 7: 송신측 시스템
10: DASH 서버
20: 시그널링 서버
30: 애플리케이션 서버
40: 방송 서버
50: 통신 서버
60: 클라이언트 장치
70: 스트림 서버
80: 전송로
90: 인터넷
101: 수신부
102: 처리부
103: 송신부
111: MPD 생성부
112: DASH 세그먼트 생성부
113: 암호화부
114: DRM 보호 파일 생성부
115: 비VCL-NAL 유닛 생성부
201: 수신부
202: 처리부
203: 송신부
211: 시그널링 생성부
301: 수신부
302: 처리부
303: 송신부
311: 애플리케이션 URL 생성부
312: 애플리케이션 생성부
313: 애플리케이션 제어 이벤트 생성부
314: 애플리케이션 다이제스트 생성부
401: 수신부
402: 처리부
403: 송신부
601: 처리부
602: 입력부
603: 수신부
604: 방송 미들웨어
605: DASH 클라이언트
606: 디코더
607: 출력부
608: 통신부
611: 애플리케이션 제어부
612: 렌더링 엔진
613: 워터마크 엑스트랙터
614: 애플리케이션 다이제스트 밸리데이터
701: 수신부
702: 처리부
703: 송신부
711: 스트림 생성부
712: 워터마크 인서터
713: 인코더
1000: 컴퓨터
1001: CPU

Claims (23)

  1. 수신 장치로서,
    콘텐츠를 수신하도록 구성된 수신부와,
    애플리케이션의 취득처를 나타내는 취득처 정보로서, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는 상기 취득처 정보에 기초하여, 상기 애플리케이션을 취득하도록 구성된 취득부와,
    취득된 상기 애플리케이션의 동작을 제어하도록 구성된 제어부를 구비하며,
    상기 제어 정보는 디지털 방송 서비스를 제공하기 위한 시그널링이고,
    상기 취득처 정보는 URL(Uniform Resource Locator)인, 수신 장치.
  2. 제1항에 있어서, 상기 콘텐츠 및 상기 제어 정보는, 방송파에 의해 전송되고,
    상기 제어 정보는, SLT(Service List Table), USD(User Service Description), S-TSID(Service-based Transport Session Instance Description) 또는 MPD(Media Presentation Description) 중 적어도 하나를 포함하는, 수신 장치.
  3. 제2항에 있어서, 상기 제어부는, 상기 콘텐츠 또는 상기 제어 정보와 함께 전송되는 이벤트에 따라, 상기 애플리케이션의 동작을 제어하도록 구성된, 수신 장치.
  4. 제1항에 있어서, 상기 애플리케이션은 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호되고,
    상기 수신 장치는, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하도록 구성된 검증부를 더 구비하고,
    상기 제어부는, 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하도록 구성된, 수신 장치.
  5. 제4항에 있어서, 상기 검증부는,
    상기 콘텐츠의 스트림에 포함되는, 상기 애플리케이션에 따른 제1 다이제스트값을 추출하고,
    취득된 상기 애플리케이션에 따른 제2 다이제스트값을 생성하고,
    상기 제1 다이제스트값과, 상기 제2 다이제스트값을 비교함으로써, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하도록 구성된, 수신 장치.
  6. 제5항에 있어서, 상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛에 포함되는 기저 대역 프레임에 삽입되는 워터마크에 저장되는, 수신 장치.
  7. 제5항에 있어서, 상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 저장되는, 수신 장치.
  8. 수신 장치의 데이터 처리 방법에 있어서,
    상기 수신 장치가,
    콘텐츠를 수신하는 스텝,
    애플리케이션의 취득처를 나타내는 취득처 정보로서, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는 상기 취득처 정보에 기초하여, 상기 애플리케이션을 취득하는 스텝,
    취득된 상기 애플리케이션의 동작을 제어하는 스텝을 포함하며,
    상기 제어 정보는 디지털 방송 서비스를 제공하기 위한 시그널링이고,
    상기 취득처 정보는 URL(Uniform Resource Locator)인, 데이터 처리 방법.
  9. 제8항에 있어서,
    상기 콘텐츠 및 상기 제어 정보는 방송파에 의해 전송되고,
    상기 제어 정보는 SLT(Service List Table), USD(User Service Description), S-TSID(Service-based Transport Session Instance Description) 또는 MPD(Media Presentation Description) 중 적어도 하나를 포함하는, 데이터 처리 방법.
  10. 수신 장치로서,
    콘텐츠를 수신하도록 구성된 수신부와,
    상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하도록 구성된 취득부와,
    취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하도록 구성된 검증부와,
    상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하도록 구성된 제어부
    를 구비하는, 수신 장치.
  11. 제10항에 있어서, 상기 검증부는,
    상기 콘텐츠의 스트림에 포함되는, 상기 애플리케이션에 따른 제1 다이제스트값을 추출하고,
    취득된 상기 애플리케이션에 따른 제2 다이제스트값을 생성하고,
    상기 제1 다이제스트값과, 상기 제2 다이제스트값을 비교함으로써, 취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하도록 구성된, 수신 장치.
  12. 제11항에 있어서, 상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛에 포함되는 기저 대역 프레임에 삽입되는 워터마크에 저장되는, 수신 장치.
  13. 제11항에 있어서, 상기 콘텐츠의 비디오 데이터는, 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 저장되는, 수신 장치.
  14. 제11항에 있어서, 상기 제1 다이제스트값은, 상기 애플리케이션을 식별하기 위한 식별 정보와 함께, 메시지에 포함하여 전송되는, 수신 장치.
  15. 제10항에 있어서, 상기 취득부는, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는, 상기 애플리케이션의 취득처를 나타내는 취득처 정보에 기초하여, 상기 애플리케이션을 취득하도록 구성되고,
    상기 제어부는, 취득된 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우, 당해 애플리케이션을 기동하도록 구성되는, 수신 장치.
  16. 제15항에 있어서, 상기 콘텐츠 및 상기 제어 정보는, 방송파에 의해 전송되고,
    상기 제어 정보는, 디지털 방송의 서비스를 제공하기 위한 시그널링이고,
    상기 취득처 정보는, URL(Uniform Resource Locator)인, 수신 장치.
  17. 수신 장치의 데이터 처리 방법에 있어서,
    상기 수신 장치가,
    콘텐츠를 수신하는 스텝,
    상기 콘텐츠에 부수되는 애플리케이션이며, 상기 콘텐츠의 DRM(Digital Rights Management)에 의해 보호된 상기 애플리케이션을 취득하는 스텝,
    취득된 상기 애플리케이션이, 정당한 애플리케이션인지 여부를 검증하는 스텝,
    상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우, 당해 애플리케이션을 기동하는 스텝을 포함하는, 데이터 처리 방법.
  18. 제17항에 있어서, 상기 검증은,
    상기 콘텐츠의 스트림에 포함되는, 상기 애플리케이션에 따른 제1 다이제스트값을 추출하고,
    취득된 상기 애플리케이션에 따른 제2 다이제스트값을 생성하고,
    상기 제1 다이제스트값과 상기 제2 다이제스트값을 비교함으로써, 취득된 상기 애플리케이션이 정당한 애플리케이션인지 여부를 검증하는 것을 포함하는, 데이터 처리 방법.
  19. 제18항에 있어서, 상기 콘텐츠의 비디오 데이터는 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 VCL-NAL(Video Coding Layer-Network Abstraction Layer) 유닛에 포함되는 기저 대역 프레임에 삽입되는 워터마크에 저장되는, 데이터 처리 방법.
  20. 제18항에 있어서, 상기 콘텐츠의 비디오 데이터는 소정의 부호화 방식에 따라 부호화되어 있고,
    상기 제1 다이제스트값은, 암호화된 비VCL-NAL(Non Video Coding Layer-Network Abstraction Layer) 유닛에 저장되는, 데이터 처리 방법.
  21. 제18항에 있어서, 상기 제1 다이제스트값은, 상기 애플리케이션을 식별하기 위한 식별 정보와 함께, 메시지에 포함하여 전송되는, 데이터 처리 방법.
  22. 제17항에 있어서,
    상기 애플리케이션은, 상기 애플리케이션의 취득처를 나타내는 취득처 정보로서, 상기 콘텐츠와 함께 전송되는 제어 정보에 포함되는 상기 취득처 정보에 따라 획득되고,
    취득된 상기 애플리케이션이 정당한 애플리케이션이라고 확인된 경우에, 당해 애플리케이션을 기동하는, 데이터 처리 방법.
  23. 제22항에 있어서,
    상기 콘텐츠 및 상기 제어 정보는 방송파에 의해 전송되고,
    상기 제어 정보는 디지털 방송 서비스를 제공하기 위한 시그널링이고,
    상기 취득처 정보는 URL(Uniform Resource Locator)인, 데이터 처리 방법.
KR1020187018954A 2016-01-15 2017-01-04 수신 장치, 송신 장치 및 데이터 처리 방법 KR102653289B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016006375 2016-01-15
JPJP-P-2016-006375 2016-01-15
PCT/JP2017/000012 WO2017122554A1 (ja) 2016-01-15 2017-01-04 受信装置、送信装置、及び、データ処理方法

Publications (2)

Publication Number Publication Date
KR20180105641A KR20180105641A (ko) 2018-09-28
KR102653289B1 true KR102653289B1 (ko) 2024-04-02

Family

ID=59310968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018954A KR102653289B1 (ko) 2016-01-15 2017-01-04 수신 장치, 송신 장치 및 데이터 처리 방법

Country Status (7)

Country Link
US (2) US11449583B2 (ko)
EP (1) EP3404924B1 (ko)
JP (1) JPWO2017122554A1 (ko)
KR (1) KR102653289B1 (ko)
CA (1) CA3010777A1 (ko)
MX (1) MX2018008395A (ko)
WO (1) WO2017122554A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016017451A1 (ja) * 2014-08-01 2017-05-18 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
CA3071560C (en) * 2017-08-10 2024-01-23 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US11310540B2 (en) * 2017-11-10 2022-04-19 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
KR102642928B1 (ko) * 2019-03-26 2024-03-04 삼성전자주식회사 방송 수신 장치 및 그 동작 방법
JP7390816B2 (ja) * 2019-08-02 2023-12-04 日本放送協会 配信システム、受信装置およびプログラム
US11303688B2 (en) * 2019-09-30 2022-04-12 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
KR102302755B1 (ko) * 2019-12-30 2021-09-16 재단법인 경주스마트미디어센터 Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법
WO2021137633A2 (ko) * 2019-12-30 2021-07-08 재단법인 경주스마트미디어센터 Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법
US11941092B2 (en) * 2020-02-06 2024-03-26 Saturn Licensing Llc Techniques for launching applications based on partial signature validation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487301B1 (en) * 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
US6243480B1 (en) * 1998-04-30 2001-06-05 Jian Zhao Digital authentication with analog documents
US20030217369A1 (en) * 2002-05-17 2003-11-20 Heredia Edwin Arturo Flexible application information formulation
US8869289B2 (en) 2009-01-28 2014-10-21 Microsoft Corporation Software application verification
JP6053323B2 (ja) * 2011-05-20 2016-12-27 日本放送協会 放送送信装置、放送通信連携受信装置およびそのプログラム、ならびに、放送通信連携システム
US20130042100A1 (en) * 2011-08-09 2013-02-14 Nokia Corporation Method and apparatus for forced playback in http streaming
TWI528749B (zh) * 2011-09-06 2016-04-01 Sony Corp A signal receiving device, a signal receiving method, an information processing program and an information processing system
KR101654439B1 (ko) * 2011-09-23 2016-09-12 엘지전자 주식회사 방송 서비스 수신 방법 및 그 수신 장치
BR112014014585A8 (pt) * 2011-12-21 2017-07-04 Sony Corp aparelho e método de processamento de informação, aparelho de servidor, método de processamento de servidor, e, programa
CN104255010B (zh) * 2012-04-27 2017-01-25 华为技术有限公司 用于在模板模式下有效支持短加密区间的系统和方法
US9883247B2 (en) * 2012-08-13 2018-01-30 Saturn Licensing Llc Reception apparatus, reception method, transmission apparatus, and transmission method
EP2925007B1 (en) 2012-11-23 2019-06-26 Saturn Licensing LLC Information processing device and information processing method
CN104854894B (zh) * 2013-01-17 2018-11-02 英特尔Ip公司 针对dash的内容url认证
WO2015167177A1 (ko) * 2014-04-30 2015-11-05 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR102481425B1 (ko) * 2014-05-30 2022-12-27 소니그룹주식회사 수신 장치, 수신 방법, 송신 장치, 및, 송신 방법

Also Published As

Publication number Publication date
EP3404924A4 (en) 2019-05-01
MX2018008395A (es) 2018-08-15
US11449583B2 (en) 2022-09-20
KR20180105641A (ko) 2018-09-28
CA3010777A1 (en) 2017-07-20
EP3404924A1 (en) 2018-11-21
JPWO2017122554A1 (ja) 2018-11-01
EP3404924B1 (en) 2023-04-26
US20230099480A1 (en) 2023-03-30
US20190026444A1 (en) 2019-01-24
WO2017122554A1 (ja) 2017-07-20

Similar Documents

Publication Publication Date Title
KR102653289B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US20230007364A1 (en) System and method for signaling security and database population
US9900289B2 (en) Low-latency secure segment encryption and authentication interface
EP2859707B1 (en) Signaling and handling content encryption and rights management in content transport and delivery
US9723376B2 (en) Information processing apparatus, server apparatus, information processing method, server processing method, and program
EP2925007B1 (en) Information processing device and information processing method
US20130042100A1 (en) Method and apparatus for forced playback in http streaming
JP6973454B2 (ja) 情報処理システムおよび送受信方法
KR20180088383A (ko) 수신 장치, 송신 장치, 및 데이터 처리 방법
KR20110004333A (ko) 스트림에서의 레코딩가능한 콘텐트의 프로세싱
KR20110004332A (ko) 스트림에서의 레코딩가능한 콘텐트의 프로세싱
US8850590B2 (en) Systems and methods for using transport stream splicing for programming information security
US20200099964A1 (en) Method and device for checking authenticity of a hbbtv related application
WO2017113817A1 (zh) 一种利用数字指纹技术保护视频的方法及装置
JP5350021B2 (ja) ファイル生成装置、ファイル再生装置およびコンピュータプログラム
US20220201372A1 (en) Live video streaming architecture with real-time frame and subframe level live watermarking

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
GRNT Written decision to grant