Kind of reminds me of Gray code, who's whole shtick is being a sequence which only changes one bit at a time. If you see two bits change you know it's an error condition and can handle that explicitly.
With a Gray code you typically try to oversample to where it's either not an option to change that quickly, or represents an error in its own right if it does.