Huawei Honor 7 implementa nuevo enfoque al tratamiento de la cámara
Huawei ha presentado recientemente su último smartphone insignia, el Honor 7, y al igual que muchos de los buques insignia de este año, un aumento de la cantidad de atención que se ha puesto en el desarrollo y comercialización de la cámara del teléfono, que cuenta con un sensor de 20MP yf / 2.0 abertura. Al igual que el hardware físico, post-procesamiento es un factor importante que determina la calidad de imagen final. Huawei, apoyada por el equipo del ecosistema ARM, fueron capaces de optimizar sus algoritmos de procesamiento de imágenes más avanzados radicalmente el uso de la ARM Malí GPU en el chip.
Con este fin, Huawei hizo uso del marco de la API estándar de la industria OpenCL que está diseñado para permitir a los programas ejecutar código a través de plataformas heterogéneas y pretende asignar tareas de manera más eficiente a la unidad de procesamiento más adecuado.
Lo que hicieron de manera diferente
Tradicionalmente, los módulos de cámara vienen con su propio procesamiento de señal de imagen (ISP) la lógica que se encarga de procesar los datos recogidos por el sensor, como de-ruido, nitidez o corrección de color. Procesadores de aplicaciones modernas también suelen integrar uno o más proveedores de Internet, en algunos casos se utiliza DSP.
Este juzgado y configuración del hardware probado sirve a su propósito y por lo general ofrece un buen equilibrio de costo, el rendimiento, el área y los requisitos de energía, que son todos los puntos importantes a tener en cuenta en el diseño de un dispositivos móviles.
Sin embargo, el hardware tiene una limitación fundamental: no se puede cambiar una vez que se tiene el compromiso de silicio y esto ocurre desde hace bastante tiempo antes de que el dispositivo final hace su camino en las manos del cliente.
Una de las principales ventajas en el uso de OpenCL en la GPU es que los desarrolladores pueden actualizar fácilmente y mejorar sus algoritmos de procesamiento de imágenes. Tradicionalmente, los fabricantes no pueden reprogramar fácilmente el ISP una vez que ha sido incorporado en un producto, lo que significa que el desarrollo se tiene que hacer en mejoras de avance y software significativa son difíciles de implementar. Mudanza a OpenCL significa que ajustes y actualizaciones de software adicionales se pueden asignar en en una fecha posterior, mientras que otras implementaciones están bloqueados con el hardware.
Huawei y ARM se beneficiaron de desarrollo basado en el uso de OpenCL, ya que significaba que podían seguir para modificar sus algoritmos tarde en el proceso de desarrollo.
Aceleración de la GPU y el rendimiento
Como se habrá notado, ARM es bastante grande en el concepto heterogéneo, en el que las tareas computacionales específicos se asignan al tipo más eficiente de procesador. Hisilicon Kirin 935 SoC de Huawei, que se encuentra en el interior del Honor 7, es un excelente ejemplo de este tipo de diseño de procesadores, con dos grupos de núcleos de cuatro núcleos Cortex-A53 a diferentes velocidades, en combinación con un MP4 GPU Mali-T628.
Cuando se trata de procesamiento de imágenes, hay una gran cantidad de tareas de cálculo complejas que tienen lugar a través de múltiples etapas de canalización y, a menudo en paralelo. Incluso procesador que parece ser simple, como ruido DE, contiene muchos pasos, desde la detección de borrosidad y filtrado. Estos tipos de filtros desempeñan un papel fundamental en los dispositivos móviles, con el fin de compensar los pequeños tamaños de sensor de imagen y compensar el ruido en ambientes de poca luz. La mayoría de las fotos se toman en condiciones de iluminación difíciles y es esencial que un dispositivo mobil es capaz de hacer frente a esta para garantizar una buena experiencia del usuario final.
Imágenes de alta resolución tienen una gran parte de los datos de proceso, que se tiene que hacer muy rápidamente si queremos una salida en tiempo real. Esto suena como una tarea bastante adecuado para una unidad de procesamiento de gráficos con un ancho de banda de memoria superior, que se utilizan para hacer frente a un montón de datos de píxeles para funciones como el dibujo de interfaz de usuario y el juego.
ARM y Huawei trabajaron juntos para optimizar la canalización de procesamiento de aceleración de GPU, interoperación afinado entre la CPU y la GPU, y atado todo junto con el hardware de la cámara existente. No me preguntes exactamente lo que hicieron, pero el resultado final aparentemente produjo un aumento del doble en el rendimiento mediante el uso de la GPU.
Un montón de otros usos
Procesamiento y GPU heterogénea competencia tiene un montón de otros casos de uso potencial y los beneficios, y el desarrollo en este tipo de procesamiento es muy avanzada.
ARM contempla una amplia gama de aplicaciones de destino, desde la fotografía computacional para visión artificial, el aprendizaje profundo, y los nuevos códecs multimedia y algoritmos. Fuera de ARM, otras compañías también han estado abriendo sus tecnologías para trabajar con OpenCL y Malí GPU. Los ejemplos incluyen el gesto y aplicaciones de seguimiento de la cara de Tecnologías de la vista, la implementación de una biblioteca de imágenes OpenCL para Malí por Omnivision, cámara de middleware por ArcSoft y ThunderSoft, así como HEVC y VP9 decodificadores de Sistemas Ittiam, y muchos más.
Sólo estamos empezando a arañar la superficie del potencial de la computación heterogénea. Espero que otros fabricantes de equipos originales implementarán funciones similares o totalmente nuevos que se mezclan y hardware partido y esto va a contribuir a la mejora de furthre dispositivos y experiencias de usuario final. Lo logra con Huawei Honor 7 es un hito emocionante en la adopción de esta tecnología y, sin duda, un impacto en la adopción más amplia de cómputo GPU para los casos de uso de computación visuales claves y aplicaciones.