KR100895100B1 - Method and device for decoding digital audio data - Google Patents

Method and device for decoding digital audio data Download PDF

Info

Publication number
KR100895100B1
KR100895100B1 KR1020070010009A KR20070010009A KR100895100B1 KR 100895100 B1 KR100895100 B1 KR 100895100B1 KR 1020070010009 A KR1020070010009 A KR 1020070010009A KR 20070010009 A KR20070010009 A KR 20070010009A KR 100895100 B1 KR100895100 B1 KR 100895100B1
Authority
KR
South Korea
Prior art keywords
data
decoding
digital audio
frame
window
Prior art date
Application number
KR1020070010009A
Other languages
Korean (ko)
Other versions
KR20080071747A (en
Inventor
서정국
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020070010009A priority Critical patent/KR100895100B1/en
Publication of KR20080071747A publication Critical patent/KR20080071747A/en
Application granted granted Critical
Publication of KR100895100B1 publication Critical patent/KR100895100B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 디지털 오디오 데이터의 복호화 방법 및 장치에 관한 것으로서, 복호화를 위한 한 프레임 주기 중 클럭 점유 시간이 가장 긴 필터 뱅크의 역이산여현변환기(IMDCT)와 클럭 점유 시간(즉, 클럭 소요량)이 일정치 않은 허프만 복호화기를 병렬 처리한다. 또한, 필터뱅크의 윈도우/오버랩 애더와 역양자화기를 병렬처리한다. 또한 본 발명은 병렬로 동작하는 복수의 메모리와 역양자화기 및 필터 뱅크가 공유하는 연산부를 하드웨어로 구현한다. 복호화 장치 전체의 데이터 처리 시간이 단축되며, 클럭의 효율적인 분배 및 사용으로 인해 전체적인 복호화 시스템의 성능을 향상시킬 수 있으며 휴대용 장치에 적용할 수 있다.

Figure R1020070010009

The present invention relates to a method and apparatus for decoding digital audio data, wherein an inverse discrete cosine transformer (IMDCT) of a filter bank having the longest clock occupancy time and a clock occupancy time (that is, a clock requirement) of one frame period for decoding are one. Parallelize the Huffman decoder that has not been settled. It also parallelizes the window / overlap adder and dequantizer of the filterbank. In addition, the present invention implements, in hardware, a computing unit shared by a plurality of memories operating in parallel, a dequantizer, and a filter bank. The data processing time of the entire decoding apparatus is shortened, and the performance of the entire decoding system can be improved due to the efficient distribution and use of the clock and can be applied to the portable apparatus.

Figure R1020070010009

Description

디지털 오디오 데이터의 복호화 방법 및 디지털 오디오 데이터의 복호화 장치{METHOD AND DEVICE FOR DECODING DIGITAL AUDIO DATA}A method for decoding digital audio data and a device for decoding digital audio data {METHOD AND DEVICE FOR DECODING DIGITAL AUDIO DATA}

도 1은 종래의 디지털 오디오 데이터 복호화 장치에 대한 개략적인 블록도이다.1 is a schematic block diagram of a conventional digital audio data decoding apparatus.

도 2는 종래의 디지털 오디오 데이터 복호화 장치의 동작 타이밍도이다.2 is an operation timing diagram of a conventional digital audio data decoding apparatus.

도 3은 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 장치에 대한 개략적인 블록도이다.3 is a schematic block diagram of a digital audio data decoding apparatus according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 방법에 대한 순서도이다.4 is a flowchart illustrating a digital audio data decoding method according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 장치의 동작 타이밍도이다. 5 is an operation timing diagram of a digital audio data decoding apparatus according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110, 210 : 입력버퍼 120, 220 : 디포맷터110, 210: Input buffer 120, 220: Deformatter

130, 230 : 허프만 복호화기 140, 240 : 역양자화기130, 230: Huffman decoder 140, 240: dequantizer

150, 250 : 필터 뱅크 260 : 제어부150, 250: filter bank 260: control unit

270 : 저장부 280 : 연산부(ALU)270: storage unit 280: arithmetic unit (ALU)

본 발명은 디지털 오디오 데이터의 복호화 방법 및 디지털 오디오 데이터의 복호화 장치에 관한 것으로, 더욱 상세하게는 휴대용 단말기에 적용할 수 있는 디지털 오디오 데이터의 복호화 방법 및 그 장치에 관한 것이다. The present invention relates to a method for decoding digital audio data and a device for decoding digital audio data, and more particularly, to a method and apparatus for decoding digital audio data applicable to a portable terminal.

최근 들어 MP3(MPEG1 Audio Layer-3), Dolby AC-3(Audio Coding-3), Ogg Vorvis, WMA(Window Media Audio, 이하 'WMA'라 약칭함) 등과 같은 디지털 오디오를 재생할 수 있는 디지털 오디오 전용 기기 또는 디지털 오디오의 재생 기능을 구비한 휴대용 단말기가 급속하게 확산되어 시간과 장소에 상관없이 편리하게 음악을 청취할 수 있게 되었다.Recently, only digital audio capable of playing digital audio such as MPEG1 Audio Layer-3 (MP3), Dolby AC-3 (Audio Coding-3), Ogg Vorvis, WMA (abbreviated as "WMA") Portable terminals equipped with devices or digital audio playback functions have been rapidly spread, allowing users to listen to music conveniently at any time and place.

디지털 오디오는 인간의 인지 능력에 기초한 지각 코딩(perceptual coding) 방법을 이용하여 압축함으로써 오디오 품질의 저하를 최소화하면서 파일의 크기를 1/10 이하로 줄일 수 있다는 장점이 있다.Digital audio has the advantage of being able to reduce the file size to less than 1/10 while minimizing the degradation of audio quality by compressing using a perceptual coding method based on human cognitive ability.

디지털 오디오 중에서 WMA는 마이크로소프트사에서 개발한 오디오 압축 포맷으로서 스트리밍의 지원이 가능하고 MP3와 동등한 오디오 품질을 유지하면서 파일의 용량은 MP3의 절반 정도로 줄일 수 있다는 특징이 있다.Among digital audio, WMA is an audio compression format developed by Microsoft that can support streaming and reduce file size to half MP3 while maintaining audio quality equivalent to MP3.

일반적으로 WMA 포맷의 파일은 역시 마이크로 소프트사에서 제작한 윈도우 미디어 플레이어라는 프로그램을 통하여 소프트웨어적인 방법으로 복호화되어 음향으로 출력된다. In general, files in WMA format are decoded by a software method through a program called Windows Media Player, also produced by Microsoft Corporation, and output as sound.

도 1은 종래의 디지털 오디오 데이터 복호화 장치에 대한 개략적인 블록도이 다. 도 1을 참조하면 종래의 디지털 오디오 데이터 복호화 장치(100)는 입력버퍼(110), 디포맷터(De-formatter, 120), 허프만 복호화기(Huffman Decoder, 130), 역양자화기(Inverse Quantizer, 140), IMDCT(Inverse Modified Cosine Transform, 151)과 윈도우/오버랩 애더(Window/Overlap-Add, 155)로 구성된 필터뱅크(Filter Bank, 150), 제어부(160) 및 저장부(170)를 포함한다.1 is a schematic block diagram of a conventional digital audio data decoding apparatus. Referring to FIG. 1, a conventional digital audio data decoding apparatus 100 includes an input buffer 110, a de-formatter 120, a Huffman decoder 130, and an inverse quantizer 140. ), A filter bank (150), a control unit (160), and a storage unit (170) including an Inverse Modified Cosine Transform (IMDCT) 151 and a Window / Overlap-Add (155).

저장부(170)는 ROM 1(171), ROM 2(172) 및 ROM 3(173)으로 구성된다. 이러한 종래의 디지털 오디오 데이터 복호화 장치(100)는 오디오 비트 스트림을 입력받아 입력버퍼(110)에서 임시 저장한다. 그리고 입력버퍼(110)에 저장된 오디오 비트스트림을 디포맷터(120)로 전달한다. 디포맷터(120)는 상기 오디오 비트스트림으로부터 수신된 오디오 데이터를 복호화하기 위해 필요한 정보를 가지는 헤더를 디코딩하여 분석하고, 부호화된 데이터를 추출한다.The storage unit 170 includes a ROM 1 171, a ROM 2 172, and a ROM 3 173. The conventional digital audio data decoding apparatus 100 receives an audio bit stream and temporarily stores the audio bit stream in the input buffer 110. The audio bitstream stored in the input buffer 110 is transmitted to the formatter 120. The deformatter 120 decodes and analyzes a header having information necessary for decoding the audio data received from the audio bitstream, and extracts the encoded data.

한편 상기 부호화된 데이터는 허프만 복호화기(130)로 전달되어 허프만 테이블을 이용하여 디코딩된 후, 역양자화기(140), 필터 뱅크(150) 및 디지털-아날로그 변환기(DAC, 미도시)를 거쳐 사람이 들을 수 있는 오디오 신호 형태로 변환되어 출력된다.Meanwhile, the encoded data is transferred to the Huffman decoder 130 and decoded using the Huffman table, and then passed through a dequantizer 140, a filter bank 150, and a digital-to-analog converter (DAC, not shown). These are converted into audible audio signals and output.

ROM 1(171)은 허프만 테이블을 저장하고 있고, ROM 2(172)는 양자화 계수를 저장하고 있고, ROM 3(173)은 윈도우 계수를 저장하고 있다.ROM 1 171 stores a Huffman table, ROM 2 172 stores quantization coefficients, and ROM 3 173 stores window coefficients.

종래에는 이와 같이 입력된 오디오 비트 스트림이 허프만 복호화기(130), 역양자화기(140), IMDCT(151) 및 윈도우/오버랩 애더(155)를 순차적으로 거치면서 복호화되었다.Conventionally, the input audio bit stream is decoded while sequentially passing through the Huffman decoder 130, the dequantizer 140, the IMDCT 151, and the window / overlap adder 155.

이와 같이 순차처리를 수행하는 종래의 디지털 오디오 데이터 복호화 장치에 대한 타이밍도가 도 2에 예시되어 있다. 2 is a timing diagram of the conventional digital audio data decoding apparatus that performs the sequential processing.

도 2의 예에서 'A'는 디포맷터(120)가 동작시 점유한 클럭 구간을 나타내고, 'B'는 허프만 복호화기(130)가 동작시 점유한 클럭 구간을 나타내고, 'C'는 역양자화기(140)가 동작시 점유한 클럭 구간을 나타내고, 'D'는 필터뱅크(150)가 동작시 점유한 클럭 구간을 나타낸다. In the example of FIG. 2, 'A' indicates a clock period occupied by the deformatter 120, and 'B' indicates a clock interval occupied by the Huffman decoder 130, and 'C' indicates inverse quantization. The instrument 140 represents a clock section occupied when the filter 140 operates, and 'D' represents a clock segment occupied by the filter bank 150.

도 2를 참조하면, 종래의 디지털 오디오 데이터 복호화 장치는 한 프레임(Frame)에 포함된 클럭을 디포맷터(A), 허프만 복호화기(B), 역양자화기(C) 및 필터뱅크(D)가 순차적으로 점유하고 있다. 각각의 디포맷터(A), 허프만 복호화기(B), 역양자화기(C) 및 필터뱅크(D)들이 클럭 구간을 점유하고 있다는 것은 소정 시간에 깨어나서 소정 클럭 구간(t1, t2, t3, t4) 동안 해당 동작을 수행함을 의미한다. 따라서, 도 2를 참조하면 종래의 디지털 오디오 데이터 복호화 장치에 포함된 디포맷터(A), 허프만 복호화기(B), 역양자화기(C) 및 필터뱅크(D)는 하나의 동작이 끝난 후 그 다음 동작이 수행되는 식으로 순차적으로 동작함을 알 수 있다. Referring to FIG. 2, in the conventional digital audio data decoding apparatus, a clock included in one frame includes a deformatter A, a Huffman decoder B, an inverse quantizer C, and a filter bank D. Occupies sequentially. The fact that each deformatter (A), Huffman decoder (B), inverse quantizer (C) and filter bank (D) occupy a clock period wakes up at a predetermined time to wake up the predetermined clock period (t1, t2, t3, t4). ) Means to perform the operation. Therefore, referring to FIG. 2, the deformatter A, the Huffman decoder B, the inverse quantizer C, and the filter bank D included in the conventional digital audio data decoding apparatus have one operation. It can be seen that the following operation is performed in a sequential manner.

그런데, 허프만 복호화기(130)는 클럭 소요량이 일정하지가 않다. 이는 허프만 디코딩의 경우 심볼(symbol)을 찾는 시간이 입력 비트스트림의 코드워드(codeword)의 길이에 따라 다르고, 허프만 디코딩에 사용되는 코드워드가 매 프레임 마다 다르기 때문이다.However, the Huffman decoder 130 does not have a constant clock requirement. This is because, in the case of Huffman decoding, the time to find a symbol depends on the length of the codeword of the input bitstream, and the codeword used for Huffman decoding is different every frame.

이와 같이 허프만 복호화기(130)의 클럭 소요량이 일정하지 않음으로 인해 종래의 디지털 오디오 복호화기는 전체 클럭 속도를 고정하기 어려운 문제가 있다. As such, since the clock requirement of the Huffman decoder 130 is not constant, the conventional digital audio decoder has a problem that it is difficult to fix the entire clock speed.

따라서, 종래의 디지털 오디오 복호화기는 시스템의 총 클럭 사이클을 예측하기 어려운 단점이 있다. Therefore, the conventional digital audio decoder has a disadvantage in that it is difficult to predict the total clock cycle of the system.

또한, 종래에는 상기 도 1 및 도 2와 같은 처리 과정을 소프트웨어로 구현함으로써 알고리즘이 복잡한 문제가 있었다. 즉, 소프트웨어를 이용하여 WMA 포맷의 파일을 복호화한 후 음향을 출력하기 위해서는 상기 소프트웨어를 탑재한 음향 출력 장치가 대용량의 저장 공간을 가져야 하고, 가정용 컴퓨터 정도의 CPU 성능을 유지하여야 한다. 상기 소프트웨어의 동작을 지원하기 위해 요구되는 CPU 성능 및 저장 공간을 충족시키기 위해서는 WMA 포맷의 파일을 복호화하기 위한 장치의 크기가 커져야 한다. In addition, in the related art, the algorithm has a complicated problem by implementing the process of FIG. 1 and FIG. 2 in software. That is, in order to output sound after decoding a file in WMA format using software, the sound output device equipped with the software should have a large storage space and maintain the CPU performance of a home computer. In order to satisfy the CPU performance and the storage space required to support the operation of the software, the size of the device for decoding the file in the WMA format must be increased.

따라서, 소형화 추세를 따르고 있는 휴대용 장치(예컨대, 휴대폰 등)에 상기 소프트웨어를 사용하여 WMA 포맷의 파일을 복호화하는 것은 부적절하다. Therefore, it is inappropriate to use the software to decrypt files in WMA format for portable devices (eg, mobile phones, etc.) that are following the miniaturization trend.

즉, 종래의 소프트웨어를 사용하여 WMA 포맷의 파일을 복호화하는 것은 복호화 성능의 우수성에도 불구하고, 휴대용 장치에 적용하는 것이 어려운 문제가 있었다. That is, decoding WMA format files using conventional software has a problem that it is difficult to apply to portable devices despite the superior decoding performance.

따라서, 본 발명의 제1 목적은 WMA 포맷의 오디오 파일을 휴대용 장치에 적용할 수 있도록 하는 디지털 오디오 데이터의 복호화 장치를 제공하는 것이다.Accordingly, a first object of the present invention is to provide an apparatus for decoding digital audio data, which makes it possible to apply an audio file of WMA format to a portable device.

또한 본 발명의 제2 목적은 WMA 포맷의 오디오 파일을 휴대용 장치에 적용할 수 있도록 하는 디지털 오디오 데이터의 복호화 방법을 제공하는 것이다.It is also a second object of the present invention to provide a method for decoding digital audio data, which makes it possible to apply an audio file of WMA format to a portable device.

상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 디지털 오디오 데이터의 복호화 방법은 현재 프레임의 역양자화된 데이터에 대해 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 헤더 정보와 부호화된 데이터를 추출하고 상기 다음 프레임의 상기 부호화된 데이터를 복호화하는 제1 병렬 처리 단계와, 상기 현재 프레임의 윈도우/오버랩-애드를 수행하는 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터를 역양자화하는 제2 병렬 처리 단계를 포함한다. 상기 제1 및 제2 병렬 처리 단계는 상기 디지털 오디오 데이터의 복호화가 종료될 때까지 반복 수행될 수 있다. 상기 복호화는 허프만 디코딩이 될 수 있다. 상기 디지털 오디오 데이터의 복호화 방법은 첫번째 프레임의 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하고, 상기 첫번째 프레임의 상기 부호화된 데이터를 복호화하고, 상기 첫번째 프레임의 상기 복호화된 데이터를 역양자화하는 초기화 단계를 더 포함할 수 있다. 상기 초기화 단계는 상기 첫번째 프레임의 상기 부호화된 데이터를 제1 메모리에 기록할 수 있다. 상기 초기화 단계는 상기 첫번째 프레임의 상기 부호화된 데이터를 상기 제1 메모리로부터 읽어들여 상기 첫번째 프레임의 상기 부호화된 데이터에 대해 역양자화를 수행한 후 상기 첫번째 프레임의 상기 역양자화된 데이터를 제2 메모리에 기록할 수 있다. 상기 제1 병렬처리 단계는 상기 현재 프레임의 상기 역양자화된 데이터를 상기 제2 메모리로부터 읽어들여 상기 현재 프레임의 상기 역양자화된 데이터에 대해 역이산 여현 변환을 수행할 수 있다. 상기 제1 병렬처리 단계는 상기 다음 프레임의 상기 부호화된 데이터를 디코딩한 데이터를 상기 제1 메모 리에 기록할 수 있다. 상기 제2 병렬처리 단계는 상기 윈도우/오버랩-애드를 수행시 이전 프레임의 윈도우 처리된 데이터를 제3 메모리에 기록하고, 상기 제3 메모리로부터 상기 이전 프레임의 윈도우 처리된 데이터를 읽어들여 상기 현재 프레임의 윈도우 처리된 데이터와 오버랩-애드할 수 있다. 상기 디지털 오디오 데이터는 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터가 될 수 있다. According to an aspect of the present invention, a method of decoding digital audio data according to an aspect of the present invention is to perform digital processing of a next frame in parallel while performing inverse discrete cosine transform on dequantized data of a current frame. A first parallel processing step of extracting header information and coded data for audio data and decoding the coded data of the next frame, and the next frame in parallel while performing window / overlap-add of the current frame And a second parallel processing step of dequantizing the decoded data of. The first and second parallel processing steps may be repeatedly performed until the decoding of the digital audio data ends. The decoding may be Huffman decoding. The decoding method of the digital audio data includes initializing extracting header information and encoded data from the digital audio data of the first frame, decoding the encoded data of the first frame, and inversely quantizing the decoded data of the first frame. It may further comprise a step. The initialization may write the encoded data of the first frame to a first memory. The initializing step reads the encoded data of the first frame from the first memory, performs inverse quantization on the encoded data of the first frame, and then transfers the dequantized data of the first frame to a second memory. Can record The first parallel processing step may read inverse quantized data of the current frame from the second memory and perform inverse discrete cosine transform on the dequantized data of the current frame. In the first parallel processing step, the decoded data of the next frame may be recorded in the first memory. In the second parallel processing step, the windowed data of the previous frame is written to a third memory when the window / overlap-add is performed, and the windowed data of the previous frame is read from the third memory to read the current frame. It can overlap-add with the windowed data of. The digital audio data may be data encoded by window media audio.

또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 디지털 오디오 데이터의 복호화 장치는 제1 및 제2 메모리와, 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하는 디포맷팅 동작을 수행하는 디포맷터와, 상기 부호화된 데이터를 복호화하여 상기 제1 메모리에 저장하는 복호화 동작을 수행하는 복호화기와, 상기 제1 메모리로부터 상기 복호화된 데이터를 읽어들여 역양자화한 후 역양자화된 데이터를 상기 제2 메모리에 저장하는 역양자화 동작을 수행하는 역양자화기와, 상기 제2 메모리로부터 상기 역양자화된 데이터를 읽어들여 역이산 여현 변환 동작을 수행하는 역 이산 여현 변환기와 윈도우/오버랩-애드를 수행하는 윈도우/오버랩- 애드를 포함하는 필터 뱅크와, 현재 프레임의 역양자화된 데이터에 대해 상기 필터 뱅크의 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 상기 디포맷팅 동작 및 상기 복호화 동작을 수행하도록 제어하며, 상기 현재 프레임의 상기 윈도우/오버랩-애드 동작 수행 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터에 대해 상기 역양자화 동작을 수행하도록 제어하는 제어부를 포함한다. 상기 역양자화 및 상기 역이산 여현 변환을 위한 복소수/곱셈/덧셈 연산을 수행하고 상기 역양자화기 및 상기 역 이산 여현 변환기에 의해 공유되는 연산부를 더 포함할 수 있다. 상기 필터 뱅크의 윈도우/오버랩-애드를 위한 이전 프레임의 윈도우 처리된 데이터를 저장하는 제3 메모리를 더 포함할 수 있다. 상기 제2 메모리는 상기 필터 뱅크의 윈도우 오버랩 애드를 위한 이전 프레임의 윈도우 처리된 데이터를 저장할 수 있다. 상기 복호화기는 허프만 복호화기가 될 수 있다. 상기 디지털 오디오 데이터의 복호화 장치는 휴대용 단말기에 사용될 수 있다. In addition, the apparatus for decoding digital audio data according to an aspect of the present invention for achieving the second object of the present invention is a deformatting operation for extracting the header information and the encoded data from the first and second memories, the digital audio data A deformatter for performing a decoding operation, a decoder for decoding the encoded data, and storing the decoded data in the first memory, and reading and inversely quantizing the decoded data from the first memory. An inverse quantizer for performing inverse quantization operation stored in the second memory, an inverse discrete cosine converter for performing inverse discrete cosine transform operation by reading the inverse quantized data from the second memory, and performing window / overlap-add Filter banks that contain window / overlap-adds, and the inverse quantized data of the current frame. Perform the deformatting operation and the decoding operation on the digital audio data of the next frame in parallel while performing the inverse discrete cosine transform of the filter bank, and performing parallel operation during the window / overlap-add operation of the current frame. And a controller configured to perform the inverse quantization operation on the decoded data of the next frame. The apparatus may further include an operation unit configured to perform a complex / multiply / add operation for the inverse quantization and the inverse discrete cosine transform and shared by the inverse quantizer and the inverse discrete cosine transformer. The method may further include a third memory configured to store windowed data of a previous frame for window / overlap-add of the filter bank. The second memory may store windowed data of a previous frame for window overlap add of the filter bank. The decoder may be a Huffman decoder. The apparatus for decoding digital audio data may be used in a portable terminal.

또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 다른 측면에 따른 디지털 오디오 데이터의 복호화 장치는 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하는 디포맷팅 동작을 수행하는 디포맷터와, 상기 부호화된 데이터를 복호화하는 복호화 동작을 수행하는 복호화기와, 상기 복호화된 데이터를 역양자화하는 역양자화 동작을 수행하는 역양자화기와, 상기 역양자화된 데이터를 역이산 변환하는 역이산 여현 변환 동작을 수행하는 역 이산 여현 변환기와 윈도우/오버랩-애드를 수행하는 윈도우/오버랩- 애드를 포함하는 필터 뱅크와, 현재 프레임의 역양자화된 데이터에 대해 상기 필터 뱅크의 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 상기 디포맷팅 동작 및 상기 복호화 동작을 수행하도록 제어하며, 상기 현재 프레임의 상기 윈도우/오버랩-애드 동작 수행 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터에 대해 상기 역양자화 동작을 수행하도록 제어하는 제어부를 포함한다. In addition, the apparatus for decoding digital audio data according to another aspect of the present invention for achieving the second object of the present invention includes a deformatter for performing a deformatting operation for extracting the header information and the encoded data from the digital audio data; A decoder for performing a decoding operation for decoding coded data, an inverse quantizer for performing inverse quantization for inverse quantization of the decoded data, and an inverse discrete cosine transform operation for inverse discrete transforming the dequantized data. A filter bank comprising an inverse discrete cosine converter and a window / overlap-add that performs window / overlap-add, and in parallel during inverse discrete cosine transform of the filter bank on the dequantized data of the current frame. The deformatting operation and the decoding operation on the digital audio data of a frame. And to the control carried out, the window / overlap of said current frame with respect to the decoded data of the next frame in parallel for performing add operation and a control unit for controlling to perform the inverse quantization operation.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

도 3은 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 장치에 대한 개략적인 블록도이다. 도 3을 참조하면 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 장치(200)는 입력버퍼(210), 디포맷터(220), 허프만 복호화기(230), 역양자화기(240), 필터뱅크(250) 및 연산부(ALU: Arithmetic-Logic Unit)(280), 제어부(260) 및 저장부(270)를 포함한다. 3 is a schematic block diagram of a digital audio data decoding apparatus according to an embodiment of the present invention. Referring to FIG. 3, the digital audio data decoding apparatus 200 according to an embodiment of the present invention includes an input buffer 210, a deformatter 220, a Huffman decoder 230, a dequantizer 240, and a filter bank. Reference numeral 250 includes an arithmetic-logic unit (ALU) 280, a controller 260, and a storage 270.

입력버퍼(210)는 입력되는 복호화될 데이터를 입력받아 임시 저장한다. 상기 복호화될 데이터는 예를 들어 비트 스트림 형태를 가지는 디지털 오디오 데이터가 될 수 있다. The input buffer 210 temporarily receives the input decoded data. The data to be decoded may be, for example, digital audio data having a bit stream form.

제어부(260)는 입력버퍼(210)에 저장된 상기 비트 스트림 형태의 데이터(이하, '비트 스트림 데이터'라 칭함)가 디포맷터(220) 및/또는 허프만 복호화기(230)로 전달되도록 한다.The controller 260 allows the bit stream type data (hereinafter, referred to as 'bit stream data') stored in the input buffer 210 to be transmitted to the deformatter 220 and / or the Huffman decoder 230.

디포맷터(220)는 디포맷팅 동작을 수행한다. 여기서, 디포맷팅 동작이란 입력버퍼(210)를 통해 전달된 비트 스트림 데이터로부터 복호화하기 위해 필요한 정보를 가지는 헤더 및 부호화된 데이터-예를 들어 허프만 부호화된 데이터-를 파싱 한다는 의미이다. 이 때, 디포맷터(220)는 WMA 데이터를 복호화하기 위한 정보를 보유하고 있는 ASF(Advanced Stream Format) 헤더를 처리하는 제1 디포맷터와, 각각의 패킷에 포함된 패킷 인포메이션 헤더를 처리하는 제2 디포맷터를 포함할 수 있다. 또한, 디포맷터(220)는 상기 헤더로부터 비트 스트림 데이터의 코딩 정보(예컨대, 손실 코딩 또는 무손실 코딩 등)와 허프만 테이블 번호 정보를 추출하여 허프만 복호화기(230)로 전달한다. The deformatter 220 performs a deformatting operation. Here, the deformatting operation means parsing a header having encoded information necessary for decoding from bit stream data transmitted through the input buffer 210 and encoded data (eg, Huffman encoded data). At this time, the deformatter 220 includes a first deformatter for processing an ASF (Advanced Stream Format) header, which holds information for decoding WMA data, and a second for processing a packet information header included in each packet. It may include a deformatter. In addition, the deformatter 220 extracts coding information (eg, lossy coding or lossless coding) and Huffman table number information of the bit stream data from the header and transfers the Huffman table number information to the Huffman decoder 230.

허프만 복호화기(230)는 디포맷터(220)로부터 전달된 코딩 정보와 허프만 테이블 번호 정보에 기초하여 입력 버퍼(210)를 통해 전달된 비트 스트림 데이터 중의 부호화된 데이터-예를 들어 허프만 데이터-를 RLC(Run-Length decoding) 또는 VLC(Variable-Length decoding) 디코딩)한다. 메모리(ROM1(271))는 복수의 허프만 테이블을 저장하고 있으며, 허프만 복호화기(230)는 ROM1(Read Only Memory 1, 271)로부터 상기 허프만 테이블 번호 정보에 대응된 허프만 테이블을 참조하여 디코딩을 수행한다. 허프만 복호화기(230)는 상기 디코딩 결과를 RAM1(Random Access Memory 1, 274)에 저장한다. The Huffman decoder 230 RLC encodes coded data in the bit stream data transferred through the input buffer 210 based on the coding information transmitted from the deformatter 220 and the Huffman table number information, for example, Huffman data. (Run-Length decoding) or VLC (Variable-Length decoding) decoding. The memory ROM1 271 stores a plurality of Huffman tables, and the Huffman decoder 230 performs decoding by referring to the Huffman table corresponding to the Huffman table number information from ROM1 (Read Only Memory 1, 271). do. The Huffman decoder 230 stores the decoding result in random access memory 1 (274).

역양자화기(240)는 허프만 복호화기(230)에 의해 복호화된 데이터를 역양자화한다. ROM2(272)는 역양자화를 수행하기 위해 사용되는 지수값들을 저장한다. 특히, 역양자화기(240)는 제어부(260)의 제어를 받아 RAM1(274)로부터 허프만 복호화기(230)의 디코딩 결과를 읽어들여 디포맷터(220)로부터 제공받은 앤트로피 정보 및 양자화 계수의 개수를 이용하여 역양자화한 후 그 결과를 RAM2(275)에 저장한다. Inverse quantizer 240 dequantizes the data decoded by Huffman decoder 230. ROM2 272 stores exponential values used to perform inverse quantization. In particular, the inverse quantizer 240 reads the decoding result of the Huffman decoder 230 from the RAM1 274 under the control of the controller 260 and receives the number of entropy information and quantization coefficients provided from the deformatter 220. Inverse quantization using a and stores the result in the RAM2 (275).

역양자화기(240)는 상기 역양자화 수행을 위해 필요한 지수 연산 결과를 연산부(280)로부터 전달받는다. The inverse quantizer 240 receives the exponential calculation result necessary for performing the inverse quantization from the calculator 280.

연산부 (280)는 역양자화기(240)와 IMDCT(251)에 의해 공유되며, 역양자화기(240)의 지수 연산 및 IMDCT(251)의 복소수/곱셈/덧셈 연산을 처리하고 그 결과를 역양자화기(240) 및 IMDCT(251) 각각에게 전달한다. 연산부(ALU, 280)을 별도의 하드웨어 블록으로 분리하고 역양자화기(240)와 IMDCT(251)에 의해 수행되는 산술 연산을 연산부(ALU, 280)에서 수행하도록 할 수 있다. 즉, 연산부(ALU, 280)을 별도의 하드웨어 블록으로 분리하여 역양자화기(250) 및 IMDCT(251)의 처리 알고리즘을 간소화하고 처리 속도를 높일 수있다. The operation unit 280 is shared by the inverse quantizer 240 and the IMDCT 251, and processes the exponential operation of the inverse quantizer 240 and the complex number / multiplication / add operation of the IMDCT 251 and dequantizes the result. To each of the groups 240 and IMDCT 251. The arithmetic units ALU 280 may be separated into separate hardware blocks, and the arithmetic operations performed by the inverse quantizer 240 and the IMDCT 251 may be performed by the arithmetic units ALU 280. That is, by separating the operation unit (ALU) 280 into a separate hardware block it is possible to simplify the processing algorithms of the dequantizer 250 and the IMDCT 251 and to increase the processing speed.

필터 뱅크(250)는 역이산 여현 변환(IMDCT, 251) 및 윈도우/오버랩- 애드(255)를 포함한다. 필터 뱅크(250)는 RAM2(275)에 저장된 역양자화기(240)의 처리 결과를 이용하여 역이산 여현 변환 및 윈도우/오버랩-애드(Window/Overlap-Add)를 수행한다. Filter bank 250 includes inverse discrete cosine transform (IMDCT) 251 and window / overlap-add 255. The filter bank 250 performs inverse discrete cosine conversion and window / overlap-add by using the processing result of the inverse quantizer 240 stored in the RAM2275.

IMDCT(251)은 역양자화기(240)에서 역양자화된 데이터를 시간 영역의 신호로 변환한다. 구체적으로, RAM2(275)에 저장된 역양자화기를 통해 출력된 데이터를 읽어들여 역이산 여현 변환(Inverse Modified Discrete Cosine Transformation)을 수행함으로써 주파수 영역의 신호를 시간 영역의 신호로 변환시킨다. 이때, IMDCT(251)는 RAM2(275)로부터 역양자화기(240)의 처리 결과를 전달받아 역이산 여현 변환을 수행한 후 그 결과를 RAM2(275)에 저장한다. 또한, IMDCT(251)은 역이산 여현 변환을 위해 필요한 복소수/곱셈/덧셈 연산 결과를 연산부(280)로부터 전달받 을 수 있다. 즉, 연산부(ALU, 280)을 별도의 하드웨어 블록으로 분리하여 IMDCT(251)의 처리 알고리즘을 간소화하고 처리 속도를 높일 수 있다. The IMDCT 251 converts the dequantized data from the dequantizer 240 into a signal in the time domain. In detail, the signal output in the frequency domain is converted into the signal in the time domain by reading the data output through the inverse quantizer stored in the RAM 275 and performing inverse modified discrete cosine transformation. In this case, the IMDCT 251 receives the processing result of the inverse quantizer 240 from the RAM2 275, performs inverse discrete cosine transformation, and stores the result in the RAM2 275. In addition, the IMDCT 251 may receive a complex / multiply / add operation result required for inverse discrete cosine transform from the calculator 280. In other words, by separating the computing unit (ALU) 280 into a separate hardware block, the processing algorithm of the IMDCT 251 can be simplified and the processing speed can be increased.

한편, 윈도우/오버랩 애더(255)는 출력되는 음향을 부드럽게 하기 위해 서브 밴드 별로 윈도우(window) 처리하는 부분으로서, 일반적으로 이전 프레임의 윈도우 처리된 2N개 데이터와 현재 프레임의 윈도우 처리된 2N개 데이터를 오버랩(overlap)시켜 더한다(add). 이를 위해 윈도우/오버랩-애더(255)는 ROM3(273)으로부터 윈도우 처리를 위한 윈도우 계수를 읽어들이고, 상기 이전 프레임의 윈도우 처리된 데이터를 RAM3(276)에 기록하고, RAM3(276)으로부터 윈도우/오버랩-애드를 위한 이전 프레임의 윈도우 처리된 데이터를 읽어들여 현재 프레임의 윈도우 처리된 데이터와 오버랩-애드 동작을 수행한다. Meanwhile, the window / overlap adder 255 is a window processing part for each subband in order to soften the output sound. In general, the windowed 2N data of the previous frame and the 2N data of the current frame are windowed. Add to overlap. For this purpose, the window / overlap-adder 255 reads the window coefficients for window processing from the ROM3 273, writes the windowed data of the previous frame into the RAM3 276, and the window / overlap from the RAM3 276. The windowed data of the previous frame for the overlap-add is read and the overlap-add operation is performed with the windowed data of the current frame.

한편, 도 3의 실시예에서는 상기 이전 프레임 데이터가 별도의 메모리인 RAM3(276)에 저장된 경우를 예시하고 있다. 3 illustrates a case where the previous frame data is stored in RAM3 276 which is a separate memory.

도 4는 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 방법에 대한 순서도이다. 도 5는 본 발명의 일실시예에 따른 병렬처리를 수행하는 디지털 오디오 데이터 복호화 장치의 동작 타이밍도이다. 도 5를 참조하면, 'A'는 디포맷터(220)가 동작시 점유한 클럭 구간을 나타내고, 'B'는 허프만 복호화기(230)가 동작시 점유한 클럭 구간을 나타내고, 'C'는 역양자화기(240)가 동작시 점유한 클럭 구간을 나타내고, 'Dm'은 IMDCT(251)가 동작시 점유한 클럭 구간을 나타내며, 'Dw'은 윈도우/오버랩-애더(255)가 동작시 점유한 클럭 구간을 나타낸다. 4 is a flowchart illustrating a digital audio data decoding method according to an embodiment of the present invention. 5 is an operation timing diagram of a digital audio data decoding apparatus for performing parallel processing according to an embodiment of the present invention. Referring to FIG. 5, 'A' represents a clock period occupied by the deformatter 220, 'B' represents a clock interval occupied by the Huffman decoder 230, and 'C' is an inverse. The quantizer 240 indicates the clock period occupied when the operation is performed, 'Dm' indicates the clock period occupied by the IMDCT 251 when the operation is performed, and the 'Dw' indicates the occupied time when the window / overlap-adder 255 operates. Represents a clock period.

이하, 도 3 내지 도 5를 참조하여 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 방법을 설명한다. 도 3 내지 도 5를 참조하면, 먼저, 역이산 여현 변환후 윈도우/오버랩-애드를 수행하기 위해 이전 프레임의 윈도우 처리된 데이터를 저장하는 메모리(RAM3, 276)를 초기화한다(단계 S200, 도 5의 500). Hereinafter, a digital audio data decoding method according to an embodiment of the present invention will be described with reference to FIGS. 3 to 5. 3 to 5, first, to perform window / overlap-add after inverse discrete cosine conversion, the memories RAM3 and 276 storing the windowed data of the previous frame are initialized (steps S200 and 5). Of 500).

입력 버퍼(210)를 통해 디지털 오디오 데이터가 입력되면 제어부(260)는 디포맷터(220)를 제어하여 첫번째 프레임의 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하고(단계 S205, 도 5의 501), 허프만 복호화기(230)를 제어하여 상기 첫번째 프레임의 부호화된 데이터를 복호화한다(S210, 도 5의 503). 여기서, 부호화된 데이터는 허프만 부호화된 데이터가 될 수 있다. 제어부(260)는 역양자화기(240)를 제어하여 현재 프레임의 상기 복호화된 데이터에 대한 역양자화를 수행한다(단계 S215, 도 5의 503).When digital audio data is input through the input buffer 210, the controller 260 controls the deformatter 220 to extract header information and encoded data from the digital audio data of the first frame (step S205, 501 of FIG. 5). The Huffman decoder 230 is controlled to decode the encoded data of the first frame (S210, 503 of FIG. 5). Here, the encoded data may be Huffman encoded data. The controller 260 controls the inverse quantizer 240 to perform inverse quantization on the decoded data of the current frame (step S215, 503 of FIG. 5).

이와 같이 하나의 프레임에 대한 헤더 정보와 부호화된 데이터 추출, 복호화 과정 및 역양자화 과정(단계 S205, S210 및 S215)은 본 발명의 일실시예에 따른 디지털 오디오 데이터 복호화 과정 초기에만 수행되므로 상기 과정(단계 S205, S210 및 S215)을 이하에서는 초기화 과정이라고 정의한다. As such, the header information and the coded data extraction, decoding, and dequantization processes (steps S205, S210, and S215) of one frame are performed only at the beginning of the digital audio data decoding process according to an embodiment of the present invention. Steps S205, S210, and S215 are defined as an initialization process below.

제어부(260)는 필터 뱅크(250)를 제어하여 현재 프레임의 상기 역양자화된 데이터에 대한 역이산 여현 변환(Dm1, 단계 S220, 도 5의 504)을 수행하도록 한다. The controller 260 controls the filter bank 250 to perform an inverse discrete cosine transform Dm1 (step S220, 504 of FIG. 5) with respect to the dequantized data of the current frame.

또한, 제어부(260)는 상기 필터 뱅크(250)의 역이산 여현 변환(504)을 수행하는 것과 병렬적으로 디포맷터(220)와 허프만 복호화기(230)를 제어하여 다음 프레임의 디지털 오디오 데이터에 대해 헤더 정보와 부호화된 데이터를 추출하는 과정(단계 S225, 도 5의 511)과 상기 다음 프레임의 부호화된 데이터를 복호화하는 과정 (단계 S230, 도 5의 512)을 수행하도록 한다. In addition, the controller 260 controls the deformatter 220 and the Huffman decoder 230 in parallel with performing the inverse discrete cosine transform 504 of the filter bank 250 to the digital audio data of the next frame. A process of extracting header information and coded data (step S225, 511 of FIG. 5) and a process of decoding coded data of the next frame (step S230, 512 of FIG. 5) are performed.

그 다음, 제어부(260)는 필터 뱅크(250)를 제어하여 윈도우/오버랩-애드 동작(단계 S222, 도 5의 505)을 수행하도록 한다. 즉, 제어부(260)는 상기 필터 뱅크(250)의 역이산 여현 변환(504) 동작이 종료되면서 상기 필터 뱅크(250)의 윈도우/오버랩-애드 동작(505)가 시작되도록 제어 한다. Next, the controller 260 controls the filter bank 250 to perform a window / overlap-add operation (step S222, 505 of FIG. 5). That is, the controller 260 controls the window / overlap-add operation 505 of the filter bank 250 to start as the inverse discrete cosine transform 504 operation of the filter bank 250 ends.

또한, 제어부(260)는 상기 필터 뱅크(250)의 윈도우 오버랩 애드를 수행하는 것과 병렬적으로 역양자화기(240)를 제어하여 상기 다음 프레임의 상기 복호화된 데이터에 대한 역양자화를 수행한다(단계 S232, 도 5의 513). In addition, the controller 260 controls the inverse quantizer 240 in parallel with performing the window overlap add of the filter bank 250 to perform inverse quantization on the decoded data of the next frame. S232, 513 in FIG. 5).

상기 필터 뱅크(250)의 윈도우/오버랩-애드 동작(505)이 종료된 시점은 현재 프레임의 디코딩이 완료되고 다음 프레임의 역양자화 동작(513)까지 진행된 상태이다. When the window / overlap-add operation 505 of the filter bank 250 ends, the decoding of the current frame is completed and the dequantization operation 513 of the next frame is performed.

제어부(260)는 현재 프레임의 데이터에 대한 필터 뱅크(250)의 역이산 여현 변환 동작 수행 동안 다음 프레임의 데이터에 대한 디포맷팅 동작 및 디코딩 동작을 병렬적으로 실행하도록 제어한다. 또한, 제어부(260)는 현재 프레임의 데이터에 대한 필터 뱅크(250)의 윈도우/오버랩-애드 동작 수행 동안 다음 프레임의 데이터에 대한 역양자화 동작을 병렬적으로 실행하도록 제어한다. The controller 260 controls to execute the deformatting operation and the decoding operation on the data of the next frame in parallel during the inverse discrete cosine transform operation of the filter bank 250 on the data of the current frame. In addition, the controller 260 controls the inverse quantization operation on the data of the next frame to be executed in parallel during the window / overlap-add operation of the filter bank 250 on the data of the current frame.

표 1은 도 1의 WMA 복호화 시스템의 구성 모듈별 연산량을 나타낸 테이블이다. Table 1 is a table showing the amount of calculation for each module of the WMA decoding system of FIG.

[표 1]TABLE 1

평균 연산량(소요 클럭 사이클) 비율Average amount of computation (clock cycles required) 디포맷터Deformatter 5 %5% 허프만 복호화Huffman Decryption 25 %25% 역양자화Dequantization 10 %10% 필터 뱅크Filter bank IMDCTIMDCT 45 %45% 위도우/오버랩Widow / Overlap 15 %15% 합계Sum 100 %100%

표 1을 참조하면, 디포맷터 동작(511)와 허프만 복호화 동작(512)의 클럭 소요량의 합이 약 30%를 차지하고 필터 뱅크의 IMDCT 동작(504)이 약 45%를 차지하므로 현재 프레임에서 필터 뱅크의 IMDCT 동작(504)이 처리되는 동안 다음 프레임의 디포맷터 동작(511)와 허프만 복호화 동작(512)이 병렬로 충분히 처리가 가능하다. 또한, 역양자화 동작(513)의 클럭 소요량이 10%를 차지하고 필터 뱅크의 윈도우/오버랩 애드 동작(505)이 약 15%를 차지하므로 현재 프레임에서 필터 뱅크의 윈도우/오버랩 애드 동작(505)이 처리되는 동안 다음 프레임의 역양자화 동작(513)이 병렬로 충분히 처리가 가능하다. Referring to Table 1, the sum of the clock requirements of the deformatter operation 511 and the Huffman decoding operation 512 occupies about 30% and the IMDCT operation 504 of the filter bank occupies about 45%. While the IMDCT operation 504 is processed, the deformatter operation 511 and the Huffman decoding operation 512 of the next frame can be sufficiently processed in parallel. In addition, since the clock requirement of the dequantization operation 513 occupies 10% and the window / overlap add operation 505 of the filter bank occupies about 15%, the window / overlap add operation 505 of the filter bank is processed in the current frame. The inverse quantization operation 513 of the next frame can be fully processed in parallel.

또한, 디포맷터(220)과 허프만 복호화기(230)은 필터 뱅크의 IMDCT(251)는 어떠한 메모리 및 연산부도 공유하고 있지 않으므로 병렬로 처리될 수 있다. In addition, the deformatter 220 and the Huffman decoder 230 may be processed in parallel because the IMDCT 251 of the filter bank does not share any memory and arithmetic unit.

또한, 역양자화기(240)과 필터 뱅크의 윈도우/오버랩 애더(255)는 동작 수행시 메모리 RAM2(275)를 공유하지만, 필터 뱅크의 IMDCT(251)의 동작이 종료되면서 필터 뱅크의 윈도우/오버랩 애더(255)는 메모리 RAM2(275)로부터 읽기 동작을 수행하고, 역양자화기(240)는 메모리 RAM2(275)에 쓰기 동작을 수행하므로 병렬로 처리시 메모리 액세스하는데에 문제는 없다. In addition, the dequantizer 240 and the window / overlap adder 255 of the filter bank share the memory RAM2 275 when the operation is performed, but the window / overlap of the filter bank is terminated when the operation of the IMDCT 251 of the filter bank is terminated. Since the adder 255 performs a read operation from the memory RAM2 275, and the dequantizer 240 performs a write operation to the memory RAM2 275, there is no problem in accessing the memory in parallel processing.

필터 뱅크의 동작이 한 프레임의 복호화 처리 주기의 반 이상(45 % + 15 % = 60%)을 차지하기 때문에 그 시간 동안 필터 뱅크(250)와 메모리를 공유하지 않는 다른 동작(예컨대, 디포맷팅 동작(511), 디코딩 동작(512) 및 역양자화 동작(513))를 함께 동작시킴으로써 한 프레임의 복호화 처리 주기를 단축할 수 있다. Since the operation of the filter bank occupies more than half (45% + 15% = 60%) of the decoding processing period of one frame, other operations that do not share memory with the filter bank 250 during that time (eg, deformatting operation). 511 and the decoding operation 512 and inverse quantization operation 513 can be operated together to shorten the decoding processing cycle of one frame.

또한, 필터 뱅크(250)의 클럭 점유율(약 60%)이 허프만 복호화기(230)의 클럭 점유율(약 25%) 보다 2배 이상 크기 때문에 허프만 복호화기(230)의 클럭 점유율의 변동에 의한 시스템 사이클의 변화를 최소화할 수 있다. In addition, since the clock occupancy (about 60%) of the filter bank 250 is more than twice as large as the clock occupancy (about 25%) of the Huffman decoder 230, the system due to the variation of the clock occupancy of the Huffman decoder 230 is increased. Cycle changes can be minimized.

다시 도 3 내지 도 5를 참조하면, 제어부(260)는 다음 프레임의 역양자화기의 동작(도 5의 513)가 종료되었는지 판단하여(단계 S235) 종료되면 제어부(260)는 현재 프레임의 데이터에 대해 필터 뱅크(250)의 처리(도 5의 504 및 505)가 종료되었는지 판단하여(단계 S240) 현재 프레임의 데이터에 대해 필터 뱅크(250)의 처리가 종료될 때까지 현재 프레임의 데이터에 대한 필터 뱅크(250)의 처리만을 반복 수행한다(단계 S220). 이는 표 1에 나타난 바와 같이, 필터 뱅크(250)의 동작을 위한 클럭 점유율(약 60%)이 일반적으로 디포맷터(220)와 허프만 복호화기(230)의 클럭 점유율 합 보다 크기 때문이다. 3 to 5, the controller 260 determines whether the operation of the inverse quantizer of the next frame (513 of FIG. 5) is terminated (S235). It is determined whether the processing of the filter bank 250 (504 and 505 of FIG. 5) has ended (step S240), and the filter on the data of the current frame until the processing of the filter bank 250 is terminated for the data of the current frame. Only the process of the bank 250 is repeatedly performed (step S220). This is because, as shown in Table 1, the clock occupancy (about 60%) for the operation of the filter bank 250 is generally larger than the sum of the clock occupancy of the deformatter 220 and the Huffman decoder 230.

상기 단계 S240의 판단 결과 현재 프레임의 데이터에 대한 필터 뱅크(250)의 처리가 종료되면 제어부(260)는 다음 프레임으로 이동한 후(단계 S245) 단계 S215 이후의 과정을 반복 수행한다. 이때, 역양자화 과정(단계 S215) 이후의 동작들의 반복 수행은 복호화 동작이 종료할 때까지 지속된다(단계 S250).As a result of the determination of step S240, when the processing of the filter bank 250 for the data of the current frame ends, the controller 260 moves to the next frame (step S245) and repeats the process after step S215. At this time, the repetition of the operations after the dequantization process (step S215) continues until the decoding operation ends (step S250).

한편 상기 S245 단계의 다음 프레임으로의 이동은 프레임을 물리적으로 이동시킨다는 의미가 아니라 논리적인 이동을 의미하는 것으로서, 현재 프레임의 처리가 종료되었으므로 설명에 있어서 다음 프레임을 현재 프레임으로 변경하고 그 다 음 프레임을 다음 프레임으로 변경한다는 것을 나타낸다.On the other hand, the movement to the next frame in step S245 does not mean physically moving the frame but means logical movement. Since the processing of the current frame is completed, the next frame is changed to the current frame in the description, and then the next frame. To change to the next frame.

도 4의 설명에 있어서, 단계 S210 및 단계 S230의 디코딩은 허프만 디코딩인 것이 바람직하다. 하지만 상기 디코딩 방법은 허프만 디코딩으로 한정되는 것은 아니며, 클럭 점유율이 일정치 않은 다른 모든 디코딩 방법도 포함할 수 있다. In the description of FIG. 4, the decoding of steps S210 and S230 is preferably Huffman decoding. However, the decoding method is not limited to Huffman decoding, and may include all other decoding methods having a constant clock occupancy rate.

그리고, 도 3에 예시된 바와 같이 허프만 복호화기(230)에 연결된 메모리 RAM 1(274)와 IMDCT(251) 및 윈도우/오버랩-애더(255)에 연결된 메모리 RAM 2(275)를 분리시킴으로써 상기 단계 S220(도 5의 504)과 단계 S225(도 5의 511) 및 단계 S230(도 5의 512)을 병렬적으로 수행할 수 있다.3, the memory RAM 1 274 connected to the Huffman decoder 230 and the memory RAM 2 275 connected to the IMDCT 251 and the window / overlap-adder 255 are separated. S220 (504 of FIG. 5), step S225 (511 of FIG. 5), and step S230 (512 of FIG. 5) may be performed in parallel.

또한, 도 3에 예시된 바와 같이 윈도우/오버랩-애더(255)는 연산부(280)을 사용하지 않으므로 윈도우/오버랩-애더(255)가 동작을 시작하는 타이밍에 역양자화기(240)를 동작시킴으로써 윈도우/오버랩-애더(255)의 동작과 역양자화기(240)의 동작을 병렬인 파이프라인 처리할 수 있다. 따라서, 현재 프레임의 필터 뱅크가 수행되고 있는 동안에 다음 프레임의 디포맷터(220), 허프만 복호화기(230) 및 역양자화기(240)가 미리 동작되도록 함으로써 일정하지 않은 복호화 주기를 가지는 허프만 복호화기(230)의 영향을 시스템 클럭에 미치지 않도록 하면서도 파이프 라인 처리가 가능하다.In addition, since the window / overlap-adder 255 does not use the operation unit 280 as illustrated in FIG. 3, the inverse quantizer 240 is operated at a timing at which the window / overlap-adder 255 starts operation. The operation of the window / overlap-adder 255 and the operation of the dequantizer 240 may be processed in parallel pipeline. Therefore, while the filter bank of the current frame is being performed, the deformatter 220, the Huffman decoder 230, and the dequantizer 240 of the next frame are operated in advance so that the Huffman decoder having an uneven decoding period ( Pipeline processing is possible without affecting the system clock.

도 5를 참조하면 본 발명의 디지털 오디오 데이터 복호화 장치는 첫번째 프레임을 제외하고는 디포맷터의 클럭 점유 시간(A), 허프만 복호화기의 클럭 점유 시간 영역(B) 및 역양자화기의 클럭 점유 시간(C)이 독자적으로 존재하는 경우가 없다. 즉 't0' 및 't1' 구간에서만 디포맷터(220), 허프만 복호화기(230) 및 역양 자화기(240)가 클럭을 독자적으로 점유하고 있을 뿐 그 이후에는 필터뱅크와 함께 클럭을 공유하고 있음을 알 수 있다. 다시 말해 첫번째 이후의 프레임에서는 이전 프레임에 대한 처리를 수행 중인 필터 뱅크의 IMDCT(251)의 클럭 점유 시간(t2) 동안 디포맷터와 허프만 복호화기가 해당 프레임에 대한 처리를 수행하고 있고 이전 프레임에 대한 처리를 수행 중인 필터 뱅크의 윈도우/오버랩애더(255)의 클럭 점유 시간(t3) 동안 역양자화기(240)가 해당 프레임에 대한 처리를 수행하고 음을 알 수 있다. Referring to FIG. 5, except for the first frame, the digital audio data decoding apparatus of the present invention includes the clock occupancy time A of the deformatter, the clock occupancy time region B of the Huffman decoder, and the clock occupancy time of the dequantizer ( C) does not exist on its own. That is, the deformatter 220, the Huffman decoder 230, and the inverse quantizer 240 occupy the clock independently only in the 't0' and 't1' intervals, after which the clock is shared with the filter bank. It can be seen. In other words, in the first and subsequent frames, the deformatter and the Huffman decoder are processing the frame during the clock occupancy time t2 of the IMDCT 251 of the filter bank which is processing the previous frame, and processes the previous frame. During the clock occupancy time t3 of the window / overlap adder 255 of the filter bank, the inverse quantizer 240 performs processing on the corresponding frame, and it can be seen that the sound is negative.

따라서, 표 1 및 도 5를 참조하면, 본 발명은 초기화 과정에서 단 한번 40%의 점유 시간을 필요로하고, 첫번째 이후의 프레임에서는 한 프레임의 데이터를 처리하기 위한 시간이 필터 뱅크에서 점유하는 시간(60%)이 소요된다. 즉, 매 프레임당 60%만을 소요하게 된다. 이는 종래 도 1의 디지털 오디오 데이터 복호화 장치의 경우 매 프레임당 디포맷터가 점유하는 시간(5%), 허프만 복호기가 점유하는 시간(25%), 역양자화기가 점유하는 시간(10%) 및 필터 뱅크에서 점유하는 시간(60%)을 모두 합하여 매 프레임당 100%를 소요하는 것에 비하면 매 프레임당 소요되는 클럭 사이클이 40% 정도 줄어들어, 이로 인해 시스템 전체의 데이터 처리 시간이 단축되는 효과가 있다. Therefore, referring to Tables 1 and 5, the present invention requires only 40% of the occupancy time in the initialization process, and the time for processing data of one frame occupies in the filter bank in the first and subsequent frames. (60%). That is, only 60% of each frame is required. In the conventional digital audio data decoding apparatus of FIG. 1, this means that the time occupied by the deformatter (5%), the time occupied by the Huffman decoder (25%), the time occupied by the dequantizer (10%), and the filter bank. Compared to 100% of each frame, which takes up 60% of the time occupied by, the clock cycles per frame are reduced by 40%, which reduces the overall data processing time.

본 발명은 디지털 오디오 데이터의 복호화 방법 및 장치에 관한 것으로서, 현재 프레임의 필터 뱅크가 수행되고 있는 동안에 다음 프레임의 디포맷터, 허프만 복호화기 및 역양자화기가 미리 동작되도록 한다. 따라서, 클럭 점유 시간(즉, 클 럭 소요량)이 일정치 않은 허프만 복호화기(230)의 영향을 시스템 클럭에 미치지 않도록 하면서도 한 프레임 주기 중 클럭 점유 시간이 가장 긴 필터 뱅크와 디포맷터, 허프만 복호화기 및 역양자화기를 병렬 처리가능함으로써 복호화 시스템 전체의 데이터 처리 시간이 단축되며, 클럭의 효율적인 분배 및 사용으로 인해 전체적인 복호화 시스템의 성능을 향상시킬 수 있다.The present invention relates to a method and apparatus for decoding digital audio data, wherein a deformatter, a Huffman decoder, and an inverse quantizer of a next frame are operated in advance while a filter bank of a current frame is being performed. Accordingly, the filter bank, deformatter, and Huffman decoder having the longest clock occupancy time in one frame period while preventing the Huffman decoder 230 whose clock occupancy time (that is, clock requirement) do not affect the system clock. In addition, since the inverse quantizer can be processed in parallel, the data processing time of the entire decoding system can be shortened, and the performance of the overall decoding system can be improved due to the efficient distribution and use of the clock.

또한, 본 발명은 병렬로 동작하는 복수의 메모리와, 역양자화기 및 필터 뱅크의 IMDCT가 공유하는 연산부(ALU)를 하드웨어로 구현함으로써 복호화 처리 알고리즘을 간소화할 수 있고 처리 속도를 증가시킬 수 있다. 그 결과, WMA 포맷의 오디오 파일을 휴대용 장치에 적용하는 것을 가능하게 하는 장점이 있다.In addition, the present invention can simplify the decoding processing algorithm and increase the processing speed by implementing a plurality of memories operating in parallel, and an operation unit (ALU) shared by the IMDCT of the inverse quantizer and the filter bank in hardware. As a result, there is an advantage that makes it possible to apply an audio file in WMA format to a portable device.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

Claims (18)

첫번째 프레임의 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하고, 상기 첫번째 프레임의 상기 부호화된 데이터를 복호화하여 제1 메모리에 기록하고, 상기 제1 메모리로부터 상기 첫번째 프레임의 상기 복호화된 데이터를 읽어들여 역양자화하는 초기화 단계; Extracts header information and encoded data from the digital audio data of the first frame, decodes the encoded data of the first frame to write to the first memory, and reads the decoded data of the first frame from the first memory. An initialization step of indenting and dequantizing; 현재 프레임의 역양자화된 데이터에 대해 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 헤더 정보와 부호화된 데이터를 추출하고 상기 다음 프레임의 상기 부호화된 데이터를 복호화하는 제1 병렬 처리 단계; 및Firstly extracting header information and encoded data for digital audio data of a next frame in parallel while performing inverse discrete cosine transformation on the dequantized data of the current frame and decoding the encoded data of the next frame Parallel processing step; And 상기 현재 프레임의 윈도우/오버랩-애드를 수행하는 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터를 역양자화하는 제2 병렬 처리 단계를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.And a second parallel processing step of dequantizing the decoded data of the next frame in parallel while performing the window / overlap-add of the current frame. 제1항에 있어서, 상기 제1 및 제2 병렬 처리 단계는The method of claim 1, wherein the first and second parallel processing steps 상기 디지털 오디오 데이터의 복호화가 종료될 때까지 반복 수행되는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.And decoding the digital audio data repeatedly until the decoding of the digital audio data ends. 제1항에 있어서, 상기 복호화는 허프만 디코딩인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.The method of claim 1, wherein the decoding is Huffman decoding. 삭제delete 삭제delete 제1항에 있어서, 상기 초기화 단계는 The method of claim 1, wherein the initialization step 상기 첫번째 프레임의 상기 복호화된 데이터를 상기 제1 메모리로부터 읽어들여 상기 첫번째 프레임의 상기 복호화된 데이터에 대해 역양자화를 수행한 후 상기 첫번째 프레임의 상기 역양자화된 데이터를 제2 메모리에 기록하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.Read the decoded data of the first frame from the first memory to perform inverse quantization on the decoded data of the first frame, and then write the dequantized data of the first frame to a second memory A decoding method of digital audio data. 제6항에 있어서, 상기 제1 병렬처리 단계는 The method of claim 6, wherein the first parallel processing step 상기 현재 프레임의 상기 역양자화된 데이터를 상기 제2 메모리로부터 읽어들여 상기 현재 프레임의 상기 역양자화된 데이터에 대해 역이산 여현 변환을 수행하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.And reading inversely quantized data of the current frame from the second memory and performing inverse discrete cosine transform on the inversely quantized data of the current frame. 제7항에 있어서, 상기 제1 병렬처리 단계는 8. The method of claim 7, wherein the first parallel processing step 상기 다음 프레임의 상기 부호화된 데이터를 디코딩한 데이터를 상기 제1 메 모리에 기록하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.And decoding the decoded coded data of the next frame into the first memory. 제1항에 있어서, 상기 제2 병렬처리 단계는The method of claim 1, wherein the second parallel processing step 상기 윈도우/오버랩-애드를 수행시 이전 프레임의 윈도우 처리된 데이터를 제3 메모리에 기록하고, 상기 제3 메모리로부터 상기 이전 프레임의 윈도우 처리된 데이터를 읽어들여 상기 현재 프레임의 윈도우 처리된 데이터와 오버랩-애드하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.When the window / overlap-add is performed, windowed data of a previous frame is written to a third memory, and windowed data of the previous frame is read from the third memory to overlap with windowed data of the current frame. -Adding method for decoding digital audio data. 제1항에 있어서, 상기 디지털 오디오 데이터는The method of claim 1, wherein the digital audio data is 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 방법.A method of decoding digital audio data, characterized in that it is data encoded by Window Media Audio. 제1 및 제2 메모리;First and second memories; 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하는 디포맷팅 동작을 수행하는 디포맷터; A deformatter for performing a deformatting operation of extracting header information and encoded data from digital audio data; 상기 부호화된 데이터를 복호화하여 상기 제1 메모리에 저장하는 복호화 동작을 수행하는 복호화기;A decoder configured to decode the encoded data and store the decoded data in the first memory; 상기 제1 메모리로부터 상기 복호화된 데이터를 읽어들여 역양자화한 후 역양자화된 데이터를 상기 제2 메모리에 저장하는 역양자화 동작을 수행하는 역양자화기;An inverse quantizer configured to read inversely quantize the decoded data from the first memory and to perform inverse quantization to store dequantized data in the second memory; 상기 제2 메모리로부터 상기 역양자화된 데이터를 읽어들여 역이산 여현 변환 동작을 수행하는 역 이산 여현 변환기와 윈도우/오버랩-애드를 수행하는 윈도우/오버랩- 애드를 포함하는 필터 뱅크; 및A filter bank including an inverse discrete cosine converter for reading inverse quantized data from the second memory and performing an inverse discrete cosine transform operation and a window / overlap-add for performing window / overlap-add; And 현재 프레임의 역양자화된 데이터에 대해 상기 필터 뱅크의 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 상기 디포맷팅 동작 및 상기 복호화 동작을 수행하도록 제어하며, 상기 현재 프레임의 상기 윈도우/오버랩-애드 동작 수행 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터에 대해 상기 역양자화 동작을 수행하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.While the inverse discrete cosine transform of the filter bank is performed on the dequantized data of the current frame, the deformatting operation and the decoding operation are performed on the digital audio data of the next frame in parallel. And a control unit configured to perform the inverse quantization operation on the decoded data of the next frame in parallel during the window / overlap-add operation. 제11항에 있어서, The method of claim 11, 상기 역양자화 및 상기 역이산 여현 변환을 위한 복소수/곱셈/덧셈 연산을 수행하고 상기 역양자화기 및 상기 역 이산 여현 변환기에 의해 공유되는 연산부를 더 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.And performing a complex number / multiplication / add operation for the inverse quantization and the inverse discrete cosine transform and being shared by the inverse quantizer and the inverse discrete cosine transformer. 제11항에 있어서, The method of claim 11, 상기 필터 뱅크의 윈도우/오버랩-애드를 위한 이전 프레임의 윈도우 처리된 데이터를 저장하는 제3 메모리를 더 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.And a third memory for storing windowed data of a previous frame for window / overlap-add of the filter bank. 제11항에 있어서, 상기 제2 메모리는 The method of claim 11, wherein the second memory is 상기 필터 뱅크의 윈도우 오버랩 애드를 위한 이전 프레임의 윈도우 처리된 데이터를 저장하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.And windowed data of a previous frame for window overlap add of the filter bank. 제11항에 있어서, 상기 복호화기는The method of claim 11, wherein the decoder 허프만 복호화기인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.And a Huffman decoder. 제11항에 있어서, 상기 디지털 오디오 데이터는The method of claim 11, wherein the digital audio data is 윈도우 미디어 오디오(Window Media Audio)에 의해 부호화된 데이터인 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.A device for decoding digital audio data, characterized in that it is data encoded by Window Media Audio. 제11항에 있어서, 상기 디지털 오디오 데이터의 복호화 장치는 휴대용 단말기에 사용되는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치. 12. The apparatus of claim 11, wherein the apparatus for decoding digital audio data is used in a portable terminal. 디지털 오디오 데이터로부터 헤더 정보와 부호화된 데이터를 추출하는 디포맷팅 동작을 수행하는 디포맷터; A deformatter for performing a deformatting operation of extracting header information and encoded data from digital audio data; 상기 부호화된 데이터를 복호화하는 복호화 동작을 수행하는 복호화기;A decoder configured to perform a decoding operation of decoding the encoded data; 상기 복호화된 데이터를 역양자화하는 역양자화 동작을 수행하는 역양자화기;An inverse quantizer for inversely quantizing the decoded data; 상기 역양자화된 데이터를 역이산 변환하는 역이산 여현 변환 동작을 수행하는 역 이산 여현 변환기와 윈도우/오버랩-애드를 수행하는 윈도우/오버랩- 애드를 포함하는 필터 뱅크; 및A filter bank including an inverse discrete cosine transformer for performing inverse discrete cosine transform operation for inverse discrete conversion of the dequantized data and a window / overlap-add for performing window / overlap-add; And 현재 프레임의 역양자화된 데이터에 대해 상기 필터 뱅크의 역이산 여현 변환을 수행하는 동안 병렬적으로 다음 프레임의 디지털 오디오 데이터에 대해 상기 디포맷팅 동작 및 상기 복호화 동작을 수행하도록 제어하며, 상기 현재 프레임의 상기 윈도우/오버랩-애드 동작 수행 동안 병렬적으로 상기 다음 프레임의 상기 복호화된 데이터에 대해 상기 역양자화 동작을 수행하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 디지털 오디오 데이터의 복호화 장치.While the inverse discrete cosine transform of the filter bank is performed on the dequantized data of the current frame, the deformatting operation and the decoding operation are performed on the digital audio data of the next frame in parallel. And a control unit configured to perform the inverse quantization operation on the decoded data of the next frame in parallel during the window / overlap-add operation.
KR1020070010009A 2007-01-31 2007-01-31 Method and device for decoding digital audio data KR100895100B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070010009A KR100895100B1 (en) 2007-01-31 2007-01-31 Method and device for decoding digital audio data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070010009A KR100895100B1 (en) 2007-01-31 2007-01-31 Method and device for decoding digital audio data

Publications (2)

Publication Number Publication Date
KR20080071747A KR20080071747A (en) 2008-08-05
KR100895100B1 true KR100895100B1 (en) 2009-04-28

Family

ID=39882362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070010009A KR100895100B1 (en) 2007-01-31 2007-01-31 Method and device for decoding digital audio data

Country Status (1)

Country Link
KR (1) KR100895100B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2464649C1 (en) * 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Audio signal processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6344808B1 (en) 1999-05-11 2002-02-05 Mitsubishi Denki Kabushiki Kaisha MPEG-1 audio layer III decoding device achieving fast processing by eliminating an arithmetic operation providing a previously known operation result
KR100346734B1 (en) * 1995-09-22 2002-11-23 삼성전자 주식회사 Audio coder and decoder having high speed analyzing filter and composite filter
US7065491B2 (en) 2002-02-15 2006-06-20 National Central University Inverse-modified discrete cosine transform and overlap-add method and hardware structure for MPEG layer3 audio signal decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100346734B1 (en) * 1995-09-22 2002-11-23 삼성전자 주식회사 Audio coder and decoder having high speed analyzing filter and composite filter
US6344808B1 (en) 1999-05-11 2002-02-05 Mitsubishi Denki Kabushiki Kaisha MPEG-1 audio layer III decoding device achieving fast processing by eliminating an arithmetic operation providing a previously known operation result
US7065491B2 (en) 2002-02-15 2006-06-20 National Central University Inverse-modified discrete cosine transform and overlap-add method and hardware structure for MPEG layer3 audio signal decoding

Also Published As

Publication number Publication date
KR20080071747A (en) 2008-08-05

Similar Documents

Publication Publication Date Title
JP4786903B2 (en) Low bit rate audio coding
US9728196B2 (en) Method and apparatus to encode and decode an audio/speech signal
US7181404B2 (en) Method and apparatus for audio compression
US10424304B2 (en) Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
JP2005533280A5 (en)
RU2607230C2 (en) Adaptation of weighing analysis or synthesis windows for encoding or decoding by conversion
WO2006024977A1 (en) Method and device for transcoding
JP2002135131A (en) Method and apparatus for performing variable-size vector entropy coding
JP2005531014A5 (en)
CN110870005B (en) Encoding system and decoding system
US8825494B2 (en) Computation apparatus and method, quantization apparatus and method, audio encoding apparatus and method, and program
US20030014241A1 (en) Method of and apparatus for converting an audio signal between data compression formats
JP2020518031A (en) Variable alphabet size for digital audio signals
KR100895100B1 (en) Method and device for decoding digital audio data
US20080133250A1 (en) Method and Related Device for Improving the Processing of MP3 Decoding and Encoding
US7711555B2 (en) Method for compression and expansion of digital audio data
KR100903958B1 (en) Method and device for decoding digital audio data, and record medium for performing method of decoding digital audio data
WO2019216187A1 (en) Pitch enhancement device, and method and program therefor
JP4888048B2 (en) Audio signal encoding / decoding method, apparatus and program for implementing the method
US6882976B1 (en) Efficient finite length POW10 calculation for MPEG audio encoding
CN101740075B (en) Audio signal playback apparatus, method, and program
JP2005527911A5 (en)
US20030187528A1 (en) Efficient implementation of audio special effects
KR100359528B1 (en) Mp3 encoder/decoder
JP3236758B2 (en) CRC arithmetic unit for variable length data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 9