Brevet FR2899743A1 — publié le 20071012

ARRIÈRE-PLAN TECHNOLOGIQUE Domaine de la Présente Invention La présente description concerne de manière générale un traitement vidéo et, plus spécifiquement, une variance de traitement pour des images vidéo. Description de la Technique Concernée Les techniques de traitement vidéo fonctionnent sur une séquence d'images individuelles qui représente une vidéo animée lorsque affichée séquentiellement. Il est souvent souhaitable pour des images brutes à compresser de ré- duire la quantité de données nécessaires pour représenter la séquence d'images individuelles constituant la vidéo. Une technique de compression commune consiste à supprimer une redondance spatiale d'images sources en utilisant un procédé DCT (Transformée Cosinus Discrète) de type bloc. Le procédé DCT de type bloc peut compresser soit des don-nées de trame d'image soit des données de champ d'image dans une tentative pour optimiser la compression des images sources. Par conséquent, un système et un procédé destinés à améliorer l'optimisation d'images sources se- raient utiles. EXPOSÉ DE L'INVENTION La présente invention propose à cet effet un procédé corn- portant les étapes consistant à : recevoir un premier en-semble de données représentant une première partie d'une image vidéo à compresser ; déterminer une première pluralité de valeurs de variation, chaque valeur de variation étant basée sur un sous-ensemble correspondant du premier ensemble de données ; et déterminer un type DCT basé sur la première pluralité de valeurs de variation. Selon diverses formes de mise en œuvre avantageuses : - la détermination du type DCT basé sur la pluralité de valeurs de variation comporte la détermination du type DCT basé sur une comparaison d'une première valeur de variation de la pluralité de valeurs de variation à une seconde valeur de variation de la première pluralité de valeurs de variation ; - la première pluralité de valeurs de variation comporte une valeur de variation de trame basée sur un premier sous-ensemble du premier ensemble de données et une valeur de variation de champ basée sur un second sous-ensemble du premier ensemble de données ; - la première pluralité de valeurs de variation comporte une première valeur de variation de champ basée sur un premier sous-ensemble du premier ensemble de données et une seconde valeur de variation de champ basée sur un second sous-ensemble du premier ensemble de don-nées ; - il est prévu une étape consistant à délivrer au moins une valeur de variation à mémoriser en mémoire, la au moins une valeur de variation étant basée sur au moins une valeur parmi la pluralité de valeurs de variation ; - la au moins une valeur de variation est non signée et est représentée par un nombre impair de bits ; - il est prévu en outre une étape consistant à délivrer un indicateur du type DCT à mémoriser en mémoire ; - l'indicateur du type DCT et la au moins une valeur de variation sont mémorisés simultanément ; - l'indicateur du type DCT et la valeur de variation sont mémorisés dans un mot de données commun ; - la réception du premier ensemble de données comporte la réception du premier ensemble de données dans un premier étage d'un pipeline en provenance d'un deuxième étage du pipeline ; û le deuxième étage du pipeline comporte un changeur d'échelle vidéo ; û le deuxième étage du pipeline comporte un filtre de réduction de bruit ; û il est prévu une identification du deuxième étage du pipeline en tant que l'un parmi un troisième étage du pipeline et un quatrième étage du pipeline ; û l'identification du deuxième étage comporte en outre la lecture d'une valeur à partir d'un emplacement de mémoire pour identifier le deuxième étage. Selon un autre aspect, l'invention propose un procédé comportant les étapes consistant à : recevoir une pluralité de macroblocs vidéo en provenance de la mémoire pen- dant une première période de temps ; traiter la pluralité de macroblocs vidéo dans un premier étage d'un pipeline pendant une deuxième période de temps pour générer une pluralité de premiers macroblocs modifiés ; et traiter la pluralité de premiers macroblocs modifiés dans un deuxième étage du pipeline pendant une troisième période de temps pour déterminer une pluralité de valeurs de variation pour chaque macrobloc. De préférence, le traitement de la pluralité de macroblocs vidéo dans le premier étage du pipeline agit sur N macroblocs, N étant un nombre entier positif supérieur à 1. L'invention propose également un système comportant un premier étage d'un pipeline comportant une entrée pour recevoir un premier ensemble de données représentant une partie d'une image vidéo et une sortie pour délivrer un deuxième ensemble de données représentant la partie d'une image vidéo basée sur le premier ensemble de données, et un deuxième étage du pipeline comportant une entrée couplée à la sortie du premier étage pour recevoir le deuxième ensemble de données, et une sortie ; le deuxième étage du pipeline comporte une première partie pour dé-terminer une ou plusieurs valeurs de variation de champ du deuxième ensemble de données, et une deuxième partie pour déterminer une ou plusieurs valeurs de variation de trame du deuxième ensemble de données. Selon diverses formes de réalisation avantageuses : û la première partie sert à déterminer une pluralité de valeurs de variation de champ sur la base du deuxième ensemble de données et la deuxième partie sert à dé- terminer une pluralité de valeurs de variation de trame sur la base du deuxième ensemble de données ; ù il est prévu en outre une troisième partie couplée au premier module et au second module pour recevoir des valeurs de variance, et pour délivrer un indicateur afin de commander la compression du deuxième ensemble de données ; û il est prévu en outre une mémoire comportant une sortie pour délivrer un troisième ensemble de données représentant la partie de l'image vidéo au pipeline, le premier ensemble de données étant l'un parmi le même ensemble que le troisième ensemble de données ou une représentation du troisième ensemble de données ; la sortie du premier module est couplée à la mémoire pour délivrer le deuxième ensemble de données à une entrée de la mémoire. Selon un autre aspect, l'invention propose un système comportant une mémoire capable de transférer N bits d'in-formations simultanément, et un module de traitement couplé à la mémoire pour recevoir des informations vidéo re-présentatives d'une partie d'une image vidéo, et pour dé-livrer une valeur de X bits représentant un calcul de variance basé sur la partie de l'image vidéo, et une valeur de Y bits indiquant un type de compression à appliquer à la partie de l'image vidéo, X, Y et N étant des nombres entiers, et la somme de X et Y étant inférieure ou égale à N. Selon diverses formes de réalisation avantageuses : ù le module de traitement sert en outre à délivrer la valeur de Y bits où la valeur de Y bits est une valeur d'un bit ; ù la mémoire est capable de transférer 16 bits d'informations ou plus simultanément. BREVE DESCRIPTION DE DESSINS La présente description va être mieux comprise et ses nombreuses caractéristiques et avantages vont apparaître plus clairement à l'homme du métier en se reportant aux dessins annexés. Sur les dessins : ù la figure 1 est un schéma fonctionnel représentant un système conformément à la présente description, ù les figures 2 et 4 sont des modes de réalisation spé- cifiques d'un pipeline conformément à un mode de réalisation spécifique de la présente description, ù la figure 3 représente huit blocs associés à un macrobloc conformément à un mode de réalisation spécifique de la présente description, ù les figures 5 et 6 représentent sous forme de schéma fonctionnel une implémentation spécifique d'un module calculateur de variation du pipeline des figures 2 et 4 conformément à un mode de réalisation spécifique de la présente description, ù les figures 7 et 8 représentent des procédés conformé-ment à un mode de réalisation spécifique de la pré-sente description. DESCRIPTION DES MODES PRÉFÉRÉS DE RÉALISATION L'utilisation des mêmes symboles de référence dans les différents dessins indique des éléments similaires ou identiques. Un système et un procédé de détermination et de mémorisation d'un indicateur de type DCT sont décrits. Spécifiquement, une pluralité de variances sont déterminées pour un macrobloc et utilisées pour déterminer si une compres- sion de trame ou de champ du macrobloc doit être mise en oeuvre. La présente description va être mieux comprise en se reportant aux figures 1 à 7. La figure 1 représente un système 100 conformément à un mode de réalisation spécifique de la présente descrip- tion. Le système 100 représente un système de traitement vidéo ayant une pluralité de modules incluant une Entrée Vidéo 110, un Pipeline Vidéo 120, un Compresseur Vidéo 130, un Contrôleur de Mémoire (MC) 140, un Contrôleur 150, et une Mémoire 160. Le terme "port" est ici largement utilisé pour désigner des connexions associées à une fonctionnalité d'un système ou d'une partie d'un système. Par exemple, le terme port peut désigner une ou plusieurs connexions d'entrée, une ou plusieurs connexions de sortie, et une ou plu- sieurs connexions bidirectionnelles comme associé à une partie spécifique d'un système. On va constater que des types de ports spécifiques entre des composants sur les figures sont illustratifs, et n'impliquent pas nécessairement de limiter des connexions à un type de port spéci- figue, ou de laisser supposer l'existence de ports séparés. Par exemple, un module spécifique illustré comme ayant un port d'entrée, représenté par une flèche "in", et un port de sortie, représenté par une flèche "out", peut dans une implémentation réelle avoir un port bidi- rectionnel unique. L'Entrée Vidéo 110 a un port pour recevoir des données vidéo VIDEO SOURCE, et est connectée au Calculateur de Variation de Contrôleur de Mémoire 140 et au Contrôleur 150. Le Pipeline Vidéo 120 est connecté au Contrôleur de Mémoire 140 et au Contrôleur 150. Le Compresseur Vidéo 130 est connecté au Contrôleur de Mémoire 140 et au Contrôleur 150. Le Contrôleur de Mémoire 140 est de plus connecté au Contrôleur 150 et à la Mémoire 160. En fonctionnement, la VIDEO SOURCE représentant une plu- ralité d'images brutes d'un flux vidéo est reçue au ni-veau de l'Entrée Vidéo 110. Les images brutes sont délivrées au Pipeline Vidéo 120, lequel prépare les images en vue d'une compression vidéo. Un module spécifique 240 du Pipeline Vidéo 120 est illustré et représente un module pipeline à étages utilisé pour déterminer des variations dans les images. Un Compresseur Vidéo 130 reçoit les images prétraitées en provenance du Pipeline Vidéo 120 et compresse celles-ci sur la base des informations de variation provenant du Calculateur de Variation 240. Dans le mode de réalisation illustré, des données sont transférées entre les modules 110, 120 et 130 via le Contrôleur de Mémoire 140 aboutissant en résultat à une période d'attente depuis le moment où les données sont demandées à partir de la Mémoire 160 jusqu'au moment où elles sont disponibles dans les modules. L'efficacité de traitement est réalisée en calculant des informations de Variation d'image dans le Pipeline Vidéo 120 du fait qu'un accès unique à la Mémoire 160 peut être utilisé pour supporter de multiples étages de pré- compression dans le Pipeline 120, incluant l'étage de Calculateur de Variation 240. La capacité à utiliser un accès unique comme décrit ici, réduit les impératifs de largeur de bande de données entre le Contrôleur de Mémoire 140 et la Mémoire 160, et entre le Contrôleur de Mémoire 140 et ses clients. Une implémentation spécifique du Pipeline Vidéo 120 est illustrée sur la figure 2. La figure 2 représente un mode de réalisation spécifique d'un Pipeline Vidéo 120 incluant un Changeur d'Echelle 210, un Filtre de Réduction de bruit 220, un Calculateur de Variation 240, et un Sélecteur de Type DCT 250. Une ou plusieurs connexions, telles que des connexions représentées par 202, 212, 222, 242, et 243, peuvent être utilisées pour implémenter une ou plusieurs options de flot de données via le Pipeline Vidéo 120. Par exemple, toutes les données peuvent circuler séquentiellement depuis le Changeur d'Echelle 210 jusqu'au Filtre de Réduction de Bruit 220, Calculateur de Variation 240 et Sélecteur de type DCT 250. Dans un autre mode de réalisation, les don-nées peuvent de manière sélective, telles que via l'uti- lisation d'un registre (non-représenté) contourner le Changeur d'Echelle 210 ou le Filtre de Réduction de Bruit 220 ou les deux, comme représenté par la Connexion 202. En fonctionnement, des images vidéo sources sont reçues dans le Pipeline Vidéo 120 de la figure 2 en provenance de la Mémoire 160. Typiquement, les images sources sont reçues dans le Pipeline Vidéo 120 et exploitées par celui-ci en tant qu'ensembles de données représentant uniquement une partie d'une image source. Par exemple, la partie peut être un bloc spécifique de l'image source. Dans un mode de réalisation, le bloc spécifique peut être un ou plusieurs macroblocs. On note que, le terme macrobloc, tel qu'utilisé ici, est utilisé dans un contexte spécifique comme compris dans une ou plusieurs spécifications MPEG, telles que des versions actuellement disponi- bles des diverses normes MPEG appelées MPEG1, MPEG2 et MPEG4, toutes étant aisément connues par l'homme du métier. Cependant, il doit être compris que l'utilisation de contextes spécifiques dans la présente description est faite dans un but d'illustration et étend d'autres contextes basés sur des blocs de traitement d'informa- tions vidéo. La destination des informations d'image source dans le Pipeline Vidéo 120 peut être un ou plusieurs étages incluant le Changeur d'Echelle 210, le Filtre de Réduction de Bruit 220, et le Calculateur de Variation 240 comme indiqué par la connexion 202. La destination des images vidéo sources dans le Pipeline Vidéo 120 peut être fixe ou variable par conception. Par exemple, le Système 100 peut être conçu pour délivrer exclusivement des données d'image source au Changeur d'Echelle 210. En variante, le Système 100 peut prévoir des registres (non-représentés) qui permettent aux données sources d'être délivrées à un ou plusieurs étages du Pipeline Vidéo 120. Par exemple, les données sources peuvent être délivrées à l'un parmi le Changeur d'Echelle 210, le Filtre de Réduction de Bruit 220, et le Calculateur de Variation 240 sur la base d'une valeur mémorisée dans un emplacement de registre. Comme illustré, le Changeur d'Echelle 210 peut recevoir des données d'image source brute, telles que des macro- blocs en provenance de la Mémoire 160 désignés MB en provenance du Contrôleur de Mémoire (MC) 140. Le Changeur d'Echelle 210 est un changeur d'échelle vidéo capable de mettre à l'échelle des images sources dans une dimension verticale ou horizontale ou les deux. Les images mises à l'échelle par le Changeur d'Echelle 210, lesquelles sont des représentations des images sources, peuvent être dé-livrées à un ou plusieurs étages du Pipeline Vidéo 120 et à la Mémoire 160 via le Contrôleur de Mémoire 140. Le fait que les images mises à l'échelle par le Changeur d'Echelle 210 puissent être délivrées à la Mémoire 160 et à un étage du Pipeline Vidéo 120, tel que le Filtre de Réduction de Bruit 220, et le Calculateur de Variation 240, peut être fixe ou variable par conception. Par exemple, le Système 100 peut être conçu pour toujours délivrer les données d'image mise à l'échelle à une ou plusieurs destinations. Par exemple, les données d'image mise à l'échelle peuvent toujours être délivrées au Filtre de Réduction de Bruit 220, ou toujours délivrées au Filtre de Réduction de Bruit 220 et à la Mémoire 160. Dans un autre mode de réalisation, le Système 100 peut prévoir des registres (non-représentés), qui permettent aux données mises à l'échelle d'être délivrées à un ou plusieurs étages du Pipeline Vidéo 120. Par exemple, les données mises à l'échelle peuvent être délivrées à l'un parmi le Filtre de Réduction de Bruit 220, et le Calculateur de Variation 240 sur la base d'une valeur de registre, et délivrées à la Mémoire 160 sur la base d'une va-leur de registre différente. Le Filtre de Réduction de Bruit 220 reçoit des données d'image, telles que des macroblocs désignés MB en provenance de la Mémoire 160 ou des données mises à l'échelle en provenance du Changeur d'Echelle 210. Le Filtre de Réduction de Bruit 220 filtre des données d'image reçues et délivre des données d'image filtrées à la connexion 222. Les données d'image filtrées provenant du Filtre de Réduction de Bruit 220 peuvent être délivrées à un ou plu-sieurs étages du Pipeline Vidéo 120 (la capacité à délivrer des données filtrées à plus d'un étage n'est pas spécifiquement représentée), et à la Mémoire 160. Le fait que les images filtrées provenant du Filtre de Réduction de Bruit 220 soient délivrées à un ou à plusieurs éléments parmi la Mémoire 160 et un étage du Pipeline Vidéo 120, tel que le Calculateur de Variation 240, peut être fixe ou variable par conception, d'une manière similaire à celle décrite eu égard au Changeur d'Echelle 210 ou au Filtre de Réduction de Bruit 220. Le Calculateur de Variation 240 reçoit des données d'image, telles que des macroblocs désignés MB en provenance de la Mémoire 160, des données mises à l'échelle en provenance du Changeur d'Echelle 210, ou des données fil-trées en provenance du Filtre de Réduction de Bruit 220 et détermine des informations de variation pour les don-nées d'image reçues. Dans un mode de réalisation, les in-formations de variation sont calculées pour des blocs 8x8 de données de luminance. Cependant, dans un but d'efficacité, le calcul peut être exécuté sur une base de macrobloc. Un macrobloc 16x16 contient quatre blocs de champ et quatre blocs de trame. La figure 3 représente les quatre blocs de trame et les quatre blocs de champ pour un macrobloc 310. Le bloc de trame 1 comporte les 64 pixels situés le plus en haut et le plus à gauche du macrobloc 310. Le bloc de trame 2 comporte les 64 pixels situés le plus en haut et le plus à droite du macrobloc 310. Le bloc de trame 3 comporte les 64 pixels situés le plus en bas et le plus à gauche du macrobloc 310. Le bloc de trame 4 comporte les 64 pixels situés le plus en bas et le plus à droite du macrobloc 310. Les blocs de champs hauts 5 et 6 sont illustrés sur la figure 3B, où les blocs de champ 5 et 6 comportent les champs hauts (les lignes de pixels non-foncées sur la figure 3A) des moitiés gauche et droite du macrobloc 310, respectivement. Les blocs de champs bas 7 et 8 sont illustrés sur la figure 3C, où les blocs de champs 7 et 8 comportent les champs bas (les lignes de pixels foncées sur la figure 3A) des moitiés gauche et droite du macrobloc 310, respectivement. Un ou plusieurs de ces huit calculs de variance peuvent être délivrés à la Mémoire 160 en vue d'une utilisation ultérieure comme illustré par la connexion 243 et la connexion 242. Conformément à un mode de réalisation spécifique de la présente description, des valeurs représentant des informations de variation pour chacun des huit blocs sont calculées. Le Sélecteur de Type DCT 250 détermine un Type DCT pour chaque macrobloc sur la base des informations de varia- tion calculées dans le Calculateur de Variation 240. Dans un mode de réalisation, le Sélecteur de Type DCT 250 fournit un indicateur DCT de Trame pour un macrobloc lorsqu'une addition des variations de trame pour le ma- crobloc est inférieure à une addition des variances de champ de macrobloc. De manière similaire, le Sélecteur de Type DCT 250 fournit un indicateur DCT de Champ pour un macrobloc lorsqu'une addition des variances de champ pour le macrobloc est inférieure à une addition des variances de trame de macrobloc. En sélectionnant un Type DCT pour un macrobloc sur la base de la trame totale la plus basse ou de la variance de champ, et en compressant le macrobloc dans le Compresseur Vidéo 130 sur la base du Type DCT calculé, il a été démontré qu'une compression globale améliorée est obtenue. La figure 4 représente un mode de réalisation en variante du Pipeline Vidéo 120. Des éléments analogues aux éléments précédemment décrits sont désigné de manière similaire. Dans le mode de réalisation de la figure 4, les huit valeurs de variation de bloc calculées dans le Calculateur de Variation 240 pour chaque macrobloc sont dé-livrées à un Sélecteur de Variance 280 et à un Sélecteur de Type DCT 290. Le Sélecteur de Variance 280 sélectionne la variance la plus petite parmi les huit valeurs de variation de bloc et délivre cette valeur, ou une représentation tronquée ou arrondie de cette valeur à la sortie du Sélecteur de Variance 280. Dans un mode de réalisation, les variations calculées par le Calculateur de Variation 240 sont des valeurs de 16 bits et les valeurs de variation délivrées en sortie par le Sélecteur de Variance 280 sont une va-leur de 15 bits. Le Sélecteur de Type DCT 290 détermine un indicateur de type DCT d'1 bit sur la base de la pluralité de variances d'une manière similaire à celle précédemment décrite. Dans le mode de réalisation illustré sur la figure 4, l'indicateur de type DCT d'l bit est combiné à la valeur de variation, illustrée pour être une variance de 15 bits (62), pour former un mot de données qui peut être mémori- sé dans la Mémoire 160. De cette manière, à la fois les données de variation et de type DCT peuvent être mémorisées lors d'une écriture unique, nécessitant ainsi moins de largeur de bande que si les données de type DCT et les données de variance étaient mémorisées séparément. Les variations calculées par le Calculateur de Variation 240 mesurent l'activité spatiale pour un macrobloc. L'activité spatiale (acte), telle qu'une variation, d'un macrobloc j est calculée à partir des quatre blocs de luminance, organisés en trame, 1-4 de la figure 3, et des quatre blocs de luminance, organisés en champ, 5-8 de la figure 3, comme indiqué dans l'Equation 1. On note que, si le macrobloc fait partie d'une image progressive, la variation de champ peut être omise. actj = 1 + min (vblki, vblk2, ... , vblk8) Egn.1 Où vblk1-vblk8 sont des variations des huit blocs du macrobloc j. Dans le mode de réalisation spécifique, la variation vb1k1-vblk8 sont des variances déterminées par l'Egn. 2 : 64 vb1kn = 1 x E (Pk - Pmeann)2 64 k=1 Où n représente l'un des huit blocs, k représente l'un des 64 pixels du bloc n, Pk représente la valeur du keme pixel, et Pmeann est la valeur moyenne des 64 pixels du bloc n. Dans un mode de réalisation, la variation est calculée sur des blocs 8x8 de données de luminance sur une base de macrobloc. Un macrobloc 16x16 doit contenir quatre va-leurs de variation, et quatre valeurs de variation de champ. Dans un autre mode de réalisation, deux autres pour les variations les plus faibles parmi les huit va- Egn.2 riations sont sélectionnées pour être la variance du macrobloc MB, bien que d'autres procédés puissent être utilisés pour déterminer la variance du macrobloc. La variation obtenue en résultat est écrite dans la mémoire en tant que partie d'une valeur de 16 bits (variance de 15 bits et DCT de 1 bit) pour un macrobloc j donné. Si la mise à l'échelle verticale est exécutée sur la trame alors il va y avoir uniquement quatre calculs de variance au lieu de huit. Cette diminution du nombre de variances provient de la suppression du champ haut ou bas lors de l'exécution de la mise à l'échelle verticale. Cependant, dans un mode de réalisation spécifique du Système 100, il y a toujours quatre valeurs de variance du fait que la variance est calculée sur un macrobloc 16x16 entier. Ceci aboutit en résultat à seize lignes de champ paires (2, 4, 6, ..., 32), ou seize lignes de champ impaires (1, 3, 5, ..., 31). Dans un mode de réalisation, l'ensemble des variances choisies sont accumulées pour une image entière, et en- suite normalisées en tant que partie de l'algorithme de commande de débit. Cette normalisation est exécutée à la fin d'une trame en divisant la somme des variances par le nombre total de macroblocs dans cette trame. Dans un mode de réalisation, la variation calculée pour un bloc est sa variance. L'algorithme de variance utilisé peut être simplifié et réduit de la manière suivante. Pour commencer, le calcul de variance est uniquement cal-culé sur les sorties de composante Y de 8 bits, telles que sur la sortie du filtre de réduction de bruit. La va- riance (o2) est déterminée en exécutant les accumulations suivantes sur les 64 composantes d'un bloc 8x8 : 1. Initialiser s = s2 = 0 ; 2. Pour chaque composante Y (64 au total) : Soit V = YCURRENT ; s= s+v; s2 = s2 + v* v ; 3. Après avoir reçu l'ensemble des 64 composantes : a2 = s2 - (s*s) /64 La figure 5 représente une implantation de circuit inté- gré spécifique pour déterminer s et s2. Spécifiquement, chaque entrée, composante Y (luminance), dans le bloc de variation est effectuée de la même manière. Par conséquent, pour réduire la zone du circuit intégré, le même bloc est utilisé pour calculer s et s2 pour chaque compo- saute de luminance. Ce calcul est exécuté sur une ligne unique de huit pixels, et chaque pixel est une valeur non-signée qui est entrée depuis le filtre de réduction de bruit ou VS. Chacune des parties d'accumulateur représentées est réinitialisée après avoir reçu un ensemble de huit pixels (; d'une ligne de macrobloc). Une fois que les deux variables intermédiaires, s et s2, ont été cal-culées, elles sont ensuite transmises au bloc d'accumulation de variable de variation de la figure 6. Le bloc d'accumulation de variable de la figure 6 accu- mule huit ensembles de variables s et s2, lesquelles sont utilisées pour calculer la variance (a2) de chacun des blocs de luminance en appliquant l'équation de l'Etape 3 ci-dessus. Afin de réduire la zone du circuit intégré, les fonctions arithmétiques du bloc d'accumulation de variable sont partagées entre les huit blocs de luminance. L'implémentation spécifique illustrée a un trajet de données arithmétique qui est instancié deux fois pour tenir compte du fait que chaque moitié d'une ligne MB peut nécessiter deux calculs de champ de variance. Ainsi, pour une moitié donnée d'une ligne MB, il existe deux accumulations pour l'ensemble de variables s et s2. Dans un mode de réalisation du Système 100, le Filtre de Réduction de Bruit 220 ou le Changeur d'Echelle 210 traite un total de 64 pixels. Ces 64 pixels ne représen- tent pas des pixels d'un macrobloc unique. A la place, ils correspondent à une ligne de pixels qui couvre quatre macroblocs adjacents horizontalement. En conséquence, dans chacun des deux trajets d'accumulation de la figure 6, il existe des sections MUX contenant un maximum de seize registres d'accumulation pour accumuler les variables s et s2 des quatre macroblocs possibles. La variance est calculée en utilisant les valeurs des variables s et s2 finales pour un bloc de données 8x8 don- né. Par conséquent, deux instanciations identiques du circuit de la figure 6 peuvent être utilisées pour générer l'ensemble des huit variances possibles. La valeur de variance finale est tronquée à un résultat de 15 bits au lieu d'un résultat de 16 bits réel attendu par le logi- ciel. Cette réduction de bits est nécessaire pour faciliter l'écriture du bloc de données d'informations de variance concaténées, lequel est constitué de la variance MB finale et du type DCT.Dans un mode de réalisation, le Calculateur de Variation 240 est également chargé de déterminer la variance de trame moyenne. Cette variance moyenne est simplement la somme de toutes les variances MB pour la trame divisée par le nombre de macroblocs dans la trame. Cependant, une division par un diviseur non-constant dans le matériel n'est pas une implémentation sans importance. Par conséquent, un logiciel délivre un facteur de multiplication de normalisation de 1/n afin de faciliter l'implémentation du calcul de variance moyenne. La figure 7 représente un procédé conformément à un mode de réalisation spécifique de la présente description. A l'étape 501, un premier ensemble de données représentant une première partie d'une image vidéo à compresser est reçu. Eu égard à la figure 2, le premier ensemble de don-nées peut être un ou plusieurs macroblocs reçus dans le Calculateur de Variation 240. Le premier ensemble de don- 17 nées peut être reçu en provenance d'un étage parmi une pluralité d'étages de pipeline sur la base d'une sélection de l'utilisateur. A l'étape 502, une première pluralité de valeurs de va- riance basées sur le premier ensemble de données est dé-terminée. Par exemple, huit valeurs de variance, une pour chaque bloc de luminance de trame et de champ, peuvent être déterminées. Une ou plusieurs valeurs de variance calculées à l'étape 502 peuvent être délivrées en vue d'une mémorisation en mémoire à l'étape 503. L'exécution de l'étape 502, qui effectue une mémorisation peut être conditionnelle sur la base d'une sélection de l'utilisateur. Un trajet de don-nées 520 indique que l'étape 504 peut être exécutée indé- pendamment de l'étape 503. A l'étape 504, un Type DCT, qui commande une compression du premier ensemble de données, est déterminé sur la base de la première pluralité de valeurs de variance. Par exemple, le Type DCT va être établi pour être une trans- formée DCT de champ lorsque les variances de champ ont une somme inférieure aux variances de trame. De manière similaire, le Type DCT va être établi pour être une transformée DCT de trame lorsque les variances de trame ont une somme inférieure aux variances de champ. Les étapes 505 et 506 peuvent être exécutées sélective-ment et indépendamment l'une de l'autre. A L'étape 506, un indicateur du type DCT et au moins une valeur de variance sont délivrés à la mémoire simultanément en tant que partie d'une écriture de données commune. A l'étape 505, l'indicateur de type DCT est mémorisé en mémoire. Le Compresseur Vidéo 130 utilise l'indicateur de type DCT pour commander si le macrobloc associé au type DCT est compressé sous forme de données de trame ou de champ. 18 La figure 8 représente un autre procédé conformément à la présente description. Spécifiquement, à l'étape 601, une pluralité de macroblocs vidéo provenant de la mémoire sont reçus pendant une première période de temps. A l'étape 602, la pluralité de macroblocs vidéo sont traités dans un premier étage d'un pipeline pour générer une pluralité de premiers blocs de données modifiés. Par exemple, les premiers blocs de données modifiés peuvent être des données mises à l'échelle depuis un étage de changeur d'échelle ou des données filtrées depuis un étage de filtre de données du pipeline. A l'étape 603, la pluralité de premiers macroblocs modifiés est traitée dans un deuxième étage du pipeline pour déterminer une pluralité de valeurs de variance pour cha- que macrobloc pendant une troisième période de temps. Dans la description détaillée qui précède, on a fait référence aux dessins annexés qui font partie de celle-ci, et dans lesquels sont représentés à titre d'illustration des modes de réalisation spécifiques dans lesquels la présente invention peut être mise en oeuvre. Ces modes de réalisation et certaines variantes de ceux-ci, ont été décrits suffisamment en détail pour permettre à l'homme du métier de mettre en oeuvre la présente invention. Il doit être compris que d'autres modes de réalisation ap- propriés peuvent être utilisés et que des changements logiques et électriques peuvent être apportés sans sortir du cadre de la présente invention. De plus, on constatera que les blocs fonctionnels représentés sur les figures peuvent être en outre combinés ou divisés d'un certain nombre de manières sans sortir du cadre de la présente invention. REVENDICATIONS 1. Procédé caractérisé en ce qu'il comporte les étapes consistant à : û recevoir un premier ensemble de données représentant une première partie d'une image vidéo à compresser, - analyser le premier ensemble de données pour déterminer une première pluralité de valeurs de variation, chaque valeur de variation représentant une activité spatiale dans un sous-ensemble correspondant du pre- mier ensemble de données, ù sélectionner l'un parmi une pluralité de types de fonction DCT, cette sélection étant basée sur la première pluralité de valeurs de variation, et û appliquer le type de fonction DCT sélectionné au pre- mier ensemble de données. 2. Procédé selon la revendication 1, caractérisé en ce que la sélection de l'un des types de fonction DCT basée sur la pluralité de valeurs de variation comporte la sélection du type de fonction DCT sur la base d'une comparaison d'une première valeur de variation de la pluralité de valeurs de variation avec une seconde valeur de variation de la première pluralité de valeurs de variation. 3. Procédé selon la revendication 1, caractérisé en ce que la première pluralité de valeurs de variation comporte une valeur de variation de trame basée sur un sous-ensemble lié à la trame du premier ensemble de données et une valeur de variation de champ basée sur un second sous-ensemble lié au champ du premier ensemble de don-nées. 4. Procédé selon la revendication 1, caractérisé en ce que la première pluralité de valeurs de variation com-porte une première valeur de variation de champ basée sur un premier sous-ensemble lié au champ du premier ensemble de données et une seconde valeur de variation de champ basée sur un second sous-ensemble lié au champ du premier ensemble de données. 5. Procédé selon la revendication 1, caractérisé en outre en ce qu'il comporte l'étape consistant à : û délivrer au moins une valeur de variation à mémoriser en mémoire. 6. Procédé selon la revendication 5, caractérisé en ce que la au moins une valeur de variation est non-signée et est représentée par un nombre impair de bits. 7. Procédé selon la revendication 6, caractérisé en ce qu'il comporte en outre l'étape consistant à : û délivrer un indicateur du type de fonction DCT à mémoriser en mémoire. 8. Procédé selon la revendication 7, caractérisé en ce que l'indicateur du type de fonction DCT et la au moins une valeur de variation sont mémorisés simultanément. 25 9. Procédé selon la revendication 7, caractérisé en ce que l'indicateur du type de fonction DCT et la valeur de variation sont mémorisés dans un mot de données commun. 10. Procédé selon la revendication 1, caractérisé en ce 30 que la réception du premier ensemble de données comporte la réception du premier ensemble de données dans un premier étage d'un pipeline en provenance d'un deuxième étage du pipeline. 20 11. Procédé selon la revendication 10, caractérisé en ce que le deuxième étage du pipeline comporte un changeur d'échelle vidéo (210). 12. Procédé selon la revendication 10, caractérisé en ce que le deuxième étage du pipeline comporte un filtre de réduction de bruit (222). 13. Procédé selon la revendication 1, caractérisé en ce qu'il comporte les étapes consistant à : ù recevoir une pluralité de macroblocs vidéo en provenance de la mémoire (160) pendant une première période de temps, û traiter la pluralité de macroblocs vidéo dans un pre- mier étagé d'un pipeline pendant une deuxième période de temps pour générer ledit premier ensemble de don-nées, ladite analyse du premier ensemble de données reçu pour déterminer ladite pluralité de valeurs de variation étant opérée dans un deuxième étage du pipe- fine pendant une troisième période de temps. 14. Procédé selon la revendication 13, caractérisé en ce que le traitement de la pluralité de macroblocs vidéo dans le premier étage du pipeline agit sur N macroblocs, N étant un nombre entier positif supérieur à 1. 15. Système de traitement vidéo (100) comprenant une mémoire, et un module de traitement couplé à la mémoire pour recevoir de celle-ci un premier ensemble de données vidéo représentatives d'une partie d'image vidéo, le module de traitement ayant : - une première partie de calcul de variance pour déter- miner une ou plusieurs variances de champ sur la base de l'activité spatiale dans une partie liée au champ du premier ensemble de données vidéo reçu,û une deuxième partie de calcul de variance pour déterminer une ou plusieurs variances de trame sur la base de l'activité spatiale dans une partie liée à la trame du premier ensemble de données vidéo reçu, et û une troisième partie couplée à la première partie de calcul de variance et à la deuxième partie de calcul de variance pour recevoir des valeurs de variance de ces première et deuxième parties de calcul de variance et, sur la base des valeurs de variance ainsi reçues, délivrer un indicateur afin de contrôler la compres- sion du premier ensemble de données vidéo reçues. 16. Système (100) selon la revendication 15, caractérisé en ce que la troisième partie comprend : une partie de comparaison pour comparer la ou les va- riances de champ et la ou les variances de trame, et une partie de sélection de type de fonction DCT pour sélectionner et appliquer l'un parmi une pluralité de types de fonctions DCT au premier ensemble de données sur la base de la comparaison desdites variances de champ et desdites variances de trame. 17. Système (100) selon la revendication 16, caractérisé en ce que le module de traitement comporte en outre : ù une quatrième partie produisant une sortie pour délivrer un deuxième ensemble de données au pipeline, le deuxième ensemble de données étant une représentation de la partie de l'image vidéo, et le premier ensemble de données étant une représentation du deuxième ensem- ble de données. 18. Système (100) selon la revendication 15, caractérisé en ce que la mémoire (160) est capable de transférer N bits d'informations simultanément, et la troisième partie du module de traitement est apte à délivrer une valeur deY 23 X bits représentant un calcul de variance basé sur la partie de l'image vidéo, et une valeur de Y bits indiquant un type de compression à appliquer à la partie de l'image vidéo, X, Y et N étant des nombres entiers, et la somme de X et Y étant inférieure ou égale à N.