摘要:
An MPEG audio/video decoder has memories, a signal processing unit (SPU) including a multiplier and a butterfly unit, a main CPU, and a memory controller which are time division multiplexed between decoding video and audio data. For audio decoding, the butterfly unit determines combinations of components of a frequency-domain vector to reduce the number of multiplies required to transform to the time domain (matrixing). Matrixing is interwoven with MPEG filtering to increase throughput of the decoder by increasing parallel use of the multiplier, the butterfly unit, and a memory controller.
摘要:
Selecting a Huffman table to encode a set of signals, such as video signals, from a set of predefined Huffman tables. A histogram is generated for the set of signals and used to determine the number of bits to encode the set of signals for each of the predefined Huffman tables. The Huffman table that provides the smallest number of bits to encode is selected for encoding the set of signals into the encoded bitstream. In a preferred embodiment, a dynamic Huffman table is also generated for the set of signals and used to estimate the number of bits to encode the set of signals including the number of bits to encode the dynamic Huffman table. If using the dynamic Huffman table results in fewer bits in the encoded bitstream, then the dynamic Huffman table is used (and explicitly encoded in the bitstream) instead of the selected predefined Huffman table.
摘要:
The present invention is a method and apparatus for translating an input character from a source codeset to a target codeset. Structurally, the present invention includes a list of translation tables each having one or more entries. Each entry in a translation table defines a translation from a character in the source codeset to a character in the target codeset. Each translation table also includes an entry condition function and an input normalization function. To translate an input character in the source codeset to the target codeset, the list of translation tables is traversed until an entry condition is found which returns a boolean value of true when called with the input character is passed as a parameter. Then input character is then passed to the input normalization function which returns the index or position of the translation for the input character in the translation table. The contents of the translation table, at the index, is then returned as the translation of the input character.
摘要:
A low cost, high speed, JPEG Huffman code decoder. The entire gamut of Huffman codes is partitioned into groups, with each group being associated with it's own small look up table to minimize the overall memory requirements. The current Huffman code is stored in a register. For the disclosed embodiment there are N=4 memories with sizes 128, 256, 128 and 256 elements respectively. For the specific typical Huffman code set cited, the partitioning is: The code words in the first group have 7 bits or less and are decoded in the first memory. The next group has from 5 to 7 leading ones, where the first five 1's are masked out and the remaining bits are used to address the second memory. The remaining codes have at least eight leading ones. Here, the first eight ones are masked out and the remaining bits are used to address the last memory. (In this example, one of the memories is not used). Finally, the first eight bits are used in a selector to enable the correct memory so that a single correct output data word is output. The disclosed N=4 embodiment is designed to handle any custom JPEG Huffman code set. This concept can be extended to other memory partitions (a N=6 example is cited) that might provide some desirable memory vs logic switching tradeoffs.
摘要:
A memory interfacing method for a variable-length decoder and a circuit therefor are provided. The memory interfacing circuit includes a read controller for generating a read chip-enable signal and a read address in response to a first request signal output from the variable-length decoder, generating a second request signal when the read address reaches a predetermined level, and providing the second request signal to an external memory controller which is connected to an external memory, a write controller for generating a write address and a write section signal in response to an accept signal generated by the external memory controller in response to the second request signal, and an internal memory controller which includes an internal memory, for controlling data provided from an external memory to be written according to the write address and the write section signal generated by the write controller. Accordingly, the present invention simplifies complex signal processing due to frequent memory access between a variable-length decoder and an external memory.
摘要:
An unpacking circuit 103 takes the top 16-bit data from an input code after eliminating previously decoded data on the basis of code length information 106. An operation unit 501 obtains a redundant code number of a Huffman code inputted from the unpacking circuit 103 and upper three bits of the code length information 106. By referring to a decoding table 503, an eight-bit fixed-length data and the least significant bit of the code length information are obtained correspondence with an input nine-bit redundant code number signal 502. Therefore, memory size required for storing the decoding table 503 is 2.sup.9 .times.9 bits=576 bytes, thus, comparing to a case where memory size for storing the decoding table of 96 kbytes when changing into a fixed code length by using only the decoding table, it is possible to use a decoding table of smaller size.
摘要:
A post-processing method for filtering decoded image signals determines positions of target pixels to be filtered and generates a selection signal indicating whether or not each of the target pixels belongs to a boundary region of a block of decoded image data. In response to the selection signal, each of the target pixel data is selectively filtered through the use of a filtering unit having two filters with different cutoff frequencies. An absolute difference value between filtered and non-filtered target pixel values is compared with a predetermined threshold value. The target pixel value is updated with the filtered target pixel value if the absolute difference value is smaller than the predetermined threshold value; otherwise, a compensated target pixel value is obtained by subtracting the predetermined threshold value from the non-filtered target pixel value or adding the non-filtered target pixel value and the predetermined threshold value, and, then the filtered target pixel value is updated with the compensated target pixel value.
摘要:
A decoder decodes input codes, such as Modified Huffman, Modified READ, and Modified Modified READ codes, and includes a zero bit detector which detects the number of consecutive leading zero bits of the input code. An address compressor forms address data by performing a logical operation of data indicating the number of detected zero bits and data excluding the consecutive leading zero bits and the next one bit of the data. A reference table for code conversion is addressed by the formed address data from the address compressor and outputs decoded data corresponding to the input code.
摘要:
Generating Huffman tables based on off-line analysis of training sets of signals. Individual Huffman tables are generated for each training set, preferably from an individual histogram representing the training set. The training sets are grouped together, starting with a single group containing all of the training sets. A group Huffman table is generated for each group. A group is selected for splitting and a new Huffman table is generated for a new group. The group to be split is selected by identifying the group that is most inefficiently encoded using a single Huffman table. The new Huffman table is generated by perturbing the group histogram for the group to be split and then generating the new Huffman table from the perturbed histogram. After defining the new Huffman table for the new group, the training sets are redistributed among the existing groups. A training set is moved to a different group if the different group's Huffman table does a better job of encoding that training set than the Huffman table for the training set's old group. After the training sets are redistributed, the group Huffman tables are regenerated. Training-set redistribution is repeated until the redistribution processing converges (e.g., no training sets change groups). Groups are continued to be split until the desired number of group Huffman tables have been generated.
摘要:
Data is transmitted and received over a channel in a telecommunications system includes encoding the data by providing a plurality of fixed length code tables, wherein each of the fixed length code tables has a size that is different from a size of every other fixed length code table, and encoding the data as a plurality of information code words, wherein each information code word is a selected value from one of the fixed length code tables. A plurality of marker codes is also provided, wherein the marker codes are variable length codes. A unique one of the marker codes is then associated with each of the fixed length code tables, and channel code words are generated by inserting the associated marker code one bit at a time into each of the information code words at a fixed bit interval. The encoded data may be decoded by processing in a forward direction to extract and decode marker code words. Information code bits associated with valid decoded marker code words are extracted and decoded. When an invalid marker code word is extracted, backwards processing is commenced to extract and decode marker code words until an invalid marker code is detected in the backwards direction. An error interval is defined by the positions of the invalid marker code words detected in the forward and backwards directions. Only those valid information code words associated with marker code words that lie outside of the error interval are output for further processing.