Luciano Merighi ha detto:
ti ricordo che YUV a 8bit prevede il range 0-255, YCbCr no.
Veramente le cose stanno diversamente e la prova che hai postato sopra ne è un’ulteriore conferma.
Il processo di discretizzazione delle componenti YUV (lo spazio colore equivalente alle componenti YCbCr/YPbPr) non ha niente a che vedere con la campionatura a 8 bit/canale che riguarda i componenti RGB.
Il range della componente Y prevede valori percentuali da 0 a 100%, nonché una nutrita serie di decimali.
Mentre per i canali cromatici, (UV; CbCr; PbPr) benché descritti anche essi in un range percentuale (da -100% a + 100%), hanno un'ampiezza più limitata.
Ricordiamo anche che YUV, come RGB, è uno spazio colore senza sottocampionature, quindi 4:4:4.
Credo che la confusione nasca anche dal fatto che spesso si parla (lo faccio anch’io) di RGB come se fosse uno spazio colore, mentre è solo il tipo di divisione delle componenti di un’immagine.
Adobe RGB, sRGB, WideRGB Phot Pro RGB, PAL, NTSC, Secam, ecc… sono tutti spazi colori con componenti separate in RGB.
SWOP, TOYO, EuroStandard, ecc… sono spazi colore le cui componenti sono divise in CMYK
YUV, Lab, Luv, Hue, HLS, HSV, ecc… sono spazi colore con componenti divise in Luma e Chroma.
Qui sotto vedi uno spettro colore completo (colori primari + complementari + bianco + nero) e nell'animazione al suo fianco puoi vedere come la componente Y occupi tutto il range disponibile ed i limiti delle componenti cromatiche.

Cliccare le immagini per ingrandirle.
Per maggior chiarezza, qui vedi la differenza fra le componenti nei due sistemi.
In RGB i 256 livelli sono rappresentati per intero, mentre in Lab (spazio colore che utilizza la stessa divisione delle componenti Luma e Chroma dello YUV e che lo contiene) l'unico canale pieno è quello della luminosità.
Ben più ristretti gli altri due.

Cliccare le immagini per ingrandirle.
…, lo spezzone lo vedi nel range 1-254 solo dopo la conversione YUV che attua il tuo software, ovvero dopo l'espansione del contenuto originale 16-235 YCbCr in YUV 0-255
YUV è lo spazio colore che rappresenta le componenti YCbCr/YPbPr, non può determinare perdite di informazioni né espansioni e, vedi sopra, non è composto da un numero finito di sfumature.
La compressione-estrazione e relativi errori di quantizzazione e arrotondamenti, aumentano il numero di pixel diversi facendo raggiungere il numero di 253.
Fosse un problema di interpolazione la possibilità che ogni canale riporti gli stessi valori per ogni pixel è di 1 a qualche milione.
(ndr: il tasto Source serve solo a switchare fra l’ingresso video della scheda ed un flusso digitale letto da supporto, HDD o DVD)
Un'altra cosa, non è che c'è stata anche una riscalatura di mezzo, prima del conteggio pixel? Le immagini devono essere 720x576 e invece nel link che metti c'è 1024x576. L'algoritmo di riscalatura ci mette evidentemente del suo...
Come pure non c'entra la dimensione dell'immagine che ho postata, che è il frame da 720 solo visualizzato con il pixel aspect ratio 1:1,33 del PAL 16/9.
La ragione della completezza della rampa è nella conversione dai valori Y 0-100% in RGB 1-254.
Lo stretch che fai tu quando dici all’encoder di posizionare l’Y 0% in corrispondenza del 16 RGB ed il Y 100% in corrispondenza del 235 RGB ha come risultato il posizionamento dei valori sotto al 16 RGB nella zona del Black Crush, cioè sotto gli 0 IRE, ed i valori sopra al 235 RGB si posizionano sopra al white clipping.
Ma la luminosità rimane invariata a 0-100%.
Ecco perchè la funzione di trasferimento, che per il nostro PAL dovrebbe essere Y 0-100% = 0-255 RGB, da me ricrea le 254 sfumature.
Mentre il frame a 220 sfumature che hai estratto con Premiere è evidentemente sottoposto ad una funzione di trasferimento che rispetta lo standard NTSC, Y 0-100% = 16-235 RGB, ma, dato che il nostro materiale è in formato PAL e dato che la compressione MPEG2 PAL è a 1-254 RGB, ritengo che questo sia un errore.
Ed è per questo che penso che la versione 1.0.7 del DVDTest vada bene per verificare il Black Crush, ed anzi ti suggerirei di cambiare la scritta in “Black Crush” o qualcosa di simile e di fare anche una schermata simile per il White Clipping (anche per i singoli canali se possibile).
Ma credo anche che le schermate con i blocchi e le rampe così come sono non vanno bene, per i motivi suddetti.
gli yankees, ponendo il nero a 7,5IRE, hanno di fatto il range 0-100% del segnale utile distribuito su 92,5IRE ma questi sono affari loro...
Ma questo è quello che hai fatto anche tu, per questo dico che le schermate utili per la calibrazione erano meglio nelle precedenti versioni.
Gli americani usano un equivalenza: 16 - 235 RGB (sorgente) = 0 – 100% Y (compressione) = 7.5 - 92.5 IRE = 0 – 100% Y (e si fermano qui se hanno dei CRT) = 16 - 235 RGB (che poi devono espandere sui loro display digitali a 0-255 RGB)
Noi europei usiamo l’equivalenza: 0 - 255 RGB (sorgente) = 0 – 100% Y (compressione) = 0 – 100 IRE = 0 – 100 % Y (e anche i nostri CRT si fermano qui) = 0 – 255 RGB (e sui nostri display digitali non dobbiamo espandere niente)
Quello che hai fatto tu è una via di mezzo: 16 - 235 RGB = 0 – 100% Y = 0 – 100 IRE = 0 – 100% Y = 0 – 255 RGB che per la verifica del BC va benissimo, ma non per le schermate successive dove la nomenclatura di etichetta non corrispondente ai valori reali.
Se vuoi fare la prova del 9, estrai un frame dal DVD che ho fatto io per la verifica del BtB e guarda quanti colori contiene:
È fatto in b/n in MPEG2 PAL.
http://www.avmagazine.it/forum/showpost.php?p=666102&postcount=157
In questi giorni ne sto facendo una nuova versione con le dimensioni dei vari blocchi a multipli di 16 px, in modo da evitare qualunque approssimazione dovuta alla quantizzazione dei blocchi della compressione MPEG.
Tornando al mio videoscopio.
A conferma della validità delle letture effettuate, qui sotto trovi la lettura della schermata SMPTE (test pattern AVID ma ne trovi finché vuoi in rete).
Nella prima immagine ho riportato i valori rgb dei vari settori e nella lettura, a destra, ho riportato le corripondenze fra i valori di Y ed i relativi settori.

Cliccare le immagini per ingrandirle.
Come vedi le corrispondenze sono perfettamente in linea con la funzione di trasferimento ideale Y 0-100% = RGB 0-255.
Qui c’è una raccolta di alcune schermate delle rilevazioni che ho fatto e delle famose scene del Gladiatore che presentano neri sotto al 16 RGB.
Usando il DVDTest per allineare il Blanck Level, come descritto
qui, e simulando con l’HDMI della sorgente il taglio del nero 16 (in RGB) o posizionando il nero a 7,5% (in YCbCr), si ottiene il mio stesso risultato (ovviamente non bisogna modificare i controlli di luminosità dopo l’allineamento del blanck level).
Ciao.