Process and device for field or frame frequency conversion utilizing a dynamic calculation of the interpolation phases

Information

  • Patent Application
  • 20010038421
  • Publication Number
    20010038421
  • Date Filed
    December 18, 2000
    23 years ago
  • Date Published
    November 08, 2001
    22 years ago
Abstract
The process is characterized in that it stores a position of the write pointer PW on receipt of the synchronization signal S1 relating to the input signal so as to provide a value PW-IN, and on receipt of the synchronization signal S2 relating to the output signal so as to provide a value PW-OUT, in that it dynamically calculates an interpolation phase α (12, 13, 14, 15) such that: 1α=PW⁢ ⁢_⁢ ⁢OUT-PW⁢ ⁢_⁢ ⁢INΔ⁢ ⁢PW⁢ ⁢_⁢ ⁢FIELD⁢ ⁢if⁢ ⁢PW⁢ ⁢_⁢ ⁢OUT≥PW⁢ ⁢_⁢ ⁢INorα=PW⁢ ⁢_⁢ ⁢OUT+NCAP·Δ⁢ ⁢PW⁢ ⁢_⁢ ⁢FIELD-PW⁢ ⁢_⁢ ⁢INΔ⁢ ⁢PW⁢ ⁢_⁢ ⁢FIELD⁢ ⁢if⁢ ⁢PW⁢ ⁢_⁢ ⁢OUT⁢ 
Description


FIELD OF THE INVENTION

[0001] The invention relates to a process and device for the frequency conversion of video signals, utilizing a dynamic calculation of the interpolation phases.



BACKGROUND OF THE INVENTION

[0002] Known frequency conversion devices are utilized, among other things, for standards conversion, for example the conversion of a PAL or SECAM 50 Hz signal into an NTSC 60 Hz signal. They are also utilized to increase the scanning frequency of television receivers, typically from 50 Hz to 100 Hz, for the purpose of improving the quality of the picture, by reducing the large area flicker.


[0003] In the general case, the frequency of the signal to be converted and the frequency of the converted signal are known in advance. The interpolation process consists in creating intermediate fields between two reference fields of the input signal to be converted. This process is shown diagrammatically in FIG. 1.


[0004] The fields referenced 1 and 2 correspond respectively to the previous reference field of the input video sequence and to the next reference field of this sequence.


[0005] The field referenced 3 is the intermediate field to be created. This field is located temporally between the previous field and the next field, at an instant defined by a value α corresponding to the interpolation phase.


[0006] If tprev and tnext correspond to the instants relating to the previous field and to the next field, the instant tinterp relating to the intermediate field to be interpolated is then:
2Tinterp=tprev+α(tnext-tprev)=tnext-(1-α)(tnext-tprev)


[0007] In a known manner, the interpolation processing can call upon linear filtering utilizing spatio-temporal filters with finite impulse response, or upon motion-compensated interpolation.


[0008] The processing methods utilized require knowledge of the interpolation phase for each field to be interpolated.


[0009] In the case where the input or output signal is not bound to a standard defining its frequency, a conversion device specific to these signals and in particular to their scanning frequency characteristic must be designed. This specificity naturally generates high costs. Moreover, modification of the scanning characteristics of a signal renders such a device unutilizable or, at the least, requires either manual intervention to render it compatible with the modified signal or signals, or the presence of circuits specific to these new characteristics.


[0010] The aim of the invention is to alleviate the aforesaid drawbacks.



SUMMARY OF THE INVENTION

[0011] To this end, the invention relates to a process for the field or frame frequency conversion utilizing a dynamic calculation of the interpolation phases, of an input video signal at a frequency F1 defined by a synchronization signal S1 into an output video signal at a variable frequency F2 defined by a synchronization signal S2, comprising a writing of the input signal to a memory on the basis of a write pointer PW-IN, and a reading, from the memory, to obtain the output signal, characterized in that it stores the position of the write pointer PW on receipt of the synchronization signal S1 so as to provide a value PW-IN, and on receipt of the synchronization signal S2 so as to provide a value PWOUT, in that it dynamically calculates an interpolation phase α such that:
3α=PW_OUT-PW_INΔPW_FIELDifPW_OUTPW_INorα=PW_OUT+NCAP·ΔPW_FIELD-PW_INΔPW_FIELDifPW_OUT<PW_IN


[0012] ΔPWFIELD being the memory quantity required for the storage of a field or frame of the input signal and NCAP the capacity of the memory expressed in terms of number of fields or frames,


[0013] and in that it performs a phase interpolation corresponding to this value.


[0014] According to a particular characteristic, three or four successive fields or frames are simultaneously stored in a memory and the interpolation is performed on the fields or frames preceding that being stored upon receipt of the signal S2 utilized for the calculation of the interpolation phase, on the basis of this calculated interpolation phase.


[0015] According to another characteristic, the calculation of the interpolation phase takes into account a shift of the write pointer corresponding to the duration of the field or frame blanking signal before the active video.


[0016] The invention also relates to a dynamic frequency conversion device for converting an input signal at a frequency F1 defined by a synchronization signal S1 into an output signal at a variable frequency F2 defined by the receipt of a synchronization signal S2, comprising a memory for writing the input signal on the basis of a write pointer PW, an interpolation circuit receiving the outputs from the memory for read-access to a preceding field or frame T1 and read-access to a next field or frame T2, characterized in that it also comprises:


[0017] a circuit for storing the pointer PW on receipt of the signal S1 so as to provide a value PWIN,


[0018] a circuit for storing the pointer PW on receipt of the signal S2 so as to provide a value PWOUT,


[0019] a circuit for calculating interpolation phase
4α=PW_OUT-PW_INΔPW_FIELDifPW_OUTPW_INorα=PW_OUT+NCAP·ΔPW_FIELD-PW_INΔPW_FIELDifPW_OUT<PW_IN


[0020] ΔPWFIELD being the memory quantity required for the storage of a field or frame of the input signal and NCAP the capacity of the memory expressed in terms of number of fields or frames,


[0021] and in that the interpolation circuit is coupled to the calculating circuit so as to receive this interpolation phase and calculate the interpolated field or frame as a function of the interpolation phase.


[0022] By virtue of the invention, the process automatically calculates the interpolation phase corresponding to the output signal to be generated, when the scanning frequency of this output signal is not known a priori.


[0023] The device obtained is compatible with any type of output signal, at least in a wide frequency range. The device is simple to implement and cheap. It makes it possible to supply adjustable scanning frequency apparatuses, such as monitors of PC-type personal computers.







BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The characteristics and advantages of the present invention will be more apparent from the following description given by way of example and with reference to the appended figures in which:


[0025]
FIG. 1 represents a field interpolation


[0026]
FIG. 2 represents diagrammatically a frequency conversion device


[0027]
FIG. 3 represents in detail a frequency conversion device


[0028]
FIG. 4 represents field blanking intervals







DETAILED DESCRIPTION

[0029] The device for field frequency conversion, implementing the process, is represented diagrammatically in FIG. 2.


[0030] An input video signal Video In is transmitted to a memory interface circuit 4. Together with this signal is transmitted a horizontal and vertical synchronization signal H/VSYNC IN; a pulse indicates the start of a new line (horizontal synchronization) or of a new field (vertical synchronization).


[0031] The video information transported by the video signal relates to each pixel, a video line consisting of a succession of pixels and a field of a succession of lines. A RAM dynamic video memory 5 stores at successive addresses the digital data travelling through the memory interface 4. The memory capacity is such that at least two consecutive fields can be stored. These two fields are the reference fields previously referred to as the previous field and the next field.


[0032] The output video signal Video Out is synchronous with the synchronization signal VSYNCOUT originating from the apparatus supplied by the conversion device and corresponding to the desired scanning frequency. The video data stored in the RAM 5 are transmitted, via a memory interface 6, to an interpolation circuit 7.


[0033] This interpolation circuit 7 therefore receives the signal VSYNCOUT on the basis of which it calculates the interpolated frames. Given that the ratio of the frequencies of the input signal and of the output signal is not known a priori, the interpolation phases are calculated dynamically. The interpolation circuit therefore operates in an asynchronous manner with respect to the input signal and is controlled by the synchronization signal VSYNCOUT originating from the apparatus supplied with the output video signal, for example originating from a graphics card of a PC-type computer monitor in the case of a TV→PC converter.


[0034]
FIG. 3 represents in greater detail an example of a frequency conversion device.


[0035] The video information input to the device is stored in the memory 8. This memory has a capacity of 4 fields and by virtue of dual read access, makes it possible to access 2 complete consecutive fields so as to carry out the interpolation. This makes it possible to avoid the problems of synchronization, the field read from a memory then being the last field stored in full in this memory. This is one example and the memory capacity can of course be lower, for example 3 fields, or less if one begins reading a field before it has been stored in full, this then requiring precautions with regard to the management of the pointers.


[0036] The interpolation is carried out between the field T1 and the field immediately following it T2.


[0037] A vertical synchronization signal VSYNCIN hereinafter referred to as S1, is available at each input field. One pulse out of every four pulses is transmitted to the reset input (reset) of a write address counter 9, this being the signal VSYNCIN/4. The output of this counter is linked to the address inputs of the memory 8. It is also transmitted to the inputs of a register REG.IN 10 and of a register REG.OUT 11.


[0038] The register REG.IN stores the value of the write pointer, that is to say the address PWIN present on the address bus, on receipt of the input vertical synchronization signal VSYNCIN transmitted on the clock input of the register.


[0039] The register REG.OUT stores the value of the write pointer, that is to say the address PWOUT present on the address bus, on receipt of the output vertical synchronization signal VSYNCOUT transmitted on the clock input of the register. This signal VSYNCOUT is also referred to as S2.


[0040] A subtractor 12 receives the data PWIN and PWOUT provided by the registers 10 and 11. Its output (PWOUT−PWIN) is signed and transmitted, as signal SGN, to a control input of a multiplexer 13 as well as to an input of a multiplier 14. The multiplexer 13 receives a zero input and an input equal to the constant NCAP expressing, as number of fields, the capacity of the memory 8. This multiplexer is driven by the signal SGN, in such a way that its output is set to the value 0 if (PWOUT−PWIN)≧0 and to the value NCAP if (PWOUT−PWIN)<0. The output of the multiplier 14, which on another input receives a value K equal to 1/ΔPWFIELD, is transmitted to the input of an adder 15. The second input of the adder originates from the output of the multiplexer 13. The value of the output signal from the adder 15, which corresponds to the expression K(PWOUT−PWIN) or else K(PWOUT−PWIN)+NCAP depending on the sign of the signal SGN, represents the value of α. This signal is transmitted, after passing through a delay circuit 17, to the interpolator 20.


[0041] The information PWOUT originating from the register REG.OUT 11 is also transmitted to a storage and calculating circuit 16. This circuit stores the last value of the pointer PWOUT. It provides, on its two outputs, a first loading value “loading 1” and a second loading value “loading 2”. These loading values are modified for each output field. They are one field out of phase.


[0042] The write pointer PW of the memory 8 is recorded upon receipt of a vertical synchronization pulse of the input signal (VSYNCIN) and upon receipt of a vertical synchronization pulse of the output signal (VSYNCOUT). The corresponding information PWIN and PWOUT respectively represent the start address of the current field recorded in the memory and the value of the pointer PW at the instant at which the synchronization pulse of the output signal is received, triggering the calculation of the new interpolated output field.


[0043] Let tprev and tnext be the instants of receipt of the previous and next reference field which are used for the calculation of the interpolated field, that is to say the instants of receipt of the synchronization signals of these fields. Let tinterp be the temporal position of the interpolated field.


[0044] According to FIG. 1, we have:
5α=tinterp-tprevtnext-tprev


[0045] If b is the bit rate of entry to the memory 8 of the words corresponding to the input video signal, in general the luminance signal, and if ΔPWFIELD is the memory quantity required for the storage of an input field, we have, by the definition of PWOUT and PWIN:




b
(tinterp−tprev)=PWOUT−PWIN





b
(tnext−Tprev)=ΔPWFIELD



[0046] from which we deduce:
6α=PW_OUT-PW_INΔPW_FIELD


[0047] In practice, the capacity NCAP.Δ PWFIELD of the memory 8 is finite and the input fields are written thereto cyclically. Thus, if their capacity is NCAP=4 fields, after filling these memories starting from the address 0 with the first four fields received, the writing of the fifth field will commence at the address 0 and will therefore overwrite the content of the first field. In this configuration where PWOUT becomes less than PWIN, the previous formula for calculating α should be modified as follows:
7α=PW_OUT+NCAP·ΔPW_FIELD-PW_INΔPW_FIELD


[0048] PWOUT−PWIN is calculated by the subtractor 12.


[0049] The correction to be made, if necessary, is carried out by the adder 15.


[0050] The constant K transmitted as input to the multiplier 14 is the value
81ΔPW_FIELD


[0051] This value is known a priori.


[0052] The output from the adder 15 corresponds to the value α calculated at each arrival of the field synchronization signals. This coefficient α is delayed by the delay circuit 17 in such a way as to be able to be applied correctly to the set of fields T1 and T2.


[0053] The storage and calculating circuit 16 calculates the read addresses relating to the two accesses of the memory 8. On receipt of the synchronization signal VSYNCOUT, the value PWOUT of the write pointer is stored. This value is used to calculate the start address for the reading of the fields T1 and T2 utilized for the interpolation. Given that four successive fields are stored in a memory, it is necessary to ascertain which one will be read and this depends on the position of the write pointer at the instant of receipt of the synchronization signal VSYNCOUT.


[0054] If N is the number of addresses corresponding to a field and if the value of the pointer, upon receipt of the signal S2, lies between 0 and N, the loading value for the first field T1 to be read will be the address 2N and the loading value for the second field T2 to be read will be the address 3N, values corresponding to the last two complete fields loaded into the memory. If this value of the pointer lies between N and 2N, this signifies that the second field is being stored in the memory 8 and the loading value for the field T2 will then be the address 0. We therefore have:


[0055] loading
91=N×(integerpart[PW_OUTN])+2N(modulo4N)


[0056] The field T2 then corresponds to the value of “loading 2”:


[0057] loading
102=N×(integerpart[PW_OUTN])+3N(modulo4N)


[0058] Two read counters 18 and 19 receive, on a loading input, respectively the outputs “loading 1” and “loading 2” originating from the storage and calculating circuit 16. The loading validation inputs of the counters are supplied with the synchronization signal VSYNCOUT. The values “loading 1” and “loading 2” are stored on receipt of the synchronization signal VSYNCOUT. The counters are initialized to these values and their outputs are linked to the memory 8 to trigger the reading of the video data of the fields T1 and T2 from the memory on the basis of the initialization values.


[0059] The video data read are transmitted to an interpolator 20 which carries out the calculation of the interpolated field, as a function of its temporal location defined by the value of α, in relation to the reference source fields T1 and T2, according to a known process, for example using spatio-temporal linear filtering or motion-compensated interpolation.


[0060] The video data thus calculated are transmitted as output from the interpolator so as to constitute the output signal of the device.


[0061] The previous calculations assume a continuous stream of data of the input video signal. In fact, the signals include a field blanking interval (VBI standing for Vertical Blanking Interval) during which the field flyback occurs.


[0062] Two solutions can then be implemented:


[0063] either the video signal, corresponding to this time span VBI, is written to the video memory, so causing occupation of memory by unutilized signals. The value PWOUT−PWIN then actually represents the time elapsed since the start of reception of the current field.


[0064] or only the active part of the video signal is stored and it is then necessary to take into account the offset or shift generated by this signal VBI, in the manner described hereinbelow, with the aid of FIG. 4. A time axis is symbolized in this FIG. 4. VSYNC corresponds to the vertical synchronization signals. The video signal consists of a field blanking signal VBI (standing for Vertical Blanking Interval) preceding the active video, for a time ΔtVBIstart and of a VBI signal following the active video ΔtVBIend.


[0065] Let ΔPWVBIstart and ΔPWVBIend be the offsets or shifts corresponding to the write pointer in the video memory.


ΔPWVBIstart=b ΔtVBIstart


[0066] ΔPWVBIend=b ΔtVBIend


[0067] The value of α then becomes:
11α=Pw_OUT+ΔPw_VBI_start-Pw_INΔPw_FIELDifPW_OUT+ΔPW_VBI_startPW_INorα=PW_OUT+NCAP·ΔPW_FIELD+ΔPW_VBI_start-PW_INΔPW_FIELD


[0068] if PWOUT+ΔPWVBIstart<PWIN


[0069] If the request for a new output field arrives during the VBI interval, PW not being updated during these intervals, it is then possible to round the value of α to 0 or to 1 depending on whether this request arrives during the VBI interval preceding or following the active video.


[0070] Concerning the line blanking signals (or horizontal blanking signals) corresponding to the line flyback, their duration is short enough to be neglected.


[0071] The above reasoning were conducted with regard to signals with interlaced type scanning, that is to say with regard to fields. Of course, the invention applies equally to frames if, for example, the input signal corresponds to a progressive type scanning. It is the successive frames which are then stored. Likewise, the output signal, which depends on the type of interpolation, can be of interlaced or progressive type without thereby departing from the domain of the invention.


Claims
  • 1. Process for the frequency conversion utilizing a dynamic calculation of the interpolation phases, of an input video signal at a frequency F1 defined by a synchronization signal S1 into an output video signal at a variable frequency F2 defined by a synchronization signal S2, comprising a writing of the input signal to a memory on the basis of a write pointer PW and a reading, from the memory, to obtain the output signal, wherein it stores the position of the write pointer PW on receipt of the synchronization signal S1 so as to provide a value Pw-IN, and on receipt of the synchronization signal S2 so as to provide a value PW—OUT, in that it dynamically calculates an interpolation phase α (12, 13, 14, 15) such that:
  • 2. Process according to claim 1, wherein three or four successive fields or frames are stored in the memory and in that the interpolation is performed on the fields or frames following that being stored upon receipt of the signal S2 utilized for the calculation of the interpolation phase, on the basis of this calculated interpolation phase.
  • 3. Process according to claim 1, wherein the calculation of the interpolation phase takes into account a shift of the write pointer corresponding to the duration of the field or frame blanking signal before the active video.
  • 4. Dynamic frequency conversion device for converting an input signal at a frequency F1 defined by a synchronization signal S1 into an output signal at a variable frequency F2 defined by the receipt of a synchronization signal S2, comprising a video memory for writing the input signal on the basis of a write pointer PW, an interpolation circuit receiving the outputs from the memory for the reading of a field or frame T1 as first access followed by a next field or frame T2 as second access, wherein it also comprises: a circuit for storing the pointer PW on receipt of the signal S1 so as to provide a value PW—IN, a circuit for storing the pointer PW on receipt of the signal S2 so as to provide a value PW—OUT, a circuit for calculating interpolation phase 13α=PW_OUT-PW_INΔ⁢ ⁢PW_FIELD⁢ ⁢if⁢ ⁢PW_OUT≥PW_INorα=PW_OUT+NCAP·Δ⁢ ⁢PW_FIELD-PW_INΔ⁢ ⁢PW_FIELD⁢ ⁢if⁢ ⁢PW_OUT<PW_INΔPW—FIELD being the memory quantity required for the storage of a field or frame of the input signal and NCAP the capacity of the memory expressed in terms of number of fields or frames, and in that the interpolation circuit is coupled to the calculating circuit so as to receive this interpolation phase and calculate the interpolated field or frame as a function of the interpolation phase.
  • 5. Device according to claim 4, wherein the calculating circuit consists of a subtractor, a multiplexer, a multiplier and an adder.
Priority Claims (1)
Number Date Country Kind
9916053 Dec 1999 FR