DIGITAL Video
Indice: Fondamenti del video digitale / CompressioneMPEG / Compressione
------------------------------------------------------------------------
Introduzione - Potrebbe sembrare inutile parlare di video sulla Rete pensando che il mondo dei videomaker sia fatto solo di nastri magnetici, pellicole, videoregistratori e centraline di montaggio e quindi di persone non in grado di accedere ad Internet. La realta' dei videomaker e' invece molto diversa ed oggi si sta evolvendo molto rapidamente convergendo verso l'uso di apparecchiature digitali per la post-produzione dei filmati amatoriali. Grazie infatti alla diffusione della cultura informatica ad una base sempre piu' allargata di persone, i prezzi dei personal si sono notevolmente abbassati permettendo anche ai videoamatori di accedere a tecniche che erano appannaggio dei professionisti. Ecco quindi che avendo a disposizione un computer viene naturale espanderne il piu' possibile l'utilizzo attingendo quindi ad una fonte immensa di informazioni utili come Internet. Nasce quindi questa rubrica dedicata a tutti i videomaker "evoluti" non solo come attrezzature ma specialmente come idee e creativita'; appassionati che ricercano quindi la professionalita' nella qualita' dell'immagine e del linguaggio cinematografico.
Parleremo certamente molto di tecnica e di tecnologie per il video cercando pero' di non trascurare mai l'aspetto piu' importante del mondo delle immagini e cioe' il modo di "collegare" le immagini le une alle altre e di montarle cercando di comunicare un messaggio. Molto spesso, in campo amatoriale, si bada troppo al lato tecnico, alla qualita' dell'immagine, alle possibilita' offerte da una centralina piuttosto che un'altra trascurando aspetti come la composizione dell'immagine, l'inquadratura, il racconto, il ritmo e il legame suono-immagine.
Non dimentichiamo quindi che prima di comperare la stilografica piu' bella sul mercato occorre imparare a scrivere!
Nel corso della rubrica cerchero' di rispondere alle domande e curiosita' che vorrete pormi, pubblicandole in modo che diventino patrimonio di tutti e che la rubrica diventi un circolo di appassionati...video-cibernauti!
------------------------------------------------------------------------
------------------------------------------------------------------------
Si sente parlare sempre più frequentemente di "digitale" un po' in tutti i campi, dalla musica all'editoria, dalle telecomunicazioni al video. Però cosa significa veramente video-digitale?
Il termine digitale fa riferimento a tutto ciò che è numerico e quindi ad un tipo di informazione quantizzata, rappresentabile con dei numeri e quindi elaborabile per mezzo di calcolatori. Quindi per elaborare con un computer un'informazione di qualsiasi genere sia, è necessario trasformarla in numeri; quest'operazione è detta di "CAMPIONAMENTO", in quanto dell'informazione necessaria vengono presi in considerazione solo dei campioni discreti e quindi numerabili. Facciamo l'esempio, per semplicità, di un segnale audio costituito quindi da un valore di tensione variabile con legge sinusoidale e caratterizzato da un valore di tensione picco-picco e da una frequenza.
E' possibile prendere in considerazione solo alcuni valori in tensione (c1,c2....c9) del segnale rappresentato da una curva sinusoidale.
Questa operazione si chiama appunto campionamento da analogico a digitale; tutti i punti (c1,c2,....c9) vengono quindi trasformati in numeri, più precisamente in uno o più byte. Il numero totale di punti campionati dipende dalla velocità con cui si esegue il campionamento e cioe' dalla frequenza di campionamento.
Il computer poi ricostruirà il segnale originale interpolando questi campioni che avra' memorizzato in un file, ottenendo la curva blu della figura precedente ed eseguendo il procedimento inverso, cioè di conversione digitale-analogica. Si intuisce perciò che la fedeltà del segnale ricostruito è valutabile dalla differenza che esiste tra le curve rossa e blu.
Nel caso di una sequenza video il campionamento è analogo ma solo più complesso e il risultato sarà comunque un file, cioe' una sequenza di numeri, memorizzato su un supporto informatico.
Una sequenza video è infatti costituita da una serie di fotogrammi o immagini che vengono riprodotti ad una certa velocità (nel PAL sono 25 fot/sec) e quindi occorre memorizzare ogni immagine esattamente come se fosse un bitmap.
Immagino che tutti voi avrete chiaro che un file bitmap è costituito da una serie di numeri (campioni) e che ognuno di essi descrive un singolo punto (pixel) dell'immagine. Un file video contiene quindi i campioni che descrivono tutte le bitmap (fotogrammi) della sequenza.
Per riprodurre un file video occorre quindi semplicemente visualizzare uno dopo l'altro tutti i fotogrammi sul monitor del PC, ad una frequenza di 25 fps (fotogrammi al secondo) per riprodurre la sensazione del movimento. Qui iniziano le dolenti note, infatti tutti avrete già avuto modo di caricare con un programma tipo PaintBrush un'immagine BMP magari in 16 milioni di colori e vi sarete accorti del tempo necessario. Il vostro PC è in grado di caricare e visualizzare 25 bitmap in un solo secondo?
Abbiamo finalmente scoperto il perchè fino ad oggi non si vedevano applicazioni video nel campo dei PC, infatti una sequenza video del formato 400x300 in 16 milioni di colori genera un flusso dati dall'hard-disk al video di circa 8.7Mbyte/sec contro i 3Mbyte/sec per un formato 400x300 in 256 colori.
Ci si rende subito conto che neppure un hard-disk SCSI regge un flusso dati tale, infatti il vero collo di bottiglia di tutto il sistema è la velocità dell'hard-disk difronte alla quale l'eventuale lentezza della scheda SVGA risulta trascurabile. Ovviamente queste difficoltà si riscontrano nel caso si voglia digitalizzare le immagini di un filmato e memorizzarle sull'hard-disk del proprio PC; se invece si vuole utilizzare il computer solo per la titolazione di un filmato il discorso è differente e si semplifica ma non possiamo più parlare di video digitale. Infatti fino ad oggi in campo amatoriale il computer è molto usato per questo scopo (Amiga insegna...) magari in abbinamento ad un mixer video che permetta di sovrapporre (overlay) il titolo o la grafica alle immagini video riprodotte da un videoregistratore.
Allora perchè si dovrebbe faticare tanto, in termini di hardware naturalmente, per avere un filmato memorizzato sul PC? Qui la fantasia comincia a galoppare....Chi di voi ha provato ad effettuare il montaggio di un proprio filmato girato durante un viaggio, si sarà reso conto di quanto sia faticoso, mentalmente e manualmente, registare una scena dopo l'altra effettuando centianaia di PLAY/PAUSE e avvolgimenti FWD/REW per trovare sulla cassetta video originale la scena desiderata.
E se alla fine riguardando con ansia il vostro bel filmato vi accorgete di un taglio venuto male o di una scena non al posto giusto...E' TUTTO DA RIFARE!
Lavorando invece con un programma di montaggio che vi permette di tagliare ed incollare elettronicamente le immagini memorizzate su HD proprio come fareste scrivendo una lettera col vostro wordprocessor, tutto ciò non può capitare e potete concentrarvi sul linguaggio e sul ritmo del film che state montando. E' evidente poi che avendo un'immagine digitale su essa sarà possibile effettuare qualunque tipo di effetto speciale tanto da fare invidia a Spielberg! Dobbiamo però ancora scoprire come superare le difficoltà viste in precedenza, dovute alla lentezza dell'hard-disk, prima di realizzare il nostro sogno.
------------------------------------------------------------------------
Lo standard di compressione MPEG a cui abbiamo accennato precedententemente è quello che attualmente consente la migliore compressione in rapporto alla qualità ottenuta del video.
Per questo motivo si sta diffondendo moltissimo nel settore dei prodotti di consumo dove quindi non c'è l'esigenza di editare il video proposto ma solo di vederlo. Sto parlando dei film su CD distribuiti su questo supporto e riproducibili attraverso sistemi come il CDi della Philips.
Vediamo in modo un pò più approfondito come funziona l'algoritmo di compressione MPEG.
Questo standard si propone di essere indipendente dalla tecnologia e da particolari applicazioni e deve garantire, su un sistema di riproduzione digitale, le seguenti caratteristiche:
- Accesso casuale, la possibilità cioè di iniziare la riproduzione in qualunque punto del filmato e in modo casuale; cosi' come si può fare su un normale CD musicale.
- Ricerche veloci, si deve essere in grado di effettuare un un play avanti/indietro in modo veloce
- Riproduzione del video all'indietro
- Sincronizzazione audio/video
- Insensibilità agli errori di trasmissione; il segnale video non deve deteriorarsi in caso di errori o disturbi captati lungo la linea di trasmissione
- La decodifica dell'algoritmo deve poter avvenire in tempo reale senza la necessità di grandi risorse hardware
L'algoritmo di compressione vero e proprio si basa su due tecniche in particolari che vengono implementate con calcoli e procedure sia matematiche che statistiche. Tali tecniche vengono dette di:
RIDONDANZA TEMPORALE
RIDONDANZA SPAZIALE
La prima tecnica detta anche di MOTION COMPENSATION, ha lo scopo di eliminare la quantità eccessiva di informazione video, dovuta a porzioni di immagine che restano uguali in fotogrammi successivi. L'algoritmo MPEG definisce tre tipi di fotogrammi: gli INTRAFRAME (I) i fotogrammi PREDETTI(P) e quelli INTERPOLATI (B).
I fotogrammi del primo tipo, gli intraframe costituiscono dei punti di accesso casuale al filmato in quanto sono praticamente completi e hanno un basso livello di compressione.
Dai fotogrammi di tipo I vengono ricavati quelli (P) che vengono ricavati memorizzando solo le differenze rispetto a quelli passati. Si intuisce quindi che per questi fotogrammi il livello di compressione è molto elevato.
I fotogrammi (B) sono ancora più compressi in quanto calcolati sulla base dei fotogrammi passati e quelli futuri.
La ridondanza temporale entra in gioco proprio nel calcolo dei fotogrammi di tipo B e P che vengono calcolati memorizzando solo le differenze delle parti in movimento di ciascun fotogramma che sono quindi le uniche informazioni che cambiano nel tempo da un fotogramma all'altro. Per applicare la tecnica della ridodanza temporale, l'algoritmo Mpeg suddivide il fotogramma in aree di 16x16 pixel e valuta le stesse aree in fotogrammi vicini prendendone in considerazione le differenze. Viene quindi effettuata una predizione di movimento dell'area che viene codificata tramite un vettore bidimensionale di movimento, che esprime la differenza di ascissa e di ordinata tra l'area di riferimento e quella presa in considerazione.
Vediamo ora come funziona la tecnica della RIDONDANZA SPAZIALE che ha lo scopo di ridurre la ridondanza di informazioni che rimangono uguali all'interno dello stesso fotogramma. Il fotogramma viene diviso in blocchi di 8x8 pixel sui quali vengono effettuate le trasformazioni.
I valori di luminanza e crominanza dei singoli blocchi vengono trasformati in valori di frequenza spaziale con una funzione detta DTC, i valori ottenuti da questa operazione vengono poi elaborati con una codifica detta run-length. Ai dati così ottenuti viene applicato un ulteriore algoritmo di compressione basato su regole statistiche (metodo di Huffman).
L'algoritmo MPEG ora descritto è molto complesso ed è per questo motivo che il tempo impiegato per comprimere un filmato è notevole; si può arrivare a più di un'ora di elaborazione per ogni minuto di filmato.
Perciò esistono molte schede in commercio che implementano tale algoritmo in hardware velocizzando il procedimento. A questo svantaggio però si affianca un punto di forza notevole; infatti MPEG è un algoritmo fortemente ASIMMETRICO, cioè impiega notevoli risorse di tempo e hardware per codificare ma decodifica MOLTO VELOCEMENTE e con modesto impegno della CPU.
Esistono infatti molti decoder MPEG software in grado di riprodurre filmati in buona qualità senza l'ausilio di costoso hardware aggiuntivo.
------------------------------------------------------------------------
Come adattare la larghezza di banda intrinseca di un segnale video alle modeste ( si fa per dire...) capacità dei personal computer attuali?
Una possibilità è quella di ESTENDERE la larghezza di banda del sistema CPU-BUS-HDisk utilizzando ad esempio una scheda SCSI2 ed un hard-disk del tipo AV, particolarmente adatto per le applicazioni audio-video. In questo caso però l'investimento economico da sostenere è decisamente elevato e non ci dà comunque garanzia di successo nel caso volessimo utilizzare un formato S-Video. L'altra possibilità è ovviamente quella di RESTRINGERE la banda passante del segnale video ed è qui che la matematica applicata all'informatica ci risolve brillantemente il problema. Ormai da qualche anno in tutti gli hard-disk del mondo troviamo utility di COMPRESSIONE dei dati come ZIP, ARJ, RAR ecc.. Grazie a degli algoritmi matematici applicati da questi programmini di compressione riusciamo a salvare sui dischetti da 1.4M quasi il doppio dei dati. Evidentemente non è il dischetto che aumenta la sua capacità ma è la larghezza di banda delle informazioni che viene ridotta. Il sistema della compressione funziona benissimo anche nel caso di immagini bitmap e quindi nel caso di sequenze video; gli algoritmi sono diversi a causa della diversità di informazione da comprimere ma il principio è lo stesso.
Gli algoritmi di compressione utilizzati nel campo del video digitale sono molteplici ed ognuno è legato al gruppo di studio che l'ha pensato o alla casa software che l'ha commercializzato. Una classificazione di massima però si può fare ed è basata su una caratteristica fondamentale: algoritmi SENZA PERDITA (Loseless) o CON PERDITA.
Queste due famiglie si differenziano dal fatto che l'algoritmo di compressione applicato ELIMINI dei dati considerati superflui oppure mantenga intatta l'informazione che essi contengono. Nel caso di un file compresso con ZIP, ad esempio, tutta l'informazione è mantenuta ed ogni byte è memorizzato interamente, cosichè quando si opera la decompressione il file decompresso è UGUALE a quello originale. Non potrebbe essere altrimenti, dato che un file EXE decompresso deve essere intatto in ogni bit pena il mancato funzionamento dell'applicazione ad esso associata. La quasi totalità dei compressori video appartengono invece alla famiglia CON PERDITA dato che sfruttano un principio di compressione differente. Tale principio parte dal presupposto che la banda passante del segnale video può essere considerata RIDONDANTE contenente cioè delle informazioni inutili, o meglio, che l'occhio umano non è in grado di percepire. La compressione viene perciò effettuata ELIMINANDO una parte delle informazioni confidando che l'occhio non si accorga della differenza. Per essere corretti si dovrebbe parlare in questo caso di FILTRAGGIO e non di compressione, infatti la parte di informazione che viene eliminata non è più recuperabile dal processo di decompressione. Con tale filtraggio si ottengono ottime compressioni, molto più elevate rispetto ai classici algoritmi senza perdita, che riducono moltissimo la banda passante e quindi il flusso dati, permettendo la riproduzione fluida di un filmato su PC. Un algoritmo di questo tipo è, ad esempio, l'MJPEG che permette compressioni fino a 100 volte; un file di 1Mbyte può essere così ridotto a 10Kbyte!
Tutto ciò è molto bello ma ha un prezzo, nel caso di immagini bitmap e quindi di seguenze video, comprimere vuol dire eliminare informazioni e di conseguenza si ottiene anche un deterioramento della qualità dell'immagine. Più alta è la compressione e più scadente risulterà la qualità visiva dell'immagine decompressa. Ecco perchè nonostante si possa comprimere fino a valori molto elevati, in pratica non si useranno mai valori superiori a 25 in relazione all'utilizzo che si farà delle sequenze video. In particolare potremmo classificare le compressioni e la qualità del video corrispondente secondo la seguente tabella:
Esiste un algoritmo simile all'MJPG che pur non compromettendo la qualità video rispetto al primo, permette una ulteriore compressione e quindi riduzione della banda passante: l'MPEG. Questo algoritmo viene utilizzato nelle applicazioni Video-CD in cui i film sono distribuiti su supporti come il CD-ROM con banda passante molto bassa e quindi richiedono compressioni molto elevate limitando la massimo la perdita qualitativa. La differenza dall'MJPEG sta nel fatto che questo comprime singolarmente ogni frame della seguenza, come se fossero dei singoli BMP, mentre MPEG effettua una ulteriore compressione memorizzando solo le differenze esistenti tra un frame e il successivo. Pensiamo, ad esempio, ad una sequenza di un aereo che vola attraversando lo schermo su un bel cielo blu. Ogni fotogramma differisce dal successivo SOLO per la posizione dell'aero nel fotogramma ma non per il cielo che non cambia e rimane blu. In questo caso è inutile memorizzare per ogni fotogramma le informazioni dello sfondo (il cielo) ma basta memorizzarle nel primo e nei successivi comprimere solo le informazioni relative all'aereo. In fase di decompresione ogni fotogramma prenderà le necessarie informazioni dello sfondo da questo primo frame, detto KEYFRAME. Per questo motivo il sistema MPEG non è adatto all'editing del video che necessita di avere a disposizione ogni singolo frame completo per effettuare tagli e dissolvenze in qualsiasi punto si desideri.
Ritorno a Per saperne di più