KR101643637B1 - 비실시간 서비스 처리 방법 및 방송 수신기 - Google Patents
비실시간 서비스 처리 방법 및 방송 수신기 Download PDFInfo
- Publication number
- KR101643637B1 KR101643637B1 KR1020117014991A KR20117014991A KR101643637B1 KR 101643637 B1 KR101643637 B1 KR 101643637B1 KR 1020117014991 A KR1020117014991 A KR 1020117014991A KR 20117014991 A KR20117014991 A KR 20117014991A KR 101643637 B1 KR101643637 B1 KR 101643637B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- service
- content item
- field
- internet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
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)
Abstract
비실시간으로 전송되는 서비스를 수신하여 처리하는 방송 수신기의 비실시간 서비스 처리 방법 및 방송 수신기가 개시된다. 상기 방송 수신기의 비실시간 서비스 처리 방법은 비실시간 서비스를 구성하는 각 콘텐트의 상세 정보와 상기 콘텐트가 인터넷으로도 제공 가능한지 여부를 지시하는 지시 정보를 포함하는 시그널링 정보 테이블을 수신하여 처리하는 단계, 상기 지시 정보를 기반으로, 인터넷으로도 제공 가능한 콘텐트에 속한 각 파일의 인터넷 접속 정보를 플루트(FLUTE)의 파일 딜리버리 테이블(FDT)로부터 획득하는 단계, 및 상기 획득된 인터넷 접속 정보를 기반으로 인터넷 접속을 수행하여 상기 콘텐트에 속한 파일들을 다운로드하는 단계를 포함한다.
Description
본 발명은 비실시간으로 전송되는 서비스를 수신하여 처리하는 방법 및 방송 수신기에 관한 것이다.
디지털 텔레비전(DTV)은 텔레비전(TV)의 고유 기능인 영상, 음성과 더불어 다양한 서비스를 제공할 수 있게 되었다. 예를 들어 방송 정보(Electronic Program Guide: EPG) 등을 사용자에게 제공할 수 있고, 2개 이상의 채널로부터 수신되는 방송 서비스를 동시에 제공할 수 있다. 특히 수신 시스템이 대용량의 저장장치를 구비하고, 양방향 통신이 가능한 인터넷이나 데이터 통신 채널과 연결되면서 방송 신호를 이용하여 제공할 수 있는 서비스는 상당히 많아졌다.
본 발명의 목적은 비실시간 서비스를 수신하여 처리하는 방법 및 방송 수신기를 제공하는 것이다.
본 발명의 다른 목적은 비실시간 서비스를 구성하는 콘텐트가 인터넷을 통해 제공되는지 여부를 지시하는 정보의 시그널링 방법 및 방송 수신기를 제공하는 것이다.
본 발명의 또 다른 목적은 시그널링된 지시 정보를 기반으로 콘텐트에 속한 파일을 인터넷을 통해 제공받도록 하는 비실시간 서비스 처리 방법 및 방송 수신기를 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 방송 수신기의 비실시간 서비스 처리 방법은, 비실시간 서비스를 구성하는 각 콘텐트의 상세 정보와 상기 콘텐트가 인터넷으로도 제공 가능한지 여부를 지시하는 지시 정보를 포함하는 시그널링 정보 테이블을 수신하여 처리하는 단계, 상기 지시 정보를 기반으로, 인터넷으로도 제공 가능한 콘텐트에 속한 각 파일의 인터넷 접속 정보를 플루트(FLUTE)의 파일 딜리버리 테이블(FDT)로부터 획득하는 단계, 및 상기 획득된 인터넷 접속 정보를 기반으로 인터넷 접속을 수행하여 상기 콘텐트에 속한 파일들을 다운로드하는 단계를 포함한다.
상기 지시 정보는 상기 시그널링 정보 테이블에 필드 형태로 포함된다.
인터넷으로도 제공 가능한 콘텐트에 속한 각 파일의 인터넷 접속 정보는 상기 플루트(FLUTE)의 파일 딜리버리 테이블(FDT)의 해당 Content-Location 어트리뷰트로부터 획득한다. 이때 상기 Content-Location 어트리뷰트는 특정 파일의 인터넷 URL를 지시한다.
인터넷으로 제공되지 않는 콘텐트에 속한 각 파일은 기 설정된 시간에 플루트(FLUTE) 세션을 통해 다운로드받을 수 있다.
본 발명의 일 실시예에 따른 방송 수신기는 시그널링 정보 처리부, 및 서비스 매니저(또는 NRT 서비스 매니저)를 포함한다. 상기 시그널링 정보 처리부는 비실시간 서비스를 구성하는 각 콘텐트의 상세 정보와 상기 콘텐트가 인터넷으로도 제공 가능한지 여부를 지시하는 지시 정보를 포함하는 시그널링 정보 테이블을 수신하여 처리한다. 상기 서비스 매니저(또는 NRT 서비스 매니저)는 상기 지시 정보를 기반으로, 인터넷으로도 제공 가능한 콘텐트에 속한 각 파일의 인터넷 접속 정보를 플루트(FLUTE)의 파일 딜리버리 테이블(FDT)로부터 획득하고, 획득된 인터넷 접속 정보를 기반으로 인터넷 접속을 수행하여 상기 콘텐트에 속한 파일들을 다운로드한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명은 NRT 서비스를 구성하는 콘텐트 아이템들의 상세 정보를 시그널링하는 NRT-IT의 콘텐트 아이템 루프에 해당 콘텐트 아이템이 인터넷으로도 제공 가능한지 여부만을 지시하고, 인터넷으로도 제공 가능한 콘텐트 아이템에 속한 각 파일의 인터넷 URL 값은 FLUTE FDT의 해당 파일의 Content-Location 어트리뷰트로부터 획득하도록 한다. 이렇게 함으로써 인터넷으로도 제공 가능한 콘텐트 아이템에 속한 각 파일들의 인터넷 URL을 NRT-IT에서 직접 시그널링하지 않아도 되므로 밴드폭을 절약할 수 있게 된다.
도 1은 본 발명에 따른 실시간 서비스(real-time service RT)와 비실시간 서비스(non-real time service; NRT)를 제공하는 개념을 나타낸 도면
도 2는 본 발명에 따른 NRT 서비스, 콘텐트 아이템, 파일과의 관계를 보인 도면
도 3은 본 발명에 따른 Fixed NRT 서비스를 위한 프로토콜 스택의 일 실시예를 보인 도면
도 4는 본 발명에 따른 가상 채널 테이블의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 5는 도 4의 가상 채널 테이블 내 서비스 타입 필드 값 및 그 값의 의미의 일 실시예를 나타낸 도면
도 6는 도 4의 가상 채널 테이블 내 서비스 타입 필드에 할당되는 값 및 그 값의 의미의 다른 실시예를 나타낸 도면
도 7은 본 발명에 따른 데이터 서비스 테이블의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 8은 본 발명에 따른 PSI/PSIP 테이블을 이용하여 NRT 서비스 시그널링 채널을 전송하는 IP 스트림의 접속 정보를 획득하는 과정의 일 실시예를 보인 도면
도 9는 본 발명에 따른 PSI/PSIP 테이블을 이용하여 NRT 서비스 시그널링 채널을 전송하는 IP 스트림의 접속 정보를 획득하는 과정의 일 실시예를 보인 흐름도
도 10과 도 11은 본 발명에 따른 NST섹션의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 12는 본 발명에 따른 component_descriptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 13은 도 12의 component_descriptor()를 이용한 FLUTE 파일 딜리버리 데이터의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 14와 도 15는 본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 16, 도 17은 본 발명에 따른 FDT XML 스키마의 일 예를 보인 도면
도 18의 (a)와 (b)는 본 발명에 따른 서비스 정보 테이블을 이용하여 방송 수신기에서 구현할 수 있는 UI 화면 구성의 일 예를 보인 도면
도 19는 본 발명에 따른 방송 수신기에서 NRT-IT 섹션을 이용하여 비실시간 서비스를 처리하는 방법의 일 실시예를 보인 흐름도
도 20, 도 21은 본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스 구조의 다른 실시예를 보인 도면
도 22는 본 발명에 따른 available_on_internet 필드에 할당되는 값 및 그 값의 의미의 예를 보인 테이블
도 23은 본 발명에 따른 인터넷 가능 파일 디스크립터의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 24의 (a) 내지 (c)는 본 발명에 따른 서비스 정보 테이블을 이용하여 방송 수신기에서 구현할 수 있는 UI 화면 구성의 다른 예를 보인 도면
도 25는 본 발명에 따른 OMA BCAST의 콘텐트 프래그먼트의 신택스 구조의 일 실시예를 보인 도면
도 26은 본 발명에 따른 Fixed NRT 서비스를 위한 방송 수신기의 일 실시예를 보인 구성 블록도
도 2는 본 발명에 따른 NRT 서비스, 콘텐트 아이템, 파일과의 관계를 보인 도면
도 3은 본 발명에 따른 Fixed NRT 서비스를 위한 프로토콜 스택의 일 실시예를 보인 도면
도 4는 본 발명에 따른 가상 채널 테이블의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 5는 도 4의 가상 채널 테이블 내 서비스 타입 필드 값 및 그 값의 의미의 일 실시예를 나타낸 도면
도 6는 도 4의 가상 채널 테이블 내 서비스 타입 필드에 할당되는 값 및 그 값의 의미의 다른 실시예를 나타낸 도면
도 7은 본 발명에 따른 데이터 서비스 테이블의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 8은 본 발명에 따른 PSI/PSIP 테이블을 이용하여 NRT 서비스 시그널링 채널을 전송하는 IP 스트림의 접속 정보를 획득하는 과정의 일 실시예를 보인 도면
도 9는 본 발명에 따른 PSI/PSIP 테이블을 이용하여 NRT 서비스 시그널링 채널을 전송하는 IP 스트림의 접속 정보를 획득하는 과정의 일 실시예를 보인 흐름도
도 10과 도 11은 본 발명에 따른 NST섹션의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 12는 본 발명에 따른 component_descriptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 13은 도 12의 component_descriptor()를 이용한 FLUTE 파일 딜리버리 데이터의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 14와 도 15는 본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 16, 도 17은 본 발명에 따른 FDT XML 스키마의 일 예를 보인 도면
도 18의 (a)와 (b)는 본 발명에 따른 서비스 정보 테이블을 이용하여 방송 수신기에서 구현할 수 있는 UI 화면 구성의 일 예를 보인 도면
도 19는 본 발명에 따른 방송 수신기에서 NRT-IT 섹션을 이용하여 비실시간 서비스를 처리하는 방법의 일 실시예를 보인 흐름도
도 20, 도 21은 본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스 구조의 다른 실시예를 보인 도면
도 22는 본 발명에 따른 available_on_internet 필드에 할당되는 값 및 그 값의 의미의 예를 보인 테이블
도 23은 본 발명에 따른 인터넷 가능 파일 디스크립터의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 24의 (a) 내지 (c)는 본 발명에 따른 서비스 정보 테이블을 이용하여 방송 수신기에서 구현할 수 있는 UI 화면 구성의 다른 예를 보인 도면
도 25는 본 발명에 따른 OMA BCAST의 콘텐트 프래그먼트의 신택스 구조의 일 실시예를 보인 도면
도 26은 본 발명에 따른 Fixed NRT 서비스를 위한 방송 수신기의 일 실시예를 보인 구성 블록도
발명의 실시를 위한 최선의 형태
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
본 발명에서 사용하는 용어 중 real time (RT) service는, 말 그대로 실시간 서비스를 의미한다. 즉, 시간에 구속받는 서비스이다. 이에 반해, non-real time (NRT) service는 상기 RT 서비스 이외의 비실시간 서비스를 의미한다. 즉, 비실시간 서비스는 시간에 구속받지 않는 서비스이다. 그리고 NRT 서비스를 위한 데이터를 NRT 서비스 데이터라 하기로 한다.
본 발명에 따른 방송 수신기는 지상파, 케이블, 인터넷 등과 같은 매체를 통해 비실시간(NRT) 서비스를 수신할 수 있다.
상기 NRT 서비스는 방송 수신기의 저장 매체에 저장된 후, 기 설정된 시간이나 유저의 요청에 따라 디스플레이 장치에 표시된다. 상기 NRT 서비스는 파일 형태로 수신되어 저장 매체에 저장되는 것을 일 실시예로 한다. 상기 저장 매체는 방송 수신기의 내부에 장착된 내장 HDD인 것을 일 실시예로 한다. 또다른 예로, 상기 저장 매체는 방송 수신 시스템의 외부에 연결된 USB(Universal Serial Bus) 메모리, 외장 HDD 등이 될 수도 있다.
상기 NRT서비스를 구성하는 파일들을 수신하여 저장 매체에 저장하고, 유저에게 서비스하기 위해서는 시그널링 정보가 필요하다. 본 발명은 이를 NRT 서비스 시그널링 정보 또는 NRT 서비스 시그널링 데이터라 하기로 한다.
본 발명에 따른 NRT 서비스는 IP 데이터그램을 얻는 방식에 따라 Fixed NRT 서비스와 Mobile NRT 서비스로 구분할 수 있다. 특히 상기 Fixed NRT 서비스는 고정형 방송 수신기로 제공되고, Mobile NRT 서비스는 이동형 방송 수신기로 제공된다.
본 발명은 Fixed NRT 서비스를 일 실시예로 설명할 것이다. 그러나 본 발명이 Mobile NRT 서비스에도 적용될 수 있음은 당연하다.
도 1은 RT 서비스와 NRT 서비스를 제공하는 개념을 개시한다.
방송국은 기존 방식에 따라 즉, 현재의 지상파 방송(또는 모바일 방송)과 같이 RT 서비스를 송신한다. 이때, 방송국은 RT 서비스를 송신하고 그 과정에서 남는 대역폭을 이용하거나 또는 전용 대역폭을 이용하여 NRT 서비스를 제공할 수 있다. 즉, RT 서비스와 NRT 서비스는 동일 채널 또는 다른 채널을 통해 전송된다. 따라서 방송 수신기에서 RT 서비스와 NRT 서비스를 구분하고, 구분된 NRT 서비스를 저장한 후 필요시에 유저에게 제공하기 위해 NRT 서비스 시그널링 정보(또는 NRT 서비스 시그널링 데이터)가 요구된다. 상기 NRT 서비스 시그널링 정보(또는 NRT 서비스 시그널링 데이터)는 뒤에서 상세히 설명하기로 한다.
예를 들어 방송국에서는 방송 서비스 데이터를 실시간으로 송신하고, 뉴스 클립, 날씨 정보, 광고, Push VOD 등을 비실시간으로 송신할 수 있다. 또한 상기 NRT 서비스는 뉴스 클립, 날씨 정보, 광고, Push VOD 뿐만 아니라, 실시간 방송 스트림 중 특정 장면들, 특정 프로그램의 상세 정보 등이 될 수도 있다.
종래의 방송 수신기(즉, legacy device)는 실시간 서비스를 수신하여 처리할 수는 있으나, 비실시간 서비스를 수신하여 처리할 수는 없다. 즉, 종래의 방송 수신기(즉, legacy device)는 실시간 서비스를 전송하는 채널에 포함된 NRT 스트림에 의해 그 동작이 영향을 받지 않는 것이 원칙이다. 다시 말해, 종래의 방송 수신기는 NRT 서비스를 수신하여도 적절하게 처리할 수 있는 수단이 구비되지 않아 상기 수신된 NRT 서비스를 처리할 수 없다.
반면, 본 발명에 따른 방송 수신기(즉, NRT device)는 RT 서비스와 결합된 NRT 서비스를 수신하여 적절하게 처리할 수 있으므로, 시청자에게 종래 방송 수신기에 비해 다양한 기능을 제공할 수 있다.
본 발명에 따른 하나의 NRT 서비스는 도 2에서와 같이 하나 이상의 콘텐트 아이템(또는 콘텐트 또는 NRT 콘텐트라 함)를 포함하고, 하나의 콘텐트 아이템은 하나 이상의 파일을 포함하는 것을 일 실시예로 한다. 본 발명에서 파일과 오브젝트는 동일한 의미로 사용된다.
상기 콘텐트 아이템은 독립적으로 재생이 가능한 최소 단위이다. 예를 들어, 비실시간으로 제공되는 뉴스가 있고, 상기 뉴스에는 경제 뉴스, 정치 뉴스, 생활뉴스가 포함된다고 할 때, 상기 뉴스는 NRT 서비스라 할 수 있고, 경제 뉴스, 정치 뉴스, 생활 뉴스 각각은 콘텐트 아이템이라 할 수 있다. 그리고, 경제 뉴스, 정치 뉴스, 생활 뉴스 각각은 하나 이상의 파일로 구성된다.
이때 NRT 서비스는 RT 서비스와 동일한 방송 채널 또는 전용 방송 채널을 통해 MPEG-2 트랜스포트 스트림(TS) 패킷 형태로 전송될 수 있다. 이 경우 NRT 서비스를 식별하기 위하여 유니크한 PID가 상기 NRT 서비스 데이터의 TS 패킷에 할당되어 전송된다. 본 발명은 IP 기반의 NRT 서비스 데이터가 MPEG-2 TS 패킷화되어 전송되는 것을 일 실시예로 한다.
이때 상기 NRT 서비스 데이터를 수신하는데 필요한 NRT 서비스 시그널링 데이터는 NRT 서비스 시그널링 채널을 통해 전송된다. 상기 NRT 서비스 시그널링 채널은 IP 계층 상에서 특정 IP 스트림을 통하여 전송되는데, 이때 상기 IP 스트림도 MPEG-2 TS 패킷화되어 전송된다. 상기 NRT 서비스 시그널링 채널로 전송되는 NRT 서비스 시그널링 데이터는 NRT 서비스 맵 테이블(Service Map Table 또는 Service Table ; NST)와 NRT 정보 테이블(NRT Information Table ; NRT-IT)를 포함한다. 상기 NST는 IP 계층에서 구동하는 적어도 하나의 NRT 서비스, 상기 NRT 서비스를 구성하는 콘텐트 아이템/파일들의 접속 정보를 제공하는 것을 일 실시예로 한다. 상기 NRT-IT는 NRT 서비스를 구성하는 콘텐트 아이템/파일들의 상세 정보를 제공하는 것을 일 실시예로 한다. 본 발명은 상기 NST와 NRT-IT를 시그널링 정보 테이블이라 하기도 한다.
도 3은 본 발명의 일 실시예에 따라 구성한 NRT 서비스에 대한 프로토콜 스택을 도시한 것이다.
본 발명에서는 Fixed NRT 서비스를 위해, 파일 형태의 NRT 서비스를 IP 계층에서 IP 패킷화한 후 특정 가상 채널을 통해 MPEG-2 TS 형태로 전송하는 것을 일 실시예로 한다.
본 발명에서는 MPEG-2 기반의 PSI(Program Specific Information)/PSIP(Program and System Information Protocol) 테이블 예를 들어, 가상 채널 테이블(VCT)를 통하여 가상 채널(Virtual channel) 내, NRT 서비스의 존재 여부 및 NRT 서비스의 식별(Identification) 정보를 시그널링하는 것을 일 실시예로 한다.
본 발명은 IP 기반의 NRT 서비스의 접속 정보를 시그널링하는 NRT 서비스 시그널링 데이터를 전송하는 NRT 서비스 시그널링 채널을 IP 계층에서 특정 IP 스트림으로 IP 패킷화한 후 MPEG-2 TS 형태로 전송하는 것을 일 실시예로 한다.
즉, 방송국에서는 도 3에서와 같이 파일 전송 프로토콜(File Transfer Protocol) 방식에 따라 NRT 콘텐트 아이템/파일들을 패킷화하고, 이를 다시 ALC/LCT(Asynchronous Layered Coding/Layered Coding Transport) 방식에 따라 패킷화한다. 상기 패킷화된 ALC/LCT 데이터는 다시 UDP 방식에 따라 패킷화되며, 상기 패킷화된 ALC/LCT/UDP 데이터는 다시 IP 방식에 따라 패킷화되어 ALC/LCT/UDP/IP 데이터가 된다. 여기서, 상기 ALC/LCT/UDP/IP 데이터는 FLUTE (File Delivery over Unidirectional Transport) 세션에 대한 정보를 포함하는 FDT(File Description Table)을 포함한다. 상기 패킷화된 ALC/LCT/UDP/IP 데이터를 본 발명에서는 설명의 편의를 위해 IP 데이터그램이라 한다.
또한 상기 NRT 콘텐트/파일들을 수신하기 위해 필요한 NRT 서비스 시그널링 데이터는 NRT 서비스 시그널링 채널을 통해 전송되는데, 상기 NRT 서비스 시그널링 채널은 UDP(User Datagram protocol) 방식에 따라 패킷화되고, 상기 패킷화된 UDP 데이터는 다시 IP 방식에 따라 패킷화되어 UDP/IP 데이터가 된다. 상기 UDP/IP 데이터도 본 발명에서는 설명의 편의를 위해 IP 데이터그램이라 한다. 이때 상기 NRT 서비스 시그널링 채널은 Well-known IP desination address와 well-known desination UDP port number를 가지는 IP 데이터그램에 인캡슐레이션되어 멀티캐스트(Multicast)되는 것을 일 실시예로 한다.
본 발명에서는 상기 NRT 서비스 및 NRT 서비스 시그널링 채널의 IP 데이터그램들을 어드레서블 섹션 구조로 인캡슐레이션하고, 다시 MPEG-2 TS 포맷으로 패킷화하는 것을 일 실시예로 한다. 즉, 하나의 어드레서블 섹션 구조는 하나의 IP 데이터그램에 섹션 헤더와 CRC 첵섬(checksum)이 추가적으로 더해지는 형태를 가지게 된다. 이러한 어드레서블 섹션 구조의 형태는 프라이빗 데이터(private data) 전송을 위한 DSM-CC(Digital Storage Media Command and Control) 섹션 포맷에 부합되는 구조로 되어 있다. 따라서 상기 어드레서블 섹션은 DSM-CC 어드레서블 섹션이라 하기도 한다. 그리고, 상기 어드레서블 섹션 데이터를 184 바이트 단위로 분할한 후, 각 184 바이트에 4바이트의 MPEG 헤더를 부가하면, 188 바이트의 MPEG-2 TS 패킷을 만들 수 있다. 이때, 상기 MPEG 헤더의 PID에 할당되는 값은 상기 NRT 서비스와 NRT 서비스 시그널링 채널을 전송하는 TS 패킷을 식별할 수 있는 유니크한 값이다.
또한, PSI(Program Specific Information) 및 PSIP(Program and System Information Protocol) 테이블 섹션 데이터도 MPEG-2 TS 패킷화된다.
상기 PSI테이블은 일 실시예로, PMT(Program Map Table), PAT(Program Association Table) 등을 포함하고, PSIP테이블은 일 실시예로, VCT(Virtual Channel Table), STT(System Time Table), RRT(Rating Region Table), ETT(Extended Text Table), DCCT(Direct Channel Change Table), DCCSCT(Direct Channel Change Selection Code Table), EIT(Event Information Table), 및 MGT(Master Guide Table)를 포함할 수 있다.
상기 MPEG-2 TS 패킷들은 물리 계층(physical layer)에서 기 정해진 전송 방식 예를 들면, VSB 전송 방식으로 변조되어 수신 시스템으로 전송된다.
본 발명에서는 NRT 서비스의 전송 여부를 PSI/PSIP 테이블을 통해 시그널링하는 것을 일 실시예로 한다. 일 예로, 상기 NRT 서비스의 전송 여부를 가상 채널 테이블(VCT)에 시그널링하는 것을 일 실시예로 한다.
도 4는 상기 가상 채널 테이블(VCT) 섹션의 신택스 구조의 일 실시예를 보이고 있다.
상기 VCT 섹션은 가상 채널에 대한 정보 예를 들어, 채널 선택을 위한 채널 정보와 오디오 및/또는 비디오의 수신을 위한 패킷 식별자(PID) 등의 정보를 전송한다. 즉, 상기 VCT 섹션을 파싱하면 채널 이름, 채널 번호 등과 함께 채널 내에 실려오는 방송 프로그램의 오디오와 비디오의 PID를 알 수 있다.
상기 VCT 섹션의 신택스는 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, transport_stream_id 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드, protocol_version 필드, num_channels_in_section 필드 중 적어도 하나를 포함하여 구성된다.
상기 VCT 섹션의 신택스는 상기 num_channels_in_section 필드 값만큼 반복되는 'for' 루프(즉, 가상 채널 루프)의 제1 반복문을 더 포함하는데, 상기 제1 반복문 내에는 short_name 필드, major_channel_number 필드, minor_channel_number 필드, modulation_mode 필드, carrier_frequency 필드, channel_TSID 필드, program_number 필드, ETM_location 필드, access_controlled 필드, hidden 필드, service_type 필드, source_id 필드, descriptor_length 필드, 및 이 제1 반복문 내에 포함되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제2 반복문 중 적어도 하나를 포함하여 구성된다. 본 발명에서는 설명의 편의를 위해 상기 제2 반복문을 제1 디스크립터 루프라 한다. 상기 제1 디스크립터 루프에 포함되는 디스크립터 descriptors()는 가상 채널 각각에 개별적으로 적용되는 디스크립터이다.
또한 상기 VCT 섹션 신택스는 additional_descriptor_length 필드와, 상기 VCT섹션에 추가되는 디스크립터 수만큼 반복되는 'for' 루프로 된 제3 반복문을 더 포함할 수 있다. 본 발명에서는 설명의 편의를 위해 상기 제3 반복문을 제2 디스크립터 루프라 한다. 상기 제2 디스크립터 루프에 포함되는 디스크립터 additional_descriptors()는 VCT섹션에서 기술되는 모든 가상 채널에 공통적으로 적용되는 디스크립터이다.
이와 같이 구성된 도 4에서, 상기 table_id 필드는 상기 테이블로 전송되는 정보가 VCT임을 인식할 수 있는 고유 식별자(ID)를 표시한다. 즉, 상기 table_id 필드는 이 섹션(section)이 속해 있는 테이블이 VCT라는 것을 알려주는 값을 나타내며, 일 예로 0xC8이 할당될 수 있다.
상기 version_number 필드는 VCT의 버전 값을 나타내고, 상기 section_number 필드는 이 섹션의 번호를, 상기 last_section_number 필드는 완전한 VCT의 마지막 섹션의 번호를 나타낸다. 상기 num_channels_in_section 필드는 상기 VCT 섹션 내에 존재하는 전체 가상 채널의 개수를 지정한다.
그리고, 상기 'for' 루프의 제1 반복문 내에 있는 short_name 필드는 가상 채널 이름을 나타내고, 상기 major_channel_number 필드는 상기 제1 반복문 안에서 정의되는 가상 채널과 관련된 '메이저' 채널 번호를 나타내고, 상기 minor_channel_number 필드는 '마이너' 채널 번호를 나타낸다. 즉, 각각의 가상 채널 번호는 메이저와 마이너 채널 번호에 연결되어 있어야 하며, 메이저, 마이너 채널 번호는 해당 가상 채널에 대한 사용자 참조 번호로 작용한다.
상기 program_number 필드는 MPEG-2 PAT(Program Association Table)와 PMT(Program Map Table)가 정의되어 있는 가상 채널을 연결하기 위해 나타내며, 상기 PAT/PMT안에 있는 프로그램 번호와 일치한다. 여기서, PAT는 각 프로그램 번호마다 그 프로그램의 구성 요소를 기술하는데, PMT를 전송하는 트랜스포트 패킷의 PID를 가리킨다. 상기 PMT는 프로그램 식별 번호와 프로그램을 구성하는 비디오, 오디오 등의 개별 비트열이 전송되고 있는 트랜스포트 패킷의 PID 리스트와 부속 정보를 기술하고 있다.
상기 service_type 필드는 해당 virtual channel 내의 서비스 타입을 알려주는 필드이다.
일 실시예로, 상기 가상 채널은 오디오 및/또는 비디오가 포함된 적어도 하나의 RT 서비스와 적어도 하나의 NRT 서비스를 모두 포함할 수 있다.
이 경우, 도 5와 같이 서비스 타입 값이 할당될 수 있으며, ATSC 데이터 온리(only) 서비스를 나타내는 0x04를 이용하여 상기 가상 채널로 NRT서비스가 전송됨을 지시할 수 있다.
다른 실시예로, 상기 가상 채널은 하나 이상의 NRT 서비스만을 포함할 수 있다. 이 경우, 도 6과 같이 service_type 필드 값으로 0x08을 새로이 정의하고 상기 가상 채널로 NRT 서비스가 전송됨을 지시할 수 있다.
상기 source_id 필드는 해당 가상 채널에 연결된 프로그램 소스를 나타낸다.
여기서, 소스란 영상, 텍스트, 데이터 또는 음향과 같은 하나의 특정 소스를 말한다. 상기 source_id 필드값은 VCT를 전송하는 트랜스포트 스트림 내에서는 유일한 값을 가진다.
한편, 상기 VCT의 service_location_descriptor에 포함된 PID를 통해 DST를 수신할 수 있으며, 데이터 서비스 테이블(DST)을 통해 어플리케이션의 종류 및 이 채널을 통해 전송되는 데이터 방송 스트림의 상세 정보를 알 수 있다.
본 발명은 DST를 이용하여 NRT 어플리케이션(즉, NRT 서비스)를 식별하도록 한다.
도 7은 상기 DST 섹션의 신택스 구조의 일 실시예를 보이고 있다.
sdf_protocol_version 필드 (8비트)는, Service Description Framework 프로토콜의 버전을 설명한다.
application_count_in_section 필드 (8비트)는, DST 섹션 내 리스트 된 어플리케이션들의 수를 설명한다.
compatibility_descriptor() 필드는, 해당 구조가 DSM-CC 호환성 디스크립터를 포함함을 나타낸다. 그 목적은 해당 데이터 서비스를 사용하기 위해 그 능력을 판단하기 위해 수신 플랫폼에서 어플리케이션의 호환성 요구사항들을 시그널링하기 위함이다.
app_id_byte_length 필드 (16비트)는, 어플리케이션을 식별하는데 사용되는 바이트들의 개수를 설명한다.
app_id_description 필드 (16비트)는, 다음 application identification bytes의 포맷과 시맨틱스를 설명한다. 본 발명은 하기의 표 1과 같이 예를 들면, '0x0003'을 새롭게 할당하여 해당 어플리케이션이 NRT 어플리케이션임을 식별하는데 이용한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
app_id_byte 필드 (8비트)는, 어플리케이션 식별자의 바이트를 표현한다.
tap_count 필드 (8비트)는, 해당 어플리케이션에 의한 사용되는 Tap() 구조들의 개수를 설명한다.
protocol_encapsulation 필드 (8비트)는, Tap() 필드에 의해 참조되는 특정 데이터 엘리먼트를 전송하기 위해 사용되는 프로토콜 인캡슐레이션의 타입을 설명한다.
action_type 필드 (7비트)는, 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에 존재한다.
Tap() 필드는, 예를 들어 하기와 같은 필드들을 포함한 특정 구조로 정의된다. tap_id 필드 (16비트)는 데이터 엘리먼트들을 식별하기 위해 어플리케이션에 의해 사용된다. tap_id의 값은 DST 내 Tap()와 관련된 app_id_byte 필드들의 값에 의해 범위가 정해진다. tap_id 값은 데이터 서비스 프로바이더에 의해 선택된다. 또한, 그것은 데이터 엘리먼트를 다루기 위한 어플리케이션에서 사용된다.
Use 필드 (16비트)는, association_tag에 의해 참조되는 통신 채널을 특정하기 위해 사용된다.
association_tag 필드 (16비트)는, Network Resource Table 내 리스트 된 DSM-CC 리소스 디스크립터나 또는 PMT 내에 리스트 된 데이터 엘리먼트리 스트림 중 어느 하나를 유일하게 식별한다. 해당 필드의 값은 데이터 서비스의 PMT 내 association_tag_descriptor의 association_tag 값과 일치할 것이다.
Selector() 필드는, association_tag 필드에 의해 참조되는 통신 채널 또는 데이터 엘리먼트리 스트림 내에 이용 가능한 특정 데이터 엘리먼트를 설명한다. 게다가, 상기 selector 구조는 해당 데이터 엘리먼트를 위해 요구되는 프로토콜을 지시할 수 있다.
tap_info_length 필드 (16비트)는, 해당 필드 다음 필드의 디스크립터들의 바이트의 수를 설명한다.
descriptor() 필드는, 디스크립터 포맷을 따른다.
app_info_length 필드 (8비트)는, 해당 필드 다음의 디스크립터들의 바이트 수를 설명한다.
descriptor() 필드는, 디스크립터 포맷을 따른다.
app_data_length 필드 (16비트)는, app_data_byte 필드들의 바이트 단위의 길이를 설명한다.
app_data_byte (8비트)는, 어플리케이션과 관련된 입력 파라미터들과 다른 프라이빗 데이터 필드들을 1바이트로 표현한다.
service_info_length 필드 (8비트)는, 다음 디스크립터들의 바이트 단위의 수를 설명한다.
descriptor() 필드는, 디스크립터 포맷을 따른다.
service_private_data_length 필드 (16비트)는, 프라이빗 필드들의 바이트 단위의 길이를 설명한다.
service_private_data_byte 필드 (8비트)는, 프라이빗 필드를 1바이트로 표현한다.
도 8은 본 발명에 따른 방송 수신기에서, 데이터 방송 스트림을 전달하기 위한 ATSC A/90 규격과 IP 멀티캐스트 스트림(Multicast stream)을 전송하는 ATSC A/92 규격을 활용하여 NRT 서비스를 수신하여 서비스하는 방법을 설명하고 있다.
즉, 각 가상 채널을 구성하는 스트림의 정보는 VCT의 Service location descriptor나 PMT의 ES_loop에 시그널링 된다. 예를 들어, 도 5나 도 6에서와 같이 VCT의 서비스 타입(service type)이 0x02(즉, 디지털 A/V/Data)이거나 0x04(즉, Data only)인 경우, 또는 0x08(즉, NRT Only service)인 경우, 상기 가상 채널로 NRT 서비스 스트림이 전송될 수 있다. 이때 VCT의 service location descriptor(또는 PMT의 ES loop)에 포함된 stream_type 필드 값에 0x95(즉, DST 전송)가 할당되어 있으면 데이터 방송이 전송됨을 의미한다. 만일 stream_type 필드 값이 없거나, 0x95가 아니면 일반 A/V만 전송된다. 즉, 상기 service location desciptor에 포함된 stream_type 필드 값이 0x95를 나타내면, 이때의 Elementary_PID 필드 값은 DST(Data Service Table)의 PID 값이 된다. 따라서 상기 Elementary_PID를 통해 DST를 수신할 수 있다.
상기 DST를 통해 어플리케이션(Application)의 종류 및 이 채널을 통해 전송되는 데이터 방송 스트림의 상세 정보를 알 수 있다. 본 발명에서는 DST를 이용하여 NRT 어플리케이션(즉, NRT 서비스)를 식별하도록 한다.
즉, DST의 App_id_descrption 필드는 뒤이어 오는 application identification bytes의 포맷 및 해석을 규정한다. 본 발명은 NRT 어플리케이션을 식별하기 위해 상기 App_id_descrption 필드에 '0x0003'를 할당하는 것을 일 실시예로 한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
만일, 상기 App_id_descrption 필드 값이 '0x0003'이면, 그 다음에 오는 Application_id_byte 값은 NRT 어플리케이션의 Service ID값이 된다. 상기 NRT 어플리케이션을 위한 서비스 아이디는 해당 서비스를 Gloablly unique하게 식별하는 URI (Uniform Resource Identifier)값을 가질 수 있다.
상기와 같이 NRT 어플리케이션임을 식별한 이후에는 NRT 서비스 시그널링 채널의 IP 데이터그램으로부터 분할된 MPEG-2 TS 패킷의 PID를 Tap 정보를 통해 찾는다. 그러면, 상기 tap 정보를 통해 찾은 PID를 갖는 MPEG-2 TS 패킷들로부터 NRT 서비스 시그널링 채널을 전송하는IP 데이터그램을 획득할 수 있으며, 상기 획득된 IP 데이터그램으로부터 NRT 서비스 시그널링 데이터를 획득할 수 있다. 이때 상기 NRT 서비스 시그널링 채널의 IP 접속 정보는 잘 알려진 IP 접속 정보 즉, well-known IP address와 well-known UDP port number가 사용될 수 있다.
즉, 상기 DST에서 Protocol_encapsulation 필드 값이 0x04이면 비동기 IP 스트림이 전송되고, Selector_type필드 값이 0x0102이면 selector_bytes를 통해 destination address를 가리키는 device_id 값이 전달된다. 상기 selector_bytes값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며, device_id값 중에서 유효(valid)한 바이트의 개수를 시그널링해준다. 결국 Tap 정보를 통하여 해당 PID로 전송되는 NRT 서비스 시그널링 채널의 IP Multicast address (혹은 address range)를 알 수 있게 된다.
따라서, 상기 IP Multicast address (혹은 address range)에 접속하여 IP 스트림 즉, IP 패킷을 수신하고, 상기 수신된 IP 패킷으로부터 NRT 서비스 시그널링 데이터를 추출한다.
상기 추출된 NRT 서비스 시그널링 데이터를 기초로, NRT 서비스 데이터 즉, NRT 콘텐트 아이템/파일들을 수신하여 저장 매체에 저장하거나, 디스플레이 장치에 표시할 수 있다.
본 발명은 다른 실시예로, DST의 Stream Type 필드 값에 0x95 대신 새로운 값 예를 들어, 0x96을 사용하여 NRT 서비스를 시그널링할 수 있다. 이는 기존 수신기가 데이터 방송 스트림의 존재 여부를 스트림 타입이 0x95인 스트림의 존재 여부로만 판단하여 동작할 경우, 새로운 어플리케이션인 NRT서비스에 대해 오동작할 우려가 있기 때문이다. 이러한 경우 스트림 타입을 새롭게 지정해 줌으로써 기존 수신기에서는 이를 무시하도록 하여 하위 호환성을 보장할 수 있을 것이다.
도 9는 상기 NRT 서비스 시그널링 데이터 및 NRT서비스 데이터 추출 과정을 흐름도로 보인 도면이다.
도 9에서는 VCT 내 service_type 필드 값에 도 6에서와 같이 0x08을 할당하여, 해당 가상 채널로 하나 이상의 NRT 서비스가 전송됨을 지시하는 것을 일 실시예로 한다.
즉, 수신기의 전원이 켜지고 디폴트 또는 사용자에 의한 채널이 선택되면(S1001), 상기 선택된 채널로 수신되는 방송 신호로부터 VCT와 PMT를 획득한다(S1002). 그리고 상기 획득된 VCT를 파싱하여 NRT 서비스가 있는지를 확인한다(S1003). 이는 상기 VCT의 가상 채널 루프 내 service_type 필드 값을 확인하여 알 수 있다. 상기 S1001는 튜너에서, 상기 S1002,S1003는 PSI/PSIP 섹션 핸들러에서 수행된다.
예를 들어, 상기 service_type 필드 값이 0x08이 아니면 해당 가상 채널은 NRT 서비스를 전송하지 않는다. 이때 상기 가상 채널은 기존 서비스(즉, legacy ATSC 서비스)를 전송하므로, 수신기는 상기 가상 채널에 포함된 정보에 따라 적절한 동작을 수행한다.
상기 service_type 필드 값이 0x08이면, 해당 가상 채널은 NRT 서비스를 전송한다. 이 경우 상기 VCT의 가상 채널 루프 내 service location descriptor를 파싱하여 DST의 PID를 추출한다(S1004). 그리고 추출된 PID를 이용하여 DST를 수신한다(S1005). 상기 S1004, S1005은 서비스 매니저의 제어에 의해 역다중화기에서 수행된다.
상기 수신된 DST로부터 선택된 채널을 통해 제공되는 해당 서비스가 NRT 서비스인지를 확인한다(S1006).
상기 NRT 서비스는 App_id_descrption 필드 값으로부터 확인할 수 있다.
본 발명은 NRT 어플리케이션(즉, NRT 서비스)을 식별하기 위해 상기 App_id_descrption 필드에 '0x0003'를 할당하는 것을 일 실시예로 한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
만일 상기 DST 내 App_id_descrption 필드 값이 '0x0003'이면, 그 다음에 오는 Application_id_byte 값은 NRT 어플리케이션(즉, NRT 서비스)의 Service ID값이 된다. 그러므로, 상기와 같이 NRT 어플리케이션(즉, NRT 서비스)임을 식별한 이후에는 NRT 서비스 시그널링 채널의 IP 데이터그램으로부터 분할된 MPEG-2 TS 패킷의 PID를 찾기 위해 Tap을 추출한다(S1007). 이어 상기 추출된 Tap의 association_tag를 포함하는 스트림 PID를 PMT로부터 추출한다(S1008). 상기 S1006 내지 S1008는 서비스 매니저 또는 PSI/PSIP 섹션 핸들러에서 수행된다.
그리고, 상기 추출된 스트림 PID에 해당하는 MPEG-2 TS 패킷들을 수신하여 디캡슐레이션 즉, MPEG-2 헤더를 제거하면, DSM-CC 어드레서블 섹션이 복원된다(S1009). 상기 S1009은 어드레서블 섹션 핸들러에서 수행된다.
상기 DSM-CC 어드레서블 섹션으로부터 섹션 헤더와 CRC 첵섬을 제거하여 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램을 복원(recover)하고(S1010), 복원된 IP 데이터그램으로부터 NRT 서비스 시그널링 데이터를 획득한다(S1011). 여기서, 상기 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램의 접속 정보는 well-known 데스티네이션(destination) IP 어드레스와 well-known 데스티네이션 (destination) UDP 포트 번호인 것을 일 실시예로 한다.
즉, 상기 DST에서 Protocol_encapsulation 필드 값이 0x04이면 비동기 IP 스트림이 전송되고, Selector_type필드 값이 0x0102이면 selector_bytes를 통해 destination address를 가리키는 device_id 값이 전달된다. 상기 selector_bytes값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며, device_id값 중에서 유효(valid)한 바이트의 개수를 시그널링해준다. 결국 Tap 정보를 통하여 해당 PID로 전송되는 NRT 서비스 시그널링 채널의 IP Multicast address (혹은 address range)를 알 수 있게 된다.
따라서, 상기 IP Multicast address (혹은 address range)에 접속하여 IP 스트림 즉, IP 패킷을 수신하고, 상기 수신된 IP 패킷으로부터 NRT 서비스 시그널링 데이터를 추출한다.
상기 추출된 NRT 서비스 시그널링 데이터를 기초로, NRT 서비스 데이터 즉, NRT 콘텐트 아이템/파일들을 수신하여 저장 매체에 저장하거나, 디스플레이 장치에 표시할 수 있다.
한편, 상기 NRT 서비스 시그널링 채널로 전송되는 NRT 서비스 시그널링 데이터는 NRT 서비스 맵 테이블(Service Map Table 또는 Service Table ; NST)과 NRT 정보 테이블(NRT Information Table ; NRT-IT)를 포함하는 것을 일 실시예로 한다.
이때 상기 NST와 NRT-IT의 IP 데이터그램들은 동일한 well-known IP 어드레스와 well-known UDP 포트 번호를 갖는 것을 일 실시예로 한다. 그러므로, 상기 NRT 서비스 시그널링 데이터에 포함된 NST와 NRT-IT의 구분은 테이블 식별자에 의해 이루어진다. 즉, 상기 테이블 식별자는 해당 테이블 또는 해당 테이블 섹션의 헤더에 존재하는 table_id가 될 수 있으며, 필요한 경우 table_id_extension을 더 참조하여 구분할 수 있다.
NRT 서비스 맵 테이블(NST)
상기 NST는 NRT 서비스의 접속(access) 정보를 제공한다. 상기 NST는 MPEG-2 Private section 형태와 유사한 테이블 형태를 가지는 것을 일 실시예로 한다.
상기 NST는 하나의 가상 채널에 포함되는 IP 기반의 NRT 서비스들의 접속 정보를 제공할 수 있다. 예를 들어, 상기 NST는 하나의 NRT 서비스를 구성하는 각 FLUTE 세션들의 접속 정보를 제공할 수 있다.
이때, 하나의 NST가 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 NST 섹션 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 그리고 상기 NRT 서비스 시그널링 채널의 IP 데이터그램들의 IP 헤더와 UDP 헤더를 제거한 후 동일한 테이블 식별자를 갖는 섹션들을 모으면 해당하는 테이블을 완성할 수 있다. 예를 들어, NST에 할당된 테이블 식별자를 갖는 섹션들을 모으면 NST를 완성할 수 있다.
도 10과 도 11은 본 발명에 따른 NST섹션에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다. 상기 NST 섹션의 각 필드의 상세한 설명은 다음과 같다.
여기서, 해당 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
도 10과 도 11에서 table_id 필드(8비트)는 해당 테이블 섹션의 타입 식별을 위한 필드로서, 본 필드를 통해 해당 테이블 섹션이 NST를 구성하는 테이블 섹션임을 알 수 있다.
section_syntax_indicator 필드(1비트)는 NST의 섹션 형식을 정의하는 지시자로서, 섹션 형식은 예를 들어, MPEG의 short-form 신택스('0') 등이 될 수 있다.
private_indicator 필드(1비트)는 해당 섹션의 형태가 프라이빗 섹션 형태를 따르는지 여부를 나타낸다.
section_length 필드(12비트)는 해당 필드 이후의 나머지 테이블 섹션 길이를 나타낸다.
table_id_extension 필드(16비트)는 테이블에 종속적이고, 남은 필드들의 범위를 제공하는 table_id 필드의 논리적인 부분이 된다. 여기서, 상기 table_id_extension 필드는 NST_protocol_version 필드를 포함한다.
상기 NST_protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송하는 NST를 허락하기 위한 프로토콜 버전을 알려준다.
version_number 필드(5비트)는 NST의 버전 넘버를 나타낸다.
current_next_indicator 필드(1비트)는 전송된 NST 섹션이 현재 적용 가능한지 여부를 지시한다.
section_number 필드(8비트)는 현재 NST 섹션의 번호를 표시한다..
last_section_number 필드(8비트)는 NST 테이블을 구성하는 마지막 섹션 번호를 나타낸다.
num_NRT_services 필드(8비트)는 NST 섹션 내의 NRT 서비스의 수를 지시한다.
이후 상기 num_NRT_services필드 값에 해당하는 NRT 서비스 개수만큼 'for' 루프(또는 NRT 서비스 루프라 함)가 수행되어 복수의 NRT 서비스에 대한 시그널링 정보를 제공한다. 즉, 상기 NST 섹션에 포함되는 NRT 서비스별로 해당 NRT 서비스의 시그널링 정보를 표시한다. 이때 각 NRT 서비스에 대해 다음과 같은 필드 정보를 제공할 수 있다.
NRT_service_id 필드(16비트)는 해당 NRT 서비스를 유일하게 식별할 수 있는 값을 표시한다. 하나의 서비스의 NRT_service_id 필드 값은 그 서비스가 유지되는 동안 변하지 않는다. 이때 혼란을 피하기 위해서, 만일 어떤 서비스가 종료되면 그 서비스의 NRT_service_id 필드 값은 일정 시간이 경과할 때까지 사용하지 않을 수 있다.
NRT_service_status 필드(2비트)는 해당 NRT 서비스의 상태를 식별한다. 여기서, MSB는 해당 NRT 서비스가 액티브('1')인지 아니면 인액티브('0')인지 지시하고, LSB는 해당 NRT 서비스가 히든('1')인지 아닌지('0')를 지시한다.
SP_indicator 필드(1비트)는 해당 NRT 서비스의 서비스 보호(service protection) 여부를 나타낸다. 만일 SP_indicator 필드 값이 1이면, 서비스 보호가 해당 NRT 서비스의 의미 있는 프리젠테이션을 제공하기 위해 요구되는 콤포넌트들 중 적어도 하나에 적용된다.
Short_NRT_service_name_length 필드(3비트)는 Short_NRT_service_name 필드 내 바이트 쌍들의 번호를 지시한다.
Short_NRT_service_name 필드(16*m비트)는 상기 NRT 서비스의 short name 을 표시한다. 상기 NRT 서비스의 short name이 없으면, 상기 필드는 널 값(예, 0x00)으로 채워질 수 있다.
NRT_service_category 필드(6비트)는 해당 NRT 서비스 내에 전송되는 서비스의 타입을 식별한다.
num_components 필드(5비트)는 상기 NRT서비스에 포함되는 IP 스트림 콤포넌트들의 개수를 표시한다.
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 어드레스임을 지시한다.
source_IP_address_flag 필드(1비트)는 플래그가 설정되면, 해당 NRT 서비스를 위한 소스 IP 어드레스 값이 소스 특정 멀티캐스트를 지시하기 위해 존재함을 지시한다.
NRT_service_destination_IP_address_flag 필드(1비트)는 플래그가 '1'로 설정되면, 해당 NRT 서비스의 콤포넌트들을 위한 디폴트 IP 어드레스가 제공하기 위해 NRT_service_destination_IP_address 필드가 존재한다.
source_IP_address 필드(32 or 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)가 된다.
NRT_service_destination_IP_address 필드(32 or 128비트)는 NRT_service_destination_IP_address_flag필드가 '1'로 설정되면 해당 NRT_service_destination_IP_address필드는 존재하지만, NRT_service_destination_IP_address_flag필드가 '0'으로 설정되면 해당 NRT_service_destination_IP_address 필드는 존재하지 않을 것이다. 만약 해당 NRT_service_destination_IP_address 필드가 존재하지 않는다면, component_destination_IP_address 필드가 num_components 루프 내에 각 콤포넌트를 위해 존재할 것이다. 해당 NRT_service_destination_IP_address 필드의 128비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다. NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 데스트네이션 IP 어드레스(destination IP address)가 있으면 시그널링 된다.
이후 상기 num_components 필드 값에 해당하는 콤포넌트 개수만큼'for' 루프(또는 콤포넌트 루프라 함)가 수행되어 복수의 콤포넌트에 대한 접속 정보를 제공한다. 즉, 상기 NRT 서비스에 포함되는 각 콤포넌트의 접속 정보를 제공한다. 이때 각 콤포넌트에 대해 다음과 같은 필드 정보를 제공할 수 있다. 여기서, 하나의 콤포넌트는 하나의 FLUTE 세션에 대응되는 것을 일 실시예로 한다.
essential_component_indicator 필드(1비트)는, 해당 필드의 값이 '1'로 설정되어 있으면 해당 콤포넌트는 NRT 서비스를 위한 필수 콤포넌트 임을 지시한다. 그렇지 않으면, 해당 콤포넌트는 선택적인 콤포넌트임을 지시한다.
port_num_count 필드(6비트)는 해당 UDP/IP 스트림 콤포넌트와 관련된 UDP 포트들의 넘버를 지시한다. 데스티네이션 UDP 포트 넘버들의 값은 component_destination_UDP_port_num 필드 값으로부터 시작해서 1씩 증가한다.
component_destination_IP_address_flag 필드(1비트)는 '1'로 설정되어 있으면 해당 콤포넌트를 위해 component_destination_IP_address 필드가 존재함을 지시하는 플래그이다.
component_destination_IP_address 필드(32 or 128비트)는 component_destination_IP_address_flag가 '1'로 설정되면 해당 필드는 존재하지만, component_destination_IP_address_flag가 '0'으로 설정되면 해당 필드는 존재하지 않을 것이다. 만약 해당 필드가 존재한다면, 해당 필드는 해당 NRT 서비스의 콤포넌트들을 전송하는 모든 IP 데이터그램들의 소스 IP 어드레스를 포함할 것이다. 해당 필드의 128비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다.
component_destination_UDP_port_num 필드(16비트)는 해당 UDP/IP 스트림 콤포넌트를 위한 데스트네이션 UDP 포트 넘버를 나타낸다.
num_component_level_descriptors 필드(4비트)는 콤포넌트 레벨의 추가 정보를 제공하는 디스크립터의 개수를 표시한다.
상기 num_component_level_descriptors 필드 값에 해당하는 개수만큼 상기 콤포넌트 루프에 component_level_descriptor()들이 포함되어, 상기 콤포넌트에 대한 부가 정보를 제공한다.
num_NRT_service_level_descriptors 필드(4비트)는 NRT 서비스 레벨의 추가 정보를 제공하는 디스크립터의 개수를 표시한다.
상기 num_NRT_service_level_descriptors 필드 값에 해당하는 개수만큼 상기 NRT서비스 루프에 NRT_service_level_descriptor()들이 포함되어, 상기 NRT 서비스에 대한 부가 정보를 제공한다.
num_virtual_channel_level_descriptors 필드(4비트)는 가상 채널 레벨의 추가 정보를 제공하는 디스크립터의 개수이다.
상기 num_virtual_channel_level_descriptors 필드 값에 해당하는 개수만큼 상기 가상 채널 루프에 virtual_channel_level_descriptor()들이 포함되어, 상기 가상 채널에 대한 부가 정보를 제공한다.
도 12는 component_level_descriptors()로서 제공되는 component_descriptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보이고 있다. 즉, component_descriptor()는 NST의 콤포넌트 레벨 디스크립터component_level_descriptors()의 하나로서 사용되며, 해당 콤포넌트의 부가적인 시그널링 정보를 서술한다.
상기 component_descriptor()의 각 필드에 대한 설명은 다음과 같다.
도 12에서, descriptor_tag 필드(8비트)는 디스크립터 식별자로서, component_descriptor()를 식별하는 식별자가 설정될 수 있다.
descriptor_length 필드(8비트)는 상기 descriptor_length 필드 이후부터 이 descriptor의 끝까지, 디스크립터의 나머지 길이를 byte 단위로 나타낸다.
component_type 필드(7비트)는 콤포넌트의 인코딩 포맷을 식별하는 값을 표시한다. 상기 식별 값은 RTP/AVP 스트림의 payload_type을 위해 할당된 값들 중의 하나일 수 있다. 또는 송/수신측의 약속에 의해 미리 정해진 값들 중 하나일 수도 있고, 또는 96-127 사이의 다이나믹 값일 수도 있다. RTP를 거쳐 전송되는 미디어를 구성하는 콤포넌트들을 위해 component_type 필드의 값은 해당 콤포넌트를 전송하는 IP 스트림의 RTP 헤더 내 payload_type 내 값과 일치해야 한다.
component_encryption_flag 필드(1비트)는 해당 콤포넌트의 암호화 유무를 지시한다.
Num_STKM_streams 필드(8비트)는 상기 component_encryption_flag 필드가 암호화를 지시하면, 해당 콤포넌트와 관련된 STKM 스트림들의 개수를 나타낸다.
STKM_stream_id 필드(8비트)는 상기 Num_STKM_streams 필드 값만큼 반복되어 디크립션에 필요한 키를 얻을 수 있는 SKTM 스트림을 식별하는 값을 표시한다.
NRT_component_data(component_type) 필드는, 해당 콤포넌트를 렌더링하기 위해 필요한 인코딩 파라미터들 및/또는 다른 파라미터들을 제공한다. 여기서, component_data 엘리먼트의 구조는 component_type 필드의 값에 의해 결정된다.
예를 들어, 상기 component_type 필드 값이 35이면 NRT_component_data(component_type) 필드는 H.264/AVC 비디오 스트림을 위한 콤포넌트 데이터를 제공한다.
다른 예로, 상기 component_type 필드 값이 38이면 NRT_component_data(component_type) 필드는 도 13과 같은 FLUTE 파일 딜리버리를 위한 데이터를 제공한다.
하나의 NRT 서비스는 멀티플 FLUTE 세션들에 포함될 수 있다. 즉, 하나의 NRT 서비스는 복수개의 FLUTE 세션으로 구성될 수 있다. 각 FLUTE 세션은 도 13 의 NRT_component_data()를 이용하여 시그널링 될 수 있다.
도 13은 본 발명에 따른 FLUTE 파일 딜리버리를 위한 데이터를 제공하는 NRT_component_data()의 비트 스트림 신택스 구조의 일 예를 보이고 있다. 상기 NRT_component_data()의 각 필드에 대한 설명은 다음과 같다.
TSI 필드(16비트)는 FLUTE 세션의 TSI를 표시한다. 즉, 상기 TSI는 FLUTE 세션을 유일하게 식별할 수 있는 식별자이다.
session_start_time 필드(16비트)는 FLUTE 세션이 시작하는 시각을 지시한다. 만약 해당 필드의 값이 모두 '0'이면, 상기 FLUTE 세션은 이미 시작된 것으로 해석될 수 있다.
session_end_time 필드(16비트)는 FLUTE 세션이 종료되는 시각을 지시한다. 만약 해당 필드의 값이 모두 '0'이면, 상기 FLUTE 세션은 무한정 계속되는 것으로 해석될 수 있다.
tias_bandwidth_indicator 필드(1비트)는 TIAS(Transport Independent Application Specific) 대역폭 정보의 포함 여부를 지시한다. 만약 TIAS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 '1'로 설정되고, TIAS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 '0'으로 설정되어야 할 것이다.
as_bandwidth_indicator 필드(1비트)는 AS(Application Specific) 대역폭 정보의 포함 여부를 지시한다. 만약 AS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 '1'로 설정되어야 하고, AS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 '0'으로 설정되어야 할 것이다.
FEC_OTI_indicator 필드(1비트)는 FEC 오브젝트 트랜스미션 정보(OTI)가 제공되는지 여부를 지시한다.
tias_bandwidth 필드(16비트)는 상기 as_bandwidth_indicator 필드가 '1'로 설정되었을 때 존재하며, TIAS 최대 대역폭을 표시한다.
as_bandwidth 필드(16비트)는 상기 as_bandwidth_indicator 필드가 '1'로 설정되었을 때 존재하며, AS 최대 대역폭을 표시한다.
FEC_encoding_id 필드는 상기 FEC_OTI_indicator 필드가 '1'로 설정되었을 때 존재하며, 해당 FLUTE 세션 내에서 사용된 FEC 인코딩 ID를 표시한다.
FEC_instance_id 필드는 상기 FEC_OTI_indicator 필드가 '1'로 설정되었을 때 존재하며, 해당 FLUTE 세션 내에서 사용된 FEC 인스턴스 ID를 표시한다.
상기와 같은 파라미터들을 콤포넌트 루프 내 component_descriptor()의 NRT_component_data()를 통해 시그널링함으로써, 상기 FULTE 세션을 수신하기 위하여 필요한 정보들은 모두 제공할 수 있다.
즉, 상기 session_start_time 필드와 session_end_time 필드에 의해 설정된 시간 정보에 따라 해당 FLUTE 세션을 오픈하여 NRT 서비스(또는 콘텐트)를 구성하는 파일들, 및 상기 파일들의 시그널링 정보를 서술하는 FDT(File Delivery Table)를 수신할 수 있다. 상기 FDT는 모든 콘텐트 아이템들의 리스트들을 전달하는데 사용되고, 또한 콘텐트 아이템 및 콘텐트 아이템에 포함된 파일들을 획득하는데 필요한 정보들을 제공한다.
일 예로, 콘텐트 아이템을 구성하는 각 파일은 FLUTE 세션의 FDT에 명시된 Content-Location를 이용하여 식별할 수 있다. 상기 Content-Location는 해당 파일을 식별할 수 있는 식별자를 표시하며, anyURI(Uniform Resource Identifier) 형태이다. 즉, 상기 Content-Location 값은 파일 이름을 포함하는 위치자이다.
이때 FDT의 파일 레벨 또는 인스턴스 레벨별로 해당 콘텐트 아이템을 식별하는 content linkage가 할당될 수 있다. 이 경우, 각 파일은 FLUTE 세션의 FDT에 명시된 content linkage, TOI, 및 Content-Location 값을 이용하여 식별할 수 있다. 여기서, content linkage는 콘텐트 아이템을 식별할 수 있는 식별자이고, TOI(Transfer Object Identifier)는 FLUTE 세션을 통해 전송되는 트랜스포트 오브젝트 즉, 파일을 식별할 수 있는 식별자이다. 일 예로, 상기 TOI 값이 0이면, 그 파일은 FDT이다. 즉, 콘텐트 아이템을 구성하는 각 파일의 TOI 값은 0보다 큰 값을 가진다.
한편 본 발명에 따른 하나의 NRT 서비스는 도 2에서와 같이 하나 이상의 콘텐트 아이템(또는 콘텐트 또는 NRT 콘텐트라 함)를 포함하고, 하나의 콘텐트 아이템은 하나 이상의 파일을 포함한다고 하였다.
그리고 상기 콘텐트 아이템에 포함되는 파일들은 FLUTE 세션을 통해 NRT로 제공된다. 그런데 상기 콘텐트 아이템에 포함된 파일들이 FLUTE 세션뿐만 아니라, 인터넷으로도 제공될 수도 있다. 즉, NRT 서비스를 구성하는 콘텐트 아이템은 모두 FLUTE 세션을 통해 NRT로 제공되며, 이 중 적어도 하나의 콘텐트 아이템에 속한 모든 파일들이 인터넷으로 제공될 수도 있다.
따라서 본 발명은 콘텐트 아이템이 인터넷으로 제공되는지를 알 수 있는 지시 정보를 시그널링 정보 테이블에 필드 형태로 시그널링하는 것을 일 실시예로 한다. 본 발명은 상기 지시 정보 필드를 설명의 편의를 위해 available_on_internet 필드라 하기로 한다.
상기 시그널링 정보 테이블은 NST와 NRT-IT를 포함하며, 본 발명은 NRT-IT에 available_on_internet 필드를 할당하고, 상기 available_on_internet 필드에 해당 콘텐트 아이템이 인터넷으로 제공되는지 여부를 표시하는 것을 일 실시예로 한다.
또한 본 발명은 인터넷으로 제공 가능한 콘텐트 아이템의 경우, 상기 콘텐트 아이템에 속한 각 파일에 대응하는 FLUTE FDT 내 Content_Location 어트리뷰트는 그 파일의 인터넷 어드레스를 포함하도록 하는 것을 일 실시예로 한다.
NRT 정보 테이블(NRT-IT)
도 14와 도 15는 본 발명에 따른 콘텐트 아이템이 인터넷으로 제공되는지 여부를 지시하는 available_on_internet 필드를 포함하는 NRT-IT 섹션에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다.
본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
본 발명에 따른 NRT 서비스 시그널링 데이터 중 NRT-IT는 콘텐트 아이템을 방송 수신기에 저장하기 위해, 다운로드 가능한 콘텐트 아이템을 기술하는 정보를 포함한다.
이때, 하나의 NRT-IT 가 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 NRT-IT 섹션 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 그리고 상기 NRT 서비스 시그널링 채널의 IP 데이터그램들의 IP 헤더와 UDP 헤더를 제거한 후 동일한 테이블 식별자를 갖는 섹션들을 모으면 해당하는 테이블을 완성할 수 있다. 예를 들어, NRT-IT 에 할당된 테이블 식별자를 갖는 섹션들을 모으면 NRT-IT 를 완성할 수 있다.
도 14와 도 15에 도시된 NRT-IT 섹션의 각 필드의 상세한 설명은 다음과 같다.
table_id 필드(8-bit)는 NRT-IT 테이블에 속한 테이블 섹션을 식별하기 위한 값을 표시한다.
NRT_service_id 필드(16-bit)는 이 섹션에서 기술하는 콘텐트 아이템을 제공하는 NRT 서비스와 관련된 NRT 서비스 식별자를 명시한다.
NRT_IT_version_number 필드 (5-bit)는 이 NRT-IT 인스턴스의 버전 번호를 표시한다.
current_next_indicator 필드(1-bit)는 NRT-IT 섹션들에 대해 항상 '1'로 셋트된다.
protocol_version 필드(8-bit)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송하는 NRT-IT를 허락하기 위한 프로토콜 버전을 알려준다.
time_span_start 필드(32-bit)는 이 NRT-IT 인스턴스에 의해 커버되는 기간의 시작을 표시한다.
time_span_length 필드(11-bit)는 상기 time_span_start 필드에 의해 지시되는 시간의 시작에서 분을 표시한다.
num_items_in_section 필드(8-bit)는 이 NRT-IT 섹션에 포함되는 콘텐트 아이템의 개수를 표시한다.
이후 상기 num_items_in_section 필드 값에 해당하는 콘텐트 아이템의 개수만큼'for' 루프(또는 콘텐트 아이템 루프라 함)가 수행되어 복수의 콘텐트 아이템에 대한 시그널링 정보를 제공한다. 즉, 상기 NRT_service_id 필드 값에 대응하는 NRT 서비스에 포함되는 콘텐트 아이템별로 해당 콘텐트 아이템의 상세 정보(또는 시그널링 정보)를 표시한다. 이때 각 콘텐트 아이템에 대해 다음과 같은 필드 정보를 제공할 수 있다.
content_linkage 필드(32-bit)는 해당 콘텐트 아이템을 식별하는 식별자를 표시한다.
updates_available field (1비트)는 해당 콘텐트 아이템이 업데이트되는 콘텐트 아이템인지를 지시한다. 예를 들어, 상기 콘텐트 아이템이 한번 서비스되고 종료되는 NRT 서비스에 포함된 콘텐트 아이템이라면, updates_available field 값은'0'으로 설정된다. 만일 상기 콘텐트 아이템이 한번 이상 업데이트되는 콘텐트 아이템이라면, 상기 updates_available field 값은 '1'로 설정된다.
TF_available field is Boolean flag, this field specifies, when set to '1' that a Text Fragment is present in a Text Fragment Table in the service signaling channel. When the field is set to '0,' no Text Fragment is included in the service signaling channel for this content item.
low_latency field is Boolean flag, this field specifies, when set to '1,' that the content is available within the current digital transport with a low enough latency that its retrieval should be attempted while the user waits. When the field is set to '0', retrieval latency is longer and the user interface should suggest to the user to return later for viewing.
available_on_internet 필드(1 비트)는 해당 콘텐트 아이템이 인터넷으로 제공되는지 여부를 지시한다. 즉, 해당 콘텐트 아이템의 파일들이 인터넷으로도 억세스될 수 있는지 여부를 지시한다. 예를 들어, 상기 콘텐트 아이템이 인터넷으로도 제공되면, 상기 available_on_internet 필드 값은 '1'로 설정되고, 인터넷으로는 제공되지 않는다면 '0'으로 설정된다. 이때, 상기 available_on_internet 필드 값이 '1'로 설정된 콘텐트 아이템의 FLUTE FDT 내 파일들의 URI 값은 인터넷 어드레스를 포함한다. 다시 말해, 상기 콘텐트 아이템에 속한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트는 그 파일의 인터넷 URL(Uniform Resource Locator)을 지시한다.
playback_length_in_seconds 필드(20-bit)는 해당 콘텐트 아이템의 재생 기간을 초 단위로 표시한다.
content_length_included field is Boolean flag, this field indicates, when set to '1,' that the content_length field is present in this iteration of the "for" loop. Setting this field to '0' indicates the content_length field is not present in this iteration of the "for" loop.
playback_delay_included field is Boolean flag, this field indicates, when set to '1,' that the playback_delay field is present in this iteration of the "for" loop. Setting this field to '0' indicates the playback_delay field is not present in this iteration of the "for" loop.
expiration_included field is Boolean flag, this field indicates, when set to '1,' that the expiration field is present in this iteration of the "for" loop. Setting this field to '0' indicates the expiration field is not present in this iteration of the "for" loop.
duration field (12-bit) in the range 1 to 2880 specifies the expected cycle time, in minutes, of the carousel containing the referenced content item. A broadcast receiver is expected to use the duration parameter to determine the amount of time needed to capture the referenced content.
content_length field (40-bit), when present, represents the total size in bytes of the content item or items. This item is used by the broadcast receiver to determine if enough memory is available to store it before downloading is attempted.
playback_delay field (20-bit) counts of the number of seconds following reception of the first byte of the associated content the broadcast receiver waits before playback may start, while buffering the incoming stream. A value of zero indicates playback may commence immediately. When playback_delay field is not provided, the broadcast receiver is expected to retrieve the complete file or file set prior to playback.
expiration 필드(32-bit)는 해당 콘텐트의 만료 시간(expiration time)을 표시한다.
content_name_length 필드(8-bit)는 다음에 위치한 content_name_text() 필드의 길이를 표시한다.
content_name_text() 필드는 해당 콘텐트 아이템의 타이틀을 표시한다.
content_descriptors_length 필드(12-bit)는 다음에 위치한 content_descriptor ()의 총 길이를 표시한다.
content_descriptor()는 해당 콘텐트 아이템에게만 적용되는 부가 정보를 기술한다.
descriptors_length 필드(10-bit)는 다음에 위치한 디스크립터()의 총 길이를 표시한다.
descriptor()는 현재 NRT-IT 섹션에서 기술되는 모든 콘텐트 아이템에 공통으로 적용되는 부가 정보를 기술한다.
즉, 방송 수신기에서 상기 NRT-IT의 콘텐트 아이템 루프 내 available_on_internet 필드 값이 '1'로 설정된 콘텐트 아이템을 인터넷으로 제공받기 위해서는 상기 콘텐트 아이템을 구성하는 각 파일의 인터넷 접속 정보가 필요하다.
본 발명은 이를 위해, 상기 NRT-IT의 콘텐트 아이템 루프 내 available_on_internet 필드 값이 '1'로 설정된 콘텐트 아이템에 속한 FLUTE FDT 내 각 파일의 Content_Location 어트리뷰트는 해당 파일의 인터넷 어드레스를 포함하도록 한다.
도 16과 도 17은 본 발명에 따른 FDT XML(eXtensible Markup Language) 스키마의 일 예를 보인 도면이다.
도 16과 도 17을 따르면, FDT (또는 FDT 인스턴스)에서 선언된 모든 파일에 공통으로 어트리뷰트를 정의할 필요가 있는 경우에는 FDT 인스턴스 레벨에서 정의하고, 각 파일에 개별적으로 어트리뷰트를 정의할 필요가 있는 경우에는 FDT 파일 레벨에서 정의한다.
도 16과 도 17에서 1 번으로 표시된 부분은 FDT 인스턴스 레벨에서 content linkage를 선언하는 것으로, 여기에서 선언된 content linkage는 해당 FDT 인스턴스 내에서 선언된 모든 파일(file)에 부여된다. 물론 파일 레벨(File level)에서 content linkage를 새롭게 부여함으로써 이 정보를 오버라이드(override) 할 수도 있다. 또는 특정 파일이 FDT 인스턴스 레벨에 정의된 콘텐트 아이템이 아닌 다른 콘텐트 아이템에도 속한다면 파일 레벨에서 content linkage를 부여하여 알려줄 수도 있다.
2번으로 표시된 부분은 파일 레벨에서 content linkage를 선언하는 것으로 FDT 인스턴스 내에 포함된 파일이 서로 다른 콘텐트 아이템에 속할 경우 이 방법을 이용해 각 파일이 어느 콘텐트 아이템에 속하는 지를 시그널링 한다.
3번으로 표시된 부분은 각 파일에 대해 해당 파일이 엔트리 파일(entry file)인지 여부를 알려주기 위한 방법이다. 즉, 콘텐트 아이템을 구성하는 여러 개의 파일들 중에서 가장 먼저 재생하거나 콘텐트 아이템을 접근하기 위해 반드시 먼저 실행해야 하는 루트 파일(root file)에 해당하는 파일을 엔트리 파일이라고 한다. entry 어트리뷰트(attribute)는 생략이 가능하며, 기본 값은 false이고 생략되어 있는 경우 해당 파일은 엔트리 파일이 아님을 의미한다.
이렇게 파일 레벨에서 그 파일이 속하는 그룹에 따라 엔트리 여부를 각각 시그널링 해줌으로써 특정 파일이 특정 그룹에서는 엔트리 역할을 수행하고 또 다른 그룹에서는 그렇지 않을 수 있다.
그리고 상기 2번으로 표시된 파일 레벨에서, 하나의 파일 엘레먼트는 하나 이상의 어트리뷰트(attribute)를 사용하여 추가 정보를 제공한다. 도 16과 도 17에서, 하나의 파일 엘레먼트는 Content-Location, TOI, Content-Length, Transfer-Length, Content-Type, Content-Encoding, Content-MD5, FEC-OTI-FEC-Encoding-ID, FEC-OTI-FEC-Instance-ID, FEC-OTI-Maximum-Source-Block-Length, FEC-OTI-Encoding-Symbol-Length, FEC-OTI-Max-Number-of-Encoding-Symbols 어트리뷰트를 사용하여, 해당 파일의 위치 정보, TOI, 길이 정보, 타입 정보, 인코딩 정보 등을 제공한다.
본 발명은 도 16과 도 17의 파일 엘레먼트가 인터넷으로 제공 가능한 콘텐트 아이템에 속한 파일이라면, 4번으로 표시된 Content-Location 어트리뷰트 값이 반드시 인터넷 어드레스를 포함하도록 한다. 일 예로, 상기 콘텐트 아이템에 속한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트는 그 파일의 인터넷 URL을 표시한다. 즉, 이 경우 Content-Location 어트리뷰트는 그 파일의 타입을 '인터넷 URL'로 제한한다.
또한 본 발명에 따른 방송 수신기는 NRT-IT의 콘텐트 아이템 루프 내 available_on_internet 필드 값이 '1'로 설정된 경우, 해당 콘텐트 아이템은 인터넷으로 제공받을 수 있음을 유저가 알 수 있도록 하는 것을 일 실시예로 한다. 그리고 해당 콘텐트 아이템을 인터넷으로 제공받을지, FLUTE 세션을 통해 NRT로 다운로드받을지를 유저가 선택할 수 있도록 하는 것을 일 실시예로 한다.
도 18의 (a)와 (b)는 본 발명에 따른 서비스 정보 테이블, 예를 들어 NST와 NRT-IT를 이용하여 방송 수신기에서 구현할 수 있는 UI(user interface) 화면 구성의 일 예를 보이고 있다.
도 18의 (a)는 NST, NRT-IT 등을 이용하여 구성된 NRT 서비스 가이드 화면의 일 예를 보이고 있다.
도 18의 (a)는 콘텐트 아이템 단위로 NRT 서비스 가이드 화면이 구성된 예이다. 다른 예로, NRT 서비스 단위로 서비스 가이드 화면이 구성될 수도 있다.
도 18의 (a)의 콘텐트 아이템 1,2,3,4는 유저가 쉽게 인식할 수 있는 이름으로 표시하는 것을 일 실시예로 한다.
이때 상기 콘텐트 아이템들 중 available_on_internet 필드 값이 '1'인 콘텐트 아이템의 이름 옆(또는 위, 아래 등)에 문자나 아이콘을 이용하여 해당 콘텐트 아이템은 인터넷으로 제공 가능함을 표시하는 것을 일 실시예로 한다. 또는 컬러를 이용하여 해당 콘텐트 아이템은 인터넷으로 제공 가능함을 표시할 수도 있다. 도 18의 (a)는 콘텐트 아이템 2가 인터넷으로도 제공 가능할 때의 일 예이다.
도 18의 (a)와 같은 서비스 가이드 화면에서 유저가 리모콘, 키보드, 마우스, 터치 등과 같은 입력 수단을 이용하여 상기 콘텐트 아이템 2에 표시된 인터넷으로 제공 가능함을 지시하는 문자나 아이콘을 클릭하면, 바로 인터넷에 접속하여 해당 파일들을 다운로드할 수도 있고, 도 18의 (b)와 같은 선택 메시지를 디스플레이할 수도 있다.
도 18의 (b)는 '콘텐트 아이템 2를 인터넷으로 제공받겠습니까?'라는 선택 메시지와 '예', '아니오'와 같은 메뉴 버튼을 디스플레이한 예이다.
이때 유저가 리모콘, 키보드, 마우스, 터치 등과 같은 입력 수단을 이용하여 '예'라는 메뉴 버튼을 선택하면 상기 콘텐트 아이템 2에 포함된 파일들의 접속 정보를 기술하고 있는, FLUTE FDT의 해당 파일들의 URI 값을 읽어온다. 이때 상기 파일들의 URI 값은 각각 인터넷 URL을 포함하고 있다. 예를 들어, 상기 콘텐트 아이템 2에 3개의 파일이 포함된다면, 3개의 파일의 URI 값은 각각 해당 인터넷 URL를 포함하고 있다. 즉, 상기 FLUTE FDT 내 해당 파일들의 인터넷 URL 값은 Contnet-Location 어트리뷰트를 읽으면 알 수 있다.
그리고 콘텐트 아이템 2에 속하는 3개의 파일의 인터넷 URL 값으로 인터넷 접속을 수행하여 콘텐트 아이템 2에 속한 3개의 파일들을 직접 다운로드한다. 이때 상기 콘텐트 아이템2의 파일들이 다운로드되기 전 또는 다운로드된 후에 해당 콘텐트 아이템의 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 다운로드가 완료되면 해당 콘텐트 아이템을 바로 디스플레이(또는 실행)할 수도 있고, 저장 매체에 저장한 후 유저의 요청에 따라 디스플레이(또는 실행)하게 할 수도 있다.
예를 들어, 콘텐트 아이템 1은 정치 뉴스, 콘텐트 아이템 2는 생활 뉴스, 콘텐트 아이템 3는 경제 뉴스라고 가정하자. 그리고 생활 뉴스가 3개의 파일로 구성되어 있다고 가정하자. 이 경우 생활 뉴스에 속하는 3 파일의 인터넷 URL 값은 FLUTE FDT의 해당 파일의 Contnet-Location 어트리뷰트로부터 획득한다. 그리고 이렇게 획득한 3 파일의 각 인터넷 URL을 기반으로 인터넷 접속을 수행하여, 생활 뉴스를 구성하는 3개의 파일을 직접 다운로드한다. 이때 유저가 바로 실행을 선택하였다면, 3개의 파일의 다운로드가 완료됨과 동시에 생활 뉴스가 바로 실행된다. 또한 유저가 저장을 선택하였다면, 상기 생활 뉴스를 저장 매체에 저장한 후, 유저의 요청에 따라 나중에 실행된다.
이와 같이 콘텐트 아이템이 인터넷을 통해 제공되는 경우, 실시간으로 해당 콘텐트 아이템을 다운로드하여 실행시킬 수 있다. 예를 들어, 현재 시간이 오전 9시이고, 상기 생활 뉴스가 FLUTE 세션을 통해 NRT로 다운로드 가능한 시간은 오후 10시라고 가정할 때, 인터넷 접속을 통해서는 오전 9시에도 생활 뉴스를 시청할 수 있게 된다. 즉, 오후 10시까지 기다리지 않고 그 이전에 생활 뉴스를 다운로드할 수 있다.
만일 유저가 도 18의 (b)와 같은 화면에서 '아니오'라는 메뉴 버튼을 선택하면, 생활 뉴스를 구성하는 3개의 파일은 오후 10시에 해당 FLUTE 세션을 통해 다운로드되어 저장 매체에 저장된다.
이때, 선택된 콘텐트 아이템 즉, 생활 뉴스를 다운로드받기 전에 다운로드 여부, 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 상기 생활 뉴스를 다운로드가 완료되면 즉시 디스플레이(또는 실행)하게 할 수도 있고, 상기 생활 뉴스를 다운로드하여 저장 매체에 저장한 후, 유저의 요청에 따라 디스플레이(또는 실행)하게 할 수도 있다.
그리고 상기 생활 뉴스가 다운로드 전인지, 다운로드 중인지, 다운로드가 완료되었는지를 인식할 수 있도록 문자, 아이콘, 칼라 등을 콘텐트 아이템 리스트 내 생활 뉴스라는 이름 옆이나 전체 화면의 일부에 표시할 수도 있다. 일 예로, 아이콘을 이용하여 다운로드 전인지, 다운로드 중인지, 다운로드가 완료되었는지를 표시하였다고 가정하였을 때, 다운로드 완료되었음을 의미하는 아이콘이 나타나고, 이 아이콘을 클릭하면 바로 생활 뉴스를 실행시킬 수도 있다.
지금까지는 해당 방송 수신기가 인터넷과 NRT 서비스가 모두 가능하다고 가정하였을 때의 동작 예를 설명하였다.
그런데 해당 방송 수신기가 인터넷이 안된다면, 비록 콘텐트 아이템 2의 콘텐트 아이템 루프 내 available_on_internet 필드 값이 '1'이더라도, 상기 콘텐트 아이템 2는 인터넷으로 제공받을 수 없다.
이 경우 상기 콘텐트 아이템 2의 이름 옆에 해당 콘텐트 아이템이 인터넷으로 제공 가능함을 표시한 문자나 아이콘을 비활성화시킨다. 따라서 유저가 상기 문자나 아이콘을 클릭하더라도 인터넷에 접속할 수 없으므로 콘텐트 아이템2는 다운로드되지 않으며 또한 실행도 되지 않는다. 이때 유저가 이를 인식할 수 있도록 에러 메시지를 디스플레이할 수도 있다. 예를 들어, '이 방송 수신기는 인터넷에 접속할 수 없습니다'와 같은 에러 메시지를 디스플레이할 수 있다.
도 19는 본 발명에 따른 방송 수신기에서 NRT-IT 섹션을 이용하여 비실시간 서비스를 처리하는 방법의 일 실시예를 보인 흐름도이다.
먼저, NRT 서비스 시그널링 채널에 관련된 IP/UDP 패킷들을 수신한다(S1201). 그리고 상기 수신된 IP/UDP 패킷들로부터 NRT-IT섹션을 획득하여 각 필드들을 분석한다(S1202). 여기서 상기 NRT 서비스 시그널링 채널에 포함된 NST와 NRT-IT섹션의 IP 데이터그램들은 동일한 well-known IP 어드레스와 well-known UDP 포트 번호를 가진다. 그러므로, 상기 NRT 서비스 시그널링 채널에 포함된 NRT-IT 섹션의 구분은 테이블 식별자에 의해 이루어진다.
그리고 상기 NRT-IT 섹션으로부터 상기 NRT-IT 섹션에서 서술하는 콘텐트 아이템의 개수(num_items_in_section)를 획득한다(S1203). 상기 S1203 이후의 단계는 상기 획득된 콘텐트 아이템의 개수만큼 반복 수행되어 각 콘텐트 아이템별로 해당 콘텐트 아이템의 상세 정보, 해당 콘텐트 아이템이 인터넷으로 제공되는지 등을 획득하고, 획득된 정보에 따른 동작을 수행한다.
즉, 각 콘텐트 아이템별로 해당 콘텐트 아이템의 식별자(content_linkage), 업데이트 가능 여부(updates_available), TF 가능 여부(TF_available), 대기 가능 여부(low_latency), 인터넷으로 제공 가능 여부(available_on_internet) 등을 획득한다. 이때 상기 available_on_internet 값이 '1'이면, 해당 콘텐트 아이템에 속한 파일들이 인터넷 접속을 통해서도 다운로드 가능함을 지시한다.
그러므로 상기 S1204에서 획득한 available_on_internet 필드 값에 따라 해당 콘텐트 아이템을 구성하는 파일들은 인터넷을 통해 직접 다운로드받을 수도 있고, 기 설정된 시간에 FLUTE 세션을 통해 NRT로 다운로드받을 수도 있다.
만일, 상기 S1204에서 획득한 available_on_internet 필드 값이 해당 콘텐트 아이템은 인터넷으로 제공 가능하다고 지시하는 경우, FLUTE FDT를 읽어 해당 콘텐트 아이템을 구성하는 각 파일의 인터넷 URL 값을 획득한다(S1206). 여기서 상기 인터넷 URL 값은 FLUTE FDT의 해당 콘텐트 아이템을 구성하는 각 파일의 Content-Location 어트리뷰트로부터 획득할 수 있다.
그리고 상기 각 파일의 인터넷 URL 값을 기반으로 인터넷 접속을 수행하여 해당 파일들을 직접 다운로드한다(S1207). 이때 상기 파일들을 다운로드하기 전에 유저에게 해당 콘텐트 아이템은 인터넷으로 제공 가능함을 문자나 아이콘 등을 이용하여 알릴 수 있다. 또한 상기 파일들이 다운로드되기 전 또는 다운로드된 후에 해당 콘텐트 아이템의 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 상기 파일들의 다운로드가 완료되면 해당 콘텐트 아이템을 바로 디스플레이(또는 실행)할 수도 있고, 저장 매체에 저장한 후 유저의 요청에 따라 디스플레이(또는 실행)하게 할 수도 있다.
만일, 상기 S1204에서 획득한 available_on_internet 필드 값이 해당 콘텐트 아이템은 인터넷으로 제공하지 않는다고 지시하는 경우, 기 설정된 시간에 해당 FLUTE 세션을 통해 상기 콘텐트 아이템에 속한 파일들을 다운로드하여 저장 매체에 저장한다(S1208). 즉, 방송망을 통해 상기 콘텐트 아이템에 속한 파일들을 다운로드한다. 이때 상기 파일들을 다운로드받기 전에 다운로드 여부, 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 해당 콘텐트에 속한 파일들의 다운로드가 완료되면 즉시 디스플레이(또는 실행)하게 할 수도 있고, 상기 파일들을 다운로드하여 저장 매체에 저장한 후, 유저의 요청에 따라 해당 콘텐트 아이템을 디스플레이(또는 실행)하게 할 수도 있다.
상기 S1207 또는 S1208이 수행되어 해당 콘텐트 아이템을 인터넷 접속을 통해 다운로드할지, FLUTE 세션을 통해 다운로드할지가 결정되면, 상기 S1203에서 획득한 num_items_in_section 필드 값에서 1을 뺀 후(S1209), 상기 num_items_in_section 필드 값이 0인지를 확인한다(S1210). 만일 상기 num_items_in_section 필드 값이 0이 아니면, 상기 S1204로 되돌아가 다음 콘텐트 아이템에 대한 다운로드를 결정한다. 그리고 상기 S1210에서 상기 num_items_in_section 필드 값이 0이면 상기 NRT-IT 섹션에 포함된 콘텐트 아이템의 다운로드가 모두 결정되었으므로 콘텐트 아이템의 처리 과정을 종료한다.
한편, 하나의 콘텐트 아이템이 복수개의 파일로 구성된다고 가정할 때, 상기 콘텐트 아이템에 속하는 모든 파일들이 인터넷으로 제공될 수도 있고, 일부 파일만 인터넷으로 제공될 수도 있으며, 모든 파일이 인터넷으로 제공되지 않을 수도 있다.
본 발명은 NRT-IT 내 available_on_internet 필드 값에 2비트를 할당하고, 해당 콘텐트 아이템의 각 상태를 구분할 수 있도록 하는 것을 일 실시예로 한다.
도 20과 도 21은 본 발명에 따른 콘텐트 아이템에 속한 파일들이 인터넷으로 제공되는지 여부를 지시하는 available_on_internet 필드를 포함하는 NRT-IT 섹션에 대한 비트 스트림 신택스 구조의 다른 실시예를 보인 도면이다.
도 20과 도 21의 NRT-IT에서 available_on_internet 필드를 제외한 나머지 필드는 도 14와 도 15의 NRT-IT를 참조하면 되므로, 여기서는 상세 설명을 생략하기로 한다.
즉, 도 20과 도 21의 NRT-IT에서 콘텐트 아이템 루프 내 available_on_internet 필드(2 비트)는 해당 콘텐트 아이템에 속하는 모든 파일들이 인터넷으로 제공되는지, 일부 파일만 인터넷으로 제공되는지, 인터넷으로 제공 가능한 파일이 하나도 없는지를 지시한다.
도 22는 본 발명에 따른 available_on_internet 필드에 할당되는 값 및 그 값의 의미의 예를 보이고 있다.
예를 들어, 상기 available_on_internet 필드 값이 '00'이면 해당 콘텐트 아이템에 속하는 파일들 중 인터넷으로도 제공 가능한 파일은 하나도 없음을 지시한다. 이 경우 해당 콘텐트 아이템에 속하는 파일들은 FLUTE 세션을 통해 NRT로만 다운로드 가능하다.
상기 available_on_internet 필드 값이 '01'이면 해당 콘텐트 아이템에 속하는 파일들 중 일부 파일들만 인터넷으로도 제공 가능함을 지시한다.
상기 available_on_internet 필드 값이 '10'이면 해당 콘텐트 아이템에 속하는 모든 파일들이 인터넷으로도 제공 가능함을 지시한다. 상기 available_on_internet 필드 값이 '10'일 때는 전술한 도 16 내지 도 19의 설명을 그대로 적용하는 것을 일 실시예로 한다.
도 22에서, 상기 available_on_internet 필드에 할당되는 값 및 그 값의 의미는 본 발명의 이해를 돕기 위한 실시예들이며, 상기 available_on_internet 필드에 포함되는 의미의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다.
만일, 상기 available_on_internet 필드 값이 01이면, 방송 수신기에서는 해당 콘텐트 아이템에 속하는 파일들 중 인터넷으로도 제공 가능한 파일들을 알아야 인터넷 접속을 통해 해당 파일을 다운로드할 수 있다.
본 발명은 해당 콘텐트 아이템에 속한 파일들 중 인터넷으로 제공 가능한 일부 파일들의 정보는 해당 콘텐트 아이템 루프에 디스크립터 형태로 시그널링하는 것을 일 실시예로 한다. 본 발명은 이 디스크립터를 설명의 편의를 위해 인터넷 가능 파일 디스크립터 internet_availbale_file_descrptor()라 하기로 한다. 즉, 상기 인터넷 가능 파일 디스크립터 internet_availbale_file_descrptor()는 NRT-IT의 콘텐트 레벨 디스크립터 중 하나로 제공된다.
도 23은 본 발명에 따른 인터넷 가능 파일 디스크립터 internet_availbale_file_descrptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면이다.
상기 인터넷 가능 파일 디스크립터 internet_availbale_file_descrptor()의 각 필드에 대한 설명은 다음과 같다.
즉, descriptor_tag 필드(8비트)는 디스크립터 식별자로서, 인터넷 가능 파일 디스크립터 internet_availbale_file_descrptor()를 식별하는 식별자가 설정될 수 있다.
descriptor_length 필드(8비트)는 상기 descriptor_length 필드 이후부터 이 descriptor의 끝까지, 디스크립터의 나머지 길이를 byte 단위로 나타낸다.
num_internet_available_files 필드(8 비트)는 해당 콘텐트 아이템에 포함되는 파일들 중 인터넷으로도 제공 가능한 파일들의 개수를 표시한다.
이후 상기 num_internet_available_files 필드 값에 해당하는 파일의 개수만큼'for' 루프(또는 인터넷 가능 파일 루프라 함)가 수행되어 인터넷으로도 제공 가능한 각 파일에 대한 식별 정보를 제공한다.
이를 위해 상기 인터넷 가능 파일 루프는 TOI 필드를 포함한다.
상기 TOI 필드(32 비트)는 FLUTE 세션을 통해 전송되는 해당 파일의 식별자를 표시한다.
즉, 상기 TOI 필드 값과 매칭되는 파일들은 인터넷으로도 억세스가 가능하다. 그리고 해당 파일에 대한 인터넷 URL 값은 도 16, 도 17에서와 같이 FLUTE FDT 내에서 동일한 TOI 어트리뷰트에 해당하는 파일의 Content-Location 어트리뷰트로부터 획득한다.
만일, 하나의 콘텐트 아이템을 구성하는 파일들 중 일부 파일이 인터넷으로도 제공 가능할 경우, 인터넷으로 제공 가능한 파일들의 인터넷 접속 정보가 필요하다. 이때에도 본 발명은 인터넷으로 제공 가능한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트는 그 파일의 인터넷 URL 값을 지시하는 것을 일 실시예로 한다. 즉, 이 경우에도 상기 Content-Location 어트리뷰트는 그 파일의 타입을 '인터넷 URL'로 제한한다.
그리고 본 발명에 따른 방송 수신기는 NRT-IT의 콘텐트 아이템 루프 내 available_on_internet 필드 값에 따라 해당 콘텐트 아이템 또는 해당 파일이 인터넷으로도 제공받을 수 있음을 유저가 알 수 있게 할 수도 있다. 또한 특정 콘텐트 아이템의 다운로드 여부를 유저가 선택하게 할 수도 있다.
상기 available_on_internet 필드 값이 '00'이거나 '10'일 때는 도 16 내지 도 19의 설명을 참조하기로 하고, 여기서는 생략한다.
상기 available_on_internet 필드 값이 '01'일 때는 해당 콘텐트 아이템 내 인터넷으로도 제공 가능한 파일은 인터넷 접속을 통해 미리 다운로드받아 저장 매체에 저장하고, 인터넷으로 제공되지 않는 나머지 파일은 기 설정된 시간에 FLUTE 세션을 통해 다운로드받아 저장 매체에 저장할 수 있다. 또는 기 설정된 시간에 FLUTE FDT 세션을 통해 해당 콘텐트에 속한 파일들을 모두 다운로드하여 저장 매체에 저장할 수도 있다.
도 24의 (a) 내지 (c)는 본 발명에 따른 서비스 정보 테이블, 예를 들어 NST와 NRT-IT를 이용하여 방송 수신기에서 구현할 수 있는 UI(user interface) 화면 구성의 다른 예를 보이고 있다.
도 24의 (a)는 NST, NRT-IT 등을 이용하여 구성된 NRT 서비스 가이드 화면의 일 예를 보이고 있다.
도 24의 (a)는 콘텐트 아이템 단위로 NRT 서비스 가이드 화면이 구성된 예이다. 다른 예로, NRT 서비스 단위로 서비스 가이드 화면이 구성될 수도 있다.
도 24의 (a)의 콘텐트 아이템 1,2,3,4는 유저가 쉽게 인식할 수 있는 이름으로 표시하는 것을 일 실시예로 한다.
도 24의 (a)와 같은 서비스 가이드 화면에서 특정 콘텐트 아이템 예를 들어, 콘텐트 아이템 2가 선택된다면, 선택된 콘텐트 아이템 2에 포함되는 파일들의 리스트가 디스플레이된다.
도 24의 (b)는 콘텐트 아이템 2에 3개의 파일(1,2,3)이 포함된다고 가정할 때의 파일 리스트 화면의 일 예를 보이고 있다.
이때 본 발명은 콘텐트 아이템 2에 속한 파일들 중 파일 3가 인터넷으로도 제공 가능하다고 가정한다. 이 경우 파일 3의 이름 옆(또는 위, 아래 등)에 문자나 아이콘을 이용하여 해당 파일은 인터넷으로도 제공 가능함을 표시하는 것을 일 실시예로 한다. 또는 컬러를 이용하여 해당 파일은 인터넷으로 제공 가능함을 표시할 수도 있다.
그리고 유저가 리모콘, 키보드, 마우스, 터치 등과 같은 입력 수단을 이용하여 상기 파일 3 이름 옆에 표시된 인터넷으로 제공 가능함을 지시하는 문자나 아이콘을 클릭하면, 도 24의 (c)와 같은 선택 메시지를 디스플레이할 수 있다. 본 발명은 상기 파일 3이란 이름을 클릭해도 도 24의 (c)와 같은 선택 메시지를 디스플레이하게 할 수도 있다.
도 24의 (c)는 '파일 3을 인터넷으로 제공받겠습니까?'라는 선택 메시지와 '예', '아니오'와 같은 메뉴 버튼을 디스플레이한 예이다.
이때 유저가 리모콘, 키보드, 마우스, 터치 등과 같은 입력 수단을 이용하여 '예'라는 메뉴 버튼을 선택하면 상기 파일 3에 대응하는 FLUTE FDT의 URI 값을 읽어온다. 이때 상기 파일 3의 URI 값은 인터넷 URL을 포함하고 있다. 즉, 상기 파일 3의 인터넷 URL 값은 FLUTE FDT 내 파일 3의 Contnet-Location 어트리뷰트를 읽으면 알 수 있다.
그리고 파일 3의 인터넷 URL 값으로 인터넷 접속을 수행하여 파일 3을 직접 다운로드한다.
만일 유저가 도 24의 (c)와 같은 화면에서 '아니오'라는 메뉴 버튼을 선택하면, 파일 3은 기 설정된 시간에 파일1,2와 함께 해당 FLUTE 세션을 통해 다운로드되어 저장 매체에 저장된다.
한편 지금까지는 Fixed NRT 서비스에 적용되는 콘텐트 아이템 및/또는 파일의 처리 방법에 대해 설명하였다. 본 발명은 Mobile NRT 서비스에도 적용할 수 있어야 한다.
본 발명에 따른 Mobile NRT 서비스를 위한 시그널링 정보 테이블로는 서비스 맵 테이블(SMT)이 있다.
상기 SMT는 모바일 방송에 포함되어 수신되는 실시간 서비스 또는 비실시간 서비스 및 각 서비스에 포함된 콤포넌트(또는 콘텐트 아이템)의 접속 정보를 제공한다. 상기 SMT는 Fixed NRT 서비스의 NST에 대응되는 시그널링 정보 테이블이다. 만일 모바일 방송에 포함된 서비스가 NRT 서비스이면, 상기 SMT로부터 NRT 서비스를 구성하는 콘텐트 아이템/파일들을 전송하는 FLUTE 세션의 접속 정보를 포함하는 시그널링 정보를 추출할 수 있다. 그리고 OMA BCAST 서비스 가이드(SG) 정보로부터 상기 NRT 서비스를 구성하는 콘텐트 아이템들의 상세 정보를 추출할 수 있다. 즉, Mobile NRT 서비스를 위한 시그널링은 SMT(Service Map Table)와 OMA BCAST SG를 이용하는 것을 일 실시예로 한다.
본 발명에 따른 Mobile NRT 서비스에서는 OMA BCAST의 SG 콘텐트 프래그먼트의 PrivateExt 영역에 부울 대수값(Boolean-valued)인,"AvailableOnInternet" element를 할당하는 것을 일 실시예로 한다. 상기 "AvailableOnInternet" element는 Fixed NRT 서비스의 available_on_internet 필드와 동일한 시멘틱스(semantics)를 갖는다.
도 25는 본 발명에 따른 OMA BCAST의 SG 콘텐트 프래그먼트에 "AvailableOnInternet" element를 할당하는 예를 보이고 있다. 즉, 상기 "AvailableOnInternet" element 는 SG 콘텐트 프래그먼트의 PrivateExt 영역에 포함된다. 상기 "AvailableOnInternet" element는 AvailableOnInternetType으로 표현된다. 상기 AvailableOnInternetType은 restriction base가 boolean인 것을 일 실시예로 한다. 상기 AvailableOnInternetType은 simpleType 이름으로 AvailableOnInternetType을 가진다.
즉, Mobile NRT에서는, 콘텐트 아이템이 인터넷으로도 제공되는지의 확인을 OMA BCAST의 SG 콘텐트 프래그먼트에 할당된 "AvailableOnInternet" element를 이용한다.
상기 "AvailableOnInternet" element가 해당 콘텐트 아이템이 인터넷으로도 제공 가능하다고 지시하는 경우, 상기 콘텐트 아이템에 속한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트는 그 파일의 인터넷 URL을 표시한다. 즉, 이 경우 Content-Location 어트리뷰트는 그 파일의 타입을 '인터넷 URL'로 제한한다.
또한 본 발명에 따른 모바일 방송 수신기는 상기 "AvailableOnInternet" element가 해당 콘텐트 아이템이 인터넷으로도 제공 가능하다고 지시하는 경우, 해당 콘텐트 아이템은 인터넷으로 제공받을 수 있음을 유저가 알 수 있도록 하는 것을 일 실시예로 한다. 그리고 해당 콘텐트 아이템을 인터넷으로 제공받을지, FLUTE 세션을 통해 NRT로 다운로드받을지를 유저가 선택할 수 있도록 하는 것을 일 실시예로 한다. 그리고 모바일 NRT 서비스에서 설명되지 않은 부분은 도 16 내지 도 19의 설명을 따른다.
도 26은 본 발명에 따른 Fixed NRT 서비스를 위한 방송 수신기의 일 실시예를 보인 구성 블록도이다.
도 26의 방송 수신기는 오퍼레이션 제어기(100), 베이스밴드 처리부(110), 서비스 역다중화기(120), 스트림 콤포넌트 핸들러(130), 미디어 핸들러(140), 파일 핸들러(150), 서비스 매니저(160), PVR 매니저(170), 제1 저장부(180), SG 핸들러(190), EPG 핸들러(200), NRT 서비스 매니저(210), 어플리케이션 매니저(220), 미들웨어 엔진(230), 프리젠테이션 매니저(240), 및 UI(User Interface) 매니저(250), 인터넷 네트워크 인터페이스(260)를 포함할 수 있다.
상기 베이스밴드 처리부(110)는 튜너(111)와 복조기(112)를 포함할 수 있다. 상기 서비스 역다중화기(120)는 MPEG-2 TP 핸들러(121), PSI/PSIP 핸들러(122), MPEG-2 TP 역다중화기(123), 디스크램블러(124), 및 제2 저장부(125)를 포함할 수 있다.
상기 스트림 콤포넌트 핸들러(130)는 PES(Packetized Elementary Stream) 복호기(131), ES(Elementary Stream) 복호기(132), PCR 핸들러(133), STC 핸들러(134), DSM-CC 어드레서블 섹션 핸들러(135), IP 데이터그램 핸들러(136), 디스크램블러(137), UDP 핸들러(138), 서비스 시그널링 섹션 핸들러(138-1), 및 CAS(Conditional Access System(139)을 포함할 수 있다.
상기 미디어 핸들러(140)는 A/V 복호기(141)를 포함할 수 있다. 상기 파일 핸들러(150)는 ALC/LCT 스트림 핸들러(151), 파일 재건(reconstruction) 버퍼(152), XML 파서(153), FDT 핸들러(154), 디콤프레서(155), 및 제3 저장부(156), 및 파일 디코더(157)를 포함할 수 있다.
이와 같이 구성된 도 26에서, 튜너(111)는 예를 들면, 지상파를 통해 수신되는 방송 신호 중 원하는 채널의 방송 신호를 서비스 매니저(160)의 제어에 의해 튜닝하여 중간주파수(IF : Intermediate Frequency) 신호로 다운 컨버전하여 복조기(112)로 출력한다. 상기 튜너(111)는 실시간 스트림과 비실시간 스트림을 수신할 수 있다. 본 발명에서 비실시간 스트림은 NRT 스트림이라 하기로 한다.
상기 복조기(112)는 튜너(111)로부터 입력되는 통과대역의 디지털 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 변환하고, 채널 등화를 수행한다. 예를 들어, 상기 방송 신호가 VSB 변조 신호인 경우 VSB 복조 과정을 수행하여 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행한다. 상기 복조기(112)에서 복조 및 채널 등화된 데이터는 MPEG-2 TS(Transport Stream) 패킷 형태로 상기 MPEG-2 TP 핸들러(121)로 출력된다.
상기 MPEG-2 TP(Transport Stream Packet) 핸들러(121)는 MPEG-2 TP 버퍼와 MPEG-2 TP 파서로 구성되며, 상기 복조기(112)의 출력을 일시 저장한 후 TS 헤더를 분석하여, 상기 복조기(112)의 출력이 실시간용 A/V TS 패킷이거나, NRT TS 패킷이면 역다중화기(123)로 출력하고, PSI/PSIP 테이블용 TS 패킷이면 PSI/PSIP 핸들러(122)로 출력한다.
상기 PSI/PSIP 핸들러(122)는 PSI/PSIP 섹션 버퍼와 PSI/PSIP 파서로 구성되며, 상기 MPEG-2 TP 핸들러(121)에서 출력되는 TS 패킷을 일시 저장한 후 테이블 식별자 등을 참조하여 상기 TS 패킷의 페이로드에 포함된 PSI/PSIP 섹션 데이터로부터 해당 테이블을 복원하여 파싱한다. 이때 하나의 테이블이 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 해당 섹션 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 그리고 동일한 테이블 식별자를 갖는 섹션들을 모으면 해당하는 테이블을 완성할 수 있다. 예를 들어, VCT에 할당된 테이블 식별자를 갖는 섹션들을 모으면 VCT를 완성할 수 있다. 그리고 상기 파싱된 각 테이블의 정보는 서비스 매니저(160)에 의해 수집되어 제1 저장부(180)에 저장한다. 본 발명에 따른 VCT, PAT, PMT, DST, EIT, ETT 등의 테이블 정보가 상기 과정을 거쳐 제1 저장부(180)에 저장된다. 상기 서비스 매니저(160)는 상기 테이블 정보를 서비스 맵 및 가이드 데이터 형태로 상기 제1 저장부(180)에 저장한다.
상기 역다중화기(123)는 입력되는 TS 패킷이 리얼 타임의 A/V TS 패킷이면 오디오 TS 패킷과 비디오 TS 패킷으로 분리한 후 PES 디코더(131)로 출력하고, NRT TS 패킷이면 DSM-CC 핸들러(135)로 출력한다. 또한 상기 역다중화기(123)는 PCR(Program Clock Reference)가 포함된 TS 패킷이면 PCR 핸들러(133)로 출력하고, CA(Conditional Access) 정보가 포함된 TS 패킷이면 CAS(139)로 출력한다. 상기 NRT TS 패킷은 NRT 서비스 데이터를 포함하는 TS 패킷과 NRT 서비스 시그널링 채널을 포함하는 TS 패킷으로 구분된다. 상기 NRT 서비스 데이타의 TS 패킷에는 상기 NRT 서비스를 식별하기 위하여 유니크한 PID가 할당되며, 상기 NRT 서비스 시그널링 채널을 포함하는 TS 패킷의 PID는 DST와 PMT를 이용하여 추출한다.
상기 역다중화기(123)는 입력되는 TS 패킷의 페이로드가 스크램블되어 있으면, 디스크램블러(124)로 출력하고, 상기 디스크램블러(124)는 상기 CAS(139)로부터 디스크램블에 필요한 정보(예, 스크램블에 이용된 제어 단어 등)를 입력받아 상기 TS 패킷에 대해 디스크램블을 수행한다.
상기 역다중화기(123)는 일시 녹화, 예약 녹화, 타임시프트 중 어느 하나의 요청에 의해 입력되는 리얼 타임의 A/V 패킷을 제2 저장부(125)에 저장한다. 상기 제2 저장부(125)는 대용량 저장 매체로서, 일 예로 HDD 등이 될 수 있다. 상기 제2 저장부(125)에서의 다운로드(즉, 저장) 및 업로드(즉, 재생)는 PVR 매니저(170)의 제어에 의해 이루어진다.
상기 역다중화기(123)는 재생 요청에 따라 상기 제2 저장부(125)로부터 업로드된 A/V TS 패킷으로부터 오디오 TS 패킷과 비디오 TS 패킷으로 분리하여 PES 디코더(131)로 출력한다.
상기 역다중화기(123)는 전술한 처리를 위해 서비스 매니저(160) 또는/및 PVR(Personal Vedeo Recorder) 매니저(170)의 제어를 받는다.
즉, 상기 서비스 매니저(160)는 VCT 내 service_type 필드 값이 NRT 서비스가 전송됨을 지시하면, 상기 VCT의 service location descriptor(또는 PMT의 ES loop)로부터 DST의 PID를 추출하여 DST를 수신한다.
그리고, 상기 수신된 DST로부터 NRT 서비스를 식별하고, 식별된 NRT 서비스를 수신하기 위해 상기 NRT 서비스 시그널링 채널을 포함하는 MPEG-2 TS 패킷의 PID를 DST와 PMT를 이용하여 추출한다. 상기 추출된 PID는 역다중화기(123)로 출력한다. 상기 역다중화기(123)는 상기 서비스 매니저(160)에서 출력하는 PID에 해당하는 MPEG-2 TS 패킷들을 어드레서블 섹션 핸들러(135)로 출력한다.
상기 PCR은 A/V 디코더(141)에서 오디오 ES 및 비디오 ES의 타임 동기 등을 위해 사용되는 시간 기준값이다. 상기 PCR 핸들러(133)는 입력되는 TS 패킷의 페이로드에 포함된 PCR을 복원하여 STC 핸들러(134)로 출력한다. 상기 STC 핸들러(134)는 상기 PCR로부터 시스템의 기준 클럭이 되는 STC(System Time Clock)를 복원하여 A/V 디코더(141)로 출력한다.
상기 PES 디코더(131)는 PES 버퍼와 PES 핸들러로 구성되며, 오디오 TS 패킷과 비디오 TS 패킷을 일시 저장한 후 각 TS 패킷으로부터 TS 헤더를 제거하여 오디오 PES와 비디오 PES로 복원한다. 상기 복원된 오디오 PES와 비디오 PES는 ES 디코더(132)로 출력된다. 상기 ES 디코더(132)는 ES 버퍼와 ES 핸들러로 구성되며, 오디오 PES와 비디오 PES로부터 각 PES 헤더를 제거하여 순수한 데이타인 오디오 ES와 비디오 ES로 복원한다. 상기 복원된 오디오 ES와 비디오 ES는 상기 A/V 디코더(141)로 출력된다.
상기 A/V 디코더(141)는 각각의 디코딩 알고리즘으로 상기 오디오 ES와 비디오 ES를 디코딩하여 압축 이전의 상태로 복원한 후 프리젠테이션 매니저(240)로 출력한다. 이때 상기 STC에 따라 오디오 ES와 비디오 ES의 디코딩시 타임 동기가 이루어진다. 일 예로, 오디오 디코딩 알고리즘은 AC-3 디코딩 알고리즘, MPEG 2 audio 디코딩 알고리즘, MPEG 4 audio 디코딩 알고리즘, AAC 디코딩 알고리즘, AAC+ 디코딩 알고리즘, HE AAC 디코딩 알고리즘, AAC SBR 디코딩 알고리즘, MPEG surround 디코딩 알고리즘, BSAC 디코딩 알고리즘중 적어도 하나를 적용하고, 비디오 디코딩 알고리즘은 MPEG 2 video 디코딩 알고리즘, MPEG 4 video 디코딩 알고리즘, H.264 디코딩 알고리즘, SVC 디코딩 알고리즘, VC-1 디코딩 알고리즘 중 적어도 하나를 적용할 수 있다.
상기 CAS(139)는 CA 스트림 버퍼와 CA 스트림 핸들러로 구성되며, 상기 MPEG-2 TP 핸들러(121)에서 출력되는 TS 패킷 또는 UDP 데이터그램 핸들러(138)에서 복원되어 출력되는 서비스 보호 데이터를 일시 저장한 후 상기 저장된 TS 패킷 또는 서비스 보호 데이터로부터 디스크램블에 필요한 정보(예를 들어, 스크램블에 사용된 제어 단어 등)를 복원한다. 즉, 상기 TS 패킷의 페이로드에 포함된 EMM(Entitlement Management Message), ECM(Entitlement Control Message) 등을 추출하고, 추출된 EMM, ECM 등을 분석하여 디스크램블에 필요한 정보를 획득한다. 상기 ECM은 스크램블에 사용된 제어 단어(CW)를 포함할 수 있다. 이때 상기 제어 단어는 인증키로 암호화되어 있을 수 있다. 상기 EMM은 해당 데이터의 인증키와 자격 정보를 포함할 수 있다. 상기 CAS(139)에서 획득한 디스크램블에 필요한 정보는 디스크램블러(124,137)로 출력된다.
상기 DSM-CC 섹션 핸들러(135)는 DSM-CC 섹션 버퍼와 DSM-CC 섹션 파서로 구성되며, 상기 역다중화기(123)에서 출력되는 TS 패킷을 일시 저장한 후 상기 TS 패킷의 페이로드에 포함된 어드레서블 섹션을 복원하고, 상기 어드레서블 섹션의 헤더와 CRC 첵섬을 제거하여 IP 데이터그램을 복원한 후 IP 데이터그램 핸들러(136)로 출력한다. 상기 IP 데이터그램 핸들러(136)는 IP 데이터그램 버퍼와 IP 데이터그램 파서로 구성되며, 상기 DSM-CC 섹션 핸들러(135)로부터 전달받은 IP 데이터그램을 버퍼링한 후, 버퍼링된 IP 데이터그램의 헤더를 추출하고 분석하여 상기 IP 데이터그램의 페이로드로부터 UDP 데이터그램을 복원한 후 UDP 데이터그램 핸들러(138)로 출력한다.
이때 상기 IP 데이터그램이 스크램블되어 있다면, 상기 스크램블된 UDP 데이터그램은 디스크램블러(137)에서 디스크램블된 후 UDP 데이터그램 핸들러(138)로 출력된다. 일 예로, 상기 디스크램블러(137)는 상기 CAS(139)로부터 디스크램블에 필요한 정보(예, 스크램블에 이용된 제어 단어 등)를 입력받아 상기 UDP 데이터그램에 대해 디스크램블을 수행한 후 UDP 데이터그램 핸들러(138)로 출력한다.
상기 UDP 데이터그램 핸들러(138)는 UDP 데이터그램 버퍼와 UDP 데이터그램 파서로 구성되며, 상기 IP 데이터그램 핸들러(136) 또는 디스크램블러(137)로부터 출력되는 UDP 데이터그램을 버퍼링한 후, 버퍼링된 UDP 데이터그램의 헤더를 추출하고 분석하여 상기 UDP 데이터그램의 페이로드에 포함된 데이터를 복원한다. 이때 복원된 데이터가 서비스 프로텍션 데이터이면 CAS(139)로 출력하고, NRT 서비스 시그널링 데이터이면 서비스 시그널링 섹션 핸들러(138-1)로 출력하며, NRT 서비스 데이터이면 ALC/LCT 스트림 핸들러(151)로 출력한다.
즉, 상기 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램의 접속 정보는 well-known 데스티네이션(destination) IP 어드레스와 well-known 데스티네이션(destination) UDP 포트 번호인 것을 일 실시예로 한다.
따라서, 상기 IP 데이터그램 핸들러(136)와 UDP 데이터그램 핸들러(138)는 well-known 데스티네이션 IP 멀티캐스트 어드레스와 well-known 데스티네이션 UDP 포트 번호를 가지면서, NRT 서비스 시그널링 채널을 전송하는 IP 멀티캐스트 스트림 즉, NRT 서비스 시그널링 데이터를 추출하여 서비스 시그널링 섹션 핸들러(138-1)로 출력한다.
그리고, 상기 서비스 시그널링 섹션 핸들러(138-1)는 서비스 시그널링 섹션 버퍼와 서비스 시그널링 섹션 파서로 구성되며, 상기 NRT 서비스 시그널링 데이터로부터 도 10, 도 11과 같은 NST, 도 14, 도 15와 같은 NRT-IT를 복원하고 파싱하여 서비스 매니저(160)로 출력한다. 상기 NST를 파싱하면 NRT 서비스를 구성하는 콘텐트 아이템/파일들을 전송하는 FLUTE 세션의 접속 정보를 얻을 수 있다. 상기 NST와 NRT-IT 로부터 파싱된 정보는 서비스 매니저(160)에 의해 수집되어 제1 저장부(180)에 저장된다. 상기 서비스 매니저(160)는 상기 NST와 NRT-IT에서 추출된 정보를 서비스 맵 및 서비스 가이드 형태로 상기 제1 저장부(180)에 저장한다. 다른 실시예로, 상기 서비스 매니저(160)의 역할을 NRT 서비스 매니저(210)에서 수행할 수도 있다. 즉, 상기 NST와 NRT-IT로부터 파싱된 정보는 NRT 서비스 매니저(210)에 의해 수집되어 제1 저장부(180)에 저장될 수도 있다.
또한 유저가 UI 매니저(250)를 통해 서비스 가이드 화면을 요청하면, 오퍼레이션 제어기(100)의 제어에 의해 서비스 매니저(160) 또는 NRT 서비스 매니저(210)는 제1 저장부(180)에 저장된 정보들을 이용하여 RT 서비스와 NRT 서비스 중 적어도 하나를 포함하는 서비스 가이드를 구성하고, 구성된 서비스 가이드를 프리젠테이션 매니저(240)를 통해 화면에 디스플레이한다.
일 예로, 도 18의 (a)와 같이 콘텐트 아이템 단위로 서비스 가이드 화면이 디스플레이될 수 있다.
이때 서비스 매니저(160) 또는 NRT 서비스 매니저(210)는 서비스 가이드에 표시된 콘텐트 아이템 중 인터넷으로도 제공 가능하다고 지시된 콘텐트 아이템이 있다면, 그 콘텐트 아이템의 이름 옆에 문자가 아이콘을 이용하여 인터넷으로도 제공 가능함을 표시한다. 도 18의 (a)는 콘텐트 아이템 2가 인터넷으로도 제공 가능하다고 지시된 예이다.
즉, 상기 서비스 매니저(160) 또는 NRT 서비스 매니저(210)는 콘텐트 아이템의 상세 정보를 시그널링하는 NRT-IT의 콘텐트 아이템 루프 내 available_on_internet 필드 값을 읽어 어느 콘텐트 아이템이 인터넷으로도 제공되는지를 확인한다.
이때 인터넷으로도 제공 가능한 콘텐트 아이템에 속한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트는 그 파일의 인터넷 URL을 표시하는 것을 일 실시예로 한다. 이 경우 Content-Location 어트리뷰트는 그 파일의 타입을 '인터넷 URL'로 제한한다.
이때 유저가 리모콘, 키보드, 마우스, 터치 등과 같은 입력 수단을 이용하여 콘텐트 아이템 2의 이름 옆에 표시된 인터넷으로 제공 가능함을 지시하는 문자나 아이콘을 클릭하면, 이때의 선택 신호가 UI 매니저(250)를 통해 오퍼레이션 제어기(100)로 제공된다.
상기 오퍼레이션 제어기(100)의 제어에 의해 상기 NRT 서비스 매니저(210)는 XML 파서(153)에서 처리된 콘텐트 아이템 2에 속한 각 파일에 대응하는 FLUTE FDT 내 Content-Location 어트리뷰트로부터 각 파일의 인터넷 URL을 획득한다. 그리고 획득된 각 파일의 인터넷 URL을 기반으로 인터넷 네트워크 인터페이스부(260)를 통해 인터넷 접속을 수행하여 콘텐트 아이템 2에 속한 파일들을 직접 다운로드한다.
이때 상기 콘텐트 아이템2의 파일들이 다운로드되기 전 또는 다운로드된 후에 해당 콘텐트 아이템의 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 다운로드가 완료되면 파일 디코더(157), 미들웨어 엔진(230), 프리젠테이션 매니저(240)를 동작시켜 해당 콘텐트 아이템을 바로 디스플레이(또는 실행)할 수도 있고, 제3 저장부(156)에 저장한 후 유저의 요청에 따라 디스플레이(또는 실행)하게 할 수도 있다. 예를 들어, 입력 수단을 이용하여 콘텐트 아이템 2의 이름 옆에 표시된 인터넷으로 제공 가능함을 지시하는 문자나 아이콘을 클릭하면, 도 18의 (b)와 같은 선택 메시지를 디스플레이할 수 있다. 그리고 '예'라는 메뉴 버튼을 선택한 경우에만 인터넷 접속을 수행하게 할 수도 있다.
만일, 도 18의 (a)와 같은 서비스 가이드 화면에서 인터넷으로 제공되지 않는 콘텐트 아이템을 선택하였다면, 서비스 매니저(160) 또는 NRT 서비스 매니저(210)는 기 설정된 시간에 FLUTE 세션을 통해 선택된 콘텐트에 속한 파일들을 다운로드하여 제3 저장부(156)에 저장한다. 이때에도 콘텐트 아이템을 다운로드받기 전에 다운로드 여부, 디스플레이(또는 실행) 여부, 저장 여부 등을 유저가 선택하게 할 수도 있다. 즉, 다운로드가 완료되면 파일 디코더(157), 미들웨어 엔진(230), 프리젠테이션 매니저(240)를 동작시켜 해당 콘텐트 아이템을 바로 디스플레이(또는 실행)할 수도 있고, 제3 저장부(156)에 저장한 후 유저의 요청 에 따라 디스플레이(또는 실행)하게 할 수도 있다.
상기 ALC/LCT 스트림 핸들러(151)는 ALC/LCT 스트림 버퍼와 ALC/LCT 스트림 파서로 구성되며, 상기 UDP 데이터그램 핸들러(138)로부터 출력되는 ALC/LCT 구조의 데이터를 버퍼링한 후, 버퍼링된 데이터로부터 ALC/LCT 세션의 헤더 및 헤더 확장(header extension)을 분석한다. 상기 ALC/LCT 세션의 헤더 및 헤더 확장을 분석한 결과, 상기 ALC/LCT 세션으로 전송되는 데이터가 XML 구조이면 XML 파서(153)로 출력하고, 파일 구조이면 파일 재건(File Reconstruction) 버퍼(152)에 일시 저장한 후 파일 디코더(157)로 출력하거나, 제3 저장부(156)에 저장한다. 상기 ALC/LCT 스트림 핸들러(151)는 상기 ALC/LCT 세션으로 전송되는 데이터가 NRT 서비스를 위한 데이터이면 NRT 서비스 매니저(210)의 제어를 받는다. 이때 상기 ALC/LCT 세션으로 전송되는 데이터가 압축되어 있으면, 디콤프레서(155)에서 해제된 후 XML 파서(153), 파일 디코더(157), 제3 저장부(156) 중 적어도 하나로 출력된다.
상기 XML 파서(153)는 상기 ALC/LCT session을 통하여 전송되는 XML 데이터를 분석하고, 분석된 데이터가 파일 기반 서비스를 위한 데이터이면 FDT 핸들러(154)로 출력하고, 서비스 가이드를 위한 데이터이면 SG 핸들러(190)로 출력한다.
상기 FDT 핸들러(154)는 ALC/LCT session을 통하여 FLUTE 프로토콜의 파일 디스크립션 테이블(File Description Table)을 분석하고 처리한다. 상기 FDT 핸들러(154)는 수신된 파일이 NRT 서비스를 위한 파일이면 NRT 서비스 매니저(210)의 제어를 받는다.
상기 SG 핸들러(190)는 XML 구조로 전송되는 서비스 가이드를 위한 데이터를 수집하고 분석하여 EPG 매니저(200)로 출력한다.
상기 파일 디코더(157)는 상기 파일 재건 버퍼(152)로부터 출력되는 파일 또는 디콤프레서(155)로부터 출력되는 파일 또는 제3 저장부(156)로부터 업로드된 파일을 기 설정된 알고리즘으로 디코딩하여 미들웨어 엔진(230)으로 출력하거나, A/V 디코더(141)로 출력한다.
상기 미들웨어 엔진(230)은 파일 구조의 데이터 즉, 어플리케이션을 해석하여 실행시킨다. 그리고 상기 어플리케이션을 프리젠테이션 매니저(240)를 통해 화면이나 스피커와 같은 출력 장치로 출력할 수도 있다. 상기 미들웨어 엔진(230)은 자바(JAVA) 기반의 미들웨어 엔진인 것을 일 실시예로 한다.
상기 EPG 매니저(200)는 유저의 입력에 따라 SG 핸들러(190)로부터 서비스 가이드 데이터를 입력받아 디스플레이 포맷으로 변환한 후 프리젠테이션 매니저(240)로 출력한다. 상기 어플리케이션 매니저(220)는 상기 파일 등의 형태로 수신되는 어플리케이션 데이터의 처리에 관한 전반적인 관리를 수행한다.
상기 서비스 매니저(160)는 PSI/PSIP 테이블 데이터 또는 NRT 서비스 시그널링 채널로 전송되는 NRT 서비스 시그널링 데이터를 수집하고 분석하여 서비스 맵을 만든 후 제1 저장부(125)에 저장한다. 또한 상기 서비스 매니저(160)는 사용자가 원하는 NRT 서비스에 대한 접속 정보를 제어하며, 튜너(111), 복조기(112), IP 데이터그램 핸들러(136) 등에 대한 제어를 수행한다.
상기 오퍼레이션 제어기(100)는 UI 매니저(250)를 통해 입력되는 유저의 명령에 따라 상기 서비스 매니저(160), PVR 매니저(170), EPG 매니저(200), NRT 서비스 매니저(210), 어플리케이션 매니저(220), 프리젠테이션 매니저(240) 중 적어도 하나를 제어하여, 상기 유저의 명령에 따른 기능이 수행되도록 한다.
상기 NRT 서비스 매니저(210)는 IP 계층 상에서 FLUTE 세션을 통하여 콘텐트/파일 형태로 전송되는 NRT 서비스에 대한 전반적인 관리를 수행한다.
상기 UI 매니저(250)는 UI를 통해 유저의 입력을 오퍼레이션 제어기(100)로 전달한다.
상기 프리젠테이션 매니저(240)는 A/V 디코더(141)에서 출력되는 오디오 및 비디오 데이터, 미들웨어 엔진(230)에서 출력되는 파일 데이터, EPG 매니저(210)에서 출력되는 서비스 가이드 데이터 중 적어도 하나를 스피커 및/또는 화면을 통해 유저에게 제공한다.
지금까지 설명한 본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가지자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
발명의 실시를 위한 형태
발명의 실시를 위한 형태는 발명의 실시를 위한 최선의 형태에서 함께 기술되었다.
산업상 이용가능성
본 발명에 따른 신호 송수신 방법 및 신호 송수신 장치의 실시예는 방송 및 통신 분야 등에 이용될 수 있다.
Claims (18)
- 인터넷 프로토콜(IP) 데이터그램들을 전송하는 방송 신호를 생성하는 단계,
여기서, 상기 IP 데이터그램들은 사용되기 전에 미리 전송되고 수신 장치에 저장되는 비실시간 서비스, 상기 비실시간 서비스의 콘텐트 아이템에 대한 메타데이터를 포함하는 제1 시그널링 데이터, 및 상기 비실시간 서비스를 위한 서비스-레벨의 속성들을 포함하는 제2 시그널링 데이터를 포함하고,
여기서, 상기 비실시간 서비스는 적어도 하나의 콘텐트 아이템을 포함하고, 각각의 상기 콘텐트 아이템은 적어도 하나의 파일을 포함하고, 및
여기서, 상기 제1 시그널링 데이터는 상기 콘텐트 아이템 내에 있는 적어도 하나의 파일이 인터넷을 통해서 이용 가능한지 여부를 지시하는 지시 정보를 포함하고; 및
상기 방송 신호를 전송하는 단계를 포함하고,
여기서, 상기 지시 정보에 기초하여 상기 콘텐트 아이템 내에 있는 상기 적어도 하나의 파일은 인터넷을 통하여 전송되고,
여기서, 상기 방송 신호는 인터넷을 통해서 검색되는 상기 콘텐트 아이템을 참조하는 위치 정보를 포함하는 것을 특징으로 하는 비실시간 서비스 전송 방법. - 삭제
- 제 1 항에 있어서,
상기 적어도 하나의 파일은 File Delivery over Unidirectional Transport (FLUTE) 파일 전송 세션을 통해서 전송되고,
상기 각각의 FLUTE 파일 전송 세션은 적어도 하나의 FLUTE 채널을 포함하고,및
상기 제2 시그널링 데이터에 있는 싱글 컴포넌트 디스크립터와 함께 시그널링되기 위하여, 상기 각각의 FLUTE 파일 전송 세션에 있는 상기 모든 FLUTE 채널들은 동일한 IP 어드레스 및 연속된 User Datagram Protocol (UDP) 포트 번호를 포함하는 비실시간 서비스 전송 방법. - 제 3 항에 있어서,
상기 FLUTE 세션은 상기 FLUTE 세션을 통해서 전송되는 파일을 포함하는 전송 오브젝트를 식별하는 Transfer Object Identifier (TOI), 인터넷을 통해서 이용 가능한 상기 파일의 위치를 식별하는 콘텐트 위치 정보, 및 상기 콘텐트 아이템을 식별하는 콘텐트 연결 정보를 포함하는 FLUTE Description Table (FDT)을 전송하는 것을 포함하는 비실시간 서비스 전송 방법. - 제 4 항에 있어서,
상기 제1 시그널링 데이터는, 상기 FLUTE 파일 전송 세션을 통해서 전송되는 적어도 하나의 파일이 비실시간 서비스를 위한 콘텐트 아이템들에 속한다는 것을 식별하기 위해서, 상기 FDT에 포함되는 상기 콘텐트 연결 정보를 매핑하는 콘텐트 연결 엘리먼트를 포함하는 비실시간 서비스 전송 방법. - 제 5 항에 있어서,
상기 제2 시그널링 데이터는 서비스의 카테고리가 비실시간 서비스라는 것을 지시하는 제1 정보를 포함하는 비실시간 서비스 전송 방법. - 제 6 항에 있어서,
상기 제2 시그널링 데이터는 IP 어드레스들 및 UDP 포트들 뿐만 아니라 상기 FLUTE 세션의 Transport Session Identifier (TSI)들을 포함하는 제2 정보를 더 포함하는 비실시간 서비스 전송 방법. - 제 7 항에 있어서,
상기 콘텐트 아이템과 관련된 각각의 파일은 상기 FDT에서 태그를 가지고, 상기 태그는 상기 제1 시그널링 데이터에 포함되는 상기 콘텐트 연결 엘리먼트의 값에 매칭되는 것을 포함하는 비실시간 서비스 전송 방법. - 제 8 항에 있어서,
상기 FDT는 파라미터에 의해서 식별되는 상기 콘텐트 아이템의 엔트리 포인트로서 상기 파일을 식별하는 속성을 지시하는 정보를 포함하고,
상기 엔트리 포인트를 포함하는 상기 콘텐트 아이템의 파일은, 상기 콘텐트 아이템이 상기 수신 장치에 의해서 재생을 위하여 선택되면, 최초로 표현되는 것을 포함하는 비실시간 서비스 전송 방법. - 인터넷 프로토콜(IP) 데이터그램들을 생성하는 생성부,
여기서, 상기 IP 데이터그램들은 사용되기 전에 미리 전송되고 수신 장치에 저장되는 비실시간 서비스, 상기 비실시간 서비스의 콘텐트 아이템에 대한 메타데이터를 포함하는 제1 시그널링 데이터, 및 상기 비실시간 서비스를 위한 서비스-레벨의 속성들을 포함하는 제2 시그널링 데이터를 포함하고,
여기서, 상기 비실시간 서비스는 적어도 하나의 콘텐트 아이템을 포함하고, 상기 각각의 콘텐트 아이템은 적어도 하나의 파일을 포함하고,
여기서, 상기 제1 시그널링 데이터는 상기 콘텐트 아이템 내에 있는 적어도 하나의 파일이 인터넷을 통해서 이용 가능한지 여부를 지시하는 지시 정보를 포함하고; 및
상기 생성된 IP 데이터그램들을 포함하는 방송 신호를 전송하는 전송부를 포함하고,
여기서, 상기 지시 정보에 기초하여 상기 콘텐트 아이템 내에 있는 상기 적어도 하나의 파일은 인터넷을 통하여 전송되고,
여기서, 상기 방송 신호는 인터넷을 통해서 검색되는 상기 콘텐트 아이템을 참조하는 위치 정보를 포함하는 것을 특징으로 하는 비실시간 서비스 전송 장치. - 삭제
- 제 10 항에 있어서,
상기 적어도 하나의 파일은 File Delivery over Unidirectional Transport (FLUTE) 파일 전송 세션을 통해서 전송되고,
상기 각각의 FLUTE 파일 전송 세션은 적어도 하나의 FLUTE 채널을 포함하고,
상기 제2 시그널링 데이터에 있는 싱글 컴포넌트 디스크립터와 함께 시그널링되기 위하여, 상기 각각의 FLUTE 파일 전송 세션에 있는 상기 모든 FLUTE 채널들은 동일한 IP 어드레스 및 연속된 User Datagram Protocol (UDP) 포트 번호를 포함하는 비실시간 서비스 전송 장치. - 제 12 항에 있어서,
상기 FLUTE 세션은 상기 FLUTE 세션을 통해서 전송되는 파일을 포함하는 전송 오브젝트를 식별하는 Transfer Object Identifier (TOI), 인터넷을 통해서 이용 가능한 상기 파일의 위치를 식별하는 콘텐트 위치 정보, 및 상기 콘텐트 아이템을 식별하는 콘텐트 연결 정보를 포함하는 FLUTE Description Table (FDT)을 전송하는 것을 포함하는 비실시간 서비스 전송 장치. - 제 13 항에 있어서,
상기 제1 시그널링 데이터는, 상기 FLUTE 파일 전송 세션을 통해서 전송되는 적어도 하나의 파일이 비실시간 서비스를 위한 콘텐트 아이템들에 속한다는 것을 식별하기 위해서, 상기 FDT에 포함되는 상기 콘텐트 연결 정보를 매핑하는 콘텐트 연결 엘리먼트를 포함하는 비실시간 서비스 전송 장치. - 제 14 항에 있어서,
상기 제2 시그널링 데이터는 서비스의 카테고리가 비실시간 서비스라는 것을 지시하는 제1 정보를 포함하는 비실시간 서비스 전송 장치. - 제 15 항에 있어서,
상기 제2 시그널링 데이터는 IP 어드레스들 및 UDP 포트들 뿐만 아니라 상기 FLUTE 세션의 Transport Session Identifier (TSI)들을 포함하는 제2 정보를 더 포함하는 비실시간 서비스 전송 장치. - 제 16 항에 있어서,
상기 콘텐트 아이템과 관련된 각각의 파일은 상기 FDT에서 태그를 가지고, 상기 태그는 상기 제1 시그널링 데이터에 포함되는 상기 콘텐트 연결 엘리먼트의 값에 매칭되는 것을 포함하는 비실시간 서비스 전송 장치. - 제 17 항에 있어서,
상기 FDT는 파라미터에 의해서 식별되는 상기 콘텐트 아이템의 엔트리 포인트로서 상기 파일을 식별하는 속성을 지시하는 정보를 포함하고,
상기 엔트리 포인트를 포함하는 상기 콘텐트 아이템의 파일은, 상기 콘텐트 아이템이 상기 수신 장치에 의해서 재생을 위하여 선택되면, 최초로 표현되는 것을 포함하는 비실시간 서비스 전송 장치.
Applications Claiming Priority (18)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12118108P | 2008-12-09 | 2008-12-09 | |
US12117808P | 2008-12-09 | 2008-12-09 | |
US61/121,178 | 2008-12-09 | ||
US61/121,181 | 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 | ||
US22625909P | 2009-07-16 | 2009-07-16 | |
US61/226,259 | 2009-07-16 | ||
US25584409P | 2009-10-28 | 2009-10-28 | |
US61/255,844 | 2009-10-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167019989A Division KR101685987B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110103982A KR20110103982A (ko) | 2011-09-21 |
KR101643637B1 true KR101643637B1 (ko) | 2016-08-10 |
Family
ID=42243221
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117014991A KR101643637B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
KR1020167019989A KR101685987B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
KR1020167034115A KR101781889B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167019989A KR101685987B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
KR1020167034115A KR101781889B1 (ko) | 2008-12-09 | 2009-12-09 | 비실시간 서비스 처리 방법 및 방송 수신기 |
Country Status (3)
Country | Link |
---|---|
US (3) | US8549566B2 (ko) |
KR (3) | KR101643637B1 (ko) |
WO (1) | WO2010068040A2 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101643637B1 (ko) * | 2008-12-09 | 2016-08-10 | 엘지전자 주식회사 | 비실시간 서비스 처리 방법 및 방송 수신기 |
RU2524394C2 (ru) * | 2009-05-08 | 2014-07-27 | Нокиа Корпорейшн | Способ и устройство для конфигурирования представления справочников услуг |
JP2011193434A (ja) * | 2009-10-28 | 2011-09-29 | Panasonic Corp | パリティパケットを用いた通信方法、通信装置及び中継器 |
US9699487B2 (en) | 2011-02-15 | 2017-07-04 | Lg Electronics Inc. | Method for transmitting a broadcasting service, method for receiving a broadcast service, and apparatus for receiving a broadcast service |
US8850492B2 (en) * | 2011-07-15 | 2014-09-30 | Blackberry Limited | Method, system and apparatus for delivering data to a mobile electronic device |
US9113230B2 (en) * | 2011-12-21 | 2015-08-18 | Sony Corporation | Method, computer program, and reception apparatus for delivery of supplemental content |
CA2859115C (en) | 2012-02-07 | 2020-01-21 | Sony Corporation | Receiving apparatus, receiving method, and program |
CA2839808C (en) | 2012-06-19 | 2021-09-14 | Sony Corporation | Extensions to trigger parameters table for interactive television |
CA2880504C (en) * | 2012-08-07 | 2018-06-05 | Lg Electronics Inc. | A method and an apparatus for processing a broadcast signal including an interactive broadcast service |
JP2015061307A (ja) * | 2013-09-20 | 2015-03-30 | ソニー株式会社 | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム |
BR102014011263B1 (pt) * | 2014-05-09 | 2019-07-02 | Tqtvd Software Ltda | Método para encapsular streams de conteúdo audiovisual em mpeg2-private-sections, dispositivo para encapsular conteúdo audiovisual em mpeg2-private-sections para sermultiplexados em um mpeg2-transport-stream, protocolo de comunicação em redes e método para transmissão de conteúdo audiovisual e/ou dados para dispositivos do usuário sem recursos para sintonizar um broadcast de sinal de tv digital através de um broadcast de sinal de tv digital |
US10567098B2 (en) * | 2014-10-28 | 2020-02-18 | Sony Corporation | Reception apparatus, transmission apparatus, and data processing method |
US9654755B2 (en) * | 2015-01-09 | 2017-05-16 | Vixs Systems, Inc. | Dynamic range converter with logarithmic conversion and methods for use therewith |
US9589313B2 (en) * | 2015-01-09 | 2017-03-07 | Vixs Systems, Inc. | Dynamic range converter with pipelined architecture and methods for use therewith |
US9860504B2 (en) | 2015-01-09 | 2018-01-02 | Vixs Systems, Inc. | Color gamut mapper for dynamic range conversion and methods for use therewith |
WO2016117939A1 (ko) | 2015-01-21 | 2016-07-28 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
CN111274437B (zh) * | 2020-01-22 | 2021-11-16 | 天窗智库文化传播(苏州)有限公司 | 基于互联网的视频素材资源管理方法及系统 |
KR102365193B1 (ko) | 2020-02-07 | 2022-02-18 | 한국전지연구조합 | 하이브리드 충방전 시스템 |
KR102365192B1 (ko) | 2020-02-07 | 2022-02-18 | 한국전지연구조합 | 하이브리드 충방전 시스템 |
CN114339267B (zh) * | 2022-01-04 | 2024-09-20 | 广州虎牙科技有限公司 | 文件轮播推流方法、装置及直播推流服务器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848273B1 (ko) * | 2007-07-03 | 2008-07-25 | 삼성전자주식회사 | 디지털 방송수신기의 파일 처리 장치 및 방법 |
Family Cites Families (15)
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 | 노키아 코포레이션 | 세션 객체들의 그룹화 |
US20060059267A1 (en) | 2004-09-13 | 2006-03-16 | Nokia Corporation | System, method, and device for downloading content using a second transport protocol within a generic content download protocol |
US8009752B2 (en) * | 2004-10-01 | 2011-08-30 | Qualcomm Incorporated | Multi-carrier incremental redundancy for packet-based wireless communications |
US20060193337A1 (en) * | 2005-02-25 | 2006-08-31 | Toni Paila | Device management broadcast operation |
US8320819B2 (en) * | 2005-11-01 | 2012-11-27 | Nokia Corporation | Mobile TV channel and service access filtering |
KR101221896B1 (ko) * | 2006-03-28 | 2013-01-15 | 엘지전자 주식회사 | 방송 수신기 및 데이터 방송 애플리케이션 관리 방법 |
US10320500B2 (en) * | 2007-09-18 | 2019-06-11 | Qualcomm Incorporated | Method and apparatus to enable fast channel switching with limited DVB receiver memory |
CN101442400B (zh) * | 2007-11-23 | 2012-03-07 | 国际商业机器公司 | 在数字内容传送系统中使用的质量管理器和方法 |
US8539532B2 (en) * | 2007-11-23 | 2013-09-17 | International Business Machines Corporation | Retransmission manager and method of managing retransmission |
WO2009151266A2 (ko) * | 2008-06-09 | 2009-12-17 | 엘지전자(주) | 서비스 제공 방법 및 모바일 방송 수신기 |
WO2010021526A2 (en) * | 2008-08-22 | 2010-02-25 | Lg Electronics Inc. | A method for processing additional information related to an announced service or content in an nrt service and a broadcast receiver |
US8099752B2 (en) * | 2008-12-03 | 2012-01-17 | Sony Corporation | Non-real time services |
WO2010068034A2 (ko) * | 2008-12-09 | 2010-06-17 | 엘지전자 주식회사 | 비실시간 서비스 처리 방법 및 방송 수신기 |
KR101643637B1 (ko) * | 2008-12-09 | 2016-08-10 | 엘지전자 주식회사 | 비실시간 서비스 처리 방법 및 방송 수신기 |
-
2009
- 2009-12-09 KR KR1020117014991A patent/KR101643637B1/ko active IP Right Grant
- 2009-12-09 US US12/654,080 patent/US8549566B2/en active Active
- 2009-12-09 WO PCT/KR2009/007365 patent/WO2010068040A2/ko active Application Filing
- 2009-12-09 KR KR1020167019989A patent/KR101685987B1/ko active IP Right Grant
- 2009-12-09 KR KR1020167034115A patent/KR101781889B1/ko active IP Right Grant
-
2013
- 2013-03-18 US US13/846,449 patent/US9693113B2/en active Active
-
2017
- 2017-05-17 US US15/597,960 patent/US10187703B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848273B1 (ko) * | 2007-07-03 | 2008-07-25 | 삼성전자주식회사 | 디지털 방송수신기의 파일 처리 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20100186059A1 (en) | 2010-07-22 |
US8549566B2 (en) | 2013-10-01 |
US10187703B2 (en) | 2019-01-22 |
US9693113B2 (en) | 2017-06-27 |
US20130247119A1 (en) | 2013-09-19 |
US20170251277A1 (en) | 2017-08-31 |
WO2010068040A3 (ko) | 2010-09-10 |
KR101685987B1 (ko) | 2016-12-13 |
KR20160142901A (ko) | 2016-12-13 |
KR20110103982A (ko) | 2011-09-21 |
WO2010068040A2 (ko) | 2010-06-17 |
KR101781889B1 (ko) | 2017-09-26 |
KR20160092525A (ko) | 2016-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101643637B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 | |
KR101647379B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 | |
KR101706956B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 | |
KR101695820B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 | |
KR101635889B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 | |
US9674571B2 (en) | Method of processing non-real time service and broadcast receiver | |
KR101597578B1 (ko) | 비실시간 서비스 처리 방법 및 방송 수신기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |