Brevet FR2849330A1 — publié le 20040625

DESCRIPTION Domaine technique de l'invention La présente invention concerne un convertisseur d'un signal numérique d'entrée en un signal numérique de sortie, ledit convertisseur comprenant un ensemble de registres à décalage aptes à contenir des échantillons du signal numérique d'entrée ou de sortie. Elle concerne également un procédé de conversion d'un signal numérique d'entrée en un signal numérique de sortie. Elle trouve notamment son application dans les récepteurs numériques de télévision, 10 par exemple lors d'une conversion du format d'image. Etat de la technique antérieure Dans de nombreux systèmes vidéo, il est souvent nécessaire d'effectuer une conversion d'un signal numérique d'une première fréquence d'échantillonnage vers une seconde fréquence d'échantillonnage, en fonction du format d'image requis par le dispositif de réception La conversion conduit à un agrandissement ou à une réduction de l'image d'origine correspondant à un sur-échantillonnage ou un souséchantillonnage de ladite image. Une telle conversion peut être mise en oeuvre grâce à un filtre à réponse impulsionnelle finie FIR à structure polyphase Le brevet canadien numéro 2,144,111 décrit une méthode de conversion utilisant un tel filtre Le terme polyphase indique une représentation périodique des déphasages entre un échantillon du signal numérique d'entrée et un échantillon du signal numérique de sortie Ces déphasages sont calculés en fonction de l'inverse d'un facteur de zoom, le facteur de zoom représentant le ratio entre le nombre 25 d'échantillons du signal de sortie et le nombre d'échantillons du signal d'entrée Le filtre polyphase fonctionne en mode direct pour un agrandissement de l'image, i e pour un facteur de zoom supérieur à 1, et en mode transposé pour une réduction de l'image, i e. pour un facteur de zoom inférieur à 1. Un filtre polyphase conventionnel comprend un convolueur apte à fournir un signal 30 numérique de sortie échantillonné à une fréquence f 2 à partir d'un signal numérique d'entrée échantillonné à une fréquence fl et d'un ensemble de coefficients de filtrage Une mémoire associe à chaque déphasage possible un ensemble de N coefficients de filtrage Le convolueur comprend des registres à décalage permettent de stocker temporairement les échantillons du signal d'entrée dans le mode direct de fonctionnement du filtre polyphase ou 35 les échantillons du signal de sortie dans son mode transposé de fonctionnement Des moyens de calcul permettent de calculer d'une part le déphasage, et, d'autre part le signal de décalage des registres à décalage. Un tel filtre polyphase est conçu spécifiquement, d'une part pour un nombre n prédéterminé de coefficients de filtrage par ensemble, et d'autre part pour un mode de fonctionnement direct ou transposé Le signal de décalage est calculé par incrémentation successive de l'inverse du facteur de zoom, ce calcul étant réalisé par une unité de calcul dédiée à un filtre polyphase donné Par conséquent, ladite unité de calcul est conçue spécifiquement pour ce filtre polyphase et n'est pas utilisable par un autre filtre polyphase. Exposé de l'invention La présente invention a pour but de proposer un procédé et un dispositif de conversion tel que décrit dans le paragraphe introductif, qui soit apte à générer un signal de décalage unique pour des nombres N différents de coefficients de filtrage, et pour les modes de fonctionnement direct et transposé. A cet effet, le dispositif de conversion selon l'invention est remarquable en ce qu'il comprend une unité de calcul apte à fournir un signal de décalage à l'ensemble de registres 15 et comprenant une première unité de stockage apte à contenir une valeur d'un rapport de conversion ou de son inverse de sorte que la valeur stockée est comprise entre O et 1, une seconde unité de stockage apte à contenir à un temps de cycle i+ 1, i étant un entier, un signal futur égal à une somme d'un signal courant contenu dans la seconde unité au temps de cycle i et du contenu de la première unité de stockage, le signal de décalage résultant 20 d'une fonction ou exclusif entre un bit de poids fort du signal courant et un bit de poids fort du signal futur. Ainsi, quand l'unité de calcul est activée, la seconde unité de stockage est incrémentée ou décrémentée à chaque temps de cycle par la valeur contenue dans la première unité de stockage Le signal de décalage résulte alors d'un ou exclusif entre la 25 partie entière d'une position d'un échantillon à un temps de cycle i+ 1 et la partie entière d'une position d'un échantillon à un temps de cycle i Cela signifie que chaque fois qu'une retenue est délivrée, i e une partie entière d'un signal courant ou futur est égale à 1, le signal de décalage est à son niveau haut. Ainsi, un seul câblage est nécessaire pour l'unité de calcul, ladite unité étant en 30 outre indépendante du filtre polyphase et pouvant être utilisée par tout type de filtres polyphases quels que soient leur nombre N de coefficients de filtrage ou leur mode de fonctionnement De plus, comme nous le verrons plus en détails dans la description, seuls quelques signaux sont nécessaires afin de synchroniser le signal de décalage délivré par cette unité de calcul. Brève description des dessins Ces aspects de l'invention ainsi que d'autres aspects plus détaillés apparaîtront plus clairement grâce à la description suivante de plusieurs modes de réalisation de l'invention, donnés à titre d'exemples non limitatifs et en regard des dessins annexés parmi lesquels: la Fig 1 est un diagramme représentant le fonctionnement en mode direct d'un filtre polyphase à 2 coefficients, la Fig 2 illustre la détermination du signal de décalage et du déphasage dans le fonctionnement en mode direct, la Fig 3 est un diagramme représentant le fonctionnement en mode transposé d'un filtre polyphase à 2 coefficients, la Fig 4 illustre la détermination du signal de décalage et du déphasage dans le fonctionnement en mode transposé, la Fig 5 est un diagramme représentant une unité de calcul du signal de décalage selon l'invention, et la Fig 6 est un diagramme d'état illustrant le fonctionnement de ladite unité de calcul. Exposé détaillé d'au moins un mode de réalisation de l'invention La présente invention concerne un convertisseur d'un signal numérique d'entrée en un signal numérique de sortie, comprenant un filtre utilisé en structure polyphase Elle a été 20 développée dans le cas d'une conversion de format de données vidéo, le signal numérique comprenant des échantillons de type pixels mais reste applicable à d'autres types de données comme les données audio par exemple Dans le cas de données vidéo, les valeurs de pixels qui sont filtrées sont, par exemple, les données de luminance ou de chrominance. Le fonctionnement d'un filtre polyphase est décrit en référence aux Figs 1 et 3, respectivement en mode de fonctionnement direct et transposé Le filtre polyphase comprend un convolueur ( 12,14) et une mémoire ( 11,13) La mémoire ( 11,13) contient un ensemble de N coefficients de filtrage pour chaque valeur prise par un déphasage ( 3) entre un pixel du signal numérique de sortie et un pixel du signal numérique d'entrée. Dans le mode direct de fonctionnement, le convolueur ( 12) comprend deux registres à décalage ( 121,122) aptes à décaler un pixel du signal d'entrée ( 1) lors de leur activation par un signal de décalage ( 4) Il comprend également un dispositif de sommation SUM ( 125) apte à additionner les produits issus de multiplieurs ( 123,124), un multiplieur étant apte à effectuer le produit d'une valeur d'un pixel du signal d'entrée par un coefficient de filtrage lui 35 correspondant pour un déphasage ( 3) donné, ceci afin de délivrer un pixel du signal de sortie ( 2). La Fig 2 illustre le fonctionnement du filtre polyphase en mode direct dans le cas d'un facteur de zoom égal à 8/5, correspondant donc à un rapport de la fréquence f 2 du signal numérique de sortie sur la fréquence fl du signal numérique d'entrée égal à 8/5. Dans ce cas, le nombre N de coefficients de filtrage par ensemble est égal à 2. A un instant t, le déphasage ( 3) est égal à O et le signal de décalage ( 4) est à égal à 1 Les premier ( 121) et second ( 122) registres à décalage contiennent respectivement, après décalage, les valeurs des deuxième et premier pixels d'entrée ip 2 et ipl Les coefficients de filtrage sont respectivement O et 1 Il en résulte que la valeur du premier pixel opl du signal de sortie ( 2) est égale à la valeur du premier pixel ipl du signal d'entrée 10 ( 1). Le facteur de zoom inversé est égal à 0 625 ou 5/8 Au temps de cycle suivant t+ 1, le déphasage est donc égal à 5/8 après incrémentation et le signal de décalage est égal à 0. Les premier et second registres à décalage contiennent donc toujours respectivement les valeurs des deuxième et premier pixels d'entrée ip 2 et ipl Il en résulte que la valeur du 15 deuxième pixel de sortie op 2 est égale à la somme des produits des valeurs des pixels d'entrée ipl et ip 2 par les deux coefficients de filtrage correspondant au déphasage de 5/8. Au temps de cycle suivant t+ 2, après une nouvelle incrémentation du facteur de zoom, la position du deuxième pixel de sortie op 2 dans la grille des pixels d'entrée a une partie entière égale à 1 et une partie fractionnaire égale à 1/4, ce qui correspond à un signal 20 de décalage égal à 1 et à un déphasage égal à 1/4 Les premier et second registres à décalage contiennent donc, après décalage, respectivement les valeurs des troisième et deuxième pixels d'entrée ip 3 et ip 2 Il en résulte que la valeur du troisième pixel de sortie op 3 est égale à la somme des produits des valeurs des pixels d'entrée ip 2 et ip 3 par les deux coefficients de filtrage correspondant au déphasage de 1/4. En itérant l'opération, on obtient une suite périodique de 8 déphasages égaux à { O 5/8 1/4 7/8 1/2 1/8 3/4 3/8} et 8 pixels de sortie pour 5 pixels d'entrée. Dans le mode de fonctionnement direct, on peut observer que le signal de décalage est activé chaque fois qu'un pixel d'entrée a fini de contribuer à tous les pixels de sortie auxquels il devait contribuer. Dans le mode transposé de fonctionnement décrit à la Fig 3, le convolueur ( 14) comprend 2 multiplieurs ( 141,142) aptes à effectuer le produit d'un coefficient de filtrage issu de la mémoire ( 13) par un pixel courant du signal numérique d'entrée La sortie du premier multiplieur ( 141) est reliée à l'entrée d'un premier registre à décalage ( 143) Un 35 additionneur ( 145) est apte à effectuer une somme des valeurs issue du premier registre à décalage et d'un second multiplieur ( 142) et fournit une valeur d'un pixel du signal numérique de sortie ( 2) qui est stocké temporairement dans un second registre à décalage ( 144) Les registres à décalage sont aptes à être activés par un signal de décalage ( 4). La Fig 4 illustre le fonctionnement du filtre polyphase en mode transposé dans le cas d'un facteur de zoom égal à 5/8, correspondant donc à un rapport de la fréquence f 2 du signal numérique de sortie sur la fréquence fl du signal numérique d'entrée égal à 5/8. Dans ce cas, le nombre N de coefficients de filtrage par ensemble est encore égal à 2. Le mode de fonctionnement transposé illustre le fait qu'il n'est pas possible d'utiliser la position des pixels de sortie dans la grille des pixels d'entrée afin de générer le signal de décalage La solution consiste donc à incrémenter ou à décrémenter le facteur de zoom et 10 non plus le facteur de zoom inverse comme dans le mode direct de fonctionnement. Ainsi, à un instant t, le déphasage ( 3) est égal à O et le signal de décalage ( 4) est égal à 1 Le second registre à décalage ( 144) contient, après décalage, la valeur du produit de la valeur du premier pixel d'entrée ipl par un coefficient de filtrage égal à 1 Il en résulte que la valeur du premier pixel de sortie opl est égale à la valeur du premier pixel d'entrée 15 ipl. Le facteur de zoom est égal à 0 625 ou 5/8 Au temps de cycle suivant t+l, le déphasage est donc égal, après incrémentation, à 5/8 et le signal de décalage est égal à 0. Le premier registre à décalage ( 143) contient alors le produit de la valeur du deuxième pixel d'entrée ip 2 par un coefficient de filtrage correspondant au déphasage de 5/8. Au temps de cycle suivant t+ 2, après une nouvelle incrémentation du facteur de zoom, la position du troisième pixel d'entrée ip 3 dans la grille des pixels de sortie a une partie entière égale à 1 et une partie fractionnaire égale à 1/4, ce qui correspond à un signal de décalage égal à 1 et à un déphasage égale 1/4 Le contenu du premier registre à décalage est décalé et additionné au produit de la valeur du troisième pixel d'entrée ip 3 par 25 un coefficient de filtrage correspondant au déphasage de 1/4, puis elle est stockée dans le second registre à décalage La valeur du deuxième pixel de sortie op 2 est alors égale au contenu du second registre à décalage. En itérant l'opération, on obtient une suite périodique de 8 déphasages égaux à { O 5/8 1/4 7/8 1/2 1/8 3/4 3/8} et 5 pixels de sortie pour 8 pixels d'entrée. 30 La Fig 5 décrit une unité de calcul selon l'invention, apte à fournir un signal de décalage unique à l'ensemble de registres à décalage. Ladite unité comprend également une première unité de stockage, un premier ensemble de k registres à décalage ( 51) par exemple, apte à recevoir un rapport de 35 conversion, une valeur dudit rapport ou de son inverse étant comprise entre O à 1. Elle comprend une seconde unité de stockage, un second ensemble de k registres à décalage ( 52) par exemple, apte à contenir une position d'un pixel du signal de sortie à l'intérieur d'une grille des échantillons du signal d'entrée en mode direct ou d'un pixel du signal de sortie à l'intérieur d'une grille des échantillons du signal d'entrée en mode transposé La valeur du contenu de la seconde unité de stockage est comprise entre O et 2. L'unité de calcul comprend un additionneur ( 53) apte à effectuer une somme, addition ou soustraction selon que l'unité fonctionne en mode incrémentation ou décrémentation, du contenu du premier ensemble de registres à décalage ( 51) au contenu du second ensemble de registres à décalage ( 52) A titre d'exemple, les contenus des ensembles de registres sont représentés sur k= 24 bits, le bit numéro k-1 = 23 représentant la partie entière de la position du pixel et les bits O à k-2 = 22 représentant la partie 10 fractionnaire de ladite position. L'unité de calcul comprend également un multiplexeur ( 55) pour initialiser le second ensemble de k registres à décalage Ce multiplexeur a pour entrées la sortie de l'additionneur ( 53) et un signal d'initialisation ( 56), un signal de sélection permettant ( 57) de sélectionner le signal d'initialisation au début du traitement du signal d'entrée, par exemple 15 au début du traitement d'une image, puis de sélectionner le signal issu de l'additionneur La valeur du signal de sélection est sensiblement inférieure à 1 0 dans le cas d'une décrémentation, par exemple 7 FFFFF dans l'exemple o k= 24, et à 0 0 dans le cas d'une incrémentation. Elle comprend enfin un circuit réalisant la fonction 'ou exclusif' ( 54) entre la partie 20 entière du contenu du second ensemble de registres ( 52) à un temps de cycle i et la partie entière du contenu dudit ensemble à un temps de cycle i+ 1 Cela signifie que chaque fois qu'une retenue, i e une partie entière égale à 1, est délivrée par l'additionneur ( 53), le signal de décalage est à son niveau haut. La Fig 6 est un diagramme d'état illustrant le fonctionnement de l'unité de calcul du signal de décalage Ce diagramme comprend un état de repos IDLE, un état d'initialisation INIT, un état de chargement LOAD du facteur de zoom ou de son inverse selon le mode de fonctionnement choisi, et un état d'exécution RUN. L'unité de calcul reste dans l'état de repos en l'absence d'opération (Al) L'état de 30 repos est apte à prendre en compte un nouveau nombre N de coefficients de filtrage (A 2). L'état de repos est également apte à prendre en compte un nouveau facteur de zoom ou de son inverse (A 3). L'état d'initialisation est activé lorsque le mode transposé de fonctionnement du filtre est choisi (A 4), ceci afin de charger la valeur 7 FFFFF dans le second ensemble de registres à décalage ( 52) Il retourne (A 5) dans l'état de repos à la fin du traitement selon ce mode de fonctionnement L'état d'initialisation est de nouveau activé lorsque le nombre de coefficients de filtrage est supérieur à 2 (A 6). L'état INIT est activé lorsque le mode direct de fonctionnement est choisi (A 7). Lorsque le diagramme est dans l'état d'exécution, le second ensemble de registres à décalage est incrémenté ou décrémenté à chaque temps de cycle (A 9) A la fin du traitement selon ce mode de fonctionnement, l'unité de calcul retourne (A 8) à l'état de repos. La présente invention concerne enfin un récepteur numérique de télévision comprenant un convertisseur selon l'invention afin de modifier le format d'image, la modification pouvant être un changement de format, du format 4/3 vers le format 16/9 par 10 exemple, ou un réglage fin de la résolution de l'image. Aucun signe de référence entre parenthèses dans le présent texte ne doit être interprété de façon limitative Le verbe "comprendre" et ses conjugaisons doivent également être interprétés de façon large, c'est à dire comme n'excluant pas la présence non seulement d'autres éléments ou étapes que ceux listés après ledit verbe, mais aussi d'une pluralité d'éléments ou d'étapes déjà listés après ledit verbe et précédés du mot "un" ou "une". REVENDICATIONS 1 Convertisseur d'un signal numérique d'entrée ( 1) en un signal numérique de sortie ( 2), ledit convertisseur comprenant: un ensemble de registres à décalage ( 121,122,143,144) aptes à contenir des échantillons du signal numérique d'entrée ou de sortie, une unité de calcul apte à fournir un signal de décalage ( 4) audit ensemble de registres et comprenant: une première unité de stockage ( 51) apte à contenir une valeur d'un rapport de conversion ou de son inverse de sorte que la valeur stockée est comprise entre O et 1, une seconde unité de stockage ( 52) apte à contenir à un temps de cycle i+ 1, i étant un entier, un signal futur ( 8) égal à une somme d'un signal courant ( 7) contenu dans la seconde unité au temps de cycle i et du contenu de la première unité de stockage, le signal de décalage résultant d'une fonction ou exclusif ( 54) entre un bit de poids fort du signal courant ( 71) et un bit de poids fort du signal futur ( 81). 2 Unité de calcul apte à fournir un signal de décalage ( 4) à un ensemble de registres à décalage ( 121,122,143,144) d'un convertisseur d'un signal numérique d'entrée ( 1) en un 20 signal numérique de sortie ( 2) et comprenant: une première unité de stockage ( 51) apte à contenir une valeur d'un rapport de conversion ou de son inverse de sorte que la valeur stockée est comprise entre O et 1, une seconde unité de stockage ( 52) apte à contenir à un temps de cycle i+ 1, i étant un entier, un signal futur ( 8) égal à une somme d'un signal courant ( 7) contenu dans la 25 seconde unité au temps de cycle i et du contenu de la première unité de stockage, le signal de décalage résultant d'une fonction ou exclusif ( 54) entre un bit de poids fort du signal courant ( 71) et un bit de poids fort du signal futur ( 81). 3 Unité de calcul selon la revendication 2, comprenant un circuit d'initialisation ( 55) apte à charger un signal d'initialisation ( 56) dans la seconde unité de stockage ( 52) au début d'un traitement du signal numérique d'entrée ( 1). 4 Récepteur numérique de télévision comprenant un convertisseur selon la revendication 1. Procédé de conversion d'un signal numérique d'entrée ( 1) en un signal numérique de sortie ( 2), ledit procédé comprenant une étape de calcul apte à fournir un signal de décalage à un ensemble de registres à décalage, elle-même comprenant les sous-étapes de: stockage d'une valeur d'un rapport de conversion ou de son inverse de sorte que la valeur stockée est comprise entre O et 1, addition ou soustraction de la valeur stockée précédemment à un signal courant initialement égal à un signal d'initialisation, résultant en un signal futur, ou exclusif entre un bit de poids fort du signal courant et un bit de poids fort du signal futur. 6 Procédé de calcul d'un signal de décalage destiné à un ensemble de registres à décalage ( 121,122,143,144) d'un convertisseur d'un signal numérique d'entrée ( 1) en un signal numérique de sortie ( 2), ledit procédé comprenant les étapes de: stockage d'une valeur d'un rapport de conversion ou de son inverse de sorte que la valeur stockée est comprise entre O et 1, addition ou soustraction de la valeur stockée précédemment à un signal courant initialement égal à un signal d'initialisation, résultant en un signal futur, ou exclusif entre un bit de poids fort du signal courant et un bit de poids fort du signal futur.