SYSTEM AND METHOD FOR DELIVERING AND RECEIVING LOCAL INFORMATION BROADCAST
BACKGROUND OF THE INVENTION
(1) Field of the Invention
The present invention relates to the field of information (such as video prograrnrning and schedule information) distribution and reception. In particular, the present invention relates to an apparatus and a method for distributing and receiving information broadcasts where the significance of the information depends upon geographic locations.
(2) Description of Related Art
Television, radio, and other audio and video distribution systems originally served geographically limited service areas. Both radio and television began as radio frequency broadcast media whose reception area was limited by the power of the transmitter. Later on community- antenna television (CATV) systems grew into cable television distribution systems. But again the geographical reception area was limited, in this case by the installed cable plant.
The business model of television and radio developed along similar lines, with the partitioning of the United States and other countries into geographically limited service areas. A two-tiered business model arose, with national broadcast networks (ABC, CBS, etc.) and national advertisers (national product manufacturers) on one level, and local broadcasters (broadcast network affiliates, independent stations) and local advertisers (retailers, local services) on the other level. This business model is mature and unlikely to change in the foreseeable future.
New technologies are changing the basic reality of radio and television broadcasting being limited to a single geographically limited
service area. National satellite broadcast services such as DirecTV™ and Dish Network™ may broadcast directly to viewers across an entire continent. These proprietary broadcast services distribute video and other information on digital packets which may be decoded and displayed on existing analog National Television Systems Committee (NTSC) receivers. In Europe, the digital video broadcasting (DVB) system allows for satellite, cable, or terrestrial broadcast of prograrnn ing.
In addition, the analog NTSC broadcast system is scheduled to be replaced following an overlapping time period by the digital Advanced Television Systems Committee (ATSC) broadcast system in the near future. Like the national satellite broadcasts, ATSC utilizes digital packets for distribution. Both terrestrial broadcast and cable distribution of ATSC broadcasts may overcome the limitations of geographically limited service areas. ATSC broadcasts may also be directly sent to consumers via satellite, thus immediately achieving continental distribution.
In all of these wide-area distribution systems the viewer will need to know program schedule information for both the national broadcast networks and his or her local broadcasters. These local broadcasters form what is called a reception area. A reception area includes all the local broadcasters in a geographical area. One example of a reception area is called a designated marketing area (DMA). Examples of DMAs include metropolitan San Diego or metropolitan Los Angeles. The division of the continent into non-overlapping reception areas supports the business model described above and protects the interests of local advertisers. Note that viewers living near the boundaries of reception areas may wish to view local broadcasts from more than one reception area, when permitted.
Details of the ATSC distribution of program schedule information may be found in "Program And System Information Protocol (PSIP) For Terrestrial Broadcast And Cable", ATSC Document A/65, 23 December
1997, which is hereafter incorporated by reference. An exemplary proprietary satellite broadcast system may use several methods for distributing program schedule information. At power-on, the receiver may rapidly download a database from an initialization load stream. Later on, during continuous viewing and when local data is separated into time slots, the receiver may only download updated information using one or more partial streams.
Since the wide-area distribution system should broadcast the program schedule information for all reception areas concurrently, the viewer's receiver should select the program schedule information for his or her reception areas of interest and discard program schedule information for other reception areas. Two methods have been used for this selection. Both methods make use of the packet identifier (PID), which is an integer value contained in each packet used to associate distinct packets into elementary streams. Elementary streams are collections of data packets intended to be grouped together, for example a collection of data packets for a single video program.
Both methods require that the receiver know the assignment of PIDs and other identifying codes. Typically one particular PID, for example PID 0, is assigned for system information. At power-on, the receiver may filter data packets containing PID 0. The packets thus selected will contain a table of data associating information with PID numbers. Once this initial program association table has been received, more extensive program mapping tables may be retrieved using the PIDs disclosed in the program association table. These tables contain the associations of programs, program schedule information, and other data types with PIDs and other identifying numbers. One of the following methods may then be employed.
One method for selecting the appropriate program schedule information is to associate a distinct PID with the packets containing program schedule information for each reception area. There will be a one-to-one correspondence between PIDs and reception areas. The viewer's receiver may then filter on the PIDs corresponding to the reception areas of interest. This method has the disadvantage of requiring a very large number of PIDs. The number of PIDs to be acquired at the same time may exceed the number of PID filters supported by the receiver.
The other method for selecting the appropriate program schedule information is to use a common PID for all packets containing program schedule information for any of the reception areas. A second identifier is used for the selection of the program schedule infoπnation of interest. Each reception area may be assigned a unique reception area network identifier (NID). The viewer may then filter first on the common PID and then filter on the NID's of interest.
This method has the disadvantage of not taking advantage of PID filtering to pre-select for NID filtering. In this case a receiver that does not have sufficient NID filters will require multiple passes through the data to acquire all of the desired networks. For example, when the receiver needs four networks but only has two network filters, the data will be passed through the filters twice. In some receivers network filtering may be implemented in software, and processor resource limitations may not be sufficient to perform multiple layers of network filtering in the allowed time.
Therefore the method used for selecting the appropriate program schedule information is at issue when designing wide-area video and audio distribution systems.
SUMMARY A system and method is disclosed for distributing program schedule information in a data packet broadcast system. The system utilizes a quantity of reception areas. Each reception area is assigned one of a quantity of packet identifiers (PIDs), where the PIDs for two reception areas are not equal when the two reception areas are neighboring. The system also utilizes a quantity of network identifiers (NIDs), with a unique NID being assigned to each reception area. The system envisions broadcasting selected elements of program schedule information to each reception area, where the elements of the program schedule information contain the PID and NID associated with the reception area or reception areas of interest.
BRIEF DESCRIPTION OF THE DRAWINGS
The features, aspects, and advantages of the present invention will become more fully apparent from the following detailed description, appended claims, and accompanying drawings in which:
Figure 1 A is a block diagram of a digital video broadcast system, according to one embodiment of the present invention;
Figure IB is a block diagram of an integrated receiver decoder (IRD), according to the Figure IA embodiment;
Figure 2 illustrates the downlink broadcast of Figure 1 A to various reception areas, according to one embodiment of the present invention;
Figure 3 illustrates the downlink broadcast of Figure 2 according to a first embodiment of the present invention;
Figure 4 illustrates the downlink broadcast of Figure 2 according to a second embodiment of the present invention; and
Figure 5 illustrates a flowchart of the collection of program schedule information, according to an embodiment of the present invention.
DETAILED DESCRIPTION
In the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, one having an ordinary skill in the art may be able to practice the invention without these specific details. In some instances, well-known circuits, structures, and techniques have not been shown in detail to not unnecessarily obscure the present invention.
In either the existing proprietary direct satellite system (DSS, which carries DirecTV™ prograrnn ing), the proprietary Dish Network™ system, the European digital video broadcasting (DVB) system, and the new Advanced Television Systems Committee (ATSC) satellite downlink broadcast there is the need to send program schedule information concerning various local broadcasting areas, called reception areas. A widespread geographical area such as the United States is divided up into reception areas. A regular grid may be chosen for illustration, but in actual use the boundaries of the reception areas may be highly irregular. Each reception area has been assigned a short numeric reception area network identifier (NID). Depending upon an integrated receiver decoder's (IRD) location, one or more reception areas may be of interest. For example, an IRD located well within the boundaries of a reception area usually will want to receive and display program and program schedule information for that reception area only. But a receiver located at or near the boundary of two or more reception areas may want to receive and display program and program schedule information for the several reception areas.
In each case, an IRD should extract program schedule information from the great number of packets received. Filtering based only upon NID number is very inefficient. It would be necessary to examine the contents of every packet received just to find the few of interest. Therefore, in the present invention the reception areas are assigned packet identification numbers (PIDs) in a useful manner. A small number of PIDs are assigned to all of the reception areas such that each reception area does not share a PID with any of the geographically neighboring reception areas. This assignment allows efficient PID filtering as the primary step in screening packets of interest. The subsequent NID filtering needs then only filter on a single NID in a given PID.
The process may take place in the processors of the IRD. After initialization, the reception areas of interest are selected under the control of the user of the IRD. Then a group of PID filters is initialized v thin the processors of the IRD. These PID filters pass data packets with PID numbers corresponding to the reception areas of interest. In various embodiments the number of PID numbers assigned to reception areas of local reception networks is kept small. The PID filters allow any packets containing the PID numbers of interest to pass through. These packets may contain information relevant to many other reception areas besides the reception areas of interest. Therefore a set of NID filters, one for each PID filter, further filter those packets that passed the PID filters. While the method of allocating PID numbers may require several PID filters be set, it prevents requiring more than one NID filter per PID filter. The method of aUocating PID numbers to reception areas by alternating a small number of PID numbers across the geometric pattern of the reception areas ensures that adjacent reception areas do not share a common PID number. Thus only a small number of filters, for example two levels, are required to separate the program and program schedule
information for the reception areas of interest from the incoming streams of packets.
Figure 1 A shows a block diagram of a digital video broadcast system utilizing a satellite system. In one embodiment of the present invention, the Figure IA system utilizes a proprietary satellite broadcast system such as DirecTV™ or Dish Network™ (DirecTV™ is a trademark of Hughes Electronics Corporation; Dish Network™ is a trademark of EchoStar Communications Corporation). In alternate embodiments the Figure IA system utilizes the ATSC standards for satellite broadcast. In still further embodiments, the present invention may be practiced in forms of terrestrial broadcasting including ATSC terrestrial radio frequency broadcasting.
In the Figure IA example, a satellite 70 is used to relay digital video broadcast signals from an uplink source to a downlink receiver. In the example shown, a source of program schedule information 50 and a source of program content 52 both may simultaneously uplink to satellite 70 via transmitting antenna 54. The uplink takes place along uplink path 72 extending from the transmitting antenna 54 to the satellite 70. The satellite retransmits the uplink digital video broadcast as a high-powered downlink signal to a large geographic area (not shown) which in one embodiment is the entire United States. An individual receiving antenna 64 may receive this dov link signal across an individual downlink path 74.
The signal received at the individual receiving antenna 64 is amplified, demodulated, and digitally decoded in an integrated receiver decoder (IRD) 60. The IRD 60 produces analog video signals compatible with a monitor/home theater 62. In one embodiment these analog video signals are National Television Systems Committee (NTSC) compliant; in alternate embodiments the analog video signals are ATSC compliant. The
IRD 60 selects packets of interest from the large number of packets presented at the individual receiving antenna 64. These packets of interest may include both program content for viewing and also program schedule information.
Figure IB illustrates a block diagram of one embodiment of an IRD 60 of Figure IA. In alternate embodiments, the functions of IRD 60 may be performed by separate units.
The broadcast signals enter integrated receiver decoder 60 in a front end 20. Front end 20 is connected by cabling or other interconnections to the individual receiving antenna 64. Within front end 20, tuner 22 and demodulator (demod) 24 take the incoming modulated radio frequency carrier and separate out a baseband digital packetized signal. Once in packet form, error correction 26 corrects many simple errors in each packet by various data correction algorithms. Front end 20 is under the control of central processing unit (CPU) 30 and transport integrated circuit (IC) 28.
CPU 30 controls the components of integrated receiver decoder 60, and executes software stored in read only memory (ROM) 32. CPU 30 also has access to static random access memory (SRAM) 34 and dynamic random access memory (DRAM) 35 for local storage requirements. Among other functions, CPU 30 may set the incoming frequency for tuner 22 and configure transport IC 28 to send data to the appropriate recipients.
Front end 20 sends encrypted and compressed data packets to transport IC 28. Transport IC 28 may be specialized hardware circuits or may be several general purpose processors with associated software. In one embodiment, transport IC 28 may store various data headers, such as PIDs and NIDs, in registers for use in directing the data to an appropriate recipient. These registers may be included in a DRAM buffer 36. When transport IC 28 directs data based upon a PID, the circuitry involved is
called a PID filter. When transport IC 28 directs data based upon a NID, the circuitry involved is called a NID filter. In differing embodiments, a transport IC may perform both PID and NID filtering, or a transport IC may only perform PID filtering and not NID filtering.
Conditional access module 38 supports the decryption of the incoming digital data packets whenever conditional access module 38 determines that the user of integrated receiver decoder 60 has the authority to access the program content or program schedule information contained within the digital data packets.
Depending upon the configuration of transport IC 28, data directed by its filters may be routed to the DRAM buffer 36 for temporary storage, to video processor 40, or audio processor 42. In one embodiment, program schedule information may be stored in DRAM buffer 36 during the period when integrated receiver decoder 60 is powered on. Portions of the program content data may be sent to video processor 40. Video processor 40 may decompress the incoming compressed video data, in moving pictures experts group version 2 (MPEG-2) format, into uncompressed analog video in composite video, super- video (S-video), or component video formats. Portions of the program content may also be sent to audio processor 42. Audio processor 42 may decompress the incoming compressed audio data in either MPEG-2 or Dolby™ digital (audio compression version 3, AC-3) formats.
Figure 2 illustrates the downlink broadcast of Figure 1 A to various reception areas, according to one embodiment of the present invention. The Figure 2 example shows a widespread geographical area, such as the United States, divided up into reception areas. The regular grid was chosen for the purpose of illustration, but in actual use the boundaries of the reception areas are usually highly irregular. Each reception areas usually has a descriptive title such as Chico-Redding/ California, or
Charleston/South Carolina. These reception area titles would require excessively many bits if transmitted in digital data packets, so therefore each reception area has been assigned a short numeric reception area NID. In the Figure 2 example a total of 63 NIDs are shown, starting at 100 and ending at 162. In actually practice, over 200 NID's are required for the United States, with California alone requiring 11 NIDs.
Depending upon a receiver's location, one or more reception areas may be of interest. For example, a receiver located at location 222, well within the boundaries of the reception area having NID 117, usually will want to receive and display program and program schedule information for the reception area having NID 117 only. But a receiver located at location 212, at or near the boundary of the reception areas having NID 115 and NID 122, may want to receive and display program and program schedule information for the reception areas with NID 115 and NID 122. In the Figure 2 example, because of the regular grid, it is possible to have a location such as location 232 at the corner of four reception areas. (In general the situation of location 232 would be highly unlikely because the generally irregular boundaries of reception areas would not possess a point where four reception areas meet.) A receiver located at location 232, at or near the corner of the reception areas having NIDs 112, 113, 119, and 120 may need to receive and display program and program schedule inforπiation for the reception areas with NIDs 112, 113, 119, and 120.
In each case, an IRD 60 located at locations 212, 222, or 232 needs to extract program schedule information from the great number of packets received. Filtering based only upon NID number is very inefficient. It would be necessary to examine the contents of every packet received just to find the few of interest.
Therefore, in the present invention the reception areas are assigned PIDs in a useful manner. This assignment allows efficient PID filtering as
the primary step in screening packets of interest. PIDs are assigned to the reception areas so that each reception area has a PID that is not shared with any geographically neighboring reception areas. Here the expression "neighboring reception areas" includes not only reception areas that share a common border segment but also includes reception areas who share a single point at a border. (In the Figure 2 example, the reception areas with NIDs 112 and 120 are neighboring reception areas.) In alternate embodiments, the definition of neighboring reception areas may be expanded to include reception areas beyond those that share a common border segment or point at a border. For example, the definition may also include pairs or groups of reception areas, one or more of which share a common segment or point at a border.
The PID assignment may be compared with the coloring of regions of a map. It is a well-known mathematical theorem that any arbitrary flat map may be colored with no more than 4 colors so that no two adjacent regions will have the same color. However, this allows the same color across the corner vertices of the regions, such as the reception areas adjoining location 232. The assignment of PIDs to reception areas may therefore require more than just 4 PIDs to ensure that neighboring reception areas do not share a common PID.
When PIDs are assigned to reception areas in the above manner, the NID filtering is simplified. Rather than requiring multiple NID filters per corresponding PID filter, a single NID filter may be used per PID filter. This is because reception areas of interest will be neighboring reception areas, and the neighboring reception areas do not share a common PID.
Figure 3 illustrates the downlink broadcast of Figure 2 according to a first embodiment of the present invention. A limited number of PIDs are used, in this case only 4, to cover all the reception areas of the example. Each reception area is assigned one of the 4 PIDs, and shares the PID
with non-adjacent reception areas. The use of 4 PIDs is for illustration only, and any other small number of PIDs could be chosen.
An IRD at location 320, in the middle of the reception area with NID 117, may set a PID filter to allow packets with PID 2 through. These packets could then subsequently be filtered for NID 117. In this manner the filtering for NID 117 needs only be performed on a reduced set of packets with PID 2. Location 320 is exemplary of the average location within the map of reception areas, in that most locations will be sufficiently far from the borders of the reception area that only those programs and program schedule information for the single reception area need be of interest. Note that on average only approximately a quarter of the packets with PIDs corresponding to reception area related material need further processing for NID number.
An IRD at location 310, near the border of the reception areas with NID 115 and NID 122, is in a less frequently occurring location. The IRD at location 310 may require the programs and program schedule information for both reception areas. Therefore the IRD at location 310 may set a pair of PID filters to allow the passing of packets with PID 2 and PID 4. The packets with PID 2 are then filtered for NID 115, and the packets with PID 4 are then filtered for NID 122. Note that in this less frequently occurring situation, on average only half of the packets with PIDs corresponding to reception area related material need further processing for NID number.
On rare occasion, an IRD may be at a location such as location 330. In many possible geographical arrangements of reception areas, a location, such as location 330, at the juncture of four reception areas does not occur. The regular grid of Figure 3 is unusual in this respect in that juncture of four reception areas occurs with regularity. In the case of an IRD at location 330, the IRD may require the programs and program
schedule information of reception areas with NIDs 112, 113, 119, and 120. For this reason IRD at location 330 may set PID filters for those packets with all four PIDs corresponding to reception area related material, specifically PIDs 1, 2, 3, and 4. After these packets are selected by the PID filters, they are then filtered for the NIDs. Specifically those packets from PID filter on PID 1 are filtered for NID 120, those from PID filter on PID 2 are filtered for NID 119, those from PID filter on PID 3 are filtered for NID 113, and those from PID filter on PID 4 are filtered for NID 112.
Figure 4 illustrates the downlink broadcast of Figure 2 according to a second embodiment of the present invention. In comparison with the Figure 3 embodiment, a different limited number of PIDs are used, in this case 9, to cover all the reception areas of the example. Each reception area is assigned one of the 9 PIDs, and shares the PID with non-adjacent reception areas. Again, the selection of 9 PIDs is for illustration only.
An IRD at location 420, in the middle of the reception area with NID 117, may set a PID filter to allow packets with PID 7 through. These packets could then subsequently be filtered for NID 117. In this manner the filtering for NID 117 needs only be performed on a reduced set of packets with PID 7. In the Figure 4 embodiment location 420 is exemplary of the average location within the map of reception areas. Note that on average only one ninth of the packets with PIDs corresponding to reception area related material need further processing for NID number. By using more PIDs that were used in the Figure 3 embodiment, the Figure 4 embodiment advantageously reduces the processing requirements for further filtering on NIDs.
An IRD at location 410, near the border of the reception areas with NID 115 and NID 122, is in a less frequently occurring location. The IRD at location 410 may require the programs and program schedule
information for both reception areas. Therefore the IRD at location 410 may set a pair of PID filters to allow the passing of packets with PID 2 and PID 8. The packets with PID 2 are then filtered for NID 122, and the packets with PID 8 are then filtered for NID 115. In this case on average only two-ninths of the packets with PIDs corresponding to reception area related material need further processing for NID number.
Again, on rare occasion an IRD may be at a location such as location 430. As was true in the Figure 3 embodiment, location 430 represents a worst-case situation. The IRD at location 430 may require the programs and program schedule information of reception areas with NIDs 112, 113, 119, and 120. For this reason IRD at location 430 may set PID filters for those packets with PIDs 4, 6, 7, and 9. After these packets are selected by the PID filters, they are then filtered for the NIDs. Specifically those packets from PID filter on PID 7 are filtered for NID 120, those from PID filter on PID 9 are filtered for NID 119, those from PID filter on PID 4 are filtered for NID 113, and those from PID filter on PID 6 are filtered for NID 112. Note that in this worst-case situation, the Figure 4 embodiment requires on average four-ninths of the packets with PIDs corresponding to reception area related material need further processing for NID number.
Figure 5 illustrates a flowchart of the collection of program schedule information, according to the present invention. The Figure 5 process preferably takes place in the processors of the IRD 60. After initialization, in step 510 the reception areas of interest are selected under the control of the user of IRD 60. As shown above in the discussions of Figure 3 and Figure 4, there may be 1, 2, or more reception areas of interest depending upon the user.
Then in step 520 a group of PID filters is initialized within the processors of the IRD 60. These PID filters pass data packets with PID
numbers corresponding to the reception areas of interest. In various embodiments the number of PID numbers assigned to reception areas of local reception areas is kept small. This advantageously limits the number of PID filters required.
In step 530 the PID filters initialized in step 520 allow to pass through any packets containing the PID numbers of interest. These packets may contain information relevant to many other reception areas besides the reception areas of interest. Therefore in step 540 a set of NID filters, one for each PID filter initialized in step 520, further filter those packets who passed the PID filters in step 530. It is noteworthy that the method of allocating PID numbers to reception areas as shown in exemplary form in Figures 3 and 4 ensures that only one NID filter is required per PID filter. While the method of allocating PID numbers of Figures 3 and 4 may require several PID filters be set, it prevents requiring more than one NID filter per PID filter. The method of allocating PID numbers to reception areas by alternating a small number of PID numbers across the geometric pattern of the reception areas ensures that adjacent reception areas do not share a common PID number. Thus only two levels of filters are required to separate the program and program schedule inforrnation for the reception areas of interest from the incoming streams of packets.
When packets of interest are selected by the filters of steps 530 and 540, then in step 550 the program schedule inforrnation data of those packets may be stored by the processors of IRD 60 into memory within IRD 60. For a short period of time after power-on, IRD 60 will collect initialization stream inforrnation in order to create an initial program schedule information database. Then later on IRD 60 will collect information from various partial streams in order to update the program schedule information database.
After storing the program schedule information in step 550, the IRD 60 will then continue to collect and filter packets as they arrive during the time IRD 60 remains powered on.
Note that in an alternate embodiment, which may be used in a proprietary satellite broadcast system, the PID filters may change during the operation of IRD 60. When IRD 60 is first powered on, IRD 60 may download information from a initialization stream. Subsequently, IRD 60 may change PID filters to allow downloading updated inforrnation from one or several partial streams.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will however be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. Therefore, the scope of the invention should be limited only by the appended claims.