KR101598519B1 - 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기 - Google Patents

시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기 Download PDF

Info

Publication number
KR101598519B1
KR101598519B1 KR1020090051208A KR20090051208A KR101598519B1 KR 101598519 B1 KR101598519 B1 KR 101598519B1 KR 1020090051208 A KR1020090051208 A KR 1020090051208A KR 20090051208 A KR20090051208 A KR 20090051208A KR 101598519 B1 KR101598519 B1 KR 101598519B1
Authority
KR
South Korea
Prior art keywords
information
service
field
nrt
content
Prior art date
Application number
KR1020090051208A
Other languages
English (en)
Other versions
KR20090127840A (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 엘지전자 주식회사
Priority to US12/481,569 priority Critical patent/US8365229B2/en
Priority to PCT/KR2009/003098 priority patent/WO2009151267A2/ko
Priority to CA2726835A priority patent/CA2726835C/en
Publication of KR20090127840A publication Critical patent/KR20090127840A/ko
Priority to US13/679,955 priority patent/US8572658B2/en
Priority to US14/034,415 priority patent/US8966554B2/en
Priority to US14/563,900 priority patent/US9282349B2/en
Priority to US15/009,052 priority patent/US9609375B2/en
Application granted granted Critical
Publication of KR101598519B1 publication Critical patent/KR101598519B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • H04N7/0884Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of additional display-information, e.g. menu for programme or channel selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Library & Information Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 따른 비실시간 서비스 제공 방법의 일 예는, PSI/PSIP 테이블을 이용하여 제1 시그널링 정보와 제2 시그널링 정보의 식별 정보를 추출하는 단계; 상기 추출된 식별 정보를 기초로 제1 시그널링 정보와 제2 시그널링 정보를 수신하는 단계; 상기 제1 시그널링 정보를 이용하여 서비스 가이드를 구성하고 표시하는 단계; 상기 표시된 서비스 가이드에서 선택된 컨텐트에 대한 제1 컨텐트 식별 정보를 획득하는 단계; 상기 제2 시그널링 정보를 이용하여 플루트(FLUTE) 세션에 접속하고, 접속된 플루트(FLUTE) 세션으로부터 상기 제1 컨텐트 식별 정보와 매칭되는 제2 컨텐트 식별 정보를 획득하는 단계; 및 상기 획득한 제2 컨텐트 식별 정보에 근거하여 해당 컨텐트를 구성하는 적어도 하나 이상의 파일들을 수신하여 저장하는 단계;를 포함한다.
본 발명에 따르면, 전송단은 수신기에서 제공되는 NRT 서비스를 적절하게 인식하고 수신하여 처리할 수 있도록 시그널링 데이터를 포함할 수 있고, 상기 전송되는 시그널링 데이터를 이용하여 수신되는 NRT 서비스를 적절하게 수신 처리하여 사용자에게 제공할 수 있고, 상기 전송되는 시그널링 데이터를 이용하여 사용자에게 서비스 가이드를 구성하여 제공할 수 있으며, 상기 구성된 서비스 가이드로부터 선택된 컨텐트를 시그널링 정보를 이용하여 정확하게 수신하여 처리할 수 있다.
NRT, 시그널링, 어나운스먼트, NST, NCT, FDT

Description

시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기{Method for mapping between signaling information and announcement information and broadcast receiver}
본 발명은 지상파 방송망을 통해 논-리얼 타임(Non Real Time; 이하 'NRT'라 한다) 방식으로 전송되는 서비스에 대한 서비스 타입 및 서비스에 대한 상세 정보에 대한 시그널링(signaling) 방법 및 해당 정보를 수신하여 처리하기 위한 NRT 수신기의 동작에 관한 것으로, 더욱 상세하게는 수신기는 이러한 서비스 관련 시그널링 정보를 이용하여 해당 NRT 서비스에 대한 추가적인 정보를 획득하며 해당 서비스를 어떻게 처리하여 사용자에게 출력할지 그리고 관련된 어플리케이션 모듈(application module)의 동작을 결정할 수 있다. 본 발명은 NRT 서비스를 위한 시그널링 정보와 어나운스먼트(announcement) 정보 간 매핑(mapping) 방법 및 방송 수신기에 관한 것이다.
향후 DTV 서비스에서 활용될 유력한 어플리케이션(application) 중의 하나로 NRT 서비스(Non Real Time service)를 들 수 있다. NRT는 말 그대로 실시간 스트리밍이 아닌 비실시간 전송, 저장 및 시청 동작을 수반하며 지상파 등의 방송 매체를 통해 여분의 대역폭(bandwidth)을 통해 파일(file) 형태의 컨텐트를 전송하는 것으로 push VOD, targeted advertising 등의 다양한 서비스 기능의 구현이 예상되는 기술이다.
본 발명의 목적은 NRT 서비스에 대한 시그널링 데이터를 정의하는데 있다.
본 발명의 다른 목적은 상기 정의된 시그널링 데이터를 전송하는 방식을 정의하는데 있다.
본 발명의 또 다른 목적은 수신기에서 상기 전송되는 NRT 서비스에 대한 시그널링 데이터를 수신 처리하여 NRT 서비스를 접근할 수 있도록 하는데 있다.
본 발명의 또 다른 목적은 수신기에서 상기 시그널링 데이터의 컨텐트 식별자와 선택된 컨텐트가 전송되는 컨텐트의 식별자를 매핑하는 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 수신기에서 시그널링 데이터를 이용하여 구성한 서비스 가이드로부터 선택된 컨텐트를 수신 처리하여 사용자에게 제공할 수 있는 방법을 제공함에 있다.
본 발명에 따른 비실시간 서비스 제공 방법의 일 예는, PSI/PSIP 테이블을 이용하여 제1 시그널링 정보와 제2 시그널링 정보의 식별 정보를 추출하는 단계; 상기 추출된 식별 정보를 기초로 제1 시그널링 정보와 제2 시그널링 정보를 수신하는 단계; 상기 제1 시그널링 정보를 이용하여 서비스 가이드를 구성하고 표시하는 단계; 상기 표시된 서비스 가이드에서 선택된 컨텐트에 대한 제1 컨텐트 식별 정보를 획득하는 단계; 상기 제2 시그널링 정보를 이용하여 플루트(FLUTE) 세션에 접속 하고, 접속된 플루트(FLUTE) 세션으로부터 상기 제1 컨텐트 식별 정보와 매칭되는 제2 컨텐트 식별 정보를 획득하는 단계; 및 상기 획득한 제2 컨텐트 식별 정보에 근거하여 해당 컨텐트를 구성하는 적어도 하나 이상의 파일들을 수신하여 저장하는 단계;를 포함한다.
이때, 상기 식별 정보는, 상기 PSI/PSIP 테이블 중 적어도 가상 채널 테이블(VCT), 데이터 서비스 테이블(DST) 및 프로그램 맵 테이블(PMT)를 이용하여 추출할 수 있다.
그리고 상기 NRT 서비스를 구성하는 파일들, 상기 제1 시그널링 정보 및 제2 시그널링 정보는 IP 패킷화, 어드레서블 섹션 패킷화, MPEG-2 TS 패킷화가 순차적으로 수행된 후에 수신될 수 있다.
또한, 상기 제1 시그널링 정보는 NCT이고, 상기 제2 시그널링 정보는 NST일 수 있다.
그리고 상기 제2 컨텐트 식별 정보는 상기 접속된 플루트 세션 내 파일 디스크립션 테이블(FDT)로부터 추출할 수 있다.
또한, 상기 수신된 제1 시그널링 정보를 이용하여 서비스 가이드를 구성하여 표시하는 단계;를 더 포함할 수 있다.
그리고 상기 표시된 서비스 가이드 내 선택된 특정 컨텐트 아이템과 관련하여 상기 제1 시그널링 정보로부터 획득한 제1 컨텐트 식별자 정보와 연계된 제1 서비스 식별자 정보를 획득하는 단계;를 더 포함할 수 있다.
또한, 상기 수신된 제2 시그널링 정보로부터 상기 획득한 제1 서비스 식별자 정보와 일치되는 제2 서비스 식별자 정보를 추출하는 단계;를 더 포함할 수 있다.
본 발명에 따른 방송 수신기의 일 예는, PSI/PSIP 테이블을 이용하여 제1 시그널링 정보와 제2 시그널링 정보의 식별 정보를 추출하고, 추출된 식별 정보를 기초로 제1 시그널링 정보와 제2 시그널링 정보를 수신하는 베이스밴드 프로세서부; 상기 수신되는 제1 시그널링 정보를 이용하여 서비스 가이드를 구성하고 표시하는 제1 핸들러; 상기 표시된 서비스 가이드에서 선택된 컨텐트에 대하여 상기 수신된 제1 시그널링 정보로부터 제1 컨텐트 식별자를 획득하는 제2 핸들러; 상기 수신된 제2 시그널링 정보를 이용하여 플루트(FLUTE) 세션에 접속하고, 접속한 플루트 세션으로부터 상기 획득한 제1 컨텐트 식별자와 일치하는 제2 컨텐트 식별자를 획득하는 제3 핸들러; 상기 획득한 제2 컨텐트 식별자에 근거하여 해당 컨텐트 아이템을 구성하는 적어도 하나 이상의 파일들을 수신하고 저장하도록 제어하는 제어부; 및 상기 수신된 파일들을 저장하는 저장부;를 포함한다.
이때, 상기 식별 정보는, 상기 PSI/PSIP 테이블 중 적어도 가상 채널 테이블(VCT), 데이터 서비스 테이블(DST) 및 프로그램 맵 테이블(PMT)를 이용하여 추출될 수 있다.
그리고 상기 NRT 서비스를 구성하는 파일들, 상기 제1 시그널링 정보 및 제2 시그널링 정보는 IP 패킷화, 어드레서블 섹션 패킷화, MPEG-2 TS 패킷화가 순차적으로 수행된 후에 수신될 수 있다.
또한, 상기 제1 시그널링 정보는 NCT이고, 상기 제2 시그널링 정보는 NST일 수 있다.
그리고 상기 제2 컨텐트 식별 정보는 상기 접속된 플루트 세션 내 파일 디스크립션 테이블(FDT)로부터 추출될 수 있다.
또한, 상기 표시된 서비스 가이드 내 선택된 특정 컨텐트 아이템과 관련하여 상기 제1 시그널링 정보로부터 획득한 제1 컨텐트 식별자 정보와 연계된 제1 서비스 식별자 정보가 획득될 수 있다.
그리고 상기 수신된 제2 시그널링 정보로부터 상기 획득한 제1 서비스 식별자 정보와 일치되는 제2 서비스 식별자 정보가 추출될 수 있다.
본 발명에 따르면,
첫째, 전송단은 수신기에서 제공되는 NRT 서비스를 적절하게 인식하고 수신하여 처리할 수 있도록 시그널링 데이터를 포함할 수 있는 효과가 있다.
둘째, 수신기는 상기 전송되는 시그널링 데이터를 이용하여 수신되는 NRT 서비스를 적절하게 수신 처리하여 사용자에게 제공할 수 있는 효과가 있다.
셋째, 수신기는 상기 전송되는 시그널링 데이터를 이용하여 사용자에게 서비스 가이드를 구성하여 제공할 수 있는 효과가 있다.
넷째, 수신기는 상기 구성된 서비스 가이드로부터 선택된 컨텐트를 시그널링 정보를 이용하여 정확하게 수신하여 처리할 수 있는 효과가 있다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설 명되는 본 발명의 구성과 작용은 적어도 하나의 실시 예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어의 정의
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
NRT 서비스 개념도
도 1은 NRT 서비스에 대한 개념도의 일 예를 도시한 것이다.
방송국은 기존 방식에 따라 RT(Real Time) 서비스를 송신한다. 이때, 방송국은 RT 서비스를 송신하거나 그 과정에서 남는 대역폭(Bandwidth)을 이용하여 NRT(Non Real Time) 서비스를 제공할 수 있다. 여기서, 상기 NRT 서비스에는 뉴스 클립(News Clip), 날씨 정보, 광고, Push VOD(Video On Demand)를 위한 컨텐트 등이 포함될 수 있다.
다만, 종래 DTV 수신기 즉, 레거시 디바이스(legacy device)는, 채널 내 포 함된 NRT 스트림에 의해 그 동작에 영향을 받지 않는 것이 원칙이다. 따라서, 종래 DTV 수신기는 방송국에 의해 제공되는 NRT 서비스를 수신하여 적절하게 처리함에 있어서 문제점이 있다.
반면, 본 발명에 따른 방송 수신기 즉, NRT 디바이스는, RT 서비스와 결합된 NRT 서비스를 수신하여 적절하게 처리할 수 있어 시청자에게 종래 DTV 수신기에 비해 다양한 기능을 제공할 수 있다.
여기서, RT 서비스와 NRT 서비스는 동일 또는 다른 DTV 채널을 통해 전송되며, MPEG-2 TP(Transport Packet) 또는 IP 데이터그램을 통해 전송된다. 그러므로, 수신기는 동일한 채널을 통해 전송되는 두 서비스를 구분하여야 할 필요가 있다. 이를 위해 본 명세서에서는 수신기에서 NRT 서비스를 수신하여 적절히 처리할 수 있도록 시그널링 정보를 정의하고 제공하는 것에 대해 설명한다. 여기서, 방송국은 시그널링 정보를 제공하고, 특히 NRT 서비스를 구분하기 위한 유일한 PID가 적어도 하나 이상 할당될 수 있다.
수신 시스템
도 2는 본 발명의 일 실시 예에 따라 구성한 수신 시스템의 블록도를 도시한 것이다.
도 2는 본 발명에 따라 NRT 서비스를 수신하여 처리할 수 있는 수신 시스템의 블록을 도시한 것으로, 상기 수신 시스템은 크게 베이스밴드 프로세서부(Baseband processor), MPEG-2 서비스 역다중화부(MPEG-2 Service Demux), 스트 림 컴포넌트 핸들러부(Stream component handler, Media Handler), 파일 핸들러부(File Handler) 및 기타 부분을 포함하여 구성된다.
이하 도 2의 수신 시스템의 각 부에 대해 설명하면, 다음과 같다.
먼저, 베이스밴드 프로세서부는, 튜너(201)와 VSB 복조기(202)를 포함하여 구성된다. 튜너(201)는, 공기 중(Over the air)으로 전송되는 VSB RF 신호를 검지하여, 심볼(symbol)을 추출한다. 이때, 상기 튜너(201)는, 서비스 매니저(Service Manager)(228)에 의하여 제어된다. VSB 복조기(202)는, 튜너(201)에서 추출된 VSB 심볼을 복조하여 의미 있는 데이터를 복원한다.
다음으로 MPEG-2 서비스 역다중화부(MPEG-2 Service Demux)는, MPEG-2 트랜스포트 패킷 버퍼/파서(MPEG-2 Transport Packet (TP) Buffer/Parser)(203), PSI/PSIP 섹션/버퍼(PSI/PSIP Section/Buffer)(204), 디스크램블러(Descrambler)(205), MPEG-2 TP 역다중화기(MPEG-2 TP Demux)(206) 및 PVR 저장부(PVR Storage)(207)를 포함하여 구성된다.
MPEG-2 TP 버퍼/파서(203)는, VSB 신호를 통하여 전송되는 MPEG-2 TP을 버퍼링(Buffering) 및 복원하고, TP 헤더(Header)를 검출하고 처리한다.
PSI/PSIP 섹션/버퍼(204)는, MPEG-2 TS를 통하여 전송되는 PSI/PSIP 섹션 데이터를 버퍼링 및 분석한다. 여기서, 상기 분석된 PSI/PSIP 데이터는 서비스 매니저(226)에 의해 수집되어 서비스 맵(Service Map) 및 가이드 데이터(Guide data) 형태로 데이터베이스(DB)에 저장된다.
디스크램블러(205)는, MPEG-2 TP 중 스크램블(Scramble)이 적용된 패킷 페이로드(Packet payload)에 대하여, CA 스트림 핸들러(Stream Handler)(216)로부터 전달 받은 인크립션 키(Encryption key) 등을 이용, 페이로드의 데이터를 복원한다.
MPEG-2 TP 역다중화기(206)는, VSB 신호를 통하여 전송되는 MPEG-2 TP 또는 PVR 저장부(207)에 저장된 MPEG-2 TP 중 수신기가 처리하고자 하는 TP을 필터링(filtering)하여 적절한 처리 모듈로 중계한다. 여기서, 상기 MPEG-2 TP 역다중화기(206)는 서비스 매니저(228) 및 PVR 매니저(235)에 의해 제어될 수 있다.
PVR 저장부(207)는, 사용자의 요구 등에 따라 VSB 신호를 이용하여 수신된 MPEG-2 TP를 저장하고, 사용자의 요구에 의해 MPEG-2 TP를 출력한다. 여기서, 상기 PVR 저장부(207)는 PVR 매니저(235)에 의해 제어될 수 있다.
다음으로, 스트림 컴포넌트 핸들러부는, PES 버퍼/핸들러(PESPacketized Elementary Stream (PES) Buffer/Handler)(208), ES 버퍼/핸들러(ES Buffer/Handler)(209), PCR 핸들러(Program Clock Reference (PCR) Handler)(210), STC부(211), DSM-CC 섹션 버퍼/핸들러(DSM-CC section Buffer/Handler)(212), IP 데이터그램 버퍼/헤더 파서(IP Datagram Buffer/Header Parser)(213), UDP 데이터그램 버퍼/핸들러(UDP Datagram Buffer/Handler)(213), CA 스트림 버퍼/핸들러(CA Stream Buffer/Handler)(214) 및 서비스 시그널링 섹션 버퍼/핸들러(Service Signaling Section Buffer/Handler)(215)을 포함하여 구성된다.
PES 버퍼/핸들러(PES Buffer/Handler)(208)는, MPEG-2 TS를 통하여 전송된 PES를 버퍼링하고 복원한다.
ES 버퍼/핸들러(209)는, PES 형태로 전송된 오디오 데이터, 비디오 데이터 등의 ES(Elementary Stream)를 버퍼링하고 복원하여 적절한 A/V 디코더(218)로 전달한다.
PCR 핸들러(210)는, 오디오 스트림 및 비디오 스트림의 시간 동기화(Time synchronization) 등을 위하여 사용되는 PCR 데이터를 처리한다.
STC부(211)는, PCR 핸들러(210)를 통해 전달받은 레퍼런스 클록(Reference Clock) 값을 이용하여 A/V 디코더들(218)의 클록 값을 보정하고 시간 동기화가 이루어지도록 한다.
DSM-CC 섹션 버퍼/핸들러(212)는, MPEG-2 TP를 통하여 전송되는 파일 전송 및 IP 데이터그램 인캡슐레이션(IP Datagram encapsulation) 등을 위한 DSM-CC 섹션 데이터를 버퍼링하고 처리한다.
IP 데이터그램 버퍼/헤더 파서(213)는, DSM-CC 어드레서블 섹션(DSMCC Addressable section)을 통해 인캡슐레이션되어 MPEG-2 TP를 통하여 전송되는 IP 데이터그램을 버퍼링하고 복원한다. IP 데이터그램 버퍼/헤더 파서(213)는, 상기 복원을 통해 각 데이터그램의 헤더를 분석한다. 여기에서, 상기 IP 데이터그램 버퍼/헤더 파서(213)는 서비스 매니저(228)에 의해 제어된다.
디스크램블러(214)는, 수신된 IP 데이터그램 중 페이로드에 스크랩블링이 적용된 경우에 페이로드에 대해 CA 스트림 핸들러(216)로부터 전달 받은 인크립션 키 등을 이용하여 페이로드의 데이터를 복원한다.
UDP 데이터그램 버퍼/핸들러(215)는, IP 데이터그램을 통하여 전송되는 UDP 데이터그램을 버퍼링하고 복원하며 UDP 헤더를 분석하고 처리한다.
CA 스트림 버퍼/핸들러는(216)는, MPEG-2 TS 또는 IP 스트림을 통해 전송되는 수신 제한(Conditional Access) 기능을 위하여 전송되는 자격 관리 메시지(EMM), 자격 제어 메시지(ECM) 등의 디스크램블링을 위한 키 값 등의 데이터를 버퍼링하고 처리한다. 여기서, 상기 CA 스트림 버퍼/핸들러는(216)의 출력은 디스크램블러(214)로 전달되어 AV 데이터 및 파일 데이터(File Data) 등을 전송하는 MPEG-2 TP 또는 IP 데이터그램의 암호화 해제 작업을 수행한다.
서비스 시그널링 섹션 버퍼/파서(217)는, 본 발명과 관련하여 NRT 서비스를 시그널링하기 위한 후술할 NST, NCT 및 그와 관련된 디스크립터들을 처리한다. 상기 처리된 시그널링 정보는 NRT 서비스 매니저(229)로 전송한다.
미디어 핸들러부를 설명하면, 다음과 같다. 여기서, 미디어 핸들러부는, A/V 디코더들(218)을 포함한다.
AV 디코더들(218)은, ES 핸들러(209)를 통해 전달받은 오디오 데이터와 비디오 데이터의 압축을 복호하여 사용자에게 표시(Presentation)할 수 있도록 처리한다.
다음으로 파일 핸들러부를 설명하면, 다음과 같다.
파일 핸들러부는 크게 ALC/LCT 버퍼/파서(ALC/LCT Buffer/Parser)(219), FDT 핸들러(FDT Handler)(220), XML 파서(XML Parser)(221), 파일 재구성 버퍼(File Reconstruction Buffer)(222) 및 디컴프레서(decompressor)(223)를 포함하여 구성된다.
ALC/LCT 버퍼/파서(219)는, UDP/IP 스트림으로 전송되는 ALC/LCT 데이터를 버퍼링하고 복원하여 ALC/LCT의 헤더 및 헤더 확장을 분석한다. 여기서, 상기 ALC/LCT 버퍼/파서(219)는 NRT 서비스 매니저(229)에 의해 제어될 수 있다.
FDT 핸들러(220)는, ALC/LCT 세션을 통하여 전송되는 FLUTE 프로토콜의 파일 디스크립션 테이블(FDT)을 분석하고 처리한다. 상기 처리된 FDT를 NRT 서비스 매니저(229)로 전송할 수 있다. 여기서, 상기 FDT 핸들러(220)는 NRT 서비스 매니저(229)에 의해 제어될 수 있다.
XML 파서(221)는, ALC/LCT 세션을 통하여 전송되는 XML 다큐먼트를 분석하여 FDT 핸들러(220), SG 핸들러(227) 등 적절한 모듈로 분석된 데이터를 전달한다.
파일 재구성 버퍼(222)는, ALC/LCT 및 FLUTE 세션으로 전송되는 파일을 복원한다.
디컴프레서(223)는, ALC/LCT 및 FLUTE 세션으로 전송되는 파일이 압축되어 있는 경우에 그 압축을 해제하는 프로세스를 수행한다.
File 디코더(224)는 파일 재구성 버퍼에서 복원된 파일 또는 디컴프레서(223)에서 압축 해제된 파일 또는 파일 저장부(225)에서 추출된 파일을 디코딩한다.
File 저장부(225)는 수신된 파일 저장하고 추출한다. 여기서, 상기 수신된 파일은 NRT 컨텐트가 포함될 수 있다.
마지막으로 상술한 각 부를 제외한 기타 부분에 대해 설명하면, 다음과 같다.
미들웨어(M/W) 엔진(226)은, DSMCC 섹션, IP 데이터그램 등을 통하여 전송되는 AV 스트림이 아닌 파일 등의 데이터를 처리하여 프리젠테이션 매니저(234)로 전달한다.
SG 핸들러(227)는, XML 다큐먼트 형태로 전송되는 서비스 가이드 데이터를 수집하고 분석하여 EPG 매니저(230)에게 전달한다.
서비스 매니저(228)는, MPEG-2 TS을 통하여 전송되는 PSI/PSIP 데이터, IP 스트림으로 전송되는 서비스 시그널링 섹션 데이터(Service Signaling Section Data)를 수집, 분석하여 서비스 맵(Service Map)을 제작하고, 이를 서비스 맵 및 가이드 데이터베이스(Service Map & Guide Database)에 저장하여 사용자가 원하는 서비스에 대한 액세스를 제어한다. 여기서, 서비스 매니저(228)는 오퍼레이션 컨트롤러(Operation Controller)(230)에 의해 제어되고, 튜너(201), MPEG-2 TP 역다중화기(206), IP 데이터그램 버퍼/핸들러(213), NRT 서비스 매니저(229) 등에 대한 제어를 한다.
NRT 서비스 매니저(229)는, IP 레이어 상에서 FLUTE 세션을 통해 오브젝트/파일(object/file) 형태로 전송되는 NRT 서비스에 대한 전반적인 관리를 수행한다. NRT 서비스 매니저(229)는 상기 서비스 시그널링 섹션 버퍼/파서(217)로부터 전송 된 시그널링 정보를 파싱한다. 그리고 상기 파싱된 시그널링 정보는 서비스 맵 & 가이드 데이터베이스(236)로 전송하여 저장할 수 있다. 또한, NRT 서비스 매니저(229)는 시그널링 정보 중 서비스 가이드와 관련된 내용인 NCT 정보는 EPG 매니저(230)로 전송하여 EPG 데이터를 형성하도록 제어한다. 여기서, 상기 NRT 서비스 매니저(229)는, FDT 핸들러(220), 파일 저장부(225) 등에 대한 제어를 한다. 따라서, NRT 서비스 매니저(229)는, FDT 핸들러(220)부터 받은 FDT를 수신 받고, 수신된 FDT를 파싱하여 수신된 NRT 컨텐트를 파일 저장부(225)에 하이어라키(hierarchy)한 구조로 저장하도록 제어한다. 그리고 NRT 서비스 매니저(229)는 사용자의 NRT 서비스 선택 시에 해당 NRT 컨텐트를 파일 저장부(225)로부터 추출하도록 제어한다.
EPG 매니저(230)는, 서비스 가이드 데이터를 SG 핸들러(227)로부터 전달받아 EPG 데이터를 구성하고 표시하도록 제어한다.
어플리케이션 매니저(231)는, 오브젝트, 파일 등의 형태로 전송되는 어플리케이션 데이터의 처리에 관한 전반적인 관리를 수행한다.
UI 매니저(232)는, 유저 인터페이스(User Interface)를 통하여 사용자의 입력을 오퍼레이션 컨트롤러(233)에 전달하고 사용자가 요구하는 서비스를 위한 프로세스의 동작이 시작되도록 한다.
오퍼레이션 컨트롤러(233)는, UI 매니저(232)를 통해 전달 받은 사용자의 명령(Command)를 처리하여 필요한 모듈의 매니저에게 해당 액션을 수행하도록 관리한다.
상기 프리젠테이션 매니저(234)는 A/V 디코더(218)에서 출력되는 오디오 및 비디오 데이터, 미들웨어 엔진(226)에서 출력되는 파일 데이터, EPG 매니저(230)에서 출력되는 EPG 데이터 중 적어도 하나를 스피커 및/또는 화면을 통해 유저에게 제공한다.
NRT 서비스, 컨텐트 아이템, 파일의 관계 설명
도 3은 NRT 서비스, 컨텐트 아이템 및 파일에 대한 관계를 설명하기 위해 도시한 것이다.
도 3을 참조하면, NRT 서비스는 적어도 하나 또는 그 이상의 컨텐트 아이템(content item)을 포함할 수 있고, 각 컨텐트 아이템은 적어도 하나 또는 그 이상의 파일(들)로 구성될 수 있다. 또한, 컨텐트 아이템은 하나의 독립적으로 재생 가능한 개체(entity)로서 리얼타임 방송에서의 프로그램(program) 또는 이벤트(event)에 해당할 수 있다. 따라서, NRT 서비스는 상기와 같은 컨텐트 아이템들의 조합으로 서비스 가능한 그룹을 말하며, 리얼 타임에서의 채널 개념에 해당한다.
관련하여, 이러한 NRT 서비스를 수신기에서 적절하게 처리하기 위해서는 해당 NRT 서비스에 대한 시그널링(signaling)이 필요하다. 본 발명은 상기 시그널링 정보를 정의하고 제공함으로써 수신기에서 수신되는 NRT 서비스를 적절하게 처리할 수 있도록 하고자 함이다. 다만, 상기 시그널링 정보에 대한 보다 상세한 설명은 해당 부분에서 후술한다.
Fixed NRT 서비스에 대한 프로토콜
NRT 서비스는 크게 고정 NRT 서비스(Fixed NRT Service)와 모바일 NRT 서비스 (Mobile NRT Service)로 구분된다. 이하 본 명세서에서는 설명의 편의를 위해 고정 NRT 서비스를 일 예로 하여 설명한다.
도 4는 본 발명의 일 실시 예에 따라 구성한 고정 NRT 서비스에 대한 프로토콜 스택(protocol stack)을 도시한 것이다.
도 4를 참조할 때, 고정 NRT 서비스를 제공하기 위한 프로토콜 스택은 MPEG-2 TS 포맷을 사용하여 NRT 컨텐트 아이템들/파일들 및 NST와 NCT를 제공하는 시그널링 채널을 포함하는 IP 데이터그램(IP datagram)과 PSI/PSIP 데이터를 전송한다.
도 4에서 고정 NRT 서비스는 IP 계층에서 UDP(User Datagram protocol) 방식에 따라 패킷화되며, UDP 패킷은 다시 IP 방식에 따라 패킷화되어 UDP/IP 패킷 데이터가 된다. 상기 패킷화된 UDP/IP 패킷 데이터를 본 명세서에서는 설명의 편의를 위해 IP 데이터그램이라고 한다.
NRT 컨텐트 아이템들/파일들은 FLUTE 방식에 따라 패킷화되고, ALC/LCT(Asynchronous Layered Coding/Layered Coding Transport) 방식에 따라 패킷화된다. 상기 ALC/LCT 패킷은 UDP 데이터그램으로 싸여져 전송된다. ALC/LCT/UDP 패킷은 IP 데이터그램방식에 따라 패킷화되어 ALC/LCT/UDP/IP 패킷화되어 IP 데이터그램이 된다. 상기 IP 데이터그램은 전송을 위해 DSMCC 어드레서블 섹션들(Digital storage media command and control (DSM-CC) Addressable Sections)을 통해 MPEG-2 TS 내에 포함된다. 여기서, 상기 ALC/LCT/UDP/IP 패킷은, FLUTE 세션에 대한 정보로서 FDT(File Description Table)도 포함한다.
NST(NRT Service Table)와 NCT(NRT Content Table)를 포함하는 시그널링 정보 채널(Signaling Information channel)은 UDP 방식에 따라 패킷화되고, UDP 패킷은 다시 IP 방식에 따라 패킷화되어 UDP/IP 패킷 데이터 즉, IP 데이터그램이 된다. 상기 IP 데이터그램도 전송을 위해 역시 DSMCC 어드레서블 섹션들을 통해 MPEG-2 TS 내에 포함된다.
그리고 PSI/PSIP(Program Specific Information/Program and System Information Protocol) 테이블은 별도로 정의되어 MPEG-2 TS에 포함된다.
상술한 NRT 컨텐트 아이템들/파일들, 시그널링 정보 채널 및 PSI/PSIP 데이터가 포함된 MPEG-2 TS는 기 정해진 전송 방식 예를 들면, VSB(vestigial side band) 전송 방식으로 변조되어 전송된다.
NRT 서비스 방식
본 발명과 관련하여, 고정 NRT 서비스는 종래 ATSC 지상파 방송 환경을 이용한다. 즉, DSM-CC 어드레서블 섹션을 통해 IP 데이터그램을 전송하는 방식에 근거한 고정 NRT 서비스는 예를 들어, 다음과 같은 방식으로 제공될 수 있다.
1. 오디오 및/또는 비디오가 포함된 가상 채널(Virtual Channel)을 통해 전송되는 경우:
이와 같은 경우 해당 가상 채널의 서비스 타입(Service type)은 종래 ATSC 규격에 규정된 바와 같이 도 5를 따를 수 있다. 즉, 도 5의 ATSC Data only service를 나타내는 0x04를 따르거나 또는 종래 다른 서비스 타입에 포함되어 NRT 서비스를 식별할 수도 있다.
2. NRT 서비스만 포함된 가상 채널을 통해 전송되는 경우:
도 6에 도시된 바와 같이, 새로운 서비스 타입 값을 할당하여 NRT 어플리케이션(0x08)임을 시그널링 할 수도 있다.
TVCT ( terrestrial virtual channel table )
도 7은 본 발명의 일 실시 예에 따라 구성한 TVCT 테이블 섹션의 비트스트림 섹션을 도시한 것이다.
도 7을 참조하면, TVCT 테이블 섹션은 MPEG-2 프라이빗 섹션과 유사한 테이블 형태를 가지는 것을 일 예로 하여 설명하나, 반드시 이에 한정되는 것으로 아니다.
따라서, TVCT 테이블 섹션은 헤더, 바디와 트레일러로 구분할 수 있고, 헤더 부분은 table_id 필드에서 protocol_version 필드까지이며, transport_stream_id 필드는 16비트 필드로서, 다중화(multiplex)를 위해 0의 PID 값에 의해 정의되는 PAT(program association table) 내의 MPEG-2 전송 스트림 ID를 나타낸다. 바디 부분은 num_channels_in_section 필드는 8비트 필드로서, VCT 섹션 내의 가상 채널(virtual channel)들의 수를 상술한다. 마지막으로 트레일러 부분은 CRC_32 필드를 포함한다.
먼저, 헤더 부분을 설명하면 다음과 같다.
table_id 필드(8비트)는 0xCD로 설정되어, 해당 테이블 섹션이 TVCT를 구성하는 테이블 섹션임을 식별한다.
section_syntax_indicator 필드(1비트)는 1로 설정되면, 상기 섹션이 일반적인 섹션 신택스를 따름을 나타낸다.
private_indicator 필드(1비트)는 1로 설정되어 있다.
section_length 필드(12비트)는 section_length 필드 바로 다음에서부터 상기 섹션의 마지막까지 이 섹션에 남아 있는 바이트들의 수를 상술한다. 상기 section_length 필드의 값은 1021 보다 클 수 없다.
table_id_extension 필드(16비트)는 0x000으로 설정되어 있다.
version_number 필드(5비트)는 0의 값을 가질 수 있다.
current_next_indicator 필드(1비트)는 1로 설정되어 있으면 해당 테이블 섹션은 현재 적용 가능함을 나타낸다.
section_number 필드(8비트)는, TVCT 섹션들 중 해당 테이블 섹션의 넘버를 지시한다.
last_section_number 필드(8비트)는, TVCT 섹션들 중 가장 마지막 테이블 섹션을 지시한다.
protocol_version 필드(8비트)는, 현재 프로토콜에서 정의된 것보다 다르게 구조화된 파라미터들을 전달하는 이 테이블 타입의 허락하는 함수이다.
다음으로 바디 부분을 설명한다.
이는 num_channels_in_section 필드에서 정의되는 각 가상 채널에 대해 후술하는 루프 구조의 필드 정보가 추가된다.
short_name 필드(16비트)는, 1에서 7까지 연속된 16비트의 코드 값으로 상기 가상 채널의 이름(name)을 표현한다.
major_channel_number 필드(10비트)는, 가상 채널과 연관된 메이저 채널 넘버(major channel number)를 표현한다.
minor_channel_number 필드(10비트)는, 마이너(minor) 또는 서브(sub-) 채널 넘버를 표현한다.
modulation_mode 필드(8비트)는, 가상 채널과 연관된 전송된 캐리어(carrier)를 위한 변조 모드(modulation mode)를 지시한다.
carrier_frequnecy 필드(32비트)는, 채널에 대응하는 전송 주파수를 알려준다.
channel_TSID 필드(16비트)는, 가상 채널에 의해 참조되는 MPEG-2 프로그램을 싣고 있는 전송 스트림과 연관된 MPEG-2 전송 스트림 ID를 표현한다.
program_number 필드(16비트)는, MPEG-2 PAT(program association table)과 TS PMT(program map table)에 정의되는 가상 채널과 연관되는 프로그램 넘버를 식별한다.
ETM_location 필드(2비트)는, ETM(extended text message)의 존재(existence) 유무와 위치(location)를 설명한다.
access_controlled 필드(1비트)는, 설정 되면 가상 채널과 연관된 이벤트들 은 액세스(acces)가 제어됨을 지시한다. 상기 플래그가 0으로 설정되면, 이벤트 액세스는 제한되지 않는다.
hidden 필드(1비트)는, 설정되면 가상 채널은 가상 채널 넘버의 직접 엔트리에 의한 사용자가 접근할 수 없음을 지시한다.
hidden_guide 필드는, 히든 채널(hidden channel)을 위해 0으로 설정되면, 가상 채널과 그 이벤트들은 EPG 디스플레이에서 사라짐을 지시한다.
serviec_type 필드(6비트)는, 가상 채널에 실려오는 서비스의 타입을 나타낸다. 해당 필드를 통해 NRT 서비스를 식별할 수도 있다.
source_id 필드(16비트)는, 가상 채널과 연관된 프로그래밍 소스를 나타낸다.
descriptors_length 필드는 뒤따르는 가상 채널을 위한 디스크립터의 전체 길이를 나타낸다.
상기 descriptors_length 필드의 길이에 따른 루프 구조 내에 본 발명에 따른 이벤트 디스크립터가 포함되는 디스크립터 필드가 있다.
상기 num_channels_in_section 필드의 루프 구조 외에 바디 부분으로써, additional_descriptors_length 필드는 뒤따르는 VCT 디스크립터 목록의 전체의 길이를 나타낸다.
마지막으로 트레일러 부분, CRC_32 필드는 32비트 필드로서, 전체 STT 섹션을 프로세싱한 후 MPEG-2 시스템에 정의된 디코더(decoder)의 레지스터(register)들로부터 제로 출력(zero output)을 보장(ensure)하는 CRC(cyclic redundancy check) 값을 포함한다.
NRT 컨텐트는 IP 메커니즘(mechanism)을 통하여 전송되며 IP 데이터그램을 디지털 방송 스트림을 통해 전송하기 위하여 ATSC는 ATSC A/90과 A/92 규격을 제정하였다.
상기에서 service_location_descriptor에 포함된 PID를 통해 DST를 수신할 수 있으며, DST를 통해 어플리케이션의 종류 및 이 채널을 통해 전송되는 데이터 방송 스트림의 상세 정보를 알 수 있다.
상기 도 5에 의할 경우 NRT 서비스임을 식별하기 위해 DST를 이용할 수 있는바, DST에 대해 설명하면, 다음과 같다.
도 8은 본 발명의 일 실시 예에 따라 구성한 NRT 어플리케이션을 식별하기 위해 DST 테이블 섹션의 비트스트림 신택스를 도시한 것이다.
이하 data_service_table_bytes 구조를 포함하는 필드들의 시맨틱스를 정의하면 아래와 같다(The semantics of the fields comprising the data_service_table_bytes structure are defined below).
sdf_protocol_version 필드(8비트)는, Service Description Framework 프로토콜의 버전을 설명한다(sdf_protocol_version : This 8-bit field shall be used to specify the version of the Service Description Framework protocol. The value of this field shall be set to 0x01. The value 0x00 and the values in the range 0x02 to 0xFF shall be ATSC reserved).
application_count_in_section 필드(8비트)는, DST 테이블 섹션 내 리스트된 어플리케이션들의 수를 설명한다(application_count_in_section : This 8-bit field shall specify the number of applications listed in the Data Service Table section).
compatibility_descriptor() 필드는, 해당 구조가 DSM-CC 호환성 디스크립터를 포함함을 나타낸다. 그 목적은 해당 데이터 서비스를 사용하기 위해 그 능력을 판단하기 위해 수신 플랫폼에서 어플리케이션의 호환성 요구사항들을 시그널링하기 위함이다(compatibility_descriptor() : This structure shall contain a DSM-CC compatibility descriptor. Its purpose shall be to signal compatibility requirements of the application so the receiving platform can determine its ability to use this data service).
app_id_byte_length 필드(16비트)는, 어플리케이션을 식별하는데 사용되는 바이트들의 개수를 설명한다(app_id_byte_length : This 16-bit field shall specify the number of bytes used to identify the application. The value of this field shall account for the length of both the app_id_description field and the app_id_byte fields that follow. The value 0x0000 shall indicate that no app_id_description field or app_id_byte fields follow. The value 0x0001 is forbidden).
app_id_description 필드(16비트)는, 다음 application identification bytes의 포맷과 시맨틱스를 설명한다. 본 발명에 따른 NRT 어플리케이션을 위해 하 기의 표 1과 같이 예를 들면, 0x0003을 새롭게 할당하여 해당 어플리케이션이 NRT 어플리케이션임을 식별하는데 이용할 수 있다(app_id_description : This 16-bit field shall specify the format and semantics of the following application identification bytes. Table 1 specifies the values and associated formats).
Value Application Identifier Format
0x0000 DASE application
0x0001 ATSC reserved
0x0002 ATSC A/92 Application
0x0003 NRT Application
0x0004-0x7FFF ATSC reserved
0x8000-0xFFFF User private
app_id_byte 필드(8비트)는, 어플리케이션 식별자의 바이트를 표현한다(app_id_byte : This 8-bit field shall represent a byte of the application identifier).
tap_count 필드(8비트)는, 해당 어플리케이션에 의한 사용되는 Tap() 구조들의 개수를 설명한다(tap_count : This 8-bit field shall specify the number of Tap() structures used by this application).
protocol_encapsulation 필드(8비트)는, Tap() 필드에 의해 참조되는 특정 데이터 엘리먼트를 전송하기 위해 사용되는 프로토콜 인캡슐레이션의 타입을 설명한다(protocol_encapsulation : This 8-bit field shall specify the type of protocol encapsulation used to transmit the particular data element referred to by the Tap()).
Value Encapsulated Protocol
0x00 Not in a MPEG-2 Transport Stream
0x01 Asynchronous non-flow controlled scenario of the DSM-CC Download protocol encapsulated in DSM-CC sections
0x02 Non-streaming Synchronized Download protocol encapsulated in DSM-CC sections
0x03 Asynchronous multiprotocol datagrams in Addressable Sections using LLC/SNAP header
0x04 Asynchronous IP datagrams in Addressable Sections
0x05 Synchronized streaming data encapsulated in PES
0x06 Synchronous streaming data encapsulated in PES
0x07 Synchronized streaming multiprotocol datagrams in PES using LLC/SNAP header
0x08 Synchronous streaming multiprotocol datagrams in PES using LLC/SNAP header
0x09 Synchronized streaming IP datagrams in PES
0x0A Synchronous streaming IP datagrams in PES
0x0B Proprietary Data Piping
0x0C SCTE DVS 051 asynchronous protocol [19]
0x0D Asynchronous carousel scenario of the DSM-CC Download protocol encapsulated in DSM-CC sections
0x0E Reserved for harmonization with another standard body
0x0F-0x7F ATSC reserved
0x80-0Xff User defined
action_type 필드(7비트)는, Tap() 필드에 의해 참조되는 데이터의 본성을 지시한다((action_type : This 7-bit field shall be used to indicate the nature of the data referred to by the Tap()).
resource_location 필드(1비트)는, 다음 Tap 구조 내 리스트된 association_tag 값과 매칭되는 Association Tag 필드의 위치를 설명한다. 해당 필드가 0으로 설정되면 매칭되는 association_tag는 현재 MPEG-2 프로그램의 PMT 내 존재한다. 이와 달리, 1로 설정되면 매칭되는 association_tag는 해당 데이터 서비스의 Network Resources Table 내 DSM-CC Resource Descriptor에 존재한다(resource_location : This 1-bit field shall specify the location of the Association Tag field matching the association_tag value listed in the following Tap structure. This bit shall be set to 0 when the matching association_tag resides in the PMT of the current MPEG-2 program. This bit shall be set to 1 when the matching association_tag resides in a DSM-CC Resource Descriptor within the Network Resources Table of this Data Service).
Tap() 필드는, 예를 들어 하기와 같은 필드들을 포함한 특정 구조로 정의된다. tap_id 필드(16비트)는 데이터 엘리먼트들을 식별하기 위해 어플리케이션에 의해 사용된다. tap_id의 값은 DST 내 Tap()와 관련된 app_id_byte 필드들의 값에 의해 범위가 정해진다. tap_id 값은 데이터 서비스 프로바이더에 의해 선택된다. 또한, 그것은 데이터 엘리먼트를 다루기 위한 어플리케이션에서 사용된다(tap_id : This 16-bit field shall be used by the application to identify the data elements. The value of tap_id is scoped by the value of the app_id_byte fields associated with the Tap() in the Data Service Table. The tap_id field is unique within an application. The tap_id value is selected by the data service provider at authoring time. It is used in the application as a handle to the data element). Use 필드(16비트)는, association_tag에 의해 참조되는 통신 채널을 특정하기 위해 사용된다(use : This 16-bit field is used to characterize the communication channel referenced by the association_tag. Use of use values other than 0x0000 is beyond the scope of this standard. The use value 0x0000 indicates that this field is unknown10). association_tag 필드(16비트)는, Network Resource Table 내 리스트된 DSM-CC 리소스 디스크립터나 또는 PMT 내에 리스트된 데이터 엘리먼트리 스트림 중 어느 하나를 유일하게 식별한다. 해당 필드의 값은 데이터 서비스의 PMT 내 association_tag_descriptor의 association_tag 값과 일치할 것이다(association_tag : This 16-bit field shall uniquely identify either a data elementary stream listed in the Program Map Table or a DSM-CC Resource Descriptor listed in the Network Resource Table. In the former case, the value of this field shall match the association_tag value of an association_tag_descriptor in the PMT of the data service. In the latter case, the value of this field shall match the association_tag value in the commonDescriptorHeader structure of a DSM-CC Resource Descriptor in the Network Resource Table of the data service). Selector() 필드는, association_tag 필드에 의해 참조되는 통신 채널 또는 데이터 엘리먼트리 스트림 내에 이용 가능한 특정 데이터 엘리먼트를 설명한다. 게다가, 상기 selector 구조는 해당 데이터 엘리먼트를 위해 요구되는 프로토콜을 지시할 수 있다(selector() : This structure shall specify a particular data element available in a data elementary stream or a communication channel referenced by the association_tag field. In addition, the selector structure may indicate the protocol required for acquiring this data element).
tap_info_length 필드(16비트)는, 해당 필드 다음 필드의 디스크립터들의 바이트의 수를 설명한다(tap_info_length : This 16-bit field shall specify the number of bytes of the descriptors following the tap_info_length field).
descriptor() 필드는, 디스크립터 포맷을 따른다(descriptor() : This structure shall follow the descriptor format).
app_info_length 필드(8비트)는, 해당 필드 다음의 디스크립터들의 바이트 수를 설명한다(app_info_length : This 8-bit field shall specify the number of bytes of the descriptors following the app_info_length field).
descriptor() 필드는, 디스크립터 포맷을 따른다(descriptor() : This structure shall follow the descriptor format).
app_data_length 필드(16비트)는, app_data_byte 필드들의 바이트 단위의 길이를 설명한다(app_data_length : This 16-bit field shall specify the length in bytes of the following app_data_byte fields).
app_data_byte(8비트)는, 어플리케이션과 관련된 입력 파라미터들과 다른 프라이빗 데이터 필드들을 1바이트로 표현한다(app_data_byte : This 8-bit field shall represent one byte of the input parameters and other private data fields associated with the application).
service_info_length 필드(8비트)는, 다음 디스크립터들의 바이트 단위의 수를 설명한다(service_info_length : This 8-bit field shall specify the number of bytes of the descriptors following the service_info_length field).
descriptor() 필드는, 디스크립터 포맷을 따른다(descriptor() : This structure shall follow the descriptor format).
service_private_data_length 필드(16비트)는, 프라이빗 필드들의 바이트 단위의 길이를 설명한다(service_private_data_length : This 16-bit field shall specify the length in bytes of the private fields to follow).
service_private_data_byte 필드(8비트)는, 프라이빗 필드를 1바이트로 표현한다(service_private_data_byte : This 8-bit field shall represent one byte of the private field).
NRT 어플리케이션임을 상기와 같은 방법으로 식별한 이후에는 IP 레이어를 통해 전달되는 NRT 서비스 시그널링 데이터가 전달되는 Well-known IP address가 실려있는 IP 스트림을 Tap 정보를 통해 찾는다.
protocol_encapsulation 값이 0x04이면 비동기 IP 데이터그램이 전송되고, selector_type이 0x0102일 경우 selector_bytes를 통해 목적 어드레스(destination address)를 가리키는 device_id 값이 전달된다. 이 selector_bytes 값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며 device_id 값 중에서 유효(valid)한 바이트의 개수를 시그널링 해준다.
결국 Tap 정보를 통하여 해당 PID로 전송되는 IP 데이터그램의 멀티캐스트 어드레스(혹은 어드레스 레인지)(Multicast address(or address range))를 알 수 있다.
Tap 가운데서 NRT 서비스 시그널링 데이터가 전달되는 Well-known IP address가 실려있는 것을 확인하여 이를 우선 수신하여 IP 패킷을 수신한다.
IP 패킷에서 NRT 서비스 시그널링 데이터를 추출하여 이를 NRT 어플리케이션 매니저(NRT Application Manager)에 전달하여 처리함으로써 NRT 서비스를 시작할 수 있다.
상술한 바와 같이, NRT 서비스 시그널링 채널은 Well-known IP address 통해 IP 데이터그램에 쌓여 멀티캐스트 된다.
도 9는 본 발명의 다른 실시 예에 따라 ATSC 방송 시스템을 통해 NRT 서비스를 전송할 경우의 시그널링 방법을 설명하기 위해 도시한 것이고, 도 10은 도 9에 대한 순서도를 도시한 것이다.
도 9는, IP 단을 통해 별도의 NRT서비스 시그널링 채널을 구성하는 방식이다. 이와 같은 경우 NRT 서비스 시그널링 채널은 Well-known IP address 통해 IP 데이터그램에 싸여 멀티캐스트 된다. 이와 같은 경우의 시그널링 구조가 바로 도 9이다. 즉, PSIP 단에서 모든 시그널링이 이루어지는 것과 달리 IP 멀티캐스트 스트림(Multicast stream)으로 별도의 NRT 서비스 시그널링 채널이 존재하는 것을 볼 수 있다.
도 10을 참조할 때, 수신기의 전원이 켜지고, 디폴트 채널 또는 사용자에 의한 채널이 선택(S1001)되면, 수신기는 TVCT(Terrestrial Virtual Channel Table) 또는 PMT(Program Map Table)를 수신(S1002)한다.
관련하여, 각 가상 채널을 구성하는 스트림에 대한 정보는 TVCT의 Service_location_descriptor나 또는 PMT의 ES_loop에 시그널링된다.
따라서, 수신기는 수신된 TVCT 내 service_type를 파싱하여 선택된 채널을 통해 제공되는 서비스의 타입을 판단한다(S1003). 예를 들어, 선택된 채널을 통해 제공되는 해당 서비스의 타입은, 상기 service_type의 값이 0x02이면 디지털 A/V/Data 서비스 타입임을, 0x04이면 Data only 서비스 타입임을, 0x08이면 NRT Only 서비스 타입임을 의미할 수 있다.
상기 S1003 단계 판단 결과 해당 서비스 타입이 일반 A/V 서비스가 아닌 경우에는 TVCT의 채널 루프(channel loop) 중에 service_location_descriptor를 파싱하여 DST(Data Service Table)의 PID(0x61)를 추출한다(S1004).
그리고 상기 추출된 PID를 이용하여 DST를 수신(S1005)한다.
상기 수신된 DST로부터 선택된 채널을 통해 제공되는 해당 서비스가 NRT 서비스인지 판단한다(S1006). 여기에서, 상기 NRT 서비스 여부 판단은 DST 내 app_id_description을 확인함으로써 알 수 있다. 예를 들어, 상기 app_id_description의 값이 0x0003이면 해당 서비스는 NRT 어플리케이션임을 알 수 있다.
상기 S1006 단계 판단 결과 만약 해당 서비스가 NRT 서비스이면, NRT 서비스 시그널링 채널이 포함된 Tap을 추출(S1007)하고, PMT 상의 상기 Tap의 association_tag를 포함하는 stream_PID를 추출한다(S1008).
상기 PID의 스트림을 수신하여 DSM-CC 어드레서블 섹션을 처리한다(S1009).
이후 NRT 서비스 시그널링 채널의 Well-known IP address로부터 IP 패킷을 수신(S1010)하여, 수신된 IP 패킷 내 NRT 서비스 시그널링 데이터를 처리하여 NRT 서비스를 제공한다(S1011).
관련하여, 가상 채널에 NRT 어플리케이션이 존재함을 상기와 같은 방법으로 식별한 이후에는 IP 레이어를 통해 전달되는 NRT 서비스 시그널링 데이터가 전달되는 Well-known IP address가 실려있는 IP 스트림을 Tap 정보를 통해 찾는다.
Protocol_encapsulation 값이 0x04이면 비동기 IP 데이터그램이 전송되고, Selector_type이 0x0102일 경우 selector_bytes를 통해 목적 어드레스(destination address)를 가리키는 device_id 값이 전달된다. 이 selector_bytes 값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며 device_id값 중에서 유효한 바이트의 개수를 시그널링 해준다.
결국 IP 데이터그램의 멀티캐스트 어드레스(혹은 어드레스 레인지)(Multicast address (or address range))에 대한 Tap 정보를 통해 해당 데이터가 실려 오는 트랜스포트 스트림의 PID를 알 수 있다. Tap 가운데서 NRT 서비스 시그널링 데이터가 전달되는 Well-known IP address가 실려있는 것을 확인하여 이를 우선 수신하여 IP 패킷을 수신한다.
다음 단계로, IP 패킷에서 NRT 서비스 시그널링 데이터를 추출하여 이를 NRT 어플리케이션 매니저(Application Manager)에 전달하여 서비스를 시작한다.
NST ( NRT Service Table ) & NCT ( NRT Content Table )
이하에서는 NRT 서비스를 시그널링하기 위한 정보를 제공하기 위해 시그널링 정보 채널을 통해 전송되는 NST와 NCT와 그에 부수되는 디스크립터들에 대해 순차로 설명한다.
도 3에서 상술한 바와 같이, NST/NCT 테이블 섹션은 가상 채널 내의 IP 스트림 형태로 포함되어 전송될 수 있다.
NST를 통해 전송될 필드들의 예를 들면 다음과 같다. 도 11 및 도 12는 본 발명의 일 실시 예에 따라 구성한 NST의 비트스트림 신택스을 도시한 것이다.
여기서, 해당 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
NST/NCT는 NST/NCT가 전송되는 가상 채널(virtual channel) 내의 서비스 정보 및 IP 접속 정보를 기술하며, 각 서비스가 속하는 브로드캐스트 스트림(Broadcast stream)의 인식자인 Transport_Stream_ID를 이용, 해당 서비스의 브로드캐스트 스트림 정보 또한 제공한다. 그리고 본 실시 예에 따른 NST는 하나의 가상 채널 내의 각 고정 NRT 서비스의 서술(Description) 정보를 포함하며, 서술자(Descriptor) 영역에 기타 부가 정보들이 포함될 수 있다.
table_id 필드(8비트)는 해당 테이블 섹션의 타입 식별을 위한 필드로서, 본 필드를 통해 해당 테이블 섹션이 NST를 구성하는 테이블 섹션임을 알 수 있다(table_id: An 8-bit unsigned integer number that indicates the type of table section being defined in NRT Service Table (NST)).
section_syntax_indicator 필드(1비트)는 NST의 섹션 형식을 정의하는 지시자로서, 섹션 형식은 예를 들어, MPEG의 short-form 신택스(0) 등이 될 수 있다(section_syntax_indicator: This 1-bit field shall be set to 0 to always indicate that this table is derived from the short form of the MPEG-2 private section table).
private_indicator 필드(1비트)는 해당 섹션의 형태가 프라이빗 섹션 형태를 따르는지 여부를 나타낸다(private_indicator: This 1-bit field shall be set to 1).
section_length 필드(12비트)는 해당 필드 이후의 나머지 테이블 섹션 길이를 나타낸다(section_length: A 12-bit field. It specifies the number of remaining bytes this table section immediately following this field. The value in this field shall not exceed 4093 (0xFFD)).
table_id_extension 필드(16비트)는 테이블에 종속적이고, 남은 필드들의 범위를 제공하는 table_id 필드의 논리적인 부분이 된다(table_id_extension: This is a 16-bit field and is table-dependent. It shall be considered to be logically part of the table_id field providing the scope for the remaining fields). 여기서, table_id_extension 필드는 NST_protocol_version 필드를 포함한다.
NST_protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송되는 NRT NST를 알려주기 위한 프로토콜 버전을 알려준다(NST_protocol_version: An 8-bit unsigned integer field whose function is to allow, in the future, this NRT Service Table to carry parameters that may be structured differently than those defined in the current protocol. At present, the value for the NST_protocol_version shall be zero. Non-zero values of NST_protocol_version may be used by a future version of this standard to indicate structurally different tables).
version_number 필드(5비트)는 NST의 버전 넘버를 나타낸다.
current_next_indicator 필드(1비트)는 전송된 NST 테이블 섹션이 현재 적용 가능한지 여부를 지시한다(current_next_indicator: A one-bit indicator, which when set to 1 shall indicate that the NRT Service Table sent is currently applicable. When the bit is set to 0, it shall indicate that the table sent is not yet applicable and will be the next table to become valid. This standard imposes no requirement that next tables (those with current_next_indicator set to 0) must be sent. An update to the currently applicable table shall be signaled by incrementing the version_number field).
section_number 필드(8비트)는 해당 테이블 섹션이 NST 테이블을 구성하는 섹션들 내 섹션 넘버를 표현한다(section_number: This 8-bit field shall give the section number of this NRT Service table section. The section_number of the first section in an NRT Service table shall be 0x00. The section_number shall be incremented by 1 with each additional section in the NRT Service table).
last_section_number 필드(8비트)는 NST 테이블을 구성하는 마지막 섹션 번호를 나타낸다(last_section_number: This 8-bit field shall give the number of the last section (i.e., the section with the highest section_number) of the NRT Service table of which this section is a part).
carrier_frequency 필드(32비트)는, 채널에 대응하는 전송 주파수를 알려준다.
channel_TSID 필드(16비트)는, 가상 채널에 의해 참조되는 MPEG-2 프로그램을 싣고 있는 전송 스트림과 연관된 MPEG-2 전송 스트림 ID를 표현한다.
source_id 필드(16비트)는, 가상 채널과 연관된 프로그래밍 소스를 나타낸다.
num_NRT_services 필드(8비트)는 NST 섹션 내의 NRT 서비스의 수를 지시한다(num_services: This 8 bit field specifies the number of services in this NST section).
한편, 본 실시 예에 따른 NST는, for loop를 사용하여 복수의 고정 NRT 서비스에 대한 정보를 제공한다. 이하 각 고정 NRT 서비스에 대해 다음과 같은 필드 정보를 제공할 수 있다.
NRT_service_status 필드(2비트)는 해당 모바일 서비스의 상태를 식별한다. 여기서, MSB는 해당 모바일 서비스가 액티브(1)인지 아니면 인액티브(0)인지 지시하고, LSB는 해당 모바일 서비스가 히든(1)인지 아닌지(0)를 지시한다. 여기서, 상기 모바일 서비스가 NRT 서비스라면, 해당 NRT 서비스의 상태를 식별할 것이다(NRT_service_status: A 2-bit enumerated field that shall identify the status of this NRT Service. The most significant bit shall indicate whether this NRT Service is active (when set to 1) or inactive (when set to 0) and the least significant bit shall indicate whether this NRT Service is hidden (when set to 1) or not (when set to 0). Hidden services are normally used for proprietary applications, and ordinary receiving devices should ignore them).
SP_indicator 필드(1비트)는, 해당 모바일 서비스의 의미 있는 프리젠테이션을 제공하기 위해 필요한 컴포넌트들 중 적어도 하나에 적용되는 서비스 프로텍션이 설정되었으면 이를 지시하기 위함이다(SP_indicator: A 1-bit field that shall indicate, when set, that service protection is applied to at least one of the components needed to provide a meaningful presentation of this NRT Service).
CP_indicator 필드(16비트)는, 해당 모바일 서비스의 의미 있는 프리젠테이션을 제공하기 위해 필요한 컴포넌트들 중 적어도 하나에 적용되는 컨텐트 프로텍션이 설정되었으면 이를 지시하기 위함이다(CP_indicator: A 1-bit field that shall indicate, when set, that content protection is applied to at least one of the components needed to provide a meaningful presentation of this NRT Service).
NRT_service_id 필드(16비트)는, 해당 NRT 브로드캐스트의 범위 내의 해당 NRT 서비스를 유일하게 식별하기 위한 지시자이다. 상기 NRT_service_id는 해당 서비스를 통틀어 변하지 않는다. 여기서, 혼동을 피하기 위해 서비스가 종료되면, 상기 서비스를 위한 NRT_service_id는 적절한 시간이 경과한 후까지 다른 서비스를 위하여 사용되지 않을 것이다(NRT_service_id: A 16-bit unsigned integer number that shall uniquely identify this NRT Service within the scope of this NRT Broadcast. The NRT_service_id of a service shall not change throughout the life of the service. To avoid confusion, it is recommended that if a service is terminated, then the NRT_service_id for the service should not be used for another service until after a suitable interval of time has elapsed).
short_NRT_service_name_length 필드 (3비트)는, short_NRT_service_name 필드 내 바이트 쌍들의 넘버를 지시한다(short_NRT_service_name_length: A three-bit unsigned integer that shall indicate the number of byte pairs in the short_NRT_service_name field. This value is shown as m in the No. of Bits column for the short_NRT_service_name field. When there is no short name of this NRT service, the value of this field shall be 0).
short_NRT_service_name 필드는, NRT 서비스의 숏 네임을 나타낸다. NRT 서비스의 숏 네임이 없을 때는 해당 필드는 널로 채워질 것이다(short_NRT_service_name: The short name of the NRT Service. When there is no short name of this NRT Service, this field shall be filled with NULLs (0x00)).
NRT_service_category 필드(6비트)는, 해당 IP 서비스 내에 전송되는 서비스의 타입을 식별한다. 상기 IP 서비스는 NRT 서비스를 포함할 수 있다(NRT_service_category: A 6-bit enumerated type field that shall identify the type of service carried in this IP Service).
num_components 필드(5비트)는 해당 NRT 서비스 내 IP 스트림 컴포넌트들의 넘버를 설명한다(num_components: This 5-bit field specifies the number of IP stream components in this NRT Service).
IP_version_flag 필드(1비트)는 0로 설정된 경우에는 source_IP_address 필드, NRT_service_destination_IP_address 필드 및 component_destination_IP_address 필드가 IPv4 어드레스임을 지시하고, 1으로 설정된 경우에는 source_IP_address 필드, NRT_service_destination_IP_address 필드, component_destination_IP_address 필드가 IPv6 어드레스임을 지시한다(IP_version_flag: A 1-bit indicator, which when set to 0 shall indicate that source_IP_address, NRT_service_destination_IP_address, and component_destination_IP_address fields are IPv4 addresses. The value of 1 for this field is reserved for possible future indication that source_IP_address, NRT_service_destination_IP_address, and component_destination_IP_address fields are for IPv6).
source_IP_address_flag 필드(1비트)는 플래그가 설정되면, 해당 NRT 서비스를 위한 소스 IP 어드레스 값이 소스 특정 멀티캐스트를 지시하기 위해 존재함을 지시한다(source_IP_address_flag: A 1-bit Boolean flag that shall indicate, when set, that a source IP address value for this NRT Service is present to indicate a source specific multicast).
NRT_service_destination_IP_address_flag 필드(1비트)는 플래그가 1로 설정되면, 해당 NRT 서비스의 컴포넌트들을 위한 디폴트 IP 어드레스가 제공하기 위해 NRT_service_destination_IP_address 필드가 존재한다(NRT_service_destination_IP_address_flag: A 1-bit Boolean flag that indicates, when set to 1, that a NRT_service_destination_IP_address value is present, to serve as the default IP address for the components of this NRT Service).
source_IP_address 필드(128비트)는 source_IP_address_flag가 1로 설정되면 해당 필드는 존재하지만, source_IP_address_flag가 0으로 설정되면 해당 필드는 존재하지 않을 것이다. 만약 해당 필드가 존재한다면, 해당 필드는 해당 NRT 서비스의 컴포넌트들을 전송하는 모든 IP 데이터그램들의 소스 IP 어드레스를 포함할 것이다. 해당 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다. Source_IP_address는 FLUTE 세션의 모든 채널을 전송하는 동일한 서버의 소스 IP 어드레스(source IP address)가 된다(source_IP_address: This field shall be present if the source_IP_address_flag is set to 1 and shall not be present if the source_IP_address_flag is set to 0. If present, this field shall contain the source IP address of all the IP datagrams carrying the components of this NRT Service. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined).
NRT_service_destination_IP_address 필드(128비트)는 source_IP_address_flag가 1로 설정되면 해당 source_IP_address 필드는 존재하지만, source_IP_address_flag가 0으로 설정되면 해당 source_IP_address 필드는 존재하지 않을 것이다. 만약 해당 source_IP_address 필드가 존재하지 않는다면, component_destination_IP_address 필드는 num_components 루프 내에 각 컴포넌트를 위해 존재할 것이다. 해당 source_IP_address 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다. NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 목적 IP 어드레스(destination IP address)가 있으면 시그널링 된다(NRT_service_destination_IP_address: This field shall be present if the NRT_service_destination_IP_address_flag is set to 1 and shall not be present if the NRT_service_destination_IP_address_flag is set to 0. If this NRT_service_destination_IP_address is not present, then the component_destination_IP_address field shall be present for each component in the num_components loop. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined).
한편, 본 실시 예에 따른 NST는, for loop를 사용하여 복수의 컴포넌트에 대한 정보를 제공한다.
essential_component_indicator 필드(1비트)는, 해당 필드의 값이 1로 설정되어 있으면 해당 컴포넌트는 NRT 서비스를 위한 필수 컴포넌트 임을 지시한다. 그렇지 않으면, 해당 컴포넌트는 선택적인 컴포넌트임을 지시한다(essential_component_indicator: A one-bit indicator which, when set to 1, shall indicate that this component is an essential component for the NRT Service. Otherwise, this field indicates that this component is an optional component).
port_num_count 필드(6비트)는 해당 UDP/IP 스트림 컴포넌트와 관련된 UDP 포트들의 넘버를 지시한다. 목적 UDP 포트 넘버들의 값은 component_destination_UDP_port_num 필드 값으로부터 시작해서 1씩 증가한다(port_num_count: This field shall indicate the number of destination UDP ports associated with this UDP/IP stream component. The values of the destination UDP port numbers shall start from the component_destination_UDP_port_num field and shall be incremented by one).
component_destination_IP_address_flag 필드(1비트)는 1로 설정되어 있으면 해당 컴포넌트를 위해 component_destination_IP_address 필드가 존재함을 지시하는 플래그이다(component_destination_IP_address_flag: A 1-bit Boolean flag that shall indicate, when set to 1, that the component_destination_IP_address is present for this component).
component_destination_IP_address 필드(128비트)는 component_destination_IP_address_flag가 1로 설정되면 해당 필드는 존재하지만, component_destination_IP_address_flag가 0으로 설정되면 해당 필드는 존재하지 않을 것이다. 만약 해당 필드가 존재한다면, 해당 필드는 해당 NRT 서비스의 컴포넌트들을 전송하는 모든 IP 데이터그램들의 소스 IP 어드레스를 포함할 것이다. 해당 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다(component_destination_IP_address: This field shall be present if the component_destination_IP_address_flag is set to 1 and shall not be present if the component_destination_IP_address_flag is set to 0. When this field is present, the destination address of the IP datagrams carrying this component of the NRT Service shall match the address in this field. When this field is not present, the destination address of the IP datagrams carrying this component shall match the address in the NRT_service_destination_IP_address field. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined).
component_destination_UDP_port_num 필드(16비트)는 해당 UDP/IP 스트림 컴포넌트를 위한 목적 UDP 포트 넘버를 나타낸다(component_destination_UDP_port_num: A 16-bit unsigned integer field, that represents the destination UDP port number for this UDP/IP stream component).
num_component_level_descriptors 필드(4비트)는, 해당 IP 스트림 컴포넌트를 위한 추가 정보를 제공하는 서술자들의 수를 제공한다(num_component_level_descriptors: A 16-bit unsigned integer field, that represents the number of descriptors providing additional information for IP stream component, may be included).
component_level_descriptors 필드는, 해당 IP 스트림 컴포넌트를 위한 추가 정보를 제공하는 하나 또는 그 이상의 디스크립터들을 식별한다(component_level_descriptors: One or more descriptors providing additional information for this IP stream component, may be included).
num_NRT_service_level_descriptors 필드(4비트)는 해당 서비스를 위한 NRT 서비스 레벨 디스크립터들의 수를 설명한다(num_NRT_service_level_descriptors: This 4 bit field specifies the number of NRT service level descriptors for this service).
NRT_service_level_descriptor()은 해당 NRT 서비스를 위한 추가적인 정보를 제공하는 없거나 하나 이상의 서술자들을 식별한다. 여기에서, NRT 서비스에 대한 구체적인 서비스 타입을 알려줄 수 있다. 상기 구체적인 서비스 타입에는 예를 들어, 웹 컨텐츠를 제공하기 위한 포털 서비스, 푸쉬 VOD, A/V 다운로드 등이 있을 수 있다(NRT_service_level_descriptor(): Zero or more descriptors providing additional information for this NRT Service, may be included).
num_virtual_channel_level_descriptors 필드(4비트)는 해당 가상 채널을 위한 가상 채널 레벨 서술자들의 수를 설명한다(num_virtual_channel_level_descriptors: This 4 bit field specifies the number of virtual channel level descriptors for this virtual channel).
virtual_channel_level_descriptor()은 해당 NST가 서술하는 가상 채널에 대한 추가 정보를 제공하는 서술자를 나타낸다 (virtual_channel_level_descriptor(): Zero or more descriptors providing additional information for the virtual channel which this NST describes, may be included).
NRT 서비스는 FLUTE를 통해 전송되며 NST 테이블 상의 접속 정보는 다음과 같이 FLUTE 세션 정보와 연결된다. Source_IP_address는 FLUTE 세션(session)의 모든 채널을 전송하는 동일한 서버의 source IP 주소가 된다. NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 destination IP address가 있을 경우 시그널링된다.
Component는 FLUTE 세션 내의 채널에 매핑될 수 있으며 각 채널별로(세션 단위로 시그널링된 IP address와 다른) 별도의 destination IP address를 component_destination_IP_address를 통해 시그널링 할 수 있다. 또한, component_destination_UDP_port_num를 통해 destination port number를 시그널링하고 port_num_count를 통해 component_destination_UDP_port_num로부터 시작하는 목적 포트의 개수를 추가로 지정할 수 있다.
포트를 복수 개로 지정함으로써 하나의 목적 IP 어드레스에 대해 복수 개의 채널을 구성할 수도 있다. 여기서 하나의 컴포넌트는 복수 개의 채널을 지정할 수 있다. 그러나 일반적으로 목적 IP 어드레스를 통해 채널을 구별하는 것이 바람직하다. 여기서, 하나의 채널은 하나의 컴포넌트로 매핑된다고 볼 수 있다.
NRT 서비스를 위한 컨텐트 아이템들/파일들은 FLUTE를 통해 전송되며, NST 테이블 상의 접속 정보를 이용하여 해당 FLUTE 세션 정보를 시그널링한다. 도 13는 본 발명의 일 실시 예에 따라 구성한 NRT_component_descriptor()의 비트 스트림 신택스를 도시한 것이다.
NRT_component_descriptor()는 NST 내 각 NRT 서비스의 각 컴포넌트의 컴포넌트 디스크립터 루프 내에 나타날 것이다. 그리고 해당 디스크립터 내 모든 파라미터들은 NRT 서비스의 컴포넌트들을 위해 사용되는 파라미터들에 상응한다(An NRT_component_descriptor() shall appear in the component descriptor loop of each component of each NRT Service in the NST and all parameters in the descriptor shall correspond to the parameters in use for that component of the NRT Service).
이하 도 13의 NRT_component_descriptor를 통해 전송되는 각 필드 정보에 대해 기술하면 다음과 같다.
descriptor_tag 필드(8비트)는 해당 디스크립터(0x8D)가 NRT_component_descriptor임을 식별한다(descriptor_tag: This 8-bit unsigned integer shall have the value, identifying this descriptor as the NRT_component_descriptor).
descriptor_length 필드(8비트)는 해당 필드 바로 다음 필드부터 해당 디스크립터의 끝까지 길이(바이트 단위)를 설명한다(descriptor_length: This 8-bit unsigned integer shall specify the length (in bytes) immediately following this field up to the end of this descriptor).
component_type 필드(7비트)는 컴포넌트의 인코딩 포맷을 식별한다. 상기 식별 값은 RTP/AVP 스트림의 payload_type을 위해 할당된 값들 중의 하나일 수 있다. 또는 본 명세서에 의해 할당된 후술할 표 3에 도시된 값들 중 하나일 수 있다. 또는 다이내믹 밸류(dynamic value)일 수 있다. RTP를 거쳐 전송되는 미디어를 구성하는 컴포넌트들을 위해 본 필드의 값들은 해당 컴포넌트를 전송하는 IP 스트림의 RTP 헤더 내 payload_type 내 값들과 일치할 것이다(component_type: This 7-bit field shall identify the encoding format of the component. The value may be any of the values assigned by IANA for the payload_type of an RTP/AVP stream [10], or it may be any of the values in [Table 3] assigned by this document, or it may be a dynamic value in the range 96-127. For components consisting of media carried via RTP, the value of this field shall match the value in the payload_type field in the RTP header of the IP stream carrying this component. Note that additional values of the component_type field in the range of 43-71 can be defined in future versions of this standard). NRT 서비스 스트림을 FLUTE 기반으로 전송할 경우에 FLUTE 세션에 대해 필요한 아래에 기술할 파라미터들을 추가로 시그널링하기 위하여 표 3과 같이, ATSC에서 FLUTE 컴포넌트를 위해 정의한 component_type인 38을 사용할 수도 있고, 아직 할당되지 않은 값인 43을 새로이 NRT 전송을 위한 component_type으로 정의하여 쓸 수도 있다.
component _ type Meaning
0-34 Assigned or reserved by IANA, except that 20-4, 27, and 29-30 are unassigned
35 H.264/AVC video stream component (assigned by ATSC use)
36 SVC enhancement layer stream component (assigned by ATSC use)
37 HE AAC v2 audio stream component (assigned by ATSC use)
38 FLUTE file delivery session ( assigned by ATSC use )
39 STKM stream component (assigned by ATSC use)
40 LTKM stream component (assigned by ATSC use)
41 OMA-RME DIMS stream component (assigned by ATSC use)
42 NTP timebase stream component (assigned by ATSC use)
43-71 [Unassigned by IANA and reserved by ATSC use]
72-76 Reserved by IANA
77-95 Unassigned by IANA
96-127 Designated by IANA for dynamic use
num_STKM_streams 필드(8비트)는, 해당 컴포넌트와 관련된 STKM 스트림들의 넘버를 식별한다(num_STKM_streams: An 8-bit unsigned integer field that shall identify the number of STKM streams associated with this component).
STKM_stream_id 필드(8비트)는, 얻어진 해당 보호된 컴포넌트를 디크립트하기 위해 키들을 있는 STKM 스트림을 식별한다. 여기서, 상기 STKM 스트림을 위한 상기 컴포넌트 디스크립터 내에 STKM_stream_id 필드를 참조한다(STKM_stream_id: An 8-bit unsigned integer field that shall identify an STKM stream where keys to decrypt this protected component can be obtained, by reference to the STKM_stream_id in the component descriptor for the STKM stream).
NRT_component_data(component_type) 필드는, 해당 컴포넌트를 표현하기 위해 필요한 인코딩 파라미터들 및/또는 다른 파라미터들을 제공한다. 여기서, NRT_component_data 엘리먼트의 구조는 component_type 필드의 값에 의해 결정된다(NRT_component_data(component_type): The NRT_component_data() element provides the encoding parameters and/or other parameters necessary for rendering this component. The structure of the NRT_component_data is determined by the value of component_type field).
FLUTE 세션들의 FDT(File Delivery Table)는 모든 컨텐트 아이템들의 아이템 리스트들을 전달하는데 사용되고, 상기 아이템들을 획득하는데 관련된 아이템들의 사이즈, 데이터 타입과 다른 정보들을 제공한다(The File Delivery Table (FDT) of the FLUTE sessions used to deliver the items lists all the content items and gives their sizes, data types, and other information relevant to the acquisition of the items).
따라서, 본 발명은 NCT를 이용해 구성된 서비스 가이드로부터 선택된 컨텐트를 수신하기 위해 NST를 이용하여 해당 컨텐트가 전송되는 FLUTE 세션을 접속하기 위한 정보를 획득한다. 그리고 NCT의 컨텐트 아이템에 대한 정보를 해당 FLUTE 세션을 통해 전송되는 파일에 대한 정보와 매핑하고자 한다. 여기서, 상기 선택된 컨텐트 아이템을 포함하는 서비스를 식별하는 것은 상술한 NST의 NRT_service_id를 통해 식별할 수 있다. 다만, 도 3에서 언급한 바와 같이, 각 NRT 서비스에 포함된 하나 또는 그 이상의 컨텐트 아이템(들)과 그에 속한 파일들을 보다 상세하게 알기 위해서는 해당 컨텐트 아이템(들)이 전송되는 FLUTE 세션에 대한 정보, 보다 구체적으로 FLUTE 세션에 대한 FDT 정보 내 content identifier와의 매핑이 필요하다.
NRT 서비스는 FLUTE를 통해 전송되며 NST 테이블 상의 접속 정보는 다음과 같이 FLUTE 세션 정보와 연결된다. Source_IP_address는 FLUTE 세션의 모든 채널을 전송하는 동일한 서버의 source IP 주소가 된다. NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 destination IP address가 있을 경우 시그널링된다.
Component는 FLUTE 세션 내의 채널에 매핑될 수 있으며 각 채널별로 (세션 단위로 시그널링된 IP 어드레스와 다른) 별도의 destination IP address를 component_destination_IP_address를 통해 시그널링 할 수 있다. 또한, component_destination_UDP_port_num을 통해 destination port number를 시그널링하고 port_num_count를 통해 component_destination_UDP_port_num로 부터 시작하는 목적 포트의 개수를 추가로 지정할 수 있다.
포트를 복수 개로 지정함으로써 하나의 destination IP address에 대하여 복수 개의 채널을 구성할 수도 있으며 이와 같은 경우 하나의 Component가 복수 개의 채널을 지정하게 된다. 그러나 일반적으로 Destination IP address를 통해 채널을 구별하는 것을 권장하며 이 경우 하나의 채널은 하나의 component로 매핑된다고 볼 수 있다.
세션을 구성하는 컴포넌트의 추가적인 속성(attribute)을 시그널링하기 위하여 component_attribute_byte를 사용할 수 있다. FLUTE 세션을 시그널링하기 위하여 필요한 추가적인 파라미터들을 이를 통해 시그널링할 수 있다.
관련하여, FLUTE 세션을 시그널링하기 위해서는 파라미터들이 필요하고, 이러한 파라미터들에는 반드시 필요한 필수 파라미터들과 해당 FLUTE 세션과 관련되어 선택적으로 필요한 파라미터들이 있다. 우선, 필수 파라미터들에는 소스 IP 어드레스(source IP address), 세션 내 채널의 수(The number of channels in the session), 세션 내 각 채널을 위한 목적 IP 어드레스와 포트 넘버(The destination IP address and port number for each channel in the session), 세션의 TSI(The Transport Session Identifier (TSI) of the session) 및 세션의 시작 시간과 종료 시간(The start time and end time of the session) 파라미터가 포함되고, 해당 세션과 관련하여 선택적으로 필요한 파라미터에는, FEC 오브젝트 트랜스미션 정보(FEC Object Transmission Information), 관심 있는 파일들을 포함한 세션의 첫번째 수신 정보(Some information that tells receiver in the first place, that the session contains files that are of interest) 및 대역폭 상세(Bandwidth specification) 파라미터가 포함된다.
이 중 세션의 채널의 개수는 명시적으로 제공될 수도 있고, 세션을 구성하는 스트림의 개수를 합산하여 구할 수도 있다. 상기 파라미터들 중에서 본 발명에서 제안한 NST를 통해 start time and end time of the session이 시그널링 될 수 있고, 상기의 session_description_Descriptor를 통해 source IP address, destination IP address and port number for each channel in the session, number of channels in the session이 시그널링될 수 있다.
도 14은 본 발명의 일 실시 예에 따라 구성한 FLUTE 파일 딜리버리를 위해 NRT_component_data_descriptor의 비트 스트림 신택스를 도시한 것이다.
하나의 NRT 서비스는 멀티플 FLUTE 세션들에 포함될 수 있다. 각 세션은 세션을 위해 사용되는 IP 어드레스들과 포트들에 의존하는 하나 또는 그 이상의 FLUTE 컴포넌트 디스크립터들을 이용하여 시그널링 될 수 있다(A single NRT service may contain multiple FLUTE sessions. Each session may be signaled using one or more FLUTE component descriptors, depending on the IP addresses and ports used for the sessions).
이하 NRT_component_data_descriptor의 각 필드에 대해 상세하게 설명하면, 다음과 같다.
TSI 필드(16비트)는 FLUTE 세션의 TSI를 지시한다(TSI: A 16-bit unsigned integer field, which shall be the Transport Session Identifier (TSI) of the FLUTE session).
session_start_time 필드는 FLUTE 세션이 시작하는 시각을 지시한다. 만약 해당 필드의 값이 모두 0이면, 세션은 이미 시작된 것으로 해석될 수 있다(session_start_time: The time at which the FLUTE session starts. If the value of this field is set to all zero, then it shall be interpreted to mean that the session has already started).
session_end_time 필드는 FLUTE 세션이 종료되는 시각을 지시한다. 만약 해당 필드의 값이 모두 0이면, 세션은 무한정 계속되는 것으로 해석될 수 있다(session_end_time: The time at which the FLUTE session ends. If the value of this field is set to all zero, then it shall be interpreted to mean that the session continues indefinitely).
tias_bandwidth_indicator 필드(1비트)는 TIAS(Transport Independent Application Specific) 대역폭 정보를 포함하는 플래그들을 지시한다. 만약 TIAS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 1로 설정되고, TIAS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 0으로 설정되어야 할 것이다(tias_bandwidth_indicator: A 1-bit field that flags the inclusion of TIAS bandwidth information. This bit shall be set to 1 to indicate the TIAS bandwidth field is present, and it shall be set to 0 to indicate the TIAS bandwidth field is absent).
as_bandwidth_indicator 필드(1비트)는 AS(Application Specific) 대역폭 정보를 포함하는 플래그들이다. 만약 AS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 1로 설정되어야 하고, AS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 0으로 설정되어야 할 것이다(as_bandwidth_indicator: A 1-bit field that flags the inclusion of AS bandwidth information. This bit shall be set to 1 to indicate the AS bandwidth field is present, and it shall be set to 0 to indicate the AS bandwidth field is absent).
FEC_OTI_indicator 필드(1비트)는 FEC 오브젝트 트랜스미션 정보(OTI) 정보가 제공되는지 여부를 지시한다(FEC_OTI_indicator: A 1-bit indicator that indicates whether FEC Object Transmission Information is provided).
tias_bandwidth 필드는 TIAS 최대 대역폭을 지시한다(tias_bandwidth: This value shall be one one-thousandth of the Transport Independent Application Specific maximum bandwidth, rounded up to the next highest integer if necessary. (Note: this gives the TIAS bandwidth in kilobits per second)).
as_bandwidth 필드는 AS 최대 대역폭의 값을 가질 것이다(as_bandwidth: This value shall be the Application Specific maximum bandwidth(Note: this gives the AS bandwidth in kilobits per second)).
FEC_encoding_id 필드는 해당 FLUTE 세션 내에서 사용된 FEC 인코딩 ID를 지시한다(FEC_encoding_id: FEC encoding ID used in this FLUTE session).
FEC_instance_id 필드는 해당 FLUTE 세션 내에서 사용된 FEC 인스턴스 ID를 지시한다(FEC_instance_id: FEC instance ID used in this FLUTE session).
상기와 같은 파라미터들을 FLUTE 컴포넌트 데이터 바이트들(FLUTE component data bytes)을 통해 시그널링함으로써 FULTE 세션을 수신하기 위해 꼭 필요한 정보들은 모두 제공할 수 있으며, 이 세션을 통해 FDT를 수신하여 이를 통해 FLUTE 세션을 통해 전달되는 모든 파일들에 대한 정보를 획득하여 이 파일들을 수신하는 방법이 사용될 수 있다.
이 FLUTE 컴포넌트 디스크립터(FLUTE component descriptor)는 NST의 Component_level_descriptor 루프를 통해 전달될 수 있다. FLUTE 채널이 복수 개일 경우에는 세션 레벨의 파라미터들인 TSI, session_start_time, session_end_Time 등은 한 번만 시그널링 되어야 하므로 여러 개의 채널의 컴포넌트 중에서 하나의 컴포넌트에서만 FLUTE 컴포넌트 디스크립터를 Component_level_descriptor 루프를 통해 전송할 수도 있다.
다음으로, NCT에 대해 설명하면, 다음과 같다.
도 15는 본 발명의 일 실시 예에 따라 구성한 NCT 섹션의 비트스트림 신택스를 도시한 것이다.
이하에서는 상술한 NST를 통해 시그널링된 NRT 컨텐트 딜리버리 채널(NRT content delivery channel) 별로 전송되는 NRT 컨텐트를 시그널링/어나운스먼트(Signaling/Announcement)에 관련된 NCT(NRT Content Table)에 대해 기술한다.
도 15에서는 NRT 컨텐트를 시그널링하기 위하여 NCT를 새롭게 정의하였다. 다만, 이는 하나의 실시 예로 다른 방식도 고려할 수 있다. NCT를 통하여 특정 NRT 컨텐트 딜리버리 채널을 통해 전송되는 NRT 컨텐츠를 시그널링할 수 있다. 이하 NCT 섹션을 구성하는 각 필드 정보에 대해 보다 상세하게 기술하면, 다음과 같다.
table_id 필드(8비트)는, 해당 테이블 섹션이 NCT을 구성하는 테이블 섹션임을 식별한다.
NRT_service_id 필드는, NCT에서 기술하는 컨텐트를 전달(deliver)하는 NRT 컨텐트 딜리버리 채널의 service_id를 설명한다.
version_number 필드는, NCT에 대한 버전 넘버를 표현한다. 따라서, 수신기는 version_number를 이용해 NCT 내용의 변경 유무를 알 수 있다.
num_contents_in_section 필드는, NCT에서 기술하는 컨텐트의 개수. source_id로 설명된 가상 채널을 통하여 전송되는 컨텐트(또는 파일)의 개수를 나타낸다.
content_version 필드는, 특정 content_id 값을 갖는 컨텐트(또는 파일)에 대한 버전 넘버를 알 수 있다. 즉, 수신기가 이전에 수신하여 저장한 파일의 content_id가 0x0010이라고 할 때, 동일한 컨텐트 즉, content_id 값이 0x0010인 파일이 전송되며 content_version이 이전에 수신하여 저장한 컨텐트와 다르다면 NCT을 통해 새롭게 어나운스된 컨텐트를 수신하여 이전에 저장된 컨텐트를 업데이트(update) 하거나 대체(replace)하도록 한다. 본 실시 예에서는 release의 버전을 나타내는 일련 번호를 의미하나 실제로 published (released) time을 직접 표현할 수도 있다. 이때, content_version 필드로 공개 시간(publish time)이 표현하기 힘들 경우에 published (released) time을 표현할 수 있는 새로운 필드를 사용할 수도 있다.
content_id 필드는, 수신하여 저장할 컨텐트(또는 파일)을 유일하게(unique) 구분할 수 있는 ID 값이다.
content_available_start_time 필드와 content_available_end_time 필드는, 컨텐트를 수신할 수 있는 FLUTE 세션의 시작시간 및 종료시간을 알려 준다.
content_length_in_seconds 필드는, 컨텐트(또는 파일)이 A/V 파일인 경우에 해당 컨텐트의 실재 재생 시간을 초 단위로 알려 준다(playback time).
content_size 필드는, 컨텐트(또는 파일)의 크기를 바이트 단위로 알려준다.
content_delivery_bit_rate 필드는, 컨텐트(또는 파일)을 전송하는 전송 비트 레이트(bit rate)를 표시하며 타겟 비트 레이트(target bit rate)를 의미한다. 즉, 서비스 프로바이더(service provider) 또는 방송국이 해당 컨텐트를 전송할 때 얼마만큼의 대역폭(bandwidth)를 할당(allocate)할 지를 표시한다. 이 정보를 이용하여 수신기는 content_size 및 content_delivery_bit_rate를 이용해 해당 파일을 수신하는데 소요되는 최소 시간(minimum time)을 알 수 있다. 즉, 컨텐트를 수신하는데 걸리는 시간을 추정(estimation)하여 사용자에게 해당 정보를 제공할 수 있으며 최소(minimum) 수신 소요 시간은 (conent_size*8)/(content_delivery_bit_rate)를 계산하여 얻어지며 단위는 초(seconds)이다.
content_title_length 필드는, content_title_text()의 길이를 바이트 단위로 나타낸다. 이를 이용해 수신기가 정확하게 content_title_text() 정보를 획득하기 위해 몇 바이트의 데이터를 읽어야 할 지를 알 수 있다.
content_title_text() 필드는, MSS(multiple string structure)의 포맷의 컨텐트 타이틀이다(content title in the format of a multiple string structure).
상술한 NST를 구성하는 방법으로 예를 들어, 하나 혹은 그 이상의 NRT 채널(들)을 하나의 채널로 구성할 수 있다.
본 명세서에서는 NRT 서비스 단위로 NRT 채널을 구성하며 FLUTE로 파일을 전송하는 FLUTE 세션을 하나 이상을 가질 수 있다.
일반적으로 FLUTE 세션은 TSI, IP 및 port 어드레스 등의 파라미터를 이용해 유일하게(unique) 식별/레퍼런스 될 수 있으며 시간적으로는 session_start_time과 session_end_time으로 바운드(bound) 된다.
테이블을 구성할 때에는 session_start_time 및 session_end_time을 이용해 이 시간 동안의 FLUTE 세션을 어나운스 하도록 한다.
현재뿐 아니라 앞으로 전송될 모든 NRT 채널에 대한 정보를 하나의 테이블로 구성할 수도 있으며, 이를 현재(현재로부터 일정 기간)와 미래(현재로 정의된 기간 이후)로 나누는 방법 및 현재로부터 일정시간 이내 (예를 들어, 24시간), 그 이후 일정시간 이내 (예를 들어, 24시간), 그리고 그 이후의 3개의 구간으로 나누어 각각을 별도의 테이블로 구성하여 보내는 것도 가능할 것이다.
또한, table_id를 이용해 현재 수신 가능한 컨텐트에 대한 가이드 정보인지 미래에 수신할 수 있는 컨텐트에 대한 가이드 정보인지를 구별할 수 있다. 이는 지금으로부터 짧은 시간 범위 내에서 수신 가능한 NRT 서비스와 그 시간 이후에 수신 가능한 서비스들을 각각 다른 테이블로 분리하여 전송하는 방법이다.
미래에 수신할 수 있는 컨텐트에 대한 가이드 정보를 수신하면 수신기는 각 컨텐트의 available_start_time 및 available_end_time 정보를 이용하여 시간적 정렬을 수행한 후 NRT 서비스에 대한 가이드 정보를 사용자에게 출력하도록 한다.
다만, 상술한 예 이외에 테이블을 구성하는 방법을 달리하더라도 테이블 엘리먼트를 구성하는 각 필드는 동일할 것이다.
NRT 서비스 제공 방법
상술한 NRT 서비스 시그널링 데이터를 이용하여 수신기는 NRT 가이드 정보를 구성하여 디스플레이함으로써 사용자에게 제공할 수 있다. 여기서, 상기 NRT 가이드 정보를 구성하는 방법에는 예를 들어, 수신된 NCT를 이용하는 경우와 NST를 이용하는 경우가 있는바 이에 대한 실시 예를 설명한다.
도 16는 본 발명의 일 실시 예에 따라 NRT 서비스를 제공하는 방법을 설명하기 위해 도시한 순서도이다.
수신기는 가상 채널을 통해 전송되는 NRT 서비스를 확인(S1501)하고, IP 레이어를 통해 전송되는 NRT 시그널링 채널에 접속(S1502)한다.
상기 접속한 NRT 시그널링 채널로부터 NST를 추출한다(S1503).
상기 추출한 NST로부터 각 NRT 서비스별 NRT 컨텐트 딜리버리 채널에 대한 구체적인 정보를 획득한다(S1504). 여기서, 상기 NRT 컨텐트 딜리버리 채널은 예를 들어, 시그널링 정보가 전송되는 채널을 제외하고 컨텐트가 전송되는 채널을 의미할 수 있다.
상기 추출한 NST 정보를 파싱하여 NRT 서비스에 접속하여 FLUTE 세션을 통해 전송되는 NRT 컨텐트와 상기 컨텐트에 대한 FDT 정보를 수신하여 미리 저장한다(S1505). 여기서, NCT 섹션이 포함된 TP의 PID 정보를 획득하는 과정에서 해당 PID는 미리 할당되거나 well-known으로 정의(define)되어 수신기가 미리 알고 있는 상황이다.
이후 수신기는 전송되는 NCT를 수신한다(S1506).
상기 수신된 NCT의 각 필드를 이용하여 컨텐트에 대한 구체적인 정보를 획득한다(S1507). 상기 S1507 단계에서 획득한 구체적인 정보 예를 들어, content_id, content_delivery_bit_rate, content_available_start_time, content_available_end_time, content_title_text() 등을 이용해 NRT 가이드 정보를 구성하여 표시한다(S1508).
상기 표시된 NRT 가이드 정보를 통해 사용자 등으로부터 특정 NRT 컨텐트가 선택되면(S1509), 상기 S1505 단계에서 미리 저장한 FDT 내 content_id와 상기 선택된 컨텐트의 content_id를 비교하여 수신기에 기 저장된 해당 NRT 컨텐트를 재생한다(S1510).
NRT 서비스 시그널링 아키텍쳐(NRT service signaling architecture)
상술한 NRT 서비스의 시그널링 구조는 도 17에 도시하였다.
도 17은 본 발명의 다른 실시 예에 따라 구성한 NRT 서비스 시그널링 구조를 도시한 것이다.
도 17을 참조할 때, 각 ATSC Virtual Channel은 각 NRT 서비스를 포함하여 IP 스트림의 형태로 전달하는 적어도 하나의 컨텐트 딜리버리 채널과 각 컨텐트 딜리버리 채널에 대한 시그널링 정보가 IP 스트림의 형태로 전송되는 NRT 서비스 시그널링 채널을 포함한다. 여기서, 상기 NRT 서비스 시그널링 채널은 NST가 전송되고, 전송되는 NST는 해당 NRT 서비스에 대한 테이블 엔트리를 포함하여 해당 NRT 서비스가 전송되는 컨텐트 딜리버리 채널을 시그널링할 수 있다. 예를 들어, 도 17에서는 ATSC Virtual Channel 0은 3개의 NRT 서비스(NRT 서비스 0,1,2)를 전송하는 NRT 컨텐트 딜리버리 채널을 포함하고, ATSC Virtual Channel 1 역시 3개의 NRT 서비스(NRT 서비스 3,4,5)를 전송하는 NRT 컨텐트 딜리버리 채널을 포함한다. 즉, 하나의 가상 채널은 하나 또는 그 이상의 NRT 서비스를 전송할 수 있고, 상기 NRT 서비스는 NRT 컨텐트 딜리버리 채널을 통해 전송된다. 그리고 NST는 상기 각 NRT 서비스가 전송되는 NRT 컨텐트 딜리버리 채널을 식별한다. 또한, 각 NRT 서비스는 IP 스트림을 통해 전송된다. 이와 같은 NRT 서비스 시그널링 상에서는 NRT 컨텐트 딜리버리 채널을 접근하는 방법에 따른 시그널링 플로우가 이용될 수 있다.
NRT 컨텐트 딜리버리 채널 (NRT content delivery channel)
NRT 컨텐트가 전송되는 NRT 컨텐트 딜리버리 채널을 접근하는 방법으로 다음과 같은 방법을 이용할 수 있다.
NST 테이블을 통해 NRT 컨텐트 딜리버리 채널 정보를 직접 시그널링하는 방법은 NST를 통해서 NRT 서비스에 대한 기본적인 정보 및 접속 정보를 직접 전달하는 방법이다. 이와 같은 NRT 서비스 메타데이터(service metadata) 전송을 NST 테이블 단에서 수행할 경우 다음과 같은 이점이 존재한다.
이 경우 별도의 서비스 가이드(Service Guide) 정보를 수신하여 처리하는 추가적인 과정 없이 NST에서 바로 시그널링함으로써 이른 시점에 서비스 메타데이터를 수신할 수 있다. 이에 따라 서비스 접근 속도를 높일 수 있다. 또한, 방송 환경에서 채널에 대한 변경 사항에 대한 업데이트 시그널링을 보다 빠르게 실시간으로 수행할 수 있다.
이와 같이 NST 테이블에 NRT 컨텐트 딜리버리 채널이 실려있는 NRT 서비스 정보가 직접 시그널링 된다면 별도의 시그널링 과정없이 바로 NST 테이블만을 가지고 컨텐트 딜리버리 채널 접속이 가능하다.
실제 NRT 컨텐트가 전송되는 NRT 컨텐트 딜리버리 채널은 NRT 서비스 타입 값이 0x0F로 식별될 수 있다.
NRT Content delivery channel details descriptor
상기 과정 중에서 NRT 컨텐트 딜리버리 채널을 NST를 통해 시그널링 하기 위하여 다음과 같은 방법을 사용할 수 있다. NRT 컨텐트 딜리버리 채널이 실린 NRT 서비스는 service category 값이 0x0F인 것을 통해서 식별할 수 있으며 NRT 컨텐트 딜리버리 채널의 추가적인 정보는 도 18에 예시한 NRT content delivery channel details descriptor를 NST의 descriptor loop에 넣어서 전송함으로써 전달할 수 있다.
도 18은 본 발명의 일 실시 예에 따라 구성한 NRT Content delivery channel details descriptor의 비트스트림 신택스를 도시한 것이다.
이하 NRT Content delivery channel details descriptor 의 필드를 상세하게 설명하면 다음과 같다.
descriptor_tag 필드(8비트)는, 해당 디스크립터가 NRT_Content_delivery_channel_details_descriptor로 식별되도록 하기 위해 0xTBD 값을 가질 수 있다. 즉, 본 필드가 NRT_Content_delivery_channel_details_descriptor임을 식별한다(descriptor_tag: This 8-bit unsigned integer shall have the value 0xTBD, identifying this descriptor as NRT_Content_delivery_channel_details_descriptor).
descriptor_length 필드(8비트)는, 바로 다음 필드부터 해당 필드의 끝까지의 바이트 단위의 길이를 설명한다(descriptor_length: This 8-bit unsigned integer shall specify the length (in bytes) immediately following this field up to the end of this descriptor).
storage_reservation 필드(32비트)는, 해당 채널의 서브스크립션을 위해 필요한 최소 디바이스 저장 단위(바이트 단위)를 설명한다(storage_reservation: This 32-bit unsigned integer shall specify minimum device storage (in bytes) required for subscription to this channel).
Updated 필드(32비트)는, 채널 메타데이터가 최종 업데이트된 시간을 00:00:00 UTC, January 6, 1980부터 GPS 초의 수로 표현한다(Updated: This 32-bit unsigned integer shall represent time when the channel metadata was last updated as the number of GPS seconds since 00:00:00 UTC, January 6, 1980).
content_types_length 필드는, content_types_text()의 바이트 단위의 길이를 설명한다(content_types_length: This field shall specify the length (in bytes) of the content_types_text()).
content_types_text() 필드는, 예를 들어, category, tag or relation에 의해 채널 컨텐트의 타입을 설명하는 스트링들의 comma-separated 리스트를 제공한다(content_types_text(): This field shall give a comma-separated list of strings that describe the type of channel content e.g. by category, tag or relation).
mime_types_length 필드는, mime_types_text() 필드의 바이트 단위의 길이를 설명한다(mime_types_length: This field shall specify the length (in bytes) of the mime_types_text()).
mime_types_text() 필드는, 제공된 채널 내 컨텐트 아이템들을 위한 MIME 타입들의 comma-separated 리스트를 제공한다(mime_types_text(): This field shall give a comma-separated list of MIME types for content items in the offered channel).
charging_rules_length 필드는, charging_rules_text() 필드의 바이트 단위의 길이를 설명한다(charging_rules_length: This field shall specify the length (in bytes) of the charging_rules_text()).
charging_rules_text() 필드는, 서브 스크립션 또는 컨섬션에 근거하여 과금 방법, 채널 과금에 누가 책임을 지는지에 대한 정보를 제공한다(charging_rules_text(): This field shall give Information that at least defines who is responsible for the channel charging, charging method (based on subscription or consumption)).
num_purchase_options 필드(8비트)는, 해당 NRT Content delivery channel descriptor 내 구매 옵션들의 수를 설명한다(num_purchase_options: This 8 bit field shall specify the number of purchase options in this NRT Content delivery channel descriptor).
purchase_option_id_length 필드는, purchase_option_id_text() 필드의 바이트 단위의 길이를 설명한다(purchase_option_id_length: This field shall specify the length (in bytes) of the purchase_option_id_text()).
purchase_option_id_text() 필드는, 선택된 옵션을 식별하기 위해 사용되는 구매 옵션의 식별자를 제공한다(purchase_option_id_text(): This field shall give a Identifier of the purchase option, that will be used to identify the selected option).
cost_information_flag 필드(1비트)는, 1로 설정되면 해당 컴포넌트를 위해 cost_information이 존재함을 지시한다(cost_information_flag: A 1-bit Boolean flag that shall indicate, when set to 1, that the cost_information is present for this component).
price_information_flag 필드(1비트)는, 1로 설정되면, 해당 컴포넌트를 위해 amount와 currency 필드가 존재함을 지시한다(price_information_flag: A 1-bit Boolean flag that shall indicate, when set to 1, that the amount and currency is present for this component).
cost_information_length 필드는, cost_information_text() 필드의 바이트 단위의 길이를 설명한다(cost_information_length: This field shall specify the length (in bytes) of the cost_information_text()).
cost_information_text() 필드는, 선택된 옵션을 식별하기 위해 사용되는 구매 옵션의 식별자를 제공한다(cost_information_text(): This field shall give a Identifier of the purchase option, that will be used to identify the selected option).
amount 필드(32비트)는, 해당 구매 옵션을 위한 가격의 화폐 가치를 설명한다(Amount: This 32-bit float shall specify the monetary value of the price for this purchase option).
currency 필드는, 국제적인 통화 코드 내 정의된 화폐 통화 코드를 설명한다(Currency: This 16-bit unsigned integer shall specify the monetary currency codes defined in ISO 4217 international currency codes).
상기 디스크립터는 NST 내 service_level_descriptor 위치에 포함되거나 또는 NCT 내의 content_level_descriptor 위치에 포함될 수 있다.
FDT 스키마
도 19은 본 발명의 일 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이고, 도 20는 본 발명의 다른 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것으로, FDT 인스턴트 레벨 엔트리 파일 지정 방식을 표현한다.
이하에서 FDT 인스턴스 레벨은, FDT에서 선언된 모든 파일의 공통 속성을 정의할 필요가 있는 경우 그에 대한 정의 부분을 포함하는 레벨을 의미하고, FDT 파일 레벨은, 각 파일에 개별적인 속성에 대한 정의를 포함하는 레벨을 의미하는 것으로 사용된다.
수신기는 NST와 NCT를 이용하여 해당 채널을 통해 전송되는 서비스가 NRT 서비스이고, 해당 NRT 서비스에 어떠한 컨텐트 아이템들이 포함되는지, 어떤 파일들이 포함되는지 여부를 알 수 있다.
다만, 모바일 NRT 서비스 환경에서 상술한 바와 같이, 하나의 모바일 NRT 서비스에 어떠한 컨텐트 아이템들과 파일들이 포함되는지 여부를 알 수 있으나, 각 컨텐트 아이템과 각 파일을 매핑시키는 정보가 없거나 충분하지 않다. 즉, NRT 서비스에 포함된 각 컨텐트 아이템이 어떠한 파일들을 포함하고 있는지 알 수 없다. 따라서, 수신기의 입장에서는 수신된 NRT 서비스를 제대로 처리하기 힘든 문제점이 있다.
이에 따라 본 발명에서는 그에 관한 매핑 방법을 제공함으로써, 수신기에서 NRT 서비스를 수신하여 적절하게 처리할 수 있도록 하고자 한다. 다양한 방법이 존재할 수 있으나, 이하 본 명세서에서는 해당 모바일 NRT 서비스를 전송하는 FLUTE 세션 내 예를 들어, FDT 정보를 통해 매핑하는 방법을 실시 예로 하여 설명한다. 상기 매핑 방법에 대해 간략하게 설명하면 예를 들어, 컨텐트 아이템을 구성하는 각 파일은 FLUTE 세션 내에서의 FDT 내에 명시된 TOI 및 Content-Location 필드를 이용하여 식별하며, 상기 각 TOI 또는 Content-Location과 컨텐트 아이템의 연결은 FDT에서의 Content-ID 필드를 NCT의 content_id 필드와 매핑하여 이룰 수 있다.
도 19 내지 19를 참조할 때, 1 번으로 표시된 부분은 FDT-Instance level에서 content_id를 선언하는 것으로 여기에서 선언된 content_id는 해당 FDT-Instance 내에서 선언된 모든 파일(file)에 부여된다. 물론 파일 레벨(File level)에서 content_id를 새롭게 부여함으로써 이 정보를 오버라이드(override) 할 수도 있다. 혹은 특정 파일이 FDT-Instance level에 정의된 컨텐트 아이템(content item)이 아닌 다른 컨텐트 아이템에도 속한다면 하기에 설명할 파일 레벨 content_id를 부여하는 것을 통해 이를 알려줄 수도 있다. 본 실시 예에서는 content_id를 16 비트를 사용해 표현한다.
2번으로 표시된 부분은 파일 레벨에서 content_id를 선언하는 것으로 FDT Instance 내에 포함된 파일이 서로 다른 컨텐트 아이템에 속할 경우 이 방법을 이용해 각 파일이 어느 컨텐트 아이템에 속하는 지를 시그널링 한다.
3번은 각 파일에 대해 해당 파일이 엔트리 파일(entry file)인지 여부를 알려주기 위한 방법이다. 즉, 컨텐트 아이템을 구성하는 여러 개의 파일들 중에서 가장 먼저 재생하거나 컨텐트 아이템을 접근하기 위해 반드시 먼저 실행해야 하는 루트 파일(root file)에 해당하는 파일을 엔트리 파일이라고 하며 이러한 정보를 알려주기 위한 방법을 나타낸다. entry 속성(attribute)은 생략이 가능하며 기본 값은 false로 생략되어 있는 경우 해당 파일은 엔트리 파일이 아님을 의미한다.
이렇게 파일 레벨에서 속하는 그룹에 따른 엔트리 여부를 각각 시그널링 해줌으로써 특정 파일이 특정 그룹에서는 엔트리 역할을 수행하고 또 다른 그룹에서는 그렇지 않을 수 있다.
엔트리 파일의 실시 예로는 컨텐트 아이템이 웹 페이지(web page) 형태로 구성되었을 때, index.htm 및 기타 여러 개의 관련된 그림 및 텍스트 파일(text file)이 존재한다고 했을 때, index.htm이 바로 엔트리 파일이 된다.
FDT-instance level에서 Content-id를 부여할 경우의 엔트리 파일 여부를 알려주는 방법은 아래와 같은 두 가지 방법을 생각해 볼 수 있다.
1) 엔트리 파일에 해당되는 파일에 대하여 File-level content-id를 추가로 부여하고 이의 엔트리 속성을 true로 설정하는 방법: 이 경우 content-id가 FDT-Instance level 과 파일 레벨에 중복되는 단점이 있으나 가장 융통성 있는 구조를 가질 수 있다.
2) 도 20에 도시한 FDT 스키마(schema)의 또 다른 실시 예와 같이 FDT-instance level의 content-id 정의에서 엔트리 파일의 역할을 수행하는 파일들을 직접 레퍼런스(reference) 해주는 방식을 생각할 수 있다. 이를 위해 도 19의 실시 예에서는 FDT-instance level content-id를 위해 FDT-Content-ID-Type을 별도로 정의하고 이를 2번으로 표시된 바와 같이 엔트리 파일의 컨텐트 로케이션(content location)을 포함할 수 있도록 확장하였다.
이 방법의 경우 컨텐트 로케이션을 중복해서 시그널링 하는 부분이 단점이 될 수 있으나 각 컨텐트 아이템별로 엔트리 파일 구성 정보를 바로 획득할 수 있다는 점이 장점이 될 수 있다.
NRT 서비스 제공 방법의 다른 실시 예
도 21은 본 발명의 다른 실시 예에 따라 NRT 서비스를 제공하는 방법을 설명하기 위해 도시한 순서도이다.
수신기는 수신되는 적어도 하나 이상의 NRT 서비스들을 시그널링하기 위해 시그널링 정보 중 NCT를 읽어(S2101) 각 NRT 서비스를 구성하는 컨텐트 아이템들에 대한 정보를 획득한다(S2102). 여기서, 상기 컨텐트 아이템들에 대한 정보는 예를 들어, content_id, content_delivery_bit_rate, content_available_start_time, content_available_end_time, content_title_text() 등을 이용해 NRT 가이드 정보를 구성하여 표시한다
상기 획득한 컨텐트 아이템들에 대한 정보에 기반하여 각 NRT 서비스들이 포함된 서비스 가이드를 구성하여 표시한다(S2103).
상기 표시된 서비스 가이드로부터 사용자 등에 의해 어느 하나의 NRT 서비스 또는 상기 서비스 내 특정 컨텐트 아이템이 선택되면, NCT로부터 상기 선택된 NRT 서비스 또는 특정 컨텐트 아이템과 관련된 content_id와 상기 content_id와 연계된 service_id를 획득한다(S2104).
수신기는 상기 선택된 NRT 서비스 또는 특정 컨텐트 아이템을 수신하기 위해 시그널링 정보 중 NST를 읽어(S2105), 상기 S2004 단계에서 획득한 service_id와 매칭되는 상기 NST 내 service_id를 찾아 해당 NRT 서비스 또는 컨텐트 아이템을 구성하는 파일이 전송되는 FLUTE 세션을 접속한다(S2106).
수신기는 상기 접속한 FLUTE 세션의 FDT를 읽어 해당 파일에 대한 컨텐트 식별자(Content-ID attribute)와 상기 획득한 NCT 내 content_id가 일치하는지 판단한다(S2107).
수신기는 상기 S2107 단계 판단 결과 만약 FDT를 읽어 획득한 컨텐트 식별자와 NCT 내 content_id가 일치하면, 해당 파일 오브젝트를 수신하고 저장한다(S2108).
여기서, 수신기는 FLUTE 세션 내의 FDT 인스턴스들을 파싱하여 컨텐트 아이템별로 이에 속하는 파일 목록을 알 수 있으며 이 중 어떤 파일이 엔트리의 역할을 수행하는 지도 파악할 수 있다. 또한, FDT 인스턴스를 이용해 각 파일이 어느 컨텐트 아이템에 속하는지를 알 수 있으며 필요에 따라 컨텐트 아이템 단위로 여기에 속하는 파일 목록을 수신기가 따로 정리하여 저장할 수도 있다.
사용자의 선택 등에 의하여 특정 컨텐트 아이템을 이용하기 시작할 때 상기 과정에서 획득한 컨텐트 아이템 구성 정보 및 이에 포함된 엔트리 정보를 이용하여 컨텐트 소비를 시작한다.
여기서, 수신기는 NCT를 이용하여 서비스 가이드를 구성함에 있어서, NCT를 파싱한 이후에 NST를 파싱하는 것이 아니라 함께 파싱하여 NCT와 NST를 이용하여 서비스 가이드를 구성할 수도 있다. 예를 들어, NST 및 관련된 NRT 서비스에 대한 디스크립터들을 파싱하고, 각 NRT 서비스 단위로 application type 및 기타 requirement 정보를 읽는다. 또한, NRT 서비스 가이드 출력 화면에 각 서비스에 대해 application (service category) 정보를 표시하고, 기타 NRT_service_info_descriptor의 다른 필드들을 이용해 상세 정보 표시를 한다(storage_requirement 필드를 이용해 해당 서비스의 용량 표시, audio_codec_type, video_codec_type 필드를 이용해 오디오 및 비디오 코덱 정보 표시 등).
상술한 도 16의 서비스 방법의 일 실시 예의 경우에는 예를 들어, 푸쉬 방식으로 NRT 서비스가 제공되거나 또는 NRT 서비스 전용 채널의 경우에 해당하는 것으로, NST를 먼저 파싱함으로써 NRT 서비스가 제공되는 FLUTE 세션에 접속하여 해당 서비스 내 컨텐트 아이템들을 수신하여 저장하고, 이후 NCT를 이용해 상기 저장된 컨텐트 아이템 중 사용자 등이 원하는 컨텐트 아이템을 재생하는 플로우이다.
이에 반해 도 21의 서비스 방법의 다른 실시 예의 경우에는 NCT를 먼저 파싱하여 서비스 가이드를 제공하고 사용자 등이 특정 컨텐트 아이템을 선택하면, NST를 파싱하여 선택된 컨텐트 아이템이 전송되는 FLUTE 세션에 접속하여 해당 컨텐트를 수신하여 저장하고 이후 재생하는 플로우이다.
도 16의 서비스 방법과 도 21의 서비스 방법은 상술한 차이가 있으며, 도 16의 경우에는 관련 컨텐트 아이템들을 모두 수신하여 저장함으로써 사용자의 선택의 폭을 넓히고 원하는 컨텐트가 이미 저장되어 있으므로 빠른 시간 내에 재생가능하나 저장 공간의 한계가 있고 서비스 내 모든 컨텐트 아이템을 수신하여 불필요한 컨텐트 아이템도 수신함으로써 시스템의 효율성이 떨어질 수 있다. 또한, 도 21의 경우에는 원하는 컨텐트 아이템만을 수신함으로써 시스템의 효율성을 높일 수는 있으나 사용자가 다른 컨텐트 아이템을 원하는 경우 다시 서비스 가이드를 제공하고 선택되는 컨텐트 아이템을 수신하여야 하므로 재생까지 걸리는 시간이 길어질 수 있다.
지금까지 설명한 본 발명은 상술한 실시 예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
도 1은 NRT 서비스에 대한 개념도의 일 예를 도시한 것이고,
도 2는 본 발명의 일 실시 예에 따라 구성한 수신 시스템의 블록도를 도시한 것이고,
도 3은 NRT 서비스, 컨텐트 아이템 및 파일에 대한 관계를 설명하기 위해 도시한 것이고,
도 4는 본 발명의 일 실시 예에 따라 구성한 고정 NRT 서비스에 대한 프로토콜 스택을 도시한 것이고,
도 5는 본 발명과 관련하여, ATSC 서비스 타입의 일 예를 도시한 것이고,
도 6은 본 발명과 관련하여, ATSC 서비스 타입의 다른 예를 도시한 것이고,
도 7은 본 발명의 일 실시 예에 따라 구성한 TVCT 테이블 섹션의 비트스트림 섹션을 도시한 것이고,
도 8은 본 발명의 일 실시 예에 따라 구성한 NRT 어플리케이션을 식별하기 위해 DST 테이블 섹션의 비트스트림 신택스를 도시한 것이고,
도 9는 본 발명의 다른 실시 예에 따라 ATSC 방송 시스템을 통해 NRT 서비스를 전송할 경우의 시그널링 방법을 설명하기 위해 도시한 것이고,
도 10은 도 9에 대한 순서도를 도시한 것이고,
도 11 및 도 12는 본 발명의 일 실시 예에 따라 구성한 수신되는 MPEG-2 TS로부터 수신기가 추출하는 NST의 비트스트림 신택스을 도시한 것이고,
도 13는 본 발명의 일 실시 예에 따라 구성한 NRT_component_descriptor()의 비트 스트림 신택스를 도시한 것이고,
도 14은 본 발명의 일 실시 예에 따라 구성한 FLUTE 파일 딜리버리를 위해 NRT_component_data_descriptor의 비트 스트림 신택스를 도시한 것이고,
도 15는 본 발명의 일 실시 예에 따라 구성한 NCT 섹션의 비트스트림 신택스를 도시한 것이고,
도 16는 본 발명의 또 다른 실시 예에 따라 NRT 가이드 정보를 구성하고 컨텐트를 제공하는 방법을 설명하기 위해 도시한 순서도이고,
도 17은 본 발명의 다른 실시 예에 따라 구성한 NRT 서비스 시그널링 구조를 도시한 것이고,
도 18은 본 발명의 일 실시 예에 따라 구성한 NRT Content delivery channel details descriptor의 비트스트림 신택스를 도시한 것이고,
도 19은 본 발명의 일 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이고,
도 20는 본 발명의 다른 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이고, 및
도 21은 본 발명에 일 실시 예에 따라 수신기에서 NRT 서비스를 처리하는 과정을 설명하기 위한 도시한 순서도이다.

Claims (15)

  1. 비실시간 서비스와 시그널링 데이터를 생성하는 단계, 여기서 상기 시그널링 데이터는 하나 이상의 컨텐츠 아이템을 설명하는 제 1 시그널링 정보를 포함하고, 상기 비실시간 서비스는 상기 하나 이상의 컨텐츠 아이템을 포함하고, 각각의 컨텐츠 아이템은 하나 이상의 파일을 포함하고; 및
    상기 비실시간 서비스와 시그널링 데이터를 전송하는 단계;
    여기서, 상기 제 1 시그널링 정보는 컨텐츠 아이템을 식별하고, 상기 하나 이상의 파일과 상기 컨텐츠 아이템 사이의 연결 기능을 수행하는 정보를 포함하고,
    여기서, 상기 하나 이상의 파일은 FLUTE FDT (File Delivery over Unidirectional Transport File Delivery Table) 에 의하여 열거되고,
    여기서, 상기 FLUTE FDT는 상기 하나 이상의 파일이 속하는 컨텐츠 아이템을 식별하기 위한 상기 제 1 시그널링 정보의 상기 정보에 의하여 연결되고,
    여기서, 상기 시그널링 데이터는 상기 비실시간 서비스를 위한 정보를 포함하는 제 2 시그널링 정보를 더 포함하고,
    여기서, 상기 제 2 시그널링 정보는 상기 비실시간 서비스를 식별하는 제 1 정보, 특정 서비스의 카테고리가 비실시간 서비스에 해당됨을 나타내는 제 2 정보를 포함하고, 및
    여기서, 상기 제 2 시그널링 정보는 상기 제 1 정보을 통하여, 상기 제 1 시그널링 정보에 연결되는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 송신하는 방법.
  2. 제 1 항에 있어서,
    상기 FLUTE FDT는 상기 하나 이상의 파일들 중, 상기 컨텐츠 아이템을 위하여 최초로 접속되어야 하는 파일을 식별하는 엔트리 (entry) 정보를 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 송신하는 방법.
  3. 제 1 항에 있어서,
    상기 제 1 시그널링 정보는은, 상기 컨텐츠 아이템의 크기를 나타내는 컨텐츠 사이즈 정보를 더 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 송신하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 시그널링 정보는, 상기 컨텐츠 아이템의 재생 시간을 나타내는 재생 시간 정보를 더 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 송신하는 방법.
  5. 비실시간 서비스와 시그널링 데이터를 포함하는 방송 신호를 수신하는 베이스밴드 프로세서; 및
    상기 비실시간 서비스와 상기 시그널링 데이터를 파싱하는 역다중화부, 여기서 상기 시그널링 데이터는 하나 이상의 컨텐츠 아이템을 설명하는 제 1 시그널링 정보를 포함하고, 상기 비실시간 서비스는 상기 하나 이상의 컨텐츠 아이템을 포함하고, 각각의 컨텐츠 아이템은 하나 이상의 파일을 포함하고;
    여기서, 상기 제 1 시그널링 정보는 컨텐츠 아이템을 식별하고, 상기 하나 이상의 파일과 상기 컨텐츠 아이템 사이의 연결 기능을 수행하는 정보를 포함하고,
    여기서, 상기 하나 이상의 파일은 FLUTE FDT (File Delivery over Unidirectional Transport File Delivery Table) 에 의하여 열거되고,
    여기서, 상기 FLUTE FDT는 상기 하나 이상의 파일이 속하는 컨텐츠 아이템을 식별하기 위한 상기 제 1 시그널링 정보의 상기 정보에 의하여 연결되고,
    여기서, 상기 시그널링 데이터는 상기 비실시간 서비스를 위한 정보를 포함하는 제 2 시그널링 정보를 더 포함하고,
    여기서, 상기 제 2 시그널링 정보는 상기 비실시간 서비스를 식별하는 제 1 정보, 특정 서비스의 카테고리가 비실시간 서비스에 해당됨을 나타내는 제 2 정보를 포함하고, 및
    여기서, 상기 제 2 시그널링 정보는 상기 제 1 정보을 통하여, 상기 제 1 시그널링 정보에 연결되는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 수신하는 장치.
  6. 제 5 항에 있어서,
    상기 FLUTE FDT는 상기 하나 이상의 파일들 중, 상기 컨텐츠 아이템을 위하여 최초로 접속되어야 하는 파일을 식별하는 엔트리 (entry) 정보를 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 수신하는 장치.
  7. 제 5 항에 있어서,
    상기 제 1 시그널링 정보는, 상기 컨텐츠 아이템의 크기를 나타내는 컨텐츠 사이즈 정보를 더 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 수신하는 장치.
  8. 제 5 항에 있어서,
    상기 제 1 시그널링 정보는, 상기 컨텐츠 아이템의 재생 시간을 나타내는 재생 시간 정보를 더 포함하는 것을 특징으로 하는 방송 시스템을 이용하여 비실시간 서비스를 수신하는 장치.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020090051208A 2008-06-09 2009-06-09 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기 KR101598519B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US12/481,569 US8365229B2 (en) 2008-06-09 2009-06-09 Method for mapping between signaling information and announcement information and broadcast receiver
PCT/KR2009/003098 WO2009151267A2 (ko) 2008-06-09 2009-06-09 서비스 제공 방법 및 방송 수신기
CA2726835A CA2726835C (en) 2008-06-09 2009-06-09 Service providing method and broadcast receiver
US13/679,955 US8572658B2 (en) 2008-06-09 2012-11-16 Method for mapping between signaling information and announcement information and broadcast receiver
US14/034,415 US8966554B2 (en) 2008-06-09 2013-09-23 Method for mapping between signaling information and announcement information and broadcast receiver
US14/563,900 US9282349B2 (en) 2008-06-09 2014-12-08 Method for mapping between signaling information and announcement information and broadcast receiver
US15/009,052 US9609375B2 (en) 2008-06-09 2016-01-28 Method for mapping between signaling information and announcement information and broadcast receiver

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
US5981108P 2008-06-09 2008-06-09
US61/059,811 2008-06-09
US7912108P 2008-07-08 2008-07-08
US61/079,121 2008-07-08
US11588808P 2008-11-18 2008-11-18
US61/115,888 2008-11-18
US12117808P 2008-12-09 2008-12-09
US61/121,178 2008-12-09
US13849408P 2008-12-17 2008-12-17
US61/138,494 2008-12-17
US15397309P 2009-02-20 2009-02-20
US15398509P 2009-02-20 2009-02-20
US61/153,985 2009-02-20
US61/153,973 2009-02-20
US16971109P 2009-04-15 2009-04-15
US61/169,711 2009-04-15
US17900509P 2009-05-17 2009-05-17
US61/179,005 2009-05-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160019513A Division KR101680682B1 (ko) 2008-06-09 2016-02-19 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기

Publications (2)

Publication Number Publication Date
KR20090127840A KR20090127840A (ko) 2009-12-14
KR101598519B1 true KR101598519B1 (ko) 2016-02-29

Family

ID=41688417

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020090051202A KR101598518B1 (ko) 2008-06-09 2009-06-09 서비스 제공 방법 및 모바일 방송 수신기
KR1020090051208A KR101598519B1 (ko) 2008-06-09 2009-06-09 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기
KR1020160019513A KR101680682B1 (ko) 2008-06-09 2016-02-19 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기
KR1020160019512A KR101672290B1 (ko) 2008-06-09 2016-02-19 서비스 제공 방법 및 모바일 방송 수신기
KR1020160154759A KR101759951B1 (ko) 2008-06-09 2016-11-21 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020090051202A KR101598518B1 (ko) 2008-06-09 2009-06-09 서비스 제공 방법 및 모바일 방송 수신기

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020160019513A KR101680682B1 (ko) 2008-06-09 2016-02-19 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기
KR1020160019512A KR101672290B1 (ko) 2008-06-09 2016-02-19 서비스 제공 방법 및 모바일 방송 수신기
KR1020160154759A KR101759951B1 (ko) 2008-06-09 2016-11-21 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기

Country Status (1)

Country Link
KR (5) KR101598518B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011112053A2 (ko) * 2010-03-11 2011-09-15 엘지전자 주식회사 비실시간 방송 서비스 처리 시스템 및 그 처리방법
WO2012011732A2 (ko) * 2010-07-20 2012-01-26 한국전자통신연구원 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
KR101517711B1 (ko) * 2011-04-20 2015-05-04 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 방법 및 그 수신 장치
KR101874433B1 (ko) * 2011-06-16 2018-07-06 삼성전자주식회사 디지털 방송 시스템에서 방송 서비스 수신을 위한 시그널링 정보를 송수신하는 방법 및 장치
KR101964645B1 (ko) * 2011-08-21 2019-04-02 엘지전자 주식회사 수신 장치 및 그의 방송 서비스 수신 방법
WO2014025207A1 (en) * 2012-08-07 2014-02-13 Lg Electronics Inc. A method and an apparatus for processing a broadcast signal including an interactive broadcast service

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296436B2 (en) * 2004-03-22 2012-10-23 Nokia Corporation Conveying parameters for broadcast/multicast sessions via a communication protocol
KR100902855B1 (ko) * 2004-07-14 2009-06-16 노키아 코포레이션 세션 객체들의 그룹화
KR100800737B1 (ko) * 2006-06-23 2008-02-01 삼성전자주식회사 Dvb-h 시스템에서 유사 방송 서비스 제공 방법 및시스템
KR101419287B1 (ko) * 2006-07-07 2014-07-14 삼성전자주식회사 Ipdc 서비스를 제공하는 장치 및 방법 및 ipdc서비스를 처리하는 장치 및 방법

Also Published As

Publication number Publication date
KR20090127839A (ko) 2009-12-14
KR101598518B1 (ko) 2016-02-29
KR101680682B1 (ko) 2016-11-29
KR20160136262A (ko) 2016-11-29
KR20090127840A (ko) 2009-12-14
KR20160027961A (ko) 2016-03-10
KR20160024901A (ko) 2016-03-07
KR101759951B1 (ko) 2017-07-20
KR101672290B1 (ko) 2016-11-16

Similar Documents

Publication Publication Date Title
US10602238B2 (en) Method for receiving a broadcast signal and broadcast receiver
US9609375B2 (en) Method for mapping between signaling information and announcement information and broadcast receiver
US10349146B2 (en) Method for processing a web service in an NRT service and a broadcast receiver
KR101759951B1 (ko) 시그널링 정보와 어나운스먼트 정보의 매핑 방법 및 방송 수신기
KR101644436B1 (ko) 비실시간 수신기에서 타켓팅 디스크립터를 처리하는 방법
KR101809957B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
CA2726835C (en) Service providing method and broadcast receiver
CA2815593C (en) Method for processing targeting descriptor in non-real-time receiver

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 4