Así es como reproduce audio y video el hardware de tu PC

Así es como reproduce audio y video el hardware de tu PC

Josep Roca

Hoy en día los ordenadores de cualquier tamaño pueden reproducir vídeo en diferentes formatos y resoluciones sin problemas, pero para que los vídeos se puedan ver reproducidos en pantalla se utiliza hardware especializado para ello. pero, ¿nunca te has preguntado cómo funcionan los códecs de vídeo por hardware? En este articulo os lo vamos a explicar.

Los primeros ordenadores multimedia necesitaban de una tarjeta aparte para poder decodificar vídeo, incluso algunos recordemos como las primeras unidades DVD para PC se vendían con tarjetas decodificadoras.

Poco a poco gracias a las bondades de la ley de Moore el tamaño de estos decodificadores se termino reduciendo hasta integrarse dentro de los procesadores gráficos, ahorrándonos tener que comprar hardware adicional para ver películas y series en nuestros PCs y a día de hoy podemos disfrutar de estas en cualquier lugar.

¿Qué es un procesador de señal digital?

Procesador Render

Los procesadores de señal digital, o conocidos por las siglas DSP, toman una señal de datos de entrada y le aplican un algoritmo generando una señal o datos de salida. Pueden utilizarse para decodificar formatos de archivo multimedia y por tanto decodificar un flujo de datos de entrada que bien pueden pertenecer a un formato de archivo multimedia o a otro.

No se han de confundir con los procesadores de función fija, ya que los DSP ejecutan un programa y este puede ser modificado, pero normalmente dicho programa no es accesible a nivel de usuario y es el propio fabricante del DSP el que tiene acceso a la memoria que incluye dicho programa, el cual actualizan normalmente a través de actualizaciones de firmware que realiza el propio fabricante.

Es decir, los DSPs son un tipo de procesador como lo son las CPUs, GPUs, etc. Pero en los últimos años se han ido integrando cada vez más dentro de diferentes tipos de procesadores para acelerar ciertas tareas multimedia, especialmente la descodificación a tiempo real de ciertos formatos multimedia.

¿Cómo funcionan los códecs de hardware en nuestros PCs?

codecs funcionamiento básico

Un decodificador no es más que un DSP, el cual ejecuta un programa en el que convierte los bloques de datos de un archivo multimedia en la sucesión de imágenes y sonido que vemos en nuestro televisor. Pero, ¿acaso no sería suficiente con poder reproducir las imágenes tal cual? La respuesta es que esto sería sumamente ineficiente ya que si tratásemos los datos sin comprimir necesitaríamos una cantidad enorme de espacio para almacenamiento y ancho de banda.

Es por ello que se comprimen los archivos multimedia en diferentes formatos, en realidad no es diferente a cuando comprimimos o descomprimimos un archivo y el principio es el mismo. La compresión se puede basar en cosas como coger elementos comunes y darles un valor determinado, almacenar la variación de color de un fotograma a otro, etc.

La parte más difícil es la codificación, que consiste en convertir una imagen, película o archivo de audio en bruto en uno de los formatos, el proceso requiere una capacidad de cálculo mucho más alta que la decodificación, es por eso que muchas veces los nuevos formatos disfrutan de decodificadores mucho antes que codificadores a ese mismo formato.

¿Por qué se desarrollan nuevos Códecs de vídeo?

Códecs Video

El motivo de ello es porque aparecen nuevas formas de consumo, por ejemplo el códec de vídeo para el DVD-Video era el H.263 o MPEG-2, el cual era suficientemente bueno para reproducir vídeo en un televisor de tubo convencional pero cuando se dio el salto al Blu-Ray se vio como este formato no era el mejor para la velocidad de transmisión del por aquel entonces nuevo formato de almacenamiento, por lo que se hizo necesario la creación del H.264.

Actualmente la era de los formatos ópticos ha pasado a la historia y los proveedores de contenido tienen que transmitir a través de la red, aunque una red de fibra óptica tenga una mayor velocidad que un BluRay para los proveedores de contenido es mucho mejor poder transmitir cuanto más contenido mejor dentro de un ancho de banda concreto, ya que eso supone para ellos ahorro en su infraestructura de servidores, tanto en servidores como en comunicación.

¿La contrapartida a nivel de usuario? Los códecs de vídeo y audio cuanto más datos comprimen acaban necesitando una mayor capacidad de cálculo ya que el número de pasos para re-construir los datos originales acaban siendo mucho más grande, requiriendo para ello DSPs de mayor potencia.

¿Dónde se encuentran los códecs de vídeo por hardware?

Codec Situación Procesador

En el PC normalmente en la GPU siendo uno de los aceleradores de la misma, los cuales están conectado al Northbridge privado de la propia GPU. En el caso de los SoCs, debido a que CPU y GPU comparten el mismo Northbridge se encuentran conectados en el Northbridge general del mismo.

En el caso de las CPUs no es normal que se encuentre hardware especializado para la codificación y decodificación de vídeo, aunque no hay ningún impedimento para que sean integrados como coprocesador, aunque no es lo habitual debido a que es necesario acceder a la memoria de vídeo ya que el controlador de pantalla será el que lea en forma de búfer de imagen la imagen decodificada por el CODEC de vídeo.

En los SoCs, los códecs tienen relación directa con otros DSPs y/o aceleradores como puede ser el ISP encargado de digitalizar las imágenes capturadas por la cámara e incluso con procesadores neurales especializados en la IA, con los que trabajan codo con codo, ya sea para digitalizar en forma de vídeo lo que capturamos con la cámara como para cambiar la resolución y corregir el ruido de la imagen y sonido de los vídeos.