Newsgroup: it.comp.software.divx
Titolo: [XviD] Domanda tecnica sui film in bianco e nero

Ho provato a comprimere a 700 Mb un paio di film in bianco e nero da
MPEG-2, attivando nel codec xvid:
Trellis quantization
Grayscale encoding
Chroma optimizer
Il risultato mi è sembrato normale, niente di spettacolare.
L'unica cosa è che a occhio il Grayscale mi ha fatto risparmiare
un'ora di tempo per ogni film.
Invece qualche giorno fa avevo usato Trellis e Chroma (senza
Grayscale) per un VHSrip a colori, e il risultato mi è sembrato
decisamente buono, nonostante il basso bitrate, QF e DRF scarso.
Per buono intendo una buona definizione dei contorni e colori omogenei
senza puntini/macchie/sbavature/blur.
La domanda è: con i film in bianco e nero, mi servono Trellis e
Chroma? E questo Chroma ha davvero questo buon effetto sui film a
colori o è solo stata fortuna?
-- 
Paradoxally,
Jan AxHell

 colori o è solo stata fortuna?
boh.
da quanto leggo (nella guida di "andy panix" e nella man page di
mencoder), "chroma optimizer" dovrebbe avere effetti positivi su
alcuni tipi di filmato (ma non ho capito quali), ma in ogni caso
tende ad abbassare il PSNR (il PSNR e' un parametro basato sullo
errore quadratico medio tra i fotogrammi in ingresso e in uscita
al codec)

intuitivamente non dovrebbe avere effetto se attivi "grayscale".
Il suggerimento che appare sulla casellina di Chroma Optimizer è:
"Interpolates colors in brigth/dark areas for achieving a nicer edge
impression".
Ne deduco che nel VHSrip a colori che ho fatto, ha agito, mentre qui
essendo in grayscale non ha fatto nulla o quasi.
-- 
Paradoxally,
Jan AxHell

 essendo in grayscale non ha fatto nulla o quasi.
secondo me non ha fatto nulla.
dovresti provare a fare qualche codifica, sempre con "grayscale"
attivo, ma variando i parametri "chroma motion" e "chroma optimizer";
secondo me dovresti ottenere sempre lo stesso risultato, perche'
l'attivazione di "grayscale" dovrebbe disattivare automaticamente
gli altri due (anche se l'interfaccia continua a consentirti di
selezionarli/deselezionarli)
questo perche' quelle due opzioni lavorano sulle componenti
cromatiche (Cb/Cr) dei fotogrammi, e nel caso di "grayscale" tali
componenti vengono segate/ignorate...

componenti vengono segate/ignorate...
Sě, immagino sia cosě. Tuttavia trovo che sia fuorviante non
disabilitare le opzioni che si escludono a vicenda (almeno nella build
per win32).
-- 
Paradoxally,
Jan AxHell

 non necessitare di particolare risparmio.
anch'io penso cosi'. lo stesso vale per altre quantizzazioni adattive.
e' il contrario di "quarter pixel" che dovrebbe essere usato solo se
si dispone di spazio in abbondanza.

si dispone di spazio in abbondanza.
Farň tesoro di questa affermazione, non ho una mente matematica
(o forse ce l'ho, ma sono pigro e piů incline alle arti ;P ), quindi
mi perdo quando leggo cosa sono e come funzionano le quantizzazioni,
ma cosě avrň una linea di massima da seguire.
Fino ad ora ho sempre usato l'adaptive quantization alla boia su
tutto.. Ora per i 1400 proverň a disabilitarla :-)
Il fatto č che tutte queste piccole impostazioni hanno effetti che
sono difficili da cogliere ad occhio nudo/non abituato.
-- 
Paradoxally,
Jan AxHell

 sono difficili da cogliere ad occhio nudo/non abituato.
se non vedi differenze a occhio nudo, allora non dargli tanto peso :-)

se non vedi differenze a occhio nudo, allora non dargli tanto peso :-)
Mmmm, sono quasi-perfezionista, se scopro qualcosa che migliora ciò di
cui mi occupo, lo applico :-)
-- 
Paradoxally,
Jan AxHell

 necessità?
piu' o meno... ma nei codec video la situazione e' molto piu'
ingarbugliata: un'immagine, o meglio una zona di immagine viene
trattata come segnale da scomporre in una serie di segnali periodici
a diverse frequenze e ampiezze; i coefficienti cosi' ottenuti, che
corrispondono alle diverse frequenze, vengono quantizzati, ma in modo
diverso, in base a "matrici di quantizzazione" (per i codec di tipo
mpeg4 si usano generalmente specifiche matrici che si chiamano "H.263";
e' possibile usare matrici definite a piacere dall'utente ma non credo
che sia una buona idea...);
matrici diverse corrispondono a diverse scelte di "modelli di percezione
visiva": l'idea e' che, sperimentalmente sappiamo che siamo piu'
sensibili a certe frequenze e meno ad altre, quindi e' meglio
riservare una maggiore accuratezza a quelle piu' sensibili...
gli effettivi passi di quantizzazione sono poi ottenuti tenendo conto
di un altro parametro, che puo' essere fisso (nel caso in cui hai
scelto di fare una codifica a qualita' costante) oppure puo' essere
calcolato di volta in volta da un meccanismo retroattivo di "rate
control" (una specie di termostato di un impianto di riscaldamento),
che cerca di fare la scelta che mantenga il bitrate il piu' possibile
aderente a una curva di riferimento (immagina un termostato
programmabile, a cui puoi dire che da una certa ora a un'altra ora
la temperatura deve essere a un certo valore, ecc.; lui cerchera' di
regolare il riscaldamento in modo da attenersi a quella curva).
se scegli una codifica a un solo passo, la curva sara' la piu'
semplice possibile, cioe' una retta costante al target bitrate
(come un termostato programmato per mantenere la temperatura sempre
allo stesso valore); se scegli una codifica in piu' passi, la
curva di riferimento sara' stimata al passo effettuato in precedenza.
le "quantizzazioni adattive" sono un ulteriore complicazione di
questo meccanismo...
ad esempio: si suppone che in un fotogramma che rappresenta una
persona in primo piano a fuoco ben illuminata e uno sfondo scuro,
se l'immagine fosse comunque parecchio definita nello sfondo scuro
sarebbe uno spreco di bit rappresentare accuratamente tutti i
dettagli dello sfondo, perche' tanto nessuno ci farebbe caso...
quindi i codec permettono di definire delle soglie (o "maschere") in
modo da quantizzare piu' pesantemente le zone all'interno dei
singoli fotogrammi che hanno un grado di luminosita' al di sotto
(o al di sopra) di tali soglie. ho visto che questi tipi di
quantizzazioni adattive vengono chiamati anche "psychovisual model"
in altri contesti. oltre a questi che ho menzionato ce ne sono
altri.
comunque e' abbastanza rischioso agire su questi parametri, perche'
una scelta potrebbe dare risultati apparentemente buoni in certi
punti di un filmato, e pessimi in altri...
anzi, addirittura ho letto di casi di filmati che sembravano
ottimi visti su un certo monitor e rivelavano molti difetti se
visti su altri...

altri.
[...]
Spettacolare. Non mi hanno insegnato cosa sono le matrici, me il tuo
post è una delle migliori ragioni per cui usare internet e usenet:
parlare con persone che ti insegnano qualcosa. L'applicazione di
modelli matematici alla percezione visiva è semplicemente
affascinante. Grazie Frank, è un piacere farti delle domande. 
-- 
Paradoxally,
Jan AxHell

 Grazie Frank, č un piacere farti delle domande. 
di nulla.
in realta' ho tralasciato moltissimi aspetti importanti...
magari verranno fuori in una prossima occasione.

magari verranno fuori in una prossima occasione.
Si, ma tanto io ne so zero e già quel che mi hai detto è stato
illuminante. Almeno adesso ho un'idea generale di come funzionano i
codec. :)
-- 
Paradoxally,
Jan AxHell

 statistica?
non lo so.
credo che quelle che vengono usate siano state "scoperte" un po'
su base teorica/intuitiva e un po' su base sperimentale.