Title of Invention | "IMPROVED CLOCK RECOVERY FROM DATA STREAMS CONTAINING EMBEDDED REFERENCE CLOCK VALUES" |
---|---|
Abstract | The present invention relates to a method and an improved apparatus for clock recovery from data streams containing embedded reference clock values wherein controlled clock source means consists of a controllable digital fractional divider means receiving a control value from digital comparator means and a clock input from a digital clock synthesizer means driven by a fixed oscillator means. |
Full Text | IMPROVED CLOCK RECOVERY FROM DATA STREAMS CONTAINING EMBEDDED REFERENCE CLOCK VALUES Field of the invention This invention relates to a method and an improved apparatus for clock recovery from data streams containing embedded reference clock values that uses purely digital techniques and can be incorporated without major changes in most existing applications such as MPEG based systems such as set-top boxes or DVD systems. Background of the invention Many applications involving streaming data, such as streaming video contain embedded reference clock information to enable clock synchronization at the receiver. An important example of such data streams are Motion Picture Expert Group (MPEG) data streams that provide an efficient format for transmitting, receiving and storing video signals in digital format - the MPEG data stream ^ format includes a timing reference fields called Program Clock Reference £! ;•—A (PCR) or Elementary Stream Cock Reference (ESCR) that is embedded during A the encoding process and serve to provide a clock synchronizing source. The PCR /ESCR field is extracted during the receive or playback process and is used to synchronize the receiving clock with the data stream rate thereby implementing clock recovery. The synchronizing or clock recovery function is implemented by a Digital Phase Locked Lop (DPLL). Figure 1 shows a typical DPLL used in an MPEG receiver application. The MPEG encoding is performed using a reference 27MHz clock. To facilitate the clock recovery process at the decoder, the MPEG streams are periodically (typically every 0.1 sec) embedded with a timing reference field called Program Clock Reference (PCR). The PCR is generated as follows. The 27 MHz system clock is given to a counter. A snapshot of the counter is taken periodically (rate at which the PCR has to be sent). The values of the counter thus obtained are stuffed into the PCR field of the MPEG stream. On the decoding side the clock is recovered using the values in the PCR field. The PCR in the MPEG stream is extracted and is stored in the received PCR register (1.1). The Local PCR register (1.2) stores the values of the PCR generated by the VCXO (1.6). By loading the contents of the counter (1.4) into local PCR register, when the MPEG stream with the PCR field updates the contents of received PCR register (1.1). The comparator (1.3) outputs an error signal depending on the difference between received PCR (1.1) and the local PCR (1.2). The error signal is used to drive a controlled clock source (1.7). Within the controlled clock source (1.7) the error signal is converted into analog voltage by the D/A converter (1.5). The analog output voltage from D/A converter (1.5) biases the VCXO (1.6) to generate the required frequency. The actual implementation may have some blocks being implemented in software. For example the compare function can be easily implemented in the software. The D/A block may consist of a PWM generator that is programmed by the software and a low pass filter. US patent 5,473,385 describes a DPLL apparatus in which a subtracter gives the difference between received and Locally generated PCR values. The output of the subtracter, which is the error value is fed to a digital filter connected to the input of an accumulator. The accumulated error values are processed by an error signal generator, which produces a frequency adjustment signal for advancing or retarding the local oscillator frequency after gating with a selected video synchronization signal so that the clock frequency correction is performed only during the vertical synch or blanking interval and the effects of the synchronization are not visible. This technique does not permit easy modification of the characteristics of the PLL as there are no programmable features. Also, the dropping of clocks during the vertical synch incurs a significant risk in obtaining jitter-free reading of data. Finally, the implementation of this method requires major redesign of MPEG decoder circuits used in existing systems such as set-top boxes. US patent 6,072,369 uses a phase error detector, interpolator, gain calculator, Digital to analog converter (DAC), voltage controlled oscillator (VCO) divider, Local PCR counter to generate the local clock signal. This scheme is implemented purely in hardware and uses analog components such as the DAC and VCO. It is therefore sensitive to noise and its characteristics are not easily modifiable. US patent 6,175,385 describes three purely digital schemes that essentially use a fixed frequency oscillator. Clock synchronization is achieved by counting clock pulses of the fixed frequency signal and adjusting the unit for incrementing or decrementing the counted value to a predetermined value in a predetermined time according to the deviation of the fixed frequency from the reference frequency. The scheme requires a redesign of almost all the blocks used to process MPEG information in the majority of existing applications. Further, this process needs to be implemented during the video blanking interval and hence is limited to applications where such an interval is available. Objects and summary of the invention The object of the invention is to obviate the above drawbacks by providing a completely digital implementation of the clock recovery systems. The second object of the invention is to provide dynamically configurable loop filter characteristics. Yet another object of the invention is to provide such an implementation where no major re design of the existing video information processing blocks is required. To achieve the said objectives the present invention provides an improved apparatus for clock recovery from data streams containing embedded reference clock values comprising: Clock Reference storage means for storing clock reference values received from the incoming data stream connected to, input of a digital comparator means, the second input of which is connected to, Local Clock (LC) storage means for storing locally generated clock values provided by a, counter means which receives a clock signal from a controlled clock source means controlled by the output of said digital comparator means, characterized in that said controlled clock source means consists of a controllable digital Fractional Divider means receiving a control value from said digital comparator means and a clock input from a digital clock synthesizer means driven by a fixed oscillator means. The said input data stream is an MPEG data stream in which said embedded clock reference value is either the Program Clock Reference (PCR) value or Elementary Stream Clock Reference (ESCR) value The said comparator means is implemented using a microcontroller. The said Digital Fractional Divider is any known Digital Fractional Divider. The said Digital Fractional Divider is implemented as claimed in our co-pending application The gain of said comparator means is adjusted in accordance with changing input conditions. The gain of said comparator is adjusted to a high value prior to obtaining a match between said Local Clock and said Clock Reference and reduced after obtaining said match. The present invention also provides a method for enabling clock recovery from data streams containing embedded reference clock values, comprising the steps of: storing the received reference clock values, generating a controlled local clock, comparing said received reference clock with said generated local clock; adjusting said controlled local clock to match said received reference clock; characterized in that said controlled local clock is generated by performing controlled fractional division on the output from a fixed clock source. The above method further includes adjusting of loop gain in accordance with changing input conditions. The said loop gain is adjusted to a high value prior to lock-in and to a lower value after lock-in. Brief Description of the drawings The invention will now be described with reference to the accompanying drawings: Figure 1 shows a DPLL used in MPEG receiver application according to known art. Figure 2 shows the circuit diagram for the preferred embodiment of the invention. Figure 3 shows the fractional divider, described in our co-pending application no. and its functioning in the instant invention. Detailed Description Figure 1 is described under the background of the invention. Figure 2 shows the preferred embodiment of the invention. The PCR/ESCR from the data stream is extracted and stored in the PCR register (2.1). The LPCR register (2.2) stores the values of the PCR generated by the controlled clock source (2.5). On receiving a data stream with PCR/ESCR field, the PCR register (2.1) and LPCR register (2.2) are updated by loading into them the contents of PCR/ESCR field and the counter (2.4) respectively. The comparator (2.3) outputs the error signal depending upon the difference between PCR register (2.1) and LPCR register (2.2), which act as its inputs. The fractional divider (2.6) converts the error signal to the required frequency. The fractional divider (2.6) is clocked by a synthesizer (2.8), generating a high frequency clock (typically 600 MHz) with the help of reference frequency from a crystal oscillator (2.7). The fractional divider (2.6) is responsible for the clock recovery scheme. The fractional divider could be any known fractional divider. The preferred embodiment of the fractional divider is shown in figure 3 and is described in co-pending application no. The output from the synthesizer (2.8) of figure 2 is given to counter (3.1). The counter can be configured to divide by either n or n+1 depending upon the logic-state of the carry out. The fractional adder (3.2) is a binary adder. The fractional increment register (3.3) holds the fractional increment value. The contents of the fractional increment register are added to the current contents of fractional adder when clock enable is high and a rising synth clock edge. By way of example, to get 27MHz clock the reference frequency of 600MHz from the synthesizer has to be divided by 22.222222. To achieve this, the counter (3.1) is programmed as divide by 22. The fractional increment value register is initialized with the fractional value viz., 0.222222. The counter (3.1) is such that when counter completes one programmed count, the clock out completes one clock cycle, simultaneously the contents of the fractional increment register (3.3) are added to the contents of fractional adder once every clock out cycle. When an overflow in the adder occurs, the carry out is set to logic T. This configures the counter as divide by 23. Table 1 shows the division factor and the fractional part in the fractional adder for every 27MHz clock generated. (Table Removed) The ratio of frequencies is 27:600 = 9:200. That implies the phases will match after 9 clocks of 27 MHz and 200 clocks of 600 MHz. The first column represents number of clock cycles of 27 MHz, the contents of second column when added is 200, which is equal to number of 600 MHz clocks. The division by a factor 'n' or 'n+1' is be implemented by a programmable divider. The 'Fractional Adder is a 24 bit binary adder. The addition operation in the 'Fractional Adder' unit is performed when 'Adder Enable' is high and a rising synth clock edge. The 'Adder Enable' is high for only one synth clock cycle. The 'Carry Out' signal is high only when there is a carry from the addition. The division logic is configured to divide by 'n' when carry out signal is low. It is configured to divide by 'n+1' when carry out signal is high. The instant invention essentially relates to a method for enabling clock recovery from data streams (2.9) containing embedded reference clock values wherein a locally generated clock (2.10) is adjusted to match with the received embedded reference clock value, the adjustable local clock being generated by controlled fractional division (2.6) of the output of a fixed clock source. We claim: - 1. An improved apparatus for clock recovery from data streams containing embedded reference clock values comprising: - clock Reference storage means (2.1) for storing clock reference values received from the incoming data stream connected to, input of a digital comparator means (2.3) the second input of which is connected to, -local Clock (LC) storage means (2.2) for storing locally generated clock values provided by a, -counter means (2.4) which receives a clock signal from a controlled clock source means (2.5) controlled by the output of said digital comparator means (2.3), wherein said controlled clock source means consists of a controllable digital Fractional Divider (2.6) means receiving a control value representative of an error signal depending on the difference between received clock reference values from the incoming data stream and the locally generated values from said digital comparator means and a clock input from a digital clock synthesizer means driven by a fixed oscillator means (2.7, 2.8). 2. An apparatus as claimed in claim 1 wherein said input data stream is an MPEG data stream in which said embedded clock reference value is either the Program Clock Reference (PCR) value or Elementary Stream Clock Reference (ESCR) value 3. An apparatus as claimed in claim 1 wherein said Digital Fractional Divider comprises a counter receiving the output from said digital clock synthesizer, a fractional adder and a fractional increment register configured for holding a fractional increment value and adding its contents to the current contents of the fractional adder under the control of a clock enable signal and of the clock input from the digital clock synthesizer. 4. A method for enabling clock recovery from data streams containing embedded reference clock values, comprising the steps of: -storing the received reference clock values (2.1), -generating a controlled local clock (2.5) and storing locally generated clock values from said controlled local clock; - comparing said received reference clock with said generated local clock (2.3); -adjusting said controlled local clock to match said received reference clock; wherein said controlled local clock is generated by performing controlled fractional division on the output from a fixed clock source (2.7, 2.8) the fractional division being controlled by a control value representative of an error signal depending on the difference between said received clock reference values from the incoming data stream and said locally generated and stored clock values. 5. The method as claimed in claim 4 comprising adjusting of 20 loop gain in accordance with changing input conditions. 6. The method as claimed in 5 wherein said loop gain is adjusted to a high value prior to lock-in and to a lower value after lock-in. |
---|
1084-DEL-2001-Abstract-(04-08-2008).pdf
1084-DEL-2001-Claims-(04-08-2008).pdf
1084-DEL-2001-Correspondence-Others-(04-08-2008).pdf
1084-del-2001-correspondence-others.pdf
1084-del-2001-description (complete)-04-08-2008.pdf
1084-del-2001-description (complete).pdf
1084-DEL-2001-Drawings-(04-08-2008).pdf
1084-DEL-2001-Form-1-(04-08-2008).pdf
1084-DEL-2001-Form-2-(04-08-2008).pdf
1084-DEL-2001-Form-3-(04-08-2008).pdf
1084-DEL-2001-Others-Document-(04-08-2008).pdf
1084-del-2001-petition-others.pdf
Patent Number | 222759 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 1084/DEL/2001 | ||||||||
PG Journal Number | 37/2008 | ||||||||
Publication Date | 12-Sep-2008 | ||||||||
Grant Date | 21-Aug-2008 | ||||||||
Date of Filing | 30-Oct-2001 | ||||||||
Name of Patentee | ST MICROELECTRONICS PVT. LTD | ||||||||
Applicant Address | PLOT NO.2 & 3, SECTOR 16A, INSTITUTIONAL AREA, NOIDA-201 301, UTTAR PRADESH, INDIA | ||||||||
Inventors:
|
|||||||||
PCT International Classification Number | H04L 7/02 | ||||||||
PCT International Application Number | N/A | ||||||||
PCT International Filing date | |||||||||
PCT Conventions:
|