FR2914124A1 - Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible - Google Patents
Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible Download PDFInfo
- Publication number
- FR2914124A1 FR2914124A1 FR0702063A FR0702063A FR2914124A1 FR 2914124 A1 FR2914124 A1 FR 2914124A1 FR 0702063 A FR0702063 A FR 0702063A FR 0702063 A FR0702063 A FR 0702063A FR 2914124 A1 FR2914124 A1 FR 2914124A1
- Authority
- FR
- France
- Prior art keywords
- coded
- coding
- zone
- zones
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000003247 decreasing effect Effects 0.000 claims abstract description 10
- 230000001105 regulatory effect Effects 0.000 claims abstract description 9
- 238000013139 quantization Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000003936 working memory Effects 0.000 claims description 2
- 238000005094 computer simulation Methods 0.000 description 8
- 230000000750 progressive effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 108700026244 Open Reading Frames Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
L'invention concerne un procédé et un dispositif de régulation du débit de codage d'images vidéo vis-à-vis d'une taille cible d'image (Tc).Les images (Fk) étant subdivisées en zones à coder (Fkj), on discrimine (A) parmi les zones (Fkj) la complexité (Cj) de codage de chaque zone, classifie (B) les zones à coder (Fkj) selon un ordre de complexité déterminé, code (C) successivement chaque zone (Fkj) en fonction de l'ordre de complexité décroissante, en minimisant successivement l'erreur estimée de codage, de chaque zone (Fkj), la taille finale de chaque image vis-à-vis de la taille cible (Tc) et le débit de séquence d'images vidéo.Application au codage vidéo d'images de séquences vidéo, notamment à la vidéo surveillance en réseau.
Description
Procédé et dispositif de régulation du débit de codage de séquences
d'images vidéo vis-à-vis d'un débit cible
L'invention concerne le codage de séquences d'images vidéo, en particulier la régulation du débit de codage des codeurs vidéo, vis-à-vis d'un débit cible. Ainsi qu'illustré sur la figure la, une séquence d'images vidéo est composée d'images successives, certaines de ces images, désignées images I, étant codées en mode Intratrame, soit sans référence au passé représenté par les images précédentes de cette séquence d'images, soit en mode Intertrame, désignées images P, puis d'une nouvelle image I, et ainsi de suite. On rappelle que le codage prédictif des images P permet de réduire sensiblement le volume de données codées, tout en conservant une complexité de codage raisonnable. Dans l'hypothèse où, pour des besoins de traitement au décodage par exemple, on souhaite accéder à une image précise de rang défini dans le flux vidéo, et dans la séquence d'images vidéo, il est alors nécessaire de décoder l'ensemble des images P précédant cette image, jusqu'à la précédente image I. En effet, toute image I est par définition autonome du point de vue codage, puisque le codage de cette dernière, non prédictif, ne fait appel au contenu d'aucune image précédente. Afin de réduire ou minimiser le temps d'accès à une image de rang déterminé, il est courant, lors du processus de codage de séquences d'images vidéo, d'insérer une image I toutes les secondes, dans le cas du codage vidéo classique de films par exemple. On est, dans cette situation, assuré de ne devoir décoder au maximum que 25 images, dans le cas d'un flux d'images vidéo à 25 images par seconde, pour accéder à n'importe quelle image du flux précité. Dans ces conditions, un flux d'images ou de séquences d'images vidéo est dit à accès aléatoire lorsque toute image est accessible dans un délai techniquement acceptable. Si, au contraire, aucune image I n'est insérée dans le flux ou la séquence d'images vidéo, ce qui est techniquement envisageable, le flux ne peut être considéré comme à accès aléatoire, car l'accès au contenu de toute image de rang déterminé dépend théoriquement de toutes les images précédentes. A l'heure actuelle, l'encodage de flux ou de séquences vidéo à débit constant est exécuté à partir de processus connus de l'art antérieur, tel que représenté en figure lb.
Ce processus peut consister à choisir un pas de quantification déterminé Q, dont on estime a priori que ce dernier va produire la taille d'image souhaitée. Dans le cadre de contraintes fortes sur le flux ou la séquence vidéo, typiquement la prise en compte d'une taille de mémoire tampon d'image codée très faible au niveau des codeurs ou de certains décodeurs disponibles dans le commerce par exemple, les processus précités fonctionnent, le plus souvent, sur le principe d'une double boucle itérative.
Une première boucle, représentée en figure lb, opère au niveau temporel de la succession d'images par : 1) allocation d'une taille cible Tc pour le codage de l'image courante, Fk, k désignant le rang de l'image, cette taille estimée étant fonction de l'état de remplissage actuel de la mémoire tampon du codeur ; 2) détermination du pas de quantification Q appliqué en fonction des caractéristiques de l'image courante à coder, notamment de sa complexité C, et d'un modèle calculatoire M liant le pas de quantification Q à la taille estimée T et à la complexité C de l'image. Le modèle calculatoire liant la taille estimée T au pas de quantification Q et à la complexité C est appliqué en imposant T = T, pour trouver Q. 3) codage effectif de l'image courante Fk par application du pas de quantification Q ; 4) mise à jour du modèle calculatoire M en fonction de la taille effective T de l'image courante codée.
Une seconde boucle iterative appliquée au niveau spatial de l'image courante Fk, cette dernière étant divisée en blocs de codage Bj, j désignant le rang du bloc dans l'image à coder, permet de déterminer le pas de quantification Qj à appliquer au bloc Bj considéré, de manière à respecter strictement la contrainte de débit imposée. La seconde boucle précité peut opérer de manière semblable à celle illustrée en figure lb, et, pour cette raison, n'est pas représentée au dessin. Elle permet ainsi, pour chaque bloc Bj de l'image courante, de déterminer le pas de quantification Qj applicable à ce dernier, en fonction de sa complexité Cj, le modèle M étant adapté une fois le bloc Bj codé. La deuxième boucle précitée permet un respect beaucoup plus strict de la contrainte ou consigne de débit. Pour une description plus détaillée des processus précités, on pourra utilement se reporter au texte de la norme MPEG4 :ISO/IEC 14496-2 Information Technology - Coding of audio visuals abjects - Part 2 : Visual, Annexe L.
Du fait de l'absence de codage prédictif, les images I occupent, à qualité égale, beaucoup plus d'espace qu'une image P. Dans le cadre de la norme H.264 définie par la recommandation ITU-T Rec.H.264, Annexe D.9.7, une image I occupe environ 8 fois plus de taille mémoire qu'une image P de même qualité. Le problème technique posé par le respect de la contrainte d'accès aléatoire par un flux ou séquence vidéo, dans le cadre de l'hypothèse précitée, peut être résumé ci-après : si l'on insère des images I, dans le but de satisfaire la contrainte d'accès aléatoire, il est nécessaire de réduire de manière très sévère la qualité de ces dernières, afin de ne pas dépasser 1a taille des mémoires tampons. La qualité résultante est alors médiocre avec, en particulier, une dégradation visuelle périodique particulièrement gênante, lors du passage des images I de qualité réduite. Des normes de codage vidéo plus récentes proposent des processus de codage permettant de coder une image I étalée sur plusieurs images P, dit codage progressif. Ce nouveau processus permet de s'affranchir de la notion d'image I. En pratique, chaque image du flux ou séquence vidéo est subdivisée en zones qui sont codées successivement par blocs en mode Intratrame, en s'assurant, d'une part, qu'au bout d'un nombre déterminé d'images successives toutes les zones de l'image auront été codées en Intra, l'image I ayant ainsi été distribuée sur le nombre déterminé d'images, et, d'autre part, que les parties d'images codées en mode Intertrame n'utilisent pas la zone non encore rafraichie, afin de conserver l'information passée du codage prédictif. Dans la norme H.264 précitée, le codeur vidéo peut signaler au décodeur vidéo qu'il transmet ce type d'image en codage progressif. Ainsi, le décodeur vidéo peut, à la réception, se synchroniser sur ces images, pour garantir un accès aléatoire au flux. Pour une description plus détaillée de la norme H.264 et du processus de codage progressif, on pourra utilement se reporter au texte de la recommandation ITU-T Rec.H.264, Annexe D.9.7 précédemment citée. Bien que le processus de codage progressif d'images I permette, dans une certaine mesure, le respect d'une contrainte en termes de débit d'image vidéo, tout en garantissant un accès aléatoire au flux vidéo, le processus de codage successif des blocs, selon un balayage géométrique de l'image, de haut en bas, ne donne pas totalement satisfaction et ne permet pas de respecter avec une faible marge d'erreur la contrainte de débit en termes de taille d'image cible. En effet, le processus de contrôle de débit dans cette situation dispose du modèle calculatoire, illustré et décrit en liaison avec la figure lb.
Le modèle calculatoire précité est entaché d'une certaine erreur absolue E, qui est d'autant plus grande que la taille estimée T de l'image est grande. Ainsi, la taille T de chaque image codée vérifie la relation (1) ci-après : T = T + E dans laquelle T désigne la taille de l'image réelle, après codage, T la taille estimée de l'image, donnée par le modèle calculatoire et E l'erreur absolue de codage sur la taille, fonction strictement croissante de la 25 taille T. Compte tenu du codage successif géométrique, de haut en bas, des blocs, ou zones à coder, lorsque le bas de l'image, dernières zones à coder de celle-ci, présente une grande complexité, on peut conclure que l'erreur 30 absolue de taille E introduite par le modèle calculatoire est grande. En effet, cette zone étant codée en dernier, l'erreur absolue ne peut aucunement être compensée par le codage d'autres zones, dont on peut par exemple réduire la qualité pour diminuer la taille de l'image codée finalement atteinte. Ceci aboutit, en conséquence, à un risque de dépassement de la capacité des mémoires tampon, et de dégradation des conditions de transmission, notamment de la fluidité du flux ou de la séquence vidéo. A l'heure actuelle des processus permettant d'exécuter une régulation fine du débit de codage de flux ou de séquences vidéo tout en préservant l'accès aléatoire à ces derniers ne sont pas connus. La présente invention a pour objet de remédier aux inconvénients et limitations des techniques antérieures, dans le but d'assurer une régulation aussi fine que possible du débit de flux ou de séquences d'images vidéo, notamment codées en codage progressif. Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un dispositif de régulation du débit de codage de flux ou de séquences d'images vidéo permettant de minimiser l'erreur absolue de codage de toute image, indépendamment de la complexité de l'image considérée. Un autre objet de la présente invention est enfin la mise en oeuvre du procédé et du dispositif objets de l'invention dans une application à la vidéo surveillance à distance en réseau, grâce auxquels la régulation fine du débit permet d'éviter toute collision de transmission d'image et de favoriser la commande en temps réel de tout organe de surveillance.
Le procédé et le dispositif de régulation du débit de codage de séquences d'images vidéo vis-à-vis d'un débit cible, représenté par une taille cible d'image, objets de l'invention, opèrent sur des images vidéo subdivisées en un ensemble de zones à coder. La taille estimée de l'ensemble de zones à coder est fonction de la taille des zones codées, de la taille estimée des zones à coder et d'une erreur estimée de codage des zones à coder. Ils sont remarquables en ce que chacun consiste à, respectivement, permet de discriminer, parmi les zones à coder de cet ensemble de zones à coder, la complexité de codage de chaque zone à coder, classifier les zones à coder selon un ordre de complexité déterminé, coder successivement chaque zone à coder en fonction de la classification d'ordre de complexité, décroissante, en minimisant successivement l'erreur estimée de codage de chaque zone à coder, la taille finale de chaque image vis-à-vis de la taille cible, et en optimisant le débit de séquence d'image vidéo.
Le procédé et le dispositif objets de l'invention sont en outre remarquables en ce que, dans le cadre d'une application à la vidéo surveillance en réseau, incluant une commande à distance d'une caméra de vidéo surveillance, à partir d'un terminal hôte par un opérateur, chacun consiste à respectivement permet de, pour chaque image courante de rang p appartenant à des séquences successives de N images 1<- p <- N, subdiviser chaque image courante en un ensemble de N zones à coder superposées, formée chacune par une pluralité de lignes de pixels, discriminer parmi les zones à coder la complexité de codage de chaque zone à coder, choisir l'une des zones à coder comme première zone à coder et appliquer un codage Intratrame, avec un pas de quantification minimum, pour obtenir une complexité de codage maximum pour cette première zone à coder, coder en codage Intertrame la zone à coder immédiatement supérieure à cette première zone, avec application d'un pas de quantification diminué, pour préserver la finesse de codage de cette zone, coder en codage Intertrame chacune des zones à coder restantes, en fonction de leur classification d'ordre de complexité, en minimisant successivement l'erreur estimée de codage de chaque zone à coder restante, la taille finale de l'image courante vis-à-vis de la taille cible, répéter successivement les opérations précédentes pour chaque image de rang p+1, suivant l'image courante, en choisissant comme première zone à coder l'une des zones à coder de rang distinct du rang des zones codées comme première zone à coder parmi les p images précédentes. Ceci permet de conserver l'accès aléatoire aux séquences d'images. Le procédé et le dispositif objets de l'invention trouvent application à la technologie du codage vidéo, de la transmission de flux vidéo en réseau et à leurs applications, telles que, notamment, la vidéo surveillance en réseau. Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels, outre les figures la et lb relatives à l'art antérieur, - la figure 2a représente, à titre illustratif, un organigramme général des étapes essentielles permettant la mise en oeuvre du procédé objet de la présente invention ; - la figure 2b représente, à titre illustratif, un organigramme spécifique permettant d'opérer une minimisation de l'erreur estimée de codage de chaque zone à coder ; - la figure 3a représente, à titre illustratif, un organigramme spécifique des étapes essentielles de mise en oeuvre du procédé objet de l'invention dans une application à la vidéo surveillance en réseau ; - la figure 3b représente, à titre illustratif, un exemple spécifique de mise en oeuvre du 35 procédé objet de l'invention appliqué à la vidéo surveillance en réseau; - la figure 3c représente, à titre illustratif, un chronogramme représentatif, à titre comparatif, du nombre de bits par image lors d'une séquence typique de vidéo surveillance en l'absence respectivement en présence de la mise en oeuvre du procédé objet de l'invention ; la figure 4 représente, à titre illustratif, un schéma synoptique fonctionnel d'un dispositif de régulation du débit de codage de séquences d'images vidéo objet de l'invention, permettant de mettre en oeuvre le procédé et/ou toute application de ce dernier à la vidéo surveillance.
Une description plus détaillée du procédé et du dispositif de régulation du débit de codage de séquences d'images vidéo, vis-à-vis d'un débit cible représenté par une taille cible d'image, conformes à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 2a et les figures suivantes. Le procédé objet de l'invention s'applique ainsi qu'indiqué précédemment dans la description à la régulation du débit de codage de séquences d'images vidéo vis-à-vis d'un débit cible représenté par une taille cible T, d'image donnée. On comprend, en particulier, que pour une taille cible Tc donnée de chaque image et compte tenu de la fréquence de l'image dans la séquence d'images, on détermine ainsi un débit de codage de la séquence d'images ou flux d'images considérées. Ainsi, en référence à la figure 2a, on considère toute image Fk, k désignant le rang de l'image considérée dans la séquence d'images précitée, chaque image vidéo étant subdivisée en un ensemble de zones à coder, cet ensemble étant noté IFji=; , N désignant le nombre de zones à coder dans chaque image Fk considérée et Fkj désignant chaque zone à coder de l'image précitée. Ainsi, la taille estimée de l'ensemble de zones à coder est fonction au cours du processus de codage de la taille des zones déjà codées, de la taille estimée des zones à coder ou restant à coder et d'une erreur estimée de codage des zones à coder, l'erreur estimée de codage étant notée e, pour chacune des zones à coder en référence à la figure 2a.
Ainsi qu'on l'a représenté en outre sur la figure 2a précitée, le procédé objet de l'invention est remarquable en ce qu'il consiste au moins, pour chaque image Fk préalablement à tout codage d'une zone, à discriminer en une étape A parmi les zones à coder de l'ensemble des zones à coder IF} la complexité de i=l codage de chaque zone à coder Fkj. A l'étape A de la figure 2a, l'opération de discrimination est notée : Discrimination M\Fki/ lÇ1 J=1 . A l'étape A, on comprend que l'application d'un modèle calculatoire m à l'ensemble des zones à coder Fkj permet d'obtenir un ensemble de coefficients de complexité de codage de chaque zone à coder, cet ensemble étant noté j=N Cj 1=1 . L'opération de l'étape A est suivie d'une étape B consistant à classifier les zones à coder selon un ordre de complexité déterminé.
L'opération correspondante est notée à l'étape B Classification On comprend que par l'opération de classification précitée, cette dernière consiste à classer par ordre de grandeur les coefficients de complexité de codage Cj obtenus à l'étape A, la classification par ordre de grandeur pouvant a priori être effectuée selon un ordre croissant ou décroissant. Dans l'opération représentée à l'étape B de la figure 2a, l'application de la fonction de classification ou de tri des coefficients de complexité de codage Cj permet d'obtenir un ensemble de valeurs triées par ordre croissant ou décroissant noté O{Co } 0 . L'étape B précitée est alors suivie d'une étape C consistant à coder successivement chaque zone à coder en fonction de la classification d'ordre de complexité décroissante des coefficients de complexité de codage C; obtenus à l'étape B. L'opération de codage successive de chaque zone à coder en fonction de la classification d'ordre de complexité décroissante représentée à l'étape C est notée Codage Cod(Qi,FkJ~)O _p , min e, ,ZlTC L'opération de codage précitée consiste en fait, ainsi que représenté à l'étape C de la figure 2a, à effectuer le codage par application d'un pas de quantification Qi à chaque zone à coder Fkj et en minimisant successivement l'erreur estimée de codage Fj de chaque zone à coder Fk~, la taille finale de chaque image après codage, taille finale notée Tk, vis-à-vis de la taille cible Tc et en optimisant finalement le débit de la séquence d'images vidéo correspondante. Un justificatif du mode opératoire du procédé de régulation du débit de codage de séquences d'images
vidéo, objet de la présente invention, tel que représenté en figure 2a, sera maintenant donné au plan théorique conformément à la description ci-après. Pour un ensemble {FkI } _; , de N zone d'images à coder, dans le cas du codage de l'art antérieur, chaque zone à coder Fkj est encodée successivement l'une après l'autre sans que leur complexité ne soit prise en compte.
Ainsi, pour ajuster les paramètres de codage d'une zone à coder, Fkj et pour une zone de rang i courant, on estime la taille de l'ensemble de zones à coder précitée, laquelle se décompose en deux parties, la taille des zones précédemment codées qui est connue et la taille estimée des zones restant à coder selon la relation (2)
i(i i?i
ê =lTi+Eei i(.l j>_i N
La taille estimée des zones restant à coder t comparée à la taille cible T, sert à ajuster les paramètres de codage, tels que le pas de quantification 20 pour la zone à coder de rang i courante.
Pour minimiser l'erreur de codage de la taille restant à coder, il est primordial que l'erreur qui affecte cette dernière soit minimale, cette erreur s'exprimant sous la forme de la relation (3) selon : 25 J?i
Minimiser le terme d'erreur précité revient ainsi à minimiser toutes les valeurs d'erreurs de codage ei de chaque zone à coder Fk;.
Les erreurs de codage e, sont proportionnelles 30 aux tailles T de chaque zone et donc à la complexité de chacune des zones à coder Fkj.
Compte tenu de cette observation, le procédé objet de l'invention permet, au contraire, de découper une séquence d'images vidéo à encoder en zones à coder, de classifier la complexité des zones à coder correspondantes et de coder la séquence d'images précitée dans l'ordre décroissant des complexités, de manière à commencer le codage par les zones occupant le plus d'espace et en terminant par les zones d'images à coder occupant le moins d'espace.
En codant en premier les zones les plus complexes, on peut ainsi minimiser l'erreur e, de codage au fur et à mesure de l'encodage des zones successives. Ainsi, les dernières zones à coder présentent alors deux avantages : elles disposent d'une estimation très fiable de la taille restante, et, étant de plus faible complexité successivement, leur erreur de codage est faible et il est donc peu probable que l'erreur qui les affecte aboutisse à un dépassement de la taille cible de l'image Tc et donc des mémoires tampon.
D'une manière plus spécifique, on indique que la complexité de codage de chaque zone à coder Fki est définie comme la taille estimée, en octets, occupée par la zone à coder précitée après codage, pour une qualité de zone et d'image déterminée.
A titre d'exemple non limitatif, on indique que la complexité de codage C; de chaque zone à coder peut être estimée à partir d'au moins le pas de quantification Q; à appliquer au cours du processus de codage et de métrique de zone à coder de l'image courante Fk, vis-à- vis d'au moins une zone codée de l'image précédente. Ainsi, de manière connue, pour estimer la complexité de codage de chaque zone à coder, il est possible d'utiliser un processus connu de l'état de la technique dans le domaine du codage vidéo permettant de lier la taille d'image estimée au pas de quantification et à des métriques sur la zone à coder, la taille de la zone à coder étant exprimée par la relation (4) ci-après Te = (a*C/Q) + b*C/Q*Q)).
Dans la relation précédente, Te désigne la taille estimée de la zone à coder Fk3 C représente sa complexité typiquement la somme de valeur absolue des différences désignée SAD ; Q représente le pas de quantification appliqué sur la zone à coder Fk3 a et b sont des paramètres liés à la séquence d'images ajustés dynamiquement en cours de codage. Pour une description plus détaillée de la détermination de la taille de chaque zone à coder en fonction de la complexité de cette dernière, on pourra utilement se reporter à l'annexe L paragraphe L.1.2 de la norme MPEG4 déjà citée par exemple. Une description plus détaillée du processus mis en oeuvre pour minimiser l'erreur estimée de codage de chaque zone à coder sera maintenant donnée en liaison avec la figure 2b. En référence à la figure précitée, on indique que le processus permettant de minimiser l'erreur estimée de chaque zone à coder Fk3 consiste au moins à adapter successivement le pas de quantification Q3 appliqué au codage de chaque zone à coder Fk;. Dans ce but ainsi que représenté en figure 2b et suite à l'exécution de l'étape B de la figure 2a, l'étape C de la figure 2a précitée peut consister, ainsi que représenté en figure 2b, à exécuter conjointement une étape C1 consistant à mesurer la taille restante pour coder l'image vis-à-vis de la taille cible T, de l'image et une étape C2 consistant à exécuter l'opération de prédiction de la zone à coder Fkj, ainsi que représentée en figure 2b. L'opération de prédiction précitée est exécutée lorsqu'on exécute un codage Intertrame par exemple. Les étapes C1 et C2 précitées sont alors suivies d'une étape C3 de calcul du pas de quantification Q; à 5 partir de la relation (4) précédente. L'étape C3 est alors suivie d'une étape C4 permettant d'exécuter le codage proprement dit de la zone à coder Fkj par application du pas de quantification Qi déterminé à l'étape C3. 10 Un retour à l'exécution des étapes C1 et C2 est prévu pour le codage de la zone à coder suivante ainsi que représentée au dessin de la figure 2b. Le procédé objet de l'invention tel que décrit précédemment en liaison avec les figures 2a et 2b peut 15 être mis en oeuvre afin d'assurer un débit de codage d'images vidéo sensiblement constant pour la transmission de ces dernières. Toutefois, le procédé objet de l'invention s'applique de manière particulièrement avantageuse à la 20 vidéo surveillance en réseau pour assurer, notamment, la transmission de séquences d'images permettant la commande d'organes de surveillance par exemple. Ainsi, on suppose l'existence d'un équipement de vidéo surveillance muni d'un système de commande de 25 caméras, un opérateur pouvant à tout moment décider des mouvements de cette dernière à distance. Entre la caméra de surveillance et l'opérateur utilisateur, le signal vidéo, c'est-à-dire les séquences successives d'images vidéo, est compressé par exemple à 30 la norme H.264. Dans la cadre d'une application à la vidéo surveillance, il est manifeste que le flux vidéo doit être à accès aléatoire, afin, en particulier, de faciliter la visualisation de ce qui s'est passé à un 35 instant donné ou dans une plage de temps très brève au cours d'un instant donné et il est alors primordial que le débit soit respecté de manière très précise. En effet, si ce dernier n'est pas respecté, les équipements réseau procèdent à la mise en mémoire tampon d'une partie du flux d'images vidéo ou pire le flux est alors perdu. La séquence vidéo subit alors un retard par rapport à la scène filmée et l'opérateur ne peut pas commander efficacement sa caméra de surveillance. L'application du procédé objet de l'invention à la vidéo surveillance en réseau apparaît particulièrement avantageuse, car le procédé objet de l'invention dans cette application permet alors de résoudre toute les contraintes précitées, tant en ce qui concerne l'accès aléatoire aux séquences ou flux d'images vidéo que le respect des contraintes de débit de manière rigoureuse, afin d'éviter les inconvénients précédemment cités. Dans ce but, le procédé objet de l'invention consiste alors à coder une partie d'une image considérée en mode Intratrame de manière à ce que l'intégralité de l'image ait été codée en mode Intratrame au bout d'un nombre N d'images successives. En outre, afin de garantir l'accès aléatoire au flux d'images vidéo, on impose qu'aucune prédiction spatiale ou temporelle ne soit effectuée entre la zone rafraichie, c'est-à-dire l'ensemble des zones qui ont été codées en Intra depuis le début du rafraichissement progressif, soit sur les p images successives, et le reste de l'image. Le procédé objet de la présente invention appliqué à la vidéo surveillance est alors mis en oeuvre ainsi qu'il sera décrit en liaison avec la figure 3a ci-après. En référence à la figure précitée, on considère un flux d'images vidéo, chaque image vidéo étant notée Fk ainsi que noté précédemment, k désignant le rang de l'image par exemple. On considère en outre toute séquence successive de N images dans le flux vidéo précité, chaque image dans chaque séquence de N images étant noté Fe, où p désigne en fait le rang de chaque image dans la séquence considérée.
A titre d'exemple non limitatif le rang p de chaque image vérifie alors la relation p = 1+k mod N. Selon la notation consacrée k mod N désigne le reste de la division de k par N. Ainsi le rang p de chaque image dans la séquence de 10 N images vérifie la relation (5) : 1 -< p N. En référence à la figure 3a, le procédé objet de l'invention appliqué à la vidéo surveillance consiste alors en une étape a à subdiviser chaque image courante 15 en un ensemble de N zones à coder superposées, chaque zone étant formée par une pluralité de lignes de pixels. A l'étape a de la figure 3a, l'opération de subdivision est notée : Subdivision 20 F r û> Fni L . L'étape a est suivie d'une etape b consistant a discriminer parmi les zones à coder Fpj la complexité de codage de chaque zone à coder.Cette opération est notée sur la figure 3a 25 Discrimination M(Fnil~_1 {c }'=N . L'étape b est suivie d'une étape c consistant à choisir l'une des zones à coder comme première zone à coder et à appliquer un codage Intratrame avec un pas de 30 quantification minimum pour obtenir une complexité de codage maximum pour la première zone à coder précitée. Sur la figure 3a l'étape c est ainsi subdivisée en deux sous-étapes cl de choix de la première zone, notée Choix première zone {F1}'=N --4FoIsj=0. p ,=1 Par le choix de la première zone précitée, on comprend que, à la première zone à coder de l'image est arbitrairement assigné un rang 0 l'indice j choisi sj=0 représentant ce choix sur la figure 3a. La sous-étape cl est suivie d'une sous-étape c2 consistant à effectuer un codage Intratrame de la première zone choisie, cette opération étant notée à la sous-étape c2 : Codage intra COdINTRA Qjo, Fp0) .
On comprend que, par le codage Intratrame appliqué à la première zone, on applique le pas de quantification minimum noté Qjo ce qui permet d'obtenir une complexité de codage maximum pour la première zone à coder. L'étape c précitée est alors suivie d'une étape d consistant à coder en codage Intertrame la zone à coder adjacente immédiatement supérieure à la première zone avec application d'un pas de quantification diminué pour préserver les détails de cette zone qui, à l'image précédente, était codée en mode Intratame. L'opération à l'étape d de la figure 3a est notée Codage inter sj=sj-1 la notation symbolique de choix de la zone à coder de rang j -1 désignant le choix de la zone à coder adjacente immédiatement supérieure à la première zone par l'affectation symbolique sj=sj-l. Le codage Intertrame est alors noté COdINTER (Qsj-1, Fpsj-1)
Le pas de quantification Qsj_1 est diminué par rapport au pas de quantification Qjo appliqué à la sous-étape c2 de la figure 3a à la première zone. Il permet de préserver les détails de cette zone qui, à l'image précédente, était codée en mode Intratrame.
L'étape d est alors suivie d'une étape e consistant à coder en codage Intertrame chacune des zones à coder restantes en fonction de leur classification d'ordre de complexité décroissante, ainsi que décrit précédemment dans la description en liaison avec les figures 2a et 2b. Bien entendu, cette opération est exécutée en minimisant successivement l'erreur estimée de codage de chaque zone à coder restante et la taille finale de chaque image courante vis-à-vis de la taille cible précitée. A l'étape e de la figure 3a, l'opération de codage Intertrame est notée Codage inter COdINTER (Qjr, Fpjr)jr s], s]-1.
Dans la relation précédente, on comprend que l'opération de codage est appliquée avec un pas de quantification Qjr à chacune des zones à coder restantes d'indice jr, en choisissant bien entendu le pas de quantification correspondant Qjr.
La relation jr ~ sj, sj-1 désigne chacune des zones à coder restantes de rang jr distinctes des zones première zone sj=0 et sj-1, zone adjacente immédiatement supérieure à la première zone précitée. Bien entendu, le pas de quantification Qjr est calculé pour chacune des zones restantes de rang jr. L'étape e est alors suivie d'une étape f consistant à répéter successivement les opérations a à e pour chaque image de rang p+1 suivant l'image courante, en choisissant comme première zone à coder l'une des zones à coder de rang distinct, parmi les p images précédentes, du rang des zones codées comme première zone à coder. Ce mode opératoire permet de conserver l'accès aléatoire aux séquences d'images. A titre d'exemple non limitatif, pour l'exécution de 35 l'étape f comprenant le retour au début, c'est-à-dire à l'exécution de l'étape a, pour l'image suivante, l'opération f peut comprendre, ainsi que représenté sur la figure 3a, une sous étape fo consistant à passer à la zone à coder suivante : j = j+1 suivie d'une étape de test f1 consistant à vérifier le rang j de la zone par rapport à la valeur N. Sur réponse négative au test f1, le processus est poursuivi par retour à l'étape d pour le passage à la zone à coder suivante. Au contraire, sur réponse positive au test f1, toutes les zones à coder de l'image courante de rang p ayant été encodées, on passe à une étape f2 de passage à l'image suivante par la relation p = p+1.
La sous étape f2 est suivie d'une sous étape f3 de vérification que la dernière image de la séquence de N images n'est pas atteinte par le test p>N. Sur réponse négative à la sous étape f3, un retour est effectué à l'étape a pour passage à l'image suivante de rang p+1.
Au contraire, sur réponse positive à la sous étape f3, la dernière image de rang N dans la séquence d'images est atteinte et le processus est terminé pour la séquence de N images successive précitée, le processus continuant bien entendu pour toute séquence d'images suivante du flux d'image vidéo. En ce qui concerne la mise en oeuvre de l'étape cl de choix de la première zone d'image à coder, on indique que plusieurs solutions peuvent être retenues pour chaque image de rang p successive dans une séquence de N images.
Selon une première variante non limitative, ce choix peut être effectué par permutation circulaire d'une zone à coder parmi N. On comprend ainsi que, par un tel processus, au bout de N images la totalité de l'image aura été codée en 35 Intratrame par zones successives, ce qui permet d'effectuer ainsi et de se ramener à un codage progressif permettant la transmission d'une image codée en mode Intratrame toutes les N images. Selon un autre mode de mise en oeuvre non limitatif du processus de choix de la première zone, on indique que ce choix peut être effectué pour chaque image courante successive par tirage pseudo-aléatoire exhaustif d'une zone à coder parmi N-(p-1). Dans cette hypothèse, la zone d'image, qui à l'image précédente était codée en mode Intratrame, est alors codée avec un pas de quantification diminué. On comprend ainsi qu'il est possible également de coder la totalité d'une image en mode Intratrame sur N images, le tirage pseudo-aléatoire exhaustif permettant l'épuisement de toutes les zones à coder en mode Intratrame. Un exemple de mise en oeuvre du procédé objet de l'invention appliqué à la vidéo surveillance, tel que représenté en figure 3a, sera maintenant décrit en liaison avec la figure 3b lors de l'application à des images de vidéo surveillance d'un chantier par exemple. En référence à la figure 3b, l'image est alors découpée en zones arbitraires, typiquement 3 lignes de blocs 16 X 16 pixels, soit 48 pixels de haut sur la longueur de l'image par exemple. Pour chaque zone à coder Fpj, le pas de quantification à appliquer Quo, Qsj_J ou QJr est modifié en fonction de la taille estimée T de l'image. Si cette image dépasse la taille cible T, le pas de quantification est augmenté. Dans le cas contraire, il est diminué. Dans le cas de la mise en oeuvre du procédé objet de l'invention représenté en figure 3a et 3b, on ajuste sur certaines zones leur complexité, en diminuant artificiellement le pas de quantification, afin de favoriser la qualité de celles-ci. La première zone d'image codée en Intratrame est alors toujours supposée présenter une complexité supérieure à celles des zones codées en mode Intertrame et donc systématiquement codée en premier. Cette zone porte le rang 0 sur la figure 3b et correspond donc au choix de la première zone à l'étape cl de la figure 3a. Après le codage de la première zone précitée, on procède alors au codage de la zone située au-dessus de cette zone choisie en premier et codée en mode Intratrame, cette zone portant le rang 1 sur la figure 3b. Ceci permet d'éviter de dégrader la qualité des zones qui viennent d'être rafraichies par le codage Intratrame. Par zones rafraichies, on entend l'ensemble des zones qui ont été codées en mode Intratrame depuis le début du rafraichissement progressif. Enfin, les zones restantes sont alors classées en fonction de leur complexité et sont codées dans l'ordre décroissant de leur complexité conformément au procédé objet de l'invention, tel qu'illustré précédemment et décrit en liaison avec les figures 2a et 2b. Les zones codées sur la figure 3b successivement portent les rangs 2, 3, 4 et 5 à 14 en fonction de leur complexité et sans rapport avec leur localisation dans l'image Fk.
On indique toutefois que, dans le cadre de la norme H.264, ce mode opératoire est rendu possible grâce à plusieurs outils qui garantissent l'indépendance des données entre les zones. En outre, il faut souligner que l'ordre de codage n'est pas forcément corrélé avec l'ordre d'envoi des paquets sur le réseau pour la transmission des séquences d'image vidéo. En effet, les paquets peuvent être codés dans un ordre, c'est-à-dire selon leur complexité et non selon la géométrie de l'image, puis ils peuvent être réorganisés et envoyés dans l'ordre classique correspondant au codage géométrique de l'image précitée. Ce mode opératoire permet d'améliorer la compatibilité avec les décodeurs distants disponibles dans le commerce.
La figure 3b montre le découpage de l'image en différentes zones, le choix de la première zone noté 0 correspondant au codage en mode Intratrame et au-dessus de cette dernière se trouvant la zone dite inter contrainte dont la prédiction temporelle est limitée à elle-même, afin de n'utiliser aucune donnée de la zone située en-dessous de la zone Intratrame. L'ordre de codage des différentes zones d'image à coder restantes, est alors déterminé en fonction de la complexité de ces zones au moyen d'un critère de somme des valeurs absolues des différences, ainsi que décrit précédemment dans la description. Le tableau T ci-après donne de manière schématique l'erreur de prédiction associée à chaque zone. Ordre Complexité Ordre Erreur E E standard E invention standard modifié 0 1000 11 100 5110 5110 1 800 12 80 5010 3310 2 500 14 50 4930 2910 3 4000 1 400 4880 2520 4 18000 0 1800 4480 2140 5 2000 9 200 2680 1790 6 3000 6 300 2480 1470 7 3900 2 390 2180 1170 8 3500 4 350 1790 900 9 3800 3 380 1440 650 10 2700 7 270 1060 450 11 2500 8 250 790 300 12 1500 10 150 540 200 13 700 13 70 390 120 14 3200 5 320 320 50 On suppose de manière complètement arbitraire et non exacte a priori que l'erreur en bits est égale à 10% de la complexité. Dans un cas réel, l'erreur peut fréquemment atteindre 50% de la taille réelle ainsi que l'erreur globale E qui affecte, au moment du codage de la zone courante à coder, la taille estimée T de l'image. Par souci de clarification, on suppose que les zones sont codées strictement de la même manière dans les deux cas, c'est-à-dire que l'amélioration de l'estimation de la taille de l'image n'influence pas la manière de coder chaque zone. Dans un cas réel, le pas de quantification de chaque zone est influencé par la taille estimée de l'image.
A l'observation du tableau T précité, on constate que la mise en oeuvre du procédé, objet de l'invention, permet de réduire de manière très importante l'erreur obtenue par rapport à l'erreur standard, "c invention" par rapport à "F standard", et permet donc d'ajuster, de manière très fine, le pas de quantification pour chaque zone. Il en résulte alors une image qui respecte, de manière très fine, le débit cible fixé. Le gain réellement obtenu par la mise en oeuvre du procédé objet de l'invention, peut être illustré en 25 référence à la figure 3c. La figure 3c précitée est un graphique montrant le nombre de bits par image lors du codage d'une séquence typique de vidéo surveillance avec la mise en oeuvre du procédé objet de l'invention, trait continu, et sans la 30 mise en œuvre de ce dernier, trait pointillé. On constate de la manière la plus nette que le débit est beaucoup mieux respecté grâce à la mise en oeuvre du procédé objet de l'invention, les fluctuations de débit étant sensiblement filtrées, la valeur de consigne Tc=60000 bits de la taille cible de chaque image codée étant sensiblement respectée. Une description plus détaillée d'un dispositif de régulation de débit de codage de séquences d'image vidéo vis-à-vis d'un débit cible, représenté par une taille cible d'image, conforme à l'objet de la présente invention et permettant, bien entendu, la mise en oeuvre du procédé objet de l'invention, sera maintenant donnée en liaison avec la figure 4.
D'une manière générale, on indique que le dispositif objet de l'invention, peut être intégré à un codeur vidéo plus complexe ou mis en oeuvre sur une machine autonome permettant le codage vidéo proprement dit. Dans les deux cas, les images vidéo sont subdivisées en un ensemble de zones à coder et la taille estimée de l'ensemble des zones à coder est fonction de la taille des zones codées, de la taille estimée des zones à coder et d'une erreur estimée de codage des zones à coder, ainsi que mentionné précédemment dans la description.
Le dispositif objet de l'invention, outre les éléments classiques tel qu'un port d'entrée/sortie, noté I/O, de données numériques représentatives d'image vidéo à coder ou de données codées et une unité centrale de traitement, notée CPU, associée à une mémoire de travail RAM comportent avantageusement un module M1 de discrimination pour les zones à coder de l'ensemble des zones à coder de la complexité de codage, un module M2 de classification des zones à coder selon un ordre de complexité décroissante et un module M3 de codage successif de chaque zone à coder, en fonction de la classification d'ordre de complexité précitée en minimisant successivement l'erreur estimée de codage de chaque zone à coder, la taille finale de chaque image vis-à-vis de la taille cible et en optimisant ainsi le débit de séquence d'image vidéo.
De préférence, ainsi que représenté sur la figure 4, le module de discrimination M1, le module de classification M2 et le module de codage successif de chaque zone à coder M3 en fonction de la classification d'ordre de complexité, sont avantageusement formés chacun par un module de programme d'ordinateur implanté dans un module de mémoire de programme unique ou multiple. Enfin, en ce qui concerne la mémoire de programme incorporant le module de discrimination, module M1, parmi les zones à coder de l'ensemble des zones à coder, de la complexité de codage de chaque zone à coder, on indique que ce dernier peut être formé par une mémoire programmable. Une telle mémoire programmable permet alors d'adapter le processus de discrimination de la complexité de codage de chaque zone à coder en fonction du contenu d'une ou plusieurs séquences d'images vidéo par exemple. Il est ainsi possible d'adapter le processus de discrimination de la complexité précitée en fonction du contenu des séquences vidéo et des flux d'image vidéo correspondant et d'exécuter un traitement temporel adaptatif des flux d'images vidéo. L'invention couvre enfin un produit de programme d'ordinateur permettant la mise en ouvre du procédé objet de l'invention, tel que décrit en liaison avec les figures 2a à 3c, un tel produit de programme étant implanté pour exécution par un ordinateur, tel que représenté en figure 4, dans un ou plusieurs modules de programme, tels que les modules M1, M2 et M3 précités.
Claims (11)
1. Procédé de régulation du débit de codage de séquences d'images vidéo vis-à-vis d'un débit cible représenté par une taille cible d'image, dans lequel lesdites images vidéo sont subdivisées en un ensemble de zones à coder, la taille estimée dudit ensemble de zones à coder étant fonction de la taille des zones codées, de la taille estimée des zones à coder et d'une erreur estimée de codage des zones à coder, caractérisé en ce qu'il consiste, au moins, pour chaque image, préalablement à tout codage d'une zone, à : discriminer, parmi les zones à coder dudit ensemble de zones à coder, la complexité de codage de 15 chaque zone à coder; classifier lesdites zones à coder selon un ordre de complexité déterminé ; - coder successivement chaque zone à coder en fonction de la classification d'ordre de complexité, 20 décroissante, en minimisant successivement l'erreur estimée de codage de chaque zone à coder, la taille finale de chaque image vis-à-vis de ladite taille cible et en optimisant le débit de séquence d'images vidéo.
2. Procédé selon la revendication 1, caractérisé 25 en ce que la complexité de codage de chaque zone à coder est définie comme la taille estimée, en octets, occupée par ladite zone à coder après codage, pour une qualité de zone et d'image déterminée.
3. Procédé selon la revendication 2, caractérisé 30 en ce que la complexité de codage de chaque zone à coder est estimée à partir d'au moins le pas de quantification à appliquer au cours du processus de codage, de métriques de zone à coder de l'image courante vis-à-vis d'au moins une zone codée de l'image précédente.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la minimisation de l'erreur estimée consiste au moins à adapter successivement le pas de quantification appliqué au codage de chaque zone à coder.
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que, dans le cadre d'une application à la vidéo surveillance en réseau, incluant une commande à distance d'une caméra de vidéo surveillance, à partir d'une terminal hôte par un opérateur, ledit procédé consiste au moins, pour chaque image courante de rang p appartenant à des séquences successives de N images, 1 <_ p <_ N , à : a) subdiviser chaque image courante en un ensemble de N zones à coder superposées, formées chacune par une pluralité de lignes de pixels b) discriminer parmi lesdites zones à coder la complexité de codage de chaque zone à coder ; c) choisir l'une des zones à coder comme première zone à coder et appliquer un codage Intratrame, avec un pas de quantification minimum, pour obtenir une complexité de codage maximum pour ladite première zone à coder ; d) coder en codage Intertrame la zone à coder adjacente immédiatement supérieure à ladite première zone, avec application d'un pas de quantification diminué, pour préserver la finesse de codage de cette zone ; e) coder en codage Intertrame chacune des zones à coder restantes, en fonction de leur classification d'ordre de complexité, en minimisant successivement l'erreur estimée de codage de chaque zone à coder restante, la taille finale de ladite image courant vis-à-vis de ladite taille cible ; 25 30f) répéter successivement les opérations -a) à -e) pour chaque image de rang p+1 suivant ladite image courante, en choisissant comme première zone à coder l'une des zones à coder de rang distinct du rang des zones codées comme première zone à coder parmi les p images précédentes, ce qui permet de conserver l'accès aléatoire aux séquences d'images.
6. Procédé selon la revendication 5, caractérisé en ce que l'opération de choix comme première zone à coder pour chaque image courante successive est effectué par permutation circulaire d'une zone à coder parmi N.
7. Procédé selon la revendication 5, caractérisé en ce que l'opération de choix comme première zone à coder pour chaque image courante successive est effectuée par tirage pseudo-aléatoire exhaustif d'une zone à coder parmi N-(p-1).
8. Dispositif de régulation du débit de codage de séquences d'images vidéo vis-à-vis d'un débit cible représenté par une taille cible d'image, dans lequel lesdites images vidéo son subdivisées en un ensemble de zones à coder, la taille estimée dudit ensemble de zones à coder étant fonction de la taille des zones codées, de la taille estimée des zones à coder et d'une erreur estimée de codage des zones à coder, caractérisé en ce que, outre un port d'entrée/sortie de données numériques représentatives d'images vidéo à coder respectivement codées, une unité centrale de traitement et une mémoire de travail, ledit dispositif comporte au moins : - des moyens de discrimination, parmi les zones à coder dudit ensemble de zones à coder, de la complexité de codage de chaque zone à coder; - des moyens de classification des dites zones à coder selon un ordre de complexité décroissante ;- des moyens de codage successif de chaque zone à coder en fonction de la classification d'ordre de complexité, en minimisant successivement l'erreur estimée de codage de chaque zone à coder, la taille finale de chaque image vis-à-vis de ladite taille cible et en optimisant le débit de séquence d'image vidéo.
9. Dispositif selon la revendication 8, caractérisé en ce que lesdits moyens de discrimination, lesdits moyens de classification et lesdits moyens de codage successif de chaque zone à coder en fonction de la classification d'ordre de complexité sont formés chacun par un module de programme d'ordinateur implanté dans un module de mémoire de programme unique ou multiple.
10.Dispositif selon la revendication 9, caractérisé en ce que la mémoire de programme incorporant ledit module de discrimination, parmi les zones à coder dudit ensemble de zones à coder, de la complexité de codage de chaque zone à coder est formée par une mémoire programmable, ce qui permet d'adapter le processus de discrimination de la complexité de codage de chaque zone à coder, en fonction du contenu d'une ou plusieurs séquences d'image vidéo.
11. Produit de programme d'ordinateur comportant une suite d'instructions pour exécution par un ordinateur, caractérisé en ce que, lors de cette exécution, ledit programme exécute les étapes du procédé selon l'une des revendications 1 à 7.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0702063A FR2914124B1 (fr) | 2007-03-21 | 2007-03-21 | Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible |
PCT/FR2008/050479 WO2008132378A2 (fr) | 2007-03-21 | 2008-03-20 | Procédé et dispositif de régulation du débit de codage de séquences d'images vidéo vis-à-vis d'un débit cible |
US12/532,384 US8279944B2 (en) | 2007-03-21 | 2008-03-20 | Method and device for regulating the encoding bit rate of video image sequences relative to a target bit rate |
GB0916386A GB2459633A (en) | 2007-03-21 | 2008-03-20 | Method and device for adjusting the encoding flowrate of video image sequences relative to a target flowrate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0702063A FR2914124B1 (fr) | 2007-03-21 | 2007-03-21 | Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2914124A1 true FR2914124A1 (fr) | 2008-09-26 |
FR2914124B1 FR2914124B1 (fr) | 2009-08-28 |
Family
ID=38668655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0702063A Active FR2914124B1 (fr) | 2007-03-21 | 2007-03-21 | Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible |
Country Status (4)
Country | Link |
---|---|
US (1) | US8279944B2 (fr) |
FR (1) | FR2914124B1 (fr) |
GB (1) | GB2459633A (fr) |
WO (1) | WO2008132378A2 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103918258A (zh) * | 2011-11-16 | 2014-07-09 | 瑞典爱立信有限公司 | 减少视频编码中的数据量 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9215467B2 (en) | 2008-11-17 | 2015-12-15 | Checkvideo Llc | Analytics-modulated coding of surveillance video |
CN102164272A (zh) * | 2011-04-07 | 2011-08-24 | 天津市亚安科技电子有限公司 | 在网络视频监控平台中减少云台控制延时的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5057916A (en) * | 1990-11-16 | 1991-10-15 | General Instrument Corporation | Method and apparatus for refreshing motion compensated sequential video images |
WO2000046999A1 (fr) * | 1999-02-03 | 2000-08-10 | Sarnoff Corporation | Selection de quantificateurs en fonction des complexites par region derivees au moyen d'un modele de distorsion de debit |
US6175654B1 (en) * | 1998-03-26 | 2001-01-16 | Intel Corporation | Method and apparatus for encoding data in an interframe video encoder |
US20060056519A1 (en) * | 2001-12-21 | 2006-03-16 | Michael Horowitz | Dynamic intra-coded macroblock refresh interval for video error concealment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271326A (ja) * | 1997-03-21 | 1998-10-09 | Sharp Corp | 画像処理装置 |
KR100739785B1 (ko) * | 2006-01-09 | 2007-07-13 | 삼성전자주식회사 | 관심 영역 기반 영상 부호화, 복호화 방법 및 장치 |
-
2007
- 2007-03-21 FR FR0702063A patent/FR2914124B1/fr active Active
-
2008
- 2008-03-20 GB GB0916386A patent/GB2459633A/en not_active Withdrawn
- 2008-03-20 WO PCT/FR2008/050479 patent/WO2008132378A2/fr active Application Filing
- 2008-03-20 US US12/532,384 patent/US8279944B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5057916A (en) * | 1990-11-16 | 1991-10-15 | General Instrument Corporation | Method and apparatus for refreshing motion compensated sequential video images |
US6175654B1 (en) * | 1998-03-26 | 2001-01-16 | Intel Corporation | Method and apparatus for encoding data in an interframe video encoder |
WO2000046999A1 (fr) * | 1999-02-03 | 2000-08-10 | Sarnoff Corporation | Selection de quantificateurs en fonction des complexites par region derivees au moyen d'un modele de distorsion de debit |
US20060056519A1 (en) * | 2001-12-21 | 2006-03-16 | Michael Horowitz | Dynamic intra-coded macroblock refresh interval for video error concealment |
Non-Patent Citations (3)
Title |
---|
"Text of ISO/IEC 14496-2 Visual Third Edition", GENEVA : ISO, CH, 7 August 2003 (2003-08-07), XP030012728 * |
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION = ORGANISATION INTERNATIONALE DE NORMALISATION: "TEST MODEL 5", MPEG TEST MODEL 5. ISO-IEC/JTCI/SC29/WG11/N0400. CODED REPRESENTATION OF PICTURE AND AUDIO INFORMATION. DOCUMENT AVC-491B, VERSION 2: APRIL 1993, GENEVA, ISO, CH, 1993, pages 1 - 119, XP001150695 * |
SCHREIER R M ET AL: "Motion Adaptive Intra Refresh for Low-Delay Video Coding", CONSUMER ELECTRONICS, 2006. ICCE '06. 2006 DIGEST OF TECHNICAL PAPERS. INTERNATIONAL CONFERENCE ON LAS VEGAS, NV, USA 07-11 JAN. 2006, PISCATAWAY, NJ, USA,IEEE, 7 January 2006 (2006-01-07), pages 453 - 454, XP010896700, ISBN: 0-7803-9459-3 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103918258A (zh) * | 2011-11-16 | 2014-07-09 | 瑞典爱立信有限公司 | 减少视频编码中的数据量 |
EP2781088A4 (fr) * | 2011-11-16 | 2015-06-24 | Ericsson Telefon Ab L M | Diminution de la quantité de données dans un codage vidéo |
Also Published As
Publication number | Publication date |
---|---|
WO2008132378A3 (fr) | 2008-12-24 |
GB2459633A (en) | 2009-11-04 |
WO2008132378A2 (fr) | 2008-11-06 |
US8279944B2 (en) | 2012-10-02 |
GB0916386D0 (en) | 2009-10-28 |
US20100296586A1 (en) | 2010-11-25 |
FR2914124B1 (fr) | 2009-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2764156A1 (fr) | Dispositif de pretraitement pour codage mpeg ii | |
FR3024314A1 (fr) | ||
KR102618101B1 (ko) | 미디어 타이틀의 버퍼-제약 버전을 생성할 때의 인코딩 동작들의 최적화 | |
FR2898757A1 (fr) | Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video | |
US20160182906A1 (en) | Multiple stream video compression in multiple bitrate video encoding | |
FR2880745A1 (fr) | Procede et dispositif de codage video | |
FR2891685A1 (fr) | Procede et dispositif d'estimation de mouvement a references multiples, procede et dispositif de codage, produits programme d'ordinateur et moyens de stockage correspondants. | |
WO2015132209A1 (fr) | Procédé de modification d'un flux vidéo binaire | |
FR2932938A1 (fr) | Procede et dispositif de transmission de donnees | |
FR3098072A1 (fr) | Procédé de traitement d’un ensemble d’images d’une séquence vidéo | |
FR2944938A1 (fr) | Procede et dispositif de correction d'erreurs. | |
FR3073999A1 (fr) | Compression intelligente de contenus video graines | |
EP3139608A1 (fr) | Procédé de compression d'un flux de données vidéo | |
FR2914124A1 (fr) | Procede et dispositif de regulation du debit de codage de sequences d'images video vis-a-vis d'un debit cible | |
EP3637765A1 (fr) | Optimisation d'un sous-échantillonnage intervenant avant le codage d'images en compression | |
EP2410749A1 (fr) | Procédé d'encodage adaptatif d'un flux vidéo numérique, notamment pour diffusion sur ligne xDSL | |
FR3002062A1 (fr) | Systeme et procede de reduction dynamique de l'entropie d'un signal en amont d'un dispositif de compression de donnees. | |
EP2368367B1 (fr) | Système et procédé interactif pour la transmission sur un réseau bas débit d'images clefs sélectionnées dans un flux video | |
FR2946820A1 (fr) | Procede de transmission de donnees et dispositif associe. | |
WO2006075070A1 (fr) | Procede et dispositif de codage video | |
EP3357244A1 (fr) | Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop) | |
EP1241894A1 (fr) | Procédé de codage d'images numériques basé sur la dissimulation d'erreurs | |
EP1714498B1 (fr) | Procede de recherche de la directon de prediction en codage video intra-image | |
FR2978639A1 (fr) | Procedes de compression et de decompression d'images animees | |
EP2160837B1 (fr) | Sélection de fonctions de décodage distribuée au décodeur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |