FR2684257A1 - Dispositif de decodage d'informations de mouvement en television haute definition. - Google Patents
Dispositif de decodage d'informations de mouvement en television haute definition. Download PDFInfo
- Publication number
- FR2684257A1 FR2684257A1 FR9114626A FR9114626A FR2684257A1 FR 2684257 A1 FR2684257 A1 FR 2684257A1 FR 9114626 A FR9114626 A FR 9114626A FR 9114626 A FR9114626 A FR 9114626A FR 2684257 A1 FR2684257 A1 FR 2684257A1
- Authority
- FR
- France
- Prior art keywords
- information
- storage means
- code
- bits
- coding
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
- H04N7/0152—High-definition television systems using spatial or temporal subsampling
- H04N7/0155—High-definition television systems using spatial or temporal subsampling using pixel blocks
- H04N7/0157—High-definition television systems using spatial or temporal subsampling using pixel blocks with motion estimation, e.g. involving the use of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
La présente invention concerne un dispositif de décodage d'informations de mouvement en télévision haute définition, ces informations étant codées selon un procédé de codage à paramètres ajustables dans lequel, les images étant découpées en N lignes de M macroblocs de dimensions déterminées, le code des informations de mouvement d'un macrobloc comporte au moins un mot de début (BMB) relatif aux informations de codage et des informations de codage. Ce dispositif comporte des premiers moyens (102) de stockage pour stocker selon N lignes les M mots de début d'une ligne et des deuxièmes moyens (100) de stockage pour stocker selon N lignes les M ensembles d'informations de codage relatifs à une ligne, les premiers et deuxièmes moyens de stockage étant lus en parallèle, des moyens de décodage (11, 12) et un moyen de stockage (13) en sortie des informations décodées. Il s'applique plus particulièrement au système de télévision HD-MAC.
Description
DISPOSITIF DE DECODAGE D'INFORMATIONS DE
MOUVEMENT EN TEIEVISION HAUTE DEFINITION
La présente invention concerne lin dispositif de décodage d'informations de mouvement en télévision haute définition. Elle concerne un dispositif incorporé dans une télévision haute définition utilisant le système HD-MAC.
MOUVEMENT EN TEIEVISION HAUTE DEFINITION
La présente invention concerne lin dispositif de décodage d'informations de mouvement en télévision haute définition. Elle concerne un dispositif incorporé dans une télévision haute définition utilisant le système HD-MAC.
Le système de télévision connu sous la désignation
HD-MAC est un système qui transmet des quantités d'informations réduites en utilisant des techniques de réduction de débit appliquées sur les images de télévision. Ces techniques tirent profit des propriétés spatio-temporelles des images, notamment en utilisant des techniques d'estimation de mouvement pour le codage et le décodage des images de télévison haute définition. Ainsi, dans le système de télévision IID-MAC, on utilise trois modes selon le mouvement dans l'image : à savoir les modes 80ms, 40ms et 20ms, ces modes correspondant à trois sous-échantillonnages spatio-temporels différents.D'autre part, le codage des images de télévision HD-MAC a lieu sur la base dlun découpage de l'image en blocs de 1.6x16 pixels toutes les 40ms, en considérant chaque fois deux trames entrelacées. Dans ce type de codage, le mode 80ms correspond aux blocs fixes pour lesquels le mouvement est nul, le mode 40ms aux blocs pour lesquels le mouvement a une amplitude inférieure à 6 pixels, et le mode 20ms aux blocs pour lesquels le mouvement a une amplitude supérieure à plus ou moins G pixels. Dans ce type de codage, seul le mode 40ms qui utilise les vecteurs-mouvement est compensé en mouvement et, sur 80ms correspondant à la durée de deux trames entrelacées, seules les combinaisons suivantes sont autorisées (80-80, 40-40, 40-20, 20-40, 20-20).Pour pouvoir reconnaître le mode utilisé et reconstruire les images de télévision dans le cas images compensées en mouvement, des informations de mode et de mouvement sont transmises par l'intermédiaire d'une voie spécifique appelée voie dtassistance numérique ou DATV. Ces informations sont insérées dans l'intervalle de suppression de trame. De ce fait, le débit disponible est donc limité et il est nécessaire de coder ces informations pour en réduire le débit. On a donc proposé dans la demande de brevet français N090 08299 du 29 juin 1990 un procédé de codage à paramètres ajustables d'un champ de mouvement dans une séquence dtimages animées, ce procédé pouvant être utilisé, notamment, dans le codage des informations
DATV du système de télévision HD-MAC.Ce procédé permet d'obtenir une réduction importante du débit d'informations.
HD-MAC est un système qui transmet des quantités d'informations réduites en utilisant des techniques de réduction de débit appliquées sur les images de télévision. Ces techniques tirent profit des propriétés spatio-temporelles des images, notamment en utilisant des techniques d'estimation de mouvement pour le codage et le décodage des images de télévison haute définition. Ainsi, dans le système de télévision IID-MAC, on utilise trois modes selon le mouvement dans l'image : à savoir les modes 80ms, 40ms et 20ms, ces modes correspondant à trois sous-échantillonnages spatio-temporels différents.D'autre part, le codage des images de télévision HD-MAC a lieu sur la base dlun découpage de l'image en blocs de 1.6x16 pixels toutes les 40ms, en considérant chaque fois deux trames entrelacées. Dans ce type de codage, le mode 80ms correspond aux blocs fixes pour lesquels le mouvement est nul, le mode 40ms aux blocs pour lesquels le mouvement a une amplitude inférieure à 6 pixels, et le mode 20ms aux blocs pour lesquels le mouvement a une amplitude supérieure à plus ou moins G pixels. Dans ce type de codage, seul le mode 40ms qui utilise les vecteurs-mouvement est compensé en mouvement et, sur 80ms correspondant à la durée de deux trames entrelacées, seules les combinaisons suivantes sont autorisées (80-80, 40-40, 40-20, 20-40, 20-20).Pour pouvoir reconnaître le mode utilisé et reconstruire les images de télévision dans le cas images compensées en mouvement, des informations de mode et de mouvement sont transmises par l'intermédiaire d'une voie spécifique appelée voie dtassistance numérique ou DATV. Ces informations sont insérées dans l'intervalle de suppression de trame. De ce fait, le débit disponible est donc limité et il est nécessaire de coder ces informations pour en réduire le débit. On a donc proposé dans la demande de brevet français N090 08299 du 29 juin 1990 un procédé de codage à paramètres ajustables d'un champ de mouvement dans une séquence dtimages animées, ce procédé pouvant être utilisé, notamment, dans le codage des informations
DATV du système de télévision HD-MAC.Ce procédé permet d'obtenir une réduction importante du débit d'informations.
La présente invention a donc pour but de proposer un dispositif de décodage d'informations de mouvement en télévision haute définition, plus particulièrement de décodage des informations transmises sur la voie d'assistance numérique dans le cas du système HD-MAC, ces informations ayant été codées, par exemple, en utilisant le procédé décrit dans la demande de brevet français N090 08299.
En conséquence, la présente invention a pour objet un dispositif de décodage d'informations de mouvement en télévision haute définition, ces informations étant codées selon un procédé de codage à paramètres ajustables dans lequel, les images étant découpées en N lignes de M macroblocs de dimensions déterminées, le code des informations de mouvement d'un macrobloc comporte au moins un mot de début (BMB) relatif aux informations de codage et des informations de codage, caractérisé en ce qu'il comporte des premiers moyens de stockage pour stocker selon N lignes les M mots de début d'une ligne et des deuxièmes moyens de stockage po'1T. stocker selon N lignes les M ensembles d'informations de codage relatifs à une ligne, les premiers et deuxièmes moyens de stockage étant lus en parallèle, des moyens de décodage et un moyen de stockage en sortie des informations décodées.
Lorsque l'on utilise le procédé de codage décrit dans la demande de brevet français N090 08299 et selon une caractéristique de la présente invention, les informations de codage sont obtentles cn calculant lln arbre de codage sur chacun des macroblocs de façon à obtenir plusieurs menus identifiant chaque vecteur-mouvement (Vect i) présent dans l'image en accompagnant chaque vecteur (Vect i) de son mot de code (CWi). Le mot de code représente soit un noeud dans l'arbre, soit le numéro d'un vecteur du menu. Toutefois, il est aussi possible, dans le cadre de ce procédé, de transmettre un code spécifique pour la décomposition en arbre et de ne pas coder un noeud comme un vecteur.Dans ce cas, le code des informations de mouvement d'un macrobloc comporte un mot de début (BMB), un menu constitué par l'ensemble des vecteurs-mouvement (Vect i) différents, un code de décomposition en arbre (QTREE) et des mots de code (CWi') associés aux vecteurs-mouvement.
Lorsque les informations de mouvement sont codées avec un code de ce type et selon une caractéristique supplémentaire de la présente invention, le dispositif de décodage comporte de plus des troisièmes moyens de stockage pour stocker selon N lignes les M codes de décomposition en arbre relatifs à une ligne.
Selon un mode de réalisation préférentiel de la présente invention, les différents moyens de codage sont constitués par N registres FIFO (pour FIRST-IN, FIRST-OUT en langue anglaise) en parallèle, chaque registre pouvant stocker respectivement Mxn bits, n correspondant au nombre de bits d'un mot de début, ou Mxm bits, m correspondant au nombre de bits d'un ensemble d'informations de codage, ou Mxp bits, p correspondant au nombre de bits du code de décomposition en arbre.
De plus, le dispositif de décodage comporte un registre à décalage par moyens de stockage pour stocker temporairement les données correspondantes avant de les écrire dans les moyens de stockage et un moyen de commande gérant les registres à décalage et sélectionnant les moyens de stockage.
L'utilisation de registres FIFO permet une lecture en parallèle des informations qui sont ensuite envoyées vers les moyens de décodage.
Selon une autre caractéristique de la présente invention, dans le cas d'un système de télévision HD-MAC, les moyens de décodage comportent un décodeur des mots de code et un décodeur du code de décomposition en arbre lorsque les informations ont été codées selon le procédé décrit dans la demande de brevet français N090 08299.
D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description faite ci-après d'un mode de réalisation préférentiel du dispositif de décodage, cette description étant faite avec référence aux dessins ci-annexés dans lesquels - les figures 1A, 1B, 1C représentent un procédé de décomposition d'images en blocs auquel est associé un arbre de décomposition pour le codage des blocs - la figure 2 représente la composition des informations codées à transmettre lorsque l'on utilise le procédé de codage décrit dans la demande de brevet français N090 08299 - la figure 3 est une représentation sehématique d'un dispositif de codage d'une information DATV utilisant le procédé ci-dessus - la figure 4 est un schéma synoptique d'un dispositif de décodage dtinformations de mouvement conforme à la présente invention - la figure 5 est un schéma synoptique plus détaillé de la partie permettant le décodage du code de décomposition en arbre utilisé dans le dispositif de la figure 4 - la figure 6 est un schéma synoptique plus détaillé de la partie permettant le décodage de route utilisé dans le dispositif de la figure 4 - la figure 7 est un schéma synoptique du décodeur des mots de code utilisé dans le dispositif de décodage de la figure 4, et - la figure 8 est une représentation du circuit de décodage des adresses relatives utilisé dans le dispositif de décodage de la figure 4.
Pour simplifier la description, dans les figures les mêmes éléments portent les mêmes références.
La présente invention sera decrite en se référant à un système de télévision de type HD-MAC dans lequel les informations d'assistance numériques sont codées en utilisant un procédé de codage à paramètres ajustables d'un champ de mouvement dans une séquence d'images animées décrit dans la demande de brevet français N090 08299. Toutefois, il est évident pour l'homme de l'art que le dispositif cie décodage conforme à la présente invention peut aussi être utilisé avec des informations d'assistance numériques codées selon d'autres types de codage.
On décrira tout d'abord avec référence, notamment aux figures 1 et 2, le procédé de codage à paramètres ajustables d'un champ de mouvement dans une séquence d'images animées décrit dans la demande de brevet français N090 08299 en appliquant ce procédé aux informations DATV d'un système de télévision HD-MAC.
Le procédé de codage décrit dans ce brevet consiste à déterminer un arbre de codage défini par les zones homogènes des images à transmettre et à lier cet arbre au codage d'un champ de mouvement et au codage des décisions de branche ou modes en tenant compte de paramètres variables pour obtenir un bon compromis résolution-débit. La décomposition en arbre de codage consiste, comme représenté sur les figures 1A, IB et 1C, à découper une image en blocs homogènes de taille nxn les plus grands possibles, puis à associer au découpage obtenu un arbre, comme représenté sur la figure 1C, dont la racine R représente un macrobloc, les noeuds (N1 à N7), les blocs de taille 2nx2n, non homogènes, qui sont décomposés en quatre sous-blocs de taille nxn et les feuilles F1 à F25 des blocs non homogènes, ces feuilles représentant des parties homogènes.Ainsi, dans le cas de l'exemple représenté aux figures 1A, 1B, 1C, on obtient quatre niveaux de code. Si l'on utilise ce type de décomposition en arbre, au lieu d'avoir une information pour chaque bloc élémentaire, on polit obtenir une découpe en zones où l'information à coder est identique (représentée, par exemple, par les feuilles). Au niveau du codage, l'information à coder est la valeur du vecteur-mouvement ainsi que du mode obtenus à laquelle s'ajoute un codage des noeuds nécessaires à la construction de l'arbre au moment du décodage. Ce codage des noeuds peut être fait sous la forme cI' un "vecteur" spécifique associé au codage du mouvement ou donner lieu à un code particulier.Dans l'hypothèse où le codage est limité à des vecteurs d'amplitude nominale fV dans les directions horizontales et verticales de l'image, sur deux images consécutives, le nombre de combinaisons possibles est alors de (2V + 1) 2 et le nombre de bits nécessaires au codage est égal à log2 (2V+1)2 . D'autre part, comme dans une image tous les vecteurs possibles ne sont pas forcément présents, une des caractéristiques du procédé décrit dans le brevet français N090 08299 est de réaliser un menu de vecteurs contenant tous les vecteurs présents dans le macrobloc. Dans ces conditions, l'information à coder n'est plus la valeur du vecteur mais un adressage relatif dans le menu.
Pour reconstruire l'arbre de codage, il est en général préférable de ne pas coder un noeud comme un spécifique mais de transmettre un code particulier qui représente l'arbre de codage. Dans ce cas, les informations à transmettre sont codées de la manière représentée sur la figure 2. Sur cette figure, le champ BMB représente un mot de début contenant le nombre de vecteurs différents Nv, un drapeau QT indiquant la présence ou l'absence de décomposition en arbre, et la longueur des mots de code CLcw. Le champ "MENU" comporte l'ensemble des vecteurs mouvement differents Vect i, présents dans le macrobloc considéré.Le champ décomposition "QUADTREE" comporte un code QTREE qui donne la décomposition en noeud et en feuille, un noeud étant représenté, par exemple, par un "O" et une feuille par un "1" et le champ des mots de code référencé "CODEWORDS" donne les mots de code CWi' représentant la décision de branche ou route et éventuellement l'adresse d'un vecteur mouvement dans le menu.
Si l'on applique ce type de procédé de codage à des images de télévision du standard HD-MAC, les paramètres de définition de l'arbre de codage sont alors - taille des blocs élémentaires 16x16 pixels - amplitude des vecteurs F6 pixels - le macrobloc choisi de taille : 128x128 pixels - taille des images HD : 1440x1152 pixels - débit maximal autorisé : lMbit/S - informations codées : toutes les 80ms par blocs 16x16
Comme dans la norme IID-MAC, seuls 1408 points/lignes et 1152 lignes sont transmis, limage est divisée spatialement en 99 macroblocs de taille 128x128.
Comme dans la norme IID-MAC, seuls 1408 points/lignes et 1152 lignes sont transmis, limage est divisée spatialement en 99 macroblocs de taille 128x128.
La technique de décomposition en "QUADTREE" utilisée dans le procédé de codage consiste à rechercher, dans l'image ainsi découpée en macroblocs (les macroblocs étant un ensemble de 8x8 blocs de base de 16x16 pixels) les zones homogènes de 2nx2 n n n taille 2nx2n. Un ensemble de 2nx2n blocs est homogène si les informations BD (décision de branche ou route), MV (vecteur-mouvement) et RAD (adresse relative) sont les mêmes pour chaque bloc. Alors l'information d'assistance numérique ou
DATV est envoyée une seule fois pour toutes ces zones, ensemble avec un code qui représente la décomposition "QUADTREE".
DATV est envoyée une seule fois pour toutes ces zones, ensemble avec un code qui représente la décomposition "QUADTREE".
Comme la taille du bloc de base est de 16x16 pixels et comme un macrobloc représente un ensemble de 8x8 blocs de base, la décomposition "QUADTREE" est effectuée sur des surfaces représentant 2x2 blocs de base, 4x4 blocs de base et 8x8 blocs de base, à savoir sur quatre niveaux, ce qui correspond à la décomposition représentée sur la figure 1C. De plus, le nombre de vecteurs différents par macroblocs pouvant être limité, un système "MENU" peut dans ce cas être utilisé, comme décrit de manière plus générale ci-dessus. Ce MENU est constitué par la liste de tous les vecteurs différents.En utilisant donc le procédé de codage décrit ci-dessus, pour chaque macrobloc, le flot de données sera du type de celui représenté à la figure 2 et comportera toutes les 80ms : un mot de début BMB constitué dans ce cas par un mot Nv de 7 bits représentant le nombre de vecteurs différents dans le MENU, un drapeau QT indiquant la présence ou l'absence de décompostion en "QUADTREE", un mot CLcw de 4 bits donnant la longueur des mots de code (CW), le MENU, c'est-à-dire l'ensemble de tous les vecteurs-mouvement différents qui, dans le cas présent, peuvent être compris entre 0 et 64. Ce MENU est constitué par des mots Vect i de 8 bits pour des amplitudes de vecteurs de 6 pixels horizontalement et verticalement. Le MENU présente une longueur variable par pas de 8 bits.Le code QTREE représentant la décomposition en arbre de codage est formé d'un mot de 21 bits et le champ "CODEWORDS" est constitué par un ensemble de mots de code différents jusqu'à 64. chaque mot CWi' de longueur variable contient une information sur le mode ou décision de branche et l'adresse du vecteur-mouvement dans le
MENU.
MENU.
D'autre part, un mot de synchronisation de 32 bits est inclu à la fin de chaque ligne de macroblocs, à savoir tous les
Il macroblocs dans le présent cas. Ce mot est un mot unique dans le flot des données et est égal par exemple à "0. 1.1.1..., 1.1.0". De plus, toutes les deux images (80ms), on émet aussi certains bits caractérisant limage émise, à savoir un bit pour une transmission film/vidéo, et éventuellement 5 bits Vx donnant l'amplitude du vecteur dans la direction horizontale (0 à 31) et 4 bits Vy donnant l'amplitude du vecteur dans la direction verticale (0 à 15).
Il macroblocs dans le présent cas. Ce mot est un mot unique dans le flot des données et est égal par exemple à "0. 1.1.1..., 1.1.0". De plus, toutes les deux images (80ms), on émet aussi certains bits caractérisant limage émise, à savoir un bit pour une transmission film/vidéo, et éventuellement 5 bits Vx donnant l'amplitude du vecteur dans la direction horizontale (0 à 31) et 4 bits Vy donnant l'amplitude du vecteur dans la direction verticale (0 à 15).
Ce type de codage des informations est obtenu en utilisant un dispositif de codage du type de celui représenté sur la figure 3. Ce dispositif de codage comporte schématiquement un codeur 1 des mots de code qui reçoit en entrée les informations BD de mode ou décision de branche, les vecteurs-mouvement MV et les adresses relatives RAD et qui les codent en un mot de code Cw de longueur variable. Le codeur 1 des mots de code fonctionne de la manière suivante. Pour chaque macrobloc, le nombre (Nv) de vecteurs-mouvement différents par image impaire est compté et est transmis dans un MENU.Ainsi, le MENU sera constitué de Nv mots de 8 bits pour une amplitude + de vecteur-mouvent de 6 pixels dans la direction horizontale et 6 pixels dans la direction verticale. T,e codeur sortira donc des informations NBvect (nombre de vecteurs) et CLvect
(longueur des vecteurs). Ensuite, les décisions de branche ou route et les vecteurs-mouvement sont codés avec un système appelé "ROUTE" tel que représenté dans le tableau ci-après
Route Vecteurs-Mouvement Mots de code
Ad. relative
Image Image Image Image impaire paire impaire paire
80 80 aucun aucun 0
40 40 Nv 9 1... 9Nv
40 20 Nv aucun 9Nv+1.. . 10Nv
20 40 aucun 8 10Nv+1... .10Nv+8
20 20 aucun aucun l0Nv+9 l0Nv+10
Pour chaque macrobloc, la longueur des mots de code est calculée par
CLcw = (LOG2(10Nv + 11)) bits
Le codeur 1 des mots de code fournit donc pour chaque macrobloc et toutes les 80ms, à savoir toutes les deux images - Nv : mot de 7 bits représentant le nombre de vecteurs-mouvement différents dans une image impaire, Nv pouvant aller jusqu'à 64, - MENU : Nv mots de 8 bits, - CLcw : mot de 4 bits, longueur des mots de code, - CW : mots de CLcw bits, mots de code correspondant à la technique de codage "ROUTE" pouvant avoir des mots jusqu'à il bits.
(longueur des vecteurs). Ensuite, les décisions de branche ou route et les vecteurs-mouvement sont codés avec un système appelé "ROUTE" tel que représenté dans le tableau ci-après
Route Vecteurs-Mouvement Mots de code
Ad. relative
Image Image Image Image impaire paire impaire paire
80 80 aucun aucun 0
40 40 Nv 9 1... 9Nv
40 20 Nv aucun 9Nv+1.. . 10Nv
20 40 aucun 8 10Nv+1... .10Nv+8
20 20 aucun aucun l0Nv+9 l0Nv+10
Pour chaque macrobloc, la longueur des mots de code est calculée par
CLcw = (LOG2(10Nv + 11)) bits
Le codeur 1 des mots de code fournit donc pour chaque macrobloc et toutes les 80ms, à savoir toutes les deux images - Nv : mot de 7 bits représentant le nombre de vecteurs-mouvement différents dans une image impaire, Nv pouvant aller jusqu'à 64, - MENU : Nv mots de 8 bits, - CLcw : mot de 4 bits, longueur des mots de code, - CW : mots de CLcw bits, mots de code correspondant à la technique de codage "ROUTE" pouvant avoir des mots jusqu'à il bits.
Il fournit aussi une autre valeur de CW et de CLcw lorsque l'option pas de MENU est utilisée, comme expliqué ci-après.
Les informations CW issues du codeur 1 des mots de code sont envoyées sur un codeur "QUADTREE1, 2. Pour chaque macrobloc, une décomposition en "QUADTREE" est effectuée à partir de zones ayant la taille d'un bloc de base jusqu'à la taille du macrobloc. On obtient en sortie de ce codeur, le code
QTREE de 21 bits représentant la décomposition en "QUADTREE". Dans ce code, les "0" indiquent un noeud et les "1" indiquent une feuille. Selon une technique particulière de codage, si un bloc est une feuille à savoir un "1", les sous-blocs correspondant sont forcés à "0" afin d'éviter un code constitué que de "1". Il est possible d'envisager un code QTREE flexible. Dans ce cas, l'on supprime les "0" non significatifs suivant les "1" correspondant à des feuilles.Le code QTREE est envoyé vers un multiplexeur 5 pour l'insérer au bon moment dans les informations DATV codées. D'autre part, le codeur 2 émet une information NBfeuille (nombre de feuilles) qui est envoyée vers un circuit 3 de sélection.
QTREE de 21 bits représentant la décomposition en "QUADTREE". Dans ce code, les "0" indiquent un noeud et les "1" indiquent une feuille. Selon une technique particulière de codage, si un bloc est une feuille à savoir un "1", les sous-blocs correspondant sont forcés à "0" afin d'éviter un code constitué que de "1". Il est possible d'envisager un code QTREE flexible. Dans ce cas, l'on supprime les "0" non significatifs suivant les "1" correspondant à des feuilles.Le code QTREE est envoyé vers un multiplexeur 5 pour l'insérer au bon moment dans les informations DATV codées. D'autre part, le codeur 2 émet une information NBfeuille (nombre de feuilles) qui est envoyée vers un circuit 3 de sélection.
Le circuit 3 de sélection met en oeuvre un processus de sélection par macroblocs qui permet de choisir entre quatre options possibles aFin de réduire le débit des informations.
Ainsi, les informations codées peuvent être transmises de la manières suivantes - MENU + décomposition en QTREE - pas de MENU + décomposition en QTREE (tous les vecteurs-mouvement sont possibles) - MENU + pas de décomposition en QTREE (64 mots de code) - pas de MENU + pas de décomposition en QTREE (tous les vecteurs-mouvement sont possibles et on transmet les 64 mots de code).
En fait l'option pas de MENU signifie que le système
MENU, à savoir la seule transmission des vecteurs-mouvement différents, n'est pas utilisé. Dans ce cas, le système "ROUTE" est calculé avec tous les vecteurs-mouvernent possibles. Ainsi, si l'amplitude d'un vecteur est de +6 pixels dans la direction + horizontale et 6 pixels dans la direction verticale, dans ce cas Nv = 169 et CLcw = 11 bits.
MENU, à savoir la seule transmission des vecteurs-mouvement différents, n'est pas utilisé. Dans ce cas, le système "ROUTE" est calculé avec tous les vecteurs-mouvernent possibles. Ainsi, si l'amplitude d'un vecteur est de +6 pixels dans la direction + horizontale et 6 pixels dans la direction verticale, dans ce cas Nv = 169 et CLcw = 11 bits.
Si CLcw est plus grand que 11 bits, l'option pas de
MENU n'est pas utilisée parce que le débit binaire corespondant serait trop élevé. Ainsi, l'option pas de MENU fournit pour chaque macrobloc et toutes les 80ms (deux images) - Nv : un mot de 7 bits forcé à 65 indiquant que pas de MENU est utilisé - CLcw : un mot de 4 bits égal à 11 - Cw : des mots de 11 bits, les mots de code correspondant à la technique de codage "ROUTE" avec Nv = 169.
MENU n'est pas utilisée parce que le débit binaire corespondant serait trop élevé. Ainsi, l'option pas de MENU fournit pour chaque macrobloc et toutes les 80ms (deux images) - Nv : un mot de 7 bits forcé à 65 indiquant que pas de MENU est utilisé - CLcw : un mot de 4 bits égal à 11 - Cw : des mots de 11 bits, les mots de code correspondant à la technique de codage "ROUTE" avec Nv = 169.
Si le MENU n'est pas utilisé, Nv est forcé à 65 et si la décomposition en arbre de type QTREE n'est pas utilisée (le mot de 21 bits : QTREE n'est pas utilisé), le drapeau QT est égal à "1" sinon le drapeau QT est égal à "0" et les 64 mots de code (1 pour chaque bloc de 16x16 pixels) sont transmis.
Les signaux issus du circuit de sélection 3, à savoir
QT, NBvect, CLcw, CLvect, select sont envoyés vers un multiplexeur 5. De même, le circuit de sélection 3 envoie une information-sélection simultanément vers le multiplexeur 5 et vers un multiplexeur 4 qui sélectionne l'une ou l'autre des informations CW (selon l'option MENU ou pas de MENU) issues du codeur 1 de mots de code pour envoyer cette information sur le multiplexeur 5. En sortie du multiplexeur 5, on obtient donc les informations DATV codées émises en série.
QT, NBvect, CLcw, CLvect, select sont envoyés vers un multiplexeur 5. De même, le circuit de sélection 3 envoie une information-sélection simultanément vers le multiplexeur 5 et vers un multiplexeur 4 qui sélectionne l'une ou l'autre des informations CW (selon l'option MENU ou pas de MENU) issues du codeur 1 de mots de code pour envoyer cette information sur le multiplexeur 5. En sortie du multiplexeur 5, on obtient donc les informations DATV codées émises en série.
On décrira maintenant avec référence plus particulièrement à la figure 4, un mode de réalisation d'un décodeur permettant de décoder des informations DATV codées par le dispositif représenté à la figure 3. Le décodeur comporte, conformément à la présente invention, une partie 10 de mémorisation des données en entrée à savoir des informations
DATV codées dans le dispositif de la figure 3 et selon le procédé décrit ci-dessus. Ces informations arrivent en série. Le dispositif de décodage comporte aussi un décodeur 11 de l'arbre de codage ou décodeur QUADTREE, un décodeur 12 des mots de code ou décodeur CW, un dispositif 13 de mémorisation des données en sortie référencé RAM et un circuit 14 de décodage des adresses relatives.Comme représenté sur la figure 4, le décodeur QUADTREE 11 est relié à un circuit de commande 15 qui reçoit des informations de la partie mémorisation 10 des données et émet des commandes vers le décodeur 11. Le décodeur 12 de mots de code reçoit des informations de la partie de mémorisation 10. Ce décodeur 12 de mots de code envoie des informations soit directement sur un multiplexeur 17, soit sur une table de vecteurs 16 reliée au multiplexeur 17, puis, dans le dispositif 13 de mémorisation des données en sortie. Ce dispositif 13 reçoit aussi des informations d'un circuit 18 de commande du dispositif de mémorisation contrôlé par des informations issues du décodeur 11.
DATV codées dans le dispositif de la figure 3 et selon le procédé décrit ci-dessus. Ces informations arrivent en série. Le dispositif de décodage comporte aussi un décodeur 11 de l'arbre de codage ou décodeur QUADTREE, un décodeur 12 des mots de code ou décodeur CW, un dispositif 13 de mémorisation des données en sortie référencé RAM et un circuit 14 de décodage des adresses relatives.Comme représenté sur la figure 4, le décodeur QUADTREE 11 est relié à un circuit de commande 15 qui reçoit des informations de la partie mémorisation 10 des données et émet des commandes vers le décodeur 11. Le décodeur 12 de mots de code reçoit des informations de la partie de mémorisation 10. Ce décodeur 12 de mots de code envoie des informations soit directement sur un multiplexeur 17, soit sur une table de vecteurs 16 reliée au multiplexeur 17, puis, dans le dispositif 13 de mémorisation des données en sortie. Ce dispositif 13 reçoit aussi des informations d'un circuit 18 de commande du dispositif de mémorisation contrôlé par des informations issues du décodeur 11.
On décrira maintenant de manière plus détaillée la partie mémorisation 10 des données en entrée. Conformément à la présente invention, cette partie 10 est constituée de 3 ensembles 100, 101, 102 de registres à décalage de type FIFO pour First-in, First-out en langue anglaise. Le premier ensemble 100 est constitué de 9 registres FIFO en parallèle, chaque registre FIEO pouvant stocker 11x64x11 bits. Le premier chiffre 11 correspond aux 11 macroblocs d'une ligne dans une image de télévision HD-MAC découpée comme décrit ci-dessus, le chiffre 64 correspond au nombre de vecteurs maximal et de mots de code possible, ces mots étant codés sur 11 bits ou moins.
Le deuxième ensemble 101 de registres FIFO est constitué aussi de 9 registres en parallèle pouvant stocker chacun 11 mots de 21 bits, les 21 bits représentant le code de décomposition en arbre. Ce code est stocké dans les 9 registres
FIFO lorsqu'il est sigtialé présent dans le mot de début ou BMB.
FIFO lorsqu'il est sigtialé présent dans le mot de début ou BMB.
Le troisième ensemble 102 de registre FIFO est constitué de 9 registres en parallèle de 11x12 bits permettant de stocker les 11 mots de début ou BMB des 11 macroblocs d'une ligne, ces mots de début étant codés sur 12 bits.
Comme représenté sur la figure 4, les informations
DATV émises en série sont tout d'abord envoyées dans des registres à décalage 103, 104 et 105 où elles sont stockées temporairement avant d'être envoyées sur les FIFO correspondantes. Le registre 103 stocke les 11 données d'une ligne d'un macrobloc, à savoir les tables de vecteurs et les mots de code, le registre 104 stocke les 11 codes de décomposition en arbre d'une ligne d'un macrobloc et le registre 105 stocke les Il mots de début ou BMB d'une ligne d'un macrobloc.Les trois ensembles de registres FIFO sont commandés par un circuit 106 de commande d'acquisition des données qui commandent l'introduction des informations DATV dans les registres à décalage 103, 104, 105 et sélectionnent les registres FIFO appropriés en émettant une impulsion de sélection de 1 à 9, une impulsion de sélection d'un ensemble de registres telle que select.DATA, select.QT, select.BMB. La partie 10 comporte aussi un registre 107 permettant de décoder les informations caractéristiques émises toutes les 80ms, à savoir toutes les deux images, et permettant d'obtenir les informations film/vidéo et en option Vx et Vy.De préférence, chaque ensemble 100, 101, 102 est constitué de deux ensembles identiques, comme représenté schématiquement sur la figure 4, en parallèle, l'un étant décodé pendant que l'autre est chargé.
DATV émises en série sont tout d'abord envoyées dans des registres à décalage 103, 104 et 105 où elles sont stockées temporairement avant d'être envoyées sur les FIFO correspondantes. Le registre 103 stocke les 11 données d'une ligne d'un macrobloc, à savoir les tables de vecteurs et les mots de code, le registre 104 stocke les 11 codes de décomposition en arbre d'une ligne d'un macrobloc et le registre 105 stocke les Il mots de début ou BMB d'une ligne d'un macrobloc.Les trois ensembles de registres FIFO sont commandés par un circuit 106 de commande d'acquisition des données qui commandent l'introduction des informations DATV dans les registres à décalage 103, 104, 105 et sélectionnent les registres FIFO appropriés en émettant une impulsion de sélection de 1 à 9, une impulsion de sélection d'un ensemble de registres telle que select.DATA, select.QT, select.BMB. La partie 10 comporte aussi un registre 107 permettant de décoder les informations caractéristiques émises toutes les 80ms, à savoir toutes les deux images, et permettant d'obtenir les informations film/vidéo et en option Vx et Vy.De préférence, chaque ensemble 100, 101, 102 est constitué de deux ensembles identiques, comme représenté schématiquement sur la figure 4, en parallèle, l'un étant décodé pendant que l'autre est chargé.
La partie de mémorisation 10 comporte, entre l'ensemble des registres FIFO et les décodeurs proprement dit, 3 registres à décalage 108, 109 et 110 de sortie permettant le stockage temporaire des données avant leur traiternent.
On décrira maintenant avec référence aux figures 4 et 5, un mode de réalisation du décodeur 11 de l'arbre de décomposition de type QUADTREE. Ce décodeur 11 reçoit le code
QT stocké dans le registre 109. Le code QT comporte 21 bits, dans le mode de réalisation décrit, à savoir 1 bit concernant le niveau 1, 4 bits concernant le niveau 2 et 16 bits concernant le niveau 3. Son fonctionnement est commandé par le circuit de commande de décodage 15. Le circuit 15 reçoit en entrée les informations issues du registre 110 stockant les débuts de mots ou BMB. Le BMB contient un drapeau indiquant la présence ou l'absence de décomposition en arbre.Le circuit 15 reçoit aussi des informations issues du registre 109 stockant le code QT de décomposition en arbre. I1 envoie vers le décodeur 11 un certain nombre d'informations permettant la commande du décodage.
QT stocké dans le registre 109. Le code QT comporte 21 bits, dans le mode de réalisation décrit, à savoir 1 bit concernant le niveau 1, 4 bits concernant le niveau 2 et 16 bits concernant le niveau 3. Son fonctionnement est commandé par le circuit de commande de décodage 15. Le circuit 15 reçoit en entrée les informations issues du registre 110 stockant les débuts de mots ou BMB. Le BMB contient un drapeau indiquant la présence ou l'absence de décomposition en arbre.Le circuit 15 reçoit aussi des informations issues du registre 109 stockant le code QT de décomposition en arbre. I1 envoie vers le décodeur 11 un certain nombre d'informations permettant la commande du décodage.
Comme représenté sur la figure 5, le décodeur comporte un multiplexeur 151 qui reçoit en entrée l'information contenue dans le bloc QTREE concernant Je niveau 1, à savoir le macrobloc 128x128, l'information issue d'un multiplexeur 152 concernant le niveau 2, à savoir les blocs 64x64 et l'information issue du multiplexeur 153 concernant le niveau 3, à savoir les blocs 32x32 ainsi que "1". Ce multiplexeur 151 est commandé par des informations Issues d'un compteur de niveau 154 à 2 bits dont le fonctionnement est commandé par les informations CLRNIV et ENNIV issues d'un séquenceur 160. Le multiplexeur 152 reçoit les 4 bits du niveau 2 stocké dans le registre 109. D'autre part, le multiplexeur 153 reçoit en entrée 4 bits issus de quatre multiplexeurs 155 a, 155 b, 155 c, 155 d.
Ces quatre multiplexeurs reçoivent chacun quatre bits concernant le niveau 3 stockés dans le registre 109. Les différents multiplexeurs 152, 153, 155 sont commandés par deux compteurs 157, 158 à deux positions binaires. Les compteurs sont mis à zéro par une information ENCPQT issue du séquenceur 160. La sortie "carry" ou retenue du compteur 156 est envoyée en entrée du compteur 157 et en entrée d'un multiplexeur 159. De même la sortie "carry" du compteur 157 est envoyée en entrée du compteur 158 et en entrée du multiplexeur 159 et la sortie "carré" du compteur 158 est envoyée en entrée du multiplexeur 159 qui reçoit aussi un "1". En fonction de l'information issue du cornpteur 154, le multiplexeur 159 émet une information FINECRQT de fin d'écriture RAM.D'autre part, les compteurs 156, 157, 158 envoient vers la mémoire de sortie 13 une adresse référencée Ad 0, 1 ; Ad 2, 3 ; Ad 4, 5 ; ces informations étant aussi utilisées pour commander les multiplexeurs 152, 153, 155 comme représenté sur la figure 5.
Cet ensemble en relation avec le séquenceur 160 qui reçoit les informations FINECRQT issues du multiplexeur 159, OKQT du multiplexeur 151 et Cy2 issue du compteur 158 et qui émet les informations MEMCW, ENCPQT, ECRRAM, CLRNIV et ENNIV fonctionne de la manière suivante.
A l'initialisation, tous les 3 + 1 compteurs indiquent zéro, ce qui sélectionne le premier bit du QT vers le séquenceur. Si celui-ci est à zéro, le compteur de niveau 154 s'incrémente, ce qui sélectionne alors QTNIV2 pointant sur A, puis QTNIV3 pointant sur A1, puis QTNTV4=1 jusqu'à ce qu'il rencontre un 1 ;
A partir de ce 1 obtenu au niveau en question, le contenu Cw sera écrit autant de fois que nécessaire dans la
RAM 13 aux adresses fournies par les 3 compteurs. L'adresse se déduit de l'incrément des 3 compteurs 156, 157, 158 cascadés jusqu a ce que le signal FINECRQT (CY dii niveau sélectionné) passe à 1.
A partir de ce 1 obtenu au niveau en question, le contenu Cw sera écrit autant de fois que nécessaire dans la
RAM 13 aux adresses fournies par les 3 compteurs. L'adresse se déduit de l'incrément des 3 compteurs 156, 157, 158 cascadés jusqu a ce que le signal FINECRQT (CY dii niveau sélectionné) passe à 1.
Alors on réinitialise le compteur niveau 154 à O, les 3 autres restent en l'état et aiguillent dès lors la nouvelle valeur de QT en cours. La mémorisation des 64 blocs élémentaires sera finie lorsque les 3 compteurs auront incrémenté les 65 cases (CY2).
Le principe du décodage de arbre de décomposition
QUADTREE suppose que le mot de code transmis est utilisé une fois, 4 fois, 16 fois ou 64 fois en fonction de la valeur du code QTREE stockée dans le registre 109. En conséquence, le décodeur de la figure 5 avec l'aide d'un séquenceur 160 effectue la duplication du mot de code avec les valeurs selectionnées.
QUADTREE suppose que le mot de code transmis est utilisé une fois, 4 fois, 16 fois ou 64 fois en fonction de la valeur du code QTREE stockée dans le registre 109. En conséquence, le décodeur de la figure 5 avec l'aide d'un séquenceur 160 effectue la duplication du mot de code avec les valeurs selectionnées.
Ainsi, la duplicatioii du mot code consiste à écrire à des adresses différentes clu macrobloc avec la même valeur du mot de code. De ce fait, le décodeur 11 envoie sur le circuit 18 de contrôle du dispositif 13 de mémorisation en sortie, un ordre d'écriture ou non dans ladite RAM.
On expliquera maintenant, plus particulièrement avec référence à la figure 6, le procédé de décodage de la route dans le cas où l'on utilise le code QTREE et une table des vecteurs-mouvement. En effet, à cause du procédé de codage utilisé, il est nécessaire de décoder les routes de codage et d'extraire les valeurs des routes ou décisions de branche, les vecteurs-mouvement et les adresses relatives contenues dans les informations codées de manière à obtenir principalement le vecteur-mouvement ou son adresse si une table de vecteurs est utilisée.
Comme représenté sur la figure 6, les mots de code stockés dans le registre 108 sont envoyés en entrée d'un décodeur 12 de mots de code ou décodeur CW qui sera décrit de manière plus détaillée ci-après. Ce décodeur 12 de mots de code permet d'obtenir sur la sortie 12A l'adresse relative et la route qui sont appliquées directement en entrée de la mémoire de sortie 13 qui sera décrite ci-après, et sur la sortie 12B, soit une adresse permettant de sortir la valeur du vecteur-mouvement stockée dans une table 16 de vecteurs-mouvement constituée par une mémoire telle qu'une mémoire de type RAM de capacités 64x8 bits, soit directement la valeur du vecteur-mouvement, cette valeur étant comprise, dans le mode de réalisation représenté, entre 1 et 169.La valeur du vecteur-mouvement issue directement du décodeur 12 et la valeur du vecteur-mouvement issue de la RAM 16 sont envoyées sur un multiplexeur 17 à deux entrées et une sortie qui reçoit aussi une impulsion de sélection en fonction de l'option utilisée. La sortie du multiplexeur 17 est envoyée sur la mémoire de sortie 13. La mémoire de sortie 13 qui est constituée, par exemple, par une mémoire de type RAM permet de stocker des mots de code décodés de 8x13 bits. En fait, la mémoire de sortie 13 est dimensionnée pour stocker seulement une ligne de blocs élémentaires dans un macrobloc. Selon un mode de réalisation de la présente invention, on utilise deux mémoires de type RAM travaillant en mode flip-flop. Lorsqu une mémoire est lue, pour obtenir 8 blocs élémentaires, l'autre mémoire est écrite pour stocker 8 blocs élémentaires.Ceci permet de décoder un macrobloc complet de 64 blocs élémentaires et de lire en même temps les 8 blocs de l'image précédente.
D'autre part, comme représenté sur la figure 6, la mémoire 13 est commandée par un dispositif 18 de commande de l'adresse de la mémoire qui envoie sur la mémoire 13 l'adresse dans un macrobloc. Ce dispositif 18 de commande reçoit des éléments permettant de donner l'adresse dans le macrobloc, à savoir le numéro du macrobloc compris entre 1 et 99 dans le mode de réalisation représenté et le numéro du bloc dans le macrobloc compris entre 1 à 64 dans le mode de réalisation représenté. D'autre part, la mémoire 13 reçoit une impulsion d'écriture dans la mémoire symbolisée par la référence W. Les informations émises de la mémoire 13 sont envoyées sur une ligne à retard qui permet d'obtenir en sotie les informations "ROUTE",
MVx et MVy.
MVx et MVy.
On décrira maintenant, avec référence à la figure 7, un mode de réalisation particulier du décodeur de mots de codeou décodeur Cw référencé 12 sur les figures 4 et 6. En utilisant un ordre spécifique pour le codage des valeurs, (nombre de vecteurs et toutes les possibilités de routes), il est possible d'obtenir un décodeur de structure relativement simple et d'autre part de faire baisser le débit. Un ordre de codage intéressant susceptible d'être utilisé avec le décodeur de la figure 7 est le suivant - la route 80x80 est codée par le mot de code 1, - la route 20x20 est codée par le mot de code 2, - les 8 routes 20x40 sont codées par les mots de code 3 à 10, - les autres routes, à savoir les routes 40x40 et les routes 40x20 étant fonction dtl nombre Nv qui est un nombre variable, sont codées par les mots cte code suivants.
A titre d'exemple, les routes 40x40 sont codées avec des valeurs du mot de code comprises entre 10 et (9.Nv) + 10 et les routes 40x20 sont codées jusqu'à (10.Nv) + 10.
Dans ce cas, le décodage peut être effectué facilement en utilisant uniquement des soustracteurs 120, 121, 125 et des dispositifs de sélection 126, 127 ainsi que certains registres de stockage 128, 124. Comme représenté sur la figure 7, le- mot de code stocké dans le registre 108 est envoyé sur l'entrée A d'un soustracteur 120 auquel on soustrait la valeur "10" envoyée sur l'entrée B dudit soustracteur. Sur la sortie A - B, l'on obtient la valeur CW-10. Si A-B est inférieur à O, on sort sur une sortie spécifique référencée < 0 et dans ce cas, on obtient lesdits premiers cas parfaitement connus au niveau de la route et des adresses relatives qui sont directement stockées dans le registre 128.La sortie A-B du soustracteur 120 donnant la valeur CW-10 supérieure à 0 est envoyée sur l'entrée A d'un second soustracteur 121 qui reçoit sur son entrée B la valeur
Nvx8 dont on décrira ci-après l'obtention. La valeur Nv est obtenue en utilisant le registre 109 stockant les débuts de mots ou BMB. Comme représenté sur la figure 7, la sortie du registre 109 est connectée en entrée d'un multiplexeur 123 dont l'autre entrée reçoit la valeur "169" correspondant au nombre total de vecteurs-mouvement possibles dans le présent cas. Ce multiplexeur est commandé par un code issu d'un circuit 122 qui sélectionne parmi les données issues du registre 109 la donnée correspondant à Nv. La sortie du multiplexeur 123 est envoyée en entrée d'un registre 124 qui stocke la donnée Nv et la multiplie par 8 en décalant l'ensemble des bits d'un zéro.La sortie du registre 124, à savoir la valeur Nvx8, est donc entrée sur le soustracteur 121. D'autre part, la donnée Nv en sortie du multiplexeur 123 est aussi envoyée directement sur l'entrée B d'un troisième soustracteur 125 qui reçoit sur son entrée A la donnée issue du soustracteur 121, à savoir (CW-10) -Nvx8 lorsque cette donnée est supérieure à zéro. Si A-B est inférieur à zéro, alors on effectue la division (CW-10)/8, le quotient donne le numéro du vecteur et le reste donne l'adresse relative pour le mode 40-40. Cette division par 8 est réalisée en prenant les trois bits de poids faible de CW-10 pour le reste de la division (adresses relatives) et les 8 bits de poids fort pour le quotient (numéro du vecteur). Comme représenté sur la figure 7, ceci est effectué en utilisant les sélecteurs 126 et 127.Le sélecteur 126 choisit les bits de poids fort de la valeur CW-10 issue du soustracteur 120 et le sélecteur 127 choisit les bits de poids faible de la valeur CW-10 issue du soustracteur 120, cette opération étant effectuée en fonction d'un ordre issu du soustracteur 121. Au niveau du soustracteur 125, on réalise la soustraction (CW- 10) -Nvx8-Nv, soit (CW- l0) -9xNv.
Nvx8 dont on décrira ci-après l'obtention. La valeur Nv est obtenue en utilisant le registre 109 stockant les débuts de mots ou BMB. Comme représenté sur la figure 7, la sortie du registre 109 est connectée en entrée d'un multiplexeur 123 dont l'autre entrée reçoit la valeur "169" correspondant au nombre total de vecteurs-mouvement possibles dans le présent cas. Ce multiplexeur est commandé par un code issu d'un circuit 122 qui sélectionne parmi les données issues du registre 109 la donnée correspondant à Nv. La sortie du multiplexeur 123 est envoyée en entrée d'un registre 124 qui stocke la donnée Nv et la multiplie par 8 en décalant l'ensemble des bits d'un zéro.La sortie du registre 124, à savoir la valeur Nvx8, est donc entrée sur le soustracteur 121. D'autre part, la donnée Nv en sortie du multiplexeur 123 est aussi envoyée directement sur l'entrée B d'un troisième soustracteur 125 qui reçoit sur son entrée A la donnée issue du soustracteur 121, à savoir (CW-10) -Nvx8 lorsque cette donnée est supérieure à zéro. Si A-B est inférieur à zéro, alors on effectue la division (CW-10)/8, le quotient donne le numéro du vecteur et le reste donne l'adresse relative pour le mode 40-40. Cette division par 8 est réalisée en prenant les trois bits de poids faible de CW-10 pour le reste de la division (adresses relatives) et les 8 bits de poids fort pour le quotient (numéro du vecteur). Comme représenté sur la figure 7, ceci est effectué en utilisant les sélecteurs 126 et 127.Le sélecteur 126 choisit les bits de poids fort de la valeur CW-10 issue du soustracteur 120 et le sélecteur 127 choisit les bits de poids faible de la valeur CW-10 issue du soustracteur 120, cette opération étant effectuée en fonction d'un ordre issu du soustracteur 121. Au niveau du soustracteur 125, on réalise la soustraction (CW- 10) -Nvx8-Nv, soit (CW- l0) -9xNv.
- Si (CW-10)-9xNv est inférieur à zéro, dans ce cas on envoie un ordre sur le sélecteur 127, le mode est alors 40-40 avec une adresse relative égale à "9" et Nv1 égal à (CW-10)-8xNv donne le numéro du vecteur stocké dans le sélecteur 126.
- Si (CW-10)-9xNv est strictement supérieur à zéro, alors la route est 40-20 et Nv2 = (CW-10)-9xNv donne le numéro du vecteur stocké dans le sélecteur 126.
Comme représenté sur la figure 7, les sélecteurs 126 et 127 sont connectés en entrée du registre 128 qui donne respectivement sur la sortie 12A la route et l'adresse relative et sur la sortie 12B soit directement la valeur des vecteurs-mouvement, soit une adresse dans une table stockant les vecteurs-mouvement.
On décrira maintenant avec référence à la figure 8, un mode de réalisation d'une ligne à retard de type FIFO pour les adresses relatives. En effet pour décoder les vecteurs-mouvement dans l'image paire sur une période de 80ms, les données doivent être retardées. Ce retard permet la sélection d'un des 9 vecteurs-mouvement par rapport à la position courante d'un bloc élémentaire. Ce retard peut être réalisé dans un circuit tel que représenté sur la figure 8.
Dans ce cas, les informations adresse relative et route issues de la RAM 13 sur la voie 1.3A sont envoyées en entrée d'un multiplexeur 140, qui reçoit sur son autre entrée le même type d'informations mais retardées de 88 blocs élémentaires. En effet, la sortie du multiplexeur 140 est envoyée sur des lignes à retard 141a, 141b, 141c, 141d. Les lignes à retard 141a, 141b, 141d réalisent un retard d'un bloc tandis que la ligne à retard 141c réalise un retard de 84 blocs.
En sortie de la ligne à retard 141d, on obtient l'information adresse relative et décision de branche ou route concernant l'instant courant. Cette information est renvoyée à travers une ligne à retard 141e d'un bloc sur l'entrée du multiplexeur 140.
Elle est aussi envoyée sur un décodeur 142 qui sépare l'information route et l'information adresse relative. Cette dernière information est envoyée en entrée d'tin multiplexeur 143 qui reçoit sur son autre entrée un "0". Ce multiplixeur est commandé par un bit correspondant à la parité de l'image. Si l'image est paire, l'adresse relative est sélectionnée et commande le sélecteur d'adresse relative 148, sinon l'on sort le vecteur courant. D'autre part, comme représenté sur la figure 8, les informations vecteurs-mouvement issues de la RAM 13 sur la voie 13b sont envoyées en entrée d'ion multiplexeur 144. La sortie du multiplexeur est connectée à une ligne à retard 145a d'un bloc élémentaire et sur l'entrée 4 du sélecteur 148.La sortie de la ligne à retard 145a est connectée en entrée d'une ligne à retard 145b d'un bloc élémentaire et sur l'entrée 3 du sélecteur 148. La sortie de la ligne 145b est connectée en entrée d'une ligne à retard 145c de 84 blocs élémentaires et sur l'entrée 2 du sélecteur 148. La sortie de la ligne 145c est connectée en entrée d'une ligne à retard 145d d'un bloc élémentaire et sur l'entrée 1 du sélecteur et la sortie de la ligne 145d donnant l'instant courant est connectée en entrée d'un multiplexeur 146 sur l'entrée 0 du sélecteur et en entrée d'une ligne à retard 145e d'un bloc dont la sortie est envoyée sur le multiplexeur L44. Une structure similaire à celle qui vient d'être décrite est formée du multiplexeur 146 et des lignes à retard IS17a, 147b, 147c, 147d et 147e, la ligne à retard 147b réalisant un retard de 84 blocs élémentaires et les autres lignes à retard réalisant un retard d'un bloc élémentaire.Avec le circuit décrit ci-dessus, sur les 9 entrées du sélecteur 148, lton a les vecteurs-mouvement correspondant aux 8 blocs élémentaires entourant le bloc courant 1 comme représenté en 150. De manière plus précise, sur l'entrée 4 du sélecteur, l'on a le vecteur-mouvement correspondant au bloc élémentaire 9. De même, sur les entrées 3, 2, 1, 0, -1, -2, -3, -4, l'on a les vecteurs-mouvement correspondant respectivement aux blocs 8, 7, 6, 1, 2, 3, 4, 5. Suivant la sortie du multiplexeur 144, l'une des entrées du sélecteur est choisie et le vecteur-mouvement correspondant est envoyé sur le décodeur 149 qui permet d'obtenir les valeurs en X et en Y du vecteur-mouvement.
Le dispositif de décodage décrit ci-dessus est basé sur le découpage d'une image en macroblocs de 64 blocs élémentaires de 16x16 pixels chacun et sur la transmission d'au plus 169 vecteurs-mouvement différents. Le dispositif de décodage est optimisé lorsque le nombre de vecteurs différents est limité, ce qui est le cas lorsquton utilise un estimateur de mouvement de type BRH, un tel estimateur est décrit notamment dans la demande de brevet français 89 11328. Le dispositif de décodage peut aussi être utilisé avec différents types d'estimateurs de mouvement autre qu'un estimateur BRH et notamment avec un estimateur BMA pour Block Matching
Algorithm en langue anglaise.La réduction du débit est due notamment à la transmission d'une table de vecteurs-mouvement et à la réduction du nombre et de la longueur des mots de code qui contiennent soit la route de codage directe soit une route de codage mélangée comportant la partie adresse dans une table de vecteurs.
Algorithm en langue anglaise.La réduction du débit est due notamment à la transmission d'une table de vecteurs-mouvement et à la réduction du nombre et de la longueur des mots de code qui contiennent soit la route de codage directe soit une route de codage mélangée comportant la partie adresse dans une table de vecteurs.
Pour permettre l'utilisation de plus de vecteurs-mouvement (par exemple i3, +15 à la place de -6 pixels, soit 1953 vecteurs-mouvement a la place de 169), il est seulement nécessaire d'accroitre la largeur de la table de vecteurs-mouvement de 8 à 11 bits, la taille des multiplicateurs de 8 à Il bits dans le décodeur de mots de code et la taille de la mémoire de sortie qui passe à 8 à 16. II est possible aussi dans le cadre de la présente invention d'envisager l'utilisation de blocs élémentaires plus petits, par exemple des blocs 8x8.
Ceci accroît de 1 le nombre de niveaux de décodage et augmente en conséquence, notamment le nombre de bits du code QT. On peut aussi envisager d'avoir des vecteurs-mouvement pour le mode 20ms. Dans ce cas, il y aura 2 ensembles de vecteurs-mouvement avec NV1 et NV2 le nombre de vecteurs-mouvement par ensemble. Ces modifications jouent principalement sur la taille de certains circuits mais pas sur les fonctions décrites dans la présente demande.
Le dispositif de décodage d'informations décrit ci-dessus est donc un dispositif simple à mettre en oeuvre qui présente l'avantage par rapport au dispositif de décodage déjà connu de limiter la taille, le nombre et la complexité des circuits nécessaires. Il présente aussi l'avantage d'être flexible car il permet en modifiant ou en ajoutant peu de circuits de passer d'une option à une autre.
Claims (20)
1. Dispositif de décodage d'informations de mouvement en télévision haute définition, ces informations étant codées selon un procédé de codage à paramètres ajustables dans lequel, les images étant découpées en N lignes de M macroblocs de dimensions déterminées, le code des informations de mouvement d'un macrobloc comporte au moins un mot de début (BMB) relatif aux informations de codage et des informations de codage, caractérisé en ce qu'il comporte des premiers moyens (102) de stockage pour stocker selon N lignes les M mots de début d'une ligne et des deuxièmes moyens (100) de stockage pour stocker selon N lignes les M ensembles d'informations de codage relatifs à une ligne, les premiers et deuxièmes moyens de stockage étant lus en parallèle, des moyens de décodage (11, 12) et un moyen de stockage (13) en sortie des informations décodées.
2. Dispositif selon la revendication 1, caractérisé en ce que les premiers moyens (102) de stockage sont constitués par N registres FIFO en parallèle, chaque registre pouvant stocker Mxn bits, n correspondant au nombre de bits d'un mot de début (BMB).
3. Dispositif selon la revendication 1, caractérisé en ce que les deuxièmes moyens (100) de stockage sont constitués par N registres FIFO en parallèle, chaque registre pouvant stocker Mxm bits, m correspondant au nombre de bits dlun ensemble dtinformations de codage (CWi).
4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les informations de codage sont obtenues en calculant un arbre de codage sur chacun des macroblocs de façon à obtenir plusieurs menus identifiant chaque vecteur-mouvement (Vect i) présent dans l'image en accompagnant chaque vecteur (Vect i) de son mot de code (CWi).
5. Dispositif selon la revendication 4, caractérisé en ce que le code des informations de mouvement d'un macrobloc comporte un mot de début (BMB), un MENU constitué par l'ensemble des vecteurs-mouvement (Vect i) différents, un code de décomposition en arbre (QTREE) et des mots de code (CWi') associés aux vecteurs-mouvement.
6. Dispositif selon la revendication 5, caractérisé en ce que, dans le cas du codage des signaux d'assistance numérique (DATV) de télévision du système HD-MAC, les mots de code (CWi') contiennent une information de décision de branche ou route et l'adresse du vecteur-mouvement dans le menu ou le numéro du vecteur parmi l'ensemble de tous les vecteurs possibles.
7. Dispositif selon les revendications 5 et 6, caractérisé en ce que le MENU et les mots de code ont des longueurs variables fonction du nombre de vecteurs-mouvement différents.
8. Dispositif selon la revendication 5, caractérisé en ce que les informations de codage relatives à chaque ligne de macroblocs sont séparées par un mot do synchronisation.
9. Dispositif selon la revendication 8, caractérisé en ce que le mot de synchronisation est constitué par un ensemble de bits spécifiques unique dans le flot des données.
10. Dispositif selon la revendication 5, caractérisé en ce qu'il comporte de plus des troisièmes moyens (101) de stockage pour stocker selon N lignes les M codes (QTREE) de décomposition en arbre relatifs à une ligne.
11. Dispositif selon la revendication 10, caractérisé en ce que les troisième moyens (101) de stockage sont constitués par N registres FIFO en parallèle, chaque registre pouvant stocker Mxp bits, p correspondant au nombre de bits du code (QTREE) de décomposition en arbre.
12. Dispositif selon l'une quelconque des revendications 1 à 10, caractérisé en ce que chaque moyen de stockage (100, 101, 102) est constitué de deux moyens de stockage identiques en parallèle, l'un étant chargé pendant que l'autre est décodé.
13. Dispositif selon l'une quelconque des revendications 1 à 12, caractérisé en ce qu'il comporte un registre à décalage (103, 104, 105) par moyens de stockage
(100, 101, 102) pour stocker temporairement les données correspondantes avant de les écrire dans les moyens de stockage et un moyen de commande (106) gérant les registres à décalage et sélectionnant les moyens de stockage.
14. Dispositif selon l'une quelconque des revendications 1 à 13, caractérisé en ce que, dans le cas d'un système de télévision HD-MAC, les moyens de décodage comporte un décodeur (12) des mots de code et un décodeur (13) du code de décomposition en arbre.
15. Dispositif selon la revendication 14, caractérisé en ce que le décodeur (12) des mots de code permet de décoder des mots de code formés des Nv vecteurs-mouvement différents et de toutes les possibilités de route, ces éléments étant classer de manière appropriée.
16. Dispositif selon la revendication 15, caractérisé en ce que les dix premiers mots de code (1 à 10) correspondent à des possibilités de route fixe.
17. Dispositif selon l'une quelconque des revendications 13 et 14, caractérisé en ce que le décodeur (12) des mots de code est constitué principalement par trois soustracteurs (120, 121, 125) réalisant respectivement les soustractions CW-10, (CW-10)-Nvx8 et (CW-10)-8xNv-Nv, par un registre à décalage (124) réalisant la multiplication par 8 et par des sélecteurs (126, 127) permettant en sélectionnant les bits de poids faible et les bits de poids fort d'obtenir l'adresse relative, la décision de branche ou route et le vecteur-mouvement pour les possibilités de routes variables (route 40-40 et route 40-20).
18. Dispositif selon l'une quelconque des revendications 1 à 17, caractérisé en ce que le moyen de stockage en sortie est constitué par au moins une mémoire (13) permettant de stocker une ligne de blocs élémentaires d'un macrobloc.
19. Dispositif selon la revendication 18, caractérisé en ce que la mémoire (13) est constituée de deux mémoire RAM travaillant en mode flip-flop.
20. Dispositif selon l'une quelconque des revendications 1 à 19, caractérisé en ce que le moyen de stockage (13) de sortie est connecté à un circuit formé de lignes à retard d'un bloc élémentaire permettant d'obtenir en entrée d'un sélecteur les vecteurs-mouvement des blocs entourant le bloc courant et sortir le vecteur-mouvement correspondant à l'adresse relative donnée par le moyen de stockage (13).
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9114626A FR2684257A1 (fr) | 1991-11-27 | 1991-11-27 | Dispositif de decodage d'informations de mouvement en television haute definition. |
PCT/FR1992/001087 WO1993011634A1 (fr) | 1991-11-27 | 1992-11-24 | Dispositif de decodage d'informations de mouvement en television haute definition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9114626A FR2684257A1 (fr) | 1991-11-27 | 1991-11-27 | Dispositif de decodage d'informations de mouvement en television haute definition. |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2684257A1 true FR2684257A1 (fr) | 1993-05-28 |
Family
ID=9419379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9114626A Pending FR2684257A1 (fr) | 1991-11-27 | 1991-11-27 | Dispositif de decodage d'informations de mouvement en television haute definition. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2684257A1 (fr) |
WO (1) | WO1993011634A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0637889B1 (fr) * | 1993-08-06 | 2001-01-17 | Lg Electronics Inc. | Dispositif pour convertir la fréquence de trame d'image |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0349454A1 (fr) * | 1988-06-24 | 1990-01-03 | France Telecom | Procédé de codage de données d'assistance à la reconstruction d'une image électronique animée sous-échantillonnée |
EP0381283A2 (fr) * | 1989-02-03 | 1990-08-08 | Koninklijke Philips Electronics N.V. | Procédé et appareil de codage et de décodage DATV |
GB2240005A (en) * | 1989-11-03 | 1991-07-17 | British Broadcasting Corp | Improvements in digitally-assisted television systems |
EP0443921A1 (fr) * | 1990-02-23 | 1991-08-28 | Laboratoire Europeen De Recherches Electroniques Avancees, Societe En Nom Collectif | Procédé de traitement des données numériques de contrôle associées à un signal vidéo de type HD-MAC |
-
1991
- 1991-11-27 FR FR9114626A patent/FR2684257A1/fr active Pending
-
1992
- 1992-11-24 WO PCT/FR1992/001087 patent/WO1993011634A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0349454A1 (fr) * | 1988-06-24 | 1990-01-03 | France Telecom | Procédé de codage de données d'assistance à la reconstruction d'une image électronique animée sous-échantillonnée |
EP0381283A2 (fr) * | 1989-02-03 | 1990-08-08 | Koninklijke Philips Electronics N.V. | Procédé et appareil de codage et de décodage DATV |
GB2240005A (en) * | 1989-11-03 | 1991-07-17 | British Broadcasting Corp | Improvements in digitally-assisted television systems |
EP0443921A1 (fr) * | 1990-02-23 | 1991-08-28 | Laboratoire Europeen De Recherches Electroniques Avancees, Societe En Nom Collectif | Procédé de traitement des données numériques de contrôle associées à un signal vidéo de type HD-MAC |
Non-Patent Citations (3)
Title |
---|
FREQUENZ. vol. 43, no. 3,4, Avril 1989, BERLIN DE pages 86 - 108; M. GILGE ET AL.: 'Codierung von farbigen Bewegtbildern mit 64 kbit/s - Ein neuer Ansatz zur Verwirklichung eines Bildtelefons im ISDN' * |
SIGNAL PROCESSING OF HDTV, II, PROCEEDINGS OF THE THIRD INTERNATINAL WORKSHOP ON HDTV Septembre 1989, AMSTERDAM, NL pages 101 - 108; M. KERDRANVAT: 'Hierarchical motion estimation and motion information encoding' * |
SIGNAL PROCESSING OF HDTV, II, PROCEEDINGS OF THE THIRD INTERNATIONAL WORKSHOP ON HDTV Septembre 1989, AMSTERDAM, NL pages 643 - 648; G.M.X. FERNANDO ET AL.: 'Motion compensated field rate conversion of bandwidth compressed HD-MAC pictures' * |
Also Published As
Publication number | Publication date |
---|---|
WO1993011634A1 (fr) | 1993-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0448491B1 (fr) | Procédé de codage et de transmission à au moins deux niveaux de qualité d'images numériques appartenant à une séquence d'images, et dispositifs correspondants | |
EP0454556B1 (fr) | Procédé et dispositif d'embrouillage-désembrouillage de données d'images numériques | |
EP0022713B1 (fr) | Installation de codage et de décodage d'un signal visiophonique numérique | |
EP0206847B1 (fr) | Dispositifs de calcul de transformées cosinus, dispositif de codage et dispositif de décodage d'images comportant de tels dispositifs de calcul | |
EP0558377B1 (fr) | Codec vidéo, notamment visiophonique | |
EP0416985B1 (fr) | Procédé de multiplexage d'un signal sonore avec un signal vidéo analogique et système correspondant de distribution d'images fixes sonorisées | |
FR2650718A1 (fr) | Dispositif de transformation d'une information de mouvement en un signal de detection de mouvement a la frequence trame et au nombre de lignes souhaites pour un recepteur de television haute definition | |
EP0337565B1 (fr) | Dispositif de codage de signaux représentatifs d'une suite d'images et système de transmission d'images de télévision à haute définition incluant un tel dispositif | |
FR2589302A1 (fr) | Systeme de thermographie infrarouge a sensibilite amelioree par accumulation progressive des lignes de l'image | |
EP0489890B1 (fr) | Procede de codage a parametres ajustables d'un champ de mouvement dans une sequence d'images animees | |
FR2684257A1 (fr) | Dispositif de decodage d'informations de mouvement en television haute definition. | |
EP0967576A1 (fr) | Adressage de mémoire d'un décodeur MPEG | |
EP0063990B1 (fr) | Procédé de transmission d'une image à débit réduit; système de transmission pour la mise en oeuvre de ce procédé | |
FR2728092A1 (fr) | Procede pour le decodage d'images comprimees | |
EP0365090A1 (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 | |
EP0350122A1 (fr) | Procédés et dispositifs de codage et de décodage d'images de télévision à haute définition et systèmes de transmission d'images de télévision incluant de tels dispositifs | |
FR2646047A1 (fr) | Procede et installation de codage et de transmission d'images animees sous forme numerique a bas debit | |
EP0391760B1 (fr) | Dispositif de conversion de fréquence trame pour un récepteur de télévision haute définition, et procédé de détection du mouvement dans une image de télévision codée | |
EP0428216B1 (fr) | Dispositif de décodage amélioré de signaux de télévision de type HD-MAC | |
EP0424269A1 (fr) | Dispositif de compensation de mouvement et récepteur de télévision comportant un tel dispositif | |
EP0395507B1 (fr) | Système d'émission-réception pour la transmission d'images couleur animées et du son à partir de canaux indépendants | |
FR2544149A1 (fr) | Systeme de traitement d'images video | |
FR2660142A1 (fr) | Procede et dispositif de codage-decodage d'un signal numerique de television haute definition en bande etroite. | |
FR2780843A1 (fr) | Procede de traitement de donnees video destinees a etre visualisees sur ecran et dispositif mettant en oeuvre le procede | |
CA2026766C (fr) | Procede de multiplexage d'un signal sonore dans un signal video analogique et systeme de distribution d'images fixes sonorisees |