Brevet FR3109667A1 — publié le 20211029

Capteur d’image piloté par évènements et son procédé de lecture La présente description concerne un capteur piloté par événements, comprenant : une matrice de pixels (102) ; un circuit de lecture de colonnes (104) comprenant, pour chacune des lignes de sortie de colonne, une cellule de registre de colonne (108) agencée pour activer un signal de sortie d’événement de colonne (addrx) lorsqu’elle reçoit le premier jeton pendant que la détection d’un événement est indiquée sur la ligne de sortie de colonne ; et un circuit de lecture de rangées (106) comprenant, pour chacune des lignes de sortie de rangée, ou pour chacun d’une pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée (108) agencée pour activer un signal de sortie d’événement de rangée (addry) lorsqu’elle reçoit le deuxième jeton pendant qu’un événement est indiqué sur la ligne de sortie de rangée, ou sur l’une des lignes de sortie de rangée du sous-groupe. Figure pour l'abrégé : Fig. 3 Capteur d’image piloté par évènements et son procédé de lecture La présente description concerne de façon générale le domaine des matrices de capteurs pour la détection d’image ou la détection de profondeur, et en particulier une matrice de pixels pilotée par événements et son procédé de lecture. Les capteurs d’image comprenant des matrices de pixels de capture d’image peuvent détecter l’éclairage provenant d’une scène d’image, et mémoriser temporairement, au niveau de chaque pixel, un signal électrique (souvent une quantité de charge) qui est représentatif de l’éclairage détecté. Les signaux mémorisés au niveau des pixels sont en général lus dans toute la matrice rangée par rangée de manière synchrone. Un inconvénient d’une telle approche de lecture est qu’elle est relativement consommatrice de temps et d’énergie, en particulier pour de grandes matrices de pixels. En outre, dans de nombreuses applications, particulièrement celles impliquant un certain niveau de suivi de scène, il peut y avoir des périodes relativement longues pendant lesquelles il n’y a rien d’intéressant à capturer, et/ou il peut y avoir seulement une ou plusieurs régions intéressantes relativement petites dans la matrice de pixels à un instant donné. Les matrices de pixels pilotées par événements visent à apporter des gains significatifs en ce qui concerne la vitesse et la consommation d’énergie pour de telles applications. Dans un capteur d’image piloté par événements, chaque pixel peut signaler aux circuits de lecture entourant la matrice le moment où il a détecté un événement. Les circuits de lecture doivent ensuite déterminer les coordonnées du pixel qui a détecté l’événement, et dans certains cas lire une valeur mémorisée dans le pixel ou ailleurs. Il y a un problème en ce que la mise en œuvre de capteurs pilotés par événements dans l’art antérieur est relativement complexe, ce qui signifie que les gains en rendement énergétique et en vitesse sont loin de l’optimal. Il existe un besoin dans la technique d’une matrice de pixels pilotée par événements améliorée et d’un procédé de lecture de celle-ci qui répondent au moins partiellement à un ou plusieurs problèmes de l’art antérieur. Selon un mode de réalisation, on prévoit un capteur piloté par événements comprenant : une matrice de pixels ; un circuit de lecture de colonnes couplé à des lignes de sortie de colonne de la matrice de pixels, le circuit de lecture de colonnes comprenant, pour chacune des lignes de sortie de colonne, une cellule de registre de colonne couplée à la sortie de colonne, les cellules de registre de colonne étant couplées en série entre elles pour propager un premier jeton, dans lequel chaque cellule de registre de colonne est agencée pour activer un signal de sortie d’événement de colonne lorsqu’elle reçoit le premier jeton pendant que la détection d’un événement est indiquée sur la ligne de sortie de colonne ; et un circuit de lecture de rangées couplé à des lignes de sortie de rangée de la matrice de pixels, le circuit de lecture de rangées comprenant, pour chacune des lignes de sortie de rangée, ou pour chacun d’une pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée couplée à la ligne ou aux lignes de sortie de rangée, les cellules de registre de rangée étant couplées en série entre elles pour propager un deuxième jeton, dans lequel chaque cellule de registre de rangée est agencée pour activer un signal de sortie d’événement de rangée lorsqu’elle reçoit le deuxième jeton pendant qu’un événement est indiqué sur la ligne de sortie de rangée, ou sur l’une des lignes de sortie de rangée du sous-groupe. Selon un mode de réalisation, les lignes de sortie de colonne sont des lignes de demande de lecture de colonne, le circuit de lecture de colonnes étant en outre couplé à des lignes de colonne d’accusé de réception de la matrice de pixels, et les lignes de sortie de rangée sont des lignes de demande de lecture de rangée, le circuit de lecture de rangées étant en outre couplé à des lignes de rangée d’accusé de réception de la matrice de pixels. Selon un mode de réalisation, le premier pixel de la matrice est agencé pour activer, en réponse à un événement détecté, soit : une demande de lecture de colonne sur la ligne de demande de lecture de colonne de la colonne du premier pixel, et pour activer une demande de lecture de rangée sur la ligne de demande de lecture de rangée de la rangée du premier pixel en réponse à un signal d’accusé de réception sur la ligne de colonne d’accusé de réception ; soit une demande de lecture de rangée sur la ligne de demande de lecture de rangée de la rangée du premier pixel, et pour activer une demande de lecture de colonne sur la ligne de demande de lecture de colonne de la colonne du premier pixel en réponse à un signal d’accusé de réception sur la ligne de colonne d’accusé de réception. Selon un mode de réalisation, le premier pixel de la matrice est en outre agencé pour désactiver les demandes de lecture de colonne et de rangée en réponse aux signaux d’accusé de réception qui sont activés sur les lignes de colonne et de rangée d’accusé de réception. Selon un mode de réalisation, chaque ligne de sortie de colonne est une ligne de sortie de colonne partagée couplée à chacun des pixels de sa colonne, et chaque ligne de sortie de rangée est une ligne de sortie de rangée partagée couplée à chacun des pixels de sa rangée. Selon un mode de réalisation, chaque ligne de sortie de colonne est couplée en guirlande à chacun des pixels de sa colonne, et chaque ligne de sortie de rangée est couplée en guirlande à chacun des pixels de sa rangée. Selon un mode de réalisation, le circuit de lecture de rangées comprend, pour chacun de la pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée couplée aux lignes de sortie de rangée du sous-groupe, le circuit de lecture de rangées comprenant en outre un circuit de génération de motif agencé pour générer un motif de bits indiquant la rangée du sous-groupe sur laquelle l’événement est survenu. Selon un autre aspect, on prévoit un procédé de lecture d’un événement dans un pixel d’un capteur piloté par événements, le procédé comprenant : propager, par l’intermédiaire d’une série de cellules de registre de colonne d’un circuit de lecture de colonnes, un premier jeton, dans lequel le circuit de lecture de colonnes est couplé aux lignes de sortie de colonne d’une matrice de pixels du capteur, le circuit de lecture de colonnes comprenant, pour chaque ligne de sortie de colonne, l’une des cellules de registre de colonne couplée à la ligne de sortie de colonne ; activer, par l’une des cellules de registre de colonne, un signal de sortie d’événement de colonne lorsqu’elle reçoit le premier jeton pendant qu’un événement est indiqué sur la ligne de sortie de colonne ; et, avant ou après la propagation du premier jeton et l’activation du signal de sortie d’événement de colonne : propager, par l’intermédiaire d’une série de cellules de registre de rangée d’un circuit de lecture de rangées, un deuxième jeton, dans lequel le circuit de lecture de rangées est couplé à des lignes de sortie de rangée de la matrice de pixels, le circuit de lecture de rangées comprenant, pour chaque ligne de sortie de rangée, l’une des cellules de registre de rangée couplée à la ligne de sortie de rangée ; et activer, par l’une des cellules de registre de rangée, un signal de sortie d’événement de rangée lorsqu’elle reçoit le deuxième jeton pendant qu’un événement est indiqué sur la ligne de sortie de rangée. Selon un mode de réalisation, les lignes de sortie de colonne sont des lignes de demande de lecture de colonne, le circuit de lecture de colonnes étant en outre couplé à des lignes de colonne d’accusé de réception de la matrice de pixels, et les lignes de sortie de rangée sont des lignes de demande de lecture de rangée, le circuit de lecture de rangée étant en outre couplé à des lignes de rangée d’accusé de réception de la matrice de pixels. Selon un mode de réalisation, le procédé comprend en outre l’activation par un premier pixel de la matrice en réponse à un événement détecté, de soit une demande de lecture de colonne sur la ligne de demande de lecture de colonne de la colonne du premier pixel, et une demande de lecture de rangée sur la ligne de demande de lecture de rangée de la rangée du premier pixel en réponse à un signal d’accusé de réception sur la ligne de colonne d’accusé de réception ; soit une demande de lecture de rangée sur la ligne de demande de lecture de rangée de la rangée du premier pixel, et une demande de lecture de colonne sur la ligne de demande de lecture de colonne de la colonne du premier pixel en réponse à un signal d’accusé de réception sur la ligne de colonne d’accusé de réception. Selon un mode de réalisation, le procédé comprend en outre la désactivation, par le premier pixel de la matrice, des demandes de lecture de colonne et de rangée en réponse aux signaux d’accusé de réception qui sont activés sur les lignes de colonne et de rangée d’accusé de réception. Selon un mode de réalisation, le circuit de lecture de rangées comprend, pour chacun de la pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée couplée aux lignes de sortie de rangée du sous-groupe, le procédé comprenant en outre la génération, par un circuit de génération de motif du circuit de lecture de rangées, d’un motif de bits indiquant la rangée du sous-groupe sur laquelle l’événement est survenu. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente schématiquement un capteur piloté par événements ; la figure 2A représente schématiquement un pixel d’un capteur piloté par événements selon un exemple de réalisation de la présente description ; la figure 2B représente schématiquement un pixel d’un capteur piloté par événements selon un autre exemple de réalisation de la présente description ; la figure 3 représente schématiquement un capteur piloté par événements selon un exemple de réalisation de la présente description ; la figure 4 est un organigramme représentant des étapes dans un procédé de lecture de pixels dans le capteur piloté par événements de la figure 3 ; la figure 5 représente schématiquement un registre de colonne de la figure 3 plus en détail selon un exemple de réalisation ; la figure 6 représente schématiquement un registre de rangée de la figure 3 plus en détail selon un exemple de réalisation ; la figure 7 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même colonne du capteur de la figure 3 ; la figure 8 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même rangée du capteur de la figure 3 ; la figure 9 est un chronogramme représentant une opération de pixel de temps de vol selon un exemple de réalisation de la présente description ; la figure 10 représente schématiquement un circuit de lecture de rangées selon un exemple de réalisation de la présente description ; la figure 11 représente schématiquement un registre de rangée du circuit de lecture de rangées de la figure 10 plus en détail ; la figure 12 représente schématiquement un capteur piloté par événements comprenant le circuit de lecture de rangées de la figure 10 selon un exemple de réalisation de la présente description ; la figure 13 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même colonne du capteur de la figure 12 ; et la figure 14 représente schématiquement un capteur piloté par événements selon encore un autre exemple de réalisation de la présente description. De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, certains modes de réalisation décrits ici concernent des capteurs d’image, comme des capteurs RGB (rouge, bleu, vert), et d’autres capteur appelés capteurs de profondeur basés sur le temps de vol. La mise en œuvre technique de ces deux types de capteurs est bien connue de la personne du métier, et n’a pas été décrite en détail. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. La figure 1 représente schématiquement un capteur piloté par événements 100, comprenant une matrice 102 de pixels agencée en colonnes et en rangées, un circuit de lecture de colonnes 104 et un circuit de lecture de rangées 106. Le circuit de lecture de colonnes 104 comprend un circuit de détection d’événements de colonne 108 pour chaque colonne, et un codeur de colonne (X ENCODER) 110 couplé aux circuits de détection d’événement de colonne 106 qui fournit des adresses de colonnes (X ADDRESSES). Le circuit de lecture de rangées 106 comprend un circuit de détection d’événements de rangée 112 pour chaque rangée, et un codeur de rangée (Y ENCODER) 114 couplé aux circuits de détection d’événement de rangée 112 qui fournit des adresses de rangées (Y ADDRESSES). Trois pixels 116, 118 et 120 de la matrice de pixels 102 sont représentés en figure 1, ces pixels étant respectivement aux adresses (x1, y1), (x2, y2) et (x2, y1). Ainsi, le pixel 120 est dans la même rangée que le pixel 116, et dans la même colonne que le pixel 118. Une difficulté dans un capteur piloté par événements est d’être capable d’éviter les conflits d’adresses et ainsi de coder correctement l’adresse de pixel d’un événement lorsque plusieurs pixels se trouvant dans la même colonne et/ou la même rangée signalent un événement en même temps. En effet, si les pixels 116 et 118 aux adresses (x1, y1) et (x2, y2) signalent tous les deux un événement en même temps, il y a un risque que l’adresse (x2, y1) du pixel 120 soit indiquée de manière erronée comme étant les coordonnées de l’un ou l’autre ou des deux événements. Pour résoudre ce problème, selon des modes de réalisation de la présente description, un protocole de poignée de main est par exemple mis en œuvre entre les pixels et les circuits de lecture de colonnes et de rangées 104, 106, et un schéma de priorité basé sur des jetons est par exemple mis en œuvre par chacun des circuits de lecture 104, 106, comme on va le décrire maintenant plus en détail en faisant référence aux figures 2 à 8. La figure 2A représente schématiquement un pixel 200 d’un capteur piloté par événements, comme la matrice 100 de la figure 1, selon un exemple de réalisation de la présente description. Le pixel 200 comprend par exemple un dispositif sensible à la lumière 202, qui est représenté comme une photodiode dans l’exemple de la figure 2A. Plus généralement, le dispositif 202 est un dispositif quelconque qui génère un signal électrique en fonction de la lumière qu’il reçoit d’une scène d’image. Par exemple, le dispositif 202 pourrait être une photodiode pincée ou un SPAD (diode à avalanche d’un seul photon), ou un dispositif plus complexe qui produit en sortie un signal de sortie analogique ou numérique, comme une tension ou un courant représentant l’intensité lumineuse, une valeur de comptage de photons, etc. Le pixel 200 est par exemple couplé à des lignes de colonne partagées 204 et 206, et des lignes de rangée partagées 208 et 210. Les lignes de colonne partagées 204, 206 sont par exemple couplées à au moins deux, et en général à la totalité, des pixels d’une colonne de la matrice de pixels, et les lignes de rangée partagées 208, 210 sont par exemples couplées à au moins deux, et en général à la totalité, des pixels d’une rangée de la matrice de pixels. La ligne de colonne partagée 204 est par exemple une ligne de demande de lecture de colonne sur laquelle le pixel 200 indique le moment où il détecte un événement en activant un signal de demande de colonne . La ligne de colonne partagée 206 est par exemple une ligne d’accusé de réception sur laquelle le pixel 200 reçoit un signal d’accusé de réception de colonne ackx indiquant que la demande a été enregistrée par un circuit de détection d’événements de colonne correspondant (décrit plus en détail ci-après). La ligne de rangée partagée 208 est par exemple une ligne de demande de lecture de rangée sur laquelle le pixel 200 indique le moment où il a détecté un événement, et a reçu un accusé de réception ackx sur la ligne d’accusé de réception de colonne 206, en activant un signal de demande . La ligne de rangée partagée 210 est par exemple une ligne d’accusé de réception sur laquelle le pixel 200 reçoit un signal d’accusé de réception de rangée acky indiquant que la demande a été enregistrée par un circuit de détection d’événements de rangée correspondant (décrit plus en détail ci-après). Le pixel 200 est par exemple agencé pour détecter un événement sur la base d’un signal électrique ou d’une valeur produite par le dispositif 202, et pour activer, en réponse, le signal de demande sur la ligne 204. Le pixel 200 et ensuite par exemple agencé pour détecter le moment où le signal d’accusé de réception ackx est activé sur la ligne 206, et pour activer, en réponse, le signal de demande sur la ligne 208. Le pixel 200 est ensuite par exemple agencé pour détecter le moment où le signal d’accusé de réception acky est activé sur la ligne 210, et pour réinitialiser, en réponse, son mécanisme de détection d’événements. Pour réaliser ces fonctions, le pixel 200 comprend par exemple un circuit de détection d’événements (EVENT DET) 212, ayant une entrée couplée au dispositif 202, et une sortie couplée à un circuit mémoire 214. Le circuit de détection d’événements 212 est par exemple activé par un signal GATE, qui est par exemple un signal commun pour tous les pixels de la matrice. Le circuit mémoire 214 est agencé pour mémoriser un état de détection d’événement au niveau de sa sortie Q jusqu’à ce que l’événement ait été enregistré par les circuits de détection d’événements de colonnes et de rangées. Dans certains modes de réalisation, le circuit mémoire 214 est mis en œuvre par une bascule SR (mise à un, remise à zéro), dans laquelle l’entrée de mise à un S de la bascule 214 reçoit la sortie du circuit de détection d’événements 212. Toutefois, d’autres mises en œuvre basées sur un type quelconque de dispositifs bistables seraient possibles. Dans certains modes de réalisation, la sortie du circuit mémoire 214 est couplée à une entrée d’une porte ET 216, dont l’autre entrée est couplée à la sortie d’un autre circuit mémoire 218. L’autre circuit mémoire reçoit par exemple, au niveau d’une entrée, un signal INIT, indiquant le moment où le circuit de pixel 200 doit devenir actif et donc est capable de signaler des événements aux circuits de lecture. Dans certains modes de réalisation, le circuit mémoire 218 est mis en œuvre par une bascule SR 218 recevant le signal INIT sur son entrée de mise à un S. La sortie de la porte ET 216 active par exemple un commutateur 220 qui est agencé pour activer le signal de demande . Dans certains modes de réalisation, le signal de demande est actif à l’état bas et le commutateur 220 est mis en œuvre par un transistor, comme un transistor MOS à canal n (NMOS), ayant sa grille couplée à la sortie de la porte ET 216, et couplant, par l’intermédiaire de ses nœuds de conduction principaux, la ligne 204 à la masse. Dans un tel cas, la ligne 204 est par exemple couplée, au niveau d’un bord de la matrice de pixels, à une tension d’alimentation VDD par l’intermédiaire d’une résistance 222. Bien sûr, il serait aussi possible que la ligne 204 soit active à l’état haut, en remplaçant les transistors NMOS par des transistors PMOS, et en inversant leur commande d’entrée numérique respective. La sortie de la porte ET 216 provoque par exemple l’activation du signal de demande sur la ligne 208 lorsque le signal d’accusé de réception ackx sur la ligne 206 est activé. Par exemple, le signal de demande est activé lorsque deux commutateurs 224, 226 sont activés, le commutateur 224 étant activé par la sortie de la porte ET 216, et le commutateur 226 étant activé par le signal d’accusé de réception ackx. Dans certains modes de réalisation, le signal de demande est actif à l’état bas, et les commutateurs 224, 226 sont couplés en série entre eux entre la ligne 208 et la masse. Par exemple, les commutateurs 224, 226 sont mis en œuvre par des transistors, comme des transistors NMOS, couplés en série par l’intermédiaire de leurs nœuds de conduction principaux, le commutateur 224 ayant sa grille couplée à la sortie de la porte ET 216, et le commutateur 226 ayant sa grille couplée à la ligne 206. Dans un tel cas, la ligne 208 est par exemple couplée, au niveau d’un bord de la matrice de pixels, à la tension d’alimentation VDD par l’intermédiaire d’une résistance 228. Bien sûr, il serait aussi possible que la ligne 208 soit active à l’état haut, en remplaçant les transistors NMOS par des transistors PMOS, et en inversant leur commande d’entrée numérique respective. La réinitialisation du mécanisme de détection d’événements dans le pixel 200 est par exemple réalisée par une porte ET 230, qui par exemple a l’une de ses entrées couplée à la ligne d’accusé de réception 206, l’autre de ses entrées couplée à la ligne d’accusé de réception 210, et sa sortie couplée aux circuits mémoires 214, 218 afin de réinitialiser leurs états. Dans le cas où les circuits mémoires 214, 218 sont des bascules SR, la sortie de la porte ET 230 est par exemple couplée à l’entrée de réinitialisation R de ces bascules. Le signal INIT est par exemple un signal global pour tous les pixels de la matrice. Toutefois, dans certains modes de réalisation il serait aussi possible que le signal INIT soit commun pour les pixels de rangées et/ou de colonnes de la matrice de pixels, mais indépendamment entre les rangées et/ou les colonnes. Cela permettrait par exemple de définir une sous-région de la matrice de pixels comme région d’intérêt, conduisant à une lecture plus rapide de cette sous-région. Dans le cas où le signal INIT est basé à la fois sur les rangées et les colonnes, cela permettrait aussi par exemple de sélectionner un ensemble de pixels individuels afin d’éviter de lire des capteurs bruités ou défectueux. Dans un tel cas, une porte ET supplémentaire commandant l’entrée S de la bascule 218 est par exemple ajoutée à chaque pixel. Ses entrées seront connectées à des lignes de colonnes et de rangées commandées par des circuits périphériques X et Y, comme des registres à décalage. Une séquence d’activation pour des pixels sélectionnés serait par exemple réalisée avant de lancer l’acquisition d’image. Dans des variantes de réalisation, le pixel 200 est toujours actif, et ainsi aucun signal d’initialisation INIT n’est prévu. Dans de tels mode de réalisation, le circuit mémoire 218 et la porte ET 216 pourraient être omis, les commutateurs 220 et 224 étant par exemple contrôlés directement par la sortie Q du circuit mémoire 214. Le pixel 200 est par exemple capable de détecter un événement, et de demander la lecture de cet état de détection d’événement. En plus, dans certains modes de réalisation, le pixel 200 pourrait être agencé en outre pour fournir une valeur détectée, comme une valeur d’intensité lumineuse, ou un compte de photons, en plus de l’état de détection d’événement. Dans un tel cas, une sortie vers une ligne de colonne ou de rangée partagée additionnelle est par exemple prévue à partir de chaque pixel afin de permettre de produire ce signal en sortie. La figure 2B représente schématiquement un pixel 250 d’un capteur piloté par événements, comme la matrice 100 de la figure 1, selon une variante de réalisation par rapport à la figure 2A. Le mode de réalisation de la figure 2B a certains éléments en commun avec le mode de réalisation de la figure 2A, et ces éléments portent les mêmes références numériques ne seront pas décrits de nouveau en détail. Dans l’exemple de la figure 2B, la ligne de demande 204 est remplacée par une ligne de demande d’entrée 252 recevant un signal reqxi provenant d’un pixel adjacent de la colonne au-dessus du pixel 250, et une ligne de demande de sortie 254 envoyant un signal reqxo à un pixel adjacent de la colonne en dessous du pixel 250. Le pixel en haut de la colonne a par exemple sa ligne d’entrée de demande 252 couplée à un rail de masse 0 V. De façon similaire, la ligne de demande 208 est remplacée par une ligne de demande d’entrée 256 recevant un signal reqyi d’un pixel adjacent de la rangée à gauche du pixel 250, et une ligne de demande de sortie 258 envoyant un signal reqyo à un pixel adjacent de la rangée à droite du pixel 250. Le pixel à l’extrémité gauche de la rangée a par exemple sa ligne d’entrée de demande 256 couplée à un rail de masse 0 V. Ainsi, dans l’exemple de la figure 2B, les lignes de demande sont reliées en guirlande le long de chacune des rangées et colonnes de pixels. En outre, dans l’exemple de la figure 2B, les transistors 220, 224 et 226 sont remplacés par une porte OU 262, une porte ET 264 et une porte OU 266. La porte OU 262 reçoit sur l’une de ses entrées la sortie de la porte ET 216, et sur l’autre de ses entrées le signal de demande d’entrée reqxi sur la ligne 252. Une sortie de la porte OU 262 fournit le signal de demande de sortie reqxo sur la ligne 254. La porte ET 264 a l’une de ses entrées couplée à la sortie de la porte ET 216, et l’autre de ses entrées couplée à la ligne d’accusé de réception 206. La sortie de la porte ET 264 est couplée à une entrée de la porte OU 266. L’autre entrée de la porte OU 266 reçoit le signal de demande d’entrée reqyi sur la ligne 256. Une sortie de la porte OU 266 fournit le signal de demande de sortie reqyo sur la ligne 258. Le fonctionnement du pixel 250 est similaire à celui du pixel 200 de la figure 2A. En effet, lorsqu’un signal de demande de colonne reqxo ou un signal de demande de rangée reqyo est activé par un pixel, ce signal de demande va être transporté vers l’extrémité de la colonne ou de la rangée par l’intermédiaire d’un pixel intermédiaire. La figure 3 illustre schématiquement un capteur piloté par événements 300 selon un exemple de réalisation de la présente description. Le capteur 300 comprend par exemple certains éléments en commun avec la matrice 100 de la figure 1, et les éléments similaires portent les mêmes références numériques. Dans le mode de réalisation de la figure 3, le circuit de lecture de colonnes 104 comprend des circuits de détection d’événements de colonnes 108 mis en œuvre par des cellules de registre formant un registre de colonnes (X REGISTER), une sortie de chacun des circuits 108 étant fournie au codeur de colonne (X ENCODER) 110. En outre, le circuit de lecture de colonnes 104 comprend par exemple un circuit de commande (x CTRL) 302 qui fournit un signal de jeton Ix et un signal d’horloge clkx aux circuits de détection d’événements de colonnes 108. Les circuits 108 sont par exemple couplés en série entre eux, et sont agencés pour propager un jeton représenté par le signal de jeton Ix à partir d’une extrémité jusqu’à l’autre extrémité des circuits connectés en série 108. Le signal d’horloge clkx est par exemple fourni à chacun des circuits 108. Dans certains modes de réalisation, un circuit de détection de fin de balayage 303 détecte le moment où un jeton est relâché par le dernier circuit de détection 108 de la série, de sorte qu’un nouveau jeton peut être injecté de nouveau au début de la série. De façon similaire, le circuit de lecture de rangées 106 comprend par exemple des circuits de détection d’événements de rangées 112 mis en œuvre par des cellules de registre formant un registre de rangées (Y REGISTER), une sortie de chacun des circuits 112 étant fournie au codeur de rangée (Y ENCODER) 114. En outre, le circuit de lecture de rangées 106 comprend par exemple un circuit de commande (y CTRL) 304 qui fournit un signal de jeton Iy et un signal d’horloge clky aux circuits de détection d’événements de rangées 112. Par exemple, le signal de jeton Iy est généré en réponse au signal qui est généré dans l’une quelconque des colonnes, qui est par exemple détecté par un arbre OU (non illustré) sur la base des signaux ou des signaux addrx du circuit de lecture de colonnes 106. Les circuits 112 sont par exemple couplés en série entre eux, et sont agencés pour propager un jeton représenté par le signal de jeton Iy à partir d’une extrémité jusqu’à l’autre extrémité des circuits connectés en série 112. Le signal d’horloge clky est par exemple fourni à chacun des circuits 112. Dans certains modes de réalisation, un circuit de détection de fin de balayage 305 détecte le moment où un jeton est relâché par le dernier circuit de détection 112 de la série, de sorte qu’un nouveau jeton est prêt à être injecté de nouveau au début de la série. La matrice 102 de pixels de la figure 3 comprend par exemple les pixels 200 de la figure 2A, dont l’un est illustré en figure 3, couplé par les lignes de demande et d’accusé de réception 204, 206 à un circuit de détection d’événements de colonnes 108 correspondant de sa colonne, et par les lignes de demande et d’accusé de réception 208, 210 à un circuit de détection d’événements de rangées 112 correspondant de sa rangée. Comme cela a été expliqué en relation avec la figure 2A, les lignes de demande et d’accusé de réception 204, 206 sont par exemple partagées entre les pixels de chaque colonne, et ainsi il y a par exemple autant de lignes de demande 204 et autant de lignes d’accusé de réception 206 que de colonnes dans la matrice. De façon similaire, les lignes de demande et d’accusé de réception 208, 210 sont par exemple partagées entre les pixels de chaque rangée, et ainsi il y a par exemple autant de lignes de demande 208 et autant de lignes d’accusé de réception 210 que de rangées dans la matrice. Alors que la figure 3 illustre un exemple dans lequel les circuits de lecture de colonnes et de rangées 104, 106 sont disposés au niveau des bords de la matrice, dans des variantes de réalisation, ces circuits pourraient par exemple être disposés ailleurs, comme dans un niveau séparé dans le cas d’un capteur d’image 3D empilé. En particulier, la matrice 102 de pixels, ou au moins le capteur 202 de chaque pixel, et éventuellement le détecteur d’événements 212, pourraient par exemple être mis en œuvre dans un niveau optimisé pour la détection, et les circuits restants, y compris les circuits de lecture, pourraient être mis en œuvre dans un autre niveau contenant essentiellement des circuits numériques et optimisé pour la vitesse. La figure 4 est un organigramme représentant des étapes dans un procédé de lecture de pixels dans le capteur piloté par événements de la figure 3. Ce procédé est par exemple mis en œuvre au moins partiellement par du matériel, et en particulier par le circuit de pixel de la figure 2A ou 2B et par les circuits de lecture de colonnes et de rangées 104, 106 de la figure 3. Dans certains cas, les circuits de commande 302, 304 peuvent être mis en œuvre entièrement en matériel, par exemple par des machines à états, bien que dans des variantes de réalisation ces circuits puissent être mis en œuvre au moins partiellement par du logiciel exécuté par un ou plusieurs processeurs, comme un microprocesseur. Dans une étape 401, le circuit de commande 302 injecte par exemple un jeton TOKENx dans la série de cellules de registre 108. Dans une étape 402, il y a une impulsion du signal d’horloge clkx. Dans une étape 403, on détermine s’il y a un événement du signal au niveau de l’une quelconque des cellules de registre 108 qui n’a pas encore été traité. Dans la négative, cela implique que la fin de la trame d’image a été atteinte, comme cela est représenté par un bloc 404. Par contre, s’il y a au moins un événement, l’étape suivante est une étape 405. Dans l’étape 405, la première cellule de registre 108 du registre X au niveau de laquelle un événement est détecté active le signal d’accusé de réception ackx sur la ligne d’accusé de réception 206. En outre, le signal addrx est par exemple activé par cette cellule de registre, de sorte que le codeur x génère une adresse x correspondante. Ensuite, dans une étape 406, le circuit de commande 304 injecte par exemple un jeton TOKENy dans la série de cellules de registre 112. Dans une étape 407, il y a une impulsion du signal d’horloge clky. Dans une étape 408, on détermine s’il y a un événement du signal au niveau de l’une quelconque des cellules de registre 112. Dans la négative, cela signifie que le balayage Y est terminé, et le procédé revient par exemple à l’étape 402 dans laquelle une nouvelle impulsion d’horloge de l’horloge clkx survient. Par contre, s’il y a au moins un événement, alors l’étape suivante est une étape 409. Dans l’étape 409, la première cellule de registre 112 du registre Y au niveau de laquelle un événement est détecté active le signal d’accusé de réception acky sur la ligne d’accusé de réception 210. En outre, le signal addry est par exemple activé par cette cellule de registre, de sorte que le codeur y génère une adresse y correspondante. Le procédé revient ensuite par exemple à l’étape 407, et cette boucle se répète jusqu’à ce qu’il n’y ait plus d’autres événements à lire. Ainsi, chaque cycle de lecture est par exemple lancé par l’injection d’un jeton TOKENx et l’occurrence d’une impulsion de l’horloge clkx. Une fois qu’un cycle de lecture s’est terminé à la fin de la trame 404, un nouveau cycle de lecture peut être lancé immédiatement, ou après un retard. Par exemple, des cycles de lecture peuvent être lancés périodiquement, comme une fois toutes les 10 millisecondes, afin de détecter si un événement est survenu dans la scène d’image. En variante, des cycles de lecture peuvent être exécutés l’un après l’autre, sans aucune période d’attente entre les cycles. La figure 5 représente schématiquement une cellule de registre 108 de la figure 3 plus en détail selon un exemple de réalisation. Chacune des cellules de registre 108 comprend par exemple un commutateur à trois voies 502, connu aussi sous le nom de SPDT (de l’anglais Single Pole, Double Throw ; unipolaire, deux positions), une porte OU 504, des dispositifs mémoires synchrones 506 et 508 mis en œuvre par exemple par des bascules, une porte OU 510 et une porte ET 512. Le commutateur à trois voies 502 est par exemple mis en œuvre par un démultiplexeur, et reçoit au niveau de son entrée le signal Ix soit directement à partir du circuit de commande 302 dans le cas du premier registre de circuit de la série, soit, dans le cas des autres cellules de registre de la série, par l’intermédiaire d’une ou plusieurs des autres cellules de registre. Le commutateur 502 fournit sélectivement le signal Ix soit à une entrée de la porte OU 504, soit par l’intermédiaire d’un chemin de contournement 514 à une entrée de la porte OU 510. Le commutateur 502 est par exemple contrôlé par la ligne 204, et en particulier, lorsque le signal de demande est à l’état haut, indiquant une absence d’événement de colonne, le commutateur 502 fournit par exemple le signal Ix au chemin de contournement 514, et lorsque le signal de demande est à l’état bas, indiquant la présence d’un événement de colonne, le commutateur 502 fournit par exemple le signal Ix à la porte OU 504. La sortie de la porte OU 504 est par exemple couplée à une entrée de données D1 de la bascule 506, qui est par exemple une bascule de type D. La sortie de données Q1 de la bascule 506 est par exemple couplée à l’entrée de données D2 de la bascule 508, qui est par exemple aussi une bascule de type D. La sortie de données Q2 de la bascule 508 est par exemple couplée à une autre entrée de la porte OU 510. La bascule 514 reçoit par exemple comme horloge le signal d’horloge clkx, et la bascule 508 reçoit par exemple comme horloge le signal sur la ligne 204. La sortie Q1 de la bascule 506 est en outre couplée à une entrée de la porte ET 512, dont l’autre entrée reçoit, au niveau d’une entrée inversée, le signal de demande sur la ligne 204. La sortie de la porte ET 512 fournit le signal d’accusé de réception ackx sur la ligne 206, et ce signal est aussi fourni à l’autre entrée de la porte OU 504. La sortie Q1 de la bascule 506 fournit aussi par exemple un signal de sortie addrx du circuit 108, indiquant le moment où un événement a été détecté dans la colonne de pixels de la cellule de registre 108. Ce signal permet au décodeur de colonne 110 de la figure 3 de générer une adresse x du ou des pixels qui ont détecté un événement. Une sortie 516 de la porte OU 510 fournit le signal Ix à la cellule de registre suivante 108 de la série, ou dans le cas de la cellule de registre finale 108 de la série, au circuit de détection de fin de balayage 303. La figure 6 représente schématiquement une cellule de registre de rangée 112 de la figure 3 plus en détail selon un exemple de réalisation. Chacune des cellules de registre 112 comprend par exemple un commutateur à trois voies 602, un dispositif mémoire synchrone 604 mis en œuvre par exemple par une bascule, une porte OU 606 et une porte ET 608. Le commutateur à trois voies 602 est par exemple mis en œuvre par un démultiplexeur, et reçoit sur son entrée le signal Iy soit directement à partir du circuit de commande 304 dans le cas de la première cellule de registre de la série, soit, dans le cas des autres cellules de registre de la série, par l’intermédiaire d’une ou plusieurs des autres cellules de registre. Le commutateur 602 fournit sélectivement le signal Iy soit à l’entrée de données D1 de la bascule 604, qui est par exemple une bascule du type D, soit par l’intermédiaire d’un chemin de contournement 610 à une entrée de la porte OU 606. Le commutateur 602 est par exemple contrôlé par la ligne 208, et en particulier, lorsque le signal de demande est à l’état haut, indiquant l’absence d’un événement de rangée, le commutateur 602 fournit par exemple le signal Iy au chemin de contournement 610, et lorsque le signal de demande est à l’état bas, indiquant la présence d’un événement de rangée, le commutateur 602 fournit par exemple le signal Iy à la bascule 604. La sortie de données Q1 de la bascule 604 est par exemple couplée à une autre entrée de la porte OU 606. La bascule 604 reçoit par exemple comme horloge le signal d’horloge clky. La sortie Q1 de la bascule 604 est en outre couplée à une entrée de la porte ET 608, dont l’autre entrée reçoit, sur une entrée inversée, le signal de demande sur la ligne 208. La sortie de la porte ET 608 fournit le signal d’accusé de réception acky sur la ligne 210. La sortie Q1 de la bascule 604 fournit aussi par exemple un signal de sortie addry du circuit 108, indiquant le moment où un événement a été détecté dans la rangée de pixels de la cellule de registre 108. Ce signal permet au décodeur de rangée 114 de la figure 3 de générer une adresse y du pixel qui a détecté un événement. Une sortie 612 de la porte OU 606 fournit le signal Iy à la cellule de registre 112 suivante de la série, ou dans le cas de la cellule de registre 112 finale de la série, au circuit de détection de fin de balayage 305. Les cellules de registre 108 et 112 des figures 5 et 6 fournissent au moins une partie de la mise en œuvre du procédé de la figure 4, et permettent, en particulier, d’éviter des conflits d’adresses lorsqu’il y a des événements dans deux pixels d’une même colonne ou rangée, comme on va le décrire plus en détail en faisant référence aux figures 7 et 8. La figure 7 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même colonne du capteur de la figure 3. La figure 7 illustre des exemples des signaux INIT, GATE, du signal de demande pour une colonne n, des signaux Ix, clkx, ackx, X ADDRESS, d’un signal eox de fin de balayage x, du signal de demande pour une rangée m, du signal de demande pour une rangée m’, des signaux Iy, clky, du signal d’accusé de réception acky(m) pour une rangée m, du signal d’accusé de réception acky(m’) pour une colonne m’, du signal Y ADDRESS et d’un signal eoy de fin de balayage y. Le signal INIT passe par exemple à l’état bas à un instant t0 pour activer les pixels de la matrice de pixels, et le signal GATE présente par exemple une impulsion haute commençant à un instant t1 pour activer la détection d’événements. À un instant t2, un événement est détecté par un pixel de la colonne n, indiqué par le passage à l’état bas du signal . Un moment après, un cycle de lecture est lancé, démarrant avec un balayage x. En particulier, le signal Ix comprend une impulsion commençant à un instant t3 correspondant au jeton TOKENx, provoquant le passage à l’état haut de la sortie de la porte OU 504 (voir figure 5). Le signal d’horloge clkx a un front montant à un instant t4, qui provoque la mémorisation de la sortie de la porte OU 504 au niveau de la sortie Q1 de la bascule 506, et ainsi le signal d’accusé de réception ackx passe à l’état haut à un instant t5. En outre, le codeur d’adresses reçoit le signal addrx, et génère ainsi l’adresse x X ADDRESS à un instant t6. Le signal d’accusé de réception ackx amène un pixel d’une rangée m de la colonne n à activer le signal de demande à un instant t7, et aussi un autre pixel d’une rangée m’ de la colonne n à activer le signal de demande sensiblement au même instant t7. Un moment après, un balayage y du cycle de lecture commence. En particulier, le signal Iy comprend une impulsion commençant à un instant t8 correspondant au jeton TOKENy, provoquant le passage à l’état haut de l’entrée de données de la bascule 604 (voir la figure 6). Le signal d’horloge clky a un front montant à un instant t9, qui provoque le passage à l’état haut de la sortie de la bascule 604, et ainsi le signal d’accusé de réception acky(m) de la colonne m passe à l’état haut peu après, à un instant t10. La montée du signal d’accusé de réception acky(m) va amener le pixel de la colonne n et de la rangée m à amener le signal de demande à l’état haut à un instant t11. En outre, le signal addry (voir figure 6) de la rangée m va être activé, et le codeur Y 114 va ainsi générer l’adresse y Y ADDRESS à un instant t12. À peu près au même instant que le front montant du signal de demande à l’instant t11, le pixel se trouvant dans la colonne n et la rangée m va relâcher le signal de demande , mais ce signal reste bas en raison du fait que le deuxième pixel se trouvant dans la colonne n doit encore être lu. Par conséquent, sur un front montant suivant du signal d’horloge clkx à un instant t13, le jeton TOKENx reste au niveau de la cellule de registre 108 de la colonne n. Sur un front montant suivant du signal d’horloge clky à un instant t14, le jeton TOKENy va se propager vers la cellule de registre 112 de la rangée m’, et ainsi le signal d’accusé de réception acky(m’) est activé à l’instant t15. La montée du signal d’accusé de réception acky(m’) va amener le pixel de la colonne n et de la rangée m’ à mettre à l’état haut les signaux de demande et à un instant t16, et les signaux d’accusé de réception ackx et acky vont ainsi passer à l’état bas peu de temps après. En outre, le signal addry (voir figure 6) de la rangée m’ va être activé, et le codeur Y 114 va ainsi générer la nouvelle adresse y Y ADDRESS à un instant t17. À un instant t18, un front montant suivant du signal d’horloge clkx amène par exemple le jeton TOKENx à atteindre le circuit de détection de fin de balayage 303, et ainsi le signal eox de fin de balayage x est par exemple activé. Ce signal est par exemple fourni au circuit de commande de balayage x 302 afin de permettre le lancement d’un balayage x suivant. De manière similaire, à un instant t19, un front montant suivant du signal d’horloge clky amène par exemple le jeton TOKENy à atteindre le circuit de détection de fin de balayage 305, et ainsi le signal eoy de fin de balayage y est par exemple activé. Ce signal est par exemple fourni au circuit de commande de balayage y 304, afin de permettre le lancement d’un balayage y suivant. La figure 8 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même rangée de la matrice de pixels du capteur de la figure 3. La figure 8 illustre des exemples des signaux INIT, GATE, du signal de demande pour une colonne n, du signal de demande pour une colonne n’, des signaux Ix, clkx, du signal d’accusé de réception ackx(n) pour une colonne n, du signal d’accusé de réception ackx(n’) pour une colonne n’, du signal X ADDRESS, d’un signal eox de fin de balayage x, du signal de demande pour une rangée m, des signaux Iy, clky, acky, Y ADDRESS et d’un signal eoy de fin de balayage y. Le signal INIT passe par exemple à l’état bas à un instant t0 pour activer les pixels de la matrice de pixels, et le signal GATE a par exemple une impulsion haute commençant à un instant t1 pour activer la détection d’événements. A un instant t2, un événement est détecté par un pixel de la colonne n, indiqué par le passage à l’état bas du signal , et à peu près au même instant, un événement est détecté par un pixel de la colonne n’, indiqué par le passage à l’état bas du signal . Quelque temps après, un cycle de lecture est lancé, commençant par un balayage x. En particulier, le signal Ix comprend une impulsion commençant à un instant t3 correspondant au jeton TOKENx, provoquant le passage à l’état haut de la sortie de la porte OU 504 (voir figure 5). Le signal d’horloge clkx a un front montant à un instant t4, qui provoque la mémorisation de la sortie de la porte OU 504 au niveau de la sortie Q1 de la bascule 506, et ainsi le signal d’accusé de réception ackx(n) passe à l’état haut à un instant t5. En outre, le codeur d’adresses reçoit le signal addrx, et génère ainsi l’adresse x X ADDRESS à un instant t6. Le signal d’accusé de réception ackx amène un pixel d’une rangée m de la colonne n à activer le signal de demande à un instant t7. Quelque temps après, un balayage y du cycle de lecture commence. En particulier, le signal Iy comprend une impulsion commençant à un instant t8 correspondant au jeton TOKENy, provoquant le passage à l’état haut de l’entrée de données de la bascule 604 (voir figure 6). Le signal d’horloge clky a un front montant à un instant t9, ce qui provoque le passage à l’état haut de la sortie de la bascule 604, et ainsi le signal d’accusé de réception acky(m) passe à l’état haut peu de temps après, à un instant t10. La montée du signal d’accusé de réception acky(m) va amener le pixel de la colonne n et de la rangée m à amener le signal de demande à l’état haut à un instant t11, et à amener le signal d’accusé de réception ackx(n) à l’état bas, mais les signaux de demande et restent bas, en raison du deuxième pixel dans la rangée m, qui doit encore être lu. En outre, le signal addry (voir figure 6) de la rangée m va être activé, et le codeur Y 114 va ainsi générer l’adresse y Y ADDRESS à un instant t12. Sur un front montant suivant du signal d’horloge clkx à un instant t13, le jeton TOKENx va se propager vers la cellule de registre 108 de la rangée n’, et ainsi le signal d’accusé de réception ackx(n’) est activé à l’instant t14, et le codeur d’adresses reçoit le signal addrx, et génère ainsi l’adresse x X ADDRESS à un instant t15. Quelque temps après, un balayage y du cycle de lecture se poursuit. En particulier, puisque le signal de demande est resté à l’état bas, le jeton TOKENy est encore au niveau de la cellule de registre 112 de la rangée m. Sur le front montant suivant du signal d’horloge clky à un instant t16, la sortie de la bascule 604 (voir figure 6) va passer à l’état haut, et le signal d’accusé de réception acky(m) passe à l’état haut peu de temps après, à un instant t17. La montée du signal d’accusé de réception acky(m) va amener le pixel de la colonne n’ et de la rangée m à amener à l’état haut les signaux de demande et à un instant t18, et les signaux d’accusé de réception ackx(n’) et acky(m) vont passer à l’état bas peu de temps après. À un instant t19, un front montant suivant du signal d’horloge clkx amène par exemple le jeton TOKENx à atteindre le circuit de détection de fin de balayage 303, et ainsi le signal eox de fin de balayage x est par exemple activé. Ce signal est par exemple fourni au circuit de commande de balayage x 302, afin de permettre le lancement d’un balayage x suivant. De façon similaire, à un instant t20, un front montant suivant du signal d’horloge clky amène par exemple le jeton TOKENy à atteindre le circuit de détection de fin de balayage 305, et ainsi le signal eoy de fin de balayage y est par exemple activé. Ce signal est par exemple fourni au circuit de commande de balayage y 304, afin de permettre le lancement d’un balayage y suivant. Dans des applications de capteur d’image, le signal GATE fourni aux pixels permet par exemple d’appliquer un fonctionnement en obturateur global à la matrice. Dans des applications de temps de vol (ToF), le signal GATE dans le pixel peut être utilisé pour régler une plage de distance à détecter, comme on va le décrire maintenant plus en détail en faisant référence à la figure 9. La figure 9 est un chronogramme représentant un fonctionnement de pixel de temps de vol (ToF) selon un exemple de réalisation de la présente description. La figure 9 illustre des exemples des signaux INIT, GATE, d’un signal LASER correspondant aux caractéristiques temporelles de la transmission d’une impulsion optique dans la scène d’image, d’un signal Pix ON représentant des signaux détectés dans certains pixels, d’un signal TDC pour contrôler le signal GATE, et d’un signal READOUT. Dans l’exemple de la figure 9, le signal LASER passe à l’état haut à un instant t0, correspondant à l’instant où une impulsion laser est transmise dans la scène d’image. Cette impulsion va être réfléchie par tout objet présent dans la scène d’image, et l’impulsion de retour va être capturée par les dispositifs sensibles à la lumière 202 des pixels de la matrice de pixels. La distance des objets dans la scène d’image va influencer la durée nécessaire pour que l’impulsion réalise le trajet aller-retour. À un instant t1, une impulsion haute du signal GATE démarre par exemple, cette impulsion ayant une durée Tg, et se terminant à un instant t2. Ainsi, les impulsions de retour revenant vers un pixel avant t1, ou après t2, ne seront pas détectées par le pixel, et des événements ne seront générés que pendant l’intervalle t1 à t2. Cela est représenté en figure 9 par les signaux Pix ON des pixels, où seuls ceux survenant pendant l’intervalle t1 à t2 sont détectés comme étant des événements. Cela permet d’utiliser le signal GATE pour mettre en œuvre une détection de distance pour des objets présents dans une certaine plage de distance. La durée tdmin1 entre l’instant t0 et l’instant t1 définit la distance minimale à laquelle des objets seront détectés. La durée Tg de l’intervalle de temps règle la précision de la détection de distance. Comme cela est représenté en figure 9, le cycle de détection peut être répété à des instants t0’ et t0”, en combinaison avec des impulsions du signal GATE commençant respectivement à des instants t1’ et t1”, et se terminant respectivement à des instants t2’ et t2”. Les durées tdmin2 et tdmin3 entre les instants t0’ et t1’ respectivement et les instants t0” et t1” sont par exemple différentes de la durée tdmin1, ce qui permet de détecter des distances différentes. De cette manière, il est par exemple possible de balayer une plage de distance relativement grande dans la scène d’image sur plusieurs cycles. Bien que dans le mode de réalisation des figures 3 à 8 un balayage complet soit réalisé à la fois en x et en y, dans certains modes de réalisation le balayage y peut être réalisé plus rapidement en combinant des rangées, comme on va le décrire maintenant plus en détail en faisant référence aux figures 10 à 12. La figure 10 illustre schématiquement un sous-circuit 1002 du circuit de lecture de rangées 106 selon un exemple de réalisation de la présente description. Dans ce mode de réalisation, le circuit de lecture de rangées 106 comprend par exemple une pluralité de sous-circuits 1002. Comme cela est illustré en figure 10, chaque sous-circuit 1002 comprend par exemple une seule cellule de registre 1004 pour une pluralité de rangées r de la matrice de pixels. Une porte NON ET 1006 combine par exemple les signaux de demande à provenant des r rangées pour générer un signal de demande combiné reqyblck, qui est fourni à la cellule de registre 1004 en plus des signaux de demande reqy(0) à reqy(r-1). La cellule de registre 1004 génère un signal addry, qui est similaire au signal généré par les cellules de registre 112 de la figure 3, excepté qu’il indique un événement au niveau sous-circuit, et non au niveau rangée. Ce signal est par exemple utilisé par un codeur de groupe y (Y GROUP ENCODER) du circuit de lecture de rangées 106 pour générer l’adresse de sous-circuit. En outre, le sous-circuit 1002 comprend un autre circuit de verrou (LATCH) 1010, qui est par exemple utilisé pour générer, sur la base des signaux de demande à et du signal addry, d’autres bits de l’adresse y, indiquant la rangée d’un événement dans les r rangées. Ce circuit 1010 comprend par exemple des verrous (latch) 1012, chacun recevant l’un correspondant des signaux de demande à , les verrous 1012 recevant par exemple comme horloge le signal addry, et fournissant un signal de sortie de r bits par l’intermédiaire de commutateurs 1014 indiquant la rangée de l’événement de pixel. Les commutateurs 1014 sont par exemple aussi contrôlés par le signal addry. La figure 11 représente schématiquement une cellule de registre 1004 de la figure 10 plus en détail. Ce circuit est par exemple similaire à la cellule de registre 112 de la figure 6, et les éléments similaires portent les mêmes références et ne seront pas décrits de nouveau en détail. Toutefois, dans le mode de réalisation de la figure 11, il y a r portes ET 608_0 à 608_r-1, chacune recevant, au niveau d’une entrée inversée, l’un correspondant des signaux de demande à , et chacune générant un signal d’accusé réception correspondant acky(0) à acky(r-1). En outre, le commutateur 602 est contrôlé par le signal de demande combiné reqyblck. La figure 12 représente schématiquement un capteur piloté par événements 1200 comprenant le circuit de lecture de rangées de la figure 10 selon un exemple de réalisation de la présente description. Comme cela est représenté en figure 12, le circuit de balayage x est par exemple le même que celui de la figure 3 (le circuit de commande 302 n’est pas illustré en figure 12), mais le circuit de balayage y est remplacé par les sous-circuits 1002 de la figure 10, répétés plusieurs fois. On va maintenant décrire en détail le fonctionnement de la matrice 1200 de la figure 12 en faisant référence à la figure 13. La figure 13 est un chronogramme illustrant un exemple de lecture de deux pixels dans une même colonne de la matrice de pixels de la figure 12. La figure 13 illustre des exemples des signaux INIT, GATE, du signal de demande pour une colonne n, des signaux Ix, clkx, ackx, X ADDRESS, eox, du signal de demande pour un groupe p de r rangées, du signal de demande pour un autre groupe q de r rangées, des signaux Iy, clky, du signal d’accusé de réception acky(Group_p) pour le groupe p de r rangées, du signal d’accusé de réception acky(Group_q) pour le groupe q de r rangées, de Y ADDRESS et d’un signal eoy de fin de balayage y. Le chronogramme de la figure 13 est similaire à celui de la figure 7, et les aspects qui sont les mêmes ne seront pas décrits de nouveau détail. Toutefois, dans l’exemple de la figure 13, lorsqu’un pixel d’une rangée donnée du groupe p de rangées est lu, le signal addry(Group p) du groupe est activé, et deux valeurs sont générées. Une première valeur est l’adresse de groupe y (Y GROUP ADDRESS) générée par le codeur de groupe Y 1008, indiquant l’adresse du groupe p. L’autre valeur est un motif (Y PIXEL GROUP PATTERN) indiquant la position desdites une ou plusieurs rangées activées dans le groupe p, correspondant à la rangée ou aux rangées de pixels lues. De façon similaire, lorsqu’un pixel dans une rangée donnée du groupe q de rangées est lu, le signal addry(Group q) du groupe est activé, et de nouveau deux valeurs sont générées, l’adresse de groupe y indiquant l’adresse du groupe q, et le motif de groupe de pixels indiquant la position desdites une ou plusieurs rangées activées dans le groupe q, correspondant à la rangée ou aux rangées du ou des pixels qui sont lus. Dans certains modes de réalisation, la vitesse de lecture peut encore être augmentée en divisant la matrice 102 de pixels, et en prévoyant des cellules de registre séparées et des codeurs fonctionnant en parallèle, comme on va le décrire maintenant en faisant référence à la figure 14. La figure 14 représente schématiquement un capteur piloté par événements 1400 selon encore un autre exemple de réalisation de la présente description, dans lequel la matrice 102 de pixels est divisée en quatre régions Q1, Q2, Q3 et Q4 de taille sensiblement égale, et correspondant par exemple à des quadrants de la matrice de pixels. Chaque quadrant a par exemple un codeur X et Y dédié et des systèmes de lecture correspondants, ces éléments étant référencés en figure 14 avec les mêmes références numériques que celles utilisées en figure 3, mais avec le suffixe “Q1”, “Q2”, “Q3” ou “Q4” pour désigner le quadrant auquel ils appartiennent. Ainsi, quatre balayages, un pour chacun des quatre quadrants, peuvent être réalisés simultanément dans le mode de réalisation de la figure 14, conduisant à quadrupler la vitesse de lecture. Un avantage des modes de réalisation décrits ici est que les solutions offrent une solution simple et rapide pour lire des adresses de colonnes et de rangées d’événements de pixels tout en évitant les conflits d’adresses. En particulier, la solution n’est pas basée sur un arbre d’arbitrage, qui est un circuit relativement volumineux utilisé dans certaines approches de l’art antérieur. La solution présente aussi l’avantage d’être synchrone, une adresse étant par exemple lue pendant chaque période d’horloge des horloges clkx, clky. En outre, on a trouvé qu’on pouvait obtenir de très grandes vitesses de lecture puisque la vitesse d’horloge peut être de 100 MHz ou plus, et dans le cas de la figure 12, la vitesse de lecture maximum est égale à r fois la fréquence d’horloge. Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaitront à la personne du métier. Par exemple il apparaîtra clairement à la personne du métier que le mode de réalisation de la figure 14 pourrait être utilisé conjointement avec le circuit de la figure 10. De plus, il apparaîtra clairement à la personne du métier que bien qu’on ait décrit des modes de réalisation dans lesquels chaque pixel est agencé pour activer le signal de demande de lecture de colonne en premier en réponse à la détection d’un événement, et en réponse au signal d’accusé de réception de colonne, pour activer le signal de demande de lecture de rangée, il serait aussi possible que chaque pixel commence par la demande de lecture de rangée, et en réponse au signal d’accusé de réception de rangée, active la demande de lecture de colonne. En outre, bien qu’on ait décrit des modes de réalisation qui utilisent des codeurs X et Y pour générer des adresses, des variantes de mise en œuvre, en particulier dans le cas de matrices relativement petites, pourraient au lieu de cela impliquer l’utilisation d’un ou plusieurs compteurs externes pour compter le nombre de ‘0’ parmi les signaux addrx et addry avant que le premier ‘1’ soit trouvé, cette valeur de compte indiquant par conséquent la position de l’événement dans le registre X ou Y, et ainsi l’adresse. Capteur piloté par événements, comprenant : - une matrice de pixels (102) ; - un circuit de lecture de colonnes (104) couplé à des lignes de sortie de colonne (204, 254) de la matrice de pixels, le circuit de lecture de colonnes comprenant, pour chacune des lignes de sortie de colonne, une cellule de registre de colonne (108) couplée à la sortie de colonne, les cellules de registre de colonne étant couplées en série entre elles pour propager un premier jeton (TOKENx), dans lequel chaque cellule de registre de colonne est agencée pour activer un signal de sortie d’événement de colonne (addrx) lorsqu’elle reçoit le premier jeton pendant que la détection d’un événement est indiquée sur la ligne de sortie de colonne ; et - un circuit de lecture de rangées (106) couplé à des lignes de sortie de rangée (208, 258) de la matrice de pixels, le circuit de lecture de rangées comprenant, pour chacune des lignes de sortie de rangée, ou pour chacun d’une pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée (108, 1004) couplée à la ligne ou aux lignes de sortie de rangée, les cellules de registre de rangée étant couplées en série entre elles pour propager un deuxième jeton (TOKENy), dans lequel chaque cellule de registre de rangée est agencée pour activer un signal de sortie d’événement de rangée (addry) lorsqu’elle reçoit le deuxième jeton pendant qu’un événement est indiqué sur la ligne de sortie de rangée, ou sur l’une des lignes de sortie de rangée du sous-groupe. Capteur piloté par événements selon la revendication 1, dans lequel les lignes de sortie de colonne (204, 254) sont des lignes de demande de lecture de colonne, le circuit de lecture de colonnes (104) étant en outre couplé à des lignes de colonne d’accusé de réception (206) de la matrice de pixels, et dans lequel les lignes de sortie de rangée (208) sont des lignes de demande de lecture de rangée, le circuit de lecture de rangées (104) étant en outre couplé à des lignes de rangée d’accusé de réception (210) de la matrice de pixels. Capteur piloté par événements selon la revendication 2, dans lequel un premier pixel (200) de la matrice est agencé pour activer, en réponse à un événement détecté, soit : - une demande de lecture de colonne ( ) sur la ligne de demande de lecture de colonne (204, 254) de la colonne du premier pixel, et pour activer une demande de lecture de rangée ( ) sur la ligne de demande de lecture de rangée (208) de la rangée du premier pixel en réponse à un signal d’accusé de réception (ackx) sur la ligne de colonne d’accusé de réception (206) ; soit - une demande de lecture de rangée ( ) sur la ligne de demande de lecture de rangée (208, 258) de la rangée du premier pixel, et pour activer une demande de lecture de colonne ( ) sur la ligne de demande de lecture de colonne (210) de la colonne du premier pixel en réponse à un signal d’accusé de réception (acky) sur la ligne de colonne d’accusé de réception (206). Capteur piloté par événements selon la revendication 3, dans lequel le premier pixel (200) de la matrice est en outre agencé pour désactiver les demandes de lecture de colonne et de rangée ( ) en réponse aux signaux d’accusé de réception (ackx, acky) qui sont activés sur les lignes de colonne et de rangée d’accusé de réception (206, 210). Capteur piloté par événements selon l’une quelconque des revendications 1 à 4, dans lequel chaque ligne de sortie de colonne (204, 254) est une ligne de sortie de colonne partagée (204) couplée à chacun des pixels de sa colonne, et chaque ligne de sortie de rangée (208, 258) est une ligne de sortie de rangée partagée (208) couplée à chacun des pixels de sa rangée. Capteur piloté par événements selon l’une quelconque des revendications 1 à 4, dans lequel chaque ligne de sortie de colonne (204, 254) est couplée en guirlande à chacun des pixels de sa colonne, et chaque ligne de sortie de rangée (208, 258) est couplée en guirlande à chacun des pixels de sa rangée. Capteur piloté par événements selon l’une quelconque des revendications 1 à 6, dans lequel le circuit de lecture de rangées (106) comprend, pour chacun de la pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée (1004) couplée aux lignes de sortie de rangée du sous-groupe, le circuit de lecture de rangées comprenant en outre un circuit de génération de motif (1010) agencé pour générer un motif de bits indiquant la rangée du sous-groupe sur laquelle l’événement est survenu. Procédé de lecture d’un événement dans un pixel d’un capteur piloté par événements, le procédé comprenant : - propager, par l’intermédiaire d’une série de cellules de registre de colonne (108) d’un circuit de lecture de colonnes (104), un premier jeton (TOKENx), dans lequel le circuit de lecture de colonnes (104) est couplé aux lignes de sortie de colonne (204, 254) d’une matrice de pixels du capteur, le circuit de lecture de colonnes comprenant, pour chaque ligne de sortie de colonne, l’une des cellules de registre de colonne (108) couplée à la ligne de sortie de colonne ; - activer, par l’une des cellules de registre de colonne (108), un signal de sortie d’événement de colonne (addrx) lorsqu’elle reçoit le premier jeton pendant qu’un événement est indiqué sur la ligne de sortie de colonne ; et, avant ou après la propagation du premier jeton et l’activation du signal de sortie d’événement de colonne : - propager, par l’intermédiaire d’une série de cellules de registre de rangée (112) d’un circuit de lecture de rangées (106), un deuxième jeton (TOKENy), dans lequel le circuit de lecture de rangées (106) est couplé à des lignes de sortie de rangée (208, 258) de la matrice de pixels, le circuit de lecture de rangées comprenant, pour chaque ligne de sortie de rangée, l’une des cellules de registre de rangée (112) couplée à la ligne de sortie de rangée ; et - activer, par l’une des cellules de registre de rangée (112), un signal de sortie d’événement de rangée (addry) lorsqu’elle reçoit le deuxième jeton pendant qu’un événement est indiqué sur la ligne de sortie de rangée. Procédé selon la revendication 8, dans lequel les lignes de sortie de colonne (204, 254) sont des lignes de demande de lecture de colonne, le circuit de lecture de colonnes (104) étant en outre couplé à des lignes de colonne d’accusé de réception (206) de la matrice de pixels, et dans lequel les lignes de sortie de rangée (208) sont des lignes de demande de lecture de rangée, le circuit de lecture de rangée (104) étant en outre couplé à des lignes de rangée d’accusé de réception (210) de la matrice de pixels. Procédé selon la revendication 9, comprenant en outre l’activation par un premier pixel (200) de la matrice en réponse à un événement détecté, de soit : - une demande de lecture de colonne ( ) sur la ligne de demande de lecture de colonne (204, 254) de la colonne du premier pixel, et une demande de lecture de rangée ( ) sur la ligne de demande de lecture de rangée (208) de la rangée du premier pixel en réponse à un signal d’accusé de réception (ackx) sur la ligne de colonne d’accusé de réception (206) ; soit - une demande de lecture de rangée ( ) sur la ligne de demande de lecture de rangée (208, 258) de la rangée du premier pixel, et une demande de lecture de colonne ( ) sur la ligne de demande de lecture de colonne (210) de la colonne du premier pixel en réponse à un signal d’accusé de réception (acky) sur la ligne de colonne d’accusé de réception (206). Procédé selon la revendication 10, comprenant en outre la désactivation, par le premier pixel (200) de la matrice, des demandes de lecture de colonne et de rangée ( ) en réponse aux signaux d’accusé de réception (ackx, acky) qui sont activés sur les lignes de colonne et de rangée d’accusé de réception (206, 210). Procédé selon l’une quelconque des revendications 8 à 11, dans lequel le circuit de lecture de rangées (106) comprend, pour chacun de la pluralité de sous-groupes des lignes de sortie de rangée, une cellule de registre de rangée (1004) couplée aux lignes de sortie de rangée du sous-groupe, le procédé comprenant en outre la génération, par un circuit de génération de motif (1010) du circuit de lecture de rangées, d’un motif de bits indiquant la rangée du sous-groupe sur laquelle l’événement est survenu.