Method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and method for determining such a block code
AssigneeSilicon Image, Inc.
InventorBrian K. Schmidt
Life of this patent
Estimating the term…
Loading patent…
AssigneeSilicon Image, Inc.
InventorBrian K. Schmidt
Estimating the term…
A method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and a method for determining codebooks for use in such encoding or decoding. Some such methods select positive and negative codebooks that are complements of each other, including by eliminating all candidate code words having negative disparity and filtering the remaining candidate code words in automated fashion based on predetermined spectral properties to select a subset of the candidate code words as the code words of the positive codebook. Preferably, all but a small subset of the (N+1)-bit code words (determined by a primary mapping) can be decoded by simple logic circuitry, and the remaining code words (determined by a secondary mapping) can be decoded by other logic circuitry or table lookup.
A method for determining codebooks for use in encoding data according to an NB/(N+1)B block code, including the steps of:
A method for encoding data, including the steps of:
A method for encoding data, including the steps of:
A method for encoding data, including the steps of:
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 7-bit input words of data in accordance with a mapping to generate a code word sequence of 8-bit code words, wherein the mapping is between a data word set of 277-bit data words and a code word set of 8-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 7-bit input words of data in accordance with a mapping to generate a code word sequence of 8-bit code words, wherein the mapping is between a data word set of 277-bit data words and a code word set of 8-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding a sequence of 9-bit input words of data in accordance with a mapping to generate a code word sequence of 10-bit code words, wherein the mapping is between a data word set of 299-bit data words and a code word set of 10-bit code words consisting of a positive codebook and a negative codebook, the mapping includes a secondary mapping and a primary mapping, the primary mapping maps input words of a first subset of the data word set to a first subset of the code word set, the secondary mapping maps input words of a second subset of the data word set to a second subset of the code word set, the primary mapping is
A method for encoding data, including the steps of:
A method for determining codebooks for use in encoding data according to an NB/(N+1)B block code, including the steps of:
A method for decoding code words that have been encoded in accordance with an NB/(N+1)B block code that maps a set of 2N N-bit data words to a set of (N+1)-bit words using a positive codebook and a negative codebook, the positive codebook specifying a bijective mapping between the set of data words and a set of 2N (N+1)-bit words, fp(x), where x is any of the data words, and the negative codebook specifying a bijective mapping between the set of data words and a set of 2N (N+1)-bit words, fn(x), where the data words consist of a first data word subset and a second data word subset, the first data word subset includes more of the data words than does the second data word subset, and the block code specifies a secondary mapping of each data word of the second data word subset to a different one of the words, fp(x), and a primary mapping of each data word of the first data word subset to a different one of the words, fp(x), said method including the steps of:
A method for decoding code words that have been encoded in accordance with an NB/(N+1)B block code that maps a set of 2N N-bit data words to a set of (N+1)-bit words, where the data words consist of a first data word subset and a second data word subset, the first data word subset includes more of the data words than does the second data word subset, and the block code specifies a primary mapping of each data word of the first data word subset to a first subset of the set of (N+1)bit words and a secondary mapping of each data word of the second data word subset to a second subset of the set of (N+1)bit words, said method including the steps of:
A circuit for encoding a sequence of N-bit input words in accordance with an NB/(N+1)B block code to generate a code word sequence of (N+1)-bit code words, wherein each of the input words belongs to one of a first subset and a second subset of a data word set, the first subset of the data word set includes more of the data words than does the second subset of the data word set, said circuit including:
A circuit for encoding a sequence of N-bit input words in accordance with an NB/(N+1)B block code to generate a code word sequence of (N+1)bit code words, wherein the code words belong to a positive codebook and a negative codebook, the positive codebook specifies a bijective mapping between a data word set of 2N N-bit data words and a set of (N+1)-bit code words, fp(x), where x is any data word of the data word set, the negative codebook specifies a bijective mapping between the data word set and a set of (N+1)-bit code words, fn(x), where each of the input words belongs to one of a first subset and a second subset of the data word set, and the first subset of the data word set includes more of the data words than does the second subset of the data word set, said circuit including:
A circuit for decoding a sequence of (N+1)-bit code words that have been encoded in accordance with an NB/(N+1)B block code that maps a set of 2N N-bit data words to a set of (N+1)-bit words, where the data words consist of a first data word subset and a second data word subset, the first data word subset includes more of the data words than does the second data word subset, and the block code specifies a secondary mapping of each data word of the second data word subset to a different one of the (N+1)-bit words, and a primary mapping of each data word of the first data word subset to a different one of the (N+1)-bit words, said circuit including:
Dependencies are inferred from the claim text.