|
|
|
|
Strumenti |
17-02-2004, 21:59 | #1 |
Senior Member
Iscritto dal: Oct 2000
Città: Bergamo
Messaggi: 5869
|
CD & DVD - APPROFONDIMENTI TECNICI
In questa discussione sono raccolti testi di approfondimento tecnico sulla masterizzazione di CD e DVD
__________________
FAQ E GUIDE di Periferiche di Memorizzazione | FAQ - Unità Ottiche | FAQ - Dischi fissi Ultima modifica di MM : 24-04-2005 alle 14:28. |
17-02-2004, 22:00 | #2 |
Senior Member
Iscritto dal: Oct 2000
Città: Bergamo
Messaggi: 5869
|
I SISTEMI ANTI BUFFER UNDER-RUN
con la collaborazione di ant@res
Eravamo nel lontano anno 2000 quando la Sanyo penso bene di rivoluzionare il mercato dei masterizzatori…disse: “ Basta rovinare CD!” Questo era l’obiettivo che si era prefissata la Sanyo (nome leader nel mondo nella produzione di laser di scrittura e dispositivi elettronici) con la tecnica BURN-Proof. Noi sappiamo che i sistemi di masterizzazione hanno un punto debole in comune: deve essere garantito durante la scrittura un flusso costante di dati. Se durante il procedimento, nel buffer del masterizzatore non ci sono più dati si verifica il cosiddetto buffer under-run e il supporto si può tranquillamente buttare. Ciò può succedere per causa di un computer troppo lento, o impegnato in altre operazioni e quindi non può inviare dati sufficienti al masterizzatore (ricordiamoci che un modello da 24x ha bisogno di un flusso costante di 4 MB di dati al secondo). Con il BURN-Proof, la Sanyo ha perfezionato a tal punto i masterizzatori che non occorre più il flusso costante di dati Infatti quando i dati nel buffer del masterizzatore si esauriscono, entra in funzione il BURN-Proof interrompendo il lavoro in attesa dell’arrivo di nuovi dati, dopo di che riprende la masterizzazione. Questa tecnica allunga i tempi di masterizzazione e non può certo evitare completamente che un CD si “bruci” ma elimina la causa principale di errori. La Sanyo è stata la prima e grazie a questo ha guadagnato vendendo le licenze e prodotti OEM, ma case come la Ricoh non hanno voluto sottostare a questo, realizzando anche loro sistemi di BURN-Proof con nomi diversi ma che alla fine hanno lo stesso risultato. Doveroso tenere conto che questa tecnica di scrittura è sempre in continuo perfezionamento.
Ovviamente queste tecnologie differiscono tra di loro, anche se alla fine l’effetto è sempre quello: prevenire lo spreco di un CD a causa dello svuotamento del buffer. Molte unità montano anche altre tecnologie che lavorano in combinazione con il sistema anti buffer under-run riducendo la velocità di scrittura in base ad un’analisi dei supporti
__________________
FAQ E GUIDE di Periferiche di Memorizzazione | FAQ - Unità Ottiche | FAQ - Dischi fissi |
17-02-2004, 22:01 | #3 |
Senior Member
Iscritto dal: Oct 2000
Città: Bergamo
Messaggi: 5869
|
ERRORI E CORREZIONE D'ERRORE
Quando si ha a che fare con un flusso digitale di dati, la struttura binaria di questo flusso consente l'utilizzo di alcuni accorgimenti al fine di corregge gli inevitabili errori che inficiano la struttura stessa. Se poi si parla di scrittura su CD, la questione diviene ancor più interessante, soprattutto per quanto riguarda i CD-DA (Digital Audio), in cui gli errori vanno ad intaccare proprio l'esperienza dell'ascolto. Limitandosi all'ambito dei CD, si possono fare diverse considerazioni.
LE ORIGINI DI UN ERRORE La causa più frequente di un errore è il cosiddetto "dropout", cioè un difetto nel supporto (non solo un difetto costruttivo) che causa una perdita di segnale durante la lettura del CD. Le cause del "dropout" possono essere un supporto che presenta difetti di fabbricazione oppure un difetto sopravvenuto a causa del normale utilizzo dei supporti (il più comune è il graffio sulla superficie del supporto) I VARI TIPI DI ERRORE E' utile distinguere immediatamente due macrocategorie di errori
LA RIDONDANZA Com'è noto, i computers interpretano solo dati binari, cioè sequenze di 0 ed 1. Questo, di suo, consente di ricorrere ad un primo metodo di correzione d'errore, cioè la ridondanza. La tecnica è piuttosto semplice: oltre ai normali dati, vengono registrati sul CD anche dei dati ridondanti, cioè identici a quelli registrati in precedenza, in modo da poter eseguire controlli di validità del flusso digitale e di sostituire sequenze errate con le sequenze corrette ottenute con il semplice metodo del ricalcolo. Tuttavia la ridondanza non è sufficiente qualora si abbia un errore di vaste dimensioni o non vi siano dati sufficienti per il calcolo di ridondanza. Per questo motivo, si adottano altre tecniche, soprattutto nel campo dell'audio. Sulla base di questi concetti generali, è possibile approfondire vari argomenti. IL RICONOSCIMENTO DEGLI ERRORI Ci sono diversi metodi grazie ai quali si può riconoscere un errore [list=A][*]Codice di Controllo di Ridondanza Ciclica (CCRC). Si tratta del metodo più usato in campo audio. Il funzionamento pratico è ben chiarito da un esempio: assumendo il numero binario 1011011010 (in cui ci sono 6 dati 1), gli viene aggiunto il numero binario 0110 (che in decimale è il numero 6, cioè la quantità di 1 presenti nel dato originale, e che si ottiene sommando in binario 1+1+1+1+1+1), quindi di usa il 0110 per verificare l'esattezza del dato ed eventualmente correggerlo. [*]Codice di Correzione d'Errore (CCE). Tramite i dati ridondanti è possibile correggere gli errori generatisi in fase di registrazione o di lettura. Esistono molti codici di correzione d'errore, e l'analisi scende nel campo della matematica pura (che è ininfluente per questa trattazione, e per la quale non ho competenze specifiche, ergo mi astengo anche solo dal provarci). In generale, comunque, si usano o un metodo algebrico od un metodo probabilistico. [*]Interleaving e Cross Interleaving. La bontà della correzione d'errore dipende dalla capacità dell'algoritmo di utilizzare i dati ridondanti o ricostruire i dati mancanti. Tuttavia nel caso di errori ampi, come il burst error, vengono persi sia i dati normali che quelli ridondanti. I dati, però, vengono "spalmati" su ampie porzioni del CD, in modo che siano dispersi lungo tutta la superficie del supporto. Questo, ovviamente, aumenta la possibilità di correggere errori ampi. Inoltre è possibile, sempre per aumentare la possibilità di correggere errori ampi, che vengano impiegati due codici di correzione d'errore, separati non solo dall'interleaving, ma anche da un ritardo, di modo che le anomalie trovate dal primo blocco vengano utilizzate come puntatori d'errore per il secondo blocco. Questo metodo, detto Cross Interleaving, è utilizzato proprio per la correzione d'errore nei CD. Quest'ultima considerazione permette di passare al CIRC [/list=A] CIRC - CROSS INTERLEAVED REED-SOLOMON CODE Tutti i dati (sia per l'audio che per i CD-ROM) scritti su CD usano il sistema di codifica CIRC. Rispettando il CIRC, per tutti i dati scritti su ogni CD vengono aggiunti, in fase di premastering, alcuni bytes, al fine di ottenere una lettura perfetta anche in caso di una scrittura non perfetta o di alterazioni fisiche che possono inficiare la lettura. Tanto per dare qualche dato numerico, per i CD-DA la codifica CIRC fa in modo che vi sia 1 bit incorreggibile su 10^9 bits; per i CD-ROM, la frequenza di bits incorreggibili è aumentata a 1 bit ogni 10^12 bits (grazie al fatto che per i CD-ROM viene riservato spazio per i CCE). Il CIRC permette la correzione di burst errors con ampiezza fino a 3500 bits (2,4 mm di lunghezza) e la compensazione per burst errors di ampiezza fino a 12000 bits (ben 8,5 mm di lunghezza).Il CIRC utilizza 2 tecniche per trovare e correggere i bytes errati, e cioè sia la ridondanza che l'interleaving.
A questo si deve aggiungere che i due livelli di correzione usati dal CIRC (i famosi C1 e C2) sono stati studiati apposta per correggere i burst errors, e non solo gli errori casuali (che nel campo dell'audio generano solo rumore gaussiano, detto anche “rumore bianco”). A questo punto è necessario esaminare -a grandi linee- come funziona il sistema di decodifica di un CD. Il segnale RF (generato dal Photo Detector che misura la quantità di luce che viene riflessa dalla traccia su cui si trova il laser di lettura) è inviato all'encoder EFM (Eight to Fourteen Modulation, un metodo di codifica dei dati usato per fare in modo che la lunghezza di pits e lands sia sempre non meno di 3 e non più di 11 bits, il che peraltro riduce il jitter ed altre distorsioni) dove il flusso EFM viene decodificato e passa al vaglio del C1 (cioè il primo livello di correzione CIRC). Se il C1 viene passato con successo, si va al C2 (il secondo livello di correzione CIRC). Se i dati C2 posso essere decodificati, allora i dati sono corretti e non ci sono problemi: vengono raggruppati (o meglio, viene rimosso l'interleaving). Se invece il controllo C2 fallisce, bisogna distinguere se si ha a che fare con un CD-DA o con un CD-ROM:
ERRORI C1 E C2 Per la misurazione degli errori C1 e C2 si ricorre ad un metodo che considera la quantità e la severità degli errori sull'intero disco. Generalmente, per indicare gli errori, si ricorre alla terminologia Exy (da leggere E-ics-ipsilon), con x = numero di bytes contenenti un errore (in un intervallo compreso tra 1 e 3) e y = livello di decodifica (1 o 2). Inizialmente vengono letti i frames modulati secondo il metodo EFM. Quando il lettore legge il frame, quest'ultimo viene demodulato, per poi passare al vaglio del C1 e del C2. Al livello C1 possono verificarsi i seguenti errori:
Nel caso di un errore E31, si passa al livello C2 possono, in cui possono verificarsi errori:
Avendo come base gli errori Exy è stata inventata la misurazione BEGL (Burst Error Greater than Lenght), che indica un errore non correggibile, dovuto a 7 errori C1 consecutivi. Gli errori BEGL sono quelli che causano errori di tipo E32. Attenzione però: il fatto che ci siano errori incorreggibili non significa che il disco sia inutilizzabile! Bisogna però, ancora una volta, distinguere a seconda che si abbia un CD-DA od un CD-ROM
Il problema è che in presenza di errori E32 non si può lasciare alcuna tolleranza per la degradazione naturale che il CD subirà a causa di graffi, ditate, polvere e simili. IL JITTER In conclusione è necessario puntualizzare che il miglior sistema di individuazione degli errori, sia per i CD-DA che per i CD-ROM è e resta il jitter. Tornando al livello della semplice lettura è importante aver presente che quel che conta sono le transizioni tra pits e lands: solo una transizione (sia essa tra pit e land o land e pit) equivale ad un 1. Quindi una deviazione (anticipo o ritardo) nel tempo di lettura della transizione può generare un errore, e lo genera sicuramente se il ritardo è di 115 nanosecondi. Inoltre qualsiasi tipo di difetto su un CD aumenta il jitter (è fisicamente impossibile ottenere un jitter pari a 0), il che significa che il jitter è a tutti gli effetti il miglior metodo di misurazione della bontà di un CD. Il solo problema è che la misurazione del jitter richiede l'impiego di un oscilloscopio. Infatti il jitter può essere misurato guardando il segnale HF (alta frequenza) generato dal pick-up del lettore CD, che rappresenta l'intensità della luce riflessa dalla superficie del CD. In pratica il jitter, essendo una questione di tempo, può essere rappresentato da una forma d'onda su un piano cartesiano, ma il solo modo di ottenere quella forma d'onda è di mettere tra il fotodiodo che capta la luce riflessa ed il demodulatore di segnale che "interpreta" quella quantità di luce uno strumento in grado di analizzare gli intervalli di tempo, e cioè proprio un oscilloscopio. Il che non significa che misurare gli errori C1 e C2 sia inutile, ma solo che si tratta di un metodo impreciso rispetto alla misurazione del jitter, che, in quest'ambito, è estrapolato dalla sua sede naturale (l'audio) per essere utilizzato come metodo di verifica di un CD. LA CORREZIONE DEGLI ERRORI NEI DVD La tecnologia DVD si basa su una maggiore densità dei dati rispetto alla tecnologia CD. Questo significa che la correzione d'errore deve essere più accurata di quella usata per i CD. La necessità principale è correggere, o meglio impedire, i burst errors.Per ottenere questo risultato, 16 settori vengono distribuiti (la procedura è quella dell'interleaving), e formano un blocco di 192 gruppi (16 settori X 12 gruppi a settore = 192 gruppi) ed i bytes per la correzione d'errore vengono concatenati ai blocchi di dati tramite la tecnica RSPC ("Reed-Solomon Product Codes"). Nella pratica, alla fine di ogni gruppo vengono aggiuti 10 bytes di dati Reed-Solomon per la correzione d'errore, ed alla fine di ogni blocco vengono aggiunti 16 gruppi di dati Reed-Solomon per la correzione d'errore.
__________________
FAQ E GUIDE di Periferiche di Memorizzazione | FAQ - Unità Ottiche | FAQ - Dischi fissi |
17-02-2004, 22:02 | #4 |
Senior Member
Iscritto dal: Oct 2000
Città: Bergamo
Messaggi: 5869
|
LA DINAMICA DI LETTURA/SCRITTURA
LA DINAMICA DI LETTURA
Sicuramente il punto di partenza per affrontare la questione del funzionamento delle unità ottiche è il laser utilizzato per la lettura di un CD (di qualunque formato). I lettori CD usano un laser avente lunghezza d'onda pari a 780 nm (nanometri), che è invisibile ad occhio nudo (lo spettro di visibilità della luce dell'occhio umano va infatti dai 400 ai 700 nm, con punte di 720 nm). Per completezza, si deve aggiungere che i DVD usano un laser rosso visibile avente lunghezza d'onda pari a 635 o 650 nm. Questo laser passa attraverso lo strato di policarbonato, rimbalza sullo strato riflettivo e quindi passa nuovamente attraverso il policarbonato. La quantità di luce filtrata attraverso questi passaggi viene catturata da un fotosensore che si trova nella testina del device. A seconda della maggiore o minore intensità del raggio riflesso, il fotosensore capisce se il laser si trova su un pit o su una land. PITS E LANDS I pits e le lands non corrispondono ai dati 0 e 1 della sequenza binaria che viene scritta su CD. E' la transizione tra pits e lands (e viceversa, tra lands e pits) a generare il dato binario. Quindi sono fondamentali l'inizio e la fine di un pit. Il numero di dati 0 compreso tra l'inizio e la fine di ogni pit è determinato per mezzo di un precisissimo timing, che produce un segnale elettrico. Per chiarire il funzionamento di questa procedura, è sufficiente un semplice esempio: avvicinando un orologio analogico all'orecchio, ovviamente, ad ogni secondo si sente il tic prodotto dal meccanismo dell'orologio. L'inizio e la fine di ogni pit corrispondono a quel tic, mentre le lands ed i pits corrispondono al silenzio che intercorre tra un tic e l'altro. Ma è chiaramente necessario che i pits e le lands abbiano una determinata lunghezza, o meglio, una serie di lunghezze determinate a priori, perché lunghezze arbitrarie non potrebbero permettere la corretta lettura del CD: se si pensa ancora all'orologio, ogni secondo dura un determinato tempo T, e non può assolutamente verificarsi che un secondo duri Tx2 o T/3: in tal caso l'orologio è chiaramente guasto e va avanti od indietro (nel campo dei CD l'orologio che va avanti o indietro è il jitter). E' a questo punto che entra in gioco la codifica EFM. L'EFM (EIGHT TO FOURTEEN MODULATION) L'EFM è il metodo che assicura che la lunghezza dei pits sia sempre compresa entro un determinato intervallo. Tramite questo metodo di codifica dei dati, 1 byte (formato da una struttura di 8 bit) viene convertito in una struttura di 14 bit (o meglio channel bit) tramite una tabella di riferimento (che si trova nel Red Book) che contiene 256 possibili combinazioni. In questa struttura di 14 bit i dati 0 indicano la presenza di un pit o di una land, mentre i dati 1 indicano la presenza di una transizione tra un pit ed una land (o tra una land od un pit). La modulazione EFM impone che tra le transizioni (e quindi tra due dati 1) siano sempre presenti un minimo di 2 ed un massimo di 10 dati 0, il che significa che possono esistere solo nove diverse lunghezze predefinite di transizioni. Per evitare che una struttura da 14 bit finisca con un 1 e la struttura (sempre da 14 bit) successiva cominci con un altro dato 1, vengono interposti tra ogni struttura 3 "merging bits" o bit di fusione, formati da tre dati 0. Il funzionamento di questo metodo di codifica può essere approfondito. Ricordando che si lavora sempre su una base binaria (e quindi si hanno solo 2 tipi di dati a disposizione: 0 e 1), si deve notare che i vari standard dei CD impongono che tra ogni dato 1 vi sia sempre un minimo di due ed un massimo di dieci dati 0 (quindi un dato corretto è, per esempio, 1001 mentre un dato 1100 è errato). Ne risulta che il pit più corto è formato da dato 100 (uno-zero-zero) ed il più lungo da un dato 10000000000 (uno-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero). Dato che è richiesto un tempo T (che è pari a 231 nanosecondi alla velocità di 1x) affinché il laser legga un bit, i pits 100 possono essere chiamati 3T pits (è necessario un tempo Tx3 per la lettura, poiché nel tempo T viene letto un solo bit) ed i pits 10000000000 possono essere chiamati 11T pits (è necessario un tempo Tx11 per la lettura). La modulazione dei dati secondo il formato EFM avviene tramite la trasformazione di 8 data bit in blocchi di 14 channel bit, che vengono uniti tra di loro da altri 3 bit, detti bit di fusione (merging bits), in modo che la lunghezza dei dati appartenga sempre ad un insieme predeterminato di lunghezze ed il timing di lettura sia facilitato, perché se durante la lettura il device trova pits più corti dei pits 3T o più lunghi dei pits 11T, capisce che la velocità di rotazione del CD è cambiata, e vengono eseguiti gli aggiustamenti necessari. L'utilizzo di strutture formate da 14 bit si spiega con il fatto che in questo modo si ottengono fino a 2^14 (=16384) possibili combinazioni di 14 channel bit, il che permette solo un certo numero di combinazioni tra i bit, limitando a 9 i possibili tipi di transizione tra pits e lands. Quando le strutture formate dai 14 channel bit vengono raggruppate per mezzo dei merging bits, può accadere che vengano generate delle combinazioni errate, per esempio 0100100010000[101]001000100000: l'errore è dato dallo 101 segnato tra le parentesi quadre, perché tra due dati 1 compresi nella "porzione" 101 devono esserci almeno due dati 0 (quindi il dato corretto sarebbe, come minimo, 1001). In questo caso si ricorre nuovamente ai merging bits per ottenere un dato binario corretto. Tramite questo tipo di modulazione, anche se c'è un elevato numero di bit da codificare, la frequenza d'uscita più elevata non supera una certa soglia, e questo permette una maggiore accuratezza nella lettura dei dati senza che ci siano problemi a mantenere il clock durante la lettura. LA DEMODULAZIONE I dati modulati secondo lo schema EFM vengono infine demodulati, e passati al CIRC per la correzione d'errore. I FRAMES La codifica EFM si svolge a livello di frames. Spesso si crede che un frame equivalga ad un settore, ma non è così: un frame è infatti formato da 24 bytes riservati ai dati dell'utente, 1 byte per i dati di sottocanale e 8 bytes per la correzione d'errore, per un totale di 33 bytes. A livello di lettura, ogni frame è preceduto da 24 bit di sincronizzazione e 3 bit di fusione. Per ciascun frame i 24 bit di sincronizzazione sono disposti in uno schema che è assolutamente unico nel CD, e questo permette alla testina del lettore di posizionarsi correttamente all'inizio di ogni frame. I SETTORI Un settore è formato da 98 frames da 24 bytes, quindi un settore contiene 2352 bytes e 98 bytes di sottocodice. Il settore è l'unità minima che un software può manipolare. A questo punto s'impone però una distinzione tra CD-DA e CD-ROM
L'ECC (Error Correction Code) di un CD-ROM Mode 1 è del tutto indipendente rispetto al CIRC, dato che usa un altro codice (il Reed-Solomon Production Code, con acronimo RSPC) per raggiungere il (ragguardevole) risultato di 1 errore ogni 10^15 bit. Il CD-ROM/XA (acronimo di eXtended Architecture) è utilizzato per la compressione Audio/Video e ha un sub-header di 8 bytes, 2324 bytes per i dati e possono inoltre essere aggiunti 4 bytes per l'EDC (Error Detection Code). Questo significa che scrivendo un CD-ROM/XA si può decidere di riservare più spazio alla correzione d'errore od ai dati. Una precisazione finale: ho sempre fatto riferimento a pits e lands, ma com'è noto un CD-W casalingo non può creare i veri e propri pits. Viene però alterato lo stato fisico del CD, ma si deve distinguere tra
__________________
FAQ E GUIDE di Periferiche di Memorizzazione | FAQ - Unità Ottiche | FAQ - Dischi fissi Ultima modifica di Mistral PaolinuX : 21-02-2004 alle 14:20. |
17-02-2004, 22:02 | #5 |
Senior Member
Iscritto dal: Oct 2000
Città: Bergamo
Messaggi: 5869
|
I SOTTOCANALI
Spesso si sente parlare di subcode channels, o sottocanali. In un CD ci sono 8 sottocanali: P,Q,R,S,T,U,W. Ogni frame contiene 1 byte di dati per i subcode, e questo byte è formato da 1 bit P, 1 bit Q, 1 bit R, 1 bit S, 1 bit T, 1 bit U ed 1 bit W. I bytes di 98 frames contigui formano un subcode, i cui primi 2 bit sono utilizzati per la sincronizzazione, lasciando i restanti 96 bits liberi (da qui il famoso Raw DAO/96). Solo i sottocanali P e Q hanno uno scopo predefinito, che si trova nel Red Book. Il sottocanale P viene utilizzato per trovare l'inizio di una traccia, ma ormai gli viene preferito il sottocanale Q, che contiene 4 bit di controllo, 4 bit di indirizzamento, 72 bits di dati e un EDC (come sempre, un CRC –Controllo di Ridondanza Ciclico– da 16 bit). I restanti sottocanali non hanno invece alcuno scopo predefinito, e solitamente sono riempiti di dati 0 a meno che non siano usati per altri scopi, e cioè per la realizzazione di CD+G (che sono i CD utilizzati per il karaoke), per la scrittura del CD-Text od infine per qualche protezione.
__________________
FAQ E GUIDE di Periferiche di Memorizzazione | FAQ - Unità Ottiche | FAQ - Dischi fissi |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:56.