The present invention relates to a method for controlling a receiver system and to a receiver system, in particular for wireless IP (“Internet Protocol”) datacast networks, the receiver system comprising a receiver component with an antenna, and a host component with a player unit having a buffer.
The invention is in particular applicable for digital video broadcasting for handheld appliances (in the following denoted as DVB-H). DVB-H is a standard for bringing digital television content to mobile handheld devices. It is based on the standard for digital video broadcasting for terrestrial transmission (in the following denoted as DVB-T) and the IP datacasting mode thereof. The benefit for mobile devices comes from the introduction of time slicing that allows a receiver only to listen into the DVB-T stream for the data that are of interest to it. Time slicing is enabled by intelligently grouping MPEG (“Moving Picture Experts Group”) transport stream packets. The MPEG transport packet stream is the interface to the physical layer. In DVB-H, packets that belong to a certain IP data stream are grouped consecutively to form bursts. Time slicing information is included in every burst to notify the receiver about the relative time from the current burst to the transmission of the next burst. The receiver then can set an appropriate timer and switch off the receiver between bursts thereby reducing its on-time by more than 90% and saving a great deal of power consumption. Alternatively, the receiver can use this time interval to scan different channels to enable a seamless handover to network cells offering a better signal strength, in particular during movements of the receiver.
One of the key features of a digital TV broadcast system for mobile devices are the provisions for hand-over to allow for disrupted services when on the move. The DVB-H standard allows for so called synchronous frequency networks (also denoted as SFN). A synchronous frequency network synchronously broadcasts the same content from different transmitters on the same frequency. At the receiver, signals received from multiple sides are seen as multipath signals and are accommodated for by the built-in equalizer. A synchronous frequency network may be advantageous for operators that have limited spectrum, e.g., a license to operate at just one channel, i.e. frequency. The first drawback, however, is that receivers cannot cope well with Doppler when the signal has been subject to heavy multipath as it appears in synchronous frequency networks. The second drawback is that operators cannot vary the content, as it may be desired for offering location-dependent services. Another possibility of providing undisrupted handover is to phase-shift the transport streams provided to different transmitters operating at different frequencies if such are available to one operator. In phase shifting, bursts that contain a specific IP flow are slightly shifted in time between adjacent frequencies.
A difficulty in receiving mobile digital TV is to recover clocks. In a simple bi-directional connection, where pre-recorded content resides on a server, a player that possesses its own clock can control the server playing speed for an audio/video stream (denoted as A/V stream). However, when it comes to broadcasting the receiver cannot influence the play speed of the transmitter anymore, as this would affect other listening receivers. Therefore, the receiver and the corresponding source decoder must somehow recover the clock of the source encoder in order to prevent the player's internal buffers from running empty when the source decoder clock is too fast, or from overflowing when the source decoder clock is too slow. The adjustment of the source decoder clock is typically done implicitly by interpolating or decimating the A/V stream at the source decoder side. Noting that the clock difference between source encoder and decoder vary by a few ten parts per million (ppm) or at most by a few hundred ppm, adjustment is typically done in its simplest form by every-so-often doubling or dropping a frame.
Specific transmissions protocols and interface standards such as MPEG-TS or IEEE 1394 ensures quality of service for multimedia content. Those standards have specific requirements on latencies and jitter, i.e. variations on transfer delay, of the packets, and ensure that the arrival time of the packets is related to some timestamp information inside. In the HiperLAN/2 home extension optimized for A/V content delivery standard, a hardwired signal was introduced in order to deliver timing information to an A/V source decoder. With those mechanisms, an A/V source decoder can easily recover the clock rate of the transmitter.
For simple IP based transmission where latencies cannot be ensured, the only means for an A/V source decoder to recover the clock rate is to buffer some incoming packets to accommodate the jitter and to monitor the buffer level to adjust its internal clocks. This mechanism is similar to a delay lock loop.
The main disadvantages of bursting are the discontinuous data transmission and the latencies introduced by such a system, especially in the context of fast channel switching also referred to as zapping and in handover situations between two or more network cells. The burst behaviour of the incoming packets makes it extremely difficult to implement an accurate clock recovery mechanism at the receiver side. With burst periods in the scope of seconds, as used in DVB-H, a clock recovery algorithm comes at the expense of a larger buffer and/or at the expense of stability meaning a large variation of the play speed up to a point, where those variations can be notified by the viewer/listener.
The larger the buffer the higher the overall latency is which is especially undesirable for channel switching. However, the receive buffer in the player needs to be sufficiently large to buffer an entire burst. An additional safety margin needs to be kept to prevent the buffer from running empty, which would result in a pause in the audio and/or video contents. Under normal circumstances this has to be avoided.
For fast channel switching, it is desirable that the player starts playing as soon as the burst has been received. For this purpose, the player has to find a synchronization point in the A/V multiplex, typically a so-called I-frame. However, if the player starts too early, there is a risk that the buffer is empty before the next burst is received.
For MPEG transport stream phase shifting based handovers as discussed above, the buffer needs to be enlarged to additionally accommodate MPEG transport stream phase shifts. Contrarily, for fast channel switching it is desirable to dimension the buffer as small as possible, since each filling of the buffer adds to the overall delay from pressing a button to showing the actual content. A large delay reduces the overall system performance from a user's point of view.
It is thus an object of the invention to specify a method for controlling a receiver system and an appropriate receiver system, by which improved clock recovery is possible.
This problem is solved by a method comprising the attributes given in claim 1 and by a receiver system comprising the attributes given in claim 11.
Advantageous embodiments are given in the dependent claims.
According to the invention, the method comprises the steps of: within said receiver component, detecting a time of a burst packet coming in via said antenna; communicating information about said detection from said receiver component to said host component; transferring data of said burst packet from said receiver component to said host component via a data interconnection; and within said host component, adjusting a playing speed of said player unit according to said information.
Receiver components typically comprise a highly accurate facility for detecting the beginning of an incoming burst due to the need to synchronize with the received signal and to enable time slicing. The invention utilizes this facility for accurately recovering the clock rate of the source encoder by transmitting information about the incoming burst packet to the host component. The host component, in particular the source decoder, is thereby informed about the arrival time of a new burst packet. This way, the invention enables clock recovery in a similar quality as known from transmission protocols that have built-in quality of service features. Thus, latencies in transferring the data and possible jitters can be counterbalanced by adjusting the playing speed of the data for a smooth reproduction of the data without buffer overflows or underruns. The invention substantially helps to optimize the system behaviour with respect to latencies in the system and therefore has a direct impact on perceived performance of the system. Besides, the invention is easy to implement.
In a favourable embodiment of the invention said information comprises an indicator signal that is communicated to said host component via a signal line, indicating said detection. This enables a high accuracy in recovering clocks, because the host component is provided promptly with the information about the arrival of a new burst packet at the receiver component, by-passing the relatively slow data interconnection. Hence, the period of time needed for transferring the data to the host component can be accurately measured by the time difference between the occurrence of the indicator signal and the arrival of the corresponding data at the host component. This measurement can be performed within the host component in order to accurately recover the source encoder clock and to adjust the playing speed of the player unit.
Preferably, the signal line is separate from the data interconnection. In particular, it may be connected to an exclusive or shared interrupt line of the host component. Then, the host component can react to the indicator signal without delay, in particular performing an interrupt service routine.
In an advanced embodiment, after receiving said indicator signal within the host component, an error value is determined from a difference between a current buffer level and a target buffer level, and said playing speed is adjusted according to said error value. This way, a conventional delay lock loop can be realized, which is activated not until the subsequent burst packet has already arrived.
Advantageously, said information comprises a first marker that is inserted into said data at the beginning of said data, wherein this part of said information is communicated to said host component by said transferring of said data via said data interconnection. Hence, the beginning of a burst packet can be identified faster within the data. So the clock recovery can be more accurate. At least a part of said first marker may be a length of said data. At least a part of the information communicated to the host component may be a second marker that is inserted into the data at its end. Hence, the end of a burst packet can be identified faster within the data.
In a preferred embodiment, a processing latency is determined from a difference between a time of receiving said first marker and a time of receiving said indicator signal, and said playing speed is adjusted according to said processing latency. This enables a smooth playing of the A/V data.
Other embodiments are enabled if a clock of said host component is synchronized with a clock of said receiver component, or with a clock source common to both the receiver component and the host component.
In such an embodiment a separate indicator signal can be omitted if the first marker comprises a timestamp representing a time of said detection. However, it is also possible to use both an additional signal line and timestamped markers in combination. Under the precondition of directly or indirectly synchronized receiver and host components, this embodiment allows a high accuracy in recovering clocks.
Preferably, a processing latency is determined from a difference between a current time and said timestamp, and said playing speed is adjusted according to said processing latency. This is a simple way to determine the processing latency and to adjust playing speed without the need for an indicator signal.
In further embodiments for phase shift networks, the playing speed is preferably adjusted considering a time shift between corresponding burst packets of different channels in case of a handover situation.
In another embodiment for phase shift networks, the player unit is started before a target minimum buffer is prepared, and the playing speed is reduced before performing a handover.
While protecting the A/V buffer from running empty, the invention helps system designers on the host/application processor to minimize the latencies at the receiver system.
Specific embodiments of the present invention are described in further detail by way of example with reference to the accompanying drawings, in which:
The most typical partitioning of a DVB-H receiver system 1 is shown schematically in
The main principle of time slicing is shown in
According to the invention, the receiver component 2 has built in a precise timing detector 11 to detect the beginning of a received burst. Typically, this kind of timing information is available somewhere inside the receiver component 2 due to the need to synchronize with the received signal and to enable time slicing, i.e. switch off the receiver component 2 while unneeded data are transmitted. It can thus be used for the benefit of the invention.
In the shown receiver system 1, clock recovery is facilitated by means of a hard-wired indicator signal 12 indicating the detection of the beginning of a burst. For each burst that is detected, either immediately when it arrives at the antenna 13 or with a fixed latency after it has arrived at the antenna 13, the receiver component 2 sets the indicator signal 12, e.g., from a logical low value to a high value. This low-high edge triggers the host component 5, e.g., by a means of an interrupt and a corresponding interrupt service routine, immediately to acquire the current buffer level. A conventional delay lock loop can then be used to control the playing speed of the A/V player unit 8: The acquired buffer level is compared to a predefined target value by calculating the difference between the buffer level and the target value. The calculated difference is referred to as an error signal. If the value is larger than zero, the player unit 8 is told to reduce its playing speed, since the buffer level is larger than the target value. If the error signal is negative, the player unit 8 is told to increase its playing speed. In order to reduce jitter, the error signal can be lowpass filtered. Furthermore, the absolute value of the lowpass filtered error signal can be determined in such a way that it expresses the amount about which the playing speed needs to be adjusted. Additional means can be applied to limit the error signal or to control the playing speed variations to prevent them from becoming audible or visible.
The timing relationships during such a procedure are shown in
The procedure as described above can also be used for networks that provide means for MPEG transport stream phase shift handover, to ensure that always enough data are present in the A/V buffer. In this case, the target buffer level T needs to be set to a value that ensures a lowest buffer level L large enough to accommodate the phase shift that can occur during handover. This prevents the A/V buffer 10 from running empty when a burst is received later after the handover. When a burst from a different frequency is received later (earlier) automatically the buffer 10 is built up to the target buffer level T again by reducing (increasing) the playing speed of the player unit 8.
A specific combination of buffer control is able to optimize for both, low latency after channel switching and sufficient buffer margin for handover in an MPEG transport stream phase shift network. Hereby it is assumed that after channel switching, the device will not immediately handover. In this case, referring to
The common system clock source 16 ensures that timers in the receiver component 2, in particular in the DVB-H baseband receiver 4, and the host/application processor 6 run with related clock frequencies. In order to fully synchronize those timers a hard-wired synchronisation signal from the baseband receiver 4 to the host component 5 can be introduced that is used to initially deliver a specific time instant for which a specific timer value is delivered in a subsequent message to the host component 5, or a hard-wired synchronisation signal from the host component 5 to the baseband receiver 4 that notifies the baseband receiver 4 to set its timer to an initial value. After the timers in the baseband receiver 4 and the host component 5 are synchronous, the baseband receiver 4 can notify the host component 5 about the arrival of bursts by associating the timer value to the transfer of each burst. In this case, a burst transfer needs to be clearly marked, e.g. by burst start and end markers, or by a burst start marker comprising the data length, and a timestamp that refers to the burst.
The invention is applicable to all IP datacast receiver systems 1 where some sort of bursting is used in the network transmission. Therefore, the applicability of the invention is not limited to DVB-H only, but it can also be used for systems like DXB (“Digital Extended Broadcast”) or T-DMB (“Terrestrial Digital Multimedia Broadcasting”).
Number | Date | Country | Kind |
---|---|---|---|
06116549.4 | Jul 2006 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB07/52610 | 7/4/2007 | WO | 00 | 1/5/2009 |