KR101789641B1 - 하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치 - Google Patents

하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101789641B1
KR101789641B1 KR1020167018026A KR20167018026A KR101789641B1 KR 101789641 B1 KR101789641 B1 KR 101789641B1 KR 1020167018026 A KR1020167018026 A KR 1020167018026A KR 20167018026 A KR20167018026 A KR 20167018026A KR 101789641 B1 KR101789641 B1 KR 101789641B1
Authority
KR
South Korea
Prior art keywords
data
information
packet
broadcast
service
Prior art date
Application number
KR1020167018026A
Other languages
English (en)
Other versions
KR20160091422A (ko
Inventor
오세진
이장원
고우석
홍성룡
권우석
문경수
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20160091422A publication Critical patent/KR20160091422A/ko
Application granted granted Critical
Publication of KR101789641B1 publication Critical patent/KR101789641B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/18Arrangements for synchronising broadcast or distribution via plural systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/6437Real-time Transport Protocol [RTP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85403Content authoring by describing the content as an MPEG-21 Digital Item
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

본 발명은 하나의 망을 통해 방송 컨텐츠를 수신하는 장치를 제공한다. 장치는 방송망을 통해 상기 방송 컨텐츠의 제1 부분을 포함하는 제1 프로토콜 패킷을 포함하는 방송 스트림을 수신하는 방송망 인터페이스, 이종망을 통해 상기 방송 컨텐츠의 제2 부분을 포함하는 제2 프로토콜 패킷을 수신하는 이종망 인터페이스, 및 상기 제3 프로토콜 패킷에 포함되는 정보에 기초하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 이용하여 상기 방송 컨텐츠를 구성하는 프로세서를 포함한다.

Description

하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치{APPARATUSES AND METHODS FOR TRANSMITTING OR RECEIVING A BROADCAST CONTENT VIA ONE OR MORE NETWORKS}
본 발명은 디지털 방송 시스템에서 하이브리드 방송을 지원하는 방법 및 장치에 관한 것이다. 보다 상세하게는, 본 발명은 디지털 방송 시스템에서 하나 이상의 전송망으로부터 송신/수신되는 전송 스트림들을 결합하여 사용하기 위한 송신/수신 처리 방법 및 장치에 관한 것이다. 또한, 본 발명은 디지털 방송 시스템에서 상이한 프로토콜을 이용하여 패킷을 결합하여 사용하기 위한 송신/수신 처리 방법 및 장치에 관한 것이다.
디지털 방송 시스템은 지상파 방송, 위성 방송 또는 케이블 방송망을 통해 컨텐츠를 제공한다. 그러나, 이러한 방송망은 제한된 대역폭을 가지며 시청자가 방송 컨텐츠에 활발하게 참여하는데 어려움이 있다.
특히, 방송 컨텐츠가 전송되는 방송망의 대역폭은 컨텐츠의 다양화 및 고품질화 때문에 한계에 도달하고 있다. 이를 해결하기 위하여, 방송망 및 인터넷을 통해 데이터를 수신하고 데이터를 동시에 사용하는 하이브리드 방송 시스템이 개발되고 있다.
그러나, 하이브리드 방송 시스템에서, 전송 스트림이 결합될 때 방송망 및 인터넷을 통해 각각 전송된 전송 스트림을 동기화하는 방법이 제안되지 않았다. 또한, 하이브리드 방송 시스템은 방송망 및 인터넷을 통해 각각 전송된 전송 스트림을 동기화하기 위하여 복잡한 계산을 필요로 한다.
현재의 하이브리드 방송 시스템은 방송망 및 인터넷의 각각을 통해 전송된 전송 스트림이 동기화를 필요로 하지 않는 형태를 갖는 개별 컨텐츠와 결합되어 제공되는 문제점을 갖는다.
또한, 하이브리드 방송 시스템은 방송망 및 인터넷의 각각을 통해 전송된 전송 스트림을 동기화하기 위하여 수신기의 과도한 계산 성능을 필요로 한다는 문제점을 갖는다.
현재의 하이브리드 방송 시스템은 패킷이 결합되어 방송 컨텐츠를 제시해야 할 때 상이한 프로토콜을 이용하여 패킷 간의 동기화를 수행하는데 문제를 갖는다.
본 발명의 목적은 상술한 문제점을 해결하기 위하여 고안되었다.
상기 목적 및 다른 이점을 달성하기 위하여 및 본 발명의 목적에 따라, 본 발명은 하나의 망을 통해 방송 컨텐츠를 수신하는 장치를 제공한다. 장치는 방송망을 통해 상기 방송 컨텐츠의 제1 부분을 포함하는 제1 프로토콜 패킷을 포함하는 방송 스트림을 수신하는 방송망 인터페이스, 이종망을 통해 상기 방송 컨텐츠의 제2 부분을 포함하는 제2 프로토콜 패킷을 수신하는 이종망 인터페이스 - 상기 방송 스트림은 하나 이상의 망을 통해 전송되는 상이한 프로토콜 패킷 간의 동기화를 위한 메타데이터를 포함하는 제3 프로토콜 패킷을 더 포함하고, 상기 제3 프로토콜 패킷은 제2 프로토콜 패킷이 획득되는 위치를 특정하는 위치 정보를 포함하고, 상기 제3 프로토콜 패킷은 상기 제1 프로토콜 패킷이 사용되는 제1 타이밍을 특정하는 제1 타이밍 정보 및 제2 프로토콜 패킷이 사용되는 제2 타이밍을 특정하는 제2 타이밍 정보를 더 포함함 -, 및 상기 제3 프로토콜 패킷에 포함되는 정보에 기초하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 이용하여 상기 방송 컨텐츠를 구성하는 프로세서를 포함한다.
바람직하게, 상기 방송 스트림은 상기 제1 프로토콜 패킷과 다른 프로토콜을 이용하는 제4 프로토콜 패킷을 더 포함하고, 상기 제3 프로토콜 패킷은 상기 제4 프로토콜 패킷이 사용되는 제4 타이밍을 특정하는 제4 타이밍 정보를 더 포함한다.
바람직하게, 상기 제1 프로토콜 패킷은 실시간 프로토콜(RTP) 패킷에 대응하고, 상기 제2 프로토콜 패킷은 MPEG DASH(Dynamic Adaptive Streaming over HTTP) 세그먼트를 전달하고, 상기 제3 프로토콜 패킷은 RTP 제어 프로토콜(RTCP) 패킷에 대응한다.
바람직하게, 상기 프로세서는 상기 제1 타이밍 정보에 의해 특정된 제1 타이밍을 NTP(Network Time Protocol) 타임라인에 매핑하고, 상기 위치 정보에 기초하여 획득된 제2 프로토콜 패킷에 적용되는 상기 제2 타이밍 정보에 의해 특정된 제2 타이밍을 상기 NTP 타임라인에 매핑하고, 상기 NTP 타임라인을 이용하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 동기화함으로써 상기 방송 컨텐츠를 구성한다.
바람직하게, 상기 제1 타이밍 정보는 상기 제1 프로토콜 패킷의 NTP 타임스탬프 및 RTP 타임스탬프에 대응하고, 상기 제2 타이밍 정보는 DASH 미디어 프레젠테이션 시간 정보에 대응한다.
바람직하게, 상기 제3 프로토콜 패킷은 상기 제2 타이밍 정보의 포맷을 특정하는 포맷 정보를 더 포함한다.
바람직하게, 상기 프로세서는 또한 상기 제1 프로토콜 패킷이 수신되는 시점에 상기 NTP 타임스탬프 및 수신기 벽시계 시간 간의 오프셋을 산출하고, 상기 산출된 오프셋에 기초하여 상기 제1 타이밍 및 상기 제2 타이밍을 조절하고, 상기 조절된 제1 타이밍 및 제2 타이밍을 이용하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 동기화함으로써 상기 방송 컨텐츠를 구성한다.
본 발명은 수신기에서 하나의 망을 통해 방송 컨텐츠를 수신하는 방법을 제공한다. 방법은 방송망을 통해 상기 방송 컨텐츠의 제1 부분을 포함하는 제1 프로토콜 패킷을 포함하는 방송 스트림을 수신하는 단계, 이종망을 통해 상기 방송 컨텐츠의 제2 부분을 포함하는 제2 프로토콜 패킷을 수신하는 단계 - 상기 방송 스트림은 하나 이상의 망을 통해 전송되는 상이한 프로토콜 패킷 간의 동기화를 위한 메타데이터를 포함하는 제3 프로토콜 패킷을 더 포함하고, 상기 제3 프로토콜 패킷은 제2 프로토콜 패킷이 획득되는 위치를 특정하는 위치 정보를 포함하고, 상기 제3 프로토콜 패킷은 상기 제1 프로토콜 패킷이 사용되는 제1 타이밍을 특정하는 제1 타이밍 정보 및 제2 프로토콜 패킷이 사용되는 제2 타이밍을 특정하는 제2 타이밍 정보를 더 포함함 -, 및 상기 제3 프로토콜 패킷에 포함되는 정보에 기초하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 이용하여 상기 방송 컨텐츠를 구성하는 단계를 포함한다.
바람직하게, 상기 방송 스트림은 상기 제1 프로토콜 패킷과 다른 프로토콜을 이용하는 제4 프로토콜 패킷을 더 포함하고, 상기 제3 프로토콜 패킷은 상기 제4 프로토콜 패킷이 사용되는 제4 타이밍을 특정하는 제4 타이밍 정보를 더 포함한다.
바람직하게, 상기 제1 프로토콜 패킷은 실시간 프로토콜(RTP) 패킷에 대응하고, 상기 제2 프로토콜 패킷은 MPEG DASH(Dynamic Adaptive Streaming over HTTP) 세그먼트를 전달하고, 상기 제3 프로토콜 패킷은 RTP 제어 프로토콜(RTCP) 패킷에 대응한다.
바람직하게, 방법은 상기 제1 타이밍 정보에 의해 특정된 제1 타이밍을 NTP(Network Time Protocol) 타임라인에 매핑하는 단계, 상기 위치 정보에 기초하여 획득된 제2 프로토콜 패킷에 적용되는 상기 제2 타이밍 정보에 의해 특정된 제2 타이밍을 상기 NTP 타임라인에 매핑하는 단계, 및 상기 NTP 타임라인을 이용하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 동기화함으로써 상기 방송 컨텐츠를 구성하는 단계를 더 포함한다.
바람직하게, 상기 제1 타이밍 정보는 상기 제1 프로토콜 패킷의 NTP 타임스탬프 및 RTP 타임스탬프에 대응하고, 상기 제2 타이밍 정보는 DASH 미디어 프레젠테이션 시간 정보에 대응한다.
바람직하게, 상기 제3 프로토콜 패킷은 상기 제2 타이밍 정보의 포맷을 특정하는 포맷 정보를 더 포함한다.
바람직하게, 방법은 상기 제1 프로토콜 패킷이 수신되는 시점에 상기 NTP 타임스탬프 및 수신기 벽시계 시간 간의 오프셋을 산출하는 단계; 상기 산출된 오프셋에 기초하여 상기 제1 타이밍 및 상기 제2 타이밍을 조절하는 단계; 및 상기 조절된 제1 타이밍 및 제2 타이밍을 이용하여 상기 제1 프로토콜 패킷 및 상기 제2 프로토콜 패킷을 동기화함으로써 상기 방송 컨텐츠를 구성하는 단계를 더 포함한다.
본 발명은 이종망의 각각을 통해 전송되는 전송 스트림을 상이한 프로토콜을 이용하여 쉽게 동기화하는데 효과적이다.
본 발명은 이종망 또는 프로토콜의 특성에 관계없이 많은 용도에 적용가능한 이종망의 각각을 통해 전송되는 전송 스트림의 동기화에 효과적이다.
본 발명은 이종망 또는 상이한 프로토콜을 통해 동일한 컨텐츠와 결합가능한 다양한 방송 데이터를 제공할 수 있기 때문에 사용자 편의를 향상시키는데 효과적이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 실시예에 따라 미래의 방송 서비스를 위한 방송 신호를 송신하는 장치의 구조를 나타내는 도면.
도 2는 본 발명의 일 실시예에 따른 입력 포맷팅 블록을 나타내는 도면.
도 3은 본 발명의 다른 실시예에 따른 입력 포맷팅 블록을 나타내는 도면.
도 4는 본 발명의 다른 실시예에 따른 입력 포맷팅 블록을 나타내는 도면.
도 5는 본 발명의 실시예에 따른 BICM 블록을 나타내는 도면.
도 6은 본 발명의 다른 실시예에 따른 BICM 블록을 나타내는 도면.
도 7은 본 발명의 일 실시예에 따른 프레임 빌딩 블록을 나타내는 도면.
도 8은 본 발명의 실시예에 따른 OFMD 생성 블록을 나타내는 도면.
도 9는 본 발명의 실시예에 따라 미래의 방송 서비스를 위한 방송 신호를 수신하는 장치의 구조를 나타내는 도면.
도 10은 본 발명의 실시예에 따른 프레임 구조를 나타내는 도면.
도 11은 본 발명의 실시예에 따른 프레임의 시그널링 계층 구조를 나타내는 도면.
도 12는 본 발명의 실시예에 따른 프리엠블 시그널링 데이터를 나타내는 도면.
도 13은 본 발명의 실시예에 따른 PLS1 데이터를 나타내는 도면.
도 14는 본 발명의 실시예에 따른 PLS2 데이터를 나타내는 도면.
도 15는 본 발명의 다른 실시예에 따른 PLS2 데이터를 나타내는 도면.
도 16은 본 발명의 실시예에 따른 프레임의 논리 구조를 나타내는 도면.
도 17은 본 발명의 실시예에 따른 PLS 맵핑을 나타내는 도면.
도 18은 본 발명의 실시예에 따른 EAC 맵핑을 나타내는 도면.
도 19는 본 발명의 실시예에 따른 FIC 맵핑을 나타내는 도면.
도 20은 본 발명의 실시예에 따른 DP의 타입을 나타내는 도면.
도 21은 본 발명의 실시예에 따른 DP 맵핑을 나타내는 도면.
도 22는 본 발명의 실시예에 따른 FEC 구조를 나타내는 도면.
도 23은 본 발명의 실시예에 따른 비트 인터리빙을 나타내는 도면.
도 24는 본 발명의 실시예에 따른 셀-워드 디멀티플렉싱을 나타내는 도면.
도 25는 본 발명의 실시예에 따른 시간 인터리빙을 나타내는 도면.
도 26는 본 발명의 실시예에 따른 트위스트 행-열 블록 인터리버의 기본 동작을 나타내는 도면.
도 27은 본 발명의 다른 실시예에 따른 트위스트 행-열 블록 인터리버의 동작을 나타내는 도면.
도 28은 본 발명의 실시예에 따른 트위스트 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타내는 도면.
도 29은 본 발명의 실시예에 따른 각 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타내는 도면.
도 30은 본 발명의 실시예에 따른 차세대 방송 시스템용 프로토콜 스택을 나타내는 도면.
도 31은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 32는 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 33은 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 34는 본 발명의 일 실시예에 따른 Network Protocol 필드의 의미를 나타내는 도면이다.
도 35는 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 36은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 37은 본 발명의 일 실시예에 따른, 차세대 방송 시스템에서 서비스 및/또는 컨텐츠를 획득하는 구조를 나타낸 도면이다.
도 38은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 39는 본 발명의 일 실시예에 따른 service_category 필드의 의미를 나타낸 도면이다.
도 40은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 41은 본 발명의 일 다른 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
도 42는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 시그널링 테이블을 전송하는 동작을 보여준다.
도 43은 본 발명의 일 실시 예에 따른 방송 수신 장치가 패킷타이징된 방송 패킷을 수신하는 동작을 나타낸다.
도 44은 본 발명의 실시 예에 따른 패킷 구성을 보여준다.
도 45은 본 발명의 실시 예에 따른 실시간 컨텐츠 전송을 위한 RTP(Real-time Transport Protocol) 패킷의 구조를 보여준다.
도 46는 본 발명의 일 실시 예에 따른 ISO base media file format(이하 ISO BMFF)를 기반으로 하는 미디어 파일 포맷을 나타낸다.
도 47은 본 발명의 일 실시 예에 따른 패킷 페이로드의 페이로드 헤더의 구성을 나타낸다.
도 48 는 하나의 패킷에 하나의 미디어 데이터가 패킷타이징된 전송 패킷 의 페이로드 구성을 나타낸다.
도 49 는 하나의 패킷에 하나의 미디어 데이터가 패킷타이징된 전송 패킷 의 페이로드 구성을 나타낸다.
도 50은 하나의 패킷에 복수의 서로 다른 미디어 데이터가 패킷타이징된 전송 패킷의 구성을 나타낸다.
도 51은 어그리게이션 유닛의 구성을 나타내는 또 다른 실시 예를 나타낸 도면이다.
도 52는 프래그멘티드 패킷의 페이로드의 구성의 일 실시 예를 나타낸다.
도 53은 프래그멘티드 패킷 의 페이로드의 구성의 또 다른 실시 예를 나타낸다.
도 54는 본 발명의 일 실시 예에서 방송 전송 장치가 ISO BMFF 기반 미디어 파일을 프레그멘테이션하여 복수개의 패킷들로 나누는 것을 나타낸다.
도 55는 방송 전송 장치가 패킷타이징한 제1 프래그멘테이션 유닛 데이터의 구체적인 실시 예를 나타낸다.
도 56은 프래그멘테이션 유닛 데이터 중 시작데이터를 제외한 나머지 데이터를 포함하는 프래그멘테이션 유닛의 일 실시 예를 나타낸다.
도 57은 페이로드 데이터가 시작 데이터를 포함하는 프래그멘테이션 유닛 데이터 및 끝 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하지 않는 경우의 페이로드 구성을 나타낸다.
도 58은 나뉘어진 전제 미디어 데이터 중 끝 데이터를 포함하는 프래그멘테이션 유닛을 포함하는 페이로드의 구성을 나타낸다.
도 59는 본 발명의 일 실시예에 따른 메타데이터의 타임라인 시그널링 테이블을 보여준다.
도 60은 전송 패킷의 페이로드 데이터에 하나의 메타데이터가 패킷타이징된 페이로드 데이터의 구성을 나타낸다.
도 61은 전송 패킷의 페이로드 데이터가 타임라인에 대한 메타데이터를 포함하는 경우의 일 실시 예를 나타낸다.
도 62는 하나의 전송 패킷에 다수의 메타데이터가 패킷타이징된 경우를 나타낸다.
도 63은 하나의 전송 패킷이 여러 개의 타임라인 정보를 포함하는 경우를 나타낸다.
도 64는 하나의 메타데이터를 복수개의 전송 패킷에 나누어 패킷타이징한 패킷 페이로드를 나타낸다.
도 65는 메타데이터 프래그먼트 헤더의 또 다른 실시 예를 나타낸다.
도 66은 본 발명의 일 실시 예에 따른 방송 수신 장치가 방송 패킷을 수신하는 동작을 보여준다.
도 67은 방송망으로는 RTP 프로토콜을 이용하여 비디오 스트림을 전송하고 인터넷망을 통해서는 파일 포맷 기반의 미디어 데이터를 이용하여 비디오 스트림을 전송하는 경우를 나타낸다.
도 68은 본 발명의 다른 실시예에 의한, timeline component access unit의 신택스 (syntax)를 나타낸 도면이다.
도 69는 본 발명의 일 실시예에 따른, 실시간 콘텐츠 전송 프로토콜 상에서 미디어의 동기화를 지원하기 위한 전송 패킷 포멧을 나타낸 도면이다.
도 70은 본 발명의 일 실시예에 따른, profile-specific extension을 나타낸 도면이다.
도 71은 본 발명의 일 실시예에 따른, Application-Defined RTCP Packet 인 RTCP application 패킷을 나타낸 도면이다.
도 72는 본 발명의 일 실시예에 따른, application-dependent data를 나타낸 도면이다.
도 73은 본 발명의 실시예로서 방송 시스템에 적용가능한 프로토콜 스택을 나타내는 도면이다.
도 74는 본 발명의 실시예로서 RTP 프레젠테이션 시간으로부터 수신기 벽시계 시간으로의 변환을 나타내는 도면이다.
도 75는 하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 RTP로 방송을 통해 전달되는 경우의 프로토콜 스택을 나타내는 도면이다.
도 76은 하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 ALC/LCT+를 통해 ISO BMFF로 방송을 통해 전달되는 경우의 프로토콜 스택을 나타내는 도면이다.
도 77은 본 발명의 실시예로서 방송 채널에서 RTP를 통해 전달되는 연속 미디어 컴포넌트 및 브로드밴드를 통해 DASH를 통해 전달되는 연속 미디어 컴포넌트 간의 동기화의 동작예를 나타내는 도면이다.
도 78은 본 발명의 실시예로서 방송 채널에서 RTP를 통해 전달되는 연속 미디어 컴포넌트 및 브로드밴드를 통해 DASH를 통해 전달되는 연속 미디어 컴포넌트 간의 동기화 방법을 나타내는 도면이다.
도 79는 본 발명의 실시예로서 어플리케이션 정의 RTCP 패킷의 예를 나타내는 도면이다.
도 80은 본 발명의 실시예로서 RTCP 전송자 보고 패킷 헤더의 예를 나타내는 도면이다.
도 81은 본 발명의 실시예로서 RTP에 의한 하이브리드 전달을 위한 프로토콜 스택을 나타내는 도면이다.
도 82는 본 발명의 실시예로서 수신기 벽시계 타임라인으로의 DASH 프레젠테이션 시간의 변환을 나타내는 도면이다.
도 83은 본 발명의 실시예로서 ALC/LCT+를 통해 전달된 컨텐츠와 DASH(유니캐스트)를 통해 전달된 컨텐츠의 동기화를 나타내는 도면이다.
도 84은 본 발명의 실시예로서 ALC/LCT+를 통해 전달된 컨텐츠와 DASH(유니캐스트)를 통해 전달된 컨텐츠의 동기화 방식을 나타내는 도면이다.
도 85는 본 발명의 실시예로서 ALC/LCT+를 통해 ISO BMFF의 하이브리드 전달을 위한 프로토콜 스택을 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다. 첨부된 도면을 참조하여 이하에서 설명하는 상세한 설명은 본 발명에 따라 구현될 수 있는 실시예만을 나타내기 보다는 본 발명의 예시적인 실시예를 설명하기 위한 것이다.
본 발명에서 사용되는 대부분의 용어들은 본 기술에서 널리 사용되는 것으로부터 선택되었지만, 일부 용어는 출원인에 의해 임의로 선택된 것이며, 그 의미는 필요에 따라 다음의 설명에서 상세히 설명한다. 따라서, 본 발명은 단순한 이름 또는 의미보다는 용어의 의도된 의미에 기초하여 이해되어야 한다.
본 발명에서 “시그널링”이라는 용어는 서비스 정보(SI)가 방송 시스템, 인터넷 시스템 및/또는 방송/인터넷 컨버전스(convergence) 시스템으로부터 송수신되는 것을 나타낼 수 있다. 서비스 정보(SI)는 기존 방송 시스템으로부터 수신된 방송 서비스 정보(예를 들어, ATSC-SI 및/또는 DVB-SI)를 포함할 수 있다.
“방송 신호”라는 용어는 지상파 방송, 케이블 방송, 위성 방송 및/또는 모바일 방송으로부터 수신된 신호 및/또는 데이터 뿐만 아니라 인터넷 방송, 브로드밴드 방송, 통신 방송, 데이터 방송 및/또는 VOD(Video On Demand) 등의 양방향 방송 시스템으로부터 수신된 신호 및/또는 데이터를 개념적으로 포함할 수 있다.
“PLP”라는 용어는 물리층에 포함되는 데이터를 송신하는 소정의 단위를 나타낼 수 있다. 그러므로, “PLP”라는 용어는 또한 필요에 따라 “데이터 유닛” 또는 “데이터 파이프”라는 용어로 대체될 수 있다.
방송 네트워크 및/또는 인터넷 네트워크와 연동하도록 구성되는 하이브리드 방송 서비스는 디지털 텔레비전(DTV) 서비스에서 사용될 대표 어플리케이션으로서 사용될 수 있다. 하이브리드 방송 서비스는 인터넷을 통해 지상파 방송 네트워크를 통해 송신되는 방송 A/V(오디오/비디오) 컨텐츠에 관련된 인핸스먼트 데이터를 실시간으로 송신하고 인터넷을 통해 방송 A/V 컨텐츠의 일부를 실시간으로 송신하여 사용자가 다양한 컨텐츠를 경험하도록 할 수 있다.
본 발명은 IP 패킷, MPEG-2 TS 패킷 및 차세대 디지털 방송 시스템에서 다른 방송 시스템에 적용가능한 패킷을 캡슐화하여 IP 패킷, MPEG-2 TS 패킷 및 패킷이 물리층으로 송신되도록 하는 방법을 제공하는 것을 목표로 한다. 또한, 본 발명은 동일한 헤더 포맷을 이용하여 레이어 2 시그널링을 송신하는 방법을 제안한다.
다음에서 설명하는 컨텐츠는 장치에 의해 구현될 수 있다. 예를 들어, 다음의 프로세스는 시그널링 프로세서, 프로토콜 프로세서, 프로세서 및/또는 패킷 생성기에 의해 수행될 수 있다.
본 발명에서 사용하는 용어 중 real time (RT) service는, 말 그대로 실시간 서비스를 의미한다. 즉, 시간에 구속받는 서비스이다. 이에 반해, non-real time (NRT) service는 RT 서비스 이외의 비실시간 서비스를 의미한다. 즉, 비실시간 서비스는 시간에 구속받지 않는 서비스이다. 그리고 NRT 서비스를 위한 데이터를 NRT 서비스 데이터라 하기로 한다.
본 발명에 따른 방송 수신기는 지상파, 케이블, 인터넷 등과 같은 매체를 통해 비실시간 (NRT) 서비스를 수신할 수 있다. NRT 서비스는 방송 수신기의 저장 매체에 저장된 후, 기 설정된 시간이나 유저의 요청에 따라 디스플레이 장치에 표시된다. NRT 서비스는 파일 형태로 수신되어 저장 매체에 저장되는 것을 일 실시예로 한다. 저장 매체는 방송 수신기의 내부에 장착된 내장 HDD인 것을 일 실시예로 한다. 또 다른 예로, 저장 매체는 방송 수신 시스템의 외부에 연결된 USB(Universal Serial Bus) 메모리, 외장 HDD 등이 될 수도 있다. NRT서비스를 구성하는 파일들을 수신하여 저장 매체에 저장하고, 유저에게 서비스하기 위해서는 시그널링 정보가 필요하다. 본 발명은 이를 NRT 서비스 시그널링 정보 또는 NRT 서비스 시그널링 데이터라 하기로 한다. 본 발명에 따른 NRT 서비스는 IP 데이터그램을 얻는 방식에 따라 Fixed NRT 서비스와 Mobile NRT 서비스로 구분할 수 있다. 특히 Fixed NRT 서비스는 고정형 방송 수신기로 제공되고, Mobile NRT 서비스는 이동형 방송 수신기로 제공된다. 본 발명은 Fixed NRT 서비스를 일 실시예로 설명할 것이다. 그러나 본 발명이 Mobile NRT 서비스에도 적용될 수 있음은 당연하다.
본 발명에서 사용하는 용어 중, 어플리케이션 (또는 동기화된 어플리케이션)은 시청 경험 (viewing experience) 의 향상을 위하여, 시청자에게 양방향 경험을 제공하는 데이터 서비스이다. 어플리케이션는 TDO (Triggered Declarative Object), DO (Declarative Object), 또는 NDO (NRT Declarative Object)로 명명될 수 있다.
본 발명에서 사용하는 용어 중, 트리거 (Trigger) 는 시그널링을 식별하고, 어플리케이션 또는 어플리케이션 내의 이벤트의 제공 시점을 설정하는 시그널링 엘레먼트 (signaling element) 이다. 트리거는, TPT (TDO parameter table; 혹은 TDO parameter element로 명명) 의 위치 정보를 포함할 수 있다. TPT는 특정 범위 내에서, 어플리케이션의 동작을 위한 메타데이터를 포함하는 시그널링 엘레먼트이다.
트리거는 타임 베이스 트리거 (time base trigger) 및/또는 액티베이션 트리거 (activation trigger) 로의 역할을 수행할 수 있다. 타임 베이스 트리거 (time base trigger)는 이벤트의 재생 시각의 기준을 제시하는 타임 베이스를 설정하기 위하여 사용된다. 액티베이션 트리거는 어플리케이션 또는 어플리케이션 내에 포함된 이벤트의 동작 시각을 설정하는데 사용된다. 여기서 동작은, 어플리케이션 또는 어플리케이션 내의 이벤트의 시작, 종료, 멈춤 (pause), kill 및/또는 resume 에 해당될 수 있다. 메시지 (time base messages) 가 타임 베이스 트리거로 사용되거나, 타임 베이스 트리거가 타임 베이스 메시지로 사용될 수 있다. 추후 설명될 액티베이션 메시지 (activation messages) 가 액티베이션 트리거로 사용되거나, 액티베이션 트리거가 액티베이션 메시지로 사용될 수 있다.
미디어 타임 (Media Time)은 콘텐트 재생 시, 특정한 시점을 참조하기 위한 파라미터 (parameter) 이다.
TDO (Triggered Declarative Object) 는 방송 콘텐트 내의 부가 정보를 나타내는 것이다. TDO는 부가 정보를 방송 콘텐트 내에서 타이밍에 맞게 트리거 (trigger) 하는 개념이다. 예를 들면, 오디션 프로그램이 방송되는 경우, 시청자가 선호하는 오디션 참가자의 현재 순위 등을 해당 방송 콘텐트와 함께 보여줄 수 있는데, 이때 오디션 참가자의 현재 순위 등에 대한 부가 정보가 TDO가 될 수 있다. 이러한 TDO는 시청자와 양방향 소통을 통하여 변경되거나, 시청자의 의도를 반영하여 제공될 수 있다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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 112016064969409-pct00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure 112016064969409-pct00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure 112016064969409-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는 본 발명의 다른 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 4에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 4는 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 스트림 어댑테이션(stream adaptation, 스트림 적응) 블록을 나타낸다.
도 4를 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 스케줄러(4000), 1-프레임 딜레이(delay) 블록(4010), 스터핑 삽입 블록(4020), 인 밴드(In-band) 시그널링 블록(4030), BB 프레임 스크램블러(4040), PLS 생성 블록(4050), PLS 스크램블러(4060)를 포함할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응) 블록의 각 블록에 대해 설명한다.
스터핑 삽입 블록(4020), BB 프레임 스크램블러(4040), PLS 생성 블록(4050), PLS 스크램블러(4060)의 동작은 도 2를 참조하여 설명한 스터핑 삽입 블록, BB 스크램블러, PLS 생성 블록, PLS 스크램블러(4060)의 동작에 해당하므로 그 설명은 생략한다.
스케줄러(4000)는 각 데이터 파이프의 FECBLOCK의 양으로부터 전체 프레임에 걸쳐 전체의 셀 할당을 결정할 수 있다. PLS, EAC 및 FIC에 대한 할당을 포함해서, 스케줄러는 프레임의 FSS의 PLS 셀 또는 인 밴드(In-band) 시그널링으로 전송되는 PLS2-DYN 데이터의 값을 생성한다. FECBLOCK, EAC, FIC에 대한 상세한 내용은 후술한다.
1-프레임 딜레이(delay) 블록(4010)은 다음 프레임에 관한 스케줄링 정보가 데이터 파이프에 삽입될 인 밴드(In-band) 시그널링 정보에 관한 현 프레임을 통해 전송될 수 있도록 입력 데이터를 하나의 전송 프레임만큼 지연시킬 수 있다.
인 밴드(In-band) 시그널링 블록(4030)은 PLS2 데이터의 지연되지 않은 부분을 프레임의 데이터 파이프에 삽입할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 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에 의해 시그널링 된다.
SSD 인코딩 블록(5040)은 2차원, 3차원, 4차원에서 셀을 프리코딩하여, 어려운 페이딩 조건에서 수신 견고성(robustness)을 증가시킬 수 있다.
타임 인터리버(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에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 6에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 6은 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 6을 참조하면, 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 112016064969409-pct00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure 112016064969409-pct00005
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 7을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(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, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
*도 8은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 8에 도시된 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)을 포함할 수 있다. OFDM 제너레이션 블록의 각 블록에 대해 설명한다.
파일럿 및 리저브드 톤 삽입 블록(8000)은 파일럿 및 리저브드 톤을 삽입할 수 있다.
OFDM 심볼 내의 다양한 셀은 수신기에서 선험적으로 알려진 전송된 값을 갖는 파일럿으로 알려진 참조 정보로 변조된다. 파일럿 셀의 정보는 분산 파일럿, 연속 파일럿, 엣지 파일럿, FSS (frame signalling symbol) 파일럿, 및 FES (frame edge symbol) 파일럿으로 구성된다. 각 파일럿은 파일럿 타입 및 파일럿 패턴에 따라 특정 증가 파워 레벨에서 전송된다. 파일럿 정보의 값은 주어진 심볼에서 하나가 각각의 전송 캐리어에 대한 것인 일련의 값들에 해당하는 참조 시퀀스에서 유도된다. 파일럿은 프레임 동기화, 주파수 동기화, 시간 동기화, 채널 추정, 전송 모드 식별을 위해 사용될 수 있고, 또한 위상 잡음을 추적하기 위해 사용될 수 있다.
참조 시퀀스로부터 취한 참조 정보는 프레임의 프리앰블, FSS 및 FES를 제외한 모든 심볼에서 분산 파일럿 셀에서 전송된다. 연속 파일럿은 프레임의 모든 심볼에 삽입된다. 연속 파일럿의 수 및 위치는 FFT 사이즈 및 분산 파일럿 패턴에 모두 의존한다. 엣지 캐리어들은 프리앰블 심볼을 제외한 모든 심볼 내의 엣지 파일럿들과 동일하다. 엣지 캐리어들은 스펙트럼의 엣지까지 주파수 인터폴레이션(interpolation, 보간)을 허용하기 위해 삽입된다. FSS 파일럿들은 FSS에 삽입되고, FES 파일럿들은 FES에 삽입된다. FSS 파일럿들 및 FES 파일럿들은 프레임의 엣지까지 시간 인터폴레이션(interpolation, 보간)을 허용하기 위해 삽입된다.
본 발명의 일 실시예에 따른 시스템은 매우 견고한 전송 모드를 지원하기 위해 분산 MISO 방식이 선택적으로 사용되는 SFN을 지원한다. 2D-eSFN은 다수의 송신 안테나를 사용하는 분산 MISO 방식으로서, 각 안테나는 SFN 네트워크에서 각각 다른 송신기에 위치할 수 있다.
2D-eSFN 인코딩 블록(8010)은 SFN 구성에서 시간 및 주파수 다이버시티를 생성하기 위해 2D-eSFN 처리를 하여 다수의 송신기로부터 전송된 신호의 위상을 왜곡시킬 수 있다. 따라서, 장시간 동안의 낮은 평면 페이딩 또는 깊은 페이딩으로 인한 버스트 오류가 경감될 수 있다.
IFFT 블록(8020)은 OFDM 변조 방식을 이용하여 2D-eSFN 인코딩 블록(8010)으로부터의 출력을 변조할 수 있다. 파일럿 (또는 리저브드 톤)으로 지정되지 않은 데이터 심볼에서의 모든 셀은 주파수 인터리버로부터의 데이터 셀 중 하나를 전달한다. 셀들은 OFDM 캐리어에 매핑된다.
PAPR 감소 블록(8030)은 시간 영역에서 다양한 PAPR 감소 알고리즘을 이용하여 입력 신호에 PAPR 감소를 실행한다.
가드 인터벌 삽입블록(8040)은 가드 인터벌을 삽입할 수 있고, 프리앰블 삽입 블록(8050)은 신호 앞에 프리앰블을 삽입할 수 있다. 프리앰블의 구조에 대한 자세한 내용은 후술한다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다. 각각의 방송 서비스에 관련된 데이터는 서로 다른 프레임을 통해 전송될 수 있다.
DAC 블록(8070)은 입력된 디지털 신호를 아날로그 신호로 변환하여 출력할 수 있다. DAC 블록(8070)으로부터 출력된 신호는 물리 계층 프로파일에 따라 다수의 출력 안테나를 통해 전송될 수 있다. 본 발명의 일 실시예에 따른 송신 안테나는 수직 또는 수평 극성을 가질 수 있다.
전술한 블록은 설계에 따라 생략되거나 유사 또는 동일한 기능을 갖는 블록으로 대체될 수 있다.
도 9는 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 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)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 10은 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 프레임 타임의 구성예 및 슈퍼 프레임에서의 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)을 가능하게 한다.
도 11은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 11은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 12는 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
Figure 112016064969409-pct00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure 112016064969409-pct00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure 112016064969409-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 112016064969409-pct00009
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 13은 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
Figure 112016064969409-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 112016064969409-pct00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure 112016064969409-pct00012
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈( QAM 셀의 수로 특정됨)인 C total _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 112016064969409-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비트 에러 검출 코드
도 14는 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 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 112016064969409-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 112016064969409-pct00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure 112016064969409-pct00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure 112016064969409-pct00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure 112016064969409-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 112016064969409-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 112016064969409-pct00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure 112016064969409-pct00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure 112016064969409-pct00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure 112016064969409-pct00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure 112016064969409-pct00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure 112016064969409-pct00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure 112016064969409-pct00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure 112016064969409-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)된다.
도 15는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 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 112016064969409-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비트 에러 검출 코드.
도 16은 본 발명의 일 실시예에 따른 프레임의 로지컬(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, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 17은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 17의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 18은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 18의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 18에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 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 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 20은 본 발명의 일 실시예에 따른 데이터 파이프의 타입을 나타낸다.
(a)는 타입 1 데이터 파이프를 나타내고, (b)는 타입 2 데이터 파이프를 나타낸다.
선행하는 채널, 즉 PLS, EAC, FIC가 매핑된 후, 데이터 파이프의 셀이 매핑된다. 데이터 파이프는 매핑 방법에 따라 두 타입 중 하나로 분류된다.
타입 1 데이터 파이프: 데이터 파이프가 TDM에 의해 매핑된다.
타입 2 데이터 파이프: 데이터 파이프가 FDM에 의해 매핑된다.
데이터 파이프의 타입은 PLS2의 스태틱(static, 정적)인 부분에서 DP_TYPE 필드에 의해 나타낸다. 도 20은 타입 1 데이터 파이프 및 타입 2 데이터 파이프의 매핑 순서를 나타낸다. 타입 1 데이터 파이프는 우선 셀 인덱스의 오름차순으로 매핑된 후, 마지막 셀 인덱스에 도달한 후, 심볼 인덱스가 1씩 증가된다. 다음 심볼 내에서, 데이터 파이프는 p = 0을 시작으로 셀 인덱스의 오름차순으로 계속 매핑된다. 하나의 프레임에서 함께 매핑되는 다수의 데이터 파이프와 함께, 각각의 타입 1 데이터 파이프는 데이터 파이프의 TDM과 유사하게 시간으로 그루핑된다.
타입 2 데이터 파이프는 우선 심볼 인덱스의 오름차순으로 매핑되고, 프레임의 마지막 OFDM 심볼에 도달한 후, 셀 인덱스는 1씩 증가하고, 심볼 인덱스는 첫 번째 가용 심볼로 되돌아 간 후, 그 심볼 인덱스부터 증가한다. 하나의 프레임에서 다수의 데이터 파이프를 매핑한 후, 각각의 타입 2 데이터 파이프는 데이터 파이프의 FDM과 유사하게 주파수로 그루핑된다.
타입 1 데이터 파이프 및 타입 2 데이터 파이프는 필요시 프레임에서 공존할 수 있는데, 타입 1 데이터 파이프가 항상 타입 2 데이터 파이프에 선행한다는 제한이 있다. 타입 1 및 타입 2 데이터 파이프를 전달하는 OFDM 셀의 총 수는 데이터 파이프의 전송에 사용할 수 있는 OFDM 셀의 총 수를 초과할 수 없다.
Figure 112016064969409-pct00029
이때, DDP1는 타입 1 데이터 파이프가 차지하는 OFDM 셀의 수에 해당하고, DDP2는 타입 2 데이터 파이프가 차지하는 셀의 수에 해당한다. PLS, EAC, FIC가 모두 타입 1 데이터 파이프와 마찬가지 방식으로 매핑되므로, PLS, EAC, FIC는 모두 "타입 1 매핑 규칙"에 따른다. 따라서, 대체로 타입 1 매핑이 항상 타입 2 매핑에 선행한다.
도 21은 본 발명의 일 실시예에 따른 데이터 파이프 매핑을 나타낸다.
(a)는 타입 1 데이터 파이프를 매핑하기 위한 OFDM 셀의 어드레싱을 나타내고, (b)는 타입 2 데이터 파이프를 매핑하기 위한 OFDM 셀의 어드레싱을 나타낸다.
타입 1 데이터 파이프(0, …, DDP1-1)를 매핑하기 위한 OFDM 셀의 어드레싱은 타입 1 데이터 파이프의 액티브(active) 데이터 셀에 대해 정의된다. 어드레싱 방식은 각각의 타입 1 데이터 파이프에 대한 타임 인터리빙으로부터의 셀이 액티브(active) 데이터 셀에 할당되는 순서를 정의한다. 어드레싱 방식은 또한 PLS2의 다이나믹(dynamic, 동적) 부분에서 데이터 파이프의 위치를 시그널링 하는 데 사용된다.
EAC 및 FIC 없이, 어드레스 0은 마지막 FSS에서 PLS를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. EAC가 전송되고, FIC가 해당하는 프레임에 없으면, 어드레스 0은 EAC를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. FIC가 해당하는 프레임에서 전송되면, 어드레스 0은 FIC를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. 타입 1 데이터 파이프에 대한 어드레스 0은 (a)에 나타낸 바와 같은 두 가지 서로 다른 경우를 고려해서 산출될 수 있다. (a)의 예에서, PLS, EAC, FIC는 모두 전송된다고 가정한다. EAC와 FIC 중 하나 또는 모두가 생략되는 경우로의 확장은 자명하다. (a)의 좌측에 나타낸 바와 같이 FIC까지 모든 셀을 매핑한 후에 FSS에 남아 있는 셀이 있으면.
타입 2 데이터 파이프(0, …, DDP2-1)를 매핑하기 위한 OFDM 셀의 어드레싱은 타입 2 데이터 파이프의 액티브(active) 데이터 셀에 대해 정의된다. 어드레싱 방식은 각각의 타입 2 데이터 파이프에 대한 타임 인터리빙으로부터의 셀이 액티브(active) 데이터 셀에 할당되는 순서를 정의한다. 어드레싱 방식은 또한 PLS2의 다이나믹(dynamic, 동적) 부분에서 데이터 파이프의 위치를 시그널링 하는 데 사용된다.
(b)에 나타낸 바와 같이, 세 가지 약간 다른 경우가 가능하다. (b)의 좌측에 나타낸 첫 번째 경우에, 마지막 FSS에 있는 셀은 타입 2 데이터 파이프 매핑에 사용될 수 있다. 중앙에 나타낸 두 번째 경우에, FIC는 노멀 심볼의 셀을 차지하지만, 해당 심볼에서의 FIC 셀의 수는 CFSS보다 크지 않다. (b)의 우측에 나타낸 세 번째 경우는 해당 심볼에 매핑된 FIC 셀의 수가 CFSS를 초과한다는 점을 제외하고 두 번째 경우와 동일하다.
PLS, EAC, FIC가 타입 1 데이터 파이프와 동일한 "타입 1 매핑 규칙"에 따르므로, 타입 1 데이터 파이프가 타입 2 데이터 파이프에 선행하는 경우로의 확장은 자명하다.
데이터 파이프 유닛(DPU)은 프레임에서 데이터 셀을 데이터 파이프에 할당하는 기본 단위이다.
DPU는 프레임에서 데이터 파이프의 위치를 찾아내기 위한 시그널링 단위로 정의된다. 셀 매퍼(7010)는 각각의 데이터 파이프에 대해 타임 인터리빙에 의해 생성된 셀을 매핑할 수 있다. 타임 인터리버(5050)는 일련의 타임 인터리빙 블록을 출력하고, 각각의 타임 인터리빙 블록은 XFECBLOCK의 가변 수를 포함하고, 이는 결국 셀의 집합으로 구성된다. XFECBLOCK에서의 셀의 수 Ncells는 FECBLOCK 사이즈, Nldpc, 컨스텔레이션 심볼당 전송되는 비트 수에 의존한다. DPU는 주어진 피지컬 프로파일에서 지원되는 XFECBLOCK에서의 셀의 수 Ncells의 모든 가능한 값의 최대 공약수로 정의된다. 셀에서의 DPU의 길이는 LDPU로 정의된다. 각각의 피지컬 프로파일은 FECBLOCK 사이즈의 서로 다른 조합 및 컨스텔레이션 심볼당 다른 비트 수를 지원하므로, LDPU는 피지컬 프로파일을 기초로 정의된다.
도 22는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 22는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 22에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
Figure 112016064969409-pct00030
Figure 112016064969409-pct00031
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure 112016064969409-pct00032
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure 112016064969409-pct00033
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure 112016064969409-pct00034
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure 112016064969409-pct00035
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure 112016064969409-pct00036
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure 112016064969409-pct00037
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure 112016064969409-pct00038
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure 112016064969409-pct00039
도 23은 본 발명의 일 실시예에 따른 비트 인터리빙을 나타낸다.
LDPC 인코더의 출력은 비트 인터리빙되는데, 이는 QCB (quasi-cyclic block) 인터리빙 및 내부 그룹 인터리빙이 뒤따르는 패리티 인터리빙으로 구성된다.
(a)는 QCB 인터리빙을 나타내고, (b)는 내부 그룹 인터리빙을 나타낸다.
FECBLOCK은 패리티 인터리빙될 수 있다. 패리티 인터리빙의 출력에서, LDPC 코드워드는 롱 FECBLOCK에서 180개의 인접하는 QCB으로 구성되고, 쇼트 FECBLOCK에서 45개의 인접하는 QCB으로 구성된다. 롱 또는 쇼트 FECBLOCK에서의 각각의 QCB는 360비트로 구성된다. 패리티 인터리빙된 LDPC 코드워드는 QCB 인터리빙에 의해 인터리빙된다. QCB 인터리빙의 단위는 QCB이다. 패리티 인터리빙의 출력에서의 QCB는 도 23에 나타낸 바와 같이 QCB 인터리빙에 의해 퍼뮤테이션되는데, 여기서 FECBLOCK 길이에 따라 Ncells = 64800/
Figure 112016064969409-pct00040
또는 16200/
Figure 112016064969409-pct00041
이다. QCB 인터리빙 패턴은 변조 타입 및 LDPC 코드 레이트(code rate)의 각 조합에 고유하다.
QCB 인터리빙 후에, 내부 그룹 인터리빙이 아래의 표 32에 정의된 변조 타입 및 차수(
Figure 112016064969409-pct00042
)에 따라 실행된다. 하나의 내부 그룹에 대한 QCB의 수 NQCB_IG도 정의된다.
Figure 112016064969409-pct00043
내부 그룹 인터리빙 과정은 QCB 인터리빙 출력의 NQCB _ IG개의 QCB로 실행된다. 내부 그룹 인터리빙은 360개의 열 및 NQCB _ IG개의 행을 이용해서 내부 그룹의 비트를 기입하고 판독하는 과정을 포함한다. 기입 동작에서, QCB 인터리빙 출력으로부터의 비트가 행 방향으로 기입된다. 판독 동작은 열 방향으로 실행되어 각 행에서 m개의 비트를 판독한다. 여기서 m은 NUC의 경우 1과 같고 NUQ의 경우 2와 같다.
도 24는 본 발명의 일 실시예에 따른 셀-워드 디멀티플렉싱을 나타낸다.
*도 24에서, (a)는 8 및 12 bpcu MIMO에 대한 셀-워드 디멀티플렉싱을 나타내고, (b)는 10 bpcu MIMO에 대한 셀-워드 디멀티플렉싱을 나타낸다.
비트 인터리빙 출력의 각각의 셀 워드(c0,l, c1,l, …, cnmod - 1,l)는 하나의 XFECBLOCK에 대한 셀-워드 디멀티플렉싱 과정을 설명하는 (a)에 나타낸 바와 같이 (d1, 0,m, d1,1,m…, d1,nmod-1,m) 및 (d2,0,m, d2,1,m…, d2,nmod-1,m)로 디멀티플렉싱된다.
MIMO 인코딩을 위해 다른 타입의 NUQ를 이용하는 10 bpcu MIMO 경우에, NUQ-1024에 대한 비트 인터리버가 재사용된다. 비트 인터리버 출력의 각각의 셀 워드 (c0,l, c1,l, …, c9,l)는 (b)에 나타낸 바와 같이 (d1, 0,m, d1,1,m…, d1,3,m) 및 (d2, 0,m, d2,1,m…, d2,5,m)로 디멀티플렉싱된다.
도 25는 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(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을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 33에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure 112016064969409-pct00044
각각의 데이터 파이프에서, 타임 인터리빙 메모리는 입력된 XFECBLOCK (SSD/MIMO 인코딩 블록으로부터 출력된 XFECBLOCK)을 저장한다. 입력된 XFECBLOCK은
Figure 112016064969409-pct00045
로 정의된다고 가정한다. 여기서,
Figure 112016064969409-pct00046
는 n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에서 r번째 XFECBLOCK의 q번째 셀이고, 다음과 같은 SSD 및 MIMO 인코딩의 출력을 나타낸다.
Figure 112016064969409-pct00047
또한, 타임 인터리버(5050)로부터 출력된 XFECBLOCK은
Figure 112016064969409-pct00048
로 정의된다고 가정한다. 여기서,
Figure 112016064969409-pct00049
는 n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에서 i번째(
Figure 112016064969409-pct00050
) 출력 셀이다.
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc
Figure 112016064969409-pct00051
와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr는 셀의 수 Ncell와 동일하다(즉, Nr=Ncell).
도 26은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 26(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 26(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure 112016064969409-pct00052
개의 셀이 판독된다. 구체적으로,
Figure 112016064969409-pct00053
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure 112016064969409-pct00054
, 열 인덱스
Figure 112016064969409-pct00055
, 관련된 트위스트 파라미터
Figure 112016064969409-pct00056
를 산출함으로써 실행된다.
Figure 112016064969409-pct00057
여기서,
Figure 112016064969409-pct00058
Figure 112016064969409-pct00059
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure 112016064969409-pct00060
에 의해 결정된다.
Figure 112016064969409-pct00061
결과적으로, 판독될 셀 위치는 좌표
Figure 112016064969409-pct00062
에 의해 산출된다.
도 27은 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 27은
Figure 112016064969409-pct00063
,
Figure 112016064969409-pct00064
,
Figure 112016064969409-pct00065
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure 112016064969409-pct00066
Figure 112016064969409-pct00067
보다 작거나 같을 것이다. 따라서,
Figure 112016064969409-pct00068
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure 112016064969409-pct00069
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure 112016064969409-pct00070
타임 인터리빙 그룹의 수는 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 112016064969409-pct00071
로 이어진다.
도 28은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 28은 파라미터
Figure 112016064969409-pct00072
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure 112016064969409-pct00073
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 29는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 29는 파라미터
Figure 112016064969409-pct00074
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 30은 본 발명의 일 실시예에 따른, 차세대 방송 시스템의 위한 프로토콜 스텍 (Protocol Stack)을 나타낸 도면이다.
본 발명에 따른 방송 시스템은, IP (Internet Protocol) 중심 브로드캐스트 네트워크 (IP centric broadcast network)와 브로드밴드 (broadband) 가 결합된 하이브리드 방송 시스템에 해당될 수 있다.
본 발명에 따른 방송 시스템은, 기존의 MPEG-2 기반의 방송 시스템 과의 호환성을 유지하도록 설계될 수 있다.
본 발명에 따른 방송 시스템은, IP 중심 브로드캐스트 네트워크 (IP centric broadcast network), 브로드밴드 (broadband) 네트워크, 및/또는 이동통신 네트워크 (mobile communication network 또는 cellular network) 의 결합에 기반한 하이브리드 방송 시스템에 해당될 수 있다.
도면을 참조하면, 물리적 계층 (Physical layer) 은, ATSC 시스템 및/또는 DVB 시스템과 같은 방송 시스템에서 채용하는 물리적 프로토콜을 이용할 수 있다. 예를 들면, 본 발명에 따른 물리적 계층에서는, 송/수신기는 지상파 방송 신호을 송신/수신하고 방송 데이터를 포함하는 전송 프레임 (transport frame)를 적절한 형태로 변환할 수 있다.
암호화 (Encapsulation) 계층에서는, 물리적 계층으로부터 획득된 정보로부터, IP 데이터그램 (datagram) 을 획득하거나, 획득된 IP 데이터그램을 특정 프레임 (예를 들어, RS Frame, GSE-lite, GSE 혹은 신호 프레임 등)으로 변환한다. 여기서, 프레임은 IP 데이터 그램들의 집합을 포함할 수 있다. 예를 들면, 암호화 계층에서 송신기는, 물리적 계층으로부터 처리된 데이터를 전송 프레임에 포함시키거나, 수신기는, 물리적 계층으로부터 획득한 전송 프레임에서 MPEG-2 TS, IP 데이터 그램을 추출한다.
FIC(fast information channel)는 서비스 및/또는 콘텐츠에 접근할 수 있도록 하기 위한 정보 (예, 서비스 ID와 프레임 간의 매핑 정보 등)를 포함한다. FIC는 FAC (Fast Access Channel) 로 명명 될 수도 있다.
본 발명의 방송 시스템은 IP (Internet Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), ALC/LCT (Asynchronous Layered Coding / Layered Coding Transport), RCP/RTCP (Rate Control Protocol / RTP Control Protocol), HTTP (Hypertext Transfer Protocol), FLUTE (File Delivery over Unidirectional Transport) 등의 프로토콜을 이용할 수 있다. 이들 프로토콜 간의 스택 (stack) 은 도면에 도시된 구조를 참조할 수 있다.
본 발명의 방송 시스템에서 데이터는 ISOBMFF (ISO base media file format) 형태로 전송될 수 있다. ESG (Electrical Service Guide), NRT (Non Real Time), A/V (Audio / Video) 및/또는 일반 데이터는 ISOBMFF의 형태로 전송될 수 있다.
브로드캐스트 네트워크에 의한 데이터의 전송은, linear content의 전송 및/또는 non-linear content의 전송을 포함할 수 있다.
RTP/RTCP 기반 A/V, Data(closed caption, emergency alert message 등) 전송은 linear content의 전송에 해당될 수 있다.
RTP payload는 NAL (Network Abstraction Layer) 이 포함된 RTP/AV stream 형태 및/또는 ISO based media file format 으로 encapsulation 된 형태로 전송될 수 있다. RTP payload의 전송은 linear content의 전송에 해당될 수 있다. ISO based media file format 으로 encapsulation 된 형태의 전송은 A/V 등에 대한 MPEG DASH media segment를 포함할 수 있다.
FLUTE 기반 ESG의 전송, non-timed data의 전송, NRT content의 전송은 non-linear content의 전송에 해당될 수 있다. 이들은 MIME type 의 파일 형태 및/또는 ISO based media file format 으로 encapsulation 된 형태로 전송될 수 있다. ISO based media file format 으로 encapsulation 된 형태의 전송은 A/V 등에 대한 MPEG DASH media segment를 포함할 수 있다.
브로드밴드 네트워크에 의한 전송은 컨텐츠에 대한 전송과 시그널링 데이터에 대한 전송으로 분리하여 생각할 수 있다.
컨텐츠의 전송은 Linear content (A/V, data(closed caption, emergency alert message 등) 의 전송과 non-linear content (ESG, non-timed data 등)의 전송, MPEG DASH 기반 Media segment(A/V, data) 전송을 포함한다.
시그널링 데이터의 전송은, 방송망에서 전송되는 signaling table (MPEG DASH 의 MPD 포함)을 포함하는 전송이 가능하다.
본 발명의 방송 시스템에서는 방송망을 통해 전송된 linear/non-linear 콘텐츠 간의 동기화, 혹은 방송망을 통해 전송되는 컨텐츠와 broadband 을 통해 전송된 콘텐츠 간의 동기화를 지원할 수 있다. 예를 들어, 하나의 UD 콘텐츠가 방송망과 broadband 을 통해 나눠서 동시에 전송되는 경우, 수신기는 전송 프로토콜에 의존적인 timeline 을 조정하고, 방송망의 컨텐츠와 브로드밴드의 컨텐츠를 동기화 후 하나의 UD 콘텐츠로 재구성할 수 있다.
본 발명의 방송 시스템의 Applications 계층은 양방향성 (Interactivity), 개인 맞춤화(Personalization), Second Screen, ACR (automatic content recognition) 등의 기술적 특징을 구현할 수 있다. 이러한 특징은, 예를 들면, 북미 방송 표준인 ATSC2.0 에서 ATSC3.0으로 확장에서 중요한 특징이다. 예를 들면, 양방향성의 특징을 위하여, HTML5 가 사용될 수 있다.
본 발명의 방송 시스템의 Presentation 계층에서는, 컴포넌트들 사이 또는 양방향 어플리케이션들 사이의 공간적, 시간적 관계를 식별하기 위하여 HTML 및/또는 HTML5가 사용될 수 있다.
본 발명에서 시그널링 (Signaling) 은 콘텐츠 및/또는 서비스의 효과적인 획득을 지원하기 위한 시그널링 정보를 포함한다. 시그널링 데이터는 바이너리 혹은 XML형태 등으로 표현할 수 있으며, 지상파 방송망 혹은 broadband 을 통하여 전달될 수 있다.
실시간 방송 A/V 콘텐츠 및/또는 Data 의 경우 ISO Base Media File Format 등으로 표현 될 수 있다. 이 경우, 방송 A/V 콘텐츠 및/또는 Data 는 지상파 방송망을 통하여 실시간으로 전달될 수 있으며, IP/UDP/FLUTE을 기반으로 비실시간으로 전달될 수 있다. 또는, 방송 A/V 콘텐츠 및/또는 Data를, 인터넷 망을 통하여 DASH (Dynamic Adaptive Streaming over HTTP) 등을 이용하여 실시간으로 콘텐츠를 스트리밍 받거나 요청하여 받을 수 있다. 본 발명의 일 실시예에 따른 방송 시스템은, 이렇게 전달받은 방송 A/V 콘텐츠 및/또는 Data 를 조합하여 Interactive 서비스, second screen 서비스 등 다양한 enhanced service 을 시청자에게 제공할 수 있다.
도 31은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 31의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 31의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 31의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 31의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 31의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 31의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 31의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 32를 통해 설명하도록 한다.
도 32는 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 32의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 31의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 해당 서비스/컴포넌트 와 연관된 서비스 시그널링를 포함할 수 있다. 방송 수신 장치(100) FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다.
도 33은 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 33의 실시예에서 방송 서비스를 전송하는 전송 패킷은 Network Protocol 필드, Error Indicator 필드, Stuffing Indicator 필드, Pointer field 필드, Stuffing bytes 필드 및 페이로드(payload) 데이터를 포함한다.
Network Protocol 필드는 네트워크 프로토콜이 어떤 타입인지 나타낸다.
Error Indicator 필드는 해당 전송 패킷에 에러가 검출되었는지를 표시한다. 구체적으로 Error Indicator 필드의 값이 0이면 해당 패킷에서 에러가 검출되지 않음을 나타내고, Error Indicator 필드의 값이 1이면 해당 패킷에서 에러가 검출되었음을 나타낼 수 있다. 구체적인 실시예에서 Error Indicator 필드는 1 비트 필드일 수 있다.
Stuffing Indicator 필드는 해당 전송 패킷에 스터핑 바이트(stuffing bytes)가 포함되어있는지를 표시한다. 이때, 스터핑 바이트는 고정된 패킷의 길이를 유지하기 위해 페이로드에 포함되는 데이터를 나타낸다. 구체적인 실시예에서 Stuffing Indicator 필드의 값이 1이면 전송 패킷이 스터핑 바이트를 포함하고, Stuffing Indicator 필드의 값이 0이면 전송 패킷 스터핑 바이트를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 Stuffing Indicator 필드는 1 비트 필드일 수 있다.
Pointer field 필드는 해당 전송 패킷의 페이로드 부분에서 새로운 네트워크 패킷의 시작 지점을 표시한다. 구체적인 실시예에서 Pointer field의 값이 0x7FF인 경우, 새로운 네트워크 패킷의 시작 지점이 없음을 나타낼 수 있다. 또한 구체적인 실시예에서 Pointer field의 값이 0x7FF이 아닌 경우, 전송 패킷 헤더의 마지막 부분부터 새로운 네트워크 패킷의 시작 지점까지의 오프셋(offset) 값을 나타낼 수 있다. 구체적인 실시예에서 Pointer field 필드는 11 비트 필드일 수 있다.
Stuffing_Bytes 필드는 고정된 패킷 길이를 유지하기 위하여 헤더와 페이로드 데이터 사이를 채워주는 스터핑 바이트를 나타낸다.
이러한 방송 서비스를 수신하기 위한 방송 수신 장치의 구성에 대해서는 도 34를 통하여 설명하도록 한다.
도 34는 본 발명의 일 실시예에 따른 Network Protocol 필드의 의미를 나타내는 도면이다.
Network Protocol 필드는 네트워크 프로토콜의 타입을 나타내는 정보이다. 구체적인 실시예에서 Network Protocol 필드의 값은 IPv4 프로토콜인지 또는 프레임드 패킷 타입인지 나타낼 수 있다. 구체적으로 도 34의 실시예와 같이 Network Protocol 필드의 값이 O00인 경우 IPv4 프로토콜을 나타낼 수 있다. 또한 구체적으로 도 34의 실시예와 같이 Network Protocol 필드의 값이 111인 경우 frame_packet_type 프로토콜을 나타낼 수 있다. 이때, framed_packet_type은 ATSC A/153에 의하여 정의된 프로토콜일 수 있다. 구체적으로 framed_packet_type은 길이에 대한 정보를 나타내는 필드를 포함하지 않는 네트워크 패킷 프로토콜을 나타낼 수 있다. 구체적인 실시예에서 Network Protocol 필드는 3 비트 필드일 수 있다.
도 35는 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 35의 실시예에서 방송 수신 장치(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 데이터그램으로부터 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링할 수 있다.
서비스 맵 데이터 베이스(165)는 방송 서비스들에 대한 정보를 포함하는 방송 서비스 리스트를 저장한다.
서비스 가이드 프로세서(167)는 지상파 방송 서비스의 프로그램을 안내하는 지상파 방송 서비스 가이드 데이터를 처리한다.
어플리케이션 프로세서(169)는 방송 신호로부터 어플리케이션 관련 정보를 추출하고 처리한다.
서비스 가이드 데이터베이스(171)는 방송 서비스의 프로그램 정보를 저장한다.
도 36은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 36의 실시예에서 방송 수신 장치(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)은 인터넷 통신망(broad band)을 통하여 서비스, 컨텐트 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치(100)의 동작을 제어한다.
제어부(150)는 제어부(150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(150)는 시그널링 디코더(151), 서비스 맵 데이터 베이스(161), 서비스 시그널링 채널 파서(163), 어플리케이션 시그널링 파서(166), 얼러트 시그널링 파서(168), 타겟팅 시그널링 파서(170), 타겟팅 프로세서(173), , A/V 프로세서(161), 얼러팅 프로세서(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) 중 적어도 어느 하나를 통해 획득한 컨텐츠의 재생 시간 등에 대한 동기화를 수행한다. 컴포넌트 동기화부(185)는, 방송 네트워크와 다른 이종 네트워크를 통하여 전송되는 이종 스트림과 방송 스트림과의 동기를 위한 (추후에 설명될) 정보를 포함하는 추가 패킷을 획득할 수 있다.
서비스/컨텐트 획득 제어부(187)는 서비스, 컨텐트, 서비스 또는 컨텐트와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다.
재분배 모듈(189)은 방송망을 통하여 서비스 또는 컨텐트를 수신하지 못하는 경우, 서비스, 컨텐트, 서비스와 관련 정보 및 컨텐트 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐트, 서비스와 관련 정보 및 컨텐트 관련 정보 중 적어도 어느 하나를 요청할 수 있다. 이때 외부의 관리 장치(300)는 컨텐트 서버일 수 있다.
장치 관리자(193)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(193)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있따. 또한 외부 장치는 방송 수신 장치(100)와 연결 및 데이터 교환이 가능할 수 있다.
데이터 쉐어링부(191)는 방송 수신 장치(100)와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
도 37은 본 발명의 일 실시예에 따른, 차세대 방송 시스템에서 서비스 및/또는 컨텐츠를 획득하는 구조를 나타낸 도면이다.
본 발명에서 제안한 방안은 차세대 방송 시스템에서는 수신기로 하여금 서비스 혹은 컨텐츠를, 방송망 혹은 인터넷망을 통하여 효율적으로 획득할 수 있도록 한다.
도면은 하이브리드 방송 시스템에서 서비스 혹은 콘텐츠 획득을 위한 일 예를 나타낸다.
예를 들면, 서비스 0 (Service 0)은 각각 하나의 비디오 (video) 와 오디오 (audio) 로 구성되며 각 비디오/오디오는 지상파 방송망을 통하여 전송되는 IP 스트림 (IP stream)을 통하여 획득할 수 있다.
서비스 1 (Service 1)의 경우, 비디오를 전송하는 IP 스트림과 오디오를 전송하는 IP 스트림은 하나의 PLP를 통하여 전송되므로, 수신기는 해당 PLP를 디코딩하면, 서비스 1을 획득할 수 있다.
서비스 N (Service N)의 경우 비디오는 지상파 방송망을 통하여 전송되나, 오디오의 경우 인터넷망을 통하여 획득할 수 있다.
위와 같이, 수신기가 서비스 0, 서비스 1, 또는 서비스 N에 포함되는 컴포넌트를 획득하는 과정에서, 전술한 본 발명의 실시예들이 사용될 수 있다. 즉, 수신기는 수신기가 서비스 0, 서비스 1, 또는 서비스 N에 포함되는 각각의 컴포넌트를 전송하는 PLP를 식별하여, 해당 PLP 들을 디코딩하고, 원하는 서비스를 획득할 수 있다.
도 38은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다.
구체적으로 도 38의 실시예와 같이 방송 서비스 시그널링 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extension 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_numberr 필드, num_services 필드, service_id 필드, service_status 필드, SP_indicator 필드, short_service_name_length 필드, short_service_name 필드, channel_number 필드, service_category 필드, num_components 필드, essential_component_indicator 필드, num_component_level_descriptor 필드, component_level_descriptor 필드, num_service_level_descriptors 필드, 및 service_level_descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
table_id 필드는 방송 서비스 시그널링 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드의 값은 ATSC A/65에서 정의된 reserved id값중 하나일 수 있다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 방송 서비스 시그널링 정보 테이블의MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 방송 서비스 시그널링 정보 테이블을 식별하는 값을 나타낸다. 특히, table_id 필드는 서비스 시그널링 정보 테이블의 프로토콜 버전을 나타내는 SMT_protocol_version 필드를 포함할 수 있다. 구체적인 실시예에서 SMT_protocol_version 필드는 8 비트 필드일 수 있다.
version_number 필드는 서비스 시그널링 테이블의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 서비스 시그널링 정보 테이블의 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 시그널링 테이블의 버전과 동일한 경우 서비스 시그널링 테이브블의 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 방송 서비스 시그널링 테이블의 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 방송 서비스 시그널링 테이블의 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 방송 서비스 시그널링 테이블의 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. 방송 서비스 시그널링 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 방송 서비스 시그널링 테이블에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
service_id 필드는 방송 서비스를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 service_id 필드는 16 비트 필드일 수 있다.
service_status 필드는 방송 서비스의 현재 상태를 나타낸다. 구체적으로 방송 서비스가 현재 이용 가능한지 나타낼 수 있다. 구체적인 실시예에서 service_status 필드의 값이 1인 경우 방송 서비스가 현재 이용 가능함을 나타낼 수 있다. 구체적인 실시예에서 방송 수신 장치(100) service_status 필드의 값에 기초하여 해당 방송 서비스를 방송 서비스 리스트 및 방송 서비스 가이드에 표시할지를 결정할 수 있다. 예컨대 방송 수신 장치(100)는 해당 방송 서비스가 사용 불가능한 경우 해당 방송 서비스를 방송 서비스 리스트와 방송 서비스 가이드에 표시하지 않을 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 service_status 필드의 값에 기초하여 해당 방송 서비스에 대한 접근을 제한할 수 있다. 예컨대, 해당 방송 서비스가 사용 불가능한 경우 방송 수신 장치(100)는 해당 방송 서비스에 대한 채널 업/다운 키를 통한 접근을 제한할 수 있다. 구체적인 실시예에서 service_status 필드는 2 비트 필드일 수 있다.
SP_indicator 필드는 해당 방송 서비스 내의 하나 이상의 컴포넌트가 서비스 프로텍션(protection)이 적용되었는지 나타낼 수 있다. 예컨대 SP_indicator의 값이 1인 경우, 해당 방송 서비스 내의 하나 이상의 컴포넌트에 서비스 프로텍션이 적용되었음을 나타낼 수 있다. 구체적인 실시예에서 SP_indicator 필드는 1 비트 필드일 수 있다.
short_service_name_length 필드는 short_service_nmae 필드의 크기를 나타낸다.
short_service_name 필드는 방송 서비스의 이름을 나타낸다. 구체적으로 short_service_nema 필드는 방송 서비스의 이름 요약하여 표시할 수 있다.
channel_number 필드는 해당 방송 서비스의 가상 채널 넘버를 표시한다.
service_category 필드는 방송 서비스의 카테고리를 나타낸다.
num_components 필드는 해당 방송 서비스가 포함하는 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_component 필드는 5 비트 필드일 수 있다.
essential_component_indicator 필드는 해당 미디어 컴포넌트가 해당 방송 서비스 재생(presentation)을 위해 필요한 필수 미디어 컴포넌트인지 나타낸다. 구체적인 실시예에서 essential_component_indicator 필드는 1 비트 필드일 수 있다.
num_component_level_descriptor 필드는 component_level_descrptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_component_level_descriptor 필드는 4 비트 필드일 수 있다.
component_level_descriptor 필드는 해당 컴포넌트에 대한 부가적인 속성을포함한다.
num_service_level_descriptors 필드는 service_level_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_service_level_descriptors 필드는 4 비트 필드일 수 있다.
service_level_descriptor 필드는 해 당 서비스에 대한 부가적인 속성을 포함한다.
서비스 시그널링 테이블은 앙상블에 대한 정보를 더 포함할 수 있다. 앙상블은 하나 이상의 서비스가 동일한 전진 오류 수정(Forward Error Correction, FEC)이 적용되어 전송이 되는 경우 하나 이상의 서비스의 집합을 나타낸다.
도 39는 본 발명의 일 실시예에 따른 service_category 필드의 의미를 나타낸 도면이다.
service_category 필드는 TV 서비스, 라디오 서비스, 방송 서비스 가이드, RI 서비스 및 긴급 경고(Emergency Alerting) 중 어느 하나를 나타낼 수 있다. 예컨대 도시된 실시예에서와 같이 service_category 필드의 값이 0x01인 경우 TV 서비스를 나타내고, service_category 필드의 값이 0x02인 경우 라디오 서비스를 나타내고, service_category 필드의 값이 0x03인 경우 RI 서비스를 나타내고, service_category 필드의 값이 0x08인 경우 서비스 가이드를 나타내고, service_category 필드의 값이 0x09인 경우 긴급 경보를 나타낼 수 있다. 구체적인 실시예에서 service_category 필드는 6 비트 필드일 수 있다.
도 40은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
구체적으로 도 40의 실시예와 같이 방송 서비스 시그널링 테이블은 num_ensemble_level_descriptors 필드와 ensemble_level_descriptor 필드를 더 포함할 수 있다.
num_ensemble_level_descriptors 필드는 ensemble_level_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_ensemble_level_descriptors 필드는 4 비트 필드일 수 있다.
ensemble_level_descriptor 필드는 해당 앙상블에 대한 부가적인 속성을 포함한다.
또한 서비스 시그널링 테이블은 미디어 컴포넌트를 식별하기 위하여 미디어 컴포넌트를 식별하는 스트림 식별자 정보를 더 포함할 수 있다.
도 41은 본 발명의 일 다른 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
스트림 식별자 정보는 descriptor_tag 필드, descriptor_length 필드 및 component_tag 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 해당 descriptor가 스트림 식별자 정보를 포함하는 descirptor임을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 해당 필드 이후의 스트림 식별자 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
component_tag 필드는 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자를 나타낸다. 이때 미디어 컴포넌트 식별자는 해당 시그널링 정보 테이블 상에서 다른 미디어 컴포넌트의 미디어 컴포넌트 식별자와 다른 유일(unique)한 값을 가질 수 있다. 해당 구체적인 실시예에서 component_tag 필드는 8 비트 필드일 수 있다.
방송 서비스 시그널링 테이블을 전송하고 수신하는 동작에 대해서는 이하에서 설명하도록 한다.
앞서 방송 서비스 테이블을 비트스트림 형식으로 설명하였으나 구체적인 실시예에 따라서 방송 서비스 테이블은 XML 형식일 수 있다.
도 42는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 시그널링 테이블을 전송하는 동작을 보여준다.
본 발명의 일 실시예에 따른 방송 전송 장치는 방송 신호를 전송하는 전송부 및 방송 전송 장치의 동작을 제어하는 제어부를 포함할 수 있다. 전송부는 전송부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 전송부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부는 제어부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다.
방송 전송 장치는 제어부를 통하여 전송 패킷에 담아 전송할 데이터를 획득한다(S101). 방송 전송 장치가 전송할 데이터는 실시간 컨텐트 또는 실시간 컨텐트와 연관된 메타데이터일 수 있다. 구체적으로 실시간 컨텐트는 지상파 방송망 등을 통해서 전송되는 방송 A/V 컨텐트 또는 방송 A/V 컨텐트에 연관된 향상된 데이터(enhancement data)일 수 있다.
방송 전송 장치는 제어부를 통하여 획득한 데이터가 데이터 전송을 위해 사용할 전송 패킷이 담을 수 있는 크기를 초과하는지 여부를 판단한다(S103). 구체적으로 방송 전송 장치가 사용할 전송 패킷이 고정된 패킷 길이를 사용하는 프로토콜을 기반으로 할 수 있다. 이 때, 전송하고자 하는 데이터가 패킷이 커버할 수 있는 크기를 넘어서는 경우 원활한 데이터의 전송이 어려울 수 있다. 또한, 전송하고자 하는 데이터가 패킷에 비하여 매우 작은 경우 하나의 패킷에 작은 크기의 데이터 하나만을 전송하는 것을 비 효율적인 패킷 활용이 될 수 있다. 따라서, 상술한 비 효율성을 극복하기 위하여 방송 전송 장치는 제어부를 통해 전송 패킷과 데이터의 크기를 비교한다.
만약, 방송 전송 장치가 전송할 데이터를 전송 패킷이 담을 수 없는 크기로 판단한 경우, 방송 전송 장치는 제어부를 통해 전송할 데이터를 세그멘테이션(Segmentation) 한다(S105). 세그멘테이션된 데이터는 복수의 전송 패킷들에 나뉘어 전송될 수 있다. 그리고, 복수의 전송 패킷들은 세그멘테이션된 데이터를 식별하기 위한 정보를 추가적으로 포함할 수 있다. 또 다른 실시 예에서 세그멘테이션된 데이터를 식별하기 위한 정보는 전송 패킷이 아닌 별도의 데이터그램을 통해서 전송될 수도 있다.
방송 전송 장치는 제어부를 통해 세그멘테이션된 데이터 식별을 위한 값을 패킷 페이로드에 설정한다(S107).
방송 전송 장치는 제어부를 통해서 세그멘테이션된 데이터 또는 전송 패킷보다 작은 크기를 갖는 데이터를 패킷타이징(packetizing)한다(S109). 구체적으로 방송 전송 장치는 데이터를 전송 가능한 형태로 가공한다. 가공된 방송 패킷은 패킷 헤더(Packet header)와 패킷 페이로드(Packet payload)를 포함할 수 있다. 또한, 패킷 페이로드는 데이터와 페이로드의 헤더를 포함할 수 있다. 여기에서 페이로드 헤더는 패킷 헤더와 별로도, 패킷 페이로드에 포함된 페이로드 데이터를 시그널링 하기 위한 필드이다. 또한, 세그멘테이션된 데이터를 포함하는 패킷 페이로드는 페이로드의 헤더와 함께 세그멘테이션된 데이터 헤더를 포함할 수 있다. 여기에서 세그멘테이션된 데이터 헤더는 페이로드 헤더와 별도로,패킷 페이로드에 포함된 페이로드 데이터를 시그널링 하기 위한 필드이다.
일 실시 예에서 방송 전송 장치는 하나의 데이터를 하나의 패킷에 패킷타이징할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 복수의 데이터를 하나의 패킷에 패킷타이징 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 하나의 데이터를 복수의 패킷에 조각화 하여 패킷타이징 할 수 있다.
상술한 바와 같이 데이터의 크기 또는 패킷의 길이에 따라서 패킷타이징된 전송 패킷이 달라질 수 있다. 그러므로 방송 전송 장치는 서로 다른 전송 패킷을 구별가능한 형태로 전송할 필요가 있다. 일 실시 예에서 방송 전송 장치는 제어부를 통해 전송 패킷의 페이로드 헤더에 패킷의 형태를 나타내는 정보를 포함시켜 데이터를 패킷타이징 할 수 있다. 또 다른 일 실시 예에서 방송 전송 장치의 제어부는 페이로드 헤더에 포함된 정보만으로 전송할 데이터를 구별하기 어려울 경우에, 전송 패킷의 종류를 식별할 수 있는 정보를 추가적으로 포함시켜 데이터를 패킷타이징 할 수 있다.
방송 전송 장치는 전송부를 통해서 패킷타이징된 방송 패킷을 전송한다(S111). 일 실시 예에서 방송 패킷의 전송은 지상파 방송망을 통해 이루어 질 수 있다. 또 다른 실시 예에서 방송 패킷의 전송은 인터넷망을 통해 이루어 질 수 도 있다.
도 43은 본 발명의 일 실시 예에 따른 방송 수신 장치가 패킷타이징된 방송 패킷을 수신하는 동작을 나타낸다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 패킷타이징된 전송 패킷를 수신한다(S201).
방송 수신 장치(100)는 제어부(150)를 통하여 수신된 전송 패킷으로부터 페이로드 헤더를 추출한다(S203). 제어부(150)는 전송 패킷의 페이로드로부터 데이터를 포함하는 페이로드 데이터와 페이로드 데이터를 시그널링하는 페이로드 헤더를 획득할 수 있다. 구체적으로 방송 수신 장치(100)의 제어부(150)는 패킷 페이로드에 포함된 방송 컨텐트 및 방송 컨텐트와 연관된 향상된 컨텐트 중 적어도 하나를 제공하기 위한 부가적인 정보를 수신한 전송 패킷으로부터 추출할 수 있다.
일 실시 예에서 방송 수신 장치(100)의 제어부(150)는 페이로드 헤더로부터 페이로드 에러 판단 정보, 페이로드 우선 순위 정보 및 페이로드 타입 정보 중 적어도 하나를 추출할 수 있다. 구체적으로 페이로드 에러 판단 정보는 방송 패킷에 포함된 페이로드에 에러가 존재하는지 또는 해당 페이로드가 정해진 신택스(syntax)를 위반하는 내용을 포함하고 있는지 여부를 나타낸다.
또한, 우선 순위 정보는 페이로드에 포함된 데이터의 우선순위를 나타낸다. 구체적으로 우선 순위 정보는 페이로드에 포함된 데이터의 속성 정보를 나타낸다. 예를 들면 파일 포맷 미디어 데이터의 시그널링 정보를 포함하고 있는 페이로드의 경우, 해당 패킷의 우선 순위 정보는 가장 높은 우선 순위로 설정되어 있다.
또한, 페이로드 타입 정보는 페이로드 데이터를 포함하는 패킷페이로드의 타입을 나타낸다. 예를 들면, 방송 전송 장치가 하나의 패킷 페이로드에 하나의 데이터를 패킷타이징했는지 또는 복수의 패킷 페이로드에 하나의 데이터를 나누어 패킷타이징 했는지 여부를 나타낼 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해 추출된 페이로드 헤더에 포함된 정보로부터 페이로드에 포함된 데이터가 미디어 데이터인지 여부를 판단한다(S205). 구체적으로 방송 수신 장치(100)의 제어부(150)는 패킷 헤더 정보에 기초하여 해당 패킷에 포함된 페이로드의 유형을 판단할 수 있다. 일 실시 예에서 페이로드의 유형은 방송 컨텐트 및 방송 컨텐트와 연관된 향상된 컨텐트 중 적어도 하나를 포함하는 미디어 데이터가 될 수 있다. 또 다른 실시 예에서 페이로드의 유형은 미디어 데이터를 제공하는데 필요한 부가정보를 포함하는 메타 데이터가 될 수 있다.
방송 수신 장치(100)의 제어부(150)는 페이로드에 포함된 데이터가 미디어 데이터라고 판단한 경우, 전체 미디어 데이터가 수신한 하나의 전송 패킷에 포함되어 있는지 여부를 판단한다(S207). 구체적인 실시 예에서 전송 패킷의 길이와 전체 미디어 데이터의 크기에 따라 하나의 전송 패킷에 전체 미디어 데이터를 방송 전송 장치가 패킷타이징 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 전체 미디어 데이터를 나누어 각각 서로 다른 전송 패킷에 패킷타이징 할 수 있다. 따라서 방송 수신 장치(100)의 제어부(150)는 컨텐트 출력을 위한 완전한 미디어 데이터를 추출하기 위해 방송 패킷의 유형을 페이로드 헤더를 통해 판단할 수 있다.
한편, 본 발명의 일 실시 예에서 방송 수신 장치(100)의 제어부(150)가 페이로드에 포함된 데이터가 미디어 데이터가 아니라고 판단한 경우는 이하 도 66에서 상세히 설명한다.
하나의 전송 패킷에 전체 미디어 데이터가 포함되어 있다고 판단한 경우, 제어부(150)는 하나의 패킷 페이로드로부터 미디어 데이터를 추출한다(S209). 일 실시 예에서 방송 수신 장치(100)의 제어부(150)는 하나의 전송 패킷으로부터 하나의 미디어 데이터만을 추출할 수 있다. 또 다른 실시 예에서 방송 수신 장치(100)의 제어부(150)는 하나의 전송 패킷으로부터 복수의 미디어 데이터를 추출할 수 있다. 한편, 하나의 전송 패킷에 전체 미디어 데이터가 포함되어 있지 않다고 판단한 경우, 제어부(150)는 페이로드 헤더 및 세그멘테이션 데이터 헤더에 기초하여 복수의 패킷 페이로드로부터 미디어 데이터를 추출한다(S211). 구체적으로 제어부(150)는 페이로드 헤더 및 세그멘테이션 데이터 헤더로부터 나뉘어 패킷타이징된 미디어 데이터의 정보를 획득할 수 있다. 따라서, 제어부(150)는 획득한 정보에 따라 나뉘어진 미디어 데이터를 식별할 수 있다. 다시 말해서, 제어부(150)는 획득한 정보에 따라 나뉘어진 미디어 데이터의 순서를 획득할 수 있다. 제어부(150)는 해당 순서에 기초하여 서로 다른 전송 패킷으로부터 획득한 미디어 데이터를 조합(concatenate)할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해 컨텐트를 제공한다(S213). 일 실시 예에서 제어부(150)는 추출한 미디어 데이터에 기초하여 컨텐트를 제공할 수 있다. 또 다른 실시 예에서 제어부(150)는 조합된 미디어 데이터에 기초하여 컨텐트를 제공할 수 있다.
제어부(150)는 A/V 컨텐트를 출력할 수 있다. 또 다른 실시 예에서 방송 수신 장치(100)는 A/V 컨텐트와 연관된 향상된 데이터(enhancement data)를 출력할 수도 있다.
도 44은 본 발명의 실시 예에 따른 패킷 구성을 보여준다.
패킷 기반 데이터 전송 프로토콜 상에서 각 패킷은 일반적으로 도 40에 도시된 바와 같이 패킷 헤더와 패킷 페이로드로 구성된다. 패킷 헤더는 패킷이 포함하고 있는 패킷 페이로드의 정보를 포함할 수 있다. 패킷 페이로드는 방송망 또는 인터넷망으로 전송하고자 하는 미디어 데이터를 포함할 수 있다. 패킷 페이로드가 포함하는 미디어 데이터는 오디오, 비디오, 향상된 서비스 및 부가정보 중 적어도 어느 하나일 수 있다.
도 45은 본 발명의 실시 예에 따른 실시간 컨텐츠 전송을 위한 RTP(Real-time Transport Protocol) 패킷의 구조를 보여준다.
RTP 패킷은 RTP Header 및 RTP Payload를 포함할 수 있다. 다시 RTP header는 Timestamp, Synchronization source identifier 및 Contributing source identifier 중 적어도 하나를 포함할 수 있다.
RTP Header는 V(version) 필드, P(padding) 필드, X(extension) 필드, CC 필드, M(Marker bit) 필드, Payload Type 필드, Sequence Number 필드 및 Timestamp 필드 중 적어도 하나의 필드를 포함할 수 있다.
V(version) 필드는 해당 RTP의 버전 정보를 나타낸다. 구체적인 실시 예에서 V(version) 필드는 2비트일 수 있다.
P(padding) 필드는 페이로드 내에 padding 비트들의 존재 여부를 나타낸다. 구체적인 실시 예에서 P(padding) 필드는 1비트일 수 있다.
X(extension) 필드는 RTP Header내에 extension 필드의 존재여부를 나타낸다. 구체적인 실시 예에서 X(extension) 필드는 1비트일 수 있다.
CC 필드는 Contributing source의 수를 나타낸다. 구체적인 실시 예에서 CC 필드는 4비트일 수 있다.
M(Marker bit) 필드는 Payload type에 따라 서로 다른 의미를 나타낼 수 있다. 예를 들면 transport object가 파일인 경우 파일의 끝을 나타낼 수 있다. 또 다른 예를 들면 transport object가 비디오 또는 오디오 데이터인 경우 연관된 access unit들의 처음 또는 마지막 오브젝트임을 나타낼 수 있다. 구체적인 실시 예에서 M(Marker bit) 필드는 1비트일 수 있다.
Payload Type 필드는 RTP Payload의 타입을 나타낸다. 구체적인 실시 예에서 Payload Type 필드는 7비트일 수 있다.
Sequence Number 필드는 RTP 패킷의 시퀀스 넘버를 나타낸다. 구체적인 실시 예에서 Sequence Number 필드는 16비트일 수 있다.
Timestamp 필드는 RTP 패킷과 연관된 시간 정보를 나타낼 수 있다. Timestamp 필드는 Payload Type 필드의 값에 따라 다르게 해석될 수 있다. 구체적인 실시 예에서 Timestamp 필드는 32비트일 수 있다.
RTP payload는 RTP Header의 payload type에 따라 오디오/비디오 access unit이 포함될 수 있다. 예를 들면, H.264의 경우 NAL(network abstract layer) unit 등이 포함될 수 있다.
도 46는 본 발명의 일 실시 예에 따른 ISO base media file format(이하 ISO BMFF)를 기반으로 하는 미디어 파일 포맷을 나타낸다.
도 46에 도시된 바와 같이 미디어 파일 포맷은 일반적으로 하나의 ftyp와 하나 또는 그 이상의 moov, moof 및 mdat를 포함할 수 있다.
ftyp은 미디어 파일의 타입 및 적합성을 나타낸다. ftyp은 미디어 파일에서 가능한 한 앞에 위치한다.
moov는 모든 미디어 데이터를 위한 컨테이너이다. 구체적으로 프리젠테이션의 싱글 트랙(track)을 위한 컨테이터 박스이다. 프리젠테이션은 하나 또는 그 이상의 트랙으로 구성될 수 있다. 각각의 트랙은 프리젠테이션 내에서 다른 트랙과 독립적이다. 일 실시 예에서 트랙은 미디어 데이터를 담을 수 있으며, 또 다른 실시 예에서 트랙은 패킷타이징된 스트리밍 프로토콜을 위한 정보를 담을 수 있다.
mdat은 미디어 데이터의 컨테이너이고, moof는 mdat에 관한 정보를 담고 있다.
도 47은 본 발명의 일 실시 예에 따른 패킷 페이로드의 페이로드 헤더의 구성을 나타낸다.
현재 실시간 전송 프로토콜은 대부분 미디어 파일의 액세스 유닛(access unit)등을 기반으로 전송하고 있다. 구체적으로 액세스 유닛이란 미디어 파일 또는 데이터를 전송하는 최소 단위를 의미한다. 따라서, 미디어 파일 포맷 기반 데이터를 실시간으로 전송하는 방안에 대한 고려가 미흡한 점이 있다.
본 발명의 일 실시 예에 따른 방송 전송 장치는 하나의 전송 패킷에 포함된 페이로드를 통해 하나의 파일 포맷 기반 미디어 데이터를 전송할 수 있다. 이 경우의 전송 패킷은 싱글 유닛 패킷(Single unit packet)이라고 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 하나의 전송 패킷에 포함된 페이로드를 통해 복수의 파일 포맷 기반 미디어 데이터를 전송할 수 있다. 이 경우의 전송 패킷은 어그리게이션 패킷(Aggregation packet)이라고 할 수 있다. 또 다른 일 실시 예에 따른 방송 전송 장치는 하나의 파일 포맷 기반 미디어 데이터를 여러 전송 패킷에 나누어 전송할 수 있다. 이 경우의 전송 패킷은 프래그멘티드 패킷(Fragmented packet)이라고 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 하나의 전송 패킷의 페이로드를 통해 미디어 스트림에 대한 하나 또는 복수의 메타데이터를 전송할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 하나의 메타데이터를 복수의 전송 패킷의 페이로드를 통해 전송할 수 있다.
또한 본 발명의 일 실시 예에 따른 방송 전송 장치는 다양한 프로토콜을 통해 미디어 데이터를 전송할 수 있다. 상술한 프로토콜은 실시간 전송 프로토콜(real-time transport protocol (RTP)), 비 동기 계층화 코딩(asynchronous layered coding(ALC)) 및 계층화 코딩 전송(layered coding transport (LCT)) 적어도 어느 하나일 수 있다.
구체적으로 방송 전송 장치는 전송 패킷의 헤더에 페이로드 타입에 대한 정보를 나타내는 필드를 삽입하여 해당 필드를 통해 페이로드 내에 파일 포맷 기반 미디어 데이터가 포함되어 있음을 나타낼 수 있다. 예를 들면, RTP의 경우 헤더의 payload type 필드가 페이로드의 데이터 타입을 나타내며, 해당 필드에 특정 값을 파일 포맷 기반 미디어 데이터를 위한 payload type 값으로 할당할 수 있다. 그리고 이 경우, RTP 패킷 헤더의 M 필드는 하나의 미디어 파일의 끝을 포함하는 데이터가 패킷의 페이로드에 포함되었을 때, 1로 셋팅될 수 있다.
상술한 과제를 해결하기 위해 본 발명의 일 실시 예에 따른 페이로드 헤더는 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류가 있는지 여부를 나타내는 정보, 데이터의 우선 순위를 나타내는 정보 및 데이터의 타입을 나타내는 정보 중 적어도 하나를 포함할 수 있다. 이 경우, 페이로드 헤더에 포함된 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류를 나타내는 정보를 F 필드라고 할 수 있다. 일 실시 예에서 페이로드 헤더에 포함된 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류를 나타내는 정보는 forbidden_zero_bit로서, 페이로드가 포함하는 데이터상에 에러가 발생하거나 신택스 위반이 발생하는 경우 1로 셋팅될 수 있다. 구체적으로 페이로드 헤더에 포함된 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류를 나타내는 정보는 1비트일 수 있다.
또한, 이 경우 페이로드 헤더에 포함된 데이터의 우선 순위를 나타내는 정보 Priority 필드라고 할 수 있다. 일 실시 예에서 데이터의 우선 순위를 나타내는 정보는 페이로드 데이터의 우선순위를 나타내는 필드이다. 그리고, 데이터의 우선 순위를 나타내는 정보는 페이로드 데이터가 미디어 파일 포맷 상에서 중요한 메타데이터를 포함하는지 여부를 나타낼 수 있다.
ISO BMFF를 예로 들면, ftyp 또는 moov 등을 포함하는 페이로드 데이터의 경우 데이터의 우선 순위를 나타내는 정보는 가장 높은 순위로 셋팅될 수 있다. 일 실시 예에서 데이터의 우선 순위를 나타내는 정보는 방송 전송 장치의 제어부를 통해, 가장 높은 우선 순위(highest), 가장 높은 우선 순위에 비해 상대적으로 낮은 순위(medium), 가장 낮은 우선 순위(low)를 나타낼 수 있다. 이 경우, 데이터의 우선 순위를 나타내는 정보는 가장 높은 우선 순위에서 0x00, 가장 높은 우선 순위에 비해 상대적으로 낮은 순위에서 0x01, 그리고 가장 낮은 우선 순위에서 0x02로 설정될 수 있다. 상술한 설정 값은 일 예시일 뿐이며 다른 임의의 값으로 설정 될 수 도 있다.
또한 이 경우 데이터의 타입을 나타내는 정보를 type 필드라고 할 수 있다. 구체적으로 데이터의 타입을 나타내는 정보를 통해 방송 수신 장치(100)의 제어부(150)는 전송 패킷이 하나의 패킷으로 하나의 데이터를 전송하는 패킷인지, 하나의 패킷으로 복수의 서로 다른 데이터들을 전송하는 패킷인지 또는 하나의 데이터를 복수개로 나눈 데이터를 전송하는 패킷인지를 식별할 수 있다.
또한, 방송 수신 장치(100)의 제어부(150)는 데이터의 타입을 나타내는 정보를 통해 전송 패킷이 컨텐트의 시간 정보를 포함하는 메타데이터를 전송 하는 패킷인지, 전송 패킷이 컨텐트의 설명 정보를 포함하는 메타데이터를 전송하는 패킷인지를 식별할 수 있다.
일 실시 예에서 방송 전송 장치는 하나의 패킷으로 하나의 데이터를 전송하는 패킷의 경우, 데이터의 타입을 나타내는 정보를 0x00으로 설정할 수 있다. 또한, 방송 전송 장치는 하나의 패킷으로 복수의 서로 다른 데이터들을 전송하는 패킷의 경우, 데이터의 타입을 나타내는 정보를 0x01로 설정할 수 있다. 또한, 방송 전송 장치는 하나의 데이터를 나눈 데이터를 전송하는 패킷의 경우, 데이터의 타입을 나타내는 정보를 0x02로 설정할 수 있다.
또한 방송 전송 장치는 미디어 데이터가 아닌, 컨텐트의 재생(presentation) 또는 디코딩(decoding) 시간 정보를 포함하는 메타데이터를 패킷타이징 하여 전송 할 수 있다. 이 경우, 방송 전송 장치는 데이터의 타입을 나타내는 정보를 0x03으로 설정할 수 있다. 한편, 상술한 시간 정보를 타임라인(timeline) 데이터라고 할 수 있다.
또한, 방송 전송 장치는 컨텐트의 설명 정보를 포함하는 메타데이터를 패킷타이징 하여 전송할 수 있다. 이 경우, 방송 전송 장치는 데이터의 타입을 나타내는 정보를 0x04로 설정할 수 있다. 한편, 상술한 정보를 라벨링(labeling) 데이터라고 할 수 있다.
그러나, 상술한 설정 값들은 일 실시 예일뿐이므로 본 발명이 상술한 값에 의해 한정되는 것은 아니다. 구체적인 실시 예에서 type 필드는 5비트일 수 있다.
도 48 는 하나의 패킷에 하나의 미디어 데이터가 패킷타이징된 전송 패킷 의 페이로드 구성을 나타낸다.
도시된 바와 같이, 하나의 패킷에 하나의 미디어 데이터가 포함된 패킷을 싱글 유닛 패킷(Single unit packet)이라고 할 수 있다. 싱글 유닛 패킷의 페이로드는 페이로드 헤더와 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 하나의 파일 포맷 기반 미디어 데이터을 포함하는 프래그멘티드(fragmented) 데이터를 포함할 수 있다. 일 실시 예에서 전송 프로토콜이 고정 길이의 전송 패킷을 사용하는 경우, 페이로드 데이터는 프래그멘티드 데이터 외에 패딩(padding) 비트들을 추가적으로 포함할 수 있다. 여기에서 패딩 비트는 전송 패킷에서 데이터를 채우고 남은 공간을 채우기 위한 비트를 말한다.
도 49 는 하나의 패킷에 하나의 미디어 데이터가 패킷타이징된 전송 패킷 의 페이로드 구성을 나타낸다.
도면은, 전송 패킷 구체적인 예를 나타낸다. 도시된 바와 같이, 페이로드 헤더는 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류가 있는지 여부를 나타내는 정보, 데이터의 우선 순위를 나타내는 정보 및 데이터의 타입을 나타내는 정보 중 적어도 하나를 포함할 수 있다.
도시된 일 예에서, 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류가 있는지 여부를 나타내는 정보는 에러 및 신택스 위반이 없다는 내용을 나타내는 값을 포함할 수 있다. 구체적인 실시 예에서 해당 값은 0일 수 있다.
데이터의 우선 순위를 나타내는 정보는 페이로드 데이터 내 미디어 파일이 ftyp 등의 중요한 데이터를 포함하므로 가장 높은 우선 순위를 가질 수 있다. 상술한 바와 같이 ftyp의 경우 미디어 파일을 시그널링하기 위한 정보를 포함하는 바 가장 높은 우선 순위를 가질 수 있다. 구체적인 실시 예에서 가장 높은 우선 순위를 나타내는 값은 0x00일 수 있다.
데이터의 타입을 나타내는 정보 는 하나의 패킷 페이로드 내에 하나의 미디어 파일이 모두 포함되어 있으므로 싱글 유닛 패킷을 나타낼 수 있다. 구체적인 실시 예에서 데이터의 타입을 나타내는 정보는 0x00값을 가질 수 있다. 추가적으로 미디어 파일의 길이와 전송 프로토콜에 따라 패딩 비트가 선택적으로 페이로드 데이터에 삽입될 수 있다.
도 50은 하나의 패킷에 복수의 서로 다른 미디어 데이터가 패킷타이징된 전송 패킷의 구성을 나타낸다.
상술한 패킷은 어그리게이션 패킷(Aggregation packet)이라고 할 수 있다. 도 50에 도시된 바와 같이, 하나의 전송 패킷의 패이로드가 복수의 서로 다른 파일 포맷 기반 미디어 데이터을 포함하는 경우, 페이로드 데이터는 복수의 어그리게이션 유닛(Aggregation unit)을 포함할 수 있다. 각각의 어그리게이션 유닛은 다른 파일 포맷 기반 미디어 데이터를 포함할 수 있다. 추가적으로 전송 프로토콜이 고정 길이의 패킷을 사용하는 경우 페이로드 데이터는 패딩(padding) 비트들을 포함할 수 있다.
일 실시 예에서 하나의 어그리게이션 유닛은 어그리게이션 유닛의 길이를 나타내는 정보 및 어그리게이션 데이터 중 적어도 하나를 포함할 수 있다. 이 경우 어그리게이션 유닛의 길이를 나타내는 정보를 Aggregation unit length 필드라고 할 수 있다. 구체적인 실시 예에서 어그리게이션 유닛은 16비트일 수 있다. 또한, 어그리게이션 유닛 데이터는 하나의 파일이 포함하는 데이터를 나타낸다.
도 51은 어그리게이션 유닛의 구성을 나타내는 또 다른 실시 예를 나타낸 도면이다.
하나의 어그리게이션 유닛은 추가적으로 어그리게이션 유닛 내에 포함된 파일의 타입을 나타내는 정보를 더 포함할 수 있다.
어그리게이션의 타입을 나타내는 정보는 Aggregation unit type 필드라고 할 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x00으로 설정할 수 있다.
또 다른 실시 예에서 어그리게이션 타입은 MPEG-DASH()에서의 셀프-이니셜라이징 세그먼트(Self-initailizing Segment) 형태의 파일을 해당 어그리게이션 유닛이 포함하고 있음을 나타낼 수 있다. 여기에서 셀프-이니셜라이징 세그먼트는 별도의 이니셜라이징 세그먼트 없이 이니셜라이징 세그먼트와 미디어 세그먼트를 통합한 것 이다. 구체적으로 미디어 세그먼트와 미디어 세그먼트의 미디어 형태를 포함할 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x01로 설정할 수 있다.
또 다른 실시 예에서 어그리게이션 타입은 MPEG-DASH에서의 이니셜라이징 세그먼트(Initialization Segment) 형태의 파일을 해당 어그리게이션 유닛이 포함하고 있음을 나타낼 수 있다. 여기에서 이니셜라이징 세그먼트는 ISO BMFF를 따르는 포맷이다. 구체적으로 이니셜라이징 세그먼트는 ftyp, moov를 포함해야한다. 그리고 moof를 포함하지 않아야 한다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x02로 설정할 수 있다.
도 52는 프래그멘티드 패킷의 페이로드의 구성의 일 실시 예를 나타낸다.
도면은, 하나의 미디어 데이터가 복수의 전송 패킷에 나뉘어 패킹타이징된 전송 패킷(이하 프래그멘티드 패킷(Fragmented packet))의 페이로드 구성을 나타낸다.
도시된 바와 같이, 프래그멘티드 패킷의 페이로드는 프래그멘테이션 유닛(Fragmentation unit)을 포함할 수 있다 추가적으로 프래그멘티드 패킷의 페이로드는 전송 프로토콜이 고정 길이의 패킷을 사용하는 경우 패딩(Padding) 비트들이 포함될 수 있다.
일 실시 예에서, 프래그멘테이션 유닛(FU)은 프래그멘테이션 유닛 헤더(Fragmentation unit header) 및 프래그멘테이션 유닛 데이터(Fragmentation unit data) 중 적어도 어느 하나를 포함할 수 있다. 프래그멘테이션 유닛 데이터는 하나의 파일 포맷 기반 미디어 데이터의 일부분을 포함할 수 있다. 프래그멘테이션 유닛 헤더는 프래그멘테이션 유닛 데이터의 정보를 포함할 수 있다.
구체적으로, 프래그멘테이션 유닛 헤더는 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보, 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보 및 프래그멘테이션 유닛의 타입을 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
일 실시 예에서 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보를 Start bit 필드라고 할 수 있다. 구체적으로 시작 부분의 데이터는 전체 미디어 데이터의 첫 비트를 포함하는 전체 데이터의 일부일 수 있다.
예를 들면, 해당 페이로드의 프래그멘테이션 유닛 데이터 가 시작 부분의 데이터를 포함하고 있는 경우, 방송 전송 장치는 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보를 1로 설정될 수 있다. 구체적으로 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보는 1비트일 수 있다.
일 실시 예에서 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보를 End bit 필드라고 할 수 있다. 구체적으로, 끝 부분의 데이터는 전체 미디어 데이터의 마지막 비트를 포함하는 전체 데이터의 일부일 수 있다.
예를 들면, 해당 페이로드의 프래그멘테이션 유닛 데이터 가 끝 부분의 데이터를 포함하고 있는 경우, 방송 전송 장치는 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보를 1로 설정될 수 있다. 구체적으로 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보는 1비트일 수 있다.
일 실시 예에서 프래그멘테이션 유닛의 타입을 나타내는 정보는 프래그멘테이션 유닛 타입 필드라고 할 수 있다.
일 실시 예에서 프래그멘테이션 유닛 타입은 해당 패킷이 파일 포맷 기반의 기본적인 파일을 프래그멘테이션 유닛이 포함하고 있음을 나타낼 수 있다. 구체적으로, 파일 포맷 기반의 기본적인 파일은 ISO BMFF를 기반으로 하는 파일 포맷을 갖는 미디어 파일일 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 프래그멘테이션 유닛 타입을 0x00으로 설정할 수 있다.
또 다른 실시 예에서 프래그멘테이션 유닛 타입은 MPEG-DASH()에서의 셀프-이니셜라이징 세그먼트 형태의 파일을 해당 프래그멘테이션 유닛이 포함하고 있음을 나타낼 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 프래그멘테이션 유닛 타입을 0x01로 설정할 수 있다.
또 다른 실시 예에서 프래그멘테이션 유닛 타입은 MPEG-DASH에서의 이니셜라이징 세그먼트 형태의 파일을 해당 프래그멘테이션 유닛이 포함하고 있음을 나타낼 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 프래그멘테이션 유닛 을 0x02로 설정할 수 있다.
또 다른 실시 예에서 프래그멘테이션 유닛 타입은 MPEG-DASH에서의 미디어 세그먼트(media segment)형태의 파일을 해당 프래그멘테이션 유닛(Fragmentation unit)이 포함하고 있음을 나타낼 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 프래그멘테이션 유닛 을 0x03로 설정할 수 있다.
구체적으로 프래그멘테이션 유닛 타입을 나타내는 정보는 6비트일 수 있다.
도 53은 프래그멘티드 패킷 의 페이로드의 구성의 또 다른 실시 예를 나타낸다.
도시된, 실시 예는 전송 패킷의 헤더에 전송 패킷의 순서와 관련된 정보가 존재하지 않는 경우에 적용될 수 있다.
도시된 바와 같이 프래그멘테이션 유닛(FU) 에 포함된 프래그멘테이션 유닛 헤더는 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보, 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보 및 프래그멘테이션 유닛의 타입을 나타내는 정보 및 프래그멘테이션 유닛의 전체 데이터에서의 순서를 나타내는 정보 중 적어도 하나를 포함할 수 있다. 상술한 정보 중 프래그멘테이션 유닛의 순서를 나타내는 정보를 제외한 나머지 정보는 전술한 내용과 같다.
프래그멘테이션 유닛의 순서를 나타내는 정보는 Fragmentation number 필드라고 할 수도 있다. 구체적으로 방송 전송 장치는 파일 포맷 기반의 미디어 데이터가 복수의 프래그멘티드 패킷에 나뉘어진 경우, 프래그멘테이션 유닛의 순서를 나타내는 정보에 값을 설정하여 해당 패킷의 순서를 할당한다. 구체적으로 Fragmentation number 필드는 8비트일 수 있다.
도 54는 본 발명의 일 실시 예에서 방송 전송 장치가 ISO BMFF 기반 미디어 파일을 프레그멘테이션하여 복수개의 패킷들로 나누는 것을 나타낸다. 도 54세 도시된 바와 같이, ISO BMFF 기반 미디어 파일은 ftyp, moov 와 복수의 moof 및 mdat을 포함할 수 있다.
방송 전송 장치는 ISO BMFF 기반 미디어 파일을 복수개로 나누어 각각 서로 다른 프래그멘테이션 유닛 데이터 에 포함시킬 수 있다. 또한, 방송 전송 장치는 ISO BMFF 기반 미디어 파일을 나누면서 페이로드 헤더에 관련 정보를 포함시킬 수 있다.
도 55는 방송 전송 장치가 패킷타이징한 제1 프래그멘테이션 유닛 데이터의 구체적인 실시 예를 나타낸다.
도시된 바와 같이, 본 발명의 일 실시 예에서 방송 전송 장치는 페이로드 헤더의 F 필드를 해당 패킷에 에러 또는 신택스의 오류가 없는 것으로 판단하여 0으로 설정한다.
또한, 방송 전송 장치는 Priority 필드를 가장 높은 우선순위를 나타내는 값으로 설정할 수 있다. 구체적으로 해당 값은 0x00일 수 있다.
또한, 방송 전송 장치는 Type 필드를 해당 패킷이 하나의 파일 포맷 기반 미디어 파일을 여러 페이로드에 나누어 전송하는 패킷을 나타내는 값으로 설정할 수 있다. 구체적으로 해당 값은 0x02일 수 있다..
페이로드 데이터는 프래그멘테이션 유닛을 포함할 수 있으며, 다시 프래그멘테이션 유닛은 Start bit 필드, End bit 필드, 프래그멘테이션 유닛 타입 필드 및 프래그멘테이션 유닛 데이터 필드를 포함할 수 있다.
방송 전송 장치는 Start bit 필드를 해당 패킷이 미디어 파일의 시작 데이터를 포함하는 내용을 나타내는 값으로 설정할 수 있다. 구체적으로, 도 54에서 제1 프래그멘테이션 유닛이 미디어 데이터의 시작 데이터를 포함하고 있는바, 방송 전송 장치를 해당 내용을 나타내는 값을 start bit 필드에 설정할 수 있다.
한편, 방송 전송 장치는 도 55에에서 예시로 들고 있는 제1 프래그멘테이션 유닛의 End bit 필드를 미디어 파일의 끝 데이터를 포함하고 있지 않다는 내용을 나타내는 값으로 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 해당 패킷이 미디어 파일의 끝 데이터를 포함하고 있지 않다는 내용을 나타내기 위해 End bit 필드를 0으로 설정할 수 있다.
한편, 방송 전송 장치는 도 55에서 예시로 들고 있는 제1 프래그멘테이션 유닛이 파일 포맷 기반 기본적인 형태의 파일을 포함하고 있다는 내용을 프래그멘테이션 유닛 타입 필드에 값을 설정할 수 있다. 구체적으로 파일 포맷 기반의 기본적인 형태란, ISO BMFF를 따르는 파일 포맷 데이터일 수 있다. 구체적인 실시 예에서 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 0x00으로 설정하여 해당 내용을 나타낼 수 있다.
도 56은 프래그멘테이션 유닛 데이터 중 시작데이터를 제외한 나머지 데이터를 포함하는 프래그멘테이션 유닛의 일 실시 예를 나타낸다.
도시된 바와 같이, 본 발명의 일 실시 예에서 방송 전송 장치는 페이로드 헤더의 F 필드를 해당 패킷에 에러 또는 syntax의 오류가 없는 것을 나타내는 값으로 설정한다. 구체적인 실시 예에서 방송 전송 장치는 F 필드를 0으로 설정할 수 있다. 또한, 방송 전송 장치는 도 56에 도시된 페이로드 데이터가 상대적으로 낮은 우선 순위를 가지는 것을 나타내는 값으로 Priority 필드를 설정한다.
구체적인 실시 예에서 제2 프래그멘테이션 유닛부터는 전체 미디어 데이터를시그널링하는 데이터를 포함하지 않을 수 있다. 따라서, 제1 프래그멘테이션 유닛보다 우선 순위가 상대적으로 낮은바, Priority 필드가 상대적으로 낮은 우선 순위를 갖는 값으로 설정될 수 있다. 예를 들면 해당 값은 0x01일 수 있다.
또한, 방송 전송 장치는 Type 필드를 해당 패킷이 하나의 파일 포맷 기반 미디어 파일을 여러 페이로드에 나누어 전송하는 패킷을 나타내는 Fragmented packet으로 0x02로 설정한다.
도 57은 페이로드 데이터가 시작 데이터를 포함하는 프래그멘테이션 유닛 데이터 및 끝 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하지 않는 경우의 페이로드 구성을 나타낸다.
본 발명의 일 실시 예에서, 방송 전송 장치는 프래크멘테이션 유닛 데이터가 시작 데이터 및 끝 데이터를 포함하고 있지 않는 바, start bit 필드 및 end bit 필드를 해당 정보를 나타내는 값으로 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 start bit 및 end bit 필드들을 모두 0으로 설정할 수 있다.
또한, 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 파일 포맷 기반 기본적인 형태의 파일을 포함하고 있다는 내용을 프래그멘테이션 유닛 타입 필드의 특정 값으로 설정할 수 있다. 구체적으로 파일 포맷 기반의 기본적인 형태란, ISO BMFF를 따르는 파일 포맷 데이터일 수 있다. 구체적인 실시 예에서 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 0x00으로 설정하여 해당 내용을 나타낼 수 있다. 패킷에 나누어진 각각의 파일 포맷 기반 미디어 데이터는 전체 파일에서 고유의 순서를 가질 수 있다. 방송 수신 장치(100)는 제어부(150)를 통해 나뉘어진 프래그멘테이션 유닛 데이터가 전체 데이터 중에서 시작 부분을 포함함을 Start bit 필드에 기초하여 식별할 수 있다. 또한, 프래그멘테이션 유닛 데이터가 전체 데이터 중에서 끝 부분을 포함함을 End bit 필드에 기초하여 식별할 수 있다. 그러나, Start bit 필드 및 End bit 필드만으로 식별할 수 없는 경우가 있을 수 있다.
프래그멘테이션 유닛 데이터가 전체 데이터 중 시작 데이터 또는 끝 데이터를 포함하고 있지 않은 경우, 방송 수신 장치(100)는 일 실시 예에서 페이로드에 포함된 프래그멘테이션 유닛 데이터의 순서를 나타내는 정보를 통해 해당 패킷을 식별할 수 있다. 구체적으로 프래그멘테이션 유닛 데이터의 순서를 나타내는 정보는 프래그멘테이션 넘버 필드일 수 있다. 또한, 방송 전송 장치는 해당 프래그멘테이션 유닛 데이터의 순서를 상술한 프래그멘테이션 필드에 설정할 수 있다.
그러나, 또 다른 실시 예에서 전송 패킷은 프래그멘테이션 유닛 데이터의 순서 정보를 포함하지 않을 수도 있다. 이 경우, 일 실시 예에서 방송 전송 장치는 패킷 헤더에 프래그멘테이션 유닛 데이터의 순서를 식별하기 위한 정보를 삽입할 수 있다. 패킷 헤더에 포함된 프래그멘테이션 유닛 데이터의 순서를 식별하기 위한 정보는 시퀀스 넘버(Sequence number) 필드라고 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 IP 데이터그램의 오프셋(offset) 정보에 프래그멘테이션 유닛 데이터의 순서를 식별하기 위한 정보를 삽입할 수도 있다.
도 58은 나뉘어진 전제 미디어 데이터 중 끝 데이터를 포함하는 프래그멘테이션 유닛을 포함하는 페이로드의 구성을 나타낸다.
구체적으로, 도면은 페이로드 데이터가 시작 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하지는 않으나, 끝 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하는 경우의 페이로드 구성을 나타낸다.
본 발명의 일 실시 예에서, 방송 전송 장치는 도 58의 프래크멘테이션 유닛 데이터가 끝 데이터를 포함하고 있는 바, start bit 필드 및 end bit 필드를 해당 정보를 나타내는 값으로 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 start bit를 0으로 설정할 수 있다. 그리고, 방송 전송 장치는 end bit 필드를 1로 설정할 수 있다.
또한, 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 해당 패킷이 포함하는 미디어 데이터가 ISO BMFF 기반의 ftyp으로 시작하는 기본적인 형태의 파일을 포함하는 내용을 나타내도록 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 0x00으로 설정할 수 있다.
방송 전송 장치가 전송 패킷을 통해 전송할 수 있는 데이터는 상술한 미디어데이터와 함께 메타데이터(metadata)가 있을 수 있다. 메타데이터는 미디어 데이터를 제공하기 위해 필요한 부가정보를 나타낸다. 이하 도 59내지 도 66에서는 메타데이터를 전송 패킷에 패킷타이징하여 전송 및 수신 하는 방송 전송 장치, 방송 전송 장치의 동작 방법, 방송 수신 장치 및 방송 수신 장치 동작 방법을 제안한다.
또한, 이하에서는 메타데이터의 일 예로 타임라인(timeline) 정보를 중심으로 설명한다. 타임라인 정보란 미디어 컨텐트를 위한 일련의 시간 정보이다. 구체적으로 타임라인 정보는 재생(presentation) 또는 디코딩하기 위한 일련의 시간 정보일 수 있다..
또한 타임라인 정보는 기본 타임라인(Base timeline) 정보를 포함할 수 있다. 기본 타임라인이란 복수의 서로 다른 전송망을 통해 전송되는 미디어 데이터를 동기화하기 위해 필요한 기준 타임라인을 의미한다. 구체적으로 제1 전송망을 통해 전송되는 미디어 데이터의 타임라인에 제2 전송망을 통해 전송되는 미디어 데이터의 타임라인을 매핑하는 경우, 제1 전송망을 통해 전송되는 미디어 데이터의 타임라인이 기본 타임라인이 된다.
한편, 방송 전송 장치는 메타데이터를 XML의 포맷으로 표현할 수 있다. 또한, 방송 전송 장치는 메타데이터를 시그널링 테이블에 포함가능한 디스크립터 형태로 표현할 수도 있다.
도 59는 본 발명의 일 실시예에 따른 메타데이터의 타임라인 시그널링 테이블을 보여준다.
본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인과 관련된 메타데이터임을 나타내는 정보 혹은 해당 메타데이터가 타임라인 컴포넌트 액세스 유닛(timeline component access unit) 구조를 포함하고 있음을 나타내는 정보를 포함할 수 있다. 상술한 정보를 identifier 필드라고 할 수 있다. 구체적인 실시 예에서 identifier 필드는 8비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛의 타임라인 정보의 길이를 나타내는 정보를 포함할 수 있다. 상술한 정보를 AU_length 필드라고 할 수 있다. 구체적인 실시 예에서 AU_length 필드는 32비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛과 연관된 서비스 및 컨텐트 컴포넌트에 대한 위치 정보를 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 상술한 정보를 location_flag 필드라고 할 수 있다. 구체적인 실시 예에서 location_flag 필드는 1비트일 수 있다.
또한 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛이 포함하는 타임스탬프(timestamp)의 버전 정보를 포함할 수 있다. 타임스탬프란 연속적인 타임라인에서 해당 액세스 유닛이 출력되어야 하는 시간 정보를 나타낸다. 상술한 정보를 timestamp_version 필드라고 할 수 있다. 구체적인 실시 예에서 timestamp_version 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛의 타임스탬프 타입 정보를 포함할 수 있다. 상술한 정보를 timestamp_type 필드라고 할 수 있다.
일 실시 예에서 타임스탬프 타입 정보는 타임라인 컴포넌트 액세스 유닛과 연관된 서비스 또는 컨텐트 컴포넌트의 디코딩 시점을 나타내는 값이 설정될 수 있다. 구체적으로 컨텐트 컴포넌트의 디코딩 시점은 디코딩 타임스탬프(decoding timestamp)라고 할 수 있다. 구체적인 일 실시 예에서, 방송 전송 장치는 타임스탬프 타입 정보를 해당 정보가 디코딩 시점을 나타내는 경우 0x00으로 설정할 수 있다.
또 다른 실시 예에서 타임스탬프 타입 정보는 타임라인 컴포넌트 액세스 유닛과 연관된 서비스 또는 컨텐트 컴포넌트의 재생시점을 나타내는 값이 설정될 수 있다. 구체적으로 컨텐트 컴포넌트의 재생 시점은 프리젠테이션 타임스탬프(Presentation timestamp)라고 할 수 있다. 구체적인 일 실시 예에서, 방송 전송 장치는 타입스탬프 타입 정보를 해당 정보가 프리젠테이션 시점을 나타내는 경우 0x01로 설정할 수 있다.
한편, 구체적인 실시 예에서 timestamp_type 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛의 타임스탬프 포맷 정보를 포함할 수 있다. 상술한 정보를 timestamp_format 필드라고 할 수 있다.
일 실시 예에서 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛이 포함하는 타임스탬프가 미디어 타임(Media time)의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 timestamp_format 필드를 0x00으로 설정하여 해당 액세스 유닛의 타임스탬프 포맷이 미디어 타임 포맷임을 나타낼 수 있다.
또 다른 실시 예에서 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛에 포함된 타임스탬프가 네트워크 타임 프로토콜(Network time protocol(NPT))의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 timestamp_format 필드를 0x01으로 설정하여 해당 액세스 유닛의 타임 스탬프 포맷이 NPT 포맷임을 나타낼 수 있다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛에 포함되는 타임스탬프가 MPEG DASH 미디어 프레젠테이션 타임의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 timestamp_format 필드를 0x02로 설정하여 해당 액세스 유닛의 타임스탬프 포맷이 MPEG DASH 미디어 프레젠테이션 타임이라는 것을 나타낼 수 있다. 미디어 타임을 나타내는 media_time 필드는 MPEG DASH의 미디어 프레젠테이션 타임을 나타낼 수 있다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛에 포함되는 타임스탬프가 NPT(now playing time)의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 timestamp_format 필드를 0x03로 설정하여 해당 액세스 유닛의 타임스탬프 포맷이 NPT 포맷이라는 것을 나타낼 수 있다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛에 포함되는 타임스탬프가 타임코드의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 timestamp_format 필드를 0x04로 설정하여 해당 액세스 유닛의 타임스탬프 포맷이 타임코드 포맷이라는 것을 나타낼 수 있다. 또한, 본 발명의 특정 실시예에 따르면, timestamp_format 필드는 4비트 필드일 수 있다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛에 포함되는 타임스탬프가 PTP(precision time protocol)의 포맷이라는 것을 나타낼 수 있다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 미래 사용을 위해 예비로 남겨둔 0x05-0x0E의 값을 갖는다.
다른 실시예에 따르면, 타임스탬프 포맷 정보는 개인 사용을 위한 타임스탬프 포맷을 나타내는 값(0x0F)을 가질 수 있다.
또한, 본 발명의 실시예에 따르면, 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛에 포함되는 타임라인 내의 정보와 관련된 서비스 또는 컨텐츠의 컴포넌트에 대한 위치 정보를 포함할 수 있다. 상기 정보는 위치 필드라 할 수 있다. 위치 필드는 MPEG DASH의 식별자 MPD(Media Presentation Description) 또는 스트림, 컨텐츠 컴포넌트 또는 서비스의 MPD URL을 나타낼 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 상술한 위치정보의 길이를 나타내는 정보를 포함할 수 있다. 위치정보 길이를 나타내는 정보를 location_length 필드라고 할 수 있다. 구체적인 실시 예에서 location_length 필드는 8비트일 수 있다.
또한 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 매칭의 기준이 될 수 있는 기본 타임라인의 타임스탬프 포맷 버전 정보를 포함할 수 있다. 상술한 정보를 origin_timestamp_version 필드라고 할 수 있다.
일 실시 예에서 origin_timestamp_version 필드가 0으로 설정되면, 타임스탬프 포맷이 32비트 포맷을 가진다는 것을 나타낼 수 있다. 또 다른 일 실시 예에서 origin_timestamp_version 필드가 1로 설정되면, 타임스탬프 포맷이 64비트 포맷을 가진다는 것을 나타낼 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 기본 타임라인의 타임스탬프 타입 정보를 포함할 수 있다. 상술한 정보를 origine_timestamp_type 필드라고 할 수 있다.
일 실시 예에서 origine_timestamp_type 필드는 기본 타임라인과 연관된 서비스 또는 컨텐트 컴포넌트의 디코딩 시점을 나타내는 값이 설정될 수 있다. 구체적으로 컨텐트 컴포넌트의 디코딩 시점은 디코딩 타임스탬프(decoding timestamp)라고 할 수 있다. 구체적인 일 실시 예에서, 방송 전송 장치는 해당 정보가 디코딩 시점을 나타내는 경우, origine_timestamp_type 필드를 0x00으로 설정할 수 있다.
또 다른 실시 예에서 origine_timestamp_type 필드는 기본타임라인과 연관된 서비스 또는 컨텐트 컴포넌트의 재생시점을 나타내는 값이 설정될 수 있다. 구체적으로 컨텐트 컴포넌트의 재생 시점은 프리젠테이션 타임스탬프(Presentation timestamp)라고 할 수 있다. 구체적인 일 실시 예에서, 방송 전송 장치는 해당 정보가 프리젠테이션 시점을 나타내는 경우, origine_timestamp_type 필드를 0x01로 설정할 수 있다.
본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 기본 타임라인에 대한 타임스탬프 포맷을 나타내는 정보를 포함할 수 있다. 상술한 정보를 origin_timestamp_format 필드라고 할 수 있다.
일 실시 예에서 origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 미디어 타임(Media time)의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 origin_timestamp_format 필드를 0x00으로 설정하여 해당 기본 타임라인의 타임스탬프 포맷이 미디어 타임 포맷임을 나타낼 수 있다.
또 다른 실시 예에서 origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 네트워크 타임 프로토콜(Network time protocol(NPT))의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 origin_timestamp_format 필드를 0x01으로 설정하여 해당 기본 타임라인의 타임 스탬프 포맷이 NPT 포맷임을 나타낼 수 있다.
다른 실시예에 따르면, origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 MPEG DASH 미디어 프레젠테이션 타임의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 timestamp_format 필드를 0x02로 설정하여 해당 기본 타임라인의 타임스탬프 포맷이 MPEG DASH 미디어 프레젠테이션 타임이라는 것을 나타낼 수 있다.
다른 실시예에 따르면, origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 NPT(now playing time)의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 origin_timestamp_format 필드를 0x03로 설정하여 해당 기본 타임라인의 타임스탬프 포맷이 NPT 포맷이라는 것을 나타낼 수 있다.
다른 실시예에 따르면, origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 타임코드의 포맷이라는 것을 나타낼 수 있다. 특정 실시예에 따르면, 방송 송신 장치는 origin_timestamp_format 필드를 0x04로 설정하여 해당 기본 타임라인의 타임스탬프 포맷이 타임코드 포맷이라는 것을 나타낼 수 있다.
다른 실시예에 따르면, origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 PTP(precision time protocol)의 포맷이라는 것을 나타낼 수 있다.
origin_timestamp_format 필드에 대한 값(0x05-0x0E)은 미래 사용을 위해 예비로 남겨둔다.
origin_timestamp_format 필드는 이 필드가 개인 사용을 위해 사용된다는 것을 나타내는 값(0x0F)을 가질 수 있다.
또한 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 매핑의 기준이 될 수 있는 기본 타임라인과 연관된 서비스 및 컨텐트 컴포넌트의 위치 정보를 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 상술한 정보를 origin_location_flag 필드라고 할 수 있다. 일 실시 예에서 origin_location_flag 필드가 0이외의 값으로 설정되는 경우 timeline AU는 origin_location_length 필드 및 origin_location 필드 중 적어도 어느 하나를 포함할 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 기본 타임라인과 연관된 서비스 또는 컨텐트에 대한 위치 정보를 포함할 수 있다. 상술한 정보는 origin_location 필드라고 할 수 있다. 구체적인 일 실시 예에서 origin_location 필드에 포한된 정보는 IP 주소, 포트 넘버 또는 URI 형태일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 기본 타임라인과 연관된 서비스 또는 컨텐트에 대한 위치 정보의 길이 정보를 포함할 수 있다. 상술한 정보를 origin_location_length 필드라고 할 수 있다. 구체적인 실시 예에서 origin_location_length 필드는 8비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 매핑의 기준이 되는 기본 타임라인이 미디어 타임의 형태인 경우, 사용 가능한 타임 스케일(time scale)의 정보를 포함할 수 있다. 상술한 정보를 origin_timescale 필드라고 할 수 있다. 예를 들면, MPEG-2 TS의 경우 타임스케일은 9000Hz를 나타낼 수 있다. 구체적인 실시 예에서 origin_timescale 필드는 32비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 기본 타임라인 상의 미디어 타임 정보를 포함할 수 있다. 상술한 정보를 origin_media_time 필드라고 할 수 있다. 한편, origin_media_time 필드는 origin_timestamp_type에 따라 의미하는 바가 달라질 수 있다. 예를 들어 origin_timestamp_type이 PTS를 의미하는 경우, origin_media_time 필드는 재생 시점을 나타낼 수 있다. 또 다른 예를 들어 origin_timestamp_type이 DTS를 의미하는 경우, origin_media_time 필드는 디코딩 시점을 나타낼 수 있다. 구체적인 실시 예에서 origin_media_time 필드는 origin_timestamp_version 필드가 0으로 설정된 경우 32비트일 수 있으며, origin_timestamp_version 필드가 1로 설정된 경우 64비트일 수 있다.
또한 본 발명의 일 실시 예에서, 타임라인 시그널링 테이블은 기본 타임라인의 타임스탬프 정보를 포함할 수 있다. 상술한 정보를 origin_timestamp 필드라고 할 수 있다. 기본 타임라인 타임스탬프 정보는 origin_timestamp_format 필드 값에 따라 서로 다른 포맷의 타임 스탬프를 나타낼 수 있다. 또한 origin_timestamp_type 필드 값에 따라 기본 타임라인 타임스탬프 정보 가 서로 다른 의미를 나타낼 수 있다. 예를 들면 origin_timestamp_type 필드가 PTS를 시그널링하는 경우 기본 타임라인 타임스탬프 정보는 재생 시간을 나타낼 수 있다.
예를 들면, origin_timestamp_type 필드가 DTS를 나타내며, origin_timestamp_format 필드가 0x01인 경우, 해당 origin_timestamp 필드는 NTP로 표현된 디코딩 시점을 나타낼 수 있다. 구체적인 실시 예에서 origin_timestamp 필드는 origin_timestamp_version 필드가 0인 경우 32비트일 수 있으며, origin_timestamp_version 필드가 1인 경우 64비트일 수 있다.
일 실시 예에서 origin_timestamp_format 필드가 reserved를 나타내는 경우 timeline AU는 private_data_length 필드 및 private_data_bytes() 필드 중 적어도 어느 하나를 포함할 수 있다.
private_data_length 필드는 private_data_bytes() 필드의 바이트 단위의 길이를 나타낼 수 있다. 구체적인 실시 예에서 private_data_length 필드는 16비트일 수 있다.
private_data_bytes() 필드는 private_data_length 필드가 나타내는 길이만큼 privately를 정의하거나, 추후 확장 내용을 포함할 수 있다.
도 60은 전송 패킷의 페이로드 데이터에 하나의 메타데이터가 패킷타이징된 페이로드 데이터의 구성을 나타낸다.
일 실시 예에서 페이로드 데이터는 메타데이터를 포함할 수 있으며, 메타데이터는 미디어 스트림 관련 타임라인 데이터를 포함할 수 있다. 또한 일 실시 예에서 방송 전송 장치가 전송 프로토콜로 고정 길이의 패킷을 사용하는 경우 페이로드 데이터는 패딩 비트를 추가적으로 포함할 수 있다.
도 61은 전송 패킷의 페이로드 데이터가 타임라인에 대한 메타데이터를 포함하는 경우의 일 실시 예를 나타낸다.
일 실시 예에서 페이로드 헤더는 F 필드, Priority 필드 및 Type 필드 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 방송 전송 장치는 F 필드를 페이로드 내에 에러가 존재하지 않으며, syntax 위반도 없음을 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 F 필드를 0으로 설정할 수 있다. 또한 방송 전송 장치는 Priority 필드를 페이로드 데이터가 미디어 파일 구성의 중요한 데이터를 모두 포함하는 바 가장 높은 우선순위를 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 Priority 필드를 0x00으로 설정될 수 있다. 또한 방송 전송 장치는 Type 필드를 페이로드 내에 타임라인 정보의 메타데이터를 포함하는 정보를 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 Type 필드를 0x03으로 설정할 수 있다. 또한 메타데이터는 전술한 신택스를 포함 수 있다.
도 62는 하나의 전송 패킷에 다수의 메타데이터가 패킷타이징된 경우를 나타낸다.
도시된 바와 같이 하나의 전송 패킷이 다수의 메타데이터를 포함하는 경우를 어그리게이션 패킷(Aggregation packet)이라고 할 수 있다. 일 실시 예에서 페이로드 데이터는 복수의 어그리게이션 유닛 을 포함할 수 있다.
일 실시 예에서 어그리게이션 유닛은 메타데이터의 길이를 나타내는 정보를 포함할 수 있다. 또 다른 실시 예에서 어그리게이션 유닛은 메타에디어 헤더 필드가 별도로 존재하는 경우, 메타데이터 헤더 필드 및 메타데이터 필드 길이의 합을 나타내는 정보를 포함할 수 있다. 상술한 정보들은 metadata length 필드라고 할 수 있다.
도 63은 하나의 전송 패킷이 여러 개의 타임라인 정보를 포함하는 경우를 나타낸다.
구체적으로 하나의 미디어 스트림에 관련하여 각각 기준이 다른 복수 개의 타임라인 정보를 하나의 전송 패킷이 포함하고 있는 경우를 나타낸다. 일 실시 예에서 전송 패킷는 페이로드 헤더를 포함할 수 있으며, 페이로드 헤더의 내용은 도 62의 내용과 같다.
또한, 일 실시 예에서 페이로드 데이터는 두 개의 어그리게이션 유닛을 포함할 수 있다. 그러나 페이로드 데이터가 포함하는 어그리게이션 유닛의 개수는 2개 이상이 될 수도 있다.
일 실시 예에서 각각의 어그리게이션 유닛은 도 62에 도시된 바와 동일하게 metadata length 필드, metadata header 필드 및 타임라인 정보를 포함하는 메타데이터 필드 중 적어도 어느 하나를 포함할 수 있다.
그러나, 도시된 제1 어그리게이션 유닛은 제1 타임라인을 포함하는 메타데이터 필드를 포함할 수 있으며, 제2 어그리게이션 유닛은 제2 타임라인을 포함하는 메타데이터 필드를 포함할 수 있다. 구체적인 실시 예에서 각각의 타임라인은 서로 다른 기준에 기반한 데이터를 가질 수 있다. 예를 들면 제1 타임라인 은 미디어 타임에 기반한 데이터를 가지고, 제2 타임라인은 NTP에 기반한 데이터를 가질 수 있다.
도 64는 하나의 메타데이터를 복수개의 전송 패킷에 나누어 패킷타이징한 패킷 페이로드를 나타낸다.
일 실시 예에서 하나의 메타데이터의 길이가 전송 패킷의 길이보다 큰 경우가 있을 수 있으며, 이 경우 방송 전송 장치는 해당 메타데이터를 여러 개의 전송 패킷에 나누어 전송할 수 있다. 도 64에 도시된 바와 같이 전송 패킷은 페이로드 헤더, 메타데이터 프래그먼트 헤더 및 메타데이터 프래그먼트 중 적어도 하나를 포함할 수 있다. 추가적으로 전송 프로토콜이 고정 길이의 패킷을 사용하는 경우 전송 패킷은 패딩 비트를 포함할 수도 있다.
도시된 바와 같이, 일 실시 예에서 메타데이터 프래그먼트 헤더는 해당 전송 패킷의 해당 전송 패킷의 페이로드 데이터에 포함된 메타데이터 프래그먼트가 전체 메타데이터의 시작 부분을 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 구체적으로 시작 부분의 데이터는 전체 미디어 데이터의 첫 비트를 포함하는 전체 데이터의 일부일 수 있다. 상술한 정보는 start bit 필드라고 할 수 있다. 구체적인 실시 예에서 start bit 필드는 1비트일 수 있다. 일 실시 예에서 방송 전송 장치는 해당 전송 패킷이 포함하고 있는 메타데이터 프래그먼트가 전체 메타데이터의 시작 부분을 포함하고 있는 경우에 start bit를 1로 설정할 수 있다.
또 다른 일 실시 예에서 메타데이터 프래그먼트 헤더는 해당 전송 패킷의 해당 전송 패킷의 페이로드 데이터에 포함된 메타데이터 프래그먼트가 전체 메타데이터의 끝 부분을 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 구체적으로 끝 부분의 데이터는 전체 미디어 데이터의 마지막 비트를 포함하는 전체 데이터의 일부일 수 있다. 상술한 정보는 end bit 필드라고 할 수 있다. 구체적인 실시 예에서 end bit 필드는 1비트일 수 있다. 일 실시 예에서 방송 전송 장치는 해당 전송 패킷이 포함하고 있는 메타데이터 프래그먼트가 전체 메타데이터의 끝 부분을 포함하고 있는 경우에 end bit를 1로 설정할 수 있다.
또 다른 실시 예에서 메타데이터 헤더는 메타데이터 타입을 나타내는 정보를 포함할 수 있다. 상술한 정보는 metadata type 필드라고 할 수 있다. 구체적인 실시 예에서 메타데이터 타입이 해당 메타데이터 프래그먼트가 타임란 정보를 포함하고 있음을 나타낼 수 있다. 이 경우 방송 전송 장치는 metadata type 필드를 0x00으로 설정할 수 있다. 또 다른 실시 예에서 메타데이터 타입이 해당 메타데이터 프래그먼트가 라벨링 관련 메타데이터를 포함하고 있음을 나타낼 수 있다. 이 경우 방송 전송 장치는 metadata type 필드를 0x01로 설정할 수 있다. 또한 구체적인 실시 예에서 metadata type 필드는 5비트일 수 있다.
도 65는 메타데이터 프래그먼트 헤더의 또 다른 실시 예를 나타낸다.
여기에서 전술한 내용과 동일한 부분의 설명은 생략한다.
본 발명의 일 실시 예에서 메타데이터 프래그먼트 헤더는 해당 패킷 페이로드에 포함된 메타데이터 프래그먼트의 순서를 나타내는 정보를 포함할 수 있다. 상술한 정보는 Fragmentation number 필드라고 할 수 있다. 방송 수신 장치(100)는 패킷 페이로드에 포함된 메타데이터 프래그먼트 순서 정보에 기초하여 해당 패킷이 몇번째의 메타데이터를 포함하고 있는지 판단할 수 있다.
도 66은 본 발명의 일 실시 예에 따른 방송 수신 장치가 방송 패킷을 수신하는 동작을 보여준다.
방송 수신 장치(100)의 제어부(150)는 도 43의 단계 S205에서 페이로드에 포함된 데이터가 미디어 데이터가 아니라고 판단한 경우, 하나의 전송 패킷에 전체 메타데이터가 포함되어 있는지 여부를 판단한다(S301). 구체적으로, 제어부(150)는 페이로드 헤더 정보로부터 페이로드에 포함된 데이터가 미디어 데이터가 아닌 메타데이터임을 판단할 수 있다. 그리고 제어부(150)는 해당 메타데이터 전체가 하나의 전송 패킷에 모두 포함되어 전송된 것인지 여부를 판단한다. 상술한 바와 같이 하나의 전송 패킷에 하나 또는 복수의 서로 다른 메타데이터가 포함될 수 있다. 또는 하나의 메타데이터가 나뉘어 복수의 서로 다른 전송 패킷에 포함될 수 있다.
본 발명의 일 실시 예에서, 방송 수신 장치(100)의 제어부(150)가 하나의 전송 패킷에 전체 메타데이터가 포함되어 있다고 판단한 경우, 제어부(150)는 하나의 패킷 페이로드로부터 메타데이터를 추출한다(S303). 구체적으로 제어부(150)는 페이로드 헤더를 추출하고, 추출된 페이로드 헤더에 기초하여 메타데이터를 추출한다. 일 실시 예에서 제어부(150)는 하나의 패킷 페이로드에서 하나의 메타데이터를 추출할 수 있다. 또 다른 실시 예에서 제어부(150)는 하나의 패킷 페이로드에서 복수의 메타데이터를 추출할 수 도 있다. 본 발명의 또 다른 실시 예에서, 방송 수신 장치(100)의 제어부(150)가 하나의 메타데이터가 복수의 전송 패킷에 나뉘어 포함되어 있다고 판단할 수 있다. 이 경우, 제어부(150)는 복수의 패킷 페이로드로부터 메타데이터를 추출한다(S305). 구체적인 실시 예에서 하나의 메타데이터가 복수의 전송 패킷에 나뉘어 패킷타이징될 수 있다. 방송 수신 장치(100)의 제어부(150)는 패킷 페이로드로부터 메타데이터 시그널링 데이터를 획득한다. 그리고 제어부(150)는 획득한 시그널링 데이터에 기초하여 복수의 패킷 페이로드로부터 메타데이터를 추출할 수 있다.
방송 수신 장치(100)의 제어부(150)는 추출한 메타데이터에 기초하여 컨텐트를 제공한다(S307). 구체적인 실시 예에서 제어부(150)는 메타데이터로부터 컨텐트의 재생 또는 디코딩 시간 정보를 획득할 수 있다. 또 다른 실시 예에서 제어부(150)는 메타데이터로부터 컨텐트를 설명하는 정보를 획득할 수도 있다.
도 67은 방송망으로는 RTP 프로토콜을 이용하여 비디오 스트림을 전송하고 인터넷망을 통해서는 파일 포맷 기반의 미디어 데이터를 이용하여 비디오 스트림을 전송하는 경우를 나타낸다.
이 경우 방송 수신 장치(100)는 타임라인 관련 메타데이터를 포함하는 RTP 패킷 혹은 IP/UDP 패킷을 수신한 후 RTP 프로토콜 기반 비디오 스트림과 DASH 기반 비디오 스트림 간의 타임라인을 매칭시켜 연관된 스트림간의 복호화 및 재생을 가능하게 할 수 있다.
도 68은 본 발명의 다른 실시예에 의한, timeline component access unit의 신택스 (syntax)를 나타낸 도면이다.
Timeline component AU는 방송망 혹은 인터넷망에서 전송되는 미디어 스트림에 관련된 추가의 메타데이터들을 포함할 수 있다. 이러한 메타데이터 중 미디어 스트림과 관련 timeline 에 대한 메타데이터를 포함하는 Timeline component AU가 도면에 도시되어 있다.
Timeline component AU는 XML 등 다른 형태의 포맷으로 표현되어질 수도 있다.
Timeline component AU는 identifier 정보, AU_length 정보, location_flag 정보, origin_timestamp_flag 정보, timestamp_version 정보, timestamp_type 정보, timestamp_format 정보, location_length 정보, location 정보, origin_timestamp_version 정보, origin_timestamp_type 정보, origin_timestamp_format 정보, origin_location_flag 정보, origin_location_length 정보, origin_location 정보, origin_timescale 정보, origin_media_time 정보, origin_timestamp 정보, private_data_length 정보, private_data_bytes() 정보, timescale 정보, media_time 정보, timestamp 정보, 및/또는 data_bytes() 정보를 포함할 수 있다.
전술한 Timeline component AU 의 신택스 (Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체한다.
Identifier 정보는 timeline 과 관련된 메타데이터임을 나타내는 식별자, 혹은 timeline component access unit(AU) 구조를 포함하고 있음을 나타내는 식별자일 수 있다.
AU_length 정보는 timeline component AU 가 포함하는 정보의 길이를 나타낼 수 있다.
location_flag 정보는 timeline component AU가 포함하는 정보와 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 location 정보를 포함하고 있는지 여부를 나타낼 수 있다.
origin_timestamp_flag 정보는 origin timestamp와 관련된 정보를 포함하는지 여부를 나타낼 수 있다.
timestamp_version 정보는 timeline component AU가 포함하는 timestamp 의 버전 정보를 나타낼 수 있다.
timestamp_type 정보는 timeline component AU가 포함하는 timestamp 의 타입을 나타낼 수 있다. 예를 들면, timestamp_type 정보의 값이 0x00 일 경우, 연관된 서비스/콘텐츠 컴포넌트의 access unit 등 데이터 (예를 들어, audio access unit)의 디코딩 시점을 나타내는 decoding timestamp (DTS) 을 나타낼 수 있으며, timestamp_type 정보의 값이 0x01의 경우, 연관된 서비스/콘텐츠 컴포넌트 등의 access unit 등 데이터(예를 들어 audio access unit)의 재생 시점을 나타내는 presentation timestamp (PTS) 을 나타낼 수 있다.
timestamp_format 정보는 timeline component AU가 포함하는 timestamp 의 포멧을 나타낼 수 있다. 예를 들면, timestamp_format 정보의 값이 0x00 인 경우, media time 임을 나타내고, 0x01 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x02 인 경우, PTP 임을 나타내고, 0x03 인 경우, timecode 임을 나타낼 수 있고, 추후 확장을 위하여 0x04 -0x0F 의 값을 reserve 할 수 있다.
location_length 정보는 location 필드에 대한 길이를 나타낼 수 있다.
location 정보는 timeline component AU가 포함하는 정보와 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 location 정보를 나타낼 수 있다. location 정보는 IP 주소/포트넘버, 혹은 URI 등의 형태로 나타낼 수 있다.
origin_timestamp_version 정보는 timeline 맵핑의 기준이 될 수 있는 base timeline 에 대한 timestamp 포멧의 버전을 나타낼 수 있다. 해당 필드 값이 0인 경우 32비트 포멧의 형식을, 1인 경우 64비트 포멧의 형식을 사용하고 있음을 나타낼 수 있다. 예를 들어, 비디오 스트림이 방송망을 통해서 전달되고 오디오 스트림이 인터넷 망을 통해서 전송되는 경우, 비디오 스트림에 오디오 스트림의 timeline 맵핑 하는 경우 기준이 되는 base timeline 은 방송망으로 전달되는 비디오 스트림의 timestamp가 될 수 있다. 이러한 경우 origin_timestamp_version은 방송망으로 전송되는 비디오 스트림의 대한 timestamp 형식을 나타낼 수 있다.
origin_timestamp_type 정보는 timeline 맵핑의 기준이 될 수 있는 base timeline 에 대한 timestamp 의 타입을 나타낼 수 있다. 예를 들면, origin_timestamp_type 정보의 값이 0x00 일 경우 base timeline 과 연관된 서비스/콘텐츠 컴포넌트 등의 access unit 등 데이터(예를 들어 audio access unit)의 디코딩 시점을 나타내는 decoding timestamp (DTS) 을 나타낼 수 있으며, origin_timestamp_type 정보의 값이 0x01의 경우 base timeline 과 연관된 서비스/콘텐츠 컴포넌트 등의 access unit 등 데이터(예를 들어 audio access unit)의 재생 시점을 나타내는 presentation timestamp (PTS) 을 나타낼 수 있다.
origin_timestamp_format 정보는 timeline 맵핑의 기준이 될 수 있는 base timeline 에 대한 timestamp 의 포멧을 나타낼 수 있다. 예를 들면, origin_timestamp_format 정보의 값이 0x00 인 경우, media time 임을 나타내고, 0x01 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x02 인 경우, PTP 임을 나타내고, 0x03 인 경우, timecode 임을 나타낼 수 있고, 0x04-0x0F의 값은 추후의 확장을 위하여 reserve할 수 있다.
origin_location_flag 정보는 timeline 맵핑의 기준이 될 수 있는 base timeline 과 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 location 정보를 포함하고 있는지 여부를 나타낼 수 있다.
origin_location_length 정보는 origin_location 필드에 대한 길이를 나타낼 수 있다.
origin_location 정보는 timeline 맵핑의 기준이 될 수 있는 base timeline 과 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 location 정보를 나타낼 수 있다. origin_location 정보는 IP 주소/포트넘버, 혹은 URI 등의 형태로 나타낼 수 있다.
origin_timescale 정보는 timeline 맵핑의 기준이 되는 base timeline의 media time 표현 시 사용할 수 있는 time scale 을 나타낼 수 있다. 예를 들면. MPEG-2 TS의 경우 timescale 은 90K 값을 가질 수 있다.
origin_media_time 정보는 timeline 맵핑의 기준이 되는 base timeline 상에서 media time 을 나타낼 수 있다. origin_timestamp_type 에 따라 해당하는 media time 의 의미하는 내용이 다를 수 있다. 예를 들어, origin_timestamp_type 이 PTS 일 경우, origin_media_time 정보는 재생 시점에 대한 media time 을 나타낼 수 있으며, origin_timestamp_type 이 DTS 일 경우, origin_media_time 정보는 디코딩 시점에 대한 media time 을 나타낼 수 있다. origin_media_time 정보는, origin_timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
origin_timestamp 정보는 timeline 맵핑의 기준이 되는 base timeline 상에서 origin_timestamp_format 의 필드 값에 따라 서로 다른 포멧의 timestamp 을 나타낼 수 있으며, origin_timestamp_type 에 따라 origin_timestamp 정보에 해당하는 timestamp 의 의미가 다를 수 있다. 예를 들어, origin_timestamp_type 이 DTS를 나타내며 origin_timestamp_format 의 값이 ‘0x01’의 경우, origin_timestamp 정보의 해당 timstamp은 NTP로 표현된 디코딩 시점을 나타낼 수 있다. origin_timestamp 정보는, origin_timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
private_data_length 정보는 뒤따르는 private_data_bytes 의 바이트 단위의 길이를 나타낼 수 있다.
private_data_bytes() 정보는 private_data_length 길이만큼 privately 정의하거나 추후 확장 내용을 포함 할 수 있는 영역을 나타낸다.
timescale 정보는 media time 표현 시 사용할 수 있는 time scale 을 나타낼 수 있다.
media_time 정보는 media time 을 나타낼 수 있다. timestamp_type 에 따라 media_time 정보에 해당하는 media time 의 의미하는 내용이 다를 수 있다. 예를 들어, timestamp_type 이 PTS 일 경우, media_time 정보는 재생 시점에 대한 media time 을 나타낼 수 있다. media_time 정보는, timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
timestamp 정보는 timestamp_format 의 필드 값에 따라 서로 다른 포멧의 timestamp 을 나타낼 수 있으며, timestamp_type 에 따라, timestamp 정보에 해당하는 timestamp 의 의미가 다를 수 있다. 예를 들어, timestamp_type 이 DTS를 나타내며, timestamp_format 의 값이 ‘0x01’의 경우, timestamp 정보에 해당하는 timstamp는 NTP로 표현된 디코딩 시점을 나타낼 수 있다. timestamp 정보는, timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
data_bytes() 정보는 추후 확장 내용을 포함 할 수 있도록 하는 필드들 또는 영역을 나타낸다.
MPEG DASH의 특정 timescale (예를 들어 10000hz) 로 표현되는 media presentation time 을, NTP 기반 timestamp와 매핑 시킬 수 있도록 함으로써, RTP 프로토콜을 통하여 전달되는 오디오/비디오 스트림 등의 데이터와 MPEG DASH 을 통해 전달되는 오디오/비디오 등의 데이터를 NTP 등의 base timeline을 기반으로 동기화하여, 방송 콘텐츠를 복호 또는 재생할 수 있다.
도 69는 본 발명의 일 실시예에 따른, 실시간 콘텐츠 전송 프로토콜 상에서 미디어의 동기화를 지원하기 위한 전송 패킷 포멧을 나타낸 도면이다.
실시간 콘텐츠 전송을 지원하는 전송 프로토콜, 예를 들어 RTP (Real-time transport protocol)의 경우, RTP 패킷은 오디오 access unit, 또는 비디오 network abstraction layer (NAL) unit 을 포함할 수 있다. RTP 상에서 여러 오디오/비디오 스트림 간의 동기를 맞추어 복호 및/또는 재생을 지원하기 위하여 RTCP (RTP control protocol) packet 을 이용할 수 있다. 송신단에서 생성하는, RTCP (RTP control protocol) packet은 각 RTP 패킷 헤더에 포함되는 RTP timestamp 와 NTP (Network time protocol) 간의 매칭 관계을 포함하고, 수신 단에서는 해당 정보를 이용하여 스트림 간의 복호화 및 재생 시간을 NTP 기반의 timeline 으로 매칭하여 동기화를 수행한다.
이를 위한 RTCP sender report packet 은 V(version) 정보, P(padding) 정보, Reception report count(RC) 정보, Payload Type 정보, Length 정보, Synchronization source identifier 정보, NTP timestamp 정보, RTP Timestamp 정보, sender’s packet count 정보, sender’s octet count 정보, reception report block, 및/또는 Profile-specific extension을 포함할 수 있다.
V(version) 정보는 RTP 프로토콜의 버전 정보 나타낸다.
P(padding) 정보는 페이로드 내에 padding 비트들의 존재 여부를 나타낸다.
Reception report count(RC) 정보는 reception report 의 수를 나타낸다.
Payload Type 정보는 RTCP 패킷의 페이로드의 타입을 나타낸다. Payload Type 정보는 페이로드에 포함된 것이, sender report, reception report 또는 application-specific packet 임을 나타낼 수 있다.
Length 정보는 RTCP 패킷의 길이를 나타낸다.
Synchronization source identifier 정보는 스트림의 source를 식별하는 식별자이다.
NTP timestamp 정보는 network time protocol 의 timestamp 을 64 비트로 표현한다.
RTP Timestamp 정보는 NTP timestamp 필드와 연관된 RTP timestamp 값을 나타낸다.
전송자의 패킷 카운트 정보는 전송을 시작한 후 이 SR 패킷이 생성될 때까지 전송자에 의해 전송된 RTP 데이터 패킷의 총수에 대응한다. 카운트는 전송자가 SSRC 식별자를 변경하면 리셋된다.
전송자의 옥텟 카운트 정보는 전송을 시작한 후 이 SR 패킷이 생성될 때까지 전송자에 의해 RTP 데이터 패킷에서 전송되는 페이로드 옥텟(즉, 헤더 및 패딩을 포함하지 않음)의 총수에 대응한다. 카운트는 전송자가 SSRC 식별자를 변경하면 리셋된다. 이 필드는 평균 페이로드 데이터 레이트를 추정하는데 사용될 수 있다.
Profile-specific extension 은 전송 프로토콜 프로파일에 따라 확장하여 사용할 수 있는 필드를 나타낼 수 있다. 프로파일 등에 특화된 정보 등을 포함할 수 있는 필드로서, 프로파일 등에 따라 다른 정보가 포함되거나 해석될 수 있다.
도 70은 본 발명의 일 실시예에 따른, profile-specific extension을 나타낸 도면이다.
RTCP의 sender report 패킷의 profile-specific extension 필드에 동일 망으로 전송되는 다른 전송 프로토콜 패킷 또는 상이한 망으로 전달되는 다른 전송 프로토콜 기반 패킷 (예를 들어 broadband 으로 전달되는 MPEG DASH 세그먼트 등)과의 타임 동기화를 지원하기 위한 정보를 추가할 수 있다. 해당 패킷은 다른 형태로 구성될 수 있다. 예를 들어, NTP timestamp를 기반으로 하여, NTP timestamp를, RTP timestamp 또는 DASH media presentation time 과 매핑할 수 있다.
전술한 RTCP sender report packet에 포함되는 Profile-specific extension은, Profile version 정보, Location Flag 정보, Timestamp format 정보, Timestamp 정보, 및/또는 Location 정보를 포함할 수 있다.
Profile version 정보는 프로파일의 버전 정보를 나타낼 수 있다.
Location Flag 정보는 location 필드의 포함여부를 나타낼 수 있다.
Timestamp format 정보는 포함된 timestamp 필드의 포맷을 나타낼 수 있다.
예를 들면, Timestamp format 정보의 값으로 0x00, 0x07-0x0F는 reserved 된 경우이다. Timestamp format 정보의 값이 0x01 인 경우, media time 임을 나타내고, 0x02 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x03 인 경우, normal playing time 임을 나타내고, 0x04 인 경우, SMPTE time code 임을 나타내고, 0x05 인 경우, 90KHz 기반의 timestamp 임을 나타내고, 0x06 인 경우, GPS time 임을 나타낼 수 있다.
Timestamp format 정보의 값이 0x01인 경우, timestamp 필드의 포맷이 media time 임을 나타낼 수 있으며, media time 은 MPEG DASH 의 media presentation time 에 해당될 수 있다.
Timestamp 정보는 연관된 타이밍 정보를 포함할 수 있다. 예를 들어, Timestamp 정보는 연관된 MPEG DASH의 MPD의 presentation reference clock 정보를 포함할 수 있다. Timestamp 정보는 timescale 및/또는 해당 time scale 기반 reference timeline 등의 타이밍 정보를 포함할 수 있다.
Location 정보는 timestamp 필드 값과 연관된 MPEG DASH 의 MPD 관련 정보 (예를 들어 MPD id 혹은 URL) 을 나타낼 수 있다.
이외에도, 전술한 timeline component access unit의 syntax에 포함되는 정보가 profile-specific extension에 포함될 수 있다.
도 71은 본 발명의 일 실시예에 따른, Application-Defined RTCP Packet 인 RTCP application 패킷을 나타낸 도면이다.
RTCP Packet은 V(version) 정보, P(padding) 정보, Subtype 정보, Payload Type 정보, Length 정보, Name 정보, 및/또는 Application-dependent data를 포함할 수 있다.
V(version) 정보는 RTP 프로토콜의 버전 정보 나타낸다.
P(padding) 정보는 페이로드 내에 padding 비트들의 존재 여부를 나타낸다.
Subtype 정보는 RTCP 패킷 페이로드의 서브 타입에 대한 정보를 나타낼 수 있다.
Payload Type 정보는 RTCP 패킷의 페이로드의 타입을 나타낸다. Payload Type 정보는 페이로드에 application-specific packet 이 포함되어 있음을 나타낼 수 있다.
Length 정보는 RTCP 패킷의 길이를 나타낸다.
Name 정보는 application의 이름 등의 정보를 포함할 수 있다.
Application-dependent data 는 application 제한적인 정보를 포함할 수 있다.
도 72는 본 발명의 일 실시예에 따른, application-dependent data를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, application-dependent data 필드를 이용하여 타임 동기화를 위한 타이밍 정보를 전송/수신할 수 있다.
application-dependent data 필드는 data type 정보, version 정보, Location Flag 정보, Timestamp format 정보, NTP timestamp 정보, Timestamp 정보, 및/또는 Location 정보를 포함할 수 있다.
data type 정보는 해당 필드에서 포함하는 데이터 타입을 나타낼 수 있다.
Version 정보는 해당 패킷의 프로파일의 버전 정보를 나타낼 수 있다.
Location Flag 정보는 해당 패킷이 location 필드의 포함여부를 나타낼 수 있다.
Timestamp format 정보는 포함된 timestamp 필드의 포멧을 나타낼 수 있다. 예르,ㄹ 들면, Timestamp format 정보의 값 중, 0x00, 0x07-0x0F은 미래의 사용을 위하여 reserved 된 것일 수 있다. Timestamp format 정보의 값이 0x01 인 경우, media time 임을 나타내고, 0x02 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x03 인 경우, NPT (normal playing time) 임을 나타내고, 0x04 인 경우, SMPTE time code 임을 나타내고, 0x05 인 경우, 90KHz 기반의 timestamp 임을 나타내고, 0x06 인 경우, GPS time임을 나타낼 수 있다.
예를 들어, MPEG DASH의 media presentation time 의 경우, Timestamp format 정보의 값이 0x01 인 media time 으로 나타낼 수 있고, 또는 다른 값을 더 할당하여 MPEG DASH의 media presentation time 임을 나타낼 수 도 있다.
NTP timestamp 정보는 network time protocol 의 timestamp 을 나타낸다.
Timestamp 정보는 연관된 타이밍 정보를 포함할 수 있다. 예를 들면, Timestamp 정보는 연관된 MPEG DASH의 MPD의 presentation reference clock 정보를 포함할 수 있다. Timestamp 정보는 timescale 및/또는 해당 time scale 기반 reference timeline 등의 타이밍 정보를 포함할 수 있다.
Location 정보는 timestamp 필드 값과 연관된 MPEG DASH 의 MPD 관련 정보 (예를 들어 MPD id 혹은 URL) 을 나타낼 수 있다.
전술한 application-dependent data 필드를 이용하는 경우, 방송망으로 RTP 전송/수신 프로토콜을 사용하고, 인터넷 망을 통하여 MPEG DASH 기반 미디어 데이터를 전송/수신하는 경우, MPEG DASH media presentation time 을 Network transport protocol의 timestamp 로 매핑할 수 있다. 오디오/비디오 데이터의 RTP timestamp 역시 NTP timestamp 와 매핑할 수 있으므로, RTP 패킷과 MPEG DASH 데이터 간의 동기화를 이루어, 방송 컨텐츠의 복호 및/또는 재생을 수행할 수 있다.
도 73은 본 발명의 실시예로서 방송 시스템에 적용될 수 있는 프로토콜 스택을 나타낸다.
지상파 방송 채널에서, 스트리밍 데이터(예를 들어, 비디오, 오디오, 클로즈드 캡션)는 IP/UDP를 통해 RTP 또는 ALC/LCT 익스텐션을 통해 전달될 수 있다. 특히, 스트리밍 데이터의 액세스 유닛은 RTP를 통해 전달되거나 스트리밍 데이터의 액세스 유닛의 세트를 포함하는 ISO BMFF 오브젝트가 ALC/LCT 익스텐션을 통해 전달될 수 있다. 또한, 비실시간 파일은 ACL/LCT를 통해 FLUTE를 통해 전달될 수 있다. 또한, IP/UDP 데이터그램 또는 링크층 시그널링은 링크층에서 암호화(encapsulate)되고 암호화된 형태로 전달될 수 있다.
브로드밴드 네트워크에서, MPEG DASH는 스트리밍 데이터의 전달을 지원하고 HTTP는 유니캐스트 채널을 통한 파일 전달을 지원할 수 있다. 멀티캐스트 채널을 통해, 스트리밍 데이터는 MPEG DASH 또는 RTP를 통해 전달될 수 있고, 파일은 FLUTE를 통해 전달될 수 있다.
도면은 클록 기준 스트림을 포함하여 미래 방송 시스템에서의 컨텐츠 전달을 위한 이들 프로토콜 스택의 예를 나타낸다. 클록 기준 스트림은 다양한 소스로부터 제공될 수 있는 다양한 스트림(예를 들어, 비디오, 오디오 또는 데이터 스트림) 간의 기준 타이밍을 제공하는 데이터 또는 정보를 포함할 수 있다.
링크층 내의 암호화에 대하여 이하에서 더 설명한다. 임의의 링크층 암호화없이 관련 패킷을 직접 송신할 수 있는 상이한 방법이 존재할 수 있다.
링크층은 IP 패킷, MPEG-2 TS 및/또는 다른 프로토콜 패킷의 암호화를 제공한다. 링크층 암호화를 이용하여, 물리층은 네트워크층 프로토콜 타입과 독립적으로 하나의 암호화 패킷 포맷을 처리할 수 있다. 기본적으로, 네트워크층 패킷은 링크층 패킷의 페이로드로 변환된다. 물리층 자원을 효율적으로 사용하기 위하여 링크층 패킷으로의 네트워크층 패킷의 연접(concatenation) 및 세그멘테이션(segmentation)이 수행될 수 있다.
연접에 대하여, 네트워크층 패킷이 작으면, 링크층 패킷의 페이로드는 몇 개의 네트워크층 패킷을 포함한다. 링크층 패킷 헤더는 연접을 수행하는 필드를 포함한다. 링크층 패킷 헤더는 네트워크층 패킷에 대한 연접이 존재하는지를 특정하는 정보, 네트워크층 패킷 간의 연접 순서를 특정하는 정보 및/또는 링크층 패킷에서 연접될 네트워크층 패킷의 수를 특정하는 정보를 포함할 수 있다.
세그멘테이션 및 리어셈블리(reassembly)에 대하여, 네트워크층 패킷이 너무 커서 물리층에서 처리할 수 없으면, 네트워크층 패킷은 2개의 세그먼트로 분할된다. 링크층 패킷 헤더는 전송측에서의 세그멘테이션 및 수신측에서의 리어셈블리를 수행하는 필드를 포함한다. 링크층 패킷 헤더는 이 링크층 패킷의 페이로드가 포함될 수 있는 네트워크층 패킷을 특정하는 정보, 네트워크층 패킷의 세그멘테이션의 수를 특정하는 정보, 네트워크층 패킷 내의 세그멘테이션의 각각의 순서를 특정하는 정보 및/또는 네트워크층 패킷의 첫번째 세그멘테이션 및/또는 마지막 세그멘테이션을 특정하는 정보를 포함할 수 있다.
오버헤드 감소를 위하여, 링크층은 IP 플로우 내의 오버헤드의 감소를 위한 선택적 헤더 압축을 제공한다. 헤더 압축은 RoHC (Robust Header compression) 프레임워크에 기초할 수 있다. RoHC 프레임워크는 단방향 모드로 동작할 수 있다.
링크층 시그널링 전송에 대하여, 링크층은 고속 정보 채널, EAS(Emergency Alert System) 메시지 및/또는 오버헤드 감소를 위한 정보 등의 링크층에서 생성된 시그널링 등의 시그널링 정보의 전송을 제공한다.
고속 정보 채널을 통한 시그널링에 대하여, 고속 정보 채널의 주목적은 신속한 채널 스캔 및 서비스 획득을 위한 필수적인 정보를 효과적으로 전달하는 것이다. 이 정보는 주로 방송 서비스 및 물리 데이터 파이프 간의 결합(binding) 정보를 포함한다.
EAS 시그널링의 전송에 대하여, 물리층이 적절한 대역폭을 갖는 특수 긴급 경보 채널을 지원하여 기본 긴급 경보 메시지(예를 들어, 공통 경보 프로토콜 메시지)를 전달하면, 이 채널은 긴급 경보 관련 시그널링 및 기본 긴급 경보 메시지를 전달할 수 있다. 추가의 미디어 파일은 개별 데이터 파이프를 통해 전달될 수 있다. 물리층만이 긴급 경보 메시지가 이용가능한 저대역폭 통지(low bandwidth notification)를 지원하면, 기본 경보 메시지 및 추가의 미디어 파일은 개별 데이터 파이프를 통해 전달될 수 있다. 이들의 경우, 개별 데이터 파이프가 높은 강건성(robustness)을 갖도록 구성될 수 있다.
시그널링의 개요 및 미래 방송 시스템에서 시그널링 정보를 얻기 위하여 장치가 겪는 "부트스트랩" 프로세스의 설명은 이하에 기재된다. 각각의 방송 시스템에서 3개의 시그널링 레벨이 존재할 수 있다.
(a) 각 서비스(예를 들어, 이름, 채널 번호, 서비스 타입)에 관한 핵심 정보(skeletal information)를 갖는 방송 스트림 내의 적어도 하나의 컴포넌트 및 (PHY층이 전용 물리층 파이프를 제공하지 않고 이러한 세부 정보에 대한 전용 IP 멀티캐스트 어드레스/포트가 존재하지 않으면) 각 서비스에 대한 세부 정보의 위치에 대한 포인터를 갖는 모든 서비스의 리스트. 이 리스트는 고속 서비스 스캔 동안 서비스 테이블을 형성하는데 사용될 수 있다.
(b) (서비스 위치 기술어(Service Location Descriptor)를 제외한) A/65 VCT와 유사한 방송 스트림 내의 적어도 하나의 컴포넌트 또는 하나 이상의 컴포넌트를 포함하는 각 서비스에 대한 DASH MPD의 URL 또는 A/153 SMT 내의 서비스 레벨 정보 및 (이 정보가 서비스 레벨 정보와 동일한 위치에 있지 않으면) 서비스의 컴포넌트에 관한 세부 정보의 위치에 대한 포인터를 갖는 각각의 속성.
(c) A/153 SMT 내의 MPEG-2 PMT 또는 컴포넌트 레벨 정보와 유사한 각 서비스의 각 컴포넌트 또는 DASH MPD의 위치 및 특성. 컴포넌트의 위치는 물리 채널, 물리층 파이프, IP 멀티캐스트 어드레스 및 포트 및 방송에 의해 전달된 컴포넌트에 대한 (적용가능한) ALC/LCT+ 세션의 TSI 또는 (브로드밴드를 통해 전달된 컴포넌트와 연관된 DASH MPD 내의 DASH 표시 또는 DASH 적응 세트를 나타내는 정보를 갖는) 브로드밴드를 통해 전달된 컴포넌트에 대한 DASH MPD의 URL을 포함한다. 이 시그널링의 목적으로, 클록 기준 스트림은 서비스의 컴포넌트로 간주될 것이다.
시청자가 서비스를 선택하면, 장치는 서비스 스캔 동안 레벨(a) 시그널링으로부터 형성된 서비스 테이블에서 찾아 서비스의 컴포넌트를 찾을 수 있는 물리 채널(들)을 결정한다.
그 후, 장치는 적절한 물리 채널(들)에 동조하고 레벨(b) 및 레벨(c) 시그널링을 액세스하여 필요한 추가의 정보를 얻는다.
도 74는 본 발명의 실시예로서 RTP 프레젠테이션 시간으로부터 수신기 벽시계 시간으로의 변환을 나타내는 도면이다.
방송 시스템은 방송 스트림의 실시간 연속 컨텐츠 전달을 지원할 수 있다.
방송 및 멀티캐스트 전달에 대하여, 방송 및 멀티캐스트 - RTP 및/또는 ALC/LCT+를 통한 ISO BMFF - 를 통한 연속 컨텐츠의 실시간 전달에 대하여 2개의 상이한 방법이 기술된다. 이들 두 가지 방법이 지원되면, 동일한 서비스 내에서 사용될 수 없다.
RTP 전달에 대하여, RTP를 통한 연속 컨텐츠 컴포넌트의 전달이 컨텐츠의 실시간 방송 또는 멀티캐스트 전달을 위해 지원될 수 있다. 이러한 전달은 타임드-텍스트(timed-text) 클로즈드 캡션, H.264 비디오, HEVC 비디오, HE AAC 오디오 등의 전달되는 미디어의 타입에 대한 적절한 추가 페이로드 사양 및 실시간 어플리케이션(RTP)를 위한 전송 프로토콜을 따를 수 있다. 특히, RTCP SR(RTP control protocol sender report) 패킷은 방송 또는 멀티캐스트를 통해 전달되는 상이한 연속 컨텐츠 컴포넌트 간의 동기화에 사용될 수 있다.
방송을 통해 수신기로 전달되는 것은 (프로토콜 경로 RTP/IP-멀티캐스트/UDP/IP를 이용하는) 연속 컴포넌트 트랙의 각각에 대한 하나의 방송 IP 멀티캐스트 RTP 스트림, 예를 들어, 비디오, 오디오 및 클로즈드 캡션 및/또는 (프로토콜 경로 RTP/IP-멀티캐스트/UDP/IP를 이용하는) 연속 컴포넌트 트랙의 각각에 대한 하나의 방송 IP 멀티캐스트 RTCP SR 스트림으로 구성될 수 있다.
방송을 통해 전달되는 하나 이상의 연속 컴포넌트를 동기화하기 위하여, 다음의 어프로치를 개발할 수 있다.
연속 컴포넌트 트랙의 각각에 대하여, 트랙을 위한 RTCP 스트림 내의 NTP(Network Time Protocol) 타임 스탬프(N(i)) 및/또는 해당 RTP(실시간 전송 프로토콜) 타임 스탬프(R(i))를 이용하여 (RTP 타임라인에 관한) RTP 패킷 헤더 내의 프레젠테이션 시간을 NTP 타임라인에 관한 프레젠테이션 시간으로 변환한다. 이 명세서에서, NTP 타임라인은 타이밍이 매핑될 수 있는 기준 타임라인의 예이다. NTP 타임 타임라인은 기준 타임라인으로 대체되거나 기준 타임라인과 결합될 수 있다. 기준 타임라인은 NTP 타임라인, GPS 타임라인, PTP(Precision Time Protocol) 타임라인, NPT(Now Playing Time) 및/또는 UTC(Coordinated Universal Time)를 포함한다.
PTR이 특정 RTP 패킷 헤더 내의 프레젠테이션 시간이고 N(i) 및 R(i)가 가장 최근의 RTCP 패킷으로부터의 값이면, 변환식은
PTN=N(i)+(PTR-R(i))/(RTP 클록 레이트)
이다. 여기서, PTN은 NTP 타임라인에 관한 프레젠테이션 시간이다.
서비스가 먼저 선택되고 단 하나의 RTCP 패킷이 수신되면, 시그널링된 공칭(nominal) RTP 클록 레이트가 이 계산에 사용될 수 있다. 더 많은 RTCP 패킷이 수신됨에 따라, 실제 RTP 클록 레이트에 대한 더 정확한 값이 값
(R(i+1)-R(i))/(N(i+1)-N(i))
으로부터 얻어질 수 있다. 여기서, R(i) 및 N(i)는 RTCP 패킷으로부터의 값이고, R(i+1) 및 N(i+1)는 다음 RTCP 패킷으로부터의 값이다. 도면은 이 상황의 예를 나타낸다.
패킷이 수신되는 시점에서 RTCP 패킷 내의 NTP 타임 스탬프(N(i))를 수신기 벽시계 시간(W(i))과 비교하여 그 둘 사이의 임의의 오프셋을 결정한다. (전달 지연 및 수신기 벽시계 및 서버 NTP 클록 간의 가능한 불일치의 조합이 제로가 아닌 오프셋을 유발할 수 있다.) 이 오프셋을 이용하여 RTP 패킷 헤더 내의 프레젠테이션 시간을 서버 NTP 타임라인에 관한 값(PTN)으로부터 수신기 벽시계 클록 타임라인에 관한 값(PTW)으로 조절한다.
도면은 RTP 패킷 내의 액세스 유닛의 프레젠테이션 타임 스탬프(PTR)으로부터의 NTP 타임라인에 관한 프레젠테이션 시간(PTN)으로 및 벽시계 클록 타임라인에 관한 프레젠테이션 시간(PTW)으로의 변환을 나타낸다.
도 75는 하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 RTP로 방송을 통해 전달되는 경우의 프로토콜 스택을 나타내는 도면이다.
하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 모두 방송을 통해 전달될 때, 방송을 통해 수신기로 전달되는 것이 (프로토콜 경로 RTCP/IP-멀티캐스트/UDP/IP를 이용하는) 3개의 트랙, 즉, 하나의 비디오, 하나의 오디오 및 하나의 클로즈드 캡션의 각각에 대한 하나의 방송 IP 멀티캐스트 RTP 스트림 및/또는 (프로토콜 경로 RTCP/IP-멀티캐스트/UDP/IP를 이용하는) 3개의 트랙의 각각에 대한 하나의 방송 IP 멀티캐스트 RTCP SR 스트림으로 구성될 수 있는 다음의 사용 케이스를 고려한다.
수신기는 시그널링을 이용하여 3개의 RTP 스트림(오디오, 비디오, CC 트랙) 및/또는 3개의 RTCP 스트림(오디오, 비디오, CC 트랙)의 IP 멀티캐스트 어드레스 및 포트를 얻을 수 있다.
수신기는 비디오, 오디오 및/또는 클로즈드 캡션 트랙에 대한 RTP 패킷이 도달했을 때 방송으로부터 그들을 추출할 수 있다.
수신기는 비디오, 오디오 및/또는 클로즈드 캡션 트랙에 대한 RTCP 패킷이 도달했을 때 방송으로부터 그들을 추출할 수 있다.
3개의 트랙의 각각에 대하여, 수신기는 트랙에 대한 RTCP 스트림 내의 NTP 타임 스탬프(N(i)) 및 해당 RTP 타임 스탬프(R(i))를 이용하여 (RTP 타임라인에 관한) RTP 패킷 헤더 내의 프레젠테이션 시간을 NTP 타임라인에 관한 프레젠테이션 시간으로 변환할 수 있다. PTR이 특정 RTP 패킷 헤더 내의 프레젠테이션이고 N(i) 및 R(i)가 최근의 RTCP 패킷으로부터의 값이면, 변환식은 PTN=(N(i)+(PTR-R(i))/(RTP 클록 레이트)이고, 여기서, PTN은 NTP 타임라인에 관한 프레젠테이션 시간이다. 서비스가 먼저 선택되고 하나의 RTCP 패킷만이 수신되면, 시그널링된 공칭 RTP 클록 레이트가 이 계산에 사용될 수 있다. 더 많은 RTCP 패킷이 수신됨에 따라, 실제 RTP 클록 레이트에 대한 더 정확한 값이 값
(R(i+1)-R(i))/(N(i+1)-N(i))
로부터 얻어질 수 있고, R(i) 및 N(i)는 하나의 RTCP 패킷으로부터의 값이고 R(i+1) 및 N(i+1)은 다음 RTCP 패킷으로부터의 값이다. 도 2는 이 상황의 예를 나타낸다.
수신기는 패킷이 수신되는 시점에서 RTCP 패킷 내의 NTP 타임 스탬프(N(i))를 수신기 벽시계 시간(W(i))과 비교하여 그 둘 사이의 임의의 오프셋을 결정할 수 있다. (전달 지연 및 수신기 벽시계 및 서버 NTP 클록 간의 가능한 불일치(discrepancy)의 조합이 제로가 아닌 오프셋을 유발할 수 있다.) 이 오프셋을 이용하여 RTP 패킷 헤더 내의 프레젠테이션 시간을 서버 NTP 타임라인에 관한 값(PTN)으로부터 수신기 벽시계 클록 타임라인에 관한 값(PTW)으로 조절한다. 이전에 설명한 도면은 이 계산의 예를 제공한다.
수신기는 적절한 벽시계 시간에서 RTP 스트림 내의 액세스 유닛을 제시할 수 있다.
도 76은 하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 ALC/LCT+를 통해 ISO BMFF로 방송을 통해 전달되는 경우의 프로토콜 스택을 나타내는 도면이다.
ALC/LCT+(Asynchronous Layered Coding/Layered Coding Transport+) 패킷에 포함되는 ISO BMFF(ISO base media file format) 오브젝트를 통한 연속 컨텐츠 컴포넌트의 전달이 컨텐츠의 실시간 방송 또는 멀티캐스트 전달을 위해 지원될 수 있다. ISO BMFF 오브젝트는 어플리케이션에 따라 특정되는 프로파일에 따른 MPEG ISO BMFF에 따라 포맷팅될 수 있다. ALC/LCT+ 패킷은 추가의 LCT 헤더 익스텐션으로 포맷팅되어 프레젠테이션 타이밍 정보를 전달할 수 있다. 프레젠테이션 타이밍 정보는 ISO BMFF 오브젝트의 시작을 포함하는 패킷에 대한 프레젠테이션 타임 스탬프를 포함할 수 있다. 이러한 프레젠테이션 타임 스탬프는 ISO BMFF 오브젝트 타임라인의 시작을 다음의 문단에 기재된 타임 베이스 내의 적절한 포인트에 매핑할 수 있다. URL을 각각의 ISO BMFF 오브젝트와 연관시킬 필요가 있으면(예를 들어, MPD가 시그널링에 사용되면), 각각의 ISO BMFF 오브젝트는 컨텐츠-위치 필드를 포함하는 HTTP-스타일 헤더를 가질 수 있다. 또는, ISO BMFF 오브젝트의 시작을 포함하는 ALC/LCT+ 패킷은 연관된 URL을 포함하는 LCT 익스텐션 헤더를 가질 수 있다.
"방송 타임라인"은 방송 또는 멀티캐스트를 통해 방송 타임라인 클록 기준 값을 전송함으로써 확립될 수 있다. 이 방송 타임라인은 LCT 헤더 익스텐션 내의 프레젠테이션 타이밍 정보에 대한 기준 시간 베이스로서 기능할 수 있다.
ALC/LCT+를 통해 ISO BMFF 오브젝트를 통해 실시간 방송 또는 멀티캐스트 모드로 전달되는 하나 이상의 연속 컨텐츠 컴포넌트를 포함하는 임의의 서비스는 개별 "타임 베이스" 컴포넌트를 포함하여 타임 베이스를 정의하여 프레젠테이션을 위한 기준 타임 베이스로서 기능할 수 있다. 이 타임 베이스 컴포넌트는 적절한 간격으로 송신되는 타임 스탬프 패킷으로 구성될 수 있다. 타임 스탬프는, PCR 값이 MPEG-2 환경에서 시스템 클록을 확립하는데 사용되는 것과 동일한 방식으로 디코더에 의해 사용되어 디코더측 시스템 클록을 확립할 수 있는 인코더측 시스템 클록의 샘플을 나타낼 수 있다.
방송을 통해 수신기로 전달되는 것은 (프로토콜 경로 Ref-Clock/IP-멀티캐스트/UDP/IP를 이용하는) 방송 타임라인에 대한 클록 기준 타임 스탬프를 포함하는 하나의 방송 IP 멀티캐스트 스트림 및/또는 연속 컴포넌트 트랙(예를 들어, 비디오, 오디오 및 클로즈드 캡션)의 각각에 대한 하나의 방송 ISO BMFF 스트림으로 구성될 수 있다.
하나의 방송 IP 멀티캐스트 스트림이 (프로토콜 경로 Ref-Clock/IP-멀티캐스트/UDP/IP를 이용하는) 방송 타임라인을 위한 클록 기준 시간을 포함하면, 타임라인의 타임 스케일은 통상의 클록 시간일 수 있다(예를 들어, 클록은 임의의 적절한 포맷으로 표현되는 서버에서의 UTC 시간일 수 있다).
연속 컴포넌트 트랙의 각각에 대한 하나의 방송 ISO BMFF 스트림이 사용되면, 각각의 ISO BMFF 파일은 ALC/LCT+ 오브젝트로서 전달될 수 있다.
연속 컴포넌트 트랙의 각각에 대한 하나의 방송 ISO BMFF 스트림이 사용되면, ISO BMFF 파일의 시작을 포함하는 ALC/LCT+ 패킷은 방송 타임라인에 대하여 ISO BMFF 파일의 타임라인에 대한 시작 시간을 제공하는 LCT 익스텐션 헤더를 갖는다.
연속 컴포넌트 트랙의 각각에 대한 하나의 방송 ISO BMFF 스트림이 사용될 때, URL을 각각의 ISO BMFF 파일과 연관시킬 필요가 있으면(예를 들어, MPD가 시그널링에 사용되면), 각각의 ISO BMFF 파일은 컨텐츠-위치 필드를 포함하는 HTTP-스타일 헤더를 가질 수 있다. 또는, ISO BMFF 파일의 시작을 포함하는 ALC/LCT+ 패킷은 연관된 URL을 포함하는 LCT 익스텐션 헤더를 가질 수 있다.
하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 모두가 방송을 통해 전달되는 사용 케이스를 고려한다.
수신기는 시그널링을 이용하여 클록 기준 스트림의 IP 멀티캐스트 어드레스 및 포트 및/또는 비디오, 오디오 및 클로즈드 캡션 트랙에 대한 ISO BMFF 스트림(들)을 전달하는 ALC/LCT+ 세션을 위한 TSI(Transport Stream Identifier) 값 및 IP 멀티캐스트 어드레스 및 포트를 얻을 수 있다.
수신기는 타임 스탬프가 나타났을 때 클록 기준 스트림으로부터 그를 추출하고 그를 이용하여 방송 타임라인과 수신기 "벽시계" 시간 간의 오프셋을 결정할 수 있다.
수신기는 비디오, 오디오 및 클로즈드 캡션 트랙을 위한 ISO BMFF 파일(들)이 나타났을 때 그를 방송으로부터 추출할 수 있다.
수신기는 상기 단계에서 결정된 오프셋에 의해 조절된 각각의 BMFF 파일의 ALC/LCT+ 익스텐션 헤드 내의 프레젠테이션 타임 스탬프를 이용하여 각각의 ISO BMFF 파일의 타임라인에 대한 벽시계 시작 시간을 설정할 수 있다.
수신기는 각 ISO BMFF 파일에 대한 벽시계 시작 시간 및 파일 내의 내부 관련 타이밍 정보에 기초하여 적절한 벽시계 시간에 BMFF 파일 내의 액세스 유닛을 제시할 수 있다.
방송 시스템은 방송 스트림의 유니캐스트 전달을 지원할 수 있다.
MPEG DASH(Dynamic adaptive streaming over HTTP)가 ISO BMFF의 사양에 따른 세그먼트와 함께 유니캐스트 채널을 통한 연속 컴포넌트의 실시간 전달을 위해 지원될 수 있다. "라이브" DASH 프로파일 및 "사전 기록(pre-recorded)" DASH 프로파일은, (선형 서비스의 일부로서 또는 온-디맨드(on-demand) 서비스의 일부로서) 라이브 컨텐츠의 전달을 위해 의도된 라이브 프로파일 및 사전 기록된 컨텐츠의 전달을 위해 의도된 사전 기록된 프로파일과 함께 이 목적으로 특정될 수 있다.
고정 및 모바일 수신기로의 실시간 연속 컨텐츠 전달을 위한 에러 정정은 물리층에서 지원될 수 있다.
본 발명의 실시예로서의 방송 시스템은 비실시간(NRT) 파일 (또는 데이터) 전달을 지원할 수 있다.
방송 또는 멀티캐스트를 통한 파일의 비실시간 전달이 지원될 수 있다.
파일의 비실시간 전달을 위한 에러 정정은 FEC(Forward Error Correction) 및 전달후 리페어를 이용하여 지원될 수 있다.
유니캐스트를 통한 파일의 비실시간 전달은 HTTP 1.1 및 TLS 1.2를 통한 HTTP 1.1을 통해 지원될 수 있다.
컨텐츠 파일의 비실시간 전달을 지원하기 위하여, 지원되는 파일 포맷을 특정할 필요가 있다. 특히, 다른 컨텐츠와의 동기화가 가능하도록 연속 미디어를 포함하는 파일의 파일 포맷을 특정할 필요가 있다.
도 77은 본 발명의 실시예로서 방송 채널에서 RTP를 통해 전달되는 연속 미디어 컴포넌트 및 브로드밴드를 통해 DASH를 통해 전달되는 연속 미디어 컴포넌트 간의 동기화의 동작예를 나타내는 도면이다.
방송 스트림이 상이한 전송 경로를 통해 상이한 타입으로 전달될 수 있다. 방송 또는 멀티캐스를 통해 실시간으로 전달되는 다수의 미디어 컴포넌트 스트림 및 유니캐스트 브로드밴드 채널을 통해 전달된 영화 프래그먼트를 전달하는 DASH 세그먼트 간의 동기화를 위한 모델이 구현될 필요가 있다.
RTP(방송 또는 멀티캐스트) 및 DASH(유니캐스트)의 조합을 위해, 상기 설명에서 기재된 바와 같이, RTP를 통해 전달된 각각의 연속 미디어 컴포넌트는 연관된 RTCP SR 스트림을 가질 수 있다. 각각의 RTCP SR 패킷은 NTP 클록 기준 타임스탬프 및 해당 RTP 클록 기준 타임스탬프를 전달할 수 있고, 이는 RTP 타임라인을 NTP 타임라인에 매핑하는데 사용될 수 있다. 따라서, (RTP 패킷 헤더 내의 RTP 프레젠테이션 타임 스탬프에 의해 지시될 수 있는) RTP 스트림 내의 액세스 유닛의 프레젠테이션 시간은 NTP 타임라인으로의 RTP 타임라인의 매핑에 의해 결정될 수 있다.
DASH(유니캐스트)를 통해 전달된 컨텐츠를 RTP(방송 또는 멀티캐스트)를 통해 전달된 컨텐츠와 동기화하기 위하여, DASH 미디어 프레젠테이션 타임라인으로부터 NTP 타임라인으로의 매핑을 확립할 필요가 있다. DASH 미디어 프레젠테이션 타임라인으로부터 NTP 타임라인으로의 매핑을 확립하는데 필요한 정보는 방송 또는 멀티캐스트로 전달될 수 있다.
도면은 방송 채널에서 RTP를 통해 전달되는 연속 미디어 컴포넌트 및 브로드밴드를 통해 DASH를 통해 전달되는 연속 미디어 컴포넌트 간의 동기화의 동작 예를 나타낸다. NTP 타임라인으로의 DASH 미디어 프레젠테이션 타임라인과 관련된 정보의 매핑은 방송 또는 멀티캐스트를 통해(예를 들어, 이하의 도면에서 녹색 패킷) 전달될 수 있다.
도 78은 본 발명의 실시예로서 방송 채널에서 RTP를 통해 전달되는 연속 미디어 컴포넌트 및 브로드밴드를 통해 DASH를 통해 전달되는 연속 미디어 컴포넌트 간의 동기화 방법을 나타내는 도면이다.
동기화를 달성하는 하나의 방법은 RTCP 포맷 커스토마이제이션 메카니즘을 이용하여 RTCP 패킷에 DASH 미디어 프레젠테이션 클록 기준 타임스탬프를 포함시키는 것이다. 이를 어플리케이션 정의 RTCP 패킷이라할 수 있다. 또한, DASH 미디어 프레젠테이션 클록 기준 타임스탬프가 RTP 클록 기준 타임스탬프 및 NTP 클록 기준 타임스탬프와 함께 RTCP 패킷(특히, 전송자 보고 패킷)에 포함될 수 있다.
도 79는 본 발명의 실시예로서 어플리케이션 정의 RTCP 패킷의 예를 나타내는 도면이다.
어플리케이션 정의 RTCP 패킷은 V(버전), P(패딩), 서브타입, 페이로드 타입, 길이, 이름 및/또는 어플리케이션 종속 데이터를 포함할 수 있다. 어플리케이션 종속 데이터는 데이터 타입, 버전, 위치 플래그, 타임스탬프 포맷, NTP 타임스탬프, 타임스탬프 및/또는 위치를 포함할 수 있다.
V(버전)는 RTP 프로토콜의 버전을 나타낸다.
P(패딩)는 페이로드 내의 패딩 비트의 존재를 나타낸다.
서브타입은 RTCP 패킷 페이로드의 서브타입 정보를 기술한다.
페이로드 타입은 RTCP 패킷 페이로드의 타입을 나타낸다.
길이는 RTCP 패킷의 길이를 나타낸다.
이름은 어플리케이션 이름을 포함한다.
어플리케이션 종속 데이터는 어플리케이션 종속 데이터를 포함한다.
데이터 타입은 어플리케이션 종속 데이터의 타입 정보를 나타낸다.
버전은 이 어플리케이션 종속 데이터의 버전을 나타낸다.
위치 플래그는 어플리케이션 종속 데이터 내의 위치 필드의 존재를 나타낸다.
타임스탬프 포맷은 타임스탬프 필드의 포맷을 나타낸다. 예를 들어, 다음과 같이 상이한 포맷을 나타낼 수 있다. 예를 들어, 0x00: 리저브드, 0x01: 미디어 타임, 0x02: NTP(Network Time Protocol), 0x03: 정상 재생 시간, 0x04: SMPTE 타임 코드, 0x05: 90KHz 기반 타임스탬프, 0x06: GPS 시간, 0x07-0x0F: 리저브드, MPEG DASH의 경우, 이 필드는 "미디어 타임"을 나타내는 0x01을 포함할 수 있다.
NTP 타임스탬프는 네트워크 타임 프로토콜의 타임스탬프 값을 포함한다.
타임스탬프는 시간 기준 클록 정보(예를 들어, 타임 스케일, 타임 스케일 기반 프레젠테이션 타임 스탬프, 등)를 포함한다. 예를 들어, MPEG DASH의 경우 DASH 미디어 프레젠테이션 클록 기준 타임스탬프를 포함할 수 있다.
위치는 관련된 위치 값, 예를 들어, DASH MPD id 또는 URL을 포함한다.
도 80은 본 발명의 실시예로서 RTCP 전송자 보고 패킷 헤더의 예를 나타내는 도면이다.
DASH 미디어 프레젠테이션 클록 기준 타임스탬프는 RTP 클록 기준 타임스탬프 및 NTP 클록 기준 타임스탬프와 함께 RTCP 패킷(특히, 전송자 보고 패킷)에 포함될 수 있다.
RTCP 전송자 보고 패킷 내에 포함되는 정보에 대한 설명은 이전의 설명을 참조할 수 있다.
RTCP 전송자 보고 패킷은 버전, 위치 플래그, 타임스탬프 포맷, 타임스탬프 및/또는 위치를 포함할 수 있다.
버전은 프로파일 버전을 나타낸다.
위치 플래그는 프로파일 특정 데이터 내의 위치 필드의 존재를 나타낸다.
타임스탬프 포맷은 타임스탬프 필드의 포맷을 나타낸다. 예를 들어, 다음과 같이 상이한 포맷을 나타낼 수 있다. 예를 들어, 0x00: 리저브드, 0x01: 미디어 타임, 0x02: NTP(Network Time Protocol), 0x03: 정상 재생 시간, 0x04: SMPTE 타임 코드, 0x05: 90KHz 기반 타임스탬프, 0x06: GPS 시간, 0x07-0x0F: 리저브드.
타임스탬프는 시간 기준 클록 정보(예를 들어, 타임 스케일, 타임 스케일 기반 프레젠테이션 타임 스탬프, 등)를 포함한다. 예를 들어, MPEG DASH의 경우 DASH 미디어 프레젠테이션 클록 기준 타임스탬프를 포함할 수 있다.
위치는 관련된 위치 값, 예를 들어, DASH MPD id 또는 URL을 포함한다.
도 81은 본 발명의 실시예로서 RTP의 하이브리드 전달을 위한 프로토콜 스택을 나타내는 도면이다.
동기화를 달성하는 다른 방법은 방송 또는 멀티캐스트를 통해 전달된 서비스 내의 개별 "DASH-NTP 타임 베이스 매핑" 컴포넌트를 포함하여 DASH 미디어 프레젠테이션 타임라인을 NTP 타임라인에 매핑하는 것이다.
방송 또는 브로드밴드를 통해 수신기로 전달되는 것은 (프로토콜 경로 RTP/IP-멀티캐스트/UDP/IP를 이용하는) 방송 연속 컴포넌트 트랙, 예를 들어, 비디오, 오디오 및 클로즈드 캡션의 각각에 대한 하나의 방송 IP 멀티캐스트 RTP 스트림, (프로토콜 경로 RTP/IP-멀티캐스트/UDP/IP를 이용하는) 방송 연속 컴포넌트 트랙의 각각에 대한 하나의 방송 IP 멀티캐스트 RTCP SR 스트림, (프로토콜 경로 ISO BMFF/DASH/HTTP(S)/TCP/IP)를 이용하는) DASH를 이용하여 브로드밴드를 통해 이용가능한 하나 이상의 연속 컴포넌트 트랙 및/또는 DASH 미디어 프레젠테이션 타임 라인 상의 NTP 타임 스탬프 및 해당 시간을 포함하는 하나의 방송 IP 멀티캐스트 스트림으로 구성될 수 있다. (개념적으로 DASH 컴포넌트(들)에 대한 RTCP 스트림으로서 생각할 수 있다.) 그 목적은 (프로토콜 경로 Ref-Clocks/IP-멀티캐스트/UDP/IP를 이용하여) DASH 미디어 프레젠테이션 타임라인을 NTP 타임라인에 매핑하는 것이다.
하나의 비디오 트랙, 하나의 오디오 트랙 및 하나의 클로즈드 캡션 트랙이 방송을 통해 전달되고 제2 오디오 트랙이 유니캐스트 브로드밴드를 통해 전달되는 다음의 하이브리드 전달 사용 케이스를 고려할 수 있다.
도면은 이 경우의 컨텐츠 전달을 위한 프로토콜 스택을 나타낸다. 크로스 해칭된 회색의 오디오 트랙은 프레젠테이션에 사용되지 않는다.
수신기는 시그널링을 이용하여 어떤 오디오 트랙이 제시될지(이 경우, 대체(alternate) 오디오 트랙)를 결정하고, 방송 비디오 및 클로즈드 캡션 RTP/RTCP 스트림을 위한 IP 멀티캐스트 어드레스 및 포트를 획득하고, DASH-NTP 클록 매핑 스트림을 위한 IP 멀티캐스트 어드레스 및 포트를 획득하고 및/또는 대체 오디오 스트림의 브로드밴드 DASH 전달을 위한 MPD의 URL을 획득할 수 있다.
수신기는 MPD의 URL을 이용하여 DASH MPD를 검색할 수 있다.
수신기는 비디오 및 클로즈드 캡션 트랙을 위한 RTP 패킷이 도달하면 그를 방송으로부터 추출할 수 있다.
수신기는 비디오 및 클로즈드 캡션 트랙을 위한 RTCP 패킷이 도달하면 그를 방송으로부터 추출할 수 있다.
수신기는 NTP-DASH 클록 매핑 패킷이 도달하면 그를 추출할 수 있다.
비디오 및 클로즈드 캡션 트랙에 대하여, RTP 전달에서처럼, 수신기는 트랙에 대한 RTCP 스트림 내의 NTP 타임 스탬프(N(i)) 및 해당 RTP 타임 스탬프(R(i))를 이용하여 (RTP 타임라인에 관한) RTP 패킷 헤더 내의 프레젠테이션 시간을 NTP 타임라인에 관한 프레젠테이션 시간으로 변환할 수 있다.
수신기는 NTP-DASH 클록 매핑 패킷을 이용하여 DASH 미디어 프레젠테이션 타임라인을 NTP 타임라인에 매핑할 수 있다 (이들의 양 타임라인의 타임 스케일은 통상의 클록 시간이어서, 그들 간의 오프셋을 결정할 필요가 있다).
수신기는 패킷이 수신되는 시점에서 RTCP 패킷 내의 NTP 타임 스탬프를 수신기 벽시계 시간과 비교하여 그들 간의 임의의 오프셋을 결정할 수 있다. (전달 지연 및 수신기 벽시계 및 서버 NTP 클록 간의 가능한 불일치의 조합이 제로가 아닌 오프셋을 유발할 수 있다.) 이 오프셋을 이용하여 RTP 패킷 헤더 내의 프레젠테이션 시간을 NTP 타임라인으로부터 수신기 벽시계 타임라인으로 조절하고 DASH 미디어 프레젠테이션 타임라인 및 NTP 타임라인 간의 매핑을 조절하여 DASH 미디어 프레젠테이션 타임라인 및 수신기 벽시계 타임라인 간의 매핑을 얻을 수 있다.
수신기는 적절한 벽시계 시간에서 RTP 스트림 (비디오 및 클로즈드 캡션 트랙) 내의 액세스 유닛을 제시할 수 있다.
상기 단계의 매핑을 이용하여, 수신기는 현재의 수신기 벽시계 시간에 대응하는 DASH 미디어 프레젠테이션 타임라인 내의 시간을 결정할 수 있다. MPD를 이용하여 해당 DASH 기간, 원하는 오디오 트랙을 포함하는 DASH 표시, DASH 세그먼트 및 그 세그먼트의 URL을 결정한다.
수신기는 그 DASH 세그먼트 및 후속의 세그먼트를 검색할 수 있다. 그리고, 상기 단계의 매핑을 이용하여 적절한 벽시계 시간에 그들 내의 액세스 유닛을 제시한다.
도 82는 본 발명의 실시예로서 수신기 벽시계 타임라인으로의 DASH 프레젠테이션 시간의 변환을 나타내는 도면이다.
DASH 미디어 프레젠테이션 타임라인에 관한 프레젠테이션 시간(PTD)은 NTP 타임라인에 관한 프레젠테이션 시간(PTN)으로 변환된 후, 벽시계 시간에 대한 프레젠테이션 시간(PTW)으로 변환된다.
도 83은 본 발명의 실시예로서 ALC/LCT+를 통해 전달된 컨텐츠와 DASH(유니캐스트)를 통해 전달된 컨텐츠의 동기화를 나타내는 도면이다.
본 문서에 기재된 바와 같이, 방송 타임라인은 연속 컨텐츠가 ALC/LCT+를 통해 전달될 때마다 확립되어 ALC/LCT+ 패킷의 LCT 헤더 익스텐션 내의 프레젠테이션 타이밍 정보를 위한 기준 타임 베이스로서 기능할 수 있다. DASH(유니캐스트)를 통해 전달된 컨텐츠와 ALC/LCT+(방송 또는 멀티캐스트)를 통해 전달된 컨텐츠를 동기화하기 위하여, DASH 미디어 프레젠테이션 타임라인으로부터 방송 타임라인으로의 매핑을 확립하는데 필요한 정보가 도면에 도시된 바와 같이 방송 또는 멀티캐스트로 전달될 수 있다.
정보는 타임라인 컴포넌트 AU(또는 방송 타임라인 패킷 또는 타임 베이스 컴포넌트)에 대응할 수 있다.
방송망 및 인터넷 등의 이종망을 통해 전송되는 스트림이 상술한 방송 시스템의 수신기에서 하나의 서비스를 위해 동기화되어 사용될 가능성이 있다. 예를 들어, 도시된 바와 같이, 비디오 스트림이 방송망을 통해 전송되고 오디오 스트림이 인터넷을 통해 전송되면, 2개의 스트림은 하나의 서비스를 위해 동기화되고, 디코딩되고 재생될 필요가 있다. 즉, 비디오가 방송망을 통해 획득되고 오디오가 인터넷을 통해 획득되어 하나의 서비스를 이용한다. 예를 들어, 방송망에서 제공된 언어로부터 상이한 언어로 기록된 오디오를 이용하여 동일한 컨텐츠를 보기를 원하는 시청자는 인터넷을 통해 원하는 언어로 기록된 해당 컨텐츠의 오디오를 수신하고 수신된 오디오를 사용할 수 있다.
그러나, 2개의 스트림은 상이한 타임라인을 갖고, 따라서, 2개의 타임라인 간의 매핑을 수행하는 메카니즘이 필요하다. 여기서, 타임라인의 각각은 각 전송망을 통해 전송된 데이터 또는 컨텐츠의 재생 또는 디코딩을 위한 기준으로서 기능하는 절대 또는 상대 시간을 나타낼 수 있다. 서비스에서, 방송망을 통해 전송되는 비디오 내에 포함되는 컨텐츠가 인터넷을 통해 전송되는 오디오에 포함되는 컨텐츠와 동일할 필요가 있다.
본 실시예는 방송망 및 인터넷 등의 이종망을 통해 전송된 스트림들간의 동기화를 위해 타임라인 컴포넌트를 이용하는 방법 및 장치를 제안한다. 타임라인 컴포넌트 스트림은 하나 이상의 타임라인 컴포넌트 액세스 유닛(AU)을 포함할 수 있다. 타임라인 컴포넌트 AU는 타임라인 컴포넌트에 인접하여 배치될 수 있다.
타임라인 컴포넌트 AU는 인터넷을 통해 전송되는 스트림의 타임라인이 방송망을 통해 전송되는 스트림의 타임라인에 맵핑되는 예를 나타낸다. 방송망을 통해 전송되는 패킷의 헤더가 방송망을 통해 전송되는 스트림의 타임라인에 관한 정보를 포함하면, 방송망을 통해 전송가능한 타임라인 컴포넌트 AU는 이종망(예를 들어, 인터넷)을 통해 전송되는 스트림의 디코딩 타임 스탬프(DTS), 프레젠테이션 타임 스탬프(PTS) 등의 타임스탬프 정보를 포함할 수 있다. 이종망(예를 들어, 인터넷)을 통해 전송되는 스트림의 타임라인에 관한 정보가 타임라인 컴포넌트 AU에 포함되면, 이종망(예를 들어, 인터넷)을 통해 전송되는 스트림의 타임라인에 관한 정보가 방송망을 통해 전송되는 스트림과 동일한 패킷 구조로 패킷화될 수 있다. 이 방식으로, 패킷 헤더에 포함되는 방송망을 통해 전송되는 스트림의 타임스탬프가 인터넷을 통해 전송된 스트림의 타임스탬프에 일대일 매핑될 수 있고, 양 스트림은 하나의 타임라인에서 동기화되고, 디코딩되고 재생될 수 있다.
프레젠테이션 타임스탬프(PTS)는 시청자에게 제시될 때 프로그램의 개별 엘레멘터리 스트림(예를 들어, 비디오, 오디오, 서브타이틀)의 동기화를 달성하는데 사용되는 MPEG 전송 스트림, MPEG 프로그램 스트림 또는 유사 데이터 스트림 내의 타임스탬프 메타데이터 필드이다. PTS는 프로그램의 전체 클록 기준, 프로그램 클록 기준(PCR) 또는 시스템 클록 기준(SCR)에 관련된 단위로 주어지며, 또한 이는 전송 스트림 또는 프로그램 스트림에서 전송된다.
디코드 타임 스탬프(DTS)는 액세스 유닛이 수신기 버퍼로부터 순간적으로 제거되어 디코딩되는 시간을 나타낸다. 이는 픽쳐 리오더링(picture reordering)이 B 픽쳐에 사용될 때에만 프레젠테이션 타임 스탬프(PTS)와 다르다. DTS가 사용되면, PTS는 비트 스트림에서 제공될 수 있다.
상기 설명은 하나의 망을 통해 전송된 스트림이 상이한 타임라인을 사용하는 경우에 적용될 수 있다. 예를 들어, 상술한 방식이 이용되면, 복수의 이종망을 통해 전송된 스트림을 수집하고 그 스트림을 시청자에게 제공하는 릴레이 서비스 제공자는 상이한 스트림의 동기화에 대한 리프로세싱을 직접 수행할 필요가 없다.
타임라인 컴포넌트 AU는 XML 등의 다른 포맷으로 표현될 수 있다. 타임라인 컴포넌트 AU는 identifier 정보, version 정보, AU_length 정보, location_flag 정보, PTS_flag 정보, DTS_flag 정보, media_time_flag 정보, NTP_time_flag 정보, PTP_time_flag 정보, timecode_flag 정보, PCR_time_flag 정보, location_length 정보, location 정보, timescale 정보, media_time_PTS 정보, media_time_DTS 정보, NTP_time_PTS 정보, NTP_time_DTS 정보, PTP_time_PTS 정보, PTP_time_DTS 정보, timecode_PTS 정보, timecode_DTS 정보, PCR_time_PTS 정보 및/또는 PCR_time_DTS 정보를 포함할 수 있다.
identifier 정보는 타임라인 컴포넌트 AU의 구조를 고유하게 나타내는 식별자이다.
version 정보는 하위 PTS, DTS 등의 타임스탬프 필드의 길이를 나타낼 수 있다. 예를 들어, 길이는 버전 정보가 1의 값을 가질 때 64 비트에 대응할 수 있고 버전 정보가 0의 값을 가질 때 32 비트에 대응할 수 있다.
AU_length 정보는 타임라인 컴포넌트 AU의 길이를 나타낼 수 있다.
location_flag 정보는 타임라인 컴포넌트 AU가 외부망을 통해 전송된 스트림의 위치 정보를 포함하는지를 나타낸다.
PTS_flag 정보는 타임라인 컴포넌트 AU가 PTS 값을 포함하는지를 나타낸다.
DTS_flag 정보는 타임라인 컴포넌트 AU가 DTS 값을 포함하는지를 나타낸다.
media_time_flag 정보는 미디어 타임 포맷을 갖는 타임스탬프가 포함되는지를 나타낸다.
NTP_time_flag 정보는 NTP 포맷을 갖는 타임스탬프가 포함되는지를 나타낸다.
PTP_time_flag 정보는 PTP 포맷을 갖는 타임스탬프가 포함되는지를 나타낸다.
timecode_flag 정보는 SMPTE(society of motion picture and television engineers) 타임 코드 포맷을 갖는 타임스탬프가 포함되는지를 나타낸다.
PCR_time_flag 정보는 MPEG-2 TS의 PCR 기반 타임스탬프가 포함되는지를 나타낸다.
location_length 정보는 위치 필드의 길이를 나타낸다.
location 정보는 이종망을 통해 전송되는 스트림의 고유 ID 또는 URL을 나타낸다. 위치 정보가 고유 ID를 나타내면, 위치 정보는 시그널링 데이터 등의 정보에 링크됨으로써 사용될 수 있다.
timescale 정보는 미디어 타임스케일을 나타낸다. 타임스케일 정보는 다른 정보에 의해 지시된 시간 단위를 식별하는 정보이다.
media_time_PTS 정보는 미디어 타임 포맷으로 표현되는 PTS를 나타낸다.
media_time_DTS 정보는 미디어 타임 포맷으로 표현되는 DTS를 나타낸다.
NTP_time_PTS 정보는 NPT 포맷으로 표현되는 PTS를 나타낸다.
NTP_time_DTS 정보는 NPT 포맷으로 표현되는 DTS를 나타낸다.
PTP_time_PTS 정보는 PTP 포맷으로 표현되는 PTS를 나타낸다.
PTP_time_DTS 정보는 PTP 포맷으로 표현되는 DTS를 나타낸다.
PTP_time_PTS 정보 또는 PTP_time_DTS 정보는 32 비트, 64 비트 또는 80 비트의 사이즈를 가질 수 있다.
timecode_PTS 정보는 SMPTE 타임 코드 포맷으로 표현되는 PTS를 나타낸다.
timecode_DTS 정보는 SMPTE 타임 코드 포맷으로 표현되는 DTS를 나타낸다.
PCR_time_PTS 정보는 PCR 포맷으로 표현되는 PTS를 나타낸다.
PCR_time_DTS 정보는 PCR 포맷으로 표현되는 DTS를 나타낸다.
본 발명의 실시예에 따르면, 수신기는 타임라인 컴포넌트 AU에 포함되는 적어도 하나의 타임스탬프 정보를 위치 정보에 의해 식별된 외부망 내의 스트림에 적용함으로써 방송망을 통해 전송된 스트림을 이종망을 통해 전송된 스트림과 동기화할 수 있다.
타임라인 컴포넌트 AU는 XML 등의 다른 포맷으로 표현될 수 있다. 타임라인 컴포넌트 AU는 identifier 정보, version 정보, AU_length 정보, location_flag 정보, PTS_flag 정보, DTS_flag 정보, timestamp_version_flag 정보, timestamp_type 정보, location_length 정보, location 정보, timescale 정보, media_time_PTS 정보, media_time_DTS 정보, timestamp_type_PTS 정보 및/또는 timestamp_to_DTS 정보(또는 timestamp_type_DTS 정보)를 포함할 수 있다.
상술한 타임라인 컴포넌트 AU의 신택스에 포함되는 정보와 동일한 용어에 대응하는 정보의 설명은 상기 설명으로 대체된다.
timestamp_version_flag 정보는 매핑될 타임라인의 타임스탬프 포맷을 나타낸다. 예를 들어, timestamp_version_flag 정보가 0의 값을 가질 때 32 비트 포맷이 사용되고 timestamp_version_flag 정보가 1의 값을 가질 때 64 비트 포맷이 사용된다는 것을 나타낼 수 있다.
timestamp_type 정보는 매핑될 타임라인의 타임스탬프의 타입을 나타낸다. 예를 들어, timestamp_type 정보는 정보가 0x00의 값을 가질 때 타입이 미디어 타임에 대응하는 것을 나타내고 정보가 0x01의 값을 가질 때 타입이 NTP에 대응하는 것을 나타내고, 정보가 0x02의 값을 가질 때 타입이 PTP에 대응하는 것을 나타내고, 정보가 0x03의 값을 가질 때 타입이 타임 코드에 대응하는 것을 나타낸다. 정보가 0x04-0x1F의 값을 가질 때, 타입은 나중에 정의될 수 있고, 값은 리저브드(reserved)된다.
타임스케일 정보는 매핑될 타임라인의 미디어 타임을 나타내는 타임스케일을 나타낼 수 있다. 예를 들어, MPEG-2 TS에서, 타임스케일은 90K의 값을 가질 수 있다.
media_time_PTS 정보는 매핑되는 타임라인의 프레젠테이션 타임스탬프, 즉, 재생이 수행되는 시점에 대한 미디어 타임을 나타낼 수 있다. media_time_PTS 정보는 timestamp_version_flag 값이 0일 때 32 비트 포맷으로 지시되고 그 값이 1일 때 64 비트 포맷으로 지시될 수 있다.
media_time_DTS 정보는 매핑되는 타임라인의 디코딩 타임스탬프, 즉, 디코딩이 수행되는 시점에 대한 미디어 타임을 나타낼 수 있다. media_time_DTS 정보는 timestamp_version_flag 값이 0일 때 32 비트 포맷으로 지시되고 그 값이 1일 때 64 비트 포맷으로 지시될 수 있다.
timestamp_type_PTS 정보는 매핑되는 타임라인의 타임스탬프 타입에 따른 프레젠테이션 타임스탬프, 즉, 재생이 수행되는 시점을 나타낼 수 있다. timestamp_type_PTS 정보는 timestamp_version_flag 값이 0일 때 32 비트 포맷으로 지시되고 그 값이 1일 때 64 비트 포맷으로 지시될 수 있다. 예를 들어, timestamp_type 필드 값이 NTP를 나타내면, timestamp_type_PTS 필드 값은 NTP 기반 재생 시점에 대한 타임스탬프 값을 가질 수 있다.
timestamp_type_DTS 정보는 매핑되는 타임라인의 타임스탬프 타입에 따른 디코딩 타임스탬프, 즉, 디코딩이 수행되는 시점을 나타낼 수 있다. timestamp_type_DTS 정보는 timestamp_version_flag 값이 0일 때 32 비트 포맷으로 지시되고 그 값이 1일 때 64 비트 포맷으로 지시될 수 있다. 예를 들어, timestamp_type 필드 값이 NTP를 나타내면, timestamp_type_DTS 필드 값은 NTP 기반 디코딩 시점에 대한 타임스탬프 값을 가질 수 있다.
타임라인 컴포넌트를 이용하여 이종망을 통해 전송되는 전송 스트림 간의 타임라인의 공유를 통한 상술한 동기화 방식에서, 타임라인은, 방송망 전송 스트림의 패킷 헤더의 타임스탬프를 패킷 페이로드의 타임라인 컴포넌트 AU에 포함되는 인터넷 전송 스트림의 타임스탬프에 일대일 매핑함으로써 공유될 수 있다.
그러나, 타임스탬프 관련 정보는 방송망 전송 패킷의 헤더에 존재하지 않을 수 있다.
도면에서처럼, 타임스탬프 관련 정보가 전송 패킷의 헤더에 존재하지 않으면, 타임라인 내의 본래의 타임스탬프에 대한 추가의 정보가 필요하다. 타임라인은 본래의 타임스탬프를 인터넷 전송 스트림의 타임스탬프에 일대일 매핑함으로써 방송망 및 인터넷 사이에서 공유될 수 있다.
본래의 타임스탬프 및 이종망(예를 들어, 인터넷) 내의 전송 스트림의 타임 스탬프에 관련된 정보가 타임라인 컴포넌트 AU에 포함될 수 있다.
본래의 타임스탬프는 기준 타임라인 상의 타임스탬프로서 정의될 수 있다. 예를 들어, 상술한 실시예에서, 방송망을 통해 전송되는 스트림에 대한 타임스탬프는 본래의 타임 스탬프로서 정의될 수 있다.
본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스는 상술한 타임라인 컴포넌트 AU의 신택스에 더하여 본래의 타임스탬프에 관련된 정보를 포함할 수 있다.
타임라인 컴포넌트 AU는 identifier 정보, version 정보, AU_length 정보, location_flag 정보, origin_PTS_flag 정보, origin_DTS_flag 정보, origin_PTS 정보, origin_DTS 정보, location_length 정보, PTS_flag 정보, DTS_flag 정보, media_time_flag 정보, NTP_time_flag 정보, PTP_time_flag 정보, timecode_flag 정보, PCR_time_flag 정보, location_URL_length 정보, location_URL 정보, timescale 정보, media_time_PTS 정보, media_time_DTS 정보, NTP_time_PTS 정보, NTP_time_DTS 정보, PTP_time_PTS 정보, PTP_time_DTS 정보, timecode_PTS 정보, timecode_DTS 정보, PCR_time_PTS 정보 및/또는 PCR_time_DTS 정보를 포함할 수 있다.
상술한 타임라인 컴포넌트 AU의 신택스에 포함되는 정보와 동일한 용어에 대응하는 정보의 설명은 상기 설명으로 대체된다.
origin_PTS_flag 정보는 타임라인 컴포넌트 AU가 origin_PTS 값을 포함하는지를 나타낸다.
origin_DTS_flag 정보는 타임라인 컴포넌트 AU가 origin_DTS 값을 포함하는지를 나타낸다.
origin_PTS 정보는 타임라인 매핑의 기준 베이스 타임라인 상의 현재 패킷의 PTS를 나타낸다.
origin_DTS 정보는 타임라인 매핑의 기준 베이스 타임라인 상의 현재 패킷의 DTS를 나타낸다.
location_URL_length 정보는 location_URL 정보의 길이를 나타낸다.
location_URL 정보는 이종망을 통해 전송되는 스트림의 URL 또는 이종망을 통해 전송되는 스트림을 고유하게 식별하는 식별자를 나타낼 수 있다.
수신기는 방송망에서 전송 스트림의 패킷 페이로드로부터 타임라인 컴포넌트 AU를 획득하고, 타임라인 컴포넌트 AU 내의 origin_PTS 정보 및/또는 origin_DTS 정보를 파싱하여 파싱된 정보에 기초하여 방송망에서 전송 스트림을 위한 타임스탬프 정보를 획득할 수 있다. 수신기는 origin_PTS 정보 및/또는 origin_DTS 정보를 통해 획득된 방송망 내의 전송 스트림의 타임스탬프 및 타임스탬프 컴포넌트 AU에 포함되는 이종망을 위한 타임스탬프에 관련된 정보를 이용하여 방송망의 전송 스트림을 이종망의 전송 스트림과 동기화할 수 있다.
도 84은 본 발명의 실시예로서 ALC/LCT+를 통해 전달된 컨텐츠와 DASH(유니캐스트)를 통해 전달된 컨텐츠의 동기화 방식을 나타내는 도면이다.
ALC/LCT+를 통해 전달되는 각각의 연속 미디어 컴포넌트가 ALC 익스텐션 헤더 내의 방송 타임라인 클록 기준 타임스탬프를 갖거나 서비스의 개별 방송 "타임 베이스" 컴포넌트가 적절한 간격으로 방송 타임라인 클록 기준 타임스탬프를 전달할 수 있다.
방송 타임라인 클록 기준 타임스탬프가 ALC 익스텐션 헤더에 포함되는 경우, 해당 DASH 미디어 프레젠테이션 타임라인 기준 타임스탬프가 함께 포함되어 DASH 미디어 프레젠테이션 타임라인으로부터 방송 타임라인으로의 매핑을 제공할 수 있다.
방송 클록 기준 타임스탬프가 서비스의 개별 방송 타임 베이스 컴포넌트에 포함되는 경우, 해당 DASH 미디어 프레젠테이션 타임라인 기준 타임스탬프가 함께 개별 방송 타임 베이스 컴포넌트에 포함되어 DASH 미디어 프레젠테이션 타임라인으로부터 방송 타임라인으로의 매핑을 제공할 수 있다.
방송 또는 브로드밴드를 통해 수신기로 전달되는 것은 "방송 타임라인"에 대한 클록 기준 타임스탬프 및 DASH를 이용하여(프로토콜 경로 Ref-Clocks/IP-Multicast/UDP/IP를 이용하여) 브로드밴드를 통해 이용가능한 대체 오디오 스트림의 DASH 미디어 프레젠테이션 타임라인에 대한 해당 타임스탬프를 포함하는 하나의 방송 IP 멀티캐스트 스트림 및 연속 컴포넌트 트랙(예를 들어, 비디오, 오디오 및 클로즈드 캡션)의 각각에 대한 하나의 방송 ISO BMFF 스트림으로 구성될 수 있다. 각각의 ISO BMFF 파일은 (프로토콜 경로 ISO BMFF/ALC/LCT+IP-Multicast/UDP/IP를 이용하여) ALC/LCT+ 오브젝트 및/또는 (프로토콜 경로 ISO BMFF/DASH/HTTP(S)/TCP/IP를 이용하여) DASH를 이용하여 브로드밴드를 통해 이용가능한 하나 이상의 연속 컴포넌트 트랙으로서 전달될 수 있다.
"방송 타임라인"에 대한 클록 기준 타임스탬프 및 DASH를 이용하여 유니캐스트 브로드밴드를 통해 이용가능한 대체 오디오 스트림의 DASH 미디어 프레젠테이션 타임라인에 대한 해당 타임스탬프를 포함하는 하나의 방송 IP 멀티캐스트 스트림 을 위해, 타임라인의 타임 스케일이 통상의 클록 시간이고, 예를 들어, 클록은 임의의 적절한 포맷(아마도 NTP 포맷)으로 표현되는 서버에서의 UTC 시간일 수 있다.
연속 컴포넌트 트랙(예를 들어, 비디오, 오디오 및 클로즈드 캡션)의 각각에 대한 하나의 방송 ISO BMFF 스트림에 대하여, ISO BMFF 파일의 시작을 포함하는 ALC/LCT+ 패킷은 "방송 타임라인"에 대하여 ISO BMFF 파일의 타임 라인에 대한 시작 시간을 제공하는 LCT 익스텐션 헤더를 갖는다. URL을 각각의 ISO BMFF 파일과 연관시킬 필요가 있으면(예를 들어, MPD가 시그널링에 사용되면), 각각의 ISO BMFF 파일은 컨텐츠-위치 필드를 포함하는 HTTP-스타일 헤더를 가질 수 있다. 또는, ISO BMFF 파일의 시작을 포함하는 ALC/LCT+ 패킷은 연관된 URL을 포함하는 LCT 익스텐션 헤더를 가질 수 있다.
하나의 비디오 트랙, 하나의 오디오 트랙 및/또는 하나의 클로즈드 캡션 트랙이 방송을 통해 전달되고 제2 오디오 트랙이 유니캐스트 브로드밴드를 통해 전달되는 다음의 하이브리드 전달 사용 케이스를 고려한다.
도 85는 본 발명의 실시예로서 ALC/LCT+를 통해 ISO BMFF의 하이브리드 전달을 위한 프로토콜 스택을 나타내는 도면이다.
크로스해칭된 회색의 오디오 트랙은 프레젠테이션에 사용되지 않는다.
수신기는 시그널링을 이용하여 어떤 오디오 트랙이 제시되는지(이 경우, 대체 오디오 트랙)를 결정하고, IP 멀티캐스트 어드레스 및 포트 및 비디오 및 클로즈드 캡션 트랙을 전달하는 ALC/LCT+ 세션을 위한 TSI 값을 얻고, 클록 기준/매핑 스트림을 위한 IP 멀티캐스트 어드레스 및 포트를 얻고 및/또는 대체 오디오 스트림의 브로드밴드 DASH 전달을 위한 MPD의 URL을 얻을 수 있다.
수신기는 MPD의 URL을 이용하여 DASH MPD를 검색(retrieve)할 수 있다.
수신기는 타임스탬프가 나타날 때 클록 기준/매핑 스트림으로부터 그를 추출하고 그를 이용하여 "방송 타임라인" 및 수신기 "벽시계" 타임라인 간의 오프셋을 결정하고 DASH 미디어 프레젠테이션 타임라인 및 "방송 타임라인" 간의 오프셋을 결정할 수 있다. 이것은 DASH 미디어 프레젠테이션 타임라인으로부터 수신기 "벽시계" 타임 라인으로의 매핑을 초래한다.
수신기는 비디오 및 클로즈드 캡션 트랙에 대한 방송 ISO BMFF 파일이 나타날 때 방송으로부터 그를 추출할 수 있다.
수신기는 상기 단계에서 결정된 오프셋에 의해 조절된 각각의 BMFF 파일의 ALC/LCT+ 익스텐션 헤드 내의 프레젠테이션 타임 스탬프를 이용하여 각 ISO BMFF 파일의 타임라인에 대한 벽시계 시작 시간을 설정할 수 있다.
수신기는 각 ISO BMFF 파일을 위한 벽시계 시작 시간 및 파일 내의 내부 타이밍 정보에 기초하여 적절한 시간에 방송 BMFF 파일 내의 액세스 유닛을 제시할 수 있다.
상기 단계에서 얻은 타임라인 매핑을 이용하여, 수신기는 현재의 수신기 벽시계 시간에 대응하는 DASH 미디어 프레젠테이션 타임라인 내의 시간을 결정할 수 있다. MPD를 이용하여 해당 DASH 기간, 원하는 오디오 트랙을 포함하는 DASH 표시 및 세그먼트의 URL을 결정한다. 적절한 DASH 세그먼트를 검색하고 그들을 적절한 벽시계 시간에 제시한다.
상기 2가지 방법은 다른 전송 프로토콜이 방송 채널에 사용될 때 적용될 수 있다.
방송 시스템은 더 많은 정보를 사용자에게 제시하기 위하여 실시간 연속 컨텐츠 및 NRT 파일이 결합되는 방송 컨텐츠를 제공할 수 있다.
비실시간 파일로부터의 연속 컨텐츠의 플레이아웃(play-out) 및 실시간으로 전달되는 연속 컨텐츠를 동기화하기 위하여, 동기화에대한 일반적인 어프로치는 파일 기반 컨텐츠의 타임라인을 실시간 연속 컨텐츠의 타임라인에 매핑하는 것일 수 있다.
예를 들어, 동기화는 RTP의 경우 파일 기반 컨텐츠의 타임라인을 NTP 타임 베이스에 매핑하거나 방송/멀티캐스트 컨텐츠의 경우 ALC/LCT를 통해 ISO BMFF 내의 방송 타임라인에 매핑할 수 있다. 마찬가지로, 파일로부터의 연속 컨텐츠의 플레아웃을 유니캐스트를 통해 전달되는 연속 컨텐츠와 동기화하려는 경우, 일반적인 어프로치는 파일 기반 컨텐츠의 타임라인을 DASH 미디어 프레젠테이션 타임라인에 매핑하는 것이다.
파일 기반 컨텐츠의 타임라인을 결정하는 방법은 파일 포맷에 따라 결정된다. 동기화 메카니즘을 특정하기 위하여, 파일 기반 타임라인의 클록 레이트 및 이 타임라인에 대하여 파일 내의 제1 프레젠테이션 유닛의 프레젠테이션 시간을 요구할 필요가 있다. 파일 기반 컨텐츠의 타임라인에 관한 이 정보가 결정되는 방법은 파일 포맷에 따라 결정될 수 있다. 타임라인은 파일 내의 제1 프레젠테이션 유닛에 대응하는 시작 시간 및 클록 레이트를 특정하고, 파일 내의 모든 프레젠테이션 유닛은 이 타임라인에 대하여 프레젠테이션 시간을 갖는다.
적절한 타임라인 매핑 정보가 시그널링될 수 있다. NTP 시간, 방송 타임라인 시간 또는 파일의 시작에 대응하는 DASH 미디어 프레젠테이션 타임라인 시간이 시그널링될 수 있다. 이것은 파일 내의 임의의 프레젠테이션 유닛의 프레젠테이션 시간이 이 타임라인에 대하여 계산되도록 할 수 있다.
방송 시스템은 서비스 시그널링 데이터를 인코딩하여 수신기로 송신할 수 있고, 서비스 시그널링 데이터는 수신기에서 방송 컨텐츠를 획득하는데 사용된다.
서비스 시그널링이 핸들링될 수 있는 하나의 방법은 서비스 모델을 반영하는 새로운 서비스 시그널링 데이터 구조를 정의하고 이러한 시그널링의 전달을 위한 적절한 메카니즘을 특정하는 것이다. 이러한 데이터 구조는 연속 컴포넌트의 실시간 유니캐스트 전달을 지원하기 위하여 DASH MPD 파일을 참조하는 방법을 포함할 필요가 있다.
서비스 시그널링이 핸들링될 수 있는 다른 방법은 DASH MPD 구조를 이용하여 실시간으로 전달되는 모든 연속 컴포넌트를 시그널링하고 이것을 임의의 데이터 구조로 증가(augment)시켜 컴포넌트의 다른 카테고리를 시그널링하는 것이다.
전술된, 본 발명의 방법들은 전술한 송신기 또는 수신기에 의하여 수행될 수 있다.
본 발명의 설명은 명료화를 위해 첨부된 도면의 각각을 참조하여 설명하지만, 첨부된 도면에 도시된 실시예를 서로 병합함으로써 새로운 실시예(들)를 설계할 수 있다. 상기 설명에서 언급된 실시예를 실행하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체가 당업자의 필요에 따라 설계되면, 이는 첨부된 청구 범위 및 그 동등물의 범위에 속할 수 있다.
본 발명에 따른 장치 및 방법은 상기 설명에서 언급된 실시예들의 구성들 및 방법들에 의해 제한되지 않는다. 상기 설명에서 언급된 실시예는 전체적으로 또는 부분적으로 서로 선택적으로 결합되는 방식으로 구성되어 다양한 변형이 가능하다.
또한, 본 발명에 따른 방법은 네트워크 장치에 제공되는 프로세서 판독가능 기록 매체에서 프로세서 판독가능 코드로 구현될 수 있다. 프로세서 판독가능 매체는 프로세서에 의해 판독가능한 데이터를 저장할 수 있는 모든 종류의 기록 장치를 포함할 수 있다. 프로세서 판독가능 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서 판독가능 기록 매체는 네트워크를 통해 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서 판독가능 코드가 저장되고 실행될 수 있다.
당업자는 본 발명의 사상 및 범위를 벗어나지 않고 본 발명의 다양한 변형 및 변경이 가능함을 인식할 것이다. 따라서, 본 발명은 첨부된 청구범위 및 그 동등물의 범위 내에서 제공되는 본 발명의 변형 및 변경을 커버한다.
장치 및 방법 발명이 본 명세서에 언급되었으며, 이들 장치 및 방법 발명의 설명은 서로 상호보완적으로 적용될 수 있다.

Claims (14)

  1. 방송 서비스를 수신하는 장치로서,
    방송망을 통해 상기 방송 서비스의 제 1 서비스 컴포넌트를 전달하는 제 1 패킷들을 포함하는 방송 스트림을 수신하는 방송망 인터페이스;
    브로드밴드를 통해 상기 방송 서비스의 제 2 서비스 컴포넌트를 전달하는 제 2 패킷들을 수신하는 이종망 인터페이스,
    상기 방송 스트림은 상기 방송망 또는 상기 브로드밴드를 통해 전송되는 서비스 컴포넌트들에 대한 시그널링 정보를 포함하는 제 3 패킷들을 더 포함하고,
    상기 제 3 패킷들의 시그널링 정보는 상기 제 2 서비스 컴포넌트가 획득되는 위치를 특정하는 정보를 포함하고, 상기 제 3 패킷들의 시그널링 정보는 상기 제 1 서비스 컴포넌트가 사용하는 제 1 타임라인을 특정하는 제 1 타이밍 정보 및 상기 제 2 서비스 컴포넌트가 사용하는 제 2 타임라인을 특정하는 제 2 타이밍 정보를 더 포함하고;
    상기 제 1 타임라인, 상기 제 2 타임라인과 수신기 월클락(wall-clock) 시간의 오프셋을 계산하고, 상기 계산된 오프셋을 기초로 상기 제 1 타임라인 및 상기 제 2 타임라인을 처리하여 정렬시키고, 상기 정렬된 타임라인을 이용하여 상기 제 1 서비스 컴포넌트 및 상기 제 2 서비스 컴포넌트를 동기화함으로써 상기 방송 서비스를 재생하는 프로세서; 를 포함하는 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 제1 패킷은 실시간 프로토콜(RTP) 패킷에 대응하고,
    상기 제2 패킷은 MPEG DASH(Dynamic Adaptive Streaming over HTTP) 세그먼트를 전달하고,
    상기 제3 패킷은 RTP 제어 프로토콜(RTCP) 패킷에 대응하는 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 타이밍 정보에 의해 특정된 상기 제 1 타임라인을 NTP(Network Time Protocol) 타임라인에 매핑하고,
    상기 제 2 서비스 컴포넌트가 획득되는 위치를 특정하는 정보에 기초하여 획득된 상기 제2 서비스 컴포넌트에 적용되는 상기 제2 타이밍 정보에 의해 특정된 상기 제 2 타임라인을 상기 NTP 타임라인에 매핑하고,
    상기 NTP 타임라인을 이용하여 상기 제1 패킷 및 상기 제2 패킷을 동기화함으로써 방송 컨텐츠를 구성하는 장치.
  5. 제4항에 있어서,
    상기 제1 타이밍 정보는 상기 제1 패킷의 NTP 타임스탬프 및 RTP 타임스탬프에 대응하고,
    상기 제2 타이밍 정보는 DASH 미디어 프레젠테이션 시간 정보에 대응하는 장치.
  6. 제1항에 있어서,
    상기 제3 패킷은 상기 제2 타이밍 정보의 포맷을 특정하는 포맷 정보를 더 포함하는 장치.
  7. 제1항에 있어서,
    상기 제 1 패킷의 헤더는 상기 제 1 서비스 컴포넌트의 NTP 타임스탬프 정보를 포함하는 것을 특징으로 하는 장치.
  8. 수신기에서 방송 서비스를 수신하는 방법으로서,
    방송망을 통해 상기 방송 서비스의 제 1 서비스 컴포넌트를 전달하는 제 1 패킷들을 포함하는 방송 스트림을 수신하는 단계;
    브로드밴드를 통해 상기 방송 서비스의 제 2 서비스 컴포넌트를 전달하는 제 2 패킷들을 수신하는 단계,
    상기 방송 스트림은 상기 방송망 또는 상기 브로드밴드를 통해 전송되는 서비스 컴포넌트들에 대한 시그널링 정보를 포함하는 제 3 패킷들을 더 포함하고,
    상기 제 3 패킷들의 시그널링 정보는 상기 제 2 서비스 컴포넌트가 획득되는 위치를 특정하는 정보를 포함하고, 상기 제 3 패킷들의 시그널링 정보는 상기 제 1 서비스 컴포넌트가 사용하는 제 1 타임라인을 특정하는 제 1 타이밍 정보 및 상기 제 2 서비스 컴포넌트가 사용하는 제 2 타임라인을 특정하는 제 2 타이밍 정보를 더 포함하고;
    상기 제 1 타임라인, 상기 제 2 타임라인과 수신기 월클락(wall-clock) 시간의 오프셋을 계산하는 단계;
    상기 계산된 오프셋을 기초로 상기 제 1 타임라인 및 상기 제 2 타임라인을 처리하여 정렬시키는 단계; 및
    상기 정렬된 타임라인을 이용하여 상기 제 1 서비스 컴포넌트 및 상기 제 2 서비스 컴포넌트를 동기화함으로써 상기 방송 서비스를 재생하는 단계;를 포함하는 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 제1 패킷은 실시간 프로토콜(RTP) 패킷에 대응하고,
    상기 제2 패킷은 MPEG DASH(Dynamic Adaptive Streaming over HTTP) 세그먼트를 전달하고,
    상기 제3 패킷은 RTP 제어 프로토콜(RTCP) 패킷에 대응하는 방법.
  11. 제10항에 있어서,
    상기 제1 타이밍 정보에 의해 특정된 상기 제 1 타임라인을 NTP(Network Time Protocol) 타임라인에 매핑하는 단계;
    상기 제2 서비스 컴포넌트가 획득되는 위치를 특정하는 정보에 기초하여 획득된 상기 제2 서비스 컴포넌트에 적용되는 상기 제2 타이밍 정보에 의해 특정된 상기 제 2 타임라인을 상기 NTP 타임라인에 매핑하는 단계; 및
    상기 NTP 타임라인을 이용하여 상기 제1 패킷 및 상기 제2 패킷을 동기화함으로써 방송 컨텐츠를 구성하는 단계를 더 포함하는 방법.
  12. 제11항에 있어서,
    상기 제1 타이밍 정보는 상기 제1 패킷의 NTP 타임스탬프 및 RTP 타임스탬프에 대응하고,
    상기 제2 타이밍 정보는 DASH 미디어 프레젠테이션 시간 정보에 대응하는 방법.
  13. 제8항에 있어서,
    상기 제3 패킷은 상기 제2 타이밍 정보의 포맷을 특정하는 포맷 정보를 더 포함하는 방법.
  14. 제8항에 있어서,
    상기 제 1 패킷의 헤더는 상기 제 1 서비스 컴포넌트의 NTP 타임스탬프 정보를 포함하는 것을 특징으로 하는 방법.
KR1020167018026A 2014-01-13 2015-01-12 하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치 KR101789641B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201461926938P 2014-01-13 2014-01-13
US61/926,938 2014-01-13
US201461932808P 2014-01-29 2014-01-29
US61/932,808 2014-01-29
US201461948522P 2014-03-05 2014-03-05
US61/948,522 2014-03-05
US201461970908P 2014-03-27 2014-03-27
US61/970,908 2014-03-27
PCT/KR2015/000295 WO2015105391A1 (en) 2014-01-13 2015-01-12 Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks

Publications (2)

Publication Number Publication Date
KR20160091422A KR20160091422A (ko) 2016-08-02
KR101789641B1 true KR101789641B1 (ko) 2017-11-20

Family

ID=53524154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167018026A KR101789641B1 (ko) 2014-01-13 2015-01-12 하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치

Country Status (6)

Country Link
US (3) US10326816B2 (ko)
EP (1) EP3095245A4 (ko)
JP (1) JP6309639B2 (ko)
KR (1) KR101789641B1 (ko)
CN (1) CN105917655B (ko)
WO (1) WO2015105391A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579940B (zh) * 2013-10-10 2017-08-11 新华三技术有限公司 查找访问控制列表的方法及装置
JP5725242B1 (ja) * 2014-06-04 2015-05-27 ソニー株式会社 送信装置及び送信方法、並びに受信装置並びに受信方法
US10194196B2 (en) 2015-03-02 2019-01-29 Nec Corporation Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein
JP6489203B2 (ja) * 2015-03-02 2019-03-27 日本電気株式会社 受信機器、および復号・提示方法
US10567816B2 (en) 2015-04-30 2020-02-18 Comcast Cable Communications, Llc Delivering content
US11109101B1 (en) * 2015-05-13 2021-08-31 T-Mobile Usa, Inc. Apparatus, system, and method for ABR segment pull DVR
MX2018006721A (es) * 2015-12-10 2018-08-01 Sony Corp Aparato de recepcion y metodo de procesamiento de datos.
JP2018006846A (ja) * 2016-06-28 2018-01-11 日本放送協会 同期提示システム、同期提示方法及び同期提示プログラム
US20180014171A1 (en) * 2016-07-05 2018-01-11 Qualcomm Incorporated Management of emergency alert wake up bits
JP6649517B2 (ja) * 2017-02-17 2020-02-19 日本電信電話株式会社 センシングシステムおよびタイムスタンプ補正方法
WO2018170852A1 (zh) * 2017-03-23 2018-09-27 华为技术有限公司 多设备间唇音同步方法及设备
CN108737349B (zh) * 2017-04-24 2020-08-28 大唐移动通信设备有限公司 一种语音数据包的处理方法及装置
CN108989843B (zh) * 2017-06-02 2020-10-16 上海数字电视国家工程研究中心有限公司 适用于高速运动接收的数据帧的设计方法和传输系统
CN108989842B (zh) * 2017-06-02 2020-12-22 上海数字电视国家工程研究中心有限公司 适用于高速运动接收的数据帧的设计方法和传输系统
CN110166155B (zh) * 2019-05-14 2020-09-22 南京熊猫电子股份有限公司 一种应急广播多通道流媒体广播方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100189256A1 (en) * 2007-07-02 2010-07-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing and reading a file having a media data container and metadata container
US20110083155A1 (en) 2008-06-11 2011-04-07 Koninklijke Philips Electronics N.V. Synchronization of media stream components
US20130125187A1 (en) 2010-07-19 2013-05-16 Kyungho Kim Method for transceiving media files and device for transmitting/receiving using same
US20130335629A1 (en) * 2010-10-15 2013-12-19 Thomson Licensing Method for synchronizing multimedia flows and corresponding device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2859859A1 (fr) 2003-09-16 2005-03-18 France Telecom Procede et module de reception de signaux de television
JP3841103B1 (ja) * 2005-07-14 2006-11-01 住友電装株式会社 予備ヒューズ収容部を備えた電気接続箱
KR101091910B1 (ko) * 2005-12-29 2011-12-08 삼성테크윈 주식회사 실시간 전송 프로토콜을 사용하는 비디오 서버의 제어 방법및 그 기록 매체
JP2010501600A (ja) * 2006-08-28 2010-01-21 スース,ハンス,アール. 無水の、尿素を含有する皮膚用または化粧用調製品
CA2695645C (en) * 2007-08-20 2017-05-23 Nokia Corporation Segmented metadata and indexes for streamed multimedia data
US8776144B2 (en) * 2008-10-16 2014-07-08 Industrial Technology Research Institute Mobile TV system and method for synchronizing the rendering of streaming services thereof
US20110066746A1 (en) * 2009-09-11 2011-03-17 Broadcom Corporation Synchronized data streaming
US9026671B2 (en) * 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
US8923342B2 (en) * 2011-07-12 2014-12-30 Electronics And Telecommunications Research Institute Method of providing timing information for synchronizing MMT packet stream in MMT hybrid delivery service and method of synchronizing MMT packet stream in MMT hybrid delivery service
US9282354B2 (en) * 2011-10-28 2016-03-08 Qualcomm Incorporated Method and apparatus to detect a demand for and to establish demand-based multimedia broadcast multicast service
EP2793479A4 (en) 2011-12-12 2015-07-01 Lg Electronics Inc DEVICE AND METHOD FOR RECEIVING MULTIMEDIA CONTENT
WO2013099101A1 (ja) * 2011-12-27 2013-07-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム、アプリケーション情報テーブル供給装置およびアプリケーション情報テーブル供給方法
US9954717B2 (en) * 2012-07-11 2018-04-24 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
US20140156865A1 (en) * 2012-11-30 2014-06-05 Futurewei Technologies, Inc. Generic Substitution Parameters in DASH
US9807452B2 (en) * 2013-10-07 2017-10-31 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
CN105594219B (zh) * 2014-07-31 2019-08-20 Lg 电子株式会社 用于广播信号的发射/接收处理的设备和方法
JP6834967B2 (ja) * 2015-10-09 2021-02-24 ソニー株式会社 情報処理装置および情報処理方法
WO2018034172A1 (ja) * 2016-08-19 2018-02-22 ソニー株式会社 情報処理装置、クライアント装置、及び、データ処理方法
JP2021129127A (ja) * 2018-05-08 2021-09-02 ソニーグループ株式会社 受信装置、送信装置、受信方法、送信方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100189256A1 (en) * 2007-07-02 2010-07-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for storing and reading a file having a media data container and metadata container
US20110083155A1 (en) 2008-06-11 2011-04-07 Koninklijke Philips Electronics N.V. Synchronization of media stream components
US20130125187A1 (en) 2010-07-19 2013-05-16 Kyungho Kim Method for transceiving media files and device for transmitting/receiving using same
US20130335629A1 (en) * 2010-10-15 2013-12-19 Thomson Licensing Method for synchronizing multimedia flows and corresponding device

Also Published As

Publication number Publication date
EP3095245A1 (en) 2016-11-23
US20190268397A1 (en) 2019-08-29
CN105917655B (zh) 2019-07-09
EP3095245A4 (en) 2017-11-08
JP6309639B2 (ja) 2018-04-11
US20210344734A1 (en) 2021-11-04
US10326816B2 (en) 2019-06-18
WO2015105391A1 (en) 2015-07-16
JP2017509199A (ja) 2017-03-30
KR20160091422A (ko) 2016-08-02
US20160315991A1 (en) 2016-10-27
US11095703B2 (en) 2021-08-17
US11477259B2 (en) 2022-10-18
CN105917655A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
US11272231B2 (en) Broadcast signal transmitting apparatus and broadcast signal transmitting method
US11477259B2 (en) Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
KR101877159B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101779434B1 (ko) 방송 송신 장치, 방송 송신 장치의 데이터 처리 방법, 방송 수신 장치 및 방송 수신 장치의 데이터 처리 방법
KR102273757B1 (ko) 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법
KR101788066B1 (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법
KR101880467B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101814403B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
JP6784725B2 (ja) 放送伝送装置、放送伝送装置の動作方法、放送受信装置及び放送受信装置の動作方法
KR101875664B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
KR101868628B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101796621B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101788065B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR20160142327A (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
KR101844235B1 (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법
KR101841947B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법, 방송 수신 장치 및 방송 수신 장치의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant