Sistema colore YUV

YUV è un sistema di codifica a colori tipicamente utilizzato come parte di una pipeline di immagini a colori. Codifica un’immagine o un video a colori prendendo in considerazione la percezione umana, consentendo una larghezza di banda ridotta per i componenti di crominanza, consentendo in genere agli errori di trasmissione o agli artefatti di compressione di essere mascherati in modo più efficiente dalla percezione umana rispetto all’utilizzo di una rappresentazione RGB “diretta”. Altre codifiche cromatiche hanno proprietà simili e la ragione principale per implementare o investigare le proprietà di Y’UV potrebbe essere quella di interfacciarsi con apparecchiature televisive o analogiche o digitali conformi a certi standard Y’UV.

L’ambito dei termini Y’UV, YUV, YCbCr, YPbPr, ecc. È talvolta ambiguo e sovrapponibile.Storicamente, i termini YUV e Y’UV sono stati usati per una specifica codifica analogica delle informazioni sui colori nei sistemi televisivi, mentre YCbCr è stato utilizzato per la codifica digitale delle informazioni sul colore adatte per la compressione e la trasmissione di immagini e immagini fisse come MPEG e JPEG. Oggi, il termine YUV è comunemente usato nel settore informatico per descrivere i formati di file che sono codificati usando YCbCr.

Il modello Y’UV definisce uno spazio cromatico in termini di un luma (Y ‘) e due componenti di crominanza (UV). Il modello di colore Y’UV viene utilizzato nello standard PAL video composito a colori (escluso PAL-N). I precedenti sistemi in bianco e nero utilizzavano solo informazioni luma (Y ‘).Le informazioni sul colore (U e V) sono state aggiunte separatamente tramite una sotto-portante in modo che un ricevitore in bianco e nero sia ancora in grado di ricevere e visualizzare una trasmissione di immagini a colori nel formato in bianco e nero nativo del ricevitore.

Y ‘indica il componente luma (la luminosità) e U e V sono i componenti di crominanza (colore); la luminanza è indicata da Y e luma da Y ‘- i simboli primi (‘) indicano la compressione gamma, con “luminanza” che indica la luminosità fisica dello spazio lineare, mentre “luma” è la luminosità percettiva (non lineare).

Il modello di colore YPbPr utilizzato nel componente video analogico e la sua versione digitale YCbCr utilizzati nei video digitali derivano più o meno da esso e talvolta sono chiamati Y’UV. (CB / PB e CR / PR sono deviazioni dal grigio sugli assi blu-giallo e rosso-ciano, mentre U e V sono rispettivamente blu-luminanza e rosso-luminanza differenze.) Lo spazio colore Y’IQ utilizzato nel televisore analogico NTSC il sistema di trasmissione è collegato ad esso, sebbene in un modo più complesso. Anche lo spazio colore YDbDr utilizzato nei sistemi di trasmissione televisiva analogica SECAM e PAL-N è correlato.
Per quanto riguarda l’etimologia, Y, Y ‘, U e V non sono abbreviazioni. L’uso della lettera Y per la luminanza può essere ricondotto alla scelta dei primari XYZ. Ciò si presta naturalmente all’utilizzo della stessa lettera in luma (Y ‘), che approssima una correlazione percettivamente uniforme di luminanza. Allo stesso modo, U e V sono stati scelti per differenziare gli assi U e V da quelli in altri spazi, come lo spazio cromatico x e y. Vedi le equazioni qui sotto o confronta lo sviluppo storico della matematica.

Storia
Y’UV è stato inventato quando gli ingegneri volevano la televisione a colori in un’infrastruttura in bianco e nero. Avevano bisogno di un metodo di trasmissione del segnale che fosse compatibile con la TV in bianco e nero (B & N) pur essendo in grado di aggiungere colore. Il componente luma esisteva già come segnale bianco e nero; hanno aggiunto il segnale UV a questo come soluzione.

La rappresentazione UV della crominanza è stata scelta su segnali R e B lineari perché U e V sono segnali di differenza cromatica. In altre parole, i segnali U e V dicono al televisore di spostare il colore di un certo pixel senza alterarne la luminosità. Oppure i segnali U e V indicano al monitor di rendere un colore più luminoso a scapito dell’altro e di quanto deve essere spostato. Più alti (o più bassi quando negativi) sono i valori U e V, più saturi (colorati) diventano i pixel. Più i valori U e V si avvicinano a zero, minore è il valore del colore, il che significa che le luci rossa, verde e blu saranno più ugualmente luminose, producendo un pixel più grigio. Questo è il vantaggio dell’uso dei segnali di differenza cromatica, cioè, invece di dire quanto rosso c’è in un colore, indica quanto è più rosso del verde o del blu. A sua volta, ciò significava che quando i segnali U e V erano zero o assenti, mostrava solo un’immagine in scala di grigi. Se R e B dovevano essere usati, questi avrebbero valori diversi da zero anche in una scena in bianco e nero, che richiede tutti e tre i segnali che trasportano dati. Questo era importante agli albori della televisione a colori, perché i vecchi segnali TV in bianco e nero non presentavano segnali U e V, il che significa che la TV a colori li avrebbe semplicemente visualizzati come B & W TV fuori dalla scatola. Inoltre, i ricevitori in bianco e nero potrebbero prendere il segnale Y ‘e ignorare i segnali U e V, rendendo Y’UV retrocompatibile con tutte le apparecchiature in bianco e nero esistenti, input e output. Se lo standard TV a colori non avesse usato segnali di differenza cromatica, potrebbe significare che una TV a colori renderebbe divertenti i colori di una trasmissione in bianco e nero o avrebbe bisogno di circuiti aggiuntivi per tradurre il segnale in bianco e nero a colori. È stato necessario assegnare una larghezza di banda più ristretta al canale di crominanza perché non era disponibile un’ampiezza di banda aggiuntiva. Se alcune informazioni sulla luminanza arrivassero tramite il canale di crominanza (come sarebbe se fossero usati i segnali RB invece dei segnali UV differenziali), la risoluzione in bianco e nero sarebbe stata compromessa.

Conversione da / a RGB

SDTV con BT.601
I segnali Y’UV sono in genere creati dalla sorgente RGB (rossa, verde e blu). I valori ponderati di R, G e B vengono sommati per produrre Y ‘, una misura della luminosità o luminanza complessiva. U e V sono calcolati come differenze ridimensionate tra Y ‘e i valori B e R.

BT.601 definisce le seguenti costanti:

Y’UV è calcolato da RGB come segue:

Gli intervalli risultanti di Y ‘, U e V rispettivamente sono [0, 1], [-Umax, Umax] e [-Vmax, Vmax].

L’inversione della trasformazione sopra riportata converte Y’UV in RGB:

Equivalentemente, sostituendo i valori per le costanti ed esprimendoli come matrici si forniscono queste formule per BT.601:

HDTV con BT.709
Per l’HDTV l’ATSC ha deciso di modificare i valori di base per WR e WB rispetto ai valori precedentemente selezionati nel sistema SDTV. Per HDTV questi valori sono forniti da Rec. 709. Questa decisione ha avuto un ulteriore impatto sulla matrice per la conversione Y’UV↔RGB in modo che anche i suoi valori membro siano leggermente diversi. Di conseguenza, con SDTV e HDTV ci sono generalmente due distinte rappresentazioni Y’UV possibili per qualsiasi triplo RGB: uno SDTV-Y’UV e uno HDTV-Y’UV. Ciò significa in dettaglio che quando si effettua la conversione diretta tra SDTV e HDTV, l’informazione luma (Y ‘) è approssimativamente la stessa, ma la rappresentazione delle informazioni sul canale crominanza (U & V) richiede la conversione. Ancora in copertura dello spazio colore CIE 1931 il Rec. 709 spazio colore è quasi identico a Rec. 601 e copre il 35,9%. In contrasto con questo UHDTV con Rec. Il 2020 copre un’area molto più ampia e vedrebbe ulteriormente la propria matrice per YUV / Y’UV.

BT.709 definisce questi valori di peso:

Le matrici di conversione e le formule per BT.709 sono queste:

Gli appunti
I pesi utilizzati per calcolare Y ‘(riga superiore della matrice) sono identici a quelli utilizzati nello spazio colore Y’IQ.

Valori uguali di rosso, verde e blu (cioè livelli di grigio) producono 0 per U e V. Nero, RGB = (0, 0, 0), rese YUV = (0, 0, 0). Bianco, RGB = (1, 1, 1), produce YUV = (1, 0, 0).
Queste formule sono tradizionalmente utilizzate in televisori e apparecchiature analogiche; Le apparecchiature digitali come HDTV e videocamere digitali utilizzano Y’CbCr.

Approssimazioni numeriche
Prima dello sviluppo dei veloci processori in virgola mobile SIMD, la maggior parte delle implementazioni digitali di RGB → Y’UV utilizzava la matematica dei numeri interi, in particolare le approssimazioni a virgola fissa. Approssimazione significa che la precisione dei numeri utilizzati (dati di input, dati di output e valori costanti) è limitata e quindi una perdita di precisione tipicamente dell’ultima cifra binaria è accettata da chiunque utilizzi tale opzione in genere un trade-off per migliori velocità di calcolo.

Nei seguenti esempi, l’operatore ”  “denota uno spostamento a destra di a da posizioni b binarie.Per chiarimenti le variabili utilizzano due caratteri suffisso:” u “è utilizzato per la rappresentazione finale senza segno e” t “è utilizzato per il valore intermedio ridimensionato. sono forniti solo per BT.601. Lo stesso principio può essere utilizzato per eseguire operazioni funzionalmente equivalenti utilizzando valori che soddisfano in modo accettabile i dati che seguono il BT.709 o qualsiasi altro standard comparabile.

I valori di Y ‘sono convenzionalmente spostati e ridimensionati all’intervallo [16, 235] (indicato come swing da studio o “livelli TV”) piuttosto che utilizzare l’intervallo completo di [0, 255] (indicato come swing completo o “livelli PC”). “). Questa pratica è stata standardizzata in SMPTE-125M per consentire il superamento del segnale (“squillo”) a causa del filtraggio. Il valore 235 accoglie un massimo overshoot nero-bianco di 255 – 235 = 20, o 20 / (235 – 16) = 9,1%, che è leggermente più grande del superamento teorico massimo (fenomeno Gibbs) di circa l’8,9% del passo massimo La toe-room è più piccola, consentendo solo il 16/219 = overshoot del 7,3%, che è inferiore al superamento teorico massimo dell’8,9%. Questo è il motivo per cui 16 viene aggiunto a Y ‘e perché i coefficienti Y’ nella trasformata di base sommano a 220 anziché a 255. I valori U e V, che possono essere positivi o negativi, vengono sommati con 128 per renderli sempre positivi, dando un Intervallo di studio di 16-240 per U e V. (Queste gamme sono importanti per l’editing e la produzione di video, poiché l’uso dell’intervallo errato si tradurrà in un’immagine con neri e bianchi “ritagliati” o un’immagine a basso contrasto).

Studio swing per BT.601
Per ottenere la tradizionale rappresentazione a 8 bit dello studio-swing di Y’UV per SDTV / BT.601, è possibile utilizzare le seguenti operazioni:

1. Trasformazione di base da valori RGB da 8 bit a 16 bit (Y ‘: non firmati, U / V: firmati, i valori della matrice vengono arrotondati in modo che il successivo intervallo Y desiderato di [16..235] e U / V intervallo di [16..240] è stato raggiunto):

2. Ridimensionare (“>> 8”) a 8 bit con arrotondamento (“+128”) (Y ‘: non firmato, U / V: firmato):

3. Aggiungi un offset ai valori per eliminare eventuali valori negativi (tutti i risultati sono senza segno a 8 bit):

Full swing per BT.601
Per ottenere una rappresentazione a 8 bit “full-swing” di Y’UV per SDTV / BT.601, è possibile utilizzare le seguenti operazioni:

1. Trasformazione di base da valori RGB da 8 bit a 16 bit (Y ‘: non firmati, U / V: firmati, i valori della matrice vengono arrotondati in modo che venga raggiunto il successivo intervallo Y’UV desiderato di [0..255]. mentre non può verificarsi un overflow):

2. Ridimensionare (“>> 8”) i valori a 8 bit con arrotondamento (“+128”) (Y ‘: non firmato, U / V: firmato):

3. Aggiungi un offset ai valori per eliminare eventuali valori negativi (tutti i risultati sono senza segno a 8 bit):

Sistemi di luminanza / crominanza in generale

Il vantaggio principale dei sistemi luma / chroma come Y’UV, e dei suoi parenti Y’IQ e YDbDr, è che rimangono compatibili con la televisione analogica in bianco e nero (in gran parte dovuta al lavoro di Georges Valensi). Il canale Y ‘salva tutti i dati registrati dalle telecamere in bianco e nero, quindi produce un segnale adatto per la ricezione su vecchi display monocromatici. In questo caso, U e V vengono semplicemente scartati. Se si visualizza il colore, vengono utilizzati tutti e tre i canali e le informazioni RGB originali possono essere decodificate.

Un altro vantaggio di Y’UV è che alcune informazioni possono essere scartate per ridurre la larghezza di banda. L’occhio umano ha una sensibilità spaziale relativamente piccola al colore: l’accuratezza delle informazioni sulla luminosità del canale di luminanza ha un impatto molto maggiore sul dettaglio dell’immagine, rispetto a quello degli altri due. Comprendendo questa carenza umana, standard come NTSC e PAL riducono considerevolmente la larghezza di banda dei canali di crominanza. (La larghezza di banda è nel dominio temporale, ma questo si traduce nel dominio spaziale mentre l’immagine è scansionata.)

Pertanto, i segnali U e V risultanti possono essere sostanzialmente “compressi”. Nei sistemi NTSC (Y’IQ) e PAL, i segnali di crominanza avevano una larghezza di banda significativamente più stretta di quella per la luminanza. Le prime versioni di NTSC si alternavano rapidamente tra particolari colori in aree identiche dell’immagine per farli sembrare sommarsi l’un l’altro all’occhio umano, mentre tutti i moderni standard video analogici e anche più digitali utilizzano il sottocampionamento cromatico registrando le informazioni sul colore di un’immagine a risoluzione ridotta. Viene mantenuta solo la metà della risoluzione orizzontale rispetto alle informazioni sulla luminosità (sottocampionamento cromogeno 4: 2: 2), e spesso anche la risoluzione verticale è dimezzata (dando 4: 2: 0). Lo standard 4: x: x è stato adottato a causa del primissimo standard NTSC a colori che utilizzava un sottocampionamento del croma di 4: 1: 1 (dove la risoluzione orizzontale del colore è squartata mentre la verticale è a piena risoluzione) in modo che l’immagine trasportava solo un un quarto della risoluzione del colore rispetto alla risoluzione della luminosità. Oggi, solo i segnali non compressi di elaborazione di apparecchiature di fascia alta utilizzano un sottocampionamento di crominanza di 4: 4: 4 con risoluzione identica per entrambe le informazioni di luminosità e colore.

Gli assi I e Q sono stati scelti in base alla larghezza di banda necessaria per la visione umana, un asse che richiedeva la massima larghezza di banda e l’altro (fortuito a 90 gradi) il minimo. Tuttavia, la vera demodulazione di I e Q era relativamente più complessa, richiedendo due linee di ritardo analogico, ei ricevitori NTSC lo utilizzavano raramente.
Tuttavia, questa conversione dello spazio colore è dispersiva, particolarmente ovvia nel crosstalk dal luma al filo che porta il chroma e viceversa, in apparecchiature analogiche (compresi i connettori RCA per trasferire un segnale digitale, poiché tutto ciò che trasportano è un video composito analogico, che è YUV, YIQ o anche CVBS). Inoltre, NTSC e PAL codificano i segnali cromatici in un modo che fa sì che i segnali di croma e luma ad alta larghezza di banda si mescolino tra loro nel tentativo di mantenere la retrocompatibilità con le apparecchiature televisive in bianco e nero, il che si traduce in effetti di ricerca di punti e di colori incrociati. Quando lo standard NTSC fu creato negli anni ’50, ciò non rappresentava un problema reale poiché la qualità dell’immagine era limitata dall’apparecchiatura del monitor, non dal segnale a larghezza di banda limitata ricevuto. Tuttavia la televisione moderna di oggi è in grado di visualizzare più informazioni di quelle contenute in questi segnali di perdita. Per tenere il passo con le capacità delle nuove tecnologie di visualizzazione, dalla fine degli anni ’70 sono stati fatti tentativi per preservare più del segnale Y’UV durante il trasferimento di immagini, come i connettori SCART (1977) e S-Video (1987).

Invece di Y’UV, Y’CbCr è stato utilizzato come formato standard per algoritmi di compressione video (digitali) comuni come MPEG-2. La televisione digitale e i DVD conservano i loro flussi video compressi nel formato MPEG-2, che utilizza uno spazio colore Y’CbCr completo, pur mantenendo il processo stabilito di sottocampionamento del croma. Il formato video digitale professionale CCIR 601 utilizza anche Y’CbCr alla frequenza di campionamento cromatico comune di 4: 2: 2, principalmente per compatibilità con i precedenti standard video analogici. Questo flusso può essere facilmente mixato in qualsiasi formato di output necessario.
Y’UV non è uno spazio cromatico assoluto. È un modo di codificare le informazioni RGB e il colore effettivo visualizzato dipende dai coloranti RGB effettivi usati per visualizzare il segnale. Pertanto, un valore espresso come Y’UV è prevedibile solo se vengono utilizzati coloranti RGB standard (cioè un insieme fisso di cromaticità primarie, o un particolare insieme di rosso, verde e blu).

Inoltre, la gamma di colori e luminosità (nota come gamma di colori) di RGB (che sia BT.601 o Rec.709) è molto più piccola della gamma di colori e luminosità consentita da Y’UV. Questo può essere molto importante quando si converte da Y’UV (o Y’CbCr) in RGB, poiché le formule sopra possono produrre valori RGB “non validi”, cioè valori inferiori allo 0% o molto superiori al 100% dell’intervallo (es. al di fuori della gamma luma standard da 16-235 (e gamma cromatura 16-240) per TV e contenuti HD, o esterna a 0-255 per definizione standard su PC). A meno che questi valori non siano trattati, di solito vengono “tagliati” (cioè limitati) all’intervallo valido del canale interessato.Questo cambia la tonalità del colore, che è molto indesiderabile, quindi è spesso considerato meglio desaturare i colori offensivi in ​​modo tale che rientrino nella gamma RGB. Allo stesso modo, quando RGB a una data profondità di bit viene convertito in YUV alla stessa profondità di bit, diversi colori RGB possono diventare lo stesso colore Y’UV, con conseguente perdita di informazioni.

Relazione con Y’CbCr
Y’UV è spesso usato come termine per YCbCr. Tuttavia, sono formati completamente diversi con diversi fattori di scala.

Tuttavia, la relazione tra loro nel caso standard è semplice. In particolare, il canale Y è lo stesso in entrambi, sia Cb che U sono proporzionali a (BY), e sia Cr che V sono proporzionali a (RY).