KR20160095210A - 비실시간 서비스 처리 방법 및 방송 수신기 - Google Patents

비실시간 서비스 처리 방법 및 방송 수신기 Download PDF

Info

Publication number
KR20160095210A
KR20160095210A KR1020167021383A KR20167021383A KR20160095210A KR 20160095210 A KR20160095210 A KR 20160095210A KR 1020167021383 A KR1020167021383 A KR 1020167021383A KR 20167021383 A KR20167021383 A KR 20167021383A KR 20160095210 A KR20160095210 A KR 20160095210A
Authority
KR
South Korea
Prior art keywords
field
content
service
nrt
real
Prior art date
Application number
KR1020167021383A
Other languages
English (en)
Other versions
KR101727049B1 (ko
Inventor
서종열
고머 토마스
송재형
김진필
홍호택
이준휘
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20160095210A publication Critical patent/KR20160095210A/ko
Application granted granted Critical
Publication of KR101727049B1 publication Critical patent/KR101727049B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B2/00Walls, e.g. partitions, for buildings; Wall construction with regard to insulation; Connections specially adapted to walls
    • E04B2/72Non-load-bearing walls of elements of relatively thin form with respect to the thickness of the wall
    • E04B2/721Non-load-bearing walls of elements of relatively thin form with respect to the thickness of the wall connections specially adapted therefor
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B1/00Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
    • E04B1/38Connections for building structures in general
    • E04B1/388Separate connecting elements
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B1/00Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
    • E04B1/38Connections for building structures in general
    • E04B1/61Connections for building structures in general of slab-shaped building elements with each other
    • E04B1/6108Connections for building structures in general of slab-shaped building elements with each other the frontal surfaces of the slabs connected together
    • E04B1/612Connections for building structures in general of slab-shaped building elements with each other the frontal surfaces of the slabs connected together by means between frontal surfaces
    • E04B1/6125Connections for building structures in general of slab-shaped building elements with each other the frontal surfaces of the slabs connected together by means between frontal surfaces with protrusions on the one frontal surface co-operating with recesses in the other frontal surface
    • E04B1/6141Connections for building structures in general of slab-shaped building elements with each other the frontal surfaces of the slabs connected together by means between frontal surfaces with protrusions on the one frontal surface co-operating with recesses in the other frontal surface the connection made by an additional locking key
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F13/00Coverings or linings, e.g. for walls or ceilings
    • E04F13/07Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
    • E04F13/08Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
    • E04F13/0801Separate fastening elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • 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/081Systems 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 the additional information signals being transmitted by means of a subcarrier
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B1/00Constructions in general; Structures which are not restricted either to walls, e.g. partitions, or floors or ceilings or roofs
    • E04B1/38Connections for building structures in general
    • E04B1/388Separate connecting elements
    • E04B2001/389Brackets
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04BGENERAL BUILDING CONSTRUCTIONS; WALLS, e.g. PARTITIONS; ROOFS; FLOORS; CEILINGS; INSULATION OR OTHER PROTECTION OF BUILDINGS
    • E04B2/00Walls, e.g. partitions, for buildings; Wall construction with regard to insulation; Connections specially adapted to walls
    • E04B2/02Walls, e.g. partitions, for buildings; Wall construction with regard to insulation; Connections specially adapted to walls built-up from layers of building elements
    • E04B2002/0202Details of connections
    • E04B2002/0243Separate connectors or inserts, e.g. pegs, pins or keys
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B5/00Joining sheets or plates, e.g. panels, to one another or to strips or bars parallel to them
    • F16B5/0004Joining sheets, plates or panels in abutting relationship
    • F16B5/0032Joining sheets, plates or panels in abutting relationship by moving the sheets, plates, or panels or the interlocking key parallel to the abutting edge
    • F16B5/0036Joining sheets, plates or panels in abutting relationship by moving the sheets, plates, or panels or the interlocking key parallel to the abutting edge and using hook and slot or keyhole-type connections
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/55Member ends joined by inserted section
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T403/00Joints and connections
    • Y10T403/70Interfitted members

Abstract

비실시간으로 전송되는 서비스를 수신하여 처리하는 방송 수신기의 비실시간 서비스 처리 방법 및 방송 수신기가 개시된다. 상기 방송 수신기의 비실시간 서비스 처리 방법은 콘텐트의 접속 정보를 포함하는 제1 시그널링 정보와 상기 콘텐트의 상세 정보를 포함하는 제2 시그널링 정보를 수신하여 처리하는 단계, 상기 콘텐트의 업데이트 정보를 포함하는 제3 시그널링 정보를 수신하여 처리하는 단계, 상기 제1, 제2 시그널링 정보를 기반으로 적어도 하나의 파일을 포함하는 콘텐트를 비실시간으로 수신하여 저장하는 단계, 상기 제3 시그널링 정보에 포함된 상기 콘텐트의 업데이트 정보를 기반으로 상기 콘텐트의 업데이트 여부를 확인하는 단계, 및 상기 콘텐트의 업데이트가 확인되면, 상기 콘텐트를 전송하는 플루트(FLUTE) 세션에 접속하여 업데이트된 콘텐트의 적어도 하나의 파일을 수신하는 단계를 포함한다.

Description

비실시간 서비스 처리 방법 및 방송 수신기{METHOD FOR PROCESSING NON-REAL TIME SERVICE AND BROADCAST RECEIVER}
본 발명은 비실시간으로 전송되는 서비스를 수신하여 처리하는 방법 및 방송 수신기에 관한 것이다.
디지털 텔레비전(DTV)은 텔레비전(TV)의 고유 기능인 영상, 음성과 더불어 다양한 서비스를 제공할 수 있게 되었다. 예를 들어 방송 정보(Electronic Program Guide: EPG) 등을 사용자에게 제공할 수 있고, 2개 이상의 채널로부터 수신되는 방송 서비스를 동시에 제공할 수 있다. 특히 수신 시스템이 대용량의 저장 장치를 구비하고, 양방향 통신이 가능한 인터넷이나 데이터 통신 채널과 연결되면서 방송 신호를 이용하여 제공할 수 있는 서비스는 상당히 많아졌다.
본 발명의 목적은 비실시간 서비스를 수신하여 처리하기 위한 비실시간 서비스 처리 방법 및 방송 수신기를 제공하는 것이다.
본 발명의 다른 목적은 비실시간 서비스를 구성하는 콘텐트의 변경을 IP 레벨에서 쉽게 확인할 수 있도록 하는 비실시간 서비스 처리 방법 및 방송 수신기를 제공하는 것이다.
본 발명의 또 다른 목적은 시그널링 정보 테이블에 상기 콘텐트의 업데이트 정보를 포함시킴으로써, 해당 콘텐트의 업데이트 여부를 쉽게 확인할 수 있도록 한 비실시간 서비스 처리 방법 및 방송 수신기를 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 방송 수신기의 비실시간 서비스 처리 방법은, 콘텐트의 상세 정보와 업데이트 정보를 포함하는 시그널링 정보를 수신하여 처리하는 단계, 적어도 하나의 파일을 포함하는 콘텐트를 비실시간으로 수신하여 저장하는 단계, 상기 시그널링 정보에 포함된 상기 콘텐트의 업데이트 정보를 기반으로 상기 콘텐트의 업데이트 여부를 확인하는 단계, 및 상기 콘텐트의 업데이트가 확인되면, 상기 콘텐트를 전송하는 플루트(FLUTE) 세션에 접속하여 업데이트된 콘텐트의 적어도 하나의 파일을 수신하는 단계를 포함한다.
상기 콘텐트의 업데이트 정보는 상기 시그널링 정보에 상기 콘텐트의 버전 번호가 포함되는지를 지시하는 제1 필드, 및 상기 제1 필드 값에 따라 상기 콘텐트의 버전 번호를 표시하는 제2 필드를 포함한다.
상기 업데이트 확인 단계는 상기 제2 필드에 표시된 콘텐트의 버전 번호와 상기 콘텐트의 이전 버전 번호를 비교하여 상기 콘텐트의 업데이트를 확인한다.
상기 콘텐트의 업데이트 정보는 상기 콘텐트가 업데이트되는 콘텐트인지를 지시하는 제3 필드를 더 포함한다.
본 발명의 다른 실시예에 따른 방송 수신기의 비실시간 서비스 처리 방법은, 콘텐트의 접속 정보를 포함하는 제1 시그널링 정보와 상기 콘텐트의 상세 정보를 포함하는 제2 시그널링 정보를 수신하여 처리하는 단계, 상기 콘텐트의 업데이트 정보를 포함하는 제3 시그널링 정보를 수신하여 처리하는 단계, 상기 제1, 제2 시그널링 정보를 기반으로 적어도 하나의 파일을 포함하는 콘텐트를 비실시간으로 수신하여 저장하는 단계, 상기 제3 시그널링 정보에 포함된 상기 콘텐트의 업데이트 정보를 기반으로 상기 콘텐트의 업데이트 여부를 확인하는 단계, 및 상기 콘텐트의 업데이트가 확인되면, 상기 콘텐트를 전송하는 플루트(FLUTE) 세션에 접속하여 업데이트된 콘텐트의 적어도 하나의 파일을 수신하는 단계를 포함한다.
상기 제1 내지 제3 시그널링 정보의 접속 정보는 미리 설정된 동일한 IP 어드레스와 동일한 UDP 포트 넘버로 구성될 수 있다.
상기 제1, 제2 시그널링 정보의 접속 정보는 미리 설정된 동일한 IP 어드레스와 동일한 UDP 포트 넘버로 구성되고, 상기 제3 시그널링 정보의 접속 정보는 상기 제1 시그널링 정보에 포함될 수 있다.
상기 콘텐트의 업데이트 정보는 상기 콘텐트의 식별 정보를 표시하는 제1 필드, 및 상기 콘텐트의 버전 번호를 표시하는 제2 필드를 포함한다.
상기 업데이트 확인 단계는 상기 제2 필드에 표시된 콘텐트의 버전 번호와 상기 콘텐트의 이전 버전 번호를 비교하여 상기 콘텐트의 업데이트를 확인한다.
본 발명의 일 실시예에 따른 방송 수신기는 제1 내지 제 3 처리부를 포함한다. 상기 제1 처리부는 콘텐트의 접속 정보를 포함하는 제1 시그널링 정보, 상기 콘텐트의 상세 정보를 포함하는 제2 시그널링 정보, 상기 콘텐트의 업데이트 정보를 포함하는 제3 시그널링 정보를 수신하여 처리한다. 상기 제2 처리부는 상기 제1, 제2 시그널링 정보를 기반으로 적어도 하나의 파일을 포함하는 콘텐트를 비실시간으로 수신하여 저장 매체에 저장한다. 상기 제3 처리부는 상기 제3 시그널링 정보에 포함된 상기 콘텐트의 업데이트 정보를 기반으로 상기 콘텐트의 업데이트 여부를 확인하여, 상기 콘텐트의 업데이트가 확인되면 상기 콘텐트를 전송하는 플루트(FLUTE) 세션에 접속하여 업데이트된 콘텐트의 적어도 하나의 파일을 수신한다.
상기 제1 내지 제3 시그널링 정보의 접속 정보는 미리 설정된 동일한 IP 어드레스와 동일한 UDP 포트 넘버로 구성될 수 있다.
상기 제1, 제2 시그널링 정보의 접속 정보는 미리 설정된 동일한 IP 어드레스와 동일한 UDP 포트 넘버로 구성되고, 상기 제3 시그널링 정보의 접속 정보는 상기 제1 시그널링 정보에 포함될 수 있다.
상기 콘텐트의 업데이트 정보는 상기 콘텐트의 식별 정보를 표시하는 제1 필드, 및 상기 콘텐트의 버전 번호를 표시하는 제2 필드를 포함한다.
상기 제3 처리부는 상기 제2 필드에 표시된 콘텐트의 버전 번호와 상기 콘텐트의 이전 버전 번호를 비교하여 상기 콘텐트의 업데이트를 확인한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명은 콘텐트 아이템을 구성하는 파일들을 전송하는 FLUTE 세션들의 매 패킷의 헤더를 항상(constantly) 체크하지 않고도 상기 콘텐트 아이템의 업데이트 여부를 알 수 있다. 그리고 상기 콘텐트 아이템이 업데이트되는 경우에만 해당 FLUTE 세션에 접속하여 상기 콘텐트 아이템에 포함된 파일들을 다운로드한다. 이와 같이 본 발명은 IP 레벨에서 콘텐트 아이템의 변경 여부를 알 수 있고, 상기 콘텐트 아이템이 변경되는 경우에만 해당 FLUTE 세션에 접속하므로 방송 수신기의 부담을 줄일 수 있게 된다.
또한, 본 발명은 통상(typically) NRT 서비스를 위한 NRT-IT와 상기 NRT 서비스를 위한 FLUTE 세션들이 같은 서버에 의해 발생되므로, 상기 시그널링과 데이터 변경은 쉽게 일치시킬 수 있다(The present invention allows synchronizing the signaling with the data changes easily, since the NRT-IT instances for a service and the FLUTE sessions for the service will typically be generated by the same server.). 또한 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은 본 발명에 따른 NRT-IT 섹션을 이용하여 콘텐트 아이템의 업데이트를 확인하고 처리하는 과정의 일 실시예를 보인 흐름도
도 17은 본 발명에 따른 CVT 섹션의 비트 스트림 신택스 구조의 일 실시예를 보인 도면
도 18은 본 발명에 따른 CVT 섹션을 이용하여 콘텐트 아이템의 업데이트를 확인하고 처리하는 과정의 일 실시예를 보인 흐름도
도 19는 본 발명에 따른 NST의 서비스 레벨 디스크립터에 포함되는 CVT_location_descriptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보인 도면
도 20은 본 발명에 따른 CVT 섹션을 이용하여 콘텐트 아이템의 업데이트를 확인하고 처리하는 과정의 다른 실시예를 보인 흐름도
도 21은 본 발명에 따른 OMA BCAST의 콘텐트 프래그먼트의 신택스 구조의 일 실시예를 보인 도면
도 22는 본 발명에 따른 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 서비스 시그널링 데이터는 NST와 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 세션에 대한 정보를 포함하는 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 어플리케이션임을 식별하는데 이용한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
Figure pat00001
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 값을 가질 수 있다.
상기와 같이 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을 더 참조하여 구분할 수 있다.
상기 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를 구성하는 테이블 섹션임을 알 수 있다(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비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송하는 NST를 허락하기 위한 프로토콜 버전을 알려준다(NST_protocol_version: An 8-bit unsigned integer field whose function is to allow, in the future, this NST 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 NST 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 NST section. The section_number of the first section in an NST shall be '0x00'. The section_number shall be incremented by 1 with each additional section in the NST).
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 NST of which this section is a part).
num_NRT_services 필드(8비트)는 NST 섹션 내의 NRT 서비스의 수를 지시한다(num_services: This 8 bit field specifies the number of services in this NST section).
이후 상기 num_NRT_services 필드 값에 해당하는 NRT 서비스 개수만큼'for' 루프(또는 NRT 서비스 루프라 함)가 수행되어 복수의 NRT 서비스에 대한 시그널링 정보를 제공한다. 즉, 상기 NST 섹션에 포함되는 NRT 서비스별로 해당 NRT 서비스의 시그널링 정보를 표시한다. 이때 각 NRT 서비스에 대해 다음과 같은 필드 정보를 제공할 수 있다.
NRT_service_id 필드(16 비트)는 해당 NRT 서비스를 유일하게 식별할 수 있는 값을 표시한다(A 16-bit unsigned integer number that shall uniquely identify this NRT service within the scope of this NRT section.). 하나의 서비스의 NRT_service_id 필드 값은 그 서비스가 유지되는 동안 변하지 않는다. 이때 혼란을 피하기 위해서, 만일 어떤 서비스가 종료되면 그 서비스의 NRT_service_id 필드 값은 일정 시간이 경과할 때까지 사용하지 않을 수 있다(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.).
NRT_service_status 필드(2비트)는 해당 NRT 서비스의 상태를 식별한다. 여기서, MSB는 해당 NRT 서비스가 액티브('1')인지 아니면 인액티브('0')인지 지시하고, LSB는 해당 NRT 서비스가 히든('1')인지 아닌지('0')를 지시한다. (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비트)는 해당 NRT 서비스의 서비스 보호(service protection) 여부를 나타낸다. 만일 SP_indicator 필드 값이 1이면, 서비스 보호가 해당 NRT 서비스의 의미 있는 프리젠테이션을 제공하기 위해 요구되는 콤포넌트들 중 적어도 하나에 적용된다(상기 (A 1-bit field that indicates, when set to 1, service protection is applied to at least one of the components needed to provide a meaningful presentation of this NRT Service).
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 서비스 내에 전송되는 서비스의 타입을 식별한다(NRT_service_category: A 6-bit enumerated type field that shall identify the type of service carried in this NRT).
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 필드(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)가 된다(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 필드(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)가 있으면 시그널링 된다(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).
이후 상기 num_components 필드 값에 해당하는 콤포넌트 개수만큼'for' 루프(또는 콤포넌트 루프라 함)가 수행되어 복수의 콤포넌트에 대한 접속 정보를 제공한다. 즉, 상기 NRT 서비스에 포함되는 각 콤포넌트의 접속 정보를 제공한다. 이때 각 콤포넌트에 대해 다음과 같은 필드 정보를 제공할 수 있다. 여기서, 하나의 콤포넌트는 하나의 FLUTE 세션에 대응되는 것을 일 실시예로 한다.
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 필드(32 or 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비트)는 콤포넌트 레벨의 추가 정보를 제공하는 디스크립터의 개수를 표시한다.
상기 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_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, or it may be any of the values assigned by ATSC, 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).
component_encryption_flag 필드(1비트)는 해당 콤포넌트의 암호화 유무를 지시한다.
Num_STKM_streams 필드(8비트)는 상기 component_encryption_flag 필드가 암호화를 지시하면, 해당 콤포넌트와 관련된 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비트)는 상기 Num_STKM_streams 필드 값만큼 반복되어 디크립션에 필요한 키를 얻을 수 있는 SKTM 스트림을 식별하는 값을 표시한다.
NRT_component_data(component_type) 필드는, 해당 콤포넌트를 렌더링하기 위해 필요한 인코딩 파라미터들 및/또는 다른 파라미터들을 제공한다. 여기서, component_data 엘리먼트의 구조는 component_type 필드의 값에 의해 결정된다(component_data(component_type): The component_data() element provides the encoding parameters and/or other parameters necessary for rendering this component. The structure of the component_data is determined by the value of component_type field).
예를 들어, 상기 component_type 필드 값이 35이면 component_data(component_type) 필드는 H.264/AVC 비디오 스트림을 위한 콤포넌트 데이터를 제공한다.
다른 예로, 상기 component_type 필드 값이 38이면 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 세션을 유일하게 식별할 수 있는 식별자이다(A 16-bit unsigned integer field, which shall be the Transport Session Identifier (TSI) of FLUTE session).
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'으로 설정되어야 할 것이다(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'으로 설정되어야 할 것이다(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)가 제공되는지 여부를 지시한다(A 1-bit indicator that indicates whether FEC Object Transmission Information is provided).
tias_bandwidth 필드(16비트)는 상기 as_bandwidth_indicator 필드가 '1'로 설정되었을 때 존재하며, TIAS 최대 대역폭을 표시한다(This value shall be one one-thousandth of the Transport Independent Application Specific maximum bandwidth as defined in RFC 3890, rounded up to the next highest integer if necessary. This gives the TIAS bandwidth in kilobits per second).
as_bandwidth 필드(16비트)는 상기 as_bandwidth_indicator 필드가 '1'로 설정되었을 때 존재하며, AS 최대 대역폭을 표시한다 (This value shall be the Application Specific maximum bandwidth as defined in RFC 4566. This gives the AS bandwidth in kilobits per second).
FEC_encoding_id 필드는 상기 FEC_OTI_indicator 필드가 '1'로 설정되었을 때 존재하며, 해당 FLUTE 세션 내에서 사용된 FEC 인코딩 ID를 표시한다(FEC encoding ID used in this FLUTE session, as defined in RFC 3926).
FEC_instance_id 필드는 상기 FEC_OTI_indicator 필드가 '1'로 설정되었을 때 존재하며, 해당 FLUTE 세션 내에서 사용된 FEC 인스턴스 ID를 표시한다(FEC instance ID used in this FLUTE session, as defined in RFC 3926).
상기와 같은 파라미터들을 콤포넌트 루프 내 component_descriptor()의 NRT_component_data()를 통해 시그널링함으로써, 상기 FULTE 세션을 수신하기 위하여 필요한 정보들은 모두 제공할 수 있다.
즉, 상기 session_start_time 필드와 session_end_time 필드에 의해 설정된 시간 정보에 따라 해당 FLUTE 세션을 오픈하여 NRT 서비스를 구성하는 파일들, 및 상기 파일들의 시그널링 정보를 서술하는 FDT(File Description Table)를 수신할 수 있다. 상기 FDT는 모든 콘텐트 아이템들의 리스트들을 전달하는데 사용되고, 또한 콘텐트 아이템 및 콘텐트 아이템에 포함된 파일들을 획득하는데 필요한 정보들을 제공한다.
그리고 상기 FDT는 콘텐트 아이템에 포함되는 파일들을 유일하게 구별하기 위한 파일 식별자(file id)와 해당 FDT를 유일하게 식별하기 위한 인스턴스 식별자(instance id)를 포함한다. 그리고 FDT의 파일 레벨 또는 인스턴스 레벨별로 해당 콘텐트 아이템을 식별하는 content linkage가 할당된다.
예를 들어, 콘텐트 아이템을 구성하는 각 파일은 FLUTE 세션 내에서의 FDT 내에 명시된 content linkage, TOI 및 Content-Location 필드를 이용하여 식별한다. 본 발명은 content linkage, TOI 및 Content-Location 필드를 파일 식별자라 한다.
본 발명에 따른 하나의 NRT 서비스는 도 2에서와 같이 하나 이상의 콘텐트 아이템(또는 콘텐트 또는 NRT 콘텐트라 함)를 포함하고, 하나의 콘텐트 아이템은 하나 이상의 파일을 포함한다고 하였다.
이때 상기 콘텐트 아이템은 업데이트되지 않을 수도 있고, 일정 시간 주기로 업데이트될 수도 있으며, 아주 자주 업데이트될 수도 있다.
예를 들어, 경제 뉴스라는 콘텐트 아이템이 한번 서비스된 후로 더 이상 서비스가 안될 수도 있고, 2-3시간 주기로 업데이트될 수도 있고, 1-2초 간격으로 자주 업데이트될 수도 있다.
여기서, 콘텐트 아이템이 업데이트되었다는 것은 상기 콘텐트 아이템에 적어도 하나의 파일이 추가되거나, 상기 콘텐트 아이템에 속한 파일들 중 적어도 하나가 삭제되거나 및/또는 현재 존재하는 파일의 내용이 변경되었다는 것을 의미한다. 이때 콘텐트 아이템이 업데이트되는 경우, 상기 콘텐트 아이템에 해당하는 NRT 서비스 식별자와 콘텐트 식별자(예, content linkage 정보)는 변하지 않는다. 상기 콘텐트 아이템은 같은 내용이 주기적으로 전송되다가 업데이트가 발생할 수 있다.
이때, 상기 콘텐트 아이템이 업데이트되었는지를 식별할 수 있는 정보가 없다면, 상기 방송 수신기는 상기 콘텐트 아이템이 언제 업데이트되는지 알 수 없다. 따라서 방송 수신기는 상기 콘텐트 아이템이 전송되는 FLUTE 세션을 항상 오픈(or join)하여 상기 FLUTE 세션에 포함된 FDT를 계속 모니터링해야한다. 일 예로, 상기 FDT의 파일 식별자와 인스턴스 식별자가 변경되는지를 계속 모니터링하여야 한다.
그런데 일정 주기로 업데이트되는 콘텐트 아이템에 대해서도, 해당 FLUTE 세션을 항상 오픈하여 상기 FLUTE 세션에 포함된 FDT를 계속 모니터링하는 것은 방송 수신기에 부담을 줄 수 있다.
따라서 본 발명은 콘텐트 아이템의 업데이트 정보를 방송 수신기에 제공하도록 하는데 있다. 이 경우 본 발명에 따른 방송 수신기는 콘텐트 아이템의 업데이트 정보가 해당 콘텐트 아이템이 업데이트되었음을 지시하는 경우에만, 해당 FLUTE세션을 오픈하고 상기 FLUTE 세션에 포함된 FDT를 기반으로 상기 콘텐트 아이템을 구성하는 파일들을 수신하도록 한다. 이때 상기 콘텐트 아이템을 구성하는 파일들을 모두 수신할 수도 있고, 또는 업데이트된 파일들만 수신할 수도 있다. 상기 업데이트된 파일은 상기 콘텐트 아이템에 추가되는 파일도 해당된다.
이때 콘텐트 아이템의 업데이트 정보는 기존 테이블 예를 들어, NRT-IT에 포함될 수도 있고, 새로이 정의된 테이블에 포함될 수도 있다. 본 발명에서 새로이 정의되는 테이블을 콘텐트 버전 테이블(CVT)이라 하기로 한다. 본 발명은 상기 NRT-IT, NST, CVT 등을 시그널링 정보 테이블이라 하기도 한다.
상기 콘텐트 아이템의 업데이트 정보는 상기 NRT-IT 또는 CVT에 필드 형태로 포함될 수도 있고, 디스크립터 형태로 포함될 수도 있다. 본 발명은 필드 형태로 포함되는 것을 일 실시예로 한다.
본 발명에 따른 콘텐트 아이템의 업데이트 정보는 해당 콘텐트 아이템의 버전 번호를 표시하는 정보를 포함한다. 본 발명은 이 필드를 content_version_number 필드라 하기로 한다. 본 발명은 콘텐트 아이템에 적어도 하나의 파일이 추가되거나, 상기 콘텐트 아이템에 속한 파일들 중 적어도 하나가 삭제되거나 및/또는 현재 존재하는 파일의 내용이 변경되면, 상기 content_version_number 필드 값을 변경시키는 것을 일 실시예로 한다.
본 발명에 따른 콘텐트 아이템의 업데이트 정보는 해당 콘텐트 아이템이 빠르게(rapidly or at a high rate) 업데이트되는 콘텐트 아이템인지, 일정 주기로 업데이트되는 콘텐트인지를 구분할 수 있는 정보를 더 포함할 수 있다. 즉, 빠르게 업데이트되는 콘텐트 아이템(예, 2-3초 간격)은 항상 해당 FLUTE 세션을 오픈하여 업데이트 여부를 계속 모니터링하는 것이 더 효과적이다. 본 발명은 이 필드를 content_version_available 필드라 하기로 한다. 본 발명은 업데이트되는 콘텐트 아이템 중 빠르게(또는 아주 빈번하게) 업데이트되는 콘텐트 아이템에 대응하는 content_version_available 필드는 0으로 설정하고, 그렇지 않은 콘텐트 아이템에 대응하는 content_version_available 필드는 1로 설정하는 것을 일 실시예로 한다.
본 발명에서 업데이트되는 콘텐트 아이템 중 빠르게 업데이트되는 콘텐트 아이템과 그렇지 않은 콘텐트 아이템을 구분하기 위한 업데이트 시간 주기는 방송국에서 미리 결정되는 것을 일 실시예로 한다. 예를 들어, 10분 이내의 주기로 업데이트되는 콘텐트 아이템은 빠르게 업데이트되는 콘텐트 아이템이라고 결정할 수 있다. 이 수치는 본 발명의 이해를 돕기 위한 실시예일뿐이므로, 본 발명은 상기 수치에 의해 제한되지 않을 것이다.
NRT 정보 테이블(NRT-IT)
도 14와 도 15은 본 발명에 따른 콘텐트 아이템의 업데이트 정보를 포함하는 NRT-IT 섹션에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다.
본 발명에 따른 NRT-IT 섹션의 비트 스트림 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
본 발명에 따른 NRT 서비스 시그널링 데이터 중 NRT-IT는 콘텐트 아이템을 방송 수신기에 저장하기 위해, 다운로드 가능한 콘텐트 아이템을 기술하는 정보를 포함한다. The information provided in the NRT_IT includes the title of the content
(For example, the name of the program available for download), the times during which the content is to be made available for download, and information such as content advisories, availability of caption services, content identification, and other metadata. One item of content may consist of one or more files. For example, an audio/video clip may come with a JPEG thumbnail image that can be used to represent it in on-screen displays. The NRT-IT is used to provide information for virtual channels of service_type values 0x08.
An instance of the NRT-IT can include data corresponding to an arbitrarily defined time period, or can describe NRT content starting at a specified time and into the indefinite future. Each NRT-IT instance indicates the start time of the period it covers and the length of the period it covers (which may be indefinite). Each NRT-IT instance may be segmented into as many as 256 sections. One section may contain information for multiple content items, but the information for any given content item shall not be segmented and put into two or more sections.
Any content item to be made available for download for a time interval that extends beyond the time period covered one or more NRT-IT instances shall be described only in the first of these NRT-ITs. Content item descriptions are placed within the NRT_information_table_section() in the order of their first availability. Therefore, when last_section_number is greater than zero (meaning the NRT-IT is delivered in multiple sections), for sections other than the first (sections for which the value of section_number is greater than zero), all the content item descriptions within a given section shall have first availability times that are greater than or equal to all first availability times of content item descriptions in the immediately preceding section (the section whose value of section_number is one lower than the given section).
Each NRT-IT identifies NRT services associated with the given value of service_id available on a particular virtual channel sometime during the time period it covers.
이때, 하나의 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 field (8-bit) is set to 0xTBD to identify this table section as belonging to the Non-Real-Time Information Table.
service_id field (16-bit) specifies the service_id field associated with the NRT service offering content items described in this section.
NRT_IT_version_number field (5-bit) indicates the version number of this NRT-IT instance, where NRT-IT instance is defined as the set of one or more NRT_information_table_section() having common values for service_id field, current_next_indicator field, protocol_version field, and time_span_start field. The version number is incremented by 1 modulo 32 when any field in the NRT-IT instance changes.
current_next_indicator (1-bit) field is always set to '1' for NRT-IT sections; the NRT-IT sent is always currently applicable.
protocol_version field (8-bit) is set to zero. The function of protocol_version field is to allow, in the future, this table type to carry parameters that may be structured differently than those defined in the current protocol. At present, the only valid value for protocol_version field is zero. Non-zero values of protocol_version field may be used by a future version of this standard to indicate structurally different tables.
time_span_start field (32-bit) represents the start of the time span covered by this instance of the NRT-IT, expressed as the number of GPS seconds since 00:00:00 UTC, January 6, 1980. The time of day of time_span_start field is aligned to minute 00 of the hour. The value zero for time_span_start field indicates the time period covered by his NRT-IT instance began in the indefinite past. The value of time_span_start field is the same for each section of a multi-sectioned NRT-IT instance. The values of time_span_start field and time_span_length field are set such that the specified time span does not overlap with any other NRT-IT instance in this IP subnet.
time_span_length field (11-bit) indicates the number of minutes, starting at the time indicated by time_span_start field, covered by this instance of the NRT-IT. Once established, the value of time_span_length field for a given value of time_span_start field does not change. A value of time_span_length field of zero means this NRT-IT instance covers all time starting at time_span_start field into the indefinite future. If the value of time_span_start is zero, time_span_length field has no meaning. The value of time_span_length field is the same for each section of a multi-sectioned NRT-IT instance. The values of time_span_start field and time_span length field are set such that the specified time span does not overlap with any other NRT-IT instance in this IP subnet.
num_items_in_section field (8-bit) indicates the number of content items described in this NRT-IT section.
이후 상기 num_items_in_section 필드 값에 해당하는 콘텐트 아이템의 개수만큼'for' 루프(또는 콘텐트 아이템 루프라 함)가 수행되어 복수의 콘텐트 아이템에 대한 시그널링 정보를 제공한다. 즉, 상기 service_id 필드 값에 대응하는 NRT 서비스에 포함되는 콘텐트 아이템별로 해당 콘텐트 아이템의 시그널링 정보를 표시한다. 이때 각 콘텐트 아이템에 대해 다음과 같은 필드 정보를 제공할 수 있다.
content_linkage field (32-bit) in the range 0x0001 to 0xFFFF specifies the identification number of the content (or content item) described. Value 0x0000 is not used. The content_linkage field performs two linkage functions: it links metadata in the NRT-IT to one or more files in the FLUTE FDT associated with this NRT service; it also forms the TF_id field (identifier for Text Fragment in Text Fragment Table). The value of the content_linkage field corresponds to either the value of one of the FDT-Content-Linkage elements or the value of one of the File-Content-Linkage elements in the FLUTE FDT for each file associated with the content item. The precedence rules may be applied when matching each content_linkage value with the corresponding content linkage elements in the FLUTE FDT.
updates_available field (1비트)는 해당 콘텐트 아이템이 업데이트되는 콘텐트 아이템인지를 지시한다. 예를 들어, 상기 콘텐트 아이템이 한번 서비스되고 종료되는 NRT 서비스에 포함된 콘텐트 아이템이라면, updates_available field 값은 '0'으로 설정된다. 만일 상기 콘텐트 아이템이 한번 이상 업데이트되는 콘텐트 아이템이라면, 상기 updates_available field 값은 '1'로 설정된다. That is, this field specifies, when set to '1', that the referenced content item(s) will be updated. When the updates_available field is set to '0', updates are not expected to be provided for the associated content item(s), and broadcast receivers are not expected to look for them.
content_version_available 필드(1비트)는 현재 NRT-IT 섹션에 콘텐트 버전 번호 즉, content_version_number field가 포함되는지를 지시한다(content_version_available - A 1-bit field that indicates whether content version number is included in the current section of NRT-IT.).
본 발명은 상기 content_version_available 필드 값이 '1'이면 현재 콘텐트 아이템 루프에 content_version_number 필드가 포함되고, '0'이면 현재 콘텐트 아이템 루프에 content_version_number 필드가 포함되지 않는 것을 일 실시예로 한다.
즉, 해당 콘텐트 아이템이 빠르게 업데이트된다면, 해당 콘텐트 아이템 루프는 상기 updates_available field 값이'1'이더라도 content_version_number 필드를 포함하지 않는다. 이 때 상기 updates_available field 값은 '1'이고, content_version_available 필드 값은 '0'이다. 이 경우, 해당 콘텐트 아이템을 전송하는 FLUTE 세션을 항상 오픈(or join)하고, 상기 FLUTE 세션에 포함된 FDT를 계속 모니터링한다.
이에 반해, 해당 콘텐트 아이템이 업데이트는 되는데, 빠르게 업데이트되는 것이 아니라면, 해당 콘텐트 아이템 루프는 content_version_number 필드를 포함한다. 이때 상기 updates_available field 값과 content_version_available 필드 값은 모두 '1'이다. 이 경우, 상기 content_version_number 필드 값이 변경된 경우에만 해당 콘텐트 아이템을 전송하는 FLUTE 세션을 오픈(or join)하고, 상기 FLUTE 세션에 포함된 FDT를 참조하여 해당 콘텐트 아이템의 파일들을 다운로드한다.
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.
playback_length_in_seconds field (20-bit) specifies the duration of playback of the content, in seconds. For content consisting only of text and/or still images, the value zero is used. For content that includes audio or audio/video content, the playback_length_in_seconds field indicates the playback length of the audio or audio/video content.
content_version_number field (32-bit) indicates the version of the content item identified by the content_linkage field. The value of this field is incremented whenever one or more files belonging to the content item are added, deleted or updated. 상기 content_version_number 필드는 상기content_version_available 필드 값이 '1'이면 존재하고, '0'이면 존재하지 않는다.
상기 content_version_number field는 해당 콘텐트 아이템의 가장 최근의 버전 번호이다. 이때 상기 콘텐트 아이템이 업데이트되었는지를 확인하려면, 해당 콘텐트 아이템의 바로 이전 버전 번호와 비교해야한다. 이를 위해 본 발명은 상기 콘텐트 아이템을 식별할 수 있는 content_linkage 필드 값과 상기 content_linkage 필드 값에 의해 식별되는 콘텐트 아이템의 바로 이전 content_version_number 필드 값을 저장하는 것을 일 실시예로 한다.
이와 같이 본 발명의 방송 수신기는 현재 콘텐트 아이템 루프의 updates_available 필드, content_version_available 필드, content_version_number 필드를 이용하여, 해당 콘텐트 아이템의 FLUTE 세션에서의 변경을 검출할 수 있게 된다. 즉, 상기 updates_available 필드를 이용하면 해당 콘텐트 아이템이 업데이트되는지 유무를 알 수 있다. 그리고 content_version_available 필드를 이용하면 해당 콘텐트 아이템이 빠르게 업데이트되는지 유무를 알 수 있다. 또한 content_version_number 필드를 이용하면, 해당 콘텐트 아이템에 속한 파일들에 변경이 발생하였는지를 알 수 있다.
일 예로, 상기 updates_available 필드 값이 '0'이면, 해당 콘텐트 아이템의 업데이트는 없으므로, 방송 수신기는 해당 콘텐트에 대해 업데이트 여부를 체크할 필요가 없다(When updates_available field is '0', there is no content update so that the receiver does not have to check for any update.).
다른 예로, 상기 updates_available 필드 값이 '1'이고, content_version_available 필드 값이 '0'이면, 해당 콘텐트 아이템은 너무 자주 업데이트됨을 의미한다. 이 경우 방송 수신기는 NRT 서비스에 변경이 있는지를 확인하기 위해 해당 FLUTE 세션에 조인하여 FDT 인스턴스들을 체크해야한다(When updates_available field is '1' and content_version_available field is '0', the implication is that the contents are being updated too frequently to be signaled properly by NRT-IT. In this case, the broadcast receiver has to join the FLUTE session and check the FDT instances to find out what has changed in the NRT service of interest.). 즉, FLUTE 세션 레벨에서 해당 콘텐트 아이템의 FLUTE 세션에 변경이 발생하였는지를 검출한다.
또 다른 예로, 상기 updates_available 필드 값과 content_version_available 필드 값이 모두 '1'이면, 방송 수신기는 IP 레벨에서 해당 콘텐트 아이템의 FLUTE 세션에 변경이 발생했는지를 검출한다. 예를 들어, 해당 콘텐트 아이템의 content_version_number 필드 값이 변경되었으면, 해당 콘텐트 아이템이 업데이트되었다고 판단한다. 이 경우에만 해당 FLUTE 세션에 조인하여, 상기 FLUTE 세션에 포함된 FDT 인스턴스들을 체크한다. 상기 체크 결과, 상기 콘텐트 아이템의 파일들이 변경되었으면 상기 콘텐트 아이템을 구성하는 파일들을 다운로드한다. 즉, 상기 콘텐트 아이템에 새로운 파일들이 추가되었거나, 이전의 파일들이 삭제되었거나, 존재하는 파일들 중 새로운 버전의 파일들이 있으면 상기 콘텐트 아이템의 파일들이 업데이트(또는 변경)되었다고 판단한다(When both updates_available and content_version_available fields are '1', the receiver can detect that the changes have occurred in the FLUTE session. If the receiver sees that the version number of a content item has changed, it can join the FLUTE session, check the FDT instances, and see which files of that content item have changed new files added, previous files deleted, and/or new versions of existing files.). 이 경우 상기 콘텐트 아이템에 추가되는 파일들과 존재하는 파일들 중 새로운 버전의 파일들을 다운로드한다(Then it only has to download the new files and the new versions of existing files.). In practice, this means it just needs to download any files with new TOI values for that content item. It can check the Content-Location field of each such file to see whether it is a new file or an update to an existing file.
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 field (32-bit) represents the expiration time of the content, expressed as the number of GPS seconds since 00:00:00 UTC, January 6, 1980. Following expiration, the content is deleted from memory. If an expiration time is not specified, broadcast receivers are expected to use methods of their own choosing to manage memory resources.
content_name_length field (8-bit) specifies the length (in bytes) of the content_name_text().
content_name_text() field specifies the content item title in the format of a multiple string structure.
content_descriptors_length field (12-bit) indicates the total length (in bytes) of the content_descriptor ().
content_descriptor()는 is separately applied to each content item.
descriptors_length field (10-bit) indicates the total length (in bytes) of the descriptor().
descriptor()는 is commonly applied to all content items described in the current NRT-IT section.
도 16은 도 14, 도 15의 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 섹션에 포함되는 콘텐트 아이템들에 대해 개별적으로 수행된다. 즉, 해당 콘텐트 아이템에 대해, updates_available 필드 값이 '0'인지를 확인하여(S1203), '0'이면, 해당 콘텐트 아이템의 업데이트는 없으므로, 해당 콘텐트에 대해 업데이트 여부를 체크하지 않는다(S1204).
한편 상기 S1203에서 updates_available 필드 값이 '1'이라고 확인되면, content_version_available 필드 값이 '0'인지를 확인한다(S1205). 이때 content_version_available 필드 값이 '0'이면, 해당 콘텐트 아이템은 너무 자주 업데이트됨을 의미한다. 이 경우 NRT 서비스에 변경이 있는지를 확인하기 위해 해당 FLUTE 세션에 접속하여 FDT 인스턴스들을 계속 모니터링한다(S1206). 상기 모니터링 중에 FDT의 파일 식별자 또는 인스턴스 식별자가 변경되면, 해당 콘텐트 아이템이 업데이트되었다고 판단하고, 상기 콘텐트 아이템에 포함되는 파일들을 다운로드한다(S1207). 즉, 상기 updates_available 필드 값이 '1'이고, content_version_available 필드 값이 '0'이면, FDT 인스턴스들을 사용하여 해당 콘텐트 아이템의 업데이트를 판단한다.
만일, 상기 updates_available 필드 값과 content_version_available 필드 값이 모두 '1'이라고 확인되면, 해당 콘텐트 아이템의 미리 저장된 이전 콘텐트 버전 번호와 상기 NRT-IT에 포함된 콘텐트 버전 번호(content version number)를 비교한다(S1208). 이때 두 콘텐트 버전 번호가 다르면, 해당 콘텐트 아이템이 업데이트되었다고 판단한다. 이 경우에만 해당 FLUTE 세션에 접속하여 상기 FLUTE 세션에 포함된 FDT를 기반으로 상기 콘텐트 아이템의 파일들을 다운로드한다(S1209). 즉, 상기 updates_available 필드 값과 content_version_available 필드 값이 모두 '1'이면, NRT-IT를 사용하여 해당 콘텐트 아이템의 업데이트를 판단한다.
콘텐트 버전 테이블(CVT)
본 발명에 따른 콘텐트 아이템의 업데이트 정보는 NRT-IT 대신 CVT에 필드 형태로 포함될 수도 있고, 디스크립터 형태로 포함될 수도 있다. 본 발명은 필드 형태로 포함되는 것을 일 실시예로 한다.
본 발명에 따른 콘텐트 아이템의 업데이트 정보가 CVT에 포함된다면, 도 14, 도 15의 NRT-IT에서 content_version_available 필드 위치에 reserved 필드가 할당되고, content_version_number 필드는 할당되지 않는 것을 일 실시예로 한다.
도 17은 본 발명에 따른 콘텐트 아이템의 업데이트 정보를 포함하는 CVT 섹션에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다.
본 발명에 따른 CVT 섹션의 비트 스트림 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
이때, 하나의 CVT가 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 CVT 섹션 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다.
도 17에 도시된 CVT 섹션의 각 필드의 상세한 설명은 다음과 같다.
table_id 필드(8비트)는 테이블의 고유 식별자로서, 이 섹션이 속해있는 테이블이 CVT라는 것을 알려주는 값을 나타낸다.
section_syntax_indicator 필드(1비트)는 CVT의 섹션 형식을 정의하는 지시자이다.
private_indicator 필드(1비트)는 해당 CVT가 private section을 따르는지 여부를 나타내낸다.
section_length 필드(12비트)는 해당 CVT의 섹션 길이를 나타낸다.
service_id field (16-bit) specifies the service_id field associated with the NRT service offering content items described in this section.
CVT_version_number 필드(5비트)는 CVT의 버전 번호를 나타낸다.
current_next_indicator 필드(1비트)는 해당 CVT 섹션이 포함하는 정보가 현재 적용 가능한 정보인지, 미래 적용 가능한 정보인지를 나타낸다.
section_number 필드(8비트)는 현재 CVT 섹션의 섹션 번호를 나타낸다.
last_section_number 필드(8비트)는 CVT의 마지막 섹션 번호를 나타낸다.
CVT_protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들을 전송하는 CVT를 허용하기 위한 프로토콜 버전을 알려준다(An 8-bit unsigned integer field whose function is to allow, in the future, this CVT to carry parameters that may be structured differently than those defined in the current protocol. At present, the value for the CVT_protocol_version shall be zero. Non-zero values of CVT_protocol_version may be used by a future version of this standard to indicate structurally different tables.)
num_items_in_section 필드(8비트)는 CVT 섹션 내의 콘텐트 아이템의 개수를 지시한다.
이후 상기 num_items_in_section 필드 값에 해당하는 콘텐트 아이템의 개수만큼'for' 루프(또는 콘텐트 아이템 루프라 함)가 수행되어 복수의 콘텐트 아이템에 대한 버전 정보를 제공한다. 즉, 상기 CVT 섹션에 포함되는 콘텐트 아이템별로 해당 콘텐트 아이템의 버전 정보를 제공한다. 이때 각 콘텐트 아이템에 대해 다음과 같은 필드 정보를 제공할 수 있다.
content_linkage field (16-bit) in the range 0x0001 to 0xFFFF specifies the identification number of the content (or content item) described. Value 0x0000 is not used. The content_linkage field links metadata in the CVT to one or more files in the FLUTE FDT associated with this NRT service. The value of the content_linkage field corresponds to either the value of one of the FDT-Content-Linkage elements or the value of one of the File-Content-Linkage elements in the FLUTE FDT for each file associated with the content item. The precedence rules may be applied when matching each content_linkage value with the corresponding content linkage elements in the FLUTE FDT.
content_version_number field (32-bit) indicates the version of the content item identified by the content_linkage field. The value of this field shall be incremented whenever one or more files belonging to the content item are added, deleted or updated.
본 발명에 따른 CVT는 업데이트되지 않는 콘텐트 아이템의 업데이트 정보는 포함하지 않는다. 또한 상기 CVT는 고속으로 일정하게 업데이트되는 콘텐트 아이템의 업데이트 정보도 포함하지 않는다(The CVT would not contain content items that are never updated, nor content items that are constantly updated at a high rate). More specifically, for fixed broadcasts, the CVT will contain the content items that are in the instance of the NRT-IT covering the current time, except for those for which updates_available is false and those that are constantly updated at a high rate.
이 경우 NRT-IT의 updates_available 필드는 위의 두 경우를 구분하기 위해 사용될 수 있다(The updates_available field in the NRT-IT can be used to distinguish between these two cases).
예를 들어, NRT-IT내 service_id 필드에 의해 식별되는 NRT 서비스에 콘텐트 아이템 1, 콘텐트 아이템 2, 콘텐트 아이템 3, 콘텐트 아이템 4가 포함된다고 가정하자. 그리고 콘텐트 아이템 1은 너무 자주(또는 빠르게) 업데이트되고, 콘텐트 아이템 2와 콘텐트 아이템 4는 업데이트는 되지만 너무 자주 업데이트되지는 않으며, 콘텐트 아이템 3은 업데이트가 없다고 가정하자.
이 경우, 상기 NRT-IT에서 콘텐트 아이템 1,2,4에 해당하는 콘텐트 아이템 루프 내 updates_available 필드 값은 '1'이고, 콘텐트 아이템 3에 해당하는 콘텐트 아이템 루프 내 updates_available 필드 값은 '0'이다. 그리고, CVT에는 콘텐트 아이템 2와 콘텐트 아이템 4의 업데이트 정보만 포함된다.
이때 방송 수신기는 콘텐트 아이템 3의 업데이트에 대해서 확인을 하지 않는다.
그리고, 콘텐트 아이템 1의 업데이트 여부는 CVT에서 확인할 수 없다. 이 경우 방송 수신기는 상기 콘텐트 아이템 1의 업데이트 여부를 확인하기 위해, 상기 콘텐트 아이템 1을 전송하는 FLUTE 세션을 항상 오픈하고 상기 FLUTE 세션에 포함된 FDT를 계속적으로 모니터링해야 한다. 모니터링 중에 업데이트가 확인되면 상기 FDT를 참조하여 업데이트된 파일을 다운로드한다.
이에 반해, 상기 콘텐트 아이템 2와 콘텐트 아이템 4의 업데이트 여부는 CVT에서 확인할 수 있다. 이 경우 방송 수신기는 상기 CVT의 각 콘텐트 아이템 루프 내 content_linkage 필드와 content_version_number 필드를 이용하여 해당 콘텐트 아이템의 업데이트 여부를 확인한다. 그리고, 업데이트가 확인된 경우에만 해당 FLUTE 세션에 조인하고, 상기 FLUTE 세션에 포함된 FDT 인스턴스를 기반으로 상기 콘텐트 아이템에 추가, 또는 업데이트된 파일을 찾아 다운로드한다.
즉, 콘텐트 아이템 2와 콘텐트 아이템 4 중 적어도 하나에 변경이 발생하면, 그것은 CVT의 새로운 버전에 의해 시그널링된다. More specifically, whenever a new version of a content item is to be transmitted, it would be signaled by a new version of the CVT. The new CVT version would appear after the last transmission of the previous version of the content item is completed, and before the first transmission of the new version of the content item is started. 이때 상기 content_version_number field 값은 해당 콘텐트 아이템의 가장 최근의 버전 번호이다. 이때 상기 콘텐트 아이템이 업데이트되었는지를 확인하려면, 해당 콘텐트 아이템의 바로 이전 버전 번호와 비교해야한다. 이를 위해 본 발명은 상기 콘텐트 아이템을 식별할 수 있는 content_linkage 필드 값과 상기 content_linkage 필드 값에 의해 식별되는 콘텐트 아이템의 바로 이전 content_version_number 필드 값을 저장하는 것을 일 실시예로 한다.
한편 본 발명의 일 실시예로서, CVT는 NRT 서비스 시그널링 채널에 포함되어 수신되는 것을 일 실시예로 한다. 이 경우 상기 CVT, NRT-IT, 그리고 NST는 동일한 well-known IP 어드레스와 well-known UDP 포트 번호를 갖는다. 이때 상기 NRT 서비스 시그널링 채널은 별도의 IP 억세스 정보 없이 수신할 수 있다. 그리고 상기 NRT 서비스 시그널링 데이터에 포함된 CVT의 구분은 테이블 식별자에 의해 이루어진다. 즉, 상기 테이블 식별자는 해당 테이블 또는 해당 테이블 섹션의 헤더에 존재하는 table_id가 될 수 있으며, 필요한 경우 table_id_extension을 더 참조하여 구분할 수 있다.
본 발명의 다른 실시예로서, CVT는 상기 NRT 서비스 시그널링 채널의 well-known IP 어드레스와 well-known UDP 포트 번호와는 다른 well-known IP 어드레스와 well-known UDP 포트 번호로 IP 패킷화되어 수신될 수 있다. 이때에도 상기 CVT는 별도의 IP 억세스 정보 없이 수신할 수 있다.
본 발명은 또 다른 실시예로서, CVT의 IP 어드레스와 UDP 포트 번호가 다른 테이블 예를 들어, NST에 포함되어 수신될 수 있다. 이 경우 상기 NST에 포함된 IP 어드레스와 UDP 포트 번호를 이용하여 CVT를 획득한다.
도 18은 상기와 같이 CVT가 NRT 서비스 시그널링 채널에 포함되어 수신될 때, 상기 CVT를 이용하여 콘텐트 아이템의 업데이트를 확인하고 처리하는 과정을 정리한 흐름도이다.
즉, NRT 서비스 시그널링 채널에 관련된 IP/UDP 패킷들을 파싱한다(S1301). 상기 파싱된 IP/UDP 패킷들로부터 CVT 섹션을 획득하여 각 필드들을 분석한다(S1302).
이후의 과정들은 상기 CVT 섹션에 포함되는 콘텐트 아이템들에 대해 개별적으로 수행된다. 즉, 해당 콘텐트 아이템의 미리 저장된 이전 콘텐트 버전 번호와 상기 CVT 섹션에 포함된 콘텐트 버전 번호(content version number)를 비교한다(S1303). 이때 두 콘텐트 버전 번호가 다르면, 해당 콘텐트 아이템이 업데이트되었다고 판단한다. 이 경우에만 해당 FLUTE 세션에 접속하여 상기 FLUTE 세션에 포함된 FDT를 기반으로 상기 콘텐트 아이템의 파일들을 다운로드한다(S1304). 즉, CVT를 사용하여 해당 콘텐트 아이템의 업데이트를 판단한다.
도 19는 본 발명에 따른 CVT 위치 디스크립터 CVT_location_descriptor()의 비트 스트림 신택스 구조에 대한 일 실시예를 보이고 있다.
즉, 도 19의 경우, CVT를 NRT 서비스 시그널링 채널로 전송하지 않으면서 또한, well-known IP 어드레스와 well-known UDP 포트 번호를 사용하지 않는 경우에 해당된다.
본 발명에 따른 CVT_location_descriptor()는 도 10, 도 11의 NST의 서비스 레벨 디스크립터 service_level_descriptors()의 하나로서 전송되는 것을 일 실시예로 한다.
상기 CVT_location_descriptor()의 각 필드에 대한 설명은 다음과 같다.
도 19에서, descriptor_tag 필드(8비트)는 디스크립터 식별자로서, CVT 위치 디스크립터 CVT_location_descriptor()를 식별하는 식별자가 설정될 수 있다.
descriptor_length 필드(8비트)는 상기 descriptor_length 필드 이후부터 이 descriptor의 끝까지, 디스크립터의 나머지 길이를 byte 단위로 나타낸다.
CVT_UDP_port 필드(16비트)는 상기 CVT을 전송하는 UDP/IP 스트림의 UDP 포트 번호를 나타낸다.
CVT_IP_address 필드(32 또는 128비트)는 상기 CVT 을 전송하는 IP 데이터그램들의 IP 어드레스를 나타낸다. 상기 CVT_IP_address 필드 값은 IP 버전(즉, IPv4인지, IPv6인지)에 따라 32 비트가 사용될 수도 있고, 128비트가 사용될 수도 있다.
도 20은 도 19와 같이 CVT의 IP 어드레스와 UDP 포트 번호가 NST에 포함되어 수신될 때, 상기 NST로부터 CVT의 IP 어드레스와 UDP 포트 번호를 획득하여 해당 CVT를 수신하고, 수신된 CVT를 이용하여 콘텐트 아이템의 업데이트를 확인하고 처리하는 과정을 정리한 흐름도이다.
즉, NRT 서비스 시그널링 채널에 관련된 IP/UDP 패킷들을 파싱하여 NST를 획득한다(S1401). 상기 획득된 NST로부터 CVT 섹션의 IP 접속 정보 즉, IP 어드레스와 UDP 포트 번호를 추출하고(S1402), 추출된 IP 어드레스와 UDP 포트 번호를 기반으로 CVT를 수신하여 각 필드들을 분석한다(S1403).
이후의 과정들은 상기 CVT 섹션에 포함되는 콘텐트 아이템들에 대해 개별적으로 수행된다. 즉, 해당 콘텐트 아이템의 미리 저장된 이전 콘텐트 버전 번호와 상기 CVT 섹션에 포함된 콘텐트 버전 번호(content version number)를 비교한다(S1404). 이때 두 콘텐트 버전 번호가 다르면, 해당 콘텐트 아이템이 업데이트되었다고 판단한다. 이 경우에만 해당 FLUTE 세션에 접속하여 상기 FLUTE 세션에 포함된 FDT를 기반으로 상기 콘텐트 아이템의 파일들을 다운로드한다(S1405). 즉, CVT를 사용하여 해당 콘텐트 아이템의 업데이트를 판단한다.
한편 지금까지는 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)인,"UpdatesAvailable" element를 할당하는 것을 일 실시예로 한다. 상기 "UpdatesAvailable" element는 Fixed NRT 서비스의 updates_available 필드와 동일한 시멘틱스(semantics)를 갖는다. 이때 콘텐트 아이템의 업데이트 정보는 OMA BCAST의 SG 콘텐트 프래그먼트에 포함될 수도 있고, 본 발명에 따른 CVT에 포함될 수도 있다.
도 21은 본 발명에 따른 OMA BCAST의 SG 콘텐트 프래그먼트에 "UpdatesAvailable" element를 할당하는 예를 보이고 있다. 즉, 상기 "UpdatesAvailable" element 는 SG 콘텐트 프래그먼트의 PrivateExt 영역에 포함된다. 상기 "UpdatesAvailable" element는 UpdatesAvailableType으로 표현된다. 상기 UpdatesAvailableType은 restriction base가 boolean인 것을 일 실시예로 한다. 는 상기 UpdatesAvailableType은 simpleType 이름으로 UpdatesAvailableType을 가진다.
만일, Mobile NRT 서비스에서도 콘텐트 아이템의 업데이트 정보가 CVT에 포함되어 수신된다면, CVT는 모바일 NRT 서비스를 위한 NRT 서비스 시그널링 채널에 포함되어 수신될 수 있다. 이 경우 상기 CVT와 SMT는 동일한 well-known IP 어드레스와 well-known UDP 포트 번호를 갖는다.
또한 상기 CVT는 상기 NRT 서비스 시그널링 채널의 well-known IP 어드레스와 well-known UDP 포트 번호와는 다른 well-known IP 어드레스와 well-known UDP 포트 번호로 IP 패킷화되어 수신될 수도 있다. 또한 본 발명에서 CVT의 IP 어드레스와 UDP 포트 번호는 SMT의 서비스 레벨 디스크립터로서 수신될 수 있다. 이 경우 상기 SMT에 포함된 IP 어드레스와 UDP 포트 번호를 이용하여 CVT를 획득한다. For mobile broadcasts, the CVT will contain the content items for which the current time lies within a DistributionWindow of the Content fragment in a Schedule, except for those for which UpdatesAvailable is false and those that are constantly updated at a high rate. Whenever a new version of a content item is to be transmitted, it will be signaled by a new version of the CVT. The new CVT version will appear after the last transmission of the previous version of the content item is completed, and before the first transmission of the new version of the content item is started.
즉, Mobile NRT 서비스에서 콘텐트 아이템이 업데이트되는 아이템인지, 또한 업데이트된다면 아주 빈번하게 업데이트되는지의 식별은 OMA BCAST의 SG 콘텐트 프래그먼트에 할당된 "UpdatesAvailable" element를 이용하는 것을 제외하고는, 콘텐트 아이템의 업데이트 확인 및 다운로드 과정은 Fixed NRT 서비스의 설명을 참조하면 되므로, 여기서는 생략하기로 한다.
도 22는 본 발명에 따른 Fixed NRT 서비스를 위한 방송 수신기의 일 실시예를 보인 구성 블록도이다.
도 22의 방송 수신기는 오퍼레이션 제어기(100), 베이스밴드 처리부(110), 서비스 역다중화기(120), 스트림 콤포넌트 핸들러(130), 미디어 핸들러(140), 파일 핸들러(150), 서비스 매니저(160), PVR 매니저(170), 제1 저장부(180), SG 핸들러(190), EPG 핸들러(200), NRT 서비스 매니저(210), 어플리케이션 매니저(220), 미들웨어 엔진(230), 프리젠테이션 매니저(240), 및 UI(User Interface) 매니저(250)를 포함할 수 있다.
상기 베이스밴드 처리부(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)를 포함할 수 있다.
본 발명에서 NST, NRT-IT, 및 CVT를 수신하여 처리하기 위한 제1 처리부는 적어도 서비스 매니저(160), 서비스 역다중화기(120)를 포함한다. 또한 적어도 하나의 파일을 포함하는 콘텐트 아이템을 비실시간으로 수신하여 저장 매체에 저장하기 위한 제2 처리부는 적어도 베이스밴드 처리부(110), 서비스 역다중화기(120), 스트림 콤포넌트 핸들러(130), 미디어 핸들러(140)를 포함한다. 상기 저장 매체는 상기 제1 내지 제3 저장부 중 어느 하나가 될 수 있다. 상기 콘텐트의 업데이트 여부를 확인하고, 상기 콘텐트를 전송하는 플루트(FLUTE) 세션에 접속하여 업데이트된 콘텐트의 적어도 하나의 파일을 수신하기 위한 제3 처리부는 적어도 서비스 매니저(160), NRT 서비스 매니저(210), 스트림 콤포넌트 핸들러(3130), 미디어 핸들러(140)를 포함한다.
이와 같이 구성된 도 22에서, 튜너(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 등의 테이블 정보가 상기 과정을 거쳐 제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 세션의 접속 정보를 얻을 수 있다. 만일 본 발명에 따른 CVT가 NRT 서비스 시그널링 채널에 포함되어 수신된다면, 상기 서비스 시그널링 섹션 핸들러(138-1)는 상기 NRT 서비스 시그널링 데이터로부터 도 17과 같은 CVT를 복원하고 파싱하여 서비스 매니저(160)로 출력한다. 만일 상기 CVT의 IP 접속 정보가 NST에 포함되어 수신된다면, 상기 서비스 시그널링 섹션 핸들러(138-1), 서비스 매니저(160), NRT 서비스 매니저(210) 중 어느 하나에서 상기 NST의 CVT_location_descripto()로부터 IP 어드레스와 UDP 포트 번호를 획득하고, 획득된 IP 어드레스외 UDP 포트 번호를 기반으로 CVT를 수신한다.
상기 NST, NRT-IT 및/또는 CVT로부터 파싱된 정보는 서비스 매니저(160)에 의해 수집되어 제1 저장부(180)에 저장된다. 상기 서비스 매니저(160)는 상기 NST, NRT-IT 및/또는 CVT에서 추출된 정보를 서비스 맵 및 가이드 데이터 형태로 상기 제1 저장부(180)에 저장한다. 다른 실시예로, 상기 서비스 매니저(160)의 역할을 NRT 서비스 매니저(210)에서 수행할 수도 있다. 즉, 상기 NST, NRT-IT 및/또는 CVT로부터 파싱된 정보는 NRT 서비스 매니저(210)에 의해 수집되어 제1 저장부(180)에 저장될 수도 있다.
또한 상기 서비스 매니저(160) 또는 NRT 서비스 매니저(210)는 NST, NRT-IT 및/또는 CVT를 이용하여 상기 NRT-IT에 기술되는 NRT 서비스에 포함되는 각 콘텐트 아이템의 업데이트 여부를 확인하고, 확인 결과에 따른 동작을 수행한다.
즉, NRT-IT를 이용하여 IP 레벨에서 각 콘텐트 아이템의 업데이트 여부를 확인하고, 확인 결과에 따라 해당 FLUTE 세션에 접속하여 업데이트된 콘텐트 아이템의 파일들을 다운로드하는 과정은 전술한 도 14 내지 도 16을 참조한다.
그리고, NRT 서비스 시그널링 채널에 포함되어 수신되는 CVT를 이용하여 IP 레벨에서 각 콘텐트 아이템의 업데이트 여부를 확인하고, 확인 결과에 따라 해당 FLUTE 세션에 접속하여 업데이트된 콘텐트 아이템의 파일들을 다운로드하는 과정은 전술한 도 17과 도 18을 참조한다.
한편, NST에 상기 CVT의 IP 접속 정보가 포함되어 수신되는 경우, 상기 IP 접속 정보를 이용하여 CVT를 획득하고, 획득한 CVT를 이용하여 IP 레벨에서 각 콘텐트 아이템의 업데이트 여부를 확인한 후, 확인 결과에 따라 해당 FLUTE 세션에 접속하여 업데이트된 콘텐트 아이템의 파일들을 다운로드하는 과정은 전술한 도 17, 도 19, 도 20을 참조한다.
상기 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 (8)

  1. 실시간 데이터, 비실시간 데이터, 및 상기 비실시간 데이터를 포함하는 비실시간 컨텐트가 전송되는 채널에 접근하기 위한 정보를 포함하는 시그널링 데이터를 생성하는 단계,
    여기서, 상기 비실시간 데이터는, 상기 비실시간 데이터가 사용되기 이전에 전송되어, 수신기에 저장되는 방송 데이터이고; 및
    상기 비실시간 데이터를 비실시간으로 전송하고, 상기 실시간 데이터를 실시간으로 전송하고, 상기 시그널링 데이터를 실시간 또는 비실시간으로 전송하는 방송 신호를 생성하는 단계;
    를 포함하고,
    상기 비실시간 데이터는, IP (Internet Protocol)로 처리되어, 상기 방송 신호를 통하여 전송되고,
    상기 비실시간 컨텐트는, 하나 이상의 파일들을 포함하고,
    상기 방송 신호는, 상기 하나 이상의 파일들을 처리하기 위한 정보를 포함하는 파일 설명 데이터를 포함하는 것을 특징으로 하는 방송 신호를 전송 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 실시간 데이터와 상기 비실시간 데이터가 조합되어, 하나의 방송 서비스를 구성하는 것을 특징으로 하는 방송 신호를 전송 처리하는 방법.
  3. 제 2 항에 있어서,
    상기 시그널링 데이터는, 상기 하나 이상의 파일들이 속하는 상기 비실시간 컨텐트를 식별하는 컨텐츠 링키지 (linkage) 정보를 포함하는 방송 신호를 전송 처리하는 방법.
  4. 제 3 항에 있어서,
    상기 시그널링 데이터는, 상기 비실시간 컨텐트의 크기를 나타내는 컨텐트 크기 정보를 더 포함하고,
    상기 컨텐트 크기 정보는, 수신기가 상기 비실시간 컨텐트에 대한 다운로드를 시도하기 이전에, 상기 수신기에 상기 비실시간 컨텐트을 위하여 사용 가능한 메모리 공간이 있는지 판단하는데 사용되는 것을 특징으로 하는 방송 신호를 전송 처리하는 방법.
  5. 실시간 데이터, 비실시간 데이터, 및 상기 비실시간 데이터를 포함하는 비실시간 컨텐트가 전송되는 채널에 접근하기 위한 정보를 포함하는 시그널링 데이터를 생성하는 인코더,
    여기서, 상기 비실시간 데이터는, 상기 비실시간 데이터가 사용되기 이전에 전송되어, 수신기에 저장되는 방송 데이터이고; 및
    상기 비실시간 데이터를 비실시간으로 전송하고, 상기 실시간 데이터를 실시간으로 전송하고, 상기 시그널링 데이터를 실시간 또는 비실시간으로 전송하는 방송 신호를 생성하는 전송부;
    를 포함하고,
    상기 비실시간 데이터는, IP (Internet Protocol)로 처리되어, 상기 방송 신호를 통하여 전송되고,
    상기 비실시간 컨텐트는, 하나 이상의 파일들을 포함하고,
    상기 방송 신호는, 상기 하나 이상의 파일들을 처리하기 위한 정보를 포함하는 파일 설명 데이터를 포함하는 것을 특징으로 하는 방송 신호 전송 장치.
  6. 제 5 항에 있어서,
    상기 실시간 데이터와 상기 비실시간 데이터가 조합되어, 하나의 방송 서비스를 구성하는 것을 특징으로 하는 방송 신호 전송 장치.
  7. 제 6 항에 있어서,
    상기 시그널링 데이터는, 상기 하나 이상의 파일들이 속하는 상기 비실시간 컨텐트를 식별하는 컨텐츠 링키지 (linkage) 정보를 포함하는 방송 신호 전송 장치.
  8. 제 3 항에 있어서,
    상기 시그널링 데이터는, 상기 비실시간 컨텐트의 크기를 나타내는 컨텐트 크기 정보를 더 포함하고,
    상기 컨텐트 크기 정보는, 수신기가 상기 비실시간 컨텐트에 대한 다운로드를 시도하기 이전에, 상기 수신기에 상기 비실시간 컨텐트을 위하여 사용 가능한 메모리 공간이 있는지 판단하는데 사용되는 것을 특징으로 하는 방송 신호 전송 장치.
KR1020167021383A 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기 KR101727049B1 (ko)

Applications Claiming Priority (21)

Application Number Priority Date Filing Date Title
US11588808P 2008-11-18 2008-11-18
US61/115,888 2008-11-18
US12117808P 2008-12-09 2008-12-09
US12118108P 2008-12-09 2008-12-09
US61/121,181 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
US17900509P 2009-05-17 2009-05-17
US61/179,005 2009-05-17
US23613809P 2009-08-23 2009-08-23
US61/236,138 2009-08-23
US23685909P 2009-08-25 2009-08-25
US61/236,859 2009-08-25
US25859609P 2009-11-06 2009-11-06
US61/258,596 2009-11-06
PCT/KR2009/006794 WO2010058958A2 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117013811A Division KR101647379B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177009361A Division KR101759958B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기

Publications (2)

Publication Number Publication Date
KR20160095210A true KR20160095210A (ko) 2016-08-10
KR101727049B1 KR101727049B1 (ko) 2017-04-14

Family

ID=42198660

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020117013811A KR101647379B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기
KR1020177009361A KR101759958B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기
KR1020167021383A KR101727049B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020117013811A KR101647379B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기
KR1020177009361A KR101759958B1 (ko) 2008-11-18 2009-11-18 비실시간 서비스 처리 방법 및 방송 수신기

Country Status (3)

Country Link
US (4) US8874683B2 (ko)
KR (3) KR101647379B1 (ko)
WO (1) WO2010058958A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6554798B1 (en) 1998-08-18 2003-04-29 Medtronic Minimed, Inc. External infusion device with remote programming, bolus estimator and/or vibration alarm capabilities
JP4469504B2 (ja) 1998-10-08 2010-05-26 メドトロニック ミニメド インコーポレイテッド 遠隔形質モニタシステム
US8849183B2 (en) 2007-10-05 2014-09-30 Qualcomm Incorporated Location and time based filtering of broadcast information
US9280778B2 (en) * 2008-12-15 2016-03-08 Qualcomm Incorporated Location logging and location and time based filtering
US8782725B2 (en) * 2009-01-15 2014-07-15 Lg Electronics Inc. Method of processing non-real time service and broadcast receiver
WO2010082783A2 (ko) 2009-01-15 2010-07-22 엘지전자 주식회사 비실시간 서비스 처리 방법 및 방송 수신기
TWI410870B (zh) * 2010-03-26 2013-10-01 Novatek Microelectronics Corp 電腦系統架構
US20110302599A1 (en) 2010-06-07 2011-12-08 Mark Kenneth Eyer TV-Centric Actions in Triggered Declarative Objects
US8898723B2 (en) 2010-08-20 2014-11-25 Sony Corporation Virtual channel declarative script binding
US8893210B2 (en) 2010-08-20 2014-11-18 Sony Corporation Server load balancing for interactive television
US8918801B2 (en) 2010-08-30 2014-12-23 Sony Corporation Transmission apparatus, transmission method, reception apparatus, reception method, program, and broadcasting system
US9485108B2 (en) 2011-03-14 2016-11-01 Qualcomm Incorporated System and apparatus for using multichannel file delivery over unidirectional transport (“FLUTE”) protocol for delivering different classes of files in a broadcast network
US9451401B2 (en) * 2011-05-27 2016-09-20 Qualcomm Incorporated Application transport level location filtering of internet protocol multicast content delivery
US20130282870A1 (en) * 2012-04-18 2013-10-24 Sony Corporation Reception apparatus, reception method, transmission apparatus, transmission method, and program
WO2014028255A1 (en) * 2012-08-15 2014-02-20 Sony Corporation Broadband delivery of personalization information for advanced tv services
US9781181B2 (en) * 2013-06-17 2017-10-03 Qualcomm Incorporated Multiple file delivery over unidirectional transport protocol sessions for a service
JP2015043484A (ja) * 2013-08-26 2015-03-05 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
US10110541B2 (en) * 2013-10-17 2018-10-23 International Business Machines Corporation Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window
WO2016067989A1 (ja) * 2014-10-28 2016-05-06 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
US9860504B2 (en) 2015-01-09 2018-01-02 Vixs Systems, Inc. Color gamut mapper for dynamic range 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
US9654755B2 (en) * 2015-01-09 2017-05-16 Vixs Systems, Inc. Dynamic range converter with logarithmic conversion and methods for use therewith
CN107534793B (zh) * 2015-04-30 2021-08-03 索尼公司 接收装置、传输装置以及数据处理方法
US9936055B2 (en) * 2016-01-27 2018-04-03 Dell Products L.P. Using multicasting to concurrently image multiple client devices
US10187678B2 (en) * 2016-11-17 2019-01-22 Rovi Guides, Inc. Systems and methods for displaying segments of media guidance data
US11159833B2 (en) * 2018-11-23 2021-10-26 Sony Corporation Buffer management for storing files of a received packet stream
US20220132211A1 (en) * 2020-10-27 2022-04-28 Circle Computer Resources, Inc. Low-latency content delivery over a public network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074599A (ko) * 2007-02-09 2008-08-13 엘지전자 주식회사 방송 신호 수신 장치 및 방송 신호 송수신 방법
KR20080088752A (ko) * 2007-03-30 2008-10-06 엘지전자 주식회사 방송 신호 처리 방법 및 방송 수신기

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096487B1 (en) * 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
US7017175B2 (en) * 2001-02-02 2006-03-21 Opentv, Inc. Digital television application protocol for interactive television
US20050238316A1 (en) * 2002-09-19 2005-10-27 Thomson Licensing S,A, Hybrid video on demand using mpeg2 transport
KR20050042377A (ko) * 2003-11-03 2005-05-09 주식회사 이머텍 저속채널의 스트리밍 서비스를 위한 데이터 분할 전송방법 및 시스템
US20050129042A1 (en) * 2003-12-16 2005-06-16 Nokia Corporation System and associated terminal, method and computer program product for controlling memory for storage of content
EP1555808A1 (en) * 2004-01-19 2005-07-20 Alcatel Multimedia telecommunication system with a multipurpose multimedia device
US8141118B2 (en) * 2004-07-26 2012-03-20 Microsoft Corporation Data broadcasting receiver power management
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
KR20060082014A (ko) * 2005-01-11 2006-07-14 삼성전자주식회사 매니페스트 파일 자료구조, 이를 이용한 컨텐츠 다운로드방법 및 그 재생장치
EP1842369B1 (en) * 2005-01-12 2020-04-08 Invidi Technologies Corporation Targeted impression model for broadcast network asset delivery
US8351363B2 (en) * 2005-04-08 2013-01-08 Qualcomm Incorporated Method and apparatus for enhanced file distribution in multicast or broadcast
US20060293077A1 (en) * 2005-06-27 2006-12-28 Nokia Corporation System, terminal, method, and computer program product for allocating memory for storage of content
US7738863B2 (en) * 2005-08-25 2010-06-15 Nokia Corporation IP datacasting middleware
US7565506B2 (en) * 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
KR20070106325A (ko) * 2006-04-28 2007-11-01 엘지전자 주식회사 디지털 방송 신호와 상기 신호를 처리하는 장치 및 방법
US7992175B2 (en) * 2006-05-15 2011-08-02 The Directv Group, Inc. Methods and apparatus to provide content on demand in content broadcast systems
US8051193B2 (en) * 2006-09-29 2011-11-01 Sap Ag Communications between content and presentation players
CA2674996C (en) * 2007-01-10 2015-05-12 Nokia Corporation System and method for implementing mbms handover during download delivery
EP1944944A1 (en) * 2007-01-12 2008-07-16 Thomson Licensing System and method for combining pull and push modes
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US20080301750A1 (en) * 2007-04-13 2008-12-04 Robert Denton Silfvast Networked antenna and transport system unit
KR100958653B1 (ko) * 2007-08-07 2010-05-20 한국전자통신연구원 디지털 방송 송수신 장치 및 방법
US9462020B2 (en) * 2008-01-16 2016-10-04 Qualcomm Incorporated Intelligent client: multiple channel switching over a digital broadcast network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074599A (ko) * 2007-02-09 2008-08-13 엘지전자 주식회사 방송 신호 수신 장치 및 방송 신호 송수신 방법
KR20080088752A (ko) * 2007-03-30 2008-10-06 엘지전자 주식회사 방송 신호 처리 방법 및 방송 수신기

Also Published As

Publication number Publication date
WO2010058958A3 (ko) 2010-07-29
US20100180007A1 (en) 2010-07-15
KR101727049B1 (ko) 2017-04-14
US9699498B2 (en) 2017-07-04
WO2010058958A2 (ko) 2010-05-27
KR101759958B1 (ko) 2017-07-20
US20140366067A1 (en) 2014-12-11
KR20170042807A (ko) 2017-04-19
KR20110112807A (ko) 2011-10-13
KR101647379B1 (ko) 2016-08-10
US20170275875A1 (en) 2017-09-28
US20140366076A1 (en) 2014-12-11
US8874683B2 (en) 2014-10-28
US10676922B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
KR101727049B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
KR101685987B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
KR101706956B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
KR101695820B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
KR101635889B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기
US9681191B2 (en) Method of processing non-real time service and broadcast receiver
KR101597578B1 (ko) 비실시간 서비스 처리 방법 및 방송 수신기

Legal Events

Date Code Title Description
A107 Divisional application of patent
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