What's a TMDS and why is it in my HDMI?
One of the problems with transmitting digital signals over distances has always been the susceptibility of those signals to noise, interference and signal loss. Digital transmissions are very low current, low voltage signals, which make it easy for all these types of transmission gremlins to get in the midst of a byte.
Remember, when we're talking about digital signal, we're talking about "ones" and "zeros." A one is equal to 5 VDC (volts direct current) in most cases and a zero is equal to 0 VDC. Each one or zero is called a "bit" and eight of them together are called a "byte" (it's possible to have longer bytes, but let's not confuse the issue; most of them are eight bits).
One of the things that makes all digital systems work is the presence of a clock signal. This clock signal, which is what is being referred to when your computer says it operates as 1.8 GHz (1.8 billion cycles per second). This clock signal functions like the baton of the orchestra conductor, telling everyone when the time is, or when they should play their notes.
The earliest attempt at getting rid of transmission gremlins, back in the stone age of computers, before high-speed Internet access existed, was called parity checking. With parity checking, each 8-bit "byte" had a parity bit added to the end of it. The number of "ones" in the byte was counted, and the "parity bit" was made a one or a zero to make the whole byte have an even or odd number of ones (depending upon whether they were using even
or odd parity).
If one of those transmission gremlins happened to get into a byte, it generally had to travel solo. The odds of two of them managing to hop the train and get into the same byte was pretty darn slim. So, the piece of
hardware that was receiving the information would count the ones in the bytes received, verifying that they were okay. If one came through wrong, such as an even number of ones in a byte that was supposed to be odd parity, the receiving device would ask for that data to be sent again.
This system worked fine, as long as we were talking about a relatively low quantity of low speed transmissions. However, the faster the transmissions have become and the greater amount of data that is transmitted
over those lines, the greater the need to insure that the data is accurate. When video started being transmitted digitally, both the need and the difficulty of insuring the accuracy of that data grew once again.
Enter TMDS on the Scene
Transition Minimized Differential Signaling (TMDS) was developed by Silicon Image Inc. as a two-part system to reduce the possibility of transmission gremlins in serial data, specifically video data sent by serial connection. The system consists of two parts; a physical connectivity part and a software algorithm that codes and decodes the information.
TMDS is the result of lots of very interesting theories being put together in the same place to accomplish the same goal. Let me just briefly give you an idea of some of those theories:
• It uses Differential Signaling - That means that the signal is sent over two separate lines, out of phase with each other (the positive and negative reversed). When it gets to the other end, the signals are merged back into one, eliminating any static gremlins, which won't have its corresponding out of phase signal on the other line.
• It travels over Twisted Pairs - Twisted pairs, rather than coaxial cables actually provide for lower electrical interference. Any interference picked up at a point along the way (say from being too close to an electrical power line) will only get onto one of the wires, allowing it to be eliminated by the differential signaling I just mentioned.
• Instead of having the signals compared to ground, as is done in most digital equipment, it uses Low-Voltage Differential Signaling (LVDS). What that means is that the two signals are compared to each other instead of to ground. By doing this, it really doesn't matter if some spurious noise or signal gets onto one of the
lines, making "ground" not really be ground; it's going to be compared to the other anyway. The comparing circuitry is just going to look for differences between highs and lows.
• The data being sent over the line should be DC balanced. This means that there should be as many bits that are ones as there are zeroes. DC balancing reduces the "charge" (think battery) on the line, which resists further changes from ones to zeroes.
• At the same time that the data signal needs to be DC balanced, it also needs to be Transition Minimized. This means that the number of transitions from one to zero is reduced, making the likelihood of data loss by a transition being slow from the "ramp up" from zero to one.
To put all these theories to working together takes some very specific cable and connector design, along with pretty fancy manipulation of the data by the algorithms that control the TMDS.
Let's Look at the Connectivity Requirements
When we're talking about digital video signals, we've got to realize that we're talking about massive amounts of data being moved around. 1080p television resolution is actually 1,920 x 1080 pixels. That means that the data for 2,073,600 individual pixels has to be transmitted for every screen shot. Since television works at a rate of 30 "frames" (screen shots) per second, that makes for 62,208,000 pixels of information that has to be transmitted every second. Oh, I almost forgot to mention, each pixel is more than 1 byte of information.
Because of the massive amount of data included in these video signals, the three main color components of video signals, red, green and blue, are broken out and sent separately. Each of these signals is sent out over a shielded pair of twisted pair of wires, to lower the possibility of any interference. So, between the clock signal and the three shielded pairs, that's 12 pins out of the 19 pin HDMI connector.
What's the Algorithm Doing?
A computer algorithm is just a series of instructions for a computer to execute. It's not even a complete computer program, but a piece of one. Any program on your computer, such as a word processing program or a browser, is made up of thousands of algorithms, each of which is responsible for performing one particular function. When you click a button on the toolbar, it tells the program which algorithms to use to accomplish the function that
The TMDS algorithm manipulates the data that is in the byte, with the goal of making it the most easily transmitted and least likely to be damaged data possible. There are two stages of this process, each of which the algorithm selects automatically. When transmitting data, TMDS adds two control bits (a one or zero) to the data byte, making it a 10 bit byte. These two control bits tell the receiving piece of equipment what manipulations were done to that particular byte, so that the algorithm can decode the byte.
What the TMDS algorithm is attempting to accomplish with all this manipulation is to create a "perfect" byte of information for transmission; or at least as close to perfect as possible. The theoretical ideal byte would look like 11111111, followed by another byte that is 00000000. This creates data that is both transition minimized and DC balanced.
The first stage of this process is the transition minimization. This is done by comparing the bits in the byte to the first bit and determining if a logical XOR or logical XNOR operation would make the byte have the least number of transitions.
• Logical XOR = (exclusive or) one or the other, but not both is a one
• Logical XNOR = (not exclusive or) putting it simply, it means both are one or zero; but is actually the opposite of XOR, the "N" referring to 'not'
The second stage of this process is the DC balancing, which means that the entire byte may or may not be inverted, to balance it with the byte before it.
Whether or not these two operations are accomplished is transmitted to the receiving piece of equipment, or more accurately to the algorithm in that equipment by the two control bits that have been added to the end of the byte.
Okay, so what?
All right, so what does all that complicated computer mumbo-jumbo mean to you, they guy who's trying to hook up his home entertainment system? Really, all it means is that TMDS is an incredibly complicated system, which works automatically in the background, to insure that you get the crispest, clearest image, without any noise, snow, static lines or other transmission gremlins showing up on your screen.
While I won't go as far as to say that there's no possible way that those transmission gremlins can get into your signal and cause the occasional white or black pixel, where it should be blue; the chance of any of those gremlins messing your football game, movie or favorite sitcom up are drastically minimized.
This doesn't mean that you can't have any problems whatsoever. You can still spend a fortune on the latest LED backlit LCD or plasma TV, and Blue-Ray player and even buy gold-plated wires, but if you don't have a good
signal, you won't have a good image. A crummy antenna is still a crummy antenna. If you're expecting a good image, make sure you have a good signal, whether from cable, satellite or broadcast.