Video - Empezando
Este es el inicio de una larga (espero) serie de artículos relacionados con video. En ellos pretendo dar a conocer conceptos básicos (y no tan básicos) que ayuden a comprender mejor el funcionamiento de algunos de los más conocidos estándares de compresión de video.
La idea detrás de estos escritos es la de difundir información relacionada con esta área de investigación, y (espero) lograr interesar a más personas en el tema. Los artículos estarán, dentro de lo posible, en español; la razón es que me gustaría fomentar un poco el interés de más personas de habla hispana en la investigación. Sin más por el momento, hablaré un poco del porqué me interesó esta área, y el cómo me ha resultado trabajar en la misma.
Como lo he comentado anteriormente, soy Ingeniero Electrónico y estudio una maestría en Ciencias Computacionales. Cuando inicié la maestría, me ilusionaba en gran manera dedicarme a temas relacionados con data mining, básicamente analizar grandes conjuntos de información mediante técnicas de pattern recognition. Todo bello, pero cuando empecé a adentrarme en el tema realmente no me convencieron las técnicas o el modo en cómo se analiza y clasifica la información. Simplemente no era para mí. A la par, tome varios cursos más cercanos a la electrónica, tales como sistemas digitales, arquitectura de computadoras y procesamiento de señales. Así que terminé decidiéndome por seguir por el sendero del procesamiento de señales.
Mis asesores me pidieron elegir o proponer un tema, y para ello requería leer varios artículos; especialmente relacionados con diseño de arquitecturas Ad hoc y digital watermarking. Fue ahí cuando encontré lo que buscaba.
Cuando se transmite video en medios propensos a errores, internet por ejemplo, normalmente se requiere de la retransmisión de los paquetes perdidos; sin embargo, algunas aplicaciones que tienen fuertes restricciones de tiempo real, no permiten la retransmisión y los errores que se generan en el video por la pérdida de paquetes se deben «ocultar». Aquí es donde se empieza a poner feo con el idioma, estas técnicas son llamadas de «error concealment» que es algo así como «ocultamiento de errores» lo cual suena fatal. Así que utilizaré el término «error concealment», básicamente me gusta más.
Después de una pequeña justificación de las bellezas de estos métodos, de la facilidad que tenían para trabajar en conjunto con digital watermarking y de la novedad del área, mis asesores aceptaron la propuesta. Así pues, terminé trabajando en «video error concealment», específicamente aplicado al nuevo estándar: High Efficiency Video Coding (HEVC), llamado H.265 por el ITU-T VCEG y MPEG-H part 2 por el conocido ISO/IEC MPEG (de los cuales hablaremos en un artículo futuro).
La dificultad mayor de la tesis residió, lamentablemente, en la implementación. Comprender y modificar código que tiene unas cuantas líneas de comentarios no es sencillo y menos cuando es un código tan extenso como el de un CODEC completo. A esto se debe agregar el hecho de que la mayoría de los que trabajan con estándares nuevos son expertos en el área, estudiantes somos pocos. y por ello hay de poco a nada de información sobre errores de compilación o una explicación más profunda del código.
Aún con las complicaciones, la verdad ha sido muy divertido y entretenido, por ello, espero poder transmitir algunos de los conocimientos obtenidos para interesar a más personas en el tema y tal vez algunos en la investigación.
Javier Aguirre
La idea detrás de estos escritos es la de difundir información relacionada con esta área de investigación, y (espero) lograr interesar a más personas en el tema. Los artículos estarán, dentro de lo posible, en español; la razón es que me gustaría fomentar un poco el interés de más personas de habla hispana en la investigación. Sin más por el momento, hablaré un poco del porqué me interesó esta área, y el cómo me ha resultado trabajar en la misma.
Como lo he comentado anteriormente, soy Ingeniero Electrónico y estudio una maestría en Ciencias Computacionales. Cuando inicié la maestría, me ilusionaba en gran manera dedicarme a temas relacionados con data mining, básicamente analizar grandes conjuntos de información mediante técnicas de pattern recognition. Todo bello, pero cuando empecé a adentrarme en el tema realmente no me convencieron las técnicas o el modo en cómo se analiza y clasifica la información. Simplemente no era para mí. A la par, tome varios cursos más cercanos a la electrónica, tales como sistemas digitales, arquitectura de computadoras y procesamiento de señales. Así que terminé decidiéndome por seguir por el sendero del procesamiento de señales.
Mis asesores me pidieron elegir o proponer un tema, y para ello requería leer varios artículos; especialmente relacionados con diseño de arquitecturas Ad hoc y digital watermarking. Fue ahí cuando encontré lo que buscaba.
Cuando se transmite video en medios propensos a errores, internet por ejemplo, normalmente se requiere de la retransmisión de los paquetes perdidos; sin embargo, algunas aplicaciones que tienen fuertes restricciones de tiempo real, no permiten la retransmisión y los errores que se generan en el video por la pérdida de paquetes se deben «ocultar». Aquí es donde se empieza a poner feo con el idioma, estas técnicas son llamadas de «error concealment» que es algo así como «ocultamiento de errores» lo cual suena fatal. Así que utilizaré el término «error concealment», básicamente me gusta más.
Después de una pequeña justificación de las bellezas de estos métodos, de la facilidad que tenían para trabajar en conjunto con digital watermarking y de la novedad del área, mis asesores aceptaron la propuesta. Así pues, terminé trabajando en «video error concealment», específicamente aplicado al nuevo estándar: High Efficiency Video Coding (HEVC), llamado H.265 por el ITU-T VCEG y MPEG-H part 2 por el conocido ISO/IEC MPEG (de los cuales hablaremos en un artículo futuro).
La dificultad mayor de la tesis residió, lamentablemente, en la implementación. Comprender y modificar código que tiene unas cuantas líneas de comentarios no es sencillo y menos cuando es un código tan extenso como el de un CODEC completo. A esto se debe agregar el hecho de que la mayoría de los que trabajan con estándares nuevos son expertos en el área, estudiantes somos pocos. y por ello hay de poco a nada de información sobre errores de compilación o una explicación más profunda del código.
Aún con las complicaciones, la verdad ha sido muy divertido y entretenido, por ello, espero poder transmitir algunos de los conocimientos obtenidos para interesar a más personas en el tema y tal vez algunos en la investigación.
Javier Aguirre
Comments
Post a Comment