In
coding theory, especially in
telecommunications, a
self-synchronizing code is a
uniquely decodable code in which the
symbol stream formed by a portion of one
code word, or by the overlapped portion of any two adjacent code words, is not a valid code word. Put another way, a set of strings (called "code words") over an alphabet is called a self-synchronizing code if for each string obtained by concatenating two code words, the substring starting at the second symbol and ending at the second-last symbol does not contain any code word as substring. Every self-synchronizing code is a
prefix code, but not all prefix codes are self-synchronizing.