KR20170003612A - 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법 - Google Patents

방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법 Download PDF

Info

Publication number
KR20170003612A
KR20170003612A KR1020167033751A KR20167033751A KR20170003612A KR 20170003612 A KR20170003612 A KR 20170003612A KR 1020167033751 A KR1020167033751 A KR 1020167033751A KR 20167033751 A KR20167033751 A KR 20167033751A KR 20170003612 A KR20170003612 A KR 20170003612A
Authority
KR
South Korea
Prior art keywords
information
mpd
media content
broadcast
time
Prior art date
Application number
KR1020167033751A
Other languages
English (en)
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 KR20170003612A publication Critical patent/KR20170003612A/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/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/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J1/00Frequency-division multiplex systems
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방송 수신 장치는 프로그램을 포함하는 서비스 및 시그널링 정보를 수신하는 브로드캐스트 인터페이스, 상기 시그널링 정보는 재생되는 상기 프로그램의 미디어 타임 정보를 포함하고; 컴패니언 스크린 디바이스를 발견하는 컴패니언 스크린 인터페이스; 및 상기 브로드캐스트 인터페이스 및 상기 컴패니언 스크린 인터페이스를 동작시키는 제어부를 포함하고, 상기 제어부는 상기 시그널링 정보를 기초로 상기 프로그램과 상기 컴패니언 스크린 디바이스에서 디스플레이되는 프로그램 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서를 포함하고, 상기 컴패니언 스크린 인터페이스는 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달한다.

Description

방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법{BROADCAST TRANSMISSION APPARATUS, BROADCAST RECEPTION APPARATUS, BROADCAST TRANSMISSION APPARATUS OPERATING METHOD, AND BROADCAST RECEPTION APPARATUS OPERATING METHOD}
본 발명은 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법에 관한 것이다.
디지털 방송 환경 및 통신 환경의 발전에 따라 기존 방송망뿐만 아니라 통신망(broadband)을 이용하는 하이브리드 방송이 각광 받고 있다. 또한 이러한 하이브리드 방송은 스마트폰 이나 태블릿 등의 단말 장치와 연동하는 어플리케이션이나 방송 서비스를 제공하고 있다. 또한, 하이브리드 방송은 방송 서비스와 관련된 어플리케이션, 각 사용자에 맞는 컨텐츠를 제공하는 개인화 기능을 제공하고 있다.
이러한 하이브리드 방송을 위해서 방송 수신 장치가 통신망(broadband)에 자유롭게 접근할 수 있어야 한다. 또한 방송 수신 장치는 통신망(broadband)을 통해서 수신되는 컨텐츠를 재생할 수 있어야 한다. 이를 위해서는 방송 수신 장치와 방송 전송 장치가 방송망과 통신망(broadband)을 모두 지원하는 컨텐츠 전송 프로토콜을 지원하여야 한다. 이를 위해 방송 전송 장치와 방송 수신 장치가 네트워크 환경에 따라 미디어 컨텐츠를 적응적으로 전송하기 위한 표준 기술인 MPEG-Dynamic Adaptive Streaming over HTTP(DASH)와 미디어 컨텐츠를 IP 네트워크로 효율적으로 전송하기 위한 전송 표준인 MPEG Media Transport(MMT)을 이용 하여야 한다는 의견이 제시되고 있다.
본 발명의 일 실시예는 통신망(broadband)과 방송망을 통한 미디어 컨텐츠의 전송과 재생을 제공하는 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예는 지상파 방송망과 인터넷 망이 사용 가능한 환경에서 하이브리드 방송 시스템에서 동작하는 Application에 대해서 사용자에 의한 Opt-in/out 방법을 제공한다.
본 발명의 일 실시예는 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에 방송 콘텐츠와 DASH 을 통해 전송되는 콘텐츠와의 연동을 지원할 수 있는 방법을 제공한다.
본 발명의 일 실시예는 방송 수신 장치가 컴패니언 스크린 디바이스로 서비스 시간 정보를 전달하는 방법을 제공한다.
본 발명의 일 실시예는 프로그램이 time-shift 되었을 때에 프로그램과 같이 실행될 수 있는 interactive application도 time-shift를 지원할 수 있는 방법을 제공한다.
본 발명의 일 실시예에 따른 방송 신호를 수신하는 방송 수신 장치는 프로그램을 포함하는 서비스 및 시그널링 정보를 수신하는 브로드캐스트 인터페이스, 상기 시그널링 정보는 재생되는 상기 프로그램의 미디어 타임 정보를 포함하고; 컴패니언 스크린 디바이스를 발견하는 컴패니언 스크린 인터페이스; 및 상기 브로드캐스트 인터페이스 및 상기 컴패니언 스크린 인터페이스를 동작시키는 제어부를 포함하고, 상기 제어부는 상기 시그널링 정보를 기초로 상기 프로그램과 상기 컴패니언 스크린 디바이스에서 디스플레이되는 프로그램 사이에 시간 동기화와 관련된 정보를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서를 포함하고, 상기 컴패니언 스크린 인터페이스는 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
바람직하게는, 상기 서비스 시간 정보는 상기 서비스의 식별자를 지시하는 serviceId attribute, 상기 서비스에서 재생되고 있는 상기 프로그램의 식별자를 지시하는 programId attribute, 상기 프로그램의 상기 미디어 타임 정보를 지시하는 mediaTime element, 및/또는 월-클럭 시간(wall clock time)을 지시하는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 컴패니언 스크린 인터페이스는 상기 컴패니언 스크린 디바이스로부터 수신한 상기 서비스 시간 정보의 획득을 요청하는 제1 요청을 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
바람직하게는 상기 시간 동기화 서비스 프로세서는 상기 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성하고, 및 상기 컴패니언 스크린 인터페이스는 상기 전달 간격 정보를 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
바람직하게는, 상기 전달 간격 정보는 상기 서비스 시간 정보를 전달하는 주기를 지시하는 전달 주기 정보 및 상기 서비스 시간 정보를 전달하는 빈도를 지시하는 전달 빈도 정보 중에서 하나일 수 있다.
바람직하게는, 상기 컴패니언 스크린 인터페이스는 전달 간격 정보의 획득을 요청하는 제2 요청을 상기 컴패니언 스크린 디바이스로부터 수신하고; 상기 시간 동기화 서비스 프로세서는 상기 제2 요청을 기초로 상기 월-클럭 시간(wall clock time)이 지시하는 시점에서의 상기 전달 간격 정보의 값을 지시하는 현재 전달 간격 정보를 생성하고; 및 상기 컴패니언 스크린 인터페이스는 상기 현재 전달 간격 정보를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
바람직하게는, 상기 컴패니언 스크린 인터페이스는 전달 간격 정보의 설정을 요청하는 제3 요청을 상기 컴패니언 스크린 디바이스로부터 수신하고, 상기 제3 요청은 상기 컴패니언 스크린 디바이스가 요청하는 전달 간격 정보의 값을 지시하는 요청된 전달 간격 정보를 포함하고; 상기 시간 동기화 서비스 프로세서는 상기 요청된 전달 간격 정보와 동일한 값 및 상기 요청된 전달 간격 정보에 가장 가까운 값 중에서 하나를 지시하는 확인된 전달 간격 정보를 생성하고; 상기 컴패니언 스크린 인터페이스는 상기 확인된 전달 간격 요청 정보를 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 프로그램에 대한 적어도 하나의 트리거를 포함하는 액티베이션 메시지 테이블을 포함하고, 상기 제어부는 상기 액티베이션 메시지 테이블을 기초로, 타임-쉬프트된 상기 프로그램에서 동작하는 어플리케이션을 서술하는 타임-쉬프트 관리 테이블을 생성하는 타임-쉬프트 매니저를 더 포함하고, 상기 제어부는 상기 타임-쉬프트 관리 테이블을 기초로 상기 어플리케이션을 동작시킬 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 어플리케이션에 대한 메타데이터를 포함하는 트리거링 어플리케이션 정보를 포함하고, 상기 제어부는 상기 타임-쉬프트 관리 테이블을 기초로 상기 트리거 및 상기 트리거링 어플리케이션 정보를 추출하고, 상기 제어부는 상기 트리거 및 상기 트리거링 어플리케이션 정보를 기초로 상기 어플리케이션을 동작시킬 수 있다.
바람직하게는, 상기 트리거링 어플리케이션 정보는 상기 어플리케이션이 타임-쉬프트된 상기 프로그램에 대하여 동작할 수 있는지 여부를 지시하는 timeShiftEnabled attribute를 포함할 수 있다.
바람직하게는, 상기 액티베이션 메시지 테이블은 메이저 프로토콜 버전을 지시하는 majorProtocolVersion attribute, 마이너 프로토콜 버전을 지시하는 minorProtocolVersion attribute, 상기 트리거링 어플리케이션 정보의 식별자와 매칭되는 식별자를 지시하는 segmentId attribute, 프로그램 세그먼트의 시작 미디어 타임을 지시하는 beginMT attribute, 및 액티베이션 메시지를 포함하는 Activation element 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 인터넷을 통하여 콘텐트 서버에 연결하는 브로드밴드 인터페이스를 더 포함하고, 상기 액티베이션 메시지 테이블은 상기 트리거링 어플리케이션 정보의 위치를 지시하는 TPTURL attribute를 더 포함하고, 상기 브로드밴드 인터페이스는 TPTURL attribute를 기초로 상기 콘텐트 서버로부터 상기 트리거링 어플리케이션 정보를 수신할 수 있다.
바람직하게는, 상기 액티베이션 메시지 테이블은 상기 액티베이션 메시지 테이블의 가용시간을 지시하는 expireDate attribute를 더 포함하고, 상기 제어부는 상기 expireDate attribute이 지시하는 시간이 지나면 상기 액티베이션 메시지 테이블을 삭제할 수 있다.
바람직하게는, 상기 타임-쉬프트 관리 테이블은 상기 서비스의 고유한 식별자를 지시하는 serviceId attribute, 상기 프로그램의 고유한 식별자를 지시하는 programId attribute, 파일의 위치를 지시하는 fileLocation attribute, 대한 트리거링 어플리케이션 정보의 고유한 식별자를 지시하는 TPTId attribute, 상기 어플리케이션에 관한 속성을 포함하는 AppInfo element, 및 상기 트리거에 대한 속성을 지시하는 트리거 정보를 포함하는 ActivationInfo element 중에서 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 컴패니언 스크린 인터페이스는 상기 타임-쉬프트 관리 테이블을 상기 세컨드 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예는 통신망(broadband)과 방송망을 통한 미디어 컨텐츠의 전송과 재생을 제공하는 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법을 제공한다.
본 발명의 일 실시예는 하이브리드 방송 시스템에서 Personalization을 위한 PDI Table을 이용하여 Application 별로 Optin/out 등과 같은 사용성 설정을 가능하게 한다.
본 발명의 일 실시예는 수신기가 application notification의 구성 및 optin/out을 관리할 경우, companion device로 application notification 정보를 전달할 수 있다.
본 발명의 일 실시예는 Companion device로 application signaling 전달시 application ID별로 구분하여 전달할 수 있다.
본 발명의 일 실시예는 차세대 하이브리드 방송 시스템의 interactive application signaling의 delivery 방법을 제공한다.
본 발명의 일 실시예는 차세대 하이브리드 방송 시스템에서 TV 즉 primary device가 받은 interactive application signaling을 second screen 즉 companion device로 전달할 수 있다.
본 발명의 일 실시예는 방송 수신 장치에서 디스플레이되는 콘텐트화 컴패니언 스크린 디바이스에서 디스플레이되는 콘텐트 사이에 시간 동기화를 제공할 수 있다.
본 발명의 일 실시예는 프로그램이 time-shift 되었을 때에 프로그램과 같이 실행될 수 있는 interactive application도 time-shift를 지원할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 5는 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩(Frame Building, 프레임 생성) 블록을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 OFDM (orthogonal frequency division multiplexing) 제너레이션(generation, 생성) 블록을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 EAC (emergency alert channel) 매핑을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 FIC (fast information channel) 매핑을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 FEC (forward error correction) 구조를 나타낸다.
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 읽기 패턴을 나타낸다.
도 24는 본 발명의 일 실시예에 따른 각 인터리빙 어레이(array)로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른 베리어블 비트-레이트(variable bit-rate) 시스템을 나타낸 개념도이다.
도 26은 본 발명의 블록 인터리빙의 라이팅(writing) 및 리딩 (reading) 오퍼레이션의 일 실시예를 나타낸다.
도 27는 본 발명의 일 실시예에 따른 블록 인터리빙을 나타낸 수학식이다.
도 28는 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들을 나타낸 도면이다.
도 29은 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들이 삽입된 이후 리딩 (reading) 동작을 나타낸 수학식이다.
도 30은 본 발명의 일 실시예에 따른 타임 인터리빙의 프로세스를 나타낸 순서도이다.
도 31은 본 발명의 일 실시예에 따른 시프트 밸류 및 맥시멈 TI 블록의 크기를 결정하는 과정을 나타낸 수학식이다.
도 32는 본 발명의 일 실시예에 따른 라이팅 (writing) 오퍼레이션을 나타낸다.
도 33은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션을 나타낸다.
도 34은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션에서 스킵 오퍼레이션이 수행된 결과를 나타낸다.
도 35는 본 발명의 일 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도 36은 본 발명의 다른 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도 37는 본 발명의 다른 실시예에 따른 타임 디인터리빙의 리딩 (reading) 오퍼레이션을 나타내는 수학식이다.
도 38는 본 발명의 일 실시예에 따른 타임 디인터리빙의 프로세스를 나타낸 순서도이다.
도 39 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링을 도시한 도면이다.
도 40 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FSS 를 위한 FI 스킴들을 도시한 도면이다.
도 41 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FES 를 위한 리셋 모드의 동작을 도시한 도면이다.
도 42 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 인터리버의 입력과 출력을 수학식으로 표시한 도면이다.
도 43 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, FI 스킴 #1 및 FI 스킴 #2 에 따른 주파수 인터리빙의 논리적 동작 매커니즘의 수학식을 나타낸다.
도 44 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
도 45 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
도 46 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
도 47 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
도 48 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 디인터리버의 동작을 도시한 도면이다.
도 49는 본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템의 구성을 나타내는 블록도이다.
도 50은 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠 송수신시스템의 구성을 보여준다.
도 51은 본 발명의 일 실시예에 따른 MPD(Media Presentation Description)의 구조를 보여준다.
도 52는 본 발명의 일 실시예에 따른 MPD의 XML 신택스(syntax)를 보여준다.
도 53은 본 발명의 일 실시예에 따른 MPD의 피리어드(Period) 엘리먼트의 XML 신택스를 보여준다.
도 54는 본 발명의 일 실시예에 따른 방송 수신 장치가 IP 네트워크를 통하여 미디어 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
도 55는 본 발명의 일 실시예에 따라 MPD를 MPD 정보 테이블 형태로 전송할 경우의 비트 스트림 신택스를 보여준다.
도 56은 본 발명의 일 실시예에 따라 방송 수신 장치가 MPD를 포함하는 정보 테이블에 기초하여 MPD를 추출하는 동작을 보여주는 흐름도이다.
도 57은 본 발명의 일 실시예에 따라 MPD 링크를 포함하는 MPD 링크 테이블을 보여준다.
도 58은 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생 정보 링크를 포함하는 미디어 컨텐츠 재생 정보 테이블에 기초하여 MPD를 수신하는 동작을 보여주는 흐름도이다.
도 59는 본 발명의 일 실시예에 따라 IP 데이터그램(Datagram)에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 것을 보여준다.
도 60은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램의 신택스를 보여준다.
도 61은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램에 포함된 MPD 페이로드(payload)의 신택스를 보여준다.
도 62는 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함하는 IP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출하는 동작을 보여주는 흐름도이다.
도 63은 본 발명의 일 실시예에 따라 MPD를 전송하기 위한 MPD 디스크립터(descriptor)의 신택스를 보여준다.
도 64는 MPD 디스크립터가 MPD를 직접 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 65는 MPD 디스크립터가 MPD. MPD 정보 테이블 또는 MPD 링크 테이블을 저장하는 링크의 주소를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 66은 MPD 디스크립터가 MPD를 포함하는 데이터 패킷의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 67은 MPD 디스크립터가 MPD를 포함하는 별도의 방송 스트림의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 68은 MPD 디스크립터가 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 69는 MPD 디스크립터가 MPD를 전송하는 FLUTE 혹은 ALC/LCT 등 세션 기반전송 프로토콜 세션에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
도 70은 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링(signaling) 정보 테이블에 포함하여 전송하는 경우 방송 수신 장치가 미디어 컨텐츠 재생 정보를 수신하는 동작을 보여주는 흐름도이다.
도 71은 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는 경우 방송 수신 장치가 방송 스트림 전송 안정 여부에 기초하여 미디어 컨텐츠를 재생하는 동작을 설명하는 흐름도이다.
도 72는 MPEG-DASH 표준에 따라 IP 네트워크를 통해 전송되는 미디어 컨텐츠의 동기화 정보를 포함하는 방송 스트림 패킷의 신택스를 보여준다.
도 73은 본 발명의 일 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 74는 본 발명의 또 다른 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 75는 본 발명의 일 실시예에 따라 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화 하는 동작을 보여주는 흐름도이다.
도 76는 방송 컨텐츠가 ATSC 표준에 따라 전송되는 경우 미디어 컨텐츠 재생 정보에 포함되는 방송 컨텐츠를 식별하는 정보의 형식을 보여준다.
도 77은 ATSC 표준에 따라 전송되는 방송 컨텐츠를 식별하는 정보를 포함하는 MPEG-DASH의 MPD의 예제를 보여준다.
도 78은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
도 79는 방송 수신 장치가 MPEG-2 TS 표준에 따라 방송 스트림을 전송하는 방송망을 통해서 MPEG-DASH의 MPD를 수신하는 것을 보여주는 블락도이다.
도 80은 방송 수신 장치가 MPEG-2 TS 표준에 따라 전송되는 방송 스트림의 방송 컨텐츠와 통신망을 통해 전송되는 미디어 컨텐츠를 동기화하는 것을 보여주는 블락도이다.
도 81은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 82는 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 83은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 84는 방송 수신 장치(100)가 방송 서비스를 스캔하여 채널 맵을 생성하는 동작을 보여주는 흐름도이다.
도 85는 방송 수신 장치(100)가 방송 서비스를 수신하는 동작을 보여주는 흐름도이다.
도 86은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 획득하는 동작을 보여주는 흐름도이다.
도 87은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 88은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 89는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다.
도 90는 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 91은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 나타내는 값이 의미하는 내용을 나타낸다.
도 92는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 93은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 94는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 95는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 96은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 97은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 98은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 99는 도 90 내지 도 98의 실시 예에서 타임베이스 및 서비스 시그널링 메시지를 획득하는 과정을 나타낸다.
도 100은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 101은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 102은 도 101에서 설명한 각각의 전송 모드가 갖는 값에 따른 의미를 나타낸다.
도 103는 차세대 방송 시스템에서 방송 서비스의 컴포넌트 데이터 획득 경로를 시그널링하는 시그널링 메시지의 구성을 나타낸다.
도 104은 본 발명의 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 105는 본 발명의 또 다른 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 106은 방송 서비스를 구성하는 하나 이상의 컴포넌트 데이터를 획득할 수 있는 경로 정보를 포함하는 컴포넌트 로케이션 시그널링을 나타낸다.
도 107은 도 106의 컴포넌트 로케이션 시그널링의 구성을 나타낸다.
도 108은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 과정을 나타내는 흐름도이다.
도 109는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 과정을 나타내는 흐름도이다.
도 110은 본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템의 구성을 나타내는 블록도이다.
도 111은 본 발명의 일 실시예에 따른, 서비스 타입들 및 서비스 타입들의 컴포넌트 타입들을 나타낸 도면이다.
도 112는 본 발명의 일 실시예에 따른 NRT 콘텐트 아이템과 NRT 파일 사이의 포함 관계를 나타낸 도면이다.
도 113은 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 테이블이다.
도 114는 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
도 115는 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
도 116은 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
도 117은 본 발명의 일 실시예에 따른 콘텐트 아이템 및 온-디맨드 콘텐트에 대한 정의를 나타낸 도면이다.
도 118은 본 발명의 일 실시예에 따른 Complex Audio Component의 예를 나타낸 도면이다.
도 119는 앞서 설명한 트리거 신택스에 따른 트리거를 보여준다.
도 120은 본 발명의 일 실시예에 따른, 어플리케이션과 관련한 속성 정보를 나타낸 도면이다.
도 121은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
도 122는 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 XML 포멧을 나타낸 도면이다.
도 123은 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 신택스를 보여준다.
도 124는 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 Event 엘리먼트의 신택스를 보여준다.
도 125는 본 발명의 일 실시예에 따른 인밴드 이벤트 시그널링을 위한 이벤트 메시지 박스의 신택스를 보여준다.
도 126은 본 발명의 일 실시예에 따라 트리거 타입 정보를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 127은 본 발명의 일 실시예에 따라 트리거 타입 정보를 보여준다.
도 128은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
도 129는 본 발명의 일 실시예에 따라 트리거링되는 어플리케이션에 관한 정보의 위치를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 130은 본 발명의 일 실시예에 따라 어플리케이션의 상태를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 131은 본 발명의 일 실시예에 따라 어플리케이션의 동작을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 132는 본 발명의 일 실시예에 따라 미디어 시간을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 133은 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 밸류 어트리뷰트의 정의를 보여준다.
도 134는 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 이벤트 엘리먼트의 식별자 어트리뷰트와 메시지 어트리뷰트, 및 이벤트 메시지 박스의 식별자 필드와 메시지 데이터 필드의 매칭 관계를 보여준다.
도 135는 본 발명의 일 실시예에 따른 MMT 프로토콜의 패키지의 구조를 보여준다.
도 136은 본 발명의 일 실시예에 따른 MMTP 패킷의 구조와 MMTP 패킷이 포함하는 데이터의 종류를 보여준다.
도 137은 본 발명의 일 실시예에 따라 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 페이로드 헤더의 신택스를 보여준다.
도 138은 본 발명의 일 실시예에 따라 컨텐츠와 MPU를 통해 전송되는 트리거를 동기화하는 것을 보여준다.
도 139는 본 발명의 또 다른 실시예에 따른 MMT 시그널링 메시지의 신택스를 보여준다.
도 140은 본 발명의 또 다른 실시시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
도 141은 본 발명의 또 다른 실시예에 따라 어플리케이션 시그널링 정보를 포함하는 시그널링 메시지의 신택스를 보여준다.
도 142는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블의 신택스를 보여준다.
도 143는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블이 포함하는 트리거 타입 정보와 트리거가 포함하는 트리거 속성의 관계를 보여준다.
도 144은 본 발명의 또 다른 실시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
도 145의 실시예에 어플리케이션 시그널링 테이블은 앞서 설명한 어플리케이션 시그널링 테이블과 달리 트리거 타입 정보를 포함하지 않는다.
도 146은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조를 보여준다.
도 147은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조와 어플리케이션 시그널링 정보를 전송하기 위한 헤더 확장 필드의 신택스를 보여준다.
도 148은 본 발명의 실시예들에 따라 방송 전송 장치가 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송하는 것을 보여준다.
도 149는 본 발명의 실시예들에 따라 방송 수신 장치가 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득하는 것을 보여준다.
도 150은 본 발명의 일 실시예에 따른, 동기화된 어플리케이션 (synchronized application) 으로의 진입을 위한 통지(notification)를 나타낸 도면이다.
도 151은 본 발명의 일 실시예에 따른, 동기화된 어플리케이션 (synchronized application) 으로의 진입을 위한 통지(notification)를 나타낸 도면이다.
도 152는 본 발명의 일 실시예에 따른, 동기화된 어플리케이션의 통지와 사용자 동의 인터페이스를 연동하기 위한 사용자 인터페이스를 나타낸 도면이다.
도 153는 본 발명의 다른 실시예에 따른, 어플리케이션의 사용에 대한 동의를 위한 사용자 인터페이스를 나타낸 도면이다.
도 154는 본 발명의 일 실시예에 따른, TPT (TDO parameter table; TDO parameter element) 의 일부를 나타낸 도면이다.
도 155는 본 발명의 다른 실시예에 따른, TPT (TDO parameter table; TDO parameter element) 의 일부를 나타낸 도면이다.
도 156은 본 발명의 다른 실시예에 따른, TPT의 XML 포멧의 실시예를 나타낸 도면이다.
도 157은 본 발명의 일 실시예에 따른, NotificationInfo 엘리먼트의 정보를 이용하여 동기화된 어플리케이션의 통지가 표출된 화면을 나타낸 도면이다.
도 158은 본 발명의 일 실시예에 따른 어플리케이션 통지 정보를 나타낸 도면이다.
도 159는 본 발명의 일 실시예에 따른 어플리케이션 통지를 위한 state variable을 나타낸 도면이다.
도 160은 본 발명의 일 실시예에 따른, 방송의 개인화를 위한 절차를 나타낸 도면이다.
도 161는 본 발명의 일 실시예에 따른, 방송의 개인화를 위한 절차를 나타낸 도면이다.
도 162는 본 발명의 일 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조를 나타낸 도면이다
도 163은 본 발명의 일 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조의 XML 포멧을 나타낸 도면이다.
도 164는 본 발명의 다른 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조를 나타낸 도면이다.
도 165는 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정에 대한 과정을 나타낸 도면이다.
도 166은 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정에 대한 과정을 나타낸 도면이다.
도 167은 본 발명의 일 실시예에 따른, 어플리케이션의 Opt-in/out 을 설정하기 위한 UI를 나타낸 도면이다.
도 168은 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정 완료 후, 수신기 (TV)가 서비스 프로바이더로부터 동일 application ID를 가진 어플리케이션의 트리거 (trigger)를 수신한 경우, 이에 대한 처리 과정을 나타낸 도면이다.
도 169는 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정 완료 후, 수신기 (TV)가 서비스 프로바이더로부터 동일 application ID를 가진 어플리케이션의 트리거 (trigger)를 수신한 경우, 이에 대한 처리 과정을 나타낸 도면이다.
도 170은 본 발명의 일 실시예에 따른, Filtering Criteria의 데이터 포멧을 나타낸 도면이다.
도 171은 본 발명의 일 실시예에 따른, 어플리케이션의 사용자에 따른 옵션을 설정하는 UI 및 이에 대한 질의 (Question) 을 나타낸 도면이다.
도 172는 본 발명의 일 실시예에 따른, PDI Table의 XML 데이터 포멧을 나타낸 도면이다.
도 173은 본 발명의 일 실시예에 따른, PDI Table의 XML 데이터 포멧을 나타낸 도면이다.
도 174는 본 발명의 일 실시예에 따른, ContentAdvisoryInfo 엘레먼트 내의 Rated_dimension 엘레먼트를 나타낸 도면이다.
도 175는 본 발명의 일 실시예에 따른, content advisory 정보 (ContentAdvisoryInfo 엘레먼트) 를 포함하는 TPT를 나타낸 도면이다.
도 176은 본 발명의 일 실시예에 따른, rating 값을 획득하기 위한 API (Application Programming Interface)를 나타낸 도면이다.
도 177은 본 발명의 일 실시예에 따른 송수신 시스템의 구성을 나타내는 도면이다.
도 178는 본 발명의 일 실시예에 따른 이벤트 정보를 나타내는 도면이다.
도 179은 본 발명의 일 실시예에 따른 이벤트 정보의 XML 포멧을 나타낸 도면이다.
도 180은 본 발명의 일 실시예에 따른 UPnP Action Mechanism을 나타낸 도면이다.
도 181은 본 발명의 일 실시예에 따른 REST Mechanism을 나타낸 도면이다.
도 182은 본 발명의 일 실시예에 따른 트리거의 전달을 위한 state variable들을 나타낸 도면이다.
도 183는 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도 184은 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 포멧을 나타낸 도면이다.
도 185은 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 186는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 187은 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도 188는 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 데이터 포멧을 나타낸 도면이다.
도 189는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 190은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 191은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 192는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 193는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 194은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “status”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 195은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “status”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 196는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “mediaTime”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 197은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “mediaTime”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 198는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도 199는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도 200은 본 발명의 일 실시예에 따른 제2 수신기가 트리거링 어플리케이션 정보를 송신기로부터 수신하는 Flow Diagram을 나타낸 도면이다.
도 201은 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
도 202는 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타내는 도면이다.
도 203은 본 발명의 일 실시예에 따른 시간 정보의 전달을 위한 방송 시스템을 나타낸 도면이다.
도 204는 본 발명의 일 실시예에 따른 서비스 시간 정보의 전달을 위한 state variable들을 나타낸 도면이다.
도 205는 본 발명의 일 실시예에 따른 서비스 시간 정보를 나타낸 도면이다.
도 206은 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도 207은 본 발명의 일 실시예에 따른 서비스 시간 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도 208은 본 발명의 일 실시예에 따른 전달 빈도 정보를 나타낸 도면이다.
도 209는 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 210는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 211는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
도 212는 본 발명의 일 실시예에 따른 타임-쉬프티드 어플리케이션을 지원하는 방송 수신 장치의 구성을 나타낸 도면이다.
도 213은 본 발명의 일 실시예에 따른 TMT를 나타낸 도면이다.
도 214은 본 발명의 일 실시예에 따른 TMT의 XML 포멧 데이터를 나타낸 도면이다.
도 215는 본 발명의 일 실시예에 따른 TPT signaling를 나타낸 도면이다.
도 216은 본 발명의 일 실시예에 따른 TPT의 XML 포멧 데이터를 나타낸 도면이다.
도 217는 본 발명의 일 실시예에 따른 트리거 시그널링을 나타낸 도면이다.
도 218은 본 발명의 일 실시예에 따른 TPT URL attribute를 포함하는 AMT를 나타낸 도면이다.
도 219는 본 발명의 일 실시예에 따른 expireDate attribute를 포함하는 AMT를 나타낸 도면이다.
도 220는 본 발명의 일 실시예에 따른 트리거 정보를 포함하는 TMT를 나타낸 도면이다.
도 221는 본 발명의 실시예에 따른 방송 수신 장치가 방송 신호를 기초로 어플리케이션을 동작시키는 흐름도를 나타낸다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 명세서에서 ‘시그널링 (signaling)’ 이라 함은 방송 시스템, 인터넷 방송 시스템 및/또는 방송/인터넷 융합 시스템에서 제공되는 서비스 정보 (Service Information; SI)를 전송/수신하는 것을 나타낸다. 서비스 정보는 현재 존재하는 각 방송 시스템에서 제공되는 방송 서비스 정보 (예를 들면, ATSC-SI 및/또는 DVB-SI)를 포함한다.
본 명세서에서 ‘방송 신호’ 라 함은, 지상파 방송, 케이블 방송, 위성 방송, 및/또는 모바일 방송 이외에도, 인터넷 방송, 브로드밴드 방송, 통신 방송, 데이터 방송 및/또는 VOD (Video On Demand) 등의 양방향 방송에서 제공되는 신호 및/또는 데이터를 포함하는 개념으로 정의한다.
본 명세서에서 ‘PLP’ 라 함은, 물리적 계층에 속하는 데이터를 전송하는 일정한 유닛을 의미한다. 따라서, 본 명세서에서 ‘PLP’로 명명된 내용은, ‘데이터 유닛’ 또는 ‘데이터 파이프 (data pipe)’ 로 바꾸어 명명될 수도 있다.
디지털 방송 (DTV) 서비스에서 활용될 유력한 어플리케이션 (application) 중의 하나로, 방송 망과 인터넷 망과의 연동을 통한 하이브리드 방송 서비스를 꼽을 수 있다. 하이브리드 방송 서비스는 지상파 방송망을 통해서 전송되는 방송 A/V (Audio/Video) 컨텐츠와 연관된 인핸스먼트 데이터 (enhancement data) 혹은 방송 A/V 컨텐츠의 일부를 인터넷 망을 통하여 실시간으로 전송함으로써, 사용자로 하여금 다양한 컨텐츠를 경험할 수 있도록 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
이하에서는 설명의 편의를 위해 MISO 또는 MIMO 방식은 두 개의 안테나를 사용하지만, 본 발명은 두 개 이상의 안테나를 사용하는 시스템에 적용될 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 세 개의 피지컬 프로파일(PHY profile) (베이스(base), 핸드헬드(handheld), 어드벤스(advanced) 프로파일)을 정의할 수 있다. 피지컬 프로파일은 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋이다.
세 개의 피지컬 프로파일은 대부분의 기능 블록을 공유하지만, 특정 블록 및/또는 파라미터에서는 약간 다르다. 추후에 추가로 피지컬 프로파일이 정의될 수 있다. 시스템 발전을 위해, 퓨처 프로파일은 FEF (future extension frame)을 통해 단일 RF (radio frequency) 채널에 존재하는 프로파일과 멀티플렉싱 될 수도 있다. 각 피지컬 프로파일에 대한 자세한 내용은 후술한다.
1. 베이스 프로파일
베이스 프로파일은 주로 루프 톱(roof-top) 안테나와 연결되는 고정된 수신 장치의 주된 용도를 나타낸다. 베이스 프로파일은 어떤 장소로 이동될 수 있지만 비교적 정지된 수신 범주에 속하는 휴대용 장치도 포함할 수 있다. 베이스 프로파일의 용도는 약간의 개선된 실행에 의해 핸드헬드 장치 또는 차량용으로 확장될 수 있지만, 이러한 사용 용도는 베이스 프로파일 수신기 동작에서는 기대되지 않는다.
수신의 타겟 신호 대 잡음비 범위는 대략 10 내지 20 dB인데, 이는 기존 방송 시스템(예를 들면, ATSC A/53)의 15 dB 신호 대 잡음비 수신 능력을 포함한다. 수신기 복잡도 및 소비 전력은 핸드헬드 프로파일을 사용할 배터리로 구동되는 핸드헬드 장치에서만큼 중요하지 않다. 베이스 프로파일에 대한 중요 시스템 파라미터가 아래 표 1에 기재되어 있다.
Figure pct00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure pct00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure pct00003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
IP 스트림/패킷 및 MPEG2-TS은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 4에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 5는 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 5를 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure pct00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure pct00005
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 6을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 7에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 9는 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 10은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
Figure pct00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure pct00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure pct00008
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
FRU_CONFIGURE: 해당 3비트 필드는 현 슈퍼 프레임에서 존재하는 FRU의 피지컬 프로파일 타입 구성을 나타낸다. 현 슈퍼 프레임에서 모든 프리앰블에서의 해당 필드에서, 현 슈퍼 프레임에서 전달되는 모든 프로파일 타입이 식별된다. 해당 3비트 필드는 아래 표 8에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
Figure pct00009
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
Figure pct00010
NUM_FSS: 해당 2비트 필드는 현 프레임에서 FSS의 수를 나타낸다.
SYSTEM_VERSION: 해당 8비트 필드는 전송되는 신호 포맷의 버전을 나타낸다. SYSTEM_VERSION은 주 버전 및 부 버전의 두 개의 4비트 필드로 분리된다.
주 버전: SYSTEM_VERSION 필드의 MSB인 4비트는 주 버전 정보를 나타낸다. 주 버전 필드에서의 변화는 호환이 불가능한 변화를 나타낸다. 디폴트 값은 0000이다. 해당 표준에서 서술된 버전에 대해, 값이 0000으로 설정된다.
부 버전: SYSTEM_VERSION 필드의 LSB인 4비트는 부 버전 정보를 나타낸다. 부 버전 필드에서의 변화는 호환이 가능하다.
CELL_ID: 이는 ATSC 네트워크에서 지리적 셀을 유일하게 식별하는 16비트 필드이다. ATSC 셀 커버리지는 퓨처캐스트 UTB 시스템당 사용되는 주파수 수에 따라 하나 이상의 주파수로 구성될 수 있다. CELL_ID의 값이 알려지지 않거나 특정되지 않으면, 해당 필드는 0으로 설정된다.
NETWORK_ID: 이는 현 ATSC 네트워크를 유일하게 식별하는 16비트 필드이다.
SYSTEM_ID: 해당 16비트 필드는 ATSC 네트워크 내에서 퓨처캐스트 UTB 시스템을 유일하게 식별한다. 퓨처캐스트 UTB 시스템은 입력이 하나 이상의 입력 스트림(TS, IP, GS)이고 출력이 RF 신호인 지상파 방송 시스템이다. 퓨처캐스트 UTB 시스템은 존재한다면 FEF 및 하나 이상의 피지컬 프로파일을 전달한다. 동일한 퓨처캐스트 UTB 시스템은 서로 다른 입력 스트림을 전달하고 서로 다른 지리적 영역에서 서로 다른 RF를 사용할 수 있어, 로컬 서비스 삽입을 허용한다. 프레임 구조 및 스케줄링은 하나의 장소에서 제어되고, 퓨처캐스트 UTB 시스템 내에서 모든 전송에 대해 동일하다. 하나 이상의 퓨처캐스트 UTB 시스템은 모두 동일한 피지컬 구조 및 구성을 갖는다는 동일한 SYSTEM_ID 의미를 가질 수 있다.
다음의 루프(loop)는 각 프레임 타입의 길이 및 FRU 구성을 나타내는 FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, RESERVED로 구성된다. 루프(loop) 사이즈는 FRU 내에서 4개의 피지컬 프로파일(FEF 포함)이 시그널링되도록 고정된다. NUM_FRAME_FRU가 4보다 작으면, 사용되지 않는 필드는 제로로 채워진다.
FRU_PHY_PROFILE: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임(i는 루프(loop) 인덱스)의 피지컬 프로파일 타입을 나타낸다. 해당 필드는 표 8에 나타낸 것과 동일한 시그널링 포맷을 사용한다.
FRU_FRAME_LENGTH: 해당 2비트 필드는 관련된 FRU의 (i+1)번째 프레임의 길이를 나타낸다. FRU_GI_FRACTION와 함께 FRU_FRAME_LENGTH를 사용하면, 프레임 듀레이션의 정확한 값이 얻어질 수 있다.
FRU_GI_FRACTION: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임의 가드 인터벌 일부 값을 나타낸다. FRU_GI_FRACTION은 표 7에 따라 시그널링 된다.
RESERVED: 해당 4비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 PLS2 데이터를 디코딩하기 위한 파라미터를 제공한다.
PLS2_FEC_TYPE: 해당 2비트 필드는 PLS2 보호에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
Figure pct00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure pct00012
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_STAT_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_DYN_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 현 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 부분 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_FEC_TYPE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다.
PLS2_NEXT_MOD: 해당 3비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
PLS2_NEXT_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 다음 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_NEXT_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 다음 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 전체 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_full_block를 나타낸다. 다음 프레임 그룹에서 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_REP_STAT_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_NEXT_REP_DYN_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_AP_MODE: 해당 2비트 필드는 현 프레임 그룹에서 PLS2에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 12는 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
Figure pct00013
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 13은 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
*NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
Figure pct00014
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
Figure pct00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure pct00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure pct00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure pct00018
DP_TI_TYPE: 해당 1비트 필드는 타임 인터리빙의 타입을 나타낸다. 0의 값은 하나의 타임 인터리빙 그룹이 하나의 프레임에 해당하고 하나 이상의 타임 인터리빙 블록을 포함하는 것을 나타낸다. 1의 값은 하나의 타임 인터리빙 그룹이 하나보다 많은 프레임으로 전달되고 하나의 타임 인터리빙 블록만을 포함하는 것을 나타낸다.
DP_TI_LENGTH: 해당 2비트 필드(허용된 값은 1, 2, 4, 8뿐이다)의 사용은 다음과 같은 DP_TI_TYPE 필드 내에서 설정되는 값에 의해 결정된다.
DP_TI_TYPE의 값이 1로 설정되면, 해당 필드는 각각의 타임 인터리빙 그룹이 매핑되는 프레임의 수인 PI를 나타내고, 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록이 존재한다 (NTI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
Figure pct00019
DP_FRAME_INTERVAL: 해당 2비트 필드는 관련된 데이터 파이프에 대한 프레임 그룹 내에서 프레임 간격(IJUMP)을 나타내고, 허용된 값은 1, 2, 4, 8 (해당하는 2비트 필드는 각각 00, 01, 10, 11)이다. 프레임 그룹의 모든 프레임에 나타나지 않는 데이터 파이프에 대해, 해당 필드의 값은 순차적인 프레임 사이의 간격과 동일하다. 예를 들면, 데이터 파이프가 1, 5, 9, 13 등의 프레임에 나타나면, 해당 필드의 값은 4로 설정된다. 모든 프레임에 나타나는 데이터 파이프에 대해, 해당 필드의 값은 1로 설정된다.
DP_TI_BYPASS: 해당 1비트 필드는 타임 인터리버(5050)의 가용성을 결정한다. 데이터 파이프에 대해 타임 인터리빙이 사용되지 않으면, 해당 필드 값은 1로 설정된다. 반면, 타임 인터리빙이 사용되면, 해당 필드 값은 0으로 설정된다.
DP_FIRST_FRAME_IDX: 해당 5비트 필드는 현 데이터 파이프가 발생하는 슈퍼 프레임의 첫 번째 프레임의 인덱스를 나타낸다. DP_FIRST_FRAME_IDX의 값은 0에서 31 사이다.
DP_NUM_BLOCK_MAX: 해당 10비트 필드는 해당 데이터 파이프에 대한 DP_NUM_BLOCKS의 최대값을 나타낸다. 해당 필드의 값은 DP_NUM_BLOCKS와 동일한 범위를 갖는다.
DP_PAYLOAD_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드 데이터의 타입을 나타낸다. DP_PAYLOAD_TYPE은 아래의 표 19에 따라 시그널링 된다.
Figure pct00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure pct00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure pct00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure pct00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure pct00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure pct00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure pct00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure pct00027
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
Figure pct00028
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 16은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 16의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 17은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 17의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 17에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 18은 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 19는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 19에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
Figure pct00029
Figure pct00030
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure pct00031
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure pct00032
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure pct00033
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure pct00034
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure pct00035
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure pct00036
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure pct00037
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure pct00038
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK_Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK_Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK_Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 32에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure pct00039
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK_TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure pct00040
개의 셀이 판독된다. 구체적으로,
Figure pct00041
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure pct00042
, 열 인덱스
Figure pct00043
, 관련된 트위스트 파라미터
Figure pct00044
를 산출함으로써 실행된다.
Figure pct00045
여기서,
Figure pct00046
Figure pct00047
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure pct00048
에 의해 결정된다.
Figure pct00049
결과적으로, 판독될 셀 위치는 좌표
Figure pct00050
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
Figure pct00051
,
Figure pct00052
,
Figure pct00053
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure pct00054
Figure pct00055
보다 작거나 같을 것이다. 따라서,
Figure pct00056
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure pct00057
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure pct00058
타임 인터리빙 그룹의 수는 3으로 설정된다. 타임 인터리버의 옵션은 DP_TI_TYPE='0', DP_FRAME_INTERVAL='1', DP_TI_LENGTH='1', 즉 NTI=1, IJUMP=1, PI=1에 의해 PLS2-STAT 데이터에서 시그널링된다. 각각 Ncells = 30인 XFECBLOCK의 타임 인터리빙 그룹당 수는 각각의 NxBLOCK_TI(0,0) = 3, NxBLOCK_TI(1,0) = 6, NxBLOCK_TI(2,0) = 5에 의해 PLS2-DYN 데이터에서 시그널링된다. XFECBLOCK의 최대 수는 NxBLOCK_Group_MAX에 의해 PLS2-STAT 데이터에서 시그널링 되고, 이는
Figure pct00059
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
Figure pct00060
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure pct00061
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
Figure pct00062
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른 베리어블 비트-레이트(variable bit-rate) 시스템을 나타낸 개념도이다.
본 발명의 일 실시예에 따른 베리어블 비트-레이트(variable bit-rate) 시스템은 상술한 (variable data-rate) 시스템의 다른 실시예이다.
구체적으로, 도 25에 도시된 하나의 전송 슈퍼 프레임은 NTI_NUM개의 TI 그룹들로 구성되며, 각 TI 그룹은 N BLOCK_TI 개의 FEC 블록들을 포함할 수 있다.
이 경우, 각 TI 그룹에 포함된 FEC 블록의 개수는 서로 다를 수 있다. 본 발명의 일 실시예에 따른 TI 그룹은 타임 인터리빙을 수행하기 위한 블록으로 정의될 수 있으며, 상술한 TI 블록 또는 IF와 동일한 의미로 사용될 수 있다. 즉, 하나의 IF는 적어도 하나 이상의 TI 블록을 포함할 수 있으며, TI 블록에 포함된 FEC 블록의 개수는 가변적이다
구체적인 내용은 이미 설명한 바와 같다.
본 발명에서는 TI 그룹 내에 포함된 FEC 블록들의 개수가 서로 다른 경우, 하나의 트위스티드 로-컬럼 블록 인터리빙 룰(twisted row-column block interleaving rule)을 이용하여 TI 그룹들에 대한 인터리빙을 수행하는 것을 일 실시예로 할 수 있다. 이를 통해 수신기는 단일 메모리를 사용하여 디인터리빙을 수행할 수 있다.
이하에서는 매 TI 그룹마다 FEC 블록 개수가 변할 수 있는 베리어블 비트-레이트 (variable bit-rate, VBR) 전송을 고려한 입력 FEC block의 메모리 배열 방법 및 타임 인터리버의 리딩 (reading) 동작을 설명한다.
도 26은 본 발명의 블록 인터리빙의 라이팅(writing) 및 리딩 (reading) 오퍼레이션의 일 실시예를 나타낸다. 도 26은 다른 실시예에 해당한다. 구체적인 내용은 생략한다.
도 27는 본 발명의 일 실시예에 따른 블록 인터리빙을 나타낸 수학식이다.
도면에 도시된 수학식은 각 TI 그룹 단위로 적용되는 블록 인터리빙을 나타낸다. 수학식에 도시된 바와 같이, 시프트 밸류는 TI 그룹에 포함된 FEC 블록들의 개수가 홀수인 경우 및 짝수인 경우 각각 계산될 수 있다. 즉, 본 발명의 일 실시예에 따른 블록 인터리빙은 FEC 블록들의 개수를 홀수로 만든 후 시프트 밸류를 계산할 수 있다.
본 발명의 일 실싱예에 따른 타임 인터리버는 수퍼 프레임 내에서 가장 큰 FEC 블록 개수를 갖는 TI group을 기준으로 인터리빙과 관련된 파라미터들을 결정할 수 있다. 이를 통해 수신기는 단일 메모리 사용하여 디인터리빙을 수행할 수 있다.
이때, 결정된 FEC 블록을 가장 많이 포함하고 있는 TI 그룹의 FEC 블록 개수보다 적은 FEC 블록을 갖는 TI 그룹에 대해서는 부족한 FEC 블록의 개수에 해당하는 버츄얼 (virtual) FEC 블록들을 추가할 수 있다.
본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들은 실제 FEC 블록들 앞에 삽입될 수 있다. 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 하나의 트위스티드 로-컬럼 블록 인터리빙 룰(twisted row-column block interleaving rule)을 이용하여 TI 그룹들에 대한 인터리빙을 수행할 수 있다. 또한 본 발명의 일 실시예에 따른 타임 인터리버는 리딩(reading) 동작에서 버츄얼 (virtual) FEC 블록들에 해당되는 메모리-인덱스 (memory-index)가 발생하는 경우 상술한 스킵 오퍼레이션을 수행할 수 있다. 이후 라이팅 (writing) 동작 시, 입력된 TI 그룹의 FEC 블록들의 개수와 리딩 (reading)시 출력 TI 그룹의 FEC 블록들의 개수를 일치 시킨다. 결과적으로, 본 발명의 일 실시예에 따른 타임 인터리빙에 따르면, 수신기에서 효율적인 싱글-메모리 디인터리빙(single-memory deinterleaving)을 수행하기 위하여 버츄얼 (virtual) FEC 블록을 삽입하더라도 스킵 오퍼레이션을 통해 실제 전송되는 데이터-레이트의 손실은 발생하지 않을 수 있다.
도 28는 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들을 나타낸 도면이다.
도면의 좌측은 맥시멈 FEC 블록들의 개수와 TI 그룹에 포함된 실제 FEC 블록들의 개수 및 맥시멈 FEC 블록들의 개수와 실제 FEC 블록들의 개수간의 차이를 나타낸 파라미터 및 버츄얼 (virtual) FEC 블록들의 개수를 도출하기 위한 수학식을 나타낸다.
도면의 우측은 TI 그룹 내에 버츄얼 (virtual) FEC 블록들이 삽입된 실시예를 나타낸다. 이 경우 상술한 바와 같이 버츄얼 (virtual) FEC 블록들은 실제 FEC 블록의 앞에 삽입될 수 있디.
도 29은 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들이 삽입된 이후 리딩 (reading) 동작을 나타낸 수학식이다.
도면에 표시된 스킵 오퍼레이션은 리딩(reading) 동작에서 버츄얼 (virtual) FEC 블록들을 스킵하는 역할을 수행할 수 있다.
도 30은 본 발명의 일 실시예에 따른 타임 인터리빙의 프로세스를 나타낸 순서도이다.
본 발명의 일 실시예에 따른 타임 인터리버는 이니셜 밸류(initial value)를 셋업할 수 있다(S67000).
이후 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 실제 FEC 블록들을 라이팅 (writing)할 수 있다(S67100).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 템포럴 TI 어드레스(temporal TI address)를 생성할 수 있다(S67200).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 생성된 TI 리딩 어드레스 (reading address)의 가용성 (availiability)를 평가할 수 있다(S67300). 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 최종 TI 리딩 어드레스 (reading address)를 생성할 수 있다(S67400).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 실제 FEC 블록들을 리딩(reading)할 수 있다(S67500).
도 31은 본 발명의 일 실시예에 따른 시프트 밸류 및 맥시멈 TI 블록의 크기를 결정하는 과정을 나타낸 수학식이다.
본 도면은 TI 그룹이 2개이고, TI 그룹내의 셀의 개수는 30이고, 첫번째 TI 그룹에 포함된 FEC 블록의 개수가 5이고 두번째 TI 블록에 포함된 FEC 블록의 개수가 6인 경우의 실시예를 나타낸다. 맥시멈 FEC 블록의 개수는 6이 되나, 짝수이므로, 시프트 밸류를 구하기 위한 조정된 맥시멈 FEC 블록의 개수는 7이 될 수 있으며, 시프트 밸류는 4로 계산될 수 있다.
도 32 내지 도 34은 도 31에서 설명한 실시예의 TI 과정을 나타낸 도면이다.
도 32는 본 발명의 일 실시예에 따른 라이팅 (writing) 오퍼레이션을 나타낸다.
도 32는 도 31에서 설명한 두 개의 TI 그룹에 대한 라이팅 (writing) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 각각 2개 및 1개가 삽입된 경우의 라이팅 (writing) 오퍼레이션을 나타낸다. 상술한 바와 같이 조정된 맥시멈 FEC 블록의 개수는 7이므로, 첫번째 TI 그룹에는 두 개의 버츄얼(virtual) FEC 블록들이 삽입되며, 두번째 TI 그룹에는 한 개의 버츄얼(virtual) FEC 블록이 삽입된다.
도 33은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 각각 2개 및 1개가 삽입된 경우의 리딩 (reading) 오퍼레이션을 나타낸다. 이 경우, 버츄얼(virtual) FEC 블록들에도 실제 FEC 블록과 동일하게 리딩 (reading) 오퍼레이션이 수행될 수 있다.
도 34은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션에서 스킵 오퍼레이션이 수행된 결과를 나타낸다.
도면에 도시된 바와 같이 두 개의 TI 그룹내에는 버츄얼(virtual) FEC 블록들이 스킵될 수 있다.
도 35 내지 36은 도 32 내지 도 34에서 설명한 TI의 역과정인 타임 디인터리빙을 나타낸다. 구체적으로 도 35는 첫번째 TI 그룹에 대한 타임 디인터리빙을 나타내며 도 36은 두번째 TI 그룹에 대한 타임 디인터리빙을 나타낸다.
도 35는 본 발명의 일 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
이 경우, 도 31에서 설명한 파라미터는 동일하게 적용될 수 있다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 가운데 도시된 블록은 타임 디인터리버에 입력된 첫번째 TI 그룹을 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 첫번째 TI 그룹에 대해 스킵된 버츄얼(virtual) FEC 블록들을 고려하여 수행된 라이팅 (writing) 과정을 나타낸다.
도면에 도시된 바와 같이, TI 과정에서 스킵된 2 개의 버츄얼 (virtual) FEC 블록들은 정확한 리딩 (reading) 오퍼레이션을 위해 라이팅 (writing) 과정에서 복원될 수 있다. 이 경우, 스킵된 2 개의 버츄얼 (virtual) FEC 블록들의 위치 및 양은 임의의 알고리즘을 통해 추정될 수 있다.
도 36은 본 발명의 다른 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 가운데 도시된 블록은 타임 디인터리버에 입력된 두번째 TI 그룹을 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두번째 TI 그룹에 대해 스킵된 버츄얼(virtual) FEC 블록들을 고려하여 수행된 라이팅 (writing) 과정을 나타낸다.
도면에 도시된 바와 같이, TI 과정에서 스킵된 1 개의 버츄얼 (virtual) FEC 블록들은 정확한 리딩 (reading) 오퍼레이션을 위해 라이팅 (writing) 과정에서 복원될 수 있다. 이 경우, 스킵된 1 개의 버츄얼 (virtual) FEC 블록들의 위치 및 양은 임의의 알고리즘을 통해 추정될 수 있다.
도 37는 본 발명의 다른 실시예에 따른 타임 디인터리빙의 리딩 (reading) 오퍼레이션을 나타내는 수학식이다.
수신기에서 사용되는 TDI 시프트 밸류는 송신기에서 사용된 시프트 밸류에 의해 결정될 수 있으며, 스킵 오퍼레이션 (skip operation)은 송신부와 유사하게 리딩 (reading) 오퍼레이션에서 버츄얼 (virtual) FEC 블록들을 스킵하는 역할을 수행할 수 있다.
도 38는 본 발명의 일 실시예에 따른 타임 디인터리빙의 프로세스를 나타낸 순서도이다.
본 발명의 일 실시예에 따른 타임 디인터리버는 이니셜 밸류(initial value)를 셋업할 수 있다(S75000).
이후 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 실제 FEC 블록들을 라이팅 (writing)할 수 있다(S75100).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 템포럴 TDI 어드레스(temporal TDI address)를 생성할 수 있다(S75200).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 생성된 TDI 리딩 어드레스 (reading address)의 가용성 (availiability)를 평가할 수 있다(S75300). 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 최종 TDI 리딩 어드레스 (reading address)를 생성할 수 있다(S75400).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 실제 FEC 블록들을 리딩(reading)할 수 있다(S75500).
도 39 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링을 도시한 도면이다.
전술한 바와 같이, 본 발명에 따른 주파수 인터리버는 OFDM 심볼마다 다른 인터리빙 시퀀스를 사용하여 인터리빙을 수행하나, 주파수 디인터리버는 수신한 OFDM 심볼에 대하여 싱글 메모리 디인터리빙을 수행할 수 있다.
본 발명에서는, 한 프레임 내의 OFDM 심볼 수가 짝수인지 홀수인지에 무관하게 주파수 디인터리버가 싱글 메모리 디인터리빙을 수행할 수 있는 방법을 제안한다. 이를 위하여, OFDM 심볼 수가 짝수개인지 홀수개인지에 따라 전술한 주파수 인터리버의 구조가 다르게 운영될 수 있다. 또한, 이와 관련된 시그널링 정보가 전술한 프리앰블 및/또는 PLS(Physical Layer Signaling) 에 추가로 정의될 수 있다. 이를 통하여 OFDM 심볼의 개수가 짝수인 경우에 한정되지 않고, 언제든지 싱글 메모리 디인터리빙이 가능해질 수 있다.
여기서, PLS 는 매 프레임의 FSS(Frame Starting Symbol, FSS) 에 포함되어 전송될 수 있다. 또는 실시예에 따라, PLS 는 첫번째 OFDM 심볼에 포함되어 전송될 수 있다. 또는 PLS 존재여부에 따라, PLS 에 해당하는 시그널링은 프리앰블에 모두 포함되어 전송될 수 있다. 또는 프리앰블 및/또는 PLS 에 해당하는 시그널링 정보들은 부트 스트랩 정보에 포함되어 전송될 수도 있다. 부트 스트랩 정보는 프리앰블의 앞에 위치하는 정보 파트일 수 있다.
송신부의 주파수 인터리버에서 활용된 처리동작 등에 관한 정보로서, FI_mode 필드와 N_sym 필드가 있을 수 있다.
FI_mode 필드는 프리앰블에 위치할 수 있는 1 비트 필드일 수 있다. FI_mode 필드는 매 프레임의 FSS(Frame Starting Symbol) 또는 첫번째 OFDM 심볼에 사용된 인터리빙 스킴을 나타낼 수 있다.
FI_mode 필드가 지시하는 인터리빙 스킴에는 FI 스킴 #1 와 FI 스킴 #2 가 있을 수 있다.
FI 스킴 #1 은 송신측에서 주파수 인터리버가 FSS 에 대하여, 랜덤 쓰기(random writing) 동작 수행 후 선형 읽기(linear reading) 동작을 수행한 경우를 의미할 수 있다. 이 경우는 FI_mode 필드 값이 0 인 경우에 해당될 수 있다. PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값을 이용해, 메모리에 랜덤쓰기, 선형 읽기 동작을 수행할 수 있다. 여기서 선형 읽기란 순차적으로 읽어들이는 동작을 의미할 수 있다.
FI 스킴 #2 는 송신측에서 주파수 인터리버가 FSS 에 대하여, 선형 쓰기(linear writing) 동작 수행 후 랜덤 읽기(random reading) 동작을 수행한 경우를 의미할 수 있다. 이 경우는 FI_mode 필드 값이 1 인 경우에 해당될 수 있다. 마찬가지로, PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값을 이용해, 메모리에 선형쓰기, 랜덤읽기 동작을 수행할 수 있다. 여기서 선형 쓰기란 순차적으로 쓰는 동작을 수행하는 것을 의미할 수 있다.
또한, FI_mode 필드는 매 프레임의 FES(Frame Edge Symbol) 또는 마지막 OFDM 심볼에 사용된 인터리빙 스킴을 나타낼 수 있다. FES 에 적용되는 인터리빙 스킴은 PLS 에 의해 전송되는 N_sym 필드의 값에 따라 다르게 지시될 수 있다. 즉, OFDM 심볼 수가 홀수인지 짝수인지에 따라 FI_mode 필드가 지시하는 인터리빙 스킴이 달라질 수 있다. 두 필드들간의 관계는 미리 송수신측에 테이블로서 정의되어 있을 수 있다.
FI_mode 필드는 실시예에 따라 프리앰블 외에 프레임의 다른 부분에 정의되어 전송될 수 있다.
N_sym 필드는 PLS 파트에 위치할 수 있는 필드일 수 있다. N_sym 필드의 비트수는 실시예에 따라 가변적일 수 있다. N_sym 필드는 한 프레임에 포함된 OFDM 심볼의 개수를 지시할 수 있다. 이에 따라, 수신측에서는 OFDM 심볼의 개수가 짝수개인지 홀수개인지 파악할 수 있다.
전술한 한 프레임 내의 OFDM 심볼 수에 무관한 주파수 인터리버에 대응되는 주파수 디인터리버의 동작은 다음과 같다. 이 주파수 디인터리버는 제안된 시그널링 필드들을 활용하여 OFDM 심볼 수가 짝수인지 홀수인지 여부에 무관하게 싱글 메모리 디인터리빙을 수행할 수 있다.
주파수 디인터리버는 먼저, 프리앰블의 FI_mode 필드의 정보를 이용하여 FSS 에 대하여 주파수 디인터리빙을 수행할 수 있다. FSS 에 활용된 주파수 인터리빙 스킴이 FI_mode 에 의해 지시되기 때문이다.
주파수 디인터리버는 FI_mode 필드의 시그널링 정보와 PLS 의 N_sym 필드의 시그널링 정보를 이용하여, FES 에 대하여 주파수 디인터리빙을 수행할 수 있다. 이 때, 미리 정의된 테이블을 이용하여 두 필드간의 관계가 파악될 수 있다. 기 정의된 테이블에 대하여는 후술한다.
이 외의 심볼들의 전반적인 디인터리빙 과정은, 송신측의 인터리빙 과정의 역순으로 수행될 수 있다. 즉, 입력되는 연속된 한쌍의 OFDM 심볼에 대해서, 주파수 디인터리버는 하나의 인터리빙 시퀀스를 활용하여 디인터리빙을 수행할 수 있다. 여기서, 하나의 인터리빙 시퀀스는 해당 주파수 인터리버가 읽기&쓰기에 사용했던 인터리빙 시퀀스일 수 있다. 주파수 디인터리버는 그 인터리빙 시퀀스를 이용하여 역순으로 읽기&쓰기 과정을 수행할 수 있다.
허나, 본 발명에 따른 주파수 디인터리버는 더블 메모리를 사용하는 핑퐁(ping pong) 구조를 사용하지 않을 수 있다. 주파수 디인터리버는 연속된 입력 OFDM 심볼들에 대하여, 싱글 메모리를 활용해 디인터리빙을 수행할 수 있다. 이로써 주파수 디인터리버의 메모리 사용 효율성이 증대될 수 있다.
도 40 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FSS 를 위한 FI 스킴들을 도시한 도면이다.
전술한 FI_mode 필드와 N_sym 필드를 이용하여 주파수 인터리빙 과정에서 적용되는 인터리빙 스킴을 결정할 수 있다.
FSS 의 경우에 있어서, N_sym 필드가 지시하는 OFDM 심볼의 수가 짝수인 경우, FI_mode 필드 값에 무관하게 FI 스킴 #1 이 FSS 에 수행될 수 있다.
N_sym 필드가 지시하는 OFDM 심볼의 수가 홀수인 경우, FI_mode 필드가 0 의 값을 가지면, FI 스킴 #1 이 FSS 에 적용되고, 1 의 값을 가지면, FI 스킴 #2 가 FSS 에 적용될 수 있다. 즉, OFDM 심볼의 수가 홀수인 경우, 주파수 인터리빙에 있어 FI 스킴 #1 과 #2 가 번갈아가면서 FSS 에 적용될 수 있다.
도 41 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FES 를 위한 리셋 모드의 동작을 도시한 도면이다.
FES 에 대한 주파수 인터리빙에 있어서, 전술한 심볼 오프셋 생성기는 리셋 모드(Reset mode) 라는 새로운 개념을 도입할 수 있다. 리셋 모드는, 심볼 오프셋 생성기에 의해 발생되는 심볼 오프셋 값이 '0' 인 모드를 의미할 수 있다.
FES 에 대한 주파수 인터리빙에 있어서, 전술한 FI_mode 필드와 N_sym 필드를 이용하여 리셋 모드의 사용여부를 결정할 수 있다.
N_sym 필드가 지시하는 OFDM 심볼의 수가 짝수인 경우, FI_mode 필드의 값에 무관하게 심볼 오프셋 생성기의 리셋 모드는 동작하지 않을 수 있다(off).
N_sym 필드가 지시하는 OFDM 심볼의 수가 홀수인 경우, FI_mode 필드의 값이 0 일 경우 심볼 오프셋 생성기가 리셋 모드에 따라 동작할 수 있다(on). 또한, FI_mode 필드의 값이 1 일 경우 심볼 오프셋 생성기의 리셋 모드는 동작하지 않을 수 있다(off). 즉, OFDM 심볼의 수가 홀수인 경우, 주파수 인터리빙에 있어 리셋모드가 번갈아가며 온/오프 될 수 있다.
도 42 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 인터리버의 입력과 출력을 수학식으로 표시한 도면이다.
전술한 바와 같이, 각각의 메모리 뱅크-A 및 메모리 뱅크-B 의 OFDM 심볼 페어들은 전술한 인터리빙 과정에 의해 처리될 수 있다. 전술한 바와 같이, 인터리빙에는 하나의 메인 인터리빙 시드가 순환 천이(cyclic-shifting)되어 생성된 다양한 다른 인터리빙 시드가 활용될 수 있다. 여기서, 인터리빙 시드는 인터리빙 시퀀스라고 칭해질 수도 있다. 또한, 인터리빙 시드는 인터리빙 주소값(interleaving address value) 내지는 주소값(address value), 인터리빙 주소(interleaving address) 라고 칭해질 수 있다. 여기서, 인터리빙 주소값이라는 용어는 복수개의 주소값들의 집합의 의미로 복수의 대상을 지시하는데 사용될 수도 있고, 인터리빙 시드의 의미로 단수의 대상을 지시하는데 사용될 수도 있다. 즉 실시예에 따라, 인터리빙 주소값이라 함은 H(p) 의 각각의 주소값을 의미하거나, H(p) 자체를 의미할 수도 있다.
하나의 OFDM 심볼 내에서 인터리빙될 주파수 인터리빙의 입력은 Om,l 으로 표기될 수 있다(t50010). 여기서, 각각의 데이터 셀들은 xm,l,0, .... xm,l,Ndata-1 로 표기될 수 있다. p 는 셀 인덱스, l 은 OFDM 심볼 인덱스, m 은 프레임의 인덱스를 의미할 수 있다. 즉, xm,l,p 는 m 번째 프레임, l 번째 OFDM 심볼의 p 번째 데이터 셀을 의미할 수 있다. Ndata 는 데이터 셀들의 개수를 의미할 수 있다. Nsym 은 심볼(프레임 시그널링 심볼, 노말 데이터 심볼, 프레임 엣지 심볼)들의 개수를 의미할 수 있다.
전술한 동작에 의해 인터리빙을 거친 후의 데이터 셀들은 Pm,l 로 표기될 수 있다(t50020). 각각의 인터리빙된 데이터 셀들은 vm,l,0, .... vm,l,Ndata-1 로 표기될 수 있다. p, l, m 은 전술한것과 같은 인덱스 값을 가질 수 있다.
도 43 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, FI 스킴 #1 및 FI 스킴 #2 에 따른 주파수 인터리빙의 논리적 동작 매커니즘의 수학식을 나타낸다.
먼저, FI 스킴 #1 에 따른 주파수 인터리빙을 설명한다. 전술한 바와 같이, 각 메모리 뱅크의 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행될 수 있다.
짝수번째 심볼(j mod 2 = 0)에 대한 인터리빙 동작은 도시된 수학식(t51010)과 같이 수학적으로 기술될 수 있다. 입력 데이터 x 에 대하여, 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행되어 출력 v 를 얻을 수 있다. 여기서, p 번째 입력 데이터 x 는, H(p) 번째 출력 데이터 v 와 같아지도록 순서가 섞일 수 있다.
즉, 짝수번째 심볼(첫번째 심볼)에 대해서는, 인터리빙 시퀀스를 이용하여 랜덤 쓰기 과정이 먼저 수행된 후, 다시 이를 순차적으로 읽는 선형 읽기 과정이 수행될 수 있다. 여기서, 인터리빙 시퀀스(인터리빙 주소)는 PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값일 수 있다.
홀수번째 심볼(j mod 2 = 1)에 대한 인터리빙 동작은 도시된 수학식(t51020)과 같이 수학적으로 기술될 수 있다. 입력 데이터 x 에 대하여, 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행되어 출력 v 를 얻을 수 있다. 여기서, H(p) 번째 입력 데이터 x 는, p 번째 출력 데이터 v 와 같아지도록 순서가 섞일 수 있다. 즉, 짝수번째 심볼에 대한 인터리빙 처리와 비교했을 때, 인터리빙 시퀀스(인터리빙 주소)가 반대로(역으로, inverse) 적용될 수 있다.
*708즉, 홀수번째 심볼(두번째 심볼)에 대해서는, 순서대로 메모리에 데이터를 쓰는 선형쓰기 동작이 먼저 수행된 후, 다시 이를 인터리빙 시퀀스를 이용하여 랜덤하게 읽는 랜덤 읽기 과정이 수행될 수 있다. 마찬가지로, 인터리빙 시퀀스(인터리빙 주소)는 PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값일 수 있다.
먼저, FI 스킴 #2 에 따른 주파수 인터리빙을 설명한다.
FI 스킴 #2 에 따른 주파수 인터리빙의 경우, 짝/홀수번째 심볼에 대한 동작이 FI 스킴 #1 과 반대로 수행될 수 있다.
즉, 짝수번째 심볼에 대해서는 도시된 수학식(t51020)에 따라, 선형쓰기 동작 후, 랜덤 읽기 동작이 수행될 수 있다. 또한, 홀수번째 심볼에 대해서는 도시된 수학식(t51010)에 따라, 랜덤쓰기 동작 후, 선형 읽기 동작이 수행될 수 있다. 자세한 사항은, FI 스킴 #1 에서 설명한 것과 같다.
심볼 인덱스 l 은 0, 1, ... , Nsym-1, 셀 인덱스 p 는 0, 1, ... , Ndata-1 로 표현될 수 있다. 실시예에 따라 짝수번째 심볼과 홀수번째 심볼에 대한 주파수 인터리빙 방식이 서로 뒤바뀔 수 있다. 또한, 실시예에 따라, FI 스킴 #1 과 FI 스킴 #2 에 따른 주파수 인터리빙 방식이 서로 뒤바뀔 수 있다.
도 44 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
본 실시예에서, N_sym 필드는 한 프레임 내에 OFDM 개수가 짝수개임을 지시할 수 있다. 본 실시예에서, 하나의 프레임은 하나의 프리앰블과 8 개의 OFDM 심볼을 가지고 있음을 가정한다. 실시예에 따라 프리앰블 앞에 부트 스트랩 정보가 더 포함될 수 있다. 부트 스트랩 정보는 도시되지 않았다.
본 실시예에서, 한 프레임은 각각 하나의 FSS 와 FES 를 포함할 수 있다. 여기서, FSS 와 FES 의 길이는 같다고 가정한다. 또한, N_sym 필드의 정보는 PLS 파트에 포함되어 전송되므로, 주파수 디인터리버가 FSS 디코딩 후에 이를 확인할 수 있다. 또한, 본 실시예에서, FES 에 대한 동작이 수행되기 이전에 N_sym 필드에 대한 디코딩이 완료된다고 가정한다.
각각의 프레임의 FSS 에서, 심볼 오프셋 생성기의 값은 0 으로 리셋될 수 있다. 따라서, 각 첫번째, 두번째 심볼들은 같은 인터리빙 시퀀스에 의해 처리될 수 있다. 또한, 각 프레임의 시작마다 다시 #0 시퀀스가 동작에 사용될 수 있다. 그 이후 차례대로 #1, #2 시퀀스가 주파수 인터리버/디인터리버의 동작에 사용될 수 있다.
*717도 45 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
첫번째 프레임에서, 프리앰블의 FI_mode 필드로부터, FSS 가 어떠한 방식으로 인터리빙되었는지에 대한 정보를 얻을 수 있다. 본 실시예는 OFDM 심볼이 짝수개인 경우이므로 FI 스킴 #1 만 사용될 수 있다.
이 후, FSS 가 디코딩되어, N_sym 정보가 획득될 수 있다. N_sym 정보로부터 본 프레임의 심볼 개수가 짝수개임을 알 수 있다. 이 후, 주파수 디인터리버가 FES 를 디코딩하게 될 때, 획득된 FI_mode 정보와 N_sym 정보를 이용하여 디코딩이 수행될 수 있다. 심볼의 개수가 짝수개인 경우이므로, 심볼 오프셋 생성기는 전술한 리셋모드에 따라 동작하지 않는다. 즉, 리셋 모드는 오프(off)된 상태일 수 있다.
이 후 다른 프레임에 대해서도, 짝수개의 OFDM 심볼들이 포함되어 있으므로 주파수 디인터리버가 같은 방식으로 동작할 수 있다. 즉, FSS 에서 사용될 FI 스킴은 FI 스킴 #1 이며, FES 에서 사용될 리셋 모드는 오프(off) 된 상태일 수 있다.
도 46 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
본 실시예에서, N_sym 필드는 한 프레임 내에 OFDM 개수가 홀수개임을 지시할 수 있다. 본 실시예에서, 하나의 프레임은 하나의 프리앰블과 7 개의 OFDM 심볼을 가지고 있음을 가정한다. 실시예에 따라 프리앰블 앞에 부트 스트랩 정보가 더 포함될 수 있다. 부트 스트랩 정보는 도시되지 않았다.
본 실시예에서, 심볼의 개수가 짝수인 경우와 마찬가지로, 한 프레임은 각각 하나의 FSS 와 FES 를 포함할 수 있다. 여기서, FSS 와 FES 의 길이는 같다고 가정한다. 또한, N_sym 필드의 정보는 PLS 파트에 포함되어 전송되므로, 주파수 디인터리버가 FSS 디코딩 후에 이를 확인할 수 있다. 또한, 본 실시예에서, FES 에 대한 동작이 수행되기 이전에 N_sym 필드에 대한 디코딩이 완료된다고 가정한다.
각각의 프레임의 FSS 에서, 심볼 오프셋 생성기의 값은 0 으로 리셋될 수 있다. 또한 임의의 프레임의 FES 에서, FI_mode 필드와 N_sym 필드의 값에 따라 심볼 오프셋 생성기가 리셋모드에 따라 동작할 수 있다. 따라서, 임의의 프레임의 FES에서, 심볼 오프셋 생성기의 값이 0 으로 리셋되거나, 리셋되지 않을 수 있다. 이러한 리셋 과정은 매 프레임마다 교대로 수행될 수 있다.
도시된 첫번째 프레임의 마지막 심볼, FES 에서 심볼 오프셋 생성기의 리셋이 발생될 수 있다. 따라서, 인터리빙 시퀀스는 #0 시퀀스로 리셋될 수 있다. 따라서, 주파수 인터리버/디인터리버는 해당 FES 를 #0 시퀀스에 따라 처리할 수 있다(t54010).
다음 프레임의 FSS 에서는 심볼 오프셋 생성기가 다시 리셋되어 #0 시퀀스가 사용될 수 있다(t54010). 두번째 프레임(프레임 #1) 의 FES 에서는 리셋이 발생되지 않고, 다시 세번째 프레임(프레임 #2) 의 FES 에서는 리셋이 발생될 수 있다.
도 47 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
첫번째 프레임에서, 프리앰블의 FI_mode 필드로부터, FSS 가 어떠한 방식으로 인터리빙되었는지에 대한 정보를 얻을 수 있다. OFDM 심볼이 홀수개인 경우이므로 FI 스킴 #1 과 FI 스킴 #2 가 사용될 수 있다. 본 실시예의 첫번째 프레임에서는 FI 스킴 #1 이 사용되었다.
이 후, FSS 가 디코딩되어, N_sym 정보가 획득될 수 있다. N_sym 정보로부터 본 프레임의 심볼 개수가 홀수개임을 알 수 있다. 이 후, 주파수 디인터리버가 FES 를 디코딩하게 될 때, 획득된 FI_mode 정보와 N_sym 정보를 이용하여 디코딩이 수행될 수 있다. 심볼의 개수가 홀수개이고, FI 스킴#1 가 사용된 경우이므로, FI_mode 필드 값은 0임을 알 수 있다. FI_mode 가 0 이므로 심볼 오프셋 생성기는 전술한 리셋모드에 따라 동작할 수 있다. 즉, 리셋 모드는 온(on) 상태일 수 있다.
리셋모드에 따라 동작되어, 심볼 오프셋 생성기는 0 으로 리셋될 수 있다. 두번째 프레임에서 FI_mode 필드 값이 1 이므로, FI 스킴 #2 에 의해 FSS 가 처리되었음을 알 수 있다. 역시, N_sym 필드를 통해, 심볼의 개수가 홀수개임을 알 수 있다. 두번째 프레임의 경우에는 FI_mode 필드 값이 1 이고, 심볼 개수가 홀수개이므로 심볼 오프셋 생성기는 리셋모드에 따라 동작하지 않을 수 있다.
이러한 방식으로, FSS 에서 사용될 FI 스킴은 FI 스킴 #1 과 #2 가 번갈아가며 세팅될 수 있다. 또한, FES 에서 사용될 리셋 모드는 온(on) 과 오프(off) 가 번갈아가며 세팅될 수 있다. 실시예에 따라 매 프레임마다 세팅이 바뀌지 않을 수도 있다.
도 48 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 디인터리버의 동작을 도시한 도면이다.
주파수 디인터리버는 앞서 정의된 FI_mode 필드 및/또는 N_sym 필드의 정보를 이용하여 주파수 디인터리빙을 수행할 수 있다. 전술한 바와 같이 주파수 디인터리버는 싱글 메모리를 이용하여 동작할 수 있다. 기본적으로 주파수 디인터리빙은 송신단에서 수행한 주파수 인터리빙 과정의 역과정을 수행하여 원래의 데이터가 순서가 복원되도록 하는 과정일 수 있다.
전술한 것과 같이, FSS 에 대한 주파수 디인터리빙은 프리앰블의 FI_mode 필드 및 N_sym 필드를 이용하여 얻은 FI 스킴에 관한 정보를 기반으로 동작될 수 있다. FES 에 대한 주파수 디인터리빙은 FI_mode 필드와 N_sym 필드를 통해 리셋 모드의 동작 여부를 파악한뒤 그에 기반하여 동작될 수 있다.
즉, 입력되는 한쌍의 OFDM 심볼에 대하여, 주파수 디인터리버는 주파수 인터리버의 읽기/쓰기 동작의 역과정을 수행할 수 있다. 이 과정에서 하나의 인터리빙 시퀀스가 사용될 수 있다.
단, 전술한 바와 같이 주파수 인터리버는 더블 메모리를 사용하는 핑퐁 구조를 따르지만, 주파수 디인터리버는 싱글 메모리로 디인터리빙을 수행할 수 있다. 이 싱글 메모리 주파수 디인터리빙은 FI_mode 필드 및 N_sym 필드의 정보들을 이용하여 수행될 수 있다. 이 정보들을 통해, OFDM 심볼 개수에 영향을 받지 않고, 홀수개의 OFDM 심볼을 가진 프레임에 대해서도 싱글 메모리 주파수 디인터리빙이 가능할 수 있다.
본 발명에 따른 주파수 인터리버는 OFDM 심볼의 모든 데이터 셀들을 대상으로 주파수 인터리빙을 수행할 수 있다. 주파수 인터리버는 데이터 셀들을, 각 심볼의 가능한(available) 데이터 캐리어에 매핑시키는 동작을 수행할 수 있다.
본 발명에 따른 주파수 인터리버는 FFT 사이즈에 따라 다른 인터리빙 모드로 동작할 수 있다. 예를 들어, FFT 사이즈가 32K 인 경우, 주파수 인터리버는 전술한 FI 스킴 #1 과 같이 짝수번째 심볼에 대해서는 랜덤쓰기/선형읽기 동작을 수행하고, 홀수번째 심볼에 대해서는 선형쓰기/랜덤읽기 동작을 수행할 수 있다. 또한, FFT 사이즈가 16K 또는 8K 인 경우, 주파수 인터리버는 짝수/홀수에 무관하게 모든 심볼들에 대하여 선형읽기/랜덤쓰기 동작을 수행할 수 있다.
인터리빙 모드 전환을 결정하는 FFT 사이즈는 실시예에 따라 변경될 수 있다. 즉, 32K 및 16K 일 경우 FI 스킴 #1 과 같이 동작하고, 8K 일 경우 짝수/홀수에 무관한 동작을 수행할 수도 있다. 또한, 모든 FFT 사이즈에 대해 FI 스킴 #1 과 같이 동작할 수도 있고, 모든 FFT 사이즈에 대해 짝수/홀수에 무관한 동작을 수행할 수도 있다. 또한 실시예에 따라, 특정 FFT 사이즈에 대해서는 FI 스킴 #2 와 같이 동작할 수도 있다.
이러한 주파수 인터리빙은 전술한 인터리빙 시퀀스(인터리빙 주소)를 이용하여 수행될 수 있다. 인터리빙 시퀀스는 전술한대로 오프셋 값을 이용하여 다양하게 생성될 수 있다. 또한, 주소값 체크(address check) 가 수행되어 다양한 인터리빙 시퀀스가 생성될 수 있다.
도 49는 본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템은 방송 전송 장치(10), 컨텐츠 제공자(30), 컨텐츠 서버(50) 및 방송 수신 장치(100)를 포함한다.
컨텐츠 제공자(30)는 미디어 컨텐츠를 방송 전송 장치(10)와 컨텐츠 서버(50)에 제공한다.
방송 전송 장치(10)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 미디어 컨텐츠를 포함하는 방송 스트림을 전송한다. 방송 전송 장치(10)는 방송 전송 장치(10)의 제어부(미도시) 및 전송부(미도시)를 포함할 수 있다. 제어부는 방송 전송 장치(10)의 동작을 제어할 수 있다.
컨텐츠 서버(50)는 방송 수신 장치의 요청에 기초하여 미디어 컨텐츠를 전송한다.
방송 수신 장치(100)는 제어부(150), IP 송수신부(130) 및 방송 수신부(110)를 포함한다. 방송 수신 장치(100)는 제어부(150)를 통하여 IP 송수신부(130), 방송 수신부(110)의 동작을 제어한다. 방송 수신 장치(100)는 방송 수신부(110)를 통하여 미디어 컨텐츠를 포함하는 방송 스트림을 수신한다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 방송 수신부(110)는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다. 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 컨텐츠 서버(50)에 미디어 컨텐츠를 요청한다. 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 컨텐츠 서버로부터 미디어 컨텐츠를 수신한다. 방송 수신 장치(100)는 디코더를 통하여 미디어 컨텐츠를 디코딩한다.
도 50 내지 도 54를 통하여 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠 송수신을 설명하도록 한다.
도 50은 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠 송수신시스템의 구성을 보여준다.
본 명세서에서 사용하는 통신망은 IP(Internet Protocol)를 통해 인터넷에 접근하는 네트워크를 나타낸다. 구체적으로 통신망은 유니캐스트 및 멀티캐스트 중 적어도 어느 하나를 지원할 수 있다. 또한, 통신망은 계층 기술(로서 DSL(Digtall Subscrriber Line), 광통신, 케이블, 셀룰러(Cellular), 무선 네트워크, 및 위성을 이용할 수 있다. 특히, 통신망은 피지컬 레이어 기술(physical layer techonologies)로서 지상파 방송망을 사용하지 않을 수 있다. 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠의 송수신은 실제 미디어 컨텐츠를 포함하는 전송 패킷의 송수신과 미디어 컨텐츠 재생 정보의 송수신으로 나뉘어진다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보를 수신하고, 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 이때 미디어 컨텐츠 재생 정보는 미디어 컨텐츠 재생을 위해 필요한 정보를 나타낸다. 미디어 컨텐츠 재생 정보는 미디어 컨텐츠 재생을 위해 필요한 공간적 정보(spatial information) 및 시간적 정보(temporal information)중 적어도 어느 하나를 포함할 수 있다. 미디어 컨텐츠 재생 정보는 미디어 컨텐츠를 포함하는 전송 패킷을 수신하기 위해 필요한 정보를 포함할 수 있다. 구체적으로 미디어 컨텐츠 재생 정보는 미디어 컨텐츠를 포함하는 전송 패킷을 수신할 수 있는 주소를 포함할 수 있다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생한다.
구체적인 실시예에서 MMT 표준에 따라 미디어 컨텐츠가 통신망(broadband)를 통하여 송수신될 수 있다. 이때 컨텐츠 서버(50)는 미디어 컨텐츠 재생 정보를 포함하는 재생 정보 도큐먼트(Presentation Information document, PI document)를 전송한다. 또한 컨텐츠 서버(50)는 방송 수신 장치(100)의 요청에 기초하여 미디어 컨텐츠를 포함하는 MMT protocol(MMTP) packet을 전송한다. 방송 수신 장치(100)는 PI document를 수신한다. 방송 수신 장치(100)는 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 방송 수신 장치(100)는 미디어 컨텐츠를 포함하는 전송 패킷으로부터 미디어 컨텐츠를 추출한다. 방송 수신 장치(100)는 PI document에 기초하여 미디어 컨텐츠를 재생한다.
또 다른 구체적인 실시예에서 도 26의 실시예에와 같이 MPEG-DASH 표준에 따라 미디어 컨텐츠가 IP 네트워크를 통하여 송수신될 수 있다. 도 26에서 컨텐츠 서버(50)는 미디어 컨텐츠 재생 정보를 포함하는 미디어 재생 디스크립션(Media Presentation Descriptioon, MPD)을 전송한다. 단 구체적인 실시예에 따라서는 MPD는 컨텐츠 서버(50)가 아닌 다른 외부의 서버가 전송할 수 있다. 또한 컨텐츠 서버(50)는 방송 수신 장치(100)의 요청에 기초하여 미디어 컨텐츠를 포함하는 세그먼트(segment)를 전송한다. 방송 수신 장치(100)는 MPD를 수신한다. 방송 수신 장치(100)는 MPD에 기초하여 미디어 컨텐츠를 컨텐츠 서버에 요청한다. 방송 수신 장치(100)는 요청에 기초하여 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 방송 수신 장치(100)는 MPD에 기초하여 미디어 컨텐츠를 재생한다. 이를 위해 방송 수신 장치(100)는 제어부(150)에 DASH 클라이언트(client)를 포함할 수 있다. DASH 클라이언트는 MPD를 파싱(parsing)하는 MPD Parser, Segment를 파싱하는 Segment Parser, IP 송수신부(130)를 통하여 HTTP 요청 메시지를 전송하고 HTTP 응답 메시지를 수신하는 HTTP 클라이언트, 미디어를 재생하는 미디어 엔진(engine)을 포함할 수 있다. MPD에 대해서는 도 27 내지 도 29를 통하여 구체적으로 설명하도록 한다.
도 51은 본 발명의 일 실시예에 따른 MPD(Media Presentation Description)의 구조를 보여준다. 도 52는 본 발명의 일 실시예에 따른 MPD의 XML 신택스(syntax)를 보여준다. 도 53은 본 발명의 일 실시예에 따른 MPD의 피리어드(Period) 엘리먼트의 XML 신택스를 보여준다.
MPD는 피리어드(Period) 엘리먼트, 어뎁테이션 셋(Adaptation Set) 엘리먼트 및 레프리젠테이션(Representation) 엘리먼트를 포함할 수 있다.
피리어드 엘리먼트는 피리어드에 대한 정보를 포함한다. MPD는 복수의 피리어드에 대한 정보를 포함할 수 있다. 피리어드는 미디어 컨텐츠 재생(presentation)의 연속한 시간 구간을 나타낸다.
어뎁테이션 셋 엘리먼트는 어뎁테이션 셋에대한 정보를 포함한다. MPD는 복수의 어뎁테이션 셋에 대한 정보를 포함할 수 있다. 어뎁테이션 셋은 상호전환 가능한 하나 또는 그 이상의 미디어 컨텐츠 컴포넌트를 포함하는 미디어 컴포넌트의 집합이다. 어뎁테이션 셋은 하나 또는 그 이상의 레프리젠테이션을 포함할 수 있다. 어뎁테이션 셋 각각은 서로 다른 언어의 오디오를 포함하거나 서로 다른 언어의 자막을 포함할 수 있다.
레프리젠테이션 엘리먼트는 레프리젠테이션에 대한 정보를 포함한다. MPD는 복수의 레프리젠테이션에 대한 정보를 포함할 수 있다. 레프리젠테이션은 하나 또는 그 이상의 미디어 컴포넌트들의 구조화된 모음으로서, 동일한 미디어 컨텐츠 컴포넌트에 대하여 서로 달리 인코딩된 복수의 레프리젠테이션이 존재할 수 있다. 한편, 비트스트림 스위칭(bitstream switching)이 가능한 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 도중 업데이트된 정보에 기초하여 수신되는 레프리젠테이션을 다른 레프리젠테이션으로 전환할 수 있다. 특히 방송 수신 장치(100)는 대역폭의 환경에 따라 수신되는 레프리젠테이션을 다른 레플리젠테이션으로 전환할 수 있다. 레프리젠테이션은 복수의 세그먼트들로 분할된다.
세그먼트는 미디어 컨텐츠 데이터의 단위이다. 구체적으로 세그먼트는 미디어 컨텐츠 데이터의 전송 단위일 수 있다. 레프리젠테이션은 HTTP 1.1(RFC 2616)에서 정의된 HTTP GET 또는 HTTP partial GET method를 이용한 미디어 컨텐츠 수신기(30)의 요청에 따라 세그먼트 또는 세그먼트의 일부분으로 전송될 수 있다.
또한, 세그먼트는 복수의 서브세그먼트들을 포함하여 구성될 수 있다. 서브세그먼트는 세그먼트 레벨에서 인덱스될 수 있는 가장 작은 단위(unit)를 의미할 수 있다. 세그먼트는 초기화 세그먼트(Initialization Segment), 미디어 세그먼트(Media Segment), 인덱스 세그먼트(Index Segment), 비트스트림 스위칭 세그먼트(Bitstream Switching Segment) 등을 포함할 수 있다.
도 54는 본 발명의 일 실시예에 따른 방송 수신 장치가 IP 네트워크를 통하여 미디어 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보를 수신한다(S101). 구체적인 실시예에서 미디어 컨텐츠 재생 정보는 MPEG-DASH표준에 따른 MPD일 수 있다. 이때 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 MPD를 수신할 수 있다. 또 다른 구체적인 실시예에서 미디어 컨텐츠 재생 정보는 MMT 표준에 따른 PI document일 수 있다. 이때 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 PI document를 수신할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S103).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S105). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
위성, 케이블, 지상파 등의 방송망을 통하여 방송 스트림을 수신하는 방송 수신 장치(100)가 통신망(broadband)을 통하여 미디어 컨텐츠를 수신하기 위해서는 앞서 설명한 바와 같이 미디어 컨텐츠 재생 정보를 수신하는 것이 필요하다. 특히 방송망을 통하여 전송되는 컨텐츠와 효율적으로 연동되기 위해서는 미디어 컨텐츠 재생 정보가 방송 스트림을 통해서 전송되고 수신될 수 있어야 한다. 미디어 컨텐츠 재생 정보를 방송 스트림을 통해서 전송하는 경우, 컨텐츠 제공자 또는 방송사는 방송망을 통하여 제공되는 컨텐츠 정보와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠에 대한 정보를 통합하여 관리할 수 있기 때문이다. 또한 방송 수신 장치(100)는 방송 스트림을 지속적으로 수신하므로 미디어 컨텐츠 재생 정보를 방송 스트림을 통해서 전송하는 경우 방송 수신 장치(100)는 별도의 정보 요청 메시지 없이도 미디어 컨텐츠 재생 정보의 업데이트 유무를 신속히 파악할 수 있기 때문이다. 또한, 미디어 컨텐츠 재생 정보를 통하여 방송망을 통하여 제공되는 미디어 컨텐츠와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠에 대한 정보를 통합하여 시그널링하면, 방송 수신 장치는 미디어 컨텐츠 재생 정보에 기초하여 방송망을 통하여 제공되는 미디어 컨텐츠와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠 모두를 수신하고 재생할 수 있다. 따라서 방송 수신 장치의 효율성을 높이고 방송 수신 장치의 동작을 단순화할 수 있다.
도 55 내지 도 87을 통하여 통신망(broadband)이 아닌 방송망을 통하여 전송되는 방송 스트림을 이용하여 미디어 컨텐츠 재생 정보를 전송하고 수신하는 방법을 설명하도록 한다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송할 수 있다. 도 55 내지 도 56를 통하여 미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 여러 정보 테이블 중에서 미디어 컨텐츠 재생 정보 테이블을 식별할 수 있도록 하는 id 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 id_extension 엘리먼트를 포함할 수 있다. id_extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블 인스턴스를 식별하게 하는 식별자를 나타낼 수 있다. 이때 id_extension 필드는 미디어 컨텐츠 재생 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 서로 다른 미디어 컨텐츠 재생 정보를 포함하는 복수의 미디어 컨텐츠 재생 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다. id extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블과 연관된 방송 서비스를 식별하게 하는 서비스 식별자를 나타낼 수 있다. 이때 id_extension 엘리먼트는 program number, service id, source id 중 어느 하나를 나타낼 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 테이블의 버전을 나타내는 version 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 version 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 테이블의 업데이트 유무를 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 다른 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 된 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다. 또한 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 같은 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 되지 않은 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출 하지 않는다. 구체적인 실시예에서 version 엘리먼트의 값은 미디어 컨텐츠 재생 정보가 포함하는 version 엘리먼트의 값과 동일한 값을 가질 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자를 나타내는 미디어 컨텐츠 재생 정보 id 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자의 길이를 나타내는 미디어 컨텐츠 재생 정보 id_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보의 인코딩 방식을 나타내는 coding 엘리먼트를 포함할 수 있다. 이때 인코딩 방식을 나타내는 coding 엘리먼트는 미디어 컨텐츠 재생 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 인코딩 방식을 나타내는 coding 엘리먼트는 미디어 컨텐츠 재생 정보 테이블이 특정 알고리즘에 의하여 압축된 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보의 길이를 나타내는 byte_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 자체인 byte() 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 XML, HTML5 또는 비트스트림 형식일 수 있다.
도 55는 본 발명의 일 실시예에 따라 MPD를 MPD 정보 테이블 형태로 전송할 경우의 비트 스트림 신택스를 보여준다.
도 55의 실시예에서는 미디어 컨텐츠 재생 정보 테이블이 비트스트림 형태를 갖고, 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 따라서 도 55에서 미디어 컨텐츠 재생 정보 테이블은 MPD 정보 테이블로 지칭한다.
MPD 정보 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, private_section_length 필드, table_id_extension 필드, table_id_extension 필드, MPD_data_version 필드, section_number 필드, last_section_number 필드, MPD_id_length 필드, MPD_id_byte 필드, MPD_coding 필드, MPD_byte_length 필드, 및/또는 MPD_byte 필드 중에서 적어도 하나를 포함한다.
도 55의 실시예에서 table_id 필드는 MPD 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드는 ATSC A/65에서 정의된 reserved id값중 하나인 0xFA일 수 있다.
section_syntax_indicator 필드는 MPD 정보 테이블을 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. MPD 정보 테이블은 long 형식이 아니므로 section_syntax_indicator 필드는 ‘0’의 값을 갖는다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. MPD 정보 테이블은 private section에 해당하므로 private_indicator 필드는 ‘1’의 값을 갖는다.
private_section_length 필드는 private_section_length 필드 이후에 포함된 section의 길이를 나타낸다.
table_id_extension 필드는 MPD 정보 테이블을 통해 전송되는 MPD와 연관된 방송 서비스를 식별하는 식별자를 나타낸다. 이때 table_id_extension 필드는 program number, service id, 및/또는 source id 중 어느 하나를 나타낼 수 있다. 또 다른 실시예에서 table_id_extension 필드는 MPD를 식별하는 식별자를 나타낼 수 있다. 구체적으로 table_id_extension 필드는 MPD 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 table_id_extension 필드는 서로 다른 MPD를 포함하는 복수의 MPD 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다.
MPD_data_version 필드는 MPD 정보 테이블의 버전을 나타낸다. 이때 방송 수신 장치(100)는 mpd_data_version 필드에 기초하여 MPD 정보 테이블의 업데이트 유무를 판단할 수 있다. MPD_data_version 필드의 값은 MPD에 포함된 version 엘리먼트의 값과 동일할 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. MPD 정보 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 MPD 정보 테이블에 필요한 모든 섹션의 수신 여부를 판단한다.
MPD_id_bytes 필드는 MPD를 식별하는 식별자를 나타낸다.
MPD_id_length 필드는 MPD를 식별하는 식별자의 길이를 나타낸다.
MPD_coding 필드는 MPD의 인코딩 방식을 나타낸다. 이때 인코딩 방식을 나타내는 MPD_coding 필드는 MPD 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 MPD_coding 필드는 MPD 정보 테이블이 특정 알고리즘에 의하여 압축된 MPD를 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다. 구체적인 실시예에서 MPD_coding 필드의 값은 표 33과 같이 정의될 수 있다.
Value Designation
0x00 Plain text
0x01 Compressed by gzip
0x02-0x03 Reserved for future use
표 33의 실시예에서 MPD_coding 필드가 0x00의 값을 가질 경우, MPD 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낸다. MPD_coding 필드가 0x01의 값을 가질 경우, MPD 정보 테이블이 gzip 알고리즘에 의하여 압축된 MPD를 포함함을 나타낸다.
MPD_byte_length 필드는 MPD의 길이를 나타낸다.
MPD_byte() 필드는 MPD 정보 테이블에 포함된 MPD의 실제 데이터를 포함한다.
도 56은 본 발명의 일 실시예에 따라 방송 수신 장치가 MPD를 포함하는 정보 테이블에 기초하여 MPD를 추출하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S301).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출한다(S303). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트와 id_extension 엘리먼트가 조합된 정보에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 예컨대 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값과 id_extension 엘리먼트의 값이 조합된 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 추출한다(S305). 이때 미디어 컨텐츠 재생 정보가 압축되어 있는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보의 압축을 해제하여 미디어 컨텐츠 재생 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S307).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S309). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
컨텐츠 제공자 또는 방송사는 IP 네트워크가 아닌 방송망을 통하여 미디어 컨텐츠 재생 정보를 IP 데이터그램(Datagram)에 포함하여 전송할 수 있다. 이때 컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보를 포함하는 미디어 컨텐츠 재생 정보 테이블을 IP 데이터그램에 포함하여 전송할 수 있다. 도 57 내지 도 60을 통하여 미디어 컨텐츠 재생 정보를 IP 데이터그램(Datagram)에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보를 IP 데이터그램에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 IP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 IP 데이터그램으로 부터 미디어 컨텐츠 재생 정보를 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 IP 데이터그램으로 부터 미디어 컨텐츠 재생 정보 테이블을 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보는 UDP 페이로드(payload)에 포함될 수 있다. UDP 페이로드는 payload_type 필드와 payload 필드를 포함할 수 있다. payload_type필드는 payload 필드에 포함된 미디어 컨텐츠 재생 정보의 데이터 형태를 나타낸다. 이때 payload_type필드의 값은 payload 필드에 포함된 미디어 컨텐츠 재생 정보가 파일 그 자체임을 나타낼 수 있다. 구체적인 실시예에서 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우, payload_type 필드의 값은 payload 필드가 MPD를 그대로 포함함을 나타낼 수 있다. 또 다른 구체적인 실시예에서 미디어 컨텐츠 재생 정보가 PI document에 포함된 경우, payload_type필드의 값은 payload 필드가 PI document를 그대로 포함함을 나타낼 수 있다. 또한 payload_type필드의 값은 미디어 컨텐츠 재생 정보가 특수한 신택스 형태로 포함되어 있음을 나타낼 수 있다. 또한 payload_type필드의 값은 미디어 컨텐츠 재생 정보가 앞서 설명한 미디어 컨텐츠 재생 정보 테이블 형태로 포함되어 있음을 나타낼 수 있다.
payload 필드는 미디어 컨텐츠 재생 정보를 포함할 수 있다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송할 수 있다. 이때 미디어 컨텐츠 재생 정보 링크는 미디어 컨텐츠 재생 정보를 링크하여 미디어 컨텐츠 재생 정보를 수신할 수 있도록 한다. 이때 미디어 컨테츠 재생 정보 링크는 Uniform Resource Locator(URL) 형식일 수 있다. 도 57 내지 도 58을 통하여 미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보 링크를 추출할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 링크로부터 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 여러 정보 테이블 중에서 미디어 컨텐츠 재생 정보 테이블을 식별할 수 있도록 하는 id 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 id_extension 엘리먼트를 포함할 수 있다. id_extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블 인스턴스를 식별하게 하는 식별자를 나타낼 수 있다. 이때 id_extension 필드는 미디어 컨텐츠 재생 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 서로 다른 미디어 컨텐츠 재생 정보를 포함하는 복수의 미디어 컨텐츠 재생 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다. id extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블과 연관된 방송 서비스를 식별하게 하는 서비스 식별자를 나타낼 수 있다. 이때 id_extension 엘리먼트는 program number, service id, source id 중 어느 하나를 나타낼 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 테이블의 버전을 나타내는 version 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 version 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 테이블의 업데이트 유무를 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 다른 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 된 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다. 또한 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 같은 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 되지 않은 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출 하지 않는다. 구체적인 실시예에서 version 엘리먼트의 값은 미디어 컨텐츠 재생 정보가 포함하는 version 엘리먼트의 값과 동일한 값을 가질 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자를 나타내는 미디어 컨텐츠 재생 정보 id 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자의 길이를 나타내는 미디어 컨텐츠 재생 정보 id_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 링크의 길이를 나타내는 byte_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 링크 자체인 byte() 엘리먼트를 포함할 수 있다. 이때 미디어 컨텐츠 재생 정보 링크는 URL형식일 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 XML, HTML5 또는 비트스트림 형식일 수 있다.
도 57은 본 발명의 일 실시예에 따라 MPD 링크를 포함하는 MPD 링크 테이블을 보여준다.
도 57의 실시예에서는 미디어 컨텐츠 재생 정보 테이블이 비트스트림 형태를 갖고, 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 따라서 도 33에서 미디어 컨텐츠 재생 정보 테이블은 MPD 정보 테이블로 지칭한다. 또한 미디어 컨텐츠 재생 정보를 링크는 URL 형태이다. 따라서 미디어 컨텐츠 재생 정보를 링크 MPD_URL로 지칭한다.
MPD 정보 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, private_section_length 필드, table_id_extension 필드, table_id_extension 필드, MPD_data_version 필드, section_number 필드, last_section_number 필드, MPD_id_length 필드, MPD_id_byte 필드, MPD_URL_length 필드 및 MPD_URL_bytes 필드를 포함한다.
도 57의 실시예에서 table_id 필드는 MPD 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드는 ATSC A/65에서 정의된 reserved id값중 하나인 0xFA일 수 있다.
section_syntax_indicator 필드는 MPD 정보 테이블을 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. MPD 정보 테이블은 long 형식이 아니므로 section_syntax_indicator 필드는 O의 값을 갖는다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. MPD 정보 테이블은 private section에 해당하므로 private_indicator 필드는 1의 값을 갖는다.
private_section_length 필드는 private_section_length 필드 이후에 포함된 section의 길이를 나타낸다.
table_id_extension 필드는 MPD 정보 테이블을 통해 전송되는 MPD와 연관된 방송 서비스를 식별하는 식별자를 나타낸다. 이때 table_id_extension 필드는 program number, service id, source id 중 어느 하나를 나타낼 수 있다. 또 다른 실시예에서 table_id_extension 필드는 MPD를 식별하는 식별자를 나타낼 수 있다. 구체적으로 table_id_extension 필드는 MPD 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 table_id_extension 필드는 서로 다른 MPD를 포함하는 복수의 MPD 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다.
MPD_data_version 필드는 MPD 정보 테이블의 버전을 나타낸다. 이때 방송 수신 장치(100)는 mpd_data_version 필드에 기초하여 MPD 정보 테이블의 업데이트 유무를 판단할 수 있다. MPD_data_version 필드의 값은 MPD에 포함된 version 엘리먼트의 값과 동일할 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다.
last_section_number 필드는 마직막 섹션의 번호를 나타낸다. MPD 정보 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 MPD 정보 테이블에 필요한 모든 섹션의 수신 여부를 판단한다.
MPD_id_bytes 필드는 MPD를 식별하는 식별자를 나타낸다.
MPD_id_lengt 필드는 MPD를 식별하는 식별자의 길이를 나타낸다.
MPD_URL_length 필드는 MPD_URL의 길이를 나타낸다.
MPD_URL_byte() 필드는 MPD_URL 자체를 나타낸다.
도 58은 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생 정보 링크를 포함하는 미디어 컨텐츠 재생 정보 테이블에 기초하여 MPD를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S401).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 링크를 포함하는 미디어 컨텐츠 재생 정보 테이블을 추출한다(S403). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트와 id_extension 엘리먼트가 조합된 정보에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 예컨대 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값과 id_extension 엘리먼트의 값이 조합된 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보 링크를 추출한다(S405). 이때 미디어 컨텐츠 재생 정보 링크는 URL 형식일 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 링크에 기초하여 미디어 컨텐츠 재생 정보를 수신한다(S407).
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S409).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S411). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
도 59 내지 도 61의 실시예에서는 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 도 59는 본 발명의 일 실시예에 따라 IP 데이터그램(Datagram)에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 것을 보여준다.
도 59에서 보여지는 데이터 구조와 같이 도 59내지 도 61의 실시예에서 IP 데이터그램은 IP 페이로드에 UDP 데이터그램을 포함한다. 또한 UDP 데이터그램은 UDP 페이로드에 MPD 또는 MPD 정보 테이블을 포함한다. 이때 IP 데이터그램의 신택스는 도 36을 통하여 구체적으로 설명하도록 한다.
도 60은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램의 신택스를 보여준다.
UDP 페이로드는 MPD_payload_type 필드와 payload 필드를 포함한다. MPD_payload_type필드는 MPD_payload 필드에 포함된 MPD의 데이터 형태를 나타낸다. MPD_payload_type 필드의 값은 MPD_payload 필드가 MPD 자체를 포함함을 나타낼 수 있다. 또한 MPD_payload_type 필드의 값은 MPD_payload 필드가 MPD를 특수한 신택스 형태로 포함함을 나타낼 수 있다. 구체적으로 MPD_payload_type 필드의 값은 다음의 표 34와 같이 정의될 수 있다.
Value Designation
0x00 Not Specified
0x01 Syntax
0x02 MPD file as it is
0x03 MPD section
0x04 Reserved for future use
표 34의 실시예에서 MPD_payload_type 필드의 값이 0x01인 경우, MPD_payload 필드가 MPD를 특수한 신택스 형태로 포함함을 나타낸다. 또한 MPD_payload_type 필드의 값이 0x02인 경우, MPD_payload 필드가 MPD를 그대로 포함함을 나타낸다. 또한 MPD_payload_type 필드의 값이 0x03인 경우, MPD_payload 필드가 MPD를 앞서 설명한 MPD 정보 테이블 형태로 포함함을 나타낸다.
MPD_payload 필드는 MPD를 포함한다.
도 61은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램에 포함된 MPD 페이로드(payload)의 신택스를 보여준다.
MPD_coding 필드는 MPD 또는 MPD 정보 테이블의 인코딩 방식을 나타낸다. 이때 인코딩 방식을 나타내는 MPD_coding 필드는 MPD 페이로드가 별다른 압축 없이 MPD 또는 MPD 정보 테이블을 포함함을 나타낼 수 있다. 또한 MPD_coding 필드는 MPD 페이로드가 특정 알고리즘에 의하여 압축된 MPD 또는 MPD 정보 테이블을 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다. 구체적인 실시예에서 MPD_coding 필드의 값은 표 35과 같이 정의될 수 있다.
Value Designation
0x00 Plain text
0x01 Compressed by gzip
0x02-0x03 Reserved for future use
표 35의 실시예에서 MPD_coding 필드가 0x00의 값을 가질 경우, MPD 페이로드 가 별다른 압축 없이 MPD 또는 MPD 정보 테이블을 포함함을 나타낸다. MPD_coding 필드가 0x01의 값을 가질 경우, MPD 페이로드가 gzip 알고리즘에 의하여 압축된 MPD 또는 MPD 정보 테이블을 포함함을 나타낸다.
MPD_byte_length 필드는 MPD 또는 MPD 정보 테이블의 길이를 나타낸다.
도 62는 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함하는 IP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S501).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 IP 데이터그램을 추출한다(S503).
방송 수신 장치(100)는 제어부(150)를 통하여 IP 데이터그램으로부터 UDP 데이터그램을 추출한다(S505). 구체적으로 방송 수신 장치(100)는 IP 데이터그램의 페이로드로부터 UDP 데이터그램을 추출한다.
방송 수신 장치(100)는 제어부(150)를 통하여 UDP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보를 추출한다(S507). 구체적으로 방송 수신 장치(100)는 UDP 데이터그램의 페이로드로부터 미디어 컨테츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출한다. 구체적인 실시예에서 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이 압축되어 있는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이의 압축을 해제하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 UDP 데이터그램에 포함된 coding 필드에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이의 압축을 해제할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S507).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S509). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링(signaling) 테이블에 포함하여 전송할 수 있다. 도 63 내지 도 71을 통하여 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다. 이때 방송 정보 시그널링 테이블은 비트 스트림, HTML5 및 XML 형식 중 어느 하나의 형식일 수 있다.
구체적인 실시예에서 컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보의 전송 방법을 포함하는 디스크립터(descriptor)를 방송 정보 시그널링(signaling) 정보 테이블에 포함하여 전송할 수 있다.
이때 방송 정보 시그널링 정보 테이블은 ISO/IEC 13818-1 표준에서 정의하는 PSI(Program Specific Information) 테이블, ETSI EN 300 468 표준에서 정의하는 SI(System Information) 테이블 및 ATSC 표준에서 정의하는 PSIP(Program and System Information Protocol) 테이블 중 어느 하나일 수 있다. 특히 시그널링 정보 테이블은 방송 컨텐츠에 대한 정보를 시그널링하는 정보 테이블일 수 있다. 이때 방송 컨텐츠에 대한 정보는 구체적으로 방송 서비스에 대한 정보, 엘리먼터리(elementary) 스트림에 대한 및 이벤트에 대한 정보 중 어느 하나일 수 있다. 구체적으로 정보 테이블은 ATSC 표준 중 하나인 A/65에 정의된 Table 중 TVCT(Terrestrial Virtual Channel Table), EIT(Event Information Table), A/153에 정의된 Table 중 SMT(Service Map Table), ETSI EN 300 468 표준에서 정의하는 SDT(Service Description Table), EIT(Event Information Table) 및 ISO/IEC 13818-1 표준에서 정의하는 PMT(Program Map Table) 중 어느 하나일 수 있다.
디스크립터는 디스크립터를 식별하는 tag 엘리먼트를 포함할 수 있다.
또한 디스크립터는 디스크립터의 길이를 타나내는 length 엘리먼트를 포함할 수 있다.
또한 디스크립터는 디스크립터에 의하여 지정되는 방송 컨텐츠가 방송망뿐만아니라 IP 네트워크로 동시에 전송됨을 나타내는 simulcast_flag를 포함할 수 있다. 이때 방송 컨텐츠는 디스크립터에 의하여 지정되는 엘리멘터리 스트림, 디스크립터에 의하여 지정되는 서비스 및 디스크립터에 의하여 지정되는 이벤트 중 어느 하나일 수 있다. simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약하거나 방송 컨텐츠의 재생 끊김이 발생하는 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 이때 방송 수신 장치(100)는 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있음을 사용자에게 표시할 수 있다. 또한 방송 수신 장치(100)는 사용자의 입력에 기초하여 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 사용자의 입력이 있는 경우 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보의 버전을 나타내는 version 엘리먼트를 포함할 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 구체적인 전송 방법을 나타내는 transport_mode 엘리먼트를 포함할 수 있다. 이때 transport_mode 엘리먼트가 가지는 값은 디스크립터가 직접 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 디스크립터가 포함하는 링크주소를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있음을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보가 별도의 방송 스트림이 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 IP 데이터그램이 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이 세션 기반 전송 프로토콜에 의하여 전송됨을 나타낼 수 있다. 이때 세션 기반 전송 프로토콜은 File Delivery over Unidirectional Transport(FLUTE)일 수 있다. 또한 세션 기반 전송 프로토콜은 ALC(Asynchronous Layered Coding)/LCT (Layered Coding Transport) 일 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 전송 방법에 해당하는 구체적인 전송 정보를 포함하는 bootstrap_data 엘리먼트를 포함할 수 있다. 이때 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 자체를 포함할 수 있다. 이때 방송 수신 장치(100)는 디스크립터로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다.
또한 디스크립터가 포함하는 링크를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있는 링크를 포함할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 링크에 접속하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있다. 이때 링크는 복수일 수 있다. 또한 복수의 링크에 대한 우선순위가 존재할 수 있다. 이때 방송 수신 장치(100)는 우선 순위가 높은 링크부터 순차적으로 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 다운로드를 시도할 수 있다. 이때 링크는 Uniform Resource Locator(URL)일 수 있다.
또한 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보를 링크하는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 패킷의 식별자를 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data 엘리먼트는 정보 테이블의 테이블 아이디를 포함할 수 있다. 이때 정보 테이블은 앞서 설명한 미디어 컨텐츠 재생 정보 테이블일 수 있다.
또한 별도의 방송 스트림이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 방송 스트림의 식별자와 패킷의 식별자를 포함할 수 있다. 이때 방송 스트림이 MPEG2 TS 표준을 따르는 경우 방송 스트림의 식별자는 TS ID이고 패킷 식별자는 PID일 수 있다. 구체적으로 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data 엘리먼트는 정보 테이블의 테이블 아이디를 포함할 수 있다. 이때 미디어 컨텐츠 재생 정보를 포함하는 정보 테이블은 앞서 설명한 미디어 컨텐츠 재생 정보 테이블일 수 있다.
또한 IP 데이터그램이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보를 포함하는 IP 데이터그램을 다운로드 받을 수 있는 피지컬 레이어(physical layer)의 논리적 데이터 전송 채널의 식별자, IP 주소, 포트 번호, 소스 IP 주소의 포함여부를 나타내는 플래그, 소스 IP 주소, IP 주소 형식의 버전을 포함할 수 있다. 이때, 피지컬 레이어의 논리적 데이터 전송 채널은 피지컬 레이어 파이프라할 수 있다. 이때, 피지컬 레이어 파이프는 하나의 무선 주파수(Radio Frequency, RF) 채널을 내 논리적 데이터 전송 경로이다. 하나의 RF 채널은 하나 또는 복수의 피지컬 레이어 파이프를 포함할 수 있다. 피지컬 레이어 파이프는 데이터 파이프(Data Pipe, DP)로 지칭될 수 있다.
또한 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 세션 기반 전송 프로토콜 세션을 통하여 전송하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운로드 받을 수 있는 피지컬 레이어의 데이터 전송 채널의 식별자, 세션의 식별자, 세션의 IP 주소, 세션의 포트 번호, 세션의 소스 IP 주소 의 포함여부를 나타내는 플래그, 세션의 소스 IP 주소, IP 주소 형식의 버전을 포함할 수 있다. 앞서 기재한 바와 같이 세션 기반 전송 프로토콜은 FLUTE일 수 있다. 또한 세션 기반 전송 프로토콜은 ALC/LCT일 수 있다. 이때 세션 기반 전송 프로토콜이 FLUTE인 경우, 세션의 식별자는 FLUTE 세션의 식별자인 TSI일 수 있다.
도 63 내지 도 69의 실시예에서 MPD가 미디어 컨텐츠 재생 정보를 포함한다. 따라서 도 63 내지 도 69의 실시예에서 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 전송 방법을 포함하는 디스크립터를 MPD 디스크립터로 지칭한다. 또한 이때 MPD 디스크립터는 비트 스트림 형식 방송 정보 시그널링 정보 테이블에 포함된다.
도 63은 본 발명의 일 실시예에 따라 MPD를 전송하기 위한 MPD 디스크립터(descriptor)의 신택스를 보여준다.
MPD 디스크립터는 descriptor_tag 필드, descriptor_length 필드, MPD_version 필드, simulcast_flag 필드, MPD_vesrsion 필드, MPD_transport mode 필드 및 MPD_bootstrap_data 필드를 포함한다.
descriptor_tag 필드는 MPD descriptor의 식별자를 나타낸다.
descriptor_length 필드는 MPD descriptor의 길이를 나타낸다.
MPD_version 필드는 MPD의 버전을 나타낸다.
simulcast_flag 필드는 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크로 동시에 전송됨을 나타낸다. 이때 방송 컨텐츠는 MPD 디스크립터에 의하여 지정되는 엘리멘터리 스트림, MPD 디스크립터에 의하여 지정되는 서비스 및 MPD 디스크립터에 의하여 지정되는 이벤트 중 어느 하나일 수 있다. simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약하거나 방송 컨텐츠의 재생 끊김이 발생하는 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 이때 방송 수신 장치(100)는 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있음을 사용자에게 표시할 수 있다. 또한 방송 수신 장치(100)는 사용자의 입력에 기초하여 IP 네트워크를 통해 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 사용자의 입력이 있는 경우 IP 네트워크를 통해 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다.
MPD_transport mode 필드는 MPD, MPD 정보 테이블(MPD_Section) 또는 MPD 링크 테이블(MPD_URL_Section)의 구체적인 전송 방법을 나타낸다. 이때 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터가 직접 MPD를 포함함을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터가 포함하는 링크주소를 통하여 MPD. MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있음을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD 또는 MPD_URL을 포함함을 나타낼 수 있다. 이때 MPD_URL은 MPD를 다운로드 받을 수 있는 URL을 나타낸다. 이때 정보 테이블은 앞서 설명한 MPD 정보 테이블 일 수 있다. 또한 이때 정보 테이블은 앞서 설명한 MPD 링크 정보 테이블일 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 또는 MPD_URL을M 별도의 방송 스트림이 포함함을 나타낼 수 있다. 이때 정보 테이블은 앞서 설명한 MPD 정보 테이블 일 수 있다. 또한 이때 정보 테이블은 앞서 설명한 MPD 링크 정보 테이블일 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 IP 데이터그램이 포함함을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 FLUTE 혹은 ALC/LCT 등의 세션 기반 전송 프로토콜 세션을 통하여 전송함을 나타낼 수 있다. 구체적으로 MPD_transport mode 필드의 값은 다음의 표 36과 같이 할당될 수 있다.
Value Designation
0x00 The MPD is delivered in MPD_data_bytes()
0x01 The location of MPD, MPD_Section or MPD_URL_Section is identified in the URL carried in the MPD_URL.
0x02 The MPD or MPD_URL is delivered by section as separate tables (e.g., MPEG-2 private section) in same broadcast network
0x03 The MPD or MPD_URL is delivered by section as separate tables (e.g., MPEG-2 private section) in different broadcast network
0x04 The MPD, MPD_Section or MPD_URL_Section is delivered in IP datagrams
0x05 The MPD, MPD_Section or MPD_URL is delivered in FLUTE sessions(e.g. FLUTE, ALC/LCT etc)
0x06-0x07 Reserved for future use
표 36의 실시예에서 MPD_transport mode 필드가 가지는 값이 0x00인 경우 MPD_transport mode 필드는 MPD 디스크립터가 직접 MPD를 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x01인 경우 MPD_transport mode 필드는 MPD 디스크립터가 포함하는 링크주소를 통하여 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있음을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x02인 경우 MPD_transport mode 필드는 MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD 또는 MPD_URL를 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x03인 경우 MPD_transport mode 필드는 MPD를 별도의 방송 스트림이 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x04인 경우 MPD_transport mode 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 IP 데이터그램이 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x05인 경우 MPD_transport mode 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 전송 프로토콜 세션을 통하여 전송함을 나타낸다. 이때 전송 프로토콜은 FLUTE일 수 있다. 또한 이때 전송 프로토콜은 ALC/LCT일 수 있다.
MPD_bootstrap_data 필드는 MPD 혹은 MPD 정보 테이블 전송 방법에 따라 구체적인 전송 정보를 포함한다. 이에 대해서는 도 38 내지 도 43을 참조하여 구체적으로 설명하도록 한다.
도 64는 MPD 디스크립터가 MPD를 직접 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우. bootstrap_data는 MPD_data_length 필드와 MPD_data_byte 필드를 포함한다. MPD_data_length 필드는 MPD 데이터의 크기를 나타낸다. MPD_data_byte 필드는 MPD의 실제 데이터를 나타낸다. 이때 방송 수신 장치(100)는 MPD 디스크립터로부터 MPD를 추출할 수 있다.
도 65는 MPD 디스크립터가 MPD. MPD 정보 테이블 또는 MPD 링크 테이블을 저장하는 링크의 주소를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 포함하는 링크주소를 통하여 MPD를 다운 받을 수 있는 경우 bootstrap_data는 MPD_URL_length 필드와 MPD_URL 필드를 포함한다. MPD_URL_length 필드는 URL의 길이를 나타낸다. MPD_URL 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있는 URL을 나타낸다.
도 66은 MPD 디스크립터가 MPD를 포함하는 데이터 패킷의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD, MPD_URL을 포함하는 경우 bootstrap_data는 MPD_pid 필드를 포함한다. 이때 정보 테이블은 앞서 기재한 바와 같이 MPD 정보 테이블일 수 있다. 또한 이때 정보 테이블은 앞서 기재한 바와 같이 MPD 링크 정보 테이블일 수 있다. MPD_pid 필드는 MPD를 포함하는 패킷의 식별자를 나타낸다. 이때 방송 스트림이 MPEG-2 TS 표준을 따르는 경우 패킷의 식별자는 PID일 수 있다. 방송 수신 장치(100)는 MPD_pid 필드에 기초하여 MPD를 추출할 수 있다. 방송 수신 장치(100)는 MPD_pid 필드의 값으로 MPD 또는 MPD_URL을 포함하는 패킷을 식별하고, MPD 또는 MPD_URL를 포함하는 패킷으로부터 MPD 또는 MPD_URL을 추출할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data는 정보 테이블의 테이블 아이디를 나타내는 table_id 필드를 포함할 수 있다.
도 67은 MPD 디스크립터가 MPD를 포함하는 별도의 방송 스트림의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
별도의 방송 스트림이 MPD 또는 MPD_URL을 포함하는 경우 bootstrap_data는 transport_stream_id 필드와 MPD_pid 필드를 포함한다. transport_stream_id 필드는 MPD를 포함하는 방송 스트림의 식별자를 나타낸다. MPD_pid는 MPD 또는 MPD_URL을 포함하는 패킷의 식별자를 나타낸다. 이때 방송 스트림이 MPEG-2 TS 표준을 따르는 경우 방송 스트림의 식별자는 TS ID이고 패킷의 식별자는 PID일 수 있다. 방송 수신 장치(100)는 transport_stream_id 필드와 MPD_pid 필드에 기초하여 MPD 또는 MPD_URL을 추출할 수 있다. 방송 수신 장치(100)는 transport_stream_id 필드로 MPD 또는 MPD_URL을 포함하는 방송 스트림을 식별하고 MPD_pid 필드로 MPD를 포함하는 패킷을 식별할 수 있다. 이후 방송 수신 장치(100)는 MPD 또는 MPD_URL을 포함하는 패킷으로부터 MPD 또는 MPD_URL을 추출할 수 있다. 구체적인 실시예에서 MPD를 포함하는 패킷은 MPD 정보 테이블을 포함할 수 있다. 또 다른 구체적인 실시예에서 MPD_URL을 포함하는 패킷은 MPD 링크 정보 테이블을 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data는 정보 테이블의 테이블 아이디를 나타내는 table_id 필드를 포함할 수 있다.
도 68은 MPD 디스크립터가 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램에 대한 정보를 포함하는 경우 bootstrap_data 는 IP_version_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_IP_address 필드, destination_port_numebr 및 dataPipe_id 필드를 포함한다. dataPipe_id 필드는 피지컬 레이어의 데이터 전송 채널의 식별자를 나타낸다. 구체적으로 방송 수신 장치(100)는 해당 전송 채널을 통하여 특정 IP 데이터그램을 획득할 수 있다. IP_version_flag 필드는 IP 주소 형식의 버전을 나타낸다. source_IP_address_flag 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램의 소스 IP 주소의 포함여부를 나타낸다. destination_IP_address 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 다운로드 받을 수 있는 IP 주소를 나타낸다. destination_port_numebr 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 다운로드 받을 수 있는 포트 번호를 나타낸다. 방송 수신 장치(100)는 dataPipe_id 필드, destination_IP_address 필드 및 destination_port_numebr 필드에 기초하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다. 방송 수신 장치(100)는 dataPipe_id 필드에 기초하여 IP 데이터그램을 전송하는 피지컬 레이어의 데이터 채널을 식별하고, destination_IP_address 필드와 destination_port_numebr 필드에 기초하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 추출할 수 있다. 이후 방송 수신 장치(100)는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램으로부터 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다.
도 69는 MPD 디스크립터가 MPD를 전송하는 FLUTE 혹은 ALC/LCT 등 세션 기반전송 프로토콜 세션에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
미디어 컨텐츠 재생 정보를 FLUTE 혹은 ALC/LCT 등 세션 기반 전송 프로토콜 세션을 통하여 전송하는 경우 bootstrap_data는 IP_version_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_IP_address 필드, destination_port_numebr 필드, dataPipe_id 필드 및 flute_tsi 필드를 포함한다. IP_version_flag 필드는 IP 주소 형식의 버전을 나타낸다. source_IP_address_flag 필드는 MPD를 전송하는 FLUTE 세션의 소스 IP 주소의 포함여부를 나타낸다. destination_IP_address 필드는 MPD를 전송하는 FLUTE 세션의 IP 주소를 나타낸다. destination_port_numebr 필드는 MPD를 전송하는 FLUTE 세션의 포트 번호를 나타낸다. dataPipe_id 필드는 피지컬 레이어의 데이터 전송 채널의 식별자를 나타낸다. flute_tsi 필드는 MPD를 전송하는 FLUTE 세션의 식별자를 타낸다. 방송 수신 장치(100)는 dataPipe_id 필드, destination_IP_address 필드 및 destination_port_numebr, flute_tsi 필드를 사용하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 dataPipe_id 필드 값에 따라 피지컬 레이어의 데이터 전송 채널을 식별하고 flute_tsi 필드, destination_IP_address 필드 및 destination_port_numebr를 사용하여 MPD, MPD 정보 테이블, MPD 링크 정보 테이블을 추출할 수 있다.
도 70은 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링(signaling) 정보 테이블에 포함하여 전송하는 경우 방송 수신 장치가 미디어 컨텐츠 재생 정보를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S701).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보의 전송 방법이 포함된 디스크립터를 포함하는 정보 테이블을 추출한다(S703). 앞서 기재한바와 같이 이때 정보 테이블은 ISO/IEC 13818-1 표준에서 정의하는 Program Specific Information(PSI) 테이블, ETSI EN 300 468 표준에서 정의하는 System Information(SI) 테이블 및 ATSC 표준에서 정의하는 Program and System Information Protocol(PSIP) 테이블 중 어느 하나일 수 있다. 특히 정보 테이블은 방송 컨텐츠에 대한 정보를 시그널링하는 정보 테이블일 수 있다. 방송 컨텐츠에 대한 정보는 구체적으로 방송 서비스에 대한 정보, 엘리먼터리(elementary) 스트림에 대한 정보 및 이벤트에 대한 정보일 수 있다. 구체적으로 정보 테이블은 ATSC 표준 중 하나인 A/65에 정의된 Table 중 Terrestrial Virtual Channel Table(TVCT), Event Information Table(EIT), A/153에 정의된 Table 중 Service Map Table(SMT), ETSI EN 300 468 표준에서 정의하는 Service Description Table(SDT), Event Information Table(EIT) 및 ISO/IEC 13818-1 표준에서 정의하는 Program Map Table(PMT) 중 어느 하나일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 정보 테이블에서 미디어 컨텐츠 재생 정보의 전송 방법이 포함된 디스크립터를 추출한다(S705).
방송 수신 장치(100)는 제어부(150)를 통하여 정보 테이블에서 미디어 컨텐츠 재생 정보 전송 방법을 추출한다(S707). 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 구체적인 전송 방법을 나타내는 transport_mode 엘리먼트를 포함할 수 있다. 또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 방법에 따른 구체적인 전송 정보를 포함하는 bootstrap_data 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 transport_mode 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 방법을 식별하고, bootstrap_data 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 정보를 추출할 수 있다. 이때 미디어 컨텐츠 재생 정보의 전송 방법은 앞서 기재한 바와 같이 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우, 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우, 디스크립터가 포함하는 링크를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블를 다운 받을 수 있는 경우, 디스크립터를 포함하는 패킷과 다른 패킷이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우, 별도의 방송 스트림이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우, bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보를 포함하는 방송 스트림의 식별자와 패킷 식별자를 포함하는 경우, IP 데이터그램이 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블을 포함하는 경우 및 미디어 컨텐츠 재생 정보를 세션 기반 전송 프로토콜을 통하여 전송하는 경우 중 어느 하나일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 미디어 컨텐츠 재생 정보 테이블 전송 방법에 기초하여 미디어 컨텐츠 재생 정보를 획득한다(S709). 이때 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블을 획득할 수 있다. 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S711).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S713). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다. 이때 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는 경우 방송 스트림의 전송 안정 여부에 기초하여 미디어 컨텐츠를 재생할 수 있다. 이에 대해서는 도 71을 통하여 설명하도록 한다.
도 71은 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는 경우 방송 수신 장치가 방송 스트림 전송 안정 여부에 기초하여 미디어 컨텐츠를 재생하는 동작을 설명하는 흐름도이다.
방송 수신 장치(100)는 제어부(150)를 통하여 디스크립터에 의하여 지정된 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는지 판단한다(S901). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 디스크립터에 포함된 simulcast_flag 엘리먼트의 값이 1인지 판단할 수 있다.
디스크립터에 의하여 지정된 방송 컨텐츠가 IP 네트워크를 통해 전송되는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림 전송이 불안정 한지 판단한다(S903). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약한지 판단할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠의 재생 끊김이 발생하는지 판단할 수 있다.
방송 스트림 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S905).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S907). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
도 72는 MPEG-DASH 표준에 따라 IP 네트워크를 통해 전송되는 미디어 컨텐츠의 동기화 정보를 포함하는 방송 스트림 패킷의 신택스를 보여준다.
도 72의 실시예에에서 미디어 컨텐츠는 MPEG-DASH 표준에 따라 전송된다. 따라서 동기화 정보 패킷을 DASHTime 패킷이라 지칭하기로 한다.
DASHTime 패킷은 DASHTimePacket_identifier 필드, mpd_force_update 필드, period_switch_timer 필드, presentation_time 필드, 및 period_id 필드를 포함한다.
DASHTimePacket_identifier 필드는 DASHTime 패킷임을 식별하게 하는 식별자를 나타낸다.
mpd_force_update 필드는 동기화 정보 패킷은 재생 시간 동기화 이전에 MPD가 업데이트 되어야 함을 나타낸다.
period_switch_timer 필드는 DASHTime 패킷의 방송 스트림 기준 시간으로부터 동기화의 대상인 MPD의 Period 엘리먼트의 시작 시간까지 남은 시간을 나타낸다. switch_timer 필드의 값이 ‘0’인 경우 period_id필드에 의해서 식별되는 Period가 현재 액티브(active)상태이며 미디어 컨텐츠를 즉시 동기화해야 함을 나타낼 수 있다. switch_timer 필드의 값이 ‘0’이 아닌 경우 period_id필드에 의해서 식별되는 Period가 현재 액티브(active)상태가 아님을 나타낼 수 있다.
presentation_time 필드는 방송 컨텐츠와 동기화 될 IP 네트워크로 전송되는 미디어 컨텐츠의 자체 재생 시간을 나타낸다. 이때 presentation_time 필드의 값을 이용하여 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 동기화된 재생 시간을 획득할 수 있다. 이는 구체적으로 다음의 식을 이용한다.
MPT = (PT - PT0)/RC + (presentation_time- TimeOffset)/ SegmentBase.timescale
이때 MPT는 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 동기화된 재생 시간을 나타내고, PT0는 동기화 정보 패킷의 방송 스트림 기준 시간을 나타내고, PT는 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 방송 스트림 기준 시간을 나타내고, RC는 방송 스트림의 기준 클럭을 나타내고, presnetion_time은 presentation_time 필드의 값인 미디어 컨텐츠의 자체 재생 시간을 나타내고, TimeOffset은 DASHTime 패킷의 동기화 대상인 미디어 컨텐츠 재생 구간의 미디어 컨텐츠 재생 시작 시간을 나타내고, SegmentBase.timescale은 MPD의 timescale 엘리먼트의 값을 나타낸다.
period_id 필드는 MPD의 Period 엘리먼트를 식별하게 하고 MPD의 Period 엘리먼트의 id와 MPD의 URL을 포함한다. 방송 수신 장치(100)는 period_id를 통해 동기화의 대상인 미디어 컨텐츠와 미디어 컨텐츠의 재생 구간인 Period 엘리먼트를 식별할 수 있다.
도 72의 실시예에서와 같이 별도의 동기화 정보 패킷을 통하여 동기화 정보를 전송하는 경우, 방송 수신 장치(100)가 별도의 패킷을 수신하여만 미디어 컨텐츠와 방송 컨텐츠를 동기화할 수 있는 문제가 있다. 따라서 이를 해결하기 위하여 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더(header)는 각 엘레멘터리 스트림간의 동기화를 위하여 방송 컨텐츠 기준 시간을 포함하는 것이 보통이다. 예컨대 MPEG-2 TS 표준에 따른 방송 스트림의 패킷의 헤더는 PTS를 포함한다. 따라서 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 동기화 정보를 포함하여 전송한다면 방송 수신 장치(100)는 효율적으로 미디어 컨텐츠와 방송 컨텐츠 간의 동기화를 수행할 수 있다. 이에 대해서는 도 73과 도 74를 참조하여 구체적으로 설명하도록 한다.
비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더는 방송 컨텐츠와 동기화 될 미디어 컨텐츠의 자체 재생 시간을 나타내는 presentation_time 엘리먼트를 포함할 수 있다. 또한 동기화의 대상인 미디어 컨텐츠 재생 구간의 식별자를 나타내는 period_id 엘리먼트도 포함할 수 있다. 이와 함께 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 정보를 포함하는 것을 나타내는 id 엘리먼트도 포함할 수 있다.
도 73은 본 발명의 일 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 74는 본 발명의 또 다른 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 73과 도 74의 실시예에서 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더는 MPEG-DASH 표준에 따라 전송되는 미디어 컨텐츠와의 동기화를 위한 정보를 포함한다. 이때 동기화를 위한 정보를 DASHTime_private_data라 하기로 한다. DASHTime_private_data는 presentation_time 필드와 period_id 필드를 포함한다. presentation_time 필드는 방송 컨텐츠와 동기화되는 미디어 컨텐츠의 자체 재생 시간을 나타낸다. period_id 필드는 MPD의 Period 엘리먼트를 식별하게 하고 MPD의 Period 엘리먼트의 id와 MPD의 URL을 포함한다. 도 50의 실시예에서 DASHTime_private_data는 DASHTime_private_data가 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 정보를 포함하는 것을 나타내는 id 엘리먼트를 더 포함한다.
도 75는 본 발명의 일 실시예에 따라 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화 하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S1101).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠와 IP 네트워크를 통해 전송되는 미디어 컨테츠 간의 동기화를 위한 동기화 정보를 추출한다(S1103). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 동기화 정보 패킷으부터 동기화 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더로부터 동기화 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠를 수신한다(S1105).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠와 미디어 컨텐츠를 동기화한다(S1107).
방송 수신 장치(100)가 방송 컨텐츠 뿐만 아니라 IP 네트워크를 통해 미디어 컨텐츠를 수신하는 경우, 방송 컨텐츠와 미디어 컨텐츠의 연동의 효율성을 높이기 위해서는 방송 수신 장치(100)가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠에 접근할 수 있어야 한다.
미디어 컨텐츠 재생 정보가 방송 컨텐츠에 대한 정보를 포함하여 전송하는 방법에 대해서 도 76 내지 도 78을 참조하여 설명하도록 한다.
방송 수신 장치(100)가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠에 접근할 수 있도록 미디어 컨텐츠 재생 정보는 방송 컨텐츠를 식별할 수 있는 정보를 포함할 수 있다. 구체적으로 방송 컨텐츠를 포함하는 방송 스트림을 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠가 MPEG-2 TS 표준으로 전송되는 경우, 미디어 컨텐츠 재생 정보는 TSID를 포함할 수 있다. 또한 방송 컨텐츠를 포함하는 방송 서비스를 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠를 MPEG-2 TS 표준으로 전송하는 경우, 미디어 컨텐츠 재생 정보는 프로그램 번호(program number)를 포함할 수 있다. 또한 방송 컨텐츠를 ATSC 표준에 따라 전송하는 경우 source id와 가상 채널(virtual channel)의 채널 번호(channel number)를 포함할 수 있다. 또한 방송 컨텐츠를 DVB 표준에 따라 전송하는 경우 service id를 포함할 수 있다. 또한 방송 컨텐츠를 포함하는 패킷을 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠를 MPEG-2 TS 표준으로 전송하는 경우, 미디어 컨텐츠 재생 정보는 PID를 포함할 수 있다.
구체적인 실시예에서 미디어 컨텐츠 재생 정보는 방송 컨텐츠를 포함하는 방송 스트림을 식별할 수 있는 식별자, 방송 컨텐츠를 포함하는 방송 서비스를 식별할 수 있는 식별자 및 방송 컨텐츠를 포함하는 패킷을 식별할 수 있는 식별자가 하나로 조합된 식별자를 포함할 수 있다.
도 76는 방송 컨텐츠가 ATSC 표준에 따라 전송되는 경우 미디어 컨텐츠 재생 정보에 포함되는 방송 컨텐츠를 식별하는 정보의 형식을 보여준다.
도 77은 ATSC 표준에 따라 전송되는 방송 컨텐츠를 식별하는 정보를 포함하는 MPEG-DASH의 MPD의 예제를 보여준다.
도 76 내지 도 77의 실시예에서 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 엘리멘터리 스트림의 소스를 식별하는 SSID 및 패킷을 식별하는 PID를 조합한 것일 수 있다.
또한 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 프로그램 스트림을 식별하는 PNUM 및 패킷을 식별하는 PID를 조합한 것일 수 있다.
또한 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 가상 채널을 식별하는 CHNUM 및 패킷을 식별하는 PID를 조합한 것일 수 있다. 이때 가상 채널을 식별하는 CHUM은 메이저(major) 채널 번호와 마이너(minor) 채널 번호가 "-"로 이어진 형식일 수 있다.
도 78은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보를 수신한다(S1303).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠를 식별하는 정보를 추출한다(S1303).
방송 수신 장치(100)는 방송 수신부(110)와 제어부(150)를 통하여 방송 컨텐츠를 식별하는 정보에 기초하여 방송 컨텐츠를 수신한다(S1305). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다. 이때 방송 수신 장치(100)는 방송 컨텐츠를 식별하는 정보가 포함하는 방송 스트림의 식별자에 기초하여 방송 스트림을 수신할 수 있다. 방송 수신 장치(100)는 방송 스트림으로부터 방송 컨텐츠를 식별하는 정보에 기초하여 방송 컨텐츠를 추출한다. 이때 방송 수신 장치(100)는 방송 스트림으로부터 방송 컨텐츠를 식별하는 정보가 포함하는 방송 서비스의 식별자에 기초하여 방송 컨텐츠를 추출할 수 있다.
도 79 내지 도 81을 통해서 앞서 설명한 실시예들을 통하여 방송 수신 장치가 방송망을 통하여 미디어 컨텐츠 재생 정보를 수신하는 방법을 구체적으로 설명하도록 한다. 또한 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화하는 것을 구체적으로 설명하도록 한다.
도 79는 방송 수신 장치가 MPEG-2 TS 표준에 따라 방송 스트림을 전송하는 방송망을 통해서 MPEG-DASH의 MPD를 수신하는 것을 보여주는 블락도이다.
도 79의 실시예의 방송 수신 장치(100)의 제어부(150)는 PSI 파서(Parser), TS 필터(filter), TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS 필터는 방송 스트림으로 부터 특정 PID를 가지는 패킷을 추출한다.
PSI 파서는 Program Association Table(PAT)와 Progrma Map Table(PMT) 같은 PSI 테이블을 파싱하여 시그널링(signaling) 정보를 추출한다. 특히 구체적인 실시예에서 PSI 파서는 PMT에 포함된 MPD_descriptor를 추출할 수 있다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, TS/PES 디패킷타이저는 MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 TS/PES 디패킷타이저는 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
디코더는 비디오와 오디오를 디코딩한다.
도 80은 방송 수신 장치가 MPEG-2 TS 표준에 따라 전송되는 방송 스트림의 방송 컨텐츠와 통신망을 통해 전송되는 미디어 컨텐츠를 동기화하는 것을 보여주는 블락도이다.
도 80의 실시예의 방송 수신 장치(100)의 제어부(150)는 TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 동기화 정보를 추출한다. 이때 동기화 정보는 미디어 컨텐츠의 재생 시간과 MPD의 Period 엘리먼트를 식별하는 식별자 및 MPD URL을 포함할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
IP 송수신부(130)는 MPD에 기초하여 미디어 CDN 서버로부터 미디어 컨텐츠를 수신한다.
디코더는 수신된 미디어 컨텐츠를 동기화 정보에 기초하여 동기화하여 디코드한다.
도 81은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 81의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 채널 동기화부(Channel Synchronizer)(111), 채널 이퀄라이저(channel equalizer)(113) 및 채널 디코더(channel decoder)(115)를 포함한다.
채널 동기화부(110)는 방송 신호를 수신할 수 있는 기저 대역대(baseband)에서 디코딩이 가능하도록 심볼 주파수와 타이밍을 동기화한다.
채널 이퀄라이저(113)는 동기화된 방송 신호의 왜곡을 보상한다. 구체적으로 채널 이퀄라이저(113)는 멀티패스(multipath), 도플러 효과 등으로 인한 동기화된 방송 신호의 왜곡을 보상한다.
채널 디코더(115)는 왜곡이 보상된 방송 신호를 디코딩한다. 구체적으로 채널 디코더(115)는 왜곡이 보상된 방송 신호로부터 전송 프레임(transport frame)을 추출한다. 이때 채널 디코더(115)는 전진 에러 수정(Forward Error Correction, FEC)를 수행할 수 있다.
IP 송수신부(130)는 인터넷 망을 통해 데이터를 수신하고 전송한다.
제어부(150)는 시그널링 디코더(151), 전송 패킷 인터페이스(153), 광대역 패킷 인터페이스(155), 기저대역 동작 제어부(157), 공통 프로토콜 스택(Common Protocol Stack)(159), 서비스 맵 데이터베이스(161), 서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163), A/V 프로세서(165), 방송 서비스 가이드 프로세서(167), 어플리케이션 프로세서(169) 및 서비스 가이드 데이터 베이스(171)를 포함한다.
시그널링 디코더(151)는 방송 신호의 시그널링 정보를 디코딩한다.
전송 패킷 인터페이스(153)는 방송 신호로부터 전송 패킷을 추출한다. 이때 전송 패킷 인터페이스(153)는 추출한 전송 패킷으로부터 시그널링 정보 또는 IP 데이터그램 등의 데이터를 추출할 수 있다.
광대역 패킷 인터페이스(155)는 인터넷 망으로부터 수신한 데이터로부터 IP 패킷을 추출한다. 이때 광대역 패킷 인터페이스(155)는 IP 패킷으로부터 시그널링 데이터 또는 IP 데이터그램을 추출할 수 있다.
기저대역 동작 제어부(157)는 기저대역으로부터 방송 정보 수신 정보를 수신하는 것과 관련된 동작을 제어한다.
공통 프로토콜 스택(159)은 전송 패킷으로부터 오디오 또는 비디오를 추출한다.
A/V 프로세서(547)는 오디오 또는 비디오를 처리한다.
서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163)는 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링한다. 구체적으로 서비스 시그널링 채널 프로세싱 버퍼 및 파서(163)는 IP 데이터그램으로부터 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링할 수 있다.
서비스 맵 데이터 베이스(161)는 방송 서비스들에 대한 정보를 포함하는 방송 서비스 리스트를 저장한다.
A/V 프로세서(165)는 수신된 audio 및 video data에 대해 decoding 및 presentation을 처리한다.
서비스 가이드 프로세서(167)는 지상파 방송 서비스의 프로그램을 안내하는 지상파 방송 서비스 가이드 데이터를 처리한다.
어플리케이션 프로세서(169)는 방송 신호로부터 어플리케이션 관련 정보를 추출하고 처리한다.
서비스 가이드 데이터베이스(171)는 방송 서비스의 프로그램 정보를 저장한다.
앞서 방송 수신 장치(100)의 대략적인 구성과 동작을 설명하였다. 다만, 이는 전통적인 방송 수신 장치(100)의 동작과 전송 프로토콜에 초점이 맞추어있다. 다만, 하이브리드 방송 서비스를 수신하기 위해 방송 수신 장치(100)는 다양한 전송 프로토콜의 데이터를 처리할 수 있어야 한다. 도 82 내지 87을 통해서 하이브리드 방송 서비스를 수신하기 위한 방송 수신 장치(100)의 자세한 구성과 동작을 설명한다.
도 82는 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 82의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 방송 수신부(110)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 방송 수신부(110)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 방송 수신부(110)는 피지컬 레이어 모듈(119), 피지컬 레이어 IP 프레임 모듈(117)을 포함할 수 있다. 피지컬 레이어 모듈(119)는 방송망의 방송 채널을 통하여 방송 관련 신호를 수신하고 처리한다. 피지컬 레이어 IP 프레임 모듈(117)은 피지컬 레이어 모듈(119)로부터 획득한 IP 데이터그램 등의 데이터 패킷을 특정 프레임으로 변환한다. 예컨대, 피지컬 레이어 모듈(119)은 IP 데이터그램 등을 RS Fraem 또는 GSE 등으로 변환할 수 있다.
IP 송수신부(130)는 IP 송수신부(130)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 IP 송수신부(130)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. IP 송수신부(130)는 인터넷 접근 제어 모듈(131)을 포함할 수 있다. 인터넷 접근 제어 모듈(131)은 통신망(broadband)을 통하여 서비스, 컨텐츠 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치(100)의 동작을 제어한다.
제어부(150)는 제어부(150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(150)는 시그널링 디코더(151), 서비스 맵 데이터 베이스(161), 서비스 시그널링 채널 파서(163), 어플리케이션 시그널링 파서(166), 얼러트 시그널링 파서(168), 타겟팅 시그널링 파서(170), 타겟팅 프로세서(173), A/V 프로세서(165), 얼러팅 프로세서(162), 어플리케이션 프로세서(169), 스케쥴드 스트리밍 디코더(181), 파일 디코더(182), 사용자 요청 스트리밍 디코더(183), 파일 데이터베이스(184), 컴포넌트 동기화부(185), 서비스/컨텐츠 획득 제어부(187), 재분배 모듈(189), 장치 관리자(193) 및 데이터 쉐어링부(191) 중 적어도 어느 하나를 포함할 수 있다.
서비스/컨텐츠 획득 제어부(187)는 방송망 또는 통신망을 통해 획득한 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 데이터 획득을 위한 수신기의 동작을 제어한다.
시그널링 디코더(151)는 시그널링 정보를 디코딩한다.
서비스 시그널링 파서(163)는 서비스 시그널링 정보를 파싱한다.
어플리케이션 시그널링 파서(166)는 서비스와 관련된 시그널링 정보를 추출하고 파싱한다. 이때, 서비스와 관련된 시그널링 정보는 서비스 스캔과 관련된 시그널링 정보일 수 있다. 또한 서비스와 관련된 시그널링 정보는 서비스를 통해 제공되는 컨텐츠와 관련된 시그널링 정보일 수 있다.
얼러트 시그널링 파서(168)는 얼러팅 관련된 시그널링 정보를 추출하고 파싱한다.
타겟팅 시그널링 파서(170)는 서비스 또는 컨텐츠를 개인화(personalization)하기 위한 정보 또는 타겟팅 정보를 시그널링하는 정보를 추출하고 파싱한다.
타겟팅 프로세서(173)는 서비스 또는 컨텐츠를 개인화하기 위한 정보를 처리한다.
얼러팅 프로세서(162)는 얼리팅 관련된 시그널링 정보를 처리한다.
어플리케이션 프로세서(169)는 어플리케이션 관련 정보 및 어플리케이션의 실행을 제어한다. 구체적으로 어플리케이션 프로세서(169)는 다운로드된 어플리케이션의 상태 및 디스플레이 파라미터를 처리한다.
A/V 프로세서(161)는 디코딩된 오디오 또는 비디오, 어플리케이션 데이터 등에 기초하여 오디오/비디오의 렌더링 관련 동작을 처리한다.
스케쥴드 스트리밍 디코더(181)는 미리 방송사 등의 컨텐츠 제공업자가 정한 일정 대로 스트리밍 되는 컨텐츠인 스케쥴드 스트리밍을 디코딩한다.
파일 디코더(182)는 다운로드된 파일을 디코드한다. 특히 파일 디코더(182)는 통신망을 통하여 다운로드된 파일을 디코드한다.
사용자 요청 스트리밍 디코더(183)는 사용자 요청에 의하여 제공되는 컨텐츠(On Demand Content)를 디코드한다.
파일 데이터베이스(184)는 파일을 저장한다. 구체적으로 파일 데이터베이스(184)는 통신망을 통하여 다운로드한 파일을 저장할 수 있다.
컴포넌트 동기화부(185)는 컨텐츠 또는 서비스를 동기화한다. 구체적으로 컴포넌트 동기화부(185)는 스케쥴드 스트리밍 디코더(181), 파일 디코더(182) 및 사용자 요청 스트리밍 디코더(183) 중 적어도 어느 하나가 디코딩한 컨텐츠를 동기화한다.
서비스/컨텐츠 획득 제어부(187)는 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다.
재분배 모듈(189)은 방송망을 통하여 서비스 또는 컨텐츠를 수신하지 못하는 경우, 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나를 요청할 수 있다. 이때 외부의 관리 장치(300)는 컨텐츠 서버(50)일 수 있다.
장치 관리자(193)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(193)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있다. 또한 외부 장치는 방송 수신 장치(100)와 연결 및 데이터 교환이 가능할 수 있다.
데이터 쉐어링부(191)는 방송 수신 장치(100)와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
도 83은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 83의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 튜너(111) 및 피지컬 프레임 파서(113) 중 적어도 어느 하나를 포함할 수 있다.
튜너(111)는 방송망을 통해 전송되는 방송 신호를 수신한다. 또한 튜너(11)는 수신한 방송 신호를 피지컬 프레임 형태로 변환할 수 있다.
피지컬 프레임 파서(113)는 수신된 방송 신호의 피지컬 프레임으로부터 링크레이어 프레임을 추출한다.
IP 송수신부(130)는 IP 데이터를 수신하고 전송한다.
제어부(150)는 피지컬 레이어 제어부(251), 링크 레이어 프레임 파서(252), IP/UDP 데이터그램 필터(253), ROUTE(AL/LCT) 클라이언트(255), 타이밍 컨트롤(257), 시스템 클락(259), DTV 컨트롤 엔진(261), 사용자 입력 수신부(263), 시그널링 파서(265), 채널 맵 데이터베이스(267), HTTP 액세스 클라이언트(269), HTTP 액세스 캐쉬(271), DASH 클라이언트(273), ISO BMFF 파서(275), 미디어 디코더(277) 및 파일 데이터베이스(279) 중 적어도 어느 하나를 포함할 수 있다.
피지컬 레이어 제어부(251)는 방송 수신부(110)의 동작을 제어한다. 구체적으로 피지컬 레이어 제어부(251)는 방송 수신부(110)가 수신하는 방송 신호의 전송 파라미터들을 제어하여 방송 신호를 선택적으로 수신할 수 있다. 예컨대, 피지컬 레이어 제어부(251)는 튜너(111)가 수신하는 방송 신호의 주파수를 제어할 수 있다. 또한, 피지컬 레이어 제어부(251)는 피지컬 프레임 파서(113)를 제어하여 방송 신호로부터 링크 레이어 프레임을 추출할 수 있다.
링크 레이어 프레임 파서(252)는 방송 신호의 링크 레이어 프레임으로부터 링크 레이어 프레임의 페이로드에 해당하는 데이터를 추출한다. 구체적으로 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 링크 레이어 시그널링을 추출할 수 있다. 링크 레이어 시그널링은 링크 레이어를 통해서 방송 서비스를 시그널링한다. 이를 통해 방송 수신 장치(100)는 어플리케이션 레이어를 추출하지 않고도 방송 서비스에 관한 정보를 획득할 수 있다. 따라서 방송 수신 장치(100)는 빠르게 방송 서비스를 스캔하고, 방송 서비스를 전환할 수 있다. 또한 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 IP/UDP 데이터그램을 추출할 수 있다.
IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램으로부터 특정 IP/UDP 데이터그램을 추출한다. 방송망을 통한 데이터 전송 또는 통신망을 통한 멀티캐스트는 단방향(unidirection) 통신이므로 방송 수신 장치(100)는 자신이 필요한 데이터 이외의 데이터들을 수신한다. 따라서 방송 수신 장치(100)는 데이터 스트림으로부터 자신이 필요한 데이터를 추출하여 한다. IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램 스트림으로부터 방송 수신 장치(100)가 필요로하는 IP/UDP 데이터그램을 추출한다. 구체적으로 IP/UDP 데이터그램 필터(253)는 지정된 IP 주소 및 UDP 포트 번호에 해당하는 IP/UDP 데이터그램을 추출한다. 이때. IP 주소는 소스 주소 및 데스티네이션 주소 중 어느 하나를 포함할 수 있다.
ROUTE(AL/LCT) 클라이언트(255)는 어플리케이션 계층 전송 패킷을 처리한다. 구체적으로 ROUTE(ALC/LCT) 클라이언트(255)는 실시간 오브젝트 딜리버리(Real-time Objectuve delivery over Unidirectional Transport, ROUTE)에 기반한 ALC/LCT 패킷을 처리한다. ROUTE 프로토콜은 어플리케이션 계층(layer) 프로토콜로서 ALC/LCT 패킷을 이용하여 실시간 데이터를 전송하기 위한 프로토콜이다. 방송 수신 장치(100)는 ALC/LCT 패킷 으로부터 방송 서비스 시그널링 정보, NRT 데이터, 미디어 컨텐츠 중 적어도 어느 하나를 추출할 수 있다. 이때, 미디어 컨텐츠는 MPEG-DASH 형식일 수 있다. 구체적으로 미디어 컨텐츠는 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)으로 인캡슐레이션되어 MPEG-DASH 프로토콜을 통해 전송될 수 있다. 방송 수신 장치(100)는 ROUTE 패킷으로부터 MPEG-DASH 세그먼트를 추출할 수 있다. 또한, 방송 수신 장치(100)는 MPEG-DASH 세그먼트로부터 ISO BMFF 파일을 추출할 수 있다.
타이밍 컨트롤(257)는 미디어 컨텐츠 재생의 기준이 되는 시스템 타임 정보를 포함하는 패킷을 처리한다. 또한 타이밍 컨트롤(257)은 시스템 타임 정보에 기초하여 시스템 클럭을 제어할 수 있다.
시스템 클락(259)은 방송 수신 장치(100)의 동작의 기준이 되는 기준 클락(reference clock)을 제공한다.
DTV 컨트롤 엔진(261)는 각 구성 간의 인터페이스를 담당한다. 구체적으로 DTV 컨트롤 엔진(261)은 각 구성의 동작 제어를 위한 파라미터를 전달할 수 있다.
사용자 입력 수신부(263)는 사용자 입력을 수신한다. 구체적으로 상용자 입력 수신부(263)는 사용자의 리모트 컨트롤 입력, 키 입력 중 적어도 어느 하나를 수신할 수 있다.
시그널링 파서(265)는 방송 서비스에 대한 정보를 전달하여 방송 서비스를 시그널링하는 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출한다. 구체적으로 시그널링 파서(265)는 어플리케이션 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 시그널링 파서(265)는 링크 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다.
채널 맵 데이터베이스(267)는 방송 서비스의 채널 맵에 관한 정보를 저장한다. 구체적으로 시그널링 파서(265)는 방송 서비스에 관한 정보를 추출하여 채널 맵에 관한 정보를 채널 맵 데이터베이스(267)에 저장할 수 있다. 또한, DTV 컨트롤 엔진(261)은 채널 맵 데이터 베이스로부터 방송 서비스의 채널 맵에 관한 정보를 획득할 수 있다. 이때, 채널 맵에 관한 정보는 방송 서비스를 나타내는 채널 번호, 방송 서비스를 나타내는 방송 서비스의 이름 중 적어도 어느 하나를 포함할 수 있다.
HTTP 액세스 클라이언트(269)는 HTTP 데이터를 처리한다. 구체적으로 HTTP 액세스 클라이언트(269)는 HTTP를 사용하는 컨텐츠 서버(50)에게 요청을 전송하고, 컨텐츠 서버(50)로부터 요청에 대한 응답을 수신할 수 있다.
HTTP 액세스 캐쉬(271)는 HTTP 데이터를 캐시(cache)하여 HTTP 데이터의 처리 속도를 향상 시킨다.
DASH 클라이언트(273)는 MPEG-DASH 세그먼트를 처리한다. 구체적으로 DASH 클라이언트(273)는 통신망을 통해 수신되는 MPEG-DASH 세그먼트를 처리할 수 있다. 또한, 구체적으로 DASH 클라이언트(273)는 방송망을 통해 수신되는 방송 신호의 어플리케이션 레이어로부터 추출된 MPEG-DASH 세그먼트를 처리할 수 있다
ISO BMFF 파서(275)는 ISO BMFF 패킷을 처리한다. 구체적으로 ISO BMFF 파서(275)는 ISO BMFF 패킷으로부터 미디어 컨텐츠를 추출할 수 있다.
미디어 디코더(277)는 미디어 컨텐츠를 디코딩한다. 구체적으로 미디어 디코더(277)는 미디어 컨텐츠를 디코딩하여 미디어 컨텐츠를 재생할 수 있다.
파일 데이터베이스(279)는 방송 서비스를 위해 필요한 파일을 저장한다. 구체적으로 파일 데이터베이스(279)는 방송 신호의 어플리케이션 레이어로부터 추출된 파일을 저장할 수 있다.
방송 수신 장치(100)의 구체적인 동작에 대해서는 도 84 내지 도 86를 통해서 설명한다.
도 84는 방송 수신 장치(100)가 방송 서비스를 스캔하여 채널 맵을 생성하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 신호 수신 파라미터를 설정한다. 구체적으로 제어부(150)는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프(Physical Layer Pipe, PLP) 식별자 중 적어도 어느 하나를 설정할 수 있다. 이때, 피지컬 레이어 파이프는 하나의 무선 주파수(Radio Frequency, RF) 채널을 구분하는 논리적 데이터 전송 채널이다. 하나의 RF 채널은 하나 또는 복수의 피지컬 레이어 파이프를 포함할 수 있다. 피지컬 레이어 파이프는 데이터 파이프(Data Pipe, DP)로 지칭될 수 있다. 구체적인 실시예에서 제어부(150)는 복수의 방송 신호 수신 파라미터를 저장하는 주파수 테이블에 기초하여 방송 신호 수신 파라미터를 설정할 수 있다. 예컨대, 방송 수신 장치(100)는 주파수 테이블에 저장된 방송 신호 수신 파라미터를 순차적으로 설정하여 각각의 방송 신호 수신 파라미터에 해당하는 방송 신호를 순차적으로 수신한다. 이때, 주파수 테이블은 지역별 표준 또는 지역별 방송 환경에 따라 설정된 것일 수 있다.
방송 수신부(110)는 방송 신호 수신 파라미터에 기초하여 방송 신호를 수신한다(S2103). 구체적으로 방송 수신부(110)는 방송 신호 수신 파라미터에 해당하는 방송 신호를 수신한다. 방송 수신부(110)는 방송 신호를 디모듈레이팅하여 방송 신호의 피지컬 프레임을 추출할 수 있다.
제어부(150)는 방송 신호로부터 방송 서비스 시그널링 정보를 추출한다(S2105). 구체적으로 제어부(150) 방송 신호로부터 방송 서비스에 대한 정보를 신그널링하는 방송 서비스 시그널링 정보를 추출할 수 있다. 방송 서비스에 대한 정보는 방송 서비스를 식별하는 정보를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 식별하는 방송 서비스 식별자를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 방송 서비스의 이름을 포함할 수 있다. 또한 방송 서비스에 대한 정보는 방송 서비스 수신을 위한 정보를 포함할 수 있다. 방송 서비스 수신을 위한 정보는 방송 서비스 수신을 위해 방송 수신부 설정 위해 필요한 방송 신호 수신 파라미터를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 방송 스트림을 식별하는 방송 스트림 식별자를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 IP/UDP 데이터 그램을 식별하는 IP 주소 및 UDP 포트 번호를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 세션 기반 전송 프로토콜의 세션을 식별하는 세션 식별자를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 패킷 기반 전송 프로토콜의 패킷을 식별하는 패킷 식별자를 포함할 수 있다. 구체적으로 제어부(150)는 링크 레이어로부터 추출한 링크 레이어 시그널링의 방송 서비스 시그널링 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 제어부(150)는 어플리케이션 레이어로부터 방송 서비스 시그널링 정보를 추출할 수 있다. 앞서 설명한 바와 같이 제어부(150)가 링크 레이어로부터 방송 서비스 시그널링 정보를 수신하는 경우 방송 서비스 스캔 시간을 단축할 수 있다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 방송 서비스에 대한 정보를 저장하는 채널 맵을 생성한다(S2107). 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 제공하는 방송 서비스에 대한 정보에 따라 채널 맵을 생성한다. 채널 맵은 앞서 설명한 방송 서비스 각각을 식별하는 정보 및 방송 서비스 각각을 수신하기 위한 정보 중 적어도 어느 하나를 포함할 수 있다. 또한 제어부(150)는 생성한 채널 맵을 채널 맵 데이터베이스(267)에 저장할 수 있다. 방송 수신 장치(100)는 채널 맵에 기초하여 방송 서비스를 수신할 수 있다. 이에 대해서는 도 85를 통하여 설명한다.
도 85는 방송 수신 장치(100)가 방송 서비스를 수신하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 서비스 선택에 대한 사용자 입력을 수신한다(S2151). 제어부(150)는 사용자 입력부(263)를 통하여 방송 서비스 선택에 대한 사용자 입력을 수신할 수 있다. 구체적으로 제어부(150)는 방송 서비스를 보여주는 방송 서비스 리스트에서 사용자가 어느 하나의 방송 서비스를 선택하는 입력을 수신할 수 있다. 또한, 제어부(150)는 사용자가 리모트 컨트롤을 통해 채널 번호에 대한 사용자 입력을 수신할 수 있다.
제어부(150)는 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득한다(S2153). 구체적으로 제어부(150)는 채널 맵으로부터 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득할 수 있다. 앞서 설명한 바와 같이 방송 신호 수신 파라미터는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 포함할 수 있다.
제어부(150)는 방송 신호 수신 파라미터에 기초하여 방송 신호 수신을 설정한다. 구체적으로 제어부(150)는 방송 신호 수신 파라미터에 따라 방송 수신부(110)를 설정할 수 있다. 예컨대, 제어부(150)는 방송 수신부(110)의 방송 신호 수신 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 설정할 수 있다. 현재 수신 하고 있는 방송 신호의 방송 신호 수신 파라미터와 획득한 방송 신호 수신 파라미터가 동일한 경우, 이러한 동작은 생략될 수 있다.
방송 수신부(110)는 방송 신호 수신 설정에 기초하여 방송 신호를 수신한다(S2157). 구체적으로 방송 수신부(110)는 방송 신호를 수신하고 디모듈레이팅할 수 있다.
제어부(150)는 방송 신호에 기초하여 사용자가 선택한 방송 서비스에 대한 시그널링 정보를 획득한다(S2159). 앞서 설명한 바와 같이 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 또한 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 채널 맵이 방송 서비스 시그널링 정보로부터 추출한 방송 서비스에 대한 정보를 포함함에도 다시 방송 서비스 시그널링 정보를 획득하는 것은 채널 맵 생성 이후 방송 서비스에 대한 정보가 변경될 수 있기 때문이다. 또한, 채널 맵 생성시 채널 맵 생성을 위한 기본적인 정보만 획득하고 방송 서비스가 포함하는 컴포넌트에 대한 정보 또는 방송 서비스 재생을 위한 정보를 획득하지 않은 경우가 있을 수 있기 때문이다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 채널 맵을 갱신한다. 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 변경된 경우, 채널 맵을 갱신할 수 있다. 구체적인 실시예에서 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보와 방송 서비스 시그널링 정보 정보가 다른 경우 채널 맵을 갱신할 수 있다. 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보의 버전 정보와 방송 서비스 시그널링 정보의 버전 정보를 비교하여 방송 서비스 시그널링 정보가 변경된 경우 채널 맵을 갱신할 수 있다.
제어부(150)는 채널 맵에 기초하여 방송 서비스가 포함하는 미디어 컴포넌트를 수신한다(S2163). 채널 맵은 미디어 컴포넌트 수신에 관한 정보를 포함할 수 있다. 구체적으로 채널 맵은 미디어 컴포넌트를 수신하기 위한 정보를 포함할 수 있다. 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 수신하기 위한 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 예컨대, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. IP/UDP 데이터그램을 식별할 수 있는 정보는 IP 주소 및 UDP 포트 번호 중 적어도 어느 하나를 포함할 수 있다. 이때, IP 주소는 소스 주소와 데스티네이션 주소 중 적어도 어느 하나를 포함할 수 있다. 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보는 세션을 식별하는 세션 식별자를 포함할 수 있다. 구체적으로 세션 식별자는 ALC/LCT 세션의 TSI일 수 있다. 또 다른 구체적인 실시예에서, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 패킷 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 수신할 수 있다. 이에 대해서는 도 86을 통해서 설명한다.
도 86은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 획득하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보를 획득한다(S2201). 방송 수신 장치(100)는 앞서 설명한 것과 같이 방송 신호의 시그널링 메시지를 통해서 미디어 컨텐츠 재생 정보를 획득할 수 있다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트에 대한 정보를 획득한다(S2203). 미디어 컴포넌트에 대한 정보는 앞서 설명한 미디어 컴포넌트 수신을 위한 정보를 포함할 수 있다. 또한 미디어 컨텐츠 재생 정보는 방송 서비스와 방송 서비스가 포함하는 미디어 컴포넌트에 대한 정보를 포함할 수 있다.
방송 수신 장치(100)는 미디어 컴포넌트에 대한 정보에 기초하여 미디어 컴포넌트를 수신한다(S2205). 방송 수신 장치(100)는 방송망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 통신망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 복수의 미디어 컴포넌트 중 어느 하나는 방송망을 통하여 수신하고, 다른 미디어 컴포넌트는 통신망을 통하여 수신할 수 있다. 예컨대, 방송 수신 장치(100)는 방송망을 통하여 비디오 컴포넌트를 수신하고, 통신망을 통하여 오디오 컴포넌트를 수신할 수 있다.
다시 도 85를 통해 방송 수신 장치(100)의 동작을 설명한다.
제어부(150)는 미디어 컴포넌트에 기초하여 방송 서비스를 재생한다(S2165).
도 87 내지 도 88를 통해서는 하이브리드 방송에서 사용하는 전송 프레임을 설명한다.
도 87은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 87의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP’s) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 87의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 87의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 87의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 87의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 87의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 87의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 107을 통해 설명하도록 한다.
도 88은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 88의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP’s) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 87의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 컴포넌트 정보를 포함할 수 있다. 방송 수신 장치(100)는 FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다. 고속 정보를 링크 레이어 시그널링이라 일컬을 수 있다. 방송 수신 장치(100) 어플리케이션 레이어를 파싱하지 않고, 링크 레이어 만을 파싱하여 방송 서비스 정보 및 컴포넌트 정보를 획득할 수 있기 때문이다.
도 89는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다. 구체적으로 도 89는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 헤더의 신택스를 나타낼 수 있다. 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 헤더와 시그널링 메시지를 포함할 수 있다. 이때 시그널링 메시지는 바이너리 또는 XML 포맷으로 표현될 수 있다. 또한, 서비스 시그널링 메시지는 전송 프로토콜 패킷의 페이로드에 포함될 수 있다.
도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지를 식별하는 식별자 정보를 포함할 수 있다. 예를 들어, 시그널링 메시지가 섹션 형태일 수 있다. 이 경우, 시그널링 메시지의 식별자 정보는 시그널링 테이블 섹션의 식별자(ID)를 나타낼 수 있다. 시그널링 메시지의 식별자 정보를 나타내는 필드는 singnaling_id일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 길이를 나타내는 길이 정보를 포함할 수 있다. 시그널링 메시지의 길이 정보를 나타내는 필드는 signaling_length일 수 있다. 구체적인 실시 예에서 signaling_length 필드는 12비트일 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 식별자를 확장하는 식별자 확장 정보를 포함할 수 있다. 이때, 식별자 확장 정보는 시그널링 식별자 정보와 함께 시그널링을 식별하는 정보일 수 있다. 시그널링 메시지의 식별자 확장 정보를 나타내는 필드는 signaling_id_extension일 수 있다.
이때, 식별자 확장 정보는 시그널링 메시지의 프로토콜 버전 정보를 포함할 수 있다. 시그널링 메시지의 프로토콜 버전 정보를 나타내는 필드는 protocol_version일 수 있다. 구체적인 실시 예에서 protocol_version 필드는 8비트일 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 버전 정보를 포함할 수 있다. 시그널링 메시지의 버전 정보는 시그널링 메시지가 포함하는 내용이 변경되면 변경될 수 있다. 시그널링 메시지의 버전 정보를 나타내는 필드는 version_number일 수 있다. 구체적인 실시 예에서 version_number 필드는 5비트일 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지가 현재 가용한지 여부를 나타내는 정보를 포함할 수 있다. 시그널링 메시지의 가용여부를 나타내는 필드는 current_next_indicator일 수 있다. 구체적인 예를 들면, current_next_indicator 필드가 1인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 가능함을 나타낼 수 있다. 또 다른 예를 들면, current_next_indicator 필드가 0인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 불가하며, 이후 동일한 시그널링 식별자 정보, 시그널링 식별자 확장 정보 또는 프래그멘트 넘버 정보를 포함하는 또 다른 시그널링 메시지가 이용 가능함을 나타낼 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 프래그멘트(Fragment) 넘버 정보를 포함할 수 있다. 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송될 수 있다. 따라서, 수신기가 나뉘어진 복수의 프래그멘트를 식별하기 위한 정보가 프래그멘트 넘버 정보일 수 있다. 프래그멘트 넘버 정보를 나타내는 필드는 fragment_number 필드일 수 있다. 구체적인 실시 예에서 fragment_number 필드는 8비트일 수 있다.
또한, 도 89의 실시 예에 따른 시그널링 메시지 헤더는 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송되는 경우, 마지막 프래그멘트의 넘버 정보를 포함할 수 있다. 예를 들면, 마지막 프래그멘트 넘버에 대한 정보가 3을 나타내는 경우, 시그널링 메시지가 3개로 나뉘어져 전송됨을 나타낼 수 있다. 또한, 3을 나타내는 프래그멘트 넘버를 포함하는 프래그멘트가 시그널링 메시지의 마지막 데이터를 포함함을 나타낼 수 있다. 마지막 프래그멘트의 넘버 정보를 나타내는 필드는 last_fragment_number일 수 있다. 구체적인 실시 예에서 last_fragment_number 필드는 8비트일 수 있다.
도 90는 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치(100)가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠 중 적어도 하나를 수신할 수 있도록 하기 위한 방송 서비스 시그널링 방법이다.
도 90의 실시 예에 따른 방송 서비스 시그널링 방법은 도 89에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 90의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 서비스 시그널링 채널은 FIC(Fast Information Channel) 및 LLS(Low Layer Signaling) 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 90의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태일 수도 있다.
도 90의 실시 예에 따른 서비스 시그널링 메시지는 포함하고 있는 서비스의 수 정보를 포함할 수 있다. 구체적으로 하나의 서비스 시그널링 메시지는 복수의 서비스를 포함할 수 있으며, 포함하고 있는 서비스의 수를 나타내는 정보를 포함할 수 있다. 서비스의 수 정보는 num_services 필드일 수 있다. 구체적인 실시 예에서 num_services 필드는 8비트일 수 있다.
또한, 도 90의 실시 예에 따른 서비스 시그널링 메시지는 서비스에 대한 식별자 정보를 포함할 수 있다. 식별자 정보는 service_id 필드일 수 있다. 구체적인 실시 예에서 service_id필드는 16비트일 수 있다.
또한, 도 90의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 타입 정보를 포함할 수 있다. 서비스 타입 정보는 service_type 필드일 수 있다. 구체적인 실시 예에서 service_type 필드가 0x00 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 scheduled audio service일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x01 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 스케줄드 오디오/비디오 서비스(scheduled audio/video service)일 수 있다. 이때, 스케줄드 오디오/비디오 서비스는 미리 정해진 스케줄에 따라 방송되는 오디오/비디오 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x02 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 온-디멘드 서비스(on-demand service) 일 수 있다. 이때, 온-디멘드 서비스는 사용자의 요청에 의해 재생되는 오디오/비디오 서비스일 수 있다. 또한, 온-디멘드 서비스는 스케줄드 오디오/비디오 서비스와 반대되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x03 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 앱-베이스드 서비스(app-based service) 일 수 있다. 이때, 앱-베이스드 서비스는 실시간 방송 서비스가 아닌 비 실시간 서비스로서, 어플리케이션을 통해 제공되는 서비스일 수 있다. 앱-베이스드 서비스는 실시간 방송 서비스와 연관된 서비스 및 실시간 방송 서비스와 연관되지 않은 서비스 중 적어도 하나를 포함할 수 있다. 방송 수신 장치(100)는 어플리케이션을 다운로드하여 앱-베이스드 서비스를 제공할 수 있다.
또 다른 실시 예에서 service_type 필드가 0x04 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 권리 발급자 서비스(right issuer service) 일 수 있다. 이때, 권리 발급자 서비스는 서비스를 제공받을 권리를 발급받은 자에게만 제공되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x05 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 서비스 가이드 서비스(service guide service) 일 수 있다. 이때 서비스 가이드 서비스는 제공되는 서비스의 정보를 제공하는 서비스일 수 있다. 예를 들면, 제공되는 서비스의 정보는 방송 스케줄일 수 있다.
또한, 도 90의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 이름 정보를 포함할 수 있다. 서비스 이름 정보는 short_service_name 필드일 수 있다.
또한, 도 90의 실시 예에 따른 서비스 시그널링 메시지는 short_service_name 필드의 길이 정보를 포함할 수 있다. short_service_name 필드의 길이 정보는 short_service_name_length 필드일 수 있다.
또한, 도 90의 실시 예에 따른 서비스 시스널링 메시지는 시그널링하는 서비스와 연관된 방송 서비스 채널 넘버 정보를 포함할 수 있다. 연관된 방송 서비스 채널 넘버 정보는 channel_number 필드일 수 있다.
또한, 도 90의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임라인은 미디어 컨텐츠를 위한 일련의 시간 정보이다. 구체적으로 타임라인은 미디어 컨텐츠 재생의 기준이되는 일련의 기준 시간일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다. 이하 도 91에서 각 필드가 갖는 값이 의미하는 내용에 대해 상세히 설명한다.
도 91은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 나타내는 값이 의미하는 내용을 나타낸다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 91의 실시 예에 따르면, timebase_transport_mode 필드가 0x00의 값을 갖는 경우, timebase_transport_mode 필드는 방송 수신 장치가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 91의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x00의 값을 갖는 경우, signaling_transport_mode 필드는 방송 수신 장치가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 동일한 방송 스트림이란 방송 수신 장치가 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 동일한 방송 스트림일 수 있다. 또한, IP 데이터그램은 방송 서비스 또는 컨텐츠를 구성하는 컴포넌트를 인터넷 프로토콜에 따라 인캡슐레이션한 일 전송 단위일 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 92에 도시된 신택스를 따를 수 있다. 도 92에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 92는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 0x00 값을 갖는 경우, bootstrap() 필드의 신택스를 나타낸다.
도 92에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 IP 주소 형식에 대한 정보를 포함할 수 있다. IP 주소 형식에 대한 정보는 IP_version_flag 필드일 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. 일 실시 예에서 IP 주소 형식에 대한 정보가 0인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.또 다른 실시 예에서 IP 주소 형식에 대한 정보가 1인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.
도 92에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 소스 IP 주소는 IP 데이터그램의 발신지(source) 주소일 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낼 수 있다.
도 92에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 목적지(destination) IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 목적지 IP 주소는 IP 데이터그램의 목적지 주소일 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부를 나타내는 정보는 destination_IP_address 필드일 수 있다. 일 실시 예에서 destination_IP_address 필드가 1인 경우, IP 데이터그램이 목적지 IP 주소를 포함함을 나타낼 수 있다.
도 92에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
도 92에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
도 92에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 플로우 포트 개수 정보를 포함할 수 있다. 이때 포트(port)는 IP 데이터그램의 플로우를 수신하기 위한 통로일 수 있다. IP 데이터그램의 UDP(user datagram protocol) 포트 개수를 나타내는 정보는 port_num_count 필드일 수 있다.
도 92에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 UDP(user datagram protocol) 포트 번호를 나타내는 정보를 포함할 수 있다. 사용자 데이터그램 프로토콜(UDP)는 인터넷에서 정보를 주고받을 때, 서로 주고 받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜이다.
다시 도 91로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 91의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x01의 값을 갖는 경우, timebase_transport_mode 필드는 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 다른 방송 스트림은 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 다른 방송 스트림일 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는시그널링 메시지를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 91의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x01의 값을 갖는 경우, signaling_transport_mode 필드는 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 93에 도시된 신택스를 따를 수 있다. 도 93에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 93은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 0x01 값을 갖는 경우, bootstrap() 필드의 신택스를 나타낸다.
도 93의 실시 예에 따른 부트스트랩 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스를 전송하는 전송 스트림의 식별자 정보일 수 있다.
다시 도 91으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 91의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 94에 도시된 신택스를 따를 수 있다. 도 94에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 94의 실시 예에 따른 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 어플리케이션 계층 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포함할 수 있다. 이때 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 계층 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
다시 도 91로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 57의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 적어도 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 95에 도시된 신택스를 따를 수 있다. 도 95에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 95의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트랩 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
다시 도 91로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 91의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송(MPEG Media Tansport, MMT) 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 96에 도시된 신택스를 따를 수 있다. 도 96에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 96의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 91로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 91의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 97에 도시된 신택스를 따를 수 있다. 도 97에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 97의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
또한, 도 97의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 91로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 타임베이스를 URL을 통해 획득하는 모드를 포함할 수 있다.
도 91의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스의 타임베이스를 URL을 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 시그널링 메시지를 URL을 통해 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자를 통해 획득할 수 있음을 나타낼 수 있다. 이때, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자는 URL일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 98에 도시된 신택스를 따를 수 있다. 도 98에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 98의 실시 예에 따른 부트스트랩 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운 받을 수 있는 URL에 대한 길이 정보를 포함할 수 있다. URL 길이 정보는 URL_length 필드일 수 있다.
또한, 도 98의 실시 예에 따른 부트스트램 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운받을 수 있는 URL의 실제 데이터를 포함할 수 있다. URL의 실제 데이터는 URL_char 필드일 수 있다.
도 99는 도 90 내지 도 98의 실시 예에서 타임베이스 및 서비스 시그널링 메시지를 획득하는 과정을 나타낸다.
도 99에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 패킷 기반 전송 프로토콜을 통해 타임베이스를 획득할 수 있다. 구체적으로, 방송 수신 장치(100)는 서비스 시그널링 메시지를 이용하여 IP/UDP 플로우를 통해 타임베이스를 획득할 수 있다. 또한, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 세션 기반 전송 프로토콜을 통해 서비스 관련 시그널링 메시지를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 ALC/LCT 전송 세션을 통하여 서비스 관련 시그널링 메시지를 획득할 수 있다.
도 100은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 100의 실시 예에 따른 방송 서비스 시그널링 방법은 도 99에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 100의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다.
구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 100의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 100의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
도 100의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap_data() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
또한, timebase_transport_mode 필드 및 signaling_transport_mode 필드에 따른 bootstrap_data() 필드의 의미는 상술한 내용과 동일할 수 있다.
도 101은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 101의 실시 예에 따른 방송 서비스 시그널링 방법은 도 99에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 101의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 101의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 101의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 시그널링 메시지는 방송 서비스에서 사용하는 MPD(media presentation data) 또는 MPD URL과 관련된 시그널링 메시지일 수 있다. 시그널링 메시지 획득을 위한 정보의 포함여부를 나타내는 정보는 MPD_transport_flag 필드일 수 있다. 일 실시 예에서 MPD_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 MPD 또는 MPD URL 관련 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. HTTP를 기반으로 하는 적응형 미디어 스트리밍을 DASH(Dynamic adaptive streaming over HTTP)라고 할 수 있다. 그리고 적응형 미디어 스트리밍에서 방송 서비스 및 컨텐츠를 구성하는 세그먼트를 방송 수신 장치가 획득하기 위한 상세 정보를 MPD라고 할 수 있다. MPD는 XML 형태로 표현될 수 있다. MPD URL 관련 시그널링 메시지는 MPD를 획득할 수 있는 주소 정보를 포함할 수 있다.
또한, 도 101의 실시 예에 따른 서비스 시그널링 메시지는 컴포넌트 데이터에 대한 획득 경로 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 컴포넌트는 방송 서비스를 제공하기 위한 컨텐츠 데이터에 대한 일 단위일 수 있다. 컴포넌트 데이터에 대한 획득 경로 정보의 포함여부를 나타내는 정보는 component_location_transport_flag 필드일 수 있다. 일 실시 예에서 component_location_transport_flag 필드가 1의 값을 갖는 경우, component_location_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 101의 실시 예에 따른 서비스 시그널링 메시지는 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보를 포함하는지 여부를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보의 포함여부를 나타내는 정보는 app_signaling_transport_flag 필드일 수 있다. 일 실시 예에서 app_signaling_transport_flag 필드가 1의 값을 갖는 경우, app_signaling_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 101의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타낼 수 있다. 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타내는 정보는 signaling_transport_flag 필드일 수 있다. 일 실시 예에서 signaling_transport_flag 필드가 1의 값을 갖는 경우, signaling_transport_flag 필드는 서비스 시그널링 메시지가 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. 그리고, 서비스 시그널링 메시지가 상술한 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 포함하고 있지 않는 경우, 방송 수신 장치는 시그널링 메시지 전송 경로를 통하여 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 획득할 수 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 타임베이스를 전송하는 모드를 나타낼 수 있다. 타임베이스를 전송하는 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 MPD_transport_mode 필드일 수 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드에 대한 정보는 component_location_transport_mode 필드일 수 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 어플리케이션 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 app_signaling_transport_mode 필드일 수 있다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 서비스 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 서비스 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
상술한 timebase_transport_mode 필드, MPD_transport_mode 필드, component_location_transport_mode 필드, app_signaling_transport_mode 필드 및 signaling_transport_mode 필드가 갖는 값에 따른 의미를 이하 도 92를 참고하여 설명한다.
도 102는 도 101에서 설명한 각각의 전송 모드가 갖는 값에 따른 의미를 나타낸다. 도 78의 X_transport_mode는 timebase_transport_mode, MPD_transport_mode, component_location_transport_mode, app_signaling_transport_mode 및 signaling_transport_mode를 포함할 수 있다. 각각의 전송 모드가 갖는 값에 대한 구체적인 의미는 도 91에서 설명한 내용과 동일하다. 다시 도 101로 돌아온다.
도 101의 실시 예에 따른 서비스 시그널링 메시지는 도 102의 각각의 모드가 갖는 값에 따라 방송 수신 장치가 타임베이스 또는 시그널링 메시지를 획득하기 위해 필요한 정보를 포함할 수 있다. 타임베이스 또는 시그널링 메시지 획득에 필요한 정보는 bootstrap_data() 필드일 수 있다. 구체적으로 bootstrap_data()에 포함된 정보는 상술한 도 92 내지 도 98에서 설명한 내용과 동일하다.
도 103는 차세대 방송 시스템에서 방송 서비스의 컴포넌트 데이터 획득 경로를 시그널링하는 시그널링 메시지의 구성을 나타낸다. 차세대 방송 시스템에서 하나의 방송 서비스는 하나 이상의 컴포넌트로 구성될 수 있다. 도 103의 실시 예예 따른 시그널링 메시지에 기초하여 방송 수신 장치는 방송 스트림에서 컴포넌트 데이터 및 관련 어플리케이션의 획득 경로에 대한 정보를 획득할 수 있다. 이때 도 103의 실시 예에 따른 시그널링 메시지는 XML의 형태로 표현할 수도 있다.
도 103의 실시 예예 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보를 포함할 수 있다. 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보는 signaling_id 필드일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하는 확장 정보를 포함할 수 있다. 이때 확장 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 프로토콜 버전을 포함할 수 있다. 확장 정보는 signaling_id_extension 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 로케이션을 시그널링하는 메시지의 버전 정보를 포함할 수 있다. 이때 버전 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 내용이 변경 되었음을 나타낼 수 있다. 버전 정보는 version_number 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 연관된 방송 서비스의 식별자 정보를 포함할 수 있다. 이때 연관 방송 서비스의 식별자 정보는 service_id 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 컴포넌트의 개수를 포함할 수 있다. 이때 연관된 컴포넌트 개수 정보는 num_component 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 각 컴포넌트의 식별자를 포함할 수 있다. 예를 들어, 컴포넌트 식별자는 MPEG DASH의 MPD@id, period@id 및 representation@id를 조합하여 구성될 수 있다. 이때 각 컴포넌트의 식별자 정보는 component_id 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 component_id 필드의 길이를 포함할 수 있다. 이때 component_id 필드의 길이 정보는 component_id_length 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 획득할 수 있는 주파수를 나타내는 주파수 정보를 포함할 수 있다. 컴포넌트 데이터는 DASH 세그먼트를 포함할 수 있다. 이때 컴포넌트 데이터를 획득할 수 있는 주파수 정보는 frequency_number 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 방송국 고유의 식별자를 포함할 수 있다. 방송국은 특정 주파수 또는 전송되는 전송 프레임을 통해 컴포넌트 데이터를 전송할 수 있다. 이때 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다. 또한, broadcast_id 필드는 방송 서비스의 전송 스트림의 식별자를 나타낼 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 이때 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자 정보는 datapipe_id 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. 이때 IP 데이터그램의 IP 주소 형식 정보는 IP_version_flag 필드일 수 있다. 구체적인 실시 예에서 IP_version_flag 필드는 필드 값이 0인 경우 IPv4 형식을, IP_version_flag 필드가 1인 경우 IPv6 형식을 나타낼 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보 포함할 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낸다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 IP 데이터그램이 목적지 IP 주소를 포함함을 나타낸다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_addres 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 UDP 포트 번호 정보를 포함할 수 있다. UDP 포트 번호 정보는 UDP_port_num 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포 함할 수 있다. 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 세션의 식별자 정보는 tsi 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 어플리케이션 시그널링 메시지의 개수를 포함할 수 있다. 이때 방송 서비스는 service_id 필드에 따라 식별된 방송 서비스일 수 있다. 어플리케이션 시그널링 메시지의 개수 정보는 num_app_signaling 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자 정보를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자 정보는 app_signaling_id 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 app_signaling_id 필드의 길이 정보를 포함할 수 있다. app_signaling_id 필드의 길이 정보는 app_signaling_id_length 필드일 수 있다.
또한, 도 103의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션 획득을 위한 경로 정보는 app_delivery_info() 필드일 수 있다. 이하 도 104에서 app_delivery_info() 필드의 실시 예를 설명한다.
도 104은 본 발명의 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보는 broadcasting_flag 필드일 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. IP 데이터그램의 IP 주소 형식의 정보는 IP_version_flag 필드일 수 있다. 일 실시 예에서 IP_version_flag 필드가 0인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv4 형식을, IP_version_flag 필드가 1인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv6 형식을 사용함을 나타낼 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타낼 수 있다. 이때, 연관된 데이터는 어플리케이션의 실행에 필요한 데이터일 수 있다.
어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 대한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인경우, IP 데이터그램이 소스 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 대한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1인경우, IP 데이터그램이 목적지 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자를 포함할 수 있다.
다시 말해서, 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 방송 서비스 전송 스트림의 식별자를 포함할 수 있다. 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다. 또한, broadcast_id 필드는 방송 서비스의 전송 스트림의 식별자를 나타낼 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 source_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 destination_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수 정보는 port_num_count 필드일 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호 정보는 destination_UDP_port_number 필드일 수 있다.
또한, 도 104의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
도 105는 본 발명의 또 다른 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 105의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자를 나타낼 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷은 패킷 기반 전송 플로우를 기반으로 하는 프로토콜에 따를 수 있다. 예를 들어 패킷 기반 전송 플로우는 MPEG 미디어 전송 프로토콜(MPEG Media transport protocol)을 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
도 106은 방송 서비스를 구성하는 하나 이상의 컴포넌트 데이터를 획득할 수 있는 경로 정보를 포함하는 컴포넌트 로케이션 시그널링을 나타낸다. 구체적으로 도 106은 방송 서비스를 구성하는 하나 이상의 컴포넌트가 MPEG DASH의 세그먼트로 표현되는 경우, DASH 세그먼트를 포함하는 컴포넌트 데이터를 획득할 수 있는 경로 정보를 나타낸다.
도 107은 도 106의 컴포넌트 로케이션 시그널링의 구성을 나타낸다.
도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 방송 서비스와 연관된 MPEG DASH MPD의 식별자 정보를 포함할 수 있다. MPEG DASH MPD의 식별자 정보는 mpdip 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 mpdip 필드가 나타내는 MPEG DASH MPD 내의 주기(period) 속성(attributes)의 식별자를 포함할 수 있다. MPEG DASH MPD 내의 주기(period) 속성의 식별자 정보는 periodid 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 periodid 필드가 나타내는 주기내의 재생(representation) 속성의 식별자를 포함할 수 있다. 주기내의 재생(representation) 속성의 식별자 정보는 ReptnID 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 ReptnID 필드가 나타내는 주기내의 재생 속성에 포함된 DASH 세그먼트를 획득할 수 있는 주파수 넘버를 포함할 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버는 RF 채널 넘버일 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버 정보는 RFChan 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 특정 주파수 또는 전송되는 전송 프레임을 통해 DASH 세그먼트를 전송하는 방송국 고유의 식별자를 포함할 수 있다. DASH 세그먼트를 전송하는 방송국 고유의 식별자 정보는 Broadcastingid 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 물리적 계층 파이프는 물리적 계층을 통해 전송되는 데이터 파이프일 수 있다. DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자 정보는 DataPipeId 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 IPAdd 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호 정보는 UDPPort 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷을 전송하는 세션의 식별자(transport session identifier)를 포함할 수 있다. 전송 패킷을 전송하는 세션의 식별자는 ALC/LCT 센션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 전송 패킷을 전송하는 세션의 식별자 정보는 TSI 필드일 수 있다.
또한, 도 107의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷의 식별자를 포함할 수 있다. 전송 패킷의 식별자 정보는 PacketId 필드일 수 있다.
도 108은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 과정을 나타내는 흐름도이다.
방송 수신 장치의 수신부는 서비스 시그널링 메시지가 포함된 전송 프로토콜 패킷을 수신한다(S2301). 수신부는 인터넷 프로토콜 통신부 및 방송 수신부를 포함할 수 있다. 서비스 시그널링 메시지는 방송 서비스 및 미디어 컨텐츠 중 적어도 하나를 시그널링하기 위한 정보일 수 있다. 일 실시 예에서 전송 프로토콜은 인터넷 프로토콜(IP)일 수 있다. 또한, 일 실시 예에서 서비스 시그널링 메시지는 바이너리 포맷 및 XML 포맷 중 적어도 하나로 표현될 수 있다. 전송 프로토콜 패킷은 시그널링 메시지 헤더 및 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 수신한 전송 프로토콜 패킷으로부터 서비스 시그널링 메시지를 추출한다(S2303). 구체적으로, 전송 프로토콜 패킷을 파싱하여 서비스 시그널링 메시지를 추출할 수 있다. 제어부는 계층화된 전송 프로토콜 패킷으로부터 인터넷 프로토콜 데이터그램을 획득할 수 있다. 획득한 인터넷 프로토콜 데이터그램은 서비스 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 서비스 시그널링 메시지로부터 방송 서비스 제공을 위한 정보를 획득한다(S2305). 방송 서비스 제공을 위한 정보는 서비스 시그널링 메시지의 일부일 수 있다.
일 실시 예에서 방송 서비스를 제공하기 위한 정보는 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드정보일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드 정보일 수 있다. 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 MPD(Media Presentation Description)라고 할 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드 정보일 수 있다. 컴포넌트 데이터는 방송 서비스 또는 컨텐츠를 구성하는 개체일 수 있다. 이때, 컴포넌트 데이터의 획득 경로 정보는 컴포넌트 데이터를 전달하는 물리적 계층 파이프의 식별 정보일 수 있다. 계층화된 전송 프로토콜 패킷은 물리적 계층을 통해 전달되는 물리적 계층 파이프를 포함할 수 있다. 물리적 계층 파이프는 복수개 존재할 수 있다. 따라서, 복수의 물리적 계층 파이프 중 획득하고자하는 컴포넌트 데이터를 포함하는 물리적 계층 파이프를 식별할 필요가 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때, 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보는 어플리케이션을 전송하는 방송국의 식별자 정보, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 소스 IP 주소, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 목적지 IP 주소, 상기 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)의 포트 번호, 상기 어플리케이션을 전송하는 전송 세션의 식별자 정보 및 상기 어플리케이션을 전송하는 패킷의 식별자 정보 중 적어도 하나일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때 서비스는 하나의 컨텐츠일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 서비스를 구성하는 컴포넌트 데이터를 위한 전송 모드 정보를 포함한다. 이때, 컴포넌트 데이터를 위한 전송 모드 정보는 비 실시간 서비스 지원을 위한 전송 모드 및 실시간 서비스 지원을 위한 전송 모드 및 패킷 전송을 위한 전송 모드 중 적어도 하나를 나타낼 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 파일 형태의 실시간 서비스 수신을 위한 정보를 포함할 수 있다.
도 109는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 과정을 나타내는 흐름도이다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 서비스 시그너링 메시지에 삽입한다(S2401). 일 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 XML 형태로 서비스 시그널링 메시지에 삽입할 수 있다. 또 다른 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 바이너리 형태로 서비스 시그널링 메시지에 삽입할 수 있다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보가 삽입된 서비스시그널링 메지시를 전송 프로토콜 패킷에 패킷타이징한다(S2403). 이때 전송 프로토콜은 세션 기반 전송 프로토콜(ALC/LCT, FLUTE) 및 패킷 기반 전송 프로토콜(MPEG-2 TS, MMT) 중 어느 하나일 수 있다.
방송 전송 장치의 전송부는 서비스 시그널링 메시지가 패킷타이징된 전송 프로토콜 패킷을 특정 전송 모드를 통해 방송 수신 장치로 전송한다(S2405). 일 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는, 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 일 수 있다.
도 110은 본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템은 컨텐츠 제공자/방송 전송 장치(J107010; Content Provider / Broadcaster), 컨텐츠 서버(J107050; Application Service Server), 및/또는 방송 수신 장치(Receiver) 중에서 적어도 하나를 포함한다.
컨텐츠 제공자 / 방송 전송 장치(J107010; Content Provider / Broadcaster)는 컨텐츠 제공자 혹은 방송 전송 장치를 나타낸다. 컨텐츠 제공자 / 방송 전송 장치(J107010)는 컨텐츠 제공자 및/또는 방송 전송 장치(J107010)를 포함할 수 있다.
컨텐츠 제공자(J107010)는 미디어 컨텐츠를 방송 전송 장치(J107010) 및/또는 컨텐츠 서버(J107050)에 제공한다.
방송 전송 장치(J107010)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 미디어 컨텐츠를 포함하는 방송 스트림을 전송한다. 방송 전송 장치(J107010)는 방송 전송 장치(J107010)의 제어부(미도시) 및 전송부(미도시)를 포함할 수 있다. 제어부는 방송 전송 장치(J107010)의 동작을 제어할 수 있다.
컨텐츠 서버(J107050)는 방송 수신 장치의 요청에 기초하여 미디어 컨텐츠를 전송한다. 또한, 컨텐츠 서버(J107050)는 어플리케이션을 제공하는 어플리케이션 서비스 서버이다. 어플리케이션 서비스 서버는 컨텐츠 제공자 혹은 방송사에서 제공될 수 있고, 이 경우, 컨텐츠 제공자 / 방송 전송 장치(J107010)에 포함될 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 방송 수신부(미도시), IP 송수신부(미도시), 및/또는 제어부 중에서 적어도 하나를 포함할 수 있다. 방송 수신 장치는 제어부를 이용하여 IP 송수신부, 방송 수신부의 동작을 제어한다. 방송 수신 장치는 방송 수신부를 이용하여 미디어 컨텐츠를 포함하는 방송 스트림을 수신한다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 방송 수신부는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다. 방송 수신 장치는 IP 송수신부를 이용하여 컨텐츠 서버(J107050)에 미디어 컨텐츠를 요청한다. 방송 수신 장치는 IP 송수신부를 이용하여 컨텐츠 서버(J107050)로부터 미디어 컨텐츠를 수신한다. 방송 수신 장치는 디코더를 이용하여 미디어 컨텐츠를 디코딩한다.
본 발명의 일 실시예에 따른 방송 수신 장치의 제어부는 시그널링 파서 (J107020; Signaling Parser), 어플리케이션 매니저 (J107030; Application Manager), NRT 콘텐트 매니저(J107040; NRT Content Manager), 다운로드 매니저 (J107060; Download Manager), 장치 저장소 (J107070; Device Storage) 및/또는 어플리케이션 디코더 (J107080; Application Decoder)를 포함한다.
시그널링 파서 (J107020; Signaling Parser)는 방송 전송 장치(J107010)에서 제공하는 방송 신호를 파싱하는 모듈이다. 방송 신호는 시그널링 데이터/엘리먼트, 방송 컨텐츠 데이터, 방송과 관련한 부가 데이터 및/또는 어플리케이션 데이터를 포함할 수 있다.
어플리케이션 매니저 (J107030; Application Manager)는 방송 신호에 어플리케이션이 포함된 경우, 해당 어플리케이션을 관리하는 모듈이다. 어플리케이션 매니저 (J107030; Application Manager)는 전술한 시그널링 정보, 시그널링 엘리먼트, TPT 및/또는 트리거를 이용하여, 어플리케이션의 위치, 동작, 동작 실행 타이밍을 제어한다. 여기서, 어플리케이션의 동작은 Activate (Launch), Suspend, Resume, 또는 Terminate (Exit)이 될 수 있다.
NRT 콘텐트 매니저(J107040; NRT Content Manager)는 Non Real Time(NRT) 컨텐트를 관리하는 모듈이다.
다운로드 매니저 (J107060; Download Manager)는 컨텐츠 제공자 / 방송 전송 장치(J107010) 및/또는 컨텐츠 서버(J107050)에서 제공하는 NRT 컨텐츠 또는 어플리케이션과 관련된 정보를 수신 및/또는 처리하는 모듈이다. 다운로드 매니저 (J107060)는 방송 신호에 포함된 NRT 관련 시그널링 정보를 획득하고, 시그널링 정보를 바탕으로, 방송 신호에 포함된 NRT 컨텐츠를 추출한다. 다운로드 매니저(J107060)는 컨텐츠 서버(J107050)가 제공하는 어플리케이션을 수신 및/또는 처리할 수 있다.
장치 저장소 (J107070; Device Storage)는 수신한 방송 신호, 데이터, 컨텐츠 및/또는 시그널링 정보 (시그널링 엘리먼트)를 저장할 수 있다.
어플리케이션 디코더 (J107080; Application Decoder)는 수신한 어플리케이션을 디코딩하여, 화면에 표출하는 처리를 수행할 수 있다.
미디어 컨텐츠 송수신 시스템에 포함되는 각각의 장치는 하드웨어 또는 소프트웨어로 구현될 수 있다. 각 장치가 하드웨어로 구현되는 경우, ‘매니저’ 와 같은 표현은 ‘프로세서’로 대체될 수 있다.
도 111은 본 발명의 일 실시예에 따른, 서비스 타입들 및 서비스 타입들의 컴포넌트 타입들을 나타낸 도면이다.
리니어 서비스는 방송 수신 장치(e.g. TV)에 방송 신호를 전달한다. 리니어 서비스는 비디오 디코딩/디스플레이 능력이 없는 방송 수신기에 적합한 서비스를 위하여 사용될 수 있다. 예를 들어, 리니어 서비스는 오디오 컴포넌트만 포함하는 서비스를 방송 수신 장치에 전달할 수 있다. 리니어 서비스는 타임베이스(Time Base), 재생가능한 비디오 컴포넌트(Presentable Video Component), 재생가능한 오디오 컴포넌트(Presentable Audio Component), 재생가능한 클로우즈드 캡션 컴포넌트(Presentable CC Components), 앱-베이스드 인핸스먼트(App-based Enhancement) 중에서 적어도 하나를 포함할 수 있다.
어플리케이션(App)은 ATSC application을 위한 콘텐트 아이템(또는, 데이터 아이템)을 나타낸다. 어플리케이션(App)은 콘텐트 아이템(또는 데이터 아이템)에 포함될 수 있다.
앱-베이스드 인핸스먼트(App-Based Enhancement)는 TV 서비스(또는, 리니어 서비스)에 대한 어플리케이션 기반 인핸스먼트를 나타낸다. 앱-베이스드 인핸스먼트는 Essential capabilities Attribute, Non-essential capabilities Attribute, 및/또는 Target device Attribute 중에서 적어도 하나를 포함할 수 있다. Target device Attribute는 Primary device를 지시하는 값, 및/또는 Companion device를 지시하는 값을 가질 수 있다.
앱-베이스드 인핸스먼트는 어플리케이션(App), 콘텐트 아이템(또는 데이터 아이템) 컴포넌트, 통지 스트림(Notification Stream), 및/또는 온-디맨드 컴포넌트(OnDemand Component) 중에서 적어도 하나를 포함할 수 있다.
타임베이스(Time base)는 리니어 서비스의 컴포넌트들을 동기화하기 위한 타임라인을 생성하는데 사용되는 메타데이터를 나타낸다. 타임베이스는 타임베이스의 클럭 레이트를 나타내는 Clock rate attribute를 포함할 수 있다.
앱-베이스드 서비스(App-Based Service)는 어플리케이션 기반 서비스를 나타낸다. 앱-베이스드 서비스는 앱-베이스드 인핸스먼트를 포함할 수 있다. 앱-베이스드 서비스는 서비스에 포함될 수 있다.
앱-베이스드 인핸스먼트는 통지 스트림(Notification Stream), 어플리케이션(App), 콘텐트 아이템(Content Item), 및/또는 온-디맨드 컴포넌트(On Demand component) 중에서 적어도 하나를 포함할 수 있다. 통지 스트림은 수행되는 동작의 통지 정보(notification)을 전달할 수 있다. 어플리케이션은 앱(App)으로 나타낼 수 있다. 콘텐트 아이템은 데이터 아이템, 및/또는 NRT 콘텐트 아이템을 포함할 수 있다. 콘텐트 아이템은 어플리케이션에 의해서 사용될 수 있다. 온-디맨드 컴포넌트는 어플리케이션에 의해서 관리될 수 있다.
앱-베이스드 인핸스먼트의 어플리케이션은 프라이머리 어플리케이션으로 지정될 수 있다. 만약, 지정된 프라이머리 어플리케이션이 존재하면, 프라이머리 어플리케이션이 속하는 서비스가 선택되자마자 프라이머리 어플리케이션이 활성화된다. 어플리케이션은 통지 스트림에 포함된 통지 정보에 의해서 활성화될 수 있다. 또한, 어플리케이션은 이미 동작하는 다른 어플리케이션에 의해서 활성화될 수 있다.
앱-베이스드 서비스(App-Based Service)는 적어도 하나의 앱-베이스드 인핸스먼트(App-Based Enhancement)를 포함하는 서비스이다. 앱-베이스드 서비스(App-Based Service)에 포함된 하나의 어플리케이션 기반 인핸스먼트는 지정된 프라이머리 어플리케이션을 포함할 수 있다. 어플리케이션 기반 서비스는 선택적으로 타임베이스를 포함할 수 있다.
어플리케이션(App)은 콘텐트 아이템(또는, 데이터 아이템)의 특별한 케이스이다. 즉, 어플리케이션은 적어도 하나의 파일을 포함할 수 있다. 적어도 하나의 파일의 집합은 어플리케이션을 구성할 수 있다.
도 112는 본 발명의 일 실시예에 따른 NRT 콘텐트 아이템과 NRT 파일 사이의 포함 관계를 나타낸 도면이다.
NRT 콘텐트 아이템은 적어도 하나의 NRT 파일을 포함할 수 있다. NRT 파일은 적어도 하나의 NRT 콘텐트 아이템에 포함될 수 있다.
NRT 콘텐트 아이템은 재생 가능한 NRT 파일-베이스드 컴포넌트(presentable NRT file-based component)를 포함할 수 있다. 즉, NRT 콘텐트 아이템은 다른 파일들과 결합될 필요없이 소비될 수 있는 NRT 파일들의 집합을 포함할 수 있다. 또한, NRT 파일은 엘레멘터리 NRT 파일-베이스드 컴포넌트(elementary NRT file-based component)일 수 있다. 즉, NRT 파일은 원자 단위(atomic unit)의 컴포넌트일 수 있다.
NRT 콘텐트 아이템은 연속적 컴포넌트, 비-연속적 컴포넌트, 및/또는 연속적 컴포넌트와 비-연속적 컴포넌트의 조합 중에서 적어도 하나를 포함할 수 있다.
도 113은 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 테이블이다.
어플리케이션 (App) 은 양방향성을 지원하는 NRT 콘텐츠 아이템의 일종이다. 어플리케이션의 속성은 TPT 등과 같은 시그널링 데이터에 의하여 제공될 수 있다. 어플리케이션은 NRT 콘텐츠 아이템 클래스와는 서브 클래스의 관계에 있다. 예를 들면, NRT 콘텐츠 아이템에는 하나 이상의 어플리케이션이 포함될 수 있다.
앱-베이스드 인핸스먼트(App-Based Enhancement)는 어플리케이션의 기반에 향상된 이벤트/콘텐츠를 말한다.
앱-베이스드 인핸스먼트의 속성에는 다음의 내용이 포함될 수 있다.
앱-베이스드 인핸스먼트는 인핸스먼트의 의미있는 랜디션(rendition)을 위해서 필요한 수신기 성능들을 지시하는 Essential capabilities attribute를 포함할 수 있다.
앱-베이스드 인핸스먼트는 인핸스먼트의 의미있는 랜디션(rendition)을 위해서 필수적으로 필요한 것은 아니지만, 인핸스먼트의 최적의 랜디션(optimal rendition)을 위해서 사용되는 수신기 성능들을 지시하는 Non-essential capabilities attribute를 포함할 수 있다.
앱-베이스드 인핸스먼트는 어플리케이션이 사용되는 타겟 디바이스(Target device)를 지시하는 Target devices attribute를 포함할 수 있다.
타겟 디바이스는 프라이머리 디바이스와 컴패니언 (companion) 디바이스로 나뉠 수 있다. 프라이머리 디바이스에는 TV 수신기와 같은 장치가 포함될 수 있다. 컴패니언 디바이스에는 스마트폰, 태블릿, 노트북 및/또는 소형 모니터가 포함될 수 있다.
앱-베이스드 인핸스먼트는 어플리케이션 클래스와의 관계를 포함하고, 이는 앱-베이스드 인핸스먼트에 포함되는 어플리케이션과의 관계를 위한 것이다.
앱-베이스드 인핸스먼트는 NRT 콘텐츠 아이템 클래스와의 관계를 포함하고, 이는 앱-베이스드 인핸스먼트에 포함되는 어플리케이션에 의하여 사용되는 NRT 콘텐츠 아이템과의 관계를 위한 것이다.
앱-베이스드 인핸스먼트는 알림 스트림 (Notification Stream) 클래스와의 관계를 포함하고, 이는 어플리케이션의 동작과 기본 선형 (Linear) 타임 베이스와의 동기화를 위한 알림들을 전송하는 알림 스트림과의 관계를 위한 것이다.
앱-베이스드 인핸스먼트는 온 디맨드 (OnDemand) 컴포넌트 클래스와의 관계를 포함하고, 이는 어플리케이션(들)에 의하여 관리되는 시청자 요구 컴포넌트와의 관계를 위한 것이다.
도 114는 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
타임베이스(Time Base)는 리니어 서비스의 적어도 하나의 컴포넌트를 동기화하기 위한 타임라인을 생성하는데 사용되는 메타데이터를 나타낸다.
타임베이스는 Time Base ID attribute 및/또는 Clock Rate attribute를 포함할 수 있다.
Time Base ID attribute는 타임베이스의 식별자이다. Clock Rate attribute 타임베이스의 클록 레이트(clock rate)에 해당한다.
통지 스트림(Notification Stream)은 수행되는 동작의 동기화된 통지 정보를 전달한다.
통지 스트림은 통지 스트림의 식별자인 Notification Stream ID attribute를 포함한다.
도 115는 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
리니어 서비스 엘리먼트는 리니어 서비스를 나타낸다.
리니어 서비스는 재생 가능한 비디오 컴포넌트(Presentable Video Component)를 포함할 수 있다. 비디오 컴포넌트는 Primary (default) video, Alternative camera view, Other alternative video component, Sign language (e.g., ASL) inset, 및/또는 Follow subject video 중에서 적어도 하나를 포함할 수 있다. follow-subject feature가 별도의 비디오 컴포넌트에 의해서 지원되면, Follow subject video는 다음에 오는 subject의 이름을 가진 비디오일 수 있다.
리니어 서비스는 재생 가능한 오디오 컴포넌트(Presentable Audio Component), 재생 가능한 클로우즈드 캡션 컴포넌트(Presentable CC Component), 타임베이스(Time Base), 및/또는 앱-베이스드 인핸스먼트(App-Based Enhancement) 중에서 적어도 하나를 포함할 수 있다. 리니어 서비스는 서비스에 포함될 수 있다.
앱-베이스드 서비스 엘리먼트는 어플리케이션 기반 서비스를 나타낸다.
앱-베이스드 서비스는 타임베이스, 및/또는 앱-베이스드 인핸스먼트 중에서 적어도 하나를 포함할 수 있다. 앱-베이스드 서비스는 서비스에 포함될 수 있다.
도 116은 본 발명의 일 실시예에 따른, 서비스 타입 및 컴포넌트 타입에 따른 속성을 나타낸 다른 테이블이다.
프로그램 엘리먼트는 프로그램을 나타낸다.
프로그램은 ProgramIdentifier attribute, StartTime attribute, ProgramDuration attribute, TextualTitle attribute, TextualDescription attribute, Genre attribute, GraphicalIcon attribute, ContentAdvisoryRating attribute, Targeting/personalization properties, Content/Service protection properties, 및/또는 ESG (Electronic Service Guide) Model에서 정의되는 다른 특성들 중에서 적어도 하나를 포함할 수 있다.
ProgramIdentifier attribute는 프로그램의 고유한 식별자이다.
StartTime attribute는 프로그램이 시작하기로 예정된(scheduled) 월-클럭 날짜 및 시간(wall clock date and time)을 지시한다.
ProgramDuration attribute는 프로그램의 시작부터 프로그램의 종료까지 예정된 월-클럭 시간(wall clock time)을 지시한다.
TextualTitle attribute는 사람이 읽을 수 있는 프로그램의 타이틀을 지시한다. TextualTitle은 복수의 언어로된 타이틀을 포함할 수 있다. 만약 존재하지 않는다면, TextualTitle attribute는 관련된 Show의 TextualTitle의 정보를 지시할 수 있다.
TextualDescription attribute는 사람이 읽을 수 있는 프로그램의 설명을 지시한다. TextualDescription은 복수의 언어로된 설명을 포함할 수 있다. 만약 존재하지 않는다면, TextualDescription attribute는 관련된 Show의 TextualDescription의 정보를 지시할 수 있다.
Genre attribute는 프로그램의 장르를 지시한다.
GraphicalIcon attribute는 프로그램을 나타내기위한 아이콘을 지시한다. 만약 존재하지 않는다면, GraphicalIcon attribute는 관련된 Show의 GraphicalIcon의 정보를 지시할 수 있다.
ContentAdvisoryRating attribute는 프로그램의 컨텐트 권고 등급(content advisory rating)을 지시할 수 있다. ContentAdvisoryRating attribute는 복수의 지역에 기초한 복수의 컨텐트 권고 등급(content advisory rating)을 포함할 수 있다. 만약 존재하지 않는다면, ContentAdvisoryRating attribute는 관련된 Show의 ContentAdvisoryRating 정보를 지시할 수 있다.
Targeting/personalization properties는 타케팅을 결정하는데 사용되는 특성들을 지시할 수 있다. 예를 들어, Targeting/personalization properties는 프로그램을 결정하는데 사용되는 특성을 지시할 수 있다. 만약 존재하지 않는다면, Targeting/personalization properties는 관련된 Show의 Targeting/personalization properties를 지시할 수 있다.
Content/Service protection properties는 프로그램의 콘텐트 보호 및/또는 서비스 보호를 위해서 사용되는 특성들을 지시할 수 있다. 만약 존재하지 않는다면, Content/Service protection properties는 관련된 Show의 Content/Service protection properties를 지시할 수 있다.
프로그램 엘리먼트는 Linear Service의 프로그램에 해당할 수 있다. 또한, 프로그램 엘리먼트는 앱-베이스드 서비스의 콘텐트 아이템에 해당할 수 있다. 또한, 프로그램 엘리먼트는 앱-베이스드 서비스의 온-디맨드 컴포넌트에 해당할 수 있다. 또한, 프로그램 엘리먼트는 재생 가능한 비디오 컴포넌트(Presentable Video Component), 재생 가능한 오디오 컴포넌트(Presentable Audio Component), 재생 가능한 클로우즈드 캡션 컴포넌트(Presentable CC Component), 앱-베이스드 인핸스먼트(App-Based Enhancement), 타임베이스(Time Base), 및/또는 세그먼트(Segment) 중에서 적어도 하나를 포함할 수 있다. 또한, 프로그램 엘리먼트는 쇼(Show)의 기반이 될 수 있다. 또는, 프로그램 엘리먼트는 쇼(Show)를 기반으로 할 수 있다.
재생 가능한 비디오 컴포넌트(Presentable Video Component)와 관련하여, 프로그램 엘리먼트는 “Role of video component” attribute를 포함할 수 있다. “Role of video component” attribute는 Primary (default) video, Alternative camera view, Other alternative video component, Sign language (e.g., ASL) inset, 및/또는 Follow subject video 중에서 하나를 지시할 수 있다. follow-subject feature가 별도의 비디오 컴포넌트에 의해서 지원되면, Follow subject video는 다음에 오는 subject의 이름을 가진 비디오일 수 있다.
Segment와 관련하여, 프로그램 엘리먼트는 RelativeSegmentStartTime attribute를 포함할 수 있다. RelativeSegmentStartTime attribute는 프로그램의 시작과 관련되는 세그먼트의 시작 시간을 지시할 수 있다.
NRT 콘텐트 아이템 컴포넌트는 프로그램과 동일한 구조를 가질 수 있다. 하지만, NRT 콘텐트 아이템 컴포넌트는 스트리밍 유형(streaming form)이 아니라 파일 유형으로 전송될 수 있다. 프로그램은 인터랙티브 서비스 및 그와 관련된 서비스와 같은 부가적인 데이터 서비스를 포함할 수 있다.
도 117은 본 발명의 일 실시예에 따른 콘텐트 아이템 및 온-디맨드 콘텐트에 대한 정의를 나타낸 도면이다.
차세대 하이브리드 방송 시스템은 서비스의 유형으로 리니어 서비스(Linear Service) 및/또는 앱-베이스드 서비스(App-based Service)를 포함할 수 있다. 리니어 서비스는 스케줄에 따라서 재생되는 연속적인 컴포넌트(continuous component) 및/또는 방송에서 정의되는 타임베이스(time base)를 포함할 수 있다. 그리고 리니어 서비스는 트리거드 앱-베이스드 인핸스먼트(triggered app enhancements)를 포함할 수 있다.
이하에서는, 재생 가능한 콘텐트 컴포넌트를 포함하는 서비스의 유형들이 정의된다. 또한, 다른 서비스의 유형 및 컴포넌트들도 정의될 수 있다.
리니어 서비스는 프라이머리 콘텐트(primary content)가 적어도 하나의 연속적인 컴포넌트를 포함하는 서비스이다. 연속적인 컴포넌트는 방송에 의해서 정의된 스케줄 및/또는 타임베이스에 따라서 소비될 수 있다. 리니어 서비스는 소비자에 의해서 소비 시간을 변경하기 위해서 사용되는 타임-쉬프티드 뷰잉 메커니즘(time-shifted viewing mechanisms)의 다양한 유형들은 포함하지 않을 수 있다.
서비스 컴포넌트는 비디오 컴포넌트, 오디오 컴포넌트, 클로우즈드 캡션 컴포넌트, 타임베이스, 트리거드 앱-베이스드 인핸스먼트, 및/또는 오토-런치 앱-베이스드 인핸스먼트 중에서 적어도 하나를 포함할 수 있다. 타임베이스는 적어도 하나의 컴포넌트를 동기화하기 위해서 사용될 수 있다.
트리거드 앱-베이스드 인핸스먼트와 관련하여, 각각의 인핸스먼트는 서비스의 일부로서 전달되는 활성화 통지(activation notification)에 따라서 동기화된 방식(synchronized fashion)으로 런칭되거나 동작되는 적어도 하나의 어플리케이션을 포함할 수 있다.
인핸스먼트 컴포넌트는 활성화 통지 스트림(stream of activation notification), 어플리케이션, 콘텐트 아이템, 및/또는 온-디맨드 컴포넌트 중에서 적어도 하나를 포함할 수 있다. 어플리케이션은 통지의 타켓이된 어플리케이션일 수 있다.
선택적으로, 어플리케이션 중에서 어느 하나는 프라이머리 어플리케이션으로 지정될 수 있다. 만약 지정된 프라이머리 어플리케이션이 존재하면, 프라이머리 어플리케이션은 해당 서비스가 선택되자마자 활성화될 수 있다. 다른 어플리케이션은 통지 스트림에 포함된 통지에 의해서 활성화될 수 있다. 또한, 어플리케이션은 이미 활성화된 다른 어플리케이션에 의해서 활성화될 수 있다.
오토-런치드 앱-베이스드 인핸스먼트와 관련하여, 각각의 인핸스먼트는 서비스가 선택되면 자동적으로 런칭되는 어플리케이션을 포함할 수 있다.
인핸스먼트 컴포넌트는 자동으로 런칭되는 어플리케이션, 활성화 통지의 스트림, 및/또는 콘텐트 아이템 중에서 적어도 하나를 포함할 수 있다.
여기에서, 리니어 서비스는 오토-런치드 앱-베이스드 인핸스먼트 및/또는 트리거드 앱-베이스드 인핸스먼트를 포함할 수 있다. 예를 들어, 오토-런치드 앱-베이스드 인핸스먼트는 대상이된 광고 삽입(targeted advertisement insertion)을 수행하는 인핸스먼트를 포함할 수 있다. 또한, 트리거드 앱-베이스드 인핸스먼트는 인터랙티브 뷰잉 익스피리언스(interactive viewing experience)를 제공하는 인핸스먼트를 포함할 수 있다.
앱-베이스드 서비스는 서비스가 선택될때마다 지정된 어플리케이션이 런칭되는 서비스이다. 앱-베이스드 서비스는 앱-베이스드 인핸스먼트를 포함할 수 있다. 앱-베이스드 서비스에 포함된 앱-베이스드 인핸스먼트는 지정된 프라이머리 어플리케이션을 포함할 수 있다.
어플리케이션은 콘텐트 아이템의 특별한 케이스이다. 즉, 어플리케이션은 적어도 하나의 파일을 포함할 수 있다. 적어도 하나의 파일의 집합은 어플리케이션을 구성할 수 있다. 적어도 하나의 서비스 컴포넌트는 적어도 하나의 서비스 사이에서 공유될 수 있다.
앱-베이스드 서비스에 포함된 어플리케이션은 온-디맨드 콘텐트의 재생을 시작할 수 있다.
패키징된 적어도 하나의 어플리케이션을 포함하는 오토-런치드 앱-베이스드 서비스의 개념(notion)을 병합(merging)하는 것에 대한 몇가지 접근법이 있다.
차세대 방송 수신 장치(e. g. TV set)는 다음과 같은 특징을 가질 수 있다.
사용자는 서비스 가이드에서 오토-런치드 앱-베이스드 서비스를 선택할 수 있다. 그리고 사용자는 오토-런치드 앱-베이스드 서비스를 favorite service, acquired service, 및/또는 기타 서비스 중에서 하나로 지정할 수 있다. 그 결과, 서비스의 기초를 형성하는 어플리케이션이 방송 수신 장치로 다운로드되거나 설치될 수 있다. 그리고 나서, 사용자는 favorite 어플리케이션 또는 acquired 어플리케이션을 보여달라고 요청할 수 있다. 그리고 나서, 사용자는 다운로드 및/또는 설치된 모든 어플리케이션들을 방송 수신 장치 및/또는 스마트 폰의 디스플레이에서 제공받을 수 있다. 그리고 나서, 사용자는 실행을 위해서 어플리케이션 중에서 적어도 하나를 선택할 수 있다. 그 결과, 서비스 가이드는 어플리케이션 스토어(app store)와 같은 동작을 수행할 수 있다.
또한, 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface, API)가 존재할 수 있다. API는 어플리케이션이 favorite service 및/또는 acquired service로서 오토-런치드 앱-베이스드 서비스를 식별하도록한다. 불량 어플리케이션(rogue application)이 사용자 몰래 동작되는 것을 방지하기 위해서, 이러한 API의 수행은 사용자에게 “Are You Sure”과 같은 질문을 포함할 수 있다. 이것은 패키징된 어플리케이션(packaged application)을 설치하는 것과 동일한 효과를 제공한다.
각각의 서비스는 콘텐트에 해당하는 콘텐트 아이템을 포함할 수 있다. 콘텐트 아이템은 통합된 전체로서 소비되는 적어도 하나의 파일을 포함할 수 있다. 온-디맨드 콘텐트는 뷰어(viewer)에 의해서 선택된 특정 시간에 재생되는 콘텐트이다. 온-디맨드 콘텐트는 어플리케이션에 의해서 제공되는 유저 인터페이스를 통해서 선택될 수 있다. 온-디맨드 콘텐트는 연속적인 콘텐트(continuous content) 및/또는 비-연속적인 콘텐트(non-continuous content)를 포함할 수 있다. 연속적인 콘텐트는 비디오 콘텐트 및/또는 오디오 콘텐트를 포함할 수 있다. 비-연속적인 콘텐트는 적어도 하나의 HTML page 및/또는 적어도 하나의 이미지를 포함할 수 있다.
도 118은 본 발명의 일 실시예에 따른 Complex Audio Component의 예를 나타낸 도면이다.
재생 가능한 오디오 컴포넌트(presentable audio component)는 PickOne Component 일 수 있다. PickOne Component는 complete main component를 포함할 수 있다. 또한, PickOne Component는 music track, dialog track, 및/또는 effects track 중에서 적어도 하나를 포함할 수 있다. music track, dialog track, 및/또는 effects track는 혼합될(mixed) 수 있다.
이러한 접근은 서비스의 재생 가능한 컴포넌트에 대한 리스트만 직접적으로 제공할 수 있다. 그리고 나서, 이러한 접근은 Complex Component들에 포함된 적어도 하나의 member component의 리스트를 계층적으로 제공할 수 있다.
컴포넌트 모델의 가능한 언바운드된 반복(possible unbounded recursion)을 묶기 위하여, 몇가지 제한들이 도입될 수 있다. 연속적인 컴포넌트는 3단계 레벨 계층에 들어맞을 수 있다(fit into a three level hierarchy). 3단계 레벨 계층은 top level, middle level, 및/또는 bottom level를 포함할 수 있다. Top level은 적어도 하나의 PickOne Component를 포함할 수 있다. Middle level은 적어도 하나의 Composite Component를 포함할 수 있다. Bottom level은 적어도 하나의 PickOne Component를 포함할 수 있다. 특정한 연속적인 컴포넌트(particular Continuous Component)는 3단계 레벨을 모두 포함할 수 있고, 3단계 레벨 중에서 적어도 하나를 포함할 수 있다. 또한, 연속적인 컴포넌트는 3단계 레벨을 포함하지 않을 수도 있고, 연속적인 컴포넌트는 단순히 Elementary Component일 수도 있다.
하이브리드 방송에서는 어플리케이션을 통한 서비스 제공이 가능하다. 구체적으로 방송사는 방송의 컨텐츠와 연관된 정보를 어플리케이션을 통해 제공할 수 있다. 예컨대, 방송사는 방송의 컨텐츠의 등장인물이 사용하는 상품을 구입할 수 있는 어플리케이션을 제공할 수 있다. 이러한 어플리케이션을 위해 방송 전송 장치(10)는 어플리케이션을 시그널링하는 어플리케이션 시그널링 정보를 전송할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다. 이에 대해 다음의 도면들을 통해 설명한다.
트리거링 어플리케이션 정보는 어플리케이션을 실행하는데 필요한 부가 정보를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 어플리케이션의 속성을 포함할 수 있다. 또한, 트리거링 어플리케이션 정보는 어플리케이션이 포함하는 파일을 다운로드 수신할 수 있는 위치를 포함할 수 있다. 또한, 트리거링 어플리케이션 정보는 어플리케이션이 사용하는 NRT 컨텐츠 아이템을 수신할 수 있는 위치를 포함할 수 있다.
또한, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 구체적으로 어플리케이션의 라이프싸이클은 준비(preparing), 실행(executing), 종료(terminating), 및 중지(suspending) 중 적어도 어느 하나를 포함할 수 있다. 예컨대, 어플리케이션은 준비 상태를 통해 실행을 준비할 수 있다. 또한, 준비 상태에서 어플리케이션을 실행할 수 있다. 또한, 어플리케이션을 실행을 종료하여 종료 상태로 진입할 수 있다. 또한, 어플리케이션의 실행을 잠시 멈추고 중지 상태로 진입할 수 있다.
트리거링 어플리케이션 정보는 어플리케이션이 실행할 동작(action)을 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 어플리케이션 동작을 수행하기 위해 필요한 데이터를 포함할 수 있다.
트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다. 구체적으로 어플리케이션과 동기화되는 컨텐츠의 미디어 타임을 포함할 수 있다.
구체적으로 방송 전송 장치(10)는 어플리케이션의 동작을 트리거링하는 트리거를 전송할 수 있다. 또한, 방송 수신 장치(100)는 트리거에 기초하여 어플리케이션이 특정 동작을 수행하게 할 수 있다. 구체적으로 트리거는 다음과 같은 형식을 가질 수 있다.
트리거는 등록된 인터넷 도메인 네임을 나타내는 도메인 파트를 포함할 수 있다. 또한, 트리거는 도메인 파트가 나타내는 도메인 네임의 디렉토리 경로(directory path)를 식별하는 무작위의 문자열(character string)을 나타내는 디렉토리 경로 파트를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하기 위한 파라미터를 나타내는 파라미터 파트를 포함할 수 있다. 구체적으로 트리거는 다음과 같은 형식일 수 있다.
<domain name part>/<directory path>[? <parameter>]
이때, 도메인 네임 파트와 디렉토리 경로 파트는 트리거가 필수적으로 포함하는 필수 파트일 수 있다. 또한, 파라미터 파트는 트리거가 선택적으로 포함하는 선택 파트일 수 있다. 파라미터 파트는 이벤트를 식별하는 이벤트 식별자, 트리거의 대상이되는 어플리케이션을 식별하는 어플리케이션 식별자, 및 이벤트가 수행되는 시간을 나타내는 타이밍 값 중 적어도 어느 하나를 포함할 수 있다. 또한, 파라미터 파트는 컨텐츠의 미디어 타임을 포함할 수 있다. 또한, 파라미터 파트는 방송 수신 장치(100)가 재생하는 컨텐츠를 식별하는 컨텐츠 식별자를 포함할 수 있다. 또한, 파라미터 파트는 방송 수신 장치(100)의 트리거링 어플리케이션 정보 요청 트래픽을 분산하기 위한 분산 정보를 포함할 수 있다. 또한, 파라미터 파트는 트리거와 연관된 트리거링 어플리케이션 정보의 버전을 나타내는 버전 정보를 포함할 수 있다.
구체적으로 파라미터 파트는 다음의 스트링 중 적어도 어느 하나를 포함할 수 있다.
<media time>
<media time> and <spread>
<media time> and <version>
<media time> and <version> and <spread>
<event time>
<event time> and <spread>
<event time> and <version>
<event time> and <version> and <spread>
<event time>은 이벤트를 식별하는 이벤트 식별자(ID)를 포함할 수 있다. 이때, 이벤트는 트리거에 의해 어플리케이션이 동작을 수행하는 것을 나타낼 수 있다. 이때, 이벤트 식별자는 “e=”로 지정될 수 있다. 또한, 이벤트 식별자는 “e=”에 따라오는 두 개 또는 세 개의 십진수를 포함할 수 있다. 이때, 십진수는 마침표(“.”)에 의해 구분될 수 있다. 또한, <event time>은 트리거링의 대상이 되는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 이때, 어플리케이션은 트리거 선언적 오브젝트(Triggered Declarative Object, TDO)라 할 수 있다. 또한, 어플리케이션 식별자는 트리거링 어플리케이션 정보의 어플리케이션 식별자에 매칭될 수 있다. 따라서, 방송 수신 장치(100)는 트리거의 어플리케이션 식별자에 기초하여 트리거링 어플리케이션 정보로부터 트리거의 대상이되는 어플리케이션에 관한 정보를 획득할 수 있다. 이때, 트리거링 어플리케이션 정보는 트리거 정보를 시그널링하는 TDO 파라미터 테이블(TDO Parameter Table, TPT)일 수 있다. 또한, 파라미터 파트는 이벤트에 사용되는 데이터 엘리먼트를 식별하는 데이터 식별자를 포함할 수 있다. 또한, 파라미터 파트는 이벤트가 수행되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 이때, 타이밍 값은 “t=”로 지정될 수 있다. 구체적인 실시예에서 타이밍 값은 “t=”에 따라오는 한 개 이상 여덟 개 이하의 글자가 나타내는 16진수 값으로 지정될 수 있다. <event time>이 타이밍 값을 포함하지 않는 경우, 트리거는 어플리케이션에게 해당 이벤트를 트리거를 수신한 시간에 수행할 것을 트리거링할 수 있다.
<media time>은 컨텐츠의 미디어 타임을 포함할수 있다. 구체적으로 <media time>은 트리거가 트리거링하는 어플리케이션과 동기화되는 컨텐츠의 미디어 타임 스탬프를 나타낼 수 있다. 구체적으로 미디어 타임은 “m=”에 의해 지정될 수 있다. 미디어 타임은“m=”에 따라오는 한 개 이상 여덟 개 이하의 글자가 나타내는 16진수에 의해 지정될 수 있다. 미디어 타임의 단위는 밀리 초 단위일 수 있다. 또한, <media time>은 방송 수신 장치(100)가 현재 재생중인 컨텐츠를 식별하는 컨텐츠 식별자를 나타낼 수 있다. 컨텐츠 식별자는 “c=”에 의해 지정될 수 있다. 구체적으로 직접 실행 모델(direct execution model)에 의한 어플리케이션이 실행될 경우, <media time>은 컨텐츠 식별자를 포함할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 동기화를 위한 기준 시간을 전달하는 타임 베이스 트리거를 수신하고, 타임 베이스 트리거에서 컨텐츠 식별자를 추출할 수 있다. 이때, 방송 수신 장치(100)는 컨텐츠 식별자를 양방향 서비스(interaction service)를 위한 서버에게 전송하여 방송 수신 장치(100)가 현재 재생 중인 컨텐츠를 위한 양방향 서비스를 수신할 수 있다.
<version>은 트리거와 연관된 트리거링 어플리케이션 정보의 버전을 나타내는 버전 정보를 포함할 수 있다. 이때, 트리거링 어플리케이션 정보는 TPT일 수 있다. 구체적으로 버전 정보는 “v=”에 의해 지정될 수 있다. 또한, 버전 정보는 “v=”의 뒤에 따라오는 한 개 이상 세 개 이하의 글자들이 나타내는 십진수에 의해 지정될 수 있다. 방송 수신 장치(100)는 트리거로부터 버전 정보를 추출하고, 버전 정보에 기초하여 트리거링 어플리케이션 정보를 획득할 수 있다.
<spread>는 방송 수신 장치(100)가 어플리케이션 시그널링 정보를 제공하는 서버에 트리거링 어플리케이션 정보를 요청하기 위해 기다려야 하는 시간을 산출하는 기준이되는 분산 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 분산 정보가 나타내는 시간을 기준으로 무작위 값을 산출하여, 무작위 값만큼 대기한 후 트리거링 어플리케이션 정보를 요청할 수 있다. 분산 정보는 “s=”에 의해 지정될 수 있다. 구체적으로 분산 정보는 “s=” 뒤에 따라오는 한 개 이상 세 개 이하의 문자가 나타내는 십진수에 의해 지정될 수 있다. 분산 정보를 통해 복수의 방송 수신 장치(100)가 트리거링 어플리케이션 정보를 한번에 요청하여, 트리거링 어플리케이션 정보를 제공하는 서버의 트래픽이 트리거를 수신하는 시간에 집중되는 것을 방지할 수 있다.
<other> 는 앞서 설명한 파라미터 이외의 정보를 포함할 수 있다. 방송 수신 장치(100)는 인식할 수 없는 파라미터는 무시할 수 있다.
컨텐츠의 미디어 타임을 포함하는 트리거는 타임 베이스 트리거라 지칭될 수 있다. 구체적으로 타임 베이스 트리거는 방송 수신 장치(100)가 재생하는 컨텐츠의 미디어 타임 스탬프를 전달할 수 있다. 또한, 방송 수신 장치(100)는 타임 베이스 트리거에 기초하여 어플리케이션 동작과 컨텐츠의 동기화를 위한 기준인 기준 시간을 생성할 수 있다.
이벤트 시간을 포함하는 트리거는 액티베이션 트리거라 지칭될 수 있다. 액티베이션 트리거는 해당 이벤트를 수행하는 시간을 지정하기 때문이다. 방송 수신 장치(100)는 트리거의 이벤트 시간에 기초하여 트리거링되는 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거로부터 이벤트 시간을 추출하고, 이벤트 시간에 트리거링되는 동작을 수행할 수 있다.
또한, 트리거의 파라미터 파트는 이벤트가 수행되기 시작하는 시간을 나타내는 타이밍 값뿐만 아니라 해당 이벤트가 종료되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 또한, 방송 수신 장치(100)는 이벤트가 수행되기 시작하는 시간 이후이면서 이벤트가 종료되는 시간 이전에 트리거를 수신한 경우, 해당 트리거에 의해 트리거링되는 이벤트를 수행할 수 있다. 구체적으로 파라미터 파트는 <event start time>과 <event end time>을 포함할 수 있다.
<event start time>은 이벤트가 수행되기 시작하는 시간을 나타내는 타이밍 값을 포함할 수 있다. 타이밍 값은 이벤트를 식별하는 “e=”뒤에 “st=”로 지정될 수 있다.
<event end time>은 이벤트가 종료되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 타이밍 값은 이벤트를 식별하는 “e=”뒤에 “et=”로 지정될 수 있다.
도 119는 앞서 설명한 트리거 신택스에 따른 트리거를 보여준다.
또 다른 구체적인 실시예에서 트리거 신택스는 일정한 시간에 표시되는 타임드 텍스트(timed text)의 형식일 수 있다. 구체적으로 타임드 텍스트는 자막(claosed caption)일 수 있다.
도 120은 본 발명의 일 실시예에 따른, 어플리케이션과 관련한 속성 정보를 나타낸 도면이다.
어플리케이션과 관련된 속성 정보는 content advisory 정보를 포함할 수 있다.
본 발명의 일 실시예에 따라 추가될 수 있는 어플리케이션과 관련된 속성 정보는, Application ID 정보, Application version 정보, Application type 정보, Application location 정보, Capabilities 정보, Required synchronization level 정보, Frequency of use 정보, Expiration date 정보, Data item needed by application 정보, Security properties 정보, Target devices 정보, 및/또는 Content advisory 정보를 포함할 수 있다.
Application ID 정보는 Application을 식별할 수 있는 고유의 ID를 나타낸다.
Application version 정보는 Application의 version 을 나타낸다.
Application type 정보는 Application의 type을 나타낸다.
Application location 정보는 Application의 위치를 나타낸다. 예를 들면, Application location 정보는 어플리케이션을 수신할 수 있는 URL 을 포함할 수 있다.
Capabilities 정보는 Application을 render할 수 있도록 하는 capability 속성을 나타낸다.
Required synchronization level 정보는 방송 스트리밍과 application 간의 synchronization 레벨 정보를 나타낸다. 예를 들면, Required synchronization level 정보는 Program 혹은 event 단위, 시간 단위 (예를 들면, 2초 이내), lip sync, 및/또는 frame 레벨 sync 등의 내용을 나타낼 수 있다.
Frequency of use 정보는 Application의 사용 빈도를 나타낸다.
Expiration date 정보는 Application의 사용 만료일/만료 시각을 나타낸다.
Data item needed by applicaion 정보는 Application에서 사용하는 data 정보를 나타낸다.
Security properties 정보는 Application의 보안 관련 정보를 나타낸다.
Target devices 정보는 Application이 사용될 Target device 정보를 나타낸다. 예를 들면, Target devices 정보는 해당 어플리케이션의 실행되는 타겟 기기가 TV 및/또는 모바일 기기임을 나타낼 수 있다.
Content advisory 정보는 Application의 사용할 수 있는 등급을 나타낸다. 예를 들면, Content advisory 정보는 어플리케이션을 사용할 수 있는 나이 제한 정보를 포함할 수 있다.
도 121은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
앞서 설명한바와 같이 트리거링 어플리케이션 정보를 TPT라 지칭할 수 있다. 트리거링 어플리케이션 정보는 모든 프로그램 세그먼트 또는 시간에 따른 부분 프로그램 세그먼트에 해당하는 어플리케이션을 시그널링할 수 있다. 이때, 프로그램 세그먼트는 프로그램이 포함하는 시간 구간을 나타낸다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 프로토콜 버전을 나태는 프로토콜 버전 정보를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로토콜의 주 버전 정보를 나타내는 메이저 프로토콜 버전 정보와 프로토콜의 부가적인 버전 정보를 나타내는 마이너 프로토콜 버전 정보를 포함할 수 있다. 이때, 메이저 프로토콜 버전 정보 3비트 정수일 수 있다. 방송 수신 장치(100)는 메이저 프로토콜 버전 정보 및 마이너 프로토콜 정보 중 적어도 어느 하나를 지원하지 못하는 경우, 트리거링 어플리케이션 정보를 버릴 수 있다. 메이저 프로토콜 버전 정보는 MajorProtocolVersion으로 지칭될 수 있다. 마이널 프로토콜 버전 정보는 MinorProtocolVersion으로 지칭될 수 있다. 구체적인 실시예에서 메이저 프로토콜 버전 정보는 3비트 엘리먼트일 수 있다. 또한, 마이너 프로토콜 버전 정보는 4비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보를 식별하는 식별자를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로그램 세그먼트를 식별하는 식별자일 수 있다. 구체적인 실시예에서 프로그램 세그먼트를 식별하는 식별자는 도메인 네임과 프로그램 아이디를 조합하여 생성된 것일 수 있다. 예컨대, 식별자는 domain_name/program_id일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 갱신 이력을 나타내기 위한 버전 정보를 포함할 수 있다. 버전 정보는 트리거링 어플리케이션 정보가 변경될 때 마다 그 값이 변경될 수 있다. 방송 수신 장치(100)는 버전 정보에 기초하여 트리거링 어플리케이션 정보가 포함하는 구체적인 정보를 추출할 지 결정할 수 있다. 구체적인 실시예에서 버전 정보는 tptVersion으로 지칭될 수 있다. 구체인 실시예에서 버전 정보는 8 비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 만료(expiration) 날짜와 시간을 나타내는 만료 시간 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 어플리케이션 정보를 저장하고, 만료 시간 정보가 나타내는 만료 날짜와 시간 전까지 트리거링 어플리케이션 정보를 재 사용할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expirationDate라 지칭될 수 있다. 구체적인 실시예에서 만료 시간 정보는 16비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 업데이트를 체크하는 시간 간격을 나타내는 시간 간격 정보를 포함할 수 있다. 구체적으로 방송 수신 장치는(100)는 시간 간격 정보가 나타내는 시간 간격으로 트리거링 어플리케이션 정보를 업데이트할 수 있다. 구체적인 실시예에서 시간 간격 정보는 updatingTime라 지칭될 수 있다. 구체적인 실시예에서 시간 간격 정보는 16비트 정수일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션을 포함하는 서비스를 식별하는 서비스 식별자를 포함할 수 있다. 구체적인 실시예에서 서비스 식별자는 ATSC 표준에서 정의하는 비실시간(Non-Real-Time, NRT) 서비스의 식별자를 나타낼 수 있다. 구체적인 실시예에서 서비스 식별자는 serviceId로 지칭될 수 있다. 구체적인 실시예에서 서비스 식별자는 16 비트 정수일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 포함된 URL의 기본 주소를 나타내는 베이스 URL을 포함할 수 있다. 구체적인 실시예에서 베이스 URL은 baseURL로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 의해 시그널링되는 어플리케이션을 재생(presentation)하기 위해 필요한 필수적인 성능을 나타내는 성능 정보를 포함할 수 있다. 성능 정보는 ATSC 표준에서 정의하는 Capabilities Descriptor의 정의를 따를 수 있다. 구체적인 실시예에서 성능 정보는 Capabilities라 지칭될 수 있다.
트리거링 어플리케이션 정보는 컨텐츠의 전송과 함께 실시간으로 생성되어 인터넷으로 전송되는 라이브 트리거 정보를 포함할 수 있다. 구체적으로 라이브 트리거 정보는 라이브 트리거를 전송하는 서버의 URL을 포함할 수 있다. 또한, 라이브 트리거 정보는 라이브 트리거가 폴링(polling) 방식에 의해 전송될 경우 폴링 주기(period)를 포함할 수 있다. 구체적인 실시예에서 라이브 트리거 정보는 LiveTrigger로 지칭될 수 있다. 또한, 라이브 트리거를 전송하는 서버의 URL은 URL로 지칭될 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션에 관한 정보를 포함할 수 있다. 또한 어플리케이션 정보는 어플리케이션에 관한 구체적인 정보를 하위 엘리먼트로 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 TDO로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 식별자는 appID로 지칭될 수 있다. 또한 구체적인 실시예에서 어플리케이션 식별자는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 종류를 나타내는 어플 타입 정보를 포함할 수 있다. 구체적인 실시예에서 어플 타입 정보의 값이 1이면, 어플 타입 정보는 TDO임을 나타낼 수 있다. 구체적인 실시예에서 어플 타입 정보는 appType으로 지칭될 수 있다. 구체적인 실시예에서 어플 타입 정보는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이름을 나타내는 어플 이름 정보를 포함할 수 있다. 구체적인 실시예에서 어플 이름 정보는 appName라 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 세계적으로 유일하게 식별하는 글로벌 식별자를 포함할 수 있다. 글로벌 식별자는 해당 트리거링 어플리케이션 정보에서 뿐만아니라 다른 어플리케이션 정보에서도 동일한 어플리케이션을 나타내는 것으로 사용될 수 있다. 구체적인 시실시예에서 글로벌 식별자는 globalID로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 갱신 이력을 나타내는 버전 정보인 어플리케이션 버전 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 버전 정보는 appVersion으로 지칭될 수 있다. 구체적인 실시예에서 appVersion은 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 방송 수신 장치(100)가 어플리케이션을 실행하기 위해 필요한 영구적인(persistent) 저장 공간의 크기를 나타내는 쿠키(cookie) 공간(space) 정보를 포함할 수 있다. 쿠키 공간 정보는 어플리케이션을 실행하기 위해 필요한 저장 공간의 크기를 킬로 바이트 단위로 나타낼 수 있다. 구체적인 실시예에서 쿠기 공간 정보는 cookieSpace로 지칭될 수 있다. 구체적인 실시예에서 쿠키 공간 정보는 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 사용 빈도를 나타내는 사용 빈도 정보를 포함할 수 있다. 사용 빈도 정보는 오직 한 번, 매시간, 매일, 매주, 및 매달 중 적어도 어느 하나를 나타낼 수 있다. 구체적인 실시예에서 사용 빈도 정보는 1 이상 16 이하의 값을 가질 수 있다. 구체적인 실시예에서 사용 빈도 정보는 frequencyOfUse로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 만료 시간과 날짜를 나타내는 만료 시간 정보를 포함할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expireDate로 지칭될 수 있다.
어플리케이션 정보는 시험 방송을 위한 어플리케이션임을 나타내는 시험 어플리케이션 정보를 포함할 수 있다. 방송 수신 장치(100)는 시험 어플리케이션 정보에 기초하여 시험 방송을 위한 어플리케이션을 무시할 수 있다. 구체적인 실시예에서 시험 어플리케이션 정보는 testTDO로 지칭될 수 있다. 구체적인 실시예에서 시험 어플리케이션 정보는 불리안(Boolean) 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 어플리케이션을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다.
어플리케이션 정보는 어플리케이션을 재생하기 위해서 요구되는 필수 성능 정보를 나타내는 성능 정보를 포함할 수 있다. 구체적인 실시예에서 성능 정보는 Capabilities로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 경계(boundary)를 나타내는 어플리케이션 경계 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 경계 정보는 ApplicationBoundary로 지칭될 수 있다.
또한, 어플리케이션 경계 정보는 어플리케이션의 경계를 추가하기 위해 필요한 오리진(origin) URL 정보를 포함할 수 있다. 오리진 URL 정보는 originURL로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션이 사용하는 컨텐츠 아이템에관한 정보를 나타내는 컨텐츠 아이템 정보를 포함할 수 있다. 컨텐츠 아이템 정보는 컨텐츠 아이템에 관한 구체적인 정보를 포함할 수 있다. 구체적인 실시예에서 컨텐츠 아이템 정보는 contentItem으로 지칭될 수 있다.
컨텐츠 아이템은 해당 컨텐츠 아이템의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. URL 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 컨텐츠 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 컨텐츠 아이템을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다. 구체적인 실시예에서 엔트리 정보는 entry로 지칭될 수 있다.
컨텐츠 아이템 정보는 해당 컨텐츠 아이템이 업데이트 가능한지 여부를 나타내는 업테이트 정보를 포함할 수 있다. 구체적으로 업데이트 정보는 컨텐트 아이템이 고정된 파일을 포함할 것인지 또는 컨텐트 아이템이 리얼 타임 데이터 피드인지 여부를 나타낸다. 구체적인 실시예에서 업데이트 정보는 updateAvail로 지칭될 수 있다. 업데이트 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템이 업데이트가 가능한 경우 컨텐츠 아이템이 포함하는 파일의 업데이트 여부를 폴링(polling) 방식으로 확인 하는 경우 폴링 주기(period)를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 폴링 주기에 기초하여 컨텐츠 아이템의 업데이트 여부를 확인할 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템의 크기를 나타내는 크기 정보를 포함할 수 있다. 구체적인 실시예에서 크기 정보는 킬로 바이트 단위로 컨텐츠 아이템의 크기를 나타낼 수 있다. 크기 정보는 size로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이벤트에 대한 정보를 나타내는 이벤트 정보를 포함할 수 있다. 구체적인 실시예에서 이벤트 정보는 Event로 지칭될 수 있다.
이벤트 정보는 이벤트를 식별하는 이벤트 식별자를 포함할 수 있다. 구체적으로 이벤트 식별자는 해당 어플리케이션 범위에서 이벤트를 유일하게 식별할 수 있다. 구체적인 실시예에서 이벤트 식별자는 eventID로 지칭될 수 있다. 구체적인 실시예에서 이벤트 식별자는 16 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트의 동작을 지시하는 동작 정보를 포함할 수 있다. 구체적으로 이벤트 정보는 준비(preparing), 실행(execution), 종료(termination or kill), 및/또는 중지(suspending)를 포함할 수 있다. 구체적인 실시예에서 동작 정보는 action으로 지칭될 수 있다.
이벤트 정보는 어플리케이션이 타겟팅하는 타겟 장치를 나타내는 목적지 정보를 포함할 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치만을 위한 것임을 나타낼 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치와 연동하는 하나 또는 복수의 연동 장치만을 위한 것임을 나타낼 수 있다. 또한, 목적지 정보는 어플리케이션이 주 장치와 연동 장치 모두를 위한 것임을 나타낼 수 있다. 구체적인 실시예에서 목적지 정보는 destination으로 지칭될 수 있다.
이벤트 정보는 트리거링 어플리케이션 정보 요청을 확산하기 위한 확산 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 확산 정보에 기초하여 무작위 값을 산출하여 무작위 값만 큼 대기후 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적으로 방송 수신 장치(100)는 무작위 값에 10ms를 곱한 만큼을 대기한 뒤, 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적인 실시예에서 확산 정보는 diffusion으로 지칭될 수 있다. 구체적인 실시예에서 확산 정보는 8 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트와 연관된 데이터를 나타내는 데이터 정보를 포함할 수 있다. 각각의 이벤트는 이벤트와 연관된 데이터 엘리먼트를 가질 수 있다. 구체적인 실시예에서 데이터 정보는 Data로 지칭될 수 있다.
데이터 정보는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 데이터 식별자는 dataID로 지칭될 수 있다. 데이터 식별자는 16 비트 엘리먼트일 수 있다.
도 122는 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 차세대 하이브리드 방송 시스템의 어플리케이션과 관련된 속성 정보 및/또는 트리거링 어플리케이션 정보(application property)의 XML 포멧에 대한 실시예가 나타나있다.
xml version은 "1.0"을 지시할 수 있다. encoding은 "utf-8"을 지시할 수 있다.
TPT의 majorProtocolVersion은 "5"를 지시할 수 있다. TPT의 minorProtocolVersion은 "5"를 지시할 수 있다. TPT의 Id는 “http://www.atsc.com”를 지시할 수 있다. TPT의 tptVersion은 "5"를 지시할 수 있다. TPT의 expireDate는 "2014-12-13T12:12:12"를 지시할 수 있다. TPT의 updatingTime은 "12"를 지시할 수 있다. TPT의 serviceID는 "12"를 지시할 수 있다. TPT의 baseURL은 http://www.atsc.com를 지시할 수 있다.
TPT의 Capabilities는 default 값을 지시할 수 있다.
TPT의 LiveTrigger URL은 “http://www.atsc.com/liveTrigger”를 지시할 수 있다. TPT의 pollPeriod는 "5"를 지시할 수 있다.
TDO의 appId는"12"를 지시할 수 있다. TDO의 appType은 "5"를 지시할 수 있다. TDO의 appName은 “quiz01"를 지시할 수 있다. TDO의 globalID는 “http://www.atsc.com”를 지시할 수 있다. TDO의 appVersion은 "5"를 지시할 수 있다. TDO의 cookieSpace는 "5"를 지시할 수 있다. TDO의 frequencyOfUse는 "5"를 지시할 수 있다. TDO의 expireDate는 "2012-12-13T12:12:12"를 지시할 수 있다. TDO의 testTDO는 "true"를 지시할 수 있다. TDO의 availInternet는 "true"를 지시할 수 있다. TDO의 availBroadcast는 "true"를 지시할 수 있다.
TDO의 URL의 entry는 "true"를 지시할 수 있다. TDO의 URL은 “http://www.atsc.com/app”를 지시할 수 있다.
TDO의 Capabilities는 default 값을 지시할 수 있다.
TDO의 ApplicationBoundary는 OriginURL을 포함할 수 있다.
TDO의 OriginURL은 “http://www.atsc.com/appBoundary”을 지시할 수 있다.
콘텐트 아이템의 updatesAvail는 "true"를 지시할 수 있다. 콘텐트 아이템의 pollPeriod는 "5"를 지시할 수 있다. 콘텐트 아이템의 Size는 "123"를 지시할 수 있다. 콘텐트 아이템의 availInternet는 "true"를 지시할 수 있다. 콘텐트 아이템의 availBroadcast는 "true"를 지시할 수 있다.
콘텐트 아이템의 URL의 entry는"true"를 지시할 수 있다. 콘텐트 아이템의 URL은 http://www.atsc.com/contentItem를 지시할 수 있다.
TDO는 제1 Event 및 제2 Event를 포함할 수 있다.
제1 Event의 eventID는 “1"을 지시할 수 있다. 제1 Event의 action은 “exec”를 지시할 수 있다. 제1 Event의 destination은 “2"를 지시할 수 있다. 제1 Event의 diffusion은 “5"를 지시할 수 있다.
제1 이벤트의 Data의 dataID는 “10"를 지시할 수 있다. 제1 이벤트의 data는 “AAAAZg==”를 지시할 수 있다.
제2 이벤트의 eventID는“2"를 지시할 수 있다. 제2 이벤트의 action은 “kill”를 지시할 수 있다. 제2 이벤트의 destination은 “2"를 지시할 수 있다. 제2 이벤트의 diffusion은 “5"를 지시할 수 있다.
제2 이벤트의 Data의 dataID는 “11"를 지시할 수 있다. 제2 이벤트의 data는 “YTM0NZomIzI2OTsmIzM0NTueYQ==”를 지시할 수 있다.
하이브리드 방송에서는 앞서 설명한 바와 같이 MPEG-DASH 프로토콜과 MMT 프로토콜을 사용하여 미디어 컨텐츠를 전송할 수 있다. 이러한 미디어 컨텐츠 전송시 미디어 컨텐츠와 연관된 어플리케이션을 트리거링하는 트리거를 전송할 필요가 있다. 따라서 MPEG-DASH 프로토콜과 MMT 프로토콜을 이용하여 트리거를 전송하는 방법이 필요하다. 이에 대해서 다음의 도면들을 통해 설명한다.
MPEG-DASH는 비정기적인 정보를 DASH 클라이언트 또는 어플리케이션에게 전달하기 위해 이벤트라는 것을 정의한다. 또한, MPEG-DASH는 관련된 이벤트 시퀀스를 이벤트 스트림이라 정의한다. 구체적으로 MPEG-DASH의 이벤트는 특정 시간에 맞추어 전달되어야 하는 정보(timed information)를 전달하기 위한 것일 수 있다. 이때, MPEG-DASH의 이벤트가 포함하는 구체적인 정보를 이벤트의 메시지라 할 수 있다. MPEG-DASH의 이벤트는 MPD를 통해 전달될 수 있다. 또한, MPEG-DASH의 이벤트는 레프리젠테이션의 인밴드(inband)를 통해 전달될 수 있다. 방송 전송 장치(100)는 어플리케이션을 트리거링하기 위한 트리거를 MPEG-DASH의 이벤트로 전송할 수 있다.
MPEG-DASH의 이벤트를 MPD를 통해 전달하는 것을 도 123 내지 도 124를 통해 설명한다.
도 123은 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 신택스를 보여준다. 도 124는 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 Event 엘리먼트의 신택스를 보여준다.
MPEG-DASH의 이벤트 시퀀스의 재생 시간(presentation time)은 피리어드 레벨로 제공될 수 있다. 구체적으로 MPD의 피리어드 엘리먼트는 이벤트 스트림에 관한 정보를 나타내는 이벤트 스트림 엘리먼트를 포함할 수 있다. 방송 수신 장치(100)는 이벤트가 포함된 피리어드의 종료 시간이 지나면 이벤트를 종료할 수 있다. 특히, 방송 수신 장치(100)는 이벤트가 피리어드의 경계 시간에 시작한 경우에도 이벤트가 포함된 피리어드의 종료 시간이 지나면 이벤트를 종료할 수 있다.
피리어드 엘리먼트는 이벤트 스트림에 관한 정보를 포함하는 이벤트 스트림 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 이벤트 스트림 엘리먼트는 Event Stream으로 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트가 포함하는 메시지의 형식을 식별하는 형식 식별자 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 형식 식별자 엘리먼트는 schemeIDUri라 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트 스트림을 위한 값을 나타내는 밸류 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 밸류 어트리뷰트는 value라 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트 스트림이 포함하는 이벤트가 시간이 정해진(timed) 이벤트인 경우 시간의 단위를 나타내는 타임 스케일 어트리뷰트를 포함할 수 있다. 구체적인 실시예에서 타임 스케일 어트리뷰트는 timescale 이라 지칭할 수 있다.
이벤트 스트림 엘리먼트는 각각의 이벤트를 특정하고 이벤트의 내용인 메시지를 포함하는 이벤트 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 이벤트 엘리먼트는 event라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트의 재생 시작 시간을 나타내는 재생 시작 시간 어트리뷰트를 포함할 수 있다. 구체적으로 재생 시작 시간 어트리뷰트는 피리어드 시작 시간을 기준으로 상대적 재생 시작 시간을 나타낼 수 있다. 재생 시작 시간 어트리뷰트가 존재 하지 않을 경우 재생 시작 시간의 값은 0일 수 있다. 구체적인 실시예에서 재생 시작 시간 어트리뷰트는 presentationTime이라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트 재생 기간을 나타내는 재생 기간 어트리뷰트를 포함할 수 있다. 재생 기간 어트리뷰트가 존재하지 않을 경우, 재생 기간의 값은 미지수(unknown)일 수 있다. 구체적인 실시예에서 재생 기간 어트리뷰트는 duration이라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트를 식별하는 식별자 어트리뷰트를 포함할 수 있다. 동일한 컨텐츠에 대한 이벤트이고, 이벤트 엘리먼트의 어트리뷰트 값이 동일한 이벤트는 동일한 식별자 엘리먼트 값을 갖는다.
MPEG-DASH의 이벤트를 인밴드 스트림을 통해 전달 하는 것을 도 125를 통해 설명한다.
도 125는 본 발명의 일 실시예에 따른 인밴드 이벤트 시그널링을 위한 이벤트 메시지 박스의 신택스를 보여준다.
방송 전송 장치(10)는 MPEG-DASH의 이벤트 스트림을 레프레젠테이션과 함께 멀티플렉싱할 수 있다. 구체적으로 방송 전송 장치(10)는 MPEG-DASH의 이벤트 스트림을 세그먼트의 일부로 레프레젠테이션과 함께 멀티플렉싱할 수 있다.
MPEG-DASH의 이벤트 스트림은 선택된 레프레젠테이션에 삽입할 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 어뎁데테이션 셋이 포함하는 일부 레프레젠테이션에 이벤트 스트림을 삽입할 수 있다. 또 다른 구체적인 실시예에서 방송 전송 장치(10)는 어뎁데테이션 셋이 포함하는 모든 레프레젠테이션에 이벤트 스트림을 삽입할 수 있다.
레프레젠테이션이 포함하는 인밴드 이벤트 스트림은 어뎁테이션 셋 또는 레프레젠테이션 레벨에 포함함되는 인밴드 이벤트 스트림 엘리먼트에 의해 나타내질 수 있다. 구체적인 실시예에서 인밴드 이벤트 스트림 엘리먼트는 InbandEventStream이라 지칭될 수 있다. 구체적인 실시예에서 하나의 레프리젠테이션은 복수의 인밴드 이벤트 스트림을 포함할 수 있다. 복수의 인밴드 이벤트 스트림 각각은 별도의 인밴드 이벤트 스트림 엘리먼트에 의해 나타내질 수 있다.
이벤트 메시지 박스(‘emsg’)는 미디어 재생 시간과 관련한 일반적인 이벤트에 대한 시그널링을 제공할 수 있다. 또한, 이벤트 메시지 박스는 DASH 동작과 관련한 특정한 동작을 시그널링할 수 있다. 미디어 세그먼트가 ISO BMFF 형식으로 인캡슐레이션 된 경우, 미디어 세그먼트는 하나 또는 복수의 이벤트 메시지 박스를 포함할 수 있다. 또한, 이벤트 메시지 박스는 무프 박스(‘moof’) 이전에 위치할 수 있다.
이벤트 메시지 박스의 형식(scheme)은 MPD에서 정의 될 수 있다. 또한, 방송 수신 장치(100)는 MPD에서 정의되지 않는 형식을 갖는 이벤트 메시지 박스를 무시할 수 있다.
이벤트 메시지 박스는 이벤트 메시지 박스의 형식을 식별하는 형식 식별자 필드를 포함할 수 있다. 구체적인 실시예에서 형식 식별자 필드는 shceme_id_uri로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 값을 나타내는 밸류 필드를 포함할 수 있다. 밸류 필드의 값은 형식 식별자 필드에 의해 식별되는 형식에 따라 다른 형식과 의미를 가질 수 있다. 구체적인 실시예에서 밸류 필드는 value로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트 메시지 박스와 관련된 시간의 단위를 나타내는 타임 스케일 필드를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드와 재생 기간 필드의 시간 단위를 나타낼 수 있다. 구체적인 실시예에서 타임 스케일 필드는 timescale로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 재생 시작 시간이 세그먼트의 가장 빠른 재생 시간으로부터 얼마나 지연된 것인지를 나타내는 재생 시작 시간 지연 필드를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 세그머트 인덱스 박스(‘sidx’)로부터 세그먼트의 가장 빠른 재생 시간을 추출할 수 있다. 이때, 방송 수신 장치(100)는 세그먼트 재생 시간에 재생 시작 시간 지연 필드가 나타내는 시간을 더하여 이벤트 재생 시작 시간을 획득할 수 있다. 구체적인 실시예에서 presentation_time_delta로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 재생 기간을 나타내는 이벤트 재생 기간 필드를 포함할 수 있다. 이벤트 재생 기간 필드의 값이 0xffff인 경우 이벤트 재생 기간이 미지수(unknown)인 것을 나타낸다. 구체적인 실시예에서 event_duartion으로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트를 식별하는 식별자 어트리뷰트를 포함할 수 있다. 동일한 컨텐츠에 대한 이벤트이고, 이벤트 메시지 박스의 어트리뷰트 값이 동일한 이벤트는 동일한 식별자 엘리먼트 값을 갖는다.
이벤트 메시지 박스는 메시지 박스의 본체(body)를 나타내는 메시지 데이터 필드를 포함할 수 있다. 메시지 데이터 필드가 갖는 데이터는 메시지 박스의 형식에 따라 달라질 수 있다.
MPEG-DASH의 이벤트 스트림을 나타내는 MPD의 엘리먼트와 인밴드 이벤트 스트림을 나타내는 이벤트 메시지 박스에 트리거의 속성을 매칭하여 어플리케이션 시그널링 정보를 전송할 수 있다. 이에 대해서는 이하에서 설명한다.
먼저, 용어의 구분을 명확하게 하기 위해 MPEG-DASH의 이벤트와 트리거링 어플리케이션 정보에서 설명한 이벤트에 대해서 설명한다. MPEG-DASH의 이벤트는 DASH 클라이언트 및/또는 어플리케이션에게 비정기적으로 전송되는 미디어 시간과 관련된 부가 정보이다. 트리거링 어플리케이션 정보에서 설명한 이벤트는 트리거가 트리거링하는 사건을 나타낸다. 구체적으로 트리거가 트리거링하는 사건은 어플리케이션이 특정 동작을 수행하는 것을 나타낼 수 있다. 또한, 트리거가 트리거링하는 사건은 어플리케이션의 상태 변화를 나타낼 수 있다. MPEG-DASH의 이벤트와 트리거가 트리거링하는 사건을 나타내는 이벤트와의 구별을 위해 트리거가 트리거링하는 사건을 트리거링 이벤트로 지칭하기로 한다. 구체적으로 트리거링 이벤트는 트리거에 의하여 발생하는 사건을 나타낼 수 있다.
도 126은 본 발명의 일 실시예에 따라 트리거 타입 정보를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 예를 들어, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거, 어플리케이션의 상태를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치(10)는 트리거 타입 정보를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 스트림 엘리먼트가 포함하는 형식 식별자 엘리먼트는 이벤트가 포함하는 메시지의 형식을 식별하는 정보를 포함할 수 있다. 예를 들어, 형식 식별자 엘리먼트는 Uniform Resource Name(URN) 또는 Uniform Resource Locator(URL)의 신텍스를 사용한 정보를 포함할 수 있다. 또한, MPD의 이벤트 스트림 엘리먼트가 포함하는 벨류 엘리먼트는 이벤트 스트림을 위한 값을 포함할 수 있다. 예를 들어, 벨류 엘리먼트는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보를 포함할 수 있다. 방송 수신 장치(100)는 MPD의 이벤트 스트림 엘리먼트에 기초하여 트리거 타입 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 MPD의 이벤트 스트림 엘리먼트로부터 형식 식별자 엘리먼트 및/또는 벨류 엘리먼트를 추출하여 트리거 타입 정보를 수신할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 형식 식별자 필드는 이벤트 메시지 박스의 형식을 식별하는 정보를 포함할 수 있다. 예를 들어, 형식 식별자 필드는 Uniform Resource Name(URN) 또는 Uniform Resource Locator(URL)의 신텍스를 사용한 정보를 포함할 수 있다. 또한, 이벤트 메시지 박스가 포함하는 벨류 필드는 이벤트의 값을 포함할 수 있다. 예를 들어, 벨류 필드는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보를 포함할 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 트리거 타입 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 형식 식별자 필드 및/또는 벨류 필드를 추출하여 트리거 타입 정보를 수신할 수 있다.
도 127은 본 발명의 일 실시예에 따라 트리거 타입 정보를 보여준다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 예를 들어, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거, 어플리케이션의 상태를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 방송 전송 장치(10)는 MPD의 이벤트 스트림 엘리먼트의 벨류 엘리먼트 및/또는 이벤트 메시지 박스의 벨류 필드를 기초로 트리거 타입 정보를 구분하여 방송 수신 장치(100)로 전달할 수 있다. 이하에서는, 벨류 엘리먼트 및/또는 벨류 필드의 값을 벨류 정보로 표현한다. 벨류 정보에 해당하는 값은 변경 및/또는 추가될 수 있다.
예를 들어, 벨류 정보가 “tpt”를 지시하면, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거를 지시할 수 있다. 트리거링 어플리케이션 정보의 위치는 uniform resource identifier(URI) 형태로 표현될 수 있다. URI는 Uniform Resource Locator(URL) 및/또는 Uniform Resource Name(URN)을 포함할 수 있다. URL은 웹 리소스의 네트워크 위치를 지시하는 정보이다. URN은 특정한 네임스페이스(namespace)의 이름에 의해서 리소스를 식별하는 정보이다. On-line 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 “http://[domain]/[directory]”와 같이 표현될 수 있다. 또한, Session(e.g. FLUTE session, ROUTE session, ALC/LCT session) 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 “file://[ip_address]/[path]”와 같이 표현될 수 있다. 즉, 형식 식별자 엘리먼트 및/또는 형식 식별자 필드는 “http://[domain]/[directory]” 및/또는 “file://[ip_address]/[path]”와 같이 표현될 수 있다.
벨류 정보가 “status”를 지시하면, 트리거 타입 정보는 어플리케이션의 상태(또는, 라이프사이클)를 시그널링하기 위한 트리거를 지시할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
벨류 정보가 “action”를 지시하면, 트리거 타입 정보는 어플리케이션의 동작을 시그널링하기 위한 트리거를 지시할 수 있다.
벨류 정보가 “mediatime”를 지시하면, 트리거 타입 정보는 미디어 시간을 시그널링하기 위한 트리거를 지시할 수 있다.
도 128은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
본 발명의 일 실시예에 따른 차세대 하이브리드 방송 시스템에서, 방송 전송 장치(10)가 트리거를 이용하여 트리거 타입 정보를 전송하면, 앞서 설명한 바와 같은 트리거링 어플리케이션 정보에서 동작 정보를 생략할 수 있다.
도 129는 본 발명의 일 실시예에 따라 트리거링되는 어플리케이션에 관한 정보의 위치를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 트리거링 어플리케이션 정보의 위치를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트의 메시지는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트의 메시지로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 130은 본 발명의 일 실시예에 따라 어플리케이션의 상태를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 상태를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 엘리먼트로부터 이벤트 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및 중지(suspending) 중 적어도 어느 하나를 나타낼 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 131은 본 발명의 일 실시예에 따라 어플리케이션의 동작을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 동작(action)을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션이 수행하는(carry-out) 동작을 나타낼 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 엘리먼트가 포함하는 메시지는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 MPEG-DASH 이벤트 메시지를 수신한 경우 MPEG-DASH의 이벤트 메시지를 무시할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션이 수행하는 동작을 나타낼 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하고재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 이벤트 메시지 박스를 수신한 경우 이벤트 메시지 박스를 무시할 수 있다.
도 132는 본 발명의 일 실시예에 따라 미디어 시간을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 컨텐츠의 미디어 시간을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트로부터 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
또한, MPD의 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다.
방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드로부터 방송 수신 장치(100)가 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이를 통해 방송 수신 장치(100)는 컨텐츠가 포함하는 미디어 시간 정보를 추출하지 않더라도 컨텐츠와 트리거링 이벤트를 동기화할 수 있다.
도 133은 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 밸류 어트리뷰트의 정의를 보여준다.
트리거를 MPEG-DASH의 이벤트로 전송하기 위해 이벤트 엘리먼트가 트리거가 시그널링하는 정보의 종류를 나타낼 수 있다. 구체적으로 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 tpt일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 status일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 action일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 mediatime일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 포함할 수 있는 모든 정보를 포함함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 trigger일 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 tpt일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 status일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 action일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 mediatime일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 포함할 수 있는 모든 트리거 속성을 포함함을 나타낼 수 있다. 이때, 밸류 필드의 값은 trigger일 수 있다. 이에 대해서는 다음의 도면을 통해 자세히 설명한다.
도 134는 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 이벤트 엘리먼트의 식별자 어트리뷰트와 메시지 어트리뷰트, 및 이벤트 메시지 박스의 식별자 필드와 메시지 데이터 필드의 매칭 관계를 보여준다.
앞서 설명한 바와 같이 하나의 MPEG-DASH의 이벤트로 트리거가 포함할 수 있는 모든 속성을 시그널링할 수 있다.
벨류 정보가 “trigger”를 지시하면, 트리거 타입 정보는 모든 트리거 속성을 하나의 이벤트로 시그널링하는 트리거를 지시할 수 있다.
구체적으로 MPEG-DASH의 이벤트의 메시지는 트리거링되는 어플리케이션을 식별하는 식별자, 트리거링 이벤트를 식별하는 식별자, 데이터를 식별하는 식별자, 트리거링 이벤트의 시작 시간, 및 트리거링 이벤트의 종료 시간 중 적어도 어느 하나를 포함할 수 있다.
이때, 이벤트 엘리먼트의 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 타임드 텍스트 형식의 트리거일 수 있다.
또한, 이벤트 메시지 박스의 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 타임드 텍스트 형식의 트리거를 포함할 수 있다.
이를 통해 방송 전송 장치(10)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 전송할 수 있다. 방송 수신 장치(100)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 획득할 수 있다.
또한, MMT 프로토콜을 통해 트리거를 시그널링할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 135는 본 발명의 일 실시예에 따른 MMT 프로토콜의 패키지의 구조를 보여준다.
앞서 설명한 바와 같이 하이브리드 방송에서 미디어 컨텐츠를 전송하기 위한 프로토콜로써 MMT 프로토콜이 사용될 수 있다. MMT 프로토콜을 통한 미디어 컨텐츠의 전송을 패키지(Package), 어셋(Asset), 미디어 프로세싱 유닛(Media Processing Unit, MPU) 및 재생 정보(Prensentation Information, PI)를 통해 설명한다.
패키지는 MMT 프로토콜이 전송하는 컨텐츠의 논리적 전송 단위이다. 구체적으로 패키지는 PI와 어셋을 포함할 수 있다.
어셋은 패키지가 포함하는 인코딩된 미디어 데이터의 단위이다. 구체적인 실시예에서 어셋은 컨텐츠가 포함하는 오디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 비디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 자막 트랙을 나타낼 수 있다. 어셋은 어셋을 제공하는 서비스 제공자 어셋은 하나 또는 복수의 MPU를 포함할 수 있다.
MPU는 MMT 포로토콜이 전송하는 컨텐츠의 미디어 처리 단위이다. 구체적으로 MPU는 복수의 액세스 유닛을 포함할 수 있다. 또한, MPU는 MPEG-4 AVC 또는 MPEG-TS와 같은 다른 형식의 데이터를 포함할 수 있다.
PI는 앞서 설명한 미디어 컨텐츠 재생 정보이다. 구체적으로 PI는 어셋을 소비하기 위해 필요한 공간적 정보와 시간적 정보 중 적어도 어느 하나를 포함할 수 있다. 구체적인 실시예에서 PI는 ISO-IEC 23008-1에서 정의하는 구성 정보(Composition Information)일 수 있다.
방송 전송 장치(10)는 패키지를 MMT 프토콜의 전송단위인 MMTP 패킷으로 전송할 수 있다. MMTP 패킷의 페이로드가 포함하는 종류에 대해서는 다음의 도면을 통해 설명한다.
도 136은 본 발명의 일 실시예에 따른 MMTP 패킷의 구조와 MMTP 패킷이 포함하는 데이터의 종류를 보여준다.
본 발명의 일 실시예에 따른 MMTP 패킷은 도 136(a)의 같은 구조를 가질 수 있다. 특히 MMTP 패킷은 타입 필드를 통해 해당 패킷이 포함하는 데이터의 종류를 나타낼 수 있다.
MMTP 패킷은 페이로드에 MPU의 프래그먼트를 포함할 수 있다. 또한, MMTP 패킷은 페이로드에 일반적인 데이터를 나타내는 제너릭 오브젝트(Generic object)를 포함할 수 있다. 구체적으로 일반적 오브젝트는 하나의 완전한 MPU일 수 있다. 또한, 제너릭 오브젝트는 다른 타입의 오브젝트일 수 있다. 또한, MMTP 패킷은 페이로드에 시그널링 메시지를 포함할 수 있다, 구체적으로 MMTP 패킷은 하나 또는 복수의 시그널링 메시지를 포함할 수 있다. 또한 MMTP 패킷은 시그널링 메시지의 프래그먼트를 포함할 수 있다. 시그널링 메시지는 MMT 프로토콜이 전송하는 미디어 컨텐츠를 시그널링하는 시그널링 정보의 단위일 수 있다. MMTP 패킷은 하나의 리패어 심볼을 포함할 수 있다. 구체적인 실시예에서 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 트리거를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 137은 본 발명의 일 실시예에 따라 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 페이로드 헤더의 신택스를 보여준다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMTP 패킷의 페이로드의 길이 정보를 나타내는 길이 필드를 포함할 수 있다. 구체적인 실시예에서 길이 필드는 length로 지칭될 수 있다. 구체적인 실시예에서 길이 필드는 16 비트 필드이다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMPT 패킷의 페이로드가 포함하는 MPU 종류를 나타내는 타입 필드를 포함할 수 있다. 구체적으로는 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드는 미디어 프래그먼트 유닛, MPU 메타데이터, 무비 프래그먼트 메타데이터 중 적어도 어느 하나를 포함할 수 있다. MPU 메타데이터는 ISO BMFF의 ftyp, mmpu, moov, 및 ftyp, mmpu, moov 사이에 포함되는 다른 박스들을 포함할 수 있다. 무비 프래그먼트 메타데이터는 moof 박스와 미디어 데이터가 추출된(excluded) mdat 박스를 포함한다. 미디어 프래그먼트 유닛은 미디어 데이터의 샘플 및 하위(sub) 샘플 중 적어도 어느 하나를 포함할 수 있다. 이때, 미디어 데이터는 정해진 시간에 재생되는 타임드 미디어 데이터 또는 재생되는 시간이 정해지지 않은 논-타임드 미디어 데이터 중 어느 하나일 수 있다. 구체적인 실시예에서 타입 필드는 FT로 지칭될 수 있다. 구체적인 실시예에서 타입 필드는 4 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 타임드 미디어를 포함하는지 나타내는 타임드 플래그를 포함할 수 있다. 구체적으로 타임드 플래그의 값이 1인 경우, 타임드 플래그는 MMTP 패킷이 포함하는 MPU의 프래그먼트는 타임드 미디어를 포함함을 나타낼 수 있다. 구체적인 실시예에서 타임드 플래그는 T로 지칭될 수 있다. 구체적인 실시예에서 타임드 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 데이터 유닛의 프레그먼트 정보를 나타내는 프래그먼트 지시자를 포함할 수 있다. 데이터 유닛은 MMTP 패킷의 페이로드에 포함된 데이터의 단위를 나타낼 수 있다. MMTP 패킷의 페이로드는 하나 또는 복수의 데이터 유닛을 포함할 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 f_i로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 2 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 하나 이상의 데이터 유닛이 포함되어 있음을 나타내는 집합(aggregation) 플래그를 포함할 수 있다. 구체적인 실시예에서 집합 플래그는 A로 지칭될 수 있다. 구체적인 실시예에서 집합 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 동일한 데이터 유닛이 포함하는 프래그먼트의 개수를 나타내는 프래그먼트 카운터 필드를 포함할 수 있다. 집합 플래그가 하나 이상의 데이터 유닛이 페이로드에 포함되어 있음을 나타내는 경우 프래그먼트 카운터 필드의 값은 0일 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 frqg_counter로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 8 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 포함되는 시퀀스의 번호를 나타내는 MPU 시퀀스 필드를 포함할 수 있다. 구체적인 실시예에서 MPU 시퀀스 필드는 MPU_sequence_number로 지칭될 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적으로 MMTP 패킷의 페이로드가 하나 또는 복수의 데이터 유닛을 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 DU_length 필드로 지칭될 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 16 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 헤더를 나타내는 데이터 유닛 헤더 필드를 포함할 수 있다. 데이터 유닛 헤더 필드는 데이터 유닛이 포함하는 데이터의 종류에 따라 형식이 달라질 수 있다. 구체적으로 데이터 유닛 헤더 필드는 앞서 설명한 타입 필드의 값에 따라 형식이 달라질 수 있다. 다음의 도면을 통하여 이러한 페이로드 헤더 신택스를 이용하여 어플리케이션 시그널링 정보를 전송하는 것을 설명한다.
도 138은 본 발명의 일 실시예에 따라 컨텐츠와 MPU를 통해 전송되는 트리거를 동기화하는 것을 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 MPU로 전송함으로써 ISO BMFF의 트랙으로 전송할수 있다. 이를 통해 방송 전송 장치(10)는 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 앞서 설명한 MMTP 패킷의 페이로드 헤더 신택스를 통해 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 MPU의 프래그먼트 타입을 미디어 프래그먼트 유닛으로 설정하고. 데이터 유닛 페이로드에 어플리케이션 시그널링 메시지를 삽입하여 전송할 수 있다. 또한, 방송 전송 장치(10)는 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 구체적으로 방송 전송 장치(10)는 어플리케이션 시그널링 정보가 트리거와 같이 특정 시간에 전송되어야 하는 경우 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 또한, 데이터 유닛이 포함하는 어플리케이션 시그널링 정보가 트리거인 경우, 트리거는 앞서 설명한 형식일 수 있다. 또 다른 구체적인 실시예에서 트리거는 타임드 텍스트 형식일 수 있다. 또한, 트리거는 XML 형식일 수 있다. 또한, 트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자를 포함할 수 있다. 또한, 트리거는 트리거링되는 어플리케이션의 동작을 나타내는 동작을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 시작 시간을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 종료 시간을 포함할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(10)는 트리거링 이벤트의 시작 시간 이후, 트리거링 이벤트 종료 시간 이전에 동작을 수행할 수 있다. 구체적으로 트리거는 이를 통해 어플리케이션 시그널링 정보는 정해진 시퀀스와 정해진 시간에 재생(presentation)되는 무비 프래그먼트에 동기화될 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 무비 프래그먼트의 내부의 미디어 타임을 기준으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 트리거 내부의 상대적 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 아웃 오브 밴드를 통해 제공되는 월-클락에 기반한 시간으로 설정할 수 있다. 예컨대, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 CI가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 timestamp descriptor()가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다.
도 138의 실시예에서 제1 트리거(trigger 1)는 제1 무비 프래그먼트(Movie Fragment 1)와 동기화된다. 또한, 제2 트리거(trigger 2)는 제2 무비 프래그먼트(Movie Fragment 2)와 동기화된다. 구체적으로 제1 트리거는 앞서 설명한 트리거 형식에따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 5인 트리거링 이벤트를 어플리케이션 식별자가 7인 어플리케이션에 대해 즉시 실행할 것을 트리거링한다. 또한 제2 트리거는 앞서 설명한 트리거 형식에 따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 3인 트리거링 이벤트를 어플리케이션 식별자가 8인 어플리케이션에 대해 77ee 부터 80ee 사이에 수행할 것을 트리거링한다.
방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지 중 하나로 어플리케이션 시그널링 메시지를 전송할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 139는 본 발명의 또 다른 실시예에 따른 MMT 시그널링 메시지의 신택스를 보여준다.
본 발명의 일 실시예에 따른 MMT 시그널링 메시지는 시그널링 메시지를 식별하는 메시지 식별자를 포함할 수 있다. 구체적인 실시예에서 메시지 식별자는 message_id로 지칭될 수 있다. 구체적인 실시예에서 메시지 식별자는 16 비트 필드일 수 있다.
또한, MMT 시그널링 메시지는 시그널링 메시지의 갱신 이력을 나타내는 버전정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지가 포함하는 데이터의 길이를 나타낸는 길이 정보를 포함할 수 있다. 길이 정보는 length라 지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드 또는 32 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지의 추후 확장을 확장 정보를 포함할 수 있다. 시그널링 메시지는 다양한 정보를 포함할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 140은 본 발명의 또 다른 실시시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
구체적으로 시그널링 메시지는 다른 모든 시그널링 테이블의 정보를 나타내는 PA 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0000일 수 있다. 시그널링 메시지는 미디어 컨텐츠 재생 정보를 포함하는 MPI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0001 내지 0x000F일 수 있다. 시그널링 메시지는 패키지가 포함하는 어셋의 정보를 나타내는 MP 테이블을 포함하는 MPT 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0011 내지 0x001F일 수 있다. 또한, 시그널링 메시지는 동기화 정보를 나타내는 CRI 테이블을 포함하는 CRI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0200일 수 있다. 시그널링 메시지는 패키지를 소비하기 위해 필요한 장치 성능을 나타내는 DCI 테이블을 포함하는 DCI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0201일 수 있다. 또한, 시그널링 메시지는 어셋을 수신하기위해 필요한 FEC 정보를 나타내는 AL_FEC 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0202일 수 있다. 또한, 시그널링 메시지는 방송 수신 장치(100)에게 요구되는 메모리와 엔드 투 엔드 전송 딜레이를 나타내는 HRBM 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0203일 수 있다. 어플리케이션 시그널링 정보를 전송하기 위해 시그널링 메시지는 이러한 종류의 메시지 이외에 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 메시지일 수 있다. 방송 수신 장치(100)는 앞서 설명한 메시지 식별자에 의해 시그널링 메시지가 포함하는 메시지의 종류를 식별할 수 있다. 이때, 메시지 식별자의 값은 0x8000일 수 있다. 어플리케이션 시그널링 메시지의 형식은 다음의 도면을 통해 설명한다.
도 141은 본 발명의 또 다른 실시예에 따라 어플리케이션 시그널링 정보를 포함하는 시그널링 메시지의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 메시지는 시그널링 메시지에서 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블을 포함할 수 있다. 구체적인 실시예에서 시그널링 메시지는 복수의 어플리케이션 시그널링 테이블을 포함할 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블의 개수를 나타내는 테이블 개수 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 개수 정보는 number_of_tables로 지칭될 수 있다. 테이블 개수 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블을 식별하는 테이블 식별자 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 식별자 정보는 table_id로 지칭될 수 있다. 테이블 식별자 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 갱신 이력을 나타내는 테이블 버전 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 버전 정보는 table_version으로 지칭될 수 있다. 구체적인 실시예에서 테이블 버전 정보는 8비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 길이를 나타내는 테이블 길이 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 길이 정보는 table_length로 지칭될 수 있다. 구체적인 실시예에서 테이블 길이 정보는 8비트 필드일 수 있다. 어플리케이션 시그널링 테이블의 구체적인 신택스에 대해서는 다음의 도면을 통해 설명한다.
도 142는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블을 식별하는 식별자를 포함할 수 있다. 구체적인 실시예에서 식별자는 table_id로 지칭될 수 있다. 식별자는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 갱신 이력을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 길이를 나타내는 길이 정보를 포함할 수 있다. 구체적인 실시예에서 길이 정보는 length로지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블이 포함하는 트리거의 종류를 나타내는 트리거 타입 정보를 포함할 수 있다. 시그널링 테이블이 포함하는 트리거의 종류는 다양할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 143는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블이 포함하는 트리거 타입 정보와 트리거가 포함하는 트리거 속성의 관계를 보여준다.
시그널링 테이블이 포함하는 트리거는 트리거링 어플리케이션 정보의 위치를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 1일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 라이프싸이클을 시그널링할 수 있다. 구체적으로 시그널링 테이블이 포함하는 트리거는 어플리케이션의 상태를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 2일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 동작을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 3일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 컨텐츠의 미디어 시간을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 4일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 트리거가 포함할 수 있는 모든 정보를 포함할 수 있다. 이때, 트리거 타입 정보의 값은 5일 수 있다. 다시 도 142로 돌아가 설명한다.
구체적인 실시예에서 트리거 타입 정보는 trigger_type으로 지칭될 수 있다. 구체적인 실시예에서 트리거 타입 정보는 8비트 필드일 수 있다.
시그널링 정보 테이블은 트리거를 나타내는 텍스트를 포함할 수 있다. 구체적으로 시그널링 정보 테이블은 트리거가 포함하는 문자를 나타내는 문자 정보를 포함할 수 있다. 구체적인 실시예에서 시그널링 정보 테이블은 복수의 문자 정보를 포함할 수 있다. 구체적인 실시예에서 문자 정보는 URI_character로 지칭될 수 있다. 또한, 트리거의 형식은 앞서 설명한 형식일 수 있다. 구체적인 실시예에서 문자 정보는 8 비트 필드일 수 있다.
다만 도 142과 도 143를 통해 설명한 실시예에서 트리거의 종류를 어플리케이션 시그널링 메시지 테이블 내의 트리거 타입 정보를 통해 나타내었다. 다만, 이러한 경우 방송 수신 장치(100)는 어플리케이션 시그널링 테이블을 파싱해야 트리거의 종류를 인식할 수 있다. 따라서 방송 수신 장치(100)가 필요한 종류의 트리거만을 선별적으로 수신할 수 없는 문제가 있다. 이를 해결하는 방법에 대해서 다음의 도면을 통해 설명한다.
도 144은 본 발명의 또 다른 실시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류에 기초하여 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자 값을 달리할 수 있다. 구체적으로 방송 전송 장치(10)는 메시지 식별자 값을 트리거의 종류가 트리거링 어플리케이션 정보의 위치를 시그널링하는 트리거인지. 어플리케이션의 라이프싸이클을 시그널링하는 트리거인지, 어플리케이션의 동작을 시그널링하는 트리거인지, 컨텐츠의 미디어 시간을 시그널링하는 트리거인지, 및 트리거가 포함할 수 있는 모든 정보를 포함하는 트리거인지에 따라 다르게 설정할 수 있다. 구체적으로 메시지 식별자의 값이 0x8000 내지 0x8004이면 시그널링 메시지가 어플리케이션 시그널링 메시지임을 나타낼 수 있다. 또한, 구체적인 실시예에서 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링하는 경우, 메시지 식별자의 값은 0x8000일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 라이프싸이클을 시그널링하는 경우, 메시지 식별자의 값은 0x8001일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링하는 경우, 메시지 식별자의 값은 0x8002일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링하는 경우, 메시지 식별자의 값은 0x8003일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거가 포함할 수 있는 모든 정보를 포함하는 경우, 메시지 식별자의 값은 0x8004일 수 있다. 시그널링 메시지의 메시지 식별자가 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류를 나타내므로 어플리케이션 시그널링 테이블은 트리거 타입 정보를 포함하지 않을 수 있다.
도 145의 실시예에 어플리케이션 시그널링 테이블은 앞서 설명한 어플리케이션 시그널링 테이블과 달리 트리거 타입 정보를 포함하지 않는다.
이와 같이 시그널링 메시지가 포함하는 트리거의 종류에 따라 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자의 값을 달리하면, 방송 수신 장치(100)는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 시그널링 테이블을 파싱하지 않고도 트리거의 종류를 알 수 있다. 따라서 방송 수신 장치(100)는 효율적으로 특정 종류의 트리거를 선별적으로 수신할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 제너릭 패킷을 통해 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 146은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조를 보여준다.
먼저 MMTP 패킷의 신택스에 대해서 설명한다.
MMTP 패킷은 MMTP 프로토콜의 버전을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 V로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 패킷 카운팅 정보의 존재를 나타내는 패킷 카운터 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 C로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 패킷 MMTP 패킷의 에러 방지를 FEC 알고리즘의 형식(scheme)을 나타내는 FEC 타입 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 타입 정보는 FEC로 지칭될 수 있다. 구체적인 실시예에서 FEC 타입 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 헤더 확장 정보의 존재를 나타내는 확장 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 확장 플래그 정보는 X로 지칭될 수 있다. 구체적인 실시예에서 확장 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 랜덤 액세스를 위한 RAP(Randon Access Point)을 포함하는지를 나타내는 RAP 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 R로 지칭될 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 종류를 나타내는 타입 정보를 포함할 수 있다. 구체적인 실시예에서 타입 정보는 type으로 지칭될 수 있다. 구체적인 실시예에서 타입 정보는 6 비트 필드일 수 있다.
MMTP 패킷은 패킷을 식별하는 식별자를 나타내는 패킷 식별자 정보를 포함할 수 있다. 방송 수신 장치(100)는 패킷 식별자 정보에 기초하여 해당 패킷이 어느 어셋에 포함되는지 판단할 수 있다. 또한, 방송 수신 장치(100) 어셋과 패킷 식별자의 관계는 시그널링 메시지로부터 획득할 수 있다. 패킷 식별자 정보는 해당 전송 세션의 라이프 타임동안 유일한 값을 가질 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 packet_id로 지칭될 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 16 비트 필드일 수 있다.
MMTP 패킷은 패킷 시퀀스의 번호를 나타내는 패킷 시퀀스 번호 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 packet_sequence_number로 지칭될 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 MMTP 패킷 전송의 타임 인스턴스 값을 특정하는 타임스탬프 정보를 포함할 수 있다. 타임스탬프 정보는 UTC 값에 기초한 것일 수 있다. 또한, 타임스탬프 정보는 MMTP 패킷의 첫 바이트를 전송한 시간을 나타낼 수 있다. 구체적인 실시예에서 타임스탬프 정보는 timestamp로 지칭될 수 있다. 구체적인 실시예에서 타임스탬프 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 전송된 패킷의 카운트를 나타내는 패킷 카운팅 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 packet_counter로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 FEC 보호 알고리즘에 따라 필요한 FEC 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 정보는 Sourece_FEC_payload_ID로 지칭될 수 있다. 구체적인 실시예에서 FEC 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 추후 헤더 확장을 위해 예비된(reserved) 헤더 확장 정보를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 정보는 header_extension으로 지칭될 수 있다.
방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 파일 형태로 삽입하여 전송할 수 있다. 이때, 방송 전송 장치(10)는 각각의 파일에 각각 다른 패킷 식별자를 할당할 수 있다. 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자에 기초하여 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 예컨대, 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자 값에 기초하여 해당 패킷이 필요한 어플리케이션 시그널링 정보를 포함하고 있는지 판단할 수 있다.
방송 전송 장치(10)는 MMTP 패킷의 헤더 확장 정보를 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 147은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조와 어플리케이션 시그널링 정보를 전송하기 위한 헤더 확장 필드의 신택스를 보여준다.
방송 전송 장치(10)는 MMTP 패킷의 헤더에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 헤더 확장 정보에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보가 포함하는 헤더 확장 정보의 종류를 나타내는 헤더 확장 타입 정보를 포함할 수 있다. 이때, 헤더 확장 타입은 헤더 확장 정보가 어플리케이션 시그널링 메시지를 포함함을 나타낼 수 있다. 또 다른 구체적인 실시예에서 헤더 확장 타입 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보의 종류는 앞서 설명한 트리거가 포함하는 속성에 따른 트리거의 종류를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 타입 정보는 type으로 지칭될 수 있다.
구체적인 실시예에서 헤더 확장 정보는 16 비트 필드일 수 있다. 구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보의 길이를 나타내는 헤더 확장 길이 정보를 포함할 수 있다. 이때, 헤더 확장 길이 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 길이를 나타낼 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 length로 지칭될 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 16 비트 필드일 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보에 포함된 확장 정보를 나타내는 헤더 확장 값을 포함할 수 있다. 이때, 헤더 확장 값은 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보는 트리거일 수 있다. 또한, 어플리케이션 시그널링 정보의 타입은 스트링 형태의 URI일 수 있다. 또한, 스트링 형태의 URI는 앞서 설명한 스트링 형태의 트리거일 수 있다. 구체적인 실시예에서 헤더 확장 값은 header_extension_value로 지칭될 수 있다.
이에 따라 방송 수신 장치(100)는 헤더 확장 정보로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 정보가 포함하는 헤더 확장 타입 정보에 기초하여 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는지 판단할 수 있다. 방송 수신 장치(100)는 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는 경우 어플리케이션 시그널링 정보를 추출할 수 있다. 또한, 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 판단할 수 있다. 이에 따라 방송 수신 장치(100)는 어플리케이션 시그널링 정보를 선택적으로 획득할 수 있다.
앞서 설명한 본 발명의 실시예들에 따른 어플리케이션 시그널링 정보의 전송과 수신에 따른 방송 전송 장치(10)와 방송 수신 장치(100)의 동작을 다음의 도면들을 통해 구체적으로 설명한다.
도 148은 본 발명의 실시예들에 따라 방송 전송 장치가 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송하는 것을 보여준다.
방송 전송 장치(10)는 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득한다(S2501). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득할 수 있다.
방송 전송 장치(10)는 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성한다(S2503). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성할 수 있다. 이때, 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송한다(S2505). 구체적으로 방송 전송 장치(10)는 전송부를 통하여 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 전송 장치(10)는 MPEG-DASH 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MPEG-DASH의 MPD의 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 전송 장치(10)는 인밴드 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 예컨대, 방송 전송 장치(10)는 이벤트 메시지 박스를 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 전송 장치(10)는 MMT 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다.
도 149는 본 발명의 실시예들에 따라 방송 수신 장치가 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득하는 것을 보여준다.
방송 수신 장치(100)는 방송 신호를 수신한다(S2601). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신할 수 있다.
방송 수신 장치(100)는 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득한다(S2603). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 수신 장치(100)는 MPEG-DASH 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MPEG-DASH의 MPD의 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 또한, 방송 수신 장치(100)는 인밴드 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 예컨대, 방송 수신 장치(100)는 이벤트 메시지 박스로부터 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작한다(S2605). 구체적으로 방송 수신 장치(100)는 제어부를 통하여 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 컨텐츠의 미디어 시간을 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 재생하는 컨텐츠의 미디어 시간을 획득할 수 있다. 또한, 방송 수신 장치(100)는 미디어 시간을 획득하여 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이러한 동작 방법을 통해 방송 전송 장치(10)는 효율적으로 어플리케이션 시그널링 정보를 전송할 수 있다. 특히, 방송 전송 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 수신 장치(100)는 효율적으로 어플리케이션 시그널링 정보를 수신할 수 있다. 특히, 방송 전송 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다.
도 150은 본 발명의 일 실시예에 따른, 동기화된 어플리케이션 (synchronized application) 으로의 진입을 위한 통지(notification)를 나타낸 도면이다.
동기화된 어플리케이션은 비실시간 방송 및/또는 실시간 방송의 컨텐츠와 연동되어 표출되는 어플리케이션이다. 동기화된 어플리케이션은, 방송 컨텐츠에서 해당 어플리케이션이 필요한 적절한 시기에 실행되거나 표출될 수 있도록 설정된 어플리케이션이다.
여기서 어플리케이션은, 일반적인 어플리케이션의 의미로 사용될 수도 있다. 또는 어플리케이션은 방송 컨텐츠 상에, 컨텐츠와 관련되어 디스플레이되는 오브젝트를 나타내는 의미로 사용될 수 있다. 예를 들면, 어플리케이션은, 스포츠 경기가 방송되고 있는 중, 특정 선수에 대한 프로파일이 화면에 디스플레이되는 경우에 있어서, 해당 프로파일을 디스플레이할 수 있게하는 주체로 정의될 수 있다.
비실시간 방송은, 실시간 방송을 위한 방송 신호 또는 데이터가 전송되지 않는, 방송 신호 내의 유휴 대역을 통하여, 방송 컨텐츠를 위한 데이터를 송/수신하는 방송의 형태이다. 여기서, 유휴 대역은, 실시간 방송이 서비스 되지 않는 시간 영역으로 정의될 수 도 있으며, 혹은, 실시간 방송을 전송하는 과정에서도 방송 신호의 대역폭이 남아 있는 경우, 이 대역폭으로 정의될 수 있다. 유휴 대역으로 방송 컨텐츠를 전송하기 때문에, 방송 컨텐츠는 하나 이상의 파일들 (또는 오브젝트)로 분리되어, 불연속적으로 전송될 수 있다. 수신기는 이러한 파일들을 수신하여 저장하고 있다가, 방송 컨텐츠에 포함되는 전체 파일들을 수신하면, 사용자의 요청 등에 따라, 해당 방송 컨텐츠를 재생할 수 있다.
본 발명의 일 실시예에 따르면, 동기화된 어플리케이션의 통지를 위한 사용자 인터페이스 (user interface) 및/또는 포맷 (format)은 수신기에서 제어될 수 있다.
도 150의 (a)를 참조하면, 기존 데이터 방송과 관련한 어플리케이션의 경우, 어플리케이션에 진입 경로를 알리는 통지(notification)는, 방송사가 제공하는 붉은 점 (Red dot) 형태의 단순한 통지로 구성되었다.
그러나, 본 발명에서는 이러한 어플리케이션에 대한 통지를 수신기에서 조절 또는 구현할 수 있도록 하는 방법 및/또는 장치를 제시한다. 수신기에서 어플리케이션에 대한 통지를 조절하는 경우, 이 통지의 조절을 위한 정보는, 컨텐츠 제공자 혹은 방송사로부터 제공받는 정보를 바탕으로 구성할 수 있다.
본 발명에 따르면, 채널 별 및/또는 어플리케이션 별로, 통지를 고유의 형태와 내용을 표시할 수 있다. 이 때 각 채널 별 혹은 프로그램 별로, 컨텐츠 제공자 혹은 방송사로부터, 각 채널 별 혹은 프로그램 별 특성에 맞도록 동기화된 어플리케이션의 통지 (synchronized application notification) 의 형태 및/또는 동작 속성에 관한 데이터를 제공받을 수 있다. 이 방식은 동기화된 어플리케이션의 통지를, 수신기에서 컨텐츠 제공자 혹은 방송사에 의해 제공받는 정보에 의해 재구성 될 수 있다는 점에서 기존 데이터 방송의 어플리케이션과 차이점이 있다. 또한, 수신기에서 내부적으로 컨텐츠 제공자 혹은 방송사에 의해서 어플리케이션의 실제 사용정보 외의 시청 정보 (예: 사용자가 방송을 시청 시작 후, 어플리케이션의 통지을 눌러 어플리케이션으로 진입한 시간 등의 정보) 에 대한 수집을 차단하여, 사용자 개인의 정보보호를 설정할 수 있다. 이와 반대로, 수신기에서 내부적으로 허용한, 어플리케이션의 실제 사용정보 외의 시청 정보를, 컨텐츠 제공자 또는 방송사에 제공할 수 있도록 설정할 수 있다. 이러한 방식으로 사용자는 어플리케이션에 대한 보다 능동적인 제어를 할 수 있다. 동기화된 어플리케이션의 통지의 형태를 위해 제공받을 수 있는 정보는, 통지의 화면 상의 위치 정보, 통지의 디스플레이 크기 정보, 메시지 내용, 어플리케이션을 나타내는 이미지 및/또는 방송사 (또는 컨텐츠 제공자) 로고 등을 포함할 수 있으며, 동작 속성을 위해 제공받을 수 있는 정보는 통지가 최초로 뜨는 시간 정보, 통지의 지속 시간 정보 및/또는 통지의 주기 정보 등을 포함할 수 있다.
도 150의 (b)는, 각 채널 별로 방송사로부터 제공받은 통지의 디스플레이 크기 정보, 통지의 화면 상의 위치 정보, 메시지 내용 및 방송사 로고 정보를 이용하여, 동기화된 어플리케이션에 진입하기 위한 통지을 생성하고 디스플레이한 일 실시예이다.
도 151은 본 발명의 일 실시예에 따른, 동기화된 어플리케이션 (synchronized application) 으로의 진입을 위한 통지(notification)를 나타낸 도면이다.
(a)를 참조하면, 기존 데이터 방송과 관련한 어플리케이션의 경우, 어플리케이션에 진입 경로를 알리는 통지(notification)는, 방송사가 제공하는 붉은 점 (Red dot) 형태의 단순한 통지로 구성되었다.
(b)는, 각 채널 별로 방송사로부터 제공받은 통지의 디스플레이 크기 정보, 통지의 화면 상의 위치 정보, 메시지 내용 및 방송사 로고 정보를 이용하여, 동기화된 어플리케이션에 진입하기 위한 통지을 생성하고 디스플레이한 일 실시예이다.
방송사는 일반적으로 방송사에서 제공하는 어플리케이션 통지(Notification)를 사용자에게 제공함에 있어서, 타 방송사에서 제공하는 다른 어플리케이션 통지와 차별화된 어플리케이션 통지를 제공하는 것을 윈한다.
본 발명의 일 실시예에 따른 수신기는 어플리케이션의 Opt-in 및/또는 Opt-out을 관리할 수 있다. 본 발명의 일 실시예에 따른 수신기는 방송사 마다 차별화된 어플리케이션 통지(application notification)을 사용자에게 제공할 수 있다.
도 152는 본 발명의 일 실시예에 따른, 동기화된 어플리케이션의 통지와 사용자 동의 인터페이스를 연동하기 위한 사용자 인터페이스를 나타낸 도면이다.
동기화된 어플리케이션 또는 이를 위한 통지는, 사용자의 동의를 얻은 후 실행 또는 표출될 수 있도록 설정될 수 있다. 예를 들면, 각 어플리케이션, 프로그램, 채널 별로 사용자의 동의 여부를 설정할 수 있다.
사용자의 동의가 설정되지 않은 경우, 해당 동기화된 어플리케이션은 차단될 수 있고, 이 경우, 수신기에서 해당 어플리케이션은 사용자에게 제공하지 않는다. 또는 사용자의 동의 여부에 대한 어떠한 설정도 하지 않은 경우, 모든 어플리케이션을 차단하거나, 모든 어플리케이션을 차단하지 않고 제공할 수 있다.
동기화된 어플리케이션에 대한 사용자 동의를 위한 인터페이스는 수신기에서 구성할 수 있으며, 사용자 동의의 조건과 방식은 여러 가지 형태로 제공될 수 있다.
사용자 동의에 대한 인터페이스와 어플리케이션 간의 원활한 연동이 가능하게 하기 위해서, 수신기는 어플리케이션에 대하여 보다 능동적인 제어를 수행할 수 있다.
예를 들면, 기존의 데이터 방송의 경우, 사용자가 원치 않음으로 인하여 어플리케이션을 종료시켰을 경우에도, 수신기에서 어플리케이션에 대한 제어를 할 수 없어, 어플리케이션에 대한 통지가 다시 노출되는 문제가 있었다.
본 발명의 일 실시예로, 도시된 바와 같이, 사용자의 동의와 관련하여 각 방송 프로그램은 최대한 사용자의 방송 시청에 방해를 주지 않아야 한다는 가정하에, 사용자가 한번 동의 또는 비동의한 어플리케이션에 대해서는, 현재 프로그램 / 현재 채널 / 모든 채널 내에서는 해당 동의 사항을 계속 유지하도록 설정하는 방식이 사용될 수 있다.
본 발명의 일 실시예에 따르면, 동기화된 어플리케이션의 사용 동의를 위한 사용자 인터페이스는, 동기화된 어플리케이션 (어플리케이션)을 사용 (또는 어플리케이션에 대한 통지의 표출)에 대한 동의를 설정하는 항목을 포함할 수 있다.
사용자 인터페이스는 어플리케이션의 사용에 대한 동의 또는 거부의 범위를 정하는 항목을 더 포함할 수 있다.
예를 들면, 현재 프로그램의 범위 내에서 어플리케이션의 사용에 대한 동의 여부를 적용할 수 있다. 사용자가 동의한 경우 해당 방송 프로그램에 대해서만 사용자 동의가 유효할 수 있으며, 해당 방송 프로그램이 종료되면 해당 어플리케이션에 대한 사용자 동의 인터페이스는 초기화 될 수 있다. 사용자가 비동의한 경우에는 해당 방송 프로그램에 대해서만 사용자 비동의가 유효할 수 있으며, 해당 방송 프로그램이 종료되면 해당 어플리케이션 사용에 대한 동의를 위한 사용자 인터페이스는 초기화 될 수 있다.
예를 들면, 현재 채널의 범위 내에서 어플리케이션의 사용에 대한 동의 여부를 적용할 수 있다. 사용자가 동의한 경우 해당 채널의 모든 방송 프로그램에 대해서 사용자 동의가 유효할 수 있으며, 사용자가 채널을 변경 했을 경우 해당 어플리케이션에 대한 사용자 동의 인터페이스 설정 값은 초기화 될 수 있다. 사용자가 비동의한 경우에는 해당 방송 채널에 대해서만 사용자 비동의가 유효할 수 있으며, 방송 채널이 변경되면 해당 어플리케이션 사용에 대한 동의를 위한 사용자 인터페이스는 초기화 될 수 있다.
예를 들면, 모든 어플리케이션의 사용에 대한 동의 여부를 적용할 수 있다. 사용자가 동의한 경우 모든 채널의 모든 방송 프로그램에 대해서 사용자 동의가 유효할 수 있으며, 사용자가 해당 어플리케이션에 대한 사용자 동의 인터페이스 메뉴에서 설정값을 변경하기 전까지 적용될 수 있다. 사용자가 비동의한 경우에는, 사용자의 다른 설정이 있기 전까지, 모든 어플리케이션이 사용자에게 제공되지 않는다.
제시된 예시에 의하여, 특정 설정이 선택되었다 하더라도, 별도의 사용자 동의 인터페이스 메뉴를 제공하여 추후 사용자가 어플리케이션의 설정을 바꿀 수 있다.
도 153는 본 발명의 다른 실시예에 따른, 어플리케이션의 사용에 대한 동의를 위한 사용자 인터페이스를 나타낸 도면이다.
전술한 사용자 인터페이스에 추가 또는 변경으로, 도시된 바와 같은 사용자 인터페이스를 제공할 수 있다.
도 153의 (a)를 참조하면, 어플리케이션에 대한 통지가 노출된 후, 수신기는 사용자에게, 일정 기간 동안, 어플리케이션 통지를 차단하도록 설정하는 사용자 인터페이스 (어플리케이션 통지 차단 타이머)를 제공할 수 있다. 예를 들면, 수신기가 제공하는 어플리케이션 통지 차단 타이머는, 시간 단위 (예를 들면, 15분, 30분) 또는 프로그램 단위 (즉, 현재 Program 종료시까지로 기간 설정)로 어플리케이션에 대한 통지가 차단될 수 있도록 설정하는 항목을 포함할 수 있다.
유사하게, 어플리케이션의 사용 (또는 어플리케이션에 대한 통지) 에 대해서 사용자가 비동의를 하였더라도, 설정한 시간 혹은 조건을 만족할 경우, 어플리케이션에 대한 통지를 다시 노출시킬 수 있다.
도 153의 (b)를 참조하면, 어플리케이션에 대한 사용 (또는 어플리케이션에 대한 통지) 에 대한 사용자 동의 설정 이전에, 어플리케이션의 소개, 어플리케이션의 양방향 타임라인 (interaction timeline) 정보, 및/또는 어플리케이션의 실시간 사용자 통계 등과 같은 어플리케이션의 세부 정보를 볼 수 있는 링크 (Link)를 제공할 수 있다. 사용자는 이 링크를 통하여, 해당 어플리케이션의 사용 여부를 결정하기 위한 정보를 획득할 수 있다.
도 154는 본 발명의 일 실시예에 따른, TPT (TDO parameter table; TDO parameter element) 의 일부를 나타낸 도면이다.
본 발명의 일 실시예에 따른 TDO 파라미터 테이블 (또는 TDO 파라미터 엘리먼트, 또는 트리거링 어플리케이션 정보) 은 세그먼트 및/또는 이벤트에 연관된 어플리케이션 (또는 TDO) 에 관한 메타데이터를 포함하고 있다.
TDO 파라미터 테이블은 TPT 엘리먼트, MajorProtocolVersion 엘리먼트, MinorProtocolVersion 엘리먼트, id 엘리먼트, tptVersion 엘리먼트, expireDate 엘리먼트, serviceID 엘리먼트, baseURL 엘리먼트, Capabilities 엘리먼트, LiveTrigger 엘리먼트, URL 엘리먼트, pollPeriod 엘리먼트, TDO 엘리먼트, appID 엘리먼트, appType 엘리먼트, appName 엘리먼트, globalID 엘리먼트, appVersion 엘리먼트, cookieSpace 엘리먼트, frequencyOfUse 엘리먼트, expireDate 엘리먼트, testTDO 엘리먼트, availInternet 엘리먼트, availBroadcast 엘리먼트, URL 엘리먼트, Capabilities 엘리먼트, ContentItem 엘리먼트, URL 엘리먼트, updatesAvail 엘리먼트, pollPeriod 엘리먼트, Size 엘리먼트, availInternet 엘리먼트, availBroadcast 엘리먼트, Event 엘리먼트, eventID 엘리먼트, action 엘리먼트, destination 엘리먼트, diffusion 엘리먼트, 및/또는 Data 엘리먼트를 포함한다.
TPT 엘리먼트는 TPT 의 루트 엘리먼트다.
MajorProtocolVersion 엘리먼트는 테이블 정의의 메이저 버전 넘버를 가리킨다. 수신기는 자신들이 지원하지 못하는 메이저 버전 넘버를 가지는 TPT 는 폐기할 수 있다.
MinorProtocolVersion 엘리먼트는 테이블 정의의 마이너 버전 넘버를 가리킨다. 수신기는 자신들이 지원하지 못하는 마이너 버전 넘버를 가지는 TPT 는 폐기하지 않는다. 이 경우, 수신기는 자신들이 지원하지 않는 정보 또는 엘리먼트를 무시하는 것으로 TPT 를 처리한다.
id 엘리먼트는 URI 형태를 가질 수 있으며, 이 TPT 와 관련된 양방향 프로그래밍 세그먼트 (또는 양방향 서비스 세그먼트)를 식별한다. 이 id 엘리먼트는 상응하는 트리거의 ‘locator_part’가 될 수 있다.
tptVersion 엘리먼트는 id 엘리먼트에 의하여 식별되는 TPT 의 버전 정보를 나타낸다.
expireDate 엘리먼트는 TPT 인스턴스에 포함된 정보의 만료 날짜 및 시간을 가리킨다. 수신기가 TPT 를 저장하고 있는 경우, expireDate 엘리먼트에 의한 날짜 및 시간 까지는 해당 TPT 를 재사용할 수 있다.
serviceID 엘리먼트는 TPT 인스턴스에서 설명되는 양방향 서비스와 관련된 NRT 서비스의 식별자를 나타낸다.
baseURL 엘리먼트는 TPT 에 나타나는 관련 URL의 전단에 결합되어 사용될 수 있는 베이스 URL을 나타낸다. baseURL 엘리먼트는 파일들의 절대 URL 을 나타낸다.
Capabilities 엘리먼트는 TPT 와 관련된 양방향 서비스를 표출하기 위하여 필수적인 능력을 나타낸다. Capabilities와 관련된 정보는 이하에서 후술될 것이다.
LiveTrigger 엘리먼트는 액티베이션 트리거 (Activation Trigger)가 인터넷을 통하여 제공되는 경우 사용되는 정보를 포함한다. LiveTrigger 엘리먼트는 수신기가 액티베이션 트리거를 얻기 위하여 필요한 정보를 제공한다.
URL 엘리먼트는 인터넷으로 액티베이션 트리거를 전송하는 서버의 URL을 가리킨다. 액티베이션 트리거는 HTTP short polling, HTTP long polling 또는 HTTP streaming을 사용하는 인터넷을 통하여 전송될 수 있다.
pollPeriod 엘리먼트가 존재하면, 액티베이션 트리거를 전송하기 위하여 short polling이 사용됨을 가리킨다. pollPeriod 엘리먼트는 polling 주기를 나타낸다.
TDO 엘리먼트는 TPT 인스턴스에 의하여 설명되는 세그먼트 동안의 양방향 서비스의 일부를 제공하는 어플리케이션 (예를 들면, TDO) 에 관한 정보를 포함한다.
appID 엘리먼트는 TPT 의 범위 내에서 어플리케이션 (예를 들면, TDO)를 식별한다. 액티베이션 트리거는 appID 엘리먼트를 이용하여 트리거를 적용하기 위한 타겟 어플리케이션을 식별한다.
appType 엘리먼트는 어플리케이션의 포맷 타입을 식별한다. 예를 들면, appType 엘리먼트의 값이 ‘1’로 셋팅되는 경우, 어플리케이션이 TDO임을 나타낼 수 있다.
appName 엘리먼트는 시청자를 위하여 디스플레이되는 인간이 읽을 수 있는 어플리케이션의 이름을 나타낸다.
globalID 엘리먼트는 어플리케이션의 글로벌 식별자를 나타낸다. globalID 엘리먼트가 존재하는 경우, 수신기는 어플리케이션 코드를 저장하고, 동일하거나 다른 방송사의 추후 세그먼트 내의 동일한 어플리케이션의 추후 표출을 위하여 해당 어플리케이션 코드를 재사용될 수 있다.
appVersion 엘리먼트는 어플리케이션 (TDO)의 버전 넘버를 나타낸다.
cookieSpace 엘리먼트는 어플리케이션 호출들(invocations) 사이에서 지속적으로 어플리케이션이 필요로 하는 데이터를 저장하기 위하여 필요한 공간의 크기를 나타낸다.
frequencyOfUse 엘리먼트는 방송에서 얼마나 자주 어플리케이션이 사용될 것인지에 대한 대략적인 빈도를 나타낸다. 예를 들면, frequencyOfUse 엘리먼트는 어플리케이션이 시간 단위, 일자 단위, 주 단위, 달 단위로 반복적으로 사용되거나, 오직 한번만 사용된다는 것을 나타낼 수 있다.
expireDate 엘리먼트는 수신기가 어플리케이션 및/또는 관련 리소스들을 안전하게 삭제할 수 있는 시간 및 날짜를 가리킨다.
testTDO 엘리먼트는 어플리케이션이 테스트 목적으로 사용되는 것인지 나타낸다. 어플리케이션이 테스트 목적으로 사용되는 것인 경우, 일반적인 수신기는 이 어플리케이션을 무시할 수 있다.
availInternet 엘리먼트는 어플리케이션이 인터넷을 통하여 다운로드 될 수 있는지 여부를 나타낸다.
availBroadcast 엘리먼트는 어플리케이션이 방송 신호로부터 추출될 수 있는지 여부를 나타낸다.
URL 엘리먼트는 이 엘리먼트의 각각의 인스턴스는 어플리케이션의 일부인 파일을 식별한다. 하나 이상의 인스턴스가 존재하는 경우, 처음 인스턴스는 엔트리 포인트 (entry point)인 파일을 지정한다. 엔트리 포인트인 파일은 어플리케이션을 실행하기 위하여 실행되어야 하는 파일일 수 있다.
Capabilities 엘리먼트는 어플리케이션의 의미있는 표출을 위하여 필수적인 수신기의 능력들을 가리킨다.
ContentItem 엘리먼트는 어플리케이션이 필요로 하는 하나 이상의 파일들로 구성된 콘텐트 아이템에 관한 정보를 포함한다. URL 엘리먼트는 콘텐트 아이템의 일부인 파일을 식별한다. URL 엘리먼트는 콘텐트 아이템이 제공되는 URL 정보를 식별할 수 있다. 하나 이상의 인스턴스가 존재하는 경우, 처음 인스턴스는 엔트리 포인트인 파일을 지정한다.
updatesAvail 엘리먼트는 콘텐트 아이템이 때때로 업데이트되는지 여부를 나타낸다. updatesAvail 엘리먼트는 콘텐트 아이템이 고정된 (static) 파일들로 구성되는지 여부, 실시간 데이터 피드 (feed) 인지 여부를 나타낼 수 있다.
pollPeriod 엘리먼트가 존재하면, 액티베이션 트리거를 전송하기 위하여 short polling이 사용됨을 나타낸다. pollPeriod 엘리먼트는 수신기가 polling 주기로 사용하는 시간을 나타낸다.
Size 엘리먼트는 콘텐트 아이템의 크기를 나타낸다.
availInternet 엘리먼트는 콘텐트 아이템이 인터넷을 통하여 다운로드 가능한지 여부를 나타낸다.
availBroadcast 엘리먼트는 콘텐트 아이템이 방송 신호로부터 추출 가능한지 여부를 나타낸다.
Event 엘리먼트는 TDO 를 위한 이벤트에 관한 정보를 포함한다.
eventID 엘리먼트는 TDO 의 범위 내에서 이벤트를 식별하는 역할을 한다. 액티베이션 트리거는 트리거가 적용되는 타겟 어플리케이션 및/또는 이벤트를 appID 엘리먼트와 eventID 엘리먼트의 조합으로 식별한다.
action 엘리먼트는 이벤트가 동작할 때, 적용되어야 하는 TDO 액션의 종류를 나타낸다. 액션 값은 다음과 같은 의미를 포함할 수 있다.
“register”는 가능한 경우, 어플리케이션의 리소스를 획득하고, 사전 저장(pre-cache) 함을 의미한다.
“suspend-execute”는 현재 실행되고 있는 다른 어플리케이션을 유예 (또는 중단) 시키고, 현재 어플리케이션을 실행함을 의미한다. 타겟 어플리케이션이 유예된 경우, 수신기는 이전 상태에서 해당 어플리케이션을 재개한다.
“terminate-execute”는 현재 실행되고 있는 다른 어플리케이션을 종료시키고, 현재 어플리케이션을 실행함을 의미한다. 타겟 어플리케이션이 유예된 경우, 수신기는 이전 상태에서 해당 어플리케이션을 재개한다.
“terminate” 는 어플리케이션을 종료함을 의미한다.
“suspend”는 어플리케이션 실행을 중단함을 의미한다. UI 및/또는 어플리케이션 엔진 상태는 다시 실행되기 전까지 보존될 것이 요구된다.
“stream-event”는 어플리케이션에 의하여 정의되는 특정 행동을 적절히 수행하도록 하는 것을 의미한다.destination 엘리먼트는 이벤트를 위한 타겟 디바이스 타입을 가리킨다. 예를 들면, destination 엘리먼트의 값에 따라, 메인 스크린 혹은 세컨더리 스크린에서 해당 이벤트가 실행되어야 함을 나타내거나, 메인 스크린 및/또는 세컨더리 스크린에서 해당 이벤트가 실행되어야 함을 나타낼 수 있다. destination 엘리먼트는 위치 홀더 (place holder)로 사용될 수 있다.
diffusion 엘리먼트는 서버 로딩의 피크를 스무딩하기 위한 파라미터를 나타낸다. diffusion 엘리먼트는 주기 T를 초 단위로 나타낼 수 있고, 수신기는 0초에서 T 초까지의 범위에서 랜덤 타임을 계산하고, TPT 의 URL 들에 의하여 참조되는 콘텐트를 얻기 위하여 인터넷 서버에 어세싱하기 전에 계산된 시간만큼을 딜레이를 시킬 수 있다.
Data 엘리먼트는 이벤트와 관련된 데이터에 관한 정보를 포함한다. 이벤트가 동작하는 경우, 타겟 어플리케이션은 이 데이터를 읽고, 원하는 동작을 수행하기 위하여 해당 데이터를 사용할 수 있다.
본 발명의 일 실시예에 따르면, 전술한 어플리케이션의 세부 정보에 대한 링크 Link는 TPT (TDO Parameters Table)의 실시 예와 같이 TDO에 포함되는 ContentItem 엘리먼트의 URL 엘리먼트로 전달 할 수 있다.
어플리케이션의 세부 정보를 어플리케이션 내에 포함되는 하나의 컨텐츠로 취급하여, 해당 컨텐츠의 링크 정보를 제공할 수 있다.
도 155는 본 발명의 다른 실시예에 따른, TPT (TDO parameter table; TDO parameter element) 의 일부를 나타낸 도면이다.
전술한 동기화된 어플리케이션의 통지의 형태 및 동작 속성을 수신기에서 조절하기 위하여, 방송사 또는 컨텐츠 제공자로부터 제공되는 어플리케이션의 통지와 관련된 정보는, 전술한 TDO 파리미터 엘리먼트에 포함되어 전송될 수 있다. 즉, 방송사로부터 제공받는 동기화된 어플리케이션의 통지의 형태와 동작 속성을 위한 정보들은, 차세대 하이브리드 방송에서 사용할 수 있는 어플리케이션의 트리거를 위한 파라미터들을 정의해 놓은 시그널링 엘리먼트 (예를 들면, TPT) 를 확장하여 전달 받을 수 있다.
이에 따라, 전술한 TDO 파리미터 엘리먼트에 NotificationInfo 라는 엘리먼트와, 그에 속한 속성 (attribute) 들을 더 포함시킬 수 있다.
NoficiationInfo 엘리먼트의 아래에 추가된 속성으로는, 통지 (notification)의 위치를 결정할 수 있는 topMargin 엘리먼트 및/또는 rightMargin 엘리먼트, 통지의 메시지를 나타내는 message 엘리먼트, 채널 별 로고를 나타낼 수 있는 logo 엘리먼트, 최초로 알림이 뜨는 시간을 나타낼 수 있는 show 엘리먼트, 통지의 지속시간을 나타낼 수 있는 lasting 엘리먼트 및/또는 통지가 뜨는 주기를 설정할 수 있는 interval 엘리먼트가 포함될 수 있다.
즉, 도시된 TDO 파라미터 엘리먼트에 추가되는 엘리먼트들은 다음과 시그널링 정보를 포함한다.
NotificationInfo 엘리먼트는 동기화된 어플리케이션 (예를 들면, 어플리케이션 또는 TDO)의 통지에 대한 형태와 동작 속성에 관한 정보이다.
topMargin 엘리먼트는 통지의 위치 정보를 나타내는 속성 중 하나로 top margin 값을 나타낸다.
rightMargin 엘리먼트는 통지의 위치 정보를 나타내는 속성 중 하나로 right margin 값을 나타낸다.
Message 엘리먼트는 통지에 들어갈 Welcome 메시지 등과 같은 정보를 포함한다.
Logo 엘리먼트는 통지에 들어갈 각 컨텐츠 제공자 혹은 방송사 별 logo 혹은 이미지 정보를 포함한다. logo 이미지의 경우 Content Item의 URL을 통해서도 전달 받을 수 있다.
Show 엘리먼트는 방송 프로그램 시작 후부터 알림이 처음 사용자에게 보여지는 시간을 나타낸다.
Lasting 엘리먼트는 통지가 사용자에게 보여지는 지속시간을 나타낸다.
Interval 엘리먼트는 통지 간의 interval 시간으로써 사용자에게 주기적으로 통지를 띄울 수 있게 하는 정보를 포함한다.
수신기는 topMargin 엘리먼트와 rightMargin 엘리먼트를 이용하여 통지의 화면상의 위치를 설정할 수 있다. 수신기는 show 엘리먼트, lasting 엘리먼트 및 interval 엘리먼트를 이용하여, 각 방송 프로그램의 특성에 맞추어 통지가 사용자에게 최초로 보여지는 시간과 타이밍 등을 조절할 수 있다.
동기화된 어플리케이션의 통지를 구현하는 주체는 수신기가 되어, 불필요한 시청 정보의 유출을 막을 수 있고, 수신기가 어플리케이션에 대한 능동적인 제어가 가능하다. 한편, 어플리케이션 또는 어플리케이션의 통지의 형태 및/또는 동작 속성은 컨텐츠 제공자 혹은 방송사에 의해 유연하게 운용될 수 있다.
한편, 전술한 엘리먼트들은, 수신기에서 해당 항목의 정보를 수정할 수도 있을 것이다. 이 경우, 방송사 또는 컨텐츠 제공자에게세 제공받은 정보를 참고용으로 사용하고, 수신기에서 사용자가 설정하거나, 수신기의 기 설정값에 따라, 수신기는 해당 엘리먼트에서 해당 정보를 변경할 수 있다. 이 경우, 어플리케이션의 통지의 상태를 수신기에서 제어하는 것이 가능하다. 위와 같은 정보 변경은, TPT (또는 TDO parameter 엘리먼트)가 미리 수신기로 전송되어 저장이 되고 있기 때문에, 수신기는 저장된 정보를 변경할 수 있기 때문에 가능하다.
도 156은 본 발명의 다른 실시예에 따른, TPT의 XML 포멧의 실시예를 나타낸 도면이다.
도면을 참고하면, TPT는 NotificationInfo 엘리먼트를 포함할 수 있다. 그외 도면에 나타난 엘리먼트 및/속성에 대한 정보는 이미 설명한 내용과 동일하다.
NotificationInfo 엘리먼트는 topMargin 엘리먼트, rightMargin 엘리먼트, message 엘리먼트, logo 엘리먼트, show 엘리먼트, lasting 엘리먼트, 및/또는 interval 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
topMargin 엘리먼트는 “500”을 지시할 수 있다.
rightMargin 엘리먼트는 “40”을 지시할 수 있다.
message 엘리먼트는 “Enjoy MBC Quiz!”를 지시할 수 있다.
logo 엘리먼트는 “7J207KeE7JuQ7Yq57ZeI7JiI7KCc…”를 지시할 수 있다.
show 엘리먼트는 ”120”를 지시할 수 있다.
lasting 엘리먼트는 “15”를 지시할 수 있다.
interval 엘리먼트는 “300”를 지시할 수 있다.
도 157은 본 발명의 일 실시예에 따른, NotificationInfo 엘리먼트의 정보를 이용하여 동기화된 어플리케이션의 통지가 표출된 화면을 나타낸 도면이다.
도면을 참조하면, 통지의 위치는 화면상 top으로부터 500픽셀, right로부터 40픽셀 떨어진 곳에 위치할 수 있다. 통지에 들어가는 message는 “Enjoy MBC Quiz!”가 될 수 있다. Show 엘리먼트와 lasting 엘리먼트의 설정값에 의해 통지는, 사용자에게 어플리케이션에 대한 통지가 실행된 후 120초 후에 최초로 노출될 수 있고, 노출된 통지에 대해 사용자가 아무 동작을 취하지 않을 경우, lasting 엘리먼트의 설정값 인 15초 후 통지가 사라질 수 있다. 그리고 interval 엘리먼트의 설정 값에 의해 통지가 사라진 후 300초 후에 다시 사용자에게 통지가 노출될 수 있다. 통지 노출 시간과 관련된 설정 값들은 최초 동기화된 어플리케이션이 실행된 시점을 기준으로 상대적인 시간값이다.
도 158은 본 발명의 일 실시예에 따른 어플리케이션 통지 정보를 나타낸 도면이다.
본 발명의 일 실시예에 따른 송수신 시스템은 송신기(또는 방송사), 제1 수신기(또는, primary device), 및/또는 제2 수신기(또는, companion device) 중에서 적어도 하나를 포함할 수 있다.
송신기는 어플리케이션 통지 정보를 전송할 수 있다. 어플리케이션 통지 정보는 제1 수신기를 위한 어플리케이션 통지 정보 및/또는 제2 수신기를 위한 어플리케이션 통지 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 어플리케이션 통지 정보(또는, NoficiationInfo)는 어플리케이션 통지를 위한 정보를 포함할 수 있다. 어플리케이션 통지 정보는 제1 수신기 및/또는 제2 수신기에 디스플레이되는 어플리케이션 통지의 속성을 지시할 수 있다. 어플리케이션 통지 정보는 targetDevice attribute, topMargin attribute, rightMargin attribute, show attribute, lasting attribute, interval attribute, message element, 및/또는 logo element 중에서 적어도 하나를 포함할 수 있다.
targetDevice attribute는 어플리케이션 통지가 디스플레이되는 장치를 지시한다. 예를 들어, targetDevice attribute는 target device가 제1 수신기인지 제2 수신기인지를 지시할 수 있다.
topMargin attribute는 어플리케이션 통지의 top margin을 지시한다.
rightMargin attribute는 어플리케이션 통지의 right margin을 지시한다.
show attribute는 어플리케이션 통지가 처음 디스플레이되는 시간을 지시한다.
lasting attribute는 어플리케이션 통지가 디스플레이되는 지속시간(lasting time)을 지시한다.
interval attribute는 어플리케이션 통지들 사이의 시간 간격(interval time)을 지시한다.
message element는 어플리케이션 통지의 통지 메시지(Notification message)를 지시한다.
logo element는 어플리케이션 통지의 로고 이미지를 지시한다.
제1 수신기는 어플리케이션 통지 정보를 수신할 수 있다. 제1 수신기는 어플리케이션 통지 정보를 기초로 어플리케이션 통지를 구성할 수 있다. 제1 수신기는 어플리케이션 통지 정보를 기초로 어플리케이션 통지를 디스플레이할 수 있다. 제1 수신기는 어플리케이션 통지를 제1 수신기 및/또는 제2 수신기를 이용하여 디스플레이할 수 있다. 예를 들어, 제1 수신기는 어플리케이션 통지 정보를 기초로 어플리케이션 통지를 제1 수신기에 페어링(pairing) 되어 있는 제2 수신기에 디스플레이할 수 있다.
또한, 제1 수신기는 어플리케이션 통지 정보를 기초로 어플리케이션의 Opt-in/Opt-out을 제어할 수 있다. 제1 수신기는 제2 수신기를 이용하여 어플리케이션의 Opt-in/Opt-out을 제어할 수 있다. 예를 들어, 제1 수신기는 API(action)를 이용하여 제2 수신기로부터 Opt-in/Opt-out을 제어할 수 있는 정보를 수신하고, Opt-in/Opt-out을 제어할 수 있는 정보를 처리할 수 있다. 제1 수신기가 제공하는 API는 제조사마다 다를 수 있다.
제2 수신기는 어플리케이션 통지를 디스플레이할 수 있다. 예를 들어, 제2 수신기는 제1 수신기로부터 어플리케이션 통지 정보를 전달받고, 어플리케이션 통지 정보를 기초로 어플리케이션 통지를 디스플레이할 수 있다.
또한, 제2 수신기는 어플리케이션의 Opt-in/Opt-out을 제어할 수 있다. 예를 들어, 제2 수신기는 제1 수신기에서 제공하는 API(action)을 이용하여 어플리케이션의 Opt-in/Opt-out을 제어할 수 있다.
topMargin attribute 및/또는 rightMargin attribute가 제2 수신기의 스크린의 범위에 맞지 않는 경우와 같은, 예외적인 경우에는 제1 수신기 및/또는 제2 수신기가 default로 가지고 있는 정보를 활용할 수 있다.
이하에서는, 제1 수신기가 방송사로부터 수신하는 어플리케이션 통지 정보를 제2 수신기로 전달하는 방법에 대하여 설명한다.
도 159는 본 발명의 일 실시예에 따른 어플리케이션 통지를 위한 state variable을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송수신 시스템은 송신기(또는 방송사), 제1 수신기(또는, primary device), 및/또는 제2 수신기(또는, companion device) 중에서 적어도 하나를 포함할 수 있다. 제1 수신기 및/또는 제2 수신기는 각각 App 송수신부를 포함할 수 있다. 제1 수신기의 App 송수신부와 제2 수신기의 App 송수신부는 서로 데이터를 전달 및/또는 수신할 수 있다. 예를 들어, App 송수신부는 제 1수신기에서 제2 수신기로 어플리케이션 통지 정보를 전달할 수 있다. App 송수신부는 application signaling service라고 부를수 있다. Service Type은 urn:atsc.org:serviceId:atsc3.0:applicationsignaling:1와 같이 정의할 수 있다.
도면의 (a)를 참고하면, 어플리케이션 통지를 위한 NotificationInfo variable 및/또는 A_ARG_TYPE_NotificationInfo variable이 나타나 있다.
NotificationInfo variable은 required state variable로써 제2 수신기를 위한 어플리케이션 통지에 대한 전반적인 정보들을 포함할 수 있다. 예를 들어, NotificationInfo variable은 어플리케이션 통지 정보를 포함할 수 있다. NotificationInfo variable에 포함된 어플리케이션 통지 정보는 이벤팅 방식으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
A_ARG_TYPE_NotificationInfo variable은 required state variable으로써 제2 수신기를 위한 어플리케이션 통지에 대한 전반적인 정보들을 포함할 수 있다. 예를 들어, A_ARG_TYPE_NotificationInfo variable은 어플리케이션 통지 정보를 포함할 수 있다. A_ARG_TYPE_NotificationInfo variable에 포함된 어플리케이션 통지 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
도면의 (b)를 참고하면, 어플리케이션 통지 정보(또는, NotificationInfo)의 XML 포멧에 대한 실시예가 나타나 있다.
targetDevice는 “CD”를 지시한다. 즉, 타겟 디바이스는 제2 수신기를 지시할 수있다. topMargin은 “500”를 지시한다. rightMargin는 “40”를 지시한다. Show는 ”120”를 지시한다. Lasting은 “15”를 지시하낟. Interval은 “300”를 지시한다. Message는 “Enjoy MBC Quiz!”를 지시한다. Logo는 “7J207KeE7JuQ7Yq57ZeI7JiI7KCc…”를 지시한다.
도면의 (c)를 참고하면, 어플리케이션 통지 정보를 요청하는 GetNotificationInfo()가 나타나 있다. GetNotificationInfo()는 required action으로써 제2 수신기가 제1 수신기와 연결된 후 어플리케이션 통지 정보를 요청할 때 사용될 수 있다.
도면의 (d)를 참고하면, A_ARG_TYPE_NotificationInfo variable에 포함된 어플리케이션 통지 정보가 나타나 있다. 제1 수신기는 제2 수신기로부터 어플리케이션 통지 정보를 요청받으면, 응답으로 어플리케이션 통지 정보를 제2 수신기로 전달할 수 있다. 제2 수신기는 원하는 어플리케이션에 대한 정보를 얻기 위해서 어플리케이션 식별자(또는, appID)를 input argument로 사용할 수 있다. 제1 수신기는 이에 대한 반환 값(output argument)으로 어플리케이션 통지 정보(또는, NotificationInfo argument)를 제2 수신기에 전달할 수 있다.
도 160은 본 발명의 일 실시예에 따른, 방송의 개인화를 위한 절차를 나타낸 도면이다.
전술한 바와 같이, 수신기는 어플리케이션의 통지를 제어할 수도 있으나, 수신기에서 어플리케이션의 통지를 제어하지 않거나, 제어할 수 없는 경우를 생각해볼 수 도 있다. 이 경우에는, 각 어플리케이션 별로, 사용자가 Opt-in/Opt-out 설정을 할 수 있다.
이 경우, PDI (Profiles, Demographics, and Interests) 테이블을 이용할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템에서는, 개인화 (Personalization) 설정을 위한 PDI Table을 이용하여, 사용자에게 프로필별, 지역별, 및/또는 관심별로 개인화 된 방송 컨텐츠 및 application을 보여줄 수 있다. 이와 같은 Personalization을 위한 PDI Table을 이용하여 application 별로 Opt-in/out 설정을 할 수 있다. Opt-in 은 사용자가 특정 어플리케이션의 통지을 받기로 설정하는 경우에만, 해당 통지를 수신기에서 디스플레이 처리하는 방식이고, Opt-out 은 사용자가 특정 어플리케이션의 통지를 받기를 거부하는 것으로 설정하지 않은 경우에는 해당 통지를 수신하여 처리하는 방식이다.
도면은 개인화 서비스를 위한 디지털 방송 수신기(또는 수신기)를 포함하는 개인화 방송 시스템을 나타낸다. 본 발명의 일 실시예에 따른 개인화 서비스는 사용자 정보에 기초하여 사용자에게 적합한 콘텐트를 선택하고 공급하기 위한 서비스이다. 게다가, 본 발명의 일 실시예에 따른 개인화 방송 시스템은 방송 서비스 또는 개인화 서비스를 위한 차세대 방송 서비스를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 정보의 예로서, 사용자의 프로필 정보, 지역 정보(demographics), 및 관심사항 정보(또는 PDI data)가 정의될 수 있다. 이하에서, 개인과 방송 시스템의 엘리먼트가 서술된다.
질문서(questionnaire)들에 대하여 함께 수집된 답변들은 사용자의 플로필 정보(Profile), 지역 정보(Demographic), 및/또는 관심사항 정보(Interest)를 나타낸다. 질문서 및 특정 사용자로부터 획득한 답변서를 포함하는(encapsulate) 데이터 구조는 PDI 질문서 또는 PDI 테이블이라 한다. 비록 데이터 구조가 사용가능한 답변서를 위한 공간을 제공하고(accommodate) 있지만, 네트워크, 방송, 및/또는 콘텐트 제공자 중에서 적어도 하나로부터 제공되는 PDI 테이블은 답변서 데이터는 포함하지 않는다. PDI 테이블에 있는 엔트리의 질문 부분은 “PDI 질문서” 또는 “PDI-Q”라고 지칭될 수 있다. 주어진 PDI 질문서에 대한 답변은 “PDI-A”라고 지칭될 수 있다. 필터 기준(filter criteria)의 집합은 “PDI-FC”라고 지칭될 수 있다.
ATSC 2.0 수신기와 같은 클라이언트 디바이스는 질문서(PDI-Q 인스턴스)에 있는 질문들에 대한 답변을 생성하는 기능을 포함할 수 있다. 이러한 PDI 생성 기능은 입력으로 PDI-Q 인스턴스를 사용하고 출력으로 PDI-A 인스턴스를 생성할 수 있다. PDI-Q 인스턴스 및 PDI-A 인스턴스 모두 수신기에서 비-휘발성 저장소(non-volatile storage)에 저장된다. 클라이언트는 다운로드와 사용을 위하여 어떤 콘텐트 아이템들이 적합한지 결정하기 위하여 PDI-A 인스턴스와 PDI-FC 인스턴스를 비교하는 필터링 기능을 제공할 수 있다.
서비스 제공자의 측면에서, PDI 테이블을 유지하고 분배하기 위한 기능이 수행될 수 있다. 콘텐트와 함께, 콘텐트 메타데이터가 생성될 수 있다. 메타데이터는 PDI 테이블에 있는 질문들에 기초한 PDI-FC 인스턴스를 포함할 수 있다.
개인화 방송 시스템은 콘텐트 제공자(또는 방송사; J16070) 및/또는 수신기(J16010)를 포함할 수 있다. 본 발명의 일 실시예에 따른 수신기(J16010)는 PDI engine(미도시), filtering engine(J16020), PDI store(J16030), content store(J16040), declarative content module(J16050), 및/또는 PDI Manipulation application(J16060) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 수신기(J16010)는 콘텐트 제공자(J16070)로부터 콘텐트 등을 수신할 수 있다. 앞서 언급한 개인화 방송 시스템의 구조는 디자이너의 의도에 따라서 변경될 수 있다.
본 발명의 일 실시예에 따른 콘텐트 제공자(J16070)는 콘텐트, PDI 질문서, 및/또는 필터링 조건 중에서 적어도 하나를 수신기(J16010)로 전송할 수 있다. 질문서 및 특정 사용자로부터 받는 답변서를 포함하는(encapsulate) 데이터 구조는 PDI 질문서라고 지칭될 수 있다. 본 발명의 일 실시예에 따르면, PDI 질문서는 사용자의 프로필 정보(profiles), 지역 정보(demographics) 및/또는 관심사항 정보(interests) 등과 관련된 질문들(또는 PDI 질문들)을 포함할 수 있다.
수신기(J16010)은 콘텐트 제공자(J16070)로부터 수신한 콘텐트, PDI 질문서, 및/또는 필터링 조건을 처리할 수 있다. 이하에서, 디지털 방송 시스템은 수신기(J16010)에 포함된 모듈의 동작을 중심으로 설명된다.
본 발명의 일 실시예에 따른 PDI 엔진은 콘텐트 제공자(J16070)로부터 PDI 질문서를 수신할 수 있다. PDI 엔진은 수신한 PDI 질문서에 있는 PDI 질문들을 PDI Manipulation application(J16060)로 전달할 수 있다. 해당 PDI 질문에 해당하는 사용자의 입력이 존재하면, PDI 엔진은 PDI Manipulation application(J16060)으로부터 해당 PDI 질문에 관련된 사용자의 답변 및/또는 다른 정보(이하에서, PDI 답변이라 한다)를 수신할 수 있다. 그리고 나서, PDI 엔진은 PDI 데이터를 생성하는 개인화 서비스를 제공하기 위해서 PDI 질문들 및/또는 PDI 답변들을 처리할 수 있다. 즉, 본 발명의 일 실시예에 따르면, PDI 데이터는 앞서 언급한 PDI 질문들 및/또는 PDI 답변들을 포함할 수 있다. 그러므로, PDI 질문서들에 대하여 합께 획득된 PDI 답변들은 사용자의 프로필 정보(profile), 지역 정보(demographics), 및/또는 관심사항 정보(interests)를 나타낸다. 프로필 정보(profile), 지역 정보(demographics), 및/또는 관심사항 정보(interests)를 PDI로 표현할 수 있다.
게다가, 본 발명의 일 실시예에 따른 PDI 엔진은 수신된 PDI 답변들을 사용하여 PDI 데이터를 업데이트할 수 있다. 구체적으로, PDI 엔진은 PDI 답변의 ID(식별자)를 사용하여 PDI 데이터를 삭제, 추가, 및/또는 수정할 수 있다. PDI 답변의 ID는 본 발명의 일 실시예와 관련하여 보다 구체적으로 서술된다. 게다가, 다른 모듈이 PDI 엔진에게 PDI 데이터를 전송하도록 요청하면, PDI 엔진은 해당 모듈로 해당 요청에 적절한 PDI 데이터를 전송할 수 있다.
본 발명의 일 실시예에 따른 필터링 엔진(J16020)은 PDI 데이터 및/또는 필터링 조건에 따라서 콘텐트를 필터링할 수 있다. 필터링 조건은 PDI 데이터를 사용하여 사용자에 적합한 콘텐트들만을 필터링하기 위한 필터링 조건들의 집합이다. 구체적으로, 필터링 엔진(J16020)은 PDI 엔진으로부터 PDI 데이터를 수신하고 콘텐트 제공자(J16070)으로부터 콘텐트 및/또는 필터링 조건을 수신할 수 있다. 게다가, 콘텐트 제공자(J16070)가 서술적 콘텐트(declarative content)와 관련된 파라미터를 전송하면, 콘텐트 제공자(J16070)는 서술적 콘텐트(declarative content)와 관련된 필터링 조건 테이블을 함께 전송할 수 있다. 그리고 나서, 필터링 엔진(J16020)은 필터링 조건 및 PDI 데이터를 매칭 및 비교하고, 비교 결과를 이용하여 콘텐트를 필터링 및또는 다운로드할 수 있다. 다운로드된 콘텐트는 content store(J16040)에 저장될 수 있다.
본 발명의 일 실시예에 따르면, PDI Manipulation application(J16060)은 PDI 엔진으로부터 수신한 PDI를 디스플레이할 수 있고, 사용자로부터 해당 PDI 질문에 대한 PDI 답변을 수신할 수 있다. 사용자는 리모트 컨트롤러(remote controller)를 사용하여 수신기(J16010)에 디스플레이된 PDI 질문에 대한 PDI 답변을 전송할 수 있다. PDI Manipulation application(J16060)는 수신된 PDI 답변을 PDI engine으로 전송할 수 있다.
본 발명의 일 실시예에 따른 declarative content module(J16050)은 PDI 데이터를 획득하기위하여 PDI 엔진에 접근할 수 있다. 게다가, declarative content module(J16050)은 콘텐트 제공자(J16070)에 의하여 제공되는 서술적 콘텐트(declarative content)를 수신할 수 있다. 본 발명의 일 실시예에 따르면, 서술적 콘텐트(declarative content)는 수신기(J16010)에 의해서 수행되는 어플리케이션과 관련된 콘텐트일 수 있고, 트리거드 서술적 오브젝트(triggered declarative object, TDO)와 같은 서술적 오브젝트(declarative object, DO)를 포함할 수 있다.
본 발명의 일 실시예에 따른 declarative content module(J16050)는 PDI 질문 및/또는 PDI 답변을 획득하기 위하여 PDI store(J16030)에 접근할 수 있다. 이 경우, declarative content module(J16050)은 application programming interface (API)를 사용할 수 있다. 구체적으로, declarative content module(J16050)은 적어도 하나의 PDI 질문을 획득하기 위하여 API를 사용하여 PDI store(J16030)를 검색할 수 있다. 그리고 나서, declarative content module(J16050)은 PDI 질문을 전송하고, PDI 답변을 수신하고, 수신한 PDI 답변을 PDI Manipulation application(J16060)을 통하여 PDI store(J16030)에 전송할 수 있다.
본 발명의 일 실시예에 따른 PDI store(J16030) PDI 질문 및/또는 PDI 답변을 저장할 수 있다.
본 발명의 일 실시예에 따른 content store(J16040)는 필터링된 콘텐트를 저장할 수 있다.
PDI 엔진은 콘텐트 제공자(J16070)로부터 PDI 질문서(PDI questionnaire)를 수신할 수있다. 수신기(J16010)는 PDI Manipulation application(J16060)를 통하여 수신한 PDI 질문서(PDI questionnaire)의 PDI 질문을 디스플레이할 수 있고, 사용자로부터 해당 PDI 질문에 대한 PDI 답변을 수신할 수 있다. PDI 엔진은 PDI 질문 및/또는 PDI 답변을 포함하는 PDI 데이터를 filtering engine(J16020)으로 전송할 수 있다. filtering engine(J16020)은 PDI 데이터 및 필터링 조건(filtering criteria)를 기초로 콘텐트를 필터링할 수 있다. 따라서, 수신기(J16010)은 개인화된 서비스를 구현하기 위하여 사용자에게 필터링된 콘텐트를 제공할 수 있다.
도 161는 본 발명의 일 실시예에 따른, 방송의 개인화를 위한 절차를 나타낸 도면이다.
도면을 참고하면, 개인화 방송 시스템은 콘텐트 제공자(또는 방송사; J16070) 및/또는 수신기(J16010)를 포함할 수 있다. 본 발명의 일 실시예에 따른 수신기(J16010)는 PDI engine(미도시), filtering engine(J16020), PDI store(J16030), content store(J16040), declarative content module(J16050), 및/또는 PDI Manipulation application(J16060) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 개인화 방송 시스템의 구체적인 내용은 전술한 바와 동일하다.
차세대 하이브리드 방송 시스템에서는 Personalization 설정을 위한 PDI Table을 이용하여 사용자에게 프로필별, 지역별, 관심별로 개인화된 방송 컨텐츠 및 application을 보여줄 수 있다. 이와 같은 Personalization을 위한 PDI Table을 이용하여 application 별로 Opt-in/Opt-out 설정을 할 수 있다.
송신기 및/또는 방송사는 어플리케이션 통지(Application notification)를 구성할 수 있다.
다만 PDI Table은 수신기 안의 저장소에 저장될 수 있으므로, 수신기는 어플리케이션 별로 Opt-in/Opt-out을 설정할 수 있는 메뉴를 구성하여 사용자에게 제공할 수 있다. 이 때, 수신기는 application manager를 이용하여 어플리케이션 별로 Opt-in/Opt-out을 설정할 수 있는 메뉴를 구성하여 사용자에게 제공할 수 있다.
송신기는 어플리케이션 별로 해당 application ID와 동일하게 PDI Table ID를 설정 후 어플리케이션 설정 관련 질문(question)들을 전송할 수 있다. 이 경우, 송신기에서 제공하는 서비스와 관련된 어플리케이션이 있다는 시그널링 정보를 전송할 때, 송신기는 어플리케이션과 관련된 PDI Table 정보도 같이 전송할 수 있다..
수신기는 어플리케이션 별로 매칭되는 PDI Table을 저장 및 관리할 수 있고, 해당 어플리케이션이 더 이상 사용가능하지 않을 경우에는 관련 PDI Table을 삭제할 수 있다.
도 162는 본 발명의 일 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조를 나타낸 도면이다
어플리케이션 별로 Opt-in/Opt-out의 설정(예를 들면, 어플리케이션 통지의 on 및/또는 off 에 대한 사용자의 설정 등) 위해서, 어플리케이션을 실행시키 위한 trigger에 사용되는 globally unique한 application ID를 PDI Table ID로 사용할 수 있다. Application Trigger Table의 내용은 앞서 언급한 App Signaling Parser를 통해 추출될 수 있으며, PDI Table의 내용은 앞서 언급한 Targeting Signaling Parser를 통해 추출될 수 있다. 여기서, application trigger table은 전술한 TPT 또는 TDO 파라미터 엘레먼트에 해당될 수 있다.
수신기는 application trigger table에서 설명되는 어플리케이션을 실행하기 이전에, application trigger table에서 해당 어플리케이션의 글로벌 ID를 식별한다. 여기서 글로벌 ID는 방송 시스템에서 제공하는 전체 어플리케이션들에서, 특정 어플리케이션을 위한 유일한 값으로, 특정 어플리케이션을 식별하는 정보이다.
수신기는 해당 어플리케이션의 글로벌 ID와 동일한 정보를 가지는, PDI 테이블 ID를 식별하고, 해당 PDI 테이블 내의 각 사용자에 따른 정보를 이용하여, 사용자에 따른 어플리케이션의 통지를 설정한다.
application trigger table에 포함되는 다른 정보에 대한 설명은, 전술한 TPT 에 대한 설명 또는 도면에 나타난 설명으로 대체한다. 또한, PDI 테이블에 포함되는 다른 정보에 대한 설명은, 전술한 PDI 테이블에 대한 설명 또는 도면에 나타난 설명으로 대체한다.
도 163은 본 발명의 일 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조의 XML 포멧을 나타낸 도면이다.
도면의 (a)를 참조하면, Application Trigger Table(또는, TPT)의 XML 포멧이 나타나 있다.
Application Trigger Table(또는, TPT, 트리거링 어플리케이션 정보)은 어플리케이션에 관한 정보를 포함하는 TDO(또는, 어플리케이션 정보)를 포함할 수 있다. TDO의 구체적인 내용은 상술한 바와 동일하다. TDO는 어플리케이션을 식별하는 appId, 어플리케이션의 종류를 지시하는 appType, 어플리케이션의 이름을 지시하는 appName, 및/또는 어플리케이션을 세계적으로 유일하게 식별하는 globalID 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, appId는 "12"를 지시하고, appType는 "5"를 지시하고, appName은 “quiz01"를 지시한다. 또한, globalID는 “http://www.atsc.com/mbcapplication1”를 지시한다.
도면의 (b)를 참조하면, PDI Table의 XML 포멧이 나타나있다.
PDI Table은 프로토콜의 버전을 지시하는 protocolVersion, PDI Table을 유일하게 식별하는 pdiTableId, PDI Table의 버전을 지시하는 pdiTableVersion, 및/또는 PDI Table에서 질문들이 마지막으로 없데이트된 업데이트된 시간을 지시하는 time 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, protocolVersion은 "0FB7"를 지시하고, pdiTableId는 “http://www.atsc.com/mbcapplication1”를 지시하고, pdiTableVersion는 "5"를 지시하고, time은 "2014-12-13T12:12:12"를 지시한다.
송신기는 어플리케이션 별로 globalID와 pdiTableId를 동일하게 설정 후, 어플리케이션 설정 관련 질문(question)들을 전송할 수 있다.
수신기는 해당 어플리케이션의 globalID와 동일한 정보를 가지는, pdiTableId를 식별하고, 해당 PDI 테이블 내의 각 사용자에 따른 정보를 이용하여, 사용자에 따른 어플리케이션의 통지를 설정한다.
도 164는 본 발명의 다른 실시예에 따른, 어플리케이션 별로, 사용자 설정을 하기 위한 시그널링 구조를 나타낸 도면이다.
도면을 참조하면, PDI 테이블에 appID 또는 globalID를 추가하여, 해당 PDI 테이블의 정보가 적용되는 어플리케이션을 지정할 수 도 있다.
수신기는 어플리케이션의 통지를 디스플레이 처리하기 이전에, PDI 테이블에 포함되는 appID를 이용하여, 해당 어플리케이션에 적용되는 PDI 관련 정보가 있는지 식별한다. 수신기는 PDI 관련 정보를 바탕으로, 해당 어플리케이션에 대한 통지를 디스플레이 처리할지를 결정할 수 있다.
도 165는 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정에 대한 과정을 나타낸 도면이다.
서비스 프로바이더 (Service Provider) 는 어플리케이션의 Opt-int/out 설정에 관련된 PDI Question들을 포함하고 있는 PDI 테이블을 가지고 있을 수 있다. 이러한 PDI 테이블에 포함된 정보는 사용자가 제공한 정보 또는 서비스 프로바이더가 수집한 정보를 기초로 생성될 수 있다. (step 1)
어플리케이션에 대한 동의/비동의 설정에 관련된 PDI 테이블은 수신기 (TV)로 전달될 수 있다. 이 때 PDI 테이블의 ID는 application의 ID (appID 또는 globalID)와 동일한 값을 가질 수 있다. (step 2)
서비스 프로바이더는 해당 어플리케이션에 대한 트리거 (Trigger) 및/또는 TPT를 수신기 (TV)로 보낼 수 있다. (step 3)
사용자가 어플리케이션에 대한 Opt-in/out 설정을 하기 위해 “Setting”을 선택할 수 있으며, 어플리케이션에 대한 PDI setting app이 실행될 수 있다. (step 4)
PDI setting app에 의해 어플리케이션의 Opt-in/out에 대한 사용자의 설정을 PDI store에 저장할 수 있다. (step 5)
도 166은 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정에 대한 과정을 나타낸 도면이다.
전술한 내용에 추가하면, 사용자가 어플리케이션에 대한 Opt-in/out 설정을 하기 위해 “Setting”을 선택할 수 있으며, 어플리케이션에 대한 PDI setting app이 실행될 수 있다. 이 때, 수신기는 어플리케이션의 ID(또는, 어플리케이션의 globalID)를 이용하여 동일한 ID를 가진 PDI Table을 찾을 수 있다(step 4).
PDI setting app에 의해 어플리케이션의 Opt-in/out에 대한 사용자의 설정을 PDI store에 저장할 수 있다(step 5).
도 167은 본 발명의 일 실시예에 따른, 어플리케이션의 Opt-in/out 을 설정하기 위한 UI를 나타낸 도면이다.
수신기가 트리거를 수신하면, (a)와 같은 UI (user interface) 를 디스플레이할 수 있다. 사용자는 해당 어플리케이션을 바로 실행하거나 (enter), 해당 어플리케이션에 대한 설정 (setting) 을 수행 할 수 있다.
사용자가 ‘setting’을 선택한 경우, PDI setting app 또는 수신기 자체의 UI가 추가적으로 실행될 수 있고, 이를 통하여, 사용자가 해당 어플리케이션에 대한 사용 동의를 할 것인지에 설정할 수 있다. 이러한 정보는 PDI 테이블과 함께 저장될 수 있다.
도 168은 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정 완료 후, 수신기 (TV)가 서비스 프로바이더로부터 동일 application ID를 가진 어플리케이션의 트리거 (trigger)를 수신한 경우, 이에 대한 처리 과정을 나타낸 도면이다.
서비스 프로바이더가 Opt-in/out 설정이 완료된 어플리케이션에 대한 트리거를 수신기로 전달한다. (step 1)
수신기 (TV)의 어플리케이션 매니저는 해당 트리거를 parsing하여 application ID를 획득할 수 있다. (step 2)
수신기는 획득한 Application ID를 이용하여 PDI store로부터 관련 PDI 테이블를 찾고 어플리케이션의 Opt-in/out에 대한 답변 (answer), 즉, 사용자의 설정을 알아낼 수 있다.
수신기는 어플리케이션에 대한 Opt-in/out 설정에 따라 어플리케이션을 실행시키거나 실행시키지 않을 수 있다.
도 169는 본 발명의 일 실시예에 따른, PDI 테이블을 이용한 어플리케이션의 Opt-in/out 설정 완료 후, 수신기 (TV)가 서비스 프로바이더로부터 동일 application ID를 가진 어플리케이션의 트리거 (trigger)를 수신한 경우, 이에 대한 처리 과정을 나타낸 도면이다.
서비스 프로바이더는 어플리케이션 속성 정보를 포함하고 있는 테이블(예를 들어, 트리거링 어플리케이션 정보 또는 TPT)에 Filtering Criteria 정보를 포함시켜서 전송할 수 있다.
수신기는 수신한 Filtering Criteria 정보를 parsing하여 수신기에 이미 저장되어 있는 application관련 PDI 정보와 비교할 수 있다. 이 때 수신기는 이미 저장된 application을 찾기 위해 application ID를 이용하여 비교할 수 있다.
도 170은 본 발명의 일 실시예에 따른, Filtering Criteria의 데이터 포멧을 나타낸 도면이다.
필터링 조건 정보는 PDI 데이터를 사용하여 사용자에 적합한 콘텐트들만을 필터링하기 위한 필터링 조건(Filtering Criteria)들의 집합이다. 필터링 조건은 QIACriterion element, QBACriterion element, QSACriterion element, QTACriterion element, 및/또는 QAACriterion element 중에서 적어도 하나를 포함할 수 있다.
QIACriterion element, QBACriterion element, QSACriterion element, QTACriterion element, 및/또는 QAACriterion element는 각각 iD attribute 및/또는 CriterionValue element 중에서 적어도 하나를 포함할 수 있다.
ID attribute는 필터 조건에 해당하는 질문을 식별한다. .
QIACriterion element은 정수 값(integer value)을 가진 질문에 해당하는 필터 조건을 나타낸다. 만약, QIACriterion element에 포함된 CriterionValue element가 extent attribute를 포함하지 않으면, CriterionValue element는 필터링 조건에 해당하는 질문을 위한 정수 답변을 나타낸다. 만약 QIACriterion element에 포함된 CriterionValue element가 extent attribute를 포함하면, CriterionValue element는 질문을 위한 답변의 숫자 범위의 하위 끝(lower end of a numeric range)을 나타낸다. 그리고 extent attribute은 범위에서 정수들의 수를 나타낸다.
QBACriterion element는 불리언 값(Boolean value)을 가진 질문에 해당하는 필터 조건을 나타낸다. QBACriterion element에 포함된 CriterionValue element는 필터링 조건에 해당하는 질문에 대한 불리언 답변을 나타낸다.
QSACriterion element은 선택 값(selection value)을 가진 질문에 해당하는 필터 조건을 나타낸다. QSACriterion element에 포함된 CriterionValue element는 필터링 조건에 해당하는 질문에 대한 선택 답변의 식별자를 나타낸다.
QTACriterion element은 스트링 값(string value)를 가진 질문에 해당하는 필터 조건을 나타낸다. QTACriterion element에 포함된 CriterionValue element는 필터링 조건에 해당하는 질문에 대한 텍스트 답변을 나타낸다.
QAACriterion element은 질문이 없는 텍스트 답변만을 가진 질문에 해당하는 필터 조건을 나타낸다. QAACriterion element에 포함된 CriterionValue element는 필터링 조건에 해당하는 질문에 대한 텍스트 답변을 나타낸다.
도 171은 본 발명의 일 실시예에 따른, 어플리케이션의 사용자에 따른 옵션을 설정하는 UI 및 이에 대한 질의 (Question) 을 나타낸 도면이다.
도면의 (a)를 참조하면, Application ID로 구분되는 어플리케이션 별로, 해당 어플리케이션을 사용자에게 노출할지 여부에 대한 설정을 하기 위한 UI와 질의가 도시되어 있다. 이 경우, 사용자는 어플리케이션 마다, 사용 여부를 설정할 수 있고, 사용 여부가 설정된 정보는 수신기에 저장될 수 있다. 상세한 수신기의 동작은 전술한 설명을 참조할 수 있다.
도면의 (b)를 참조하면, Application ID로 구분되는 어플리케이션을 사용자에게 노출할지 여부를 구분하는 확장된 설정 UI 및 이를 위한 질의가 도시되어 있다. 기본적으로, 사용자는 어플리케이션에 대한 사용 여부를 설정할 수 있고, 이 설정이 현재 방송 프로그램 내에서 만 유효한지, 현재 채널의 모든 방송 프로그램에서 유효한지, 또는 모든 채널의 모든 방송 프로그램에서 유효한지를 설정할 수 있다.
도 172는 본 발명의 일 실시예에 따른, PDI Table의 XML 데이터 포멧을 나타낸 도면이다.
PDI Table은 프로토콜의 버전을 지시하는 protocolVersion, PDI Table을 유일하게 식별하는 pdiTableId, PDI Table의 버전을 지시하는 pdiTableVersion, 및/또는 PDI Table에서 질문들이 마지막으로 없데이트된 업데이트된 시간을 지시하는 time 중에서 적어도 하나를 포함할 수 있다.
또한, PDI Table은 선택 값(selection value)을 가진 질문에 해당하는 필터 조건을 나타내는 QSACriterion element를 포함할 수 있다. QSACriterion element는 질문의 텍스트를 나타내는 QText attribute, 및/또는 질문에 대한 선택을 나타내는 selection element 중에서 적어도 하나를 포함할 수 있다. selection element는 선택에 대한 식별자를 나타내는 selectionId attribute, 및/또는 선택의 텍스트를 나타내는 selectionText attribute 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, protocolVersion은 "0FB7"를 지시하고, pdiTableId는 “http://www.atsc.com/mbcapplication1”를 지시하고, pdiTableVersion는 "5"를 지시하고, time은 "2014-12-13T12:12:12"를 지시한다.
또한, QText는 “Interactive Application 동의”를 지시할 수 있다. selection element는 제1 selection element, 및/또는 제2 selection element를 포함할 수 있다. 제1 selection의 selectionId는 "1"을 지시하고, selectionText는 “Yes”를 지시할 수 있다. 제2 selection의 selectionId는 "2"를 지시하고, selectionText는 “No”를 지시할 수 있다.
여기에서, pdiTableId인 “http://www.atsc3.com/mbcapplication1”는 해당 서비스에서 제공하는 application ID와 일치될 수 있다.
수신기는 Application ID로 구분되는 어플리케이션 별로, 해당 어플리케이션을 사용자에게 노출할지 여부에 대한 설정을 하기 위한 UI와 질문을 디스플레이할 수 있다. 이 경우, 사용자는 어플리케이션 마다, 사용 여부를 설정할 수 있고, 사용 여부가 설정된 정보는 수신기에 저장될 수 있다. 상세한 수신기의 동작은 전술한 설명을 참조할 수 있다.
도 173은 본 발명의 일 실시예에 따른, PDI Table의 XML 데이터 포멧을 나타낸 도면이다.
PDI Table은 프로토콜의 버전을 지시하는 protocolVersion, PDI Table을 유일하게 식별하는 pdiTableId, PDI Table의 버전을 지시하는 pdiTableVersion, 및/또는 PDI Table에서 질문들이 마지막으로 없데이트된 업데이트된 시간을 지시하는 time 중에서 적어도 하나를 포함할 수 있다.
또한, PDI Table은 선택 값(selection value)을 가진 질문에 해당하는 필터 조건을 나타내는 QSACriterion element를 포함할 수 있다. 이 때, PDI Table은 해당 어플리케이션을 사용자에게 노출할지 여부에 대한 설정을 하기 위한 UI와 질의를 나타내는 제1 QSACriterion element, 및/또는 Application ID로 구분되는 어플리케이션을 사용자에게 노출할지 여부를 구분하는 확장된 설정 UI 및 이를 위한 질의를 나타내는 제2 제1 QSACriterion element를 포함할 수 있다.
제1 QSACriterion element에 대한 구체적인 내용은 전술한 바와 동일하다.
제2 QSACriterion element는 QText attribute, selection element 중에서 적어도 하나를 포함할 수 있다. selection element는 제1 selection element, 제2 selection element, 및/또는 제3 selection element를 포함할 수 있다.
QText는 “옵션”을 나타낼 수 있다. 제1 selection element의 selectionId는 "1“을 지시하고, selectionText는 “현재 방송 Program“을 지시할 수 있다. 제2 selection element의 selectionId는 "2“을 지시하고, selectionText는 “현재 채널의 모든 방송 Program“을 지시할 수 있다. 제3 selection element의 selectionId는 "3“을 지시하고, selectionText는 “ 모든 채널의 모든 방송 Program“을 지시할 수 있다.
여기에서, pdiTableId인 “http://www.atsc3.com/mbcapplication1”는 해당 서비스에서 제공하는 application ID와 일치될 수 있다.
사용자는 어플리케이션에 대한 사용 여부를 설정할 수 있고, 이 설정이 현재 방송 프로그램 내에서 만 유효한지, 현재 채널의 모든 방송 프로그램에서 유효한지, 또는 모든 채널의 모든 방송 프로그램에서 유효한지를 설정할 수 있다.
도 174는 본 발명의 일 실시예에 따른, ContentAdvisoryInfo 엘레먼트 내의 Rated_dimension 엘레먼트를 나타낸 도면이다.
Rated_dimension 엘레먼트는 각 국가별로 미리 정의된, rating 영역의 개수를 나타낼 수 있다. 도시된 바에 따르면, rating_region에 의하여 정의된 미국의 경우 8개, rating_region에 의하여 정의된 캐나다의 경우 2개의 rating 영역을 가진다.
도 175는 본 발명의 일 실시예에 따른, content advisory 정보 (ContentAdvisoryInfo 엘레먼트) 를 포함하는 TPT를 나타낸 도면이다.
수신기는, 사용자가 TV에 설정한 rating 정보에 기반하여, 방송사로부터 제공받는 동기화된 어플리케이션이 수신기에서 사용될 수 있는 것인지 결정할 수 있다.
차세대 하이브리드 방송에서 사용할 수 있는 어플리케이션 (예를 들면, TDO 등)은 설정된 rating 정보에 따라, 컨텐츠를 구성한 후 앱 서비스로 제공될 수 있다.
content advisory 정보는 방송 신호에 포함되어 시그널링 정보로 전송될 수 있다. 또는 content advisory 정보는 전술한 TPT에 포함될 수 있다.
TPT에 content advisory 정보를 포함시키기 위하여, ContentAdvisoryInfo 엘레먼트를 TPT 내에서 추가적으로 시그널링할 수 있다.
ContentAdvisoryInfo 엘레먼트는 주어진 ContentItem 또는 Event의 rating 정보를 포함하고 있으며, 이 값은 RRT(Rating Region Table)에 선엄된 각 region별 rating 정보와 같은 값을 가질 수 있다.
content advisory 정보를 TPT에 포함시키기 위하여, 후술되는 엘레먼트 중 어느 하나 이상의 엘레먼트가 TPT를 통하여 시그널링 될 수 있다.
contentAdvisoryId 엘레먼트는 TDO element의 scope에서 유일하게 ContentAdvisoryInfo를 인식할 수 있는 구분자를 나타낸다.
rating_region 엘레먼트는 rating region을 의미한다, 예를 들면, rating_region 엘레먼트의 값이 1이면 미국, 2이면 캐나다를 나타낼 수 있다.
rating_description 엘레먼트는 rating값을 축약된 형태로 표현된 텍스트를 포함한다.
Rated_dimension 엘레먼트는 각 국가별로 미리 정의된, rating 영역의 개수를 나타낼 수 있다.
rating_dimension 엘레먼트는 RRT (Rating Region Table) 정보에 있는 dimension index를 나타낸다.
rating_value 엘레먼트는 rating_dimension 엘레먼트로 가리키는 dimension의 rating 값을 나타낸다. 예를 들면, dimension에 따라 TV-G, TV-PG 등의 값을 가질 수 있다.
contentAdvisoryId 엘레먼트는 TDO element, ContentItem element 또는 Event element에 추가될 수 있다. 따라서, rating 정보는 TDO 전체에 적용될 수도 있고, ContentItem 마다 적용될 수도 있고, 또는 개별 Event마다 적용될 수도 있다. 해당 element에 rating 정보가 없는 경우는 default로 0을 가지며, rating 정보와 연계될 경우에는 ContentAdvisoryInfo 엘레먼트의 하위에 contentAdvisoryId 엘레먼트의 값을 갖는다.
도 176은 본 발명의 일 실시예에 따른, rating 값을 획득하기 위한 API (Application Programming Interface)를 나타낸 도면이다.
TV에 설정된 rating 값을 어플리케이션 (또는 TDO)에서 얻어오기 위하여는 어플리케이션을 위한 API가 필요하다.
도시된 바와 같은, rating값을 얻어오는 함수를, 기존의 방송 시스템을 위한 API에 추가할 구 있다.
어플리케이션은 API에 rating_region의 정보를 제공함으로써, 사용자가 설정한 rating 정보 값을 얻어온다. 수신기에 저장된 rating 정보값은, 전술한 ContentAdvisoryInfo 엘레먼트로 전달될 수 있다.
도 177은 본 발명의 일 실시예에 따른 송수신 시스템의 구성을 나타내는 도면이다.
본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다.
송신기(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 송신기(C10)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 방송 서비스를 포함하는 방송 스트림을 전송할 수 있다. 송신기는(C10)는 제1 수신기(C100) 및/또는 제2 수신기의 요청에 기초하여 방송 서비스를 전송할 수 있다. 송신기(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
제1 수신기(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 제1 수신기(C100)는 방송 수신 장치, 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device), 및/또는 프라이머리 디바이스(Primary Device)로 표현할 수 있다. 제1 수신기(C100)는 방송 수신부(C100), IP 송수신부(C130), App 송수신부(C140), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C150) 중에서 적어도 하나를 포함할 수 있다.
방송 수신부(C110)는 방송 서비스를 포함하는 방송 스트림을 수신할 수 있다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 방송 수신부(C110)는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다.
IP 송수신부(C130)는 송신기(C10)에 방송 서비스를 요청할 수 있다. 또한, IP 송수신부(C130)는 송신기(C10)로부터 방송 서비스를 수신할 수 있다.
App 송수신부(C140)는 제2 수신기(C200)의 App 송수신부(C240)로 방송 서비스를 송신 및/또는 수신할 수 있다. App 송수신부(C140)는 제1 수신기에서 제2 수신기로 시그널링 정보의 전달을 담당할 수 있고, application signaling service라고 부를수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C150)는 방송 수신부(C110), IP 송수신부(C130), App 송수신부(C140), 디코더, 및/또는 디스플레이의 동작을 제어할 수 있다.
제2 수신기(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 제2 수신기(C100)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device), 및/또는 컴패니언 디바이스(Companion Device)로 표현할 수 있다. 제2 수신기(C200)는 IP 송수신부(C230), App 송수신부(C240), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C250) 중에서 적어도 하나를 포함할 수 있다. 다만, 일 실시예로, 제2 수신기(C200)는 방송 수신부(미도시)를 더 포함할 수 있다. 제2 수신기(C200)의 개수는 복수일 수 있다.
IP 송수신부(C230)는 송신기(C10)에 방송 서비스를 요청할 수 있다. 또한, IP 송수신부(C230)는 송신기(C10)로부터 방송 서비스를 수신할 수 있다.
App 송수신부(C240)는 제1 수신기(C100)의 App 송수신부(C140)로 방송 서비스를 송신 및/또는 수신할 수 있다. App 송수신부(C240)는 제2 수신기에서 제1 수신기로 시그널링 정보의 전달을 담당할 수 있고, application signaling service라고 부를수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C250)는 방송 수신부(C210), IP 송수신부(C230), App 송수신부(C240), 디코더, 방송 수신부, 및/또는 디스플레이의 동작을 제어할 수 있다.
송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
도 178는 본 발명의 일 실시예에 따른 이벤트 정보를 나타내는 도면이다.
본 발명의 일 실시예에 따르면, 제1 수신기가 방송망 및/또는 인터넷망을 통하여 시그널링 정보를 수신할 수 있다. 구체적으로, 제1 수신기는 트리거 및/또는 트리거링 어플리케이션 정보(e.g TPT)를 포함하는 어플리케이션 시그널링 정보를 수신할 수 있다. 또한, 제1 수신기는 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 제1 수신기에 포함된 저장부(또는, primary device storage)에 저장할 수 있다.
또한 본 발명의 일 실시예에 따르면, 제1 수신기는 시그널링 정보를 제2 수신기로 전달할 수 있다. 구체적으로, 제1 수신기는 어플리케이션 시그널링 정보를 제2 수신기(e.g. 컴패니언 디바이스)로 전달할 수 있다.
예를 들어, 시그널링 정보는 어플리케이션 시그널링 정보를 포함할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
트리거는 어플리케이션의 상태(또는, 라이프 사이클)를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
트리거링 어플리케이션 정보는 어플리케이션을 실행하는데 필요한 부가 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 트리거링 어플리케이션 정보는 어플리케이션 정보(TDO)를 포함할 수 있다. 또한, 어플리케이션 정보는 어플리케이션의 이벤트에 대한 정보를 나타내는 이벤트 정보를 포함할 수 있다. 구체적인 실시예에서 이벤트 정보는 Event로 지칭될 수 있다.
이벤트 정보는 이벤트를 식별하는 이벤트 식별자를 포함할 수 있다. 구체적으로 이벤트 식별자는 해당 어플리케이션 범위에서 이벤트를 유일하게 식별할 수 있다. 구체적인 실시예에서 이벤트 식별자는 eventID로 지칭될 수 있다. 구체적인 실시예에서 이벤트 식별자는 16 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트의 동작을 지시하는 동작 정보를 포함할 수 있다. 구체적으로 이벤트 정보는 준비(preparing), 실행(execution), 종료(termination or kill), 및/또는 중지(suspending)를 포함할 수 있다. 구체적인 실시예에서 동작 정보는 action으로 지칭될 수 있다.
이벤트 정보는 어플리케이션이 타겟팅하는 타겟 장치를 나타내는 목적지 정보를 포함할 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 제1 수신기(또는, primary device)만을 위한 것임을 나타낼 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 제1 수신기(또는, primary device)와 연동하는 하나 또는 복수의 제2 수신기(또는, companion device)만을 위한 것임을 나타낼 수 있다. 또한, 목적지 정보는 어플리케이션이 제1 수신기와 제2 수신기 모두를 위한 것임을 나타낼 수 있다. 구체적인 실시예에서 목적지 정보는 destination으로 지칭될 수 있다.
이벤트 정보는 트리거링 어플리케이션 정보 요청을 확산하기 위한 확산 정보를 포함할 수 있다. 구체적으로 제1 수신기는 확산 정보에 기초하여 무작위 값을 산출하여 무작위 값만 큼 대기후 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적으로 수신기는 무작위 값에 10ms를 곱한 만큼을 대기한 뒤, 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적인 실시예에서 확산 정보는 diffusion으로 지칭될 수 있다. 구체적인 실시예에서 확산 정보는 8 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트와 연관된 데이터를 나타내는 데이터 정보를 포함할 수 있다. 각각의 이벤트는 이벤트와 연관된 데이터 엘리먼트를 가질 수 있다. 구체적인 실시예에서 데이터 정보는 Data로 지칭될 수 있다.
데이터 정보는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 데이터 식별자는 dataID로 지칭될 수 있다. 데이터 식별자는 16 비트 엘리먼트일 수 있다.
도 179은 본 발명의 일 실시예에 따른 이벤트 정보의 XML 포멧을 나타낸 도면이다.
도면을 참조하면, 본 발명의 일 실시예에 따른 제1 수신기가 수신한 트리거링 어플리케이션 정보의 XML 포멧이 나타나 있다. 이하에서는, 트리거링 어플리케이션 정보에 포함된 이벤트 정보에 대하여 설명한다.
어플리케이션 정보는 제1 이벤트 정보 및/또는 제2 이벤트 정보를 포함할 수 있다.
제1 이벤트 정보는 eventID, action, destination, 및/또는 dataID를 포함할 수 있다. eventID는 “1"을 지시한다. Action은 “exec”을 지시한다. Destination은 “2"를 지시한다. Diffusion은 “5"를 지한다. dataID는 “10"을 지시한다. Data는 “AAAAZg==”를 지시할 수 있다.
제2 이벤트 정보는 eventID, action, destination, 및/또는 dataID를 포함할 수 있다. eventID는 “2"를 지시한다. Action은 “kill”를 지시한다. Destination은 “2"를 지시한다. Diffusion은 “5"를 지시한다. dataID는 “11"를 지시한다. Data는 “YTM0NZomIzI2OTsmIzM0NTueYQ==”를 지시할 수 있다.
도 180은 본 발명의 일 실시예에 따른 UPnP Action Mechanism을 나타낸 도면이다.
도면을 참고하면, 본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 UPnP 방식은, 다양한 layer의 기술중에서, IP-TCP/UDP-HTTP의 protocol이 조합된 기기간 communication protocol이다.
본 발명의 일 실시예에 따른 layer의 기술을 설명한다.
첫째, 본 발명의 일 실시예에서는 기기간 communication을 message, command, call, action, 및/또는 request/response을 교환한다고 표현할 수 있다.
둘째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 원하는 대상 기기에 안정적으로 전달하기 위해, IP (Internet Protocol) 뿐만 아니라, ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
셋째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 안정적으로 전달하고, message flow를 제어하고, 복수의 message간의 충돌이나 congestion을 해결하고, multiplexing을 지원하기 위해, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) 뿐만 아니라 DCCP (Datagram Congestion Control Protocol), SCTP (Stream Control Transmission Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
넷째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message에 다양한 정보를 담아서 다양한 목적으로 전달하기 위해, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
다섯째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 각 protocol에서 정의하는 message components 중 message header, message body 등 다양한 message component에 원하는 message data를 넣어서 전달할 수 있으며 특정 message component에 국한하여 적용하지 않는다.
여섯째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 전달할 data를 각 protocol에서 정의하는 다양한 type으로 (string, integer, floating point, boolean, character, array, list 등) 전달할 수 있다. 복잡한 내용의 data를 더 구조적으로으로 표현하고, 전달하고, 저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 Markup 방식 혹은 text, image format 등을 적용할 수 있으며 특정 방식에 국한하여 적용하지 않는다.
일곱번째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message에 포함되는 data를, “gzip” (RFC 1952), “deflate” (RFC 1950), “compress” (RFC 2616) 등의 다양한 data 압축기술을 적용하여 전달할 수 있으며 특정 박식에 국한하여 적용하지 않는다.
본 발명의 일 실시예에서 제안하는 UPnP action은 기기간 communication의 다양한 방식의 예 중 하나로서, UPnP Discovery 및 Description 과정에서 획득한 Control URL로, HTTP에서 정의한 POST method를 사용하여, 실제 전달하고자 하는 data를 HTTP POST message body에 XML의 형태로 전달한다. UPnP protocol의 경우 각 action에 대하여 action name을 정의하여 사용하고, XML 형태로 전달되는 HTTP POST message body에 action name도 함께 전달되기 때문에, communication 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST method 하나만 사용해도 무한한 종류의 action (message)의 교환이 가능하다.
본 발명의 일 실시예에서 제안하는 모든 UPnP action은 상기의 다양한 layer의 기술의 다양한 형태의 조합을 통해 적용될 수 있으며, 본 발명의 일 실시예에서 제안하는 모든 내용은 UPnP 방식에 국한되어 적용되지 않는다
도 181은 본 발명의 일 실시예에 따른 REST Mechanism을 나타낸 도면이다.
도면을 참고하면, 본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 REST 방식은 communication 대상 기기에 접근할 복수의 URI를 정의할 수 있다.
예를들어, 본 발명의 일 실시예에서 제안하는 기기간 communication은, HTTP method 중 POST 뿐만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 methods를 활용하고, communication 대상 기기에 접근할 복수의 URI를 정의하면, action name의 정의없이도 적용될 수 있다. 전달이 필요한 data는 해당 URI에 append하여 전달될 수 있고 혹은 HTTP body에 다양한 형태로 포함되어 전달될 수 있다. 이러한 REST방식에 필요한 복수의 URI값은 discovery 혹은 description 과정에서 획득될 수 있다.
도 182은 본 발명의 일 실시예에 따른 트리거의 전달을 위한 state variable들을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송수신 시스템은, 제1 수신기(또는, primary device)를 이용하여 시그널링 정보를 수신하고, 시그널링 정보를 기초로 제2 수신기에서 이벤트를 실행할 수 있다.
예를 들어, 제1 수신기는 시그널링 정보를 수신할 수 있다. 제1 수신기는 방송망을 통하여 시그널링 정보를 수신할 수 있다. 시그널링 정보는 어플리케이션 시그널링 정보를 포함할 수 있다. 어플리케이션 시그널링 정보는 트리거 및/또는 트리거링 어플리케이션 정보를 포함할 수 있다. 트리거링 어플리케이션 정보는 이벤트 정보를 포함할 수 있다. 이벤트 정보는 destination 정보를 포함할 수 있다. 일 실시예로, destination는 “2”를 지시할 수 있다. Destination이 “2”를 지시하면, 타겟 디바이스는 제2 수신기(또는, companion device)를 지시하고, 해당 이벤트는 제2 수신기에서 실행될 수 있다.
이하에서는 제1 수신기가 방송망을 통해 시그널링 정보를 수신하고, 시그널링 정보를 기초로 제2 수신기에서 이벤트를 실행할 수 있는 방안에 대해서 기술한다. 예를 들어, 제1 수신기는 방송망을 통해 destination=“2”인 이벤트를 실행할 수 있는 트리거를 수신할 수 있다. 제1 수신기는 트리거를 제2 수신기로 전달할 수 있다. 제2 수신기(또는, companion device)는 트리거를 이용하여 이벤트를 실행할 수 있다. 본 발명의 일 실시예에서는 UPnP의 실시 예로써 기술할 수 있다.
제1 수신기 및/또는 제2 수신기는 각각 App 송수신부를 포함할 수 있다. App 송수신부는 제1 수신기(또는, PD)에서 제2 수신기(또는, CD)로 시그널링 정보를 전달할 수 있다. 일 실시예로, App 송수신부는 application signaling service라고 부를수 있다. 일 실시예로, Service Type은 urn:atsc.org:serviceId:atsc3.0:applicationsignaling:1와 같이 정의할 수 있다.
제1 수신기의 App 송수신부는 제1 수신기가 방송망을 통해서 수신한 시그널링 정보(예를 들어, 어플리케이션 시그널링 정보)를 제2 수신기로 전달할 수 있다. 또한, 제1 수신기는 App 송수신부를 이용하여 제2 수신부로 하여금 인터넷망을 통해서 송신기(또는, 콘텐트 서버)로부터 시그널링 정보(또는, 어플리케이션 시그널링 정보)를 직접 수신하게 할 수 있다.
도면을 참고하면, 트리거의 전달을 위한 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 시그널링 정보 및/또는 어플리케이션 시그널링 정보에 포함될 수 있다. 트리거 전달 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 트리거에 대한 전반적인 정보들을 포함할 수 있다. 일 실시예로, 트리거 리스트 정보는 TriggerInfoList variable로 지칭될 수 있다. 트리거 리스트 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 위치 정보는 required state variable으로써 제2 수신기가(또는, CD)가 송신기(또는, 콘텐트 서버)에 트리거 정보를 요청할 수 있는 위치를 나타낼 수 있다. 일 실시예로 트리거 위치 정보는 A_ARG_TYPE_NotificationInfo variable 로 지칭될 수 있다. 트리거 위치 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다. 다만, 이에 한정된 것은 아니고, 트리거 위치 정보는 이벤팅 방식으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
도 183는 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 트리거에 대한 전반적인 정보들을 포함할 수 있다. 트리거 리스트 정보는 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다.
트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 또한, 트리거 타입 정보는 제2 수신기(또는, CD)를 위한 application trigger type 정보일 수 있다. 트리거 타입 정보는 triggerType으로 지칭될 수 있다. Application trigger type은 action, status, 및/또는 mediaTime을 포함할 수 있다. 예를 들어, 트리거 타입 정보가 “action”을 지시하면, 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보는 어플리케이션이 실행할 동작(action)을 포함할 수 있다. 트리거 타입 정보가 “status”를 지시하면, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 트리거 타입 정보가 “mediaTime”을 지시하면, 트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다. 각각의 type은 앞서 설명한 내용과 동일하며 추후 변경 혹은 추가될 수 있다.
동작 정보는 트리거링되는 어플리케이션의 동작을 지시할 수 있다. 또한, 동작 정보는 제2 수신기(또는, CD)를 위한 application trigger action 정보일 수 있다. 동작 정보는 action으로 지칭될 수 있다. Application trigger action은 각각 prep, exec, suspend, kill과 같을 수 있다. Action은 추후 변경 혹은 추가될 수 있다. Application trigger type이 action일 경우에는 application의 lifecycle과 관련이 있고, application trigger type이 status일 경우에는 포함된 data와 관련이 있을 수 있다.
이벤트 시작 시간 정보는 제2 수신기(또는, CD)를 위한 트리거가 시작하는 시간을 지시할 수 있다. 이벤트 시작 시간 정보는 eventStartTime로 지칭될 수 있다.
이벤트 종료 시간 정보는 제2 수신기(또는, CD)를 위한 트리거가 종료하는 시간을 지시할 수 있다. 이벤트 종료 시간 정보는 eventEndTime로 지칭될 수 있다.
데이터 정보는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터일 수 있다. 데이터 정보는 data로 지칭될 수 있다.
데이터 위치 정보는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터의 콘텐트 서버 상의 위치를 나타낼 수 있다. 데이터 위치 정보는 dataURI로 지칭될 수 있다.
도 184은 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 제1 트리거 정보 및/또는 제2 트리거 정보를 포함할 수 있다.
제1 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다. 트리거 타입 정보는 “action”을 지시할 수 있다. 동작 정보는 “exec”를 지시할 수 있다. 이벤트 시작 시간 정보는 “77ee”를 지시할 수 있다. 이벤트 종료 시간 정보는 7870”를 지시할 수 있다. 데이터 정보는 “AAAAZg==”를 지시할 수 있다. 데이터 위칭 정보는 “http://www.atsc.com/trigger/data”를 지시할 수 있다.
제2 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다. 트리거 타입 정보는 “status”을 지시할 수 있다. 동작 정보는 “kill”를 지시할 수 있다. 이벤트 시작 시간 정보는 “9a33”를 지시할 수 있다.
도 185은 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도면의 (a)를 참고하면, 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기에서 제2 수신기로 전달될 수 있다.
제2 수신기는 제1 수신기에 트리거 리스트 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 리스트 정보를 요청하는 정보를 GetTriggerInfoList()로 지칭할 수 있다. 예를 들어, GetTriggerInfoList()는 제2 수신기가 제2 수신기(또는, CD)에 유효한 트리거 정보를 제1 수신기에 요청하는 정보이다. 예를 들어, GetTriggerInfoList()는 required action으로써 특정 프로그램의 중간에 제2 수신기(또는, CD)가 제1 수신기(또는, PD)와 연결되었을 때, 현 시점에서 제2 수신기(또는, CD)에 유효한 trigger 정보가 있는지 확인하고자 할 때 사용될 수 있다.
제2 수신기는 제1 수신기에 트리거 위치 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 위치 정보를 요청하는 정보를 GetTriggerInfoURI()로 지칭할 수 있다. 예를 들어, GetTriggerInfoURI()는 required action으로써 제2 수신기(또는, CD)가 인터넷 망을 통해서 콘텐트 서버로부터 트리거 관련 정보를 요청하는데 사용될 수 있다. GetTriggerInfoURI action에 대한 반환값으로 TriggerURI, 즉 content server 상에 제2 수신기(또는, CD)를 위한 트리거 정보의 위치를 URL 형식으로 획득할 수 있다.
도면의 (b)를 참고하면, 트리거 리스트 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 리스트 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetTriggerInfoList action에 대한 반환값으로 트리거 리스트 정보를 획득할 수 있다. 트리거 리스트 정보와 관련된 state variable은 TriggerInfoList이다.
도면의 (c)를 참고하면, 트리거 위치 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 위치 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetTriggerInfoURI action에 대한 반환값으로 트리거 위치 정보를 획득할 수 있다. 트리거 위치 정보와 관련된 state variable은 A_ARG_TYPE_TriggerURI이다.
도 186는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
트리거 리스트 정보는 어플리케이션 식별자(AppID)를 포함할 수 있다. 어플리케이션 식별자는 제1 수신기가 방송망 및/또는 인터넷 망을 통해 수신할 수 있는 어플리케이션 속성 관련 정보(예를 들어, TPT 또는 트리거링 어플리케이션 정보)에 포함될 수 있다. 어플리케이션 식별자 정보는 제2 수신기에서 실행되고 있거나 실행될 예정인 특정 어플리케이션을 식별할 수 있다.
이 경우, 트리거 전달 정보는 트리거 리스트 정보, 트리거 위치 정보, 트리거 정보, 및/또는 어플리케이션 식별자 중에서 적어도 하나를 포함할 수 있다. 트리거 전달 정보는 시그널링 정보 및/또는 어플리케이션 시그널링 정보에 포함될 수 있다. 트리거 전달 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다. 또는 트리거 전달 정보는 이벤팅 방식 및/또는 제1 수신기의 요청에 대한 응답으로 제2 수신기로부터 제1 수신기로 전달될 수 있다.
트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다. 일 실시예로, 트리거 리스트 정보는 TriggerInfoList variable로 지칭될 수 있다. 트리거 리스트 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 위치 정보는 required state variable으로써 제2 수신기가(또는, CD)가 송신기(또는, 콘텐트 서버)에 트리거 정보를 요청할 수 있는 위치를 나타낼 수 있다. 일 실시예로 트리거 위치 정보는 A_ARG_TYPE_NotificationInfo variable 로 지칭될 수 있다. 트리거 위치 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 정보는 required state variable으로써 트리거에 대한 속성 또는 정보를 나타낼 수 있다. 일 실시예로 트리거 정보는 A_ARG_TYPE_TriggerInfo variable 로 지칭될 수 있다. 트리거 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
어플리케이션 식별자 리스트 정보는 required state variable으로써 어플리케이션 식별자(또는, AppID)의 리스트를 나타낼 수 있다. 일 실시예로 어플리케이션 식별자 리스트 정보는 A_ARG_TYPE_AppIDs variable 로 지칭될 수 있다. 어플리케이션 식별자 리스트 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
도 187은 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
트리거 리스트 정보는 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다.
트리거 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 지시하는 동작 정보, 제2 수신기(또는, CD)를 위한 트리거가 시작하는 시간을 지시하는 이벤트 시작 시간 정보, 제2 수신기(또는, CD)를 위한 트리거가 종료하는 시간을 지시하는 이벤트 종료 시간 정보, 제2 수신기(또는, CD)를 위한 트리거 관련 데이터를 지시하는 데이터 정보, 및/또는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터의 콘텐트 서버 상의 위치를 나타내는 데이터 위치 정보를 포함할 수 있다.
또한, 트리거 정보는 어플리케이션을 식별하는 어플리케이션 식별자를 더 포함할 수 있다. 어플리케이션 식별자는 appID attribute로 지칭될 수 있다.
제1 수신기는 제1 수신기에서 실행중인 어플리케이션 및/또는 어플리케이션에 대한 action의 시그널링 정보를 제2 수신기로 전달할 수 있다.
만약 트리거 정보가 어플리케이션 식별자를 포함하면, 제1 수신기는 현재 실행중인 어플리케이션 및/또는 어플리케이션에 대한 action 뿐만 아니라, 추후 실행될 예정인 다른 어플리케이션 식별자를 가진 어플리케이션의 실행 및/또는 어플리케이션에 대한 action의 시그널링 정보도 제2 수신기로 전달할 수 있다.
도 188는 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 데이터 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 제1 트리거 정보 및/또는 제2 트리거 정보를 포함할 수 있다.
제1 트리거 정보는 어플리케이션 식별자, 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다. 어플리케이션 식별자는 “12”를 지시할 수 있다. 트리거 타입 정보는 “action”을 지시할 수 있다. 동작 정보는 “exec”를 지시할 수 있다. 이벤트 시작 시간 정보는 “77ee”를 지시할 수 있다. 이벤트 종료 시간 정보는 7870”를 지시할 수 있다. 데이터 정보는 “AAAAZg==”를 지시할 수 있다. 데이터 위칭 정보는 “http://www.atsc.com/trigger/data”를 지시할 수 있다.
제2 트리거 정보는 어플리케이션 식별자, 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다. 어플리케이션 식별자는 “13”을 지시할 수 있다. 트리거 타입 정보는 “status”을 지시할 수 있다. 동작 정보는 “kill”를 지시할 수 있다. 이벤트 시작 시간 정보는 “9a33”를 지시할 수 있다.
도 189는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도면의 (a)를 참고하면, 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기에서 제2 수신기로 전달될 수 있다.
제2 수신기는 제1 수신기에 어플리케이션 식별자 리스트 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 어플리케이션 식별자 리스트 정보를 요청하는 정보를 GetAppIDs()로 지칭할 수 있다. 예를 들어, GetAppIDs()는 required action이다. GetAppIDs()는 제2 수신기가 제1 수신기와 연결된 후, 제2 수신기가 트리거 정보에 포함되어 있는 어플리케이션 식별자 리스트를 얻고자 할 때 사용될 수 있다. 트리거 정보는 제1 수신기에 의해서 방송망 및/또는 인터넷 망을 통해 수신될 수 있다.
제2 수신기는 제1 수신기에 트리거 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 정보를 요청하는 정보를 GetTriggerInfo()로 지칭할 수 있다. 예를 들어, GetTriggerInfo()는 required action이다. GetTriggerInfo()는 제2 수신기가 제1 수신기와 연결된 후, 특정 어플리케이션에 대한 트리거 정보를 얻고자 할 때 사용될 수 있다.
도면의 (b)를 참고하면, 어플리케이션 식별자 리스트 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 어플리케이션 식별자 리스트 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetAppIDs action에 대한 반환값으로 어플리케이션 식별자 리스트 정보를 획득할 수 있다. 어플리케이션 식별자 리스트 정보와 관련된 state variable은 A_ARG_TYPE_AppIDs이다.
도면의 (c)를 참고하면, 어플리케이션 식별자 리스트 정보 및/또는 트리거 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 정보를 전달할 수 있다.
제2 수신기는 원하는 어플리케이션에 대한 정보를 얻기 위해서 어플리케이션 식별자 및/또는 어플리케이션 식별자 리스트 정보를 input argument로 사용할 수 있다. 제1 수신기는 이에 대한 반환 값을 TriggerInfo argument로 전달할 수 있다.
예를 들어, 제2 수신기는 GetTriggerInfo action에 대한 반환값으로 트리거 정보를 획득할 수 있다. 어플리케이션 식별자 리스트 정보와 관련된 state variable은 appIDs이다. 트리거 정보와 관련된 state variable은 A_ARG_TYPE_TriggerInfo 이다.
도 190은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다.
송신기(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 송신기(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
제1 수신기(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 제1 수신기(C100)는 TV Receiver 및/또는 PD로 지칭될 수 있다.
제2 수신기(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 제2 수신기는 Mobile Phone 및/또는 CD로 지칭될 수 있다.
이하에서는, 트리거 타입 정보가 “action”을 지시할 경우, 본 발명의 일 실시예에 따른 송수신 시스템의 동작을 설명한다.
제1 수신기(C100)는 제2 수신기(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제1 수신기(C100)는 제2 수신기를 발견하고, 데이터를 주고 받을 수 있도록 제2 수신기와 전기적으로 연결할 수 있다.
그리고 나서, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 또는 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제1 수신기(C100)는 제1 수신기(C100)의 App 송수신부를 이용하여 제2 수신기(C200)의 App 송수신부를 subscribe할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 방송 신호를 수신한다. 제1 수신기(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 제1 수신기(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 시그널링 정보를 저장부에 저장할 수 있다. 예를 들어, 제1 수신기(C100)는 수신한 트리거링 어플리케이션 정보를 저장부에 저장할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 시그널링 정보를 더 수신할 수 있다. 시그널링 정보는 트리거를 포함할 수 있다. 예를 들어, 트리거는 제1 수신기에서 제2 수신기로 전달하거나 제2 수신기에서 처리되기 위한 트리거를 포함할 수 있다.
트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자, 및/또는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자 중에서 적어도 하나를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 나타내는 동작 정보, 트리거링 이벤트의 시작 시간, 트리거링 이벤트의 종료 시간, 및/또는 트리거 관련 데이터를 포함하는 데이터 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보가 “action”를 지시하면, 트리거 타입 정보는 어플리케이션의 동작을 시그널링하기 위한 트리거를 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 시그널링 정보를 기초로 동작을 수행할 수 있다. 제1 수신기(C100)는 시그널링 정보를 제2 수신기(C200)로 전달할 수 있다. 예를 들어, 제1 수신기는 시그널링 정보를 기초로 제2 수신기가 트리거를 획득하도록 하는 트리거 전달 정보를 제2 수신기로 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 리스트 정보를 제2 수신기(C200)으로 전달할 수 있다. 즉, 제1 수신기(C100)는 이벤팅 방식으로 트리거 리스트 정보를 제2 수신기(C200)로 전달할 수 있다. 이벤팅 방식으로 트리거 리스트 정보를 전달하는 것은 제1 수신기에 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시키는 것을 나타낸다.
이하에서, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 “2”를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 트리거 타입 정보가 “action”을 지시하는 경우, 이벤트에 테이터가 포함될 수 있다. 이벤트의 목적지가 “제2 수신기”이고 이벤트에 데이터가 포함되어 있다면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 ‘2’이고, 이벤트에 데이터가 포함되어 있다면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 “77ee”에 시작하여 “7870”까지, 포함되어 있는 data를 실행(또는, exec)하도록 하는 트리거일 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 191은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 및/또는 데이터 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 “action”을 지시할 수 있다. 동작 정보(또는, action)은 “exec”를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 “77ee”를 지시할 수 있다. 이벤트 종료 시간 정보(또는, eventEndTime)는 “7870”를 지시할 수 있다. 데이터 정보는 “AAAAZg==”를 지시할 수 있다.
도 192는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 시그널링 정보는 트리거를 포함할 수 있다. 트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자, 및/또는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자 중에서 적어도 하나를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 나타내는 동작 정보, 트리거링 이벤트의 시작 시간, 트리거링 이벤트의 종료 시간, 트리거 관련 데이터를 포함하는 데이터 정보, 및/또는 데이터 정보의 콘텐트 서버 상의 위치를 나타내는 데이터 위치 정보를 더 포함할 수 있다. 일 실시예로, 데이터 위치 정보는 dataURI로 지칭될 수 있다.
제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 제2 수신기(C200)으로 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 이벤팅 방식으로 트리거 리스트 정보를 제2 수신기(C200)로 전달할 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 “77ee”에 시작하여 “7870”까지, 포함되어 있는 data를 실행(또는, exec)하도록 하는 트리거일 수 있다.
제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거 및/또는 콘텐트 서버로부터 수신한 데이터 정보를 기초로 어플리케이션을 동작할 수 있다. 이때, 제2 수신기(C200)는 데이터 위치 정보(또는, dataURI)를 기초로 송신기(C10)에 트리거 관련 데이터를 포함하는 데이터 정보를 요청할 수 있다. 제2 수신기(C200)가 데이터 위치 정보를 기초로 콘텐트 서버에 데이터를 요청하는 루틴은 제2 수신기(C200)의 구현 메커니즘에 따라서 변경될 수 있다.
도 193는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “action”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 “action”을 지시할 수 있다. 동작 정보(또는, action)은 “exec”를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 “77ee”를 지시할 수 있다. 이벤트 종료 시간 정보(또는, eventEndTime)는 “7870”를 지시할 수 있다. 데이터 정보는 “AAAAZg==”를 지시할 수 있다. 데이터 위치 정보(또는, dataURI)는 http://www.atsc.com/trigger/data를 지시할 수 있다.
도 194은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “status”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
일 실시예로, 제1 수신기(C100)는 “status”을 지시하는 트리거 타입 정보(또는, application trigger type)를 포함하는 트리거를 수신할 수 있다. 트리거 타입 정보가 “status”를 지시하면, 트리거 타입 정보는 어플리케이션의 상태(또는, 라이프사이클)를 시그널링하기 위한 트리거를 지시할 수 있다. 트리거 타입 정보가 “status”를 지시하면, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
이하에서는, 트리거 타입 정보가 “status”을 지시할 경우, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 “2”를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 이벤트의 목적지가 “제2 수신기”이면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 ‘2’이면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 “9a33”에 제2 수신기(C200)에서 실행 중인 어플리케이션을 종료(또는, kill)하도록 하는 트리거일 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 195은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “status”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 “status”을 지시할 수 있다. 동작 정보(또는, action)은 “kill”을 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 “9a33”를 지시할 수 있다.
도 196는 본 발명의 일 실시예에 따른 트리거 타입 정보가 “mediaTime”을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
일 실시예로, 제1 수신기(C100)는 “mediaTime”을 지시하는 트리거 타입 정보(또는, application trigger type)를 포함하는 트리거를 수신할 수 있다. 트리거 타입 정보가 “mediatime”를 지시하면, 트리거 타입 정보는 미디어 시간을 시그널링하기 위한 트리거를 지시할 수 있다. 트리거 타입 정보가 “mediaTime”를 지시하면, 트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다.
이하에서는, 트리거 타입 정보가 “mediaTime”을 지시할 경우, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 “2”를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 이벤트의 목적지가 “제2 수신기”이면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 ‘2’이면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 제2 수신기(C200)에게 현재 미디어 타임(media time)이 “9a33”임을 알려주는 트리거일 수 있다. 트리거 타입 정보가 “mediaTime”를 지시하면, 제2 수신기(C200)는 동작 정보에 대한 처리를 생략할 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 197은 본 발명의 일 실시예에 따른 트리거 타입 정보가 “mediaTime”을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 “mediaType”을 지시할 수 있다. 동작 정보(또는, action)은 “exec”를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 “9a33”를 지시할 수 있다.
도 198는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우의 Flow Diagram을 설명한다.
제1 수신기(C100)는 송신기(C10)로부터 방송 신호를 수신한다. 제1 수신기(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 제1 수신기(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 시그널링 정보를 저장부에 저장할 수 있다. 예를 들어, 제1 수신기(C100)는 수신한 트리거링 어플리케이션 정보(또는, TPT)를 저장부에 저장할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 시그널링 정보를 더 수신할 수 있다. 시그널링 정보는 트리거를 포함할 수 있다. 예를 들어, 트리거는 제1 수신기에서 제2 수신기로 전달하거나 제2 수신기에서 처리되기 위한 트리거를 포함할 수 있다.
하지만, 제1 수신기(C100)에 제2 수신기(C200)가 연결되어있지 않다. 따라서, 이벤트의 목적지(destination)가 “2”를 지시하더라도, 제1 수신기(C100)는 제2 수신기에 시그널링 정보 및/또는 트리거를 전달할 수 없다.
그리고 나서, 제1 수신기(C100)는 제2 수신기(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제1 수신기(C100)는 제2 수신기를 발견하고, 데이터를 주고 받을 수 있도록 제2 수신기와 전기적으로 연결할 수 있다.
그리고 나서, 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 또는, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제2 수신기(C200)는 제2 수신기(C200)의 App 송수신부를 이용하여 제1 수신기(C100)의 App 송수신부를 subscribe할 수 있다. 또는 제2 수신기는 GetTriggerInfoList action을 이용하여 제1 수신기에 트리거 리스트 정보를 요청할 수 있으므로, 제1 수신기의 application signaling service에 subscribe할 필요가 없을 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거 리스트 정보를 요청받고, 제2 수신기로 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 전달할 수 있다.
제2 수신기(C200)는 GetTriggerInfoList action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)에게 제2 수신기(C200)를 위한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList)를 요청하여, 제1 수신기(C100)로부터 트리거 리스트 정보(또는, TriggerInfoList)를 수신할 수 있다.
그리고 나서, 제2 수신기(C200)는 전달받은 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 199는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우, 어플리케이션 식별자를 이용하는 Flow Diagram을 설명한다.
제1 수신기(C200)는 제2 수신기로부터 어플리케이션 식별자 리스트 정보를 요청받고, 제2 수신기로 어플리케이션 식별자 리스트 정보를 전달할 수 있다. 어플리케이션 식별자 리스트 정보는 required state variable으로써 어플리케이션 식별자(또는, AppID)의 리스트를 나타낼 수 있다. 예를 들어, 어플리케이션 식별자 리스트 정보는 A_ARG_TYPE_AppIDs variable 로 지칭될 수 있다. 어플리케이션 식별자 리스트 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거 정보를 요청받고, 제2 수신기로 트리거 정보를 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 제2 수신기(C200)으로부터 어플리케이션 식별자 리스트 정보를 기초로 특정 어플리케이션에 대한 트리거 정보를 요청받고, 제2 수신기로 트리거 정보를 전달할 수 있다.
제2 수신기(C200)는 제1 수신기(C100)에게 어플리케이션 식별자 리스트 정보를 요청하고, 응답으로 어플리케이션 식별자 리스트 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)는 GetAppID action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거에 해당하는 어플리케이션 식별자들을 획득할 수 있다.
그리고 나서, 제2 수신기는 제1 수신기(C100)에게 트리거 정보를 요청하고, 응답으로 트리거 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)는 GetTriggerInfo action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거가 있는지 확인할 수 있다. 이때, 제2 수신기(C200)는 특정 어플리케이션에 대한 트리거 정보(또는, TriggerInfo 정보)를 얻기 위해서 어플리케이션 식별자 정보를 input argument로 사용할 수 있다. 예를 들어, 제2 수신기(C200)는 “12”를 지시하는 어플리케이션 식별자를 기초로 해당되는 어플리케이션에 대한 트리거 정보를 요청하고, 응답으로 트리거 정보를 수신할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거 정보를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 triggerType과 eventStartTime 및/혹은 eventEndTime 정보를 이용해서 현재 수행할 action이 있는지 등을 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 200은 본 발명의 일 실시예에 따른 제2 수신기가 트리거링 어플리케이션 정보를 송신기로부터 수신하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우, Flow Diagram을 설명한다.
그리고 나서, 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 또는, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제2 수신기(C200)는 제2 수신기(C200)의 App 송수신부를 이용하여 제1 수신기(C100)의 App 송수신부를 subscribe할 수 있다. 또는 제2 수신기는 GetTriggerInfoURI action을 이용하여 제1 수신기에 트리거 위치 정보를 요청할 수 있으므로, 제1 수신기의 application signaling service에 subscribe할 필요가 없을 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거의 위치를 지시하는 트리거 위치 정보를 요청받고, 제2 수신기로 트리거 위치 정보를 전달할 수 있다.
제2 수신기(C200)는 GetTriggerInfoURI action을 이용하여 제1 수신기(C100)가 수신한 트리거 위치 정보 중에서 제2 수신기(C200)를 위한 트리거 위치 정보가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)에게 트리거 위치 정보(또는, TriggerInfoURI)를 요청하여, 제1 수신기(C100)로부터 트리거 위치 정보(또는, TriggerInfoURI)를 수신할 수 있다.
제2 수신기(C200)는 전달받은 트리거 위치 정보(또는, TriggerInfoURI)를 정보를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있다.
제2 수신기(C200)는 송신기(C10, 또는 Content server)로부터 제2 수신기(C200)를 위한 모든 트리거(또는, application trigger 정보)를 얻을 수 있다. 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있고, media time에 맞추어 미래에 수행할 수 있는 동작이 있는지 미리 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거를 기초로 어플리케이션을 동작할 수 있다.
이 방안은 제2 수신기(C200)는 제1 수신기(C100)로부터 제2 수신기(C200)를 위한 트리거를 지속적으로 전달 받을 필요가 없다는 점에서 유용하다. 또한, 트리거에 포함된 이벤트에 대한 데이터를 미리 다운로드 함으로써, 데이터 로딩 시간을 줄일 수 있다는 점에서도 유용하다.
또한, 이후에도 제2 수신기(C200)는 제1 수신기(C100)로부터 트리거 정보(또는, TriggerInfo 정보)를 이벤팅(eventing) 방식으로 전달받을 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)로부터 media Time trigger를 eventing 방식으로 전달받을 수 있다.
도 201은 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
본 발명의 일 실시예에 따른 송수신 시스템은 송신기, 방송 수신 장치(또는, 제1 수신기), 및/또는 세컨드 스크린 디바이스(또는, 제2 수신기) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다. 이하에서는 방송 수신 장치의 동작을 설명한다.
방송 수신 장치는, 방송 수신부를 이용하여, 방송 신호를 수신할 수 있다(CS2100). 예를 들어, 방송 수신 장치는 방송 수신부 및/또는 IP 송수신부를 이용하여 방송 신호를 수신할 수 있다.
방송 수신 장치는, 제어부를 이용하여, 상기 방송 신호로부터 방송 서비스가 포함하는 어플리케이션을 시그널링하는 어플리케이션 시그널링 정보를 획득할 수 있다(CS2200). 예를 들어, 방송 수신 장치는, 제어부를 이용하여, 방송 신호로부터 시그널링 정보를 획득하고, 시그널링 정보로부터 어플리케이션 시그널링 정보를 획득할 수 있다.
방송 수신 장치는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다.
어플리케이션 시그널링 정보는 트리거, 트리거 위치 정보, 및 트리거링 어플리케이션 정보 중에서 적어도 하나를 포함할 수 있다. 트리거는 어플리케이션의 동작을 트리거링할 수 있다. 예를 들어, 트리거는 인터렉티브 서비스를 지원하는 타이밍 관련 시그널링 동작을 수행할 수 있다. 트리거 위치 정보는 트리거의 위치를 지시할 수 있다. 트리거링 어플리케이션 정보는 트리거링되는 어플리케이션에 관한 정보를 시그널링할 수 있다. 예를 들어, 트리거링 어플리케이션 정보는 어플리케이션 및 어플리케이션에 타케팅된 이벤트에 대한 메타데이터를 포함할 수 있다.
방송 수신 장치는, App 송수신부를 이용하여, 어플리케이션 시그널링 정보를 기초로 트리거를 세컨드 스크린 디바이스로 전달할 수 있다(CS2300).
방송 수신 장치는, App 송수신부를 이용하여, 트리거의 전달을 위한 트리거 전달 정보를 세컨드 스크린 디바이스로 전달할 수 있다.
트리거 전달 정보는 트리거에 대한 속성을 지시하는 트리거 정보, 적어도 하나의 트리거 정보를 포함하는 트리거 리스트 정보, 트리거의 위치를 지시하는 트리거 위치 정보, 및 어플리케이션 식별자의 리스트를 지시하는 어플리케이션 식별자 리스트 정보 중에서 적어도 하나를 포함할 수 있다.
트리거 정보는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거의 타입을 지시하는 트리거 타입 정보, 어플리케이션의 동작을 지시하는 동작 정보, 트리거의 시작 시간을 지시하는 이벤트 시작 시간 정보, 트리거의 종료 시간을 지시하는 이벤트 종료 시간 정보, 트리거와 관련된 데이터를 포함하는 데이터 정보, 및/또는 트리거와 관련된 데이터의 위치를 지시하는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는, App 송수신부를 이용하여, 세컨드 스크린 디바이스를 위한 어플리케이션 통지에 관한 정보를 포함하는 어플리케이션 통지 정보를 더 전달할 수 있다.
어플리케이션 통지 정보는 어플리케이션 통지가 디스플레이되는 장치를 지시하는 targetDevice attribute, 어플리케이션 통지의 top margin을 지시하는 topMargin attribute, 어플리케이션 통지의 right margin을 지시하는 rightMargin attribute, 어플리케이션 통지가 처음 디스플레이되는 시간을 지시하는 show attribute, 어플리케이션 통지가 디스플레이되는 지속시간을 지시하는 lasting attribute, 어플리케이션 통지들 사이의 시간 간격(interval time)을 지시하는 interval attribute, 어플리케이션 통지의 통지 메시지를 지시하는 message element, 및/또는 어플리케이션 통지의 로고 이미지를 지시하는 logo element 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는 시그널링 정보, 어플리케이션 시그널링 정보, 트리거 전달 정보, 및/또는 어플리케이션 통지 정보를 이벤트 및/또는 세컨드 스크린 디바이스의 요청을 기초로 세컨드 스크린 디바이스에 전달할 수 있다. 방송 수신 장치가 이벤트 및 세컨드 스크린 디바이스의 요청을 기초로 데이터를 전달하는 것은 전술한 바와 동일하다.
도 202는 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타내는 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치 및 콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치/콘텐트 서버(C10)는 송신기로 표현할 수 있다. 방송 수신 장치(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다. 방송 수신 장치(C100)는 브로드캐스트 인터페이스(C100; 또는 방송 수신부), 브로드 밴드 인터페이스(C130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C150) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C100)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C200)는 브로드밴드 인터페이스(C230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C250) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/송신기(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
이하에서는 PD(또는 방송 수신 장치)와 CD(컴패니언 스크린 디바이스)의 동작들을 설명한다.
ATSC 3.0 컴패니언 디바이스 요구사항들을 지원하기 위해서 필요한 동작들을 설명한다. 여기에는, 지원되는 다섯 가지 유형의 기능들이 있다.
첫 번째 기능은 CD에서 동시 재생을 위하여 PD에서 현재 선택된 서비스의 일부인 연속적인 컴포넌트들을 흘려보내기(stream)위해 PD를 사용하는 것이다. 컴포넌트들은 PD에서 재생되는 컴포넌트들과 동일할 수 있다. 또는 컴포넌트들은 현재 PD에서 재생되지 않는 대체적인 컴포넌트들일 수 있다.
두 번째 기능은 PD에서 현재 선택된 서비스의 일부인 파일들 또는 데이터를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다. 데이터는 PD 외의 소스들로부터 콘텐트에 접근하는 방법 또는 장소를 포함할 수 있다. 예를 들어, 데이터는 원거리 서버의 URL을 포함할 수 있다. CD는 단일의 특정 파일(single particular file) 또는 데이터 패키지를 요청할 수 있다. 또는 CD는 일련의(a series of) 특정 파일들 또는 데이터의 “구독(subscribe)”을 요청할 수 있다.
세 번째 기능은, CD가 PD에서 재생되는 콘텐트와 함께 CD에서 재생되는 콘텐트를 동기화하기 위해서, PD에서 현재 선택된 서비스에 대한 미디어 타임라인 정보를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다.
네 번째 기능은 PD 어플리케이션과 협력하는 CD 어플리케이션을 사용하는 것이다. PD 어플리케이션은 스케줄드 리니어 서비스(Scheduled Linear Service)의 일부인 인핸스먼트 어플리케이션일 수 있다. 또한 PD 어플리케이션은 앱-베이스드 서비스(App-Based Service, Unscheduled service)의 일부인 어플리케이션일 수 있다.
다섯 번째 기능은 EAM Delivery 이다. 즉, 다섯 번째 기능은 비상 경보 메시지(Emergency Alert Message)들을 CD로 전달하기 위하여 PD를 사용하는 것이다. 이것은 CD가 연속적인 콘텐트를 디스플레이하고 있을 때 특히 중요하다. 왜냐하면, 비상 경보가 발생했을 때, 사용자(또는, viewer)는 PD에 집중하지 못할 수 있고 PD와 같은 방에 있지 않을 수 있기 때문이다.
서버 역할의 PD와 함께, CD 지원을 위한 적절한 패러다임은 클라이언트-서버 패러다임이다는 것은 예상된다. 즉, PD는 어떤(certain) CD 지원 동작들을 지원할 수 있다. 이것은 CD에도 적용될 수 있다. 각각의 상호작용(interaction)은 특정한(particular) 동작을 적용하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. 쌍방향 통신(Two-way communication)들이 통신들을 설정(set-up)하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. PD로부터 CD로의 비동기 통지(asynchronous notification)들은 서버(또는, PD)에 통지들의 스트림을 구독하는 것을 요청하는 클라이언트(또는, CD) 요청에 의하여 개시될 수 있다. 이하에서 서술되는 모든 메시지들은 다르게 명시된 것을 제외하고는 유니캐스트일 수 있다.
보안 메커니즘은 CD 어플리케이션 요청들을 인증하기 위하여 필요할 수 있다.
몇 가지 동작들에서, CD는 원격 서버에서 콘텐트를 검색(retrieve)하기 위해서 URL을 제공받을 수 있다. 이러한 경우에, 원격 서버가 특정(particular) CD에 적절한 버전의 요청된 콘텐트를 전달하도록 하기위해서, CD는 원격 서버에 그 자체에 대한 정보를 제공할 수 있다. 예를 들어, ATSC 2.0 은 이러한 목적을 위해서 HbbTV 설명서(Per TS 102 796 Section 7.3.2.4, except replace “HbbTV/1.2.1” with “ATSC-ISS/1.0”)에 기초한 “User Agent”를 명시하였다.
이하에서는, 디바이스 디스커버리(Device Discovery) 에 대하여 설명한다.
PD 어플리케이션 및 CD 어플리케이션 모두는 그들의 존재와 ATSC 3.0 서비스 지원을 수색(searching) 및/또는 광고(advertising)하는 멀티캐스트 디스커버리 메시지(multicast discovery message)들을 전송할 수 있다.
한 가정(household)은 홈 네트워크 상에서 하나 이상의 PD를 가질 수 있고, 따라서 CD 어플리케이션은 디스커버리 메시지들을 복수의 PD들로부터 수신할 수 있다. 이런 경우에, CD 어플리케이션은 사용자에게 어떤 PD(들)와 상호작용을 할 것인지 질문할 수 있다(예를 들어, CD 어플리케이션은 사용자의 결정을 돕기 위하여 디스커버리 메시지들로부터 정보를 디스플레이할 수 있다).
CD 어플리케이션은 PD를 검색하기 위한 CD 어플리케이션 서치 요청 메시지(CD App Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, CD가 네트워크에 참가할 때 또는 CD 어플리케이션이 시작할 때, CD 어플리케이션 내에서 디스커버리 스캔이 개시될 때(예를 들어, 사용자가 새로운 또는 다른 TV 수신기에 연결하기를 원하고, 새로운 스캔을 개시할 때), CD가 PD의 디바이스 타입/서비스 타입에 대한 멀티캐스트 요청을 전송할 때, 및/또는 실행에 의존하여 주기적으로, CD 어플리케이션은 PD를 검색하기 위한 CD 어플리케이션 서치 요청 메시지(CD App Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 CD 어플리케이션이 찾는 디바이스 타입 및/또는 서비스 타입(Device and/or Service type CD app is looking for)(DVD 플레이어 등으로부터 응답을 피하기 위해서)중에서 적어도 하나를 포함할 수 있다.
PD는 PD 광고 매시지(PD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, PD가 네트워크/LAN에 참가할 때(광고 - 멀티캐스트), PD가 제공하는 CD 지원 동작들의 리스트에서 변경이 있을 때(광고 - 멀티캐스트), 실행에 의존하여 주기적으로(광고 - 멀티캐스트), 및/또는 CD 로부터 멀티캐스트 서치 요청(multicast Search request)을 수신할 때(서치 응답 - 유니캐스트), PD는 PD 광고 매시지(PD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), PD 디바이스 유형(PD Device type)(ATSC 3.0 TV Set) 및 (ATSC 3.0 지원) 버전, PD의 사용자 친화적인 이름(예를 들어, Living Room TV), 지원되는 CD 지원 동작들, 및/또는 기타 파라미터들 중에서 적어도 하나를 포함할 수 있다.
CD는 CD 광고 메시지(CD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, CD가 네트워크에 참가할 때(또는, CD 어플리케이션이 시작할 때)(광고 - 멀티캐스트), CD가 제공하는 PD 지원 동작들의 리스트에 변경이 있을 때(광고 - 멀티캐스트), 실행에 의존하여 주기적으로(광고 - 멀티캐스트), 및/또는 CD의 디바이스/서비스 타입에 대한 (멀티캐스트) 서치 요청을 PD로부터 수신할 때(CD로부터 유니캐스트 서치 메시지 응답), CD는 CD 광고 메시지(CD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App version), 사람이 읽을 수 있는 CD의 이름, 지원되는 CD 서비스들(서비스 타입들), 및/또는 기타 파라키터들 중에서 적어도 하나를 포함할 수 있다.
PD는 CD를 검색하기 위한 PD 서치 요청 메시지(PD Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, PD가 시작할 때/ PD가 네트워크에 참가할 때, PD 내에서 디스커버리 스캔이 개시될 때(예를 들어, 사용자가 새로운 또는 다른 CD에 연결을 원하고, 새로운 스캔을 개시할 때), PD가 CD 의 디바이스 타입/서비스 타입에 대한 멀티캐스트 요청을 전송할 때는 언제든지, 및/또는 실행에 의존하여 주기적으로, PD는 CD를 검색하기 위한 PD 서치 요청 메시지(PD Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, 메시지의 파라미터들은 검색되는 CD 디바이스 타입 및/또는 CD 서비스 타입(CD device type and/or CD service type) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 메시지의 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID), PD 어플리케이션 식별자(PD App ID), PD 어플리케이션 버전(PD App Version), 등)를 포함할 수 있다.
이하에서는 콘텐트 식별자 구독(Subscribe to Content Identification) 에 대하여 설명한다.
몇몇 CD 어플리케이션(예를 들어, “아메리칸 아이돌” 컴패니언 어플리케이션)들은 단 하나의 쇼(Show)를 위하여 디자인 될 수 있다. 또는 몇몇 CD 어플리케이션(예를 들어, WBZ Channel 4 컴패니언 어플리케이션)들은 단 하나의 서비스를 위하여 디자인 될 수 있다. 반면에, 다른 CD 어플리케이션들은 복수의 서비스들 및/또는 복수의 쇼(Show)들에 대하여 동작하도록 설계될 수 있다. 또한 CD 어플리케이션(예를 들어, Ford truck 어플리케이션)은 인터스티셜(interstitial)들을 동반하도록 설계될 수 있다. 따라서, CD 어플리케이션은 현재 PD 에서 무슨 서비스가 선택되었는지를 알 필요가 있을 수 있고, 서비스 변경들(예를 들어, channel changes)을 추적할 필요가 있을 수 있다. 그리고 어떤 경우에는, CD 어플리케이션은 현재 무슨 쇼(Show) 또는 심지어 무슨 세그먼트(Segment)가 재생되는지를 알 필요가 있을 수 있고, 그것들의 변경들을 추적할 필요가 있을 수 있다.
CD는 콘텐트 식별자 구독 요청(Content Identification Subscription Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다(즉, 어플리케이션 디자이너에 따라서 결정될 수 있다). 예를 들어, 파라미터들은 구독 콜백 URL/정보(Subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 콘텐트 식별자 구독 응답(Content Identification Subscription Response)을 전송할 수 있다. 예를 들어, 구독 요청을 받자마자(초기 응답), 및/또는 콘텐트가 변경될 때마다(이후의 응답들)(즉, 서비스, 쇼, 또는 세그먼트가 변경될 때마다), PD는 콘텐트 식별자 구독 응답(Content Identification Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 구독 식별자(Subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
CD는 콘텐트 식별자 구독 갱신/취소 요청(Content Identification Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위해서 구독 타임아웃 이전, 및/또는 구독을 취소하기 위해서 언제든지, CD는 콘텐트 식별자 구독 갱신/취소 요청(Content Identification Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(Requested subscription duration to renew subscription) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 콘텐트 식별자 구독 갱신/취소 응답(Content Identification Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 받자마자, PD는 콘텐트 식별자 구독 갱신/취소 응답(Content Identification Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청을 위한 확인된 구독 기간(Confirmed Subscription Duration for subscription renewal) 중에서 적어도 하나를 포함할 수 있다.
PD는 콘텐트 식별자 메시지(Content Identification Message)를 전송할 수 있다. 예를 들어, 구독 요청을 받자마자, 및/또는 현재 콘텐트의 식별 또는 관련된 정보가 변경된 때, PD는 콘텐트 식별자 메시지(Content Identification Message)를 전송할 수 있다. 예를 들어, 파라미터들은 서비스 식별자(Service ID), 쇼 식별자(Show ID), 및/또는 세그먼트 식별자(Segment ID) 중에서 적어도 하나를 포함할 수 있다. 또한, 파라미터들은 주어진 쇼 및/또는 세그먼트 내에서 현재의 임시 위치(Current temporal location within the given Show and/or Segment)를 포함할 수 있다. 각각의 서비스, 쇼, 및/또는 세그먼트는 이용가능한 정보, 이용가능한 연속적인 컴포넌트들, 및/또는 이용가능한 파일 및 데이터를 포함할 수 있다. 이용가능한 정보에 대하여, 파라미터들은 textual name, description, logo, 및/또는 other ESG info (rating, etc.)) 중에서 적어도 하나를 포함할 수 있다. 이용할 수 있는 연속적인 컴포넌트들의 각각의 컴포넌트에 대하여, 파라미터들은 컴포넌트 식별자(Component ID), 컴포넌트 타입(Component Type), 컴포넌트 이름(Component Name), 컴포넌트 디스크립션(Component Description), 컴포넌트 속성들(예를 들어, bit rate, aspect ratio, device capabilities required/desired, etc.), 컴포넌트 필터 조건(예를 들어, targeted to certain demographic profiles), 및/또는 각각의 컴포넌트의 위치(예를 들어, URLs or IP address, port, protocol) (위치는 PD로부터 오는 스트림 또는 인터넷으로부터 직접 오는 스트림을 지시할 수 있다) 중에서 적어도 하나를 포함할 수 있다. 이용할 수 있는 파일들 또는 데이터의 각각의 파일 또는 데이터 엘리먼트에 대하여, 파라미터들은 파일 식별자 / 데이터 식별자(File ID/data ID), 파일 타입 / 데이터 타입(File Type/data Type), 파일 이름 / 데이터 이름(File Name/data Name), 파일 디스크립션 / 데이터 디스크립션(File Description/data Description), 파일 속성들 / 데이터 속성들(예를 들어, size, codec, device capabilities require/desired, etc.), 구독 및/또는 단 한번(one-off) 이용할 수 있는 정보(Available as subscription or one-off or both), 컴포넌트 필터 조건(예를 들어, 어떤 데모그래픽 프로파일들(demographic profiles)에 타게팅된 컴포넌트 필터 조건), 및/또는 데이터 및/또는 파일에 접근하기위한 위치(예를 들어, PD로부터 데이터 및/또는 파일에 접근하기위한 위치, 어떤 URL에서 원격 서버로부터 데이터 및/또는 파일에 접근하기위한 위치 등) 중에서 적어도 하나를 포함할 수 있다.
CD는 콘텐트 식별자 메시지에 대한 응답(Response to Content Identification Message)을 전송할 수 있다. 예를 들어, PD로부터 콘텐트 식별자 메시지(Content Identification Message)를 수신한 때, CD는 콘텐트 식별자 메시지에 대한 응답(Response to Content Identification Message)을 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID) 또는 CD 어플리케이션 식별자(CD App ID)를 포함할 수 있다.
이하에서는 현재 서비스 또는 쇼에 대한 ESG-타입 정보 요청(Request ESG-type Information about the current Service or Show) 에 대하여 설명한다.
이것은 CD가 TV에 무엇이 있는지에 대한 정보를 요청하도록 할 수 있다. 예를 들어, 정보는 텍스트 이름(textual name), 디스크립션(description), 로고(logo), 등급(rating) 등과 같은 ESG에 포함될 수 있는 정보를 포함할 수 있다. 이것은 CD 어플리케이션이 사람이 읽을 수 있는 정보를 사용자에게 디스플레이하도록 할 수 있다. 예를 들어, CD 어플리케이션은 “You are watching [Show] starring [actor].”를 디스플레이 할 수 있다.
CD는 서비스/쇼 정보 요청(Service/Show Information Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 디자이너의 결정에 따라서, CD는 서비스/쇼 정보 요청(Service/Show Information Request)을 전송할 수 있다. 예를 들어, 파라미터들은 선택적으로 CD 정보(예를 들어, CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 서비스/쇼 정보 응답(Service/Show Information Response)을 전송할 수 있다. 예를 들어, CD 요청을 수신하자 마자, PD는 서비스/쇼 정보 응답(Service/Show Information Response)을 전송할 수 있다. 예를 들어, 파라미터들은 서비스 식별자 및 쇼 식별자(Service ID and Show ID), 및/또는 서비스 ESG 정보 및 쇼 ESG 정보(Service ESG information and Show ESG information) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터는 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) 등)를 포함할 수 있다.
이하에서는 구독없이 현재 서비스, 쇼, 또는 세그먼트에 대한 현재 정보 요청(Request current Information about current Service, Show or Segment without subscription) 에 대하여 설명한다.
구독에 기반한 접근(subscription based approach) 및 팔로우-온 요청(follow-on request)에 더하여, CD는, 아래와 같이 CD로부터 PD로 향하는 단일 트랜잭션 요청-응답 스타일의 통신을 사용하여, 서비스 식별자(service identification)를 먼저 구독하지 않고 PD에서 현재 재생 중인 서비스/쇼/세그먼트에 대한 정보를 직접적으로 얻을 수 있다.
CD는 현재 서비스 정보를 수신하기 위해서 CD 요청(CD request to PD to receive current service information)을 전송할 수 있다. 예를 들어, 어플리케이션에 의해서 필요하면 언제든지, CD는 현재 서비스 정보를 수신하기 위해서 CD 요청(CD request to PD to receive current service information)을 전송할 수 있다. 예를 들어, 파라미터들은 현재 쇼 ESG 정보를 요청하는 정보, 현재 쇼에 대한 현재 이용가능한 컴포넌트들을 요청하는 정보, 현재 쇼 내에서 현재 타임라인 위치를 요청하는 정보, 현재 쇼에 대한 현재 이용가능한 파일들 또는 비실시간(non real-time) 콘텐트를 요청하는 정보, 및/또는 필터링 조건을 요청(예를 들어, 컴포넌트 속성들)하는 정보 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD 현재 서비스 정보 응답(PD current service information Response)을 전송할 수 있다. 예를 들어, 현재 서비스 정보 요청을 수신하자 마자, PD는 PD 현재 서비스 정보 응답(PD current service information Response)을 전송할 수 있다. 예를 들어, 파라미터들은 현재 쇼 ESG 정보(Current show ESG information), 현재 쇼에 대하여 현재 이용가능한 컴포넌트들에 대한 정보(Information about current available components for the current show), 현재 쇼에 대한 현재 타임라인 위치(Current timeline location with the current show), 현재 쇼에 대한 현재 이용가능한 파일들 또는 비실시간 콘텐트(Information about current available files or non real-time content for the current show), 및/또는 필터링 조건(Filtering Criterion) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) emd)를 포함할 수 있다.
이하에서는, PD로부터 연속적인 컴포넌트 요청(Request Continuous Component from PD) 에 대하여 설명한다.
만약 PD 서비스 정보 응답(PD Service Information Response)이 PD로부터 흐를 수 있는 연속적인 컴포넌트(Continuous Component)들의 이용가능성 및 접근 위치를 포함하면, CD는 이 스트림을 수신하는 것을 요청할 수 있다.(연속적인 컴포넌트(Continuous Component)들은 브로드밴드(또는, 인터넷망)를 통해서 원격 서버로부터 이용가능할 수도 있지만, 구체적인 내용은 생략한다.)
CD는 연속적인 컴포넌트 요청(Continuous Component Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 디자이너의 결정에 따라서, CD는 연속적인 컴포넌트 요청(Continuous Component Request)을 전송할 수 있다. 예를 들어, 파라미터들은 컴포넌트 식별자(Component ID)를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 를 포함할 수 있다.
PD는 연속적인 컴포넌트 요청 응답(Continuous Component Request Response)을 전송할 수 있다. 예를 들어, 유효한 CD 어플리케이션 요청을 수신하자마자, PD는 연속적인 컴포넌트 요청 응답(Continuous Component Request Response)을 전송할 수 있다. 예를 들어, 파라미터들은 컴포넌트 식별자(Component ID), 및/또는 컴포넌트의 접근 위치를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) 등)를 포함할 수 있다.
CD가 컴포넌트의 접근 위치(예를 들어, URL)을 획득한 후에, CD는 새로운 것을 명시하지 않고 HTTP GET 방법을 통해서 콘텐트를 끌어당길 수 있다. 게다가, 스트림이 PD에 의해서 “밀려(pushed)”지지 않고 CD에 의해서 “당겨(pulled)”지기 때문에(즉, 스트리밍은 CD에 의해서 제어된다), 스트림을 제어하기 위해서 PD와 CD 사이에 메시지 프로토콜들(예를 들어, “Start” 또는 “End”)을 정의할 필요는 없다.
이하에서는, PD로부터 데이터/파일 요청(Request Data/File from PD) 에 대하여 설명한다.
만약 PD 서비스 정보 응답(PD Service Information Response)이 PD로부터 접근될 수 있는 데이터 또는 파일 컴포넌트들의 이용가능성을 포함하면, CD는 컴포넌트(들)을 수신하는 것을 요청할 수 있다.(데이터/파일 컴포넌트들은 브로드밴드를 통해서 원격 서버로부터 이용가능할 수도 있지만, 구체적인 설명은 생략한다.)
CD는 데이터/파일 요청(Data/file Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 설계자의 결정에 따라서, CD는 데이터/파일 요청(Data/file Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 예를 들어, 파라미터들은 CD 어플리케이션이 수신하고자 하는 아이템(들)에 대한 데이터 식별자(들)/파일 식별자(들)(Data/File ID(s))을 포함할 수 있다. 만약 구독이 선택적이면, 구독이 바람직한지 명시할 수 있다. 만약 그렇다면, 구독을 수신하는 시작(Start) 또는 중단(Stop)를 명시할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 를 포함할 수 있다.
PD는 데이터/파일 요청 응답(Data/File Request Response)을 전송할 수 있다. 예를 들어, CD 어플리케이션 요청을 받자마자, PD는 데이터/파일 요청 응답(Data/File Request Response)을 전송할 수 있다. 또는 구독 요청이 있으면, PD는 브로드캐스트 스트림에 있는 통지(notification)들에 따라서 추가적인 데이터/파일들을 전송할 수 있다. 예를 들어, 파라미터들은 데이터/파일의 접속 위치(Access Location of the Data/file), 및/또는 요청된 아이템(들)에 대한 데이터 식별자/파일 식별자(들)(Data/File ID(s)) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID, etc.))를 포함할 수 있다.
이하에서는, 미디어 타임라인 체크포인트들 요청(Request Media Timeline Checkpoints) 에 대해서 설명한다.
만약 CD가 PD로부터 직접적으로 또는 다른 소스(예를 들어, 원격 서버)로부터 추가의 콘텐트(supplementary content)에 접속하면, CD는 CD에서 디스플레이하는 콘텐트와 PD에서 디스플레이하는 콘텐트 사이에 동기(sync)를 유지하기 위해서 PD로부터 진행중인(on-going) 미디어 타임라인 정보가 필요할 수 있다.
단일의 요청 응답 접근(single request response approach) 뿐만 아니라 구독 기반 접근(subscription based approach)은 PD로부터 타임라인 체크포인트(timeline checkpoint)들을 수신하기위해서 지원된다. CD가 정확한 내부 클럭(internal clock)을 가질 수 있기 때문에, 요청 응답 구조(request response architecture)는 PD와 동기(sync)를 유지하기 위해서 CD에 의한 바람직한 인터벌(interval)에서 타임라인을 폴링(polling)하는 것을 허용한다.
이하에서는, 구독 기반 접근(Subscription based approach)에 대하여 설명한다.
CD는 미디어 타임라인 체크포인트들 구독 요청(Media Timeline Checkpoints Subscription Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 설계자의 결정에 따라서, CD는 미디어 타임라인 체크포인트들 구독 요청(Media Timeline Checkpoints Subscription Request)을 전송할 수 있다. 예를 들어, 파라미터들은 관심있는 서비스 식별자 / 쇼 식별자 / 세그먼트 식별자(Service/Show/Segment ID of interest)를 포함할 수 있다. 또한, 파라미터들은 통지 빈도(Notification frequency)를 포함할 수 있다. 통지 빈도는 명시된 최대 빈도를 초과하지 않는 요청된 빈도이며, 임시적인 업데이트들을 수신하기 위해서 요청된 빈도(예를 들어, 매 2초를 초과하지 않는 빈도)일 수 있다; 만약 통지 빈도가 명시되지 않으면, 수신기는 빈도를 결정할 수 있다. 또는 수신기는 규정될 디폴트 값을 설정할 수 있다. 또한, 파라미터들은 구독 콜백 URL(Subscription callback URL)/정보, 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 미디어 타임라인 체크포인트들 구독 응답(Media Timeline Checkpoints Subscription Response)을 전송할 수 있다. 예를 들어, CD 어플리케이션으로부터 요청을 받으면(초기 응답(Initial response)), 및/또는 확인된 통지 빈도에 따라서(차후 응답들(Subsequent responses)), PD는 미디어 타임라인 체크포인트들 구독 응답(Media Timeline Checkpoints Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 관심있는 서비스 식별자 / 쇼 식별자 / 세그먼트 식별자(Service/Show/Segment ID of interest), 구독 식별자(Subscription ID), 확인된 구독 기간(Subscription duration), 및/또는 확인된 통지 빈도(Notification frequency) 중에서 적어도 하나를 포함할 수 있다.
CD는 미디어 타임라인 체크포인트들 구독 갱신/취소 요청(Media Timeline Checkpoints Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위한 구독 타임아웃 이전에, 및/또는 구독을 취소하기 위해서 언제든지, CD는 미디어 타임라인 체크포인트들 구독 갱신/취소 요청(Media Timeline Checkpoints Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(subscription duration)를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 멀티미디어 타임라인 체크포인트들 구독 갱신/취소 응답(Media Timeline Checkpoints Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 수신하자마자, PD는 멀티미디어 타임라인 체크포인트들 구독 갱신/취소 응답(Media Timeline Checkpoints Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청을 위한 확인된 구독 기간 중에서 적어도 하나를 포함할 수 있다.
이하에서는, 미디어 플레이백 상태 정보 통신(Media Playback State Information Communication) 에 대하여 설명한다.
PD에서 미디어 플레이백 상태를 CD로 전달하기위한 동작이 지원된다. 이 것은 CD가 PD와 동기화된 상태에서 미디어 스트림을 재생(playing back)할 때 유용할 수 있다.
CD는 현재 미디어 재생 상태 정보를 수신하기 위해서 PD에게 CD 구독 요청(CD subscription request to PD to receive current media playback state information)을 전송할 수 있다. 예를 들어, 어플리케이션에 의해서 필요하면 언제든지, CD는 현재 미디어 재생 상태 정보를 수신하기 위해서 PD에게 CD 구독 요청(CD subscription request to PD to receive current media playback state information)을 전송할 수 있다. 예를 들어, 파라미터들은 미디어 플레이백 상태가 요청되기 위한 URL/ID(URL/ ID for which media playback state is requested), 미디어 상태 구독 콜백 URL/정보(Media state subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD 미디어 콜백 상태 구독 응답(PD media playback state subscription response)을 전송할 수 있다. 예를 들어, 현재 미디어 재생 상태 구독 정보 요청을 수신하자마자, PD는 PD 미디어 콜백 상태 구독 응답(PD media playback state subscription response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 미디어 재생 상태 구독 식별자(Media playback state subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
PD는 CD에게 미디어 플레이백 상태의 PD 통지를 전송할 수 있다. 예를 들어, PD에서 미디어 재생 상태가 변경된 때 또는 주기적으로, PD는 CD에게 미디어 플레이백 상태의 PD 통지를 전송할 수 있다. 예를 들어, 통지 파라미터들은 요청된 URL/ID에 대한 현재 미디어 플레이백 상태 정보를 포함할 수 있다. 예를 들어, 상태는 재생(Playing), 일시 정지(Paused), 중단(Stopped), 앞으로 빨리감기(Fast Forward; Speed of Fast Forward), 뒤로 빨리감기(Fast Backward; Speed of Fast Backward), 버퍼링(Buffering) 중에서 적어도 하나를 포함할 수 있다.
이하에서는, PD 어플리케이션과 CD 어플리케이션 사이의 통신(PD App to CD App Communication) 에 대하여 설명한다.
몇몇의 사례에서, PD 어플리케이션과 CD 어플리케이션은 서로 협력하여(in tandem) 동작하기 위해서 설계될 수 있다. 이 경우, 어플리케이션 설계자는 어플리케이션 간의 통신(app-to-app communication)의 구체적인 내용에 대하여 결정할 것이 예상된다. PD 어플리케이션들과 CD 어플리케이션들은 모두 다른 어플리케이션(the other application)에 대한 사용자에 대한 정보를 포함하고 있고, 또한 다른 어플리케이션(the other application)을 다운로드하는 방법 및 시작(launch)하는 방법을 포함할 수 있다. 비록 CD 어플리케이션이 현재 시작되지 않더라도, CD 어플리케이션은 PD 어플리케이션으로부터의 어나운스먼트 메시지(announcement message)를 들으려고 항상 “귀를 기울이는” 메커니즘을 포함할 수 있다. ATSC가 이러한 동작에 대한 어떤 표준들을 명시할 것이라는 것은 예상되지 않는다. (HbbTV 2.0은 필요한 동작에 대하여 몇몇 규격(specification)들을 제공한다)
이하에서는 PD에서 CD로의 긴급 경보 메시지 전송(Transmit Emergency Alert Messages from PD to CD) 에 대하여 설명한다.
PD로부터 CD로의 긴급 경보 메시지(Emergency Alert Message; EAM)의 구독 기반 전달(Subscription based delivery)은 아래와 같이 메시지 교환을 사용하여 지원될 수 있다.
CD는 EAM을 수신하기 위하여 PD에게 CD 구독 요청(CD Subscription request to PD to receive Emergency Alert Messages)을 전송할 수 있다. 예를 들어, CD가 네트워크에 참가하여 EAM 기능이 활성화된 때(또는 CD 어플리케이션이 시작할 때), CD는 EAM을 수신하기 위하여 PD에게 CD 구독 요청(CD Subscription request to PD to receive Emergency Alert Messages)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 콜백 URL/정보(Subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 EAM 필터링 조건(EAM Filtering criterion) (예를 들어, geo-location), 및/또는 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 중에서 적어도 하나를 포함할 수 있다.
PD는 PD EAM 구독 응답(PD EAM Subscription Response)을 전송할 수 있다. 예를 들어, 구독 요청을 받자마자, PD는 PD EAM 구독 응답(PD EAM Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 구독 식별자(Subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
CD는 CD EAM 구독 갱신/취소 요청(CD EAM Subscription Renew/ Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위한 구독 타임아웃 이전에(before subscription timeout to renew subscription), 및/또는 구독을 취소할 때, CD는 CD EAM 구독 갱신/취소 요청(CD EAM Subscription Renew/ Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(Requested subscription duration to renew subscription)을 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD EAM 구독 갱신/취소 응답(PD EAM Subscription Renew/ Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 받자마자, PD는 PD EAM 구독 갱신/취소 응답(PD EAM Subscription Renew/ Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청에 대한 확인된 구독 기간(Confirmed Subscription Duration for subscription renewal request) 중에서 적어도 하나를 포함할 수 있다.
PD는 EAM의 PD 통지(PD Notification of Emergency Alert Message)를 전송할 수 있다. 예를 들어, 긴급 경보 메시지(Emergency Alert Message)를 수신하자마자, PD는 EAM의 PD 통지(PD Notification of Emergency Alert Message)를 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), EAM의 처음의 콘텐트들(Initial contents of EAM), EAM의 처음의 콘텐트들의 속성들(Characteristics of initial contents of EAM) (예를 들어, new message, continual or one-time message, includes rich media as well as text), 및/또는 이용가능한 추가적인 콘텐트(Additional content available) 중에서 적어도 하나를 포함할 수 있다.
CD는 EAM에 대한 CD 응답(CD Response to Emergency Alert Message)을 전송할 수 있다. 예를 들어, PD로부터 긴급 경보 메시지를 수신한 때, CD는 EAM에 대한 CD 응답(CD Response to Emergency Alert Message)을 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID), 및/또는 CD 어플리케이션 식별자(CD App ID) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 추가적인 콘텐트에 대한 요청을 포함할 수 있다.
Note : 많은 응답 메시지는 위에서 언급한 파라미터들에 더하여 성공/실패를 지시할 수 있다.
이하에서는, 사용예들(Use cases) 을 설명한다.
예를 들어, Julio는 TV 스크린으로 그가 선호하는 Rock & Roll 밴드의 방송 콘서트를 시청하고 있다. TV에서의 통지 팝업(notification pop-up)은 그에게 각각의 뮤지션을 보여주는(presenting) 콘서트의 대체적인 카메라 뷰(alternative camera view)들이 그의 CD에 있는 지정된 어플리케이션을 통하여 이용가능하다는 것을 알려준다. Julio는 기타리스트, 베이시스트, 싱어 및 드러머를 클로우즈-업한 장면들(close-ups)이 이용가능하다는 것을 알려주는 어플리케이션을 시작할 수 있다. Julio는 노래에서 기타 솔로 도중에 기타리스트를 선택할 수 있고, 나중에는 드러머로 변경할 수 있다. TV 스크린 및 컴패니언 스크린에서 미디어 콘텐트들은 동시에 랜더링(synchronously rendered)될 수 있다.
예를 들어, Mary는 시각 장애자를 위한 비디오 디스크립션을 듣는 것(hearing video description)에 관심이 있지만, Mary는 방에 있는 모든 시청자들이 그것을 듣는 것을 원하지는 않는다. 그녀의 CD에 있는 어플리케이션을 이용하여, 그녀는 다양한 이용가능한 오디오 트랙들을 발견하고, 그녀의 CD에서 재생하기위한 디스크립션 트랙(description track)을 선택할 수 있다. John은 시각 장애인이고, 사운드 디스크립션(sound description)과 함께 클로우즈드 캡션(closed caption)들을 읽고 싶어 한다. 그의 CD에 있는 어플리케이션을 이용하여, 그는 클로우즈드 캡션들을 위한 다양한 옵션들을 발견하고, 그의 CD에서 재생하기 위한 오디오 디스크립션과 함께 하나를 선택할 수 있다. Hector는 스페인어 서브타이틀들을 읽는 것 대신에 목소리 더빙(voice over-dub)들을 선호한다. 그는 텍스트를 목소리로 변환하는 기능(text-to-voice function)을 가진 CD 어플리케이션을 가지고 있다. 그의 CD를 사용하여, 그는 스페인어 서브타이틀들을 발견하고, 텍스트를 헤드폰들을 통해서 듣는 목소리로 변경하는 어플리케이션을 사용할 수 있다.
예를 들어, Jane은 그녀가 좋아하는 게임 쇼를 시청하고 있다. TV에서의 통지 팝업(A notification pop-up)은 그녀에게 지정된 태블릿 어플리케이션을 통하여 그녀의 태블릿에서 함께 플레이할 수 있다는 것을 알려준다. 그녀는 그 어플리케이션을 시작하고, 실시간으로 게임 쇼에 따라서 플레이할 수 있다. 쇼에서 표현되는 것과 동시에 그녀의 태블릿에서 각각의 질문이 그녀에게 표현된다. 그리고 그녀의 응답 시간은 그 쇼의 참가자가 가진 응답 시간에 제한된다. 그녀의 점수는 어플리케이션에 의해서 추적되고, 그녀는 태블릿 어플리케이션을 사용하여 함께 플레이하고 있는 다른 시청자들 사이에서 그녀의 랭킹을 볼 수 있다.
예를 들어, George는 그의 메인 TV에서 온디맨드 어플리케이션(OnDemand app)을 시작한다. TV 어플리케이션은 George를 위한 프로그램 추천(program recommendation)들을 만들기 위해서 George로부터 몇 가지 데모그래픽 정보(demographic information)를 요청할 수 있다. TV 어플리케이션은, 데이터를 더욱 쉽게 입력하기 위해서, George가 다운로드 할 수 있는 컴패니언 태블릿 어플리케이션을 제안한다. George는 태블릿 어플리케이션을 다운로드 및 시작한다. 태블릿 어플리케이션은 George에게 데이터 입력 필드(data entry field)들을 제공한다. George는 그의 태블릿에서 데이터 입력(data entry)을 완료하고, 그 정보는 TV 어플리케이션에 등록된다. TV 어플리케이션은 그의 입력들을 기초로 몇가지 온디맨드 프로그램(OnDemand program)들을 추천한다. George는 그의 TV에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다. 대체적인 방법으로, George는 메인 TV 대신에 그의 태블릿에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다.
예를 들어, Laura는 거실에서 그녀가 좋아하는 프로그램을 시청하고 있다. 그녀는 집 주변에서 할 필요가 있는 다양한 일들을 가지고 있다. 하지만, 그녀는 그녀가 좋아하는 쇼를 놓치고 싶지 않다. 그녀는 그녀의 TV 뿐만 아니라 그녀의 태블릿에서도 그녀의 쇼를 시청할 수 있게 하는 그녀의 태블릿에 있는 어플리케이션을 시작한다. 그녀는 방에서 방으로 옮겨다니면서 그녀의 태블릿으로 그녀의 쇼를 계속 시청한다. Laura가 세탁실에 있는 동안에, 긴급 경보 메시지기 방송된다. 메시지는 그녀의 태블릿에 나타난다. 태블릿은 또한 그녀에게 그녀가 원하면 볼 수 있는 이벤트의 비디오가 있다는 것을 알려준다. 그녀는 비디오를 선택하고, 시청을 시작한다. 그녀는 긴급 메시지가 전달하는 지시(instruction)들을 따른다.
도 203은 본 발명의 일 실시예에 따른 시간 정보의 전달을 위한 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치 및 콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치/콘텐트 서버(C10)는 송신기로 표현할 수 있다. 방송 수신 장치(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다. 방송 수신 장치(C100)는 브로드캐스트 인터페이스(C110; 또는 방송 수신부), 브로드 밴드 인터페이스(C130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C150) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C100)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C200)는 브로드밴드 인터페이스(C230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C250) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/송신기(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C100)의 제어부(C150)는 브로드캐스트 인터페이스(C110) 및 컴패니언 스크린 인터페이스(C140)를 동작시킬 수 있다.
제어부(C150)는 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 시그널링 정보(예를 들어, 어플리케이션 시그널링 정보, 트리거)를 전달하는 어플리케이션 시그널링 서비스 프로세서(application signaling service processor; 미도시)를 포함할 수 있다. 어플리케이션 시그널링 서비스 프로세서의 구체적인 내용은 전술한 바와 동일하다.
컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)와 연동하여 서비스를 제공하기 위해서는 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200) 사이에 시간 동기화를 유지할 필요가 있다. 본 발명의 일 실시예에 따른 방송 시스템은 방송 수신 장치(C100)를 이용하여 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 수신하고, 시그널링 정보를 기초로 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 A/V 콘텐트 사이에 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하고, 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
이를 위하여, 본 발명의 일 실시예에 따른 방송 수신 장치(C100)의 제어부(C150)는 시그널링 정보를 기초로 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 콘텐트 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서(C153)를 더 포함할 수 있다.
시간 동기화 서비스는 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200)의 시간 동기화를 위한 서비스 시간 정보를 생성하고, 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보를 전달하는 서비스를 나타낸다. 서비스 시간 정보는 방송 수신 장치(C100)에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 A/V 콘텐트 사이에 동기화와 관련된 데이터를 제공하는 정보이다. 방송 수신 장치(C100)가 컴패니언 스크린 디바이스(C200)로 시간 동기화를 위해 제공할 수 있는 서비스 시간 정보는 서비스(예: Linear Service) 중인 프로그램의 미디어 타임 정보(예를 들어, media time) 및/또는 현재 시각 정보 (예: wall clock) 중에서 적어도 하나를 포함할 수 있다.
즉, 서비스 시간 정보의 생성 및/또는 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보의 전달을 담당하는 프로세서를 시간 동기화 서비스 프로세서(C153; time sync service processor)라고 부를 수 있다. 시간 동기화 서비스 프로세서(C153)는 방송 수신 장치(C100)가 컴패니언 스크린 디바이스(C200)와 미디어(media) 및 인터랙티브 어플리케이션(interactive application) 등에 대해 시간 동기화를 맞추기 위해서 미디어 타임 정보(media time information) 및/또는 현재 시각 정보(wall clock information) 중에서 적어도 하나를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 일 실시예로, Service Type은 urn:atsc.org:serviceId:atsc3.0:timesync와 같이 정의할 수 있다.
예를 들어, 방송 수신 장치(C100)는 시그널링 정보를 수신할 수 있다. 방송 수신 장치(C100)는 방송망을 통하여 시그널링 정보를 수신할 수 있다. 시그널링 정보는 어플리케이션 시그널링를 포함할 수 있다. 어플리케이션 시그널링 정보는 트리거 및/또는 트리거링 어플리케이션 정보를 포함할 수 있다. 또한, 시그널링 정보는 재생되는 A/V 콘텐트의 미디어 타임 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C100)는 제어부(C150)의 시간 동기화 서비스 프로세서(C153)를 이용하여 시그널링 정보를 기초로 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200) 사이의 시간 동기화를 위한 서비스 시간 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 인터페이스(C140)를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
구체적으로, 방송 수신 장치(C100)는 시간 동기화 서비스 프로세서(C153)를 이용하여 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성할 수 있다. 또한, 방송 수신 장치(C100)는 컴패니언 스크린 인터페이스(C140)를 이용하여 전달 간격 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
간격(interval)은 주기(duration) 및 빈도(frequency)를 포함하는 개념이다. 이하에서는 주기(duration)을 먼저 설명하고, 빈도(frequency)를 설명한다.
이하에서는 방송 수신 장치(C100)가 방송망을 통해 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 수신하고, 시그널링 정보를 기초로 서비스 시간 정보를 생성하고, 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하는 방안에 대해서 기술한다. 예를 들어, 방송 수신 장치(C100)는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또한 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
도 204는 본 발명의 일 실시예에 따른 서비스 시간 정보의 전달을 위한 state variable들을 나타낸 도면이다.
도면을 참고하면, 서비스 시간 정보의 전달을 위한 state variable들이 나타나 있다. 서비스 시간 정보의 전달을 위한 state variable들은 서비스 시간 정보를 포함하는 ServiceTimeInfo state variable, 전달 주기 정보를 포함하는 UpdateDuration state variable, 및/또는 요청된 전달 주기 정보를 포함하는 A_ARG_TYPE_UpdateDuration state variable 중에서 적어도 하나를 포함할 수 있다. ServiceTimeInfo state variable, UpdateDuration state variable, 및/또는 A_ARG_TYPE_UpdateDuration state variable은 required state variable이다. ServiceTimeInfo state variable은 방송 수신 장치에서 재생 혹은 서비스 중인 프로그램의 media time 및 현재 시각, 즉 wall clock 시간 정보를 포함할 수 있다. UpdateDuration state variable은 방송 수신 장치가 컴패니언 스크린 디바이스에게 동기화를 위한 시간 정보를 eventing 방식으로 전달할 경우 그 전달주기를 나타내는 variable이다. A_ARG_TYPE_UpdateDuration state variable는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 동기화를 위한 시간 정보를 eventing 방식으로 전달받을 경우에, 특정한 전달 주기를 요청하기 위해서 사용될 수 있는 variable이다.
서비스 시간 정보(ServiceTimeInfo)는 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 콘텐트 사이에 시간 동기화와 관련된 데이터를 제공하는 정보이다. 예를 들어, 서비스 시간 정보는 방송 수신 장치에서 재생 또는 서비스 중인 프로그램의 미디어 타임 정보(media time information) 및/또는 월-클럭 시간(wall-clock time) 중에서 적어도 하나를 포함할 수 있다. 방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
전달 주기 정보는 서비스 시간 정보를 전달하는 주기(durarion)를 지시하는 정보이다. 방송 수신 장치는 전달 주기 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 전달 주기 정보(UpdateDuration)는 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에 전달 주기를 나타내는 정보이다. 즉, 전달 주기 정보는 서비스 시간 정보가 이벤팅되는 주기를 나타낸다. 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에, 방송 수신 장치는 전달 주기 정보가 지시하는 주기로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
요청된 전달 주기 정보는, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달받을 경우에, 컴패니언 스크린 디바이스가 요청하는 전달 주기 정보의 값을 지시하는 정보이다. 구체적으로, 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에, 컴패니언 스크린 디바이스는 방송 수신 장치에게 요청된 전달 주기 정보를 기초로 미리 정해진(또는 특정한) 전달 주기를 요청할 수 있다. 컴패니언 스크린 디바이스의 요청에 대한 응답으로, 방송 수신 장치는 요청된 전달 주기 정보를 기초로 전달 주기 정보를 결정하고, 전달 주기 정보가 지시하는 주기으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 205는 본 발명의 일 실시예에 따른 서비스 시간 정보를 나타낸 도면이다.
서비스 시간 정보는 방송 수신 장치와 컴패니언 스크린 디바이스 사이에 시간 동기화를 위한 정보이다. 서비스 시간 정보는 방송 수신 장치에서 재생 또는 서비스 중인 프로그램의 미디어 타임 정보 및/또는 현재 시각 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 서비스 시간 정보는 전술한 미디어 타임라인 체크포인트(Media Timeline Checkpoint)를 포함할 수 있다.
구체적으로, 서비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, 및/또는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute는 제1 수신기에서 현재 선택된 서비스의 고유한 식별자를 지시한다. 예를 들어, 서비스는 리니어 서비스 및/또는 Non-리니어 서비스 중에서 적어도 하나를 포함할 수 있다.
programId attribute는 현재 재생되고 있는 프로그램의 고유한 식별자를 지시한다. 예를 들어, 프로그램은 리니어 서비스 및/또는 Non-리니어 서비스에 포함되는 콘텐트를 포함할 수 있다.
mediaTime element는 현재 재생되고 있는 프로그램의 미디어 타임 정보를 지시할 수 있다. mediaTime element 는 mediaTime element 를 나타내기위해서 사용되는 프로토콜을 지시하는 mediaTimeProtocol attribute를 포함할 수 있다. 예를 들어, mediaTimeProtocol attribute는 timestamp를 지시할 수 있다.
currentTime element 는 현재 시각 정보(wall clock time)를 지시할 수 있다. currentTime element는 currentTime element 를 나타내기 위해서 사용되는 프로토콜을 지시하는 currentTimeProtocol attribute를 포함할 수 있다. 예를 들어, currentTimeProtocol attribute는 Network Time Protocol (NTP)을 지시할 수 있다.
방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 방송 수신 장치와 컴패니언 스크린 디바이스 사이에 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 206은 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도면을 참고하면, 시비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, 및/또는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute 는 “11”을 지시할 수 있다. programId attribute 는 “1008”를 지시할 수 있다. mediaTime element 는 mediaTimeProtocol attribute를 포함할 수 있다. mediaTimeProtocol attribute는 “timestamp”를 지시할 수 있다. 또한, mediaTime element는 “77ee”를 지시할 수 있다. currentTime element 는 currentTimeProtocol attribute를 포함할 수 있다. currentTimeProtocol attribute는 “NTP”를 지시할 수 있다. currentTime element는 “88ee”를 지시할 수 있다.
방송 수신 장치는 서비스 식별자의 값이 “11”인 서비스에서, 프로그램 식별자의 값이 “1008”인 프로그램에 대하여, timestamp로서 “77ee”를 지시하는 미디어 타임 정보 및 NTP로서 “88ee”를 지시하는 현재 시각 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 207은 본 발명의 일 실시예에 따른 서비스 시간 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도면의 (a)를 참고하면, 서비스 시간 정보를 전달하기 위해서 필요한 동작들은 서비스 시간 정보 요청(GetServiceTimeInfo(), 또는 제1 요청), 전달 주기 정보 요청(GetUpdateDuration()), 또는 제2 요청), 및/또는 전달 주기 정보 설정 요청(SetUpdateDuration()), 또는 제3 요청) 중에서 적어도 하나를 포함할 수 있다.
서비스 시간 정보 요청(GetServiceTimeInfo(), 또는 제1 요청)은 컴패니언 스크린 디바이스가 방송 수신 장치로 시간 동기화를 위한 서비스 시간 정보의 획득을 요청하는 동작이다.
전달 주기 정보 요청(GetUpdateDuration())은, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 컴패니언 스크린 디바이스가 방송 수신 장치로 전달 주기 정보의 획득을 요청하는 동작이다.
전달 주기 정보 설정 요청(SetUpdateDuration(), 또는 제3요청)은, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 컴패니언 스크린 디바이스가 방송 수신 장치로 전달 주기 정보의 설정을 요청하는 동작이다.
각각의 서비스 시간 정보 요청, 전달 주기 정보 요청, 및/또는 전달 주기 정보 설정 요청은 필수적인 동작일 수도 있고 선택적인 동작일 수도 있다.
도면의 (b)를 참고하면, 서비스 시간 정보 요청과 관련된 Argument가 나타나 있다.
서비스 시간 정보 요청(GetServiceTimeInfo())는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 서비스 시간 정보 요청을 기초로 방송 수신 장치로 시간 동기화를 위한 서비스 시간 정보를 요청할 수 있다. 컴패니언 스크린 디바이스로부터의 서비스 시간 정보 요청에 대한 응답으로, 방송 수신 장치는 컴패니언 스크린 인터페이스를 사용하여 서비스 시간 정보의 획득을 요청하는 서비스 시간 정보 요청(또는 제1 요청)을 기초로 서비스 시간 정보(ServiceTimeInfo Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 서비스 시간 정보(ServiceTimeInfo Argument)는 ServiceTimeInfo state variable와 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도면의 (c)를 참고하면, 전달 주기 정보 요청과 관련된 Argument가 나타나 있다.
전달 주기 정보 요청(GetUpdateDuration())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 방송 수신 장치의 현재의 전달 주기 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 주기 정보 요청을 기초로 방송 수신 장치로 방송 수신 장치의 현재의 전달 주기 정보를 요청할 수 있다.
전달 주기 정보는 서비스 시간 정보가 이벤팅되는 주기를 나타낸다. 컴패니언 디바이스로부터의 전달 주기 정보 요청에 대한 응답으로, 방송 수신 장치는 월-클럭 시간(wall clock time, 또는 현재)이 지시하는 시점에서의 전달 주기 정보의 값을 지시하는 현재 전달 주기 정보(CurrentUpdateDuration Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 현재 전달 주기 정보(CurrentUpdateDuration Argument)는 UpdateDuration state variable과 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 현재의 전달 주기 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 방송 수신 장치 및/또는 컴패니언 스크린 디바이스는 현재 전달 주기 정보를 확인 후 필요에 따라서 전달 주기 정보의 설정(또는 변경)을 요청할 수 있다.
도면의 (d)를 참고하면, 전달 주기 정보 설정 요청과 관련된 Argument들이 나타나 있다.
전달 주기 정보 설정 요청(SetUpdateDuration())는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에 전달 주기 정보를 설정 및/또는 변경하기 위해서 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 주기 정보 설정 요청을 기초로, 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 주기 정보를 설정 및/또는 변경할 수 있다.
방송 수신 장치에서 컴패니언 스크린 디바이스로 eventing 방식으로 시간 동기화를 위한 서비스 시간 정보를 전달할 경우, 방송 수신 장치는 일정한 주기로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 방송 수신 장치는 미디어 타임(media time) 및/또는 현재 시간(current time, wall-clock time)이 변할 때마다(예를 들어, 매 초) 서비스 시간 정보를 전달할 수 있다. 이 경우, 서비스 시간 정보의 전달 주기가 너무 짧거나 혹은 너무 길 수 있다. 방송 수신 장치는 기본적으로 디폴트 값으로 설정된 전달 주기 정보(예를 들어, 매 초)를 설정해 놓을 수 있다. 그리고, 컴패니언 스크린 디바이스가 방송 수신 장치와 연동되어 제공하려는 서비스 및/또는 어플리케이션의 특성 및/또는 종류에 따라서, 전달 주기 정보 설정 요청은 컴패니언 스크린 디바이스에 의하여 전달 주기 정보(UpdateDuration)를 설정하기 위하여 사용될 수 있다.
전달 주기 정보 설정 요청과 관련된 Argument들은 요청된 전달 주기 정보(ReqestedUpdateDuration Argument) 및/또는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument) 중에서 적어도 하나를 포함할 수 있다.
컴패니언 스크린 디바이스가 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 기초로 시간 동기화를 위한 서비스 시간 정보의 특정한 전달 주기 정보(UpdateDuration)를 요청할 경우, 컴패니언 스크린 디바이스는 요청하는 전달 주기 정보의 값을 지시하는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 input argument로 방송 수신 장치로 전달할 수 있다. 요청된 전달 주기 정보(RequestedUpdateDuration Argument)는 A_ARG_TYPE_UpdateDuration state variable과 관련된 정보이다.
컴패니언 스크린 디바이스로부터의 전달 주기 정보 설정 요청(SetUpdateDuration() action)에 대한 응답으로, 방송 수신 장치는 확인된 전달 주기 정보(ConfirmedUpdateDuration argument)를 output argument로 컴패니언 스크린 디바이스로 전달할 수 있다. 확인된 전달 주기 정보(ConfirmedUpdateDuration variable)는 UpdateDuration state variable과 관련된 정보이다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 주기 정보(RequestedUpdateDuration Argument)로 방송 수신 장치가 컴패니언 스크린 디바이스로 서비스 시간 정보를 정상적으로 전달할 수 있으면, 방송 수신 장치는 확인된 전달 주기 정보를 요청된 전달 주기 정보와 동일한 값으로 설정할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보가 지시하는 전달 주기 정보를 포함하는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 주기 정보(RequestedUpdateDuration Argument)로 방송 수신 장치가 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 없으면, 방송 수신 장치는 전달 주기 정보를 요청된 전달 주기 정보에 가장 가까운 값(또는 default value, 최소의 값)로 설정(혹은 유지)할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보에 가장 가까운 값을 지시하는 전달 주기 정보를 포함하는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
예를 들어, 컴패니언 스크린 디바이스가 “매 초” 단위의 전달 주기 정보(UpdateDuration)를 지시하는 요청된 전달 주기 정보를 방송 수신 장치로 전달했으나(RequestedUpdateDuration=1), 방송 수신 장치에서는 해당 프로그램 혹은 어플리케이션이 최 소 “매 분(default 값)” 단위로만 전달 주기 정보(UpdateDuration)를 설정할 경우가 있을 수 있다. 이 경우에는, 방송 수신 장치는 “매 분” 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 output argument로 반환한다(ConfirmedUpdateDuration=60). 확인된 전달 주기 정보의 전달 주기 정보(UpdateDuration)는 방송 수신 장치의 default 값인 “매 분”으로 유지될 수 있다(UpdateDuration=60). 그리고 나서, 방송 수신 장치는 “매 분” 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
만약 방송 수신 장치가 “매 초(또는, 매 1초)” 단위의 전달 주기 정보(UpdateDuration)를 설정(또는 변경)할 수 있다면, 방송 수신 장치는 “매 초” 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 Output argument로 반환한다(ConfirmedUpdateDuration=1). 그리고 나서, 방송 수신 장치는 “매 초” 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
도 208은 본 발명의 일 실시예에 따른 전달 빈도 정보를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 주기(Duration)은 빈도(Frquency)로 대체 가능하다. 이 경우, 주기(Duration)=1/빈도(Frequency) 이다. 여기서, 주기(Duration)의 단위는 second이고, 빈도(Frequency)의 단위는 1/second 이다. 즉, 주기(Duratioin)의 값이 “2 (second)”이면, 빈도(Frquency)는 “0.5(1/second)”이다.
주기(Duration) 대신 빈도(Frquency)를 사용할 경우, state variable과 동작(action)의 이름이 도면과 같이 변경될 수 있다.
도면의 (a)를 참조하면, 전달 주기 정보(UpdateDuration state variable)는 전달 빈도 정보(UpdateFrequency state variable)로 변경될 수 있다. 전달 빈도 정보는 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에 전달 빈도를 지시할 수 있다.
요청된 전달 주기 정보(A_ARG_TYPE_UpdateDuration state variable)는 요청된 전달 빈도 정보(A_ARG_TYPE_UpdateFrequency state variable)로 변경될 수 있다. 요청된 전달 빈도 정보는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달받을 경우에, 컴패니언 스크린 디바이스가 요청하는 전달 빈도 정보의 값을 지시하는 정보이다.
도면의 (b)를 참조하면, 서비스 시간 정보를 전달하기 위해서 필요한 동작들은 서비스 시간 정보 요청, 전달 빈도 정보 요청, 및/또는 전달 빈도 정보 설정 요청 중에서 적어도 하나를 포함할 수 있다.
서비스 시간 정보 요청은 컴패니언 스크린 디바이스가 방송 수신장치로부터 시간 동기화를 위한 서비스 시간 정보를 요청하는 동작이다.
전달 주기 정보 요청(GetUpdateDuration())은 전달 빈도 정보 요청(GetUpdateFrequency())으로 변경될 수 있다.
전달 빈도 정보 요청(GetUpdateFrequency())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 방송 수신 장치의 현재의 전달 빈도 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 빈도 정보 요청을 기초로 방송 수신 장치로 방송 수신 장치의 현재의 전달 빈도 정보를 요청할 수 있다.
전달 빈도 정보는 서비스 시간 정보가 이벤팅되는 빈도를 나타낸다. 컴패니언 디바이스로부터의 전달 빈도 정보 요청에 대한 응답으로, 방송 수신 장치는 월-클럭 시간(wall clock time, 또는 현재)이 지시하는 시점에서의 전달 빈도 정보의 값을 지시하는 현재 전달 빈도 정보(CurrentUpdateFrequency Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 현재 전달 빈도 정보(CurrentUpdateFrequency Argument)는 UpdateFrequency state variable과 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 현재의 전달 빈도 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 방송 수신 장치 및/또는 컴패니언 스크린 디바이스는 현재 전달 빈도 정보를 확인 후 필요에 따라서 전달 빈도 정보의 설정(또는 변경)을 요청할 수 있다.
전달 주기 정보 설정 요청(SetUpdateDuration())은 전달 빈도 정보 설정 요청(SetUpdateFrequency())으로 변경될 수 있다.
전달 빈도 정보 설정 요청(SetUpdateFrequency())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에 전달 빈도 정보를 설정 및/또는 변경하기 위해서 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 빈도 정보 설정 요청을 기초로, 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 빈도 정보를 설정 및/또는 변경할 수 있다.
전달 빈도 정보 설정 요청과 관련된 Argument들은 요청된 전달 빈도 정보(ReqestedUpdateFrequency Argument) 및/또는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument) 중에서 적어도 하나를 포함할 수 있다.
컴패니언 스크린 디바이스가 전달 빈도 정보 설정 요청(SetUpdateFrequency() action)을 기초로 시간 동기화를 위한 서비스 시간 정보의 특정한 전달 빈도 정보(UpdateFrequency)를 요청할 경우, 컴패니언 스크린 디바이스는 요청하는 전달 빈도 정보의 값을 지시하는 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)를 input argument로 방송 수신 장치로 전달할 수 있다. 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)는 A_ARG_TYPE_UpdateFrequency state variable과 관련된 정보이다.
컴패니언 스크린 디바이스로부터의 전달 빈도 정보 설정 요청(SetUpdateFrequency() action)에 대한 응답으로, 방송 수신 장치는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency argument)를 output argument로 컴패니언 스크린 디바이스로 전달할 수 있다. 확인된 전달 빈도 정보(ConfirmedUpdateFrequency variable)는 UpdateFrequency state variable과 관련된 정보이다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)로 방송 수신 장치가 컴패니언 스크린 디바이스로 서비스 시간 정보를 정상적으로 전달할 수 있으면, 방송 수신 장치는 확인된 전달 빈도 정보를 요청된 전달 빈도 정보와 동일한 값으로 설정할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 빈도 정보가 지시하는 전달 빈도 정보를 포함하는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 빈도 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)로 방송 수신 장치가 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 없으면, 방송 수신 장치는 전달 빈도 정보를 요청된 전달 빈도 정보에 가장 가까운 값(또는 default value, 최소의 값)로 설정(혹은 유지)할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 빈도 정보에 가장 가까운 값을 지시하는 전달 빈도 정보를 포함하는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 빈도 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
주기(Duration)가 빈도(Frquency)로 변경된 경우의 방송 수신 장치 및/또는 컴패니언 스크린 디바이스의 구체적인 동작은 전술한 내용을 모두 포함할 수 있다.
도 209는 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 전송 장치(미도시), 컨텐츠 제공자(미도시), 콘텐트 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치(C100)는 방송망 및/또는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 TV Receiver 및/또는 PD로 지칭될 수 있다.
컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스는 Mobile Phone 및/또는 CD로 지칭될 수 있다.
이하에서는, 방송 수신 장치가 eventing 방식으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 방법을 설명한다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 신호를 수신한다. 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 방송 수신 장치(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다. 사용자가 채널을 선택하면, 방송 수신 장치(C100)는 시그널링 정보를 기초로 특정 프로그램을 사용자에게 제공(또는 방송) 할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공하는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 시간 동기화 서비스의 구독(subscribe)을 요청받을 수 있다. 또는 컴패니언 스크린 디바이스(C200)는 시간 동기화 서비스의 구독을 방송 수신 장치(C100)에게 요청할 수 있다. 시간 동기화 서비스는 방송 수신 장치(C100)에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 콘텐트의 시간 동기화를 제공하는 서비스 시간 정보를 생성하고, 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보를 전달하는 서비스를 나타낸다. 서비스 시간 정보는 전술한 미디어 타임라인 체크포인트(Media Timeline Checkpoint)를 포함할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 재생되는 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 방송 전송 장치/콘텐트 서버(C10)로부터 수신할 수 있다. 시그널링 정보는 미디어 타임 정보(media time) 및/또는 현재 시각 정보(wall clock) 중에서 적어도 하나를 포함할 수 있다. 앞서 설명한 바와 같이, 방송 수신 장치(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 수신할 수 있다. 방송 수신 장치(C100)는 프로그램의 방송하는 도중에 미리 설정된 시간 간격으로 미디어 타임 정보를 포함하는 시그널링 정보를 수신할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 서비스 시간 정보(ServiceTimeInfo)를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 예를 들어, 방송 수신 장치(C100)는 서비스 시간 정보를 디폴트 값으로 설정된 전달 주기 정보(예를 들어, 매 분)를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 방송 수신 장치(C100)의 현재의 전달 주기 정보의 획득을 요청하는 전달 주기 정보 요청(GetUpdateDuration()), 또는 제2 요청)을 상기 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
컴패니언 스크린 디바이스(C200)는 전달 주기 정보 요청을 기초로 방송 수신 장치(C100)의 현재의 전달 주기 정보를 방송 수신 장치(C100)에게 요청할 수 있다. 컴패니언 스크린 디바이스(C200)로부터의 전달 주기 정보 요청에 대한 응답으로, 전달 주기 정보 요청을 기초로 월-클럭 시간(wall clock time)이 지시하는 시점에서의 전달 주기 정보의 값을 지시하는 현재 전달 주기 정보를 생성하고, 현재 전달 주기 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답(Requesting 방식)으로 현재 전달 주기 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 컴패니언 스크린 디바이스(C200)는 전달 주기 정보 요청을 기초로 방송 수신 장치(C100)의 현재의 전달 주기 정보를 확인할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 전달 주기 정보의 설정을 요청하는 전달 주기 정보 설정 요청(SetUpdateDuration()), 또는 제3 요청)을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
예를 들어, 방송 수신 장치(C100)는, 컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 주기를 설정(또는 변경)하는 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(C200)는 요청하는 전달 주기 정보의 값을 지시하는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 방송 수신 장치로 전달할 수 있다.
예를 들어, 요청된 전달 주기 정보(RequestedUpdateDuration Argument)는 “1초”를 지시할 수 있다. 컴패니언 스크린 디바이스(C200)는 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 사용하여 1초로 전달 주기를 설정하는 것을 요청할 수 있다.
그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 기초로 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 생성할 수 있다. 또한, 방송 수신 장치(C100)는 확인된 전달 주기 정보를 컴패니언 스크린 디바이스로 전송할 수 있다. 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)와 동일한 값 및/또는 방송 수신 장치(C100)에서 제공할 수 있는 전달 주기 정보들 중에서 요청된 전달 주기 정보(RequestedUpdateDuration Argument)에 가장 가까운 값을 지시할 수 있다. 예를 들어, 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)는 “10초”를 지시할 수 있다. 방송 수신 장치(C100)는 “10초”가 가능한 가장 가까운 값(또는 최소의 전달 주기 정보의 값)이기 때문에, 확인된 전달 주기 정보를 “10초”로 설정할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 제1 수신기는 10초 마다 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 프로그램의 종류 및/또는 특성에 따라서 미디어 타임 정보(또는 미디어 타임 업데이트)를 포함하는 시간 정보(또는 시그널링 정보)를 프로그램의 특정 시점 및/또는 주기적으로 방송 수신 장치로 전달할 수 있다.
도 210는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템의 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
이하에서는, 방송 수신 장치(C100)가 requesting 방식으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하는 방법을 설명한다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 신호를 수신한다. 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 사용자가 채널을 선택하면, 방송 수신 장치(C100)는 시그널링 정보를 기초로 특정 프로그램을 사용자에게 제공(또는 방송) 할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공하는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스(C200)와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 서비스 시간 정보의 획득을 요청하는 서비스 시간 정보 요청(또는 GetServiceTimeInfo(), 제1 요청) 을 수신할 수 있다. 서비스 시간 정보 요청(GetServiceTimeInfo() action)은 컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)로부터 시간 동기화를 위한 서비스 시간 정보를 요청하는 동작이다. 예를 들어, 컴패니언 스크린 디바이스(C200)는 필요한 시점마다 서비스 시간 정보 요청(GetServiceTimeInfo() action)을 사용하여 방송 수신 장치(C100)에게 서비스 시간 정보를 요청할 수 있다.
그리고 나서, 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답으로, 방송 수신 장치(C100)는 최신의 서비스 시간 정보를 캄패니언 스크린 디바이스(C200)로 전달할 수 있다. 예를 들어, 방송 수신 장치(C100)는 서비스 시간 정보를 획득하는 요청을 기초로 서비스 시간 정보를 requesting 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 프로그램의 종류 및/또는 특성에 따라서 미디어 타임 정보(또는 미디어 타임 업데이트)를 포함하는 시간 정보(또는 시그널링 정보)를 프로그램의 특정 시점 및/또는 주기적으로 방송 수신 장치로 전달할 수 있다.
도 211는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
방송 신호 수신 장치는 브로드캐스트 인터페이스를 이용하여 방송 신호를 수신할 수 있다(CS3100). 예를 들어, 방송 신호 수신 장치는 브로드캐스트 인터페이스를 이용하여 오디오/비디오(A/V) 프로그램을 포함하는 서비스 및 시그널링 정보를 수신할 수 있다. 예를 들어, 프로그램은 콘텐트를 지칭할 수 있다. 즉, 오디오/비디오(A/V) 프로그램은 A/V 콘텐트를 지칭할 수 있다.
예를 들어, 시그널링 정보는 재생되는 A/V 프로그램의 미디어 타임 정보를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스를 발견할 수 있다(CS3200). 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로 데이터 및/또는 시그널링 정보를 전달하거나 컴패니언 스크린 디바이스로부터 데이터 및/또는 시그널링 정보를 수신할 수 있다.
그리고 나서, 방송 수신 장치는 제어부를 이용하여 브로드캐스트 인터페이스 및 컴패니언 스크린 인터페이스를 동작시킬 수 있다. 제어부는 시간 동기화 서비스 프로세서를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 제어부 및/또는 시간 동기화 서비스 프로세서를 이용하여 시그널링 정보를 기초로 A/V 프로그램과 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 프로그램 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성할 수 있다(CS3300).
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다(CS3400).
본 발명의 일 실시예에 따른 서비스 시간 정보는 서비스의 식별자를 지시하는 serviceId attribute, 서비스에서 재생되고 있는 프로그램의 식별자를 지시하는 programId attribute, 프로그램의 미디어 타임 정보를 지시하는 mediaTime element, 및/또는 월-클럭 시간(wall clock time)을 지시하는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 requesting 방식을 이용하여 서비스 시간 정보를 전달할 수 있다. 방송 신호 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로부터 수신한 서비스 시간 정보의 획득을 요청하는 제1 요청을 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 eventing 방식을 이용하여 서비스 시간 정보를 전달 할 수 있다. 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 전달 간격 정보는 서비스 시간 정보를 전달하는 주기를 지시하는 전달 주기 정보 및 서비스 시간 정보를 전달하는 빈도를 지시하는 전달 빈도 정보 중에서 하나일 수 있다. 예를 들어, 간격(interval)은 주기(duration) 및/또는 빈도(frequency)를 포함할 수 있다. 또한, 전달 간격 정보(update interval information)는 전달 주기 정보(update duration information) 및/또는 전달 빈도 정보(update frequency information)을 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 획득을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 획득을 요청하는 제2 요청(또는 전달 간격 정보 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 그리고 나서, 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 제2 요청을 기초로 월-클럭 시간(wall clock time)이 지시하는 시점에서의 전달 간격 정보의 값을 지시하는 현재 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 현재 전달 간격 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 요청은 전달 주기 정보 요청 및/또는 전달 빈도 정보 요청을 포함할 수 있다. 현재 전달 간격 정보는 현재 전달 주기 정보 및/또는 현재 전달 빈도 정보를 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 설정을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 설정을 요청하는 제3 요청(또는 전달 간격 정보 설정 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 제3 요청은 컴패니언 스크린 디바이스가 요청하는 전달 간격 정보의 값을 지시하는 요청된 전달 간격 정보를 포함할 수 있다. 그리고 나서, 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 요청된 전달 간격 정보와 동일한 값 및 요청된 전달 간격 정보에 가장 가까운 값 중에서 하나를 지시하는 확인된 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 확인된 전달 간격 요청 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 설정 요청은 전달 주기 정보 설정 요청 및/또는 전달 빈도 정보 설정 요청을 포함할 수 있다. 요청된 전달 간격 정보는 요청된 전달 주기 정보 및/또는 요청된 전달 빈도 정보를 포함할 수 있다. 확인된 전달 간격 정보는 확인된 전달 주기 정보 및/또는 확인된 전달 빈도 정보를 포함할 수 있다.
도 212는 본 발명의 일 실시예에 따른 타임-쉬프티드 어플리케이션을 지원하는 방송 수신 장치의 구성을 나타낸 도면이다.
이하에서는, 차세대 하이브리드 방송 시스템에서 타임-쉬프티드 어플리케이션(Time-shifted Application)의 지원 방안에 대하여 설명한다.
차세대 하이브리드 방송 시스템에서 서비스 별로 제공하는 프로그램에 대해서 사용자는 방송 수신 장치의 타임-쉬프트(time-shift) 기능을 이용하여 다시 보기 및 트릭 플레이(trick play) 등을 할 수 있다. 본 발명은 어떤 프로그램이 타임-쉬프트(time-shift) 되었을 때에 프로그램과 같이 실행될 수 있는 인터랙티브 어플리케이션(interactive application) 즉, 리니어 서비스(linear service) 내의 앱-베이스드 인핸스먼트(app-based enhancement)도 타임-쉬프트(time-shift)를 지원할 수 있도록 하는 방안이다.
또한, 타임-쉬프티드 어플리케이션(time-shifted application)을 방송 수신 장치(e.g. TV, 프라이머리 디바이스, 제1 수신기)와 연결되어 있는 컴패니언 스크린 디바이스(e.g. 제2 수신기 또는 컴패니언 디바이스)에서 지원하기 위해서는, 앞서 기술한 방송 수신 장치(또는, primary device)에서 컴패니언 스크린 디바이스(또는, companion device)로 어플리케이션 시그널링(application signaling)을 전달하는 방안을 이용하여 타임-쉬프티드 어플리케이션(time-shifted application)을 위한 시그널링 정보(signaling information)을 전달할 수 있다.
본 발명의 일 실시예에 따르면, 사용자는 채널 10번에서 방송중인 car racing 프로그램을 생방송으로 시청하고 있으며, 추후 다시 시청할 목적으로 녹화를 시작할 수 있다. 방송사는 본 프로그램에 대하여 인터랙티브 어플리케이션(interactive application)이 있음을 사용자에게 알려줄 수 있다. Car racing 프로그램에서 제공할 수 있는 인터랙티브 어플리케이션(interactive application)은 사용자가 원하는 운전자를 선택하여 과거 경기 기록 등과 같은 운전자의 프로필 정보를 살펴 볼 수 있도록 할 수 있다. 사용자는 녹화를 하고 있으므로, 추후 다시 경기를 시청할 때에도 생방송을 시청할 때 경험했었던 것처럼 인터랙티브 어플리케이션(interactive application)을 통해 원하는 운전자의 프로필 정보를 살펴 볼 수 있기를 기대할 수 있다. 인터랙티브 어플리케이션(Interactive application)은 방송사 서버(또는, 방송 전송 장치, 콘텐트 서버, 어플리케이션 서비스 서버) 에서 지정할 수 있는 가용한 시간 동안 (예: 일주일 등) 유효할 수 있다. 방송사 서버에서 지정된 가용한 시간 동안, 사용자는 녹화된 프로그램을 시청할 때마다 인터랙티브 어플리케이션(interactive application)을 사용할 수 있다.
본 발명의 일 실시예에 따르면, 사용자는 채널 20번에서 방송될 예정인 드라마를 예약 녹화를 설정해 둘 수 있다. 방송사는 본 드라마에 대해서 인터랙티브 어플리케이션(interactive application)을 제공할 수 있다. 드라마에 대한 인터랙티브 어플리케이션(interactive application)은 미디어 타임(media time)에 따라 사용자에게 인물 정보 및 줄거리에 대한 퀴즈(quiz) 등과 같은 정보를 제공할 수 있다. 사용자는 추후 녹화된 드라마를 시청할 때에도 인터랙티브 어플리케이션(interactive application)을 사용하기를 기대할 수 있다. 마찬가지로 인터랙티브 어플리케이션(interactive application)은 방송사 서버(또는, 방송 전송 장치, 콘텐트 서버, 어플리케이션 서비스 서버)에서 지정할 수 있는 가용한 시간 동안 (예: 3일 등) 유효할 수 있다. 방송사 서버에서 지정한 가용한 시간 동안, 사용자는 녹화된 프로그램을 시청할 때마다 인터랙티브 어플리케이션(interactive application)을 사용할 수 있다.
본 발명의 일 실시예에 따르면, 사용자는 채널 30번에서 드라마를 시청할 수 있다. 본 드라마에서는 인터랙티브 어플리케이션(interactive application)을 제공하고 있을 수 있다. 사용자는 TV 앞에서 잠시 자리를 비웠다가 다시 돌아와서, TV의 타임-쉬프트(time-shift) 기능을 이용하여 지나친 부분부터 뒤로 돌려서 드라마를 다시 시청할 수 있다. 이 때, 사용자는 이전과 같이 드라마에서 제공하는 인터랙티브 어플리케이션(interactive application)을 사용하기를 기대할 수 있다.
도면을 참고하면, 본 발명의 일 실시예에 따른, 타임-쉬프티드 어플리케이션(Time-shfited Application)을 지원하는 차세대 하이브리드 방송 시스템의 구성이 나타나 있다.
본 발명의 일 실시예에 따른 방송 시스템은 콘텐트 제공자/방송 전송 장치(C202010; Content Provider / Broadcaster), 콘텐트 서버(C202050; Application Service Server), 및/또는 방송 수신 장치(Receiver) 중에서 적어도 하나를 포함한다.
콘텐트 제공자 / 방송 전송 장치(C212010; Content Provider / Broadcaster)는 콘텐트 제공자 혹은 방송 전송 장치를 나타낸다. 콘텐트 제공자 / 방송 전송 장치(C212010)는 콘텐트 제공자 및/또는 방송 전송 장치를 포함할 수 있다.
콘텐트 제공자는 미디어 콘텐트(e.g 실시간 콘텐트 및/또는 비실시간 콘텐트)를 방송 전송 장치(C212010) 및/또는 콘텐트 서버(C212050)에 제공한다.
방송 전송 장치(C212010)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 방송 서비스를 포함하는 방송 신호를 전송할 수 있다. 방송 서비스는 Signaling data(또는, Signaling Information), ESG data, NRT(Non Real Time) Content data, and/or 실시간 콘텐트 데이터 중에서 적어도 하나를 포함할 수 있다. 실시간 콘텐트 데이터는 비디오 데이터, 오디오 데이터, 및/또는 자막 데이터와 같은 미디어 데이터를 포함할 수 있다. 또한, NRT Content data는 미디어 데이터 및/또는 어플리케이션을 포함할 수 있다.
방송 전송 장치(C212010)는 방송 전송 장치(C212010)의 제어부(미도시) 및 전송부(미도시)를 포함할 수 있다. 제어부는 방송 전송 장치(C212010)의 동작을 제어할 수 있다.
콘텐트 제공자 / 방송 전송 장치(C212010)는, 특정 프로그램에 대해서 제공되는 어플리케이션이 타임-쉬프트(time-shift) 기능을 지원하면, 특정 프로그램이 타임-쉬프트(time-shift)로 재생될 경우에 대한 어플리케이션 시그널링 정보(예를 들어, 트리거)를 특정 table(예를 들어, activation messages table, AMT)에 담아서 방송 수신 장치로 전달할 수 있다. 본 발명의 일 실시예에서, 콘텐트 제공자 / 방송 전송 장치(C212010)는 트리거를 AMT를 통해 방송 수신 장치로 전달하는 실시예를 보여준다. AMT는 본래 여러 개의 어플리케이션의 액티베이션 트리거 정보(activation trigger information), 즉 벌크 어플리케이션 트리거(bulk application trigger)들을 보낼 때 사용될 수 있다. 본 발명의 일 실시예에서는, 타임-쉬프트된 프로그램에 대해서 어플리케이션이 트리거될 수 있도록 하기 위하여, ATM이 사용될 수 있다. ATM은 방송망 및/또는 인터넷망을 통해서 방송 수신 장치로 전달될 수 있다.
콘텐트 서버(C212050)는 방송 수신 장치의 요청에 기초하여 방송 서비스를 포함하는 방송 신호를 전송 할 수 있다. 또한, 콘텐트 서버(C212050)는 어플리케이션 및/또는 어플리케이션 데이터를 제공하는 어플리케이션 서비스 서버이다. 어플리케이션 서비스 서버는 콘텐트 제공자 혹은 방송사에서 제공될 수 있고, 이 경우, 콘텐트 제공자 / 방송 전송 장치(C212010)에 포함될 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(또는, Receiver)는 브로드캐스트 인터페이스(미도시, 또는 방송 수신부), 브로드밴드 인터페이스(미도시, 또는 IP 송수신부), 컴패니언 스크린 인터페이스(미도시, 또는 App 송수신부), 및/또는 제어부(C212150) 중에서 적어도 하나를 포함할 수 있다. 방송 수신 장치는 제어부(C212150)를 이용하여 브로드캐스트 인터페이스, 브로드밴드 인터페이스, 및/또는 컴패니언 스크린 인터페이스를 동작시킬 수 있다. 방송 수신 장치는 브로드캐스트 인터페이스를 이용하여 방송 서비스를 포함하는 방송 신호를 수신할 수 있다. 이때 방송 신호는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 브로드캐스트 인터페이스는 방송 신호를 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다. 방송 수신 장치는 브로드밴드 인터페이스를 이용하여 콘텐트 서버(C202050)에 방송 서비스를 요청한다. 방송 수신 장치는 브로드밴드 인터페이스를 이용하여 콘텐트 서버(C202050)로부터 방송 서비스를 수신한다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스(미도시)로 데이터 및/또는 시그널링 정보를 전달하거나 컴패니언 스크린 디바이스로부터 데이터 및/또는 시그널링 정보를 수신할 수 있다. 방송 수신 장치는 디코더를 이용하여 방송 서비스를 디코딩할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치의 제어부(C212150)는 시그널링 파서 (C212151; Signaling Parser), NRT 콘텐트 매니저(C212152; NRT Content Manager), 다운로드 매니저 (C212153; Download Manager), 장치 저장소 (C212154; Device Storage), 타임-쉬프티 매니저(C212155; Time-shift Manager), 어플리케이션 매니저 (C212156; Application Manager), 및/또는 어플리케이션 프로세서 (C212157; Application) 중에서 적어도 하나를 포함할 수 있다.
시그널링 파서 (C212151; Signaling Parser)는 방송 전송 장치(C202010)에서 제공하는 방송 신호를 파싱하여 방송 서비스를 추출할 수 있다. 예를 들어, 방송 서비스는 Signaling data(또는, Signaling Information), ESG data, NRT(Non Real Time) Content data, and/or 실시간 콘텐트 데이터 중에서 적어도 하나를 포함할 수 있다. 시그널링 파서(C212151)는 시그널링 정보를 파싱하여 어플리케이션을 시그널링하는 어플리케이션 시그널링 정보를 추출할 수 있다. 예를 들어, 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거(e.g. Application command), AMT, 및/또는 콘텐트 서버(C202050) 상에서 어플리케이션을 다운로드할 수 있는 어플리케이션의 위치를 지시하는 어플리케이션 위치 정보(e.g. Application URL) 중에서 적어도 하나를 포함할 수 있다. 예를 들어, AMT는 타임-쉬프트 기능을 지원하는 어플리케이션(time-shifted application)을 위한 AMT일 수 있다. 또한, 어플리케이션 시그널링 정보는 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(e.g .TPT) 및/또는 어플리케이션 통지에 관한 정보를 포함하는 어플리케이션 통지 정보 중에서 적어도 하나를 더 포함할 수 있다.
NRT 콘텐트 매니저(C212152; NRT Content Manager)는 NRT(Non Real Time) Content data를 관리할 수 있다. 예를 들어, NRT 콘텐트 매니저(C212152)는 방송 신호를 파싱하여 NRT 콘텐트 data를 추출할 수 있다. 예를 들어, NRT 콘텐트 매니저(C212152)는 방송 신호를 파싱하여 NRT 콘텐트를 추출할 수 있다. 예를 들어, NRT Content data는 트리거링 어플리케이션 정보(e.g. TPT)를 포함하는 시그널링 정보를 포함할 수 있다.
다운로드 매니저 (C212153; Download Manager)는 컨텐츠 제공자 / 방송 전송 장치(C212010) 및/또는 콘텐트 서버(C212050)로부터 NRT(Non Real Time) Content data를 수신할 수 있다. 예를 들어, 다운로드 매니저 (C212153)는 NRT 콘텐트 매니저(C212152)로부터 NRT 콘텐트와 관련된 정보를 전달받을 수 있다. 또한, 다운로드 매니저 (C212153)는 콘텐트 서버(C212050)로부터 시그널링 정보, 어플리케이션, 어플리케이션 데이터, 및/또는 어플리케이션과 관련된 정보를 전달받을 수 있다. 또한, 다운로드 매니저 (C212153)는 시그널링 정보를 기초로 시그널링 정보, 어플리케이션, 어플리케이션 관련 정보, NRT(Non Real Time) Content data를 수신할 수 있다. 예를 들어, 다운로드 매니저 (C212153)는 어플리케이션 위치 정보를 기초로 콘텐트 서버(C202050)로부터 시그널링 정보, 어플리케이션, 어플리케이션 관련 정보, NRT(Non Real Time) Content data를 전달받을 수 있다. 그리고 나서, 다운로드 매니저 (C212153)는 시그널링 정보, 어플리케이션, 어플리케이션 관련 정보, NRT(Non Real Time) Content data를 장치 저장소(C212154)로 전달할 수 있다. 또한, 다운로드 매니저(C212153)는 어플리케이션을 장치 저장소 (C212154)에 설치할 수 있다.
장치 저장소 (C212154; Device Storage)는 방송 서비스, 데이터, 콘텐트, Time-shift Management Table(TMT), 어플리케이션과 관련된 정보, 및/또는 시그널링 정보를 저장할 수 있다. 예를 들어, 장치 저장소 (C212154; Device Storage)는 AMT 및/또는 트리거링 어플리케이션 정보(e.g. TPT)를 포함하는 시그널링 정보를 저장할 수 있다. 또한, 장치 저장소(C202154)는 저장된 정보들을 다른 장치들로 전달할 수 있다.
타임-쉬프트 매니저(C212155)는 타임-쉬프트(time-shift) 기능을 지원하는 어플리케이션을 서술하는 Time-shift Management Table(TMT)을 생성할 수 있다. 예를 들어, 타임-쉬프트 매니저(C212155)는 AMT를 기초로 타임-쉬프트 기능을 지원하는 어플리케이션을 서술하는 Time-shift Management Table(TMT) 및/또는 시그널링 정보를 생성할 수 있다. 또한, 타임-쉬프트 매니저(C212155)는 AMT, TMT, 및/또는 시그널링 정보를 장치 저장소(C212154)에 전달 또는 저장(Store)하거나, 장치 저장소(C212154)에 저장된 AMT, TMT, 및/또는 시그널링 정보를 추출 또는 로드(load)할 수 있다. 타임-쉬프트 매니저(C212155)는 TMT를 기초로 어플리케이션에 관련된 AMT 및/또는 TPT를 추출할 수 있다. 예를 들어, 타임-쉬프트 매니저(C212155)는 TMT를 기초로 AMT에 포함된 어플리케이션의 동작을 트리거링하는 트리거(e.g. Application command)를 추출할 수 있다.
실시간 프로그램의 경우 방송사가 방송망을 통해서 어플리케이션(application)에 대한 시그널링 정보(signaling information) 및 트리거(trigger)를 전달할 수 있으나, 타임-쉬프트된(time-shifted) 프로그램의 경우에는 타임-쉬프트 매니저(C212155)가 이 역할을 수행할 수 있다. 즉, 타임-쉬프트 매니저(C212155)는 TMT를 기초로 타임-쉬프트된 프로그램을 위한 타임-쉬프트 기능을 지원하는 어플리케이션에 대한 시그널링 정보(signaling information) 및 트리거(trigger)를 전달할 수 있다.
타임-쉬프트 매니저(C212155)는 방송사로부터 전달받을 수 있는 어플리케이션 속성 정보(예를 들어, TPT 등)에 timeShiftEnabled attribute가 ‘true’ 일 경우 현재 서비스 및 프로그램의 정보와 TPT id를 이용하여 새로운 table (예를 들어, Time-shift Management Table)을 구성하고 장치 저장소 (C212154)에 저장할 수 있다. 시그널링 정보는 해당 콘텐트 또는 프로그램이 타임 쉬프트된 콘텐트 또는 프로그램인지 여부를 지시하는 timeshift attribute를 포함할 수 있다. 타임-쉬프트 매니저(C212155)는 timeshift attribute를 기초로 현재 서비스 및 프로그램의 정보와 TPT id를 이용하여 새로운 table (예를 들어, Time-shift Management Table)을 구성하고 장치 저장소 (C212154)에 저장할 수 있다.
추후, 사용자에 의해서 녹화된 프로그램이 재생되거나 트릭 플레이(trick play)가 수행되면, 방송 수신 장치는 현재 시청 중인 프로그램의 time-shift management table (TMT)을 이용하여 프로그램과 관련되어 있는 어플리케이션 속성 정보(예를 들어, TPT 등) 및 어플리케이션 트리거 정보(예를 들어, 트리거)를 추출하고, 어플리케이션 트리거 정보에 따라 어플리케이션의 동작을 수행할 수 있다. 예를 들어, 방송 수신 장치는 타임-쉬프트 매니저(C212155)를 이용하여 TMT를 기초로 AMT에 포함된 트리거 및 장치 저장소에 저장된 TPT를 추출할 수 있다. 또한, 방송 수신 장치는 어플리케이션 매니저를 이용하여 트리거 및 TPT를 기초로 어플리케이션을 동작시킬 수 있다.
어플리케이션 매니저 (C212152)는 어플리케이션과 관련된 시그널링 정보(예를 들어, 어플리케이션 시그널링 정보)를 기초로 어플리케이션을 관리할 수 있다. 예를 들어, 어플리케이션 매니저 (C212152)는 트리거(e.g. Application command) 및/또는 트리거링 어플리케이션 정보(e.g. TPT, Application info)를 기초로 어플리케이션의 동작을 제어할 수 있다. 여기서, 어플리케이션의 동작은 Activate (Launch 또는, Execute), Suspend, Resume, 또는 Terminate (Exit)이 될 수 있다.
어플리케이션 프로세서(C202157; Application)는 시그널링 정보를 기초로 어플리케이션을 동작시킬 수 있다. 예를 들어, 어플리케이션 디코더(C202157)는 트리거 및/또는 트리거링 어플리케이션 정보를 기초로 어플리케이션을 동작시킬 수 있다. 예를 들어, 어플리케이션 프로세서(C212157)는 콘텐트 서버(C212050)와 상호 작용(Interaction)을 수행할 수 있다. 어플리케이션 프로세서(C212157)는 콘텐트 서버(C212050)에 데이터를 전달하고 콘텐트 서버(C212050)로부터 데이터를 수신할 수 있다. 또한, 어플리케이션 프로세서(C212157)는 수신한 어플리케이션을 디코딩하여, 화면에 디스플레이할 수 있다. 본 발명의 일 실시예에 따른 어플리케이션 프로세서(C202157; Application)에 포함될 수 있다.
방송 시스템에 포함되는 각각의 장치는 하드웨어 또는 소프트웨어로 구현될 수 있다. 각 장치가 하드웨어로 구현되는 경우, ‘매니저’ 와 같은 표현은 ‘프로세서’로 대체될 수 있다.
도 213은 본 발명의 일 실시예에 따른 TMT를 나타낸 도면이다.
Time-shift Management Table(TMT)는 타임-쉬프트된 프로그램에 적용 가능한 어플리케이션을 서술할 수 있다. 또는, TMT는 타임-쉬프트 기능을 지원하는 어플리케이션을 서술할 수 있다. 예를 들어, TMT는 serviceId attribute, programId attribute, fileLocation attribute, TPTId attribute, 및/또는 AppInfo element 중에서 적어도 하나를 포함할 수 있다. 또한, TMT는 적어도 하나의 트리거 및/또는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거의 속성에 대한 정보를 포함할 수 있다.
serviceId attribute는 서비스의 고유한 식별자를 지시할 수 있다. 예를 들어, serviceId attribute는 타임-쉬프트 기능을 지원하는 어플리케이션을 제공하는 서비스의 서비스 식별자를 지시할 수 있다. serviceId attribute는 선택적인 정보일 수 있다.
programId attribute는 프로그램의 고유한 식별자를 지시할 수 있다. 예를 들어, programId attribute는 서비스를 구성하는 특정 프로그램을 식별하는 식별자를 지시할 수 있다. 프로그램은 타임-쉬프트 기능을 지원하는 어플리케이션을 제공할 수 있다. programId attribute는 필수적인 정보일 수 있다.
fileLocation attribute는 방송 수신 장치의 장치 저장소에 기록된 파일의 위치(location)를 지시할 수 있다. fileLocation attribute는 방송 수신 장치에 저장된 프로그램의 위치(location)를 지시할 수 있다. fileLocation attribute는 선택적인 정보일 수 있다.
TPTId attribute는 관련된 어플리케이션에 대한 트리거링 어플리케이션 정보(또는, TPT)의 고유한 식별자를 지시할 수 있다. TPTId attribute는 필수적인 정보일 수 있다.
AppInfo element는 어플리케이션에 관한 속성 또는 어플리케이션 정보를 포함할 수 있다. AppInfo element는 필수적인 정보일 수 있다. AppInfo element는 applicationId attribute를 포함할 수 있다. applicationId attribute는 어플리케이션의 고유한 식별자를 지시할 수 있다. applicationId attribute는 필수적인 정보일 수 있다. AppInfo element는 해당되는 어플리케이션에 대한 적어도 하나의 트리거 및/또는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거의 속성에 대한 정보를 포함할 수 있다.
도 214은 본 발명의 일 실시예에 따른 TMT의 XML 포멧 데이터를 나타낸 도면이다.
본 발명의 일 실시예에 따른 TMT는 serviceId attribute, programId attribute, fileLocation attribute, TPTId attribute, 및/또는 AppInfo element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute 는 “11”을 지시할 수 있다. programId attribute는 “101”을 지시할 수 있다. TPTId attribute는 “http://www.atsc.com/application001”를 지시할 수 있다. fileLocation attribute는 “/storage/pvrContents/program1”를 지시할 수 있다. AppInfo element는 제1 어플리케이션 정보 및 제2 어플리케이션 정보를 포함할 수 있다.
제1 어플리케이션 정보의 applicationId attribute는 “15”를 지시할 수 있다.
제2 어플리케이션 정보의 applicationId attribute는 “16”을 지시할 수 있다.
방송 수신 장치가 타임-쉬프트(time-shift)를 위해 프로그램(program) 녹화를 시작할 때, 이미 service ID 및 program ID 등을 알 수 있으므로, 녹화할 파일의 이름을 service ID 및/혹은 program ID를 사용하여 방송 수신 장치의 storage에 저장할 수 있다. 이 때, 방송 수신 장치는 TMT에도 동일한 service ID 및/혹은 program ID로 저장할 수 있다.
추후 녹화된 program을 재생시, 방송 수신 장치는 파일 이름을 통해 service ID 및/혹은 program ID를 알 수 있고, TMT를 search하여 관련된 application ID를 알아낼 수 있다.
혹은 추후 녹화된 program의 재생시, TMT의 fileLocation attribute를 기초로 TMT를 search하여 관련 application ID를 알아낼 수 있다.
도 215는 본 발명의 일 실시예에 따른 TPT signaling를 나타낸 도면이다.
이하에서는, 타임-쉬프트 기능을 지원하는 어플리케이션을 위한 어플리케이션 시그널링 정보에 대해서 설명한다. 어플리케이션 시그널링 정보는 트리거 및/또는 트리거링 어플리케이션 정보(또는, TPT)를 포함할 수 있다. 먼저, 트리거링 어플리케이션 정보(또는, TPT)에 대해서 설명한다.
트리거링 어플리케이션 정보는 트리거링되는 어플리케이션에 관한 정보를 시그널링할 수 있다. 또는, 트리거링 어플리케이션 정보는 세그먼트의 적어도 하나의 Triggered Declarative Object(TDO) 및 적어도 하나의 TDO에 타케팅된 적어도 하나의 이벤트에 대한 메타데이터를 포함할 수 있다. 예를 들어, TDO는 어플리케이션일 수 있다. 또한, 트리거링 어플리케이션 정보는 TDO Parameters Table(TPT)일 수 있다. 트리거링 어플리케이션 정보는 모든 프로그램 세그먼트 또는 시간에 따른 부분 프로그램 세그먼트에 해당하는 어플리케이션을 시그널링할 수 있다. 이때, 세그먼트 또는 프로그램 세그먼트는 프로그램이 포함하는 시간 구간을 나타낸다.
트리거링 어플리케이션 정보는 majorProtocolVersion attribute, minorProtocolVersion attribute, id attribute, tptVersion attribute, expireDate attribute, updatingTime attribute, serviceID attribute, baseURL attribute, Capabilities element, LiveTrigger element, 및/또는 TDO element 중에서 적어도 하나를 포함할 수 있다. 트리거링 어플리케이션 정보에 포함된 attribute 및/또는 element에 관한 내용은 전술한 내용을 모두 포함할 수 있다.
TDO element는 appID attribute, appType attribute, appName attribute, globalID attribute, appVersion attribute, cookieSpace attribute, frequencyOfUse attribute, expireDate attribute, testTDO attribute, availInternet attribute, availBroadcast attribute, URL element, Capabilities element, ApplicationBoundary element, ContentItem element, 및/또는 Event element 중에서 적어도 하나를 포함할 수 있다. TDO element에 포함된 attribute 및/또는 element에 관한 내용은 전술한 내용을 모두 포함할 수 있다.
어플리케이션이 타임-쉬프트(time-shift)를 지원하기 위해서, 방송 전송 장치는 어플리케이션이 타임-쉬프트 된(time-shifted) 프로그램에도 사용될 수 있는지 여부를 지시하는 플래그 정보를 함께 전송할 수 있다. 예를 들어, 방송 전송 장치는 어플리케이션 시그널링 정보(또는, 트리거링 어플리케이션 정보)에 해당 어플리케이션이 타임-쉬프트(time-shift)를 지원할 수 있는지 여부를 지시하는 플래그 정보를 함께 전송할 수 있다.
이를 위하여, 본 발명의 일 실시예에 따른 TDO element는 timeShiftEnabled attribute를 더 포함할 수 있다. timeShiftEnabled attribute는 어플리케이션이 타임-쉬프트(time-shift) 기능을 지원할 수 있는지 여부를 지시할 수 있다. 예를 들어, timeShiftEnabled attribute는 어플리케이션이 타임-쉬프트(time-shift)된 프로그램에 대하여 동작할 수 있는지 여부를 지시할 수 있다. timeShiftEnabled attribute는 디폴트 값으로 “false” 값을 가질 수 있다.
방송 전송 장치는 어플리케이션 시그널링 시 어플리케이션에 대한 정보를 나타낼 수 있는 테이블(예를 들어, TPT 등)에 timeShiftEnabled attribute를 추가하여 방송 수신 장치로 전송할 수 있다.
방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT)를 수신할 수 있다. 방송 수신 장치는 timeShiftEnabled attribute를 기초로 TPT 및/또는 time-shift용 AMT를 저장할 수 있다. 예를 들어, 방송 수신 장치는 timeShiftEnabled attribute를 참조하여 “true” 값일 경우, 추후 사용자에 의해 program 녹화시 본 TPT와 함께 전달된 time-shift용 AMT를 같이 저장할 수 있다.
도 216은 본 발명의 일 실시예에 따른 TPT의 XML 포멧 데이터를 나타낸 도면이다.
본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보(또는, TPT)는 majorProtocolVersion attribute, minorProtocolVersion attribute, id attribute, tptVersion attribute, expireDate attribute, updatingTime attribute, serviceID attribute, baseURL attribute, Capabilities element, LiveTrigger element, 및/또는 TDO element 중에서 적어도 하나를 포함할 수 있다.
majorProtocolVersion attribute는 "5"를 지시할 수 있다. minorProtocolVersion attribute는 "5"를 지시할 수 있다. id attribute는 “http://www.atsc.com”를 지시할 수 있다. tptVersion attribute는 "5"를 지시할 수 있다. expireDate attribute는 "2014-12-13T12:12:12"를 지시할 수 있다. updatingTime attribute는 "12"를 지시할 수 있다. serviceID attribute는 "12"를 지시할 수 있다. baseURL attribute는 “http://www.atsc.com”를 지시할 수 있다. Capabilities attribute는 디폴트 값을 지시할 수 있다. LiveTrigger element의 URL attribute는 “http://www.atsc.com/liveTrigger”를 지시할 수 있다. LiveTrigger element의 pollPeriod attribute는 "5"를 지시할 수 있다.
TDO element는 제1 TDO element 및/또는 제2 TDO element를 포함할 수 있다.
제1 TDO element는 appID attribute, appType attribute, appName attribute, globalID attribute, appVersion attribute, cookieSpace attribute, frequencyOfUse attribute, expireDate attribute, testTDO attribute, availInternet attribute, availBroadcast attribute, URL element, Capabilities element, ApplicationBoundary element, ContentItem element, 및/또는 Event element 중에서 적어도 하나를 포함할 수 있다.
appId attribute는 "12"를 지시할 수 있다. appType attribute는 "5"를 지시할 수 있다. appName attribute는 “quiz01"를 지시할 수 있다. globalID attribute는 “http://www.atsc.com/app12”를 지시할 수 있다. appVersion attribute는 "5"를 지시할 수 있다. cookieSpace attribute는 "5"를 지시할 수 있다. frequencyOfUse attribute는 "5"를 지시할 수 있다. expireDate attribute는 "2012-12-13T12:12:12"를 지시할 수 있다. testTDO attribute는 "true"를 지시할 수 있다. availInternet attribute는 "true"를 지시할 수 있다. availBroadcast attribute는 "true“를 지시할 수 있다. timeShiftEnabled attribute는 “true”를 지시할 수 있다.
URL element의 entry attribute는 "true"를 지시할 수 있다. URL element는 “http://www.atsc.com/app12/index.html”를 지시할 수 있다. Capabilities element는 디폴트 값을 지시할 수있다. ApplicationBoundary element의 OriginURL element는 “http://www.atsc.com/appBoundary”를 지시할 수 있다. ContentItem element의 updatesAvail attribute는 "true"를 지시하고, pollPeriod attribute는 "5"를 지시하고, size attribute는 "123"을 지시하고, availInternet attribute는 "true"를 지시하고, availBroadcast attribute는 "true"를 지시할 수 있다. 또한, URL element 의 entry attribute 는 "true"를 지시하고, URL element는 “http://www.atsc.com/contentItem12”를 지시할 수 있다.
Event element는 제1 Event element 및/또는 제2 Event element를 포함할 수 있다.
제1 Event element의 eventID attribute는 “1"을 지시하고, action attribute는 “exec”를 지시하고, destination attribute는 “1"을 지시하고, diffusion attribute는 “5"를 지시할 수 있다.
Data element의 dataID attribute는 “10"을 지시하고, Data element는 “AAAAZg==”를 지시할 수 있다.
제2 Event element의 eventID attribute는 “2"를 지시하고, action attribute는 “kill”을 지시하고, destination attribute는 “2"를 지시하고, diffusion attribute는 “5"를 지시할 수 있다.
Data element의 dataID attribute는 “11"을 지시하고, Data element는 “YTM0NZomIzI2OTsmIzM0NTueYQ==”를 지시할 수 있다.
제2 TDO element는 appID attribute, appType attribute, appName attribute, globalID attribute, appVersion attribute, cookieSpace attribute, frequencyOfUse attribute, expireDate attribute, testTDO attribute, availInternet attribute, availBroadcast attribute, URL element, Capabilities element, ApplicationBoundary element, ContentItem element, 및/또는 Event element 중에서 적어도 하나를 포함할 수 있다.
appId attribute는 “13"를 지시하고, appType attribute는 “4"를 지시하고, appName attribute는 “quiz01"를 지시하고, globalID attribute는 “http://www.atsc.com/app13”를 지시하고, appVersion attribute는 “1"를 지시하고, cookieSpace attribute는 "5"를 지시하고, frequencyOfUse attribute는 “3"를 지시하고, expireDate attribute는 "2014-12-13T10:10:00"를 지시하고, testTDO attribute는 “false"를 지시하고, availInternet attribute는 “false"를 지시하고, availBroadcast attribute는 "true“를 지시하고, timeShiftEnabled attribute는 “false”를 지시할 수 있다. URL element의 entry attribute는 “true"를 지시하고, URL element는 “http://www.atsc.com/app13/index.html”를 지시할 수 있다. Capabilities element는 디폴트 값을 가질 수 있다. ApplicationBoundary element의 OriginURL attribute는 “http://www.atsc.com/appBoundary”를 지시할 수 있다. ContentItem element의 updatesAvail attribute는 "true"를 지시하고, pollPeriod attribute는 “3"를 지시하고, size attribute는 “50"를 지시하고, availInternet attribute는 "true"를 지시하고, availBroadcast attribute는 “false"를 지시할 수 있다. URL element의 entry attribute는 "true"를 지시하고, URL element는 “http://www.atsc.com/contentItem13”를 지시할 수 있다.
Event element의 eventID attribute는 “3"을 지시하고, action attribute는 “exec”를 지시하고, destination attribute는 “2"를 지시하고, diffusion attribute는 “3“를 지시할 수 있다.
도면을 참고하면, 제1 TDO element의 timeShiftEnabled attribute는 “true”를 지시하고 있다. 따라서, 제1 TDO element에 의해서 시그널링되는 어플리케이션은 타임-쉬프트(time-shift)를 지원할 수 있다. 하지만, 제2 TDO element의 timeShiftEnabled attribute는 “false”를 지시하고 있다. 따라서, 제2 TDO element에 의해서 시그널링되는 어플리케이션은 타임-쉬프트(time-shift)를 지원할 수 없다.
도 217는 본 발명의 일 실시예에 따른 트리거 시그널링을 나타낸 도면이다.
방송 수신 장치가 타임-쉬프트된(Time-shifted) 프로그램을 재생할 경우, 방송 수신 장치는 방송 전송 장치로부터 방송망을 통해서 트리거(또는, application trigger)를 전달 받을 수 없다.
이하에서는, 방송 수신 장치가 타임-쉬프트된(Time-shifted) 프로그램을 재생할 경우, 방송 수신 장치가 트리거를 시그널링하는 방법에 대하여 설명한다.
트리거는 어플리케이션의 동작을 트리거링할 수 있다. 트리거는 시그널링을 식별하고, 적어도 하나의 인터랙티브 이벤트의 플레이아웃의 타이밍을 수립할수 있다. 또한, 트리거는 적어도 하나의 인터랙티브 서비스의 지원을 위하여 타이밍-관련 시그널링 기능들을 수행할 수 있다.
예를 들어, 트리거 정보는 트리거의 속성에 대한 정보를 포함할 수 있다. 트리거 정보는 트리거링 이벤트에 의해서 타케팅된 어플리케이션(또는, TDO)을 식별하는 어플리케이션 식별자(또는, appID), 어플리케이션의 트리거링 이벤트(또는, 이벤트)를 식별하는 트리거링 이벤트 식별자(또는, eventID), 트리거링 이벤트와 연관된 데이터를 식별하는 데이터 식별자(또는, dataID), 트리거링 이벤트의 시작 시간을 지시하는 시작 시간 정보(또는, startTime), 및/또는 트리거링 이벤트의 종료 시간을 지시하는 종료 시간 정보(또는, endTime) 중에서 적어도 하나를 포함할 수 있다.
도면의 (a)를 참조하면, Activation Messages Table (AMT)이 나타나 있다.
AMT는 프로그램 세그먼트에 대한 적어도 하나의 액티배이션 트리거(Activation Trigger)에 해당하는 정보를 포함할 수 있다. 예를 들어, AMT는 프로그램 세그먼트에 대한 적어도 하나의 액티배이션 트리거(Activation Trigger)를 대량으로 포함할 수 있다. AMT는 방송 전송 장치에 의해서 방송망 및/또는 인터넷망을 통하여 전송될 수 있다.
AMT는 majorProtocolVersion attribute, minorProtocolVersion attribute, segmentId attribute, beginMT attribute, 및/또는 Activation element 중에서 적어도 하나를 포함할 수 있다
majorProtocolVersion attribute 는 메이저 프로토콜 버전을 지시할 수 있다. majorProtocolVersion attribute 가 존재하면, 0~15 범위의 정수의 값을 가지는, AMT element의 이러한 선택적인 속성은 AMT 정의(definition)의 메이저 버전 넘버를 지시할 수 있다. 메이저 버전 넘버는 디폴트 값으로 “1”로 설정될 수 있다. 방송 수신 장치는 지원할 수 없는 메이저 버전 값을 지시하는 AMT는 무시할 수 있다.
minorProtocolVersion attribute 는 마이너 프로토콜 버전을 지시할 수 있다. minorProtocolVersion attribute 가 존재하면, 0~15 범위의 정수의 값을 가지는, AMT element의 이러한 선택적인 속성은 AMT 정의(definition)의 마이너 버전 넘버를 지시할 수 있다. minorProtocolVersion attribute 가 존재하지 않으면, 마이너 버전 넘버는 “0”으로 설정될 수 있다. 마이너 버전 넘버는 디폴트 값으로 “0”으로 설정될 수 있다. 방송 수신 장치는 지원할 수 없는 마이너 버전 값을 지시하는 AMT는 무시할 수 있다. 이 경우, 방송 수신 장치는 지원할 수 없는 엘리먼트 또는 속성은 무시할 수 있다.
segmentId attribute 는 적어도 하나의 어플리케이션(또는, TDO) 및/또는 적어도 하나의 트리거링 이벤트를 포함하는 트리거링 어플리케이션 정보(또는, TPT)의 식별자와 매칭되는 식별자이다. AMT에서 액티베이션 엘리먼트는 적어도 하나의 어플리케이션(또는, TDO) 및/또는 적어도 하나의 트리거링 이벤트에 적용될 수 있다.
beginMT attribute 는 프로그램 세그먼트의 시작 미디어 타임을 지시할 수 있다. AMT 인스턴스는 프로그램 세그먼트의 시작 미디어 타임에 대한 액티베이션 타임들을 제공할 수 있다.
Activation element 는 액티베이션 메시지를 포함할 수 있다. Activation element 는 특정 시간에 특정 트리거링 이벤트를 활성화(activate)하기 위한 명령어(command)를 나타낸다. 선택적으로, Activation element 는 트리거링 이벤트와 관련된 특정 데이터를 가진 특정 트리거링 이벤트를 활성화하기 위한 명령어를 나타낼 수 있다. Activation element 는 targetTDO attribute, targetEvent attribute, targetData attribute, startTime attribute, 및/또는 endTime attribute 중에서 적어도 하나를 포함할 수 있다. Activation element는 트리거에 해당할 수 있다.
targetTDO attribute 는 AMT와 관련된 트리거링 어플리케이션 정보(또는, TPT)에 있는 어플리케이션(또는, TDO)의 어플리케이션 식별자(또는, appID)에 매칭되는 정보이다. targetTDO attribute 는 활성화 명령(activation command)에 대한 타겟 어플리케이션을 식별할 수 있다.
targetEvent attribute 는 targetTDO attribute에 의해서 식별되는 어플리케이션(또는, TDO 엘리먼트)에 포함된 트리거링 이벤트 엘리먼트(또는, event element)의 트리거링 이벤트 식별자(또는, eventID)에 매칭되는 정보이다. targetEvent attribute 는 활성화 명령(activation command)에 대한 타겟 트리거링 이벤트를 식별할 수 있다.
targetData attribute 는 targetTDO attribute 및 targetEvent attribute에 의해서 식별되는 트리거링 이벤트(또는, Event element)에 포함된 데이터 엘리먼트(또는, Data element)의 데이터 식별자(또는, dataID)에 매칭되는 정보이다. 활성화 명령(activation command)이 적용되면, targetData attribute 는 타겟 트리거링 이벤트에 관련된 데이터를 식별할 수 있다.
startTime attribute 는 미디어 타임과 관련하여 트리거링 이벤트에 대한 유효 시간 피리어드의 시작을 지시할 수 있다. 미디어 타임이 startTime attribute의 값에 도달하면, 방송 수신 장치는 명령(command)을 실행(execute)할 수 있다.
endTime attribute 는 미디어 타임과 관련하여 트리거링 이벤트에 대한 유효 시간 피리어드의 끝(end)을 지시할 수 있다. 미디어 타임이 endTime attribute 의 값을 지나면, 방송 수신 장치는 명령(command)을 실행(execute)하지 않을 수 있다.
AMT의 Activation element들은 startTime attribute의 값이 증가하는 순서대로 나타날 수 있다. 방송 수신 장치가 AMT에 있는 Activation element들에 따라서 트리거링 이벤트들을 활성화(activating)하면, 방송 수신 장치는 startTime attribute의 값이 지시하는 시간에 각각의 트리거링 이벤트에 대한 활성화를 적용할 수 있다. 또는, 방송 수신 장치는 startTime attribute가 지시하는 시간 이후의 가능한 빠른 시간에 각각의 트리거링 이벤트에 대한 활성화를 적용할 수 있다. 예를 들어, 방송 수신 장치가 서비스에 참가하고, 방송 수신 장치가 startTime attribute가 지시하는 시간 이후이며 endTime attribute가 지시하는 시간 이전의 특정 시간에 AMT를 수신하면, 방송 수신 장치는 startTime attribute가 지시하는 시간 이후의 가능한 빠른 시간에 각각의 트리거링 이벤트에 대한 활성화를 적용할 수 있다. 만약 트리거링 이벤트의 action attribute이 “실행(또는, exec)”을 지시하면, 방송 수신 장치는 트리거링 이벤트(또는, TriggerEvent) 를 타겟 어플리케이션으로 전달할 수 있다.
도면의 (b)를 참조하면, Time-shift Management Table (TMT)이 나타나 있다.
TMT는 타임-쉬프트 기능을 지원하는 어플리케이션을 서술할 수 있다. 예를 들어, TMT는 serviceId attribute, programId attribute, fileLocation attribute, TPTId attribute, 및/또는 AppInfo element 중에서 적어도 하나를 포함할 수 있다. AppInfo element는 applicationId attribute를 포함할 수 있다. TMT의 구체적인 내용은 전술한 바와 동일하다.
방송 수신 장치는 실시간으로 재생되는 프로그램을 녹화할 수 있다.
프로그램을 녹화하면서, 방송 수신 장치는 타임-쉬프트(time-shift)를 위한 Activation Messages Table (AMT)를 수신하고 저장할 수 있다. 본 발명의 일 실시예에 따른 AMT는 적어도 하나의 트리거(또는, 트리거 정보)를 포함할 수 있다.
그리고 나서, 방송 수신 장치는, 타임-쉬프트 매니저를 이용하여, 적어도 하나의 트리거를 포함하는 AMT를 기초로 타임-쉬프트(time-shift) 기능을 지원하는 어플리케이션을 서술하는 TMT를 생성할 수 있다.
그리고 나서, 사용자에 의해 녹화된 프로그램이 재생되면, 방송 수신 장치의 타임-쉬프트 매니저는 TMT를 기초로 프로그램과 연계되어 있는 TPT 및/또는 어플리케이션 식별자(또는, application ID)를 찾을 수 있다. 예를 들어, TMT의 TPTId attribute는 TPT의 id attribute에 매칭될 수 있다. 또한, TMT의 applicationId attribute는 TPT의 appID attribute에 매칭될 수 있다.
또한, 방송 수신 장치는 TMT와 관련된 AMT를 기초로 트리거를 찾을 수 있다. 예를 들어, 예를 들어, 방송 수신 장치는 TMT의 TPTId와 동일한 식별자 값인 AMT의 segmentId를 이용해서 타임-쉬프티드 어플리케이션(time-shifted application)의 트리거(또는, 트리거 정보, application trigger 정보)를 찾을 수 있다. 예를 들어, TMT의 TPTId attribute는 AMT의 segmentId attribute에 매칭될 수 있다. 또한, TMT의 applicationId attribute는 AMT의 targetTDO attribute에 매칭될 수 있다.
그리고 나서, 방송 수신 장치는 AMT에 포함된 트리거를 기초로 어플리케이션을 실행시킬 수 있다. 또는, 방송 수신 장치는 AMT를 기초로 어플리케이션을 실행시킬 수 있다. 예를 들어, 방송 수신 장치는 TMT에 관련되고 동일한 어플리케이션 식별자(또는, application ID)를 가진 AMT를 기초로 실시간 방송 때와 마찬가지로 어플리케이션을 실행시킬 수 있다.
또한, 방송 수신 장치는 어플리케이션의 동작(action)을 통해서 인터랙션(interaction)을 사용자에게 제공할 수 있다.
따라서, 방송 수신 장치는 TMT를 기초로 TPT 및/또는 어플리케이션을 발견하고, TMT에 관련된 AMT에 포함된 트리거를 기초로 어플리케이션을 실행할 수 있다. 예를 들어, 방송 수신 장치는 트리거를 기초로 TPT에 포함된 타겟 트리거링 이벤트를 타겟 어플리케이션에 대하여 실행할 수 있다.
또한, 방송 수신 장치는 TMT, AMT, 및/또는 TPT를 포함하는 시그널링 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 방송 수신 장치는 eventing 방식 및/또는 requesting 방식을 이용하여 TMT, AMT, 및/또는 TPT를 포함하는 시그널링 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
따라서, 컴패니언 스크린 디바이스는 타임-쉬프트된 프로그램을 재생하면서 타임-쉬프트 기능을 지원하는 어플리케이션을 동작시킬 수 있다. 컴패니언 스크린 디바이스의 구체적인 내용은 방송 수신 장치에서 설명한 내용들을 모두 포함할 수 있다.
도 218은 본 발명의 일 실시예에 따른 TPT URL attribute를 포함하는 AMT를 나타낸 도면이다.
본 발명의 일 실시예에 따른 AMT는 majorProtocolVersion attribute, minorProtocolVersion attribute, segmentId attribute, beginMT attribute, 및/또는 Activation element 중에서 적어도 하나를 포함할 수 있다. Activation element 는 targetTDO attribute, targetEvent attribute, targetData attribute, startTime attribute, 및/또는 endTime attribute 중에서 적어도 하나를 포함할 수 있다. AMT에 대한 구체적인 내용은 전술한 AMT에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 AMT는 TPTURL attribute를 더 포함할 수 있다. TPTURL attribute는 트리거링 어플리케이션 정보(또는, TPT)의 위치를 지시할 수 있다.
예를 들어, 트리거링 어플리케이션 정보의 위치는 uniform resource identifier(URI) 형태로 표현될 수 있다. URI는 Uniform Resource Locator(URL) 및/또는 Uniform Resource Name(URN)을 포함할 수 있다. URL은 웹 리소스의 네트워크 위치를 지시하는 정보이다. URN은 특정한 네임스페이스(namespace)의 이름에 의해서 리소스를 식별하는 정보이다. On-line 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 “http://[domain]/[directory]”와 같이 표현될 수 있다. 또한, Session(e.g. FLUTE session, ROUTE session, ALC/LCT session) 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 “file://[ip_address]/[path]”와 같이 표현될 수 있다. 즉, 형식 식별자 엘리먼트 및/또는 형식 식별자 필드는 “http://[domain]/[directory]” 및/또는 “file://[ip_address]/[path]”와 같이 표현될 수 있다.
방송 수신 장치는 실시간 프로그램 시청 시 트리거링 어플리케이션 정보(또는, TPT)를 방송망을 통해서 전달받을 수 있다. 하지만, 사용자가 추후 타임-쉬프트된(time-shifted) 프로그램을 시청하려고 할 때, 방송 수신 장치의 저장소(또는, 장치 저장소) 내에 해당 프로그램에 대한 트리거링 어플리케이션 정보(또는, TPT)는 더 이상 유효하지 않을 경우가 있다.
이 경우, 방송 전송 장치는 트리거링 어플리케이션 정보(또는, TPT)의 위치를 지시하는 TPTURL attribute를 포함하는 AMT를 전송할 수 있다. 방송 전송 장치는 트리거링 어플리케이션 정보를 인터넷 망을 통해서 전송할 수 있다.
방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT)의 위치를 지시하는 TPTURL attribute를 포함하는 AMT를 수신할 수 있다. 방송 수신 장치는 TPTURL attribute를 기초로 타임-쉬프트(time-shift)하려는 프로그램에 관련된 트리거링 어플리케이션 정보(또는, TPT, application property 정보)를 인터넷 망을 통해서 수신할 수 있다.
도 219는 본 발명의 일 실시예에 따른 expireDate attribute를 포함하는 AMT를 나타낸 도면이다.
본 발명의 일 실시예에 따른 AMT는 majorProtocolVersion attribute, minorProtocolVersion attribute, segmentId attribute, beginMT attribute, 및/또는 Activation element 중에서 적어도 하나를 포함할 수 있다. Activation element 는 targetTDO attribute, targetEvent attribute, targetData attribute, startTime attribute, 및/또는 endTime attribute 중에서 적어도 하나를 포함할 수 있다. AMT에 대한 구체적인 내용은 전술한 AMT에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 AMT는 expireDate attribute를 더 포함할 수 있다. expireDate attribute 는 AMT의 가용시간을 지시할 수 있다. 예를 들어, expireDate attribute 는 AMT를 캐싱 또는 저장하기 위한 만료 시간(또는, 날짜를 포함한다)을 지시할 수 있다. expireDate attribute는 타임-쉬프트 어플리케이션의 가용시간, 즉 AMT의 가용시간을 지시할 수 있다.
방송 전송 장치는 AMT의 가용시간을 지시하는 expireDate attribute를 포함하는 AMT를 전송할 수 있다. 예를 들어, 방송 전송 장치는 AMT의 가용시간을 설정 가능하도록 하기 위해 expireDate attribute를 포함하는 AMT를 전송할 수 있다.
방송 수신 장치는 AMT의 가용시간을 지시하는 expireDate attribute를 포함하는 AMT를 수신할 수 있다. 방송 수신 장치는 expireDate attribute를 기초로 AMT를 처리할 수 있다. 예를 들어, expireDate attribute이 지시하는 시간이 지나면, 방송 수신 장치는 관련된 AMT를 삭제할 수 있다.
또한, 방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT)에 포함된 expireDate attribute를 기초로 AMT를 처리할 수 있다. 예를 들어, expireDate attribute이 지시하는 시간이 지나면, 방송 수신 장치는 관련된 AMT를 삭제할 수 있다.
도 220는 본 발명의 일 실시예에 따른 트리거 정보를 포함하는 TMT를 나타낸 도면이다.
본 발명의 일 실시예에 따른 TMT는 타임-쉬프트된 프로그램에 관련된 어플리케이션을 서술할 수 있다. 예를 들어, TMT는 serviceId attribute, programId attribute, fileLocation attribute, 및/또는 TPTId attribute 중에서 적어도 하나를 포함할 수 있다. TMT에 대한 구체적인 내용은 전술한 TMT에 관한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 TMT는 tmtId attribute 및/또는 ActivationInfo element 중에서 적어도 하나를 포함할 수 있다. TMT는 프로그램 세그먼트에 대한 적어도 하나의 트리거의 속성을 지시하는 적어도 하나의 트리거 정보를 포함할 수 있다.
tmtId attribute 는 TMT를 고유하게 식별하는 식별자이다.
ActivationInfo element 는 적어도 하나의 트리거의 속성을 지시하는 트리거 정보를 포함할 수 있다. 예를 들어, ActivationInfo element 는 targetTDO attribute, targetEvent attribute, targetData attribute, startTime attribute, 및/또는 endTime attribute 중에서 적어도 하나를 포함할 수 있다.
targetTDO attribute 는 AMT와 관련된 트리거링 어플리케이션 정보(또는, TPT)에 있는 어플리케이션(또는, TDO)의 어플리케이션 식별자(또는, appID)에 매칭되는 정보이다. targetTDO attribute 는 활성화 명령(activation command)에 대한 타겟 어플리케이션을 식별할 수 있다.
targetEvent attribute 는 targetTDO attribute에 의해서 식별되는 어플리케이션(또는, TDO 엘리먼트)에 포함된 트리거링 이벤트 엘리먼트(또는, event element)의 트리거링 이벤트 식별자(또는, eventID)에 매칭되는 정보이다. targetEvent attribute 는 활성화 명령(activation command)에 대한 타겟 트리거링 이벤트를 식별할 수 있다.
targetData attribute 는 targetTDO attribute 및 targetEvent attribute에 의해서 식별되는 트리거링 이벤트(또는, Event element)에 포함된 데이터 엘리먼트(또는, Data element)의 데이터 식별자(또는, dataID)에 매칭되는 정보이다. 활성화 명령(activation command)이 적용되면, targetData attribute 는 타겟 트리거링 이벤트에 관련된 데이터를 식별할 수 있다.
startTime attribute 는 미디어 타임과 관련하여 트리거링 이벤트에 대한 유효 시간 피리어드의 시작을 지시할 수 있다. 미디어 타임이 startTime attribute의 값에 도달하면, 방송 수신 장치는 명령(command)을 실행(execute)할 수 있다.
endTime attribute 는 미디어 타임과 관련하여 트리거링 이벤트에 대한 유효 시간 피리어드의 끝(end)을 지시할 수 있다. 미디어 타임이 endTime attribute 의 값을 지나면, 방송 수신 장치는 명령(command)을 실행(execute)하지 않을 수 있다.
방송 전송 장치는 트리거링 어플리케이션 정보(또는, TPT) 및/또는 AMT 중에서 적어도 하나를 전송할 수 있다.
트리거링 어플리케이션 정보는 세그먼트의 적어도 하나의 Triggered Declarative Object(TDO) 및 적어도 하나의 TDO에 타케팅된 적어도 하나의 이벤트에 대한 메타데이터를 포함할 수 있다.
AMT는 프로그램 세그먼트에 대한 적어도 하나의 트리거의 속성을 지시하는 적어도 하나의 트리거 정보를 포함 할 수 있다. 프로그램 세그먼트는 타임-쉬프트된 프로그램의 세그먼트를 지시할 수 있다. 세그먼트 또는 프로그램 세그먼트는 프로그램이 포함하는 시간 구간을 나타낼 수 있다.
방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT) 및/또는 AMT 중에서 적어도 하나를 수신할 수 있다. 방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT) 및/또는 AMT 중에서 적어도 하나를 저장할 수 있다.
그리고 나서, 방송 수신 장치는, 타임-쉬프트 매니저를 이용하여, AMT를 기초로 타임-쉬프트된 프로그램의 세그먼트에 관련된 어플리케이션을 서술하는 TMT를 생성할 수 있다.
TMT는 어플리케이션 시그널링 정보를 포함할 수 있다. 예를 들어, TMT는 프로그램 세그먼트에 대한 적어도 하나의 트리거의 속성을 지시하는 적어도 하나의 트리거 정보를 포함할 수 있다. 또한, TMT는 트리거링 어플리케이션 정보(또는, TPT)에 포함된 정보 및/또는 타임-쉬프트용 AMT에 포함된 적어도 하나의 트리거의 속성을 지시하는 적어도 하나의 트리거 정보를 포함할 수 있다.
이 경우, 방송 수신 장치는 트리거링 어플리케이션 정보(또는, TPT)는 유지해야하지만, AMT는 유지할 필요는 없다. 이미, 방송 수신 장치가 AMT를 기초로 트리거링 어플리케이션 정보(또는, TPT)에 포함된 정보 및/또는 타임-쉬프트용 AMT에 포함된 적어도 하나의 트리거의 속성을 지시하는 적어도 하나의 트리거 정보를 포함하는 TMT를 생성하였기 때문이다.
그리고 나서, 방송 수신 장치는 TMT에 포함된 적어도 하나의 트리거 정보를 기초로 타임-쉬프트된 프로그램의 세그먼트에 관련된 어플리케이션을 동작시킬 수 있다.
이하에서는, 본 발명의 일 실시예에 따른 비실시간 프로그램에 대한 인터랙티브 어플리케이션의 지원 방안에 대하여 설명한다.
차세대 하이브리드 방송 시스템은 온-디맨드(On-Demand)와 같은 앱-베이스드 서비스(App-based service)에서 제공하는 프로그램의 경우에도 인터랙티브 어플리케이션을 제공할 수 있다. 예를 들어, 차세대 하이브리드 방송 시스템은 방송망을 통해서 어플리케이션 시그널링 정보를 전달할 수 없는 서비스에서 제공하는 프로그램의 경우에도 인터랙티브 어플리케이션을 제공할 수 있다.
예를 들어, 사용자는 채널 100번에서 제공하는 온-디맨드(On-Demand) VOD 서비스를 이용하여 드라마를 시청하고 있다. 드라마는 인터랙티브 어플리케이션을 제공할 수 있다. 인터랙티브 어플리케이션은 인물 정보, 및/또는 줄거리에 대한 퀴즈 등과 같은 정보를 제공할 수 있다. 온-디맨드 VOD 서비스를 이용하여 드라마를 시청할 때, 사용자는 언제라도 같이 제공되는 인터랙티브 어플리케이션을 사용하기를 기대할 수 있다.
이 경우, 본 발명의 일 실시예에 따른 차세대 하이브리드 방송 시스템은 인터랙티브 어플리케이션을 제공할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템은 Automatic Contents Recognition(ACR)을 이용하여 어플리케이션의 시그널링 정보 및/또는 트리거 정보를 방송 수신 장치로 전달할 수 있다. ACR 방식에는 Finger Printing을 이용하는 방식 및/또는 Watermark 삽입 등과 같은 방식이 있을 수 있다.
도 221는 본 발명의 실시예에 따른 방송 수신 장치가 방송 신호를 기초로 어플리케이션을 동작시키는 흐름도를 나타낸다.
방송 수신 장치는 방송 신호를 수신한다(CS4100). 구체적으로 방송 수신 장치는 브로드캐스트 인터페이스를 이용하여 프로그램을 포함하는 서비스 및 시그널링 정보를 수신 할 수 있다. 방송 수신 장치는 브로드캐스트 인터페이스를 이용하여 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 수신할 수 있다. 시그널링 정보는 재생되는 상기 프로그램의 미디어 타임 정보를 포함할 수 있다.
방송 수신 장치는 시그널링 파서를 이용하여 방송 신호로부터 어플리케이션 시그널링 정보를 포함하는 시그널링 정보를 획득할 수 있다(CS4200).
방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스를 발견할 수 있다. 방송 수신 장치는 제어부를 이용하여 브로드캐스트 인터페이스 및 컴패니언 스크린 인터페이스를 동작시킬 수 있다. 예를 들어, 제어부는 시그널링 정보를 기초로 프로그램과 컴패니언 스크린 디바이스에서 디스플레이되는 프로그램 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서를 포함할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
시그널링 정보는 프로그램에 대한 적어도 하나의 트리거를 포함하는 액티베이션 메시지 테이블 을 포함할 수 있다.
방송 수신 장치는 제어부를 이용하여 어플리케이션 시그널링 정보를 기초로 타임-쉬프트 관리 테이블(TMT)를 생성할 수 있다(CS4300).
예를 들어, 제어부는 액티베이션 메시지 테이블을 기초로 타임-쉬프트된 프로그램에서 동작하는 어플리케이션을 서술하는 타임-쉬프트 관리 테이블을 생성하는 타임-쉬프트 매니저를 더 포함할 수 있다.
방송 수신 장치는 액티베이션 메시지 테이블을 기초로 어플리케이션을 동작시킬 수 있다(CS4400). 예를 들어, 방송 수신 장치는 제어부를 이용하여 타임-쉬프트 관리 테이블을 기초로 어플리케이션을 동작시킬 수 있다.
시그널링 정보는 어플리케이션에 대한 메타데이터를 포함하는 트리거링 어플리케이션 정보 를 포함할 수 있다. 방송 수신 장치는 제어부를 이용하여 타임-쉬프트 관리 테이블을 기초로 트리거 및 트리거링 어플리케이션 정보를 추출할 수 있다. 방송 수신 장치는 제어부를 이용하여 트리거 및 트리거링 어플리케이션 정보를 기초로 어플리케이션을 동작시킬 수 있다.
트리거링 어플리케이션 정보는 어플리케이션이 타임-쉬프트된 프로그램에 대하여 동작할 수 있는지 여부를 지시하는 timeShiftEnabled attribute를 포함할 수 있다.
액티베이션 메시지 테이블은 메이저 프로토콜 버전을 지시하는 majorProtocolVersion attribute , 마이너 프로토콜 버전을 지시하는 minorProtocolVersion attribute , 상기 트리거링 어플리케이션 정보의 식별자와 매칭되는 식별자를 지시하는 segmentId attribute , 프로그램 세그먼트의 시작 미디어 타임을 지시하는 beginMT attribute , 및 액티베이션 메시지를 포함하는 Activation element 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는 인터넷을 통하여 콘텐트 서버에 연결하는 브로드밴드 인터페이스를 더 포함할 수 있다. 액티베이션 메시지 테이블은 트리거링 어플리케이션 정보의 위치를 지시하는 TPTURL attribute를 더 포함할 수 있다. 방송 수신 장치는 브로드밴드 인터페이스를 이용하여 TPTURL attribute를 기초로 콘텐트 서버로부터 트리거링 어플리케이션 정보를 수신할 수 있다.
액티베이션 메시지 테이블은 액티베이션 메시지 테이블의 가용시간을 지시하는 expireDate attribute를 더 포함할 수 있다. 방송 수신 장치는 제어부를 이용하여 expireDate attribute이 지시하는 시간이 지나면 액티베이션 메시지 테이블을 삭제할 수 있다.
타임-쉬프트 관리 테이블은 서비스의 고유한 식별자를 지시하는 serviceId attribute, 상기 프로그램의 고유한 식별자를 지시하는 programId attribute, 파일의 위치를 지시하는 fileLocation attribute, 대한 트리거링 어플리케이션 정보의 고유한 식별자를 지시하는 TPTId attribute, 상기 어플리케이션에 관한 속성을 포함하는 AppInfo element, 및 상기 트리거에 대한 속성을 지시하는 트리거 정보를 포함하는 ActivationInfo element 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 타임-쉬프트 관리 테이블을 세컨드 스크린 디바이스로 전달할 수 있다. 예를 들어, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 eventing 방식 및/또는 requesting 방식 중에서 적어도 하나의 방법으로 타임-쉬프트 관리 테이블을 세컨드 스크린 디바이스로 전달할 수 있다.
모듈, 처리부, 디바이스 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블록/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
본 발명에 따른 방법 발명은 모두 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
발명의 실시를 위한 형태는 전술한 바와 같이, 발명의 실시를 위한 최선의 형태로 상술되었다.
본 발명은 방송 산업 전반에서 이용 가능하다.

Claims (15)

  1. 프로그램을 포함하는 서비스 및 시그널링 정보를 수신하는 브로드캐스트 인터페이스,
    상기 시그널링 정보는 재생되는 상기 프로그램의 미디어 타임 정보를 포함하고;
    컴패니언 스크린 디바이스를 발견하는 컴패니언 스크린 인터페이스; 및
    상기 브로드캐스트 인터페이스 및 상기 컴패니언 스크린 인터페이스를 동작시키는 제어부를 포함하고,
    상기 제어부는 상기 시그널링 정보를 기초로 상기 프로그램과 상기 컴패니언 스크린 디바이스에서 디스플레이되는 프로그램 사이에 시간 동기화와 관련된 정보를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서를 포함하고,
    상기 컴패니언 스크린 인터페이스는 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달하는
    방송 수신 장치.
  2. 제1항에 있어서,
    상기 서비스 시간 정보는 상기 서비스의 식별자를 지시하는 serviceId attribute, 상기 서비스에서 재생되고 있는 상기 프로그램의 식별자를 지시하는 programId attribute, 상기 프로그램의 상기 미디어 타임 정보를 지시하는 mediaTime element, 및/또는 월-클럭 시간(wall clock time)을 지시하는 currentTime element 중에서 적어도 하나를 포함하는 방송 수신 장치.
  3. 제1항에 있어서,
    상기 컴패니언 스크린 인터페이스는 상기 컴패니언 스크린 디바이스로부터 수신한 상기 서비스 시간 정보의 획득을 요청하는 제1 요청을 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달 하는 방송 수신 장치.
  4. 제1항에 있어서,
    상기 시간 동기화 서비스 프로세서는 상기 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성하고, 및
    상기 컴패니언 스크린 인터페이스는 상기 전달 간격 정보를 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달하는 방송 수신 장치.
  5. 제4항에 있어서,
    상기 전달 간격 정보는 상기 서비스 시간 정보를 전달하는 주기를 지시하는 전달 주기 정보 및 상기 서비스 시간 정보를 전달하는 빈도를 지시하는 전달 빈도 정보 중에서 하나 인 방송 수신 장치.
  6. 제4항에 있어서,
    상기 컴패니언 스크린 인터페이스는 전달 간격 정보의 획득을 요청하는 제2 요청을 상기 컴패니언 스크린 디바이스로부터 수신하고;
    상기 시간 동기화 서비스 프로세서는 상기 제2 요청을 기초로 상기 월-클럭 시간(wall clock time)이 지시하는 시점에서의 상기 전달 간격 정보의 값을 지시하는 현재 전달 간격 정보를 생성하고; 및
    상기 컴패니언 스크린 인터페이스는 상기 현재 전달 간격 정보를 상기 컴패니언 스크린 디바이스로 전달하는 방송 수신 장치.
  7. 제4항에 있어서,
    상기 컴패니언 스크린 인터페이스는 전달 간격 정보의 설정을 요청하는 제3 요청을 상기 컴패니언 스크린 디바이스로부터 수신하고,
    상기 제3 요청은 상기 컴패니언 스크린 디바이스가 요청하는 전달 간격 정보의 값을 지시하는 요청된 전달 간격 정보를 포함하고;
    상기 시간 동기화 서비스 프로세서는 상기 요청된 전달 간격 정보와 동일한 값 및 상기 요청된 전달 간격 정보에 가장 가까운 값 중에서 하나를 지시하는 확인된 전달 간격 정보를 생성하고;
    상기 컴패니언 스크린 인터페이스는 상기 확인된 전달 간격 요청 정보를 기초로 상기 서비스 시간 정보를 상기 컴패니언 스크린 디바이스로 전달하는 방송 수신 장치.
  8. 제1항에 있어서,
    상기 시그널링 정보는 상기 프로그램에 대한 적어도 하나의 트리거를 포함하는 액티베이션 메시지 테이블 을 포함하고,
    상기 제어부는 상기 액티베이션 메시지 테이블을 기초로, 타임-쉬프트된 상기 프로그램에서 동작하는 어플리케이션을 서술하는 타임-쉬프트 관리 테이블을 생성하는 타임-쉬프트 매니저를 더 포함하고,
    상기 제어부는 상기 타임-쉬프트 관리 테이블을 기초로 상기 어플리케이션을 동작시키는 방송 수신 장치.
  9. 제8항에 있어서,
    상기 시그널링 정보는 상기 어플리케이션에 대한 메타데이터를 포함하는 트리거링 어플리케이션 정보 를 포함하고,
    상기 제어부는 상기 타임-쉬프트 관리 테이블을 기초로 상기 트리거 및 상기 트리거링 어플리케이션 정보를 추출하고,
    상기 제어부는 상기 트리거 및 상기 트리거링 어플리케이션 정보를 기초로 상기 어플리케이션을 동작시키는 방송 수신 장치.
  10. 제9항에 있어서,
    상기 트리거링 어플리케이션 정보는 상기 어플리케이션이 타임-쉬프트된 상기 프로그램에 대하여 동작할 수 있는지 여부를 지시하는 timeShiftEnabled attribute를 포함하는 방송 수신 장치.
  11. 제8항에 있어서,
    상기 액티베이션 메시지 테이블은 메이저 프로토콜 버전을 지시하는 majorProtocolVersion attribute , 마이너 프로토콜 버전을 지시하는 minorProtocolVersion attribute , 상기 트리거링 어플리케이션 정보의 식별자와 매칭되는 식별자를 지시하는 segmentId attribute , 프로그램 세그먼트의 시작 미디어 타임을 지시하는 beginMT attribute , 및 액티베이션 메시지를 포함하는 Activation element 중에서 적어도 하나를 포함하는 방송 수신 장치.
  12. 제11항에 있어서,
    인터넷을 통하여 콘텐트 서버에 연결하는 브로드밴드 인터페이스를 더 포함하고,
    상기 액티베이션 메시지 테이블은 상기 트리거링 어플리케이션 정보의 위치를 지시하는 TPTURL attribute를 더 포함하고,
    상기 브로드밴드 인터페이스는 TPTURL attribute를 기초로 상기 콘텐트 서버로부터 상기 트리거링 어플리케이션 정보를 수신하는 방송 수신 장치.
  13. 제11항에 있어서,
    상기 액티베이션 메시지 테이블은 상기 액티베이션 메시지 테이블의 가용시간을 지시하는 expireDate attribute를 더 포함하고,
    상기 제어부는 상기 expireDate attribute이 지시하는 시간이 지나면 상기 액티베이션 메시지 테이블을 삭제하는 방송 수신 장치.
  14. 제12항에 있어서,
    상기 타임-쉬프트 관리 테이블은
    상기 서비스의 고유한 식별자를 지시하는 serviceId attribute, 상기 프로그램의 고유한 식별자를 지시하는 programId attribute, 파일의 위치를 지시하는 fileLocation attribute, 대한 트리거링 어플리케이션 정보의 고유한 식별자를 지시하는 TPTId attribute, 상기 어플리케이션에 관한 속성을 포함하는 AppInfo element, 및 상기 트리거에 대한 속성을 지시하는 트리거 정보를 포함하는 ActivationInfo element 중에서 적어도 하나를 포함하는 방송 수신 장치.
  15. 제8항에 있어서,
    상기 컴패니언 스크린 인터페이스는 상기 타임-쉬프트 관리 테이블을 상기 세컨드 스크린 디바이스로 전달하는 방송 수신 장치.
KR1020167033751A 2014-07-30 2015-07-28 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법 KR20170003612A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462030620P 2014-07-30 2014-07-30
US62/030,620 2014-07-30
US201462033094P 2014-08-04 2014-08-04
US62/033,094 2014-08-04
PCT/KR2015/007870 WO2016018041A1 (ko) 2014-07-30 2015-07-28 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20170003612A true KR20170003612A (ko) 2017-01-09

Family

ID=55217842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033751A KR20170003612A (ko) 2014-07-30 2015-07-28 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법

Country Status (3)

Country Link
US (1) US20170180778A1 (ko)
KR (1) KR20170003612A (ko)
WO (1) WO2016018041A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800819B2 (en) * 2016-02-19 2017-10-24 Sony Corporation Methodologies and apparatus for reducing delays when receiving, processing, or switching content
US20190347084A1 (en) * 2018-05-10 2019-11-14 Dell Products, Lp Method to Dynamically Create Plug and Play Identifiers in Firmware to Facilitate Deployment of Windows Services
CN111417130B (zh) * 2019-01-07 2022-04-08 中国移动通信有限公司研究院 一种数据处理方法及设备
US11093256B2 (en) 2019-09-12 2021-08-17 Dell Products L.P. System and method for dynamically installing driver dependencies

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8763060B2 (en) * 2010-07-11 2014-06-24 Apple Inc. System and method for delivering companion content
US9160837B2 (en) * 2011-06-29 2015-10-13 Gracenote, Inc. Interactive streaming content apparatus, systems and methods
EP2744214A4 (en) * 2011-08-12 2015-03-11 Samsung Electronics Co Ltd TRANSMISSION DEVICE, RECEPTION DEVICE AND TRANSMISSION / RECEIVING METHOD THEREFOR
US10142121B2 (en) * 2011-12-07 2018-11-27 Comcast Cable Communications, Llc Providing synchronous content and supplemental experiences
US8832723B2 (en) * 2012-02-07 2014-09-09 Turner Broadcasting System, Inc. Method and system for a synchronous event manager for automatic content recognition
US9173000B2 (en) * 2013-04-12 2015-10-27 Sony Corporation Automatic discovery and mirroring of server-client remote user interface (RUI) session on a companion device and synchronously controlling both sessions using RUI on companion device
US9654758B2 (en) * 2013-04-26 2017-05-16 Microsoft Technology Licensing, Llc Synchronizing external data to video playback
US9143565B2 (en) * 2013-05-30 2015-09-22 Opentv, Inc. Synchronizing an application on a companion device
US10397634B2 (en) * 2014-03-25 2019-08-27 Synamedia Limited System and method for synchronized presentation of video timeline metadata

Also Published As

Publication number Publication date
WO2016018041A1 (ko) 2016-02-04
US20170180778A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
US11265619B2 (en) Method for transmitting broadcast signals and method for receiving broadcast signals
US10790917B2 (en) Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
KR101880466B1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101877159B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101829844B1 (ko) 하이브리드 방송 서비스를 프로세싱하는 장치, 하이브리드 방송 서비스를 프로세싱하는 방법
EP3247111A1 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
KR102004837B1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101832780B1 (ko) 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101973469B1 (ko) 방송 수신 장치, 방송 수신 장치의 동작 방법, 방송 수신 장치와 연동하는 연동 장치 및 연동 장치의 동작 방법
KR20160083107A (ko) 방송 콘텐트 및 방송 콘텐츠와 관련된 어플리케이션을 포함하는 방송 신호를 처리하는 방법 및 장치
KR20160142327A (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101875667B1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR20170003612A (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101838202B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
JP2017508326A (ja) 放送伝送装置、放送伝送装置の動作方法、放送受信装置および放送受信装置の動作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment