KR20010082261A - 디지털 텔레비젼 수신기로 하여금 추상적인 포맷의 시스템정보에 억세스할 수 있도록 하는 어플리케이션 프로그램밍인터페이스 - Google Patents

디지털 텔레비젼 수신기로 하여금 추상적인 포맷의 시스템정보에 억세스할 수 있도록 하는 어플리케이션 프로그램밍인터페이스 Download PDF

Info

Publication number
KR20010082261A
KR20010082261A KR1020017005308A KR20017005308A KR20010082261A KR 20010082261 A KR20010082261 A KR 20010082261A KR 1020017005308 A KR1020017005308 A KR 1020017005308A KR 20017005308 A KR20017005308 A KR 20017005308A KR 20010082261 A KR20010082261 A KR 20010082261A
Authority
KR
South Korea
Prior art keywords
api
terminal
transport stream
information
package
Prior art date
Application number
KR1020017005308A
Other languages
English (en)
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 KR20010082261A publication Critical patent/KR20010082261A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/20Adaptations for transmission via a GHz frequency band, e.g. via satellite
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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
    • 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
    • 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/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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Abstract

어플리케이션 프로그래밍 인터페이스(API)는 디지털 텔레비젼 단말기에서의 어플리케이션들(예: 애플릿(applets))이 특정 SI 포맷에 관계없이 디지털 전송 스트림으로부터 시스템 정보(SI)를 복구하도록 허용한다. API는 포괄적이며 사용가능한 포맷으로 제공하도록 SI의 관련부분을 추상화한다. 본 발명에 따른 시스템은 예를 들면 MPEG 프로그램 특정 정보(PSI), DVB SI, ATSC 프로그램 및 시스템 정보 프로토콜(PSIP), 디지털 비디오 표준 234와 같은 케이블 SI 및 전용(private) SI를 포함하는 SI 포맷과 함께 사용하기에 적당하다. 선택적인 실시예에서는, SI의 비동기식 배달이 단말기의 메모리에서 즉시 사용가능하지 않은 SI에 대하여 제공된다. 또한, API는 SI를 더 추상화할 수 있어서 특정 전송 스트림 포맷(예: MPEG-2)에 무관하다. 더욱이, 어플리케이션으로 하여금 단말기에서 사용가능한 SI의 작은 서브세트를 얻도록 하고, 이를 분석하고 분석에 의거하여 필요하다면 추가 SI를 검색하도록 함으로써 SI 데이터의 증분 검색이 제공된다. API는 네비게이션 패키지(110), 프로그램 가이드 패키지(120), 프로그램 선택/동조 패키지(130), 디스크립터 패키지(140), 유틸리티 패키지(150), 데이터 패키지(160) 및 파이프라인 패키지(170)를 포함한다.

Description

디지털 텔레비젼 수신기로 하여금 추상적인 포맷의 시스템 정보에 억세스할 수 있도록 하는 어플리케이션 프로그램밍 인터페이스 {APPLICATION PROGRAMMING INTERFACE FOR ENABLING A DIGITAL Television RECEIVER TO ACCESS SYSTEM INFORMATION IN AN ABSTRACT FORMAT}
오늘날 다양한 포맷들의 SI가 사용되고 표준화되어 있다. 이 포맷들은 디지사이퍼 II(DigiCipher II; DCII) MSP의 서브세트(subset)로서 위성과 게이블 텔레비젼 송신에 사용되는 원래의 ATSC A56표준과, DVS(SCTE DVS 234: Service Information Carried Out-Of-Band For Digital Cable Television)와 같은 케이블 SI, 지상 및 케이블 DTV에 사용되는 새로운 ATSC PSIP와, DVB SI 표준을 포함한다. 본 발명의 양수인인 GIC가 소유하고 있는 디지사이퍼 II 표준에서와 마찬가지로 전용(private) 데이터가 역시 사용될 수 있다.
ATSC표준은 ARSC로부터 입수할 수 있는 1997년 12월 23일 발간 문서번호 A/65의 "지상방송 및 케이블용 시스템 정보 프로토콜과 프로그램" ("Program and System Information Protocol for Terrestrial Broadcast and Cable", Doc. A/65, 23 Dec 1997)에 개시되어 있다. DVB 표준은 유럽방송연합 또는 유럽원격통신 표준연구소로부터 입수가능한 "디지털 비디오 방송; DVB시스템에서의 서비스 정보용 스펙"("Digital Video Broadcasting(DVB); Specification for Service Information (SI) in DVB systems", EN 300 468 v1.3.1 (1998-02))에 개시되어 있다.
가입자의 단말기는 네트워크를 통해 SI를 수신한다. 통합 수신기-디코더 (IRD) 또는 가입자 단말기로도 불리는 셋톱 단말기는 텔레비젼에 방영되는 텔레비젼 신호를 수신하여 디코드(decode)하는 장치이다. 이 신호는 예컨대 위성을 통해 송신되거나 또는 케이블 설비나 지상방송에 의해 송신될 수 있다. 주문형 비디오 (VOD), 주문형 오디오, 지불방식 관람(pay-per-view), 상호 대화형 쇼핑, 전자 상거래, 전자식 프로그램 가이드, 인터넷 브라우저, 메일 서비스(예: 텍스트 e-메일, 음성메일, 오디오 메일, 및/또는 비디오 메일), 전화 서비스, 증권시세 표시, 기상 데이터, 여행정보, 게임, 도박, 은행업무, 쇼핑, 투표 등을 포함하여 현대의 셋톱(set top)들을 사용하는 여러가지 어플리케이션들이 제안되었거나 현재 사용가능하다. 이러한 어플리케이션들은 또한 인터넷 접속 및 인터넷에 기반을 둔 전화 등을 가능하게 할 수 있다. 이러한 셋톱의 기능은 전문화된 하드웨어와 소프트웨어에 의해 가능하게 된다.
상기 어플리케이션들은 예를 들면 네트워크를 통해 단말기로 다운로드되거나, 국소적으로 (예; 스마트 카드) 로드되거나 또는 제조시에 설치될 수 있다.
그러나, SI를 수신하는 가입자의 단말기는 어떤 포맷이 사용되고 있는지를 알아내어 그 포로토콜에 특정한 대응 프로세싱을 제공하여야만 한다. 그런데, 이는 SI를 억세스하는 단말기에서 특별한 코드(소프트웨어)가 개발되어야 하기 때문에 의문시된다. 따라서, 단말기의 비용과 복잡성 및 계산적인 요구가 증가하고 단말기를 위한 소프트웨어의 개발에 어려움이 있다.
상기 문제들은 통합광대역분산네트워크, 전화 네트워크 및 인터넷이나 가정내 네트워트와 같은 컴퓨터 네트워크를 지향하는 추세와 관람자를 위한 볼거리가 풍부한 체험을 제공하는 새로운 형태의 어플리케이션들이 가능하도록 하는 요구에 따라 더욱 강조된다.
따라서, 다른 SI 포맷과 호환가능한 디지털 전송 또는 다른 데이터 스트림의 SI에 억세스하는 시스템이 요망된다.
이 시스템은 "추상적인 SI"를 제공하도록 다른 포맷들로부터 SI의 공통 원소를 추상화하여야 한다. 이 "추상적인 SI"는 수신기로 정보를 배달하는데 어떤 SI 표준 포맷이 사용되는지를 어플리케이션이 알 필요없을 정도의 추상화 레벨에서 어플리케이션에 사용가능한 SI로의 억세스를 제공하여야 한다.
이 시스템은 DVB, SCTE 및 ATSC 기반 시스템과 같은 다른 환경에서 작동하고자 할 때 어플리케이션이 특별한 코드(소프트웨어)를 가져야 하는 필요성을 피하도록 하여야 한다.
이 시스템은 MPEG 프로그램 특정 정보(PSI), 디지털 비디오 방송 서비스 정보(DVB SI), 텔레비젼 시스템 고등위원회 프로그램 및 시스템 정보 프로토콜(ATSC PSIP), DVS 와 같은 케이블 SI 및 전용(private) SI 등의 DCII 시스템에서의 포맷들을 포함하는 다양한 포맷을 사용하여 제공된 SI와 함께 사용하기에 적당하여야 한다.
이 시스템은 다양한 어플리케이션으로 하여금 이 어플리케이션이 요구하는특정 SI만을 검색하도록 허용하여야 한다.
이 시스템은 어플리케이션으로 하여금 필요하다면 SI로부터 특정 디스크립터를 검색하도록 허용하여야 한다.
디스크립터는 테이블 데이터를 확장시키는 메커니즘을 말한다. 일반적으로, 여러 디지털 비디오 표준들이 SI를 수송하기 위하여 다양한 데이터 테이블을 사용할 수 있게 한다. 예를 들면, 테이블은 특별한 채널이나 프로그램이 수송되는 TS(예: PID, 주파수)내의 위치를 지정할 수 있다.
더욱이, 테이블들은 추가정보를 수용하도록 시간에 걸쳐 확장하기 어려운 고정구조이기 때문에, 디스크립터들이 확장 메커니즘으로서 개발되었다. 디스크립터는 테이블의 바깥쪽 루프 또는 안쪽 루프에 부가될 수 있다. 바깥쪽 루프의 경우에는, 디스크립터가 테이블의 말단에 부가되어 전체 테이블이 판독될 때마다 추가 테이블 엔트리를 제공한다. 안쪽 루프의 경우에는, 디스크립터가 테이블의 일부분의 끝에 부가되어 테이블의 그 부분이 판독될 때마다 추가 테이블 엔트리를 제공한다.
디스크립터는 예컨대 정보의 스트링 또는 필드가 뒤따르는 태그를 구비할 수 있다.
디스크립터들은 필요하다면 포함되기만 하며, 이 디스크립터를 인식하도록 갱신되지 않은 수신기와 인터페이싱하지 않는다.
또한, 이 시스템은 DTV에 대하여 현재 정의되어 있는 URL 구문 개념을 사용하여야 한다.
이 시스템은 텔레비젼 네트워크의 가입자 단말기에 있는 API에서 구현할 수있어야 한다.
API는 Java(tm), ActiveX(tm) 또는 성분(component)에 기반을 둔 객체지향기술의 균등물과 호환가능하여야 한다.
이 시스템은 선택적으로 결과물의 비동기식 배달, TS로부터의 MPEG-2 특정 데이터의 분리, 및 SI 데이터의 증분검색을 제공하여야 한다.
이 시스템은 URL 로케이터 구문과 호환되어야 한다. DTV를 위한 URL 정의는 계속 존속하고 있음에 주의하라. 현재의 API 정의는 DAVIC DVB URL과 GIC가 제안한 DTV 및 ATSC URL을 지원한다.
본 발명은 상기 특징들 및 다른 장점들을 가진 시스템을 제공한다.
본 출원은 1998년 10월 30일자로 출원된 미합중국 가출원 제60/106,508호와 1998년 11월 12일자로 출원된 미합중국 가출원 제60/107,965호와 1998년 12월 23일자로 출원된 미합중국 가출원 제60/113,444호의 우선권주장출원이다.
본 명세서에서는 다음 약어들이 사용된다.
A/V - 오디오/비디오
API - 어플리케이션 프로그램밍 인터페이스
ATSC - 텔레비젼 시스템 고등 위원회(Advanced Television Systems Committee)
BAT - 부케 연관 테이블(Bouquet Association Table (DVB))
CA - 조건부 억세스(Conditional Access)
CAT - 조건부 억세스 테이블(Conditional Access Table (MPEG))
CNN - 케이블 뉴스 네트워크(Cable News Network)
DAVIC- 디지털 오디오-비디오 협의회(Digital Audio-Video Council)
DCII - GI 디지사이퍼 II(GI Digicipher II (tm))
DIT - 데이터 정보 테이블(Data Information Table)
DTV - 디지털 텔레비젼(Digital Television)
DVB - 디지털 비디오 방송(Digital Video Broadcasting)
DVS - 디지털 비디오 표준(Digital Video Standard)
EIT - 이벤트 정보 테이블(Event Information Table (DVB/ATSC))
EMM - 표제관리 메시지(Entitlement Management Message)
EPG - 전자식 프로그램 가이드(Electronic Program Guide)
ETT - 확장 텍스트 테이블(Extended Text Table (ATSC))
FCC - 연방 통신위원회(Federal Communication Commission)
GIC - 제너랄 인스트루먼트 사(General Instrument Corporation)
GPS - 지상 위치추적 위성(Global Positioning Satellite)
ID - 사용자 식별자(Identifier)
IP - 인터넷 프로토콜(Internet Protocol)
JMF - 자바 매체 프레임워크(Java Media Framework (Sun Microsystems))
MGT - 마스터 가이드 테이블(Master Guide Table (ATSC))
MPAA - 미국 동영상 협회(Motion Picture Association of America)
MPEG - 동영상전문가 그룹(Moving Pictures Expert Group)
MSP - 메시지 스트림 프로토콜(Message Stream Protocol)
NIT - 네트워크 정보 테이블(Network Information Table (DVB))
NVOD - 주문형 근접 비디오(Near Video-On-Demand)
PID - 패킷 식별자(Packet Identifier)
PMT - 프로그램 맵 테이블(Program Map Table)
PSI - 프로그램 특정 정보(Program Specific Table)
PSIP - 프로그램 및 시스템 정보 프로토콜(Program and System Information Protocol (ATSC))
RRT - 등급 영역 테이블(Rating Region Table (ATSC))
SCTE - 케이블 텔레비젼 기술자 협회(Society of Cable Television Engineers)
SDT - 서비스 기술 테이블(Service Description Table (DVB))
SI - 시스템 정보 (System Information)
STT - 시스템 타임 테이블(System Time Table)
TDT - 타임 데이트 테이블(Time Date Table (DVB))
TOT - 타임 오프셋 테이블(Time Offset Table)
TS - 전송 스트림(Transport Stream)
TSDT - 전송 스트림 디스크립터 테이블(Transport Stream Descriptor Table (MPEG))
UML - 통일 모델링 언어(Unified Modeling Language)
URL - 보편적인 자원객체 로케이터(Uniform Resource Locator)
VCT - 가상채널 테이블(Virtual Channel Table)
VSB - 베스티지얼 사이드 밴드(Vestigial Side Band)
본 발명은 MPEG-2 TS의 레이아웃 및 콘텐츠를 기술하는 시스템 정보 및 프로그램을 억세스하는 API를 제공한다. 이 정보는 서비스 정보로 알려져 있는데 통상 시스템 정보(SI)로 불린다.
도 1은 본 발명에 다른 API의 패키지 관련성 및 의존성을 나타낸다.
도 2는 본 발명에 따른 네비게이션 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 3은 본 발명에 따른 프로그램 가이드 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 4는 본 발명에 따른 선택 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 5는 본 발명에 따른 디스크립터 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 6은 본 발명에 따른 파이프라인 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 7은 본 발명에 따른 데이터 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
도 8은 본 발명에 따른 유틸리티 패키지의 클래스/인터페이스 다이아그램을 나타낸다.
본 발명은 디지털 텔레비젼 단말기에서 운영되는 어플리케이션으로 하여금 특정 포맷 타입에 관계없이 디지털 TS로부터 SI를 복구하도록 하는 API를 제공한다. 이 API는 단말기에서의 다른 어플리케이션들에 의해 사용가능한 포맷으로 제공하도록 SI의 관련 부분을 추상화한다.
또한, 이하에서 설명하는 디스크립터 서브 패키지(sub-package)는 어플리케이션이 특정 DVB 또는 ATSC 또는 전용 (예: DCII) 디스크립터를 그렇게 할 필요가 있다면 검색하도록 한다.
이 SI API 정의는 인터넷과 브라우져 응용들과 관련하여 주지된 URL 개념을 더 채택한다. DTV에 대한 공식적인 URL 정의는 아직까지 논의중에 있다. 현재의API 정의는 DAVIC DVB URL과 제너랄 인스트루먼트 사(GI)가 제안한 DTV 및 ATSC URL을 지원한다.
본 발명에 따른 텔레비젼 셋톱 단말기는 컴퓨터 프로그램 코드수단을 가진 컴퓨터 판독가능한 매체(예: 자기식 또는 광학식 저장장치 등)와, 어플리케이션 프로그래밍 인터페이스(API)를 구현하기 위하여 상기 컴퓨터 프로그램 코드 수단을 실행하는 수단(예: CPU와 같은 프로세서)을 포함한다.
이 API는 복수의 다른 포맷들중 어느 하나의 포맷으로 상기 단말기에 의해 수신된 디지털 텔레비젼 전송 스트림의 시스템 정보(SI)를 추상화한다. 이 API는 SI가 제공된 특정 포맷에 관계없이 단말기에서의 어플리케이션에 의해 사용되기에 적당한 포괄적인 포맷으로 추상적인 SI를 제공한다. 예를 들면, 다른 SI 포맷들은 다른 데이터 테이블 포맷을 포함할 수 있다.
이렇게 하면 단말기가 다수의 다른 데이터 스트림 포맷들과 호환될 수 있다.
더욱이, 이 API는 단말기로 하여금 전송 스트림 내의 텔레비젼 채널들 사이를 항해할 수 있도록 하는 네비게이션 기능과, 텔레비젼 채널들을 위한 전자식 프로그램 가이드를 구현하는 프로그램 가이드 기능과, 특정 텔레비젼 채널들을 선택하는 선택기능과, SI의 디스크립터들을 복구하는 디스크립터 검색기능과 같은 추상적인 SI에 응답하는 단말기에서의 여러 기능들을 제공할 수 있다.
또한, 이 API는 어플리케이션으로의 SI의 동기식 배달을 지원하기 위하여 이벤트들과 익셉션들을 포함하는 유틸리티 기능구비 지원객체와, 추상적인 SI에 따라서 전송 스트림 내의 데이터 서비스들에 대한 가이드를 구현하는 데이터 기능과,전송 스트림의 물리적인 배달 메커니즘(예: 위성 또는 트랜스폰더 식별자)에 관한 정보를 제공하는 파이프라인 기능을 제공한다. 이 파이프라인 기능은 배달 네트워크(MPEG-2 전송 스트림 등)에 관한 정보를 제공하기 위하여 적절한 SI 테이블을 사용한다.
이 API는 어플리케이션에 적절한 SI 데이터를 노출시킴으로써 이 기능들을 제공한다. EPG와 같은 어플리케이션들은 그 작업을 하기 위하여 이 API들을 사용할 수 있는데, 예컨대 EPG는 네비게이션 패키지를 사용하여 채널들에 관한 지식을 얻을 수 있고 가이드 패키지를 사용하여 선택된 채널들에 대하여 예약된 프로그램들을 알 수 있다. 따라서, 본 명세서에서 설명하는 API 또는 패키지들은 특정 어플리케이션들에 의해 사용(호출)된다.
사용가능한 다른 SI 포맷들은 다음을 포함할 수 있다: 동영상 전문가 그룹(MPEG) 프로그램 특정 정보(PSI), 디지털 비디오 방송(DVB) 시스템 정보(SI), 텔레비젼 시스템 고등위원회(ATSC) 프로그램 및 시스템 정보 프로토콜(PSIP), 케이블 및 텔레비젼 기술자 협회의 케이블 SI 디지털 비디오 표준 234, 및 전용(private) SI.
단말기는 전송 스트림이 단말기에서 수신될 때 서비스 정보를 저장하는 메모리를 더 구비하고, API는 단말기에서의 호출 어플리케이션이 서비스 정보를 검색하여 메모리에서 사용가능한 SI가 기본적으로는 직접 리턴값으로서 즉시 돌려지도록 할 수 있는 검색기능호출을 제공한다. 서비스 정보가 메모리에서 사용가능하지 않은 경우 상기 검색기능호출은 SI가 비동기식으로 호출어플리케이션으로 배달되는호출어플리케이션으로 익셉션 신호를 돌려준다.
더욱이, 전송 스트림은 복수의 사용가능한 전송 스트림 포맷들중 하나로 제공되며, API는 단말기에서 어플리케이션에 의해 사용되기에 적당한 포괄적인 포맷으로 제공하도록 SI를 추상화할 수 있다. 이는 사용가능한 전송 스트림 포맷들에 포괄적인 정보를 가지는 베이스 패키지를 제공함으로써 달성될 수 있다. API는 수신되는 전송 스트림의 포맷에 특정한 정보를 가지는 별개의 패키지와 사용되도록 되어 있다.
일반적으로, API는 확장가능한 API등의 베이스 세트를 제공한다. 예컨대, ATSC는 PSIP 특정 정보를 제공하도록 새로운 패키지를 추가하며, DVB가 동일한 작업을 하게 된다. 이러한 패키지들을 본 명세서에 표시하지는 않는다. 그러나, 본 발명의 API는 포맷에 특정한 확장들이 추상적인 SI API 클래스들과 인터페이스들을 서브클래씽하거나 확장함으로써 용이하게 이루어지도록 확장가능하다.
본 발명의 다른 태양에 따르면, API는 단말기에서의 호출어플리케이션이 단말기에서 사용가능한 SI의 서브세트들을 얻고, 얻어진 SI의 분석을 행하며 필요하다면 분석에 의거하여 추가 SI를 검색하도록 함으로써 서비스 정보의 증분검색을 제공한다. 추가 SI는 단말기의 메모리에 있는 단말기에서 사용가능한 SI의 서브세트로부터 검색되거나 또는 전송스트림으로부터 검색될 수 있다.
SI 데이터는 다양한 구현예를 이용하여 단말기에 저장될 수 있다. 예를 들면, 추상화하기 전 및/또는 후에, 최적화 및 압축 후에 저장될 수 있다.
API는 호출어플리케이션에 의해 요구되지 않은 전송 스트림의 다른 SI를 거절하면서 단말기에서의 호출어플리케이션으로 하여금 전송 스트림 내의 SI의 서브세트들을 복구하도록 한다.
API는 어플리케이션이 관심을 두는 전송 스트림 내의 적어도 하나의 서비스를 어플리케이션이 특정하도록 추상적인 SI에 응답하는 필터링 기능을 제공할 수도 있다. 이 필터링 기능은 서비스들이, 특별한 전송 스트림(다중전송 스트림으로부터의 서비스들이 사용가능한 경우 - 수신기는 다수의 동조기(tuner)를 가질 수 있고 또는 SI 데이터가 수신기의 메모리, 시간에 걸쳐 다수의 전송 스트림으로부터 수집된 SI 데이터베이스에 저장될 수 있다)과, 네트워크와, 부케와, 위성과, 위성 트랜스폰더와, 서비스 이름과, 서비스/채널 번호와, 기호 채널 및 테마와 연관되는지에 의거할 수 있다.
더욱이, API는 SI를 추상화하는 복수의 패키지를 사용하여 구현되는데, 이 경우에 단말기에서의 다른 어플리케이션들은 각 어플리케이션이 요구하는 추상적인 SI의 특정부분들에 따라서 패키지들중에서 특정한 하나의 패키지만을 포함하는 것으로 충분하다.
이에 따른 방법이 또한 개시된다.
API는 디지털 텔레비젼 단말기에서 작동하는 어플리케이션들로 하여금 특정 포맷 형태에 관계없이 디지털 TS로부터 SI를 복구하도록 허용한다. API는 SI의 관련부분을 추상화하여 이를 단말기에서의 다른 어플리케이션들이 사용할 수 있는 포맷으로 제공한다.
API는 바람직하게는 단말기의 하드웨어와 오퍼레이팅 시스템에 무관하다.
미국의 레이셔널 소프트웨어 사(Rational Software Corporation)가 개발한레이셔널 로즈 케이스 툴(Rational Rose(tm) CASE tool)로부터 자동적으로 그림들이 생성되었다는 것을 주목하라. 이 그림들은 UML의 레이셔널 로즈 기술방법을 사용하는데, 이는 소프트웨어 집약 시스템의 결과물을 특정하여 구축하고 시각화하며 기술하는 언어이다. 클래스(class) 다이아그램은 시스템의 정적인 구조를 나타내며, 시스템이 보이는 행동패턴을 나타낸다. 이는 클래스들의 존재와 그 관계를 나타냄으로써 달성된다. 각 클래스는 세개의 부분을 가진 상자로 표시된다. 윗부분은 클래스 이름을 나열한다. 중간부분은 속성들의 리스트를 나타낸다. 아래부분은 연산들의 리스트를 나타낸다.
클래스들 사이의 실선 또는 점선은 연관 또는 의존성을 나타낸다. 흰색 다이아몬드 팁은 참조에 의한 집단화를 나타내고, 검은 색 다이아몬드 팁은 값에 의한 집단화를 나타낸다. 삼각형 화살촉은 제한된 네비게이션 (navigation), 예를 들면 구조가 아닌 연산의 상속을 나타낸다.
또한, 인터페이스들과 클래스들은 대문자로 시작하고 메소드(method)들은 소문자로 시작한다.
클래스는 객체를 위한 데이터 구조, 메소드 및 함수호출을 정의하는 템플레트(template)이다. 인터페이스는 클래스에 의해 다루어질 수 있는 한 세트의 메소드/함수 호출을 정의한다. 클래스는 인터페이스를 구현하는 코드(code)를 제공한다.
1. 모델의 설명
전체 SI 데이터베이스 모델은 "뷰(views)" 개념에 기초를 두고 있다. SI 데이터베이스를 바라보는 방법에는 여러가지가 있고 여러가지 어플리케이션들이 다른 요구를 가지고 있을 수 있다. 특정된 뷰는 어플리케이션들이 그 어플리케이션들의 요구에만 기반을 둔 SI 데이터베이스의 서브세트(subset)에만 관련되도록 한다. 뷰의 개념은 자바 패키지(Java paqckage)들에 의해 표시된다.
이하 추상적인 SI API의 객체 모델을 설명한다.
도 1은 본 발명에 따른 API의 패키지 관계 및 의존성을 나타내는 하이레벨 도면이다.
네비게이션(navigation) 패키지(110)는 현존하는 텔레비젼 채널 (DVB 서비스 또는 ATSC 가상채널)을 항해하는데 사용되는 클래스들과 인터페이스 세트를 포함한다. 선택 패키지(130)는 TV채널이 특정 서비스(MPEG 프로그램)의 주파수 조정 및 선택을 위해 사용되도록 하는 피쳐(feature)들을 포함한다. 가이드 패키지(120)는 EPG에 유용한 정보를 제공하는데, 프로그램 스케쥴, 개별적인 프로그램 이벤트(evevt)들 및 프로그램 등급들을 포함한다. 디스크립터 패키지(140)는 SI를 배달하는 MPEG 부분들과 연관된 개별적인 MPEG 디스크립터의 검색을 허용한다. 파이프라인 패키지(170)는 특정 배달 매체 정보중 일부를 격리시킨다. 이 패키지에 현재 구비된 클래스들은 MPEG-2 배달 메커니즘을 나타낸다. 데이터 패키지(160)는 증권 시세, 뉴스, 스포츠 통계, 대화형 광고방송 등의 오디오/비디오 이벤트가 아닌 예컨대 오디오/비디오 스트림과 함께 보내지는 임의의 어플리케이션 소프트웨어와 같은 데이터 관련 이벤트들(서비스들)에 관한 정보를 제공하는 것이외에는 가이드 패키지(120)와 유사하다. 마지막으로, 유틸(유틸리티) 패키지(150)는 이벤트, 익셉션 (exception)등의 보조성질의 객체를 포함한다.
이 모델은 멀티플렉스를 통해 배달되는 콘텐츠(메타 데이터)의 레이아웃을 나타내는 SI의 하이레벨 추상화와, 특별한 SI포맷에 특정한 상세정보를 제공한다. 이는 MPEG테이블 디스크립터로의 억세스를 통해 행해진다. 디스크립터가 추가적인 그리고 장래의 기능들을 위하여 SI를 확장하는 방법으로 사용되기 때문에 API가 모든 새로운 또는 변화된 디스크립터와 함께 API의 구현을 변화시키지 않고도 디스크립터로의 포괄적인(generic) 억세스를 제공한다는 것이 본 발명의 중요한 장점이다.
본 발명의 일태양에서는 결과물의 비동기식 배달이 제공된다. 가능출력이 변화하는 DTV 수신기가 있기 때문에 모든 수신기가 메모리에 SI데이터 모두를 캐쉬하지는 않는다는 것이 예상된다. 대부분의 유용한 정보의 필요한 서브세트에 대하여 그렇게 하겠지만, 메모리에 저장되어 있지 않은 데이터를 검색할 필요가 있는 경우 실제 TS를 분석하여야 할 것이다. 그러나, TS로의 억세스는 상당한 시간이 걸린다. 따라서 API는 항상 메모리에 있을 것으로 예상되지 않는 정보로의 비동기식 억세스를 제공한다. 일반적으로, 비동기식(또는 브록킹하지 않은) 호출은 API의 구현뿐만 아니라 API를 사용하는 어플리케이션들에까지 복잡성을 더해준다.
로우엔드(low-end)와 하이엔드(high-end) 수신기 사이의 차이를 은폐하기 위하여, 정보가 국소적으로 (메모리에) 사용가능하거나 비동기식으로 사용가능한 경우에 그리고 데이터가 TS로부터 검색되어야 하는 경우에 이 API는 동기식으로 완결될 수 있는 하나의 방법을 제공한다. "검색"으로 시작하는 모든 API 호출은 요청된 객체를 되돌려주거나 또는 데이터가 비동기식 이벤트를 통해 나중에 배달될 것이라는 것을 나타내는 익셉션을 주게된다. 호출자(caller)는 그 자신을 이 이벤트의 리스너(listener)로 등록할 수 있다. 또는, 등록하지 않고, 호출자는 동기식 데이터 배달에서만 관심이 있다는 것을 나타낼 수 있다. 익셉션은 요청을 취소하고 데이터를 배달하는 실제 이벤트와 관련시키기에 충분한 정보를 포함한다.
SI는 통상 PSIP STT 메시지 또는 DVB TDT 및 TOT 메시지의 형태로 시스템 타임 관련 정보를 포함한다. 이 경우, 국소적인 DTV 수신기의 타임은 현재 동조된 채널의 시스템 타임과 동기화되고 그 값은 java.util.Date 클래스를 사용하여 얻을 수 있는 것으로 가정한다. 모든 전송 멀티플랙스들이 신뢰성 있고 동기화된 데이터 소스(GPS와 같은)를 사용하는 경우 이는 받아들일 수 있는 것에 주목하자. 어떤 멀티플렉스(multiplex)가 잘못된 타입 정보를 제공하는 경우, 그 상황을 해결하기 위하여 수신기 구현에까지 미치게 된다.
1.1 네비게이션 뷰
도 2는 본 발명에 따른 네비게이션 패키지 클래스/인터페이스 다이어그램을 나타낸다.
동일한 번호를 갖는 부재는 도면에서 다른 부재에 대응한다.
네비게이션 패키지(11)는 2개의 주요기능, 즉 1) DVB 서비스와 ATSC 가상 채널을 나타내는 TV 채널의 선택된 서브세트 또는 전부로의 억세스를 주는 기능과,2) 네트워크 정의, 위성 및 트랜스폰더(transponder) 정보, TS 및 부케(bouquet) 정보 등과 같은 네트워크 관련 정보로의 억세스를 주는 기능을 가진다.
동일한 번호를 갖는 부재들은 도면에서 다른 부재에 대응한다.
패키지는 다음의 클래스와 인터페이스를 포함한다: CAIdentification(205), DeliverySystemType(807), SystemInformationType(810), ChannelCollection(220), TvChannel(225), SIUpdate(830), ChannelConstraint(235), SIManager(240), TvChannelDetails(245), 및 ChannelIdentification(250).
주요 네비게이션 기능은 다음의 클래스와 인터페이스들에 의해 표시된다. SIManager(240)는 밑에 있는 SI 데이터베이스로의 주 억세스 포인트이다. SIManager(240)는 ChannelConstraint(235) 객체에 의해 표시된 선택기준에 의거하여 ChannelCollection(220)이라 불리는 TvChannel(225)의 집단을 생성할 수 있다. 선택기준은 네트워크 ID, TS ID, 부케 ID, 사용자가 좋아하는 채널, URL 등일 수 있다. 이 집단은 채널 번호나 채널 이름순으로 소트(sort)하고 DVB 서비스나 ATSC 가상채널을 표시하는 TvChannel(225)을 통해 네비게이트하는데 사용될 수 있다.
TvChannel(225) 그 자체는 항해하는데 필요한 (로케이터, 채널 이름 및 번호와 같은) 최소 정보만을 포함한다. 채널에 관한 추가정보는 TvChannelDetails 객체(245)에 포함된다. TvChannelDetails는 CAIdentification 인터페이스(205)를 매개로 한 몇가지 CA 관련 정보, 배달 메커니즘 및 이 채널에 관한 정보가 최후에 업데이트되었던 시간을 또한 제공한다. 채널 이름과 번호는 실제로는 ChannelIdentification 객체(250) 내에 요약되는데, 상기 객체는 ATSC 2-부분 채널번호와 같은 채널의 이름을 붙이고 번호를 매기는 다양한 메커니즘을 수용하도록 확장될 수 있다 (예: major.minor 표기법 - 주 채널번호와 부 채널번호 사이에 점을 가진 스트링(string)이 있는 표기법, 즉 10.2와 같은 표기법 사용).
1.2 가이드 뷰
도 3은 본 발명에 따른 프로그램 가이드 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 인터페이스들을 포함한다: SIManager(240), TvChannelDetails(245), TvChannelWithSchedule(300), ContentRatingAdvisory (310), ProgramSchedule(320), RatingRegion(330), ProgramEvent(340), RatingDimension(350) 및 SIUpdate(830) (도 8에 정의되어 있음).
이 패키지는 전자식 프로그램 가이드 타입의 어플리케이션들을 지원하기 위한 것이다. 이 패키지는 2개의 관련된 정보 세트, 즉 각 채널상의 프로그램 스케쥴과 등급정보를 가진 어플리케이션을 제공한다. ProgramSchedule 객체(320)는 현재 운영중인 프로그램과 바로 다음 프로그램 및 특정 시간구간동안 장래에 사용가능한 다른 프로그램을 검색하는데 사용된다. 각 ProgramEvent(340)는 그 이름, 시작시간 및 종료시간, 기술, 등급, 비용 및 기타 관련정보에 대하여 질문을 받을 수 있다.
등급관련정보는 등급영역들로 조직되는데, 각 영역은 MPAA 등급, FCC TV 등급, DVB 연령 기반 등급 등과 같은 다수의 등급 디멘젼을 가질 수 있다. 각 디멘젼은 다수의 레벨을 포함하며, 각 ProgramEvent는 지원된 모든 등급영역에 대하여 이레벨중 하나로 라벨링된다.
1.3 선택 뷰
도 4는 본 발명에 따른 선택/동조 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 클래스들과 인터페이스들을 포함한다: TvChannelDetails(245), ChannelComponent(410), MPEGChannelComponent(420), Locator(430), MPEGLocator(440) 및 ATSCLocator(450).
동조 패키지는 비디오, 가능한 경우 다수의 오디오 성분 및 광데이터 성분들과 같은 각 TvChannel의 개별적인 성분들에 관한 정보를 추가함으로써 주로 네비게이션 기능을 확장시킨다. TvChannel 객체(225)는 JMF Player 모델이나 또는 별개의 서비스 선택 API에 이어지는 TV Player에 의해 사용되는 Locator를 제공할 수 있다.
포괄적인 ChannelComponent(410)는 MPEG 특정 정보를 나타내는 MPEGChannelComponent(420)에 의해 확장된다.
기본적인 Locator(430) 개념은 MPEC 특정 Locator(MPEGLocator(440))를 지원하도록 확장되는데, 상기 Locator는 ATSC용(ATSLocator(450))으로 한정된다. DAVIC 패키지는 DVB 특정 서브클래스를 물론 포함한다는 것에 주목하라.
1.4 디스크립터 뷰
도 5는 본 발명에 따른 디스크립터 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 인터페이스들을 포함한다: TableType(510), DescriptorTag(5200, Descriptor(530), MPEGTableDescriptors(540) 및 MPEGPipeline(660) (도 6에 정의되어 있음).
Descriptor들은 통상 2개의 위치에 있는 MPEG-2 테이블로 배달되는데, 2개의 위치는 전체 테이블을 가진 디스크립터와 관계된 바깥쪽 루프와 그리고 그 안에 기술된 특정 엔티티(entity)를 가진 디스크립터와 관계된 안쪽 루프이다. 예로서는 PSIP VCT를 들 수 있는데, 이는 바깥쪽과 안쪽 루프 디스크립터들을 가진다. 바깥쪽 루프 디스크립터들은 이 VCT에 의해 정의된 모든 가상채널과 관련되며, 각 안쪽 루프는 특정 가상채널을 위한 디스크립터를 포함한다.
셋톱에서 실행되는 어플리케이션들은 SI를 포함하는 셋톱 기능에 억세스하도록 API들을 사용하게 될 것이다. 그 목표는 SI 포맷의 상세에 대하여 어플리케이션들에 요구되는 지식을 최소화하도록 SI(ATSC PSIP, DVB SI 등)를 검색하기 위하여 포맷에 무관한 API를 제공하는 것이다. 대개의 경우에 추상화가 좋지만, 어떤 어플리케이션들은 추상적인 API 레벨에서는 제공하지 않는 특정 디스크립터로의 억세스를 필요로 한다. 예를 들면, 이는 장래에 정의될 디스크립터일 수 있다. 따라서, 이러한 것은 API에서 직접 표시될 수 없다. 이러한 것은 어플리케이션들을 위해 의도되지 않은 디스크립터들중 하나일 수도 있는데, 이 디스크립터들은 수신기 자체에 의해 사용된다 (예: AC3 디스크립터, Linkage 디스크립터 등).
그 문제점은 어플리케이션이 관심을 두는 특정 디스크립터를 특정하는 것이다. 이는 적절한 테이블과 디스크립터 루프의 위치를 결정하는데에도 작용한다.
디스크립터가 검색될 정보(예: TS, 서비스, 이벤트 등)의 타입은 주로 DTV URL에 의해 식별된다. 몇가지 희귀한 익셉션이 있는데, 예를 들면 DVB BAT는 실제로는 어떠한 현재의 URL 포맷으로 식별되지 않는다. DTV URL은 특정한 <table_type, descriptor loop> 쌍을 가리키기에 통상 충분하며, 특히 이벤트나 기본 스트림을 가리키는 URL들에 대하여 그러하다.
엔티티 예컨대 서비스는 PMT와 DNB SDT와 같은 다수의 테이블에서 기술될 수 있기 때문에 URL이 충분히 특정되지 않은 경우가 어느 정도 있다. 따라서, table_type는 디스크립터를 검색하려는 테이블의 타입을 식별하기 위해 특정된다. 몇개의 테이블 타입은 그 타입 내에 다른 table_id들을 가지고 있기 때문에 (예: DVB NIT는 DVB NIT는 0x40과 0x41을 가지고 있음) table_id는 사용되지 않는다. table_type의 범위은 특히 URL의 하이레벨(서비스 및 TS 레벨)에 있는 디스크립터를 찾기 위하여 테이블들의 범위를 낮춘다.
몇몇 희귀한 경우에는, 추가적인 식별이 필요하다. 예를 들면, rating_type가 특정되면 Rating Region ID가 ATSC RRT로부터 디스크립터의 적절한 서브세트를 검색하는데 요구된다. 동일한 것이 navigation_type 테이블들에도 적용되는바, Bouquet ID가 DVB BAT 바깥쪽 디스크립터 루프로부터 디스크립터들을 검색하는데 필요하다.
또한, 디스크립터 태그의 선택적인 세트가 검색을 제한하도록 호출에서 특정될 수 있고 디스크립터로 복귀된 디스크립터 세트가 리스트에서 힌트를 줄 수 있다. 디스크립터 세트가 <url, table_type, entity_info> 집합 (예: 값들의 집합)에 의해 식별된 주어진 테이블에서 발견되는 경우, 그 힌트 내에 제공된 디스크립터 태그와 일치하는 것들만이 복귀될 것이다.
모든 디스크립터 검색 메소드들이 DTV 수신기의 캐싱 능력에 따라서 동기식 및 비동기식 데이터 배달을 지원한다는 것에 주목하자.
1.5 파이프라인 뷰
선택적인 실시예에서, MPEG-2 특정 데이터가 제공된다.
디지털 텔레비젼 콘텐츠는 주로 MPEG-2 전송 포맷을 사용하여 배달된다. 이는 DVB는 물론 ATSC에 대해서도 사실이다. 텔레비젼과 개인용 컴퓨터가 집중됨에 따라, 디지털 비디오 컨텐츠는 몇 종류의 실시간 프로토콜을 가진 IP 포맷으로 인터넷을 통해서와 같이 다른 수단에 의해 텔레비젼 수신기에 배달될 수 있을 것으로 예상된다. 이는 ATSC PSIP와 DVB SI 사이의 차이뿐만 아니라 콘텐츠와 SI를 배달하는 여러 방법들 간의 차이를 은폐하는 SI API에 대한 하이레벨의 추상화를 부추키는 동기가 된다.
이러한 디자인은 모든 MPEG-2 (예: TS) 특정정보를 별개의 패키지로 이전한다. 포괄적인 전송-중립 정보를 제공하는 베이스 클래스는 MPEG-2 배달 네트워크용의 MPEG-2 정보와 함께 더 확장될 수 있다. 새로운 배달 메커니즘은 대중적이 되었는데, 베이스 클래스는 특정 프로토콜에 관한 상세정보를 제공하도록 확장될 수 있다.
본질적으로는, API가 특정 TS 포맷에 무관한 방식으로 제공하도록 SI를 더 추상화한다. API는 따라서 여러 사용가능한 포맷들중 어느 하나로 TS를 수신하는 단말기에서 운영될 수 있다.
도 6은 본 발명에 따른 파이프라인 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 클래스와 인터페이스를 포함한다: SIManager(240), SatelliteInformation(605), NetworkInformation(610), BouquetInformation(630), SISpecificManager(640), PipelineInformation(650), TransportStreamInfo(660), MPEGPipeline(670), 및 SystemInformationType(810) (도 8에 정의되어 있음).
파이프라인 패키지는 SI 데이터가 기술하는 콘텐츠를 배달하는 물리적인 메커니즘 매체(media)에 관한 추가정보를 제공한다. 물리적인 배달 메커니즘은 예컨대 위성/트랜스폰더 정보를 포함할 수 있다. SISpecificInformation(650)은 이 특별한 경우에는 MPEG-2 멀티플렉스를 나타내는 MPEGPipeline(670)에 의해 확장되는 추상적인 PipelineInformation(650)으로의 억세스를 제공한다. 포괄적인 PipelineInformation(650)은 콘텐츠(예: 인터넷 프로토콜)의 다른 형태의 배달을 지원하도록 확장될 수 있다.
1.6 데이터 뷰
도 7은 본 발명에 다른 데이터 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 인터페이스를 포함한다: TvChannelDetails(245), ContentRatingAdvisory(310), TvChannelWithData(710), DataSchedule(720), DataEvent(730), 및 SIUpdate(830) (도 8에 정의되어 있음).
데이터 뷰는 가이드 뷰와 유사한데, EPG 형태의 정보를 나타낸다. 이 경우에, 데이터 스케쥴은 오디오/비디오 이벤트와는 반대로 데이터 이벤트의 가이드 또는 라인업을 나타낸다.
이 패키지는 ATSC T3/S13 작업 이후에 모델링되는데, 아직가지 진행중이다.
1.7 유틸리티 뷰
도 8은 본 발명에 다른 유틸리티 패키지의 클래스/인터페이스 다이어그램을 나타낸다.
이 패키지는 다음 클래스들과 인터페이스들을 포함한다: SIFactory(805), SIManager(240), SystemInformationType(810), SIChangeListener(815), EventObject(834), SIUpdate(830), SIChangeEventType(832), SIChangeEvent(834), TvChannnelChangeEvent(835), DataChangeEvent(840), ProgramChaneEvent(845), SIInfoChangeEvent(850), Exception(860) (java.lang 패키지로부터), SIDelayedDeliveryException(875), SIException(880), SIRetrievalFailEvent(882), SIRetrievalSuccessEvent(884), SIRequest(886), SINotAvailableException(890), SIRetrievalSingleSuccessEvent(892) 및 SIRetrievalMultipleSuccessEvent(894).
이 유틸리티 패키지는 다음의 여러 영역에서 지원을 제공한다:
1. TS에서 검출된 SI 엔티티 변화와 이벤트를 배달하는 비동기식 요청에 대한 이벤트 통지 메커니즘;
2. SI Manager를 생성하는 SI Factory;
3. 익셉션들.
SIChangeListener(815)와 SIChangeEvent(834)는 표준 자바 이벤트 모델을 지원한다. 변화들을 청취하기 위한 3가지 타입의 객체들이 있다:
1. SIManager(240), 이는 TransportStreamInfo(660), NetworkInformation (610), BouquetInformation(630) 등의 객체에 의해 표시되는 네트워크 정의 관련 테이블들에서 검출된 변화들을 보고함.
2. ChannelCollection(220), 이는 집단(collection)으로 포함된 TvChannel (225)들중 어느 하나에서 검출된 변화들을 보고함.
3. 스케쥴의 ProgramEvent(225)들중 어느 하나에서 검출된 변화를 보고함.
어플리케이션들은 상기 리스트된 객체들을 구비하는 리스너로서 등록할 수 있으며, 3개의 적절한 이벤트들중 하나를 수신함으로써 통지를 받는데, 특정 객체가 변화하였다는 것에 관한 상세정보를 배달한다. 새로운 정보를 받으면, 어플리케이션은 특별한 객체집단(ChannelCollection(220), ProgramSchedule(320) 등)을 재생성할 필요가 있다.
수신기가 동일한 타입의 구(old) 테이블과 신(new) 테이블의 필드별 비교를 행하지 않는 한 상기 정의된 이벤트들을 구하는 것이 어려울 수 있다는 것에 주목하라. 수신기는 하이레벨 이벤트만을 배달하도록 선택되어 필요하다면 어플리케이션이 다수의 객체를 갱신시키도록 할 수 있다.
유틸리티 패키지(150)는 데이터를 비동기식으로 배달하는 메커니즘도 제공한다. 이 기능은 SIRequest(886), SIDelayedDeliveryException(875), SIRetrievalEvent(865) 및 SIRetrievalListener(870)에 의해 제공된다.
SIDelayedDeliveryException(875)는 데이터가 비동기식으로만 사용가능한 호출기로 신호를 보내고 그 요청을 취소하고 이 요청을 SIRetrievalEvent(865)와 관련시키는데 사용할 수 있는 SIRequest 객체(886)를 제공하며, 상기 SIRetrievalEvent는 결국 요청된 데이터나 실패(failure) 표시를 배달한다. ("retrieveXXX" 라는 이름으로 표시된) 비동기식 메소드의 호출기는 그 이벤트를 얻기 위해 리스너로서 등록할 것이다. 리스너로 등록하지 않기로 결정하였다면, TS를 해석하고 요청된 데이터를 검색할 필요없는 API 구현에 대한 표시이다. 따라서, 본 발명에 따르면, 어플리케이션은 데이터의 배달에 대하여 완전한 제어를 가지게 된다.
이에 따라, SI 데이터의 증분검색이 제공될 수 있다. 일반적으로, DTV 수신기에서 실행하는 넓은 범위의 어플리케이션이 있다. 몇개의 수신기는 (EPG 형태의 어플리케이션과 같은) SI 데이터의 전체 세트로의 억세스를 필요로 하며, 반면에 다른 수신기들은 SI 데이터의 매우 작은 서브세트만을 필요로 할 수 있다. SI 데이터의 매우 작은 서브세트를 필요로 하는 것들에 대하여 과도한 부담을 지우지 않으면서 이 어플리케이션들을 모두 지원하기 위하여, 본 발명은 SI데이터의 증분검색을 가능하게 한다. 이는 어플리케이션으로 하여금 SI 데이터의 작은 세트를 얻어서 지능형 결정을 하고 선택된 SI객체나 SI객체의 서브 세트에 대하여 더 많은 SI를 검색하도록 허용한다.
이러한 디자인은 어플리케이션에 대한 더 많은 제어와 유연성 및 SI 데이터의 더 효율적인 검색을 제공한다.
SI 객체의 대부분은 실제로는 구성자(constructor)를 가지지 않는 인터페이스들이기 때문에, 어플리케이션은 특정 인터페이스를 구현하는 객체를 예증하는 방법을 구비하지 않는다. SIManager 인터페이스(240)를 구현하는 객체의 예를 얻기 위하여, SIManager의 예를 얻기 위한 메소드를 구비하는 SIManager Factory 클래스(805)가 제공된다.
몇몇 메소드는 타당하지 않은 파라메터들이나 또는 다른 에러 조건의 타입들을 보고하기 위하여 Exception들을 던져버린다 (클래스(875, 880) 참조).
2.0 클레스와 인터페이스 기술
2.1 네비게이션 패키지 (도 2)
SI에서의 이 뷰는 단순한 채널 가이드, 채널업 및 채널다운 버튼 등과 같은 네비게이션 메커니즘의 관점에서 바라 본 것이다.
이는 필터링 메커니즘을 구비한 사용가능한 MPEG2 서비스들의 리스트를 표시하기에 충분한 정보를 제공한다.
2.1.1 TvChannel(225)
TvChannel은 MPEG 프로그램, DVB 서비스 또는 ATSC 가상채널로 언급된 것에 관한 추상적인 뷰를 표시한다. TvChannel은 채널이름, 채널번호, 기술 등과 같이 결합된 공통정보를 나타낸다. 각 TvChannel은 시스템 타입, 네트워크 ID, TS ID, 서비스 번호 또는 채널 번호를 포함하는 집합에 의해 일의적으로 식별된다. 이 식별은 URL 포맷으로 표시될 수 있다.
Public Operations:
getLocator () : Locator
이 TvChannel의 완전한 Locator를 돌려줌.
getLongChannelName () : String
전체 채널이름을 돌려줌.
isHidden () : boolean
숨겨진 채널이라면 TRUE를 돌려줌
retrieveDetails (listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.navigation.TvChannelDetails
이 메소드는 TvChannel에 관한 추가정보를 검색한다. 이 정보는 SI 데이터 (메타 데이터로도 불림)에 의거한 것이다. SI 데이터는 전송 스트림의 오디오/비디오/데이터 성분들과 같은 다른 데이터(콘텐츠)에 관한 정보로 간주될 수 있다. 다른 데이터에 관한 데이터이므로, SI 데이터는 가끔 메타 데이타로 불린다.
이 메소드는 동기식으로 또는 비동기식으로 데이터를 돌려줄 수 있다.
getIdentification () :org.atsc.abstractSI.navigation.ChannelIdentification
이 메소드는 채널식별을 구하는데 사용된다. (예: 채널이름과 번호).
2.1.2 ChannelCollection(220)
ChannelCollection은 ChannelConstraint 연관 클래스(235)에 의해 정의된 특정한 분류규칙에 의거한 Tvchannel(225)의 집단을 표시한다. 이러한 집단을 생성하는데 사용된 필터링은 TS ID, 네트워크 ID, 시스템 타입(DVB, ATSC 등), 부케(Bouquet), 콘텐츠 테마 (예; 스포츠), 채널이름 또는 그 서브세트 (예: CNN) 또는 이들의 결합에 의거할 수 있다.
이 클래스는 특별한 집단의 경우에 포함된 TvChannel을 브라우징하는 메커니즘도 제공한다.
이는 SorteMap 인터페이스(선마익크로 시스템즈의 JDK 1.2 API)와 유사하지만, 이 도메인에 적용가능한 것처럼 작은 서브세트의 기능만을 제공한다.
Pubic Attributes:
Sort_BY_Channel_Number : short = 1
Sort_BY_Name : short = 2
Public Operations:
SIze () : int
이 집단에 포함된 TvChannel의 수를 돌려줌.
sort (criterion : short) : void
nextChannel과 previousChannel 메소드의 행동을 결정하는 알고리즘을 특정하도록 호출됨.
예컨대, 채널이름순으로 분류하는 것이 특정된 경우, nextChannel 메소드는 현재의 TvChannel에 이어지는 다음 TvChannel 객체의 이름을 알파벳 순서로 돌려줄 것이다. 항상 오름차순으로 분류된다.
nextChannel (currentChannel :org.atsc.abstractSI.navigation.TvChannel) : TvChannel
분류기준에 의거하여 특정된 TvChannel에 관계된 다음 TvChannel을 돌려줌. 집단의 끝에 이르면 Null을 돌려줌.
previousChannel (currentChannel :org.atsc.abstractSI.navigation.TvChannel) : TvChannel
분류기준에 의거하여 이전 TvChannel을 돌려줌. 집단의 시작에 이르면 Null을 돌려줌.
firstChannel () : TvChannel
이 집단을 위한 분류기준 세트에 의거하여 이 집단의 제일 처음 TvChannel을 돌려줌.
lastChannel () : TvChannel
이 집단을 위한 분류기준 세트에 의거하여 이 집단의 마지막 TvChannel을 돌려줌.
addListner (listener : SIChangeListener) : void
이 집단의 Channel에 관련된 변화들을 위하여 SIChangeListener(815)를 등록하도록 호출됨. TvChannelChangeEvent(835)는 리스너에게 배달됨.
removeListener (listener : SIChangeListener) : void
이 집단의 Channel에 관련된 변화들을 위하여 SIChangeListener(815)를 등록취소하도록 호출됨.
retrieveChannels (filter : org.atsc.abstractSI.navigation.ChannelConstraint, listener : org.atsc.abstractSI.util.SIRetrievalListener) : ChannelCollection
이 메소드는 필터 파라메터에서 특정된 분류조건에 의거하여 ChannelCollection 객체(220)를 돌려주는데, 상기 객체는 이 집단의 서브세트이다. 필터가 영(null)이면, 이 집단에 포함된 모든 TvChannel(225)의 집단이 되돌려진다.
이 메소드는 다수의 필터링 (분류) 기준에 의거하여 TvChannel들의 더욱 더 특별화된 집단을 생성하는데 제공된다.
findChannel (locator : org.davic.net.Locator) : org.atsc.abstractSI.navigation.TvChannel
이 메소드는 이 집단의 멤버라면 특정된 로케이터에 대응하는 TvChannel을 돌려줌. 아니면, 영(null)을 돌려줌.
findChannel (ChannelID : org.atsc.abstractSI.navigation.ChannelIdentification) : org.atsc.abstractSI.navigation.TvChannel
이 메소드는 이 집단의 멤버라면 특정된 채널 식별에 대응하는 TvChannel을 돌려줌. 아니면, 영(null)을 돌려줌.
2.1.3 SIManager(240)
SI Manager는 전체 네트워크 또는 네트워크 집단의 지식을 가진 중앙관리 엔티티를 표시하며, ChannelConstraint 필터링 규칙에 의거하여 TvChannel 집단을 생성할 수 있다.
SI Manager는 각각의 개별적인 TS(DVB SIDatabase, ATSC PSIPDatabase 등)의 특정 SI 표시로의 억세스도 가진다.
Public Operations:
retrieveChannels (filter : org.atsc.abstractSI.navigation.ChannelConstraint, listener : org.atsc.abstractSI.util.SIRetrievalListener) : ChannelCollection
이 메소드는 필터 파라메터에서 특정된 분류조건에 의거하여 ChannelCollection 객체를 돌려준다. 필터가 영(null)이라면, 알려진 모든 TvChannel의 집단이 생성된다.
이 메소드는 동기식 및 비동기식으로 결과들을 배달할 수 있다. 요청된 데이터가 즉시 사용가능하다면, 동기식으로 되돌려진다.
데이터가 먼저 전송으로부터 검색되어야 한다면, SIDelayedDeliveryException(875)이 던져지고, 그 결과들이 이벤트를 매개로 등록된 리스너에게 배달된다.
파라메터 필터 - 요청된 채널 집단을 제한하는 규칙.
파라메터 리스너 - 데이터가 비동기식으로 검색되는 경우 배달 이벤트를 수신하는 리스너. 어플리케이션이 리스너를 제공하지 않는다면 (영(null)), 어떠한 비동기식 검색도 시도되지 않는다. 리스너는 이 하나의 호출만을 위하여 등록된다.
setPreferredLanguage (language : int) : void
다중언어로 된 다중언어 스트링으로서 제공되는 경우, 이 메소드는 SI 관련 클래스들과 인터페이스들(예: TvChannel 이름 등)로부터 임의의 텍스트 정보를 돌려주는데 사용되는 언어를 설정한다. 특정 언어가 사용가능하지 않다면, 바람직한 시스템 레벨 언어가 사용된다. 그 언어가 사용가능하지 않다면, 첫번째 사용가능한 언어가 사용될 것이다.
이 메소드는 abstractSI 패키지 내에 존재하는 바람직한 시스템 레벨 언어를 임시적으로 무시(override)하는데 사용된다.
getPreferredLanguage () : int
이 메소드는 스트링 타입의 값들을 돌려주기 위한 바람직한 언어를 결정하도록 호출된다.
getRatingRegions () : int[]
이 메소드는 사용가능한 등급영역의 ID 리스트를 돌려준다.
retrieveRatingRegion (regionID : int, listener : org.atsc.abstractSI.util.SIRetrievalListener) : RatingRegion
이 메소드는 특정 ratingRegionID의 RatingRegion 객체를 얻는데 사용된다. 이 메소드는 데이터를 비동기식 및 동기식으로 배달할 수 있다.
2.1.4 ChannelConstraint(235)
이 연관 클래스는 특별한 ChannelCollection(220)을 생성하는데 사용된 한 세트의 규칙 또는 필터링 기준을 표시한다. 이러한 집단을 생성하는데 사용된 필터링은 TS ID, 네트워크 ID, 시스템 타입 (DVB, ATSC 등), 부케, 콘텐츠 테마 (예: 스포츠), 채널이름 또는 그 서브세트 (예: CNN) 등에 의거할 수 있다.
Public Operations:
ChannelConstraint (filter : int, value : java.lang.Object) :
이 구성자는 분류 기준이 무엇인지를 특정한다.
파라메터 필터 - 특정 필터 타입의 계산된 값을 표시하는 필터.
파라메터 값 - 필터 타입에 의거하여 필터 값을 설정함.
getFilterType () : int
어떤 분류 메커니즘이 이 ChannelConstraint에 대하여 사용되는지를 결정하기 위하여 호출됨.
getFilterValue () : java.lang.Object
현재 필터의 값을 결정하기 위하여 호출됨. 그 값의 의미는 필터 타입에 의거하여 변한다.
2.1.5 CAIdentification(205)
CAIdentification 인터페이스는 CA 관련 정보를 TS 또는 TvChannel과 같은 임의의 SI 관련 클래스와 연관시키는 메커니즘을 제공한다. CAIdentification은 CAT MPEG 테이블에서 발견된 정보를 억세스한다.
Public Operations:
getCASystemIDs () : int[]
CAT MPEG 메시지에서 정의된 것과 같은 CA System ID들의 어레이를 돌려줌. 이 채널에 대하여 CAT 정보가 제공되지 않는 경우 영(null)을 돌려줌.
isAccessControlled () : boolean
이 채널이 CA에 의해 보호되는 경우 TRUE를 돌려준다. 이 채널이 보호되지 않거나 알려져 있지 않다면 FALSE를 돌려준다.
2.1.6 FIlterType(265)
이 인터페이스는 네트워크 ID, TS ID 등에 의해 필터링하는 것과 같은 지원된 필터링 메커니즘의 상수값의 정의를 제공한다.
Public Attributes:
NETWORK_ID_FILTER : short = 1
네트워크 ID에 의거하여 필터링함.
TRANSPORT_ID_FILTER : short = 2
TS ID에 의거하여 필터링함.
BOUQUET_ID_FILTER : short = 3
부케 ID에 의거하여 필터링함.
SYSTEM_TYPEFILTER : short = 4
SI 타입(예: DVB, ATSC 등)에 의거하여 필터링함.
SATELLITE_FILTER : short = 5
위성 ID에 의거하여 필터링함.
TRANSPONDER_FILTER : short = 6
트랜스폰더 번호에 의거하여 필터링함.
LOCATOR_FILTER : short = 7
로케이터(URL)에 의거하여 필터링함.
CHANNEL_NAME_FILTER : short = 8
채널이름에 의거하여 필터링함.
CHANNEL_NUMBER_FILTER : short = 9
채널번호에 의거하여 필터링함.
THEME_FILTER : short = 10
테마/콘텐츠 카테고리에 의거하여 필터링함.
FAVORITE_CHANGE_FILTER : short = 11
사용자 기호 채널에 의거하여 필터링함.
2.1.7 TvChannelDetails(245)
이 인터페이스는 TvChannel 메타데이터로의 억세스를 제공한다.
DeliverySystemType(807), SIUpdate(830), SystemInformation(810), 및 CAIdentification(205)로부터 유도된다.
Public Operations:
retrieveChannelDescription (listener : org.atsc.abstract.util.SIRetrievalListener) : String
이 채널의 텍스트 기술 또는 어떤 것도 사용가능하지 않다면 영(null)을 돌려준다.
getServiceProvider () : String
서비스 제공자의 이름을 돌려준다.
getServiceType () : int
이 서비스의 타입을 돌려준다. 서비스 타입은 다음 값들중 하나임: 디지털TV, 디지털 라디오, 아날로그 TV, 아날로그 라디오, 데이터 서비스, NVOD 참조 서비스, NVOD 시간이동 서비스. 이 리스트는 장래의 새로운 서비스 타입으로 확장될 수 있다.
retrieveComponents (listener : org.atsc.abstractSI.util.SIRetrievalListener) : ChannelComponent[]
이 메소드는 이 채널의 부분인 기본 성분의 리스트를 돌려준다.
getRunningStatus () : short
이 서비스의 운영상태를 돌려준다 (DVB SI 문서 참조).
retrieveContentAdvisory (listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.guide.ContentRatingAdvisory[]
각 등급영역을 위한 Content Advisory 정보의 리스트를 돌려준다.
getDeliverySystemType () : int
이 TvChannel(예: 케이블, 위성 등)을 배달하는 메커니즘을 결정하기 위하여 호출됨.
2.1.8 ChannelIdentification(250)
이 인터페이스는 TvChannel을 이름, 채널이름 또는 다른 방법으로 식별하는 유연하고 확장가능한 방법을 제공하는데 사용된다.
이 인터페이스는 ATSC 2-부분 채널번호와 같은 특정 메커니즘을 지원하도록 확장될 수 있다.
Public Operations:
getChannelNumber () : String
시스템 특정값인 채널번호를 돌려준다. 예를 들면, DCII는 단일번호를 사용하고, DVB는 실제로 채널번호를 지원하지 않거나 또는 셋톱 또는 방송장치 특정이며, ATSC는 현재 2-부분 채널번호를 가진다.
ATSC 도메인에 있어서, 이는 major.minor 표기법(주채널번호와 부채널번호 사이에 점을 가지는 스트링)으로 된다.
DVB 채널의 경우, 이는 채널번호와 같은 서비스 ID일 수 있다.
이는 개인적인 디스크립터로서 배달된 방송장치 특정 채널 번호매기기 메커니즘을 표시할 수도 있다.
getChannelName () : String
쇼트(short) 채널이름 또는 약칭을 돌려준다.
2.2 가이드 패키지(도 3)
SI에 대한 이 뷰는 서비스 사용가능성 뿐만 아니라 각 이벤트들에 제공된 장래의 이벤트 리스트를 보여주는 프로그램 가이드의 관점에서 바라 본 것이다.
2.2.1 ProgramSchedule(320)
이 인터페이스는 시간으로 정리된 주어진 TvChannel(225)을 위한 프로그램 이벤트의 집단을 나타낸다. 이는 현재, 미래 및 장래의 이벤트들을 제공한다.
Public Operations:
retrievePresentEvent (listener : org.atsc.abstractSI.util.SIRetrievalListener) : ProgramEvent
현재의 프로그램 이벤트(동조되면 볼 수 있음)를 돌려줌.
retrieveFollowingEvent (listener : org.atsc.abstractSI.util.SIRetrievalListener) : ProgramEvent
현재의 프로그램 이벤트에 바로 이어지는 프로그램 이벤트를 돌려줌.
retrieveFutureEvent (when : java.util.Date, listener : org.atsc.abstractSI.util.SIRetrievalListener) : ProgramEvent
특정시간에 대한 프로그램 이벤트를 돌려줌. 특정시간을 포함하는 프로그램 이벤트를 돌려줌. 특정시간은 프로그램 이벤트의 시작시간과 시작시간 더하기 이벤트의 계속시간 사이에 있다.
특정시간이 임의의 알려진 프로그램 이벤트 내에 있지 않다면 영(null)을 돌려줌.
retrieveFutureEvent (StartOfInterval : java.util.Date, endOfInterval : java.util.Date, listener : org.atsc.abstractSI.util.SIRetrievalListener) : ProgramEvent[]
특정시간구간에 대한 이 채널의 알려진 모든 프로그램 이벤트를 돌려줌.
retrieveEvent (locator : org.davic.net.Locator, listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.guide.ProgramEvent
이 메소드는 로케이터와 일치하는 프로그램 이벤트를 검색한다. 이 이벤트는 이 스케쥴의 부분이어야 하는 것에 주목하자.
addListener (Listener : org.atsc.abstractSI.util.SIChangeListener) : void
이 스케쥴 상에서 ProgramEvent들(340)의 변화에 관한 이벤트들을 위하여 SIChangeListener(815)를 등록하도록 호출됨. ProgramChangeEvent(845)는 이 스케쥴 상의 ProgramEvent가 변하는 경우 특정 리스너에게 배달된다.
removeListener (listener : SIChangeListener) : void
SIChangeListener(815)를 등록취소하기 위하여 호출됨.
2.2.2 ProgramEvent(340)
이 인터페이스는 공통 시간 베이스, 관련 시작시간 및 관련 종료시간을 가진 기본 스트림의 집단을 구비한다. 이벤트는 "TV 프로그램"의 공통의 산업적 사용과 동일하다.
이벤트 정보 테이블(EIT)은 정의된 TvChannel의 이벤트에 대한 정보(제목, 시작시간 등)를 포함한다. 이벤트는 대개의 경우 대표적인 TV 프로그램이지만, 그 정의는 특별한 데이터 방송 세션(session)과 그리고 정보광고와 같은 기타정보 세그멘트들을 포함하도록 또는 그 이벤트의 부분이 대화형 데이터 어플리케이션을 포함하고 다른 부분은 그렇지 않다는 것을 보여주도록 확장될 수 있다.
SystemInformationType(810)과 SIUpdate(830)로부터 유도된다. SIUpdate는 SI 테이블을 나타내는 모든 SI 객체에 의해 공유되는 인터페이스이며, 이 객체가 갱신된 마지막 시간에 관한 정보를 제공한다.
Public Operations:
getLocator () : Locator
이 프로그램 이벤트를 나타내는 Locator를 돌려줌.
getStartTime () : java.util.Date
이 프로그램 이벤트의 시작시간을 돌려줌.
getEndTime () : java.util.Date
이 프로그램 이벤트의 종료시간을 돌려줌.
getDuration () : long
이 프로그램 이벤트의 계속기간을 초단위로 돌려줌.
getEventName () : String
프로그램 이벤트의 제목을 돌려줌.
retrieveDescription (listener : org.atsc.abstractSI.util.SIRetrievalListener) : String
이벤트의 텍스트 기술을 돌려준다. 이 정보는 ATSC내의 확장 텍스트 테이블(ETT) 또는 DVB 내의 확장 이벤트 디스크립터로부터 유래한다. ETT가 이 이벤트에 대하여 사용가능하지 않은 경우 비어있는 스트링을 돌려준다.
retrieveContentAdvisory (listener : org.atsc.abstractSI.util.SIRetrievalListener) : ContentRAtingAdvisory[]
각 등급영역을 위한 Content Advisory 정보 리스트를 돌려준다.
getRunningStatus () : short
이 이벤트의 운영상태를 돌려줌 (DVB SI 문서 참조).
getTvChannel () : TvChannel
이 프로그램 이벤트가 연관된 TvChannel을 돌려줌. DVB의 경우, 이벤트와 TvChannel은 서비스 ID를 매개로 연관되며, ATSC의 경우에는 소스 ID를 매개로 연관된다.
getCost () : String
이 메소드는 IPPV 프로그램 이벤트의 비용을 돌려주며 IPPV 이벤트가 아닌경우에는 영(null)을 돌려줌.
getTheme () : short[]
이 메소드는 프로그램과 연관된 테마의 리스트를 돌려준다. 이 메소드는 숫자로 표시되며 시스템 특정이다 (예: DVB 콘텐츠 니블(nibble)). 상세한 내용은 적절한 스펙(specification)을 참조하라.
2.2.3 ContentRatingAdvisory(310)
ContentAdvisory는 주어진 이벤트에 대하여 각 등급영역을 위하여 정의된 등급 디멘젼들중 어느 것 또는 그 모두에 대한 등급을 표시하는데 사용된다. 등급들은 정의된 영역의 어느 것 또는 전부를 위하여 주어질 수 있다. 콘텐츠의 상황보고가 없는 이벤트는 임의의 등급영역에서 정의된 임의의 등급 디멘젼을 위한 등급값이 제로임을 나타낸다. 특정한 디멘젼을 위한 등급의 부재는 이러한 디멘젼을 위한 제로 값을 갖는 등급을 구비하는 것과 완전히 동등하다. 특정영역을 위한 등급의 부재는 그 영역 내의 모든 디멘젼들을 위한 등급들의 부재를 의미한다.
Public operations:
getRatingRegion () : short
이 객체의 데이터가 정의되는 등급영역을 특정하는 부호없는 8 비트 정수를 돌려준다. rating_region은 대응하는 등급영역으로 꼬리표를 달은(tagged) RRT에서 정의된 데이터와 여기서 주어진 등급데이터를 연관시킨다.
DVB 등급시스템은 연령(age)에만 의거한다. 디멘젼들중 하나로서 이 좀 더정교한 등급 시스템에 용이하게 맵핑될 수 있다.
getDimenSIons () : short[]
이 등급영역을 위하여 등급이 매겨진 모든 디멘젼들의 리스트를 돌려줌.
getRatingValue (rateDimenSIon : short) : short
이 등급영역의 파라메터들에 의해 특정된 디멘젼들의 등급값을 나타내는 숫자를 돌려줌.
getRatingText (ratedDimenSIon : short) : String
특정 디멘젼을 위한 등급 기술 디스플레이 스트링을 돌려줌.
2.2.4 RatingRegion(330)
이 인터페이스는 특정 등급영역의 모든 등급 디멘젼을 정의한다. PSIP 등급은 서비스 또는 이벤트를 위한 임의의 콘텐츠의 상황보고 디스크립터에 의해 참조된 TV 부(父) 가이드라인 시스템을 정의한다.
Public Operations:
getNumberOfDimenSIons () : short
이 등급영역에서 정의된 등급 디멘젼들의 수를 돌려줌.
getRegionName () : String
등급영역과 연관된 등급영역 이름(예: "U.S. (50주+소유령)")을 돌려줌. 등급영역 이름에 대한 디스플레이 스트링은 32 캐릭터(character) 이하로 제한된다.
getRatingDimenSIons () : RatingDimenSIon[]
이 등급영역을 위하여 정의된 모든 등급디멘젼들의 집합을 돌려줌.
2.2.5 RatingDimenSIon(350)
예컨대 U.S. 등급영역에서의 하나의 디멘젼은 MPAA 리스트를 기술하는데 사용된다. 이러한 경우에 대한 디멘젼 이름은 "MPAA"로 정의될 수 있다.
등급영역의 다른 예제는 연령에 기반을 둔 DVB 등급일 수 있다.
Public Operations:
getDimenSIonName () : String
"MPAA"와 같이 이 객체에 의해 기술되는 디멘젼 이름을 표시하는 스트링을 돌려준다. 이 디멘젼 이름 디스플레이 스트링은 20 캐릭터 이하로 제한된다.
isGraduatedScale () : boolean
이 디멘젼에서의 등급값이 그래듀에이티드(graduated) 스케일을 표시하는지를 나타낸다. 즉, 더 높은 등급값은 그 디멘젼 내의 등급이 매겨진 콘텐츠의 증가하는 레벨을 표시한다.
getNumberOfLevels () : short
이 특별한 디멘젼을 위하여 정의된 값들의 수를 특정하는 4비트 필드 (1-15)를 돌려준다.
getRatingLevelDescription (ratingLevelIndex : short) : String[]
이 디멘젼을 위하여 특정된 등급레벨을 기술하는 한 쌍의 스트링을 돌려준다.
첫번째 스트링은 하나의 특별한 등급레벨에 대한 단축이름을 표시한다. 등급값 0에 대한 단축 이름은 영 스트링, 즉""으로 설정된다. 단축값 디스플레이 스트링은 8 캐릭터 이하로 제한된다.
두번째 스트링은 하나의 특별한 등급값에 대한 전체 이름을 나타낸다. 등급값 0에 대한 전체 이름은 영 스트링, 즉 ""으로 설정된다. 등급값 디스플레이 스트링은 150 캐릭터 이하로 제한된다.
2.2.6 TvChannelWithSchedile(300)
이 인터페이스는 이 TvChannel과 연관된 프로그램 스케쥴로의 억세스를 추가함으로써 TvChannelDetail들을 확장시킨다. 이 인터페이스는 TvchannelDetails (245)로부터 유도된다.
Public Operations:
getProgramSchedule () : ProgramSchedule
이 TvChannel과 연관된 프로그램/이벤트들의 스케쥴을 돌려준다.
2.3 선택 패키지 (도 4)
SI에서의 이 뷰는 채널 선택의 관점에서 바라본 것이다. 이 뷰는 특정 MPEG-2 서비스와 그 구성성분을 선택하여 동조하고 결국에는 디코드하도록 NetworkInterfaceController, JMF 플레이어, A/V 디코더와 같은 다른 API들에 제공할 필요가 있는 정보를 나타낸다.
2.3.1 ChannelComponet(410)
이 인터페이스는 MPEG 기본 스트림의 추상화를 표시한다. 이 인터페이스는 TvChannel(225)의 개별적인 성분들에 관한 정보를 제공한다. 이는 TS의 적절한 성분을 선택하도록 플레이어에 의해 사용될 수 있다.
Public Operations:
getComponentName () : String
이 성분과 연관된 이름을 돌려준다. Component Descriptor가 존재한다면 사용될 수 있다. 다르게는 포괄적인 이름(예: 비디오, 제1 오디오 등)이 사용될 수 있다.
getAssociatedLanguage () : int
ISO 639.2/B에 의거하여 3 바이트 (24 비트) 필드를 돌려주는데, 이는 기본 스트림에 대하여 사용되는 언어를 특정한다. 이 기본적인 스트림(예: 비디오)에 대하여 어떠한 언어도 특정되지 않은 경우, 각 바이트는 값 0x00을 가진다.
getStreamType () : short
이 성분의 스트림 타입을 돌려준다. StreamType을 역시 참조하라.
2.3.2 MPEGLocator(440)
Locator(430)로부터 유도된다.
Public Operations:
getNetworkID () : int
이 로케이터가 나타내는 네트워크의 네트워크 ID를 결정하기 위하여 호출됨.
getService () : int
이 로케이터가 나타내는 서비스의 서비스 ID (MPEG 프로그램 수)를 결정하기 위하여 호출됨.
getTransportStreamID () : int
이 로케이터가 나타내는 전송의 전송스트림 ID를 결정하기 위하여 호출됨
getEventID () : int
이 프로그램 이벤트의 식별을 돌려줌.
주 : ATSC PSIP 이벤트 ID는 단일 EIT 테이블 내에서만 유일하며, DVB 이벤트 ID는 서비스 내에서 유일하다.
2.3.3 ATSCLocator(450)
MPEGLocator(440)로부터 유도됨.
Public Operations:
getSourceID () : int
가상채널과 연관된 프로그래밍 소스를 식별하는 정수를 돌려줌. 이 문맥에서, 소스란 비디오, 텍스트, 데이터 또는 오디오 프로그래밍의 하나의 특정소스를 말한다.
Source ID 값 제로가 예약된다. 0x0001 내지 0x0FFF 범위에서의 Source ID 값은 VCT를 전하는 TS 내에서 유일하게 되며, 값 0x1000 내지 0xFFFF는 영역 레벨에서 유일하다.
source_ids 0x10000 이상의 값이 ATSC에 의해 지정된 Registration Authority에 의해 발해지고 처리된다.
2.3.4 MPEGChannelComponent(420)
이는 MPEG-2 기본스트림을 나타내는 특정 Channel Component이다.
ChannelComponent(410)로부터 유도됨.
Public Operations:
getPID () : short
기본 스트림의 데이터가 TS 내에서 보내지는 PID를 돌려줌.
getPcrPID () : short
이 성분과 연관된 PCR PID 수를 돌려줌.
getTag () : int
이 기본 스트림의 성분 태그(스트림 식별자 디스크립터)를 돌려주거나, 또는 아무것도 존재하지 않는 경우에는 영(null)을 돌려줌.
getAssociationTag () : int
이 기본 스트림의 연관 태그(연관 태그 디스크립터)를 돌려주거나, 또는 아무것도 존재하지 않는 경우에는 영(null)을 돌려줌.
2.3.5 TunableChannelControl(415)
TunableChannelControl은 JMF 플레이어 또는 그 DTV 파생물에 동조되어 작동될 수 있는 TvChannel 객체를 받아들이는 인터페이스이다.
JMF javax.media.Control로부터 유도됨.
Public Operations:
get CurrentChannel () : TvChannel
현재 작동하는 TvChannel을 돌려줌.
play(newChannel : TvChannel)
이 메소드는 TvChannel의 동조, 디코딩 및 프리젠테이션을 개시하도록 호출됨.
play(newChannel : TvChannel, components : int[])
이 메소드는 TvChannel의 동조, 디코딩 및 프리젠테이션을 개시하도록 호출된다. 추가 파라메터가 TvChannel의 어떤 성분이 작동할지를 특정한다. 성분들은 그 태그 번호로 식별된다.
play(newChannel : TvChannel, language : int)
이 메소드는 TvChannel의 동조, 디코딩 및 프리젠테이션을 개시하도록 호출된다. 추가 파라메터가 TvChannel의 어떤 성분이 언어 연관에 의거하여 작동할지를 특정한다.
2.4 디스크립터 패키지 (도 5)
이 패키지는 임의 타입의 MPEG 테이블, 즉 MPEG PSI, DVB SI, ATSC PSIP 또는 DCII와 같이 전용(private) 테이블로부터 디스크립터들을 검색하는 일반적인 API 메커니즘을 기술한다.
그 의도는 DVB와 ATSC 차이들의 지식 및 이 API를 호출하는 어플리케이션의 특정 코드에 대한 필요성을 최소로 하기 위하여 이 디스크립터들을 검색하는 SI 포맷에 무관한 메커니즘을 정의하는 것이다.
1.4 절의 "디스크립터 뷰" 설명을 참조하라.
2.4.1 MPEGTableDescriptors(540)
이 인터페이스는 임의의 MPEG, DVB, ARSC 또는 전용(private) 테이블과 연관된 MPEG 디스크립터들을 검색하는 메커니즘을 제공한다. 이 인터페이스는 한 세트의 디스크립터 또는 한 세트의 사용가능한 디스크립터 태그들을 돌려준다. 호출하는 어플리케이션은 어떤 디스크립터가 관심이 있는지를 암시할 수 있다. 디스크립터들이 특정 테이블에 존재한다면 이들중 하나의 서브세트만을 돌려준다.
디스크립터들은 주로 url에 의해 식별된다. 이는 많은 경우에 충분하지 않은데, 예컨대 서비스는 PMT와 SDT 등의 다수의 테이블에 기술될 수 있기 때문이다. 따라서, 테이블 타입은 어떤 타입의 테이블로부터 디스크립터를 검색할지를 식별하기 위하여 특정된다. 몇가지 희귀한 경우에는, 추가 식별이 요구된다. 예를 들면, RRT 타입이 특정되는 경우, 디스크립터의 적절한 서브세트를 검색하는데 Rating Region ID가 요구된다. 동일한 것이 BAT 타입 테이블에도 적용되는데, 여기서 어떤디스크립터를 검색할지 결정하는데 Bouquet ID가 요구된다.
또한, 디스크립터 태그들의 디스크립터들의 복구세트와 탐색을 제한하기 위하여 선택적인 세트가 호출에서 특정될 수 있다.
DescriptorTag(520)와 TableType(510)으로부터 유도됨.
Public Operations:
retrieveDescriptors (url : Locator, tableType : short, someTags : short [], listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.descriptor.Descriptor[]
한 세트의 디스크립터들을 검색한다. 이 메소드는 디스크립터들이 방영하는 순서로 특정 테이블 내에 배달된 로케이터(URL)에 의해 특정된 엔티티와 연관된 모든 또는 한 세트의 디스크립터들을 검색한다.
파라메터 url - 디스크립터를 얻는 것에 대한 (TS, 서비스 등의) 엔티티의 URL에 기반을 둔 스펙.
파라메터 tableID - 특정 디스크립터를 검색하는 것으로부터의 테이블의 TableType.
파라메터 someTags - 어플리케이션이 관심을 두는 (그 태그들에 의해 식별된) 디스크립터들을 위한 태그들의 리스트. 적용할 수 없는 태그값들 모두 무시된다. 이 리스트가 비어있거나 영이라면, 모든 디스크립터를 돌려준다.
파라메터 listener - 데이터가 비동기식으로 검색되는 경우에 배달 이벤트를수신하는 리스너. 어플리케이션이 리스너를 제공하지 않는 경우 (영인 경우), 어떠한 비동기식 검색도 시도되지 않는다. 리스너는 이 하나의 호출만을 위하여 등록된다.
리턴 값 - someTag들에서 표시된 것과 같은 디스크립터 객체의 세트 (또는 서브세트).
Descriptor를 또한 참조하라.
retrieveDescriptors (url : Locator, tableType : short, entityID : short, someTags : short[], listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.descriptor.Descriptor[]
디스크립터 세트를 검색한다. 이 메소드는 디스크립터들이 방영하는 순서로 특정 테이블 내에 배달된 로케이터(URL)에 의해 특정된 엔티티와 연관된 모든 또는 한 세트의 디스크립터들을 검색한다.
파라메터 url - 상기 정의 참조.
파라메터 tableID - 상기 정의 참조.
파라메터 entityID - 특정 테이블에 기술된 특정 엔티티를 나타내는 ID. 엔티티 타입은 테이블 타입에 의존한다. 예를 들면, table ID가 BAT를 식별하는 경우, entity ID는 특정 Bouquet ID이다.
파라메터 someTags - 상기 정의 참조.
파라메터 listener - 상기 정의 참조.
리턴 값 - 상기 정의 참조.
Descriptor를 또한 참조하라.
retrieveDescriptorTags (url : Locator, tableType : short, listener : org.atsc.abstractSI.util.SIRetrievalListener) : short[]
특정 테이블 타입을 위하여 실제로 방영되는 로케이터(URL)에 의해 특정된 엔티티와 연관된 모든 디스크립터들의 태그들을 검색한다. 디스크립터들이 방영되는 순서와 동일한 순서로 (즉, 전송 스트림에서) 태그들을 돌려준다.
파라메터 url - 상기 정의 참조.
파라메터 tableID - 디스크립터 태그들을 검색하는 것으로부터 테이블의 TAble ID.
파라메터 listener - 상기 정의 참조.
리턴 값 - (그 태그들에 의해 식별된) 특정 테이블을 위하여 실제로 방영되는 디스크립터들의 태그들.
DescriptorTag를 또한 참조하라.
retrieveDescriptorTags (url : Locator, tableType : short, entityID : short, listener : org.atsc.abstractSI.util.SIRetrievalListener) : short[]
특정 테이블 타입을 위하여 실제로 방영되는 로케이터(URL)에 의해 특정된 엔티티와 연관된 모든 디스크립터들의 태그들을 검색한다. 디스크립터들이 방영되는 순서와 동일한 순서로 (즉, 전송 스트림에서) 태그들을 돌려준다.
파라메터 url - 상기 정의 참조.
파라메터 tableID - 상기 정의 참조.
파라메터 entityID - 특정 테이블에 기술된 특정 엔티티를 나타내는 ID. 엔티티 타입은 테이블 타입에 의존한다. 예를 들면, table ID가 BAT를 식별하는 경우, entity ID는 특정 Bouquet ID이다.
파라메터 listener - 상기 정의 참조.
리턴 값 - 상기 정의 참조.
DescriptorTag를 또한 참조하라.
2.4.2 Descriptor(530)
이 인터페이스는 MPEG Descriptor의 기본구조를 특정한다. 이 인터페이스는 Tag, Length 및 바이트 어레이로 구성된다.
SystemInformationType(810)과 DescriptorTag(520)로부터 유도됨.
Public Operations:
getTag () : short
디스크립터 태그를 돌려줌.
getByteAt (index : int) : byte
디스크립터 콘텐츠 내의 특별한 바이트를 돌려줌.
getLength () : short
디스크립터 콘텐츠의 길이를 돌려줌.
getContent () : byte[]
전체 디스크립터 콘텐츠를 돌려줌.
2.4.3 DescriptorTag(520)
이 인터페이스는 대개의 공통 디스크립터 태그에 대응하는 상수들을 정의한다. Descriptor를 또한 참조하라.
Public Attributes:
NETWORK_NAME : SHORT = Ox40
SERVICE_LIST : SHORT = Ox41
STUFFING : SHORT = Ox42
SATELLITE_DELIVERY_SYSTEM : SHORT = Ox43
CABLE_DELIVERY_SYSTEM : SHORT = Ox44
BOUQUET_NAME : SHORT = Ox47
SERVICE : SHORT = Ox48
COUNTRY_AVAILABILITY : SHORT = Ox49
LINKAGE : SHORT = Ox4A
NVOD_REFERENCE : SHORT = Ox4B
TIME_SHIFTED_SERVICE : SHORT = Ox4C
SHORT_EVENT : SHORT = Ox4D
EXTENDED_EVENT : SHORT = Ox4E
TIME_SHIFTED_EVENT : SHORT = Ox4F
COMPONENT : SHORT = Ox50
MOSAIC : SHORT = Ox51
STREAM_IDENTIFIER : SHORT = Ox52
CA_IDENTIFIER : SHORT = Ox53
CONTENT : SHORT = Ox54
PARENTAL_RATING : SHORT = Ox55
TELETEXT : SHORT = Ox56
TELEPHONE : SHORT = Ox57
LOCAL_TIME_OFFSET : SHORT = Ox58
SUBTITLING : SJORT =0X59
TERRESTRIAL_DELIVERY_SYSTEM : SHORT = Ox5A
MULTILINGUAL_NETWORK_NAME : SHORT = Ox5B
MULTILINGUAL_BOUQUET_NAME : SHORT = Ox5C
MULTILINGUAL_SERVICE_NAME : SHORT = Ox5D
MULTILINGUAL_COMPONENT : SHORT = Ox5E
PRIVATE_DATA_SPECIFIER : SHORT = Ox5F
SERVICE_MOVE : SHORT = Ox60
SHORT_SMOOTHING_BUFFER : SHORT = Ox61
FREQUENCY_LIST : SHORT = Ox62
PARTIAL_TRANSPORT_STREAM : SHORT = Ox63
DATA_BROADCAST : SHORT = Ox64
AC3_AUDIO : SHORT = Ox81
PROGRAM_IDENTIFIER : SHORT = Ox85
CAPTION_SERVICE : SHORT = Ox86
CONTENT_ADVISORY : SHORT = Ox87
EXTENDED_CHANNEL_NAME : SHORT = OxA0
SERVICE_LOCATION : SHORT = OxA1
TIME_SHIFTED_ATSC_SERVICE : SHORT = OxA2
COMPONENT_NAME : SHORT = OxA3
2.4.4 TableType(510)
이 인터페이스는 MPEG, ATSC, 및 DVB 테이블 타입들 또는 DCII와 같은 전용(private) 테이블에 대응하는 상수 세트를 정의한다.
Public Attributes:
UNKNOWN : short = 0
CA_INFO : short = 1
MPEG PSI CAT 테이블.
SERVICE_INFO : short = 2
MPEG PSI PMT 테이블.
TRANSPORT_INFO : short = 3
MPEG PSI TSDT 테이블.
NAVIGATION_INFO : short = 4
DVB BAT 및 SDT 테이블, 및 ATSC VCT 테이블.
NET_INFO : short = 5
DVB NIT 테이블, 및 ATSC MGT 테이블.
RATING_INFO : short = 6
ATSC RRT 테이블.
TIME_INFO : short = 7
DVB TOT 테이블, 및 ATSC STT 테이블.
EVENT_INFO : short = 8
DVB EIT 테이블, 및 ATSC EIT 테이블.
2.5 파이프라인 패키지 (도 6)
이 패키지는 파이프라인 (또는 네트워크) 뷰를 나타낸다. 이 패키지는 MPEG-2와 같은 전송 배달 메커니즘에 관련된 객체를 나타낸다. 이 패키지는 IP와 같은 비MPEG 배달 프로토콜에 관한 정보도 포함할 수 있다.
2.5.1 SatelliteInformation(605)
이 인터페이스는 위성배달 네트워크의 Satellite에 관한 정보를 표시한다.
Public operations:
getSatelliteId () : int
이 Satellite의 ID를 돌려줌.
getSatelliteName () : string
전체 Satellite의 이름을 돌려줌.
getSatelliteAbbreviation () : string
약칭의 Satellite 이름을 돌려줌.
getNumberOfTransponders () : int
이 Satellite에서 사용가능한 Transponder들의 수를 돌려줌.
getTransponderNumbers () : int[]
이 메소드는 이 Satellite에서 사용가능한 Transponder들의 수의 행렬를 돌려줌.
getTransponderName (transponderNumber : int) : string
특정된 Transponder의 이름을 돌려줌.
getTransponderNumber (transportStreamID : int) : int
특정된 TS를 배달하는 transponder의 수를 돌려줌.
2.5.2 BouquetInformation(630)
이 인터페이스는 (TS와 네트워크 경계들에 걸쳐 있을 수 있는 서비스 집단) 부케에 관한 정보를 표시하는데, 부케는 DVB 특정 개념이다.
Piblic Operations:
getBouquetID () : int
이 메소드는 이 Bouquet 정의의 ID를 돌려준다.
getName () : java.lang.String
이 메소드는 이 Bouquet 이름을 돌려준다.
2.5.3 TransportStreamInfo(660)
이 인터페이스는 TS에 관한 정보를 제공한다. SystemInformationType(810)으로부터 유도된다.
Public Operations:
getLocator () : org.davic.net.Locator
이 메소드는 이 TS의 URL을 돌려준다.
getNetworkID () : int
이 TS를 수송하는 네트워크의 ID를 돌려준다.
getTransportStreamID () : int
이 메소드는 이 TS의 ID를 돌려준다.
getDescription () : string
이 TS의 기술 또는 텍스트 이름을 돌려준다.
getOriginalNetworkID () : int
이 메소드는 이 TS가 유래된 네트워크의 네트워크 ID를 돌려준다.
이 메소드는 이 TS가 그 수송하는 네트워크상에서 유래된 경우 getNetworkID와 동일한 ID를 돌려준다.
2.5.4 NetworkInformation
이 인터페이스는 전송 스트림의 네트워크에 관한 기술적인 정보를 제공한다.
Public Operations:
getNetworkID () : int
이 메소드는 이 네트워크의 ID를 돌려줌.
getLocator () : org.davic.net.Locator
이 메소드는 이 네트워크의 URL을 돌려줌.
getNetworkName () : java.lang.String
이 메소드는 이 네트워크의 이름을 돌려줌.
2.5.5 MPEGPipeline(670)
MPEG SI Manager는 MPEG-2 특정 SI를 표시한다. PipelineInformation(650) 및 MPEGTableDescriptors(540)로부터 유도된다.
Public Operations:
retrieveSatelliteInformation (transportStreamID : int, listener : org.atsc.abstractSI.util.SIRetrievalListener) : SatelliteInformation[]
이 메소드는 특정된 TransportStream을 수송하는 Satellite에 관한 정보를 표시하는 객체의 어레이를 돌려준다.
어떠한 TS도 특정되지 않는다면, 알려진 모든 Satellite들에 관한 정보를 표시하는 객체들의 어레이를 돌려준다.
위성 네트워크가 아니라면 빈 어레이를 돌려준다.
retrieveBouquet (bouquetID : int, listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.pipeline.BouquetInformation
이 메소드는 특정된 Bouquet에 관한 정보를 돌려준다.
retrieveBouquet (listener : org.atsc.abstractSI.util.SIRetrievalListener) : BouquetInformation[]
모든 알려진 Bouquet를 표시하는 BouquetInformation 객체들의 어레이를 돌려준다.
retrieveTransportStream (url : locator, listener : org.atsc.abstractSI.util.SIRetrievalListener) : TransportStreamInfo
이 메소드는 특정된 TS에 관한 정보를 표시하는 특정 TransportStreamInfo 객체를 돌려준다.
retrieveTransportStreams (networkID : int, listener : org.atsc.abstractSI.util.SIRetrievalListener) : TransportStreamInfo[]
특정된 네트워크에 대한 알려진 모든 전송 스트림들을 표시하는 TransportStreamInfo 객체들의 어레이를 돌려준다.
retrieveNetwork (networkID : int, listener : org.atsc.abstractSI.util.SIRetrievalListener) : NetworkInformation
그 ID에 의해 특정된 NetworkInformation을 돌려줌.
retrieveNetworks (listener : org.atsc.abstractSI.util.SIRetrievalListener) : NetworkInformation[]
알려진 모든 네트워크들을 표시하는 NetworkInformation 객체들의 어레이를 돌려줌.
addListener (listener : SIChangeListener) : void
SIManager(240)에 의해 제공된 객체들의 변화들과 관련된 변화들에 대한SIChangeListener(815)를 등록하기 위하여 호출됨.
이는 TransportStreamInfo(660), NetworkInfomation(610) 등을 포함하지만, ChannelCollection(220)과 ProgramSchedule(320)과 같은 적절한 집단들을 매개로 청취될 수 있는 TvChannel(225)과 ProgramEvent(340)는 제외된다. 따라서, SIInfoChangeEvent(850)가 리스너에게 배달될 것이다.
removeListener (listener : SIChangeListener) : void
SIChangeListener(815)를 등록취소시키기 위하여 호출됨.
2.5.6 SISpecificManager(640)
이 SI manager는 콘텐츠 배달 매체에 관한 특정 정보를 가진다. SIManager(640)로부터 유도된다.
Public Operations:
getPipelineInfo () :
org.atsc.abstractSI.pipeline.PipelineInformation[]
이 메소드는 MPEG-2 전송과 같은 다른 콘텐츠 배달 매체를 표시하는 객체들의 리스트를 돌려준다.
2.5.7 PipelineInformation(650)
이 추상적인 클래스는 다른 콘텐츠 배달 매체를 위한 위치유지자(placeholder)이다. 이 클래스는 MPEG-2 TS와 같은 특별한 전송 메커니즘에 특정한 객체에 의해 확장되어야 한다.
2.6 데이터 패키지 (도 7)
이 패키지는 데이터 이벤트들의 스케쥴을 나타낸다. 오디오/비디오 프로그램들과 마찬가지로 주어진 TvChannel에 대하여 주어진 데이터 이벤트일 수도 있다.
2.6.1 TvChannelWithData(710)
이 인터페이스는 이 TvChannel과 연관된 데이터 이벤트 스케쥴로의 억세스를 추가함으로써 TvChannelDetails를 확장시킨다. TvChannelDetails(245)로부터 유도된다.
Public Operations:
getDataSchedule () : org.atsc.abstractSI.data.DataSchedule
이 메소드는 데이터 이벤트들의 스케쥴을 돌려준다.
2.6.2 DataSchedule(720)
이 인터페이스는 시간순서로 정렬된 주어진 TvChannel에 대한 데이터 이벤트들의 집단을 표시한다.
Public Operations:
addListener (listener : org.atsc.abstractSI.util.SIChangeListener) : void
이 스케쥴상에서 DataEvents(730)의 변화들에 관계된 이벤트들에 대한 SIChangeListener(815)를 등록취소시키기 위하여 호출된다. 이 스케쥴 상의 임의의 DataEvent(730)가 변하면 DataChangeEvent(840)는 특정 리스너에게 배달된다.
removeListener (listener : org.atsc.abstractSI.util.SIChangeListener) : void
SIChangeListener를 등록취소시키기 위하여 호출된다.
retrieveEvent (when : java.util.Date, listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.data.DataEvent
특정된 시간을 위한 데이터 이벤트를 돌려준다. 특정된 시간을 포함하는 데이터 이벤트를 돌려줄 것이다. 특정된 시간은 데이터 이벤트의 시작시간과 그리고 시작시간 더하기 이벤트 계속시간 사이에 있다.
특정된 시간이 알려진 임의의 데이터 이벤트 내에 있지 않다면 영(null)을 돌려준다.
retrieveEvents (startOfInterval : java.util.Date, endOfInterval : java.util.Date, listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.data.DataEvent[]
특정된 시간구간에 대하여 이 채널 상에서 알려진 모든 데이터 이벤트들을 돌려준다.
retrieveEvent (locator : org.davic.net.Locator, listener : org.atsc.abstractSI.util.SIRetrievalListener) : DataEvent
이 메소드는 로케이터와 일치하는 데이터 이벤트를 검색한다. 이벤트는 이 스케쥴의 일부분이다.
2.6.3 DataEvent(730)
이 객체는 특별한 시간 구간 동안 TvChannel(225)과 연관된 데이터 이벤트를 나타낸다. ATSC에서는, 그 정보가 DIT 테이블에서 배달된다. DIT는 PSIP의 확장이다. 이는 EIT들과 유사하지만, 데이터 이벤트들 (오디오-비쥬얼 이벤트 아님)을 나타내며 ATSC T3/S13 데이터 방송 스펙에서 정의된다.
SIUpdate(830)로부터 유도된다.
Public Operations:
getLocator () : org.davic.net.Locator
이 데이터 이벤트를 표시하는 Locator를 돌려줌.
getStartTime () : java.util.Date
이 데이터 이벤트의 시작시간을 돌려줌.
getEndTime () : java.util.Date
이 데이터 이벤트의 종료시간을 돌려줌.
getDuration () : long
이 데이터 이벤트의 지속시간을 초단위로 돌려줌.
getTitle () : java.lang.String
데이터 이벤트의 제목을 돌려줌.
retrieveDescription (listener : org.atsc.abstractSI.util.SIRetrievalListener) : java.lang.String
그 이벤트의 텍스트 기술을 돌려준다. 이 정보는 ATSC에서의 ETT 또는 DVB에서의 확장된 이벤트 디스크립터로부터 유래한다.
retrieveContentAdvisory (listener : org.atsc.abstractSI.util.SIRetrievalListener) : org.atsc.abstractSI.guide.ContentRatingAdvisory
각 등급영역에 대한 Content Advisory 정보의 리스트를 돌려준다.
getTvChannel () : org.atsc.abstractSI.navigation.TvChannel
이 데이터 이벤트가 연관된 TvChannel을 돌려준다. DVB에서는, 이벤트들과 TVChannel들이 서비스 ID를 매개로 연관되며, ATSC에서는 소스 ID와 연관된다.
2.7 유틸리티 패키지 (도 8)
이 패키지는 SI 패키지들에 지원기능들을 제공하는 클래스들과 인터페이스들을 정의한다. 이는 통지 메커니즘(이벤트들과 리스너들), SIManager 객체를 생성하는 Factory 메소드 및 모든 익셉션을 포함한다.
Factory 메소드는 객체지향 프로그래밍 분야에서 알려진 것과 같이 문제를 해결하기 위한 방법론이며 구조이다.
2.7.1 SIFactory(805)
이 클래스는 SIMannager 인터페이스(240)를 구현하는 객체들을 생성하는 메커니즘을 제공한다. 이 클래스는 Factory 메소드 디자인 패턴 이후에 모델링된다.
Public Operations:
SIFactory () :
구성자.
getSIManager () : SIManager
SIManager 인터페이스의 구현을 돌려주거나 또는 사용가능하지 않은 경우 영을 돌려준다.
2.7.2 SIChangeListener(815)
SIChangeListener 인터페이스는 SI 객체들의 변화를 청취하도록 어플리케이션 클래스들을 사용함으로써 구현된다. 이는 이벤트를 통지하기 위하여 SI객체 리스너에 의해 재호출될 메소드를 제공한다.
Public Operations:
SIChange (event : SIChangeEvent) : void
현존하는 SI 객체가 변하거나, 새로운 SI 객체가 검지되거나 또는 현존하는 SI 객체가 더 이상 사용가능하지 않을 때 이 메소드가 호출된다.
2.7.3 SIChangeEvent(834)
SIChangeEvent 객체(834)는 새로운 이벤트를 통지하기 위하여 SIChangeListeners(815)로 보내진다.
EventObject(820)으로부터 유도됨.
Public Operations:
getType () : byte
이벤트 타입을 돌려줌 (가능한 값들은 SIChangeEventType 인터페이스에서 정의됨).
2.7.4 SIChangeEventType
이 인터페이스는 SIChangeEvent 타입 값들에 대응하는 상수들을 정의한다.
Public Attribuites:
OBJECT_CHANGED : byte = 1
현존하는 객체가 변하였음.
NEW_OBJECT : byte = 2
새로운 객체가 검지됨.
OBJECT_UNKNOWN : byte = 3
객체가 더 이상 사용가능하지 않음.
2.7.5 TvChannelChangeEvent(835)
이 이벤트는 특별한 TvChannel에 관한 정보를 배달한다. SIChangeEvent(834)로부터 유도된다.
Public Operations:
getChangedChannel () : Locator
이 메소드는 어떤 채널이 변했는지를 결정하기 위하여 호출된다.
2.7.6 ProgramChangeEvent(845)
이 이벤트는 특별한 ProgramEvent에 관한 정보를 배달한다.
SIChangeEvevnt(834)로부터 유도된다.
Public Operations:
getChangedprogram () : Locator
이 메소드는 어떤 ProgramEvent가 변했는지를 결정하기 위하여 호출된다.
2.7.7 SIInfoChangeEvent(850)
이 이벤트는 SI Manager를 매개로 통상 얻어진 특별한 하이레벨 SI 객체에 관한 정보를 배달한다. SIChangeEvent(834)로부터 유도된다.
Public Operations:
getSIObjectType () : short
이 메소드는 어떤 타입의 SI 객체가 변했는지를 결정하기 위하여 호출된다. 이는 TransportStreamInfo(660), NetworkInformation(610), BouquetInformation (630), RatingRegion(330) 등일 수 있다.
getSIObjectID () : int
이 메소드는 그 타입이 getSIObjectType 메소드에 의해 식별된 변화된 SI 객체의 ID를 돌려준다. 예를 들면, SIObjectType가 TransportStreamInfo라면 SIObjectID는 TS ID일 것이다.
2.7.8 SIUpdate(830)
이 인터페이스는 임의의 SI 엔티티와 연관될 수 있다. 이는 데이터가 마지막으로 갱신되었던 시간에 관한 정보를 제공한다. SI 데이터베이스는 모든 리스너가 통지받게 되는 새로운 정보를 가질 수 있다.
Public Operations:
getUpdateTime () : java.util.Date
이 인터페이스를 구현하는 객체에 포함된 정보가 마지막으로 갱신된 시간을 돌려준다.
리턴값 - 마지막 갱신 일자
2.7.9 SIDelayedDeliveryException(875)
이 익셉션은 요청된 데이터가 즉시 사용가능하지 않을 때 (예: 캐쉬되지 않은) 발해지며 데이터의 비동기식 배달을 신호로 알린다.
EXception(860)으로부터 유도됨.
Public Operations:
getRequest () : org.atsc.abstractSI.util.SIRequest
이 메소드는 비동기식 요청을 나타내는 객체를 돌려준다. 이는 요청을 취소하고 그리고 이를 요청된 데이터를 배달하는 이벤트와 연관시키는데 사용될 수 있다.
2.7.10 SIRetrievalListener(870)
이 인터페이스는 비동기식 SI 요청의 완료에 관한 이벤트들을 수신하도록 어플리케이션 클래스들에 의해 구현된다.
일반적으로, 리스너는 (파라메터들중 하나로서) 잠재적으로 비동기식 호출이 있을 때 그 자신을 등록한다. 리스너는 하나의 호출만을 위하여 등록되며 요청이 만족된 경우에 자동으로 등록취소된다.
Public Operations:
postRetrievalEvent (event : org.atsc.abstractSI.util.SIRetrievalEvent) : void
이 메소드는 리스너에게 비동기식 SI 검색 이벤트를 배달하기 위하여 호출된다.
2.7.11 SIRetrievalEvent(865)
이 이벤트는 "retrieveXXX" 호출들중 임의의 것에 의해 비동기식으로 요청된 데이터를 배달한다. "retrieve"로 시작하는 모든 메소드들이 이 카테고리, 즉 블록(225)의 retrieveDetails(), 블록(320)의 retrievePresentEvent() 등에 있다.
이는 데이터 그 자체 또는 실패의 표시를 배달한다. 또한, 이는 이 이벤트를 요청 시퀀스 번호를 사용하여 원래의 요청과 연관시키는 메커니즘을 제공한다.
이 이벤트는 "retrieveXXX" 호출이 SIDelayedDelivery 익셉션(875)을 발할 때에만 배달되는데, 상기 익셉션은 요청 시퀀스 번호와 함께 SIRequest 객체(886)를 포함한다.
EventObject(820)로부터 유도됨.
Public Operations:
getSequenceNumber () : int
이 메소드는 이 이벤트가 해당하는 원래의 비동기식 검색요청에 할당된 시퀀스 번호를 돌려준다.
2.7.12 SIRequest(886)
이 객체는 SI 데이터의 비동기식 검색을 촉진시키는데 사용된다. 이 객체는 현재 계속중인 요청을 취소시키고 그리고 그 요청을 요청된 데이터를 배달하는 이벤트와 연관시키는데 사용될 수 있다.
Public Operations:
cancelRequest () : boolean
이 메소드는 현재 계속중인 요청을 취소시킨다.
리턴값 "True"는 이 요청이 성공적으로 취소되었음을 나타낸다. "False"는 그 요청이 이미 배달되어서 취소될 수 없음을 나타낸다.
getSequenceNumber () : int
이 메소드는 이 비동기식 검색호출과 연관된 번호를 돌려준다. 이는 이어지는 이벤트를 이 요청과 짝지으도록 하는데 사용될 수 있다.
2.7.13 SIRetrievalSuccessEvent(884)
이 이벤트는 요청된 데이터가 검색되어 배달되었음을 신호로 알린다.
SIRetrievalEvent(865)로부터 유도됨.
2.7.14 SIRetrievalSingleSuccessEvent(892)
이 이벤트는 요청되었던 하나의 객체를 배달한다. SIRetrievalEvent(865)로부터 유도된다.
Public Operations:
getResult () : java.lang.Object
이 메소드는 이 이벤트에 의해 배달된 데이터를 구하는데 사용된다.
돌려준(returned) 객체의 특정 타입(클래스)은 원래 호출의 문맥으로부터 미리 예상할 수 있는데, "retrieveXXX" 메소드에 의해 비동기식으로 돌려준 객체와 동일한 객체이다.
2.7.15 SIRetrievalMultipleSuccessEvent(894)
이 이벤트는 요청되었던 객체의 어레이를 배달한다. SIRetrievalSuccessEvent(894)로부터 유도된다.
Public Operations:
getResult () : java.lang.Object[]
이 메소드는 이 이벤트에 의해 배달된 데이터를 구하는데 사용된다.
돌려준 객체들의 특정 타입 (클래스)은 원래 호출의 문맥으로부터 미리 예상할 수 있는데, "retrieveXXX" 메소드에 의해 비동기식으로 돌려준 객체와 동일한 객체이다.
2.7.16 SIRetrievalFailEvent(882)
이 이벤트는 요청된 데이터를 배달하는데 실패하였음을 신호로 알린다. 실패의 가능한 이유로는 데이터가 TS에 존재하지 않거나 또는 자원들이 데이터를 얻는데 사용가능하지 않은 것을 들 수 있다.
SIRetrievalEvent(865)로부터 유도된다.
2.7.17 SIException(880)
이는 특별한 SI 관련 호출이 타당하지 않은 파라메터들을 포함하고 있는 경우 발해질 수 있는 포괄적인 익셉션이다. Exception(860)으로부터 유도된다.
2.7.18 SystemInformationType(810)
이 인터페이스는 특정 SI 데이터베이스들(예: DVB SI 데이터베이스, ATSC PSIP 데이터베이스)로의 억세스를 제공한다.
Public Attributes:
ATSC_PSIP : short = 1
DVB_SI : short = 2
SCTE_SI : short = 3
Public Operations:
getSystemInformationType () : short
(예: ATSC PSIP, DVB SI 등의) 이 원소(element)가 배달되어진 특정 SI 포맷을 결정하기 위하여 호출됨.
2.7.19 DataChangeEvent(840)
이 이벤트는 특별한 데이터 이벤트에 관한 정보를 배달한다.SIChangeEvent(834)로부터 유도됨.
Public Operations:
getChangedData () : org.davic.net.Locator
2.7.20 SINotAvailableException(890)
이 익셉션은 요청된 데이터가 특별한 경우에 사용가능하지 않다는 것을 표시한다.
SIException(880)으로부터 유도됨.
2.7.21 DeliverySystemType(807)
이 인터페이스는 이 인터페이스를 구현하는 특별한 객체의 배달 시스템 타입(예: 케이블, 위성 등)에 관한 정보를 제공한다.
Public Attributes:
CABLE_DELIVERY_SYSTEM : SHORT = 1
SATELLITE_DELIVERY_SYSTEM : SHORT = 2
TERRESTRIAL_DELIVERY_SYSTEM : SHORT = 3
따라서, 본 발명은 디지털 텔레비젼 단말기에서의 어플리케이션들이 특정 포맷타입에 관계없이 디지털 TS로부터 SI를 복구하도록 허용하는 API를 제공한다는 것을 알 수 있다. API는 단말기에 의해 사용가능한 포맷으로 제공하도록 SI의 관련부분을 추상화한다.
본 발명에 따른 시스템은 예를 들면 MPEG PSI, DVB SI, ATSC PSIP 전용(private) SI 를 포함하는 SI 포맷과 함께 사용하기에 적당하다.
본 발명을 다양한 특정 실시예들과 관련하여 설명하였지만, 당업자라면 이 하의 청구범위에 기재된 본 발명의 범위 및 정신으로부터 벗어나지 않고도 여러 변형 및 수정이 가능하다는 것을 알 수 있을 것이다.
예를 들면, 다양한 구문 요소들이 본 명세서에서 논의되었지만, 이들은 예시적인 것일 뿐이며 다른 구문이 사용될 수도 있다.
더욱이, 본 발명은 케이블 또는 위성 텔레비젼 광대역 통신네트워크, 랜(LAN), MAN(metropolitan area networks), WAN(wide area networks), 인터넷, 인트라넷 또는 이들의 결합 등의 임의의 가상 네트워크 타입과 함께 사용하기에 적당하다.
또한, 본 발명을 구현하기 위하여 공지의 컴퓨터 하드웨어, 펌웨어 및/또는 소프트웨어 기술들이 사용될 수 있다.

Claims (21)

  1. 컴퓨터 프로그램 코드 수단을 가지는 컴퓨터 판독가능한 매체; 및
    어플리케이션 프로그래밍 인터페이스(API)를 구현하기 위하여 상기 컴퓨터 프로그램 코드 수단을 실행하는 수단을 구비하고,
    상기 API는 복수의 다른 포맷들중 어느 하나의 포맷으로 상기 단말기에 의해 수신된 디지털 텔레비젼 전송 스트림의 시스템 정보(SI)를 추상화하며,
    상기 API는 SI가 제공된 특정 포맷에 관계없이 단말기에서의 어플리케이션에 의해 사용되기에 적당한 포괄적인 포맷으로 추상적인 SI를 제공하는 텔레비젼 셋톱 단말기.
  2. 제1항에 있어서, 상기 API는 단말기로 하여금 상기 추상적인 SI에 따라서 전송 스트림 내의 텔레비젼 채널들 사이를 항해할 수 있도록 하는 네비게이션 기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  3. 제1항에 있어서, 상기 API는 상기 추상적인 SI에 따라서 전송 스트림 내의 텔레비젼 채널들을 위한 전자식 프로그램 가이드를 구현하는 프로그램 가이드 기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  4. 제1항에 있어서, 상기 API는 상기 추상적인 SI에 따라서 전송 스트림의 특정텔레비젼 채널들을 선택하는 선택기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  5. 제1항에 있어서, 상기 API는 상기 추상적인 SI에 따라서 SI의 디스크립터들을 복구하는 디스크립터 검색기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  6. 제1항에 있어서, 상기 API는 어플리케이션으로의 SI의 동기식 배달을 지원하기 위하여 이벤트들과 익셉션들을 포함하는 유틸리티 기능구비 지원객체를 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  7. 제1항에 있어서, 상기 API는 상기 추상적인 SI에 따라서 전송 스트림 내의 데이터 서비스들에 대한 가이드를 구현하는 데이터 기능을 구비하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  8. 제1항에 있어서, 상기 API는 상기 추상적인 SI에 따라서 전송 스트림의 물리적인 배달 메커니즘에 관한 정보를 제공하는 파이프라인 기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  9. 제1항에 있어서, 상기 복수의 사용가능한 SI 포맷들은,
    동영상 전문가 그룹(MPEG) 프로그램 특정 정보(PSI);
    디지털 비디오 방송(DVB) 시스템 정보(SI);
    텔레비젼 시스템 고등위원회(ATSC) 프로그램 및 시스템 정보 프로토콜(PSIP);
    케이블 및 텔레비젼 기술자 협회의 케이블 SI 디지털 비디오 표준 234; 및
    전용(private) SI중 적어도 하나를 포함하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  10. 제1항에 있어서, 전송 스트림이 단말기에서 수신될 때 서비스 정보를 저장하는 메모리를 더 구비하고,
    상기 API는 단말기에서의 호출 어플리케이션이 서비스 정보를 검색하여 메모리에서 사용가능한 SI가 기본적으로는 직접 리턴값으로서 즉시 돌려지도록 할 수 있는 검색기능호출을 제공하고, 서비스 정보가 메모리에서 사용가능하지 않은 경우 상기 검색기능호출은 SI가 비동기식으로 호출어플리케이션에 배달되는 호출어플리케이션으로 익셉션 신호를 돌려주는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  11. 제10항에 있어서, 상기 API는 호출어플리케이션으로의 SI의 비동기식 배달을 지원하도록 이벤트들과 익셉션들을 포함하는 유틸리티기능 구비 지원객체를 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  12. 제1항에 있어서, 상기 전송 스트림은 복수의 사용가능한 전송 스트림 포맷들중 하나로 제공되며,
    상기 API는 SI가 제공되는 특정 전송 스트림에 관계없이 어플리케이션에 의해 사용되기에 적당한 포괄적인 포맷으로 제공되도록 SI를 추상화하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  13. 제12항에 있어서, 상기 API는 사용가능한 전송 스트림 포맷들에 포괄적인 정보를 가지는 베이스 패키지를 제공하고,
    상기 API는 단말기에 의해 수신되는 전송 스트림의 포맷에 특정한 정보를 가지는 별개의 패키지와 함께 사용되도록 된 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  14. 제1항에 있어서, 상기 API는 단말기에서의 호출어플리케이션이 단말기에서 사용가능한 SI의 서브세트들을 얻고, 얻어진 SI의 분석을 행하며 필요하다면 분석에 의거하여 추가 SI를 검색하도록 함으로써 서비스 정보의 증분검색을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  15. 제14항에 있어서, 추가 SI는 단말기의 메모리에 있는 단말기에서 사용가능한 SI의 서브세트로부터 검색되는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  16. 제14항에 있어서, 추가 SI가 전송 스트림으로부터 검색되는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  17. 제1항에 있어서, 상기 API는 호출어플리케이션에 의해 요구되지 않은 전송 스트림의 다른 SI를 거절하면서 단말기에서의 호출어플리케이션으로 하여금 전송 스트림 내의 SI의 서브세트를 복구하도록 하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  18. 제1항에 있어서, 상기 API는 어플리케이션이 관심을 두는 전송 스트림 내의 적어도 하나의 서비스를 어플리케이션이 특정하도록 추상적인 SI에 응답하는 필터링 기능을 제공하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  19. 제18항에 있어서, 상기 필터링 기능은 서비스들이,
    다중전송 스트림으로부터의 서비스들이 사용가능한 경우 전송 스트림과, 네트워크와, 부케와, 위성과, 위성 트랜스폰더와, 서비스 이름과, 서비스/채널 번호와, 사용자 기호 채널 및 테마중 적어도 하나와 연관되는지에 의거하여 전송스트림의 서비스들을 필터링하도록 된 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  20. 제1항에 있어서, 상기 API는 SI를 추상화하는 복수의 패키지를 사용하여 구현되고,
    단말기에서의 다른 어플리케이션들은 각 어플리케이션이 요구하는 추상적인 SI의 특정부분들에 따라서 패키지들중에서 특정한 하나의 패키지만을 포함하는 것을 특징으로 하는 텔레비젼 셋톱 단말기.
  21. 복수의 다른 포맷들중 어느 하나의 포맷으로 단말기에 의해 수신되는 디지털 텔레비젼 전송 스트림의 시스템 정보(SI)를 처리하기 위한 텔레비젼 셋톱 단말기에서 사용하는 방법으로서,
    컴퓨터 프로그램 코드 수단을 가지는 컴퓨터 판독가능한 매체를 제공하는 단계;
    어플리케이션 프로그래밍 인터페이스(API)를 구현하기 위하여 상기 컴퓨터 프로그램 코드 수단을 실행하는 단계를 구비하고,
    여기에서 상기 API는 복수의 다른 포맷들중 어느 하나의 포맷으로부터 시스템 정보(SI)를 추상화하며,
    상기 API는 SI가 제공된 특정 포맷에 관계없이 단말기에서의 어플리케이션에 의해 사용되기에 적당한 포괄적인 포맷으로 추상화된 SI를 제공하는 사용방법.
KR1020017005308A 1998-10-30 1999-10-28 디지털 텔레비젼 수신기로 하여금 추상적인 포맷의 시스템정보에 억세스할 수 있도록 하는 어플리케이션 프로그램밍인터페이스 KR20010082261A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10650898P 1998-10-30 1998-10-30
US60/106,508 1998-10-30
US10796598P 1998-11-12 1998-11-12
US60/107,965 1998-11-12
US11344498P 1998-12-23 1998-12-23
US60/113,444 1998-12-23
PCT/US1999/025322 WO2000027114A1 (en) 1998-10-30 1999-10-28 Application programming interface for enabling a digital television receiver to access system information in an abstract format

Publications (1)

Publication Number Publication Date
KR20010082261A true KR20010082261A (ko) 2001-08-29

Family

ID=27380132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017005308A KR20010082261A (ko) 1998-10-30 1999-10-28 디지털 텔레비젼 수신기로 하여금 추상적인 포맷의 시스템정보에 억세스할 수 있도록 하는 어플리케이션 프로그램밍인터페이스

Country Status (9)

Country Link
EP (1) EP1125432A1 (ko)
JP (1) JP2002529970A (ko)
KR (1) KR20010082261A (ko)
CN (1) CN1332935A (ko)
AU (1) AU755310B2 (ko)
BR (1) BR9914790A (ko)
CA (1) CA2349009A1 (ko)
HK (1) HK1043898A1 (ko)
WO (1) WO2000027114A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100406253B1 (ko) * 2001-12-24 2003-11-14 한국전자통신연구원 디지털 방송용 프로그램 가이드 정보 자동 변환 장치 및그 방법
KR100783400B1 (ko) * 2001-10-25 2007-12-10 엘지전자 주식회사 Dvb 규격에서 제조업체 정보 활용 방법
KR100884914B1 (ko) * 2001-10-02 2009-02-20 노키아 코포레이션 패킷 식별자에 대한 인터넷 프로토콜 주소의 매핑
US9357153B2 (en) 2004-06-30 2016-05-31 Koninklijke Philips N.V. Method and apparatus for intelligent channel zapping

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001037546A2 (en) * 1999-11-19 2001-05-25 Scm Microsystems Gmbh Digital television methods and apparatus
PT1281279E (pt) 2000-04-06 2016-02-16 Open Tv Inc Mecanismo motor de processamento de dados genéricos
GB2366109B (en) * 2000-06-08 2002-08-28 Alticast Corp System for authoring contents of digital television and method therefor
US20020059624A1 (en) * 2000-08-03 2002-05-16 Kazuhiro Machida Server based broadcast system, apparatus and method and recording medium and software program relating to this system
KR100358119B1 (ko) * 2001-02-09 2002-10-25 한국전자통신연구원 디지털 데이터 방송 서비스를 위한 데이터 스트리밍 장치및 그 방법
KR100409224B1 (ko) * 2001-02-23 2003-12-06 주식회사 에어코드 데이터 방송용 컨텐츠 제작 시스템 및 그 제작 방법
EP1244309A1 (en) * 2001-03-24 2002-09-25 Deutsche Thomson-Brandt Gmbh A method and microprocessor system for forming an output data stream comprising metadata
US7962011B2 (en) 2001-12-06 2011-06-14 Plourde Jr Harold J Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space
ATE415049T1 (de) * 2002-04-12 2008-12-15 Koninkl Philips Electronics Nv Herunterladen von programmen in rundfunkempfaenger
US8181205B2 (en) 2002-09-24 2012-05-15 Russ Samuel H PVR channel and PVR IPG information
KR100482287B1 (ko) * 2002-10-26 2005-04-14 한국전자통신연구원 디지털 데이터 방송을 위한 동기화 스트림 데이터 삽입장치 및 그 방법
FR2848367A1 (fr) * 2002-12-04 2004-06-11 Koninkl Philips Electronics Nv Systeme et procede de decouverte de services pouvant etre fournis par au moins deux sources de services distinctes
JP4308546B2 (ja) * 2003-02-20 2009-08-05 パナソニック株式会社 デジタル放送受信装置、デジタル放送受信方法及びデジタル放送受信プログラム
DE602004003959T2 (de) 2003-08-07 2008-04-10 Koninklijke Philips Electronics N.V. Standardisierte themabehandlung für das digitale fernsehen
US7712115B2 (en) 2003-08-07 2010-05-04 Koninklijke Philips Electronics N. V. Handling of program ratings for digital television
EP1542472A1 (fr) * 2003-12-10 2005-06-15 Canal + Technologies Procédé et dispositif de récupération d'information dans des systèmes de TV numérique interactive
KR101285380B1 (ko) * 2006-09-07 2013-07-10 엘지전자 주식회사 디지털 방송 신호를 처리하는 장치 및 방법
AU2011295755B2 (en) 2010-09-03 2014-11-13 Turnitin, Llc Systems and methods for document analysis
US20140122099A1 (en) * 2012-10-31 2014-05-01 Oracle International Corporation Cohort identification system
KR102046914B1 (ko) * 2013-02-13 2019-12-02 삼성전자주식회사 디지털 방송 수신기 및 채널 정보 갱신 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100884914B1 (ko) * 2001-10-02 2009-02-20 노키아 코포레이션 패킷 식별자에 대한 인터넷 프로토콜 주소의 매핑
KR100783400B1 (ko) * 2001-10-25 2007-12-10 엘지전자 주식회사 Dvb 규격에서 제조업체 정보 활용 방법
KR100406253B1 (ko) * 2001-12-24 2003-11-14 한국전자통신연구원 디지털 방송용 프로그램 가이드 정보 자동 변환 장치 및그 방법
US9357153B2 (en) 2004-06-30 2016-05-31 Koninklijke Philips N.V. Method and apparatus for intelligent channel zapping

Also Published As

Publication number Publication date
AU755310B2 (en) 2002-12-12
HK1043898A1 (zh) 2002-09-27
EP1125432A1 (en) 2001-08-22
CN1332935A (zh) 2002-01-23
JP2002529970A (ja) 2002-09-10
AU1455100A (en) 2000-05-22
WO2000027114A1 (en) 2000-05-11
BR9914790A (pt) 2001-10-02
CA2349009A1 (en) 2000-05-11

Similar Documents

Publication Publication Date Title
AU755310B2 (en) Application programming interface for enabling a digital television receiver to access system information in an abstract format
US7032236B1 (en) Multimedia system for processing program guides and associated multimedia objects
US7216170B2 (en) Systems and methods to reference resources in a television-based entertainment system
US9596510B2 (en) Method for transmitting broadcast service, method for receiving broadcast service, and apparatus for receiving broadcast service
CA2321468C (en) System for forming, partitioning and processing electronic program guides
US7853973B2 (en) Broadcast signal and apparatus and method of decoding the same
US20130271653A1 (en) Broadcast service transmitting method, broadcast service receiving method and broadcast service receiving apparatus
US20060184965A1 (en) Method for providing electronic program guide for digital broadcasting
US20090219450A1 (en) Virtual channel table for a broadcast protocol and method of broadcasting and receiving broadcast signals using the same
WO2001015444A1 (fr) Procede de transmission et recepteur
KR100617896B1 (ko) 전송 시스템
CN1642244A (zh) 获取和处理广播节目和节目指南数据的方法
JP2004364318A (ja) Mpegネットワークにおける論理的複合チャネル・マッピング
US20050028202A1 (en) Apparatus and method for providing advertisements on digital TV
EP2701396B1 (en) System and method for playing digital television program, and digital television reception terminal
AU2002321784B2 (en) Control of an interactive application in a data stream
US7448059B1 (en) Process for transmitting and processing an evolutive abstract in a television system, receiver and transmitter in such a system
US20010016948A1 (en) Broadcast data system and apparatus
US20080104638A1 (en) Method and apparatus for storing broadcast program
KR101650382B1 (ko) 채널 탐색/접근 방법 및 디지털 방송 수신기
KR100586857B1 (ko) 패킷화된 프로그램 정보의 디코딩 방법과 장치, 디지털 데이터를 포함하는 저장 매체, 및 프로그램 가이드 정보의 형성 방법
MXPA01004230A (en) Application programming interface for enabling a digital television receiver to access system information in an abstract format
Lin et al. An Interactive Media Platform Scheme for DTV Receiver Compliant with MHP

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Submission of document of abandonment before or after decision of registration