FR2851397A1 - Procede et dispositif d'analyse de sequences video dans un reseau de communication - Google Patents

Procede et dispositif d'analyse de sequences video dans un reseau de communication Download PDF

Info

Publication number
FR2851397A1
FR2851397A1 FR0301847A FR0301847A FR2851397A1 FR 2851397 A1 FR2851397 A1 FR 2851397A1 FR 0301847 A FR0301847 A FR 0301847A FR 0301847 A FR0301847 A FR 0301847A FR 2851397 A1 FR2851397 A1 FR 2851397A1
Authority
FR
France
Prior art keywords
spatial
temporal
information
video sequence
activity
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
FR0301847A
Other languages
English (en)
Other versions
FR2851397B1 (fr
Inventor
Xavier Henocq
Maryline Clare
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 Europa NV
Original Assignee
Canon Europa NV
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 Europa NV filed Critical Canon Europa NV
Priority to FR0301847A priority Critical patent/FR2851397B1/fr
Priority to US10/779,284 priority patent/US7466865B2/en
Publication of FR2851397A1 publication Critical patent/FR2851397A1/fr
Application granted granted Critical
Publication of FR2851397B1 publication Critical patent/FR2851397B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19654Details concerning communication with a camera
    • G08B13/19656Network used to communicate with a camera, e.g. WAN, LAN, Internet
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19665Details related to the storage of video surveillance data
    • G08B13/19669Event triggers storage or change of storage policy
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé d'analyse d'au moins une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication comportant également au moins un appareil récepteur, caractérisé en ce que la séquence vidéo étant compressée selon une méthode de codage qui génère un train binaire comportant des informations représentatives de l'activité temporelle des images de la séquence vidéo et des informations représentatives de l'activité spatiale des images de cette séquence vidéo, les informations temporelles et spatiales étant réparties suivant un ou plusieurs niveaux de hiérarchie spatio-temporelle, le procédé comporte les étapes suivantes effectuées au niveau de l'appareil récepteur :- obtention d'informations représentatives de l'activité temporelle de la séquence vidéo présente au niveau de l'appareil émetteur,- analyse des informations temporelles obtenues,- en fonction du résultat de l'analyse, décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations représentatives de l'activité spatiale de la séquence vidéo est nécessaire.

Description

L'invention concerne un procédé et un dispositif d'analyse d'au moins
une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication comportant également au moins un appareil récepteur.
De nos jours, la protection des biens et des personnes constitue une réalité qui ne cesse de prendre de l'ampleur et les ventes de systèmes d'alarme qui 10 ont considérablement augmenté au cours de ces dernière années, notamment sous l'impulsion des compagnies d'assurances, en sont la preuve.
Parmi les systèmes d'alarme, on trouve des alarmes de voiture, des alarmes anti-intrusion pour prévenir d'une intrusion à l'intérieur de locaux, des systèmes de vidéo surveillance...
Il convient de noter que l'utilisation de systèmes de vidéo surveillance dans un environnement domestique est loin d'être démocratisée, notamment en raison du cot induit par de tels systèmes.
En effet, un système de vidéo surveillance nécessite l'achat de caméras de surveillance, d'entités de stockage et d'affichage des vidéos saisies par les 20 caméras et la mise en place d'un réseau de communication local dédié au transfert des données vidéo.
Il serait par conséquent intéressant de disposer d'un système de vidéo surveillance qui puisse utiliser un réseau local domestique non dédié à une application particulière, telle que la vidéo surveillance, et sur lequel peuvent être 25 connectées toutes sortes d'entités multimédia émettrices ou réceptrices de données.
Dans un réseau de vidéo surveillance, plusieurs caméras de surveillance capturent des images de façon simultanée et les codent de manière compressée.
Un utilisateur intervenant sur un ordinateur central relié aux différentes caméras de surveillance par l'intermédiaire d'un réseau de communication recevra ces vidéos compressées, les stockera et les visualisera sur son ordinateur.
Cependant, il ne sera pas possible à l'ordinateur de visualiser simultanément un grand nombre de séquences vidéo, d'une part, en raison de la difficulté pour un être humain à visualiser simultanément plusieurs séquences vidéo avec une attention soutenue et, d'autre part, en raison du fait que les capacités de 5 calcul de l'ordinateur central ne permettent généralement pas, notamment dans un réseau local domestique, de décoder un grand nombre de séquences vidéo en temps réel.
Par ailleurs, il est très probable que le réseau local domestique ne disposera pas d'une bande passante compatible avec le transport simultané de 10 nombreuses vidéos en pleine qualité.
Ainsi, l'utilisateur d'un tel système de vidéo surveillance préférera ne visualiser que des séquences vidéo pertinentes, dans lesquelles se produisent des mouvements.
En outre, il serait plus confortable pour l'utilisateur de pouvoir disposer 15 d'un système de vidéo surveillance qui soit capable de sélectionner automatiquement les séquences vidéo pertinentes sans que l'utilisateur n'ait à intervenir.
On connaît, d'après la demande internationale WO 01 62005 ayant pour titre "Remote surveillance system", un système de vidéo surveillance dans lequel 20 l'utilisateur doit effectuer une requête explicite afin d'obtenir les données vidéo capturées par une caméra de surveillance.
Dès lors que les données vidéo sont reçues d'une caméra vidéo, l'utilisateur peut ajuster la qualité de ces données vidéo en modifiant la fréquence temporelle, le format et en filtrant les différentes images constitutives de cette vidéo. 25 L'ajustement de la qualité intervient par l'intermédiaire d'une interface graphique et nécessite l'intervention de l'utilisateur.
On connaît également, d'après le brevet US 5 751 346, un système de vidéo surveillance qui est utilisé dans le cadre de la surveillance des distributeurs automatiques de billets et qui ajuste automatiquement la fréquence temporelle des 30 images de la séquence vidéo en analysant les changements opérés entre deux images.
Cette analyse est effectuée au niveau de chaque caméra.
Un tel système ne permet pas d'ajuster conjointement la qualité de l'ensemble des vidéos capturées par les différentes caméras d'un système de vidéo surveillance.
Il convient par ailleurs de noter que ce système de vidéo surveillance n'a 5 pas pour but de transmettre directement les séquences vidéo, mais plutôt de les stocker.
Un système similaire est également connu du brevet US 6 480 225.
Dans ces deux derniers brevets, on ne prend pas en compte la détection simultanée d'alarmes par plusieurs caméras, en ce sens qu'elles 10 détectent en même temps un mouvement significatif.
Dans un autre brevet US 6 411 209, un système de vidéo surveillance utilise une caméra fonctionnant de manière continue en étant couplée à un système d'alarme anti-intrusion tel que, par exemple, un détecteur infrarouge.
Lorsqu'une alarme est détectée, la caméra ayant détecté l'alarme stocke 15 une portion de vidéo correspondant à une période englobant l'événement qui a déclenché l'alarme. Une analyse qui est basée sur des méthodes de détection des mouvements, de reconnaissance de formes ou de visages est alors mise en oeuvre au niveau de la caméra.
Dans l'hypothèse o l'alarme est confirmée consécutivement à l'analyse 20 précitée, les images les plus pertinentes de la portion de séquence vidéo analysée sont transmises à un ordinateur central au niveau duquel intervient un utilisateur.
Un tel système ne permet pas d'ajuster la qualité spatiale de la séquence vidéo, ni d'ajuster globalement la qualité de chaque séquence vidéo capturée au niveau des différentes caméras du réseau en prenant en compte les 25 contraintes liées à l'ordinateur central et à la bande passante disponible sur le réseau.
De plus, il n'est pas expliqué comment ce système permet de prendre en compte la détection simultanée d'alarmes par plusieurs caméras qui risquent en effet de se gêner mutuellement lors de la transmission simultanée de séquences 30 vidéo à destination de l'ordinateur central.
En outre, des détections simultanées d'alarmes risquent de conduire à la congestion du réseau lorsque les données sont transmises ultérieurement de façon simultanée ou quasi-simultanée.
Par ailleurs, ce système nécessite de disposer d'une capacité de calcul importante au niveau de chaque caméra.
On connaît également du brevet US 6 456 321 un système de vidéo surveillance utilisant une caméra qui produit, d'une part, un signal fortement compressé et de faible qualité et, d'autre part, un signal faiblement compressé.
Lorsqu'aucune alarme n'est détectée par la caméra, seul le signal vidéo 10 fortement compressé est transmis à travers un réseau à destination de l'ordinateur central au niveau duquel intervient un utilisateur, tandis que l'autre signal vidéo faiblement compressé est stocké au niveau de la caméra.
Lorsqu'une alarme est déclenchée, le signal fortement compressé est affiché, après décompression, sur l'écran de l'utilisateur qui peut alors décider de 15 recevoir ou non le signal vidéo faiblement compressé présent au niveau de la caméra.
Là encore, l'intervention de l'utilisateur est nécessaire lors du traitement des alarmes.
Le système de vidéo surveillance précité ne permet pas d'ajuster 20 automatiquement la qualité de séquences vidéo de façon globale pour tout le réseau.
Ce système ne permet pas non plus de prendre en compte la détection simultanée d'alarmes par plusieurs caméras.
On connaît par ailleurs, d'après le document US 6 323 897, un système 25 de vidéo surveillance dans lequel plusieurs caméras sont connectées à un serveur central par l'intermédiaire d'un réseau de communication de type TCP/IP.
Chaque caméra comporte notamment, à son niveau, un détecteur de mouvement, un microphone et un analyseur du trafic véhiculé par le réseau.
Dans la mesure o le trafic est faible, toutes les caméras peuvent 30 émettre à destination du serveur des données audio et vidéo de façon continue.
Cependant, lorsque le trafic devient important, seule la caméra qui a détecté une alarme émettra.
En fonction de la charge du réseau, cette caméra émettra des données audio et vidéo, des données audio seules, ou bien uniquement des données caractérisant l'alarme telles que des données concernant la position de la caméra.
A la réception de ces signaux d'alarme, le serveur décidera d'augmenter 5 la priorité des données provenant de la caméra concernée afin de mettre fin à l'émission de données par les autres caméras.
Ce système n'est pas entièrement satisfaisant dans la mesure o il ne permet pas de prendre en compte la détection simultanée d'alarmes par deux ou plus de deux caméras.
En effet, plusieurs caméras ayant détecté simultanément une alarme risquent de se gêner mutuellement lors de la transmission de séquences vidéo à destination du serveur.
En outre, lorsque le réseau est saturé, aucun mécanisme n'est prévu pour pallier la non réception des signaux d'alarme par le serveur.
La présente invention vise à remédier à au moins un des inconvénients précités en proposant un procédé d'analyse d'au moins une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication comportant également au moins un appareil récepteur, caractérisé en ce que la séquence vidéo étant compressée selon une méthode de codage qui 20 génère un train binaire comportant des informations représentatives de l'activité temporelle des images de la séquence vidéo et des informations représentatives de l'activité spatiale des images de cette séquence vidéo, les informations temporelles et spatiales étant réparties suivant un ou plusieurs niveaux de hiérarchie spatiotemporelle, le procédé comporte les étapes suivantes effectuées au niveau de 25 l'appareil récepteur: - obtention d'informations représentatives de l'activité temporelle de la séquence vidéo présente au niveau de l'appareil émetteur, - analyse des informations temporelles obtenues, - en fonction du résultat de l'analyse, décision quant à savoir si la 30 génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations représentatives de l'activité spatiale de la séquence vidéo est nécessaire.
Corrélativement, l'invention vise aussi un dispositif d'analyse d'au moins une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication comportant également au moins un appareil récepteur, caractérisé en ce que la séquence vidéo étant compressée selon une méthode de 5 codage qui génère un train binaire comportant des informations représentatives de l'activité temporelle des images de la séquence vidéo et des informations représentatives de l'activité spatiale des images de cette séquence vidéo, les informations temporelles et spatiales étant réparties suivant un ou plusieurs niveaux de hiérarchie spatio-temporelle, le dispositif comporte au niveau de l'appareil 10 récepteur: -des moyens d'obtention d'informations représentatives de l'activité temporelle de la séquence vidéo présente au niveau de l'appareil émetteur, - des moyens d'analyse des informations temporelles obtenues, - des moyens de décision quant à savoir si la génération d'une requête 1 5 destinée à l'appareil émetteur en vue d'obtenir des informations représentatives de l'activité spatiale de la séquence vidéo est nécessaire, en fonction du résultat de l'analyse.
Ainsi, en séparant les informations disponibles au niveau de l'appareil émetteur en informations représentatives de l'activité temporelle de la 20 séquence, d'une part, et en informations représentatives de l'activité spatiale de cette séquence, d'autre part, et en transmettant dans un premier temps à l'appareil récepteur les seules informations temporelles, celles-ci sont suffisantes à l'appareil récepteur pour prendre une décision.
Les informations véhiculées par le réseau sont donc réduites par rapport 25 à celles transmises dans l'art antérieur, ce qui permet de ne pas congestionner le réseau lorsque plusieurs appareils émetteurs transmettent simultanément de telles informations.
Par ailleurs, l'appareil récepteur qui possède une vision globale du réseau gère lui-même les détections d'alarme en fonction des informations reçues 30 des différents appareils émetteurs.
Il peut décider d'obtenir des informations supplémentaires d'un appareil émetteur, à savoir des informations sur l'activité spatiale d'une séquence vidéo, en fonction des informations temporelles reçues de l'appareil émetteur.
Ainsi, si les informations temporelles reçues traduisent un mouvement 5 significatif dans la séquence vidéo au niveau de l'appareil émetteur, alors l'appareil récepteur génère une requête appropriée à destination de l'appareil émetteur.
Selon une caractéristique, l'analyse des informations temporelles obtenues comprend plus particulièrement les étapes de: - détermination d'un indice d'activité temporelle de la séquence vidéo à 10 partir des informations obtenues, - comparaison de l'indice déterminé à un premier indice seuil prédéterminé.
Cette analyse permet de détecter automatiquement les mouvements significatifs dans la séquence vidéo présente au niveau d'un ou de plusieurs 15 appareils émetteurs sans qu'un utilisateur ait besoin d'intervenir pour visualiser une quelconque portion de données vidéo.
En fonction du résultat de la comparaison entre l'indice déterminé et le premier indice seuil prédéterminé, la décision de générer une requête en vue d'obtenir, de la part d'un ou de plusieurs appareils émetteurs au niveau desquels un 20 mouvement significatif a été détecté, des informations représentatives de l'activité spatiale de la séquence vidéo est générée de façon automatique.
Selon une caractéristique, le procédé selon l'invention comporte une étape de comparaison de l'indice déterminé à un second indice seuil prédéterminé qui est, par exemple, représentatif d'un fort mouvement.
Selon une autre caractéristique, la méthode de codage est une méthode de codage hydride fondée sur le codage de blocs de données d'une image et qui génère un train binaire de données vidéo suivant plusieurs niveaux hiérarchiques spatio-temporels.
Une telle organisation hiérarchique de la séquence vidéo compressée 30 permet de transmettre à l'appareil récepteur un ou plusieurs niveaux hiérarchiques selon les besoins exprimés.
Selon une autre caractéristique, le premier niveau hiérarchique comprend des données d'en-tête et des vecteurs de mouvement des blocs des images de la séquence vidéo.
Ainsi, les informations représentatives de l'activité temporelle obtenues 5 au niveau de l'appareil récepteur et sur la base desquelles une décision de générer une requête est prise ou non, sont les vecteurs de mouvement de ce premier niveau hiérarchique.
Selon une autre caractéristique, le procédé comporte les étapes suivantes: 1 0 - obtention d'informations représentatives de l'activité spatiale de la séquence vidéo présente au niveau de l'appareil émetteur, - analyse des informations spatiales obtenues, - en fonction du résultat de l'analyse, décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des 1 5 informations supplémentaires représentatives de l'activité spatiale de la séquence vidéo est nécessaire.
Les informations représentatives de l'activité spatiale ont été obtenues de l'appareil émetteur suite à une décision de générer une requête à destination de ce dernier.
Là encore, la décision de générer une autre requête destinée à l'appareil émetteur en vue d'obtenir des informations supplémentaires représentatives de l'activité spatiale de la séquence vidéo est réalisée de façon automatique après analyse des informations spatiales obtenues.
L'analyse des informations spatiales obtenues est d'ailleurs, elle aussi, 25 réalisée de façon automatique afin de ne pas rendre nécessaire une intervention humaine.
On notera par ailleurs que la transmission des seules informations représentatives de l'activité spatiale de la séquence vidéo par l'appareil émetteur utilise une faible partie de la bande passante disponible sur le réseau, ce qui 30 permet de transmettre simultanément depuis d'autres appareils émetteurs de telles informations à destination de l'appareil récepteur sans congestionner le réseau.
Selon une caractéristique, l'analyse des informations spatiales obtenues comprend plus particulièrement les étapes de: - détermination d'un indice d'activité spatiale de la séquence vidéo à partir des informations spatiales obtenues, - comparaison de l'indice déterminé à un indice seuil prédéterminé.
Cette analyse permet de déterminer automatiquement si l'activité spatiale de la séquence vidéo présente au niveau d'un ou de plusieurs appareils émetteurs est forte ou faible, sans qu'un utilisateur ait besoin d'intervenir pour visualiser une quelconque portion de données vidéo.
En fonction du résultat de la comparaison précitée, la décision de générer une requête en vue d'obtenir de la part d'un ou de plusieurs appareils émetteurs au niveau desquels un mouvement significatif a été détecté des informations supplémentaires représentatives de l'activité spatiale de la séquence vidéo est générée de façon automatique.
Selon une autre caractéristique, le procédé comporte, en outre, une étape de décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations temporelles supplémentaires est nécessaire en fonction du résultat de l'analyse effectuée sur les informations temporelles et/ou spatiales obtenues.
Là encore, la décision de générer une requête est prise de façon automatique en fonction du résultat de l'analyse, ce qui permet à l'utilisateur de ne pas avoir à intervenir.
Selon une caractéristique, l'étape de décision tient compte de la capacité de calcul de l'appareil récepteur.
Lorsque l'invention est mise en oeuvre dans un réseau local domestique, il est en effet important de ne pas transmettre à l'appareil récepteur une trop grande quantité de données qui ne pourraient pas être traitées compte tenu de sa capacité de calcul relativement limitée.
Selon une autre caractéristique, l'étape de décision tient compte de la 30 bande passante disponible sur le réseau.
Ainsi, on tient compte de façon automatique des risques de congestion du réseau lorsque l'on s'interroge sur la nécessité d'avoir recours à des informations supplémentaires.
Selon une caractéristique, lorsque des informations temporelles et 5 spatiales ont été obtenues de plusieurs appareils émetteurs et qu'une décision visant à obtenir d'au moins un d'entre eux des informations temporelles et/ou spatiales supplémentaires a été jugée nécessaire, le procédé comporte une étape de classification de chaque appareil émetteur par rapport aux autres appareils, en fonction des informations temporelles et des informations spatiales obtenues de 10 cet appareil.
Ce classement permet de détecter les appareils les plus pertinents en termes d'activité spatiale et temporelle.
Selon une autre caractéristique, l'ensemble des appareils émetteurs sont représentés dans deux treillis de type Vitterbi, l'un dédié à l'activité temporelle 15 et l'autre à l'activité spatiale, et dans chacun desquels chaque appareil est représenté en abscisse et, selon le treillis concerné, chaque niveau de hiérarchie spatiale ou temporelle obtenue et/ou à obtenir est représenté en ordonnée.
La représentation des différents appareils dans des treillis de type Vitterbi est avantageuse dans la mesure o elle permet de mettre en oeuvre de 20 façon simple des algorithmes connus de recherche de chemins entre les appareils.
Selon une caractéristique, le procédé comporte, pour chaque treillis, une étape de détermination d'un chemin optimal entre les appareils en ne tenant compte, pour chacun d'entre eux, que du niveau de hiérarchie spatiale ou temporelle le plus élevé.
Un tel chemin est optimal en ce sens qu'il permet d'obtenir de chacun des appareils émetteurs le niveau de hiérarchie spatiale ou temporelle le plus élevé.
Toutefois, un tel chemin ne tient pas compte de la capacité de calcul de l'appareil récepteur, ni même de la bande passante disponible sur le réseau. 30 Selon une autre caractéristique, le procédé comporte, pour chaque treillis, une étape de détermination d'un ou de plusieurs chemins alternatifs entre les il appareils en effectuant, pour un treillis donné, les opérations suivantes qui sont réitérées pour déterminer plusieurs chemins alternatifs: - parcours du treillis considéré, - suppression, selon le treillis considéré, du niveau de hiérarchie 5 spatiale ou temporelle obtenu et/ou à obtenir le plus élevé pour l'appareil émetteur ayant, selon le cas, l'activité spatiale ou l'activité temporelle la plus faible et disposant d'au moins deux niveaux d'informations hiérarchiques, conduisant ainsi à la détermination d'un chemin alternatif auquel l'appareil précité contribue pour un niveau de hiérarchie, spatiale et/ou temporelle, réduit.
On détermine ainsi pour chaque treillis un ou plusieurs chemins alternatifs en parcourant le treillis et en supprimant à chaque parcours un niveau de hiérarchie pour un seul des appareils émetteurs. Lors du parcours suivant du treillis considéré, on supprime un niveau de hiérarchie d'un autre appareil émetteur.
Selon une caractéristique, le procédé comporte une étape d'association 15 d'un cot de décodage à chaque chemin alternatif déterminé, le cot de décodage associé à un chemin correspondant à l'estimation des calculs nécessaires pour effectuer le décodage d'informations spatiales et/ou temporelles codées provenant des différents appareils émetteurs placés sur le chemin.
On évalue ainsi le cot de décodage de chaque chemin alternatif 20 déterminé pour chacun des treillis dédiés à l'activité temporelle et à l'activité spatiale.
Selon une autre caractéristique, le procédé comporte une étape de sélection du chemin optimal en déterminant parmi tous les chemins celui dont le cot de décodage est le plus proche de la capacité de calcul de l'appareil récepteur, 25 tout en restant inférieur à cette dernière.
La sélection du chemin optimal précité permet ainsi de tenir compte, lors de la demande d'informations supplémentaires, de la capacité de calcul de l'appareil récepteur et ceci de façon automatique, c'est-à-dire sans qu'un utilisateur ait à intervenir dans la sélection.
Selon une caractéristique, le procédé comporte une étape de sélection du chemin optimal en déterminant parmi tous les chemins celui dont le débit induit est inférieur à la bande passante disponible sur le réseau.
L'invention vise également un appareil de communication comportant un dispositif tel que succinctement décrit ci-dessus.
Selon un autre aspect, l'invention vise aussi: - un moyen de stockage d'informations lisibles par un ordinateur ou un 5 microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisibles par un ordinateur ou un microprocesseur comportant des 10 instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui brièvement exposé ci-dessus.
Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des 15 étapes du procédé de l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté par l'appareil programmable.
Les caractéristiques et avantages relatifs au dispositif, à l'appareil de communication comportant un tel dispositif, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus 20 concernant le procédé selon l'invention, ils ne seront pas rappelés ici.
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 1 est une vue schématique d'un réseau de communication 25 mettant en oeuvre plusieurs appareils émetteurs connectés à un appareil récepteur par l'intermédiaire du réseau selon l'invention; - la figure 2a est une vue schématique détaillée d'un appareil émetteur représenté sur la figure 1; - la figure 2b est une vue schématique détaillée de l'appareil récepteur 30 représenté sur la figure 1; - la figure 3a illustre le partitionnement des données vidéo et l'encapsulation de ces données dans des paquets de données conformes au standard IEEE1394; - la figure 3b illustre de façon schématique quatre niveaux 5 hiérarchiques d'échelonnabilité spatiale et/ou temporelle du standard H. 263 version 2; - la figure 4 illustre un algorithme de mise en oeuvre du procédé selon l'invention; - les figures 5ai et 5a2 illustrent un schéma de codage vidéo hybride 10 fondé sur le codage de blocs de données des images d'une séquence vidéo suivant plusieurs niveaux hiérarchiques des données; - la figure 5b est un algorithme représentant les opérations de quantification des macro-blocs INTRA selon le standard H.263 version 2; - la figure 5c est un algorithme représentant les différentes opérations 15 de quantification des macro-blocs INTER selon le standard H.263 version 2; la figure 6 représente un algorithme de décodage selon le standard H. 263 version 2; - la figure 7 est un algorithme reprenant et détaillant les étapes E13 à El 7 de l'algorithme de la figure 4; - la figure 8 est un algorithme reprenant et détaillant les étapes E19 à E21 de l'algorithme de la figure 4; - la figure 9 est un algorithme reprenant et détaillant les opérations effectuées lors de l'étape E22 de la figure 4; - la figure 10 représente de façon schématique deux échelles suivant 25 lesquelles les différents appareils émetteurs du réseau sont classés dans le sens de leurs activités spatiale et temporelle croissantes; - la figure 11 illustre un treillis de Vitterbi dédié à l'activité spatiale des appareils émetteurs classifiés suivant l'une des échelles de la figure 10; - la figure 12 illustre un treillis de Vitterbi dédié à l'activité temporelle 30 des appareils émetteurs classifiés suivant l'une des échelles de la figure 10.
La figure 1 représente un réseau de communication multimédia référencé 100 dans lequel est avantageusement mise en oeuvre l'invention. Ce réseau est, par exemple, installé dans un environnement domestique et n'est pas dédié de façon spécifique à la vidéo surveillance.
Ce réseau de communication multimédia interconnecte des équipements tels que des téléviseurs référencés 103a, 103b et 103c, un magnétoscope référencé 107, un lecteur de type lecteur DVD référencé 108.
Le réseau comprend plusieurs appareils de vidéo surveillance (appareils de communication émetteurs de données vidéo) 111 a, 111 b, 111 c et il ld, comprenant chacun une caméra et une unité de compression, interconnectéspar l'intermédiaire du réseau à un ordinateur central (appareil 10 de communication récepteur) 112.
Chaque appareil est, par exemple, installé dans l'une des pièces de l'habitation.
Ce réseau comporte des équipements d'interface multimédia intégrés, par exemple, dans les cloisons et référencés 150a, 150b, 150c et 15 150d. Ces équipements d'interface multimédia sont reliés à une unité de commutation centrale 160 placée préférentiellement à côté du tableau de fourniture d'énergie électrique.
L'équipement d'interface multimédia 150a est relié par l'intermédiaire d'une liaison vidéo analogique 105i au téléviseur 103a. Selon une variante, la 20 liaison 105i peut être conforme à la norme IEEE1394 et le téléviseur comporte alors une carte IEEE1394.
L'équipement d'interface multimédia 150a est aussi relié par l'intermédiaire d'une liaison 130a conforme à la norme IEEE1394 à un convertisseur analogique numérique 104a, lui-même relié au magnétoscope 25 107 par l'intermédiaire d'une liaison 106a.
Les téléviseurs analogiques 103b et 103c sont reliés respectivement aux équipements d'interface multimédia 150b et 150d par une liaison 105i, 105j, de façon identique à la liaison 105i reliant le téléviseur analogique 103a et l'équipement d'interface multimédia 150a.
L'équipement d'interface multimédia 150b est relié par une liaison de type IEEE 1394, notée 130a, à un convertisseur analogique numérique 104b qui va convertir les informations vidéo analogiques générées par le lecteur DVD 108 dans un format compatible avec la norme IEEE1394. Le lecteur DVD 108 est relié au convertisseur analogique numérique 104b par une liaison analogique 106b comportant des connecteurs de type RCA.
A l'équipement d'interface multimédia 150c est connecté l'ordinateur 112 par une liaison de type IEEE 1394, notée 130b.
Les appareils de vidéo surveillance 111 a, 111 b, 111 c et 111 d sont reliés respectivement aux équipements d'interface multimédia 150a, 150b, 150c et 150d par une liaison de type IEEE1394 notée 130c.
Il convient de noter que chacun des équipements d'interface 10 multimédia précédemment décrits comporte au moins des moyens de connexion de types Ethernet, IEEE1394 et au moins une sortie vidéo analogique.
Ces équipements d'interface multimédia sont respectivement reliés à l'unité de commutation 160 par l'intermédiaire d'un câble unique de type UTP 15 CAT 5 noté 160a, 160b, 160c et 160d.
Les équipements d'interface multimédia sont préférentiellement conformes au standard IEEE1394.1 ("P1394.1, Draft Standard for HighPerformance Serial Bus Bridges", October 24, 2002) permettant la communication d'entités multimédia par l'intermédiaire d'un réseau de bus série 20 de type IEEE1394.
On va maintenant décrire en référence à la figure 2a un appareil émetteur parmi ceux notés 111a, 111b, 111c, 111d sur la figure 1 et, en référence à la figure 2b, l'appareil récepteur 112 de la figure 1.
Chaque pièce de la maison sera munie d'un appareil émetteur 25 comprenant une caméra fixe capable de prendre des images suivant un grand angle. Cette caméra notée 170 sur la figure 2a sera constituée d'une lentille recevant les informations visuelles, d'une cellule CCD sur laquelle les informations visuelles sont formées, d'un amplificateur à gain contrôlé amplifiant le signal issu de la cellule CCD et d'un convertisseur analogique/numérique 30 numérisant au format de couleurs YUV et au format spatial CIF le signal amplifié.
On choisira, par exemple, un intervalle d'exposition compatible avec une séquence à 30 images/seconde.
La caméra sera couplée à un module de compression 172 qui comprend une unité de compression et une unité de transmission/réception de données numériques 182 sur le réseau.
L'unité de transmission/réception est, par exemple, une carte IEEE1394.
L'unité de compression est constituée d'une unité de calcul 174, d'une unité de stockage temporaire (mémoire RAM) 176, d'une unité de 10 contrôle 178 et d'un disque dur 180.
Comme représenté sur la figure 2b, l'appareil récepteur qui prend, par exemple, la forme d'un ordinateur central 112 est constitué, par exemple, d'une unité de calcul 192, d'une unité de stockage temporaire (mémoire RAM) 194, d'un disque dur 196, d'une unité de stockage longue durée (telle qu'un 15 système à bande magnétique ou un disque dur de grande taille) 198, d'un écran 200, d'une unité de transmision/réception de données numériques 202, d'un ensemble clavier et souris 204 et d'une unité de contrôle 206. L'unité de transmission/réception est, par exemple, une carte IEEE1394.
Il convient de noter que l'ordinateur central peut être remplacé par 20 une unité comportant une unité de calcul, une unité de stockage temporaire (mémoire RAM), un disque dur et une unité de transmission/réception de données numériques. Dans ce cas, toutefois, on suppose qu'un écran possédant une carte IEEE1394 est disponible sur le réseau. En cas d'alarme, l'information visuelle sera visualisée sur cet écran à travers le réseau.
On notera que l'appareil récepteur 112 comprend l'ensemble des moyens nécessaires à la mise en oeuvre de l'invention et qui sont, par exemple, réalisés au moins en partie sous la forme d'un programme d'ordinateur stocké dans l'un des moyens de stockage de l'appareil et qui est exécuté par l'unité de calcul.
Afin de permettre à l'ordinateur central de recevoir et d'analyser les différentes informations en provenance des appareils émetteurs, il faut établir une communication entre ces derniers et l'ordinateur central et il est nécessaire que l'ordinateur central ait tout d'abord connaissance des appareils présents sur le réseau.
Pour ce faire, l'ordinateur central peut, par exemple, fournir à l'utilisateur une interface de configuration lui permettant de saisir des 5 informations relatives aux appareils émetteurs qu'il a connectés au réseau domestique, notamment leur identifiant unique, aussi nommé EUI64. Grâce à cet identifiant, l'ordinateur central peut, au moyen d'un message DEP (signifiant en terminologie anglosaxonne "Discovery and Enumeration Protocol") tel que décrit dans le standard IEEE1394.1 ("P1394.1, Draft Standard for High10 Performance Serial Bus Bridges", October 24, 2002) et appelé requête de découverte d'EU164 ("EU164 discovery request" en terminologie anglosaxonne), obtenir le moyen d'adressage de la caméra identifiée par son EUI64, tel que défini dans les standards 1EEE1394.
Il est aussi concevable que l'ordinateur central utilise un message 15 DEP appelé requête de découverte par mot-clef ("keyword discovery request" en terminologie anglo-saxonne). Ce message permet à l'ordinateur central d'établir une requête à destination de tous les appareils connectés au réseau afin que ceux-ci s'identifient par rapport aux mots- clef, tels que décrits dans le standard IEEE1212 (IEEE1212 Std. - 2001, Standard for Control and Status 20 Registers Architecture for microcomputer buses) et fournis dans le message DEP (requête de découverte par mot-clef).
Un mot-clef peut être, par exemple, le mot caméra.
Les appareils répondant à cette requête feront ainsi partie de la liste des caméras auxquelles l'ordinateur central devra être connecté, celle-ci 25 pouvant être confirmée et affinée en parcourant leurs configurations ROMs (telles que définies dans les standards IEEE1394 et IEEE1212). D'autres types de découvertes d'équipements sont possibles, notamment en parcourant les configurations ROMs des appareils connectés au réseau, les équipements d'interface multimédia 150a à 150d de la figure 1 pouvant, à cet effet, intégrer 30 une fonctionnalité de serveur ou passerelle délégué ("proxy" en terminologie anglosaxonne).
Une fois que l'ordinateur central a obtenu les adresses des caméras (appareils émetteurs), telles que définies par les standards IEEE1394, il peut les piloter en utilisant des registres dédiés accessibles au moyen de transactions de type lecture, écriture et verrouillage, ou Read, Write & Lock en 5 terminologie anglosaxonne, et qui sont définies par les standards IEEE1394 et IEEE1212.
L'ordinateur central pourra donc demander aux appareils émetteurs de commencer à envoyer des informations temporelles (informations liées aux en-têtes d'images et aux vecteurs de mouvement de la séquence vidéo 10 considérée). Ces informations transiteront des appareils émetteurs vers l'ordinateur central préférablement en utilisant des transactions asynchrones de type Write, la transaction asynchrone dans le standard IEEE1394 permettant d'assurer l'intégrité des données transmises.
Une fois que l'ordinateur central identifiera le besoin d'obtenir un flux 15 d'images en provenance des appareils émetteurs, il établira alors une connexion isochrone des appareils émetteurs vers lui-même. La transaction isochrone dans le standard IEEE1394 permet d'assurer la cadence des données transmises, ce qui est approprié pour le transfert de données audiovidéo. L'établissement d'une connexion isochrone s'effectue selon un protocole 20 d'échange de messages dénommés JOIN, LISTEN, RENEW & STREAM STATUS qui sont définis dans le standard IEEE1394.1. La clôture d'une connexion isochrone s'effectue selon un protocole d'échange de messages LEAVE & STREAM STATUS définis dans le standard IEEE1394.1.
Dans l'exemple de réalisation décrit, on fait appel à une norme de 25 codage vidéo qui est la norme H.263 version 2 définie dans le document intitulé "Draft text of recommandation H.263 version 2 (H.-263+) for decision" de Gary Sullivan, rapport technique ITU-T, DRAFT 21, février 1998. Toutefois, on pourrait également utiliser d'autres standards de codage vidéo équivalents tels que le standard MPEG-4.
Le standard H.263 peut être classé dans l'ensemble des méthodes de codage vidéo hybrides qui s'appuient sur le codage de portions carrées d'une image que l'on appelle blocs. Ce standard définit une syntaxe de base à laquelle viennent s'ajouter un certain nombre de modes optionnels aux objectifs différents.
Parmi ces modes optionnels, un certain nombre est destiné à accroître la résistance du flux binaire.
D'autres modes tels que l'échelonnabilité ou scalabilité ("scalability" en terminologie anglosaxonne) ont été développés dans le but d'augmenter l'efficacité des systèmes de transmission vidéo dans le cas de transmission simultanée vers plusieurs utilisateurs ayant des capacités de réception et de décodage différentes.
L'échelonnabilité se traduit par une structure hiérarchique dans le flux binaire, chaque niveau du flux correspondant à un niveau d'incrément d'informations temporelles et/ou spatiales.
Les figures 5a1 et 5a2 qui seront décrites ultérieurement représentent un schéma de codage vidéo prédictif hybride avec une 15 compensation de mouvement basée sur les blocs de données des images d'une séquence vidéo à compresser et un codage par transformation.
On notera que chaque image d'une séquence est divisée en blocs de données de taille fixe (en général 8*8 pixels) et chaque bloc est ensuite traité plus ou moins indépendamment.
L'appellation "hybride" signifie que chaque bloc est codé avec une combinaison de compensation en mouvement et de codage par transformation.
En effet, un bloc est, dans un premier temps, prédit à partir d'un bloc d'une image précédente.
On appelle estimation de mouvement, l'estimation de la position du 25 bloc le plus proche visuellement du bloc courant dans l'image de référence.
Le déplacement entre le bloc de référence et le bloc courant est représenté par un vecteur de mouvement.
La compensation de mouvement consiste à prédire le bloc courant à partir du bloc de référence et du vecteur de mouvement. L'erreur de prédiction 30 entre le bloc original et le bloc prédit est codée avec une transformation de type DCT Transformée en Cosinus Discrète ("Discrete Cosinus Transform" en terminologie anglosaxonne), quantifiée et convertie sous forme de mots de codes binaires en utilisant des codes à longueur variable notés VLC ("Variable Length Codes" en terminologie anglosaxonne).
Le rôle de la compensation de mouvement est d'utiliser les corrélations temporelles entre images successives de la séquence vidéo pour accroître la compression.
La DCT permet de son coté de réduire les corrélations spatiales dans les blocs d'erreur.
Après les opérations de codage avec la DCT et de quantification, une majorité des hautes fréquences est réduite à 0. Le système visuel humain 10 étant peu sensible aux hautes fréquences spatiales, l'impact d'un tel codage sur l'aspect visuel reste faible.
Les coefficients DCT sont parcourus en zig-zag depuis les basses fréquences jusqu'aux hautes fréquences pour constituer un premier train binaire. La présence dans ce train binaire de nombreux zéros est mise à profit 15 par un code à longueur variable, qui est généralement et de façon connue mis en oeuvre par un codeur par longueur de plage ("runlength coding" en terminologie anglosaxonne), pour en réduire la taille.
On a supposé jusque-là que la prédiction temporelle était efficace et que le débit engendré par l'erreur de prédiction restait inférieur à celui du bloc 20 original codé sans compensation en mouvement. Ce mode de codage est généralement appelé mode P ou mode INTER. Dans certains cas, le cot de l'erreur de prédiction est trop important et une DCT et un codage utilisant un codeur par longueur de plage sont alors appliqués directement sur le bloc. On appelle ce mode de codage mode INTRA.
En pratique, l'estimation de mouvement est très souvent appliquée sur un ensemble de blocs appelé macro-bloc (MB) alors que la DCT, quant à elle, est appliquée sur un bloc. Les codeurs vidéos les plus courants utilisent des MB de taille 16*16. Les vecteurs de mouvement de MB adjacents étant le plus souvent proches, ils peuvent être codés prédictivement par rapport aux MB 30 déjà codés.
Une image peut être entièrement codée en mode INTRA et on l'appellera alors image INTRA. Ce type de codage est utilisé pour la première image de la séquence, mais aussi pour limiter la propagation de l'erreur de prédiction et de pertes, ou pour assurer des fonctionnalités telles que l'accès aléatoire, l'avance ou le retour rapide... Le nombre d'images INTRA est toutefois généralement limité pour obtenir de meilleurs taux de compression.
La majorité des images d'une séquence vidéo sont donc codées en mode P. Il n'est toutefois pas interdit d'insérer des MB INTRA dans une image P. Dans l'exemple de réalisation décrit, 1 image sur 15 du niveau de base sera codée en mode INTRA.
Le mode DP de partionnement des données ("Data Partitionning" en 10 terminologie anglosaxonne) décrit dans le document "Draft for "H.263++" Annexes U, V and W to recommendation. http://standard.pictel. com/ftp/videosite/hé-"plusplus/H.263ppWhiteContributionr2.doc" est un mécanisme efficace de robustification du flux de données binaires. Il permet de séparer les segments d'un flux binaire en fonction de leur importance. Des mécanismes 15 externes, tels que des codes correcteurs d'erreurs, pourront permettre de mieux protéger ou de privilégier l'acheminement des données les plus importantes.
Les en-têtes, les vecteurs de mouvement et les coefficients DCT de MB successifs ne sont plus entrelacés dans le flux binaire en suivant l'ordre de parcours de l'image, mais sont groupés dans des portions de flux différentes 20 (cette organisation est représentée en partie haute de la figure 3a).
Les en-têtes et les vecteurs de mouvements sont codés avec des codes à longueurs variables réversibles (RVLC) et les coefficients DCT qui ont une importance moindre sont codés, quant à eux, avec des codes VLC.
Ce mode de codage sera utilisé pour le codage des images du 25 niveau de base du flux binaire.
En effet, les en-têtes et les vecteurs de mouvement vont être séparés du reste des données provenant d'une image et ces deux parties de flux binaire ainsi constituées vont être encapsulées dans des paquets différents de données conformes au standard IEEE1394, comme indiqué en partie basse 30 de la figure 3a.
En fonctionnement normal (pas d'alarme), seuls les paquets contenant les vecteurs de mouvement seront transmis à l'ordinateur central 112 des figures 1 et 2b (appareil récepteur).
Comme énoncé plus haut, le niveau de base (LI) du flux binaire 5 d'une séquence vidéo qui a été compressée selon une méthode de codage hydrique s'appuyant sur le codage de blocs de données se compose uniquement d'images INTRA notées I et d'images P. La qualité de ce niveau peut être améliorée à la fois temporellement et spatialement en utilisant les différents modes d'échelonnabilité définis dans le standard H.263+, à savoir, 10 I'échelonnabilité spatiale, l'échelonnabilité temporelle et l'échelonnabilité SNR (échelonnabilité rapport signal sur bruit). Dans la suite de l'exposé, l'échelonnabilité temporelle et spatiale seront utilisées.
L'échelonnabilité temporelle est obtenue en utilisant des images prédites de manière bidirectionnelle. On appelle les images générées par ce 15 mode les images B. L'utilisation de ces images permet d'accroître l'efficacité de compression par rapport aux images P. Aucune image ne peut être prédite à partir des images B, ce qui permet de les retirer d'un flux binaire sans risquer d'affecter les images suivantes.
La figure 3b illustre la manière dont le niveau d'échelonnabilité 20 temporelle 2 (L2) est prédit à partir du niveau de base 1 (LI).
Le format d'une image B (hauteur*largeur) est toujours égal à celui de ses images de référence.
Un MB d'une image B peut être codé en mode avant ("forward" en terminologie anglosaxonne), arrière ("backward" en terminologie anglosaxonne) 25 et bidirectionnel.
Il convient de noter que l'on trouve également des MB INTRA dans les images B mais que ce mode ne sera pas utilisé dans ce qui suit.
Le mode avant est identique au mode INTER, le mode arrière est un mode INTER inversé temporellement et le mode bidirectionnel est une 30 combinaison des modes avant et arrière.
Dans ce dernier cas, deux prédictions de mouvement sont mises en oeuvre à partir des deux images encadrant l'image à coder. Chaque MB codé en mode bidirectionnel est donc associé à deux vecteurs de mouvement. Lors de la reconstruction, une moyenne des deux MB servant de prédiction est calculée en additionnant les valeurs de pixels puis en divisant cette somme par deux. On peut donc noter que les deux images servant à la prédiction doivent 5 être codées avant l'image B y faisant référence. On pourra rajouter ou non aux MB prédits, une erreur de prédiction calculée exactement comme en mode INTER.
En outre, le codage VLC des vecteurs de mouvement et des coefficients DCT se déroule comme pour les MB INTER et réutilise les mêmes 10 tables.
Le choix du mode de codage d'un MB est réalisé par une unité de contrôle du type de l'unité 178 de la figure 2a. L'unité de contrôle teste chaque mode de codage possible et conserve le mode qui permettra de minimiser la différence entre le MB prédit et le MB original. Dans la suite de l'exposé, on 15 choisira, par exemple, de toujours coder l'erreur de prédiction.
L'échelonnabilité spatiale consiste à améliorer la qualité d'un niveau inférieur (L1 ou L2 sur la figure 3b) en lui ajoutant de l'information spatiale. En général, ce mode suppose que le niveau de base Ll n'ait pas été codé à la résolution de la séquence originale, mais ait plutôt subi un sous-échantillonnage 20 afin de diviser sa résolution par quatre (division par deux des résolutions horizontales et verticales).
Le codage d'une image à un niveau d'amélioration spatiale débute alors par une interpolation d'une image du niveau de base afin de retrouver la résolution initiale. La méthode d'interpolation est décrite dans l'annexe 0 du 25 document définissant le standard H.263+ et cité plus haut.
On calcule ensuite la différence entre cette image et l'image originale de même taille. Ensuite, plusieurs modes de codage peuvent être utilisés pour les MB de l'image d'amélioration: les modes ascendant ("upward" en terminologie anglosaxonne), avant et bidirectionnel.
Le mode ascendant consiste à coder la différence en utilisant les mêmes méthodes que pour une image INTRA. Toutefois, le paramètre de quantification utilisé pour le niveau d'amélioration est en général inférieur à celui du niveau de base, ce qui assure qu'en plus d'une amélioration de la résolution spatiale, on améliore la qualité.
On notera qu'une image ne contenant que des MB ascendants est dite El ("Enhancement INTRA" en terminologie anglosaxonne). On supposera 5 ici que toutes les images INTRA seront améliorées par une image El (niveau L3 sur la figure 3b.
Le mode avant est fondé, quant à lui, sur la prédiction temporelle.
Une image contenant une combinaison de MB avant et ascendant est dite EP.
Le codage d'une image EP débute, lui aussi, par une interpolation de l'image du niveau de base et une différence entre l'image originale et l'image interpolée est calculée.
Deux images de référence sont donc stockées: l'image du niveau de base interpolée et l'image du niveau d'amélioration spatiale précédente (El ou 15 EP au niveau L3 de la figure 3b).
Cette dernière image est utilisée pour procéder à une estimation de mouvement dans l'image courante. On obtient alors un vecteur de mouvement pour chaque MB de l'image courante. Après compensation en mouvement de l'image de référence, on compare pour chaque MB les modes ascendant et 20 avant et l'on conserve le mode qui permet de minimiser la différence entre le MB original et le MB prédit.
Ainsi, le module de compression 172 de l'appareil émetteur de la figure 2a (appareils 111a-d de la figure 1) compresse les données selon le standard H.263 version 2 et les données seront codées sous format 25 échelonnable avec quatre niveaux d'échelonnabilité Ll, L2, L3, L4 tels que représentés en figure 3b.
Le niveau de base est codé à 15 images/seconde avec une image I toutes les quinze images, le reste des images étant codé en mode P. Ce niveau Ll est codé suivant le mode "data-partitionning" de l'annexe V du standard 30 H.263 version 2. Selon ce mode, on sépare, en effet, dans une image les données d'en-tête et les vecteurs de mouvement, d'une part, des données DCT, d'autre part (figure 3a), ce qui facilite l'accès aux données d'en-tête et aux vecteurs de mouvement.
Le niveau 2 (L2) est un niveau d'amélioration temporelle ne contenant que des images B. Ce niveau, lorsqu'il est associé au niveau 1, double sa fréquence temporelle.
Le niveau 3 (L3) est un niveau d'amélioration spatiale. Il fait correspondre à chaque image I (respectivement P) du niveau de base une image El (respectivement EP).
Le niveau 4 (L4) insère des images B entre les images issues des 10 niveaux LI et L3.
On va maintenant décrire en référence à la figure 4 le procédé, selon l'invention, d'analyse de plusieurs séquences vidéo présentes au niveau d'appareils émetteurs SI, S2, S3, S4, S5, S6 considérés comme des sources de données vidéo.
Ces appareils sont, par exemple, du type de ceux représentés sur la figure 1 et notés 111 a, 111 b, 111 c et 1 1 1 d (caméras de vidéo surveillance) et de celui représenté sur la figure 2a.
La figure 4 illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon 20 l'invention.
Le programme informatique qui est basé sur cet algorithme est mémorisé, pour partie, dans l'appareil émetteur de la figure 2a et, pour partie, dans l'appareil récepteur 112 (ordinateur central) de la figure 2b.
L'exécution de ce programme informatique permet ainsi de mettre en 25 oeuvre le procédé selon l'invention.
L'algorithme de la figure 4 débute par une première étape E10 au cours de laquelle on procède à la compression d'une séquence vidéo.
Cette étape est effectuée par l'appareil émetteur de la figure 2a au niveau duquel la séquence vidéo est présente.
On va maintenant décrire en relation avec les figures 5ai, 5a2, 5b, 5c le processus de compression et, en relation avec la figure 6, le processus de décompression.
Comme exposé plus haut, les figures 5a1 et 5a2 illustrent un schéma de codage vidéo prédictif hybride qui est appliqué aux images de la séquence vidéo par le module de compression 172 de la figure 2a et, plus particulièrement, par l'unité de calcul 174.
Le codage d'une séquence vidéo débute à l'étape E98 par la réception d'une image d'un signal vidéo au format YUV à une cadence de 30 images par seconde. Ce signal vidéo peut provenir, comme dans le mode préféré de l'invention, de la caméra 170 ou de l'unité de stockage 180 de la figure 2a.
On supposera que chaque image est numérotée.
L'étape E98 est suivie de l'étape E99 qui teste si le numéro de l'image courante est un multiple de 2.
Si c'est le cas, l'étape E99 est suivie de l'étape E100 (figure 5a2) au cours de laquelle on procède à un sous-échantillonnage par quatre de l'image 15 originale. Les images ainsi sous-échantillonnées serviront d'images originales pour le codage du niveau de base (LI).
La première image d'une séquence étant systématiquement codée en mode INTRA, l'étape El00 est suivie directement de l'étape E101.
Au cours de cette étape on procède au découpage de l'image en 20 blocs de données de taille 8*8 pixels. Chaque bloc subit alors une transformation en cosinus discret (DCT) selon la méthode décrite dans l'article intitulé "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992. Les 64 coefficients DCT d'un bloc sont alors stockés dans un tableau noté coeff 25 dans l'unité de stockage temporaire 176 de la figure 2a.
L'étape E101 est suivie de l'étape E102 au cours de laquelle on procède à la quantification des coefficients DCT des blocs obtenus à l'étape précédente. Le processus de quantification appliqué dans le standard H. 263 version 2 pour les blocs INTRA est représenté par l'algorithme de la figure 5b 30 dont la description suit.
Ce processus de quantification commence à l'étape E130 par l'initialisation de la variable i à 0 et par la création du tableau qcoeff devant recevoir les coefficients DCT quantifiés. Ces deux variables sont stockées dans l'unité de stockage 176 de la figure 2a.
L'étape E130 est ensuite suivie de l'étape E131 o l'on teste la valeur de i.
Si i est égal à 64, on passe à l'étape E1 39 o l'on arrête le processus de quantification.
Dans le cas contraire, l'étape E131 est suivie de l'étape E132 au cours de laquelle on teste une nouvelle fois la valeur de i.
Si i=0 (cette valeur indique que l'on traite le coefficient basse 10 fréquence: coefficient DC), l'étape E132 est suivie de l'étape E133 o qcoeff prend la valeur qcoeff[0] = max(1,min(254,(coeff[0]+4)/8)).
Notons que max(a,b) indique que l'on garde la valeur maximale entre a et b, min(a,b) indique que l'on garde la valeur minimale et signe(a) indique que l'on prend le signe de a.
L'étape E133 est ensuite suivie de l'étape E138.
Si au contraire, à l'étape E132 i est différent de 0, alors cette étape est suivie de l'étape E134 au cours de laquelle on crée une variable level dans l'unité de stockage temporaire 176 et prenant la valeur coeff[i]/(2.QP). QP représente le paramètre de quantification affecté au bloc et qui 20
peut être fixé pour l'image ou variable. On supposera que QP est fixé pour chaque niveau d'échelonnabilité et est donc le même pour chaque bloc de chaque image d'un même niveau. QP est, par exemple, fixé à 13 pour le niveau de base.
L'étape E134 est suivie de l'étape E135 au cours de laquelle on teste 25 la valeur de QP.
Si QP est inférieur à 8, qcoeffest calculé suivant la formule donnée à l'étape E137, à savoir qcoeff[i] = signe(coeff[i].level).
Sinon, qcoeffest calculé suivant la formule donnée à l'étape E136, à savoir qcoeff[i] = min(127,max(-127,signe(coeff[i].level)).
Dès son utilisation, la variable level est effacée de l'unité de stockage temporaire 176 de la figure 2a. Ces deux dernières étapes sont suivies par l'étape E138 au cours de laquelle on incrémente la variable i d'une unité et cette étape est suivie de l'étape E131 déjà décrite ci-dessus.
De retour à la figure 5a2, l'étape E102 est suivie de l'étape E103 au cours de laquelle les coefficients quantifiés, préalablement mis sous forme 5 binaire, sont parcourus en zig-zag. Le train binaire de chaque bloc est ensuite codé indépendamment par le codeur à longueur variable. Le parcours en zigzag et le codage VLC reprendront, par exemple, les méthodes décrites dans le document intitulé "Information technologyGeneric coding of audio-visual objects = part2: visual, ISO/IEC JTC 1/SC 29/WG 1I N3056, December 1999".
Lorsque tous les blocs de l'image ont été traités, le train binaire obtenu par le codage des coefficients est concaténé aux autres informations de codage de l'image courante (informations d'en-tête H.263 version 2) et aux informations provenant des images précédentes. Le codage de l'image INTRA s'arrête à cette étape.
Les étapes suivantes décrivent la reconstruction d'un MB qui est en effet nécessaire en codage prédictif lorsqu'une image servira de référence à l'image qui la suit.
On notera que l'on reconstruit les images telles que le décodeur les recevra.
L'étape E102 est également suivie de l'étape E104 au cours de laquelle on procède à la quantification inverse de l'image courante.
Cette étape est suivie par l'étape E105 au cours de laquelle on procède à la transformation en cosinus discret inverse des coefficients déquantifiés. Ces deux derniers processus seront décrits ultérieurement lors de 25 la description du processus de décodage.
Pour une image INTRA, l'image ainsi reconstruite est directement stockée dans l'unité de stockage temporaire 176 de la figure 2a, comme représenté à l'étape E106, en vue du codage des images suivantes.
Comme indiqué précédemment, les images du flux binaire de base 30 peuvent être codées, soit en mode INTRA, soit en mode P. Le codage en mode P débute par l'arrivée d'une nouvelle image au format YUV à l'étape E100.
Dans un premier temps, cette image est envoyée à un estimateur de mouvement (étape E107). Au cours de cette étape, l'image est découpée en MB de taille 16*16 et chaque MB est ensuite traité successivement.
L'étape E107 applique une méthode classique d'estimation de 5 mouvement par comparaison des MB de l'image courante avec ceux de l'image précédente. Les algorithmes mis en oeuvre s'appuient sur l'hypothèse simplificatrice que les pixels d'un même MB sont animés du même mouvement.
Le vecteur de mouvement d'un MB d'une image courante est alors obtenu en trouvant le MB le plus ressemblant dans l'image précédente (image de 10 référence) dans une fenêtre de recherche choisie a priori. Par défaut, la fenêtre de recherche définie par le standard H.263 version 2 correspond à l'image entière. L'image de référence est, quant à elle, l'image stockée dans l'unité 176 lors de l'étape E106.
Si la taille de recherche influence le temps de calcul de l'estimation 15 de mouvement, le problème majeur de l'estimation de mouvement par comparaison des MB reste la détermination de la distance. On utilisera, par exemple, la méthode d'estimation de mouvement décrite dans le document intitulé "Estimation de mouvement en ligne" de L. Difdier, R. Kamdem, LIM Université de Provence, Décembre 1996.
Un vecteur de mouvement à deux composantes de mouvement translationnel est ainsi obtenu et les deux composantes sont codées par un codage VLC à l'étape E103 en utilisant la table donnée dans le standard H.263+ cité plus haut.
Les coefficients ainsi obtenus sont stockés dans l'unité de stockage 25 176 de la figure 2a en vue de leur concaténation aux autres informations de codage de l'image courante.
L'étape E107 est ensuite suivie de l'étape E108 au cours de laquelle s'effectue la compensation en mouvement du MB courant. Au cours de cette étape, chaque MB de l'image est translaté du mouvement indiqué par son 30 vecteur de mouvement. L'image compensée en mouvement est stockée dans l'unité 176.
On procède ensuite à la comparaison de l'image obtenue avec l'image originale en calculant la différence entre les deux images (étape E109).
L'image de différence est stockée dans l'unité 176.
Le mode de codage est choisi en fonction de l'activité du MB par 5 l'unité de contrôle 178 à l'étape El 10. Cette activité est, par exemple, mesurée par la différence entre le MB courant et le MB prédit. Si la différence est supérieure à un seuil, le MB est codé en mode INTRA et il sera codé en mode INTER dans le cas contraire.
Si le MB est codé en mode INTRA, le codage s'effectue selon le 10 processus décrit précédemment.
Si le MB est codé en mode INTER, les étapes E109 et E110 sont suivies par l'étape E101. Au cours de cette étape on applique une transformation en cosinus discret sur les blocs de chaque MB de l'image de différence à coder en mode INTER. Les coefficients DCT obtenus sont stockés 15 dans l'unité de stockage 176 dans un tableau coeff.
Cette étape est suivie de l'étape E102 au cours de laquelle on quantifie les MB de coefficients transformés selon le processus décrit en figure 5c. Lors de ce processus, chaque bloc du MB est traité successivement.
Ce processus débute à l'étape E150 par l'initialisation de la variable i 20 à 0 et la création du tableau qcoeff devant recevoir les coefficients quantifiés.
Cette étape est suivie de l'étape E151 qui teste si i égal 64.
Si c'est le cas, le processus s'arrête à l'étape E157 et l'on passe à un autre bloc si tous les blocs de l'image n'ont pas été traités.
Dans le cas contraire, l'étape E151 est suivie de l'étape E152 qui 25 crée la variable level et lui affecte la valeur suivante (Icoeff[i]l/(2. QP)QP/2)/(2.QP). Là encore QP indique le paramètre de quantification du MB.
L'étape E152 est suivie de l'étape E153 au cours de laquelle on vérifie la valeur de QP.
Si QP est supérieure à 8, qcoeff prend la valeur indiquée par l'étape 30 E154, à savoir min(127,max(-127,signe(coeff[i]),level)).
Sinon, qcoeff prend la valeur indiquée par l'étape E155, à savoir signe (coeff[i].level).
Ces deux dernières étapes sont suivies par l'étape E156 qui incrémente la variable i d'une unité et l'on retourne ensuite à l'étape El51 déjà décrite ci-dessus. On notera que le tableau qcoeff est stocké dans l'unité 176 de la figure 2a.
De retour à la figure 5a2, lorsque tous les MB sont quantifiés, l'étape E102 est suivie de l'étape E103, au cours de laquelle on procède au codage VLC des coefficients DCT quantifiés et on concatène le train binaire obtenu avec les autres informations de codage (en-tête, vecteur de mouvement, train binaire des images précédentes).
Ceci met fin au codage des MB INTER des images P. Notons que dans le mode de codage par défaut du standard H.263 version 2, le train binaire correspondant aux coefficients DCT de chaque MB est précédé de son vecteur de mouvement (s'il existe) et de son en-tête de MB.
Tous les MB se suivent donc dans le train binaire.
L'étape E102 déjà décrite est également suivie de l'étape E104 au cours de laquelle on procède à la quantification inverse de l'image courante.
Cette étape est suivie par l'étape E105 dans laquelle on procède à la transformation en cosinus discret inverse des coefficients déquantifiés. Ces deux derniers processus seront décrits ultérieurement lors de la description du 20 processus de décodage.
Pour les MB INTRA, l'étape El05 est suivie de l'étape E106 au cours de laquelle le MB est stocké dans l'unité 176 de la figure 2a.
Pour les MB INTER, on additionne à l'étape ElIi les coefficients DCT des MB reconstruits aux MB correspondant issus de l'image compensée 25 en mouvement. Les MB ainsi obtenus sont stockés dans l'unité 176 de la figure 2a. L'ensemble des MB stockés sont re-positionnés pour former une image qui servira de référence pour le codage des images suivantes.
La mise en oeuvre du codage/décodage du niveau hiérarchique d'amélioration 2 du flux de données vidéo (L2 sur la figure 3b) sera peu 30 différente de celle du niveau de base Ll.
Une image B sera ainsi, par exemple, insérée entre chaque image du niveau de base comme indiqué en figure 3b.
Lorsque les deux images de référence d'une image B seront codées, elles seront stockées dans l'unité de stockage 176 (étape E106).
* On va maintenant mettre en avant, à l'aide des figures 5al et 5a2, les différences entre le codage du niveau de base et celui du niveau d'amélioration temporelle 2.
On peut considérer que le codage d'une image B commence à l'étape E99 (figure 5al) lorsque le numéro de l'image courante n'est pas un multiple de 2. A cette étape, l'image courante est stockée dans l'unité 176.
Cette étape est suivie de l'étape El 13 au cours de laquelle on vérifie 10 que les deux images de référence nécessaires au codage de l'image B courante ont bien été codées.
Si ce n'est pas le cas, on retourne à l'étape E98 pour recevoir l'image suivante.
Si c'est le cas, cette étape est suivie de l'étape El07a (figure 5a2)au 15 cours de laquelle on effectue deux estimations de mouvement (avant et arrière).
L'algorithme d'estimation de mouvement appliqué est en tous points identiques à celui utilisé lors de l'étape El 07.
Trois types de compensation en mouvement sont ensuite réalisés à l'étape E108a (avant, arrière et bidirectionnel). On ajoute de plus, lors de cette 20 étape, une procédure de moyennage des deux MB nécessaires à la prédiction en mode bidirectionnel.
Le contrôle du type de MB effectué à l'étape E110a se fait en sélectionnant un type parmi les types avant, arrière et bidirectionnel.
Le codage de l'erreur de prédiction qui est ensuite effectué aux 25 étapes E109a, ElOla, E102a, E103a est en tous points identique au codage pratiqué pour le mode INTER (étapes E109, E101, E102, E103).
Le paramètre de quantification QP du niveau 2 sera, par exemple, égal à 13. A la différence des images P (voir les étapes E104, E105, E106 et El 1l décrites plus haut), on ne procède pas à la reconstruction des MB codés 30 car l'image B ne servira jamais de référence.
Le codage des images B du niveau 4 (L4 sur la figure 3b) sera en tous points identique à celui qui vient d'être décrit, hormis les deux images de référence utilisées qui changeront. En effet, dans ce cas, on utilisera les images El et/ou EP, qui sont stockées dans l'unité 176 de la figure 2a lors de l'étape El 06b, comme références pour les images B de ce niveau.
Notons que le paramètre de quantification QP du niveau 4 sera, par
exemple, égal à 5.
En outre, les codages des niveaux 2 et 4 peuvent se faire séquentiellement ou parallèlement.
Le codage du niveau hiérarchique 3 d'amélioration spatiale (L3 sur la figure 3b) débute lorsque le numéro de l'image courante est un multiple de 2 10 (E99, figure 5al) et que l'image de référence nécessaire au codage de l'image courante à été codée et stockée dans l'unité 176 de la figure 2a (étape E114).
Le codage d'une image El ou EP se poursuit ensuite parallèlement par les étapes El 12 et El07b.
A l'étape El 12, une interpolation de l'image de base stockée dans 15 l'unité 176 à l'étape E106 et correspondant temporellement à l'image courante est réalisée et est à son tour stockée dans l'unité 176.
On calcule ensuite la différence entre l'image originale et l'image interpolée à l'étape El09b et cette différence est stockée dans l'unité 176.
Si l'image de base est une image 1, l'image d'amélioration sera une 20 image El et l'unité de contrôle 178 décide alors à l'étape E110b de coder tous les MB de l'image en mode ascendant. Le mode ascendant consiste à coder la différence stockée dans l'unité 176 en utilisant les mêmes méthodes que pour une image INTRA (étapes El01 b, El02b, El03b, El04b, El05b correspondant respectivement aux étapes El 01, El 02, El 03, El 04, El 05 décrites plus haut). 25 Le codage d'une image El se poursuit à l'étape Elllb par la reconstruction de l'image codée et par son stockage à l'étape E106b dans l'unité 176.
La reconstruction consiste à additionner aux MB issus de l'étape E105b les MB correspondants (de même position spatiale) obtenus par 30 interpolation de l'image de base (étape El 12). Cette image reconstruite servira de référence pour les images suivantes.
Lorsque l'image de base est une image P, l'unité de contrôle choisit de coder les MB de l'image du niveau d'amélioration spatiale 3 en mode ascendant ou avant (image EP).
Le choix du mode de codage des MB se fait à l'étape El 1 Ob.
Le codage d'une image EP débute lui aussi par une interpolation de l'image du niveau de base (étape E112).
Une différence entre l'image originale et l'image interpolée est calculée (étape E109b) et cette différence est stockée dans l'unité 176. Deux images sont donc stockées dans l'unité 176: l'image du niveau de base 10 interpolée et l'image du niveau d'amélioration spatiale précédente (El ou EP).
Cette dernière image est utilisée à l'étape El07b pour procéder à une estimation de mouvement dans l'image courante. On obtient alors un vecteur de mouvement pour chaque MB de l'image courante.
L'étape E107b est suivie de l'étape E108b au cours de laquelle on 15 procède à la compensation en mouvement de l'image de référence.
Cette étape est suivie de l'étape E109b au cours de laquelle l'unité de contrôle 178 choisit le mode de codage et l'on conserve le mode qui permet de minimiser la différence entre le MB original et le MB prédit.
L'étape E109b est suivie des étapes ElOlb, E102b et E103b pour le 20 codage et le paramètre de quantification QP pour le niveau 3 est, par exemple, égal à 5.
L'étape E102b est également suivie des étapes E104b, E105b et E111b pour la reconstruction de l'image qui sera stockée dans l'unité 176à l'étape EI06b.
Il convient de noter que les processus explicités ci-après en référence à la figure 6 n'interviennent qu'à l'étape E25 de l'algorithme de la figure 4 et sont mis en oeuvre par l'appareil récepteur (ordinateur central 112).
La figure 6 illustre le procédé de décodage des MB codés en mode INTRA (étapes E321 à E324) ou en mode INTER (étape E328 à E333) mis en 30 oeuvre par l'unité de calcul 192 de l'appareil récepteur 112 (figure 2b).
L'algorithme de la figure 6 débute par une première étape E319 qui récupère le mode de codage du MB courant inscrit dans le train binaire stocké dans l'unité 194 de la figure 2b.
L'étape E319 est suivie de l'étape E320 qui effectue un test afin de savoir si le MB a été codé en mode INTRA ou ascendant.
Si c'est le cas, l'étape E320 est suivie de l'étape E321 qui récupère, à partir de l'unité de stockage 194 de l'appareil récepteur 112, les coefficients statistiques (codes à longueur variable) liés à ce MB.
L'étape E321 est suivie de l'étape E322 qui décode ces coefficients 10 selon la table de coefficients décrite dans le standard H.263+ cité plus haut. Les coefficients ainsi obtenus forment un ensemble de données bidimensionnelles QF[u][v].
L'étape E322 est suivie de l'étape E323 qui dé-quantifie les valeurs de QF[u][v] selon un algorithme de quantification inverse pour obtenir le tableau 15 bi-dimensionnel F[u][v].
L'algorithme de quantification inverse d'un MB est le suivant: for (i = 0; i < 64; i++) if (qcoeff[block * 64 + i]) if (advanced_intracoding && Mode == MODE INTRA) /* Advanced intra coding dequantization */ rcoeff[block * 64 + i] = (QP * (2 * qcoeff[block * 64 + i])); else if ((QP % 2) == 1) rcoeff[block * 64 + i] = QP * (2 * abs (qcoeff[block * 64 + i]) + 1); else rcoeff[block * 64 + i] = QP * (2 * abs (qcoeff[block * 64 + i]) + 1) 1; rcoeff[block * 64 + i] = signe (qcoeff[block * 64 + i]) * rcoeff[block * 64 + i]; 5} else rcoeff[block * 64 + i] = 0; 10} if (Mode == MODE INTRA && (!advanced_intra_coding)) rcoeff[block * 64] = qcoeff[block * 64] * 8; 15} Dans cet algorithme, block est une variable prenant les valeurs 0, 1, 2 ou 3 pour couvrir tous les blocs d'un MB, qcoeff représente les coefficients quantifiés obtenus après le décodage des blocs codés en mode VLC, rceoff 20 représente les coefficients DCT obtenus après quantification inverse, Mode est le mode de codage du MB, QP est le paramètre de quantification du MB, abs(a) est la valeur absolue de a, " advanced_intra_coding " est un mode de codage particulier qui n'est pas explicité ici car il ne sera pas utilisé dans la description de l'exemple de réalisation.
L'étape E323 est suivie de l'étape E324 qui reconstruit les valeurs des pixels du MB courant en fonction des coefficients DCT F[u][v] selon la méthode de décodage décrite dans l'article intitulé "Fast Algorithms for the Discrete Cosine Transform" E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992.
L'étape E324 est suivie de l'étape E325 au cours de laquelle on teste si le MB est codé en mode ascendant.
Si ce n'est pas le cas (le MB est un MB codé en mode INTRA), les valeurs sont stockées à l'étape E334 dans l'unité 194 de la figure 2b en vue d'être visualisées sur l'unité 200 et/ou stockée sur l'unité de stockage longue durée 198.
Si c'est un MB codé en mode ascendant, l'étape E325 est suivie de l'étape E326. Au cours de cette étape, si c'est le premier MB ascendant traité dans cette image, on interpole l'image de base stockée dans l'unité 194 de la figure 2b et on récupère les données relatives au MB situé à la même position spatiale que le MB courant.
L'étape E326 est suivie de l'étape E327 au cours de laquelle, on additionne les données provenant du MB de base et celles provenant du MB d'amélioration.
L'étape E327 est suivie de l'étape E334 qui stocke les MB décodés dans l'unité 194 de la figure 2b.
De retour à l'étape E320, si le MB n'a pas été codé en mode INTRA ou ascendant, l'étape E320 est suivie de l'étape E328 qui récupère le vecteur (ou les vecteurs en mode bidirectionnel) de mouvement codé en mode VLC dans le train binaire.
L'étape E328 est suivie de l'étape E329 qui décode ces coefficients 20 statistiques de manière à obtenir le vecteur de mouvement (resp. les vecteurs de mouvement en mode bidirectionnel).
L'étape E329 est suivie de l'étape E330 au cours de laquelle le MB de l'image de référence (resp. les MB des images de référence) est compensé, c'est-à-dire que le MB est déplacé du vecteur de mouvement ainsi calculé. 25 Les images de référence varient selon le mode de codage: - Si c'est un MB codé en mode INTER, on utilise l'image du niveau de base précédente; Si c'est un MB codé en mode avant, on utilise l'image précédente obtenue après le décodage des niveaux 1 et 3 (si l'image courante est une 30 image B du niveau 2, on utilise seulement le niveau 1); - Si c'est un MB codé en mode arrière, on utilise l'image suivante obtenue après le décodage des niveaux 1 et 3 (si l'image courante est une image B du niveau 2, on utilise seulement le niveau 1); - Si c'est un MB codé en mode bidirectionnel, on utilise les images 5 précédente et suivante obtenues après le décodage des niveaux 1 et 3 (si l'image courante est une image B du niveau 2, on utilise seulement le niveau 1).
Les images de référence sont stockées dans l'unité 194 de la figure 2b tant qu'elles sont nécessaires.
L'étape E330 est suivie de l'étape E331 qui récupère les coefficients 10 statistiques DCT représentant le MB de différence et les stocke dans l'unité de stockage 194.
L'étape E331 est suivie de l'étape E332 qui reconstruit le MB de différence à partir de ces coefficients statistiques selon le décodage INTRA décrit précédemment.
L'étape E332 est suivie de l'étape E333 qui calcule la somme du MB compensé et du MB de différence.
L'étape E333 est suivie de l'étape E334 qui stocke les MB décodés sur l'unité 194 en vue d'être visualisés sur l'unité 200 et/ou stockés sur l'unité de stockage longue durée 198 (figure 2b).
De retour à la figure 4, en fonctionnement normal, l'unité de transmission/réception 182 de l'appareil émetteur de la figure 2a (sources de données vidéo 51 à 56) ne transmet vers l'ordinateur central 112 (appareil récepteur) que la partie du niveau 1 de la séquence vidéo, c'est-à-dire la partie contenant les en-têtes et les vecteurs de mouvement de chaque MB codé de 25 chaque image (étape El 1).
L'étape El I est suivie de l'étape E12 o l'unité de contrôle 206 de l'ordinateur central vérifie la bonne réception des vecteurs de mouvement provenant de chaque appareil émetteur connecté sur le réseau.
Si pendant une seconde, aucun vecteur de mouvement n'est reçu de 30 la part d'un appareil émetteur, une alarme est déclenchée à l'étape E120. Cette alarme consiste à afficher un message sur l'écran 200 de la figure 2b indiquant qu'un incident se produit dans la pièce o se trouve l'appareil émetteur (par exemple, la caméra est débranchée ou défectueuse) . Notons que chaque appareil émetteur est reconnu grâce à son numéro de connexion suivant le standard IEEE1394 (numéro de noeud sur le bus IEEE1394) transporté dans les paquets conformes au standard IEEE1394.
De plus, l'utilisateur associe à chaque numéro de connexion lors de l'installation du système, un nom de pièce de la maison (cuisine, chambre 1, ...) et ce nom est stocké sur le disque dur 196 de l'ordinateur central. L'unité de calcul 192 vient lire ce nom en cas d'alarme.
Dans le cas contraire (bonne réception), l'ordinateur central reçoit de 10 la part de chaque appareil émetteur connecté au réseau des données d'en-tête et des vecteurs de mouvement à l'étape E13.
Ces informations sont représentatives de l'activité temporelle de la séquence vidéo qui est présente au niveau de l'appareil émetteur concerné. En outre, ces informations occasionnent, lors de leur transmission sur le réseau, un 15 débit très faible, ce qui est particulièrement avantageux.
Les informations issues de chaque appareil émetteur et obtenues par l'appareil récepteur sont traitées aux étapes E14,E15, E16 et E17 en parallèle pour chaque appareil.
Suivant ces étapes respectives, les informations temporelles 20 obtenues sont analysées (E14) et, en fonction du résultat de l'analyse (E15), il est décidé: - soit de générer une requête à destination de l'appareil émetteur qui a transmis ces informations temporelles afin d'obtenir ultérieurement des informations représentatives de l'activité spatiale de la séquence vidéo 25 considérée (E17), - soit de ne pas générer une telle requête (E16).
Les étapes E14, E15, E16 et E17 sont reprises de façon plus détaillée dans l'algorithme de la figure 7 qui comporte différentes instructions ou portions de code correspondant à des étapes du procédé selon l'invention.
L'exécution de cet algorithme par l'unité de calcul 192 de l'ordinateur central 112, et donc l'exécution du programme d'ordinateur P stocké dans l'unité de stockage 194 ou dans le disque dur 196 et qui s'appuie sur l'algorithme, permet de mettre en oeuvre le procédé selon l'invention dans l'ordinateur 112.
L'algorithme débute à l'étape E600 par la réception des vecteurs de mouvement et des données d'en-tête d'une image. Ces informations sont 5 reçues par la carte IEEE1394 et redirigées vers l'unité de stockage temporaire 194. Pour chaque image, l'unité de calcul 192 calcule la norme cumulée V,, de tous les vecteurs de mouvement des MB de l'image, ce qui revient à déterminer un indice d'activité temporelle de la séquence vidéo considérée à partir des informations temporelles obtenues. V. est initialisée à la valeur 0 à l'étape 10 E600, l'indice k indiquant ici le numéro de l'image courante.
L'étape E600 est suivie de l'étape E601 o l'on compare l'indice déterminé V" à une borne Vmx (premier indice seuil prédéterminé). La borne Vm, est, par exemple, fixée empiriquement par l'utilisateur lors de l'installation du système. Il pourra utiliser pour cela, par exemple, un ensemble de 15 séquences vidéo d'entraînement ayant des mouvements hétérogènes, ce qui lui permettra de décider visuellement au delà de quel mouvement une alarme doit être déclenchée. La norme des vecteurs de mouvement cumulée sera alors conservée et servira de borne Vmax Si l'indice V* est inférieur à Vax, l'étape E601 est suivie par l'étape 20 E602 qui vérifie que le numéro n du MB courant est inférieur au nombre de MB dans une image NMB.
Si c'est le cas, l'étape E602 est suivie de l'étape E603 au cours de laquelle on calcule la norme V, du vecteur de mouvement du MB courant, x et y représentant les deux composantes du vecteur.
V, est ajoutée à Vz, à l'étape E604 et cette étape est suivie de l'étape E605 qui incrémente n d'une unité.
Si au cours de l'étape E602 n a atteint NMB, alors cette étape est suivie d'une étape E609 au cours de laquelle il est décidé de ne pas demander d'informations supplémentaires pour l'image courante. Cette étape est ensuite 30 suivie de l'étape E600 déjà décrite pour passer à l'analyse de l'image suivante.
Si au cours de l'étape E601 l'indice V* est supérieur à V, cela signifie qu'un mouvement significatif a été détecté par l'appareil émetteur concerné, alors l'étape E601 est suivie de l'étape E606 au cours de laquelle on compare V. à VHM qui représente un indice de fort mouvement (deuxième indice seuil prédéterminé).
Si Vz, est supérieure à VHM, cela signifie qu'un fort mouvement à été détecté et un indicateur de fort mouvement est alors stocké dans l'unité de stockage temporaire 194 de la figure 2b (E607).
Par exemple, VHM = 162 +162, ce qui signifie qu'au moins un MB 10 s'est déplacé d'un mouvement tel qu'il ne recouvre plus le MB d'origine.
Les étapes E606 et E607 sont ensuite suivies de l'étape E608 qui transmet à l'appareil émetteur concerné (caméra) une requête en vue de l'obtention des informations représentatives de l'activité spatiale de la séquence vidéo considérée, à savoir des informations spatiales du niveau 1 (données 15 DCT).
Si V., est inférieure ou égale à VHM (le mouvement détecté n'est pas considéré comme un fort mouvement), alors l'étape E606 est suivie de l'étape E608 déjà décrite.
On notera que dans tous les cas, l'étape E601 est suivie de l'étape 20 E602 jusqu'à traitement de tous les MB de l'image et la valeur finale de V>k est stockée dans l'unité de stockage temporaire 194.
On notera que, quel que soit le résultat du test de comparaison visé à l'étape E606, des informations représentatives de l'activité spatiale dela séquence vidéo considérée seront demandées à l'étape E608.
De retour à la figure 4, si aucun mouvement n'a été détecté à l'étape E15, cette dernière est suivie de l'étape E16 au cours de laquelle la décision de n'envoyer aucune requête est prise.
En cas de détection de mouvement (E607), une requête est envoyée à l'appareil émetteur concerné à l'étape E17 (E608). Cette requête est reçue par l'appareil émetteur concerné, ce qui déclenche la transmission à l'étape E18, d'informations spatiales (données DCT du niveau 1).
Ces informations spatiales sont reçues par l'appareil récepteur 112 (l'ordinateur central) à l'étape E19 et sont analysées à l'étape E20.
La figure 8 comporte différentes instructions ou portions de code correspondant à des étapes du procédé selon l'invention.
L'exécution de cet algorithme par l'unité de calcul 192 de l'ordinateur central 112, et donc l'exécution du programme P stocké dans l'unité de stockage 194 ou dans le disque dur 196 et qui s'appuie sur l'algorithme permet 10 de mettre en oeuvre le procédé selon l'invention dans l'ordinateur 112.
La figure 8 illustre le processus mis en oeuvre lors de la réception des données DCT du niveau 1 et représenté sur la figure 4 par les étapes E19, E20, E21, E22 et E23.
On notera que l'étape E22 est optionnelle.
L'algorithme débute à l'étape E700 par la réception des données DCT. Lors de cette étape, on initialise n, u Eket n,, à 0 o a,, et a désignent respectivement la variance du nième MB et la variance cumulée des n premiers MB.
L'étape E700 est suivie de l'étape E701 qui vérifie que tous les MB 20 de l'image courante n'ont pas été traités.
Si c'est la cas (n<NMB), alors l'étape E701 est suivie de l'étape E702 au cours de laquelle on calcule la variance du MB courant în,.
L'étape E702 est suivie de l'étape E703 au cours de laquelle on augmente la valeur de crEkde n,,, ce qui revient à déterminer un indice 25 d'activité spatiale de la séquence vidéo considérée à partir des informations spatiales obtenues.
Cette étape est suivie de l'étape E704 au cours de laquelle on passe au MB suivant en incrémentant n d'une unité.
Si à l'étape E701 tous les MB ont été traités (n = NMB), cette étape 30 est suivie de l'étape E705 au cours de laquelle on compare O-yka un indice seuil prédéterminé maX. De la même manière que Vmax X, uax est, par exemple, fixée empiriquement.
Si à l'étape E705, crk est inférieure à umax (faible activité spatiale), alors cette étape est suivie par l'étape E706 au cours de laquelle on vérifie la 5 présence de l'indicateur de fort mouvement VHM qui a pu être déterminé à l'étape E606 de la figure 7 et stocké à l'étape E607.
S'il est présent, l'étape E706 est suivie de l'étape E707 au cours de laquelle la décision de générer une requête en vue d'obtenir le niveau 2 (demande d'informations temporelles supplémentaires) de la part de l'appareil 10 émetteur concerné est prise.
Dans le cas contraire (pas d'indication de fort mouvement), l'étape E706 est suivie de l'étape E708 au cours de laquelle il est décidé de ne pas demander d'informations temporelles supplémentaires compte tenu de l'activité spatiale et temporelle. Notons que O-Zk est stockée dans l'unité de stockage 15 temporaire 194 à l'étape E705.
De retour à l'étape E705, si une forte activité spatiale a été détectée (k CE> âmax)X alors cette étape est suivie par l'étape E709.
Au cours de cette étape on vérifie la présence de l'indicateur de fort mouvement.
S'il est présent, l'étape E709 est suivie de l'étape E710 au cours de laquelle la décision est prise de générer une requête en vue d'obtenir des informations supplémentaires, à savoir les niveaux 3 (demande d'informations spatiales supplémentaires) et 4 (demande d'informations temporelles supplémentaires) de la part de l'appareil émetteur concerné.
Dans le cas contraire (pas d'indicateur de fort mouvement), l'étape E709 est suivie de l'étape E711 au cours de laquelle la décision de générer une requête en vue d'obtenir le niveau 3 (demande d'informations spatiales supplémentaires) de la part de l'appareil émetteur concerné est prise, puisqu'ici seule une forte activité spatiale est détectée.
Ainsi, pour chaque appareil émetteur (source de données vidéo) qui a transmis à l'appareil récepteur 112 des premières informations temporelles (mouvement détecté), on a pu obtenir des premières informations spatiales qui ont été analysées.
En fonction du résultat de l'analyse et de la détection ou non d'un fort mouvement (deuxième seuil), on décide alors de demander ou non des 5 informations spatiales et/ou temporelles supplémentaires (niveaux d'amélioration spatiale et/ou temporelle).
De cette manière on a donc sélectionné des niveaux dits de souscription qui, théoriquement, devraient être demandés à chaque appareil émetteur concerné compte tenu de la décision prise aux étapes E707, E710 et 10 E71 1 de la figure 8.
On notera que l'invention permet ainsi de sélectionner à distance de façon automatique et centralisée les appareils émetteurs qui détiennent des données vidéo pertinentes.
Il convient de noter que, dans certains cas, le cot calculatoire induit 15 par l'ensemble des processus de décodage n'est pas gérable en temps réel par l'appareil récepteur 112. En effet, cet ordinateur peut ne pas être dédié à l'application de vidéo surveillance et, par exemple, avoir en charge d'autres applications telles que des jeux vidéo, par exemple.
Toutefois, même dans le cas idéal o l'appareil récepteur serait 20 dédié à la vidéo surveillance on peut également avoir à faire face au même problème. En effet, il peut arriver que plusieurs mouvements soient détectés simultanément à l'étape E15, respectivement par plusieurs appareils émetteurs.
Si un ordinateur PC actuel peut facilement gérer le décodage d'un flux vidéo en temps réel, il lui devient par contre beaucoup plus difficile 25 d'assurer plusieurs opérations de décodage en parallèle sans que la vitesse d'affichage en soit affectée. Il existe donc là un risque de provoquer un phénomène de congestion à l'entrée de l'ordinateur, voire un arrêt incontrôlé de celui-ci.
Un système centralisé utilisant plusieurs appareils émetteurs (par 30 exemple des caméras) doit pouvoir gérer de tels cas. Pour ce faire, il est proposé une solution permettant de réduire la charge de calcul de l'appareil récepteur 112 en cherchant un compromis entre tous les flux qui sont théoriquement et de façon optimale à transmettre par plusieurs appareils émetteurs et en tentant de privilégier les flux les plus pertinents.
Cette solution est mise en place à la fin du processus de sélection des niveaux d'échelonnabilité par appareil émetteur (E21), avant l'envoi des 5 requêtes aux appareils concernés. Dans ce cas, plutôt que de transmettre directement les requêtes après leur génération, celles-ci sont stockées dans l'unité 194 de la figure 2b en vue d'être utilisées à l'étape E22.
Les processus mis en òuvre à l'étape E22 sont illustrés par la figure 9 sous la forme d'un algorithme comportant deux processus qui vont être 10 exécutés en parallèle.
Les processus sont exécutés par l'unité de calcul 192 de l'ordinateur central1 12 (figure 2b).
Le premier processus (respectivement le second processus) débute à l'étape E800a (respectivement E800b) par la classification des flux sur une 15 échelle d'activité spatiale (resp. temporelle) comme représenté sur la figure 10.
Pour cela on récupère les valeurs de VE, déterminées par l'algorithme de la figure 7 (resp. les valeurs de aZk déterminées par l'algorithme de le figure 8) des N dernières images reçues et stockées dans l'unité de stockage temporaire 194. On prendra, par exemple, N=10.
On additionne ces N valeurs pour estimer les activités spatiales, d'une part, et temporelles, d'autre part, de chaque appareil émetteur (source vidéo) SI, S2, S3, S4, S5, S6 et pour les classer dans le sens des activités croissantes sur deux échelles respectives illustrées à la figure 10. Si représente le i-éme appareil émetteur et Li représente le niveau d'échelonnabilité i obtenu 25 et, théoriquement et de façon optimale, à obtenir.
L'étape E800a (resp. E800b) est suivie de l'étape E80la (resp.
E801b) au cours de laquelle on génère un treillis de type Vitterbi représentant en abscisse les appareils émetteurs dans les sens des activités croissantes.
Ces treillis sont représentés aux figures 11 et 12 et sont dédiés 30 respectivement à l'activité spatiale et à l'activité temporelle.
Dans chaque treillis, chaque appareil émetteur est, dans un premier temps, représenté en ordonnée par son niveau de souscription optimal. Une souscription correspond au nombre de niveaux hiérarchiques assignés à chaque appareil émetteur après exécution des algorithmes des figures 7 et 8 et que chaque appareil devrait théoriquement et de façon optimale transmettre à l'appareil récepteur 112.
Les niveaux les plus hauts de chaque souscription sont ensuite reliés à l'étape E802a (resp. E802b) et le chemin ainsi obtenu pour chaque treillis est dit optimal.
L'étape E802a (resp. E802b) est suivie de l'étape E803a (resp.
E803b) au cours de laquelle on détermine des chemins de parcours de chaque 10 treillis alternatif. Ces chemins alternatifs ne sont pas optimaux en terme de qualité mais permettent de réduire le cot de décodage qui leur est associé. Il peuvent alors représenter un meilleurs compromis cot de décodage/qualité que le chemin optimal.
Ces chemins alternatifs sont générés en plusieurs étapes, chaque 15 treillis étant parcouru séparément.
A chaque étape, on réduit le niveau de souscription de l'appareil émetteur ayant la plus faible activité spatiale (resp. la plus faible activité temporelle) et souscrivant à plus de un niveau hiérarchique d'informations spatiales et/ou temporelles.
Concrètement, on supprime de la souscription de l'appareil concerné le niveau d'échelonnabilité spatiale (resp. le niveau d'échelonnabilité temporelle) le plus élevé.
Ainsi, l'appareil concerné contribue pour le chemin alternatif considéré à un niveau de hiérarchie spatiale et/ou temporelle réduit.
On notera qu'à chaque parcours d'un treillis on ne supprime un niveau qu'à un seul appareil.
A la fin de ce processus plusieurs chemins alternatifs ont été définis comme représenté sur les figures 11 et 12 par les solutions notées 1, 2, 3, 4.
L'étape E803a (resp. E803b) est suivie de l'étape E804a (resp. 30 E804b) au cours de laquelle on associe à chaque chemin, un cot de décodage. Le cot de décodage d'un chemin correspond à l'estimation des calculs nécessaires pour effectuer le décodage d'informations spatiales et/ou temporelles provenant des différents appareils émetteurs placés sur le chemin.
L'étape E804a (resp. E804b) est suivie de l'étape E805 au cours de laquelle on sélectionne la meilleure solution, c'est-à-dire le chemin optimal en termes de cot de décodage/qualité pour l'ensemble des deux treillis.
Cette sélection consiste à classer l'ensemble des solutions dans le sens des cots calculatoires croissants. On choisit ensuite le chemin (et la souscription associée) ayant le cot de décodage le plus proche (tout en restant inférieur) de la borne fixée par les capacités de décodage de l'appareil 10 récepteur 112, à savoir sa capacité de calcul.
Les requêtes correspondantes sont ensuite envoyées aux appareils émetteurs. On sélectionne ainsi à distance de façon automatique et centralisée les appareils émetteurs détenteurs de données vidéo pertinentes en tenant compte de la capacité de calcul de l'appareil récepteur qui centralise les 15 opérations.
On utilise ainsi de façon optimale les ressources de calcul de l'appareil récepteur.
En outre, les décisions précitées sont prises par l'appareil récepteur de manière adaptée au contenu des données vidéo à transmettre par les 20 appareils émetteurs.
Il convient de noter que si aucun chemin n'est compatible avec les capacités de décodage de l'ordinateur central 112, tous les flux en provenance des différents appareils émetteurs sont transmis en utilisant le niveau hiérarchique 1(L1).
L'appareil récepteur rejettera des images lorsque ses capacités seront dépassées. Il pourra rejeter, par exemple, toutes les images P entre deux images 1.
Le cot calculatoire est déterminé en fonction du type de niveaux d'échelonnabilité souscrit par chaque appareil. On suppose que l'utilisateur a 30 déterminé grâce à un ensemble de séquences d'entraînement le cot moyen de décodage de chaque niveau d'échelonnabilité Ll, L2, L3 et L4 et l'on désigne par Cl, C2, C3, et C4 respectivement, les cots calculatoires de décodage des niveaux LI, L2, L3 et L4.
Ces cots sont stockés sur le disque dur 196 de l'ordinateur central 112 et l'unité de calcul 192 lit ensuite ces valeurs sur le disque dur pour 5 déterminer le cot calculatoire d'une souscription d'un appareil émetteur donné.
Si, par exemple, une souscription indique que les niveaux Ll, L3 et L4 sont requis pour un appareil, le cot de cette souscription sera la somme des cots Cl, C3 et C4.
Le cot de décodage d'une séquence vidéo, noté O, est également 10 appelé complexité de décodage, et sa détermination correspond à la détermination du nombre total d'opérations qui sont à effectuer pendant un intervalle de temps prédéterminé en vue de décoder une pluralité de macroblocs codés.
Pour déterminer cette complexité de décodage, on va s'intéresser à 15 un segment composé de NINTRA + Ninter images.
La complexité d'un tel segment est fournie par l'équation suivante: Nint er O = (Nintra *MBlntra *Olntra+ Y(MB ntra *Ontra +MBinter + mnter)' i-O o: - Nîntra est le nombre d'images codées en mode INTRA pour le segment 20 considéré, le segment correspond à un nombre donné d'images par seconde, - Nnter est le nombre d'images codées en mode INTER ou prédictif pour le segment considéré, - MBIntra est le nombre de macro-blocs codés en mode INTRA dans une image codée en mode INTRA, - Ointra est la complexité de décodage d'un macro-bloc codé en mode INTRA, - MB;ntra est le nombre de macro-blocs codés en mode INTRA dans une image codée en mode INTER, MBter est le nombre de macro-blocs codés en mode Inter dans une image codée en mode INTER, et - Ointer est la complexité de décodage d'un macro-bloc codé en mode INTER.
On s'aperçoit ainsi que la détermination de la complexité de décodage du segment d'images défini ci-dessus passe par une étape préalable d'analyse du mode de codage utilisé pour coder chaque macro-bloc. Ensuite, il 5 s'agit de déterminer, pour chaque macro-bloc qui a été codé selon un mode de codage différent, la complexité de décodage de ce macro-bloc, c'est-àdire le nombre élémentaire d'opérations qu'il est nécessaire d'effectuer pour procéder à son décodage.
La détermination de la complexité de décodage du segment susvisé 10 passe ensuite par une étape au cours de laquelle on identifie le nombre de macro-blocs codés selon chacun des modes de codage différents et, connaissant la complexité de décodage pour chacun de ces modes de codage, on en déduit le nombre total d'opérations qu'il est nécessaire d'effectuer pendant l'intervalle de temps prédéterminé pour décoder la pluralité de macro15 blocs codés constituant le segment défini plus haut.
Dans l'exemple décrit ci-dessous, on s'intéresse dans un premier temps au mode de codage d'une image INTRA ou INTER puis, selon que celleci est codée en mode INTRA ou en mode INTER, on procède de la façon suivante: Si l'image est codée en mode INTRA, alors il suffit de prendre en compte la complexité de décodage d'un macro-bloc et le nombre de macroblocs contenus dans cette image, puis de multiplier le chiffre obtenu correspondant à la complexité de décodage d'une image codée en mode INTRA par le nombre d'images Nintra codées suivant ce mode.
- Si l'image est codée en mode INTER, il faut alors rechercher à l'intérieur de chaque image le nombre de macro-blocs codés suivant le mode de codage INTRA ou INTER, puis obtenir pour chaque image, d'une part, la complexité de décodage pour les macro-blocs codés selon le mode de codage INTRA et, d'autre part, la complexité de décodage pour les macro- blocs codés 30 selon le mode de codage INTER.
Il faut ensuite faire la somme de ces complexités de décodage afin d'obtenir la complexité de décodage totale d'une image codée en mode INTER.
Il reste ensuite à multiplier ce chiffre par le nombre d'images codées en mode INTER Ninter.
On notera que la détermination de la complexité de décodage d'un macrobloc varie selon que celui-ci est codé en mode INTRA ou en mode INTER.
Comme décrit ci-après, la détermination de la complexité de décodage d'un macro-bloc va être détaillée suivant que le codage a lieu en mode INTRA ou en mode INTER.
1) Codage en mode INTRA Le décodage s'effectuant bloc de données par bloc de données la complexité de décodage d'un macro-bloc est égale à la complexité liée au décodage des quatre blocs qui le composent.
Plus particulièrement, on détermine la complexité de décodage d'un bloc en comptabilisant le nombre d'opérations élémentaires intervenant dans 15 les différents algorithmes mis en oeuvre dans le processus de décodage.
Les valeurs de la complexité liée au décodage DCT sont fournies par l'article "Fast Algorithms for the Discrete Cosine Transform", E. Feig and S. Winograd, IEEE Trans. On Signal Proc., vol. 40, No. 9, September 1992.
La table 1 ci-dessous détaille la détermination de la complexité de 20 décodage des différents algorithmes qui interviennent dans le décodage d'un bloc à partir des différentes opérations élémentaires.
traitement test Multiplication Addition Affectation VLD 64 Inverse Q 192 256 192 Saturation 128 64 Contrôle 2 64 65 Inverse DCT 94 454 64 Total 322 350 582 385
Table 1
Préférentiellement, toutes ces opérations sont considérées comme élémentaires exceptée la multiplication qui est considérée comme équivalente à deux opérations élémentaires.
Ainsi, la complexité totale de décodage d'un macro-bloc 5 (composantes de luminance) codé en mode INTRA 0lntra est de 4*1989=7956 opérations élémentaires.
2) Codage en mode INTER Dans le cas o le macro-bloc est codé en mode INTER, il faut ajouter à la complexité de décodage en mode INTRA, la complexité de décodage liée, 10 d'une part, à la reconstruction du vecteur de mouvement à partir du vecteur de mouvement différentiel et, d'autre part, à la reconstruction du macro-bloc (reconstruction du macro-bloc de différence et addition de ce macro-bloc avec le macro-bloc prédit).
La détermination de la complexité de décodage de ces processus est 15 détaillée dans la table 2 ci-dessous qui fournit, pour chaque processus, le nombre d'opérations élémentaires qui interviennent.
Traitement test multiplication Addition affectation VLD 2 Reconstruction vecteur mouvement 7 5 13 11 Reconstruction macro-bloc différence 1288 1400 2328 1540 Construction du macro-bloc prédit 512 256 Reconstruction du macro-bloc 256 256 Total 1295 1405 3109 2065
Table 2
Ainsi, pour le mode INTER ou prédictif, la complexité totale de décodage d'un macro-bloc codé en mode INTER Ointer est de 7874 opérations élémentaires.
On déduit de ce qui précède la complexité de décodage O d'un segment composé de Nintra + Ninter images et qui a été définie plus haut.
Lorsque les modes de codage utilisés ne sont pas uniquement les modes INTRA et INTER, on raisonnera de la façon suivante en première approximation: le cot de décodage des MB avant et arrière est identique à celui des MB INTER, le cot de décodage des MB ascendants est identique à 5 celui des MB INTRA et le cot de décodage des MB bidirectionnels est le double de celui des MB INTER.
Ainsi, connaissant les modes de codage des MB des différentes images de la séquence vidéo, on déduit de la méthode exposée ci-dessus le cot de décodage d'une séquence vidéo.
Les cots de décodages étant exprimés en nombres d'opérations élémentaires par seconde, ils pourront alors être comparés directement à la capacité de calcul de l'appareil récepteur 112 indiquée par la fréquence de fonctionnement de son processeur.
Dès lors que l'on a vérifié à l'étape E22 de la figure 4 la compatibilité 15 des niveaux hiérarchiques de souscription des différents appareils émetteurs avec une des contraintes de l'appareil récepteur 112, à savoir sa capacité de calcul, alors cette étape E22 est suivie de l'étape E23 qui transmet les requêtes préalablement stockées à l'étape E21 aux appareils émetteurs concernés.
L'étape E23 est ensuite suivie de l'étape E24 au cours de laquelle 20 les requêtes sont reçues par les appareils émetteurs, ce qui déclenche la transmission des informations spatiales et/ou temporelles supplémentaires correspondantes.
L'étape E24 est suivie de l'étape E25 au cours de laquelle l'appareil récepteur 112 reçoit les données vidéo, les décode selon le processus décrit 25 plus haut en référence à la figure 6 et les affiche sur son écran 200.
Il est encore possible d'améliorer l'invention dans la mesure o, jusque là, seules les capacités de décodage de l'appareil récepteur 112 ont été prises en compte comme contraintes.
Or, dans un réseau, il est connu que la bande passante disponible 30 est elle aussi une contrainte et il est alors essentiel de respecter les contraintes de bande passante afin d'éviter les phénomènes de congestion.
Ainsi, on prévoit selon l'invention d'ajouter dans l'appareil récepteur 112 un module d'analyse du réseau qui fournira la bande passante disponible sur le réseau à l'étape E22 de l'algorithme de la figure 4.
Cette information peut-être obtenue en utilisant un message 5 THROUGHPUT tel que défini dans le standard IEEE1394.1. Ce message permet d'obtenir la quantité de bande passante (représentée en termes d'unités temporelles libres dans un cycle de 125Fts) disponible entre chaque appareil émetteur (caméra) et l'appareil récepteur (ordinateur central).
De la même manière que l'on a déterminé le cot calculatoire induit 10 par chaque souscription, on détermine le débit nécessaire à chaque
souscription.
A l'aide de séquences d'entraînement, un débit moyen est associé à chaque niveau d'échelonnabilité et ces informations sont stockées sur le disque dur 196.
On vient ensuite lire ces données à l'étape E22 pour déterminer le
débit induit par chaque souscription.
On choisit alors le chemin (et la souscription associée) ayant le cot de décodage le plus proche (tout en restant inférieur) de la borne fixée par les capacités de décodage de l'appareil récepteur 112 et dont le débit induit sera 20 compatible avec la bande passante disponible sur le réseau.
Il convient de noter que l'utilisation d'un réseau de communication IEEE1394 implique que, pour chaque connexion isochrone, un canal soit réservé ainsi que la bande passante associée. La réservation de bande passante est en fait un abus de langage dans la norme IEEE1394 puisque l'on 25 réserve plutôt des périodes de temps dans les cycles de 125 microsecondes définis par la norme.
En fonctionnement normal, les données d'en-tête et les vecteurs de mouvement sont transmis en mode asynchrone qui est le mieux adapté à ce type de données. Ce mode de transmission permet en effet d'assurer le 30 transport des données sans pour autant nécessiter la réservation d'un intervalle de temps dans une période de 125 micro-secondes, ce qui reviendrait en fait à réserver un débit pouvant être supérieur au débit induit par les vecteurs de mouvement.
De plus, le mode de transmission asynchrone garantit l'intégrité des données transmises, ce qui est essentiel étant donné l'importance pour l'appareil récepteur de recevoir en permanence des informations temporelles de 5 niveau 1 de tous les appareils émetteurs qui y sont connectés. En effet, une erreur pourrait empêcher le déclenchement d'une alarme ou déclencher une fausse alarme.
Comme exposé ci-dessus, la non réception des informations temporelles pendant une période fixée, par exemple, à une seconde, doit 10 déclencher systématiquement une alarme.
On peut remarquer toutefois que ce type d'incident peut avoir plusieurs origines, toutes n'étant pas liées à une intrusion. On peut imaginer, par exemple, qu'un surplus de données asynchrones empêche certaines données d'en-tête d'arriver à temps.
Un tel événement peut se produire en cas de forte charge du bus IEEE1394 d'une caméra, d'un bus intermédiaire ou du bus de l'ordinateur central et il s'agit alors d'une fausse alarme.
Dans d'autres cas, la caméra pourrait être arrêtée par un intrus et il est alors clair qu'une alarme doit être déclenchée.
La norme IEEE1394 permet de connaître la charge d'un bus IEEE1394 et, par conséquent, une amélioration pourrait consister à vérifier la charge du réseau en cas de non réception des informations temporelles avant le déclenchement réel d'une alarme.
Lorsqu'une alarme est déclenchée par contre, toutes les données 25 relatives à une séquence vidéo sont transmises en mode isochrone. En effet, dès lors que ces données doivent être affichées avec une cadence fixée, ce mode devient privilégié.

Claims (40)

REVENDICATIONS
1. Procédé d'analyse d'au moins une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication 5 comportant également au moins un appareil récepteur, caractérisé en ce que la séquence vidéo étant compressée selon une méthode de codage qui génère un train binaire comportant des informations représentatives de l'activité temporelle des images de la séquence vidéo et des informations représentatives de l'activité spatiale des images de cette séquence vidéo, les informations temporelles et 10 spatiales étant réparties suivant un ou plusieurs niveaux de hiérarchie spatiotemporelle, le procédé comporte les étapes suivantes effectuées au niveau de l'appareil récepteur: - obtention d'informations représentatives de l'activité temporelle de la séquence vidéo présente au niveau de l'appareil émetteur, - analyse des informations temporelles obtenues, - en fonction du résultat de l'analyse, décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations représentatives de l'activité spatiale de la séquence vidéo est nécessaire.
2. Procédé selon la revendication 1, caractérisé en ce que l'analyse des informations temporelles obtenues comprend plus particulièrement les étapes de: - détermination d'un indice d'activité temporelle de la séquence vidéo à partir des informations obtenues, - comparaison de l'indice déterminé à un premier indice seuil prédéterminé.
3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend une étape de comparaison de l'indice déterminé à un second indice seuil prédéterminé.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la méthode de codage est une méthode de codage hydride fondée sur le codage de blocs de données d'une image et qui génère un train binaire de données vidéo suivant plusieurs niveaux hiérarchiques spatio-temporels.
5. Procédé selon la revendication 4, caractérisé en ce que le premier niveau hiérarchique comprend des données d'en-tête et des vecteurs de mouvement des blocs des images de la séquence vidéo.
6. Procédé selon la revendication 5, caractérisé en ce que les informations représentatives de l'activité temporelle sont les vecteurs de mouvement.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il 10 comporte les étapes suivantes: - obtention d'informations représentatives de l'activité spatiale de la séquence vidéo présente au niveau de l'appareil émetteur, - analyse des informations spatiales obtenues, - en fonction du résultat de l'analyse, décision quant à savoir si la 15 génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations supplémentaires représentatives de l'activité spatiale de la séquence vidéo est nécessaire.
8. Procédé selon la revendication 7, caractérisé en ce que l'analyse des informations spatiales obtenues comprend plus particulièrement les étapes de: - détermination d'un indice d'activité spatiale de la séquence vidéo à partir des informations spatiales obtenues, - comparaison de l'indice déterminé à un indice seuil prédéterminé.
9. Procédé selon lune des revendications 1 à 8, caractérisé en ce que le procédé comporte en outre une étape de décision quant à savoir si la génération 25 d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations temporelles supplémentaires est nécessaire en fonction du résultat de l'analyse effectuée sur les informations temporelles et/ou spatiales obtenues.
10. Procédé selon l'une des revendications 7 à 9, caractérisé en ce que l'étape de décision tient compte de la capacité de calcul de l'appareil récepteur.
11. Procédé selon l'une des revendications 7 à 10, caractérisé en ce que l'étape de décision tient compte de la bande passante disponible sur le réseau.
12. Procédé selon l'une des revendications 1 à 11, caractérisé en ce que, lorsque des informations temporelles et spatiales ont été obtenues de plusieurs appareils émetteurs et qu'une décision visant à obtenir d'au moins un d'entre eux des informations temporelles et/ou spatiales supplémentaires a été 5 jugée nécessaire, le procédé comporte une étape de classification de chaque appareil émetteur par rapport aux autres appareils, en fonction des informations temporelles et des informations spatiales obtenues de cet appareil.
13. Procédé selon la revendication 12, caractérisé en ce que l'ensemble des appareils émetteurs sont représentés dans deux treillis de type Vitterbi, l'un 10 dédié à l'activité temporelle et l'autre à l'activité spatiale, et dans chacun desquels chaque appareil est représenté en abscisse et, selon le treillis concerné, chaque niveau de hiérarchie spatiale ou temporelle obtenue et/ou à obtenir est représenté en ordonnée.
14. Procédé selon la revendication 13, caractérisé en ce qu'il comporte, 15 pour chaque treillis, une étape de détermination d'un chemin optimal entre les appareils en ne tenant compte, pour chacun d'entre eux, que du niveau de hiérarchie spatiale ou temporelle le plus élevé.
15. Procédé selon la revendication 14, caractérisé en ce qu'il comporte, pour chaque treillis, une étape de détermination d'un ou de plusieurs chemins 20 alternatifs entre les appareils en effectuant, pour un treillis donné, les opérations suivantes qui sont réitérées pour déterminer plusieurs chemins alternatifs: - parcours du treillis considéré, suppression, selon le treillis considéré, du niveau de hiérarchie spatiale ou temporelle obtenu et/ou à obtenir le plus élevé pour l'appareil émetteur 25 ayant, selon le cas, l'activité spatiale ou l'activité temporelle la plus faible et disposant d'au moins deux niveaux d'informations hiérarchiques, conduisant ainsi à la détermination d'un chemin alternatif auquel l'appareil précité contribue pour un niveau de hiérarchie spatiale et/ou temporelle réduit.
16. Procédé selon la revendication 15, caractérisé en ce qu'il comporte 30 une étape d'association d'un cot de décodage à chaque chemin alternatif déterminé, le cot de décodage associé à un chemin correspondant à l'estimation des calculs nécessaires pour effectuer le décodage d'informations spatiales et/ou temporelles codées provenant des différents appareils émetteurs placés sur le chemin.
17. Procédé selon la revendication 16, caractérisé en ce qu'il comporte une étape de sélection du chemin optimal en déterminant parmi tous les chemins 5 celui dont le cot de décodage est le plus proche de la capacité de calcul de l'appareil récepteur, tout en restant inférieur à cette dernière.
18. Procédé selon la revendication 16 ou 17, caractérisé en ce qu'il comporte une étape de sélection du chemin optimal en déterminant parmi tous les chemins celui dont le débit induit est inférieur à la bande passante disponible sur le 10 réseau.
19. Dispositif d'analyse d'au moins une séquence vidéo présente au niveau d'au moins un appareil émetteur dans un réseau de communication comportant également au moins un appareil récepteur, caractérisé en ce que la séquence vidéo étant compressée selon une méthode de codage qui génère un 15 train binaire comportant des informations représentatives de l'activité temporelle des images de la séquence vidéo et des informations représentatives de l'activité spatiale des images de cette séquence vidéo, les informations temporelles et spatiales étant réparties suivant un ou plusieurs niveaux de hiérarchie spatiotemporelle, le dispositif comporte au niveau de l'appareil récepteur: - des moyens d'obtention d'informations représentatives de l'activité temporelle de la séquence vidéo présente au niveau de l'appareil émetteur, - des moyens d'analyse des informations temporelles obtenues, - des moyens de décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations représentatives de 25 l'activité spatiale de la séquence vidéo est nécessaire, en fonction du résultat de l'analyse.
20. Dispositif selon la revendication 19, caractérisé en ce que les moyens d'analyse des informations temporelles obtenues comprennent plus particulièrement: - des moyens de détermination d'un indice d'activité temporelle de la séquence vidéo à partir des informations obtenues, - des moyens de comparaison de l'indice déterminé à un premier indice seuil prédéterminé.
21. Dispositif selon la revendication 20, caractérisé en ce qu'il comprend des moyens de comparaison de l'indice déterminé à un second indice seuil prédéterminé.
22. Dispositif selon l'une des revendications 19 à 21, caractérisé en ce que la méthode de codage est une méthode de codage hydride fondée sur le codage de blocs de données d'une image et qui génère un train binaire de données vidéo suivant plusieurs niveaux hiérarchiques spatio-temporels.
23. Dispositif selon la revendication 22, caractérisé en ce que le premier niveau hiérarchique comprend des données d'en-tête et des vecteurs de mouvement des blocs des images de la séquence vidéo.
24. Dispositif selon la revendication 23, caractérisé en ce que les informations représentatives de l'activité temporelle sont les vecteurs de 15 mouvement.
25. Dispositif selon l'une des revendications 19 à 24, caractérisé en ce qu'il comporte: - des moyens d'obtention d'informations représentatives de l'activité spatiale de la séquence vidéo présente au niveau de l'appareil émetteur, 20 - des moyens d'analyse des informations spatiales obtenues, des moyens de décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations supplémentaires représentatives de l'activité spatiale de la séquence vidéo est nécessaire, en fonction du résultat de l'analyse.
26. Dispositif selon la revendication 25, caractérisé en ce que les moyens d'analyse des informations spatiales obtenues comprennent plus particulièrement: - des moyens de détermination d'un indice d'activité spatiale de la séquence vidéo à partir des informations spatiales obtenues, - des moyens de comparaison de l'indice déterminé à un indice seuil prédéterminé.
27. Dispositif selon lune des revendications 19 à 26, caractérisé en ce que le dispositif comporte en outre des moyens de décision quant à savoir si la génération d'une requête destinée à l'appareil émetteur en vue d'obtenir des informations temporelles supplémentaires est nécessaire en fonction du résultat de l'analyse effectuée sur les informations temporelles et/ou spatiales obtenues.
28. Dispositif selon l'une des revendications 25 à 27, caractérisé en ce que les moyens de décision tiennent compte de la capacité de calcul de l'appareil récepteur.
29. Dispositif selon l'une des revendications 25 à 27, caractérisé en ce 10 que les moyens de décision tiennent compte de la bande passante disponible sur le réseau.
30. Dispositif selon l'une des revendications 19 à 29, caractérisé en ce que, lorsque des informations temporelles et spatiales ont été obtenues de plusieurs appareils émetteurs et qu'une décision visant à obtenir d'au moins un 15 d'entre eux des informations temporelles et/ou spatiales supplémentaires a été jugée nécessaire, le dispositif comporte des moyens de classification de chaque appareil émetteur par rapport aux autres appareils émetteurs, en fonction des informations temporelles et des informations spatiales obtenues de cet appareil.
31. Dispositif selon la revendication 19, caractérisé en ce que 20 l'ensemble des appareils émetteurs sont représentés dans deux treillis de type Vitterbi, l'un dédié à l'activité temporelle et l'autre à l'activité spatiale, et dans chacun desquels chaque appareil est représenté en abscisse et, selon le treillis concerné, chaque niveau de hiérarchie spatiale ou temporelle obtenue et/ou à obtenir est représenté en ordonnée.
32. Dispositif selon la revendication 31, caractérisé en ce qu'il comporte, pour chaque treillis, des moyens de détermination d'un chemin optimal entre les appareils en ne tenant compte, pour chacun d'entre eux, que du niveau de hiérarchie spatiale ou temporelle le plus élevé.
33. Dispositif selon la revendication 32, caractérisé en ce qu'il comporte, 30 pour chaque treillis, des moyens de détermination d'un ou de plusieurs chemins alternatifs entre les appareils émetteurs et qui prévoient d'effectuer, pour un treillis donné, les opérations suivantes qui sont réitérées pour déterminer plusieurs chemins alternatifs: parcours du treillis considéré, - suppression, selon le treillis considéré, du niveau de hiérarchie 5 spatiale ou temporelle obtenu et/ou à obtenir le plus élevé pour l'appareil émetteur ayant, selon le cas, l'activité spatiale ou l'activité temporelle la plus faible et disposant d'au moins deux niveaux d'informations hiérarchiques, conduisant ainsi à la détermination d'un chemin alternatif auquel l'appareil précité contribue pour un niveau de hiérarchie spatiale et/ou temporelle réduit.
34. Dispositif selon la revendication 33, caractérisé en ce qu'il comporte des moyens d'association d'un cot de décodage à chaque chemin alternatif déterminé, le cot de décodage associé à un chemin correspondant à l'estimation des calculs nécessaires pour effectuer le décodage d'informations spatiales et/ou temporelles codées provenant des différents appareils émetteurs placés sur le 1 5 chemin.
35. Dispositif selon la revendication 34, caractérisé en ce qu'il comporte des moyens de sélection du chemin optimal en déterminant parmi tous les chemins celui dont le cot de décodage est le plus proche de la capacité de calcul de l'appareil récepteur, tout en restant inférieur à cette dernière.
36. Dispositif selon la revendication 34 ou 35, caractérisé en ce qu'il comporte des moyens de sélection du chemin optimal en déterminant parmi tous les chemins celui dont le débit induit est inférieur à la bande passante disponible sur le réseau.
37. Appareil récepteur de communication, caractérisé en ce qu'il 25 comporte un dispositif d'analyse selon l'une des revendications 19 à 36.
38. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé d'analyse selon l'une des
revendications 1 à 18.
39. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé d'analyse selon l'une des revendications 1 à 18.
40. Programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions 5 ou des portions de code logiciel pour mettre en oeuvre les étapes du procédé d'analyse selon l'une des revendications 1 à 18, lorsque ce programme d'ordinateur est chargé et exécuté par l'appareil programmable.
FR0301847A 2003-02-14 2003-02-14 Procede et dispositif d'analyse de sequences video dans un reseau de communication Expired - Lifetime FR2851397B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0301847A FR2851397B1 (fr) 2003-02-14 2003-02-14 Procede et dispositif d'analyse de sequences video dans un reseau de communication
US10/779,284 US7466865B2 (en) 2003-02-14 2004-02-13 Method and device for analyzing video sequences in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0301847A FR2851397B1 (fr) 2003-02-14 2003-02-14 Procede et dispositif d'analyse de sequences video dans un reseau de communication

Publications (2)

Publication Number Publication Date
FR2851397A1 true FR2851397A1 (fr) 2004-08-20
FR2851397B1 FR2851397B1 (fr) 2005-05-13

Family

ID=32749595

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0301847A Expired - Lifetime FR2851397B1 (fr) 2003-02-14 2003-02-14 Procede et dispositif d'analyse de sequences video dans un reseau de communication

Country Status (2)

Country Link
US (1) US7466865B2 (fr)
FR (1) FR2851397B1 (fr)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086748A2 (fr) 2003-03-20 2004-10-07 Covi Technologies Inc. Systemes et procedes pour le traitement d'images de resolutions multiples
US7460720B2 (en) * 2003-03-21 2008-12-02 Canon Kabushiki Kaisha Method and device for defining quality modes for a digital image signal
EP1728178A1 (fr) * 2004-03-23 2006-12-06 Electronics and Telecommunications Research Institute Modele de relation ameliore dote d'une representation quantitative, et procede et systeme de service tv-anytime faisant appel audit modele
US20060236375A1 (en) 2005-04-15 2006-10-19 Tarik Hammadou Method and system for configurable security and surveillance systems
US8107540B2 (en) * 2005-07-11 2012-01-31 Cheetah Technologies, L.P. Image complexity computation in packet based video broadcast systems
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection
US20070024706A1 (en) * 2005-08-01 2007-02-01 Brannon Robert H Jr Systems and methods for providing high-resolution regions-of-interest
JP4947936B2 (ja) * 2005-08-11 2012-06-06 ソニー株式会社 モニタリングシステムおよび管理装置
US8508607B2 (en) * 2005-09-06 2013-08-13 Its-7 Method and system for a programmable camera for configurable security and surveillance systems
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
US8340179B2 (en) * 2006-03-21 2012-12-25 Canon Kabushiki Kaisha Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method
US7756136B2 (en) * 2006-07-10 2010-07-13 Cheetah Technologies, L.P. Spatial and temporal loss determination in packet based video broadcast system in an encrypted environment
FR2907575B1 (fr) * 2006-10-18 2009-02-13 Canon Res Ct France Soc Par Ac Procede et dispositif de codage d'images representant des vues d'une meme scene
FR2910211A1 (fr) * 2006-12-19 2008-06-20 Canon Kk Procedes et dispositifs pour re-synchroniser un flux video endommage.
US8549556B2 (en) * 2008-04-15 2013-10-01 Shlomo Selim Rakib Contextual advertising
FR2931025B1 (fr) * 2008-05-07 2010-05-21 Canon Kk Procede de determination d'attributs de priorite associes a des conteneurs de donnees, par exemple dans un flux video, procede de codage, programme d'ordinateur et dispositifs associes
FR2931610B1 (fr) * 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
FR2932637B1 (fr) * 2008-06-17 2010-08-20 Canon Kk Procede et dispositif de codage d'une sequence d'images
US20110194616A1 (en) * 2008-10-01 2011-08-11 Nxp B.V. Embedded video compression for hybrid contents
FR2939593B1 (fr) * 2008-12-09 2010-12-31 Canon Kk Procede et dispositif de codage video
EP2257073A1 (fr) * 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Procédé et dispositif pour transmettre des données vidéo
EP2265026A1 (fr) * 2009-06-16 2010-12-22 Canon Kabushiki Kaisha Procédé et dispositif pour débloquer le filtrage de flux vidéo de type SVC pendant le décodage
EP2285122B1 (fr) * 2009-07-17 2013-11-13 Canon Kabushiki Kaisha Procédé et dispositif pour reconstruire une séquence de données vidéo après la transmission dans un réseau
EP2509306A4 (fr) * 2009-12-01 2013-05-15 Panasonic Corp Dispositif de traitement d'image et procédé de traitement d'image
FR2955995B1 (fr) * 2010-02-04 2012-02-17 Canon Kk Procede et dispositif de traitement d'une sequence video
IT1403800B1 (it) * 2011-01-20 2013-10-31 Sisvel Technology Srl Procedimenti e dispositivi per la registrazione e la riproduzione di contenuti multimediali utilizzando metadati dinamici
KR101979634B1 (ko) * 2012-12-13 2019-05-20 삼성전자주식회사 화질 개선을 위한 영상 처리 장치 및 그 방법
US10062411B2 (en) * 2014-12-11 2018-08-28 Jeffrey R. Hay Apparatus and method for visualizing periodic motions in mechanical components
US10459615B2 (en) 2014-12-11 2019-10-29 Rdi Technologies, Inc. Apparatus and method for analyzing periodic motions in machinery
US11423551B1 (en) 2018-10-17 2022-08-23 Rdi Technologies, Inc. Enhanced presentation methods for visualizing motion of physical structures and machinery
US11373317B1 (en) 2020-01-24 2022-06-28 Rdi Technologies, Inc. Measuring the speed of rotation or reciprocation of a mechanical component using one or more cameras
US11282213B1 (en) 2020-06-24 2022-03-22 Rdi Technologies, Inc. Enhanced analysis techniques using composite frequency spectrum data
US11322182B1 (en) 2020-09-28 2022-05-03 Rdi Technologies, Inc. Enhanced visualization techniques using reconstructed time waveforms
CN115734045B (zh) * 2022-11-15 2024-07-12 深圳市东明炬创电子股份有限公司 一种视频播放方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175198A (ja) * 1998-12-04 2000-06-23 Toshiba Corp 画像記録装置
US6201833B1 (en) * 1998-08-12 2001-03-13 Sony Corporation Motion determining apparatus, method thereof, and picture information converting apparatus
JP2001309337A (ja) * 2000-04-21 2001-11-02 Hitachi Ltd 画像送信装置
FR2811186A1 (fr) * 2000-07-03 2002-01-04 Telediffusion De France Tdf Procede et installation de videosurveillance a codage adaptatif pour la transmission et/ou le stockage de sequences video
US6456321B1 (en) * 1998-08-05 2002-09-24 Matsushita Electric Industrial Co., Ltd. Surveillance camera apparatus, remote surveillance apparatus and remote surveillance system having the surveillance camera apparatus and the remote surveillance apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253169A (en) * 1991-11-29 1993-10-12 General Electric Company Method and apparatus for reducing x-ray dosage during fluoroscopic examinations
US5751345A (en) 1995-02-10 1998-05-12 Dozier Financial Corporation Image retention and information security system
KR100457506B1 (ko) 1998-02-25 2005-01-17 삼성전자주식회사 개인용 컴퓨터를 이용한 감시 시스템 및 감시 방법
US6256350B1 (en) * 1998-03-13 2001-07-03 Conexant Systems, Inc. Method and apparatus for low cost line-based video compression of digital video stream data
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
JP3729660B2 (ja) 1998-09-04 2005-12-21 松下電器産業株式会社 ネットワークカメラ監視システム
GB2359437A (en) 2000-02-16 2001-08-22 Stephen Albert Wilson Stand alone secure access web camera
US6661927B1 (en) * 2000-07-27 2003-12-09 Motorola, Inc. System and method for efficiently encoding an image by prioritizing groups of spatially correlated coefficients based on an activity measure
US6411209B1 (en) 2000-12-06 2002-06-25 Koninklijke Philips Electronics N.V. Method and apparatus to select the best video frame to transmit to a remote station for CCTV based residential security monitoring
US6766817B2 (en) * 2001-07-25 2004-07-27 Tubarc Technologies, Llc Fluid conduction utilizing a reversible unsaturated siphon with tubarc porosity action
US7285255B2 (en) * 2002-12-10 2007-10-23 Ecolab Inc. Deodorizing and sanitizing employing a wicking device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456321B1 (en) * 1998-08-05 2002-09-24 Matsushita Electric Industrial Co., Ltd. Surveillance camera apparatus, remote surveillance apparatus and remote surveillance system having the surveillance camera apparatus and the remote surveillance apparatus
US6201833B1 (en) * 1998-08-12 2001-03-13 Sony Corporation Motion determining apparatus, method thereof, and picture information converting apparatus
JP2000175198A (ja) * 1998-12-04 2000-06-23 Toshiba Corp 画像記録装置
JP2001309337A (ja) * 2000-04-21 2001-11-02 Hitachi Ltd 画像送信装置
FR2811186A1 (fr) * 2000-07-03 2002-01-04 Telediffusion De France Tdf Procede et installation de videosurveillance a codage adaptatif pour la transmission et/ou le stockage de sequences video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 09 13 October 2000 (2000-10-13) *
PATENT ABSTRACTS OF JAPAN vol. 2002, no. 03 3 April 2002 (2002-04-03) *

Also Published As

Publication number Publication date
US20040184529A1 (en) 2004-09-23
FR2851397B1 (fr) 2005-05-13
US7466865B2 (en) 2008-12-16

Similar Documents

Publication Publication Date Title
FR2851397A1 (fr) Procede et dispositif d&#39;analyse de sequences video dans un reseau de communication
US20030235338A1 (en) Transmission of independently compressed video objects over internet protocol
KR101389220B1 (ko) 개선된 사전-알람 비디오 버퍼
FR2861245A1 (fr) Procede de video surveillance, dispositif, systeme et programme d&#39;ordinateur correspondant
FR2894421A1 (fr) Procede et dispositif de decodage d&#39;un flux video code suivant un codage hierarchique
JP2009005357A (ja) 部分的に破損したビデオパケットから有用なデータを回復するように適合された回路、データを回復する方法、破損したビデオデータを再構築するように適合されたビデオデコーダ、または、ビデオビットストリームを復号する方法
FR2857198A1 (fr) Optimisation de qualite de service dans la distribution de flux de donnees numeriques
EP3707900B1 (fr) Procédé de formation d&#39;une séquence d&#39;images de sortie à partir d&#39;une séquence d&#39;images d&#39;entrée, procédé de reconstruction d&#39;une séquence d&#39;images d&#39;entrée à partir d&#39;une séquence d&#39;images de sortie, dispositifs, equipement serveur, equipement client et programmes d&#39;ordinateurs associés
EP1354482A1 (fr) Procede de codage et de decodage d&#39;images, dispositifs, et applications correspondants
WO2004095840A2 (fr) Embrouillage et desembrouillage et distribution securisee de sequences audiovisuelles issues de codeurs videos bases sur un traitement par ondelettes
KR20230107878A (ko) 적응적 얼굴 재현 및 얼굴 복원에 기반한 비디오 화상회의
FR2940491A1 (fr) Systeme de procede interactif pour la transmission sur un reseau bas debit d&#39;images clefs selectrionnees dans un flux video
WO2016046219A1 (fr) Procédé de transmission d&#39;images de surveillance vidéo
US20050041734A1 (en) Video coding
EP1297494B1 (fr) Procede et dispositif de traitement de sequences d&#39;images avec masquage
WO2005088979A1 (fr) Procede de recherche de la directon de prediction en codage video intra-image
Desurmont et al. A generic flexible and robust approach for intelligent real-time video-surveillance systems
EP2160837A1 (fr) Sélection de fonctions de décodage distribuée au décodeur
Chang et al. Adaptive layered video coding for multi-time scale bandwidth fluctuations
FR2887107A1 (fr) Procede et dispositif d&#39;emmission, de stockage et de lecture de flux videos multiplexes ou destines a etre multiplexes dans le reseau de communication
FR2872988A1 (fr) Procede et dispositif de creation d&#39;un flux video formant une mosaique genere a partir d&#39;une pluralite de flux video
WO2023191768A1 (fr) Procédé de compression vidéo dwt « t+2d » intégrée en temps réel et d&#39;analyse vidéo de bas niveau à l&#39;intérieur d&#39;une caméra intelligente intégrée dans un système aal de bout en bout
FR2832582A1 (fr) Procede et dispositif de determination d&#39;au moins un parametre de codage de donnees multimedia
Polyzos Hierarchical Coding of Images and Continuous Media for Transmission over Packet-Switching Networks,"
WO2007042539A1 (fr) Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d&#39;images, signal, programme d&#39;ordinateur et module d&#39;adaptation de qualite d&#39;image correspondants

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20