Patent ID: 7065097

Claim:
A program information transmission apparatus that repeatedly transmits program information with a predetermined cycle, comprising: a storing unit operable to store information showing a maximum number for each transmission period that is a period within the cycle and has a length of a unit time shorter than the cycle, each maximum number for one transmission period being a number of packets that should be transmitted in the transmission period; a packet generating unit operable to generate a plurality of packets of a fixed length from program information sets, each of which includes a part of the program information; a holding unit operable to hold the plurality of packets so that packets belonging to different program information sets are held in different queues; a fetching unit operable to fetch the plurality of packets from the queues in a predetermined order so that a number of packets fetched in each transmission period does not exceed the maximum number for the transmission period; a transmission unit operable to sequentially transmit each fetched packet; a calculation unit operable to recalculate each maximum number, each time at least one program information set is updated or is newly registered, wherein the calculation unit includes: a first calculation unit operable to divide a data amount of each program information set by a number of transmission periods within the cycle and set a division result obtained for each program information set as an average number for the program information set without rounding up or discarding a fractional portion of the division result, each average number for one program information set being a number of packets of the program information set that should be transmitted per unit time; a second calculation unit operable to calculate, for each program information set, a cumulative number of packets of the program information set that should be transmitted by an end of an “n”th transmission period by multiplying the average number for the program information set by “n”; a third calculation unit operable to total the cumulative numbers calculated by the second calculation unit; and a fourth calculation unit operable to calculate the maximum number for the “n”th transmission period from the total calculated by the third calculation unit, wherein the information in the storing unit is overwritten with the maximum number calculated by the fourth calculation unit.