I understand that the colour of the signal indicator tells me whether or not I've got a connection to Google servers or not, but what is the "H" that sometimes pops up?

Usually my indicator says "3G":

But, in addition to having an "H" now and again, sometimes it has no letters at all:

I assume this is telling something about what kind of data network I'm on, or not on, but what exactly is happening?