diff options
author | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-12-05 19:06:12 +0000 |
---|---|---|
committer | ptt <ptt@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-12-05 19:06:12 +0000 |
commit | 1f2429c7ff97669ea2942ed6b87219aef66e4169 (patch) | |
tree | 5f0262721c9e95db6dc95e9339b85199d2d70792 /DOCS | |
parent | 098170a7e2d62e2a28a7504c2c2d595c43896348 (diff) | |
download | mpv-1f2429c7ff97669ea2942ed6b87219aef66e4169.tar.bz2 mpv-1f2429c7ff97669ea2942ed6b87219aef66e4169.tar.xz |
initial submit for revision... 24% synced with r22753
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25307 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/xml/it/encoding-guide.xml | 5326 |
1 files changed, 5326 insertions, 0 deletions
diff --git a/DOCS/xml/it/encoding-guide.xml b/DOCS/xml/it/encoding-guide.xml new file mode 100644 index 0000000000..136ee17da4 --- /dev/null +++ b/DOCS/xml/it/encoding-guide.xml @@ -0,0 +1,5326 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 24% synced with r22753 --> +<chapter id="encoding-guide"> +<title>La codifica con <application>MEncoder</application></title> + +<sect1 id="menc-feat-dvd-mpeg4"> +<title>Produrre un rip di un film da DVD in un + MPEG-4 ("DivX") di alta qualità</title> + +<para> +Una domanda frequente è "Come posso generare il rip con la migliore quallità +per una dimensione data?". Un'altra domanda è "Come posso fare il rip da DVD +migliore in assoluto? Non mi interessa la dimensione del file, voglio solo la +più alta qualità." +</para> + +<para> +L'ultima domanda è perlomeno forse posta malamente. Dopo tutto, se non ti +interessa la dimensione del file, perché non ti copi semplicemente l'intero +flusso video MPEG-2 dal DVD? Certo, avrai un AVI di 5GB, prendere o lasciare, +ma se vuoi la miglior qualità e non ti importa della dimensione, è +sicuramente la scelta migliore. +</para> + +<para> +Invero, la ragione per cui vuoi codificare un DVD in MPEG-4 è proprio perché +ti interessa <emphasis role="bold">davvero</emphasis> la dimensione del file. +</para> + +<para> +E' difficile offrire una ricetta da libro su come generare un rip da DVD in +qualità molto alta. Bisogna considerare vari fattori, e dovresti comprendere +questi dettagli, altrimenti alla fine probabilmente sarai insoddisfatto del +risultato. Più sotto evidenziamo alcuni di questi argomenti e poi passiamo ad +esaminare un esempio. Partiamo dal principio che per codificare il video tu +stia usando <systemitem class="library">libavcodec</systemitem> anche se la +teoria si applica allo stesso modo agli altri codec. +</para> + +<para> +Se questo ti sembra troppo, dovresti probabilmente usare una delle belle +interfacce elencate nella +<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">sezione su MEncoder</ulink> +nella pagina dei progetti collegati (related projects). +In tal modo riuscirai ad ottenere rip di alta qualità senza pensarci troppo, +dato che la maggior parte di questi strumenti sono progettati per prendere +decisioni sagge al tuo posto. +</para> + +<!-- ********** --> + +<sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> +<title>Prepararsi alla codifica: identificare il materiale sorgente e la frequenza fotogrammi (framerate)</title> + +<para> +Prima ancora di pensare a codificare un film, devi fare alcuni passi +preliminari. +</para> + +<para> +Il primo e più importante passo prima della codifica dovrebbe essere +determinare il tipo di contenuto che stai trattando. +Se il tuo materiale di partenza arriva da un DVD o da TV in +broadcast/via cavo/satellite, sarà salvato in uno dei due formati: NTSC per +il Nord America e il Giappone, PAL per l'Europa, etc... +E' importante tuttavia comprendere che questo è solo il formato per la +trasmissione in televisione, e spesso <emphasis role="bold">non</emphasis> +corrisponde al formato originario del film. +L'esperienza insegna che il materiale NTSC è molto più difficile da +codificare, perché ci sono più elementi da identificare nel sorgente. +Per generare una codifica adeguata, devi sapere il formato originario. +Il non tenerne conto porterà a molti __flaws__ nella tua codifica, inclusi +artefatti orrendi __combing__ (interlacing) e fotogrammi duplicati o addirittura +perduti. +Oltre ad essere brutti, gli artefatti influenzano negativamente l'efficenza +della codifica: otterrai una peggior qualità a parità di bitrate. +</para> + + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> +<title>Identificare la frequenza fotogrammi (framerate) del sorgente</title> + +<para> +C'è qui un elenco di tipi comuni di materiale sorgente, dove facilmente si +trovano e le loro proprietà: +</para> + +<itemizedlist> +<listitem><para> + <emphasis role="bold">Film standard</emphasis>: prodotti per la visione + su schermi da cinema a 24fps. +</para></listitem> +<listitem><para> + <emphasis role="bold">Video PAL</emphasis>: registrati con una videocamera + PAL a 50 campi al secondo. + Un campo è composto dalle sole linee pari o dispari di un fotogramma. + La televisione è stata progettata per aggiornarle alternativamente come un + metodo economico di compressione analogica. + L'occhio umano teoricamente compensa la cosa, ma una volta che capisci come + funziona l'interlacciatura imparerai a vederla anche in TV e non ti piacerà + più la TV. + Due campi <emphasis role="bold">non</emphasis> fanno un fotogramma intero, + poiché sono registrati a 1/50 di secondo di distanza nel tempo e quindi non + si allineano a meno che non ci sia movimento alcuno. +</para></listitem> +<listitem><para> + <emphasis role="bold">Video NTSC</emphasis>: registrati con una videocamera + NTSC a 60000/1001 campi al secondi, o 60 campi al secondo nell'era precedente + al colore. + Per il resto sono simili ai PAL. +</para></listitem> +<listitem><para> + <emphasis role="bold">Animazione</emphasis>: solitamente disegnati a 24fps, + ma se ne trovano anche in tipologie con frequenza di fotogrammi mista. +</para></listitem> +<listitem><para> + <emphasis role="bold">Computer Graphics (CG)</emphasis>: possono essere con + qualsiasi frequenza di fotogrammi, ma alcuni sono più comuni di altri; + sono tipici 24 e 30 fotogrammi al secondo per NTSC e 25fps per PAL. +</para></listitem> +<listitem><para> + <emphasis role="bold">Vecchi Film</emphasis>: varie e più basse frequenze di + fotogrammi. +</para></listitem> +</itemizedlist> +</sect3> + + +<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> +<title>Identificare il materiale sorgente</title> + +<para> +I film composti da fotogrammi sono indicati come "progressivi", mentre quelli +composti da campi indipendenti sono chiamati "interlacciati" o video - anche se +quest'ultimo termine è ambiguo. +</para> + +<para> +Per complicare ulteriormente le cose, alcuni film possono essere un misto di +molti dei suddetti. +</para> + +<para> +La più importante distinzione da farsi tra tutti questi formati è che alcuni +sono basati su fotogrammi mentre gli altri sono basati su campi. +<emphasis role="bold">Ogniqualvolta</emphasis> un film viene preparato per la +visualizzazione in televisione (DVD inclusi), viene convertito in un formato +basato su campi. +I vari metodi con cui si può fare sono conosciuti nel loro insieme come +"telecine", di cui il tristemente famoso "3:2 pulldown" NTSC è una tipologia. +A meno che il materiale originale sia anch'esso basato su campi (e con la stessa +frequenza di campi) otterrai un filmato in un formato diverso da quello che è +in origine. +</para> + +<itemizedlist> +<title>Ci sono vari tipi usuali di "pulldown":</title> +<listitem><para> + <emphasis role="bold">Pulldown PAL 2:2</emphasis>: il più bello di tutti. + Ciascun fotogramma viene mostrato per la durata di due campi, estraendo le + linee pari e dispari e mostrandole alternativamente. + Se il materiale di origine è a 24fps questo processo velocizza il filmato + del 4%. +</para></listitem> +<listitem><para> + <emphasis role="bold">Pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>: + Ogni dodicesimo fotogramma viene mostrato per la durata di tre campi, invece + che solamente per due. + Questo evita il problema dell'aumento del 4% di velocità, ma rende il + processo molto più difficile da __reversare__. + Solitamente viene usato nelle produzioni musicali, dove modificare del 4% la + velocità rovinerebbe pesantemente la colonna sonora. +</para></listitem> +<listitem><para> + <emphasis role="bold">Telecine NTSC 3:2</emphasis>: i fotogrammi vengono + mostrati alternativamente per la durata di 3 o 2 campi. + Questo porta ad una frequenza di campi di 2.5 volte la frequenza orginaria. + Il risultato viene anche leggermente rallentato da 60 campi al secondo fino a + 60000/1001 campi al secondo, per mantenere la frequenza dei campi di NTSC. +</para></listitem> +<listitem><para> + <emphasis role="bold">Pulldown NTSC 2:2</emphasis>: utilizzato per mostrare + materiale a 30fps su NTSC. + Carino, proprio come il pulldown PAL 2:2. +</para></listitem> +</itemizedlist> + +<para> +Ci sono anche alcuni metodi per convertire tra video NTSC e PAL, ma gli +arogmenti relativi non sono obiettivo di questa guida. +Se ti trovi di fronte a un film di questo genere e lo vuoi codificare, la tua +scelta migliore è cercarne una copia nel formato originale. +La conversione tra questi due formati è altamente distruttiva e non può +essere __reversed__ in maniera pulita, perciò la tua codifica __soffrirà__ +molto se eseguita da una sorgente convertita. +</para> + +<para> +Quando il video viene salvato du un DVD, coppie consecutive di campi sono +raggruppati in un fotogramma, anche se non sono pensati per esser mostrati +nello stesso momento. +Lo standard MPEG-2 usato sui DVD e per la TV digitale fornisce un modo sia per +codificare i fotogrammi progressivi originali, che uno per memorizzare +nell'intestazione del fotogramma il numero dei campi per cui il fotogramma +stesso debba essere mostrato. +Se viene usato questo metodo il filmato verrà spesso indicato come +"soft telecine", visto che il procedimento indica semplicemente al lettore DVD +di applicare il pulldown al film, invece che modificare il film stesso. +Questa situazione è decisamente preferibile, dato che può essere facilmente +__reversed__ (__actually ignored__) dal condificatore, e dato che mantiene la +massima qualità. +Tuttavia, molti studi di produzione DVD e di trasmissione non usano tecniche di +codifica appropriate, ma al contrario producono filmati con "hard telecine", in +cui i campi sono sotanzialmente duplicati nell'MPEG-2 codificato. +</para> + +<para> +Le modalità per gestire questi casi verranno descritte +<link linkend="menc-feat-telecine">più avanti in questa guida</link>. +Per adesso ti lasciamo alcune indicazioni su come identificare il tipo di +materiale che stai trattando: +</para> + +<itemizedlist> +<title>Regioni NTSC:</title> +<listitem><para> + Se <application>MPlayer</application> dice che la frequenza fotogrammi passa + a 24000/1001 durante la visione del film e non ritorna come prima, è quasi + sicuramente un qualche contenuto progressivo che è stato modificato in + "soft telecine". +</para></listitem> +<listitem><para> + Se <application>MPlayer</application> dice che la frequenza fotogrammi va + avanti e indietro tra 24000/1001 e 30000/1001 e ogni tanto vedi delle "righe", + allora ci sono varie possibilità. + Le parti a 24000/1001 fps sono quasi certamente contenuto progressivo, in + "soft telecine", ma le parti a 30000/1001 fps possono essere sia contenuto in + "hard telecine" a 24000/1001 fps che video NTSC a 60000/1001 campi al secondo. + Usa le stesse linee guida dei due casi seguenti per determinare quale. +</para></listitem> +<listitem><para> + Se <application>MPlayer</application> non mostra mai una modifica alla + frequenza dei fotogrammi e ogni singolo fotogramma con del movimento appare + "rigato", il tuo filmato è video NTSC a 60000/1001 campi al secondo. +</para></listitem> +<listitem><para> + Se <application>MPlayer</application> non mostra mai una modifica alla + frequenza dei fotogrammi e due fotogrammi ogni cinque sono "rigati", il tuo + film è contenuto a 24000/1001fps in "hard telecine". +</para></listitem> +</itemizedlist> + +<itemizedlist> +<title>Regioni PAL:</title> +<listitem><para> + Se non vedi mai alcuna "riga", il tuo film è pulldown 2:2. +</para></listitem> +<listitem><para> + Se vedi delle "righe" che vanno e vengono ogni mezzo secondo, + allora il tuo film è pulldown 2:2:2:2:2:2:2:2:2:2:2:3. +</para></listitem> +<listitem><para> + Se vedi sempre "righe" durante il movimento, allora il tuo film è video + PAL a 50 campi al secondo. +</para></listitem> +</itemizedlist> + +<note><title>Consiglio:</title> +<para> + <application>MPlayer</application> può rallentare la riproduzione del film + con l'opzione -speed o riprodurlo fotogramma per fotogramma. + Prova ad usare <option>-speed</option> 0.2 per guardare molto lentamente il + film o premi ripetutamente il tasto "<keycap>.</keycap>" per riprodurre un + fotogramma per volta ed identificare la sequenza, se non riesci a vederla a + velocità normale. +</para> +</note> +</sect3> +</sect2> + +<!-- ********** --> + +<sect2 id="menc-feat-dvd-mpeg4-2pass"> +<title>Quantizzatore costante vs. multipassaggio</title> + +<para> +E' possibile codificare il filmato in un'ampia gamma di qualità. +Con i codificatori video moderni e un pelo di compressione pre-codec +(ridimensionando e ripulendo), è possibile raggiungere una qualità molto +buona in 700 MB, per un film di 90-110 minuti in widescreen. +Inoltre tutti i film tranne i più lunghi possono essere codificati con una +qualità pressoché perfetta in 1400 MB. +</para> + +<para> +Ci sono tre approcci per codificare il video: bitrate costante (CBR), +quantizzatore costante, e multipassaggio (ABR, o bitrate medio). +</para> + +<para> +La complessità dei fotogrammi di un filmato, e di conseguenza il numero di +bit necessari per comprimerli, può variare molto da una scena ad un'altra. +I codificatori video moderni possono adattarsi via via a queste necessità +e cambiare il bitrate. +In modalità semplici come CBR, tuttavia, i codificatori non sanno il bitrate +necessario alle scene venture e perciò non possono stare sopra al bitrate +richiesto per lunghi periodi di tempo. +Modalità più avanzate, come la codifica in multipassaggio, possono tener +conto delle statistiche del passo precedente; questo corregge il problema +suddetto. +</para> + +<note><title>Nota:</title> +<para> +La maggior parte dei codec che gestisce la codifica in ABR può usare solo la +codifica a due passaggi mentre altri come +<systemitem class="library">x264</systemitem>, +<systemitem class="library">Xvid</systemitem> e +<systemitem class="library">libavcodec</systemitem> gestiscono il +multipassaggio, che migliora leggermente la qualità ad ogni passo, anche se +tale moglioramento non è più misurabile né visibile veramente oltre il +quarto passo o giù di lì. +Perciò in questa sezione due passaggi e multipassaggio avranno lo stesso +significato. +</para> +</note> + +<para> +In ambedue i modi, il codec video (come +<systemitem class="library">libavcodec</systemitem>) spezza il fotogramma video +in macroblocchi da 16x16 pixel e poi applica un quantizzatore a ciascun +macroblocco. Più basso è il quantizzatore, migliore sarà la qualità e +più alto il bitrate. +Il metodo usato dal codificatore del filmato per determinare quale quantizzatore +utilizzare per un dato macroblocco varia ed è altamente configurabile. +(Questa è una semplificazione estrema del vero processo, ma il concetto di base +è comodo per capire.) +</para> + +<para> +Quando specifichi un bitrate constante, il codec video codificherà il video, +scartando dettagli tanto quanto è necessario e il meno possibile, in modo da +rimanere al di sotto del bitrate voluto. Se non ti interessa davvero la +dimensione del file, potresti anche usare CBR e specificare un bitrate +infinito. (In pratica, questo significa un valore abbastanza alto da non porre +limiti, come 10000Kbit.) Con nessun limite sul bitrate, il risultato è che il +codec userà il quantizzatore più basso possibile per ciascun macroblocco +(come specificato da <option>vqmin</option> per +<systemitem class="library">libavcodec</systemitem>, che è 2 di default). +Appena specifichi un bitrate abbastanza basso tale che il codec venga forzato +ad utilizzare un quantizzatore più alto, allora stai sicuramente diminuendo la +qualità del tuo video. +Per evitarlo, dovresti probabilmente ridurre la dimensione del tuo video, +seguendo il metodo descritto più avanti in questa guida. +In generale dovresti evitare del tutto CBR se ti interessa la qualità. +</para> + +<para> +Con il quantizzatore costante, il codec utilizza lo stesso quantizzatore per +ogni macroblocco, come specificato dall'opzione <option>vqscale</option> (per +<systemitem class="library">libavcodec</systemitem>). +Se vuoi la più alta qualità possibile di rip, sempre ignorantdo il bitrate, +puoi usare <option>vqscale=2</option>. +Ciò porterà gli stessi bitrate e PSNR (peak signal-to-noise ratio) come CBR +con <option>vbitrate</option>=infinito e <option>vqmin</option> di default a 2. +</para> + +<para> +Il problema con la quantizzazione costante è che usa il quantizzatore indicato +sia che il macroblocco ne abbia bisogno o no. Perciò è possibile che venga +usato un quantizzatore più alto su un macroblocco senza sacrificare la +qualità visiva. Perché sprecare i bit di un quantizzatore basso che non +serve? La tua CPU ha tanti cicli fin quando c'è tempo, ma c'è solo un certo +numero di bit sul tuo disco rigido. +</para> + +<para> +Con una codifica a due passi, il primo codificherà il filmato come se fosse +CBR, ma manterrà una registrazione delle caratteristiche di ogni fotogramma. +Questi dati sono poi utilizzati durante il secondo passo in modo da effettuare +scelte intelligenti su quale quantizzatore usare. Durante le scene con azione +veloce o molti dettagliate, verrano usati più probabilmente quantizzatori più +alti, e durante scene lente o con pochi dettagli, verranno usati quantizzatori +più bassi. Solitamente è molto più importante la quantità di movimento +che la quantità di dettagli. +</para> + +<para> +Se usi <option>vqscale=2</option>, allora stai sprecando dei bit. Se usi +<option>vqscale=3</option>, allora non stai ottenendo la miglior qualità. +Supponi di rippare un DVD a <option>vqscale=3</option> e che il risultato sia +1800Kbit. Se fai una codifica a due passi con <option>vbitrate=1800</option> il +video risultante avrà una <emphasis role="bold">qualità superiore</emphasis> +a <emphasis role="bold">parità di bitrate</emphasis>. +</para> + +<para> +Dato che ora sei convinto che i due passaggi siano la strada da percorrere, la +vera domanda adesso è quale bitrate usare? La risposta à che non c'è una +risposta definitiva. Idealmente vuoi scegliere un bitrate che porti al miglior +equilibrio tra qualità e dimensione del file. Tutto ciò varia in dipendenza +del video di origine. +</para> + +<para> +Se la dimensione non è importante, un buon punto di partenza per un rip di +qualità molto elevata è intorno a 2000Kbit più o meno 200Kbit. +Per video con scene di azione veloce o con molti dettagli, oppure se +semplicemente hai l'occhio critico, potresti scegliere 2400 o 2600. +Per alcuni DVD potresti non notare alcuna differenza a 1400Kbit. Sperimentare +con alcune scene a vari bitrate è una buona idea per farsi un'opinione. +</para> + +<para> +Se punti a una data dimensione, dovrai calcolare il bitrate in un qualche modo. +Prima di farlo, però, devi sapere quanto spazio devi riservare per la traccia +(le tracce) audio, per cui devi dapprima fare il +<link linkend="menc-feat-dvd-mpeg4-audio">rip di queste</link>. +Puoi calcolare il bitrate con l'equazione che segue: +<systemitem>bitrate = (dimensione_voluta_in_Mbytes - dimensione_audio_in_Mbytes) +* 1024 * 1024 / lunghezza_in_secondi * 8 / 1000</systemitem> +Per esempio, per far stare un film di due ore su un CD da 702MB, con 60MB di +traccia audio, il bitrate video diventerà: +<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 += 740kbps</systemitem> +</para> +</sect2> + +<!-- ********** --> + +<sect2 id="menc-feat-dvd-mpeg4-constraints"> +<title>Vincoli per una codifica efficiente</title> + +<para> +A causa della natura del tipo di compressione MPEG, ci sono alcuni vincoli da +seguire per avere la massima qualità. +L'MPEG divide il video in quadrati da 16x16 chiamati macroblocchi, ciascuno di +essi composto da blocchi 4x4 con informazioni sulla luminanza (intensità) e +due blocchi da 8x8 a metà risoluzione per la crominanza (colore) (uno per +l'asse rosso-ciano e l'altro per l'asse blu-giallo). +Anche se la larghezza e l'altezza del tuo filmato non sono multipli di 16 il +codificatore userà tanti macroblocchi 16x16 in modo da coprire tutta la +superficie dell'immagine, e lo spazio in esubero sarà sprecato. +Indi, per migliorare la qualità a una dimensione prefissata è una brutta +idea utilizzare dimensioni che non siano multiple di 16. +</para> + +<para> +La maggior parte dei DVD ha anche alcune con bordi neri sui lati. Lasciarli lì +avrà un'influenza <emphasis role="bold">molto</emphasis> negativa sulla +qualità in svariati modi. +</para> + +<orderedlist> +<listitem> + <para> + Il tipo di compressione MPEG è pesantemente dipendente dalle trasformazioni + di dominio frequenti, in particolare la "trasformazione discreta del coseno" + (Discrete Cosine Transform (DCT)), che xxièe' simile alla trasformazione di + Fourier. Quest'approccio di codifica è efficiente nella rappresentazione di + motivi e transizioni delicate, ma trova difficoltà con spigoli più + definiti. Per codificarli deve usare molti più bit oppure apparirà un + artefatto conosciuto come 'ringing'. + </para> + + <para> + La trasformazione di frequenza (DCT) prende luogo separatemente in ogni + macroblocco (praticamente in ogni blocco) perciò questo problema si applica + solo quando lo spigolo definito è dentro a un blocco. Se il bordo nero inizia + esattamente sul lato di un multiplo di 16, questo non e' un problema. + Tuttavia i bordi neri sui DVD difficilmente sono ben allineati, perciò + nella realtà dovrai sempre tagliarli via per evitare questi problemi. + </para> +</listitem> +</orderedlist> + +<para> +Oltre alle trasformazioni del dominio di frequenza, il tipo di compressione +MPEG usa dei vettori di movimento per rappresetare le variazioni da un +fotogramma al successivo. Naturalmente i vettori di movimento funzionano molto +meno bene per i nuovi contenuti che arrivano dai bordi dell'immagine, dato che +non erano presenti nel fotogramma precedente. Fintanto che l'immagine arriva +fino al bordo dell'area codificata, i vettori di movimento non incontrano +alcun problema con li contenuto che esce dall'immagine. Tuttavia ci possono +esser problemi quando ci sono dei bordi neri: +</para> + +<orderedlist continuation="continues"> +<listitem> + <para> + Per ogni macroblocco il tipo di compressione MPEG memorizza un vettore, che + identifica quale parte del fotogramma precedente debba essere copiata nel + macroblocco stesso, come base per predire il fotogramma successivo. Serve + codificare solo le differenze restanti. Se un macroblocco oltrepassa il + bordo dell'immagine e contiene parte del bordo nero, allora i vettori di + movimento provenienti da altre zone dell'immagine ricopriranno il bordo + nero. Questo significa che si devono utilizzare molti bit o per riannerire il + bordo che è stato ricoperto, oppure (più verosimilmente) un vettore di + movimento non sarà proprio usato e tutti i cambiamenti in questo + macroblocco dovranno venir esplicitamente codificate. In un modo o nell'altro + si ricuce di gran lunga l'efficienza della codifica. + </para> + + <para> + Inoltre questo problema si applica solo se i bordi neri non sono allinati + su limiti di multipli di 16. + </para> +</listitem> + +<listitem> + <para> + Immagina infine di avere un macroblocco all'interno dell'immagine, ed un + oggetto che passa da questo blocco verso il bordo dell'immagine. La + codifica MPEG non può dire "copia la parte che è dentro all'immagine, ma + non il bordo nero". Perciò anche il bordo nero vi verrà copiato + all'interno, e molti bit saranno sprecati codificando l'immagine che si + suppone stia lì. + </para> + + <para> + Se l'immagine arriva al limite della superficie codificata, l'MPEG ha una + particolare ottimizzazione che consta nel copiare ripetutamente i pixel sul + bordo dell'immagine quando un vettore di movimento arriva dall'esterno della + superficie codificata. Questa funzionalità diventa inutile quando il film + ha dei bordi neri. Diversamente dai problemi 1 e 2, allineare i bordi a + multipli di 16 in questo caso non aiuta. + </para> +</listitem> + +<listitem><para> + A dispetto del fatto che i bordi siano completamente neri e non cambino mai, + c'è perlomeno un piccolo spreco nell'avere più macroblocchi. +</para></listitem> +</orderedlist> + +<para> +Per tutte queste ragioni si consiglia di tagliar via completamente i bordi neri. +Inoltre, se c'è una zona di rumore/distorsione sui bordi dell'immagine, +tagliarla migliorerà ancora l'efficienza di codifica. I puristi videofili che +vogliono mantenere il più possibile l'originale potrebbero obiettare su questo +taglio, ma a meno di non codificare a una quantizzazione costante, la qualità +guadagnata tagliando sorpasserà di gran lunga la quantità di informazioni +perse sui bordi. +</para> +</sect2> + +<!-- ********** --> + +<sect2 id="menc-feat-dvd-mpeg4-crop"> +<title>Tagliare e Ridimensionare</title> + +<para> +Ricorda dalla sezione precedente che la dimensione finale dell'immagine che +codifichi dovrebbe essere un multiplo di 16 (sia in larghezza che altezza). +Si può ottenere ciò tagliando, ridimensionando o combinando le due cose. +</para> + +<para> +Quando tagli, ci sono alcune linee guida che si devono seguire per evitare di +rovinare il tuo filmato. +Il formato YUV abituale, 4:2:0, memorizza le informazioni sulla crominanza +(colore) sottocampionate, per es. la crominanza viene campionata in ogni +direzione solo la metà di quanto venga la luminanza (intensità). +Osserva questo diagramma, dove L indica i punti di campionamente della +luminanza e C quelli della crominanza. +</para> + +<informaltable> +<?dbhtml table-width="40%" ?> +<?dbfo table-width="40%" ?> +<tgroup cols="8" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> + <tbody> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + </tbody> +</tgroup> +</informaltable> + +<para> +Come puoi vedere, le righe e le colonne dell'immagine vengono sempre a coppie. +Quindi i tuoi valori di spostamento e dimensione <emphasis>devono</emphasis> +essere numeri pari. +Se non lo sono la crominanza non sarà più allineata correttamente con la +luminanza. +In teoria è possibile tagliare con uno spostamento dispari, ma richiede che la +crominanza venga ricampionata, il che potenzialmente è un'operazione in perdita +e non è gestita dal filtro crop. +</para> + +<para> +Inoltre, il video interlacciato viene campionato come segue: +</para> + +<informaltable> +<?dbhtml table-width="80%" ?> +<?dbfo table-width="80%" ?> +<tgroup cols="16" align="center"> +<colspec colnum="1" colname="col1"/> +<colspec colnum="2" colname="col2"/> +<colspec colnum="3" colname="col3"/> +<colspec colnum="4" colname="col4"/> +<colspec colnum="5" colname="col5"/> +<colspec colnum="6" colname="col6"/> +<colspec colnum="7" colname="col7"/> +<colspec colnum="8" colname="col8"/> +<colspec colnum="9" colname="col9"/> +<colspec colnum="10" colname="col10"/> +<colspec colnum="11" colname="col11"/> +<colspec colnum="12" colname="col12"/> +<colspec colnum="13" colname="col13"/> +<colspec colnum="14" colname="col14"/> +<colspec colnum="15" colname="col15"/> +<colspec colnum="16" colname="col16"/> +<spanspec spanname="spa1-2" namest="col1" nameend="col2"/> +<spanspec spanname="spa3-4" namest="col3" nameend="col4"/> +<spanspec spanname="spa5-6" namest="col5" nameend="col6"/> +<spanspec spanname="spa7-8" namest="col7" nameend="col8"/> +<spanspec spanname="spa9-10" namest="col9" nameend="col10"/> +<spanspec spanname="spa11-12" namest="col11" nameend="col12"/> +<spanspec spanname="spa13-14" namest="col13" nameend="col14"/> +<spanspec spanname="spa15-16" namest="col15" nameend="col16"/> + <tbody> + <row> + <entry namest="col1" nameend="col8">Campo superiore</entry> + <entry namest="col9" nameend="col16">Campo inferiore</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry spanname="spa9-10">C</entry> + <entry spanname="spa11-12">C</entry> + <entry spanname="spa13-14">C</entry> + <entry spanname="spa15-16">C</entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry spanname="spa1-2">C</entry> + <entry spanname="spa3-4">C</entry> + <entry spanname="spa5-6">C</entry> + <entry spanname="spa7-8">C</entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry></entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + </row> + <row> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> + <entry>L</entry> |