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 PDF

Info

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
Application number
KR1020060005000A
Other languages
Korean (ko)
Other versions
KR20070076054A (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 KR1020060005000A priority Critical patent/KR100793799B1/en
Publication of KR20070076054A publication Critical patent/KR20070076054A/en
Application granted granted Critical
Publication of KR100793799B1 publication Critical patent/KR100793799B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/008Multichannel 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

주소 생성 장치 및 이를 이용한 오디오 신호 처리 방법{Apparatus for generating address and method for processing audio signal using for the same}Apparatus for generating address and method for processing audio signal using for the same}

도 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 INVENTION 1. Field of the Invention The present invention relates to address generation of a programmable processor, and more particularly, to an address generation device by bit conversion and an audio signal processing using the same.

최근 다채널 고음질 오디오에 대한 요구가 증가하면서 디지털 다채널 오디오 압축 알고리즘 영역에 대한 관심이 증가하고 있다. 이러한 다채널 오디오 압축 알고리즘은 대표적으로 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 Equations 1 and 2.

Figure 112006003388013-pat00001
Figure 112006003388013-pat00001

Figure 112006003388013-pat00002
Figure 112006003388013-pat00002

상기 수학식 1에서

Figure 112006003388013-pat00003
은 N/4 포인트 IFFT 연산이며,
Figure 112006003388013-pat00004
Figure 112006003388013-pat00005
는 각각 IFFT 연산의 전처리, 후처리 과정이다. 상기 수학식 2는 역 인터리빙(de-interleaving) 과정으로 yr = real{y(n)}, yi = image{y(n)}를 각각 의미한다.In Equation 1
Figure 112006003388013-pat00003
Is an N / 4 point IFFT operation,
Figure 112006003388013-pat00004
Wow
Figure 112006003388013-pat00005
Are preprocessing and postprocessing processes of IFFT operation respectively. Equation 2 denotes yr = real {y (n)} and yi = image {y (n)} as a de-interleaving process.

현재 상용 프로그래머블 프로세서로 고속 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 first address generator 110, a second address generator 120, and a result outputter 130. The first and second address generator 110 includes an address register for storing an address, and the result output unit 130 adds data read from addresses generated by the first and second address generators 110 and 120. It includes an output adder.

즉, 상기 수학식 1에 따라 전처리 과정을 수행하기 위해서는 X(N/2-2k-1) + jX(2k) 값과

Figure 112006003388013-pat00006
를 곱하는 연산이 필요하다. 이때, 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 Equation 1, X (N / 2-2k-1) + jX (2k) and
Figure 112006003388013-pat00006
You need to multiply by. At this time, the X (N / 2-2k-1) data and the X (2k) data are stored in the memory and generally X (2k) and X (N / 2-2k) using two address generators 110 and 120. Create a memory address for reading two data corresponding to -1). That is, in order to read the X (2k) data, the first address generator 110 moves the data while post-incrementing the address register by 2 and X (N / 2-2k-1). In order to read the data, the second address generator 120 moves the data while post decrementing the address register by two.

그러나 일반적인 상용 프로그래머블 프로세서에서는, 포스트 인크리먼트/디크리먼트(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 address generator 210, a reverse address generator 220, and a result output unit 230. do.

상기 주소 생성부(210)는 주소를 저장하는 주소 레지스터를 포함하고, 역주 소 생성부(220)는 주소 레지스터의 각 주소를 반전시키기 위한 인버터를 포함하여 구성된다. 그리고 결과 출력부(230)는 주소 생성부(210)와 역주소 생성부(220)에서 생성된 주소로부터 읽은 데이터를 더하여 복소수 데이터로 출력하는 가산기를 포함한다.The address generator 210 includes an address register for storing an address, and the reverse address generator 220 includes an inverter for inverting each address of the address register. The result output unit 230 includes an adder that adds data read from the address generated by the address generator 210 and the reverse address generator 220 and outputs the complex data.

본 발명을 종래와 비교할 때, 도 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 address generator 210 into bits. Accordingly, the control signal generation unit for providing a selection signal to each mux is configured.

도 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 address generator 210 according to the control signal generated by the control signal generator. That is, each bit of the address data generated by the address generator 210 is applied to the corresponding mux, wherein an address bit not inverted into the first input terminal 0 of the corresponding mux is transferred to the second input terminal 1. The address bits inverted by the inverter are applied. The mux selects an inverted address bit when the corresponding selection signal output from the control signal generator is '0', and selects and outputs an inverted address bit when '1'.

도 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 gates 501 ˜ 508 outputting a selection signal by logically combining the upper 8 bits of the number of MDCT / IMDCT points as an input. It consists of.

예를 들어, 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 gates 501 to 507. Then, the output of the OR gate 504 becomes '1', and thus the output of the lower OR gates 506 and 507 becomes '1'. In addition, the output of the OR gate 508 that rings all the upper 8 bits also becomes '1'. The lowest 6-bit MUX control signal is commonly generated at the output terminal of the OR gate 508. Therefore, the lower 14 bit mux select signal is 00001111111111 and is provided to the mux.

그러면 도 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 address generator 210 is 00000011001111 and the number of MDCT / IMDCT points is 1024, the output of each mux is 00001100110000.

이와 같이 본 발명은 디지털 오디오 신호처리에서 사용되는 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 preprocessor 610, an IFFT unit 620, a post processor 630, and a reverse interleaving unit 640. It is configured by.

상기 전처리부(610)는 실수 형태의 오디오 신호를 입력받아 전술한 본 발명의 비트 변환에 의한 주소 생성 과정을 적용하여 복소수 형태로 변환한 후 IFFT부(620)로 출력한다. 상기 IFFT부(620)는 상기 전처리부(610)의 복소수 신호를 IFFT에 의해 시간 영역으로 변환한 후 후처리부(630)로 출력한다. 상기 후처리부(630)는 상기 IFFT부(620)의 출력 신호를 실수 형태의 신호로 변환하여 역인터리빙부(640)로 출력한다. 상기 역인터리빙부(640)는 상기 후처리부(630)의 출력 신호를 역인터리빙하여 출력한다. The preprocessor 610 receives an audio signal in real form and converts it into a complex form by applying the address generation process according to the above-described bit conversion of the present invention and then outputs the complex signal to the IFFT unit 620. The IFFT unit 620 converts the complex signal of the preprocessor 610 into a time domain by IFFT and outputs the complex signal to the post processor 630. The post processor 630 converts the output signal of the IFFT unit 620 into a real signal and outputs the signal to the inverse interleaving unit 640. The reverse interleaving unit 640 reversely interleaves the output signal of the post processor 630 and outputs the reverse signal.

일 예로, 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)

주소 레지스터를 이용하여 입력 실수 값에 대응하는 제1 메모리 주소를 생성하는 주소 생성부;An address generator configured to generate a first memory address corresponding to an input real value using an address register; 반전 소자를 이용하여 상기 제1 메모리 주소의 각 비트를 반전시켜 제2 메모리 주소를 생성하는 역주소 생성부; 및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 상기 제1,제2 메모리 주소로부터 해당 데이터를 읽어 와 복소수 형태의 신호로 출력하는 결과 출력부를 포함하고,A result output unit for reading the corresponding data from the first and second memory addresses and outputting a complex signal; 상기 역주소 생성부는The reverse address generator 상기 제1 메모리 주소의 해당 비트를 그대로 출력하거나 반전시켜 출력하는 다수개의 먹스와,A plurality of muxes for outputting a corresponding bit of the first memory address as it is or inverting the bit; MDCT/IMDCT 포인트 수에 따라 상기 각 먹스의 출력을 제어하는 제어 신호 생성기Control signal generator for controlling the output of each mux according to the number of MDCT / IMDCT points 를 포함하는 것을 특징으로 하는 주소 생성 장치.Address generation apparatus comprising a. 삭제delete 주소 레지스터를 이용하여 입력 실수 값에 대응하는 제1 메모리 주소를 생성하고, 상기 제1 메모리 주소의 각 비트를 반전시켜 제2 메모리 주소를 생성한 후, 상기 제1,제2 메모리 주소로부터 해당 데이터를 읽어 와 복소수 형태의 신호로 출력하는 전처리 단계; After generating the first memory address corresponding to the input real value using the address register, and inverting each bit of the first memory address to generate a second memory address, the corresponding data from the first and second memory addresses A preprocessing step of reading and outputting a complex signal; 상기 전처리 단계에서 출력되는 복소수 신호를 역고속푸리에변환(IFFT)하여 시간 영역의 신호로 출력하는 IFFT 단계;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 as a real signal; And 상기 후처리 단계의 실수 신호를 역인터리빙하는 단계를 포함하여 이루어져, 오디오 신호에 대해 IMDCT를 수행하는 것을 특징으로 하는 오디오 신호 처리 방법.And deinterleaving the real signal of the post-processing step, wherein the IMDCT is performed on the audio signal.
KR1020060005000A 2006-01-17 2006-01-17 Apparatus for generating address and method for processing audio signal using for the same KR100793799B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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