Embodiments of the invention will now be described with reference to the accompanying drawings, in which:
In this example, the transport stream 7 is an MPEG-2 transport stream. The structure of a transport stream data packet 8 is described in “A Guide to MPEG Fundamentals and Protocol Analysis (Including DVB and ATSC)”, Textronix, Inc., USA 1997, and is shown in
The transport stream 7 is broadcast to one or more terminals 13. In the case of a satellite network, the transport stream 7 may be broadcast to terminals falling under the satellite footprint. In a terrestrial system, the transport stream 7 is broadcast to terminals 13 that are located within areas of coverage of one or more network transmitters 14. Each terminal 13 is under the control of a user who is able to select a particular service or content from those transmitted in the transport stream 7.
A suitable terminal 13, which, in this example is a mobile handheld telecommunications device, is shown in detail in
When the terminal 13 is first switched on, the controller 16 begins compiling a mapping table comprising information such as a Packet Identifier (PID), burst length and burst interval associated with various services transmitted in one or more transport streams 7. In conventional devices, this information would be provided either in the headers of the encapsulated data packets or in a session announcement received separately from the transport stream 7. However, in accordance with the invention, this information is derived by the terminal 13, having been conveyed implicitly by the transport stream 7.
A procedure for deriving this information will now be described with reference to
The receiver 19 is tuned to the baseband of the transport stream 7 at time t1. A first burst of data packets with a first PID B1 is received, beginning at time t2. As there is no information in the mapping table relating to PID B1, the receiver 19 remains switched on. At time t3, the PID of the data packets in the transport stream 7 changes from B1 to another PID (not shown). The receiver 19 detects the change in the PID of the received data and the controller 16 stores a value for the burst length of:
tB1=(t3−t2),
as part of an entry in the mapping table relating to PID B1.
The start of the burst may be detected from a field in the header 9, as shown in
The controller 16 may have access to information regarding the time delay between the ‘real’ start time of the burst, i.e. the time at which reception of the burst begins at the terminal 13, and the instant of time when the detection of a particular field, e.g. PID field 11, takes place. This information may be used to correct the start time t2 of the burst. Furthermore, the start time t2 may be corrected to take into account possible jitter by introducing a suitable correction term. This correction term may be of the order of 1 to 5 ms. The jitter correction term may be predetermined or it may be determined by the controller 16 based on received data. In a similar way, the end time of the burst t3 may be corrected to take jitter into account by introducing a second correction term of substantially the same size as the jitter correction term and obtained in a similar way.
As the user has not instructed the terminal to receive the first service, when the first of the next burst of data packets with PID B1 is received at time t4, the receiver 19 is switched off for a first time period of tB1 in order to conserve battery power. At this point, a value of:
tl1=(t4−t2),
for the interval between bursts for PID B1 is stored in the mapping table. Alternatively, the interval may be defined as the time from the end of the burst to the end of the next burst with the same PID, for example, as:
tl1 =(t5−t3).
When time period tB1, expires at time5, the receiver 19 is switched on again and continues receiving data.
In this example, a burst of data packets with a PID B2 is received at a time t6. The receiver 19 detects that the PID has changed and, as there is no information relating to PID B2 in the mapping table, remains switched on. When the PID changes at time t7, a value for burst length of:
tB2=(t7−t6),
is stored in the mapping table in an entry relating to PID B2 and the receiver 19 continues receiving the transport stream 7. The start time t6 of the burst with the PID B2 may be corrected for jitter as explained above in relation to start time t2.
As the mapping table now holds the burst length and burst interval for PID B1, the controller 16 will use this information to switch off the receiver 19 during subsequent bursts with this PID, so that no data is received during time periods t8 to t9 and t10 to t11.
As the user has not requested the second service, when the first of the data packets in a second burst with PID B2 is received at t12, the controller 16 ensures that the receiver 19 is switched off for a time period of length tB2, ending at time t13, and stores a burst interval value:
t12=(t12−t6),
in the mapping table for use in receiving subsequent bursts with PID B2.
As this procedure continues, a mapping table is compiled containing the information necessary for the controller 16 to maintain and suspend reception of the transport stream 7. The reception of unwanted data is minimised, thereby reducing the power consumption of the receiver 19. A separate mapping table is compiled for each transport stream 7 received by the terminal 13.
In the above example, the mapping table is compiled in response to the mobile terminal 13 being switched on by a user. However, a terminal 13 may instead be configured so that a mapping table is compiled in response to an instruction from the user for the terminal 13 to receive a service. Such an instruction may result in the terminal 13 sending a request for the service to a relevant service provider. However, in the following example, no such request is sent and the instruction to receive the service is acted on locally, i.e. by the terminal 13 only.
If the user instructs the terminal 13 to receive the second service, the mapping table is compiled as described above, with the exception that the controller 16 ensures that the receiver 19 is switched on at the appropriate times for receiving data packets with PID B2. At time t12, the controller 16 calculates the start time ts of the next data burst associated with PID B2 using the derived burst length tB2 and burst interval t12, and ensures that the receiver 19 is switched on at time ts=t12+t12for a period equal to the burst length tB2. The controller 16 then repeats this process, calculating subsequent start times tsn=t12+n t12 (n≧2) and operating the receiver 19 accordingly, in order to receive subsequent bursts of data packets with PID B2.
In either of the examples discussed above, the derivation of the burst interval and burst lengths may be repeated in order to reduce errors caused by lost data packets. The compilation of the mapping table may also be repeated at regular intervals in order to allow for changes in the configuration of the transport stream 7.
The transport stream 7 may further include update notifications using data packets with a specified PID 11 that are scheduled with a constant interval and length. The update notifications are used to indicate whether the configuration of the transport stream 7 is changed. Where a change has been made, the controller 16 may respond to the reception of the update notification by recompiling the mapping table.
Where the mapping table is compiled in response to the terminal 13 being switched on, an instruction from a user to receive a particular service is handled as follows. With reference to
The controller 16 then accesses its mapping tables and determines whether they contain an entry corresponding to that service (step s3). If so, the controller 16 reads the entry associated with that service from its mapping tables in order to extract the burst length and interval (step s4). A start time ts for the next burst is calculated (step s5), based on the current time, burst length and interval. The receiver 19 is then tuned to the appropriate transport stream 7 at time ts (step s6) and bursts of data packets with the relevant PID are received and are filtered using the relevant address or address mapping. The controller 16 uses the burst length and interval to suspend reception by switching off the receiver 19 to avoid receiving and processing unwanted data packets.
If transmission of the content or service has not been completed (step s7), the process is repeated by calculating the start time ts of the next burst and tuning the receiver 19 to the transport stream 7 at the appropriate time (steps s5, s6). When the transmission has been completed, the PID of data packets received at the next calculated start time ts will not match that given in the mapping table. The change in PID will indicate completion of the transmission of the required content (step s7) and the receiver 19 is switched off.
If the mapping tables do not contain a corresponding entry, an error may be reported to the user via the user interface 18 (step s8). Alternatively, the mapping table compilation process described above may be repeated in order to derive the burst length and burst interval data associated with the requested service.
The process is then complete (step s9).
In a second embodiment of the invention, address information is provided within the data packets of transport stream 7, removing the need for an external source of address information. With reference to
Again referring to
In this embodiment, the terminal 13 responds to an instruction to receive for a particular service as follows. With reference to
and determines whether they contain an entry corresponding to that service (step s12). If so, the controller 16 reads the address or address mapping, burst length and interval from that entry (step s13). A start time ts for receiving the data is then calculated (step s14), based on the current time, burst length and interval. The receiver 19 is then tuned to the appropriate transport stream 7 at time ts (step s15) and a burst of data packets with the relevant PID is received and filtered using the relevant address or address mapping. The controller 16 uses the burst length and interval to suspend reception by switching off the receiver 19 to avoid receiving and processing unwanted data packets.
If the data transmission has not yet been completed (step s16), the start time ts for the next burst is calculated and receiver 19 is tuned to the transport stream 7 to selectively receive the next burst (steps s14, s15). When the data transmission has been completed (step s16), as indicated by the change in PID 11 of the received data packets, the receiver 19 is switched off.
If the mapping tables do not contain a corresponding entry, an error may be reported to the user via the user interface 18 (step s15).
The process is then complete (step s16).
The embodiments described above are examples showing how the invention may be implemented. For example, instead of being switched between on and off states, selective data reception may be implemented by switching the receiver between high and low power operating modes.
The invention is not limited to mobile terminals 13 and other forms of receiving device may be suitable for implementing the invention.
With the example given, the receiver may be any one with DVB, ISDB or ATSC is baseband capability, such as a suitably equipped laptop computer. Where a network other than DVB-T is used, the receiver may take any suitable form, such as a personal digital assistant (PDA) or a portable sound reproduction device, such as a personal stereo. Alternatively, the receiver could be a wireless local area network (WLAN) module.
| Number | Date | Country | Kind |
|---|---|---|---|
| 0315114.9 | Jun 2003 | GB | national |
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/IB04/51030 | 6/28/2004 | WO | 00 | 2/22/2007 |