KR20170136005A - 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 - Google Patents

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 Download PDF

Info

Publication number
KR20170136005A
KR20170136005A KR1020177034594A KR20177034594A KR20170136005A KR 20170136005 A KR20170136005 A KR 20170136005A KR 1020177034594 A KR1020177034594 A KR 1020177034594A KR 20177034594 A KR20177034594 A KR 20177034594A KR 20170136005 A KR20170136005 A KR 20170136005A
Authority
KR
South Korea
Prior art keywords
data
fragment
information
packet
field
Prior art date
Application number
KR1020177034594A
Other languages
English (en)
Other versions
KR101838083B1 (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 KR20170136005A publication Critical patent/KR20170136005A/ko
Application granted granted Critical
Publication of KR101838083B1 publication Critical patent/KR101838083B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • H04H20/423Transmitter side
    • 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/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/40Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast time
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • 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/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/30Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data
    • H04H2201/37Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data via a different channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Abstract

본 발명은 방송 신호를 전송하는 방법을 제안한다. 본 발명에 따른 방송 신호를 전송하는 방법은, 제 1 모듈이 방송 컨텐츠에 대한 제 1 미디어 스트림을 생성하는 단계, 여기서 제 1 미디어 스트림은 복수개의 패킷들을 포함하고, 적어도 하나의 상기 패킷들은 시간 정보를 포함하고; 제 2 모듈이 상기 방송 컨텐츠에 대한 제 2 미디어 스트림을 생성하는 단계; 제 3 모듈이 상기 제 1 미디어 스트림을 방송망을 통하여 전송하는 단계; 제 4 모듈이 수신기로부터 상기 제 2 미디어 스트림에 대한 요청을 받는 단계; 및 상기 제 4 모듈이 상기 제 2 미디어 스트림을 인터넷망을 통하여 수신기에 전송하는 단계;를 포함하는 방송 컨텐츠 전송 방법일 수 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법{BROADCAST SIGNAL TRANSMITTING APPARATUS, BROADCAST SIGNAL RECEIVING APPARATUS, BROADCAST SIGNAL TRANSMITTING METHOD AND BROADCAST SIGNAL RECEIVING METHOD}
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
목적 및 다른 이점을 달성하기 위해, 본 발명의 목적에 따라, 여기에 포함되고 대략적으로 기재된 바와 같이, 방송 신호 송신 방법은 제 1 모듈이 방송 컨텐츠에 대한 제 1 미디어 스트림을 생성하는 단계, 여기서 제 1 미디어 스트림은 복수개의 패킷들을 포함하고, 적어도 하나의 상기 패킷들은 시간 정보를 포함하고; 제 2 모듈이 상기 방송 컨텐츠에 대한 제 2 미디어 스트림을 생성하는 단계; 제 3 모듈이 상기 제 1 미디어 스트림을 방송망을 통하여 전송하는 단계; 제 4 모듈이 수신기로부터 상기 제 2 미디어 스트림에 대한 요청을 받는 단계; 및 상기 제 4 모듈이 상기 제 2 미디어 스트림을 인터넷망을 통하여 수신기에 전송하는 단계;를 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 적어도 하나의 패킷들은 상기 시간 정보를 포함하는 확장 헤더를 포함하고, 상기 시간 정보는 상기 제 1 미디어 스트림의 재생 시각(presentation time)을 나타내는 타임 스탬프 정보를 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 확장 헤더는 상기 타임스탬프의 일부만을 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 확장 헤더는 상기 제 2 미디어 스트림의 재생 시각을 나타내는 타임 스탬프 정보를 더 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 확장 헤더는 상기 제 1 미디어 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 제 1 미디어 스트림의 재생시각을 나타내는 타임 스탬프는 상기 제안 지연 시간이 반영된 제 1 미디어 스트림의 재생시각 값을 나타내는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 적어도 하나의 패킷들의 페이로드는 상기 제 1 미디어 스트림의 타임라인을 구성하는 제 1 타임라인 레퍼런스 정보 및 상기 제 2 미디어 스트림의 타임라인을 구성하는 제 2 타임라인 레퍼런스 정보를 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 적어도 하나의 패킷들의 페이로드는 상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 전송 방법일 수 있다.
바람직하게는, 제 1 타임라인 레퍼런스 정보 및 상기 제 2 타임라인 레퍼런스 정보는 상기 제안 지연 시간이 반영된 값을 가지는 방송 신호 컨텐츠 방법일 수 있다.
바람직하게는, 제 1 미디어 스트림은 상기 방송 컨텐츠의 비디오 스트림이고, 상기 제 2 미디어 스트림은 상기 방송 컨텐츠의 오디오 스트림인, 방송 컨텐츠 전송 방법일 수 있다.
또 다른 관점에서, 본 발명은 방송 신호 송신 장치를 제안한다. 이 방송 신호 송신 장치는, 방송 컨텐츠에 대한 제 1 미디어 스트림을 생성하는 제 1 모듈, 여기서 제 1 미디어 스트림은 복수개의 패킷들을 포함하고, 적어도 하나의 상기 패킷들은 시간 정보를 포함하고; 상기 방송 컨텐츠에 대한 제 2 미디어 스트림을 생성하는 제 2 모듈; 상기 제 1 미디어 스트림을 방송망을 통하여 전송하는 제 3 모듈; 및 수신기로부터 상기 제 2 미디어 스트림에 대한 요청을 받고, 상기 제 2 미디어 스트림을 인터넷망을 통하여 수신기에 전송하는 제 4 모듈; 을 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 적어도 하나의 패킷들은 상기 시간 정보를 포함하는 확장 헤더를 포함하고, 상기 시간 정보는 상기 제 1 미디어 스트림의 재생 시각(presentation time)을 나타내는 타임 스탬프 정보를 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 확장 헤더는 상기 타임스탬프의 일부만을 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 확장 헤더는 상기 제 2 미디어 스트림의 재생 시각을 나타내는 타임 스탬프 정보를 더 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 확장 헤더는 상기 제 1 미디어 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 제 1 미디어 스트림의 재생시각을 나타내는 타임 스탬프는 상기 제안 지연 시간이 반영된 제 1 미디어 스트림의 재생시각 값을 나타내는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 적어도 하나의 패킷들의 페이로드는 상기 제 1 미디어 스트림의 타임라인을 구성하는 제 1 타임라인 레퍼런스 정보 및 상기 제 2 미디어 스트림의 타임라인을 구성하는 제 2 타임라인 레퍼런스 정보를 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 적어도 하나의 패킷들의 페이로드는 상기 제 1 미디어 스트림 및 상기 제 2 미디어 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 전송 장치일 수 있다.
바람직하게는, 제 1 타임라인 레퍼런스 정보 및 상기 제 2 타임라인 레퍼런스 정보는 상기 제안 지연 시간이 반영된 값을 가지는 방송 신호 컨텐츠 장치일 수 있다.
바람직하게는, 제 1 미디어 스트림은 상기 방송 컨텐츠의 비디오 스트림이고, 상기 제 2 미디어 스트림은 상기 방송 컨텐츠의 오디오 스트림인, 방송 컨텐츠 전송 장치일 수 있다.
본 발명은 서비스 특성에 따라 데이터를 처리하여 각 서비스 또는 서비스 컴포넌트에 대한 QoS (Quality of Service)를 제어함으로써 다양한 방송 서비스를 제공할 수 있다.
본 발명은 동일한 RF (radio frequency) 신호 대역폭을 통해 다양한 방송 서비스를 전송함으로써 전송 유연성(flexibility)을 달성할 수 있다.
본 발명은 MIMO (Multiple-Input Multiple-Output) 시스템을 이용하여 데이터 전송 효율 및 방송 신호의 송수신 견고성(Robustness)을 향상시킬 수 있다.
본 발명에 따르면, 모바일 수신 장치를 사용하거나 실내 환경에 있더라도, 에러 없이 디지털 방송 신호를 수신할 수 있는 방송 신호 송신 및 수신 방법 및 장치를 제공할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 5는 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩(Frame Building, 프레임 생성) 블록을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 OFDM (orthogonal frequency division multiplexing) 제너레이션(generation, 생성) 블록을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 EAC (emergency alert channel) 매핑을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 FIC (fast information channel) 매핑을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 FEC (forward error correction) 구조를 나타낸다.
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 읽기 패턴을 나타낸다.
도 24는 본 발명의 일 실시예에 따른 각 인터리빙 어레이(array)로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25은 FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간을 나타낸 도면이다.
도 26은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
도 27는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 28을 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 29는 본 발명의 일 실시예에 따른 ROUTE 프로토콜을 이용한 데이터 처리 시간을 나타낸 도면이다.
도 30는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 31은 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 32은 본 발명의 일 실시예에 따른 FDT를 이용한 실시간 방송 지원 정보 시그널링을 나타낸 도면이다.
도 33은 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 34는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 35은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성 및 송신 과정을 나타낸 흐름도이다.
도 36은 본 발명의 일 실시예에 따른 방송 신호 송신 장치가 패킷타이저를 이용하여 패킷을 생성하는 과정을 구체적으로 나타낸 흐름도이다.
도 37는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성/송신 과정을 나타낸 흐름도이다.
도 38은 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 39는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 40는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 41은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 42은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 43은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 44는 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 45은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 46은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 47는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 48은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 49는 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
도 50는 본 발명의 다른 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
도 51은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 송신 장치의 구조를 나타낸 도면이다.
도 52은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 53은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 54는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 55는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 56은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 57는 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 58은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 59은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 60은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 61은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 62은 본 발명의 다른 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
도 63은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 64은 본 발명의 실시예에 따른 차세대 방송 시스템을 위한 프로토콜 스택을 나타내는 도면이다.
도 65은 본 발명의 일 실시예에 따른, 차세대 방송 시스템의 수신기를 나타낸 도면이다.
도 66은 본 발명의 일 실시예에 따른, 방송망의 전송 스트림과 인터넷망 (이종망) 의 전송 스트림 사이의 동기화를 위한 타임라인 컴포넌트(Timeline component)를 나타낸 도면이다.
도 67는 본 발명의 일 실시예에 따른 타임라인 컴포넌트 AU의 신택스(Syntax)를 나타낸 도면이다.
도 68는 본 발명의 다른 실시예에 따른, 타임라인 컴포넌트 AU의 신택스(Syntax)를 나타낸 도면이다.
도 69은 본 발명의 일 실시예에 따른, 방송망 전송 패킷의 타임스탬프가 없는 경우에 타임라인 컴포넌트를 이용한 방송망을 통하여 전송되는 스트림과, 이종망(예를 들면 인터넷망) 을 통하여 전송되는 스트림 간의 동기화 방법을 나타낸 도면이다.
도 70은 본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스(Syntax)를 나타낸 도면이다.
도 71은 본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스(Syntax)를 나타낸 도면이다.
도 72은 본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스 (Syntax)를 나타낸 도면이다.
도 73는 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 시그널링 정보를 이용하여 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림간의 동기화 방법을 나타낸 도면이다.
도 74은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 AU의 신택스 (Syntax)를 나타낸 도면이다.
도 75은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 AU의 신택스 (Syntax)를 나타낸 도면이다.
도 76는 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 전송을 지원하는 LCT 패킷의 구조를 나타낸 도면이다.
도 77은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 전송을 지원하는 LCT 패킷의 구조를 나타낸 도면이다.
도 78는 본 발명의 일 실시예에 따른, DASH가 적용되는 방송망의 전송 스트림과 이종망 (예를 들면, 인터넷망)의 전송 스트림 간의 타임라인 컴포넌트 AU를 이용한 동기화 방법을 나타낸 도면이다.
도 79는 본 발명의 일 실시예에 따른, ISO BMFF (ISO base media file format)에서 타임라인 컴포넌트를 식별하기 위한 샘플 엔트리(Sample Entry)를 나타낸 도면이다.
도 80은 본 발명의 일 실시예에 따른, ISO BMFF에서 타임라인 컴포넌트 트랙과 타 트랙과의 의존관계를 표현하기 위한 트랙 레퍼런스 타입 박스(Track Reference Type Box)를 나타낸 도면이다.
도 81은 본 발명의 일 실시예에 따른, 차세대 방송 시스템에서 서비스 및/또는 컨텐츠를 획득하는 구조를 나타낸 도면이다.
도 82은 본 발명의 일 실시예에 따른, ISO BMFF에서 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법을 나타낸 도면이다.
도 83는 본 발명의 다른 실시예에 따른, ISO BMFF에서 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법을 나타낸 도면이다.
도 84은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 85는 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 86은 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 87는 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷이 포함하는 network_protocol 필드가 가질 수 있는 값을 보여준다.
도 88은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블과 방송 서비스 전송 경로 시그널링 정보가 방송 서비스와 방송 서비스 전송 경로를 시그널링하는 것을 보여준다.
도 89은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 90는 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블이 포함하는 service_category 필드가 가질 수 있는 값을 보여준다.
도 91은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 92은 본 발명의 일 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
도 93는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 방송 패킷을 전송하는 동작을 보여준다.
도 94은 본 발명의 일 실시예에 따른 방송 수신 장치가 방송 패킷을 수신하는 동작을 보여준다.
도 95은 본 발명의 실시 예에 따른 패킷 구성을 보여준다.
도 96은 본 발명의 실시 예에 따른 RTP(Real-time Transport Protocol) 패킷의 구조를 보여준다.
도 97는 본 발명의 일 실시 예에 따른 ISO base media file format(이하 ISO BMFF)를 기반으로 하는 미디어 파일 포맷을 나타낸다.
도 98은 본 발명의 일 실시 예에 따른 패킷 페이로드의 페이로드 헤더의 구성을 나타낸다.
도 99 내지 도 100는 하나의 패킷에 하나의 미디어 데이터가 패킷타이킹된 전송 패킷 의 페이로드 구성을 나타낸다.
도 101 내지 도 102은 하나의 패킷에 복수의 서로 다른 미디어 데이터가 패킷타이징된 전송 패킷의 구성을 나타낸다.
도 103는 하나의 미디어 데이터가 복수의 전송 패킷에 나뉘어 패킹타이징된 전송 패킷(이하 프래그멘티드 패킷(Fragmented packet))의 페이로드 구성을 나타낸다.
도 104는 프래그멘티드 패킷 의 페이로드의 구성의 또 다른 실시 예를 나타낸다.
도 105는 본 발명의 일 실시 예에서 방송 전송 장치가 ISO BMFF 기반 미디어 파일을 프레그멘테이션하여 복수개의 패킷들로 나누는 것을 나타낸다.
도 106는 도 105의 방송 전송 장치가 패킷타이징한 제1 프래그멘테이션 유닛 데이터의 구체적인 실시 예를 나타낸다.
도 107 내지 도 109은 도 54의 프래그멘테이션 유닛 데이터 중 시작데이터를 제외한 나머지 데이터를 포함하는 프래그멘테이션 유닛의 일 실시 예를 나타낸다.
도 110는 본 발명의 일 실시예에 따른 메타데이터의 타임라인 시그널링 테이블을 보여준다.
도 111은 전송 패킷의 페이로드 데이터에 하나의 메타데이터가 패킷타이징된 페이로드 데이터의 구성을 나타낸다.
도 112은 전송 패킷의 페이로드 데이터가 타임라인에 대한 메타데이터를 포함하는 경우의 일 실시 예를 나타낸다.
도 113는 하나의 전송 패킷에 다수의 메타데이터가 패킷타이징된 경우를 나타낸다.
도 114은 하나의 전송 패킷이 여러 개의 타임라인 정보를 포함하는 경우를 나타낸다.
도 115는 하나의 메타데이터를 복수개의 전송 패킷에 나누어 패킷타이징한 패킷 페이로드를 나타낸다.
도 116는 메타데이터 프래그먼트 헤더의 또 다른 실시 예를 나타낸다.
도 117은 본 발명의 일 실시예에 따른 방송 수신 장치가 방송 패킷을 수신하는 동작을 보여준다.
도 118은 방송망으로는 RTP 프로토콜을 이용하여 비디오 스트림을 전송하고 인터넷망을 통해서는 파일 포맷 기반의 미디어 데이터를 이용하여 비디오 스트림을 전송하는 경우를 나타낸다.
도 119은 본 발명의 일 실시 예에 따른 전송 패킷의 구성을 나타낸다.
도 120는 본 발명의 일 실시 예에 따른 패킷 헤더의 구성을 나타낸다.
도 121 내지 도 122은 시간 정보를 포함하는 확장된 헤더의 구성을 나타낸다.
도 123 내지 도 126은 본 발명의 또 다른 일 실시 예에 따른 확장된 헤더의 구성을 나타낸다.
도 127은 본 발명의 일 실시 예에 따른, 다른 타이밍 정보와의 매핑을 지원하기 위한 확장된 헤더의 구조를 나타낸다.
도 128은 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 방법을 나타낸다.
도 129는 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 방법을 나타낸다.
도 130은 전송 패킷의 구성에 대한 정보를 포함하는 패킷 헤더의 구조를 나타낸다.
도 131은 도 130에서 설명한 전송 패킷의 구성을 나타내는 도면이다.
도 132는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 방법을 나타낸다.
도 133은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 방법을 나타낸다.
도 134 는 본 발명의 일 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 타임라인 레퍼런스 정보 AU(timeline reference information AU) 를 도시한 도면이다.
도 135 는 본 발명의 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 타임라인 레퍼런스 정보 AU(timeline reference information AU) 를 도시한 도면이다.
도 136 은 본 발명의 일 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조를 도시한 도면이다.
도 137 은 본 발명의 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조를 도시한 도면이다.
도 138 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
도 139 는 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 140 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
도 141 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
도 142 는 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
도 143 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
도 144 는 본 발명의 일 실시예에 따른 방송 컨텐츠를 전송하는 방법을 도시한 도면이다.
도 145 는 본 발명의 일 실시예에 따른 방송 컨텐츠를 전송하는 장치를 도시한 도면이다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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 pat00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure pat00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure pat00003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
IP 스트림/패킷 및 MPEG2-TS은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 4에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 5는 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 5를 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure pat00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure pat00005
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 6을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 7에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 9는 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 10은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
Figure pat00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure pat00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure pat00008
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 pat00009
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
Figure pat00010
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 pat00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure pat00012
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 pat00013
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 13은 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
*DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
Figure pat00014
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
Figure pat00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure pat00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure pat00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure pat00018
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 pat00019
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 pat00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure pat00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure pat00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure pat00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure pat00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure pat00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure pat00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure pat00027
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
*NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
Figure pat00028
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 16은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 16의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 17은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 17의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 17에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 18은 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 19는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 19에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
Figure pat00029
Figure pat00030
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure pat00031
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure pat00032
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure pat00033
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure pat00034
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure pat00035
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure pat00036
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure pat00037
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure pat00038
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK _Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK _Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK _Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 32에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure pat00039
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK _ TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure pat00040
개의 셀이 판독된다. 구체적으로,
Figure pat00041
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure pat00042
, 열 인덱스
Figure pat00043
, 관련된 트위스트 파라미터
Figure pat00044
를 산출함으로써 실행된다.
Figure pat00045
여기서,
Figure pat00046
Figure pat00047
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure pat00048
에 의해 결정된다.
Figure pat00049
결과적으로, 판독될 셀 위치는 좌표
Figure pat00050
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
Figure pat00051
,
Figure pat00052
,
Figure pat00053
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure pat00054
Figure pat00055
보다 작거나 같을 것이다. 따라서,
Figure pat00056
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure pat00057
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure pat00058
타임 인터리빙 그룹의 수는 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 pat00059
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
Figure pat00060
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure pat00061
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
Figure pat00062
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
이하에서는, 본 발명의 일 실시예로서 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 방법 및 소비 방법을 설명하기로 한다.
구체적으로, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 데이터 구성 방안을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 정보 및 소비 정보를 식별하는 방법을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 방법을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일기반 멀티미디어 콘텐츠를 소비하기 위한 파일의 분할 소비 방법을 제공한다.
도 25은 FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간을 나타낸 도면이다.
최근에는 방송 망과 인터넷 망이 결합된 하이브리드 방송 서비스가 많이 제공된다. 하이브리드 방송 서비스는 A/V 콘텐츠를 기존의 방송 망으로 전송하고, A/V 콘텐츠와 관련된 부가 데이터를 인터넷 망을 통해서 제공할 수 있다. 또한, 최근에는 A/V 콘텐츠의 일부를 인터넷 망을 통해서 전송하는 서비스도 제공되고 있다.
A/V 콘텐츠가 이종 망을 통해서 전송됨에 따라서 이종 망을 통해서 전송되는 A/V 콘텐츠 데이터들 간의 긴밀한 결합 방법 및 손쉬운 상호운용 방법이 요구된다. 이를 위해서, 방송 망 및 인터넷 망에 함께 적용할 수 있는 공통의 전송 방법이 필요하다.
최근 고려되고 있는 방송 망과 인터넷 망에 공통으로 적용할 수 있는 A/V 콘텐츠의 전송 방법 중에서 하나는 파일 기반 멀티미디어 콘텐츠의 사용이다. 파일 기반 멀티미디어 콘텐츠는 확장성이 뛰어나고, 전송 프로토콜에 대한 의존성이 없기 때문에 기존의 인터넷 망을 통한 다운로드 방식의 형태로 널리 사용되고 있다.
이와 같이, 방송 망과 인터넷 망과의 연동에 적합하고 대용량 파일의 파일 기반 멀티미디어 콘텐츠를 전송하는데 적합한 프로토콜이 FLUTE(File Delivery over Unidirectional Transport protocol)이다.
FLUTE은 ALC 기반에서 단 방향 파일 전송을 위한 어플리케이션으로, 파일을 전송하는데 있어서 필요한 파일 자체에 대한 정보들이나 전송을 위한 정보들에 대해서 정의해 놓은 프로토콜이다. FLUTE은 파일을 전송하는데 있어서 먼저 FDT(File Delivery Table) 인스턴스의 송신을 통해서 전송에 필요한 정보와 전송할 파일의 여러 속성들에 대한 정보를 보낸 후에 파일을 전송한다.
ALC(Asynchronous Layered Coding)는 단일 송신자가 여러 수신자들에게 파일을 전송하는 동안에 여러 채널들을 통해 신뢰성과 혼잡 제어가 가능하도록 표준화한 프로토콜이다. ALC는 에러제어를 위한 FEC 형성 블록, 혼잡 제어를 위한 WEBRC 형성 블록, 세션 및 채널 관리를 위한 LCT(Layered Coding Transport) 형성 블록을 결합한 것으로, 서비스와 필요에 따라서 빌딩 블록을 구성할 수 있도록 되어 있다.
ALC는 컨텐츠 전달 프로토콜로서 수 많은 수신자들에게 매우 효율적인 전송을 가능하게 한다. 또한 ALC는 단방향성이고 필요에 따라 제한적 전송이 가능하며 피드백을 위한 특정 채널 및 자원이 필요하지 않기 때문에, 무선환경뿐만 아니라 위성환경의 브로드캐스트에서도 사용할 수 있다. ALC는 피드백이 없기 때문에 신뢰성을 위해 FEC코드 스킴을 전체적으로 또는 부분적으로 적용하여 신뢰적인 서비스를 제공한다. 또한, 전달하고자 하는 오브젝트는 적용되는 FEC 스킴에 따라 FEC 인코딩을 거쳐 전송 블록과 FEC 스킴을 통해 만들어진 추가적인 심볼들을 구성하여 전달된다. ALC의 세션은 하나 이상의 채널로 구성되며, 여러 수신자들은 네트워크 상태에 따라 세션 내의 채널을 선택하여 원하는 오브젝트를 수신한다. 수신자들은 자신의 컨텐츠 수신에만 전념할 수 있으며, 다른 수신자의 상태나 패킷 손실에도 거의 영향을 받지 않는다. 따라서, ALC는 높은 견고성을 가지며, 멀티-레이어드(multi-layered) 전송을 이용하여 안정적인 컨텐츠 다운로드를 제공할 수 있다.
LCT는 신뢰성 있는 콘텐츠 전송(예를 들어, FLUTE) 및 스트림 전송 프로토콜을 위한 전송레벨의 지원을 제공한다. LCT는 수신자에게 전달할 기본적인 정보의 내용과 특징에 대한 정보를 제공한다. 예를 들어, LCT는 TSI(Treansport Session Identifier) 필드, TOI(Transport Object ID) 필드, 및 CCI(Congestion Control Information) 필드를 포함할 수 있다.
TSI 필드는 ALC/LCT 세션을 식별하는 정보를 포함한다. 예를 들어, 세션 내의 채널은 송신자 IP주소와 UDP 포트를 이용하여 식별될 수 있다. TOI 필드는 각각의 파일 오브젝트를 식별하는 정보를 포함한다. CCI 필드는 사용여부 및 혼잡 제어 블록의 정보를 포함한다. 또한, LCT는 확장 헤더를 통해 부가정보 및 FEC 관련정보를 제공할 수 있다.
이상과 같이, 오브젝트(예를 들어, 파일 등)는 FLUTE 프로토콜에 따라서 패킷화되고, 이는 다시 ALC/LCT 방식에 따라 패킷화된다. 상기 패킷화된 ALC/LCT 데이터는 다시 UDP 방식에 따라 패킷화되며, 상기 패킷화된 ALC/LCT/UDP 데이터는 다시 IP 방식에 따라 패킷화되어 ALC/LCT/UDP/IP 데이터가 된다.
파일 기반 멀티미디어 콘텐츠는 LCT와 같은 콘텐츠 전송 프로토콜을 통해서 인터넷 망뿐만 아니라 방송 망으로도 전송이 가능하다. 이때, 적어도 하나의 오브젝트 또는 파일로 구성되는 멀티미디어 콘텐츠는 LCT를 통해서 오브젝트 단위 또는 파일 단위로 전송 및 소비될 수 있다. 구체적으로 설명하면, 아래와 같다.
도 25의 (a)를 참조하면, FLUTE 프로토콜을 이용한 데이터 구조가 나타나있다. 예를 들어, 멀티미디어 콘텐츠는 적어도 하나의 오브젝트를 포함할 수 있다. 하나의 오브젝트는 적어도 하나의 프래그먼트(Fragment 1 및 Fragment 2)를 포함할 수 있다.
도 25의 (b)를 참조하면, FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간이 나타나 있다. 도 25의 (b)에서, 가장 아래 그림은 방송 신호 송신 장치가 하나의 오브젝트에 대한 인코딩 시작 시간 및 인코딩 종료 시간이 나타나 있고, 가운데 그림은 방송 신호 송신 장치가 하나의 오브젝트에 대한 전송 시작 시간 및 전송 종료 시간이 나타나 있고, 가장 위의 그림은 방송 신호 수신 장치가 하나의 오브젝트에 대한 재생 시작 시간 및 재생 종료 시간이 나타나 있다.
방송 신호 송신 장치는 적어도 하나의 프래그먼트를 포함하는 오브젝트의 생성을 종료한 이후에 오브젝트의 전송을 시작한다. 따라서, 방송 신호 송신 장치에서 오브젝트를 생성하기 시작한 시점과 전송하기 시작한 시점 사이에 Dt1 만큼의 전송 대기 시간이 발생한다.
또한, 방송 신호 수신 장치는 적어도 하나의 프래그먼트를 포함하는 오브젝트의 수신을 종료한 이후에 오브젝트의 재생을 시작한다. 따라서, 방송 신호 수신 장치에서 오브젝트를 수신하기 시작한 시점과 재생하기 시작한 시점 사이에 Dr1 만큼의 재생 대기 시간이 발생한다.
따라서, 하나의 오브젝트가 방송 신호 송신 장치에서 전송되어 방송 신호 수신 장치에서 재생될 때까지는 전송 대기 시간과 재생 대기 시간의 합 만큼의 시간이 필요하다. 이는, 방송 신호 수신 장치로 하여금 해당 오브젝트에 대한 초기 접근 시간이 상당히 오래 걸린다는 것을 의미한다.
이상과 같이, FLUTE 프로토콜을 이용할 경우 방송 신호 송신 장치는 오브젝트 단위로 데이터를 전송하므로, 방송 신호 수신 장치는 하나의 오브젝트에 대한 데이터를 모두 수신한 이후에 해당 오브젝트를 소비할 수 밖에 없는 한계가 있다. 따라서, FLUTE 프로토콜을 이용한 오브젝트의 전송은 실시간 방송 환경에 적합하지 않다.
도 26은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
IP 기반 하이브리드 방송을 지원하는 차세대 방송 시스템의 방송서비스는 비디오 데이터, 오디오 데이터, 자막 데이터, 시그널링 데이터, ESG(Electronic Service Guide) 데이터, 및/또는 NRT 콘텐츠 데이터를 포함할 수 있다.
비디오 데이터, 오디오 데이터 및 자막 데이터 등은 ISO 베이스 미디어 파일(Base Media File) (이하 ISO BMFF) 형태로 캡슐화(encapsulation)될 수 있다. 예를 들어, ISO BMFF 형태로 캡슐화된 데이터는 MPEG(Moving Picture Expert Group)-DASH((Dynamic Adaptive Streaming over HTTP)의 세그먼트 혹은 MMT(MPEG Media Transport) 의 MPU (Media processing unit) 등의 형태를 따를 수 있다. 그리고 나서, ISO BMFF 형태로 캡슐화된 데이터는 방송망과 인터넷 망에서 동일하게 또는 각 전송망의 속성에 따라 서로 다르게 전송될 수 있다.
방송망의 경우, 시그널링 데이터, ESG 데이터, NRT 콘텐츠 데이터 및/또는 ISO BMFF 형태로 캡슐화된 데이터들은 실시간 오브젝트 전송을 지원하는 애플리케이션 층 전송 프로토콜 패킷으로 캡슐화될 수 있다. 예를 들어, ISO BMFF 형태로 캡슐화된 데이터들은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 및 MMT의 전송 패킷 등으로 캡슐화될 수 있다.
ROUTE는 IP 멀티캐스트 네트워크를 통해 파일을 전달하기 위한 프로토콜이다. ROUTE 프로토콜은 ALC(Asynchronous Layered Coding), 엄청나게 확장가능한 멀티캐스트 분배를 위해 설계된 베이스 프로토콜, LCT(Layered Coding Transport) 및 다른 공지된 인터넷 표준을 이용한다. ROUTE는 추가의 특징을 갖는 FLUTE의 향상 및 그에 대한 기능적 대체물이다.
ROUTE는 시그널링 메시지, ESG(Electronic Service Guide) 메시지 및 NRT 콘텐츠를 전달하는 기능을 한다. 이는 스트리밍 미디어, 예를 들어, MPEG-DASH 미디어 세그먼트 파일의 전달에 특히 적합하다. ROUTE는 FLUTE와 비교하여 딜리버리 체인을 통해 더 낮은 엔드-투-엔드 레이턴시(end-to-end latency)를 제공한다.
ROUTE 프로토콜은 임의의 종류의 오브젝트의 전달을 위해 제공되는 일반적인 전송 애플리케이션이다. 이는 장면 기술(scene description), 미디어 오브젝트 및 DRM 관련 정보를 포함하는 풍부한 프리젠테이션을 지원한다. ROUTE는 특히 실시간 미디어 콘텐츠의 전달에 적합하고 많은 특징을 제공한다.
예를 들어, ROUTE는 상이한 미디어 컴포넌트, 예를 들어, 언어 트랙, 서브타이틀, 대안의 비디오 뷰로의 개별 전달 및 액세스를 제공한다. 또한, ROUTE는 상이한 전송 세션 또는 동일한 ROUTE 세션에 대한 전달을 가능하게 함으로써 계층적 코딩의 지원을 제공한다. 또한, ROUTE는 멀티스테이지를 포함하는 유연한 FEC 보호에 대한 지원을 제공한다. 또한, ROUTE는 DASH의 방송 및 브로드밴드 전달 모드 사이의 MPEG-DASH 가능 시너지를 갖는 쉬운 조합을 제공한다. 또한, ROUTE는 ROUTE 및/또는 전송 세션에 참가할 때 미디어로의 신속한 액세스를 제공한다. ROUTE는 전달 개념에 초점을 맞춤으로써 크게 확장가능하다. 또한, ROUTE는 기존의 IETF 프로토콜과의 호환성 및 IEFT-지원(IETF-endorsed) 확장 메커니즘의 사용을 제공한다.
ROUTE 프로토콜은 2개의 주요 컴포넌트로 분리된다. 제1 컴포넌트는 오브젝트의 전달 또는 오브젝트의 플로우/수집을 위한 소스 프로토콜이다. 제2 컴포넌트는 소스 프로토콜을 통해 전달되는 딜리버리 오브젝트 또는 딜리버리 오브젝트의 다발(bundle)을 유연하게 보호하는 리페어(repair) 프로토콜이다.
소스 프로토콜은 리페어 프로토콜과 독립적이다, 즉, 소스 프로토콜은 ROUTE 리페어 프로토콜 없이 배치(deploy)될 수 있다. 리페어는 소정의 배치(deployment) 시나리오에 대해서만, 예를 들어, 소정의 지리적 영역 내의 모바일 수신, 소정의 서비스 등을 위해서만 추가될 수 있다.
소스 프로토콜은 3GPP TS 26.346에서 정의된 확장 뿐만 아니라 RFC 6726에서 정의된 FLUTE와 맞추어 조정되지만, 예를 들어, 오브젝트 메타데이터와 오브젝트 콘텐츠가 합성(compound) 오브젝트에서 함께 전송될 수 있는 RFC 6968에서 정의된 FCAST의 일부의 원리를 이용한다.
기본 FLUTE 프로토콜에 더하여, 미디어 데이터, 그로 인한 프로토콜의 이름의 실시간 전달을 위한 최적화된 지원이 가능한 소정의 최적화 및 제한이 추가된다. 그 중에서도, 소스 ROUTE 프로토콜은 오브젝트 기반 미디어 데이터의 실시간 전달을 제공한다. 또한, 소스 ROUTE 프로토콜은 딜리버리 오브젝트의 전송 인식 패킷화(transport aware packetization) 뿐만 아니라 미디어 인식 패킷화의 인에이블링을 포함하여 유연한 패킷화를 제공한다. 또한, 소스 ROUTE 프로토콜은 파일 및 딜리버리 오브젝트의 독립성을 제공하고, 즉, 딜리버리 오브젝트는 파일의 일부 또는 파일의 그룹일 수 있다.
딜리버리 오브젝트는, 수신기가 딜리버리 오브젝트를 회복하여 애플리케이션으로 전달하기 때문에, 이 프로토콜의 중요한 컴포넌트이다. 딜리버리 오브젝트는 애플리케이션에 대하여 독립적(self-contained)이고, 일반적으로 애플리케이션에 관련된 소정의 특성(properties), 메타데이터 및 타이밍 관련 정보와 연관된다. 임의의 경우, 특성은 오브젝트와 함께 대역 내에서(in-band) 제공되고, 다른 경우, 데이터는 정적 또는 동적 방식으로 대역 밖에서(out-of-band) 전달될 필요가 있다. 딜리버리 오브젝트는 "FDT 인스턴스"에 의해 기술되고 동반되는 완전 또는 부분 파일을 포함할 수 있다. 또한, 딜리버리 오브젝트는 HTTP 엔티티(HTTP 엔티티 헤더 및 HTTP 엔티티 바디) 및/또는 딜리버리 오브젝트의 패키지를 포함할 수 있다.
딜리버리 오브젝트는 FDT 인스턴스와 함께 전체 파일 또는 파일의 바이트 범위일 수 있다. 딜리버리 오브젝트는 실시간 또는 비 실시간(시간 제한 전달 또는 비시간 제한 전달)로 전달될 수 있다. 시간 제한이면, 소정의 실시간 및 버퍼 제한이 적용되고 특정 확장 헤더가 사용될 수 있다. 동적 및 정적 메타데이터는 딜리버리 오브젝트 특성을 기술하는데 사용될 수 있다. 딜리버리 오브젝트는 특정 데이터 구조, 특히, ISO BMFF 구조로 전달될 수 있다. 이 경우, 미디어 인식 패킷화 또는 일반적인 패킷화가 적용될 수 있다.
딜리버리 포맷은 애플리케이션에 정보를 제공하기 위하여 어떤 포맷이 사용되는지를 특정한다.
*ROUTE 리페어 프로토콜은 FEC 기반이고 전송층(예를 들어, UDP) 및 오브젝트 딜리버리층 프로토콜 사이의 추가층으로서 이용가능하다. FEC는 RFC 6363에 정의된 FEC 프레임워크의 개념을 재이용하지만, RFC 6363의 FEC 프레임워크와 대조적으로, ROUTE 리페어 프로토콜은 패킷을 보호하지 않고, 대신, 소스 프로토콜에서 전달된 딜리버리 오브젝트를 보호한다. 각 FEC 소스 블록은 (FLUTE와 유사한) 단일 딜리버리 오브젝트처럼 또는 FEC 보호 전에 번들링된 다수의 딜리버리 오브젝트에 의해 딜리버리 오브젝트의 일부로 구성될 수 있다. ROUTE FEC는 RFC 5052에서 정의된 것과 유사한 의미로 FEC 스킴을 이용하고, 그 문서의 용어를 이용한다. FEC 스킴은 FEC 인코딩 및 디코딩을 정의하고, FEC 스킴의 컨텍스트에서 패킷 패이로드 데이터를 식별하는데 사용되는 프로토콜 필드 및 절차를 정의한다.
ROUTE에서, 모든 패킷은 RFC 5651에서 정의된 LCT 패킷이다. 소스 및 리페어 패킷은 ROUTE 세션, LCT 전송 세션 및/또는 PSI 비트 중의 적어도 하나에 의해 구별될 수 있다. 상이한 ROUTE 세션은 상이한 IP/UDP 포트 조합 상에서 전송된다. 상이한 LCT 전송 세션은 LCT 헤더에서 상이한 TSI 값을 이용한다. 또한, 소스 및 리페어 패킷이 동일한 LCT 전송 세션에서 전송되면, LCT 내의 PSI 비트에 의해 구별될 수 있다. 동작의 이 모드는 FLUTE 호환가능 배치에 가장 적합하다.
ROUTE는 거동(behavior)를 전송 및 수신하면서 패킷 포맷을 포함하는 소스 프로토콜을 정의한다. 또한, ROUTE는 리페어 프로토콜을 정의한다. 또한, ROUTE는 전송 세션 확립을 위한 메타데이터 및 오브젝트 플로우 전달을 위한 메타데이터를 정의한다. 또한, ROUTE는 MPEG DASH 설정 및 ROUTE로의 맵핑에 대한 추천을 정의하여 풍부한 고품질의 선형 TV 방송 서비스를 가능하게 한다.
ROUTE 프로토콜의 범위는 LCT 패킷을 이용한 딜리버리 오브젝트 및 연관된 메타데이터의 신뢰성있는 전달이다. 오브젝트는 딜리버리 오브젝트 캐쉬(Delivery Object Cache)를 통해 애플리케이션에 이용가능하다. 이 캐쉬의 구현은 애플리케이션에 독립적이다.
ROUTE 프로토콜은 딜리버리 오브젝트를 전달하는 LCT 패킷의 포맷 및 FEC에 기초한 리페어 프로토콜을 이용한 딜리버리 오브젝트의 신뢰성있는 전달에 초점을 맞춘다. 또한, ROUTE 프로토콜은 딜리버리 오브젝트와 함께 오브젝트 메타데이터의 정의 및 전달에 초점을 맞추어 딜리버리 오브젝트 캐쉬 및 애플리케이션 간의 인터페이스를 가능하게 한다. 또한, ROUTE 프로토콜은 ROUTE 및 LCT 세션 기술에 초점을 맞추어 그 메타데이터와 함께 오브젝트의 수신을 확립한다. 또한, ROUTE 프로토콜은 패킷과 함께 전달될 보조 정보의 규범적 형태(normative aspects)(포맷, 시맨틱)에 초점을 맞추어 특정한 애플리케이션에 대한 성능, 예를 들어, 실시간 전달을 최적화한다.
또한, ROUTE 프로토콜은 전달에 사용되는 적절한 DASH 포맷 뿐만 아니라 ROUTE 전달로의 특정 DASH 미디어 프리젠테이션의 추천 맵핑을 제공한다. 중요한 문제는 ROUTE를 이용하여 DASH 미디어 포맷이 그대로 사용될 수 있다는 것이다. 이 아키텍쳐 설계는 집중된(converged) 유니캐스트/브로드캐스트 서비스를 가능하게 한다.
ROUTE 프로토콜의 전송자 동작에서, LCT 패킷을 전달하는 ROUTE 세션이 확립된다. 이들 패킷은 소스 오브젝트 또는 FEC 리페어 데이터를 전송할 수 있다. 소스 프로토콜은 하나 이상의 LCT 세션으로 구성되고, LCT 세션 각각은 자신의 메타데이터와 함께 연관된 오브젝트를 전달한다. 메타데이터는 엔티티 모드 내의 합성 오브젝트로서 또는 패킷 헤더 내의 LCT 확장 헤더로서 LSID(LCT Session Instance Description)에서 정적으로 전달되거나 동적으로 전달될 수 있다. 패킷은 임의의 바이트 경계에서 오브젝트의 유연한 프래그멘테이션을 허용하는 특정 FEC 스킴을 이용하여 ALC에서 전달된다. 또한, 딜리버리 오브젝트는 개별적으로 또는 번들링되어 FEC 보호될 수 있다. 어떤 경우에도, 번들링된 오브젝트는 인코딩되고, 리페어 패킷만이 전달된다. 소스 패킷과 결합하여, 이것은 회복 딜리버리 오브젝트 번들을 허용한다. 예를 들어, 각각 상이한 특성을 갖는 하나 또는 다수의 리페어 플로우가 생성되어 상이한 레이턴시 요구사항, 상이한 보호 요구사항 등을 지원할 수 있다.
DMD(Dynamic MetaData)는 클라이언트에서 동적으로 FDT 동등 기술(equivalent description)을 생성하는 메타데이터이다. 이는 엔티티 모드에서는 엔티티 헤더에서 전송되고 다른 전달 모드에서는 LCT 헤더에서 전송된다.
ROUTE 프로토콜은 소스 데이터의 상이한 보호 및 전달 스킴을 지원한다. 이는 또한 역호환성 모드로 배치될 수 있기 때문에 NRT 전달을 위한 기존의 모든 사용 경우를 지원한다.
ROUTE 세션은 IP 어드레스/포트 조합에 연관된다. 일반적으로, 이러한 세션을 참가시킴으로써, 세션의 모든 패킷이 수신될 수 있고, 애플리케이션 프로토콜이 추가의 프로세싱에 적용될 수 있다. 각각의 ROUTE 세션은 하나 또는 다수의 LCT 전송 세션으로 구성된다. LCT 전송 세션은 ROUTE 세션의 서브세트이다. 미디어 전달을 위해, LCT 전송 세션은 일반적으로, 미디어 컴포넌트, 예를 들어, DASH 리프리젠테이션을 전송한다. 브로드캐스트 DASH의 관점에서, ROUTE 세션은 하나 이상의 DASH 미디어 프리젠테이션의 구성 미디어 컴포넌트를 전달하는 LCT 전송 세션의 멀티플렉스로서 간주될 수 있다. 각 LCT 전송 세션 내에서, 하나 또는 다수의 오브젝트, 일반적으로, 관련된 오브젝트, 예를 들어, 하나의 프리젠테이션과 연관된 DASH 세그먼트가 전송된다. 각각의 오브젝트와 함께, 메타데이터 특성은 오브젝트가 애플리케이션에 사용될 수 있도록 전달된다. 애플리케이션은, 제한되지 않지만, DASH 미디어 프리젠테이션, HTML-5 프리젠테이션 또는 임의의 다른 오브젝트 소비(object-consuming) 애플리케이션을 포함한다.
ROUTE 세션은 시간적으로 제한되거나 제한되지 않을 수 있다. ROUTE 세션은 하나 또는 다수의 LCT 전송 세션을 포함한다. 각각의 전송 세션은 LCT 헤더 내의 고유 TSI(Transport Session Identifier) 값에 의해 고유하게 식별된다.
수신기가 ROUTE 세션에 참가할 수 있기 전에, 수신기는 ROUTE 세션 기술(description)을 얻을 필요가 있다. ROUTE 세션 기술은 전송자 IP 어드레스, 세션에 사용되는 어드레스 및 포트 번호, 세션이 ROUTE 세션이고 모든 패킷이 LCT 패킷이라는 지시 및/또는 IP/UDP 레벨에서 세션에 참가하고 소비하는데 필수적인 다른 정보 중의 적어도 하나를 포함한다.
세션 기술은 또한, 제한적이지 않지만, ROUTE 세션에 사용되는 데이터 레이트 및 ROUTE 세션의 듀레이션(duration)에 대한 임의의 정보를 포함할 수 있다.
세션 기술은 RFC 4566에 정의된 SDP(Session Description Protocol) 또는 RFC 3023에서 정의된 XML 메타데이터 등의 형태일 수 있다. 이는 등록 세션 제어 프로토콜(proprietary session control protocol)을 이용하여 임의의 세션 발표 프로토콜(session announcement protocol)로 전송되거나, 스케줄링 정보와 함께 웹 페이지 상에 위치하거나 이메일 또는 대역외(out-of-band) 방법을 통해 전달될 수 있다.
전송 세션은 ROUTE 세션 기술에 기술되지 않고 LSID(LCT Session Instance Description)에 기술된다. 전송 세션(즉, LCT 세션 또는 간단히 LCT 세션)은 소스 플로우 및 리페어 플로우 중의 하나 또는 양쪽을 포함할 수 있다. 소스 플로우는 소스 데이터를 전송한다. 또한, 리페어 플로우는 리페어 데이터를 전송한다.
ROUTE 세션에 포함되는 LCT 전송 세션은 LSID에 의해 기술된다. 특히, ROUTE 세션의 각각의 구성 LCT 전송 세션에서 전송되는 것을 정의한다. 각각의 전송 세션은 LCT 헤더 내의 TSI에 의해 고유하게 식별된다.
LSID는 이 ROUTE 세션 상에서 전송되는 모든 전송 세션을 기술한다. LSID는 LCT 전송 세션을 포함하는 동일한 ROUTE 세션에서 전달되거나, ROUTE 세션 이외의 수단에 의해, 예를 들어, 유니캐스트 또는 상이한 ROUTE 세션을 통해 전달될 수 있다. 전자의 경우, LSID는 TSI = 0를 갖는 전용 LCT 전송 세션 상에서 전달되고, 또한, TOI = 0에 의해 식별된 딜리버리 오브젝트일 것이다. TSI=0 상에서 전달되는 임의의 오브젝트에 대하여, 엔티티 모드가 사용되어야 한다. 이들 오브젝트가 엔티티 모드로 전달되지 않으면, LSID는 수신된 오브젝트에 대한 확장된 FDT를 얻기 전에 회복되어야 한다.
LSID의 인터넷 미디어 타입은 application/xml+route+lsid이다.
LSID는 다른 데이터 프래그먼트를 참조할 수 있다. LSID에서 참조되는 임의의 오브젝트는 또한 TSI = 0 상에서 LSDI 자체보다는 TOI의 상이한 값을 가지고 전달되거나 전용 TSI ≠ 0를 갖는 별도의 LCT 세션 상에서 전달될 수 있다.
LSID 엘리먼트는 버전 속성, 유효성 속성 및/또는 만료 속성을 포함할 수 있다. 따라서, LSID 엘리먼트는 유효성 속성 및 만료 속성 뿐만 아니라 버전 속성을 이용하여 업데이트될 수 있다. 예를 들어, 소정의 전송 세션은 임의의 시간 후에 종료될 수 있고 새로운 세션이 시작될 수 있다.
버전 속성은 이 LSID 엘리먼트의 버전을 나타낸다. 버전은 기술어가 업데이트될 때 1씩 증가한다. 가장 높은 버전 번호를 갖는 수신된 LSID 엘리먼트가 현재 유효한 버전이다.
유효성 속성은 LSID 엘리먼트가 유효한 날짜 및/또는 시간을 나타낸다. 유효성 속성은 존재하거나 존재하지 않을 수 있다. 존재하지 않으면, 수신기는 LSID 엘리먼트 버전이 즉시 유효한 것으로 가정해야 한다.
만료 속성은 LSID 엘리먼트가 만료하는 날짜 및 시간을 지시한다. 만료 속성은 존재하거나 존재하지 않을 수 있다. 존재하지 않으면, 수신기는 LSID 엘리먼트가 모든 시간 동안 또는 연관된 만료 값을 갖는 더 새로운 LSID 엘리먼트가 수신될 때 까지 유효한 것으로 가정해야 한다.
LSID 엘리먼트는 적어도 하나의 TransportSession 엘리먼트를 포함할 수 있다. TransportSession 엘리먼트는 LCT 전송 세션에 대한 정보를 제공한다. 각각의 TransportSession 엘리먼트는 tsi 속성, SourceFlow 엘리먼트 및/또는 RepairFlow 엘리먼트를 포함할 수 있다.
*tsi 속성은 전송 세션 식별자를 특정한다. 세션 식별자는 0이 아니어야 한다. SourceFlow 엘리먼트는 전송 세션 상에서 전달되는 소스 플로우의 정보를 제공한다. RepairFlow 엘리먼트는 전송 세션 상에서 전송되는 리페어 플로우의 정보를 제공한다.
그리고 나서, 애플리케이션 층 전송 프로토콜 패킷으로 캡슐화된 데이터들은 IP/UDP 방식에 따라 패킷화될 수 있다. IP/UDP 방식에 따라 패킷화 된 데이터를 IP/UDP 데이터그램이라 할 수 있는데, IP/UDP 데이터그램은 방송 신호에 실려서 전송될 수 있다.
인터넷 망의 경우, ISO BMFF 형태로 캡슐화된 데이터들은 스트리밍 기법을 기반으로 수신측에 전달될 수 있다. 예를 들어, 스트리밍 기법은 MPEG-DASH를 포함할 수 있다.
시그널링 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, 시그널링 데이터는 시그널링의 속성에 따라서 차세대 방송 전송 시스템 및 방송망의 물리층에 전달되는 전송 프레임(또는 프레임)의 특정 데이터 파이프(이하 DP) 등을 통하여 전송될 수 있다. 예를 들어, 시그널링 형태는 비트 스트림 또는 IP/UDP 데이터그램으로 캡슐화된 형태일 수 있다.
인터넷망의 경우, 시그널링 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
ESG 데이터 및 NRT 콘텐츠 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 애플리케이션층 전송 프로토콜 패킷으로 캡슐화될 수 있다. 그리고 나서, 애플리케이션층 전송 프로토콜 패킷으로 캡슐화된 데이터들은 상술한 바와 동일하게 전송될 수 있다.
인터넷망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치의 물리층(브로드캐스트 PHY 및 브로드밴드 PHY)은 전술한 도 1에 도시된 구조일 수 있다. 또한, 방송 신호 수신 장치의 물리층은 도 9에 도시된 구조일 수 있다.
시그널링 데이터 및 IP/UDP 데이터그램은 물리층에 전달되는 전송층(또는 프레임)의 특정 데이터 파이프 (이하 DP)를 통하여 전송될 수 있다. 예를 들어, 입력 포맷 블록(1000)은 시그널링 데이터 및 IP/UDP 데이터그램을 수신하고, 각각의 시그널링 데이터 및 IP/UDP 데이터그램을 적어도 하나의 DP로 역다중화할 수 있다. 출력 프로세서(9300)는 입력 포맷 블록(1000)과 상반된 동작을 수행할 수 있다.
이하에서는 상술한 ISO BMFF 형태로 캡슐화된 데이터들이 ROUTE의 전송 패킷으로 캡슐화된 경우를 중심으로 설명한다.
<실시간 파일 생성, 소비를 위한 데이터 구성>
도 27는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 27를 참조하면, 도 27는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 데이터 구조가 도시되어 있다. 파일 기반 멀티미디어 콘텐츠란 적어도 하나의 파일로 구성되어 있는 멀티미디어 콘텐츠를 의미한다.
방송 프로그램과 같은 멀티미티어 콘텐츠는 하나의 프리젠테이션(presentation)으로 이루어질 수 있다. 프리젠테이션은 적어도 하나의 오브젝트(object)를 포함할 수 있다. 예를 들어, 오브젝트는 파일일 수 있다. 또한, 오브젝트는 적어도 하나의 프래그먼트(fragment)를 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 비디오 데이터를 담는 프래그먼트는 IDR Picture로 시작하며, 미디어 데이터의 파싱(parsing)을 위한 헤더(header) 데이터 또한 이전(preceding)의 프래그먼트에 대하여 의존성을 갖지 않는다. 본 발명의 일 실시예에 따른 프래그먼트는 적어도 하나의 전송 블록 단위로 분할되어 전송될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 부호화 및 전송될 수 있는 최소 데이터 단위를 의미한다. 또한, 전송 블록은 가변적인 크기의 GOP 단위 또는 청크 단위로 된 의미 있는 데이터 단위일 수 있다. 예를 들어, 전송 블록은 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 적어도 하나의 청크(chunk)를 포함할 수 있다. 청크란 콘텐츠의 세그멘트를 의미할 수 있다. 또한, 전송 블록은 적어도 하나의 소스 블록을 포함할 수 있다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 일 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 오픈 GOP 및 클로즈드 GOP를 포함할 수 있다.
오픈 GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, 오픈 GOP은 코딩 효율을 상당히 높일 수 있다. 클로즈드 GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
전송 블록은 적어도 하나의 데이터를 포함할 수 있고, 각각의 데이터는 동일하거나 서로 다른 미디어 타입을 가질 수 있다. 예를 들어, 미디어 타입은 오디오 타입 및 비디오 타입을 포함할 수 있다. 즉, 전송 블록은 오디오 및 비디오의 경우처럼 서로 다른 미디어 타입을 갖는 적어도 하나의 데이터를 함께 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더(header)는 앞서 언급한 청크들을 파싱하기 위한 타이밍(timing) 정보 및 인덱싱(indexing) 정보 등을 포함할 수 있다. 그리고, 프래그먼트 헤더는 적어도 하나의 전송 블록으로 구성될 수 있다. 예를 들어, 프래그먼트 헤더는 하나의 전송 블록에 포함될 수 있다. 또한, 프래그먼트 페이로드를 구성하는 적어도 하나의 청크 데이터도 적어도 하나의 전송 블록에 각각 포함될 수 있다. 상술한 바와 같이, 프래그먼트 헤더 및 프레그먼트 페이로드는 적어도 하나의 전송 블록에 각각 포함될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 적어도 하나의 심볼(symbol)로 분할 될 수 있다. 적어도 하나의 심볼은 패킷화될 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 적어도 하나의 심볼을 LCT 패킷으로 패킷화 할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷화된 데이터를 방송 신호 수신 장치로 전송할 수 있다.
도 28은 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 28을 참조하면, 본 발명의 일 실시예에 따른 데이터 구조를 MPEG-DASH의 미디어 세그먼트(Media Segment)에 적용한 실시예가 나타나 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 서버에 다수의 품질을 가진 멀티미디어 콘텐츠들을 보유하고 사용자의 방송 환경 및 방송 신호 수신 장치의 환경에 적합한 멀티미디어 콘텐츠들을 제공함으로서 끊김 없는 실시간 스트리밍 서비스를 제공할 수 있다. 예를 들어, 방송 신호 송신 장치는 MPEG-DASH를 이용하여 실시간 스트리밍 서비스를 제공할 수 있다.
방송 신호 송신 장치는 XML 형태의 MPD(Media Presentation Description) 및 이진화 포맷 형태의 전송용 멀티미디어 콘텐츠인 세그먼트(Segment)를 ROUTE 프로토콜 이용하여 방송 신호 수신 장치로 방송 환경 및 방송 신호 수신 장치의 환경에 따라서 동적으로 전송할 수 있다.
MPD는 계층적인 구조로 구성되어 있으며 각 계층별 구조적 기능 및 역할 등에 관한 정보를 포함할 수 있다.
세그먼트는 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 스트리밍 서비스를 지원하기 위해 방송 신호 수신 장치로 전송하고자 하는 품질별, 시간별로 분리한 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. 미디어 세그먼트는 미디어 스트림의 정보, 적어도 하나의 액세스 유닛, 프리젠테이션 시간 또는 인덱스와 같은 해당 세그먼트 안의 미디어 프리젠테이션에 접근 방법에 대한 정보를 포함할 수 있다. 또한, 미디어 세그먼트는 세그먼트 인덱스에 의해 적어도 하나의 서브세그먼트로 분할될 수 있다.
MPEG-DASH 콘텐츠는 적어도 하나의 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 프래그먼트는 상술한 서브세그먼트일 수 있다. 상술한 바와 같이 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 세그먼트 인덱스 박스는 해당 프래그먼트 내부에 존재하는 미디어 데이터의 최초 프리젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스는 미디어 데이터 박스(mdat)에 대한 메타 데이터를 포함할 수 있다. 예를 들어, 무비 프래그먼트 박스는 프래그먼트 내 미디어 데이터 샘플(sample)의 타이밍, 인덱싱, 디코딩(decoding) 정보 등을 포함할 수 있다.
프래그먼트 페이로드는 미디어 데이터 박스(mdat)를 포함할 수 있다. 미디어 데이터 박스(mdat)는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다.
부호화된 미디어 데이터는 프래그먼트 페이로드에 해당되는 미디어 데이터 박스 (mdat)내에 청크 단위로 포함된다. 상술한 바와 같이, 동일한 트랙(track)에 해당하는 샘플들은 하나의 청크 내에 포함될 수 있다.
방송 신호 송신 장치는 프래그먼트를 분할하여 적어도 하나의 전송 블록을 생성할 수 있다. 또한, 방송 신호 송신 장치는 프래그먼트 헤더와 페이로드 데이터를 구분하기 위해 프래그먼트 헤더와 페이로드 데이터를 각각 다른 전송 블록에 포함시킬 수 있다.
또한, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 데이터를 분할하여 전송하기 위해서 청크 단위로 구획된 전송 블록을 생성할 수 있다. 즉, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 청크의 경계와 전송 블록의 경계 지점이 일치하도록 전송 블록을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 전송 블록을 분할하여 적어도 하나의 심볼을 생성할 수 있다. 오브젝트 내의 모든 심볼의 길이는 동일 할 수 있다. 또한, 오브젝트 내의 모든 심볼의 길이를 동일하게 하기 위해서, 전송 블록의 마지막 심볼은 패딩(padding) 바이트들을 포함할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 심볼을 패킷화할 수 있다. 예를 들어, 방송 신호 송신 장치는 적어도 하나의 심볼들을 기초로 LCT 패킷을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 생성된 LCT 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 프래그먼트를 생성하기 위해서 프래그먼트 페이로드를 먼저 생성한 이후에 프래그먼트 헤더를 생성한다. 이때, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 미디어 데이터에 해당하는 전송 블록을 생성할 수 있다. 예를 들어, 미디어 데이터 박스(mdat)에 포함된 미디어 데이터에 해당하는 적어도 하나의 전송 블록은 청크 단위로 순차적으로 생성될 수 있다. 그리고 나서, 방송 신호 송신 장치는 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
방송 신호 송신 장치는 미디어 콘텐츠를 실시간 방송으로 전송하기 위해서 생성된 전송 블록을 생성 순서에 따라서 전송할 수 있다. 반대로, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 프래그먼트 헤더를 먼저 파싱한 이후에 프래그먼트 페이로드를 파싱한다.
방송 신호 송신 장치는 미디어 데이터가 미리 인코딩되었거나 전송 블록이 미리 생성된 경우에는 파싱 순서로 전송할 수 있다.
도 29는 본 발명의 일 실시예에 따른 ROUTE 프로토콜을 이용한 데이터 처리 시간을 나타낸 도면이다.
도 29의 (a)를 참조하면, 본 발명의 일 실시예에 따른 데이터 구조가 나타나있다. 멀티미디어 데이터는 적어도 하나의 오브젝트를 포함할 수 있다. 각각의 오브젝트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 하나의 오브젝트는 2개의 프래그먼트(Fragment1 및 Fragment 2)를 포함할 수 있다.
방송 신호 송신 장치는 프래그먼트를 적어도 하나의 전송 블록으로 분할할 수 있다. 전송 블록은 소스 블록일 수 있고, 이하에서는 소스 블록을 기준으로 설명하기로 한다.
예를 들어, 방송 신호 송신 장치는 프래그먼트 1을 세 개의 소스 블록(Source Block 0, Source Block 1, and Source Block 2)으로 분할하고, 프래그먼트 2를 세 개의 소스 블록(Source Block 3, Source Block 4, Source Block 5)으로 분할할 수 있다.
방송 신호 송신 장치는 분할된 각각의 소스 블록을 개별적으로 전송할 수 있다. 방송 신호 송신 장치는 각각의 소스 블록이 생성된 시점 또는 바로 직후에 생성된 각각의 소스 블록의 전송을 시작할 수 있다.
예를 들어, 방송 신호 송신 장치는 소스 블록 0(S0)을 te0 ~ te1 시간 동안 생성한 이후에, 소스 블록 0(S0)을 전송할 수 있다. 소스 블록 0(S0)의 전송 시작 시점(td0)은 소스 블록 0(S0)의 생성 완료 시점(td0)의 직후이거나 동일 할 수 있다. 같은 방법으로, 방송 신호 송신 장치는 소스 블록 1(S1) 내지 소스 블록 5(S5)를 생성하고, 생성된 각각의 소스 블록을 전송할 수 있다.
따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치에서는 하나의 소스 블록을 생성하기 시작한 시점과 전송하기 시작한 시점 사이에 Dt2 만큼의 전송 대기 시간이 발생할 수 있다. 본 발명의 일 실시예에 따른 방송 신호 송신 장치에서 발생하는 전송 대기 시간(Dt2)은 종래의 방송 신호 송신 장치에서 발생하는 전송 대기 시간(Dt1)에 비하여 상당히 줄어든 것이다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 종래의 방송 신호 송신 장치에 비하여 전송 대기 시간을 줄일 수 있는 효과가 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 분할된 각각의 소스 블록을 수신하고, 수신한 소스 블록을 조합하여 적어도 하나의 프래그먼트를 생성할 수 있다. 예를 들어, 방송 신호 수신 장치는 소스 블록 0(S0), 소스 블록 1(S1), 및 소스 블록 2(S2)를 수신하고, 수신한 세 개의 소스 블록을 조합하여 프래그먼트 1을 생성할 수 있다. 또한, 방송 신호 수신 장치는 소스 블록 3(S3), 소스 블록 4(S4), 및 소스 블록 5(S5)를 수신하고, 수신한 세 개의 소스 블록을 조합하여 프래그먼트 2를 생성할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 생성된 각각의 프래그먼트를 개별적으로 재생할 수 있다. 방송 신호 수신 장치는 각각의 프래그먼트가 생성된 시점 또는 직후에 생성된 각각의 프래그먼트를 재생할 수 있다. 또는, 방송 신호 수신 장치는 각각의 프래그먼트에 해당하는 소스 블록들이 모두 전송된 시점 또는 직후에 각각의 프래그먼트를 재생할 수 있다.
예를 들어, 방송 신호 수신 장치는 소스 블록 0(S0) 내지 소스 블록 2(S2)를 td0 ~ td3 시간 동안 수신한 이후에, 프래그먼트 1을 생성할 수 있다. 그리고 나서, 방송 신호 수신 장치는 생성된 프레그먼트 1을 재생할 수 있다. 프래그먼트 1의 재생 시작 시점(tp0)은 프래그먼트 1의 생성 직후이거나 동일 할 수 있다. 또한, 프래그먼트 1의 재생 시작 시점(tp0)은 소스 블록 2(S2)의 수신 완료 시점(td3)의 직후이거나 동일 할 수 있다.
같은 방법으로, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 소스 블록 3(S3) 내지 소스 블록 5(S5)를 td3 ~ td6 시간 동안 수신한 이후에, 프래그먼트 2를 생성할 수 있다. 그리고 나서, 방송 신호 수신 장치는 생성된 프레그먼트 2를 재생할 수 있다.
다만 이에 한정되지 않고, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 소스 블록을 수신하고, 수신된 소스 블록 단위로 재생할 수도 있다.
따라서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치에서는 하나의 프래그먼트를 수신하기 시작한 시점과 재생하기 시작한 시점 사이에 Dr2 만큼의 재생 대기 시간이 발생할 수 있다. 본 발명의 일 실시예에 따른 방송 신호 수신 장치에서 발생하는 재생 대기 시간(Dr2)은 종래의 방송 신호 수신 장치에서 발생하는 재생 대기 시간(Dr1)에 비하여 상당히 줄어든 것이다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 종래의 방송 신호 수신 장치에 비하여 재생 대기 시간을 줄일 수 있는 효과가 있다.
이상과 같이, 하나의 전송 블록이 방송 신호 송신 장치에서 전송되어 방송 신호 수신 장치에서 재생될 때까지의 시간인 전송 대기 시간과 재생 대기 시간의 합은 상당히 줄어들 수 있다. 이는, 방송 신호 수신 장치로 하여금 해당 오브젝트에 대한 초기 접근 시간이 상당히 단축된다는 것을 의미한다.
ROUTE 프로토콜을 이용할 경우, 방송 신호 송신 장치는 전송 블록 단위로 데이터를 전송할 수 있고, 방송 신호 수신 장치는 수신된 데이터를 전송 블록 단위 또는 프래그먼트 단위로 재생할 수 있다. 그 결과, 멀티미디어 콘텐츠의 획득에서부터 사용자에게 보여지기까지의 총 시간을 줄일 수 있고, 사용자가 방송 채널에 접근하였을 때의 초기 접근 시간을 줄일 수 있는 효과가 있다.
따라서, ROUTE 프로토콜을 이용한 전송 블록의 전송은 실시간 방송 환경에 적합하다.
<파일 분할 생성, 소비 정보의 식별 방안>
도 30는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
애플리케이션 계층 전송 세션은 IP 주소 및 포트 번호의 조합으로 구성될 수 있다. 애플리케이션 계층 전송 세션이 ROUTE 프로토콜인 경우, ROUTE 세션은 적어도 하나의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 예를 들어, 하나의 LCT 전송 세션을 통해 하나의 미디어 컴포넌트를 전달하는 경우, 하나의 애플리케이션 계층 전송 세션을 통하여 적어도 하나의 미디어 컴포넌트를 멀티플렉싱하여 전송할 수 있다. 또한, 하나의 LCT 전송 세션을 통하여 적어도 하나의 전송 오브젝트(Transport object)를 전달할 수 있다.
도 30를 참조하면, 애플리케이션 계층 전송 프로토콜이 LCT 기반인 경우, LCT 패킷의 각 필드는 다음과 같은 정보를 나타낸다.
LCT 패킷은 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 예약 필드(R), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 전송자 현재 시간 존재 플래그 필드(T), 예상 레지듀얼 시간 존재 플래그(R), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 연장 필드, FEC 페이로드 ID 필드, 및/또는 심볼 인코딩 필드를 포함할 수 있다.
LCT 버전 번호 필드(V)는 프로토콜 버전 번호를 나타낸다. 예를 들어, 이 필드는 LCT 버전 번호를 나타낸다. LCT 헤더의 버전 번호 필드는 ROUTE 버전 번호 필드로서 해석되어야 한다. ROUTE의 이 버전은 암시적으로 LCT 형성 블록의 버전 "1"을 이용한다. 예를 들어, 버전 번호는 '0001b'이다.
혼잡 제어 플래그 필드(C)는 혼잡 제어 정보 필드의 길이를 나타낸다. C=0는 혼잡 제어 정보(CCI) 필드가 32비트의 길이를 갖는 것을 나타내고, C=1은 CCI 필드가 64 비트의 길이를 갖는 것을 나타내고, C=2는 CCI 필드가 96 비트의 길이를 갖는 것을 나타내고, C=3은 CCI 필드가 128 비트의 길이를 갖는 것을 나타낸다.
예약 필드(R)는 미래의 사용을 위해 예약된다. 예를 들어, 예약 필드(R)는 PSI(Protocol-Specific Indication) 필드일 수 있다. PSI는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. PSI 필드는 현재의 패킷이 소스 패킷인지 또는 FEC 리페어 패킷인지를 나타낸다. ROUTE 소스 프로토콜이 단지 소스 패킷을 전달하기 때문에, 이 필드는 "10b"로 설정될 것이다.
전송 세션 식별자 플래그 필드(S)는 전송 세션 식별자 필드의 길이를 나타낸다.
전송 오브젝트 식별자 플래그 필드(O)는 전송 오브젝트 식별자 필드의 길이를 나타낸다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT라 한다.
하프 워드 플래그 필드(H)는 TSI 및 TOI 필드의 길이에 하프 워드(half-word)(16 bits)를 추가할지 여부를 지시한다.
전송자 현재 시간 존재 필드(T)는 전송자 현재 시간(SCT) 필드가 존재하는지를 나타낸다. T=0는 전송자 현재 시간(SCT) 필드가 존재하지 않는 것을 나타낸다. T=1은 SCT 필드가 존재하는 것을 나타낸다. SCT는 세션이 얼마나 오랫동안 진행되었는지를 수신기에게 지시하도록 전송자에 의해 삽입된다.
예상 레지듀얼 시간 존재 플래그 필드(R)는 예상 레지듀얼 시간(ERT) 필드가 존재하는지를 지시한다. R=0는 예상 레지듀얼 시간(ERT) 필드가 존재하지 않는 것을 나타낸다. R=1은 ERT 필드가 존재하는 것을 나타낸다. ERT는 세션/오브젝트 송신이 얼마나 오랫동안 계속되는지를 수신기에게 지시하도록 송신자에 의해 삽입된다.
클로즈 세션 플래그 필드(A)는 세션이 종료 또는 종료가 임박했음을 지시한다.
클로즈 오브젝트 플래그 필드(B)는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 지시한다.
LCT 헤더 길이 필드(HDR_LEN)는 32비트 워드의 단위의 LCT 헤더의 총 길이를 나타낸다.
코드포인트 필드(CP)는 이 패킷에 의해 전송된 페이로드의 타입을 나타낸다. 페이로드의 타입에 따라, 추가의 페이로드 헤더가 추가되어 페이로드 데이터를 프리픽스(prefix)할 수 있다.
혼잡 제어 정보 필드(CCI)는 층수, 논리 채널수, 시퀀스수 등의 혼잡 제어 정보 전송에 사용된다. LCT 헤더 내의 혼잡 제어 정보 필드는 요구되는 혼잡 제어 정보를 포함한다.
전송 세션 식별자 필드(TSI)는 세션의 고유 식별자이다. TSI는 특정 전송자로부터의 모든 세션 중에서 세션을 고유하게 식별한다. 이 필드는 ROUTE 내의 전송 세션을 식별한다. 전송 세션의 컨텍스트는 LSID(LCT Session Instance description)에 의해 제공된다.
LSID는 ROUTE 세션의 각각의 구성 LCT 전송 세션에서 전송되는 것을 정의한다. 각각의 전송 세션은 LCT 헤더 내의 TSI(Transport Session Identifier)에 의해 고유하게 식별된다. LSI는 LCT전송 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전송될 수 있으며, 통신망, 방송망, 인터넷망, 케이블망, 및/또는 위성망을 통해서도 전송될 수 있다. LSID가 전송되는 수단은 이에 한정되지 않는다. 예를 들어, LSID는 TSI의 값이 '0'인 특정 LCT 전송 세션을 통해서 전송될 수 있다. LSID는 ROUTE 세션으로 전송되는 모든 전송 세션에 대한 시그널링 정보를 포함할 수 있다. LSID는 LSID 버전 정보 및 LSID의 유효성에 관한 정보를 포함할 수 있다. 또한, LSID는 LCT 전송 세션에 대한 정보를 제공하는 전송 세션(transport session) 정보를 포함할 수 있다. 전송 세션 정보는 전송 세션을 식별하는 TSI 정보, 해당 TSI로 전송되며 소스 데이터가 전송되는 소스 플로우에 대한 정보를 제공하는 소스플로우(source flow) 정보, 해당 TSI로 전송되며 리페어 데이터가 전송되는 리페어 플로우에 대한 정보를 제공하는 리페어플로우(repair flow) 정보, 및 해당 전송 세션에 대한 추가적인 특성 정보를 포함하는 전송 세션 프로퍼티(transport session property) 정보를 포함할 수 있다.
전송 오브젝트 식별자 필드(TOI)는 오브젝트의 고유 식별자이다. TOU는 이 패킷이 세션 내의 어떤 오브젝트에 속하는지를 나타낸다. 이 필드는 현재의 패킷의 페이로드가 이 세션 내의 어떤 오브젝트에 속하는지를 나타낸다. 오브젝트로의 TOI 필드의 맵핑은 확장된 FDT에 의해 제공된다.
확장된 FDT는 파일 전달 데이터의 세부사항을 특정한다. 이것은 확장된 FDT 인스턴스이다. LCT 패킷 헤더와 함께 확장된 FDT는 딜리버리 오브젝트에 대한 FDT 동등 기술을 생성하는데 사용될 수 있다. 확장된 FDT는 참조로서 임베딩(embed)되거나 제공될 수 있다. 참조로서 제공되면, 확장된 FDT는 LSID와 독립적으로 업데이트될 수 있다. 참조되면, 포함되는 소스 플로우의 TOI=0 상의 인-밴드 오브젝트로서 전달될 것이다.
헤더 확장 필드는 추가 정보 전송을 위한 LCT 헤더 확장 부분으로 사용된다. 헤더 확장은 항상 사용되는 것이 아니거나 가변 사이즈를 갖는 선택적인 헤더 필드를 수용하도록 LCT에서 사용된다.
예를 들어, EXT_TIME 확장은 몇 가지 타입의 타이밍 정보를 전달하는데 사용된다. 이는 범용 타이밍 정보, 즉, 본 문서에 기재된 전송자 현재 시간(SCT), 예상 레지듀얼 시간(ERT) 및 전송자 마지막 변경(SLC) 시간 확장을 포함한다. 이는 또한 (예를 들어, 단일 프로토콜 예시화(instantiation )을 위해 정의된) 더 좁은 적용가능성을 갖는 타이밍 정보에 사용될 수 있고, 이 경우, 개별 문서에 기재된다.
FEC 페이로드 ID 필드는 송신 블록 또는 인코딩 심볼의 식별 정보를 포함한다. FEC 페이로드 ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC 페이로드 ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
심볼 인코딩 필드는 송신 블록 또는 인코딩 심볼의 데이터를 포함할 수 있다.
패킷 페이로드는 오브젝트로부터 생성된 바이트를 포함한다. 1보다 많은 오브젝트가 세션에서 전송되면, LCT 헤더 내의 송신 오브젝트 ID(TOI)는 패킷 페이로드 데이터가 생성된 오브젝트를 식별하는데 사용되어야 한다.
본 발명의 일 실시예에 따른 LCT 패킷은 헤더 확장 필드의 확장 형태인 실시간 지원 확장 필드(EXT_RTS)를 포함할 수 있다. EXT_RTS는 파일의 분할 생성 및 소비 정보를 포함할 수 있고, 이하에서는 프래그먼트 정보로 표현할 수 있다. 본 발명의 일 실시예에 따른 LCT 패킷은 헤더 확장 필드의 확장 형태로 EXT_RTS를 포함함으로서, 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송 및 소비 정보를 지원할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 헤더 확장 타입 필드 (HET), 프래그먼트 시작 지시기 필드(SI), 프래그먼트 헤더 플래그 필드(FH), 및 프래그먼트 헤더 완료 지시기 필드(FC)를 포함할 수 있다.
헤더 확장 타입 필드(HET)는 해당 헤더 확장의 타입을 지시한다. HET 필드는 8비트의 정수일 수 있다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-비트 워드 단위의 가변 길이 헤더 확장이 존재하며 HET에 뒤따르는 헤더 확장 길이 필드 (HEL)에 그 길이를 기술한다. HET가 128에서 255 사이의 값을 가질 경우 헤더 확장은 32 비트 고정 길이를 갖는다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 32 비트의 고정길이를 가지므로, 128에서 255 사이의 값 중 하나의 고유 값으로 해당 헤더 확장의 타입을 식별할 수 있다.
SI 필드는 해당 LCT 패킷이 프래그먼트의 시작 부분을 포함하고 있음을 지시한다. 방송환경에서 사용자가 해당 파일 기반 멀티미디어 콘텐츠가 전송되는 채널의 임의의 시점에 접근하였을 경우, 최초 수신되는 패킷 중에서 SI 필드가 0으로 설정된 패킷들은 버리고, SI 필드가 1로 설정된 패킷부터 파싱을 시작함으로써 패킷의 처리 효율을 높이고 초기 지연 시간을 단축시킬 수 있다.
FH 필드는 해당 LCT 패킷이 프래그먼트 헤더 부분을 포함하고 있음을 지시한다. 상술한 바와 같이, 프래그먼트 헤더는 생성 순서와 소비 순서가 프래그먼트 페이로드와 다른 특성을 갖고 있다. 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FH 필드를 기초로 생성 순서대로 수신된 전송 블록들을 소비 순서에 맞게 재배열하여 프래그먼트를 재생성할 수 있게 된다.
FC 필드는 해당 패킷이 프래그먼트의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FC 필드는 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FC 필드는 프래그먼트 페이로드의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
방송 신호 수신 장치가 FC 필드가 1로 셋팅된 패킷을 수신하면 프래그먼트 헤더의 수신이 완료되었음을 인지하고, 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
패딩 바이트 필드(PB)는 해당 LCT 패킷에 포함된 패딩 바이트 수를 지시한다. 기존의 LCT에서는 하나의 오브젝트에 해당하는 모든 LCT 패킷의 길이가 같아야 한다. 하지만, 본 발명의 일 실시예에 따른 데이터 구성 방안에 따라서 전송 블록을 나누게 될 때, 매 전송 블록의 마지막 심볼은 다른 길이를 갖게 될 수 있다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷의 나머지 부분을 패딩 바이트로 채움으로서 고정길이 패킷을 사용하여 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송을 지원할 수 있다.
예약 필드는 미래의 사용을 위해 예약된다.
도 31은 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 31에 개시된 부분 중에서 도 35에 개시된 부분과 동일 한 부분은 도 35에서 설명한 내용과 동일하므로, 이하에서는 차이점을 중심으로 설명하기로 한다.
도 31을 참조하면, 본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 도 35에서 설명한 FC 필드 대신에 프래그먼트 헤더 길이 필드(FHL)를 포함할 수 있다.
FHL 필드는 프래그먼트를 구성하는 심볼의 수를 지시함으로서 프래그먼트의 수신이 완료되었는지 아닌지에 대한 정보를 제공할 수 있다. FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드를 모두 포함하는 각각의 프래그먼트에 해당하는 총 심볼의 수를 지시할 수 있다. 또한, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드 중에서 나중에 전송되는 것의 총 심볼의 수를 지시할 수 있다.
*예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FHL 필드는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 헤더의 길이를 나타낼 수 있다.
그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FHL 필드는 프래그먼트 페이로드에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 페이로드의 길이를 나타낼 수 있다.
이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
본 발명의 다른 실시에에 따른 방송 신호 수신 장치는 FHL 필드에 표시된 심볼의 개수에 해당하는 프래그먼트 헤더를 포함하는 LCT 패킷을 수신할 수 있다. 방송 신호 수신 장치는 프래그먼트 헤더를 포함하는 LCT 패킷의 수신 횟수를 체크함으로써 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다. 또는, 방송 신호 수신 장치는 프래그먼트 헤더에 해당하는 전송 블록의 개수를 체크하여 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다.
<파일의 분할 생성 및 분할 소비의 식별 방법 >
도 32은 본 발명의 일 실시예에 따른 FDT를 이용한 실시간 방송 지원 정보 시그널링을 나타낸 도면이다.
상술한 바와 같이, 본 발명은 실시간 방송 환경에서 파일기반 멀티미디어 콘텐츠의 분할 생성 및 분할 소비에 관한 정보를 식별하는 방법을 제공하는 것을 일 실시예로 하고 있다. 파일기반 멀티미디어 콘텐츠의 분할 생성 및 분할 소비에 관한 정보는 상술한 데이터 구조 및 LCT 패킷 정보를 포함할 수 있다.
방송 신호 송신 장치는 파일의 분할 생성 정보 및 분할 소비 정보의 식별을 위해서 별도의 시그널링 정보를 추가적으로 전송할 수 있다. 예를 들어, 시그널링 정보는 메타 데이터나 아웃-오브-밴드(out-of-band)를 이용한 시그널링(signaling) 정보를 포함할 수 있다.
도 32을 참조하면, 본 발명의 일 실시예에 따른 실시간 방송 지원 정보에 대한 시그널링 정보를 전송하는 방법이 도시되어 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 FDT(File Delivery Table) 레벨 또는 파일 레벨의 실시간 지원 속성을 통해서 시그널링 정보를 전송할 수 있다. 실시간 지원이 1로 설정되어 있을 경우, 해당 FDT 레벨 또는 파일 레벨에서 기술하고 있는 오브젝트들이 상술한 데이터 구조 및 패킷 정보들을 가지며, 이를 통해 실시간 방송환경에서의 파일 분할 생성 및 소비를 지원할 수 있음을 지시할 수 있다.
도 33은 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 33을 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 송신 장치는 시그널링 인코더(C21005), 송신 블록 생성기(C21030), 및/또는 송신기(C21050)를 포함할 수 있다.
시그널링 인코더(C21005)는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다. 시그널링 정보는 파일 레벨 또는 FDT 레벨 중에서 적어도 하나로 상기 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시할 수 있다. 시그널링 정보가 파일 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 파일에 속하는 모든 데이터를 실시간으로 전송할 수 있다. 또한, 시그널링 정보가 FDT 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 FDT에 속하는 모든 파일 또는 데이터를 실시간으로 전송할 수 있다.
시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, 송신 블록 생성기(C21030)는 멀티미디어 콘텐츠에 포함되는 파일을, 독립적으로 부호화되고 전송되는 데이터 단위인 적어도 하나의 전송 블록으로 분할할 수 있다.
송신기(C21050)는 전송 블록을 전송할 수 있다.
보다 구체적인 내용은 이하의 도 34에서 설명하기로 한다.
도 34는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 34를 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 송신 장치는 시그널링 인코더(미도시), 미디어 인코더(C21010), 프래그먼트 생성기(C21020), 송신 블록 생성기(C21030), 패킷타이저(C21040), 및/또는 송신기(C21050)를 포함할 수 있다.
시그널링 인코더(미도시)는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
미디어 인코더(C21010)는 멀티미디어 콘텐츠를 인코딩하여 미디어 데이터를 생성할 수 있다. 이하에서 미디어 데이터는 데이터로 표현할 수 있다.
프래그먼트 생성기(C21020)는 멀티미디어 콘텐츠를 구성하는 각각의 파일을 분할하여 독립적으로 복호화 및 재생되는 데이터 단위인 적어도 하나의 프래그먼트를 생성할 수 있다.
프래그먼트 생성기(C21020)는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성할 수 있다.
프래그먼트 생성기(C21020)는 프래그먼트 페이로드에 해당하는 미디어 데이터를 버퍼링할 수 있다. 그리고 나서, 프래그먼트 생성기(C21020)는 버퍼링한 미디어 데이터를 기초로 프래그먼트 페이로드에 해당하는 청크(chunk)를 생성할 수 있다. 예를 들어, 청크는 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 가변적인 크기의 데이터 단위일 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되지 않았으면, 프래그먼트 생성기(C21020)는 미디어 데이터를 계속 버퍼링한 후에 프래그먼트 페이로드에 해당하는 청크의 생성을 완료할 수 있다.
프래그먼트 생성기(C21020)는 청크를 생성할 때마다 프래그먼트 페이로드에 해당하는 데이터를 모두 청크로 생성하였는지 여부를 판단할 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되면, 프래그먼트 생성기(C21020)는 프래그먼트 페이로드에 해당하는 프래그먼트 헤더를 생성할 수 있다.
송신 블록 생성기(C21030)는 프래그먼트를 분할하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 생성할 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 부호화 및 전송될 수 있는 최소 데이터 단위를 의미한다. 예를 들어, 전송 블록은 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 적어도 하나의 청크(chunk)를 포함할 수 있다.
본 발명의 일 실시예에 따른 송신 블록 생성기(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록을 먼저 생성한 이후에, 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
송신 블록 생성기(C21030)는 프래그먼트 헤더를 하나의 전송 블록으로 생성할 수 있다. 다만 이에 한정되지 않고, 송신 블록 생성기(C21030)는 프래그먼트 헤더를 적어도 하나의 전송 블록으로 생성할 수도 있다.
예를 들어, 프래그먼트 생성기(C21020)가 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성하는 경우에, 송신 블록 생성기(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록을 생성한 이후에 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
다만 이에 한정된 것은 아니고, 이미 멀티미디어 콘텐츠에 대하여 프래그먼트 헤더 및 프래그먼트 페이로드가 생성되어 있는 경우에는, 프래그먼트 헤더에 해당하는 전송 블록을 먼저 생성한 이후에 프레그먼트 페이로드에 해당하는 전송 블록을 생성할 수도 있다.
송신 블록 생성기(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록과 프래그먼트 헤더에 해당하는 전송 블록을 각각 별개의 전송 블록으로 생성할 수 있다.
패킷타이저(C21040)는 전송 블록을 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다. 다만 이에 한정되지 않고, 심볼은 다른 장치에 의해서 생성될 수도 있다. 본 발명의 일 실시예에 따른 심볼의 길이는 동일할 수 있다. 다만, 각각의 전송 블록의 마지막 심볼은 다른 심볼에 비하여 길이가 작을 수 있다.
그리고 나서, 패킷타이저(C21040)는 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화 할 수 있다. 예를 들어, 패킷은 LCT 패킷일 수 있다. 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다.
패킷 헤더는 파일의 분할 생성 및 분할 소비에 대한 정보를 가지는 프래그먼트 정보를 포함할 수 있다. 파일의 분할 생성이란 멀티미디어 콘텐츠를 구성하는 파일을 독립적으로 인코딩 및 전송할 수 있는 적어도 하나의 청크 또는 전송 블록으로 분할하여 생성하는 것을 의미한다. 파일의 분할 소비란 수신된 적어도 하나의 전송 블록을 조합하여 독립적으로 디코딩 및 재생할 수 있는 적어도 하나의 프래그먼트를 복원하고, 프래그먼트 단위로 재생하는 것을 의미한다. 또한, 파일의 분할 소비란 전송 블록 단위로 재생하는 것을 포함할 수 있다.
예를 들어, 프래그먼트 정보는 패킷이 프래그먼트의 처음 데이터를 포함하고 있음을 지시하는 SI 필드, 패킷이 프래그먼트 헤더의 데이터를 포함하고 있음을 지시하는 FH 필드, 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보, 및 패킷에 포함된 패딩 바이트 수를 지시하는 PB 필드 중에서 적어도 하나를 포함할 수 있다.
그리고, 프래그먼트 정보는 해당 패킷의 헤더 확장의 타입을 지시하는 HET(Header Extension Type field) 필드를 더 포함할 수 있다.
그리고, 프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드 및 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드 중에서 하나를 포함할 수 있다.
프래그먼트 정보는 패킷타이저(C21040)에 의해서 생성될 수 있고, 별도의 장치에 의해서 생성될 수 있다. 이하에서는 패킷타이저(C21040)가 프래그먼트 정보를 생성하는 것을 중심으로 설명하기로 한다.
*패킷타이저(C21040)는 생성된 심볼이 프래그먼트의 첫번째 데이터를 포함하고 있는지 식별할 수 있다.
예를 들어, 패킷타이저(C21040)는 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하는지를 식별할 수 있다. 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있으면, SI 필드는 '1'로 세팅될 수 있다. 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있지 않으면, SI 필드는 '0'으로 세팅될 수 있다.
패킷타이저(C21040)는 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하는지 아니면 프래그먼트 헤더의 데이터를 포함하는지를 식별할 수 있다.
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하면, FH 필드는 '1'로 세팅될 수 있다. 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하지 않으면, FH 필드는 '0'으로 세팅될 수 있다.
패킷타이저(C21040)는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했는지 식별할 수 있다. 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드를 포함할 수 있다.
예를 들어, 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하고 해당 전송 블록의 마지막 심볼이면, FC 필드는 '1'로 세팅될 수 있다. 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하지 않거나 해당 전송 블록의 마지막 심볼이 아니면, FC 필드는 '0'으로 세팅될 수 있다.
패킷타이저(C21040)는 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다른 심볼인지 여부를 식별할 수 있다. 예를 들어, 다른 심볼은 미리 정해진 길이의 심볼일 수 있고, 다른 심볼과 길이가 다른 심볼은 다른 심볼에 비하여 길이가 짧은 심볼일 수 있다.
예를 들어, 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다르면, 패킷타이저(C21040)는 각각의 전송 블록의 마지막 심볼에 해당하는 패킷에 패딩 바이트들을 삽입할 수 있다. 그리고, 패킷타이저(C21040)는 패킹 바이트의 수를 계산할 수 있다.
그리고, PB 필드는 패딩 바이트의 수를 지시할 수 있다. 패딩 바이트는 다른 심볼과 길이가 동일하게 되도록 다른 심볼에 비하여 길이가 짧은 심볼에 추가되는 바이트이다. 또는, 패딩 바이트는 패킷에서 심볼을 제외한 나머지 부분일 수 있다.
*생성된 심볼이 해당 전송 블록의 마지막 심볼이 아니거나 다른 심볼보다 길이가 다르지 않으면, PB 필드는 '0'으로 세팅될 수 있다.
패킷 페이로드는 적어도 하나의 심볼을 포함할 수 있다. 이하에서는, 하나의 패킷이 하나의 심볼을 포함하는 것을 중심으로 설명한다.
각각의 전송 블록의 마지막 심볼을 포함하는 패킷은 적어도 하나의 패딩 바이트를 포함할 수 있다.
송신기(C21050)는 전송 블록이 생성된 순서대로 적어도 하나의 패킷을 전송할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 송신기(C21050)는 프래그먼트 페이로드에 해당하는 전송 블록을 먼저 전송한 후에 프래그먼트 헤더에 해당하는 전송 블록을 전송할 수 있다.
다만 이에 한정되는 것은 아니고, 이미 멀티미디어 콘텐츠에 대하여 프래그먼트 헤더 및 프래그먼트 페이로드가 생성되어 있는 경우에는, 본 발명의 일 실시예에 따른 송신기(C21050)는 프래그먼트 헤더에 해당하는 전송 블록을 먼저 전송한 후에 프래그먼트 페이로드에 해당하는 전송 블록을 전송할 수 있다.
도 35은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성 및 송신 과정을 나타낸 흐름도이다.
도 35을 참조하면, 도 34에서 상술한 방송 신호 송신 장치가 방송 신호를 송신하는 과정이 나타나 있다.
먼저, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 미디어 인코더(C21010)를 이용하여 멀티미디어 콘텐츠의 인코딩을 시작할 수 있다(CS11100). 방송 신호 송신 장치는 멀티미티어 콘텐츠를 인코딩하여 미디어 데이터를 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 미디어 데이터를 버퍼링할 수 있다(CS11200). 그리고 나서, 방송 신호 송신 장치는 버퍼링한 미디어 데이터를 기초로 프래그먼트 페이로드에 해당하는 청크(chunk)를 생성할 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되지 않았으면, 방송 신호 송신 장치는 미디어 데이터를 계속 버퍼링한 후에 프래그먼트 페이로드에 해당하는 청크의 생성을 완료할 수 있다(CS11300).
그리고 나서, 방송 신호 송신 장치는 프래그먼트 생성기(C21020)를 이용하여 멀티미디어 콘텐츠를 구성하는 각각의 파일을 분할하여 독립적으로 복호화 및 재생되는 데이터 단위인 적어도 하나의 프래그먼트를 생성할 수 있다(CS11400).
방송 신호 송신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성할 수 있다.
방송 신호 송신 장치는 청크를 생성할 때마다 프래그먼트 페이로드에 해당하는 데이터를 모두 청크로 생성하였는지 여부를 판단할 수 있다.
그리고 나서, 프래그먼트 페이로드에 해당하는 청크의 생성이 완료되면, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 프래그먼트 헤더를 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 송신 블록 생성기(C21030)를 이용하여 프래그먼트를 분할하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 생성할 수 있다(CS11500).
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성하는 경우에, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 전송 블록을 생성한 이후에 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 전송 블록과 프래그먼트 헤더에 해당하는 전송 블록을 각각 별개의 전송 블록으로 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 패킷타이저(C21040)를 이용하여 전송 블록을 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다(CS11600, CS11700).
방송 신호 송신 장치가 패킷을 생성하는 과정에 대하여 도 40에서 구체적으로 설명하므로, 여기에서는 생략하기로 한다.
그리고 나서, 방송 신호 송신 장치는 송신기(C21050)를 이용하여 전송 블록이 생성된 순서대로 적어도 하나의 패킷을 전송할 수 있다.
도 36은 본 발명의 일 실시예에 따른 방송 신호 송신 장치가 패킷타이저를 이용하여 패킷을 생성하는 과정을 구체적으로 나타낸 흐름도이다.
방송 신호 송신 장치는 생성된 심볼이 프래그먼트의 첫번째 데이터를 포함하고 있는지 식별할 수 있다(CS11710).
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있으면, SI 필드는 '1'로 세팅될 수 있다(CS11712). 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있지 않으면, SI 필드는 '0'으로 세팅될 수 있다(CS11714).
그리고 나서, 방송 신호 송신 장치는 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하는지 아니면 프래그먼트 헤더의 데이터를 포함하는지를 식별할 수 있다(CS11720).
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하면, FH 필드는 '1'로 세팅될 수 있다(CS11722). 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하지 않으면, FH 필드는 '0'으로 세팅될 수 있다(CS11724).
그리고 나서, 방송 신호 송신 장치는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했는지 식별할 수 있다(CS11730).
예를 들어, 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하고 해당 전송 블록의 마지막 심볼이면, FC 필드는 '1'로 세팅될 수 있다(CS11732). 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하지 않거나 해당 전송 블록의 마지막 심볼이 아니면, FC 필드는 '0'으로 세팅될 수 있다(CS11734).
그리고 나서, 방송 신호 송신 장치는 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다른 심볼인지 여부를 식별할 수 있다(CS11740).
예를 들어, 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다르면, 방송 신호 송신 장치는 각각의 전송 블록의 마지막 심볼에 해당하는 패킷에 패딩 바이트들을 삽입할 수 있다. 그리고, 방송 신호 송신 장치는 패딩 바이트의 수를 계산할 수 있다(CS11742). 그리고, PB 필드는 패딩 바이트의 수를 지시할 수 있다.
생성된 심볼이 해당 전송 블록의 마지막 심볼이 아니거나 다른 심볼보다 길이가 다르지 않으면, PB 필드는 '0'으로 세팅될 수 있다(CS11744).
패킷 페이로드는 적어도 하나의 심볼을 포함할 수 있다.
도 37는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성/송신 과정을 나타낸 흐름도이다.
도 37를 참조하면, 도 37에 도시된 것 중에서 도 35 및 도 36에서 설명된 것은 내용이 실질적으로 동일하므로, 구체적인 설명은 생략한다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 FC 필드를 대신하여 FHL 필드를 사용할 수 있다. 예를 들어, 상술한 프래그먼트 정보는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보를 포함할 수 있다. 그리고, 프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 프래그먼트 헤더의 데이터를 포함하는 전송 블록에 해당하는 심볼의 개수를 계산하여 FHL 필드에 기록할 수 있다(CS12724).
FHL 필드는 프래그먼트 헤더 부분에 해당하는 총 심볼 수로서 프래그먼트 헤더의 길이를 나타낸다. 방송 신호 수신 장치가 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있도록, FHL 필드는 상술한 FC 필드를 대신하여 프래그먼트 정보에 포함될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FHL 필드에 기록된 개수 만큼의 프래그먼트 헤더를 포함하는 패킷의 전송 횟수를 체크함으로써 프래그먼트 헤더의 수신이 완료되었는지를 식별할 수 있다.
도 38은 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 38을 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 수신 장치는 수신부(미도시), 시그널링 디코더(C22005), 송신 블록 재생성기(C22030), 및/또는 미디어 디코더(C22060)를 포함할 수 있다.
시그널링 디코더(C22005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, 송신 블록 재생성기(C22030)는 방송 신호를 조합하여, 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다.
미디어 디코더(C22060)는 전송 블록을 복호화할 수 있다.
보다 구체적인 내용은 이하의 도 44에서 설명하기로 한다.
도 39는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 39를 참조하면, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 수신부(미도시), 시그널링 디코더(미도시), 패킷 필터(C22010), 패킷 디패킷타이저(C22020), 송신 블록 재생성기(C22030), 프래그먼트 재생성기(C22040), 프래그먼트 파서(C22050), 미디어 디코더(C22060), 및/또는 미디어 렌더러(C22070)를 포함할 수 있다.
수신부(미도시)는 방송 신호를 수신할 수 있다. 방송 신호는 적어도 하나의 패킷을 포함할 수 있다. 각각의 패킷은 프래그먼트 정보를 포함하는 패킷 헤더 및 적어도 하나의 심볼을 포함하는 패킷 페이로드를 포함할 수 있다.
시그널링 디코더(C22005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
패킷 필터(C22010)는 임의의 지점에서 수신된 적어도 하나의 패킷으로부터 프래그먼트의 시작 지점을 식별하고, 프래그먼트의 시작 지점부터 패킷 처리를 시작할 수 있도록 한다.
패킷 필터(C22010)는 패킷에 포함된 프래그먼트 정보의 SI 필드를 기초로 프래그먼트의 시작 지점을 식별할 수 있다. 패킷 필터(C22010)는 SI 필드가 해당 패킷이 프래그먼트의 시작 부분을 포함하고 있음을 지시하면, 해당 패킷 이전의 패킷들을 버리고 해당 패킷부터 패킷 디패킷타이저(C22020)로 전달할 수 있다.
예를 들어, 패킷 필터(C22010)는 '1'로 설정된 패킷 이전의 패킷들은 버리고 '1'로 설정된 패킷 이후의 패킷들을 필터링 할 수 있다.
패킷 디패킷타이저(C22020)는 적어도 하나의 패킷을 디패킷화하여 패킷 헤더에 포함된 프래그먼트 정보 및 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다.
송신 블록 재생성기(C22030)는 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다. 복원된 전송 블록은 프래그먼트 헤더에 해당하는 데이터를 포함할 수 있고, 프래그먼트 페이로드에 해당하는 데이터를 포함할 수 있다.
프래그먼트 재생성기(C22040)는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원할 수 있다.
프래그먼트 재생성기(C22040)는 프래그먼트 정보를 기초로 전송 블록을 조합하여 프래그먼트 페이로드 및 프래그먼트 헤더를 복원할 수 있다. 프래그먼트 재생성기(C22040)는 수신되는 패킷의 순서에 따라서 프래그먼트 페이로드를 먼저 복원한 이후에 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있다고 지시하면, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있지 않다고 지시하면, 프래그먼트 재생성기(C22040)는 프래그먼트 페이로드에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다.
예를 들어, FH 필드의 값이 '0'인 경우, 프래그먼트 재생성기(C22040)는 프래그먼트 페이로드로 판단하고 프래그먼트 페이로드를 복원할 수 있다. FH 필드의 값이 '1'인 경우, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더로 판단하고 프래그먼트 헤더를 복원할 수 있다.
그리고 나서, 프래그먼트 재생성기(C22040)는 각각의 프래그먼트에 해당하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 종료하면, 복원한 프래그먼트 페이로드 및 프래그먼트 헤더를 조합하여 프래그먼트를 복원할 수 있다.
프래그먼트 재생성기(C22040)가 각각의 프래그먼트에 해당하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 종료하였는지 확인하는 방법은 두 가지가 있을 수 있다.
첫 번째 방법은 프래그먼트 정보에 포함된 FC 필드를 이용하는 방법이다.
프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드를 포함할 수 있다. FC필드가 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, 프래그먼트 재생성기(C22040)는 각각의 프래그먼트를 구성하는 프래그먼트 해더 및 프래그먼트 페이로드의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 상기 프래그먼트 페이로드의 복원을 완료할 수 있다.
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FC 필드는 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있다고 지시할 수 있다.
따라서, FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더의 수신이 완료되었음을 인식하고 프래그먼트 헤더를 복원하는 과정을 종료할 수 있다. 그리고 나서, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 부분의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
예를 들어, FC 필드의 값이 '1' 이 아닌 경우, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다. 그리고, FC 필드의 값이 '1' 인 경우, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
두 번째 방법은 프래그먼트 정보에 포함된 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다.
프래그먼트 재생성기(C22040) 프래그먼트 헤더의 데이터를 포함하는 패킷의 수를 카운팅할 수 있다.
프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 더 포함하고, FHL 필드에 기록된 값과 프래그먼트 헤더의 데이터를 포함하는 패킷의 수가 동일하면, 프래그먼트 재생성기(C22040)는 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료할 수 있다.
프래그먼트 재생성기(C22040)가 FHL 필드를 이용하는 것에 대한 구체적인 설명은 도 46에서 하기로 한다.
프래그먼트 파서(C22050)는 복원된 프래그먼트를 파싱할 수 있다. 복원된 프래그먼트는 프래그먼트 헤더가 앞부분에 위치하고 프래그먼트 페이로드가 뒷부분에 위치하므로, 프래그먼트 파서(C22050)는 프래그먼트 헤더를 먼저 파싱한 이후에 프래그먼트 페이로드를 파싱할 수 있다.
프래그먼트 파서(C22050)는 복원된 프래그먼트를 파싱하여 적어도 하나의 미디어 액세스 유닛 을 생성할 수 있다. 예를 들어, 미디어 액세스 유닛은 적어도 하나의 미디어 데이터를 포함할 수 있다. 미디어 액세스 유닛은 미리 정해진 크기의 미디어 데이터의 단위일 수 있다.
미디어 디코더(C22060)는 프래그먼트를 복호화할 수 있다. 미디어 디코더(C22060)는 적어도 하나의 미디어 액세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다.
미디어 렌더러(C22070) 복호화된 미디어 데이터를 렌더링하여 프리젠테이션할 수 있다.
도 40는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 39에서 설명한 내용은 본 발명의 일 실시예에 따른 방송 신호 수신 방법에 동일하게 적용될 수 있다.
도 40를 참조하면, 본 발명의 일 실시예에 따른 방송 신호 수신 방법은 적어도 하나의 파일을 포함하는 멀티미디어 콘텐츠를 수신하는 방송 신호 수신 방법에 있어서, 적어도 하나의 패킷으로 분할된 상기 멀티미디어 콘텐츠를 수신하고, 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원하고, 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원하고 및/또는 프래그먼트를 복호화하는 것을 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 수신부(미도시)를 이용하여 방송 신호를 수신할 수 있다(CS21010). 방송 신호는 적어도 하나의 패킷을 포함할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 패킷 필터(22010)를 이용하여 임의의 지점에서 수신된 적어도 하나의 패킷으로부터 프래그먼트의 시작 지점을 식별할 수 있다(CS21020).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 패킷 디패킷타이저(C22020)를 이용하여 적어도 하나의 패킷을 디패킷화하여 패킷 헤더에 포함된 프래그먼트 정보 및 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다(CS21030).
그리고 나서, 방송 신호 수신 장치는 송신 블록 재생성기(C22030)를 이용하여 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다(CS21040). 복원된 전송 블록은 프래그먼트 헤더에 해당하는 데이터를 포함할 수 있고, 프래그먼트 페이로드에 해당하는 데이터를 포함할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 프래그먼트 재생성기(C22040)를 이용하여 프래그먼트 정보를 기초로 복원된 전송 블록이 프래그먼트 헤더에 해당하는 전송 블록인지 아니면 프래그먼트 페이로드에 해당하는 전송 블록인지를 식별할 수 있다(CS21050).
그리고 나서, 방송 신호 수신 장치는 복원된 전송 블록을 조합하여 프래그먼트 페이로드 및 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 프래그먼트 페이로드에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다(CS21060).
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있다고 지시하면, 방송 신호 수신 장치는 프래그먼트 헤더에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다(CS21070).
방송 신호 수신 장치는 프래그먼트 정보에 포함된 FC 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다(CS21080).
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
FC 필드가 해당 패킷이 프래그먼트의 마지막 데이터를 포함하고 있음을 지시하면, 방송 신호 수신 장치는 각각의 프래그먼트의 수신이 완료되었다고 판단할 수 있다.
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FC 필드는 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있다고 지시할 수 있다.
따라서, FC필드가 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 해더 및 프래그먼트 페이로드의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 상기 프래그먼트 페이로드의 복원을 완료할 수 있다.
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 부분의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
그리고 나서, 방송 신호 수신 장치는 프래그먼트 재생성기(C22040)를 이용하여 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원할 수 있다(CS21090).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 프래그먼트 파서(C22050)를 이용하여 복원된 프래그먼트를 파싱할 수 있다(CS21090). 방송 신호 수신 장치는 복원된 프래그먼트를 파싱하여 적어도 하나의 미디어 액세스 유닛을 생성할 수 있다. 다만 이에 한정된 것은 아니고, 방송 신호 수신 장치는 전송 블록을 파싱하여 적어도 하나의 미디어 액세스 유닛을 생성할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 미디어 디코더(C22060)를 이용하여 적어도 하나의 미디어 액세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다(CS21100).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 미디어 렌더러(C22070)를 이용하여 복호화된 미디어 데이터를 렌더링하여 프리젠테이션할 수 있다(CS21110).
도 41은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 41을 참조하면, 도 41에 도시된 것 중에서 도 40에서 설명된 것은 내용이 실질적으로 동일하므로, 구체적인 설명은 생략한다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 헤더 및 프래그먼트 페이로드의 수신이 완료되었는지를 판단할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는, 프래그먼트 재생성기(C22040)를 이용하여, 프래그먼트 정보를 기초로 복원된 전송 블록이 프래그먼트 헤더에 해당하는 전송 블록인지 아니면 프래그먼트 페이로드에 해당하는 전송 블록인지를 식별할 수 있다(CS22050).
그리고 나서, 방송 신호 수신 장치는 복원된 전송 블록을 조합하여 각각 프래그먼트 페이로드 및 프래그먼트 헤더를 각각 복원할 수 있다.
FH 필드가 해당 패킷이 프래그먼트 페이로드에 해당하는 데이터를 포함하고 있다고 지시하면, 방송 신호 수신 장치는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다(CS22060).
FH 필드가 해당 패킷이 프래그먼트 헤더에 해당하는 데이터를 포함하고 있다고 지시하면, 프래그먼트 재생성기(C22040)는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다(CS22070).
그리고 나서, 방송 신호 수신 장치가 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 완료하면, 방송 신호 수신 장치는 복원한 프래그먼트 페이로드 및 프래그먼트 헤더를 조합하여 프래그먼트를 복원할 수 있다.
방송 신호 수신 장치는 프래그먼트 정보에 포함된 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다.
방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 패킷의 수(N)를 카운팅 할 수 있다(CS22080). 예를 들어, 방송 신호 수신 장치는 프래그먼트 헤더의 데이터를 포함하는 패킷의 수를 카운팅할 수 있다. 하나의 패킷은 적어도 하나의 심볼을 포함할 수 있는데, 이하에서는 하나의 패킷이 하나의 심볼을 포함하는 것을 중심으로 설명한다.
FHL 필드는 프래그먼트를 구성하는 심볼의 수를 지시할 수 있다. FHL 필드에 기록된 심볼의 수에 해당하는 수의 패킷이 수신되지 않았으면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다. 예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되지 않으면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 더 포함한다.
FHL 필드에 기록된 값과 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료할 수 있다(CS22090).
예를 들어, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드를 모두 포함하는 각각의 프래그먼트에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수에 해당하는 수의 패킷이 수신되면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
예를 들어, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드 중에서 나중에 전송되는 것의 총 심볼의 수를 지시할 수 있다.
각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FHL 필드는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수와 수신된 프래그먼트 헤더에 해당하는 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
또한, 각각의 프래그먼트를 구성하는 프래그먼트 헤더가 먼저 수신된 이후에 프래그먼트 페이로드가 수신되면, FHL 필드는 프래그먼트 페이로드에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수와 수신된 프래그먼트 페이로드에 해당하는 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
그리고 나서, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되면, 방송 신호 수신 장치는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다(CS22100).
지금까지는 본 발명의 일 실시예에 따른 가변적인 크기의 데이터 단위인 전송 블록을 사용하여 방송망으로 멀티미디어 콘텐츠를 전송 블록 단위로 실시간 전송 및 수신하는 실시예에 대하여 설명하였다.
이하에서는, 본 발명의 다른 실시예에 따른 오브젝트 내부 구조체의 경계 정보 및 타입 정보를 사용하여 방송망으로 멀티미디어 콘텐츠를 가변적인 크기의 오브젝트 내부 구조체 단위로 실시간 전송 및 수신하는 실시예를 설명한다.
다만, 본 발명의 다른 실시예의 구성 중에서 본 발명의 일 실시예의 구성과 동일한 명칭은 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 생략하기로 한다. 또한, 도 1 내지 도41에서 설명된 내용들은 이하 도 42 내지 도 55에도 적용될 수 있다.
<전송 오브젝트 타입의 식별 방안-1>
도 42는 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패캣은 LCT 패킷일 수 있고, LCT 패킷은 LCT 버전 번호 필드 (V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 플래그 필드(O), 하프 워드 플래그 필드(H), 전송자 현재 시간 존재 플래그 필드(T), 예상 레지듀얼 시간 존재 플래그 필드(R), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, FEC 페이로드 ID 필드, 및/또는 심볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 패킷은 메타 데이터를 포함하는 패킷 정보를 포함할 수 있다. 패킷 정보는 MPEG-DASH 콘텐츠를 전송 시 현재 패킷이 전송하고 있는 오브젝트의 유형을 지시하는 오브젝트 타입 정보를 포함할 수 있다. 오브젝트 타입 정보는 현재 패킷 또는 동일 TOI가 부여된 패킷들이 전송하고 있는 오브젝트의 타입을 지시할 수 있다.
예를 들어, 오브젝트 타입 정보는 LCT 패킷의 시작 지점에서 12번째 비트에 위치하는 두 개의 예약 비트를 활용하여 오브젝트 타입을 식별할 수 있다.
MPEG-DASH 콘텐츠를 LCT 패킷으로 전송할 경우, 오브젝트 타입은 레귤러 파일, 초기화 세그먼트, 미디어 세그먼트 및/또는 자기-초기화 세그먼트를 포함할 수 있다.
예를 들어, 오브젝트 타입 정보의 값이 "00"이면 오브젝트 타입은 "레귤러 파일(Regular File)"을 지시하고, 오브젝트 타입 정보의 값이 "01"이면 오브젝트 타입은 "초기화 세그먼트(Initialization Segment)"를 지시하고, 오브젝트 타입 정보의 값이 "10"이면 오브젝트 타입은 "미디어 세그먼트(Media Segment)"를 지시하고, 오브젝트 타입 정보의 값이 "11"이면 오브젝트 타입은 "자기-초기화 세그먼트(Self-Initializing Segment)"를 지시할 수 있다.
각각의 오브젝트 타입 정보가 지시하는 오브젝트의 타입은 전송하고 있는 파일 콘텐츠에 따라서 다를 수 있고, 오브젝트 타입 정보의 값을 정의하는 scheme은 현재 전송중인 세션 또는 아웃-옵-밴드(out-of-band)로 별도의 시그널링 정보 형태로 전송될 수 있다.
레귤러 파일은 멀티미디어 콘텐츠를 구성하는 일반적인 파일과 같은 오브젝트 형태의 데이터 단위이다.
초기화 세그먼트는 리프리젠테이션에 접근하기 위한 초기화 정보를 포함하는 오브젝트 형태의 데이터 단위이다. 초기화 세그먼트는 파일 타입 박스(ftyp) 및 무비 박스(moov)를 포함할 수 있다. 파일 타입 박스(ftyp)는 파일 타입, 파일 버전, 및 호환성 정보를 포함할 수 있다. 무비 박스(moov)는 미디어 컨텐츠를 서술하는 메타데이터를 포함할 수 있다.
미디어 세그먼트는 스트리밍 서비스를 지원하기 위해 방송 신호 수신 장치로 전송하고자 하는 품질별, 시간별로 분리한 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. 미디어 세그먼트는 세그먼트 타입 박스(styp), 세그먼트 인덱스 박스(sidx), 무비 프래그먼트 박스(moof), 및 미디어 데이터 박스(mdat)를 포함할 수 있다. 세그먼트 타입 박스(styp)는 세그먼트의 유형 정보를 포함할 수 있다. 세그먼트 인덱스 박스(sidx)는 해당 미디어 세그먼트의 내부에 존재하는 미디어 데이터의 최초 프리젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스(moof)는 미디어 데이터 박스(mdat)에 대한 메타 데이터를 포함할 수 있다. 미디어 데이터 박스(mdat)는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다.
자기-초기화 세그먼트는 초기화 세그먼트의 정보 및 미디어 세그먼트의 정보를 모두 포함하는 오브젝트 형태의 데이터 단위를 뜻한다.
<전송 오브젝트 타입의 식별 방안-2>
도 43은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
상술 한 방법에 더하여, 오브젝트 타입 정보는 LCT 헤더 확장을 이용하여 현재 패킷이 전송하고 있는 오브젝트의 타입을 식별할 수 있다. LCT 헤더 확장을 이용하는 오브젝트 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오브젝트 타입 정보는 헤더 확장 타입(HET) 필드, 타입 필드, 및/또는 예약 필드를 포함할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 헤더 확장의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 헤더 확장의 타입을 식별할 수 있고, 이 경우 헤더 확장은 32 비트 고정 길이를 가질 수 있다.
타입 필드는 현재 LCT 패킷 또는 동일 TOI가 부여된 LCT 패킷들이 전송하고 있는 오브젝트의 타입을 지시할 수 있다. 이하에서는 타입 필드를 오브젝트 타입 정보로 표현할 수 있다. MPEG-DASH 콘텐츠를 LCT 패킷으로 전송할 경우, 오브젝트 타입 정보의 값에 따라서 오브젝트 타입은 레귤러 파일, 초기화 세그먼트, 미디어 세그먼트, 및 자기-초기화 세그먼트를 포함할 수 있다.
예를 들면, 오브젝트 타입 정보의 값이 "0x00"이면 오브젝트 타입은 "레귤러 파일"을 지시하고, 오브젝트 타입 정보의 값이 "0x01"이면 오브젝트 타입은 "초기화 세그먼트"를 지시하고, 오브젝트 타입 정보의 값이 "0x10"이면 오브젝트 타입은 "미디어 세그먼트"를 지시하고, 오브젝트 타입 정보의 값이 "0x11"이면 오브젝트 타입은 "자기-초기화 세그먼트"를 지시할 수 있다.
예약 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 상술한 바와 동일하므로 생략하기로 한다.
도 44는 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 오브젝트의 타입에 따라서 각각 다른 절차를 수행할 수 있다. 즉, 방송 신호 송신 장치가 LCT 패킷에 오브젝트 타입 정보를 명시하여 전송하면, 방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 수신한 오브젝트를 식별하고, 오브젝트의 타입에 따라서 적절한 동작을 수행할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 시그널링 디코더(C32005), 파서(C32050), 및/또는 Decoder(C32060)를 포함할 수 있다. 다만, 방송 신호 수신 장치의 구성요소는 이에 한정되지 않고 상술한 구성요소를 더 포함할 수 있다.
시그널링 디코더(C32005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 정보이다.
파서(C32050)는 오브젝트 타입 정보를 기초로 적어도 하나의 오브젝트를 파싱하고 리프리젠테이션에 접근하기 위한 초기화 정보 및 적어도 하나의 액세스 유닛을 생성할 수 있다. 이를 위하여, 파서(C32050)는 초기화 세그먼트 파서(C32051), 미디어 세그먼트 파서(C32052), 및/또는 자기-초기화 세그먼트 파서(C32053)를 포함 할 수 있다. 초기화 세그먼트 파서(C32051), 미디어 세그먼트 파서(C32052), 및 자기-초기화 세그먼트 파서(C32053)에 대한 구체적인 설명은 다음 도면에서 설명하기로 한다.
디코더(C32060)는 초기화 정보를 기초로 해당 디코더(C32060)를 초기화할 수 있다. 또한, 디코더(C32060)는 적어도 하나의 오브젝트를 복호화할 수 있다. 이때, 디코더(C32060)는 오브젝트에 대한 정보를 적어도 하나의 액세스 유닛의 형태로 전달받고, 디코더(C32060)는 적어도 하나의 액세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다.
도 45은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 패킷 필터(C32010), 세그먼트 버퍼(C32030), 파서(C32050), 디코딩 버퍼(C32059), 및/또는 디코더(C32060)를 포함할 수 있다.
패킷 필터(C32010)는 수신된 적어도 하나의 패킷으로부터 오브젝트 타입 정보를 식별하고, 오브젝트 타입 정보를 기초로 각각의 오브젝트의 타입에 해당하는 절차를 수행할 수 있도록 분류할 수 있다.
예를 들어, 오브젝트 타입 정보가 "1"이면 패킷 필터(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼(C32031)를 통하여 초기화 세그먼트 파서(C32051)로 전달하고, 오브젝트 타입 정보가 "2"이면 패킷 필터(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼(C32032)를 통하여 미디어 세그먼트 파서(C32052)로 전달하고, 전송 오브젝트 타입 정보가 "3"이면 패킷 필터(C32010)는 LCT 패킷의 데이터를 세그먼트 버퍼(C32033)를 통하여 자기-초기화 세그먼트 파서(C32053)로 전달할 수 있다.
세그먼트 버퍼(C32030)는 패킷 필터로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 세그먼트 버퍼(C32030)는 하나의 구성요소로 존재할 수 있고, 여러 개의 세그먼트 버퍼(C32031, C32032, C32033)로 존재할 수도 있다.
파서(C32050)는 오브젝트 타입 정보를 기초로 적어도 하나의 오브젝트를 파싱하고 리프리젠테이션에 접근하기 위한 초기화 정보 및 적어도 하나의 액세스 유닛을 생성할 수 있다. 이를 위하여, 파서(C32050)는 초기화 세그먼트 파서(C32051), 미디어 세그먼트 파서(C32052), 및/또는 자기-초기화 세그먼트 파서(C32053)를 포함 할 수 있다.
초기화 세그먼트 파서(C32051)는 세그먼트 버퍼(C32031)에 저장된 초기화 세그먼트를 파싱하고, 리프리젠테이션에 접근하기 위한 초기화 정보를 생성할 수 있다. 또한, 초기화 세그먼트 파서(C32051)는 자기-초기화 세그먼트 파서(C32053)로부터 초기화 세그먼트를 전달받고, 리프리젠테이션에 접근하기 위한 초기화 정보를 생성할 수 있다.
미디어 세그먼트 파서(C32052)는 세그먼트 버퍼(C32032)에 저장된 미디어 세그먼트를 파싱하고, 미디어 스트림의 정보, 적어도 하나의 액세스 유닛, 및 프리젠테이션 시간 또는 인덱스와 같은 해당 세그먼트 안의 미디어 프리젠테이션에 접근 방법에 대한 정보를 생성할 수 있다. 또한, 미디어 세그먼트 파서(C32052)는 자기-초기화 세그먼트 파서(C32053)로부터 미디어 세그먼트를 전달받고 미디어 스트림의 정보, 적어도 하나의 액세스 유닛, 및 프리젠테이션 시간 또는 인덱스와 같은 해당 세그먼트 안의 미디어 프리젠테이션에 접근 방법에 대한 정보를 생성할 수 있다.
자기-초기화 세그먼트 파서(C32053)는 세그먼트 버퍼(C32033)에 저장된 자기-초기화 세그먼트를 파싱하고, 초기화 세그먼트 및 미디어 세그먼트를 생성할 수 있다.
디코딩 버퍼(C32059)는 파서(C32050) 또는 미디어 세그먼트 파서(C32052)로부터 적어도 하나의 액세스 유닛을 전달받고 미리 정해진 시간 동안 저장할 수 있다.
디코더(C32060)는 초기화 정보를 기초로 해당 디코더(C32060)를 초기화할 수 있다. 또한, 디코더(C32060)는 적어도 하나의 오브젝트를 복호화할 수 있다. 이때, 디코더(C32060)는 오브젝트에 대한 정보를 적어도 하나의 액세스 유닛의 형태로 전달받고, 디코더(C32060)는 적어도 하나의 액세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다.
상술한 바와 같이, MPEG-DASH 콘텐츠를 전송할 때, 본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 현재 패킷에서 전송하고 있는 오브젝트의 타입을 지시하는 오브젝트 타입 정보를 전송할 수 있다. 또한, 방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 수신한 패킷에서 오브젝트의 유형을 식별하고, 각 오브젝트에 적절한 프로세스를 수행할 수 있다.
< 오브젝트 내부 구조체의 타입>
도 46은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
방송 신호 송신 장치가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 전송할 수 있다. 따라서, 방송 신호 수신 장치가 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 방송 신호 수신 장치는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다. 본 발명의 다른 실시예에 따르면, 오브젝트 내부 구조체를 식별하기 위하여 타입 정보(Type information) 및 경계 정보(Boundary Information)가 이용될 수 있다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 타입 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT 헤더 확장을 이용하여 타입 정보를 포함할 수 있다. 타입 정보는 현재 패킷이 전송하고 있는 오브젝트의 내부 구조체의 타입을 지시할 수 있다. 타입 정보는 오브젝트 타입 정보와 구별을 위하여 내부 구조체 타입 정보로 부를 수 있다. 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
타입 정보는 헤더 확장 타입 필드(HET), 내부 유닛 타입 필드, 및/또는 예약 필드를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
내부 구조체 타입 필드는 LCT 패킷이 전송하고 있는 오브젝트 내부 구조체의 타입을 지시할 수 있다.
오브젝트는 MPEG-DASH의 세그먼트에 해당할 수 있는데, 오브젝트 내부 구조체는 오브젝트를 구성하는 하위 구성요소에 해당한다. 예를 들어, 오브젝트 내부 구조체의 타입은 프래그먼트, 청크(chunk) 또는 GOP, 액세스 유닛, 및 NAL 유닛을 포함할 수 있다. 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 또는, 프래그먼트는 한 쌍의 무비 프래그먼트 박스(moof) 및 미디어 데이터 컨테이너 박스(mdat)를 포함하는 데이터 단위를 의미할 수 있다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment)에 해당할 수 있고, MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 청크 또는 적어도 하나의 GOP를 포함할 수 있다.
청크는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 다른 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 오픈 GOP 및 클로즈드 GOP를 포함할 수 있다.
오픈 GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, 오픈 GOP은 코딩 효율을 상당히 높일 수 있다. 클로즈드 GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
액세스 유닛은 부호화된 비디오 또는 오디오의 기본 데이터 단위를 의미하고, 하나의 영상 프레임 또는 오디오 프레임을 포함할 수 있다.
NAL 유닛은 네트워크 기기와의 통신을 고려하여 압축된 슬라이스에 대한 요약 정보 등이 포함되어 캡슐화된 압축된 비디오 스트림이다. 예를 들어, NAL 유닛 슬라이스, 파라미터 세트, 및 SEI 등의 데이터를 바이트 단위로 패킷화한 데이터 단위일 수 있다.
예약 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하에서는, 설명의 편의를 위하여 내부 구조체 타입 필드를 타입 정보로 표현할 수 있다.
< 오브젝트 내부 구조체 경계>
도 47는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 경계 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT 헤더 확장을 이용하여 경계 정보를 포함할 수 있다. 경계 정보는 현재 패킷이 전송하고 있는 오브젝트 내부 구조체의 경계를 지시할 수 있다. 경계 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
경계 정보는 헤더 확장 타입 필드(HET), 시작 플래그 필드(SF), 예약 필드, 및/또는 오프셋 필드를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
시작 플래그 필드(SF)는 LCT 패킷이 오브젝트 내부 구조체의 시작 지점을 포함하고 있음을 지시할 수 있다.
예약 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
오프셋 필드는 LCT 패킷 내에서 오브젝트 내부 구조체의 시작 지점의 위치를 지시하는 위치 정보를 포함할 수 있다. 위치 정보는 LCT 패킷의 페이로드 시작 지점부터 오브젝트 내부 구조체의 시작 지점까지의 바이트(byte) 거리를 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
예를 들어, 방송 신호 수신 장치는 경계 정보에서 표현된 오브젝트 내부 구조체의 시작과 끝 지점에 해당하는 패킷 또는 그 사이에서 전송되는 적어도 하나의 패킷에 포함된 타입 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다.
그 결과, 방송 신호 수신 장치는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 빠르게 식별할 수 있고 실시간 재생할 수 있다.
<전송 오브젝트와 시그널링 정보의 매핑 >
도 48은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 타입 정보 및 경계 정보 외에도, 매핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
DASH 콘텐츠를 전송 시, 패킷 정보는 LCT 헤더 확장을 이용하여 매핑 정보를 포함할 수 있다. 매핑 정보는 현재 패킷이 전송하고 있는 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 전송 세션 식별자(TSI) 및 전송 오브젝트 식별자(TOI) 중에서 적어도 하나에 매핑시키는 정보이다. 매핑 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
본 발명의 일 실시예에 따른 매핑 정보는 헤더 확장 타입 필드(HET), 헤더 확장 길이 필드(HEL), 및 URL(Uniform Resource Locator) 필드(URL)를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT 헤더 확장의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32 비트 워드 단위의 가변 길이 헤더 확장이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT 헤더 확장의 전체 길이를 32 비트 워드 단위로 나타낸다.
URL 필드는 가변 길이일 수 있고, 현재 전송중인 세션, 오브젝트, 및 오브젝트 내부 구조체의 인터넷 상의 고유 주소를 포함할 수 있다.
이하에서는, 설명의 편의상 URL 필드를 매핑 정보로 표현할 수 있다.
매핑 정보는 시그널링 정보의 URL을 지시할 수 있다. 또한, 매핑 정보는 세션, 오브젝트, 또는 오브젝트 내부 구조체의 고유한 주소뿐만 아니라, 시그널링 정보에서 할당된 식별자를 포함할 수 있다. 식별자는 피리어드(period) ID, 적응 세트 ID, 리프리젠테이션 ID, 및 컴포넌트 ID를 포함할 수 있다. 따라서, MPEG-DASH 콘텐츠의 경우, 매핑 정보는 세그먼트 URL, 리프리젠테이션 ID, 컴포넌트 ID, 적응 세트 ID, 및 피리어드(period) ID 등을 포함할 수 있다.
보다 완벽한 매핑을 위하여, 본 발명의 다른 실시예에 따른 시그널링 정보는 식별자 또는 오브젝트의 URL을 TOI 또는 TSI에 각각 매핑하는 매핑 정보를 더 포함할 수 있다. 즉, 시그널링 정보는 현재 전송하고 있는 TOI 및 TSI가 식별자 또는 오브젝트의 URL 중에서 어디에 매핑되는지를 지시하는 정보를 더 포함할 수 있다. 이때, 매핑 정보는 식별자 또는 오브젝트의 URL과 TOI 또는 TSI를 1:1, 1:다(多), 및 다(多):1 중에서 하나로 매핑하는 정보일 수 있다.
<전송 세션 및 전송 오브젝트의 그룹핑 방안>
도 49는 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 방법 외에도, 그룹핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷은 세션 그룹 식별자 필드(SGI) 및 분할된 전송 세션 식별자 필드(DTSI)를 포함할 수 있다. SGI 및 DTSI는 기존의 전송 세션 식별자 필드(TSI)를 분할한 형태이다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷은 오브젝트 그룹 식별자 필드(OGI) 및 분할된 전송 오브젝트 식별자 필드(DTOI)를 포함할 수 있다. OGI 및 DTOI는 기존의 전송 오브젝트 식별자 필드(TOI)를 분할한 형태이다.
S 필드는 기존의 TSI 필드의 길이를 지시하고, O 필드는 기존의 TOI의 길이를 지시하고, H 필드는 기존의 TSI 필드 및 기존의 TOI 필드의 길이에 하프 워드(16 비트)를 추가할지 여부를 지시한다.
따라서, SGI 필드와 DTSI 필드의 길이의 합은 기존의 TSI 필드와 같고, S 필드와 H 필드의 값을 기초로 정해질 수 있다. 또한, OGI 필드와 DTOI 필드의 길이의 합은 기존의 TOI 필드와 같고, O 필드와 H 필드의 값을 기초로 정해질 수 있다.
본 발명의 다른 실시예에 따르면, 기존의 TSI 및 TOI를 SGI, DTSI, OGI, 및 DTOI로 세분화하고, SGI, DTSI, OGI, 및 DTOI는 각각 다른 데이터 단위를 식별할 수 있다.
SGI, DTSI, OGI, 및 DTO에 대한 구체적인 내용은 다음 도면에서 설명하기로 한다.
도 50는 본 발명의 다른 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
미디어 프리젠테이션 기술(MPD)은 MPEG-DASH 콘텐츠를 스트리밍 서비스로 제공하기 위한 엘리먼트이다. 예를 들어, 상술한 프리젠테이션은 하나의 서비스에 대응하는 개념이고, MPEG-DASH의 MPD 및 MMT의 패키지에 해당할 수 있다. MPD(C40000)는 적어도 하나의 피리어드를 포함할 수 있다. 예를 들어, MPD(C40000)는 제1 피리어드(C41000) 및 제2 피리어드(C42000)를 포함할 수 있다.
피리어드는 MPEG-DASH 콘텐츠를 재생 시간으로 구분한 엘리먼트이다. 이용 가능한 비트레이트, 언어, 캡션, 및 서브타이틀 등은 피리어드 내에서 변하지 않는다. 각 피리어드는 시작 시간 정보를 포함할 수 있으며, MPD 내에서 시작시간의 오름차순으로 정렬될 수 있다. 예를 들어, 제1 피리어드(C41000)는 0~30min 구간의 엘리먼트이고, 제2 피리어드(C42000)는 30~60min 구간의 엘리먼트이다. 피리어드는 하위 요소로 적어도 하나의 AdaptationSet(미도시)를 포함할 수 있다.
AdaptationSet는 상호 교체할 수 있는 인코딩된 버전의 적어도 하나의 미디어 콘텐트 컴포넌트의 집합이다. AdaptationSet은 하위 요소로 적어도 하나의 리프리젠테이션을 포함할 수 있다. 예를 들어, AdaptationSet은 제1 리프리젠테이션(C41100), 제2 리프리젠테이션C41200), 및 제3 리프리젠테이션(C41300)을 포함할 수 있다.
리프리젠테이션은 적어도 하나의 미디어 콘텐트 컴포넌트의 전송 가능한 인코딩된 버전의 엘리먼트를 나타내며, 적어도 하나의 미디어 스트림을 포함할 수 있다. 미디어 콘텐트 컴포넌트는 비디오 컴포넌트, 오디오 컴포넌트, 및 캡션 컴포넌트를 포함할 수 있다. 리프리젠테이션은 미디어 콘텐트 컴포넌트의 품질에 대한 정보를 포함할 수 있다. 따라서, 방송 신호 수신 장치는 네트워크 환경에 적응하기 위해서 하나의 AdaptationSet 내에서 리프리젠테이션을 변경할 수 있다.
예를 들어, 제1 리프리젠테이션(C41100)은 주파수의 대역폭(bandwidth)이 500kbit/s인 비디오 컴포넌트이고, 제2 리프리젠테이션(C41200)은 주파수의 대역폭(bandwidth)이 250kbit/s인 비디오 컴포넌트이고, 제3 리프리젠테이션(C41300)은 주파수의 대역폭(bandwidth)이 750kbit/s인 비디오 컴포넌트 일 수 있다. 리프리젠테이션은 하위 요소로 적어도 하나의 세그먼트를 포함할 수 있다. 예를 들어, 제1 리프리젠테이션(C41100)은 제1 세그먼트(C41110), 제2 세그먼트(C41120), 및 제3 세그먼트(C41130)를 포함할 수 있다.
세그먼트는 한번의 HTTP 요청으로 검색(retrieve)될 수 있는 가장 큰 데이터 단위의 엘리먼트를 나타낸다. URL은 각각의 세그먼트에 제공될 수 있다. 예를 들어, 상술한 오브젝트는 파일, 초기화 세그먼트, 미디어 세그먼트, 또는 자기-초기화 세그먼트에 대응하는 개념이고, MPEG-DASH의 세그먼트에 해당하고, MMT의 MPU에 해당할 수 있다. 각 세그먼트는 하위 요소로 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 제2 세그먼트(C41120)는 제1 프래그먼트(C41122), 제2 프래그먼트(C41124), 및 제3 프래그먼트(C41126)를 포함할 수 있다.
프래그먼트는 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment) 및 MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 청크 또는 적어도 하나의 GOP를 포함할 수 있다. 예를 들어, 제1 프래그먼트(C41122)는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다. 프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 프래그먼트 페이로드는 미디어 데이터 컨테이너 박스(mdat)를 포함할 수 있다. 미디어 데이터 컨테이너 박스(mdat)는 제1 청크 내지 제5 청크를 포함할 수 있다.
청크는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
상술한 본 발명의 일 실시예에 따르면, TSI는 전송 세션을 식별하고, 각 리프리젠테이션은 각 TSI에 매핑될 수 있다. 또한, TOI는 전송 세션 내에 있는 전송 오브젝트를 식별하고, 각 세그먼트는 각 TOI에 매핑될 수 있다.
하지만, 본 발명의 다른 실시예에 따르면, TSI를 GSI 및 DTSI로 분할하고 TOI를 OGI 및 DTOI로 분할하여, 각각의 GSI, DTSI, GOI, 및 DTOI가 각각 새로운 데이터 단위에 매핑될 수 있으며, 이하의 실시예에 한정되지 않는다.
예를 들어, SGI는 동일한 전송 세션의 그룹을 식별하고, 각 피리어드는 각 SGI에 매핑될 수 있다. 제1 피리어드(C41000)는 SGI의 값이 "1"에 매핑되고, 제2 피리어드(C42000)은 SGI의 값이 "2"에 매핑될 수 있다. SGI의 값은 상술한 실시예에 한정되지 않으며, 피리어드를 식별하는 값인 피리어드 ID와 동일한 값을 가질 수 있다.
DTSI는 전송 세션을 식별하고, 각 리프리젠테이션은 각 DTSI에 매핑될 수 있다. 제1 리프리젠테이션(C41100)은 DTSI의 값이 "1"에 매핑되고, 제2 리프리젠테이션(C41200)은 DTSI의 값이 "2"에 매핑되고, 제3 리프리젠테이션(C41300)은 DTSI의 값이 "3"에 매핑될 수 있다. DTSI의 값은 상술한 실시예에 한정되지 않으며, 리프리젠테이션을 식별하는 값인 리프리젠테이션 ID와 동일한 값을 가질 수 있다.
OGI는 전송 세션 내에서 동일한 오브젝트의 그룹을 식별하고, 각 세그먼트는 각 OGI에 매핑될 수 있다. 제1 세그먼트(C41110)는 OGI의 값이 "1"에 매핑되고, 제2 세그먼트(C41120)는 OGI의 값이 "2"에 매핑되고, 및 제3 세그먼트(C41130)는 OGI의 값이 "3"에 매핑될 수 있다.
DTOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다. 하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF 파일 또는 하나의 ISO BMFF 파일의 일부일 수 있다. 하나의 ISO BMFF 파일의 일부는 프래그먼트, GOP, 청크, 액세스 유닛, 및/또는 NAL 유닛을 포함할 수 있다.
예를 들어, 프래그먼트 헤더, 및 프래그먼트 페이로드의 각 청크 또는 각 GOP는 각 DTOI에 매핑될 수 있다. 제1 프래그먼트(C41122)의 헤더는 DTOI의 값이 "0"에 매핑되고, 제1 프래그먼트(C41122)의 페이로드 내에 있는 제1 청크 내지 제5 청크는 DTOI의 값이 "10" 내지 "14"에 매핑될 수 있다.
DTOI의 경우, 부여된 값에 따라서 용법을 정의할 수 있다. 예를 들어, DTOI 값은 오브젝트의 배열 순서에 따라서 오름차순 또는 내림차순의 값으로 설정될 수 있다. 이 경우, 방송 신호 수신 장치는 DTOI 값을 기초로 오브젝트를 재배열하고, 프래그먼트 또는 세그먼트를 생성할 수 있다. 또한, 특정한 DTOI의 값은 프래그먼트 헤더를 지시할 수 있다. 이 경우, 방송 신호 송신 장치 또는 방송 신호 수신 장치는 해당 DTOI의 값을 기초로 프래그먼트 헤더의 전송이 완료되었는지를 판단할 수 있다.
딜리버리 오브젝트가 하나의 세그먼트를 의미할 경우, 딜리버리 오브젝트의 그룹은 DASH 리프리젠테이션과 같은 콘텐츠 컴포넌트에 해당할 수 있다. 이 경우, DTOI는 세그먼트에 맵핑되고, OGI는 리프리젠테이션에 맵핑될 수 있다. 예를 들어, OGI는 리프리젠테이션 ID, 콘텐츠 컴포넌트 ID 등에 일대일 맵핑되어, 한 세션 내 전송되는 콘텐츠 컴포넌트들을 멀티플렉싱/디멀티플렉싱하기 위한 정보로 활용될 수 있다.
도 51은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 송신 장치의 구조를 나타낸 도면이다.
방송 신호 송신 장치는 시그널링 인코더(C31005), 내부 구조체 생성기(C31030), 패킷 정보 생성기(C31035) 및/또는 송신기(C31050)를 포함할 수 있다.
시그널링 인코더(C31005)는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 파일 레벨 또는 FDT 레벨 중에서 적어도 하나로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시할 수 있다. 시그널링 정보가 파일 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 파일에 속하는 모든 데이터를 실시간으로 전송할 수 있다. 또한, 시그널링 정보가 FDT 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 FDT에 속하는 모든 파일 또는 데이터를 실시간으로 전송할 수 있다.
내부 구조체 생성기(C31030)는 독립적으로 부호화 및 복호화되는 데이터 단위인 적어도 하나의 오브젝트 내부 구조체를 생성할 수 있다. 오브젝트 내부 구조체는 멀티미디어 콘텐츠를 구성하는 파일이 적어도 하나의 데이터 단위로 분할된 것이다.
패킷 정보 생성기(C31035)는 시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, 오브젝트 내부 구조체를 식별하는 메타 데이터를 포함하는 패킷 정보를 생성할 수 있다. 여기서, 패킷 정보는 멀티미디어 콘텐츠를 전송하는 패킷에 관한 메타 데이터를 포함하고, 오브젝트 내부 구조체를 식별하는 메타 데이터를 포함할 수 있다. 패킷 정보는 오브젝트 내부 구조체의 경계를 지시하는 경계 정보 및 오브젝트 내부 구조체의 타입을 지시하는 타입 정보를 포함할 수 있다.
경계 정보는 해당 패킷에 오브젝트 내부 구조체의 시작 지점이 포함되어 있는지 여부를 지시하는 시작 플래그(SF) 필드 및 해당 패킷 내에서 상기 오브젝트 내부 구조체의 시작 지점의 위치를 지시하는 오프셋 필드를 포함할 수 있다.
오브젝트 내부 구조체의 타입은 한 쌍의 무비 프래그먼트 박스(moof) 및 미디어 데이터 컨테이너 박스(mdat)를 포함하는 데이터 단위를 나타내는 프래그먼트, 동일한 미디어 타입을 갖는 인접된 샘플들의 집합을 나타내는 청크, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 GOP, 부호화된 비디오 또는 오디오의 기본 데이터 단위를 나타내는 액세스 유닛, 및 바이트(byte) 단위로 패킷화한 데이터 단위를 나타내는 NAL Unit 중에서 하나를 포함할 수 있다.
또한, 패킷 정보는 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 전송 세션 식별자(TSI) 및 전송 오브젝트 식별자(TOI) 중에서 적어도 하나에 매핑시키는 매핑 정보를 포함할 수 있다.
또한, 패킷 정보는 패킷이 전송하는 전송 오브젝트 및 전송 세션을 그룹핑하는 그룹핑 정보를 포함할 수 있다. 그룹핑 정보는 전송 세션을 식별하는 분할된 전송 세션 식별자 (DTSI) 필드, 동일한 전송 세션의 그룹을 식별하는 세션 그룹 식별자(SGI) 필드, 전송 오브젝트를 식별하는 분할된 전송 오브젝트 식별자(DTOI) 필드, 및 동일한 전송 오브젝트의 그룹을 식별하는 오브젝트 그룹 식별자(OGI) 필드를 포함할 수 있다. 여기서, SGI 필드는 MPEG-DASH의 피리어드 엘리먼트를 식별하는 정보를 포함하고, DTSI 필드는 MPEG-DASH의 리프리젠테이션 엘리먼트를 식별하는 정보를 포함하고, OGI 필드는 MPEG-DASH의 세그먼트 엘리먼트를 식별하는 정보를 포함하고, 및 DTOI 필드는 MPEG-DASH의 청크 엘리먼트를 식별하는 정보를 포함할 수 있다.
상술한 바와 같이, 패킷 정보는 타입 정보와 경계 정보, 매핑 정보, 및 그룹핑 정보를 기초로 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 식별할 수 있다.
방송 신호 송신 장치는 패킷타이저(미도시)를 더 포함할 수 있다. 패킷타이저는 오브젝트 내부 구조체를 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다. 다만 이에 한정되지 않고, 심볼은 다른 장치에 의해서 생성될 수도 있다. 본 발명의 다른 실시예에 따른 심볼의 길이는 동일할 수 있다. 그리고 나서, 패킷타이저는 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화 할 수 있다. 예를 들어, 패킷은 LCT 패킷일 수 있다. 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다.
패킷 헤더는 오브젝트 내부 구조체를 식별하는 패킷 정보를 포함할 수 있다.
송신기(C31050)는 오브젝트 내부 구조체 및 패킷 정보를 포함하는 방송 신호를 전송할 수 있다.
도 52은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
이하에서는 방송 신호 송신 장치와 공통되는 부분은 생략하고, 차이점을 중심으로 설명한다.
방송 신호 수신 장치는 패킷 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 단위로 복호화를 할 수 있다. 따라서, 방송 신호 수신 장치는 하나의 오브젝트를 모두 수신하지 않고 오브젝트 내부 구조체만을 수신하더라도, 오브젝트 내부 구조체를 재생할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 시그널링 디코더(C32005), 추출기(C32050), 및/또는 디코더(C32060)를 포함할 수 있다. 다만, 방송 신호 수신 장치는 상술한 구성요소를 더 포함할 수 있다.
시그널링 디코더(C32005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 정보이다.
추출기(C32050)는 방송신호로부터 오브젝트 내부 구조체를 식별하고, 오브젝트 내부 구조체를 추출할 수 있다. 추출기(C32050)는 패킷 정보를 기초로 하나의 오브젝트가 모두 수신되기 전이라도 오브젝트 내부 구조체를 추출하여 디코더(C32060)로 전달할 수 있다. 다만, 오브젝트 내부 구조체의 타입에 따라 추출기(C32050)의 동작이 달라질 수 있다. 상술한 파서(C32050)는 추출기(C32050)와 동일한 동작을 수행할 수 있으며, 추출기(C32050)를 파서(C32050)로 표현할 수도 있다.
추출기(C32050)는 타입 정보 및 경계 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다. 예를 들어, 추출기(C32050)는 경계 정보에서 표현된 오브젝트 내부 구조체의 시작과 끝 지점에 해당하는 패킷 또는 그 사이에서 전송되는 적어도 하나의 패킷에 포함된 타입 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다.
추출기(C32050)는 오브젝트 버퍼 또는 세그먼트 버퍼에 저장된 오브젝트 내부 구조체인 프래그먼트, 청크 또는 GOP, 및 액세스 유닛 중에서 적어도 하나를 추출할 수 있다. 이를 위하여, 추출기(C32050)는 액세스 유닛을 추출하는 AU 추출기(C32056), 청크 또는 GOP를 추출하는 청크 추출기(C32057), 및 프래그먼트를 추출하는 프래그먼트 추출기(C32058)를 더 포함할 수 있다. 추출기(C32050)의 하위 구성요소는 다음 도면에서 구체적으로 설명하기로 한다.
디코더(C32060)는 오브젝트 내부 구조체를 전달받고 타입 정보를 기초로 해당 오브젝트 내부 구조체를 디코딩할 수 있다. 이때, 디코더(C32060)는 오브젝트 내부 구조체에 대한 정보를 적어도 하나의 액세스 유닛의 형태로 전달받고, 적어도 하나의 액세스 유닛을 복호화하여 미디어 데이터를 생성할 수 있다.
도 53은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체의 타입이 액세스 유닛인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다.
방송 신호 수신 장치는 패킷 디패킷타이저(C22020), 세그먼트 버퍼(C32030), AU 추출기(C32056), 디코딩 버퍼(C32059), 및/또는 디코더(C32060)를 더 포함할 수 있다.
패킷 디패킷타이저(C22020)는 적어도 하나의 패킷을 디패킷화하여 패킷 헤더에 포함된 패킷 정보를 추출할 수 있다. 예를 들어, 패킷 디패킷타이저(C22020)는 패킷 헤더에 포함된 타입 정보 및 경계 정보를 추출할 수 있고, 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다. 적어도 하나의 심볼은 오브젝트 내부 구조체를 구성하는 심볼일 수 있고, 오브젝트를 구성하는 심볼일 수 있다.
패킷 디패킷타이저(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 디코더(C32060)에 전달할 수 있다.
세그먼트 버퍼(C32030)는 패킷 디패킷타이저(C22020)로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 세그먼트 버퍼(C32030)는 오브젝트 버퍼(C32030)로 표현될 수 있다. 또한, 세그먼트 버퍼(C32030)는 AU 추출기(C32056), 청크 추출기(미도시), 및/또는 프래그먼트 추출기(미도시)를 더 포함할 수 있다. 또한, 세그먼트 버퍼(C320300)는 프래그먼트 버퍼(미도시) 및/또는 청크 버퍼(미도시)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 액세스 유닛이라고 지시하면, 세그먼트 버퍼(C32030)는 AU 추출기(C32056)를 포함할 수 있다. 다만, 이에 한정되지 않고, AU 추출기(C32056)는 세그먼트 버퍼(C32030)와 독립적으로 존재할 수 있다.
AU 추출기(C32056)는 경계 정보를 기초로 세그먼트 버퍼(C32030)에 저장된 액세스 유닛을 추출할 수 있다. 예를 들어, 하나의 액세스 유닛은 경계 정보가 지시하는 액세스 유닛의 시작 지점부터 다음 액세스 유닛의 시작 지점 이전까지일 수 있다.
그리고 나서, AU 추출기(C32056)는 추출한 액세스 유닛을 디코딩 버퍼(C32059)를 거쳐 디코더(C32060)로 전달할 수 있다.
상술한 바와 같이, 방송 신호 수신 장치가 하나의 오브젝트를 모두 수신하지 않더라도, AU 추출기(C32056)는 타입 정보 및 경계 정보를 기초로 해당 오브젝트의 내부 구조체의 수신이 완료되면 곧바로 오브젝트 내부 구조체를 추출하여 디코더(C32060)로 전달할 수 있다.
디코딩 버퍼(C32059)는 세그먼트 버퍼(C32030)로부터 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 액세스 유닛은 디코딩 버퍼(C32059) 내에서 액세스 유닛에 부여된 처리 시간에 디코더(C32060) 또는 다른 구성요소로 전달될 수 있다. 이때, 액세스 유닛에 PTS(presentation time stamp) 등 처리 시간에 대한 타이밍 정보는 LCT 헤더 확장 형태로 부여될 수 있다
디코더(C32060)는 오브젝트 내부 구조체를 전달받고 타입 정보를 기초로 해당 오브젝트 내부 구조체를 디코딩할 수 있다. 이때, 디코더(C32060)는 오브젝트 내부 구조체의 형태뿐만 아니라 액세스 유닛의 형태로 해당 오브젝트 내부 구조체를 전달받을 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 액세스 유닛이라고 지시하면, 디코더(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 액세스 유닛을 디코딩할 수 있다.
도 54는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 청크 또는 GOP인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 패킷 디패킷타이저(C22020), 세그먼트 버퍼(C32030), 청크 버퍼(C32035), 디코딩 버퍼(C32059), 및/또는 디코더(C32060)를 더 포함할 수 있다.
패킷 디패킷타이저(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 세그먼트 버퍼(C32030)를 통하여 디코더(C32060)에 전달할 수 있다.
세그먼트 버퍼(C32030)는 청크 추출기(C32057)를 포함할 수 있다. 또한, 세그먼트 버퍼(C32030)는 청크 버퍼(C32035)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 청크 또는 GOP라고 지시하면, 청크 추출기(C32057)는 경계 정보를 기초로 세그먼트 버퍼(C32030)에 저장된 청크 또는 GOP를 추출할 수 있다. 예를 들어, 하나의 청크 또는 GOP는 경계 정보가 지시하는 청크 또는 GOP의 시작 지점부터 다음 청크 또는 GOP의 시작지점 이전까지일 수 있다. 청크 추출기(C32057)는 세그먼트 버퍼(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
청크 버퍼(C32035)는 적어도 하나의 청크 또는 GOP를 전달 받고, 미리 정해진 시간 동안 저장할 수 있다. 청크 버퍼(C32035)는 세그먼트 버퍼(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. 청크 버퍼(C32035)는 AU 추출기(C32056)를 더 포함할 수 있다.
AU 추출기(C32056)는 청크 버퍼(C32035)에 저장된 청크 또는 GOP로부터 적어도 하나의 액세스 유닛을 추출할 수 있다. 그리고 나서, 추출된 적어도 하나의 액세스 유닛을 디코딩 버퍼(C32059)를 거쳐 디코더(C32060)로 전달할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 청크 또는 GOP라고 지시하면, 디코더(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 청크 또는 GOP를 디코딩할 수 있다.
도 55는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 프래그먼트인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 패킷 디패킷타이저(C22020), 세그먼트 버퍼(C32030), 프래그먼트 버퍼(C32036), 오디오 디코딩 버퍼 (C32059-1), 비디오 디코딩 버퍼 (C32059-2), 오디오 디코더(C32060-1), 및/또는 비디오 디코더(C32060-2)를 더 포함할 수 있다.
패킷 디패킷타이저(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 오디오 디코더(C32060-1) 및/또는 비디오 디코더(C32060-2)에 전달할 수 있다.
세그먼트 버퍼(C320300)는 프래그먼트 추출기(C32058)를 포함할 수 있다. 또한, 세그먼트 버퍼(C32030)는 프래그먼트 버퍼(C32036)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, 프래그먼트 추출기(C32058)는 경계 정보를 기초로 세그먼트 버퍼(C320300)에 저장된 프래그먼트를 추출할 수 있다. 예를 들어, 하나의 프래그먼트는 경계 정보가 지시하는 프래그먼트의 시작 지점부터 다음 프래그먼트의 시작 지점 이전까지일 수 있다. 프래그먼트 추출기(C32058)는 세그먼트 버퍼(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
프래그먼트 버퍼(C32036)는 프래그먼트를 전달받고, 미리 정해진 시간 동안 저장할 수 있다. 프래그먼트 버퍼(C32036)는 세그먼트 버퍼(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. 프래그먼트 버퍼(C32036)는 AU 추출기(C32056)를 더 포함할 수 있다. 또한, 프래그먼트 버퍼(C32036)는 청크 버퍼(미도시)를 더 포함할 수 있다.
AU 추출기(C32056)는 프래그먼트 버퍼(C32036)에 저장된 프래그먼트로부터 적어도 하나의 액세스 유닛을 추출할 수 있다. AU 추출기(C32056)는 프래그먼트 버퍼(C32036)내에 존재할 수도 있고, 독립적으로 존재할 수 있다. 또한, 방송 신호 수신 장치는 청크 버퍼(미도시)를 더 포함하고, AU 추출기(C32056)는 청크 버퍼에 포함된 청크 또는 GOP로부터 적어도 하나의 액세스 유닛을 추출할 수 있다. 그리고 나서, AU 추출기(C32056)는 추출된 적어도 하나의 액세스 유닛을 오디오 디코더(C32060-1) 및/또는 비디오 디코더(C32060-2)로 전달할 수 있다.
디코딩 버퍼는 오디오 디코딩 버퍼 (C32059-1) 및/또는 비디오 디코딩 버퍼 (C32059-2)를 포함할 수 있다. 오디오 디코딩 버퍼 (C32059-1)는 오디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. 비디오 디코딩 버퍼 (C32059-2)는 비디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, 디코더는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 프래그먼트를 디코딩할 수 있다. 디코더는 오디오와 관련된 데이터를 디코딩하는 오디오 디코더(C32060-1) 및/또는 비디오와 관련된 데이터를 디코딩하는 비디오 디코더(C32060-2)를 더 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 전송할 수 있다. 이때, 방송 신호 송신 장치는 전송하는 오브젝트 내부 구조체의 타입 정보 및 경계 정보를 함께 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
<전송 패킷 페이로드 데이터의 우선순위 식별방안>
도 56은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 ROUTE 패킷일 수 있고, ROUTE 패킷은 ALC/LCT 패킷을 나타낼 수 있다. 다만, 이하에서는 편의상 ROUTE 패킷 및/또는 ALC/LCT 패킷을 LCT 패킷으로 부를 수 있다. ROUTE에 의해 사용되는 LCT 패킷 포맷은 ALC 패킷 포맷, 즉, LCT 헤더가 뒤따르는 UDP 헤더 및 패킷 페이로드가 뒤따르는 FEC 페이로드 ID를 따른다.
LCT 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 실볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(Priority)을 더 포함할 수 있다. 우선순위 정보는 각 패킷의 시작지점에서부터 12번째 및 13번째 비트에 위치하는 두 개의 bit를 활용하여 패킷 페이로드의 우선순위를 지시할 수 있다. 이 경우, 두 개의 bit를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
*우선순위 정보(Priority)는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 즉, 우선순위 정보는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~3의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다. 반대로, 우선순위 정보가 높은 값을 가질수록 우선순위가 낮다는 것을 지시할 수 있다.
TSI는 LCT 전송 세션을 식별할 수 있고, TOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다.
각각의 ROUTE 세션은 하나 또는 다수의 LCT 전송 세션으로 구성된다. LCT 전송 세션은 ROUTE 세션의 서브세트이다. 미디어 전달을 위해, LCT 전송 세션은 일반적으로 미디어 컴포넌트, 예를 들어, MPEG-DASH 리프리젠테이션을 전달할 수 있다. 브로드캐스트 MPEG-DASH의 관점으로부터, ROUTE 세션은 하나 이상의 DASH 미디어 프리젠테이션의 구성 미디어 컴포넌트를 전송하는 LCT 전송 세션의 멀티플렉스로서 간주될 수 있다. 각각의 LCT 전송 세션 내에서, 하나 또는 다수의 딜리버리 오브젝트, 일반적으로, 관련된 딜리버리 오브젝트, 예를 들어, 하나의 리프리젠테이션에 연관된 MPEG-DASH 세그먼트가 전달된다. 각각의 딜리버리 오브젝트와 함께, 메타데이터 특성이 전달되어 딜리버리 오브젝트가 애플리케이션에서 사용될 수 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF 파일 또는 하나의 ISO BMFF 파일의 일부일 수 있다. 하나의 ISO BMFF 파일의 일부는 프래그먼트, GOP, 청크, 액세스 유닛, 및/또는 NAL 유닛을 포함할 수 있다.
일 실시예로, 하나의 TSI가 하나의 트랙(MPEG-DASH 리프리젠테이션)에 매칭되고, 하나의 TOI가 하나의 ISO BMFF 파일에 매칭될 수 있다. 또한, 하나의 ISO BMFF 파일은 'ftyp', 'moov', "moof", 및/또는 'mdat'를 포함할 수 있다.
'ftyp'은 파일 타입 및 호환성(compatability)에 관한 정보를 포함하고 있는 컨테이너(container)이다. 'moov'는 미디어 데이터를 재생하기 위한 모든 메타데이터(metadata)를 포함하는 컨테이너이다. 미디어 컨텐츠가 하나의 파일 내에서 적어도 하나의 미디어 데이터로 분할되거나, 미디어 컨텐츠가 적어도 하나의 파일로 분할된 경우, 'moof'는 각각의 분할된 미디어 데이터에 대한 메타데이터를 포함하는 컨테이너이다. 'mdat'은 오디오 데이터 및 비디오 데이터와 같은 미디어 데이터를 포함한다. 'mdat'는 적어도 하나의 'I-프레임', 'P-프레임', 및/또는 'B-프레임'를 포함할 수 있다.
'I-프레임'은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. 'I-프레임'은 이미지로부터 직접 코딩하여 생성되므로 inter block들로만 구성되고 랜덤 접속 포인트(Random Access Point)으로서 역할을 할 수 있다. 또한, 'I-프레임'은 시간적 움직임을 예측하여 만들어내는 'P-프레임' 및/또는 'B-프레임'의 기준이 될 수 있다. 따라서, 'I-프레임'은 자신의 프레임의 공간 잉여요소만 감소시켜 압축을 수행하기 때문에, 'I-프레임'는 낮은 압출율을 제공한다. 즉, 압축에 따른 결과 비트 수는 다른 프레임들 보다 많은 비트 수를 필요로 한다.
'P-프레임'은 MPEG에서 시간적으로 나중에 나오는 장면에 대해 움직임을 예측해서 만들어낸 화면을 의미한다. 'P-프레임'은 가장 최근의 'I-프레임' 및/또는 'B-프레임' 를 참조하여, 화면 간 순방향 예측 만으로 다음 화면을 예측하여 얻어지는 화면이다. 따라서, 'P-프레임'은 비교적 높은 압축율을 제공한다.
'B-프레임'은 MPEG에서 시간적으로 예측하여 만들어내는 화면 중에서 앞 및/또는 뒤에 있는 'P-프레임' 및/또는 'I-프레임'으로부터 양방향의 움직임을 좀더 세밀하게 예측해서 만들어내는 예측 화면을 말한다. 'B-프레임'의 경우에는 바로 앞의 'I-프레임' 및/또는 'P-프레임', 현재의 프레임, 및/또는 바로 뒤에 나오는 'I-프레임' 및/또는 'P-프레임'를 기초로 코딩 및/또는 디코딩된다. 따라서, 코딩 및/또는 디코딩 시간지연이 발생한다. 하지만, 'B-프레임'은 가장 높은 압축율을 제공하며, 'P-프레임' 및/또는 'I-프레임'의 코딩 및/또는 디코딩의 기초가 되지 않으므로 오류를 전파하지 않는다.
전술한 바와 같이, 하나의 ISO BMFF 파일 내의 'ftyp', 'moov', "moof", 및/또는 'mdat'은 각각 우선순위가 다를 수 있다. 따라서, 'ftyp', 'moov', "moof", 및/또는 'mdat'을 포함하는 패킷들은 동일한 TSI 및/또는 TOI를 갖지만, 각각의 우선순위가 다를 수 있다.
예를 들어, 'ftyp' 및 'moov'를 포함하는 패킷의 우선순위 정보는 '0'의 값을 가지고, 'moof'를 포함하는 패킷의 우선순위 정보는 '1'의 값을 가지고, 'I-프레임'을 포함하는 패킷의 우선순위 정보는 '1'의 값을 가지고, 'P-프레임'을 포함하는 패킷의 우선순위 정보는 '2'의 값을 가지고, 및/또는 'B-프레임'을 포함하는 패킷의 우선순위 정보는 '3'의 값을 가질 수 있다.
이와 같이, 방송 신호 송신 장치는 AVC(Advanced Video Coding)/HEVC(High Efficiency Video Coding) 등의 비디오 데이터를 포함하는 MPEG-DASH 세그먼트들을 전송할 경우, 'ftyp' 및 'moov'를 포함하는 패킷, 'moof'를 포함하는 패킷, 'I-Picture'를 포함하는 패킷, 'P-Picture'를 포함하는 패킷, 및/또는 'B-Picture'를 포함하는 패킷의 순서로 패킷 데이터의 처리를 위한 우선 순위를 부여할 수 있다.
또한, 네트워크 상의 중계기 및/또는 라우터 등의 중간 노드들은 우선순위 정보를 기초로 네트워크의 대역폭 및/또는 서비스의 목적에 따라 우선순위가 높은 패킷을 우선적으로 전송하고 우선순위가 낮은 패킷은 선택적으로 전송할 수 있다. 따라서, 우선순위 정보는 다양한 서비스 상황에 용이하게 적용될 수 있다.
또한, 방송 신호 수신 장치는 AVC/HEVC 등의 비디오 데이터를 수신하는 경우에, 'ftyp', 'moov', 'moof', 'I-Picture', 'P-Picture', 및/또는 'B-Picture'의 우선순위 정보를 기초로 우선순위가 높은 패킷(즉, 우선순위 정보의 값이 낮은 패킷)을 우선적으로 추출하고 우선순위가 낮은 패킷(즉, 우선순위 정보의 값이 높은 패킷)을 선택적으로 추출하여 하나의 시퀀스를 구성할 수 있다. 변형된 실시예로, 방송 신호 수신 장치는 선택적으로 프레임 레이트가 높은 시퀀스를 추출하거나 프레임 레이트가 낮은 시퀀스를 추출할 수 있다.
도 57는 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 심볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(EXT_TYPE)을 더 포함할 수 있다. 우선순위 정보(EXT_TYPE)는 LCT 헤더 확장을 이용하여 현재 패킷이 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다. LCT 헤더 확장을 이용하는 경우, LCT 헤더 확장을 지원하지 않는 방송 신호 수신 장치에서는 우선순위 정보(EXT_TYPE)를 스킵하면 되므로 확장성을 높일 수 있다. LCT 헤더 확장을 이용하는 우선순위 정보(EXT_TYPE)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
우선순위 정보(EXT_TYPE)는 헤더 확장 타입(HET) 필드, 우선순위 필드, 및/또는 예약 필드를 포함할 수 있다. 실시예에 따라서, 우선순위 정보(EXT_TYPE)는 우선순위 필드만을 지시할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 헤더 확장의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 헤더 확장의 타입을 식별할 수 있고, 이 경우 헤더 확장은 32 비트 고정 길이를 가질 수 있다.
우선순위 필드는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 또한, 우선순위 필드는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~255의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다.
예를 들어, 'ftyp' 및 'moov'를 포함하는 패킷의 우선순위 정보는 '0'의 값을 가지고, 'moof'를 포함하는 패킷의 우선순위 정보는 '1'의 값을 가지고, 'I-프레임'을 포함하는 패킷의 우선순위 정보는 '2'의 값을 가지고, 'P-프레임'을 포함하는 패킷의 우선순위 정보는 '3'의 값을 가지고, 및/또는 'B-프레임'을 포함하는 패킷의 우선순위 정보는 '4'의 값을 가질 수 있다.
예약 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 전술한 내용과 동일하므로 생략하기로 한다.
도 58은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 심볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 오프셋 정보를 더 포함할 수 있다. 오프셋 정보는 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. 오프셋 정보는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다. 오프셋 정보는 LCT 헤더 확장의 형식일 수도 있고, FEC 페이로드 ID 필드에 포함될 수도 있다.
일 실시예로, LCT 패킷이 LCT 헤더 확장의 형식으로 오프셋 정보(EXT_OFS)를 포함하는 경우를 설명한다.
LCT 헤더 확장을 이용하는 경우, LCT 헤더 확장을 지원하지 않는 수신기에서는 오프셋 정보(EXT_OFS)를 스킵하면 되므로 확장성을 높일 수 있다. LCT 헤더 확장을 이용하는 오프셋 정보(EXT_OFS)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오프셋 정보(EXT_OFS)는 헤더 확장 타입 필드(HET), 헤더 확장 길이 필드(HEL), 및 오프셋 시작 필드(Start Offset)를 포함할 수 있다. 실시예에 따라서, 오프셋 정보(EXT_OFS)는 오프셋 시작 필드(Start Offset) 만을 지시할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT 헤더 확장의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32 비트 워드 단위의 가변 길이 헤더 확장이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT 헤더 확장의 전체 길이를 32 비트 워드 단위로 나타낸다.
오프셋 시작 필드는 가변 길이일 수 있고, 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. 오프셋 시작 필드는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다.
LCT 패킷은 LCT 헤더 확장의 형식뿐만 아니라, FEC 페이로드 ID 필드에 오프셋 정보(Start Offset)를 포함할 수 있다. 이하에서는, LCT 패킷이 오프셋 정보가 FEC 페이로드 ID 필드에 포함되는 경우를 설명한다.
FEC 페이로드 ID 필드는 특정 패킷에 의해 전송되는 인코딩 심볼 및 FEC 인코딩 변환 간의 관계를 FEC 디코더에게 지시하는 정보를 포함한다. 예를 들어, 패킷이 소스 심볼을 전송하면, FEC 페이로드 ID 필드는 오브젝트의 어느 소스 심볼이 패킷에 의해 전송되는지를 나타낸다. 패킷이 리페어 심볼을 전송하면, FEC 페이로드 ID 필드는 리페어 심볼이 오브젝트로부터 어떻게 구성되는지를 나타낸다.
FEC 페이로드 ID 필드는 또한 패킷에 포함되는 것이 일부인 인코딩 심볼의 더 큰 그룹에 관한 정보를 포함할 수 있다. 예를 들어, FEC 페이로드 ID 필드는 심볼이 관련된 소스 블록에 관한 정보를 포함할 수 있다.
FEC 페이로드 ID는 소스 블록 번호(SBN) 및/또는 인코딩 심볼 ID(ESI)을 포함한다. SBN은 패킷 내의 인코딩 심볼이 관련된 소스 블록에 대한 넌-네가티브(non-negative) 정수 식별자이다. ESI는 패킷 내의 인코딩 심볼에 대한 넌-네가티브 정수 식별자이다.
본 발명의 다른 실시예에 따른 FEC 페이로드 ID 필드는 오프셋 정보(Start Offset)를 더 포함할 수 있다.
딜리버리 오브젝트의 옥텟으로 시작 어드레스를 특정한 FEC 페이로드 ID 필드가 사용된다. 이 정보는 몇 가지 방식으로 전송될 수 있다.
먼저, 사이즈 0으로 설정된 FEC 페이로드 ID 세트를 갖는 단순한 새로운 FEC 스킴. 이 경우, 패킷은 32 비트를 이용하여 다이렉트 어드레스(start offset)으로서 전체 오브젝트를 포함할 것이다.
두번째로, SBN 및 ESI가 심볼 사이즈(T)와 함께 오프셋 시작(start offset)을 정의하는 RFC 6330으로의 호환가능한 방식으로 RFC 5445에 정의된 콤팩트 노-코드(No-Code)를 이용하여 널리 배치된 기존의 FEC 스킴.
세번째로, LSID는 적절한 시그널링을 제공하여 @sourceFecPayloadID 속성 및 FECParameters 엘리먼트를 이용하여 상기 모드 중의 임의의 것을 시그널링한다.
이하에서는, 오프셋 정보의 구체적인 내용을 설명한다.
종래의 FLUTE 프로토콜에서는 오프셋 정보를 전송할 필요가 없었다. 종래의 FLUTE 프로토콜은 오브젝트(예를 들어, 파일)를 비실시간으로 전송하므로, 하나의 오브젝트를 고정 크기의 적어도 하나의 데이터로 분할하여 전송하였다.
예를 들어, 종래의 FLUTE 프로토콜에서는 하나의 오브젝트를 고정 크기의 적어도 하나의 소스 블록(Source Block)으로 분할하고, 각각의 소스 블록을 고정 크기의 적어도 하나의 심볼로 분할하고, 각각의 심볼에 헤더를 추가하여 LCT 패킷(또는 FLUTE 패킷)을 생성하였다. 종래의 FLUTE 프로토콜은 하나의 LCT 패킷은 하나의 고정 크기의 심볼만을 포함할 수 있었다.
각각의 소스 블록 및/또는 심볼이 고정 크기이므로, 수신기는 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트 내에서 각각의 소스 블록 및/또는 심볼의 위치를 인식할 수 있었다. 따라서, 수신기는 하나의 오브젝트를 구성하는 모든 소스 블록 및/또는 심볼을 수신한 후에, 수신한 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트를 재구성할 수 있었다.
종래의 FLUTE 프로토콜이 오브젝트를 비실시간으로 전송하는 것에 반하여, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜은 오브젝트를 가변적인 크기의 딜리버리 오브젝트(Delivery Object)로 분할하고, 딜리버리 오브젝트 단위로 실시간으로 전송할 수 있다. 예를 들어, ROUTE 프로토콜은 오브젝트를 가변적인 크기의 오브젝트 내부 구조체(Object Internal Structure) 단위로 데이터를 전송할 수도 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF 파일 또는 하나의 ISO BMFF 파일의 일부일 수 있다. 하나의 ISO BMFF 파일의 일부는 프래그먼트, GOP, 청크, 액세스 유닛, 및/또는 NAL 유닛을 포함할 수 있다. 하나의 ISO BMFF 파일의 일부는 전술한 오브젝트 내부 구조체를 의미할 수 있다. 오브젝트 내부 구조체는 독립적으로 의미 있는 데이터 단위이며, 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 LCT 패킷(ALC/LCT 패킷, 또는 ROUTE 패킷)은 적어도 하나의 인코딩 심볼을 포함할 수 있다. 즉, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜에서, 하나의 LCT 패킷에 복수의 인코딩 심볼을 포함할 수 있다. 또한, 각각의 인코딩 심볼은 가변적인 크기일 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 TSI는 각각의 트랙에 매칭될 수 있다. 예를 들어, 각각의 TSI는 비디오 트랙, 오디오 트랙, 및/또는 MPEG-DASH의 리프리젠테이션 중에서 하나에 매칭될 수 있다. 또한, 각각의 TOI는 각각의 딜리버리 오브젝트(Delivery Object)에 맵핑될 수 있다. 예를 들어, TOI가 MPEG-DASH의 세그먼트에 맵핑되는 경우, 딜리버리 오브젝트는 ISO BMFF 파일일 수 있다. 또한, 각각의 TOI는 프래그먼트, 청크(chunk), GOP, 액세스 유닛, 및/또는 NAL 유닛 중에서 하나에 맵핑될 수 있다.
수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트 내에서 어느 위치에 해당하는지를 인식할 수 없는 경우가 발생한다. 예를 들어, 수신기가 임의적인 순서로 LCT 패킷을 수신하는 경우, 수신기는 LCT 패킷을 순서대로 정렬할 수 없고, 딜리버리 오브젝트를 정확하게 복원 및/또는 파싱할 수 없는 경우가 발생한다.
따라서, 본 발명의 다른 실시예에 따른 오프셋 정보는 파일(예를 들어, 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 현재 전송 중인 패킷이 해당 파일의 처음 데이터를 가지고 있음을 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 해당 딜리버리 오브젝트 내에서 현재 전송 중인 패킷의 순서를 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 인식할 수 있을 뿐만 아니라, 현재 패킷이 전송하고 있는 딜리버리 오브젝트의 파일 내에서의 오프셋도 인식할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH 리프리젠테이션)에 매칭되고, TOI는 ISO BMFF 파일(예를 들어, 오브젝트)에 매칭될 수 있다. 이 경우, 딜리버리 오브젝트(Delivery Object)는 ISO BMFF 파일을 나타낼 수 있다. 하나의 비디오 트랙(MPEG-DASH 리프리젠테이션, TSI=1)은 제1 오브젝트(TSI=1, TOI=1) 및 제2 오브젝트(TSI=1, TOI=2)를 포함할 수 있다. 제1 오브젝트(TSI=1, TOI=1)는 순차적으로 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 패킷(TSI=1, TOI=1, Start Offset=200), 제3 패킷(TSI=1, TOI=1, Start Offset=400), 제4 패킷(TSI=1, TOI=1, Start Offset=800), 및/또는 제5 패킷(TSI=1, TOI=1, Start Offset=1000)을 포함할 수 있다.
이 경우, 오프셋 정보(Start Offset)의 값이 '0'이면, 해당 패킷의 패킷 페이로드는 해당 파일의 처음 데이터를 가지고 있을 수 있다. 제1 패킷의 오프셋 정보(Start Offset)의 값이 '0'이므로, 수신기는 제1 패킷의 패킷 페이로드는 제1 오브젝트의 처음 데이터를 가지고 있다고 인식할 수 있다.
또한, 오프셋 정보(Start Offset)의 값은 해당 오브젝트 내에서 패킷의 순서를 지시할 수 있다. 제1 오브젝트 내에서 제1 패킷의 오프셋 정보부터 제5 패킷의 오프셋 정보가 순차적으로 증가하므로, 수신기는 제1 오브젝트 내에서 제1 패킷 내지 제5 패킷이 순차적으로 배열된다는 것을 인식할 수 있다.
따라서, 수신기는 오프셋 정보를 기초로 각각의 오브젝트 내에서 수신한 LCT 패킷들을 순차적으로 정렬하고, 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
한편, 수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트(예를 들어, 파일) 내에서 어느 위치에 해당하는지 인식할 수 없는 경우가 발생한다. 예를 들어, LCT 패킷이 임의적인 순서로 전송되면, 수신기는 수신한 LCT 패킷의 오브젝트 내에서의 정확한 오프셋을 알 수 없으므로, LCT 패킷을 수집하여 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 없는 문제가 발생할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH 리프리젠테이션)에 매칭되고, TOI는 청크에 매칭될 수 있다. 이 경우, 하나의 비디오 트랙(MPEG-DASH 리프리젠테이션, TSI=1)은 제1 오브젝트(TSI=1) 및 제2 오브젝트(TSI=1)를 포함할 수 있다. 또한, 제1 오브젝트는 제1 청크(TSI=1, TOI=1), 제2 청크(TSI=1, TOI=2), 및/또는 제3 청크(TSI=1, TOI=3)를 포함하고, 제2 오브젝트는 제4 청크(TSI=1, TOI=4) 및/또는 제5 청크(TSI=1, TOI=5)를 포함할 수 있다.
수신기는 제1 청크를 포함하는 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 청크를 포함하는 제2 패킷(TSI=1, TOI=2, Start Offset=200), 제3 청크를 포함하는 제3 패킷(TSI=1, TOI=3, Start Offset=1000), 제4 청크를 포함하는 제4 패킷(TSI=1, TOI=4, Start Offset=0), 및/또는 제5 청크를 포함하는 제5 패킷(TSI=1, TOI=5, Start Offset=1000)을 수신할 수 있다. 여기에서는 하나의 패킷이 하나의 청크를 포함하는 것으로 설명하였지만, 하나의 청크가 적어도 하나의 패킷을 포함할 수 있다.
TOI가 오브젝트(예를 들어, 파일)에 매칭되는 것이 아니라 오브젝트 보다 작은 데이터 단위인 오브젝트 내부 구조체에 매칭되면, 수신기는 오브젝트를 식별할 수 있는 별도의 정보가 없는 한 오브젝트를 식별할 수 없다.
따라서, 수신기는 TSI 및 TOI 만으로는 수신한 제1 패킷, 2 패킷 및/또는 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 정확히 알 수 없다. 또한, 수신기는 TSI 및 TOI 만으로는 수신한 제4 패킷 및/또는 제5 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 알 수 없다.
즉, 수신기는 제1 패킷 내지 제5 패킷이 순차적으로 배열되는 것은 TSI 및 TOI 를 기초로 식별할 수 있지만, 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI 만으로는 식별할 수 없다. 또한, 제4 패킷이 제3 패킷의 다음 패킷이라는 것은 TSI 및 TOI를 기초로 식별할 수 있지만, 제4 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI만으로는 식별할 수 없다.
이 경우, 수신기는 제1 패킷, 제2 패킷, 및/또는 제3 패킷을 수신하더라도, 제1 오브젝트를 정확하게 복원할 수 없다. 또한, 수신기는 제4 패킷 및/또는 제5 패킷을 수신하더라도, 제2 오브젝트를 정확하게 복원할 수 없다. 그 결과, 수신기는 실시간으로 콘텐츠를 재생할 수 없게 된다.
따라서, 본 발명의 다른 실시예에 따른 LCT 패킷은 오프셋 정보(Start Offset)를 제공하는 것을 특징으로 한다. 오프셋 정보는 오브젝트 내에서 현재 전송 중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 동일한 오브젝트 내에 포함되는 오브젝트 내부 구조체 및/또는 패킷들을 식별할 수 있다.
오프셋 정보의 값이 '0'이면, 해당 패킷은 해당 오브젝트의 처음 패킷 임을 나타낸다. 즉, 제1 패킷 및 제4 패킷의 오프셋 정보는 '0'이므로, 제1 패킷 및 제4 패킷은 각각 다른 오브젝트에 속하고, 각각 해당 오브젝트의 맨 처음 패킷을 나타낸다. 또한, 수신기는 오프셋 정보뿐만 아니라 TSI 및/또는 TOI를 기초로 제1 패킷, 제2 패킷, 및/또는 제3 패킷은 제1 오브젝트에 속하고, 제4 패킷 및/또는 제5 패킷은 제2 오브젝트에 속한다는 것을 식별할 수 있다.
따라서, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 수신한 LCT 패킷이 각각의 오브젝트 내에서 어느 위치에 해당하는 지를 식별하고, 수신한 LCT 패킷을 순서대로 정렬할 수 있다. 예를 들어, 수신기는 오프셋 정보 및 TOI가 순차적으로 증가하도록 패킷들을 정렬할 수 있다.
그리고 나서, 수신기는 오프셋 정보가 '0'인 패킷부터 다음의 오프셋 정보가 '0'인 패킷의 이전 패킷을 하나의 오브젝트로 식별할 수 있다. 그리고, 수신기는 TOI를 기초로 하나의 오브젝트 내에서 딜리버리 오브젝트 및/또는 오브젝트 내부 구조체를 식별할 수 있다.
또한, 수신기는 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 복원할 수 있다.
또한, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
전술한 바와 같이, 송신기가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 실시간으로 전송할 수 있다. 따라서, 수신기는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 수신기는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 파일(또는 오브젝트) 기반의 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다.
도 59은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 심볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다. RAP 정보(P)는 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. RAP 정보(P)는 각 패킷의 시작 지점에서부터 12번째 또는 13번째 비트에 위치하는 한 개의 비트를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다 이 경우, 한 개의 bit를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
랜덤 엑세스 포인트(RAP)는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미한다. 예를 들어, 'I-프레임'은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. 따라서, 'I-프레임'은 이미지로부터 직접 코딩하여 생성되므로 인터 블록(inter block)들로만 구성되고 랜덤 엑세스 포인트(Random Access Point)으로서 역할을 할 수 있다.
수신기는 RAP 정보(P)를 기초로 전송중인 패킷 시퀀스(sequence)에서 랜덤 액세스가 가능한 패킷을 식별할 수 있다. 예를 들어, 수신한 패킷의 페이로드가 'I-프레임'에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하고 있다고 지시할 수 있다. 또한, 수신한 패킷의 페이로드가 'B-프레임' 및/또는 'P-프레임'에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하지 않는다고 지시할 수 있다.
수신기가 특정 시점부터 GOP 데이터를 순차적으로 수신할 때, 처음의 패킷이 'I-프레임'과 같은 RAP에 해당하면 수신기는 해당 패킷부터 디코딩을 시작할 수 있다. 하지만, 처음의 패킷이 'B-프레임' 및/또는 'P-프레임'과 같은 RAP에 해당하지 않으면 수신기는 해당 패킷부터 디코딩을 시작할 수 없다. 이 경우, 수신기는 RAP가 아닌 패킷들은 스킵하고, 다음에 오는 'I-프레임'과 같은 RAP에 해당하는 패킷부터 디코딩을 할 수 있다.
따라서, 방송 환경에서의 채널 튜닝 또는 사용자의 요청에 의한 시퀀스 내의 임의 지점 접근 상황에 있어서, 수신기는 RAP 정보(P)를 기초로 RAP에 해당하지 않는 패킷은 스킵하고 RAP에 해당하는 패킷부터 디코딩하므로, 패킷의 수신 및 디코딩 효율을 높일 수 있다.
도 60은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 심볼 인코딩 필드를 포함할 수 있다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
RAP 정보(P)는 각 패킷의 시작 지점에서부터 6번째 또는 7번째 비트에 위치하는 한 개의 비트를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. 이 경우, 한 개의 비트를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
본 발명의 다른 실시예에 따른 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 비트를 활용하여 RAP 정보(P)를 포함하므로, 패킷 헤더의 12번째 또는 13번째 비트에 위치하는 비트는 다른 용도로 활용할 수 있다.
예를 들어, 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 비트를 활용하여 RAP 정보(P)를 포함하고, 패킷 헤더의 12번째 및/또는 13번째 비트에 위치하는 비트를 활용하여 전술한 오브젝트 타입 정보, 및/또는 전술한 우선순위 정보를 포함할 수 있다.
도 61은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, 및/또는 FEC 페이로드 ID 필드를 포함할 수 있다.
또한, 패킷 페이로드는 심볼 인코딩 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
송신기는 FDT(File Delivery Table) 레벨 및/또는 딜리버리 오브젝트 레벨에서 정의되는 실시간 정보(T)를 통해서 LCT 패킷이 전송하고 있는 오브젝트 및/또는 오브젝트 내부 구조체가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 딜리버리 오브젝트 레벨은 오브젝트 레벨, 및/또는 오브젝트 내부 구조체 레벨를 포함할 수 있다.
실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, LSID는 실시간 정보(T)를 포함할 수 있다. 또한, 실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 오브젝트들이 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 여기에서, 해당 FDT에서 서술하는 모든 오브젝트들은 해당 LCT 전송 세션에 속하는 모든 오브젝트들을 나타낼 수 있다.
또한, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, 딜리버리 오브젝트가 오브젝트에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 또한, 딜리버리 오브젝트가 오브젝트 내부 구조체에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트 내부 구조체에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
일 실시예로, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 패킷 헤더는 실시간(Real Time) 정보(T)를 더 포함할 수 있다. 실시간 정보(T)는 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간(Real Time)으로 전송되는지 비실시간(Non Real Time)으로 전송되는지 여부를 지시할 수 있다.
예를 들어, 딜리버리 오브젝트는 TOI에 매칭되는 데이터 단위일 수 있다. 또한, 실시간 정보(T)의 값이 '0' 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 비실시간으로 전송된다고 지시할 수 있고, 실시간 정보(T)의 값이 '1' 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 실시간으로 전송된다고 지시할 수 있다.
실시간 정보(T)는 TOI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
전술한 바와 같이, TOI 필드를 OGI 필드 및 DTOI 필드로 분할한 경우, 실시간 정보(T)는 OGI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
실시간 정보(T)는 TOI 필드 및/또는 OGI 필드의 첫 번째 비트에 포함되므로, 송신기는 하나의 LCT 전송 세션(예를 들어, 비디오 트랙, 오디오 트랙, MPEG-DASH의 Representation) 내에서 실시간 데이터 및 비실시간 데이터를 함께 전송할 수 있다. 예를 들어, 송신기는 하나의 LCT 전송 세션 내에서 오디오 데이터 및/또는 비디오 데이터를 실시간으로 전송할 수 있고, 이미지 및/또는 애플리케이션 등을 비실시간으로 전송할 수 있다. 또한, 송신기는 하나의 LCT 전송 세션 내에서 일부 딜리버리 오브젝트들은 실시간으로 전송하고, 나머지 딜리버리 오브젝트들은 비실시간으로 전송할 수 있다.
또한, 실시간 정보(T)는 기존의 TOI 필드의 첫 번째 비트에 포함되므로, 본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 ALC/LCT 및/또는 FLUTE 프로토콜과의 역호환성을 보장할 수 있다.
도 62은 본 발명의 다른 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 딜리버리 오브젝트 생성기(C51300), 시그널링 인코더(C51100), 및/또는 송신기(C31500)를 포함할 수 있다.
딜리버리 오브젝트 생성기는 파일을 파일의 일부(a part of the file)에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)로 분할할 수 있다.
시그널링 인코더(Signaling Encoder)는 딜리버리 오브젝트에 대한 메타데이터를 포함하는 시그널링 정보를 인코딩할 수 있다.
시그널링 정보는 적어도 하나의 딜리버리 오브젝트가 적어도 하나의 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함할 수 있다.
트랜스미터(transmitter)는 적어도 하나의 딜리버리 오브젝트 및 시그널링 정보를 전송할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 전술한 방송 신호 송신 장치의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용으로 대체하거나, 다음 도면에서 구체적으로 설명하기로 한다.
도 63은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 방송 신호를 수신할 수 있다. 방송 신호는 시그널링 데이터, ESG 데이터, NRT 콘텐츠 데이터 및/또는 RT 콘텐츠 데이터를 포함할 수 있다.
방송 신호 수신 장치는 ROUTE 세션 기술을 기초로 ROUTE 세션에 참가(join)할 수 있다. ROUTE 세션 기술은 방송 신호 송신 장치의 IP 어드레스, ROUTE 세션의 주소 및 포트 번호, 해당 세션이 ROUTE 세션이며, 모든 패킷은 LCT 패킷 임을 지시하는 정보를 포함할 수 있다. 또한, ROUTE 세션 기술은 해당 세션을 IP/UDP를 이용하여 참가(join) 및 소비(consume)하는데 필요한 정보를 더 포함할 수 있다.
그리고 나서, 방송 신호 수신 장치는 ROUTE 세션에 포함된 적어도 하나의 LCT 전송 세션에 대한 정보를 포함하고 있는 LCT LSID(Session Instance Description)을 수신할 수 있다.
그리고 나서, 방송 신호 수신 장치는 적어도 하나의 LCT 전송 세션에 포함된 멀티미디어 콘텐츠를 수신할 수 있다. 멀티미디어 콘텐츠는 적어도 하나의 파일로 구성될 수 있다. 그리고, 방송 신호 수신 장치는 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 파일 기반의 멀티미디어 콘텐츠를 실시간으로 수신할 수 있다.
이를 위하여, 본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 시그널링 디코더(시그널링 디코더, C52100), 딜리버리 오브젝트 프로세서(Delivery Object Processor, C52300), 및/또는 디코더(Decoder, C52500)를 포함할 수 있다.
시그널링 디코더(C52100)는 파일의 일부(a part of a file)에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)에 대한 메타데이터를 포함하는 시그널링 정보를 디코딩할 수 있다.
시그널링 정보는 적어도 하나의 딜리버리 오브젝트가 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함할 수 있다. 시그널링 정보는 LSID 뿐만 아니라, LCT 패킷의 확장된 헤더에도 포함될 수 있다.
실시간 정보는 FDT(File Delivery Table)에서 정의되고, 실시간 정보는 FDT에서 서술하는 모든 딜리버리 오브젝트가 실시간으로 전송되는지 여부를 지시할 수 있다. 또한, 실시간 정보는 상기 딜리버리 오브젝트를 식별하는 TOI(Transport Object Identifier) 필드의 첫 번째 비트로 정의되고, 실시간 정보는 해당 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 여부를 지시할 수 있다.
딜리버리 오브젝트 프로세서(C52300)는 상기 적어도 하나의 LCT 패킷을 수집하고, 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다. 딜리버리 오브젝트 프로세서(C52300)는 전술한 송신 블록 재생성기(C22030), 프래그먼트 재생성기(C22040), 프래그먼트 파서(C22050), 및/또는 추출기(C32050)의 기능을 포함할 수 있다.
디코더(C52500)는 적어도 하나의 딜리버리 오브젝트를 디코딩할 수 있다. 디코더(C52500)는 딜리버리 오브젝트에 대한 정보를 적어도 하나의 액세스 유닛의 형태로 전달받고, 적어도 하나의 액세스 유닛을 디코딩하여 미디어 데이터를 생성할 수 있다. 디코더(C52500)는 파일의 일부에 해당하는 딜리버리 오브젝트를 수신하면, 하나의 파일을 전부 수신하지 않더라도 딜리버리 오브젝트를 디코딩할 수 있다.
시그널링 정보는 파일 내에서 LCT 패킷이 전송하고 있는 데이터의 오프셋을 지시하는 오프셋 정보를 더 포함할 수 있다. 딜리버리 오브젝트 프로세서(C52300)는 오프셋 정보를 기초로 딜리버리 오브젝트를 식별할 수 있다. 오프셋 정보는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다. 오프셋 정보는 LCT 헤더 확장의 형식일 수도 있고, FEC 페이로드 ID 필드에 포함될 수도 있다.
방송 신호 수신 장치가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 방송 신호 수신 장치는 수신한 LCT 패킷이 오브젝트 내에서 어느 위치에 해당하는지를 인식할 수 없는 경우가 발생한다. 예를 들어, 방송 신호 수신 장치가 임의적인 순서로 LCT 패킷을 수신하는 경우, 방송 신호 수신 장치는 LCT 패킷을 순서대로 정렬할 수 없고, 딜리버리 오브젝트를 정확하게 복원 및/또는 파싱할 수 없는 경우가 발생한다.
따라서, 본 발명의 다른 실시예에 따른 오프셋 정보는 파일(예를 들어, 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋을 지시할 수 있다. 방송 신호 수신 장치는 오프셋 정보를 기초로 현재 전송 중인 LCT 패킷이 해당 파일의 처음 데이터를 가지고 있음을 인식할 수 있다. 또한, 방송 신호 수신 장치는 오프셋 정보를 기초로 해당 파일 및/또는 딜리버리 오브젝트 내에서 현재 전송 중인 LCT 패킷의 순서를 인식할 수 있다.
또한, 방송 신호 수신 장치는 오프셋 정보를 기초로 현재 LCT 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 인식할 수 있을 뿐만 아니라, 현재 LCT 패킷이 전송하고 있는 딜리버리 오브젝트의 파일 내에서의 오프셋도 인식할 수 있다.
TOI가 오브젝트(예를 들어, 파일)에 매칭되는 것이 아니라 오브젝트 보다 작은 데이터 단위인 오브젝트 내부 구조체에 매칭되면, 방송 신호 수신 장치는 오브젝트를 식별할 수 있는 별도의 정보가 없는 한 오브젝트를 식별할 수 없다.
따라서, 방송 신호 수신 장치는 오프셋 정보를 기초로 동일한 오브젝트 내에 포함되는 오브젝트 내부 구조체 및/또는 LCT 패킷들을 식별할 수 있다.
시그널링 정보는 LCT 패킷이 랜덤 액세스 포인트(Random Access Point, RAP)에 해당하는 데이터를 포함하고 있는지 여부를 지시하는 RAP 정보를 더 포함할 수 있다. 랜덤 엑세스 포인트는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미한다.
딜리버리 오브젝트 프로세서(C52300)는 RAP 정보를 기초로 랜덤 액세스 포인트에 해당하는 데이터를 전송하는 패킷부터 적어도 하나의 패킷을 수집할 수 있다.
예를 들어, 방송 신호 수신 장치는 특정 시점부터 GOP 데이터를 순차적으로 수신할 때, 처음의 패킷이 'I-프레임'과 같은 RAP에 해당하면 방송 신호 수신 장치는 해당 LCT 패킷부터 디코딩을 시작할 수 있다. 하지만, 처음의 LCT 패킷이 'B-프레임' 및/또는 'P-프레임'과 같은 RAP에 해당하지 않으면 수신기는 해당 LCT 패킷부터 디코딩을 시작할 수 없다. 이 경우, 방송 신호 수신 장치는 RAP가 아닌 LCT 패킷들은 스킵하고, 다음에 오는 'I-프레임'과 같은 RAP에 해당하는 LCT 패킷부터 디코딩을 할 수 있다.
시그널링 정보는 LCT 패킷이 전송하고 있는 데이터의 우선순위를 지시하는 우선순위 정보(Priority information)를 더 포함할 수 있다.
딜리버리 오브젝트 프로세서(C52300)는 우선순위 정보를 기초로 LCT 패킷을 선택적으로 수집할 수 있다.
방송 신호 수신 장치는 AVC/HEVC 등의 비디오 데이터를 수신하는 경우에, 'ftyp', 'moov', 'moof', 'I-Picture', 'P-Picture', 및/또는 'B-Picture'의 우선순위 정보를 기초로 우선순위가 높은 LCT 패킷을 우선적으로 추출하고 우선순위가 낮은 LCT 패킷을 선택적으로 추출하여 하나의 시퀀스를 구성할 수 있다.
도 64은 본 발명의 실시예에 따른 차세대 방송 시스템을 위한 프로토콜 스택을 나타내는 도면이다.
본 발명에 따른 방송 시스템은 IP(Internet Protocol) 중심 방송 네트워크 및 브로드밴드가 결합된 하이브리드 방송 시스템에 대응할 수 있다.
본 발명에 따른 방송 시스템은 종래의 MPEG-2 기반 방송 시스템과의 호환성을 유지하도록 설계될 수 있다.
본 발명에 따른 방송 시스템은 IP 중심 방송 네트워크, 브로드밴드 네트워크 및/또는 모바일 통신 네트워크(또는 셀룰러 네트워크)의 결합에 기초한 하이브리드 방송 시스템에 대응할 수 있다.
도면을 참조하면, 물리층은 ATSC 시스템 및/또는 DVB 시스템 등의 방송 시스템에서 채택된 물리 프로토콜을 이용할 수 있다. 예를 들어, 본 발명에 따른 물리층에서, 송신기/수신기는 지상파 방송 신호를 송수신하고 방송 데이터를 포함하는 전송 프레임을 적절한 형태로 변환할 수 있다.
캡슐화층에서, IP 데이터그램이 물리층으로부터 획득된 정보로부터 획득되거나 획득된 IP 데이터그램이 특정 프레임(예를 들어, RS 프레임, GSE-lite, GSE 또는 신호 프레임)으로 변환된다. 프레임은 IP 데이터그램의 세트를 포함할 수 있다. 예를 들어, 캡슐화층에서, 송신기가 전송 프레임 내의 물리층으로부터 처리된 데이터를 포함하거나 수신기가 물리층으로부터 획득된 전송 프레임으로부터 MPEG-2 TS 및 IP 데이터그램을 추출한다.
FIC(fast information channel)는 서비스 및/또는 콘텐츠를 액세스하는데 필요한 정보(예를 들어, 서비스 ID 및 프레임 간의 맵핑 정보)를 포함한다. FIC는 FAC(fast access channel)이라 할 수 있다.
본 발명에 따른 방송 시스템은 인터넷 프로토콜(IP), 사용자 데이터그램 프로토콜(UDP), 송신 제어 프로토콜(TCP), 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) 등의 프로토콜을 이용할 수 있다. 이들 프로토콜 간의 스택은 도면에 도시된 구조를 참조할 수 있다.
본 발명에 따른 방송 시스템에서, 데이터는 ISO 기반 미디어 파일 포맷(ISOBMFF)의 형태로 전송될 수 있다. ESG(Electrical Service Guide), NRT(Non Real Time), A/V(Audio/Video) 및/또는 일반 데이터가 ISOBMFF의 형태로 전송될 수 있다.
방송 네트워크를 통한 데이터의 전송은 선형 콘텐츠의 전송 및/또는 비선형 콘텐츠의 전송을 포함할 수 있다.
RTP/RTCP 기반 A/V 및 데이터(자막, 긴급 경보 메시지 등)의 전송은 선형 콘텐츠의 전송에 대응할 수 있다.
RTP 페이로드는 NAL(Network Abstraction Layer)를 포함하는 RTP/AV 스트림의 형태 및/또는 ISO 기반 미디어 파일 포맷으로 캡슐화된 형태로 전송될 수 있다. RTP 페이로드의 전송은 선형 콘텐츠의 전송에 대응할 수 있다. ISO 기반 미디어 파일 포맷으로 캡슐화된 형태의 전송은 A/V에 대한 MPEG DASH 미디어 세그먼트 등을 포함할 수 있다.
FLUTE 기반 ESG의 전송, 넌-타임드(non-timed) 데이터의 전송, NRT 콘텐츠의 전송은 비선형 콘텐츠의 전송에 대응할 수 있다. 이들은 MIME 타입 파일 형태 및/또는 ISO 기반 미디어 파일 포맷으로 캡슐화된 형태로 전송될 수 있다. ISO 기반 미디어 파일 포맷으로 캡슐화된 형태의 전송은 A/V에 대한 MPEG DASH 미디어 세그먼트 등을 포함할 수 있다.
브로드밴드 네트워크를 통한 전송은 콘텐츠의 전송 및 시그널링 데이터의 전송으로 분할될 수 있다.
콘텐츠의 전송은 선형 콘텐츠(A/V 및 데이터(자막, 긴급 경보 메시지 등), 비선형 콘텐츠(ESG, 넌-타임드 데이터 등)의 전송 및 MPEG DASH 기반 미디어 세그먼트(A/V 및 데이터)의 전송을 포함한다.
시그널링 데이터의 전송은 방송 네트워크를 통해 전송된 시그널링 테이블을 포함하는(MPEG DASH의 MPD를 포함하는)전송일 수 있다.
본 발명에 따른 방송 시스템에서, 방송 네트워크를 통해 전송되는 선형/비선형 콘텐츠 간의 동기화 또는 방송 네트워크를 통해 전송되는 콘텐츠 및 브로드밴드를 통해 전송된 콘텐츠 간의 동기화가 지원될 수 있다. 예를 들어, 하나의 UD 콘텐츠가 개별적으로 및 동시에 방송 네트워크 및 브로드밴드를 통해 전송되는 경우에, 수신기는 전송 프로토콜에 따라 타임라인을 조절하고 방송 네트워크를 통한 콘텐츠 및 브로드밴드를 통한 콘텐츠를 동기화하여 하나의 UD 콘텐츠로서 콘텐츠를 재구성할 수 있다.
본 발명에 따른 방송 시스템의 애플리케이션층은 쌍방향성(interactivity), 개인화(personalization), 제2 스크린 및 자동 콘텐츠 인식(ACR; automatic content recognition) 등의 기술적 특성을 실현할 수 있다. 이들 특성은 ATSC 2.0로부터 ATSC 3.0까지의 확장에서 중요하다. 예를 들어, HTML5는 쌍방향성의 특성에 사용될 수 있다.
본 발명에 따른 방송 시스템의 프리젠테이션층에서, HTML 및/또는 HTML5는 컴포넌트 또는 인터랙티브 애플리케이션 간의 공간 및 시간적 관계를 식별하는데 사용될 수 있다.
본 발명에서, 시그널링은 콘텐츠 및/또는 서비스의 효과적인 획득을 지원하기 위하여 필요한 시그널링 정보를 포함한다. 시그널링 데이터는 바이너리 또는 XML gudxofh 표현될 수 있다. 시그널링 데이터는 지상파 방송 네트워크 또는 브로드밴드를 통해 송신될 수 있다.
실시간 방송 A/V 콘텐츠 및/또는 데이터가 ISO 베이스 미디어 파일 포맷 등으로 표현될 수 있다. 이 경우, A/V 콘텐츠 및/또는 데이터는 실시간으로 지상파 방송 네트워크를 통해 송신될 수 있고 비실시간으로 IP/UDP/FLUTE에 기초하여 송신될 수 있다. 대안으로, 방송 A/V 콘텐츠 및/또는 데이터는 실시간으로 인터넷을 통해 DASH(Dynamic Adaptive Streaming over HTTP)를 이용하여 스트리밍 모드로 콘텐츠를 수신하거나 요청함으로써 수신될 수 있다. 본 발명의 실시예에 따른 방송 시스템에서, 수신된 방송 A/V 콘텐츠 및/또는 데이터는 결합되어 인터랙티브 서비스 및 제2 스크린 서비스 등의 다양한 향상된 서비스를 시청자에게 제공할 수 있다.
송신기의 물리층(Broadcast PHY 및 Broadband PHY)은 도 1에 도시된 구조를 실시예로 할 수 있다. 또한, 수신기의 물리층은 도 9에 도시된 구조를 실시예로 할 수 있다.
시그널링 데이터 및 IP/UDP 데이터그램은 물리층에 전달되는 전송 프레임(또는 프레임)의 특정 데이터 파이프(이하 DP)를 통하여 전송될 수 있다. 예를 들어, 입력 포맷 블록(1000)은 시그널링 데이터 및 IP/UDP 데이터그램을 수신하고, 각각의 시그널링 데이터 및 IP/UDP 데이터그램을 적어도 하나의 DP 로 역다중화 할 수 있다. 출력 프로세서(9300)는 입력 포맷 블록(1000)과 상반된 동작을 수행할 수 있다.
도 65은 본 발명의 일 실시예에 따른, 차세대 방송 시스템의 수신기를 나타낸 도면이다.
본 발명의 일 실시예에 따른 수신기는, 수신부 (미도시), 채널 동기화기 (Channel Synchronizer; J32010), 채널 등화기 (Channel Equalizer; J32020), 채널 디코더 (Channel Decoder; J32030), 시그널링 디코더 (Signaling Decoder; J32040), 베이스밴드 동작 컨트롤러 (Baseband Operation Controller; J32050), 서비스 맵 데이터베이스 (Service Map DB; J32060), 전송 패킷 인터페이스 (Transport Packet Interface; J32070), 브로드밴드 패킷 인터페이스 (Broadband Packet Interface; J32080), 커먼 프로토콜 스택 처리기 (Common Protocol Stack; J32090), 서비스 시그널링 채널 프로세싱 버퍼 및 파서 (Service Signaling Channel Processing Buffer & Parser; J32100), A/V 프로세서 (A/V Processor; J32110), 서비스 가이드 프로세서 (Service Guide Processor; J32120), 어플리케이션 프로세서 (Application Processor; J32130) 및/또는 서비스 가이드 데이터베이스 (Service Guide DB; J32140)를 포함할 수 있다.
수신부 (미도시)는 방송 신호를 수신한다.
채널 동기화기 (Channel Synchronizer; J32010)는 베이스밴드 (Baseband)에서 수신한 신호의 디코딩이 가능하도록 심볼 (symbol) 주파수와 타이밍 (timing)을 동기화한다. 여기서 베이스밴드는 방송 신호가 송/수신되는 영역을 가리킨다.
채널 등화기 (Channel Equalizer; J32020)는 수신된 신호에 대하여 채널 등화를 수행한다. 채널 등화기 (Channel Equalizer; J32020)는 수신된 신호가 다중 경로 (multipath), 도플러 효과 (Doppler effect) 등으로 인해 왜곡되었을 때 이를 보상하는 역할을 수행한다.
채널 디코더 (Channel Decoder; J32030)는 수신된 신호를 의미를 가지는 전송 프레임 (transport frame)으로 복구한다. 채널 디코더 (Channel Decoder; J32030)는 수신한 신호에 포함된 데이터 또는 전송 프레임에 대하여 순방향 오류 정정 (forward error correction; FEC)를 수행한다.
시그널링 디코더 (Signaling Decoder; J32040)는 수신된 신호에 포함된 시그널링 데이터를 추출하고 디코딩한다. 여기서, 시그널링 데이터는 후술할 시그널링 데이터 및/또는 서비스 정보 (Service Information; SI)를 포함한다.
베이스밴드 동작 컨트롤러 (Baseband Operation Controller; J32050)는 베이스밴드 (Baseband) 에서의 신호의 처리를 제어한다.
서비스 맵 데이터베이스 (Service Map DB; J32060)는 시그널링 데이터 및/또는 서비스 정보를 저장한다. 서비스 맵 데이터베이스 (Service Map DB; J32060)는 방송 신호에 포함되어 전송된 시그널링 데이터 및/또는 브로드밴드 패킷에 포함되어 전송된 시그널링 데이터를 저장할 수 있다.
전송 패킷 인터페이스 (Transport Packet Interface; J32070)는 전송 프레임 또는 방송 신호로부터, 전송 패킷을 추출한다. 전송 패킷 인터페이스 (Transport Packet Interface; J32070)는 전송 패킷 (transport packet)으로부터 시그널링 데이터 또는 IP 데이터그램 (IP datagram)을 추출한다.
브로드밴드 패킷 인터페이스 (Broadband Packet Interface; J32080)는 인터넷 망을 통하여 방송관련 패킷을 수신한다. 브로드밴드 패킷 인터페이스 (Broadband Packet Interface; J32080)는 인터넷 망을 통해 획득된 패킷 (Packet)을 추출하고, 해당 패킷으로부터 시그널링 데이터 또는 A/V 데이터를 조합 또는 추출한다.
커먼 프로토콜 스택 처리기 (Common Protocol Stack; J32090)는 수신한 패킷을 프로토콜 스택에 포함된 프로토콜에 따라 처리한다. 예를 들면, 커먼 프로토콜 스택 처리기 (Common Protocol Stack; J32090)는 전술한 프로토콜 스택에 따라, 수신한 패킷을 처리할 수 있다.
서비스 시그널링 채널 프로세싱 버퍼 및 파서 (Service Signaling Channel Processing Buffer & Parser; J32100)는 수신된 패킷에 포함된 시그널링 데이터를 추출한다. 서비스 시그널링 채널 프로세싱 버퍼 및 파서 (Service Signaling Channel Processing Buffer & Parser; J32100)는 IP 데이터 그램 등으로부터 서비스 및/또는 컨텐츠의 스캔 및/또는 획득과 관련된 시그널링 정보 추출하고, 이를 파싱한다. 수신된 패킷 내에서 시그널링 데이터는 일정한 위치 또는 채널에 존재할 수 있다. 이러한 위치 또는 채널을 서비스 시그널링 채널이라고 명명할 수 있다. 예를 들면, 서비스 시그널링 채널은 특정 IP주소, UDP Port 넘버, 전송 세션 식별자 등를 가질 수 있다. 수신기는 이러한 특정 IP주소, UDP Port 넘버, 전송 세션 등으로 전송되는 데이터를 시그널링 데이터로 인식할 수 있다.
A/V 프로세서 (A/V Processor; J32110)는 수신된 오디오 및 비디오 데이터에 대한 디코딩 및 프리젠테이션 (presentation) 처리를 수행한다.
서비스 가이드 프로세서 (Service Guide Processor; J32120)는 수신 신호로부터 어나운스먼트 (announcement) 정보를 추출하고, 서비스 가이드 데이터베이스 (Service Guide DB; J32140)를 관리하며, 서비스 가이드(service guide)를 제공한다.
어플리케이션 프로세서 (Application Processor; J32130)는 수신한 패킷에 포함된 어플리케이션 (application) 데이터 및/또는 어플리케이션 관련 정보를 추출하고, 이를 처리한다.
서비스 가이드 데이터베이스 (Service Guide DB; J32140)는 서비스 가이드 데이터를 저장한다.
도 66는 본 발명의 실시예에 따른 방송 수신기를 나타내는 도면이다.
본 발명의 실시예에 따른 방송 수신기는 서비스/콘텐츠 획득 컨트롤러(J2010), 인터넷 인터페이스(J2020), 브로드캐스트 인터페이스(J2030), 시그널링 디코더(J2040), 서비스 맵 데이터베이스(J2050), 디코더(J2060), 타겟팅 프로세서(J2070), 프로세서(J2080), 관리부(J2090), 및/또는 재분배 모듈(J2100)을 포함한다. 도면에는, 방송 수신기 밖 및/또는 내에 위치하는 외부 관리 장치(J2110)가 도시된다.
서비스/콘텐츠 획득 컨트롤러(J2010)는 브로드캐스트/브로드밴드 채널을 통해 그와 관련된 서비스 및/또는 콘텐츠 및 시그널링 데이터를 수신한다. 대안으로, 서비스/콘텐츠 획득 컨트롤러(J2010)는 서비스 및/또는 콘텐츠 및 그와 관련된 시그널링 데이터를 수신하기 위한 제어를 수행할 수 있다.
인터넷 인터페이스(J2020)는 인터넷 액세스 제어 모듈을 포함할 수 있다. 인터넷 액세스 제어 모듈은 브로드밴드 채널을 통해 서비스, 콘텐츠 및/또는 시그널링 데이터를 수신한다. 대안으로, 인터넷 액세스 제어 모듈은 서비스, 콘텐츠 및/또는 시그널링 데이터를 획득하기 위한 수신기의 동작을 제어할 수 있다.
브로드캐스트 인터페이스(J2030)는 물리층 모듈 및/또는 물리층 I/F 모듈을 포함할 수 있다. 물리층 모듈은 브로드캐스트 채널을 통해 브로드캐스트 관련 신호를 수신한다. 물리층 모듈은 브로드캐스트 채널을 통해 수신된 브로드캐스트 관련 신호를 처리(복조, 디코딩, 등)한다. 물리층 I/F 모듈은 물리층 모듈로부터 획득한 정보로부터 IP 데이터그램을 획득하거나 획득된 IP 데이터그램을 이용하여 특정 프레임(예를 들어, 브로드캐스트 프레임, RS 프레임 또는 GSE)으로의 변환을 수행한다.
시그널링 디코더(J2040)는 브로드캐스트 채널 등을 통해 획득된 시그널링 데이터 또는 시그널링 정보(이하, "시그널링 데이터"라 함)를 디코딩한다.
서비스 맵 데이터베이스(J2050)는 수신기의 다른 장치(예를 들어, 시그널링 파서)에 의해 처리된 시그널링 데이터 또는 디코딩된 시그널링 데이터를 저장한다.
디코더(J2060)는 수신기에 의해 수신된 브로드캐스트 신호 또는 데이터를 디코딩한다. 디코더(J2060)는 스케줄링된 스트리밍 디코더, 파일 디코더, 파일 데이터베이스(DB), 주문형 스트리밍 디코더, 컴포넌트 동기화기, 경보 시그널링 파서, 타겟팅 시그널링 파서, 서비스 시그널링 파서 및/또는 애플리케이션 시그널링 파서를 포함할 수 있다.
스케줄링된 스트리밍 디코더는 IP 데이터그램 등으로부터 실시간 오디오/비디오(A/V)에 대한 오디오/비디오 데이터를 추출하고 추출된 오디오/비디오 데이터를 디코딩한다.
파일 디코더는 IP 데이터그램으로부터 NRT 데이터 및 애플리케이션 등의 파일 타입 데이터를 추출하고 추출된 파일 타입 데이터를 디코딩한다.
파일 DB는 파일 디코더에 의해 추출된 데이터를 저장한다.
주문형 스트리밍 디코더는 IP 데이터그램으로부터 주문형 스트리밍에 대한 오디오/비디오 데이터 등을 추출하고 추출된 오디오/비디오 데이터를 디코딩한다.
컴포넌트 동기화기는 스케줄링된 스트리밍 디코더, 파일 디코더 및/또는 주문형 스트리밍 디코더에 의해 디코딩된 데이터에 기초하여 콘텐츠를 구성하는 엘리먼트 간 또는 서비스를 구성하는 엘리먼트 간 동기화를 수행하여 콘텐츠 또는 서비스를 구성한다.
경보 시그널링 파서는 IP 데이터그램 등으로부터의 경보와 관련된 시그널링 정보를 추출하고 추출된 시그널링 정보를 파싱한다.
타겟팅 시그널링 파서는 IP 데이터그램으로부터 서비스/콘텐츠 개인화 또는 타겟팅과 관련된 시그널링 정보를 추출하고 추출된 시그널링 정보를 파싱한다. 타겟팅(targeting)은 특정 시청자의 조건을 만족하는 콘텐츠 또는 서비스를 제공하는 액션이다. 즉, 타겟팅은 특정 시청자의 조건을 만족하는 콘텐츠 또는 서비스를 식별하고 식별된 콘텐츠 또는 서비스를 시청자에게 제공하는 액션이다.
서비스 시그널링 파서는 IP 데이터그램 등으로부터 서비스/콘텐츠 및/또는 서비스 스캔과 관련된 시그널링 정보를 추출하고 추출된 시그널링 정보를 파싱한다. 서비스/콘텐츠와 관련된 시그널링 정보는 방송 시스템 정보 및/또는 방송 시그널링 정보를 포함한다.
애플리케이션 시그널링 파서는 IP 데이터그램 등으로부터의 애플리케이션의 획득과 관련된 시그널링 정보를 추출하고 추출된 시그널링 정보를 파싱한다. 애플리케이션의 획득과 관련된 시그널링 정보는 트리거, TDO 파라미터 테이블(TPT) 및/또는 TDO 파라미터 엘리먼트를 포함할 수 있다.
타겟팅 프로세서(J2070)는 타겟팅 시그널링 파서에 의해 파싱된 서비스/콘텐츠 타겟팅과 관련된 정보를 처리한다.
프로세서(J2080)는 수신된 데이터를 디스플레이하는 일련의 프로세스를 수행한다.
프로세서(J2080)는 경보 프로세서, 애플리케이션 프로세서 및/또는 A/V 프로세서를 포함할 수 잇다.
경보 프로세서는 경보와 관련된 시그널링 정보를 통해 경보 데이터를 획득하도록 수신기를 제어하고 경보 데이터를 디스플레이하는 프로세스를 수행한다.
애플리케이션 프로세서는 애플리케이션과 관련된 정보를 처리하고 그 애플리케이션과 관련된 디스플레이 파라미터 및 다운로드된 애플리케이션의 상태를 처리한다.
A/V 프로세서는 디코딩된 오디오 데이터, 비디오 데이터 및/또는 애플리케이션 데이터에 기초하여 오디오/비디오 렌더링에 관련된 동작을 수행한다.
관리부(J2090)는 장치 매니저 및/또는 데이터 공유 및 통신 유닛을 포함한다.
장치 매니저는, 접속 및 데이터 교환을 포함하여, 인터로크(interlocked)될 수 있는 외부 장치의 추가/삭제/갱신 등의 외부 장치에 대한 관리를 수행한다.
데이터 공유 및 통신 유닛은 수신기 및 외부 장치(예를 들어, 동반자 장치) 간의 데이터 전송 및 교환과 관련된 정보를 처리하고 그와 관련된 동작을 수행한다. 전송가능 및 교환가능한 데이터는 시그널링 데이터, PDI 테이블, PDI 사용자 데이터, PDI Q&A, 및/또는 A/V 데이터일 수 있다.
재분배 모듈(J2100)은 수신기가 직접 브로드캐스트 신호를 수신할 수 없는 경우 서비스/콘텐츠 및/또는 서비스/콘텐츠 데이터와 관련된 정보의 획득을 수행한다.
외부 관리 장치(J2110)는 브로드캐스트 서비스/콘텐츠를 제공하는 방송 수신기 밖에 위치하는 브로드캐스트 서비스/콘텐츠 서버 등의 모듈이다. 외부 관리 장치로서 기능하는 모듈은 방송 수신기에 제공될 수 있다.
도 67은 본 발명의 일 실시예에 따른, 방송망의 전송 스트림과 인터넷망 (이종망) 의 전송 스트림 사이의 동기화를 위한 타임라인 컴포넌트(Timeline component)를 나타낸 도면이다.
전술한 방송 시스템의 수신기에서 방송망과 인터넷망과 같은, 이종망을 통해 전송되는 스트림들이 하나의 서비스를 위해 동기화되어 사용될 수 있는 가능성이 존재한다. 예를 들면, 도시된 바와 같이, 방송망을 통해 비디오 스트림이 전송되고, 인터넷 망을 통해 오디오 스트림이 전송되는 경우, 두 스트림은 하나의 서비스를 위해 동기화되어 복호화되고, 재생되어야 한다. 즉, 하나의 서비스를 이용하기 위하여, 방송망에서 비디오를 얻어오고, 인터넷망에서 오디오를 얻어와야 한다. 예를 들면, 동일한 컨텐츠에 대하여, 방송망에서 제공하는 언어와 다른 언어로 제작된 오디오로 시청하고 싶은 시청자는, 자신이 원하는 언어로 제작된, 해당 컨텐츠의 오디오를 인터넷망으로 전송받아 사용할 수 있다.
그러나, 두 스트림은 서로 다른 타임라인을 가지므로 두 타임라인 간의 맵핑(mapping)을 할 수 있는 메커니즘이 필요하다. 여기서 타임라인은 각 전송망을 통하여 전송되는 데이터 또는 컨텐츠가 재생 또는 복호되는 기준이 되는, 절대적 또는 상대적 시간을 나타낼 수 있다. 즉, 방송망을 통하여 전송되는 비디오가 나타내는 내용과, 인터넷망을 통하여 전송되는 오디오가 나타내는 내용이, 서비스 내에서 일치하여야 한다.
본 발명의 일 실시예에서는, 방송망과 인터넷망 등의 이종망을 통해 전송되는 스트림 간의 동기화를 위해 타임라인 컴포넌트 (timeline component)를 이용하는 방법 및 장치를 제안한다. 타임라인 컴포넌트 스트림은 하나 이상의 타임라인 컴포넌트 AU(access unit) 을 포함할 수 있다. 타임라인 컴포넌트 AU들은 타임라인 컴포넌트 내에서, 연속되어 존재할 수 있다.
타임라인 컴포넌트 AU은 방송망으로 전송되는 스트림의 타임라인에 인터넷 망을 통해 전송되는 스트림의 타임라인을 맵핑하는 예를 보여준다. 방송망을 통해 전송되는 패킷의 헤더에, 방송망을 통해 전달되는 스트림의 타임라인에 대한 정보가 포함되어 있는 경우, 방송망을 통해서 전송될 수 있는 타임라인 컴포넌트 AU는, 이종망 (예를 들면, 인터넷 망) 을 통해 전송되는 스트림의 DTS(Decoding Time Stamp), PTS(Presentation Time Stamp) 등의 타임스탬프 정보 등을 포함할 수 있다. 이러한 이종망 (예를 들면, 인터넷 망)을 통해 전송되는 스트림의 타임라인에 대한 정보가 타임라인 컴포넌트 AU에 포함되는 경우, 이종망 (예를 들면, 인터넷 망)을 통해 전송되는 스트림의 타임라인에 대한 정보는 방송망을 통하여 전송되는 스트림과 동일한 패킷 구조로 패킷화할 수 있다. 이를 통해 패킷 헤더에 포함되는 방송망 전송 스트림의 타임스탬프와 인터넷망을 통해 전달되는 스트림의 타임스탬프가 일대일로 맵핑될 수 있으며 두 스트림 모두를 하나의 타임라인에서 동기화하여, 복호화, 재생될 수 있다. 전술한 타임스탬프 정보는 외부망(예를 들면, 이종망, 인터넷 망 등)을 통해 전송되는 스트림의 타임라인을 구성하기 위한 타임라인 레퍼런스 값을 의미할 수도 있다.
프리젠테이션 타임스탬프(PTS)는 시청자에게 제시될 때 프로그램의 개별 엘리멘터리 스트림(예를 들어, 비디오, 오디오, 서브타이틀)의 동기화를 달성하는데 사용되는 MPEG 전송 스트림, MPEG 프로그램 스트림 또는 유사한 데이터 스트림 내의 타임스탬프 메타데이터 필드이다. PTS는 프로그램의 전체 클록 레퍼런스, 프로그램 클록 레퍼런스(PCR) 또는 시스템 클록 레퍼런스(SCR)에 관련된 단위로 주어지고, 이는 또한 전송 스트림 또는 프로그램 스트림으로 송신된다.
디코드 타임 스탬프(DTS)는 액세스 유닛이 수신기 버퍼로부터 순간적으로 제거되고 디코딩되어야 하는 시간을 나타낸다. 이것은 픽쳐 렌더링이 B 픽쳐에 사용되는 경우에만 프리젠테이션 타임 스탬프(PTS)와 다르다. DTS가 이용되면, PTS는 비트 스트림에서 제공될 수 있다.
전술한 내용은, 하나의 망을 통해 전송되는 스트림들이 서로 다른 타임라인을 사용하는 경우에도 역시 적용할 수 있다. 예를 들어, 전술한 방법을 사용하면, 복수의 이종망을 통하여 전송되는 스트림을 모아서, 시청자에게 제공하는 중계 서비스 사업자는, 서로 다른 스트림들에 대한 동기화를 위한 재처리를 직접 할 필요가 없다.
도 68는 본 발명의 일 실시예에 따른 타임라인 컴포넌트 AU 의 신택스(Syntax)를 나타낸 도면이다.
타임라인 컴포넌트 AU는 XML 등 다른 형태의 포맷으로 표현되어질 수도 있다.
타임라인 컴포넌트 AU는 식별자 정보, 버전 정보, AU_length 정보, location_flag 정보, PTS_flag 정보, DTS_flag 정보, media_time_flag 정보, NTP_time_flag 정보, PTP_time_flag 정보, timecode_flag 정보, PCR_time_flag 정보, location_length 정보, 위치 정보 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의 구조를 고유하게 나타내는 식별자이다.
버전 정보는 하위 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 타임코드 형식의 타임스탬프를 포함하고 있는지 여부를 나타낸다.
PCR_time_flag 정보는 MPEG-2 TS의 PCR 기반 타임스탬프를 포함하고 있는지 여부를 나타낸다.
location_length 정보는 위치 필드의 길이를 나타낸다.
위치 정보는 이종망으로 전송되는 스트림의 URL, 또는 고유 ID를 나타낸다. 위치 정보가 고유 ID를 나타내는 경우, 시그널링 데이터 등의 정보와 연동하여 사용될 수 있다.
타임스케일 정보는 미디어 타임스케일을 나타낸다. 타임스케일 정보는 다른 정보가 나타내는 시간의 단위를 식별하는 정보이다.
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를 나타낸다.
timecode_PTS 정보는 SMPTE 타임 코드 형식으로 표현된 PTS를 나타낸다.
timecode_DTS 정보는 SMPTE 타임 코드 형식으로 표현된 DTS를 나타낸다.
PCR_time_PTS 정보는 PCR 형식으로 표현된 PTS를 나타낸다.
PCR_time_DTS 정보는 PCR 형식으로 표현된 DTS를 나타낸다.
본 발명의 일 실시예에 따르면, 수신기는 위치 정보에 의하여 식별되는 외부망의 스트림에, 타임라인 컴포넌트 AU에 포함되는 하나 이상의 타임스탬프 정보를 적용하여, 방송망으로 전송되는 스트림과, 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다.
도 69는 본 발명의 다른 실시예에 따른, 타임라인 컴포넌트 AU 의 신택스 (Syntax)를 나타낸 도면이다.
타임라인 컴포넌트 AU는 XML 등 다른 형태의 포맷으로 표현되어질 수도 있다.
타임라인 컴포넌트 AU는 식별자 정보, 버전 정보, AU_length 정보, location_flag 정보, PTS_flag 정보, DTS_flag 정보, timestamp_version_flag 정보, timestamp_type 정보, location_length 정보, 위치 정보, timescale 정보, media_time_PTS 정보, media_time_DTS 정보, timestamp_type_PTS 정보, 및/또는 timestamp_to_DTS 정보(또는 timestamp_type_DTS 정보)를 포함할 수 있다.
전술한 타임라인 컴포넌트 AU 의 신택스 (Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체한다.
timestamp_version_flag 정보는 맵핑하고자 하는 타임라인의 타임스탬프 형식을 나타낸다. 예를 들면, timestamp_version_flag 정보의 값이 0인 경우 32비트 형식을, 1인 경우 향후 64비트 형식을 사용함을 나타낼 수 있다.
timestamp_type 정보는 맵핑하고자 하는 타임라인의 타임스탬프의 타입을 나타낸다. 예를 들면, timestamp_type 정보의 값이, 0x00 인 경우, 미디어 타임임을 나타내고, 0x01 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x02 인 경우, PTP 임을 나타내고, 0x03 인 경우, 타임코드 임을 나타내고, 0x04-0x1F 인 경우, 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
타임스케일 정보는 맵핑하고자 하는 타임라인의 미디어 타임 표현하는 타임스케일을 나타낼 수 있다. 예를 들어 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 (Network Time Protocol) 을 나타내는 경우 timestamp_type_PTS 필드 값은 NTP 기반 재생 시점에 대한 타임스탬프 값을 가질 수 있다.
timestamp_type_DTS 정보는 맵핑하고자 하는 타임라인의 타임스탬프 타입에 따른 디코딩 타임스탬프즉, 디코딩하는 시점을 나타낼 수 있다. timestamp_type_DTS 정보는, timestamp_version_flag 값이 0인 경우 32비트 형식으로, 해당 값이 1인 경우 64비트로 나타내어 질 수 있다. 예를 들어 timestamp_type 필드의 값이 NTP (Network Time Protocol) 을 나타내는 경우 timestamp_type_PTS 필드 값은 NTP 기반 디코딩 시점에 대한 타임스탬프 값을 가질 수 있다.
도 70은 본 발명의 일 실시예에 따른, 방송망 전송 패킷의 타임스탬프가 없는 경우에 타임라인 컴포넌트를 이용한 방송망을 통하여 전송되는 스트림과, 이종망 (예를 들면 인터넷망) 을 통하여 전송되는 스트림간의 동기화 방법을 나타낸 도면이다.
전술한 타임라인 컴포넌트를 이용한 이종망을 통하여 전송되는 전송 스트림간 타임라인 공유를 통한 동기화 방법에서, 타임라인 공유는 방송망의 전송 스트림의 패킷 헤더의 타임스탬프와, 패킷 페이로드의 타임라인 컴포넌트 AU에 포함되는 인터넷망 전송 스트림의 타임스탬프의 일대일 맵핑함으로써 이루어질 수 있다.
그러나, 방송망 전송 패킷의 헤더에 타임스탬프 관련 정보가 존재하지 않는 경우가 있을 수 있다.
도면과 같이, 전송 패킷의 헤더에 타임스탬프와 관련된 정보가 존재하지 않는 경우, 타임라인에서의 근원(origin) 타임스탬프에 대한 추가 정보가 필요하다. 방송망과 인터넷 망의 타임라인 공유는 근원 타임스탬프와 전술한 인터넷망 전송 스트림의 타임스탬프를 일대일 맵핑함으로써 이루어질 수 있다.
근원 타임스탬프와 이종망 (예를 들면, 인터넷망)의 전송 스트림의 타임스탬프 관련 정보는 타임라인 컴포넌트 AU에 포함될 수 있다.
근원 타임스탬프는 기준이 되는 타임라인 상의 타임스탬프로 정의될 수 있다. 예를 들면, 전술한 실시예에서, 방송망을 통하여 전송되는 스트림에 대한 타임스탬프가 근원 타임스탬프로 정의될 수 있다.
근원 타임스탬프는 내부망(예를 들어, 방송망)을 통해 전송되는 스트림의 타임라인을 구성하기 위한 타임라인 레퍼런스 값을 의미할 수도 있다.
*도 71은 본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스(Syntax)를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU 의 신택스 (Syntax)는 전술한 타임라인 컴포넌트 AU의 신택스 (Syntax)에, 근원 타임스탬프와 관련된 정보를 추가로 포함할 수 있다.
타임라인 컴포넌트 AU는 식별자 정보, 버전 정보, 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 의 신택스 (Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체한다.
origin_PTS_flag 정보는 타임라인 컴포넌트 AU가 origin_PTS 값을 포함하고 있는지 여부를 나타낸다.
origin_DTS_flag 정보는 타임라인 컴포넌트 AU가 근원 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에 포함되는 이종망에 대한 타임스탬프 관련 정보를 이용하여, 방송망의 전송 스트림과 이종망의 전송 스트림 간의 동기를 맞출 수 있다.
도 72은 본 발명의 다른 실시예에 따른 타임라인 컴포넌트 AU의 신택스 (Syntax)를 나타낸 도면이다.
타임라인 컴포넌트 AU는 방송망 혹은 인터넷망에서 전송되는 미디어 스트림에 관련된 추가의 메타데이터들을 포함할 수 있다. 이러한 메타데이터 중 미디어 스트림과 관련 타임라인에 대한 메타데이터를 포함하는 타임라인 컴포넌트 AU가 도면에 도시되어 있다.
타임라인 컴포넌트 AU는 XML 등 다른 형태의 포맷으로 표현되어질 수도 있다.
타임라인 컴포넌트 AU는 식별자 정보, AU_length 정보, location_flag 정보, origin_timestamp_flag 정보, timestamp_version 정보, timestamp_type 정보, timestamp_format 정보, location_length 정보, 위치 정보, 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 정보, 타임스탬프 정보, 및/또는 data_bytes() 정보를 포함할 수 있다.
전술한 타임라인 컴포넌트 AU 의 신택스(Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체한다.
식별자 정보는 타임라인과 관련된 메타데이터임을 나타내는 식별자, 혹은 타임라인 컴포넌트 액세스 유닛(AU) 구조를 포함하고 있음을 나타내는 식별자일 수 있다.
AU_length 정보는 타임라인 컴포넌트 AU 가 포함하는 정보의 길이를 나타낼 수 있다.
location_flag 정보는 타임라인 컴포넌트 AU가 포함하는 정보와 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 위치 정보를 포함하고 있는지 여부를 나타낼 수 있다.
origin_timestamp_flag 정보는 근원 타임스탬프와 관련된 정보를 포함하는지 여부를 나타낼 수 있다.
timestamp_version 정보는 타임라인 컴포넌트 AU가 포함하는 타임스탬프의 버전 정보를 나타낼 수 있다.
*timestamp_type 정보는 타임라인 컴포넌트 AU가 포함하는 타임스탬프의 타입을 나타낼 수 있다. 예를 들면, timestamp_type 정보의 값이 0x00 일 경우, 연관된 서비스/콘텐츠 컴포넌트의 액세스 유닛 등 데이터 (예를 들어, 오디오 액세스 유닛)의 디코딩 시점을 나타내는 디코딩 타임스탬프(DTS)를 나타낼 수 있으며, timestamp_type 정보의 값이 0x01의 경우, 연관된 서비스/콘텐츠 컴포넌트 등의 액세스 유닛 등 데이터(예를 들어 audio 액세스 유닛)의 재생 시점을 나타내는 프리젠테이션 타임스탬프(PTS)를 나타낼 수 있다.
timestamp_format 정보는 타임라인 컴포넌트 AU가 포함하는 타임스탬프의 포맷을 나타낼 수 있다. 예를 들면, timestamp_format 정보의 값이 0x00인 경우, 미디어 타임임을 나타내고, 0x01 인 경우, NTP (Network Time Protocol) 임을 나타내고, 0x02인 경우, PTP임을 나타내고, 0x03인 경우, timecode임을 나타낼 수 있고, 추후 확장을 위하여 0x04 -0x0F 의 값을 예약할 수 있다.
location_length 정보는 위치 필드에 대한 길이를 나타낼 수 있다.
위치 정보는 타임라인 컴포넌트 AU가 포함하는 정보와 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 위치 정보를 나타낼 수 있다. 위치 정보는 IP 주소/포트넘버, 혹은 URI 등의 형태로 나타낼 수 있다.
origin_timestamp_version 정보는 타임라인 맵핑의 기준이 될 수 있는 베이스 타임라인에 대한 타임스탬프 포맷의 버전을 나타낼 수 있다. 해당 필드 값이 0인 경우 32비트 포맷의 형식을, 1인 경우 64비트 포맷의 형식을 사용하고 있음을 나타낼 수 있다. 예를 들어, 비디오 스트림이 방송망을 통해서 전달되고 오디오 스트림이 인터넷 망을 통해서 전송되는 경우, 비디오 스트림에 오디오 스트림의 타임라인 맵핑 하는 경우 기준이 되는 베이스 타임라인은 방송망으로 전달되는 비디오 스트림의 타임스탬프가 될 수 있다. 이러한 경우 origin_timestamp_version은 방송망으로 전송되는 비디오 스트림의 대한 타임스탬프형식을 나타낼 수 있다.
origin_timestamp_type 정보는 타임라인 맵핑의 기준이 될 수 있는 베이스 타임라인에 대한 타임스탬프의 타입을 나타낼 수 있다. 예를 들면, origin_timestamp_type 정보의 값이 0x00 일 경우 베이스 타임라인과 연관된 서비스/콘텐츠 컴포넌트 등의 액세스 유닛 등 데이터(예를 들어 오디오 액세스 유닛)의 디코딩 시점을 나타내는 디코딩 타임스탬프(DTS)를 나타낼 수 있으며, origin_timestamp_type 정보의 값이 0x01의 경우 베이스 타임라인과 연관된 서비스/콘텐츠 컴포넌트 등의 액세스 유닛 등 데이터(예를 들어 오디오 액세스 유닛)의 재생 시점을 나타내는 프리젠테이션 타임스탬프(PTS)를 나타낼 수 있다.
origin_timestamp_format 정보는 타임라인 맵핑의 기준이 될 수 있는 베이스 타임라인에 대한 타임스탬프의 포맷을 나타낼 수 있다. 예를 들면, origin_timestamp_format 정보의 값이 0x00 인 경우, 미디어 타임임을 나타내고, 0x01 인 경우, NTP(Network Time Protocol) 임을 나타내고, 0x02 인 경우, PTP임을 나타내고, 0x03 인 경우, timecode임을 나타낼 수 있고, 0x04-0x0F의 값은 추후의 확장을 위하여 예약할 수 있다.
origin_location_flag 정보는 타임라인 맵핑의 기준이 될 수 있는 베이스 타임라인과 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 위치 정보를 포함하고 있는지 여부를 나타낼 수 있다.
origin_location_length 정보는 origin_location 필드에 대한 길이를 나타낼 수 있다.
origin_location 정보는 타임라인 맵핑의 기준이 될 수 있는 베이스 타임라인과 연관된 서비스 및 콘텐츠 컴포넌트 등에 대한 위치 정보를 나타낼 수 있다. origin_location 정보는 IP 주소/포트넘버, 혹은 URI 등의 형태로 나타낼 수 있다.
origin_timescale 정보는 타임라인 맵핑의 기준이 되는 베이스 타임라인의 미디어 타임 표현 시 사용할 수 있는 타임스케일을 나타낼 수 있다. 예를 들면. MPEG-2 TS의 경우 타임스케일은 90K 값을 가질 수 있다.
origin_media_time 정보는 타임라인 맵핑의 기준이 되는 베이스 타임라인상에서 미디어 타임을 나타낼 수 있다. origin_timestamp_type에 따라 해당하는 미디어 타임의 의미하는 내용이 다를 수 있다. 예를 들어, origin_timestamp_type이 PTS 일 경우, origin_media_time 정보는 재생 시점에 대한 미디어 타임을 나타낼 수 있으며, origin_timestamp_type 이 DTS 일 경우, origin_media_time 정보는 디코딩 시점에 대한 media time 을 나타낼 수 있다. origin_media_time 정보는, origin_timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
origin_timestamp 정보는 타임라인 맵핑의 기준이 되는 베이스 타임라인상에서 origin_timestamp_format 의 필드 값에 따라 서로 다른 포맷의 타임스탬프를 나타낼 수 있으며, origin_timestamp_type 에 따라 origin_timestamp 정보에 해당하는 타임스탬프의 의미가 다를 수 있다. 예를 들어, origin_timestamp_type이 DTS를 나타내며 origin_timestamp_format 의 값이 '0x01'의 경우, origin_timestamp 정보의 해당 타임스탬프는 NTP로 표현된 디코딩 시점을 나타낼 수 있다. origin_timestamp 정보는, origin_timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
private_data_length 정보는 뒤따르는 private_data_bytes 의 바이트 단위의 길이를 나타낼 수 있다.
private_data_bytes() 정보는 private_data_length 길이만큼 privately 정의하거나 추후 확장 내용을 포함 할 수 있는 영역을 나타낸다.
타임스케일 정보는 미디어 타임 표현 시 사용할 수 있는 타임스케일을 나타낼 수 있다.
media_time 정보는 미디어 타임을 나타낼 수 있다. timestamp_type 에 따라 media_time 정보에 해당하는 미디어 타임의 의미하는 내용이 다를 수 있다. 예를 들어, timestamp_type 이 PTS 일 경우, media_time 정보는 재생 시점에 대한 미디어 타임을 나타낼 수 있다. media_time 정보는, timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
타임스탬프 정보는 timestamp_format 의 필드 값에 따라 서로 다른 포맷의 타임스탬프를 나타낼 수 있으며, timestamp_type 에 따라, 타임스탬프 정보에 해당하는 타임스탬프의 의미가 다를 수 있다. 예를 들어, timestamp_type 이 DTS를 나타내며, timestamp_format 의 값이 '0x01'의 경우, 타임스탬프 정보에 해당하는 타임스탬프는 NTP로 표현된 디코딩 시점을 나타낼 수 있다. 타임스탬프 정보는, timestamp_version 값이 0인 경우 32비트로, 해당 필드 값이 1인 경우 64비트로 나타내어 질 수 있다.
data_bytes() 정보는 추후 확장 내용을 포함 할 수 있도록 하는 필드들 또는 영역을 나타낸다.
도 73는 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 시그널링 정보를 이용하여 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림간의 동기화 방법을 나타낸 도면이다.
전술한 바와 같이, 방송망을 통해 비디오 스트림이 전송되고 인터넷망을 통해 오디오 스트림이 전송되는 경우, 두 스트림은 하나의 서비스를 위해 동기화되어 복호화 및/또는 재생되어야 한다. 하지만, 두 스트림은 서로 다른 타임라인을 가지므로 두 타임라인간의 맵핑(mapping)을 할 수 있는 매커니즘이 필요하다.
본 발명의 다른 실시예는 타임라인 레퍼런스 시그널링 정보를 이용하여 방송망과 인터넷망 등의 이종망을 통해 전송되는 적어도 하나의 스트림을 동기화할 수 있다. 즉, 전술한 방송 시스템의 수신기에서 방송망과 인터넷망 등의 이종망을 통해 전송되는 스트림들이 하나의 서비스를 위해 동기화되어 사용될 수 있다.
본 발명의 다른 실시예에 따른 송신기는 타임라인 레퍼런스 시그널링 정보를 이용하여 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림을 동기화시킬 수 있는 정보를 전송할 수 있다. 이를 위하여, 본 발명의 다른 실시예에 따른 송신기는 시그널링 인코더(미도시, signaling encoder), 방송망 인터페이스(미도시, broadcast network interface), 및/또는 이종망 인터페이스(미도시, heterogeneity network interface)를 포함할 수 있다.
시그널링 인코더는 적어도 하나의 망을 통하여 전송되는 스트림을 동기화하기 위한 메타데이터를 포함하는 타임라인 레퍼런스 시그널링 정보를 인코딩한다.
*시그널링 인코더는 방송 콘텐트의 제1 부분(예를 들어, 비디오 정보) 및 타임라인 레퍼런스 시그널링 정보를 포함하는 방송 스트림(broadcast stream)을 인코딩하는 제1 인코더 및 방송 콘텐트의 제2 부분(예를 들어, 오디오 정보)를 포함하는 이종 스트림(heterogeneity stream)을 인코딩하는 제2 인코더를 포함할 수 있다.
타임라인 레퍼런스 시그널링 정보는 방송 스트림 및 이종 스트림 중에서 적어도 하나의 타임라인(timeline)을 구성하는(constituting) 적어도 하나의 타임라인 레퍼런스 정보를 포함할 수 있다.
방송망 인터페이스는 인코딩된 방송 스트림을 방송망을 통하여 전송할 수 있다.
이종망 인터페이스는 인코딩된 이종 스트림을 이종망을 통하여 전송할 수 있다.
또한, 본 발명의 다른 실시예에 따른 수신기는 타임라인 레퍼런스 시그널링 정보를 이용하여 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림을 동기화시킬 수 있다. 이를 위하여, 본 발명의 다른 실시예에 따른 수신기는 방송망 인터페이스(미도시, broadcast network interface), 이종망 인터페이스(미도시, heterogeneity network interface), 및/또는 프로세서(미도시, processor)를 포함할 수 있다.
방송망 인터페이스는 방송망을 통하여 방송 콘텐트의 제1 부분(예를 들어, 비디오 정보)을 포함하는 방송 스트림을 수신할 수 있다. 방송망 인터페이스는 전술한 브로드캐스트 인터페이스(J2030) 및/또는 전송 패킷 인터페이스 (Transport Packet Interface; J32070)를 포함할 수 있다.
이종망 인터페이스 이종망을 통하여 방송 콘텐트의 제2 부분(예를 들어, 오디오 정보)을 포함하는 이종 스트림을 수신할 수 있다. 이종망 인터페이스는 전술한 인터넷 인터페이스(J2020) 및/또는 브로드밴드 패킷 인터페이스 (Broadband Packet Interface; J32080)를 포함할 수 있다.
방송 스트림은 적어도 하나의 망(network)을 통하여 전송되는 스트림을 동기화하기 위한 메타데이터를 포함하는 타임라인 레퍼런스 시그널링 정보를 포함할 수 있다. 타임라인 레퍼런스 시그널링 정보는 방송 스트림 및 이종 스트림 중에서 적어도 하나의 타임라인(timeline)을 구성하는(constituting) 적어도 하나의 타임라인 레퍼런스 정보를 포함할 수 있다.
프로세서는 타임라인 레퍼런스 시그널링 정보를 기초로 방송 스트림 및 이종 스트림을 사용하여 방송 콘텐트를 형성(configuring)할 수 있다. 프로세서는 전술한 processor(J2080) 및/또는 A/V 프로세서 (A/V Processor; J32110)를 포함할 수 있다.
본 발명의 다른 실시예에 따른 방송 스트림은 패킷 헤더 및/또는 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 방송 스트림을 위한 타임스탬프들을 포함할 수 있다. 패킷 페이로드는 타임라인 레퍼런스 시그널링 정보를 포함할 수 있다. 다만, 이에 한정되지 않고, 타임라인 레퍼런스 시그널링 정보는 패킷 헤더에도 포함될 수 있다.
타임라인 레퍼런스 시그널링 정보가 패킷 페이로드에 포함되어 전송되는 경우, 타임라인 레퍼런스 시그널링 정보는 타임라인 레퍼런스 정보 AU(access unit)에 포함될 수 있다. 타임라인 컴포넌트 AU는 타임라인 레퍼런스 정보 AU를 포함할 수 있다. 다만 이에 한정되지 않고, 타임라인 레퍼런스 정보 AU는 타임라인 컴포넌트 AU와 독립적으로 존재할 수도 있다.
타임라인 레퍼런스 시그널링 정보가 패킷 헤더에 포함되어 전송되는 경우, 타임라인 레퍼런스 시그널링 정보는 확장된 헤더 확장에 포함될 수 있다.
방송망을 통해서 전송되는 타임라인 컴포넌트 AU 및/또는 타임라인 레퍼런스 정보 AU는 내부망인 방송망을 통해 전송되는 스트림의 타임라인을 구성하는 내부 타임라인 레퍼런스 정보 및/또는 외부망인 이종망(예를 들어, 인터넷망)을 통해 전송되는 스트림의 타임라인을 내부망과 맵핑할 수 있는 외부 타임라인 레퍼런스 정보를 포함할 수 있다.
전술한 타임스탬프는 DTS 및/또는 PTS와 같이 디코딩을 시작하는 시간 및/또는 프리젠테이션을 시작하는 시간을 의미한다. 따라서, 전술한 타임스탬프는 디코딩 타임 및 프리젠테이션 타임과 같이 특정한 이벤트가 일어나는 시점만을 지시한다.
다만, 본 발명의 다른 실시예에 따른 타임라인 레퍼런스 정보는 내부망 및/또는 외부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다. 이때, 레퍼런스 클록 값은 미디어 스트림의 타임라인을 구성하는 시점을 나타내는 시각 정보를 의미한다. 여기서, 타임라인을 구성하는 시점은 방송 시스템 내에서 미리 정해진 시점에 해당할 수 있다. 예를 들어, 레퍼런스 클록 값은 DTS, PTS 등의 타임스탬프(timestamp) 정보 및/또는 벽시계(wall clock) 등을 포함할 수 있다. 다만, 레퍼런스 클록 값은 DTS 및/또는 PTS에 한정되지 않는다.
또한, 타임라인 레퍼런스 정보 AU는 방송망 전송 스트림과 동일한 패킷 구조로 패킷화될 수 있다.
본 발명의 다른 실시예에 따르면, 수신기는 타임라인 레퍼런스 정보 AU를 기초로 방송망과 이종망(예를 들어, 인터넷망)을 통해 전송되는 두 스트림을 하나의 타임라인에서 동기화하여 복호화 및/또는 재생할 수 있다. 예를 들어, 수신기 및/또는 프로세서는 타임스탬프 및/또는 타임라인 레퍼런스 시그널링 정보를 기초로 방송 스트림과 이종 스트림을 사용하여 방송 콘텐트를 구성할 수 있다. 수신기 및/또는 프로세서는 내부 타임라인 레퍼런스 정보와 외부 타임라인 레퍼런스 정보를 기초로 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림을 맵핑할 수 있다. 외부 타임라인 레퍼런스 정보가 DTS 및/또는 PTS 등의 타임스탬프 정보를 포함하는 경우에는, 수신기 및/또는 프로세서는 외부 타임라인 레퍼런스 정보와 내부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 타임스탬프 정보를 기초로 방송망을 통하여 전송되는 스트림과 이종망을 통하여 전송되는 스트림을 맵핑할 수 있다.
전술한 내용은, 하나의 망을 통해 전송되는 스트림들이 서로 다른 타임라인을 사용하는 경우에도 역시 적용할 수 있다. 예를 들어, 이종 스트림이 방송 스트림에 해당하는 경우, 이종 스트림의 타임라인은 방송 스트림의 타임라인과 다를 수 있다.
*전술한 방법을 사용하면, 복수의 이종망을 통하여 전송되는 스트림을 모아서 시청자에게 제공하는 중계 서비스 사업자는 서로 다른 스트림들에 대한 동기화를 위한 재처리를 직접 할 필요가 없다.
도 74은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 AU의 신택스 (Syntax)를 나타낸 도면이다.
타임라인 레퍼런스 정보 AU는 XML 등 다른 형태의 포맷으로 표현될 수도 있다. 타임라인 레퍼런스 정보 AU는 RPT, ALC/LCT 등 다양한 미디어 전송 프로토콜에 적용될 수 있으며, 프로토콜에 적합한 서비스 시그널링 정보와 연동되어 사용될 수 있다.
서비스 시그널링 정보는 해당 스트림이 내부망 또는 외부망의 타임라인 레퍼런스를 전송하고 있음을 나타내는 정보, 타임라인 레퍼런스 정보 AU에 포함되는 외부 미디어 URL 정보, 각종 필드의 포함 여부에 대한 플래그 정보, 및/또는 타임스케일 정보 등 각 패킷에 공통으로 적용 가능한 정보들이 포함할 수 있다.
구체적으로, 타임라인 레퍼런스 정보 AU는 AU_identifier 정보, AU_length 정보, external_media_URL_flag 정보, internal_timeline_reference_flag 정보, external_timeline_reference_flag 정보, external_media_URL_length 정보, external_media_URL 정보, internal_timeline_reference_format 정보, internal_timeline_reference_timescale_flag 정보, internal_timeline_reference_length 정보, internal_timeline_reference_timescale 정보, internal_timeline_reference 정보, external_timeline_reference_format 정보, external_timeline_reference_timescale_flag 정보, external_timeline_reference_length 정보, external_timeline_reference_timescale 정보, 및/또는 external_timeline_reference 정보를 포함할 수 있다. 타임라인 레퍼런스 정보 AU가 포함하는 정보를 타임라인 레퍼런스 시그널링 정보이라고 부를 수 있다.
전술한 타임라인 컴포넌트 AU의 신택스(Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체할 수 있다.
AU_identifier 정보는 타임라인 레퍼런스 정보 AU의 구조를 고유하게 나타내는 식별자이다.
AU_length 정보는 타임라인 레퍼런스 정보 AU의 길이를 나타낸다.
external_media_URL_flag 정보는 타임라인 레퍼런스 정보 AU가 외부 망(예를 들어, 인터넷 망)을 통해 전송되는 스트림의 URL 정보를 포함하고 있는지 여부를 나타낸다.
internal_timeline_reference_flag 정보는 타임라인 레퍼런스 정보 AU가 내부 타임라인 레퍼런스 정보를 포함하고 있는지 여부를 나타낸다.
external_timeline_reference_flag 정보는 타임라인 레퍼런스 정보 AU가 외부 타임라인 레퍼런스 정보를 포함하고 있는지 여부를 나타낸다.
external_media_URL_length 정보는 외부 미디어 URL 정보의 길이를 나타낸다. 예를 들어, external_media_URL_length 정보는 외부 미디어 URL 정보의 길이를 바이트 단위로 나타낼 수 있다.
external_media_URL 정보는 외부망(예를 들어, 인터넷망)으로 전송되는 미디어의 위치 정보, 및/또는 고유 식별자(식별 정보) 등의 정보를 포함할 수 있다. 예를 들어, 외부망으로 전송되는 미디어가 MPEG-DASH일 경우 해당 MPD의 URL, 및/또는 MPD id 등의 정보를 포함할 수 있다.
internal_timeline_reference_format 정보는 내부 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 예를 들어, internal_timeline_reference_format 정보의 값이, 0x00인 경우 미디어 타임임을 나타내고, 0x01인 경우 NTP (Network Time Protocol)임을 나타내고, 0x02인 경우 PTP임을 나타내고, 0x03인 경우 타임코드임을 나타내고, 0x04-0x1F인 경우 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
internal_timeline_reference_timescale_flag 정보는 타임라인 레퍼런스 정보 AU가 내부 타임라인 레퍼런스에 대한 타임스케일을 포함하고 있는지 여부를 나타낸다.
internal_timeline_reference_length 정보는 내부 타임라인 레퍼런스 값의 길이를 나타낸다. 예를 들어, internal_timeline_reference_length 정보는 내부 타임라인 레퍼런스 값의 길이를 바이트 단위(bytes)로 나타낼 수 있다.
internal_timeline_reference_timescale 정보는 내부 타임라인 레퍼런스 정보의 시간 단위를 나타낸다. 예를 들어, internal_timeline_reference_timescale 정보는 내부 타임라인 레퍼런스 값의 시간 단위를 헤르츠(Hz) 단위로 나타낼 수 있다.
internal_timeline_reference 정보는 내부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다.
external_timeline_reference_format 정보는 외부 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 예를 들어, external_timeline_reference_format 정보의 값이, 0x00인 경우 미디어 타임임을 나타내고, 0x01인 경우 NTP (Network Time Protocol)임을 나타내고, 0x02인 경우 PTP 임을 나타내고, 0x03인 경우 타임코드임을 나타내고, 0x04-0x1F인 경우 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
external_timeline_reference_timescale_flag 정보는 타임라인 레퍼런스 정보 AU가 외부 타임라인 레퍼런스에 대한 타임스케일을 포함하고 있는지 여부를 나타낸다.
external_timeline_reference_length 정보는 외부 타임라인 레퍼런스 값의 길이를 나타낸다. 예를 들어, external_timeline_reference_length 정보는 외부 타임라인 레퍼런스 값의 길이를 바이트 단위(bytes)로 나타낼 수 있다.
external_timeline_reference_timescale 정보는 외부 타임라인 레퍼런스 정보의 시간 단위를 나타낸다. 예를 들어, external_timeline_reference_timescale 정보는 외부 타임라인 레퍼런스 값의 시간 단위를 헤르츠(Hz) 단위로 나타낼 수 있다.
external_timeline_reference 정보는 외부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다.
본 발명의 다른 실시예에 따르면, 수신기 및/또는 프로세서는 external_media_URL 정보에 의하여 식별되는 외부망의 스트림에, 타임라인 컴포넌트 AU 및/또는 타임라인 레퍼런스 정보 AU에 포함되는 internal_timeline_reference 정보 및/또는 external_timeline_reference 정보를 적용하여, 방송망으로 전송되는 스트림과 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다. 또한, 수신기 및/또는 프로세서는 외부 미디어 URL 정보, 타임라인 레퍼런스 정보, 및/또는 타임스탬프를 기초로 방송 스트림과 이종 스트림을 사용하여 방송 콘텐트를 구성할 수 있다.
도 75은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 AU 의 신택스 (Syntax)를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 타임라인 레퍼런스 정보 AU는 적어도 하나의(또는 복수의) internal_timeline_reference 정보를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 따른 타임라인 레퍼런스 정보 AU는 적어도 하나의(또는 복수의) external_timeline_reference 정보를 포함할 수 있다.
구체적으로, 타임라인 레퍼런스 정보 AU는 AU_identifier 정보, AU_length 정보, external_media_location_flag 정보, nb_of_timeline_reference 정보, external_media_URL_length 정보, external_media_URL 정보, timeline_reference_type 정보, timeline_reference_identifier 정보, timeline_reference_format 정보, timeline_reference_timescale_flag 정보, timeline_reference_length 정보, timeline_reference_timescale 정보, 및/또는 timeline_reference 정보를 포함할 수 있다. 타임라인 레퍼런스 정보 AU가 포함하는 정보를 타임라인 레퍼런스 시그널링 정보 이라고 부를 수 있다.
전술한 타임라인 레퍼런스 정보 AU의 신택스(Syntax)에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체할 수 있다.
AU_identifier 정보는 타임라인 레퍼런스 정보 AU의 구조를 고유하게 나타내는 식별자이다.
AU_length 정보는 타임라인 레퍼런스 정보 AU의 길이를 나타낸다.
external_media_URL_flag 정보는 타임라인 레퍼런스 정보 AU 가 외부 망(예를 들어, 인터넷망)을 통해 전송되는 스트림의 URL 정보를 포함하고 있는지 여부를 나타낸다.
nb_of_timeline_reference 정보는 타임라인 레퍼런스 정보 AU에 포함된 타임라인 레퍼런스 정보의 개수를 나타낸다.
external_media_URL_length 정보는 외부 미디어 URL 정보의 길이를 나타낸다. 예를 들어, external_media_URL_length 정보는 외부 미디어 URL 정보의 길이를 바이트 단위로 나타낼 수 있다.
external_media_URL 정보는 외부망(예를 들어, 인터넷망)으로 전송되는 미디어의 위치 정보, 및/또는 고유 식별자 등의 정보를 포함할 수 있다. 예를 들어, 외부망으로 전송되는 미디어가 MPEG-DASH일 경우 해당 MPD의 URL, 및/또는 MPD id 등의 정보를 포함할 수 있다.
timeline_reference_type 정보는 타임라인 레퍼런스 정보의 타입을 나타낸다. 예를 들어, timeline_reference_type 정보가 '0'이면 타임라인 레퍼런스 정보의 타입은 내부 타임라인 레퍼런스 정보를 지시할 수 있다. 또한, timeline_reference_type 정보가 '1'이면 타임라인 레퍼런스 정보의 타입은 외부 타임라인 레퍼런스 정보를 지시할 수 있다.
timeline_reference_identifier 정보는 타임라인 레퍼런스 정보의 고유 식별자이다. 예를 들어, timeline_reference_identifier 정보는 0~127 사의의 정수 값으로 할당될 수 있다.
timeline_reference_format 정보는 내부 타임라인 레퍼런스 정보의 포맷 및/또는 외부 타임라인 레퍼런스 정보의 포맷을 나타낼 수 있다. 예를 들어, timeline_reference_format 정보의 값이 0x00인 경우 포맷은 미디어 타임임을 나타내고, 0x01인 경우 포맷은 NTP (Network Time Protocol) 임을 나타내고, 0x02인 경우 포맷은 PTP 임을 나타내고, 0x03인 경우 포맷은 타임코드임을 나타내고, 0x04-0x1F인 경우 포맷은 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
timeline_reference_timescale_flag 정보는 타임라인 레퍼런스 정보 AU가 내부 타임라인 레퍼런스 정보 및/또는 external 타임라인 레퍼런스 정보에 대한 타임스케일 정보를 포함하고 있는지 여부를 나타낸다.
timeline_reference_length 정보는 내부 타임라인 레퍼런스 값의 길이 및/또는 외부 타임라인 레퍼런스 값의 길이를 나타낸다. 예를 들어, timeline_reference_length 정보는 내부 타임라인 레퍼런스 값의 길이 및/또는 외부 타임라인 레퍼런스 값의 길이를 바이트 단위(bytes)로 나타낼 수 있다.
timeline_reference_timescale 정보는 내부 타임라인 레퍼런스 값의 시간 단위 및/또는 외부 타임라인 레퍼런스 값의 시간 단위를 나타낸다. 예를 들어, timeline_reference_timescale 정보는 내부 타임라인 레퍼런스 값의 시간 단위 및/또는 외부 타임라인 레퍼런스 값의 시간 단위를 헤르츠(Hz) 단위로 나타낼 수 있다.
timeline_reference 정보는 내부망 및/또는 외부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다. 예를 들어, timeline_reference 정보는 nb_of_timeline_reference 정보에 기초하여 적어도 하나의 값(또는, 복수의 값)을 가질 수 있다. timeline_reference 정보는 전술한 적어도 하나의 internal_timeline_reference 정보 및/또는 적어도 하나의 external_timeline_reference 정보를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 수신기는 external_media_URL 정보에 의하여 식별되는 외부망의 스트림에, 타임라인 컴포넌트 AU 및/또는 타임라인 레퍼런스 정보 AU에 포함되는 적어도 하나의 timeline_reference 정보를 적용하여, 방송망으로 전송되는 스트림과 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다. 구체적으로, 수신기는 external_media_URL 정보에 의하여 식별되는 외부망의 스트림에, 타임라인 컴포넌트 AU 및/또는 타임라인 레퍼런스 정보 AU에 포함되는 적어도 하나의(또는 복수의) internal_timeline_reference 정보 및/또는 적어도 하나의(또는 복수의) external_timeline_reference 정보를 적용하여, 방송망으로 전송되는 스트림과 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다.
도 76는 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 전송을 지원하는 LCT 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 스트림은 LCT 패킷을 포함할 수 있다. 본 발명의 다른 실시예에 따른 타임 라인 레퍼런스 시그널링 정보는 확장된 헤더 확장에 포함되어 전송될 수 있다. 예를 들어, 본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 헤더 확장(EXT_TIME)을 확장하여 타임라인 레퍼런스 시그널링 정보를 더 포함할 수 있다. 본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 이종망으로 전송되는 각각의 미디어 스트림의 동기화를 위한 정보이다. 본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 전술한 타임라인 레퍼런스 정보 AU와 동일 및/또는 유사한 정보를 포함할 수 있다. 전술한 타임라인 레퍼런스 시그널링 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 전술한 프로토콜에 적합한 서비스 시그널링 정보와 연동되어 동작할 수 있다. 서비스 시그널링 정보는 해당 스트림이 내부망 및/또는 외부망의 타임라인 레퍼런스를 전송하고 있음을 나타내는 정보, 타임라인 레퍼런스 정보 AU에 포함되는 외부 미디어 URL 정보, 플래그 정보, 및/또는 타임스케일 정보 등 각 패킷에 공통으로 적용 가능한 정보들이 포함될 수 있다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 플래그 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, FEC 페이로드 ID 필드, 및/또는 인코딩 심볼 필드를 포함할 수 있다.
LCT 버전 번호 필드(V)는 프로토콜 버전 번호를 나타낸다. 예를 들어, 이 필드는 LCT 버전 번호를 나타낸다. LCT 헤더의 버전 번호 필드는 ROUTE 버전 번호 필드로서 해석될 수 있다. ROUTE의 이 버전은 LCT 형성 블록의 버전 "1"을 암시적으로 이용한다. 예를 들어, 버전 번호는 "0001b"이다.
혼잡 제어 플래그 필드(C)는 혼잡 제어 정보 필드의 길이를 나타낸다. C=0는 혼잡 제어 정보(CCI) 필드가 32비트의 길이를 갖는 것을 나타내고, C=1는 CCI 필드가 64비트의 길이를 갖는 것을 나타내고, C=2는 CCI 필드가 96비트의 길이를 갖는 것을 나타내고, C=3는 CCI 필드가 128비트의 길이를 갖는 것을 나타낸다.
프로토콜 특정 지시 필드(PSI)는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. PSI 필드는 현재 패킷이 소스 패킷인지 또는 FEC 리페어 패킷인지를 나타낸다. ROUTE 소스 프로토콜이 단지 소스 패킷만을 전달하기 때문에, 이 필드는 "10b"로 설정될 것이다. 전송 세션 식별자 플래그 필드(S)는 전송 세션 식별자 필드의 길이를 나타낸다.
전송 오브젝트 식별자 플래그 필드(O)는 전송 오브젝트 식별자 필드의 길이를 나타낸다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT라 한다.
하프 워드 플래그 필드(H)는 TSI 및 TOI 필드의 길이에 하프 워드(16 bits)를 추가할지 여부를 지시한다.
예약 필드(Res)는 미래의 사용을 위해 예약된다.
클로즈 세션 플래그 필드(A)는 세션이 종료 또는 종료가 임박했음을 지시한다.
클로즈 오브젝트 플래그 필드(B)는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 지시한다.
LCT 헤더 길이 필드(HDR_LEN)는 LCT 헤더의 총 길이를 32비트 워드의 단위로 나타낸다.
코드포인트 필드(CP)는 이 패킷에 의해 전송된 페이로드의 타입을 나타낸다. 페이로드의 타입에 따라, 추가의 페이로드 헤더가 추가되어 페이로드 데이터를 프리픽스(prefix)한다.
혼잡 제어 정보 필드(CCI)는 층 수, 논리 채널 수, 시퀀스 수 등의 혼잡 제어 정보 전송에 사용된다. LCT 헤더 내의 혼잡 제어 정보 필드는 요구되는 혼잡 제어 정보를 포함한다.
전송 세션 식별자 필드(TSI)는 세션의 고유 식별자이다. TSI는 특정 전송자로부터의 모든 세션 중의 하나의 세션을 고유하게 식별한다. 각각의 TSI 필드는 MPEG-DASH의 각각의 컴포넌트 및/또는 리프리젠테이션에 맵핑될 수 있다.
이 필드는 ROUTE 내의 전송 세션을 식별한다. 전송 세션의 컨텍스트는 LSID(LCT Session Instance description)에 의해 제공된다. LSID는 ROUTE 세션의 각각의 구성 LCT 전송 세션에서 무엇이 전송되는지를 정의한다. 각각의 전송 세션은 LCT 헤더 내의 전송 세션 식별자(TSI)에 의해 고유하게 식별된다. LSID는 LCT전송 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전송될 수 있으며, 통신망, 방송망, 인터넷망, 케이블망, 및/또는 위성망을 통해서도 전송될 수 있다. LSID가 전송되는 수단은 이에 한정되지 않는다. 예를 들어, LSID는 TSI의 값이 '0'인 특정 LCT 전송 세션을 통해서 전송될 수 있다. LSID는 ROUTE 세션으로 전송되는 모든 전송 세션에 대한 시그널링 정보를 포함할 수 있다. LSID는 LSID 버전 정보 및 LSID의 유효성에 관한 정보를 포함할 수 있다. 또한, LSID는 LCT 전송 세션에 대한 정보를 제공하는 전송 세션(transport session) 정보를 포함할 수 있다. 전송 세션 정보는 전송 세션을 식별하는 TSI 정보, 해당 TSI로 전송되며 소스 데이터가 전송되는 소스 플로우에 대한 정보를 제공하는 소스플로우(source flow) 정보, 해당 TSI로 전송되며 리페어 데이터가 전송되는 리페어 플로우에 대한 정보를 제공하는 리페어플로우(repair flow) 정보, 및 해당 전송 세션에 대한 추가적인 특성 정보를 포함하는 전송 세션 프로퍼티(transport session property) 정보를 포함할 수 있다.
전송 오브젝트 식별자 필드(TOI)는 오브젝트의 고유 식별자이다. TOI는 이 패킷이 세션 내의 어느 오브젝트에 속하는지를 나타낸다. 각각의 TOI 필드는 MPEG-DASH의 각각의 세그먼트에 맵핑될 수 있다. 다만 이에 한정되지 않고, 각각의 TOI 필드는 청크, GOP, 및/또는 액세스 유닛과 같은 MPEG-DASH의 각각의 세그먼트의 일부에 맵핑될 수도 있다.
이 필드는 현재의 패킷의 페이로드가 이 세션 내의 어느 오브젝트에 속하는지를 나타낸다. 오브젝트로의 TOI 필드의 맵핑은 확장된 FDT에 의해 제공된다. 확장된 FDT는 파일 전달 데이터의 세부사항을 특정한다. 이것은 확장된 FDT 인스턴스이다. LCT 패킷 헤더와 함께 확장된 FDT는 전달 오브젝트에 대한 FDT 동등 기술(FDT-equivalent description)을 생성하는데 사용될 수 있다. 확장된 FDT는 레퍼런스로서 임베딩(embed)되거나 제공될 수 있다. 레퍼런스로서 제공되면, 확장된 FDT는 LSID와 독립적으로 업데이트될 수 있다. 참조되면, 포함되는 소스 플로우의 TOI=0 상의 인-밴드(in-band) 오브젝트로서 전달될 것이다.
헤더 확장 필드는 추가 정보 전송을 위한 LCT 헤더 확장 부분으로 사용된다. 헤더 확장은 항상 사용되는 것이 아니거나 가변 사이즈를 갖는 선택적 헤더 필드를 수용하기 위하여 LCT에 사용된다.
예를 들어, EXT_TIME 확장은 타이밍 정보의 몇 가지 유형을 전송하는데 사용된다. 이것은 본 문서에 기술된 범용 타이밍 정보, 즉, 전송자 현재 시간(SCT), 예상 레지듀얼 시간(ERT) 및 전송자 마지막 변경(SLC) 시간 확장을 포함한다.
FEC 페이로드 ID 필드는 송신 블록 또는 인코딩 심볼의 식별 정보를 포함한다. FEC 페이로드 ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC 페이로드 ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송 서버가 이를 구분하기 위해 할당할 수 있다.
인코딩 심볼 필드는 송신 블록 또는 인코딩 심볼의 데이터를 포함할 수 있다.
패킷 페이로드는 오브젝트로부터 생성된 바이트를 포함한다. 1보다 많은 오브젝트가 세션에서 전송되면, LCT 헤더 내의 송신 오브젝트 ID(TOI)는 패킷 페이로드 데이터가 생성된 오브젝트를 식별하는데 사용되어야 한다.
본 발명의 다른 실시예에 따른 헤더 확장(EXT_TIME)은 헤더 확장 타입 필드(HET), 헤더 확장 길이 필드(HEL), SCT 하이 필드, SCT 로우 필드, ERT 필드, SLC 필드, 예약 필드, 전송자 현재 시간 필드, 예상 레지듀얼 시간 필드, 및/또는 세션 마지막 변경 필드를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 따른 헤더 확장(EXT_TIME)은 사용 필드를 포함하고, 사용 필드는 SCT 하이 필드, SCT 로우 필드, ERT 필드, SLC 필드, 및/또는 예약 필드를 포함할 수 있다.
헤더 확장 타입 필드(HET)는 해당 헤더 확장의 타입을 지시한다. HET 필드는 8비트의 정수일 수 있다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32비트 워드 단위의 가변 길이 헤더 확장이 존재하며 HET에 뒤따르는 헤더 확장 길이 필드(HEL)에 그 길이를 기술한다. HET가 128에서 255 사이의 값을 가질 경우 헤더 확장은 32 비트 고정 길이를 갖는다. 예를 들어, 본 발명의 다른 실시예에 따른 HET 필드는 '2'의 값을 가지거나 '127' 이하의 값을 가질 수 있고, 전술한 헤더 확장을 식별할 수 있다.
HEL 필드는 가변 길이의 헤더 확장의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32비트 워드 단위의 가변 길이 헤더 확장이 존재하며, HET 필드에 뒤따르는 HEL 필드는 헤더 확장의 전체 길이를 32비트 워드 단위로 나타낸다.
사용 필드(Use)는 다음의 32비트 시간 값(들)의 시맨틱을 나타낸다.
SCT 하이 필드는 해당 헤더 확장에 전송자 현재 시간 필드가 포함되는지 여부를 나타낸다.
SCT 로우 필드는 해당 헤더 확장에 64비트의 전송자 현재 시간 필드가 포함되는지 여부를 나타낸다
ERT 필드는 해당 헤더 확장에 예상 레지듀얼 시간 필드가 포함되는지 여부를 나타낸다.
SLC 필드는 해당 헤더 확장에 세션 마지막 변경 필드가 포함되는지 여부를 나타낸다.
예약 필드(Res)는 미래 사용을 위해 예약된다.
전송자 현재 시간 필드는 전송자측의 현재 클록을 나타내고, 이때, 이 패킷이 전송되고 1ms의 단위로 측정되고 세션의 시작으로부터 모듈로 2^32 단위로 계산되었다.
SCT 하이 필드가 설정되면, 연관된 32비트 시간 값은 전송자의 벽시계의 초 단위로 시간을 나타내는 무부호 정수를 제공한다. NTP가 사용되는 특정한 경우, 이 32비트는 1900년 1월 1일 00:00시 GMT에 대하여 초단위의 시간을 나타내는 무부호 정수를 제공한다(즉, 전체 64비트 NTP 시간 값의 최상위 32비트).
SCT-로우 플래그가 설정되면, 연관된 32비트 시간 값은 서브세컨드(sub-second) 정밀도를 허용하기 위하여 초의 1/2^^32의 배수를 나타내는 무부호 정수를 제공한다. SCT-로우 플래그가 설정되면, SCT-하이 플래그도 설정되어야 한다. NTP가 사용되는 특정한 경우, 이들 32 비트는 64비트 NTP 타임스탬프의 최하위 32비트를 제공한다).
예상 레지듀얼 시간 필드는 1ms의 단위로 측정된 현재 오브젝트의 송신을 위한 또는 현재 세션을 위한 전송자 예상 레지듀얼 송신 시간을 나타낸다. ERT 필드를 포함하는 패킷이 TOI 필드를 포함하면, ERT는 TOI 필드에 대응하는 오브젝트를 지칭하고, 그렇지 않으면, 세션을 지칭한다.
ERT 타이밍 정보를 포함하는 패킷이 또한 TOI 필드를 포함하면, ERT는 TOI 필드에 대응하는 오브젝트를 지칭하고, 그렇지 않으면, 세션 내의 오브젝트만을 지칭한다. ERT 플래그가 설정되면, 초의 수로서 표현된다. 32비트는 이 초의 수를 나타내는 무부호 정수를 제공한다.
세션 마지막 변경 필드는 세션 데이터에 대한 마지막 변경이 발생한 서버 벽시계 시간을 초 단위로 나타낸다. 즉, 이는 전달 세션에 대한 마지막(가장 최근) 전송 오브젝트 추가, 변경 또는 제거가 발생한 시간을 나타낸다. 변경 및 추가의 경우, 이 시간 전에 전송되지 않은 새로운 데이터가 전송될 것이라는 것을 나타낸다. 제거의 경우, SLC는 몇 개의 이전 데이터가 더 이상 전송되지 않는다는 것을 나타낸다. SLC 필드가 설정되면, 연관된 32비트 시간 값은 시간을 초단위로 나타내는 무부호 정수를 제공한다. NTP가 사용되는 특정한 경우, 이들 32비트는 1900년 1월 1일 00:00시 GMT에 대하여 초단위의 시간을 나타내는 무부호 정수를 제공한다(즉, 전체 64비트 NTP 시간 값의 최상위 32비트). 이 경우, 32비트 시간의 순환(wraparound)의 핸들링은 NTP 및 LCT의 범위 밖에 있다. 임의의 경우, SLC 정보와 함께 EXT_TIME 헤더 확장을 포함하는 패킷은 또한 SCT 하이 정보를 포함하는 것이 적절할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 헤더 확장(EXT_TIME)을 확장하여 전술한 타임라인 레퍼런스 시그널링 정보 (internal_timeline_reference 정보 및/또는 external_timeline_reference 정보)를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 ITR 하이 정보, ITR 로우 정보, ETR 하이 정보, ETR 로우 정보, internal_timeline_reference_timescale_flag 정보(ITR Scale), external_timeline_reference_timescale_flag 정보(ETR Scale), internal_timeline_reference_format 정보(ITR Format), external_timeline_reference_format 정보(ETR Format), external_media_URL_flag 정보(URL), internal_timeline_reference 정보(Internal Timeline Reference), external_timeline_reference 정보(External Timeline Reference), internal_timeline_reference_timescale 정보(Internal Timeline Reference Timescale), external_timeline_reference_timescale 정보(External Timeline Reference Timescale), 및/또는 external_media_URL 정보(External Media URL)를 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 헤더 확장(EXT_TIME)은 사용 정보를 포함하고, 사용 정보는 ITR 하이 정보, ITR 로우 정보, ETR 하이 정보, ETR 로우 정보, internal_timeline_reference_timescale_flag 정보(ITR Scale), external_timeline_reference_timescale_flag 정보(ETR Scale), internal_timeline_reference_format 정보(ITR Format), external_timeline_reference_format 정보(ETR Format), 및/또는 external_media_URL_flag 정보(URL)를 더 포함할 수 있다.
ITR 하이 정보 및/또는 ITR 로우 정보는 전술한 internal_timeline_reference_flag 정보라고 부를 수 있다. ETR 하이 정보 및/또는 ETR 로우 정보는 전술한 external_timeline_reference_flag 정보라고 부를 수 있다.
ITR Hi(Internal Timeline Reference High Flag) 정보는 해당 헤더 확장에 64비트의 internal_timeline_reference 정보(Internal Timeline Reference)가 포함되는지 여부를 나타낸다.
ITR 로우(Internal Timeline Reference Low Flag) 정보는 해당 헤더 확장에 32비트의 internal_timeline_reference 정보(Internal Timeline Reference)가 포함되는지 여부를 나타낸다.
ETR 하이(External Timeline Reference High Flag) 정보는 해당 헤더 확장에 64비트의 external_timeline_reference 정보가 포함되는지 여부를 나타낸다.
ETR 로우(External Timeline Reference Low Flag) 정보는 해당 헤더 확장에 32비트의 external_timeline_reference 정보가 포함되는지 여부를 나타낸다.
internal_timeline_reference_timescale_flag 정보(ITR Scale)는 해당 헤더 확장에 32비트의 internal_timeline_reference_timescale 정보가 포함되는지 여부를 나타낸다.
external_timeline_reference_timescale_flag 정보(ETR Scale)는 해당 헤더 확장에 32비트의 external_timeline_reference_timescale 정보가 포함되는지 여부를 나타낸다.
internal_timeline_reference_format 정보(ITR Format)는 내부 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 예를 들면, internal_timeline_reference_format 정보(ITR Format)의 값이, 0x00인 경우, 미디어 타임임을 나타내고, 0x01인 경우, NTP(Network Time Protocol) 임을 나타내고, 0x02인 경우, PTP임을 나타내고, 0x03인 경우, 타임코드임을 나타내고, 0x04-0x1F인 경우, 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
external_timeline_reference_format 정보(ETR Format)는 외부 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 예를 들면, external_timeline_reference_format 정보(ETR Format)의 값이, 0x00인 경우, 미디어 타임임을 나타내고, 0x01인 경우, NTP (Network Time Protocol)임을 나타내고, 0x02인 경우, PTP임을 나타내고, 0x03인 경우, 타임코드임을 나타내고, 0x04-0x1F인 경우, 추후에 정의될 수 있으며 이를 위하여 예약될 수 있다.
external_media_URL_flag 정보(URL)는 해당 헤더 확장에 external_media_URL 정보(External Media URL)가 포함되는지 여부를 나타낼 수 있다.
internal_timeline_reference 정보(Internal Timeline Reference)는 내부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다.
external_timeline_reference 정보(External Timeline Reference)는 외부망으로 전송되는 미디어 스트림의 타임라인을 구성하는 레퍼런스 클록 값을 나타낸다.
internal_timeline_reference_timescale 정보(Internal Timeline Reference Timescale)는 내부 타임라인 레퍼런스 정보의 시간 단위를 나타낸다. 예를 들어, internal_timeline_reference_timescale 정보는 내부 타임라인 레퍼런스 값의 시간 단위를 헤르츠(Hz) 단위로 나타낼 수 있다.
external_timeline_reference_timescale 정보(External Timeline Reference Timescale)는 외부 타임라인 레퍼런스 정보의 시간 단위를 나타낸다. 예를 들어, external_timeline_reference_timescale 정보는 외부 타임라인 레퍼런스 값의 시간 단위를 헤르츠(Hz) 단위로 나타낼 수 있다.
external_media_URL 정보(External Media URL)는 외부망(예를 들어, 인터넷망)으로 전송되는 미디어의 위치 정보, 및/또는 고유 식별자 등의 정보를 포함할 수 있다. 예를 들어, 외부망으로 전송되는 미디어가 MPEG-DASH일 경우 해당 MPD의 URL, 및/또는 MPD id 등의 정보를 포함할 수 있다. 상기 필드의 길이는 HEL 필드를 통해 식별될 수 있다.
본 발명의 다른 실시예에 따르면, 수신기 및/또는 프로세서는 방송망의 방송 신호로부터 LCT 헤더 확장(EXT_TIME)을 획득하고, 헤더 확장(EXT_TIME)으로부터 타임라인 레퍼런스 시그널링 정보를 획득할 수 있다. 또한, 수신기 및/또는 프로세서는 external_media_URL 정보에 의하여 식별되는 외부망의 스트림에, 타임스탬프, internal_timeline_reference 정보, 및/또는 external_timeline_reference 정보를 적용하여, 방송망으로 전송되는 스트림과 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다.
도 77은 본 발명의 다른 실시예에 따른, 타임라인 레퍼런스 정보 전송을 지원하는 LCT 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 헤더 확장을 확장하여 타임라인 레퍼런스 시그널링 정보(EXT_TRC, Extension for Timeline Reference Clock)를 포함할 수 있다. 본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 전술한 타임라인 레퍼런스 정보 AU와 동일 및/또는 유사한 정보를 포함할 수 있다. 전술한 타임라인 레퍼런스 시그널링 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 전술한 프로토콜에 적합한 서비스 시그널링 정보와 연동되어 동작할 수 있다. 서비스 시그널링 정보는 해당 스트림이 내부망 및/또는 외부망의 타임라인 레퍼런스를 전송하고 있음을 나타내는 정보, 타임라인 레퍼런스 정보 AU에 포함되는 외부 미디어 URL 정보, 플래그 정보, 및/또는 타임스케일 정보 등 각 패킷에 공통으로 적용 가능한 정보들이 포함될 수 있다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 LCT 버전 번호 필드(V), 혼잡 제어 플래그 필드(C), 프로토콜 특정 지시 필드(PSI), 전송 세션 식별자 플래그 필드(S), 전송 오브젝트 식별자 플래그 필드(O), 하프 워드 플래그 필드(H), 예약 필드(Res), 클로즈 세션 플래그 필드(A), 클로즈 오브젝트 필드(B), LCT 헤더 길이 필드(HDR_LEN), 코드포인트 필드(CP), 혼잡 제어 정보 필드(CCI), 전송 세션 식별자 필드(TSI), 전송 오브젝트 식별자 필드(TOI), 헤더 확장 필드, FEC 페이로드 ID 필드, 및/또는 인코딩 심볼 필드를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 헤더 확장(EXT_TRC, Extension for Timeline Reference Clock)를 확장하여 전술한 타임라인 레퍼런스 시그널링 정보를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 타임라인 레퍼런스 시그널링 정보는 ITR 하이 정보, ITR 로우 정보, ETR 하이 정보, ETR 로우 정보, internal_timeline_reference_timescale_flag 정보(ITR Scale), external_timeline_reference_timescale_flag 정보(ETR Scale), external_media_URL_flag 정보(URL), 예약 정보(Res), internal_timeline_reference_format 정보(ITR Format), external_timeline_reference_format 정보(ETR Format), internal_timeline_reference 정보(Internal Timeline Reference), external_timeline_reference 정보(External Timeline Reference), internal_timeline_reference_timescale 정보(Internal Timeline Reference Timescale), external_timeline_reference_timescale 정보(External Timeline Reference Timescale), 및/또는 external_media_URL 정보(External Media URL)를 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 헤더 확장(EXT_TRC)은 사용 정보를 포함하고, 사용 정보는 ITR 하이 정보, ITR 로우 정보, ETR 하이 정보, ETR 로우 정보, internal_timeline_reference_timescale_flag 정보(ITR Scale), external_timeline_reference_timescale_flag 정보(ETR Scale), external_media_URL_flag 정보(URL), Reserved 정보(Res), internal_timeline_reference_format 정보(ITR Format), 및/또는 external_timeline_reference_format 정보(ETR Format)를 더 포함할 수 있다.
전술한 LCT 패킷에 포함되는 정보와 동일한 명칭을 가지는 정보에 대한 설명은, 전술한 설명으로 대체한다.
본 발명의 다른 실시예에 따르면, 수신기 및/또는 프로세서는 방송망의 방송 신호로부터 Header Extensions(EXT_TRC)을 획득하고, 헤더 확장(EXT_TRC)으로부터 타임라인 레퍼런스 시그널링 정보를 획득할 수 있다. 또한, 수신기 및/또는 프로세서는 external_media_URL 정보에 의하여 식별되는 외부망의 스트림에, 타임스탬프, internal_timeline_reference 정보, 및/또는 external_timeline_reference 정보를 적용하여, 방송망으로 전송되는 스트림과 이종망으로 전송되는 스트림의 동기화를 이룰 수 있다.
도 78는 본 발명의 일 실시예에 따른, DASH가 적용되는 방송망의 전송 스트림과 이종망 (예를 들면, 인터넷망)의 전송 스트림 간의 타임라인 컴포넌트 AU를 이용한 동기화 방법을 나타낸 도면이다.
도면은, 타임라인 컴포넌트를 이용하여, 이종망을 통한 전송 스트림간 동기화 방안을 DASH에 적용한 실시 예를 나타낸다. 본 실시 예에서 비디오 스트림은 방송망을 통해 전송되며, 오디오 스트림은 인터넷망을 통해 전송될 수 있다. 두 스트림 모두 DASH를 통해 캡슐화되어 서비스되고 있지만, 서로 독립된 망을 통해 전송되므로 별도의 MPD (Media Presentation Description)를 갖는 독립된 콘텐츠 형태로써, 서로 다른 타임라인을 가질 수 있다.
서로 독립된 타임라인을 갖는 두 스트림 간의 동기화를 위해, 타임라인 컴포넌트가 방송망으로 전송되는 DASH 콘텐츠에 포함될 수 있다. 방송망을 통해 전송되는 비디오 스트림과 타임라인 컴포넌트 스트림은 하나의 콘텐츠에 포함되어 하나의 타임라인을 공유할 수 있으며, 타임라인 컴포넌트는 인터넷망을 통해 전송되는 오디오 스트림의 타임라인 정보를 포함하여, 이 정보를 바탕으로 수신기는, 방송망의 타임라인을 통해, 인터넷망 전송 스트림을 동기화할 수 있다.
DASH 콘텐츠 내부에서 타임라인 컴포넌트 스트림은, 비디오 스트림 또는 오디오 스트림과 마찬가지로 하나의 트랙(track)으로 구성될 수 있다. 타임라인 컴포넌트 스트림에 대하여, MPD 및 traf 박스 등에서 제공되는 타이밍 정보를 통해 각각의 AU 단위로 DTS, PTS 등의 타임스탬프가 부여되어, 방송망 타임라인에 맵핑될 수 있다. 타임라인 컴포넌트 스트림을 트랙으로 구성함에 있어서 해당 트랙이 타임라인 컴포넌트 스트림을 포함하고 있음을 식별할 수 있는 시그널링(signaling) 정보가 필요할 수 있다. 이러한 시그널링 정보는 ISO BMFF 기반의 DASH 초기화 세그먼트 내의 hdlr 박스에 포함될 수 있으며, 포함된 미디어의 타입을 나타내는 handler_type과, minf 박스에 포함되는 미디어 헤더 박스, 그리고 미디어 스트림의 구체적 타입과 초기화 정보를 나타내는 stsd 박스내의 샘플 엔트리등으로 제공될 수 있다.
타임라인 컴포넌트는 hdlr 박스에 "meta"라는 핸들러 타입으로 메타데이터 타입에 속함을 표현할 수 있고, "nmhd" 라는 널(null) 미디어 헤더 박스를 포함할 수 있다.
도 79는 본 발명의 일 실시예에 따른, ISO BMFF (ISO base media file format)에서 타임라인 컴포넌트를 식별하기 위한 샘플 엔트리를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 타임라인 컴포넌트를 식별하기 위하여, stsd 박스에 포함되는 스트림 시그널링 정보는 도시된 바와 같이 설정될 수 있다.
타임라인 컴포넌트 스트림을 파일 내에서 식별하기 위하여, 메타데이터 샘플 엔트리의 파생형으로 타임라인 컴포넌트 MetaData SampleEntry가 정의될 수 있다. 타임라인 컴포넌트 MetaData SampleEntry는 'metc'와 같은 4바이트의 type을 가질 수 있으며, 상기와 같은 타입 필드를 통해 파일 내부에서 고유하게 식별될 수 있다.
타임라인 컴포넌트가 기술하고 있는 스트림의 위치 URL이나 스트림을 재생시키기 까지의 초기 딜레이(delay) 등 초기화 및 시그널링 파라미터들을 "metc" 샘플 엔트리 내부에 포함시킬 수 있다.
도 80은 본 발명의 일 실시예에 따른, ISO BMFF에서 타임라인 컴포넌트 트랙과 타 트랙과의 의존관계를 표현하기 위한 트랙 레퍼런스 타입 박스를 나타낸 도면이다.
타임라인 컴포넌트를 DASH 세그먼트와 같은 ISO BMFF 기반 파일 구조체에 포함시키기 위하여, 전술한 시그널링 정보에 추가하여, 다른 트랙과의 의존 관계에 대한 정보를 시그널링할 수 있다. 본 도면은, 트랙간의 의존 관계를 표현하는 tref 박스를 통해 타임라인 컴포넌트 트랙과 DASH 세그먼트의 다른 트랙과의 의존관계를 표현하는 실시 예를 나타낸다.
Tref 박스는, 내부에 트랙 레퍼런스 박스를 포함한다. Tref 박스는, 전술한 타임라인 컴포넌트와 타 트랙과의 의존 관계 표현을 위한 타입으로, 전술한 바와 같이 'metl'이라는 reference_type을 정의할 수 있다. Tref 박스 내부의 track_ID는 참조관계가 있는 트랙의 ID를 의미한다. 'metl' reference type 박스의 정의를 통해 타임라인 컴포넌트와 타임라인을 공유하는 타 트랙과의 의존관계 표현이 가능하다.
전술한 도면에서 볼 수 있는 바와 같이, 전술한 'metl' 박스를 포함하는 tref 박스는, 타임라인 컴포넌트 트랙 박스에 포함되고 의존관계에 있는 비디오 트랙의 ID를 'metl' 박스 내부에 포함한다. 또는 실시 예의 비디오 트랙에 tref 박스 및 'metl' 박스가 포함되고 'metl'의 track_ID로 타임라인 컴포넌트 트랙의 ID를 포함할 수도 있다.
도 81은 본 발명의 일 실시예에 따른, 차세대 방송 시스템에서 서비스 및/또는 컨텐츠를 획득하는 구조를 나타낸 도면이다.
본 발명에서 제안한 방안은 차세대 방송 시스템에서는 수신기로 하여금 서비스 혹은 컨텐츠를, 방송망 혹은 인터넷망을 통하여 효율적으로 획득할 수 있도록 한다.
도면은 하이브리드 방송 시스템에서 서비스 혹은 콘텐츠 획득을 위한 일 예를 나타낸다.
예를 들면, 서비스 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 들을 디코딩하고, 원하는 서비스를 획득할 수 있다.
도 82은 본 발명의 일 실시예에 따른, ISO BMFF에서 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법을 나타낸 도면이다.
도면에는 ISO BMFF 의 구조의 일부가 도시되어 있다. 도시된 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법은, 로컬 재생 (local replay) 에서 데이터 간의 동기화를 하는 것을 나타내었다.
수신기는 ISO 파일에서 'tkhd' 를 통하여, 트랙을 식별한다.
수신기는 'hdlr' (handler_type) 을 통하여, 미디어의 타입이 오디오 인지 비디오 인지 식별할 수 있다.
'stbl' 박스는 'stsd' 박스, 'stts' 박스, 'ctts' 박스, 'stsc' 박스, 'stco' 박스 및/또는 'stsz' 박스를 포함할 수 있다.
수신기는 'stbl' 의 sample description('stsd' 박스)을 이용하여, 디코더를 초기화하고, 이에 포함된 정보를 이용하여, mdat에 포함된 데이터 (samples)를 디코딩할 수 있다.
'stts' 박스는 디코딩 시간(decoding time)을 나타낸다. 'stts' 박스는 디코딩 시간부터 샘플 번호까지의 인덱싱 (indexing) 을 가능하게 하는 정보를 포함한다. 'stts' 박스는 샘플 번호로부터의 샘플 사이즈, 포인터를 제공할 수 있다.
'ctts' 박스는 디코딩 시간과 composition time 사이의 오프셋 (offset)에 대한 정보를 제공한다.
'stsc' 박스는 샘플을 포함하는 청크 (Chunk), 청크의 위치, 및/또는 샘플과 관련한 속성 정보를 포함한다. 미디어 데이터 내의 샘플들은 청크들로 그룹지어질 수 있다. 청크는 서로 다른 크기를 가질 수 있고, 하나의 청크 내의 샘플들도 다른 크기를 가질 수 있다.
'stco' 박스는 파일들에 포함되는 각각의 청크에 대한 인덱스 (index) 정보를 포함할 수 있다. 'stco' 박스는 미디어 파일에 포함되는 청크의 시작의 오프셋을 제공한다.
'stsz' 박스는 샘플 카운트 및 각 샘플의 바이트 단위의 사이즈를 제공하는 테이블을 포함한다. 이것은 미디어 데이터 자체가 언프레이밍(unframed)되도록 한다. 미디어 내의 샘플의 총수는 항상 샘플 카운트로 지시된다. 'stsz' 박스는 디폴트 샘플 사이즈를 특정하는 정보를 포함할 수 있다. 모든 샘플이 동일한 사이즈이면, 정보는 사이즈 값을 포함한다. 이 정보가 0으로 설정되면, 샘플은 상이한 사이즈를 갖고, 이들 사이즈는 샘플 사이즈 테이블에 저장된다. 이 정보가 0이 아니면, 일정한 샘플 사이즈를 특정하고 어레이가 뒤따르지 않는다.
수신기는 'stbl' 박스에 포함되는 위 정보들을 이용하여, 비디오 샘플 (비디오 데이터) 와 오디오 샘플 (오디오 데이터) 사이의 동기를 맞출 수 있다.
도 83는 본 발명의 다른 실시예에 따른, ISO BMFF에서 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법을 나타낸 도면이다.
도시된 비디오 데이터 및/또는 오디오 데이터에 접근하는 방법은, 스트리밍(streaming replay)에서 데이터 간의 동기화를 하는 것을 나타내었다. 이 경우, 비디오 데이터 및/또는 오디오 데이터는 프래그멘테이션(fragmentation) 및/또는 세그멘테이션(segmentation)이 된 상태로 전송/수신된다.
수신기는 초기화 세그먼트(initialization segment)에서 파일 복호에 필요한 기본적인 정보를 획득한다. 수신기는 ISO 파일에서 'tkhd' 를 통하여, 트랙을 식별한다.
수신기는 'hdlr'(handler_type)을 통하여, 미디어의 타입이 오디오 인지 비디오 인지 식별할 수 있다.
수신기는 'minf' 박스에 포함되어 있는 현재 트랙의 미디어의 특성 정보를 이용하여, 디코더를 초기화한다.
수신기는 미디어 세그먼트 내의 'tfhd' 박스를 이용하여, 'tkhd' 에 의하여 식별된 트랙에 해당되는 미디어 세그먼트를 식별하고, 'minf' 박스의 샘플 기술(sample description)에 해당되는 샘플 기술 인덱스를 획득한다.
수신기는 'tfhd' 박스에 포함된 베이스 데이터 오프셋 정보, 'trun' 박스에 포함된 데이터 오프셋 정보 및/또는 'trun' 박스에 포함된 샘플 사이즈 정보를 이용하여, 비디오 데이터 및/또는 오디오 데이터의 샘플들을 추출한다.
수신기는 'trun' 박스에 포함된 샘플 듀레이션 정보와 샘플 구성 시간 오프셋 정보를 이용하여, 비디오 데이터 및/또는 오디오 데이터의 샘플들 사이에 동기화를 수행한다.
구체적인 방송 서비스를 전송하는 전송 프레임과 전송 패킷에 대해서는 도 84 내지 도 87를 통하여 설명하도록 한다.
도 84은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 84의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 84의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 84의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 84의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 84의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 84의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 84의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 32를 통해 설명하도록 한다.
도 85는 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 85의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 31의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 해당 서비스/컴포넌트 와 연관된 서비스 시그널링을 포함할 수 있다. 방송 수신 장치(100) FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다.
도 86은 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 86의 실시예에서 방송 서비스를 전송하는 전송 패킷은 Network Protocol 필드, Error Indicator 필드, Stuffing Indicator 필드, Pointer field 필드, Stuffing bytes 필드 및 페이로드(payload) 데이터를 포함한다.
Network Protocol 필드는 네트워크 프로토콜이 어떤 타입인지 나타낸다. 구체적인 실시예에서 Network Protocol 필드의 값은 IPv4 프로토콜인지 또는 프레임드 패킷 타입인지 나타낼 수 있다. 구체적으로 도 85의 실시예와 같이 Network Protocol 필드의 값이 O00인 경우 IPv4 프로토콜을 나타낼 수 있다. 또한 구체적으로 도 85의 실시예와 같이 Network Protocol 필드의 값이 111인 경우 frame_packet_type 프로토콜을 나타낼 수 있다. 이때, framed_packet_type은 ATSC A/153에 의하여 정의된 프로토콜일 수 있다. 구체적으로 framed_packet_type은 길이에 대한 정보를 나타내는 필드를 포함하지 않는 네트워크 패킷 프로토콜을 나타낼 수 있다. 구체적인 실시예에서 Network Protocol 필드는 3 비트 필드일 수 있다.
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 필드는 고정된 패킷 길이를 유지하기 위하여 헤더와 페이로드 데이터 사이를 채워주는 스터핑 바이트를 나타낸다.
*이러한 방송 서비스를 수신하기 위한 방송 수신 장치의 구성에 대해서는 후술한다.
도 88은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블과 방송 서비스 전송 경로 시그널링 정보가 방송 서비스와 방송 서비스 전송 경로를 시그널링하는 것을 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스 정보를 시그널링할 수 있다. 구체적으로 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링할 수 있다. 또한 방송 서비스 시그널링 테이블은 방송 서비스와 방송 서비스가 포함하는 미디어 컴포넌트의 전송 경로를 시그널링할 수 있다. 이를 위해 방송 서비스 시그널링 테이블은 방송 서비스 전송 경로 시그널링 정보를 포함할 수 있다. 도 37의 실시예에서 방송 서비스 시그널링 테이블은 복수의 방송 서비스에 대한 정보를 포함한다. 이때, 방송 서비스 시그널링 테이블은 복수의 방송 서비스 각각에 포함된 복수의 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보를 포함한다. 특히, 방송 서비스 시그널링 테이블은 복수의 미디어 컴포넌트의 전송 경로를 시그널링하는 방송 서비스 전송 경로 시그널링 정보를 포함한다. 예컨대 방송 서비스 시그널링 테이블을 통해 방송 수신 장치(100)는 서비스(Service 0)에 포함되는 비디오(Video 0)는 물리적 계층 파이프(PLP 0)를 통해 전송됨을 알 수 있다. 또한 방송 서비스 시그널링 테이블을 통해 방송 수신 장치(100)는 서비스(Service N)에 포함되는 오디오(Audio 1)가 인터넷 망을 통해 전송됨을 알 수 있다. 이때 물리적 계층 파이프(Physical Layer Pipe, PLP)는 물리적 계층(physical layer)상에서 식별 가능한 일련의 논리적 데이터 전달 경로이다. PLP는 데이터 파이프(data pipe) 등 다른 용어로 지칭될 수 있다.
도 89은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다.
구체적으로 도 89의 실시예와 같이 방송 서비스 시그널링 테이블은 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 필드는 방송 서비스의 카테고리를 나타낸다. 구체적으로 service_category 필드는 TV 서비스, 라디오 서비스, 방송 서비스 가이드, RI 서비스 및 긴급 경고(Emergency Alerting) 중 어느 하나를 나타낼 수 있다. 예컨대 도 39의 실시예에서와 같이 service_category 필드의 값이 0x01인 경우 TV 서비스를 나타내고, service_category 필드의 값이 0x02인 경우 라디오 서비스를 나타내고, service_category 필드의 값이 0x03인 경우 RI 서비스를 나타내고, service_category 필드의 값이 0x08인 경우 서비스 가이드를 나타내고, service_category 필드의 값이 0x09인 경우 긴급 경보를 나타낼 수 있다. 구체적인 실시예에서 service_category 필드는 6 비트 필드일 수 있다.
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)이 적용되어 전송이 되는 경우 하나 이상의 서비스의 집합을 나타낸다. 도 93은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
구체적으로 도 93의 실시예와 같이 방송 서비스 시그널링 테이블은 num_ensemble_level_descriptors 필드와 ensemble_level_descriptor 필드를 더 포함할 수 있다.
num_ensemble_level_descriptors 필드는 ensemble_level_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_ensemble_level_descriptors 필드는 4 비트 필드일 수 있다.
ensemble_level_descriptor 필드는 해당 앙상블에 대한 부가적인 속성을 포함한다.
또한 서비스 시그널링 테이블은 미디어 컴포넌트를 식별하기 위하여 미디어 컴포넌트를 식별하는 스트림 식별자 정보를 더 포함할 수 있다. 이에 대해서는 도 92을 통하여 구체적으로 설명하도록 한다.
도 92은 본 발명의 일 다른 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
스트림 식별자 정보는 descriptor_tag 필드, descriptor_length 필드 및 component_tag 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 해당 descriptor가 스트림 식별자 정보를 포함하는 descirptor임을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 해당 필드 이후의 스트림 식별자 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
component_tag 필드는 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자를 나타낸다. 이때 미디어 컴포넌트 식별자는 해당 시그널링 정보 테이블 상에서 다른 미디어 컴포넌트의 미디어 컴포넌트 식별자와 다른 유일(unique)한 값을 가질 수 있다. 해당 구체적인 실시예에서 component_tag 필드는 8 비트 필드일 수 있다.
방송 서비스 시그널링 테이블을 전송하고 수신하는 동작에 대해서는 도 93 내지 도 99을 통하여 설명하도록 한다.
앞서 방송 서비스 테이블을 비트스트림 형식으로 설명하였으나 구체적인 실시예에 따라서 방송 서비스 테이블은 XML 형식일 수 있다.
도 93는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 시그널링 테이블을 전송하는 동작을 보여준다.
본 발명의 일 실시예에 따른 방송 전송 장치는 방송 신호를 전송하는 전송부 및 방송 전송 장치의 동작을 제어하는 제어부를 포함할 수 있다. 전송부는 전송부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 전송부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부는 제어부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다.
방송 전송 장치는 제어부를 통하여 전송 패킷에 담아 전송할 데이터를 획득한다(S101). 방송 전송 장치가 전송할 데이터는 실시간 컨텐트 또는 실시간 컨텐트와 연관된 메타데이터일 수 있다. 구체적으로 실시간 컨텐트는 지상파 방송망 등을 통해서 전송되는 방송 A/V 컨텐트 또는 방송 A/V 컨텐트에 연관된 향상된 데이터(enhancement data)일 수 있다.
방송 전송 장치는 제어부를 통하여 획득한 데이터가 데이터 전송을 위해 사용할 전송 패킷이 담을 수 있는 크기를 초과하는지 여부를 판단한다(S103). 구체적으로 방송 전송 장치가 사용할 전송 패킷이 고정된 패킷 길이를 사용하는 프로토콜을 기반으로 할 수 있다. 이 때, 전송하고자 하는 데이터가 패킷이 커버할 수 있는 크기를 넘어서는 경우 원활한 데이터의 전송이 어려울 수 있다. 또한, 전송하고자 하는 데이터가 패킷에 비하여 매우 작은 경우 하나의 패킷에 작은 크기의 데이터 하나만을 전송하는 것을 비 효율적인 패킷 활용이 될 수 있다. 따라서, 상술한 비 효율성을 극복하기 위하여 방송 전송 장치는 제어부를 통해 전송 패킷과 데이터의 크기를 비교한다.
만약, 방송 전송 장치가 전송할 데이터를 전송 패킷이 담을 수 없는 크기로 판단한 경우, 방송 전송 장치는 제어부를 통해 전송할 데이터를 세그멘테이션(Segmentation) 한다(S107). 세그멘테이션된 데이터는 복수의 전송 패킷들에 나뉘어 전송될 수 있다. 그리고, 복수의 전송 패킷들은 세그멘테이션된 데이터를 식별하기 위한 정보를 추가적으로 포함할 수 있다. 또 다른 실시 예에서 세그멘테이션된 데이터를 식별하기 위한 정보는 전송 패킷이 아닌 별도의 데이터그램을 통해서 전송될 수도 있다.
방송 전송 장치는 제어부를 통해서 세그멘테이션된 데이터 또는 전송 패킷보다 작은 크기를 갖는 데이터를 패킷타이징(packetizing)한다(S109). 구체적으로 방송 전송 장치는 데이터를 전송 가능한 형태로 가공한다. 가공된 방송 패킷은 패킷 헤더(Packet header)와 패킷 페이로드(Packet payload)를 포함할 수 있다. 또한, 패킷 페이로드는 데이터와 페이로드의 헤더를 포함할 수 있다. 여기에서 페이로드 헤더는 패킷 헤더와 별로도, 패킷 페이로드에 포함된 페이로드 데이터를 시그널링 하기 위한 필드이다. 또한, 세그멘테이션된 데이터를 포함하는 패킷 페이로드는 페이로드의 헤더와 함께 세그멘테이션된 데이터 헤더를 포함할 수 있다. 여기에서 세그멘테이션된 데이터 헤더는 페이로드 헤더와 별도로,패킷 페이로드에 포함된 페이로드 데이터를 시그널링 하기 위한 필드이다.
일 실시 예에서 방송 전송 장치는 하나의 데이터를 하나의 패킷에 패킷타이징할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 복수의 데이터를 하나의 패킷에 패킷타이징 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 하나의 데이터를 복수의 패킷에 조각화 하여 패킷타이징 할 수 있다.
*상술한 바와 같이 데이터의 크기 또는 패킷의 길이에 따라서 패킷타이징된 전송 패킷이 달라질 수 있다. 그러므로 방송 전송 장치는 서로 다른 전송 패킷을 구별가능한 형태로 전송할 필요가 있다. 일 실시 예에서 방송 전송 장치는 제어부를 통해 전송 패킷의 페이로드 헤더에 패킷의 형태를 나타내는 정보를 포함시켜 데이터를 패킷타이징 할 수 있다. 또 다른 일 실시 예에서 방송 전송 장치의 제어부는 페이로드 헤더에 포함된 정보만으로 전송할 데이터를 구별하기 어려울 경우에, 전송 패킷의 종류를 식별할 수 있는 정보를 추가적으로 포함시켜 데이터를 패킷타이징 할 수 있다.
방송 전송 장치는 전송부를 통해서 패킷타이징된 방송 패킷을 전송한다(S111). 일 실시 예에서 방송 패킷의 전송은 지상파 방송망을 통해 이루어 질 수 있다. 또 다른 실시 예에서 방송 패킷의 전송은 인터넷망을 통해 이루어 질 수 도 있다.
도 94은 본 발명의 일 실시 예에 따른 방송 수신 장치가 패킷타이징된 방송 패킷을 수신하는 동작을 나타낸다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 패킷타이징된 전송 패킷를 수신한다(S201).
방송 수신 장치(100)는 제어부(150)를 통하여 수신된 전송 패킷으로부터 페이로드 헤더를 추출한다(S203). 제어부(150)는 전송 패킷의 페이로드로부터 데이터를 포함하는 페이로드 데이터와 페이로드 데이터를 시그널링하는 페이로드 헤더를 획득할 수 있다. 구체적으로 방송 수신 장치(100)의 제어부(150)는 패킷 페이로드에 포함된 방송 컨텐트 및 방송 컨텐트와 연관된 향상된 컨텐트 중 적어도 하나를 제공하기 위한 부가적인 정보를 수신한 전송 패킷으로부터 추출할 수 있다.
일 실시 예에서 방송 수신 장치(100)의 제어부(150)는 페이로드 헤더로부터 페이로드 에러 판단 정보, 페이로드 우선 순위 정보 및 페이로드 타입 정보 중 적어도 하나를 추출할 수 있다. 구체적으로 페이로드 에러 판단 정보는 방송 패킷에 포함된 페이로드에 에러가 존재하는지 또는 해당 페이로드가 정해진 신택스(syntax)를 위반하는 내용을 포함하고 있는지 여부를 나타낸다.
또한, 우선 순위 정보는 페이로드에 포함된 데이터의 우선순위를 나타낸다. 구체적으로 우선 순위 정보는 페이로드에 포함된 데이터의 속성 정보를 나타낸다. 예를 들면 파일 포맷 미디어 데이터의 시그널링 정보를 포함하고 있는 페이로드의 경우, 해당 패킷의 우선 순위 정보는 가장 높은 우선 순위로 설정되어 있다.
또한, 페이로드 타입 정보는 페이로드 데이터를 포함하는 패킷페이로드의 타입을 나타낸다. 예를 들면, 방송 전송 장치가 하나의 패킷 페이로드에 하나의 데이터를 패킷타이징했는지 또는 복수의 패킷 페이로드에 하나의 데이터를 나누어 패킷타이징 했는지 여부를 나타낼 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해 추출된 페이로드 헤더에 포함된 정보로부터 페이로드에 포함된 데이터가 미디어 데이터인지 여부를 판단한다(S205). 구체적으로 방송 수신 장치(100)의 제어부(150)는 패킷 헤더 정보에 기초하여 해당 패킷에 포함된 페이로드의 유형을 판단할 수 있다. 일 실시 예에서 페이로드의 유형은 방송 컨텐트 및 방송 컨텐트와 연관된 향상된 컨텐트 중 적어도 하나를 포함하는 미디어 데이터가 될 수 있다. 또 다른 실시 예에서 페이로드의 유형은 미디어 데이터를 제공하는데 필요한 부가정보를 포함하는 메타 데이터가 될 수 있다.
방송 수신 장치(100)의 제어부(150)는 페이로드에 포함된 데이터가 미디어 데이터라고 판단한 경우, 전체 미디어 데이터가 수신한 하나의 전송 패킷에 포함되어 있는지 여부를 판단한다(S207). 구체적인 실시 예에서 전송 패킷의 길이와 전체 미디어 데이터의 크기에 따라 하나의 전송 패킷에 전체 미디어 데이터를 방송 전송 장치가 패킷타이징 할 수 있다. 또 다른 실시 예에서 방송 전송 장치는 전체 미디어 데이터를 나누어 각각 서로 다른 전송 패킷에 패킷타이징 할 수 있다. 따라서 방송 수신 장치(100)의 제어부(150)는 컨텐트 출력을 위한 완전한 미디어 데이터를 추출하기 위해 방송 패킷의 유형을 페이로드 헤더를 통해 판단할 수 있다.
한편, 본 발명의 일 실시 예에서 방송 수신 장치(100)의 제어부(150)가 페이로드에 포함된 데이터가 미디어 데이터가 아니라고 판단한 경우는 이하 도 119에서 상세히 설명한다.
하나의 전송 패킷에 전체 미디어 데이터가 포함되어 있다고 판단한 경우, 제어부(150)는 하나의 패킷 페이로드로부터 미디어 데이터를 추출한다(S209). 일 실시 예에서 방송 수신 장치(100)의 제어부(150)는 하나의 전송 패킷으로부터 하나의 미디어 데이터만을 추출할 수 있다. 또 다른 실시 예에서 방송 수신 장치(100)의 제어부(150)는 하나의 전송 패킷으로부터 복수의 미디어 데이터를 추출할 수 있다. 한편, 하나의 전송 패킷에 전체 미디어 데이터가 포함되어 있지 않다고 판단한 경우, 제어부(150)는 페이로드 헤더 및 세그멘테이션 데이터 헤더에 기초하여 복수의 패킷 페이로드로부터 미디어 데이터를 추출한다(S211). 구체적으로 제어부(150)는 페이로드 헤더 및 세그멘테이션 데이터 헤더로부터 나뉘어 패킷타이징된 미디어 데이터의 정보를 획득할 수 있다. 따라서, 제어부(150)는 획득한 정보에 따라 나뉘어진 미디어 데이터를 식별할 수 있다. 다시 말해서, 제어부(150)는 획득한 정보에 따라 나뉘어진 미디어 데이터의 순서를 획득할 수 있다. 제어부(150)는 해당 순서에 기초하여 서로 다른 전송 패킷으로부터 획득한 미디어 데이터를 조합(concatenate)할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해 컨텐트를 제공한다(S213). 일 실시 예에서 제어부(150)는 추출한 미디어 데이터에 기초하여 컨텐트를 제공할 수 있다. 또 다른 실시 예에서 제어부(150)는 조합된 미디어 데이터에 기초하여 컨텐트를 제공할 수 있다.
A/V 컨텐트를 출력할 수 있다. 또 다른 실시 예에서 방송 수신 장치(100)는 A/V 컨텐트와 연관된 향상된 데이터(enhancement data)를 출력할 수도 있다.
도 95은 본 발명의 실시 예에 따른 패킷 구성을 보여준다.
패킷 기반 데이터 전송 프로토콜 상에서 각 패킷은 일반적으로 도 40에 도시된 바와 같이 패킷 헤더와 패킷 페이로드로 구성된다. 패킷 헤더는 패킷이 포함하고 있는 패킷 페이로드의 정보를 포함할 수 있다. 패킷 페이로드는 방송망 또는 인터넷망으로 전송하고자 하는 미디어 데이터를 포함할 수 있다. 패킷 페이로드가 포함하는 미디어 데이터는 오디오, 비디오, 향상된 서비스 및 부가정보 중 적어도 어느 하나일 수 있다.
도 96은 본 발명의 실시 예에 따른 실시간 컨텐츠 전송을 위한 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 등이 포함될 수 있다.
도 97는 본 발명의 일 실시 예에 따른 ISO base media file format(이하 ISO BMFF)를 기반으로 하는 미디어 파일 포맷을 나타낸다.
도 97에 도시된 바와 같이 미디어 파일 포맷은 일반적으로 하나의 ftyp와 하나 또는 그 이상의 moov, moof 및 mdat를 포함할 수 있다.
ftyp은 미디어 파일의 타입 및 적합성을 나타낸다. ftyp은 미디어 파일에서 가능한 한 앞에 위치한다.
moov는 모든 미디어 데이터를 위한 컨테이너이다. 구체적으로 프리젠테이션의 싱글 트랙(track)을 위한 컨테이터 박스이다. 프리젠테이션은 하나 또는 그 이상의 트랙으로 구성될 수 있다. 각각의 트랙은 프리젠테이션 내에서 다른 트랙과 독립적이다. 일 실시 예에서 트랙은 미디어 데이터를 담을 수 있으며, 또 다른 실시 예에서 트랙은 패킷타이징된 스트리밍 프로토콜을 위한 정보를 담을 수 있다.
mdat은 미디어 데이터의 컨테이너이고, moof는 mdat에 관한 정보를 담고 있다.
도 98은 본 발명의 일 실시 예에 따른 패킷 페이로드의 페이로드 헤더의 구성을 나타낸다.
현재 실시간 전송 프로토콜은 대부분 미디어 파일의 액세스 유닛(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비트일 수 있다.
도 99 내지 도 100는 하나의 패킷에 하나의 미디어 데이터가 패킷타이징된 전송 패킷 의 페이로드 구성을 나타낸다.
도 99에 도시된 바와 같이, 하나의 패킷에 하나의 미디어 데이터가 포함된 패킷을 싱글 유닛 패킷(Single unit packet)이라고 할 수 있다. 싱글 유닛 패킷의 페이로드는 페이로드 헤더와 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 하나의 파일 포맷 기반 미디어 데이터을 포함하는 프래그멘티드(fragmented) 데이터를 포함할 수 있다. 일 실시 예에서 전송 프로토콜이 고정 길이의 전송 패킷을 사용하는 경우, 페이로드 데이터는 프래그멘티드 데이터 외에 패딩(padding) 비트들을 추가적으로 포함할 수 있다. 여기에서 패딩 비트는 전송 패킷에서 데이터를 채우고 남은 공간을 채우기 위한 비트를 말한다.
도 100는 도 99에 도시된 전송 패킷 구체적인 예를 나타낸다. 도 100에 도시된 바와 같이, 페이로드 헤더는 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류가 있는지 여부를 나타내는 정보, 데이터의 우선 순위를 나타내는 정보 및 데이터의 타입을 나타내는 정보 중 적어도 하나를 포함할 수 있다.
도 100에 도시된 일 예에서, 페이로드가 포함하는 데이터상에 에러 또는 신택스 오류가 있는지 여부를 나타내는 정보는 에러 및 신택스 위반이 없다는 내용을 나타내는 값을 포함할 수 있다. 구체적인 실시 예에서 해당 값은 0일 수 있다.
데이터의 우선 순위를 나타내는 정보는 페이로드 데이터 내 미디어 파일이 ftyp 등의 중요한 데이터를 포함하므로 가장 높은 우선 순위를 가질 수 있다. 상술한 바와 같이 ftyp의 경우 미디어 파일을 시그널링하기 위한 정보를 포함하는 바 가장 높은 우선 순위를 가질 수 있다. 구체적인 실시 예에서 가장 높은 우선 순위를 나타내는 값은 0x00일 수 있다.
데이터의 타입을 나타내는 정보 는 하나의 패킷 페이로드 내에 하나의 미디어 파일이 모두 포함되어 있으므로 싱글 유닛 패킷을 나타낼 수 있다. 구체적인 실시 예에서 데이터의 타입을 나타내는 정보는 0x00값을 가질 수 있다. 추가적으로 미디어 파일의 길이와 전송 프로토콜에 따라 패딩 비트가 선택적으로 페이로드 데이터에 삽입될 수 있다.
도 101 내지 도 102은 하나의 패킷에 복수의 서로 다른 미디어 데이터가 패킷타이징된 전송 패킷의 구성을 나타낸다. 상술한 패킷은 어그리게이션 패킷(Aggregation packet)이라고 할 수 있다. 도 101에 도시된 바와 같이, 하나의 전송 패킷의 패이로드가 복수의 서로 다른 파일 포맷 기반 미디어 데이터을 포함하는 경우, 페이로드 데이터는 복수의 어그리게이션 유닛(Aggregation unit)을 포함할 수 있다. 각각의 어그리게이션 유닛은 다른 파일 포맷 기반 미디어 데이터를 포함할 수 있다. 추가적으로 전송 프로토콜이 고정 길이의 패킷을 사용하는 경우 페이로드 데이터는 패딩(padding) 비트들을 포함할 수 있다.
일 실시 예에서 하나의 어그리게이션 유닛은 어그리게이션 유닛의 길이를 나타내는 정보 및 어그리게이션 데이터 중 적어도 하나를 포함할 수 있다. 이 경우 어그리게이션 유닛의 길이를 나타내는 정보를 Aggregation unit length 필드라고 할 수 있다. 구체적인 실시 예에서 어그리게이션 유닛은 16비트일 수 있다. 또한, 어그리게이션 유닛 데이터는 하나의 파일이 포함하는 데이터를 나타낸다.
도 102은 어그리게이션 유닛의 구성을 나타내는 또 다른 실시 예로, 하나의 어그리게이션 유닛은 도 101의 실시 예에서 추가적으로 어그리게이션 유닛 내에 포함된 파일의 타입을 나타내는 정보를 더 포함할 수 있다.
어그리게이션의 타입을 나타내는 정보는 Aggregation unit type 필드라고 할 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x00으로 설정할 수 있다.
또 다른 실시 예에서 어그리게이션 타입은 MPEG-DASH()에서의 셀프-이니셜라이징 세그먼트(Self-initailizing Segment) 형태의 파일을 해당 어그리게이션 유닛이 포함하고 있음을 나타낼 수 있다. 여기에서 셀프-이니셜라이징 세그먼트는 별도의 이니셜라이징 세그먼트 없이 이니셜라이징 세그먼트와 미디어 세그먼트를 통합한 것 이다. 구체적으로 미디어 세그먼트와 미디어 세그먼트의 미디어 형태를 포함할 수 있다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x01로 설정할 수 있다.
또 다른 실시 예에서 어그리게이션 타입은 MPEG-DASH에서의 이니셜라이징 세그먼트(Initialization Segment) 형태의 파일을 해당 어그리게이션 유닛이 포함하고 있음을 나타낼 수 있다. 여기에서 이니셜라이징 세그먼트는 ISO BMFF를 따르는 포맷이다. 구체적으로 이니셜라이징 세그먼트는 ftyp, moov를 포함해야한다. 그리고 moof를 포함하지 않아야 한다. 구체적인 실시 예에서 이 경우, 방송 전송 장치는 어그리게이션 타입을 0x02로 설정할 수 있다.
도 103 내지 도 109은 하나의 미디어 데이터가 복수의 전송 패킷에 나뉘어 패킹타이징된 전송 패킷(이하 프래그멘티드 패킷(Fragmented packet))의 페이로드 구성을 나타낸다. 도 103는 프래그멘티드 패킷의 페이로드의 구성의 일 실시 예를 나타낸다. 도 103에 도시된 바와 같이, 프래그멘티드 패킷의 페이로드는 프래그멘테이션 유닛(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비트일 수 있다.
도 104는 프래그멘티드 패킷 의 페이로드의 구성의 또 다른 실시 예를 나타낸다. 도 104의 실시 예는 전송 패킷의 헤더에 전송 패킷의 순서와 관련된 정보가 존재하지 않는 경우에 적용될 수 있다.
도 104에 도시된 바와 같이 프래그멘테이션 유닛(FU) 에 포함된 프래그멘테이션 유닛 헤더는 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 시작 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보, 프래그멘테이션 유닛 데이터가 전체 파일 미디어 데이터 중 끝 부분의 데이터를 포함하고 있는지 여부를 나타내는 정보 및 프래그멘테이션 유닛의 타입을 나타내는 정보 및 프래그멘테이션 유닛의 전체 데이터에서의 순서를 나타내는 정보 중 적어도 하나를 포함할 수 있다. 상술한 정보 중 프래그멘테이션 유닛의 순서를 나타내는 정보를 제외한 나머지 정보는 도 103에서 설명한 내용과 같다.
프래그멘테이션 유닛의 순서를 나타내는 정보는 Fragmentation number 필드라고 할 수도 있다. 구체적으로 방송 전송 장치는 파일 포맷 기반의 미디어 데이터가 복수의 프래그멘티드 패킷에 나뉘어진 경우, 프래그멘테이션 유닛의 순서를 나타내는 정보에 값을 설정하여 해당 패킷의 순서를 할당한다. 구체적으로 Fragmentation number 필드는 8비트일 수 있다.
도 105는 본 발명의 일 실시 예에서 방송 전송 장치가 ISO BMFF 기반 미디어 파일을 프레그멘테이션하여 복수개의 패킷들로 나누는 것을 나타낸다. 도 54세 도시된 바와 같이, ISO BMFF 기반 미디어 파일은 ftyp, moov 와 복수의 moof 및 mdat을 포함할 수 있다.
방송 전송 장치는 ISO BMFF 기반 미디어 파일을 복수개로 나누어 각각 서로 다른 프래그멘테이션 유닛 데이터 에 포함시킬 수 있다. 또한, 방송 전송 장치는 ISO BMFF 기반 미디어 파일을 나누면서 페이로드 헤더에 관련 정보를 포함시킬 수 있다.
도 106는 도 105의 방송 전송 장치가 패킷타이징한 제1 프래그멘테이션 유닛 데이터의 구체적인 실시 예를 나타낸다.
도 106에 도시된 바와 같이, 본 발명의 일 실시 예에서 방송 전송 장치는 페이로드 헤더의 F 필드를 해당 패킷에 에러 또는 신택스의 오류가 없는 것으로 판단하여 0으로 설정한다.
또한, 방송 전송 장치는 Priority 필드를 가장 높은 우선순위를 나타내는 값으로 설정할 수 있다. 구체적으로 해당 값은 0x00일 수 있다.
또한, 방송 전송 장치는 Type 필드를 해당 패킷이 하나의 파일 포맷 기반 미디어 파일을 여러 페이로드에 나누어 전송하는 패킷을 나타내는 값으로 설정할 수 있다. 구체적으로 해당 값은 0x02일 수 있다.
페이로드 데이터는 프래그멘테이션 유닛을 포함할 수 있으며, 다시 프래그멘테이션 유닛은 Start bit 필드, End bit 필드, 프래그멘테이션 유닛 타입 필드 및 프래그멘테이션 유닛 데이터 필드를 포함할 수 있다.
방송 전송 장치는 Start bit 필드를 해당 패킷이 미디어 파일의 시작 데이터를 포함하는 내용을 나타내는 값으로 설정할 수 있다. 구체적으로, 도 54에서 제1 프래그멘테이션 유닛이 미디어 데이터의 시작 데이터를 포함하고 있는바, 방송 전송 장치를 해당 내용을 나타내는 값을 start bit 필드에 설정할 수 있다.
한편, 방송 전송 장치는 도 106에에서 예시로 들고 있는 제1 프래그멘테이션 유닛의 End bit 필드를 미디어 파일의 끝 데이터를 포함하고 있지 않다는 내용을 나타내는 값으로 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 해당 패킷이 미디어 파일의 끝 데이터를 포함하고 있지 않다는 내용을 나타내기 위해 End bit 필드를 0으로 설정할 수 있다.
한편, 방송 전송 장치는 도 106에서 예시로 들고 있는 제1 프래그멘테이션 유닛이 파일 포맷 기반 기본적인 형태의 파일을 포함하고 있다는 내용을 프래그멘테이션 유닛 타입 필드에 값을 설정할 수 있다. 구체적으로 파일 포맷 기반의 기본적인 형태란, ISO BMFF를 따르는 파일 포맷 데이터일 수 있다. 구체적인 실시 예에서 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 0x00으로 설정하여 해당 내용을 나타낼 수 있다.
도 107 내지 도 109은 도 105의 프래그멘테이션 유닛 데이터 중 시작데이터를 제외한 나머지 데이터를 포함하는 프래그멘테이션 유닛의 일 실시 예를 나타낸다.
도 107에 도시된 바와 같이, 본 발명의 일 실시 예에서 방송 전송 장치는 페이로드 헤더의 F 필드를 해당 패킷에 에러 또는 syntax의 오류가 없는 것을 나타내는 값으로 설정한다. 구체적인 실시 예에서 방송 전송 장치는 F 필드를 0으로 설정할 수 있다. 또한, 방송 전송 장치는 도 107에 도시된 페이로드 데이터가 상대적으로 낮은 우선 순위를 가지는 것을 나타내는 값으로 Priority 필드를 설정한다.
구체적인 실시 예에서 제2 프래그멘테이션 유닛부터는 전체 미디어 데이터를시그널링하는 데이터를 포함하지 않을 수 있다. 따라서, 제1 프래그멘테이션 유닛보다 우선 순위가 상대적으로 낮은바, Priority 필드가 상대적으로 낮은 우선 순위를 갖는 값으로 설정될 수 있다. 예를 들면 해당 값은 0x01일 수 있다.
또한, 방송 전송 장치는 Type 필드를 해당 패킷이 하나의 파일 포맷 기반 미디어 파일을 여러 페이로드에 나누어 전송하는 패킷을 나타내는 Fragmented packet으로 0x02로 설정한다. 도 108은 페이로드 데이터가 시작 데이터를 포함하는 프래그멘테이션 유닛 데이터 및 끝 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하지 않는 경우의 페이로드 구성을 나타낸다.
본 발명의 일 실시 예에서, 방송 전송 장치는 도 108의 프래크멘테이션 유닛 데이터가 시작 데이터 및 끝 데이터를 포함하고 있지 않는 바, 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) 정보에 프래그멘테이션 유닛 데이터의 순서를 식별하기 위한 정보를 삽입할 수도 있다.
도 109은 나뉘어진 전제 미디어 데이터 중 끝 데이터를 포함하는 프래그멘테이션 유닛을 포함하는 페이로드의 구성을 나타낸다. 구체적으로, 도 109은 페이로드 데이터가 시작 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하지는 않으나, 끝 데이터를 포함하는 프래그멘테이션 유닛 데이터를 포함하는 경우의 페이로드 구성을 나타낸다.
본 발명의 일 실시 예에서, 방송 전송 장치는 도 58의 프래크멘테이션 유닛 데이터가 끝 데이터를 포함하고 있는 바, start bit 필드 및 end bit 필드를 해당 정보를 나타내는 값으로 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 start bit를 0으로 설정할 수 있다. 그리고, 방송 전송 장치는 end bit 필드를 1로 설정할 수 있다.
또한, 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 해당 패킷이 포함하는 미디어 데이터가 ISO BMFF 기반의 ftyp으로 시작하는 기본적인 형태의 파일을 포함하는 내용을 나타내도록 설정할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 프래그멘테이션 유닛 타입 필드를 0x00으로 설정할 수 있다.
방송 전송 장치가 전송 패킷을 통해 전송할 수 있는 데이터는 상술한 미디어데이터와 함께 메타데이터(metadata)가 있을 수 있다. 메타데이터는 미디어 데이터를 제공하기 위해 필요한 부가정보를 나타낸다. 이하 도 110내지 도 117에서는 메타데이터를 전송 패킷에 패킷타이징하여 전송 및 수신 하는 방송 전송 장치, 방송 전송 장치의 동작 방법, 방송 수신 장치 및 방송 수신 장치 동작 방법을 제안한다.
또한, 이하에서는 메타데이터의 일 예로 타임라인(timeline) 정보를 중심으로 설명한다. 타임라인 정보란 미디어 컨텐트를 위한 일련의 시간 정보이다. 구체적으로 타임라인 정보는 재생(presentation) 또는 디코딩하기 위한 일련의 시간 정보일 수 있다.
또한 타임라인 정보는 기본 타임라인(Base timeline) 정보를 포함할 수 있다. 기본 타임라인이란 복수의 서로 다른 전송망을 통해 전송되는 미디어 데이터를 동기화하기 위해 필요한 기준 타임라인을 의미한다. 구체적으로 제1 전송망을 통해 전송되는 미디어 데이터의 타임라인에 제2 전송망을 통해 전송되는 미디어 데이터의 타임라인을 매핑하는 경우, 제1 전송망을 통해 전송되는 미디어 데이터의 타임라인이 기본 타임라인이 된다.
한편, 방송 전송 장치는 메타데이터를 XML의 포맷으로 표현할 수 있다. 또한, 방송 전송 장치는 메타데이터를 시그널링 테이블에 포함가능한 디스크립터 형태로 표현할 수도 있다.
도 110는 본 발명의 일 실시예에 따른 메타데이터의 타임라인 시그널링 테이블을 보여준다.
본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인과 관련된 메타데이터임을 나타내는 정보 혹은 해당 메타데이터가 타임라인 컴포넌트 액세스 유닛(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 포맷임을 나타낼 수 있다.
또 다른 실시 예에서 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛이 포함하는 타임스탬프가 프리시젼 타임 프로토콜(precision time protocol(PTP))의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 timestamp_format 필드를 0x02으로 설정하여 해당 액세스 유닛의 타임 스탬프 포맷이 PTP 포맷임을 나타낼 수 있다.
또 다른 실시 예에서 타임스탬프 포맷 정보는 타임라인 컴포넌트 액세스 유닛이 포함하는 타임스탬프가 타임코드(timecode)의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 정치는 timestamp_format 필드를 0x03으로 설정하여 해당 액세스 유닛의 타임 스탬프 포맷이 타임코드 포맷임을 나타낼 수 있다. 한편, 구체적인 실시 예에서 timestamp_format 필드는 4비트일 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 컴포넌트 액세스 유닛이 포함하는 정보와 연관된 서비스 또는 컨텐트의 컴포넌트에 대한 위치 정보를 포함할 수 있다. 상술한 정보를 location 필드라고 할 수 있다.
또한, 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 상술한 위치정보의 길이를 나타내는 정보를 포함할 수 있다. 위치정보 길이를 나타내는 정보를 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 필드는 기본 타임라인의 타임스탬프가 프리시젼 타임 프로토콜(precision time protocol(PTP))의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 장치는 timestamp_format 필드를 0x02으로 설정하여 해당 기본 타임라인의 타임스탬프 포맷이 PTP 포맷임을 나타낼 수 있다.
또 다른 실시 예에서 origin_timestamp_format 필드는 기본 타임라인의 타임스탬프가 타임코드(timecode)의 포맷임을 나타낼 수 있다. 구체적인 실시 예에서 방송 전송 정치는 origin_timestamp_format 필드를 0x03으로 설정하여 해당 기본 타임라인의 타임 스탬프 포맷이 타임코드 포맷임을 나타낼 수 있다.
또한 본 발명의 일 실시 예에서 타임라인 시그널링 테이블은 타임라인 매핑의 기준이 될 수 있는 기본 타임라인과 연관된 서비스 및 컨텐트 컴포넌트의 위치 정보를 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 상술한 정보를 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를 정의하거나, 추후 확장 내용을 포함할 수 있다.
도 111은 전송 패킷의 페이로드 데이터에 하나의 메타데이터가 패킷타이징된 페이로드 데이터의 구성을 나타낸다. 일 실시 예에서 페이로드 데이터는 메타데이터를 포함할 수 있으며, 메타데이터는 미디어 스트림 관련 타임라인 데이터를 포함할 수 있다. 또한 일 실시 예에서 방송 전송 장치가 전송 프로토콜로 고정 길이의 패킷을 사용하는 경우 페이로드 데이터는 패딩 비트를 추가적으로 포함할 수 있다.
도 112은 전송 패킷의 페이로드 데이터가 타임라인에 대한 메타데이터를 포함하는 경우의 일 실시 예를 나타낸다.
도 112에 도시된 바와 같이 일 실시 예에서 페이로드 헤더는 F 필드, Priority 필드 및 Type 필드 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 방송 전송 장치는 F 필드를 페이로드 내에 에러가 존재하지 않으며, syntax 위반도 없음을 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 F 필드를 0으로 설정할 수 있다. 또한 방송 전송 장치는 Priority 필드를 페이로드 데이터가 미디어 파일 구성의 중요한 데이터를 모두 포함하는 바 가장 높은 우선순위를 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 Priority 필드를 0x00으로 설정될 수 있다. 또한 방송 전송 장치는 Type 필드를 페이로드 내에 타임라인 정보의 메타데이터를 포함하는 정보를 나타내는 값으로 설정할 수 있다. 구체적으로 방송 전송 장치는 Type 필드를 0x03으로 설정할 수 있다. 또한 메타데이터는 도 59의 신택스를 포함할 수 있다.
도 113는 하나의 전송 패킷에 다수의 메타데이터가 패킷타이징된 경우를 나타낸다.
도 113에 도시된 바와 같이 하나의 전송 패킷이 다수의 메타데이터를 포함하는 경우를 어그리게이션 패킷(Aggregation packet)이라고 할 수 있다. 일 실시 예에서 페이로드 데이터는 복수의 어그리게이션 유닛 을 포함할 수 있다.
일 실시 예에서 어그리게이션 유닛은 메타데이터의 길이를 나타내는 정보를 포함할 수 있다. 또 다른 실시 예에서 어그리게이션 유닛은 메타에디어 헤더 필드가 별도로 존재하는 경우, 메타데이터 헤더 필드 및 메타데이터 필드 길이의 합을 나타내는 정보를 포함할 수 있다. 상술한 정보들은 metadata length 필드라고 할 수 있다.
도 114은 하나의 전송 패킷이 여러 개의 타임라인 정보를 포함하는 경우를 나타낸다. 구체적으로 하나의 미디어 스트림에 관련하여 각각 기준이 다른 복수 개의 타임라인 정보를 하나의 전송 패킷이 포함하고 있는 경우를 나타낸다. 일 실시 예에서 전송 패킷는 페이로드 헤더를 포함할 수 있으며, 페이로드 헤더의 내용은 도 113의 내용과 같다.
또한, 일 실시 예에서 페이로드 데이터는 두 개의 어그리게이션 유닛을 포함할 수 있다. 그러나 페이로드 데이터가 포함하는 어그리게이션 유닛의 개수는 2개 이상이 될 수도 있다.
일 실시 예에서 각각의 어그리게이션 유닛은 도 62에 도시된 바와 동일하게 metadata length 필드, metadata header 필드 및 타임라인 정보를 포함하는 메타데이터 필드 중 적어도 어느 하나를 포함할 수 있다.
그러나, 도 114에 도시된 제1 어그리게이션 유닛은 제1 타임라인을 포함하는 메타데이터 필드를 포함할 수 있으며, 제2 어그리게이션 유닛은 제2 타임라인을 포함하는 메타데이터 필드를 포함할 수 있다. 구체적인 실시 예에서 각각의 타임라인은 서로 다른 기준에 기반한 데이터를 가질 수 있다. 예를 들면 제1 타임라인 은 미디어 타임에 기반한 데이터를 가지고, 제2 타임라인은 NTP에 기반한 데이터를 가질 수 있다.
도 115는 하나의 메타데이터를 복수개의 전송 패킷에 나누어 패킷타이징한 패킷 페이로드를 나타낸다.
일 실시 예에서 하나의 메타데이터의 길이가 전송 패킷의 길이보다 큰 경우가 있을 수 있으며, 이 경우 방송 전송 장치는 해당 메타데이터를 여러 개의 전송 패킷에 나누어 전송할 수 있다. 도 117에 도시된 바와 같이 전송 패킷은 페이로드 헤더, 메타데이터 프래그먼트 헤더 및 메타데이터 프래그먼트 중 적어도 하나를 포함할 수 있다. 추가적으로 전송 프로토콜이 고정 길이의 패킷을 사용하는 경우 전송 패킷은 패딩 비트를 포함할 수도 있다.
도 115에서 도시된 바와 같이, 일 실시 예에서 메타데이터 프래그먼트 헤더는 해당 전송 패킷의 해당 전송 패킷의 페이로드 데이터에 포함된 메타데이터 프래그먼트가 전체 메타데이터의 시작 부분을 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 구체적으로 시작 부분의 데이터는 전체 미디어 데이터의 첫 비트를 포함하는 전체 데이터의 일부일 수 있다. 상술한 정보는 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비트일 수 있다.
도 116는 메타데이터 프래그먼트 헤더의 또 다른 실시 예를 나타낸다. 여기에서 도 115와 동일한 부분의 설명은 생략한다.
본 발명의 일 실시 예에서 메타데이터 프래그먼트 헤더는 해당 패킷 페이로드에 포함된 메타데이터 프래그먼트의 순서를 나타내는 정보를 포함할 수 있다. 상술한 정보는 Fragmentation number 필드라고 할 수 있다. 방송 수신 장치(100)는 패킷 페이로드에 포함된 메타데이터 프래그먼트 순서 정보에 기초하여 해당 패킷이 몇번째의 메타데이터를 포함하고 있는지 판단할 수 있다.
도 117은 본 발명의 일 실시 예에 따른 방송 수신 장치가 방송 패킷을 수신하는 동작을 보여준다.
방송 수신 장치(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)는 메타데이터로부터 컨텐트를 설명하는 정보를 획득할 수도 있다.
도 118은 방송망으로는 RTP 프로토콜을 이용하여 비디오 스트림을 전송하고 인터넷망을 통해서는 파일 포맷 기반의 미디어 데이터를 이용하여 비디오 스트림을 전송하는 경우를 나타낸다. 이 경우 방송 수신 장치(100)는 타임라인 관련 메타데이터를 포함하는 RTP 패킷 혹은 IP/UDP 패킷을 수신한 후 RTP 프로토콜 기반 비디오 스트림과 DASH 기반 비디오 스트림 간의 타임라인을 매칭시켜 연관된 스트림간의 복호화 및 재생을 가능하게 할 수 있다.
상술한 바와 같이 종래의 방송 전송 장치는 전송 패킷에 포함된 데이터(또는 오브젝트)의 재생과 관련된 시간 정보를 페이로드에 실어 전송하였다. 또는 방송 전송 장치는 시간 정보를 전송하기 위한 별도의 시그널링을 전송하였다. 종래와 같은 방법의 경우, 별도의 전송 패킷 또는 패킷 페이로드에 시간 정보를 실어 패킷 헤더의 용량 또는 전송 패킷의 용량이 상대적으로 작아지는 장점이 있었다. 그러나, 종래 방법의 경우, 전송하고자 하는 데이터와 별도의 패킷으로 시간 정보를 전송하여 정확하고 빠른 동기화면에서는 효율이 떨어질 수 있었다.
반면에, 본 발명의 일 실시예는 실시간 컨텐트를 지원하기 위한 전송 패킷의 패킷 헤더에 해당 패킷의 디코딩 또는 재생과 관련된 시간 정보를 포함시킨다. 따라서, 해당 패킷의 시간 정보가 해당 패킷의 헤더에 포함되어 있는 바, 종래 방법에 비하여 상대적으로 정확하고 빠른 동기화가 가능하다. 특히, 본 발명의 일 실시예에서는 상술한 디코딩 또는 재생과 관련된 시간 정보를 패킷 헤더내 확장된 헤더(Extended Header)에 설정하여 전송 패킷을 패킷타이징하는 내용을 제안한다. 여기에서 확장된 헤더는 필수적이지 않거나, 크기 변환이 가능한 선택적인 헤더 필드를 포함하는 패킷 헤더의 일부일 수 있다. 또한, 전송 패킷은 오브젝트를 기초로 하여 생성될 수 있으며, 따라서, 오브젝트는 전송 패킷을 통해 전송하고자하는 대상이 될 수 있다. 오브젝트는 세션에 포함되어 전송될 수 있다.
도 119은 본 발명의 일 실시 예에 따른 전송 패킷의 구성을 나타낸다. 도 68에 도시된 전송 패킷은 신뢰성 있는 데이터 전송을 지원하는 전송 프로토콜을 이용할 수 있다. 구체적인 실시 예에서 신뢰성 있는 데이터 전송 프로토콜은 비 동기 계층화 코딩(Asynchronous Layered Coding(ALC))일 수 있다. 또 다른 실시 예에서 신뢰성 있는 데이터 전송 프로토콜은 계층화 코딩 전송(Layered Coding Transport(LCT))일 수 있다.
본 발명의 일 실시 예에 따른 패킷 헤더는 패킷의 버전 정보를 포함할 수 있다. 구체적으로 해당 전송 프로토콜을 이용하는 전송 패킷의 버전 정보를 포함할 수 있다. 구체적인 실시 예에서 상술한 정보는 V 필드일 수 있다. 또한, V 필드는 4비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 혼잡 제어(Congestion control)를 위한 정보의 길이와 연관된 정보를 포함할 수 있다. 구체적으로 혼잡 제어를 위한 정보의 길이와 혼잡 제어를 위한 정보의 길이의 기본 단위에 곱해지는 연관된 배수 정보를 포함할 수 있다.
구체적인 실시 예에서 상술한 정보는 C 필드일 수 있다. 일 실시 예에서 C 필드는 0x00으로 설정될 수 있으며, 이 경우, 혼잡 제어를 위한 정보의 길이가 32비트임을 나타낸다. 또 다른 실시 예에서 C 필드는 0x01로 설정될 수 있으며, 이 경우, 혼잡 제어를 위한 정보의 길이가 64비트일 수 있다. 또 다른 실시 예에서 C 필드는 0x02로 설정될 수 있으며, 이 경우, 혼잡 제어를 위한 정보의 길이가 96비트일 수 있다. 또 다른 실시 예에서 C 필드는 0x03으로 설정될 수 있으며, 이 경우, 혼잡 제어를 위한 정보의 길이가 128비트일 수 있다. C 필드는 2비트일 수 있다.
또한, 본 발명의 일 실시 예에서 따른 패킷 헤더는 프로토콜에 특화된 정보를 포함할 수 있다. 구체적인 실시 예에서 상술한 정보는 PSI 필드일 수 있다. 또한 PSI 필드는 2비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 전송 세션의 식별 정보를 나타내는 필드의 길이와 연관된 정보를 포함할 수 있다. 구체적으로 전송 세션의 식별 정보를 나타내는 필드의 배수 정보를 포함할 수 있다. 상술한 정보는 S 필드라고 할 수 있다. S 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 전송 오브젝트의 식별 정보를 나타내는 필드의 길이와 연관된 정보를 포함할 수 있다. 구체적으로 전송 오브젝트의 식별 정보를 나타내는 필드의 기본 길이에 곱해지는 배수 정보를 포함할 수 있다. 상술한 정보는 O 필드라고 할 수 있다. O 필드는 2비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 전송 세션의 식별 정보를 나타내는 필드의 길이와 연관된 추가적인 정보를 포함할 수 있다. 그리고, 패킷 헤더는 전송 오브젝트의 식별 정보를 나타내는 필드의 길이와 연관된 추가적인 정보를 포함할 수 있다. 추가적인 정보는 하프-워드(half-word)의 추가 여부 정보일 수 있다. 전송 패킷의 식별 정보를 나타내는 필드 및 전송 오브젝트의 식별 정보를 나타내는 필드는 존재하여야 하는바, S 필드와 H 필드 또는 O 필드와 H 필드는 동시에 0(Zero)를 나타낼 수 없다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 세션이 종료되거나, 종료가 임박했음을 나타내는 정보를 포함할 수 있다. 상술한 정보는 A 필드라고 할 수 있다. 구체적인 실시 예에서 A 필드가 세션의 종료 또는 종료 임박을 나타내는 경우 1로 설정될 수 있다. 따라서, 통상적인 경우, A 필드는 0으로 설정될 수 있다. 방송 전송 장치가 A 필드를 1로 설정하는 경우, 세션을 통해 마지막 패킷이 전송되고 있음을 나타낼 수 있다. A 필드가 1로 설정된 경우, 방송 전송 장치는 해당 패킷을 따르는 모든 패킷의 전송이 종료될 때까지 A 필드를 1로 유지하여야 한다. 또한, 방송 수신 장치는 A 필드가 1로 설정된 경우, 방송 전송 장치가 세션을 통한 패킷 전송을 곧 중단할 것이라는 것을 인식할 수 있다. 다시 말해서, 방송 수신 장치는 A 필드가 1로 설정된 경우 세션을 통한 더 이상의 패킷 전송이 없는 것으로 인식할 수 있다. 일 실시 예에서, A 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 오브젝트의 전송이 종료되거나, 종료가 임박했음을 나타내는 정보를 포함할 수 있다. 상술한 정보를 B 필드라고 할 수 있다. 구체적인 실시 예에서 방송 전송 장치는 오브젝트의 전송 종료가 임박한 경우 B 필드를 1로 설정할 수 있다. 따라서, 통상적인 경우 B 필드는 0으로 설정될 수 있다. 전송 오브젝트를 식별하는 정보가 전송 패킷에 존재하지 않는 경우, B 필드는 1로 설정될 수 있다. 그리고, 아웃-오브-밴드(out-of-band) 정보에 의해 식별된 세션 내의 오브젝트 전송 종료가 임박했음을 나타낼 수 있다. 또한, B 필드는 오브젝트를 위한 마지막 패킷이 전송되는 경우 1로 설정될 수 있다. 또한, B 필드는 오브젝트를 위한 마지막 수 초의 패킷이 전송되는 경우 1로 설정될 수 있다. 방송 전송 장치는 특정 오브젝트를 위한 패킷의 B 필드가 1로 설정된 경우, 해당 패킷을 뒤따르는 패킷의 전송이 종료될 때까지 B 필드를 1로 설정해야 한다. 방송 수신 장치(100)는 B 필드가 1로 설정되면, 방송 전송 장치가 오브젝트를 위한 패킷의 전송을 중단할 것이라는 것을 인식할 수 있다. 다시 말해서 방송 수신 장치(100)는 1로 설정된 B 필드로부터, 세션을 통한 더 이상의 오브젝트 전송이 없는 것으로 인식할 수 있다. 일 실시 예에서 B 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 헤더의 총 길이를 나타내는 정보를 포함할 수 있다. 상술한 정보는 HDR_LEN 필드 일 수 있다. HDR_LEN 필드는 32의 배수 비트일 수 있다. 구체적인 실시 예에서 HDR_LEN 필드가 5로 설정된 경우, 패킷 헤더의 총 길이는 32의 5배수인 160비트일 수 있다. 또한, HDR_LEN 필드는 8비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는, 해당 패킷에 포함된 페이로드의 인코딩 또는 디코딩과 관련된 정보를 포함할 수 있다. 상술한 정보는 Codepoint 필드라고 할 수 있다. 일 실시 예에서 Codepoint 필드는 8비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 혼잡 제어를 위한 정보를 포함할 수 있다. 상술한 정보는 Congestion Control Information(이하 CCI) 필드라고 할 수 있다. 구체인 실시 예에서, CCI 필드는 Current time slot index(CTSI) 필드, channel number 필드 및 packet sequence number 필드 중 적어도 어느 하나를 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 전송 세션의 식별을 위한 정보를 포함할 수 있다. 상술한 정보는 전송 세션 식별자(Transport Session Identifier(이하, TSI))일 수 있다. 또한, TSI 정보를 포함하는 패킷 헤더 내 필드를 TSI 필드라고 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 전송 세션을 통해 전송되는 오브젝트의 식별을 위한 정보를 포함할 수 있다. 상술한 정보는 전송 오브젝트 식별자(Transport Object Identifier(이하, TOI))일 수 있다. 또한, TOI 정보를 포함하는 패킷 해더 내 필드를 TOI 필드라고 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 추가적인 정보를 전송하기 위한 정보를 포함할 수 있다. 상술한 정보는 Header Extension 필드라고 할 수 있다. 일 실시 예에서 추가적인 정보는 전송 오브젝트의 재생과 관련된 시간 정보일 수 있다. 또 다른 실시 예에서 추가적인 정보는 전송 오브젝트의 디코딩과 관련된 시간 정보일 수 있다.
또한, 본 발명의 일 실시 예에 따른 전송 패킷은 페이로드 식별 정보를 포함할 수 있다. 일 실시 예에서 식별 정보는 Forward Error Correction(FEC) scheme과 연관된 페이로드 식별 정보일 수 있다. 여기에서 FEC는 RFC 5109에 정의되어 있는 페이로드 포맷의 한 유형이다. FEC는 RTP 또는 SRTP에서 사용될 수 있다. 상술한 정보는 FEC Payload ID 필드라고 할 수 있다.
일 실시 예에서 FEC Payload ID 필드는 오브젝트의 소스 블락을 식별하기 위한 정보를 포함할 수 있다. 상술한 정보는 Source block number 필드 라고 할 수 있다. 예를 들면 Source block number 필드가 N으로 설정되면, 오브젝트 내 소스 블락은 0부터 N-1로 넘버링될 수 있다.
또 다른 일 실시 예에서 FEC Payload ID 필드는 특정 인코딩 심볼을 식별하기 위한 정보를 포함할 수 있다. 상술한 정보는 Encoding symbol ID 필드일 수 있다.
또한, 본 발명의 일 실시 예에서 전송 패킷은 페이로드 내 데이터를 포함할 수 있다. 상술한 데이터를 포함하고 있는 필드는 Encoding symbol(s) 필드라고 할 수 있다. 일 실시 예에서, 방송 수신 장치(100)는 Encoding symbol(s) 필드를 추출하여 오브젝트를 재구성할 수 있다. 구체적으로 패킷 페이로드를 통해 전송되는 소스 블락으로부터 Encoding symbol(s) 필드내 데이터가 생성될 수 있다.
도 120은 본 발명의 일 실시 예에 따른 패킷 헤더의 구성을 나타낸다.
실시간 컨텐트의 전송을 지원하기 위해서는 방송 수신 장치(100)가 수신한 전송 패킷에 패킷의 속성 정보 및 디코딩 또는 재생과 관련된 타이밍 정보가 포함되는 것이 효과적일 수 있다. 따라서 상술한 과제를 해결하기 위하여, 도 71에 도시된 바와 같이 패킷 헤더가 구성될 수 있다.
도 120의 패킷 헤더는 도 119의 패킷 헤더와 대부분의 구성이 동일하다. 따라서, 동일한 부분의 설명은 생략한다.
본 발명의 일 실시 예에 따른 패킷 헤더는 전송을 위한 오브젝트의 타입을 나타내는 정보를 포함할 수 있다. 상술한 정보는 type 필드라고 할 수 있다. type 필드는 2비트일 수 있다.
구체적인 실시 예에서 type 필드는 전송을 위한 오브젝트의 타입이 레귤러 파일(regular file)임을 나타낼 수 있다. 여기에서 레귤러 파일은 ISO BMFF 기반의 미디어 파일일 수 있다. 구체적으로 레귤러 파일은 미디어 파일을 ISO BMFF 형식으로 인켑슐레이션한 것일 수 있다. 이 경우, type 필드는 01(2)으로 설정될 수 있다. 또 다른 실시 예에서 type 필드는 전송을 위한 오브젝트의 타입이 HTTP entity 타입임을 나타낼 수 있다. 이 경우, type 필드는 10(2)으로 설정될 수 있다. 또 다른 실시 예에서 type 필드는 전송을 위한 오브젝트의 타입이 오디오 액세스 유닛(Audio access unit) 또는 비디오 액세스 유닛(Video access unit)임을 나타낼 수 있다. 또한, type 필드는 오브젝트 타입이 네트워크 관념적 계층(network abstract layer, NAL) 유닛임을 나타낼 수도 있다. 이 경우, type 필드는 11(2)으로 설정될 수 있다.
또한 본 발명의 일 실시 예에 따른 패킷 헤더는 해당 전송 패킷이 전송 오브젝트의 첫 부분 또는 끝 부분을 포함하고 있음을 나타낼 수 있다. 전송 패킷이 전송 오브젝트의 첫 부분 또는 끝 부분을 포함함을 나타내는 정보는 마커 비트 (marker bit)일 수 있다. 구체적인 실시 예에서 마커 비트는 M 필드일 수 있다. 구체적으로 M 필드는 type 필드의 값에 따라 다르게 해석될 수 있다. 예를 들면, 전송을 위한 오브젝트의 타입이 파일인 경우, 해당 전송 패킷이 파일의 끝 부분을 포함하고 있음을 나타낼 수 있다. 여기에서 끝 부분은 파일의 마지막 비트를 포함하고 있는 부분이다. 또 다른 예를 들면, 전송을 위한 오브젝트의 타입이 AV 데이터(Audio or Video)인 경우, 해당 전송 패킷이 액세스 유닛의 처음 또는 마지막 비트를 포함하고 있음을 나타낼 수 있다.
도 121 내지 도 122은 시간 정보를 포함하는 확장된 헤더의 구성을 나타낸다. 도 121 내지 도 122에 도시된 확장된 헤더는 도 120에 도시된 헤더 확장 필드(Header Extension)포함될 수 있다.
도 121에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 확장된 헤더는 확장된 헤더의 타입 정보를 포함할 수 있다. 상술한 정보는 HET(Header Extension Type) 필드라고 할 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 확장된 헤더의 길이 정보를 포함할 수 있다. 상술한 정보는 HEL(Header Extension length)필드라고 할 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 방송 전송 장치의 현재 시간을 나타낼 수 있다. 다시 말해서, 확장된 헤더는 방송 전송 장치의 해당 패킷 전송 시간 정보를 포함할 수 있다. 예를 들면 방송 전송 장치는 서버일 수 있다. 구체적인 실시 예에서, 방송 전송 장치의 현재 시간을 나타내는 정보는 Sender Current Time(이하 SCT) 필드일 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 SCT 필드가 64비트인지 여부를 나타낼 수 있다. 구체적으로 확장된 헤더는 SCT 필드가 64비트로 구성되어 확장된 헤더에 포함되어 있는 지 여부를 나타낼 수 있다. 구체적인 실시 예에서, SCT 필드가 64비트인지 여부를 나타내는 정보는 SCT Hi 필드일 수 있다.
또한 일 실시 예에 따른 확장된 헤더는 SCT 필드가 32비트인지 여부를 나타낼 수 있다. 구체적으로 확장된 헤더는 SCT 필드가 32비트로 구성되어 확장된 헤더에 포함되어 있는지 여부를 나타낼 수 있다. 구체적인 실시 예에서, SCT 필드가 32비트인지 여부를 나타내는 정보는 SCT Low 필드일 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 전송을 위한 오브젝트의 예상되는 잔여 시간 정보를 포함할 수 있다. 상술한 정보는 Expected Residual Time(이하 ERT) 필드일 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 ERT 필드가 해당 패킷에 존재하는지 여부를 나타낼 수 있다. 해당 정보는 ERT flag 필드일 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 세션이 마지막으로 변화된 시간 정보를 포함할 수 있다. 상술한 정보는 SLC 필드일 수 있다.
또한, 일 실시 예에 따른 확장된 헤더는 SLC 필드가 해당 패킷에 존재하는지 여부를 나타낼 수 있다. 해당 정보는 SLC flag 필드일 수 있다.
또한 일 실시 예에 따른 확장된 헤더는 방송 전송 장치가 이용하는 전송 프로토콜에 따라 확장하여 사용할 수 있는 필드를 포함할 수 있다. 해당 필드는 PI-specific Use 필드일 수 있다.
도 122은 도 121의 확장된 헤더에 구성을 추가한 또 다른 실시 예에 따른 확장된 헤더를 나타낸다.
또 다른 실시 예에 따른 확장된 헤더는 패킷 페이로드에 포함된 데이터의 타이밍 정보를 포함할 수 있다. 상술한 정보는 Timestamp 필드일 수 있다. 예를 들어, Timestamp 필드는 패킷 페이로드에 포함된 데이터의 첫 바이트가 디코딩되는 시점에 대한 정보를 포함할 수 있다. 또 다른 예를 들면, Timestamp 필드는 데이터의 재생 시점에 대한 정보를 포함할 수 있다. 더하여, Timestamp 필드는 타임스케일 정보 또는 타임스케일에 기반한 타이밍 정보를 포함할 수도 있다. 여기에서 타임스케일 정보는 전송 오브젝트의 디코딩 또는 재생 시점에 대한 시간을 나타내는 단위일 수 있다. 타임스케일에 기반한 타이밍 정보인 경우, 방송 수신 장치는 Timestamp 필드의 값을 타임스케일을 곱하여 디코딩 또는 재생 시점에 대한 정보를 획득할 수 있다.
또 다른 실시 예에 따른 확장된 헤더는 Timestamp 필드의 포맷 정보를 포함할 수 있다. 상술한 정보는 TS format 필드일 수 있다. 구체적인 실시 예에서 TS format 필드는 전송 패킷에 포함된 타이밍 정보가 미디어 타임(media time)의 포맷임을 나타낼 수 있다. 미디어 타임은 임의의 미디어 타임라인에 따른 미디어 재생 시간일 수 있다. 이 경우, TS format 필드는 0x01로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 NTP(Network Time Protocol)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x02로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 노말 재생 타임의 포맷임을 나타낼 수 있다. 노말 재생 타임의 포맷은 재생 시작 시점으로부터 상대적으로 표현되는 재생시간일 수 있으며 이는 시, 분, 초, 초이하 소수점 단위로 표현될 수 있다. 이 경우, TS format 필드는 0x03으로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 SMPTE time code의 포맷임을 나타낼 수 있다. SMPTE(Society of Motion Picture and Television Engineers) time code는 SMPTE에서 정의한 타임코드이다. 구체적으로, SMPTE 타임 코드는 SMPTE에서 비디오의 개별적인 프레임 라벨링을 위해 정의한 시간 정보 형식일 수 있다. 이 경우, TS format 필드는 0x04로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 90KHz 기반의 타이밍 정보임을 나타낼 수 있다. 이 경우, TS format 필드는 0x05로 설정될 수 있다.
또 다른 실시 예에 따른 확장된 헤더는 timestamp 필드의 구성을 나타낼 수 있다. 타이밍 정보의 구성을 나타내는 정보를 TS version 필드라고 할 수 있다. 예를 들면, TS version 필드는 timestamp 필드가 32비트임을 나타낼 수 있다. 이 경우, TS version 필드는 0으로 설정될 수 있다. 또 다른 예를 들면, TS version 필드는 timestamp 필드가 64비트임을 나타낼 수 있다. 이 경우, TS version 필드는 1로 설정될 수 있다.
도 123 내지 도 126은 본 발명의 또 다른 일 실시 예에 따른 확장된 헤더의 구성을 나타낸다. 구체적으로 도 123 내지 도 126에서 도시된 확장된 헤더 구조는 전송을 위한 오브젝트 타입 정보 및 타이밍 정보 중 적어도 하나를 포함할 수 있다. 또한, 해당 확장된 헤더 구조는 상술하였던 확장된 헤더 필드(Header extension)에 포함될 수 있다. 또한, 컨텐트를 전송하는 패킷 헤더의 일부로 사용될 수도 있다.
도 123에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조(EXT_OBJ_INFO)는 헤더 확장 부분의 타입 정보를 포함할 수 있다. 상술한 타입 정보는 HET 필드라고 할 수 있다. 또한 확장된 헤더 구조는 헤더 확장 부분의 길이 정보를 포함할 수 있다. 상술한 길이 정보는 HEL 필드라고 할 수 있다. 또한 확장된 헤더 구조는 전송 오브젝트의 타입 정보를 포함할 수 있다. 상술한 오브젝트 타입 정보는 Object type 필드라고 할 수 있다.
구체적인 실시 예에서 Object type 필드는 전송 오프젝트가 레귤러 파일의 타입임을 나타낼 수 있다. 여기에서 레귤러 파일은 ISO BMFF 기반의 미디어 파일일 수 있다. 구체적으로 레귤러 파일은 미디어 파일을 ISO BMFF 형식으로 인켑슐레이션한 것일 수 있다. 이 경우, Object type 필드는 0x01로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 HTTP entity 타입임을 나타낼 수 있다. 이 경우, Object type 필드는 0x02로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 오디오 데이터 타입임을 나타낼 수 있다. Object type 필드는 전송 오브젝트가 AAC를 기반으로 하는 오디오 데이터 타입임을 나타낼 수 있다. 이때, AAC를 기반으로 하는 오디오 데이터 타입은 AAC로 인코딩된 오디오 데이터일 수 있다. 이 경우, Object type 필드는 0x03으로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 비디오 데이터임을 나타낼 수 있다. 구체적으로 Object type 필드는 전송 오브젝트가 H.264 타입임을 나타낼 수 있다. 이 경우, Object type 필드는 0x04로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 HEVC 기반 비디오 데이터 타입임을 나타낼 수 있다. 이때, HEVC 기반 비디오 데이터 타입은 HEVC로 인코딩된 비디오 데이터일 수 있다. 이 경우, Object type 필드는 0x05로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 ISO BMFF 기반의 파일 타입임을 나타낼 수 있다. 이 경우, Object type 필드는 0x06으로 설정될 수 있다. 또 다른 실시 예에서 Object type 필드는 전송 오브젝트가 메타데이터임을 나타낼 수 있다. 이 경우, Object type 필드는 0x07로 설정될 수 있다.
또한, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조(EXT_OBJ_INFO)는 해당 전송 패킷이 전송 오브젝트의 첫 부분 또는 끝 부분을 포함하고 있음을 나타낼 수 있다. 전송 패킷이 전송 오브젝트의 첫 부분 또는 끝 부분을 포함함을 나타내는 정보는 마커 비트 (marker bit)일 수 있다. 구체적인 실시 예에서 마커 비트는 M 필드일 수 있다. M 필드는 Object type 필드에 따라 다르게 해석될 수 있다. 예를 들면, 전송을 위한 오브젝트의 타입이 파일인 경우, 해당 전송 패킷이 파일의 끝 부분을 포함하고 있음을 나타낼 수 있다. 여기에서 끝 부분은 파일의 마지막 비트를 포함하고 있는 부분이다. 또 다른 예를 들면, 전송을 위한 오브젝트의 타입이 AV 데이터(Audio or Video)인 경우, 해당 전송 패킷이 액세스 유닛의 처음 또는 마지막 비트를 포함하고 있음을 나타낼 수 있다.
또한, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조(EXT_OBJ_INFO)는 패킷 페이로드에 포함된 데이터의 타이밍 정보를 포함할 수 있다. 상술한 정보는 Timestamp 필드일 수 있다. 예를 들어, Timestamp 필드는 패킷 페이로드에 포함된 데이터의 첫 바이트가 디코딩되는 시점에 대한 정보를 포함할 수 있다. 또 다른 예를 들면, Timestamp 필드는 데이터의 재생 시점에 대한 정보를 포함할 수 있다. 더하여, Timestamp 필드는 타임스케일 정보 또는 타임 스케일에 기반한 타이밍 정보를 포함할 수도 있다. 여기에서 타임스케일 정보는 전송 오브젝트의 디코딩 또는 재생 시점에 대한 시간을 나타내는 단위일 수 있다. 타임스케일에 기반한 타이밍 정보인 경우, 방송 수신 장치는 Timestamp 필드의 값을 타임스케일을 곱하여 디코딩 또는 재생 시점에 대한 정보를 획득할 수 있다.
도 124는 도 123의 확장된 헤더 구조에 일부 구성이 추가된 또 다른 실시 예를 나타낸다.
도 124에 도시된 바와 같이 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조는 해당 확장된 헤더 구조에 timestamp 필드가 존재하는지 여부를 나타낼 수 있다. Timestamp 필드의 존재 여부를 나타내는 정보는 TS flag 필드라고 할 수 있다. 구체적인 실시 예에서 TS flag 필드가 1로 설정된 경우, TS flag 필드는 해당 헤더 구조에 timestamp 필드가 존재함을 나타낼 수 있다.
또한, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조는 Timestamp 필드의 포맷 정보를 포함할 수 있다. 상술한 정보는 TS format 필드일 수 있다. 구체적인 실시 예에서 TS format 필드는 전송 패킷에 포함된 타이밍 정보가 미디어 타임(media time)의 포맷임을 나타낼 수 있다. 미디어 타임은 임의의 미디어 타임라인에 따른 미디어 재생 시간일 수 있다. 이 경우, TS format 필드는 0x01로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 NTP(Network time protocol)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x02로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 노말 재생 타임의 포맷임을 나타낼 수 있다. 노말 재생 타임의 포맷은 재생 시작 시점으로부터 상대적으로 표현되는 재생시간일 수 있으며 이는 시, 분, 초, 초이하 소수점 단위로 표현될 수 있다.이 경우, TS format 필드는 0x03으로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 SMPTE time code의 포맷임을 나타낼 수 있다. SMPTE time code는 SMPTE(Society of motion picture and television engineers)에서 정의한 타임코드이다. 이 경우, TS format 필드는 0x04로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 90KHz 기반의 타이밍 정보임을 나타낼 수 있다. 이 경우, TS format 필드는 0x05로 설정될 수 있다.
또한, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조는 timestamp 필드의 구성을 나타낼 수 있다. 구체적으로 확장된 헤더의 구조는 timestamp 필드에 포함된 오브젝트 재생 또는 디코딩과 관련된 타이밍 정보의 구성을 나타낼 수 있다. 상술한 정보를 TS version 필드라고 할 수 있다. 예를 들면, TS version 필드는 timestamp 필드가 32비트임을 나타낼 수 있다. 이 경우, TS version 필드는 0으로 설정될 수 있다. 또 다른 예를들면, TS version 필드는 timestamp 필드가 64비트임을 나타낼 수 있다. 이 경우, TS version 필드는 1로 설정될 수 있다.
도 125는 도 123의 확장된 헤더 구조에 일부 구성이 추가된 또 다른 실시 예를 나타낸다.
도 125에 도시된 바와 같이 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조는 전송 오브젝트와 관련된 부가 정보를 포함할 수 있다. 구체적인 실시 예에서 확장된 헤더의 구조는 오브젝트의 위치 정보를 포함할 수 있다. 예를 들면, 오브젝트의 위치 정보는 ISO BMFF를 기반으로 하는 세그먼트의 URL 정보를 나타낼 수 있다. 구체적으로 오브젝트의 위치 정보는 ISO BMFF를 기반으로 하는 세그먼트를 다운로드 받을 수 있는 URL 정보를 나타낼 수 있다. 이 경우, 전송 오브젝트와 관련된 부가 정보는 Extension 필드라고 할 수 있다.
또한, 본 발명의 또 다른 실시 예에 따른 확장된 헤더의 구조는 해당 확장된 헤더 구조에 Extension 필드가 존재하는지 여부를 나타낼 수 있다. 이 경우, Extension 필드가 존재하는지 여부를 나타내는 정보는 Ext Flag 필드라고 할 수 있다.
도 126은 도 123의 새로운 헤더 확장 구조가 패킷 헤더의 일부로 사용된 일 실시 예를 나타낸다. 도 126에 도시된 바와 같이, 패킷 헤더의 일부가 전송 오브젝트의 타이밍 정보를 포함할 수 있다. 전송 오브젝트의 타이밍 정보를 포함하는 패킷 헤더의 일부는 EXT_MEDIA_TIME 필드일 수 있다.
EXT_MEDIA_TIME 필드는 패킷 페이로드에 포함된 데이터의 타이밍 정보를 포함할 수 있다. 상술한 정보는 Timestamp 필드일 수 있다. 예를 들어, Timestamp 필드는 패킷 페이로드에 포함된 데이터의 첫 바이트가 디코딩되는 시점에 대한 정보를 포함할 수 있다. 또 다른 예를 들면, Timestamp 필드는 데이터의 재생 시점에 대한 정보를 포함할 수 있다. 더하여, Timestamp 필드는 타임스케일 정보 또는 타임 스케일에 기반한 타이밍 정보를 포함할 수도 있다. 여기에서 타임스케일 정보는 전송 오브젝트의 디코딩 또는 재생 시점에 대한 시간을 나타내는 단위일 수 있다. 타임스케일에 기반한 타이밍 정보인 경우, 방송 수신 장치는 Timestamp 필드의 값을 타임스케일을 곱하여 디코딩 또는 재생 시점에 대한 정보를 획득할 수 있다.
또한, EXT_MEDIA_TIME 필드는 Timestamp 필드의 포맷 정보를 포함할 수 있다. 상술한 정보는 TS format 필드일 수 있다. 구체적인 실시 예에서 TS format 필드는 전송 패킷에 포함된 타이밍 정보가 미디어 타임(media time)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x01로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 NTP(Network Time Protocol)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x02로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 노말 재생 타임의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x03으로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 SMPTE time code의 포맷임을 나타낼 수 있다. SMPTE time code는 SMPTE(Society of motion picture and television engineers)에서 정의한 타임코드이다. 이 경우, TS format 필드는 0x04로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 90KHz 기반의 타이밍 정보임을 나타낼 수 있다. 이 경우, TS format 필드는 0x05로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타이밍 정보가 GPS time 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x06으로 설정될 수 있다.
또한, EXT_MEDIA_TIME 필드는 timestamp 필드의 구성을 나타낼 수 있다. 확장된 헤더의 구조는 timestamp 필드에 포함된 오브젝트 재생 또는 디코딩과 관련된 타이밍 정보의 구성을 나타낼 수 있다. 상술한 정보를 TS version 필드라고 할 수 있다. 예를 들면, TS version 필드는 timestamp 필드가 32비트임을 나타낼 수 있다. 이 경우, TS version 필드는 0으로 설정될 수 있다. 또 다른 예를 들면, TS version 필드는 timestamp 필드가 64비트임을 나타낼 수 있다. 이 경우, TS version 필드는 1로 설정될 수 있다.
또한, EXT_MEDIA_TIME 필드는 타이밍 정보와 관련된 추가적인 정보를 포함할 수 있다. 예를 들면, 매핑될 타이밍 정보와 연관된 데이터 정보가 포함될 수 있다. 타이밍 정보와 관련된 추가적인 정보는 Extension 필드라고 할 수 있다.
또한, EXT_MEDIA_TIME 필드는 Extension 필드의 구성에 대한 정보를 포함할 수 있다. 구체적으로 Extension 필드에는 다양한 정보가 포함될 수 있으며, 다양한 정보마다 플래그(flag)가 집합을 이루고 있을 수 있다. 이 경우, 플래그의 집합을 Ext Flags 필드라고 할 수 있다.
방송 수신 장치(100)가 방송 수신부를 통해 수신한 전송 오브젝트가 다른 형식 또는 다른 기준 시간을 가지는 타이밍 정보와 동기화가 필요할 수 있다. 구체적으로 방송 수신 장치(100)는 전송 오브젝트의 타이밍 정보와 다른 형식 또는 기준 시간을 가지는 동기화를 위한 기준이 되는 기본 타임라인(base timeline)에 전송 오브젝트의 타이밍 정보를 동기화해야 할 수 있다. 일 실시 예에서 동기화하는 타이밍 정보는 전송 오브젝트의 재생 타이밍일 수 있다. 또 다른 실시 예에서 동기화하는 타이밍 정보는 전송 오브젝트의 디코딩 타이밍일 수 있다. 이 경우, 방송 전송 장치는 다른 타이밍 정보와 전송 오브젝트의 타이밍 정보간의 매핑 관계에 대한 정보를 방송 수신 장치(100)에 전송해야 한다. 상술한 과제를 해결하기 위한 본 발명의 일 실시 예에서, 앞서 기재한 timeline_component_AU를 포함하는 메타데이터를 하나의 전송 오브젝트로 하여 전송할 수 있다.
상술한 과제를 해결하기 위한 또 다른 실시 예에서, 앞서 기재한 확장된 헤더는 전송 오브젝트의 타이밍 정보와 다른 별도의 매핑 정보를 포함할 수 있다. 구체적으로, 확장된 헤더(EXT_TIME_MAP)는 전송 오브젝트의 타임스탬프를 다른 timeline에 매핑하기 위한 정보를 포함할 수 있다. 예를 들면, 방송 수신 장치(100)는 제어부(150)를 통해 상술한 정보를 이용하여 패킷 페이로드의 재생 시간을 GPS 타임에 매핑할 수 있다. 이 경우, GPS 타임이 기본 타임라인일 수 있다.
도 127은 본 발명의 일 실시 예에 따른, 다른 타이밍 정보와의 매핑을 지원하기 위한 확장된 헤더의 구조를 나타낸다.
도 127에 도시된 바와 같이 확장된 헤더는 Timestamp 필드의 포맷 정보를 포함할 수 있다. 상술한 정보는 TS format 필드일 수 있다. 구체적인 실시 예에서 TS format 필드는 전송 패킷에 포함된 타임스탬프가 미디어 타임(media time)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x01로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타임스탬프가 NTP(Network Time Protocol)의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x02로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타임스탬프가 노말 재생 타임의 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x03으로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타임스탬프가 SMPTE time code의 포맷임을 나타낼 수 있다. SMPTE time code는 SMPTE(Society of motion picture and television engineers)에서 정의한 타임코드이다. 이 경우, TS format 필드는 0x04로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타임스탬프가 90KHz 기반의 타임스탬프임을 나타낼 수 있다. 이 경우, TS format 필드는 0x05로 설정될 수 있다. 또한, TS format 필드는 전송 패킷에 포함된 타임스탬프가 GPS time 포맷임을 나타낼 수 있다. 이 경우, TS format 필드는 0x06으로 설정될 수 있다.
또한, 확장된 헤더는 timestamp 필드의 버전 또는 구성을 나타낼 수 있다. 확장된 헤더의 구조는 timestamp 필드에 포함된 오브젝트 재생 또는 디코딩과 관련된 타이밍 정보의 구성을 나타낼 수 있다. 상술한 정보를 TS version 필드라고 할 수 있다. 예를 들면, TS version 필드는 timestamp 필드가 32비트임을 나타낼 수 있다. 이 경우, TS version 필드는 0으로 설정될 수 있다. 또 다른 예를들면, TS version 필드는 timestamp 필드가 64비트임을 나타낼 수 있다. 이 경우, TS version 필드는 1로 설정될 수 있다.
또한, 확장된 헤더는 전송 오브젝트의 타임스탬프가 매핑되는 타임라인의 타이밍 정보가 존재하는지 여부를 나타낼 수 있다. 이 경우, 존재 여부를 나타내는 정보는 OTS flag 필드라고 할 수 있다. 구체적인 일 실시 예에서 OTS flag 필드가 1로 설정된 경우, 전송 오브젝트의 타임스탬프가 매핑되는 타임라인의 타이밍 정보가 존재함을 나타낼 수 있다.
*또한, 확장된 헤더는 전송 오브젝트의 타임스탬프가 매핑되는 타임라인의 타임스탬프 포맷을 나타낼 수 있다. 구체적으로 전송 오브젝트의 타임스탬프는 오브젝트의 재생 시간 및 디코딩 시간 중 적어도 하나일 수 있다. 또한, 전송 오브젝트이 타임 스탬프와 매핑될 타임라인은 기본 타임라인일 수 있다. 여기에서 기본 타임라인(Base timeline)은 복수의 서로 다른 타임라인간의 동기화를 위해 필요한 기준 타임라인이다.
상술한 정보는 OTS format 필드일 수 있다. 구체적인 실시 예에서 OTS format 필드는 전송 패킷에 포함된 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 미디어 타임(media time)의 포맷임을 나타낼 수 있다. 이 경우, OTS format 필드는 0x01로 설정될 수 있다. 또한, OTS format 필드는 전송 패킷에 포함된 타이밍 정보가 NTP(Network Time Protocol)의 포맷임을 나타낼 수 있다. 이 경우, OTS format 필드는 0x02로 설정될 수 있다. 또한, OTS format 필드는 전송 패킷에 포함된 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 노말 재생 타임의 포맷임을 나타낼 수 있다. 이 경우, OTS format 필드는 0x03으로 설정될 수 있다. 또한, OTS format 필드는 전송 패킷에 포함된 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 SMPTE time code의 포맷임을 나타낼 수 있다. SMPTE time code는 SMPTE(Society of motion picture and television engineers)에서 정의한 타임코드이다. 이 경우, OTS format 필드는 0x04로 설정될 수 있다. 또한, OTS format 필드는 전송 패킷에 포함된 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 90KHz 기반의 타이밍 정보임을 나타낼 수 있다. 이 경우, OTS format 필드는 0x05로 설정될 수 있다. 또한, OTS format 필드는 전송 패킷에 포함된 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 GPS time 포맷임을 나타낼 수 있다. 이 경우, OTS format 필드는 0x06으로 설정될 수 있다.
또한, 확장된 헤더는 오브젝트의 타임스탬프와 전송 오브젝트의 타임스탬프와 매핑되는 타임라인의 타임스탬프의 버전 또는 구성을 나타낼 수 있다. 구체적으로 전송 오브젝트의 타임스탬프는 오브젝트의 재생 시간 및 디코딩 시간 중 적어도 하나일 수 있다. 또한, 전송 오브젝트이 타임 스탬프와 매핑될 타임라인은 기본 타임라인일 수 있다. 여기에서 기본 타임라인(Base timeline)은 복수의 서로 다른 타임라인간의 동기화를 위해 필요한 기준 타임라인이다.
이 경우, 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프의 구성 또는 버전을 나타내는 정보를 OTS version 필드라고 할 수 있다. 예를 들면, OTS version 필드는 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 32비트임을 나타낼 수 있다. 이 경우, OTS version 필드는 0으로 설정될 수 있다. 또 다른 예를 들면, OTS version 필드는 전송 오브젝트의 타임스탬프와 매핑되는 타임스탬프가 64비트임을 나타낼 수 있다. 이 경우, OTS version 필드는 1로 설정될 수 있다.
또한, 확장된 헤더는 위치 정보를 포함하는지 여부를 나타낼 수 있다. 이 경우, 위치 정보를 포함하는지 여부를 나타내는 정보는 Location flag 필드일 수 있다. 예를 들면, Location flag 필드가 1로 설정된 경우, 해당 확장된 헤더에 위치 정보가 포함되어 있음을 나타낼 수 있다.
또한, 확장된 헤더는 전송 오브젝트의 타임스탬프 및 전송 오브젝트의 타임스탬프와 전송 오브젝트의 타임스탬프와 매핑되는 타임라인의 타이밍 정보를 포함할 수 있다. 상술한 정보는 timestamp 필드라고 할 수 있다.
또한, 확장된 헤더는 해당 확장된 헤더의 타임스탬프와 전송 오브젝트의 타임스탬프와 매핑되는 전송 오브젝트와 연관된 타이밍 정보를 포함할 수 있다. 상술한 정보는 Origin time stamp 필드일 수 있다.
또한, 확장된 헤더는 전송 오브젝트의 타임스탬프와 매핑되는 타임라인과 연관된 데이터의 위치 정보를 포함할 수 있다. 상술한 정보는 Location 필드일 수 있다. 일 실시 예에서 특정 ISO BMFF 기반 데이터 세그먼트의 타임라인과 매핑이 필요한 경우, Location 필드는 해당 데이터 세그먼트의 URL을 포함할 수 있다.
도 128은 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 방법을 나타낸다.
방송 전송 장치는 제어부를 통해 전송을 위한 오브젝트를 획득한다(S401). 일 실시 예에서 오브젝트는 AV 컨텐트일 수 있다. 또 다른 실시 예에서 오브젝트는 AV 컨텐트와 연관되는 향상된 데이터(Enhancement data)일 수 있다.
방송 전송 장치는 제어부를 통해 오브젝트의 시간 정보 및 포맷 정보를 획득한다(S403). 일 실시 예에서 시간 정보는 전송 오브젝트의 타임스탬프일 수 있다. 또 다른 실시 예에서 시간 정보는 전송 오브젝트의 타임스탬프와 매핑될 타임라인의 타이밍 정보일 수 있다. 또 다른 실시 예에서 시간 정보는 확장된 헤더 구조의 타임스탬프일 수 있다. 또 다른 실시 예에서 시간 정보는 확장된 헤더 구조의 타임스탬프와 매핑될 전송 오브젝트의 타이밍 정보일 수 있다. 또한, 포맷 정보는 레귤러 파일, HTTP 엔티티 및 오디오 또는 비디오 액세스 유닛 중 적어도 하나일 수 있다.
구체적으로 전송 오브젝트의 타임스탬프는 오브젝트의 재생 시간 및 디코딩 시간 중 적어도 하나일 수 있다. 또한, 전송 오브젝트이 타임 스탬프와 매핑될 타임라인은 기본 타임라인일 수 있다. 여기에서 기본 타임라인(Base timeline)은 복수의 서로 다른 타임라인간의 동기화를 위해 필요한 기준 타임라인이다. 예를 들면, 기본 타임라인이 GPS time 일 수 있으며, 전송 오브젝트를 GPS time과 동기화하기 위한 정보가 상술한 확장된 헤더에 포함될 수 있다.
방송 전송 장치는 제어부를 통해 획득한 시간 정보 및 포맷 정보를 패킷 헤더에 설정하여 전송 패킷을 패킷타이징 한다(S405). 구체적으로 방송 전송 장치의 제어부는 획득한 시간 정보를 포함하는 패킷 헤더 및 데이터를 포함하는 패킷 페이로드를 전송 프로토콜에 따라 패킷타이징 한다. 또 다른 실시 예에서 방송 전송 장치는 제어부를 통해 패킷 헤더에 선택적으로 포함될 수 있는 확장된 헤더에 시간 정보 및 포맷 정보를 설정할 수 있다.
*구체적으로 시간 정보는 오브젝트의 재생 시간과 관련된 정보일 수 있다. 재생 시간과 관련된 정보는 전송 오브젝트의 재생 시점(타이밍 정보) 및 디코딩 시점(타이밍 정보) 중 적어도 하나일 수 있다. 또 다른 실시 예에서 추가적인 정보는 전송 오브젝트의 타입 정보일 수 있다. 방송 전송 장치는 일반적인 패킷 헤더에 확장된 헤더의 존재 여부, 확장된 헤더의 길이 및 확장된 헤더의 타입 정보 중 적어도 하나를 설정할 수 있다.
방송 전송 장치를 전송부를 통해 패킷타이징된 전송 패킷을 전송한다(S407). 전송부는 전송 패킷을 지상파 방송망 및 인터넷망 중 적어도 하나를 통해 전송할 수 있다.
도 129는 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 방법을 나타낸다.
방송 수신 장치(100)는 방송 수신부(110)를 통해 전송 패킷을 수신한다(S411). 도 128에서 설명한 바와 같이 전송 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있으며, 패킷 헤더는 확장된 헤더를 선택적으로 포함할 수 있다.
방송 수신 장치(100)의 제어부(150)는 수신한 전송 패킷으로부터 패킷 헤더및 확장된 헤더를 추출한다(S412). 구체직인 일 실시 예에서 제어부(150)는 전송 패킷에 포함된 패킷 헤더를 추출할 수 있다. 또한, 패킷 헤더에 선택적으로 포함될 수 있는 확장된 헤더를 패킷 헤더로부터 추출할 수 있다.
방송 수신 장치(100)의 제어부(150)는 패킷 헤더에 기초하여 전송 오브젝트와 관련된 시간 정보 및 전송 오브젝트의 포맷 정보 중 적어도 하나를 획득한다(S413). 또 다른 일 실시 예에서 제어부(150)는 패킷 헤더에 선택적으로 포함될 수 있는 확장된 헤더로부터 상기 시간 정보 및 포맷 정보 중 적어도 하나를 획득할 수 있다. 구체적인 실시 예에서 제어부(150)는 확장된 헤더에 기초하여 전송 오브젝트의 타임스탬프를 획득할 수 있다. 또한, 제어부(150)는 전송 오브젝트의 포맷 정보를 획득할 수 있다. 전송 오브젝트의 포맷 정보는 레귤러 파일, HTTP 엔티티 및 오디오 또는 비디오 액세스 유닛 중 적어도 하나를 나타낼 수 있다. 여기에서 레귤러 파일이란 ISO BMFF 기반의 미디어 파일일 수 있다.
방송 수신 장치(100)의 제어부(150)는 패킷 헤더로부터 다른 시간 정보와매핑을 위한 정보를 획득할 수 있는지 여부를 판단한다(S414). 구체적으로 제어부(150)는 해당 전송 오브젝트를 위한 시간 정보와 매핑되는 또 다른 시간 정보가 패킷 헤더에 존재하는지 여부를 판단한다. 또 다른 실시 예에서 제어부(150)는 패킷 헤더에 선택적으로 포함될 수 있는 확장된 헤더로부터 추출된 특정 정보에 기초하여 판단할 수 있다.
일 실시 예에서 제어부(150)가 패킷 헤더로부터 다른 시간 정보와 매핑을 위한 정보를 획득할 수 있다고 판단한 경우, 제어부(150)는 패킷 헤더로부터 매핑을 위한 정보를 획득한다(S415). 여기에서 다른 시간 정보는 상술한 기본 타임라인의 타이밍 정보일 수 있다. 또한, 타이밍 정보는 전송 오브젝트의 재생 타이밍 정보 및 디코딩 타이밍 정보 중 적어도 하나를 포함할 수 있다. 구체적인 실시 예에서 제어부(150)는 패킷 헤더에 기초하여 전송 오브젝트와 매핑되는 타임라인의 타이밍 정보를 획득할 수 있다. 또 다른 실시 예에서 제어부(150)는 패킷 헤더에 기초하여 해당 패킷 헤더의 타임스탬프와 매핑되는 전송 오브젝트의 타이밍 정보를 획득할 수 있다. 또한 제어부(150)는 패킷 헤더에 기초하여 전송 오브젝트와 매핑되는 데이터의 위치 정보를 획득할 수도 있다. 또 다른 실시 예에서 제어부(150)는 패킷 헤더에 선택적으로 포함되는 확장된 헤더로부터 매핑을 위한 정보를 획득할 수도 있다.
방송 수신 장치(100)의 제어부(150)는 획득한 시간 정보에 기초하여 전송 오브젝트를 출력한다(S416). 일 실시 예에서 제어부(150)가 다른 시간 정보와 매핑 정보를 획득하지 못한 경우, 해당 전송 오브젝트의 타임스탬프에 기초하여 오브젝트를 출력한다. 또 다른 실시 예에서 제어부(150)가 다른 시간 정보와 매핑 정보를 획득한 경우, 해당 매핑 정보 및 오브젝트의 타임스탬프에 기초하여 오브젝트를 출력한다.
도 130은 전송 패킷의 구성에 대한 정보를 포함하는 패킷 헤더의 구조를 나타낸다.
본 발명의 일 실시 예에 따른 패킷 헤더는 전체 전송 오브젝트 중 처음 또는 마지막 부분의 데이터가 패킷 페이로드에 포함되어 있음을 나타낼 수 있다. 이 경우, 처음 또는 마지막 부분의 데이터가 포함되어 있음을 나타내는 정보는 마커 비트(Marker bit)일 수 있다. 또한, 마커 비트는 M 필드일 수 있다. M 필드는 1비트일 수 있다.
또한, 본 발명의 일 실시 예에 따른 패킷 헤더는 해당 전송 패킷의 구성에 대한 정보를 포함할 수 있다. 이 경우, 전송 패킷의 구성에 대한 정보는 type 필드일 수 있다. Type 필드는 2비트일 수 있다.
*또 다른 경우, 전송 패킷의 구성에 대한 정보는 codepoint 필드에 포함될 수 있다. Codepoint 필드는 8비트일 수 있다.
구체적인 일 실시 예에서 Type 필드는 해당 전송 패킷이 레귤러 패킷 구조임을 나타낼 수 있다. 구체적으로 해당 패킷이 도 68에 도시된 기존의 전송 패킷 구조를 그대로 사용하고 있음을 나타낼 수 있다. 이 경우 전송 패킷은 패킷 헤더, 확장된 헤더, 패킷 페이로드 식별자 및 데이터 중 적어도 어느 하나를 포함할 수 있다. 또한, 방송 전송 장치는 Type 필드를 0x00으로 설정할 수 있다.
또한, 구체적인 일 실시 예에서 Type 필드는 해당 전송 패킷이 페이로드를 포함하고 있지 않음을 나타낼 수 있다. 구체적으로 해당 전송 패킷이 패킷 헤더 및 확장된 헤더만을 포함하고 있음을 나타낼 수 있다. 이 경우, 방송 전송 장치는 Type 필드를 0x01로 설정할 수 있다.
또한, 구체적인 일 실시 예에서 Type 필드는 해당 전송 패킷이 전체 전송 오브젝트에 대한 오프셋(offset) 정보를 포함함을 나타낼 수 있다. 여기에서 오프셋 정보란 해당 전송 패킷의 인코딩 심볼 필드가 포함하고 있는 데이터의 오프셋 정보이다. 다시 말해서, 오프셋 정보는 전체 전송 오브젝트에서 해당 전송 패킷의 데이터의 오프셋 정보를 나타낸다. 이 때 일 실시 예에서, 레귤러 전송 패킷의 구조와 구성은 동일하나, 패이로드 식별자 필드가 데이터 오프셋 필드로 대체될 수 있다. 이 경우, 방송 전송 장치는 Type 필드를 0x02로 설정할 수 있다.
또한, 구체적인 일 실시 예에서 Type 필드는 해당 전송 패킷이 기존의 레귤러 전송 패킷의 구조와 다른 구성을 포함함을 나타낼 수 있다. 이 경우, 방송 전송 장치는 Type 필드를 0x03으로 설정할 수 있다. 구체적인 실시 예에서, Type 필드는 해당 전송 패킷이 페이로드 식별자 필드를 포함하고 있지 않음을 나타낼 수 있다. 이 경우, 방송 전송 장치는 Type 필드를 0x04으로 설정할 수 있다.도 80은 도 130에서 설명한 전송 패킷의 구성을 나타내는 도면이다. 도 131에 도시된 바와 같이 Type 필드는 전송 패킷의 구조를 나타낼 수 있다. 그러나, 도 131에 도시된 전송 패킷에 한정되는 것은 아니며, 반드시 도 131에 설정된 값으로 본 발명이 한정되는 것은 아니다.
도 132는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 방법을 나타낸다.
방송 전송 장치는 제어부를 통해 전송 패킷의 구조 정보를 획득한다(S421). 일 실시 예에서 전송 패킷의 구조는 기존의 레귤러 패킷 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 패킷 헤더 및 확장된 헤더만으로 구성된 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 기존의 페이로드 식별자를 대체하는 구성을 포함하는 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 페이로드 식별자를 포함하지 않는 구조일 수 있다.
방송 전송 장치는 제어부를 통해 획득한 전송 패킷의 구조에 기초하여, 해당 구조의 정보를 나타내는 값을 패킷 헤더에 설정해 전송 패킷을 패킷타이징한다(S423). 구체적으로 제어부는 해당 구조의 정보를 Type 필드에 설정할 수 있다.
방송 전송 장치는 전송부를 통해 패킷타이징된 전송 패킷을 전송한다(S425). 일 실시 예에서 전송부는 패킷타이징된 전송 패킷을 지상파 방송망으로 전송할 수 있다. 또 다른 실시 예에서 전송부는 패킷타이징된 전송 패킷을 인터넷망으로 전송할 수도 있다.
도 133은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 방법을 나타낸다.
방송 수신 장치(100)는 방송 수신부(110)을 통해서 전송 패킷을 수신한다(S431). 일 실시 예에서 방송 수신부(110)는 지상파 방송망을 통해 전송 패킷을 수신할 수 있다. 또 다른 실시 예에서 IP 커뮤니케이션 유닛(130)은 인터넷망을 통해 전송 패킷을 수신할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해, 수신한 전송 패킷에서 패킷 헤더를 추출한다(S433). 구체적으로 전송 패킷은 패킷 헤더 및 패킷 페이로드 중 적어도 하나를 포함할 수 있다. 따라서, 제어부(150)는 전송 패킷에서 패킷 페이로드를 시그널링하는 패킷 헤더를 추출할 수 있다.
방송 수신 장치(100)는 추출한 패킷 헤더로부터 전송 패킷의 구성 정보를 획득한다(S435). 구체적으로 패킷 헤더는 전송 패킷의 구조를 나타내는 정보를 포함할 수 있다. 따라서, 방송 수신 장치(100)는 제어부(150)를 통해 패킷 헤더로부터 전송 패킷의 구조를 나타내는 정보를 획득할 수 있다. 일 실시 예에서 전송 패킷의 구조는 기존의 레귤러 전송 패킷 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 패킷 헤더 및 확장된 헤더만을 포함하는 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 패킷 페이로드 식별자를 대체하는 오프셋 정보를 포함하는 구조일 수 있다. 또 다른 실시 예에서 전송 패킷의 구조는 패킷 페이로드 식별자를 포함하지 않는 구조일 수 있다.
도 134 는 본 발명의 일 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 타임라인 레퍼런스 정보 AU(timeline reference information AU) 를 도시한 도면이다.
본 발명은 전술한 타임라인 레퍼런스 정보 AU 에 SPD(Suggested Presentation Delay) 를 삽입하여 전송하는 것을 제안한다. 또한, 본 발명은 전술한 LCT 패킷 필드의 확장에 SPD 를 삽입하여 전송하는 것을 제안한다. 이를 통해, 서로 다른 망(예를 들어 인터넷망과 방송망)을 통해 전송되는 미디어 스트림의 타임라인이 수신기에서 재구성되어 원활히 재생될 수 있다. 또한, SPD 가 반영된 타임라인 레퍼런스/타임 스탬프를 전송함으로써, 서로 다른 수신 환경에 존재하는 수신기간의 동기화를 효과적으로 지원할 수 있다.
SPD 는 외부망 또는 내부망으로 전송되는 미디어 스트림의 생성 시점을 기준으로 소비 시점까지의 제안 지연 시간을 의미할 수 있다. 또는 실시예에 따라 SPD 는 미디어 스트림의 인코딩 시점을 기준으로 디코딩 시점까지의 제안 지연 시간을 의미할 수 있다. 또는 미디어 스트림의 랜덤 엑세스(Random Access)가 가능한 특정 단위를 방송 스트림에 적재할 때, 해당 단위의 첫 번째 바이트가 적재되는 시간에서 해당 단위의 마지막 바이트가 적재되는 시간의 차이를 의미할 수 있다. 해당 데이터 단위는 RAP(Random Access Point)를 포함할 수 있다. SPD 의 기준이 되는 양 시점은 실시예에 따라 변경될 수 있다. SPD, 즉 제안 지연 시간은 수신기의 버퍼 타임(BT, Buffer Time) 에 따른 재생 시간의 차이를 보완하는데 사용될 수 있다. 복수개의 수신기에 있어, 프랙티컬 네트워크 밴드위스(practical network bandwidth)가 다르므로, 버퍼 타임이 수신기마다 각각 다를 수 있다. 버퍼 타임의 차이에 따라, 같은 미디어 데이터가 전송측에서 방송되었어도, 수신기에서의 재생시간은 각기 다를 수 있다. 이를 보완해, 타임라인 레퍼런스 또는 타임스탬프 값에 SPD 를 반영함으로써, 수신기마다 동일한 시간에 같은 미디어를 재생할 수 있다. 또는 미디어 스트림의 랜덤 엑세스가 가능한 특정 단위가 방송 스트림을 통해 전송될 때, 해당 단위에 포함된 가장 빠른 재생시각(presentation time)을 도출하는데 사용될 수 있다. 해당 단위에 포함된 가장 빠른 재생시각(presentation time)은 데이터를 나르는 패킷이 생성된 서버의 시간 (Sender Current Time)과 상기 SPD가 고려된 재생 타임스탬프(presentation timestamp), 패킷의 실제 수신 시간 등을 고려하여 도출될 수 있다.
SPD 는 타임라인 레퍼런스 정보 AU 를 이용하여 내부망 또는 외부망으로 전송되는 미디어 스트림의 타임라인을 재구성할 때 반영될 수 있다. 즉, 내부망 또는 외부망의 타임라인을 재구성할 때, 내부망 또는 외부망의 타임라인 레퍼런스 값에 SPD 값을 빼서, 제안 지연 시간이 반영된 타임라인이 구성될 수 있다.
또한, SPD 는 해당 미디어 데이터의 프레젠테이션 타임(presentation time) 등의 정보를 포함하는 타임스탬프가 전달되어 동기화가 수행되는 경우에 반영될 수 있다. 즉, 타임스탬프를 이용한 동기화에 있어, 타임스탬프 값에 SPD 의 값을 더하여 제안 지연 시간이 반영된 동기화가 수행될 수 있다.
전술한 바와 같이 타임라인 레퍼런스 정보 AU 는, 서로 다른 망을 통해 전송되는 스트림간의 동기화를 위해 사용될 수 있다. 여기서, 도시된 타임라인 레퍼런스 정보 AU 는 전술한 타임라인 컴포넌트 AU(Timeline component AU), 또는 타임라인 레퍼런스 정보 AU(timeline reference information AU) 의 또 다른 실시예일 수 있다.
본 발명의 일 실시예에 따른 SPD 를 포함하는 타임라인 레퍼런스 정보 AU 의 각 필드들 및 구조를 설명한다.
AU_identifier 필드는 전술한 AU_identifier 정보를 의미할 수 있다. 즉, AU_identifier 필드는 해당 타임라인 레퍼런스 정보 AU 를 식별할 수 있다. 또한, AU_identifier 필드는 해당 타임라인 레퍼런스 정보 AU 가 어떠한 구조를 가지고 있는지를 식별할 수도 있다. 실시예에 따라 AU_identifier 필드는 8 비트의 크기를 가질 수 있다.
AU_length 필드는 전술한 AU_length 정보를 의미할 수 있다. 즉, AU_length 필드는 해당 타임라인 레퍼런스 정보 AU 의 길이 정보를 포함할 수 있다. 본 필드는 실시예에 따라, 32 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
external_media_URL_flag 필드는 전술한 external_media_URL_flag 정보를 의미할 수 있다. external_media_URL_flag 필드는 해당 타임라인 레퍼런스 정보 AU 가 external_media_URL 필드를 가지는 지를 지시하는 플래그(flag) 일 수 있다. 즉, 본 필드는 외부 망을 통해 전송되는 스트림의 URL 정보가 타임라인 레퍼런스 정보 AU 에 포함되어 있는지 여부를 지시할 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다.
internal_timeline_reference_flag 필드는 전술한 internal_timeline_reference_flag 정보를 의미할 수 있다. internal_timeline_reference_flag 필드는 해당 타임라인 레퍼런스 정보 AU 가 internal_timeline_reference 필드를 포함하고 있는지 여부를 지시하는 플래그일 수 있다. 즉, 본 필드는 내부 망의 타임라인 레퍼런스 정보가 타임라인 레퍼런스 정보 AU 에 포함되어 있는지 여부를 지시할 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다.
external_timeline_reference_flag 필드는 전술한 external_timeline_reference_flag 정보를 의미할 수 있다. external_timeline_reference_flag 필드는 해당 타임라인 레퍼런스 정보 AU 가 external _timeline_reference 필드를 포함하고 있는지 여부를 지시하는 플래그일 수 있다. 즉, 본 필드는 외부 망의 타임라인 레퍼런스 정보가 타임라인 레퍼런스 정보 AU 에 포함되어 있는지 여부를 지시할 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다.
suggested_presentation_delay_flag 필드는 해당 타임라인 레퍼런스 정보 AU 가 suggested_presentation_delay 필드를 포함하는지 여부를 지시할 수 있다. 즉, 본 필드는 SPD 정보가 타임라인 레퍼런스 정보 AU 에 포함되어 있는지 여부를 지시할 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다. suggested_presentation_delay 필드에 대해서는 후술한다.
플래그 필드들 이후에는 일정한 크기의 비트들이, 향후 사용을 위해 남겨져 있을 수 있다(Reserved for furture use). 본 실시예에서는 4 비트의 공간이 향후 사용을 위해 남겨져 있다.
타임라인 레퍼런스 정보 AU 는 내부 망의 타임라인 레퍼런스와 관련된 정보들을 더 포함할 수 있다. external_media_URL_flag 필드의 값에 따라, 타임라인 레퍼런스 정보 AU 는 외부 망을 통해 전송되는 스트림의 URL 정보를 더 포함할 수 있다. 이 때 추가되는 필드들에 대하여 설명한다.
external_media_URL_length 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. external_media_URL_length 필드는 external_media_URL 필드의 길이를 바이트 단위로 표현할 수 있다. 본 필드는 8 비트의 필드로 uimsbf 포맷일 수 있다.
external_media_URL 필드 역시, 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. external_media_URL 필드는 외부망으로 전송되는 미디어의 위치 정보 및/또는 해당 미디어의 고유 식별 정보를 포함할 수 있다. 이 정보들을 통해 외부망으로 전송되는 미디어에 접근할 수 있다. 예를 들어, 외부망을 통해 전송되는 미디어가 DASH 에 따른 미디어일 경우, 미디어의 해당 MPD 의 MPD URL, MPD ID 등의 정보가 external_media_URL 필드에 포함될 수 있다. 본 필드는 external_media_URL_length 필드가 지시하는 값에 해당하는 비트수를 가질 수 있다. 또는 실시예에 따라 본 필드는 external_media_URL_length 필드가 지시하는 값에 8 을 곱한 만큼의 비트수를 가질 수 있다.
타임라인 레퍼런스 정보 AU 는 내부 망의 타임라인 레퍼런스와 관련된 정보들을 더 포함할 수 있다. internal_timeline_reference_flag 필드의 값에 따라, 타임라인 레퍼런스 정보 AU 는 내부 망의 타임라인과 관련된 추가 필드들을 더 포함할 수 있다. 이 때 추가되는 필드들에 대하여 설명한다.
internal_timeline_reference_format 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. internal_timeline_reference_format 필드는 타임라인 레퍼런스 정보 AU 에 포함된 내부 망의 타임라인 레퍼런스 정보의 포맷을 나타낼 수 있다. 예를 들어, 본 필드가 0x00 값을 가질 경우 내부 망의 타임라인 레퍼런스 정보는 미디어 타임(media time) 포맷, 0x01 값을 가질 경우 NTP(Network Time Protocol) 포맷, 0x02 값을 가질 경우 PTP 포맷, 0x03 값을 가질 경우 타임코드(timecode) 포맷을 가질 수 있다. 0x04 내지 0xFF 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(Reserved for future use). 본 필드는 8 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
internal_timeline_reference_timescale_flag 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. internal_timeline_reference_timescale_flag 필드는 타임라인 레퍼런스 정보 AU 에 내부망의 타임 라인 레퍼런스 정보의 시간 단위(time scale) 가 포함되었는지 여부를 나타내는 플래그일 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다.
internal_timeline_reference_length 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. internal_timeline_reference_length 필드는 타임라인 레퍼런스 정보 AU 에 포함된 내부 망의 타임라인 레퍼런스 정보의 길이를 바이트 단위로 나타낼 수 있다. 본 필드는 7 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
internal_timeline_reference_timescale 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. internal_timeline_reference_timescale 필드는 타임라인 레퍼런스 정보 AU 에 포함된 내부 망의 타임라인 레퍼런스 정보의 시간 단위(time scale) 를 Hz 단위로 나타낼 수 있다. 본 필드는 전술한 internal_timeline_reference_timescale_flag 필드 값에 따라 존재할 수도 존재하지 않을 수도 있다. 본 필드는 32 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
internal_timeline_reference 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. internal_timeline_reference 필드는 내부 망의 타임라인 레퍼런스 정보를 가질 수 있다. 본 필드의 값에 따라 내부망에 의해 전송되는 미디어 스트림의 타임라인이 재구성될 수 있다. 본 필드는 internal_timeline_reference_length 필드가 지시하는 값에 해당하는 비트수를 가질 수 있다. 또는 실시예에 따라 본 필드는 internal_timeline_reference_length 필드가 지시하는 값에 8 을 곱한 만큼의 비트수를 가질 수 있다.
타임라인 레퍼런스 정보 AU 는 외부 망의 타임라인 레퍼런스와 관련된 정보들을 더 포함할 수 있다. external _timeline_reference_flag 필드의 값에 따라, 타임라인 레퍼런스 정보 AU 는 외부 망의 타임라인과 관련된 추가 필드들을 더 포함할 수 있다. 이 때 추가되는 필드들에 대하여 설명한다.
이 경우 타임라인 레퍼런스 정보 AU 에는, external_timeline_reference_format 필드, external_timeline_reference_timescale_flag 필드, external_timeline_reference_length 필드, external_timeline_reference_timescale 필드 및/또는 external_timeline_reference 필드가 더 포함될 수 있다.
각각의 추가된 필드들은 외부망을 통해 전송되는 미디어 스트림에 관한 정보를 가질 수 있다. 각각의 필드들은 전술한 내부망을 통해 전송되는 미디어 스트림에 관한 필드들과 대응되어, 유사한 동작을 수행할 수 있다. 단, 이 경우, 각 필드들은 내부망이 아닌 외부망에 관한 정보들을 가질 수 있다.
즉, external_timeline_reference_format 필드, external_timeline_reference_timescale_flag 필드, external_timeline_reference_length 필드, external_timeline_reference_timescale 필드 external_timeline_reference 필드들은 각각 전술한 internal_timeline_reference_format 필드, internal_timeline_reference_timescale_flag 필드, internal_timeline_reference_length 필드, internal_timeline_reference_timescale 필드, internal_timeline_reference 필드 와 유사한 동작을 수행할 수 있다.
외부망을 통해 전송되는 미디어 스트림에 관한 필드들은 각각, 외부망을 통해 전송되는 미디어 스트림의 포맷, 시간단위 정보의 존부, 길이, 시간단위, 타임라인 레퍼런스를 지시할 수 있다.
타임라인 레퍼런스 필드 AU 는 SPD 와 관련된 필드들을 더 포함할 수 있다. suggested_presentation_delay_flag 필드의 값에 따라, 타임라인 레퍼런스 필드 AU 는 SPD 와 관련된 추가 필드들을 더 포함할 수 있다. 이 때 추가되는 필드들에 대하여 설명한다.
suggested_presentation_delay_timescale_flag 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. suggested_presentation_delay_timescale_flag 필드는 해당 타임라인 레퍼런스 정보 AU 에 suggested_presentation_delay_timescale 필드가 포함되어 있는지 여부를 지시할 수 있다. suggested_presentation_delay_timescale 필드에 대해서는 후술한다. 즉, 본 필드는 SPD 의 시간 단위 관련 정보가 타임라인 레퍼런스 정보 AU 에 포함되어 있는지 여부를 지시할 수 있다. 본 필드가 0 으로 세팅되어, SPD 의 시간단위 관련 정보가 존재하지 않을 경우, SPD 의 시간 단위는 노말 클락(normal clock) 값으로 표현될 수 있다. 본 필드는 1 비트의 필드로서, blsbf 포맷을 가질 수 있다.
suggested_presentation_delay_length 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. 본 필드는 SPD 의 길이를 바이트 단위로 지시할 수 있다. 본 필드는 7 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
suggested_presentation_delay_timescale 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. 본 필드는 SPD 의 시간단위(time scale) 을 Hz 단위로 지시할 수 있다. 본 필드는 전술한 suggested_presentation_delay_timescale_flag 필드의 값에 따라 그 존부가 결정될 수 있다. 본 필드는 32 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
suggested_presentation_delay 필드가 타임라인 레퍼런스 정보 AU 에 더 포함될 수 있다. 본 필드는 SPD 정보를 가질 수 있다. 즉, 본 필드는 외부망 또는 내부망을 통해 전송되는 미디어 스트림의 생성 시점을 기준으로 소비 시점까지의 제안 지연시간 정보를 포함할 수 있다. 타임라인 레퍼런스 정보 AU 를 이용하여 내부망/외부망의 미디어 스트림의 타임라인이 재구성될 때, 각각의 내부망/외부망의 타임라인 레퍼런스 값에 본 필드의 값을 뺀 값이 반영될 수 있다. 이를 통해 제안 지연 시간이 반영된 타임라인이 구성될 수 있다. 본 필드는 전술한 suggested_presentation_delay_length 필드가 지시하는 값에 해당하는 비트수를 가질 수 있다. 또는 실시예에 따라 본 필드는 suggested_presentation_delay_length 필드가 지시하는 값에 8 을 곱한 만큼의 비트수를 가질 수 있다. 본 필드는 uimsbf 포맷을 가질 수 있다.
도 135 는 본 발명의 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 타임라인 레퍼런스 정보 AU(timeline reference information AU) 를 도시한 도면이다.
도시된 다른 실시예에 따른 SPD 를 포함하는 타임라인 레퍼런스 정보 AU 는, 복수개의 내부망 또는 외부망의 타임라인 레퍼런스 정보를 포함할 수 있다. 전술한 바와 같이, 타임라인 레퍼런스 정보 AU 는 서로 다른 망을 통해 전송되는 미디어 스트림간에 타임라인의 동기화를 위해 사용될 수 있다.
AU_identifier 필드, AU_length 필드, suggested_presentation_delay_flag 필드, external_media_URL_length 필드 및/또는 external_media_URL 필드는 전술한 바와 같다. external_media_location_flag 필드는 전술한 external_media_URL 필드와 같은 역할을 수행할 수 있다.
nb_of_timeline_reference 필드는 해당 타임라인 레퍼런스 정보 AU 에 포함된 타임라인 레퍼런스의 개수를 지시할 수 있다. 전술한 바와 같이, 본 실시예의 타임라인 레퍼런스 정보 AU 는 복수개의 타임라인 레퍼런스 정보를 가질 수 있다. 본 필드는 6 비트의 크기를 가질 수 있고, uimsbf 포맷을 가질 수 있다.
*nb_of_timeline_reference 필드가 지시하는 개수만큼의 타임라인 레퍼런스 관련 정보가, 타임라인 레퍼런스 정보 AU 에 포함될 수 있다. 각각의 타임라인 레퍼런스에 대하여, 다음과 같은 필드들이 존재할 수 있다.
timeline_reference_type 필드는 해당 타임라인 레퍼런스가 어떠한 타입의 타임라인 레퍼런스인지를 지시할 수 있다. 예를 들어, 본 필드의 값이 0 일 경우, 해당 타임라인 레퍼런스가 내부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스일 수 있다. 또한, 본 필드의 값이 1 일 경우, 해당 타임라인 레퍼런스가 외부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스일 수 있다. 본 필드는 1 비트의 크기를 가질 수 있고, bslbf 포맷을 가질 수 있다.
timeline_reference_identifier 필드는 해당 타임라인 레퍼런스의 고유 식별자를 나타낼 수 있다. 본 필드는 0 내지 127 사이의 정수값으로 할당될 수 있다. 본 필드는 7 비트의 크기를 가지고 uimsbf 필드를 가질 수 있다.
*timeline_reference_format 필드는 해당 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 본 필드는 전술한 internal_timeline_reference_format 필드, external_timeline_reference_format 필드와 동일한 방식으로 해당 타임라인 레퍼런스의 포맷을 나타낼 수 있다. 본 필드는 8 비트의 크기를 가지고, uimsbf 포맷을 가질 수 있다.
timeline_reference_timescale_flag 필드는 해당 타임라인 레퍼런스의 시간단위(time scale)에 관한 정보가, 타임라인 레퍼런스 정보 AU 에 포함되어있는지 여부를 지시할 수 있다. 본 필드는 전술한 internal_timeline_reference_timescale_flag 필드, external_timeline_reference_timescale_flag 필드와 동일한 방식으로 시간단위 관련 정보의 존부를 지시할 수 있다. 본 필드는 1 비트의 크기를 가지고, bslbf 포맷을 가질 수 있다.
timeline_reference_length 필드는 해당 타임라인 레퍼런스의 길이를 바이트 단위로 지시할 수 있다. 본 필드는 전술한 internal_timeline_reference_length 필드, external_timeline_reference_length 필드와 동일한 방식으로 길이를 지시할 수 있다. 본 필드는 7 비트의 크기를 가지고, uimsbf 포맷을 가질 수 있다.
timeline_reference_timescale 필드는 해당 타임라인 레퍼런스의 시간 단위를 Hz 단위로 지시할 수 있다. 본 필드는 전술한 internal_timeline_reference_timescale 필드, external_timeline_reference_timescale 필드와 동일한 방식으로 시간 단위를 지시할 수 있다. 본 필드는 32 비트의 크기를 가지고 uimsbf 포맷을 가질 수 있다.
timeline_reference 필드는 해당 타임라인 레퍼런스의 타임라인 레퍼런스 값을 나타낼 수 있다. 본 필드 값에 따라, 해당 내/외부망으로 전송되는 미디어 스트림의 타임라인이 재구성될 수 있다. 본 필드는 전술한 internal_ timeline_reference 필드, external_ timeline_reference 필드와 동일한 방식으로 타임라인을 지시할 수 있다. 본 필드는 전술한 timeline_reference_length 필드가 지시하는 값에 해당하는 비트수를 가질 수 있다. 또는 실시예에 따라 본 필드는 timeline_reference_length 필드가 지시하는 값에 8 을 곱한 만큼의 비트수를 가질 수 있다. 본 필드는 uimsbf 포맷을 가질 수 있다.
SPD 와 관련된 필드들은 전술한 것과 같은 구조로 타임라인 레퍼런스 정보 AU 에 포함될 수 있따. suggested_presentation_delay_timescale_flag 필드, suggested_presentation_delay_length 필드, suggested_presentation_delay_timescale 필드 및/또는 suggested_presentation_delay 필드는 전술한 동명의 필드와 같을 수 있다.
도 136 은 본 발명의 일 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조를 도시한 도면이다.
전술한 바와 같이, LCT 패킷은 타임라인 레퍼런스 관련 정보를 전송할 수 있다. LCT 패킷의 헤더를 확장하여, 서로 다른 망을 통해 전송되는 미디어 스트림간에 동기화를 위한 정보가 전송될 수 있다. 제안된 구조는 RTP (Real Time Protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수도 있다. 또한, 제안된 구조는 전송 프로토콜에 적합한 서비스 시그널링 정보와 연동되어 사용될 수도 있다. 서비스 시그널링 정보에는 해당 스트림이 내부 또는 외부망의 타임라인 레퍼런스를 전송하고 있음을 나타내는 정보, 외부망을 통해 전송되는 미디어의 URL 정보, 전술한 각종 플래그 정보, 타임라인 레퍼런스의 시간단위 정보 등, 각 패킷에 공통으로 적용가능한 정보들이 포함될 수 있다.
V 필드, C 필드, PSI 필드, S 필드, O 필드, H 필드, Res 필드, A 필드, B 필드, HDR_LEN 필드, CP 필드, CCI 필드, TSI 필드, TOI 필드는 전술한 바와 같다.
HET (Header Extension Type) 필드는 해당 LCT 패킷 헤더의 확장(extension) 타입을 나타낼 수 있다. 본 필드는 127 이하의 값을 할당하여, LCT 패킷 헤더의 확장 타입을 지시할 수 있다. 본 실시예에서는 HET 필드가 2 의 값을 가져, LCT 패킷 헤더가 EXT_TIME 의 확장타입을 가짐을 지시할 수 있다.
HEL (Header Extension Length) 필드는 해당 LCT 패킷 헤더의 확장의 길이를 나타낼 수 있다. 이 길이는 32 비트 워드(word) 단위로 표현될 수 있다.
USE 필드의 세부 필드들은 다음과 같다. SCT HI 필드, SCT Low 필드, ERT 필드, SLC 필드는 전술한 바와 같다.
ITR Hi(Internal Timeline Reference High Flag) 필드는 해당 LCT 패킷 헤더의 확장에, 64 비트의 Internal Timeline Reference 필드가 포함됨을 지시할 수 있다.
ITR Low(Internal Timeline Reference Low Flag) 필드는 해당 LCT 패킷 헤더의 확장에, 32 비트의 Internal Timeline Reference 필드가 포함됨을 지시할 수 있다.
ETR Hi(External Timeline Reference High Flag) 필드는 해당 LCT 패킷 헤더의 확장에, 64 비트의 External Timeline Reference 필드가 포함됨을 지시할 수 있다.
ETR Low(External Timeline Reference Low Flag) 필드는 해당 LCT 패킷 헤더의 확장에, 32 비트의 External Timeline Reference 필드가 포함됨을 지시할 수 있다.
ITR Scale 필드는 해당 LCT 패킷 헤더의 확장에, 32 비트의 Internal Timeline Reference Timescale 필드가 포함됨을 지시할 수 있다.
ETR Scale 필드는 해당 LCT 패킷 헤더의 확장에, 32 비트를 External Timeline Reference Timescale 필드가 포함됨을 지시할 수 있다.
ITR Format 필드는 해당 LCT 패킷 헤더의 확장에 포함된 internal timeline reference 필드의 포맷을 나타낼 수 있다. 즉, 본 필드는 내부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스의 포맷을 지시할 수 있다.
ETR Format 필드는 해당 LCT 패킷 헤더의 확장에 포함된 external timeline reference 필드의 포맷을 나타낼 수 있다. 즉, 본 필드는 외부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스의 포맷을 지시할 수 있다.
ITR Format 필드 및 ETR Format 필드의 값이 0x00 일 경우, 해당 타임라인 레퍼런스는 미디어 타임(media time) 포맷을 가지고, 0x01 일 경우 NTP (Network Time Protocol) 포맷을 가지고, 0x02 일 경우 PTP 포맷을 가지고, 0x03 일 경우 타임 코드(time code) 포맷을 가질 수 있다. 0x04 내지 0x0F 의 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다.
URL(External Media URL Flag) 필드는 해당 LCT 패킷의 헤더의 확장에 External Media URL 필드가 존재하는지 여부를 나타내는 플래그일 수 있다.
SPD(Suggested Presentation Delay Flag) 필드는 해당 LCT 패킷의 헤더의 확장에 suggested presentation delay 필드가 포함되어 있는지 여부를 나타내는 플래그일 수 있다.
SPD Scale 필드는 해당 LCT 패킷의 헤더의 확장에 suggested presentation delay timescale 필드가 포함되어 있는지 여부를 나타내는 플래그일 수 있다. 본 플래그 필드가 0 으로 셋팅되는 경우, suggested presentation delay timescale 필드가 존재하지 않을 수 있다. 이 경우 suggested presentation delay 필드는 SPD 를 초 단위의 노말 클락(normal clock) 으로 표현할 수 있다.
USE 필드의 나머지 비트들은, 향후 사용을 위해 남겨둘 수 있다(Reserved for future use).
Sender Current Time 필드, Expected Residual Time 필드, Session Last Changed 필드는 전술한 바와 같다.
Internal Timeline Reference 필드는 내부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스 정보를 나타낼 수 있다. 본 필드의 값을 통해 내부망을 통해 전송되는 미디어 스트림의 타임라인이 재구성될 수 있다. 전술한 ITR Hi 필드 또는 ITR Low 필드의 값에 따라 본 필드의 존부가 결정될 수 있다.
External Timeline Reference 필드는 외부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스 정보를 나타낼 수 있다. 본 필드의 값을 통해 외부망을 통해 전송되는 미디어 스트림의 타임라인이 재구성될 수 있다. 전술한 ETR Hi 필드 또는 ETR Low 필드의 값에 따라 본 필드의 존부가 결정될 수 있다.
Internal Timeline Reference Timescale 필드는 내부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스의 시간단위를 Hz 로 나타낼 수 있다. 본 필드는 전술한 ITR Scale 필드에 따라 그 존부가 결정될 수 있다.
External Timeline Reference Timescale 필드는 외부망을 통해 전송되는 미디어 스트림의 타임라인 레퍼런스의 시간단위를 Hz 로 나타낼 수 있다. 본 필드는 전술한 ETR Scale 필드에 따라 그 존부가 결정될 수 있다.
External Media URL 필드는 외부망으로 전송되는 미디어의 위치 정보 및/또는 해당 미디어의 고유 식별 정보를 포함할 수 있다. 이 정보들을 통해 외부망으로 전송되는 미디어에 접근할 수 있다. 예를 들어, 외부망을 통해 전송되는 미디어가 DASH 에 따른 미디어일 경우, 미디어의 해당 MPD 의 MPD URL, MPD ID 등의 정보가 URL 필드에 포함될 수 있다.
Suggested Presentation Delay 필드는 SPD 정보를 포함할 수 있다. 즉, 외부망 또는 내부망으로 전송되는 미디어 스트림의 생성 시점을 기준으로 소비 시점까지의 제안 지연 시간이 본 필드에 의해 표현될 수 있다. 내부망 또는 외부망을 통해 전송되는 미디어 스트림의 타임라인이 재구성될 때, 각각의 타임라인 레퍼런스 값에 본 필드의 값을 뺀 값을 반영하여 타임라인을 구성할 수 있다.
Suggested Presentation Delay Timescale 필드는 전술한 suggested presentation delay 필드가 나타내는 SPD 정보의 시간단위를 나타낼 수 있다. 본 시간단위는 실시예에 따라 Hz 일 수 있다.
Header Extensions 필드, FEC Payload ID 필드, Encoding Symbol (s) 필드는 전술한 바와 같다.
도 137 은 본 발명의 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조를 도시한 도면이다.
본 실시예는 전술한 SPD 를 포함하는 LCT 패킷 구조와 유사하나, Sender Current Time 필드, Expected Residual Time 필드 및/또는 Session Last Changed 필드가 생략될 수 있다. 이 필드들이 생략됨에 따라 해당 필드들의 플래그 필드들인 SCT Hi 필드, SCT Low 필드, ERT 필드 및/또는 SLC 필드 또한 생략될 수 있다.
생략된 필드들은 일반적인 목적의 타이밍 정보들로서, 내/외부망을 통한 타임라인 레퍼런스 정보가 LCT 패킷에 이미 포함되어 있으므로, 생략될 수 있다. 이는 LCT 패킷 구조의 효율성을 위함일 수 있다.
도 138 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
ALC/LCT 패킷 헤더의 확장에는 여러 타입이 있을 수 있다. 헤더의 확장 타입 중에는, 서버의 월 클락(wall clock) 등 시간 관련된 정보를 전달하는 헤더 확장(EXT_TIME)이 있을 수 있다. 본 실시예는 EXT_TIME 의 일 실시예를 나타낸다.
본 실시예에서, HET 필드, HEL 필드, SCT Hi 필드, SCT Low 필드, ERT 필드(또는 ERT flag 필드), SLC 필드(또는 SLC flag 필드), Res 필드(또는 Res. by LCT 필드), SPD 필드(또는 SPD flag 필드), Sender Current Time 필드, Expected Residual Time 필드 Session Last Changed 필드 및/또는 Sueggested Presentation Delay Timescale 필드는 전술한 바와 같다.
본 실시예의 LCT 패킷 구조는 전술한 SPD 를 포함하는 LCT 패킷 구조와 유사하나, TS format 필드, TS version 필드 및/또는 Timestamp 필드를 더 포함할 수 있다. 본 도면에서 LCT 패킷 구조의 확장 부분을 제외한 부분은 생략되었다.
TS format 필드는 해당 LCT 패킷의 헤더 확장 부분에 포함된 timestamp 필드의 포맷을 나타낼 수 있다. 예를 들어, 본 필드의 값이 0x01 일 경우 타임 스탬프는 미디어 타임(media time) 포맷을 가질 수 있고, 0x02 인 경우 NTP 포맷, 0x03 인 경우 노말 플레잉 타임(normal playing time) 포맷, 0x04 인 경우 SMPTE 타임 코드 포맷, 0x05 인 경우 90KHz 기반의 타임 스탬프 포맷을 가질 수 있다. 본 필드의 값이 0x00 또는 0x06 내지 0x0F 인 경우, 향후 사용을 위해 남겨둘 수 있다(Reserved for future use).
TS version 필드는 해당 LCT 패킷의 헤더 확장 부분에 포함된 timestamp 필드의 구성을 나타낼 수 있다. 예를 들어, 본 필드의 값이 0 일 경우 timestamp 필드는 32 비트, 1 인 경우 timestamp 필드는 64 비트일 수 있다. 실시예에 따라 Suggested Presentation Delay 필드와 Suggested Presentation Delay Timescale 필드 또한 본 필드의 값에 의해 동일한 방식으로 길이가 정해질 수 있다. 또는 실시예에 따라 별도의 필드를 두어 Suggested Presentation Delay 필드와 Suggested Presentation Delay Timescale 필드의 길이가 표현될 수 있다.
SPDT flag 필드는 전술한 SPD scale 필드와 같을 수 있다. 단, 실시예에 따라, 본 필드의 값이 0 으로 셋팅될 경우, Suggested Presentation Delay가 존재하지 않도록 설정될 수도 있다.
Timestamp 필드는 해당 ALC/LCT 패킷의 페이로드에 포함된 데이터와 연관된 타이밍 정보를 포함할 수 있다. 예를 들어 본 필드의 값은 페이로드에 포함된 데이터의 첫 바이트가 디코딩 되는 시점에 대한 정보를 나타낼 수 있다. 또한 실시예에 따라 본 필드의 값은 해당 데이터의 재생 시각(presentation time)정보를 나타낼 수 있다. 본 필드는 타임 스탬프의 시간 단위 및/또는 해당 시간 단위 기반 타이밍 정보 등을 함께 포함할 수도 있다. 또는 실시예에 따라 본 필드는, 송신측의 현재 시간, 해당 미디어 데이터의 인코딩 시간, 해당 미디어 데이터의 첫 바이트가 디코딩 되는 시점 등의 타이밍 정보에 SPD (제안 지연 시간)을 더한 값을 가질 수 있다.
Sueggested Presentation Delay 필드는 SPD 정보를 포함할 수 있다. 본 필드는 해당 ALC/LCT 패킷의 페이로드 데이터 또는 페이로드 데이터를 포함하는 오브젝트의 생성 시점을 기준으로 소비 시점까지의 제안 지연 시간을 나타낼 수 있다. 전술한 timestamp 필드의 타임스탬프 값을 동기화에 이용할 때, SPD 값이 활용될 수 있다. 즉, 타임 스탬프 값에 SPD 값을 더한 값을 반영하여 동기화를 수행함으로써, 제안 지연 시간이 반영된 동기화가 수행될 수 있다.
도 139 는 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 발명은, ALC/LCT 패킷 구조의 헤더 확장부분에 있어서, 새로운 헤더 확장 구조인 EXT_OBJ_INFO 를 제안한다. 이 새로운 헤더 확장 구조는 전송 오브젝트의 타입 관련 정보 및/또는 해당 전송 오브젝트와 관련된 타이밍 정보 등을 포함할 수 있다. 이 새로운 헤더 확장 구조는 ALC/LCT 패킷 헤더의 확장 필드(Header Extension)에 포함될 수 있으며, 콘텐츠 전송 프로토콜 패킷 헤더의 일부 등으로 사용될 수 있다.
본 실시예는 EXT_OBJ_INFO 의 일 실시예를 나타낸다. 본 실시예에서, HET 필드, HEL 필드, SPD 필드(또는 SPD flag 필드), SDPT flag 필드, Timestamp 필드, Sueggested Presentation Delay 필드 및/또는 Sueggested Presentation Delay Timescale 필드는 전술한 바와 같다.
본 실시예의 LCT 패킷 구조는 전술한 SPD 를 포함하는 LCT 패킷 구조와 유사하나, Object type 필드 및/또는 M 필드가 더 포함될 수 있다. 본 도면에서 LCT 패킷 구조의 확장 부분을 제외한 부분은 생략되었다.
Object Type 필드는 해당 전송 오브젝트의 타입을 나타낼 수 있다. 본 필드가 지시하는 전송 오브젝트의 타입은 RTP 패킷 헤더의 페이로드 타입 값과 유사한 값을 가질 수 있다. 실시예에 따라 본 필드의 값은 다양한 전송 오브젝트의 타입을 지시할 수 있다. 예를 들어, 본 필드의 값이 0x01 일 경우 전송 오브젝트의 타입은 보통의 파일 포맷(a regular file), 0x02 일 경우 HTTP 엔티티(entity) 포맷, 0x03 일 경우 AAC기반 오디오 데이터 포맷, 0x04 일 경우, H.264 기반 비디오 데이터 포맷, 0x05 일 경우 HEVC 기반 비디오 데이터 포맷, 0x06 일 경우 DASH 세그먼트(Segment) 또는 ISO 베이스 미디어 파일 (ISO base media file) 포맷, 0x07 일 경우 메타데이타 포맷을 가질 수 있다. 본 필드의 값이 0x00 또는 0x07 이상의 값일 경우는, 향후 사용을 위해 남겨둘 수 있다(Reserved for future use).
M 필드는 마커(marker) 역할을 하는 필드로서, Object Type 필드의 값에 따라 다양한 대상을 지시할 수 있다. 예를 들어 Object Type 필드가 지시하는 오브젝트 타입이 파일인 경우, M 필드는 그 파일의 처음 또는 끝을 나타낼 수 있다. 또한, Object Type 필드가 지시하는 오브젝트 타입이 비디오/오디오 데이터인 경우, M 필드는 연관된 데이터 유닛의 처음 또는 끝을 나타낼 수 있다. M 필드는 마커 비트(marker bit) 필드라고도 불릴 수 있다.
본 실시예에서, Timestamp 필드, Suggested Presentation Delay 필드 및/또는 Suggested Presentation Delay Timescale 필드의 길이는 32, 64 비트 등으로 동일한 고정 길이를 가질 수 있다. 그 길이는 별도의 길이 필드를 두어 지시할 수도 있고, HEL 필드를 통해 지시할 수도 있다.
본 140 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 실시예는 전술한 EXT_OBJ_INFO 의 다른 구조를 제안한다. 전술한 EXT_OBJ_INFO 의 구조에 비하여, TS flag 필드, TS format 필드 및/또는 TS version 필드가 더 포함될 수 있다. 본 도면에서 LCT 패킷 구조의 확장 부분을 제외한 부분은 생략되었다.
TS flag 필드는 해당 헤더 확장 구조에 timestamp 필드가 존재하는지 여부를 나타내는 플래그일 수 있다. 실시예에 따라 본 필드의 값이 1 인 경우 timestamp 필드가 존재하고, 0 인 경우 존재하지 않을 수 있다. 실시예에 따라 본 필드의 값이 의미하는 바는 바뀔 수 있다.
TS format 필드, TS version 필드는 전술한 바와 같을 수 있다. 단, 두 필드는 TS flag 필드가 1 인 경우, 즉 timestamp 필드가 존재한다고 지시되는 경우에 있어, 해당 타임스탬프의 포맷 및 버전을 나타낼 수 있다.
나머지 동명의 필드들은 전술한 바와 같다.
도 141 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 실시예는 전술한 EXT_OBJ_INFO 의 또 다른 구조를 제안한다. 전술한 EXT_OBJ_INFO 의 구조에 비하여, Ext flag 필드 및/또는 Extention 필드가 더 포함될 수 있다. 본 도면에서 LCT 패킷 구조의 확장 부분을 제외한 부분은 생략되었다.
Ext Flag 필드는 해당 헤더 확장 구조에 extension 필드가 존재하는지 여부를 나타내는 플래그일 수 있다. 실시예에 따라 본 필드의 값이 1 인 경우 extension 필드가 존재하고, 0 인 경우 존재하지 않을 수 있다. 실시예에 따라 본 필드의 값이 의미하는 바는 바뀔 수 있다.
Extension 필드는 해당 전송 오브젝트와 관련된 부가 정보를 포함할 수 있다. 예를 들어, 전송 오브젝트의 로케이션(location) 정보 등이 포함될 수 있다. 여기서, 전송 오브젝트의 로케이션 정보란 해당 정보를 얻을 수 있는 위치 정보로서, 예를 들어 DASH 세그먼트가 전송 오브젝트로 전송되는 경우, 전송 오브젝트의 로케이션은 DASH 세그먼트의 URL 일 수 있다. 본 필드는 확장의 역할로서, 전송 오브젝트와 관련된 다양한 정보들이 실시예에따라 추가될 수 있다.
나머지 동명의 필드들은 전술한 바와 같다.
도 142 는 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 발명은, ALC/LCT 패킷 구조의 헤더 확장부분에 있어서, 새로운 헤더 확장 구조인 EXT_MEDIA_TIME 를 제안한다. 이 새로운 헤더 확장 구조는 미디어 데이터의 타이밍 관련 정보, 타임스탬프 등의 정보를 포함할 수 있다. 이 새로운 헤더 확장 구조는 ALC/LCT 패킷 헤더의 확장 필드(Header Extension)에 포함될 수 있으며, 콘텐츠 전송 프로토콜 패킷 헤더의 일부 등으로 사용될 수 있다.
본 실시예는 EXT_MEDIA_TIME 의 일 실시예를 나타낸다. EXT_MEDIA_TIME 의 경우, EXT_OBJ_INFO 와 달리 Object Type 필드, M 필드, TS flag 필드등이 생략될 수 있다. 본 도면에서 LCT 패킷 구조의 확장 부분을 제외한 부분은 생략되었다.
TS format 필드는 전술한 바와 같다. 단, 이 경우 본 필드는 그 값에 따라 타임 스탬프가 GPS 타임 포맷을 가짐을 지시할 수도 있다.
TS version 필드는 전술한 바와 같다. 단, 이 경우 본 필드는 타임 스탬프의 시간단위 정보의 존재여부를 더 지시할 수도 있다.
Ext Flags 필드는 extension 필드가 포함하는 세부 필드들에 대한 플래그 필드들의 집합일 수 있다. 즉, 본 필드는 extension 필드의 구성을 지시할 수 있다. 또는 실시예에 따라 전술한 Ext flag 필드와 같이 extention 필드의 존부를 지시할 수도 있다. Extension 필드는 본 필드의 값에 따라 매핑된 타임라인 관련 정보 등, 다양한 정보를 포함할 수 있다.
나머지 동명의 필드들은 전술한 바와 같다.
도 143 은 본 발명의 또 다른 실시예에 따른 SPD(Suggested Presentation Delay) 를 포함하는 LCT 패킷 구조의 확장 부분을 도시한 도면이다.
본 발명은, ALC/LCT 패킷 구조의 헤더 확장부분에 있어서, 새로운 헤더 확장 구조인 EXT_TIME_MAP 를 제안한다. 이 새로운 헤더 확장 구조는 ALC/LCT 패킷 헤더의 확장 필드(Header Extension)에 포함될 수 있으며, 콘텐츠 전송 프로토콜 패킷 헤더의 일부 등으로 사용될 수 있다.
EXT_TIME_MAP 은 전술한 타임라인 컴포넌트 AU 또는 타임라인 레퍼런스 정보 AU 를 포함하는 메타데이터를 하나의 전송 오브젝트로 전달하는 역할을 할 수 있다. 이는 전송 오브젝트가 다른 타임라인과 동기화가 필요한 경우, 두 타임라인 간의 매핑정보가 수신기에 전달되기 위함일 수 있다. EXT_TIME_MAP 을 통해, 별도의 전송 오브젝트가 전달될 필요 없이, 헤더의 확장 부분에 본 구조를 삽입하여 필요한 정보가 전달될 수 있다. 전달된 정보를 이용하여 해당 패킷의 페이로드의 재생시각(presentation time) 을 GPS 타임 등에 매핑할 수 있다.
EXT_TIME_MAP 은 OTS flag 필드, OTS format 필드, OTS version 필드, Location flag 필드, Original timestamp 필드, Location 필드등을 더 포함할 수 있다.
TS format 필드는 전술한 바와 같으나, 실시예에 따라 본 필드는 타임 스탬프가 GPS 타임 포맷임을 지시할 수도 있다.
OTS Flag 필드는 해당 패킷 헤더 확장 부분에 original timestamp 필드가 존재하는지 여부를 나타내는 플래그일 수 있다. 실시예에 따라 본 필드의 값이 1 인 경우 original timestamp 필드가 존재하고, 0 인 경우 존재하지 않을 수 있다. 실시예에 따라 본 필드의 값이 의미하는 바는 바뀔 수 있다.
OTS format 필드는 original timestamp 필드의 포맷을 지시할 수 있다. 실시예에 따라 본 필드는 다양한 타임스탬프 포맷을 나타낼 수 있다. 예를 들어, 본 필드의 값이 0x01 일 경우 타임 스탬프는 미디어 타임(media time) 포맷을 가질 수 있고, 0x02 인 경우 NTP 포맷, 0x03 인 경우 노말 플레잉 타임(normal playing time) 포맷, 0x04 인 경우 SMPTE 타임 코드 포맷, 0x05 인 경우 90KHz 기반의 타임 스탬프 포맷을 가질 수 있다. 본 필드의 값이 0x00 또는 0x06 내지 0x0F 인 경우, 향후 사용을 위해 남겨둘 수 있다(Reserved for future use).
OTS version 필드는 포함된 original timestamp 필드의 버전 혹은 구성을 나타낼 수 있다. 예를 들어, 본 필드의 값이 0인 경우 original timestamp 필드는 32비트, 1 인 경우 original timestamp 는 16 비트의 크기를 가질 수 있다.
Location Flag 필드는 해당 패킷 헤더 확장 부분에 location 필드가 존재하는지 여부를 나타내는 플래그일 수 있다. 실시예에 따라 본 필드의 값이 1 인 경우 location 필드가 존재하고, 0 인 경우 존재하지 않을 수 있다. 실시예에 따라 본 필드의 값이 의미하는 바는 바뀔 수 있다.
Timestamp 필드는 전술한 바와 같다. 본 필드는 Original Timestamp 필드에 의해 표현되는 전송 오브젝트의 타임 스탬프와 매핑될 타임 라인의 타임스탬프를 포함할 수 있다. 본 필드의 타임스탬프는 original timestamp 필드에 의해 표현되는 타임라인과 매핑될 수 있다.
Original Timestamp 필드는 timestamp 필드의 타임 스탬프와 매핑 관계를 가지는, 전송 오브젝트의 타임 스탬프 정보를 포함할 수 있다. 본 필드의 타임스탬프는 timestamp 필드에 의해 표현되는 타임라인과 매핑될 수 있다. 또는 실시예에 따라 본 필드는, 송신측의 현재 시간, 해당 미디어 데이터의 인코딩 시간, 해당 미디어 데이터의 첫 바이트가 디코딩 되는 시점 등의 타이밍 정보에 SPD (제안 지연 시간)을 더한 값을 가질 수 있다.
Location 필드는 매핑될 타임라인과 연관된 데이터의 로케이션 정보 등을 포함할 수 있다. 예를 들어, 타임스탬프가 특정 DASH 세그먼트의 타임라인에 매핑될 경우, DASH 세그먼트에 대한 URL 정보가 본 필드에 포함될 수 있다.
나머지 동명의 필드들은 전술한 바와 같다.
전술한 LCT 패킷의 헤더 또는 헤더의 확장부분의 역할을 수행하기 위하여, ROUTE 의 프리젠테이션 타임 헤더(EXT_ROUTE_PRESENTATION_TIME) 가 사용될 수 있다. 또한, 실시예에 따라, 전술한 LCT 패킷의 헤더 또는 헤더의 확장부분의 역할을 수행하기 위하여, IETF 의 RFC 5651, "Layered Coding Transport (LCT) Building Block," 의 EXT_TIME 헤더가 사용될 수도 있다.
전술한 LCT 패킷의 헤더 또는 헤더의 확장부분들은 EXT_ROUTE_PRESENTATION_TIME 의 일 실시예일 수도 있다. 또한 실시예에 따라, 전술한 LCT 패킷의 헤더 또는 헤더의 확장부분들은 EXT_TIME 헤더의 일 실시예일 수도 있다. 전술한 LCT 패킷의 헤더 또는 헤더의 확장 부분들은 전술한 바와 같이 타이밍 관련 정보를 전달할 수 있다.
본 발명의 또 다른 실시예에 따른 LCT 패킷 헤더는 64 비트 NTP 타임스탬프의 3번째, 4번째 그리고 5번째 옥텟을 표현할 수 있다. 이 실시예의 헤더는 HET 필드를 가질 수 있고 또한, 고정된 길이를 가질 수 있다. 이 실시예의 헤더의 값은 SCT 보다 클 수 있다. 이 실시예의 LCT 패킷 헤더는 총 4 바이트의 크기를 가질 수 있다.
본 발명의 또 다른 실시예에 따른 LCT 패킷 헤더는 64 비트 NTP 타임 스탬프 값을 전부 가질 수도 있다. 이 실시예의 헤더는 HET 필드 및/또는 HEL 필드를 가질 수 있다. 이 실시예의 LCT 패킷 헤더는 총 12 바이트의 크기를 가질 수 있다. 따라서 남는 비트 수는 향후 사용을 위해 남겨둘 수 있다(Reserved).
도 144 는 본 발명의 일 실시예에 따른 방송 컨텐츠를 전송하는 방법을 도시한 도면이다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 방법은, 방송 컨텐츠에 대한 제 1 미디어 스트림을 생성하는 단계, 방송 컨텐츠에 대한 제 2 미디어 스트림을 생성하는 단계, 제 1 미디어 스트림을 방송망을 통하여 전송하는 단계, 제 2 미디어 스트림에 대한 요청을 받는 단계, 및/또는 제 2 미디어 스트림을 인터넷망을 통하여 수신기에 전송하는 단계를 포함할 수 있다.
먼저, 방송 컨텐츠에 대한 제 1 미디어 스트림이 생성될 수 있다. 이 과정은 제 1 모듈에서 수행될 수 있다. 여기서 제 1 미디어 스트림은 방송망을 통하여 전송되는 미디어 스트림일 수 있다. 전술한 실시예에서 내부망을 통해 전송되는 미디어 스트림이 제 1 미디어 스트림에 해당될 수 있다. 이 제 1 미디어 스트림은 복수개의 패킷이 연속된 형태일 수 있다. 이 중 적어도 하나의 패킷들은 시간 정보를 포함할 수 있다. 여기서 시간 정보란 시간에 관련된 모든 정보를 일컫는 통합적인 개념이다. 실시예에 따라 전술한 타이밍 관련 LCT 패킷 헤더의 확장 부분, 타임라인 레퍼런스 정보 AU, 타임라인 컴포넌트 AU 등이 이 시간 정보에 해당할 수 있다.
전술한 방송 컨텐츠에 대한 제 2 미디어 스트림이 생성될 수 있다. 이 과정은 제 2 모듈에서 수행될 수 있다. 여기서 제 2 미디어 스트림은 인터넷망을 통하여 전송되는 미디어 스트림일 수 있다. 전술한 실시예에서 외부망을 통해 전송되는 미디어 스트림이 제 2 미디어 스트림에 해당될 수 있다. 제 1 모듈과 제 2 모듈은 통합되어 하나의 모듈로서 동작할 수도 있다.
생성된 제 1 미디어 스트림은 방송망을 통하여 수신측에 전송될 수 있다. 이 과정은 제 3 모듈에서 수행될 수 있다. 또한, 생성된 제 2 미디어 스트림은 인터넷 망을 통하여 수신측에 전송될 수 있다. 이 과정은 제 4 모듈에서 수행될 수 있다. 제 4 모듈은 수신기로부터 제 2 미디어 스트림에 대한 요청을 받고, 그 요청에 따라 수신측에 해당 미디어 스트림을 전송할 수 있다. 이러한 요청은 전술한 external_media_URL 필드에 의해 수행될 수 있다.
본 발명의 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 제 1 미디어 스트림의 패킷들이 전술한 시간 정보를 포함하는 확장 헤더를 포함할 수 있다. 이 확장 헤더는 전술한 LCT 패킷 헤더의 확장 부분일 수 있다. 여기서, 전술한 시간 정보는 제 1 미디어 스트림의 재생 시각(presentation time)을 나타내는 타임 스탬프 정보를 포함할 수 있다. 이 타임 스탬프 정보는 전술한 timestamp 필드에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 확장 헤더가 타임 스탬프의 일부만을 포함할 수 있다. 전술한 바와 같이, 본 발명의 한 실시예에 따른 확장 헤더는 64 비트 NTP 타임스탬프의 3번째, 4번째 그리고 5번째 옥텟을 표현할 수 있다. 전술한 확장 헤더가 타임 스탬프의 일부만을 포함하는 경우, 타임 스탬프의 일부 옥텟만을 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 확장 헤더가 제 2 미디어 스트림의 재생 시각을 나타내는 타임 스탬프 정보를 더 포함할 수 있다. 여기서, 제 2 미디어 스트림의 재생 시각을 나타내는 타임 스탬프는 전술한 original timestamp 필드에 의해 표현되는 타임스탬프를 의미할 수 있다. 즉, 전술한 바와 같이, 확장 헤더는 original timestamp 필드를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 확장 헤더가 제 1 미디어 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함할 수 있다. 여기서, 제안 지연 시간에 관한 정보란 전술한 SPD 를 의미할 수 있다. 확장 헤더는 Suggested Presentation Delay 필드를 더 포함할 수 있다. 수신기는 이 SPD 를 타임 스탬프 값에 더하여, SPD 가 반영된 동기화를 수행할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 제 1 미디어 스트림의 재생시각을 나타내는 타임 스탬프가 SPD 가 이미 반영된 타임 스탬프값을 가질 수 있다. 타임 스탬프 필드는 타임 스탬프 값에 SPD 값을 더한 값을 포함할 수 있다. 따라서, SPD 가 반영된 재생시각이 표현될 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 패킷들이 타임라인 레퍼런스 정보들을 포함할 수 있다. 레퍼런스 정보들에는, 제 1 미디어 스트림의 타임라인을 구성하는 제 1 타임라인 레퍼런스 정보 및/또는 상기 제 2 미디어 스트림의 타임라인을 구성하는 제 2 타임라인 레퍼런스 정보이 있을 수 있다. 각각의 타임라인 레퍼런스 정보들은 각각의 미디어 스트림의 타임라인을 재구성하는데 사용될 수 있다. 각각의 타임라인 레퍼런스들이 매핑되어 동기화된 타임라인이 구성될 수 있다. 이를 이용해, 서로 다른 망을 통해 전송되는 미디어 스트림들이 동기화될 수 있다. 이러한 페이로드를 가지는 패킷들은, 일반 패킷들과 같은 방식으로 패킷화된 타임라인 레퍼런스 정보 AU 일 수 있다. 또는 실시예에 따라 이 패킷들은 타임라인 컴포넌트 AU 일 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 패킷들의 페이로드가 제안 지연 시간에 관한 정보를 더 포함할 수 있다. 이 제안 지연 시간 정보는 제 1 미디어 스트림 및/또는 상기 제 2 미디어 스트림의 생성시점부터 소비시점까지의 시간을 지시할 수 있다. 이 의미는 실시예에 따라 달라질 수 있다. 전술한 바와 같이, 타임라인 레퍼런스 값에 SPD 값을 빼서, SPD 값이 반영된 타임라인이 재구성될 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법은, 전술한 타임라인 레퍼런스 정보들이 SPD 값이 이미 반영된 타임라인 레퍼런스 값을 가질 수 있다.
본 발명의 또 다른 실시예에 따른 방송 컨텐츠를 전송하는 방법에서, 전술한 제 1 미디어 스트림이 전술한 방송 컨텐츠의 비디오 스트림이고, 제 2 미디어 스트림은 방송 컨텐츠의 오디오 스트림일 수 있다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 방법을 설명한다. 본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 방법은 도시되지 않았다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 방법은, 방송망을 통하여 제 1 미디어 스트림을 전달받는 단계, URL 정보를 통해 요청함으로써 인터넷망을 통해 제 2 미디어 스트림을 전달받는 단계, 제 1, 제 2 미디어 스트림에 대한 타임라인을 구성하는 단계, 구성된 각 타임라인을 매핑하여 두 미디어 스트림의 타임라인의 동기화를 수행하는 단계, 및/또는 타임 스탬프 값을 통해 해당 미디어 데이터를 특정 시각에 재생하는 단계를 포함할 수 있다.
제 1 미디어 스트림을 전달받는 단계는 제 1 수신모듈에 의해 수행될 수 있다. URL 정보를 통해 요청함으로써 인터넷망을 통해 제 2 미디어 스트림을 전달받는 단계는 제 2 수신모듈에 의해 수행될 수 있다. 제 1, 제 2 미디어 스트림에 대한 타임라인을 구성하는 단계는 제 3 수신모듈에 의해 수행될 수 있다. 구성된 각 타임라인을 매핑하여 두 미디어 스트림의 타임라인의 동기화를 수행하는 단계는 제 4 수신모듈에 의해 수행될 수 있다. 타임 스탬프 값을 통해 해당 미디어 데이터를 특정 시각에 재생하는 단계는 제 5 수신모듈에 의해 수행될 수 있다. 여기서, 제 3 수신모듈과 제 4 수신모듈은 통합되어 하나의 모듈에서 수행될 수도 있다.
각 타임라인은 미디어 스트림 내의 타임라인 레퍼런스 정보 AU 의 타임라인 레퍼런스 정보에 의해 재구성될 수 있다. 이 때, 각 타임라인들은 매핑되어, 각 미디어 스트림이 동기화 되도록 할 수 있다. 같이 전달된 SPD 정보를 이용하여 SPD 가 반영된 타임라인이 재구성될 수 있다. 이 때, 타임라인 레퍼런스 값에서 SPD 값을 빼서, SPD 가 반영될 수 있다.
또한, 미디어 스트림의 각 패킷 헤더에는 타임스탬프 정보가 포함될 수 있다. 이 타임 스탬프 정보를 이용하여 각 미디어 스트림의 재생시각이 파악될 수 있다. 같이 전달된 SPD 정보를 이용하여 SPD 가 반영된 타임 스탬프값을 얻을 수 있다. 이 때 타임 스탬프 값에서 SPD 값을 더하여, SPD 가 반영된 해당 미디어 데이터의 재생시각을 얻을 수 있다.
전술한 단계들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 단계에 의해 대체될 수 있다.
도 145 는 본 발명의 일 실시예에 따른 방송 컨텐츠를 전송하는 장치를 도시한 도면이다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 전송하는 장치는, 제 1 모듈, 제 2 모듈, 제 3 모듈 및/또는 제 4 모듈을 포함할 수 있다.
각 모듈들은 전술한 동명의 각 모듈들과 동일할 수 있다. 제 1 모듈은 방송 컨텐츠에 대한 제 1 미디어 스트림을 생성하는 단계를 수행할 수 있다. 제 2 모듈은 방송 컨텐츠에 대한 제 2 미디어 스트림을 생성하는 단계를 수행할 수 있다. 제 3 모듈은 제 1 미디어 스트림을 방송망을 통하여 전송하는 단계를 수행할 수 있다. 제 4 모듈은 제 2 미디어 스트림에 대한 요청을 받는 단계 및/또는 2 미디어 스트림을 인터넷망을 통하여 수신기에 전송하는 단계를 수행할 수 있다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 장치를 설명한다. 이 방송 컨텐츠를 수신장치는 도시되지 아니하였다.
본 발명의 일 실시예에 따른 방송 컨텐츠를 수신하는 장치는, 제 1 수신 모듈, 제 2 수신 모듈, 제 3 수신 모듈, 제 4 수신 모듈 및/또는 제 5 수신 모듈을 포함할 수 있다. 각 모듈들은 전술한 동명의 각 모듈들과 동일할 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
전술한 제 1 모듈, 제 2 모듈, 제 3 모듈, 제 4 모듈, 제 1 수신 모듈, 제 2 수신 모듈, 제 3 수신 모듈, 제 4 수신 모듈 및/또는 제 5 수신 모듈은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 또한, 전술한 제 1 모듈, 제 2 모듈, 제 3 모듈, 제 4 모듈, 제 1 수신 모듈, 제 2 수신 모듈, 제 3 수신 모듈, 제 4 수신 모듈 및/또는 제 5 수신 모듈은 장치 내/외부에 위치하는 하드웨어 엘레멘트들일 수 있다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
산업상 이용가능성
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위
내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (8)

  1. 방송망을 통하여 방송 컨텐트의 제 1 데이터 스트림 및 시그널링 스트림을 포함하는 방송 신호를 수신하는 튜너;
    상기 방송 컨텐트의 제 2 데이터 스트림을 브로드밴드를 통하여 요청하여 획득하는 네트워크 인터페이스;
    상기 제 1 데이터 스트림, 상기 제 2 데이터 스트림 및 상기 시그널링 스트림을 파싱하는 파서; 및
    상기 제 1 데이터 스트림 및 상기 제 2 데이터 스트림을 이용하여 상기 방송 컨텐트를 재생하는 재생부; 를 포함하고,
    상기 제 1 데이터 스트림의 패킷들은 상기 방송 컨텐트의 재생 시각을 나타내는 타임 스탬프 정보를 가지는 확장 헤더를 포함하고,
    상기 시그널링 스트림의 패킷들은 상기 방송망을 통해 전송되는 상기 제 1 데이터 스트림을 위한 타임라인 정보 및 상기 브로드밴드를 통해 전달되는 상기 제 2 데이터 스트림을 위한 타임라인 정보를 포함하는 방송 컨텐츠 수신 장치.
  2. 제 1 항에 있어서,
    상기 제 1 데이터 스트림과 상기 제 2 데이터 스트림은 상기 타임라인 정보에 의하여 하나의 타임라인에서 동기화되는 것을 특징으로 하는 방송 컨텐츠 수신 장치.
  3. 제 1 항에 있어서,
    상기 방송망을 통해 전달되는 패킷들은 LCT (Layered Coding Transport) 패킷들인 것을 특징으로 하는 방송 컨텐츠 수신 장치.
  4. 제 1 항에 있어서,
    상기 확장 헤더는 상기 방송망을 통해 전송되는 상기 제 1 데이터 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 수신 장치.
  5. 방송망을 통하여 방송 컨텐트의 제 1 데이터 스트림 및 시그널링 스트림을 포함하는 방송 신호를 수신하는 단계;
    상기 방송 컨텐트의 제 2 데이터 스트림을 브로드밴드를 통하여 요청하여 획득하는 단계;
    상기 제 1 데이터 스트림, 상기 제 2 데이터 스트림 및 상기 시그널링 스트림을 파싱하는 단계; 및
    상기 제 1 데이터 스트림 및 상기 제 2 데이터 스트림을 이용하여 상기 방송 컨텐트를 재생하는 단계; 를 포함하고,
    상기 제 1 데이터 스트림의 패킷들은 상기 방송 컨텐트의 재생 시각을 나타내는 타임 스탬프 정보를 가지는 확장 헤더를 포함하고,
    상기 시그널링 스트림의 패킷들은 상기 방송망을 통해 전송되는 상기 제 1 데이터 스트림을 위한 타임라인 정보 및 상기 브로드밴드를 통해 전달되는 상기 제 2 데이터 스트림을 위한 타임라인 정보를 포함하는 방송 컨텐츠 수신 방법.
  6. 제 5 항에 있어서,
    상기 제 1 데이터 스트림과 상기 제 2 데이터 스트림은 상기 타임라인 정보에 의하여 하나의 타임라인에서 동기화되는 것을 특징으로 하는 방송 컨텐츠 수신 방법.
  7. 제 5 항에 있어서,
    상기 방송망을 통해 전달되는 패킷들은 LCT (Layered Coding Transport) 패킷들인 것을 특징으로 하는 방송 컨텐츠 수신 방법.
  8. 제 5 항에 있어서,
    상기 확장 헤더는 상기 방송망을 통해 전송되는 상기 제 1 데이터 스트림의 생성시점부터 소비시점까지의 제안 지연 시간에 관한 정보를 더 포함하는 방송 컨텐츠 수신 방법.
KR1020177034594A 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 KR101838083B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461981208P 2014-04-18 2014-04-18
US61/981,208 2014-04-18
US201461982875P 2014-04-23 2014-04-23
US61/982,875 2014-04-23
PCT/KR2015/003515 WO2015160137A1 (ko) 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013600A Division KR101805537B1 (ko) 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Publications (2)

Publication Number Publication Date
KR20170136005A true KR20170136005A (ko) 2017-12-08
KR101838083B1 KR101838083B1 (ko) 2018-03-13

Family

ID=54324274

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167013600A KR101805537B1 (ko) 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR1020177034594A KR101838083B1 (ko) 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167013600A KR101805537B1 (ko) 2014-04-18 2015-04-08 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (6)

Country Link
US (3) US10897636B2 (ko)
EP (1) EP3133817A4 (ko)
JP (1) JP6325122B2 (ko)
KR (2) KR101805537B1 (ko)
CN (1) CN106031181B (ko)
WO (1) WO2015160137A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132119A1 (ko) * 2017-12-28 2019-07-04 주식회사 디에스브로드캐스트 방송 신호 송신을 위한 다중화 방법 및 그 장치

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530828B2 (en) * 2014-03-31 2020-01-07 Samsung Electronics Co., Ltd. Method and apparatus for signaling and operation of low delay consumption of media data in MMT
US10306239B2 (en) * 2014-05-13 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods, source device, target device and analyser for managing video coding
JP5725242B1 (ja) * 2014-06-04 2015-05-27 ソニー株式会社 送信装置及び送信方法、並びに受信装置並びに受信方法
US10547884B2 (en) 2014-06-24 2020-01-28 Samsung Electronics Co., Ltd. Technique for transmitting and receiving system time information in broadcasting system
US10645432B2 (en) * 2015-01-07 2020-05-05 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving media information in communication system
BR112017019053A2 (pt) 2015-03-09 2018-04-17 Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V. conversão em código de áudio alinhado por fragmento
KR102387881B1 (ko) * 2015-04-17 2022-04-18 삼성전자주식회사 방송 서비스를 구성하는 콘텐츠 관련 정보들을 제공하는 방법 및 장치
WO2016174960A1 (ja) * 2015-04-30 2016-11-03 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
US10887644B2 (en) * 2015-09-01 2021-01-05 Sony Corporation Reception device, data processing method, and program
WO2017098950A1 (ja) * 2015-12-10 2017-06-15 ソニー株式会社 受信装置、及び、データ処理方法
US10812558B1 (en) 2016-06-27 2020-10-20 Amazon Technologies, Inc. Controller to synchronize encoding of streaming content
US10652625B1 (en) 2016-06-27 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
US10652292B1 (en) * 2016-06-28 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
US10148722B2 (en) 2016-07-04 2018-12-04 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
SE541208C2 (en) * 2016-07-04 2019-04-30 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
US10574424B2 (en) * 2016-08-31 2020-02-25 Avago Technologies International Sales Pte. Limited Transmission bandwidth improvements for DVB-S2X channel bonding
US10491964B2 (en) * 2017-01-23 2019-11-26 Cisco Technology, Inc. Assisted acceleration for video streaming clients
KR101967299B1 (ko) * 2017-12-19 2019-04-09 엘지전자 주식회사 방송 신호를 수신하는 차량용 수신 장치 및 방송 신호를 수신하는 차량용 수신 방법
CN110138451B (zh) * 2018-02-08 2020-12-04 华为技术有限公司 一种用于无线光通信的方法及通信装置
CN108347625B (zh) * 2018-03-09 2020-10-13 北京数码视讯软件技术发展有限公司 一种ts流媒体定位的方法和装置
US11030174B1 (en) * 2018-04-19 2021-06-08 Amazon Technologies, Inc. Quantized time range indexing for out of order event collections
US11159833B2 (en) * 2018-11-23 2021-10-26 Sony Corporation Buffer management for storing files of a received packet stream
US11405662B2 (en) * 2019-03-22 2022-08-02 Comcast Cable Communications, Llc Content delivery
CN115428516A (zh) * 2020-04-23 2022-12-02 华为技术有限公司 一种通信方法及装置
KR102251148B1 (ko) * 2020-05-06 2021-05-12 (주)유브릿지 오디오-비디오 동기화 처리 방법
US20230224502A1 (en) * 2020-06-09 2023-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Providing semantic information with encoded image data
KR102564057B1 (ko) * 2022-04-04 2023-08-07 서울대학교산학협력단 오브젝트 레벨 혼잡 제어 장치 및 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1158799A1 (en) 2000-05-18 2001-11-28 Deutsche Thomson-Brandt Gmbh Method and receiver for providing subtitle data in several languages on demand
BR0317540A (pt) * 2002-12-18 2005-11-22 Nokia Corp Método e aparelho para anunciar e acessar as sessões através da rede, sistema para entregar e apresentar os dados do cronograma do programa para os terminais dos usuários finais, e, programa de computador
GB2401759A (en) 2003-05-13 2004-11-17 Nokia Corp Method of signalling in a mobile communications network
US7430617B2 (en) * 2003-12-19 2008-09-30 Nokia Corporation Method and system for header compression
US20060184790A1 (en) * 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
US7376150B2 (en) * 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
JP4718275B2 (ja) * 2005-08-26 2011-07-06 三菱電機株式会社 複数メディアの同期再生システム及び同期再生方法
KR100986990B1 (ko) 2008-09-30 2010-10-11 전자부품연구원 다중표준 모바일 방송 스트림 수신장치 및 그 방법
US9400555B2 (en) * 2008-10-10 2016-07-26 Internet Services, Llc System and method for synchronization of haptic data and media data
JP5086285B2 (ja) * 2009-01-22 2012-11-28 株式会社日立製作所 映像配信システム,映像配信装置,及び同期補正処理装置
WO2011105786A2 (ko) * 2010-02-23 2011-09-01 엘지전자 주식회사 방송 신호 송/수신기 및 방송 신호 송/수신 방법
US8428045B2 (en) * 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
KR101828639B1 (ko) * 2010-10-15 2018-03-22 톰슨 라이센싱 멀티미디어 흐름을 동기화시키기 위한 방법 및 대응하는 장치
KR20120083747A (ko) 2011-01-18 2012-07-26 삼성전자주식회사 방송통신 융합형 서비스를 위한 전송 방법 및 장치
KR20120084252A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법
JP5586511B2 (ja) 2011-03-25 2014-09-10 日本放送協会 同期制御装置及びプログラム
KR101920051B1 (ko) 2011-07-12 2018-11-29 한국전자통신연구원 Mmt 복합 전달 서비스에서 mmt 패킷 스트림 동기화를 위한 타이밍 정보 제공 방법 및 mmt 패킷 스트림 동기화 방법
US9124396B2 (en) * 2011-07-28 2015-09-01 Allen LeRoy Limberg COFDM digital television receivers for iterative-diversity reception
WO2013025035A2 (ko) * 2011-08-12 2013-02-21 삼성전자 주식회사 송신 장치, 수신 장치 및 그 송수신 방법
KR101946861B1 (ko) * 2011-09-21 2019-02-13 삼성전자주식회사 멀티미디어 방송 서비스의 미디어 데이터 동기화 방법 및 장치
KR101965385B1 (ko) 2011-10-10 2019-04-03 한국전자통신연구원 융합형 3dtv에서 컨텐츠 스트림에 접근하는 컨텐츠 제공 장치 및 방법, 그리고 컨텐츠 재생 장치 및 방법
US9088583B2 (en) * 2011-10-31 2015-07-21 Interdigital Patent Holdings, Inc. Method and apparatus for enabling multimedia synchronization
RU2627040C2 (ru) * 2012-06-22 2017-08-03 Сони Корпорейшн Приемное устройство и способ синхронизационной обработки изображений в этом устройстве
CN105917654B (zh) * 2014-01-13 2019-07-26 Lg电子株式会社 经由一个或者更多个网络发送或者接收广播内容的设备和方法
TWI565253B (zh) * 2015-03-31 2017-01-01 晨星半導體股份有限公司 時間解交錯電路與執行時間解交錯處理之方法
US10700713B2 (en) * 2017-08-01 2020-06-30 Microsemi Storage Solutions, Inc. System and method for error correction in data communications
US11336401B2 (en) * 2019-03-21 2022-05-17 Electronics And Telecommunications Research Institute Method of retransmission for downlink transmission in wireless communication system and apparatus for the same
US11509420B2 (en) * 2020-10-06 2022-11-22 Qualcomm Incorporated Methods and apparatus for FEC rate adaptation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132119A1 (ko) * 2017-12-28 2019-07-04 주식회사 디에스브로드캐스트 방송 신호 송신을 위한 다중화 방법 및 그 장치
US10700799B2 (en) 2017-12-28 2020-06-30 Ds Broadcast, Inc. Method and apparatus for broadcast signal transmission

Also Published As

Publication number Publication date
CN106031181A (zh) 2016-10-12
KR101838083B1 (ko) 2018-03-13
CN106031181B (zh) 2019-06-14
US20160337672A1 (en) 2016-11-17
KR20160082241A (ko) 2016-07-08
US20220150558A1 (en) 2022-05-12
US20210144415A1 (en) 2021-05-13
US11706467B2 (en) 2023-07-18
KR101805537B1 (ko) 2017-12-07
EP3133817A1 (en) 2017-02-22
JP6325122B2 (ja) 2018-05-16
EP3133817A4 (en) 2017-11-15
WO2015160137A1 (ko) 2015-10-22
JP2017512001A (ja) 2017-04-27
US11272231B2 (en) 2022-03-08
US10897636B2 (en) 2021-01-19

Similar Documents

Publication Publication Date Title
US11272231B2 (en) Broadcast signal transmitting apparatus and broadcast signal transmitting method
US11895357B2 (en) Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
KR102163920B1 (ko) 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법
KR101789641B1 (ko) 하나 이상의 네트워크를 통하여 방송 컨텐트를 송신 또는 수신하기 위한 방법 및 장치
US10848332B2 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
KR101788066B1 (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법
US20170272691A1 (en) Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
KR101868628B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101814403B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
KR101759854B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
US20170373916A1 (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
KR101844235B1 (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant