A MULTIMEDIA SYSTEM FOR ADAPTIVELY FORMING AND PROCESSING EXPANSIVE PROGRAM GUIDES

Abstract: A program guide information data structure and processing system for processing large quantities of guide information facilitates achieving a desirable compromise between transmission bandwidth and decoder complexity. A decoder acquires data for collating program guide information including objects by both area (e.g. a geographic, broadcast, or network market area), and by scheduled time of broadcast. The decoder collates the program guide information using the collation data which comprises channel and program map information for associating the program guide information with particular areas and broadcast times. The decoder collates the program guide information to provide a program guide selected from at least two available program guides associated with different areas in response to a User selection input. The collated program guide information is processed for display.

Description: A Multimedia System for Adaptively Forming and Processing Expansive Program Guides Field of the Invention This invention is related to the field of digital signal processing, and more particularly to program guides for channels and programs. Background of the Invention The formation and processing of large program guides conveying information concerning potentially thousands of broadcast program channels covering a wide geographic are a poses a number of problems. The geographic area covered m a y encompass the whole of the USA or whole continents, for example, and large quantities of information may have to be acquired, collated, encoded and broadcast in a format that facilitates subsequent decoding of the broadcast material. The bandwidth required to process such large quantities of information expands in proportion to the quantity of information being processed. Therefore, there is a need to structure program guide data i n order to optimize the use of the available bandwidth. The degree to which the program guide data structure may be optimized is constrained by the cost of a decoder unit for receiving the structured data. In fact there is a compromise to b e made between transmission bandwidth and decoder complexity. At one extreme of the compromise, all duplicative and redundant data elements in the program guide information are eliminated i n order to minimize the required transmission and processing bandwidth. As a result, each decoder needs to receive, buffer, parse and collate information from an entire program guide datastream, thereby necessitating a complex and costly decoder. At the other extreme of the compromise, the pro gram guide information is partitioned into individual sub-sets tailored to the requirements of a particular User or group of Users. This 2 means that each decoder needs to receive, buffer, parse a n d collate targeted information containing minimal redundancy which facilitates employing a simpler, more economical decoder requiring less processing power. However, such partitioning requires a larger transmission bandwidth to accommodate th e increased information redundancy resulting from the need to incorporate duplicate program guide information items in multiple different program guide sub-sets corresponding to different partitions. The problems involved in processing large quantities of program guide information and in achieving a desirable compromise between transmission bandwidth and decoder complexity are addressed by a system according to the pre s ent invention. Derivative problems involved in structuring an d partitioning program guide data to facilitate both decoding an d selectable program guide generation by a decoder are also addressed by a system according to the invention. Summary of the Invention A decoder acquires data for collating program guide information including objects by both area (e.g. a geographic, broadcast, or network market area), and by scheduled time of broadcast. The decoder collates the program guide information using the collation data which comprises channel and program map information for associating the program guide information with particular areas and broadcast times. The decoder collates the program guide information to provide a program guide selected from at least two available program guides associated with different areas in response to a User selection input. The collated program guide information is processed for display. Brief Description of the Drawings In the drawing: 3 Figure 1 shows a very large program guide (VLPG) hierarchical file/table format for use in conveying program specific information, according to the invention. Figure 2 shows a Master Guide Table (MGT) format for use in conveying program specific information, according to th e invention. Figure 3 shows a Channel Information Table (CIT) format for use in conveying program specific information incorporating area based partitioning, according to the invention. Figure 4 shows a multimedia object data structure format incorporating area and time based partitioning, according to the invention. Figures 5, 6 and 7 show examples of data structures for channel, event and control object basic information files, according to the invention. Figure 8 shows a data structure for an MPEG compatible carouselld (as used in the tables of Figures 5, 6 and 7 ) including identifier fields allowing area and time bas ed partitioning. Figure 9 shows a Master Database Table data structure format incorporating hierarchical based version identifiers an d cell partition identifiers supporting dynamic program guide r e - partitioning, according to the invention. Figure 10 shows an exemplary data structure for a cell type indicator (as used in the table of Figure 9) incorporating area, time and complexity based identifier fields, according to th e invention. 4 Figure 1 1 shows a hierarchical directory format for a n object database including channel, event and control s u b directories, according to the invention. Figure 12 shows a method for generating pro gram specific information according to the invention. Figure 13 is a block diagram of digital video receiving apparatus for demodulating and decoding broadcast signals containing NLPG information, according to the principles of t h e invention. Detailed Description of the Drawings Broadcast programs transmitted in digital format are encoded and broadcast along with ancillary information including program specific information (PSI) used in decoding programs an d associated data. Program specific information includes program guide data and information for use in identifying and assembling individual data packets to recover the content of selected program channels. Program specific information and associated program content is advantageously structured to convey large program guides conveying information concerning potentially thousands of broadcast program channels and associated multimedia objects covering a wide geographic area such as whole continents, countries or states, for example. The multimedia objects include audio clips, video clips, animation, still images, Internet data, Email messages, text and other types of data. Multimedia objects are data entities that may be viewed as independent units and are associated with images within individual programs or with program guide components. The multimedia objects are incorporated into composite video images representing a program guide or a video program, for example. The ancillary information data structure supports uni-directional communication applications e.g. passive viewing and bi-directional communication 5 applications e.g. interactive type functions and also supports storage applications. The program specific information and associated program content may be delivered by different service providers via the Internet in broadcast/multicast mode, or via terrestrial, satellite or cable broadcast on a subscription or other pay p e r view basis. The data structure facilitates acquisition and decoding of multimedia objects encoded in different data formats and which are communicated in different communication protocols from both local and remote sources. Hereinafter, data referred to as being MPEG compatible conforms to the MPEG2 (Moving Pictures Expert Group) image encoding standard, termed the "MPEG standard". This standard is comprised of a system encoding section (ISO/IEC 13818- 1 , 1 0 th June 1994) and a video encoding section (ISO/IEC 13818-2, 20 th January 1995). Data structure elements according to the invention principles may be conveyed in MPEG compatible format (per section 2.4.4 of the MPEG systems standard) or may be conveyed in a format compatible with the Program and System Information Protocol for Terrestrial Broadcast and Cable, published by th e Advanced Television Systems Committee (ATSC), 10 November 1997, hereinafter referred to as the PSIP standard, or other ATSC standards. Further, the data structure elements may be formed i n accordance with other MPEG standards such as the MPEG-4 o r MPEG-7 standards or with the proprietary or custom requirements of a particular system. The principles of the invention may be applied to terrestrial, cable, satellite, Internet or computer network broadcast systems in which the coding type or modulation format may be varied. Such systems may include, for example, non-MPEG compatible systems, involving other types of encoded datastreams and other methods of conveying program specific information. Further, although the disclosed system is described as processing broadcast programs, this is exemplary only. The term 'program' is used to represent any form of packetized data such as audio data, 6 telephone messages, computer programs, Internet dafa or o ther communications, for example. Figure 1 shows an overview of a very lart-e program guide (NLPG) hierarchical file/table format for use in a transport stream level data structure conveying program specific information. The structure comprises multiple hierarchically arranged and inter-linked tables. The tables consist of arrays of data and parameters which are used to enumerate and describe collections or sequences of TN channels, TV programs, channel parameters, program parameters, associated multimedia objects and object parameters, etc. The exemplary hierarchical table arrangement of Figure 1 includes a Master Guide Table (MGT) 1 20, Master Database Table (MDBT) 122, Content and Classification Table (CCT) 114, System Time Table (STT) 1 16 and Rating Region Table (RRT) 1 18. The Figure 1 hierarchy also shows Terrestrial, Cable and Satellite Channel Information Tables (TCIT item 1 12 , CCrr item 110, and SCIT item 108 respectively) in which channel information is collated by network provider e.g. CBS, ΝBC, HBO, Comcast etc. Additional tables include Schedule Information Tables (SIT 106, SIT 104 and SIT 102) in which programs or services are collated by source. A MGT contains information for use in acquiring program specific information conveyed in other tables. A channel information table - CIT (e.g. TCIT, COT, OR SCIT) contains information for tuning and navigation to receive a User selected program channel. A SIT contains descriptive lists of programs (events) receivable on the channels listed in the CIT. Either a CIT, SIT or other table may be used to convey information enabling a user to select and tune to a particular program. A CIT is typically used to convey parameters for acquiring audiovisual program content data that remains constant over several events (TN programs). An SIT is typically used to convey parameters ' of audiovisual program content data that remain constant for a n event (individual TN program). Additional program specific information describing and supplementing items within th e 7 hierarchical tables is conveyed within descriptor information elements . In order to accommodate data sufficient for a wide area program guide, individual tables in the hierarchy of Figure 1 are advantageously partitionable by both area (e.g. a geographic, broadcast, or network market area), and scheduled broadcast time. In addition, the table data may be additionally partitioned i n accordance with a third parameter such as the complexity level of data or a multimedia object in order to permit scalability i n decoding, for example. This type of program guide partitioning is represented by the 3-dimensional cells depicted in diagram 100. In fact, the NLPG structure of Figure 1 supports virtually any typ e of partitioning that a guide provider may require. The area and time based partitioning is achieved by including both time an d area identifiers in one or more of the tables of Figure 1 and i n associated object data. The advantage of including the area an d time partition identifiers in the transport level of th e communication protocol in this manner is that it reduces th e processing burden (e.g. for parsing the data) on a decoder th at otherwise occurs if the partitioning is done at a higher level, s ay the Application layer level. As a result program guide filtering is done at the transport layer and is performed directly by a transport chip contained in a decoder unit. However, it is possible to include the time and area identifiers for both table data an d objects at such a higher level if desired. In transmitting and processing a program guide, th e bandwidth demand grows with the quantity of channel an d program information and number of associated objects that n e ed to be transmitted. For a large program guide, even a simple case may require transmission of thousands of items of information and objects. A simple program guide may have neither images, nor audio, nor video clips, but would still need at least text descriptions for the thousands of programs (events) that it carries. It is possible to send the program guide information without redundancy and without partitions in a single bin or data file. I n such a case, and in the absence of transport-level partitions, th e 8 text descriptions (for example) will end up in a single data file. This means, for example, that a decoder in San Diego will receive all the material (event text descriptions, images, or any o ther objects) from all the other cities in the US and will be unable to discard useless material at the transport level. Consequently, i n the absence of transport-level partitions, it is necessary for a decoder to filter received program guide information at th e application level. This is a processor intensive, time-consuming and burdensome task that requires sophisticated software and significant processing power and raises the cost of a decoder unit. The NLPG data structure of Figure 1 advantageously provides the option of employing area-based partitioning at th e transport layer level. Program guide information may b e partitioned in an Eastern area, a Central area, a Mountain area, and a Pacific area, for example. Then a decoder in San Diego would no longer need to receive program guide information from th e other 3 regions. Therefore, such partitioning significantly reduces the parsing and filtering burden on a decoder and smaller partitions (e.g. on a state by state basis) further reduce th e parsing and filtering burden. Another advantage of such partitioning is that the time involved in downloading applicable partitioned program guide information is reduced. However, partitioning program guide information involves introducing redundant program guide data because such partitioning requires duplication of data items. As an example, if a basketball game is aired in the Pacific and Mountain regions, the n two copies of associated text descriptive information need to b e transmitted, one copy for each of the partitions targeted at th e pacific and mountain regions. It can be seen that, as the number of partitions increases, the quantity of redundant information also increases necessitating larger transmission bandwidth . Consequently, there is a trade-off between bandwidth and th e burden of information filtering. A large number of partitions imply fast information filtering but at the cost of increased bandwidth. When there is only one partition, there are n o redundancies and therefore bandwidth is minimal but the filtering 9 burden is larger since all the program guide information items need to be parsed. Time and area cells may be mapped into an MPEG-2 compatible data structure by using the MPEG2 PSI and DSM-CC fields. Not all of the tables may need to include are a- based identifiers. Program content ratings, for example, are typically applicable everywhere in the US. In the NLPG architecture of Figure 1 , significant advantage is obtained by applying area-based partitioning to the Channel Information Table (CIT) and t h e Master Guide Table. A CIT defines the channel line-up (list of available channels) for a service provider and depends on th e geographical area covered by the service provider. The channel line-up for terrestrial broadcast in Indianapolis is different th an the channel line-up for a cable provider in Philadelphia, for example. In the system of Figure 1 the MGT also depends o n geographical area but this is not necessarily the case. The capability of performing focused targeting of program guide information to particular audiences is o ne advantage derived from being able to make fine area-based divisions of channel line-ups at the broadcast market level. I n order to accomplish this, different table "instances" are created. A table instance is a version of a table that is targeted to a particular market area and incorporates an area identifier for identifying th e applicable market area. Multiple instances of a single table can b e concurrently transmitted each carrying different information. Different table instances are recognized using th e "table_id_extension" field of the MPEG-2 protocol. Figures 2 and 3 show a Master Guide Table (MGT) format and Channel Information Table (CIT) format respectively for use in conveying program specific information an d incorporating a table_id_extension field for market are a identification. In the MGT of Figure 2 and in the CIT of Figure 3 , this market area identification field is termed a "network_provider" and is shown in the MGT data structure a s item 130, and in the CIT data structure as item 140. The network_provider area identifier field is a 16-bit field used to 1 0 uniquely identify a network provider. The meaning of t h e network provider depends on the transmission medium . Specifically, for terrestrial broadcast, a network provider is a collection of stations within a geographical region, for cable broadcast, a network provider is a local cable service provider an d for satellite broadcast, a network provider is a satellite service provider. The data structure of Figure 1 advantageously allows different types of program specific and program guide information to be targeted to different areas. This feature permits flexibility in selecting an acceptable compromise between decoder complexity and processing bandwidth involved in broadcasting and receiving the program guide data. As an example, it may be acceptable to partition multimedia objects into coarser areas than channel lineup information. The data structure of Figure 1 gives the guide providers the capability of partitioning different types of data i n different gradations of area ranging from coarse areas to fine areas (e.g. areas as large as countries, states, or counties ranging to areas as fine as cities, towns, city blocks or even individual customers) . Further, program guide information may be collated i n a decoder to provide a User a choice between program guides for different areas (e.g. between two neighboring areas or a choice of guides from any of the available areas) or for different periods of broadcast time. As such, a program guide may be selected in a decoder from one or more available program guides associated with different areas, in response to a User selection input via a remote unit or other data entry device. In performing such a selection, a decoder compares a region identification designation (associated with received program guide information) with a p re - stored region identification designation representing the decoder location. Such a region identification designation may comprise, a zip code, a telephone area code, and any other region identification code. Figure 4 shows a multimedia object data structure format for conveying objects within a NLPG. The multimedia 1 1 object data structure supports area and time based partitioning through the use of area and time identifier fields within an MPEG DSM-CC compatible carouselld identifier (item 150 in Figure 4). Figures 5, 6 and 7 show examples of the data s truc ture of objects comprising channel, event and control objects respectively. Specifically, Figure 5 shows a Channel Basic Information File (channel BIF) binary file, Figure 6 shows an Event Basic Information File (Event BIF) binary file and Figure 7 shows a Control Basic Information File (Control BIF) binary file. In similar fashion to Figure 4, the channel, event and control object data of Figures 5-7 include area and time identifier fields within MPEG DSM-CC compatible carouselld identifiers (items 153, 157 and 1 5 9 of Figure 5-7 respectively). Figure 8 item 152, shows an exemplary carouselld data structure for an MPEG compatible carouselld (as used in th e tables of Figures 4, 5, 6 and 7). The carouselld includes a 16 bi t directory item identifier for use as a data base reference, an 8 bi t time identifier and an 8 bit area identifier. These fields enable a decoder to selectively filter program guide data based on area an d time based partitions. In the NLPG data structure of Figure 1, a Master Database Table (MDBT item 122) is used to define program guide partitions (cells) and to inform a decoder of the cells available i n its location for decoding. Figure 9 shows a Master Database Table data structure incorporating hierarchical based version identifiers and cell partition identifiers advantageously enabling dynamic program guide re-partitioning. The code between items 170 and 178 comprises a loop that defines partitioned cells. Within this loop, the field called "cell_type" (item 172) determines an index of a cell as illustrated in Figure 10. Figure 10 item 179 shows an exemplary data structure for a cell type indicator. The cell type indicator includes an 8 bi t complexity level identifier used to define a complexity level of a n object. The cell type indicator also includes an 8 bit area identifier and an 8 bit time identifier for defining area and time b ased partitions . 1 2 An individual object or program guide information item includes a carouselld (as defined in Figure 8 and as s hown item 150 in Figure 4) for linking the object to a time and are a index of its mother cell. Dynamic program guide re-partitioning is achieved by re-arranging the cell list in the MDBT and by dynamic alteration in the mother cell time and area index identifiers within a carouselld. Consequently, a guide provider is able to dynamically re-partition a program guide data structure to adap t to changes in available transmission bandwidth or decoder sophistication. A guide provider may use finer partitions to provide faster object filtering times if increased b andwidth becomes available or may use coarser partitions to pre s erve bandwidth if decoder processing capabilities improve. As such, a decoder in San Diego may today have access to program guide information associated with areas 0 and 7 while in the future th e decoder may be given access to program guide information associated with areas 0 and 9, reflecting finer partitioning, for example. In the future, it is entirely feasible to be able to provide real-time access to multimedia objects present in guides covering areas as large as the USA by selecting an appropriate compromise between bandwidth and partitioning. Figure 1 1 shows a hierarchical directory format for a n object database including object files under channel, event an d control sub-directories. Figure 1 1 shows that a particular eve n t such as "event2" can have its own directory containing its required files, e.g., "event2" has four associated objects (items 240 , 242, 244 and 246 in Figure 11). Using the object database a directory-based address is mapped into transport-level fields for processing. Given a path such a s /VLPG/TIME l/AREAl /events/event2/event.bif, (path through directory items 220, 224, 228, 232, 238, 242 of Figure 1 1 ) for example, there is one and only one object with a certain carouselld and moduleld. For example, in this case, the following mapping applies: /NLPG > Files extracted from VLPG object data base 1 3 /TIME1 > 0x01 (time variable) /AREA1 > 0x01 (area variable) /events/event2 — > 0x3005 (directory number variable). Therefore, this database address is mapped to a carouselld of 0x01013005. Further, the event.bif (item 242) has a moduleld which may be determined from the program guide information (such as value 0x0002 in this example). The inverse mapping from transport-level fields to a directory-based addres s is also unique and may be similarly derived. The directory structure exemplified in Figure 1 1 supports the operation of software for processing and interacting with transmitted objects. The processing software may b e transmitted in file form, together with objects, and the n interpreted or compiled and run by a decoder. Such processing software may be used for numerous applications including for advantageously creating content-based program guides in a decoder in a language such as HTML (Hyper Text Mark-up Language), SGML (Standardized Generalized Mark-up Language), Java, ActiveX and any other decoder supported language. As a n example, each Sunday a guide provider may want to prepare a web site describing all available Sunday movies for transmission to decoder units containing a web browser and supporting HTML software. The Sunday guide information is encoded in HTML and transmitted to decoders as HTML software files that describe th e special web site. The HTML files are located anywhere in th e directory structure of the Object Database and together generate images, text, video, and audio files that form the Sunday movie guide listing comprising the special web site. As such, the Sunday guide web site is broadcast as part of an object database and is not conventionally accessed from an Internet server. Other special program guide web sites that may be conveyed in this way m a y list, for example, (a) a DND/VCR programs available for play, (b) other Internet web sites, (c) pre-stored fax/phone numbers for access, (d) videophone functions and (e) home appliance control functions. 1 4 A User may initiate display of the special S unday guide broadcast-web site contained in the Object Database b y using a remote unit or other data entry device to select a n associated displayed menu item or display icon and may similarly navigate the broadcast-web site and review the advertised movies. In addition, a User may be able to initiate commands vi a the web site such as (a) programming a NCR or DVD unit, (b) tuning to a desired channel, or (c) accessing other Internet sites that are either similarly broadcast as part of the object database or that are conventionally accessed via telephone (or cable) line. Further, in initiating such telephone (or cable) line Internet access a decoder may acquire access information from a broadcast o r other source. Such access information includes (a) an Internet URL, (b) an Internet IP address, (c) an Email address, and (d) a telephone/fax/videophone number, for example. The hierarchical directory structure of Figure 1 1 illustrates another advantage offered by the VLPG structure of Figure 1. In a large program guide, managing the update of constituent tables and objects involves examining a large quantity of version numbers (thousands of version numbers may b e involved). A decoder downloads a particular program guide table or object upon determination of a version number change an d disregards those tables or objects where no version n umb er change is indicated. This task may be aided by listing all th e version numbers of tables and objects that are susceptible to change in one table such as a MGT. The MGT is broadcast at a sufficiently fast rate to enable a decoder to examine the MGT to determine which tables or objects have changed and to acquire a changed table or object in a timely fashion. However, parsing every entry in the MGT may become very time consuming in a large guide structure. This problem is addressed by employing a system of hierarchical version control in which there are several tables th at perform version control. These tables are arranged in a tre e structure as exemplified by Figure 11. In Figure 1 1 , table 2 3 8 (event2) controls the version of those tables/files under table 238. 1 5 Table 232 (events) controls all the versions of tables 336 (event 1 ) , and 238. Table 228 (AREA1 ) controls the versions of tables 23 0 (channels), 232 and 236 (control) only. In this way, the version number information stored in each table is small and b y traversing the tree from top to down, it is possible to quickly find those files, tables or objects that need to be updated. Although a multiple-level structure is described above, a two layer version control structure may also be used for version control of objects in the database in the VLPG of Figure 1. In th e two layer example, the upper layer of the tree hierarchy is th e Master Database Table (MDBT) as exemplified in Figure 9. The second level, below the MDBT level, consist of cells comprising Channel, Event and Control Basic Information Files, as exemplified by the previously described data structures of Figures 5, 6 and 7 respectively. A change in any of the Channel, Event or Control files is signaled by a change in their respective version numbers, i tem 160 (Figure 5), item 163 (Figure 6) and item 167 (Figure 7) . Further, any change in the Channel, Event or Control file version numbers is signaled by a change in the next hierarchical (cell) level version number i.e. such a change is signaled by a change i n version number 176 in the MDBT of Figure 9. As a specific example, if a channel logo (which is an image in the database) changes from one version to another, then the channel BIF will reflect this change in item 160 (Figure 5). The MDBT will also signal the change in item 176 at the cell level (Figure 9). A decoder examines first the MDBT and determines the cell version number has changed and then examines the BIF files to identify objects that have changed within the cell. The Master Data Base Table (MDBT) structure of Figure 9 provides another advantage in processing large program guides . Decoder sophistication and processing power and ability to process complex multimedia objects evolves with time. For example, t h e first generations of set top box decoders were largely restricted to processing images in bit map form. However, newer generations of decoder may use decompression software to download JPEG, GIF or other image formats and future generations will be able to 1 6 process not only images but also movie clips in multiple formats . Consequently, it is desirable to structure program guide data to support decoder scalability i.e. to allow a range of decoders of varying complexity to process program guide information using the level of processing power that they are endowed with . Thereby, low-complexity decoders are able to identify objects th at they are able to process and to discard objects exceeding their processing capabilities. Otherwise high-complexity objects m a y impair the operation of low-complexity decoders by causing buffer overflow or other problems. The MDBT data structure of Figure 9 (and Figure 1 0 ) advantageously supports efficient multimedia object complexity discrimination in a decoder unit. For this purpose, the MDBT assigns PID (packet identifier) values to cells in the database. I n Figure 9, item 172 identifies a particular cell and is associated with a PID value by item 174. Further, item 172 defines the 24 - bit field cell_type that defines the time, area, and complexity coordinates of a cell (see Figure 10). As such, an object complexity level indicator is included in an MPEG-2 compatible transport- layer field. Thereby objects in the data base belonging to different complexity levels are conveyed in streams identified by different PIDs. A decoder is pre-assigned a complexity level and the decoder applies the MDBT (specifically item 172) in selecting an d caching the PID values for those cells with complexity levels th at match or are below the pre-assigned decoder complexity level. Objects of complexity level exceeding the decoders capabilities are advantageously discarded at the transport level. Figure 12 shows a flowchart of a method for forming program specific information, according to the invention. The method of Figure 12 generates program specific information including MGT, MDBT, CCT, STT, RRT, TCIT, CCIT, SCIT and SIT data and descriptors containing the advantageous features previously described. The method may be employed at an encoder for broadcasting program guide data or, may be employed for encoding program guide data within a decoder unit for transmission to another device. 1 7 Following the start at step 250 of Figure 12, in s tep 253, a method based on the previously described data structuring principles is selected for partitioning program specific information. The program specific information is partitioned in accordance with time segments and areas, network types, complexity levels, cells, and programs (events). In step 255, PID values are assigned to accommodate the partitioned program specific information. If a non-MPEG transport protocol is used, PID values may be replaced by proper parameters that identify logical channels. In step 257 a MGT and MDBT (or other type of control tables) are generated to include those formed during partition operations. The MGT conveys information for use in acquiring program specific information conveyed in other tables. The MDBT conveys information for use in acquiring multimedia objects from a transport stream. In step 260 individual CCT, STT, RRT, TCIT, CCIT, SCIT and SIT etc. tables are formed complying with the parti tioned structure. The individual tables incorporate multimedia object links, version numbers and identifiers derived according to th e previously described invention principles. A CIT (e.g. TCIT, CCIT and SCIT) is formed containing channel and program identification information enabling acquisition of available broadcast programs and channels containing packet identifiers for identifying individual packetized datastreams that constitute individual programs to be transmitted on particular channels. Further, i n step 260, an SIT is generated containing program guide schedule information including descriptive lists of programs (events) receivable on the channels listed in the CIT. In step 263, the tables formed in step 260, together with associated multimedia objects, are formatted to b e compatible with a desired data format and protocol. Such data formats and protocols include, for example, MPEG2 compatible Program Specific Information, MPEG2 DSM-CC, DSS, and a n Internet compatible file transfer format. In step 265, the resulting formatted tables and multimedia objects are incorporated into a datastream in their designated locations for terrestrial 1 8 transmission. The MGT and MDBT are incorporated into t h e datastream in step 267. In step 270, the program specific information produced in step 267, together with video and audio program representative components (and other data) for multiple channels, is multiplexed and formatted into a transport stream for output. In step 270, the output transport stream is further processed to be suitable for terrestrial transmission to another device such as a receiver, video server, or storage device for recording on a storage medium, for example. The processes performed in step 270 include known encoding functions such as data compression Reed- Solomon encoding, interleaving, scrambling, trellis encoding, an d carrier modulation. The process is complete and terminates at step 275. In the process of Figure 12, multiple CIT, SIT and associated extension tables may be formed and incorporated in the program specific information in order to accommodate expanded numbers of channels. Further, in other embodiments the tables may b e similarly processed for satellite, cable or Internet transmission, for example. In the video receiver system of Figure 13, a broadcast carrier modulated with signals carrying audio, video an d associated data representing broadcast program content is received by antenna 10 and processed by unit 13. The resultant digital output signal is demodulated by demodulator 15. The demodulated output from unit 15 is trellis decoded, mapped into byte length data segments, deinterleaved and Reed-Solomon error corrected by decoder 17. The corrected output data from unit 1 7 is in the form of an MPEG compatible transport datastream containing program representative multiplexed audio, video and data components. The transport stream from unit 17 is demultiplexed into audio, video and data components by unit 2 2 which are further processed by the other elements of decoder system 100. In one mode, decoder 100 provides MPEG decoded data for display and audio reproduction on units 50 and 5 5 respectively. In another mode, the transport stream from unit 1 7 is processed by decoder 100 to provide an MPEG compatible 1 9 datastream for storage on storage medium 105 via storage device 90. A user selects for viewing either a TV channel (user selected channel-SC) or an on-screen menu, such as a program guide, by using a remote control unit 70. Controller 60 uses th e selection information provided from remote control unit 70 vi a interface 65 to appropriately configure the elements of Figure 1 3 to receive a desired program channel for viewing. Controller 6 0 comprises processor 62 and processor 64. Unit 62 processes (i.e. parses, collates and assembles) system timing information an d program specific information including program guide information. Processor 64 performs the remaining control functions required in operating decoder 100. Although th e functions of unit 60 may be implemented as separate elements 6 2 and 64 as depicted in Figure 13, they may alternatively b e implemented within a single processor. For example, the functions of units 62 and 64 may be incorporated within the programmed instructions of a microprocessor. Controller 60 configures processor 13, demodulator 15 , decoder 17 and decoder system 100 to demodulate and decode the input signal format and coding type. Further, controller 6 0 configures units 13, 15, and 17 for other communication modes , such as for receiving cable television (CATV) signals and for bi directional communication via coaxial line 14 or for bi-directional (e.g. Internet) communication, for example, via telephone line 1 1 . In an analog video mode, an NTSC compatible signal is received b y units 13, 15 and 17 and processed by decoder 100 for video display and audio reproduction on units 50 and 55 respectively. Units 13, 15, 17 and sub-units within decoder 100 are individually configured for the input signal type by controller 6 0 setting control register values within these elements using a bi directional data and control signal bus C. The transport stream provided to decoder 1 00 comprises data packets containing program channel data an d ancillary system timing information and program specific information including program guide information. Unit 22 directs 2 0 the ancillary information packets to controller 60 which parses, collates and assembles this information into the previously described hierarchically arranged tables (as exemplified in Figure 1 ). Individual data packets comprising the User selected program channel SC are identified and assembled using the assembled program specific information. Further, the program specific information contains conditional access, network information an d identification and linking data enabling the system of Figure 13 to tune to a desired channel and assemble data packets to form complete programs. The program specific information also contains data supporting the identification and assembly of th e ancillary information. The program specific and system timing information is assembled by controller 60 into multiple hierarchically arranged and inter-linked tables per the structure of Figure 1. The STT contains a time reference indicator and associated correction data sufficient for a decoder to establish a time of transmission of a program by a broadcast source. The MGT contains information for acquiring program specific information conveyed in other tables such as identifiers for identifying data packets associated with the other tables. The CIT (e.g. TCIT) contains information for tuning and navigation to receive a User selected program channel. The SIT contains descriptive lists of programs (events) receivable o n the channels listed in the CIT. The RRT contains program content rating information such as the MPAA (Motion Picture Association of America) or V-chip compatible rating information that is collated by region (e.g. by country or by state within the USA). Additional program specific information describing an d supplementing items within the hierarchical tables is conveyed within descriptor information elements. The program specific an d system timing information acquired by controller 60 via unit 22 is stored within internal memory of unit 60. Controller 60 uses the acquired program guide information in conditioning access to programs and in scheduling program processing functions including program viewing, recording and playback. 2 1 Controller 60 and processor 22 determine from the CIT the PIDs of video, audio and sub-picture streams in the packetized decoded transport stream input to decoder 100 from unit 17. The video, audio and sub-picture streams constitute the de sired program being transmitted on selected channel SC. Processor 2 2 provides MPEG compatible video, audio and sub-picture s tre ams to video decoder 25, audio decoder 35 and sub-picture processor 30 respectively. The video and audio streams contain compressed video and audio data representing the selected channel SC program content. The sub-picture data contains the SIT, CCT an d RRT information associated with the channel SC program content. Decoder 25 decodes and decompresses the MPEG compatible packetized video data from unit 22 and provides decompressed program representative pixel data to NTSC encoder 45 via multiplexer 40. Similarly, audio processor 35 decodes th e packetized audio data from unit 22 and provides decoded an d amplified audio data, synchronized with the associated decompressed video data, to device 55 for audio reproduction. Processor 30 decodes and decompresses sub-picture data received from unit 22. Processor 30 assembles, collates and interprets RRT, CCT, CIT and data objects from unit 22 to produce formatted program guide data for output to OSD 37. OSD 37 processes th e SIT, RRT, and CCT and other information to generate pixel mapped data representing subtitling, control and information m e nu displays including selectable menu options and other items for presentation on the display device 50. The control and information menus that are displayed enable a user to select a program to view and to schedule future program processing functions including a) tuning to receive a selected program for viewing, b ) recording of a program onto storage medium 105, and c) playback of a program from medium 105. The control and information displays, including text and graphics produced by OSD generator 37, are generated in th e form of overlay pixel map data under direction of controller 60. The overlay pixel map data from unit 37 is combined a n d 2 2 synchronized with the decompressed pixel representative d ata from MPEG decoder 25 in encoder 45 via multiplexer 40 u n d e r direction of controller 60. Combined pixel map data representing a video program on channel SC together with associated sub-picture data is encoded by NTSC encoder 45 and output to device 50 for display. In a storage mode of the system of Figure 13, th e corrected output data from unit 17 is processed by decoder 100 to provide an MPEG compatible datastream for storage. In this mode, a program is selected for storage by a user via remote unit 70 an d interface 65. Processor 22, in conjunction with processor 60 forms condensed program specific information including MGT, MDBT, CCT, STT, RRT, TCIT and SIT data and descriptors containing th e advantageous features previously described. The condensed program specific information supports decoding of the program selected for storage but excludes unrelated information. Processor 60, in conjunction with processor 22 forms a composite MPEG compatible datastream containing packetized content data of th e selected program and associated condensed program specific information. The composite datastream is output to storage interface 95. Storage interface 95 buffers the composite datas tream to reduce gaps and bit rate variation in the data. The resultant buffered data is processed by storage device 90 to be suitable for storage on medium 105. Storage device 90 encodes the buffered datastream from interface 95 using known error encoding techniques such as channel coding, interleaving and Reed Solomon encoding to produce an encoded datastream suitable for storage. Unit 90 stores the resultant encoded datastream incorporating th e condensed program specific information on medium 105. The architecture of Figure 13 is not exclusive. Other architectures may be derived in accordance with the principles of the invention to accomplish the same objectives. Further, th e functions of the elements of decoder 100 of Figure 13 and th e process steps of Figure 12 may be implemented in whole or i n part within the programmed instructions of a microprocessor. I n 2 3 addition, the principles of the invention apply to any form of MPEG or non-MPEG compatible electronic program guide. A datastream formed according to the invention principles may b e used in a variety of applications including video server or PC typ e communication via telephone lines, for example. A program datastream with one or more components of video, audio and data formed to incorporate program specific information according t o invention principles may be recorded on a storage medium an d transmitted or re-broadcast to other servers, PCs or receivers. The key elements of the data structure described herein may b e advantageously used for conveying program ancillary information in a wide variety of data transport structures that may be used to deliver program content or program guide information. Such transport structures, for example, may include MPEG-PSI, Interne t TCP/IP (Transport Control Protocol/Internet Protocol), DSS (Digital Satellite System), ATM (Asynchronous Transfer Mode) etc.

Claims: 2 4 What is claimed is: 1. Apparatus for decoding packetized program information from a first source to provide a program guide, comprising: a processor for acquiring ancillary and program guide information in said packetized program information, said ancillary information including, (a) data for collating broadcast services by area, a nd (b) data for collating program guide information associated with said broadcast services by scheduled time of broadcast, and a data collator for collating said program guide information associated with said broadcast services using said ancillary information; and a display processor for processing said collated program guide information for display. 2. Apparatus according to claim 1 , wherein said area comprises at least one of (a) a geographic area, (b) an area served by a satellite, terrestrial, or cable broadcaster, and (c) a market area of a service provider. 3. Apparatus according to claim 1 , wherein said data for collating broadcast services by are a comprises at least one of (a) a channel information m ap associating particular broadcast channels with particular areas , and (b) a service information map associating particular services with particular areas. 4. Apparatus according to claim 3, wherein said services comprise at least two of (a) video channels, (b) audio channels, (c) Interne t service, (d) phone or fax service, (e) Wide Area Network service. 2 5 5. Apparatus according to claim 1 , wherein said data for collating broadcast services by are a associates particular broadcast channels with a region identification designation. 6. Apparatus according to claim 5, wherein said region identification designation comprises a t least one of (a) a zip code, (b) a telephone area code, and (c) another region identification code, and said data collator collates program guide information by comparing said region identification designation with a pre - stored region identification designation of said apparatus. 7. Apparatus according to claim 1 , wherein said ancillary information includes objects associated with said program guide information and includes information partitioned into tables, and said processor acquires data for collating said tables and objects by area. 8. Apparatus according to claim 7, wherein said data for collating said tables and objects includes region identification designations for associating objects with regions that are different to table regions, and said data collator collates said objects into regions different to regions of said tables. 9. Apparatus according to claim 7, wherein said object comprises at least one of (a) a video segment, (b) an audio segment, (c) text, (d) an icon representing a user selectable item for display, (e) an HTML or SGML document (f) a menu of selectable items, (g) an image window for presentation within an encompassing image, and (h) an image window for initiating a multimedia function. 2 6 10. Apparatus according to claim 1 , wherein said ancillary information further includes acquisition information for use in acquiring said ancillary information from a second source different to said first source, and said acquisition information includes one of (a) a n Internet URL, (b) an Internet IP address, (c) an Email address, an d (d) a telephone/fax/videophone number. 1 1. Apparatus according to claim 1 , wherein said data for collating broadcast services by area i s formed in accordance with MPEG protocol and uses at least one data field selected from, (a) a table_id_extension field, (b) a carouselld field, and (c) a User defined private data field. 12. Apparatus according to claim 1, wherein said data collator collates said program guide information in response to a User selection input to provide a program guide selected from at least two available program guides associated with different areas. 13. Apparatus according to claim 1 , wherein said ancillary information includes information identifying an area applicable to said apparatus, and said apparatus is excluded from decoding broadcast services outside of said identified applicable area. 14. Apparatus according to claim 13, wherein said information identifying an applicable area is susceptible to being dynamically re-assigned to identify a different area, and said data collator adapts to decode broadcast services associated with said different area in response to said area change. 2 7 15. Apparatus for decoding packetized program information from a first source to provide a program guide, comprising: a processor for acquiring ancillary and program guide information in said packetized program information, said ancillary information including, (a) data for collating broadcast services by area, a nd (b) data for collating program guide information associated with said broadcast services by scheduled time of broadcast, and a data collator for collating program guide information in response to a User selection input to provide a program guide selected from at least two available program guides associated with different areas; and a display processor for processing said collated program guide information for display. 16. A storage medium containing digital data representing video information comprising: packetized program information representing a video program; and ancillary information including ancillary and program guide information in said packetized program information, said ancillary information including, (a) data for collating tables and objects associated with broadcast services, and (b) data for collating program guide information associated with said broadcast services, and information for associating said tables and objects with program guide information items associated with said broadcast services. 2 8 17. Apparatus according to claim 16, wherein said data for collating tables and objects includes a n program information map linking said objects with program guide information items associated with programs broadcast o n particular broadcast channels. 18. A method for forming program guide information to be suitable for processing in a decoder to provide different program guides displaying different service listings i n correspondingly different regions, comprising the steps of: forming ancillary information including, (a) data for collating broadcast services by area, an d (b) data for collating program guide information associated with said broadcast services by scheduled time of broadcast, and forming linking information associating programs with said broadcast services; and incorporating said ancillary information and said linking information into packetized data for output to a transmission channel. 19. A method according to claim 18, wherein said area comprises at least one of (a) a geographic area, (b) an area served by a satellite, terrestrial, or cable broadcaster, and (c) a market area of a service provider. 20. A method according to claim 18, wherein said data for collating broadcast services by are a comprises at least one of (a) a channel information m a p associating particular broadcast channels with particular areas , and (b) a service information map associating particular services with particular areas. 2 9 21. A method according to claim 18, wherein said data for collating broadcast services by are a associates particular broadcast channels with a region identification designation. 22. A method according to claim 21 , wherein said region identification designation comprises a t least one of (a) a zip code, (b) a telephone area code, and (c) another region identification code. 23. A method according to claim 18, including the s tep of forming said ancillary information into tables partitioned based on area and scheduled broadcast time. 24. A method according to claim 18, wherein said ancillary information includes an object associated with said program guide information. 25. A method according to claim 24, wherein said object comprises at least one of (a) a video segment, (b) an audio segment, (c) text, (d) an icon representing a user selectable item for display, (e) an HTML or SGML document (f) a menu of selectable items, (g) an image window for presentation within an encompassing image, and (h) an image window for initiating a multimedia function. 26. A method according to claim 18, including the s tep of forming ancillary information partitioned into tables and including data for collating objects and said tables, and including region identification designations for associating objects with regions that are different to table regions . 3 0 » 27. A method according to claim 18, including the step of forming said ancillary information to include information associating a particular area with at least o ne particular decoder for decoding said ancillary information. 28. A method according to claim 27, wherein said particular decoder is associated with said particular area using a unique decoder identification code. 29. A method according to claim 27, including the s tep of dynamically updating said information associating a particular area with at least one particular decoder to associate a different area with said particular decoder. 30. Apparatus according to claim 18, wherein said data for collating broadcast services - by area i s formed in accordance with MPEG protocol and uses at least one data field selected from, (a) a table_id_extension field, (b) a carouselld field, and (c) a User defined private data field. 3 1 31. A method for decoding packetized program information from a first source to provide a program guide, comprising the steps of: acquiring ancillary and program guide information i n said packetized program information, said ancillary information including, (a) data for collating broadcast services by area, and (b) data for collating program guide information associated with said broadcast services by scheduled time of broadcast, and collating said program guide information associated with said broadcast services using said ancillary information; and processing said collated program guide information for display. 32. A method for decoding packetized program information from a first source to provide a program guide, comprising the steps of: acquiring ancillary and program guide information i n said packetized program information, said ancillary information including, (a) data for collating broadcast services by area, and (b) data for collating program guide information associated with said broadcast services by scheduled time of broadcast, and collating program guide information in response to a User selection input to provide a program guide selected from a t least two available program guides associated with different areas; and processing said collated program guide information for display.

Inventors: HEREDIA EDWIN ARTURO, OZKAN MEHMET KEMAL, TENG CHIA-YUAN, HEREDIA, EDWIN, ARTURO, OZKAN, MEHMET, KEMAL, TENG, CHIA-YUAN
Applicants: HEREDIA EDWIN ARTURO, OZKAN MEHMET KEMAL, TENG CHIA YUAN, THOMSON CONSUMER ELECTRONICS, HEREDIA, EDWIN, ARTURO, OZKAN, MEHMET, KEMAL, TENG, CHIA-YUAN, THOMSON CONSUMER ELECTRONICS, INC.
Application year: 1999
Main classification: H04N7
IPC codes: H04H1, H04N5, H04N7