(Courriels de diversion: <mitrons@humanisation-demi-droites.com> <surveillons@ressortiras-epicurisme.com> <huit@harmonisation-fricandeau.com> <libelliez@scrutateurs-assistant.com> <ralliiez@additionneraient-ressuscitera.com> <trimestre@simplifies-desolidarise.com> <proclamations@humez-expressive.com> <accostons@cruciales-communiquions.com> <pharmaciens@sanglotes-tildes.com> <nenuphar@deconcerterent-survolait.com> )


Salut à tous,

Laurent Foucher ecrivait :
> 
> Je m'interroge sur ce qui est écrit les pochettes de cd à graver 650 Mo
> 74 minutes. Or, sachant que la fréquence d'échantillonnage des cd audio
> est de 44100Hz et que le taux d'échantillonnage est de 2 octets et qu'il
> faut gérer la stéréo, un petit calcul nous amène à dire que l'on ne peut
> stocker que 64 mn 20 s sur 650 Mo. Où est donc l'astuce ? mes données
> sont fausses ?
> 

La difference vient principalement du code detecteur-correcteur
d'erreurs supplementaire pour les données (l'audio est "moins bien
corrigé")

Voici les chiffres :

Tous les CD sont formattés en frames de 588 bits dont il reste
192 bits utiles (24 bytes) apres decodage 14-to-8, interpretation
du code detecteur-correcteur d'erreurs dit "Cross Interleave
Reed-Solomon Coding (CIRC)" et d'un byte de "control and display"
Ces frames sont groupes en secteurs de 98 frames soit 2325 bytes utiles.

CD-R standard = 333000 secteurs

CD audio :

- chaque secteur contient 2352 bytes utiles (apres interpretation du
  code detecteur-correcteur d'erreurs "CIRC")
- 1 seconde de musique = 44100 * 2 * 2 = 176400 bytes
  (44100 = frequence d'echantillonnage, *2 pour 16 bits par echantillon,
   encore *2 pour stereo)
- 1 seconde de musique = 176400 / 2352 = 75 secteurs
- la vitesse de lecture de référence "X1" est donc 75 secteurs/seconde
- le CD de 333000 secteurs contient donc 4440 secondes soit 74 minutes
  de son 

CD ROM :

- chaque secteur contient 2048 bytes apres interpretation du header
  de 16 bytes et du second niveau de code detecteur-correcteur d'erreurs
  (CRC) de 288 bytes  (2352 - 288 - 16 = 2048)
- la vitesse "X1" correspond donc a 75 * 2048 = 153600 bytes de data par
  seconde, ou encore exactement 150 kbyte par seconde
- un CD de 333000 secteurs contient donc 666000 kbytes de data, soit
  681984000 bytes ou encore 650.39 M
  
CD-R "long" : contient 360000 secteurs au lieu de 333000, soit 
- en audio 4800 secondes soit 80 minutes
- en data  720000 kbytes = 703.12 M

Notes :
- pourquoi faut-il un niveau supplementaire de code detecteur-correcteur
  d'erreurs pour les data ? (288 bytes / secteur)
  Dans le cas audio, on admet que quelques erreurs par CD echappent a la
  correction. Le lecteur audio est supposé remplacer les échantillons
  manquants par interpolation, ce qui est indetectable pour l'oreille
  dans le cas d'erreurs isolées.
  Donc il a fallu ajouter un niveau supplémentaire de correction pour les
  CD-ROM de données, ce qui représente un sacrifice de capacité de 14%
  ramené aux data utiles.
- pourquoi faut-il un header supplémentaire (16 bytes) aux secteurs de
  data ?
  Pour permettre l'accés aléatoire (saut a une adresse arbitraire).
  (Le CD audio est conçu pour un acces séquentiel)
- dans le cas du CD ROM une partie de l'espace calculé ci-dessus ("650 Mo"
  ou "700 Mo" ) est occupé par le filesystem (tables d'allocation = FAT),
  comme sur un disque dur.
    
Jean Louis Noullet

---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>