Il video nel formato Pal: interallacciamento e video digitale.
Il video progressivo: i diversi formati, le elaborazioni, la visualizzazione con i DVD progressive scan e i DVD player software


Vorrei affrontare in questa pagina alcune questioni relative al legame che intercorre tra segnale televisivo PAL e i video in formato digitale: in particolare cercare di capire come è realizzato l'interallacciamento e come questo condizioni la digitalizzazione e la conversione . 
Nella seconda parte dell'articolo sarà analizzato il segnale progressive scan e come è possibile ricavare video progressivo dai DVD o dalle sorgenti interallacciate.

La sezione che tratta il video progressivo è quella il cui indice è in arancio.


Storia
625 righe

Banda di circa 5 MHZ .....e pixel nella digitalizzazione

50 semiquadri interallacciati (o campi o field) al secondo

VHS contenente video PAL di provenienza televisiva

VHS contenente video PAL di provenienza telecine
  
Segnale progressive scan e video progressivo: i diversi formati   
 I contenuti video nei DVD: l'ordine delle righe nel frame 720*576 o 720*480  
 Elaborazioni possibili: deinterallacciamento, duplicazione di linee  
Duplicatori e quadruplicatori di linea 
Visualizzazione di DVD sul monitor del PC tramite player SW: BOB e Weave 


Storia

 

Quando è stata inventata la televisione, il concetto di digitalizzazione e di video digitale (video numerico) erano fantasie di qualche ricercatore o scrittore di fantascienza. Le prime stazioni televisive, hanno iniziato a trasmettere nel 1935, in un formato che non ha nulla a che fare con quello che conosciamo: voglio citare solo la stazione tedesca di Berlino- Witzleben e la stazione francese della torre Eiffel, che nel 35 trasmettevano quella che era chiamata cinetelevisione, 180 righe , 25 fotogrammi al secondo ovviamente in B/N .

Seguono trasmissioni sperimentali in tutto il mondo, (la prima nel 39 in Italia, ad opera della RAI, allora EIAR), ciascuna con un formato diverso e incompatibile con gli altri...... corsi e ricorsi storici !!!!

La ricerca di un accordo, vede in Europa l'intermediazione del CCIR (comitato consultivo internazionale delle radiocomunicazioni) che tra il 1949 e il 1952 cerca di mettere d'accordo i diversi paesi europei per creare un unico standard europeo: diversamente dall'intermediazione del 1995 dell'IBM che tra i formati contendenti SD e MMCD, fa nascere il DVD (....e poi ci lamentiamo....), il CCIR non riesce nel suo intento di unificazione ma crea due standard: il sistema PAL (dall'inglese phase alternation line) proposto dai tedeschi e il sistema SECAM (Sequentiel a memorie) proposto dai francesi. Gli, americani, molto più furbi di noi utilizzano invece un solo standard , il NTSC (National Television System Committee) ufficializzato nel 1953.

Concludo queste brevi note ricordando come il 26-1-1952 un decreto presidenziale assegnava alla RAI la concessione esclusiva in Italia, mentre il 3-4-1952 un altro decreto sanzionava sanzionava per l'Italia l'adozione del sistema PAL. Il 1-1-1954 la RAI inaugura il suo servizio (con solo 42 ripetitori in tutta Italia), mentre il 4-11-1961 nasce la "seconda rete", con una copertura del 98% del territorio Italiano. Il resto è storia più o meno recente.

Il segnale televisivo ha pertanto una origine analogica ed è in tali termini che dobbiamo analizzarlo: la digitalizzazione., che trasforma tale segnale analogico in numeri e pixel la si realizza considerando le caratteristiche e i limiti del segnale analogico.

Il segnale PAL  è caratterizzato da 625 righe, 50 semiquadri interallacciati (o campi o field) al secondo, 25 frame al secondo, ed  ha banda di circa 5 MHZ . Da notare che parlando di segnale analogico non ho parlato di pixel ne in termini di risoluzione orizzontale ne verticale, ma di banda e numero di righe.

Analizziamo brevemente tali caratteristiche (ovviamente per maggiori approfondimenti occorre consultare un buon testo di radiotecnica e telecomunicazioni).

625 righe

Il segnale analogico PAL, lo si deve identificare con una forma d'onda (normalmente una variazione di tensione nel tempo), che circola ad esempio all'interno di un cavo , onda che viene poi trasformata in onda elettromagnetica quando viene trasmessa via etere.

Tale onda, che ha una sua particolare forma, è divisa in 625 pezzetti, che sono facilmente identificabili e quindi si possono contare grazie ad una serie di impulsini che ne segnano l'inizio e la fine . Ciascun di questi 625 pezzettini di onda ( della durata di 64 microsecondi), contiene delle informazioni ed in particolare 576 pezzetti contengono l'informazione di una riga del nostro televisore, un paio contengono dei segnali di test, altrettante le informazioni del televideo, ed altre tutti quei sincronismi che permettono al televisore di sapere dove disegnare quella riga. 

Per quello che ci interessa, delle 625 righe del segnale Pal solo 576 contengono video : quello che dobbiamo capire è come queste righe sono organizzate e che informazione video contengono.

Banda di circa 5 MHZ .....e pixel nella digitalizzazione 

Senza entrare troppo nei dettagli, per definire che informazione è contenuta in una riga occorre parlare di Banda.

In pratica, una riga video analogica , che come visto è un pezzettino di onda , potrebbe potenzialmente contenere una informazione elevatissima, dove per informazione video si intende il numero di punti ad esempio bianchi e neri che posso distinguere su una riga: è evidente che se in tale riga riesco a infilare 1000 punti bianco e nero distinti (500 bianchi e 500 neri alternati), ho una informazione, in termini di risoluzione molto maggiore che nel caso in cui riuscissi a inserire 200 punti (100 e 100).

  1. E' evidente come la riga superiore ha una  maggiore informazione contenendo più  alternanze bianco/nere distinte.

 

 

 

L'insieme del max numero di punti distinti che posso inserire in ogni riga  e il numero di righe (576 nel Pal) definiscono la risoluzione del segnale analogico: maggiore risoluzione = maggiore capacità di distinguere dettagli in una immagine. 

Considerando il teorema del campionamento di Shannon e facendo un pò di conti  IN TEORIA un segnale TV Pal al massimo della qualità (banda 5 Mhz) può permettere su di una riga 384 alternanze bianco/nere distinte .

Vediamo cosa succede nel momento in cui con un convertitore analogico/digitale digitalizziamo tale riga ( quello che fanno le diverse schede digitalizzatrici). Quando digitalizzo tale riga devo prima di tutto decidere in quanti punti voglio memorizzare: da qui le tipiche scelte 352*xxx, 704*xxx, 720*xxx, 768*xxx.

Per quanto appena detto (384 alternanze biano/nere distinte) 768 è il numero di campioni (pixel) che riescono a descrivere senza alcuna perdita di qualità un segnale analogico Pal alla massima qualità (banda 5 Mhz).

Significa che se prendo una riga di segnale Pal , la digitalizzo tramite convertitore analogico/digitale (A/D) trasformandola in 768 pixel e poi da questi 768 tramite un convertitore digitale/analogico (D/A)  ricavo una nuova riga analogica (che ad esempio visualizzo sul TV), questa è esattamente uguale alla riga originaria (almeno in teoria visto che è impossibile fare operazioni del genere senza errori e pertanto introduzione di rumore) .
Significa inoltre che se uso la stesso procedimento con es. 900 punti, riottengo sempre una riga identica alla prima, ma ho semplicemente sprecato preziosi bit.
Al contrario se uso es 500 pixel, la riga che ho ottenuto NON sarà uguale alla originaria, ma avrà meno dettagli (alte frequenze video): dal punto di vista visivo avrei una riga più sfocata. 

Ecco come apparirebbe una ipotetica riga con alternanze bianco-nera, nel momento in cui eseguo il procedimento di doppia conversione (A/D e D/A) digitalizzando con un numero di pixel sempre minore. 

 

riga visibile dopo il doppio processo di conversione A/D a D/A

 n. di punti per riga con cui digitalizzo 

 

768  pixel 
600  pixel
500  pixel
400  pixel
300  pixel

 


Tralasciando il discorso di come sono organizzate le 576 righe, (lo vedremo dopo), 768*576  25 frame/sec sono il numero di pixel che descrivono, senza perdita di qualità un segnale PAL di 5 Mhz. (Si deve fare lo stesso discorso di prima ma per ciascuna delle  576 righe). E' evidente, per quanto visto,  il motivo che spinge nel caso sistemi video professionali in cui si lavora in digitale non compresso (è il caso di elaborazioni o semplice memorizzazione di video)  all'uso di digitalizzazioni 768*576 25 frame al secondo. 

E' evidente che ad esempio nel caso  visto peggiore ( 300 pixel di digitalizzazione) se digitalizzo nuovamente la riga, i 768 pixel sono eccessivi e sempre in teoria se volessi riottenere la riga, basterebbe digitalizzare con risoluzione di 300 pixel per riga (300*576 25 fps) 

Senza approfondire la cosa, occorre dire che ciascun pixel deve essere rappresentato da un numero a 24 bit (3 byte), per descrivere un segnale a colori. (numero a 24bit = numero compreso tra 0 e 16 777 199): in realtà la gestione del colore, nata dall'esigenza di mantenere la retro-compatibilità con il sistema B/N, fa si che occorrono molti meno bit per gestire il colore (per l'esattezza il formato Pal prevede il sottocampionamento dei colori di tipo 4:2:2 che permette la memorizzazione di 4 pixel, con 8 byte invece che 12, con un risparmio netto del 33%). 

In realtà un segnale video, nella pratica non contiene mai informazione così elevata (dattagli, colori, ....) da richiedere per ogni riga 768 punti. Non a caso gran parte dei televisori utilizzano meno che 768*576 triadi di pixel.

Per esempio 720 o 702 punti bastano e avanzano per rappresentare la singola riga PAL di un video di qualità: non a caso la 720*576 e la 702*576 sono i pixel usati nei DVD per descrivere il video (anche se poi nel DVD si sommano gli artefatti dovuti alla compressione, diversamente dai casi che stiamo analizzando e che sono riferiti a video non compresso).
Se invece di un segnale PAL di qualità, si parte da un segnale memorizzato su una videocassetta (VHS), si vede che anche i 720 sono eccessivi , ma che ne bastano 352 (in realtà per la gran parte di VHS che si trovano in giro ne bastano 300-320, il resto è solo rumore video): in pratica se voglio digitalizzare una videocassetta senza perdita di qualità dovrei utilizzare 352*576 punti. Analizzeremo dopo poi cosa succede se utilizzo ad esempio una digitalizzazione 352*288 di un segnale tv su VHS.

Quindi se prendo un segnale Pal che contiene una riga come quella a destra
e memorizzo tale riga (insieme a tutte le altre, ovviamente) su una cassetta VHS, avrò un qualcosa simile a

Non ha molto senso digitalizzare tale riga con 768 punti per riga, ma basteranno ad esempio 352 punti per riga, senza il rischio di perdere informazioni video ( digitalizzerò male il rumore, ma chi se ne importa !!!). 

Nella pratica occorre comunque considerare altri fattori che condizionano i risultati di una digitalizzazione di un segnale analogico : caratteristiche dei convertitori (capacità di non commettere errori ), caratteristiche del mezzo trasmissivo (rumore e caratteristiche dei cavi e/o dell'etere) e dei connettori, e ovviamente la qualità del segnale analogico.
Una digitalizzazione fatta da un cattivo convertitore a 768 punti è decisamente  inferiore di quella a 702 punti di un ottimo convertitore a parità di segnale video: ovvio.
Ciò non significa che la 768 è sprecata ma semplicemente che 720 punti o 702 BASTANO e AVANZANO, SEMPRE CHE PROVENGONO DA UNA DIGITALIZZAZIONE DI ALTA QUALITA': ad esempio  i 720 pixel del DVD a volte derivano  da righe descritte con digitalizzazioni non compresse di 900- 1100 pixel per riga. 

Se si digitalizza un segnale Pal proveniente da videocamera DV, che per standard ha una risoluzione di 720*576 compresso, bastano ovviamente i 720*576 pixel: sono liberissimo di digitalizzare a 768*576, ma non guadagnerei nulla in qualità. In realtà oggi nel caso di video DV si evita di digitalizzare il segnale Pal prodotto, ma tale operazione è fatta direttamente in numerico tramite la presa digital out della telecamera: si evita così il normale deterioramento dovuto alle varie fonti di rumore sia presenti nel segnale Pal sia creati dai convertitori A/D.


50 semiquadri interallacciati (o campi o field) al secondo

Per capire bene come funziona il video interallacciato, partiamo analizzando il funzionamento di una cinepresa tradizionale su pellicola (che non ha nulla a che vedere con il video Pal), quella ad esempio usata per creare i film che vediamo al cinema.

Riguardo ai termini usati, fotogramma ,frame o quadro sono la stessa cosa così come campo, field o semiquadro: per essere corretti occorrerebbe usare un termine o l'altro a secondo del contesto, ma spesso impropriamente si preferisce confondere i termini: quindi ad esempio se uso frame o quadro indico la stessa cosa, ma non posso confondere frame con semiquadro, che sono cose ben diverse (vedi dopo). 

Voglio osservare come nelle considerazioni che seguono, considererò delle immagini che INDIPENDENTEMENTE dalla loro risoluzione ( n. di pixel orizzontali e verticali) sono ridimensionate nelle giuste proporzioni: è quello che in presenza di video digitale devono fare i player (sw o hw) tramite ridimensionamento . In pratica indipendentemente dal fatto che utilizzo video digitale 352*288, 352*576, 480*576, 704*576, 720*576, 768*576........ i player che utilizzano tale video lo devono ridimensionare secondo il rapporto 1 : 1.33 del video Pal. A secondo del contesto poi tali pixel saranno trasformati in segnale PAL da inviare ad un televisore tramite cavo video, o saranno interpolati in pixel (es 800*600) per essere visualizzati sul monitor del pc,... o altro.

Si parla ovviamente di rapporto larghezza-altezza 1 : 1.33 e non di misure assolute in pixel o cm, poichè queste dipendono dalla dimensione del video: uno stesso video sarà rappresentato per esempio con un videoproiettore tritubo su un maxischermo con dimensioni 2.66 X 2 metri o su un mini schermo LCD 26X20 centimetri; il rapporto larghezza-altezza deve rimanere sempre 1 : 1.33 e questo indipendentemente dal numero di pixel con cui è realizzato il minischermo LCD  (320*240 o 640*480 o 800*600....) e dalla risoluzione del tritubo !!

Ritorniamo al funzionamento delle cineprese. Il principio è banale: per avere l'idea del movimento il cinema utilizza 24 frame/sec (24fps) in questa maniera; all'istante 0 un otturatore apre l'obbiettivo per un certo tempo, la luce incide su di un fotogramma di una pellicola che viene impressa: 41.66 millesimi di secondo dopo (1/24= 0.04166.) si avanza la pellicola di un fotogramma che sempre grazie all'apertura dell'obbiettivo viene impresso. Si procede cosi per gli altri fotogrammi. In visualizzazione vale il procedimento noto. Il supporto, la pellicola, contiene pertanto 24 frame (fotogrammi, quadri) per ogni secondo.

Se volessi costruire un procedimento analogo in cui al posto di una cinepresa utilizzo una telecamera e al posto della pellicola un segnale televisivo (che ricordo è una onda di tensione che passa attraverso un conduttore elettrico e che posso memorizzare ad esempio su nastro) come risultato NON OTTERREI IL SEGNALE PAL come viene oggi usato, ma un segnale video progressivo che analizzerò in seguito.

La differenza sta nel fatto che il sistema PAL  utilizza 25 frame/sec organizzati in maniera interallacciata tramite una successione di 50 campi (field, semiquadri) al secondo.

In pratica (anche se non sono rigorosissimo) funziona così:

-istante 0: la telecamera fissa una certa immagine avente 576 righe, delle quali invia come segnale tv le righe pari 0,2,4,6,....574 (le altre righe sono ignorate e pertanto le informazioni video sono irrimediabilmente perse)

- istante 20 ms (millisecondi)  (1/50=0.02 sec = 20 ms): a telecamera fissa un'altra immagine avente 576 righe, delle quali invia come segnale tv le righe dispari 1,3,5,7,....575

-istante 40 ms: la telecamera fissa un'altra immagine avente 576 righe, delle quali invia come segnale tv le righe pari 0,2,4,6,....574 (le altre righe sono ignorate)

-istante 60 ms .............. dispari

-istante 80 ms .............. pari

Dopo 1000 ms = 1 sec ho inviato 50 semiquadri.

Il segnale Pal, che trasmette sotto forma di onda 625 righe, è stato formalizzato definendo l'ordine con cui inviare le 625 righe: senza entrare nei dettagli, si inviano prima dei segnali di test, poi dei segnali di sincronismo  che indicano l'inizio di un nuovo campo, poi le linee del televideo e in successione le righe pari  0,2,4,6......574 (il primo semiquadro), nuovo sincronismo, le righe dispari 1,3,5,....575 (il secondo semiquadro) e così di seguito. 

In fase di visualizzazione il televisore  riceve le  576 righe di segnale video e le disegna nello stesso ordine con cui sono state trasmesse: vengono disegnate le righe pari (primo semiquadro) e poi le dispari (secondo semiquadro) nell'ordine rappresentato in figura 0,2,4,...574,1,3,5,...575 .

 

Un quadro televisivo è l'immagine che ho sul televisore formato dalle 576 righe attive ( che contengono cioè immagini).
Il cambiamento totale delle 576 righe lo si ha ogni 40 ms ( 0, 40, 80 ms): si parla pertanto di visualizzazione a 25 frame/s (1 sec /25 = 40 ms).
Ogni 20 ms cambiano solo la metà delle 576 righe (le 288 pari o dispari ) e le altre vengono lasciate immutate; si parla pertanto di visualizzazione a 50 semiquadri al secondo ( 1 sec /50 = 20 ms ).

Riassumendo: per formare un quadro devo aspettare l'arrivo di due semiquadri e pertanto ho 25 quadri/sec che li posso interpretare come 50 semiquadri/sec.

Ecco una tabella che riassume visivamente come una serie di immagini ( i 5 colori ) riprese da una telecamera o videocamera vengono  trasmesse tramite il segnale PAL e visualizzate su di un normale TV.

Ovviamente nella realtà immagini successive a distanza di 20 ms non sono mai completamente diverse come in figura: per questo motivo le discontinuità presenti sul TV non sono mai così evidenti come nello schema; in tutti i casi il rapido susseguirsi di righe pari e dispari, grazie al " filtraggio passa basso " del nostro occhio ci dà negli oggetti in movimento l'impressione di un moto fluido, nonostante l'immagine sia campionata a 50 semiquadri/s e non in continuo movimento come nella realtà. 

immagine

1

 2 3 5
tempo

0 ms

 20 ms 40 ms 60 ms 80 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
segnale televisivo PAL: ogni 20 ms è inviato un
 semiquadro (312 righe)alternativamente pari
 o dispari: il bianco indica la mancanza di segnale
ciò che è visualizzato sul televisore 
(prima dell'istante 0 il tv visualizza 
lo schermo nero) 
note
il segnale PAL invia le righe pari dell'immag.1 il segnale PAL invia le righe dispari dell'immag.2; il TV visualizza le righe pari dell'immag.1 e le dispari della 2 il segnale PAL invia le righe pari dell'immag.3; il TV visualizza le righe pari dell'immag.3 e le dispari della 2 il segnale PAL invia le righe dispari dell'immag.4; il TV visualizza le righe pari dell'immag.3 e le dispari della 4 il segnale PAL invia le righe pari dell'immag.5; il TV visualizza le righe pari dell'immag.5 e le dispari della 4

Occorre osservare come il metodo dell'interallaccio dimezza la risoluzione delle immagini poiché ad esempio nell'istante 0 la parte dell'immagine corrispondente alle righe dispari è persa: nella pratica poiché tutto ciò che sino ai  20 ms successivi non si è mosso viene poi trasmesso (le righe dispari, nell'esempio,  sono trasmesse nell'istante 20 ms) la risoluzione di ciò che è fermo rimane pari a 576 righe.
Per ovviare alla perdita di risoluzione si ricorre al video progressivo; l'utilizzo di un segnale progressive scan e la visione tramite  Tv o proiettori in grado di visualizzare video progressivo: di questo ne parleremo dopo..

Per

In base ai discorsi visti posso parlare di 50 campi 768*352 o 25 frame 768*576, nei termini di segnale digitalizzato.

Il risultato di questo "metodo diabolico" è che in ciascuna di queste ipotetiche 25 fotografie al secondo del nostro televisore, le righe pari e le righe dispari provengono da istanti distanziati di 20 ms. Nell'esempio visto se faccio una foto al televisore poco prima dell'istante 40ms   ho sulle righe pari del televisione una immagine della ripresa immortalata nell'istante 0, mentre le righe dispari sono riferite ad una immagine immortalata nell'istante 20 ms.

Le conseguenze sono quelle note: tutti gli oggetti che tra gli istanti 0 e 20 ms si sono mossi, lasciano sulle righe pari la loro immagine dell'istante 0 e su quelle dispari la loro immagine dell'istante 20ms: l'effetto è una discontinuità dei contorni, tanto maggiore quanto maggiore il loro movimento.Tale discontinuità è spesso detta in inglese "venetian-blinds effects" (effetto persiana a saracinesca)
Ovviamente gli oggetti fermi rimangono nella stessa posizione e non lasciano nessuna discontinuità.

Chiaramente quando parlo di oggetti in movimento parlo di velocità relativa tra l'oggetto e la telecamera: se l'oggetto è fermo ma si muove la telecamera ho sempre un movimento analogamente al caso di telecamera ferma e oggetto in movimento.

Ecco l'esempio di un oggetto che ruota in senso orario e si sposta leggermente a destra, ripreso da una telecamera  

tempo

0 ms 

 20 ms
immagini reali
linee video utilizzate  
linee pari
 
linee dispari
frame interallacciato
ottenuto

 

Ecco un tipico frame PAL reale di 768*576 righe che contiene al suo interno due semiquadri 768*576  provenienti da istanti separati da 20 ms. A destra un ingrandimento.

E' evidente che il nostro comandante della Voyager si sta movendo e che i due campi descrivono la sua posizione in due istanti successivi: visibilissimo l'effetto discontinuità delle zone in movimento ("venetian-blinds effects"). Tutto il rumore che vedete nelle foto deriva in parte all'origine del video (vhs) e in parte dalla compressione jpeg delle immagini.

 

Cercherò adesso di rispondere ad una domanda spesso formulata quando si parla di digitalizzazone: che risoluzione devo usare quando voglio digitalizzare video di provenienza VHS, 352*576 25fps o 352*288 25 fps (il formato XVCD)?

La risposta è semplice: se non voglio perdere informazione video devo digitalizzare con la 352*576 25fps nel caso di video PAL di provenienza televisiva e comprimere possibilmente in mpeg2 codec che gestisce in maniera ottimale il video interallacciato ( MiniDVD, DVD o SVCD): bastano i 352*288 25fps nel caso di video PAL di origine telecine: in tal caso posso comprimere con un qualsiasi codec anche se incapace di gestire il video interallacciato (Divx;-), mpeg1 , mpeg2 . )

Prima di analizzare i due casi  ricordo, come è ovvio, che nel caso di digitalizzazione di video memorizzato in un formato di qualità ( DV, miniDV, Betacam,...) per non perdere di qualità occorre digitalizzare in uno dei classici formati full PAL; 768*576, 720*576, 704*576.

 

VHS contenente video PAL di provenienza televisiva

Per video PAL di provenienza televisiva intendo tutti i casi di video la cui origine è una telecamera: in TV telegiornali, spettacoli registrati in studi televisivi,  concerti, telefilm  non registrati su pellicola, documentari non registrati su pellicola,.... e tutto il materiale realizzato con delle videocamere + o - amatoriali. 

Quando si digitalizza tale materiale registrato su VHS, ho normalmente risoluzioni del tipo XXX*576 o XXX*288, dove XXX è la risoluzione orizzontale che per quanto visto la si deve scegliere in base alla qualità di dettagli che voglio mantenere, e che è condizionata dalla qualità e pertanto dalla provenienza del video: eccedere per video non di qualità non ha senso.

Ovviamente nel caso di originali di qualità ( vedi il formato DV , miniDV o il classico Betacam) come già detto occorre digitalizzare 704*576, 720*576 o addirittura 768*576.

Al contrario per il VHS 352 punti orizzontali  vanno bene . Rimangono pertanto le due possibilità: 352*576 o 352*288.

Se digitalizzo 352*288 25fps , le schede digitalizzatrici non fanno altro che ignorare i campi pari (o dispari): nel caso in cui il video deriva da una telecamera, per quello che ho detto perdo tutta l'informazione presente negli istanti  20,60,100ms,.... mentre mantengo tutto ciò che è stato ripreso e registrato negli istanti 0, 40, 80,120 ms.....

Nel caso del nostro comandante della Voyager, del frame originario la scheda digitalizzatrice copia solo le 288 righe ad esempio pari e per ogni riga riga ottiene 352 punti. 

Frame Pal originario con 576 righe: 288 campi pari e 288 dispari

immagine digitalizzata 352*288 

Visivamente la differenza nella eliminazione dei campi ad esempio pari , non sta tanto nella diminuita risoluzione quanto nel fatto che l'immagine nelle scene dinamiche è meno fluida  poichè è ignorata una immagine su 2: è il tipico effetto di "video a scatti" che si ha nei film al cinema, visibilissimo ad esempio nelle carrellate della cinepresa.

Una possibile soluzione nel caso in cui si parte da video vhs di provenienza televisiva è quella di digitalizzare 352*576 e ricavare la 352*288 , utile ad esempio nel caso di conversione in mpeg1 XVCD o DivX;-) 352*288 o 384*288. Per far ciò occorre fare prima un deinterallacciamento ad esempio di tipo blend sul frame 352*576  e poi interpolazione alla risoluzione 352*288; i filtri di deinterallacciamento di tipo blend e quelli generici di interpolazione sono presenti in software quali  virtual dub, in premiere e all'interno dell'encoder tmpeg.

Il deinterallacciamento di tipo  blend è un tipo di filtraggio che cerca di trasformare video interallacciato in progressivo eliminando le tipiche discontinuità dovute all'interallacciamento e cercando di simulare l'effetto prodotto dall'oggetto in movimento al nostro occhio

Il deinterallacciamento di tipo blend non fa altro che:

1) prelevare il frame  interallacciato formato dai campi pari ,riferiti ad una immagine presente ad esempio all'istante 0,  e quelli dispari riferiti all'istante 20ms.

      
2) Ricostruire l'immagine proveniente dall'istante 0 , prelevando le righe pari e raddoppiando per interpolazione l'altezza
3) Ricostruire l'immagine proveniente dall'istante 20ms , prelevando le righe dispari, inserendo una riga orizzontale ( per permettere poi la corretta sovrapposizione) e raddoppiando per interpolazione l'altezza
4) Sommare le due immagini ottenute.
Per esattezza  viene fatta pixel per pixel la media matematica dei colori, somma diviso 2.

A destra il risultato finale.

 

Ecco affiancate  l'immagine originaria e quella dopo il filtraggio blend.

 

 Nell'esempio visto l'interpolazione riduce  l'immagine ottenuta in 352*288 pixel .

 

Particolare del Frame Pal dopo il filtraggio deinterallacciamento di tipo blend

Zoom

E' evidente la differenza che ottengo

immagine 352*288 ottenuta da digitalizzazione 352*576, filtraggio deinterallacciamento di tipo blend e interpolazione 

immagine digitalizzata 352*288 eliminando le righe pari del frame Pal

E' possibile ricavare una cosa molto simile al doppio filtraggio visto, facendo una banale interpolazione dai frame  352*576 al 352*288: i risultati sono simili ma più sporchi (maggiore rumore). 

Se si deve convertire in mpeg 1 XVCD 352*288, il doppio filtraggio (blend e interpolazione) lo si può fare all'interno di Tmpeg tramite il filtro deinterlace (configure/advanced/deinterlaced/blend): per editare il filtro occorre fare un doppio click mentre per renderlo attivo basta selezionarlo (X).

Nel momento in cui viene caricato (load) un preset (che trovate in  template ) presenti all'interno della cartella XVCD la risoluzione viene automaticamente fissata a 352*288 (configure/video/size).

Nel caso di compressione in formato DivX:-) o in tutti i casi se si vuole usare virtual dub occorre ricorrere ai suoi filtri:.

Il filtro è video/filter/add/smart deinterlace;
occorre DOPO inserire il filtro di interpolazione che è video/filter/add/resize : attenzione ad usare almeno il filtro bilinear

Il risultato dell'operazione digitalizzazione 352*576, filtraggio deinterallacciamento di tipo blend e interpolazione , produce un video 352*288 25 fps che si può quindi convertire ad esempio in XVCD mpeg1 tramite la catena con Tmpeg o in DivX;-). 

E' possibile ottenere risultati leggermente migliori se usando sempre virtual dub si utilizza il filtro smart deinterlace 2.0 ( è un freeware che trovate nel mio sito  plugins.zip chealtro non è che la versione evoluta di quellla presente in virtual dub1.4 ): per installarlo basta copiare i file nella directory plug-in di Virtual Dub. 

I parametri che consiglio sono quelli in figura: Se erroneamente non si seleziona blend instead.... si ottiene un effetto che rende l'immagine in movimento inguardabile.. Show motion areas...visualizza a scopo di test dove interviene il filtro.

In tutti i casi consiglio fare delle prove, ricordando come il preview in certi casi funziona solo tramite l'avanzamento in avanti step by step (non è un problema ovviamente in fase di conversione in cui funziona sempre)

I parametri Advanced Processing li analizzerò dopo. (in questo contesto non servono)

 

Ovviamente occorre DOPO inserire il filtro di interpolazione che è video/filter/add/resize  esattamente come nel caso di prima.

Sul mio sistema PII 400 la conversione da avi 352*288 ad mpeg1 (per realizzare un XVCD) tramite tmpeg B12 è realizzata in 5.4 real time (es 1 ora in 5.4 ore) mentre con avi 352*576 e la la catena XXXXX------>virtualdub (filtri)---->tmpeg la realizzo 8.8 real time, con un incremento dei tempi di codifica del 63% (da 1 a 1.63)

Ne vale la pena ? Per quanto detto come vantaggio ho una maggiore fluidità delle scene in movimento, mentre i tempi computazionali aumentano del 63% circa a seguito della risoluzione iniziale doppia e a causa del doppio filtraggio. Un'altra conseguenza negativa è che l'effetto blend crea una specie di alone fantasma attorno agli oggetti in movimento dando alla immagine una certa  artificiosità . Per quanto mi riguarda, penso che la risposta  sia NO: personalmente preferisco un video leggermente più a scatti piuttosto che incrementi eccessivi dei calcolo e l'effetto fantasma . Ovviamente è una opinione personale: ognuno può fare dei test e farsi la propria.

Riguardo gli altri metodi di interpolazione presenti in Virtualdub o in Tmpeg, si ottengono risultati spesso inutilizzabili, poichè il rumore video presente nell'originale, sommato ai limiti degli algoritmi di interpolazione, creano immagini sporche nelle zone in movimento.

Riassumendo posso concludere dicendo che nel caso di materiale VHS di provenienza televisiva se si è disposti ad accettare l'effetto spesso trascurabile di una minore fluidità delle scene dinamiche va benissimo digitalizzare 352*288 e convertire ad esempio in formato XVCD (un bit rate video 2000-2100 Kbit/s garantisce un ottimo video): nel caso di materiale VHS di particolare interesse consiglio la digitalizzazione 352*576 e la conversione in MPEG2 interallacciato con medesima risoluzione. Anche se non è molto utilizzata la mpeg2 352*576 è compatibile con lo standard SVCD, MiniDVD e DVD, anche se molti sw di authoring si rifiutano di utilizzarla. Se si desidera rimanere in standard, va bene la conversione in  480*576 MPEG2 interallacciato utilizzabile per il SVCD. Ricordo comunque che nel caso di SVCD l'audio deve essere a 44100 mentre nel caso MiniDVD a 48000. L'ultima possibilità , consigliata a chi non ha un player in grado di visualizzare i SVCD, è di creare XVCD mpeg1 352*576  che sono compatibili con alcuni lettori dvd (vedi Pioneer dv 525): il difetto di tale soluzione sta nella incapacità dell'mpeg 1 a comprimere video interallacciato: il motivo lo trovate approfondito nell'articolo I formati Mpeg1 e 2: come funzionano e come utilizzare al meglio tutti i parametri di Tmpeg encoder. Dalla teoria matematica . . . all'uso di tutti i giorni 

Per coloro che utilizzano il formato DivX;-) ricordo come tale codec esattamente come l'mpeg1 ( e per gli stessi motivi) è incapace di comprimere efficacemente video XXX*576 interallacciato: per tale motivo tutte le linee di discontinuità dovute all'alternarsi dei semiquadri, dopo la compressione appaiono spesso sfocate e confuse; nella pratica video interallacciato compresso con il DivX;-) o mpeg1 se visualizzato su monitor del PC produce le antiestetiche linee di discontinuità: su TV la visione interallacciata fa scomparire le linee di discontinuità mentre tutti i dettagli in movimento appaiono confusi e circondati da rumore video.

Riguardo la compressione  in formato mpeg2 SVCD vi rimando all'articolo Il SVCD (Super Video Cd)......più DVD che XVCD:guida alla realizzazione 

Come alternativa c'è la digitalizzazione  352*576 ma con audio 48000 e compressione sempre in mpeg2 come nel caso dei SVCD utilizzando ad esempio Tmpeg e un template presente nella directory MiniDVD 352 576 interallacciato (il bitrate massimo lo si può variare in setting/video/rate control mode/setting così come il parametro quality ). 
Qual'è il vantaggio di questa scelta? Il vantaggio sta nel fatto che un mpeg di questo tipo è compatibile con le specifiche del DVD: oggi si può realizzare un MiniDVD tramite sw di authoring e masterizzazione su cdr; tra qualche anno sarà possibile reciclare tali mpeg e rifare l'authoring ma per creare un vero DVD su DVD-R , DVD-RW o DVD-RAM (a secondo di chi vincerà la guerra degli standard).

Concludo ricordando che nel caso si creano XVCD e SVCD con Nero Burning, se si utilizzano risoluzioni diverse da 352*288 (XVCD) o 480*576 ( SVCD) il sw da un messaggio di errore che in realtà può essere ignorato poichè Nero poi procede normalmente: è delegato ai player DVD l'interpretazione del video fuori standard.

 

VHS contenente video PAL di provenienza telecine

 

Intendo tutti i casi di video di provenienza telecine (il metodo che trasferisce un film da pellicola a video TV): sono tutti i film , parecchi documentari video (sopratutto prima si utilizzava la pellicola ,vedi ad esempio vecchi documenti B/N e molti documentari naturalistici, pellicola che oggi è stata in certi casi sostituita dall'uso di videocamere), telefilm registrati su pellicola (uno tra tutti Spazio 1999,  registrato su 35 mm ) .

Come funziona il proceso telecine? La prima cosa che si fa è ignorare il fatto che il cinema funziona a 24 frame al secondo mentre la tv Pal a 25: l'effetto è una accelerazione dei tempi di circa 4% e di un innalzamento inpercettibile delle frequenze sonore (l'audio è alzato di qualche comma di semitono): un film che al cinema dura 100 minuti, in tv (o sul DVD) durerà 96 minuti.

Per il video si procede in maniera analoga a ciò che fa la telecamera.

Chiamiamo 0,1,2,3...i fotogrammi della pellicola e 0,1,2,3  (in arancione) i frame del video PAL interallacciato. Per comodità pensiamo alla pellicola come un frame formato da 576 righe (in realtà non ha senso parlare di righe di una pellicola, poiché la risoluzione verticale della pellicola  dipende dalla sua grana , dalla qualità della pellicola....; ciò che invece "crea" tali linee nei casi  di telecine,  sono il numero di CCD utilizzati per la conversione digitale /analogica con cui si realizza il processo )

-Le righe pari (0,2,4,..574) del fotogramma 0 diventano righe pari del frame video 0 = e sono riferite all'istante 0 del segnale Pal.

-Le righe dispari (1,3,5,..575) del fotogramma 0 diventano righe dispari del frame video 0 = e sono riferite all'istante 20 ms ( 1/50 s)  del segnale Pal.

-Le righe pari (0,2,4,..574) del fotogramma 1 diventano righe pari del frame video 1 = e sono riferite all'istante 40ms del segnale Pal.

-Le righe dispari (1,3,5,..575) del fotogramma 1 diventano righe dispari del frame video 1 = e sono riferite all'istante 60 ms  del segnale Pal.

.............

Ipotizziamo che il fotogramma 0 sia

Ipotizziamo che il fotogramma 1 sia

(in realtà per comodità di visualizzazione visualizzo solo un pezzo di fotogramma)

P.S. per la cronaca la successione che presento è un netto stacco di ripresa realmente esistente nel film Titanic)

Ipotizziamo che il fotogramma 2 sia

(rispetto al fotogramma 1 i due protagonisti si sono leggermente spostati)

Immaginiamo adesso di visualizzare il filmato su di un televisore e di fare delle fotografie: per quanto visto se fotografiamo il televisore un istante prima di 40, 80, 120 ms riottengo i tre fotogrammi visti, poichè tramite il segnale Pal sono giunti i due semiquadri che concorrono alla creazione completa del fotogramma.

La cosa interessante è che se fotografiamo il televisore un istante prima di 60, 100 ms  ho una immagine che è la composizione di semiquadri provenienti da fotogrammi successivi con il classico effetto già visto prima. La differenza fondamentale è che nel caso di segnale PAL proveniente da telecamera ciascun semiquadro proviene da istanti e quindi immagini diverse (0,20,40,60,80ms...),mentre nel caso di telecine i semiquadri a due a due provengono dallo stesso fotogramma e che negli istanti 40,80,120 ms , in cui sono ricomposti , il fotogramma è presente sullo schermo..

Ecco nel nostro esempio cosa vediamo sul televisore se fotografiamo un'istante prima di quelli indicati:

40 ms

fotogramma 0

60 ms

mix tra i campi dispari relativi al  fotogramma 0 e quelli pari relativi al fotogramma 1

80 ms

fotogramma 1

100 ms

mix tra i campi dispari relativi al  fotogramma 1 e quelli pari relativi al fotogramma 2

120 ms

fotogramma 2

 

Per completezza ricordo come già detto che il pennello elettronico disegna le righe pari e poi dispari in successione

Visualizzazione in modalità interallacciata

  

e quindi se fotografo il TV in istanti compresi tra gli istanti visti in tabella si ha che il pennello elettronico non ha terminato di disegnare il semiquadro, e in quell'istante sul tv ho una immagine che è una via di mezzo delle due immagini relative. Questo significa che in realtà ho solo un istante in cui compare il fotogramma completo come al cinema: ciò che sistema tutto è la persistenza dell'immagine sulla nostra retina che miscela le immagini e rende tutto più naturale.

Ecco una tabella che schematizza come un video di provenienza telecine viene trasmesso e visualizzato su di un televisore.

tempo

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms 120 ms
frame della pellicola
che varia ogni  40ms ( 25 fps)
segnale televisivo PAL: ogni 20 ms è inviato un
 semiquadro (312 righe)alternativamente pari
 o dispari: il bianco indica la mancanza di segnale
ciò che è visualizzato sul televisore 
(prima dell'istante 0 il tv visualizza 
lo schermo nero) 

Per comodità di visualizzazione riporto lo schema nel caso di video interallacciato di provenienza tele/videocamera 

immagine

1

 2 3 5
tempo

0 ms

 20 ms 40 ms 60 ms 80 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
segnale televisivo PAL: ogni 20 ms è inviato un
 semiquadro (312 righe)alternativamente pari
 o dispari: il bianco indica la mancanza di segnale
ciò che è visualizzato sul televisore 
(prima dell'istante 0 il tv visualizza 
lo schermo nero) 
note
il segnale PAL invia le righe pari dell'immag.1 il segnale PAL invia le righe dispari dell'immag.2; il TV visualizza le righe pari dell'immag.1 e le dispari della 2 il segnale PAL invia le righe pari dell'immag.3; il TV visualizza le righe pari dell'immag.3 e le dispari della 2 il segnale PAL invia le righe dispari dell'immag.4; il TV visualizza le righe pari dell'immag.3 e le dispari della 4 il segnale PAL invia le righe pari dell'immag.5; il TV visualizza le righe pari dell'immag.5 e le dispari della 4

Cosa succede se digitalizzo un segnale PAL che contiene video proveniente da telecine ? (classico esempio se digitalizzo ad esempio 704*576 il segnale analogico di un film ad esempio di una videocassetta )

 

La risposta ha dell'incredibile. A secondo dalla maniera con cui è stato realizzato il telecine ( partendo dai campi pari o dispari) e a secondo dell'ordine con cui la scheda video digitalizza tali campi,  ottengo dei frame 704*576

o contenenti i corrispondenti fotogrammi della pellicola (ciò che desidero)

o contenenti il mix tra campi pari e dispari di fotogrammi successivi. 

 

La causa di tutto ciò è una certa libertà che è lasciata nella scelta del primo campo (pari o dispari) da inserire nel segnale pal nel caso di telecine, o da digitalizzare nel caso di schede digitalizzatrici.

Nel caso delle schede digitalizzatrici si parla anche di field order A o B o field order pari o dispari.

Ovviamente data la natura interallacciata del televisore, l'ordine del telecine non è assolutamente visibile sul televisore, mentre lo è quando visualizzo il frame completo su PC dopo averlo digitalizzato (se utilizzate schede tipo Marvel che tramite l'overlay simulano l'interallacciamento nella finestra dove c'è il video, per vedere il frame progressivo, basta o aprire due finestre video ad esempio con lo stesso filmato o visualizzare il video con sw tipo virtualdub : ovviamente occorre partire da digitalizzazioni xxx*576 perchè le xxx*288 semplicemente ignorano un campo)

La cosa più incredibile è che se in molti casi di video proveniente da telecine, questo ordine è mantenuto dall'inizio alla fine, così che all'occorrenza  è facile rimettere i campi in ordine ( il metodo lo trovate tra breve ), ci sono dei casi in cui tale ordine varia nel tempo : un classico caso sono i telefilm di Star Trek (Next generation e Voyager) in cui spesso appena cambia la scena cambia l'ordine dei campi o addirittura ciò succede in mezzo ad una scena. Per convincersene basta digitalizzare qualche minuto a XXX*576 (es 704*576 della Marvel) e tramite virtual dub dare una occhiata al filmato: in alcuni momenti non si vedranno le famose discontinuità mentre in altri si. 
La spiegazione c'è ed è la seguente: tali telefilm sono stati girati su pellicola (24 fps) e poi tramite telecine la pellicola è stata trasferita in formato tv interallacciato NTSC 30 fps ( 60 semiquadri al secondo) tramite la tecnica 3:2 pulldown (ne parlo dopo dettagliatamente
qui) : se a questo punto il video NTSC fosse riconvertito in PAL 25 fps si sarebbe potuto facilmente mantenere un corretto ordine dei campi così che ciascun frame pal conterrebbe il relativo fotogramma della pellicola originale, senza alcuna discontinuità. Ciò non succede perchè il montaggio del telefilm è realizzato non in pellicola ma sul materiale NTSC; tale operazione disordina i diversi field, così che, sopratutto nei cambiamenti di scena, varia l'ordine dei field ; la successiva conversione in PAL crea la condizione descritta: alcuni fotogrammi contengono l'esatta copia del fotogramma originale, mentre in altri fotogrammi i campi pari e dispari contengono video appartenente a fotogrammi successivi.

Un' altra cosa curiosa mi è capitata con il film per la TV Giuseppe: possiedo la versione originale in due videocassette (le 2 parti del film): nella prima cassetta il telecine è stato fatto coerente con la mia Marvel g200 (si vedono cosi i frame 704*576 coincidenti con i corrispondenti fotogrammi); nella seconda videocassetta il telecine è stato fatto invertendo i campi, con l'effetto di discontinuità delle righe.

Ho trovato un metodo per risistemare i campi nell'ordine giusto, nei casi  sfortunati (es. Marvel g200-episodi di spazio 1999, tutti rigorosamente telecine con provenienza pellicola). La cosa potrebbe servire in tutti quei casi in cui voglio convertire il video di provenienza telecine in un formato digitale con risoluzione verticale elevata che non prevede l'interallacciameto: un esempio classico: ho un film in SVHS o un DV che voglio convertire in DivX (che non prevede l'interallacciamento) , il tutto a piena risoluzione 704*576 o ad esempio interpolato a 512*384.
Il metodo è quello di usare virtual dub con il  filtro smart deinterlace 2.0  di cui ho già parlato ( lo  trovate nel mio sito 
plugins.zip ): per installarlo basta copiare i file nella directory plug-in di Virtual Dub. 

Il filtro è smart deinterlace 2.0 (cntr-f / add per inserirlo) 

I settaggi da inserire sono quelli nel riquadro  advanced processing (quelli in alto automaticamente sono esclusi) : inserendo la combinazione esatta  (sono previsti tutti i casi possibili) si riesce ad ottenere l'effetto richiesto della ricomposizione dei fotogrammi originali.

I parametri che ho visualizzato vanno bene nei  casi sfortunati della mia Marvel g200 e ovviamente a secondo della configurazione posseduta si devono modificare.  

Ricordando come il preview i funziona correttamente solo tramite l'avanzamento in avanti  step by step (non è un problema ovviamente in fase di conversione in cui funziona sempre)

Ricordo che tale filtraggio può essere utilizzato in tutte le catene in cui si inserisce Virtual Dub (es. Premiere-->Avisynth-->VirtualDub-->tmpeg (vedi Avisynth v0.3: l'incredibile sw che trasforma tutti gli mpeg encoder stand alone in Plug-in per Premiere e Flaskmpeg ).

Ovviamente nel caso di Star trek l'unico modo per riottenere i frame ricomposti è quello di analizzare le singole scene per filtrarle dove occorre (lavoraccio assurdo): non esiste ancora un filtro che realizza la cosa automaticamente e mi chiedo se mai esisterà!!!.

Un problema analogo (i campi invertiti o meno) lo ho avuto con la mia Marvel g200 combinata con la scheda hw Creative DXR-2 e la Creative DXR-3. Nel primo caso ottengo frame 704*576 con l'indesiderato mix tra campi di frame sucessivi, mentre nel secondo caso ho gli esatti fotogrammi del film. : pertanto nel primo caso per riottenere la ricomposizione dei fotogrammi originali devo usare il filtro visto.

 

Possiamo finalmente rispondere alla domanda che ci siamo posti: 

Nel caso di VHS con materiale proveniente da telecine per non perdere informazione video conviene digitalizzare con la 352*576 25fps o 352*288  25fps?

Per quanto detto sembrerebbero indicate 3 possibilità:

1) digitalizzare 352*576 e convertire in un formato interallacciato (es. mpeg2 SVCD)

2) digitalizzare 352*576, valutare tramite  virtualdub se i campi sono invertiti (se sì usare il filtro smart deinterlace 2.0 per riottenere i fotogrammi originali) interpolare a 352*288 (il filtro resize di virtual dub) e convertire in un formato progressivo ( es mpeg1 per  realizzare un XVCD) 

3) digitalizzare 352*288 (ignorando i campi pari o dispari), convertire in un formato progressivo ( es. mpeg1 per  realizzare un XVCD o mpeg2 per realizzare SVCD o miniDVD) 

Diversamente dal caso di VHS con materiale da telecamera, nel caso di VHS con materiale proveniente  telecine se utilizzo la strada 3) non ho il tipico effetto di video a scatti, perché dei 25 fotogrammi originali ho sempre 25 immagini 352*288 (e non 25 immagini rispetto alla 50 riprese dalla telecamere).

Per questo motivo se paragono i risultati del caso 2 e 3, l'unica differenza teorica dovrebbe essere una leggero miglioramento dei dettagli  nel caso 2 poichè ogni riga è data dalla interpolazione di due righe: nella pratica non c'è alcuna differenza visibile e pertanto posso concludere dicendo che nel caso di materiale VHS di provenienza telecine va benisimo digitalizzare 352*288 e convertire ad esempio in formato XVCD (un bit rate video 2100 Kbit/s garantisce un ottimo video) o SVCD ( grazie al bitrate variabile a parità di bitrate max , es. 2100, è possibile guadagnare preziosi minuti di video)

Tra XVCD 352*288 e SVCD 352*288 il mio consiglio è di creare SVCD nel caso avete un player capace di visualizzare tale formato: la gestione del bitrate variabile dell'mpeg2 e la migliore ottimizzazione di tale formato rendono il SVCD superiore all'xvcd. 

Il caso 1 sembra eccessivo a meno di avere  una disponibilità elevata di spazio: in pratica se ho a disposizione un bit rate video di 2100 Kbit/s  (che insieme ad audio 224 kbit garantisce circa 40 minuti su cdr per gli XVCD e qualcosa in più per i SVCD grazie al bitrate variabile dell'mpeg2) la qualità di un video mpeg a  352*288 ottenuta dal caso 3 non è peggiore rispetto a quella di video  352*576, sempre nelle ipotesi di provenienza Vhs e telecine. In tutti i casi considerando i limiti del vhs  con il metodo 3) non riuscirei mai ad avere vantaggi evidenti.

Ben diverso è il caso di video di qualità (es svhs , DV o Betacam ): in tal caso per preservare la qualità è necessario salire di risoluzione e bit rate : almeno la 352*576 , sino al classico 720*576.

 

 

 Segnale progressive scan e video progressivo: i diversi formati

La questione del video progressivo  è all'attenzione  delle riviste specializzate e dei newsgroups da un po' di mesi; in realtà sull'argomento regna il caos più assoluto: la confusione è ormai la norma e grosse imprecisioni sono riportate un pò su tutte le riviste " specializzate".
Se da una parte la cosa è giustificata, vista la difficoltà a reperire informazioni e il grosso clamore legato all'argomento (vedi i grossi interessi commerciali), dall'altra parte sono in molti ad avere le idee poco chiare sui formati interallacciati e progressivi e sul concetto di conversione di formati.....e vai a sparare sciocchezze!!!

A prova della grossa ignoranza che regna nel settore  ( senza offendere nessuno vista la carenza di informazioni), una delle tipiche affermazioni che si trovano sulle riviste " specializzate" è la classica "stranamente, forse per un problema dell'esemplare in analisi,  la modalità progressiva funziona solo in modalità NTSC" come se la cosa fosse una stranezza vista la grossa differenza che passa nel trattamento di video PAL e NTSC per la conversione in progressivo. !!!

Se volete una serie di buoni articoli sul video progressivo, vi consiglio quelli apparsi sulla rivista Digital home video theater (n.7 Nov 1999 p 47 "Scanning progressivo"; n.9 Gennaio 2000 p 42 "Tecnica del primo DVD a scanning progressivo"; n10 Febbraio 2000 "la TV digitale" p40)

Per chi non è disposto a continuare la lettura voglio chiarire una volta per tutte che utilizzare un DVD player ad uscita progressiva (progressive scan)  su di un normalissimo televisore 4:3 o 16:9 di quelli in vendita sino ad oggi non produce alcun vantaggio: il player lo si dovrà utilizzare unicamente in modalità "standard" interallacciata e funzionerà come un normalissimo DVD player non progressivo 

Al contrario per beneficiare della visualizzazione progressive scan occorre possedere, oltre al DVD progressive scan,  un  videoproiettore capace di agganciare segnali progressivi a 31,250 Khz o 31,500 Khz, un monitor od un televisore in grado di fare la stessa cosa (televisori del genere dovrebbero iniziare ad essere commercializzati, a prezzi ragionevoli,  tra breve.).

Come alternativa al DVD progressive scan, si può utilizzare un DVD ad uscita non progressiva abbinato ad uno scaler esterno.

 

Fatta questa doverosa premessa, procediamo con ordine: mi preme sottolineare che ciò che mi appresto a dire è una trattazione abbastanza teorica poichè per quello che so mancano dei testi e una trattazione "seria" sul video progressivo; tra l'altro è difficile reperire materiale sulle diverse implementazioni nei prodotti commerciali. Restano aperte alcune questioni che non mancherò di evidenziare. 

Prima di tutto occorre chiarire i termini.

La prima cosa da fare è chiarire il concetto di visualizzazione progressiva in opposizione a quella interallacciata: al di là del formato ( numero di righe, frequenza di disegno delle righe,....) un sistema video ( TV, monitor, videoproiettore) visualizza in modalità progressiva quando le righe di cui è composta la immagine vengono disegnate in ordine naturale; 1,2,3,.....N dove N è il numero di righe da cui è composto il video ( 576 per il PAL, 480 per il NTSC, 800,1024,1280... per le risoluzioni dei computer,...). Un sistema video visualizza in modalità interallacciata quando  le righe di cui è composta la immagine vengono disegnate alternando righe pari e dispari ( 0,2,4,...574,1,3,5,...576 nel caso di N=576): tale metodo sfruttando la persistenza dell'immagine sulla retina, permette una buona fluidità delle immagini in movimento pur risparmiando sul numero delle righe disegnate al secondo.

 

Visualizzazione in modalità interallacciata:
scansione interallacciata (
interlaced scan)

Visualizzazione in modalità progressiva:
 scansione progressiva (
progressive scan)

 

La tipica visualizzazione interallacciata è quella dei televisori , anche se tra breve inizieranno ad essere disponibili televisori progressive scan: al contrario i monitor dei computer visualizzano sempre in modalità progressiva.

Un qualsiasi mezzo di visualizzazione ( TV, monitor, proiettore) ovviamente è in grado di interpretare e visualizzare correttamente solo dei segnali a lui noti; pertanto un TV progressive scan per esibire le sue qualità dovrà ricevere un segnale adeguato ( fermo restante la sua compatibilità "all'indietro" con i formati oggi in uso): ecco che al PAL interallacciato, detto anche 50I si affianca un secondo formato detto segnale  PAL progressivo (PAL progressivo o PAL progressive scan) detto 50P; stesso discorso per il sistema NTSC ( 60I e 60P ).

L'altra cosa da sottolineare è che le conversioni di formato possono essere fatte  sia all'interno del "generatore di video" ( normalmente il player DVD), sia tramite apparati esterni ( gli scan converter, i duplicatori di linea) e sia all'interno dei TV o videoproiettori.

Voglio osservare come un segnale analogico per quello che stiamo analizzando viene definito da 4 variabili:

  1. 1) Numero di righe ( linee orizzontali) da cui è composto ( 625 per il PAL , 525 per il NTSC )
  2. 2) L' ordine con cui le linee sono inviate: progressivo (P) ( ordine naturale) o interallacciato (I) ( linee pari e poi dispari)
  3. 3) Frequenza verticale : numero di volte al secondo (Hz)  in cui viene disegnato un semiquadro (linee pari o dispari) nel caso di video interallacciato o un quadro (tutte le linee) nel caso di video progressivo; 50 Hz per il PAL e 60 per il NTSC
  4. 4) Frequenza orizzontale detta anche frequenza di riga : numero di volte al secondo in cui sono disegnate le singole righe orizzontali. Tale valore lo si ricava nel caso di video interallacciato  moltiplicando il numero di righe presenti in un semiquadro per la frequenza verticale, mentre nel caso di video progressivo moltiplicando il numero di righe presenti in un quadro per la frequenza verticale: ovviamente nel caso di video interallacciato lo si può ricavare moltiplicando il numero di righe presenti in un quadro per la metà della frequenza verticale

Vediamo i casi di maggiore interesse ( perdonatemi se mi ripeto):

PAL (interallacciato) 50I : è formato da 625 righe trasmesse 25 volte per ogni secondo ovvero 312.5 righe di un semiquadro trasmesse 50 volte al secondo.
La frequenza di riga , ovvero il numero di righe trasmesse al secondo è pari a 
frequenza di riga = 15625 Hz = 15,625 Khz = (625 righe*25 righe/s)= (312.5 righe*50 righe/s)

Delle 625 righe , 576 contengono informazioni video, mentre le altre sincronismi, segnali test, eventuale televideo,.....
Le 576 righe sono visualizzate, come più volte detto,  in maniera interallacciata alternando 288 pari a quelle dispari
(0,2,4,...574,1,3,5,...576). Per questo motivo spesso questo formato è indicato come 576I
Ho in tutto 50 semiquadri al secondo composti da 288 righe , pari a 25 quadri al secondo di 576 righe.
Per i più distratti ricordo che questo formato è quello che utilizziamo nel 99.99% dei casi nelle nostre case: è il segnale che è trasmesso via etere dalle TV ed è quello all'uscita dei videoregistratori, e dei lettori DVD (ad eccezione dei futuri progressive scan PAL) : per ricordarlo lo indicherò sempre in rosso (
PAL 50I) o anche 576I.

 

PAL progressivo 50P : è formato da 625 righe trasmesse 50 volte per ogni secondo esattamente il doppio rispetto al caso di prima; la frequenza di riga , ovvero il numero di righe trasmesse al secondo è pari a 
frequenza di riga = 31250 Hz = 31,250 Khz = (625 righe*50 righe/s)

Il pennello elettronico di un televisore che visualizza pal progressivo deve avere una velocità pertanto doppia rispetto al PAL interallacciato: se in 20 ms ( 1 sec /50) un televisore tradizionale disegna solo le 288 righe pari ( o dispari), un tv progressivo in grado di visualizzare pal 50P sempre in 20 ms deve essere in grado di visualizzare tutte le 576 righe.
Delle 625 righe , 576 contengono informazioni video, mentre le altre sincronismi, segnali test, eventuale televideo,.....Per questo motivo molte volte questo formato è indicato come 576P
Le 576 righe sono visualizzate secondo l'ordine naturale 0,1,2,3,576.
Ho in tutto 50 quadri al secondo composti da 576 righe.

E' evidente come il PAL progressivo contiene esattamente il doppio delle informazioni video del PAL interallacciato, cioè una risoluzione teorica totale doppia ( a parità di altri fattori): storicamente il PAL come noi lo conosciamo, è nato proprio per diminuire la mole dei dati presenti nel PAL progressivo 50P ( che in termini di telecomunicazioni significa utilizzare più del doppio della banda in radiofrequenza cioè via etere), sia per le difficoltà di costruire cinescopi capaci di avere frequenze di riga pari a 31250HZ. ( oggi è una cosa banale, ma nel 1952, anno della formalizzazione del PAL, no di certo).

Tutto analogo per il sistema NTSC; ecco una tabella riassuntiva

 

Formato

righe

 righe attive 
(contenenti video)
Progressivo o interallacciato Frequenza verticale  Frequenza orizzontale 
PAL 50I (576I)

625

576 Interallacciato 50 Hz 15625 Hz = 15,625 KHz
PAL 50P (576P)

625

576 Progressivo 50 Hz 31250 Hz = 31,250 Khz
NTSC 60I (480I)

525

480 Interallacciato 60 Hz 15750 Hz = 15,750 KHz
NTSC 60P(480P)

525

480 Progressivo 60 Hz 31500 Hz = 31,500 Khz

 

Un'altra questione da chiarire è vedere cosa si intende per segnale PAL60P detto anche PAL 60 525P

Il sistema PAL e NTSC oltre ad avere diverso il numero  di righe (480 o 576) e  frequenza verticale (50 o 60 Hz), sono caratterizzati da una diversa maniera di rappresentare i colori. Senza scendere nei particolari, il colore viene "sovrapposto" al segnale B/N tramite un segnale modulato che è caratterizzato da una portante avente frequenza diversa: 3.58 Mhz per il NTSC e 4.43 Mhz per il PAL. Detto in altre parole la maniera con cui è gestito il colore nei segnali PAL e NTSC è radicalmente diversa.
Un vero televisore o videoproiettore  multistandard deve essere in grado di visualizzare correttamente non solo le righe e le frequenze richieste dal PAL e dal NTSC, ma deve essere in grado di interpretare e visualizzare correttamente il colore: in caso errato il video apparirà nel caso migliore in B/N e in certi casi con colori falsi.
In Europa esistono modelli di TV e proiettori, in grado di visualizzare correttamente sia video PAL che NTSC, ma anche dei sistemi che per risparmiare sull'elettronica in grado di decodificare il colore del video NTSC, sono compatibili con quello che è detto banalmente 
PAL60P o PAL60I. Tale formato ha la risoluzione del NTSC (525 righe di cui 480 attive, freq. verticale 60 Hz, freq orizzontale 15750 Hz nello standard interallacciato e 31500 Hz nello standard progressivo) ma utilizza i colori nello standard PAL (portante a  4.43 Mhz) invece che lo standard dei colori NTSC ( portante a 3.58 Mhz ).

In pratica il video  PAL60P (525P) o PAL60I(525I) sono dei formati ibridi con colore PAL e scansione NTSC, compatibili con alcuni televisori e videoproiettori non perfettamente multistandard.

Con la nuova generazione di DVD player progressivi, ci sono dei modelli che per garantire una maggiore compatibilità con i futuri TV progressivi multistandard permettono l'uscita progressiva di tipo  PAL 60 525P: il primo in ordine di tempo commercializzato in Italia è il  lettore DVD Onkyo DV-S939 (recenzione AF digitale nov 2000 p 135).

 

TUTTI I DVD PLAYER IN COMMERCIO IN ITALIA SINO A POCO FA (OTT-NOV 2000) INVIANO IN USCITA SEGNALE PAL 50I ed eventualmente  NTSC 60I o PAL 60I; stesso discorso per i televisori che sono compatibili solo con tali segnali.

Per una visualizzazione progressiva di video di origine DVD occorre prima di tutto un dispositivo in grado mandare in uscita video progressivo (i nuovi DVD ad uscita progressive scan PAL 50P o NTSC 60P, o l'uscita progressiva di un player sw di un computer prelevata dalla scheda video ): in caso contrario occorre prelevare l'uscita interallacciata di un DVD player ( PAL50I o NTSC 50I ) e trasformarla  tramite uno scaler esterno in segnale progressivo.

La seconda cosa che occorre è ovviamente un sistema in grado di visualizzare video progressivo: le possibilità sono 3:
1) un televisore progressivo (in vendita da noi a prezzi decenti probabilmente a partire dai primi mesi del 2001)
2) un videoproiettore in grado di agganciare almeno i 31,250 Khz del  PAL 50P o i 31,500 Khz del NTSC 60P
3) il monitor di un PC

Le possibili combinazioni per visualizzare i DVD in formato progressivo sono tante: ecco le più comuni.

1) Player Software di un PC e visualizzazione sul monitor del PC : vi rimando all'articolo Dvd per Pc: il punto per l'analisi della qualità e delle caratteristiche dei SW disponibili. Fondamentale l'utilizzo di una risoluzione almeno pari a 1024*768.
2) Player Software di un PC e visualizzazione con un videoproiettore in grado di agganciare il segnale in uscita dalla scheda video del computer.
3) Player Software di un PC , conversione  tramite uno scaler esterno dell'uscita della scheda video in un formato progressivo
PAL 50P o NTSC 60P e visualizzazione su un (futuro) televisore compatibile con tali formati.
4) Lettore DVD con uscita progressive scan PAL 50P o NTSC 60P e visualizzazione tramite un videoproiettore o  su un (futuro) televisore in grado di agganciare tali segnali.
5) Lettore DVD con uscita interallacciata (PAL50I o NTSC 50I),  conversione tramite uno scaler esterno di tale uscita in un formato progressive scan
PAL 50P o NTSC 60P e visualizzazione con un videoproiettore o  su un (futuro) televisore in grado di agganciare tali segnali.

Come vedremo in seguito  nel caso di visualizzazione con i videoproiettori è possibile fare delle ulteriori conversioni verso formati  ancora più ricchi di informazione video (vedi ad esempio il caso di quadruplicazione di riga).

Un altro formato analogico possibile è il PAL 25P che è il compagno perfetto del video PAL di provenienza telecine (i film) presente nei DVD; è analogo al noto PAL50I con la differenza che  le righe 625 righe non sono divise in semiquadri pari e dispari, ma  sono inviate 25 volte al secondo in modalità progressiva ( 0,1,2,3,...576).

In tal caso un collegamento tra un  DVD compatibile in uscita con PAL 25P e televisore compatibile in entrata con tale segnale, creerebbe nel caso di video PAL di provenienza telecine,una visualizzazione molto simile a quella del cinema, fermo restando che le righe, anche se in ordine naturale, vengono disegnate una alla volta, mentre nel cinema l'intero fotogramma viene proiettato per intero.

In pratica, sempre in questo caso,  il DVD player decomprime il singolo frame 720*576 che, una riga alla volta, è inviato al televisore e li visualizzato . 
 

Formato

righe

 righe attive 
(contenenti video)
Progressivo o interallacciato Frequenza verticale  Frequenza orizzontale 
PAL 50I

625

576 Interallacciato 50 Hz 15625 Hz = 15,625 KHz
PAL 25P

625

576 Progressivo  25 Hz 15625 Hz = 15,625 KHz

Osservo come la frequenza verticale, per come la ho definita,  nel  PAL 50I è riferita ai semiquadri di 288 righe attive trasmesse 50 volte al secondo, mentre nel PAL 25P è riferita a 576 righe attive trasmesse 25 volte al secondo; il numero di righe al secondo è pertanto sempre lo stesso (15625 Hz).

Per quello che so, attualmente non esistono lettori DVD in grado di inviare segnale PAL 25P (cosa che avrebbe senso solo nel caso di visualizzazione dei film): al contrario esistono delle telecamere digitali ( vedi la Canon MV 20) che opzionalmente, grazie a CCD di tipo Progressive scan,  sono in grado di memorizzare in formato DV video compatibile con il PAL 25P. Ovviamente una opzione del genere ben si presta alla conversione di video DV in formato mpeg2 non interallacciato tramite encoder ( vedi tmpeg): è possibile in tale maniera realizzare "in casa" DVD, MiniDVD, SVCD con video progressivo senza utilizzare la pellicola cinematografica e il processo di telecine.

Una ultima nota riguarda segnali ancora più ricchi di informazione video, normalmente utilizzati per i videoproiettori in cui per le grosse dimensioni dell'immagine proiettata, le righe appaiono evidenti e in futuro per la televisione ad alta risoluzione. 

Come sono fatti lo si deduce per analogia dalla loro sigla; ad esempio per il  PAL  esistono il 864P e il 1152P ottenuti come triplicazione o quadruplicazione delle 288 righe di un semiquadro e visualizzazione progressiva a 50 Hz: per il NTSC ci sono i 720P e 960P a 60 Hz.

Nel campo dei PC , per definire i formati video, alle informazioni appena viste se ne aggiungono normalmente altre 2: risoluzione orizzontale in pixel e profondità di colore in bit (il numero massimo di sfumature di colori = 2^bit).
Ad esempio, mentre scrivo sto visualizzando sul monitor ( il mitico ViewSonic PS790 19 pollici) un segnale di questo tipo:

Formato

righe

Pixels per riga Bit per pixel Progressivo o interallacciato Frequenza verticale  Frequenza orizzontale 
1152*864*16 bit

864

1152 16bit=65536 colori Progressivo  85.1 Hz 77500 Hz = 77,5 KHz

Ovviamente è possibile creare e utilizzare segnali diversi da quelli visti; i monitor analogici per computer, fermo restando la loro visualizzazione progressiva, permettono l' aggancio ad una infinità di segnali video, nei limiti delle capacità del pennello elettronico. Al esempio il tipico range di frequenze a cui si può agganciare un buon 17 pollici è 30-90KHz per le frequenze orizzontali  e 50-120 Hz per le frequenze verticali  .

Termino la lunga lista dei formati accennando alla televisione ad alta risoluzione ( HDTV) che attualmente in America raggiunge nel formato  NTSC la risoluzione di 720 righe in modalità progressiva o 1080 interallacciata, 60 Hz. I due formati brevemente sono indicati come 720P e 1080I. Se in America le prime trasmissioni sono iniziate verso novembre 1999, per l'Europa..... tutto tace!! Si parla in tutti i casi di HDTV PAL a 1152 righe, con risoluzioni pari a 1440*1152 per il video 4:3 e 1920*1152 per il video 16:9.
 Giacché parliamo di futuro, un accenno all'HD DVD, secondo gli ottimisti in commercio tra almeno 5 anni: risoluzione 1920*1080 per il NTSC e 1920*1152 per il PAL (risoluzione 5 volte superiore rispetto ai "miseri" 720*576 del DVD), dischi da  27.4 GB per lato ( più di tre volte rispetto gli attuali 8.5 GB di un DVD9) e massimo bitrate di 32.4 Mbit/s rispetto ai 9.8 attuali. Considerando come attualmente neanche il più costoso dei monitor per pc è in grado di raggiungere i 1920 pixel orizzontali,....è veramente il formato del futuro.

Chiarite (spero) le caratteristiche dei diversi formati video interallacciato e non , la situazione si complica nel momento in cui si vogliono fare delle conversioni di formato, partendo ad esempio dal video presente sul DVD PAL o NTSC da visualizzare su TV progressivo. E'ovviamente impossibile considerare tutte le possibili combinazioni, ma voglio con degli esempi chiarire come vengono normalmente affrontate le questioni.

Il fine delle conversioni è ovviamente quello di migliorarne la visualizzazione.
Nel caso di televisori progressivi o videoproiettori compatibili con il formato PAL 50P e NTSC 60P,  tale miglioramento si cerca di realizzarlo, quando possibile, facendo sì che in presenza di video di provenienza cinematografica, nel quadro televisivo NON CI SIANO righe contenenti immagini provenienti da fotogrammi successivi, e nel caso di video interallacciato  di provenienza tele/videocamera ricreando tramite particolari tecniche la parte dell'immagine eliminata dall'interallaccio. 
Altra possibilità di conversione sta nel trattamento di film memorizzati in NTSC tramite il metodo
3-2 PULL DOWN per i quali è possibile migliore la visualizzazione anche sui normali televisori compatibili con il formato PAL 50I; è quello che riescono a fare i primi DVD player commercializzati in Italia quale il Toshiba SD-900E

Consideriamo come supporto video il DVD che nel caso di DVD PAL lo vedo come  un insieme di 25 frame/s  aventi dimensioni in pixel pari a 720*576; nel caso NTSC  720*480 , 30 frame al secondo. 

Le considerazioni che faccio non cambiano di molto nel caso la sorgente video non è il DVD, ma un qualsiasi altro formato digitale o analogico.

Occorre considerare tutte le combinazioni che derivano dalle seguenti possibilità

  1. 1) Tipo di video presente nel DVD ( PAL 720*576 25fps  o NTSC 720*480 30 fps)
  2. 2) Maniera con cui  è strutturato il frame mpeg2 sul DVD: ciò dipende dalla processo di codifica utilizzato e dal   formato dell'originale ( pellicola o video TV)
  3. 3) Visualizzazione su videoproiettore o TV  (PAL o NTSC)  capaci o meno di visualizzare video progressivo di tipo PAL 50P (576P) e NTSC 60P(480P) ed agganciare pertanto le frequenze 31250 e 31500 Hz.
  4. 4) Chi realizza la conversione di formato : il player DVD, hw di conversione esterni ( duplicatori di linea, scaler, processori video) o Hw di conversione presenti all'interno dei TV ( i TV 100 Hz). 

Non oso immaginare il trattato che uscirebbe se  dovessi descrivere tutte le combinazioni possibili: i principi e i metodi comunque sono sempre gli stessi e alla base di questi ci sono 2 operazioni: riordinare le righe video secondo convenienza o ottenere righe video interpolando o banalmente duplicando le linee già esistenti.

Riguardo gli elaboratori esterni di video che possono essere genericamente chiamati "processori video", normalmente prendono il nome di SCALER se in ingresso prelevano un segnale interallacciato di tipo PAL 50I (576I) o NTSC 60I (480I) ( normalmente tramite una presa S-Video minidin 4 poli , o video composito o a componenti separati RGB o YUV) e in uscita creano un segnale progressivo PAL 50P , NTSC 60P o superiori.
Al contrario si chiamano
SCAN CONVERTER quando prelevano segnale progressivo ( tipicamente le uscite di un PC) e creano segnale interallacciato in uscita.

Da osservare come gli scaler attualmente in commercio utilizzano i chip di conversione ( vedi i chip Genesis) presenti negli attuali e futuri DVD player a scanning progressivo; normalmente uno scaler garantisce una flessibilità maggiore con costi normalmente elevati.

 

 I contenuti video nei DVD: l'ordine delle righe nel frame 720*576 o 720*480

 

La prima cosa che è fondamentale capire è l'ordine con il quale  sono inserite le righe nel frame mpeg 720*576 (o 720*480).

I casi sono parecchi e ne elencherò spero tutti; seguiranno alcuni esempi che descrivono come eventualmente elaborare tali video. Per testare in prima persona quello che dico sul frame mpeg  è sufficiente avere un Pc e un DVD player in grado di forzare la visualizzazione del il video su monitor in modalità Weave e di permettere l'avanzamento di un fotogramma alla volta ( es. il software Power Dvd o il sw Cinemaster o WinDVD+ DVD Genie http://www.inmatrix.com/) . I nomi che userò per descrivere i diversi casi è personale e non ha alcuna valenza di universalità. 

  1. 1) Video PAL "Progressivo Puro"
  2. 2) Video PAL "Progressivo sfasato"
  3. 3) Video PAL "Progressivo Puro con eccezioni"
  4. 4) Video PAL o NTSC  "Interallacciato puro"
  5. 5) Video "Interallacciato convertito"
  6. 6) Video  "Elaborato con filtro blend"
  7. 7)  Video NTSC " 3:2 Pull Down "
  8. 8)  Video PAL "Effetto marmellata"

Vediamo  in dettaglio gli 8 casi e in seguito i possibili metodi di elaborazione. 

1) Video PAL "Progressivo Puro": è il caso del 99.9% dei film in DVD in cui il frame 720*576 Mpeg lo si è ricavato tramite operazione di telecine da pellicola cinematografica che è fatta scorrere a 25 fps invece che i canonici 24 fps: l'effetto secondario di tale velocizzazione delle immagini è l'aumento della tonalità dell'audio di un fattore pari al 4.2% (25/24=1.042), difficile da avvertire ad orecchie non allenate, e una diminuizione della durata del video sempre dello stesso fattore: ogni ora di film è visualizzata in 57 minuti e mezzo (60 min *0.042=2.52min).
Ciascun frame 720*576 contiene la esatta digitalizzazione del relativo fotogramma cinematografico, ovviamente a meno degli artefatti dovuti alla compressione mpeg ( eventuali quadrettature, solarizzazioni....). 
Dei Trailer normalmente presenti tra i "servizi speciali" dei DVD all'incirca il 75% sono compressi in questa maniera; la loro inferiore qualità spesso dipende dalla quasi totale assenza di restauro degli originali e dalla minore cura che normalmente si dedica a loro;  non mancano le eccezioni, uno tra tutte i trailer di "Lost in space" dotato di qualità elevatissima, paragonabile a quella del film. 
E' il caso più semplice da trattare.

2) Video PAL "Progressivo sfasato": è un caso molto raro in cui partendo da telecine di pellicola cinematografica il frame 720*576 Mpeg contiene le righe pari e dispari appartenenti a fotogrammi consecutivi e sempre nello stesso ordine; 
il frame 1 contiene le righe pari del fotogramma 1 e le dispari del 2
il frame 2 contiene le righe pari del fotogramma 2 e le dispari del 3
il frame 3 contiene le righe pari del fotogramma 3 e le dispari del 4 ....... 

tempo

0 ms

40 ms 80 ms 120 ms 120 ms

frame cinematografico

frame 720*576 Mpeg
      ....... 

Tale video è il risultato di un errore dovuto alla cattiva realizzazione del telecine che in fase di compressione mpeg2 può essere preventivamente corretto con dei banali riordinatori di linee che ricostruiscono il fotogramma.
Un caso che ho tra le mani è il film "I ladri" interpretato da Totò e allegato alla rivista DVD Magazine n.6 che deriva sicuramente dalla compressione in mpeg2 di un vecchio master non realizzato per creare un  DVD, caso in cui il problema dell'ordine dei campi è assolutamente secondario. E' l'effetto che riesco ad ottenere , come già visto,  digitalizzando l'uscita video della scheda DVD Creative DXR-2 con la Marvel g200, schede che utilizzano una convenzione dei semiquadri ( Field A o B) opposta. 
Tra  gli altri rari esempi compressi in questa maniera alcuni trailer di film  tra cui quello del "La vita è bella (CG)" e "American Pie (Rivista Tutto DVD n.1)"
Un esempio, aimè clamoroso, di "progressivo sfasato" lo si trova nel recente "Indipendence day" in cui tale problema si manifesta in circa il 70% del film; la causa di un tale errore la si può forse ricercare nella doppia conversione
Film 24fps ---> Ntsc 30 fps ( con la tecnica pull-down che analizzerò dopo) ---> Pal 25fps, conversione che se fatta correttamente su video non compresso dovrebbe permettere una conversione perfetta : un errore di conversione su di un solo fotogramma porta alla "reazione a catena" che crea lo sfasamento tra i campi. 
I semiquadri possono essere in teoria riordinati, tra l'altro in maniera banale, come fa ad esempio (non in tempo reale),  il filtro "smart deinterlace" di virtual dub. Una implementazione via HW di tale correzione, che riporterebbe il video al caso 1 (a cui è possibile applicare eventualmente altre elaborazioni ) è possibile grazie ai "deinterallacciatori" intelligenti, che analizzerò in seguito.
Da osservare come non esiste un analogo caso con il NTSC, in cui il video cinematografico, come vedrò, è convertito in maniera diversa con la tecnica del 3:2 Pull- Down. 

3) Video PAL "Progressivo Puro con eccezioni": lo inserisco più come curiosità, a prova di quanto numerosi possono essere i casi possibili. E' il caso del trailer di DIE HARD di CG, DVD di qualità scadentissima al limite del VHS, ma passato alla storia per essere stato il primo DVD commercializzato in Italia ( tra l'altro non è neanche criptato con il codice Css). In pratica in questo trailer vengono memorizzati correttamente in progressivo i fotogrammi  ( come nel caso 1) con l'eccezione delle transizioni tra le diverse scene ( brevi crossfade) in cui il video è chiaramente interallacciato (si vedono le tipiche discontinuità tra semiquadri). Non vorrei giurarci , ma è molto probabile che l'autore di questo "pezzo raro" abbia montato il video utilizzando un sw di editing non lineare inserendo (spero per dimenticanza) l'opzione di interallaccio nel calcolo da parte del programma delle transizioni. Niente ovviamente di grave!!!! Lo riporto anche perchè una cosa del genere mi è personalmente capitata nel montaggio di alcune animazioni in CG rigorosamente progressive, in cui Premiere 5 nelle transizioni creava l'interallaccio: ovviamente basta settare il giusto parametro nelle opzioni di premiere e le transizioni vengono così calcolate correttamente.

4) Video PAL o NTSC  "Interallacciato puro"; è il caso di video PAL 720*576 25 fps realizzato tramite video/telecamera PAL e memorizzato ovviamente in maniera interallacciata; idem per caso NTSC (720*480*30fps) realizzato con tele/videocamere Ntsc. Ricordo, ancora una volta, che nel caso PAL la tele/videocamera fissa l'immagine 50 volte al secondo ed invia ogni 20 ms ( 1 sec /50) alternativamente i campi pari ( 288 righe attive) e dispari ( le rimanenti 288 righe), righe che vengono inserite nel frame 720*576 25 volte al secondo . Pertanto il frame mpeg pur aggiornato 25 volte al secondo contiene informazione video immortalata 50 volte al secondo. Ecco uno schema nel caso PAL:

immagine

1

 2 3 5 6
tempo

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
le 288 righe che sono inserite nel frame 
mpeg 720*576;  il bianco indica come le
 corrispondenti righe sono semplicemente scartate
ciò che è memorizzato nel frame mpeg 720*576 
(ogni 40 ms cioè 25 volte al sencondo)

 La tipica elaborazione video che è possibile fare su tale materiale, in presenza di tv progressivi o videoproiettori capaci di aggiornare 50 volte al secondo tutte le righe in ordine naturale, è quella di recuperare artificialmente l'informazione video scartata, ovvero le righe pari o dispari che nello schema ho disegnato in bianco. Il metodo utilizzato è detto genericamente "duplicazione di linea "  (ne parlerò in seguito)
I contributi video memorizzati in questa maniera sono quelli di chiara provenienza video/telecamera: i video musicali e sopratutto i  servizi speciali realizzati nello stesso  formato in cui sono distribuiti ; ad esempio filmati realizzati con telecamere  PAL e memorizzati su DVD PAL e quelli realizzati con telecamere  NTSC e memorizzati su DVD NTSC. Nel caso PAL poiché le grandi produzioni sono americane , troviamo contributi di questo genere solo nel caso di produzioni tipicamente italiane, prime tra tutte quelle realizzate da Cecchi Gori : vedi i servizi speciali dei film quali "La vita è bella" o le interviste che CG da qualche mese a questa parte inserisce nel caso di film italiani. Ovviamente all'aumentare delle produzioni italiane, i contributi di questo tipo in PAL tenderanno ad aumentare.

5) Video "interallacciato convertito"; è il caso di video interallacciato puro ( il caso di prima) PAL convertito in NTSC  o NTSC converito in PAL; questo secondo caso è frequentissimo nei servizi speciali presenti nella maggior parte dei DVD in commercio realizzati dalle "grandi" Warner, Paramount,  Columbia,.... Ovviamente un formato di questo tipo  (NTSC interallacciato convertito in PAL interallacciato) è caratterizzato da una fluidità artificiale, poichè si tratta di trasformare 60 semiquadri al secondo in 50 e da una risoluzione inferiore poichè occorre ricavare 576 righe a partire da 480; in tutti i casi la qualità pur inferiore al PAL interallacciato puro è quasi sempre accettabile: del resto è noto come la qualità video dei "servizi speciali" non è quasi mai paragonabile a quella del film. 
L'elaborazione ideale da fare con video di questo tipo è la ricostruzione del video originale ovvero la riconversione " al contrario". In teoria una perfetta ricostruzione ( ad esempio dei 60 semiq./s originali NTSC) diventa impossibile, sia perché parte dell'informazione è andata perduta, sia perché il montaggio degli spezzoni video crea un ordine imprevedibile nel susseguirsi delle righe, così che è impossibile un riordino sistematico (cosa che al contrario si fa con successo nel caso di video cinematografico NTSC da convertire in PAL, come vedremo dopo). Nella pratica video del genere può essere trattato, con risultati qualitativamente inferiori,  immaginandolo come interallacciato puro.

6) Video  "elaborato con filtro blend". Ricordo brevemente come il blend è un tipo di filtraggio che cerca di trasformare video interallacciato in progressivo eliminando le tipiche discontinuità dovute all'interallacciamento e cercando di simulare l'effetto prodotto al nostro occhio dall'oggetto in movimento . Come è realizzato lo ho visto prima (clicca qui )

tempo

0 ms

 20 ms
immagini reali
linee video  utilizzate  
linee pari
 
linee dispari
frame interallacciato
ottenuto
frame dopo il filtraggio blending

Gli esempi di video memorizzato in questa maniera sono relativamente pochi, e sono nel caso di trailer di film il tentativo di eliminare l'interallacciamento presente nei master video in possesso (cosa evitabilissima poichè i trailer contengono sempre  video di origine cinematografica) e nel caso di servizi speciali; è una scelta forse motivata da un cattivo stato dei video magari convertiti più volte in formati diversi. Due esempi: i trailers di Dragon Heart e i servizi speciali di "Lost in space".
La caratteristica di tali video è la presenza di immagini non molto dettagliate e del tipico "effetto" fantasma, dovuto alle scie che si creano nei soggetti in movimento. E' fondamentale per le immagini di questo tipo  un trattamento analogo alle immagini  di tipo "progressivo puro".

7)  Video NTSC " 3:2 Pull Down ": sono i film che per essere convertiti in NTSC sono trattati con il noto metodo "3:2 Pull Down". Con tale metodo, i diversi frame MPEG 720*480 30 fps devono essere letteralmente composti a partire dalle immagini presenti su pellicola che scorre a 24 frame al secondo: lo standard utilizzato funziona suddividendo la pellicola cinematografica in gruppi di 4 fotogrammi che  devono comporre 5 frame NTSC. (non a caso 5/4 = 30/24)  

1

 2 3
fotogramma cinematografico
24 fps digitalizzato 720*480

1

 2 3 5
     frame 720*480 NTSC (30 fps)     
note
il frame 1 coincide con il fotogramma 1  il frame 2 coincide con il fotogramma 2  il frame 3 è composto dalle righe pari del fot. 2 e dalle dispari del fot. 3 il frame 4 è composto dalle righe pari del fot. 3 e dalle dispari del fot. 4 il frame 5 coincide con il fotogramma 5 

E' evidente come 2 frame NTSC su 5 sono a tutti gli effetti interallacciati nella stessa maniera del caso 2 (progressivo sfasato), mentre i rimanenti si possono considerare come "progressivi puri". Noto inoltre come l'ordine preciso di composizione usato da questa tecnica permette la possibilità di recuperare intatti i frame cinematografici originali. La presenza di righe ripetute (le righe pari del fotogramma 2 e le dispari del 4 ) è contemplata dalla sintassi dell'mpeg che permette con il tag "repeat_field_information" di memorizzare le righe ripetute una sola volta con un notevole risparmio nei confronti del bitrate. Il video NTSC " 3:2 Pull Down " lo si riconosce facilmente con l'avanzamento di un fotogramma alla volta grazie al fatto che si alternano sempre nello stesso ordine i 3 frame "progressivi" a 2 interallacciati.
Il tipo di elaborazione possibile su questo materiale è quella di ricostruire i 24 frame progressivi tramite il metodo "3:2 Pull Down inverso"
e di visualizzarli in modalità progressiva.

8)  Video PAL "effetto marmellata"; scusate il termine molto poco ortodosso ma non mi viene un nome più consono per definire casi del genere; è il caso  di video presente in alcuni trailer e nella gran parte dei "video speciali" presenti nelle grandi produzioni americane e poi riconvertite nel sistema PAL. Sono i casi in cui non c'è alcuna possibilità di riconoscere un ordine prevedibile nei campi pari e dispari che compongono il frame mpeg, cosa dovuta ad un numero eccessivo di passaggi che precedono la costruzione del frame PAL. Un esempio tipico sono ad esempio molti dei trailer Walt Disney (Tarzan, Toy Story 1 e 2 ,......)   in cui si sommano gli effetti della conversione pellicola--> NTSC 30 fps con la tecnica 3:2 Pull-Down, del montaggio video in formato NTSC interallacciato in cui sono assemblate le diverse scene, e alla fine un nuovo montaggio questa volta dopo la conversione in PAL con la scritta dei titoli in italiano: il risultato è qualitativamente scarso poichè si alternano senza alcun ordine prevedibile frame contenenti correttamente un singolo fotogramma a frame che al loro interno contengono campi di fotogrammi successivi: non mancano altri effetti deleteri dovuti alla compressione mpeg che a causa della presenza dei frame di tipo B (che calcolano le differenze con fotogrammi successivi o passati) creano delle immagini all'interno del quale ci sono addirittura parti di 3 fotogrammi cinematografici: due dovuti all'interallacciamento ( campi pari e dispari di fotogrammi differenti) e il terzo dovuto agli "echi" prodotti dalle differenze riportate dai frame B; la cosa è molto evidente nei cartoni animati grazie alla presenza dei colori uniformi che evidenziano difetti di questo tipo, ma presente anche nel caso di alcuni trailer cinematografici.
A prova che la causa di tale "marmellata" è dovuta ai numerosi passaggi che subiscono i singoli fotogrammi, basta dare una occhiata al trailer sempre Disney  di "T come Tigro" ( che segue quelli appena citati) in cui tutti i frame sono mantenuti progressivi senza la presenza di frame contenenti campi successivi; la cosa si spiega poichè il trailer è chiaramente ottenuto dal banale telecine di un trailer cinematografica fatto direttamente in PAL (si riconosce la tipica grana cinematografica di una pellicola di qualità solo sufficiente e alcuni piccoli graffi); si vedono solo delle linee di interallaccio nei punti in cui compaiono delle scritte in italiano, chiaramente aggiunte in fase di montaggio e non presenti sulla pellicola.
L'altro caso in cui si ha un effetto "marmellata" , è quello dei tipici servizi speciali, dietro le quinte,.....ecc. a corredo dei film prodotti dalle "grandi" 
Warner, Paramount,  Columbia...: le cause sono le stesse dei casi dei trailer, e cioè l'insieme di materiale di diversa provenienza, il tutto montato in NTSC e poi convertito in PAL: normalmente a spezzoni di film ottenuti con la tecnica 3:2 Pull-Down si sommano contributi video registrati in interallacciato puro NTSC ( le interviste, le riprese dal set,...); il montaggio finale viene poi convertito in PAL 25 fps.
In alcuni casi, gli spezzoni cinemategrafici contenuti all'interno di tali video variano dal progressivo puro a quello "sfasato" ma in scene diverse (un esempio evidente gli spezzoni dell'animazione nel servizio "Tarzan diventa internazionale", variazioni che si hanno ai cambiamenti di scena),  in altri casi  i contenuti cinematografici sono presenti con un misto imprevedibile di frame progressivi o sfasati, anche all'interno della stessa scena ; un esempio di questo comportamento i servizi speciali di Wild Wide West. 
Per materiale di questo genere ricostruire i frame cinematografici originali o i frame interallacciati NTSC è difficilissimo (vedremo poi un possibile metodo), e come nel caso
5 di video "interallacciato convertito" video di questo tipo può essere trattato nella stessa maniera di un interallacciato puro PAL.
Una curiosità: nella ricerca di un eventuale ordine presente negli spezzoni cinematografici inseriti nei "servizi speciali" ( andavo alla ricerca o di frame progressivi puri o di frame con l'ordine 3:2 pulldown) mi sono imbattuto nel video dedicato agli effetti speciali, del mitico film "Contact"; in molti degli spezzoni presi dal film è presente un particolare ordine nella successione dei fotogrammi: 4 fotogrammi interallacciati ed uno progressivo !!. Non mi chiedete come questa strana combinazione si è venuta a creare, ma c'è ed è immortalata tra i bit di quel DVD; misteri delle conversioni !!! 

 

 Elaborazioni possibili: deinterallacciamento, duplicazione di linee


Vediamo adesso come è possibile elaborare i diversi tipi di video per visualizzarli in progressivo; segue una lista di alcune possibili elaborazioni e conversioni di formato.

1) Video PAL "progressivo puro": ciascun frame 720*576 contiene un fotogramma cinematografico intero.

Il primo caso che esamino è quello attualmente non realizzabile attualmente ( dicembre 2000), per mancanza di HW: lettore DVD che a partire dai frame 720*576 invia video nel formato progressivo PAL 50P (576P) e un televisore o videoproiettore che visualizza tale segnale. DVD player capaci di inviare in uscita video progressivo PAL 50P dovrebbero essere disponibili a partire dai primi mesi del 2001.
Per il lettore DVD la conversione da fare è banale: decompresso il frame 720*576 questo viene inviato due volte di seguito in maniera progressiva ( le righe sono inviate con l'ordine naturale 1,2,...576). Il frame deve essere inviato due volte poichè occorre convertire l'mpeg che scorre a 25 fps in video progressivo a 50 fps.


      

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms

frame mpeg 720*576 25fps creato ogni 40ms e contenente video PAL "progressivo puro"

segnale PAL 50P (576P) creato dal lettore
 DVD:ciascun quadro completo di 576 righe
 è inviato e visualizzato da tv progressivo 
o videoproiettore ogni 20 ms (50 fps)

Ovviamente un tv progressivo può poi fare tutte le elaborazioni possibili sul segnale ricevuto: la più banale è la visualizzazione a 100 Hz che si può ottenere utilizzando un buffer di memoria che memorizza il frame ricevuto ogni 20 ms e che lo visualizza 2 volte , a distanza di 10 ms: il risultato è un video più stabile (minori sfarfallamenti) grazie al refresh doppio (100 Hz progressivi invece che 50 Hz).


      

0 ms

 10 ms 20 ms 30 ms 40 ms 50 ms 60 ms 70 ms

frame mpeg 720*576 25fps creato ogni 40ms e contenente video PAL "progressivo puro"

segnale PAL 50P (576P) creato 
dal lettore DVD:ciascun
 quadro completo di 576 righe
 è inviato ogni 20 ms (50 fps)
TV o videoproiettore  100 Hz :
visualizzazione del frame
 ogni 10 ms

E' chiaro poi come la conversione da  PAL 50P (576P) a video 100 Hz può essere fatta da uno scan converter direttamente sul segnale PAL 50P. 

La seconda possibilità, sempre nell'ipotesi di video progressivo puro,  è quella di creare video progressivo  PAL 50P (576P) a partire da una normale uscita interallacciata PAL 50I (576I) di un DVD player non progressivo ( es la uscita S-Video di un qualsiasi modello di DVD player in vendita sino ad oggi) : una elaborazione del genere la realizza normalmente uno scaler ( processore video esterno) tramitequello che è chiamato "metodo di deinterallacciamento" che produce risultati accettabili SOLO NEL CASO DI video progressivo puro. Negli altri casi occorre procedere diversamente, come vedremo.

In pratica per fare il deinterallacciamento lo scaler attende l'arrivo dei 2 semiquadri (pari e dispari) presenti nel segnale PAL 50I (576I), e tramite un buffer di memoria memorizza le righe ricevute; dopo aver così ricostruito il frame progressivo, lo scaler crea il segnale progressivo PAL 50P (576P) inviando il frame 2 volte di seguito dovendo creare un un 50 fps progressivo rispetto al  25 fps memorizzato su DVD. 
Riporto uno schema in cui sono visualizzati in parallelo il segnale
PAL 50I prima della conversione , la relativa visualizzazione su TV standard e il segnale PAL 50P dopo la conversione, come viene visualizzato su TV progressivo o videoproiettore compatibile con il formato.

tempo

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms 120 ms

frame mpeg 720*576 25fps creato ogni 40ms e contenente video PAL "progressivo puro"

segnale PAL 50I (576I):
ciascun semiquadro è
 inviato ogni 20 ms
visualizzazione 
su tv standard 
(interallacciato)
segnale PAL 50P(576P) creato dallo scaler:
ciascun quadro completo di 576 righe
 è inviato e visualizzato da tv progressivo 
o videoproiettore ogni 20 ms (50 fps)

Il vantaggio di una conversione del genere è evidente: il TV progressivo visualizza sempre immagini contenenti il frame cinematografico completo, cosa che non succede nel caso di TV standard con segnale PAL 50I.

E' evidente poi come con il metodo del raddoppio dei frame, visto prima, è possibile visualizzare il tutto a 100 Hz.

Da osservare come una conversione diretta realizzata dal player DVD rispetto al metodo dello scaler esterno teoricamente permette una qualità superiore poichè elimina un passaggio di doppia conversione digitale analogica  e viceversa dovuta all'utilizzo di un hw esterno. 
Poichè quella vista è solo una delle possibili operazioni realizzabili sul video, sia per i DVD player che per gli scaler, occorre selezionare tale tipo di elaborazione che può essere chiamata in modi diversi: de-interlacing, cinema mode, film mode..... Un eventuale riconoscimento automatico dovrebbe essere abbastanza semplice ( la fanno tranquillamente i DVD player sw per PC) grazie alla mancanza di discontinuità tra righe nel frame mpeg.

Un'altra questione da chiarire è se esiste la possibilità dei DVD player di capire la provenienza cinematografica del video , prelevandola dalla sintassi mpeg: non so se c'è qualche DVD player che lo fa, ma se lo facesse CADREBBE IN UN CLAMOROSO ERRORE!!!! Per quello che ho visto analizzando alcuni file VOB, anche i film progressivi puri sono compressi con l'opzione mpeg2 frame/interlaced; tale dato ingannerebbe il DVD player facendogli credere di avere a che fare con un video interallacciato puro.
Ricordo che l'opzione mpeg2 frame/interlaced LASCIA LIBERTA' all'encoder di fare la compensazione del moto riferendosi o ai due  semiquadri 720*288 o all'intero quadro 720*576. Nel caso dei film tale opzione viene utilizzata solo in minima parte dall'encoder poichè nella realizzazione della compensazione del moto per ogni macroblocco dovendo scegliere se riferirsi al frame  o ai due semiquadri , l'encoder raramente fa riferimento ai semiquadri poichè la mancanza delle righe di interallaccio rende conveniente la compensazione del moto riferita al frame intero; lo ho verificato con sw di analisi dei vettori di compensazione del moto (sw Pixel tools Mpeg repair 1.58) in cui si evince come normalmente al max 1% dei macroblocchi sono compensati con il metodo field. (per approfondimenti sull'mpeg vi rimando al relativo
articolo del mio sito).

Voglio citare altre due possibili elaborazioni, che si possono fare su tale video. 
La prima è la possibilità di rallentare il flusso audio/video dai 25 fps al secondo dell'mpeg ai 24 fps della versione cinematografica originale: per l'audio occorre diminuire la velocità del 4.2%, cosa banale da fare quando l'audio è stato decompresso in PCM, ovvero all'uscita multicanale del decoder ac3 o DTS eventualmente presente nel DVD player o nel decoder multicanale esterno ( è una semplice operazione di ricampionamento): al contrario chiedere ad un lettore DVD di leggere il flusso ac3 , decomprimerlo, ricampionarlo, riconvertirlo in ac3 (occorre un encoder ac3 all'interno del player) per poi inviarlo  nella tonalità corretto all' uscita ac3 è improponibile.
Riguardo il rallentamento del video da 25 a 24 frame al secondo considerando come in uscita si ha a disposizione un segnale 
PAL 50P (576P), occorre procedere sempre al raddoppio dei singoli frame ( il caso 25-->50) a cui si devono aggiungere per ogni secondo altri due frame ottenuti ovviamente come ripetizione di frame già presenti. In breve occorre ricavare da ogni gruppo di 25 frame mpeg 52 frame da inviare ovviamente in formato PAL 50P a 50 fps: per minimizzare gli artefatti di moto la ripetizione di 3 frame invece che di 2 va fatta in punti equidistanti, come in figura.
Ecco indicati in una tabella i frame da inviare per avere il rallentamento da 25 a 24 fps e uscita 50 fps progressiva:

frame mpeg originali a 25  
1 2 3 4 ...... 10 11 12 13 14 .... 23 24 25
frame ricavati per ripetizione da inviare all'uscita progressiva a 50 fps 1 1 2 2 3 3 4 4 ..... 10 10 11 11 12 12 12 13 13 14 14  .... 23 23 24 24 25 25 25

Voglio osservare come il metodo dell'inserimento equidistante di frame ripetuti ( e della loro eliminazione) è il metodo utilizzato per trasformare formati aventi velocità diverse: nel nostro caso con metodi analoghi è possibile convertire  tra loro i formati  24,25,30 fps progressivi in formati progressivi a 50, 60 o 100 Hz.

Una seconda possibile elaborazione da fare su video progressivo di origine cinematografica è un qualcosa che probabilmente non sarà mai realizzata e che la vedo più come un argomento di tesi universitaria piuttosto che di applicazione commerciale: l'idea è quella costruire una specie di "macchina del tempo" che riesca a ricreare 50 fotogrammi diversi a partire dai 24 (25) cinematografici; dati cioè due fotogrammi a distanza di 40 ms, ricrearne quello intermedio : in pratica cercare di simulare matematicamente ciò che una ipotetica cinepresa riprenderebbe ogni 20 ms ( 50 fps) nota la ripresa fatta ogni 40 ms (25 fps). Senza approfondire la cosa in certe situazioni ( vedi panning o zoom) l'operazione non dovrebbe essere particolarmente difficoltosa; ben diverso il discorso di scene "meno prevedibili";  occorrerebbe utilizzare tecniche quali il morphing, la predizione del movimento, la sintesi vettoriale e la recentissima elaborazione frattale dell'immagine che permette di sintetizzare e quindi modificare immagini complesse ma fondamentalmente "prevedibili" quale gli alberi, le nubi,... la tettoia di una casa,..... Ovviamente per applicazioni di questo tipo funzionanti in tempo reale occorrono potenze di calcolo elevatissime, niente a che vedere con quelle che servono per realizzare una banale interpolazione tra righe.
Mi fermo qui: per quello che so l' mpeg 4 dovrebbe iniziare ad utilizzare concetti analoghi a quelli visti: in pratica si tratta di non vedere più i singoli fotogrammi video come banali bitmap ma di cercare di sintetizzarli matematicamente, in analogia a quanto in maniera molto semplificata fanno i programmi di conversione di immagini bitmap in raster (vettoriali). Il video risultante  è la somma di diversi strati (layer) alcuni dei quali descritti matematicamente (oggetti 3d, simulazioni di volti o corpi sintetici, testi vettoriali,...) ed altri prodotti tradizionalmente  come successione di bitmap.

2) Video PAL "Progressivo sfasato": ricordo che è un caso molto raro in cui partendo da telecine di pellicola cinematografica il frame 720*576 Mpeg contiene le righe pari e dispari appartenenti a fotogrammi consecutivi e sempre nello stesso ordine. 

E' il classico caso in cui in teoria è possibile ricostruire il frame mpeg originario semplicemente rimettendo a posto i campi ( basta sfasare di uno l'ordine delle righe cosa che il filtro smart deinterlace di virtual dub esegue senza alcuna difficoltà ); in questa maniera ci si riporta al caso 1 appena analizzato e sono possibili tutte le elaborazioni viste. 
Nella pratica uno scaler di qualità dovrebbe essere in grado riconoscere l'origine cinematografica di tale video e di ricostruirlo: questo perché diversamente dal caso di elaborazione all'interno del DVD player di flussi mpeg2 in cui gli esempi di progressivo sfasato sono solo delle eccezioni, nel caso di elaborazione di PAL50I da parte di uno scaler la cosa è molto frequente a causa della possibile libertà nella scelta dell'ordine con cui vengono gestiti i semiquadri nelle operazioni di telecine.

A riguardo ricordo i due casi, già accennati,  sperimentati in prima persona: le schede DVD hardware Creative DXR2 e DXR3 che in presenza di video cinematografico (film) mandano come segnale di uscita PAL50I in un caso un ordine dei campi  progressivo puro e nell'altro progressivo sfasato ; il secondo esempio è il già citato film TV "Giuseppe", girato su pellicola e disponibile su 2 VHS, che nel primo VHS invia video progressivo puro e nell'altro sfasato. 

Analizzando le uscite dei DVD player in commercio (sono pronto a scommettere che c'è qualche player che interpreta liberamente l'ordine dei campi) o i segnali delle trasmissioni televisive di film , i casi di progressivo sfasato sono in realtà tutt'altro che una eccezione..

Da osservare che l'interpretazione del tipo di video "progressivo sfasato" con relativa correzione , deve essere fatta in automatico dallo scaler vista l'impossibilità dell'utente di accorgersi di un problema del genere; tra l'altro il problema si può presentare solo in alcune scene, come nel caso di Indipendence Day (il 70% circa) .
Pertanto tale caso, che ripeto è in teoria facilissimo da trattare, viene risolto dai metodi "intelligenti" che vedrò nel caso 4) in cui analizzerò anche le conseguenze di un mancato riconoscimento e dell'errato trattamento di tale video come "interallacciato puro".

3) Video PAL "Progressivo Puro con eccezioni"; è il caso rarissimo di video progressivo puro ad eccezione delle transizioni tra le diverse scene in cui il video è interallacciato puro. Una eventuale elaborazione come nel caso 1 di video progressivo andrebbe benissimo tranne nei momenti in cui ci sono le eccezioni ( le transizioni) in cui avrei gli stessi artefatti che ci sono nel caso in cui si applica erroneamente il metodo di deinterallacciamento (appena visto nel caso 1) in presenza di video interallacciato puro: artefatti che analizzerò nel prossimo caso.

4) Video PAL "Interallacciato Puro": è il caso di video PAL ripreso da una video/telecamera e riversato su DVD. Ricordo come in questo caso il frame mpeg 720*576 25fps contiene al suo interno righe che derivano da 2 immagini  successive distanti 20 ms, cioè relative ad una velocità di 50 fps: riporto lo schema visto prima. 

immagine

1

 2 3 5 6
tempo

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
le 288 righe che sono inserite nel frame 
mpeg 720*576;  il bianco indica come le
 corrispondenti righe sono semplicemente scartate
ciò che è memorizzato nel frame mpeg 720*576 
del DVD (ogni 40 ms cioè 25 volte al secondo).

L'elaborazione da fare in presenza di una uscita 50 Hz progressiva è quella di cercare di ricreare le immagini riprese a 50 fps, ricostruendo artificialmente le righe irrimediabilmente scartate,  sfruttando il fatto che il formato PAL 50P(576P) garantisce la possibilità di visualizzare 50 immagini complete ( 576 righe) del tutto indipendenti e distinte tra loro. 
Nei casi visti fino ad adesso non ho sfruttato tale caratteristica perchè l'immagine originale immortalata su pellicola conteneva video a 25 fps, cosa che mi obbligava a ripetere 2 volte il frame, dopo averlo ricostruito: altro che immagini distinte.!!

Voglio osservare come attualmente gli unici "oggetti" capaci, a costo umano, di creare video PAL50P al massimo delle sue caratteristiche (50 immagini, 576 righe preogressive e indipendenti tra loro ) sono i computer (cosa fattibile anche in tempo reale, vedi i vari giochi tridimensionali); ovviamente serve uno scan converter per trasformare l'uscita di un PC nel formato standard  PAL50P (576P) o superiore.
Videocamere e telecamere in grado di produrre in nativo PAL50P non esistono per il mercato consumer, e peggio ancora nessuno degli standard oggi in uso consentono la memorizzazione di un formato di questo genere ( al contrario soluzioni proprietarie sono implementabili con relativa facilità): l'mpeg 2 (main profile e main level) si ferma inesorabilmente ai 25/30 fps nei casi PAL e NTSC. I 50 fps sono previsti nel high profile e main level che sono alla base della tv ad alta definizione (HDTV).

Il problema dell'elaborazione si sposta quindi nel ricreare le 288 righe che sono state ignorate in fase di digitalizzazione a causa dell'interalacciamento: tale operazione deve essere fatta per tutti i 50 semiquadri presenti nel video PAL 50I. L'operazione da fare nel caso di elaborazione fatta dal DVD player è: 

1) isolare dal frame mpeg 720*576 (25 fps) 

i due semiquadri di 288 righe (pari e dispari) appartenenti a istanti distanti 20ms ( 50 fps) 

2) ricreare con particolari tecniche (che vedremo dopo) il frame completo a partire dalle righe note

---->
---->

Per comodità di visualizzazione le righe ricostruite le disegno con la R.

Nel caso in cui l'operazione viene fatta da uno scaler esterno collegato all'uscita interallacciata del player DVD, concettualmente non cambia nulla: lo scaler deve avere  un buffer di memoria in cui accumulare le 288+288 righe ricevute dal segnale di ingresso ( invece che dal decoder mpeg2), per poi elaborarle nella stessa maniera.

Ecco uno schema in cui partendo dalla tele/videocamera che crea il video  "interallacciato puro" sono indicati  tutti i passaggi sino alla visualizzazione : composizione del frame 720*576 mpeg2 presente su DVD, elaborazione fatta dal DVD player a uscita progressiva PAL50P ( o fatta dallo scaler esterno) e infine ciò che è visibile su di un televisore standard nel caso di semplice uscita interallacciate PAL50I

immagine

1

 2 3 5 6
tempo

0 ms

 20 ms 40 ms 60 ms 80 ms 100 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
le 288 righe che sono inserite nel frame 
mpeg 720*576;  il bianco indica come le
 corrispondenti righe sono semplicemente scartate
ciò che è memorizzato nel frame mpeg 720*576 
del DVD (ogni 40 ms cioè 25 volte al secondo).
estrazione delle 288 righe pari e dispari fatta  
dal player DVD progressive scan partendo dal frame 
mpeg (o dello scaler partendo dal segnale PAL50I )
ricostruzione delle righe mancanti (R) e 
relativa uscita PAL50P e visualizzazione su TV 
progressive scan o videoproiettore compatibile:ogni 
20 ms vengono aggiornate tutte le 576 righe
visualizzazione del segnale interallacciato PAL50I su 
 normale televisione collegato ad DVD player non
  dotato di uscita progressive scan:ogni 20 ms vengono 
aggiornate o le 288 righe pari o le 288 dispari

Il risultato di una operazione del genere è una maggiore fluidità di movimento e la diminuizione del tipico sfarfallamento presente sui tv interallacciati, specialmente se di grosse dimensioni; la visione appare così più riposante e naturale.

In concreto il metodo ricava nel caso PAL dai frame 720*576 a 25 fps dell' mpeg 2 , un video sempre 720*576 , progressivo e a 50 fps: da ogni frame ne sono ricavati 2. Analogamente  nel caso NTSC si elabora il frame 720*480 trasformandolo da 30 a 60 fps.

Ad oggi (dicembre 2000)  una elaborazione del genere su DVD PAL non è possibile se non ricorrendo ad uno scaler esterno: la causa non è da ricercarsi in problemi tecnici ma nella attuale inesistenza di TV capaci di visualizzare PAL 50P, cosa che ha rallentato il lancio in Europa di DVD player capaci di creare autonomamente video progressivo PAL 50P. Nei primi mesi del 2001 dovrebbero essere disponibili DVD player capaci di elaborazioni del genere e quindi capaci di elaborare video PAL interallacciato e di mandare in uscita video PAL50P 

I metodi con cui si ricostruiscono le righe mancanti (R)

---->

sono fondamentalmente 3

1) Duplicazione di riga: è il metodo più semplice che ha lo svantaggio di creare eccessive discontinuità, le tipiche scalettature, sopratutto sui contorni. Le righe mancanti sono ricostruite semplicemente copiando (duplicando) quelle presenti. Se ad esempio si devono ricostruire le righe dispari, queste le si ottengono copiando le corrispondenti pari: 
la riga 1 la si ottiene copiando la riga 0
la riga 3 la si ottiene copiando la riga 2
la riga 5 la si ottiene copiando la riga 4 ......
.

2) Mediazione di riga: è un metodo, più raffinato, con il quale si creano le righe mancanti interpolando le righe presenti. Il metodo più semplice per realizzare l'interpolazione è quello di fare una media pesata (somma diviso 2) dei colori dei due pixel rispettivamente in alto e in basso rispetto a quello che si sta ricreando : in realtà conviene ricorrere a interpolazioni più complesse, in cui il colore di ogni singolo pixel viene calcolato con una media pesata dei colori dei  pixel circostanti. Ciascuno scaler, utilizza un suo algoritmo di mediazione che a secondo della complessità ed efficienza produce risultati migliori. In tutti i casi tale operazione produce migliori risultati rispetto alla banale duplicazione di riga anche se sono richieste maggiori potenze di calcolo, niente comunque di trascendentale!!!

Il maggior difetto della mediazione di riga lo si ha quando le righe da mediare corrispondono a transazioni di colori ad esempio dovuti alla presenza di due oggetti: mediando il blu e il verde, si ottiene un color ciano che non è sicuramente presente nell'immagine reale; sta nella bontà degli algoritmi di mediazione, la capacità di eliminare problemi del genere, trattando ad esempio il video a componenti separati (YUV) e analizzando più pixel adiacenti a quello da mediare.

Campi pari di una immagine interallacciata (zoom)

Immagine ricavata per duplicazione di linea (è evidente la scalettatura)

Immagine ricavata per mediazione di linea

Nel caso di mediazione di linea  svolta dal DVD player sul flusso mpeg2 le operazioni da fare per ogni frame sono le seguenti (caso PAL):

1) viene decodificato il singolo frame PAL mpeg 720*576 come questo è memorizzato nel flusso mpeg

      
2) sono prelevate le righe pari dal frame 720*288  e il risultato è interpolato a 720*576 e inviato all'uscita progressiva PAL 50P
3) sono prelevate le righe dispari dal frame 720*288  e il risultato è interpolato a 720*576 e inviato all'uscita progressiva PAL 50P

Dal flusso 720*576 25 fps, si ricava un video progressivo 720*576 50 fps, da inviare all'uscita PAL 50P.

 

3) Il terzo metodo è quello che possiamo considerare il "metodo intelligente" e posso solo ipotizzare alcune possibili implementazioni, che negli scaler ultramilionari sono tra l'altro coperti dal più totale "segreto": mi è difficile ipotizzare il livello di "intelligenza" raggiunto da tali scaler, nel momento in cui le operazioni possibili altro non sono che algoritmi di elaborazione dell'immagine programmati, memorizzati in delle ROM (memorie a sola lettura) o FLASH-ROM (memorie a sola lettura ma aggiornabili ) ed eseguiti da DSP (Digital signal processor, processori dedicati all'elaborazione del segnale) più o meno potenti. Se mediazioni e duplicazioni possono essere realizzati anche con elettronica sequenziale (una manciata di componenti elettronici collegati in una certa maniera), le elaborazioni più complesse devono necessariamente essere realizzate da DSP programmabili.

I metodi intelligenti sono quelli che analizzano i campi pari e dispari di almeno un frame (nei casi migliori anche di due frame successivi) e cercano di capire come questi sono strutturati e pertanto come meglio elaborarli.

Partiamo sempre dal caso in esame, ovvero il caso in cui si è certi dell'origine tele/videocamera interallacciata e pertanto si scarta l'ipotesi di una provenienza progressiva (film). Siamo nel caso:

immagine

1

 2
tempo

0 ms

 20 ms
immagine ripresa dalla tele/videocamera
che apre l'obbiettivo ogni 20 ms ( 50 fps)
le 288 righe che sono inserite nel frame 
mpeg 720*576;  il bianco indica come le
 corrispondenti righe sono semplicemente scartate
ciò che è memorizzato nel frame mpeg 720*576 
del DVD (ogni 40 ms cioè 25 volte al secondo).

 

I 2 metodi visti  (duplicazione e mediazione) con cui si ricostruiscono le righe (R) mancanti 

---->

non considerano il fatto che nelle parti delle immagini in cui non ci sono movimenti (le zone statiche delle immagini tipo gli sfondi fissi in presenza di una telecamera fissa),  la parte da ricostruire (le righe indicate con R nello schema) è in realtà presente nelle 288 righe successive (le rosse): tali righe sono sì riferite a un istante successivo di 20 ms, ma non sono cambiate lì dove gli oggetti nell'intervallo di 20 ms sono rimasti fermi. In tal caso al posto della riga da ricostruire può essere semplicemente inserita la corrispondente riga (rossa) del semiquadro successivo. Questo discorso vale ovviamente solo per le righe "immutate"

Il processo diventa questo (faccio l'esempio dell'elaborazione fatta da un DVD player ma nulla cambia se viene fatta da uno scaler sul segnale PAL 50I inviato dal DVD player): 

 

1) isolare dal frame mpeg 720*576 (25 fps) 

i due semiquadri di 288 righe (pari e dispari) appartenenti a istanti distanti 20ms ( 50 fps) 

2) ricreare alcune righe (quelle degli oggetti in movimento) per duplicazione o mediazione (le righe R) e ottenere le altre copiando le corrispondenti righe (in rosso) del semiquadro successivo (metodo di deinterallacciamento).

---->

I due casi estremi sono ovviamente 

il caso di scena completamente dinamica in cui tutte le righe sono cambiate e occorre ricorrere alla interpolazione per tutte le righe
---->
il caso di scena completamente statica in cui tutte le righe possono essere copiate dal semiquadro successivo.
---->

Il vantaggio di tale elaborazione deriva dal fatto che nelle zone in movimento, a causa dei limiti del nostro occhio una  risoluzione elevata diventa quasi inutile e pertanto la ricostruzione per raddoppio o mediazione , che ovviamente non è in grado di aggiungere dettagli, non arreca  un grosso  danno; al contrario nelle zone statiche in cui è importante avere la migliore risoluzione (abbondanza di dettagli )  copiare le righe  significa in teoria ottenere la massima risoluzione verticale possibile dal formato , cioè 576 righe distinte.

Il metodo visto lo posso considerare la somma intelligente dei metodi di deinterallacciamento (copia delle righe

 
per il video progressivo puro) e il metodo di duplicazione o mediazione .

Una  ulteriore possibilità è applicare la scelta  (ricostruzione o copiatura della riga a secondo della presenza o meno di dettagli in movimento ), non sull'intera riga ma su sue parti: occorre ovviamente maggiore potenza di calcolo e algoritmi più intelligenti. Si otterrebbe un qualcosa che ricorda la compensazione del moto nell'mpeg, che nella sintassi dell'mpeg è realizzata per blocchi di 16*16 pixel, mentre qui l'analisi va fatta riferendosi alle righe. Ecco uno schema che chiarisce meglio il risultato ottenibile.

---->

Ma come fa in pratica l'algoritmo "intelligente" a scegliere se fare deinterallacciamento o mediazione? La risposta è ovviamente immortalata negli algoritmi presenti nelle EPROM degli scaler, tutti coperti della massima segretezza. 
Mi permetto di indicare una possibile implementazione e non escludo che tale "idea" sia sfruttata da qualche prodotto commerciale: in pratica il primo passo da fare è quello di calcolarsi per mediazione  la riga che si cerca di ricostruire, che come al solito indico con R:

---->

fatto ciò si confronta tale riga (R) con quella presente nella riga corrispondente  del semiquadro successivo, candidata ad essere sostituita (quella in rosso).

?

A questo punto l'algoritmo deve scegliere se inserire la riga ottenuta per  mediazione o inserire quella del semiquadro successivo : se la riga R è molto simile alla rossa significa che in quella zona nessun oggetto si è mosso, e pertanto conviene inserire la riga rossa che deriva da una immagine reale e non da un calcolo matematico ( la riga R) e pertanto ritrae l'immagine vera ; al contrario se la riga R è molto diversa rispetto alla rossa significa che in quella zona nell'arco dei 20 ms trascorsi (1 sec/50) gli oggetti ripresi si sono mossi e pertanto l'immagine reale corrispondente alla riga da costruire è andata irrimediabilmente persa ; occorre quindi calcolarsela per mediazione .

Una implementazione del genere si presta ovviamente a tantissime possibili varianti, prima tra tutte quella di ripetere il procedimento per pezzi di riga o di sfruttare la riga reale in rosso se questa ad esempio è solo traslata (analogamente alla compensazione del movimento dell'mpeg): altra possibilità è quella di analizzare più righe, magari anche di semiquadri precedenti per cercare di estrapolare dalla "storia dell'andamento dei campi" delle preziose informazioni.  

La cosa più interessante di quello che ho chiamato metodo intelligente, e che nei prodotti commerciali prende nomi quali "auto select", "motion detect" ..... è che tale metodo ben si addice all'elaborazione dei video dei casi che ho indicato come 2) Progressivo sfasato 3) progressivo con eccezioni 6) interallacciato convertito 8) effetto marmellata : infatti se al confronto con il semiquadro successivo si aggiunge un minimo di "intelligenza" in più è possibile recuperare, se disponibili, righe corrispondenti allo stesso istante di tempo ma "disperse" per i problemi di codifica in semiquadri successivi o precedenti.

Per convincersi basta pensare al caso di progressivo sfasato, magari presente solo in alcune scene ( "Indipendence Day"): l'algoritmo che ho accennato funziona alla perfezione, poichè la riga rossa del semiquadro successivo è proprio la riga mancante che si cerca di ricostruire, in quanto proviene dallo stesso frame cinematografico. Quando si fa il confronto (R con la riga rossa) 

?

tali righe saranno molto simili e pertanto l'algoritmo utilizzerà la riga rossa ricostruendo correttamente il frame originario. Affinchè la cosa funzioni anche per i semiquadri pari occorre fare anche il confronto  con il semiquadro corrispondente ma del passato poichè nel caso di progressivo sfasato la riga da inserire è in tal caso presente nel semiquadro precedente. Sono curioso di sapere se gli scaler "ultra costosi" in commercio, con la loro "intelligenza" riescono a "risolvere" un caso di questo tipo !!! 

L'intelligenza aggiuntiva a cui ho accennato è riferita al fatto che l'algoritmo deve fare la ricerca anche nel semiquadro del passato, cosa in perfetta analogia alla compensazione del moto nell'mpeg per i frame di tipo B.

Non mi soffermo sul fatto che l'algoritmo visto riesce, in molti casi,  a riordinare i campi, dove e se possibile,  in quelle condizioni direi "disastrose" che ho riassunto nel caso "effetto marmellata": è comunque evidente come la natura "sporca" del video, dovuta alla difficile compressione di tali video può facilmente trarre in inganno anche gli algoritmi più "intelligenti".

Rimane un' altra questione da esaminare: che succede se si utilizza la duplicazione di riga o la mediazione di riga nel caso di video progressivo puro (film) o sfasato? E' un caso che si può verificare sia a causa di una impostazone manuale errata da parte dell'utente nella scelta dell'elaborazione da fare, sia nel caso di "abbaglio clamoroso" del processore video nel riconoscimento automatico della modalità da impostare ( cosa ovviamente impossibile nel caso di scaler ultramilionari in teoria anche "ultraintelligenti")

Nel caso si utilizza ad esempio la mediazione di linea per trattare video progressivo puro, si ha che invece di fare il corretto deinterallacciamento 

---->

in cui i semiquadri mancanti vengono riempiti con quelli successivi (ricostruendo correttamente il frame cinematografico) e ripetendo 2 volte in uscita la stessa immagine ( da 25 fps della pellicola ai 50 del PAL50P), sbagliando metodo con la mediazione si creano le righe per interpolazione nonostante queste esistano codificate 

---->

Il risultato è una risoluzione verticale dimezzata a seguito della presenza di righe interpolate invece che reali. Ovviamente una buona mediazione può rendere meno evidente tale difetto ma si ha lo stesso deterioramento dovuto alla visualizzazione di un mpeg a 720*288 riportato a "schermo intero" rispetto alla visualizzazione di un analogo mpeg ma a  720*576.

5) Video NTSC "Interallacciato Puro": nelle ipotesi di visualizzazione di tale video in NTSC 60P, è un caso esattamente uguale al PAL interallacciato puro con la differenza di creare con i 3 metodi visti (duplicazione, mediazione o algoritmo intelligente) i 60 frame progressivi 720*480 invece che i 50 frame 720*576.

6) Video PAL "Interallacciato Puro" da visualizzare in NTSC 60P e viceversa Video NTSC "Interallacciato Puro" da visualizzare in PAL 50P. In pratica sono i casi appena visti, in cui il formato di uscita non corrisponde con quello del video: è il classico esempio di un video musicale NTSC zona 0 da visualizzare in PAL50P . Nella pratica è un problema che non penso si presenti frequentemente perchè un tv progressivo o un videoproiettore che aggancia PAL50P certamente aggancerà il NTSC 60P (le frequenze orizzontali sono praticamente le stesse 31250 Hz per il PAL e 31500 Hz per il NTSC).

Nel caso video PAL ---> uscita NTSC 60P, la conversione è banale poichè con le elaborazioni viste ( duplicazione, mediazione o algoritmo intelligente) si ottengono 50 frame progressivi che devono essere trasformati in 60 tramite la ripetizione "equidistante" di 10 frame su ogni gruppo di 50, una ripetizione ogni 5 

PAL 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ........ 49 50
NTSC 60P   2 3 5 5   8 9 10 10 11  12 13 14  15 15 16 ........ 49 50 50

Prima della creazione delle ripetizioni occorre comunque interpolare i frame da 720*576 a 720*480, cosa che non crea grossi problemi ( a meno della inevitabile perdita di risoluzione) poichè i frame sono progressivi senza le fastidiose righe di interallaccio che interpolate creerebbero grosse discontinuità.

Nel caso contrario video NTSC ---> uscita PAL 50P la questione è leggermente più complessa poichè si tratterebbe di passare da 60frame  a 50: il metodo più banale di elaborazione è quello di non fare l'elaborazione video (duplicazione, mediazione o algoritmo intelligente) a 10 frame su 60, lasciando pertanto tali frame "interallacciati": ovviamente esistono altri metodi più complessi, che vista la scarsa rilevanza della cosa non è il caso di vedere.

A prova della difficoltà di una operazione del genere che andrebbe implementata solo per i lettori europei (sfido a trovare un americano che desidera visualizzare un proprio video NTSC in PAL50P !!!!!!), il lettore Onkyo DV-S939, uno dei primi lettori commercializzati in Italia con l'uscita progressiva, permette solo l'uscita progressiva a 60 fps, sia per DVD PAL che per NTSC: chiaramente tra breve con player di nuova generazione limitazioni del genere andranno scomparendo. 

7)  Video NTSC " 3:2 PULL Down": come visto sono i film trattati con il noto metodo "3:2 Pull Down" che trasforma video cinematografico 24 fps in NTSC 30fps.

L'elaborazione da realizzare , implementata in tutti i primi lettori DVD progressivi venduti in Europa (vedi il Pioneer 737) e presente in tutti gli scaler in commercio, si realizza in due o tre passaggi. I nomi delle elaborazioni che classificano tale conversione  sono innumerevoli; dal banale 3:2 pull down (sottinteso inverso) al "pure cinema" del Pioneer.

Il primo passaggio è la ricostruzione dei 24 fps cinematografici operando con un procedimento inverso rispetto  a quello visto.

1

 2 3 5
     frame 720*480 NTSC (30 fps)     

1

 2 3
fotogramma cinematografico
24 fps  720*480

da osservare come il processore video deve essere in grado di agganciare la sequenza 3:2 (capire cioè da quale frame inizia la sequenza 3-2) ed essere in grado di riagganciarsi nel caso di  sequenze realizzate non correttamente che devono essere reinterpretate e corrette. 
La presenza dei quadri ripetuti diventa un mezzo abbastanza semplice per effettuare tali operazioni di aggancio.

Il secondo passaggio da fare è convertire la sequenza progressiva da 24 a 50 o a 60 fps. Nel caso di uscita PAL 50P occorre  preventivamente fare una interpolazione del frame da  720*480 a 720*576: poichè il frame ottenuto è progressivo puro non ci sono i problemi di discontinuità che si sarebbero avuti nella interpolazione di frame in cui sono presenti le discontinuità dovute alle righe di interallaccio.

Il metodo per convertire il frame rate è sempre quello delle ripetizioni dei frame ricostruiti in punti "equidistanti".

Nel caso di 24 fps---> PAL 50P basta ripetere 2 volte ciascun frame ad eccezione di una ripetizione tripla ogni 12 frame.

frame mpeg ricostruiti con 
il metodo 3:2 pull-down inverso
 24 fps  
1 2 3 4 ...... 10 11 12 13 14 .... 23 24
frame ricavati per ripetizione
 da inviare all'uscita progressiva a 50 fps
1 1 2 2 3 3 4 4 ..... 10 10 11 11 12 12 12 13 13 14 14  .... 23 23 24 24 24

Nel caso di 24 fps---> PAL 60P basta ripetere alternativamente 2 o 3 volte ciascun frame 

frame mpeg ricostruiti con 
il metodo 3:2 pull-down inverso
 24 fps  
1 2 3 4 5 6 7 8 ....
frame ricavati per ripetizione 
da inviare all'uscita progressiva a 60 fps
1 1 2 2 2 3 3 4 4 4 5 5 6 6 6 7 7  8 8 8 ..... 

 

Duplicatori e quadruplicatori di linea 

 

Spesso gli scaler, vengono semplicemente chiamati "duplicatori o quaduplicatori " di linea.

La duplicazione di linea altro non è che un modo generico per descrivere le modalità di elaborazione di un video  interallacciato PAL 50I o NTSC 60I nei rispettivi formati ma progressivi (50P e 60P) con i metodi visti: deinterallacciamento , duplicazione di linea, mediazione di linea, metodo "intelligente": spesso,come visto, i formati di uscita vengono chiamati in modalità diversa anche se ci si riferisce allo stesso tipo di video. Infatti il PAL 50P è indicato spesso PAL 576P (in riferimento alle righe attive, contenenti video e pertanto visualizzabili)  o 625P (se ci si riferisce al numero totale di righe del segnale, le attive più quelle contenenti i sincronismi, segnali di test....) o semplicemente video a 31250 Hz (31,25 KHz) : per il NTSC 60P i nomi alternativi sono NTSC 480P o NTSC 525P o video 31500Hz (31,5 KHz) . 

La maggior parte degli scaler sono in grado di inviare in uscita anche segnali diversi dai PAL 50P o NTSC 60P, sfruttando la flessibilità di molti videoproiettori ad agganciare  segnali anche più complessi: le ulteriori elaborazioni possibili sono l'incremento della frequenza verticale (es da 50 a 100Hz) e l'aumento del numero di linee.

L' incremento della frequenza verticale si realizza tramite il solito inserimento di frame ripetuti: tale inserimento viene fatto dopo la prima elaborazione vista (quella che crea PAL 50P o NTSC 60P).
Ad esempio volendo creare un segnale PAL progressivo a 100 Hz , partendo dal classico PAL 50I, lo scaler deve prima creare il PAL50P e poi raddoppiare i frame ottenuti: si ottiene quello che possiamo chiamare PAL progressivo con 
raddoppio di quadro. 

Formato

righe

 righe attive 
(contenenti video)
Progressivo o interallacciato Frequenza verticale  Frequenza orizzontale 
PAL 50I (576I)

625

576 Interallacciato 50 Hz 15625 Hz = 15,625 KHz
PAL 50P (576P)

625

576 Progressivo 50 Hz 31250 Hz = 31,250 Khz
PAL progressivo con 
raddoppio di quadro

625

576 Progressivo 100 Hz 62500 Hz = 62.5 KHz

Analogamente è possibile creare video progressivo NTSC a 120Hz (freq.orizz)  e 63 KHz (freq.verticale).

 

I metodi utilizzati per aumentare il numero delle righe possono essere diversi ( utilizzo i termini linee o righe riferendomi alla stessa cosa e sottintendendo l'aggettivo orizzontali)

Il fine dell'incremento delle righe è quello di migliorare la visualizzazione nel caso di immagini di notevoli dimensioni: se ovviamente è inutile usare un quadruplicatore di linee per immagini su schermi avente la base di 1 metro, ben diverso è il caso di mega proiezioni con la base di 4-5 metri. Il motivo è tutto incentrato sul fatto che, diversamente dalla proiezione di pellicola cinematografica, la visualizzazione di segnali video è sempre suddivisa in linee orizzontali; in presenza di grosse immagini, anche a distanza, è chiara l'origine discreta del video e pertanto sono visibili in maniera netta le righe che evidenziano una trama nera dovuta allo spazio che è presente tra loro.

Aumentare il numero di linee orizzontali, significa incrementare la densità di righe e pertanto minimizzare lo spazio "buio" presente tra loro: il risultato è una immagine più naturale e più luminosa.

Il metodo più semplice per aumentare il numero di linee è quello di elaborare il video in due fasi distinte: la prima fase è quella vista con il quale si crea video progressivo a 480 righe (NTSC 480P) o a 576 righe (PAL 576P) partendo dai rispettivi formati interallacciati: la seconda fase è quella ottenere il formato richiesto tramite l'interpolazione dei frame progressivi appena creati, operazione che si può realizzare senza artefatti a causa della mancanza delle righe di interallacciamento che se interpolate creerebbero grosse discontinuità e pertanto rumore video.

Il triplicamento delle righe consiste nel creare nel caso PAL video 720*864 e nel caso NTSC video 720*720 .

Con il quadruplicamento di righe si ottengono le risoluzioni PAL 720*1152 e NTSC 720*960. 

A causa dell'elevato numero di righe è difficile avere quadruplicazioni con frequenze verticali superiori ai 50-60 Hz, poiché gli eventuali 100 e 120 Hz creerebbero frequenze orizzontali elevatissime, difficilmente agganciabili.

Ecco una tabella dei formati più utilizzati.

Sistema

 Formato dimensioni Frequenza verticale  Frequenza orizzontale 

PAL

interallacciato 
PAL 50I
720*576 50 Hz 15625 Hz = 15,625 KHz

PAL

duplicazione di riga
 PAL 50P
720*576 50 Hz 31250 Hz = 31,250 Khz

PAL

duplicazione di riga
 PAL 50P 100Hz
720*576 100 Hz 62500 Hz = 62.5 KHz

PAL

triplicazione di riga 720*864 50 Hz 47000 Hz = 47 KHz

PAL

triplicazione di riga
100 Hz
720*864 100 Hz 94000 Hz = 94 KHz

PAL

quadruplicazione di riga 720*1152 50 Hz 62500 Hz = 62.5 KHz

NTSC

interallacciato 
NTSC 60I
720*480 60 Hz 15750 Hz = 15,750 KHz

NTSC

duplicazione di riga
 NTSC 60P
720*480 60 Hz 31500 Hz = 31,5 Khz

NTSC

duplicazione di riga
 NTSC 60P 120Hz
720*480 120 Hz 63000 Hz = 63 KHz

NTSC

triplicazione di riga 720*720 60 Hz 47300 Hz = 47.3 KHz

NTSC

triplicazione di riga
120 Hz
720*720 120 Hz 94500 Hz = 94.5 KHz

NTSC

quadruplicazione di riga 720*960 60 Hz 64000 Hz = 64 KHz

Con i metodi di incremento di linee tramite le due fasi distinte (creazione di video progressivo con il raddoppio di righe e successiva interpolazione) è banale nella seconda fase fare delle interpolazioni creando un frame di dimensione arbitraria, anche avente un numero di righe orizzontali  non multiplo di 288 (PAL) o 240 (NTSC). 
La cosa è normalmente disponibile negli scaler e permette di massimizzare le prestazioni di tutti quei proiettori (LCD, DLP) che utilizzano matrici aventi  spesso un numero di righe non legato ai formati PAL o NTSC;
l 800*600, 1024*768, 1280*720 e 1280*1024: in tale maniera è possibile ottimizzare la visualizzazione che è riportata così alla risoluzione nativa gestibile dal videoproiettore.

Nel caso in cui si creano triplicazioni o quadruplicazioni e quindi solo risoluzioni verticali multiple di 240 e 288, al metodo visto in cui si hanno due fasi distinte (creazione di video progressivo con il raddoppio di righe e successiva interpolazione) è possibile ottenere in certi casi risultati migliori fondendo le due fasi creando direttamente il video richiesto: ovviamente occorre implementare algoritmi più complessi che in tutti i casi evitano di realizzare più interpolazioni successive. La complessità di un metodo simile deriva dal fatto che occorre una implementazione spesso notevolmente diversa per ogni combinazione di video di ingresso e uscita: è evidente che fare una quadruplicazione di linea  partendo da video PAL 50I di origine cinematografica (progressivo puro) è molto più semplice che fare una triplicazione di riga di un video "effetto marmellata"; nel primo caso non ci sono alternative al deinterallacciamento e successiva interpolazione, mentre nel secondo caso le possibilità di intervento sono molteplici.

 

Visualizzazione di DVD sul monitor del PC tramite player SW: BOB e Weave 

La visualizzazione dei DVD sul monitor dei PC è caratterizzata da una ottima qualità grazie alla presenza di sw tipo quelli che utilizzano l'engine cinemaster che decodificano i film senza fare alcuna approssimazione visibile nei calcoli per la decompressione: l'accoppiata con un videoproiettore in grado di agganciarsi alle uscite progressive delle schede video, produce una visione indiscutibilmente di qualità.. 

Rimane fondamentale la scelta del player sw da utilizzare: infatti, se  da un lato esistono infiniti modi di comprimere in mpeg2 un video, al contrario c'è solo un modo corretto per decomprimere un video mpeg2 e quindi un DVD (in realtà esistono degli strettissimi margini di libertà anche nella decompressione) ; nel caso dei DVD player HW, i chip di decodifica utilizzano ovviamente il metodo corretto, essendo chip progettati a tal scopo: inoltre i player più costosi contengono al loro interno dei processori video in grado di processare il video decompresso con i dei filtri in grado di rendere l'immagine più naturale o minimizzare i tipici artefatti dovuti alla compressione mpeg: solarizzazione e quadrettatura. 

Nel settore dei player sw in mancanza di ottimizzazioni, se si implementa semplicemente il codice disponibile nei documenti ufficiali sull'mpeg, a malapena si raggiungono i 2-3 frame al secondo con un pentium 3 dell'ultima generazione: occorre pertanto in fase di programmazione ottimizzare il codice per garantire i 25-30 frame al secondo necessari alla visualizzazione corretta del video. 

Le ottimizzazioni possibili sono 2: le prime sono quelle che ottengono esattamente gli stessi risultati ma a velocità maggiori, sfruttando i tipici trucchi della programmazione ( uso di tabelle precalcolate al posto di calcoli ripetuti, istruzioni in assembler o capaci di sfruttare le implementazioni MMX o SSE,.........); la seconda possibilità è quella di semplificare alcuni calcoli ottenendo dei risultati il più possibile simili a quelli ideali, approssimazioni che possono essere più o meno evidenti a secondo della "scorciatoia" utilizzata. 
E' possibile ad esempio non eseguire affatto dei calcoli non considerati importanti: gli artefatti che si creeranno a causa di tale brutale approssimazione in alcuni casi possono essere tranquillamente tollerati. Normalmente la IDCT (trasformata coseno inversa), è la operazione critica che più delle altre occorre ottimizzare ed eventualmente approssimare, poichè è al cuore della decodifica mpeg ed è notoriamente impegnativa a calcolarsi. Per i più curiosi, ecco una
pagina contenente una serie di formule matematiche che descrivono una possibile ottimizzazione .

In realtà la valutazione degli errori dovuti alle diverse implementazioni della decodifica fatta via sw, non è una cosa banale nel momento in cui esistono a causa dei calcoli alcuni inevitabili approssimazioni , che tendono ad accumularsi e a sommarsi anche se non si realizzano delle "scorciatoie" evidenti : occorrerebbe una lunga teoria sulla propagazione degli errori, che non è il caso di vedere !! 
Tanto per chiarire la cosa il tutto è basato sul fatto che le singole operazioni matematiche sono per loro natura troncate o approssimate: se 3/2 è banalmente 1.5, al contrario 5/3 a secondo del tipo di approssimazione la si può valutare come 1.67 o 1.666667 o 1.66666666666666667 ......: se si considera come per calcolare il singolo fotogramma occorrono milioni di operazioni del genere, è evidente come la valutazione dell'errore globale non è banale. 
Nell'mpeg lo standard così come è stato formalizzato ha un certo grado di libertà quando si sceglie il metodo iDCT da utilizzare nel player HW o SW. In questo modo al player è lasciato un certo "margine" di approssimazione che rimane accettabile. Ciò che lo standard richiede ai decodificatori è che il metodo iDCT utilizzato risponda alle specifiche IEEE-1180 o, in parole povere, che l'errore che si ottiene dal metodo iDCT non vada oltre quello permesso dalla specifica IEEE-1180. In pratica chi scrive il sw, fa le sue approssimazioni nell'implementazione della IDCT e fatto il test IEEE-1180 può sapere se le sue approssimazioni sono accettabili o meno dallo standard. Non potendo accedere ai codici dei player commerciali, non è possibile dire se e quali di essi superano il test: la cosa che in realtà è possibile fare è paragonare visivamente le immagini prodotte da un sw che supera il test IEEE-1180 (ad esempio il DVD2AVI v11/18
http://hiroko.ee.ntu.edu.tw/ ) con quelle prodotte dai player in esame; è quello che ho fatto (i risultati sono presenti nell'articolo DVD per PC il punto )

Un'ultima possibilità di ottimizzazione dei player sw è quella di decomprimere il video fruttando l'ausilio dell'hw di alcune schede grafiche ottimizzate per l'mpeg: attualmente sono poche tali schede, e le più importanti sono le ultime schede ATI (chip rage 128, rage 128 pro e Radeon ) capaci di assistere la compensazione del moto e di fare la IDCT (trasformata coseno inversa) via hw e tutte le ultime schede Nvidia (chip GeForce256 (NV10) , i successivi GeForce2 GTS, MX e Ultra (NV15) , e il futuro NV 20 ) dotate di assistenza hw alla compensazione del moto. Tra le due "assistenze Hw" solo la IDCT supportata dall'hw è in grado di migliorare la qualità del video mentre la compensazione del moto assistita  diminuisce il carico di lavoro della CPU, ma non incrementa la qualità del video.

Riguardo la qualità del video ottenibile con i diversi player sw vi rimando all'articolo relativo : DVD per PC il punto. Ecco la "classifica finale":

In conclusione, per la qualità del video, se PowerDVD 3.0 è in maniera evidente al di sotto dei primi tre in classifica, il Cinemaster, Windvd e DVD Express nelle scene più semplici e ad una analisi superficiale, producono risultati simili; in presenza di scene "difficili" come ad esempio dei sottili gradienti di colori con sfondi uniformi, il Cinemaster saluta i rivali ponendosi indiscutibilmente al di sopra degli altri, grazie ad una decodifica perfettamente uguale a quella "teorica massima"

Nell'ottica di questa attuale "carenza di potenza di calcolo", riguardo l'approccio dei player sw alla visualizzazione dei diversi formati di video è impossibile pretendere elaborazioni impegnative  (pull down 3:2 inverso, metodi "intelligenti") che richiederebbero al contrario grosse potenze di calcolo. Tutti i player sw, sotto il consiglio di "mamma Microsoft", utilizzano due possibili metodi di visualizzazione chiamati BOB e Weave: tutti i sw prevedono il settaggio in automatico della modalità più adatta e spesso è possibile anche forzare il metodo desiderato.

Nel caso di PowerDVD la selezione la si fa tramite configurazione video/modalità video : nel caso dei player Cinemaster e WinDVD occorre modificare tali opzioni tramite il sw freeware  DVD Genie http://www.inmatrix.com/ .

 

La visualizzazione tramite il metodo Weave avviene semplicemente in 2 passaggi:

Per come è implementato,  il metodo weave deve essere utilizzato unicamente per la visualizzazione di video progressivo puro (i film) 

Il risultato coincide con l'operazione di deinterallacciamento in cui i campi pari e dispari vengono semplicemente composti  per formare il frame :tramite i fermo immagini e l'avanzamento per singolo fotogramma è così possibile analizzare esattamente come è codificato il video nel flusso di frame mpeg.

Voglio osservare come nel caso di video progressivo puro (i film) tale visualizzazione, se fatta con sw di qualità (vedi il cinemaster), è di una stabilità e pulizia incredibile: il limite è certamente quello legato alle dimensioni del monitor, visto che per cifre umane non è possibile andare al di là dei 19 pollici. Gli artefatti della compressione mpeg, immortalati nel DVD, appaiono inesorabili quando presenti, e ciò vale ancora di più nel caso di film male compressi in cui a fermo immagine è possibile evidenziare ogni problema.

Se si forza la modalità weave per tutti gli altri casi in cui sono ci sono le linee di discontinuità , la visualizzazione è ovviamente innaturale a causa della presenza delle discontinuità, ed occorre in tal caso utilizzare la modalità BOB, che analizzerò tra breve . Da notare come l'interpolazione a schermo intero rende nel caso di modalità weave in presenza di video interallacciato, tali discontinuità ancora più evidenti e fastidiose.

Nel caso  in cui il video presenta le linee di interallaccio, i player sw non avendo la potenza di calcolo per identificare il video e fare particolari elaborazioni ( pull down 3:2 inverso, metodi intelligenti,.....) utilizzano la modalità BOB che altro non è che la ricostruzione dei due semiquadri tramite interpolazione e relativa visualizzazione progressiva a 50 fps nel caso PAL e a 60 fps per l'NTSC.

Ecco come funziona il metodo BOB:

Pertanto da ogni frame 720*576 (o 720*480) sono ricavati in questo metodo 2 immagini progressive, così che il video da 720*576 25 fps è trasformato in un video progressivo a 50 fps.
Devo osservare come le operazioni viste sono quasi completamente realizzate dalle schede video, grazie alla creazione degli overlay: per tale motivo l'incremento di utilizzo della CPU rispetto al caso weave è limitato a pochi punti percentuali. 

Se la modalità weave coincide con l'operazione di deinterallacciamento (banale visualizzazione progressiva del frame 720*576), la modalità BOB altro non è che il metodo di elaborazione di video,  supposto interallacciato,  tramite mediazione di linea

Nel caso di modalità BOB, nella visualizzazione di un fermo immagine, i diversi player utilizzano  un filtraggio di tipo BLEND sul frame originario; per realizzarlo vengono ricavati i due frame tramite BOB e in aggiunta vengono sommate le due immagini ottenute (per esattezza  viene fatta pixel per pixel la media matematica dei colori, somma diviso 2).

1)  frame  interallacciato    

      
2) Creazione dei due frame
 tramite metodo BOB
3) Somma (media matematica)
 delle 2 immagini
Il risultato è l'immagine originaria
con filtraggio blend 

 

Il riconoscimento automatico delle linee di interallaccio da parte del sw viene fatto semplicemente analizzando i frame ogni 1-2 secondi e valutando l'entità della presenza di discontinuità tra righe: in presenza di discontinuità viene utilizzato il metodo bob , in caso contrario ( video progressivo puro  ) la modalità weave.

Riguardo tutte le questioni relative al discorso dei frame ripetuti per la creazione del segnale di uscita, poichè il player sw non può preoccuparsi della frequenza verticale del monitor (nei PC questa è spesso fissata attorno agli 85 Hz per monitor di qualità) l'approccio è diverso: tramite il timer del pc, che ha precisioni elevatissime, il player si preoccupa di mantenere i 25 (o 50 nel caso BOB)  fps richiesti (30 o 60 per il NTSC): in parallelo sarà la scheda video a pilotare la freq. orizzontale e verticale del monitor e indirettamente a fissare le ripetizioni nella visualizzazione dei frame. L'unico accorgimento da parte del player sw, è quello di immettere nella memoria video il frame decompresso solo in corrispondenza dell'istante in cui il il pennello elettronico del monitor inizia a disegnare la prima riga: si parla di "aggancio al refresh verticale". 

Termino con una domanda che i più attenti si saranno posti: che succede se visualizzo con la modalità BOB un video progressivo puro ? La cosa la si può provare tramite le opzioni di selezione "forzata" Weave o BOB. 

La risposta è semplice: il player non fa altro che ricavare stupidamente i due semiquadri applicando il doppio procedimento di interpolazione del metodo BOB; ovviamente non c'è alcun motivo logico per fae ciò (grazie al cielo i sw non sono dei filosofi!).

Il risultato è un video caratterizzato da una risoluzione verticale di 288 punti invece che 576 (caso PAL). Il dimezzamento della risoluzione produce effetti visibili su tutti i particolari più piccoli dell'immagine, anche se in generale questa appare ovviamente più sfocata e definita.

Nell'esempio che riporto, preso dal cartone animato Tarzan, la minore risoluzione è evidente sui baffetti , le rughe e la bocca del personaggio. In basso sono visualizzate le stesse immagine raddoppiate in dimensione.

frame visualizzato correttamente in modalità Weave frame visualizzato erroneamente correttamente in modalità BOB

 

Ho concluso: come al solito per pareri e osservazioni potete scrivere al mio indirizzo di posta benedettodue@tiscalinet.it  

24 agosto 2000

Ultimo aggiornamento 5 dicembre 2000

 

Ritorna alla pagina digital video

Ritorna alla home page