Newsgroup: it.hobby.home-cinema
Titolo: Sull'HTPC e la fluidita'

Ciao a tutti,
 mettiamo un po' da parte tasselli, trapani e caschi di vario genere,
e parliamo un po' di progressive scan (PS), HTPC e cose simili.
 Ho letto, un po' in ritardo, un paio di post di Linomatz e di Peter,
che mi hanno stuzzicato a provare ad affrontare l'argomento, non senza
la logorrea che mi contraddistingue, non fosse altro per venire
incontro a chi sa poco o nulla sull'argomento.
 Premetto che il mio background e' strettamente legato alla
programmazione di videogiochi sia per C=64, che per Amiga, che per PC,
quindi posseggo un discreto bagaglio di conoscenze legate alla
programmazione grafica real-time, sia 2d che 3d. Non sono un guru, ma
quando mi ci metto tiro fuori cose degne di nota (vedi Breathless per
Amiga). La premessa e' per sottolineare che non sparo cavolate per
sentito dire, ma per averle toccato con mano in maniera approfondita.
 Ahime', non ho pero' alcuna esperienza diretta di decodifica mpeg2,
per cui in questo campo parlo per sentito dire, facendo ricorso al
buon senso.
 Partiamo da un'affermazione di cui sono convinto e che forse non
trovera' d'accordo qualcuno: il PS, se ben trattato e visualizzato, e'
quanto di piu' simile ci possa essere ad una proiezione
cinematografica. Se i 24FPS delle pellicole cinematografiche non sono
di nostro gradimento, la colpa non e' del PS.
 Sappiamo che su un DVD i fotogrammi sono memorizzati, a partire dai
fotogrammi originali, in formato interlacciato, cioè prima il
semiquadro dispari e poi quello pari. Non e' che un modo come un altro
per memorizzare i fotogrammi in sequenza e, ad es., dieci fotogrammi
occuperanno venti semiquadri, niente di esoterico. Se visualizzo in
sequenza questi fotogrammi alla giusta velocita' (passatemi
l'approssimazione), otterro' lo stesso identico risultato che posso
apprezzare a cinema.
 Come dice Linomatz, prima di visualizzare un fotogramma intero,
dovro' bufferizzare il primo semiquadro, fonderlo con il secondo e
finalmente visualizzare il risultato. Questa e' una procedura di
recupero dati che non comporta alcuna particolare perdita di tempo che
determini un qualche genere di mancanza di fluidita'.
 Se non intervengono ritardi o accelerazioni, o qualunque altro evento
disturbante, la visualizzazione interlacciata di materiale
cinematografico non puo' essere piu' fluida della corrispettiva
visualizzazione progressiva, perche' consiste nel visualizzare in
sequenza ad una velocita' doppia i semiquadri di ogni singolo
fotogramma e i fotogrammi di partenza sono sempre e comunque 24 al
secondo. In altre parole l'interlacciato visualizza 1/2 frame in 1/50
di secondo, invece che 1 frame in 1/25 di secondo.
Semmai introduce gli artefatti di cui tutti sappiamo. Ad essere
precisi, in PAL la riproduzione avviene a velocita' piu' che doppia,
ma fluida (50Hz). In NTSC (60Hz) la riproduzione e' tutt'altro che
fluida, per colpa del 3-2.
 Abbiamo usato la parola fluidita', sul cui significato e' bene
intendersi, almeno relativamente all'argomento in discussione. Che
questa definizione non trovi riscontro nel vocabolario, poco ci
interessa in questa sede: l'importante e' capirsi. Definisco "fluida"
un'animazione costituita da una sequenza di fotogrammi visualizzati ad
una cadenza temporale regolare. Ogni fotogramma deve cioe' essere
visualizzato esattamente dopo un tempo t dal precedente. Se questo t
dovesse variare sensibilmente, avremo un'animazione non fluida. Un
basso numero di fotogrammi al secondo, dovuto ad un tempo t
relativamente alto, puo' fornire un'animazione che puo' essere
identificata come poco fluida, ma che in realta' viene spesso definita
come "scattosa" in quanto si percepisce chiaramente un salto tra un
fotogramma e l'altro, dovuto alla scarsita' di fotogrammi al secondo
(ricordate Doom su un 486 20Mhz o peggio ?). La scattosita' non ci
interessa, visto che e' notevole al di sotto dei 20 FPS circa e che,
come vedremo, qui parliamo di un numero di FPS sufficientemente alto.
 Torniamo al nostro DVD, su cui abbiamo, per materiale di origine
cinematografica, i nostri bravi 24 fotogrammi al secondo. Quello che
desideriamo e' visualizzare il film presente sul DVD sul monitor del
computer o su un videoproiettore di adeguata qualita'. Per ottenere la
giusta velocita' di riproduzione e' necessario un numero di FPS
multiplo di 24, altrimenti dovremmo adottare delle tecniche di
interpolazione e/o aumentare/diminuire la velocita' di playback.
 Siccome non mi risulta esistano monitor capaci di supportare 24FPS,
allora 48, 72 e 96 FPS sono i migliori candidati. In questo modo ogni
fotogramma verra' visualizzato 2, 3 o 4 volte di seguito, senza
bisogno di alcuna particolare interpolazione.
 Perche' allora su un HTPC nei panning lenti si notano alcuni saltini
?  Entriamo nel campo delle speculazioni, adeguatamente supportate da
un po' di logico buon senso.
 Quando realizzavo le routine di scrolling per C=64 o Amiga, era
facile commettere un errore di aggiornamento dei registri HW, per cui
ogni 8 o 16 pixel si verificava una pausa di un frame oppure si
saltava un frame. Questo era visibile come un caratteristico salto
nello scrolling che altrimenti sarebbe stato di una fluidita'
perfetta. Riportiamo questa esperienza nel campo della riproduzione
dei DVD, immaginando di essere a 48 FPS o Hz. Ogni fotogramma va
visualizzato 2 volte. Che succede se occasionalmente, per qualche
motivo, il fotogramma successivo non e' ancora disponibile ?  Beh,
succede che il fotogramma attuale viene riprodotto 3 volte e che il
successivo viene ritardato di 1/48 secondi, e questo ritardo e'
fastidiosamente notevole.
 A 72 Hz il ritardo puo' essere inferiore, cioe' di 1/72 secondi, e
meno notevole, ma e' decisamente piu' probabile, perche' ogni frame
dura 1/3 in meno e in meno tempo ci sono piu' probabilita' che qualche
evento ritardi la disponibilita' del frame successivo. Stesso discorso
per i 96, 120 e cosi' via Hz. Chiaro il discorso, no ?
 Perche' e' possibile che un fotogramma non sia disponibile quando
deve ?  Il problema e' che il PC non e' una macchina dedicata
all'elaborazione grafica real-time, ma una macchina tuttofare che e'
stata adattata a tale scopo a suon di schede e toppe varie (che bello
che era l'Amiga...). Schede controllate da driver software per
garantire una compatibilita' piu' teorica che pratica. I punti in cui
un esecuzione potrebbe incespicare sono innumerevoli e questa potrebbe
essere (IMHO, sicuramente e') una fonte di problemi.
 Ho letto poi su AVSForum che la decodifica video dei DVD e'
sincronizzata al clock audio che, sui lettori da tavolo, e' in qualche
modo sincronizzato con il refresh video. Se questo e' vero e se anche
su PC viene utilizzato il clock audio per il decoding, beh, altra
fonte di problemi, visto che su PC la parola sincronizzare, riferita
ad applicazioni multimediali, e' stata aggiunta al vocabolario con la
matita.
 Quindi, supponendo di rimuovere tutte le fonti di ritardo o di
mancata sincronia nella riproduzione di un DVD su PC, la riproduzione
di un DVD in PS e' virtualmente esente da scatti, e' fluida ed e'
sicuramente indistinguibile dal corrispettivo cinematografico (non
parliamo qui di risoluzione e qualita' dell'immagine). Le fonti di
ritardo sono, secondo me, ineliminabili con l'architettura hardware
attuale ma sicuramente (non senza una buona dose di fortuna e
smanettamento) minimizzabili.
 Spero di non aver annoiato nessuno, di essermi fatto capire (uhm...),
e di non aver scritto troppe cavolate (il tempo e' quello che e':
poco).
 Ciao,
Alberto

 smanettamento) minimizzabili.
Saltando le ottime premesse che hai avuto la pazienza di scrivere, posso
dirti che non sono mai stato pienamente convinto della fluidita' sui pan
lenti dei miei HTPC.
Guarda che dicendo questo sconfesso una mia religione, ma voglio essere
onesto, non sto a sciorinarti la configurazione hard-software, ma qualche
incespicamento ogni tanto c'e'.  Non ho un lettore dvd stand-alone per fare
prove dirette, ma col mio dlp ho prvato tutti i refresh, 72, 96 etc, ma
siccome il mio dx3 ha fenomeni di tearing soprai 60 Hz lo tengo sempre a 60.
Ok per i 24 fps e i suoi multipli , ma il pal esce poi a 50 .
ciao
dubmaster

Taglio tutto per non quotare inutilmente e aggiungo ...
... e se qualcuno si è dimenticato di attivare il V-Synch?
Per chi non lo sapesse con il V-Sync attivo il nuovo fotogramma prende il
posto di quello precedente solo quando è già stato visualizzato. Se invece è
disattivo, c'è la possibilità che il SW sostituisca il fotogramma mentre è
in fase di visualizzazione. Il fotogramma sul video sarà così composto da
due pezzi di fotogrammi consecutivi.
--
Davide Granzotto

Caro Alberto, come si dice,
in teoria tutto funziona, e' nella pratica che casca l'asino!
Non c'e' niente di piu' analogico del suono di una tromba
o della voce di una soprano, ma solo su questa base,
dire che l'analogico e' meglio del digitale,
e' dura, molto dura!
Sappiamo quali e quante sono le variabili che entrano
in discussione sia su un tema che sull'altro
che il nostro asino puo' inciampare ad ogni battito di ciglia!
Nei miei precedenti inteventi su questo argomento,
ho sempre premesso la quasi impossibilita' di
stabilire con quale materiale video si ha a che fare.
Compressione MPEG, 3:2, 2:2, Motion Compensation,
24 fps, PAL, NTSC, 50Hz, 60Hz, loro multipli,
telecamere, cineprese, computer grafica,
interlaccio e deinterlaccio, scaler,
macchina telecine, sincronismi, delay, dolby,
e se un DVD in PAL fosse un riversamento dallo stesso in NTSC,
ti senti di escluderlo?
Metti tutte queste cose insieme e facci un film!
Che potrai mai ottenere se non un accozzaglia di difetti?
E siccome non ci bastano, ci aggiungiamo
pure intere linee di risoluzione se non interi frame
completamente inventati, interpolati!
In mezzo a questo gran caos, chi puo' cavarsela
meglio di un computer ?
Niente e nessuno!
--
Ciao,
linomatz
http://web.tiscalinet.it/linomatz

> Ok per i 24 fps e i suoi multipli , ma il pal esce poi a 50 .
Non solo, non dimentichiamo che viene telecinemato a 25 fps!!!! (al
contrario del NTSC, il cui procedimento in telecinema non comporta alcuna
accelerazione).
Quindi le frequenze (teoricamente) migliori per prevenire la scattosita'
dovrebbero essere multiple di 25 non di 24!!
Ciao
Gianmario

Niente e nessuno!
 Perdonami Lino, ma non ho capito se sei d'accordo con me o no!
 Mi dici che nessuno puo' cavarsela meglio di un computer ?
 Se il DVD e' realizzato senza errori, sono assolutamente d'accordo!
 Pero' intervengono altri fattori e i saltini ci sono e si vedono.
 Quel che e' certo e' che i saltini non sono generati dal processo di
deinterlace, che per i DVD e' semplificato dalla presenza dei vari
flag per ogni semiquadro, ma generati dal player (il PC, nel nostro
caso) o al limite contenuti nei DVD realizzati male. Se, per assurdo,
si potessero evitare i piccoli disturbi che generano i saltini nella
riproduzione di un DVD, il progressivo sarebbe migliore
dell'interlacciato a tutte le dimensioni di schermo. Il problema e'
quel "SE".
 Ciao,
Alberto

Ok per i 24 fps e i suoi multipli , ma il pal esce poi a 50 .
 E con cio' ?
 Parlavo di monitor e  proiettori multisync. Dei 50 e 60 Hz di PAL e
NTSC non c'interessa.
 Ciao,
Alberto



 ???
 Ciao,
Alberto

 flag per ogni semiquadro, ma generati dal player
E' in questo passaggio che non sono d'accordo!
Perche' vuoi ritenere il processo di deinterlaccio esente da errori?
Che siano errori diretti o causati da facili interferenze,
poco cambia!
Cosi come nel campo audio digitale non si puo'
fare a meno del ''correttore d'errori'', in quello video
si ha necessita' di altri salti mortali come
il ''motion compensation''.
Ti ricordo che in molti film, troviamo contemporaneamente,
girato da pellicola a 24 fps, animazione al computer a 60Hz
e materiale video in betacam.
Nel visualizzare dal DVD tutta questa roba dopo averla
messa insieme, digitalizzata tutta, prodotte le copie
in pellicola, presa una copia in buone condizioni,
piazzata in una macchina telecine, trasformata
in interlacciato per i vari standard video,
compressa in Mpeg (oh, Madonna!) e
dopo l'authoring finalmente stampata su DVD,
tu pretendi ancora di vederla bene?
Ogni fase nasconde delle insidie,
il de-interlaccio puo' essere perfetto
in chiave teorica, cosi' come il suo precedente
interlaccio, ma poi, veramente, che diavolo e' successo?
Boh!
La cosa che simpaticamente fa riflettere
e' perche' le ''panoramiche lente'' siano il punto
di massima visibilita' di qualcosa che non e' andato
per il verso giusto!
Non che uno di quei ''flag'' ha detto alla scheda Mpeg
di variare la costante di compressione nella fase
di pre-mastering per guadagnare spazio?
E' un esempio che ho buttato li'!


per il verso giusto!
 E' solo una questione di percezione, null'altro.
 I panning lenti evidenziano meglio il problema perche', essendo
appunto lenti e durando sufficientemente a lungo, permettono
all'occhio di notare con maggiore facilita' un occasionale saltino
perche' forniscono maggiori riferimenti. Se i saltini fossero
regolari, ogni 50 frame ad esempio, si noterebbero anche nei panning
veloci che durano sufficientemente a lungo, stanne certo. Lo dico per
la solita esperienza nella realizzazione degli scrolling che non sono
sempre lenti ma anche veloci.
 Ciao,
Alberto

 confronto con i processori.
I film in DVD Pal non sono a 24 frame al secondo, ma a 25. Il film è
memorizzato già "accellerato", tanto che se vai a confrontare la durata di
un qualsiasi film PAL con la versione R1 NTSC noterai che quest'ultima dura
un po' di più. Per questo motivo, credo, il refresh rate giusto dovrebbe
essere un multiplo di 25 e non di 24.
--
----
---------------------
Saluti
Lorenzo

essere un multiplo di 25 e non di 24.
 Questo mi risulta nuovo!
 Hai qualche riferimento bibliografico in proposito ?
 Mi piacerebbe approfondire.
 L'unico riferimento che ho (per la verita' alquanto autorevole) parla
di 24 fps, ma con l'audio codificato per tener conto di quel 4% di
speed-up.
 Ciao,
Alberto

  E' solo una questione di percezione, null'altro.
E' un dubbio che ho sempre avuto!
I microscatti ci sarebbero per tutta la durata del film?


 essere un multiplo di 25 e non di 24.
Io sono piccolo e nero e nessuno legge i miei post...
Ciao
Gianmario

>  Questo mi risulta nuovo!
Noooo!!!
Ciao
Gianmario



 :)
 Il tuo post l'ho letto. Invece di rispondere a tutt'e due, ho
risposto solo a Lorenzodes. La prossima volta rispondo anche a te! ;)
 Ciao,
Alberto 

I microscatti ci sarebbero per tutta la durata del film?
 Assolutamente si!
 Non si notano perche' l'azione sullo schermo non e' tale da
evidenziare il problema all'occhio umano.
 Ciao,
Alberto

 qualita' d'immagine come sta' messa ?
Quella su monitor (ottenuta con la tecnica dell'Overlay) è scarsa,
specialmente se paragonata a qualsiasi suluzione Radeon et similia. Su TV è
veramente molto buona. Comunque ieri ho cercato le specifiche del chip
Auravision che si occupa dell'overlay ma sono assolutamente introvabili,
visto che la ditta produttrice ha cambiato nome nel 1999 (in SkyTune) per
poi scomparire dalla faccia della terra.


fastidioso scattino...
Non so se quello che sto puo' aiutare, ma...
Dicono che le Matrox, per quando inferiori in altri aspetti, siano
piu' *fluide*... se cio' e' vero, sarebbe un problema dell'
architettura della scheda video.
Ogni volta che vedo lo schema a blocchi delle sezioni di decodifica
video dei dvd, non manca mai un generatore di clock, che e' sempre in
collegamento con la parte di decodifica audio; qualcuno (e mi scuso se
non lo ricordo) aveva detto che la qualita' della decodifica e' in
qualche modo in relazione con il tipo di scheda aiudio usata (mancato
funzinamento di programmi di decodifica dvd in assenza di scheda
audio!).
 Dove viene generato il clock per la visualizzazione di immagini da
file Mpeg-2? Quale importanza ha la buona comunicazione/eventuale
incompatibilita' tra scheda video ed audio?
Magari sono osservazioni stupide, visto che di PC non so quasi niente,
ma non le ho mai viste fare... 
--
Ciao,
Bosef.
Hai la pressione bassa, nell'anima.

ma non le ho mai viste fare... 
 No, non sono stupide. Purtroppo pero' la risposta a tali domande
presuppone un approfondimento che va oltre la mia disponibilita' di
tempo. La mia sensazione pero' e' che in qualche modo le varie
componenti del sistema interagiscano tra di loro creando problemi
(rallentamenti) ad una procedura time-critical come la riproduzione di
un DVD. E non parlo solo di HW ma anche di SW (driver).
 La prima cosa da sapere, secondo me, e' dove i vari decoder software
prendono il clock e come sincronizzano audio e video. Puo' anche
essere che la fonte dei problemi sia tutta li.
 Ciao,
Alberto

 incompatibilita' tra scheda video ed audio?
Se tu hai un po' di tempo prova a disabilitare la scheda audio da "gestione
periferiche" e verifica se il player funge e se è in grado di riprodurre un
DVD.
Se il player funge sappiamo che il clock lo prende altrove. Se non funge
allora dovremmo trovare il modo di scoprire se è perché gli serve il clock
della scheda audio o perché, semplicemente, il player è stato pensato per
l'uso esclusivo con un PC dotato di scheda audio.


 wrote in message
news:vc9eit05svbnvi6br...@4ax.com...

Cosa non è chiaro?
La funzione V-Sync? o La sua rilevanza in questo thread?
--
Davide Granzotto

meglio di un computer ?
...
spero il programmatore del sw che gira sul computer ...
;-)
Just a joke,
Ciao,
Rol.

poco).
chiaro, molto ragionevole e condiviso.
Ciao,
Rol.
PS mi sa che la storia dei 25 fotogrammi al secondo è proprio vera,
sai, la storia che le TV lavorano alla frequenza di rete AC di 50 Hz
si sposa bene ...

si sposa bene ...
 Se e' vera, non penso sia per questo motivo. Il player puo'
tranquillamente prelevare 25 frame al secondo invece dei 24
memorizzati sul DVD, con conseguente aumento della velocita' del film
e riduzione della sua durata. Il sonoro pero' sarebbe riprodotto ad
una tonalita' piu' alta.
 Se qualcuno trova documentazione a proposito, mi piacerebbe leggerla.
 Ciao,
Alberto

 
Non conosco la realta', ma mi sembra molto piu' sensato mettere il film 
su disco esattamente come verra' visualizzato (cioe' 25fps) piuttosto che 
fare strane cose tipo video a 24/audio a 25 con accelerazione dal player, 
di cui non si capirebbe tra l'altro l'utilita' visto che i dvd PAL 
verranno visualizzati solo ed esclusivamente a 25fps.



 Ma pensiamoci un attimo: i fotogrammi di film vanno memorizzati su
DVD PAL esattamente a 24fps per ottenere il famoso 4% di speed-up di
cui si parla (25/24*100). Quindi, pensandoci bene, e' *certo* che
anche sui DVD PAL i film sono memorizzati esattamente come sui DVD
NTSC, senza nessun fotogramma aggiunto o eliminato. E' il player che,
seguendo le istruzioni del flusso mpeg, effettua il 3-2 o il 2-2
pulldown. Quindi 24 fotogrammi di un secondo di film vengono
visualizzati in un secondo (circa) in NTSC (12*3 + 12*2 = 60 frame
dell'NTSC) mentre vengono visualizzati in 0.96 secondi in PAL (12*2 +
12*2 = 48 frame da moltiplicare per la durata di un frame PAL, cioe':
48 * 1/50 = 0.96).
 Si, decisamente ora i conti tornano.
 A questo punto manca all'appello l'audio. Se viene memorizzato su DVD
senza nessun pitch shift, il risultato sara' un audio di una tonalita'
leggermente superiore (mezzo semitono, mi pare), notevole solo ad un
orecchio molto allenato. Ecco perche' leggevo del fatto che l'audio
viene elaborato per abbassarne il tono prima dell'encoding.
 Ad ulteriore supporto, riporto alcuni passi da una famosa FAQ:
http://www.dvddemystified.com/dvdfaq.html
*	*	*	*	*	*	*	*
Coded frame rates of 24 fps progressive from film, 25 fps interlaced
from PAL video, and 29.97 fps interlaced from NTSC video are typical.
MPEG-2 progressive_sequence is not allowed, but interlaced sequences
can contain progressive pictures and progressive macroblocks. In the
case of 24 fps source, the encoder embeds MPEG-2 repeat_first_field
flags into the video stream to make the decoder either perform 2-3
pulldown for 60Hz (59.94) displays or 2-2 pulldown (with resulting 4%
speedup) for 50Hz displays. In other words, the player doesn't really
"know" what the encoded rate is, it simply follows the MPEG-2
encoder's instructions to produce the predetermined display rate of 25
fps or 29.97 fps. 
A computer can mostly ignore the repeat_first_field flags and
re-interleave (weave) the video fields back into full-resolution
progressive frames, which works especially well at 72 Hz refresh rate
(3x24). 
*	*	*	*	*	*	*	*
Video from film is usually encoded at 24 frames/sec but is
preformatted for one of the two display rates. Movies formatted for
PAL display are usually sped up by 4% at playback, so the audio must
be adjusted accordingly before being encoded
*	*	*	*	*	*	*	*
 Attenzione! Faccio notare che dove dice che i film sono preformattati
per una delle velocita' di display, si riferisce ai flag
"repeat_first_field" e "top_field_first" che devono essere indicati in
modo diverso tra PAL e NTSC per ottenere una corretta decodifica per
display interlacciati (televisori).
 Ciao,
Alberto

essere che la fonte dei problemi sia tutta li.
Ihmo, sarebbe un grosso contributo quello di chiarire il punto.
Speriamo...


l'uso esclusivo con un PC dotato di scheda audio.
Chi fa la prova? ;-)


A naso, sembrerebbe un problema della architettura PC.
 Quello che dicevo io. E' senz'altro cosi'
 Ciao,
Alberto