¿Sabías que sólo uno de cada tres bits del CD es para audio?
Te contamos algunos detalles sobre los CDs para animar las charlas de los cafés de este verano y que os ganéis a conciencia el título de 'chiflados del audio'. ¿Sabías que dos terceras partes de un CD son inútiles? Bueno, inútiles no, pero desde luego dos de cada tres bits no son de audio. Eso permite, entre otras cosas, que podamos hacer una buena rayadura en un CD sin que se note al reproducirlo.
2/3 partes del CD no son audio
[Índice]Las muestras en el CD se graban en paquetes o tramas (frames) de 6 muestras por cada canal (L y R). Son por tanto 6 muestras * 16 bit/muestra * 2 canales = 192 bits útiles los que lleva cada trama. El disco gira a una velocidad variable, más rápida en el centro, que es por donde se inicia la lectura, para asegurar una velocidad de lectura lineal constante: cada trama ocupa un segmento de aprox. 0,16 mm en la espiral que se registra en el disco. Los 192 bits van repartidos en dos bloques (eso tiene que ver con el CIRC del que hablamos un poco más adelante) de 96 bits y cada bloque lleva otros 32 bits de códigos de protección contra errores. Además encabezando cada trama hay un campo adicional de de 8 bits que se llama subcódigo y que es útil para llevar información que se pueda leer rápidamente cuando andamos saltando de canción en canción, para registrar la información de tiempo, y cosas parecidas.
Por si eso eran pocos añadidos, un pequeño patrón que tiene un formato imposible en los bits normales se usa para marcar el arranque de cada trama (sync). Es algo habitual en cualquier medio digital de transmisión o de almacenamiento: la necesidad de marcar el comienzo de cada paquete con un patrón atípico para facilitar la extracción de los mismos.
Con todo, todavía estamos lejos de los prometidos 2/3 de inutilidad. El mayor factor se debe a que este conjunto ampliado de bits se somete a un tipo de registro en el soporte que no graba directamente los unos y ceros. Los pits y lands, que es como se llaman las elevaciones y valles que hay por debajo del plástico del CD y que el láser puede leer, no son directamente esos bits. Existe una codificación que se llama modulación EFM (eight to fourteen) que convierte cada 8 bits en 17 (14 por la EFM más 3 de separación). Ese más que doblar la velocidad de bits es el mayor responsable de la 'ineficacia' del CD.
Pero no es porque sí: la ventaja es que los patrones de 17 bits elegidos para representar cada byte (cada grupo de 8 bits) son tales que ocupan menos ancho de banda final que los propios bytes originales. Es una de esas magias de lo digital: hay tantos patrones de 17 bits para elegir que permiten esa configuración peculiar, en la que la distancia entre los cambios de estado es mayor que en los bytes originales.
El campo ‘sync’ del que hablábamos antes lo que contiene es precisamente otro juego de 27 bits más a esa nueva velocidad y con un patrón imposible en los datos ordinarios (no es asimilable a los 256 patrones con los que se representan los bytes en la modulación EFM) y por tanto fácilmente identificable.
Volviendo a lo que nos ocupa, al final cada trama contiene 588 (27+(8+96+32+96+32)*17/8) bits para representar los 192 bits de audio, por lo que una muestra de 16 bits acaba ocupando 49 bits en el canal. La velocidad de datos en el muestreo original (1.41 millones de bits/seg.) se convierte así en 4.3218 millones sobre el soporte, aunque gracias a EFM ocupen menos ancho de banda que lo que implicarían los 1.41 millones de bits originales haciendo más sencillo el diseño de todo el sistema.
Así que, en cierta forma, dos terceras partes del CD no llevan información audio, sino otros acompañantes necesarios para que el audio pueda llegarnos bien a pesar de los errores y problemas que pueden presentar el soporte y los sistemas de lectura. Problemas grandísimos dado lo minúscula que es la forma de registrar la información: la espiral del CD en la que van los pits y lands es de sólo 0,5 micras.
Aún hay más
[Índice]No he mencionado que el CD se emplea un CIC (Cross Interleave Code, código de entrelazado cruzado) llamado CIRC (con R por Reed-Solomon, el tipo de corrección de errores que implementa). Sin entrar en detalles eso corresponde a que las muestras que se registran en el soporte formando cada trama no son muestras contiguas del audio original. Usando 'buffers' (memoria) para poder realizar retardos, las muestras originalmente consecutivas se combinan y reubican a lo largo de más de 100 tramas. Es algo así como si las muestras, inicialmente bien ordenadas, se 'barajaran' en un desorden predeterminado y conocido antes de registrarlas.
El resultado combina en cada trama del disco bits seleccionados de una duración 100 veces mayor. El efecto de un rayajo local, al deshacer el barajado, acaba distribuido a lo largo de más de un centenar de esos grupos de 6 muestras, de forma que incluso la desaparición de una trama completa ocasionaría uno o dos bits afectados cada 6 muestras.
Se usan dos códigos de protección contra errores, por eso los dos bloques en la trama: uno detecta/protege frente a errores muy contiguos en el audio original, mientras el otro opera sobre grupos de muestras que distan entre sí más de 100 veces la duración de las tramas pero que están registradas de forma próxima en el soporte. Uno intenta detectar y corregir errores en la secuencia de bits que aparece en el soporte, y el otro en la secuencia final de muestras. De esa forma cualquier error que persista tras la etapa de corrección de errores sobre los bits tal como están en el soporte, se acaba distribuyendo hacia instantes distantes (dispersos esas 100 tramas) con lo que sólo actúa afectando a pocas muestras contiguas y el segundo código que protege grupos próximos de muestras puede a menudo corregirlo.
Cuando todo falla
[Índice]Cuando los algoritmos de protección contra errores no pueden corregir por existir demasiados bits afectados, muchas veces sí pueden alertar de que hubo un error. Cuando el error irrecuperable afecta a muestras aisladas o grupos de muy pocas muestras, puede hacerse una interpolación de las muestras correctas próximas a la defectuosa para reemplazarlas.
Si el error dura varias muestras no es posible una nterpolación razonable, y entra en juego el silenciamiento (mute). Al observarse una condición de error mantenida, es preferible el silencio al ruido que produciría el error. Aprovechando el buffering, ese silenciamiento puede hacerse gradual hasta hacer la intensidad cero en el comienzo de las muestras erróneas, para luego recuperarla también gradualmente cuando se dispone de muestras buenas. Si el tiempo de 'mute' es corto (de 3 ms. o menos) puede no ser demasiado apreciable. Lo habréis escuchado más de una vez en algún CD, sobre todo si el reproductor es bueno. Los baratillos a veces nos regalan algún sonoro crujido indeseable.
Cuántos milímetros de ‘rayajo’ se pueden tolerar
[Índice]En conjunto la tasa teórica de errores en el soporte CD (estipulada en torno a 1/100.000 o 1/1.000.000) pasa a ser, gracias al CIRC, de sólo 1/10.000.000.000 o 1/100.000.000.000. Es posible corregir hasta 3874 bits erróneos consecutivos (2.5 mm de pista), y cancelar por interpolación hasta 13282 (7.7mm).
Dicho lo cual… mejor no lo comprobéis con vuestro CD favorito. Tened en cuenta que además de vuestro rayajo están los múltiples fallos invisibles dentro del propio soporte del CD, que son de hecho la principal razón para tanta protección. Y la asociación de vuestro rayajo con algún fallo interno puede ser mortal.