Aspectos da codificação no CD


Foto cedida Ernest von Rosen, AMGmedia
CD gravável
Se você tiver uma unidade de CD-R e quiser produzir seus próprios CDs de áudio ou CD-ROMs, uma das grandes coisas que terá a seu favor é o fato de que o software pode manipular todos os detalhes para você. Você pode dizer para o software, "Grave estas músicas neste CD," ou "Salve estes arquivos de dados neste CD-ROM" e o software fará o resto. Graças a isso, você não precisa saber nada a respeito de formatação de dados do CD para criar seus próprios CDs. Mas a formatação de dados do CD é tão complexa e interessante que vamos falar um pouco disso.

Para entender como os dados são armazenados num CD, você precisa entender todas as diferentes condições que os projetistas da metodologia de codificação de dados tiveram que manipular. Aqui está uma lista razoavelmente completa:

  • Como o laser está rastreando a espiral de dados usando os sulcos, não pode haver espaços extensos sem sulcos na trilha de dados. Para solucionar esse problema, os dados são codificados usando EFM (eight-fourteen-modulation ou modulação 8-14). Na EFM, bytes de 8 bits são convertidos para 14 bits, e a EFM garante que alguns desses bits serão 1s.

  • Como o laser deve querer se mover entre as canções, os dados devem ser codificados na música para informar à unidade "onde ela está" no disco. Esse problema é solucionado usando o que é conhecido como dados de subcode. Os dados de subcode podem codificar a posição absoluta e relativa do laser na trilha e também podem codificar coisas como os títulos das músicas.

  • Como o laser pode ler incorretamente um sulco, há necessidade de códigos de correção de erros para manipular os erros de um único bit. Para solucionar esse problema, bits de dados adicionais são acrescentados para permitir que a unidade detecte e corrija os erros de um único bit.

  • Como um arranhão ou uma mancha de sujeira no CD podem fazer com que todo um pacote de bytes seja lido incorretamente (o que é conhecido como "burst erro" ou erro de rajada), a unidade precisa ser capaz de se recuperar de tal evento. Esse problema é solucionado por meio do entrelaçamento dos dados no disco, para que eles sejam armazenados de modo não-seqüencial ao redor do disco. Na verdade, a unidade lê os dados uma revolução por vez e desentrelaça os dados para poder reproduzi-los.

  • Se alguns poucos bytes forem lidos incorretamente em uma música, a pior coisa que poderá acontecer é um pequeno chiado durante a reprodução. Entretanto, quando os dados são armazenados em um CD, qualquer erro de dado pode ser catastrófico. Assim, códigos de erro adicionais são usados quando se armazena dados em um CD-ROM.