ì기ì ì 1목ì ì ë¬ì±í기 ìíì¬,In order to achieve the above first purpose,
ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë¶í¸ííë ì¥ì¹ì ìì´ì, ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ê·¹ì±ì íë¨íì¬ ì´ë íëì ê·¹ì±ì ê°ì§ ë°ì´í°ê°ì¼ë¡ ë³íí기 ìí ê·¹ì± ì²ë¦¬ë¶; ì기 ê·¹ì± ì²ë¦¬ë¶ìì ë³íë ë°ì´í°ë¥¼ ìì ê°ì 모ì íë ìì ë³µìê° êµ¬ì±íê³ , ì기 ê°ê°ì íë ììì í¬ê¸°ê° ìµëì¸ ëì§í¸ ë°ì´í°ë¥¼ 구í기 ìí íë ìíë¶; ì기 íë ìíë¶ìì 구í´ì§ ìµë ëì§í¸ ë°ì´í°ì ì í¨ MSB를 ë§ì§ë§ ë¹í¸ì MSBì ì¤ëë¡ ì기 ê° íë ìì 모ë ë°ì´í°ë¥¼ ë¹í¸ ì¬íí¸í기 ìíë¹í¸ ì¬íí¸ë¶; ì기 ë¹í¸ ì¬íí¸ë¶ìì ì¬íí¸ë ê° ìíì ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬í기 ìí ë°ì´í¸ ë¶ë¦¬ë¶; ë° ì기 ë°ì´í¸ ë¶ë¦¬ë¶ìì ë¶ë¦¬ë ë°ì´í¸ ê°ê°ì ëí´ ìí¸ë¡í¼ ë¶í¸í를 ìíí기 ìí ìí¸ë¡í¼ ë¶í¸ë¶ë¥¼ í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë¶í¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for encoding digital audio data, the apparatus comprising: a polarity processing unit for determining a polarity of input digital audio data and converting the polarity into a data value having any one polarity; A framer configured to construct a plurality of frames in which a predetermined number of data converted by the polarity processor are collected, and to obtain digital data having a maximum size in each frame; A bit shift unit for bit shifting all the data of each frame so that the effective MSB of the maximum digital data obtained by the framer is in the last bit MSB; A byte separator for separating data of each sample shifted in the bit shift unit by a byte unit; And an entropy coder for performing entropy encoding on each of the bytes separated by the byte divider.
ì기ì ì 2목ì ì ë¬ì±í기 ìíì¬,In order to achieve the above second object,
ëì§í¸ ì¤ëì¤ ë°ì´í°ì ê·¹ì±ì ëíë´ë ê·¹ì±ì ë³´ì, ì¬íí¸ë ë¹í¸ì를 ëíë´ë ë¹í¸ ì¬íí¸ ì ë³´ì, ìí¸ë¡í¼ ë¶í¸íì ê´ë ¨ë ì½ë© ì ë³´ì 근거íì¬ ëì§í¸ ì¤ëì¤ ë°ì´í° ì¥ì¹ë¡ë¶í° ì ì¡ë ë°ì´í°ë¥¼ ë³µí¸íí기 ìí ì¥ì¹ì ìì´ì, ì기 ì½ë© ì ë³´ì ë°ë¼ ì ì¡ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë°ì´í¸ ê°ê°ì ëí´ ìí¸ë¡í¼ ë³µí¸í를 ìíí기 ìí ìí¸ë¡í¼ ë³µí¸ë¶; ì기 ìí¸ë¡í¼ ë³µí¸ë¶ìì ë³µí¸ë ë°ì´í° ê°ê°ì ìë 구조ì ë°ì´í¸ë¡ ì¡°í©í기 ìí ë°ì´í¸ ì¡°í©ë¶; ì기 ë¹í¸ ì¬íí¸ ì ë³´ì ë°ë¼ ì기 ë°ì´í¸ ì¡°í©ë¶ìì ì¡°í©ë ë°ì´í°ë¥¼ ìë°©í¥ì¼ë¡ ë¹í¸ ì¬íí¸ìí¤ê¸° ìí ìë¹í¸ ì¬íí¸ë¶; ì기 ê·¹ì± ì ë³´ì ë°ë¼ ì기 ìë¹í¸ ì¬íí¸ë¶ìì ì¬íí¸ë ë°ì´í°ì ê·¹ì±ì ìë ê·¹ì±ì¼ë¡ ë³µìí기 ìí ê·¹ì± ë³µìë¶ë¥¼ í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë³µí¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for decoding data transmitted from a digital audio data apparatus based on polarity information indicating polarity of digital audio data, bit shift information indicating the number of shifted bits, and coding information related to entropy encoding, wherein the coding information is used. An entropy decoding unit for performing entropy decoding on each of the bytes of digital audio data transmitted according to the present invention; A byte combiner for combining each of the data decoded by the entropy decoder into bytes of an original structure; An inverse bit shifter for bitwise shifting the data combined in the byte combiner in a reverse direction according to the bit shift information; And a polarity restoring unit for restoring the polarity of the data shifted in the inverse bit shift unit to the original polarity according to the polarity information.
ì기ì ì 3목ì ì ë¬ì±í기 ìíì¬,In order to achieve the above third object,
ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë¶í¸ííë ì¥ì¹ì ìì´ì, ì´ì ì ì ë ¥ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ íì¬ ë¶í¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측í기 ìí ì측ë¶; ì기 ì측ë¶ìì ì측ë ê°ìì íì¬ ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë¹êµíì¬ ììì ì°¨ì´ê°ì ì¶ë ¥í기 ìí ë¹êµë¶; ì기 ë¹êµë¶ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬í기 ìí ë°ì´í¸ ë¶ë¦¬ë¶; ë° ì기 ë°ì´í¸ ë¶ë¦¬ë¶ìì ë¶ë¦¬ë ë°ì´í¸ ê°ê°ì ëí´ ííë§ ë¶í¸í를 ìíí기 ìí ííë§ ë¶í¸ë¶ë¥¼ í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë¶í¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for encoding digital audio data, comprising: a predictor for predicting a digital audio data value to be currently encoded based on a plurality of previously input digital audio data values; A comparator for comparing the digital audio data values currently input from the values predicted by the predictor to output difference values between the digital audio data values; A byte separator for separating the data output from the comparator in units of bytes; And a Huffman coder for performing Huffman coding on each of the bytes separated by the byte divider.
ì기ì ì 4목ì ì ë¬ì±í기 ìíì¬,In order to achieve the above fourth object,
ëì§í¸ ì¤ëì¤ ë°ì´í°ì íë¥ ì ì±ì§ì 근거íì¬ ë°ìë ííë§ ë¶í¸ì± ì í¬í¨íë ííë§ ë¶í¸íì ê´ë ¨ë ì½ë© ì ë³´ì 근거íì¬ ëì§í¸ ì¤ëì¤ ë°ì´í° ì¥ì¹ë¡ë¶í° ì ì¡ë ë°ì´í°ë¥¼ ë³µí¸íí기 ìí ì¥ì¹ì ìì´ì, ì기 ì½ë© ì ë³´ì ë°ë¼ ì ì¡ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë°ì´í¸ ê°ê°ì ëí´ ííë§ ë³µí¸í를 ìíí기 ìí ííë§ ë³µí¸ë¶; ì기 ííë§ ë³µí¸ë¶ìì ë³µí¸ë ë°ì´í° ê°ê°ì ìë 구조ì ë°ì´í¸ë¡ ì¡°í©í기 ìí ë°ì´í¸ ì¡°í©ë¶; íì¬ê¹ì§ ë³µí¸ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ ë¤ìì ë³µí¸ííí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측í기 ìí ì측ë¶; ë° ì기 ì측ë¶ìì ì측ë ê°ìì ì기 ë°ì´í¸ ì¡°í©ë¶ìì ì¡°í©ë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ì°íì¬ ìëì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë³µìí기 ìí ê°ì°ë¶ë¥¼ í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë³µí¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for decoding data transmitted from a digital audio data device on the basis of coding information related to Huffman coding including a Huffman coding book generated based on a stochastic property of digital audio data, the information being transmitted according to the coding information. A Huffman decoder for performing Huffman decoding on each byte of the digital audio data; A byte combiner for combining each of the data decoded by the Huffman decoder into bytes of an original structure; A prediction unit for predicting a digital audio data value to be decoded next based on the plurality of digital audio data values decoded so far; And an adder for reconstructing the original digital audio data value by adding the digital audio data value combined in the byte combiner to the value predicted by the predictor. do.
ì기ì ì 5목ì ì ë¬ì±í기 ìíì¬,In order to achieve the above fifth object,
ë¤ì±ëì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë¶í¸ííë ì¥ì¹ì ìì´ì, ë³µìê° ì±ë ê°ê°ì ëíì¬ ì´ì ì ì ë ¥ë ë³µìê° ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ íì¬ ë¶í¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ê° ì측í기 ìí ë³µìê°ì ì측ë¶ë¤; ì기 ì측ë¶ë¤ ê°ê°ìì ì측ë ê°ìì íì¬ ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ê° ë¹êµíì¬ ììì ì°¨ì´ê°ë¤ì ì¶ë ¥í기 ìí ë³µìê°ì ë¹êµë¶ë¤; ì기 ë¹êµë¶ë¤ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬í기 ìí ë³µìê°ì ë°ì´í¸ ë¶ë¦¬ë¶ë¤; ë° ì기 ë°ì´í¸ ë¶ë¦¬ë¶ë¤ìì ë¶ë¦¬ë 모ë ì±ëì í´ë¹ ë°ì´í¸ë¥¼ 모ìì ííë§ ë¶í¸í를 ìíí기 ìí ë¤ì±ë ííë§ ë¶í¸ë¶ë¥¼ í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë¶í¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for encoding digital audio data of multiple channels, comprising: a plurality of prediction units for predicting digital audio data values to be currently encoded based on a plurality of digital audio data values previously input to each of a plurality of channels; A plurality of comparing units for comparing the digital audio data values currently input from the predicted values of each of the predicting units to output difference values of the two; A plurality of byte separators for separating the data output from the comparison units in byte units; And a multi-channel Huffman coder for performing Huffman coding by collecting corresponding bytes of all channels separated by the byte separators.
ì기ì ì 6목ì ì ë¬ì±í기 ìíì¬,In order to achieve the sixth purpose above,
ëì§í¸ ì¤ëì¤ ë°ì´í°ì íë¥ ì ì±ì§ì 근거íì¬ ë°ìë ííë§ ë¶í¸ì± ì í¬í¨íë ííë§ ë¶í¸íì ê´ë ¨ë ì½ë© ì ë³´ì 근거íì¬ ëì§í¸ ì¤ëì¤ ë°ì´í° ì¥ì¹ë¡ë¶í° ì ì¡ë ë³µìê° ì±ëì ë°ì´í°ë¥¼ ë³µí¸íí기 ìí ì¥ì¹ì ìì´ì, ì기 ì½ë© ì ë³´ì ë°ë¼ ì ì¡ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 모ë ì±ëì í´ë¹ ë°ì´í¸ ê°ê°ì ëí´ ííë§ ë³µí¸í를 ìíí기 ìí ííë§ ë³µí¸ë¶; ì기 ííë§ ë³µí¸ë¶ë¤ìì ë³µí¸ë ë°ì´í° ê°ê°ì ìë 구조ì ë°ì´í¸ë¡ ì¡°í©í기 ìí ë³µìê°ì ë°ì´í¸ ì¡°í©ë¶ë¤; íì¬ê¹ì§ ë³µí¸ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ ë¤ìì ë³µí¸ííí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측í기 ìí ë³µìê°ì ì측ë¶ë¤; ë° ì기 ì측ë¶ë¤ìì ì측ë ê°ìì ì기 ë°ì´í¸ ì¡°í©ë¶ë¤ìì ì¡°í©ë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ì°íì¬ ìëì ë³µìê° ì±ëì ëí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë³µìí기 ìí ê°ì°ë¶ë¤ì í¬í¨í¨ì í¹ì§ì¼ë¡ íë ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë³µí¸í ì¥ì¹ê° ì ê³µëë¤.An apparatus for decoding data of a plurality of channels transmitted from a digital audio data apparatus based on coding information related to Huffman coding including a Huffman coding book generated based on a stochastic property of digital audio data. A Huffman decoder for performing Huffman decoding on each corresponding byte of every channel of the digital audio data transmitted accordingly; A plurality of byte combiners for combining each of the data decoded in the Huffman decoders into bytes of an original structure; A plurality of prediction units for predicting a digital audio data value to be decoded next based on the plurality of digital audio data values decoded so far; And adders for adding digital audio data values combined in the byte combiners to the values predicted in the predictors to restore digital audio data values for a plurality of original channels. A lossless decoding apparatus is provided.
ì´í, 첨ë¶ë ëë©´ë¤ì 참조íì¬ ë³¸ ë°ëª ì 구íí ì¤ìì를 ìì¸í ì¤ëª íë¤.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
ëì§í¸ ì¤ëì¤ ì í¸ë ìµìì í¨ë¹í¸ë¤(Least Significant Bits; ì´í, LSBë¼ í¨)ì ë¹í´ ìµëì í¨ë¹í¸ë¤(Most Significant Bits; ì´í, MSBë¼ í¨)ê° ì¤ëì¤ì ë³´ì ííì ì¬ì©ëë íë¥ ì´ ë®ë¤ë í¹ì±ì ê°ëë¤. 본 ë°ëª ì ëì§í¸ ì¤ëì¤ ì í¸ì ì´ë¬í í¹ì±ì 근거íì¬ ëì§í¸ ì¤ëì¤ ì í¸ë¥¼ 무ìì¤ ìì¶ ë¶í¸ííë ë¶í¸íì¥ì¹ ë° ì´ ë¶í¸í ì¥ì¹ì ëìíë ë³µí¸í ì¥ì¹ë¥¼ ê³µê°íë¤.The digital audio signal is characterized by a low probability that the most significant bits (hereinafter referred to as MSB) are used for the representation of audio information compared to the least significant bits (hereinafter referred to as LSB). Have The present invention discloses an encoding device which losslessly compresses and encodes a digital audio signal based on this characteristic of the digital audio signal, and a decoding device corresponding to the encoding device.
ì¤ëª ì ëª ë£í¨ì ìí´, DVDìì ì¬ì©ëë ëì§í¸ ì¤ëì¤ ì í¸ì ê°ì´ ê° ì¤ëì¤ ìíì´ 24ë¹í¸ì ë°ì´í°ë¡ ííëë ì를 ì¤ëª íë¤. ê·¸ë¬ë, ì´ë¬í ìê° ë³¸ ë°ëª ì íì íë ê²ì ìëë¯ë¡, 본 ë°ëª ì ê° ì¤ëì¤ ìíì 16ë¹í¸ì ë°ì´í°ë¡ íííë CD ë±ì í¬í¨íì¬ ê° ì¤ëì¤ ìíì´ ë¤ë¥¸ ë°ì´í¸ìë¡ ííëë ê²½ì°ìë ì ì©í ì ììì ë¹ì ììê² ëª ë°±í ê²ì´ë¤.For clarity of explanation, an example is described in which each audio sample is represented by 24-bit data, such as a digital audio signal used in a DVD. However, since these examples do not limit the present invention, the present invention can be applied to the case where each audio sample is represented by a different number of bytes, including a CD representing each audio sample as 16 bits of data, and the like. Will be obvious to you.
ì°¸ê³ ë¡, ííë§ ë¶í¸ë ì ë ¥ ì¬ë³¼ë¤ê³¼ ì¶ë ¥ ë¶í¸ì´ë¤ì ë°°ì ê´ê³ë¥¼ íííë ê²ì¼ë¡, ìí¸ë¡í¼ë¶í¸í(entropy encoding)ì ì¼ì¢ ì¸ ê°ë³ì¥ ë¶í¸í(variable length encoding)를 ìí´ ì¬ì©ëë ëíì ì¸ ë¶í¸ì´ë¤. ì´ë¬í ííë§ ë¶í¸ë¥¼ í¬í¨í ê°ë³ì¥ ë¶í¸ììë, ë³´ë¤ ë¹ë²íê² ë°ìíë ì¬ë³¼ë¤ì ì§§ì ë¶í¸ì´ë¤ì í ë¹ëë©° ë ë¹ë²íê² ë°ìíë ì¬ë³¼ë¤ì 긴 ë¶í¸ì´ë¤(codewords)ì í ë¹ëë¤.For reference, the Huffman code represents an assignment relationship between input symbols and output codewords, and is a representative code used for variable length encoding, which is a type of entropy encoding. In variable length codes including such Huffman codes, more frequently occurring symbols are assigned to short codewords and less frequently occurring symbols are assigned to long codewords.
ë 1ë 본 ë°ëª ì ë°ë¥¸ ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë¶í¸í ì¥ì¹ì ì 1ì¤ììì ë¸ë¡ëì´ë¤.1 is a block diagram of a first embodiment of a lossless encoding apparatus of digital audio data according to the present invention.
ë 1ì ëìë ì¥ì¹ë ê·¹ì± ì²ë¦¬ë¶(10), íë ìíë¶(12), ë¹í¸ ì¬íí¸ë¶(14), ë°ì´í¸ ë¶ë¦¬ë¶(16) ë° ìí¸ë¡í¼ ë¶í¸ë¶(18)를 í¬í¨íë¤.The apparatus shown in FIG. 1 includes a polarity processor 10, a framer 12, a bit shifter 14, a byte separator 16 and an entropy coder 18.
ê·¹ì± ì²ë¦¬ë¶(10)ë ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ê·¹ì±ì íë¨íì¬ ì´ë íëì ê·¹ì±ì ê°ì§ ë°ì´í°ê°ì¼ë¡ ë³ííë¤. ê·¸ë¦¬ê³ , ê·¹ì± ì 보를 íì í ë³µí¸í ì¥ì¹ë¡ ì ì¡íë¤. ë 1ì ëìë ì¤ììììë í¸ìì 3 ë°ì´í¸(24 ë¹í¸)ì ë°ì´í°(íµì ìíì´ë¼ê³ í¨)ê° ì ë ¥ëë ê²½ì°ë¥¼ ìë¡ ë¤ì´ ì¤ëª íë¤. ê·¹ì±ì´ë ëì§í¸ ë°ì´í°ê°ì´ ìì¸ì§ ìì¸ì§ë¥¼ ë§íë¤. ì¦, ì ë ¥ëë ë°ì´í°ì ê·¹ì±ì ìì´ê±°ë ìì ë ì¤ì ì´ë íëë¡ íµì¼ìì¼ ì¶ë ¥íë¤. ì´ë ê² íë©´, ì ëë ì ì¤ ì´ë íëì ê°ì¼ë¡ë§ ë¶í¸í를 ìíí¨ì¼ë¡ì¨ ìì¶ í¨ì¨ì ëì¼ ì ìë¤.The polarity processor 10 determines the polarity of the input digital audio data and converts the polarity into a data value having one polarity. Then, the polarity information is transmitted to a decoding device to be described later. In the embodiment shown in FIG. 1, a case in which 3 bytes (24 bits) of data (usually called a sample) is input will be described as an example. Polarity refers to whether the digital data value is positive or negative. That is, the polarity of the input data is unified with either positive or negative output. In this way, the compression efficiency can be improved by performing encoding only on one of positive and negative values.
íë ìíë¶(12)ë ê·¹ì± ì²ë¦¬ë¶(10)ìì ë³íë ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ìì ê°ì 모ì íë ìì ë³µìê° êµ¬ì±íê³ , ì기 ê°ê°ì íë ììì í¬ê¸°ê° ìµëì¸ ëì§í¸ ë°ì´í°ë¥¼ 구íë¤. ëª ê°ì ìíì´ íëì íë ìì´ ëëì§ë íìì ë°ë¼ ì í ì ìì¼ë©°, ì컨ë í íë ìì 3200ê°ì ìíë¡ êµ¬ì±í ì ìë¤.The framer 12 configures a plurality of frames obtained by collecting a predetermined number of digital audio data converted by the polarity processor 10, and obtains digital data having a maximum size in each of the frames. How many samples become one frame can be determined as needed. For example, one frame may be composed of 3200 samples.
ë¹í¸ ì¬íí¸ë¶(14)ë íë ìíë¶(12)ìì 구í´ì§ ìµë ëì§í¸ ë°ì´í°ì ì í¨ MSB(Most Significant bit)를 ë§ì§ë§ ë¹í¸ì MSBì ì¤ëë¡ ì기 ê° íë ìì 모ë ë°ì´í°ë¥¼ ë¹í¸ ì¬íí¸(Bit Shift)íë¤. ì컨ë, í¬ê¸°ê° ê°ì¥ í° ëì§í¸ ë°ì´í°ì ì í¨ MSBê° 24ë¹í¸ì MSBì ì¤ëë¡ ë¹í¸ ì¬íí¸ë¥¼ íë¤. ë¬¼ë¡ , ë¤ë¥¸ ë°ì´í°ì ëí´ìë ì´ ë ì»ì´ì§ ë¹í¸ ì¬íí¸ê° ë§í¼ ë¹í¸ ì¬íí¸íë¤. ê·¸ë¦¬ê³ , ëª ë¹í¸ ë§í¼ ì¬íí¸íëì§ì ê´í ì ë³´ì¸ ë¹í¸ ì¬íí¸ ì 보를 ë³µí¸í ì¥ì¹ë¡ ì ì¡íë¤. í´ë¹ ëì§í¸ ë°ì´í°ë¥¼ ë¹í¸ ì¬íí¸ìí¤ë©´ ë¶í¸íí ëì§í¸ ë°ì´í°ê° ì´ë¤ íì ë ìì ëë ëìì í¬í¨ë ìíë¡ ë¶í¸íê° ìíë¨ì¼ë¡ì¨ ë¶í¸í í¨ì¨ì ëì¼ ì ìê² ëë¤.The bit shift unit 14 bit shifts all the data in each of the frames so that the most significant bit (MSB) of the maximum digital data obtained by the framer 12 comes to the MSB of the last bit. For example, bit shift is performed so that the effective MSB of the largest digital data is in the 24-bit MSB. Of course, other data is also bit shifted by the bit shift value obtained at this time. Then, the bit shift information, which is information on how many bits are shifted, is transmitted to the decoding apparatus. If the digital data is bit shifted, the encoding is performed in a state in which the digital data to be encoded is included in a limited region or band, thereby improving the encoding efficiency.
ë°ì´í¸ ë¶ë¦¬ë¶(16)ë ë¹í¸ ì¬íí¸ë¶(14)ìì ì¬íí¸ë ê° ìíì ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬íë¤. ì컨ë, 24ë¹í¸ë¡ ë 3ë°ì´í¸ì ë°ì´í°ë¥¼ 1ë°ì´í¸ì© ë¶ë¦¬íë¤.The byte divider 16 separates data of each sample shifted by the bit shift unit 14 in byte units. For example, three bytes of 24-bit data are separated by one byte.
ìí¸ë¡í¼ ë¶í¸ë¶(18)ë ë°ì´í¸ ë¶ë¦¬ë¶(16)ìì ë¶ë¦¬ë ë°ì´í¸ ê°ê°ì ëí´ ìí¸ë¡í¼ ë¶í¸í를 ìííë¤. ê·¸ë¦¬ê³ , ìí¸ë¡í¼ ë¶í¸íì ê´ë ¨ë ì ë³´ì¸ ì½ë© ì 보를 ë³µí¸í ì¥ì¹ë¡ ì ì¡íë¤.The entropy coder 18 performs entropy encoding on each of the bytes separated by the byte separator 16. The coding information, which is information related to entropy encoding, is transmitted to the decoding apparatus.
ë 2ë ë 1ì ëìë ê·¹ì± ì²ë¦¬ë¶ì ëìì ëíë´ë íë¦ëì´ë¤.FIG. 2 is a flowchart illustrating an operation of the polarity processor of FIG. 1.
ë¶í¸íí ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ì ë ¥íë¤.(22 ë¨ê³) ì ë ¥ ë°ì´í°ê° 0 ì´ìì¸ì§ë¥¼ íë¨íë¤.(24 ë¨ê³)Input digital audio data to be encoded (step 22). It is determined whether the input data is 0 or more.
24 ë¨ê³ìì ì ë ¥ ë°ì´í°ê° 0 ì´ìì¸ ê²ì¼ë¡ íë¨ëë©´, ê·¹ì±ì 보를 0ì¼ë¡ íì¬ ë³µí¸í ì¥ì¹ë¡ ì ì¡íê³ , ì ë ¥ ë°ì´í°ì ê·¹ì±ì ê·¸ëë¡ ë ìíìì, ì¦ ì ë ¥ ë°ì´í°ë¥¼ ê·¸ëë¡ íë ìíë¶(12)ë¡ ì¶ë ¥íë¤.(26 ë¨ê³)If it is determined in step 24 that the input data is greater than or equal to zero, the polarity information is set to 0 and transmitted to the decoding apparatus, and the input data is output to the framer 12 without changing the polarity of the input data. step)
24 ë¨ê³ìì ì ë ¥ ë°ì´í°ê° 0 ë³´ë¤ ìì ê²ì¼ë¡ íë¨ëë©´, ê·¹ì±ì 보를 1ë¡ íì¬ ë³µí¸í ì¥ì¹ë¡ ì ì¡íê³ , ì ë ¥ ë°ì´í°ì -1ì ê³±íì¬, ì¦ ì ë ¥ ë°ì´í°ì ê·¹ì±ì ë°ê¾¸ì´ íë ìíë¶(12)ë¡ ì¶ë ¥íë¤.(28 ë¨ê³)If it is determined in step 24 that the input data is smaller than 0, the polarity information is transmitted as 1 to the decoding apparatus, and the input data is multiplied by -1, that is, the polarity of the input data is changed and outputted to the framer 12. 28 steps)
ë 3ì ë 1ì ëìë ë¹í¸ ì¬íí¸ë¶ì ëìì ëíë´ë íë¦ëì´ë¤.3 is a flowchart illustrating an operation of a bit shift unit illustrated in FIG. 1.
í´ë¹ íë ìì ìµëê° = MAX ë¡ ëê³ , ë¹í¸ ì¬íí¸(Bit Shift)를 0ì¼ë¡ ëëë¤.(302 ë¨ê³) í´ë¹ íë ìì ìµëê°ì´ë íë ìíë¶ìì 구ì±ë íë ì ì¤ìì í¬ê¸°ê° ìµëì¸ ëì§í¸ ë°ì´í°ê°ì ë§íë¤.Set the maximum value of the frame to MAX and set the bit shift to 0 (step 302). The maximum value of the frame refers to the digital data value having the largest size among the frames configured in the framer.
MAXê° 0x800000 ì´ìì¸ì§ë¥¼ íë¨íë¤.(304 ë¨ê³) ì¬ê¸°ì, 0x800000ì 16ì§ìë¡ ííë ë°ì´í°ë¥¼ ëíë¸ë¤. 본 ì¤ììììë 24ë¹í¸ì ë°ì´í°ê° ì ë ¥ë ê²½ì°ë¥¼ ì¤ëª íê³ ìì¼ë, ë§ì¼ 32ë¹í¸ì ë°ì´í°ê° ì ë ¥ë ê²½ì°ìë ë¹êµ ëìì´ 0x800000ì´ ìëê³ 0x800000000ì´ ë ê²ì´ë¤. ì¦, ë°ì´í°ì MSBë§ 1ì´ê³ ë머ì§ë 0ì¸ ë°ì´í°ë¥¼ ë¹êµëìì¼ë¡ ì¬ì©íë¤.It is determined whether MAX is greater than or equal to 0x800000 (step 304). Here, 0x800000 represents data expressed in hexadecimal. In the present embodiment, a case where 24 bits of data is input is described, but when 32 bits of data is input, the comparison target will be 0x800000000 instead of 0x800000. That is, the data whose only MSB of data is 1 and the rest is 0 is used for comparison.
304 ë¨ê³ìì MAXê° 0x800000 ë³´ë¤ ìì ê²½ì°ìë MAX를 MSB ë°©í¥ì¼ë¡ 1ë¹í¸ ì¬íí¸ ìí¤ê³ , Bit Shift = Bit Shift + 1ë¡ íê³ , ë¤ì 304 ë¨ê³ë¥¼ ë°ë³µíë¤.(306 ë¨ê³)If MAX is less than 0x800000 in step 304, MAX is shifted 1 bit in the direction of MSB, Bit Shift = Bit Shift + 1, and step 304 is repeated again (step 306).
304 ë¨ê³ìì MAXê° 0x800000 ì´ìì´ë¼ê³ íë¨ëë©´, ì»ì´ì§ Bit Shift ê° ë§í¼ í´ë¹ íë ìì 모ë ë°ì´í°ë¥¼ ë¹í¸ ì¬íí¸ìí¨ë¤.(308 ë¨ê³)If the MAX is determined to be greater than or equal to 0x800000 in step 304, bit shift all the data of the frame by the obtained Bit Shift value (step 308).
Bit Shift ì ë³´ë ë³µí¸í ì¥ì¹ë¡ ì ì¡íê³ , ë¹í¸ ì¬íí¸ë ë°ì´í°ë ë°ì´í¸ ë¶ë¦¬ë¶(16)ì¼ë¡ ì¶ë ¥íë¤.(310 ë¨ê³)The bit shift information is transmitted to the decoding apparatus, and the bit shifted data is output to the byte separator 16 (step 310).
ë 4a ë´ì§ 4dë 24ë¹í¸ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê° ì ë ¥ë ê²½ì° ë¹í¸ ì¬íí¸ë¶ì ìí ë¹í¸ ì¬íí¸ë¥¼ ì¤ëª í기 ìí ê°ë ëì´ë¤.4A to 4D are conceptual views for explaining bit shift by a bit shift unit when 24-bit digital audio data is input.
ë 4a ë´ì§ 4dìì ì§íê² íìë ë¶ë¶ì ì í¨ ë°ì´í° ë¶ë¶ì ëíë¸ë¤. ì í¨ ë°ì´í°ë¥¼ ì ì¸í ë¶ë¶ì 모ë 0ì¼ë¡ ì±ìì ¸ ìë¤.The parts in bold in FIG. 4A to 4D represent valid data parts. All parts except valid data are filled with zeros.
ë 4aë ë¹í¸ ì¬íí¸ê°ì´ 8ì¸ ê²½ì°ì ë¹í¸ ì¬íí¸ ì ê³¼ íì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ëíë¸ë¤. ë 4bë ë¹í¸ ì¬íí¸ê°ì´ 8ë³´ë¤ í¬ê³ , 16 ë³´ë¤ ìì ê²½ì°ì ë¹í¸ ì¬íí¸ ì ê³¼ íì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ëíë¸ë¤.4A shows digital audio data before and after bit shift when the bit shift value is eight. 4B shows digital audio data before and after bit shift when the bit shift value is larger than 8 and smaller than 16. FIG.
ë 4a ë° 4b를 참조íë©´, ìµìì ë°ì´í¸ì ì¤ê° ë°ì´í¸ë§ì´ ì í¨í ë°ì´í°ë¥¼ ê°ì§ê³ , ìµíì ë°ì´í¸(1-8 ë¹í¸)ë 모ë 0ì¼ë¡ ì±ìì ¸ ì í¨í ë°ì´í°ë¥¼ ê°ì§ì§ 못í¨ì ì ì ìë¤.Referring to FIGS. 4A and 4B, it can be seen that only the most significant byte and the middle byte have valid data, and the least significant byte (1-8 bits) are all filled with 0 and do not have valid data.
ë 4cë ë¹í¸ ì¬íí¸ê°ì´ 16 ì´ê±°ë 16 ë³´ë¤ í° ê²½ì°ì ë¹í¸ ì¬íí¸ ì ê³¼ íì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ëíë¸ë¤. ë 4c를 참조íë©´, ìµìì ë°ì´í¸ë§ì´ ì í¨í ë°ì´í°ë¥¼ ê°ì§ê³ , ëë¨¸ì§ ë°ì´í¸ë¤ì 모ë 0ì¼ë¡ ì±ìì§ì ì ì ìë¤.4C shows digital audio data before and after bit shift when the bit shift value is 16 or greater than 16. FIG. Referring to FIG. 4C, it can be seen that only the most significant byte has valid data, and all remaining bytes are filled with zeros.
ë 4dë ë¹í¸ ì¬íí¸ê°ì´ 8ë³´ë¤ ìì ê²½ì°ì ë¹í¸ ì¬íí¸ ì ê³¼ íì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ëíë¸ë¤. ë 4d를 참조íë©´, 모ë ë°ì´í¸ê° ì í¨í ë°ì´í°ë¥¼ ê°ì§ì ì ì ìë¤.4D shows digital audio data before and after bit shift when the bit shift value is less than eight. Referring to FIG. 4D, it can be seen that all bytes have valid data.
ë 5ë ë 1ì ëìë ë°ì´í¸ ë¶ë¦¬ë¶ì ìí ë°ì´í¸ ë¶ë¦¬ë¥¼ ì¤ëª í기 ìí ê°ë ëì´ë¤.FIG. 5 is a conceptual diagram for describing byte separation by the byte separation unit illustrated in FIG. 1.
본 ì¤ììììë 24ë¹í¸ì ëì§í¸ ë°ì´í°ê° ì ë ¥ëë¯ë¡, ë 5ìì 3ê°ì ë°ì´í¸ë¡ ëëì´ì§ê² ë¨ì ë³¼ ì ìë¤. 3ê°ì ë°ì´í¸ë ìµìì ë°ì´í¸(1st Byte), ì¤ê° ë°ì´í¸(2nd Byte) ë° ìµíì ë°ì´í¸(last Byte)ë¡ ëì´ ìë¤. ë°ì´í¸ ë¶ë¦¬ë¥¼ íì¬ ë¶í¸í를 ìííê² ëë©´, ì í¨ ë°ì´í°ê° ìë ë¶ë¶ì ë¶ë¦¬í ì ì기 ë문ì ì컨ë, 3ë°ì´í¸ê° íëì ìíë¡ ì´ë£¨ì´ì§ ë ë°ì´í°ë¥¼ ë¶í¸ííë ê² ë³´ë¤ ë¶í¸í í¨ì¨ì´ ì¢ê² ëë¤.In the present embodiment, since 24-bit digital data is input, it can be seen that the data is divided into three bytes in FIG. 5. The three bytes consist of the most significant byte (1st byte), the middle byte (2nd byte), and the least significant byte (last byte). When encoding is performed by byte separation, since portions that are not valid data can be separated, for example, encoding efficiency is higher than that of encoding data consisting of one sample of three bytes.
ë 6ì ë 1ì ëìë ë°ì´í¸ ë¶ë¦¬ë¶ì ìí¸ë¡í¼ ë¶í¸ë¶ì ìì¸ ë¸ë¡ëì´ë¤.FIG. 6 is a detailed block diagram illustrating a byte separator and an entropy coder illustrated in FIG. 1.
ë°ì´í¸ ë¶ë¦¬ë¶(16)ìì ë¶ë¦¬ë ìµìì Byte, ì¤ê° Byte ë° ìµíì Byteë ê°ê° ì 1 - ì 3ìí¸ë¡í¼ ë¶í¸ë¶(18a-18c)ë¡ ì ë ¥ëì´ ê°ê° ìµìì, ì¤ê° ë° ìµíì Byteì ìí¸ë¡í¼ ì½ë©(Entropy Coding) 결과를 ì¶ë ¥íê² ëë¤.The most significant byte, the middle byte, and the least significant byte separated by the byte separator 16 are input to the first through third entropy codes 18a-18c, respectively, and the result of entropy coding of the most significant, middle, and least significant byte, respectively. Will print
ìí¸ë¡í¼ ì½ë©ì ìí¸ë¡í¼ ë¶í¸í를 ì ìê³ ìë ë¹ì ììê²ë ìëª í ì¬íì´ë¯ë¡ ê·¸ê²ì ëí 구체ì ì¸ ì¤ëª ì ìëµíê¸°ë¡ íë¤.Entropy coding is obvious to those skilled in the art who are familiar with entropy coding, so a detailed description thereof will be omitted.
ë 7ì ë 6ì ëìë ê° ìí¸ë¡í¼ ë¶í¸ë¶(18a-18c)ì ìì¸ ë¸ë¡ëì´ë¤.FIG. 7 is a detailed block diagram of each entropy coder 18a-18c shown in FIG. 6.
ë 7ì ëìë ì¥ì¹ë ì í¨ ë°ì´í° ì¡´ì¬ì¬ë¶ íë¨ë¶(70), ìí¸ë¡í¼ ì ë³´ ë°ì기(72), ìí¸ë¡í¼ ë¶í¸ê¸°(74) ë° ë°ì´í°ë ë¹êµê¸°(76)를 í¬í¨íë¤.The apparatus shown in FIG. 7 includes a valid data existence determination unit 70, an entropy information generator 72, an entropy encoder 74, and a data amount comparator 76.
ì í¨ ë°ì´í° ì¡´ì¬ì¬ë¶ íë¨ë¶(70)ë ë°ì´í¸ ë¶ë¦¬ë¶(16)ìì ì¶ë ¥ë í´ë¹ íë ìì 모ë í´ë¹ ë°ì´í¸ ë°ì´í°ì ì í¨ ë°ì´í°ê° ì¡´ì¬íëì§ ì¬ë¶ë¥¼ íë¨íë¤. ì¡´ì¬íì§ ìëë¤ê³ íë¨ëë©´, ë ì´ìì ì²ë¦¬ë¥¼ íì§ ìëë¤. ì í¨ ë°ì´í° ì¡´ì¬ì¬ë¶ íë¨ë¶(70)ìì í´ë¹ ë°ì´í¸ ë°ì´í°ì ì í¨ ë°ì´í°ê° ì¡´ì¬íë¤ê³ íë¨ëë©´, ì기 ì í¨ ë°ì´í°ë ìí¸ë¡í¼ ì ë³´ ë°ì기(72), ìí¸ë¡í¼ ë¶í¸ê¸°(74) ë° ë°ì´í°ë ë¹êµê¸°(76)ë¡ ì ë ¥ëë¤.The valid data existence determination unit 70 determines whether valid data exists in all the corresponding byte data of the corresponding frame output from the byte separation unit 16. If it does not exist, no further processing is performed. When the valid data existence determination unit 70 determines that valid data exists in the corresponding byte data, the valid data is input to the entropy information generator 72, the entropy encoder 74, and the data amount comparator 76.
ìí¸ë¡í¼ ì ë³´ ë°ì기(72)ë ìí¸ë¡í¼ ì 보를 ë°ìíì¬ ë³µí¸í ì¥ì¹ë¡ ì ì¡í¨ê³¼ ëìì ìí¸ë¡í¼ ë¶í¸ê¸°(74)ë¡ ì¶ë ¥íë¤. ìí¸ë¡í¼ ë¶í¸íë ëì§í¸ ë°ì´í°ì íµê³ì ì±ì§ì 기ì´ë¡ ë¶í¸í를 ìííëë°, ì´ë¬í ëì§í¸ ë°ì´í°ì íµê³ì ì±ì§ì ê´í ì ë³´ê° ìí¸ë¡í¼ ì ë³´ì´ë¤.The entropy information generator 72 generates and transmits entropy information to the decoding apparatus and outputs the entropy information to the entropy encoder 74. Entropy encoding performs encoding based on the statistical properties of digital data, and the information about the statistical properties of the digital data is entropy information.
ìí¸ë¡í¼ ë¶í¸ê¸°(74)ë ì기 ìí¸ë¡í¼ ì ë³´ì 근거íì¬ ì í¨ ë°ì´í°ì ëí´ ìí¸ë¡í¼ ë¶í¸í를 ìííì¬ ë°ì´í°ë ë¹êµê¸°(76)ì¼ë¡ ì¶ë ¥íë¤.The entropy encoder 74 performs entropy encoding on the valid data based on the entropy information and outputs the entropy encoding to the data amount comparator 76.
ë°ì´í°ë ë¹êµê¸°(76)ë ì í¨ ë°ì´í°ë¡ íë¨ë ëì§í¸ ë°ì´í°ì ìí¸ë¡í¼ ë¶í¸ê¸°(74)ìì ë¶í¸íë ë°ì´í°ë¥¼ ë¹êµíì¬ í´ë¹ íë ìì ë°ì´í°ëì´ ì ì 쪽ì ì¶ë ¥íë¤. ì¦, ìë ë°ì´í°ìì´ ìí¸ë¡í¼ ë¶í¸íë ë°ì´í°ì ë³´ë¤ ìë¤ë©´ ìë ë°ì´í°ë¥¼ ì¶ë ¥íê³ , ê·¸ ë°ëì¸ ê²½ì°ìë ìí¸ë¡í¼ ë¶í¸íë ë°ì´í°ë¥¼ ì¶ë ¥íê² ëë¤.ê·¸ë¦¬ê³ , ì´ë¤ ë°ì´í°ê° ì¶ë ¥ëìëì§ì ê´í ì 보를 ì¶ë ¥íê² ëë¤.The data amount comparator 76 compares the digital data determined as valid data with the data encoded by the entropy encoder 74 and outputs the one with the smaller data amount of the corresponding frame. That is, if the amount of original data is smaller than the amount of entropy-encoded data, original data is output, and if it is vice versa, entropy-encoded data is output. Then, information about what data is output is output.
ë 6ì ëìë ê° ìí¸ë¡í¼ ë¶í¸ë¶(18a-18c)ìì ê°ê° ì¶ë ¥ëë ìí¸ë¡í¼ ë¶í¸í ê²°ê³¼ë ìí¸ë¡í¼ ì ë³´ ë°ì기(72)ìì ë°ìë ìí¸ë¡í¼ ì ë³´ì, ë°ì´í°ë ë¹êµê¸°(76)ìì ì¶ë ¥ëë ìëì ë°ì´í° ëë ë¶í¸íë ë°ì´í°, ê·¸ë¦¬ê³ ê·¸ì ê´í ì ë³´ 모ë를 í¬í¨íë¤.Entropy encoding results output from each of the entropy coding units 18a-18c shown in FIG. 6 include entropy information generated by the entropy information generator 72, original data output from the data amount comparator 76, or encoded data. It includes both data and information about it.
ë 8ì ë 1ì ëìë ì¥ì¹ì ìí´ ë¶í¸íë ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë³µí¸ííë ëì§í¸ ì¤ëì¤ ë°ì´í° ë³µí¸í ì¥ì¹ì ë¸ë¡ëì´ë¤,8 is a block diagram of a digital audio data decoding apparatus for decoding digital audio data encoded by the apparatus shown in FIG. 1.
ë 8ì ëìë ì¥ì¹ë ìí¸ë¡í¼ ë³µí¸ë¶(80), ë°ì´í¸ ì¡°í©ë¶(82), ì ë¹í¸ ì¬íí¸ë¶(84), ê·¹ì± ë³µìë¶(86)를 í¬í¨íë¤.The apparatus shown in FIG. 8 includes an entropy decoding unit 80, a byte combining unit 82, an inverse bit shift unit 84, and a polarity restoring unit 86.
ë 8ì ëìë ì¥ì¹ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ê·¹ì±ì ëíë´ë ê·¹ì±ì ë³´ì, ì¬íí¸ë ë¹í¸ì를 ëíë´ë ë¹í¸ ì¬íí¸ ì ë³´ì, ìí¸ë¡í¼ ë¶í¸íì ê´ë ¨ë ì½ë© ì ë³´ì 근거íì¬ ë 1ì ëìë ëì§í¸ ì¤ëì¤ ë°ì´í° ë¶í¸í ì¥ì¹ë¡ë¶í° ì ì¡ë ë°ì´í°ë¥¼ ë³µí¸ííë¤.The apparatus shown in FIG. 8 transmits from the digital audio data encoding apparatus shown in FIG. 1 based on polarity information indicating the polarity of the digital audio data, bit shift information indicating the number of shifted bits, and coding information related to entropy encoding. Decrypted data.
ìí¸ë¡í¼ ë³µí¸ë¶(80)ë ì기 ì½ë© ì ë³´ì ë°ë¼ ì ì¡ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë°ì´í¸ ê°ê°ì ëí´ ìí¸ë¡í¼ ë³µí¸í를 ìííë¤.The entropy decoding unit 80 performs entropy decoding on each byte of digital audio data transmitted according to the coding information.
ë°ì´í¸ ì¡°í©ë¶(82)ë ìí¸ë¡í¼ ë³µí¸ë¶(80)ìì ë³µí¸ë ë°ì´í° ê°ê°ì ìë ë°ì´í°ë¡ ì¡°í©íë¤.The byte combiner 82 combines each of the data decoded by the entropy decoder 80 into original data.
ì ë¹í¸ ì¬íí¸ë¶(84)ë ì기 ë¹í¸ ì¬íí¸ ì ë³´ì ë°ë¼ ë°ì´í¸ ì¡°í©ë¶(82)ìì ì¡°í©ë ë°ì´í°ë¥¼ ìë°©í¥ì¼ë¡ ë¹í¸ ì¬íí¸ìí¨ë¤.The inverse bit shift unit 84 bit shifts the data combined in the byte combiner 82 in the reverse direction according to the bit shift information.
ê·¹ì± ë³µìë¶(86)ë ì기 ê·¹ì± ì ë³´ì ë°ë¼ ìë¹í¸ ì¬íí¸ë¶(84)ìì ì¬íí¸ë ë°ì´í°ì ê·¹ì±ì ìë ê·¹ì±ì¼ë¡ ë³µìíë¤. ì컨ë, ê·¹ì± ì ë³´ê°ì´ 0ì´ë©´ ìë¹í¸ ì¬íí¸ë¶(84)ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ê·¸ëë¡ ì¶ë ¥íê³ , ê·¹ì± ì ë³´ê°ì´ 1ì´ë©´ ìë¹í¸ ì¬íí¸ë¶(84)ìì ì¶ë ¥ë ë°ì´í°ì -1ì ê³±íì¬, ì¦ í´ë¹ ë°ì´í°ì ê·¹ì±ì ë°ê¾¸ì´ ì¶ë ¥íê² ëë¤.The polarity restoring unit 86 restores the polarity of the data shifted by the inverse bit shift unit 84 to the original polarity according to the polarity information. For example, if the polarity information value is 0, the data output from the inverse bit shift unit 84 is output as it is. If the polarity information value is 1, the data output from the inverse bit shift unit 84 is multiplied by -1, that is, the corresponding data. Change the polarity of the output.
ë 9ë ë 8ì ëìë ìí¸ë¡í¼ ë³µí¸ë¶(80)ì ìì¸ë¸ë¡ëì´ë¤.9 is a detailed block diagram of the entropy decoding unit 80 shown in FIG. 8.
ë¶í¸í ì¥ì¹ìì ì ì¡ë, ìµìì ë°ì´í¸, ì¤ê° ë°ì´í¸ ë° ìµíì ë°ì´í¸ì ë¶í¸íë ë°ì´í°(CODED DATA)ë ê°ê° ì 1 - ì 3ìí¸ë¡í¼ ë³µí¸ë¶(80a-80c)ë¡ ì ë ¥ëì´ ê°ê° ìµìì, ì¤ê° ë° ìµíì ë°ì´í¸ë¡ ë³µí¸í ëì´ ë°ì´í¸ ì¡°í©ë¶(82)ë¡ ì ë ¥ëë¤.The coded data of the most significant byte, the most significant byte and the least significant byte transmitted from the encoding apparatus are input to the first to third entropy decoding units 80a to 80c, respectively, and decoded into the most significant, middle and least significant bytes, respectively. It is input to the byte combiner 82.
ë 10ì ë 9ì ëìë ê° ìí¸ë¡í¼ ë³µí¸ë¶(80a-80c)ì ëìì ëíë´ë íë¦ëì´ë¤.FIG. 10 is a flowchart showing the operation of each entropy decoding unit 80a-80c shown in FIG. 9.
ë¶í¸í ì¥ì¹ìì ì ì¡ëì´ ì¨ ë¶í¸íë ë°ì´í°ë¥¼ ì ë ¥íë¤.(102 ë¨ê³)Input the encoded data transmitted from the encoding apparatus (step 102).
ì½ë© ì 보를 ì´ì©íì¬ ì ë ¥ ë°ì´í°ê° ìí¸ë¡í¼ ë¶í¸íë ë°ì´í°ì¸ì§ë¥¼ íë¨íë¤.(104 ë¨ê³) ì½ë© ì ë³´ë ìí¸ë¡í¼ ì ë³´ê¹ì§ í¬í¨íì§ë§, ì¬ê¸°ìë ë 7ì ë°ì´í°ë ë¹êµê¸°(76)ìì ì¶ë ¥ë ì ë³´(ìë ë°ì´í°ì ë¶í¸íë ë°ì´í° ì¤ ì´ë¤ ë°ì´í°ê° ì¶ë ¥ëìëì§ì ëí ì ë³´ ì¶ë ¥)를 ë§íë¤.The coding information is used to determine whether the input data is entropy-encoded data (step 104). The coding information includes entropy information, but information output from the data amount comparator 76 of FIG. Information on which data has been output).
104 ë¨ê³ìì ì ë ¥ ë°ì´í°ê° ìí¸ë¡í¼ ë¶í¸íë ë°ì´í°ì¸ ê²½ì° ìí¸ë¡í¼ ì 보를 ì´ì©íì¬ ì ë ¥ë ë°ì´í°ì ëí´ ìí¸ë¡í¼ ë³µí¸í를 ìííë¤.(106 ë¨ê³)If the input data is entropy-encoded data in step 104, entropy decoding is performed on the input data by using entropy information (step 106).
104 ë¨ê³ìì ì ë ¥ ë°ì´í°ê° ìí¸ë¡í¼ ë¶í¸íë ë°ì´í°ê° ìë ê²½ì°, ìëì ë°ì´í°ê° ì ì¡ëìëì§ë¥¼ íë¨íë¤.(108 ë¨ê³)If the input data is not entropy coded data in step 104, it is determined whether the original data has been transmitted (step 108).
108 ë¨ê³ìì ìëì ë°ì´í°ê° ì ì¡ëìë¤ê³ íë¨ëë©´, ê° ìí¸ë¡í¼ ë³µí¸ë¶(80a-80c)ë¡ ì ë ¥ë ë°ì´í°ë¥¼ ê·¸ëë¡ ì¶ë ¥íë¤.(112 ë¨ê³)If it is determined in step 108 that the original data is transmitted, the data input to each of the entropy decoding units 80a to 80c is output as it is (step 112).
108 ë¨ê³ìì ìëì ë°ì´í°ê° ì ì¡ëì§ ììë¤ê³ íë¨ëë©´, 0ì¼ë¡ ì±ìì§ ë°ì´í¸ë¤ì íìí ì ë§í¼ ìì±íë¤.(110 ë¨ê³) ìí¸ë¡í¼ ë¶í¸íìì í´ë¹ ë°ì´í¸ë¨ì ì í¨ ë°ì´í°ê° ì¡´ì¬íì§ ììì ë¶í¸íê° ì´ë£¨ì´ì§ì§ ìì ê²½ì°ìë 0x00ì ë°ì´í¸ë¥¼ íìí ì ë§í¼ ìì±íë ê²ì´ë¤.If it is determined in step 108 that the original data has not been transmitted, a number of bytes filled with zeros are generated as necessary (step 110). If encoding is not performed because no valid data exists in the corresponding byte during encoding, 0x00 To generate as many bytes as needed.
112 ë¨ê³ììì ì ë ¥ ë°ì´í°ë 110 ë¨ê³ìì ìì±ë ë°ì´í°ë¥¼ ë°ì´í¸ ì¡°í©ë¶ë¡ ì¶ë ¥íë¤.(114 ë¨ê³)The input data in step 112 or the data generated in step 110 are output to the byte combiner (step 114).
ë 11ë ë 8ì ëìë ë°ì´í¸ ë¶ë¦¬ë¶ì ìí ë°ì´í¸ ë¶ë¦¬ë¥¼ ì¤ëª í기 ìí ê°ë ëì´ë¤.FIG. 11 is a conceptual diagram for describing byte division by the byte separation unit illustrated in FIG. 8.
ë 11ìì ìí¸ë¡í¼ ë³µí¸íë¶ìì ë³µí¸ë, ìµìì Byte, ì¤ê° Byte ë° ìµíì Byteë¡ ë¶ë¦¬ëì´ ìë ì¤ëì¤ ë°ì´í°ë¥¼ íëì ë°ì´í¸ë¡ ì¡°í©íë¤.In FIG. 11, audio data divided into the most significant byte, the most significant byte, and the least significant byte decoded by the entropy decoding unit are combined into one byte.
ë 12ë 본 ë°ëª ì ë°ë¥¸ ëì§í¸ ì¤ëì¤ ë°ì´í°ì 무ìì¤ ë¶í¸í ì¥ì¹ì ì 2ì¤ììì ë¸ë¡ëì´ë¤.12 is a block diagram of a second embodiment of an apparatus for lossless encoding of digital audio data according to the present invention.
ë 12ì ëìë ì¥ì¹ë ì측ë¶(120), ë¹êµë¶(122), ë°ì´í¸ ë¶ë¦¬ë¶(124), ííë§ ë¶í¸ë¶(126) ë° ì ì¡ë¶(128)를 í¬í¨íë¤. ë 12ììë í¸ìì ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ê° 24 ë¹í¸ì¸ ê²½ì°ì ëí´ ì¤ëª íë¤. ê·¸ë¬ë, 16ë¹í¸ ëë 32ë¹í¸ì¸ ê²½ì°ìë 본ë°ëª ì ì 2ì¤ììê° ì ì©ë ì ììì ë¬¼ë¡ ì´ë¤.The apparatus shown in FIG. 12 includes a predictor 120, a comparator 122, a byte separator 124, a Huffman coder 126, and a transmitter 128. 12 illustrates a case where the digital audio data input for convenience is 24 bits. However, of course, the second embodiment of the present invention can be applied to the case of 16 bits or 32 bits.
ì측ë¶(120)ë ì´ì ì ì ë ¥ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ íì¬ ë¶í¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íë¤. ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íë ë°©ë²ìë ì¬ë¬ ê°ì§ê° ìì ì ìëë°, 본 ì¤ììììë ê·¸ í ìë¡ì ë 13ììì ê°ì´ Cubic Spline Curve Fittingì ì´ì©íì¬ íì¬ ë³µí¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íë¤. 구체ì ì¸ ë°©ë²ì ë 13ìì ë³´ë ë°ì ê°ì´ ì´ì ì ì ë ¥ë 4ê°ì ì í¸ê°ì ì´ì©íì¬ Cubic Spline í¨ì를 구íê³ , ê·¸ í¨ì를 ì´ì©íì¬ ë¤ìì ì ë ¥ë ë°ì´í°ê°, ì¦ íì¬ ë¶í¸ííê³ ì íë ë°ì´í°ë¥¼ ì측íë¤. ë 13ìì ì¸ë¡ì¶ì ëì§í¸ ë°ì´í°ê°ì ëíë´ê³ , ê°ë¡ì¶ì ì ë ¥ëë ìê°ì ëíë¸ë¤.The predictor 120 predicts a digital audio data value to be currently encoded based on a plurality of digital audio data values previously input. There are various methods of predicting digital audio data values. In this embodiment, as an example, the digital audio data values to be decoded are predicted using Cubic Spline Curve Fitting as shown in FIG. As shown in FIG. 13, a cubic spline function is obtained by using four signal values previously input, and the next data value, that is, data to be currently encoded, is predicted using the function. In FIG. 13, the vertical axis represents a digital data value, and the horizontal axis represents an input time.
ë¹êµë¶(122)ë ì측ë¶(120)ìì ì측ë ê°ìì íì¬ ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë¹êµíì¬ ììì ì°¨ì´ê°ì ì¶ë ¥íë¤. ë 13ì ì측ë¶(120)ìì ì측ë ê°ìì íì¬ ì ë ¥ê°ì ëº ì°¨ì´ê°ì 구í기 ìí ê°ë ëê° ëìëì´ ìë¤.The comparator 122 compares the digital audio data value currently input from the value predicted by the predictor 120 and outputs a difference value between them. FIG. 13 is a conceptual diagram for obtaining a difference value obtained by subtracting a current input value from a value predicted by the predictor 120.
ì¬ê¸°ì íì¬ ë¶í¸ííê³ ì íë ë°ì´í°ê°ì ì측íì¬ ê·¸ ì°¨ì´ê°ì ë¶í¸ííë ì´ì ë ë¤ìê³¼ ê°ë¤. ì ë ¥ëë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë ì¸ì§ë 0-24ë¹í¸ ê¹ì§ ë¤ìíê² ë¶í¬ëì´ ìì¼ë, 본ì¤ììììì ê°ì´ ì측ë ê°ê³¼ ì ë ¥ëë ë°ì´í°ê°ì ì°¨ì´ê°ì ë¶í¸ííê² ëë©´ ì í¨ë¹í¸ê° 0-8 ëë 0-10ë¹í¸ê¹ì§ ìë¹í ì¤ì´ë¤ê² ëì´ ìì¶í¨ì¨ì íì í ëì¼ ì ì기 ë문ì´ë¤.Here, the reason for predicting the data value to be currently encoded and encoding the difference value is as follows. The range of the input digital audio data values is varied from 0 to 24 bits. However, when the difference value between the predicted value and the input data value is encoded as in this embodiment, the valid bits are 0-8 or 0-. This can be significantly reduced to 10 bits, which can significantly increase the compression efficiency.
ë°ì´í¸ ë¶ë¦¬ë¶(124)ë ë¹êµë¶(120)ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬íë¤. 본ì¤ìììì ê°ì´ 3 ë°ì´í¸ë¡ ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì¸ ê²½ì° ìµìì ë°ì´í¸, ì¤ê° ë°ì´í¸, ìµíì ë°ì´í¸ì 3ê°ë¡ ë¶ë¦¬í ì ìë¤. 16ë¹í¸ì¸ ê²½ì° ë°ì´í¸ ë¶ë¦¬ë ìµìì 1ë°ì´í¸ì ìµíì 1ë°ì´í¸ë¡ ë¶ë¦¬ë ê²ì´ë¤.The byte separator 124 separates the data output from the comparator 120 in units of bytes. In the case of digital audio data having three bytes as in the present embodiment, it can be separated into three of the most significant byte, the middle byte, and the least significant byte. For 16 bits, byte separation will be split into the most significant 1 byte and the least significant byte.
ííë§ ë¶í¸ë¶(126)ë ë°ì´í¸ ë¶ë¦¬ë¶(124)ìì ë¶ë¦¬ë ë°ì´í¸ ê°ê°ì ëí´ííë§ ë¶í¸í를 ìííë¤.The Huffman coder 126 performs Huffman encoding on each of the bytes separated by the byte separator 124.
ì ì¡ë¶(128)ë ííë§ ë¶í¸ë¶(126)ìì ë¶í¸íë ë°ì´í°ì ííë§ ë¶í¸ì± (Huffman Codebook)ì í¬í¨í ì½ë©ì 보를 ì ë ¥íì¬ íì í ë³µí¸í ì¥ì¹ë¡ ì¶ë ¥íë¤.The transmitter 128 inputs coding information including the data encoded by the Huffman coder 126 and the Huffman Codebook, and outputs the coded information to a decoder to be described later.
ë 14ë ë 12ì ëìë ë°ì´í¸ ë¶ë¦¬ë¶ì ííë§ ë¶í¸ë¶ì ìì¸ ë¸ë¡ëì´ë¤.FIG. 14 is a detailed block diagram of a byte separator and a Huffman code unit shown in FIG. 12.
ë°ì´í¸ ë¶ë¦¬ë¶(124)ìì ë¶ë¦¬ë ìµìì Byte, ì¤ê° Byte ë° ìµíì Byteë ê°ê° ì 1 - ì 3ííë§ ë¶í¸ë¶(128-132)ë¡ ì ë ¥ëì´ ê°ê° ìµìì, ì¤ê° ë° ìµíì Byteì ííë§ ë¶í¸í(Huffman Coding) 결과를 ì¶ë ¥íê² ëë¤.The most significant byte, the most significant byte, and the least significant byte separated by the byte separator 124 are input to the first to third Huffman codes 128-132, respectively, and Huffman coding results of the most significant, middle, and least significant bytes, respectively. Will print
ííë§ ì½ë©ì ííë§ ë¶í¸í를 ì ìê³ ìë ë¹ì ììê²ë ìëª í ì¬íì´ë¯ë¡ ê·¸ê²ì ëí 구체ì ì¸ ì¤ëª ì ìëµíê¸°ë¡ íë¤.Huffman coding is obvious to those skilled in the art who are familiar with Huffman coding, and thus a detailed description thereof will be omitted.
ë 15ë ë 14ì ëìë ê° ííë§ ë¶í¸ë¶(128-132)ì ìì¸ ë¸ë¡ëì´ë¤.FIG. 15 is a detailed block diagram of each Huffman code unit 128-132 shown in FIG.
ë 15ì ëìë ì¥ì¹ë ííë§ ë¶í¸ì± ë°ì기(126a), ííë§ ë¶í¸ê¸°(126b) ë° ë°ì´í°ë ë¹êµê¸°(126c)를 í¬í¨íë¤.The apparatus shown in FIG. 15 includes a Huffman code book generator 126a, a Huffman coder 126b, and a data amount comparator 126c.
ííë§ ë¶í¸ì± ë°ì기(126a)ë ë°ì´í¸ ë¶ë¦¬ë¶(124)ìì ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬ë ë°ì´í°ë¥¼ ìì ê°ì 모ì í íë ìì 구ì±íê³ , ì기 íë ìì í¬í¨ë ë°ì´í°ë¤ì íë¥ ì ì±ì§ì 근거íì¬ ííë§ ë¶í¸ì± (Huffman Codebook)ì ë°ìíë¤. ì´ ë, ê°ì¥ ì¢ì í¨ì¨ì ê°ì§ë ì½ë를 ìì±íë 쪽ì¼ë¡ ì íì´ ëë¤. ë°ìë ííë§ ë¶í¸ì± ì ì ì¡ë¶(128)를 íµí´ íì í ë³µíí ì¥ì¹ë¡ ì ì¡íë¤. ê·¸ë¦¬ê³ , ííë§ ë¶í¸ê¸°(126b)ë¡ë ì¶ë ¥íë¤.The Huffman codebook generator 126a forms a frame by collecting a predetermined number of pieces of data separated by a byte unit in the byte separator 124, and based on the probabilistic nature of the data included in the frame. Will occur). At this point, the choice is to generate the code with the best efficiency. The generated Huffman code book is transmitted to the demodulation device to be described later through the transmission unit 128. It is also output to the Huffman encoder 126b.
ííë§ ë¶í¸ê¸°(126b)ë ííë§ ë¶í¸ì± ë°ì기(126a)ìì ë°ìë ííë§ ë¶í¸ì± ì 근거íì¬ ë°ì´í¸ ë¶ë¦¬ë¶(124)ìì ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬ë ë°ì´í°ì ëí´ ííë§ ë¶í¸í를 ìííë¤.The Huffman coder 126b performs Huffman coding on data separated by a byte unit in the byte separator 124 based on the Huffman codebook generated by the Huffman codebook generator 126a.
ë°ì´í°ë ë¹êµê¸°(126c)ë ííë§ ë¶í¸ê¸°(126b)ìì ë¶í¸íë ë°ì´í°ì ë°ì´í¸ ë¶ë¦¬ë¶(124)ìì ë¶ë¦¬ë ë°ì´í°ë¥¼ ë¹êµíì¬ ë°ì´í°ëì´ ì ì 쪽ì ì¶ë ¥íë¤. ì¦, ìë ë°ì´í°ìì´ ííë§ ë¶í¸íë ë°ì´í°ì ë³´ë¤ ìë¤ë©´ ìë ë°ì´í°ë¥¼ ì¶ë ¥íê³ , ê·¸ ë°ëì¸ ê²½ì°ìë ííë§ ë¶í¸íë ë°ì´í°ë¥¼ ì¶ë ¥íê² ëë¤. ê·¸ë¦¬ê³ , ìë ë°ì´í°ì ë¶í¸íë ë°ì´í° ì¤ ì´ë¤ ë°ì´í°ê° ì¶ë ¥ëìëì§ì ê´í ì 보를 ì ì¡ë¶(128)를 íµí´ ë³µí¸íì¥ì¹ë¡ ì¶ë ¥íê² ëë¤.The data amount comparator 126c compares the data encoded by the Huffman encoder 126b with the data separated by the byte separator 124 and outputs the one with the smaller data amount. That is, if the original data amount is smaller than the Huffman coded data amount, the far-end data is output, and when the vice versa, the Huffman coded data is output. Then, information about which data among the original data and the encoded data is output is output to the decoding apparatus through the transmission unit 128.
ë 14ì ëìë ê° ííë§ ë¶í¸ë¶(128-132)ìì ê°ê° ì¶ë ¥ëë ííë§ ì½ë©ê²°ê³¼ë ííë§ ë¶í¸ì± ë°ì기(126a)ìì ë°ìë ííë§ ë¶í¸ì± ê³¼, ë°ì´í°ë ë¹êµê¸°(126c)ìì ì¶ë ¥ëë ìëì ë°ì´í° ëë ë¶í¸íë ë°ì´í°, ê·¸ë¦¬ê³ ê·¸ì ê´í ì ë³´ 모ë를 í¬í¨íë¤.The Huffman coding results output from the respective Huffman coding units 128-132 shown in FIG. 14 are Huffman codebooks generated by the Huffman codebook generator 126a, and original data output from the data amount comparator 126c. It includes both the encoded data and information about it.
ë 16ì ë 12ì ëìë ì¥ì¹ì ìí´ ë¶í¸íë ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë³µí¸ííë ëì§í¸ ì¤ëì¤ ë°ì´í° ë³µí¸í ì¥ì¹ì ë¸ë¡ëì´ë¤,16 is a block diagram of a digital audio data decoding apparatus for decoding digital audio data encoded by the apparatus shown in FIG. 12.
ë 16ì ëìë ì¥ì¹ë ìì ë¶(162), ííë§ ë³µí¸ë¶(164), ë°ì´í¸ ì¡°í©ë¶(166), ì측ë¶(168) ë° ê°ì°ë¶(170)를 í¬í¨íë¤.The apparatus shown in FIG. 16 includes a receiver 162, a Huffman decoder 164, a byte combiner 166, a predictor 168, and an adder 170.
ìì ë¶(162)ë ì ì¡ë¶(128)ë¡ë¶í° ì ì¡ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì íë¥ ì ì±ì§ì 근거íì¬ ë°ìë ííë§ ë¶í¸ì± ì í¬í¨íì¬ ííë§ ë¶í¸íì ê´ë ¨ë ì½ë© ì ë³´ì ë¶í¸íë ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ìì íë¤.The receiver 162 receives encoded digital audio data and coding information related to Huffman coding, including the Huffman code book generated based on the stochastic nature of the digital audio data transmitted from the transmitter 128.
ííë§ ë³µí¸ë¶(164)ë ì기 ì½ë© ì ë³´ì ë°ë¼ ìì ë¶ìì ìì ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë°ì´í¸ ê°ê°ì ëí´ ííë§ ë³µí¸í를 ìííë¤.The Huffman decoder 164 performs Huffman decoding on each of the bytes of the digital audio data received at the receiver according to the coding information.
ë°ì´í¸ ì¡°í©ë¶(166)ë ííë§ ë³µí¸ë¶(164)ìì ë³µí¸ë ë°ì´í° ê°ê°ì ìë 구조ì ë°ì´í¸ë¡ ì¡°í©íë¤.The byte combiner 166 combines each of the data decoded by the Huffman decoder 164 into bytes of the original structure.
ì측ë¶(168)ë íì¬ê¹ì§ ë³µí¸ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ ë¤ìì ë³µí¸íí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íë¤.The prediction unit 168 predicts a digital audio data value to be decoded next based on the plurality of digital audio data values decoded so far.
ê°ì°ë¶(170)ë ì측ë¶(168)ìì ì측ë ê°ìì ë°ì´í¸ ì¡°í©ë¶(166)ìì ì¡°í©ë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ì°íì¬ ìëì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë³µìíë¤.The adder 170 adds the digital audio data values combined by the byte combiner 166 from the values predicted by the predictor 168 to restore the original digital audio data values.
ë 17ì ë 16ì ëìë ííë§ ë³µí¸ë¶(164)ì ìì¸ ë¸ë¡ëì´ë¤.17 is a detailed block diagram of the Huffman decoder 164 shown in FIG.
ë¶í¸í ì¥ì¹ìì ì ì¡ëì´ ìì ë¶(162)ìì ìì ë, ìµìì ë°ì´í¸, ì¤ê° ë°ì´í¸ ë° ìµíì ë°ì´í¸ì ííë§ ë¶í¸íë ë°ì´í°(Huffman CODED DATA)ë ê°ê° ì 1 - ì 3ííë§ ë³µí¸ë¶(172-176)ë¡ ì ë ¥ëì´ ê°ê° ìµìì, ì¤ê° ë° ìµíì ë°ì´í¸ë¡ ë³µí¸í ëì´ ë°ì´í¸ ì¡°í©ë¶(166)ë¡ ì ë ¥ëë¤.Huffman coded data of the most significant byte, the most significant byte, and the least significant byte transmitted from the encoding apparatus and received by the reception unit 162 is input to the first to third Huffman decoders 172 to 176, respectively. Decoded into the most significant, middle and least significant byte and input to the byte combination unit 166.
ë 18ì ë¤ì±ëì ì¤ëì¤ ë°ì´í°ë¥¼ ë¶í¸ííë ì¥ì¹ì ë¸ë¡ëì´ë¤.18 is a block diagram of an apparatus for encoding multichannel audio data.
ë 18ì ëìë ì¥ì¹ë ì 1 ë° ì 2ì측 ê°ì°ë¶(180, 182), ì 1 ë° ì 2ë°ì´í¸ ë¶ë¦¬ë¶(184, 186) ë° ì 1-ì 3ë¤ì±ë ííë§ ë¶í¸ë¶(188-192)를 í¬í¨íë¤.The apparatus shown in FIG. 18 includes first and second prediction subtracting units 180 and 182, first and second byte separating units 184 and 186, and first and third multi-channel Huffman code units 188-192. It includes.
ì 1ì측 ê°ì°ë¶(180)ë ì±ë 1(Channel 1)ì ëíì¬ ì´ì ì ì ë ¥ë ë³µìê° ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ íì¬ ë¶í¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íê³ , ì기 ì측ë ê°ê³¼ íì¬ ì ë ¥ëë ê°ì ì°¨ì´ê°ì ì¶ë ¥íë¤. ì 2ì측 ê°ì°ë¶(182)ë ì±ë 2(Channel 2)ì ëíì¬ ì´ì ì ì ë ¥ë ë³µìê° ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ íì¬ ë¶í¸ííê³ ì íë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íê³ , ì기 ì측ë ê°ê³¼ íì¬ ì ë ¥ëë ê°ì ì°¨ì´ê°ì ì¶ë ¥íë¤.The first prediction subtractor 180 predicts a digital audio data value to be currently encoded based on a plurality of digital audio data values previously input to the channel 1, and the predicted value and the currently input value. Output the difference value of. The second prediction subtractor 182 predicts a digital audio data value to be currently encoded based on a plurality of digital audio data values previously input to the channel 2, and the predicted value and the currently input value. Output the difference value of.
ì 1ë°ì´í¸ ë¶ë¦¬ë¶(184)ë ì 1ì측 ê°ì°ë¶(180)ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬íë¤. ì 2ë°ì´í¸ ë¶ë¦¬ë¶(186)ë ì 2ì측 ê°ì°ë¶(182)ìì ì¶ë ¥ë ë°ì´í°ë¥¼ ë°ì´í¸ ë¨ìë¡ ë¶ë¦¬íë¤.The first byte separator 184 separates the data output from the first prediction subtractor 180 in byte units. The second byte separator 186 separates the data output from the second prediction subtractor 182 in byte units.
ì 1ë¤ì±ë ííë§ ë¶í¸ë¶(190)ë ì 1 ë° ì 2ë°ì´í¸ ë¶ë¦¬ë¶(184, 186)ìì ë¶ë¦¬ë 모ë ì±ëì ìµìì ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë¶í¸ííë¤. ê·¸ë¦¬ê³ , ì기 ííë§ ë¶í¸íë ë°ì´í°ì, ííë§ ë¶í¸ì± ì í¬í¨íë ì½ë© ì ë³´ë¡ë 모ë ì±ëì ìµìì Byteì ëí ííë§ ì½ë©(Huffman coding) 결과를 ì¶ë ¥íë¤.The first multi-channel Huffman coder 190 encodes data of the most significant byte of all channels separated by the first and second byte separators 184 and 186. The Huffman coding result of the most significant byte of all channels including the Huffman coded data and coding information including the Huffman code book is output.
ì 2ë¤ì±ë ííë§ ë¶í¸ë¶(190)ë ì 1 ë° ì 2ë°ì´í¸ ë¶ë¦¬ë¶(184, 186)ìì ë¶ë¦¬ë 모ë ì±ëì ì¤ê° ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë¶í¸ííë¤. ê·¸ë¦¬ê³ , ì기 ííë§ ë¶í¸íë ë°ì´í°ì, ííë§ ë¶í¸ì± ì í¬í¨íë ì½ë© ì ë³´ë¡ë 모ë ì±ëì ì¤ê° Byteì ëí ííë§ ì½ë©(Huffman coding) 결과를 ì¶ë ¥íë¤.The second multi-channel Huffman coder 190 encodes data of intermediate bytes of all channels separated by the first and second byte separators 184 and 186. Huffman coding results are output for intermediate bytes of all channels including the Huffman coded data and coding information including the Huffman code book.
ì 3ë¤ì±ë ííë§ ë¶í¸ë¶(192)ë ì 1 ë° ì 2ë°ì´í¸ ë¶ë¦¬ë¶(184, 186)ìì ë¶ë¦¬ë 모ë ì±ëì ìµíì ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë¶í¸ííë¤. ê·¸ë¦¬ê³ , ì기 ííë§ ë¶í¸íë ë°ì´í°ì, ííë§ ë¶í¸ì± ì í¬í¨íë ì½ë© ì ë³´ë¡ë 모ë ì±ëì ìµíì Byteì ëí ííë§ ì½ë©(Huffman coding) 결과를 ì¶ë ¥íë¤.The third multi-channel Huffman coder 192 Huffman encodes data of the least significant byte of all channels separated by the first and second byte separators 184 and 186. The Huffman coding result of the least significant byte of all channels including the Huffman coded data and coding information including the Huffman code book is output.
ì¦, ì ë ¥ëë ë°ì´í°ì ì±ë ììë ê´ê³ìì´ ë°ì´í°ê° 24ë¹í¸ì¸ ê²½ì°ìë ìµìì ë°ì´í¸, ì¤ê° ë°ì´í¸ ë° ìµíì ë°ì´í¸ë¥¼ ìí 3ê°ì ë¤ì±ë ííë§ ë¶í¸ë¶ê° ì¬ì©ëê³ 3ê°ì ííë§ ë¶í¸ì± ì´ ì ì¡ëë¤. ë§ì¼ ë°ì´í°ê° 16ë¹í¸ì¸ ê²½ì°ìëìµìì ë° ìµíì ë°ì´í¸ë¥¼ ìí 2ê°ì ë¤ì±ë ííë§ ë¶í¸ë¶ê° ì¬ì©ëì´ 2ê°ì ííë§ ë¶í¸ì± ì´ ì ì¡ë ê²ì´ë¤. ë¤ì ë§íë©´, ë ì±ëì ííë§ ë¶í¸í를 ìíì¬ ê°ê°ì ì±ëì ìí ííë§ ë¶í¸ë¶ê° ë°ë¡ ì¡´ì¬íë ê²ì´ ìëë¼ ëª¨ë ì±ëì ëìì ì²ë¦¬íë ë¤ì±ë ííë§ ë¶í¸ë¶ê° ë°ì´í¸ ìë§ í¼ ì¡´ì¬íë ê²ì´ë¤.That is, when the data is 24 bits regardless of the number of channels of the input data, three multi-channel Huffman code units for the most significant byte, the middle byte, and the least significant byte are used, and three Huffman code books are transmitted. If the data is 16 bits, two multi-channel Huffman code parts for the highest and least significant byte will be used and two Huffman code books will be transmitted. In other words, for Huffman coding of two channels, the Huffman coder for each channel does not exist separately, but the multichannel Huffman coder for processing all channels simultaneously exists in the number of bytes.
ë 19ë ë 18ì ìí´ ë¶í¸íë ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ë³µí¸íí기 ìí ë¤ì±ë ëì§í¸ ì¤ëì¤ ë°ì´í°ì ë³µí¸í ì¥ì¹ì ë¸ë¡ëì´ë¤.FIG. 19 is a block diagram of an apparatus for decoding multichannel digital audio data for decoding the digital audio data encoded by FIG. 18.
ë 19ì ëìë ì¥ì¹ë ì 1-ì 3ë¤ì±ë ííë§ ë³µí¸ë¶(194-198), ì 1 ë° ì 2ë°ì´í¸ ì¡°í©ë¶(200, 202), ì 1 ë° ì 2ì측 ê°ì°ë¶(204, 206)를 í¬í¨íë¤.The apparatus shown in FIG. 19 includes first to third multi-channel Huffman decoders 194-198, first and second byte combiners 200 and 202, and first and second predictive adders 204 and 206. It includes.
ì 1ë¤ì±ë ííë§ ë³µí¸ë¶(194)ë ë¶í¸íëì´ ì ì¡ë 모ë ì±ëì ìµìì ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë³µí¸ííë¤. ì 2ë¤ì±ë ííë§ ë³µí¸ë¶(196)ë ë¶í¸íëì´ ì ì¡ë 모ë ì±ëì ì¤ê° ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë³µí¸ííë¤. ì 3ë¤ì±ë ííë§ ë³µí¸ë¶(198)ë ë¶í¸íëì´ ì ì¡ë 모ë ì±ëì ìµíì ë°ì´í¸ì ë°ì´í°ë¥¼ ííë§ ë³µí¸ííë¤.The first multi-channel Huffman decoder 194 Huffman decodes the data of the most significant byte of all channels that are encoded and transmitted. The second multi-channel Huffman decoder 196 decodes Huffman's data of intermediate bytes of all the encoded and transmitted channels. The third multi-channel Huffman decoder 198 Huffman decodes the data of the least significant byte of all the encoded and transmitted channels.
ì 1ë°ì´í¸ ì¡°í©ë¶(200)ë ì 1-3ë¤ì±ë ííë§ ë³µí¸ë¶(194-198)ìì ì¶ë ¥ë ë°ì´í¸ ë¶ë¦¬ë ì 1ì±ëì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ìë 구조ì ë°ì´í¸ë¡ ì¡°í©íë¤. ì 2ë°ì´í¸ ì¡°í©ë¶(202)ë ì 1-3ë¤ì±ë ííë§ ë³µí¸ë¶(194-198)ìì ì¶ë ¥ë ë°ì´í¸ ë¶ë¦¬ë ì 2ì±ëì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ìë 구조ì ë°ì´í¸ë¡ ì¡°í©íë¤.The first byte combiner 200 combines the digital audio data of the byte-separated first channel output from the first-third multi-channel Huffman decoder 194-198 into bytes of the original structure. The second byte combiner 202 combines the digital audio data of the byte-separated second channel output from the first-third multi-channel Huffman decoder 194-198 into bytes of the original structure.
ì 1ì측 ê°ì°ë¶(204)ë íì¬ê¹ì§ ë³µí¸ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ ë¤ìì ë³µí¸íí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íê³ , ì기 ì측ë ê°ìì ì 1ë°ì´í¸ ì¡°í©ë¶(200)ìì ì¡°í©ë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ì°íì¬ ìëìì 1ì±ëì ëí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë³µìíë¤.The first prediction adder 204 predicts a digital audio data value to be decoded next based on the plurality of digital audio data values decoded so far, and is combined by the first byte combiner 200 in the predicted value. The digital audio data values for the original first channel are restored by adding the digital audio data values.
ì 2ì측 ê°ì°ë¶(206)ë íì¬ê¹ì§ ë³µí¸ë ë³µìê°ì ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì 근거íì¬ ë¤ìì ë³µí¸íí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ì측íê³ , ì기 ì측ë ê°ìì ì기 ì 2ë°ì´í¸ ì¡°í©ë¶(202)ìì ì¡°í©ë ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ê°ì°íì¬ ìëì ì 2ì±ëì ëí ëì§í¸ ì¤ëì¤ ë°ì´í°ê°ì ë³µìíë¤.The second prediction adder 206 predicts a digital audio data value to be decoded next based on the plurality of digital audio data values decoded so far, and combines the second byte combining unit 202 in the predicted value. The digital audio data value for the original second channel is restored by adding the digital audio data value.
본 ë°ëª ì ìì í ì¤ììì íì ëì§ ìì¼ë©°, 본 ë°ëª ì ì¬ìë´ìì ë¹ì ìì ìí ë³íì´ ê°ë¥í¨ì ë¬¼ë¡ ì´ë¤. 본 ë°ëª ì ì¤ììììë 24 ë¹í¸ì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ ìë¡ë¤ì´ ì¤ëª íìì¼ë 16ë¹í¸, 32 ë¹í¸ì ëì§í¸ ì¤ëì¤ ë°ì´í°ë¥¼ í¬í¨íë©°, ê·¸ì íì ëì§ ìë ê²ì 본 ë°ëª ì ì¬ìì ë¹ì¶ì´ ëª ë°±íë¤.The present invention is not limited to the above-described embodiment, and of course, modifications may be made by those skilled in the art within the spirit of the present invention. Although embodiments of the present invention have been described using 24-bit digital audio data as an example, it is apparent that the present invention includes 16 bits and 32-bit digital audio data, and the present invention is not limited thereto.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4