KR100793799B1 - Apparatus for generating address and method for processing audio signal using for the same - Google Patents
Apparatus for generating address and method for processing audio signal using for the same Download PDFInfo
- Publication number
- KR100793799B1 KR100793799B1 KR1020060005000A KR20060005000A KR100793799B1 KR 100793799 B1 KR100793799 B1 KR 100793799B1 KR 1020060005000 A KR1020060005000 A KR 1020060005000A KR 20060005000 A KR20060005000 A KR 20060005000A KR 100793799 B1 KR100793799 B1 KR 100793799B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- signal
- bit
- imdct
- present
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Abstract
본 발명은 비트 변환에 의한 주소 생성 장치, 그리고 이를 이용한 오디오 신호 처리에 관한 것이다. 특히 본 발명은 고속 MDCT/IMDCT 필터뱅크 연산의 전처리 과정에서 필요한 복수개의 주소값을 하나의 주소값에서 효율적으로 생성할 수 있으며, 또한 듀얼 MAC 구조 및 메모리 버스가 2개 이상일 경우, 2개의 주소를 동시에 불러올 수 있기 때문에 주소 생성기의 추가 사용 없이 효율적인 데이터 이동이 가능하다.The present invention relates to an address generating apparatus by bit conversion and an audio signal processing using the same. In particular, the present invention can efficiently generate a plurality of address values required in the pre-processing of the high-speed MDCT / IMDCT filter bank operation in one address value, and also, if the dual MAC structure and the memory bus has two or more, Simultaneous loading allows for efficient data movement without the need for additional address generators.
주소,IDMCT,MDCT Address, IDMCT, MDCT
Description
도 1은 일반적인 주소 생성 장치의 일 실시예를 보인 도면1 is a view showing an embodiment of a general address generation device
도 2는 본 발명에 따른 역주소 생성 예를 보인 도면2 is a diagram showing an example of reverse address generation according to the present invention;
도 3은 본 발명에 따른 주소 생성 장치의 일 실시예를 보인 도면3 is a view showing an embodiment of an address generation device according to the present invention;
도 4는 도 3의 역주소 생성부의 일 실시예를 보인 도면4 is a diagram illustrating an embodiment of a reverse address generator of FIG. 3;
도 5는 도 4의 제어 신호 생성기의 일 실시예를 보인 도면5 illustrates an embodiment of the control signal generator of FIG.
도 6은 본 발명에 따른 주소 생성 방법이 적용된 오디오 신호 처리 방법의 일 실시예를 보인 도면6 is a diagram showing an embodiment of an audio signal processing method to which an address generation method according to the present invention is applied;
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
210 : 주소 생성부 220 : 역주소 생성부210: address generator 220: reverse address generator
230 : 결과 출력부 610 : 전처리부230: result output unit 610: preprocessing unit
620 : IFFT부 630 : 후처리부620: IFFT unit 630: post-processing unit
640 : 역인터리빙부640: reverse interleaver
본 발명은 프로그래머블 프로세서의 주소 생성에 관한 것으로서, 특히 비트변환에 의한 주소 생성 장치, 그리고 이를 이용한 오디오 신호 처리에 관한 것이다. BACKGROUND OF THE
최근 다채널 고음질 오디오에 대한 요구가 증가하면서 디지털 다채널 오디오 압축 알고리즘 영역에 대한 관심이 증가하고 있다. 이러한 다채널 오디오 압축 알고리즘은 대표적으로 MP3, MPEG2, Dolby AC-3, DTS(Digital theater systems) 등이 있으며, 대부분의 오디오 압축 알고리즘은 MDCT(Modified Discrete Cosine Transform)를 이용한 변환 부호화(Transform coding) 방식을 이용하여 신호를 변환한 후 심리 음향 모델을 기반으로 비트를 할당하여 신호를 압축하게 된다.Recently, as the demand for multichannel high quality audio increases, the interest in the digital multichannel audio compression algorithm area is increasing. Such multi-channel audio compression algorithms are typically MP3, MPEG2, Dolby AC-3, DTS (Digital theater systems), and most audio compression algorithms are transform coding method using Modified Discrete Cosine Transform (MDCT). After the signal is transformed using, the signal is compressed by allocating bits based on the psychoacoustic model.
그런데, 대부분의 오디오 압축 알고리즘이 MDCT 기반의 연산을 이용할 뿐만 아니라, 연산량의 관점에서도 시간 영역의 신호를 내부적인 시간 주파수 표현으로 변환하거나 혹은 그 역 변환을 수행하는 과정이 오디오 신호의 부호화(Encoding) 혹은 복호화(Decoding) 과정에서 상대적으로 많은 연산량을 차지한다. 예를 들어 MP3의 경우 복호 연산시 IMDCT 처리 과정이 일반적으로 전체 복호 연산량에 대해 약 42%의 비중을 차지하며, MPEG2의 경우는 약 52%, 돌비의 경우는 약 50%, MPEG2-AAC의 경우는 약 48%를 차지한다. 즉, 시간-주파수 변환 과정을 효율적으로 처리할 경우 프로세서의 전체 부하가 크게 줄어들어 성능 향상에 이바지할 수 있다.However, not only most audio compression algorithms use MDCT-based operations, but also the process of converting a time domain signal into an internal time-frequency representation or performing inverse conversion from the viewpoint of computation amount is the encoding of the audio signal. Or, it takes a relatively large amount of computation in the decoding process. For example, in the case of MP3, the IMDCT processing process generally takes about 42% of the total decoding operation, about 52% for MPEG2, about 50% for Dolby, and MPEG2-AAC. Accounts for about 48%. In other words, the efficient processing of the time-frequency conversion process can greatly reduce the overall load on the processor, contributing to improved performance.
이와 같은 IMDCT 연산을 처리하기 위해 대부분의 압축 표준들은 알고리즘 레벨에서 연산량을 줄일 수 있는 고속 IMDCT 연산 알고리즘을 적용하고 있다. 고속 IMDCT 연산 알고리즘은 2N 포인트 IMDCT 연산에 대해 하드웨어 구현이 가장 용이하고 연산량이 적은 IMDCT 구현 알고리즘으로 N/4 포인트 IFFT를 이용하여 IMDCT 연산을 수행하는 방법이다.In order to process such IMDCT operations, most compression standards apply a high-speed IMDCT algorithm that can reduce the amount of computation at the algorithm level. The fast IMDCT algorithm is an IMDCT implementation algorithm that is the easiest to implement a hardware for a 2 N point IMDCT operation and has a small amount of computation, and is a method of performing an IMDCT operation using an N / 4 point IFFT.
이 고속 IMDCT 알고리즘은 수학식 1, 수학식 2와 같이 두 단계로 구성된다.This fast IMDCT algorithm consists of two stages as shown in
상기 수학식 1에서 은 N/4 포인트 IFFT 연산이며, 와 는 각각 IFFT 연산의 전처리, 후처리 과정이다. 상기 수학식 2는 역 인터리빙(de-interleaving) 과정으로 yr = real{y(n)}, yi = image{y(n)}를 각각 의미한다.In
현재 상용 프로그래머블 프로세서로 고속 IMDCT 필터뱅크 연산을 수행할 경우, 전처리 과정을 수행하기 위해 메모리에 저장된 X(k)값을 X(N/2-2k-1) + jX(2k)의 복소수 값으로 나타내어야 한다. 그러나 이를 직접 나타내기 위한 특정 명령어 및 하드웨어 구조를 지원하고 있지 않으므로 메모리에 저장된 실수 X(k) 데이터를 이동할 때 X(N/2-2k-1) 데이터와 X(2k) 데이터를 각각 따로 읽어야 하는 비효율성이 존재한다. When performing a fast IMDCT filterbank operation with a commercially available programmable processor, the complex value of X (N / 2-2k-1) + jX (2k) is represented as X (k) stored in memory to perform the preprocessing process. Should be. However, since it does not support specific instruction and hardware structure to express it directly, when moving real X (k) data stored in memory, X (N / 2-2k-1) data and X (2k) data should be read separately. Inefficiency exists.
도 1은 종래의 고속 IMDCT 연산의 전처리 과정을 위한 하드웨어 구조를 보인 것으로서, 제1 주소 생성부(110), 제2 주소 생성부(120), 및 결과 출력부(130)로 구성된다. 상기 제1,제2 주소 생성부(110)는 주소를 저장하는 주소 레지스터를 포함하고, 결과 출력부(130)는 제1,제2 주소 생성부(110,120)에서 생성된 주소로부터 읽은 데이터를 더하여 출력하는 가산기를 포함한다.1 illustrates a hardware structure for a preprocessing process of a conventional fast IMDCT operation, and includes a
즉, 상기 수학식 1에 따라 전처리 과정을 수행하기 위해서는 X(N/2-2k-1) + jX(2k) 값과 를 곱하는 연산이 필요하다. 이때, X(N/2-2k-1) 데이터와 X(2k) 데이터는 메모리에 저장되어 있고 일반적으로 두개의 주소 생성부(110,120)를 이용해서 X(2k), X(N/2-2k-1)에 해당하는 두 데이터를 읽어오기 위한 메모리 주소를 생성시킨다. 즉, 상기 X(2k) 데이터를 읽어오기 위해서 제1 주소 생성부(110) 는 주소 레지스터를 2씩 포스트 인크리먼트(post increment)시키면서 데이터를 이동하고, X(N/2-2k-1) 데이터를 읽어오기 위해서 제2 주소 생성부(120)는 주소 레지스터를 2씩 포스트 디크리먼트(post decrement)시키면서 데이터를 이동하게 된다.That is, in order to perform the preprocessing process according to
그러나 일반적인 상용 프로그래머블 프로세서에서는, 포스트 인크리먼트/디크리먼트(post increment/decrement) 주소 생성 모드에서 대부분 +1, -1 만을 지원하며, +2, -2는 잘 지원하지 않는다는 문제점이 있다. 또한 두개의 주소레지스터를 이용해야하므로, 자원 사용이 많다는 문제점과, 두개의 데이터를 동시에 이동할 수 있는 프로세서에서는 +2, -2를 동시에 처리해야 하므로 연산기가 동시에 두개를 사용 가능해야 한다는 자원 이용 문제 등이 있다.However, in a general commercially available programmable processor, most of the post increment / decrement address generation mode supports only +1 and -1, and +2 and -2 do not support well. In addition, since two address registers must be used, resource usage is high, and a processor that can move two data at the same time needs to process +2 and -2 simultaneously. There is this.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 프로그래머블 프로세서의 연산 성능을 향상시키기 위한 방법 및 장치를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a method and apparatus for improving the computational performance of a programmable processor.
본 발명의 다른 목적은 적은 하드웨어 자원으로 비트 변환을 통해 주소를 생성하는 장치 그리고 이를 이용한 오디오 신호 처리 방법을 제공하는데 있다. Another object of the present invention is to provide an apparatus for generating an address through bit conversion with a small hardware resource and an audio signal processing method using the same.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 주소 생성 장치는, 주소 레지스터를 이용하여 제1 메모리 주소를 생성하는 주소 생성부; 반전 소자를 이용하여 상기 제1 메모리 주소의 각 비트를 반전시켜 제2 메모리 주소를 생성하는 역주소 생성부; 및 상기 제1,제2 메모리 주소로부터 해당 데이터를 읽어 와 출력하는 결과 출력부를 포함하여 구성되는 것을 특징으로 한다.An address generating apparatus according to the present invention for achieving the above object, the address generating unit for generating a first memory address using the address register; A reverse address generator configured to generate a second memory address by inverting each bit of the first memory address using an inverting element; And a result output unit configured to read and output corresponding data from the first and second memory addresses.
본 발명에 따른 오디오 신호 처리 방법은, 입력 실수 값에 대응하는 제1 메모리 주소를 생성하고, 상기 제1 메모리 주소의 각 비트를 반전시켜 제2 메모리 주소를 생성한 후, 상기 제1,제2 메모리 주소로부터 해당 데이터를 읽어 와 복소수 형태로 출력하는 전처리 단계; 상기 전처리 단계에서 출력되는 복소수 신호를 역고속푸리에변환(IFFT)하여 시간 영역의 신호로 출력하는 IFFT 단계; 상기 시간 영역의 복소수 신호를 실수 형태로 처리하여 출력하는 후처리 단계; 및 상기 후처리 단계의 실수 신호를 역인터리빙하는 단계를 포함하여 이루어져, 오디오 신호에 대해 IMDCT를 수행하는 것을 특징으로 한다.In the audio signal processing method according to the present invention, after generating a first memory address corresponding to an input real value, inverting each bit of the first memory address to generate a second memory address, the first and second A preprocessing step of reading the data from the memory address and outputting the data in a complex form; An IFFT step of performing an inverse fast Fourier transform (IFFT) on the complex signal output in the preprocessing step and outputting the signal in the time domain; A post-processing step of processing and outputting the complex signal in the time domain in real form; And deinterleaving the real signal of the post-processing step, wherein the IMDCT is performed on the audio signal.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described. At this time, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, by which the technical spirit of the present invention and its core configuration and operation is not limited.
본 발명은 프로그래머블 프로세서에서 주소를 생성할 경우, 1개의 주소 생성기와 간단한 추가 로직만으로 2개의 주소값을 병렬적으로 동시에 생성할 수 있게 한다. 특히 본 발명은 디지털 신호 처리기(DSP, Digital Signal Processor) 등에서 1개의 주소 생성기로 동일 파이프라인 사이클에 2개의 특정 주소값을 생성할 수 있 도록 한다. In the present invention, when generating an address in a programmable processor, two address values can be simultaneously generated in parallel using only one address generator and simple additional logic. In particular, the present invention allows a single signal generator to generate two specific address values in the same pipeline cycle in a digital signal processor (DSP).
현재 상용 프로그래머블 프로세서로 고속 IMDCT 필터뱅크 연산을 수행할 경우, 먼저 입력된 X(k)값에 해당하는 복소수 값 X(N/2-2k-1) + jX(2k)을 메모리로부터 읽어오는 전처리 과정이 수행된다. When performing a fast IMDCT filter bank operation with a commercially available programmable processor, the preprocessing process reads the complex value X (N / 2-2k-1) + jX (2k) corresponding to the input X (k) value from the memory first. This is done.
그런데, 상기 X(2k)와 X(N/2-2k-1)의 관계를 보면, 역수의 관계임을 알 수 있다. 예를 들어, 입력 데이터 X(k)가 0이면 X(0), X(N/2-1), X(k)가 1이면 X(2), X(N/2-3),...임을 알 수 있다.However, looking at the relationship between X (2k) and X (N / 2-2k-1), it can be seen that the relationship is inverse. For example, if input data X (k) is 0, X (0), X (N / 2-1), X (k) is 1, X (2), X (N / 2-3), .. It can be seen that.
도 2는 본 발명의 역주소 생성 모드에 대한 예를 보인 도면으로서, N을 512라 가정하였을 경우, 주소 0(00000000)을 인버터에 의해 반전시키면 역주소 255(11111111)가 생성되고, 주소 2(00000010)를 인버터에 의해 반전시키면 역주소 253(11111101)이 생성된다.FIG. 2 is a diagram illustrating an example of the reverse address generation mode of the present invention. When N is 512, the reverse address 255 (11111111) is generated when the address 0 (00000000) is inverted by the inverter, and the address 2 ( Inverting 00000010 by an inverter generates reverse address 253 (11111101).
즉, 도 2와 같은 역 주소 모드(Inverse addressing mode)를 사용하면 하나의 데이터 주소 레지스터, 그리고 상기 데이터 주소 레지스터의 각 해당 비트를 역 변환하는 간단한 비트 조작 회로만으로 고속 IMDCT 연산의 전처리에 필요한 복소수 샘플을 1 사이클 안에 메모리에서 읽어 와 소스 레지스터로 이동할 수 있어 매우 효율적이게 된다.In other words, using the inverse addressing mode as shown in FIG. 2, only one data address register and a simple bit manipulation circuit for inverting each corresponding bit of the data address register are complex samples required for preprocessing of a fast IMDCT operation. Can be read from memory in one cycle and moved to the source register, making it very efficient.
도 3은 본 발명에 따른 고속 IMDCT/MDCT 필터뱅크 전처리 연산 과정을 위한 하드웨어 구조를 보인 것으로서, 주소 생성부(210), 역주소 생성부(220), 및 결과 출력부(230)를 포함하여 구성된다. 3 shows a hardware structure for a fast IMDCT / MDCT filter bank preprocessing operation according to the present invention, and includes an
상기 주소 생성부(210)는 주소를 저장하는 주소 레지스터를 포함하고, 역주 소 생성부(220)는 주소 레지스터의 각 주소를 반전시키기 위한 인버터를 포함하여 구성된다. 그리고 결과 출력부(230)는 주소 생성부(210)와 역주소 생성부(220)에서 생성된 주소로부터 읽은 데이터를 더하여 복소수 데이터로 출력하는 가산기를 포함한다.The
본 발명을 종래와 비교할 때, 도 3에서와 같이 연산에 사용된 주소 레지스터는 2개에서 1개로 줄었으며, 0->2->4->8... 등으로 증가하는 주소 레지스터의 값을 비트 단위로 역변환하여서 연산에 필요한 0xFF->0xFD->0xFB->0xF9... 주소값을 생성할 수 있다. When comparing the present invention with the prior art, as shown in Figure 3, the number of address registers used in the operation is reduced from two to one, and the value of the address register increasing from 0-> 2-> 4-> 8 ... etc. is increased. By converting bit by bit, 0xFF-> 0xFD-> 0xFB-> 0xF9 ... address value can be generated.
만약 본 발명의 하드웨어 구조를 사용하는 프로그래머블 프로세서가 듀얼 MAC 구조를 가진다면 동시에 두개의 데이터를 소스 레지스터로 가져올 수 있으므로 하드웨어 자원 관련뿐만 아니라 연산 사이클 관점에서도 매우 유리하게 된다.If a programmable processor using the hardware structure of the present invention has a dual MAC structure, two data can be simultaneously brought into the source register, which is very advantageous not only in terms of hardware resources but also in terms of operation cycles.
즉, 2개 이상의 데이터 메모리 버스와 듀얼 MAC(multiply-accumulate) 구조를 가지는 프로그래머블 프로세서에서 IMDCT 필터뱅크의 연산을 사용하는 디지털 오디오 신호 처리 등에 활용될 경우, IMDCT 필터뱅크의 전처리 연산에 대한 주소 생성 시간을 줄일 수 있기 때문에 전체적인 프로세서의 성능을 향상시킬 수 있다.That is, when used in digital audio signal processing using IMDCT filter bank operation in a programmable processor having two or more data memory buses and dual MAC (multiply-accumulate) structures, the address generation time for the preprocessing operation of the IMDCT filter bank This can improve overall processor performance.
도 4는 도 3의 역주소 생성부의 일 실시예를 보인 상세 블록도로서, 주소 생성부(210)에서 생성된 주소 데이터를 비트 단위로 역변환하기 위하여 다수개의 병렬 구성된 먹스와 MDCT/IMDCT 포인트 수에 따라 각 먹스에 선택 신호를 제공하는 제어신호 생성부를 포함하여 구성된다. FIG. 4 is a detailed block diagram illustrating an example of the reverse address generator of FIG. 3, and includes a plurality of parallel configured mux and MDCT / IMDCT point numbers in order to inversely convert address data generated by the
도 4에서는 최대 8192 포인트(14비트)까지 주소 데이터를 표현하기 위하여 14개의 먹스를 구비한 예를 보이고 있다. 상기 각 먹스는 제어 신호 생성기에서 생성된 제어 신호에 따라 주소 생성부(210)에서 생성된 주소 데이터를 각각 반전시켜 출력한다. 즉, 상기 주소 생성부(210)에서 발생된 주소 데이터의 각 비트는 해당 먹스로 인가되는데, 이때 해당 먹스의 제1 입력단(0)으로는 반전되지 않은 주소 비트가, 제2 입력단(1)으로는 인버터에 의해 반전된 주소 비트가 인가된다. 상기 먹스는 제어 신호 생성기에서 출력된 해당 선택 신호가 '0'이면 반전되지 않는 주소 비트를 선택하고, '1'이면 반전된 주소 비트를 선택하여 출력한다. In FIG. 4, 14 muxes are provided to represent address data up to 8192 points (14 bits). Each mux inverts and outputs the address data generated by the
도 5는 도 4의 제어 신호 생성기의 일 실시예를 보인 상세 블록도로서, MDCT/IMDCT 포인트 개수의 상위 8비트를 입력으로 받아 논리 조합하여 선택 신호를 출력하는 다수개의 오아 게이트(501~508)로 구성된다.FIG. 5 is a detailed block diagram illustrating an exemplary embodiment of the control signal generator of FIG. 4, and includes a plurality of OR
예를 들어, MDCT/IMDCT 포인트 수가 1024라면 00010000000000 중 상위 8비트인 0001000가 각 오아 게이트(501~507)로 입력된다. 그러면 상기 오아 게이트(504)의 출력이 '1'이 되고, 이로 인해 그 하위의 오아 게이트(506,507)의 출력도 '1'이 된다. 또한 상기 상위 8비트를 모두 오아링하는 오아 게이트(508)의 출력도 '1'이 된다. 상기 오아 게이트(508)의 출력단에는 최하위 6비트 MUX 제어 신호가 공통으로 발생한다. 따라서 하위 14비트 먹스 선택 신호는 00001111111111이 되어 해당 먹스로 제공된다.For example, if the number of MDCT / IMDCT points is 1024, 0001000, which is the upper 8 bits of 00010000000000, is input to the respective OR
그러면 도 4의 상위 4개의 먹스는 반전되지 않는 주소 비트를 선택하여 출력하고, 하위 10개의 먹스는 반전된 주소 비트를 선택하여 출력한다.Then, the upper four muxes of FIG. 4 select and output address bits that are not inverted, and the lower ten muxes select and output inverted address bits.
예를 들어, 주소 생성부(210)에서 생성된 하위 14비트 주소가 00000011001111이고, MDCT/IMDCT 포인트 수가 1024라면 각 먹스의 출력은 00001100110000가 된다. For example, if the lower 14-bit address generated by the
이와 같이 본 발명은 디지털 오디오 신호처리에서 사용되는 IMDCT/MDCT 연산과정을 전처리, N/4 포인트 IFFT/FFT, 후처리, 및 역인터리빙 과정으로 처리할 경우, 전처리 과정의 데이터 이동 사이클을 효과적으로 줄일 수 있게 된다.As described above, when the IMDCT / MDCT calculation process used in digital audio signal processing is performed by preprocessing, N / 4 point IFFT / FFT, postprocessing, and deinterleaving process, the data movement cycle of the preprocessing process can be effectively reduced. Will be.
도 6은 본 발명의 고속 IMDCT 알고리즘에 대한 하드웨어의 일 실시예를 보인 구성 블록도로서, 전처리부(610), IFFT부(620), 후처리부(630), 및 역인터리빙부(640)를 포함하여 구성된다. 6 is a block diagram showing an embodiment of hardware for the fast IMDCT algorithm of the present invention, and includes a
상기 전처리부(610)는 실수 형태의 오디오 신호를 입력받아 전술한 본 발명의 비트 변환에 의한 주소 생성 과정을 적용하여 복소수 형태로 변환한 후 IFFT부(620)로 출력한다. 상기 IFFT부(620)는 상기 전처리부(610)의 복소수 신호를 IFFT에 의해 시간 영역으로 변환한 후 후처리부(630)로 출력한다. 상기 후처리부(630)는 상기 IFFT부(620)의 출력 신호를 실수 형태의 신호로 변환하여 역인터리빙부(640)로 출력한다. 상기 역인터리빙부(640)는 상기 후처리부(630)의 출력 신호를 역인터리빙하여 출력한다. The
일 예로, MPEG 오디오 기술은 복호화 블록의 디지털 필터 뱅크에 MDCT를 적용하고, 부호화 블록의 디지털 필터 뱅크에 IMDCT를 적용한다. For example, MPEG audio technology applies MDCT to a digital filter bank of a decoding block and IMDCT to a digital filter bank of a coding block.
이와 같이 본 발명은 고속 MDCT/IMDCT 필터뱅크 연산의 전처리 과정에서 필요한 복수개의 주소값을 하나의 주소값에서 효율적으로 생성할 수 있으며, 또한 듀얼 MAC 구조 및 메모리 버스가 2개 이상일 경우, 2개의 주소를 동시에 불러올 수 있기 때문에 주소 생성기의 추가 사용 없이 효율적인 데이터 이동이 가능하다.As described above, the present invention can efficiently generate a plurality of address values required in a preprocessing process of a high-speed MDCT / IMDCT filter bank operation from one address value, and also, if there are two or more dual MAC structures and two memory buses, Simultaneously fetching allows efficient data movement without the need for additional address generators.
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다. On the other hand, the terms used in the present invention (terminology) are terms defined in consideration of the functions in the present invention may vary according to the intention or practice of those skilled in the art, the definitions are the overall contents of the present invention It should be based on.
본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. The present invention is not limited to the above-described embodiments, and as can be seen in the appended claims, modifications can be made by those skilled in the art to which the invention pertains, and such modifications are within the scope of the present invention.
상기에서 설명한 본 발명에 따른 주소 생성 방법 및 장치, 그리고 이를 이용한 오디오 신호 처리 방법에 의하면, MDCT/IMDCT 필터뱅크 기반의 디지털 오디오 신호 처리에서 기존 하드웨어보다 적은 하드웨어 자원을 사용하여 동일 성능을 내며, 전체 프로그래머블 프로세서의 동작 주파수도 낮출 수 있다. 따라서 모바일 환경에서 칩의 전력 소모가 중요시되고 있는 요즘, 디지털 오디오 신호 처리를 위해 프로그래머블 프로세서를 사용하는 모든 응용 분야에 적용이 가능하다.According to the address generation method and apparatus and the audio signal processing method using the same according to the present invention described above, in the MDCT / IMDCT filter bank-based digital audio signal processing, the same performance using the less hardware resources than the existing hardware, The operating frequency of the programmable processor can also be lowered. Therefore, in the mobile environment, where chip power consumption is becoming important, the present invention can be applied to any application that uses a programmable processor for processing digital audio signals.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060005000A KR100793799B1 (en) | 2006-01-17 | 2006-01-17 | Apparatus for generating address and method for processing audio signal using for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060005000A KR100793799B1 (en) | 2006-01-17 | 2006-01-17 | Apparatus for generating address and method for processing audio signal using for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070076054A KR20070076054A (en) | 2007-07-24 |
KR100793799B1 true KR100793799B1 (en) | 2008-01-11 |
Family
ID=38501052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060005000A KR100793799B1 (en) | 2006-01-17 | 2006-01-17 | Apparatus for generating address and method for processing audio signal using for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100793799B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000026948A (en) * | 1998-10-24 | 2000-05-15 | 김영환 | Inverse modified discrete cosine transform used for restoring time signal of frequency signal |
KR20010110482A (en) * | 1999-03-31 | 2001-12-13 | 러셀 비. 밀러 | Generalized address generation for bit reversed random interleaving |
-
2006
- 2006-01-17 KR KR1020060005000A patent/KR100793799B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000026948A (en) * | 1998-10-24 | 2000-05-15 | 김영환 | Inverse modified discrete cosine transform used for restoring time signal of frequency signal |
KR20010110482A (en) * | 1999-03-31 | 2001-12-13 | 러셀 비. 밀러 | Generalized address generation for bit reversed random interleaving |
Also Published As
Publication number | Publication date |
---|---|
KR20070076054A (en) | 2007-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102546541B1 (en) | Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field | |
TWI398854B (en) | Method, device, circuit and computer-readable medium for computing transform values and performing window operation, and method for providing a decoder | |
JP2013229050A (en) | Data processing method and device | |
CN110943744B (en) | Data compression, decompression and processing method and device based on data compression and decompression | |
KR100760976B1 (en) | Computing circuits and method for running an mpeg-2 aac or mpeg-4 aac audio decoding algorithm on programmable processors | |
US6317770B1 (en) | High speed digital signal processor | |
Vu et al. | Implementation of the MFCC front-end for low-cost speech recognition systems | |
US20100128818A1 (en) | Fft processor | |
US20130148694A1 (en) | Dual Fixed Geometry Fast Fourier Transform (FFT) | |
KR100793799B1 (en) | Apparatus for generating address and method for processing audio signal using for the same | |
US20200125334A1 (en) | Audio signal circuit with in-place bit-reversal | |
Tsai et al. | A pure-ASIC design approach for MPEG-2 AAC audio decoder | |
Wisayataksin | An efficient hardware architecture of Codec2 low bit-rate speech decoder | |
Li et al. | A unified computing kernel for MDCT/IMDCT in modern audio coding standards | |
US20090172062A1 (en) | Efficient fixed-point implementation of an fft | |
Long et al. | A low-complexity generalized memory addressing scheme for continuous-flow fast Fourier transform | |
WO2021035715A1 (en) | Data processing method and device | |
KR101036873B1 (en) | Flag based low-complexity, expandable split radix fft system | |
Yoon et al. | Efficient DSP architecture for high-quality audio algorithms | |
JP2014503093A (en) | Signal processing method and device | |
Yoon et al. | Design of a high-quality audio-specific DSP core | |
Du et al. | An implementation of filterbank for MPEG-2 AAC on FPGA | |
JPS5981762A (en) | High-speed fourier conversion processor | |
RU2643662C2 (en) | Device and method for audio signal processing using combination in overlapping range | |
Samin et al. | Low-Power MP3 Decoder Implemented in a Xilinx Virtex-4 FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20121227 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131224 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |