US 8175164 B2 Abstract A device for data compression includes a domain transformer unit, a classifying unit, a variable length encoder, a fixed length encoder and a memory unit. The domain transformer unit transforms time-domain data into frequency-domain data. The classifying unit determines an encoding type of the frequency-domain data based on occurrence probability of the frequency-domain data. The variable length encoder encodes first frequency-domain data that are determined to be encoded by variable length coding. The fixed length encoder encodes second frequency-domain data that are determined to be encoded by fixed length coding. The memory unit stores the encoded first and second frequency-domain data by relocating the encoded first and second frequency-domain data such that the encoded first frequency-domain data are placed adjacently and the encoded second frequency-domain data are placed adjacently. Therefore, the time for decoding the corresponding data may be reduced.
Claims(8) 1. A device for data compression, comprising:
a domain transformer unit configured to transform time-domain data into frequency-domain data;
a classifying unit configured to determine an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data, wherein the classifying unit is configured to determine that first AC values having low occurrence probabilities are encoded by a variable length coding and second AC values having high occurrence probabilities are encoded by a fixed length coding;
a variable length encoder configured to encode first frequency-domain data that are determined to be encoded by the variable length coding;
a fixed length encoder configured to encode second frequency-domain data which are determined to be encoded by the fixed length coding; and
a memory unit configured to store the encoded first frequency-domain data encoded by the variable length encoder and the second frequency-domain data encoded by the fixed length encoder,
wherein the first and second frequency-domain data are relocated by relocating the encoded first frequency-domain data corresponding to one of the first AC values adjacent to other of the encoded first frequency-domain data corresponding to other of the first AC values and relocating the second frequency-domain data corresponding to one of the second AC values adjacent to other of the encoded second frequency-domain data corresponding to other of the second AC values.
2. The device of
3. The device of
4. The device of
5. A device for data compression, comprising:
a domain transformer unit configured to transform time-domain data into frequency-domain data;
a classifying unit configured to determine an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data, wherein the classifying unit is further configured to determine that four of the frequency-domain data having four highest occurrence probabilities are encoded by a fixed length coding and other of the frequency-domain data are encoded by a variable length coding;
a variable length encoder configured to encode first frequency-domain data that are determined to be encoded by the variable length coding;
a fixed length encoder configured to encode second frequency-domain data which are determined to be encoded by the fixed length coding; and
a memory unit configured to store the encoded first frequency-domain data encoded by the variable length encoder and the encoded second frequency-domain data encoded by the fixed length encoder,
wherein the first and second frequency-domain data are relocated by relocating the encoded first frequency-domain data adjacent to other of the encoded first frequency-domain data and relocating the encoded second frequency-domain data adjacent to other of the encoded second frequency-domain data.
6. A method of data compression, the method comprising:
transforming input time-domain data into frequency-domain data;
determining an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data;
encoding, using a variable length encoder, first frequency-domain data that are determined to be encoded by a variable length coding, first AC values having low occurrence probabilities being encoded by the variable length coding;
encoding, using a fixed length encoder, second frequency-domain data that are determined to be encoded by a fixed length coding, second AC values having high occurrence probabilities being encoded by a fixed length coding;
storing the encoded first frequency-domain data encoded by the variable length encoder by relocating the encoded first frequency-domain data corresponding to one of the first AC values to be adjacent other of the encoded first frequency-domain data corresponding to other of the first AC values; and
storing the encoded second frequency-domain data encoded by the fixed length encoder by relocating the encoded second frequency-domain data corresponding to one of the second AC values to be adjacent other of the second frequency-domain data corresponding to other of the second AC values.
7. The method of
8. A method of data compression, the method comprising:
transforming input time-domain data into frequency-domain data;
determining an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data;
encoding, using a variable length encoder, first frequency-domain data that are determined to be encoded by a variable length coding;
encoding, using a fixed length encoder, second frequency-domain data that are determined to be encoded by a fixed length coding;
storing the encoded first frequency-domain data encoded by the variable length encoder by relocating the encoded first frequency-domain data to be adjacent other of the encoded first frequency-domain data; and
storing the encoded second frequency-domain data encoded by the fixed length encoder by relocating the encoded second frequency-domain data to be adjacent other of the second frequency-domain data,
wherein encoding the second frequency-domain data and encoding the first frequency-domain data further comprises:
encoding four of the frequency-domain data having four highest occurrence probabilities using the fixed length coding; and
encoding other of the frequency-domain data using the variable length coding.
Description This application claims priority under 35 USC §119 to Korean Patent Application No. 2005-81135, filed on Sep. 1, 2005, in the Korean Intellectual property Office, the disclosure of which is incorporated herein in its entirety by reference. The present invention relates to data processing, and more particularly to the methods and apparatuses of data coding compressing/decompressing. Various data compression encoding techniques are used for efficiently storing and transferring data. Currently available data compression encoding techniques may be generally classified as variable length coding (VLC) or fixed length coding (FLC). VLC performs a data encoding process such that a length of codeword used for coding data may vary in length. That is, in VLC, data is encoded by using codewords having different lengths based on occurrence probabilities of data. Hereinafter, a VLC compression encoding technique is explained in more detail. Generally, compression of video and audio data includes a process of transforming time-domain data into frequency-domain data. In the transforming process, a Fourier transform may be used such that “n” values in the time domain are represented by “n” values in the frequency domain. The transform coding method can convert video or audio signals into transform coefficients, which are further classified into a DC coefficient and an AC coefficient. The DC coefficient represents an average value of a predetermined block of input signals and the AC coefficient represents a value corresponding to components of the predetermined block of input signals. The AC coefficient is configured such that the AC coefficient value converges to a constant value as the calculation number is increased. Therefore, data having high occurrence probability may be encoded as codewords having a length of one bit or two bits when VLC is applied. In this manner VLC encoding can decrease a length of codeword to economize the size of memory required to store encoded data. In some cases, however, information loss may occur due to quantization. A bit-by-bit analysis from a first bit of encoded data can be used for VLC because lengths of codeword vary during a decoding process. In addition, headers can be used to indicate a start point and an end point of encoded data. A decoder can be used to analyze encoded data bit by bit in order to detect the start point and the end point of encoded data. Therefore, VLC decoding can utilize a large decoding circuit and/or more processing time to decode VLC data. Alternatively, FLC can use codewords having a fixed length. An FLC decoder may analyze encoded data by a fixed number of bits because FLC uses fixed length codewords. Since headers indicating the start point and the end point of encoded data are not required, FLC decoding circuits are generally smaller than those used in decoding using VLC. Similarly, the processing time for decoding data encoded by FLC is generally less than that of data encoded by VLC. FLC, however, assigns a fixed length codeword to data having a high occurrence probability, which results in relatively large blocks of encoded data. The large blocks may not be suitable for compressing data that contains significant data content such as video and audio signals. Hereinafter, the effect of data compression that uses a disproportion in occurrence probabilities of data is explained. Consider the example where four kinds of data—“0” “1,” “2” and “3” are encoded using a two-bit fixed length binary codeword such as binary values “00,” “01,” “10” and “11.” A disproportion in occurrence probabilities of data may be considered so that codewords having different lengths are respectively assigned to each of the four kinds of data as shown in the following Table 1.
In this example, when a codeword having the fixed length is assigned to each kind of data, an average length of the codeword is 2.0 bits, as determined by the following equation:
Applying VLC principles to the example above, when codewords having different length are assigned to each of the four kinds of data as shown in Table 1, an average length of codewords may be smaller than 2 bits as represented in the following equation:
Embodiments of the present invention provide devices and methods for data compression. In this regard, some embodiments can be implemented as a device that includes a domain transformer unit configured to transform time-domain data into frequency-domain data and a classifying unit configured to determine an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data. The device also includes a variable length encoder configured to encode first frequency-domain data that are determined to be encoded by a variable length coding and a fixed length encoder configured to encode second frequency-domain data that are determined to be encoded by a fixed length coding. The device further includes a memory unit configured to store the encoded first and second frequency-domain data respectively encoded by the variable length encoder and the fixed length encoder, the encoded first and second frequency-domain data being relocated such that the encoded first frequency-domain data may be placed adjacent to each other and the encoded second frequency-domain data may be placed adjacent to each other. In further embodiments, the classifying unit may determine that a predetermined number of frequency-domain data having a high occurrence probability is encoded by the fixed length coding and the other frequency-domain data are encoded by the variable length coding. The classifying unit may also determine that four frequency-domain data having four highest occurrence probabilities are encoded by the fixed length coding. The classifying unit may further determine DC values unrelated to a disproportion of occurrence probability are encoded by the fixed length coding. In other embodiments, the memory sequentially stores the encoded second frequency-domain data encoded by the fixed length encoder and then stores the encoded first frequency-domain data encoded by the variable length encoder next to the encoded second frequency-domain data. In yet other embodiments, methods of data compression are provided. In this regard, some embodiments can be implemented as methods that include transforming input time-domain data into frequency-domain data and determining an encoding type of the frequency-domain data based on an occurrence probability of the frequency-domain data. Such methods can also include encoding first frequency-domain data that are determined to be encoded by a variable length coding, encoding second frequency-domain data that are determined to be encoded by a fixed length coding, and storing the encoded first and second frequency-domain data respectively encoded by the variable length encoder and the fixed length encoder by relocating the encoded first and second frequency-domain data such that the encoded first frequency-domain data may be placed adjacent to each other and the encoded second frequency-domain data may be placed adjacent to each other. In some embodiments, a predetermined number of frequency-domain data having a high occurrence probability may be encoded by the fixed length coding and the other frequency-domain data may be encoded by the variable length coding. In yet other embodiments, four frequency-domain data having four highest occurrence probabilities may be encoded by the fixed length coding. In other embodiments, DC values unrelated to a disproportion of the occurrence probability may be encoded by the fixed length coding. In further embodiments, the encoded second frequency-domain data encoded by the fixed length encoder may be sequentially stored, and then the encoded first frequency-domain data encoded by the variable length encoder may be stored next to the encoded second frequency-domain data. In still other embodiments, a device for data decompression can include a memory unit configured to store first frequency-domain data encoded by a variable length encoder and second frequency-domain data encoded by a fixed length encoder, the encoded first and second frequency-domain data being relocated such that the encoded first frequency-domain data may be placed adjacent to each other and the encoded second frequency-domain data may be placed adjacent to each other. The device can also include a variable length decoder configured to decode the first frequency-domain data encoded by the variable length encoder, a fixed length decoder configured to decode the second frequency-domain data encoded by the fixed length encoder, and a domain transformer unit configured to transform the decoded first and second frequency-domain data into time-domain data. In yet other embodiments, methods of data decompression are provided. Such methods can include decoding first variable length coded data among a plurality of variable length coded data encoded by a variable length coding method while fixed length coded data encoded by a fixed length encoding method are decoded and sequentially decoding second variable length coded data among the plurality of variable length coded data, the second variable length coded data including the other variable length coded data among the plurality of variable length coded data except the first variable length coded data. In further embodiments, the plurality of variable length coded data may be simultaneously decoded by applying conditional branches to the plurality of variable length coded data in order to decode data during a single clock cycle while the fixed length coded data are decoded by the fixed length decoding. Embodiments of the present invention now will be described more fully with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like reference numerals refer to like elements throughout this application. It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. It should also be noted that in some alternative implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. The first domain transformer unit The memory unit The encoded data is decoded by the type of encoding used. For example, the VLC decoder Reference is now made to The encoded data is then stored (block After storing the encoded data, decoding the encoded data can be requested (block Reference is now made to As described above, eight time-domain data values are transformed into eight frequency-domain data Reference is now made to For data that is encoded by a conventional VLC coding method, as shown in the Decoding I of As shown in Decoding I, a DC value is decoded during a first clock cycle Reference is now made to The coding method according to some embodiments of the present invention can use 2 While the example embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope of the invention. Patent Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |