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

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

Info

Publication number
KR101880467B1
KR101880467B1 KR1020177012058A KR20177012058A KR101880467B1 KR 101880467 B1 KR101880467 B1 KR 101880467B1 KR 1020177012058 A KR1020177012058 A KR 1020177012058A KR 20177012058 A KR20177012058 A KR 20177012058A KR 101880467 B1 KR101880467 B1 KR 101880467B1
Authority
KR
South Korea
Prior art keywords
data
information
fragment
header
lct
Prior art date
Application number
KR1020177012058A
Other languages
English (en)
Other versions
KR20170055026A (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 KR20170055026A publication Critical patent/KR20170055026A/ko
Application granted granted Critical
Publication of KR101880467B1 publication Critical patent/KR101880467B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • H04L65/4076
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/80Responding to QoS
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0268Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Abstract

본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법을 제공한다. 방송 신호 송신 장치는 파일을 상기 파일의 일부(a part of the file )에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)로 분할하는 딜리버리 오브젝트 제너레이터(Delivery Object Generator); 상기 딜리버리 오브젝트에 대한 메타데이터를 포함하는 시그널링 정보를 인코딩하는 시그널링 인코더(Signaling Encoder), 상기 시그널링 정보는 상기 적어도 하나의 딜리버리 오브젝트가 적어도 하나의 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함하고; 및 상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 전송하는 트랜스미터(transmitter)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 멀티미디어 콘텐츠의 획득에서부터 사용자에게 보여지기까지의 총 시간을 줄일 수 있는 효과가 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법{APPARATUS FOR TRANSMITTING BROADCAST SIGNALS, APPARATUS FOR RECEIVING BROADCAST SIGNALS, METHOD FOR TRANSMITTING BROADCAST SIGNALS AND METHOD FOR RECEIVING BROADCAST SIGNALS}
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
종래 기술은 멀티미디어 콘텐츠의 획득에서부터 사용자에게 보여지기까지의 총 시간이 상당히 오래 걸려 실시간 방송 환경에 적합하지 않았다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 파일을 상기 파일의 일부(a part of the file )에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)로 분할하는 딜리버리 오브젝트 제너레이터(Delivery Object Generator); 상기 딜리버리 오브젝트에 대한 메타데이터를 포함하는 시그널링 정보를 인코딩하는 시그널링 인코더(Signaling Encoder), 상기 시그널링 정보는 상기 적어도 하나의 딜리버리 오브젝트가 적어도 하나의 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함하고; 및 상기 적어도 하나의 딜리버리 오브젝트 및 상기 시그널링 정보를 전송하는 트랜스미터(transmitter)를 포함할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 파일 내에서 상기 LCT 패킷이 전송하고 있는 데이터의 오프셋을 지시하는 오프셋 정보를 더 포함할 수 있다.
바람직하게는, 상기 오프셋 정보는 상기 LCT 패킷이 상기 파일의 처음 데이터를 가지고 있는지 여부 및 상기 파일 내에서 상기 LCT 패킷의 순서를 지시하는 것을 더 포함할 수 있다.
바람직하게는, 상기 실시간 정보는 FDT(File Delivery Table)에서 정의되고, 상기 실시간 정보는 상기 FDT에서 서술하는 모든 상기 딜리버리 오브젝트가 실시간으로 전송되는지 여부를 지시할 수 있다.
바람직하게는, 상기 실시간 정보는 상기 딜리버리 오브젝트를 식별하는 TOI(Transport Object Identifier) 필드의 첫 번째 비트로 정의되고, 상기 실시간 정보는 상기 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 여부를 지시할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 LCT 패킷이 랜덤 액세스 포인트(Random Access Point, RAP)에 해당하는 데이터를 포함하고 있는지 여부를 지시하는 RAP 정보를 더 포함하고, 상기 랜덤 엑세스 포인트는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 LCT 패킷이 포함하고 있는 데이터의 우선순위를 지시하는 우선순위 정보(Priority information)를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 파일의 일부(a part of a file)에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)에 대한 메타데이터를 포함하는 시그널링 정보를 디코딩하는 시그널링 디코더(Signaling Decoder), 상기 시그널링 정보는 상기 적어도 하나의 딜리버리 오브젝트가 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함하고; 상기 적어도 하나의 LCT 패킷을 수집하고, 상기 적어도 하나의 딜리버리 오브젝트를 복원하는 딜리버리 오브젝트 프로세서(Delivery Object Processor); 및 상기 적어도 하나의 딜리버리 오브젝트를 디코딩하는 디코더(Decoder)를 포함할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 파일 내에서 상기 LCT 패킷이 전송하고 있는 데이터의 오프셋을 지시하는 오프셋 정보를 더 포함하고, 상기 딜리버리 오브젝트 프로세서는 상기 오프셋 정보를 기초로 상기 딜리버리 오브젝트를 식별할 수 있다.
바람직하게는, 상기 오프셋 정보는 상기 LCT 패킷이 상기 파일의 처음 데이터를 가지고 있는지 여부 및 상기 파일 내에서 상기 LCT 패킷의 순서를 더 지시할 수 있다.
바람직하게는, 상기 실시간 정보는 FDT(File Delivery Table)에서 정의되고, 상기 실시간 정보는 상기 FDT에서 서술하는 모든 상기 딜리버리 오브젝트가 실시간으로 전송되는지 여부를 지시할 수 있다.
바람직하게는, 상기 실시간 정보는 상기 딜리버리 오브젝트를 식별하는 TOI(Transport Object Identifier) 필드의 첫 번째 비트로 정의되고, 상기 실시간 정보는 상기 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 여부를 지시할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 LCT 패킷이 랜덤 액세스 포인트(Random Access Point, RAP)에 해당하는 데이터를 포함하고 있는지 여부를 지시하는 RAP 정보를 더 포함하고, 상기 랜덤 엑세스 포인트는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미하고, 상기 딜리버리 오브젝트 프로세서는 RAP 정보를 기초로 랜덤 액세스 포인트에 해당하는 데이터를 전송하는 패킷부터 적어도 하나의 패킷을 수집할 수 있다.
바람직하게는, 상기 시그널링 정보는 상기 LCT 패킷이 전송하고 있는 데이터의 우선순위를 지시하는 우선순위 정보(Priority information)를 더 포함하고, 상기 딜리버리 오브젝트 프로세서는 상기 우선순위 정보를 기초로 상기 LCT 패킷을 선택적으로 수집할 수 있다.
본 발명은 서비스 특성에 따라 데이터를 처리하여 각 서비스 또는 서비스 컴포넌트에 대한 QoS (Quality of Service)를 제어함으로써 다양한 방송 서비스를 제공할 수 있다.
본 발명은 동일한 RF (radio frequency) 신호 대역폭을 통해 다양한 방송 서비스를 전송함으로써 전송 유연성(flexibility)을 달성할 수 있다.
본 발명은 MIMO (Multiple-Input Multiple-Output) 시스템을 이용하여 데이터 전송 효율 및 방송 신호의 송수신 견고성(Robustness)을 향상시킬 수 있다.
본 발명에 따르면, 모바일 수신 장치를 사용하거나 실내 환경에 있더라도, 에러 없이 디지털 방송 신호를 수신할 수 있는 방송 신호 송신 및 수신 방법 및 장치를 제공할 수 있다.
발명의 다른 실시예에 따른 방송 신호 송신 장치는 멀티미디어 콘텐츠를 전송하는데 걸리는 전송 대기 시간을 줄일 수 있는 효과가 있다.
또한, 본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 멀티미디어 콘텐츠를 재생하는데 걸리는 재생 대기 시간을 줄일 수 있는 효과가 있다.
또한, 본 발명의 다른 실시예에 따르면, 멀티미디어 콘텐츠의 획득에서부터 사용자에게 보여지기까지의 총 시간을 줄일 수 있는 효과가 있다.
또한, 본 발명의 다른 실시예에 따르면, 사용자가 방송 채널에 접근하였을 때의 초기 지연시간을 줄일 수 있는 효과가 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 4는 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 6은 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 프레임 빌딩(Frame Building, 프레임 생성) 블록을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 OFDM (orthogonal frequency division multiplexing) 제너레이션(generation, 생성) 블록을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 17은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 EAC (emergency alert channel) 매핑을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 FIC (fast information channel) 매핑을 나타낸다.
도 20은 본 발명의 일 실시예에 따른 DP(data pipe, 데이터 파이프)의 타입을 나타낸다.
도 21은 본 발명의 일 실시예에 따른 DP(data pipe, 데이터 파이프) 매핑을 나타낸다.
도 22는 본 발명의 일 실시예에 따른 FEC (forward error correction) 구조를 나타낸다.
도 23은 본 발명의 일 실시예에 따른 비트 인터리빙을 나타낸다.
도 24는 본 발명의 일 실시예에 따른 셀-워드 디멀티플렉싱을 나타낸다.
도 25는 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 26은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 27은 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 28은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 읽기 패턴을 나타낸다.
도 29는 본 발명의 일 실시예에 따른 각 인터리빙 어레이(array)로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 30은 FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간을 나타낸 도면이다.
도 31은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
도 32는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 33을 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 34는 본 발명의 일 실시예에 따른 ROUTE 프로토콜을 이용한 데이터 처리 시간을 나타낸 도면이다.
도 35는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 36은 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 37은 본 발명의 일 실시예에 따른 FDT를 이용한 실시간 방송 지원 정보 시그널링을 나타낸 도면이다.
도 38은 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 39는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 40은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성 및 송신 과정을 나타낸 흐름도이다.
도 41은 본 발명의 일 실시예에 따른 방송 신호 송신 장치가 Packetizer를 이용하여 패킷을 생성하는 과정을 구체적으로 나타낸 흐름도이다.
도 42는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성/송신 과정을 나타낸 흐름도이다.
도 43은 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 44는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 45는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 46은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 47은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 48은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 49는 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 50은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 51은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 52는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 53은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 54는 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
도 55는 본 발명의 다른 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
도 56은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 송신 장치의 구조를 나타낸 도면이다.
도 57은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 58은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 59는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 60는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
도 61은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 62는 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 63은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 64은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 65은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 66은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
도 67은 본 발명의 다른 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
도 68은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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 112017042685197-pat00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure 112017042685197-pat00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure 112017042685197-pat00003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
IP 스트림/패킷 및 MPEG2-TS은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 4에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 4는 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 스트림 어댑테이션(stream adaptation, 스트림 적응) 블록을 나타낸다.
도 4를 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 스케줄러(4000), 1-프레임 딜레이(delay) 블록(4010), 스터핑 삽입 블록(4020), 인 밴드(In-band) 시그널링 블록(4030), BB 프레임 스크램블러(4040), PLS 생성 블록(4050), PLS 스크램블러(4060)를 포함할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응) 블록의 각 블록에 대해 설명한다.
스터핑 삽입 블록(4020), BB 프레임 스크램블러(4040), PLS 생성 블록(4050), PLS 스크램블러(4060)의 동작은 도 2를 참조하여 설명한 스터핑 삽입 블록, BB 스크램블러, PLS 생성 블록, PLS 스크램블러(4060)의 동작에 해당하므로 그 설명은 생략한다.
스케줄러(4000)는 각 데이터 파이프의 FECBLOCK의 양으로부터 전체 프레임에 걸쳐 전체의 셀 할당을 결정할 수 있다. PLS, EAC 및 FIC에 대한 할당을 포함해서, 스케줄러는 프레임의 FSS의 PLS 셀 또는 인 밴드(In-band) 시그널링으로 전송되는 PLS2-DYN 데이터의 값을 생성한다. FECBLOCK, EAC, FIC에 대한 상세한 내용은 후술한다.
1-프레임 딜레이(delay) 블록(4010)은 다음 프레임에 관한 스케줄링 정보가 데이터 파이프에 삽입될 인 밴드(In-band) 시그널링 정보에 관한 현 프레임을 통해 전송될 수 있도록 입력 데이터를 하나의 전송 프레임만큼 지연시킬 수 있다.
인 밴드(In-band) 시그널링 블록(4030)은 PLS2 데이터의 지연되지 않은 부분을 프레임의 데이터 파이프에 삽입할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
SSD 인코딩 블록(5040)은 2차원, 3차원, 4차원에서 셀을 프리코딩하여, 어려운 페이딩 조건에서 수신 견고성(robustness)을 증가시킬 수 있다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 6에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 6은 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 6을 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure 112017042685197-pat00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure 112017042685197-pat00005
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 7을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 8은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 8에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다. OFDM 제너레이션 블록의 각 블록에 대해 설명한다.
파일럿 및 리저브드 톤 삽입 블록(8000)은 파일럿 및 리저브드 톤을 삽입할 수 있다.
OFDM 심볼 내의 다양한 셀은 수신기에서 선험적으로 알려진 전송된 값을 갖는 파일럿으로 알려진 참조 정보로 변조된다. 파일럿 셀의 정보는 분산 파일럿, 연속 파일럿, 엣지 파일럿, FSS (frame signalling symbol) 파일럿, 및 FES (frame edge symbol) 파일럿으로 구성된다. 각 파일럿은 파일럿 타입 및 파일럿 패턴에 따라 특정 증가 파워 레벨에서 전송된다. 파일럿 정보의 값은 주어진 심볼에서 하나가 각각의 전송 캐리어에 대한 것인 일련의 값들에 해당하는 참조 시퀀스에서 유도된다. 파일럿은 프레임 동기화, 주파수 동기화, 시간 동기화, 채널 추정, 전송 모드 식별을 위해 사용될 수 있고, 또한 위상 잡음을 추적하기 위해 사용될 수 있다.
참조 시퀀스로부터 취한 참조 정보는 프레임의 프리앰블, FSS 및 FES를 제외한 모든 심볼에서 분산 파일럿 셀에서 전송된다. 연속 파일럿은 프레임의 모든 심볼에 삽입된다. 연속 파일럿의 수 및 위치는 FFT 사이즈 및 분산 파일럿 패턴에 모두 의존한다. 엣지 캐리어들은 프리앰블 심볼을 제외한 모든 심볼 내의 엣지 파일럿들과 동일하다. 엣지 캐리어들은 스펙트럼의 엣지까지 주파수 인터폴레이션(interpolation, 보간)을 허용하기 위해 삽입된다. FSS 파일럿들은 FSS에 삽입되고, FES 파일럿들은 FES에 삽입된다. FSS 파일럿들 및 FES 파일럿들은 프레임의 엣지까지 시간 인터폴레이션(interpolation, 보간)을 허용하기 위해 삽입된다.
본 발명의 일 실시예에 따른 시스템은 매우 견고한 전송 모드를 지원하기 위해 분산 MISO 방식이 선택적으로 사용되는 SFN을 지원한다. 2D-eSFN은 다수의 송신 안테나를 사용하는 분산 MISO 방식으로서, 각 안테나는 SFN 네트워크에서 각각 다른 송신기에 위치할 수 있다.
2D-eSFN 인코딩 블록(8010)은 SFN 구성에서 시간 및 주파수 다이버시티를 생성하기 위해 2D-eSFN 처리를 하여 다수의 송신기로부터 전송된 신호의 위상을 왜곡시킬 수 있다. 따라서, 장시간 동안의 낮은 평면 페이딩 또는 깊은 페이딩으로 인한 버스트 오류가 경감될 수 있다.
IFFT 블록(8020)은 OFDM 변조 방식을 이용하여 2D-eSFN 인코딩 블록(8010)으로부터의 출력을 변조할 수 있다. 파일럿 (또는 리저브드 톤)으로 지정되지 않은 데이터 심볼에서의 모든 셀은 주파수 인터리버로부터의 데이터 셀 중 하나를 전달한다. 셀들은 OFDM 캐리어에 매핑된다.
PAPR 감소 블록(8030)은 시간 영역에서 다양한 PAPR 감소 알고리즘을 이용하여 입력 신호에 PAPR 감소를 실행한다.
가드 인터벌 삽입블록(8040)은 가드 인터벌을 삽입할 수 있고, 프리앰블 삽입 블록(8050)은 신호 앞에 프리앰블을 삽입할 수 있다. 프리앰블의 구조에 대한 자세한 내용은 후술한다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다. 각각의 방송 서비스에 관련된 데이터는 서로 다른 프레임을 통해 전송될 수 있다.
DAC 블록(8070)은 입력된 디지털 신호를 아날로그 신호로 변환하여 출력할 수 있다. DAC 블록(8070)으로부터 출력된 신호는 물리 계층 프로파일에 따라 다수의 출력 안테나를 통해 전송될 수 있다. 본 발명의 일 실시예에 따른 송신 안테나는 수직 또는 수평 극성을 가질 수 있다.
전술한 블록은 설계에 따라 생략되거나 유사 또는 동일한 기능을 갖는 블록으로 대체될 수 있다.
도 9는 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 10은 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 11은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 11은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 12는 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
Figure 112017042685197-pat00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure 112017042685197-pat00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure 112017042685197-pat00008
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
FRU_CONFIGURE: 해당 3비트 필드는 현 슈퍼 프레임에서 존재하는 FRU의 피지컬 프로파일 타입 구성을 나타낸다. 현 슈퍼 프레임에서 모든 프리앰블에서의 해당 필드에서, 현 슈퍼 프레임에서 전달되는 모든 프로파일 타입이 식별된다. 해당 3비트 필드는 아래 표 8에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
Figure 112017042685197-pat00009
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 13은 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
Figure 112017042685197-pat00010
NUM_FSS: 해당 2비트 필드는 현 프레임에서 FSS의 수를 나타낸다.
SYSTEM_VERSION: 해당 8비트 필드는 전송되는 신호 포맷의 버전을 나타낸다. SYSTEM_VERSION은 주 버전 및 부 버전의 두 개의 4비트 필드로 분리된다.
주 버전: SYSTEM_VERSION 필드의 MSB인 4비트는 주 버전 정보를 나타낸다. 주 버전 필드에서의 변화는 호환이 불가능한 변화를 나타낸다. 디폴트 값은 0000이다. 해당 표준에서 서술된 버전에 대해, 값이 0000으로 설정된다.
부 버전: SYSTEM_VERSION 필드의 LSB인 4비트는 부 버전 정보를 나타낸다. 부 버전 필드에서의 변화는 호환이 가능하다.
CELL_ID: 이는 ATSC 네트워크에서 지리적 셀을 유일하게 식별하는 16비트 필드이다. ATSC 셀 커버리지는 퓨처캐스트 UTB 시스템당 사용되는 주파수 수에 따라 하나 이상의 주파수로 구성될 수 있다. CELL_ID의 값이 알려지지 않거나 특정되지 않으면, 해당 필드는 0으로 설정된다.
NETWORK_ID: 이는 현 ATSC 네트워크를 유일하게 식별하는 16비트 필드이다.
SYSTEM_ID: 해당 16비트 필드는 ATSC 네트워크 내에서 퓨처캐스트 UTB 시스템을 유일하게 식별한다. 퓨처캐스트 UTB 시스템은 입력이 하나 이상의 입력 스트림(TS, IP, GS)이고 출력이 RF 신호인 지상파 방송 시스템이다. 퓨처캐스트 UTB 시스템은 존재한다면 FEF 및 하나 이상의 피지컬 프로파일을 전달한다. 동일한 퓨처캐스트 UTB 시스템은 서로 다른 입력 스트림을 전달하고 서로 다른 지리적 영역에서 서로 다른 RF를 사용할 수 있어, 로컬 서비스 삽입을 허용한다. 프레임 구조 및 스케줄링은 하나의 장소에서 제어되고, 퓨처캐스트 UTB 시스템 내에서 모든 전송에 대해 동일하다. 하나 이상의 퓨처캐스트 UTB 시스템은 모두 동일한 피지컬 구조 및 구성을 갖는다는 동일한 SYSTEM_ID 의미를 가질 수 있다.
다음의 루프(loop)는 각 프레임 타입의 길이 및 FRU 구성을 나타내는 FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, RESERVED로 구성된다. 루프(loop) 사이즈는 FRU 내에서 4개의 피지컬 프로파일(FEF 포함)이 시그널링되도록 고정된다. NUM_FRAME_FRU가 4보다 작으면, 사용되지 않는 필드는 제로로 채워진다.
FRU_PHY_PROFILE: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임(i는 루프(loop) 인덱스)의 피지컬 프로파일 타입을 나타낸다. 해당 필드는 표 8에 나타낸 것과 동일한 시그널링 포맷을 사용한다.
FRU_FRAME_LENGTH: 해당 2비트 필드는 관련된 FRU의 (i+1)번째 프레임의 길이를 나타낸다. FRU_GI_FRACTION와 함께 FRU_FRAME_LENGTH를 사용하면, 프레임 듀레이션의 정확한 값이 얻어질 수 있다.
FRU_GI_FRACTION: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임의 가드 인터벌 일부 값을 나타낸다. FRU_GI_FRACTION은 표 7에 따라 시그널링 된다.
RESERVED: 해당 4비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 PLS2 데이터를 디코딩하기 위한 파라미터를 제공한다.
PLS2_FEC_TYPE: 해당 2비트 필드는 PLS2 보호에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
Figure 112017042685197-pat00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure 112017042685197-pat00012
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈( QAM 셀의 수로 특정됨)인 C total _partial_block 를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_STAT_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_DYN_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 현 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 부분 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal _partial_block를 나타낸다. 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_FEC_TYPE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다.
PLS2_NEXT_MOD: 해당 3비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
PLS2_NEXT_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 다음 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_NEXT_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 다음 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 전체 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal _full_block를 나타낸다. 다음 프레임 그룹에서 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_REP_STAT_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_NEXT_REP_DYN_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_AP_MODE: 해당 2비트 필드는 현 프레임 그룹에서 PLS2에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 12는 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
Figure 112017042685197-pat00013
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.`
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 14는 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
Figure 112017042685197-pat00014
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
Figure 112017042685197-pat00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure 112017042685197-pat00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure 112017042685197-pat00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure 112017042685197-pat00018
DP_TI_TYPE: 해당 1비트 필드는 타임 인터리빙의 타입을 나타낸다. 0의 값은 하나의 타임 인터리빙 그룹이 하나의 프레임에 해당하고 하나 이상의 타임 인터리빙 블록을 포함하는 것을 나타낸다. 1의 값은 하나의 타임 인터리빙 그룹이 하나보다 많은 프레임으로 전달되고 하나의 타임 인터리빙 블록만을 포함하는 것을 나타낸다.
DP_TI_LENGTH: 해당 2비트 필드(허용된 값은 1, 2, 4, 8뿐이다)의 사용은 다음과 같은 DP_TI_TYPE 필드 내에서 설정되는 값에 의해 결정된다.
DP_TI_TYPE의 값이 1로 설정되면, 해당 필드는 각각의 타임 인터리빙 그룹이 매핑되는 프레임의 수인 PI를 나타내고, 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록이 존재한다 (NTI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
Figure 112017042685197-pat00019
DP_FRAME_INTERVAL: 해당 2비트 필드는 관련된 데이터 파이프에 대한 프레임 그룹 내에서 프레임 간격(IJUMP)을 나타내고, 허용된 값은 1, 2, 4, 8 (해당하는 2비트 필드는 각각 00, 01, 10, 11)이다. 프레임 그룹의 모든 프레임에 나타나지 않는 데이터 파이프에 대해, 해당 필드의 값은 순차적인 프레임 사이의 간격과 동일하다. 예를 들면, 데이터 파이프가 1, 5, 9, 13 등의 프레임에 나타나면, 해당 필드의 값은 4로 설정된다. 모든 프레임에 나타나는 데이터 파이프에 대해, 해당 필드의 값은 1로 설정된다.
DP_TI_BYPASS: 해당 1비트 필드는 타임 인터리버(5050)의 가용성을 결정한다. 데이터 파이프에 대해 타임 인터리빙이 사용되지 않으면, 해당 필드 값은 1로 설정된다. 반면, 타임 인터리빙이 사용되면, 해당 필드 값은 0으로 설정된다.
DP_FIRST_FRAME_IDX: 해당 5비트 필드는 현 데이터 파이프가 발생하는 슈퍼 프레임의 첫 번째 프레임의 인덱스를 나타낸다. DP_FIRST_FRAME_IDX의 값은 0에서 31 사이다.
DP_NUM_BLOCK_MAX: 해당 10비트 필드는 해당 데이터 파이프에 대한 DP_NUM_BLOCKS의 최대값을 나타낸다. 해당 필드의 값은 DP_NUM_BLOCKS와 동일한 범위를 갖는다.
DP_PAYLOAD_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드 데이터의 타입을 나타낸다. DP_PAYLOAD_TYPE은 아래의 표 19에 따라 시그널링 된다.
Figure 112017042685197-pat00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure 112017042685197-pat00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure 112017042685197-pat00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure 112017042685197-pat00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure 112017042685197-pat00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure 112017042685197-pat00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure 112017042685197-pat00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure 112017042685197-pat00027
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
*NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 15는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
Figure 112017042685197-pat00028
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 16은 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 17은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 17의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 18은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 18의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 18에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 20은 본 발명의 일 실시예에 따른 데이터 파이프의 타입을 나타낸다.
(a)는 타입 1 데이터 파이프를 나타내고, (b)는 타입 2 데이터 파이프를 나타낸다.
선행하는 채널, 즉 PLS, EAC, FIC가 매핑된 후, 데이터 파이프의 셀이 매핑된다. 데이터 파이프는 매핑 방법에 따라 두 타입 중 하나로 분류된다.
타입 1 데이터 파이프: 데이터 파이프가 TDM에 의해 매핑된다.
타입 2 데이터 파이프: 데이터 파이프가 FDM에 의해 매핑된다.
데이터 파이프의 타입은 PLS2의 스태틱(static, 정적)인 부분에서 DP_TYPE 필드에 의해 나타낸다. 도 20은 타입 1 데이터 파이프 및 타입 2 데이터 파이프의 매핑 순서를 나타낸다. 타입 1 데이터 파이프는 우선 셀 인덱스의 오름차순으로 매핑된 후, 마지막 셀 인덱스에 도달한 후, 심볼 인덱스가 1씩 증가된다. 다음 심볼 내에서, 데이터 파이프는 p = 0을 시작으로 셀 인덱스의 오름차순으로 계속 매핑된다. 하나의 프레임에서 함께 매핑되는 다수의 데이터 파이프와 함께, 각각의 타입 1 데이터 파이프는 데이터 파이프의 TDM과 유사하게 시간으로 그루핑된다.
타입 2 데이터 파이프는 우선 심볼 인덱스의 오름차순으로 매핑되고, 프레임의 마지막 OFDM 심볼에 도달한 후, 셀 인덱스는 1씩 증가하고, 심볼 인덱스는 첫 번째 가용 심볼로 되돌아 간 후, 그 심볼 인덱스부터 증가한다. 하나의 프레임에서 다수의 데이터 파이프를 매핑한 후, 각각의 타입 2 데이터 파이프는 데이터 파이프의 FDM과 유사하게 주파수로 그루핑된다.
타입 1 데이터 파이프 및 타입 2 데이터 파이프는 필요시 프레임에서 공존할 수 있는데, 타입 1 데이터 파이프가 항상 타입 2 데이터 파이프에 선행한다는 제한이 있다. 타입 1 및 타입 2 데이터 파이프를 전달하는 OFDM 셀의 총 수는 데이터 파이프의 전송에 사용할 수 있는 OFDM 셀의 총 수를 초과할 수 없다.
Figure 112017042685197-pat00029
이때, DDP1는 타입 1 데이터 파이프가 차지하는 OFDM 셀의 수에 해당하고, DDP2는 타입 2 데이터 파이프가 차지하는 셀의 수에 해당한다. PLS, EAC, FIC가 모두 타입 1 데이터 파이프와 마찬가지 방식으로 매핑되므로, PLS, EAC, FIC는 모두 "타입 1 매핑 규칙"에 따른다. 따라서, 대체로 타입 1 매핑이 항상 타입 2 매핑에 선행한다.
도 21은 본 발명의 일 실시예에 따른 데이터 파이프 매핑을 나타낸다.
(a)는 타입 1 데이터 파이프를 매핑하기 위한 OFDM 셀의 어드레싱을 나타내고, (b)는 타입 2 데이터 파이프를 매핑하기 위한 OFDM 셀의 어드레싱을 나타낸다.
타입 1 데이터 파이프(0, …, DDP1-1)를 매핑하기 위한 OFDM 셀의 어드레싱은 타입 1 데이터 파이프의 액티브(active) 데이터 셀에 대해 정의된다. 어드레싱 방식은 각각의 타입 1 데이터 파이프에 대한 타임 인터리빙으로부터의 셀이 액티브(active) 데이터 셀에 할당되는 순서를 정의한다. 어드레싱 방식은 또한 PLS2의 다이나믹(dynamic, 동적) 부분에서 데이터 파이프의 위치를 시그널링 하는 데 사용된다.
EAC 및 FIC 없이, 어드레스 0은 마지막 FSS에서 PLS를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. EAC가 전송되고, FIC가 해당하는 프레임에 없으면, 어드레스 0은 EAC를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. FIC가 해당하는 프레임에서 전송되면, 어드레스 0은 FIC를 전달하는 마지막 셀에 바로 뒤따르는 셀을 말한다. 타입 1 데이터 파이프에 대한 어드레스 0은 (a)에 나타낸 바와 같은 두 가지 서로 다른 경우를 고려해서 산출될 수 있다. (a)의 예에서, PLS, EAC, FIC는 모두 전송된다고 가정한다. EAC와 FIC 중 하나 또는 모두가 생략되는 경우로의 확장은 자명하다. (a)의 좌측에 나타낸 바와 같이 FIC까지 모든 셀을 매핑한 후에 FSS에 남아 있는 셀이 있으면.
타입 2 데이터 파이프(0, …, DDP2-1)를 매핑하기 위한 OFDM 셀의 어드레싱은 타입 2 데이터 파이프의 액티브(active) 데이터 셀에 대해 정의된다. 어드레싱 방식은 각각의 타입 2 데이터 파이프에 대한 타임 인터리빙으로부터의 셀이 액티브(active) 데이터 셀에 할당되는 순서를 정의한다. 어드레싱 방식은 또한 PLS2의 다이나믹(dynamic, 동적) 부분에서 데이터 파이프의 위치를 시그널링 하는 데 사용된다.
(b)에 나타낸 바와 같이, 세 가지 약간 다른 경우가 가능하다. (b)의 좌측에 나타낸 첫 번째 경우에, 마지막 FSS에 있는 셀은 타입 2 데이터 파이프 매핑에 사용될 수 있다. 중앙에 나타낸 두 번째 경우에, FIC는 노멀 심볼의 셀을 차지하지만, 해당 심볼에서의 FIC 셀의 수는 CFSS보다 크지 않다. (b)의 우측에 나타낸 세 번째 경우는 해당 심볼에 매핑된 FIC 셀의 수가 CFSS를 초과한다는 점을 제외하고 두 번째 경우와 동일하다.
PLS, EAC, FIC가 타입 1 데이터 파이프와 동일한 "타입 1 매핑 규칙"에 따르므로, 타입 1 데이터 파이프가 타입 2 데이터 파이프에 선행하는 경우로의 확장은 자명하다.
데이터 파이프 유닛(DPU)은 프레임에서 데이터 셀을 데이터 파이프에 할당하는 기본 단위이다.
DPU는 프레임에서 데이터 파이프의 위치를 찾아내기 위한 시그널링 단위로 정의된다. 셀 매퍼(7010)는 각각의 데이터 파이프에 대해 타임 인터리빙에 의해 생성된 셀을 매핑할 수 있다. 타임 인터리버(5050)는 일련의 타임 인터리빙 블록을 출력하고, 각각의 타임 인터리빙 블록은 XFECBLOCK의 가변 수를 포함하고, 이는 결국 셀의 집합으로 구성된다. XFECBLOCK에서의 셀의 수 Ncells는 FECBLOCK 사이즈, Nldpc, 컨스텔레이션 심볼당 전송되는 비트 수에 의존한다. DPU는 주어진 피지컬 프로파일에서 지원되는 XFECBLOCK에서의 셀의 수 Ncells의 모든 가능한 값의 최대 공약수로 정의된다. 셀에서의 DPU의 길이는 LDPU로 정의된다. 각각의 피지컬 프로파일은 FECBLOCK 사이즈의 서로 다른 조합 및 컨스텔레이션 심볼당 다른 비트 수를 지원하므로, LDPU는 피지컬 프로파일을 기초로 정의된다.
도 22는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 22는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 22에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
Figure 112017042685197-pat00030
Figure 112017042685197-pat00031
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure 112017042685197-pat00032
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure 112017042685197-pat00033
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure 112017042685197-pat00034
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure 112017042685197-pat00035
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure 112017042685197-pat00036
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure 112017042685197-pat00037
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure 112017042685197-pat00038
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure 112017042685197-pat00039
도 23은 본 발명의 일 실시예에 따른 비트 인터리빙을 나타낸다.
LDPC 인코더의 출력은 비트 인터리빙되는데, 이는 QCB (quasi-cyclic block) 인터리빙 및 내부 그룹 인터리빙이 뒤따르는 패리티 인터리빙으로 구성된다.
(a)는 QCB 인터리빙을 나타내고, (b)는 내부 그룹 인터리빙을 나타낸다.
FECBLOCK은 패리티 인터리빙될 수 있다. 패리티 인터리빙의 출력에서, LDPC 코드워드는 롱 FECBLOCK에서 180개의 인접하는 QCB으로 구성되고, 쇼트 FECBLOCK에서 45개의 인접하는 QCB으로 구성된다. 롱 또는 쇼트 FECBLOCK에서의 각각의 QCB는 360비트로 구성된다. 패리티 인터리빙된 LDPC 코드워드는 QCB 인터리빙에 의해 인터리빙된다. QCB 인터리빙의 단위는 QCB이다. 패리티 인터리빙의 출력에서의 QCB는 도 23에 나타낸 바와 같이 QCB 인터리빙에 의해 퍼뮤테이션되는데, 여기서 FECBLOCK 길이에 따라 Ncells = 64800/
Figure 112017042685197-pat00040
또는 16200/
Figure 112017042685197-pat00041
이다. QCB 인터리빙 패턴은 변조 타입 및 LDPC 코드 레이트(code rate)의 각 조합에 고유하다.
QCB 인터리빙 후에, 내부 그룹 인터리빙이 아래의 표 32에 정의된 변조 타입 및 차수(
Figure 112017042685197-pat00042
)에 따라 실행된다. 하나의 내부 그룹에 대한 QCB의 수 NQCB _IG도 정의된다.
Figure 112017042685197-pat00043
내부 그룹 인터리빙 과정은 QCB 인터리빙 출력의 NQCB _ IG개의 QCB로 실행된다. 내부 그룹 인터리빙은 360개의 열 및 NQCB _ IG개의 행을 이용해서 내부 그룹의 비트를 기입하고 판독하는 과정을 포함한다. 기입 동작에서, QCB 인터리빙 출력으로부터의 비트가 행 방향으로 기입된다. 판독 동작은 열 방향으로 실행되어 각 행에서 m개의 비트를 판독한다. 여기서 m은 NUC의 경우 1과 같고 NUQ의 경우 2와 같다.
도 24는 본 발명의 일 실시예에 따른 셀-워드 디멀티플렉싱을 나타낸다.
도 24에서, (a)는 8 및 12 bpcu MIMO에 대한 셀-워드 디멀티플렉싱을 나타내고, (b)는 10 bpcu MIMO에 대한 셀-워드 디멀티플렉싱을 나타낸다.
비트 인터리빙 출력의 각각의 셀 워드(c0,l, c1,l, …, cnmod - 1,l)는 하나의 XFECBLOCK에 대한 셀-워드 디멀티플렉싱 과정을 설명하는 (a)에 나타낸 바와 같이 (d1,0,m, d1,1,m…, d1,nmod-1,m) 및 (d2,0,m, d2,1,m…, d2,nmod-1,m)로 디멀티플렉싱된다.
MIMO 인코딩을 위해 다른 타입의 NUQ를 이용하는 10 bpcu MIMO 경우에, NUQ-1024에 대한 비트 인터리버가 재사용된다. 비트 인터리버 출력의 각각의 셀 워드 (c0,l, c1,l, …, c9,l)는 (b)에 나타낸 바와 같이 (d1, 0,m, d1,1,m…, d1,3,m) 및 (d2, 0,m, d2,1,m…, d2,5,m)로 디멀티플렉싱된다.
도 25는 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK _Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK _Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK _Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 33에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure 112017042685197-pat00044
각각의 데이터 파이프에서, 타임 인터리빙 메모리는 입력된 XFECBLOCK (SSD/MIMO 인코딩 블록으로부터 출력된 XFECBLOCK)을 저장한다. 입력된 XFECBLOCK은
Figure 112017042685197-pat00045
로 정의된다고 가정한다. 여기서,
Figure 112017042685197-pat00046
는 n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에서 r번째 XFECBLOCK의 q번째 셀이고, 다음과 같은 SSD 및 MIMO 인코딩의 출력을 나타낸다.
.
Figure 112017042685197-pat00047
또한, 타임 인터리버(5050)로부터 출력된 XFECBLOCK은
Figure 112017042685197-pat00048
로 정의된다고 가정한다. 여기서,
Figure 112017042685197-pat00049
는 n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에서 i번째(
Figure 112017042685197-pat00050
) 출력 셀이다.
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수
Figure 112017042685197-pat00051
Figure 112017042685197-pat00052
와 동일한 반면, 타임 인터리빙 메모리의 행의 수
Figure 112017042685197-pat00053
는 셀의 수
Figure 112017042685197-pat00054
와 동일하다 (즉,
Figure 112017042685197-pat00055
).
도 26은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 26(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 26(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure 112017042685197-pat00056
개의 셀이 판독된다. 구체적으로,
Figure 112017042685197-pat00057
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure 112017042685197-pat00058
, 열 인덱스
Figure 112017042685197-pat00059
, 관련된 트위스트 파라미터
Figure 112017042685197-pat00060
를 산출함으로써 실행된다.
Figure 112017042685197-pat00061
여기서,
Figure 112017042685197-pat00062
Figure 112017042685197-pat00063
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure 112017042685197-pat00064
에 의해 결정된다.
Figure 112017042685197-pat00065
결과적으로, 판독될 셀 위치는 좌표
Figure 112017042685197-pat00066
에 의해 산출된다.
도 27은 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 27은
Figure 112017042685197-pat00067
,
Figure 112017042685197-pat00068
,
Figure 112017042685197-pat00069
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure 112017042685197-pat00070
Figure 112017042685197-pat00071
보다 작거나 같을 것이다. 따라서,
Figure 112017042685197-pat00072
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure 112017042685197-pat00073
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure 112017042685197-pat00074
타임 인터리빙 그룹의 수는 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 112017042685197-pat00075
로 이어진다.
도 28은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 28은 파라미터
Figure 112017042685197-pat00076
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure 112017042685197-pat00077
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 29는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 29는 파라미터
Figure 112017042685197-pat00078
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
이하에서는, 본 발명의 일 실시예로서 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 방법 및 소비 방법을 설명하기로 한다.
구체적으로, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 데이터 구성 방안을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 정보 및 소비 정보를 식별하는 방법을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일 기반 멀티미디어 콘텐츠를 전송하기 위한 파일의 분할 생성 방법을 제공한다. 또한, 본 발명의 일 실시예는 실시간 방송 환경에서 파일기반 멀티미디어 콘텐츠를 소비하기 위한 파일의 분할 소비 방법을 제공한다.
도 30은 FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간을 나타낸 도면이다.
최근에는 방송 망과 인터넷 망이 결합된 하이브리드 방송 서비스가 많이 제공된다. 하이브리드 방송 서비스는 A/V 콘텐츠를 기존의 방송 망으로 전송하고, A/V 콘텐츠와 관련된 부가 데이터를 인터넷 망을 통해서 제공할 수 있다. 또한, 최근에는 A/V 콘텐츠의 일부를 인터넷 망을 통해서 전송하는 서비스도 제공되고 있다.
A/V 콘텐츠가 이종 망을 통해서 전송됨에 따라서 이종 망을 통해서 전송되는 A/V 콘텐츠 데이터들 간의 긴밀한 결합 방법 및 손쉬운 상호운용 방법이 요구된다. 이를 위해서, 방송 망 및 인터넷 망에 함께 적용할 수 있는 공통의 전송 방법이 필요하다.
최근 고려되고 있는 방송 망과 인터넷 망에 공통으로 적용할 수 있는 A/V 콘텐츠의 전송 방법 중에서 하나는 파일 기반 멀티미디어 콘텐츠의 사용이다. 파일 기반 멀티미디어 콘텐츠는 확장성이 뛰어나고, 전송 프로토콜에 대한 의존성이 없기 때문에 기존의 인터넷 망을 통한 다운로드 방식의 형태로 널리 사용되고 있다.
이와 같이, 방송 망과 인터넷 망과의 연동에 적합하고 대용량 파일의 파일 기반 멀티미디어 콘텐츠를 전송하는데 적합한 프로토콜이 FLUTE(File Delivery over Unidirectional Transport protocol)이다.
FLUTE은 ALC 기반에서 단 방향 파일 전송을 위한 어플리케이션으로, 파일을 전송하는데 있어서 필요한 파일 자체에 대한 정보들이나 전송을 위한 정보들에 대해서 정의해 놓은 프로토콜이다. FLUTE은 파일을 전송하는데 있어서 먼저 FDT(File Delivery Table) 인스턴스의 송신을 통해서 전송에 필요한 정보와 전송할 파일의 여러 속성들에 대한 정보를 보낸 후에 파일을 전송한다.
ALC(Asynchronous Layered Coding)는 단일 송신자가 여러 수신자들에게 파일을 전송하는 동안에 여러 채널들을 통해 신뢰성과 혼잡 제어가 가능하도록 표준화한 프로토콜이다. ALC는 에러제어를 위한 FEC Building Block, 혼잡 제어를 위한 WEBRC Building Block, 세션 및 채널 관리를 위한 LCT(Layered Coding Transport) Building Block을 결합한 것으로, 서비스와 필요에 따라서 빌딩 블록을 구성할 수 있도록 되어 있다.
ALC는 컨텐츠 전달 프로토콜로서 수 많은 수신자들에게 매우 효율적인 전송을 가능하게 한다. 또한 ALC는 단방향성이고 필요에 따라 제한적 전송이 가능하며 피드백을 위한 특정 채널 및 자원이 필요하지 않기 때문에, 무선환경뿐만 아니라 위성환경의 브로드캐스트에서도 사용할 수 있다. ALC는 피드백이 없기 때문에 신뢰성을 위해 FEC코드 스킴을 전체적으로 또는 부분적으로 적용하여 신뢰적인 서비스를 제공한다. 또한, 전달하고자 하는 오브젝트는 적용되는 FEC 스킴에 따라 FEC 인코딩을 거쳐 전송 블록과 FEC 스킴을 통해 만들어진 추가적인 심볼들을 구성하여 전달된다. ALC의 세션은 하나 이상의 채널로 구성되며, 여러 수신자들은 네트워크 상태에 따라 세션 내의 채널을 선택하여 원하는 오브젝트를 수신한다. 수신자들은 자신의 컨텐츠 수신에만 전념할 수 있으며, 다른 수신자의 상태나 패킷 손실에도 거의 영향을 받지 않는다. 따라서, ALC는 높은 견고성을 가지며, multi-layered 전송을 이용하여 안정적인 컨텐츠 다운로드를 제공할 수 있다.
LCT는 신뢰성 있는 콘텐츠 전송(예를 들어, FLUTE) 및 스트림 전송 프로토콜을 위한 전송레벨의 지원을 제공한다. LCT는 수신자에게 전달할 기본적인 정보의 내용과 특징에 대한 정보를 제공한다. 예를 들어, LCT는 TSI(Treansport Session Identifier) 필드, TOI(Transport Object ID) 필드, 및 CCI(Congestion Control Information) 필드를 포함할 수 있다.
TSI 필드는 ALC/LCT 세션을 식별하는 정보를 포함한다. 예를 들어, 세션 내의 채널은 송신자 IP주소와 UDP port를 이용하여 식별될 수 있다. TOI 필드는 각각의 파일 오브젝트를 식별하는 정보를 포함한다. CCI 필드는 사용여부 및 Congestion Control Block의 정보를 포함한다. 또한, LCT는 확장 헤더를 통해 부가정보 및 FEC 관련정보를 제공할 수 있다.
이상과 같이, 오브젝트(예를 들어, 파일 등)는 FLUTE 프로토콜에 따라서 패킷화되고, 이는 다시 ALC/LCT 방식에 따라 패킷화된다. 상기 패킷화된 ALC/LCT 데이터는 다시 UDP 방식에 따라 패킷화되며, 상기 패킷화된 ALC/LCT/UDP 데이터는 다시 IP 방식에 따라 패킷화되어 ALC/LCT/UDP/IP 데이터가 된다.
파일 기반 멀티미디어 콘텐츠는 LCT와 같은 콘텐츠 전송 프로토콜을 통해서 인터넷 망뿐만 아니라 방송 망으로도 전송이 가능하다. 이때, 적어도 하나의 오브젝트 또는 파일로 구성되는 멀티미디어 콘텐츠는 LCT를 통해서 오브젝트 단위 또는 파일 단위로 전송 및 소비될 수 있다. 구체적으로 설명하면, 아래와 같다.
도 30의 (a)를 참조하면, FLUTE 프로토콜을 이용한 데이터 구조가 나타나있다. 예를 들어, 멀티미디어 콘텐츠는 적어도 하나의 오브젝트를 포함할 수 있다. 하나의 오브젝트는 적어도 하나의 프래그먼트(Fragment 1 및 Fragment 2)를 포함할 수 있다.
도 30의 (b)를 참조하면, FLUTE 프로토콜을 이용한 경우의 데이터 처리 시간이 나타나 있다. 도 30의 (b)에서, 가장 아래 그림은 방송 신호 송신 장치가 하나의 오브젝트에 대한 인코딩 시작 시간 및 인코딩 종료 시간이 나타나 있고, 가운데 그림은 방송 신호 송신 장치가 하나의 오브젝트에 대한 전송 시작 시간 및 전송 종료 시간이 나타나 있고, 가장 위의 그림은 방송 신호 수신 장치가 하나의 오브젝트에 대한 재생 시작 시간 및 재생 종료 시간이 나타나 있다.
방송 신호 송신 장치는 적어도 하나의 프래그먼트를 포함하는 오브젝트의 생성을 종료한 이후에 오브젝트의 전송을 시작한다. 따라서, 방송 신호 송신 장치에서 오브젝트를 생성하기 시작한 시점과 전송하기 시작한 시점 사이에 Dt1 만큼의 전송 대기 시간이 발생한다.
또한, 방송 신호 수신 장치는 적어도 하나의 프래그먼트를 포함하는 오브젝트의 수신을 종료한 이후에 오브젝트의 재생을 시작한다. 따라서, 방송 신호 수신 장치에서 오브젝트를 수신하기 시작한 시점과 재생하기 시작한 시점 사이에 Dr1 만큼의 재생 대기 시간이 발생한다.
따라서, 하나의 오브젝트가 방송 신호 송신 장치에서 전송되어 방송 신호 수신 장치에서 재생될 때까지는 전송 대기 시간과 재생 대기 시간의 합 만큼의 시간이 필요하다. 이는, 방송 신호 수신 장치로 하여금 해당 오브젝트에 대한 초기 접근 시간이 상당히 오래 걸린다는 것을 의미한다.
이상과 같이, FLUTE 프로토콜을 이용할 경우 방송 신호 송신 장치는 오브젝트 단위로 데이터를 전송하므로, 방송 신호 수신 장치는 하나의 오브젝트에 대한 데이터를 모두 수신한 이후에 해당 오브젝트를 소비할 수 밖에 없는 한계가 있다. 따라서, FLUTE 프로토콜을 이용한 오브젝트의 전송은 실시간 방송 환경에 적합하지 않다.
도 31은 본 발명의 일 실시예에 따른 ROUTE 프로토콜 스택을 도시한 도면이다.
IP 기반 하이브리드 방송을 지원하는 차세대 방송 시스템의 방송서비스는 비디오 데이터, 오디오 데이터, 자막 데이터, 시그널링 데이터, ESG(Electronic Service Guide) 데이터, 및/또는 NRT 콘텐츠 데이터를 포함할 수 있다.
비디오 데이터, 오디오 데이터 및 자막 데이터 등은 ISO Base Media File (이하 ISO BMFF) 형태로 encapsulation 될 수 있다. 예를 들어, ISO BMFF 형태로 encapsulation 된 데이터는 MPEG(Moving Picture Expert Group)-DASH((Dynamic Adaptive Streaming over HTTP)의 Segment 혹은 MMT(MPEG Media Transport) 의 MPU (Media processing unit) 등의 형태를 따를 수 있다. 그리고 나서, ISO BMFF 형태로 encapsulation 된 데이터는 방송망과 인터넷 망에서 동일하게 또는 각 전송망의 속성에 따라 서로 다르게 전송될 수 있다.
방송망의 경우, Signaling data, ESG data, NRT Content data, and/or ISO BMFF 형태로 encapsulation 된 데이터들은 실시간 오브젝트 전송을 지원하는 application layer transport 프로토콜 패킷으로 encapsulation 될 수 있다. 예를 들어, ISO BMFF 형태로 encapsulation 된 데이터들은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 및 MMT의 transport packet 등으로 encapsulation 될 수 있다.
Real-Time Object Delivery over Unidirectional Transport (ROUTE)는 IP 멀티캐스트 네트워크들을 통하여 파일들의 전송을 위한 프로토콜이다. ROUTE 프로토콜은 메시블리 스케일러블 멀티케스트 디스트리뷰션(massively scalable multicast distribution)을 위해서 디자인된 베이스 프로토콜인 Asynchronous Layered Coding (ALC), Layered Coding Transport (LCT), 및 다른 잘 알려진 인터넷 표준들을 활용한다.
ROUTE는 FLUTE에 대하여 추가적인 특징들을 가진 향상된 버전 또는 기능적 대체물이다. ROUTE 프로토콜은 LCT 패킷들을 사용하여 딜리버리 오브젝트들 및 관련된 메타 데이터의 신뢰성 있는 전송에 사용될 수 있다. ROUTE 프로토콜은 실시간 전송에 사용될 수 있다.
ROUTE는 시그널링 메시지들, Electronic Service Guide (ESG) 메시지들, 및 NRT 콘텐트를 전송할 수 있다. ROUTE는 특히 MPEG-DASH Media Segment 파일들과 같은 스트리밍 미디어를 전송하는데 매우 적합하다. FLUTE와 비교하여, ROUTE는 딜리버리 체인(delivery chain)을 통하여 낮은 앤드-투-앤드 레이턴시(lower end-to-end latency)를 제공한다.
ROUTE 프로토콜은 임의의 종류의 오브젝트의 전송을 제공하는 제네릭 트랜스포트 애플리케이션(generic transport application )이다. ROUTE 프로토콜은 장면 디스크립션들(scene descriptions), 미디어 오브젝트들, 및 DRM 관련 정보를 포함하는 풍부한 프리젠테이션(rich presentation )을 지원한다. ROUTE는 특히 실시간 미디어 콘텐트의 전송에 매우 적합하고, 많은 특징들을 제공한다.
예를들어, ROUTE는 상이한 미디어 컴포넌트들(e.g. language tracks, subtitles, alternative video views)에 대한 개별적인 전달(delivery) 및 접근을 제공한다. 그리고, ROUTE는 상이한 전송 세션들(transport sessions) 또는 상이한 ROUTE 세션들(ROUTE sessions)에서 전달을 가능하게 함으로서 계층화된 코딩(layered coding) 의 지원을 제공한다. 또한, ROUTE는 멀티 스테이지(multistage )를 포함하는 유연한 FEC 보호에 대한 지원을 제공한다. 또한, ROUTE는 쉬운 MPEG-DASH 조합을 제공한다. MPEG-DASH 조합은 DASH의 브로드캐스트 및 브로드밴드 전달(delibery) 모드들 사이에서 시너지(synergy)를 가능하게 한다. 또한, ROUTE는 ROUTE 세션 및/또는 전송 세션(transport session)에 참가(join)할 때, 미디어에 빠른 접근을 제공한다. 또한, ROUTE는 전달 컨셉에 집중함으로서 높은 확장성을 제공한다. 그리고, ROUTE는 기존의 IETF 프로토콜들과의 호환성을 제공하고, IETF 기반의 확장 메커니즘들(IETF-endorsed extension mechanisms)의 사용과도 호환성을 제공한다.
ROUTE 프로토콜은 두가지 주요 컴포넌트들로 나누어 진다. 첫째 컴포넌트는 오브젝트들 또는 오브젝트들의 흐름들/집합의 전달을 위한 소스 프로토콜(source protocol)이다. 두번째 컴포넌트는 소스 프로토콜을 통하여 전달되는 딜리버리 오브젝트들 또는 딜리버리 오브젝트들의 묵음들(bundles)을 유연하게 보호하기 위한 리페어 프로토콜(repair protocol)이다.
소스 프로토콜은 리페어 프로토콜에 대하여 독립적이다. 즉, 소스 프로토콜은 ROUTE 리페어 프로토콜 없이도 사용될 수 있다. 리페어 프로토콜은 모바일 수신을 위한 특정 개발 시나리오들, 특정 지리적 영역들, 또는 특정 서비스를 위해서 사용될 수 있다.
소스 프로토콜은 3GPP TS 26.346에서 정의된 확장들뿐만아니라 FLUTE에 의해서도 지지될 수 있다. 소스 프로토콜은 RFC 6968에서 정의되는 FCAST의 일부 이론들을 사용할 수도 있다. 예를 들어, 오브젝트 메타데이터 및 오브젝트 콘텐트는 컴파운드 오브젝트(compound object)로 합께 전달될 수 있다.
기본적인 FLUTE 프로토콜에 더하여, ROUTE 프로토콜에는 미디어 데이터의 실시간 전달을 위한 최적화된 지원을 가능하게 하는 특정 최적화들 및 제한들이 추가되었다. 소스 ROUTE 프로토콜은 오브젝트 기반의 미디어 데이터의 실시간 전달을 제공한다. 그리고, 소스 ROUTE 프로토콜은 딜리버리 오브젝트들의 전송 관련 패킷화(transport aware packetization) 뿐만 아니라 미디어 관련 패킷화(media-aware packetization)을 가능하게 하는 것을 포함하는 유연한 패킷화(flexible packetization)를 제공한다. 그리고, 소스 ROUTE 프로토콜은 파일들 및/또는 딜리버리 오브젝트들에 대하여 독립적이다. 즉, 딜리버리 오브젝트는 파일의 일부일 수도 있고, 파일들의 그룹일 수도 있다.
수신기는 딜리버리 오브젝트들을 복원하고 애플리케이션으로 전달하기 때문에, 딜리버리 오브젝트들은 ROUTE 프로토콜의 핵심 컴포넌트이다. 딜리버리 오브젝트는 애플리케이션에 독립적이고(self-contained for the application), 애플리케이션과 관련있는 특정 속성들, 메타데이터, 및 타이밍 관령 정보와 관련이 있다. 어떤 경우에는, 속성들은 오브젝트들과 함께 인-밴드(in-band)로 제공된다. 다른 경우에는, 데이터들은 스태틱(static) 또는 다이나믹 방식(fashion)으로 아웃-오브-밴드(out-of-band)로 전달된다.
딜리버리 오브젝트는 "FDT Instance"를 동반하는 완벽한 파일 또는 파일의 일부를 포함할 수 있다. 또한, 딜리버리 오브젝트는 HTTP Entity(HTTP Entity Header and HTTP Entity Body)를 포함할 수 있다. 또한, 딜리버리 오브젝트는 딜리버리 오브젝트들의 패키지를 포함할 수 있다.
딜리버리 오브젝트는 FDT Instance를 동반하는 풀 파일(full file) 또는 바이트 범위의 파일(byte ranges of a file)일 수 있다. 딜리버리 오브젝트는 실시간 또는 비실시간(timed or non-timed delivery)으로 전달될 수 있다. 만약 딜리버리 오브젝트가 실시간으로 전달되면(If timed), 특정 실시간 제한들 및 버퍼 제한들이 적용되고, 특정 확장 헤더들이 사용될 수 있다. 다이나믹 및 스태틱 메타데이터(Dynamic and static metadata)sms 딜리버리 오브젝트 속성들을 서술하기 위해서 사용될 수 있다. 딜리버리 오브젝트는 ISO BMFF 구조들과 같은 특정 데이터 구조들을 통해서 전달될 수 있다. 이 경우, 미디어 관련 패킷화(media-aware packetization) 또는 제너럴 패킷화(general packetization)가 적용될 수 있다.
딜리버리 포맷은 어떤 포맷들이 애플리케이션으로 정보를 전달하기 위해서 사용되는지 명시할 수 있다.
ROUTE 리페어 프로토콜(ROUTE repair protocol)은 FEC 기반이고, 전송 레이어(e.g., UDP) 및 오브젝트 딜리버리 레이어 프로토콜 사이에 추가적인 레이어로서 동작할 수 있다. FEC는 RFC 6363에서 정의된 FEC Framework 정의를 재사용할 수 있다. 하지만, FEC는 소스 프로토콜에서 전달되는 딜리버리 오브젝트들을 보호한다는 점에서 차이가 있다. 각각의 FEC 소스 블록은 딜리버리 오브젝트의 일부를 포함할 수 있다. 딜리버리 오브젝트는 싱글 딜리버리 오브젝트((similar to FLUTE) 또는 멀티플 딜리버리 오브젝트들일 수 있다. 멀티플 딜리버리 오브젝트는 FEC 보호 이전에 생성(bundled)될 수 있다. ROUTE FEC는 RFC 5052에서 정의된 FEC 스킴과 유사한 의미일 수 있다. ROUTE FEC는 RFC 5052의 내용들을 포함할 수 있다. FEC 스킴은 FEC encoding 및 decoding을 정의한다. FEC 스킴은 프로토콜 필드들 및 FEC 스킴의 내용에 있는 패킷 페이로드 데이터를 식별하기 위해 사용되는 절차들을 정의할 수 있다.
ROUTE에서 모든 패킷들은 RFC 5651에서 정의되는 LCT 패킷들이다. 소스 및 리페어 패킷들은 적어도 하나의 ROUTE session, a LCT transport session, and/or a PSI bit에 의해서 구별될 수 있다. 상이한 ROUTE 세션들은 상이한 IP/UDP 포트 조합들 상에서 전송될 수 있다. 상이한 LCT transport 세션들은 LCT 헤더에서 상이한 TSI 값들을 가질 수 있다. 만일 소스 및 리페어 패킷들이 같은 LCT transport 세션을 통해서 전송되면, 그들은 LCT 내에 있는 PSI 비트에 의해서 구별될 수 있다. 이런 동작 모드는 FLUTE 호환 배치에 적합하다(This mode of operation is mostly suitable for FLUTE compatible deployments).
ROUTE는 패킷 포맷들, 전송 동작(sending behavior), 및 수신 동작(receiving behavior)을 포함하는 소스 프로토콜을 정의한다. 그리고, ROUTE는 리페어 프로토콜을 정의한다. 그리고, ROUTE는 전송 세션 확립(transport session establishment)을 위한 메타데이터 및 오브젝트 플로우 딜리버리를 위한 메타데이터를 정의한다. 그리고, ROUTE는 MPEG-DASH 컨피규레이션을 위한 권고사항(recommendations) 및 풍부하고 고품질의 리니어 TV 방송 서비스들을 위한 ROUTE에 대한 매핑을 정의할 수 있다.
ROUTE 프로토콜의 범위는 LCT 패킷들을 이용하여 딜리버리 오브젝트 및 관련된 메타데이터의 신뢰성있는 전달이다. 오브젝트들은 Delivery Object Cache를 통하여 애플리케이션에서 이용될 수 있도록 만들어질 수 있다. 이러한 Cache의 실행(implementation)은 애플리케이션에 따라서 달라질 수 있다.
ROUTE 프로토콜은 딜리버리 오브젝트들을 전송하는 LCT 패킷들의 포맷에 집중한다. 또한, ROUTE 프로토콜은 FEC에 기반을 둔 리페어 프로토콜을 사용하는 딜리버리 오브젝트의 신뢰성 있는 전달에 집중한다. 그리고, ROUTE 프로토콜은 딜리버리 오브젝트들과 함께 딜리버리 오브젝트 캐쉬 및 애플리케이션 사이에서 인터페이스 역할을 가능하게 하는 오브젝트 메타데이터의 정의 및 전달에 집중한다. 그리고, ROUTE 프로토콜은 오브젝트들 및 그들의 메타데이터의 수신을 수립하기 위한 ROUTE 세션 및 LCT 세션에 집중한다. 그리고, ROUTE 프로토콜은 특정 애플리케이션들을 위해 성능을 최적화시키기 위한 패킷들과 함께 전송되는 부가 정보(auxiliary information)의 규범적인 모습들(normative aspects, formats, semantics)에 집중한다. 예들 들어, 실시간 전달이 예가 될 수 있다.
게다가, ROUTE 프로토콜은 딜리버리에 사용되는 적합한 DASH 포맷들뿐만 아니라 ROUTE 딜리버리에 구체적인(specific) DASH Media Presentation 포맷들의 추천되는 매핑들을 제공한다. 핵심 이슈는, ROUTE를 사용함으로서 DASH media 포맷들이 그대로 사용될 수 있다는 것이다. 이러한 아키텍처럴 디자인(architectural design)은 수렴되는(converged) 유니캐스트/브로드캐스트 서비스들을 가능하게 한다.
ROUTE 프로토콜의 송신자 동작에서, LCT 패킷들을 전달하는 ROUTE session이 확립된다(established). 이러한 패킷들은 소스 오브젝트들 또는 FEC 리페어 데이터를 전송할 수 있다. 소스 프로토콜은 적어도 하나의 LCT 세션(session)들을 포함할 수 있고, 각각의 LCT 세션은 메타데이터와 함께 관련된 오브젝트들을 전송할 수 있다. 메타데이터는 LCT Session Instance Description (LSID)에서 정적으로 전달될 수 있고, Entity Mode에서 복합체 오브젝트(compound object) 또는 패킷 헤더들에서 LCT 확장 헤더들로서 동적으로 전달될 수 있다. 패킷들은 임의의 바이트 경계들에서(at arbitrary byte boundaries) 오브젝트의 유연한 분할(fragmentation)을 허용하는 구체적인(specific ) FEC 스킴을 사용하는 ALC를 통해서 전송될 수 있다. 게다가, 딜리버리 오브젝트들은 개별적으로 또는 번들(bundles)의 형태로 FEC 보호(FEC protected)될 수 있다. 어떠한 경우에도, 번들 형태의 오브젝트는 인코딩되고, 리페어 패킷들만 전달될 수 있다. 소스 패킷들과 조합된 형태로, 이것은 딜리버리 오브젝트 번들들의 복원을 허용한다. 적어도 하나의 리페어 플로우들이 생성될 수 있고, 각각의 리페어 플로우는 서로 다른 특성을 가질 수 있다. 예를 들어, 각각의 리페어 플로우는 서로 다른 잠재 요건들(latency requirements)을 가질 수 있고, 서로다른 보호 요건들(protection requirements)을 가질 수 있다.
DMD(Dynamic MetaData)는 클라이언트에서 동적으로 FDT에 상당하는 디스크립션들을 생성하는 메타데이터이다. DMD는 Entity Mode 에서 Entity-header을 통해서 전송되고, 전달의 다른 모드들에서 LCT 헤더를 통해서 전달될 수 있다.
ROUTE 프로토콜은 소스 데이터에 대한 서로 다른 보호 및 딜리버리 스킴을 지원할 수 있다. 역-호환성 모드에서 효율적으로 사용되기 위해서, ROUTE 프로토콜은 NRT 딜리버리를 위한 모든 기존의 사용예들을 지원할 수 있다.
ROUTE 세션은 IP address/port 조합에 관련된다. 전형적으로, ROUTE 세션에 참가함으로서(by joining), 세션의 모든 패킷들은 수신될 수 있고, 애플리케이션 프로토콜은 추가적인 프로세싱을 적용할 수 있다.
각각의 ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. LCT transport session 들은 ROUTE session의 부분집합일 수 있다. 미디어 딜리버리에 대하여, 하나의 LCT transport session은 전형적으로 하나의 미디어 컴포넌트(e.g. DASH Representation)를 전송할 수 있다. 브로드캐스트 DASH의 관점에서, ROUTE session은 적어도 하나의 DASH Media Presentation의 구성요소인 적어도 하나의 미디어 컴포넌트를 전송하는 LCT transport session의 복합체로서 간주될 수 있다. 각각의 LCT transport session 내에서, 서로 관련이 있는 적어도 하나의 오브젝트들이 전송될 수 있다. 예를 들어, 오브젝트들은 하나의 Representation에 관련된 DASH 세그먼트들(DASH Segments)일 수 있다. 각각의 오브젝트와 함께, 오브젝트들이 애플리케이션들에서 사용될 수 있도록 메타데이터 프로퍼티들이 전달될 수 있다. 애플리케이션들은 DASH Media Presentations, HTML-5 Presentations, 또는 다른 object-consuming application을 포함할 수 있고, 이에 제한되지 않는다.
ROUTE session들은 일시적인 관점으로부터 경계가 있거나 경계가 없을수도 있다(The ROUTE sessions may be bounded or unbounded from the temporal perspective). ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. 각각의 transport session은 LCT 헤더에 있는 고유한 Transport Session Identifier (TSI)에 의해서 고유하게 식별된다.
수신기가 ROUTE session에 참가하기 전에, 수신기는 ROUTE Session Description을 획득할 필요가 있다. ROUTE Session Description은 적어도 하나의 sender IP address, 세션에 대한 address 및 port number, 세션이 ROUTE session이라는 지시, 모든 패킷들은 LCT 패킷들이라는 지시, 및/또는 IP/UDP 레벨에서 세션에 참가하고 소비하기 위해 필수적인 다른 정보들을 포함할 수 있다.
Session Description은 ROUTE session을 위해서 사용되는 데이터 레이트들(data rates) 및 ROUTE session의 지속기간(duration)에 대한 어떤 정보들을 포함할 수 있고, 이에 제한되지 않는다.
Session Description은 RFC 4566에서 정의된 Session Description Protocol (SDP)과 같은 형태일 수도 있고, RFC 3023에서 정의된 XML metadata의 형태일 수도 있다. Session Description은 스케줄링 정보가 있는 웹 페이지에 위치한 proprietary session control protocol을 이용하는 session announcement protocol을 통해서 전송될 수도 있다. 또한, Session Description은 이메일 또는 다른 아웃-오브-밴드 방식으로 전송될 수 있다.
Transport session들은 ROUTE session description에서 서술되지 않고, LCT Session Instance Description (LSID)에서 서술될 수 있다. Transport session들(즉, LCT transport sessions 또는 LCT sessions)은 Source Flows 및 Repair Flows 중에서 적어도 하나를 포함할 수 있다. Source Flows 들은 소스 데이터를 전송할 수 있다. Repair Flows는 리페어 데이터를 전송할 수 있다.
하나의 ROUTE session 에 포함된 적어도 하나의 LCT transport session은 LCT Session Instance description (LSID)에 의해서 서술될 수 있다. 특히, LSID는 ROUTE session에 포함된 각각의 LCT transport session에서 무엇이 전송되는지 정의할 수 있다. 각각의 transport session은 LCT 헤더에 있는 Transport Session Identifier (TSI)에 의해서 고유하게 식별될 수 있다.
LSID는 ROUTE session 내에서 전송되는 적어도 하나의 transport session을 서술할 수 있다. LSID는 LCT transport sessions을 포함하는 동일한 ROUTE session을 통해서 전달될 수 있고, ROUTE session의 외부 수단을 통해서 전달될 수 있다. 예를 들어, LSID는 유니캐스트 또는 다른 ROUTE session을 통해서 전달될 수 있다. 전자의 경우에, LSID는 TSI=0으로 지정된 LCT transport session을 통해서 전달될 수 있고, TOI=0인 딜리버리 오브젝트를 통해서 전달될 수도 있다. TSI=0인 transport session을 통해서 전달되는 오브젝트에 대하여, Entity Mode가 사용될 수 있다. 만약 그러한 오브젝트들이 Entity Mode를 통해서 전달되지 않으면, LSID는 수신된 오브젝트에 대한 확장된 FDT(extended FDT)를 획득하기 전에 복원되어야 한다.
LSID의 인터넷 미디어 타입(Internet Media Type )은 application/xml+route+lsid이다.
LSID는 다른 적어도 하나의 데이터 프래그먼트를 참조할 수 있다. LSID에서 참조되는 오브젝트는 TSI=0인 transport session을 통해서 전달될 수 있지만, LSID와는 다른 TOI값을 가져야 한다. 또한, LSID는 TSI=0이 아닌 별도의 LCT session을 통해서 전달될 수 있다.
LSID element는 version attribute, validity attribute, 및/또는 expiration attribute를 포함할 수 있다. LSID element는 validity attribute 및 expiration attribute 뿐만 아니라 version attribute를 사용하여 적절하게 업데이트될 수 있다. 예를 들어, 특정 transport session들은 어떤 시간(some time)이 지나거나 새로운 session이 시작되면 종료될 수 있다.
version attribute은 LSID element의 버전을 지시할 수 있다. 버전은 디스크립터가 업데이트될 때 하나씩 증가될 수 있다. 가장 높은 버전 번호를 가진 수신된 LSID element는 현재 유효한 버전을 나타낸다.
validity attribute는 LSID element가 유효하게 되는 날짜 및/또는 시간을 지시할 수 있다. validity attribute는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 validity attribute가 존재하지 않으면, 수신기는 LSID element 버전이 즉시 유효하다고 추정할 수 있다.
expiration attribute는 LSID element가 만료되는 날짜 및/또는 시간을 지시할 수 있다. expiration attribute는 존재할 수도 있고, 존재하지 않을 수도 있다. 만약 존재하지 않으면 수신기는 LSID element가 모든 시간에 유효하다고 추정하거나, 수신기가 관련된 만료 값(expiration value)을 가진 새로운 LSID element를 수신할 때까지 유효하다고 추정할 수 있다.
LSID element는 적어도 하나의 TransportSession element를 포함할 수 있다. TransportSession element는 적어도 하나의 LCT transport session에 대한 정보를 포함할 수 있다. 각각의 TransportSession element는 tsi attribute, SourceFlow element, 및/또는 RepairFlow element를 포함할 수 있다.
Tsi attribute는 transport session 식별자(transport session identifier)를 명시한다. session identifier들은 0의 값을 갖지 않는다. SourceFlow element는 transport session을 통해서 전송되는 소스 플로우에 대한 정보를 포함할 수 있다. RepairFlow element는 transport session을 통해서 전송되는 repair flow에 대한 정보를 포함할 수 있다.
그리고 나서, application layer transport 프로토콜 패킷으로 encapsulation 된 데이터들은 IP/UDP 방식에 따라 패킷화될 수 있다. IP/UDP 방식에 따라 패킷화 된 데이터를 IP/UDP 데이터그램이라 할 수 있는데, IP/UDP 데이터그램은 방송 신호에 실려서 전송될 수 있다.
인터넷 망의 경우, ISO BMFF 형태로 encapsulation 된 데이터들은 스트리밍 기법을 기반으로 수신측에 전달될 수 있다. 예를 들어, 스트리밍 기법은 MPEG-DASH 를 포함할 수 있다.
시그널링 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, 시그널링 데이터는 시그널링의 속성에 따라서 차세대 방송 전송 시스템 및 방송망의 physical layer 에 전달되는 transport frame(또는 프레임)의 특정 data pipe (이하 DP) 등을 통하여 전송될 수 있다. 예를 들어, 시그널링 형태는 비트 스트림 또는 IP/UDP 데이터그램으로 encapsulation 된 형태일 수 있다.
인터넷망의 경우, 시그널링 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
ESG 데이터 및 NRT 콘텐츠 데이터는 아래와 같은 방법으로 전송될 수 있다.
방송망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 application layer transport 프로토콜 패킷으로 encapsulation 될 수 있다. 그리고 나서, application layer transport 프로토콜 패킷으로 encapsulation 된 데이터들은 상술한 바와 동일하게 전송될 수 있다.
인터넷망의 경우, ESG 데이터 및 NRT 콘텐츠 데이터는 수신기의 요청에 대한 응답으로서 리턴하여 전달될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치의 physical layer(Broadcast PHY 및 Broadband PHY)는 도 1에 도시된 구조일 수 있다. 또한, 방송 신호 수신 장치의 physical layer는 도 9에 도시된 구조일 수 있다.
시그널링 데이터 및 IP/UDP 데이터그램은 physical layer에 전달되는 transport frame(또는 프레임)의 특정 data pipe (이하 DP)를 통하여 전송될 수 있다. 예를 들어, The input formatting block(1000)은 시그널링 데이터 및 IP/UDP 데이터그램을 수신하고, 각각의 시그널링 데이터 및 IP/UDP 데이터그램을 적어도 하나의 DP 로 역다중화 할 수 있다. The output processor(9300)는 input formatting block(1000)와 상반된 동작을 수행할 수 있다.
이하에서는 상술한 ISO BMFF 형태로 encapsulation 된 데이터들이 ROUTE의 transport packet으로 encapsulation 된 경우를 중심으로 설명한다.
<실시간 파일 생성, 소비를 위한 데이터 구성>
도 32는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠의 데이터 구조를 나타낸 도면이다.
도 32를 참조하면, 도 32는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 데이터 구조가 도시되어 있다. 파일 기반 멀티미디어 콘텐츠란 적어도 하나의 파일로 구성되어 있는 멀티미디어 콘텐츠를 의미한다.
방송 프로그램과 같은 멀티미티어 콘텐츠는 하나의 프리젠테이션(presentation)으로 이루어질 수 있다. 프리젠테이션은 적어도 하나의 오브젝트(object)를 포함할 수 있다. 예를 들어, 오브젝트는 파일일 수 있다. 또한, 오브젝트는 적어도 하나의 프래그먼트(fragment)를 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 비디오 데이터를 담는 프래그먼트는 IDR Picture로 시작하며, 미디어 데이터의 파싱(parsing)을 위한 헤더(header) 데이터 또한 이전(preceding)의 프래그먼트에 대하여 의존성을 갖지 않는다. 본 발명의 일 실시예에 따른 프래그먼트는 적어도 하나의 전송 블록 단위로 분할되어 전송될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 부호화 및 전송될 수 있는 최소 데이터 단위를 의미한다. 또한, 전송 블록은 가변적인 크기의 GOP 단위 또는 청크 단위로 된 의미 있는 데이터 단위일 수 있다. 예를 들어, 전송 블록은 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 적어도 하나의 청크(chunk)를 포함할 수 있다. 청크란 콘텐츠의 세그멘트를 의미할 수 있다. 또한, 전송 블록은 적어도 하나의 소스 블록을 포함할 수 있다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 일 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 Open GOP 및 Closed GOP를 포함할 수 있다.
Open GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, Open GOP은 코딩 효율을 상당히 높일 수 있다. Closed GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
전송 블록은 적어도 하나의 데이터를 포함할 수 있고, 각각의 데이터는 동일하거나 서로 다른 미디어 타입을 가질 수 있다. 예를 들어, 미디어 타입은 오디오 타입 및 비디오 타입을 포함할 수 있다. 즉, 전송 블록은 오디오 및 비디오의 경우처럼 서로 다른 미디어 타입을 갖는 적어도 하나의 데이터를 함께 포함할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더(header)는 앞서 언급한 청크들을 파싱하기 위한 타이밍(timing) 정보 및 인덱싱(indexing) 정보 등을 포함할 수 있다. 그리고, 프래그먼트 헤더는 적어도 하나의 전송 블록으로 구성될 수 있다. 예를 들어, 프래그먼트 헤더는 하나의 전송 블록에 포함될 수 있다. 또한, 프래그먼트 페이로드를 구성하는 적어도 하나의 청크 데이터도 적어도 하나의 전송 블록에 각각 포함될 수 있다. 상술한 바와 같이, 프래그먼트 헤더 및 프레그먼트 페이로드는 적어도 하나의 전송 블록에 각각 포함될 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 적어도 하나의 심볼(symbol)로 분할 될 수 있다. 적어도 하나의 심볼은 패킷화될 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 적어도 하나의 심볼을 LCT 패킷으로 패킷화 할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷화된 데이터를 방송 신호 수신 장치로 전송할 수 있다.
도 33은 본 발명의 일 실시예에 따른 데이터 구조를 적용한 MPEG-DASH의 미디어 세그먼트 구성을 나타낸 도면이다.
도 33을 참조하면, 본 발명의 일 실시예에 따른 데이터 구조를 MPEG-DASH의 미디어 세그먼트(Media Segment)에 적용한 실시예가 나타나 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 서버에 다수의 품질을 가진 멀티미디어 콘텐츠들을 보유하고 사용자의 방송 환경 및 방송 신호 수신 장치의 환경에 적합한 멀티미디어 콘텐츠들을 제공함으로서 끊김 없는 실시간 스트리밍 서비스를 제공할 수 있다. 예를 들어, 방송 신호 송신 장치는 MPEG-DASH를 이용하여 실시간 스트리밍 서비스를 제공할 수 있다.
방송 신호 송신 장치는 XML 형태의 MPD(Media Presentation Description) 및 이진화 포맷 형태의 전송용 멀티미디어 콘텐츠인 세그먼트(Segment)를 ROUTE 프로토콜 이용하여 방송 신호 수신 장치로 방송 환경 및 방송 신호 수신 장치의 환경에 따라서 동적으로 전송할 수 있다.
MPD는 계층적인 구조로 구성되어 있으며 각 계층별 구조적 기능 및 역할 등에 관한 정보를 포함할 수 있다.
세그먼트는 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 스트리밍 서비스를 지원하기 위해 방송 신호 수신 장치로 전송하고자 하는 품질별, 시간별로 분리한 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. 미디어 세그먼트는 Media stream의 정보, 적어도 하나의 Access unit, Presentation time 또는 Index와 같은 해당 세그먼트 안의 Media Presentation에 접근 방법에 대한 정보를 포함할 수 있다. 또한, 미디어 세그먼트는 Segment index에 의해 적어도 하나의 Subsegment로 분할될 수 있다.
MPEG-DASH 콘텐츠는 적어도 하나의 미디어 세그먼트를 포함할 수 있다. 미디어 세그먼트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 프래그먼트는 상술한 Subsegment일 수 있다. 상술한 바와 같이 프래그먼트는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다.
프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 세그먼트 인덱스 박스는 해당 프래그먼트 내부에 존재하는 미디어 데이터의 최초 프레젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스는 미디어 데이터 박스(mdat)에 대한 메타 데이터를 포함할 수 있다. 예를 들어, 무비 프래그먼트 박스는 프래그먼트 내 미디어 데이터 샘플(sample)의 타이밍, 인덱싱, 디코딩(decoding) 정보 등을 포함할 수 있다.
프래그먼트 페이로드는 미디어 데이터 박스(mdat)를 포함할 수 있다. 미디어 데이터 박스(mdat)는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다.
부호화된 미디어 데이터는 프래그먼트 페이로드에 해당되는 미디어 데이터 박스 (mdat)내에 청크 단위로 포함된다. 상술한 바와 같이, 동일한 트랙(track)에 해당하는 샘플들은 하나의 청크 내에 포함될 수 있다.
방송 신호 송신 장치는 프래그먼트를 분할하여 적어도 하나의 전송 블록을 생성할 수 있다. 또한, 방송 신호 송신 장치는 프래그먼트 헤더와 페이로드 데이터를 구분하기 위해 프래그먼트 헤더와 페이로드 데이터를 각각 다른 전송 블록에 포함시킬 수 있다.
또한, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 데이터를 분할하여 전송하기 위해서 청크 단위로 구획된 전송 블록을 생성할 수 있다. 즉, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 청크의 경계와 전송 블록의 경계 지점이 일치하도록 전송 블록을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 전송 블록을 분할하여 적어도 하나의 심볼을 생성할 수 있다. 오브젝트 내의 모든 심볼의 길이는 동일 할 수 있다. 또한, 오브젝트 내의 모든 심볼의 길이를 동일하게 하기 위해서, 전송 블록의 마지막 심볼은 패딩(padding) 바이트들을 포함할 수 있다.
그리고 나서, 방송 신호 송신 장치는 적어도 하나의 심볼을 패킷화할 수 있다. 예를 들어, 방송 신호 송신 장치는 적어도 하나의 심볼들을 기초로 LCT 패킷을 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 생성된 LCT 패킷을 전송할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 프래그먼트를 생성하기 위해서 프래그먼트 페이로드를 먼저 생성한 이후에 프래그먼트 헤더를 생성한다. 이때, 방송 신호 송신 장치는 프래그먼트 페이로드 내의 미디어 데이터에 해당하는 전송 블록을 생성할 수 있다. 예를 들어, 미디어 데이터 박스(mdat)에 포함된 미디어 데이터에 해당하는 적어도 하나의 전송 블록은 청크 단위로 순차적으로 생성될 수 있다. 그리고 나서, 방송 신호 송신 장치는 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
방송 신호 송신 장치는 미디어 콘텐츠를 실시간 방송으로 전송하기 위해서 생성된 전송 블록을 생성 순서에 따라서 전송할 수 있다. 반대로, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 프래그먼트 헤더를 먼저 파싱한 이후에 프래그먼트 페이로드를 파싱한다.
방송 신호 송신 장치는 미디어 데이터가 미리 인코딩되었거나 전송 블록이 미리 생성된 경우에는 파싱 순서로 전송할 수 있다.
도 34는 본 발명의 일 실시예에 따른 ROUTE 프로토콜을 이용한 데이터 처리 시간을 나타낸 도면이다.
도 34의 (a)를 참조하면, 본 발명의 일 실시예에 따른 데이터 구조가 나타나있다. 멀티미디어 데이터는 적어도 하나의 오브젝트를 포함할 수 있다. 각각의 오브젝트는 적어도 하나의 프래그먼트를 포함할 수 있다. 예를 들어, 하나의 오브젝트는 2개의 프래그먼트(Fragment1 및 Fragment 2)를 포함할 수 있다.
방송 신호 송신 장치는 프래그먼트를 적어도 하나의 전송 블록으로 분할할 수 있다. 전송 블록은 소스 블록일 수 있고, 이하에서는 소스 블록을 기준으로 설명하기로 한다.
예를 들어, 방송 신호 송신 장치는 프래그먼트 1을 세 개의 소스 블록(Source Block 0, Source Block 1, and Source Block 2)으로 분할하고, 프래그먼트 2를 세 개의 소스 블록(Source Block 3, Source Block 4, Source Block 5)으로 분할할 수 있다.
방송 신호 송신 장치는 분할된 각각의 소스 블록을 개별적으로 전송할 수 있다. 방송 신호 송신 장치는 각각의 소스 블록이 생성된 시점 또는 바로 직후에 생성된 각각의 소스 블록의 전송을 시작할 수 있다.
예를 들어, 방송 신호 송신 장치는 소스 블록 0(S0)을 te0 ~ te1 시간 동안 생성한 이후에, 소스 블록 0(S0)을 전송할 수 있다. 소스 블록 0(S0)의 전송 시작 시점(td0)은 소스 블록 0(S0)의 생성 완료 시점(td0)의 직후이거나 동일 할 수 있다. 같은 방법으로, 방송 신호 송신 장치는 소스 블록 1(S1) 내지 소스 블록 5(S5)를 생성하고, 생성된 각각의 소스 블록을 전송할 수 있다.
따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치에서는 하나의 소스 블록을 생성하기 시작한 시점과 전송하기 시작한 시점 사이에 Dt2 만큼의 전송 대기 시간이 발생할 수 있다. 본 발명의 일 실시예에 따른 방송 신호 송신 장치에서 발생하는 전송 대기 시간(Dt2)은 종래의 방송 신호 송신 장치에서 발생하는 전송 대기 시간(Dt1)에 비하여 상당히 줄어든 것이다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 종래의 방송 신호 송신 장치에 비하여 전송 대기 시간을 줄일 수 있는 효과가 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 분할된 각각의 소스 블록을 수신하고, 수신한 소스 블록을 조합하여 적어도 하나의 프래그먼트를 생성할 수 있다. 예를 들어, 방송 신호 수신 장치는 소스 블록 0(S0), 소스 블록 1(S1), 및 소스 블록 2(S2)를 수신하고, 수신한 세 개의 소스 블록을 조합하여 프래그먼트 1을 생성할 수 있다. 또한, 방송 신호 수신 장치는 소스 블록 3(S3), 소스 블록 4(S4), 및 소스 블록 5(S5)를 수신하고, 수신한 세 개의 소스 블록을 조합하여 프래그먼트 2를 생성할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 생성된 각각의 프래그먼트를 개별적으로 재생할 수 있다. 방송 신호 수신 장치는 각각의 프래그먼트가 생성된 시점 또는 직후에 생성된 각각의 프래그먼트를 재생할 수 있다. 또는, 방송 신호 수신 장치는 각각의 프래그먼트에 해당하는 소스 블록들이 모두 전송된 시점 또는 직후에 각각의 프래그먼트를 재생할 수 있다.
예를 들어, 방송 신호 수신 장치는 소스 블록 0(S0) 내지 소스 블록 2(S2)를 td0 ~ td3 시간 동안 수신한 이후에, 프래그먼트 1을 생성할 수 있다. 그리고 나서, 방송 신호 수신 장치는 생성된 프레그먼트 1을 재생할 수 있다. 프래그먼트 1의 재생 시작 시점(tp0)은 프래그먼트 1의 생성 직후이거나 동일 할 수 있다. 또한, 프래그먼트 1의 재생 시작 시점(tp0)은 소스 블록 2(S2)의 수신 완료 시점(td3)의 직후이거나 동일 할 수 있다.
같은 방법으로, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 소스 블록 3(S3) 내지 소스 블록 5(S5)를 td3 ~ td6 시간 동안 수신한 이후에, 프래그먼트 2를 생성할 수 있다. 그리고 나서, 방송 신호 수신 장치는 생성된 프레그먼트 2를 재생할 수 있다.
다만 이에 한정되지 않고, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 소스 블록을 수신하고, 수신된 소스 블록 단위로 재생할 수도 있다.
따라서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치에서는 하나의 프래그먼트를 수신하기 시작한 시점과 재생하기 시작한 시점 사이에 Dr2 만큼의 재생 대기 시간이 발생할 수 있다. 본 발명의 일 실시예에 따른 방송 신호 수신 장치에서 발생하는 재생 대기 시간(Dr2)은 종래의 방송 신호 수신 장치에서 발생하는 재생 대기 시간(Dr1)에 비하여 상당히 줄어든 것이다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 종래의 방송 신호 수신 장치에 비하여 재생 대기 시간을 줄일 수 있는 효과가 있다.
이상과 같이, 하나의 전송 블록이 방송 신호 송신 장치에서 전송되어 방송 신호 수신 장치에서 재생될 때까지의 시간인 전송 대기 시간과 재생 대기 시간의 합은 상당히 줄어들 수 있다. 이는, 방송 신호 수신 장치로 하여금 해당 오브젝트에 대한 초기 접근 시간이 상당히 단축된다는 것을 의미한다.
ROUTE 프로토콜을 이용할 경우, 방송 신호 송신 장치는 전송 블록 단위로 데이터를 전송할 수 있고, 방송 신호 수신 장치는 수신된 데이터를 전송 블록 단위 또는 프래그먼트 단위로 재생할 수 있다. 그 결과, 멀티미디어 콘텐츠의 획득에서부터 사용자에게 보여지기까지의 총 시간을 줄일 수 있고, 사용자가 방송 채널에 접근하였을 때의 초기 접근 시간을 줄일 수 있는 효과가 있다.
따라서, ROUTE 프로토콜을 이용한 전송 블록의 전송은 실시간 방송 환경에 적합하다.
<파일 분할 생성, 소비 정보의 식별 방안>
도 35는 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
애플리케이션 계층 전송 세션은 IP 주소 및 포트 번호의 조합으로 구성될 수 있다. 애플리케이션 계층 전송 세션이 ROUTE 프로토콜인 경우, ROUTE 세션은 적어도 하나의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 예를 들어, 하나의 LCT 전송 세션을 통해 하나의 미디어 컴포넌트를 전달하는 경우, 하나의 애플리케이션 계층 전송 세션을 통하여 적어도 하나의 미디어 컴포넌트를 멀티플렉싱하여 전송할 수 있다. 또한, 하나의 LCT 전송 세션을 통하여 적어도 하나의 전송 오브젝트(Transport object)를 전달할 수 있다.
도 35를 참조하면, 애플리케이션 계층 전송 프로토콜이 LCT 기반인 경우, LCT 패킷의 각 필드는 다음과 같은 정보를 나타낸다.
LCT 패킷은 LCT version number field(V), Congestion control flag field(C), Reserved field(R), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Sender Current Time present flag field(T), Expected Residual Time present flag field(R), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, FEC Payload ID field, 및/또는 Encoding Symbol(s) field를 포함할 수 있다.
LCT version number field(V)는 프로토콜 버전 번호를 지시할 수 있다. 예를 들어, LCT version number field(V)는 LCT 버전 번호를 지시할 수 있다. LCT 헤더의 LCT version number field(V)는 ROUTE 버전 번호 필드로 해석될 수 있다. ROUTE의 버전은 함축적으로(implicitly) LCT building block의 버전 ‘1’을 사용할 수 있다. 예를 들어, 버전 번호는 ‘0001b’일 수 있다.
Congestion control flag field(C)는 Congestion Control Information field의 길이를 지시할 수 있다. C=0은 Congestion Control Information (CCI) field 의 길이가 32-bits를 지시할 수 있다. C=1은 Congestion Control Information (CCI) field 의 길이가 64-bits를 지시할 수 있다. C=2은 Congestion Control Information (CCI) field 의 길이가 96-bits를 지시할 수 있다. C=3은 Congestion Control Information (CCI) field 의 길이가 128-bits를 지시할 수 있다.
Reserved field(R) reserved for future use. 예를 들어, Reserved field(R)는 Protocol-Specific Indication field(PSI)일 수 있다. Protocol-Specific Indication field(PSI)는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. PSI field indicates whether the current packet is a source packet or an FEC repair packet. As the ROUTE source protocol only delivers source packets, this field shall be set to ‘10b’.
Transport Session Identifier flag field(S)는 Transport Session Identifier field의 길이를 지시할 수 있다.
Transport Object Identifier flag field(O)는 Transport Object Identifier field의 길이를 지시할 수 있다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT라 한다.
Half-word flag field(H)는 TSI 및 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
Sender Current Time present flag field(T)는 Sender Current Time (SCT)가 존재하는지 여부를 지시할 수 있다. T=0은 Sender Current Time (SCT) field가 존재하지 않는다고 지시할 수 있다. T=1은 Sender Current Time (SCT) field가 존재한다고 지시할 수 있다. SCT는 송신자가 수신자에게 session이 얼마나 오랫 동안 처리되는지를 지시하기 위해서 포함될 수 있다.
Expected Residual Time present flag field(R)는 Expected Residual Time (ERT) field가 존재하는지 여부를 지시할 수 있다. R=0은 Expected Residual Time (ERT) field가 존재하지 않는다고 지시할 수 있다. R=1은 Expected Residual Time (ERT) field가 존재한다고 지시할 수 있다. ERT는 송신자가 수신자에게 session/오브젝트 전송이 얼마나 더 오랫 동안 계속될 것인지를 지시하기 위해서 포함될 수 있다.
Close Session flag field(A)는 세션이 종료 또는 종료가 임박했음을 지시한다.
Close Object flag field(B)는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 지시한다.
LCT header length field(HDR_LEN)는 32-비트 워드 단위로 LCT 헤더의 총 길이를 지시할 수 있다.
Codepoint field(CP)는 현재 패킷에 의해서 전송되는 페이로드의 타입을 지시할 수 있다. 페이로드의 타입에 의해서, 추가적인 페이로드 헤더는 페이로드 데이터의 앞에 추가될 수 있다.
Congestion Control Information field(CCI)는 layer numbers, logical channel numbers, sequence numbers 등의 Congestion Control 정보 전송에 사용된다. LCT 헤더에 있는 CCI 필드는 필요한 Congestion Control Information을 포함할 수 있다.
Transport Session Identifier field(TSI)는 세션의 고유 식별자이다. TSI는 특정 송신자로부터 전송되는 모든 세션들 중에서 세션을 고유하게 식별할 수 있다. TSI 필드는 ROUTE에서 Transport Session을 식별할 수 있다. Transport Session의 내용은 LSID(LCT Session Instance description)에 의해서 제공될 수 있다.
LSID는ROUTE session의 각각의 LCT transport session에서 무엇이 전송되는지를 정의할 수 있다. 각각의 transport sessinon은 LCT 헤더에 있는 TSI에 의해서 고유하게 식별될 수 있다. LSI는 LCT전송 세션들을 포함하는 동일한 ROUTE 세션을 통해서 전송될 수 있으며, 통신망, 방송망, 인터넷망, 케이블망, 및/또는 위성망을 통해서도 전송될 수 있다. LSID가 전송되는 수단은 이에 한정되지 않는다. 예를 들어, LSID는 TSI의 값이 ‘0’인 특정 LCT 전송 세션을 통해서 전송될 수 있다. LSID는 ROUTE 세션으로 전송되는 모든 전송 세션에 대한 시그널링 정보를 포함할 수 있다. LSID는 LSID 버전 정보 및 LSID의 유효성에 관한 정보를 포함할 수 있다. 또한, LSID는 LCT 전송 세션에 대한 정보를 제공하는 전송 세션(transport session) 정보를 포함할 수 있다. 전송 세션 정보는 전송 세션을 식별하는 TSI 정보, 해당 TSI로 전송되며 소스 데이터가 전송되는 소스 플로우에 대한 정보를 제공하는 소스플로우(source flow) 정보, 해당 TSI로 전송되며 리페어 데이터가 전송되는 리페어 플로우에 대한 정보를 제공하는 리페어플로우(repair flow) 정보, 및 해당 전송 세션에 대한 추가적인 특성 정보를 포함하는 전송 세션 프로퍼티(transport session property) 정보를 포함할 수 있다.
Transport Object Identifier field(TOI)는 오브젝트의 고유 식별자이다. TOI는 session 내에있는 어떤 오브젝트에 현재 패킷이 관련있는지를 지시할 수 있다. TOI 필드는 현재 session 내에서 어떤 오브젝트에 현재 패킷의 페이로드가 속하는지를 지시할 수 있다. TOI 필드의 오브젝트에의 매핑은 Extended FDT에 의해서 제공될 수 있다.
Extended FDT는 파일 딜리버리 데이터의 구체적인 내용들을 명시할 수 있다. 이것은 확장된 FDT instance일 수 있다. extended FDT는 LCT 패킷 헤더와 함께 딜리버리 오브젝트에 대한 FDT-equivalent descriptions을 생성하는데 사용될 수 있다. Extended FDT는 내장형이거나(embedded) 참조로서 제공될 수 있다. 만약 참조로서 제공되면 Extended FDT는 LSID에 대하여 독립적으로 업데이트될 수 있다. 만약 참조되면, Extended FDT는 소스 플로우에 포함된 TOI=0인 인-밴드 오브젝트로서 제공될 수 있다.
Header Extensions field는 추가 정보 전송을 위한 LCT 헤더 확장 부분으로 사용된다. LCT에 있는 Header Extensions은 항상 사용되지는 않거나 가변적인 크기를 가지는 선택적인 헤더 필드들을 수용하기 위해서 사용될 수 있다.
예를 들어, EXT_TIME extension은 몇가지 타입의 타이밍 정보를 전송하기 위해서 사용될 수 있다. EXT_TIME extension는 일반적인 목적의 타이밍 정보, Sender Current Time (SCT), Expected Residual Time (ERT), 및/또는 Sender Last Change (SLC) time extensions를 포함할 수 있다. EXT_TIME extension는 더 좁은 적용 가능성을 가진 타이밍 정보를 위해서 사용될 수 있다. 예를 들어, EXT_TIME extension는 single protocol instantiation을 위해서 정의될 수 있다. 이 경우, EXT_TIME extension은 별도로 서술될 수 있다.
FEC Payload ID field는 Transmission Block 또는 encoding symbol의 식별 정보를 포함한다. FEC Payload ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC Payload ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
Encoding Symbol(s) field는 Transmission Block 또는 encoding symbol의 데이터를 포함할 수 있다.
패킷 페이로드는 오브젝트로부터 생성된 바이트들을 포함할 수 있다. 만약 하나 이상의 오브젝트가 session 내에서 전송되면, LCT 헤더 내에 있는 Transmission Object ID (TOI)는 패킷 페이로드 데이터가 어떤 오브젝트로부터 생성되었는지를 식별하는데 사용될 수 있다.
본 발명의 일 실시예에 따른 LCT 패킷은 Header Extensions field의 확장 형태인 Real Time Support Extension field(EXT_RTS)를 포함할 수 있다. EXT_RTS는 파일의 분할 생성 및 소비 정보를 포함할 수 있고, 이하에서는 프래그먼트 정보로 표현할 수 있다. 본 발명의 일 실시예에 따른 LCT 패킷은 Header Extensions field의 확장 형태로 EXT_RTS를 포함함으로서, 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송 및 소비 정보를 지원할 수 있다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 Header Extension Type field(HET), Fragment Start Indicator field(SI), Fragment Header flag field(FH), 및 Fragment Header Complete Indicator field(FC)를 포함할 수 있다.
Header Extension Type field(HET)는 해당 Header Extension의 타입을 지시한다. HET 필드는 8비트의 정수일 수 있다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며 HET에 뒤따르는 Header Extension Length field(HEL)에 그 길이를 기술한다. HET가 128에서 255 사이의 값을 가질 경우 Header Extension은 32 비트 고정 길이를 갖는다.
본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 32 비트의 고정길이를 가지므로, 128에서 255 사이의 값 중 하나의 고유 값으로 해당 Header Extension의 타입을 식별할 수 있다.
SI 필드는 해당 LCT 패킷이 프래그먼트의 시작 부분을 포함하고 있음을 지시한다. 방송환경에서 사용자가 해당 파일 기반 멀티미디어 콘텐츠가 전송되는 채널의 임의의 시점에 접근하였을 경우, 최초 수신되는 패킷 중에서 SI 필드가 0으로 설정된 패킷들은 버리고, SI 필드가 1로 설정된 패킷부터 파싱을 시작함으로써 패킷의 처리 효율을 높이고 초기 지연 시간을 단축시킬 수 있다.
FH 필드는 해당 LCT 패킷이 프래그먼트 헤더 부분을 포함하고 있음을 지시한다. 상술한 바와 같이, 프래그먼트 헤더는 생성 순서와 소비 순서가 프래그먼트 페이로드와 다른 특성을 갖고 있다. 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FH 필드를 기초로 생성 순서대로 수신된 전송 블록들을 소비 순서에 맞게 재배열하여 프래그먼트를 재생성할 수 있게 된다.
FC 필드는 해당 패킷이 프래그먼트의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FC 필드는 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FC 필드는 프래그먼트 페이로드의 마지막 데이터를 포함하고 있음을 지시할 수 있다. 이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
방송 신호 수신 장치가 FC 필드가 1로 셋팅된 패킷을 수신하면 프래그먼트 헤더의 수신이 완료되었음을 인지하고, 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
Padding Bytes field(PB)는 해당 LCT 패킷에 포함된 패딩 바이트 수를 지시한다. 기존의 LCT에서는 하나의 오브젝트에 해당하는 모든 LCT 패킷의 길이가 같아야 한다. 하지만, 본 발명의 일 실시예에 따른 데이터 구성 방안에 따라서 전송 블록을 나누게 될 때, 매 전송 블록의 마지막 심볼은 다른 길이를 갖게 될 수 있다. 따라서, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 패킷의 나머지 부분을 패딩 바이트로 채움으로서 고정길이 패킷을 사용하여 기존의 LCT와 호환성 있는 방법으로 실시간 파일 전송을 지원할 수 있다.
Reserved field reserved for future use.
도 36은 본 발명의 일 실시예에 따른 파일을 전송하기 위한 LCT 패킷의 구조를 나타낸 도면이다.
도 36에 개시된 부분 중에서 도 35에 개시된 부분과 동일 한 부분은 도 35에서 설명한 내용과 동일하므로, 이하에서는 차이점을 중심으로 설명하기로 한다.
도 36을 참조하면, 본 발명의 일 실시예에 따른 프래그먼트 정보(EXT_RTS)는 도 35에서 설명한 FC 필드 대신에 Fragment Header Length field(FHL)를 포함할 수 있다.
FHL 필드는 프래그먼트를 구성하는 심볼의 수를 지시함으로서 프래그먼트의 수신이 완료되었는지 아닌지에 대한 정보를 제공할 수 있다. FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드를 모두 포함하는 각각의 프래그먼트에 해당하는 총 심볼의 수를 지시할 수 있다. 또한, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드 중에서 나중에 전송되는 것의 총 심볼의 수를 지시할 수 있다.
예를 들어, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송될 경우, FHL 필드는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 헤더의 길이를 나타낼 수 있다.
그리고, 프래그먼트 헤더가 먼저 전송된 이후에 프래그먼트 페이로드가 전송될 경우, FHL 필드는 프래그먼트 페이로드에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드는 프래그먼트 페이로드의 길이를 나타낼 수 있다.
이하에서는, 프래그먼트 페이로드가 먼저 전송된 이후에 프래그먼트 헤더가 전송되는 것을 중심으로 설명하기로 한다.
본 발명의 다른 실시에에 따른 방송 신호 수신 장치는 FHL 필드에 표시된 심볼의 개수에 해당하는 프래그먼트 헤더를 포함하는 LCT 패킷을 수신할 수 있다. 방송 신호 수신 장치는 프래그먼트 헤더를 포함하는 LCT 패킷의 수신 횟수를 체크함으로써 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다. 또는, 방송 신호 수신 장치는 프래그먼트 헤더에 해당하는 전송 블록의 개수를 체크하여 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있다.
<파일의 분할 생성 및 분할 소비의 식별 방법 >
도 37은 본 발명의 일 실시예에 따른 FDT를 이용한 실시간 방송 지원 정보 시그널링을 나타낸 도면이다.
상술한 바와 같이, 본 발명은 실시간 방송 환경에서 파일기반 멀티미디어 콘텐츠의 분할 생성 및 분할 소비에 관한 정보를 식별하는 방법을 제공하는 것을 일 실시예로 하고 있다. 파일기반 멀티미디어 콘텐츠의 분할 생성 및 분할 소비에 관한 정보는 상술한 데이터 구조 및 LCT 패킷 정보를 포함할 수 있다.
방송 신호 송신 장치는 파일의 분할 생성 정보 및 분할 소비 정보의 식별을 위해서 별도의 시그널링 정보를 추가적으로 전송할 수 있다. 예를 들어, 시그널링 정보는 메타 데이터나 out-of-band를 이용한 시그널링(signaling) 정보를 포함할 수 있다.
도 37을 참조하면, 본 발명의 일 실시예에 따른 실시간 방송 지원 정보에 대한 시그널링 정보를 전송하는 방법이 도시되어 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 FDT(File Delivery Table) 레벨 또는 File 레벨의 Real-Time-Support attribute를 통해서 시그널링 정보를 전송할 수 있다. Real-Time-Support가 1로 설정되어 있을 경우, 해당 FDT 레벨 또는 File 레벨에서 기술하고 있는 오브젝트들이 상술한 데이터 구조 및 패킷 정보들을 가지며, 이를 통해 실시간 방송환경에서의 파일 분할 생성 및 소비를 지원할 수 있음을 지시할 수 있다.
도 38은 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 38을 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 송신 장치는 시그널링 인코더(C21005), Transmission Block Generator(C21030), 및/또는 Transmiter(C21050)를 포함할 수 있다.
시그널링 인코더(C21005)는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다. 시그널링 정보는 파일 레벨 또는 FDT 레벨 중에서 적어도 하나로 상기 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시할 수 있다.
시그널링 정보가 파일 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 파일에 속하는 모든 데이터를 실시간으로 전송할 수 있다. 또한, 시그널링 정보가 FDT 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 FDT에 속하는 모든 파일 또는 데이터를 실시간으로 전송할 수 있다.
시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, Transmission Block Generator(C21030)는 멀티미디어 콘텐츠에 포함되는 파일을, 독립적으로 부호화되고 전송되는 데이터 단위인 적어도 하나의 전송 블록으로 분할할 수 있다.
Transmitter(C21050)는 전송 블록을 전송할 수 있다.
보다 구체적인 내용은 이하의 도 39에서 설명하기로 한다.
도 39는 본 발명의 일 실시예에 따른 방송 신호 송신 장치의 구성도를 나타낸 도면이다.
도 39를 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 송신 장치는 시그널링 인코더(미도시), Media Encoder(C21010), Fragment Generator(C21020), Transmission Block Generator(C21030), Packetizer(C21040), 및/또는 Transmiter(C21050)를 포함할 수 있다.
시그널링 인코더(미도시)는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
Media Encoder(C21010)는 멀티미디어 콘텐츠를 인코딩하여 미디어 데이터를 생성할 수 있다. 이하에서 미디어 데이터는 데이터로 표현할 수 있다.
Fragment Generator(C21020)는 멀티미디어 콘텐츠를 구성하는 각각의 파일을 분할하여 독립적으로 복호화 및 재생되는 데이터 단위인 적어도 하나의 프래그먼트를 생성할 수 있다.
*Fragment Generator(C21020)는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성할 수 있다.
Fragment Generator(C21020)는 프래그먼트 페이로드에 해당하는 미디어 데이터를 버퍼링할 수 있다. 그리고 나서, Fragment Generator(C21020)는 버퍼링한 미디어 데이터를 기초로 프래그먼트 페이로드에 해당하는 청크(chunk)를 생성할 수 있다. 예를 들어, 청크는 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 가변적인 크기의 데이터 단위일 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되지 않았으면, Fragment Generator(C21020)는 미디어 데이터를 계속 버퍼링한 후에 프래그먼트 페이로드에 해당하는 청크의 생성을 완료할 수 있다.
Fragment Generator(C21020)는 청크를 생성할 때마다 프래그먼트 페이로드에 해당하는 데이터를 모두 청크로 생성하였는지 여부를 판단할 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되면, Fragment Generator(C21020)는 프래그먼트 페이로드에 해당하는 프래그먼트 헤더를 생성할 수 있다.
Transmission Block Generator(C21030)는 프래그먼트를 분할하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 생성할 수 있다.
본 발명의 일 실시예에 따른 전송 블록은 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 부호화 및 전송될 수 있는 최소 데이터 단위를 의미한다. 예를 들어, 전송 블록은 비디오 데이터의 GOP와 같이 동일한 미디어 데이터로 구성되는 적어도 하나의 청크(chunk)를 포함할 수 있다.
본 발명의 일 실시예에 따른 Transmission Block Generator(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록을 먼저 생성한 이후에, 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
Transmission Block Generator(C21030)는 프래그먼트 헤더를 하나의 전송 블록으로 생성할 수 있다. 다만 이에 한정되지 않고, Transmission Block Generator(C21030)는 프래그먼트 헤더를 적어도 하나의 전송 블록으로 생성할 수도 있다.
예를 들어, Fragment Generator(C21020)가 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성하는 경우에, Transmission Block Generator(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록을 생성한 이후에 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
다만 이에 한정된 것은 아니고, 이미 멀티미디어 콘텐츠에 대하여 프래그먼트 헤더 및 프래그먼트 페이로드가 생성되어 있는 경우에는, 프래그먼트 헤더에 해당하는 전송 블록을 먼저 생성한 이후에 프레그먼트 페이로드에 해당하는 전송 블록을 생성할 수도 있다.
Transmission Block Generator(C21030)는 프래그먼트 페이로드에 해당하는 전송 블록과 프래그먼트 헤더에 해당하는 전송 블록을 각각 별개의 전송 블록으로 생성할 수 있다.
*Packetizer(C21040)는 전송 블록을 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다. 다만 이에 한정되지 않고, 심볼은 다른 장치에 의해서 생성될 수도 있다. 본 발명의 일 실시예에 따른 심볼의 길이는 동일할 수 있다. 다만, 각각의 전송 블록의 마지막 심볼은 다른 심볼에 비하여 길이가 작을 수 있다.
그리고 나서, Packetizer(C21040)는 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화 할 수 있다. 예를 들어, 패킷은 LCT 패킷일 수 있다. 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다.
패킷 헤더는 파일의 분할 생성 및 분할 소비에 대한 정보를 가지는 프래그먼트 정보를 포함할 수 있다. 파일의 분할 생성이란 멀티미디어 콘텐츠를 구성하는 파일을 독립적으로 인코딩 및 전송할 수 있는 적어도 하나의 청크 또는 전송 블록으로 분할하여 생성하는 것을 의미한다. 파일의 분할 소비란 수신된 적어도 하나의 전송 블록을 조합하여 독립적으로 디코딩 및 재생할 수 있는 적어도 하나의 프래그먼트를 복원하고, 프래그먼트 단위로 재생하는 것을 의미한다. 또한, 파일의 분할 소비란 전송 블록 단위로 재생하는 것을 포함할 수 있다.
예를 들어, 프래그먼트 정보는 패킷이 프래그먼트의 처음 데이터를 포함하고 있음을 지시하는 SI 필드, 패킷이 프래그먼트 헤더의 데이터를 포함하고 있음을 지시하는 FH 필드, 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보, 및 패킷에 포함된 패딩 바이트 수를 지시하는 PB 필드 중에서 적어도 하나를 포함할 수 있다.
그리고, 프래그먼트 정보는 해당 패킷의 Header Extension의 타입을 지시하는 HET(Header Extension Type field) 필드를 더 포함할 수 있다.
그리고, 프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드 및 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드 중에서 하나를 포함할 수 있다.
프래그먼트 정보는 Packetizer(C21040)에 의해서 생성될 수 있고, 별도의 장치에 의해서 생성될 수 있다. 이하에서는 Packetizer(C21040)가 프래그먼트 정보를 생성하는 것을 중심으로 설명하기로 한다.
Packetizer(C21040)는 생성된 심볼이 프래그먼트의 첫번째 데이터를 포함하고 있는지 식별할 수 있다.
예를 들어, Packetizer(C21040)는 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하는지를 식별할 수 있다. 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있으면, SI 필드는 ‘1’로 세팅될 수 있다. 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있지 않으면, SI 필드는 ‘0’으로 세팅될 수 있다.
Packetizer(C21040)는 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하는지 아니면 프래그먼트 헤더의 데이터를 포함하는지를 식별할 수 있다.
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하면, FH 필드는 ‘1’로 세팅될 수 있다. 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하지 않으면, FH 필드는 ‘0’으로 세팅될 수 있다.
Packetizer(C21040)는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했는지 식별할 수 있다. 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드를 포함할 수 있다.
예를 들어, 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하고 해당 전송 블록의 마지막 심볼이면, FC 필드는 ‘1’로 세팅될 수 있다. 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하지 않거나 해당 전송 블록의 마지막 심볼이 아니면, FC 필드는 ‘0’으로 세팅될 수 있다.
Packetizer(C21040)는 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다른 심볼인지 여부를 식별할 수 있다. 예를 들어, 다른 심볼은 미리 정해진 길이의 심볼일 수 있고, 다른 심볼과 길이가 다른 심볼은 다른 심볼에 비하여 길이가 짧은 심볼일 수 있다.
예를 들어, 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다르면, Packetizer(C21040)는 각각의 전송 블록의 마지막 심볼에 해당하는 패킷에 패딩 바이트들을 삽입할 수 있다. 그리고, Packetizer(C21040)는 패킹 바이트의 수를 계산할 수 있다.
그리고, PB 필드는 패딩 바이트의 수를 지시할 수 있다. 패딩 바이트는 다른 심볼과 길이가 동일하게 되도록 다른 심볼에 비하여 길이가 짧은 심볼에 추가되는 바이트이다. 또는, 패딩 바이트는 패킷에서 심볼을 제외한 나머지 부분일 수 있다.
생성된 심볼이 해당 전송 블록의 마지막 심볼이 아니거나 다른 심볼보다 길이가 다르지 않으면, PB 필드는 ‘0’으로 세팅될 수 있다.
패킷 페이로드는 적어도 하나의 심볼을 포함할 수 있다. 이하에서는, 하나의 패킷이 하나의 심볼을 포함하는 것을 중심으로 설명한다.
각각의 전송 블록의 마지막 심볼을 포함하는 패킷은 적어도 하나의 패딩 바이트를 포함할 수 있다.
Transmiter(C21050)는 전송 블록이 생성된 순서대로 적어도 하나의 패킷을 전송할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 Transmiter(C21050)는 프래그먼트 페이로드에 해당하는 전송 블록을 먼저 전송한 후에 프래그먼트 헤더에 해당하는 전송 블록을 전송할 수 있다.
다만 이에 한정되는 것은 아니고, 이미 멀티미디어 콘텐츠에 대하여 프래그먼트 헤더 및 프래그먼트 페이로드가 생성되어 있는 경우에는, 본 발명의 일 실시예에 따른 Transmiter(C21050)는 프래그먼트 헤더에 해당하는 전송 블록을 먼저 전송한 후에 프래그먼트 페이로드에 해당하는 전송 블록을 전송할 수 있다.
도 40은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성 및 송신 과정을 나타낸 흐름도이다.
도 40을 참조하면, 도 39에서 상술한 방송 신호 송신 장치가 방송 신호를 송신하는 과정이 나타나 있다.
먼저, 본 발명의 일 실시예에 따른 방송 신호 송신 장치는 Media Encoder(C21010)를 이용하여 멀티미디어 콘텐츠의 인코딩을 시작할 수 있다(CS11100). 방송 신호 송신 장치는 멀티미티어 콘텐츠를 인코딩하여 미디어 데이터를 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 미디어 데이터를 버퍼링할 수 있다(CS11200). 그리고 나서, 방송 신호 송신 장치는 버퍼링한 미디어 데이터를 기초로 프래그먼트 페이로드에 해당하는 청크(chunk)를 생성할 수 있다.
프래그먼트 페이로드에 해당하는 청크의 생성이 완료되지 않았으면, 방송 신호 송신 장치는 미디어 데이터를 계속 버퍼링한 후에 프래그먼트 페이로드에 해당하는 청크의 생성을 완료할 수 있다(CS11300).
그리고 나서, 방송 신호 송신 장치는 Fragment Generator(C21020)를 이용하여 멀티미디어 콘텐츠를 구성하는 각각의 파일을 분할하여 독립적으로 복호화 및 재생되는 데이터 단위인 적어도 하나의 프래그먼트를 생성할 수 있다(CS11400).
방송 신호 송신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성할 수 있다.
방송 신호 송신 장치는 청크를 생성할 때마다 프래그먼트 페이로드에 해당하는 데이터를 모두 청크로 생성하였는지 여부를 판단할 수 있다.
그리고 나서, 프래그먼트 페이로드에 해당하는 청크의 생성이 완료되면, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 프래그먼트 헤더를 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 Transmission Block Generator(C21030)를 이용하여 프래그먼트를 분할하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 생성할 수 있다(CS11500).
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드를 생성한 이후에 프래그먼트 헤더를 생성하는 경우에, 방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 전송 블록을 생성한 이후에 프래그먼트 헤더에 해당하는 전송 블록을 생성할 수 있다.
방송 신호 송신 장치는 프래그먼트 페이로드에 해당하는 전송 블록과 프래그먼트 헤더에 해당하는 전송 블록을 각각 별개의 전송 블록으로 생성할 수 있다.
그리고 나서, 방송 신호 송신 장치는 Packetizer(C21040)를 이용하여 전송 블록을 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다(CS11600, CS11700).
방송 신호 송신 장치가 패킷을 생성하는 과정에 대하여 도 40에서 구체적으로 설명하므로, 여기에서는 생략하기로 한다.
그리고 나서, 방송 신호 송신 장치는 Transmiter(C21050)를 이용하여 전송 블록이 생성된 순서대로 적어도 하나의 패킷을 전송할 수 있다.
도 41은 본 발명의 일 실시예에 따른 방송 신호 송신 장치가 Packetizer를 이용하여 패킷을 생성하는 과정을 구체적으로 나타낸 흐름도이다.
방송 신호 송신 장치는 생성된 심볼이 프래그먼트의 첫번째 데이터를 포함하고 있는지 식별할 수 있다(CS11710).
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있으면, SI 필드는 ‘1’로 세팅될 수 있다(CS11712). 생성된 심볼이 프래그먼트 페이로드의 첫 번째 데이터를 포함하고 있지 않으면, SI 필드는 ‘0’으로 세팅될 수 있다(CS11714).
그리고 나서, 방송 신호 송신 장치는 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하는지 아니면 프래그먼트 헤더의 데이터를 포함하는지를 식별할 수 있다(CS11720).
예를 들어, 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하면, FH 필드는 ‘1’로 세팅될 수 있다(CS11722). 생성된 심볼이 프래그먼트 페이로드의 데이터를 포함하지 않으면, FH 필드는 ‘0’으로 세팅될 수 있다(CS11724).
그리고 나서, 방송 신호 송신 장치는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했는지 식별할 수 있다(CS11730).
예를 들어, 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하고 해당 전송 블록의 마지막 심볼이면, FC 필드는 ‘1’로 세팅될 수 있다(CS11732). 생성된 심볼이 프래그먼트 헤더의 데이터를 포함하지 않거나 해당 전송 블록의 마지막 심볼이 아니면, FC 필드는 ‘0’으로 세팅될 수 있다(CS11734).
그리고 나서, 방송 신호 송신 장치는 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다른 심볼인지 여부를 식별할 수 있다(CS11740).
예를 들어, 생성된 심볼이 해당 전송 블록의 마지막 심볼이고 다른 심볼보다 길이가 다르면, 방송 신호 송신 장치는 각각의 전송 블록의 마지막 심볼에 해당하는 패킷에 패딩 바이트들을 삽입할 수 있다. 그리고, 방송 신호 송신 장치는 패딩 바이트의 수를 계산할 수 있다(CS11742). 그리고, PB 필드는 패딩 바이트의 수를 지시할 수 있다.
생성된 심볼이 해당 전송 블록의 마지막 심볼이 아니거나 다른 심볼보다 길이가 다르지 않으면, PB 필드는 ‘0’으로 세팅될 수 있다(CS11744).
패킷 페이로드는 적어도 하나의 심볼을 포함할 수 있다.
도 42는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 생성/송신 과정을 나타낸 흐름도이다.
도 42를 참조하면, 도 42에 도시된 것 중에서 도 40 및 도 41에서 설명된 것은 내용이 실질적으로 동일하므로, 구체적인 설명은 생략한다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 FC 필드를 대신하여 FHL 필드를 사용할 수 있다. 예를 들어, 상술한 프래그먼트 정보는 각각의 프래그먼트에 해당하는 전송 블록의 생성을 완료했음을 지시하는 프래그먼트 완료 정보를 포함할 수 있다. 그리고, 프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 송신 장치는 프래그먼트 헤더의 데이터를 포함하는 전송 블록에 해당하는 심볼의 개수를 계산하여 FHL 필드에 기록할 수 있다(CS12724).
FHL 필드는 프래그먼트 헤더 부분에 해당하는 총 심볼 수로서 프래그먼트 헤더의 길이를 나타낸다. 방송 신호 수신 장치가 프래그먼트 헤더의 수신이 완료됨을 식별할 수 있도록, FHL 필드는 상술한 FC 필드를 대신하여 프래그먼트 정보에 포함될 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FHL 필드에 기록된 개수 만큼의 프래그먼트 헤더를 포함하는 패킷의 전송 횟수를 체크함으로써 프래그먼트 헤더의 수신이 완료되었는지를 식별할 수 있다.
도 43은 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 43을 참조하면, 본 발명의 일 실시예에 따른 방송망을 사용하여 멀티미디어 콘텐츠를 포함하는 방송 신호를 전송하는 방송 신호 수신 장치는 수신부(미도시), 시그널링 디코더(C22005), Transmission Block Regenerator(C22030), 및/또는 Media Decoder(C22060)를 포함할 수 있다.
시그널링 디코더(C22005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, Transmission Block Regenerator(C22030)는 방송 신호를 조합하여, 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다.
Media Decoder(C22060)는 전송 블록을 복호화할 수 있다.
보다 구체적인 내용은 이하의 도 44에서 설명하기로 한다.
도 44는 본 발명의 일 실시예에 따른 파일기반 멀티미디어 콘텐츠 수신기의 구조를 나타낸 도면이다.
도 44를 참조하면, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 수신부(미도시), 시그널링 디코더(미도시), Packet Filter(C22010), Packet Depacketizer(C22020), Transmission Block Regenerator(C22030), Fragment Regenerator(C22040), Fragment Parser(C22050), Media Decoder(C22060), 및/또는 Media Renderer(C22070)를 포함할 수 있다.
수신부(미도시)는 방송 신호를 수신할 수 있다. 방송 신호는 적어도 하나의 패킷을 포함할 수 있다. 각각의 패킷은 프래그먼트 정보를 포함하는 패킷 헤더 및 적어도 하나의 심볼을 포함하는 패킷 페이로드를 포함할 수 있다.
시그널링 디코더(C22005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 실시간으로 전송할지를 지시하는 정보이다.
Packet Filter(C22010)는 임의의 지점에서 수신된 적어도 하나의 패킷으로부터 프래그먼트의 시작 지점을 식별하고, 프래그먼트의 시작 지점부터 패킷 처리를 시작할 수 있도록 한다.
Packet Filter(C22010)는 패킷에 포함된 프래그먼트 정보의 SI 필드를 기초로 프래그먼트의 시작 지점을 식별할 수 있다. Packet Filter(C22010)는 SI 필드가 해당 패킷이 프래그먼트의 시작 부분을 포함하고 있음을 지시하면, 해당 패킷 이전의 패킷들을 버리고 해당 패킷부터 Packet Depacketizer(C22020)로 전달할 수 있다.
예를 들어, Packet Filter(C22010)는 ‘1’로 설정된 패킷 이전의 패킷들은 버리고 ‘1’로 설정된 패킷 이후의 패킷들을 필터링 할 수 있다.
Packet Depacketizer(C22020)는 적어도 하나의 패킷을 depacketize 하여 패킷 헤더에 포함된 프래그먼트 정보 및 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다.
Transmission Block Regenerator(C22030)는 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다. 복원된 전송 블록은 프래그먼트 헤더에 해당하는 데이터를 포함할 수 있고, 프래그먼트 페이로드에 해당하는 데이터를 포함할 수 있다.
Fragment Regenerator(C22040)는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원할 수 있다.
Fragment Regenerator(C22040)는 프래그먼트 정보를 기초로 전송 블록을 조합하여 프래그먼트 페이로드 및 프래그먼트 헤더를 복원할 수 있다. Fragment Regenerator(C22040)는 수신되는 패킷의 순서에 따라서 프래그먼트 페이로드를 먼저 복원한 이후에 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있다고 지시하면, Fragment Regenerator(C22040)는 프래그먼트 헤더에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있지 않다고 지시하면, Fragment Regenerator(C22040)는 프래그먼트 페이로드에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다.
예를 들어, FH 필드의 값이 ‘0’인 경우, Fragment Regenerator(C22040)는 프래그먼트 페이로드로 판단하고 프래그먼트 페이로드를 복원할 수 있다. FH 필드의 값이 ‘1’인 경우, Fragment Regenerator(C22040)는 프래그먼트 헤더로 판단하고 프래그먼트 헤더를 복원할 수 있다.
그리고 나서, Fragment Regenerator(C22040)는 각각의 프래그먼트에 해당하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 종료하면, 복원한 프래그먼트 페이로드 및 프래그먼트 헤더를 조합하여 프래그먼트를 복원할 수 있다.
Fragment Regenerator(C22040)가 각각의 프래그먼트에 해당하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 종료하였는지 확인하는 방법은 두 가지가 있을 수 있다.
첫 번째 방법은 프래그먼트 정보에 포함된 FC 필드를 이용하는 방법이다.
프래그먼트 완료 정보는 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하는 FC 필드를 포함할 수 있다. FC필드가 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, Fragment Regenerator(C22040)는 각각의 프래그먼트를 구성하는 프래그먼트 해더 및 프래그먼트 페이로드의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 상기 프래그먼트 페이로드의 복원을 완료할 수 있다.
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FC 필드는 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있다고 지시할 수 있다.
따라서, FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, Fragment Regenerator(C22040)는 프래그먼트 헤더의 수신이 완료되었음을 인식하고 프래그먼트 헤더를 복원하는 과정을 종료할 수 있다. 그리고 나서, Fragment Regenerator(C22040)는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 부분의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
예를 들어, FC 필드의 값이 ‘1’ 이 아닌 경우, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다. 그리고, FC 필드의 값이 ‘1’ 인 경우, Fragment Regenerator(C22040)는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다.
두 번째 방법은 프래그먼트 정보에 포함된 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다.
Fragment Regenerator(C22040) 프래그먼트 헤더의 데이터를 포함하는 패킷의 수를 카운팅할 수 있다.
프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 더 포함하고, FHL 필드에 기록된 값과 프래그먼트 헤더의 데이터를 포함하는 패킷의 수가 동일하면, Fragment Regenerator(C22040) 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료할 수 있다.
Fragment Regenerator(C22040)가 FHL 필드를 이용하는 것에 대한 구체적인 설명은 도 46에서 하기로 한다.
Fragment Parser(C22050)는 복원된 프래그먼트를 파싱할 수 있다. 복원된 프래그먼트는 프래그먼트 헤더가 앞부분에 위치하고 프래그먼트 페이로드가 뒷부분에 위치하므로, Fragment Parser(C22050)는 프래그먼트 헤더를 먼저 파싱한 이후에 프래그먼트 페이로드를 파싱할 수 있다.
Fragment Parser(C22050)는 복원된 프래그먼트를 파싱하여 적어도 하나의 Media access unit을 생성할 수 있다. 예를 들어, Media access unit은 적어도 하나의 미디어 데이터를 포함할 수 있다. Media access unit은 미리 정해진 크기의 미디어 데이터의 단위일 수 있다.
Media Decoder(C22060)는 프래그먼트를 복호화할 수 있다. Media Decoder(C22060)는 적어도 하나의 Media access unit을 복호화하여 Media Data를 생성할 수 있다.
Media Renderer(C22070) 복호화된 Media Data를 렌더링하여 presentation 할 수 있다.
도 45는 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 44에서 설명한 내용은 본 발명의 일 실시예에 따른 방송 신호 수신 방법에 동일하게 적용될 수 있다.
도 45를 참조하면, 본 발명의 일 실시예에 따른 방송 신호 수신 방법은 적어도 하나의 파일을 포함하는 멀티미디어 콘텐츠를 수신하는 방송 신호 수신 방법에 있어서, 적어도 하나의 패킷으로 분할된 상기 멀티미디어 콘텐츠를 수신하고, 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원하고, 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원하고 및/또는 프래그먼트를 복호화하는 것을 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 수신부(미도시)를 이용하여 방송 신호를 수신할 수 있다(CS21010). 방송 신호는 적어도 하나의 패킷을 포함할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Packet Filter(22010)를 이용하여 임의의 지점에서 수신된 적어도 하나의 패킷으로부터 프래그먼트의 시작 지점을 식별할 수 있다(CS21020).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Packet Depacketizer(C22020)를 이용하여 적어도 하나의 패킷을 depacketize 하여 패킷 헤더에 포함된 프래그먼트 정보 및 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다(CS21030).
그리고 나서, 방송 신호 수신 장치는 Transmission Block Regenerator(C22030)를 이용하여 패킷을 조합하여 독립적으로 부호화 및 전송되는 데이터 단위인 적어도 하나의 전송 블록을 복원할 수 있다(CS21040). 복원된 전송 블록은 프래그먼트 헤더에 해당하는 데이터를 포함할 수 있고, 프래그먼트 페이로드에 해당하는 데이터를 포함할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Fragment Regenerator(C22040)를 이용하여 프래그먼트 정보를 기초로 복원된 전송 블록이 프래그먼트 헤더에 해당하는 전송 블록인지 아니면 프래그먼트 페이로드에 해당하는 전송 블록인지를 식별할 수 있다(CS21050).
그리고 나서, 방송 신호 수신 장치는 복원된 전송 블록을 조합하여 프래그먼트 페이로드 및 프래그먼트 헤더를 복원할 수 있다.
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 프래그먼트 페이로드에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다(CS21060).
FH 필드가 패킷이 프래그먼트 헤더의 데이터를 포함하고 있다고 지시하면, 방송 신호 수신 장치는 프래그먼트 헤더에 해당하는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다(CS21070).
방송 신호 수신 장치는 프래그먼트 정보에 포함된 FC 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다(CS21080).
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
FC 필드가 해당 패킷이 프래그먼트의 마지막 데이터를 포함하고 있음을 지시하면, 방송 신호 수신 장치는 각각의 프래그먼트의 수신이 완료되었다고 판단할 수 있다.
예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FC 필드는 해당 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있다고 지시할 수 있다.
따라서, FC필드가 패킷이 프래그먼트 헤더의 마지막 데이터를 포함하고 있음을 지시하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 해더 및 프래그먼트 페이로드의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 상기 프래그먼트 페이로드의 복원을 완료할 수 있다.
FC 필드가 해당 패킷이 프래그먼트 헤더의 마지막 부분의 데이터를 포함하고 있지 않다고 지시하면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
그리고 나서, 방송 신호 수신 장치는 Fragment Regenerator(C22040)를 이용하여 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료한 이후에 프래그먼트 헤더 및 프래그먼트 페이로드를 조합하여 독립적으로 복호화 및 재생되는 데이터 단위인 프래그먼트를 복원할 수 있다(CS21090).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Fragment Parser(C22050)를 이용하여 복원된 프래그먼트를 파싱할 수 있다(CS21090). 방송 신호 수신 장치는 복원된 프래그먼트를 파싱하여 적어도 하나의 Media access unit을 생성할 수 있다. 다만 이에 한정된 것은 아니고, 방송 신호 수신 장치는 전송 블록을 파싱하여 적어도 하나의 Media access unit을 생성할 수 있다.
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Media Decoder(C22060)를 이용하여 적어도 하나의 Media access unit을 복호화하여 Media Data를 생성할 수 있다(CS21100).
그리고 나서, 본 발명의 일 실시예에 따른 방송 신호 수신 장치는 Media Renderer(C22070)를 이용하여 복호화된 Media Data를 렌더링하여 presentation 할 수 있다(CS21110).
도 46은 본 발명의 일 실시예에 따른 파일 기반 멀티미디어 콘텐츠의 실시간 수신/소비 과정을 나타낸 도면이다.
도 46을 참조하면, 도 46에 도시된 것 중에서 도 45에서 설명된 것은 내용이 실질적으로 동일하므로, 구체적인 설명은 생략한다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 헤더 및 프래그먼트 페이로드의 수신이 완료되었는지를 판단할 수 있다.
본 발명의 일 실시예에 따른 방송 신호 수신 장치는, Fragment Regenerator(C22040)를 이용하여, 프래그먼트 정보를 기초로 복원된 전송 블록이 프래그먼트 헤더에 해당하는 전송 블록인지 아니면 프래그먼트 페이로드에 해당하는 전송 블록인지를 식별할 수 있다(CS22050).
그리고 나서, 방송 신호 수신 장치는 복원된 전송 블록을 조합하여 각각 프래그먼트 페이로드 및 프래그먼트 헤더를 각각 복원할 수 있다.
FH 필드가 해당 패킷이 프래그먼트 페이로드에 해당하는 데이터를 포함하고 있다고 지시하면, 방송 신호 수신 장치는 적어도 하나의 전송 블록을 조합하여 프래그먼트 페이로드를 복원할 수 있다(CS22060).
FH 필드가 해당 패킷이 프래그먼트 헤더에 해당하는 데이터를 포함하고 있다고 지시하면, Fragment Regenerator(C22040)는 적어도 하나의 전송 블록을 조합하여 프래그먼트 헤더를 복원할 수 있다(CS22070).
그리고 나서, 방송 신호 수신 장치가 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원을 완료하면, 방송 신호 수신 장치는 복원한 프래그먼트 페이로드 및 프래그먼트 헤더를 조합하여 프래그먼트를 복원할 수 있다.
방송 신호 수신 장치는 프래그먼트 정보에 포함된 FHL 필드를 기초로 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 복원이 완료되었는지를 확인할 수 있다.
방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 패킷의 수(N)를 카운팅 할 수 있다(CS22080). 예를 들어, 방송 신호 수신 장치는 프래그먼트 헤더의 데이터를 포함하는 패킷의 수를 카운팅할 수 있다. 하나의 패킷은 적어도 하나의 심볼을 포함할 수 있는데, 이하에서는 하나의 패킷이 하나의 심볼을 포함하는 것을 중심으로 설명한다.
FHL 필드는 프래그먼트를 구성하는 심볼의 수를 지시할 수 있다. FHL 필드에 기록된 심볼의 수에 해당하는 수의 패킷이 수신되지 않았으면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다. 예를 들어, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되지 않으면, 방송 신호 수신 장치는 전송 블록을 복원하는 과정을 반복할 수 있다.
프래그먼트 완료 정보는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시하는 FHL 필드를 더 포함한다.
FHL 필드에 기록된 값과 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단하고 프래그먼트 헤더 및 프래그먼트 페이로드의 복원을 완료할 수 있다(CS22090).
예를 들어, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드를 모두 포함하는 각각의 프래그먼트에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수에 해당하는 수의 패킷이 수신되면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
예를 들어, FHL 필드는 프래그먼트 헤더 및 프래그먼트 페이로드 중에서 나중에 전송되는 것의 총 심볼의 수를 지시할 수 있다.
각각의 프래그먼트를 구성하는 프래그먼트 페이로드가 먼저 수신된 이후에 프래그먼트 헤더가 수신되면, FHL 필드는 프래그먼트 헤더에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수와 수신된 프래그먼트 헤더에 해당하는 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
또한, 각각의 프래그먼트를 구성하는 프래그먼트 헤더가 먼저 수신된 이후에 프래그먼트 페이로드가 수신되면, FHL 필드는 프래그먼트 페이로드에 해당하는 총 심볼의 수를 지시할 수 있다. 이 때, FHL 필드에 기록된 심볼의 수와 수신된 프래그먼트 페이로드에 해당하는 패킷의 수가 동일하면, 방송 신호 수신 장치는 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되었다고 판단할 수 있다.
그리고 나서, 각각의 프래그먼트를 구성하는 프래그먼트 페이로드 및 프래그먼트 헤더의 수신이 완료되면, 방송 신호 수신 장치는 프래그먼트 헤더와 프래그먼트 페이로드를 조합하여 프래그먼트를 복원할 수 있다(CS22100).
지금까지는 본 발명의 일 실시예에 따른 가변적인 크기의 데이터 단위인 전송 블록을 사용하여 방송망으로 멀티미디어 콘텐츠를 전송 블록 단위로 실시간 전송 및 수신하는 실시예에 대하여 설명하였다.
이하에서는, 본 발명의 다른 실시예에 따른 오브젝트 내부 구조체의 경계 정보 및 타입 정보를 사용하여 방송망으로 멀티미디어 콘텐츠를 가변적인 크기의 오브젝트 내부 구조체 단위로 실시간 전송 및 수신하는 실시예를 설명한다.
다만, 본 발명의 다른 실시예의 구성 중에서 본 발명의 일 실시예의 구성과 동일한 명칭은 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 생략하기로 한다. 또한, 도 1 내지 도46에서 설명된 내용들은 이하 도 47 내지 도 60에도 적용될 수 있다.
<전송 오브젝트 타입의 식별 방안-1>
도 47은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패캣은 LCT 패킷일 수 있고, LCT 패킷은 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Sender Current Time present flag field(T), Expected Residual Time present flag field(R), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, FEC Payload ID field, 및/또는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 패킷은 메타 데이터를 포함하는 패킷 정보를 포함할 수 있다. 패킷 정보는 MPEG-DASH 콘텐츠를 전송 시 현재 패킷이 전송하고 있는 오브젝트의 유형을 지시하는 오브젝트 타입 정보를 포함할 수 있다. 오브젝트 타입 정보는 현재 패킷 또는 동일 TOI가 부여된 패킷들이 전송하고 있는 오브젝트의 타입을 지시할 수 있다.
예를 들어, 오브젝트 타입 정보는 LCT 패킷의 시작 지점에서 12번째 비트에 위치하는 두 개의 Reserved 비트를 활용하여 오브젝트 타입을 식별할 수 있다.
MPEG-DASH 콘텐츠를 LCT 패킷으로 전송할 경우, 오브젝트 타입은 Regular File, Initialization Segment, Media Segment, 및/또는 Self-Initializing Segment를 포함할 수 있다.
예를 들어, 오브젝트 타입 정보의 값이 “00”이면 오브젝트 타입은 “Regular File”을 지시하고, 오브젝트 타입 정보의 값이 “01”이면 오브젝트 타입은 “Initialization Segment”를 지시하고, 오브젝트 타입 정보의 값이 “10”이면 오브젝트 타입은 “Media Segment”를 지시하고, 오브젝트 타입 정보의 값이 “11”이면 오브젝트 타입은 “Self-Initializing Segment”를 지시할 수 있다.
각각의 오브젝트 타입 정보가 지시하는 오브젝트의 타입은 전송하고 있는 파일 콘텐츠에 따라서 다를 수 있고, 오브젝트 타입 정보의 값을 정의하는 scheme은 현재 전송중인 세션 또는 out-of-band로 별도의 시그널링 정보 형태로 전송될 수 있다.
Regular File은 멀티미디어 콘텐츠를 구성하는 일반적인 파일과 같은 오브젝트 형태의 데이터 단위이다.
Initialization Segment는 Representation에 접근하기 위한 초기화 정보를 포함하는 오브젝트 형태의 데이터 단위이다. Initialization Segment는 파일 타입 박스(ftyp) 및 무비 박스(moov)를 포함할 수 있다. 파일 타입 박스(ftyp)는 파일 타입, 파일 버전, 및 호환성 정보를 포함할 수 있다. 무비 박스(moov)는 미디어 컨텐츠를 서술하는 메타데이터를 포함할 수 있다.
Media Segment는 스트리밍 서비스를 지원하기 위해 방송 신호 수신 장치로 전송하고자 하는 품질별, 시간별로 분리한 미디어 관련 오브젝트 형태의 데이터 단위를 뜻한다. Media Segment는 세그먼트 타입 박스(styp), 세그먼트 인덱스 박스(sidx), 무비 프래그먼트 박스(moof), 및 미디어 데이터 박스(mdat)를 포함할 수 있다. 세그먼트 타입 박스(styp)는 세그먼트의 유형 정보를 포함할 수 있다. 세그먼트 인덱스 박스(sidx)는 해당 미디어 세그먼트의 내부에 존재하는 미디어 데이터의 최초 프레젠테이션 시간 및 데이터 오프셋(offset)과 SAP(Stream Access Points) 정보 등을 제공할 수 있다. 무비 프래그먼트 박스(moof)는 미디어 데이터 박스(mdat)에 대한 메타 데이터를 포함할 수 있다. 미디어 데이터 박스(mdat)는 해당 미디어 구성 요소(비디오 및 오디오 등)에 대한 실제 미디어 데이터를 포함할 수 있다.
Self-Initializing Segment는 Initialization Segment의 정보 및 Media Segment의 정보를 모두 포함하는 오브젝트 형태의 데이터 단위를 뜻한다.
<전송 오브젝트 타입의 식별 방안-2>
도 48은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
상술 한 방법에 더하여, 오브젝트 타입 정보는 LCT Header Extension을 이용하여 현재 패킷이 전송하고 있는 오브젝트의 타입을 식별할 수 있다. LCT Header Extension을 이용하는 오브젝트 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오브젝트 타입 정보는 Header Extension Type(HET) field, Type field, 및/또는 Reserved field를 포함할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 Header Extension의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 Header Extension의 타입을 식별할 수 있고, 이 경우 Header Extension은 32 비트 고정 길이를 가질 수 있다.
Type 필드는 현재 LCT 패킷 또는 동일 TOI가 부여된 LCT 패킷들이 전송하고 있는 오브젝트의 타입을 지시할 수 있다. 이하에서는 Type 필드를 오브젝트 타입 정보로 표현할 수 있다. MPEG-DASH 콘텐츠를 LCT 패킷으로 전송할 경우, 오브젝트 타입 정보의 값에 따라서 오브젝트 타입은 Regular File, Initialization Segment, Media Segment, 및 Self-Initializing Segment를 포함할 수 있다.
예를 들면, 오브젝트 타입 정보의 값이 “0x00”이면 오브젝트 타입은 “Regular File”을 지시하고, 오브젝트 타입 정보의 값이 “0x01”이면 오브젝트 타입은 “Initialization Segment”를 지시하고, 오브젝트 타입 정보의 값이 “0x10”이면 오브젝트 타입은 “Media Segment”를 지시하고, 오브젝트 타입 정보의 값이 “0x11”이면 오브젝트 타입은 “Self-Initializing Segment”를 지시할 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 상술한 바와 동일하므로 생략하기로 한다.
도 49는 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 오브젝트의 타입에 따라서 각각 다른 절차를 수행할 수 있다. 즉, 방송 신호 송신 장치가 LCT 패킷에 오브젝트 타입 정보를 명시하여 전송하면, 방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 수신한 오브젝트를 식별하고, 오브젝트의 타입에 따라서 적절한 동작을 수행할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 Signaling Decoder(C32005), Parser(C32050), 및/또는 Decoder(C32060)를 포함할 수 있다. 다만, 방송 신호 수신 장치의 구성요소는 이에 한정되지 않고 상술한 구성요소를 더 포함할 수 있다.
Signaling Decoder(C32005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 정보이다.
Parser(C32050)는 오브젝트 타입 정보를 기초로 적어도 하나의 오브젝트를 파싱하고 Representation에 접근하기 위한 초기화 정보 및 적어도 하나의 Access Unit을 생성할 수 있다. 이를 위하여, Parser(C32050)는 Initialization Segment Parser(C32051), Media Segment Parser(C32052), 및/또는 Self-Initializing Segment Parser(C32053)를 포함 할 수 있다. Initialization Segment Parser(C32051), Media Segment Parser(C32052), 및 Self-Initializing Segment Parser(C32053)에 대한 구체적인 설명은 다음 도면에서 설명하기로 한다.
Decoder(C32060)는 초기화 정보를 기초로 해당 Decoder(C32060)를 초기화할 수 있다. 또한, Decoder(C32060)는 적어도 하나의 오브젝트를 복호화할 수 있다. 이때, Decoder(C32060)는 오브젝트에 대한 정보를 적어도 하나의 Access Unit의 형태로 전달받고, Decoder(C32060)는 적어도 하나의 Access Unit을 복호화하여 Media Data를 생성할 수 있다.
도 50은 본 발명의 다른 실시예에 따른 오브젝트 타입 정보를 이용하는 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 Packet Filter(C32010), Segment Buffer(C32030), Parser(C32050), Decoding Buffer(C32059), 및/또는 Decoder(C32060)를 포함할 수 있다.
Packet Filter(C32010)는 수신된 적어도 하나의 패킷으로부터 오브젝트 타입 정보를 식별하고, 오브젝트 타입 정보를 기초로 각각의 오브젝트의 타입에 해당하는 절차를 수행할 수 있도록 분류할 수 있다.
예를 들어, 오브젝트 타입 정보가 “1”이면 Packet Filter(C32010)는 LCT 패킷의 데이터를 Segment Buffer(C32031)를 통하여 Initialization Segment Parser(C32051)로 전달하고, 오브젝트 타입 정보가 “2”이면 Packet Filter(C32010)는 LCT 패킷의 데이터를 Segment Buffer(C32032)를 통하여 Media Segment Parser(C32052)로 전달하고, 전송 오브젝트 타입 정보가 “3”이면 Packet Filter(C32010)는 LCT 패킷의 데이터를 Segment Buffer(C32033)를 통하여 Self-Initializing Segment Parser(C32053)로 전달할 수 있다.
Segment Buffer(C32030)는 Packet Filter로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. Segment Buffer(C32030)는 하나의 구성요소로 존재할 수 있고, 여러 개의 Segment Buffer(C32031, C32032, C32033)로 존재할 수도 있다.
Parser(C32050)는 오브젝트 타입 정보를 기초로 적어도 하나의 오브젝트를 파싱하고 Representation에 접근하기 위한 초기화 정보 및 적어도 하나의 Access Unit을 생성할 수 있다. 이를 위하여, Parser(C32050)는 Initialization Segment Parser(C32051), Media Segment Parser(C32052), 및/또는 Self-Initializing Segment Parser(C32053)를 포함 할 수 있다.
Initialization Segment Parser(C32051)는 Segment Buffer(C32031)에 저장된 Initialization Segment를 파싱하고, Representation에 접근하기 위한 초기화 정보를 생성할 수 있다. 또한, Initialization Segment Parser(C32051)는 Self-Initializing Segment Parser(C32053)로부터 Initialization Segment를 전달받고, Representation에 접근하기 위한 초기화 정보를 생성할 수 있다.
Media Segment Parser(C32052)는 Segment Buffer(C32032)에 저장된 Media Segment를 파싱하고, Media stream의 정보, 적어도 하나의 Access Unit, 및 Presentation time 또는 Index와 같은 해당 세그먼트 안의 Media Presentation에 접근 방법에 대한 정보를 생성할 수 있다. 또한, Media Segment Parser(C32052)는 Self-Initializing Segment Parser(C32053)로부터 Media Segment를 전달받고 Media stream의 정보, 적어도 하나의 Access Unit, 및 Presentation time 또는 Index와 같은 해당 세그먼트 안의 Media Presentation에 접근 방법에 대한 정보를 생성할 수 있다.
Self-Initializing Segment Parser(C32053)는 Segment Buffer(C32033)에 저장된 Self-Initializing Segment를 파싱하고, Initialization Segment 및 Media Segment를 생성할 수 있다.
Decoding Buffer(C32059)는 Parser(C32050) 또는 Media Segment Parser(C32052)로부터 적어도 하나의 Access Unit을 전달받고 미리 정해진 시간 동안 저장할 수 있다.
Decoder(C32060)는 초기화 정보를 기초로 해당 Decoder(C32060)를 초기화할 수 있다. 또한, Decoder(C32060)는 적어도 하나의 오브젝트를 복호화할 수 있다. 이때, Decoder(C32060)는 오브젝트에 대한 정보를 적어도 하나의 Access Unit의 형태로 전달받고, Decoder(C32060)는 적어도 하나의 Access Unit을 복호화하여 Media Data를 생성할 수 있다.
상술한 바와 같이, MPEG-DASH 콘텐츠를 전송할 때, 본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 현재 패킷에서 전송하고 있는 오브젝트의 타입을 지시하는 오브젝트 타입 정보를 전송할 수 있다. 또한, 방송 신호 수신 장치는 오브젝트 타입 정보를 기초로 수신한 패킷에서 오브젝트의 유형을 식별하고, 각 오브젝트에 적절한 프로세스를 수행할 수 있다.
<오브젝트 내부 구조체의 타입>
도 51은 본 발명의 다른 실시예에 따른 타입 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
방송 신호 송신 장치가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 전송할 수 있다. 따라서, 방송 신호 수신 장치가 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 방송 신호 수신 장치는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다. 본 발명의 다른 실시예에 따르면, 오브젝트 내부 구조체를 식별하기 위하여 타입 정보(Type information) 및 경계 정보(Boundary Information)가 이용될 수 있다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 타입 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 타입 정보를 포함할 수 있다. 타입 정보는 현재 패킷이 전송하고 있는 오브젝트의 내부 구조체의 타입을 지시할 수 있다. 타입 정보는 오브젝트 타입 정보와 구별을 위하여 내부 구조체 타입 정보로 부를 수 있다. 타입 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
타입 정보는 Header Extension Type field(HET), Internal Unit Type field, 및/또는 Reserved field를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
Internal Structure Type field는 LCT 패킷이 전송하고 있는 오브젝트 내부 구조체의 타입을 지시할 수 있다.
오브젝트는 MPEG-DASH의 세그먼트에 해당할 수 있는데, 오브젝트 내부 구조체는 오브젝트를 구성하는 하위 구성요소에 해당한다. 예를 들어, 오브젝트 내부 구조체의 타입은 프래그먼트, 청크(chunk) 또는 GOP, Access Unit, 및 NAL Unit을 포함할 수 있다. 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
프래그먼트란 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 또는, 프래그먼트는 한 쌍의 무비 프래그먼트 박스(moof) 및 미디어 데이터 컨테이너 박스(mdat)를 포함하는 데이터 단위를 의미할 수 있다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment)에 해당할 수 있고, MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 Chunk 또는 적어도 하나의 GOP를 포함할 수 있다.
Chunk는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
GOP는 비디오 코딩에서 사용되는 코딩을 수행하는 기본 단위이며, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 가변적인 크기의 데이터 단위이다. 본 발명의 다른 실시예에 따르면, 미디어 데이터를 독립적으로 의미 있는 데이터 단위인 오브젝트 내부 구조체의 단위로 전송하므로, GOP은 Open GOP 및 Closed GOP를 포함할 수 있다.
Open GOP에서, 하나의 GOP 내에 있는 B-프레임은 인접한 GOP의 I-프레임 또는 P-프레임을 참조할 수 있다. 따라서, Open GOP은 코딩 효율을 상당히 높일 수 있다. Closed GOP에서, B-프레임 또는 P-프레임은 해당 GOP 내에 있는 프레임 만을 참조하고, 해당 GOP외에 있는 프레임들은 참조하지 않는다.
Access Unit은 부호화된 비디오 또는 오디오의 기본 데이터 단위를 의미하고, 하나의 영상 프레임 또는 오디오 프레임을 포함할 수 있다.
NAL Unit은 네트워크 기기와의 통신을 고려하여 압축된 슬라이스에 대한 요약 정보 등이 포함되어 캡슐화된 압축된 비디오 스트림이다. 예를 들어, NAL Unit 슬라이스, 파라미터 세트, 및 SEI 등의 데이터를 바이트 단위로 패킷화한 데이터 단위일 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하에서는, 설명의 편의를 위하여 Internal Structure Type field를 타입 정보로 표현할 수 있다.
<오브젝트 내부 구조체 경계>
도 52는 본 발명의 다른 실시예에 따른 경계 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체를 식별하기 위한 경계 정보에 대하여 구체적으로 설명한다.
MPEG-DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 경계 정보를 포함할 수 있다. 경계 정보는 현재 패킷이 전송하고 있는 오브젝트 내부 구조체의 경계를 지시할 수 있다. 경계 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
경계 정보는 Header Extension Type field(HET), Start Flag field(SF), Reserved field, 및/또는 Offset field를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
Start Flag field(SF)는 LCT 패킷이 오브젝트 내부 구조체의 시작 지점을 포함하고 있음을 지시할 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
Offset field는 LCT 패킷 내에서 오브젝트 내부 구조체의 시작 지점의 위치를 지시하는 위치 정보를 포함할 수 있다. 위치 정보는 LCT 패킷의 페이로드 시작 지점부터 오브젝트 내부 구조체의 시작 지점까지의 바이트(byte) 거리를 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체의 단위로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
예를 들어, 방송 신호 수신 장치는 경계 정보에서 표현된 오브젝트 내부 구조체의 시작과 끝 지점에 해당하는 패킷 또는 그 사이에서 전송되는 적어도 하나의 패킷에 포함된 타입 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다.
그 결과, 방송 신호 수신 장치는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 빠르게 식별할 수 있고 실시간 재생할 수 있다.
<전송 오브젝트와 시그널링 정보의 매핑>
도 53은 본 발명의 다른 실시예에 따른 매핑 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 타입 정보 및 경계 정보 외에도, 매핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
DASH 콘텐츠를 전송 시, 패킷 정보는 LCT Header Extension을 이용하여 매핑 정보를 포함할 수 있다. 매핑 정보는 현재 패킷이 전송하고 있는 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 Transport Session Identifier(TSI) 및 Transport Object Identifier(TOI) 중에서 적어도 하나에 매핑시키는 정보이다. 매핑 정보는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
본 발명의 일 실시예에 따른 매핑 정보는 Header Extension Type field(HET), Header Extension Length field(HEL), 및 Uniform Resource Locator field(URL)를 포함할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT Header Extension의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT Header Extension의 전체 길이를 32-bit word 단위로 나타낸다.
URL 필드는 가변 길이일 수 있고, 현재 전송중인 세션, 오브젝트, 및 오브젝트 내부 구조체의 인터넷 상의 고유 주소를 포함할 수 있다.
이하에서는, 설명의 편의상 URL 필드를 매핑 정보로 표현할 수 있다.
매핑 정보는 시그널링 정보의 URL을 지시할 수 있다. 또한, 매핑 정보는 세션, 오브젝트, 또는 오브젝트 내부 구조체의 고유한 주소뿐만 아니라, 시그널링 정보에서 할당된 식별자를 포함할 수 있다. 식별자는 Period ID, Adaptation Set ID, representation ID, 및 component ID를 포함할 수 있다. 따라서, MPEG-DASH 콘텐츠의 경우, 매핑 정보는 세그먼트 URL, representation ID, component ID, Adaptation Set ID, 및 Period ID 등을 포함할 수 있다.
보다 완벽한 매핑을 위하여, 본 발명의 다른 실시예에 따른 시그널링 정보는 식별자 또는 오브젝트의 URL을 TOI 또는 TSI에 각각 매핑하는 매핑 정보를 더 포함할 수 있다. 즉, 시그널링 정보는 현재 전송하고 있는 TOI 및 TSI가 식별자 또는 오브젝트의 URL 중에서 어디에 매핑되는지를 지시하는 정보를 더 포함할 수 있다. 이때, 매핑 정보는 식별자 또는 오브젝트의 URL과 TOI 또는 TSI를 1:1, 1:多, 및 多:1 중에서 하나로 매핑하는 정보일 수 있다.
<전송 세션 및 전송 오브젝트의 그룹핑 방안>
도 54는 본 발명의 다른 실시예에 따른 그룹핑 정보를 포함하는 LCT 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따르면, 상술한 방법 외에도, 그룹핑 정보를 이용하여 오브젝트 내부 구조체를 식별할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷은 Session Group Identifier field(SGI) 및 Divided Transport Session Identifier field(DTSI)를 포함할 수 있다. SGI 및 DTSI는 기존의 Transport Session Identifier field(TSI)를 분할한 형태이다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷은 Object Group Identifier field(OGI) 및 Divided Transport Object Identifier field(DTOI)를 포함할 수 있다. OGI 및 DTOI는 기존의 Transport Object Identifier field(TOI)를 분할한 형태이다.
S 필드는 기존의 TSI 필드의 길이를 지시하고, O 필드는 기존의 TOI의 길이를 지시하고, H 필드는 기존의 TSI 필드 및 기존의 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
따라서, SGI 필드와 DTSI 필드의 길이의 합은 기존의 TSI 필드와 같고, S 필드와 H 필드의 값을 기초로 정해질 수 있다. 또한, OGI 필드와 DTOI 필드의 길이의 합은 기존의 TOI 필드와 같고, O 필드와 H 필드의 값을 기초로 정해질 수 있다.
본 발명의 다른 실시예에 따르면, 기존의 TSI 및 TOI를 SGI, DTSI, OGI, 및 DTOI로 세분화하고, SGI, DTSI, OGI, 및 DTOI는 각각 다른 데이터 단위를 식별할 수 있다.
SGI, DTSI, OGI, 및 DTO에 대한 구체적인 내용은 다음 도면에서 설명하기로 한다.
도 55는 본 발명의 다른 실시예에 따른 세션 및 오브젝트의 그룹핑을 나타낸 도면이다.
Media Presentation Description(MPD)는 MPEG-DASH 콘텐츠를 스트리밍 서비스로 제공하기 위한 엘리먼트이다. 예를 들어, 상술한 프리젠테이션은 하나의 서비스에 대응하는 개념이고, MPEG-DASH의 MPD 및 MMT의 package에 해당할 수 있다. MPD(C40000)는 적어도 하나의 Period를 포함할 수 있다. 예를 들어, MPD(C40000)는 제1 피리어드(C41000) 및 제2 피리어드(C42000)를 포함할 수 있다.
Period는 MPEG-DASH 콘텐츠를 재생 시간으로 구분한 엘리먼트이다. 이용 가능한 비트레이트, 언어, 캡션, 및 서브타이틀 등은 Period 내에서 변하지 않는다. 각 Period는 시작 시간 정보를 포함할 수 있으며, MPD 내에서 시작시간의 오름차순으로 정렬될 수 있다. 예를 들어, 제1 피리어드(C41000)는 0~30min 구간의 엘리먼트이고, 제2 피리어드(C42000)는 30~60min 구간의 엘리먼트이다. 피리어드는 하위 요소로 적어도 하나의 AdaptationSet(미도시)를 포함할 수 있다.
AdaptationSet는 상호 교체할 수 있는 인코딩된 버전의 적어도 하나의 미디어 콘텐트 컴포넌트의 집합이다. AdaptationSet은 하위 요소로 적어도 하나의 Representation을 포함할 수 있다. 예를 들어, AdaptationSet은 제1 Representation(C41100), 제2 Representation(C41200), 및 제3 Representation(C41300)을 포함할 수 있다.
Representation는 적어도 하나의 미디어 콘텐트 컴포넌트의 전송 가능한 인코딩된 버전의 엘리먼트를 나타내며, 적어도 하나의 미디어 스트림을 포함할 수 있다. 미디어 콘텐트 컴포넌트는 비디오 컴포넌트, 오디오 컴포넌트, 및 캡션 컴포넌트를 포함할 수 있다. Representation은 미디어 콘텐트 컴포넌트의 품질에 대한 정보를 포함할 수 있다. 따라서, 방송 신호 수신 장치는 네트워크 환경에 적응하기 위해서 하나의 AdaptationSet 내에서 Representation을 변경할 수 있다.
예를 들어, 제1 Representation(C41100)은 주파수의 대역폭(bandwidth)이 500kbit/s인 비디오 컴포넌트이고, 제2 Representation(C41200)은 주파수의 대역폭(bandwidth)이 250kbit/s인 비디오 컴포넌트이고, 제3 Representation(C41300)은 주파수의 대역폭(bandwidth)이 750kbit/s인 비디오 컴포넌트 일 수 있다. Representation는 하위 요소로 적어도 하나의 Segment를 포함할 수 있다. 예를 들어, 제1 Representation(C41100)은 제1 세그먼트(C41110), 제2 세그먼트(C41120), 및 제3 세그먼트(C41130)를 포함할 수 있다.
Segment는 한번의 HTTP 요청으로 검색(retrieve)될 수 있는 가장 큰 데이터 단위의 엘리먼트를 나타낸다. URL은 각각의 세그먼트에 제공될 수 있다. 예를 들어, 상술한 오브젝트는 파일, Initialization Segment, Media Segment, 또는 Self-Initializing Segment에 대응하는 개념이고, MPEG-DASH의 세그먼트에 해당하고, MMT의 MPU에 해당할 수 있다. 각 Segment는 하위 요소로 적어도 하나의 Fragment를 포함할 수 있다. 예를 들어, 제2 Segment(C41120)는 제1 프래그먼트(C41122), 제2 프래그먼트(C41124), 및 제3 프래그먼트(C41126)를 포함할 수 있다.
Fragment는 이전(preceding)의 데이터에 대한 의존성 없이 독립적으로 복호화 및 재생될 수 있는 데이터 단위를 의미한다. 예를 들어, 프래그먼트는 MPEG-DASH의 서브세그먼트(Subsegment) 및 MMT의 프래그먼트에 해당할 수 있다. 프래그먼트는 적어도 하나의 청크 또는 적어도 하나의 GOP를 포함할 수 있다. 예를 들어, 제1 프래그먼트(C41122)는 프래그먼트 헤더 및 프래그먼트 페이로드를 포함할 수 있다. 프래그먼트 헤더는 세그먼트 인덱스 박스(sidx) 및 무비 프래그먼트 박스(moof)를 포함할 수 있다. 프래그먼트 페이로드는 미디어 데이터 컨테이너 박스(mdat)를 포함할 수 있다. 미디어 데이터 컨테이너 박스(mdat)는 제1 Chunk 내지 제5 Chunk를 포함할 수 있다.
Chunk는 동일한 미디어 타입을 갖는 인접된 샘플들의 집합이고, 가변적인 크기의 데이터 단위이다.
상술한 본 발명의 일 실시예에 따르면, TSI는 전송 세션을 식별하고, 각 Representation은 각 TSI에 매핑될 수 있다. 또한, TOI는 전송 세션 내에 있는 전송 오브젝트를 식별하고, 각 Segment는 각 TOI에 매핑될 수 있다.
하지만, 본 발명의 다른 실시예에 따르면, TSI를 GSI 및 DTSI로 분할하고 TOI를 OGI 및 DTOI로 분할하여, 각각의 GSI, DTSI, GOI, 및 DTOI가 각각 새로운 데이터 단위에 매핑될 수 있으며, 이하의 실시예에 한정되지 않는다.
예를 들어, SGI는 동일한 전송 세션의 그룹을 식별하고, 각 Period는 각 SGI에 매핑될 수 있다. 제1 Period(C41000)는 SGI의 값이 “1”에 매핑되고, 제2 Period(C42000)은 SGI의 값이 “2”에 매핑될 수 있다. SGI의 값은 상술한 실시예에 한정되지 않으며, Period를 식별하는 값인 Period ID와 동일한 값을 가질 수 있다.
DTSI는 전송 세션을 식별하고, 각 Representation은 각 DTSI에 매핑될 수 있다. 제1 Representation(C41100)은 DTSI의 값이 “1”에 매핑되고, 제2 Representation(C41200)은 DTSI의 값이 “2”에 매핑되고, 제3 Representation(C41300)은 DTSI의 값이 “3”에 매핑될 수 있다. DTSI의 값은 상술한 실시예에 한정되지 않으며, Representation을 식별하는 값인 Representation ID와 동일한 값을 가질 수 있다.
OGI는 전송 세션 내에서 동일한 오브젝트의 그룹을 식별하고, 각 Segment는 각 OGI에 매핑될 수 있다. 제1 Segment(C41110)는 OGI의 값이 “1”에 매핑되고, 제2 Segment(C41120)는 OGI의 값이 “2”에 매핑되고, 및 제3 Segment(C41130)는 OGI의 값이 “3”에 매핑될 수 있다.
DTOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다. 하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, Access Unit, 및/또는 NAL Unit을 포함할 수 있다.
예를 들어, 프래그먼트 헤더, 및 프래그먼트 페이로드의 각 Chunk 또는 각 GOP는 각 DTOI에 매핑될 수 있다. 제1 프래그먼트(C41122)의 헤더는 DTOI의 값이 “0”에 매핑되고, 제1 프래그먼트(C41122)의 페이로드 내에 있는 제1 Chunk 내지 제5 Chunk는 DTOI의 값이 “10” 내지 “14”에 매핑될 수 있다.
DTOI의 경우, 부여된 값에 따라서 용법을 정의할 수 있다. 예를 들어, DTOI 값은 오브젝트의 배열 순서에 따라서 오름차순 또는 내림차순의 값으로 설정될 수 있다. 이 경우, 방송 신호 수신 장치는 DTOI 값을 기초로 오브젝트를 재배열하고, 프래그먼트 또는 세그먼트를 생성할 수 있다. 또한, 특정한 DTOI의 값은 프래그먼트 헤더를 지시할 수 있다. 이 경우, 방송 신호 송신 장치 또는 방송 신호 수신 장치는 해당 DTOI의 값을 기초로 프래그먼트 헤더의 전송이 완료되었는지를 판단할 수 있다.
딜리버리 오브젝트가 하나의 Segment를 의미할 경우, 딜리버리 오브젝트의 그룹은 DASH Representation과 같은 content component에 해당할 수 있다. 이 경우, DTOI는 Segment에 맵핑되고, OGI는 Representation에 맵핑될 수 있다. 예를 들어, OGI는 representation ID, content component ID 등에 일대일 맵핑되어, 한 session 내 전송되는 content component들을 multiplexing/demultiplexing 하기 위한 정보로 활용될 수 있다.
도 56은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 송신 장치의 구조를 나타낸 도면이다.
방송 신호 송신 장치는 Signaling Encoder(C31005), Internal Structure Generator(C31030), Packet Information Generator(C31035) 및/또는 Transmitter(C31050)를 포함할 수 있다.
Signaling Encoder(C31005)는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 시그널링 정보를 생성할 수 있다. 시그널링 정보는 파일 레벨 또는 FDT 레벨 중에서 적어도 하나로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시할 수 있다. 시그널링 정보가 파일 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 파일에 속하는 모든 데이터를 실시간으로 전송할 수 있다. 또한, 시그널링 정보가 FDT 레벨로 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하면, 해당 FDT에 속하는 모든 파일 또는 데이터를 실시간으로 전송할 수 있다.
Internal Structure Generator(C31030)는 독립적으로 부호화 및 복호화되는 데이터 단위인 적어도 하나의 오브젝트 내부 구조체를 생성할 수 있다. 오브젝트 내부 구조체는 멀티미디어 콘텐츠를 구성하는 파일이 적어도 하나의 데이터 단위로 분할된 것이다.
Packet Information Generator(C31035)는 시그널링 정보가 멀티미디어 콘텐츠를 실시간으로 전송하는 것을 지시하는 경우, 오브젝트 내부 구조체를 식별하는 메타 데이터를 포함하는 패킷 정보를 생성할 수 있다. 여기서, 패킷 정보는 멀티미디어 콘텐츠를 전송하는 패킷에 관한 메타 데이터를 포함하고, 오브젝트 내부 구조체를 식별하는 메타 데이터를 포함할 수 있다. 패킷 정보는 오브젝트 내부 구조체의 경계를 지시하는 경계 정보 및 오브젝트 내부 구조체의 타입을 지시하는 타입 정보를 포함할 수 있다.
경계 정보는 해당 패킷에 오브젝트 내부 구조체의 시작 지점이 포함되어 있는지 여부를 지시하는 Start Flag(SF) 필드 및 해당 패킷 내에서 상기 오브젝트 내부 구조체의 시작 지점의 위치를 지시하는 Offset 필드를 포함할 수 있다.
오브젝트 내부 구조체의 타입은 한 쌍의 무비 프래그먼트 박스(moof) 및 미디어 데이터 컨테이너 박스(mdat)를 포함하는 데이터 단위를 나타내는 프래그먼트, 동일한 미디어 타입을 갖는 인접된 샘플들의 집합을 나타내는 Chunk, 적어도 하나의 I-프레임을 포함하는 프레임들의 집합을 나타내는 GOP, 부호화된 비디오 또는 오디오의 기본 데이터 단위를 나타내는 Access Unit, 및 바이트(byte) 단위로 패킷화한 데이터 단위를 나타내는 NAL Unit 중에서 하나를 포함할 수 있다.
또한, 패킷 정보는 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 Transport Session Identifier(TSI) 및 Transport Object Identifier(TOI) 중에서 적어도 하나에 매핑시키는 매핑 정보를 포함할 수 있다.
또한, 패킷 정보는 패킷이 전송하는 전송 오브젝트 및 전송 세션을 그룹핑하는 그룹핑 정보를 포함할 수 있다. 그룹핑 정보는 전송 세션을 식별하는 Divided Transport Session Identifier(DTSI) 필드, 동일한 전송 세션의 그룹을 식별하는 Session Group Identifier(SGI) 필드, 전송 오브젝트를 식별하는 Divided Transport Object Identifier (DTOI) 필드, 및 동일한 전송 오브젝트의 그룹을 식별하는 Object Group Identifier(OGI) 필드를 포함할 수 있다. 여기서, SGI 필드는 MPEG-DASH의 Period 엘리먼트를 식별하는 정보를 포함하고, DTSI 필드는 MPEG-DASH의 Representation 엘리먼트를 식별하는 정보를 포함하고, OGI 필드는 MPEG-DASH의 Segment 엘리먼트를 식별하는 정보를 포함하고, 및 DTOI 필드는 MPEG-DASH의 Chunk 엘리먼트를 식별하는 정보를 포함할 수 있다.
상술한 바와 같이, 패킷 정보는 타입 정보와 경계 정보, 매핑 정보, 및 그룹핑 정보를 기초로 세션, 오브젝트, 및 오브젝트 내부 구조체 중에서 적어도 하나를 식별할 수 있다.
방송 신호 송신 장치는 Packetizer(미도시)를 더 포함할 수 있다. Packetizer는 오브젝트 내부 구조체를 동일한 크기의 적어도 하나의 심볼로 분할하여 각각의 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화할 수 있다. 다만 이에 한정되지 않고, 심볼은 다른 장치에 의해서 생성될 수도 있다. 본 발명의 다른 실시예에 따른 심볼의 길이는 동일할 수 있다. 그리고 나서, Packetizer는 적어도 하나의 심볼을 적어도 하나의 패킷으로 패킷화 할 수 있다. 예를 들어, 패킷은 LCT 패킷일 수 있다. 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다.
패킷 헤더는 오브젝트 내부 구조체를 식별하는 패킷 정보를 포함할 수 있다.
Transmitter(C31050)는 오브젝트 내부 구조체 및 패킷 정보를 포함하는 방송 신호를 전송할 수 있다.
도 57은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
이하에서는 방송 신호 송신 장치와 공통되는 부분은 생략하고, 차이점을 중심으로 설명한다.
방송 신호 수신 장치는 패킷 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 단위로 복호화를 할 수 있다. 따라서, 방송 신호 수신 장치는 하나의 오브젝트를 모두 수신하지 않고 오브젝트 내부 구조체만을 수신하더라도, 오브젝트 내부 구조체를 재생할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 Signaling Decoder(C32005), Extractor(C32050), 및/또는 Decoder(C32060)를 포함할 수 있다. 다만, 방송 신호 수신 장치는 상술한 구성요소를 더 포함할 수 있다.
Signaling Decoder(C32005)는 시그널링 정보를 디코딩할 수 있다. 시그널링 정보는 멀티미디어 콘텐츠를 포함하는 방송 신호를 방송망을 사용하여 실시간으로 전송할지 여부를 지시하는 정보이다.
Extractor(C32050)는 방송신호로부터 오브젝트 내부 구조체를 식별하고, 오브젝트 내부 구조체를 추출할 수 있다. Extractor(C32050)는 패킷 정보를 기초로 하나의 오브젝트가 모두 수신되기 전이라도 오브젝트 내부 구조체를 추출하여 Decoder(C32060)로 전달할 수 있다. 다만, 오브젝트 내부 구조체의 타입에 따라 Extractor(C32050)의 동작이 달라질 수 있다. 상술한 Parser(C32050)는 Extractor(C32050)와 동일한 동작을 수행할 수 있으며, Extractor(C32050)를 Parser(C32050)로 표현할 수도 있다.
Extractor(C32050)는 타입 정보 및 경계 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다. 예를 들어, Extractor(C32050)는 경계 정보에서 표현된 오브젝트 내부 구조체의 시작과 끝 지점에 해당하는 패킷 또는 그 사이에서 전송되는 적어도 하나의 패킷에 포함된 타입 정보를 기초로 현재 오브젝트 내부 구조체의 타입을 식별할 수 있다.
Extractor(C32050)는 오브젝트 버퍼 또는 세그먼트 버퍼에 저장된 오브젝트 내부 구조체인 프래그먼트, Chunk 또는 GOP, 및 Access Unit 중에서 적어도 하나를 추출할 수 있다. 이를 위하여, Extractor(C32050)는 Access Unit를 추출하는 AU Extractor(C32056), Chunk 또는 GOP를 추출하는 Chunk Extractor(C32057), 및 프래그먼트를 추출하는 Fragment Extractor(C32058)을 더 포함할 수 있다. Extractor(C32050)의 하위 구성요소는 다음 도면에서 구체적으로 설명하기로 한다.
Decoder(C32060)는 오브젝트 내부 구조체를 전달받고 타입 정보를 기초로 해당 오브젝트 내부 구조체를 디코딩할 수 있다. 이때, Decoder(C32060)는 오브젝트 내부 구조체에 대한 정보를 적어도 하나의 Access Unit의 형태로 전달받고, 적어도 하나의 Access Unit을 복호화하여 Media Data를 생성할 수 있다.
도 58은 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
이하에서는, 오브젝트 내부 구조체의 타입이 Access Unit인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다.
방송 신호 수신 장치는 Packet Depacketizer(C22020), Segment Buffer(C32030), AU Extractor(C32056), Decoding Buffer(C32059), 및/또는 Decoder(C32060)를 더 포함할 수 있다.
Packet Depacketizer(C22020)는 적어도 하나의 패킷을 depacketize하여 패킷 헤더에 포함된 패킷 정보를 추출할 수 있다. 예를 들어, Packet Depacketizer(C22020)는 패킷 헤더에 포함된 타입 정보 및 경계 정보를 추출할 수 있고, 패킷 페이로드에 포함된 적어도 하나의 심볼을 추출할 수 있다. 적어도 하나의 심볼은 오브젝트 내부 구조체를 구성하는 심볼일 수 있고, 오브젝트를 구성하는 심볼일 수 있다.
Packet Depacketizer(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 Decoder(C32060)에 전달할 수 있다.
Segment Buffer(C32030)는 Packet Depacketizer(C22020)로부터 LCT 패킷의 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. Segment Buffer(C32030)는 Object Buffer(C32030)로 표현될 수 있다. 또한, Segment Buffer(C32030)는 AU Extractor(C32056), Chunk Extractor(미도시), 및/또는 Fragment Extractor(미도시)를 더 포함할 수 있다. 또한, Segment Buffer(C320300)는 Fragment Buffer(미도시) 및/또는 Chunk Buffer(미도시)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 Access Unit이라고 지시하면, Segment Buffer(C32030)는 AU Extractor(C32056)를 포함할 수 있다. 다만, 이에 한정되지 않고, AU Extractor(C32056)는 Segment Buffer(C32030)와 독립적으로 존재할 수 있다.
AU Extractor(C32056)는 경계 정보를 기초로 Segment Buffer(C32030)에 저장된 Access Unit을 추출할 수 있다. 예를 들어, 하나의 Access Unit은 경계 정보가 지시하는 Access Unit의 시작 지점부터 다음 Access Unit의 시작 지점 이전까지일 수 있다.
그리고 나서, AU Extractor(C32056)는 추출한 Access Unit을 Decoding Buffer(C32059)를 거쳐 Decoder(C32060)로 전달할 수 있다.
상술한 바와 같이, 방송 신호 수신 장치가 하나의 오브젝트를 모두 수신하지 않더라도, AU Extractor(C32056)는 타입 정보 및 경계 정보를 기초로 해당 오브젝트의 내부 구조체의 수신이 완료되면 곧바로 오브젝트 내부 구조체를 추출하여 Decoder(C32060)로 전달할 수 있다.
Decoding Buffer(C32059)는 Segment Buffer(C32030)로부터 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. Access Unit는 Decoding Buffer(C32059) 내에서 Access Unit에 부여된 처리 시간에 Decoder(C32060) 또는 다른 구성요소로 전달될 수 있다. 이때, Access Unit에 PTS(Presentation Time Stamp) 등 처리 시간에 대한 타이밍 정보는 LCT Header Extension 형태로 부여될 수 있다
Decoder(C32060)는 오브젝트 내부 구조체를 전달받고 타입 정보를 기초로 해당 오브젝트 내부 구조체를 디코딩할 수 있다. 이때, Decoder(C32060)는 오브젝트 내부 구조체의 형태뿐만 아니라 Access Unit의 형태로 해당 오브젝트 내부 구조체를 전달받을 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 Access Unit이라고 지시하면, Decoder(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 Access Unit을 디코딩할 수 있다.
도 59는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 Chunk 또는 GOP인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 Packet Depacketizer(C22020), Segment Buffer(C32030), Chunk Buffer(C32035), Decoding Buffer(C32059), 및/또는 Decoder(C32060)를 더 포함할 수 있다.
Packet Depacketizer(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 Segment Buffer(C32030)를 통하여 Decoder(C32060)에 전달할 수 있다.
Segment Buffer(C32030)는 Chunk Extractor(C32057)를 포함할 수 있다. 또한, Segment Buffer(C32030)는 Chunk Buffer(C32035)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 청크 또는 GOP라고 지시하면, Chunk Extractor(C32057)는 경계 정보를 기초로 Segment Buffer(C32030)에 저장된 청크 또는 GOP를 추출할 수 있다. 예를 들어, 하나의 청크 또는 GOP는 경계 정보가 지시하는 청크 또는 GOP의 시작 지점부터 다음 청크 또는 GOP의 시작지점 이전까지일 수 있다. Chunk Extractor(C32057)는 Segment Buffer(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
Chunk Buffer(C32035)는 적어도 하나의 청크 또는 GOP를 전달 받고, 미리 정해진 시간 동안 저장할 수 있다. Chunk Buffer(C32035)는 Segment Buffer(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. Chunk Buffer(C32035)는 AU Extractor(C32056)를 더 포함할 수 있다.
AU Extractor(C32056)는 Chunk Buffer(C32035)에 저장된 청크 또는 GOP로부터 적어도 하나의 Access Unit을 추출할 수 있다. 그리고 나서, 추출된 적어도 하나의 Access Unit을 Decoding Buffer(C32059)를 거쳐 Decoder(C32060)로 전달할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 Chunk 또는 GOP라고 지시하면, Decoder(C32060)는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 Chunk 또는 GOP를 디코딩할 수 있다.
도 60는 본 발명의 다른 실시예에 따른 패킷 정보를 이용한 방송 신호 수신 장치의 구조를 나타낸 도면이다.
본 도면에서 나타난 구성요소 중에서 상술한 구성요소와 동일한 부분은 내용이 동일하므로 구체적인 설명은 생략하기로 한다.
이하에서는, 오브젝트 내부 구조체의 타입이 프래그먼트인 경우의 방송 신호 수신 장치의 동작 및 구성에 대하여 설명한다. 방송 신호 수신 장치는 Packet Depacketizer(C22020), Segment Buffer(C32030), Fragment Buffer(C32036), Audio Decoding Buffer (C32059-1), Video Decoding Buffer (C32059-2), Audio Decoder(C32060-1), 및/또는 Video Decoder(C32060-2)를 더 포함할 수 있다.
Packet Depacketizer(C22020)는 추출한 적어도 하나의 오브젝트 또는 적어도 하나의 오브젝트 내부 구조체를 Audio Decoder(C32060-1) 및/또는 Video Decoder(C32060-2)에 전달할 수 있다.
Segment Buffer(C320300)는 Fragment Extractor(C32058)를 포함할 수 있다. 또한, Segment Buffer(C32030)는 Fragment Buffer(C32036)를 더 포함할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, Fragment Extractor(C32058)는 경계 정보를 기초로 Segment Buffer(C320300)에 저장된 프래그먼트를 추출할 수 있다. 예를 들어, 하나의 프래그먼트는 경계 정보가 지시하는 프래그먼트의 시작 지점부터 다음 프래그먼트의 시작 지점 이전까지일 수 있다. Fragment Extractor(C32058)는 Segment Buffer(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다.
Fragment Buffer(C32036)는 프래그먼트를 전달받고, 미리 정해진 시간 동안 저장할 수 있다. Fragment Buffer(C32036)는 Segment Buffer(C32030) 내에 존재할 수도 있고, 독립적으로 존재할 수도 있다. Fragment Buffer(C32036)는 AU Extractor(C32056)를 더 포함할 수 있다. 또한, Fragment Buffer(C32036)는 Chunk Buffer(미도시)를 더 포함할 수 있다.
AU Extractor(C32056)는 Fragment Buffer(C32036)에 저장된 프래그먼트로부터 적어도 하나의 Access Unit을 추출할 수 있다. AU Extractor(C32056)는 Fragment Buffer(C32036)내에 존재할 수도 있고, 독립적으로 존재할 수 있다. 또한, 방송 신호 수신 장치는 Chunk Buffer(미도시)를 더 포함하고, AU Extractor(C32056)는 Chunk Buffer에 포함된 Chunk 또는 GOP로부터 적어도 하나의 Access Unit을 추출할 수 있다. 그리고 나서, AU Extractor(C32056)는 추출된 적어도 하나의 Access Unit을 Audio Decoder(C32060-1) 및/또는 Video Decoder(C32060-2)로 전달할 수 있다.
Decoding Buffer는 Audio Decoding Buffer (C32059-1) 및/또는 Video Decoding Buffer (C32059-2)를 포함할 수 있다. Audio Decoding Buffer (C32059-1)는 오디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다. Video Decoding Buffer (C32059-2)는 비디오와 관련된 데이터를 전달받고 미리 정해진 시간 동안 저장할 수 있다.
타입 정보가 오브젝트 내부 구조체의 타입은 프래그먼트라고 지시하면, Decoder는 해당 오브젝트를 모두 전달받기 전이라도 해당 오브젝트의 내부 구조체인 해당 프래그먼트를 디코딩할 수 있다. Decoder는 오디오와 관련된 데이터를 디코딩하는 Audio Decoder(C32060-1) 및/또는 비디오와 관련된 데이터를 디코딩하는 Video Decoder(C32060-2)를 더 포함할 수 있다.
상술한 바와 같이, 방송 신호 송신 장치는 오브젝트 단위로 데이터를 전송하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 전송할 수 있다. 이때, 방송 신호 송신 장치는 전송하는 오브젝트 내부 구조체의 타입 정보 및 경계 정보를 함께 전송할 수 있다.
방송 신호 수신 장치는 오브젝트 단위로 데이터를 수신하여 재생하지 않고 가변 길이의 오브젝트 내부 구조체로 데이터를 수신하고 재생할 수 있다. 따라서, 방송 신호 수신 장치는 타입 정보 및 경계 정보를 기초로 오브젝트 내부 구조체를 식별하고, 수신한 오브젝트 내부 구조체 별로 재생할 수 있다.
<전송 패킷 페이로드 데이터의 우선순위 식별방안>
도 61은 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 ROUTE 패킷일 수 있고, ROUTE 패킷은 ALC/LCT 패킷을 나타낼 수 있다. 다만, 이하에서는 편의상 ROUTE 패킷 및/또는 ALC/LCT 패킷을 LCT 패킷으로 부를 수 있다. The LCT packet format used by ROUTE follows the ALC packet format, i.e. the UDP header followed by the LCT header and the FEC Payload ID followed by the packet payload.
LCT 패킷은 패킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(Priority)을 더 포함할 수 있다. 우선순위 정보는 각 패킷의 시작지점에서부터 12번째 및 13번째 비트에 위치하는 두 개의 bit를 활용하여 패킷 페이로드의 우선순위를 지시할 수 있다. 이 경우, 두 개의 bit를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
우선순위 정보(Priority)는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 즉, 우선순위 정보는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~3의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다. 반대로, 우선순위 정보가 높은 값을 가질수록 우선순위가 낮다는 것을 지시할 수 있다.
TSI는 LCT transport session을 식별할 수 있고, TOI는 딜리버리 오브젝트(Delivery Object)를 식별할 수 있다.
각각의 ROUTE session은 적어도 하나의 LCT transport session을 포함할 수 있다. 적어도 하나의 LCT transport session은 ROUTE session의 부분집합일 수 있다. 미디어 딜리버리를 위하여, 하나의 LCT transport session은 전형적으로, MPEG-DASH Representation 과 같은, 하나의 미디어 컴포넌트를 전송할 수 있다. 브로드캐스트 MPEG-DASH의 관점으로부터, ROUTE session은 적어도 하나의 DASH Media Presentations에 포함되는 적어도 하나의 미디어 컴포넌트를 전송하는 적어도 하나의 LCT transport session의 복합체로서 간주될 수 있다. 각각의 LCT transport session 내에서, 전형적으로 서로 관련된 적어도 하나의 딜리버리 오브젝트가 전송될 수 있다. 예를 들어, 하나의 Representation에 관련되는 적어도 하나의 MPEG-DASH Segments와 같이, 서로 관련된 적어도 하나의 딜리버리 오브젝트가 각각의 LCT transport session 내에서 전송될 수 있다. 각각의 딜리버리 오브젝트와 함께, 적어도 하나의 딜리버리 오브젝트들이 애플리케이션들에서 사용될 수 있도록 적어도 하나의 메타데이터 프로퍼티들(metadata properties)이 전달욀 수 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, Access Unit, 및/또는 NAL Unit을 포함할 수 있다.
일 실시예로, 하나의 TSI가 하나의 트랙(MPEG-DASH Representation)에 매칭되고, 하나의 TOI가 하나의 ISO BMFF 파일에 매칭될 수 있다. 또한, 하나의 ISO BMFF 파일은 ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’를 포함할 수 있다.
‘ftyp’은 파일 타입 및 호환성(compatability)에 관한 정보를 포함하고 있는 컨테이너(container)이다. ‘moov’는 미디어 데이터를 재생하기 위한 모든 메타데이터(metadata)를 포함하는 컨테이너이다. 미디어 컨텐츠가 하나의 파일 내에서 적어도 하나의 미디어 데이터로 분할되거나, 미디어 컨텐츠가 적어도 하나의 파일로 분할된 경우, ‘moof’는 각각의 분할된 미디어 데이터에 대한 메타데이터를 포함하는 컨테이너이다. ‘mdat’은 오디오 데이터 및 비디오 데이터와 같은 미디어 데이터를 포함한다. ‘mdat’는 적어도 하나의 ‘I-프레임’, ‘P-프레임’, 및/또는 ‘B-프레임’를 포함할 수 있다.
‘I-프레임’은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. ‘I-프레임’은 이미지로부터 직접 코딩하여 생성되므로 inter block들로만 구성되고 랜덤 접속 포인트(Random Access Point)으로서 역할을 할 수 있다. 또한, ‘I-프레임’은 시간적 움직임을 예측하여 만들어내는 ‘P-프레임’ 및/또는 ‘B-프레임’의 기준이 될 수 있다. 따라서, ‘I-프레임’은 자신의 프레임의 공간 잉여요소만 감소시켜 압축을 수행하기 때문에, ‘I-프레임’는 낮은 압출율을 제공한다. 즉, 압축에 따른 결과 비트 수는 다른 프레임들 보다 많은 비트 수를 필요로 한다.
‘P-프레임’은 MPEG에서 시간적으로 나중에 나오는 장면에 대해 움직임을 예측해서 만들어낸 화면을 의미한다. ‘P-프레임’은 가장 최근의 ‘I-프레임’ 및/또는 ‘B-프레임’ 를 참조하여, 화면 간 순방향 예측 만으로 다음 화면을 예측하여 얻어지는 화면이다. 따라서, ‘P-프레임’은 비교적 높은 압축율을 제공한다.
‘B-프레임’은 MPEG에서 시간적으로 예측하여 만들어내는 화면 중에서 앞 및/또는 뒤에 있는 ‘P-프레임’ 및/또는 ‘I-프레임’으로부터 양방향의 움직임을 좀더 세밀하게 예측해서 만들어내는 예측 화면을 말한다. ‘B-프레임’의 경우에는 바로 앞의 ‘I-프레임’ 및/또는 ‘P-프레임’, 현재의 프레임, 및/또는 바로 뒤에 나오는 ‘I-프레임’ 및/또는 ‘P-프레임’를 기초로 코딩 및/또는 디코딩된다. 따라서, 코딩 및/또는 디코딩 시간지연이 발생한다. 하지만, ‘B-프레임’은 가장 높은 압축율을 제공하며, ‘P-프레임’ 및/또는 ‘I-프레임’의 코딩 및/또는 디코딩의 기초가 되지 않으므로 오류를 전파하지 않는다.
전술한 바와 같이, 하나의 ISO BMFF 파일 내의 ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’은 각각 우선순위가 다를 수 있다. 따라서, ‘ftyp’, ‘moov’, “moof”, 및/또는 ‘mdat’을 포함하는 패킷들은 동일한 TSI 및/또는 TOI를 갖지만, 각각의 우선순위가 다를 수 있다.
예를 들어, ‘ftyp’ 및 ‘moov’를 포함하는 패킷의 우선순위 정보는 ‘0’의 값을 가지고, ‘moof’를 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘I-프레임’을 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘P-프레임’을 포함하는 패킷의 우선순위 정보는 ‘2’의 값을 가지고, 및/또는 ‘B-프레임’을 포함하는 패킷의 우선순위 정보는 ‘3’의 값을 가질 수 있다.
이와 같이, 방송 신호 송신 장치는 AVC(Advanced Video Coding)/HEVC(High Efficiency Video Coding) 등의 비디오 데이터를 포함하는 MPEG-DASH segment들을 전송할 경우, ‘ftyp’ 및 ‘moov’를 포함하는 패킷, ‘moof’를 포함하는 패킷, ‘I-Picture’를 포함하는 패킷, ‘P-Picture’를 포함하는 패킷, 및/또는 ‘B-Picture’를 포함하는 패킷의 순서로 패킷 데이터의 처리를 위한 우선 순위를 부여할 수 있다.
또한, 네트워크 상의 중계기 및/또는 라우터 등의 중간 노드들은 우선순위 정보를 기초로 네트워크의 대역폭 및/또는 서비스의 목적에 따라 우선순위가 높은 패킷을 우선적으로 전송하고 우선순위가 낮은 패킷은 선택적으로 전송할 수 있다. 따라서, 우선순위 정보는 다양한 서비스 상황에 용이하게 적용될 수 있다.
또한, 방송 신호 수신 장치는 AVC/HEVC 등의 비디오 데이터를 수신하는 경우에, ‘ftyp’, ‘moov’, ‘moof’, ‘I-Picture’, ‘P-Picture’, 및/또는 ‘B-Picture’의 우선순위 정보를 기초로 우선순위가 높은 패킷(즉, 우선순위 정보의 값이 낮은 패킷)을 우선적으로 추출하고 우선순위가 낮은 패킷(즉, 우선순위 정보의 값이 높은 패킷)을 선택적으로 추출하여 하나의 시퀀스를 구성할 수 있다. 변형된 실시예로, 방송 신호 수신 장치는 선택적으로 프레임 레이트가 높은 시퀀스를 추출하거나 프레임 레이트가 낮은 시퀀스를 추출할 수 있다.
도 62는 본 발명의 다른 실시예에 따른 우선순위 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 패킷 페이로드의 우선순위(Priority)를 지시하는 우선순위 정보(EXT_TYPE)을 더 포함할 수 있다. 우선순위 정보(EXT_TYPE)는 LCT Header Extension을 이용하여 현재 패킷이 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다. LCT Header Extension을 이용하는 경우, LCT Header Extension을 지원하지 않는 방송 신호 수신 장치에서는 우선순위 정보(EXT_TYPE)를 스킵하면 되므로 확장성을 높일 수 있다. LCT Header Extension을 이용하는 우선순위 정보(EXT_TYPE)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
우선순위 정보(EXT_TYPE)는 Header Extension Type(HET) field, Priority field, 및/또는 Reserved field를 포함할 수 있다. 실시예에 따라서, 우선순위 정보(EXT_TYPE)는 Priority field 만을 지시할 수 있다.
HET 필드는 8비트의 정수일 수 있고, 해당 Header Extension의 타입을 지시할 수 있다. 예를 들어, HET 필드는 128에서 255 사이의 값 중에서 하나의 고유값으로 해당 Header Extension의 타입을 식별할 수 있고, 이 경우 Header Extension은 32 비트 고정 길이를 가질 수 있다.
Priority 필드는 하나의 파일에 포함된 LCT 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 우선순위를 지시할 수 있다. 또한, Priority 필드는 동일한 TSI 또는 TOI가 부여된 패킷들 중에서 현재 LCT 패킷에서 전송하고 있는 패킷 페이로드의 상대적 우선순위를 지시할 수 있다.
예를 들어, 우선순위 정보는 0~255의 범위의 값을 가질 수 있다. 우선순위 정보가 낮은 값을 가질수록 패킷 페이로드가 전체 파일기반 미디어 데이터를 처리함에 있어 우선순위가 높다는 것을 지시할 수 있다.
예를 들어, ‘ftyp’ 및 ‘moov’를 포함하는 패킷의 우선순위 정보는 ‘0’의 값을 가지고, ‘moof’를 포함하는 패킷의 우선순위 정보는 ‘1’의 값을 가지고, ‘I-프레임’을 포함하는 패킷의 우선순위 정보는 ‘2’의 값을 가지고, ‘P-프레임’을 포함하는 패킷의 우선순위 정보는 ‘3’의 값을 가지고, 및/또는 ‘B-프레임’을 포함하는 패킷의 우선순위 정보는 ‘4’의 값을 가질 수 있다.
Reserved 필드는 미래의 사용을 위하여 예약된 필드일 수 있다.
이하, 구체적인 내용은 전술한 내용과 동일하므로 생략하기로 한다.
도 63은 본 발명의 다른 실시예에 따른 오프셋 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Reserved field(Res), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 오프셋 정보를 더 포함할 수 있다. 오프셋 정보는 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. 오프셋 정보는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다. 오프셋 정보는 LCT Header Extension의 형식일 수도 있고, FEC Payload ID field에 포함될 수도 있다.
일 실시예로, LCT 패킷이 LCT Header Extension의 형식으로 오프셋 정보(EXT_OFS)를 포함하는 경우를 설명한다.
LCT Header Extension을 이용하는 경우, LCT Header Extension을 지원하지 않는 수신기에서는 오프셋 정보(EXT_OFS)를 스킵하면 되므로 확장성을 높일 수 있다. LCT Header Extension을 이용하는 오프셋 정보(EXT_OFS)는 RTP(realtime protocol) 등 전송 프로토콜을 위한 패킷 등에 적용될 수 있다.
오프셋 정보(EXT_OFS)는 Header Extension Type field(HET), Header Extension Length field(HEL), 및 Start Offset field(Start Offset)를 포함할 수 있다. 실시예에 따라서, 오프셋 정보(EXT_OFS)는 Start Offset field(Start Offset) 만을 지시할 수 있다.
HET 필드는 상술한 바와 동일하며, 구체적인 설명은 생략한다.
HEL 필드는 가변 길이의 LCT Header Extension의 전체 길이를 지시한다. 기본적으로 LCT에서는 HET가 0에서 127 사이의 값을 가질 경우 32-bit word 단위의 가변 길이 Header Extension이 존재하며, HET 필드에 뒤따르는 HEL 필드는 LCT Header Extension의 전체 길이를 32-bit word 단위로 나타낸다.
Start Offset 필드는 가변 길이일 수 있고, 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 지시할 수 있다. Start Offset 필드는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다.
LCT 패킷은 LCT Header Extension의 형식뿐만 아니라, FEC Payload ID field에 오프셋 정보(Start Offset)를 포함할 수 있다. 이하에서는, LCT 패킷이 오프셋 정보가 FEC Payload ID field에 포함되는 경우를 설명한다.
FEC Payload ID field는 FEC 디코더에게 특정 패킷을 통해서 전송되는 엔코딩 심볼과 FEC 엔코딩 트랜스포메이션(FEC encoding transformation) 사이의 관계를 지시하기 위한 정보를 포함할 수 있다. 예를 들어, 만약 패킷이 적어도 하나의 소스 심볼을 전송하면, FEC Payload ID field는 오브젝트의 어떤 소스 심볼들이 패킷에 의해서 전송되는지를 지시할 수 있다. 만약 패킷들이 적어도 하나의 리페어 심볼을 전송하면, FEC Payload ID는 어떻게 적어도 하나의 리페어 심볼이 오브젝트로부터 구성되었는지를 지시할 수 있다.
또한, FEC Payload ID field는 더 큰 그룹의 엔코딩 심볼들에 대한 정보를 포함할 수 있다. 패킷에 포함된 encoding symbols 들은 encoding symbols의 더 큰 그룹의 일부일 수 있다. 예를 들어, FEC Payload ID field는 적어도 하나의 심볼들과 관련이 있는 소스 블록에 대한 정보를 포함할 수 있다.
FEC Payload ID 는 Source Block Number(SBN) 및/또는 Encoding Symbol ID(ESI)을 포함할 수 있다. SBN는 패킷 내에 있는 적어도 하나의 엔코딩 심볼과 관련이 있는 소스 블록에 대한 식별자이다. ESI는 패킷 내에 있는 엔코딩 심볼에 대한 식별자 이다.
본 발명의 다른 실시예에 따른 FEC Payload ID field는 오프셋 정보(Start Offset)를 더 포함할 수 있다.
FEC Payload ID field는 딜리버리 오브젝트의 시작 주소(starting address in octets)를 명시하기 위해서 사용될 수 있다. FEC Payload ID field는 다양한 방식으로 전송될 수 있다.
첫째, FEC Payload ID field는 FEC Payload ID의 크기가 0으로 설정된 단일한 새로운 FEC 스킴으로 전송될 수 있다(A simple new FEC scheme with FEC Payload ID set to size 0). 이 경우, 패킷은 32 비트를 사용하여 직접 주소(start offset)로서 전체 오브젝트를 포함할 수 있다.
둘째, FEC Payload ID field는 RFC 6330에 대하여 호환성 있는 방식으로 RFC 5445에서 정의된 Compact No-Code를 사용하여 효율적으로 사용될 수 있는 기존의 FEC 스킴으로 전송될 수 있다. 이 경우, SBN 및 ESI는 심볼 사이즈 “T”와 함께 start offset를 정의할 수 있다(Second, Existing FEC schemes that are widely deployed using the Compact No-Code as defined in RFC 5445 in a compatible manner to RFC 6330 where the SBN and ESI defines the start offset together with the symbol size T).
셋째, LSID는 @sourceFecPayloadID attribute 및 FECParameters element.를 사용하여 위의 어떠한 모드들을 시그널하기 위한 적절한 시그널링을 제공할 수 있다.
이하에서는, 오프셋 정보의 구체적인 내용을 설명한다.
종래의 FLUTE 프로토콜에서는 오프셋 정보를 전송할 필요가 없었다. 종래의 FLUTE 프로토콜은 오브젝트(예를 들어, 파일)를 비실시간으로 전송하므로, 하나의 오브젝트를 고정 크기의 적어도 하나의 데이터로 분할하여 전송하였다.
예를 들어, 종래의 FLUTE 프로토콜에서는 하나의 오브젝트를 고정 크기의 적어도 하나의 소스 블록(Source Block)으로 분할하고, 각각의 소스 블록을 고정 크기의 적어도 하나의 심볼로 분할하고, 각각의 심볼에 헤더를 추가하여 LCT 패킷(또는 FLUTE 패킷)을 생성하였다. 종래의 FLUTE 프로토콜은 하나의 LCT 패킷은 하나의 고정 크기의 심볼만을 포함할 수 있었다.
각각의 소스 블록 및/또는 심볼이 고정 크기이므로, 수신기는 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트 내에서 각각의 소스 블록 및/또는 심볼의 위치를 인식할 수 있었다. 따라서, 수신기는 하나의 오브젝트를 구성하는 모든 소스 블록 및/또는 심볼을 수신한 후에, 수신한 소스 블록 및/또는 심볼의 식별 정보를 기초로 오브젝트를 재구성할 수 있었다.
종래의 FLUTE 프로토콜이 오브젝트를 비실시간으로 전송하는 것에 반하여, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜은 오브젝트를 가변적인 크기의 딜리버리 오브젝트(Delivery Object)로 분할하고, 딜리버리 오브젝트 단위로 실시간으로 전송할 수 있다. 예를 들어, ROUTE 프로토콜은 오브젝트를 가변적인 크기의 오브젝트 내부 구조체(Object Internal Structure) 단위로 데이터를 전송할 수도 있다.
하나의 딜리버리 오브젝트(Delivery Object)는 하나의 ISO BMFF file 또는 하나의 ISO BMFF file의 일부일 수 있다. 하나의 ISO BMFF file의 일부는 프래그먼트, GOP, 청크, Access Unit, 및/또는 NAL Unit을 포함할 수 있다. 하나의 ISO BMFF file의 일부는 전술한 오브젝트 내부 구조체를 의미할 수 있다. 오브젝트 내부 구조체는 독립적으로 의미 있는 데이터 단위이며, 오브젝트 내부 구조체의 타입은 이에 한정되지 않고 의미 있는 단위들을 더 포함할 수 있다.
또한, 본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 LCT 패킷(ALC/LCT 패킷, 또는 ROUTE 패킷)은 적어도 하나의 인코딩 심볼을 포함할 수 있다. 즉, 본 발명의 다른 실시예에 따른 ROUTE 프로토콜에서, 하나의 LCT 패킷에 복수의 인코딩 심볼을 포함할 수 있다. 또한, 각각의 인코딩 심볼은 가변적인 크기일 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷에서, 각각의 TSI는 각각의 트랙에 매칭될 수 있다. 예를 들어, 각각의 TSI는 비디오 트랙, 오디오 트랙, 및/또는 MPEG-DASH의 Representation 중에서 하나에 매칭될 수 있다. 또한, 각각의 TOI는 각각의 딜리버리 오브젝트(Delivery Object)에 맵핑될 수 있다. 예를 들어, TOI가 MPEG-DASH의 Segment에 맵핑되는 경우, 딜리버리 오브젝트는 ISO BMFF 파일 일 수 있다. 또한, 각각의 TOI는 프래그먼트, 청크(chunk), GOP, Access Unit, 및/또는 NAL Unit 중에서 하나에 맵핑될 수 있다.
수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트 내에서 어느 위치에 해당하는지를 인식할 수 없는 경우가 발생한다. 예를 들어, 수신기가 임의적인 순서로 LCT 패킷을 수신하는 경우, 수신기는 LCT 패킷을 순서대로 정렬할 수 없고, 딜리버리 오브젝트를 정확하게 복원 및/또는 파싱할 수 없는 경우가 발생한다.
따라서, 본 발명의 다른 실시예에 따른 오프셋 정보는 파일(예를 들어, 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 현재 전송 중인 패킷이 해당 파일의 처음 데이터를 가지고 있음을 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 해당 딜리버리 오브젝트 내에서 현재 전송 중인 패킷의 순서를 인식할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 현재 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 인식할 수 있을 뿐만 아니라, 현재 패킷이 전송하고 있는 딜리버리 오브젝트의 파일 내에서의 오프셋도 인식할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH Representation)에 매칭되고, TOI는 ISO BMFF 파일(예를 들어, 오브젝트)에 매칭될 수 있다. 이 경우, 딜리버리 오브젝트(Delivery Object)는 ISO BMFF 파일을 나타낼 수 있다. 하나의 비디오 트랙(MPEG-DASH Representation, TSI=1)은 제1 오브젝트(TSI=1, TOI=1) 및 제2 오브젝트(TSI=1, TOI=2)를 포함할 수 있다. 제1 오브젝트(TSI=1, TOI=1)는 순차적으로 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 패킷(TSI=1, TOI=1, Start Offset=200), 제3 패킷(TSI=1, TOI=1, Start Offset=400), 제4 패킷(TSI=1, TOI=1, Start Offset=800), 및/또는 제5 패킷(TSI=1, TOI=1, Start Offset=1000)을 포함할 수 있다.
이 경우, 오프셋 정보(Start Offset)의 값이 ‘0’이면, 해당 패킷의 패킷 페이로드는 해당 파일의 처음 데이터를 가지고 있을 수 있다. 제1 패킷의 오프셋 정보(Start Offset)의 값이 ‘0’이므로, 수신기는 제1 패킷의 패킷 페이로드는 제1 오브젝트의 처음 데이터를 가지고 있다고 인식할 수 있다.
또한, 오프셋 정보(Start Offset)의 값은 해당 오브젝트 내에서 패킷의 순서를 지시할 수 있다. 제1 오브젝트 내에서 제1 패킷의 오프셋 정보부터 제5 패킷의 오프셋 정보가 순차적으로 증가하므로, 수신기는 제1 오브젝트 내에서 제1 패킷 내지 제5 패킷이 순차적으로 배열된다는 것을 인식할 수 있다.
따라서, 수신기는 오프셋 정보를 기초로 각각의 오브젝트 내에서 수신한 LCT 패킷들을 순차적으로 정렬하고, 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 있다. 또한, 수신기는 오프셋 정보를 기초로 각각의 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
한편, 수신기가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 수신기는 수신한 LCT 패킷이 오브젝트(예를 들어, 파일) 내에서 어느 위치에 해당하는지 인식할 수 없는 경우가 발생한다. 예를 들어, LCT 패킷이 임의적인 순서로 전송되면, 수신기는 수신한 LCT 패킷의 오브젝트 내에서의 정확한 오프셋을 알 수 없으므로, LCT 패킷을 수집하여 딜리버리 오브젝트 및/또는 오브젝트를 정확하게 복원할 수 없는 문제가 발생할 수 있다.
예를 들어, TSI는 비디오 트랙(MPEG-DASH Representation)에 매칭되고, TOI는 청크에 매칭될 수 있다. 이 경우, 하나의 비디오 트랙(MPEG-DASH Representation, TSI=1)은 제1 오브젝트(TSI=1) 및 제2 오브젝트(TSI=1)를 포함할 수 있다. 또한, 제1 오브젝트는 제1 청크(TSI=1, TOI=1), 제2 청크(TSI=1, TOI=2), 및/또는 제3 청크(TSI=1, TOI=3)를 포함하고, 제2 오브젝트는 제4 청크(TSI=1, TOI=4) 및/또는 제5 청크(TSI=1, TOI=5)를 포함할 수 있다.
수신기는 제1 청크를 포함하는 제1 패킷(TSI=1, TOI=1, Start Offset=0), 제2 청크를 포함하는 제2 패킷(TSI=1, TOI=2, Start Offset=200), 제3 청크를 포함하는 제3 패킷(TSI=1, TOI=3, Start Offset=1000), 제4 청크를 포함하는 제4 패킷(TSI=1, TOI=4, Start Offset=0), 및/또는 제5 청크를 포함하는 제5 패킷(TSI=1, TOI=5, Start Offset=1000)을 수신할 수 있다. 여기에서는 하나의 패킷이 하나의 청크를 포함하는 것으로 설명하였지만, 하나의 청크가 적어도 하나의 패킷을 포함할 수 있다.
TOI가 오브젝트(예를 들어, 파일)에 매칭되는 것이 아니라 오브젝트 보다 작은 데이터 단위인 오브젝트 내부 구조체에 매칭되면, 수신기는 오브젝트를 식별할 수 있는 별도의 정보가 없는 한 오브젝트를 식별할 수 없다.
따라서, 수신기는 TSI 및 TOI 만으로는 수신한 제1 패킷, 2 패킷 및/또는 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 정확히 알 수 없다. 또한, 수신기는 TSI 및 TOI 만으로는 수신한 제4 패킷 및/또는 제5 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지 여부를 알 수 없다.
즉, 수신기는 제1 패킷 내지 제5 패킷이 순차적으로 배열되는 것은 TSI 및 TOI 를 기초로 식별할 수 있지만, 제3 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI 만으로는 식별할 수 없다. 또한, 제4 패킷이 제3 패킷의 다음 패킷이라는 것은 TSI 및 TOI를 기초로 식별할 수 있지만, 제4 패킷이 제1 오브젝트에 속하는지 제2 오브젝트에 속하는지는 TSI 및 TOI만으로는 식별할 수 없다.
이 경우, 수신기는 제1 패킷, 제2 패킷, 및/또는 제3 패킷을 수신하더라도, 제1 오브젝트를 정확하게 복원할 수 없다. 또한, 수신기는 제4 패킷 및/또는 제5 패킷을 수신하더라도, 제2 오브젝트를 정확하게 복원할 수 없다. 그 결과, 수신기는 실시간으로 콘텐츠를 재생할 수 없게 된다.
따라서, 본 발명의 다른 실시예에 따른 LCT 패킷은 오프셋 정보(Start Offset)를 제공하는 것을 특징으로 한다. 오프셋 정보는 오브젝트 내에서 현재 전송 중인 패킷 페이로드의 오프셋을 지시할 수 있다. 수신기는 오프셋 정보를 기초로 동일한 오브젝트 내에 포함되는 오브젝트 내부 구조체 및/또는 패킷들을 식별할 수 있다.
오프셋 정보의 값이 ‘0’이면, 해당 패킷은 해당 오브젝트의 처음 패킷 임을 나타낸다. 즉, 제1 패킷 및 제4 패킷의 오프셋 정보는 ‘0’이므로, 제1 패킷 및 제4 패킷은 각각 다른 오브젝트에 속하고, 각각 해당 오브젝트의 맨 처음 패킷을 나타낸다. 또한, 수신기는 오프셋 정보뿐만 아니라 TSI 및/또는 TOI를 기초로 제1 패킷, 제2 패킷, 및/또는 제3 패킷은 제1 오브젝트에 속하고, 제4 패킷 및/또는 제5 패킷은 제2 오브젝트에 속한다는 것을 식별할 수 있다.
따라서, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 수신한 LCT 패킷이 각각의 오브젝트 내에서 어느 위치에 해당하는 지를 식별하고, 수신한 LCT 패킷을 순서대로 정렬할 수 있다. 예를 들어, 수신기는 오프셋 정보 및 TOI가 순차적으로 증가하도록 패킷들을 정렬할 수 있다.
그리고 나서, 수신기는 오프셋 정보가 ‘0’인 패킷부터 다음의 오프셋 정보가 ‘0’인 패킷의 이전 패킷을 하나의 오브젝트로 식별할 수 있다. 그리고, 수신기는 TOI를 기초로 하나의 오브젝트 내에서 딜리버리 오브젝트 및/또는 오브젝트 내부 구조체를 식별할 수 있다.
또한, 수신기는 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 복원할 수 있다.
또한, 수신기는 TSI, TOI, 및/또는 오프셋 정보 중에서 적어도 하나를 기초로 각각의 딜리버리 오브젝트 및/또는 각각의 오브젝트를 정확하게 파싱 및/또는 디코딩할 수 있다.
전술한 바와 같이, 송신기가 독립적으로 의미 있는 단위인 오브젝트 내부 구조체(Object Internal Structure)의 단위로 데이터를 전송하면, 가변적인 크기로 데이터를 실시간으로 전송할 수 있다. 따라서, 수신기는 하나의 오브젝트를 전부 수신하기 전이라도 오브젝트 내부 구조체를 수신 및 식별하면, 수신기는 오브젝트 내부 구조체 단위로 재생할 수 있다. 그 결과, 파일(또는 오브젝트) 기반의 멀티미디어 콘텐츠는 방송망을 통하여 실시간으로 전송 및 재생될 수 있다.
도 64은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Reserved field(Res), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다. RAP 정보(P)는 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. RAP 정보(P)는 각 패킷의 시작 지점에서부터 12번째 또는 13번째 비트에 위치하는 한 개의 bit를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다 이 경우, 한 개의 bit를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
랜덤 엑세스 포인트(RAP)는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미한다. 예를 들어, ‘I-프레임’은 MPEG에서 해당 프레임의 이전 프레임 및 이후 프레임을 사용하는 시간적 압축 기술을 사용하지 않고, 다른 프레임과는 독립적으로 공간적 압축 기술만 사용해서 만들어지는 프레임을 의미한다. 따라서, ‘I-프레임’은 이미지로부터 직접 코딩하여 생성되므로 inter block들로만 구성되고 랜덤 엑세스 포인트(Random Access Point)으로서 역할을 할 수 있다.
수신기는 RAP 정보(P)를 기초로 전송중인 패킷 시퀀스(sequence)에서 랜덤 액세스가 가능한 패킷을 식별할 수 있다. 예를 들어, 수신한 패킷의 페이로드가 ‘I-프레임’에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하고 있다고 지시할 수 있다. 또한, 수신한 패킷의 페이로드가 ‘B-프레임’ 및/또는 ‘P-프레임’에 관한 데이터를 포함하고 있으면, RAP 정보(P)는 해당 패킷이 랜덤 액세스 포인트(RAP)에 해당하는 데이터를 포함하지 않는다고 지시할 수 있다.
수신기가 특정 시점부터 GOP 데이터를 순차적으로 수신할 때, 처음의 패킷이 ‘I-프레임’과 같은 RAP에 해당하면 수신기는 해당 패킷부터 디코딩을 시작할 수 있다. 하지만, 처음의 패킷이 ‘B-프레임’ 및/또는 ‘P-프레임’과 같은 RAP에 해당하지 않으면 수신기는 해당 패킷부터 디코딩을 시작할 수 없다. 이 경우, 수신기는 RAP가 아닌 패킷들은 스킵하고, 다음에 오는 ‘I-프레임’과 같은 RAP에 해당하는 패킷부터 디코딩을 할 수 있다.
따라서, 방송 환경에서의 채널 튜닝 또는 사용자의 요청에 의한 시퀀스 내의 임의 지점 접근 상황에 있어서, 수신기는 RAP 정보(P)를 기초로 RAP에 해당하지 않는 패킷은 스킵하고 RAP에 해당하는 패킷부터 디코딩하므로, 패킷의 수신 및 디코딩 효율을 높일 수 있다.
도 65은 본 발명의 다른 실시예에 따른 RAP (Random Access Point) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Reserved field(Res), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
패킷 헤더는 RAP(Random Access Point) 정보(P)를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
RAP 정보(P)는 각 패킷의 시작 지점에서부터 6번째 또는 7번째 비트에 위치하는 한 개의 bit를 활용하여 현재 패킷이 전송하고 있는 패킷 페이로드에 랜덤 액세스 포인트(RAP)에 해당하는 데이터가 포함되어 있는지 여부를 지시할 수 있다. 이 경우, 한 개의 bit를 사용하므로 패킷 헤더의 사이즈를 줄일 수 있고, 효율성을 높일 수 있다.
본 발명의 다른 실시예에 따른 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 bit를 활용하여 RAP 정보(P)를 포함하므로, 패킷 헤더의 12번째 또는 13번째 비트에 위치하는 bit는 다른 용도로 활용할 수 있다.
예를 들어, 패킷은 패킷 헤더의 6번째 또는 7번째 비트에 위치하는 bit를 활용하여 RAP 정보(P)를 포함하고, 패킷 헤더의 12번째 및/또는 13번째 비트에 위치하는 bit를 활용하여 전술한 오브젝트 타입 정보, 및/또는 전술한 우선순위 정보를 포함할 수 있다.
도 66은 본 발명의 다른 실시예에 따른 실시간(Real Time) 정보를 포함하는 패킷의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 패킷은 LCT 패킷일 수 있고, LCT 패킷은 해킷 헤더 및 패킷 페이로드를 포함할 수 있다. 패킷 헤더는 패킷 페이로드에 대한 메타 데이터를 포함할 수 있다. 패킷 페이로드는 MPEG-DASH 콘텐츠의 데이터를 포함할 수 있다.
예를 들어, 패킷 헤더는 LCT version number field(V), Congestion control flag field(C), Protocol-Specific Indication field(PSI), Transport Session Identifier flag field(S), Transport Object Identifier flag field(O), Half-word flag field(H), Reserved field(Res), Close Session flag field(A), Close Object flag field(B), LCT header length field(HDR_LEN), Codepoint field(CP), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), Header Extensions field, 및/또는 FEC Payload ID field를 포함할 수 있다.
또한, 패킷 페이로드는 Encoding Symbol(s) field를 포함할 수 있다.
본 발명의 다른 실시예에 따른 LCT 패킷을 구성하는 각 필드 중에서 전술한 필드와 동일한 명칭의 필드는 전술한 내용을 모두 포함할 수 있으므로 구체적인 설명은 전술한 설명으로 대체하기로 한다.
송신기는 FDT(File Delivery Table) 레벨 및/또는 딜리버리 오브젝트 레벨에서 정의되는 실시간 정보(T)를 통해서 LCT 패킷이 전송하고 있는 오브젝트 및/또는 오브젝트 내부 구조체가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 딜리버리 오브젝트 레벨은 오브젝트 레벨, 및/또는 오브젝트 내부 구조체 레벨를 포함할 수 있다.
실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, LSID는 실시간 정보(T)를 포함할 수 있다. 또한, 실시간 정보(T)가 FDT 레벨에서 정의되면, 실시간 정보(T)는 해당 FDT에서 서술하는 모든 오브젝트들이 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 여기에서, 해당 FDT에서 서술하는 모든 오브젝트들은 해당 LCT transport session에 속하는 모든 오브젝트들을 나타낼 수 있다.
또한, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 예를 들어, 딜리버리 오브젝트가 오브젝트에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다. 또한, 딜리버리 오브젝트가 오브젝트 내부 구조체에 매칭되는 경우, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 실시간 정보(T)는 해당 오브젝트 내부 구조체에 속하는 모든 데이터가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
일 실시예로, 실시간 정보(T)가 딜리버리 오브젝트 레벨에서 정의되면, 패킷 헤더는 실시간(Real Time) 정보(T)를 더 포함할 수 있다. 실시간 정보(T)는 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간(Real Time)으로 전송되는지 비실시간(Non Real Time)으로 전송되는지 여부를 지시할 수 있다.
예를 들어, 딜리버리 오브젝트는 TOI에 매칭되는 데이터 단위일 수 있다. 또한, 실시간 정보(T)의 값이 ‘0’ 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 비실시간으로 전송된다고 지시할 수 있고, 실시간 정보(T)의 값이 ‘1’ 이면 LCT 패킷이 전송하고 있는 딜리버리 오브젝트는 실시간으로 전송된다고 지시할 수 있다.
실시간 정보(T)는 TOI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
전술한 바와 같이, TOI 필드를 OGI 필드 및 DTOI 필드로 분할한 경우, 실시간 정보(T)는 OGI 필드의 첫 번째 비트를 활용하여 LCT 패킷이 전송하고 있는 딜리버리 오브젝트가 실시간으로 전송되는지 비실시간으로 전송되는지 여부를 지시할 수 있다.
실시간 정보(T)는 TOI 필드 및/또는 OGI 필드의 첫 번째 비트에 포함되므로, 송신기는 하나의 LCT transport session(예를 들어, 비디오 트랙, 오디오 트랙, MPEG-DASH의 Representation) 내에서 실시간 데이터 및 비실시간 데이터를 함께 전송할 수 있다. 예를 들어, 송신기는 하나의 LCT transport session 내에서 오디오 데이터 및/또는 비디오 데이터를 실시간으로 전송할 수 있고, 이미지 및/또는 애플리케이션 등을 비실시간으로 전송할 수 있다. 또한, 송신기는 하나의 LCT transport session 내에서 일부 딜리버리 오브젝트들은 실시간으로 전송하고, 나머지 딜리버리 오브젝트들은 비실시간으로 전송할 수 있다.
또한, 실시간 정보(T)는 기존의 TOI 필드의 첫 번째 비트에 포함되므로, 본 발명의 다른 실시예에 따른 LCT 패킷은 기존의 ALC/LCT 및/또는 FLUTE 프로토콜과의 역호환성을 보장할 수 있다.
도 67은 본 발명의 다른 실시예에 따른 방송 신호 송신 장치의 구조를 나타낸 도면이다.
본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 딜리버리 오브젝트 제너레이터(Delivery Object Generator, C51300), 시그널링 인코더(Signaling Encoder, C51100), 및/또는 트랜스미터(transmitter, C31500)를 포함할 수 있다.
딜리버리 오브젝트 제너레이터(Delivery Object Generator)는 파일을 파일의 일부(a part of the file)에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)로 분할할 수 있다.
시그널링 인코더(Signaling Encoder)는 딜리버리 오브젝트에 대한 메타데이터를 포함하는 시그널링 정보를 인코딩할 수 있다.
시그널링 정보는 적어도 하나의 딜리버리 오브젝트가 적어도 하나의 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함할 수 있다.
트랜스미터(transmitter)는 적어도 하나의 딜리버리 오브젝트 및 시그널링 정보를 전송할 수 있다.
본 발명의 다른 실시예에 따른 방송 신호 송신 장치는 전술한 방송 신호 송신 장치의 기능을 모두 포함할 수 있다. 또한, 시그널링 정보에 대한 구체적인 내용은 전술한 내용으로 대체하거나, 다음 도면에서 구체적으로 설명하기로 한다.
도 68은 본 발명의 다른 실시예에 따른 방송 신호 수신 장치의 구조를 나타낸 도면이다.
방송 신호 수신 장치는 방송 신호를 수신할 수 있다. 방송 신호는 Signaling data, ESG data, NRT Content data, and/or RT Content data 를 포함할 수 있다.
방송 신호 수신 장치는 ROUTE Session Description을 기초로 ROUTE 세션에 참가(join)할 수 있다. ROUTE Session Description은 방송 신호 송신 장치의 IP address, ROUTE Session의 주소 및 포트 번호, 해당 세션이 ROUTE Session이며, 모든 패킷은 LCT 패킷 임을 지시하는 정보를 포함할 수 있다. 또한, ROUTE Session Description은 해당 세션을 IP/UDP를 이용하여 참가(join) 및 소비(consume)하는데 필요한 정보를 더 포함할 수 있다.
그리고 나서, 방송 신호 수신 장치는 ROUTE Session에 포함된 적어도 하나의 LCT transport session에 대한 정보를 포함하고 있는 LCT Session Instance Description (LSID)을 수신할 수 있다.
그리고 나서, 방송 신호 수신 장치는 적어도 하나의 LCT transport session에 포함된 멀티미디어 콘텐츠를 수신할 수 있다. 멀티미디어 콘텐츠는 적어도 하나의 파일로 구성될 수 있다. 그리고, 방송 신호 수신 장치는 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 파일 기반의 멀티미디어 콘텐츠를 실시간으로 수신할 수 있다.
이를 위하여, 본 발명의 다른 실시예에 따른 방송 신호 수신 장치는 시그널링 디코더(Signaling Decoder, C52100), 딜리버리 오브젝트 프로세서(Delivery Object Processor, C52300), 및/또는 디코더(Decoder, C52500)를 포함할 수 있다.
시그널링 디코더(C52100)는 파일의 일부(a part of a file)에 해당하는 적어도 하나의 딜리버리 오브젝트(Delivery Object)에 대한 메타데이터를 포함하는 시그널링 정보를 디코딩할 수 있다.
시그널링 정보는 적어도 하나의 딜리버리 오브젝트가 LCT(Layered Coding Transport) 패킷을 이용하여 단방향 채널(unidirectional channel)을 통하여 실시간으로 전송되는지 여부를 지시하는 실시간 정보를 포함할 수 있다. 시그널링 정보는 LSID 뿐만 아니라, LCT 패킷의 확장된 헤더에도 포함될 수 있다.
실시간 정보는 FDT(File Delivery Table)에서 정의되고, 실시간 정보는 FDT에서 서술하는 모든 딜리버리 오브젝트가 실시간으로 전송되는지 여부를 지시할 수 있다. 또한, 실시간 정보는 상기 딜리버리 오브젝트를 식별하는 TOI(Transport Object Identifier) 필드의 첫 번째 비트로 정의되고, 실시간 정보는 해당 딜리버리 오브젝트에 속하는 모든 데이터가 실시간으로 전송되는지 여부를 지시할 수 있다.
딜리버리 오브젝트 프로세서(C52300)는 상기 적어도 하나의 LCT 패킷을 수집하고, 적어도 하나의 딜리버리 오브젝트를 복원할 수 있다. 딜리버리 오브젝트 프로세서(C52300)는 전술한 Transmission Block Regenerator(C22030), Fragment Regenerator(C22040), Fragment Parser(C22050), 및/또는 Extractor(C32050)의 기능을 포함할 수 있다.
디코더(C52500)는 적어도 하나의 딜리버리 오브젝트를 디코딩할 수 있다. 디코더(C52500)는 딜리버리 오브젝트에 대한 정보를 적어도 하나의 Access Unit의 형태로 전달받고, 적어도 하나의 Access Unit을 디코딩하여 Media Data를 생성할 수 있다. 디코더(C52500)는 파일의 일부에 해당하는 딜리버리 오브젝트를 수신하면, 하나의 파일을 전부 수신하지 않더라도 딜리버리 오브젝트를 디코딩할 수 있다.
시그널링 정보는 파일 내에서 LCT 패킷이 전송하고 있는 데이터의 오프셋을 지시하는 오프셋 정보를 더 포함할 수 있다. 딜리버리 오브젝트 프로세서(C52300)는 오프셋 정보를 기초로 딜리버리 오브젝트를 식별할 수 있다. 오프셋 정보는 오프셋을 파일의 시작 지점으로부터의 바이트 수로 지시할 수 있다. 오프셋 정보는 LCT Header Extension의 형식일 수도 있고, FEC Payload ID field에 포함될 수도 있다.
방송 신호 수신 장치가 가변적인 크기의 딜리버리 오브젝트의 단위로 실시간으로 LCT 패킷을 수신하는 경우, 방송 신호 수신 장치는 수신한 LCT 패킷이 오브젝트 내에서 어느 위치에 해당하는지를 인식할 수 없는 경우가 발생한다. 예를 들어, 방송 신호 수신 장치가 임의적인 순서로 LCT 패킷을 수신하는 경우, 방송 신호 수신 장치는 LCT 패킷을 순서대로 정렬할 수 없고, 딜리버리 오브젝트를 정확하게 복원 및/또는 파싱할 수 없는 경우가 발생한다.
따라서, 본 발명의 다른 실시예에 따른 오프셋 정보는 파일(예를 들어, 오브젝트) 내에서 현재 전송중인 패킷 페이로드의 오프셋을 지시할 수 있다. 방송 신호 수신 장치는 오프셋 정보를 기초로 현재 전송 중인 LCT 패킷이 해당 파일의 처음 데이터를 가지고 있음을 인식할 수 있다. 또한, 방송 신호 수신 장치는 오프셋 정보를 기초로 해당 파일 및/또는 딜리버리 오브젝트 내에서 현재 전송 중인 LCT 패킷의 순서를 인식할 수 있다.
또한, 방송 신호 수신 장치는 오프셋 정보를 기초로 현재 LCT 패킷이 전송하고 있는 패킷 페이로드의 파일 내에서의 오프셋을 인식할 수 있을 뿐만 아니라, 현재 LCT 패킷이 전송하고 있는 딜리버리 오브젝트의 파일 내에서의 오프셋도 인식할 수 있다.
TOI가 오브젝트(예를 들어, 파일)에 매칭되는 것이 아니라 오브젝트 보다 작은 데이터 단위인 오브젝트 내부 구조체에 매칭되면, 방송 신호 수신 장치는 오브젝트를 식별할 수 있는 별도의 정보가 없는 한 오브젝트를 식별할 수 없다.
따라서, 방송 신호 수신 장치는 오프셋 정보를 기초로 동일한 오브젝트 내에 포함되는 오브젝트 내부 구조체 및/또는 LCT 패킷들을 식별할 수 있다.
시그널링 정보는 LCT 패킷이 랜덤 액세스 포인트(Random Access Point, RAP)에 해당하는 데이터를 포함하고 있는지 여부를 지시하는 RAP 정보를 더 포함할 수 있다. 랜덤 엑세스 포인트는 다른 프레임을 참조하지 않고 부호화 될 수 있고, 랜덤 엑세스가 가능한 기본 프레임을 의미한다.
딜리버리 오브젝트 프로세서(C52300)는 RAP 정보를 기초로 랜덤 액세스 포인트에 해당하는 데이터를 전송하는 패킷부터 적어도 하나의 패킷을 수집할 수 있다.
예를 들어, 방송 신호 수신 장치는 특정 시점부터 GOP 데이터를 순차적으로 수신할 때, 처음의 패킷이 ‘I-프레임’과 같은 RAP에 해당하면 방송 신호 수신 장치는 해당 LCT 패킷부터 디코딩을 시작할 수 있다. 하지만, 처음의 LCT 패킷이 ‘B-프레임’ 및/또는 ‘P-프레임’과 같은 RAP에 해당하지 않으면 수신기는 해당 LCT 패킷부터 디코딩을 시작할 수 없다. 이 경우, 방송 신호 수신 장치는 RAP가 아닌 LCT 패킷들은 스킵하고, 다음에 오는 ‘I-프레임’과 같은 RAP에 해당하는 LCT 패킷부터 디코딩을 할 수 있다.
시그널링 정보는 LCT 패킷이 전송하고 있는 데이터의 우선순위를 지시하는 우선순위 정보(Priority information)를 더 포함할 수 있다.
딜리버리 오브젝트 프로세서(C52300)는 우선순위 정보를 기초로 LCT 패킷을 선택적으로 수집할 수 있다.
방송 신호 수신 장치는 AVC/HEVC 등의 비디오 데이터를 수신하는 경우에, ‘ftyp’, ‘moov’, ‘moof’, ‘I-Picture’, ‘P-Picture’, 및/또는 ‘B-Picture’의 우선순위 정보를 기초로 우선순위가 높은 LCT 패킷을 우선적으로 추출하고 우선순위가 낮은 LCT 패킷을 선택적으로 추출하여 하나의 시퀀스를 구성할 수 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
C31500 : 송신기 C51100 : 시그널링 인코더
C51300 : 딜리버리 오브젝트 생성기 C52110 : 시그널링 디코더
C52300 : 딜리버리 오브젝트 프로세서 C52500 : 디코더

Claims (20)

  1. ISO BMFF (ISO Base Media File Format) 파일에 대응하는 딜리버리 오브젝트의 일부를 포함하는 LCT (Layered Coding Transport) 패킷과 시그널링 데이터를 포함하는 LCT 패킷을 생성하는 단계,
    여기서, 상기 LCT 패킷들은 적어도 하나의 트랜스포트 세션을 통해 전송되고,
    상기 시그널링 데이터는 리얼 타임 어트리뷰트 (real-time attribute)를 포함하고, 상기 리얼 타임 어트리뷰트는 상기 적어도 하나의 트랜스포트 세션이 실시간 (real-time) 컨텐트를 전송하는지를 나타내고,
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷은 헤더 및 페이로드를 포함하고,
    상기 헤더에 포함된 헤더 정보는 스타트 오프셋 (start offset) 정보를 포함하고,
    상기 스타트 오프셋 (start offset) 정보는 상기 LCT 패킷에서 전송되는 상기 딜리버리 오브젝트의 일부의 시작 바이트 위치를 나타냄; 및
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷과 상기 시그널링 데이터를 포함하는 LCT 패킷을 포함하는 방송 신호를 전송하는 단계를 포함하는 방송 신호 송신 방법.
  2. 제 1 항에 있어서,
    상기 LCT 패킷의 헤더 정보는 TOI (Transport Object Identifier) 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 방법.
  3. 제 2 항에 있어서,
    상기 TOI 정보는 상기 시그널링 데이터에서 기술하는 상기 딜리버리 오브젝트를 위한 URL (Uniform Resource Locator) 정보와 매핑되는 것을 특징으로 하는 방송 신호 송신 방법.
  4. 삭제
  5. 삭제
  6. ISO BMFF (ISO Base Media File Format) 파일에 대응하는 딜리버리 오브젝트의 일부를 포함하는 LCT (Layered Coding Transport) 패킷과 시그널링 데이터를 포함하는 LCT 패킷을 생성하는 패킷타이저,
    여기서, 상기 LCT 패킷들은 적어도 하나의 트랜스포트 세션을 통해 전송되고,
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷은 헤더 및 페이로드를 포함하고,
    상기 헤더에 포함된 헤더 정보는 스타트 오프셋 (start offset) 정보를 포함하고,
    상기 스타트 오프셋 (start offset) 정보는 상기 LCT 패킷에서 전송되는 상기 딜리버리 오브젝트의 일부의 시작 바이트 위치를 나타내고,
    여기서, 상기 시그널링 데이터는 리얼 타임 어트리뷰트 (real-time attribute)를 포함하고, 상기 리얼 타임 어트리뷰트는 상기 적어도 하나의 트랜스포트 세션이 실시간 (real-time) 컨텐트를 전송하는지를 나타냄; 및
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷과 상기 시그널링 데이터를 포함하는 LCT 패킷을 포함하는 방송 신호를 전송하는 트랜스미터를 포함하는 방송 신호 송신 장치.
  7. 제 6 항에 있어서,
    상기 LCT 패킷의 헤더 정보는 TOI (Transport Object Identifier) 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 장치.
  8. 제 7 항에 있어서,
    상기 TOI 정보는 상기 시그널링 데이터에서 기술하는 상기 딜리버리 오브젝트를 위한 URL (Uniform Resource Locator) 정보와 매핑되는 것을 특징으로 하는 방송 신호 송신 장치.
  9. 삭제
  10. 삭제
  11. ISO BMFF (ISO Base Media File Format) 파일에 대응하는 딜리버리 오브젝트의 일부를 포함하는 LCT (Layered Coding Transport) 패킷과 시그널링 데이터를 포함하는 LCT 패킷을 포함하는 방송 신호를 수신하는 단계,
    여기서, 상기 LCT 패킷들은 적어도 하나의 트랜스포트 세션을 통해 수신되고,
    상기 시그널링 데이터는 리얼 타임 어트리뷰트 (real-time attribute)를 포함하고, 상기 리얼 타임 어트리뷰트는 상기 적어도 하나의 트랜스포트 세션이 실시간 (real-time) 컨텐트를 전송하는지를 나타내고,
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷은 헤더 및 페이로드를 포함하고,
    상기 헤더에 포함된 헤더 정보는 스타트 오프셋 (start offset) 정보를 포함하고,
    상기 스타트 오프셋 (start offset) 정보는 상기 LCT 패킷에서 전송되는 상기 딜리버리 오브젝트의 일부의 시작 바이트 위치를 나타냄; 및
    상기 딜리버리 오브젝트를 디코딩하는 단계를 포함하는 방송 신호 수신 방법.
  12. 제 11 항에 있어서,
    상기 LCT 패킷의 헤더 정보는 TOI (Transport Object Identifier) 정보를 더 포함하는 것을 특징으로 하는 방송 신호 수신 방법.
  13. 제 12 항에 있어서,
    상기 TOI 정보는 상기 시그널링 데이터에서 기술하는 상기 딜리버리 오브젝트를 위한 URL (Uniform Resource Locator) 정보와 매핑되는 것을 특징으로 하는 방송 신호 수신 방법.
  14. 삭제
  15. 삭제
  16. ISO BMFF (ISO Base Media File Format) 파일에 대응하는 딜리버리 오브젝트의 일부를 포함하는 LCT (Layered Coding Transport) 패킷들과 시그널링 데이터를 포함하는 LCT 패킷을 포함하는 방송 신호를 수신하는 수신부,
    여기서, 상기 LCT 패킷들은 적어도 하나의 트랜스포트 세션을 통해 수신되고,
    상기 시그널링 데이터는 리얼 타임 어트리뷰트 (real-time attribute)를 포함하고, 상기 리얼 타임 어트리뷰트는 상기 적어도 하나의 트랜스포트 세션이 실시간 (real-time) 컨텐트를 전송하는지를 나타내고,
    상기 딜리버리 오브젝트의 일부를 포함하는 LCT 패킷은 헤더 및 페이로드를 포함하고,
    상기 헤더에 포함된 헤더 정보는 스타트 오프셋 (start offset) 정보를 포함하고,
    상기 스타트 오프셋 (start offset) 정보는 상기 LCT 패킷에서 전송되는 상기 딜리버리 오브젝트의 일부의 시작 바이트 위치를 나타냄; 및
    상기 딜리버리 오브젝트를 디코딩하는 디코더를 포함하는 방송 신호 수신 장치.
  17. 제 16 항에 있어서,
    상기 LCT 패킷의 헤더 정보는 TOI (Transport Object Identifier) 정보를 더 포함하는 것을 특징으로 하는 방송 신호 수신 장치.
  18. 제 17 항에 있어서,
    상기 TOI 정보는 상기 시그널링 데이터에서 기술하는 상기 딜리버리 오브젝트를 위한 URL (Uniform Resource Locator) 정보와 매핑되는 것을 특징으로 하는 방송 신호 수신 장치.



  19. 삭제
  20. 삭제
KR1020177012058A 2014-02-24 2015-02-24 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 KR101880467B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461944045P 2014-02-24 2014-02-24
US61/944,045 2014-02-24
PCT/KR2015/001758 WO2015126223A1 (en) 2014-02-24 2015-02-24 Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001410A Division KR101737849B1 (ko) 2014-02-24 2015-02-24 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Publications (2)

Publication Number Publication Date
KR20170055026A KR20170055026A (ko) 2017-05-18
KR101880467B1 true KR101880467B1 (ko) 2018-07-20

Family

ID=53878625

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177012058A KR101880467B1 (ko) 2014-02-24 2015-02-24 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR1020167001410A KR101737849B1 (ko) 2014-02-24 2015-02-24 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167001410A KR101737849B1 (ko) 2014-02-24 2015-02-24 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (5)

Country Link
US (3) US10476693B2 (ko)
EP (1) EP3036883B3 (ko)
KR (2) KR101880467B1 (ko)
CN (1) CN105745899B (ko)
WO (1) WO2015126223A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694259B2 (en) * 2014-04-09 2020-06-23 Lg Electronics Inc. Broadcast transmission device, broadcast reception device, operating method of broadcast transmission device, and operating method of broadcast reception device
US10582269B2 (en) 2014-07-11 2020-03-03 Lg Electronics Inc. Method and device for transmitting and receiving broadcast signal
US10419718B2 (en) * 2014-07-11 2019-09-17 Lg Electronics Inc. Method and device for transmitting and receiving broadcast signal
KR20170007764A (ko) 2014-07-29 2017-01-20 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
WO2016064151A1 (ko) * 2014-10-21 2016-04-28 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US20160308927A1 (en) * 2015-04-20 2016-10-20 Qualcomm Incorporated Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast
US9801030B2 (en) * 2015-07-15 2017-10-24 Qualcomm Incorporated Internal data transfer in EMBMS reception
US10623635B2 (en) * 2016-09-23 2020-04-14 Mediatek Inc. System and method for specifying, signaling and using coding-independent code points in processing media contents from multiple media sources
KR102007669B1 (ko) * 2017-11-29 2019-10-21 전자부품연구원 방송 수신기 및 이의 운용 방법
US11665588B2 (en) * 2020-01-07 2023-05-30 Mediatek Singapore Pte. Ltd Extended sequence control for fragmented frames in WLAN
US11792824B2 (en) * 2020-03-30 2023-10-17 Qualcomm Incorporated Multicast feedback and retransmission for transport block grouping

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259994A1 (en) * 2011-04-05 2012-10-11 Gillies Donald W Ip broadcast streaming services distribution using file delivery methods
WO2013107502A1 (en) * 2012-01-17 2013-07-25 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream
US20130342762A1 (en) * 2012-06-20 2013-12-26 Qualcomm Incorporated Device and method for multimedia communications with picture orientation information
KR20140016906A (ko) * 2011-05-24 2014-02-10 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 장치 및 그 수신 장치의 부가 서비스 처리 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060193337A1 (en) * 2005-02-25 2006-08-31 Toni Paila Device management broadcast operation
BRPI0608470A2 (pt) * 2005-03-24 2010-01-05 Nokia Corp método para notificar o dispositivo receptor sobre uma sessão de transmissão futura, dispositivo de transmissão que suporta uma notificação do dispositivo receptor sobre uma sessão de transmissão futura, rede de comunicação, sistema de comunicação, produto de programa, e, aparelho de recepção
US20070186005A1 (en) 2005-09-01 2007-08-09 Nokia Corporation Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
WO2007078253A2 (en) * 2006-01-05 2007-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
ES2526814T3 (es) * 2006-01-11 2015-01-15 Core Wireless Licensing S.à.r.l. Extensiones para el Formato de Contenedores de Medios enriquecidos para su uso por parte de servidores de flujo continuo de difusión general/multidifusión
US20080101317A1 (en) * 2006-10-30 2008-05-01 Nokia Corporation System and method for providing advanced session control of a unicast session
KR100848273B1 (ko) 2007-07-03 2008-07-25 삼성전자주식회사 디지털 방송수신기의 파일 처리 장치 및 방법
US7733819B2 (en) * 2007-08-24 2010-06-08 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8156237B2 (en) * 2008-12-09 2012-04-10 Lg Electronics Inc. Method of processing non-real time service and broadcast receiver
US8462001B2 (en) 2010-07-30 2013-06-11 Great Eastern Group, Inc. Environmental alarm sensor panel and related method for a telecommunication cable station
KR101848664B1 (ko) 2010-11-23 2018-04-13 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송/수신 장치에서 방송 신호 송수신 방법
KR101517711B1 (ko) * 2011-04-20 2015-05-04 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 방법 및 그 수신 장치
US9451401B2 (en) * 2011-05-27 2016-09-20 Qualcomm Incorporated Application transport level location filtering of internet protocol multicast content delivery
US20130254611A1 (en) * 2012-03-23 2013-09-26 Qualcomm Incorporated Recovering data in multimedia file segments
US9294226B2 (en) * 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US20130282870A1 (en) * 2012-04-18 2013-10-24 Sony Corporation Reception apparatus, reception method, transmission apparatus, transmission method, and program
JP6348251B2 (ja) * 2012-09-13 2018-06-27 サターン ライセンシング エルエルシーSaturn Licensing LLC 端末装置、受信方法、およびプログラム
US20140098745A1 (en) * 2012-10-04 2014-04-10 Qualcomm Incorporated Method and system for compressing data packets in lte evolved multicast broadcast multimedia service
EP2888892B1 (en) * 2012-10-24 2019-06-12 Huawei Technologies Co., Ltd. Communication receiver
US9537902B2 (en) * 2013-02-13 2017-01-03 Qualcomm Incorporated Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
EP2963939A4 (en) * 2013-02-27 2016-10-05 Sony Corp INFORMATION PROCESSING DEVICE, METHOD AND PROGRAM AND CONTENT PROCESSING SYSTEM
US9900166B2 (en) * 2013-04-12 2018-02-20 Qualcomm Incorporated Methods for delivery of flows of objects over broadcast/multicast enabled networks
CN105659623B (zh) * 2013-10-30 2019-04-26 索尼公司 发送装置、发送方法、接收装置以及接收方法
KR102273757B1 (ko) * 2014-01-03 2021-07-06 엘지전자 주식회사 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법
JP2015136059A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2017517180A (ja) * 2014-04-09 2017-06-22 エルジー エレクトロニクス インコーポレイティド 放送信号送/受信処理方法及び装置
EP3175624A4 (en) * 2014-07-31 2018-02-28 LG Electronics Inc. Apparatus and method for transmitting/receiving processes of a broadcast signal
KR101861692B1 (ko) * 2014-10-12 2018-05-28 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP6633739B2 (ja) * 2015-08-20 2020-01-22 エルジー エレクトロニクス インコーポレイティド 放送信号送信装置、放送信号受信装置、放送信号送信方法、及び放送信号受信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259994A1 (en) * 2011-04-05 2012-10-11 Gillies Donald W Ip broadcast streaming services distribution using file delivery methods
KR20140002026A (ko) * 2011-04-05 2014-01-07 퀄컴 인코포레이티드 파일 전달 방법들을 이용한 ip 브로드캐스트 스트리밍 서비스 배포
KR20140016906A (ko) * 2011-05-24 2014-02-10 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 장치 및 그 수신 장치의 부가 서비스 처리 방법
WO2013107502A1 (en) * 2012-01-17 2013-07-25 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream
US20130342762A1 (en) * 2012-06-20 2013-12-26 Qualcomm Incorporated Device and method for multimedia communications with picture orientation information

Also Published As

Publication number Publication date
KR20160021286A (ko) 2016-02-24
CN105745899B (zh) 2023-12-26
EP3036883B3 (en) 2021-11-24
US11296901B2 (en) 2022-04-05
WO2015126223A1 (en) 2015-08-27
EP3036883B1 (en) 2019-04-03
US20200067725A1 (en) 2020-02-27
CN105745899A (zh) 2016-07-06
KR101737849B1 (ko) 2017-05-19
US10476693B2 (en) 2019-11-12
EP3036883A4 (en) 2017-05-03
US10848332B2 (en) 2020-11-24
KR20170055026A (ko) 2017-05-18
EP3036883A1 (en) 2016-06-29
US20210044446A1 (en) 2021-02-11
US20160218883A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
US11272231B2 (en) Broadcast signal transmitting apparatus and broadcast signal transmitting method
US10469189B2 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US11296901B2 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
KR101868628B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101814403B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
KR101752435B1 (ko) 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법

Legal Events

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