Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROGRAMMABLE MIXED-SIGNAL INTEGRATED CIRCUIT ARCHITECTURE FOR THE PRODUCTION OF AUTONOMOUS VISION SYSTEMS IN A SINGLE CHIP AND/OR PRE-PROCESSING OF IMAGES IN HIGHER-LEVEL SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2004/042822
Kind Code:
A1
Abstract:
The invention relates to programmable mixed-signal integrated circuit architecture for the production of autonomous vision systems in a single chip and/or pre-processing of images in higher-level systems. The inventive architecture senses, stores and processes images en masse in a parallel, concurrent and spatially-distributed manner. Moreover, the architecture comprises (i) a regular two-dimensional spatial distribution of identical cells which are interconnected locally and which combine phototransduction, processing and storage capacities and (ii) a digital storage and processing system. According to the invention, the operations and the specific parameters with which they are performed are controlled globally, i.e. for all of the cells simultaneously with spatially-uniform values, from circuits which are located on the periphery of the cell distribution. Furthermore, a digital processor controls the analogue processor/sensor and performs high-level processing tasks, taking decisions regarding the images acquired and processed in parallel by the focal plane processor.

Inventors:
RODRIGUEZ VAZQUEZ ANGEL (ES)
ESPEJO MEANA SERVANDO (ES)
DOMINGUEZ CASTRO RAFAEL (ES)
Application Number:
PCT/ES2003/000564
Publication Date:
May 21, 2004
Filing Date:
November 04, 2003
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INNOVACIONES MICROELECTRONICAS (ES)
RODRIGUEZ VAZQUEZ ANGEL (ES)
ESPEJO MEANA SERVANDO (ES)
DOMINGUEZ CASTRO RAFAEL (ES)
International Classes:
H04N5/335; (IPC1-7): H01L27/146; H04N5/335
Domestic Patent References:
WO2000052639A22000-09-08
Foreign References:
EP0853427A21998-07-15
Attorney, Agent or Firm:
Gómez-acebo, Ignacio (S.L. Jorge Jua, 19 - 3º Madrid, ES)
Download PDF:
Claims:
1. REIVINDICACIONES la.Arquitectura de circuito integrado programable de señal mixta para la realización de sistemas autónomos de visión en un único chip y/o el preprocesamiento de imágenes en sistemas de nivel superior, caracterizado por realizar el sensado, almacenamiento y procesamiento de las imágenes en forma masivamente paralela, concurrente, y espacialmente distribuida. 2a.Arquitectura de circuito integrado de señal mixta según reivindicación la, caracterizada por comprender ; a) una distribución espacial regular bidimensional de celdas idénticas, localmente interconectadas, que combinan las capacidades de fototransducción, procesamiento, y almacenamiento y b) un sistema de procesamiento y almacenamiento digital 3a.Arquitectura de circuito integrado de señal mixta según reivindicaciones anteriores, caracterizada porque cada celda de la distribución espacial regular bidimensional de celdas idénticas computa mediante circuitería analógica programable una o varias sumas ponderadas de contribuciones de las celdas vecinas, entendiéndose el término suma en sentido algebraico, es decir, que tanto las variables a ponderar como los factores de ponderación pueden ser positivos o negativos, y consiguiéndose estas sumas ponderadas como la base de los algoritmos de procesamiento de las imágenes. 4a.Arquitectura de circuito integrado de señal mixta según reivindicaciones 2a y 3a, caracterizada porque cada celda de la distribución espacial regular bidimensional de celdas idénticas comprende ; al menos un fotosensor (1) y su circuitería de adaptación y entrefase (2), al menos una memoria analógica (3) y/o binaria (4), que a nivel de sistema constituyen memorias de imágenes cuyos píxeles tienen valores analógicos y/o binarios, una circuitería de ponderación y suma (6) en la cual los factores de ponderación utilizados en el cómputo de las sumas ponderadas son programables eléctricamente de manera espacialmente uniforme circuitería de procesamiento (6) encargada de realizar operaciones sencillas sobre el resultado de agregar una o varias sumas ponderadas de contribuciones de las celdas vecinas proporcionales a una o varias imágenes, siendo los coeficientes relevantes para la realización de dichas operaciones también programables eléctricamente de manera espacialmente invariante, circuitería (8) de control, de conexionado y de conversión, para el intercambio de datos entre los diferentes elementos de cada celda (sensores, memorias, y circuitos de procesamiento) a nivel de celda, simultáneamente en todas las celdas, de manera que a nivel de sistema constituyen transferencias de imágenes en forma totalmente paralela, con una anchura de bus igual al número de píxeles de la imagen, circuitería (7,8) para el empleo opcional de habilitación o modificación local selectiva de algunas de las operaciones de procesamiento y/o de transferencia de datos a nivel de celda en base al contenido de alguna de las memorias de píxel binarias de la celda. 5a.Arquitectura de circuito integrado de señal mixta según reivindicación 4a, caracterizada porque a nivel de la circuitería de entrefase (2) existen interconexiones entre sensores de la misma celda y/o entre sensores de celdas adyacentes para propósitos de filtrado espaciotemporal, lineal o nolineal, y siendo los parámetros significativos de la entrefase óptica y de filtrado espaciotemporal programables en base a parámetros globales y/o locales. 6a.Arquitectura de circuito integrado de señal mixta según reivindicación 4a, caracterizado porque cada una de las celdas comprende una circuitería para realizar la multiplicación píxel a píxel de dos imágenes previamente almacenadas. 7a.Arquitectura de circuito integrado de señal mixta según reivindicación 4a, caracterizada porque cada una de las celdas comprende una circuitería para realizar operaciones lógicas, programables de manera espacialmente invariante, entre valores binarios de píxeles correspondientes a diferentes imágenes previamente almacenadas. 8a.Arquitectura de circuito integrado de señal mixta según reivindicación 4a, caracterizada porque cada una de las celdas comprende una circuitería para transferir el contenido de una determinada memoria analógica (3) o binaria (4) a otra celda cercana especificada de acuerdo a un vector de desplazamiento programable de manera espacialmente invariante, resultando a nivel global en un desplazamiento de toda la imagen, y realizándose dicho desplazamiento de forma directa o iterativa, según criterios de optimización de la circuitería. 9a.Arquitectura de circuito integrado de señal mixta según reivindicación 4a, caracterizada porque comprende en la periferia de la matriz de celdas, bancos de convertidores AD y DA (15) para el intercambio bidireccional con el exterior del circuito integrado, de imágenes digitalizadas en escala de grises en forma serial, a través de uno o más buses de datos digitales, y de los correspondientes buses de direcciones y señales de control. 10a.Arquitectura de circuito integrado de señal mixta según reivindicación 9a, caracterizada porque el intercambio bidireccional con el exterior del circuito integrado se realiza mediante buses de datos analógicos, prescindiéndose por tanto de los bancos de convertidores AD y DA. 11 a.Arquitectura de circuito integrado de señal mixta según reivindicaciones 2a a 10a, caracterizada por comprender, rodeando a la distribución de celdas espacialmente regular, un anillo de celdas (10) utilizadas para establecer las condiciones de contorno espaciales en los algoritmos de procesamiento de imágenes, y siendo estas condiciones de contorno programables eléctricamente.
2. 12a.Arquitectura de circuito integrado de señal mixta según reivindicaciones 2a a.
3. la, caràcterizada porque comprende una circuitería de computo global para la compresión (16) y transmisión al exterior de imágenes binarias dispersas, con componentes tanto en el interior de la celda (12) como en la circuitería periférica (16), tales como la determinación de si cierta imagen es totalmente blanca o negra, la detección de los vértices opuestos de regiones que incluyan los píxeles minoritarios (blancos o negros), o la generación de una secuencia de las coordenadas espaciales del conjunto de píxeles minoritarios. 13a.Arquitectura de circuito integrado de señal mixta según reivindicaciones 2a a 12a, caracterizada porque comprende, a nivel de celda y a nivel global, una circuitería analógica (12) de cómputo de parámetros globales de las imágenes, tales como el valor medio, los valores máximos y mínimos, la dispersión media, la varianza, u otros parámetros estadísticos. 14a.Arquitectura de circuito integrado de señal mixta según reivindicaciones 2a a 13a, caracterizada porque comprende un sistema digital (11) de procesamiento, almacenamiento y control, que realiza las tareas de control de la distribución de celdas y del sistema en su conjunto, de procesamiento de información, y de las comunicaciones externas, con arreglo a un programa preestablecido y almacenado en las memorias internas.
Description:
ARQUITECTURA DE CIRCUITO INTEGRADO PROGRAMABLE DE SEÑAL MIXTA PARA LA REALIZACIÓN DE SISTEMAS AUTÓNOMOS DE VISIÓN EN UN ÚNICO CHIP Y/O PREPROCESAMIENTO DE IMÁGENES EN SISTEMAS DE NIVEL SUPERIOR.

DESCRIPCIÓN OBJETO DE LA INVENCIÓN La presente solicitud se refiere a una arquitectura de circuito integrado programable de señal mixta para la realización de sistemas autónomos de visión en un único chip y/o preprocesamiento de imágenes en sistemas de nivel superior, tal y como se desprende del preámbulo de la primera reivindicación.

Mas concretamente, la Invención es de aplicación en sistemas electrónicos integrados, sistemas de visión artificial, sistemas autónomos de visión artificial, sistemas optoelectrónicos para el procesamiento de imágenes, sistemas de captación de imágenes y procesadores de imágenes con sensado concurrente para tareas de preprocesamiento visual con aplicaciones en : visión artificial, sistemas autónomos de visión, sistemas de transmisión de información visual, sistemas automáticos de inspección y control de calidad, sistemas automáticos de control y guiado, sistemas de percepción visual, juguetería, y en general aplicaciones que requieran la toma de decisiones en base a información visual, o el procesamiento de imágenes como parte de un sistema superior, con una o varias de las siguientes características en relación a la aproximación convencional basada en cámaras digitalizadoras y procesadores digitales : alta velocidad, bajo coste, pequeño tamaño y bajo consumo de potencia.

ANTECEDENTES DE LA INVENCIÓN Los sistemas que se emplean actualmente en tareas de visión artificial y en procesamiento de imágenes en general se basan fundamentalmente en procesadores digitales aplicados a imágenes previamente digitalizadas. Para aplicaciones en las que se requiere procesamiento en tiempo real es frecuente utilizar una cámara convencional (por ejemplo CCD), un sistema de digitalización de imágenes (por ejemplo un"frame graber") y un procesador digital.

Existe un número creciente de aplicaciones en las que la separación del sensado y del procesado en los sistemas de procesamiento de imágenes resulta en inconvenientes significativos y límites a las prestaciones deseables.

Los sistemas convencionales tienen dificultades para alcanzar valores elevados de"throughput" (número de"actuaciones"por unidad de tiempo) y/o valores reducidos de latencia (retraso). Esto es causado por una parte por el tiempo requerido por el sistema para captar, convertir y transferir cantidades muy elevadas de datos (imágenes), y por otra por la elevada carga de procesamiento a la que se ve sometido el procesador digital. La diferencia- ción entre latencia y"throughput"es relevante en muchas aplicaciones.

Latencia es el tiempo que transcurre desde el comienzo del sensado hasta la generación de la respuesta (tiempo de reacción), mientras que el"throughput" es la frecuencia con la que el sistema actualiza su salida. Los sistemas de procesamiento de imágenes convencionales, basados en el uso de cámaras y procesadores digitales, podrían llegar a ofrecer un"throughput"relativamente elevado en base a paralelismo, con dificultades y aceptando una multiplicación del coste, pero tienen serias dificultades para reducir la latencia, incluso asumiendo costes elevados. En numerosas aplicaciones es la latencia el parámetro más relevante. Por otra parte, los costes, el tamaño, y el consumo de energía de un sistema convencional con"throughput"elevado son excesivos en general.

Por estos motivos, existen diversas líneas de investigación y desarrollo orientadas a la realización de sistemas de procesamiento de imágenes que eviten o reduzcan dichos inconvenientes. Varias de estas líneas se focalizan en el desarrollo de sistemas que se inspiran o que intentan emular de una u otra manera la arquitectura de los sistemas de visión de los seres vivos.

En los sistemas de visión naturales existe una parte frontal de "preprocesamiento" (la retina) en la cual la tarea de procesamiento y sensado se hace de forma concurrente (simultánea y espacialmente distribuida), en base a un conjunto de elementos sencillos que combinan sensado y procesamiento, localmente interconectados entre sí. En los seres vivos superiores, la estructura de procesamiento se compone de varias capas paralelas, cada una con funciones distintas, a su vez interconectadas entre sí de forma local. La información transmitida desde la retina a diferentes partes del cerebro para las tareas superiores de percepción es muy reducida en relación a la información en bruto del flujo visual, con las consiguientes ventajas. Esta arquitectura se relaciona con la evidente calidad, eficiencia y sencillez con la que los seres vivos realizan tareas relacionadas con la visión que son inimaginables hoy en día para los sistemas electrónicos más avanzados.

La emulación tecnológica de esta"aproximación natural al procesamiento de información visual"se apoya en las tecnologías de fabricación de circuitos integrados actuales, que permiten la coexistencia en el mismo sustrato de silicio de dispositivos fotosensores y circuitería convencional de procesamiento.

De esta manera, se abre la posibilidad de realizar sistemas artificiales de procesamiento de imágenes en los que tanto la fototransducción como el preprocesamiento de las imágenes se realizan de forma concurrente, espacialmente distribuidas, asociándose a cada píxel un elemento de sensado y también un elemento de procesamiento. Los sistemas optoelectrónicos que resultan de esta aproximación reciben el nombre genérico de"sistemas de

procesamiento en el plano focal", por estar concebidos para ser emplazados en el plano focal de un sistema óptico, en el que se forma la imagen y donde ésta es sensada y procesada de forma concurrente. Por otra parte, la introducción de memoria distribuida y concurrente con el sensado y el procesamiento, permite emular la estructura multicapa de las retinas naturales mediante la utilización de multiplexación temporal.

De forma simultánea, existe en la actualidad un gran esfuerzo de desarrollo de cámaras, sin funciones de procesamiento, basadas en tecnología CMOS convencionales. Esto es debido a ciertas ventajas inherentes al uso de esta tecnología en relación a la actualmente extendida utilización de cámaras basadas en dispositivos acoplados por carga (CCD). Entre otras podemos citar la posibilidad de acceder aleatoriamente a los diferentes píxeles, un menor consumo de potencia, una tecnología mas accesible y económica, y la facilidad para incluir algún tipo de circuitería de procesamiento y/o de conversión analógica-digital en el mismo chip.

Otra línea de investigación relacionada, que podemos denominar la de los procesadores analógicos masivamente paralelos, se centra en sistemas de procesamiento de estructuras de datos multidimensionales basadas en distribuciones regulares de procesadores más o menos sencillos, interconectados localmente, y que actúan realizando todos ellos la misma función en cada instante.

Finalmente, es bien conocida la versatilidad y eficiencia de los bloques de procesamiento y almacenamiento de información digital actuales.

En lo que se refiere a los sistemas de procesamiento en el plano focal, la gran mayoría de las arquitecturas concretas, algoritmos de procesamiento, y prototipos realizados o propuestos hasta la fecha persiguen la realización de tareas simples y específicas, que además están fijadas de antemano y por tanto son"programadas en el hardware". En la línea de cámaras de visión CMOS existen ya numerosos productos comerciales, así como numerosos avances basados en diferentes formas de compresión del rango de intensidad

luminoso, técnicas de calibración para compensar las no idealidades presentes, y algunas técnicas de filtrado espacio-temporal de la imagen para evitar problemas de contraste y otros. Esta última vertiente intersecta sustancialmente con la línea de procesadores en el plano focal. En lo referente a los procesadores analógicos masivamente paralelos, las contribuciones, realizaciones y propuestas realizadas hasta la fecha son muy variadas, siendo su característica mas significativa en relación a los procesadores de plano focal habituales la incorporación de programabilidad en alguna medida, así como espacio de almacenamiento para una o varias imágenes, en forma analógica o digital, siguiendo la estrategia general de concurrencia y distribución espacial para mantener la velocidad de las operaciones de transferencia de datos. Estos sistemas realizan normalmente algoritmos de procesamiento específicos, sobre imágenes previamente almacenadas o adquiridas mediante un dispositivo externo, que son transmitidas al procesador masivamente paralelo en forma eléctrica y serial, y por tanto no pueden considerarse sistemas de procesamiento en el plano focal.

DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La invención que se reivindica en esta solicitud de patente es una arquitectura específica de circuito integrado para la adquisición y procesamiento de imágenes empleable en la realización de sistemas autónomos de visión en un único chip, y que también puede emplearse como elemento coprocesador especializado en el procesamiento de imágenes en sistemas de nivel superior. La arquitectura propuesta se fundamenta en una combinación de las tres líneas de investigación y desarrollo mencionadas y actualmente presentes en el estado de la técnica, aunándolas de una forma concreta, introduciendo programabilidad, y añadiéndole un sistema de procesamiento y almacenamiento de información digital como elemento principal de control y de toma de decisiones, lo que permite que el sistema de

visión actúe de forma autónoma una vez programado para la realización de alguna función específica.

La arquitectura propuesta está constituida entorno a un elemento central, el sensor-procesador, que a su vez consiste en una distribución regular bidimensional de celdas idénticas, cada una de las cuales dispone de ciertos elementos de fotosensado, almacenamiento, procesamiento, control, y de transferencia de datos. La realización de estas operaciones, así como los parámetros específicos con los que son realizadas, se controlan de forma global (para todas las celdas a la vez, con valores espacialmente uniformes) desde elementos de circuito situados en la periferia de la distribución de celdas. No se excluye la utilización de información local (en cada celda) para la habilitación selectiva o la modificación de las operaciones que se realicen globalmente.

De forma específica, cada una de las celdas idénticas de la distribución regular bidimensional contiene los siguientes elementos, sin excluir la posibilidad de que alguno de ellos pueda eliminarse en realizaciones concretas, Uno o varios fotosensores (1) y su circuitería de adaptación y entrefase (2), sin excluir la posible existencia de interconexiones entre los diferentes sensores de una misma celda o de celdas vecinas a nivel de la circuitería de entrefase, ni la programabilidad global y/o local de los parámetros relevantes en el proceso de adquisición y filtrado espacio- temporal, lineal o no-lineal, de las imágenes. A nivel de sistema, los sensores del conjunto de todas las celdas constituyen uno o varios sensores de imágenes. Los parámetros significativos de la entrefase óptica y de filtrado espacio-temporal pueden ser programables en base a parámetros globales (espacialmente invariantes) y/o locales (empleando información local de la celda).

Uno o varios elementos de almacenamiento analógicos (3) y/o binarios (4), que podemos considerar elementos de memoria de píxel. A nivel

global constituyen una memoria de una o varias imágenes en tonos de grises y/o en"blanco y negro". No se excluye la inclusión de algunas "memorias de imágenes de sólo lectura"que permitan el acceso a niveles de referencia significativos para el procesamiento, como por ejemplo los niveles extremos e intermedios del rango de valores analógicos.

Una circuitería y conexionado local (5) que permiten transferir el contenido de una determinada memoria analógica o binaria a otra celda cercana especificada de acuerdo a un vector de desplazamiento programable de manera espacialmente invariante, resultando a nivel global en un desplazamiento de toda la imagen. Este desplazamiento podría realizarse de forma directa o iterativa, según criterios de optimización de la circuitería.

Una circuitería de procesamiento (6) basada en la realización de operaciones analógicas sencillas sobre sumas ponderadas de contribuciones de las celdas vecinas y de la propia celda. El término suma debe entenderse en sentido algebraico : tanto las variables a ponderar como los factores de ponderación pueden ser positivos o negativos. Las contribuciones son proporcionales a los valores de los píxeles de alguna imagen (analógica o binaria) correspondientes a cada celda y almacenados en ella. Para cada celda, el conjunto de contribuciones procederá, sin excluir otras variantes, del conjunto de 3 x 3 celdas adyacentes centrado en ella misma. Las nueve contribuciones son ponderadas con arreglo a un conjunto de 3 x 3 factores de ponderación analógicos, que son programables eléctricamente de manera global (espacialmente invariante). No se excluye la extensión al caso en que la "suma ponderada"sea el resultado de la realización y acumulación de más de una de las sumas ponderadas anteriores, en general con diferentes conjuntos de factores de ponderación y con diferentes imágenes de origen. La realización de las diferentes contribuciones ponderadas y su acumulación puede hacerse en paralelo, empleando para ello la suficiente

circuitería de ponderación y suma, o de forma multiplexada en el tiempo, empleando una circuitería más reducida y un elemento de acumulación.

No se excluyen los casos extremos de utilización de un único elemento de ponderación aplicado secuencialmente a los diferentes vecinos y/o imáge- nes, ni el de la utilización de los suficientes elementos de ponderación para la obtención en un sólo paso de sumas ponderadas de contribuciones proporcionales a diferentes imágenes de origen con diferentes conjuntos de coeficientes de ponderación. Sin perjuicio de otros, algunos ejemplos de operaciones sencillas a realizar sobre el resultado de la suma ponderadas son : una integración sin pérdidas, una integración con pérdidas lineales, una integración con pérdidas no lineales, cualquiera de las variantes anteriores con o sin saturación, una función signo o una comparación umbralizada, un escalado, o simplemente el operador identidad. Los coeficientes analógicos empleados en la realización de las operaciones previstas sobre el resultado de la suma ponderada (por ejem- plo las pérdidas, niveles de saturación, factor de escalado, umbral de comparación, etc. ) también son programables de manera eléctrica y espacialmente invariante.

Una circuitería que permite la acumulación del resultado de la suma ponderada (6) al contenido de las memorias de píxel (analógico) de la celda (3).

Opcionalmente, la circuitería necesaria para realizar una multiplicación analógica, píxel a píxel, entre dos imágenes almacenadas (6).

'Un operador lógico elemental (7) que actúa sobre el contenido de las memorias binarias de cada celda. La operación lógica a realizar en cada momento es globalmente programable.

La circuitería de control, de conexionado, y de conversión (8) para permitir la transmisión de información entre los diferentes elementos de cada celda (e. g. sensores, memorias, y circuitos de procesamiento), siempre de forma simultánea en todas las celdas, de manera que a nivel

de sistema constituyen transferencias de imágenes en forma totalmente paralela, con una anchura de bus igual al número de píxeles de la imagen.

La circuitería de control (7,8) necesaria para el empleo opcional de habilitación o modificación local selectiva de algunas de las operaciones de procesamiento y/o de transferencia de datos en base al contenido de alguna de las memorias de píxel binarias de la celda.

La circuitería de control (7), de conexionado y eventualmente de conversión AD y DA necesaria para el control de las operaciones y para el intercambio de información (9) con el exterior de la distribución regular bidimensional de celdas idénticas, de alguna de las maneras previsibles en base a la funcionalidad previamente descrita.

Rodeando a la distribución regular bidimensional de celdas idénticas se emplazan los diferentes elementos de circuito necesarios para el funcionamiento de las celdas, así como los siguientes elementos de control y de interconexión con el exterior : Un anillo de celdas de contorno (10), que rodea a la distribución regular bidimensional de celdas. Estas celdas, utilizadas para establecer las condiciones de contorno espaciales, contienen la circuitería necesaria para generar las contribuciones que esperan las celdas interiores adyacentes, pero no la utilizada para realizar los cálculos. Los valores de los píxeles de las celdas de contorno son globalmente programables (para todo el anillo).

Un sistema digital (11) de procesamiento, control, y almacenamiento de datos y de programa, consistente por ejemplo en un microprocesador, un microcontrolador, o un procesador digital de señales, en combinación con bloques de memoria digital. En el caso más general, las memorias contendrán bloques de memoria volátil (RAM) y no volátil, pudiendo ser la no volátil programable al menos parcialmente. La función de este sis- tema digital es el control superior de las tareas realizadas por la

distribución de celdas, la comunicación del chip con el exterior, y en su caso, el procesamiento de la información preprocesada por la distribución de celdas para la toma de decisiones de alto nivel.

Circuitería de cómputo global (12) de propósito variado, destinada a la obtención de información muy simplificada de alguna imagen almacenada en la distribución de celdas. Como ejemplos, esta circuitería podría permitir el cálculo del valor medio de una imagen analógica, los valores extremos, la dispersión, y otros parámetros estadísticos. No se excluye la necesidad de incorporar alguna circuitería a nivel de celda.

Esta información extractada puede servir, entre otros propósitos, para el ajuste automático de los parámetros de adquisición de la imagen (tiempos de exposición, enfoque, etc), la selección de un determinado tipo de sensor entre los disponibles, y para la toma de decisiones globales en general.

Una circuitería de control (13) de la distribución de celdas, consistente esencialmente en un conjunto de registros digitales y máquinas de estado sencillas, direccionables y controlables por el sistema de procesamiento digital. La función de esta circuitería es permitir la generación y aplicación, a la distribución de celdas, de secuencias de vectores digitales de control.

Un banco de convertidores D/A (14), uno por coeficiente analógico programable empleado en el conjunto de celdas. Los convertidores pueden ser lineales o no, incluyendo la posibilidad de predistorsionar convenientemente la eventual no-linealidad existente entre la tensión analógica de control del coeficiente y el valor efectivo del mismo, por ejemplo en base a un mecanismo de realimentación que emplee el mismo tipo de bloque de escalado empleado en la circuitería de las celdas. Los datos digitales de entrada a este banco de convertidores proceden de nuevo de registros y máquinas de estado sencillas direccionables y controlables por el sistema digital de control y procesamiento. La salida

de cada convertidor, en tensión, ataca a un nudo global que se distribuye al conjunto de celdas. La utilización de una señal analógica de tensión responde a razones de eficiencia de conexionado.

Un banco de convertidores AD y DA (15) para realizar el intercambio de imágenes analógicas con el exterior del circuito integrado, cuando sea necesario o conveniente, en forma totalmente digital y de manera serial a través de uno o más buses de datos, con los correspondientes buses de direcciones y señales de control. Estos convertidores, al igual que el resto del sistema, estarán controlados directa o indirectamente por el sistema digital de control superior. No se excluye la posibilidad de que estos convertidores se realicen dentro de la distribución de celdas"a nivel de píxel", empleando técnicas apropiadas. Tampoco se excluye la posibilidad de comunicación mediante buses de datos analógicos, pudiendo prescindirse en ese caso de los bancos de convertidores AD y DA.

Circuitería de compresión de datos de salida (16). Conjunto de circuitos que permiten la compresión y transmisión de imágenes binarias dispersas (con pocos unos o con pocos ceros) de manera altamente eficiente. La inclusión de estos elementos responde a la observación de que la mayoría de los algoritmos de visión emplean representaciones binarias y normalmente dispersas de las imágenes en los niveles superiores de la cadena de decisión. Como ejemplo, esta circuitería podría identificar si cierta imagen binaria es completamente blanca o negra mediante alguna operación lógica global sobre todos los píxeles de una imagen binaria, detectar la posición de un píxel individual en la distribución regular de celdas si éste es el único píxel blanco o negro de la imagen mediante el uso de codificadores y decodificadores de"filas y columnas"o similar, o generar una secuencia de coordenadas espaciales correspondientes a las de cada uno de los píxeles minoritarios (blancos en un fondo negro o viceversa) empleando estrategias de prioridad, normalmente asíncronas.

Otro ejemplo sería la identificación de las coordenadas espaciales de los vértices opuestos de zonas que engloben los píxeles negros minoritarios en un fondo blanco (o viceversa) de la imagen. No se excluye la inclusión de la circuitería necesaria a nivel de píxel.

Circuitería de entrefase (17). Aparte de la entrada óptica, la entrefase eléctrica del circuito integrado es esencialmente digital, controlada por el sistema digital interno con arreglo a un reloj maestro, y consiste fundamentalmente en buses de dirección y de datos digitales, así como de señales de control típicas empleadas para los procesos/protocolos de lectura/escritura, habilitación general del chip, interrupciones, selección de modos de funcionamiento, ejecución de programa, etc. En realizaciones prácticas, esta entrefase se amoldará a algún estándar digital existente. Esto responde al objetivo de facilitar las tareas de programación y depuración de los algoritmos de visión artificial del sistema autónomo mediante el uso de sistemas de desarrollo, así como a la conveniencia de permitir la utilización alternativa de estos dispositivos como elementos"esclavos"especializados en la captación y procesamiento de imágenes dentro de sistemas digitales superiores.

DESCRIPCIÓN DE LOS DIBUJOS Para complementar la descripción que se está realizando y con objeto de ayudar a una mejor comprensión de las características del invento, de acuerdo con un ejemplo preferente de realización práctica del mismo, se acompaña como parte integrante de dicha descripción, una figura en donde con carácter ilustrativo y no limitativo, se ha representado esquemáticamente un ejemplo concreto de la arquitectura del sistema de visión integrado en un único chip, con indicación simbólica de la circuitería y la arquitectura de una celda básica del sensor-procesador, indicándose mediante símbolos los bloques de la circuitería de celda que son controlados y/o programados mediante señales

globales, las memorias digitales pudiendo ejercer funciones de control local, y el conjunto de vecinas de cada celda incluyendo en general a la propia celda.

En cuanto al sistema de control y procesamiento digital externo a la distribución de celdas, se refleja un ejemplo de arquitectura basada en una unidad de procesamiento (CPU, DSP, o Microcontrolador), memoria volátil y no volátil, periféricos genéricos, y una unidad de control de memoria.

EJEMPLO DE REALIZACIÓN La Figura muestra una representación esquemática del sistema que a continuación se describe como ejemplo de realización. En este caso particular el sistema se ha diseñado en un solo circuito integrado utilizando tecnología CMOS estándar de 0,18 micrómetros con 2 capas de polisilicio y 6 capas de metal. El sistema digital de procesamiento y control utilizado en el ejemplo es un microprocesador digital de altas prestaciones y bajo consumo de potencia con arquitectura RISC y bus de direcciones de 32 bits de anchura. Dicho microprocesador incluye memoria Caché para datos y direcciones y una unidad aritmética para la realización de multiplicaciones y divisiones en punto fijo. En el ejemplo de realización presentado se ha utilizado como unidades de almacenamiento digital un bloque de memoria SRAM de 32kbytes y un bloque de memoria no volátil de tipo FLASH-RAM ambas integradas.

En este ejemplo de realización se ha utilizado como bus interno al que se conectan el sistema digital de procesamiento y control, las memorias integradas, la circuitería de control, la distribución de celdas, y los convertidores de datos, un bus integrado de 32 bits de anchura operando a 66 Megahertzios.

La distribución de celdas, en este ejemplo, contiene 88 x 72 elementos, correspondiendo a la cuarta parte del formato conocido como QCIF (quarter

CIF). Cada celda interior contiene 10 elementos de ponderación y suma, correspondientes a contribuciones procedentes de las 3 x 3 celdas vecinas (incluyéndose la propia celda) y a una contribución adicional que implementa un término invariante en el espacio, también programable.

La operación realizada sobre el resultado de la suma ponderada puede ser elegida mediante programación entre la simple evaluación del resultado, una integración de tiempo continuo con saturación a la salida del integrador, o una binarización basada en una comparación umbralizada.

Las celdas incluyen ocho memorias analógicas, que pueden ser utilizadas también como memorias binarias mediante conversión directa del dato. Estas memorias de píxel actúan como elemento centralizador de los procesos de transferencia de información dentro de la celda. Se ha incluido también un operador lógico programable de dos entradas, que actúa sobre el contenido de las"memorias binarias". El contenido de las"memorias bina- rias"puede ser empleado para habilitar localmente la evolución dinámica de cada celda (integración), así como las funciones de transferencia de datos (por ejemplo, la escritura de otra memoria).

Los fotosensores empleados, que permiten realizar el sensado de la imagen enfocada sobre la superficie del chip por el sistema óptico, proporcionan diversos modos de operación, incluyendo la integración de la corriente fotogenerada en alguno de entre varios diodos de diferente naturaleza o incluso bipolares verticales, lo que resulta en una representación lineal en tiempo discreto del valor del píxel, y también otros esquemas que resultan en representaciones con compresión logarítmica en tiempo continuo.

La circuitería local de procesamiento y memoria permite una fácil calibración de los sensores, resolviendo el mayor inconveniente de los sensores CMOS.

Como ejemplos de circuitería de compresión de los datos de salida, se emplean dos puertas globales, una NAND y otra NOR, cada una de ellas con una entrada por cada celda, que permiten evaluar instantáneamente desde el exterior si una determinada imagen es completamente blanca o

completamente negra. Además, se ha incluido una circuitería capaz de generar la secuencia de pares de coordenadas de todos los píxeles negros de una imagen binaria, con arreglo a una determinada estrategia de prioridad asíncrona.

Los convertidores digital-analógico empleados para la programación de la distribución de celdas emplean arquitecturas convencionales. Sus salidas representan valores de los factores de ponderación correspondientes a la circuitería de suma ponderada descrita, valores de las condiciones de contorno espaciales, y niveles de referencia empleados por la circuitería analógica. Cada valor de cada coeficientes es codificado mediante 7 bits mas un bit de signo. Por su parte, el vector digital de control de la distribución de celdas tiene una anchura de 48 bits.

La entrefase externa consiste esencialmente en los buses de datos y de direcciones del sistema digital de control, junto a un número reducido de señales que sirven a los propósitos habituales de sincronización y de control de los procesos de lectura y escritura, de habilitación general de la entrefase externa del chip, de reset, y de selección de modos de funcionamiento (e. g. programación, ejecución, etc).

En este ejemplo, el área total de silicio ocupada por el sistema descrito en la Figura, en la tecnología de 0. 18, um empleada, es de 25mm2.