KR20160131034A - 방송 신호 송/수신 처리 방법 및 장치 - Google Patents

방송 신호 송/수신 처리 방법 및 장치 Download PDF

Info

Publication number
KR20160131034A
KR20160131034A KR1020167026550A KR20167026550A KR20160131034A KR 20160131034 A KR20160131034 A KR 20160131034A KR 1020167026550 A KR1020167026550 A KR 1020167026550A KR 20167026550 A KR20167026550 A KR 20167026550A KR 20160131034 A KR20160131034 A KR 20160131034A
Authority
KR
South Korea
Prior art keywords
data
segment
broadcast
information
packet
Prior art date
Application number
KR1020167026550A
Other languages
English (en)
Other versions
KR101875664B1 (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 KR20160131034A publication Critical patent/KR20160131034A/ko
Application granted granted Critical
Publication of KR101875664B1 publication Critical patent/KR101875664B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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
    • H04L65/4076
    • H04L65/607
    • H04L65/608
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 송신기는, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 데이터 인코더, 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성하는 패킷 인코더 및 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신하는 방송 신호 송신부를 포함하며, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하는 것을 특징으로 한다.

Description

방송 신호 송/수신 처리 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING/RECEIVING BROADCAST SIGNAL}
본 발명은 미디어 신호를 전송/수신하는 방법 및 장치에 관한 것이다. 보다 상세하게는, 본 발명은 브로드밴드 (broadband)와 브로드캐스트 (broadcast) 가 결합된 방송 시스템에서, 브로드밴드와 브로드캐스트로 각각 전송되는 미디어에 대한 데이터를 처리하는 방법 및 장치에 관한 것이다.
디지털 방송 시스템에는 IP 기반의 방송 신호의 송수신이 확장되고 있다. 특히 유럽 방송 표준 중 DVB-NGH나, 북미 방송 표준 중 ATSC-MH 같은 모바일 디지털 방송에서 IP 기반의 방송 신호 송수신 환경의 중요성이 강조되고 있다. 또한, 차세대 방송 시스템 에서는 방송망과 인터넷 망을 연동하여 서비스 되는, 이른바, 하이브리드 방송 시스템이 구축될 전망이다.
하이브리드 방송 시스템에서는 기존의 방송망을 통하여 데이터가 전송되는 방식과 브로드밴드망을 통하여 데이터가 전송되는 방식이 공존하므로, 이들 데이터를 처리하는 방식이 기존의 방송 수신기와는 다르다는 문제점이 있다.
또한, 하이브리드 방송 시스템에서는 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 함께 사용하여 하나의 미디어를 생성할 수 있는데, 이 과정에서 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 타이밍이 맞지 않거나, 동기 (sync) 가 이루어 지지 않을 수 있다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 전술한 문제점을 해결하기 위한 것으로, 하이브리드 방송 시스템에서는 기존의 방송망을 통하여 데이터가 전송되는 방식과 브로드밴드망을 통하여 데이터가 전송되는 방식이 공존하므로, 이들 데이터를 처리하는 적절한 방법 및 장치를 제공하는 것에 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는, 하이브리드 방송 시스템에서는 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 함께 사용하여 하나의 미디어를 생성할 수 있는데, 이 과정에서 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 타이밍이나 동기를 맞출 수 있는 적절한 방법 및 장치를 제공하는 것에 있다.
전술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른, 송신기는 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 데이터 인코더, 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성하는 패킷 인코더, 및 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신하는 방송 신호 송신부를 포함하며, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 데이터 인코더는, DASH 인코더에 해당되고, 상기 데이터 인코더는 MPD (Media Presentation Description)를 생성하는 것을 특징으로 하고, 상기 송신기는, 방송 송신기의 기준 시간에 대한 정보를 이용하여, NTP (network time protocol) 정보를 생성하고, NTP 정보를 포함하는 NTP 패킷을 생성하는 NTP 서버, 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성하는 타임라인 패킷 인코더, MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리하는 HTTP 서버, 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공하는 월 클럭 처리부, 및 시그널링 정보를 생성하는 시그널링 인코더 중 어느 하나 이상을 더 포함한다.
바람직하게는, 상기 데이터 유닛은 청크 (chunk) 에 해당하고, 상기 세그먼트는 ISO BMFF 파일에 해당하고, 상기 패킷은 ALC/LCT+ 패킷에 해당하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 패킷에 포함된 데이터의 우선 순위를 나타내는 priority 엘레먼트를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 세그먼트의 시작 부분에서부터, 상기 데이터 유닛이 상기 세그먼트 내에서 전송되는 시점의 오프셋을 가리키는 EXT_OBJ_OFFSET 엘레먼트를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, TSI (Transport Session Identifier) 엘레먼트를 더 포함하고, 상기 TSI 엘레먼트는 상기 세그먼트가 속하는 트랙을 식별하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 데이터 유닛의 PTS (Presentation Timestamp) 를 나타내는 EXT_OBJ_PTS 엘레먼트, 및 상기 데이터 유닛의 위치를 식별하는 EXT_OBJ_LOCATION 엘레먼트를 더 포함하는 것을 특징으로 한다.
전술한 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 수신기는, 하나 이상의 패킷을 포함하는 방송 신호를 수신하는 튜너, 상기 하나 이상의 패킷을 파싱 및 처리하는 ALC/LCT+클라이언트, 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 것을 특징으로 하고, ALC/LCT+클라이언트는 상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하고 이를 DASH 클라이언트에 전달 및 상기 세그먼트를 이용하여, 미디어를 디코딩하는 미디어 디코더를 포함하며, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 수신기는, 상기 DASH 클라이언트의 요구 (request) 를 처리하여, HTTP 서버로 전달하고, 상기 HTTP 서버로부터, 상기 요구에 따른 응답 (response)을 수신하여, 상기 DASH 클라이언트로 전달하는 HTTP 클라이언트를 더 포함하고, 상기 DASH 클라이언트는, 상기 응답에 포함된 세그먼트와 상기 생성된 세그먼트 사이의 동기를 맞추는 것을 특징으로 한다.
바람직하게는, 상기 데이터 유닛은 청크 (chunk) 에 해당하고, 상기 세그먼트는 ISO BMFF 파일에 해당하고, 상기 패킷은 ALC/LCT+ 패킷에 해당하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 패킷에 포함된 데이터의 우선 순위를 나타내는 priority 엘레먼트를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 세그먼트의 시작 부분에서부터, 상기 데이터 유닛이 상기 세그먼트 내에서 전송되는 시점의 오프셋을 가리키는 EXT_OBJ_OFFSET 엘레먼트를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, TSI (Transport Session Identifier) 엘레먼트를 더 포함하고, 상기 TSI 엘레먼트는 상기 세그먼트가 속하는 트랙을 식별하는 것을 특징으로 한다.
바람직하게는, 상기 헤더는, 상기 데이터 유닛의 PTS (Presentation Timestamp) 를 나타내는 EXT_OBJ_PTS 엘레먼트, 및 상기 데이터 유닛의 위치를 식별하는 EXT_OBJ_LOCATION 엘레먼트를 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 하이브리드 방송 시스템에서는 기존의 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터를 효율적으로 함께 처리할 수 있다는 효과가 있다.
본 발명에 따르면, 방송망을 통하여 전송되는 데이터와 브로드밴드망을 통하여 전송되는 데이터 사이의 효과적으로 타이밍이나 동기를 맞출 수 있는 효과가 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 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는 본 발명의 일 실시예에 따른, 하이브리드 (hybrid) 방송 수신기를 나타낸 도면이다.
도 26은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 스캐닝 (scanning) 을 수행하는 동작을 나타낸 도면이다.
도 27은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 28은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 29는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 30은 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
도 31은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 32은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 33는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 34는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
도 35는 본 발명의 일 실시예에 따른, ALC/LCT+클라이언트의 동작을 나타낸 도면이다.
도 36는 본 발명의 일 실시예에 따른, ISO BMFF 파일을 나타낸 도면이다.
도 37은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
도 38은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
도 39은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷 내의 ISO BMFF 파일 내의 각 박스들의 특성을 설정하는 것을 나타낸 도면이다.
도 40는 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 송신 및 수신을 나타낸 도면이다.
도 41은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 구조를 나타낸 도면이다.
도 42은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 처리를 나타낸 도면이다.
도 43는 본 발명의 일 실시예에 따른, 방송 시스템을 나타낸 도면이다.
도 44은 본 발명의 일 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 45는 본 발명의 일 실시예에 따른, MPD를 브로드밴드와 브로드캐스트 모두에서 사용하는 경우에 있어서, 방송 시스템의 동작을 나타낸다.
도 46은 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 47은 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
도 48은 본 발명의 다른 실시에에 따른, 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 49는 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
도 50는 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
도 51은 본 발명의 일 실시예에 따른, 방송 신호를 송신 처리하는 순서 및 방송 신호를 수신 처리하는 순서를 나타낸 순서도이다.
도 52는 본 발명의 일 실시예에 따른, 송신기 및 수신기를 나타낸 도면이다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 명세서에서 ‘시그널링 (signaling)’ 이라 함은 방송 시스템, 인터넷 방송 시스템 및/또는 방송/인터넷 융합 시스템에서 제공되는 서비스 정보 (Service Information; SI)를 전송/수신하는 것을 나타낸다. 서비스 정보는 현재 존재하는 각 방송 시스템에서 제공되는 방송 서비스 정보 (예를 들면, ATSC-SI 및/또는 DVB-SI)를 포함한다.
본 명세서에서 ‘방송 신호’ 라 함은, 지상파 방송, 케이블 방송, 위성 방송, 및/또는 모바일 방송 이외에도, 인터넷 방송, 브로드밴드 방송, 통신 방송, 데이터 방송 및/또는 VOD (Video On Demand) 등의 양방향 방송에서 제공되는 신호 및/또는 데이터를 포함하는 개념으로 정의한다.
본 명세서에서 ‘PLP’ 라 함은, 물리적 계층에 속하는 데이터를 전송하는 일정한 유닛을 의미한다. 따라서, 본 명세서에서 ‘PLP’로 명명된 내용은, ‘데이터 유닛’ 또는 ‘데이터 파이프 (data pipe)’ 로 바꾸어 명명될 수도 있다.
디지털 방송 (DTV) 서비스에서 활용될 유력한 어플리케이션 (application) 중의 하나로, 방송 망과 인터넷 망과의 연동을 통한 하이브리드 방송 서비스를 꼽을 수 있다. 하이브리드 방송 서비스는 지상파 방송망을 통해서 전송되는 방송 A/V (Audio/Video) 컨텐츠와 연관된 인핸스먼트 데이터 (enhancement data) 혹은 방송 A/V 컨텐츠의 일부를 인터넷 망을 통하여 실시간으로 전송함으로써, 사용자로 하여금 다양한 컨텐츠를 경험할 수 있도록 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
이하에서는 설명의 편의를 위해 MISO 또는 MIMO 방식은 두 개의 안테나를 사용하지만, 본 발명은 두 개 이상의 안테나를 사용하는 시스템에 적용될 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 세 개의 피지컬 프로파일(PHY profile) (베이스(base), 핸드헬드(handheld), 어드벤스(advanced) 프로파일)을 정의할 수 있다. 피지컬 프로파일은 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋이다.
세 개의 피지컬 프로파일은 대부분의 기능 블록을 공유하지만, 특정 블록 및/또는 파라미터에서는 약간 다르다. 추후에 추가로 피지컬 프로파일이 정의될 수 있다. 시스템 발전을 위해, 퓨처 프로파일은 FEF (future extension frame)을 통해 단일 RF (radio frequency) 채널에 존재하는 프로파일과 멀티플렉싱 될 수도 있다. 각 피지컬 프로파일에 대한 자세한 내용은 후술한다.
1. 베이스 프로파일
베이스 프로파일은 주로 루프 톱(roof-top) 안테나와 연결되는 고정된 수신 장치의 주된 용도를 나타낸다. 베이스 프로파일은 어떤 장소로 이동될 수 있지만 비교적 정지된 수신 범주에 속하는 휴대용 장치도 포함할 수 있다. 베이스 프로파일의 용도는 약간의 개선된 실행에 의해 핸드헬드 장치 또는 차량용으로 확장될 수 있지만, 이러한 사용 용도는 베이스 프로파일 수신기 동작에서는 기대되지 않는다.
수신의 타겟 신호 대 잡음비 범위는 대략 10 내지 20 dB인데, 이는 기존 방송 시스템(예를 들면, ATSC A/53)의 15 dB 신호 대 잡음비 수신 능력을 포함한다. 수신기 복잡도 및 소비 전력은 핸드헬드 프로파일을 사용할 배터리로 구동되는 핸드헬드 장치에서만큼 중요하지 않다. 베이스 프로파일에 대한 중요 시스템 파라미터가 아래 표 1에 기재되어 있다.
Figure pct00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure pct00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure pct00003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
IP 스트림/패킷 및 MPEG2-TS은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 4에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 5는 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 5를 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure pct00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure pct00005
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 6을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 7에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 9는 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 10은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
Figure pct00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure pct00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure pct00008
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
FRU_CONFIGURE: 해당 3비트 필드는 현 슈퍼 프레임에서 존재하는 FRU의 피지컬 프로파일 타입 구성을 나타낸다. 현 슈퍼 프레임에서 모든 프리앰블에서의 해당 필드에서, 현 슈퍼 프레임에서 전달되는 모든 프로파일 타입이 식별된다. 해당 3비트 필드는 아래 표 8에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
Figure pct00009
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
Figure pct00010
NUM_FSS: 해당 2비트 필드는 현 프레임에서 FSS의 수를 나타낸다.
SYSTEM_VERSION: 해당 8비트 필드는 전송되는 신호 포맷의 버전을 나타낸다. SYSTEM_VERSION은 주 버전 및 부 버전의 두 개의 4비트 필드로 분리된다.
주 버전: SYSTEM_VERSION 필드의 MSB인 4비트는 주 버전 정보를 나타낸다. 주 버전 필드에서의 변화는 호환이 불가능한 변화를 나타낸다. 디폴트 값은 0000이다. 해당 표준에서 서술된 버전에 대해, 값이 0000으로 설정된다.
부 버전: SYSTEM_VERSION 필드의 LSB인 4비트는 부 버전 정보를 나타낸다. 부 버전 필드에서의 변화는 호환이 가능하다.
CELL_ID: 이는 ATSC 네트워크에서 지리적 셀을 유일하게 식별하는 16비트 필드이다. ATSC 셀 커버리지는 퓨처캐스트 UTB 시스템당 사용되는 주파수 수에 따라 하나 이상의 주파수로 구성될 수 있다. CELL_ID의 값이 알려지지 않거나 특정되지 않으면, 해당 필드는 0으로 설정된다.
NETWORK_ID: 이는 현 ATSC 네트워크를 유일하게 식별하는 16비트 필드이다.
SYSTEM_ID: 해당 16비트 필드는 ATSC 네트워크 내에서 퓨처캐스트 UTB 시스템을 유일하게 식별한다. 퓨처캐스트 UTB 시스템은 입력이 하나 이상의 입력 스트림(TS, IP, GS)이고 출력이 RF 신호인 지상파 방송 시스템이다. 퓨처캐스트 UTB 시스템은 존재한다면 FEF 및 하나 이상의 피지컬 프로파일을 전달한다. 동일한 퓨처캐스트 UTB 시스템은 서로 다른 입력 스트림을 전달하고 서로 다른 지리적 영역에서 서로 다른 RF를 사용할 수 있어, 로컬 서비스 삽입을 허용한다. 프레임 구조 및 스케줄링은 하나의 장소에서 제어되고, 퓨처캐스트 UTB 시스템 내에서 모든 전송에 대해 동일하다. 하나 이상의 퓨처캐스트 UTB 시스템은 모두 동일한 피지컬 구조 및 구성을 갖는다는 동일한 SYSTEM_ID 의미를 가질 수 있다.
다음의 루프(loop)는 각 프레임 타입의 길이 및 FRU 구성을 나타내는 FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, RESERVED로 구성된다. 루프(loop) 사이즈는 FRU 내에서 4개의 피지컬 프로파일(FEF 포함)이 시그널링되도록 고정된다. NUM_FRAME_FRU가 4보다 작으면, 사용되지 않는 필드는 제로로 채워진다.
FRU_PHY_PROFILE: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임(i는 루프(loop) 인덱스)의 피지컬 프로파일 타입을 나타낸다. 해당 필드는 표 8에 나타낸 것과 동일한 시그널링 포맷을 사용한다.
FRU_FRAME_LENGTH: 해당 2비트 필드는 관련된 FRU의 (i+1)번째 프레임의 길이를 나타낸다. FRU_GI_FRACTION와 함께 FRU_FRAME_LENGTH를 사용하면, 프레임 듀레이션의 정확한 값이 얻어질 수 있다.
FRU_GI_FRACTION: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임의 가드 인터벌 일부 값을 나타낸다. FRU_GI_FRACTION은 표 7에 따라 시그널링 된다.
RESERVED: 해당 4비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 PLS2 데이터를 디코딩하기 위한 파라미터를 제공한다.
PLS2_FEC_TYPE: 해당 2비트 필드는 PLS2 보호에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
Figure pct00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure pct00012
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 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 pct00013
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 13은 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
*NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
Figure pct00014
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
Figure pct00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure pct00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure pct00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure pct00018
DP_TI_TYPE: 해당 1비트 필드는 타임 인터리빙의 타입을 나타낸다. 0의 값은 하나의 타임 인터리빙 그룹이 하나의 프레임에 해당하고 하나 이상의 타임 인터리빙 블록을 포함하는 것을 나타낸다. 1의 값은 하나의 타임 인터리빙 그룹이 하나보다 많은 프레임으로 전달되고 하나의 타임 인터리빙 블록만을 포함하는 것을 나타낸다.
DP_TI_LENGTH: 해당 2비트 필드(허용된 값은 1, 2, 4, 8뿐이다)의 사용은 다음과 같은 DP_TI_TYPE 필드 내에서 설정되는 값에 의해 결정된다.
DP_TI_TYPE의 값이 1로 설정되면, 해당 필드는 각각의 타임 인터리빙 그룹이 매핑되는 프레임의 수인 PI를 나타내고, 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록이 존재한다 (NTI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
Figure pct00019
DP_FRAME_INTERVAL: 해당 2비트 필드는 관련된 데이터 파이프에 대한 프레임 그룹 내에서 프레임 간격(IJUMP)을 나타내고, 허용된 값은 1, 2, 4, 8 (해당하는 2비트 필드는 각각 00, 01, 10, 11)이다. 프레임 그룹의 모든 프레임에 나타나지 않는 데이터 파이프에 대해, 해당 필드의 값은 순차적인 프레임 사이의 간격과 동일하다. 예를 들면, 데이터 파이프가 1, 5, 9, 13 등의 프레임에 나타나면, 해당 필드의 값은 4로 설정된다. 모든 프레임에 나타나는 데이터 파이프에 대해, 해당 필드의 값은 1로 설정된다.
DP_TI_BYPASS: 해당 1비트 필드는 타임 인터리버(5050)의 가용성을 결정한다. 데이터 파이프에 대해 타임 인터리빙이 사용되지 않으면, 해당 필드 값은 1로 설정된다. 반면, 타임 인터리빙이 사용되면, 해당 필드 값은 0으로 설정된다.
DP_FIRST_FRAME_IDX: 해당 5비트 필드는 현 데이터 파이프가 발생하는 슈퍼 프레임의 첫 번째 프레임의 인덱스를 나타낸다. DP_FIRST_FRAME_IDX의 값은 0에서 31 사이다.
DP_NUM_BLOCK_MAX: 해당 10비트 필드는 해당 데이터 파이프에 대한 DP_NUM_BLOCKS의 최대값을 나타낸다. 해당 필드의 값은 DP_NUM_BLOCKS와 동일한 범위를 갖는다.
DP_PAYLOAD_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드 데이터의 타입을 나타낸다. DP_PAYLOAD_TYPE은 아래의 표 19에 따라 시그널링 된다.
Figure pct00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure pct00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure pct00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure pct00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure pct00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure pct00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure pct00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure pct00027
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
Figure pct00028
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 16은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 16의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 17은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 17의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 17에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 18은 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 19는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 19에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
Figure pct00029
Figure pct00030
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure pct00031
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure pct00032
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure pct00033
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure pct00034
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure pct00035
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure pct00036
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure pct00037
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure pct00038
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK_Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK_Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK_Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 32에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure pct00039
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK_TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure pct00040
개의 셀이 판독된다. 구체적으로,
Figure pct00041
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure pct00042
, 열 인덱스
Figure pct00043
, 관련된 트위스트 파라미터
Figure pct00044
를 산출함으로써 실행된다.
Figure pct00045
여기서,
Figure pct00046
Figure pct00047
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure pct00048
에 의해 결정된다.
Figure pct00049
결과적으로, 판독될 셀 위치는 좌표
Figure pct00050
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
Figure pct00051
,
Figure pct00052
,
Figure pct00053
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure pct00054
Figure pct00055
보다 작거나 같을 것이다. 따라서,
Figure pct00056
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure pct00057
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure pct00058
타임 인터리빙 그룹의 수는 3으로 설정된다. 타임 인터리버의 옵션은 DP_TI_TYPE='0', DP_FRAME_INTERVAL='1', DP_TI_LENGTH='1', 즉 NTI=1, IJUMP=1, PI=1에 의해 PLS2-STAT 데이터에서 시그널링된다. 각각 Ncells = 30인 XFECBLOCK의 타임 인터리빙 그룹당 수는 각각의 NxBLOCK_TI(0,0) = 3, NxBLOCK_TI(1,0) = 6, NxBLOCK_TI(2,0) = 5에 의해 PLS2-DYN 데이터에서 시그널링된다. XFECBLOCK의 최대 수는 NxBLOCK_Group_MAX에 의해 PLS2-STAT 데이터에서 시그널링 되고, 이는
Figure pct00059
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
Figure pct00060
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure pct00061
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
Figure pct00062
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른, 하이브리드 (hybrid) 방송 수신기를 나타낸 도면이다.
본 발명의 일 실시예에 따른 하이브리드 방송 수신기는, 기존의 방송 신호를 수신할 수 있다. 또한, 하이브리드 방송 수신기는 IP 패킷으로 전송되는 데이터를 수신할 수 있는 네트워크 인터페이스를 포함한다.
본 발명의 일 실시예에 따른, 하이브리드 방송 수신기는, 튜너 (J25010; Tuner), 물리적 계층 제어부 (J25020; Physical Layer Controller), 물리적 프레임 파서 (J25030; Physical Frame Parser), 링크 계층 프레임 프로세서 (J25040; Link Layer Frame Processor), IP/UDP 데이터그램 필터 (J25050; IP/UDP Datagram Filter), 타이밍 제어부 (J25060; Timing Control), 시스템 클락 처리부 (J25070; System Clock), ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client), 파일 처리부 (J25090; Files), DTV 제어 엔진 (J25100; ATSC3.0 DTV Control Engine), 시그널링 파서 (J25110; Signaling Parser), 채널 맵 처리부 (J25120; Channel Map), HTTP 서버 (J25130; HTTP Server), HTTP 어세스 클라이언트 (J25140; HTTP Access Client), HTTP 캐쉬 (J25150; HTTP Cache), DASH 클라이언트 (J25160; DASH Client), ISO BMFF 파서 (J25170; ISO BMFF Parser) 및/또는 미디어 디코더 (J25180; Media Decoder) 를 포함한다.
튜너 (J25010; Tuner)는 방송 신호를 수신한다. 튜너는 방송 신호에서 특정 주파수로의 튜닝을 하여, 해당 주파수의 방송 신호를 수신할 수 있다. 튜너는 방송 신호에 포함된 물리적 프레임 (Physical Frame) 을 추출할 수 있다.
물리적 계층 제어부 (J25020; Physical Layer Controller)는 물리적 계층에서의 방송 신호에 처리와 관련한 제어를 수행한다. 물리적 계층 제어부는 전송 파라미터 또는 시그널링 데이터에서 획득한 정보를 바탕으로, 특정 방송 서비스를 획득하기 위하여 튜닝하여야 하는 주파수에 대한 정보를 튜너로 전달하여, 튜너가 해당 주파수로 튜닝할 수 있도록 제어할 수 있다. 물리적 계층 제어부는 전송 파라미터 또는 시그널링 데이터에서 획득한 정보를 바탕으로, 특정 방송 서비스 또는 방송 컨텐츠를 획득하기 위하여 접근/추출하여야 하는 DP (Data Pipe) 를 식별하는 정보 (DP ID)를 물리적 프레임 파서로 전달하여, 물리적 프레임 파서가 해당 DP를 식별하고, 이를 파싱할 수 있도록 제어한다.
물리적 프레임 파서 (J25030; Physical Frame Parser)는 방송 신호 내의 물리적 프레임을 파싱한다. 물리적 프레임은 물리적 계층에서의 처리를 위한 데이터의 단위를 나타낸다. 물리적 프레임 파서는 물리적 프레임을 파싱하여, 링크 계층 프레임을 추출할 수 있다. 물리적 프레임 파서는 물리적 프레임을 파싱하는 과정에서, 특정 DP를 포함하는 링크 계층 프레임을 추출하기 위하여, DP ID (Data pipe Identifier)를 이용하여, 해당 DP ID가지는 링크 계층 프레임을 추출할 수 있다. 물리적 프레임 파서는, 시그널링 데이터를 추출할 수 있다. 물리적 프레임 파서는 시그널링 데이터를 포함하는 DP (예를 들면, base DP)를 추출하거나, 시그널링 데이터를 전송하는 시그널링 채널을 식별하여, 해당 채널에서 전송되는 시그널링 데이터를 추출할 수 있다.
링크 계층 프레임 프로세서 (J25040; Link Layer Frame Processor)는 링크 계층 프레임을 처리한다. 링크 계층 프레임 프로세서 는 링크 계층 프레임에서 IP/UDP 데이터그램을 추출한다. 링크 계층 프로세서는 링크 계층에서 전달되는 시그널링 데이터를 추출할 수 있다. 링크 계층에서 전달되는 시그널링 데이터는, 링크 계층보다 상위 계층에서의 데이터에 대한 정보를 포함할 수 있다. 예를 들면, 링크 계층에서 전달되는 시그널링 데이터는, IP 패킷의 형태, IP 패킷의 헤더들 내에서 공통되는 정보의 내용, 및/또는 IP 헤더에 대한 압축이 적용된 경우, 헤어 압축에 대한 정보를 포함할 수 있다.
IP/UDP 데이터그램 필터 (J25050; IP/UDP Datagram Filter)는 특정 IP/UDP 데이터그램을 식별하고, 이를 추출할 수 있다. IP/UDP 데이터그램 필터는 특정 IP 패킷을 추출할 수 있고, 이 과정에서, IP/Port 정보를 사용할 수 있다. IP/UDP 데이터그램 필터는 특정 패킷을 포함하는 IP/UDP 데이터그램을 추출하여, 해당 데이터그램 내의 패킷을 수신기의 각 장치로 전송할 수 있다. IP/UDP 데이터그램 필터는 IP/UDP 데이터그램에서 방송 데이터를 전송하는 ALC/LCT + (Asynchronous Layered Coding / Layered Coding Transport +) 패킷, 방송 시스템, 방송 수신기, 및/또는 방송 서비스/컨텐츠 사이의 동기를 위한 데이터를 포함하는 타임라인 패킷 (Timeline Packet), 및/또는 시그널링 데이터를 전송하는 시그널링 패킷 (Signaling Packet)을 추출할 수 있다.
타이밍 제어부 (J25060; Timing Control)는 하나 이상의 소스 (source)로부터 전송되는 전송 스트림들 사이의 동기를 맞추는 역할을 수행한다. 하나 이상의 소스로부터 전송되는 전송 스트림들 사이의 동기를 맞추기 위하여 필요한 정보는 타입라인 패킷의 형태로 전송될 수 있다. 타이밍 제어부는 수신한 패킷 또는 패킷 내의 데이터를 방송 시스템 클락 (system clock) 에 동기를 맞추는 역할을 수행할 수 있다. 타이밍 제어부는 방송 수신기의 클락과 방송 시스템의 클락을 동기화하는 역할을 수행할 수 있다.
시스템 클락 처리부 (J25070; System Clock)는 wall-clock time에 대한 정보를 수신하여, 시스템의 클락을 제어한다.
ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client)는 어플리케이션 계층의 프로토콜에 따른 패킷을 처리한다. 따라서, ALC/LCT+ 클라이언트 (J25080; ALC/LCT+ Client)는 어플리케이션 계층 전송 프로토콜 클라이언트로 명명될 수도 있다. 어플리케이션 계층의 프로토콜 패킷은 해당 계층에 적용되는 프로토콜에 따라 다양한 명칭을 가질 수 있으나, 본원에서는 어플리케이션 계층 전송 프로토콜 패킷 또는 패킷으로 명명하기로 한다. 어플리케이션 계층 전송 프로토콜 패킷에는 ALC/LCT 패킷, ALC/LCT+ 패킷, ROUTE 패킷, 및/또는 MMT 패킷이 포함될 수 있다.
어플리케이션 계층 전송 프로토콜 패킷을 파싱 또는 디코딩한다. ALC/LCT+ 클라이언트는 어플리케이션 계층 전송 프로토콜 패킷에서 일반적인 데이터를 전송하는 파일 (file)을 추출하거나, ISO BMFF (ISO base media file format) object 데이터를 추출할 수 있다. ALC/LCT+ 클라이언트는 ISO BMFF object 데이터를 추출하는 과정에서, timing과 관련된 정보를 추가로 획득할 수 있다. ALC/LCT+ 클라이언트는 일반적인 파일 및/또는 ISO BMFF object 데이터를 추출하는 과정에서, 전송 모드 (delivery mode) 및/또는 TSI (Transport Session Identifier) 정보를 이용할 수 있다.
파일 처리부 (J25090; Files)는 파일들을 저장하거나, 파일들에 대한 처리를 수행한다.
DTV 제어 엔진 (J25100; ATSC3.0 DTV Control Engine)은 각 방송 채널에 대한 정보를 포함하는 채널 맵에 대한 정보를 이용하여, 방송 데이터를 처리하는 일련의 동작을 제어한다. DTV 제어 엔진은 UI (User Interface) 에 의한 사용자 입력 또는 시스템 상의 이벤트 (event) 를 수신하고, 이를 처리한다. DTV 제어 엔진은 전송 파라미터를 이용하여, 물리적 계층 제어부를 제어하여, 물리적 계층 제어부가 물리적 계층에서 방송 신호에 대한 처리를 제어할 수 있도록 하는 역할을 수행한다. DTV 제어 엔진은 MPEG-DASH (Moving Picture Expert Group - Dynamic Adaptive Streaming over HTTP) 와 관련한 데이터를 방송 수신기가 처리하는 경우, MPD (Media Presentation Description)를 추출하거나, MPD를 획득할 수 있는 위치 정보 (예를 들면, URL - Uniform Resource Locator 정보)를 추출하여, MPEG-DASH 와 관련한 데이터를 처리하는 장치로 전달한다.
시그널링 파서 (J25110; Signaling Parser)는 시그널링 패킷 또는 시그널링 비트스트림을 수신하여, 시그널링 정보를 파싱한다. 시그널링 정보에는 채널 맵을 생성하기 위하여 필요한 정보가 포함될 수 있다.
채널 맵 처리부 (J25120; Channel Map)는 시그널링 정보를 이용하여, 채널 맵을 생성하고 이를 저장한다.
HTTP 서버 (J25130; HTTP Server)는 HTTP (HyperText Transfer Protocol)를 이용하여 데이터 또는 패킷을 전달한다. HTTP 서버는 방송 수신기의 요구 (request)를 수신하고, 이에 대한 응답 (response)를 방송 수신기로 전달한다. HTTP 서버는 방송 수신기 외부에 구비될 수도 있고, 방송 수신기 내부에 구비될 수도 있다.
HTTP 어세스 클라이언트 (J25140; HTTP Access Client)는 HTTP 서버와의 통신을 처리한다. HTTP 어세스 클라이언트는 DASH client의 요구를 HTTP 서버에 전달하거나, HTTP 서버의 응답을 DASH client에 전달하는 역할을 수행한다.
HTTP 캐쉬 (J25150; HTTP Cache)는 HTTP로 전송되는 데이터의 일부 또는 전부를 캐쉬 (Cache) 하는 역할을 수행한다.
DASH 클라이언트 (J25160; DASH Client)는 MPEG-DASH와 관련된 데이터를 처리하는 일련의 동작을 수행한다. DASH 클라이언트는 MPD를 HTTP 서버에 요청하거나 이에 대한 응답으로 수신하거나, 다른 경로를 통하여 MPD를 수신한다. DASH 클라이언트는 MPD를 이용하여, 특정 방송 서비스 또는 컨텐츠를 위한 DASH 세그먼트를 추출한다. DASH 클라이언트에서 추출되는 DASH 세그먼트는 ISO BMFF 파일의 형태일 수 있다. DASH 클라이언트는 UI에 의한 입력이나, 시스템 이벤트에 의한 입력을 수신하여, 이와 관련된 데이터를 처리한다.
ISO BMFF 파서 (J25170; ISO BMFF Parser)는 ISO BMFF object 데이터 및/또는 ISO BMFF 파일을 파싱한다. ISO BMFF 파서는 ISO BMFF object 데이터 및/또는 ISO BMFF 파일을 파싱하여 어세스 유닛 (Access Unit), 타이밍 정보, 및/또는 디코딩에 필요한 정보를 추출할 수 있다. 어세스 유닛은 미디어를 위한 데이터를 포함할 수 있다.
미디어 디코더 (J25180; Media Decoder)는 Access Unit, 타이밍 정보, 및/또는 디코딩에 필요한 정보를 이용하여, 미디어 (방송 서비스, 방송 컨텐츠 또는 이벤트)를 디코딩한다.
도 26은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 스캐닝 (scanning) 을 수행하는 동작을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 수신기의 서비스 스캐닝은, 물리적 계층 제어부 (J25020) 이, 튜너 (J25010)를 제어하여, 각각의 주파수의 채널에 대하여, 튜너가 스캐닝을 수행한다.
튜너 (J25010)는 각각의 채널에서의 방송 신호를 수신한다. 튜너 (J25010)는 방송 신호에서 물리적 프레임을 추출할 수도 있다. 튜너 (J25010)는 방송 신호 또는 물리적 프레임을 물리적 프레임 파서 (J25030)에 전송한다.
물리적 프레임 파서 (J25030)는 시그널링 정보를 전송하는 시그널링 비트스트림을 추출한다. 물리적 프레임 파서 (J25030)는 시그널링 비트스트림을 시그널링 파서 (J250110)으로 전송한다.
시그널링 파서 (J25110)는 시그널링 비트스트림에서 시그널링 정보를 추출한다. 시그널링 파서 (J25110)는 시그널링 정보를 채널 맵 처리부 (J25120) 으로 전달한다.
도 27은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
DTV 제어 엔진 (J25100) 은 사용자 또는 방송 이벤트에 의한 서비스를 선택하는 제어 신호를 수신한다. DTV 제어 엔진 (J25100)은 채널 맵 처리부 등에 저장된 채널 맵 또는 시그널링 정보에서, 선택된 서비스를 전송하는 채널의 주파수, DP 식별 정보, 컴포넌트 식별 정보 및/또는 데이터그램 식별하는 정보를 추출하여, 물리적 계층 제어부 (J25020) 및/또는 IP/UDP 데이터그램 필터 (J25050)으로 전달한다.
물리적 계층 제어부 (J25020)는 주파수 정보를 이용하여, 튜너 (J25010) 가 선택된 서비스를 전송하는 채널로의 튜닝을 수행할 수 있도록 제어하고, DP 식별 정보를 이용하여, 물리적 프레임 파서 (J25030) 가 선택된 서비스를 전송하는 DP를 추출하도록 제어한다.
추출된 DP는 링크 계층 프레임 프로세서 (J25040) 에서 처리하여, IP/UDP 데이터그램들을 추출한다.
IP/UDP 데이터그램 필터 (J25050)은 IP/Port 정보를 이용하여, 시그널링 패킷을 전송하는 특정 IP/UDP 데이터그램 또는 특정 IP 패킷을 필터링하고, 해당 데이터그램에서 시그널링 패킷을 추출하여, 시그널링 파서 (J25110)으로 전달한다.
도 28은 본 발명의 일 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진은 채널 맵의 정보에 따라, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 대한 패킷을 전송하는 DP를 식별하는 정보, 해당 패킷을 전송하는 전송 모드를 식별하는 정보, 해당 패킷에 대한 TSI 정보 및/또는 해당 패킷의 IP/Port 정보를 획득한다.
DTV 제어 엔진은 DP를 식별하는 정보를 물리적 계층 제어부로 전송할 수 있다. DTV 제어 엔진은 해당 패킷의 IP/Port 정보를 IP/UDP 데이터그램 필터로 전송할 수 있다. DTV 제어 엔진은 해당 패킷에 대한 TSI 정보 및/또는 해당 패킷을 전송하는 전송 모드를 식별하는 정보를 ALC/LCT+클라이언트로 전송할 수 있다.
물리적 계층 제어부는 DP ID (Data Pipe identifier) 를 물리적 프레임 파서로 전달한다.
물리적 프레임 파서는 DP ID를 이용하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 대한 패킷을 전송하는 DP를 식별하고, 해당 DP를 파싱한다. 물리적 프레임 파서는 DP에서 링크 계층 프레임을 추출해낼 수 있다.
링크 계층 프레임 프로세서는 링크 계층 프레임에서 IP/UDP 데이터그램을 파싱한다. 링크 계층 프레임 프로세서는 사용자가 선택한 방송 서비스 또는 방송 컨텐츠와 관련된 IP/UDP 데이터그램 및/또는 IP 패킷을 추출할 수 있다.
IP/UDP 데이터그램 필터는 사용자가 선택한 방송 서비스 또는 방송 컨텐츠와 관련된 데이터를 포함하는 패킷 (예를 들면, 어플리케이션 계층 전송 프로토콜 패킷) 을 추출한다. IP/UDP 데이터그램 필터는 방송 서비스 및/또는 방송 컨텐트의 방송 시스템과의 동기를 위한 정보를 포함하는 타임라인 패킷을 추출할 수 있다.
ALC/LCT+클라이언트는 수신한 패킷에서 ISO BMFF object 데이터 및/또는 타이밍 관련 정보를 추출하고, ISO BMFF 파서로 전송할 수 있다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
도 29는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 도 27에 대한 설명에서 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진은 채널 맵 또는 시그널링 정보를 통하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 관한 정보를 포함하는 MPD를 획득하거나, 해당 MPD를 제공하는 서버 또는 저장소의 위치를 획득한다. DTV 제어 엔진은은 MPD 또는 MPD의 위치를 DASH 클라이언트로 전달한다.
DASH 클라이언트는 MPD를 획득하고, MPD 내에서, 사용자가 선택한 미디어 (방송 서비스 또는 방송 컨텐츠) 에 포함되는 데이터인 세그먼트를 제공하는 위치에 대한 정보 (예를 들면, segment URL) 를 추출한다. DASH 클라이언트는 세그먼트에 대한 요청을 HTTP 어세스 클라이언트에 전송한다.
HTTP 어세스 클라이언트는 세그먼트의 위치에 대한 정보를 이용하여, 해당 세그먼트를 제공하는 서버에 접속하여, 해당 세그먼트를 획득하고, 이를 DASH 클라이언트에 전달한다.
DASH 클라이언트는 수신한 세그먼트에서 파일 (예를 들면, ISO BMFF 파일)을 추출하고, ISO BMFF 파서로 전달한다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
본 도면에 나타난 실시예에 따르면, 방송망이 아닌 HTTP 를 이용하는 통신망을 통하여, 미디어를 수신할 수 있다.
도 30은 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
하이브리드 방송 수신기는 차세대 방송 시스템의 DTV 서비스에서 지상파 방송과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 수신할 수 있다. 하이브리드 방송 수신기는 지상파 방송을 통해서 전송되는 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠를 수신하고, 이와 연관된 enhancement data 혹은 방송 A/V 컨텐츠의 일부를 브로드밴드를 통하여 실시간으로 수신할 수 있다. 본 명세서에서 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠는 미디어 컨텐츠로 지칭할 수 있다.
하이브리드 방송 수신기는 물리 계층 컨트롤러 (Physical Layer Controller, D25010), 튜너 (Tuner, D25020), 물리적 프레임 파서 (Physical Frame Parser, D25030), 링크 계층 파서 (Link Layer Frame Parser, D25040), IP/UDP 데이터그램 필터 (IP/UDP Datagram Filter, D25050), ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (ATSC 3.0 DTV Control Engine, D25060), ALC/LCT+ 클라이언트 (ALC/LCT+ Client, D25070), 타이밍 제어부 (Timing Control, D25080), 시그널링 파서 (Signaling Parser, D25090), DASH 클라이언트 (Dynamic Adaptive Streaming over HTTP Client, DASH Client, D25100), HTTP 접속 클라이언트 (HTTP Access Client, D25110), ISO BMFF 파서 (ISO Base Media File Format Parser, ISO BMFF Parser, D25120) 및/또는 미디어 디코더(Media Decoder, D25130)을 포함할 수 있다.
물리 계층 컨트롤러 (D25010)는 하이브리드 방송 수신기가 수신하고자 하는 지상파 방송 채널의 라디오 주파수 (Radio Frequency, RF) 정보 등을 이용하여 튜너 (D25020), 물리적 프레임 파서(D25030) 등의 동작을 제어할 수 있다.
튜너 (D25020)는 지상파 방송 채널을 통하여 방송 관련 신호를 수신 및 처리하고 이를 적절한 형태로 변환할 수 있다. 예를 들어 튜너 (D25020)는 수신된 지상파 방송 신호를 물리적 프레임 (Physical Frame)으로 변환할 수 있다.
물리적 프레임 파서 (D25030)는 수신된 물리적 프레임을 파싱하고 이와 관련된 프로세싱을 통하여 연결 계층 프레임 (Link Layer Frame)을 획득할 수 있다.
링크 계층 파서 (D25040)는 링크 계층 프레임으로부터 링크 계층 시그널링 (Link Layer signaling) 등을 획득하거나 IP/UDP 데이터그램을 획득하기 위한 관련 연산을 수행할 수 있다. 링크 계층 파서 (D25040)는 적어도 하나의 IP/UDP 데이터그램을 출력할 수 있다.
IP/UDP 데이터그램 필터 (D25050)는 수신된 적어도 하나의 IP/UDP 데이터그램로부터 특정 IP/UDP 데이터 그램을 필터링할 수 있다. 즉, IP/UDP 데이터그램 필터 (D25050)는 링크 계층 파서 (D25040)로부터 출력된 적어도 하나의 IP/UDP 데이터그램 중 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D30060)에 의해 선택된 IP/UDP 데이터그램을 선택적으로 필터링할 수 있다. IP/UDP 데이터그램 필터 (D25050)는 어플리케이션 계층 전송 프로토콜 패킷을 출력할 수 있다.
ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 각 하이브리드 방송 수신기에 포함된 모듈 간의 인터페이스를 담당할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 각 모듈에 필요한 파라미터 등을 각 모듈에 전달하고, 이를 통해 각 모듈의 동작을 제어할 수 있다. 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 미디어 프리젠테이션 디스크립션 (Media Presentation Description, MPD) 및/또는 MPD URL을 DASH 클라이언트 (D25100)에 전달할 수 있다. 또한 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)은 전송 모드(Delivery mode) 및/또는 전송 세션 식별자 (Transport Session Identifier, TSI)를 ALC/LCT+ 클라이언트 (D25070)에 전달할 수 있다. 여기서 TSI는 MPD 또는 MPD URL 관련 시그널링 등 시그널링 메시지를 포함하는 전송 패킷을 전송하는 세션, 예를 들어 ALC/LCT 세션 또는 FLUTE 세션의 식별자를 나타낼 수 있다.
ALC/LCT+ 클라이언트 (D25070)는 어플리케이션 계층 전송 프로토콜 패킷을 처리하고 복수의 어플리케이션 계층 전송 프로토콜 패킷을 수집 및 처리하여 하나 이상의 ISO Base Media File Format (ISOBMFF) 오브젝트를 생성할 수 있다.
타이밍 제어부 (D25080)는 시스템 타임 정보를 포함하는 패킷을 처리하고 이에 따라 시스템 클럭을 제어할 수 있다.
시그널링 파서 (D25090)는 DTV 방송 서비스 관련 시그널링을 획득 및 파싱하고 파싱된 시그널링에 기초하여 채널 맵 등을 생성하고 관리할 수 있다. 본 발명에서 시그널링 파서는 시그널링 정보로부터 확장된 MPD 또는 MPD 관련 정보를 파싱할 수 있다.
DASH 클라이언트 (D25100)는 실시간 스트리밍 (Real-time Streaming)혹은 적응적 스트리밍 (Adaptive Streaming)에 관련된 연산을 수행할 수 있다. DASH 클라이언트 (D25100)는 HTTP 접속 클라이언트 (D25110)을 통해 HTTP 서버로부터 DASH 컨텐츠를 수신할 수 있다. DASH 클라이언트 (D25100)는 수신된 DASH Segment등을 처리하여 ISO Base Media File Format 오브젝트를 출력할 수 있다. 본 발명에서 DASH 클라이언트 (D25100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)에 전체 Representation ID (Fully qualified Representation ID) 또는 세그먼트 URL을 전달할 수 있다. 여기서 전체 Representation ID는 예를 들어 MPD URL, period@id 및 representation@id를 결합한 ID를 의미할 수 있다. 또한 DASH 클라이언트 (D25100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D25060)으로부터 MPD 또는 MPD URL을 수신할 수 있다. DASH 클라이언트 (D25100)는 수신된 MPD 또는 MPD URL을 이용하여 원하는 미디어 스트림 또는 DASH Segment를 HTTP 서버로부터 수신할 수 있다. 본 명세서에서 DASH 클라이언트 (D25100)는 프로세서로 지칭될 수 있다.
HTTP 접속 클라이언트 (D25110)는 HTTP 서버에 대해 특정 정보를 요청하고, HTTP 서버로부터 이에 대한 응답을 수신하여 처리할 수 있다. 여기서 HTTP 서버는 HTTP 접속 클라이언트로부터 수신한 요청을 처리하고 이에 대한 응답을 제공할 수 있다.
ISO BMFF 파서 (D25120)는 ISO Base Media File Format 오브젝트로부터 오디오/비디오의 데이터 추출할 수 있다.
미디어 디코더 (D25130)는 수신된 오디오 및/또는 비디오 데이터를 디코딩하고, 디코딩된 오디오/비디오 데이터를 프리젠테이션하기 위한 프로세싱을 수행할 수 있다.
본 발명의 하이브리드 방송 수신기가 지상파 방송망과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 제공하기 위해서는 MPD에 대한 확장 또는 수정이 요구된다. 전술한 지상파 방송 시스템은 확장 또는 수정된 MPD를 송신할 수 있으며 하이브리드 방송 수신기는 확장 또는 수정된 MPD를 이용하여 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 즉, 하이브리드 방송 수신기는 확장 또는 수정된 MPD는 지상파 방송을 통해 수신하고, MPD에 기초하여 지상파 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 아래에서는 기존 MPD와 비교하여 확장 또는 수정된 MPD에 추가적으로 포함되어야 하는 엘리먼트 및 속성(attribute)에 대해 기술한다. 아래에서, 확장 또는 수정된 MPD는 MPD로 기술될 수 있다.
MPD는 ATSC 3.0 서비스를 표현하기 위해 확장되거나 수정될 수 있다. 확장 또는 수정된 MPD는 MPD@anchorPresentationTime, Common@presentable, Common.Targeting, Common.TargetDevice 및/또는 Common@associatedTo를 추가적으로 포함할 수 있다.
MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들의 프리젠테이션 타임의 앵커, 즉 기초가 되는 시간을 나타낼 수 있다. 아래에서 MPD@anchorPresentationTime는 MPD의 유효 시간(effective time)으로 사용될 수 있다. MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들 중 가장 빠른 재생 시점을 나타낼 수 있다.
MPD는 공통 속성들 및 요소들(common attributes and elements)을 더 포함할 수 있다. Common@presentable은 MPD가 기술하고 있는 미디어가 프리젠테이션이 가능한 컴포넌트임을 나타낼 수 있다.
Common.Targeting은 MPD가 기술하고 있는 미디어의 타겟팅 특징(targeting properties) 및/또는 개별화 특징(personalization properties)를 나타낼 수 있다.
Common.TargetDevice는 MPD가 기술하고 있는 미디어의 타겟 디바이스 또는 타겟 디바이스들을 나타낼 수 있다.
Common@associatedTo는 MPD가 기술하고 있는 미디어에 관련된 adaptationSet 및/또는 representation을 나타낼 수 있다.
또한 MPD에 포함된 MPD@id, Period@id 및 AdaptationSet@id는 MPD가 기술하고 있는 미디어 컨텐츠를 특정하기 위해 요구될 수 있다. 즉, DASH 클라이언트는 MPD에 기초하여 수신하고자 하는 컨텐츠를 MPD@id, Period@id 및 AdaptationSet@id로 특정하여 ATSC 3.0 디지털 텔레비전 컨트롤 엔진에 전달할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진은 해당 컨텐츠를 수신하여 DASH 클라이언트에 전달할 수 있다.
도 31은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 수신기의 서비스 스캐닝은, 물리적 계층 제어부 (D25010) 이, 튜너 (D25020)를 제어하여, 각각의 주파수의 채널에 대하여, 튜너가 스캐닝을 수행한다.
튜너 (D25020)는 각각의 채널에서의 방송 신호를 수신한다. 튜너 (D25020)는 방송 신호에서 물리적 프레임을 추출할 수도 있다. 튜너 (D25020)는 방송 신호 또는 물리적 프레임을 물리적 프레임 파서 (D25030)에 전송한다.
물리적 프레임 파서 (D25030)는 시그널링 정보를 전송하는 시그널링 비트스트림을 추출한다. 물리적 프레임 파서 (D25030)는 시그널링 비트스트림을 시그널링 파서 (D25090)으로 전송한다.
시그널링 파서 (D25090)는 시그널링 비트스트림에서 시그널링 정보를 추출한다. 시그널링 파서 (D25090)는 시그널링 정보를 채널 맵 처리부 (Channel Map 또는 Channel Map Processor) 으로 전달한다.
도 32은 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
DTV 제어 엔진 (D25060) 은 사용자 또는 방송 이벤트에 의한 서비스를 선택하는 제어 신호를 수신한다. DTV 제어 엔진 (D25060)은 채널 맵 처리부 등에 저장된 채널 맵 또는 시그널링 정보에서, 선택된 서비스를 전송하는 채널의 주파수, DP 식별 정보, 컴포넌트 식별 정보 및/또는 데이터그램 식별하는 정보를 추출하여, 물리적 계층 제어부 (D25010) 및/또는 IP/UDP 데이터그램 필터 (D25050)으로 전달한다.
물리적 계층 제어부 (D25010)는 주파수 정보를 이용하여, 튜너 (D25020) 가 선택된 서비스를 전송하는 채널로의 튜닝을 수행할 수 있도록 제어하고, DP 식별 정보를 이용하여, 물리적 프레임 파서 (D25030) 가 선택된 서비스를 전송하는 DP를 추출하도록 제어한다.
추출된 DP는 링크 계층 프레임 프로세서 (D25040) 에서 처리하여, IP/UDP 데이터그램들을 추출한다.
IP/UDP 데이터그램 필터 (D25050)는 IP/Port 정보를 이용하여, 시그널링 패킷을 전송하는 특정 IP/UDP 데이터그램 또는 특정 IP 패킷을 필터링하고, 해당 데이터그램에서 시그널링 패킷을 추출하여, 시그널링 파서 (D25090)으로 전달한다.
한편, IP/UDP 데이터그램 필터 (D25050)는 방송 서비스 또는 방송 컨텐츠에 대한 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷을 추출할 수 있다. 어플리케이션 계층 전송 프로토콜 패킷 중 일부 패킷은 시그널링 정보를 포함할 수 있다. ALC/LCT+ 클라이언트 (D25070) 은 시그널링 정보를 포함하는 패킷을 파싱하여, 시그널링 파서 (D25090)으로 전달할 수 있다. 시그널링 파서는 해당 시그널링 정보를 포함하는 패킷을 파싱하여, 시그널링 정보를 획득히고, 이를 채널 맵 처리부에 전달하거나, 채널 맵으로 저장한다.
도 33는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진 (D25060)은 채널 맵 처리부에서 MPD 또는 MPD를 획득할 수 있는 위치의 URL 정보를 획득할 수 있다.
DTV 제어 엔진 (D25060)은 특정 방송 서비스 또는 방송 컨텐츠 등의 미디어에 관한 정보를 포함하는 MPD 또는 해당 MPD를 획득할 수 있는 위치의 URL 정보를 DASH 클라이언트 (D25100) 에 전달한다.
DASH 클라이언트 (D25100)는 MPD를 파싱할 수 있다. DASH 클라이언트 (D25100)는 MPD를 획득할 수 있는 위치의 URL 정보를 이용하여, 해당 위치에 있는 MPD에 대한 요청을 HTTP 어세스 클라이언트로 전달할 수 있다. HTTP 어세스 클라이언트는 MPD를 획득할 수 있는 위치의 URL 정보가 나타내는 위치의 HTTP 서버에 접속하여, MPD를 요청하고, 이에 대한 응답으로 MPD를 수신하여, DASH 클라이언트에 전달한다. DASH 클라이언트 (D25100)는 MPD에 포함된 Representation을 식별하는 정보인 Representation ID 및/또는 특정 세그먼트를 획득할 수 있는 위치를 식별하는 Segment URL 정보를 추출한다. DASH 클라이언트 (D25100)는 MPD에서 추출한 정보를 DTV 제어 엔진 (D25060) 에 전달한다.
DTV 제어 엔진 (D25060)은 MPD에서 추출된 정보가 나타내는, 특정 미디어 (특정 방송 서비스, 컨텐츠 및/또는 이벤트)를 전송하는 DP를 식별하는 정보 (예를 들면, DP ID, component ID, IP/Port 정보 및/또는 TSI 정보) 를 획득하여, 물리적 계층 제어부 (D25010) 및/또는 IP/UDP 데이터그램 필터 (D25050) 에 전달한다. DP를 식별하는 정보는 채널 맵 처리부에 저장되어 있거나, 채널 맵 형식으로 방송 수신기에 저장되어 있는 정보에서 추출될 수 있다.
물리적 계층 제어부 (D25010)는 물리적 프레임 파서 (D25030)가 물리적 프레임에서 특정 DP를 추출하도록 물리적 프레임 파서 (D25030)를 제어할 수 있다. 물리적 계층 제어부 (D25010)는 DP ID를 물리적 프레임 파서 (D25030)으로 전달하여, 해당 DP ID가 식별하는 DP가, 물리적 프레임 파서 (D25030)에 의하여 추출될 수 있도록 한다.
물리적 프레임 파서 (D25030) 는 DP에 포함된 링크 계층 프레임을 추출한다.
링크 계층 프레임 처리부 (D25040)는 링크 계층 프레임을 파싱하고, 하나 이상의 IP/UDP 데이터그램을 추출한다.
IP/UDP 데이터그램 필터 (D25050)는 IP/Port 정보를 이용하여, 방송 수신기가 추출하고자 하는 미디어에 대한 데이터를 포함하는 IP/UDP 데이터그램 및/또는 IP 패킷을 추출한다. IP/UDP 데이터그램 필터 (D25050)는 IP/UDP 데이터그램 및/또는 IP 패킷을 파싱하여, 특정 미디어에 대한 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷을 추출한다.
ALC/LCT+ 클라이언트 (D25070) 는 방송 수신기가 소비하고자 하는 미디어에 대한 데이터를 포함하는 어플리케이션 계층 전송 프로토콜 패킷을 디코딩하여, ISO BMFF object 데이터를 획득한다. ISO BMFF object 데이터는 HTTP entity를 포함할 수 있다. HTTP entity는 특정 데이터를 수신할 수 있는 HTTP 관련 정보를 포함할 수 있다.
HTTP 어세스 클라이언트 (D25110) 는 ISO BMFF object 데이터를 디코딩하거나, ISO BMFF object 데이터에 포함된 정보를 이용하여, 특정 미디어를 위한 데이터를 외부로부터 수신할 수 있다.
DASH 클라이언트 (D25100) 는 수신한 데이터로부터, DASH 세그먼트를 파싱한다. DASH 세그먼트는 ISO BMFF 파일의 형태를 가질 수 있다.
이후 절차는 전술한 방송 수신기의 각 장치의 동작에 대한 설명으로 대체한다.
도 34는 본 발명의 다른 실시예에 따른, 하이브리드 방송 수신기에서 서비스 선택 (selection) 을 수행하는 동작을 나타낸 도면이다.
본 도면에서는, 도 32에 대한 설명에서 전술한 방송 수신기에서의 서비스 선택을 수행하는 동작에 이어서, 수행되는 방송 수신기의 동작을 나타낸다.
DTV 제어 엔진 (D25060)은 채널 맵 또는 시그널링 정보를 통하여, 사용자가 선택한 방송 서비스 또는 방송 컨텐츠에 관한 정보를 포함하는 MPD를 획득하거나, 해당 MPD를 제공하는 서버 또는 저장소의 위치를 획득한다. DTV 제어 엔진 (D25060)은 MPD 또는 MPD의 위치를 DASH 클라이언트로 전달한다.
DASH 클라이언트 (D25100)는 MPD를 제공하는 서버 또는 저장소의 위치에 대한 정보를 수신하는 경우, 해당 MPD에 대한 요청을 HTTP 어세스 클라이언트 (D25110)에 전달한다. HTTP 어세스 클라이언트 (D25110)는 MPD의 위치에 해당하는 서버 또는 저장소에 접속하여, MPD를 획득하고, MPD를 DASH 클라이언트 (D25100)에 전달할 수 있다.
DASH 클라이언트 (D25100)는 MPD를 획득하고, MPD 내에서, 사용자가 선택한 미디어 (방송 서비스 또는 방송 컨텐츠) 에 포함되는 데이터인 세그먼트를 제공하는 위치에 대한 정보 (예를 들면, segment URL) 를 추출한다. DASH 클라이언트 (D25100)는 세그먼트에 대한 요청을 HTTP 어세스 클라이언트 (D25110)에 전송한다.
HTTP 어세스 클라이언트 (D25110)는 세그먼트의 위치에 대한 정보를 이용하여, 해당 세그먼트를 제공하는 서버에 접속하여, 해당 세그먼트를 획득하고, 이를 DASH 클라이언트 (D25100)에 전달한다.
DASH 클라이언트 (D25100)는 수신한 세그먼트에서 파일 (예를 들면, ISO BMFF 파일)을 추출하고, ISO BMFF 파서로 전달한다.
이후 데이터의 처리는 전술한 각 장치에 대한 설명으로 대체한다.
본 도면에 나타난 실시예에 따르면, 방송망이 아닌 HTTP 를 이용하는 통신망을 통하여, 미디어를 수신할 수 있다.
도 35는 본 발명의 일 실시예에 따른, ALC/LCT+클라이언트의 동작을 나타낸 도면이다.
(a)를 참조하면, ALC/LCT+클라이언트는 하나 이상의 프로토콜에 따른 데이터를 처리할 수 있다. ALC/LCT+클라이언트는 FLUTE (file delivery over unidirectional transport) 및/또는 ALC/LCT+ 프로토콜에 따른 데이터를 처리할 수 있다. ALC/LCT+클라이언트는 TSI 정보를 수신하고, TSI 정보에 해당하는 전송 세션을 통하여 전송되는 데이터를 획득할 수 있다. ALC/LCT+클라이언트는 FLUTE 데이터 및/또는 ALC/LCT+ 데이터를 수신할 수 있다. ALC/LCT+클라이언트는 수신한 데이터에서 generic 파일 및/또는 ISO BMFF object 데이터를 디코딩 또는 파싱할 수 있다.
(b)를 참조하면, 본 발명의 일 실시예에 따른 비실시간 전송을 지원하는 경우의 ALC/LCT+클라이언트의 동작이 도시되었다. 비실시간 (non-real-time) 전송은, 방송망을 통하여, 미디어가 실제로 소비되기 이전에, 해당 미디어의 데이터를 수신하는 전송 방식이다. 미디어에 포함될 수 있는 방송 서비스는 하나 이상의 방송 컨텐츠를 포함할 수 있다. 방송 컨텐츠는 하나 이상의 파일로 구성될 수 있다. 각각의 파일은 불연속적으로 전송되어, 수신기에 저장될 수 있다. 비실시간으로 전송되는 데이터는 방송 서비스 및/또는 방송 컨텐츠의 데이터에 해당될 수 있다. 비실시간으로 전송되는 데이터는, 실시간으로 전송되는 방송 데이터 또는 인터넷망을 통하여 수신되는 미디어 데이터에 부가되어 사용되는 데이터에 해당될 수 있다.
본 발명의 일 실시예에 따르면, 비실시간 전송이 이루어지는 경우, 비실시간 전송으로 전송되는 데이터는, FLUTE 프로토콜을 사용하여 전송될 수 있다. FLUTE를 통하여, 파일들이 전송되는 이 파일들은 generic 파일을 포함하거나, ISO BMFF Object 데이터를 포함할 수 있다. ALC/LCT+클라이언트는 FLUTE를 통하여 전송되는 데이터에서 generic 파일 및/또는 ISO BMFF Object 데이터를 추출할 수 있다.
ALC/LCT+클라이언트는 비실시간 전송에 의한 데이터를 획득하기 위하여, FDT (file delivery table) 을 위하여, 특정 TOI (Transmission Object Identifier) 정보 및/또는 TSI 정보를 가지는 ALC/LCT 패킷을 모을 수 있다. ALC/LCT+클라이언트는 해당 ALC/LCT 패킷들에서 FDT를 파싱할 수 있다. ALC/LCT+클라이언트는 특정 미디어 또는 방송 컨텐츠에 포함되는 파일을 모으기 위하여, 특정 TOI 정보 및/또는 TSI 정보를 가지는 ALC/LCT 패킷을 모을 수 있다. 특정 미디어 또는 방송 컨텐츠에 해당되는 파일들에 대한 TOI 정보 및/또는 TSI 정보는 전술한 FDT에 포함될 수 있다. 실시간 스트리밍이 이루어지는 경우에는, FDT를 획득하기 위한 동작은 수행되지 않을 수 있으며, 이 경우, ALC/LCT+클라이언트는 FDT와 관련된 TOI 정보 및 TSI 정보는 무시하도록 동작할 수 있다.
(c)를 참조하면, 본 발명의 일 실시예에 따른 실시간 전송에 있어서, ALC/LCT+클라이언트의 동작이 도시되었다.
실시간 전송은 ALC/LCT+ 프로토콜을 이용하여 데이터를 전송할 수 있다. ALC/LCT+프로토콜은 ROUTE (Real-Time Object Delivery over Unidirectional Transport)로 명명될 수도 있다. ALC/LCT+클라이언트는 어플리케이션 계층 전송 프로토콜 패킷에서 ISO BMFF Object 데이터를 추출할 수 있다.
ALC/LCT+클라이언트는 특정 미디어 또는 방송 컨텐트를 구성하는 데이터를 획득하기 위하여, 특정 TSI 정보 및/또는 TOI 정보를 가지는 AL:C/LCT+ 패킷을 모을 수 있다.
도 36는 본 발명의 일 실시예에 따른, ISO BMFF 파일을 나타낸 도면이다.
하나의 ISO BMFF 파일은, 하나의 DASH 세그먼트와 동일한 개념으로 사용될 수 있다. ISO BMFF Object 데이터는 ISO BMFF 파일의 일부 데이터에 해당될 수 있다. ISO BMFF 파일은 하나 이상의 chunk로 분리될 수 있고, 각각의 Chunk는 ISO BMFF Object 데이터에 해당될 수 있다.
ISO BMFF 파일은 하나 이상의 박스 (box)를 포함할 수 있다. ISO BMFF 파일은 ftyp 박스, moov 박스, moof 박스, 및/또는 mdat 박스를 포함할 수 있다.
ISO BMFF 파일이 하나 이상의 chunk로 분리되는 경우, chunk에는 서로 다른 종류의 2개 이상의 박스가 포함될 수 있다. 또는 chunk에는 하나의 종류의 박스만 포함될 수도 있다. 또는, chunk에는 하나의 박스의 일부가 포함될 수도 있다. 또는 chunk에는 하나의 박스에 포함되는 데이터와, 다른 종류의 박스에 포함되는 데이터의 일부가 포함될 수도 있다.
ftyp 박스는 ISO BMFF 파일의 종류를 나타낼 수 있다. ftyp 박스는 ISO BMFF 파일이 호환되는 기술 표준을 식별할 수 있다.
moov 박스는 메타데이터를 위한 컨테이너 (container)이다. 메타데이터는 시그널링 정보에 해당될 수 있다. 메타데이터는 미디어에 포함되는 데이터를 설명하는 정보를 포함할 수 있다.
moof 박스는 movie fragment 박스에 해당되고, movie fragment는 프레젠테이션 시간을 확장한다.
mdat 박스는 프레젠테이션을 위한 실제 미디어 데이터를 포함한다.
도 37은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
본 발명의 일 실시예에 따른, TSI (Transport Session Identifier) 는 하나의 트랙에 맵핑될 수 있다. 하나의 트랙은 비디오, 오디오 또는 DASH representation에 해당될 수 있다.
DASH representation은 하나 이상의 미디어 스트림의 집합 또는 인캡슐레이션 (encapsulation) 을 나타낸다. DASH representation은 미디어의 요소를 전송하도록 인코딩되어 있으며, DASH representation 마다 다른 인코딩 특성을 가질 수 있다. 예를 들면, DASH representation은 동일한 미디어의 컨텐츠 요소에 대하여, 서로 다른 비트율, 해상도, 및/또는 코덱을 사용하여 인코딩된 단위를 나타낼 수 있다. DASH representation은 하나 이상의 DASH 세그먼트를 포함할 수 있다. DASH 세그먼트는 시간 단위로 연속적으로 나뉘어진 파일에 해당된다. DASH 세그먼트는 MPEG2-TS 또는 ISO BMFF 형식의 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따른, TOI (Transmission Object Identifier)는 하나의 ISO BMFF object 데이터에 맵핑될 수 있다. 하나의 ISO BMFF object 데이터는 하나의 ISO BMFF 파일 또는 하나의 chunk에 해당될 수 있다.
본 도면은, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 ISO BMFF 파일에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
예를 들면, 하나의 비디오 트랙 (track)은 하나 이상의 세그먼트 (DASH 세그먼트)를 포함할 수 있다.
각각의 세그먼트는 ISO BMFF 파일에 해당될 수 있다. ISO BMFF 파일은 하나 이상의 ES (elementary stream 또는 elementary segment)로 나뉠 수 있다. 도면에서는 하나의 ISO BMFF 파일은 5개의 ES로 나뉘어졌다.
어플리케이션 계층 전송 프로토콜 패킷은, 각각 ALC/LCT+ 헤더 (ALC/LCT+ H) 및 ES를 포함한다.
예를 들면, 세그먼트 1의 데이터는 5개의 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있고, 각각의 어플리케이션 계층 전송 프로토콜 패킷은 TOI 값을 ‘1’로 가짐으로써, 세그먼트 1의 데이터를 전송하고 있음을 나타낼 수 있다. 비디오 트랙은 ‘1’의 값을 가지는 TSI로 식별되고, 해당 비디오 트랙에 포함되는 다른 세그먼트는 TOI의 값으로 식별될 수 있다. 비디오 트랙이 N개의 세그먼트를 포함하는 경우, TOI는 1부터 N의 값을 가질 수 있다.
수신기는 파일의 시작을 식별할 수 있어야 한다. 세그먼트 1에 의하여 전송되는 ISO BMFF 파일은, 해당 파일이 해당 TSI에 의하여 식별되는 데이터 유닛의 처음 파일임을 나타낼 수 있는 정보를 포함할 수 있다.
도 38은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 하나의 트랙 (예를 들면, 비디오 트랙)은 하나 이상의 세그먼트를 포함할 수 있다. 하나의 세그먼트는 ISO BMFF 파일에 해당될 수 있다. 하나의 세그먼트는 하나 이상의 chunk (청크)로 나뉠 수 있다. 하나의 chunk는 하나 이상의 ES로 나뉠 수 있다. 각각의 어플리케이션 계층 전송 프로토콜 패킷은 ALC/LCT+ 헤더 및 하나의 ES를 포함할 수 있다. 이 경우, 각각의 chunk는 하나 이상의 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송될 수 있다.
도면을 참조하면, 비디오 트랙에 대하여, ‘1’의 TSI 값이 설정되고, 해당 비디오 트랙에 포함되는 세그먼트는 ‘1’의 TSI 값을 가진다. 세그먼트 1에 포함되는 chunk 각각에 대하여, 각각의 TOI 값이 설정될 수 있다.
수신기는 ISO BMFF 파서가 올바른 동작을 제어하기 위하여, ISO BMFF 파일의 시작부터, 각각의 chunk까지의 오프셋 (offset) 을 식별할 수 있어야 한다. 예를 들면, 각각의 chunk는 오프셋을 나타내는 오프셋 정보를 포함할 수 있고, ISO BMFF 파일의 시작 부분의 데이터를 포함하는 chunk는 ‘0’의 값을 가지는 오프셋 정보를 포함할 수 있다.
도 39은 본 발명의 일 실시예에 따른, TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우의 어플리케이션 계층 전송 프로토콜 패킷 내의 ISO BMFF 파일 내의 각 박스들의 특성을 설정하는 것을 나타낸 도면이다.
TSI가 하나의 트랙에 맵핑되고, TOI가 하나의 chunk에 맵핑되는 경우, 세그먼트에 해당되는 ISO BMFF 파일 내에 포함되는 각각의 박스들에 대하여, 서로 다른 중요도가 설정될 수 있다. 이러한 중요도는 송신기에서 설정될 수 있다. 예를 들면, moov 박스에 대하여는 가장 중요함 (highest) 을 나타내는 중요도가 설정될 수 있고, moof 박스에 대하여는 보다 중요함 (higher) 을 나타내는 중요도가 설정될 수 있다.
RAP (random access point)에 해당되는 데이터를 포함하는 mdat 박스는, RAP를 포함하지 않는 다른 mdat 박스 보다 높은 중요도를 가지는 것으로 설정될 수 있다. RAP 는 비디오 트랙의 경우, I-frame 의 데이터를 전송하는 데이터 유닛에 해당될 수 있다.
mdat 박스들 사이에서 중요도에 따라 우선 순위를 결정하는 정보가 각각의 mdat 박스에 포함될 수 있다. 또는, mdat 박스들 사이에서 중요도에 따라 우선 순위를 결정하는 정보는 moov 박스에 포함될 수도 있다. 이 경우, mdat 박스를 식별하는 정보와 연계되어, 특정 mdat 박스의 우선 순위를 결정하는데, 해당 정보가 사용될 수 있다.
도면을 참조하면, mdat 박스는 moof 박스가 없이는 처리될 수 없으므로, mdat 박스에 비하여, moof 박스가 더 중요하도록 설정될 수 있다. 또한, moof 박스는 moov 박스가 없이는 처리될 수 없으므로, moof 박스에 비하여, moov 박스가 더 중요하도록 설정될 수 있다.
하나 또는 하나 이상의 박스들이 서로 다른 어플리케이션 계층 전송 프로토콜 패킷들에 의하여 전송되는 경우, 각각의 어플리케이션 계층 전송 프로토콜 패킷에 포함되는 박스들을 고려하여, 우선 순위에 대한 정보가 어플리케이션 계층 전송 프로토콜 패킷 각각에 포함될 수 있다. 본 발명에서 정보의 설정 또는 데이터의 설정은 송신기 또는 수신기에서 수행될 수 있다.
도 40는 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 송신 및 수신을 나타낸 도면이다.
전술한 어플리케이션 계층 전송 프로토콜 패킷은 송신기에서 생성되어, 수신기로 전송된다.
하나의 TSI가 하나의 트랙에 맵핑되고, 하나의 TOI가 하나의 chunk에 맵핑되는 경우에 있어서, 각 세그먼트의 데이터를 전송하기 위한 어플리케이션 계층 전송 프로토콜 패킷의 생성은 전술하였다. 이 경우, 송신측에서 생성되어 전송되는 ALC.LCT+ 패킷을 수신기에서 수신하는 경우, 어느 어플리케이션 계층 전송 프로토콜 패킷이 어느 세그먼트에 속하는 것인지 수신기는 알 수 없는 문제가 발생할 수 있다. 각각의 chunk에 대하여 각각의 TOI가 설정되고, 각각의 chunk는 하나 이상의 ES로 분할되어, 각각의 ES가 어플리케이션 계층 전송 프로토콜 패킷으로 전송되므로, 어플리케이션 계층 전송 프로토콜 패킷을 수신한 수신기로서는, 해당 어플리케이션 계층 전송 프로토콜 패킷 또는 어플리케이션 계층 전송 프로토콜 패킷에 포함되는 ES가 어느 세그먼트에 속하는 것인지 알 수 없다. 따라서, 수신기가 각각의 chunk가 어느 세그먼트 (또는 파일)에 속하는지 알 수 있도록 하는 방안이 마련되어야 한다.
도면을 참조하면, 비디오 트랙은 세그먼트 1과 세그먼트 2를 포함한다. 세그먼트 1은 chunk 1 내지 chunk 3을 포함한다. 세그먼트 2는 chunk 1 및 chunk 2를 포함한다. 본 예시에서는, 각각의 chunk는 각각의 ES로 전송되는 것을 가정한다. 이 경우, 세그먼트 1에 대하여 생성된 어플리케이션 계층 전송 프로토콜 패킷은 3개가 존재할 수 있으며, 세그먼트 1의 처음 데이터를 포함하는 chunk를 전송하는 ES는, TSI가 ‘1’로 설정되고, TOI가 ‘1’로 설정되고, 오프셋 정보가 ‘0’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 1에 포함되는 chunk 2을 전송하는 ES 2는, TSI가 ‘1’로 설정되고, TOI가 ‘2’로 설정되고, 오프셋 정보가 ‘200’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 1에 포함되는 chunk 3을 전송하는 ES 3는, TSI가 ‘1’로 설정되고, TOI가 ‘3’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 2에 포함되는 chunk 1을 전송하는 ES 4는, TSI가 ‘1’로 설정되고, TOI가 ‘4’로 설정되고, 오프셋 정보가 ‘0’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다. 세그먼트 2에 포함되는 chunk 2을 전송하는 ES 5는, TSI가 ‘1’로 설정되고, TOI가 ‘5’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷을 통하여 전송될 수 있다.
어플리케이션 계층 전송 프로토콜 패킷이 순차적으로 송신기에서 수신기로 전송되는 경우, 수신기는 ‘1’의 값을 가지는 TSI에 해당되는 어플리케이션 계층 전송 프로토콜 패킷들을 동일한 트랙에 대한 데이터를 전송하는 패킷들로 인식할 수 있다. 따라서, 수신기가 동일한 TSI를 가지는 어플리케이션 계층 전송 프로토콜 패킷들을 모으는 과정에서, TOI의 값의 순서대로, 어플리케이션 계층 전송 프로토콜 패킷들을 모을 수 있다. 그러나, ES 3, 및/또는 ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷들이 손실된 경우, 수신기는, TSI가 ‘1’로 설정되고, TOI가 ‘5’로 설정되고, 오프셋 정보가 ‘1000’으로 설정된 어플리케이션 계층 전송 프로토콜 패킷이 전송하는 ES (또는 chunk)가 세그먼트 1에 속하는 것인지, 세그먼트 2에 속하는 것인지 판단할 수 없는 문제가 발생할 수 있다.
본 발명의 일 실시예에서는, 전술한 문제점을 해결하기 위하여, TSI에 대하여 트랙의 ID 값을 사용할 수 있다. 여기서, 트랙은 MPEG-DASH의 representation에 대응되는 개념으로 사용될 수 있다. 또한, TOI에 대하여는, ISO BMFF 파일의 ID (identifier) 와 chunk의 ID (identifier)이 결합된 값을 사용할 수 있다. 만약, 하나의 ISO BMFF object 데이터가 하나의 ISO BMFF 파일과 동일하게 설정된 경우, ISO BMFF object 데이터는 하나의 chunk로 구성되어 있는 것으로 가정할 수도 있다. 본 발명의 일 실시예에서는, 각각의 ISO BMFF object 데이터 (또는 chunk) 에 대한 우선 순위를 나타내는 정보를 설정하기 위하여, reserved bit 중 2비트를 사용할 수 있다.
본 발명의 일 실시예에서는, 각각의 파일들의 시작 부분부터, 어플리케이션 계층 전송 프로토콜 패킷까지의 오프셋 정보가 설정될 수 있다. 이러한 정보는 시그널링 정보 및/또는 어플리케이션 계층 전송 프로토콜 패킷에 포함될 수 있다. 만약 오프셋 정보의 값이 ‘0’인 경우, 해당 값이 적용되는 어플리케이션 계층 전송 프로토콜 패킷은, ISO BMFF 파일의 시작 부분의 데이터를 전송하는 어플리케이션 계층 전송 프로토콜 패킷임을 나타낸다. 어플리케이션 계층 전송 프로토콜 패킷은 미디어의 프리젠테이션 타이밍을 나타내는 정보 (예를 들면, 프레젠테이션의 시작 시간, 지속 시간, 및/또는 다른 컨텐츠와 동기를 위한 정보) 및/또는 해당 파일 또는 어플리케이션 계층 전송 프로토콜 패킷과 관련하여 필요한 데이터에 대한 위치 정보 (예를 들면, URL 정보)를 포함할 수 있다.
도 41은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 구조를 나타낸 도면이다.
어플리케이션 계층 전송 프로토콜 패킷은 v 엘레먼트, c 엘레먼트, PSI 엘레먼트, S 엘레먼트, O 엘레먼트, H 엘레먼트, priority 엘레먼트, A 엘레먼트, B 엘레먼트, HDR_LEN 엘레먼트, Codepoint 엘레먼트, Congestion Control Information 엘레먼트, Transport Session Identifier (TSI) 엘레먼트, Transport Object Identifier (TOI) 엘레먼트, EXT_FTI 엘레먼트, EXT_SCT 엘레먼트, EXT_OBJ_OFFSET 엘레먼트, EXT_OBJ_PTS 엘레먼트, EXT_OBJ_LOCATION 엘레먼트, FEC payload ID 엘레먼트, 및/또는 Encoding Symbols 엘레먼트를 포함할 수 있다.
PSI 엘레먼트는 X 엘레먼트 및/또는 Y 엘레먼트를 포함할 수 있다.
v 엘레먼트는 패킷의 버전 넘버를 나타낸다. v 엘레먼트는 ALC/LCT 의 버전을 나타낼 수 있다. v 엘레먼트는 본 패킷이 ALC/LCT+을 따르는 패킷임을 나타낼 수 있다.
c 엘레먼트는 Congestion control flag 에 해당된다. c 엘레먼트는 Congestion Control Information (CCI) 엘레먼트의 길이를 나타낼 수 있다. 예를 들면, c 엘레먼트는, c 엘레먼트의 값이 0인 경우, CCI의 길이는 32비트, c 엘레먼트의 값이 1인 경우, CCI의 길이는 64비트, c 엘레먼트의 값이 2인 경우, CCI의 길이는 96비트, c 엘레먼트의 값이 3인 경우, CCI의 길이는 128비트 임을 나타낼 수 있다.
PSI 엘레먼트는 Protocol-Specific Indication (PSI) 에 해당될 수 있다. PSI 엘레먼트는 ALC/LCT+의 상위 프로토콜에 대한 특정 목적의 지시자로 사용될 수 있다. PSI 엘레먼트는 현재 패킷이 source packet에 해당되는지 FEC repair packet에 해당되는지 가리킬 수 있다.
X 엘레먼트는 source packet을 가리키는 정보에 해당될 수 있다. Source와 repair data를 위하여 서로 다른 FEC payload ID 포맷이 사용되는 경우, 이 엘레먼트의 값이 ‘1’이면, source data를 위한 FEC payload ID 포맷임을 나타내고, 이 엘레먼트의 값이 ‘0’ 이면, repair data를 위한 FEC payload ID 포맷임을 나타낸다. 또는, 이 엘레먼트의 값이 송신기에서 ‘0’으로 세팅된 경우, 수신기는 이 엘레먼트 또는 이 패킷을 무시하고, 처리하지 않을 수 있다.
S 엘레먼트는 Transport Session Identifier flag 에 해당될 수 있다. S 엘레먼트는 Transport Session Identifier 엘레먼트의 길이를 가리킨다.
O 엘레먼트는 Transport Object Identifier flag 에 해당될 수 있다. O 엘레먼트는 Transport Object Identifier 엘레먼트의 길이를 나타낼 수 있다. 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 파일과 관련된 시그널링 정보를 포함할 수 있다.
H 엘레먼트는 Half-word flag 에 해당될 수 있다. H 엘레먼트는 TSI 및 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
priority 엘레먼트는 이 패킷에 포함된 데이터의 우선 순위를 나타낸다. priority 엘레먼트와 관련하여, 각 오브젝트, chunk, 또는 chunk에 포함되는 박스들 사이의 우선 순위에 관한 설명은 전술한 설명으로 대체한다.
A 엘레먼트는 Close Session flag 에 해당될 수 있다. A 엘레먼트는 세션이 종료 또는 종료가 임박했음을 가리킬 수 있다.
B 엘레먼트는 Close Object flag 에 해당될 수 있다. B 엘레먼트는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 가리킬 수 있다.
HDR_LEN 엘레먼트는 패킷의 헤더의 길이를 나타낸다.
Codepoint 엘레먼트는 이 패킷에 의하여 전송되는 페이로드 (payload)의 타입을 나타낸다. 페이로드의 타입에 따라, 추가적인 페이로드 헤더가 페이로드 데이터의 프리픽스 (prefix)에 삽입될 수 있다.
Congestion Control Information (CCI) 엘레먼트는 layer numbers, logical channel numbers, sequence numbers 등의 Congestion Control 정보를 포함할 수 있다. Congestion Control Information (CCI) 엘레먼트는 필요한 Congestion Control 관련 정보를 포함할 수 있다.
Transport Session Identifier (TSI) 엘레먼트는 Transport Session Identifier field(TSI)는 세션의 고유 식별자이다. TSI 엘레먼트는 특정 전송자 (sender) 로 부터의 모든 세션 (session)들 중에 어느 하나의 세션을 가리킨다. TSI 엘레먼트는 transport session 을 식별하는 역할을 수행한다. TSI 엘레먼트의 값은 하나의 트랙을 위하여 사용될 수 있다.
Transport Object Identifier (TOI) 엘레먼트는 오브젝트의 고유 식별자이다. TOI 엘레먼트는 세션 내에서, 어떠한 오브젝트에 이 패킷이 속하는지를 가리킨다. TOI 엘레먼트의 값은 하나의 ISO BMFF object 데이터를 위하여 사용될 수 있다. TOI 엘레먼트는 ISO BMFF 파일의 ID와 chunk의 ID를 포함할 수 있다. TOI 엘레먼트는 ISO BMFF 파일의 ID와 chunk의 ID의 조합을 그 값으로 가질 수 있다.
EXT_FTI 엘레먼트는 FEC Transport Information 에 대한 정보를 포함한다.
EXT_SCT 엘레먼트는 Sender Current Time의 확장 정보에 해당될 수 있다. EXT_SCT 엘레먼트는 송신측에서의 시간 정보를 포함한다.
EXT_OBJ_OFFSET 엘레먼트는 오브젝트의 오프셋을 가리킨다. EXT_OBJ_OFFSET 엘레먼트는 세그먼트 (예를 들면, ISO BMFF 파일 또는 파일) 의 시작 부분에서부터, 이 패킷에 포함된 오브젝트 (예를 들면, ISO BMFF object 데이터 또는 chunk) 이 세그먼트 내에서 위치하는 위치의 오프셋을 가리킨다. EXT_OBJ_OFFSET 엘레먼트에 대한 상세한 실시예는 전술한 설명으로 대체한다. 오프셋을 가리키는 정보는 어플리케이션 계층 전송 프로토콜 패킷의 페이로드에 포함될 수도 있다.
EXT_OBJ_PTS 엘레먼트는 오브젝트의 PTS (Presentation Timestamp) 를 나타낸다.
EXT_OBJ_LOCATION 엘레먼트는 오브젝트의 위치를 식별한다. EXT_OBJ_LOCATION 엘레먼트는 패킷의 페이로드에 포함된 오브젝트의 URI 등을 포함하는 오브젝트의 위치를 식별한다. 이 위치는 URL 등으로 표시될 수 있다.
FEC payload ID 엘레먼트는 FEC Payload 식별자이다. FEC payload ID 엘레먼트는 Transmission Block 또는 encoding symbol의 식별 정보를 포함한다. FEC Payload ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC Payload ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
Encoding Symbols 엘레먼트는 Transmission Block 또는 encoding symbol의 데이터를 포함할 수 있다.
도 42은 본 발명의 일 실시예에 따른, 어플리케이션 계층 전송 프로토콜 패킷의 처리를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 하나의 TSI의 값은 하나의 트랙을 위하여 할당되고, 하나의 TOI의 값은, ISO BMFF 파일의 ID와 chunk의 ID를 식별하는 값을 포함한다.
도면을 참조하면, 하나의 비디오 트랙은 N개의 세그먼트를 포함한다. 세그먼트 1은 하나의 ISO BMFF 파일에 대응될 수 있다. 세그먼트는 하나 이상의 chunk로 나뉘어질 수 있다. 각각의 chunk는 하나 이상의 ES를 통하여 전송될 수 있다. 각각의 ES는 어플리케이션 계층 전송 프로토콜 패킷의 페이로드를 통하여 전송된다.
세그먼트 1에 포함되는 ES 1을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 ISO BMFF 파일의 시작 부분에 해당되는 데이터를 포함하고, moov 박스를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘highest’ (가장 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 처음 chunk에 포함되는 데이터임을 가리키는 ‘1’의 값을 함께 가진다. 또한, 세그먼트의 시작 부분의 데이터를 전송하므로, 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트는 0에 해당된다.
세그먼트 1에 포함되는 ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, moof 박스, mdat 박스의 일부를 포함하는 chunk 2의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘higher’ (보다 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 두 번째 chunk에 포함되는 데이터임을 가리키는 ‘2’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 100의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다. 세그먼트 1에 포함되는 ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 chunk 2에 포함되는 데이터를 전송하므로, priority 엘레먼트, TSI 엘레먼트 및 TOI 엘레먼트는, ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷과 동일한 값을 가진다. 다만, ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트의 값과는 다른 오프셋 엘레먼트 값을 가진다.
세그먼트 1에 포함되는 ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, mdat 박스의 일부를 포함하는 chunk 3의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘low’ (낮음)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 1을 식별하는 ‘1’과 해당 세그먼트 내에서 세 번째 chunk에 포함되는 데이터임을 가리키는 ‘3’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 400의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다. 세그먼트 1에 포함되는 ES 5를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 chunk 3에 포함되는 데이터를 전송하므로, priority 엘레먼트, TSI 엘레먼트 및 TOI 엘레먼트는, ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷과 동일한 값을 가진다. 다만, ES 5를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, ES 4를 전송하는 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트의 값과는 다른 오프셋 엘레먼트 값을 가진다.
세그먼트 2에 포함되는 ES 1을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은 ISO BMFF 파일의 시작 부분에 해당되는 데이터를 포함하고, moov 박스를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘highest’ (가장 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 처음 chunk에 포함되는 데이터임을 가리키는 ‘1’의 값을 함께 가진다. 또한, 세그먼트의 시작 부분의 데이터를 전송하므로, 어플리케이션 계층 전송 프로토콜 패킷의 오프셋 엘레먼트는 0에 해당된다.
세그먼트 2에 포함되는 ES 2를 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, moof 박스, mdat 박스의 일부를 포함하는 chunk 2의 일부를 포함한다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘higher’ (보다 중요함)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 두 번째 chunk에 포함되는 데이터임을 가리키는 ‘2’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 100의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다.
세그먼트 2에 포함되는 ES 3을 전송하는 어플리케이션 계층 전송 프로토콜 패킷은, mdat 박스의 일부를 포함하는 chunk 3의 일부를 포함한다. 해당 mdat 박스의 데이터는 다른 mdat 박스의 데이터 보다 중요한 데이터가 포함되어 있을 수 있다. 따라서, 이 어플리케이션 계층 전송 프로토콜 패킷은 ‘medium’ (보통)의 priority 엘레먼트의 값을 가지고, TSI 엘레먼트는 해당 비디오 트랙을 가리키는 값 (예를 들면, 1)을 가지고, TOI 엘레먼트는, 해당 비디오 트랙 내의 세그먼트 2를 식별하는 ‘2’와 해당 세그먼트 내에서 세 번째 chunk에 포함되는 데이터임을 가리키는 ‘3’의 값을 함께 가진다. 또한, 어플리케이션 계층 전송 프로토콜 패킷에 의하여 전송되는 데이터는, 세그먼트의 시작 부분에서부터 400의 오프셋을 가지는 곳에 위치하는 데이터임을, offset 엘레먼트가 가리킨다.
세그먼트 1과 세그먼트 2에 각각 포함되는 어플리케이션 계층 전송 프로토콜 패킷은 PTS 엘레먼트 값을 포함할 수 있는데, 세그먼트 1에 포함되는 어플리케이션 계층 전송 프로토콜 패킷의 PTS 엘레먼트 값이 x를 가지는 경우, 세그먼트 2에 포함되는 어플리케이션 계층 전송 프로토콜 패킷이 PTS 엘레먼트의 값은 x+1을 가질 수 있다.
이와 같이, 어플리케이션 계층 전송 프로토콜 패킷을 구성하는 경우, 수신기는 특정 어플리케이션 계층 전송 프로토콜 패킷이 어느 세그먼트 (또는 ISO BMFF 파일) 에 속하는지 알 수 있어, 전송 과정에서 어플리케이션 계층 전송 프로토콜 패킷의 일부가 손실되는 경우에도, 수신한 어플리케이션 계층 전송 프로토콜 패킷을 정확한 위치에서 디코딩할 수 있다.
도 43는 본 발명의 일 실시예에 따른, 방송 시스템을 나타낸 도면이다.
전술한 바와 같이, 본 발명의 일 실시예에 따른, 방송 수신기는 MPEG-DASH의 MPD를 이용하여, 방송 스트리밍을 제공할 수 있다. 본 발명의 일 실시예에 따른 방송 수신기는 브로드밴드 및/또는 브로드캐스트를 통하여 방송 신호 및/또는 방송 데이터를 수신하여 처리할 수 있다. 따라서, MPD는 브로드밴드와 브로드캐스트 모두에서 사용될 수 있다. 또는 MPD는 브로드밴드에서만 사용될 수 있다.
본 도면은 MPD를 브로드캐스트와 브로드밴드 모두에서 사용하는 경우에 있어서, 본 발명의 일 실시예에 따른, 방송 시스템의 동작을 나타낸다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J42010), NTP 서버 (NTP server; J42020), DASH 인코더 (DASH Encoder; J42030), 방송 송신기 (Broadcast Transmitter; J42040) 및/또는 HTTP 서버 (external HTTP server; J42050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110), FLUTE+ 클라이언트 (FLUTE+ client; J42120), DASH 클라이언트 (DASH client; J42130), HTTP 서버 (Internal HTTP server; J42140), NTP 클라이언트 (NTP client; J42150) 및/또는 월 클럭 처리부 (Wall clock-R; J42160) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J42010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
NTP 서버 (NTP server; J42020)는 방송 송신기의 기준 시간에 대한 정보를 이용하여, NTP (network time protocol) 정보를 생성하고, NTP 정보를 포함하는 NTP 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J42030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J42030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcast Transmitter; J42040)는 NTP 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (external HTTP server; J42050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (external HTTP server; J42050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J42110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 NTP 패킷을 필터링할 수 있다.
FLUTE+ 클라이언트 (FLUTE+ client; J42120)는 수신한 패킷에서 MPD를 추출한다. FLUTE+ 클라이언트 (FLUTE+ client; J42120)는 미디어에 대한 정보를 포함하는 HTTP entity를 추출한다.
DASH 클라이언트 (DASH client; J42130)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J42130)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
HTTP 서버 (Internal HTTP server; J42140)는 DASH 클라이언트의 특정 세그먼트에 대한 요청을 수신하고, 이에 대한 응답으로 해당 세그먼트를 DASH 클라이언트로 전달한다. DASH 클라이언트는 특정 세그먼트를 요청하기 위하여, 해당 세그먼트의 URL 정보를 HTTP 서버로 전달할 수 있다. HTTP 서버 (Internal HTTP server; J42140)는 수신기 내부에 존재할 수 도 있고, 수신기 외부에 존재할 수도 있다.
NTP 클라이언트 (NTP client; J42150)는 NTP 패킷을 수신하여 파싱한다.
월 클럭 처리부 (Wall clock-R; J42160)는 NTP 정보를 이용하여, 수신기의 기준 시간과 네트워크 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다. 세그먼트는 내부 HTTP 서버에서 DASH 클라이언트로 전송된다.
도 44은 본 발명의 일 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 43의 각 장치에 표시된 Timing (1), Timing (2), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 서버에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다.
타임라인 4에서, MPD에서 묘사된 세그먼트가 available 한 시간을 나타내는 availability 타임라인이 도시되었다. 세그먼트의 실제 지속 시간 (duration)과 time shift buffer depth에 따른 각각의 세그먼트의 시간이 결합되어 해당 세그먼트의 길이로 설정될 수 있다.
타임라인 4에서, 실제로 각각의 세그먼트가 수신되는 시간은, 전송 시간과 비교하여 일정한 지연 (constant delay)가 있을 수 있다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는 세그먼트 (A3), 세그먼트 (V3)가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A3) 및 세그먼트 (V3)의 start time 정보, 및 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A3) 및 세그먼트 (V3)를 표출하는 시간을 정할 수 있다.
도 45는 본 발명의 일 실시예에 따른, MPD를 브로드밴드와 브로드캐스트 모두에서 사용하는 경우에 있어서, 방송 시스템의 동작을 나타낸다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J44010), 타임라인 패킷 인코더 (timeline packet encoder; J44020), DASH 인코더 (DASH Encoder; J44030), 방송 송신기 (Broadcaster; J44040) 및/또는 HTTP 서버 (external HTTP server; J44050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120), 수신기 버퍼 제어부 (receiver buffer control; J44130), 세그먼트 버퍼 (Seg. Buffer; J44140), 미디어 엔진 (Media engine; J44150), 타임라인 패킷 파서 (timeline packet parser; J44160), 월 클럭 처리부 (Wall clock-R; J44170), 및/또는 DASH 클라이언트 (DASH client; J44180) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J44010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J44020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J44040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (HTTP server; J44050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (HTTP server; J44050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다. HTTP 서버 (HTTP server; J44050)는 DASH 클라이언트로부터 특정 세그먼트 (예를 들면, Seg.(A)) 에 대한 요청을 수신 받는다. 이 요청에는 특정 세그먼트의 위치 정보 (예를 들면, URL 정보)가 포함될 수 있다. HTTP 서버 (HTTP server; J44050)는 DASH 인코더로부터, 해당 세그먼트를 수신 받아, DASH 클라이언트로 전달할 수 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J44110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120)는 수신한 패킷에서 MPD를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J44120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V))를 추출한다.
수신기 버퍼 제어부 (receiver buffer control; J44130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 수신기 버퍼 제어부 (receiver buffer control; J44130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J44140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J44150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J44160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J44170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
DASH 클라이언트 (DASH client; J44180)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J44180)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. MPD 파서 (MPD parser)는 MPD에서 세그먼트 (A)에 대한 기존의 방송 시스템 에서의 타이밍 정보 (예를 들면, PTS 등), 세그먼트의 URL 정보, 및/또는 세그먼트의 available 타이밍 정보를 추출할 수 있다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
본 발명에 따르면, 비디오 데이터를 전송하는 세그먼트 (Seg.(V))와 오디오 데이터를 전송하는 세그먼트 (Seg.(A))가 서로 다른 전송 방식으로 전송되어, 서로 다른 처리 과정을 거쳐, 하나의 미디어의 일부를 구성할 수 있다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 외부 서버에서 사용 가능하다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다. 세그먼트는 내부 서버에서 DASH 클라이언트로 즉시 전송될 수 있다.
도 46은 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 45의 각 장치에 표시된 Timing (1), Timing (2), Timing (3), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 3은 외부 서버 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 서버에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다. 여기서 방송망을 통하여는, 비디오 데이터를 포함하는 세그먼트들이 전송될 수 있다. 즉, 방송망을 통하여는, 세그먼트(V1), 세그먼트(V2), 세그먼트(V3)이 전송된다.
타임라인 3에서, 비디오 데이터를 전송하는 세그먼트에 대응되는 오디오 데이터를 전송하는 세그먼트(A1), 세그먼트(A2), 세그먼트(A3)가 외부 서버에서 available 한 시간이 표현되어 있다.
타임라인 4에서, MPD에서 묘사된 세그먼트가 available 한 시간을 나타내는 availability 타임라인이 도시되었다. 세그먼트의 실제 지속 시간 (duration)과 time shift buffer depth에 따른 각각의 세그먼트의 시간이 결합되어 해당 세그먼트의 길이로 설정될 수 있다.
타임라인 4에서, 실제로 각각의 세그먼트가 수신되는 시간은, 전송 시간과 비교하여 일정한 지연 (constant delay)가 있을 수 있다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 각각의 start time 정보, 및 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A2), 세그먼트 (A3), 및 세그먼트 (V3)를 표출하는 시간을 정할 수 있다. 수신기에 따라, 컨텐츠가 표출되는 시간의 차이가 있을 수 있으나, suggested presentation delay 를 이용하여 수신기 간의 컨텐츠가 표출되는 시간 차이를 없앨 수 있다.
MPD가 브로드밴드와 브로드캐스트 모두에서 사용되는 경우, 브로드캐스트 채널로 전송되는 세그먼트 보다, 브로드밴드로 전송되는 세그먼트를 수신기는 먼저 수신할 수 있다.
기존의 (외부 서버를 위한) DASH availability 타임라인은, (내부 서버에서) 방송 스트림으로 전송되는 세그먼트들을 위하여는 사용될 수 없을 것이다. 내부 서버에서의 세그먼트 availability time은 채널 변경 시간에 의하여 영향을 받을 수 있다. 추가적으로 세그먼트 수신 시간 (segment reception time)이 고려되어야 하며, 수신기는 세그먼트 수신 시간을 고려하여, 세그먼트 availability time을 측정할 수 있다. 전술한 실시예에서, 일정한 지연 (constant delay)이 수신기 마다 다른 경우, DASH presentation time 은 suggested presentation delay 정보를 이용하여 정확하게 동기화되기 어려울 수 있다.
도 47은 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J46010), 타임라인 패킷 인코더 (timeline packet encoder; J46020), DASH 인코더 (DASH Encoder; J46030), 및/또는 방송 송신기 (Broadcaster; J46040) 을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120), 수신기 버퍼 제어부 (receiver buffer control; J46130), 세그먼트 버퍼 (Seg. Buffer; J46140), 미디어 엔진 (Media engine; J46150), 타임라인 패킷 파서 (timeline packet parser; J46160), 및/또는 월 클럭 처리부 (Wall clock-R; J46170) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J46010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J46020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J46030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J46030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J46040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J46110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V), Seg.(A))를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J46120)는 MPD 대신, 기존의 타이밍을 위한 정보 (예를 들면, MPEG2 TS에서 사용되던 타이밍 정보)를 추출할 수 있다. 이러한 타이밍을 위한 정보는 각 세그먼트에 포함되어 있을 수도 있다.
버퍼 제어부 (buffer control; J46130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 버퍼 제어부 (buffer control; J46130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 버퍼 제어부 (buffer control; J46130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 버퍼 제어부 (buffer control; J46130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 버퍼 제어부 (buffer control; J46130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J46140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J46150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J46160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J46170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 월 클럭 (wall clock)은 브로드캐스트 타임라인 레퍼런스 (Boradcast timeline reference) 형태로 송신기에서 수신기로 전송된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다.
도 48은 본 발명의 다른 실시에에 따른, 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 47의 각 장치에 표시된 Timing (1), Timing (2), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 4는 수신기의 버퍼에 적용되는 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다. 각각의 세그먼트에는 PTS가 포함될 수 있다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다.
타임라인 4를 참조하면, 일정한 지연 (constant delay)와 각각의 세그먼트의 수신에 필요한 시간이 흐른 뒤, 각각의 세그먼트가 사용 가능하게 된다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는, 세그먼트 (A2) 및 세그먼트 (V2)의 일부 데이터는 수신하지 못할 수 있다. 채널 변경 (channel change)가 발생하는 시점 이후에, 세그먼트 (A3), 및 세그먼트 (V3)은 모두 수신할 수 있다. 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다.
도 49는 본 발명의 다른 실시예에 따른, MPD를 브로드밴드에서만 사용하는 경우에 있어서, 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 송신 시스템과 수신기를 포함한다.
송신 시스템 (송신기)는 월 클럭 처리부 (Wall Clock-T; J48010), 타임라인 패킷 인코더 (timeline packet encoder; J48020), DASH 인코더 (DASH Encoder; J48030), 방송 송신기 (Broadcaster; J48040) 및/또는 HTTP 서버 (HTTP server; J48050)을 포함한다.
수신기는 IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110), ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120), 수신기 버퍼 제어부 (receiver buffer control; J48130), 세그먼트 버퍼 (Seg. Buffer; J48140), 미디어 엔진 (Media engine; J48150), 타임라인 패킷 파서 (timeline packet parser; J48160), 월 클럭 처리부 (Wall clock-R; J48170), 및/또는 DASH 클라이언트 (DASH client; J48180) 를 포함할 수 있다.
월 클럭 처리부 (Wall Clock-T; J48010)는 방송 송신기의 기준 시간에 관한 정보를 처리하고 제공한다.
타임라인 패킷 인코더 (timeline packet encoder; J48020)는 미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성한다.
DASH 인코더 (DASH Encoder; J48030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 방송 데이터를 포함하는 세그먼트를 인코딩한다. DASH 인코더 (DASH Encoder; J44030)는 방송 송신기의 기준 시간에 관한 정보에 맞추어, 미디어 (방송 서비스, 방송 컨텐츠, 및/또는 방송 이벤트) 에 대한 데이터 및/또는 설명 정보를 포함하는 MPD를 인코딩한다.
방송 송신기 (Broadcaster; J48040)는 타임라인 패킷, 세그먼트 및/또는 MPD를 포함하는 방송 스트림을 전송한다.
HTTP 서버 (HTTP server; J48050)는 MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리한다. HTTP 서버 (HTTP server; J48050)는 방송 송신기 내부에 위치할 수 있으며, 외부에 위치할 수도 있다. HTTP 서버 (HTTP server; J48050)는 DASH 클라이언트로부터 특정 세그먼트 (예를 들면, Seg.(A)) 에 대한 요청을 수신 받는다. 이 요청에는 특정 세그먼트의 위치 정보 (예를 들면, URL 정보)가 포함될 수 있다. HTTP 서버 (HTTP server; J48050)는 DASH 인코더로부터, 해당 세그먼트를 수신 받아, DASH 클라이언트로 전달할 수 있다.
IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110)는 방송 신호에서 분리된 IP/UDP 데이터그램 또는 IP 패킷을 필터링한다. IP/UDP 데이터그램 필터 (IP/UDP datagram filter; J48110)는 미디어에 대한 데이터를 포함하는 패킷 (어플리케이션 계층 전송 프로토콜 패킷 또는 LCT 패킷) 과 타임라인 패킷을 필터링할 수 있다.
ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 수신한 패킷에서 MPD를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 미디어에 대한 데이터를 포함하는 세그먼트 (예를 들면, Seg.(V))를 추출한다. ALC/LCT+ 클라이언트 (ALC/LCT+ client; J48120)는 기존의 방송 시스템에서 사용되는 타이밍과 관련된 정보 (예를 들면, MPEG2-TS의 전송에서 사용되던 타이밍 관련 정보)를 추출할 수 있다. 또는 기존의 방송 시스템에서 사용되는 타이밍과 관련된 정보가 세그먼트 (V)에 포함되어 있을 수 있다.
수신기 버퍼 제어부 (receiver buffer control; J48130)는 수신기 내의 세그먼트 버퍼의 동작을 제어한다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 어플리케이션 계층 전송 프로토콜 패킷으로 전송되는 세그먼트를 전달받는다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 버퍼링이 필요한 경우, 해당 세그먼트를 세그먼트 버퍼로 전달할 수 있다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 브로드밴드 타임라인 기준 (Broadband timeline reference; wall clock) 을 수신하고, 세그먼트에 대한 타이밍 정보를 수신한다. 수신기 버퍼 제어부 (receiver buffer control; J48130)는 세그먼트의 타이밍과 월 클럭에 맞춰 세그먼트를 미디어 엔진 등으로 전달하여, 해당 세그먼트가 소비될 수 있도록 제어한다.
세그먼트 버퍼 (Seg. Buffer; J48140)는 세그먼트를 버퍼링한다.
미디어 엔진 (Media engine; J48150)는 세그먼트를 디코딩하고, 세그먼트에 해당되는 미디어를 표출한다.
타임라인 패킷 파서 (timeline packet parser; J48160)는 타임라인 패킷을 파싱한다.
월 클럭 처리부 (Wall clock-R; J48170)는 타임라인 패킷 내의 정보를 이용하여, 수신기의 기준 시간과 시스템의 기준 시간 사이의 동기를 유지하도록 처리한다.
DASH 클라이언트 (DASH client; J48180)는 MPD 파서 (MPD parser), HTTP 어세스 엔진 (HTTP access engine), 세그먼트 버퍼 제어부 (Seg. Buffer control), 세그먼트 버퍼 (Seg. Buffer), 세그먼트 인덱스 처리부 (Seg. Index), DASH 클라이언트 제어부 (DASH Client Control) 및/또는 미디어 엔진 (Media Engine)을 포함할 수 있다. DASH 클라이언트 (DASH client; J44180)는 MPD를 처리하고, MPD에 따라 세그먼트에 대한 요청을 수행하거나, 세그먼트를 수신하여 처리하는 역할을 수행한다. MPD 파서 (MPD parser)는 MPD를 파싱한다. MPD 파서 (MPD parser)는 MPD에서 세그먼트 (A)에 대한 기존의 방송 시스템 에서의 타이밍 정보 (예를 들면, PTS 등), 세그먼트의 URL 정보, 및/또는 세그먼트의 available 타이밍 정보를 추출할 수 있다. HTTP 어세스 엔진 (HTTP access engine)는 HTTP 를 통하여, 서버와 통신을 수행하여, 필요한 데이터를 요청하거나, 수신한다. 세그먼트 버퍼 제어부 (Seg. Buffer control)는 세그먼트 버퍼를 제어한다. 세그먼트 버퍼 (Seg. Buffer)는 세그먼트를 버퍼링한다. 세그먼트 인덱스 처리부 (Seg. Index)는 세그먼트가 순서대로 처리할 수 있도록 세그먼트의 인덱스를 관리 및 처리한다. 세그먼트의 인덱스에 관한 정보는 MPD에 포함된다. 세그먼트 인덱스 처리부는, 세그먼트의 타이밍에 대한 정보를 획득하여, 타이밍에 따라 세그먼트가 디코딩될 수 있도록 하는 처리를 수행한다. DASH 클라이언트 제어부 (DASH Client Control)는 DASH 클라이언트를 제어한다. DASH 클라이언트 제어부는 방송 시스템의 기준 시간에 맞게 DASH 클라이언트가 동작할 수 있도록 제어한다. 미디어 엔진 (Media Engine)는 세그먼트를 디코딩하여, 미디어를 생성한다.
본 발명에 따르면, 비디오 데이터를 전송하는 세그먼트 (Seg.(V))와 오디오 데이터를 전송하는 세그먼트 (Seg.(A))가 서로 다른 전송 방식으로 전송되어, 서로 다른 처리 과정을 거쳐, 하나의 미디어의 일부를 구성할 수 있다.
본 발명의 일 실시예에서는, 세그먼트들은, 방송 송신기에서 인코딩되는 즉시 방송 스트림으로 입력된다. 월 클럭 (wall clock)은 브로드캐스트 타임라인 레퍼런스 (Boradcast timeline reference) 형태로 송신기에서 수신기로 전송된다. 송신기에서 수신기로의 전송 과정에서 일정한 delay가 발생할 수 있다. 송신기와 수신기의 월 클럭 (기준 시간) 사이에 일정한 delay가 발생할 수 있다.
도 50는 본 발명의 다른 실시예에 따른 방송 시스템에서의 세그먼트의 처리의 타이밍을 나타낸 도면이다.
본 도면에서는, 도 49의 각 장치에 표시된 Timing (1), Timing (2), Timing (3), Timing (4), Timing (5)에서의 각각의 타임라인이 도시되어 있으며, 해당 타임라인에서 세그먼트의 타이밍이 도시되었다.
세그먼트(A1)는 오디오 1의 데이터를 전송한다.
세그먼트(V1)는 비디오 1의 데이터를 전송한다.
세그먼트(A2)는 오디오 2의 데이터를 전송한다.
세그먼트(V2)는 비디오 2의 데이터를 전송한다.
세그먼트(A3)는 오디오 3의 데이터를 전송한다.
세그먼트(V3)는 비디오 3의 데이터를 전송한다.
타임라인 1은 송신기의 encoder에서의 타임라인이다.
타임라인 2는 방송 스트림 상에서의 타임라인이다.
타임라인 3은 서버 상에서의 타임라인이다.
타임라인 4는 수신기의 내부 버퍼에서의 타임라인이다.
타임라인 5는 수신기의 DASH 클라이언트에서의 타임라인이다.
타임라인 1에서, 세그먼트(A1) 및 세그먼트(V1)가 동일 시간 동안 인코딩된다. , 세그먼트(A1) 및 세그먼트(V1)의 인코딩이 종료되면, 세그먼트(A2) 및 세그먼트(V2)가 동일 시간 동안 인코딩된다. 세그먼트(A2) 및 세그먼트(V2)의 인코딩이 종료되면, 세그먼트(A3) 및 세그먼트(V3)가 동일 시간 동안 인코딩된다. 각각의 비디오 데이터를 포함하는 세그먼트는 PTS (Presentation Timestamp) 정보를 포함할 수 있다.
타임라인 2에서, 각각의 세그먼트에 대한 인코딩이 종료되면, 송신기는 해당 세그먼트를 전송한다. 여기서 방송망을 통하여는, 비디오 데이터를 포함하는 세그먼트들이 전송될 수 있다. 즉, 방송망을 통하여는, 세그먼트(V1), 세그먼트(V2), 세그먼트(V3)이 전송된다.
타임라인 3에서, 비디오 데이터를 전송하는 세그먼트에 대응되는 오디오 데이터를 전송하는 세그먼트(A1), 세그먼트(A2), 세그먼트(A3)가 외부 서버에서 available 한 시간이 표현되어 있다. 오디오 데이터를 포함하는 세그먼트들의 지속시간에 time shift buffer depth를 더하여, 해당 세그먼트가 available 한 기간을 알 수 있다.
타임라인 4를 참조하면, 일정한 지연 (constant delay)와 각각의 세그먼트의 수신에 필요한 시간이 흐른 뒤, 각각의 세그먼트가 사용 가능하게 된다.
타임라인 5를 참조하면, 채널 변경 (channel change)가 발생하는 시점에서는, 수신기는 세그먼트 (V1)은 수신하지 못하였고, 세그먼트 (V2)에 포함되는 일부 데이터는 수신하지 못하였다. 수신기는 채널 변경 시점 이후, 세그먼트 (V3)를 완전히 수신할 수 있다. 한편, 수신기는 MPD를 이용하여, 세그먼트 (A2)는 수신할 수 있다. 각 세그먼트가 available하고, 위 세그먼트가 다른 클라이언트의 처리 결과와 동기되는 시간을 고려하여, 세그먼트 (A2), 세그먼트 (A3), 세그먼트 (V3)의 표출을 위하여 제시되는 지연 (suggested presentation delay)이 설정될 수 있다. 수신기에서는 period start 정보, 세그먼트 (A2), 세그먼트 (A3)의 각각의 start time 정보, 및/또는 suggested presentation delay 정보가 나타내는 시간들을 더하여, period가 시작된 이후의 세그먼트 (A2), 및 세그먼트 (A3) 를 표출하는 시간을 정할 수 있다. 수신기에 따라, 컨텐츠가 표출되는 시간의 차이가 있을 수 있으나, suggested presentation delay 를 이용하여 수신기 간의 컨텐츠가 표출되는 시간 차이를 없앨 수 있다.
MPD가 브로드밴드에서만 사용되는 경우, 브로드밴드로 전송되는 컨텐츠에 대한 availability timeline을 처리하기 위하여 월 클럭 (wall clock)이 필요하다. 이 경우, ‘broadband timeline reference’가 월 클럭의 값에 동기될 수 있다.
MPD는 미디어의 표출 시간을 시그널링하기 위하여, Media presentation time clock 정보를 포함할 수 있다. Media presentation time clock 정보를 ‘broadcast timeline reference’ 로 사용하기 위하여, 월 클럭과 media presentation time clock 정보 사이의 변환을 위한 추가적인 모듈 또는 장치가 필요할 수 있다. 본 발명의 일 실시예에 따르면, ‘MPD@suggestedPresentationDelay’ 정보가 PTS와 함께 전송되거나, PTS가 ‘suggested presentation delay’를 고려한 값을 가지도록 설정될 수 있다.
브로드캐스트망과 브로드밴드망으로 각각 전송되는 미디어 (방송 서비스, 컨텐츠, 및/또는 이벤트) 들 사이의 동기를 위하여, DASH media presentation timeline이 브로드캐스트와 브로드밴드를 위하여 사용될 수 있다. 예를 들면, ‘MPD@suggestedPresentationDelay’ 를 이용하여, 브로드캐스트 스트림과 브로드밴드 스트림을 일치 (align) 시킨다. ‘SegmentBase@availabilityTimeOffset’ 을 이용하여, 시그널링된 availability start time 이전에, 클라이언트가 세그먼트에 접근할 수 있도록 허용할 수 있다. MPD에 presentation time의 anchor 정보를 추가할 수 있다. 이러한 anchor 정보는 ‘MPD@anchorPresentationTime’으로 표현될 수 있다. 수신기는 anchor의 값으로부터 세그먼트의 시작의 presentation time을 측정할 수 있다. 예를 들면, 수신기는 ‘MPD@anchorPresentationTime’ + ‘Period@start’ + ‘Segment@presentationTimeOffset/Segment@timescale’ 으로, 세그먼트의 시작의 presentation time을 측정할 수 있다.
브로드밴드 네트워크와 브로드캐스트 네트워크 상에서 서로 다른 길이의 지연이 발생할 수 있다. 이 경우, 수신기는 브로드밴드로 전송되는 데이터 (세그먼트 또는 컨텐츠) 를, 해당 데이터가 실제로 소비되는 시간 이전에 요청하는 것이 바람직하다. 따라서, 브로드캐스트로 전송되는 데이터가 수신되는 경우, 이 데이터와 브로드밴드로 전송된 데이터를 함께 소비할 수 있다. 이를 위하여, MPD에 브로드밴드로 전송되는 세그먼트에 대하여 일정한 오프셋을 설정하는 정보인 ‘SegmentBase@availabilityTimeOffset’ 을 추가할 수 있다.
도 51은 본 발명의 일 실시예에 따른, 방송 신호를 송신 처리하는 순서 및 방송 신호를 수신 처리하는 순서를 나타낸 순서도이다.
(a)를 참조하면, 송신기에서는 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 한다 (JS51010).
송신기에서는 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성한다 (JS51020).
송신기에서는 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신한다 (JS51030).
위 과정에서, 송신기는 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하도록 처리할 수 있다.
(b)를 참조하면, 수신기는 하나 이상의 패킷을 포함하는 방송 신호를 수신한다 (JS51110).
수신기는 상기 하나 이상의 패킷을 파싱한다 (JS51120). 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함할 수 있다.
수신기는 상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다 (JS51130).
수신기는 상기 세그먼트를 이용하여, 미디어를 디코딩한다 (JS51140).
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
설명된 방송 신호의 송신 및/또는 수신 처리 과정은, 하나의 실시예로서, 각 처리 과정에서, 본 명세서에서 전술한 하나 이상의 데이터 처리 동작이 부가될 수 있다. 또는 본 도면에서 설명된 과정 중 일부 처리 과정은 생략될 수 있다.
도 52는 본 발명의 일 실시예에 따른, 송신기 및 수신기를 나타낸 도면이다.
(a)를 참조하면, 송신기 (J52010)은 데이터 인코더 (J52020), 패킷 인코더 (J52030), 방송 신호 송신부 (J52040) 및/또는 시그널링 인코더 (J52050)을 포함할 수 있다.
데이터 인코더 (J52020)는 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다.
패킷 인코더 (J52030)는 상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성한다.
방송 신호 송신부 (J52040)는 상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신한다.
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
시그널링 인코더 (J52050)는 시그널링 정보를 생성한다. 시그널링 인코더 (J52050)는 송신기에 포함된 하나 이상의 장치에 생성한 시그널링 정보를 전달할 수 있다.
본 도면의 송신기에는, 본 명세서에서 전술한 송신기의 각 장치들 중 어느 하나 이상의 장치가 부가될 수 있다.
(b)를 참조하면, 수신기 (J52110) 는 튜너 (J52120), ALC/LCT+클라이언트 (J52130), DASH 클라이언트 (J52140) 및/또는 미디어 디코더 (J52150)를 포함할 수 있다.
튜너 (J52120)는 하나 이상의 패킷을 포함하는 방송 신호를 수신한다.
ALC/LCT+클라이언트 (J52130)는 상기 하나 이상의 패킷을 파싱한다. 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함할 수 있다.
DASH 클라이언트 (J52140) 는 상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성한다.
미디어 디코더 (J52150)는 상기 세그먼트를 이용하여, 미디어를 디코딩한다.
여기서, 상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함할 수 있다.
본 도면의 수신기에는, 본 명세서에서 전술한 수신기의 각 장치들 중 어느 하나 이상의 장치가 부가될 수 있다.
모듈, 처리부, 디바이스 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블록/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
본 발명에 따른 방법 발명은 모두 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
발명의 실시를 위한 형태는 전술한 바와 같이, 발명의 실시를 위한 최선의 형태로 상술되었다.
본 발명은 방송 산업 전반에서 이용 가능하다.

Claims (14)

  1. 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 데이터 인코더;
    상기 세그먼트를 하나 이상의 데이터 유닛으로 분할하고, 헤더 (header)와 상기 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 패킷을 생성하는 패킷 인코더; 및
    상기 패킷을 포함하는 방송 신호를 생성하고, 상기 방송 신호를 송신하는 방송 신호 송신부;
    를 포함하며,
    상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하는 것을 특징으로 하는 송신기.
  2. 제 1 항에 있어서,
    상기 데이터 인코더는, DASH 인코더에 해당되고, 상기 데이터 인코더는 MPD (Media Presentation Description)를 생성하는 것을 특징으로 하고,
    상기 송신기는,
    방송 송신기의 기준 시간에 대한 정보를 이용하여, NTP (network time protocol) 정보를 생성하고, NTP 정보를 포함하는 NTP 패킷을 생성하는 NTP 서버;
    미디어의 동기, 또는 방송 시스템과 방송 수신기 사이의 기준 시간의 동기를 위한 정보를 포함하는 타임라인 패킷을 생성하는 타임라인 패킷 인코더;
    MPD에 대한 요청에 대한 응답을 처리하거나, 세그먼트 등과 같은 미디어에 대한 데이터에 대한 요청에 대한 응답을 처리하는 HTTP 서버;
    방송 송신기의 기준 시간에 관한 정보를 처리하고 제공하는 월 클럭 처리부; 및
    시그널링 정보를 생성하는 시그널링 인코더;
    중 어느 하나 이상을 더 포함하는 것을 특징으로 하는 송신기.
  3. 제 1 항에 있어서,
    상기 데이터 유닛은 청크 (chunk) 에 해당하고,
    상기 세그먼트는 ISO BMFF 파일에 해당하고,
    상기 패킷은 ALC/LCT+ 패킷에 해당하는 것을 특징으로 하는 송신기.
  4. 제 1 항에 있어서, 상기 헤더는,
    상기 패킷에 포함된 데이터의 우선 순위를 나타내는 priority 엘레먼트를 더 포함하는 것을 특징으로 하는 송신기.
  5. 제 1 항에 있어서, 상기 헤더 또는 상기 페이로드는,
    상기 세그먼트의 시작 부분에서부터, 상기 데이터 유닛이 상기 세그먼트 내에서 전송되는 시점의 오프셋을 가리키는 EXT_OBJ_OFFSET 엘레먼트를 더 포함하는 것을 특징으로 하는 송신기.
  6. 제 1 항에 있어서, 상기 헤더는,
    TSI (Transport Session Identifier) 엘레먼트를 더 포함하고, 상기 TSI 엘레먼트는 상기 세그먼트가 속하는 트랙을 식별하는 것을 특징으로 하는 송신기.
  7. 제 1 항에 있어서, 상기 헤더는,
    상기 데이터 유닛의 PTS (Presentation Timestamp) 를 나타내는 EXT_OBJ_PTS 엘레먼트, 및 상기 데이터 유닛의 위치를 식별하는 EXT_OBJ_LOCATION 엘레먼트를 더 포함하는 것을 특징으로 하는 송신기.
  8. 하나 이상의 패킷을 포함하는 방송 신호를 수신하는 튜너;
    상기 하나 이상의 패킷을 파싱하는 ALC/LCT+클라이언트, 여기서 상기 패킷은 헤더 (header)와 데이터 유닛의 전부 또는 일부 데이터를 포함하는 페이로드 (payload)를 포함하는 것을 특징으로 하고;
    상기 하나 이상의 패킷에서 하나 이상의 데이터 유닛을 추출하여, 미디어에 포함되는 데이터의 일부를 전송하는 세그먼트를 생성하는 DASH 클라이언트; 및
    상기 세그먼트를 이용하여, 미디어를 디코딩하는 미디어 디코더;
    를 포함하며,
    상기 헤더는 TOI (transport object identifier) 엘레먼트를 포함하고, 상기 TOI 엘레먼트는 상기 페이로드가 전송하는 데이터가 포함되는 상기 세그먼트를 식별하는 세그먼트 식별 엘레먼트와 상기 데이터 유닛을 식별하는 데이터 유닛 식별 엘레먼트를 포함하는 것을 특징으로 하는 수신기.
  9. 제 8 항에 있어서, 상기 수신기는,
    상기 DASH 클라이언트의 요구 (request) 를 처리하여, HTTP 서버로 전달하고, 상기 HTTP 서버로부터, 상기 요구에 따른 응답 (response)을 수신하여, 상기 DASH 클라이언트로 전달하는 HTTP 어세스 클라이언트;
    를 더 포함하고,
    상기 DASH 클라이언트는, 상기 응답에 포함된 세그먼트와 상기 생성된 세그먼트 사이의 동기를 맞추는 것을 특징으로 하는 수신기.
  10. 제 8 항에 있어서,
    상기 데이터 유닛은 청크 (chunk) 에 해당하고,
    상기 세그먼트는 ISO BMFF 파일에 해당하고,
    상기 패킷은 ALC/LCT+ 패킷에 해당하는 것을 특징으로 하는 수신기.
  11. 제 8 항에 있어서, 상기 헤더는,
    상기 패킷에 포함된 데이터의 우선 순위를 나타내는 priority 엘레먼트를 더 포함하는 것을 특징으로 하는 수신기.
  12. 제 8 항에 있어서, 상기 헤더 또는 상기 페이로드는,
    상기 세그먼트의 시작 부분에서부터, 상기 데이터 유닛이 상기 세그먼트 내에서 전송되는 시점의 오프셋을 가리키는 EXT_OBJ_OFFSET 엘레먼트를 더 포함하는 것을 특징으로 하는 수신기.
  13. 제 8 항에 있어서, 상기 헤더는,
    TSI (Transport Session Identifier) 엘레먼트를 더 포함하고, 상기 TSI 엘레먼트는 상기 세그먼트가 속하는 트랙을 식별하는 것을 특징으로 하는 수신기.
  14. 제 8 항에 있어서, 상기 헤더는,
    상기 데이터 유닛의 PTS (Presentation Timestamp) 를 나타내는 EXT_OBJ_PTS 엘레먼트, 및 상기 데이터 유닛의 위치를 식별하는 EXT_OBJ_LOCATION 엘레먼트를 더 포함하는 것을 특징으로 하는 수신기.
KR1020167026550A 2014-04-09 2015-04-08 방송 신호 송/수신 처리 방법 및 장치 KR101875664B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461977584P 2014-04-09 2014-04-09
US61/977,584 2014-04-09
PCT/KR2015/003537 WO2015156607A1 (ko) 2014-04-09 2015-04-08 방송 신호 송/수신 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160131034A true KR20160131034A (ko) 2016-11-15
KR101875664B1 KR101875664B1 (ko) 2018-07-06

Family

ID=54288113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167026550A KR101875664B1 (ko) 2014-04-09 2015-04-08 방송 신호 송/수신 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US20170188062A1 (ko)
EP (1) EP3131253A4 (ko)
JP (1) JP2017517180A (ko)
KR (1) KR101875664B1 (ko)
CN (1) CN106464677A (ko)
WO (1) WO2015156607A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476693B2 (en) * 2014-02-24 2019-11-12 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US20160174195A1 (en) * 2014-12-11 2016-06-16 Qualcomm Incorporated Embms audio packets protection in dual-sim dual-standby or srlte mobile device
GB2542637A (en) * 2015-09-28 2017-03-29 Esaturnus Nv Ultra low latency UHD and 3D networked video communication applicable to gigabit ethernet
KR101967299B1 (ko) * 2017-12-19 2019-04-09 엘지전자 주식회사 방송 신호를 수신하는 차량용 수신 장치 및 방송 신호를 수신하는 차량용 수신 방법
GB201721847D0 (en) 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
US11184665B2 (en) 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
US20200112753A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Service description for streaming media data
CN112243159B (zh) * 2019-07-19 2023-05-05 武汉佳世创科技有限公司 基于dvb的数据处理、读取方法及服务器、终端以及系统
CN114466086A (zh) * 2021-12-31 2022-05-10 华为技术有限公司 一种数据传输方法、通信装置及通信系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4045664B2 (ja) * 1998-08-28 2008-02-13 ソニー株式会社 データ並び換え装置とその方法および受信装置
JP3543698B2 (ja) * 1999-09-29 2004-07-14 日本電気株式会社 伝送方法およびネットワーク・システム
EP1753166A3 (en) * 2005-08-11 2007-08-29 Samsung Electronics Co., Ltd. Method and system for transmitting and receiving access information for a broadcast service
JP4886032B2 (ja) * 2006-06-02 2012-02-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) マルチキャスト配信
KR101486373B1 (ko) * 2007-07-29 2015-01-26 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US7733819B2 (en) * 2007-08-24 2010-06-08 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
CA2751711C (en) * 2009-03-15 2016-01-26 Lg Electronics Inc. Transmitting / receiving systems and broadcasting signal processing method
US8286217B2 (en) * 2009-09-18 2012-10-09 Espial Group Inc. Method and system for fast channel change
JP5276569B2 (ja) * 2009-11-05 2013-08-28 日本放送協会 受信装置
KR20140008478A (ko) * 2010-07-19 2014-01-21 엘지전자 주식회사 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
US9226045B2 (en) * 2010-08-05 2015-12-29 Qualcomm Incorporated Signaling attributes for network-streamed video data
WO2012046487A1 (ja) * 2010-10-05 2012-04-12 シャープ株式会社 コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体
EP2448265A1 (en) * 2010-10-26 2012-05-02 Google, Inc. Lip synchronization in a video conference
CN103283220B (zh) * 2010-12-26 2016-08-10 Lg电子株式会社 发送广播服务的方法、接收广播服务的方法和接收广播服务的设备
CA2823037C (en) * 2010-12-26 2016-05-24 Lg Electronics Inc. Method for transmitting a broadcast service, and method and apparatus for receiving same
KR20120084252A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법
US20150033271A1 (en) * 2011-02-15 2015-01-29 Joonhui Lee Method for transmitting a broadcast service, method for receiving a broadcast service, and apparatus for receiving a broadcast service
DE102011013685A1 (de) * 2011-03-11 2012-09-13 Ebm-Papst Landshut Gmbh Schwingungsdämpfende Aufnahmevorrichtung
US9026671B2 (en) * 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
EP2744214A4 (en) * 2011-08-12 2015-03-11 Samsung Electronics Co Ltd TRANSMISSION DEVICE, RECEPTION DEVICE AND TRANSMISSION / RECEIVING METHOD THEREFOR
US20140237536A1 (en) * 2011-10-13 2014-08-21 Samsung Electronics Co., Ltd. Method of displaying contents, method of synchronizing contents, and method and device for displaying broadcast contents
JP5861455B2 (ja) * 2011-12-28 2016-02-16 ソニー株式会社 アンテナ装置
CN104040993A (zh) * 2012-01-17 2014-09-10 瑞典爱立信有限公司 用于发送相应地接收媒体流的方法
US9294226B2 (en) * 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
JP5903010B2 (ja) * 2012-07-24 2016-04-13 日本放送協会 Cgストリーム配信装置、放送通信連携受信装置、cgストリーム配信プログラム、cg同期再生プログラムおよびcgストリーム同期システム
JP6348251B2 (ja) * 2012-09-13 2018-06-27 サターン ライセンシング エルエルシーSaturn Licensing LLC 端末装置、受信方法、およびプログラム
BR112015030043B1 (pt) * 2013-06-07 2023-01-10 Sony Corporation Dispositivo de transmissão e processamento, e, método de transmissão de um fluxo contínuo de transmissão
JP6268066B2 (ja) * 2013-09-20 2018-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
JP6510205B2 (ja) * 2013-10-11 2019-05-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置および受信装置

Also Published As

Publication number Publication date
WO2015156607A1 (ko) 2015-10-15
JP2017517180A (ja) 2017-06-22
EP3131253A4 (en) 2017-11-15
CN106464677A (zh) 2017-02-22
EP3131253A1 (en) 2017-02-15
US20170188062A1 (en) 2017-06-29
KR101875664B1 (ko) 2018-07-06

Similar Documents

Publication Publication Date Title
KR101877159B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101783618B1 (ko) 방송 신호 송신 방법, 방송 신호 송신 장치, 방송 신호 수신 방법 및 방송 신호 수신 장치
KR101875664B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
KR101814403B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
KR20160018536A (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP6784725B2 (ja) 放送伝送装置、放送伝送装置の動作方法、放送受信装置及び放送受信装置の動作方法
US11323490B2 (en) Broadcast signal transmission device, broadcast signal receiving device, broadcast signal transmission method and broadcast signal receiving method
KR101759956B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR20160086952A (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법
KR101899827B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101812186B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101752434B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
KR101875671B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101844235B1 (ko) 하나 이상의 네트워크를 통해 방송 컨텐츠를 송수신하는 장치 및 방법
KR101841947B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법, 방송 수신 장치 및 방송 수신 장치의 동작 방법

Legal Events

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