Patent ID: 7058965

Claim:
An apparatus for forming a multiplexed transport stream to deliver an interactive program guide (IPG), the apparatus comprising: an encoder and packetizer adapted (i) to receive a plurality of video inputs, an audio input, and a plurality of data inputs, and (ii) to encode and packetize the inputs to generate a plurality of video packet streams, an audio packet stream, and a plurality of data packet streams collectively forming said IPG; a multiplexer and assigner adapted (i) to receive the plurality of video packet streams, the audio packet stream, and the plurality of data packet streams, (ii) to assign program identifiers (PIDs) to said packet streams of said IPG, and (iii) to multiplex said packet streams to form the transport stream; a program mapping table for storing (i) PID assignment of video, audio, and data PIDs associated with a timeslot having a viewership level greater than a predetermined threshold, (ii) PID assignment of video and audio programming associated with a predetermined time period comprising future viewship time schedules, and (iii) PID assignment of data PIDs associated with said video and audio programming associated with said predetermined time period, said video and audio PIDs associated with said future viewership time schedules being mapped with data PIDs associated with said future viewership time schedules, said mapping being based on periodicities of a timeslot in a day, a particular IPG page, and a particular day associated with said future viewership time schedules, and popularly viewed video PIDs being distributed evenly among data PIDs to provide load balancing; means for identifying a largest prime number that is less than or equal to a number of data PIDs associated with said future viewership time schedules; and means for assigning a data PID to each video PID by performing a Modulo calculation of x Mod y=z, where x equals a video PID value, y equals said largest prime number, and z equals a remainder, and said remainder is assigned to said data PID.