MXPA01004230A - Application programming interface for enabling a digital television receiver to access system information in an abstract format - Google Patents
Application programming interface for enabling a digital television receiver to access system information in an abstract formatInfo
- Publication number
- MXPA01004230A MXPA01004230A MXPA/A/2001/004230A MXPA01004230A MXPA01004230A MX PA01004230 A MXPA01004230 A MX PA01004230A MX PA01004230 A MXPA01004230 A MX PA01004230A MX PA01004230 A MXPA01004230 A MX PA01004230A
- Authority
- MX
- Mexico
- Prior art keywords
- api
- terminal
- information
- data
- event
- Prior art date
Links
Abstract
An application programming interface (API) allows applications (e.g., applets) at a digital television terminal to recover System Information (SI) from a digital transport stream without regard to the specific SI format. The API abstracts the relevant portions of the SI to provide it in a generic, usable format. The system is suitable for use, e.g., with SI formats including MPEG Program Specific Informatgion (PSI), DVB SI, ATSC Program and System Information Protocol (PSIP), Cable SI such as Digital Video Standard 234, and private SI. In an optional embodiment, asynchronous delivery of SI is provided for SI that is not immediately available in the terminal's memory. Additionally, the API can further abstract the SI so that it is independent of the specific transport stream format (e.g., MPEG-2). Moreover, incremental retrieval of SI data is provided by allowing an application to obtain a small subset of the SI that is available at the terminal, analyze it, and retrieve additional SI if required based on the analysis. The API includes a navigation package (110), a program guide package (120), a program selection/tuning package (130), a descriptor package (140), a utility package (150), a data package (160), and a pipeline package (170).
Description
•
APPLICATION PROGRAMMING INTERFACE TO ALLOW A
DIGITAL TELEVISION RECEIVER HAVE ACCESS TO THE
INFORMATION OF THE SYSTEM IN AN ABSTRACT FORMAT
BACKGROUND OF THE INVENTION This application claims the benefit of Provisional US Applications Nos. 60 / 106,508, filed on October 30, 1998, 60 / 107,965, filed on November 12, 1998, and 60 / 113,444, filed on December 23, 1998. The following acronyms were used: A / V - Audio / Video API - Programming Interface
ATSC Application - Television Systems Committee
Advanced BAT - Boquete Association Table (DVB) CA - CAT Conditional Access - Conditional Access Table (MPEG) CNN - Cable News Network DAVIC - Digital Audio-Video Council DCII - DigiCipher Gl II (mr) DIT - Table Data Information System - DVB Digital Television - DVS Digital Video Broadcast - Digital Video Standard EIT Event Information Table
(DVB / ATSC) EMM - Law Management Message EPG - Electronic Programming Guide ETT - Extended Text Table (ATSC) FCC - Federal Communications Commission GIC - General Instrument Corporation GPS - Global Positioning Satellite ID IP Identifier Internet Protocol JMF - Java Media Structure (Sun Microsystems) MGT - Master Guide Table (ATSC) MPAA - Motion Picture Association of the United States MPEG - Moving Image Expert Group MSP - NIT Message Flow Protocol - Information Table Network (DVB) NVOD - Near-Demand Video PID - PMT Package Identifier - PSI Program Map Table - PSIP Program Specific Information - Program and System Information Protocol (ATSC) RRT - Classification Region Table ( ATSC) SCTE - Society of Cable Television Engineers SDT - Service Description Table (DVB) SI - System Information STT - Table D e TDT System Time - Time and Date Table (DVB) TOT - Time Deviation Table (DVB) TS Transport Stream TSDT - Transport Flow Description Table (MPEG) UML - Unified Simulation Language URL - Location Finder Uniform VCT Resources - Virtual Channel Table VSB - Residual Sideband The present invention provides an API for accessing Program and System Information describing the distribution and content of a TS MPEG-2. This information, also known as service information, is generally known as System Information (SI).
There are different SI formats used and standardized today. These include the original ATSC A56 standard, which is a subset of the MSP DigiCipher II (DCII), used for both satellite and cable television transmission, and the new PSIP ATSC for terrestrial and cable DTCs, the SI such such as DVS (DVS 234 SCTE: Service Information Transported Out of Band for Digital Cable Television), and the standard DVB IS. Private data, such as those found in the DigiCipher II standard are owned by GIC, would benefit from the present invention, may also be used. The ATSC standard is described in "Protocol for Program Information and the System for Terrestrial and Cable Emissions" Doc. A / 65, December 23, 1997, available from ATSC. The DVB standard is described in "Digital Video Broadcasting (DVB) Specification for Service Information (SI) in DVB systems", EN 300 468 cl.3.1 (1998-02), available from the European Broadcasting Union or the Institute of European Telecommunications Standards. The subscriber terminals receive the SI via a network. An upper device terminal, also known as an integrated receiver-decoder (RID), a subscriber terminal, is a device that receives and decodes television signals for presentation by a television. The signals can be delivered over a satellite, through a cable plant, or by means of a terrestrial emission, for example. Several applications have been proposed, or are currently available, via modern superior devices, including video on demand (VOD), audio on demand, pay per event, interactive shopping, electronic commerce, electronic programming guides, Internet browsers, mail (for example, email and text form, voice mail, audio mail and / or video mail, telephone services, quote indicator, weather data, travel information, games, 'casinos, banking, purchases, The applications can also allow connectivity with the Internet and possibly telephony based on the Internet.The functionality of the superior apparatus is allowed through physical computing components and specialized programs and programming systems.The applications can be downloaded by terminals via a network, loaded locally (for example, via a smart card), or installed at the moment or of manufacturing, for example. However, the subscriber terminal receiving the SI must know which format is being used, and provide the corresponding processing that is specific to that protocol. This is problematic because it forces the development of a special code (programs and programming systems) in the terminal to access the IS. In this way the cost, complexity and computational requirements of the terminals are increased, and the development of the programs and programming systems for the terminal is damaged. The above problems are highlighted by the trend towards the integration of broadband distribution networks, telephone networks and computer networks such as the Internet in home networks, and by the desire to allow new types of applications that provide a rich future experience. for the viewer. Accordingly, it would be desirable to provide a system for accessing the IS in a digital transport or other data stream that is compatible with different IS formats. The system must abstract the common SI elements of the different formats to provide an "abstract SI". The "abstract SI" shall provide access to the SI that is useful for an application at such a level of abstraction that the application does not have to know what standard format IF is used to deliver the information to the recipient. The system should avoid the need for the application to have a special code (programs and programming systems) when it is intended to work in different environments, such as DVB,
SCTE and systems based on the ATSC. The system should be suitable for use as the IS that is provided using different formats, including MPEG specific program information (PSI), Digital Video Broadcasting Service Information (SI DVB), Program Information Protocol and Committee System of Television Systems (PSIP ATSC), Cable, such as DVS, and Private Si, such as those in the DCII system. The system must allow different applications to recover only the specific SI that they require. The system should allow an application to retrieve a specific SI descriptor if necessary. A descriptor refers to a mechanism to extend the data in the table. In general, the different digital video standards allow the use of several types of data tables to support the SI. For example, a table can designate locations in a TS (eg, PID, frequency) in which a particular channel or program is contained. In addition, since the tables are fixed structures that are difficult to expand over time to accommodate additional information, the descriptors have been developed as a description mechanism. A descriptor can be attached to an external circuit or an internal circuit of the table. In an external circuit, the descriptor is appended to the end of the table and provides additional table entries each time the entire table is read. In an internal circuit, the descriptor is appended to the end of a portion of the table and provides additional table entries each time the table is read. A descriptor may comprise a mark formed by a field or information node sequences, for example. The descriptors are included only when necessary, and do not interfere with the receivers that have not been updated to recognize them. Additionally, the system should make use of the URL syntax concepts that are currently being defined for the DTV.
The system should be implementable in an API in a subscriber terminal in a television network. The API must be compatible with Java (mr), ActiveX (mr) or an equivalent type of object-oriented technology based on the components. The system should provide, optionally, the synchronized delivery of the results, separation of MPEG-2 specific data from a TS, and the increasing recovery of SI data. The system must be compatible with a URL locator syntax. Note that a URL definition for DTV is still being established. The current API definition supports the DVB DAVIC URL and the DTV proposed by GIC and ATSC URL. The present invention provides a system having the foregoing and other advantages.
BRIEF DESCRIPTION OF THE INVENTION The present invention provides an API that allows applications that are operating in a digital television terminal to recover the SI of a digital TS regardless of the type of specific format. The API abstracts the relevant portions of the SI to provide these in a format that is useful for different applications in the terminal.
Additionally, a Descriptor subpackage described below allows an application to retrieve a specific DVB or ATSC or private descriptor (eg, DCII) and has a special need to do so. This SI API definition also employs the concept of URL that is well known in relation to the Internet and browser applications. A URL definition formed for DTV is still under discussion. The current API definition supports the DVB DAVIC URL and the DTV and ATSC URLs proposed by General Instrument Corporation (Gl). A top television apparatus terminal according to the invention includes a computer readable medium (e.g., such as a magnetic or optical storage device) having computer program code means (e.g., object-oriented code such as Java (mr)), and means for executing (e.g., any processor such as a CPU) the computer program code means for implementing an Application Programming Interface (API). The API is adapted to abstract the SI into a digital television transport stream that is received by the terminal in any of a plurality of different formats. The API provides the abstracted SI in the generic format that is suitable for use by an application in the terminal regardless of the specific format in which the IS has been provided. For example, different SI formats can include different data table formats. This allows a terminal to be compatible with a number of different data flow formats. In addition, the API can provide a number of functions in the terminal that respond to the abstracted SI, such as a navigation function that allows the terminal to navigate between television channels in the transport stream, a programming guide function that implements a electronic programming guide for television channels, • a selection function that selects specific television channels, and a descriptor retrieval function to recover IS descriptors. Additionally, the API provides a utility function that contains support objects, including events and exceptions, to support the distribution or delivery of the SI to the application in a synchronized manner, a data function to implement a data service guide in the flow transport in accordance with the abstracted SI, and a simultaneous function to provide information related to a physical distribution mechanism (eg satellite or responder identifier) of the transport stream. The simultaneous function uses the appropriate SI tables to provide information about the distribution network (MPEG-2 transport stream, etc.). The API provides those functions exposing the appropriate SI data to the application. An application such as an EPG can use these APIs to do this work, for example in EPG uses the Navigation Packet (or function) to learn about the channels, and uses the guide package (function) to learn about the programmed programs on the selected channels. In this way, the APIs or packages discussed here are used (donated) by specific applications. The different IS formats available may include: Program Specific Information (PSI) of the Moving Images Expert Group (MPEG), System Information (SI) of the Digital Video Broadcasting (DVB), Program Information Protocol and System (PSIP) of the Advanced Television Systems Committee (ATSC), Digital Video Standard 234 Yes of the Society of Cable and Television Engineers, and Private IS. The terminal may include a memory to store the SI when the transport flow is received in the terminal, where the API provides a recovery function call to allow a calling application to retrieve YES, so that the IS that is available in the memory is returned essentially immediately as a direct return value. If the service information is not available in the memory, the recovery function call returns an exception signal to the calling application that the IS will be delivered to the calling application asynchronously. In this case, the API can also provide a utility function that contains support objects, including events and exceptions, to support the asynchronous input or distribution of the IS to the calling application. In addition, when the transport flow is provided in one of a plurality of available transport flow formats, the API abstracts the IS to provide this in a generic format that is suitable for use by an application in the terminal. This can be accomplished by providing a base package that has information that is generic to the available transport flow formats. The API is adapted to be used with a separate package that has information that is specific to the format of the received transport flow.
In general, the API provides the base set of API, which is expandable. For example, ATSC is adding new packages to provide PSIP-specific information, and DVB can also do the same. Such packages are not shown here. However, the API of the present invention is expandable, so that specific extensions of format can easily be made by sub-classifying or extending the API classes or interfaces of the abstract SI. In a further aspect of the invention, the API provides for the increased recovery of service information by allowing a calling application in the terminal to obtain a subset of the IS that is available in the terminal, and to perform an analysis of the obtained SI, and retrieve additional SI if required based on the analysis. The additional SI can be recovered from the SI subset that is available in the terminal in a terminal memory, or from the transport stream. Note that the Si data can be stored in the terminal using a variety of implementations. For example, it can be stored before and / or after abstraction, after optimization and understanding, and so on. The API allows a call application in the terminal to retrieve a subset of the SI in the transport stream and at the same time reject another SI in the transport stream that is not required by the calling application. The API can also provide a filtering function that responds to the abstracted SI to allow the application to specify at least one service in the transport stream in which the application is interested. Filtering can be based on whether services are associated with: a particular transport flow (when services are available for multiple transport flows - a receiver can have multiple tuners, or SI data can be stored in the receiver's memory, an IS database, ie collected from multiple transport flows over time) a network, a bouquet, a satellite, a satellite repeater, a service name, a service / channel number, a favorite channel and a theme. In addition, the API can be implemented using a plurality of packages to abstract the IS, in which case it is efficient for the different applications in the terminal to include only the specific packages according to specific portions of the abstracted IS that each application requires. A corresponding method is also presented.
BRIEF DESCRIPTION OF THE DRAWINGS FIGURE 1 shows the packet and dependency relationships of an API according to the present invention. FIGURE 2 illustrates a class / interface diagram of the navigation pack according to the present invention. FIGURE 3 illustrates a class / interface diagram of the programming guide package according to the present invention. FIGURE 4 illustrates a class / interface diagram of the selection packet according to the present invention. FIGURE 5 illustrates a class / interface diagram of the descriptor packet according to the present invention. FIGURE 6 illustrates a class / interface diagram of the simultaneous packet according to the present invention. FIGURE 7 illustrates a class / interface diagram of the data packet according to the present invention. FIGURE 8 illustrates a class / interface diagram of the utility pack according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION An API allows applications that are operating in a digital television terminal to recover the SI of a digital TS regardless of the type of specific format. The API abstracts the relevant portions of the IS to provide these in a format that is useful for different applications in the terminal. The API is preferably independent of the operating system and the physical computing components of the terminal. Note that the figures were automatically generated with the Rational Rose tool (mr) CASE, developed by Rational Software Corporation, USA. The figures use the Rational Rose (mr) description of the UML, which is a language for specifying, constructing, visualizing and documenting the artifacts of an intensive system of programs and programming systems. A class diagram represents the static structure of a system, and shows a pattern of behaviors exhibited by the system. This is achieved by showing the existence of classes and their relationships. Each class is represented by a table with three sections. The upper section lists the name of the class. The middle section denotes a list of attributes, and the lower section denotes a list of populations. A solid or discontinuous line between the classes denotes an association or dependency. A white diamond point denotes aggregation as a reference, while a black diamond point denotes aggregation as a value. A triangular arrow head denotes a restricted navigation, for example, inheritance of the operation but not of the structure. In addition, the interfaces and classes are with a capital letter, while the methods are with a lowercase letter. A class is a pattern that defines a set of structure, method, and data function calls for an object. An interface defines a set of methods / function calls that can be manipulated by a class.
The class provides the code to implement an interface.
1. Description of the Model The entire model of the SI database is based on the concept of "views". There are different ways to see the SI database, and different applications may have different needs. The specified views allow applications to be related only to a subset of the SI database based on the needs of the application. The concept of views is represented by Java packages. The following sections describe the object model of the SI Abstract API. FIGURE 1 is a high level figure showing packet relationships and dependencies of an API according to the present invention. Navigation Pack 110 contains the main set of classes and interfaces that are used to navigate existing television channels (DVD Services or ATSC Virtual Channels). The 'Selection 130' package adds features which allow a TV Channel to be used to tune in and select specific services (MPEG programs). The Guide 120 package provides useful information for an EP G, including scheduling calendars, individual program events, and program audience figures. The Descriptor Pack 140 allows a retrieval of the individual MPEG descriptors associated with MPEG sections that distribute the SI. The Simultaneous Execution Pack 170 isolates some of the media information delivered or distributed specifically. The classes provided in this package currently represent the MPEG-2 distribution mechanism. The Data Pack 160 is similar to the Guide 120 package except that it provides information about (services) related to events, for example, any program application and programming systems that are sent along with the audio / video stream, such as as a quote indicator, news indicator, sports statistics, interactive commercial, etc.), not audio / video events. Finally, the Useful (Utility) Package 150 contains objects of a supporting nature, such as events, exceptions, etc. This model provides a high-level abstraction of the IS that describes the distribution of content delivered or distributed over the multiple (goal data), as well as detailed information specific to a particular IS format. This is done via access to the MPEG table descriptors. Since the descriptors are used to extend the SI for additional and future functionality, it is a significant advantage of the invention that the API provide a generic access to the descriptors without changing the implementation of the API with each new changed descriptor. In one aspect of the invention, the asynchronous distribution or delivery of the results is provided.
Since there are DTV receivers with various capacities, it is expected that not all receivers will buffer all the SI data in the memory. This will be done for the necessary subset of most useful information, but the real TS will have to be analyzed syntactically when it needs to recover data not stored in memory. However, an access to the TS can take a significant amount of time. Therefore the API provides asynchronous access to information that is not expected to be in the memory at all times. In general, asynchronous (or non-blocking) calls add complexity not only to the implementation of the API but to the application that uses the API as well. To hide the difference between the low end and high end receivers, this API provides a single method which can be completed synchronously, if the information is available locally (in memory), or asynchronously, if the data has been recovered from the TS. All API calls start with "recover" either by returning the requested object or through an exception that indicates that the data will be delivered later via an asynchronous event. The calling party can register himself as a listener for this event. OR, if it is not registered, which calling party can indicate that it is interested in the synchronous data distribution only. The exception includes enough information to cancel the request and to associate it with the actual event that delivers or distributes the data. The IS usually contains information related to the system time in the form of the STT PSIP or DVB TDT message and TOT messages. At this time it is assumed that the time of the local DTV receiver will be synchronized with the time of the system of the channel currently tuned and the value can be obtained using class j ava. Useful . date . Note that this is acceptable if all transport multiplexers use a reliable and synchronized data source (such as GPS). If a certain multiplexer provides erroneous time information, it is up to the receiver's implementation that the situation is resolved.
1. 1 Navigation View FIGURE 2 illustrates a class / interface diagram of the navigation pack according to the present invention. Elements numbered similarly correspond to others in the figures.
The Navigation Pack 110 has two main functions, namely: (1) to provide access to a whole selected subset of DTV channels, which represents DVB services and virtual ATSC channels; and (2) provide access to information related to the network such as network definition, satellite and answering information, TS and buqué information, etc. The elements numbered in a similar way correspond to others in the figures. The package includes the following classes of interfaces: Identification of CAI 205,
System type Distribution 807,
Information type of System 810, Channel Collection 220, Channel DTV 225, Update of IS 830, Restriction of Channel 235, Administrator of IS 240, Details of Channel DTV 245, and Channel Identification 250. The main navigation function is represented by the following classes and interfaces. The SI Manager 240 is the main access point to the underlying SI database. This can generate a collection of DTV channels 225 called Channel Collection 220 based on the selection criteria represented by the Channel Restriction object 235. The selection criteria can be a network ID, TS ID, Bouquet ID, favorite channels of the network. user, URL, etc. The collection can then be used to sort either by channel numbers or channel names and navigate through the DTV 225 channels which represent a DVD service or a virtual channel to TSC. The DTV 225 channel contains only the minimum information (such as the locator, name and channel number) necessary to navigate. Additional information about the channel is contained in the Details Object of Channel DTV 245. The details of the DTV channel also provide some information related to CA via the CA 205 identification interface, a distribution mechanism, and a time when the information about this channel was updated for the last time. The name and number of the channel is actually encapsulated in the channel identification object 250, which can be expanded to accommodate different mechanisms for naming and numbering channels, such as the channel number of two parts of the ATSC (for example, using a notation). major minor - an ordered sequence with a point between the major and minor channel numbers - for example: 10.2).
1. 2 View of the Guide FIGURE 3 illustrates a diagram of the package class / interface of the program guide according to the present invention. The package includes the following interfaces: 240 ISSI Manager, 245 TV Channel Details, 300 Channel, 300 Channel,
Notice of the Content Audience Index 310,
Schedule of Programs 320, Region of Audience Index 330, Event of Program 340, Dimension of Audience Index 350 and Update of IS 80 (defined in FIGURE 8). It is intended that this package supports applications of the type of the electronic program guide. Provides the application with two related sets of information: program schedule in each channel, and audience index information. The Schedule 320 Program object can be used to retrieve the program that is currently playing, the next one, and then any other program available in the future for a specific period of time. Each program event 340 can be interrogated by its name, start time and end time, description, audience rate, cost and other related information.
The information related to the audience index is organized in regions of audience index, where each region can have multiple dimensions of audience index such as MPAA audience, FCC TV audience index, audience index based on DVB age. Each dimension contains multiple levels; each program event is marked with one of those levels for all supported audience index regions.
1. 3 Selection View FIGURE 4 illustrates a diagram of the class / interface of selection / tuning packets according to the present invention. The package includes the following classes and interfaces: Details of TV Channel 245, Channel 410 Components, Channel Components MPEG 420, Locator 430, Locator MPEG 440 and Localizer of ATS 450. The tuning package extends the navigation functionality mainly by adding information about the individual components of each ChannelTv, such as video, possibly multiple audio components and optional data components. The CanaldeTv 225 object can provide a Locator used by a TV Player which follows the model of the JMF player or a separate service selection API. The generic Channel Component 410 is extended by the MPEG 420 Component, which represents MPEG specific information. The concept of Basic Locator 430 is extended to support the specific MPEG Locator
(Locator of MPEG 440), which is then specialized for ATSC (Locator de ATSC 450). Note that the DAVIC package includes a specific subclass of DVB as well.
1. 4 Descriptor View FIGURE 5 illustrates a class / interface diagram of the descriptor packet according to the present invention. The package includes the following interfaces: TableType 510, BrandDescriptor520, Descriptor530, MPEG540TablesDescriptors, and MPEG660 Linear (identified in FIGURE 6). The descriptors are generally provided in the MPEG-2 tables in two places: the external circuit which associates descriptors with the whole table, and the internal circuit which associates the descriptors with the specific entity described in the internal circuit. An example once the PSIP VCT, which has external and internal circuit descriptors. The external circuit descriptors are associated with all the virtual channels defined by this VCT, while each internal circuit contains descriptors for a specific virtual channel. Applications running on a superior device will use APIs to access the functions of the superior device, including the SI. The goal is to provide an API that is independent of the format to retrieve SI (ATSC, PSIP, BDV, SI, etc.) to minimize the knowledge of the required details of the application of those IS formats. The abstraction is good in most cases although certain applications do not need to have access to a specific descriptor which is not provided at the level of the abstract API. For example, this can be a descriptor which will be defined in the future, therefore, it may not be directly represented in the API. It can also be one of the descriptors that is not intended for an application; they are instead used by the receiver itself (for example, the AC3 descriptor, the Link descriptor, etc.). The problem is to specify the specific descriptors to an interested application. This applies both to determine the appropriate table, as well as the position of the descriptor circuit. The type of information (for example, TS, service, event, etc.) for which the descriptors are to be recovered is identified primarily by a DTV URL. There are some rare exceptions; for example, the DVB BAt is not really identified by any current RL format. The DTV URL is usually sufficient to indicate a pair of < table_type, descriptor circuit > specific, especially for URLs that indicate an event with an elementary stream. There are several cases where the URL is not specific enough because an entity, a service for example, can be described in multiple tables, such as the PMT and SDT of DVB. Therefore, a table_type is specified to identify which type of descriptors to retrieve. The table_id is not used since some types of tables have different table_id within the type (for example the DVB NIT has 0x40 and 0x41). The table_type zooms down the range of tables to search for the descriptor especially at the highest URL level (the service and TS levels). In some rare cases, an additional identification is necessary. For example, if an auditing index type is specified, an ID of the Audience Index Region is required to retrieve the appropriate subset of ATSC RRT descriptors. The same applies to the tables of the type of navigation where a Bouquet ID is required to retrieve descriptors of the DVB BAT outside the descriptor circuit. Additionally, an optional set of descriptor marks may be specified in the call to limit the search and the returned set of descriptors of the descriptors indicated in the list. If a set of descriptors is found in the given table identified by the <; url, table_type, info_entity > dupla (for example, set of values), only those that are equal to the descriptor marks provided in the indication will be returned. Note that all descriptor recovery methods support synchronous as well as asynchronous data distribution depending on the switching capacity of the DTV receiver.
1. 5 Line View In an optional mode, separation of MPEG-2 specific data is provided. The digital television content is mainly provided using the MPEG-2 transport format. This is true for DVB as well as ATSC. With the convergence of television and personal computers, it is expected that digital video content may be provided to the television receiver by other means, such as over the Internet in an IP format with some kind of real-time protocol. This motivates a high level of abstraction for the IS API that prevents not only the difference between the ATSC PSIP protocol and the DVB SI (both extensions of the MPEG-2), but also the difference between the different ways to distribute the content and the SI. This design removes all MPEG-2 specific information (for example, TS) in a separate package. A base class, which provides generic transport neutral information, can also be expanded with specific MPEG-2 information for MPEG-2 distribution networks. When the new distribution mechanisms become popular, the base classes can be extended to provide detailed information about the specific protocol. Essentially, the API also abstracts the SI to provide it in such a way that it is independent of the specific TS formats. The API can therefore operate on a terminal that receives a TS in any of a number of different available formats. FIGURE 6 illustrates a class / interface diagram of line packets according to the present invention. The package includes the following classes and interfaces: 240 ISSI Manager, 605 Satellite Information, 610 Network Information, 630 Brief Information, 640 IS Specified Administrator, 650 Line Information, 660 Transport Flow Information, 670 MPEG Line, and 810 System Information Type (defined in FIGURE 8). The line packet provides additional information about the means of the physical mechanism that distribute the content of the SI data. The physical distribution mechanism may include, for example, satellite / repeater information. The SI 640Specific Administrator provides access to the extract of the 650 Line Information, which in this particular case is extended by the MPEG 670 line representing a multiple MPEG-2. The Generic Line Info 650 can be extended to support other types of content distribution (for example, Internet protocols).
1. 6 View of the Data FIGURE 7 illustrates a class diagram / data packet interface according to the present invention. The package includes the following interfaces: Details of the TV Channel 245,
Notice of the Content Audience Index 310,
Data with the TV 710 Channel, Data Programming 720,
Event of Data 730 and Update of IS 830 (defined in FIGURE 8). The view of the Data is similar to the View of the Guide, which represents information similar to EPG. In this case, the programming of the data represents an information or data event guide as opposed to the audio / video events. Note that this package is modeled after the ATSC T3 / S13 network, which is still in progress.
1. 7 Service View FIGURE 8 illustrates a class / service pack interface diagram according to the present invention. The package includes the following classes and interfaces: IS 805 Factory, IS 240 Administrator, System 810 System Type, IS 815 Squelch Change, Event 820 Object, IS 830 Update, IS 832 ChangeEvent Type, IS 834 Change Event, TV 835 Changing Event, 840 Data Change Event, Program Change Event 845, Change event of IS 850 information, Exception 860 (from package java. lang), Recovery Event of Si 865, Recuperation of Listening of SI 870,
Exception of Delayed Distribution of If 875, Exception of IS 880, Event of Failure of Recovery of IS 882, Event of Recovery ExitosadeSI 884, Request of IS 886, Exception Not Available of Yes 890,
Recovery Event SuccessesSingle 892 and Multiple Recovery Events Successes IS 89. The service pack provides support in several areas, namely: 1. the notification mechanism of the effect both for SI entity changes detected in the TS and events that distribute asynchronous requests; 2. The Yes Factory that creates the SI administrators; and 3. exceptions. The SHIFT Change from IS 815 and the Change Event from IS 834 support the standard Java event model. The three are types of objects to listen for changes: 1. The SI Manager 240, which reports data detected in the tables related to the definition of the network represented by the objects of Transportation Flow Information 660, Network Information 610, Network Information 630, etc. 2. The Channel Collection 220, which reports changes detected in any of the TV Channels 225 contained in the collection. 3. Program Schedule 320, which reports changes detected in any of the
Program 340 events in the schedule. Applications can be recorded as listeners with the objects listed above, and will be notified by receiving one of the three appropriate events, which will provide details about which specific detail has changed. To obtain the new information, the application needs to regenerate the particular collection of objects (Collection of Channels 220, Schedule of Programs 320, etc.). Note that it may be difficult to implement the previously defined events unless the receiver performs a field-by-field comparison of old and new tables of the same type. The receiver can choose to only distribute the high-level event and leave multiple application update objects if necessary. The service pack 150 also provides the mechanism for distributing data asynchronously. This functionality is provided by the 886 IS Request, the 875 IS Delayed Distribution Exception, 865 IS Retrieval Event, and 818 SIR Retrieval. The 875 Delayed Dispatch Exception signals the calling party that the data is available only asynchronously and provides the SIR 886 request object which can be used. to cancel the Request or Request and to associate this request with Recovery Event of Si 865, which eventually provides the requested data or an indication of a failure. The calling subscriber of the asynchronous method (indicated by the name "retrievexxx") can be registered as a listener to obtain the event. If you decide not to register as a listener, this is an indication for the implementation of the AIP that there is no need to grammatically analyze the TS and retrieve the requested data. Thus, in accordance with the present invention, the application has full control over the distribution of the data, thus, an increasing recovery of API data can be provided. In general, there is a wide variety of applications that will run on DTV receivers. Some of the receivers need to have access to a complete SI data set (such as EPG-like applications) while others may only need a very small subset of the SI data. To support all those applications without placing an extra burden on those that need a small subset of the SI data, the present invention allows for the increased recovery of Si data. This allows an application to obtain a small set of SI data, being an intelligent decision, and retrieve more SI for an IS object or a subset of possibly selected Si objects. Such a design provides flexibility, more controls the application, and a more efficient recovery of SI data. Since most of the objects in Si are actually interfaces which do not have constructors, an application has no way to start an object that increments the specified interface. To obtain an instance of the object that implements the interface of the SI 240 administrator, an SI 805 factory class is provided which has a method to obtain an instance of the IS Manager.
3í
Several methods give exceptions to report invalid parameters or other types of error conditions (see classes 875 and 880).
2. 0 Description of Class and Interface 2.1 Navigation Package (Figure 2) This view of the IS is from the point of view of a navigation mechanism, such as a simple channel guide, channel advance and channel rewind buttons, etc. It provides enough information to present a list of available MPEG-2 services with a filtering mechanism.
2. 1.1 CanaldeTv 225 CanaldeTv represents an abstract view of what is known as an MPEG program, DVB service or an ATSC Virtual Channel. This represents the common information associated with it, such as the name of the channel, channel number, description, etc. Each CanaldeTv is uniquely identified by a pair that includes the type of system, id the network, TS ID, service number or channel number. This identification can be represented in a URL format. Public Operations: getLocalizer (): Locator Return the complete Locator of this CanalDeTv. GetLangoCanalopt ():
SequenceOrdered Return a full channel name. estáUculto (): boolean Regresar in TRUTH this is a hidden channel. RetrieveDetails (listen: org .tsts., Abstract,.,.,.,.,.,.,.,. atsc. abstractSI. navigation Details of the TV Channel This method retrieves additional information about CanaldeTv. This information is based on data from Si (also called metadata). The SI data can be considered information about other data (content) such as audio / video components / transport flow data. Since this data about other data, which is sometimes called metadata. This method can return data synchronously or asynchronously. GetIdentification (): org. atsc. Siabstracta. navigation Channel Identification This method is used to obtain channel identification (for example, name and channel number).
2. 1.2 Channel Collation 220 The Channel Collection represents a collection of TV Channels 225 based on a specific grouping rule defined by channel restriction association class 235. The filtering used to create such a collection can be based on the TS ID, Network ID, Type of System (DVB, ATSC, etc.), Bouquet, content theme (for example sports), name of the Channel not a subset of these (for example, CNN) or possible a combination of those. This class also provides a mechanism for navigating those of Tv contained by the particular collection instance. This is similar to the interface of the
Categorized Map (of the JDK 1.2 APIs of Sun Microsystem) but only provides a small subset of the functionality as applicable to this domain. Public Attributes: CLASIFICACION_por_NUMERO_CANAL: corto = l CLASIFICACION_por_NOMBRE: corto = 2 Public Operations: size (): Internet Returns the number of TV channels contained in this collection.
Classification (criterion: short): empty Call to specify an algorithm to determine the behavior of the methods of the next channel and previous channel. For example, if the specification is specified by channel name, the method of the next channel will return the next CanaldeTv object with a name alphabetically following the current ChannelTv. It is always classified in ascending order. Next Channel (Canalactual): org. atsc. Siabstracto. navigation. CanaldeTv): CanaldeTv Returns the next ChannelTv in relation to the specified ChannelTv based on the specification criteria. A null is returned if the end of the collection is reached. Canalanterior: (Canalactual): org. atsc. Slabstracta.navegtación. CanaldeTv): CanaldeTv Returns CanaldeTv based on the classification criteria. A null is returned if the start of this collection is reached. PrimerCanal (): CanaldeTV Returns the first CanaldeTv in this collection based on the classification criteria set for this collection.
UltimoCanal (): CanaldeTv Returns the last ChannelTv in this collection based on the classification criteria set for this collection. addListen (listen: ChangeEsc? chadeIS): empty Call to register a change of listener of SI 815 for changes related to the channels in your collection. A change of 835 channel event to the listener will be provided. removeListen (listen: ChangeListenSIS): empty Called to delete the record of an SI listening change for changes related to the channels in this collection. Retrieve Channels (filter: org.ats.slab.straight.scan.Canal.restriction, listen: org.atsc.Siabstact.synt.RetrieveSc.Schedule): ChannelCanal This method returns a channel collection object 220, which is a subset of this collection. Based on the grouping conditions specified in the filter parameter. If the filter is null, a collection of all the TV Channels 225 contained in this collection is returned. This method is provided to generate an increasingly specialized collection of TV Channels based on multiple filtering (grouping) criteria. find Channel (locator: org. dabvic .net. Locator) org. atsc. Slabstracto. navigation CanaldeTv This method returns the corresponding ChannelTv to the specified locator if it is a member of this collection. In this way, a null returns. ensontrarCanal (IDdecanal: org. atsc. Slabstracta. navigation. Identification of Channel): org. atsc. Slabstracta. avegation. CanaldeTv This method returns the ChannelTv corresponding to the Channel identification specified that is a member of this collection. Otherwise, it returns null.
2. 1.3 ISIS Manager 240 The IS administrator represents the central administrator entity that is aware of the entire network or a collection of networks, and can create a collection of TV Channels based on the Channel Restriction filtering rules.
You also have access to specific Si representations of each individual TS (DVB Data Base, ATSC PSIP Data Base, etc.) Public Operations: retrieve Channels (filter: org, atsc, slabstracta, navigation, channel restriction, listen, org, tsc, slabs, navigation. last.SchoolRecoveryisSI): ChannelCollection This method returns a ChannelCollection object based on the grouping conditions specified in the filter parameter. If the filter is null, a collection of all known TV Channels is generated. This method can distribute results both synchronously and asynchronously. If the requested data are available immediately, they are returned synchronously. If the data must be retrieved from the first transport, the Exception of Delayed Distribution of IS 875 is provided and the results are distributed to the registered listener via an event. Parameter Filter - A rule that restricts the requested channel collection. Listening to parameters - A listener that receives the distributed or provided event when the data is retrieved asynchronously. If an application does not provide a listener (null), asynchronous recovery is not found. The listener is registered by this call only. setPrefered Language (language: int): empty This method establishes the language used to return any textual information from the interface classes related to the IS (for example, CanalTvName, etc.) if they are provided as ordered multilingual sequences in languages multiple If the specified language is not available, the preferred language is used at the system level. If that language is not available either, the first available language will be used. This method is used to temporarily avoid the preferred language at the system level within the abstract IS packet. get Preferred Language (): int This method is called to determine the preferred language to return type values and ordered sequences. get Audience Index Regions (): int [] This method returns a list of Available Audience Index Region IDs: retrieve Audience Index Region (Registered Id: int, listen: org. atsc. Slabstracta. Useful . RetrieveSSListeN): Audience Region This method is used to obtain a RegionAudience object from the ID of the specified Audience RegionRegion. This method can provide data synchronously as well as asynchronously.
2. 1.4 Channel Restriction 235 This association class represents a set of filtering rules or criteria used to generate a particular Channel Collection 220. The filtering used to create such a collection can be based on the TS ID, Network ID, System Type (DVB, ATSC, etc.), Bouquet, content theme (for example, sports), name of the Channel or a subset of this (for example, CNN), etc. Public Operations: Channel Restriction (filter: int, value: java, lang, Object): This constructor specifies what the grouping criterion should be. Parameter filter - the filter represents an enumerated value of a specific filter type.
Parameter value - sets the filter value based on the filter type. getFilterType (): int Called to determine which grouping mechanism is used for this channel restriction. getFilterValue (): java. lang. Call Object to determine the value of the current filter. The meaning of the value changes based on the type of filter.
2. 1.5 CA Identification 205 The CA Identification interface provides a mechanism for associating information related to the CA with any classes related to the Si, such as a TS or a CanalDeTv. It has access to information found in the CAT MPEG table. Public Operations: getSystemID (): int [] Returns an array of the CA system ID as defined in the CAT MPEG message. Returns null if CAT information is not provided for this channel. ControlAccess (): Boolean Returns TRUE if this ChannelTv is protected by CA. Return FALSE if it is not protected or unknown.
2. 1.6 Filter Type 265 This interface provides a definition of constant values of supported filtering mechanisms, such as filtering by network ID, ID, TS, ID, etc. Public Attributes: FILTER_ID_RED: short = l Filter based on the ID of the FILTRO_IDE_TRANSPORTE Network: short = 3 Filter based on the ID of the FILTER_ID_BOUQUET TS: short = 3 Filter based on the ID of the Bouquet FILTER_TIME_SYSTEM: short = 4 Filter based on the type of SI (for example,
DVB, ATSC, etc.) FILTRO_SATELITE: short = 5 Filter based on the satellite ID FILTER_REPEATER: short = 6 Filter based on the number of the repeater LOCK_FILTER: short = 7 Filter based on a locator (URL) FILTER_NAME_CANAL: short = 8 Filter based on the channel names CHANNEL NUMBER FILTER: short = 9 Filter based on the channel numbers FILTER_THEMA: short = 10 Filter based on the themes / content categories FILTER_CANAL_FAVORITY: cort? = ll Filter based on the user's favorite channels
2. 1.7 Details of the TV Channel 245 This interface provides access to CanaldeTv metadata. Derivatives of Distribution SystemSystem 807, UpdateSIS 830, SystemformationData of 810 System, and ACCA Identification 205. Public Operations: retrieveChannelDescription (listen: org.atsc Slabstracta.such.RetrieveScuchaseIs): Ordered Sequence Returns a textual description of this channel or a null if it is not available. getService Provider (): Sequence
Ordered Return the name of the service provider. get ServiceType (): int Returns the type of this service. The type of service is one the following values: digital TV, digital radio, analog TV, analog radio, data service, NVOD reference service, NVOD time deflected service. This list can be expanded with new types of services in the future. retrieveComponents (listens: org .tsts. Slabstracta. util. RetrieveEscuchadeSI): Component of Channel [] This method returns to a list of elementary components which are part of this channel. getFunction Status (): short Returns the operating status of this service (see the DVB SI documentation). recoverAvisodeContent (listen: org .tsts. Slabstracta .util .RecoverEscuchadeSI): org. atsc. Slabstracta. guide. Notice of Content of Audience of Content [] Returns a list of Information of the Notice of Content for each Region of audience index. getType? eSystemDistribution (): int Call to determine the distribution mechanism of this ChannelTv (for example, cable, satellite, etc).
2. 1.8 Identification of Channel 250 This interface is used to provide a flexible and extensible way to identify TV channels by names, channel numbers or other means. This can be extended to support specific mechanisms such as two-part ATSC channel numbers. Public Operations: getChannelNumber (): Ordered Sequence Returns a channel number, which is a specific value of the system. For example, the DCII uses a single number, the DVB does not really support channel numbers, or they are superior devices or specific transmitters, and the ATSC now has the two-part channel number. In the ATSC domain, this is in the major notation. minor (an ordered sequence with a point between the major and minor channel numbers). For DVB channels, the service ID can be the channel number. It also represents a specific channel numbering mechanism of the emitter provided as a private descriptor. getCanalName (): Ordered Sequence Returns a short channel number or an acronym.
2. 2 Guide Package This list of the Si is from the point of view of a programming guide that shows not only the availability of the service but a list of future events offered on each one of them.
2. 2.1 Schedule of Programs 320 This interface represents a collection of program events for a given CanalTTV 225 ordered by time. Provides current, next and future events. Public Operations: recoverPresentEvent (listen: org.atsc Slabstracta.util.RetrieveSc.Learn): Program Event Returns the event of the current program (which can be seen if tuned. RetrieveSiguietneEvent (listen: org.atsc.Slabstracta.util.RecoverEscuchadeSI): EventProgram Returns the program event that immediately follows the current program event. Retrieve Future Event (when: java.util.Date, listen: org.asp.slabstract.util.RetrieveSc.Listening): Program Event Returns the program event to the specified time. program that contains the specified time will be returned The specified time falls between the start time of the program event and the start time plus the duration of the event.Null returns when the specified time does not fall within any known program event. RecoverFuture Events (start of the interval: use java.Date, end of the interval: java. .Date, listen: org. atsc. Slabstracta. util .RetrieveS listener from IS): Program Event [] Returns all known program events on this channel in the specified time interval. retrieveEvent (locator: org.Davic.net.Locator, listen: org.Atsc.Slabstracta .Util.RecoverServes ofSSI): org. atsc. Slabstracta. guide.Event of the Program This method retrieves a program event equal to the locator. Note that the event should be part of this schedule. addListen (listen: org. tsc. Slabstracta. util. ChangeSUCC listener): empty Call to record an 815SSL Change for events related to changes of Program 340 events during this time. The 845 Program Change Event is provided to the specified listener when any program event at this time changes. removeListen (listen: ChangeSSWatch): empty Call to remove from the register a Change ofSchoice from IS 8115. 2.2.2 Event of Program 340 This interface comprises a collection of elementary streams with a common time base, an associated start time, and an associated end time. An event is equivalent to the common industrial use of
"TV show". The Event Information Table (EIT) contains information (titles, start times, etc.) of events on defined TV Channels. An event is, in most cases, a typical TV program, however its definition can be extended to include particular data broadcast sessions and other information segments, such as an infomercial or to show that part of the event includes a Interactive data application and the other parts do not.
Derived from the Information Type of System 810 and update of SI 830. The SI update is an interface which is shared by all the SI objects that represent Si tables and provides information about the last time this object was updated. Public Operations: getLocalizer (): Locator Returns a Locator that represents this program event. getTimeStart (): java. util. Date Returns the start time of this program event. get End Time (): java. Useful . Date The end time of this program event returns. get Duration (): long Returns the duration of this program event in seconds. getEventName (): Ordered Sequence Returns the title of the program event. retrieveDescription (listen: org .tsts Slabstracta. util.ecuperateStackofSI): Ordered Sequence Returns a current description of the event. This information comes from the Extended Text Table (ETT) in the ATSC or an Extended Event Descriptor in the DVB.
An empty ordered sequence will be returned when ETT is not available for this event. retrieveAbsoluteContent (listen: org.atsc Slabstracta.util.RecoverSheLookup): Content Audience Index Notice [] Returns a list of Content Notice information for each Region of Audience Index. getFunction Status (): short Returns the operational status of this event (see DVB's SI documentation). get ChannelTv (): CanaldeTv Return to ChannelTv with which this program event is associated. In the DVB, events and TV Channels are associated via the service ID; in ATSC, they are associated via the resource ID. get Cost (): Orderly sequence This method returns the cost of an Event of the
IPPV program or null if this is not an IPPV event. getTeam (): short [] This method returns a list of topics associated with the program. This is represented as a number and is system specific (for example, DVB content fragment). It refers to the appropriate specification of the details.
2. 2.3. Content Index Audience Notice 310 The Content Notice is used to indicate, for a given event, audience ratings for any or all of the audience index dimensions defined by each audience index region. Audience ratings can be given for any or all of the defined regions. An event without content notice indicates that the audience index value for any audience index dimension defined in any audience index region is zero. The absence of absence indices for a specific dimension is completely equivalent to having an audience index with a value of zero for that dimension. The absence of audience ratings for a specific region indicates the absence of ratings for all dimensions in the region. Public Operations: get Audience IndexRegion (): short Returns an unsigned 8-bit integer that specifies the audience region for which the data in this object is defined. The region-audience index associates the audience index data given here with data defined in RRT marked with the corresponding audience index region. Note that the DVB ratings system is based on age only. This can be easily traced to a more elaborate audience index system as one of the dimensions. getDimensions (): short [] Returns a list of all dimensions evaluated for this Region of Audience Index. getValue of the Audience Index (Evaluated Dimension: short): short Returns a number that represents the value of the audience index of the dimension specified by the parameter for this audience index region. get Text of the Audience Index (Evaluated Dimension: Short): Ordered Sequence Returns the description of the Audience Index that presents the audience index for the specified dimension. This should be limited to 16 characters or less. 2.2.4. Audience Region 330 This interface defines all the audience index dimensions of a region of specific audience index.
The PSIP audience index defines the TV origin guidance line system referred to by any content warning descriptor for a Service or Event. It is based on the RRT. Public Operations. getNumber of Dimensions (): short Return the number of audience index dimensions defined in this Region of Audience Index. getRegionName (): Ordered Sequence Returns the name of the audience Index region, for example, "United States (50 states + possessions)", associated with the Region of the audience index. The presentation of the ordered sequence for the region name of the audience index will be limited to 32 characters or less. getAudience Index Dimensions () Audience Index Disclosures [] Returns an array of all Hearing Index Dimensions defined for this Hearing Rate Region.
2. 2.5. Dimension of the Audience Index 350 One dimension in the region of the US audience index, for example, is used to describe the MPAA list. The name of the dimension for such a case can be defined as "MPAA". Another example of a dimension of the audience Index may be a DVB audience index based on age. Public Operations: getDenameName (): Ordered Sequence Returns an ordered sequence that represents the name of the dimension that is being described by this object, such as "MPAA". The ordered sequence representing the name of the dimension should be limited to
characters or less. is a ScaledScale (): Boolean Indicates whether or not the audience index values in this dimension represents a graduated scale, that is, that the higher audience index values represent higher levels of evaluated content within the dimension. A value of 1 means yes, while a value of 0 means no. getNumber of Levels (): short Returns a 4-bit field (1-15) that specifies the number of values defined for this particular dimension.
get Level Description of the Audience Index (Index of Audience Index Level: short): Ordered Sequence [] Returns a pair of Ordered Sequences that describe the Audience Index Level specified for this Dimension. The first ordered sequence represents the abbreviated name for a particular audience index value. The abbreviated name for the audience index value of 0 must conform to a null ordered sequence, that is, "". The ordered sequence representing the abbreviated value should be limited to 8 characters or less. The second ordered sequence represents the full name for a particular audience index value. The full name for the audience Index value of zero must be set to a null ordered sequence, that is, "". The ordered sequence representing the audience index value should be limited to 150 characters or less.
2. 2.2.6 CanaldeTvcon Horario 300 This interface extends the details of the TV Channel by adding access to the schedule of programs associated with this CanaldeTv. This is derived from the Details of the TV Channel 245.
Public Operations obtain Program Schedule ():
Schedule of Schedules Returns a schedule of programs / events associated with this CanaldeTV.
2. 3 Selection Package (FIGURE 4) This view on the Si is from the point of view of the channel selection. It represents the information that is necessary to provide other APIs, such as the Network Interface Controller, JMF Player, A / V Decoder, etc. to select, tune and eventually decoder a specific MPEG-2 and its components.
2. 3.1. Components of the Channel 410 This interface represents an abstraction of a
MPEG Elementary Flow. It provides information about the individual components of CanalTTv 225. It can be used by a player to select the appropriate TS components. Public Operations: getComponentName (): Ordered Sequence Returns a name associated with this component. The Component Descriptor can be used if it is present. In other circumstances a generic name may be used. getLanguageAssociated (): int Returns a 3-byte field (24 bits), based on ISO 639.2 / B, specifies language used by the elementary stream. In the case that a language is not specified for this elementary stream, for example, video, each byte will have the value 0x00. getType of Flow (): short Returns the flow type of this component. See also the Type of Flow
2. 3.2 Locator of MPEG 440 Derived from Locator 430. Public Operations: get Network ID (): int Call to determine the Network ID of the network represented by this Locator. getServiceID (): int Call to determine the service ID
(MPEG program number) of the service represented by this Locator. getTransportFlowID (): int Call to determine the TransportTransport FlowID that this locator represents.
getEventID (): int Returns an identification of this program event. Note: The PSIP ATSC Event ID is unique only within a single EIT table while the DVB event ID is unique within the service.
2. 3.3 ATSC 450 Locator Derived from the MPEG Locator 440. Public Operations: getResourcesID (): int Returns an integer that identifies the programming source associated with the virtual channel. In this context, a source is a specific source of text, data, or audio programming. The resource ID value of zero is reserved. The resource ID values in the range of 0X0001 to OxFFFF will be unique within the TS that contains the VCT, while the values of 0x1000 to OxFFFF will be unique at the regional level. The values for id resources of 0x1000 and above will be issued and managed by the registration authority designated by the ATSC.
2. 3.4 ChannelComponent MPEG 420 This is a specific Channel component that represents the MPEG-2 elementary stream Derivatives of Channel 410 Components. Public Operations: getPID (): short Returns the PID of the elementary stream data that is sent over the TS getPIDdePcr ( ): short Returns the PID number of the PCR associated with this component. getBrand (): int Returns the mark of the component (Flow Identifier Descriptor) of this elementary flow, or a null if none is present. getMarcadeAssociation (): int Returns the association mark (Association Mark Descriptor) of this elementary stream or a null if none is present.
2. 3.5 Tuneable Channel Control (415) Tuneable Channel Control is an interface which accepts a CanaldeTv object that can be tuned to and played by the JMF Player or its DTV derivative.
Derived from JMF java. media. Control Public Operations: get Current Channel (): CanaldeTv Returns the TV Channel currently playing. play (new Channel: CanaldeTV) This method is called to initiate a tuning, decoding and presentation of a
TV channel. play (new Channel: ChannelTv, components: int []) This method is called to initiate a tuning, decoding and presentation of a
TV channel. The additional parameter specifies which components of the TV Channel to execute. The components are identified by their brand number. Play (new Channel: ChannelTv, language: int) This method is called to initiate a tuning, decoding and presentation of a
TV channel. The additional parameters specify which components of the CanalTTv to execute based on the language association.
2. 4 Descriptor Package (FIGURE 5). This package describes a general API mechanism to retrieve descriptors of any type from an MPEG table: MPEG PSI, DVB SI, ATSC PSIP, or even private tables such as DCII: The intention is to define a mechanism independent of the Si format to recover those descriptors to reproduce to the minimum the knowledge of the differences of DVB and ATSC and the need for a special code in an application that calls this API. Refer to the discussion in section 1.4, "Descriptor View"
2. 4.1 MPEG 540 Table Descriptors This interface provides a mechanism for retrieving MPEG descriptors associated with any MPEG, DVB, ATSC table or even a private table. In any case, a set of descriptors or a set of available descriptor marks returns. The requesting application can also indicate in which descriptors it is interested. Only a subset of those will be returned if they exist in the specified table. The descriptors are mainly identified by a URL. This in many cases is not enough because a service can be described, for example, in multiple tables, such as the PMT and SDT. Therefore, the type of tables is specified to identify which type of table the descriptors should be retrieved. In some rare cases an additional identification is necessary. For example, if a type of RRT is specified, an ID of the evaluation index region is required to retrieve the appropriate subset of descriptors. The same applies to the BAT type tables, where a Bouquet level is necessary to determine which descriptor to recover. Additionally, an optional set of descriptor markers can be specified in the call-to limit the search and the returned set of descriptors. Derivative of BrandDescriptor 520 and TableType 510. Public Operations: retrieveDescriptors (uri: Locator, TableType: short, someMarks: short [] listen: org.atsc Slabstracta. atsc. Slabstract. descriptor. Descriptor [] Retrieves a set of descriptors. This method retrieves all a set of descriptors associated with the entity specified by the Locator (URL) distributed in the table specified in the order the descriptors are issued. uri of parameters - a specification based on the URL of an entity (such as a TS, a service, etc.) for which the descriptors are obtained. Parameter Table ID - A TableType of the table from which the specified descriptors are retrieved. Some Parameter Marks - A list of brands for descriptors (identified by their brands) is of interest to the application. All non-applicable brand values are ignored. If this list is empty or null, all descriptors will be returned. Listening to parameters - a listener which receives the distributed event when the data is recovered asynchronously. If an application does not provide a listener (null), an asynchronous recovery is not attempted. The listener is registered by this call only. Return value - A set (or subset) of descriptor objects according to what is indicated in some Marks. See also the Descriptor.
retrieveDescriptors (uri: Locator, TableType: short, someMarks: short [] listen: org.atsc Slabstracta .Util.RecoverForceSi): org. atsc. Slabstracta. descriptor. Descriptor [] Retrieves a set of descriptors. This method retrieves all or a set of descriptors associated with the entity specified by the Locator (URL) provided in 1 specified ata in the order in which the descriptors are issued. Parameter uri - see the above definition. Parameter Table ID - see the previous definition. IDentity of Parameters - An ID that represents a specific entity described in the specified Table. The type of entity depends on the type of table, for example, if the ID of the table identifies a BAT, then the ID of the entity is a specific Bouquet ID. some Parameter Marks - see the previous definition. Parameter listening - see the previous definition. Return Value - see the previous definition.
See also the Descriptor. retrieve Tags from the Descriptor (uri: Locator, Table type: short, listen: org Atsc Slabstracta.til RetrieveSusuchadeSI): short [] Retrieves the marks of all the descriptors associated with the entity specified by the Locator (URL) that are actually issued by the type of table specified. The marks are returned in the same order that the descriptors are issued (that is, in the transport flow). Parameter uri - see the above definition. Table ID of Parameters - Table ID for the table from which the descriptor marks are retrieved. Listening to parameters - see the previous definition. Return Value - the marks of the descriptors actually issued by the specified table (identified by their marks). See also BrandDescriptor. retrieve Tags from the Descriptor (uri: Locator, Table type: short, listen: org Atsc, Slabstracta, util, Recover, SI listener): short []
Retrieves the marks of all the Descriptors associated with the entity specified by the Locator (URL) that are actually issued by the specified table type. The marks are returned in the same order that the descriptors are issued. Parameter uri - see the above definition. Table ID of Parameters - see the previous definition. Parameter IDentity - an ID that represents a specific entity described in the specified table. The type of entity depends on the type of table. For example, if the ID of the table identifies a BAT, then the identity ID is a specific ID Bouquet. Listening to parameters - see the previous definition. Return Value - see the previous definition. See also Descriptor Tags.
2. 4.2 530 Descriptor This interface specifies the basic structure of an MPEG Descriptor. Consists of a Mark, Length and an array of bytes. Derived from the Information Type of System 810 and BrandDescriptor 520.
Public Operations: getBrand (): short Returns the mark of the descriptor. getBytesEn (index: int): byte Returns a particular byte within the content of the descriptor. getLength (): short Returns the length of the content of the descriptor. getContent (): byte [] Returns all the contents of the descriptor.
2. 4.3Descriptor Mark 520 This interface defines constants that correspond to the most common descriptor marks. See also the Descriptor. Public Attributes: RED_NAME: short = 0x40 LIST_SERVICE: short = 0x41 FILL: short = 0x42 SYSTEM_DISTRIBUTION_SATELITY: short = 0x43 SYSTEM_DISTRIBUTION_CABLE: short = 0x44 NAME_BOUQUET: short = 0x47 SERVICE: short = 0x48 AVAILABILITY_COUNT: short = 0x49 LINK: short = 0x4A REFERENCE_NVOD: short = 0x4B SERVICE_TIMATED_TIME: short = 0x4C EVENT_CORTO: short = 0x4D EVENT0_PR0L0NGAD0: short = 0x4E EVENT_DESVIATED_TIME: short = 0x4F COMPONENT: short = 0x50 MOSAIC: short = 0x51 IDENTIFIER_FLOW: short = 0x52 IDENTIFIER_CA: short = 0x53 CONTENT: short = 0x54 INDICEDEAUDIENCE_ORIGINAL: short = 0x55
TELETEXT: short = 0x56 TELEPHONE: short = 0x57 DEVIATION_LOCAL TIME: short = 0x58 SUBTITLE: short = 0x59 SYSTEM_DISTRIBUTION_TERRESTRE: short = 0x5A
NAME_RED_MULTILINGUAL: short = 0x5B NAME_BOUQUET_MULTILINGÜE: short = 0x5C
MILLING_SERVICE_NAME: short = 0x5D
COMPONENT_MULTILINGUE: short = 0x5E SPECIFIER_PREDED_DATA: short = 0x5F
MOVE SERVICE: short = 0x60 MEMORYINTERMEDIA_QUALIT_QUALITY: short 0x61 LIST_FRAME: short = 0x62 FLOW_TRANSPORTE_PARCIAL: short = 0x63 DATA_EISSION: short = 0x64 AUDIO_AC3: short = 0x81 PROGRAM_IDENTIFIER: short = 0x85 SERVICE_CAPTATION: short = 0x86 NOTICE_CONTINUED: short = 0x87 NAME_CANAL_SPEAKER: short = OxAO LOCATION_SERVICE: short = Oxal SERVICE_ATSC_DESVIATED_TIME: short = 0xA2 NAME_COMPONENT: short = 0xA3
2. 4.4 TableType 510 This interface defines a set of constants that correspond to types of MPEG, ASC and DBV tables, or private tables such as the CDII: Public Attributes: UNKNOWN: short = 0 INFO_CA: short = 1 Table PSI PMT MPEG. INFO_SERVICIO: short = 2 Table PMT PSI MPEG.
INFO_TRANSPORTE: short = 3 Table TSDT PSI MPEG. INFO_NAVEGACION: short = 4 DVB tables BAT and SDT, and ATSC VCT tables. INFO_RED: short = 5 Table NIT DVB and table MGT ATSC. INFO_INDICEDEAUDIENCIA: short = 6 Table TTT ATSC. INFO_TIME: short = 7 Table DVB TOT and STT table. INFO_EVENTO: short = 8 Table EIT DVB and table EIT ATSC.
2. 5 Line Package (FIGURE 6) This package represents the list of the line (or network). Represents objects related to the transport distribution mechanism such as MPEG-2. It could also include information about the non-MPEG distribution protocol such as IP.
2. 5.1 Satellite information 605 This interface represents information from satellites in a satellite distribution network. Public Operations: get SatelliteID (): int Returns the Id of this Satellite. get Satellite Name (): Ordered Sequence Returns the full name of the Satellite. getSatirecry (): Ordered Sequence Returns the name of the abbreviated satellite. get Number of Repeaters (): int Returns the number of repeaters available on this Satellite. get Repetitor Numbers (): int [] This method returns an array of repeater numbers available on this satellite. getRepeatName (Mombrederepetidor: int): Ordered Sequence Returns the name of the specified Repeater. getRepeater number (ID of transport flow: int): int Returns the number of the repeater that distributed the specified TS.
. 2.2 Information of Bouquet 630 This interface represents information about a bouquet (a collection of services that can cover TS and the limits of the network), which is a specific concept of DVB.
7í
Public Operations: getBouquetID (): int This method returns the ID of this Bouquet definition. getName (): java. lang. Ordered Sequence This method returns the name of this Bouquet.
2. 5.3 InfordeTransportFlow 660 This interface provides information about TS. Derived from the Information Type of System 810. Public Operations: obtain Locator (): org. davic. net. Locator This method returns the URL of this TS. getIDdeRed (): int Returns the ID of the network that contains this TS. getIDTransportStretch (): int This method returns in ID of this TS. getDescription (): Orderly Sequence Returns a textual name to a description of this TS. getRedOriginalID (): int This method returns to the ID of the Network where this TS originated.
This method returns the same ID as obtaining the Network ID if this TS originated in the Network that contains it.
2. 5.4 Network Information This interface provides descriptive information about a Transport Flow Network. Public Operations: getIDdeRed (): int This method returns the ID of this Network getLocalizer (): org. davic. net. Locator This method returns the Uri of this Network. Get Name of the RED (): java. lang. SequenceOrdered This method returns the name of this network.
2. 5.5 MPEG 670 Line The MPEG SI Manager represents MPEG-2 Specific Information Derivative of Line 650 and MPEG 540 Public Key Descriptors: Retrieve Satellite Information (Transportation Luxury ID: int, Listening: 10
org. atsc. Slabtracta. Useful. RetrieveSchooperSign): Satellite Information [] This method returns an array of objects that represent information about satellites that contain the specified transport stream. If the TS was not specified, return an array of objects representing information about all known Satellites. Return an empty array if it is not a Satellite of the network. RecoverBouquet (IddeBouquet: int, listen: org. Atsc. Slabstracta. Util. RecoverEscuchadeSI): org. atsc. Slabstracta. line . Bouquet Information This method returns information about the specified Bouquet. retrieveBouquets (listen: org.atsc.Slabstracta.util.RetrieveScuchadeSi): Bouquet Information [] Returns an array of Bouquet Information objects that represent all Bouquets. Retrieve Transport Flow (uri: Locator, listen: org .tsts Slabstracta. Util .RetrieveSY listens): Transport Flow Info This method returns a specific Transport FlowInformation object that represents information about the specified TS. retrieve Transport Flows (IDdered: int, listens: org .tsts. Slabstractable.turn.RecoverSISShort): InfordeTransportShift [] Returns an array of TransportForceInformation objects that represent all known transport flows for the specified network. recoverRed (NetworkID: int, listen: org .tsts.Slabstracta.util.ecuperateSListen fromSI): Network Information Returns the Network Information specified by this ID. retrieve Networks (listen: org .tsts. Slabstracta. util .RetrieveS listens from): Network Information [] Returns an array of Network Information of objects representing all known networks. Add Listen (Listen: ChangeSSListem): Empty Call to record a Change ofSSL listener 815 for changes related to changes in objects provided by the Si 240 Administrator.
This includes the 660 Transport Flow Info, 610 Network Information, etc., but excludes Channel 225 and Program 340 Event that can be heard via the appropriate collections, such as the Channel Collection 220 and the Program Schedule 320. Therefore, the Change Event of 850 will be provided to the listener. RemoveListening (Listens: ChangeofSListening): empty Call to remove from the register a Listener ChangeofSI 815.
2. 5.6 SI 640 Specific Manager This IS administrator has specific information about the means of content distribution. Derived from the SI Manager 240. Public Operations: get LineInfo (): org. atsc. Slabstracta. line . LineInfo [] This method returns a list of objects that represent different means of content distribution, such as MPEG-2 transport.
2. 5.7 LineInfo 650 This abstract class is a site that contains different means of content distribution. It must be extended by an object that is specific by a particular transport mechanism, such as the MPEG-2 TS.
2. 6 Data Package (FIGURE 7) This package represents a data event program. Similar to audio and video programs, there may also be scheduled data events for a given CanalTTV.
2. 6.1 Data Channel 710 This interface extends the details of CanalTTV giving access to a program of data event schedules associated with this CanalTTV. Derivative of TV Channel Details 245. Public Operations: getDataProgram (): org. atsc. Slabstracta. data DataProgram This method returns a data event program.
2. 6.2 Data Schedule 720 This interface represents a collection of data events for a CanalDeTv data sorted by time.
Public Operations: addListen (listen: org.asts Slabstracta.util.ChangeSiListens): empty Call to record a Change ofSListem from 815 for events related to changes of the 730 Data Events in this program or schedule. The 840 Data Change Event is provided to the specified listener when any 730 Data Event in this program or schedule changes. removeListen (listen: org., Slabstracta.util .ChangeSheep): empty Call to remove from the registry a ChangeofSchooper. retrieveEvent (when: java.util.date, listen: org.atsc.Slabstracta.util.RecoverEscuchadeSI): org. atsc. Slabstracta. data. Data Event. Returns the data event for the specified time. The data event containing the specified time will be returned. The specified time falls between the start time of the data time and the start time plus the duration of the event. It is returned null when the specified time does not fall within any known data event.
RetrieveEvents (incioDelntervalo: java.util.Date, endInterval: java.util .Date, listen: org.atsc.Slabstracta.util.RecuperarScuchadeSI): org. atsc. Slabstracta. data Data Events [] Returns all known data events on this channel in the specified time interval. retrieveEvent (locator: org.Davic.Net.Locator, listener: org.Atsc.Slabstracta.util.RecoverServiceofSSI): Data Event This method retrieves a data event equal to the locator. The event must be part of this schedule or program.
2. 6.3 Data Event 730 This object represents a data event associated with a 225 ChannelTv during a particular time interval. In the ATSC, the information is provided in DIT tables. The DIT is an extension of the PSIP. This is similar to the EIT but announces data events (non-audiovisual events) and is defined in the ATSC Data Emission Specification T3 / S13. Derived from the Update of SI 830 Public Operations: obtain Locator ():
org. davic. net . Locator Returns ün Locator that represents this data event. getTimeTime (): java.util.Date Returns the time of ipi.cio ds ^ this data event. get Finishing Time (): java. util. Date Returns the end time of this data event. getDuration (): long Returns the duration of this ev;, nto df? data in seconds. getTitle (): ava. lang. Ordered Sequence Returns the title of the data event. retrieveDescription (listen: o.rg Atsc Slabstracta.util.RecuperarLearn fromSI): java. lang. Ordered Sequence Returns a textual description of the event. This information comes from the ETT in the ATSC, or a
Extended Event Descriptor in DVB. An empty ordered sequence will be returned when the ETT is not available for this event. recoverAvisodeContent (listen: org .tsts. Slabstracta. til .RecoverEscuchadeSI): org. atsc. Slabstracta. guide.ContentNumber of ContentReview Returns a list of information and notice of content for each region of audience index. get ChannelTv (): org. atsc. Slabstracta. navigation. CanaldeTv Returns the TV Channel with which this data event is associated. In the DVB, events and TV channels are associated via a service ID; in the ATSC, they are associated via the source ID.
2. 7 Service Pack (FIGURE 8) This package defines classes and interfaces that provide support functions for IS packets. This includes the notification mechanism (events and listeners), the Factory method to create the object
SI Manager, and all exceptions. The Factory Method is a methodology and structure to solve a problem, as is known in the field of object-oriented programming.
2. 7.1 ISO 805 Factory This class provides a mechanism for creating objects that implement the 240 ISSI Administrator interface. This class is modeled after the factory method design pattern. Public Transactions: IS Factory (): Constructor get IS Admin (): SI Manager Returns an implementation of the IS Manager interface or null if it is not available.
2. 7.2 ChangeLearning from IS 815 The interface of ChangeSound from SI will be implemented using application classes to listen for changes in SI objects. It provides a method to be claimed by the listener to an IS object to notify an event. Public Operations: Change of IS (event: IS Change Event): empty This method is called when an existing IS object is changed, a new IS object is detected or a non-existing IS object is not already available.
2. 7.3 ISO Change Event 834 The 834 ChangeEvent Objects are sent to 815SISSchoke Change to notify a new event.
Derived from Event Object 820. Public Operations: getType (): byte Returns the type of event (the possible values are defined in the interface of the Exchange Type ofEvent ofSI)
2. 7.4 Type of ChangeoverEvent This interface defines the constants that correspond to the values of the Type ofEvent ofSI. Public Attributes: CHANGE_OBJETO: byte = 1 An existing object has been changed. OBJECT_NUEVO: byte = 2 A new object was detected. OBJECT_DESCONOCIDO: byte = 3 The object is not available.
2. 7.5 TV Changing Event 835. This event provides information about a particular TV Channel. Derived from the Change Event of IS 834. Public Operations: obtain Change of Channel (): Locator This method is called to determine which channel has changed.
2. 7.6 Program Change Event 845 This event provides information about a particular Program Event. Derived from the 834 Changeover Event. Public Operations: getChange Program (): Locator This method is called to determine which
Program Event has changed.
2. 7.7 Changeover event of SI 850 This event provides information about an SI object of the particular level obtained via the
SI Administrator. Derived from the 834 Changeover Event. Public Operations: getSTEpObject (): Short This method is called to determine which type of SI object has changed. This can the
Transportation Info 660, InfodelarEd 610,
Information of Bouquet 630, Region of the Audience Index 330, etc. getIDObjectObject ():: int This method returns the ID of the changed SI object whose type is identified by the method of obtainingSTOobjectObject. For example, if the
The ISOobjectID is the InfordelTransportStream, then the ISobIDID will be the ID of the TS.
2. 7.8 Update 830 This interface can be associated with any SI entity. It provides information about when the data was last updated. The SI database may have new information from which all the listeners are notified. Public Operations: get Update Time (): java. util. Date Returns the time when the information contained in the object implements this interface was updated for the last time. Return Value - The date of the last update.
2. 7.9 Exception of Delayed Distribution of IS 875 This exception is obtained when the requested data is not immediately available (for example, it is not in the immediate memory) and indicates an asynchronous distribution of the data. Derived from the exception 860. Public Operations: getTetition (): org. atsc. Slabstracta. Useful . Request from IS This method returns an object that represents the asynchronous request. It can be used to cancel the request and to associate it with the event of distribution of the required data.
2. 7.10 RetrieveSchooperSy 870 This interface should be implemented by applying classes to receive events about the completion of asynchronous SI requests. In general, the listener registers itself at the time of the potentially asynchronous call (as one of the parameters). The listener registered by a call only and is automatically removed from the registry when the request is satisfied. Public Operations: Post Event Retrieval (event: org .tstsc Slabstracta. Util.Sy Recovery Event): empty This method is called to provide an asynchronous IF recovery event to the listener.
2. 7.11 Event of Recovery of IS 865 This event distributes the data requested asynchronously by any of the calls "recoverXXX". All methods that start with the word "recover" fall into this category, for example retrieveDetails () in block 225, recoverPresentEvent () in block 320. This provides the data itself or an indication of a failure. It also provides a mechanism to associate this event with the request using the sequence number of the request. This event is provided only when the call "retrieveXXX" gives the exception of DistributedDistributionofSI 875, which contains the object of Request ofSI 886 with the sequence number of the request. Derived from Object Event 820. Public Operations: obtainSequenceNumber (): int This method returns the sequence number assigned to the original asynchronous recovery request to which this event responds.
2. 7.12 IS 886 Request This object is used to facilitate the asynchronous recovery of Si data. This object can be used to cancel a pending request and to associate the request as a distribution event of the requested data. Public Operations: cancel Request (): boolean This method will cancel a pending request. Returns a value of "True" indicating a successful cancellation of this request. "False" indicates that the request has been provided and can not be canceled. getSequence Number (): int This method returns a number associated with this asynchronous recovery call. This can be used to match the subsequent event with this request. 2.7.13 Recovery Event Successes IS 884 This event indicates that the requested data has been recovered and distributed. Derived from the recovery event of SI 865
2. 7.14 Event of Successful RecoveryUnisa ofSI 892 The event distributes a single object that was requested. Derived from the Recovery Event Successes IS 884. Public Operations: getResult (): java. lang.Object This method is used to obtain the data distributed by this event. The specific type (class) of the returned object can be anticipated from the context of the original call: this is the same object that would be returned by the "recoverXXX" method synchronously.
2. 7.15 Recovery Event Successful Multiple SIM
894 The event provides an arrangement of objects that were requested. Derived from
Recovery Event Successes IS 884. Public Operations: getResult (): java. lang. Object [] This method is used to obtain the data provided by this event. The specific type (class) of the returned objects can be anticipated from the context of the original call: this is the same object that would be returned by the "recoverXXX" method synchronously.
• 2.7.16 IEEE 882 Failure Event This event signals a failure to provide the requested data. The possible reasons for a failure may be that the data is not present in the TS or the resources were not available to obtain the data. • 10 Derived from the Recovery Event ofSI 865
2. 7.17ExceptionofSI 880 This is a generic exception, which can be obtained when a call related to SI
contains invalid parameters. Derived from the 860 Exception.
2. 7.18 Type of System Information 810 This interface provides access to databases
specific SI data (for example, databases of SI DVB, PSIP ATSC database, etc.) Public Attributes: PSIP_ATSC: short = 1 SI_DSVB: short = 2 25 YES SCTE: short = 3 Public Operations: getSystem Information (): short
• Call to determine the specific IS format this item was provided (for example, ATSC PSIP, DVB SI, etc.).
2. 7.19 Data Change Event 840 This event provides information about a particular data event. Derived from
• 10 Exchange Change Event 834. Public Transactions: get Data Changes (): org. davic. net. Locator
2.7.20 ExceptionNotAvailable from IS 890 The exception indicates that the data requested is not available for the particular case. Derived from the 880 Exception
2.7.21 SystemDistribution Type 807 This interface provides information about the type of distribution system (eg, cable, satellite, etc.) of the particular object that implements this interface. 25 Public Attributes:
CABLE DISTRIBUTION SYSTEM: short = 1 DISTRIBUTION SYSTEM_SATELITE: short = 2 SYSTEM_TRANSFER_TRISTRIBUTION: short = 3 Accordingly, it can be seen that the present invention provides an API that allows applications in a digital television terminal to recover the SI of a digital TS regardless of the type and specific format. The API abstracts the relevant portions of the SI to provide this in a format that is useful for the terminal. The system is suitable for use, for example, with IS formats, including MPEG PSI, DVB SI, and ATSC PSIP, and private IS. Although the invention has been described in relation to several specific embodiments, those skilled in the art will appreciate that numerous adaptations and modifications may be made thereto without departing from the spirit and scope of the invention as set forth in the claims. For example, although several syntax elements have been discussed here, note that they are examples only, and that any syntax can be used. In addition, the invention is suitable for use with virtually any type of network, including cable or satellite broadband communication networks, local area networks (LAN), metropolitan area networks (MAN), wide area networks ( WAN), internets, intranets, and the Internet, or combinations thereof. Additionally, physical computing components, fixed instructions and / or program techniques and known programming systems may be used to implement the invention. It is noted that in relation to this date, the best method known by the applicant to carry out the aforementioned invention, is the conventional one for the manufacture of the objects to which it relates.
Claims (9)
- CLAIMS Having described the invention as above, the content of the following claims is claimed as property. A top television apparatus terminal, characterized in that it comprises: a computer readable medium having means of coding computer programs; and means for executing the coding means of computer programs to implement an application program interface (API), where: the API is adapted to abstract system information (SI) into a digital television transport stream that is received by the terminal in any of a plurality of different formats; The API provides the abstracted SI in a generic form that is suitable for use by a terminal application regardless of the specific format in which the IS was provided. The terminal according to claim 1, characterized in that: the API provides a navigation function to allow the terminal to navigate between television channels in the transport stream according to the abstracted IS. 3. The terminal according to claim 1, characterized in that: Tjf the API provides a programming guide function for implementing an electronic programming guide for television channels in the transport stream according to the abstracted SI. . The terminal according to claim 1, characterized in that: the API provides a selection function 10 for the selection of specific television channels of the transport stream according to the abstracted SI. 5. The terminal according to claim 1, characterized in that: the API provides a function of retrieving the descriptor to retrieve descriptors of the SI according to the abstracted SI. 6. The terminal according to claim 1, characterized in that: the API provides a service function that contains support objects, including events and exceptions, to support the synchronous distribution of the SI to the application. 7. The terminal according to claim 1, characterized in that: the API provides a data function to implement a guide for data services in the transport stream according to the abstracted SI. The terminal according to claim 1, characterized in that: the API provides a line function to provide information with respect to a physical distribution mechanism of the transport stream according to the abstracted SI. 9. The terminal according to claim 1, characterized in that: the plurality of IS formats available include at least one of: Specific Information of the Program of the Expert Group of Images in Motion (MPEG) (SPI); Information on the Digital Video Broadcasting System (DVB) (SI); System Information Protocol and Program of the Advanced Television Systems Committee (ATSC) (PSIP); The SI Digital Video Standard for Cable 234 of the Society of Cable and Television Engineers; and YES private. The terminal according to claim 1, characterized in that it further comprises: a memory for storing service information when the transport flow is received in the terminal; where: the API provides a recovery function call to allow a calling application in the terminal to retrieve service issuance, so that the IS available in the memory is returned essentially immediately as a direct return value, and , if the service information is not available in the memory, the recovery function call returns an exception indicating to the calling application that the IS will be provided to the calling application asynchronously. The terminal according to claim 10, characterized in that: the API provides a service function that contains support objects, including events and exceptions, to support the asynchronous distribution of the IS to the calling application. The terminal according to claim 1, characterized in that: the transport flow is provided in a plurality of available transport flow formats; and the API abstracts the SI to provide this in a generic format that is suitable to be ^ used by the application regardless of the specific transport flow format in which it is 5 provided the SI. The terminal according to claim 12, characterized in that: the API provides a base packet having ^^ information that is generic for the available transport flow formats; and the API is adapted to be used with a separate package that has information that is specific to the format of the transport flow that is received by the terminal. 14. The terminal according to claim 1, characterized in that: the API provides for the increasing recovery of the service information by allowing an application calling the terminal to obtain a subset of the IS that is available in the terminal, to perform a Analysis of the obtained SI, recover additional SI if required based on the analysis. 15. The terminal according to claim 14, characterized in that: the additional SI is retrieved from the subsets of SI data that is available in the terminal in a terminal memory. 16. The terminal according to claim 14, characterized in that: the additional SI is recovered from the transport flow. 17. The terminal according to claim 1, characterized in that: the API allows an application calling the terminal to retrieve the subset of the SI in the transport stream and reject at the same time another SI in a transport stream that does not it is required by the calling application. 18. The terminal according to claim 1, characterized in that: the API provides a filtering function that responds to the abstracted SI to allow the application to specify at least one transport flow service in which the application is interested. The terminal according to claim 18, characterized in that: the filtering function is adapted to filter services in the transport flow based on whether the services are associated with at least one of a transport flow, when services are available of multiple transport flows; a network; a bouquet; a satellite; a satellite repeater; a service name; a service number / channel; a favorite channel; and a subject 20. The terminal according to claim 1, characterized in that: the API is implemented using a plurality of packets to abstract the SI; and different applications in the terminal include only the specific ones of the packages according to specific portions of the abstracted IS that each application requires. 21. A method for being used in a higher television apparatus terminal for processing system information (SI) in a digital television transport stream that is received by the terminal in any of a plurality of different formats, characterized in that it comprises the steps of: providing a readable medium on a computer that has means of coding computer programs; and executing the coding means of computer programs to implement an Application Programming Interface (API), where: the API is adapted to abstract the system information (SI) from any of a plurality of different formats; and the API provides the abstracted SI in a generic format that is suitable for use by an application in the terminal regardless of the specific format in which the IS is provided. 10Í SUMMARY OF THE INVENTION A programming application interface (API) allows applications (eg, applets) in a digital television terminal to retrieve System Information (SI) from a digital transport stream regardless of the specific IS format. The API abstracts the relevant portions of the SI to provide these in a generic, useful format. The system is suitable for use, for example, with SI formats including MPEG Program Specific Information (PSI), SI DVB, Program Information Protocol and the ATSC System (PSIP), Cable SI as the Digital Video Standard 234, and YES private. In an optional mode, the asynchronous delivery or distribution of the IS is provided for the SI that is not immediately available in the memory of the terminal. Additionally, the API can further abstract the Si so that it is independent of the specific transport flow format (for example, MPEG-2). In addition, an increasing recovery of SI data is provided by allowing an application to obtain a small subset of the SI that is available in the terminal, analyze it, and recover additional SI if required based on the analysis. The API includes a navigation packet (110), a program guide package (120), a program selection / tuning packet (130), a descriptor packet (140), a utility packet (150), a data packet (160) and a concurrent execution packet (170).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/106,508 | 1998-10-30 | ||
US60/107,965 | 1998-11-12 | ||
US60/113,444 | 1998-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA01004230A true MXPA01004230A (en) | 2002-06-05 |
Family
ID=
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 | |
US10769211B2 (en) | Information processing device and information processing method | |
CN103975602B (en) | Broadcasting service reception method and broadcasting service reception device | |
US8892636B2 (en) | Transmission apparatus and method, reception apparatus and method, and transmission and reception system | |
US10405022B2 (en) | Transmission apparatus and method, reception apparatus and method, and transmission and reception system | |
US9769286B2 (en) | Transmission apparatus and method, reception apparatus and method, and transmission and reception system | |
US9596510B2 (en) | Method for transmitting broadcast service, method for receiving broadcast service, and apparatus for receiving broadcast service | |
CN103535046B (en) | Transmission method for broadcast service, reception method therefor, and reception apparatus therefor | |
US9860611B2 (en) | Broadcast service transmitting method, broadcasting service receiving method and broadcast service receiving apparatus | |
KR101270357B1 (en) | Aligning video data to create a comprehensive program guide | |
US9661371B2 (en) | Method for transmitting a broadcast service, apparatus for receiving same, and method for processing an additional service using the apparatus for receiving same | |
US20140229580A1 (en) | Information processing device, information processing method, and information processing system | |
CN103650482B (en) | Send and receive the method and its reception device of broadcast service | |
CN103283219A (en) | Method for transmitting a broadcast service, and method and apparatus for receiving same | |
WO2009008676A2 (en) | Method of transmitting and receiving a broadcasting signal and an apparatus for receiving a broadcasting signal | |
US20050028202A1 (en) | Apparatus and method for providing advertisements on digital TV | |
EP2482555A2 (en) | Digital device able to access broadcast networks and ip networks, and a control method therefor | |
CN101141582A (en) | Digital television receiver and method for processing a digital television signal | |
JP5773746B2 (en) | Terminal linkage system | |
CN108900899A (en) | A kind of fast search system and method for the top box of digital machine based on operator's platform | |
US7448059B1 (en) | Process for transmitting and processing an evolutive abstract in a television system, receiver and transmitter in such a system | |
KR20020074154A (en) | A method for digital television broadcasting, digital signal and pertinent equipment | |
MXPA01004230A (en) | Application programming interface for enabling a digital television receiver to access system information in an abstract format | |
CN104135677B (en) | A kind of program-related information management method and device | |
CN105681909B (en) | Method and device for controlling navigation grade of network electronic program |