
Descripción general:
Core Image está diseñado para el resumen a nivel de píxel de imagen procesos de manipulación, lo que hace a las aplicaciones disponibles sin necesidad de la adición de hardware específicas de código. Core Image trabaja mediante la aplicación de una imagen a la Unidad de los datos de píxeles de ella misma, lo que resulta en la creación de una nueva imagen. Cada imagen se especifica una unidad de filtro, transformar, o de otros efectos que pueden aplicarse a los datos de píxeles originales sin modificar los datos originales.
Al igual que los filtros de Photoshop, una unidad de imagen se pueden aplicar en relación con los demás. El resultado es que múltiples unidades de imágenes puede aplicarse a una imagen sin necesidad de un aumento significativo en el tiempo de procesamiento. Core Image utiliza un just-in-time que es un compilador para crear el código que realiza las operaciones de píxeles asociado con una o más Image Units. El código es ejecutado por cualquiera de la CPU o la tarjeta gráfica GPU, lo que puede realizar el cálculo más rápido.
Cuando un GPU compatible está disponible, el compilador de Core Image genera los comandos utilizando un subconjunto de los sombreado OpenGL Idioma (GLSL). Si la GPU soporta el lenguaje de sombreado, será preferente el renderizador de Core Image. Si esta GPU no está presente, en el compilador de trabajo la CPU en el modo de repliegue, la generación de los comandos adecuados para la actual arquitectura de CPU. Fallback CPU utiliza el vector de capacidades de procesamiento de la CPU actual o CPUs, y es multi-procesador consciente . Así, el rendimiento de Core Image depende de la GLSL capacidad de la GPU o el poder de procesamiento de la CPU. Con un apoyo GPU, la mayoría de los efectos puede ser prestado en tiempo real o casi en tiempo real.
Historia:
Mac OS X v10.4 presentó Core Image. Tanto el Core Image se incluía en Fun House y Quartz, incluido con el 2,0 Xcode Tools, lo usa. El efecto en el Dashboard también usa un filtro de Core Image. De apertura es un ejemplo de una aplicación que se basa casi exclusivamente en Core Image.
Unidades de Imagen (Image Units):
Todos los píxeles de procesamiento proporcionados por una Unidad de Imagen se lleva a cabo en una pre-alfa multiplicada (RGBA) el espacio de color, almacenar cuatro canales de color: rojo, verde, azul, y la transparencia (alfa). Cada canal de color está representado por 32-bit, el número de punto flotante. Esto proporciona excepcional profundidad de color, mucho mayores de lo que puede ser percibida por el ojo humano, ya que cada píxel está representado por uno de 128-bit vector (cuatro de 32-bit). Para espacios de color de menor profundidad de bits, el de punto flotante modelo de cálculo empleado por Core Image proporciona un rendimiento excepcional, lo cual es útil en el tratamiento de múltiples imágenes de vídeo o frames.
No hay comentarios:
Publicar un comentario