Newsletter    .::.    Open Directory    .::.    Newsgroups    .::.    Forum    
Quelli che il PC...
Home del Canale
    Home     File-sharing     DivX    
  Ciao, gannjunior La tua pagina personale   Messaggi privati   Logout
   
Home Forums   Discussioni recenti   Archivio delle discussioni   Statistiche e Top del forum   Le tue discussioni preferite o da seguire   Le discussioni per le quali hai richiesto la notifica via email in caso di replica   I membri della community              Sezione download del canale DivX Discussioni per principianti? Forum DIVX NEWBIES
ATTENZIONE! Leggere il Disclaimer ed attenersi al Regolamento

Questo Forum è moderato da: Mauro

INDICE FORUMS » DIVX QUALITY » B-frames : alla ricerca della verità.
Nuova discussione   Rispondi

4 pagine ( 1 | 2 | 3 | 4 )
Autore B-frames : alla ricerca della verità.
gannjunior



Registrato il: 28-05-2002
Messaggi: 239


Da: Genova

 Inserito il 10-07-2002 | 17:51   
Facendo uno stesso film 1passQ100 con e senza b-frames sono sempre stato propenso,spazio permettendo, a scegliere quello senza B-frames: quest'ultimo era sempre un pò meglio.Nel 2pass avevo notato,nei log, la frase"bidir mult 2.000" ma nn ne comprendevo il significato : Alex mi ha spiegato ke "si dice" stia per "moltiplicatore per i B-frames = 2". Zoltan nell'occasione d quel post disse:"...se permettono di risparmiare il 30% dello spazio vuol dire che hanno meno informazioni.
Il quant non è un indice di qualità, ma di occupazione, no? E allora i b-frames hanno quant 4, quando noi impostiamo la massima qualità (cioè tutti a 2). Regge?..."Caro Zoltan probabilmente SI!
Ho cercato risposte dai signori della divx.com ma le ho trovate solo a metà.Su doom9 è andata meglio e ho trovato ke si può modificare l'effetto del moltiplicatore dal registro:
"There is no settings in the GUI for changing the B frame Quantizer multiplier but you can do it in the registry :
HKEY_CURRENT_USER\Software\DivXNetworks\DivX4Windows
Key "Bidir quant multiplier" by default it's set at 8192 and the Q multiplier is 2 so Qx=Bidir quant multiplier/4096

Bidir quant multiplier=8192 Qx=2.00
Bidir quant multiplier=7168 Qx=1.75
Bidir quant multiplier=6144 Qx=1.50
Bidir quant multiplier=5120 Qx=1.25
Bidir quant multiplier=4096 Qx=1.00 "
Tuttavia sia io ke Alex abbiamo provato,modificando i valori nel registro,ma senza effetti d sorta: cioè il moltiplicatore resta sempre a 2.

Dato l'argomento delicato,ho preferito introdurlo adeguatamente.Ora vengo al dunque: a noi manca la dimostrazione numerica ( alla quale magari c penserà Alex dopo le meritate vacanze: avete visto ke foto ha postato x farci soffrire?!! ).

Io penso d poter fare,diciamo,una "dimostrazione VISIVA" ke porta xò a risultati concreti.
Se è vero ke quel "mult=2" è un moltiplicatore di 2 allora i valore min.dei quantizers per i B-frames è =4. 4 però è da considerarsi ancora un valore d "qualità" e,dato ke i nostri divx sono sempre ben fatti, , nn ce ne accorgiamo così facilmente.
Ho pensato quindi che, per vedere se i B-frames hanno qualità X*2 ,sarebbe bastato alzare appena i quantizer (un aumento d 1 dei quantizers degli I e dei P frames genera una aumento d 2 dei B-frames...).Così ho volutamente forzato il codec in questo modo:

1) 1pass-10000-q=Q=4 senza alcun tools

2) 1pass-10000-q=Q=4 solo B-frames

Beh è facile intuire ke tutti i B-frames,data l'hp del moltiplicatore,devono essere a 8.E,se sono a 8,è FACILE VEDERLO.Bene ho fatto 1) e 2) sul capitolo 29 di "planet of apes": scena nel deserto con i cavalli in corsa.Inutile dire la visibile degenerazione qualitativa di 2): specialmente nelle scene veloci visibilissimi scubettamenti e belli grandi.Nn vi dico al fermo immagine...Posto 2 foto in semplice .jpeg, + ke esemplificative:

1) - no B-frames





2) - con B-frames



Bene questo certamente convince in modo ragionevole alcune mie impressioni visive. E' quindi ragionevole accettare che i B-frames subiscano una moltiplicazione *2 dei quantizers.

In attesa d una dimostrazione + profonda penso ke si possano trarre importanti conclusioni:se si vuole ottenere la max qualità e magari,grazie al divx5enc,vediamo ke il film può stare in 2cd(ipotizzando d usare 3cd solo dove è indispensabile), nn conviene usare i B-frames.
Paradossalmente,nei film ad 1 cd, dove normalmente,salvo film molto comprimibili, dobbiamo per forza usare una compressione maggiore( e quindi QUANTIZER + ALTI),sebbene i B-frames siano + necessari x contenere la dimensione, anke il loro "effetto negativo" è amplificato a causa del moltiplicatore e dei quantizer medi + elevati assegnati agli I e P.

x vostra curiosità verificate le prove 1) e 2).
Aspetto con piacere degli approfondimenti.

Ciao

[ Questo Messaggio è stato Modificato da: gannjunior il 2002/07/10 18:14 ]





 Profilo    Modifica  Quota
Zoltan The Mage



Registrato il: 10-06-2002
Messaggi: 436


Da: Land Of Frost

 Inserito il 10-07-2002 | 20:44   
Quote:
Zoltan nell'occasione d quel post disse:"...se permettono di risparmiare il 30% dello spazio vuol dire che hanno meno informazioni.
Il quant non è un indice di qualità, ma di occupazione, no? E allora i b-frames hanno quant 4, quando noi impostiamo la massima qualità (cioè tutti a 2). Regge?..."Caro Zoltan probabilmente SI!





Non fa una piega.
La dimostrazione ci sta tutta, ci voleva proprio!


-----------------
Quando scoprirai di trovarti dalla parte della maggioranza, sarà giunto il momento di fermarti a riflettere.
-----------------
Zoltan The Mage
HM Portal Web Lord






 Profilo  www    Quota
Alex_e_Basta



Registrato il: 19-02-2002
Messaggi: 389

 Inserito il 11-07-2002 | 00:00   
@Gann
Veramente valida questa tua argomentazione e la dimostrazione visiva non fa una grinza: bravo!
Una piccola precisazione quando dici
Tuttavia sia io ke Alex abbiamo provato,modificando i valori nel registro,ma senza effetti d sorta: cioè il moltiplicatore resta sempre a 2.
Nel log del 1°passo viene riportato CORRETTAMENTE il valore di B-mult come da modifica del registro, la complexity cambia rispetto a quando si usa B-mult = 2, ma il 2° passo se ne sbatte tranquillamente (come fa del resto usando divx4log) e fa un pò come gli pare (o perlomeno così sembra a prima vista).

Detto questo occorre valutare come considerare i Quant dei B-frames nel calcolo della divx Quality:
vanno moltiplicati per 2 ?
oppure la perdita di qualità dovuta ai B-frames non è proporzionale al moltiplicatore ?

Mi spiego: raddoppiare un Quant significa ridurre la qualità del 50%; vale anche per i B che attingono informazioni sia dal P precedente che dal frame seguente e quindi hanno un errore di Motion Estimation inferiore?.

Questo è un argomento che richiede una pensata geniale da parte di tutti noi e soprattutto da parte di chi la formula della divx quality l'ha pensata (Elia e Mauro,credo).


-----------------
Ciao.
Alex
-----------------
Win2K Pro SP2, Athlon 1000 TB, Asus A7V133, 512MB SDRAM, Hercules 3D Prophet 2, SoundBlaster 64, 2xIBM 30GB (7200rpm)+1xWD 80GB (7200rpm), Pioneer 105SZ 16/40, Waitec 12/10/32.





 Profilo    Quota
gannjunior



Registrato il: 28-05-2002
Messaggi: 239


Da: Genova

 Inserito il 11-07-2002 | 01:15   
@Alex
Grazie!

"Nel log del 1°passo viene riportato CORRETTAMENTE il valore di B-mult come da modifica del registro, la complexity cambia rispetto a quando si usa B-mult = 2, ma il 2° passo se ne sbatte tranquillamente (come fa del resto usando divx4log) e fa un pò come gli pare (o perlomeno così sembra a prima vista). "

Ah,ecco!...Dopo le modifiche del registro(fatte a 1.00, 1.25, 2.75 e 3.00) ho guardato la dimensione finale e un'okkiata visiva e,dato ke le dimensioni erano identike e la qualità nn cambiava(rispetto a 2.00) nn mi è neanke venuto in mente d guardare il 1 passo...quindi...bah...mi sto kiedendo "a cosa diavolo serva il 1 passo??!!"...

"Detto questo occorre valutare come considerare i Quant dei B-frames nel calcolo della divx Quality:
vanno moltiplicati per 2 ?
oppure la perdita di qualità dovuta ai B-frames non è proporzionale al moltiplicatore ? "

Mmmm,moltiplicare semplicemente *2 sarebbe troppo facile : anke x te la modifica del quant analyzer . Osservando l'analyse.log mi viene da pensare ke la perdita nn sia sempre d 2. mi spiego:
sembrerebbe <=2.Sembra ke il codec, in base alla complexity, decida quanto può essere grande il moltiplicatore e quindi la perdita.Forse dobbiamo considerare B-mult = 2 come un limite superiore oltre il quale il codec nn va: cioè se i quant dei frames precedenti e successivi sono 2, AL MAX i quant dei B-frames sono 4.o forse è meglio dire ke certamente sono <=4.Stesso discorso con mult=3. E se è =1 sarà vero ke i quant sono identici a quelli dei P e degli I?
Sai cosa penso? ke si possa assimilare il moltiplicatore ad un "indice d pedita" relativo ai B-frames: il codec assegnerà un mult per ogni B-frames presente:se fosse possibile ricavare tale mult dall'osservazione dell'analyse.log e facendone poi la media saremmo a cavallo: se fosse,ad esempio *1,7 allora basterebbe soppesarlo per il totale dei B-frames...


Ciao


-----------------
WinXP PRO Win98SE, AthlonXP 1600@1850+(x ora..), Qdi Kudoz 7 , 512 Mb DDR 266, Geforce 2 Mx 400 64 Mb, Sound Blaster Live 5.1,HD Maxtor 40 Gb ATA 100 7200 rpm,LG Combo 12x8x32x, monitor Samsung SyncMaster 900IFT 19",Pinnacle studio PCTV rave





 Profilo    Modifica  Quota
Zoltan The Mage



Registrato il: 10-06-2002
Messaggi: 436


Da: Land Of Frost

 Inserito il 11-07-2002 | 02:18   
Quote:
Mi spiego: raddoppiare un Quant significa ridurre la qualità del 50%



Scusa Alex, ma il quant non è un indice di occupazione? I B frames, essendo diversi dagli altri, non credo abbiano un rapporto quant/qualità come gli altri.


-----------------
Quando scoprirai di trovarti dalla parte della maggioranza, sarà giunto il momento di fermarti a riflettere.
-----------------
Zoltan The Mage
HM Portal Web Lord






 Profilo  www    Quota
supercola



Registrato il: 24-03-2002
Messaggi: 613


Da: roma

 Inserito il 11-07-2002 | 10:45   
...mmm... molto interessante... credo che farò qualche prova....


-----------------
Win 2k,XP1700@2050+,a7a266,256MB266 samsung cas2,HD IBM ata100 7200rpm 30 GB, soundblaster live!5.1,matrox g400 32mb,pioneer 16/40,Liteon 32123s, raffreddamento manufatto "double twist&pipe"
Non smanettare è bene...ma smanettare è meglio :-D





 Profilo    Quota
Elia



Registrato il: 04-10-2001
Messaggi: 393


Da: Fano

 Inserito il 11-07-2002 | 12:30   
Nell'utilizzo dei bframes, ho l'impressione che si debba rivedere l'assioma che fà discendere la qualità oggettiva dal rapporto tra ingombro e ingombro ottimale.

Questo perchè, se non ho capito male, cambia profondamente l'algoritmo con cui il decoder ricompone l'immagine del singolo delta frames. Volendo semplificare non c'è più una semplice addizione riferita al frame precedente, ma anche una sottrazione riferita al frame successivo.

Ho provato a codificare uno spezzone di 20000 frames con bframes attivati e successivamente disattivandoli, stando ben attento ad ottenere due file di dimensioni uguali. Anche se l'avg quant è senza dubbio migliore con i b frames attivati, la resa visiva è migliore senza.

Ho l'impressione che il postprocessing perda qualche colpo quando trova i bframes!

A riprova, ho uno spezzone di Moulin Rouge, codificato con b frames più volte e con filtri di resize diversi, che si pianta su un frames, impallando sia WMP che BSplayer, ma che viene riprodotto correttamente da Virtualdub, senza che segnali alcun errore. Lo stesso, codificato senza b frames, non da alcun problema.

Ritengo anche io che l'argomento debba essere ulteriormente approfondito.

.... potrebbe farlo Alex mentre noi ad Agosto saremo in ferie....... io in Sardegna....


-----------------


Ciao, Elia





 Profilo  Email    Quota
strek



Registrato il: 18-01-2002
Messaggi: 397

 Inserito il 11-07-2002 | 12:43   
Qualche prova l'ho fatta...

Ho codificato un pezzetto con QualityBased Q=4 con e senza B-frames
Poi lo stesso a Q=8 senza B-frames.

Non ho tempo per postare immagini, comunque posso dare un giudizio personale...

Q4_No_B è chiaramente migliore del Q4_B nei frames "B" e uguale negli altri.

Ma il peggioramento dei frames "B" rispetto ai "P" non è paragonabile al Q8_No_B.
I frames "P" a Q4 sono buoni
I frames "B" a Q4 sono più "blokkettati" dei PQ4, ma più nitidi dei PQ8
I frames "P" a Q8 sono "blokkettati" + o - come i BQ4, ma molto più "sgranati" (qualcuno ricorda il "film effect" del postprocessing, ma molto più accentuato nei contorni)

Probabilmente la "qualità" del frame non è molto peggiore nel B rispetto al P, ma il minore bitrate aumenta i blokki...

Files dec:
Q4_No_B = 21.110.784 byte 152 KB/sec
Q4_B = 18.302.976 byte 132 KB/sec
Q8_No_B = 10.450.944 byte 75 KB/sec



P.S.: il tutto avviene solo in scene movimentate e quasi invisibile a velocità reale.
A occhio nudo, senza still, non c'è differenza fra Q4_B e Q4_No_B. Con il Q8 peggiora molto.

Avanti un'altro...


-----------------
Ciao
Strek
----------------
Win98, Athlon XP 1600+ @ 1900+, EpoX 8K3A, 256MB DDR 2700, ATI All In Wonder 128 16MB, firewire ATI DV Wonder, SBLive!, IBM 40GB ATA100 + IBM 13GB ATA66 (7200rpm), DVD-ROM Toshiba SD-M1212 6/32, Master. Traxdata 8432





 Profilo    Quota
Mauro



Moderatore
Registrato il: 30-08-2001
Messaggi: 1648


Da: Rimini

 Inserito il 11-07-2002 | 13:03   
La funzione del bFrame non è certamente quello di aumentare la qualità.
Ma, con una strategia brillante, di contenere al massimo gli ingombri.
D'altra parte, gli stessi deltaframes hanno questa funzione. I bFrames spingono al massimo (allo stato attuale) la compressione.
Inutile ricordare come lo scopo dei DivX 5.xx sia lo streaming, e quindi il problema degli ingombri (i bFrames possono far risparmiare dal 20 al 30% di spazio) risulti primario.

Ora un discorso interessante potrebbe essere: quanto si perde attualmente con i bFrames in termini di qualità e rapportandolo a quanto si guadagna in spazio, può essere conveniente ?

Spesso minime variazioni nella qualità si notano appena, o solo con una attenzione volta interamente a questo, attenzione che quindi non si avrebbe durante una normale visione.
200-300-400 Mb di ingombro in meno invece si notano sempre e possono essere decisivi per diminuire di un cd la codifica o inserirci l'audio in AC3 5+1 originale...

Ai posteri..., ecc ecc. ???


-----------------
Ciao
M a u r o
WinME, P4 1300, Asus, 384Mb Rambus, Rage Fury Pro/Xpert, SBLive 1024, Samsung 20Gb, Maxtor 80Gb 5400, Pioneer 10/40, Plextor 16/10/40, Panasonic 19"





 Profilo  Email  www    Quota
strek



Registrato il: 18-01-2002
Messaggi: 397

 Inserito il 11-07-2002 | 13:15   
Hei Mauro....

vedo che hai cambiato mobo e proc... o sbaglio?


-----------------
Ciao
Strek
----------------
Win98, Athlon XP 1600+ @ 1900+, EpoX 8K3A, 256MB DDR 2700, ATI All In Wonder 128 16MB, firewire ATI DV Wonder, SBLive!, IBM 40GB ATA100 + IBM 13GB ATA66 (7200rpm), DVD-ROM Toshiba SD-M1212 6/32, Master. Traxdata 8432





 Profilo    Quota
Mauro



Moderatore
Registrato il: 30-08-2001
Messaggi: 1648


Da: Rimini

 Inserito il 11-07-2002 | 14:16   

[OT]


@strek
Si, non so tu dove eri rimasto, ma questo PC qui ce l'ho da meno di un mese (non è superveloce, ma si difende bene...).
Dalla settimana scorsa, poi, ho l'ADSL... cosa voglio di più ?


Ciao
M a u r o
WinME, P4 1300, Asus, 384Mb Rambus, Rage Fury Pro/Xpert, SBLive 1024, Samsung 20Gb, Maxtor 80Gb 5400, Pioneer 10/40, Plextor 16/10/40, Panasonic SL95 19"


[ Questo Messaggio è stato Modificato da: Mauro il 2002/07/11 14:18 ]





 Profilo  Email  www    Quota
gannjunior



Registrato il: 28-05-2002
Messaggi: 239


Da: Genova

 Inserito il 11-07-2002 | 15:11   
@Strek
Scusami però nn si può paragonare Q8_no_B con
Q4_B dove in quest'ultima soltanto i B sono di quant.= "8" e gli I e P sono a 4. Nella prima,Q8_no_B, invece, tutti i frames e cioè gli I e P sono a 8;quindi i P si basano su degli I con quant=8. Mentre in Q4_B, i B,ke si basano su macroblokki codificati come differenza dal frame I o P precedente e seguente(FP e BP), si basano appunto su I=P=4...

@Mauro
Sono assolutamente d'accordo.Mettere l'ac3, grazie ai B-frames, è quasi una bazzecola,pur mantenendo un video d qualità.
Però sarebbe interessante,come dici, trovare la correlazione tra lo spazio risparmiato e la diminuzione d qualità. Così si può correggere il divx quality in presenza d B-frames.Inoltre dovremmo cercare d capire, perkè il codec se ne frega della modifica fatta da registro del B-mult.

ciao


-----------------
WinXP PRO Win98SE, AthlonXP 1600@1850+(x ora..), Qdi Kudoz 7 , 512 Mb DDR 266, Geforce 2 Mx 400 64 Mb, Sound Blaster Live 5.1,HD Maxtor 40 Gb ATA 100 7200 rpm,LG Combo 12x8x32x, monitor Samsung SyncMaster 900IFT 19",Pinnacle studio PCTV rave





 Profilo    Modifica  Quota
supercola



Registrato il: 24-03-2002
Messaggi: 613


Da: roma

 Inserito il 11-07-2002 | 15:47   
Ho esegutio questa prova:
2 pass modificato con dvxlog:

1) q=4 e Q=4 senza B (cioè disattivati)
2) q=4 e Q=4 per I e P mantre q=2 e Q=2 per B (attivi)

Ecco i risultati:
1) dimensioni 25,7mb quant medio=
2) dimensioni 24,2mb quant medio=

La qualità è migliore nel secondo file (quello con B-frames attivi e minore ingombro)

Da questo e dalle altre prove deduco che:
1) Avevo torto ad asserire che i B-frames non peggiorano la qualità, esiste un effettivo peggioramento (come si vede nella figurona
) dovuto probabilmente alla minore quantità di info effettivamente "immagazzinate". Mi spiego meglio, secondo me il codec lavora all'incirca così: usa parti precendenti (come fanno i P,B) e successive (solo i B) per evitare di immagazzinare altre info, il problema è che le parti magari non sono esattamente uguali (parlo di pochi pixel ovviamente!!! ) e quindi tende ad "approssimare" (spiegati i quadrettoni e la conseguente perdità di qualità).

2)Avevo ragione a dire che i b-frames non peggiorano la qualità , infatti non solo a parità di spazio occupato, ma addirittura con uno spazio minore si ottiene una qualità superiore poichè sfruttando le doti di predizione si possono usare quant mooolto più bassi . Non concordo neanche con la tesi di un utilizzo di quant maggiore per i b-frames (cosa evidente dalla prova), i quant sono sempre uguali, la perdità di qualità avviene per altri motivi come ho spiegato (forse meglio ipotizzato... ) sopra.

Conclusioni:
Utilizzerei sempre i B-frames sotto il punto di saturazione, se ho un film che invece satura ad esempio in 1750 mb allora potrei toglierli per riempire lo spazio "vuoto" del 3° cd.
Mi sembra comunque di poter asserire che la migliore qualità assoluta si ottenga sicuramente senza B-frames, con il QP.... dobbiamo ora indagare sul GMC....
ciauz


-----------------
Win 2k,XP1700@2050+,a7a266,256MB266 samsung cas2,HD IBM ata100 7200rpm 30 GB, soundblaster live!5.1,matrox g400 32mb,pioneer 16/40,Liteon 32123s, raffreddamento manufatto "double twist&pipe"
Non smanettare è bene...ma smanettare è meglio :-D





 Profilo    Quota
Zoltan The Mage



Registrato il: 10-06-2002
Messaggi: 436


Da: Land Of Frost

 Inserito il 11-07-2002 | 17:28   
Vediamo un po'...

Se fai senza b-frames a 4, hai tutti i frames a 4.
Se fai con i b-frames a 2 e il resto a 4, dovresti avere la stessa occupazione, se effettivamente il b-mult avesse il significato che ipotizziamo e se i quant dei b-frames potessero essere trattati come gli altri.

Da cui... evidentemente c'è qualcosa che non torna!

Quindi occorre trovare un altro parametro per i b-frames, questa prova mi fa concludere che non si possono trattare con i quant in modo equivalente a quelli dei K e P.

Anche il fatto che la qualità del secondo caso sia migliore (anche se non è scientificamente dimostrato) sta a significare che effettivamente allora i b-frames, anche se occupano la metà (mettiamo) in realtà la loro qualità è superiore a quella di un P con quant doppio. E questo è ovvio, dato che hanno due punti di riferimento, invece di uno.

Ora mi si sono intrecciate un po' le idee, quindi continuate voi...


-----------------
Quando scoprirai di trovarti dalla parte della maggioranza, sarà giunto il momento di fermarti a riflettere.
-----------------
Zoltan The Mage
HM Portal Web Lord






 Profilo  www    Quota
fromillo



Registrato il: 27-02-2002
Messaggi: 276

 Inserito il 11-07-2002 | 19:27   
Ho appena fatto il Dvd che mi hanno regalato "il patto dei lupi". L' ho fatto in quality based 100% con quant a 2,1. B-frames e gmc attivi. Nonostante le 2:11:xx ore di film il tutto stava in ben 1,8 gb, con una qualità davvero bassa.

Nelle scene veloci ci sono molti artefatti. Non so se dipende dai bframes o dal gmc, fatto sta che la qualità è davvero ridicola. (altro che 100%)

Ora indagherò, conterà forse che l' ho fatto con vidomi?


-----------------
Athlon 550mhz slotA, Fic SD-11, 384 Sdram pc133, GeForce 2 mx 400 (64mb sdram), Sb live 1024, HD IBM 120 GXP da 80 giga.





 Profilo  www   Aggiungi   Quota
Vai a Pagina: 1 | 2 | 3 | 4
   Aggiungi questa discussione alle tue preferite o da seguire Richiedi la notifica via email in caso di replica a questa discussione
Vai a


 19 persone connesse al sito: 14 visitatori e 5 utenti registrati ( Alex_e_Basta - Maxi - dolbydigital - blueplatinum - gannjunior )
 
Home    File-sharing    DivX    Sicurezza&Privacy    Internet    Webmaster
Disclaimer       Privacy       Regolamento       Copyright       Contatta
Copyright © 2002 - Quelli che il PC ... - Tutti i diritti riservati - E' vietata la riproduzione senza l'esplicito consenso dell'autore