Transition Minimized Differential Signaling

Transition Minimized Differential Signaling (afgekort TMDS) is een techniek die in DVI-verbindingen wordt gebruikt. De code is ontwikkeld om 8 bits data over te dragen met zo min mogelijk omschakelingen tussen logisch "0" en logisch "1" en omgekeerd.

De 10 bits TMDS-code voor databits (de beeldinformatie) bestaat uit logische symbolen die elk minder dan zeven overgangen hebben. Deze symbolen worden afgewisseld met besturingssignalen, die meer dan zeven overgangen hebben. Tijdens de zogenaamde "blanking period" (de tijd tussen de afzonderlijke beeldlijnen en de afzonderlijke frames waarin geen beeldinformatie wordt verzonden) worden besturingssignalen verstuurd. Met deze besturingssignalen kunnen in totaal 2 bits worden verzonden.

Het coderen van databits gebeurt in twee stappen: in de eerste stap wordt door middel van een XOR- of een XNOR-functie de ingangswaarde bitsgewijs omgezet, te beginnen bij het "least significant bit" (LSB). Ieder volgend bit wordt gecombineerd met het resultaat van de voorgaande bewerking; het LSB van de uitkomst van de bewerking is gelijk aan het LSB van de te coderen waarde. Het 9e bit geeft aan welke van beide functies (XOR of XNOR) bij het coderen is gebruikt.

De tweede stap van het coderingsproces voegt een tiende bit toe. Tijdens deze stap wordt tevens de balans tussen het aantal logische "1" niveaus en het aantal logische "0" niveaus bijgehouden: onder bepaalde voorwaarden worden de 8 databits geïnverteerd. Het toegevoegde bit geeft aan of dit het geval is. Deze stap is nodig om de gelijkspanningscomponent op het signaal zo klein mogelijk te houden.

De TMDS-code wordt bij DVI op alle drie (single link) of zes (dual link) datalijnen toegepast. Iedere kleurcomponent wordt dus afzonderlijk gecodeerd, waarbij de waarde voor een kleur 256 afzonderlijke niveaus kan aannemen. De horizontale en verticale synchronisatiesignalen zijn gecombineerd met de databits voor blauw in link 1.