HDMI: perchè si può vedere male anche se è digitale?
Il protocollo di trasmissione dati utilizzato in cavi DVI e HDMI si chiama TMDS.
Quello che segue è stato tratto da un post di Mike5, con alcuni miei piccoli inerventi.
HDMI e DVI condividono la tecnologia di trasmissione TMDS: in RGB la qualità video è quindi identica. L'HDMI ha molte funzioni in più, per esempio trasmette anche l'audio, che è trasportato dagli stessi cavi del video, inserito negli Horizontal e Vertical Blanking, che comunque ci sono anche nella DVI, quindi non sovraccarica in alcun modo il cavo.
Tra le funzioni in più l'HDMI ha la possibilità di trasmettere anche in YCbCr (4:4:4 e 4:2:2). Questo genera una prima complicazione. Il display può o meno accettare una delle YCbCr e questo determina una contrattazione tra i chip HDMI di sorgente e display che può cambiare alcuni parametri all'insaputa dell'utente. Inoltre l'HDMI gestisce i livelli sia in PC mode che in Studio Mode e il display può o meno accettare ...
Il segnale TMDS è digitale, ma a livello fisico (elettrico) tutto è ancora analogico. Analogico significa che le grandezze in gioco (tensioni, correnti, frequenze, ...) possono assumere qualsiasi valore in un certo intervallo; digitale significa che tali grandezze possono assumere solo valori discreti, rappresentabili come 1, 2, 3, .. di qualche unità.
Ovviamente le grandezze sul cavo sono analogiche. Che il segnale sia digitale significa che queste grandezze sono interpretate come multipli interi (quantizzati) di un carto valore di base. Siccome però tali grandezze continuano a variare con continuità analogica, si pone il problema della gestione degli errori: che succede se, per le fluttuazioni dovute ai difetti del mondo reale, uno zero diventa un uno ?
Per gestire questi errori ci sono vari sistemi. Le trasmissioni seriali (come DVI, HDMI, Ethernet, USB, SATA, PCIe, ...) usano di norma 10 bit per trasmetterne 8. In questo modo, con opportuni algoritmi, limitano il numero di 0 o 1 consecutivi, diminuendo la probabilità di errore.
La possibilità di errore rimane però. Trasmissioni come Ethernet usano allora sistemi di gestione dell'errore che richiedono eventualmente di ritrasmettere il frame (si chiama così, ma non ha nulla a che fare con i frame dei film). Le trasmissioni video non lo possono fare, per ovvi motivi (non si può interrompere un flusso di fotogrammi per ritrasmetterne uno, perdendo la sincronia con l'audio o facendo brutalmente scattare il video). Per cui se l'errore c'è se lo tengono.
Che effetti provoca l'errore ? Dipende dal conduttore interessato all'interno del cavo. Guardando la sezione del cavo HDMI, si vedono le quattro coppie principali che trasmettono il TMDS (3 colori + clock) più alcuni connettori più piccoli che trasportano cose accessorie (DDC, 5V, CEC, hot plug, ...).
Se l'errore riguarda uno dei conduttori grossi RGB, quel colore avrà sparkle o peggio, può anche virare il colore*. Se l'errore riguarda il clock, si va dall'immagine inguardabile all'assenza di segnale. Buio totale.
Ma il problema più grosso è il conduttore piccolo centrale (non a caso è messo al centro, per proteggerlo meglio). Quello trasporta il DDC, cioè il canale di comunicazione con il display e supporta due funzioni vitali: la lettura dell'EDID e l'HDCP.
La sorgente, se non riesce a leggere l'EDID, non invia niente e non si vede niente. Se non riesce a fare l'handshaking HDCP, parimenti non manda il video (almeno in HD), anche se in genere manda un messaggio di errore.
Ora, in genere, all'aumentare della distanza, il primo conduttore a cadere vittima delle riflessioni dovute al cambio di impedenza (che è il più grosso problema dei cavi differenziali) è proprio il DDC, mentre gli RGB tengono di più per lo spessore dell'isolante. Questo è il motivo per cui in genere sopra un certa distanza non si vede più niente.
Attenzione, però che chi "cade prima" dipende anche dalla frequenza. Le componenti ad alta frequenza sono svantaggiate per vari motivi, tra cui l'effetto skin che li costringe a usare solo la "pelle" del conduttore, aumentando la resistenza.
Quindi al crescere della frequenza (ad esempio a 1920x1080@60Hz, oppure se uso Deep Color), i conduttori RGB diventano meno affidabili, mentre l'HDCP e l'EDID non sono influenzati (perchè i loro protocolli sono indipendenti dalla frequenza). Quindi, all'aumentare della frequenza , è più probabile che, oltre una certa distanza, si veda ancora, ma con sparkle o altri difetti.* Esempio: un cavo che funziona benissimo, o sembra farlo, a 720p60, potrebbe non funzionare o fare puntini o falsare colori, o sganciare... a 1080p60.
Infine, sui problemi dei cavi, consiglio questi ottimi articoli di Blue Jeans Cable (ignorando le affermazioni di parte sul fatto che solo i loro cavi non hanno questi problemi, sono degli ottimi articoli).
*: attenzione: gli sparkles o il viraggio possono anche non essere costanti e continui, ma presentarsi su pixel diversi in momenti diversi e non in tutte le scansioni, falsando il colore di un pixel qui, uno lì, ma solo per un istante. Avete presente come fanni i dlp a creare un colore qualsiasi? Proiettano in rapida sequenza le componenti rossa, verde e blu, ma voi vedete il colore composto grazie alla ritenzione della retina. Bene, inserite qualche sparkle all'interno di tutto questo. Risultato: i pixel possono non essere visualizzati del colore corretto costantemente. In generale l'immagine può sembrare apposto, magari potreste non accorgervene se non avvicinandovi molto allo schermo o portando il cavo al limite della banda di cui è capace, ma l'immagine non sarebbe "perfetta" anche se "digitale", come molti credono.