Estoy tratando de buscar esquemas de compresión de imagen / video que ofrezcan un rendimiento de compresión superior (manteniendo la calidad de imagen como constante) en comparación con los estándares de la industria ampliamente adoptados (es decir, JPEG / H.264), pero por razones de ser demasiado computacional o de recursos Intensivo, implementarlos en estaciones de trabajo basadas en CPU no es factible y, por lo tanto, no se adopta en los estándares comunes.
Solo podía pensar en la compresión fractal como un buen ejemplo. ¿La comunidad conoce más ejemplos de este tipo?
image-processing
video-processing
video-compression
jpeg
Ang Zhi Ping
fuente
fuente
Respuestas:
Hay varios aspectos de la compresión, ya sea que se refiera a una imagen o video. (Puede que el audio sea totalmente diferente, así que no me refiero a esto aquí).
Si realmente observa el historial del estándar de compresión, cuando se formaron por primera vez, los codificadores en tiempo real MPEG1 eran raros. La CPU en ese momento no era suficiente para hacerlo en tiempo real; sin embargo, no fue la complejidad del procesamiento (solo) lo que detuvo los algoritmos de mayor complejidad para ser utilizados bajo los códecs. (Probablemente el factor principal responsable de la inclusión / exclusión de ciertos algoritmos fueron a. Patentes, b. Factibilidad de implementación).
Sin embargo, me gustaría reformular la pregunta un poco más simple:
Aquí hay algunos puntos a tener en cuenta:
1. ¿Mejor transformación?
DCT ha sido una transformación universal en todos los códecs. Sin embargo, hay muchos trabajos de investigación que sugieren que Wavelets podría ser mejor. De hecho, el único JPEG2000 incluía wavelets, pero ese estándar en sí mismo no fue un gran éxito. Probablemente fue mejor que DCT de alguna manera; especialmente hay afirmaciones de que Wavelets supera a DCT [Ver: Ref. 1]
Creo que wavelet es computacionalmente costoso sobre DCT (en parte porque las implementaciones 8x8 DCT están altamente optimizadas). Pero supongo que realmente no volé mucho porque desde la perspectiva del mercado porque DCT en ese momento estaba mucho más extendido y la diferencia en la mejora no era tan sustancial para que la gente cambiara.
Si bien, esto ya es parte del estándar en H.264, todavía no se explota por completo. Existe la necesidad de hacer que una búsqueda tan amplia de estimación de movimiento sea prácticamente viable. La mayoría de los codificadores H.264 todavía son incipientes en explotar todo el potencial de esto.
3. Compresión escalable de imagen / video La compresión
escalable de imagen y video es nuevamente un santo grial de cómo se puede hacer la codificación de descripción múltiple para imagen y video. Básicamente, la misma imagen o video se puede codificar a múltiples resoluciones, cuantificaciones (calidad) o velocidad de cuadros. Esto produce diferentes capas de calidad frente a la velocidad de bits dentro de la misma transmisión, y el servidor de transmisión puede adaptar la velocidad de bits y la calidad dinámicamente para adaptarse mejor al video en la calidad. Ver [Ref. 3], [Ref. 4], [Ref. 5]
De esto, solo el verdadero éxito es el JPEG progresivo, que es prácticamente útil para los sitios web y de hecho es útil. Nuevamente, aunque la promesa de adaptar dinámicamente el flujo de bits es excelente, pero solo funciona si hay sistemas prácticos en los que es posible estimar dicha velocidad de bits y el tipo de adaptación puede tener algún propósito real. Sin embargo, en el dominio de video, a pesar del soporte de esto en los estándares (MPEG2, MPEG4 y H.264), casi no hay uso de esto.
4. Video del objeto
Este es quizás el último santo grial de la compresión. El video objeto [Ref. 6] iniciado por el propio cuerpo estándar MPEG, sin embargo, esto también fue respaldado por una extensa investigación.
La idea básica es segmentar el video en términos de objetos distintos y luego cada uno de estos objetos puede tratarse como un plano separado. cada objeto y se aplicará con diferente velocidad de bits, cuantificación, velocidad de fotogramas y predicción muy eficiente. Además, uno puede manipular objetos como la forma en que puede hacer cosas en photoshop / gimp.
Sin embargo, resulta que la segmentación de la imagen y el video del mundo real con objetos perceptuales relevantes es un problema difícil. Entonces, incluso si tengo codificadores / decodificadores, necesito un sistema de segmentación robus y en tiempo real para hacer que las cosas sean posibles. Este es, con mucho, un problema realmente abierto sobre cómo aplicar el video en forma de video en capas para que funcione.
5. Más dimensiones
Además de esto, hay códecs para video estéreo (también conocido como multiview) y video 3D (concepto casi similar) que adicionalmente intentan reducir la redundancia en la dimensión adicional. Si bien esto sigue siendo una investigación aquí, H.264 tiene un perfil para esto ahora. Lo mismo es cierto para la codificación Cinema.
Todavía hay muchos proyectos de investigación en el área de esto, sin embargo, la compresión de video es un mercado bastante básico por ahora. Y la investigación que no genera sustancialmente una nueva aplicación o si hay problemas de viabilidad en la implementación no sobrevivirá prácticamente a pesar de su ingenio.
Espero que esto ayude.
Referencias
Un estudio comparativo de codificación de imagen basada en DCT y Wavelet por Zixiang Xiong, et. Alabama. TRANSACCIONES IEEE EN CIRCUITOS Y SISTEMAS PARA TECNOLOGÍA DE VIDEO, VOL. 9, NO. 5, AGOSTO 1999 pp. 692
Análisis de eficiencia de la predicción compensada por movimiento de hipótesis múltiples para la codificación de video Bernd Girod TRANSACCIONES IEEE EN EL PROCESAMIENTO DE IMÁGENES, VOL. 9, NO. 2, FEBRERO DE 2000 173
Codificación de video escalable con resolución de dominio espacial por Barry G. Haskell, Hsueh-Ming Hang. Proc. SPIE 2094, Comunicaciones visuales y procesamiento de imágenes, noviembre 718 (1993);
El método de codificación de video escalable de grano fino MPEG-4 para transmisión multimedia sobre IP por Hayder M. Radha, et. Alabama. OPERACIONES IEEE EN MULTIMEDIA, VOL. 3, NO. 1 de marzo de 2001 53
Avances en la codificación de video escalable por Ohm, J.-R .; Actas del IEEE Enero de 2005 Volumen: 93 Edición: 1 págs. 42 - 56
Codificación de textura basada en objetos de video en movimiento en MPEG-4, por Andr ́ Kaup, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 9, NO. 1, FEBRERO 1999 pp. 5
fuente