DPCM
Del inglés Differential Pulse Code Modulation, DPCM es un codificador de forma de onda que parte de la base de PCM pero añade algunas funcionalidades basadas en la predicción de las muestras de la señal. Se parte de una señal analógica (continua en el tiempo) la cual se quiere codificar. El primer paso a realizar es el proceso de muestreo (tomar el valor de la señal cada cierto período regular de tiempo). Con eso se consigue una señal discreta en el tiempo (compuesta por toda una serie de muestras equiespaciadas). El siguiente paso es la cuantificación: se preestablecen unos niveles (amplitudes) y (2 opciones):
- [opción 1] se coge el valor de dos muestras consecutivas, se resta el valor de la segunda menos la primera, se cuantifica el resultado y finalmente se codifica, o bien
- [opción 2] se hace la predicción de una muestra a partir de las muestras anteriores y se calcula la diferencia entre el valor de la muestra actual real y la predicción (el resultado es el error de predicción), se cuantifica el error y se codifica.
Aplicando uno de estos dos procesos se elimina la redundancia de la señal a corto término y se consiguen factores de compresión del orden de 4 (el tamaño del fichero se divide por 4). El motivo por el cual se reduce el tamaño del fichero es porque como se hace la diferencia entre dos muestras, el resultado será un valor pequeño y hasta cercano a cero y, por lo tanto, en codificación se necesitarán menos bits. En resumen, se puede decir que la potencia de la señal “diferencia” es mucho menor que la de la señal discreta original. A continuación se presentan los diagramas del codificador y decodificador de las dos versiones comentadas:
Opción 1 (diferencia entre dos muestras consecutivas)
editarVersión 1
El codificador hace la función de diferenciador (también conocido como derivador), mientras que el decodificador actúa como un acumulador (también integrador) El cuantificador (Q) reduce el número de bits mientras que el cuantificador inverso ( ) recupera el número de bits original de la señal discreta inicial.
Versión 2 [Análisis-por-síntesis]
Incorporación del decodificador dentro del propio codificador
Opción 2 (predicción de la muestra actual)
editarIncorporación de un predictor lineal