Data decoder

Abstract: A data decoder, for example for decoding teletext and VPS data, comprises an input signal clamp and synchronising signal separate circuit (2) which receives a combined video and blanking signal and produces synchronising pulses for a timing circuit (4) and video signals applied to an ADC 6 and a data slicer and clock generator (7). Sliced data and clock signals feed an acquisition circuit (8) which acquires selected data which is stored in a memory (10). A control circuit 11 is arranged to modify the DSCR (7), acquisition circuit (8) and memory interface (9) in dependence on the type of data detected. The arrangement is such that the detector is set to decode data of one type, for example teletext, and if no valid data is detected within a given period, for example four television frames, the control circuit (11) causes the decoder to attempt to decode data of the other type (VPS).

Description: The invention relates to a data decoder for decoding data transmitted in one or more lines of a field blanking interval of a television signal. Such decoders are used to decode data at various data rates and having various uncoding formats. Examples are teletext and video programming signals (VPS). Video Cassette Recorder (VCR) control is a new development in the use of broadcast teletext data services. It is now possible to perform two VCR control functions using information contained in broadcast transmissions. The first is the selection of one or more Programmes to be recorded. To make the process of entering the time and channel information into VCR memory easier and error free, it is possible to programme the VCR from a teletext programme schedule page, where the relevant identification information is held. The second is real time switching of the VCR under the control of transmitted data. This enables the desired programme to be recorded despite schedule changes, the VCR being set to record only while the correct broadcast programme label is being transmitted by the broadcaster either as teletext data or as VPS data. Thus, the desired programme may be recorded even when broadcast early or late. Such transmissions (known as PDC - Programme Delivery Control) are already being provided in the UK and Germany. A VCR equipped with the necessary PDC decoding circuitry is easy to use and gives reliable recording of the chosen items. The technical specification of the PDC system is described in: Specification of the domestic video Programme Delivery Control system (PDC), European Broadcasting Union, August 1990. There are two different standards for broadcasting the data relevant to each of the two functions. Data required for the above functions is sent on spare TV lines, during the Vertical Blanking Interval (lines 2-22), as either teletext packets or on a dedicated VPS line. Programme selection information is either incorporated in the displayed programme schedule page as teletext control characters or sent via the teletext extension packets 26. Both methods are based completely on the World System Teletext standard, and the data can be received and decoded using a normal teletext decoder. Real time switching data, however, may either be sent via the teletext extension packet 8/30/2 or as a special Video Programming Signal (VPS) sent on a dedicated TV line. Teletext and VPS have different data rates (Teletext 6.9375Mbit/s, VPS 2.5Mbit/s) and coding schemes as set out in Table 1. Differences between teletext and VPS transmissions. Characteristic Teletext VPS Data Amplitude 0.46V +/- 10% 0.5V +/- 5% Position of Start of Data 10.2µs + 1µs - 0.4µs 12.5µs +/- 1.5µs Data Rate 6.9375Mbit/s 2.5Mbit/s Data Coding Odd Parity, 8/4 Hamming... Biphase Data Clock Synchronization 16 bit run-in 1010.. 16 bit run-in 1010.. Byte Sync Word 27 hex 9951 hex TV Lines Containing Data 2-22, both fields (VBI) 16, first field As a result dual standard video recorders or television sets which are required to be able to detect both teletext and VPS data need two data receiver ICs, to cover the whole of Europe. An example of such an arrangement is disclosed in EP-A-0420123. It is an object of the invention to enable the provision of a data decoder which will allow the decoding of data transmitted with a plurality of data rates and/or encoding formats. The invention provides a data decoder for decoding data transmitted in one or more lines of a field blanking interval of a television signal, said data decoder being capable of decoding data at one of a plurality of data rates and/or encoding formats and comprising control means capable of adopting a plurality of different states, said control means when in a first state being arranged to cause the decoder to attempt to detect data transmitted at a first data rate and having a first encoding format and when in one or more further states being arranged to cause the decoder to attempt to detect data transmitted at one or more different data rates and/or different encoding formats, wherein said control means is arranged to remain in a given state when valid data is detected. By providing control means for the decoder it is possible to combine the decoding of data at different data rates and/or different encoding formats in a single decoder rather than having to provide a separate decoder for each differently encoded data stream. Thus the decoder can have its data slicing circuitry adaptable for different data rates under control of the control means and can be arranged to look for different framing codes, etc., depending on the state of the control means. In particular the decoder can be used to decode PDC real time switching data in either format (VPS or teletext extension packets) in order to control the functioning of a video recorder, i.e. to record a selected broadcast when it is actually being broadcast even if this does not correspond to the scheduled time, or to switch on a television set when a broadcast begins if the television set had been set to a standby condition where the majority of the circuitry had been switched off with only the timing and real time switching decoding sections operating. The control means may be arranged to change state in response to the detection of invalid data. In this way the decoder may be set initially to decode data having a given data rate and encoding format and to switch to attempting to decode data having a different data rate and/or encoding format if it fails to obtain valid data from the received transmission when in the state to which it has been set. Clearly it is possible to construct a decoder which can decode more than two different data signals in which case the control means could be arranged to take a corresponding number of states and to cycle through those states until valid data is decoded. The control means may be arranged to change state only when invalid data has been detected a given number of times. In this way isolated instances of errors in the data transmitted will not cause the decoder to look for data of a different type. Otherwise a noisy transmission channel could cause the decoder to be frequently switched by the control means from one data decoding mode to another when, in fact, the type of data being transmitted was not being changed. A convenient value for the given number has been found to be four. This number may, however, be chosen to suit the characteristics of the transmission channel, the anticipated frequency with which the data type transmitted is changed, and the response time required for decoding the data when a data type transmitted is changed. The control means may be arranged to adopt different states only on given lines during a field blanking interval and on all other lines to adopt a given one of said states. In the case of teletext and VPS data it is known on which lines the data transmission is to take place. As can be seen from Table 1 VPS is transmitted only on line 16 of the first field, field O. Consequently it is known that for all the other lines containing data it must be teletext data and that therefore the decoder should be arranged to decode teletext data. On line 16 of field O, however, the data could be either teletext or VPS and consequently the decoder should be set to the mode which will decode the actual data transmitted. This is achieved, according to the invention, using the control means to adapt the relevant functional blocks within the decoder to the type of data being received. The above and other features and advantages of the invention will be apparent from the following description, by way of example, of embodiments of the invention with reference to the accompanying drawings, in which Figure 1 is a block schematic diagram of a data decoder according to the invention in the form of a decoder for teletext and VPS data, Figure 2 is a schematic diagram of an embodiment of a control circuit suitable for use as the control circuit of Figure 1 showing its interaction with the acquisition circuit of Figure 1, Figure 3 is a block schematic diagram of the ADC and data slicer and clock regenerator circuit of Figure 1, Figure 4 is a schematic diagram showing an embodiment of a bit synchroniser suitable for use in the clock regenerator circuit of Figure 3, Figure 5 is a schematic diagram of an embodiment of an acquisition circuit for use in the decoder of Figure 1, Figure 6 is a schematic diagram of a teletext/VPS detector, and Figure 7 is a block schematic diagram of a data decoder according to the invention for decoding real time switching signals for television sets or video recorders in the form of VPS data or teletext extension packets. Figure 1 shows in block schematic form a data decoder according to the invention in the form of a decoder for teletext and VPS data. As shown in Figure 1 it has an input 1 to which, in operation, a combined video and blanking signal CBVS is applied. This is fed to the input of an input clamp and synchronising signal separator 2 which produces at an output 3 sychronising signals which are fed to a timing circuit 4 which generates appropriate clock waveforms for the various functional blocks within the decoder. A second output 5 of the input clamp and synchronising signal separator 2 produces a video signal output which contains those lines on which teletext and VPS data is transmitted is fed to an analogue to digital converter (ADC) 6. The output of the ADC 6 feeds a data slicer and clock regenerator (DSCR) 7 which produces clock and data signals from the input signal and passes them to an acquisition circuit 8. The acquisition circuit 8 acquires the data from the input signal and passes it through a memory interface 9 to a memory (RAM) 10. The acquisition circuit 8 also receives inputs from the timing circuit 4 and from a control circuit 11 which determines whether the acquisition circuit looks for teletext or VPS data. The control circuit 11 receives and acts upon a signal from the acquisition circuit 8 and produces output signals which control the operation of the DSCR 7, the acquisition circuit 8 and the memory interface 9. The memory interface has an output which feeds a character generator 12 which produces R, G, B, and blanking signals at an output 13. An I2C Bus interface 14 is also connected to the memory interface 9 to enable control by an external microprocessor (not shown). Apart from the control circuit 11 and its effect on the DSCR 7, acquisition circuit 8, and memory interface 9 the decoder shown in Figure 1 is implemented as a standard teletext decoder as exemplified by that produced and sold by Philips Semiconductors under the type reference SAA 5246. Figure 2 shows an embodiment of the control circuit 11 and its interaction with the acquisition circuit 8. The acquisition circuit 8 receives data and clock signals over line 20 from the DSCR 7 and uses these signals to decode the transmitted information in known manner. As the data rate and encoding method used for teletext and VPS differ from each other the acquisition circuit 8 contains the appropriate decoding means for each type of signal. The acquisition circuit consequently has a second input which receives a control signal from the control circuit 11 over a line 21 which signal causes the acquisition circuit to attempt to decode either teletext data or VPS data depending on the value of the signal on line 21. The control circuit 11 comprises a counter 22 and a latch 23. The counter 22 receives a first signal on a line 24 from the acquisition circuit 8 which is active when valid teletext or VPS data is decoded and causes the counter 22 to be reset to a given state. A second signal on a line 25 is active when valid teletext or VPS data is not decoded by the acquisition circuit 8 and enables the counter 22 to count clock pulses which are applied to an input 26. An output of the counter 22 is connected to a clock input of a latch 23 whose output forms the control signal which is fed to the acquisition circuit 8 over the line 21 and also to an output 27 for connection to the DSCR 7 and memory interface 9. The operation of the arrangement will now be described starting from the assumption that the control signal on line 21 is in a state which causes the acquisition circuit 8 to attempt to decode teletext signals from the data and clock signals applied over line 20. If a teletext signal is being transmitted then the acquisition circuit will at the appropriate time produce a signal on line 24 which causes the counter 22 to be reset. Consequently the counter output will be unchanged and the latch 23 will not change state. As a result the acquisition circuit 8 will continue to look for and decode teletext data. If, however, teletext data is not being transmitted (or if an error occurs in the teletext data transmitted) then an output will be produced on line 25 which enables the counter 22 to count clock pulses applied at input 26. These clock pulses are at television frame rate and thus the counter will be incremented once each frame. After a preset number of counts the output of the counter will change state and clock the latch 23 causing its output to adopt a different state which is then passed over line 21 to the acquisition circuit 8, and via output 27 to the DSCR circuit 7 and memory interface 9. When the output of latch 23 changes state the control signal causes the acquisition circuit to attempt to decode VPS data. If it successfully decodes the input data on line 20 as valid VPS data it will cause the signal on line 24 to become active and reset the counter 22 and this state will be maintained until valid VPS data ceases to be decoded in which case the reset on line 24 will be removed and the clock enable signal on line 25 will be produced. The clock signal applied to input 26 is at television frame rate and hence the counter is incremented once each frame as long as valid data is not decoded by the decoder. Once valid data is obtained the counter is reset. This procedure is followed so that if a data signal is lost or corrupted by a brief interfering signal the decoder does not immediately switch over to attempting to decode the other type of data. Thus, for example the counter is set to count four clock pulses before changing the state of its output so that the temporary loss of signal will not cause the acquisition circuit to switch to decoding the other type of data. The number of clock pulses counted is chosen to enable a relatively fast changeover of the acquisition circuit 8 when the data type transmitted changes while allowing some margin for preventing false changeovers due to interfering signals or noise corrupting the data. It is known in the case of VPS data that it will be sent on line 16 of field O and consequently the control signal will only be operative to cause the decoder to decode VPS data at that period. This is achieved by deriving appropriate timing signals in the timing circuit 4 so that the clock signal applied to input 26 is effective to clock the counter on for example line 17 of field O to give time for the acquisition circuit 8 to determine whether it has received valid teletext or VPS data on line 16 of field O depending on which type of data the control signal on line 21 caused it to look for. Clearly in addition the control signal on line 21 is only effective on line 16 of field O as it is known that on all other lines the data being received is teletext data. If, however, VPS data or any other non-teletext data was to be transmitted on any other television lines it would be possible to derive appropriate timing signals using the timing circuit 4 to cause the appropriate control of the acquisition circuit 8. Figure 3 is a block schematic diagram of the ADC 6 and DSCR 7 and comprises the ADC 6 to which an input video signal is applied at input 30, a DC loop 31, an interpolator 32, an amplitude estimator 33, a zero crossing detector 34, a bit synchroniser 35, and a data latch 36. In operation samples at 13.5MHz are fed from the ADC 6 to the DC loop 31 which comprises a subtractor unit and performs a level shifting operation on the input samples. The amount subtracted from the input samples is made self adaptive using the output from the amplitude estimator 33. An interpolator 32 performs an interpolation operation on the samples from the DC Loop 31 which are sampled at 13.5 MHz. This is provided since the sampling times are not related to the data clock of either the teletext or VPS data. The zero crossing detector 34 detects and signals to the bit synchroniser 35 when a zero crossing has occurred and the relative phase of the zero crossing with respect to the sample clock. The bit synchroniser 35 feeds the interpolator 32 to enable the correct data sampling phase to be obtained and generates the teletext clock signal for application to the acquisition circuit 8 at an output 37 and to control a data latch 36 which obtains the teletext data from the interpolator 32. This teletext data is then available for application to the acquisition circuit 8 from an output 38. The bit synchroniser 35 is shown in greater detail in Figure 4. It comprises a discrete time oscillator 40 to which is applied a frequency preset over a line 41. A phase shifter 42 provides a regenerated data clock signal at an output 43 and a phase signal for the interpolator 32 at an output 44. The phase shifter 32 has a further output which is connected to a first input of a phase comparator 45, to a second input of which the phase output of the zero crossing detector 34 is applied over a line 46. The phase comparator 45 produces an output representative of the phase error between its two inputs. This output is fed via a switch 47 to a controlled gain circuit 48 whose output feeds an integrator 49. The output of the integrator 49 is applied to the phase shift circuit 42 via a fixed gain stage 50. The switch 47 is controlled over a line 52 which carries a signal from the zero crossing detector 34 to close the switch 47 only when a zero crossing is detected so that the loop is only updated at that time. The data rate signal is generated by the DTO 40, the phase of which is sampled each time the zero crossing detector 34 finds a transition. As the zero crossing detector 34 also provides a measure of the phase of the signal transition a comparison can be made (comparator 45) to give a phase error which is used to improve the phase of the locally generated clock at output 43. As the oscillator 40 is a digital ramp generator, detection of digital overflow is sufficient to enable production of the data clock pulses. The digital ramp is supplied to the interpolator 32 to enable it to select the decimation phase used to regenerate peak data samples. The gain stage 48 is switchable to give an increase in the loop gain for the run-in sequence as the loop is required to find the data phase quickly from that sequence and an appropriate signal is applied over a line 51. As described thus far the bit sychroniser 35 is as implemented in the teletext decoder type SAA 5246 mentioned hereinbefore. In order to enable the detection of VPS data as well as teletext data two further switches 53 and 54 are provided which are controlled by the signal produced at output 27 of the control circuit 11. The switch 54 when operated causes a different control word to be applied to the DTO 40 thus changing its nominal frequency and the switch 53 enables different signals to be applied to the gain stage 48 to account for the change in timing and length of the run-in sequences. Figure 5 is a block diagram of the acquisition circuit 8 which comprises a serial to parallel converter 60 which takes the input data clock and data on lines 61 and 62 from outputs 37 and 38 of the DSCR7 and converts them to parallel data bytes which are fed to a teletext framing code detector 63 and a VPS start code detector 64. The data bytes are also fed to a resynchroniser 65 which is controlled by outputs from the detectors 63 and 64 over lines 66 and 67 respectively. The resynchronised data is fed to an error checking circuit 68 which performs Hamming, Parity, Biphase Decoding and Error Checking functions before feeding data via a delay 69 to an output 70 for storage via the memory interface 9 in the memory 10. The data is also fed to teletext page related logic 71. An output of the error checking circuit 68 is also fed via an error accumulator 72 to a data valid control signal generator 73 which produces a signal signifying whether valid data has been decoded at an output 74. The data resynchroniser 65 produces signals for enabling a data byte counter/decoder 75 and a VPS byte counter 76. The VPS byte counter 76 produces an output which is fed via a delay circuit 77 to a column decoder 78 which provides a column address for the memory interface 9 over a path 79. The data byte counter/decoder 75 produces a first output which is fed via a delay circuit 80 to the column decoder 78, a second output which is fed via a delay 81 to a write control circuit 82 which provides a write enable signal on line 83 for application to the memory 10, and a third output which is fed to the error checking circuit 68. The third output will control which error checking procedures are carried out in the circuit 68 since the error protection arrangement for the transmitted data varies according to the function of the data bytes transmitted, for example in the teletext mode some data bytes are Hamming code protected while others have simple parity bit protection. The teletext page relates logic circuit 71 which is entirely conventional in form has two outputs which are fed to first inputs of respective multiplexers 84 and 85. The second input of multiplexer 84 receives VPS row addresses from an address generator 86 while the second input of multiplexer 85 receives VPS chapter addresses from an address generator 87. The multiplexers 84 and 85 provide row and chapter addresses over paths 88 and 89 respectively to enable writing of the data to appropriate locations in the memory 10. The column decoder 78 and multiplexers 84 and 85 are controlled by the signal produced by the control circuit 11 and fed to the acquisition circuit 8 over the line 21 (Figure 2). This signal is also fed to the data valid generator 73. The outputs of the teletext framing code detector 63 and VPS start code detector 64 are also fed over lines 91 and 92 to a VPS/teletext detector 90 which produces the signals to the control circuit 11 on lines 24 and 25. Figure 6 shows an embodiment of the VPS/teletext detector 90. It comprises first and second AND gates 93 and 94 to first inputs of which the lines 91 and 92 are connected respectively. Line 21 which carries the VPS mode signal on line 21 is applied to a second input of AND gate 94 and via an inverter 95 to a second input of AND gate 93. The data valid signal on line 74 is applied to third inputs of the AND gates 93 and 94. As a result if a valid teletext framing code is detected when the acquisition circuit is set to look for teletext signals (by the signal on line 21) then AND gate 93 will produce an output, while if a valid VPS start code is detected when the acquisition circuit is set to look for VPS signals (the signal on line 21 adopting the other state) then AND gate 94 will produce an output. The outputs of AND gates 93 and 94 are fed to respective inputs of an OR gate 96 which will as a result produce an output on line 24 if either of AND gates 93 and 94 produce outputs. Thus if either valid teletext data is detected when looking for teletext data or valid VPS data is detected when looking for VPS data then the signal on line 24 will be effective to reset the counter 22 (Figure 2). The output of OR gate 96 is also connected via an inverter 97 to line 25 and as a result the counter clock will be enabled if either no valid data is detected or if teletext data is detected when the acquisition circuit is set to decode VPS data or vice versa. Figure 7 shows in block schematic form a decoder for VPS data and teletext data which is arranged to acquire and store only data relevant to real time switching of video recorders and/or television sets, i.e. VPS data and teletext extension packet 8/30/2. It comprises an input 101 which is connected to an input clamp and synchronising signal separator 102 having a first output 103 connected to a timing circuit 104 and a second output 105 connected to an ADC 106. As with the arrangement described with reference to Figure 1 the timing circuit 104 generates the appropriate clock waveforms for the other functional blocks shown. The output of the ADC 106 feeds a data slicer and clock regenerator circuit (DSCR) 107 which produces clock and data signals from the input data samples and feeds them to an acquisition circuit 108. The acquisition circuit 108 produces a first output which is fed to a memory interface and internal memory 109 to provide appropriate addressing signals and decoded data for storing in the memory. An I2C Bus interface 114 is provided to enable interaction between the decoder and an external microprocessor the I2C Bus interface accessing the memory 109 and a control logic circuit 115 which indicates error free reception of VPS or packet 8/30/2 data on an output 116. A control circuit 111 which takes the same form as that of control circuit 11 in the embodiment of Figure 1 produces outputs controlling the operation of the DSCR 107, acquisition circuit 108, and memory interface 109. The arrangement of Figure 7 operates in the same way as that of Figure 1 except that since only real time switching data is acquired the acquisition circuit is simpler, a small internal memory only is required, since teletext page display information is not required to be stored and no character generator is required since no data is displayed. In other respects the functional blocks may take the same form in each embodiment.

Claims: A data decoder for decoding data transmitted in one or more lines of a field blanking interval of a television signal, said data decoder being capable of decoding data at one of a plurality of data rates and/or encoding formats and comprising control means capable of adopting a plurality of different states, said control means when in a first state being arranged to cause the decoder to attempt to detect data transmitted at a first data rate and having a first encoding format and when in one or more further states being arranged to cause the decoder to attempt to detect data transmitted at one or more different data rates and/or different encoding formats, wherein said control means is arranged to remain in a given state when valid data is detected. A data decoder as claimed in Claim I in which said control means is arranged to change state in response to the detection of invalid data. A data decoder as claimed in Claim 2 in which the control means is arranged to change state only when invalid data has been detected a given number of times. A data detector as claimed in Claim 2 or Claim 3 in which said control means is arranged to adopt different states only on given lines during a field blanking interval and on all other lines to adopt a given one of said states. A data decoder as claimed in any preceding claim in which said control means has two states. A data decoder as claimed in Claim 5 arranged to decode teletext and VPS data.

Inventors: JAMES SHIRLEY JUNE, JAMES, SHIRLEY JUNE, James, Shirley June, c/o P.C.A.L.S.
Applicants: KONINKL PHILIPS ELECTRONICS NV, PHILIPS ELECTRONICS UK LTD, KONINKLIJKE PHILIPS ELECTRONICS N.V., PHILIPS ELECTRONICS UK LIMITED
Application year: 1993
Main classification: H04N7
IPC codes: H04N7, H04N5