FR2930107A1 - Video sequence data processing method for e.g. video telemonitoring field, involves generating pattern image joining image patterns that simultaneously satisfy criteria, and storing generated pattern image in reference storage zone - Google Patents

Video sequence data processing method for e.g. video telemonitoring field, involves generating pattern image joining image patterns that simultaneously satisfy criteria, and storing generated pattern image in reference storage zone Download PDF

Info

Publication number
FR2930107A1
FR2930107A1 FR0852499A FR0852499A FR2930107A1 FR 2930107 A1 FR2930107 A1 FR 2930107A1 FR 0852499 A FR0852499 A FR 0852499A FR 0852499 A FR0852499 A FR 0852499A FR 2930107 A1 FR2930107 A1 FR 2930107A1
Authority
FR
France
Prior art keywords
image
images
pattern
patterns
data
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
Application number
FR0852499A
Other languages
French (fr)
Other versions
FR2930107B1 (en
Inventor
Nael Ouedraogo
Eric Nassor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0852499A priority Critical patent/FR2930107B1/en
Publication of FR2930107A1 publication Critical patent/FR2930107A1/en
Application granted granted Critical
Publication of FR2930107B1 publication Critical patent/FR2930107B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

The method involves determining image patterns obtained from a set of image data, and selecting image patterns satisfying a predetermined criterion, among the determined image patterns. The determined image patterns that satisfy another predetermined criterion related to a reference storage zone i.e. buffer, are identified. A pattern image joining image patterns that simultaneously satisfy the criteria, is generated. The generated pattern image is stored in the reference storage zone. Independent claims are also included for the following: (1) a video sequence data processing device comprising a video coding unit (2) an information storage medium comprising instructions for performing a method for processing data of a video sequence (3) a computer program product comprising instructions for performing a method for processing data of a video sequence.

Description

La présente invention concerne un procédé de traitement de données d'une séquence vidéo à coder et un procédé de traitement de données d'un flux comprenant une séquence vidéo codée, ainsi que les dispositifs de traitement associés. Il est connu de transmettre des séquences vidéo sur un réseau de 10 communication entre deux appareils de communication distants tels qu'un appareil client et un appareil serveur dans une architecture client-serveur. Les contextes de transmission de séquences vidéo entre un client et un serveur sont nombreux. On peut citer, à titre d'exemple, la vidéoconférence et la 15 vidéosurveillance. Bien souvent, les réseaux sur lesquels transitent les données vidéo possèdent des ressources limitées, notamment en termes de bande passante. Ces contraintes de débit limité imposent de compresser la séquence vidéo avant de la transmettre. 20 Les méthodes de compression vidéo qui sont aujourd'hui considérées comme les plus efficaces sont basées sur la compensation de mouvement. On utilise ainsi des images, dites de référence, d'une séquence vidéo à compresser pour compresser d'autres images de cette séquence en effectuant une prédiction de mouvement à partir d'une ou de plusieurs images de référence. 25 Dans certaines applications, la taille mémoire des décodeurs capables de recevoir et de décoder une séquence vidéo codée est limitée à un nombre donné d'images de référence. Ces images sont stockées temporairement pendant un intervalle de temps déterminé puis sont supprimées de la mémoire afin de pouvoir en stocker de 30 nouvelles. Ce nombre limité d'images de référence ne permet pas d'utiliser de façon optimale la prédiction de mouvement. De ce fait, plusieurs zones d'image d'une même séquence vidéo sont codées et transmises à plusieurs reprises, ce qui n'est pas efficace. The present invention relates to a method of processing data of a video sequence to be encoded and a method of processing data of a stream comprising an encoded video sequence, as well as the associated processing devices. It is known to transmit video sequences over a communication network between two remote communication apparatuses such as a client apparatus and a server apparatus in a client-server architecture. The contexts of video transmission between a client and a server are numerous. For example, videoconferencing and video surveillance. In many cases, the networks over which video data travels have limited resources, especially in terms of bandwidth. These constraints of limited flow impose to compress the video sequence before transmitting it. The video compression methods that are today considered most effective are based on motion compensation. Thus, so-called reference images of a video sequence to be compressed are used to compress other images of this sequence by performing a motion prediction from one or more reference images. In some applications, the memory size of the decoders capable of receiving and decoding an encoded video sequence is limited to a given number of reference images. These images are stored temporarily during a specified time interval and are deleted from the memory so that 30 new ones can be stored. This limited number of reference images does not allow optimal use of motion prediction. As a result, several image areas of the same video sequence are coded and transmitted repeatedly, which is not effective.

Il s'ensuit, en outre, une augmentation de débit qui peut s'avérer problématique compte tenu des ressources limitées en débit (pertes de données, It follows, moreover, an increase of flow which can be problematic considering the limited resources in flow (data loss,

Par ailleurs, dans un système de transmission vidéo entre un client et un serveur tel qu'un système de vidéoconférence ou de vidéosurveillance, la scène filmée comporte des objets fixes qui peuvent être en partie dissimulés par un ou plusieurs objets en mouvement au sein de la scène. Ainsi, lors d'une vidéoconférence, une personne peut sortir du champ de la caméra puis y revenir ultérieurement. De façon générale, au cours d'une même séquence vidéo, des objets en mouvement peuvent apparaître et disparaître plusieurs fois. Or, comme indiqué précédemment, le nombre d'images de référence stockées temporairement est limité. De ce fait, les pixels constituant les images des objets en mouvement qui sortent du champ de la caméra sont supprimés de la mémoire au bout d'un intervalle de temps déterminé. Moreover, in a video transmission system between a client and a server such as a videoconferencing or video surveillance system, the filmed scene includes fixed objects that may be partially concealed by one or more moving objects within the scene. Thus, during a video conference, a person can leave the field of the camera and then return later. Generally speaking, during the same video sequence, moving objects can appear and disappear several times. However, as indicated previously, the number of reference images stored temporarily is limited. As a result, the pixels constituting the images of the objects moving out of the field of the camera are removed from the memory after a determined time interval.

Ainsi, lorsque ces mêmes objets reviennent ultérieurement dans le champ de la caméra, il n'existe plus dans la mémoire d'image(s) de référence utile(s) pour faciliter le codage d'images de ces objets. Le codage de ces images doit donc avoir lieu en mode intra, ce qui se traduit par une augmentation du débit. Thus, when these same objects return later in the field of the camera, there is no longer in the memory of reference image (s) useful (s) to facilitate the coding of images of these objects. The coding of these images must therefore take place in intra mode, which results in an increase in the rate.

On connaît du document US 6,678,417 une méthode de compression et de transmission d'une séquence vidéo à partir d'un dictionnaire d'images qui est créé dynamiquement à partir des images de la séquence. A chaque image du dictionnaire est associé un index d'image. Ainsi, chaque nouvelle image de la séquence est comparée avec les images du dictionnaire et, si la nouvelle image correspond à une image du dictionnaire, alors seul l'index d'image est transmis. Si une partie de la nouvelle image correspond à une image du dictionnaire, la différence entre les deux images est calculée puis est transmise avec l'index d'image correspondant. Document US 6,678,417 discloses a method of compressing and transmitting a video sequence from an image dictionary that is created dynamically from the images of the sequence. Each image of the dictionary is associated with an image index. Thus, each new image of the sequence is compared with the images of the dictionary and, if the new image corresponds to an image of the dictionary, then only the image index is transmitted. If part of the new image corresponds to an image of the dictionary, the difference between the two images is calculated and then transmitted with the corresponding image index.

Cette méthode permet de réduire le débit nécessaire à la transmission d'une séquence vidéo en utilisant un dictionnaire évolutif partagé entre un serveur et un client. This method makes it possible to reduce the bit rate necessary for the transmission of a video sequence by using a scalable dictionary shared between a server and a client.

Toutefois, cette méthode ne permet pas de remédier au problème de la taille mémoire limitée pour le stockage d'images de référence dans le cadre d'un codage vidéo basé sur une prédiction de mouvement. Les méthodes qui viennent d'être décrites n'apportent donc pas entière 5 satisfaction. Par ailleurs, de façon plus générale, il serait intéressant de pouvoir disposer d'un nouveau procédé, et d'un nouveau dispositif associé, de traitement de données qui gèrent de façon plus efficace la compression des images d'une séquence vidéo par prédiction de mouvement. 10 La présente invention vise à remédier à au moins un des inconvénients précités et/ou à atteindre un des buts précités en proposant un procédé de traitement de données d'une séquence vidéo comprenant une succession d'images, caractérisé en ce que le procédé comporte les étapes suivantes : - codage vidéo d'images de la séquence basé sur une prédiction de 15 mouvement à partir d'images de référence de la séquence, des images de référence étant stockées dans une zone de stockage dite de référence, - détermination de motifs d'image obtenus chacun à partir d'au moins un ensemble de données constitutif d'une zone d'une image, - sélection parmi les motifs d'image préalablement déterminés, de motifs 20 d'image satisfaisant à un premier critère prédéterminé, - identification des motifs d'image préalablement déterminés qui satisfont à un deuxième critère prédéterminé lié à la zone de stockage de référence, - génération d'au moins une image de motifs réunissant des motifs d'image qui satisfont à la fois au premier critère et au deuxième critère 25 prédéterminés, - stockage dans la zone de stockage de référence de ladite au moins une image de motifs générée. Corrélativement, l'invention a pour objet un dispositif de traitement de données d'une séquence vidéo comprenant une succession d'images, caractérisé 30 en ce que le dispositif comporte : - des moyens de codage vidéo d'images de la séquence basé sur une prédiction de mouvement à partir d'images de référence de la séquence, des images de référence étant stockées dans une zone de stockage dite de référence, - des moyens de détermination de motifs d'image obtenus chacun à partir d'au moins un ensemble de données constitutif d'une zone d'une image, - des moyens de sélection, parmi les motifs préalablement déterminés, de motifs d'image satisfaisant à un premier critère prédéterminé, - des moyens d'identification des motifs d'image préalablement déterminés qui satisfont à un deuxième critère prédéterminé lié à la zone de stockage de référence, - des moyens de génération d'au moins une image de motifs réunissant des motifs d'image qui satisfont à la fois au premier critère et au deuxième critère 10 prédéterminés, - des moyens de stockage dans la zone de stockage de référence de la dite au moins une image de motifs générée. En générant une ou plusieurs images qui regroupent certains motifs (ceux répondant aux deux critères prédéterminés) et en les stockant dans la zone 15 de stockage de référence, on gère plus efficacement les ressources de stockage limitées. En effet, auparavant, de tels motifs étaient souvent stockés de façon isolée dans la zone de référence sous la forme de plusieurs images de référence qui occupaient ainsi un espace de stockage relativement important. 20 Grâce à l'invention, ces motifs sont rassemblés au sein d'au moins une image de motifs qui occupe un espace mémoire de taille réduite. Par ailleurs, cette génération d'images de motifs est effectuée de façon dynamique au cours du temps, si bien que des motifs sélectionnés à un instant donné pour faire partie d'une image de motifs, car satisfaisant au(x) critère(s) 25 prédéterminé(s), peuvent ne pas être sélectionnés ultérieurement. L'identification des motifs conformes à un deuxième critère prédéterminé est obtenue en effectuant un suivi de l'évolution des motifs par rapport à leur présence actuelle ou future dans la zone de stockage de référence. En particulier, on détermine si les motifs sont déjà présents ou non dans 30 la zone de référence et, dans le cas où ils sont présents, s'ils sont sur le point d'être supprimés de la zone pour permettre le stockage de nouvelles données d'image de référence. On notera que les étapes de sélection et d'identification peuvent être inversées. However, this method does not solve the problem of the limited memory size for the storage of reference images in the context of video coding based on a motion prediction. The methods just described are therefore not entirely satisfactory. On the other hand, more generally, it would be interesting to have a new method, and a new associated data processing device, which more effectively manages the compression of the images of a video sequence by prediction of movement. The present invention aims to remedy at least one of the aforementioned drawbacks and / or to achieve one of the aforementioned objects by proposing a method for processing data of a video sequence comprising a succession of images, characterized in that the method comprises the following steps: - video coding of images of the sequence based on a motion prediction from reference images of the sequence, reference images being stored in a so-called reference storage area, - determination of patterns each obtained from at least one set of data constituting an area of an image, - selecting from the previously determined image patterns, image patterns satisfying a first predetermined criterion, - identifying the previously determined image patterns that satisfy a second predetermined criterion related to the reference storage area, - generating at least one pattern image uniting image patterns that satisfy both the first and second predetermined criteria; storage in the reference storage area of said at least one generated pattern image. Correlatively, the subject of the invention is a device for processing data of a video sequence comprising a succession of images, characterized in that the device comprises: means for video coding images of the sequence based on a motion prediction from reference images of the sequence, reference images being stored in a so-called reference storage area, - means for determining image patterns each obtained from at least one set of data constituting an area of an image, - means for selecting, from the previously determined patterns, image patterns satisfying a first predetermined criterion, - means for identifying previously determined image patterns that satisfy a second predetermined criterion related to the reference storage area, - means for generating at least one image of patterns comprising image patterns that satisfy both the first criterion and the second criterion 10 predetermined, - storage means in the reference storage area of said at least one pattern image generated. By generating one or more images that group together certain patterns (those meeting the two predetermined criteria) and storing them in the reference storage area, the limited storage resources are more efficiently managed. Indeed, previously, such patterns were often stored in isolation in the reference area in the form of several reference images which thus occupied a relatively large storage space. Thanks to the invention, these patterns are gathered in at least one pattern image which occupies a reduced size memory space. Moreover, this generation of pattern images is performed dynamically over time, so that patterns selected at a given moment to be part of a pattern image, because satisfying the criterion (s) 25 predetermined, may not be selected later. The identification of the patterns conforming to a second predetermined criterion is obtained by tracking the evolution of the patterns with respect to their current or future presence in the reference storage area. In particular, it is determined whether or not the patterns are already present in the reference area and, if present, whether they are about to be deleted from the area to allow storage of new data. reference image. It should be noted that the selection and identification steps can be reversed.

Selon une caractéristique, la détermination de motifs d'image est effectuée à partir d'images codées. Les motifs ayant été identifiés lors du processus de codage, le traitement des données est plus rapide. According to one characteristic, the determination of image patterns is performed from encoded images. Because the patterns have been identified during the coding process, data processing is faster.

Par ailleurs, l'opération de codage d'images de la séquence constitue en soi une présélection de motifs puisque l'on va ainsi déterminer ceux qui ont déjà servi comme données d'image de référence (ensembles de données d'image utilisés comme références pour la prédiction de mouvement lors du codage vidéo d'images). De ce fait, ces motifs déterminés lors du codage auront une plus grande chance de satisfaire le premier critère prédéterminé. À titre de première variante, les motifs peuvent être déterminés de façon indépendante de la prédiction de mouvement, par exemple, à partir d'une analyse de région d'une image. En outre, selon une deuxième variante on peut déterminer certains des 15 motifs d'image de façon indépendante de la prédiction de mouvement et d'autres motifs d'image à partir d'images codées de la séquence. Selon une caractéristique, le premier critère prédéterminé traduit l'importance d'un motif d'image pour la prédiction de mouvement d'image(s) de la séquence. 20 L'importance d'un motif a un impact sur l'efficacité du codage par prédiction de mouvement entre les images. Ainsi, en conservant les motifs importants dans la zone de stockage de référence on améliore la prédiction des images de la séquence. De plus, lorsque les images codées sont à transmettre, on réduit la 25 quantité de données à transmettre. Selon une caractéristique, un motif répond au premier critère prédéterminé s'il est utilisé plusieurs fois pour prédire le mouvement d'images de la séquence. Ce critère définit un cas particulier d'importance d'un motif. 30 D'autres critères particuliers d'importance peuvent être envisagés. Selon une caractéristique, le deuxième critère prédéterminé traduit l'imminence d'un motif d'image à être supprimé de la zone de stockage de référence ou son absence de cette zone. L'identification de motifs d'image conduit ainsi à identifier : - les motifs qui sont déjà présents dans la zone de référence et qui vont en être supprimés ( par exemple du fait de la gestion automatique de stockage de l'espace mémoire) afin de stocker de nouvelles données d'image de référence et - les motifs qui ne sont pas encore présents dans la zone de référence (par exemple, des motifs qui ont été générés indépendamment du codage par prédiction ou des motifs déterminés à partir des premières images de la séquence). On notera que l'on peut affiner l'identification des motifs qui sont sur le point de disparaître de la zone de stockage de référence en déterminant dans le temps les premiers motifs qui sont appelés à disparaître, puis les deuxièmes et ainsi de suite (gestion prévisionnelle). Selon une caractéristique, le nombre N de motifs d'image réunis dans ladite au moins une image de motifs est déterminé en fonction de la capacité mémoire de la zone de stockage de référence qui sera utilisée lors du décodage de la séquence vidéo codée. Furthermore, the image encoding operation of the sequence itself constitutes a preselection of patterns since it will thus determine those which have already served as reference image data (sets of image data used as references for motion prediction when video coding images). As a result, these patterns determined during coding will have a greater chance of satisfying the first predetermined criterion. As a first variant, the patterns can be determined independently of the motion prediction, for example, from a region analysis of an image. In addition, according to a second variant, some of the image patterns can be determined independently of the motion prediction and other image patterns from encoded images of the sequence. According to one characteristic, the first predetermined criterion reflects the importance of an image pattern for predicting image motion (s) of the sequence. The importance of a pattern has an impact on the efficiency of the motion prediction coding between the images. Thus, by keeping the important patterns in the reference storage area, the prediction of the images of the sequence is improved. In addition, when the encoded images are to be transmitted, the amount of data to be transmitted is reduced. According to one characteristic, a pattern responds to the first predetermined criterion if it is used several times to predict the motion of images of the sequence. This criterion defines a particular case of significance of a pattern. Other particular criteria of importance can be envisaged. According to one characteristic, the second predetermined criterion reflects the imminence of an image pattern to be deleted from the reference storage area or its absence from this area. The identification of image patterns thus leads to identifying: - the patterns that are already present in the reference area and which will be deleted (for example because of the automatic storage management of the memory space) in order to storing new reference image data and - the patterns that are not yet present in the reference area (for example, patterns that have been generated independently of the prediction coding or patterns determined from the first images of the sequence). Note that we can refine the identification of the patterns that are about to disappear from the reference storage area by determining in time the first patterns that are expected to disappear, then the second and so on (management forward). According to one characteristic, the number N of image patterns combined in the said at least one pattern image is determined as a function of the memory capacity of the reference storage area that will be used during the decoding of the coded video sequence.

Ainsi, le nombre N est d'autant plus grand que la taille de la zone de stockage de référence est plus élevée. Selon une caractéristique, tous les motifs d'image relatifs à une même image de la séquence sont réunis dans une même image de motifs. Cet agencement permet d'optimiser la gestion du stockage des motifs et 20 également de faciliter les opérations de décodage. Selon une caractéristique, le procédé comporte une étape de positionnement d'un motif d'image dans ladite au moins une image de motifs de façon à minimiser le coût de codage des vecteurs de mouvement. Selon une caractéristique, le procédé comporte une étape de génération 25 d'informations de marquage distinguant ladite au moins une image de motifs générée des images de la séquence. Ce marquage sera utile lors des opérations de décodage afin d'identifier les images qui ne doivent pas être affichées. Selon une caractéristique, le procédé comporte une étape de codage de 30 ladite au moins une image de motifs générée. Le codage de l'image de motifs générée ou des images de motifs générées permet de traiter cette image ou ces images au décodeur comme n'importe quelle image de la séquence vidéo. Il est ainsi possible d'utiliser un décodeur conventionnel. Thus, the number N is even larger than the size of the reference storage area is greater. According to one characteristic, all the image patterns relating to the same image of the sequence are combined in the same pattern image. This arrangement makes it possible to optimize the storage management of the patterns and also to facilitate the decoding operations. According to one characteristic, the method comprises a step of positioning an image pattern in said at least one pattern image so as to minimize the coding cost of the motion vectors. According to one characteristic, the method comprises a step of generating marking information distinguishing said at least one pattern image generated from the images of the sequence. This marking will be useful during decoding operations to identify images that should not be displayed. According to one characteristic, the method comprises a step of encoding said at least one generated pattern image. The encoding of the generated pattern image or generated pattern images makes it possible to process this image or these images at the decoder as any image of the video sequence. It is thus possible to use a conventional decoder.

Selon une caractéristique, le procédé comporte une étape de transmission sur un réseau de communication de ladite au moins une image de motifs générée. Selon une caractéristique, le procédé comporte une étape de 5 transmission de la séquence vidéo codée avec ladite au moins une image de motifs générée. Selon une caractéristique, le procédé comporte une étape de marquage à long terme d'une image de motifs indiquant que cette image doit être maintenue dans la zone de stockage de référence tant que le marquage est présent. 10 On conserve ainsi de façon automatique l'image marquée, ce qui facilite la gestion de la zone de stockage de référence. L'invention a également pour objet un procédé de traitement de données d'images d'un flux comportant une séquence vidéo codée comprenant une succession d'images codées selon un codage basé sur une prédiction de 15 mouvement à partir d'images de référence de la séquence vidéo, caractérisé en ce que le procédé comporte les étapes suivantes : - réception des données d'images du flux, les données d'image comprenant des images codées et au moins une image, codée ou non, constituée de motifs d'images, chaque motif d'image ayant été obtenu à partir d'un ensemble 20 de données constitutif d'une zone d'une image, ladite au moins une image de motifs d'image satisfaisant à la fois à un premier critère prédéterminé et à un deuxième critère prédéterminé lié à la zone de stockage de référence, - décodage d'images codées notamment à partir de ladite au moins une image de motifs en vue de leur affichage, ladite au moins une image de motifs 25 n'étant pas affichée. Corrélativement, l'invention a pour objet un dispositif de traitement de données d'images d'un flux comportant une séquence vidéo codée comprenant une succession d'images codées selon un codage basé sur une prédiction de mouvement à partir d'images de référence de la séquence vidéo, caractérisé en ce 30 que le dispositif comporte : - de moyens de réception des données d'images du flux, les données d'image comprenant des images codées et au moins une image, codée ou non, constituée de motifs d'images, chaque motif d'image ayant été obtenu à partir d'un ensemble de données constitutif d'une zone d'une image, ladite au moins une image de motifs d'image satisfaisant à la fois à un premier critère prédéterminé et à un deuxième critère prédéterminé lié à la zone de stockage de référence, - des moyens de décodage d'images codées notamment à partir de ladite au moins une image de motifs en vue de leur affichage, ladite au moins une image de motifs n'étant pas affichée. Ainsi, au décodeur la ou les images de motifs sont utilisées pour le décodage des images de la séquence vidéo mais ne sont pas affichées. La présence de cette image de motifs ou de ces images de motifs dans la zone de stockage de référence associée du décodeur permet d'utiliser de façon efficace et optimisée l'espace mémoire disponible de taille restreinte. Selon une caractéristique, le flux reçu comporte également des informations de marquage distinguant ladite au moins une image de motifs d'images des images de la séquence. Ces informations sont utiles au décodeur pour identifier les images du 15 flux qui ne doivent pas être affichées. Selon une caractéristique, le procédé comporte une étape de sélection, parmi le flux reçu, des images qui peuvent être affichées, la sélection étant effectuée en fonction des informations de marquage. Ainsi, une étape de sélection est mise en place au décodeur à partir des 20 informations de marquage présentes dans le flux de données reçu. D'autres caractéristiques et avantages apparaîtront au cours de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels : - la figure la illustre de façon schématique le principe du codage vidéo 25 basé sur une prédiction de mouvement ; - la figure 1 b illustre de façon schématique un exemple de dispositifs de communication reliés par un réseau de communication ; - la figure 2 est une vue schématique générale d'un algorithme détaillant les principales opérations effectuées par un appareil de codage et de transmission 30 de données ; - la figure 3 est vue schématique générale d'un algorithme détaillant les principales opérations effectuées par un appareil de réception et de décodage de données codées et transmises par l'appareil de codage précité ; - la figure 4 est un algorithme détaillant les principales étapes effectuées lors de l'opération d'analyse 202 de la figure 2 ; - la figure 5 est une vue schématique générale d'un algorithme détaillant les principales étapes effectuées au cours des opérations 204 et 206 de la figure 2 ; - la figure 6 est une vue schématique générale d'un algorithme détaillant les principales étapes effectuées lors de l'encodage 208 d'une image de motifs de l'algorithme de la figure 2 ; - la figure 7 est une vue schématique générale d'un dispositif dans lequel l'invention est mise en oeuvre. According to one characteristic, the method comprises a step of transmitting on a communication network of said at least one generated pattern image. According to one characteristic, the method comprises a step of transmitting the encoded video sequence with said at least one generated pattern image. According to one characteristic, the method comprises a step of long-term marking of a pattern image indicating that this image must be maintained in the reference storage area as long as the marking is present. The tagged image is thus automatically retained, which facilitates management of the reference storage area. The invention also relates to a method for processing image data of a stream comprising an encoded video sequence comprising a succession of coded images according to a coding based on a motion prediction based on reference images of the video sequence, characterized in that the method comprises the following steps: - reception of the image data of the stream, the image data comprising coded images and at least one image, coded or not, consisting of image patterns , each image pattern having been obtained from a set of data constituting an area of an image, said at least one image pattern image satisfying both a first predetermined criterion and a second predetermined criterion related to the reference storage area; decoding of coded images, in particular from said at least one image of patterns for display, said at least one image of patterns not being as displayed. Correlatively, the subject of the invention is a device for processing image data of a stream comprising an encoded video sequence comprising a succession of coded images according to a coding based on a motion prediction based on reference images of the video sequence, characterized in that the device comprises: means for receiving the image data of the stream, the image data comprising coded images and at least one image, coded or not, consisting of patterns of images, each image pattern having been obtained from a set of data constituting an area of an image, said at least one image pattern image satisfying both a first predetermined criterion and a second predetermined criterion linked to the reference storage area; coded image decoding means in particular from said at least one pattern image for display, said at least one pattern image; being not displayed. Thus, at the decoder, the pattern image (s) are used for the decoding of the images of the video sequence but are not displayed. The presence of this pattern image or these pattern images in the associated reference storage area of the decoder makes it possible to efficiently and optimally use the limited size available memory space. According to one characteristic, the received stream also comprises marking information distinguishing said at least one image of image patterns from the images of the sequence. This information is useful for the decoder to identify the images of the stream that should not be displayed. According to one characteristic, the method comprises a step of selecting, from the received stream, images that can be displayed, the selection being made according to the marking information. Thus, a selection step is set up at the decoder from the tag information present in the received data stream. Other characteristics and advantages will become apparent from the following description, given solely by way of nonlimiting example and with reference to the appended drawings, in which: FIG. 1a schematically illustrates the principle of video coding; based on a motion prediction; - Figure 1b schematically illustrates an example of communication devices connected by a communication network; FIG. 2 is a general schematic view of an algorithm detailing the main operations performed by a data coding and transmission apparatus; FIG. 3 is a general schematic view of an algorithm detailing the main operations performed by an encoded data reception and decoding apparatus transmitted by the aforementioned coding apparatus; FIG. 4 is an algorithm detailing the main steps performed during the analysis operation 202 of FIG. 2; FIG. 5 is a general schematic view of an algorithm detailing the main steps performed during operations 204 and 206 of FIG. 2; FIG. 6 is a general schematic view of an algorithm detailing the main steps performed during encoding 208 of a pattern image of the algorithm of FIG. 2; FIG. 7 is a general schematic view of a device in which the invention is implemented.

L'invention concerne le traitement de données vidéo au cours duquel les données des différentes images constituant la vidéo sont codées de façon prédictive par estimation de mouvement à partir de certaines des images de la vidéo. Le principe d'un tel codage est illustré à la figure la sur laquelle une séquence vidéo référencée 100 comprend un ensemble d'images 101, 102, 103, 104... qui vont être codées par un dispositif de codage appelé aussi codeur. Différents standards de compression tels que les standards H.264 et MPEG4 partie 2 utilisent un codeur mettant en oeuvre un codage basé sur la compensation de mouvement. The invention relates to video data processing in which the data of the different images constituting the video are predictively coded by motion estimation from some of the images of the video. The principle of such encoding is illustrated in Figure la on which a video sequence referenced 100 comprises a set of images 101, 102, 103, 104 ... which will be encoded by a coding device also called encoder. Different compression standards such as the H.264 and MPEG4 part 2 standards use an encoder implementing a motion compensated encoding.

Le codage des images de la séquence 100 est effectué suivant plusieurs modes de codage. En effet, la première image 101 ne peut pas être codée en utilisant une image de référence et elle est donc codée sans compensation de mouvement. On parle alors de codage intra ou I. The coding of the images of the sequence 100 is carried out according to several modes of coding. Indeed, the first image 101 can not be encoded using a reference image and is therefore encoded without motion compensation. This is called intra or I.I coding.

En revanche, l'image 102 est codée suivant un mode de codage appelé inter ou P qui repose sur une compensation de mouvement effectuée à partir d'une image de référence. Le codage P est effectué à partir d'une seule image de référence, cette image étant une image passée. Ainsi, l'image 102 est encodée à partir de l'image passée 101. On the other hand, the image 102 is coded according to an encoding mode called inter or P which is based on a motion compensation performed from a reference image. The coding P is made from a single reference image, this image being a past image. Thus, the image 102 is encoded from the past image 101.

L'image 103 de la succession d'images est, ce que l'on appelle, une image bi-prédite ou B, c'est-à-dire que pour son codage et donc pour pouvoir effectuer la prédiction de mouvement, le codeur doit disposer des images 101 et 102. Une image B est prédite à partir de deux images passées ou de deux images futures ou encore d'une image future et une image passée. The image 103 of the succession of images is, what is called, a bi-predicted image or B, that is to say that for its encoding and thus to be able to perform the motion prediction, the encoder must have images 101 and 102. An image B is predicted from two past images or two future images or from a future image and a past image.

Ainsi, comme exposé précédemment, la première image 101 de la séquence est d'abord encodée en mode intra, puis les images successives suivantes 103, 104 et 102 sont préalablement stockées avant de pouvoir encoder l'image 103. On notera que les images 101 et 102 sont stockées sous forme décodée après avoir été déjà encodées. L'ordre d'encodage des images est donc 101, 102 et enfin 103. Les images de référence 101 et 102 sont stockées pour permettre le codage de l'image 103. On notera que, dans l'exemple qui vient d'être décrit, le codage d'images 10 basé sur une prédiction de mouvement est effectué à partir d'images passées (101) et d'images futures (102). Dans ce cas, il convient de noter que le codeur doit stocker un certain nombre d'images de référence avant de pouvoir procéder à l'encodage de certaines images. 15 A cet égard, il peut être envisagé de coder chaque image à la volée en n'utilisant, comme images de référence, que les images précédentes, à savoir celles qui apparaissent dans la séquence vidéo à des instants précédents. Dans un tel cas de figure, le schéma de codage vidéo sera du type IPBBB 20 Ce schéma convient pour un encodage à la volée si et seulement si les images B sont prédites à partir de références passées. On notera que ce type d'encodage est celui qui est le plus fréquemment utilisé dans les systèmes de vidéoconférence. Il permet en effet de réduire le délai entre l'instant de capture de l'image, du côté du serveur, et l'instant où les données 25 reçues et décodées sont affichées, du côté du client. On notera que les images sont traitées par unité élémentaire de données d'image qui sont, par exemple, des macroblocs (blocs de 16x16 pixels). Comme représenté sur la figure la, l'image 103 est divisée en plusieurs tranches 0, 1, n (connu en terminologie anglosaxonne sous le terme 30 slices ) et chaque tranche présente la structure de la tranche 108. Cette tranche regroupe plusieurs unités élémentaires de données (macroblocs) MBO, MB1 MBn. Thus, as explained above, the first image 101 of the sequence is first encoded in intra mode, then the following successive images 103, 104 and 102 are stored before being able to encode the image 103. It will be noted that the images 101 and 102 are stored in decoded form after being already encoded. The encoding order of the images is therefore 101, 102 and finally 103. The reference images 101 and 102 are stored to enable the coding of the image 103. It will be noted that, in the example which has just been described , image coding based on motion prediction is performed from past (101) and future (102) images. In this case, it should be noted that the encoder must store a number of reference images before encoding certain images. In this respect, it may be envisaged to encode each image on the fly by using, as reference images, only the previous images, namely those which appear in the video sequence at previous times. In such a case, the video coding scheme will be of the IPBBB type. This scheme is suitable for on-the-fly encoding if and only if the B-images are predicted from past references. It should be noted that this type of encoding is the one most frequently used in videoconferencing systems. It makes it possible to reduce the delay between the time of capture of the image, on the server side, and the moment when the received and decoded data are displayed, on the client side. Note that the images are processed by elementary unit of image data which are, for example, macroblocks (blocks of 16x16 pixels). As represented in FIG. 1a, the image 103 is divided into several slices 0, 1, n (known in English terminology as 30 slices) and each slice has the structure of the slice 108. This slice groups together several elementary units of data (macroblocks) MBO, MB1 MBn.

Une zone de stockage 110, appelée zone de référence, constitue un espace mémoire qui est présent à la fois du côté de l'appareil client et de l'appareil serveur. Cette zone de stockage, par exemple, temporaire (appelée buffer en terminologie anglosaxonne) permet de stocker un ensemble d'images de la séquence vidéo 100 qui sont utilisées comme références lors du codage par compensation de mouvement. Les images présentes dans cette zone mémoire et notées 1, 2, 3, 4, dans l'exemple sont décodées. Plus particulièrement, les images de cette zone mémoire sont des images qui ont été encodées puis décodées, aussi bien à l'encodeur qu'au décodeur. Généralement, cette zone mémoire est remplie suivant le principe de remplissage d'une mémoire de type FIFO (acronyme signifiant en terminologie anglosaxonne First ln First Out ) selon lequel les nouvelles images de référence (image 4) sont ajoutées dans la zone mémoire de référence en queue de file. Lorsque la zone mémoire est pleine, l'image située en tête de file (image 1) est supprimée de la zone. Cette gestion du stockage d'images de référence s'avère préjudiciable au codage des images de la séquence. En effet, des images ultérieures de la séquence à coder ne pourront plus faire appel à certaines images de référence qui auront été supprimées de la zone 110. Les images ultérieures devront donc être codées en mode intra, nécessitant ainsi une augmentation de débit. La zone de stockage temporaire de référence 110 est utilisée, dans le codeur, lors de l'estimation ou la prédiction de mouvement de certaines images à partir d'images de référence ou de données d'images de référence présentes dans cette zone mémoire. Dans le décodeur, cette zone mémoire est reconstituée au fur et à mesure de la transmission des données d'image codées et est utilisée pour réaliser une compensation de mouvement à partir des images de référence pour obtenir des images compensées. A storage area 110, referred to as a reference area, constitutes a memory space that is present on both the client device and the server apparatus side. This storage area, for example, a temporary one (called buffer in English terminology) makes it possible to store a set of images of the video sequence 100 which are used as references during the coding by motion compensation. The images present in this memory zone and denoted 1, 2, 3, 4, in the example are decoded. More particularly, the images of this memory zone are images that have been encoded and then decoded, both at the encoder and at the decoder. Generally, this memory zone is filled according to the principle of filling of a memory FIFO type (acronym meaning in Anglo-Saxon terminology First ln First Out) according to which the new reference images (image 4) are added in the reference memory zone in queue. When the memory area is full, the image at the top of the queue (image 1) is removed from the area. This management of the reference image storage is detrimental to the coding of the images of the sequence. Indeed, subsequent images of the sequence to be encoded will no longer be able to use certain reference images that have been deleted from the area 110. The subsequent images will therefore have to be coded in intra mode, thus requiring an increase in throughput. The temporary reference storage area 110 is used in the encoder for estimating or predicting the motion of certain images from reference images or reference image data present in this memory area. In the decoder, this memory area is reconstructed as the coded image data is transmitted and is used to perform motion compensation from the reference images to obtain compensated images.

Comme représenté sur la figure 1 b, l'exemple de réalisation qui va être décrit s'inscrit dans une architecture de type client-serveur. Un dispositif de communication de type serveur 150 reçoit, en provenance d'un appareil d'acquisition de données vidéo 152, une séquence vidéo, procède à son encodage et la transmet sur un réseau de communication 154. As represented in FIG. 1b, the exemplary embodiment that will be described is part of a client-server architecture. A server-type communication device 150 receives a video sequence from a video data acquisition apparatus 152, encodes it and transmits it over a communication network 154.

La séquence vidéo encodée est reçue par un dispositif de communication de type client 156 qui procède alors à son décodage en vue de son affichage. Le dispositif de communication 150, de même que le dispositif 156, possède une structure du type de celle représentée à la figure 7 qui sera décrite ultérieurement et dans laquelle les différents moyens nécessaires à la mise en oeuvre de l'invention, tant du côté serveur que du côté client sont intégrés. Le dispositif 150 stocke par exemple un programme d'ordinateur qui, lors de son exécution, permet de mettre en oeuvre le procédé selon l'invention du côté du codeur. Ce programme d'ordinateur est basé sur un algorithme représenté de façon schématique à la figure 2. De façon analogue, le dispositif 156 comporte également un programme d'ordinateur qui, lorsqu'il est exécuté, permet de mettre en ouvre le procédé selon 15 l'invention du côté du décodeur. Ce programme est basé sur un algorithme représenté schématiquement à la figure 3 et qui sera décrit ultérieurement. On notera que les données une fois codées par le dispositif 150 peuvent, alternativement, être stockées avant leur transmission. 20 De même, un stockage peut de façon alternative être envisagé lors de la réception des données codées transmises sur le réseau 154 avant d'être décodées, ou, après décodage avant d'être affichées. A titre de variante, les donnés une fois traitées selon l'invention, du côté du dispositif serveur, peuvent être stockées sur un support média de stockage tel 25 qu'un disque en vue de leur éventuelle transmission ultérieure. Le stockage des données traitées selon l'invention ne requiert pas une grande taille de mémoire. Comme représenté à la figure 2, au cours d'une première étape 200, l'appareil 152 de la figure 1 b capture des images constitutives d'une séquence 30 vidéo, par exemple, lors d'une application de type surveillance vidéo ou vidéoconférence, et les transmet ensuite au dispositif 150. Plus particulièrement, ces données vidéo sont transmises au codeur du dispositif 150, lors d'une étape 202, afin d'être encodées. The encoded video sequence is received by a client type communication device 156 which then decodes it for display. The communication device 150, as well as the device 156, has a structure of the type of that represented in FIG. 7 which will be described later and in which the various means necessary for the implementation of the invention, both on the server side only on the client side are integrated. The device 150 stores, for example, a computer program which, during its execution, makes it possible to implement the method according to the invention on the encoder side. This computer program is based on an algorithm schematically shown in FIG. 2. Similarly, the device 156 also includes a computer program which, when executed, enables the method to be implemented according to FIG. the invention on the side of the decoder. This program is based on an algorithm shown schematically in Figure 3 and will be described later. It will be noted that the data once coded by the device 150 may, alternatively, be stored before their transmission. Similarly, storage may alternatively be considered upon receipt of encoded data transmitted over the network 154 before being decoded, or, after decoding before being displayed. As a variant, the data once processed according to the invention, on the server device side, can be stored on a storage medium such as a disk for possible subsequent transmission. The storage of processed data according to the invention does not require a large memory size. As shown in FIG. 2, during a first step 200, the apparatus 152 of FIG. 1b captures images constituting a video sequence, for example, during a video surveillance or videoconference type application. , and then transmits them to the device 150. More particularly, these video data are transmitted to the encoder of the device 150, during a step 202, in order to be encoded.

L'encodage des images de la séquence a lieu comme indiqué brièvement lors de la description de la figure la, image par image, à partir d'une ou de plusieurs images de référence, hormis pour la première. L'utilisation d'images I n'est pas limitée à la première image. Au cours de la séquence, certaines images sont encodées en mode de codage intra lorsque la prédiction de mouvement a un coût de codage supérieur à l'encodage en mode intra. On notera qu'il n'y a pas de limitation pour le choix de l'image de référence pour la prédiction de mouvement : l'utilisation d'images passées, d'images futures ou d'une combinaison d'une ou de plusieurs images passées et d'une ou de plusieurs images futures est possible. Lors du codage vidéo des images de la séquence, des données d'images de référence sont stockées temporairement dans une zone de stockage de référence telle que la zone 110 de la figure la. Ces données d'images de référence sont des images de référence qui sont des images réelles de la séquence vidéo et également d'autres types d'images (images de motifs) qui seront décrites ci-après et qui ne sont pas des images de la séquence vidéo. Cette zone de stockage de référence est de capacité relativement limitée et est présente dans l'appareil 150 ainsi que dans l'appareil 156 de la figure 1 b. The encoding of the images of the sequence takes place as briefly indicated in the description of the figure la, image by image, from one or more reference images, except for the first. The use of images I is not limited to the first image. During the sequence, some images are encoded in intra coding mode when the motion prediction has a higher coding cost than the intra encoding. Note that there is no limitation for the choice of the reference image for motion prediction: the use of past images, future images or a combination of one or more past images and one or more future images is possible. When video coding the images of the sequence, reference image data is stored temporarily in a reference storage area such as area 110 of Fig. La. These reference image data are reference images which are real images of the video sequence and also other types of images (pattern images) which will be described below and which are not images of the image. video sequence. This reference storage area is of relatively limited capacity and is present in the apparatus 150 as well as in the apparatus 156 of FIG. 1b.

Les images encodées à l'étape 202 sont ensuite traitées, par exemple, successivement une par une lors des étapes suivantes 204, 206 et 208 plutôt que par série d'images. Ceci permet d'éviter que des motifs d'image ne soient supprimés de la zone de stockage de référence avant d'avoir pu traiter la ou les dernières images 25 d'une série d'images. En effet, dans un tel cas de figure les motifs d'images supprimés de la zone de stockage devront être codés en mode intra ce qui induira un coût de codage plus important. À titre de variante, une image de motifs peut être générée à intervalle de 30 temps régulier, par exemple, après une série d'images donnée de la séquence vidéo. Dans ce cas, une série d'images de la séquence vidéo sont encodées avant d'être analysées (étape 204) et une ou plusieurs images de motifs sont ensuite générées. L'avantage de cette variante réside dans le fait que les motifs sélectionnés (étape 206) sont les motifs qui ont été jugés les plus importants sur une durée de temps plus grande. Au cours de l'étape d'analyse 204 on détermine, à partir d'une image encodée, un ou plusieurs motifs d'images. The images encoded in step 202 are then processed, for example, successively one by one during the following steps 204, 206 and 208 rather than by series of images. This makes it possible to prevent image patterns from being deleted from the reference storage area before having been able to process the last image (s) of a series of images. In fact, in such a case, the image patterns deleted from the storage area will have to be coded in intra mode, which will lead to a higher coding cost. Alternatively, a pattern image may be generated at a regular time interval, for example, after a given series of images of the video sequence. In this case, a series of images of the video sequence are encoded before being analyzed (step 204) and one or more pattern images are then generated. The advantage of this variant lies in the fact that the selected patterns (step 206) are the patterns that have been judged most important over a longer period of time. During the analysis step 204, one or more image patterns are determined from an encoded image.

Chaque motif d'image comprend un ensemble de données (par exemple des pixels) qui constitue ou représente une zone ou une région de l'image. Le motif peut, de façon alternative, être un ensemble de données d'images non présent dans l'image en cours de traitement ou d'analyse mais obtenu à partir d'un ensemble de données correspondant à une zone ou à une région de cette image, voire à plusieurs de ces ensembles. La détermination de ce motif est alors réalisée de façon indépendante de la prédiction de mouvement. Le motif en question sera, par exemple, un ensemble de données d'images proche de plusieurs portions d'une même image ou de plusieurs portions de différentes images, et les données de ce motif peuvent alors correspondre à une moyenne des données issues des différentes portions d'image. Il convient de noter que le ou les motifs d'images déterminés lors de cette étape sont déterminés parce qu'ils présentent la particularité d'être utilisés comme références pour la prédiction de mouvement lors du codage vidéo d'image(s) de la séquence. On notera qu'au cours de cette étape les vecteurs de mouvement de l'image en cours sont extraits afin d'identifier les zones des images de référence qui sont utilisées comme références lors de la compensation de mouvement. Chacune de ces zones est un motif. Pour les images de type B qui ont deux références, deux nouveaux motifs sont extraits par macro-bloc prédit. En résumé, au cours de cette étape d'analyse, on détermine un ou plusieurs motifs d'images par rapport à l'image en cours de traitement : - soit par extraction de ce ou ces motifs de l'image considérée, - soit par association de plusieurs motifs de l'image ou de plusieurs images ayant une zone de recouvrement, le motif résultant de l'association remplaçant alors les motifs associés, - soit par synthèse de ce ou ces motifs à partir d'ensembles ou de portions de données de cette image seule ou bien de cette image et d'autres images précédentes. À titre d'exemple, la génération d'un motif peut être réalisée en effectuant la moyenne des pixels de plusieurs motifs existants. Each image pattern comprises a set of data (e.g., pixels) that constitutes or represents an area or region of the image. The pattern may alternatively be a set of image data not present in the image being processed or analyzed but obtained from a set of data corresponding to a region or region thereof. image, or even several of these sets. The determination of this pattern is then performed independently of the motion prediction. The pattern in question will be, for example, a set of image data close to several portions of the same image or several portions of different images, and the data of this pattern may then be an average of the data from the different images. image portions. It should be noted that the image pattern (s) determined during this step are determined because they have the particularity of being used as references for the motion prediction during the video encoding of the image (s) of the sequence . It will be noted that during this step the motion vectors of the current image are extracted in order to identify the areas of the reference images that are used as references during motion compensation. Each of these areas is a motif. For type B images that have two references, two new patterns are extracted by predicted macroblock. In summary, during this analysis step, one or more image patterns are determined with respect to the image being processed: either by extracting this or these patterns from the image under consideration, or by associating a plurality of image patterns or a plurality of images having an overlapping area, the pattern resulting from the association then replacing the associated patterns, or by synthesizing the one or more patterns from sets or portions of data of this single image or of this image and other previous images. For example, the generation of a pattern can be achieved by averaging the pixels of several existing patterns.

Lors de cette étape, on procède en outre à la sélection des motifs d'image précédemment déterminés et qui satisfont à un critère prédéterminé. Plus particulièrement, on procède à la détermination d'une valeur qui va être associée à chaque motif d'image précédemment déterminé. During this step, the image patterns previously determined and which satisfy a predetermined criterion are also selected. More particularly, a value is determined which will be associated with each previously determined image pattern.

Cette valeur est obtenue pour chaque motif d'image en fonction de ce critère prédéterminé. Ce critère traduit, par exemple, l'importance d'un motif pour la prédiction de mouvement d'image(s) de la séquence vidéo. La valeur ainsi déterminée est qualifiée de valeur d'importance du motif 10 considéré. Par exemple, on associera à un motif une valeur d'importance lorsque ce motif est utilisé plusieurs fois comme ensemble de données d'images de référence pour la prédiction de mouvement d'image(s). Il sera également affecté d'une valeur d'importance lorsque ce motif fait partie d'une image qui disparaît 15 d'une scène de la séquence vidéo à un instant donné et réapparait ultérieurement au cours du déroulement de la séquence. Ainsi, l'étape 204 reçoit, en entrée, une image codée de la séquence vidéo et fournit, en sortie, un ou plusieurs motifs déterminés en rapport avec cette image vidéo, ainsi qu'une valeur (par exemple une valeur d'importance) traduisant 20 le comportement du motif par rapport à un critère prédéterminé. Le ou les motifs d'image sont représentés par une structure contenant les données du ou des motifs et la valeur précitée est généralement un entier. On notera qu'à l'issue de l'étape 204 on dispose du ou des motifs qui viennent d'être déterminés par rapport à l'image en cours d'analyse et de leur 25 valeur associée. On dispose également des motifs déterminés à partir des images précédemment traitées de la séquence vidéo ainsi que de leurs valeurs associées mises à jour. On reviendra ultérieurement plus en détail, lors de la description de la figure 4, sur cette étape 204 d'analyse d'image. 30 L'algorithme comporte une étape suivante 206 de détermination des motifs d'image déterminés en fonction d'un autre critère prédéterminé. Au cours de cette étape, on va plus particulièrement procéder à l'identification des motifs d'image dont le stockage dans la zone de stockage temporaire de référence 110 de l'appareil 150 doit être maintenu. This value is obtained for each image pattern according to this predetermined criterion. This criterion translates, for example, the importance of a pattern for the prediction of image motion (s) of the video sequence. The value thus determined is called the value of importance of the reason 10 considered. For example, a pattern will be associated with an importance value when this pattern is used more than once as a set of reference image data for the prediction of image motion (s). It will also be assigned an importance value when this pattern is part of an image that disappears from a scene of the video sequence at a given moment and reappears later during the course of the sequence. Thus, the step 204 receives, as input, an encoded image of the video sequence and provides, at the output, one or more determined patterns related to this video image, as well as a value (for example an importance value). translating the behavior of the pattern with respect to a predetermined criterion. The one or more image patterns are represented by a structure containing the data of the one or more patterns and the aforementioned value is generally an integer. It will be noted that, at the end of step 204, the one or more patterns that have just been determined with respect to the image being analyzed and their associated value are available. Patterns determined from the previously processed images of the video sequence and their associated updated values are also available. We will come back later in more detail, in the description of Figure 4, this step 204 image analysis. The algorithm comprises a next step 206 of determining the image patterns determined according to another predetermined criterion. During this step, it will more particularly proceed to the identification of the image patterns whose storage in the temporary storage area 110 reference of the device 150 must be maintained.

Pour ce faire, il convient d'abord d'identifier, dans l'espace mémoire temporaire de référence 110, le ou les motifs d'image précédemment déterminés qui sont présents dans cet espace mémoire. Ensuite, parmi le ou les motifs identifiés comme étant présents dans l'espace mémoire 110 (par exemple les motifs ayant les plus grandes valeurs d'importance), il est prévu de sélectionner un ou plusieurs motifs d'image en fonction de cet autre critère prédéterminé. Plus particulièrement, ce critère de sélection traduit l'imminence pour un motif d'image donné à être supprimé de l'espace mémoire de référence 110. To do this, it is first necessary to identify, in the temporary reference memory space 110, the previously determined image pattern (s) that are present in this memory space. Then, among the pattern or patterns identified as being present in the memory space 110 (for example, the patterns having the largest values of importance), it is intended to select one or more image patterns according to this other criterion. predetermined. More particularly, this selection criterion reflects the imminence for a given image pattern to be deleted from the reference memory space 110.

En effet, les images présentes dans cet espace mémoire sont régulièrement supprimées à l'expiration d'un intervalle de temps prédéterminé. On notera qu'au cours de cette étape on identifie également les motifs d'image qui ne sont pas encore présents dans la zone 110 mais qui devraient y être stockés. Indeed, the images present in this memory space are regularly deleted at the expiration of a predetermined time interval. Note that during this step we also identify the image patterns that are not yet present in the area 110 but should be stored there.

Le ou les motifs déterminés à l'étape 206 et que l'on souhaite conserver comme données d'images de référence dans la zone de stockage temporaire 110 ou que l'on souhaite stocker dans cette zone vont être insérés dans une image virtuelle ou artificielle de motifs au cours de l'étape suivante 208. Ainsi, à partir des motifs déterminés à l'étape 206 une ou plusieurs images de motifs sont générées et ensuite stockées dans la zone 110. Chaque image de motifs réunit un ou plusieurs motifs d'images déterminés par rapport à une même image ou par rapport à plusieurs images différentes de la séquence. On notera que la ou les images ainsi générées n'ont aucune réalité dans la séquence vidéo au sens où elles ne représentent aucune image instantanée de cette séquence (image porteuse d'informations représentatives du contenu sémantique de la vidéo). En d'autres termes, les images de motifs peuvent être considérées comme des images de synthèse obtenues à partir d'images ou de parties d'images réelles de la séquence vidéo. The pattern or patterns determined in step 206 and that one wishes to keep as reference image data in the temporary storage area 110 or that one wishes to store in this area will be inserted in a virtual or artificial image. In this way, from the patterns determined in step 206, one or more pattern images are generated and then stored in the area 110. Each pattern image combines one or more patterns of patterns. images determined with respect to the same image or with respect to several different images of the sequence. It should be noted that the image or images thus generated have no reality in the video sequence in the sense that they do not represent any instantaneous image of this sequence (image carrying information representative of the semantic content of the video). In other words, the pattern images can be considered as computer-generated images obtained from images or parts of real images of the video sequence.

On notera que la ou les images de motifs générées à l'étape 208 (plusieurs images de motifs sont générées lorsque la surface occupée par l'ensemble des motifs sélectionnés à l'étape 206 est supérieure à la taille choisie d'une image de motifs) seront utilisées pour maintenir les motifs d'images dans la zone de stockage temporaire de référence 110. Note that the pattern image or images generated in step 208 (several pattern images are generated when the area occupied by all the patterns selected in step 206 is larger than the chosen size of a pattern image ) will be used to maintain the image patterns in the temporary reference storage area 110.

Les étapes 206 et 208 feront l'objet d'une description plus détaillée lors de la description de l'algorithme de la figure 5. L'image ou les images de motifs sont ensuite encodées à l'étape 202 par le codeur du dispositif 150 et transmises sur le réseau à l'appareil client 156 lors de 5 l'étape 210. On notera que l'image de motifs ou les images de motifs ne sont pas nécessairement encodées avant d'être transmises. Toutefois, les images de motifs doivent être encodées si l'on ne souhaite pas modifier un décodeur conventionnel. En effet, dans ce cas, les images de motifs générées lors de l'étape 208 seront 10 considérées comme des images du flux et un décodage classique sera appliqué. Par contre, si un nouveau codec possède un ensemble de commandes permettant de stocker des zones de plusieurs images dans une nouvelle image de la zone de stockage de référence, il n'est pas nécessaire de transmettre l'image de motifs et donc de la coder. 15 On notera que l'image ou les images de motifs transmises sont accompagnées d'informations de marquage qui permettent, lors de la réception de ces données d'images, de différencier la ou les images de motifs (image(s) artificielle(s)) des images réelles de la séquence vidéo. Dans l'exemple de réalisation décrit chaque image de la séquence est 20 encodée, lorsque cela est possible techniquement, par prédiction de mouvement à partir d'une ou de plusieurs images précédemment encodées utilisées comme données d'images de référence. L'image ou les images de motifs doivent être intercalées au sein des images constituant la séquence vidéo compressée et qui est transmise à l'appareil 25 156. En effet, la présence d'images de motifs dans le flux transmis au dispositif 156 permet à ce dernier d'utiliser, au fur et à mesure, la ou les images de motifs reçues afin de reconstituer les données d'images de référence utiles dans sa zone de stockage temporaire de référence identique à celle du dispositif 150 . 30 On notera que les images de motifs et celles de la séquence vidéo peuvent être envoyées séparément ou non. Les images de motifs sont fondamentales pour le décodage puisqu'elles sont des images de référence qui vont être utilisées pour décoder les images suivantes de la séquence vidéo. L'avantage de transmettre les images séparément est de pouvoir appliquer un procédé de correction d'erreurs (par exemple de type FEC signifiant en terminologie anglosaxonne forward error correction ) sur les images de motifs afin de limiter les erreurs de transmission sur ces images clés pour le décodage du flux. Steps 206 and 208 will be described in more detail when describing the algorithm of FIG. 5. The image or pattern images are then encoded in step 202 by the device encoder 150. and transmitted over the network to the client apparatus 156 in step 210. Note that the pattern image or pattern images are not necessarily encoded before being transmitted. However, pattern images must be encoded if you do not want to modify a conventional decoder. Indeed, in this case, the pattern images generated in step 208 will be considered images of the stream and conventional decoding will be applied. On the other hand, if a new codec has a set of commands for storing zones of several images in a new image of the reference storage area, it is not necessary to transmit the pattern image and thus to encode it. . It will be noted that the image or the images of transmitted patterns are accompanied by marking information which makes it possible, when receiving these image data, to differentiate the image or images of patterns (artificial image (s)). )) real images of the video sequence. In the exemplary embodiment described, each image of the sequence is encoded, where technically possible, by motion prediction from one or more previously encoded images used as reference image data. The image or the images of patterns must be interposed within the images constituting the compressed video sequence and which is transmitted to the device 156. Indeed, the presence of images of patterns in the stream transmitted to the device 156 allows the latter to use, as and when, the received pattern image or images in order to reconstitute the useful reference image data in its reference temporary storage area identical to that of the device 150. It will be appreciated that the pattern images and those of the video sequence can be sent separately or not. Pattern images are fundamental for decoding since they are reference images that will be used to decode subsequent frames of the video clip. The advantage of transmitting the images separately is to be able to apply an error correction method (for example of FEC type meaning in English terminology forward error correction) on the images of patterns in order to limit the transmission errors on these key images for the decoding of the stream.

Il convient de remarquer que les images de la séquence qui viennent d'être encodées à l'étape 202 peuvent être transmises immédiatement au client lors de l'étape 210, en parallèle de leur transmission à l'unité de traitement qui met en oeuvre les étapes 204, 206 et 208. Ainsi, l'envoi des données est mieux distribué au cours du temps, ce qui 10 permet d'éviter des problèmes de congestion du réseau. Toutefois, dans certaines applications on peut préférer transmettre les images de motifs avec les images de la séquence. À titre de variante, le codeur du dispositif 150 peut effectuer une estimation de mouvement par rapport à des images futures comme représenté sur 15 la figure la pour l'image 103. À cet égard, il faut que les images de motifs soient intégrées à la bonne position dans la séquence vidéo afin que le dispositif récepteur 156 puisse décoder les images ainsi prédites sans perte de temps. Pour ce faire, le codeur doit sauvegarder un certain nombre d'images 20 avant de procéder à leur encodage comme déjà expliqué en référence à la figure la. Lorsqu'une image fait référence à des images futures, il suffit de forcer l'instant d'encodage d'une image de motifs avant les images de la séquence vidéo. Ainsi, l'envoi d'une image de motifs à la fin de l'étape 208 au codeur 202 est traité 25 de façon spécifique : chaque image de motifs reçue par l'encodeur est encodée immédiatement. Par exemple, pour l'encodage de la séquence décrite dans la figure la, l'ordre d'encodage des images est 101, 102, 103, 104. Une fois l'image 101 encodée, les images 103 et 104 sont stockées dans une mémoire temporaire afin d'être encodées après réception de l'image 102. Lorsqu'une image de motifs 30 est générée lors de l'étape 208 après codage de l'image 102, cette image de motifs est codée avant les images 103 et 104. Comme indiqué précédemment, l'algorithme de la figure 3 est mis en oeuvre dans le dispositif 156 après réception par celui-ci d'un flux de données. Ce flux comprend une séquence vidéo codée transmise par le dispositif 150, ainsi qu'une ou plusieurs images de motifs d'image, codées ou non, transmises séparément du flux ou non et les informations de marquage associées. Les informations de marquage sont transmises soit en ajoutant un paramètre dans l'en-tête des tranches ( slices en terminologie anglosaxonne) de l'image ou alors en utilisant un message séparé qui indique le numéro de l'image à ne pas afficher. Ce message est défini en utilisant le protocole RTP (connu en terminologie anglosaxonne sous le terme Real Time Protocol ) : un paquet RTP dont la charge utile ( payload en terminologie anglosaxonne) contient le numéro de l'image marquée est créé et envoyé au client. Le client utilise alors ce paquet RTP pour déterminer les images marquées. Cette dernière méthode est utilisée dans la réalisation préférée de l'invention. Si les images de motifs sont envoyées séparément de celle de la séquence vidéo, le marquage est alors implicite. Ainsi, les données d'images qui sont encodées sont, par exemple, transmises sous la forme de paquets de données et sont reçues à l'étape 300 de la figure 3 par le dispositif 156. Lors de l'étape suivante 302, les images encodées reçues sont décodées et, lorsque les images de motifs sont également encodées, on procède de même à leur décodage. On notera que les images de la séquence vidéo et les images de motifs sont ainsi traitées de la même façon lors de leur réception et de leur décodage. Au cours de l'étape suivante 304 on procède à un traitement de données en utilisant les informations de marquage reçues. Ces informations de marquage permettent d'effectuer une sélection, parmi le flux de données reçu, entre les images réelles de la séquence et les images de motifs marquées qui, elles, n'ont pas à être transmises à l'affichage lors de l'étape 306. Ainsi, si l'image décodée est une image de référence elle est stockée dans la zone de stockage de référence du dispositif client 156 qui est identique à la zone 110 de la figure la. It should be noted that the images of the sequence which have just been encoded in step 202 can be transmitted immediately to the client during step 210, in parallel with their transmission to the processing unit which implements the Steps 204, 206 and 208. Thus, the sending of the data is better distributed over time, which makes it possible to avoid problems of network congestion. However, in some applications it may be preferable to transmit the pattern images with the images of the sequence. Alternatively, the encoder of the device 150 may perform motion estimation with respect to future images as shown in Fig. 1a for the image 103. In this regard, the pattern images need to be integrated with the image. good position in the video sequence so that the receiver device 156 can decode the thus predicted images without loss of time. To do this, the encoder must save a certain number of images 20 before proceeding to their encoding as already explained with reference to FIG. When an image refers to future images, it is sufficient to force the encoding moment of a pattern image before the images of the video sequence. Thus, sending a pattern image at the end of step 208 to encoder 202 is specifically processed: each pattern image received by the encoder is encoded immediately. For example, for the encoding of the sequence described in FIG. 1a, the encoding order of the images is 101, 102, 103, 104. Once the image 101 has been encoded, the images 103 and 104 are stored in an image. temporary memory to be encoded after receiving image 102. When a pattern image 30 is generated in step 208 after encoding image 102, this pattern image is encoded before images 103 and 104 As indicated above, the algorithm of FIG. 3 is implemented in the device 156 after receiving a data stream therefrom. This stream comprises an encoded video sequence transmitted by the device 150, as well as one or more images of image patterns, coded or not, transmitted separately from the stream or not and the associated marking information. The tagging information is transmitted either by adding a parameter in the header slices (slices in English terminology) of the image or by using a separate message that indicates the number of the image not to display. This message is defined using the RTP protocol (known in English terminology as the Real Time Protocol): an RTP packet whose payload in English terminology contains the number of the marked image is created and sent to the client. The client then uses this RTP packet to determine the marked images. This latter method is used in the preferred embodiment of the invention. If the pattern images are sent separately from that of the video sequence, then the marking is implicit. Thus, the image data that is encoded is, for example, transmitted in the form of data packets and is received in step 300 of FIG. 3 by the device 156. In the next step 302, the images Encoded encodings are decoded and, when the pattern images are also encoded, the same is done with their decoding. It will be noted that the images of the video sequence and the images of patterns are thus treated in the same way during their reception and their decoding. In the next step 304 data processing is performed using the received tagging information. This marking information makes it possible to select from the received data stream between the real images of the sequence and the marked pattern images which, they do not have to be transmitted to the display during the display. Step 306. Thus, if the decoded picture is a reference picture it is stored in the reference storage area of the client device 156 which is identical to the area 110 of Fig. la.

Dans la mesure où la mémoire de stockage du dispositif client a une taille limitée, le principe de gestion de l'occupation d'une mémoire de type FIFO est appliqué lorsque la zone de stockage de référence est occupée au maximum de ses capacités. Since the storage memory of the client device has a limited size, the management principle of the occupation of a FIFO type memory is applied when the reference storage area is occupied to the maximum of its capacities.

Au cours de l'étape suivante 306 les images réelles de la séquence vidéo sont ainsi affichées. L'algorithme de la figure 4 correspond, par exemple, à un sous programme qui détaille les opérations effectuées au cours de l'étape 204 de la 5 figure 2. Comme expliqué précédemment en référence à cette figure, chaque image encodée de la séquence vidéo est traitée successivement. Pour chaque nouvelle image analysée à l'étape 204 on détermine un ou plusieurs nouveaux motifs d'image à partir de l'image courante (en cours de 10 traitement) et éventuellement à partir d'images apparues précédemment dans la séquence et affectées de leurs valeurs d'importance. Ainsi, à chaque itération on incrémente l'ensemble des motifs d'image obtenus pour les images précédentes ainsi que les valeurs d'importance qui leur sont associées. 15 On notera d'ailleurs que les valeurs d'importance associées aux motifs d'image précédemment obtenus sont mises à jour en tenant compte des nouveaux motifs d'image déterminés pour l'image courante. On notera que, lors de l'exécution de l'algorithme de la figure 4, il est prévu de déterminer l'état de la zone de stockage de référence 110 de la figure 1 a 20 et de déterminer quelles images de la séquence sont utilisées comme références. La zone de stockage de référence est remplie lors de l'encodage des images à l'étape 202 de la figure 2. Pour pouvoir utiliser cette zone lors de l'étape 204 de la figure 2 (donc lors de l'exécution de l'algorithme de la figure 4), deux méthodes sont envisagées. 25 Selon une première méthode, il est prévu, lors de l'étape 204, de décoder les images encodées à l'étape 202 et envoyées par le codeur à l'unité d'analyse et, ainsi, de reconstituer la zone de stockage de référence 110 au sein de l'unité d'analyse. Cette étape de décodage et de mise à jour de la zone de référence est 30 effectuée pour toutes les images encodées, y compris pour les images de motifs préalablement générées et constitue la première étape 400 de l'algorithme de la figure 4. Ainsi, la première image codée de la séquence est décodée et, si elle constitue une image de référence, alors elle est stockée dans la zone 110. In the next step 306 the actual images of the video sequence are thus displayed. The algorithm of FIG. 4 corresponds, for example, to a sub-program which details the operations carried out during step 204 of FIG. 2. As explained previously with reference to this figure, each encoded image of the video sequence is treated successively. For each new image analyzed in step 204, one or more new image patterns are determined from the current image (being processed) and possibly from images previously appearing in the sequence and assigned to them. importance values. Thus, at each iteration, the set of image patterns obtained for the previous images and the importance values associated with them are incremented. It will furthermore be noted that the importance values associated with the previously obtained image patterns are updated taking into account the new image patterns determined for the current image. It should be noted that, when executing the algorithm of FIG. 4, it is intended to determine the state of the reference storage area 110 of FIG. 1 to 20 and to determine which images of the sequence are used. as references. The reference storage area is filled during the encoding of the images in step 202 of FIG. 2. In order to be able to use this area during step 204 of FIG. 2 (thus during the execution of the algorithm of Figure 4), two methods are considered. According to a first method, it is envisaged, during step 204, to decode the images encoded in step 202 and sent by the coder to the analysis unit and, thus, to reconstitute the storage area of reference 110 within the analysis unit. This step of decoding and updating the reference area is carried out for all the encoded images, including the previously generated pattern images, and constitutes the first step 400 of the algorithm of FIG. first coded picture of the sequence is decoded and, if it constitutes a reference picture, then it is stored in the area 110.

On notera que l'on peut procéder image par image ou bien paquet d'images par paquet d'images, comme déjà décrit plus haut. Selon une seconde méthode, le codeur du dispositif 150 envoie à l'unité d'analyse de l'image effectuant l'opération de l'étape 204, non seulement chaque image encodée à l'étape 202, mais également l'état de la zone de stockage temporaire de référence 110 lors de l'encodage de cette image. On notera que pour le standard H.264 la zone mémoire à long terme et la zone mémoire à court terme sont considérées comme étant toutes les deux dans la zone de stockage de référence. Il existe toutefois d'autres codecs, notamment une extension du standard H.264 (SVC pour Scalable video coding ) qui peuvent utiliser plusieurs zones de stockage de référence. Dans ce cas, l'invention pourra s'utiliser en application à chaque zone de référence. La seconde méthode présente l'avantage de ne pas nécessiter de calculs supplémentaires, tandis que la première méthode permet de ne pas modifier le fonctionnement du codeur, ce qui est particulièrement avantageux pour un codeur de type matériel ( hardware ), c'est-à-dire non logiciel. Si une seconde méthode est retenue, alors l'algorithme de la figure n'exécute pas l'étape 400 mais passe directement à l'étape suivante 402. Au cours de cette étape on détermine de nouveaux motifs : - par extraction d'une zone d'une image, - par association de plusieurs motifs ayant entre eux un recouvrement, ou - par création d'un nouveau motif. On notera que les motifs considérés dans l'invention peuvent 25 correspondre à des zones ou des portions d'images utilisées comme références lors du codage par prédiction de mouvement d'autres images. Toutefois, les motifs ne sont pas nécessairement des zones utilisées comme références. En effet, il est possible d'extraire une zone d'une image par exemple par segmentation et de la considérer comme motif, indépendamment du 30 codage par prédiction de mouvement. Comme déjà expliqué ci-dessus, un motif peut être un ensemble de données constitutives d'une zone d'une image ou bien être obtenu à partir d'un tel ensemble ou à partir de plusieurs ensembles de données constitutives de plusieurs zones de la même image ou de plusieurs zones d'images différentes. It will be noted that it is possible to proceed image by image or else image packet by image packet, as already described above. According to a second method, the coder of the device 150 sends to the analysis unit of the image performing the operation of step 204, not only each image encoded in step 202, but also the state of the image. reference temporary storage area 110 when encoding this image. Note that for the H.264 standard the long-term memory area and the short-term memory area are both considered to be in the reference storage area. However, there are other codecs, including an extension of the standard H.264 (SVC for Scalable video coding) that can use several reference storage areas. In this case, the invention can be used in application to each reference zone. The second method has the advantage of not requiring additional calculations, while the first method makes it possible not to modify the operation of the encoder, which is particularly advantageous for a hardware type encoder, ie -This is not software. If a second method is retained, then the algorithm of the figure does not execute step 400 but proceeds directly to the next step 402. During this step, new patterns are determined: by extraction of an area of an image, - by association of several motifs having overlapping between them, or - by creation of a new motif. Note that the patterns considered in the invention may correspond to areas or portions of images used as references when motion prediction encoding other images. However, the patterns are not necessarily areas used as references. Indeed, it is possible to extract an area of an image for example by segmentation and to consider it as a pattern, independently of the motion prediction coding. As already explained above, a pattern may be a set of data constituting an area of an image or be obtained from such a set or from several sets of data constituting several areas of the same image or several different image areas.

Lorsque plusieurs ensembles de données d'image, constitutifs de plusieurs zones (plusieurs ensembles de pixels) de l'image, sont identifiés, ces motifs sont, par exemple, associés pour former un seul motif de taille plus importante, plutôt que de conserver plusieurs motifs qui présentent un recouvrement entre eux. Par exemple, on peut sélectionner, par rapport à un motif donné qui est identifié dans une image, de nouveaux pixels adjacents à ce motif afin d'obtenir un motif d'une taille multiple de 16x16 pixels. Ainsi, dans l'exemple considéré les motifs pris en compte ont une forme par exemple rectangulaire et une taille multiple de celle d'un macro-bloc (16x16). À titre de variante, plusieurs motifs peuvent être remplacés par un seul motif dont la valeur des pixels est la moyenne des pixels de chacun des motifs de la pluralité de motifs. Le motif obtenu par ce regroupement de la pluralité de motifs sera alors 15 composé de pixels synthétisés. Un motif d'image au sens de l'invention est par exemple représenté par une structure de données composée des éléments suivants : - un tableau de pixels créé dynamiquement contenant les valeurs de pixels du motif, 20 - un entier indiquant la largeur du motif en nombre de macro-blocs (unité permettant de définir l'une des dimensions du motif), - un entier indiquant la longueur du motif en nombre de macro-blocs (unité permettant de définir cette autre dimension du motif), - une date indiquant le moment où le motif a été utilisé pour la prédiction 25 de mouvement d'image(s) pour la dernière fois. On notera que, lors de l'analyse d'une image, on peut se contenter d'extraire de l'image des zones existantes en utilisant un outil d'analyse des régions de l'image ou un outil de segmentation. Chaque région extraite par l'outil est un motif d'image au sens de 30 l'invention. On notera, en outre, que les motifs peuvent adopter des formes complexes et des tailles diverses. When several sets of image data, constituting several areas (several sets of pixels) of the image, are identified, these patterns are, for example, associated to form a single larger size pattern, rather than keeping multiple patterns that overlap with each other. For example, new pixels adjacent to that pattern can be selected for a given pattern that is identified in an image to obtain a pattern of a size multiple of 16x16 pixels. Thus, in the example considered, the patterns taken into account have a shape, for example rectangular, and a size that is multiple to that of a macro-block (16 × 16). Alternatively, several patterns may be replaced by a single pattern whose pixel value is the average of the pixels of each of the plurality of patterns. The pattern obtained by this grouping of the plurality of patterns will then consist of synthesized pixels. An image pattern in the sense of the invention is for example represented by a data structure composed of the following elements: a dynamically created array of pixels containing the pixel values of the pattern, an integer indicating the width of the pattern in number of macroblocks (unit allowing to define one of the dimensions of the pattern), - an integer indicating the length of the pattern in number of macroblocks (unit making it possible to define this other dimension of the pattern), - a date indicating the moment when the pattern was used for the prediction of image motion (s) for the last time. It should be noted that, when analyzing an image, it is sufficient to extract existing areas from the image using an image region analysis tool or a segmentation tool. Each region extracted by the tool is an image pattern in the sense of the invention. It should be noted, moreover, that the patterns can adopt complex shapes and various sizes.

Les motifs qui sont déterminés à l'étape 402 sont systématiquement stockés dans un espace de stockage dédié de l'appareil 150, indépendant de la zone de stockage de référence, tant que l'espace mémoire n'est pas plein. L'algorithme de la figure 4 comporte une étape 404 qui prévoit de sélectionner, pour l'image courante, un motif d'image parmi ceux précédemment déterminés. Ce motif sélectionné sera ensuite traité lors des étapes 406, 408 et 410 et on effectuera ainsi une boucle de traitement afin de prendre en compte tous les motifs précédemment déterminés depuis le début de la séquence vidéo. The patterns that are determined in step 402 are systematically stored in a dedicated storage space of the apparatus 150, independent of the reference storage area, as long as the memory space is not full. The algorithm of FIG. 4 comprises a step 404 which makes it possible to select, for the current image, an image pattern from those previously determined. This selected pattern will then be processed during steps 406, 408 and 410 and a processing loop will thus be performed to take into account all the patterns previously determined from the beginning of the video sequence.

Au cours de l'étape 406 un test est pratiqué sur le motif sélectionné afin de déterminer si ce motif est susceptible d'être utilisé comme données d'image de référence pour la prédiction de mouvement de l'image en cours d'analyse. Il peut être répondu de façon positive à ce test dans deux cas de figures. Dans le premier cas de figure, on retrouve toutes les données d'image (pixels) du motif sélectionné dans l'image en cours de traitement. Dans ce cas, la valeur d'importance associée au motif est incrémentée d'une unité lors de l'étape suivante 408 et la date de ce motif est mise à jour (date indiquant le moment où le motif a été dernièrement utilisé). On notera que la valeur d'importance d'un nouveau motif généré à partir 20 d'un ensemble de motifs sera égale à la somme des valeurs d'importance de chacun de ces motifs. L'autre cas de figure est celui où les pixels du motif considéré ne correspondent à aucune zone de l'image de référence, c'est-à-dire que ce motif ne se retrouve pas présent dans l'image à l'identique. Dans ce cas, si le motif est 25 proche d'une zone de référence utilisée pour prédire un macro-bloc de l'image courante, alors ce motif est toutefois considéré comme étant le meilleur candidat pour la prédiction de mouvement d'une zone de l'image courante. Pour ce faire, on extrait les vecteurs de mouvement de l'image courante. Ces vecteurs de mouvement permettent d'identifier la zone utilisée comme 30 référence dans l'image de référence. Ensuite, la zone de référence est comparée au motif sélectionné. Cette zone de référence et ce motif sont considérés comme proches lorsque la somme des différences absolues de leurs pixels est inférieure à un seuil déterminé par l'utilisateur. In step 406 a test is performed on the selected pattern to determine if this pattern is likely to be used as reference image data for the motion prediction of the image being analyzed. This test can be answered positively in two cases. In the first case, we find all the image data (pixels) of the selected pattern in the image being processed. In this case, the importance value associated with the pattern is incremented by one unit in the next step 408 and the date of this pattern is updated (date indicating the moment when the pattern was last used). Note that the importance value of a new pattern generated from a set of patterns will be equal to the sum of the importance values of each of these patterns. The other case is where the pixels of the considered pattern do not correspond to any area of the reference image, that is to say that this pattern is not found in the identical image. In this case, if the pattern is close to a reference area used to predict a macroblock of the current picture, then this pattern is considered to be the best candidate for the motion prediction of a picture area. the current image. To do this, the motion vectors are extracted from the current image. These motion vectors make it possible to identify the area used as a reference in the reference image. Then, the reference area is compared to the selected pattern. This reference area and this pattern are considered close when the sum of the absolute differences of their pixels is less than a threshold determined by the user.

Dans ce second cas, lorsque les pixels du motif sélectionné et ceux de la zone de référence sont proches alors on incrémente également la valeur d'importance associée au motif en cours de traitement à l'étape 408 et la date du motif est mise à jour. In this second case, when the pixels of the selected pattern and those of the reference area are close, then the importance value associated with the pattern being processed in step 408 is also incremented and the date of the pattern is updated. .

L'étape suivante 410 est un test effectué sur l'ensemble de motifs précédemment déterminés. Ce test prévoit de passer à l'étape 404 déjà décrite afin de sélectionner les motifs suivants dans cet ensemble. On notera que les motifs sont, par exemple, classés suivant l'ordre dans lequel ils ont été déterminés lors du traitement d'images successives de la 10 séquence. De retour à l'étape 406, lorsque l'on constate que le motif en cours de traitement n'est pas utilisé comme référence pour la prédiction de mouvement de l'image en cours, c'est-à-dire que ce motif n'a rien de commun avec cette image, alors on passe directement à l'étape 410 qui vient d'être décrite. 15 Il convient de noter que des motifs peuvent être éliminés de l'ensemble des motifs déterminés au cours de l'étape 204 de la figure 2 et qui ont été stockés dans un espace dédié de l'appareil 150. Ainsi, par exemple lorsque le nombre maximum de motifs est atteint par rapport à la taille de l'espace mémoire correspondant, on peut décider de supprimer 20 un motif afin d'ajouter un nouveau motif. À cet égard, on peut choisir d'éliminer le ou les motifs considérés comme les moins importants, c'est-à-dire par exemple ceux qui n'ont pas été utilisés pour la prédiction de mouvement durant une période déterminée (longue période). 25 Ainsi, on supprime le ou les motifs les plus anciens ayant des valeurs d'importance les plus faibles par rapport aux autres motifs déterminés. On s'aperçoit que le traitement de chaque image de la séquence vidéo contribue à identifier les motifs de la séquence vidéo qui sont les plus importants parmi tous les motifs déterminés. 30 En effet, lors du traitement prévu dans l'algorithme de la figure 4, si un motif est présent dans plusieurs images de la séquence vidéo, sa valeur d'importance sera incrémentée à plusieurs reprises lors de l'étape 408. Par ailleurs, si un motif correspond à un objet de la scène de la séquence vidéo qui sort de cette scène et y retourne au bout d'un certain temps, alors ce motif se verra attribué une importance croissante à chacune de ses apparitions. Ceci justifiera son maintien dans la zone de stockage de référence 110 de la figure la. The next step 410 is a test performed on the set of previously determined patterns. This test plans to go to step 404 already described in order to select the following patterns in this set. Note that the patterns are, for example, classified according to the order in which they were determined during the processing of successive images of the sequence. Back to step 406, when it is found that the pattern being processed is not used as a reference for the motion prediction of the current image, i.e. has nothing in common with this image, so we go directly to step 410 which has just been described. It will be appreciated that patterns may be eliminated from all the patterns determined in step 204 of FIG. 2 and stored in a dedicated space of the apparatus 150. Thus, for example when the As the maximum number of patterns is reached relative to the size of the corresponding memory space, it may be decided to delete a pattern in order to add a new pattern. In this regard, one may choose to eliminate the least important reason (s), ie, those which have not been used for the prediction of movement during a specified period (long period). . Thus, the oldest pattern (s) having the lowest importance values with respect to the other given patterns are deleted. It can be seen that the processing of each image of the video sequence contributes to identifying the motifs of the video sequence which are the most important among all the determined patterns. Indeed, during the processing provided in the algorithm of FIG. 4, if a pattern is present in several images of the video sequence, its importance value will be incremented several times during step 408. Moreover, if a pattern corresponds to an object of the scene of the video sequence that leaves this scene and returns there after a certain time, then this motif will be given an increasing importance to each of its appearances. This will justify its maintenance in the reference storage area 110 of FIG.

On notera que l'invention permet de qualifier l'importance d'un motif par rapport à un ensemble de motifs. On obtient ainsi à l'issue de l'exécution de l'algorithme de la figure 4 un ensemble de motifs d'image et de leurs valeurs d'importance associées qui ont été mis à jour lors du traitement de l'image courante. It should be noted that the invention makes it possible to qualify the importance of a pattern with respect to a set of patterns. At the end of the execution of the algorithm of FIG. 4, a set of image patterns and their associated importance values which have been updated during the processing of the current image are thus obtained.

L'algorithme de la figure 5 qui va maintenant être décrit détaille les opérations successives des étapes 206 et 208 de la figure 2 appliqués au(x) motif(s) d'image déterminé(s) à la figure 4. Le contexte de la description de la figure 5 est celui du traitement d'une image courante de la séquence vidéo et en considérant qu'une image de motifs d'image a déjà été générée en exécution de l'algorithme de la figure 2 pour les images précédentes. Sur la figure 5, une zone de stockage de référence 500 est représentée dans un état correspondant à celui du traitement de l'image courante. On constate que cette zone 500 comprend une image de motifs 500a réunissant plusieurs motifs d'image et deux images de référence 500b et 500c. Ces trois images constituent des données d'image de référence qui sont utilisées comme références pour la prédiction d'images de la séquence vidéo. Sur cette figure est également représenté l'ensemble 520 des motifs d'image précédemment déterminés et stockés dans un espace mémoire réservé. The algorithm of FIG. 5, which will now be described, details the successive operations of steps 206 and 208 of FIG. 2 applied to the image pattern (s) determined in FIG. 4. The context of FIG. DESCRIPTION OF FIG. 5 is that of the processing of a current image of the video sequence and considering that an image of image patterns has already been generated by executing the algorithm of FIG. 2 for the preceding images. In FIG. 5, a reference storage area 500 is represented in a state corresponding to that of the processing of the current image. It can be seen that this zone 500 comprises a pattern image 500a combining several image patterns and two reference images 500b and 500c. These three images constitute reference image data which are used as references for the prediction of images of the video sequence. In this figure is also represented the set 520 image patterns previously determined and stored in a reserved memory space.

La zone de stockage de référence 500 est utilisée par le codeur, de même que par le décodeur (qui l'aura reconstituée de son côté), alors que l'ensemble des motifs 520 n'est disponible qu'au codeur. Dans l'exemple considéré, la zone de référence 500 a une taille maximum de trois images. The reference storage area 500 is used by the encoder, as well as by the decoder (which will have reconstituted on its side), while the set of patterns 520 is only available to the encoder. In the example considered, the reference zone 500 has a maximum size of three images.

L'image de motifs 500a a été précédemment créée, l'image de référence 500c a été précédemment décodée et l'image de référence 500b est la plus ancienne image de référence stockée. Cette dernière image est appelée à disparaître dans la mesure où la zone de stockage à court terme 500 est gérée comme une mémoire de type FIFO. The pattern image 500a has been previously created, the reference image 500c has been previously decoded and the reference image 500b is the oldest stored reference image. This last image is destined to disappear insofar as the short-term storage area 500 is managed as a FIFO-type memory.

On notera que, pour le standard de compression H.264, l'image de motifs 500a sera remplacée par une nouvelle image de motifs générée. Ainsi, les images 500a et 500b vont être supprimées de la zone de référence 500, tandis que l'image 500c sera conservée. Note that for the H.264 compression standard, the pattern image 500a will be replaced by a new pattern image generated. Thus, the images 500a and 500b will be deleted from the reference area 500, while the image 500c will be retained.

S'agissant du standard MPEG4 partie 2, le principe de la gestion de mémoire FIFO est utilisé pour la zone de stockage temporaire de référence (buffer) et seule l'image 500b sera supprimée. Le but de l'algorithme de la figure 5 est de déterminer, parmi les motifs de l'ensemble 520, ceux qui doivent continuer à être stockés dans la zone de référence 500 et de générer une ou plusieurs images à partir des motifs ainsi sélectionnés. L'algorithme de la figure 5 comporte une première étape 502 prévoyant de récupérer, parmi l'ensemble des motifs 520, un motif (par exemple dans l'ordre chronologique d'obtention ces motifs) afin de déterminer, au cours des étapes suivantes, s'il doit être sélectionné en vue d'être maintenu dans la zone de stockage 500. Au cours de l'étape suivante 504, un test est pratiqué afin de déterminer si le motif en cours de traitement satisfait à un critère prédéterminé. On notera que l'on a déjà affecté à chaque motif une valeur en fonction 20 d'un critère prédéterminé lors de l'exécution de l'algorithme de la figure 4, par exemple, l'importance. L'importance est, par exemple, comme on l'a vu précédemment le nombre de fois où un motif est utilisé pour effectuer une prédiction de mouvement d'image. Un facteur d'importance peut aussi être retenu si un motif réapparait 25 plusieurs fois au cours du temps dans la séquence. En revanche, un motif qui n'est que très peu, voire jamais utilisé pour la prédiction de mouvement d'image, est considéré comme peu ou pas important. Ici, le test consiste à sélectionner plus particulièrement les motifs qui sont les plus importants parmi l'ensemble de motifs 520 précédemment 30 prédéterminés. On sélectionne pour cela un nombre N de motifs d'image considérés comme étant les plus importants pour la prédiction de mouvement d'images de la séquence. Regarding the MPEG4 part 2 standard, the principle of FIFO memory management is used for the buffer temporary storage area and only the 500b image will be deleted. The purpose of the algorithm of FIG. 5 is to determine, among the patterns of the set 520, those which must continue to be stored in the reference zone 500 and to generate one or more images from the patterns thus selected. The algorithm of FIG. 5 comprises a first step 502 providing for recovering, among the set of patterns 520, a pattern (for example in the chronological order of obtaining these patterns) in order to determine, during the following steps, if it is to be selected to be held in the storage area 500. In the next step 504, a test is performed to determine if the pattern being processed satisfies a predetermined criterion. It should be noted that a value has already been assigned to each pattern as a function of a predetermined criterion when executing the algorithm of FIG. 4, for example, importance. The importance is, for example, as has been seen previously the number of times a pattern is used to perform an image motion prediction. An importance factor can also be retained if a pattern reappears several times over time in the sequence. On the other hand, a pattern that is only very rarely, if ever, used for image motion prediction, is considered to be of little or no importance. Here, the test consists in selecting more particularly the patterns which are the most important among the set of previously predetermined patterns 520. For this purpose, a number N of image patterns considered to be the most important for the motion picture prediction of the sequence is selected.

La valeur N est, par exemple, estimée en fonction de la capacité mémoire du décodeur. En effet, plus la taille maximum de la zone de stockage de référence autorisée par le dispositif client 156 est élevée, plus la valeur de N sera grande. The value N is, for example, estimated according to the memory capacity of the decoder. Indeed, the larger the maximum size of the reference storage area allowed by the client device 156, the greater the value of N will be.

Une autre méthode pour déterminer les motifs les plus importants peut consister à calculer une valeur seuil d'importance en fonction des capacités du dispositif client, par exemple, en fonction de la capacité mémoire du décodeur. Selon cette seconde méthode, le motif sera considéré comme important si sa valeur d'importance dépasse la valeur seuil précitée. Another method for determining the most important reasons may be to calculate a threshold value of importance according to the capabilities of the client device, for example, depending on the memory capacity of the decoder. According to this second method, the pattern will be considered important if its significance value exceeds the aforementioned threshold value.

Lorsque le motif en cours de traitement (motif courant) est sélectionné en fonction de ce critère prédéterminé, alors on passe à l'étape suivante 506. Au cours de cette étape, un test est pratiqué afin de déterminer si le motif courant est présent dans une image conservée dans la zone 500 (image 500a et image 500c pour le standard MPEG4 partie 2 ; pour le standard H.264 seule l'image 500c est conservée.). En effet, lors de cette étape on prend en compte le fait que l'image 500b va être supprimée, compte tenu de la gestion normale de fonctionnement de la zone mémoire 500. Ainsi, si le motif n'est pas présent dans l'une des images 500a ou 500c qui vont normalement être conservées compte tenu du fonctionnement de la zone mémoire 500, alors ce motif important doit être marqué lors de l'étape suivante 508. Deux cas correspondent à cette possibilité : le cas où le motif important est dans l'image 500b qui est sur le point d'être supprimée de la zone de référence 500 et l'autre cas où le motif n'est pas présent dans la zone de référence 500. When the pattern being processed (current pattern) is selected according to this predetermined criterion, then the next step 506 is taken. In this step, a test is performed to determine whether the current pattern is present in the current pattern. an image stored in area 500 (image 500a and image 500c for MPEG4 part 2, for the H.264 standard only image 500c is retained.). Indeed, during this step it is taken into account that the image 500b will be deleted, given the normal management of operation of the memory zone 500. Thus, if the pattern is not present in the one 500a or 500c images that will normally be preserved taking into account the operation of the memory zone 500, then this important reason must be marked in the next step 508. Two cases correspond to this possibility: the case where the important reason is in the image 500b which is about to be deleted from the reference area 500 and the other case where the pattern is not present in the reference area 500.

L'algorithme de la figure 5 vise ainsi à déterminer, parmi les motifs les plus importants (premier critère), ceux qui sont appelés à disparaître de la zone de référence et qui n'y sont pas encore (deuxième critère). On notera que les autres cas où le motif en cours de traitement n'est pas marqué correspondent aux cas où : - le motif n'est pas considéré comme important (réponse négative à l'issue du test de l'étape 504) et - le motif en cours de traitement est déjà dans l'une des images de la zone de référence 500 qui n'est pas sur le point d'être supprimée (réponse positive à l'issue du test de l'étape 506). À l'issue des étapes 504, 506 et 508 on passe à l'étape 510 de test afin de déterminer si tous les motifs de l'ensemble 520 ont été traités. Dans la négative, l'étape 502 est de nouveau décrite pour récupérer le motif suivant de cet ensemble et lui appliquer l'étape 504 et éventuellement les 5 étapes 506 et 508. Dans l'affirmative, la phase de détermination (étape 206) des motifs d'image en fonction d'un critère prédéterminé est achevée. Tous les motifs sélectionnés ont ainsi été marqués. On notera que si à la fin de l'étape 510 aucun motif de l'ensemble 520 10 n'est marqué pour l'image en cours de traitement, alors aucune image de motifs n'est créée pour cette image. L'algorithme de la figure 2 revient ensuite à l'étape 202 pour traiter l'image suivante. On notera que, dans le cadre du standard de compression H.264, si les 15 motifs qui viennent d'être sélectionnés à l'issue des étapes 502 à 510 sont déjà compris dans une image de motifs précédemment générée, alors cette image de motifs n'a pas besoin d'être mise à jour et aucune nouvelle image de motifs n'est ainsi créée. Toujours selon ce standard, la structure de données suivante pourra 20 alors être utilisée pour chaque motif de l'ensemble 520 : - objet du motif : structure de données décrivant un motif (voir description ci-dessus), - entier : valeur d'importance du motif (valeur initialisée par exemple à 0), - booléen : indique si le motif est marqué ou non (initialisé à FALSE). 25 La détermination des motifs d'image effectuée à l'étape 206 est suivie de la génération d'une image de motifs à l'étape 208. L'algorithme de la figure 5 comporte une étape 512 qui fait suite à l'étape 510 et prévoit de générer une image à partir des motifs précédemment marqués (motifs satisfaisants aux deux critères prédéterminés). 30 Dans l'exemple décrit, on considère que l'image de motifs est de la même taille que les images de la séquence vidéo. Toutefois, il peut être envisagé d'avoir des images de motifs de taille différente selon une variante de réalisation. The algorithm of Figure 5 thus aims to determine, among the most important reasons (first criterion), those who are expected to disappear from the reference area and who are not there yet (second criterion). It should be noted that the other cases where the pattern being treated is not marked correspond to the cases where: the reason is not considered important (negative answer at the end of the test at step 504) and the pattern being processed is already in one of the images of the reference zone 500 which is not about to be deleted (positive response after the test of step 506). At the completion of steps 504, 506, and 508, step 510 is performed to determine whether all the patterns of the set 520 have been processed. If not, step 502 is again described to recover the next pattern of this set and apply step 504 and optionally steps 506 and 508. If so, the determination step (step 206) of image patterns according to a predetermined criterion is completed. All the selected motifs have been marked. Note that if at the end of step 510 no pattern of set 520 is marked for the image being processed, then no pattern image is created for that image. The algorithm of FIG. 2 then returns to step 202 to process the next image. Note that, in the context of the H.264 compression standard, if the 15 patterns that have just been selected at the end of steps 502 to 510 are already included in a pattern image previously generated, then this pattern image does not need to be updated and no new pattern image is created. Still according to this standard, the following data structure can then be used for each pattern of the set 520: - object of the pattern: data structure describing a pattern (see description above), - integer: value of importance of the pattern (value initialized for example at 0), - boolean: indicates whether the pattern is marked or not (initialized to FALSE). The determination of the image patterns performed in step 206 is followed by the generation of a pattern image at step 208. The algorithm of FIG. 5 comprises a step 512 which follows step 510 and provides for generating an image from the previously marked patterns (patterns satisfying the two predetermined criteria). In the example described, it is considered that the pattern image is of the same size as the images of the video sequence. However, it may be envisaged to have images of patterns of different size according to an alternative embodiment.

L'image de motifs est créée en regroupant des motifs sélectionnés et en les disposant de manière à constituer une image de la taille d'une image réelle de la séquence vidéo. On notera que, de façon préférentielle, une image de motifs contient 5 tous les motifs relatifs à une même image lorsque cela est possible. Si, toutefois, le nombre de motifs d'image en rapport avec une même image est trop élevé pour être contenu dans une seule image, on peut éventuellement créer plusieurs images. Dans ce cas, l'étape 512 est répétée pour chaque image générée. 10 Selon une variante de réalisation, on génère une image de motifs de taille plus importante que celle des images réelles de la séquence vidéo. Lorsque le nombre de motifs sélectionnés à l'issue de l'étape 510 n'est pas suffisant pour construire une telle image on peut : - soit définir une image de taille inférieure à la taille des images réelles 15 de la séquence vidéo, - soit exécuter une nouvelle fois l'étape 206 en augmentant la valeur du nombre N de motifs d'image les plus importants. L'étape 512 permettant de générer une image de motifs est suivie de l'étape 516 au cours de laquelle cette image est marquée comme ne devant pas 20 être affichée lors de son traitement par le dispositif 156 de la figure 1 b. Ce marquage peut être réalisé en ajoutant un paramètre dans l'en-tête des tranches ( slices ) de l'image. Selon une variante, ce marquage peut être réalisé en utilisant un message séparé des données d'image et qui indique le numéro de l'image 25 artificielle à ne pas afficher. Ce message est défini, par exemple, en utilisant le protocole RTP. Selon ce protocole, un paquet de données RTP dont la charge utile contient le numéro de l'image marquée et qui ne doit pas être affichée est créé et envoyé au dispositif client 156. Le dispositif récepteur (client) utilise alors ce paquet 30 pour déterminer les images marquées et ainsi différencier celles-ci des images réelles de la séquence vidéo et qui sont à afficher. L'image de motifs générée est illustrée sur la figure 5 par la référence 518. The pattern image is created by grouping selected patterns and arranging them to form an image of the size of a real image of the video clip. Note that, preferably, a pattern image contains all the patterns relating to the same image when possible. If, however, the number of image patterns related to the same image is too large to be contained in a single image, it may be possible to create multiple images. In this case, step 512 is repeated for each generated image. According to an alternative embodiment, a larger image of patterns is generated than that of the real images of the video sequence. When the number of patterns selected at the end of step 510 is not sufficient to construct such an image, it is possible either to: - define an image smaller than the size of the real images 15 of the video sequence, - or repeat step 206 by increasing the value of the number N of the largest image patterns. Step 512 for generating a pattern image is followed by step 516 in which this image is marked as not to be displayed when processed by device 156 of Fig. 1b. This marking can be achieved by adding a parameter in the header slices of the image. According to one variant, this marking can be achieved by using a message separate from the image data and which indicates the number of the artificial image not to be displayed. This message is defined, for example, using the RTP protocol. According to this protocol, an RTP data packet whose payload contains the number of the tagged picture and which must not be displayed is created and sent to the client device 156. The receiving device (client) then uses this packet 30 to determine the marked images and thus differentiate these from the actual images of the video sequence and which are to be displayed. The generated pattern image is illustrated in Figure 5 by reference 518.

On notera que dans cette image la position d'un motif d'image peut être choisie de façon à minimiser le coût de codage des vecteurs de mouvement qui seront utilisés pour la compensation de mouvement. En effet, par exemple, lorsqu'un motif d'image est toujours situé aux mêmes coordonnées spatiales dans une image, il est judicieux de le placer à cette même position dans l'image de motifs. De cette façon, les nouvelles images de la séquence vidéo contenant ce motif et qui seront encodées par prédiction de mouvement à partir de celui-ci utiliseront, comme référence, l'image de motifs avec la position du motif considéré dans cette image. Note that in this image the position of an image pattern may be chosen to minimize the cost of encoding the motion vectors that will be used for motion compensation. Indeed, for example, when an image pattern is always located at the same spatial coordinates in an image, it is advisable to place it at that same position in the pattern image. In this way, the new images of the video sequence containing this pattern and which will be encoded by motion prediction from it will use, as a reference, the pattern image with the position of the pattern considered in this image.

Ainsi, les vecteurs de mouvement affectés aux zones correspondants à ce motif seront nuls ou proches de zéro, ce qui réduira fortement le coût de codage de ces vecteurs Par conséquent, afin de réduire le coût de codage des images futures, les motifs sélectionnés sont placés de façon appropriée dans l'image ou les images de motifs générées aux coordonnées qui moyennent leur position dans les images précédemment encodées de la séquence vidéo. L'image de motifs 518 obtenue à l'étape 516 n'est pas encodée. Cependant, comme on l'a vu lors de la description de la figure 2, elle peut être encodée ou non dans le codeur réalisant l'étape 202 avant d'être transmise à l'étape 210. Cette image de motifs rassemblant des motifs déterminés en fonction de deux critères est ensuite stockée dans la zone de stockage temporaire de référence 500. En effet, cette image contient des motifs considérés comme les plus pertinents pour la prédiction de mouvement d'images de la séquence. Thus, the motion vectors assigned to the zones corresponding to this pattern will be zero or close to zero, which will greatly reduce the cost of encoding these vectors. Therefore, in order to reduce the coding cost of future images, the selected patterns are placed suitably in the image or images of patterns generated at the coordinates that average their position in the previously encoded images of the video sequence. The pattern image 518 obtained in step 516 is not encoded. However, as has been seen in the description of FIG. 2, it may or may not be encoded in the encoder carrying out step 202 before being transmitted to step 210. This pattern image uniting specific patterns according to two criteria is then stored in the temporary storage area of reference 500. Indeed, this image contains patterns considered most relevant for the motion picture prediction of the sequence.

On notera également que des informations de marquage affectées à l'image lors de l'étape 516 sont transmises au codeur préalablement à leur transmission. On va maintenant décrire en référence à la figure 6 une méthode de codage de l'image de motifs 518 générée lors de l'étape 208. Note also that marking information assigned to the image in step 516 is transmitted to the encoder prior to transmission. A method of encoding the pattern image 518 generated in step 208 will now be described with reference to FIG.

L'algorithme de la figure 6 détaille les principales étapes effectuées lors de l'étape d'encodage 202 de la figure 2. L'algorithme de la figure 6 a pour but de montrer que l'image de motifs est encodée à partir des images de motifs et des images de la séquence vidéo présentes dans la zone de stockage de référence. Ainsi, la plupart des motifs à encoder sont déjà présents dans la zone de stockage de référence et, par conséquent, le coût de codage des images de motifs est faible. En pratique, l'algorithme d'encodage sélectionne le meilleur candidat comme référence. Plusieurs méthodes d'encodage de l'image de motifs vont être décrites ci-après selon le type de codec utilisé. Selon un premier exemple de réalisation, on considère un codec de type H.264 possédant une mémoire à long terme et une mémoire à court terme. Les images de motifs générées et transmises à l'encodeur sont marquées comme références à long terme et seront donc stockées dans la mémoire à long terme du codec ( long-term reference ). Ce marquage est normalisé dans le standard H.264 et apparaît dans les en-têtes des tranches (slices) de l'image considérée. Les commandes de contrôle de la zone de stockage temporaire de référence (mmco) sont utilisées pour remplacer une image de référence à long 15 terme par une nouvelle image de motifs. Suite à l'étape d'encodage 202, les données encodées envoyées lors de l'étape 210 sont des images encodées (images réelles de la séquence vidéo ou images de motifs), ainsi que des messages identifiant les images de motifs transmises. 20 Selon un autre exemple de réalisation lorsque le codec est de type MPEG4 partie 2, l'image de motifs est marquée comme référence. Le maintien des motifs dans la zone de stockage temporaire de référence est assuré par l'envoi régulier d'image(s) de motifs au dispositif récepteur. Les données transmises au dispositif récepteur, lors de l'étape 210, sont 25 identiques à celles transmises dans le cadre du standard H.264 précédemment décrit. Pour chacun des modes de réalisation qui vient d'être décrit, l'encodage de l'image de motifs (étape 202) est effectué par le même codeur que celui utilisé pour l'encodage des images de la séquence vidéo. 30 Par conséquent, la zone de stockage temporaire de référence utilisée contient déjà la majorité des motifs d'image qui sont à conserver dans cette zone de référence. The algorithm of FIG. 6 details the main steps performed during the encoding step 202 of FIG. 2. The algorithm of FIG. 6 is intended to show that the pattern image is encoded from the images. of patterns and images of the video sequence present in the reference storage area. Thus, most of the patterns to be encoded are already present in the reference storage area and, therefore, the cost of encoding the pattern images is low. In practice, the encoding algorithm selects the best candidate as a reference. Several methods of encoding the pattern image will be described hereinafter according to the type of codec used. According to a first exemplary embodiment, an H.264 type codec having a long-term memory and a short-term memory is considered. Pattern images generated and transmitted to the encoder are marked as long-term references and will therefore be stored in the long-term reference memory. This marking is standardized in the H.264 standard and appears in the slice headers of the image in question. The reference temporary storage area (mmco) control commands are used to replace a long term reference image with a new pattern image. Following the encoding step 202, the encoded data sent during the step 210 are encoded images (real images of the video sequence or pattern images), as well as messages identifying the transmitted pattern images. According to another exemplary embodiment when the codec is of the MPEG4 part 2 type, the pattern image is marked as a reference. Maintaining the patterns in the reference temporary storage area is ensured by regularly sending pattern image (s) to the receiving device. The data transmitted to the receiver device in step 210 is identical to that transmitted in the context of the previously described H.264 standard. For each of the embodiments which has just been described, the encoding of the pattern image (step 202) is performed by the same encoder as that used for the encoding of the images of the video sequence. Therefore, the reference temporary storage area used already contains most of the image patterns that are to be kept in this reference area.

L'algorithme de la figure 6 comporte une première étape 600 au cours de laquelle chaque macro-bloc MB de l'image de motifs, notée Im1, est sélectionné afin d'être encodé. Cette étape est suivie d'une étape 602 de test au cours duquel on 5 détermine si le macro-bloc considéré est prédit à partir d'une image de motifs Im2 précédemment générée. En d'autres termes, on examine si un motif d'image déjà présent dans la zone de stockage temporaire de référence peut être utilisé comme référence pour l'estimation de ce macro-bloc. 10 Lorsqu'un candidat est recherché pour la prédiction de mouvement, une zone de recherche est définie dans l'image de référence. Ensuite, l'ensemble des pixels du macro-bloc est comparé avec une zone de l'image comprise dans la zone de recherche. Un critère défini permet de sélectionner le meilleur candidat. Par exemple, ce critère est de choisir le candidat minimisant la SAD ou somme de la 15 différence absolue ( Sum of Absolute Difference ) entre la zone de référence et les pixels du macro-bloc. Dans l'affirmative, l'image Im2 qui contient ce motif est sélectionnée et utilisée comme référence pour la prédiction de mouvement (étape 604). On notera que l'image Im2 est par exemple une image de motifs de 20 référence comme l'image 500a de la figure 5. Au cours de l'étape suivante 606, il est prévu d'encoder le macro-bloc MB courant suivant un mode de codage inter à partir de l'image précédemment sélectionnée. De retour à l'étape 602, dans le cas où le macro-bloc courant ne se 25 retrouve pas dans un motif déjà présent dans la zone de stockage temporaire de référence, l'étape suivante 608 prévoit un autre test. Au cours de cette étape on détermine si le macro-bloc courant est prédit à partir d'une image Im3 de la séquence vidéo maquée comme référence, par exemple, comme l'image 500c de la figure 5. 30 Dans l'affirmative, l'étape 608 est suivie d'une étape 610 au cours de laquelle on sélectionne l'image Im3 comme image de référence et on passe ensuite à l'étape 606 déjà décrite où le macro-bloc courant est codé en mode inter. The algorithm of FIG. 6 comprises a first step 600 during which each macroblock MB of the pattern image, denoted Im1, is selected in order to be encoded. This step is followed by a test step 602 in which it is determined whether the considered macroblock is predicted from a previously generated Im2 pattern image. In other words, it is examined whether an image pattern already present in the reference temporary storage area can be used as a reference for the estimation of this macroblock. When a candidate is searched for motion prediction, a search area is defined in the reference image. Then, all the pixels of the macro-block is compared with an area of the image included in the search area. A defined criterion is used to select the best candidate. For example, this criterion is to choose the candidate minimizing the SAD or sum of the absolute difference (Sum of Absolute Difference) between the reference area and the pixels of the macroblock. If so, the image Im2 that contains this pattern is selected and used as a reference for the motion prediction (step 604). It should be noted that the image Im2 is for example a reference pattern image such as the image 500a of FIG. 5. During the following step 606, it is intended to encode the current MB macroblock according to a inter coding mode from the previously selected image. Returning to step 602, in the case where the current macro block is not found in a pattern already present in the reference temporary storage area, the next step 608 provides for another test. During this step, it is determined whether the current macroblock is predicted from an image Im3 of the video sequence mapped as a reference, for example, like the image 500c of FIG. 5. If so, the step 608 is followed by a step 610 in which the image Im3 is selected as a reference image and then goes to the step 606 already described where the current macro-block is coded in inter mode.

De retour à l'étape 608, lorsque le macro-bloc courant n'est pas prédit à partir d'une image Im3 de la séquence vidéo, alors l'étape suivante 612 d'encodage est prévue. En effectuant les étapes 602 et 608 on s'est ainsi aperçu qu'aucune 5 zone de référence pour la prédiction de mouvement n'est déterminée pour le macro-bloc courant. Par conséquent, l'encodage du macro-bloc est effectué en mode intra. Lorsque le macro-bloc courant est issu d'un motif d'images synthétisé, l'encodage de ce macro-bloc est effectué en mode intra à partir du motif d'image 10 synthétisé. Lorsque le macro-bloc courant a été encodé soit à l'étape 606 soit à l'étape 612, l'étape 600 est de nouveau exécutée afin de traiter le macro-bloc suivant de l'image de motifs. On notera que dans l'exemple de réalisation, le motif est défini comme 15 étant d'une taille multiple de 16x16 qui est la taille d'un macro-bloc. Ainsi, un macrobloc est soit un motif d'image soit une partie de motif. Lorsque l'on considère, en variante, que les motifs peuvent être de tailles quelconques, alors un macro-bloc peut correspondre à plusieurs motifs d'image. Toutefois, dans cette variante le coût de codage est supérieur à celui de 20 l'exemple de réalisation. L'image de motifs encodée par le processus de la figure 6 est d'une taille très faible dans la mesure où cette image est prédite de façon majoritaire par rapport à des données qui sont déjà contenues dans la zone de stockage temporaire de référence. 25 Le coût de codage est donc très faible et le débit associé à la transmission de ces données particulières est donc très réduit. D'autres types de codecs peuvent être utilisés. Suivant ces autres types, l'image de motifs générée n'est pas transmise au décodeur. 30 On se contente de transmettre au décodeur des informations lui permettant de reconstruire la zone de stockage temporaire de référence présente au codeur. Returning to step 608, when the current macroblock is not predicted from an Im3 image of the video sequence, then the next encoding step 612 is provided. By performing steps 602 and 608 it has thus been found that no reference area for motion prediction is determined for the current macro block. Therefore, the encoding of the macro-block is performed in intra mode. When the current macroblock comes from a synthesized image pattern, the encoding of this macroblock is performed in intra mode from the synthesized image pattern. When the current macro block has been encoded in either step 606 or step 612, step 600 is performed again to process the next macro block of the pattern image. Note that in the exemplary embodiment, the pattern is defined as being of a size multiple of 16x16 which is the size of a macroblock. Thus, a macroblock is either an image pattern or a pattern part. When one considers, alternatively, that the patterns may be of any size, then a macroblock may correspond to more than one image pattern. However, in this variant the coding cost is higher than that of the exemplary embodiment. The pattern image encoded by the process of FIG. 6 is of a very small size insofar as this image is predominantly predicted with respect to data that is already contained in the reference temporary storage area. The coding cost is therefore very low and the bit rate associated with the transmission of these particular data is therefore very small. Other types of codecs can be used. According to these other types, the pattern image generated is not transmitted to the decoder. It is sufficient to transmit to the decoder information enabling it to reconstruct the temporary storage area of reference present to the encoder.

Ainsi, par exemple, des commandes spécifiques sont définies et transmises de l'appareil émetteur 150 de la figure 1 b à l'appareil récepteur 156 afin d'envoyer tous les types de motifs d'image d'une image de motifs. Ces commandes indiquent les zones des images de référence 5 correspondants aux motifs à sélectionner du côté du récepteur. Par exemple, on pourrait utiliser une commande telle que Store (num_image, origine, width, height) où num_image correspond au numéro de l'image dans la zone de stockage de référence qui contient les motifs à stocker, origine correspond aux coordonnées du point d'origine de la zone rectangulaire 10 correspondant aux motifs, et width et height correspondent respectivement à la largeur et à la hauteur du motif considéré. Les motifs dont les pixels sont présents dans une image de référence (c'est à dire stockée dans zone de référence 110), peuvent être directement placés dans une nouvelle zone mémoire de la zone 110 en utilisant la commande Store. 15 Les paramètres de cette commande sont utilisés pour extraire d'une image déjà présente dans la zone de stockage temporaire la région correspondant au motif. Cette région est alors copiée dans le nouvel emplacement mémoire de la zone de référence 110. Cette commande est par exemple envoyée dans un paquet de données 20 RTP. Lorsque les pixels du motif ne sont pas présents dans la zone de mémoire temporaire 110, une deuxième commande peut être utilisée. Cette commande possède comme paramètre l'ensemble des pixels du motif considérés. Cet ensemble de pixels peut être compressé par un algorithme de compression 25 d'image fixe par exemple. Ainsi, les données transmises au cours de l'étape 210 de la figure 2 sont, dans l'exemple décrit, une image encodée de la séquence vidéo ainsi que des messages contenant des commandes permettant de générer l'image de motifs au niveau du dispositif récepteur (client). 30 La figure 7 représente un ordinateur ou dispositif de communication 700 qui peut être un micro-ordinateur ou une station de travail. Ce dispositif est connecté à différents périphériques, par exemple une caméra numérique 701 pour la capture de la vidéo ou tout autre dispositif d'acquisition ou de stockage d'images, tel qu'un scanner, fournissant à l'ordinateur des vidéos à transmettre. Ces vidéos peuvent être stockées dans les moyens de stockage dont dispose l'ordinateur. On notera que les dispositifs de communication 150 et 156 de la figure 1 b sont par exemple du type de cet appareil 700. Thus, for example, specific commands are set and transmitted from the transmitting apparatus 150 of Fig. 1b to the receiving apparatus 156 to send all types of picture patterns of a pattern picture. These commands indicate the areas of the reference images corresponding to the patterns to be selected on the receiver side. For example, we could use a command such as Store (num_image, origin, width, height) where num_image is the number of the image in the reference storage area that contains the patterns to store, origin corresponds to the coordinates of the point d origin of the rectangular zone 10 corresponding to the patterns, and width and height respectively correspond to the width and the height of the considered pattern. The patterns whose pixels are present in a reference image (ie stored in reference zone 110) can be directly placed in a new memory zone of zone 110 by using the Store command. The parameters of this command are used to extract from an image already present in the temporary storage area the region corresponding to the pattern. This region is then copied into the new memory location of the reference area 110. This command is for example sent in a RTP data packet. When the pixels of the pattern are not present in the temporary memory area 110, a second command can be used. This command has as parameter all the pixels of the considered pattern. This set of pixels can be compressed by a fixed image compression algorithm for example. Thus, the data transmitted during step 210 of FIG. 2 are, in the example described, an encoded image of the video sequence as well as messages containing commands making it possible to generate the pattern image at the device level. receiver (client). Fig. 7 shows a computer or communication device 700 which may be a microcomputer or a workstation. This device is connected to different peripherals, for example a digital camera 701 for capturing video or any other device for acquiring or storing images, such as a scanner, providing the computer with videos to be transmitted. These videos can be stored in the storage means available to the computer. It will be noted that the communication devices 150 and 156 of FIG. 1 b are for example of the type of this device 700.

L'ordinateur 700 comporte également une interface de communication 702 qui est reliée à un réseau de communication 703, par exemple le réseau Internet, et qui est apte à transmettre et à recevoir des données numériques. L'ordinateur 700 comporte également des moyens de stockage de données tels qu'un disque dur 704, un lecteur de disquettes 705 permettant d'écrire des données sur une disquette 706 et de lire ces données. L'ordinateur peut également comporter un lecteur de compact disques (CDROM ou DVDROM) non représenté, sur lequel peuvent être stockées les vidéos ainsi qu'un lecteur de cartes informatiques (PC-GARD) non représenté. Les codes exécutables du ou des programmes permettant de mettre en 15 oeuvre les différentes parties de l'invention sont, par exemple, mémorisées dans le disque dur 704. Selon une variante de réalisation, les codes exécutables de ces programmes sont stockés dans une mémoire ROM ( Read Only Memory ) 707 de l'ordinateur. 20 L'ordinateur 700 comporte en outre un écran 708 permettant de visualiser les vidéos et un dispositif de pointage (non représenté), tel qu'une souris ou un crayon optique, et/ou un clavier 709 de manière à pouvoir interagir avec le programme. L'ordinateur comporte une unité centrale de traitement (CPU) 710, par 25 exemple un microprocesseur, qui commande et dirige l'exécution des instructions du (ou des) programme(s) de l'invention stocké(s) dans la mémoire ROM 707 ou dans le disque dur 704. L'ordinateur 700 comporte également une mémoire RAM ( Random Access Memory ) 711. 30 Cette dernière comporte des registres pour mémoriser les variables créées et modifiées pendant l'exécution du ou des programmes selon l'invention, notamment les variables mentionnées plus haut dans l'exposé, en relation avec les figures 2 à 6. The computer 700 also comprises a communication interface 702 which is connected to a communication network 703, for example the Internet network, and which is capable of transmitting and receiving digital data. The computer 700 also includes data storage means such as a hard disk 704, a floppy disk drive 705 for writing data to a floppy disk 706 and reading this data. The computer may also include a compact disc player (CDROM or DVDROM) not shown, on which the videos can be stored and a computer card reader (PC-GARD) not shown. The executable codes of the program or programs making it possible to implement the different parts of the invention are, for example, stored in the hard disk 704. According to an alternative embodiment, the executable codes of these programs are stored in a ROM memory. (Read Only Memory) 707 of the computer. The computer 700 further includes a screen 708 for viewing the videos and a pointing device (not shown), such as a mouse or an optical pen, and / or a keyboard 709 so as to interact with the program. . The computer includes a central processing unit (CPU) 710, for example a microprocessor, which controls and directs the execution of the instructions of the program (s) of the invention stored in the ROM. 707 or in the hard disk 704. The computer 700 also comprises a RAM (Random Access Memory) memory 711. The latter comprises registers for storing the variables created and modified during the execution of the program or programs according to the invention, in particular the variables mentioned above in the description, in relation with FIGS. 2 to 6.

L'ordinateur 700 comporte également un microphone 712 pour enregistrer des sons et les stocker. L'ordinateur 700 comporte en outre un bus de communication 713 reliant les différents périphériques. The computer 700 also includes a microphone 712 for recording sounds and storing them. The computer 700 further comprises a communication bus 713 connecting the different devices.

Le dispositif de communication programmable 700 (serveur) comporte tous les moyens nécessaires à la mise en oeuvre de l'invention pour traiter des données (détermination de motifs d'image, sélection de motifs en fonction d'un premier critère, identification de motifs en fonction d'un deuxième critère, détermination d'image(s) de motifs à partir des motifs à la fois sélectionnés et identifiés...), encoder ces données et les transmettre sur le réseau. De même, le dispositif de communication programmable 700 (client) comporte tous les moyens nécessaires à la mise en oeuvre de l'invention pour recevoir et traiter des données vidéo codées, les décoder et en afficher au moins une partie. 20 The programmable communication device 700 (server) comprises all the means necessary for carrying out the invention for processing data (determination of image patterns, selection of patterns according to a first criterion, identification of patterns in function of a second criterion, determination of image (s) of patterns from the grounds both selected and identified ...), encode these data and transmit them on the network. Similarly, the programmable communication device 700 (client) includes all the means necessary for the implementation of the invention to receive and process encoded video data, decode and display at least a portion. 20

Claims (20)

REVENDICATIONS1. Procédé de traitement de données d'une séquence vidéo comprenant une succession d'images, caractérisé en ce que le procédé comporte les étapes 5 suivantes : - codage (202) vidéo d'images de la séquence basé sur une prédiction de mouvement à partir d'images de référence de la séquence, des images de référence étant stockées dans une zone de stockage dite de référence, - détermination (204) de motifs d'image obtenus chacun à partir d'au 10 moins un ensemble de données constitutif d'une zone d'une image, - sélection (204, 206), parmi les motifs d'image préalablement déterminés, de motifs d'image satisfaisant à un premier critère prédéterminé, - identification (206) des motifs d'image préalablement déterminés qui satisfont à un deuxième critère prédéterminé lié à la zone de stockage de 15 référence, - génération (208) d'au moins une image de motifs réunissant des motifs d'image qui satisfont à la fois au premier critère et au deuxième critère prédéterminés, - stockage (208) dans la zone de stockage de référence de ladite au 20 moins une image de motifs générée. REVENDICATIONS1. A method of processing data of a video sequence comprising a succession of images, characterized in that the method comprises the following steps: coding (202) video images of the sequence based on a motion prediction from d reference images of the sequence, reference images being stored in a so-called reference storage area, - determining (204) image patterns each obtained from at least one constituent data set of a zone of an image, - selecting (204, 206), among the previously determined image patterns, image patterns satisfying a first predetermined criterion, - identifying (206) previously determined image patterns that satisfy a second predetermined criterion related to the reference storage area; - generation (208) of at least one image of patterns combining image patterns that satisfy both the first criterion and the second criterion; predetermined criteria; storage (208) in the reference storage area of said at least one generated pattern image. 2. Procédé selon la revendication 1, caractérisé en ce que la détermination de motifs d'image est effectuée à partir d'images codées. 2. Method according to claim 1, characterized in that the determination of image patterns is performed from coded images. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le premier critère prédéterminé traduit l'importance d'un motif d'image pour la 25 prédiction de mouvement d'image(s) de la séquence. 3. Method according to claim 1 or 2, characterized in that the first predetermined criterion reflects the importance of an image pattern for the motion picture (s) prediction of the sequence. 4. Procédé selon la revendication 3, caractérisé en ce qu'un motif répond au premier critère prédéterminé s'il est utilisé plusieurs fois pour prédire le mouvement d'images de la séquence. 4. Method according to claim 3, characterized in that a pattern responds to the first predetermined criterion if it is used several times to predict the motion of images of the sequence. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que le 30 deuxième critère prédéterminé traduit l'imminence d'un motif d'image à être supprimé de la zone de stockage de référence ou son absence de cette zone. 5. Method according to one of claims 1 to 4, characterized in that the second predetermined criterion reflects the imminence of an image pattern to be deleted from the reference storage area or its absence from this area. 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que le nombre N de motifs d'image réunis dans ladite au moins une image de motifs estdéterminé en fonction de la capacité mémoire de la zone de stockage de référence qui sera utilisée lors du décodage de la séquence vidéo codée. 6. Method according to one of claims 1 to 5, characterized in that the number N of image patterns in said at least one pattern image is determined according to the memory capacity of the reference storage area to be used when decoding the encoded video sequence. 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que tous les motifs d'image relatifs à une même image de la séquence sont réunis dans 5 une même image de motifs. 7. Method according to one of claims 1 to 6, characterized in that all the image patterns relating to the same image of the sequence are combined in the same pattern image. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comporte une étape de positionnement d'un motif d'image dans ladite au moins une image de motifs de façon à minimiser le coût de codage des vecteurs de mouvement. 10 8. Method according to one of claims 1 to 7, characterized in that it comprises a step of positioning an image pattern in said at least one pattern image so as to minimize the cost of encoding the vectors of movement. 10 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce qu'il comporte une étape de génération d'informations de marquage distinguant ladite au moins une image de motifs générée des images de la séquence. 9. Method according to one of claims 1 to 8, characterized in that it comprises a step of generating marking information distinguishing said at least one pattern image generated images of the sequence. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce qu'il comporte une étape de codage (202) de ladite au moins une image de motifs 15 générée. 10. Method according to one of claims 1 to 9, characterized in that it comprises a step of coding (202) of said at least one pattern image 15 generated. 11. Procédé selon l'une des revendications 1 à 10, caractérisé en ce qu'il comporte une étape de transmission (210) sur un réseau de communication de ladite au moins une image de motifs générée. 11. Method according to one of claims 1 to 10, characterized in that it comprises a step of transmitting (210) on a communication network of said at least one generated pattern image. 12. Procédé selon la revendication 11, caractérisé en ce qu'il comporte 20 une étape de transmission de la séquence vidéo codée avec ladite au moins une image de motifs générée. 12. The method of claim 11, characterized in that it comprises a step of transmitting the coded video sequence with said at least one generated pattern image. 13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce qu'il comporte une étape de marquage à long terme d'une image de motifs indiquant que cette image doit être maintenue dans la zone de stockage de 25 référence tant que le marquage est présent. 13. Method according to one of claims 1 to 12, characterized in that it comprises a step of long-term marking of a pattern image indicating that this image must be maintained in the reference storage area as long as the marking is present. 14. Procédé de traitement de données d'images d'un flux comportant une séquence vidéo codée comprenant une succession d'images codées selon un codage basé sur une prédiction de mouvement à partir d'images de référence de la séquence vidéo, caractérisé en ce que le procédé comporte les étapes suivantes : 30 - réception (300) des données d'images du flux, les données d'image comprenant des images codées et au moins une image, codée ou non, constituée de motifs d'images, chaque motif d'image ayant été obtenu à partir d'un ensemble de données constitutif d'une zone d'une image, ladite au moins une image demotifs d'image satisfaisant à la fois à un premier critère prédéterminé et à un deuxième critère prédéterminé lié à la zone de stockage de référence, - décodage (302) d'images codées notamment à partir de ladite au moins une image de motifs en vue de leur affichage, ladite au moins une image de motifs n'étant pas affichée. A method of processing image data of a stream having an encoded video sequence comprising a succession of coded images according to a motion prediction based coding from reference images of the video sequence, characterized in that the method comprises the following steps: - receiving (300) image data from the stream, the image data comprising coded images and at least one image, coded or not, consisting of image patterns, each pattern image obtained from a set of data constituting an area of an image, said at least one image image image satisfying both a first predetermined criterion and a second predetermined criterion related to the reference storage area, - decoding (302) coded images in particular from said at least one pattern image for display, said at least one pattern image not being displayed. 15. Procédé selon la revendication 14, caractérisé en ce que le flux reçu comporte également des informations de marquage distinguant ladite au moins une image de motifs d'images des images de la séquence. 15. Method according to claim 14, characterized in that the received stream also comprises marking information distinguishing said at least one image of image patterns from the images of the sequence. 16. Procédé selon la revendication 15, caractérisé en ce qu'il comporte une étape de sélection (304), parmi le flux reçu, des images qui peuvent être affichées, la sélection étant effectuée en fonction des informations de marquage. 16. The method of claim 15, characterized in that it comprises a step of selecting (304), from the received stream, images that can be displayed, the selection being performed according to the marking information. 17. Dispositif de traitement de données d'une séquence vidéo comprenant une succession d'images, caractérisé en ce que le dispositif comporte : - des moyens de codage vidéo d'images de la séquence basé sur une prédiction de mouvement à partir d'images de référence de la séquence, des images de référence étant stockées dans une zone de stockage dite de référence, - des moyens de détermination de motifs d'image obtenus chacun à partir d'au moins un ensemble de données constitutif d'une zone d'une image, - des moyens de sélection, parmi les motifs préalablement déterminés, de motifs d'image satisfaisant à un premier critère prédéterminé, - des moyens d'identification des motifs d'image préalablement déterminés qui satisfont à un deuxième critère prédéterminé lié à la zone de stockage de référence, - des moyens de génération d'au moins une image de motifs réunissant 25 des motifs d'image qui satisfont à la fois au premier critère et au deuxième critère prédéterminés, - des moyens de stockage dans la zone de stockage de référence de la dite au moins une image de motifs générée. 17. Device for processing data of a video sequence comprising a succession of images, characterized in that the device comprises: means for video coding images of the sequence based on a prediction of motion from images of reference of the sequence, reference images being stored in a so-called reference storage area, means for determining image patterns, each obtained from at least one set of data constituting a zone of an image; means for selecting, from the previously determined patterns, image patterns satisfying a first predetermined criterion; means for identifying previously determined image patterns that satisfy a second predetermined criterion related to the image; reference storage area; means for generating at least one image of patterns comprising image patterns which satisfy both the first criterion and the second one; th predetermined criterion, - storage means in the reference storage area of said at least one generated pattern image. 18. Dispositif de traitement de données d'images d'un flux comportant 30 une séquence vidéo codée comprenant une succession d'images codées selon un codage basé sur une prédiction de mouvement à partir d'images de référence de la séquence vidéo, caractérisé en ce que le dispositif comporte : - de moyens de réception (300) des données d'images du flux, les données d'image comprenant des images codées et au moins une image, codéeou non, constituée de motifs d'images, chaque motif d'image ayant été obtenu à partir d'un ensemble de données constitutif d'une zone d'une image, ladite au moins une image de motifs d'image satisfaisant à la fois à un premier critère prédéterminé et à un deuxième critère prédéterminé lié à la zone de stockage de référence, - des moyens de décodage (302) d'images codées notamment à partir de ladite au moins une image de motifs en vue de leur affichage, ladite au moins une image de motifs n'étant pas affichée. 18. An image data processing device of a stream having an encoded video sequence comprising a succession of coded images according to a motion prediction coding from reference images of the video sequence, characterized in that the device comprises: - receiving means (300) of the image data of the stream, the image data comprising coded images and at least one image, coded or not, consisting of image patterns, each image pattern; image having been obtained from a set of data constituting an area of an image, said at least one image pattern image satisfying both a first predetermined criterion and a second predetermined criterion related to the reference storage area, coded image decoding means (302) in particular from said at least one pattern image for display, said at least one pattern image not being displayed. 19. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre le procédé de traitement de données conforme à l'une quelconque des revendications 1 à 16, lorsque le programme est chargé et exécuté par le système informatique. 19. An information storage medium, possibly totally or partially removable, readable by a computer system, comprising instructions for a computer program adapted to implement the data processing method according to any one of claims 1 to 16. when the program is loaded and executed by the computer system. 20. Produit programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de traitement de données selon l'une quelconque des revendications 1 à 16, lorsqu'il est chargé et exécuté par le microprocesseur. A microprocessor-readable computer program product comprising portions of software code adapted to implement the data processing method according to any one of claims 1 to 16, when loaded and executed by the microprocessor. .
FR0852499A 2008-04-14 2008-04-14 METHOD AND DEVICE FOR PROCESSING DATA OF A VIDEO SEQUENCE Expired - Fee Related FR2930107B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0852499A FR2930107B1 (en) 2008-04-14 2008-04-14 METHOD AND DEVICE FOR PROCESSING DATA OF A VIDEO SEQUENCE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0852499A FR2930107B1 (en) 2008-04-14 2008-04-14 METHOD AND DEVICE FOR PROCESSING DATA OF A VIDEO SEQUENCE
FR0852499 2008-04-14

Publications (2)

Publication Number Publication Date
FR2930107A1 true FR2930107A1 (en) 2009-10-16
FR2930107B1 FR2930107B1 (en) 2018-01-26

Family

ID=40239583

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0852499A Expired - Fee Related FR2930107B1 (en) 2008-04-14 2008-04-14 METHOD AND DEVICE FOR PROCESSING DATA OF A VIDEO SEQUENCE

Country Status (1)

Country Link
FR (1) FR2930107B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606675A2 (en) * 1992-12-16 1994-07-20 International Business Machines Corporation Method for loss-less compression of full motion video
US5802211A (en) * 1994-12-30 1998-09-01 Harris Corporation Method and apparatus for transmitting and utilizing analog encoded information
US5983251A (en) * 1993-09-08 1999-11-09 Idt, Inc. Method and apparatus for data analysis
WO2001080569A1 (en) * 2000-04-14 2001-10-25 Siemens Aktiengesellschaft Method and device for storing and processing image information of temporally successive images
US20070047643A1 (en) * 2005-08-31 2007-03-01 Erlandson Erik E Video data compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606675A2 (en) * 1992-12-16 1994-07-20 International Business Machines Corporation Method for loss-less compression of full motion video
US5983251A (en) * 1993-09-08 1999-11-09 Idt, Inc. Method and apparatus for data analysis
US5802211A (en) * 1994-12-30 1998-09-01 Harris Corporation Method and apparatus for transmitting and utilizing analog encoded information
WO2001080569A1 (en) * 2000-04-14 2001-10-25 Siemens Aktiengesellschaft Method and device for storing and processing image information of temporally successive images
US20070047643A1 (en) * 2005-08-31 2007-03-01 Erlandson Erik E Video data compression

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DUFAUX F ET AL: "Background mosaicking for low bit rate video coding", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), vol. 1, 16 September 1996 (1996-09-16) - 19 September 1996 (1996-09-19), Lausanne, pages 673 - 676, XP010202155, ISBN: 978-0-7803-3259-1 *

Also Published As

Publication number Publication date
FR2930107B1 (en) 2018-01-26

Similar Documents

Publication Publication Date Title
FR2894421A1 (en) METHOD AND DEVICE FOR DECODING A VIDEO STREAM CODE FOLLOWING A HIERARCHICAL CODING
FR2840495A1 (en) METHOD AND DEVICE FOR SELECTING A TRANSCODING METHOD AMONG A SET OF TRANSCODING METHODS
EP3707900B1 (en) Method for forming an output image sequence from an input image sequence, method for reconstructing an input image sequence from an output image sequence, associated devices, server equipment, client equipment and computer programs
FR2831688A1 (en) Multimedia digital data request processing method for television, involves considering request being processed similar to earlier request, when two requests have only certain request descriptors in common
FR3012004A1 (en) IMAGE ENCODING AND DECODING METHOD, IMAGE ENCODING AND DECODING DEVICE AND CORRESPONDING COMPUTER PROGRAMS
FR2959636A1 (en) Method for accessing spatio-temporal part of video image sequence in e.g. mobile telephone of Internet, involves obtaining selection zone updating information, where information is decoding function of data corresponding to selection zone
FR2963190A1 (en) METHOD AND DEVICE FOR ENCODING AN IMAGE SEQUENCE
FR2920632A1 (en) METHOD AND DEVICE FOR DECODING VIDEO SEQUENCES WITH ERROR MASKING
EP3780632B1 (en) System for distributing audiovisual content
FR2893470A1 (en) METHOD AND DEVICE FOR CREATING A VIDEO SEQUENCE REPRESENTATIVE OF A DIGITAL VIDEO SEQUENCE AND METHODS AND DEVICES FOR TRANSMITTING AND RECEIVING VIDEO DATA THEREOF
EP2761871B1 (en) Decoder side motion estimation based on template matching
FR3026261A1 (en) METHOD FOR ENCODING AND DECODING INTEGRAL IMAGES, DEVICE FOR ENCODING AND DECODING INTEGRAL IMAGES, AND CORRESPONDING COMPUTER PROGRAMS
FR2866183A1 (en) METHODS FOR TRANSMITTING AND RECEIVING ANIMATION, AND ASSOCIATED DEVICES
FR2930107A1 (en) Video sequence data processing method for e.g. video telemonitoring field, involves generating pattern image joining image patterns that simultaneously satisfy criteria, and storing generated pattern image in reference storage zone
FR2872972A1 (en) METHOD AND DEVICE FOR VIDEO TRANSMISSION BETWEEN A SERVER AND A CLIENT
WO2018073523A1 (en) Method for coding and decoding image parameters, device for coding and decoding image parameters and computer programs corresponding thereto
EP4140136A1 (en) Methods and devices for coding and decoding a multi-view video sequence
EP3360328A1 (en) Multi-view coding and decoding
EP3918798A1 (en) Method and device for coding and decoding data corresponding to a video sequence
WO2020070409A1 (en) Coding and decoding of an omnidirectional video
FR2872665A1 (en) VIDEO COMPRESSION DEVICE AND METHOD
WO2010109133A1 (en) Method and device for storing a portion of a video stream
EP3675425B1 (en) Basic module of a system for the distribution of audiovisual content
EP2594069B1 (en) Method for broadcasting video data sequences by a server to a client terminal
FR2927494A1 (en) Image sequence e.g. compressed video sequence, decoding method for e.g. electronic device, involves determining reference macro block to be deleted based on defined probability criteria, and deleting reference macro block from memory

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

ST Notification of lapse

Effective date: 20200108