Diseño de una arquitectura de predicción de vectores de movimiento y cálculo de rango de búsqueda para el estándar HEVC en tiempo real
Abstract
El estándar HEVC (High Efficiency Video Coding por sus siglas en inglés) introduce nuevos elementos y técnicas en las diferentes etapas del codificador/decodificador, con el objetivo de conseguir mejoras significativas en la eficiencia de compresión. En relación a la fase de predicción de vectores de movimiento (MV del inglés Motion Vector), el estándar ha propuesto una técnica referida como AMVP (Advanced Motion Vector Prediction por sus siglas en inglés) que supone una mayor complejidad computacional que la fase de predicción implementada en el estándar previo (H.264/AVC), a costa de un ahorro considerable en términos de bit-rate y tiempo de ejecución. Por otro lado, algoritmos y técnicas independientes que consiguen mejoras en el software de referencia del presente estándar se han venido proponiendo en el campo de estudio; siendo uno de estos el algoritmo DSR (del inglés Dynamic Search Range) el cual responde a la determinación del rango de búsqueda y consigue una notable reducción en el tiempo de ejecución del proceso de estimación de movimiento (ME del inglés Motion Estimation). Consecuentemente, la presente propuesta plantea el desarrollo de una arquitectura en hardware (HW) de la etapa inicial del proceso ME del codificador HEVC, con la finalidad de reducir la carga computacional del mismo. Este primer paso engloba la determinación de los MVs predictores y el cálculo del rango de búsqueda. En base a ello, se ha conseguido diseñar una arquitectura que atiende a dichos procesos fundado en los algoritmos AMVP y DSR, respectivamente. Asimismo, la arquitectura propuesta resuelve problemas de dependencia presentes en la etapa inicial del ME con la etapa ME propiamente dicha, lo cual permite potenciar el desempeño general. Los resultados de síntesis demuestran que la arquitectura alcanza procesar secuencias de video con calidad ultra alta definición, referido también como UHD (siglas del término en inglés Ultra High Definition) superando los recuadros por segundo requeridos para operar en tiempo real. Específicamente, el diseño logra una tasa de procesamiento de 72 recuadros por segundo para secuencias 8K (7680x4320) con espacio de color YCbCr, en un FPGA de la familia Kintex 7.
Temas
Video digital--Codificación
Procesamiento de datos en tiempo real
Procesamiento de datos en tiempo real
Para optar el título de
Ingeniero Electrónico