Abstract: A coding scheme for coding information having a nonuniform probability distribution function. According to exemplary embodiments, a code word is assigned to the information corresponding to the peak level of the probability density function, and is referred to as the kernel. New code words having a Hamming distance of 1 to the kernel are then assigned to information adjacent to the peak level of the probability density function. The new code words are arranged around the kernel in as compact a manner as possible. If there are forbidden code words, the kernel is selected appropriately and the forbidden words are omitted from the resulting code table.