Una buona conoscenza della compressione MPEG sta per Motion Pictu-re Expert Group, un sottocomitato...

5

Transcript of Una buona conoscenza della compressione MPEG sta per Motion Pictu-re Expert Group, un sottocomitato...

In questo articolo presenteremoun mare d’informazioni su quel-lo che sta sotto la superficie del-lo standard MPEG. Vi aiutere-mo a valutare i sistemi di codifi-ca MPEG hardware e software

oggi disponibili. L’MPEG sta diven-tando sempre più importante, special-mente per gli studi pieni di apparecchivideo e strumenti di produzione. È ilformato standard per il video su DVDe lo standard di trasmissione per la te-

levisione digitale (DTV). Molti PCsono ora dotati di qualche applicazionedi decodifica MPEG sia su scheda, siacome applicazione software in bundle.Anche i chioschi di presentazione e ibriefing aziendali stanno usando l’M-PEG per offrire contenuti video di altaqualità.

L’MPEG non è probabilmente il soloformato che gestite nel vostro ambien-te di produzione, ma è un formato alquale dovreste prestare molta attenzio-ne se volete entrare nella maggior partedei mercati del futuro. Scegliere un en-coder MPEG e usarlo al meglio puòessere un compito difficile. La com-pressione video è sempre stata consi-derata un’arte magica, e l’MPEG nonfa eccezione. Alcuni studi ingaggianoun tecnico dedicato con il solo compitodi perfezionare l’arte della compressio-ne MPEG.

L’approfondimento degli aspetti tec-nici del formato video MPEG vi aiu-terà anche a capire meglio il complessoprocesso di codifica e a offrire video dialta qualità ai vostri clienti.

Le molte versioni di MPEG

Prima di gettarci a testa bassa nell’ar-gomento, facciamo una panoramicagenerale. MPEG sta per Motion Pictu-re Expert Group, un sottocomitato del-l’ISO, l’International Standards Orga-nization. Il compito del gruppo è statoquello di definire un bitstream e un si-stema di decodifica per offrire video eaudio compresso su vari supporti. Ilgruppo non ha definito il processo di

codifica, l’output del processo e i com-ponenti del decoder. E infatti i produt-tori di encoder possono usare moltetecniche per creare uno stream MPEGche soddisfi lo standard.

L’MPEG-1 è stato progettato per of-frire audio e video compresso su CD-ROM e VideoCD. Inizialmente, eramirato a bassi data rate usando unquarto di risoluzione SIF a 352 x 240.Poi quel valore è stato abbassato percoprire la risoluzione video desktop di

320 x 240.L’MPEG-2 è stato originariamente

sviluppato per il mercato broadcast,con data rate e qualità più alti rispettoall’MPEG-1. Questo standard è statoprogettato per offrire video a pienoschermo e oggi viene usato per tra-smettere segnali in definizione stan-dard su DTV e via satellite. Sia l’M-PEG-1, sia l’MPEG-2 sono compatibilicon la specifica DVD-Video.

L’MPEG-3 era stato pensato per sod-disfare le esigenze di video di qualitàpiù alta della televisione ad alta defini-zione (HDTV). Dato che lo stream e learchitetture di decoder dell’MPEG-2potevano essere scalate per gestirequesti segnali a larghezza di banda

maggiore, il formato MPEG-3 è statoinglobato nell’MPEG-2.

L’MPEG-4, che viene lanciato pro-prio in questo periodo, mira a offrirestream video e audio ad ampiezza dibanda molto bassa su reti come Inter-net. Naturalmente, l’MPEG-4 ha moltaconcorrenza da parte dei codec pro-prietari, come quelli della Sorenson Vi-sion e della RealNetworks. Solo il tem-po e l’attività del mercato dirà se l’M-PEG-4 verrà adottato dai principali

protagonisti su Internet.Dato che l’MPEG-2 è lo standard che

si vede più spesso attualmente, mi con-centrerò su quel formato. Guarderemoi componenti generali di uno stream vi-deo MPEG-2 e di un encoder MPEG-2. Tratteremo solo i formati video, nonquelli audio.

Governato dal GOP

L’MPEG divide il video in tre tipi diframe. Gli Intraframe (I-frame) vengo-no codificati usando solo le informa-zioni all’interno di un singolo foto-gramma. Sono necessari per mantenerela stabilità nel sistema di codifica, per

Una buona conoscenzadella compressione MPEGpotrà aiutarvi a scegliere

il codec più adattoe a ottenere un video

finale migliore

Speciale MPEG di Barbara Roeder

76 - Settembre 2000

l’accesso casuale e per i tagli tra scene.Sono anche i frame che occupano lamaggior parte dei dati. I Predictive fra-me (P-frame) vengono codificati sti-mando il movimento avvenuto rispettoal precedente I-frame o P-frame, e vie-ne memorizzato solo quello che cam-bia nel fotogramma. I P-frame consen-tono un tasso di compressione medio. IBidirectional frame (B-frame) analiz-zano il movimento rispetto al prece-dente I-frame o P-frame, e anche ri-spetto al successivo frame nella se-quenza. I B-frame consentono un mag-gior rapporto di compressione a spesedi un’elaborazione più complessa.

I-frame, P-frame e B-frame vengonoriuniti in un Group Of Pictures (GOP ogruppo d’immagini). La struttura GOPdi una sequenza video MPEG è il pri-mo passo nell’impostazione di un bit-rate target per l’encoder, a causa deidifferenti requisiti di data rate per i tretipi di frame. Più I-frame ci sono, piùalto sarà il bit-rate. Più sono distanziatifra loro gli I-frame, più basso sarà ilbit-rate raggiungibile dall’encoder. Po-tete vedere una tipica struttura GOPnella Figura 1. Gli I-frame sono spa-ziati di 15 fotogrammi. Ci sono il dop-pio di B-frame rispetto agli I-frame e

P-frame combinati. Potete anche farviun’idea di come funziona la predizioneper i P-frame e i B-frame. Il primo P-frame è una predizione tra se stesso e ilprimo I-frame. Il primo B-frame ana-lizza il movimento tra se stesso, il pre-cedente I-frame e il successivo P-fra-me, poi prende una decisione intelli-gente sul modo migliore per codificareil movimento che è stato rilevato.

Nell’MPEG, c’è sempre un compro-messo tra bit-rate e qualità. Senza I-frame, l’encoder può perdere tracciadel movimento in una sequenza, e glierrori possono iniziare ad accumularsi.

Per esempio, se si verifica un erroredurante la codifica del frame 4 nellaFigura 1, questo si può propagare finoal frame 15. Il B-frame numero 15 usail P-frame numero 13 per stimare ilmovimento, ma il frame 13 ha sfruttatoil frame 10, il frame 10 ha usato il fra-me 7, e il frame 7 è stato predetto inbase al frame 4. Questo è un errore cherimane nell’immagine, e può anchepeggiorare lungo gli 11 frame. Se l’I-frame non fosse posizionato ogni 15fotogrammi, la propagazione dell’erro-re potrebbe durare anche più a lungo.

Gli I-frame consentono anche un ac-cesso casuale alle sequenze video. Se

volete fermarvi al B-frame numero 6,il decoder dovrebbe prendere le infor-mazioni dei P-frame numeri 4 e 7. Ladecodifica del frame 4, però, richiedeanche l’informazione del frame 1. Diconseguenza, il sistema deve avere lacapacità di memorizzare tre frame si-multaneamente e la potenza di calcoloper decodificare quei tre frame di vi-deo per ricostruire il B-frame desidera-to. Per fermarsi su un I-frame, invece,il decoder ha bisogno solo dei dati diquel fotogramma. Ciò spiega perchéattualmente è più diffuso l’editing conla precisione dell’I-frame. Un buon en-

coder MPEG permette d’impostare li-beramente la struttura GOP e d’inserireI-frame dove necessario per assicurareuna migliore codifica e l’accesso ca-suale alla sequenza.

La codifica del movimento

Il compito più complesso dell’enco-der MPEG è la stima del movimento.Nelle applicazioni software, le fasi diricerca e di decisione in questa partedell’algoritmo risultano lunghe. Sonoanche onerose in termini di memoria e

funzioni di calcolo per tutti i sistemihardware, a parte quelli più sofisticati.Senza una buona stima del movimento,l’encoder deve codificare più dati per iP-frame e i B-frame, e l’equilibrio tradata rate e qualità sarà più difficile daraggiungere. Nuotare nelle acque oscu-re della stima del movimento vi faràconoscere meglio il vostro encoderMPEG e vi aiuterà a impostare para-metri realistici per la vostra applicazio-ne target.

Gli encoder MPEG dividono ogniframe in macroblocchi, normalmenteda 16 x 16 pixel ciascuno. Per ognimacroblocco, lo stimatore di movi-

mento cerca di determinare dov’era nelframe precedente quel blocco d’infor-mazioni, o uno molto simile. La stimaviene effettuata confrontando le infor-mazioni del macroblocco corrente conle informazioni dei macroblocchi delframe precedente. In una ricerca com-pleta, vengono valutati tutti i macro-blocchi del fotogramma precedente. Èpossibile utilizzare molti algoritmi diricerca limitata per prendere decisioniintelligenti sul movimento e quindi ri-durre i requisiti di elaborazione.

Una volta trovata una corrisponden-za, il sistema definisce un vettore dimovimento per il macroblocco e codi-fica la differenza tra i due macrobloc-chi. Considerate i set di macroblocchinei due diversi fotogrammi mostratinella Figura 2. Le informazioni nelmacroblocco 6 del frame 2 sono moltosimili a quelle nel macroblocco 2 delframe 1. Un vettore di movimento conuna componente X di -1 e una compo-nente Y di -1 punterà alla posizione ap-propriata per recuperare le informazio-ni per il macroblocco 6. Tuttavia, cisono alcune differenze tra i due macro-blocchi. Quelle differenze verranno co-dificate insieme al vettore di movimen-to, in modo da poter inviare un’imma-gine completa del macroblocco 6 nellostream MPEG. Quando il decoder vuo-le ricostruire il macroblocco 6 nel fra-me 2, recupererà le informazioni dalmacroblocco 2 del frame 1 e poi ag-giungerà le informazioni residue chesono state codificate per il macrobloc-co 6.

Se l’algoritmo di stima del movimen-to non riesce a trovare una buona corri-spondenza tra macroblocchi, i blocchisubiranno una codifica intraframe,come spiegherò nel paragrafo seguen-te. Questa codifica richiede più bit,quindi meglio l’encoder MPEG riescea gestire la stima del movimento, piùalta sarà la qualità finale del videoMPEG a un certo bit-rate target.

� Figura 1: unatipica strutturaGOP di un videoMPEG-2 è costi-tuita da Intra fra-me, Predictiveframe e Bidirec-tional frame,chiamati anche I-frame, P-frame eB-frame. Lo sti-matore di movi-mento dell’enco-der MPEG deter-mina quale mix ditipi di frame è ap-propriato per uncerto segmento

� Figura 2: men-tre un oggetto simuove attraversol’inquadratura difotogramma in fo-togramma, l’en-coder MPEG defi-nisce un vettoredi movimento concomponenti X e Yper descriverecome si è sposta-to l’oggetto ri-spetto alla posi-zione precedente

- Settembre 2000 77

Le difficoltàdi codifica

Vediamo un paio d’esempi di cometutte queste manipolazioni matemati-che influenzino il modo in cui un enco-der MPEG vede il vostro video. Letransizioni rappresentano un problemaspeciale per gli encoder MPEG. Teneteconto che in una dissolvenza incrocia-ta, ogni pixel di ogni frame può cam-biare. A seconda della soglia di sensi-bilità dello stimatore di movimentodell’encoder MPEG, potrebbe non es-sere possibile trovare un vettore di mo-vimento valido. Quindi, i macroblocchiin tutti i fotogrammi devono essere co-dificati come grandi I-frame, inveceche come P-frame e B-frame più com-patti. I requisiti di data rate di questiframe aumenteranno drasticamente.

Ci sono due modi per aggirare il pro-blema della codifica delle transizioni.Il più semplice è quello di alzare il bit-rate target. I buoni encoder MPEG-2offrono la codifica a Variable BitRate(VBR o a bit-rate variabile), che con-sente di regolare il bit-rate scena perscena. Senza VBR, è necessario alzare

il livello di un encoder a bit-rate co-stante per l’intero video. Anche se lacodifica a bit-rate costante può essereperfettamente adeguata per la vostraapplicazione, è utile avere a disposizio-ne l’opzione VBR.

L’altro metodo per gestire le transi-zioni implica il cambiamento del vo-stro contenuto. Se lo spazio o l’am-piezza di banda a vostra disposizionesono limitati, come succede quando sicerca di far stare più di due ore di vi-deo su un DVD a singolo lato, doveteraggiungere un compromesso tra qua-lità e quantità. Usate transizioni il piùpossibile corte, e mantenete semplice ilcontenuto dietro la transizione. Se tuttoil resto fallisce, provate un semplice ta-glio o una tendina al posto di una dis-solvenza. Quando effettuate una zoo-mata sul vostro soggetto, la dimensio-ne apparente degli oggetti cambia inmodo tale che lo stimatore di movi-mento possa rilevare grandi differenze,ma può anche non riuscire a individua-re un vettore di movimento valido. Seil vostro video MPEG evidenzia dei di-fetti mentre la videocamera zooma, do-vreste provare a comprimere di nuovo.Alzate il data rate, abbreviate la scena,o usate al suo posto una scena staticase ne avete una.

Quando un oggetto si muove attra-verso l’immagine, vengono rivelatenuove informazioni dello sfondo chenon erano visibili nei frame precedenti.Lo stimatore di movimento nei P-fra-me non sarà in grado di trovare vettori

di movimento per quei nuovi macro-blocchi. Ecco perché i B-frame sonocosì importanti per l’efficienza dell’M-PEG. Questo tipo di frame guarda inavanti oltre che indietro per trovare ilmovimento. Le nuove aree svelate del-lo sfondo non esistono nel frame pre-cedente, ma esisteranno nel frame suc-cessivo o in quello dopo ancora, quindisarà possibile assegnare un vettore dimovimento a quei macroblocchi. I vet-tori di differenza risultanti possono es-sere molto piccoli, e l’efficienza di co-difica viene mantenuta.

I concetti chiavedella compressione

Come ho detto nel paragrafo prece-dente, ogni immagine viene divisa inmacroblocchi. Una volta determinato ilvettore di movimento per un macro-blocco in un P-frame o B-frame, vienestabilita la differenza tra il macrobloc-co corrente e quello da cui deriva. Selo stimatore di movimento dell’enco-der MPEG ha fatto bene il suo lavoro,quella differenza sarà molto piccola o

nulla. Se non è così, viene impostatoun flag e i macroblocchi subiscono unacodifica intraframe.

Terminata questa elaborazione delmacroblocco, i P-frame e i B-framevengono ulteriormente divisi in blocchida 8 x 8 pixel. Anche gli I-frame ven-gono suddivisi nello stesso modo pereffettuare l’elaborazione intraframe.Nella Figura 3 è visibile un diagram-ma di questo algoritmo blocco perblocco. La base dell’elaborazione deiblocchi negli encoder MPEG è la Di-screte Cosine Transform (DCT o tra-sformata discreta del coseno), che tra-sforma le informazioni spaziali deglielementi dell’immagine nel dominiodelle frequenze. Ciò permette all’enco-der di valutare il modo in cui cambianole informazioni dell’immagine, invecedi valutare come appaiono ai nostri oc-chi. A ogni elemento d’immagine delblocco viene assegnato un coefficientenumerico che rappresenta diversi livel-li di cambiamento nell’immagine. Selo stimatore di movimento ha fatto ilsuo lavoro, i coefficienti dei P-frame edei B-frame rappresentano solo cam-biamenti tra i due frame. I nostri occhisono meno sensibili ai dettagli nellearee in movimento dell’immagine,quindi i coefficienti a frequenza piùalta possono essere cambiati, o persinoeliminati, senza che lo spettatore se neaccorga. È in questo modo che l’M-PEG ottiene data rate bassi conservan-do un’alta qualità.

L’encoder altera i coefficienti DCT

nel quantizzatore, dove riduce il nume-ro di bit usati per rappresentare queicoefficienti che non sono vitali per ildettaglio complessivo dell’immagine.Troppa quantizzazione elimina i detta-gli necessari dall’immagine e generauna “blocchettizzazione” visibile intor-no ai contorni degli oggetti in movi-mento. Una quantizzazione troppo pic-cola mantiene l’encoder al di sopra delsuo bit-rate target. Gli encoder MPEGhanno quindi un loop di feedback sulcontrollo del rate che permette al quan-tizzatore di regolarsi in base al bit-ratetarget che l’encoder deve ottenere.

La codifica di entropia organizza icoefficienti quantizzati in ordine di oc-correnza, in modo che l’algoritmo pos-sa essere ancora più efficiente. Poi vie-ne usata una tabella di codifica a lun-ghezza variabile per assegnare codici aciascun elemento, usando codici breviper gli elementi più comuni e codicipiù lunghi per gli elementi meno co-muni in una sequenza. Quindi, da dovederiva il risparmio di data rate offertodall’MPEG? La parte con perditad’informazione dell’algoritmo MPEGderiva dal processo di quantizzazione,

che può cambiare all’interno del frame.I coefficienti DCT non scartano i dati.Come mostrato nella Figura 3, i para-metri di quantizzazione arrivano in unbuffer, in modo da poter essere inviaticome informazioni di header dei bloc-chi. I dati vengono ulteriormente com-pressi usando vari algoritmi di codificadi entropia, ma anche in questo casonon c’è perdita d’informazioni in que-sta fase.

Anche gli elementi senza perditad’informazioni del processo di codificainfluenzano la quantità di lavoro chel’encoder MPEG deve svolgere. Laprofondità di bit usata per calcolare laDCT, il controllo del rate e la flessibi-lità del quantizzatore, e la complessitàdella codifica di entropia, sono tuttifattori che influenzano l’efficienza diun encoder MPEG.

MPEG, dissolvenze e tendine

Guardiamo come tutte queste mani-polazioni matematiche possono in-fluenzare il vostro video. Considerateuna dissolvenza incrociata applicata adue immagini fisse. Ci saranno diffe-renze in ogni blocco dell’immagine acausa della dissolvenza. Ma dato cheentrambe le immagini sono fisse, lostimatore di movimento dovrebbe defi-nire un vettore di movimento di (0, 0).D’altra parte, i cambiamenti durante latransizione porteranno alla generazionedi coefficienti DCT per ogni pixel in

� Figura 3: dopola stima di movi-mento per i P-fra-me e i B-frame, imacroblocchi diogni frame vengo-no portati dallaDCT nel dominiodelle frequenze. Ilquantizzatore ri-duce poi il nume-ro di bit usati perdescrivere i datidi frequenza. Lacodifica di entro-pia ordina i datiquantizzati perconsentire unacompressione ul-teriore. Il buffermantiene i para-metri di quantiz-zazione, in mododa poterli inserirenelle informazionidi header delblocco MPEG fina-le

78 - Settembre 2000

un blocco e la quantizzazione potrebbediventare piuttosto drastica per conser-vare il data rate. Potreste iniziare a ve-dere un po’ di blocchetti durante la dis-solvenza, specialmente se ci sono moltidettagli ad alto contrasto nell’immagi-ne sottostante.

Ora considerate una tendina orizzon-tale. Senza movimento, ci sarannograndi porzioni dell’immagine che ri-mangono costanti tra i fotogrammi.Dato che non ci sono cambiamenti dafotogramma a fotogramma nell’imma-gine, i coefficienti DCT sono zero el’efficienza di codifica è molto alta.Nel punto dell’immagine in cui avvie-ne la tendina, appariranno i coefficientiDCT ma solo per la direzione orizzon-tale. Non ci sono componenti verticaliper la DCT e quindi ci saranno menodati da codificare rispetto alla DCT diuna dissolvenza incrociata.

Un semplice taglio richiederà l’inse-rimento da parte dell’encoder di unnuovo I-frame nella sequenza. Quindi,a seconda della lunghezza della transi-zione e del contenuto sottostante, cisono casi in cui un taglio sarà la sceltamigliore. Tenete presente, però, chemolti tagli veloci tra scene complesserichiederanno l’inserimento di più I-frame, che potrebbero risultare altret-tanto onerosi per l’encoder di una dis-solvenza. Se i limiti di data rate nonsono troppo stringenti, sono perfetta-mente accettabili transizioni e contenu-ti più complessi. Nelle scene con moltomovimento, la DCT viene applicatasolo alle piccole differenze dovute allasfocatura della videocamera, all’illumi-nazione, o a nuovi oggetti che vengonorivelati dietro l’oggetto in movimento.Se lo stimatore di movimento sta fa-cendo il suo lavoro, la cosa finisce qui.Le sottili differenze da fotogramma afotogramma appaiono nella tabellaDCT come coefficienti a bassa fre-quenza, ed è possibile applicare un altolivello di quantizzazione, ottenendouna codifica molto efficiente.

La cosa importante da ricordare è chei dati vengono persi solo durante lafase di quantizzazione. Ma l’invisibi-lità della quantizzazione verrà determi-nata da quanto bene l’encoder gestiscetutti i passi precedenti e dalla qualitàdel meccanismo di controllo del rate.Infine, il vostro bit-rate target determi-na quanto duramente dovrà lavorare ilquantizzatore.

Bit-rate variabile

Fortunatamente, alcuni encoderMPEG offrono altre funzionalità peraiutare a raggiungere il vostro bit-ratetarget. Due tra le più importanti sono ilprima menzionato VBR e la codifica inpiù passate.

L’MPEG-1 è stato progettato per es-sere uno stream di dati a bit-rate co-stante, nel senso che a ogni GOP vieneassegnato lo stesso numero di bit dasuddividere tra i tre tipi di frame. An-che l’MPEG-2 può essere creato usan-do un bit-rate costante, ma lo standard

consente anche di utilizzare il piùavanzato VBR. Con il VBR, porzionidifferenti di una sequenza possono es-sere codificate con data rate differenti(Figura 4). Il VBR permette alle por-zioni ad alto movimento del vostro vi-deo di usare più bit e alle sequenze conmeno movimenti di usarne meno. Laqualità complessiva sarà più alta, per-ché i bit vengono usati dove servono dipiù. Quindi un sistema di codificaMPEG che gestisce il VBR può rag-giungere una qualità d’immagine piùalta rispetto a un sistema che non logestisce.

Gli encoder MPEG possono usaredue modi per implementare il VBR.Uno è quello di tenere traccia delleprestazioni precedenti e allocare bit peri frame e i GOP mentre vengono elabo-rati. Il secondo metodo, più sofisticato,è quello di passare il materiale due vol-te.

Durante la prima passata, l’encoderanalizza l’intera sequenza video e poiprende le decisioni iniziali su come al-locare al meglio i bit per le differentiparti del video. La seconda passata usaquelle decisioni per codificare i GOP.

Anche se i sistemi di codifica MPEG adue passate sono più costosi di quelli apassata singola e richiedono più tempodi codifica, la loro strategia permette diraggiungere una qualità dell’immaginesuperiore.

Capire gli artefatti

Se avete lavorato con la grafica 3D,potete essere dei potenziali esperti dicompressione. L’elemento chiave percapire la matematica che sta dietro ilcomplesso algoritmo dell’MPEG stanel visualizzare come elabora i cam-biamenti di un’immagine nel tempo.Uno degli artefatti più fastidiosi cheappaiono nel video MPEG è “l’effettozanzara” (in inglese “mosquito noise”),simpatico nome dato alle piccole esporadiche modifiche dei pixel intornoai contorni di oggetti in movimento,come la testa di una persona che parla.Dato che soggetti di questo tipo non simuovono molto, un buon stimatore dimovimenti può predire con precisioneil movimento fotogramma per foto-gramma. Tuttavia, le sottili differenzenell’illuminazione e nel dettaglio dei

capelli possono comunque venire codi-ficate nei differenziali dei vettori dimovimento.

Queste piccole differenze vengonotrasformate in coefficienti DCT chenormalmente sono principalmente adalta frequenza. Un codificatore può al-terare la quantizzazione di questi coef-ficienti blocco per blocco e frame perframe. Le modifiche frame per framesi manifestano con gli artefatti di ru-more che noi chiamiamo “zanzare”.

Ricordatevi il vecchio adagio: “spaz-zatura in entrata, spazzatura in uscita”.Tutti i trucchi che avete imparato com-primendo video per i CD-ROM vi sa-ranno d’aiuto nella compressioneMPEG. L’illuminazione, le tecniche dipre-elaborazione e le apparecchiatureutilizzate influenzeranno la qualità delvostro prodotto finale.

Seguire la corrente

La cosa positiva dell’MPEG è che of-fre una buona probabilità di generarevideo compresso di ottima qualità. An-che se gli encoder MPEG utilizzano ti-

picamente uno dei pochi chip di codifi-ca MPEG esistenti sul mercato, ci sonocomunque molti parametri che possonoinfluenzare la qualità del loro output.La codifica software può offrire unaqualità elevata e magari algoritmi su-periori di stima del movimento, ma,con le CPU attuali, la codifica softwarerichiede tempo.

Usate le informazioni di questo arti-colo su come sono strutturati gli streamMPEG e come un encoder influenza laqualità visiva del vostro video per tro-vare un encoder che offra le miglioricaratteristiche e la qualità che poteteottenere con il vostro budget.

Infine, ricordate che diventare espertidi compressione video MPEG richiedetempo. Potrete ottenere video MPEGdi qualità più elevata sfruttando l’espe-rienza di un tecnico dedicato che sarealmente come ottimizzare gli stru-menti. E se starete attenti ad applicarela giusta illuminazione e le tecnicheappropriate di postproduzione al vostrovideo sorgente, chi effettua la com-pressione non avrà la sensazione dinuotare controcorrente durante le ses-sioni di codifica.(© DV)

� Figura 4: lacompressione abit-rate costante(la linea rettaorizzontale) usa lastessa quantità didati per descrive-re immagini com-plesse e immagi-ni semplici. Ciòpuò portare a unaqualità d’immagi-ne variabile. Lacodifica VBR (lalinea curva) usaquantità diversedi dati per tipi dif-ferenti di contenu-to video, permet-tendo di ottenereuna migliore qua-lità d’immaginecomplessiva

- Settembre 2000 79