Los procesadores integrados se pueden dividir en dos categorías generales: microcontroladores y procesadores de señales digitales (DSP). Si bien la línea entre los microcontroladores y los DSP es cada vez más borrosa, generalmente no es demasiado difícil colocar una parte en un paquete o en el otro.
Un DSP, a diferencia de un microcontrolador, está optimizado para la transferencia de datos de alta velocidad y las operaciones matemáticas involucradas en aplicaciones como el procesamiento de audio en tiempo real, la radio definida por software y la inteligencia artificial (IA). Este artículo explorará el procesamiento de circuitos integrados llamados procesadores de señal de imagen (ISP). Tenga en cuenta que sería razonable incluir a los ISP como un subgrupo dentro de la categoría de DSP; sin embargo, a medida que proliferan las aplicaciones de procesamiento de imágenes en tiempo real y los ISP se vuelven más poderosos y versátiles, creo que tiene sentido darles su propia categoría.
En general, este artículo tiene como objetivo mostrar algunos ejemplos de procesadores de imagen, señal de imagen y medios para comprender los matices entre la terminología comercial y ver cuán borrosa es la línea entre estos diferentes tipos de productos.
La respuesta de Magic 8 Ball podría ser correcta cuando se trata de comprender el nombre de este tipo de procesadores. Con suerte, este artículo puede ayudar a aclarar algo de esa neblina. Imagen [modified] usado cortesía de Magic Management
La necesidad de hardware especializado para el procesamiento de imágenes.
Los DSP de uso general, como los dispositivos C66x de Texas Instruments o los procesadores Blackfin de Analog Devices, son dos ejemplos de dispositivos que pueden procesar datos de imágenes. Sin embargo, es importante reconocer que los sistemas de generación de imágenes imponen exigencias especiales al hardware de procesamiento, y los ISP a menudo hacen el trabajo de manera más eficiente que los dispositivos genéricos.
Quizás la consideración más importante es la gran cantidad de datos. Si muestreamos audio a 44,1 kHz con una resolución de 16 bits, una aplicación DSP en tiempo real manejará 88 200 bytes de datos de audio por segundo. Una cámara DSLR de 24 megapíxeles que dispara continuamente a un cuadro por segundo opera en un ámbito completamente diferente; incluso si asumimos un byte por píxel, estamos hablando de más de 24 millones de bytes por segundo. Algunos algoritmos de procesamiento de imágenes son bastante complejos, y cuando hay tantos datos involucrados, los módulos de hardware dedicados son preferibles a las rutinas de código personalizadas ejecutadas por una unidad central de procesamiento (CPU) sobrecargada.
Además, este ejemplo demuestra por qué los ISP pueden necesitar implementar capacidades de procesamiento en paralelo o como un sistema de varios núcleos en un chip. Aquí es cuando la electrónica computacional de la cámara necesita ser compatible con otras funciones, como el seguimiento del enfoque o la exposición automática, mientras se transmiten todos estos datos de imagen.
¿Qué es un procesador de señal de imagen?
Esta pregunta no es tan simple como me gustaría. Primero, considere el LM98519, un «procesador de señales de imágenes» de Texas Instruments. A continuación, en la Figura 1, podemos ver un diagrama negro de este dispositivo.
Figura 1. Se toma un diagrama de bloques de la hoja de datos LM98519. Imagen utilizada por cortesía de Texas Instruments [click image to enlarge]
En este producto de ejemplo, este ISP es solo un convertidor de datos para reproductores de imágenes basados en dispositivos de carga acoplada (CCD). Básicamente, muestrea y digitaliza dos formas de onda de salida CCD multiplexadas con la ayuda de sistemas de retroalimentación de nivel en blanco y negro. Sin embargo, he encontrado el término procesador de señal de imagen también se utiliza para designar hardware de Intel diseñado para sensores complementarios de semiconductores de óxido de metal (CMOS) y un núcleo IP para procesamiento de video de alto rango dinámico.
Aquí, en la Figura 2, está el diagrama de bloques de otra parte identificada como un «procesador de señal de imagen» (así que no es realmente un Imágenes procesador de señal).
Figura 2. El diagrama está tomado de la hoja de datos del ISP Mali-C55 de Arm. Imagen utilizada cortesía de Arm [click image to enlarge]
A pesar de la terminología casi idéntica, esta parte está claramente en una categoría diferente y tiene una funcionalidad mucho más amplia. Este Arm ISP realiza una serie de operaciones matemáticas complejas en los datos de la imagen:
- Corrección de defectos
- Reducción de ruido
- Desaicing para extraer valores RGB de píxeles filtrados por bayer
- Conversión de espacio de color y más
Los procesadores DaVinci de Texas Instruments, que se muestran en la Figura 3) están aún más integrados que el Arm ISP:
Figura 3. Diagrama de bloques de la hoja de datos DMVA3/DMVA4. Imagen utilizada por cortesía de Texas Instruments [click image to enlarge]
Aquí puede ver el hardware de procesamiento de imágenes combinado con un microprocesador y una generosa selección de periféricos digitales. TI llama a este dispositivo un «procesador de medios digitales», aunque podría describirse como un procesador de señales de imagen. En realidad, TI usa el término procesador de señal de imagen para una de las secciones del «subsistema de imágenes» de DaVinci.
Finalmente, Socionext utiliza los términos procesador de señal de imagen y procesador de imagen para su línea de productos Milbeaut. Los dispositivos Milbeaut son soluciones de sistema en chip (SoC) multiprocesador para aplicaciones de fotografía y video, y tienen la distinción de servir como base para los procesadores EXPEED extraordinariamente potentes que se encuentran en las cámaras DSLR y sin espejo de Nikon. Las capacidades de Milbeaut incluyen:
- Reducción de ruido
- Eliminación de neblina
- Estabilización de imagen electrónica
- Detección de rostros (que es importante para el enfoque automático avanzado)
- Corrección de la distorsión de la lente
Estructura, función y terminología del procesador de imagen
Espero que esta revisión de algunos de los principales productos de procesamiento de imágenes haya logrado dos cosas:
- Transmitió una comprensión general de las arquitecturas y capacidades del procesador de señales de imagen.
- Se ha demostrado que un procesador de señales de imagen/imágenes se puede aplicar a partes muy diferentes y, como resultado, debe tener cuidado con la terminología cuando trabaje en este campo.
Si alguien me preguntara, sugeriría las siguientes convenciones terminológicas:
- A procesador de señal de imagen denota un dispositivo comparable al LM98519 (ya que el enfoque es la señal del sensor de imagen).
- A procesador de imagen denota un dispositivo comparable al Arm Mali-C55 (ya que el foco está procesando toda la imagen).
- A procesador de medios está reservado para dispositivos cuyas capacidades son significativamente más sofisticadas o extensas que las de un procesador de imágenes.
Resumen del procesador de señales de imagen y recursos adicionales
Los procesadores de señales de imagen son una categoría diversa de circuitos integrados digitales o de señal mixta que se especializan en analizar y modificar datos visuales. Están optimizados para las muchas tareas de procesamiento intensivas en recursos involucradas en aplicaciones de imágenes fijas y video y deben lograr niveles extremadamente altos de sofisticación e integración para cumplir con las demandas de los sistemas de imágenes de última generación. Los ISP habilitan y mejoran muchas funciones automáticas e intuitivas que han revolucionado la fotografía y la videografía; estos incluyen control de exposición automático, enfoque automático, balance de blancos automático, detección de objetos, estabilización de imagen y reducción de ruido.
Si desea saber más sobre el procesamiento de imágenes, aquí hay algunos consejos para leer más:
¿Qué opinas sobre los procesadores de señal de imagen? ¿Tiene alguna forma diferente de desglosar las diferentes convenciones terminológicas? Háganos saber en los comentarios a continuación.