FR2856218A1 - Appareil et procede de conversion de balayage - Google Patents
Appareil et procede de conversion de balayage Download PDFInfo
- Publication number
- FR2856218A1 FR2856218A1 FR0406237A FR0406237A FR2856218A1 FR 2856218 A1 FR2856218 A1 FR 2856218A1 FR 0406237 A FR0406237 A FR 0406237A FR 0406237 A FR0406237 A FR 0406237A FR 2856218 A1 FR2856218 A1 FR 2856218A1
- Authority
- FR
- France
- Prior art keywords
- scan data
- field
- spatial
- interpolation
- interlaced
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
- H04N7/012—Conversion between an interlaced and a progressive signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/0137—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/0142—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being edge adaptive
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Dans un appareil de conversion de balayage, un balayage entrelacé-progressif est effectué conformément à l'une d'au moins deux techniques différentes. La technique utilisée dépend des données de balayage entrelacées IDATA soumises à la conversion. A titre d'exemples, on peut sélectionner une technique d'interpolation spatiale, une technique d'interpolation spatiale/temporelle, ou une autre technique.
Description
<Desc/Clms Page number 1>
Divers types d'appareils d'affichage (par exemple des postes de télévision, des écrans d'ordinateur, etc.) utilisent généralement l'un de deux types de procédés d'affichage : le balayage entrelacé et le balayage progressif. Dans ces deux procédés, les images sont divisées en plusieurs lignes de balayage. Dans le procédé de balayage entrelacé, les lignes de balayage de numéros impairs et les lignes de balayage de numéros pairs sont affichées en alternance. Les lignes de balayage de numéros impairs de l'image sont désignées sous le nom de champ impair ou de champ supérieur. Les lignes de balayage de numéros pairs de l'image sont désignées sous le nom de champ pair ou de champ inférieur. Les champs supérieur et inférieur sont affichés en alternance à grande vitesse de telle façon qu'une personne ne voie qu'un seul écran composite. Dans le procédé de balayage progressif, l'image est affichée ligne par ligne, c'est-à-dire que toutes les lignes de balayage sont affichées.
Des données de balayage entrelacées peuvent être à base de champs ou à base de trames. On fournit ci-après un exemple de données de balayage entrelacées à base de trames, où "T" représente un champ supérieur, "B" représente un champ inférieur et "t" représente le temps :
Comme indiqué ci-dessus, les données de balayage entrelacées à base de trames comportent un champ supérieur et un champ inférieur d'une image qui sont déterminés en un même point dans le temps. Si les champs supérieur et inférieur provenant du même point dans le temps étaient combinés, une trame de données de balayage progressives serait alors produite. On fournit ci-après un exemple de données de balayage entrelacées à base de champs :
Comme indiqué ci-dessus, les données de balayage entrelacées à base de trames comportent un champ supérieur et un champ inférieur d'une image qui sont déterminés en un même point dans le temps. Si les champs supérieur et inférieur provenant du même point dans le temps étaient combinés, une trame de données de balayage progressives serait alors produite. On fournit ci-après un exemple de données de balayage entrelacées à base de champs :
<Desc/Clms Page number 2>
Contrairement aux données de balayage entrelacées à base de trames, les données de balayage entrelacées à base de champs ne comportent pas de champs supérieur et inférieur provenant du même point dans le temps. La combinaison de champs supérieur et inférieur de données de balayage entrelacées à base de champs pour créer une trame de données de balayage progressives peut conduire à une image de mauvaise qualité, notamment lorsqu'un degré de mouvement important est présent dans les images.
Différents dispositifs générateurs de signaux vidéo (par exemple des ordinateurs, des lecteurs de DVD, des magnétoscopes, etc. ) génèrent typiquement des données vidéo conformément à l'un du procédé de balayage entrelacé et du procédé de balayage progressif. De ce fait, le dispositif générateur de signaux vidéo peut ne pas produire des données vidéo respectant un procédé compatible avec le procédé de balayage pour lequel est prévu un dispositif d'affichage souhaité.
La présente invention fournit un appareil et un procédé de conversion de balayage qui permet de convertir des données de balayage progressives en des données de balayage entrelacées, la conversion de données de balayage entrelacées en des données progressives, ou les deux.
Par exemple, dans un mode de réalisation, un premier convertisseur convertit des données de balayage entrelacées d'entrée en des données de balayage progressives, et un second convertisseur convertit les données de balayage progressives fournies en sortie par le premier convertisseur en des données de balayage entrelacées. Dans un exemple de mode de réalisation, le convertisseur entrelacé-progressif et le convertisseur progressifentrelacé sont connectés en série pour générer des données de balayage entrelacées synchronisées avec des données de balayage progressives délivrées par le convertisseur entrelacé-progressif.
<Desc/Clms Page number 3>
Dans un exemple de mode de réalisation dans lequel on convertit des données de balayage entrelacées en des données de balayage progressives, on sélectionne l'une d'un certain nombre de techniques de conversion différentes pour effectuer la conversion. La sélection se base sur les données de balayage entrelacées qui sont soumises à la conversion.
Par exemple, dans un mode de réalisation, les techniques de conversion comprennent une technique d'interpolation spatiale, une technique dite weave et une technique d'interpolation spatiale/temporelle. La technique d'interpolation spatiale consiste à effectuer une interpolation spatiale sur un champ courant des données de balayage entrelacées d'entrée pour produire un champ de données de balayage complémentaire qui, en association avec le champ courant, représente une trame de données de balayage progressives. La technique weave consiste à délivrer en alternance deux champs consécutifs des données de balayage entrelacées, ligne de balayage par ligne de balayage, pour produire une trame de données de balayage progressives. La technique d'interpolation spatiale/temporelle consiste à effectuer une interpolation spatiale adaptative en fonction de la direction en utilisant le champ courant, au moins un champ précédent et au moins un champ suivant des données de balayage entrelacées d'entrée afin de produire un champ de données de balayage complémentaire qui, en association avec le champ courant, représentent une trame de données de balayage progressives.
La technique d'interpolation spatiale est sélectionnée lorsqu'un champ courant des données de balayage entrelacées d'entrée est soit précédé soit suivi d'un champ du même type. La technique weave est sélectionnée lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de trames. La technique de conversion par interpolation spatiale/temporelle est sélectionnée lorsque les données de
<Desc/Clms Page number 4>
balayage entrelacées d'entrée sont des données de balayage entrelacées à base de champs.
Dans un exemple de mode de réalisation du convertisseur entrelacé-progressif, une structure de conversion est configurée de façon à générer différents flux de données de balayage à partir de données de balayage entrelacées d'entrée, les différents flux de données de balayage représentant une conversion des données de balayage entrelacées d'entrée en des données de balayage progressives selon l'une des techniques décrites ci-dessus.
Un sélecteur est configuré pour délivrer sélectivement différents flux de données de balayage sous la forme de données de balayage progressives.
Par exemple, la structure de conversion comporte un interpolateur configuré pour interpoler des lignes d'une trame de données de balayage progressives absentes d'un champ courant des données de balayage entrelacées d'entrée en interpolant spatialement les lignes manquantes en utilisant le champ courant. A titre d'autre exemple, la structure de conversion est configurée pour fournir au sélecteur les données de balayage entrelacées d'entrée d'un champ courant et l'un d'un champ précédent et d'un champ suivant des données de balayage entrelacées d'entrée. En tant qu'autre exemple, la structure de conversion comporte un interpolateur spatial/temporel pour mettre en oeuvre une technique de conversion par interpolation spatiale/temporelle sur les données de balayage entrelacées d'entrée afin de produire une partie des données de balayage progressives.
Dans cet exemple, le sélecteur est configuré pour sélectionner la sortie de l'interpolateur en tant que partie des données de balayage progressives lorsque le champ courant des données de balayage entrelacées d'entrée est soit précédé soit suivi d'un champ du même type. Le sélecteur est également configuré pour sélectionner des données dans le champ courant des données de balayage
<Desc/Clms Page number 5>
entrelacées d'entrée et des données provenant d'un champ précédent ou suivant des données de balayage entrelacées d'entrée en tant que données de balayage progressives lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de trames. Le sélecteur est en outre configuré pour sélectionner la sortie de l'interpolateur spatial/temporel en tant que partie des données de balayage progressives lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de champs.
Dans un autre exemple de mode de réalisation, la structure du convertisseur comporte un interpolateur spatial et un interpolateur temporel. L'interpolateur spatial est configuré pour effectuer une interpolation spatiale d'un champ courant de données de balayage entrelacées suivant une direction unique afin de produire un premier champ complémentaire dans un premier mode indiqué par une commande, et est configuré pour effectuer une interpolation spatiale adaptative suivant la direction du champ courant pour produire un second champ complémentaire dans un second mode indiqué par la commande.
L'interpolateur temporel est configuré pour effectuer une interpolation temporelle en utilisant le champ courant de données de balayage entrelacées, au moins un champ précédent de données de balayage entrelacées et au moins un champ suivant de données de balayage entrelacées afin de produire un troisième champ complémentaire dans au moins le second mode indiqué par la commande. La structure du convertisseur comporte en outre un dispositif de sortie de mode de conversion recevant une sortie de l'interpolateur spatial et l'interpolateur temporel et générant une trame de données de balayage progressives sur la base de la commande .
Par exemple, le dispositif de sortie de mode de conversion est configuré pour délivrer le champ courant et le premier champ complémentaire, ligne de balayage par
<Desc/Clms Page number 6>
ligne de balayage, afin de produire une trame de données de balayage progressives dans le premier mode indiqué par la commande ; et est configuré pour combiner le second champ complémentaire et le troisième champ complémentaire pour donner un champ complémentaire composite et pour délivrer le champ courant et le champ complémentaire composite, ligne de balayage par ligne de balayage, afin de produire une trame de données de balayage progressives dans le second mode indiqué par la commande. En outre, dans un troisième mode, l'interpolateur spatial est configuré pour délivrer le champ courant, l'interpolateur temporel est configuré pour délivrer l'un du champ précédent et du champ courant, et le dispositif de sortie de mode de conversion est configuré pour délivrer alternativement la sortie des interpolateurs spatial et temporel, ligne par ligne.
Dans un exemple de mode de réalisation du convertisseur progressif-entrelacé, un compteur génère des valeurs de comptage à la fréquence du balayage progressif afin que les valeurs de comptage soient associées à une période des données de balayage progressives. Un générateur d'adresses d'écriture génère des adresses d'écriture pour écrire des données de balayage progressives dans une mémoire sur la base de la sortie du compteur, et un générateur d'adresses de lecture génère des adresses de lecture pour délivrer les données de balayage progressives écrites dans la mémoire sous la forme de données de balayage entrelacées. Dans un exemple de mode de réalisation, une unité de commande d'adresse applique sélectivement les adresses d'écriture et de lecture à la mémoire en provenance des générateurs d'adresses d'écriture et de lecture.
Dans un exemple de mode de réalisation, le compteur génère des valeurs de comptage associées à différentes périodes des données de balayage progressives selon que les données de balayage progressives sont converties en l'un
<Desc/Clms Page number 7>
d'un champ pair et d'un champ impair de données de balayage entrelacées.
Dans un autre exemple de mode de réalisation, le générateur d'adresses d'écriture comporte un premier générateur d'adresses d'écriture générant des premières adresses d'écriture associées à une première de deux lignes de balayage consécutives de données progressives sur la base des valeurs de comptage et un second générateur d'adresses d'écriture générant des secondes adresses d'écriture associées à une seconde des deux lignes de balayage consécutives de données de balayage progressives sur la base des valeurs de comptage. Une unité de commande d'adresse d'écriture délivre ici sélectivement l'une des premières et secondes adresses d'écriture selon que les données de balayage progressives sont converties en l'une d'une ligne impaire et d'une ligne paire de données de balayage entrelacées.
Dans encore un autre exemple d'un convertisseur de données de balayage progressif-entrelacé, le convertisseur comporte un compteur de temps indiquant un cadencement de deux lignes de balayage consécutives de données de balayage progressives. Un générateur d'adresses d'écriture reçoit ici un signal de commande indiquant laquelle des deux lignes de balayage consécutives doit être écrite dans une mémoire, et le générateur d'adresses d'écriture génère des adresses d'écriture pour la ligne de balayage indiquée sur la base du cadencement indiqué par le compteur de temps.
Par ailleurs, un générateur d'adresses de lecture génère des adresses de lecture auxquelles la ligne écrite doit être lue depuis la mémoire, et le générateur d'adresses de lecture commence à générer des adresses de lecture sur la base du cadencement indiqué par le compteur de temps.
La présente invention ressortira plus clairement de la description ci-après, faite en référence aux dessins annexés, dans lesquels des éléments identiques sont
<Desc/Clms Page number 8>
représentés par des références numériques identiques, et dans lesquels : la figure 1 illustre un appareil de conversion de balayage d'un exemple de mode de réalisation de l'invention ; la figure 2 illustre une relation entre les données de balayage entrelacées originales IDATA et les données de balayage progressives générées PDATA illustrées sur la figure 1 ; la figure 3 illustre un exemple de mode de réalisation du convertisseur entrelacé-progressif (CEP) de la figure 1; la figure 4A illustre un exemple d'interpolation spatiale ; la figure 4B illustre un exemple de bloc (i,j) de pixels ; la figure 4C illustre un exemple de blocs voisins du bloc (i,j) ; la figure 4D illustre le filtrage passe-bas vertical effectué pour éliminer le bruit vertical ; la figure 4E illustre les corrélations de 7 directions ; la figure 4F est une illustration expliquant le calcul du bord vertical ; la figure 5 illustre un autre exemple de mode de réalisation du CEP de la figure 1 ; la figure 6 illustre un exemple de mode de réalisation du convertisseur progressif-entrelacé (CPE) de la figure 1 ; la figure 7 illustre des formes d'onde fournies en entrée et en sortie par des éléments du convertisseur CPE de la figure 6 ; la figure 8 illustre un autre exemple de mode de réalisation du convertisseur progressif-entrelacé (CPE) de la figure 1 ;
<Desc/Clms Page number 9>
etla figure 9 illustre des formes d'onde fournies en entrée et en sortie par des éléments du convertisseur CPE de la figure 8.
Appareil de conversion de balayage
La figure 1 illustre un appareil de conversion de balayage conforme à un exemple de mode de réalisation de l'invention. Comme illustré, un convertisseur entrelacéprogressif (CEP) 210 reçoit des données de balayage entrelacées IDATA, par exemple celles qui sont produites par un dispositif générateur de signaux vidéo (par exemple un magnétoscope, un lecteur de DVD, etc. ) et convertit les données de balayage entrelacées IDATA en des données de balayage progressives PDATA. Les données de balayage progressives générées PDATA peuvent former une sortie de l'appareil de conversion de balayage. Un convertisseur progressif-entrelacé (CPE) 220 reçoit des données de balayage progressives générées PDATA, et convertit les données de balayage progressives générées PDATA en des données de balayage entrelacées IDATA'. Les données de balayage entrelacées générées IDATA' peuvent former une sortie de l'appareil de conversion de balayage. Comme cela va être décrit en détail ci-après, comme les données de balayage entrelacées générées IDATA' sont générées à partir des données de balayage progressives générées PDATA, il existe une meilleure synchronisation entre les données de balayage progressives générées PDATA et les données de balayage entrelacées générées IDATA' que celle qui existe entre les données de balayage entrelacées originales IDATA et les données de balayage progressives générées PDATA.
La figure 1 illustre un appareil de conversion de balayage conforme à un exemple de mode de réalisation de l'invention. Comme illustré, un convertisseur entrelacéprogressif (CEP) 210 reçoit des données de balayage entrelacées IDATA, par exemple celles qui sont produites par un dispositif générateur de signaux vidéo (par exemple un magnétoscope, un lecteur de DVD, etc. ) et convertit les données de balayage entrelacées IDATA en des données de balayage progressives PDATA. Les données de balayage progressives générées PDATA peuvent former une sortie de l'appareil de conversion de balayage. Un convertisseur progressif-entrelacé (CPE) 220 reçoit des données de balayage progressives générées PDATA, et convertit les données de balayage progressives générées PDATA en des données de balayage entrelacées IDATA'. Les données de balayage entrelacées générées IDATA' peuvent former une sortie de l'appareil de conversion de balayage. Comme cela va être décrit en détail ci-après, comme les données de balayage entrelacées générées IDATA' sont générées à partir des données de balayage progressives générées PDATA, il existe une meilleure synchronisation entre les données de balayage progressives générées PDATA et les données de balayage entrelacées générées IDATA' que celle qui existe entre les données de balayage entrelacées originales IDATA et les données de balayage progressives générées PDATA.
La figure 2 illustre une relation entre les données de balayage entrelacées originales IDATA et les données de balayage progressives générées PDATA qui sera utilisée ciaprès dans les descriptions détaillées des exemples de modes de réalisation du convertisseur CEP 210. La figure 2 représente un champ courant X des données de balayage
<Desc/Clms Page number 10>
entrelacées IDATA qui comporte des lignes de balayage (i-1) , (i+1), etc. par rapport à une ligne de balayage de référence (i), un champ précédent X-1 qui comporte des lignes de balayage (i-2), (i) et (i+2), et un champ suivant X+l qui comporte des lignes de balayage (i-2), (i) et (i+2). Comme illustré plus en détail, après la conversion effectuée par le convertisseur CEP 210, une trame de données de balayage progressives ayant des lignes de balayage (i-2)', (i-1)', (i)', etc., est créée. La relation entre les lignes de balayage des champs de balayage entrelacés et les trames de balayage progressives va être décrite plus en détail ci-après lors de l'explication du fonctionnement du convertisseur CEP 210.
Convertisseur CEP de l'appareil de conversion de balayage
La figure 3 illustre un exemple de mode de réalisation du convertisseur entrelacé-progressif (CEP) de la figure 1. Comme illustré, le convertisseur CEP 210 comporte des première, seconde et troisième mémoires 2,4 et 6. La première mémoire 2 stocke au moins des lignes successives d'un champ courant des données de balayage entrelacées IDATA. Par exemple, en utilisant la relation établie sur la figure 2, la première mémoire 2 stocke respectivement au moins les (i-l)-ème et (i+l)-ème lignes de balayage, provenant du champ X. Les seconde et troisième mémoires 4 et 6 stockent respectivement au moins une ligne de balayage se situant entre les lignes de balayage consécutives stockées dans la première mémoire 2, pour le champ précédent et le champ suivant. Par exemple, si on utilise la relation établie sur la figure 2, les seconde et troisième mémoires 4 et 6 stockent respectivement au moins la i-ème ligne de balayage provenant du champ X-1 et la i- ème ligne de balayage provenant du champ X+1. Le nombre de lignes de balayage stockées dans les première, seconde et troisième mémoires 2,4 et 6 ressortira plus clairement de la description détaillée présentée ci-après.
La figure 3 illustre un exemple de mode de réalisation du convertisseur entrelacé-progressif (CEP) de la figure 1. Comme illustré, le convertisseur CEP 210 comporte des première, seconde et troisième mémoires 2,4 et 6. La première mémoire 2 stocke au moins des lignes successives d'un champ courant des données de balayage entrelacées IDATA. Par exemple, en utilisant la relation établie sur la figure 2, la première mémoire 2 stocke respectivement au moins les (i-l)-ème et (i+l)-ème lignes de balayage, provenant du champ X. Les seconde et troisième mémoires 4 et 6 stockent respectivement au moins une ligne de balayage se situant entre les lignes de balayage consécutives stockées dans la première mémoire 2, pour le champ précédent et le champ suivant. Par exemple, si on utilise la relation établie sur la figure 2, les seconde et troisième mémoires 4 et 6 stockent respectivement au moins la i-ème ligne de balayage provenant du champ X-1 et la i- ème ligne de balayage provenant du champ X+1. Le nombre de lignes de balayage stockées dans les première, seconde et troisième mémoires 2,4 et 6 ressortira plus clairement de la description détaillée présentée ci-après.
<Desc/Clms Page number 11>
Un interpolateur 10 utilise deux lignes de balayage consécutives stockées dans la première mémoire 2 pour générer une ligne de balayage interpolée. L'interpolation effectuée par l'interpolateur 10, dans un mode de réalisation, est une interpolation spatiale. En utilisant la relation établie sur la figure 2, on va décrire une interpolation spatiale simple en se référant à la figure 4A. La figure 4A illustre un pixel P(n, i-1, X), où n représente la position sur la ligne de balayage, i-1 désigne la ligne de balayage sur laquelle se trouve le pixel et X désigne le champ contenant le pixel. La figure 4A illustre en outre un pixel correspondant P(n, i+1, X) dans une direction dira sur la ligne de balayage i+1 suivante du champ X. Comme illustré, la direction dirO est perpendiculaire aux lignes de balayage. Un pixel P(n, i') qui se situerait sur la ligne de balayage (i)' dans la direction dira si les données de balayage étaient des données de balayage progressives, est interpolé par moyennage des pixels P (n, X) et P (n, i+2,X). On a par exemple P(n, i') = (P(n, i-1, X)+P(n, i+1, X))/2.
Convertisseur adaptatif en fonction du mouvement
Un convertisseur adaptatif en fonction du mouvement 12 reçoit également les lignes de balayage stockées dans la première mémoire 2, et reçoit en outre les lignes de balayage stockées dans les seconde et troisième mémoires 4 et 6. Le convertisseur adaptatif en fonction du mouvement 12 analyse le degré de mouvement présent dans les images représentées par les données de balayage entrelacées, et génère des données de pixels pour une ligne de balayage progressive sur la base de cette analyse. Ce traitement va être décrit ci-après en détail.
Un convertisseur adaptatif en fonction du mouvement 12 reçoit également les lignes de balayage stockées dans la première mémoire 2, et reçoit en outre les lignes de balayage stockées dans les seconde et troisième mémoires 4 et 6. Le convertisseur adaptatif en fonction du mouvement 12 analyse le degré de mouvement présent dans les images représentées par les données de balayage entrelacées, et génère des données de pixels pour une ligne de balayage progressive sur la base de cette analyse. Ce traitement va être décrit ci-après en détail.
Dans la description présentée ci-après du convertisseur adaptatif en fonction du mouvement 12, xkn (i, j) désigne la kème valeur de pixel dans un bloc (i,j) du nème champ. De plus, x"(i,j) désigne la valeur du pixel
<Desc/Clms Page number 12>
(i, j) du nème champ. La figure 4B illustre un exemple d'un bloc (i,j).
Le convertisseur adaptatif en fonction du mouvement 12 calcule la somme de la différence absolue (SAD) pour la "détection de mouvement" entre un champ précédent xkn-1 (i, j) et un champ suivant xkn+1 (i, j), bloc par bloc, comme illustré sur la figure 4B et dans les équations (1) et (2) ci-après.
8 Le convertisseur adaptatif en fonction du mouvement 12 détermine un seuil de détection de mouvement conformément au critère suivant indiqué dans l'équation (3).
THM (i, j) = (STDm(i,j) <TM1) ?Tm1: (STDm (i,j) > TM2) ? TM2: STDm(i,j) (3) où TM1 et TM2 sont des contraintes de conception fixées par le concepteur après une étude empirique (par exemple, TM1 peut être fixée à 8 et TM2 peut être fixée à 16), et où STDm(i,j) est un écart-type dit "modifié pour simplification" des 4x8 pixels entourant le pixel considéré à l'intérieur de 2 blocs supérieurs et de 2 blocs inférieurs du champ courant X, conformément à la figure 4B et à l'équation (4) ci-après.
<Desc/Clms Page number 13>
Si SAD (i,j) # THM(i,j), alors le pixel considéré a un mouvement global et une valeur d'"indicateur de mouvement" mJ(i,j) = 1 ; sinon mJ(i,j) = 0.
Le convertisseur adaptatif en fonction du mouvement 12 détermine ensuite des variables d'interpolation spatiotemporelles telles que définies par les équations (5)-(14) ci-après.
<Desc/Clms Page number 14>
En ce qui concerne les variables ci-dessus, TI1, TI2, TS1 et TS2 sont des contraintes de conception fixées par le concepteur du système sur la base d'une étude empirique. Par exemple, TI1 peut être fixé à 50, TI2 peut être fixé à 306, TS1 peut être fixé à 10 et TS2 peut être fixé à 18. La variable S(i,j) représente la complexité de l'image au bloc (i,j). Une valeur relativement plus élevée de S(i,j) indique une image plus complexe, et une valeur relativement plus faible de S(i,j) indique une image moins complexe.
Mr(i,j) est une valeur quantifiée sur 4 bits et 0#MI(i,j)#31 (les valeurs supérieures à 31 sont bloquées à 31) .
La valeur Ysr(i,j) du pixel d'interpolation spatiotemporelle finale est décidée de façon non stricte par une moyenne pondérée de Ys (i,j) etYT(i,j) : YST(i,j) = YS(i,j)#[alpha]s(i,j) + YT(i,j) # (1-[alpha]s(i,j)) (15) où Ys (i, j) est une valeur de pixel d'interpolation directionnelle déterminée de la façon décrite en détail ciaprès et YT(i,j) est une valeur de pixel calculée temporellement : YT(i,j) = 1/2 # (xn+1(i,j)+xn-1(i,j)).
Le convertisseur adaptatif en fonction du mouvement 12 effectue l'une d'une interpolation spatiotemporelle YST et d'une interpolation temporelle YT sur la base du degré de mouvement présent dans l'image. S'il y a un mouvement faible ou nul, une interpolation temporelle est appliquée.
Dans le cas contraire, une interpolation spatiotemporelle est appliquée.
Plus précisément, si un ou plusieurs des indicateurs de mouvement voisins mJ(i,j) est à "1", une interpolation
<Desc/Clms Page number 15>
spatiotemporelle YST(i,j) est alors appliquée. Si aucun des indicateurs de mouvement voisins mJ(i,j) n'est à "1", une interpolation temporelle YT(i,j) est alors appliquée. Les blocs hachurés de la figure 4C qui entourent le bloc (i,j) contenant le pixel considéré représentent un exemple possible de blocs voisins. De ce fait, les indicateurs de mouvement de ces blocs voisins sont considérés comme étant les indicateurs de mouvement voisins.
On va ensuite décrire en détail la façon dont la valeur du pixel d'interpolation directionnelle est générée. En premier lieu, un filtrage passe-bas vertical gn(i,j) est effectué pour éliminer le bruit vertical, comme illustré sur la figure 4D et par l'expression (16) suivante.
Les corrélations suivant 7 directions sont calculées par une somme SAD pondérée (somme des différences absolues) avec des poids de (1,1,2,1,1) appliquées aux données filtrées, comme illustré sur la figure 4E, et chaque somme SAD est désignée par WSADdir(i,j) avec dir = 0,1,2,3.
<Desc/Clms Page number 16>
On peut obtenir des améliorations de la fiabilité de DIRGLOBAL et de DIRLOCAL conformément aux expressions (20) et (21) ci-après.
Si on désigne par "A" la valeur du pixel interpolé dans la direction DIRGLOBAL et par "B" et "C" les valeurs des pixels supérieur et inférieur respectivement dans la direction DIRLOCAL. le convertisseur adaptatif en fonction du mouvement 12 détermine la valeur YDIR~OPT du pixel interpolé de façon directionnelle sous la forme suivante :
Pour conserver le bord vertical de l'image, une mesure du bord vertical "D" est calculée comme illustré sur la figure 4F et conformément à l'expression (23) suivante :
La valeur Ys du pixel d'interpolation spatiale adaptative suivant l'orientation du bord est obtenue par la moyenne pondérée de YDIR~OPT et de YDIRO, ce qui signifie que la décision non stricte concernant la valeur du pixel ayant la direction optimale et de la valeur du pixel ayant la direction verticale est alors déterminée par le convertisseur adaptatif en fonction du mouvement 12, conformément à l'expression (24) ci-après.
Si on désigne par "A" la valeur du pixel interpolé dans la direction DIRGLOBAL et par "B" et "C" les valeurs des pixels supérieur et inférieur respectivement dans la direction DIRLOCAL. le convertisseur adaptatif en fonction du mouvement 12 détermine la valeur YDIR~OPT du pixel interpolé de façon directionnelle sous la forme suivante :
Pour conserver le bord vertical de l'image, une mesure du bord vertical "D" est calculée comme illustré sur la figure 4F et conformément à l'expression (23) suivante :
La valeur Ys du pixel d'interpolation spatiale adaptative suivant l'orientation du bord est obtenue par la moyenne pondérée de YDIR~OPT et de YDIRO, ce qui signifie que la décision non stricte concernant la valeur du pixel ayant la direction optimale et de la valeur du pixel ayant la direction verticale est alors déterminée par le convertisseur adaptatif en fonction du mouvement 12, conformément à l'expression (24) ci-après.
<Desc/Clms Page number 17>
Dans ces expressions, Tl et T2 sont des contraintes de conception fixées par le concepteur sur la base d'une étude empirique. Par exemple, T1 peut être fixé à 434 et T2 peut être fixé à 466.
Convertisseur CEP, suite
On complète ci-après la description détaillée du convertisseur adaptatif en fonction du mouvement 12. En ce qui concerne à nouveau la figure 3, la description détaillée du convertisseur CEP 210 va maintenant être complétée. Comme illustré, un multiplexeur 14 reçoit les lignes de balayage de la première mémoire 2, un multiplexeur 14 reçoit les lignes de balayage de la première mémoire 2, reçoit la sortie de l'interpolateur 10, et reçoit la sortie du convertisseur adaptatif en fonction du mouvement 12. Une unité de commande 16 commande le multiplexeur 14 pour qu'il délivre sélectivement l'une des entrées reçues. L'unité de commande 16 commande également le fonctionnement du convertisseur adaptatif en fonction du mouvement 12 en utilisant une commande qui indique qu'il faut appliquer l'une d'au moins une technique de conversion CEP (conversion entrelacée-progressif) par interpolation spatiale et d'une technique de conversion CEP par interpolation spatiale/temporelle.
On complète ci-après la description détaillée du convertisseur adaptatif en fonction du mouvement 12. En ce qui concerne à nouveau la figure 3, la description détaillée du convertisseur CEP 210 va maintenant être complétée. Comme illustré, un multiplexeur 14 reçoit les lignes de balayage de la première mémoire 2, un multiplexeur 14 reçoit les lignes de balayage de la première mémoire 2, reçoit la sortie de l'interpolateur 10, et reçoit la sortie du convertisseur adaptatif en fonction du mouvement 12. Une unité de commande 16 commande le multiplexeur 14 pour qu'il délivre sélectivement l'une des entrées reçues. L'unité de commande 16 commande également le fonctionnement du convertisseur adaptatif en fonction du mouvement 12 en utilisant une commande qui indique qu'il faut appliquer l'une d'au moins une technique de conversion CEP (conversion entrelacée-progressif) par interpolation spatiale et d'une technique de conversion CEP par interpolation spatiale/temporelle.
L'unité de commande 16 commande le multiplexeur 14 et le convertisseur adaptatif en fonction du mouvement 12 sur la base d'informations vidéo reçues. Les informations vidéo
<Desc/Clms Page number 18>
sont des informations d'en-tête provenant du flux vidéo qui est reçu par l'appareil de conversion de balayage. Comme cela est bien connu, ces informations vidéo indiqueront si un champ de données de balayage entrelacées IDATA est un premier champ du flux vidéo, est un champ d'arrêt ou un champ inférieur, et s'il s'agit de données de balayage entrelacées à base de trames ou à base de champs. L'unité de commande 16 reçoit ces informations vidéo pour le champ courant X, le champ suivant X+l et le champ précédent X-1. Lorsque le champ en cours de réception est un premier champ du flux vidéo, l'unité de commande 16 désactive le traitement effectué par le convertisseur adaptatif en fonction du mouvement 12 en raison du fait que le convertisseur adaptatif en fonction du mouvement 12 ne disposera pas de suffisamment d'informations pour fonctionner.
Comme décrit dans la partie concernant le contexte de l'invention, des données de balayage entrelacées, qu'elles soient à base de trames ou à base de champs, alternent entre des champs supérieurs et inférieurs. Cependant, dans la pratique, il peut manquer un champ dans les données de balayage entrelacées effectivement reçues, de sorte que deux ou plus de deux champs supérieurs ou que deux ou plus de deux champs inférieurs sont reçus consécutivement.
Lorsque le champ courant est soit précédé, soit suivi d'un champ du même type (supérieur ou inférieur), l'unité de commande 16 commande le multiplexeur 14 pour qu'il délivre la ligne de balayage (i-1) provenant de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressives générées PDATA, pour qu'il délivre ensuite la sortie de l'interpolateur 10 en tant que ligne de balayage (i)' des données de balayage progressives générées PDATA, et pour qu'il délivre ensuite une ligne de balayage (i+1) provenant de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées PDATA. La façon de générer ainsi la i'-ème ligne de balayage sera désignée sous le nom de
<Desc/Clms Page number 19>
technique "bob". Plus précisément, conformément à la technique bob, une trame de données de balayage progressives est produite à partir du champ courant et d'un champ de données de balayage complémentaires générées par l'interpolateur 10. Lorsqu'ils sont associés, le champ courant et le champ complémentaire représentent une trame de données de balayage progressif.
Si le champ précédent ou suivant n'est pas absent et si le flux vidéo est constitué de données de balayage entrelacées à base de trames, l'unité de commande 16 commande alors le convertisseur adaptatif en fonction du mouvement 12 pour qu'il délivre la i-ème ligne de balayage du champ X-1 reçu de la seconde mémoire 4 et qu'il n'effectue pas le traitement adaptatif en fonction du mouvement. L'unité de commande 16 commande également le multiplexeur 14 pour qu'il délivre la ligne de balayage (i- 1) provenant de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressive générées PDATA, pour qu'il délivre ensuite la ième ligne de balayage provenant du champ X-l en tant que ligne de balayage (i)' des données de balayage progressives générées PDATA, et qu'il délivre ensuite la ligne de balayage (i+1) provenant de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées PDATA.
La façon de générer ainsi la i'-ème ligne de balayage sera désignée sous le nom de technique weave. Dans cet exemple, on a supposé que le champ précédent X-1 était associé au même point dans le temps que le champ courant X. Cependant, il peut arriver que le champ suivant X+l soit un champ associé au même point dans le temps que le champ courant.
Dans cette situation, le champ suivant peut être sélectionné pour la sortie. Plus précisément, conformément à la technique weave, deux champs consécutifs de données de balayage entrelacées associés au même point dans le temps sont délivrés en alternance ligne par ligne afin de produire une trame de données de balayage progressives.
<Desc/Clms Page number 20>
Si le champ précédent ou suivant n'est pas absent et si le flux vidéo est constitué de données de balayage entrelacées à base de champs, l'unité de commande 16 commande alors le convertisseur adaptatif en fonction du mouvement 12 afin qu'il applique le traitement adaptatif en fonction du mouvement. L'unité de commande 16 commande également le multiplexeur 14 afin qu'il délivre la ligne de balayage (i-1) provenant de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressives générées PDATA, qu'il délivre ensuite la sortie du convertisseur adaptatif en fonction du mouvement 12 en tant que ligne de balayage (i)' des données de balayage progressives générées PDATA, et qu'il délivre ensuite la ligne de balayage (i+1) provenant de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées PDATA. La production de la i'-ème ligne de balayage ainsi effectuée sera désignée sous le nom de technique adaptative en fonction du mouvement. Plus précisément, conformément à la technique adaptative en fonction du mouvement, une trame de données de balayage progressives est produite à partir du champ courant et d'un champ de données de balayage complémentaires générées par le convertisseur adaptatif en fonction du mouvement 12. Lorsqu'ils sont associés, le champ courant et le champ complémentaires représentent une trame de données de balayage progressives.
Comme cela ressortira du présent fascicule, le fait de générer des données de balayage progressives PDATA conformément à la technique weave produit une trame complète de données sensiblement sans aucun artefact de mouvement lorsque les données de balayage entrelacées IDATA sont à base de trames. Cependant, lorsque les données de balayage entrelacées IDATA sont à base de champs, la technique weave peut conduire à une image excessivement dégradée lorsqu'un degré important de mouvement d'image se produit au cours du temps. Cela est particulièrement visible lorsqu'une image fixe est affichée. Lorsqu'on
<Desc/Clms Page number 21>
utilise la technique adaptative en fonction du mouvement sur des données de balayage entrelacées à base de champs, une image bien meilleure est obtenue. En outre, lorsqu'une quantité insuffisante de données est présente pour appliquer l'une ou l'autre des techniques weave et adaptative en fonction du mouvement, une trame de données de balayage progressives PDATA peut encore être créée conformément à la technique bob.
La figure 5 illustre un second mode de réalisation du convertisseur CEP 210 de la figure 1. Comme illustré, dans ce mode de réalisation, le convertisseur CEP 210 comporte les mêmes première, seconde et troisième mémoires 2,4 et 6 stockant les mêmes lignes de balayage que celles ayant été décrites ci-dessus à propos du mode de réalisation de la figure 3. Dans ce mode de réalisation, une unité de commande 26 commande le fonctionnement d'un processeur spatial 20, d'un processeur temporel 22 et d'un dispositif de mode (ou dispositif de sortie de mode de conversion) 24 sur la base des mêmes informations vidéo que celles reçues par l'unité de commande 16 de la figure 3.
Le processeur spatial 20 reçoit les lignes de balayage de la première mémoire 2 et, conformément à la commande fournie par l'unité de commande 26, applique à celle-ci une interpolation spatiale ou délivre directement les lignes de balayage. Lorsqu'il applique le traitement spatial, le processeur spatial 20 soit effectue l'interpolation apppliquée par l'interpolateur 10, soit génère la valeur Ys du pixel interpolé spatialement générée de la façon décrite ci-dessus à propos du convertisseur adaptatif en fonction du mouvement 12. Le traitement spatial effectué est commandé par l'unité de commande 26 de la façon décrite ci-après en détail.
Le processeur temporel 22 reçoit les lignes de balayage des première, seconde et troisième mémoires 2,4 et 6. Le processeur temporel 22, conformément à la commande fournie par l'unité de commande 26, soit délivre la i-ème ligne de balayage du champ X-1 reçu de la seconde mémoire
<Desc/Clms Page number 22>
4, soit délivre la valeur YT du pixel interpolé temporellement générée de la façon décrite précédemment à propos du convertisseur adaptatif en fonction du mouvement 12.
Le dispositif de mode 24 utilise les sorties du processeur spatial 20 et du processeur temporel 22 pour générer les données de balayage progressives PDATA conformément à l'une des techniques bob, weave et adaptative en fonction du mouvement. Le dispositif de mode 24, en association avec les processeurs spatial et temporel 20 et 22, fonctionne sous le contrôle de l'unité de commande 26, comme décrit en détail ci-après.
Lorsque le champ courant est précédé ou suivi d'un champ du même type, l'unité de commande 26 désactive le processeur temporel 22, et commande le dispositif de mode 24 afin qu'il délivre la sortie reçue du processeur spatial 20. L'unité de commande 26 commande en outre le processeur spatial 20 afin qu'il délivre la ligne de balayage (i-1) provenant de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressives générées PDATA, afin qu'il délivre ensuite une ligne de balayage générée par la même interpolation spatiale que celle effectuée par l'interpolateur en tant que ligne de balayage (i)' des données de balayage progressives générées PDATA, et afin qu'il délivre ensuite la ligne de balayage (i+1) provenant de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées PDATA. Par conséquent, une trame de données de balayage progressives est générée conformément à la technique bob.
Si le champ précédent ou suivant n'est pas absent et si le flux vidéo est constitué de données de balayage entrelacées à base de trames, alors l'unité de commande 26 commande le processeur spatial 20 afin qu'il délivre les lignes de balayage reçues de la première mémoire 2, et commande le processeur temporel 22 afin qu'il délivre la ligne de balayage (i) reçue de la seconde mémoire 4.
L'unité de commande 26 commande le dispositif de mode 24
<Desc/Clms Page number 23>
afin qu'il délivre la ligne de balayage (i-1) de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressives générées PDATA, afin qu'il délivre ensuite la ligne de balayage (i) provenant du champ X-1 en tant que ligne de balayage (i)' des données de balayage progressives générées PDATA, et afin qu'il délivre ensuite la ligne de balayage (i+1) de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées PDATA. Par conséquent, une trame de données de balayage progressives est générée conformément à la technique weave.
Si le champ précédent ou suivant n'est pas absent et si le flux vidéo est constitué de données de balayage entrelacées à base de champs, l'unité de commande 26 commande alors le processeur spatial 20 afin qu'il délivre les lignes de balayage reçues de la première mémoire 2 et qu'il génère la valeur Ys du pixel interpolé spatialement.
L'unité de commande 26 commande également le processeur spatial 22 afin qu'il génère la valeur YT du pixel interpolé temporellement. L'unité de commande 26 commande le dispositif de mode 24 afin qu'il combine la valeur Ys du pixel interpolé spatialement et la valeur YT du pixel interpolé temporellement pour générer la valeur YST du pixel interpolé spatiotemporellement de la manière déjà décrite ci-dessus à propos du convertisseur adaptatif en fonction du mouvement 12. L'unité de commande 26 commande en outre le dispositif de mode 24 afin qu'il délivre la ligne de balayage (i-1) provenant de la première mémoire 2 en tant que ligne de balayage (i-1) des données de balayage progressives générées PDATA, afin qu'il délivre ensuite les valeurs de pixels YST interpolées spatiotemporellement en tant que ligne de balayage (i) ' des données de balayage progressives générées PDATA, et afin qu'il délivre ensuite la ligne de balayage (i+1) provenant de la première mémoire 2 en tant que ligne de balayage (i+1) des données de balayage progressives générées. Par conséquent, une trame de données de balayage progressives est générée
<Desc/Clms Page number 24>
conformément à la technique adaptative en fonction du mouvement.
Comme décrit ci-dessus, le mode de réalisation de la figure 5 génère des données de balayage progressives PDATA conformément aux techniques bob, weave et d'adaptation en fonction du mouvement afin d'obtenir les mêmes avantages que ceux décrits ci-dessus à propos de la figure 3.
Convertisseur CPE de l'appareil de conversion de balayage
On va ensuite décrire un exemple de mode de réalisation du convertisseur CPE 220 en se référant aux figures 6 et 7. La figure 6 illustre un exemple de mode de réalisation du convertisseur CPE 220. Dans ce mode de réalisation, le convertisseur CPE 220 comporte un générateur de signal synchrone 690 tel que celui destiné à un poste de télévision. Comme illustré, le générateur de signal synchrone 690 génère un signal identificateur de champ id champ, un signal de synchronisation horizontale impair h sync impair et un signal de synchronisation horizontale pair, h~sync pair. L'identificateur de champ indique si le champ de données de balayage entrelacées courant devant être généré à partir des données de balayage progressives générées PDATA est un champ pair ou un champ impair. La figure 7C illustre un exemple du signal identificateur de champ. Comme illustré, lorsque le signal est au niveau haut, un champ impair et généré et lorsque le signal est au niveau bas, un champ pair est généré. La figure 7B illustre le signal de synchronisation horizontal progressive hsync(p). Chaque impulsion du signal de synchronisation horizontale progressive hsync(p) représente une ligne de balayage de données de pixels. La figure 7A illustre le signal de synchronisation verticale progressive vsync(p). Chaque impulsion représente le début d'une nouvelle trame de données de pixels de balayage progressives. Par conséquent, le nombre d'impulsions de signal de synchronisation horizontale progressive hsync(p) entre des signaux de synchronisation verticale progressive
On va ensuite décrire un exemple de mode de réalisation du convertisseur CPE 220 en se référant aux figures 6 et 7. La figure 6 illustre un exemple de mode de réalisation du convertisseur CPE 220. Dans ce mode de réalisation, le convertisseur CPE 220 comporte un générateur de signal synchrone 690 tel que celui destiné à un poste de télévision. Comme illustré, le générateur de signal synchrone 690 génère un signal identificateur de champ id champ, un signal de synchronisation horizontale impair h sync impair et un signal de synchronisation horizontale pair, h~sync pair. L'identificateur de champ indique si le champ de données de balayage entrelacées courant devant être généré à partir des données de balayage progressives générées PDATA est un champ pair ou un champ impair. La figure 7C illustre un exemple du signal identificateur de champ. Comme illustré, lorsque le signal est au niveau haut, un champ impair et généré et lorsque le signal est au niveau bas, un champ pair est généré. La figure 7B illustre le signal de synchronisation horizontal progressive hsync(p). Chaque impulsion du signal de synchronisation horizontale progressive hsync(p) représente une ligne de balayage de données de pixels. La figure 7A illustre le signal de synchronisation verticale progressive vsync(p). Chaque impulsion représente le début d'une nouvelle trame de données de pixels de balayage progressives. Par conséquent, le nombre d'impulsions de signal de synchronisation horizontale progressive hsync(p) entre des signaux de synchronisation verticale progressive
<Desc/Clms Page number 25>
vsync(p) représente le nombre de lignes de balayage dans une trame des données de balayage progressives.
La figure 7E illustre un exemple du signal de synchronisation horizontale impair hsync~impair(p) et la figure 7F illustre un exemple du signal de synchronisation horizontale pari hsync pair(p) déduit du signal de synchronisation horizontale progressive hsync (p). illustré, les signaux de synchronisation horizontale impair et pair ont une fréquence qui est égale à la moitié de la fréquence du signal de synchronisation horizontale progressive hsync (p). outre, les signaux de synchronisation horizontale impair et pair sont décalés l'un par rapport à l'autre d'une période du signal de synchronisation horizontale progressive hsync(p). Comme illustré, le signal de synchronisation horizontale impair comporte une impulsion au début de la période de génération du champ impair et le signal de synchronisation horizontale pair comporte une impulsion au début de la période de génération du champ pair.
Avant de décrire le reste de la structure de conversion CPE, on va présenter les intervalles de suppression horizontale et verticale pour les données de balayage entrelacées et progressives. Le balayage d'une ligne horizontale de données entrelacées se produit à une fréquence de 13,5 MHz. Pendant le balayage d'une ligne de données de balayage entrelacées à cette fréquence, 858 impulsions d'horloge d'une horloge de données vidéo sont générées. Les 138 premières impulsions d'horloge représentent l'intervalle de suppression horizontale. C'est le temps demandé par le scanner pour se déplacer de l'extrémité d'une ligne de balayage au début de la ligne de balayage suivante. Les 720 impulsions d'horloge suivantes représentent les pixels qui sont balayés le long de la ligne de balayage. La fréquence du balayage horizontal progressif est égale au double de la fréquence du balayage horizontal entrelacé, c'est-à-dire de 27 MHz. Par conséquent, en un même temps, 2 x 858 impulsions d'horloge
<Desc/Clms Page number 26>
vidéo de balayage progressif sont générées. Cela revient au balayage de deux lignes pendant le temps pendant lequel une ligne est balayée par balayage entrelacé d'une ligne horizontale.
En ce qui concerne à nouveau la figure 6, un multiplexeur de réinitialisation 610 délivre sélectivement l'un du signal de synchronisation horizontale impair et du signal de synchronisation horizontale pair en tant que signal de réinitialisation sur la base de l'identificateur de champ id~champ. Un compteur 620 compte les impulsions d'un premier signal d'horloge CLK1 générant des impulsions d'horloge à la cadence des données vidéo (par exemple de 858 impulsions par ligne de balayage) des données de balayage progressives jusqu'à ce qu'il soit réinitialisé par le signal de réinitialisation. Comme on peut le noter, les valeurs de comptage sont associés à une période des données de balayage progressives.
Le reste de la description des modes de réalisation de l'invention est décrit pour une cadence de données vidéo de 858 impulsions d'horloge par ligne de balayage.
Cependant, un spécialiste de la technique pourra noter que l'invention peut être appliquée à d'autres cadences.
La figure 7D illustre un exemple du premier signal d'horloge. Comme on peut le noter d'après la figure 7D et la description qui précède, pendant la période de génération de champ impair indiquée par l'identificateur de champ id~champ, le compteur 620 n'est réinitialisé que par les impulsions du signal de synchronisation horizontale impair hsync~impair. De même, pendant la période de génération de champ paire, indiquée par l'identificateur de champ id~champ, le compteur 620 n'est réinitialisé que par les impulsions du signal de synchronisation horizontale pair, hsync~pair. La figure 7G illustre le compte d'impulsions délivré par le compteur 620 pour une ligne de balayage pendant qu'un champ impair est généré. Comme le montrent la figure 7G et la description qui précède, le compteur 620 génère des valeurs de comptage cnt à une
<Desc/Clms Page number 27>
fréquence de balayage progressive telle que les valeurs de comptage sont associées à une période des données de balayage progressives. Plus précisément, le compteur 620 génère des valeurs de comptage cnt associées à différentes périodes des données de balayage progressives sur la base du fait que les données de balayage progressives sont converties en l'un d'un champ impair et d'un champ pair des données de balayage entrelacées. Par exemple, le compteur 620 génère des valeurs de comptage associées à une ligne de balayage impaire et à une ligne de balayage paire suivante de données progressives lorsque les données de balayage progressives sont converties en un champ impair de données de balayage entrelacées, et le compteur 620 génère des valeurs de comptage cnt associées à une ligne de balayage paire et à une ligne de balayage impaire suivante de données de balayage progressive lorsque les données de balayage progressives sont converties en un champ pair de données de balayage entrelacées. Ainsi, le compteur 620 est utilisé comme compteur de temps indiquant un cadencement de deux lignes de balayage consécutives des données de balayage progressives.
Le compte d'impulsions cnt généré par le compteur 620 est reçu par un soustracteur 6305 qui génère un compte de pixels. Le compte de pixels est égal au compte d'impulsions cnt moins 138 (c'est-à-dire l'intervalle de suppression horizontale). Par conséquent, le compte de pixels représente l'instant où une ligne de balayage balaye les pixels d'un affichage par un balayage progressif. La figure 7H illustre le compte de pixels délivré par le soustracteur 6305. Un second multiplexeur 6307 délivre sélectivement le compte de pixels et une valeur nulle sur la base d'un signal de commande reçu d'un premier comparateur 6301.
Le premier comparateur 6301 détermine si le compte d'impulsions cnt est supérieur ou égal à 138 et est inférieur à 859. Plus précisément, le comparateur 6301 détermine si le compte d'impulsions cnt représente l'instant où une ligne de balayage doit être balayée. Si
<Desc/Clms Page number 28>
cela est le cas, le premier comparateur 6301 génère un signal de commande (par exemple un "1") de telle façon que le second multiplexeur 6307 délivre le compte de pixels. Si le compte d'impulsions n'est pas supérieur ou égal à 138 et n'est pas non plus inférieur à 859, le premier comparateur 6301 génère alors un signal de commande (par exemple un "0") de telle façon que le second multiplexeur 6307 délivre la valeur nulle. La figure 71 illustre la sortie du second multiplexeur 6307.
Un premier registre à verrouillage 6309 génère une adresse d'écriture (WA) sur la base de la sortie reçue du second multiplexeur 6307. Plus précisément, le premier registre à verrouillage 6309 stocke la sortie du second multiplexeur 6307 en conformité avec le premier signal d'horloge CLK1. La figure 7L illustre les adresses d'écriture (WA) générées par le premier registre à verrouillage 6309. Comme on peut le noter, lorsqu'une ligne de balayage d'un champ impair est générée, des adresses d'écriture sont générées pour la première de deux lignes de balayage consécutives. Comme la valeur nulle est sélectionnée une fois que le compte d'impulsions a dépassé 858, les adresses d'écriture deviennent nulles pour la ligne de balayage suivante, à la fin de laquelle le compteur d'impulsions 620 est réinitialisé. Une opération identique a lieu lorsqu'on génère des lignes de balayage pour un champ pair ; cependant, comme le compteur d'impulsions 620 est réinitialisé par le signal de synchronisation horizontale pair hsync pair, et non pas par le signal de synchronisation horizontale impair hsync~impair, la ligne de balayage pour laquelle les adresses d'écriture sont générées est décalée d'une ligne de balayage par rapport à la ligne de balayage pour laquelle des adresses d'écriture sont générées lorsqu'on génère des adresses d'écriture pour un champ impair.
Le compte d'impulsions délivré par le premier compteur 620 est également reçu par une unité arithmétique 6503. L'unité arithmétique 6503 soustrait 276 au compte
<Desc/Clms Page number 29>
d'impulsions et divise le résultat par deux pour générer un compte de pixels entrelacés. La valeur de 276 représente deux intervalles de suppression horizontale (2*138=276) de telle sorte que la division du résultat de la soustraction produit une valeur représentant un compte de pixels lors du balayage d'une ligne de données entrelacées. La figure 7J illustre le compte de pixels entrelacés.
Un troisième multiplexeur 6505 délivre sélectivement le compte de pixels entrelacés et une valeur nulle sur la base d'un signal de commande reçu d'un second comparateur 6501. Le second comparateur 6501 détermine si le compte d'impulsions est supérieur ou égal à 276. Si cela est le cas, le second comparateur 6501 génère un signal de commande (par exemple un "1") de telle façon que le troisième multiplexeur 6505 délivre le compte de pixels entrelacés. Si le compte d'impulsions n'est pas supérieur ou égal à 276, le second comparateur 6501 génère alors un signal de commande (par exemple un "0") de telle façon que le troisième multiplexeur 6505 délivre la valeur nulle. La figure 7K illustre la sortie du troisième multiplexeur 6505.
Un second registre à verrouillage 6507 génère des adresses de lecture (RA) sur la base de la sortie reçue du troisième multiplexeur 6505. Plus précisément, le second registre à verrouillage 6507 stocke la sortie du troisième multiplexeur 6507 en conformité avec un second signal d'horloge CLK2. Le second signal d'horloge CLK2 a des impulsions d'horloge à la fréquence des données vidéo correspondant aux données de balayage entrelacées. La figure 7M illustre le second signal d'horloge CLK2. Comme illustré, la fréquence du second signal d'horloge CLK2 est égale à la moitié de celle du premier signal d'horloge CLK1 illustré sur la figure 7D. La figure 7N illustre les adresses de lecture générées par le second registre à verrouillage 6507. Comme illustré sur la figure 7N, malgré le fait que le troisième multiplexeur 6507 puisse générer un flux de nombres comme par exemple 358,358,5, 359,
<Desc/Clms Page number 30>
359,5,360, etc., le second registre à verrouillage 6507 tronque la partie décimale du compte de pixels entrelacés.
Il en résulte que le second registre à verrouillage 6507 génère la même adresse de lecture pour deux comptes consécutifs du compte de pixels progressifs et un compte pour le compte de pixels entrelacés. Plus précisément, le second registre à verrouillage 6507 génère des adresses de lecture à la fréquence des données vidéo entrelacées.
Un quatrième multiplexeur 6701 délivre sélectivement l'une de l'adresse d'écriture reçue du premier registre à verrouillage 6309 et de l'adresse de lecture reçue du second registre à verrouillage 6507 sur la base d'un signal d'écriture WR reçu d'une mémoire 6703. La figure 70 illustre le signal d'écriture. Comme illustré, le signal d'écriture est un signal d'horloge ayant la même fréquence que le premier signal d'horloge CLK1. Lorsque le signal d'écriture est au niveau haut, le quatrième multiplexeur 6701 délivre l'adresse d'écriture, et la mémoire 6703 stocke un pixel des données de balayage progressives.
Lorsque le signal d'écriture est au niveau bas, le quatrième multiplexeur 6701 délivre l'adresse de lecture, qui sera identique pour deux impulsions consécutives du signal d'écriture WR, et la mémoire 6703 délivre des données de pixels stockées à l'adresse de lecture en tant que données de balayage entrelacées IDATA'.
Bien que la description présentée ci-dessus se soit concentrée sur la façon de générer une ligne de balayage pour un champ impair de données de balayage entrelacées, la façon de générer une ligne de balayage pour un champ pair de données de balayage entrelacées pourra facilement être comprise à partir de la description présentée ci-dessus.
Comme décrit ci-dessus, l'écriture de données de balayage progressives dans la mémoire 6703 et la lecture de données de balayage entrelacées depuis la mémoire 6703 ont toutes deux pour base le même signal, c'est-à-dire le signal d'écriture WR. En outre, la génération des adresses d'écriture et de lecture a pour base les première et
<Desc/Clms Page number 31>
seconde horloges qui présentent une relation fixe. Du fait de ce qui précède, les données de balayage entrelacées générées IDATA' sont synchronisées avec les données de balayage progressives générées PDATA.
Un autre exemple de mode de réalisation du convertisseur CPE 220 va être décrit à propos des figures 8 et 9. La figure 8 illustre un exemple de mode de réalisation du convertisseur CPE 220. Le mode de réalisation de la figure 8 est identique au mode de réalisation de la figure 6, excepté en ce qui concerne les différences évoquées en détail ci-dessous. En raison du fait que le mode de réalisation de la figure 8 est en grande partie identique au mode de réalisation de la figure 6, on n'en décrira que les différences pour plus de concision.
Dans le mode de réalisation de la figure 8, le compteur 620 est uniquement réinitialisé sur la base de l'un du signal de synchronisation horizontale impair hsync~impair et du signal de synchronisation horizontale pair hsync pair. Il en résulte que le cadencement de la réinitialisation du compteur d'impulsions 620 dépend du fait de savoir si un champ pair ou un champ impair est généré. Contrairement à cela, ce mode de réalisation prévoit un troisième soustracteur 6303, un premier comparateur différent 6301' et un second multiplexeur différent 6307' pour effectuer ce changement de cadencement.
Comme illustré, le troisième soustracteur 6303 génère un compte de pixels d'une ligne de balayage de champ pair en soustrayant la valeur 996 au compte d'impulsions cnt. La valeur 996 est égale à 858 (première ligne de balayage) + 138 (intervalle de suppression horizontale de la ligne de balayage suivante). De ce fait, on peut noter que le premier soustracteur 6305 génère le compte de pixels de la ligne de balayage de champ impair.
Le premier comparateur 6301' détermine si un champ impair ou supérieur est généré et si le compte d'impulsions
<Desc/Clms Page number 32>
représente les données de pixels pour une ligne de balayage impaire, et détermine si un champ pair ou inférieur est généré et si le compte d'impulsions représente les données de pixels pour une ligne de balayage paire. Plus précisément, le premier comparateur 6301' génère un signal de commande à "1" lorsque l'identificateur de champ id~champ indique un champ supérieur ou impair et lorsque le compte d'impulsions est supérieur ou égal à 138 et inférieur à 859. Le premier comparateur 6301' génère un signal de commande à "2" lorsque l'identificateur de champ id~champ indique un champ pair ou inférieur et lorsque le compte d'impulsions est supérieur ou égal à 996. Lorsque le compte d'impulsions est inférieur à 138, le premier comparateur 6301' génère un signal de commande à "0".
Le premier multiplexeur 6307' délivre le compte de pixels de la ligne de balayage paire lorsque le premier comparateur 6301' génère un signal de commande à "2", délivre le compte de pixels de la ligne de balayage impaire lorsque le premier comparateur 6301' génère un signal de commande à "1", et délivre la valeur zéro lorsque le premier comparateur 6301' génère un signal de commande à "0".
Les figures 9A-90 illustrent les mêmes formes d'ondes que celles qui sont représentées respectivement par les figures 7A-70. La figure 9P illustre le compte de pixels du champ pair produit par le troisième soustracteur 6303.
Comme on peut le noter, ce mode de réalisation de l'invention assure la même synchronisation entre les données de balayage progressives générées PDATA et les données de balayage entrelacées IDATA' générées que celles qui ont été décrites en détail précédemment à propos du mode de réalisation de la figure 6.
L'invention ayant ainsi été décrite, il apparaîtra qu'elle peut donner lieu à de nombreuses variantes différentes. Ces variantes ne doivent pas être considérées comme sortant du cadre de l'invention, et toutes ces modifications doivent être considérées comme faisant partie de la présente invention.
Claims (31)
1. Procédé de conversion entrelacé-progressif, caractérisé en ce qu'il consiste à : recevoir une commande pour appliquer l'une d'au moins deux techniques de conversion entrelacé-progressif (CEP) à des données de balayage entrelacées d'entrée (IDATA) ; et appliquer la technique CEP indiquée en instruction par la commande reçue aux données de balayage entrelacées d'entrée (IDATA).
2. Procédé selon la revendication 1, caractérisé en ce que la commande indique d'appliquer l'une d'au moins une technique de conversion CEP par interpolation spatiale et d'une technique de conversion CEP par interpolation spatiale/temporelle.
3. Procédé selon la revendication 2, caractérisé en ce que : la technique de conversion CEP par interpolation spatiale applique une interpolation spatiale à un champ courant des données de balayage entrelacées d'entrée (IDATA) pour produire un champ de données de balayage complémentaires qui, en association avec le champ courant, représente une trame de données de balayage progressives (PDATA) ; et la technique de conversion CEP par interpolation spatiale/temporelle applique une interpolation spatiale adaptative en fonction de la direction combinée sélectivement à une interpolation temporelle utilisant le champ courant (X) , au moins un champ précédent (X-1) et au moins un champ suivant (X+1) des données de balayage entrelacées d'entrée (IDATA) pour produire un champ de données de balayage complémentaires qui, en association avec le champ courant, représente une trame de données de balayage progressives (PDATA).
4. Procédé selon la revendication 2, caractérisé en ce que la technique de conversion CEP par interpolation spatiale/temporelle est adaptative.
<Desc/Clms Page number 34>
5. Procédé selon la revendication 2, caractérisé en ce qu'il consiste en outre à : générer la commande pour indiquer la technique d'interpolation spatiale lorsqu'un champ courant (X) des données de balayage entrelacées d'entrée (IDATA) est soit précédé (X-l) soit suivi (X+l) d'un champ du même type ; et générer la commande pour indiquer la technique de conversion CEP par interpolation spatiale/temporelle lorsque les données de balayage entrelacées d'entrée (IDATA) sont des données de balayage entrelacées à base de champs.
6. Procédé selon la revendication 1, caractérisé en ce que la commande indique d'appliquer l'une d'au moins une technique de conversion CEP par interpolation spatiale, d'une technique de conversion CEP par sortie de champs en alternance, cette technique consistant à délivrer en alternance deux champs consécutifs des données de balayage entrelacées d'entrée (IDATA), ligne de balayage par ligne de balayage, afin de produire une trame de données de balayage progressives (PDATA), et d'une technique de conversion CEP par interpolation spatiale/temporelle.
7. Procédé selon la revendication 6, caractérisé en ce qu'il consiste en outre à : générer la commande pour indiquer la technique de conversion CEP par interpolation spatiale lorsqu'un champ courant (X) des données de balayage entrelacées (IDATA) d'entrée est soit précédé (X-l) soit suivi (X+l) d'un champ du même type ; générer la commande pour indiquer la technique de conversion CEP de sortie de champs alternés lorsque les données de balayage entrelacées (IDATA) d'entrée sont des données de balayage entrelacées à base de trames ; et générer la commande pour indiquer la technique de conversion CEP par interpolation spatiale/temporelle lorsque les données de balayage entrelacées d'entrée
<Desc/Clms Page number 35>
(IDATA) sont des données de balayage entrelacées à base de champs.
8. Convertisseur entrelacé-progressif (CEP) (210) caractérisé en ce qu'il comprend : une structure de conversion configurée pour générer des flux différents de données de balayage à partir de données de balayage entrelacées d'entrée (IDATA), les différents flux de données de balayage représentant une conversion des données de balayage entrelacées d'entrée en des parties de données de balayage progressives (PDATA) selon différentes techniques de conversion CEP ; et un sélecteur configuré pour délivrer sélectivement les différents flux de données de balayage en tant que données de balayage progressives (PDATA).
9. Convertisseur CEP (210) selon la revendication 8, caractérisé en ce que les différentes techniques de conversion CEP comprennent une technique de conversion CEP par interpolation spatiale et une technique de conversion CEP par interpolation spatiale/temporelle.
10. Convertisseur (210) selon la revendication 9, caractérisé en ce que : la technique de conversion CEP par interpolation spatiale applique une interpolation spatiale à un champ courant (X) des données de balayage entrelacées d'entrée (IDATA) pour produire un champ de données de balayage complémentaires qui, en association avec le champ courant, représente une trame de données de balayage progressives (PDATA) ; et la technique de conversion CEP par interpolation spatiale/temporelle applique une interpolation spatiale adaptative en fonction de la direction sélectivement combinée à une interpolation temporelle en utilisant le champ courant (X) et au moins un champ précédent (X-1) et au moins un champ suivant (X+1) des données de balayage entrelacées d'entrée (IDATA) pour produire un champ de données de balayage complémentaires qui, en association
<Desc/Clms Page number 36>
avec le champ courant, représente une trame de données de balayage progressives (PDATA).
11. Convertisseur (210) selon la revendication 9, caractérisé en ce que la technique de conversion CEP par interpolation spatiale/temporelle est adaptative.
12. Convertisseur CEP (210) selon la revendication 8, caractérisé en ce que les différentes techniques de conversion CEP comprennent une technique de conversion CEP par interpolation spatiale, une technique CEP de sortie de champs en alternance selon laquelle deux champs consécutifs des données de balayage entrelacées d'entrée (IDATA) sont délivrés en alternance ligne de balayage par ligne de balayage pour produire une trame de données de balayage progressives (PDATA), et une technique de conversion CEP par interpolation spatiale/temporelle.
13. Convertisseur (210) selon la revendication 8, caractérisé en ce que la structure de conversion comprend : un interpolateur (10) configuré pour interpoler des lignes d'une trame de données de balayage progressives (PDATA) absentes d'un champ courant des données de balayage entrelacées d'entrée (IDATA) par interpolation spatiale des lignes absentes en utilisant le champ courant.
14. Convertisseur (210) selon la revendication 8, caractérisé en ce que la structure de conversion est configurée pour fournir au sélecteur les données de balayage entrelacées d'entrée (IDATA) d'un champ courant (X) et de l'un d'un champ précédent (X-1) et d'un champ suivant (X+l) des données de balayage entrelacées d'entrée.
15. Convertisseur (210) selon la revendication 8, caractérisé en ce que la structure de conversion comprend : un interpolateur spatial/temporel configuré pour appliquer une technique de conversion CEP par interpolation spatiale/temporelle aux données de balayage entrelacées d'entrée (IDATA) pour produire une partie des données de balayage progressives (PDATA).
<Desc/Clms Page number 37>
16. Convertisseur (210) selon la revendication 15, caractérisé en ce que l'interpolateur spatial/temporel est configuré pour effectuer une interpolation spatiale/temporelle adaptative.
17. Convertisseur (210) selon la revendication 15, caractérisé en ce que l'interpolateur spatial/temporel est configuré pour effectuer une interpolation spatiale adaptative en fonction de la direction.
18. Convertisseur (210) selon la revendication 17, caractérisé en ce que l'interpolateur spatial/temporel est configuré pour adapter en fonction de la direction l'interpolation spatiale sur la base d'une mesure d'une différence entre des pixels voisins d'un pixel en cours d'interpolation.
19. Convertisseur (210) selon la revendication 15, caractérisé en ce que l'interpolateur spatial/temporel est configuré pour adapter l'interpolation spatiale/temporelle sur la base d'une complexité d'une image.
20. Convertisseur (210) selon la revendication 15, caractérisé en ce que l'interpolateur spatial/temporel est configuré pour adapter l'interpolation spatiale/temporelle afin de réduire une influence de l'interpolation temporelle lorsque la variation d'une image au cours du temps augmente.
21. Convertisseur (210) selon la revendication 8, caractérisé en ce que : la structure de conversion comporte : un interpolateur (10) configuré pour appliquer une interpolation spatiale à un champ courant (X) des données de balayage entrelacées d'entrée (IDATA) afin de produire un champ de données de balayage complémentaires qui, en association avec le champ courant, représente une trame de données de balayage progressives (PDATA) ; un interpolateur spatial/temporel est configuré pour effectuer une interpolation spatiale adaptative en fonction de la direction sélectivement combinée à une interpolation
<Desc/Clms Page number 38>
temporelle utilisant le champ courant (X), au moins un champ précédent (X-1) et au moins un champ suivant (X+1) des données de balayage entrelacées d'entrée (IDATA) afin de produire un champ de données de balayage complémentaires qui, en association avec le champ courant, représentent une trame de données de balayage progressives (PDATA) ; et le sélecteur est configuré pour recevoir la sortie de l'interpolateur (10) et la sortie de l'interpolateur spatial/temporel.
22. Convertisseur (210) selon la revendication 21, caractérisé en ce que : le sélecteur est configuré pour sélectionner la sortie de l'interpolateur (10) en tant que partie des données de balayage progressives lorsque le champ courant (X) des données de balayage entrelacées d'entrée est soit précédé (X-1) soit suivi (X+1) d'un champ du même type ; le sélecteur est configuré pour sélectionner des données du champ courant (X) des données de balayage entrelacées d'entrée (IDATA) et des données provenant de l'un d'un champ précédent (X-1) et d'un champ suivant (X+1) des données de balayage entrelacées d'entrée en tant que données de balayage progressives (PDATA) lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de trames ; et le sélecteur est configuré pour sélectionner la sortie de l'interpolateur spatial/temporel en tant que partie des données de balayage progressives (PDATA) lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de champs.
23. Convertisseur (210) selon la revendication 12, caractérisé en ce qu'il comprend en outre : une unité de commande (16,26) commandant le sélecteur afin qu'il sélectionne un flux de données de balayage généré conformément à la technique de conversion CEP par interpolation spatiale lorsqu'un champ (X) des données de balayage entrelacées d'entrée (IDATA) est soit précédé (X-1)
<Desc/Clms Page number 39>
soit suivi (X+1) d'un champ du même type ; afin qu'il alterne la délivrance du champ courant et d'un champ précédant ou suivant le champ courant lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de trames ; et afin qu'il sélectionne un flux de données de balayage généré conformément à la technique de conversion CEP par interpolation spatiale/temporelle lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de champs.
24. Convertisseur (210) entrelacé-progressif, caractérisé en ce qu'il comprend : un interpolateur spatial (20) configuré pour appliquer une interpolation spatiale à un champ courant de données de balayage entrelacées (IDATA) suivant une direction unique pour produire un premier champ complémentaire dans un premier mode indiqué par une commande, et configuré pour appliquer une interpolation spatiale adaptive en fonction de la direction du champ courant (X) pour produire un second champ complémentaire dans un second mode indiqué par la commande ; un interpolateur temporel (22) configuré pour appliquer une interpolation temporelle en utilisant le champ courant (X) de données de balayage entrelacées, au moins un champ précédent (X-1) de données de balayage entrelacées et au moins un champ suivant (X+1) de données de balayage entrelacées pour produire un troisième champ complémentaire dans au moins le second mode indiqué par la commande ; et un dispositif de sortie de mode de conversion (24) recevant une sortie de l'interpolateur spatial (20) et de l'interpolateur temporel (22) et générant une trame de données de balayage progressives (PDATA) sur la base de la commande.
25. Convertisseur (210) selon la revendication 24, caractérisé en ce que le dispositif de sortie de mode de
<Desc/Clms Page number 40>
conversion (24) est configuré pour délivrer le champ courant (X) et le premier champ complémentaire, ligne de balayage par ligne de balayage, pour produire une trame de données de balayage progressives (PDATA) dans le premier mode indiqué par la commande ; et est configuré pour combiner le second champ complémentaire et le troisième champ complémentaire en un champ complémentaire composite, et pour délivrer le champ courant et le champ complémentaire composite ligne de balayage par ligne de balayage, afin de produire une trame de données de balayage progressives (PDATA) dans le second mode indiqué par la commande .
26. Convertisseur (210) selon la revendication 25, caractérisé en ce que : l'interpolateur spatial (20) est configuré pour délivrer le champ courant dans un troisième mode indiqué par la commande ; l'interpolateur temporel (22) est configuré pour délivrer l'un du champ précédent (X-1) et du champ suivant (X+1) dans le troisième mode indiqué par la commande ; et le dispositif de sortie de mode de conversion (24) est configuré pour délivrer en alternance la sortie reçue par les interpolateurs spatial et temporel (20, 22), ligne par ligne, dans le troisième mode indiqué par la commande.
27. Convertisseur (210) selon la revendication 26, caractérisé en ce qu'il comprend en outre : une unité de commande (16,26) générant la commande pour indiquer le premier mode lorsqu'un champ (X) des données de balayage entrelacées d'entrée (IDATA) est soit précédé (X-1) soit suivi (X+1) d'un champ du même type ; pour indiquer le troisième mode lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de trames ; et pour indiquer le second mode lorsque les données de balayage entrelacées d'entrée sont des données de balayage entrelacées à base de champs.
<Desc/Clms Page number 41>
28. Convertisseur (210) selon la revendication 25, caractérisé en ce que le dispositif de sortie de mode de conversion (24) est configuré pour générer le champ complémentaire composite en combinant de façon adaptative le second champ complémentaire et le troisième champ complémentaire.
29. Convertisseur (210) selon la revendication 28, caractérisé en ce que le dispositif de sortie de mode de conversion (24) est configuré pour combiner de façon adaptative le second champ complémentaire et le troisième champ complémentaire sur la base d'une complexité d'une image.
30. Convertisseur (210) selon la revendication 28, caractérisé en ce que le dispositif de sortie de mode de conversion (24) combine de façon adaptative le second champ complémentaire et le troisième champ complémentaire pour réduire une influence de l'interpolation temporelle lorsque la variation d'une image au cours du temps augmente.
31. Convertisseur (210) selon la revendication 24, caractérisé en ce que l'interpolateur spatial (20) est configuré pour effectuer une interpolation spatiale adaptative en fonction de la direction du champ courant pour produire un second champ complémentaire dans un second mode sur la base d'une mesure d'une différence entre des pixels voisins d'un pixel en cours d'interpolation.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030037137A KR100574943B1 (ko) | 2003-06-10 | 2003-06-10 | 영상 변환 방법 및 장치 |
US10/811,993 US7791672B2 (en) | 2003-06-10 | 2004-03-30 | Scanning conversion apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2856218A1 true FR2856218A1 (fr) | 2004-12-17 |
FR2856218B1 FR2856218B1 (fr) | 2006-02-24 |
Family
ID=33509641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0406237A Expired - Fee Related FR2856218B1 (fr) | 2003-06-10 | 2004-06-09 | Appareil et procede de conversion de balayage |
Country Status (6)
Country | Link |
---|---|
US (1) | US7791672B2 (fr) |
JP (1) | JP4847688B2 (fr) |
KR (1) | KR100574943B1 (fr) |
CN (1) | CN1574954B (fr) |
DE (1) | DE102004029041B4 (fr) |
FR (1) | FR2856218B1 (fr) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080030615A1 (en) * | 2005-06-29 | 2008-02-07 | Maximino Vasquez | Techniques to switch between video display modes |
JP4254811B2 (ja) * | 2006-05-29 | 2009-04-15 | ソニー株式会社 | 画像表示装置、信号処理装置、および画像表示方法、並びにコンピュータ・プログラム |
GB2444534A (en) * | 2006-12-06 | 2008-06-11 | Sony Uk Ltd | Assessing the reliability of motion information in motion adaptive image processing |
GB2503833B (en) | 2008-12-09 | 2014-04-30 | Snell Ltd | Motion image rendering system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101535A1 (en) * | 2001-01-29 | 2002-08-01 | Swan Philip L. | Method and apparatus for de-interlacing/re-interlacing video by a graphics processor |
US6459455B1 (en) * | 1999-08-31 | 2002-10-01 | Intel Corporation | Motion adaptive deinterlacing |
US6661464B1 (en) * | 2000-11-21 | 2003-12-09 | Dell Products L.P. | Dynamic video de-interlacing |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2574370B2 (ja) | 1988-03-07 | 1997-01-22 | 基盤情報システム開発株式会社 | 画質改善用走査変換装置 |
US4989090A (en) | 1989-04-05 | 1991-01-29 | Yves C. Faroudja | Television scan line doubler including temporal median filter |
GB2231460B (en) * | 1989-05-04 | 1993-06-30 | Sony Corp | Spatial interpolation of digital video signals |
JP3154272B2 (ja) * | 1989-09-13 | 2001-04-09 | キヤノン株式会社 | 画像変換装置及び方法 |
JPH04172875A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 適応型輪郭強調回路 |
DE4211955A1 (de) * | 1992-04-09 | 1993-10-14 | Thomson Brandt Gmbh | Verfahren und Vorrichtung für eine interlace-progressiv-Wandlung |
FR2700090B1 (fr) * | 1992-12-30 | 1995-01-27 | Thomson Csf | Procédé de désentrelacement de trames d'une séquence d'images animées. |
JP3060799B2 (ja) * | 1993-10-20 | 2000-07-10 | 松下電器産業株式会社 | 順次走査信号処理システム |
US5661525A (en) * | 1995-03-27 | 1997-08-26 | Lucent Technologies Inc. | Method and apparatus for converting an interlaced video frame sequence into a progressively-scanned sequence |
KR0176568B1 (ko) * | 1996-01-27 | 1999-05-01 | 김광호 | 모션과 공간적인 상관도를 이용한 비월순차 변환장치 및 그 방법 |
CN1096185C (zh) | 1996-01-27 | 2002-12-11 | 三星电子株式会社 | 使用运动和空间相关的隔行向逐行转换装置和方法 |
JP3814326B2 (ja) | 1996-02-15 | 2006-08-30 | 松下電器産業株式会社 | 映像信号処理回路 |
US5936676A (en) * | 1997-08-21 | 1999-08-10 | Miranda Technologies Inc. | Apparatus and method for line interpolating an interlaced video signal |
JP3514063B2 (ja) * | 1997-02-20 | 2004-03-31 | 松下電器産業株式会社 | 受信装置 |
KR100535631B1 (ko) * | 1997-09-29 | 2006-07-10 | 주식회사 팬택앤큐리텔 | 적응적 비월주사 모양정보 부호화/복호화 장치및 방법 |
US6014182A (en) * | 1997-10-10 | 2000-01-11 | Faroudja Laboratories, Inc. | Film source video detection |
EP0946055B1 (fr) * | 1998-03-09 | 2006-09-06 | Sony Deutschland GmbH | Méthode et système d'interpolation de signaux numériques |
JPH11266439A (ja) | 1998-03-18 | 1999-09-28 | Hitachi Ltd | 画像信号の倍速走査変換回路 |
WO1999052281A2 (fr) | 1998-04-03 | 1999-10-14 | Miranda Technologies Inc. | Transposeur de frequence pour television haute definition |
JP3293561B2 (ja) | 1998-07-29 | 2002-06-17 | 日本電気株式会社 | 画像表示装置及び画像表示方法 |
US6239842B1 (en) * | 1998-12-18 | 2001-05-29 | Oplus Technologies Ltd. | Method of de-interlacing video signals using a mixed mode spatial and temporal approximation technique |
US7269342B1 (en) * | 1998-12-22 | 2007-09-11 | Matsushita Electric Industrial Co., Ltd. | Video signal reproducing device |
EP1101354B1 (fr) * | 1999-05-25 | 2008-10-15 | Nxp B.V. | Conversion de signaux-image entrelaces en signaux-image balayees progressivement par scanner |
KR100303728B1 (ko) * | 1999-07-29 | 2001-09-29 | 구자홍 | 격행주사 영상의 디인터레이싱 방법 |
JP2001169252A (ja) | 1999-12-06 | 2001-06-22 | Victor Co Of Japan Ltd | 順次走査変換装置及び方法 |
JP2001189919A (ja) * | 1999-12-28 | 2001-07-10 | Sony Corp | 画像情報変換装置及び画像情報変換方法 |
KR100631496B1 (ko) * | 2000-01-12 | 2006-10-09 | 엘지전자 주식회사 | 디인터레이싱 장치 |
JP4553481B2 (ja) * | 2000-12-14 | 2010-09-29 | パナソニック株式会社 | 走査線補間装置 |
JP2002290926A (ja) | 2001-03-27 | 2002-10-04 | Matsushita Electric Ind Co Ltd | 斜め適応型走査線補間装置 |
KR100393066B1 (ko) * | 2001-06-11 | 2003-07-31 | 삼성전자주식회사 | 적응 움직임 보상형 디-인터레이싱 장치 및 그 방법 |
JP2002369156A (ja) * | 2001-06-11 | 2002-12-20 | Mitsubishi Electric Corp | 映像信号変換装置 |
JP2003087797A (ja) * | 2001-09-06 | 2003-03-20 | Sony Corp | 画像情報変換装置及び方法、画像情報変換プログラム、並びに記録媒体 |
-
2003
- 2003-06-10 KR KR1020030037137A patent/KR100574943B1/ko not_active IP Right Cessation
-
2004
- 2004-03-30 US US10/811,993 patent/US7791672B2/en not_active Expired - Fee Related
- 2004-06-08 DE DE102004029041A patent/DE102004029041B4/de not_active Expired - Fee Related
- 2004-06-09 JP JP2004171417A patent/JP4847688B2/ja not_active Expired - Fee Related
- 2004-06-09 FR FR0406237A patent/FR2856218B1/fr not_active Expired - Fee Related
- 2004-06-10 CN CN2004100640790A patent/CN1574954B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6459455B1 (en) * | 1999-08-31 | 2002-10-01 | Intel Corporation | Motion adaptive deinterlacing |
US6661464B1 (en) * | 2000-11-21 | 2003-12-09 | Dell Products L.P. | Dynamic video de-interlacing |
US20020101535A1 (en) * | 2001-01-29 | 2002-08-01 | Swan Philip L. | Method and apparatus for de-interlacing/re-interlacing video by a graphics processor |
Non-Patent Citations (1)
Title |
---|
HAAN DE G ET AL: "DEINTERLACING - AN OVERVIEW", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 86, no. 9, September 1998 (1998-09-01), pages 1839 - 1857, XP000850198, ISSN: 0018-9219 * |
Also Published As
Publication number | Publication date |
---|---|
FR2856218B1 (fr) | 2006-02-24 |
DE102004029041A1 (de) | 2005-01-27 |
KR100574943B1 (ko) | 2006-05-02 |
CN1574954B (zh) | 2011-04-13 |
JP2005006316A (ja) | 2005-01-06 |
JP4847688B2 (ja) | 2011-12-28 |
US20040252233A1 (en) | 2004-12-16 |
DE102004029041B4 (de) | 2009-06-04 |
US7791672B2 (en) | 2010-09-07 |
KR20040105966A (ko) | 2004-12-17 |
CN1574954A (zh) | 2005-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0852096B1 (fr) | Interpolation avec compensation de mouvement | |
EP1450560B1 (fr) | Procédé et dispositif de dé-entrelacement par analyse de pixels | |
JP4900548B2 (ja) | ビデオ画像の改善される空間的な解像度 | |
EP1515543A2 (fr) | Méthode et dispositif de désentrelacement utilisant des cartes comprenant l'histoire du mouvement générées de manière récursive | |
US8189105B2 (en) | Systems and methods of motion and edge adaptive processing including motion compensation features | |
JP2003244661A (ja) | 動き適応型デインターレース方法および装置 | |
FR2600478A1 (fr) | Procede et dispositif pour geler une image de television | |
JPH05244573A (ja) | 画像信号処理装置及び方法 | |
JP3365333B2 (ja) | 解像度変換装置 | |
EP0498625B1 (fr) | Appareil à balayage progressif pour générer des effets spéciaux de télévision et procédé correspondant | |
JP3596520B2 (ja) | 画像信号処理装置及び方法 | |
FR2856218A1 (fr) | Appareil et procede de conversion de balayage | |
WO2003055212A1 (fr) | Appareil de traitement de signal d'image et procede de traitement | |
US7362375B2 (en) | Scanning conversion apparatus and method | |
FR2750558A1 (fr) | Procede d'interpolation de trames pour compatibilite mode film | |
EP0365090B1 (fr) | Dispositif de doublement du rythme de signaux de télévision, et décodeur d'images de télévision comprenant un tel dispositif | |
JP4214781B2 (ja) | 撮像装置および方法、記録媒体、並びにプログラム | |
JP4611666B2 (ja) | 走査変換装置及び走査変換方法 | |
JP3489852B2 (ja) | 高精細撮像装置 | |
JP3040439B2 (ja) | 画像処理装置及びその制御方法 | |
JP5300606B2 (ja) | 撮像装置及びその制御方法 | |
JP3158737B2 (ja) | 静止画用ビデオ信号の発生回路 | |
US20050046742A1 (en) | Image signal processing circuit | |
JP2619039B2 (ja) | 撮像装置 | |
JP2728135B2 (ja) | 撮像装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20150227 |