Brevet FR2802754A1 — publié le 20010622

-Ai L'invention concerne un procédé et dispositf de conversion de fréquence de signaux vidéo, exploitant un calcul dynamique des phases d'interpolation. Des dispositifs connus de conversion de fréquence sont exploités, entre autres, pour la conversion de standard, par exemple, la conversion d'un signal PAL ou SECAM 50Hz en un signal NTSC 60Hz. Ils sont également exploités pour augmenter la fréquence de balayage des récepteurs de télévision, typiquement de 50 Hz vers 100 Hz, à des fins io d'amélioration de la qualité de l'image, par réduction du papillotement de large plage. Dans le cas général, la fréquence du signal à convertir et la fréquence du signal converti sont connues à l'avance. Le procédé d'interpolation consiste à créer des trames intermédiaires entre deux trames de référence du signal d'entrée à convertir. Ce procédé est schématisé en figure 1. Les trames référencées 1 et 2 correspondent respectivement à la trame de référence précédente de la séquence vidéo d'entrée et à la trame de référence suivante de cette séquence. La trame référencée 3 est la trame intermédiaire à créer. Cette trame est localisée temporellement entre la trame précédente et la trame suivante, à un instant défini par une valeur a correspondant à la phase d'interpolation. Si tprec et tsuiv correspondent aux instants relatifs à la trame précédente et à la trame suivante, I'instant tinterp relatif à la trame intermédiaire à interpoler est alors: tinterp = tprec + a (tsu, tprec) = tsuiv - (1-(a) (tsuiv - tprec) De manière connue, le traitement d'interpolation peut faire appel à un filtrage linéaire exploitant des filtres spatio-temporels à réponse impulsionnelle finie, ou à une interpolation compensée en mouvement. Les procédés de traitement exploités nécessitent la connaissance de la phase d'interpolation pour chaque trame à interpoler. 2 2802754 Dans le cas ou le signal d'entrée ou de sortie n'est pas astreint à une norme définissant sa fréquence, un dispositif de conversion spécifique à ces signaux et en particulier à leur caractéristique de fréquence de balayage doit être conçu. Cette spécificité génère bien sûr des coûts élevés. D'autre part, une modification des caractéristiques de balayage d'un signal rend inexploitable un tel dispositif ou, du moins, nécessite soit une intervention manuelle pour le rendre compatible du ou des signaux modifiés, soit la présence de circuits spécifiques à ces nouvelles caractéristiques. L'invention a pour but de pallier les inconvénients précités. A cet effet, l'invention concerne un procédé de conversion de fréquence trame ou image exploitant un calcul dynamique des phases d'interpolation, d'un signal vidéo d'entrée à une fréquence F1 définie par un signal de i5 synchronisation Sl en un signal vidéo de sortie à une fréquence variable F2 définie par un signal de synchronisation S2, comportant une écriture du signal d'entrée dans une mémoire à partir d'un pointeur d'écriture Pw et une lecture, dans la mémoire, pour obtenir le signal de sortie, caractérisé en ce qu'il mémorise la position du pointeur d'écriture Pw à la réception du signal de synchronisation S1 pour fournir une valeur PWIN, et à la réception du signal de synchronisation S2 pour fournir une valeur Pw OUT, en ce qu'il calcule de manière dynamique une phase d'interpolation a telle que: P-07 -P.m a W _OLT W" IN Si Pw OUT > PW IN APW FJELD OU Pg-OUT + NC AP'PW FIELD - PW IV a- = Si PW OUT à cette valeur. 3 2802754 Selon une caractéristique particulière, trois ou quatre trames ou images successives sont simultanément mémorisées dans une mémoire et l'interpolation est effectuée sur les trames ou images précédant celle en cours de mémorisation lors de la réception du signal S2 exploité pour le calcul de la phase d'interpolation, à partir de cette phase d'interpolation calculée. Selon une autre caractéristique, le calcul de la phase d'interpolation prend en compte un décalage du pointeur d'écriture correspondant à la durée du signal de suppression de trame ou image avant la vidéo active L'invention concerne également un dispositif de conversion de fréquence dynamique pour la conversion d'un signal d'entrée à une fréquence F1 définie par un signal de synchronisation SI en un signal de sortie à une fréquence variable F2 définie par la réception d'un signal de synchronisation S2, comportant une mémoire pour l'écriture du signal d'entrée à partir d'un pointeur d'écriture PW, un circuit d'interpolation recevant les sorties de la mémoire pour l'accès en lecture à une trame ou image précédente T1 et l'accès en lecture à une trame ou image suivante T2, caractérisé en ce qu'il comporte également: un circuit de mémorisation du pointeur Pw à la réception du signal SI pour fournir une valeur PW_IN, un circuit de mémorisation du pointeur Pw à la réception du signal S2 pour fournir une valeur PW_OUT, un circuit de calcul de phase d'interpolation Pw o-P.tv PW OUT-" W N a =- - Si Pw OUT > Pw IN W FIELD OU Pw oU;r + Nc.4p"APw nF'_L - P, IN a = si I Pw OUT APW FIELD APW_FIELD étant la quantité mémoire nécessaire au stockage d'une trame ou image du signal d'entrée et NCAP la capacité de la mémoire exprimée en nombre de trames ou d'images, 4 2802754 et en ce que le circuit d'interpolation est couplé au circuit de calcul pour recevoir cette phase d'interpolation et calculer la trame ou l'image interpolée en fonction de la phase d'interpolation. Grâce à l'invention, le procédé calcule automatiquement la phase d'interpolation correspondant au signal de sortie à générer, lorsque la fréquence de balayage de ce signal de sortie n'est pas connue à priori. Le dispositif obtenu est compatible de tout type de signal de 1o sortie, du moins dans une large gamme de fréquence. Il s'agit d'un dispositif simple à mettre en oeuvre et d'un coût réduit. Il permet d'alimenter des appareils à fréquence de balayage ajustable, tels que des moniteurs d' ordinateurs personnels de type PC. is Les caractéristiques et avantages de la présente invention ressortiront mieux de la description suivante, donnée à titre d'exemple et en référence aux figures annexées o: - la figure 1 représente une interpolation de trame - la figure 2 représente de manière schématique un dispositif de conversion de fréquence - la figure 3 représente de manière détaillée un dispositif de conversion de fréquence - la figure 4 représente des intervalles de suppression de trame. Le dispositif de conversion de fréquence trame, mettant en oeuvre le procédé, est représenté de manière schématique en figure 2. Un signal vidéo d'entrée Vidéo In est transmis à un circuit d'interface mémoire 4. Avec ce signal est transmis un signal de synchronisation horizontale et verticale HNsync in; une impulsion indique le début d'une nouvelle ligne (synchronisation horizontale) ou d'une nouvelle trame (synchronisation verticale). L'information vidéo transportée par le signal vidéo est relative à chaque pixel, une ligne vidéo étant constituée d'une succession de pixels et une trame d'une succession de lignes. Une mémoire vidéo dynamique RAM 2802754 mémorise à des adresses successives les données numériques transitant par l'interface mémoire 4. La capacité mémoire est telle qu'au moins deux trames consécutives peuvent être mémorisées. Ces deux trames sont les trames de référence appelées précédemment trame précédente et trame suivante. Le signal vidéo de sortie Vidéo Out est synchrone d'un signal de synchronisation Vsync out provenant de l'appareil alimenté par le dispositif de conversion et correspondant à la fréquence de balayage souhaitée. Les données vidéo mémorisées dans la RAM 5 sont transmises, via une io interface mémoire 6, vers un circuit d'interpolation 7. Ce circuit d'interpolation 7 reçoit donc le signal Vsyn: out à partir duquel il calcule les trames interpolées. Etant donné que le rapport des fréquences du signal d'entrée et du signal de sortie n'est pas connu à priori, les phases d'interpolation sont calculées de manière dynamique. Le circuit d'interpolation fonctionne donc d'une manière asynchrone par rapport au signal d'entrée et est commandé par le signal de synchronisation Vsync-Out provenant de l'appareil alimenté par le signal vidéo de sortie, par exemple provenant d'une carte graphique d'un moniteur d'ordinateur de type PC dans le cas d'un convertisseur TV --> PC. La figure 3 représente de manière plus détaillée un exemple d'un dispositif de conversion de fréquence. L'information vidéo en entrée du dispositif est mémorisée dans la mémoire 8. Cette mémoire a une capacité de 4 trames et permet grâce à un double accès lecture, d'accéder à 2 trames consécutives corrmlètes pour réaliser l'interpolation. Cela permet d'éviter les problèmes de synchronisation, la trame lue dans une mémoire étant alors la dernière trame entièrement mémorisée dans cette mémoire. Il s'agit d'un exemple et la capacité mémoire peut bien sûr être inférieure, par exemple 3 trames, ou moins si l'on commence à lire une trame avant qu'elle ne soit entièrement mémorisée, ce qui nécessite alors des précautions au niveau de la gestion des pointeurs. L'interpolation est réalisée entre la trame T1 et la trame qui lui succède immédiatement T2. 6 2802754 Un signal de syrnc:hronisation verticale VSYNCIN appelé par la suite Sl est disponible à chaque trame d'entrée. Une impulsion toutes les quatre impulsions est transrmise sur l'entrée Remise à Zéro (RaZ) d'un compteur d'adresses écriture 9, c'est le signal VSYNCIN /4. La sortie de ce compteur est reliée aux entrées adresse de la mémoire 8. Elle est également transmise aux entrées d'un registre REG.IN 10 et d'un registre REG.OUT 11. Le registre REG.IN mémorise la valeur du pointeur d'écriture, c'est à dire l'adresse PW jIN présente sur le bus adresses, à la réception du io signal de synchronisation vertical d'entrée VSYNCIN transmis sur l'entrée horloge du registre. Le registre REGOUT mémorise la valeur du pointeur d'écriture, c'est à dire l'adresse PWOUT présente sur le bus d'adresses, à la réception du signal de synchronisationl vertical de sortie VsYNc OUT transmis sur I'entrée horloge du registre. Ce signal VSYNC OUT est aussi appelé S2. Un soustracteur 12 reçoit les données PwIN et PwOUT fournies par les registres 10 et 11. Sa sortie (Pw OUT- PWJN) est signée et transmise, comme signal SGN, à une entrée de commande d'un multiplexeur 13 ainsi qu'à une entrée d'un multipreur 14. Le multiplexeur 13 reçoit une entrée nulle et une entrée égale à la constante NCAP exprimant, en nombre de trames, la capacité de la mémoire 8. Ce multiplexeur est piloté par le signal SGN, de manière à ce que sa sortie soit positionnée à la valeur 0 si (Pw ouT PWIN) > O et à la valeur NCAP si (Pw OUT - PWIN) d'un circuit à retard 17, à l'interpolateur 20. L'information PwouTr provenant du registre REG.OUT 11 est également transmise à un circuit de mémorisation et de calcul 16. Ce circuit mémorise la dernière valeur du pointeur Pw ouT. Il fournit, sur ses deux sorties, une première valeur de chargement "chargement 1 " et une deuxième valeur de chargement "chargement 2". Ces valeurs de 7 2802754 chargement sont modifiées pour chaque trame de sortie. Elles sont déphasées d'une trame. Le pointeur écriture Pw de la mémoire 8 est enregistré lors de la réception d'une impulsion de synchronisation verticale du signal d'entrée (VsYNCIN) et lors de la réception d'une impulsion de synchronisation verticale du signal de sortie (VsYNC OUT). Les informations correspondantes PWIN et Pw OUT représentent respectivement l'adresse de départ de la trame courante enregistrée dans la mémoire et la valeur du pointeur Pw à 1o l'instant o l'impulsion de synchronisation du signal de sortie est reçue, déclenchant le calcul de la nouvelle trame de sortie interpolée. Soient tprec et tsuv les instants de réception de la trame de référence précédente et suivante utilisées pour le calcul de la trame interpolée, c'est à dire les instants de réception des signaux de synchronisation de ces trames. Soit tINTERP la position temporelle de la trame interpolée. D'après la figure 1, nous avons: 1o - tprec a int erp prec tsuiv -tprec Si b est le débit d'entrée dans la mémoire 8 des mots correspondant au signal vidéo d'entrée, en général le signal de luminance, et si APw FIELD est la quantité mémoire nécessaire au stockage d'une trame d'entrée, on a, par définition de Pw OUTet PW_ IN b (tlNTERP-tPREv) = PWOUT- PWIN b (tNEXT-tPREV) = APw_FIELD d'o l'on déduit: Pl 017T - IN APW /RELD En pratique, la capacité NCAP.A PWFIELD de la mémoire 8 est finie et les trames d'entrée y sont écrites de manière cyclique. Ainsi, si leur capacité est de NCAP = 4 trames, après remplissage de ces mémoires à 8 2802754 partir de l'adresse 0 par les quatre premières trames reçues, l'écriture de la cinquième trame débutera à l'adresse 0 et viendra donc écraser le contenu de la première trame. Dans cette configuration o Pw OUT devient inférieur à PW IN, il convient de modifier la formule précédente de calcul de a de la manière suivante: P._ 01T + NC.P'AP.' FIELD - P' IN a= APw -FZ1:) PWOUT - PWIN est calculé par le soustracteur 12. La correction à effectuer, s'il y a lieu, est réalisée par io l'additionneur 15. La constante K transmise en entrée du multiplieur 14 est la ] valeur APW FIELD Cette valeur est connue a priori. La sortie de l'additionneur 15 correspond à la valeur a calculée à chaque arrivée des signaux de synchronisation trame. Ce coefficient a est retardé par le circuit à retard 17 de manière à pouvoir s'appliquer correctement sur le jeu de trames T1 et T2. Le circuit de mémorisation et de calcul 16 calcule les adresses lecture concernant les deux accès de la mémoire 8. A la réception du signal de synchronisation VSYNCOUT. la valeur Pw ouT du pointeur d'écriture est mémorisée. Cette valeur est utilisée pour calculer l'adresse de départ pour la lecture des trames T1 et T2 exploitées pour l'interpolation. Etant donné que quatre trames successives sont mémorisées dans une mémoire, il est nécessaire de connaître laquelle sera lue et ceci dépend de la position du pointeur d'écriture à l'instant de réception du signal de synchronisation VSYNCOUT. Si N est le nombre d'adresses correspondant à une trame et si la valeur du pointeur, lors de la réception du signal S2, est comprise entre 0 et N, la valeur de chargement pour la première trame T1 à lire sera l'adresse 2N et la valeur de chargement pour la deuxième trame T2 à lire sera l'adresse 3N, valeurs correspondant aux deux dernières trames complètes 9 2802754 chargées dans la mémoire. Si cette valeur du pointeur est comprise entre N et 2N, cela signifie q-e la deuxième trame est en cours de mémorisation dans la mémoire 8 et a valeur de chargement pour la trame T2 sera alors l'adresse 0. On a donc chargemen: 1 = N x (partie entière i '.) + 2N (modulo 4N) La trame T2 correspord alors à la valeur de "chargement 2": chargemen: 2 = N x (partie entière ( '.) + 3N (modulo 4N) Deux compteurs de lecture 18 et 19 reçoivent, sur une entrée chargement, respectivement les sorties "chargement 1 " et "chargement 2" io provenant du circuit de mémorisation et de calcul 16. Les entrées de validation chargement des compteurs sont alimentées par le signal de synchronisation VSYNC OUT. Les valeurs "chargement 1 " et "chargement 2" sont mémorisées à la réception du signal de synchronisation VSYNC OUT. Les compteurs sont initialisés à ces valeurs et leurs sorties sont reliées à la i5 mémoire 8 pour déclencher la lecture des données vidéo des trames T1 et T2 dans la mémoire à partir des valeurs d'initialisation. Les données vidéo lues sont transmises à un interpolateur 20 qui réalise le calcul de 'a trame interpolée, en fonction de sa localisation temporelle définie pa, la valeur de cc, relativement aux trames sources de référence T1 et T2, suivant un procédé connu, par exemple utilisant un filtrage linéaire spa-o-temporel ou une interpolation compensée en mouvement. Les données vidéo ainsi calculées sont transmises en sortie de l'interpolateur pour constituer le signal de sortie du dispositif. Les calculs précédents supposent un flux continu des données du signal vidéo d'entrée. En fait, les signaux comportent un intervalle de suppression de trarne (VBI pour l'appellation anglaise Vertical Blanking Interval) pendant lequel s'effectue le retour de balayage trame. Deux solutions peuvent alors être mises en oeuvre: - soit le signal vidéo, correspondant à ce laps de temps VBI, est écrit dans la mémoire vidéo, entraînant alors une occupation de mémoire par des signaux non exploités. Alors la valeur PwouTr - PWjIN représente o10 2802754 effectivement le temps écoulé depLs le début de réception de la trame courante. - soit seule la partie active du signal vidéo est mémorisée et il est alors nécessaire de prendre en compte l'offset ou décalage généré par ce signal VBI, de la manière décrite ci-après, à l'aide de la figure 4. Un axe des temps est symbolisé sur cette figure 4. VSYNC correspond aux signaux de synchronisation verticale. Le signal vidéo est constitué d'un signal de suppression de trame VBI (de l'anglais Vertical Blanking Interval) précédant la vidéo active, pendant un temps Atil start et d'un signal VBI succédant à la io vidéo active AtVB lend. Soient APw vB start et APWVBIend les offsets ou décalages correspondant du pointeur écriture dans la mémoire vidéo. APw vBi start = b AtVB lstart APw_vBI_end = b AtVBs_end La valeur de ao devient alors: -l Ot'T + APw_ FBI _sta- PWI APW FIELD Si PW_OUT + APW VBIistart> PNVIN OU - 017 + N1.APrW FIE.:) + APF WBI B-.ar - P I_,V APr' FIELD Si Pw OUT+ Apw VBI start Si la demande pour une nouvelle trame de sortie arrive pendant l'intervalle VBI, Pw n'étant pas mis à jour pendant ces intervalles, il est alors possible d'arrondir la valeur de ac à 0 ou à 1 selon que cette demande arrive pendant l'intervalle VBI précédent ou suivant la vidéo active. Concernant les signaux de suppression de ligne (horizontal blanking en anglais) correspondant au retour ligne, leur durée est suffisamment courte pour être négligée. Les raisonnements précédents ont été effectués sur des signaux à balayage de type entrelacé, c'est à dire sur des trames. Bien sûr, il 2802754 l'invention s'applique également à des images si, par exemple, le signal d'entrée correspond à un balayage de type progressif. Ce sont les images successives qui sont alors mémorisées. De même, le signal de sortie, qui dépend du type d'interpolation, peut être de type entrelacé ou progressif sans sortir pour autant du domaine de l'invention. 12 2802754 REVENDICATIONS 1 Procédé de conversion de fréquence exploitant un calcul dynamique des phases d'interpolation, d'un signal vidéo d'entrée à une fréquence F1 définie par un signal de synchronisation SI en un signal vidéo de sortie à une fréquence variable F2 définie par un signal de synchronisation S2, comportant une écriture du signal d'entrée dans une mémoire (8) à partir 1o d'un pointeur d'écriture Pw et une lecture. dans la mémoire, pour obtenir le signal de sortie, caractérisé en ce qu'il mémorise la position du pointeur d'écriture Pwà la réception du signal de synchronisation Sl pour fournir une valeur Pw IN, et à la réception du signal de synchronisation S2 pour fournir une valeur Pw OUT, en ce qu'il calcule de manière dynamique une phase d'interpolation a (12, 13, 14, 15) telle que: Pwo, -Pwl a= 0 - o WsIN i Pw OUT > Pw IN W _ FIELD OU ou Pa ' o T + NCe.APW FIELD - P si PWOUT APW _FIELD A PW FIELD étant la quantité mémoire nécessaire au stockage d'une trame ou image du signal d'entrée et NCAP la capacité de la mémoire (8) exprimée en nombre de trames ou images, et en ce qu'il effectue une interpolation de phase (20) correspondant à cette valeur. 2 Procédé selon la revendication 1, caractérisé en ce que trois ou quatre trames ou images successives sont mémorisées dans la mémoire (8) et en ce que l'interpolation est effectuée sur les trames ou images succédant celle en cours de mémorisation lors de la réception du signal S2 exploité pour le calcul de la phase d'interpolation, à partir de cette phase d'interpolation calculée. 1 3 2802754 3 Procédé selon la revendication 1, caractérisé en ce que le calcul de la phase d'interpolation prend en compte un décalage du pointeur d'écriture correspondant à la durée du signal de suppression de trame ou image avant la vidéo active. 4 Dispositif de conversion de fréquence dynamique pour la conversion d'un signal d'entrée à une fréquence F1 définie par un signal de synchronisation Sl en un signal de sortie à une fréquence variable F2 définie par la réception d'un signal de synchronisation S2, comportant une mémoire vidéo 1o (8) pour l'écriture du signal d'entrée à partir d'un pointeur d'écriture Pw, un circuit d'interpolation (20) recevant les sorties de la mémoire (8) pour la lecture d'une trame ou image Tl en premier accès puis une trame ou image suivante T2 en deuxième accès, caractérisé en ce qu'il comporte également: un circuit de mémorisation (10) du pointeur Pw à la réception du signal Sl pour fournir une valeur PWIN, un circuit de mémorisation (11) du pointeur Pw à la réception du signal S2 pour fournir une valeur PW_OUT, un circuit de calcul (12, 13, 14, 15) de phase d'interpolation a = - _v Si PWOUT > PWIN "P, _FIELD ou OU pw OIT + NJCA, IAP FIELD -" A. I Pa + FIEL - Si Pw OUT WPV _.ELD APWFIELD étant la quantité mémoire nécessaire au stockage d'une trame ou image du signal d'entrée et Nc. la capacité de la mémoire (8) exprimée en nombre de trames ou d'images, et en ce que le circuit d'interpolation (20) est couplé au circuit de calcul (12, 13, 14, 15) pour recevoir cette phase d'interpolation et calculer la trame ou image interpolée en fonction de la phase d'interpolation. Dispositif selon la revendication 4, caractérisé en ce que le circuit de calcul est constitué d'un soustracteur (12), d'un multiplexeur (13), d'un multiplieur (14) et d'un additionneur (15).