KR100202309B1 - Operation process apparatus for mpeg-2 audio coder - Google Patents

Operation process apparatus for mpeg-2 audio coder Download PDF

Info

Publication number
KR100202309B1
KR100202309B1 KR1019960080020A KR19960080020A KR100202309B1 KR 100202309 B1 KR100202309 B1 KR 100202309B1 KR 1019960080020 A KR1019960080020 A KR 1019960080020A KR 19960080020 A KR19960080020 A KR 19960080020A KR 100202309 B1 KR100202309 B1 KR 100202309B1
Authority
KR
South Korea
Prior art keywords
output
processing unit
register
multiplexer
exponential
Prior art date
Application number
KR1019960080020A
Other languages
Korean (ko)
Other versions
KR19980060657A (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 KR1019960080020A priority Critical patent/KR100202309B1/en
Publication of KR19980060657A publication Critical patent/KR19980060657A/en
Application granted granted Critical
Publication of KR100202309B1 publication Critical patent/KR100202309B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 MPEG-오디오 부호화기를 ASIC으로 구현하기 위한 전용의 DSP 코아를 설계하는데 있어서 가장 핵심이라 할 수 있는 연산처리부(ALU)의 설계에 관한 것이다. 일반적인 연산처리부와는 달리 MPEG-오디오 부호화기에 적용하기 위하여 본 발명의 연산처리부는 빠른 연산처리를 하여 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 표현된다. 또한, 로그 및 지수 연산이 가능하며, 이들의 연산을 위하여 별도의 모듈을 두어 한 싸이클에 계산이 모두 이루어 진다. 본 발명에 따른 연산처리장치의 구성은 로그 및 지수연산을 위한 독립된 지수로그 연산처리부와; 절대값의 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부를 포함하는 것을 특징으로 한다.The present invention is MPEG- The present invention relates to the design of arithmetic processing unit (ALU), which is the core of designing a dedicated DSP core for implementing an audio encoder as an ASIC. Unlike general arithmetic processing unit, MPEG- In order to be applied to an audio encoder, the arithmetic processing unit of the present invention can perform real-time processing by performing a rapid arithmetic processing, and all numbers are represented in two's complement form. In addition, logarithmic and exponential calculations are possible, and a separate module is provided for these calculations. The structure of the calculation processing apparatus according to the present invention comprises an independent exponential log calculation processing unit for logarithmic and exponential calculation; It includes MIN, MAX operation processing unit for finding the maximum value and the minimum value of the absolute value.

Description

MPEG-2 오디오 부호화기를 위한 연산처리장치Processing unit for MPEG-2 audio encoder

MPEG-는 HDTV, DVD 등 차세대 디지탈 영상매체에 채용되는 압축알고리즘으로 이는 화상, 음성의 코딩을 포함한다. 본 발명은 이 압축알고리즘의 구성중 음성 압축알고리즘의 구현에 관한 것이다. 종래의 범용 DSP(Digital Signal Processor)에 기반을 둔 장치는 MPEG-의 알고리즘에 적확하지 못한 관계로 실시간 구현에 어려움이 있었다.MPEG- Is a compression algorithm employed in the next generation of digital video media such as HDTV and DVD, which includes coding of image and audio. The present invention relates to the implementation of a speech compression algorithm in the construction of this compression algorithm. The device based on the conventional general-purpose digital signal processor (DSP) is MPEG- There was a difficulty in real-time implementation due to inaccurate relationship with the algorithm.

본 발명은 이러한 MPEG-오디오 부호화를 위한 전용의 DSP에 적합한 연산처리장치의 구조에 관한 것이다. 좀 더 구체적으로는 단일의 DSP 코아를 이용하여 복수의 채널을 지원하는 MPEG-오디오 코딩을 실시간에 지원하기 위하여 필요한 산술논리연산을 고속으로 수행할 수 있는 구조를 제시하는 것이다.The present invention is such MPEG- A structure of an arithmetic processing unit suitable for a dedicated DSP for audio encoding. More specifically, MPEG- supports multiple channels using a single DSP core. It is to propose a structure that can perform arithmetic logic operation required to support audio coding in real time at high speed.

MPEG-오디오 부호화 과정은 분석 필터, 1024 포인트 FFT(Fast Fourier Transform)를 포함한 심리 음향 모델, 비트할당과정, 양자화, 다채널 처리, 비트열 형성의 다양한 종류의 작업으로 구성되어 있으며, 5개의 입력 채널에 대하여 이러한 과정을 모두 적용해야 하기 때문에 많은 연산량으로 인하여 실시간 구현에 어려움이 있다.MPEG- The audio encoding process consists of analytical filters, psychoacoustic models including a 1024-point fast fourier transform (FFT), bit assignment, quantization, multichannel processing, and bitstream formation. Since all of these processes must be applied, there is a difficulty in real-time implementation due to a large amount of computation.

제1도는 본 발명이 적용되는 연산처리장치의 전체적인 구성도이다.1 is an overall configuration diagram of an arithmetic processing apparatus to which the present invention is applied.

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

1 : ALU 2 : 곱셈기1: ALU 2: Multiplier

3 : 지수연산부 4 : 로그연산부3: exponential operation unit 4: logarithmic operation unit

5 : 누산레지스터 6 : 곱셈레지스터5: Accumulation register 6: Multiplication register

7 : 시프터 8 : 출력멀티플렉서7: shifter 8: output multiplexer

9 : 덧셈기9: adder

21, 22, 23, 24, 25, 26, 27, 28, 29, 30 : 멀티플렉서Multiplexer: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30

상기 목적을 달성하기 위한 본 발명에 따른 연산처리장치의 구성은Configuration of the processing unit according to the present invention for achieving the above object is

로그 및 지수연산을 위한 독립된 지수로그 연산처리부(2, 3, 4, 6, 28, 29, 30)와;Independent exponential log arithmetic units 2, 3, 4, 6, 28, 29, and 30 for logarithmic and exponential operations;

절대값의 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부(1, 5, 7, 26, 27)를 포함하는 것을 특징으로 한다.And MIN and MAX arithmetic processing units 1, 5, 7, 26, and 27 for finding the maximum and minimum values of absolute values.

또한 상기 MIN, MAX 연산처리부는In addition, the MIN, MAX operation processing unit

일반적인 산술논리연산을 수행하는 ALU(1)와;ALU (1) for performing general arithmetic logic operations;

상기 ALU의 출력에 접속되는 누산레지스터(5)와;An accumulation register 5 connected to the output of the ALU;

메모리 혹은 레지스터, 혹은 곱셈기출력으로부터 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(27)와;A multiplexer 27 for selecting an input from a memory, a register, or a multiplier output and supplying the input to the ALU;

레지스터 혹은 누산레지스터(5)로부터의 피드백 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(26)를 포함하는 것을 특징으로 한다.And a multiplexer 26 which selects the feedback input from the register or accumulator register 5 and supplies it to the ALU.

또한 상기 지수, 로그 연산처리부는In addition, the exponent, log operation processing unit

메모리 혹은 레지스터로부터의 입력을 곱셈하는 곱셈기(2)와;A multiplier 2 for multiplying inputs from a memory or register;

상기 곱셈기의 출력을 지수연산하는 지수연산부(3)와;An exponential operator (3) for exponentially calculating the output of the multiplier;

메모리, 지수연산부출력, 누산레지스터 출력중 선택하는 제1멀티플렉서(28)와; 상기 제1멀티플렉서(28)의 출력을 저장하는 곱셈레지스터(6)와; 상기 곱셈레지스터(6)의 출력을 32비트 메모리로 출력하는 제2멀티플렉서(30)와;A first multiplexer 28 for selecting among a memory, an exponential operation output, and an accumulation register output; A multiplication register (6) for storing the output of said first multiplexer (28); A second multiplexer (30) for outputting the output of the multiplication register (6) to a 32-bit memory;

상기 곱셈레지스터(6)의 출력, 누산레지스터의 출력, 32비트 메모리로부터의 데이터를 선택하는 제3멀티플렉서(29)와;A third multiplexer (29) for selecting the output of the multiplication register (6), the output of the accumulate register, and data from a 32-bit memory;

상기 제3멀티플렉서의 출력을 로그 연산하는 로그연산부(4)를 포함하는 것을 특징으로 한다.And a log operation unit 4 for log operation of the output of the third multiplexer.

본 발명은 일반적인 연산처리장치와는 달리 MPEG-오디오 부호화기에 적용하기 위하여 본 발명의 연산처리장치(ALU : Arithmetic and Logic Unit)는 빠른 연산 처리를 하여 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 음수를 표현할 수 있다. 또한, 로그(log)및 지수 연산이 가능하며, 이때 사용되는 로그 연산은 96dB의 정밀도를 위하여 32비트 연산을 한다. 지수 연산은 다음에 다시 로그 연산을 해야 하므로 16비트를 입력으로 하여 32 비트 결과를 출력한다.The present invention, unlike the general operation processing device MPEG- The Arithmetic and Logic Unit (ALU) of the present invention can be applied to an audio coder to perform real time processing by performing arithmetic processing, and all numbers can express negative numbers in a two's complement format. In addition, log and exponential operations are possible, and the log operation used here is a 32-bit operation for 96dB precision. Since exponential operation requires log operation again, 16-bit input produces 32-bit result.

다음은 분석 필터링(Analysis Filtering) 및 FFT(Fast Fourier Transform) 된 신호가 MPEG-오디오 비트 스트림(Bit Stream)이 되는 과정과 각각의 과정에서 필요한 중요 연산을 통하여 연산처리부가 수행해야할 기본적인 연산을 살펴본다.Next, the signal filtered by Analysis Filtering and Fast Fourier Transform (FFT) is MPEG- The basic operation to be performed by the operation processor is described through the process of becoming an audio bit stream and the important operations required in each process.

과정 1. 분석 필터로부터 계산된 서브밴드(subband)신호 12개에 대하여 스케일 요소(Scale FQctor)를 구한다.Procedure 1. The scale factor (Scale FQctor) is calculated for 12 subband signals calculated from the analysis filter.

최대, 최소값 찾는 테이블 탐색(table search) 연산 Table search operation to find the maximum and minimum values

과정 2. 각 서브밴드의 스케일 요소 3개에 대해 스케일 요소 선택정보(scale factor select information)을 구한다.Step 2. Obtain scale factor select information for three scale elements of each subband.

두 값의 비교 Comparison of two values

과정 3. 스케일 요소를 이용하여 서브밴드 샘플을 정규화한다.Step 3. Normalize the subband samples using the scale factor.

나눗셈 Division

과정 4. 심리 음향(Psycho-acoustic) 모델을 이용하여 신호대 마스크 비(SMR : signal to Mask Ration)를 구한다.Step 4. Obtain a signal to mask ratio (SMR) using a psycho-acoustic model.

과정 4-1. FFT 계산 결과인 512 샘플에 대해 데시벨(Decibel)값을 계산한다.Course 4-1. Decibel values are calculated for the 512 samples that result from the FFT calculation.

로그(log)연산 Log operation

과정 4-2. 음압 레벨(Sound Pressure Level)을 계산한다.Course 4-2. Calculate Sound Pressure Level.

곱셈 및 누산(Multiply and Accumulation)연산 Multiply and Accumulation Operations

과정 4-3. 순음(Tonal)성분을 찾는다.Course 4-3. Find the Tonal component.

두 값의 비교 연산 Comparison operation of two values

과정 4-4. 잡음(Nontonal)성분을 찾는다.Course 4-4. Find the noise component.

누산 연산, 로그(log)연산 Accumulation operation, log operation

과정 4-5. 순음 성분에 대해 추림(Decimation)연산을 한다.Course 4-5. Decimation is performed on the pure sound components.

덧셈과 뺄셈 Addition and subtraction

과정 4-6. 전체 마스킹 임계값(Global Masking Threshold)를 구한다.Course 4-6. Get the Global Masking Threshold.

로그, 지수 연산 Logarithmic, Exponential Arithmetic

과정 4-7. 최소 마스킹 임계값(Minimum Masking Threshold)를 구한다.Course 4-7. Find the Minimum Masking Threshold.

최소값 찾는 연산 Min find operation

과정 4-8. 신호대 마스크 비(SMR)을 구한다.Course 4-8. Obtain the signal-to-mask ratio (SMR).

뺄셈 subtraction

과정 5. 신호대 마스크 비 값을 이용하여 비트 할당을 한다.Step 5. Assign bits using the signal-to-mask ratio value.

비교 연산 및 뺄셈 Comparison Operations and Subtraction

과정 6. 정규화Course 6. Normalization

곱셈, 덧셈 Multiplication, addition

과정 7. 비트 패킹(Bit Packing)Process 7. Bit Packing

이상과 같이 DSP코아가 수행해야 하는 연산을 종합하면 덧셈, 뺄셈, 곱셈, 나눗셈, MAC(Multiply and Accumulation), 누산(Accumulation), 로그(log), 지수 연산, 비교 연산, 최대값과 최소값 찾는 연산, 테이블 탐색 등이 있다. 여기서 ASIC으로 구현하기 용이한 연산이 덧셈, 뺄셈, 곱셈은 기본적으로 갖추고 이들을 활용하여 나머지 연산을 행할 것인지 각각의 모듈을 둘 것인지를 결정해야 하며, MPEG-알고리즘을 구현하기 위해 본 발명의 연산처리장치에서 처리하는 구체적인 연산은 다음과 같다.To sum up the operations that DSP Core must perform, add, subtract, multiply, divide, multiply and accumulate, accumulate, log, exponential, compare, and find the maximum and minimum values. , Table search, etc. Here, add, subtract, and multiply operations that are easy to implement in ASIC are basically provided, and they should be used to decide whether to perform the remaining operations or to place each module. Specific operations processed by the arithmetic processing unit of the present invention to implement an algorithm are as follows.

1. 나눗셈은 정규화과정에서만 사용하는데, 정규화과정에서의 나눗셈은 모든 수에 대해 나눗셈을 행하는 것이 아니라 유한한 경우의 수를 가지는 스케일 요소(scale factor)로 나누는 과정이다. 따라서, 이의 역수를 미리 구해 ROM에 저장해 놓고 이를 곱함으로서 간단히 해결가능하다.1. Division is used only in the normalization process. Division in the normalization process is not a division process for all numbers, but a division into a scale factor having a finite number of cases. Therefore, the reciprocal of this can be solved simply by obtaining it in advance and storing it in ROM and multiplying it.

2. 누산기는 덧셈기를 하나 두고 한 개의 레지스터를 지정하고 이의 출력 값을 덧셈기에 연결하고 레지스터의 입력 값을 덧셈기의 출력으로 하면 쉽게 구현할 수 있다.2. An accumulator can be easily implemented with one adder, specifying one register, connecting its output value to the adder, and using the register's input value as the adder's output.

3. MAC는 곱셈기를 상단에 배치하고 이의 출력을 위의 누산기의 입력으로 하면 또한 쉽게 구현 가능하다.3. MAC can also be easily implemented by placing the multiplier on top and using its output as the input of the accumulator.

4. 비교 연산은 뺄셈을 행하되 그 결과를 다시 저장하지 않고 그 결과의 값을 조사하여 어느것이 큰지를 판별하면 된다.4. The comparison operation is to subtract, but without storing the result again, examine the value of the result to determine which one is large.

5. 최대값(최소값)을 찾는 연산은 뺄셈은 행하되 그 중 큰 값(혹은 작은 값)을 선택하여 그 값을 저장하도록 하면 된다.5. To find the maximum value (minimum value), subtract, but select a larger value (or smaller value) and store the value.

6. 로그 연산과 지수 연산이 있는데 이를 구현하는 방법은 여러가지가 있을 수 있으나 MPEG 오디오 부호화기를 구현하는데 있어서 실시간 처리의 성패를 좌우할 만큼 많은 횟수가 사용된다. 따라서 이들의 연산은 가급적이면 적은 싸이클(cycle) 수를 소요하는 것이 최우선 목표가 되어야 한다. 여기서는 이들의 연산을 위하여 별도의 모듈을 두었다. 따라서, 한 싸이클에 계산이 다 이루어 진다. 이로 인해 실시간에 위의 과정이 모두 가능하게 되었다.6. There are logarithmic and exponential operations, but there are many ways to implement them. However, many times are used to implement the MPEG audio coder to determine the success or failure of real-time processing. Therefore, their operation should be the first priority to use as few cycles as possible. Here we have a separate module for these operations. Thus, the calculation is done in one cycle. This makes all of the above possible in real time.

7. 테이블 탐색 연산은 별도의 어드레스 발생 유닛이 병렬로 수행하도록 한다.7. The table search operation causes separate address generation units to execute in parallel.

8. 스케일 요소의 계산을 위해 최대, 최소값을 이끌어 낸후 이를 절대값을 취해야 한다. 따라서 절대값을 구하는 연산이 요구된다.8. For the calculation of the scale factor, the maximum and minimum values must be derived and the absolute value taken. Therefore, the operation to find the absolute value is required.

9. 분석 필터와 FFT 부의 제어를 위한 제어워드(control word)의 생성, 판독을 위해 각종의 논리연산이 요구된다.9. Various logic operations are required for generation and reading of control words for controlling the analysis filter and the FFT unit.

이와 같은 사항을 고려하여 표1과 같은 명령어 조합(set)을 구성한다. 표1에서 AND, OR, XOR, NOT는 단순한 논리연산이며 ADD, SUB, MULT는 간단한 산술연산이다. ABS 명령어는 피연산자(operand)의 부호가 '0'이면 통과(by-pass)시키고 '1'이면 반전연산(Not)하여 덧셈기에 연결하고 덧셈기 다른 입력은 '1'로 고정(set)하여 2의 보수를 구한다. MIN, MAX는 스케일 요소를 구하기 위해 사용되므로 절대값을 비교하여 최대(또는 최소)값을 이끌어내야 한다. 이를 위해서는 비교하려는 두 값의 각각 절대값을 취한 후 이를 비교 명령을 사용하여 비교하고 큰 값(작은값)으로 갱신하는 방법을 쓸 수 있다. 그러나 이렇게 구현하는 경우 적어도 4개의 명령어를 사용해야 하므로 스케일 요소를 구하는데 있어서 상당한 시간이 소요된다. 실시간 구현이 가장 큰 목적이므로 이를 단일 명령어 즉, 1 싸이클에 수행하기 위해서 다음의 방법이 사용된다. 여기서는 최대값을 구하는 경우를 설명하고, 최소값을 구하는 경우는 각각의 연산을 반대의 값을 취하면 된다.Considering the above, the command set as shown in Table 1 is composed. In Table 1, AND, OR, XOR, and NOT are simple logical operations, and ADD, SUB, and MULT are simple arithmetic operations. The ABS instruction connects to the adder if the operand sign is '0' by 'pass' and if '1' is not, it is connected to the adder and the other input of the adder is set to '1'. Seek pay. Since MIN and MAX are used to find the scale factor, the absolute value must be compared to derive the maximum (or minimum) value. To do this, you can take an absolute value of each of the two values you want to compare, compare them using the compare command, and update them to a larger value (smaller value). However, this implementation requires at least four instructions, which can take considerable time to find the scale factor. Since the real-time implementation is the biggest objective, the following method is used to perform it in a single instruction, that is, one cycle. Here, the case where the maximum value is obtained will be described. For the case where the minimum value is obtained, each operation may be reversed.

(1) X 피연산자의 부호 비트가 '0', 즉 양수이고 Y 피연산자의 부호 비트도 '0', 즉 양수인 경우 : 두 값을 뺀 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 유지하고 부호비트가 '1' 즉 음수의 경우는 X를 Y로 갱신한다.(1) If the sign bit of the X operand is '0', that is positive, and the sign bit of the Y operand is also '0', that is, positive: If the sign is '0', that is, positive after subtracting two values and examining the sign of the result Keep X and update X to Y if sign bit is '1'.

(2) X 피연산자의 부호 비트가 '0', 즉 양수이고 Y 피연산자의 부호 비트가 '1', 즉 음수인 경우 : 두 값을 더한 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 유지하고 부호비트가 '1' 즉 음수의 경우는 X를 Y로 갱신한다.(2) If the sign bit of the X operand is '0', that is positive, and the sign bit of the Y operand is '1', that is, negative: add the two values and examine the sign of the result, the sign is '0', that is, positive If X is maintained, X is updated to Y if the sign bit is '1'.

(3) X 피연산자의 부호 비트가 '1', 즉 음수이고 Y 피연산자의 부호 비트는 '0', 즉 양수인 경우 : 두 값을 더한 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 Y로 갱신하고 부호비트가 '1' 즉 음수의 경우는 X를 유지한다.(3) If the sign bit of the X operand is '1', that is negative and the sign bit of the Y operand is '0', that is, positive: If the sign is '0', that is, positive after adding two values and examining the sign of the result Update X to Y and keep X if the sign bit is '1'.

(4) X 피연산자의 부호 비트가 '1', 즉 음수이고 Y 피연산자의 부호 비트도 '1', 즉 음수인 경우 : 두 값을 뺀 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 Y로 갱신하고 부호비트가 '1' 즉 음수의 경우는 X를 유지한다.(4) If the sign bit of the X operand is '1', that is negative and the sign bit of the Y operand is also '1', that is, negative: The sign is '0', that is, positive, after subtracting two values and examining the sign of the result. If it is, X is updated to Y, and if the bit is '1', that is, it is maintained as X.

이러한 연산을 통해 절대값이 큰 값이 X에 남게 된다. 비교 대상이 되는 모든 값에 대해 이를 행하고 마지막에 ABS를 실행하면 최대 절대값이 X에 저장된다. 즉, X의 부호와 Y의 부호가 다른 경우 뺄셈을 행하도록 제어신호를 만들고 X의 부호와 결과의 부호가 같으면 X를 유지하도록 하고 그렇지 않은 경우는 Y로 갱신된다. 여기서 MIN 명령어인 경우는 X의 부호와 결과의 부호가 같고 MAX이거나 X의 부호와 결과의 부호가 다르고 MIN 인 경우 X를 유지하며 그렇지 않으면 Y로 갱신된다.This operation leaves a large value in X. If you do this for all the values you want to compare and run ABS last, the maximum absolute value is stored in X. That is, if the sign of X and the sign of Y are different, a control signal is made to perform subtraction. If the sign of X and the sign of the result are the same, X is maintained, otherwise it is updated to Y. In the case of MIN instruction, the sign of X is the same as the sign of result and is MAX or the sign of X is different from the sign of result and if MIN is maintained, X is maintained. Otherwise, it is updated to Y.

제1도는 이를 적용하여 구현한 일실시예를 도시한다. ALU(1)은 논리 연산 및 덧셈, 뺄셈, 절대값, 최대, 최소값 연산을 위한 연산장치이며, 곱셈기(2) 및 지수연산부(3), 로그 연산부(4) 등은 MULT, MAC, LOG, PWR 연산을 위한 구성이다. 다수의 멀티플렉서는 입력데이터경로를 선택하거나, 혹은 출력데이터를 선택하기도 한다.Figure 1 shows an embodiment implemented by applying this. ALU (1) is an arithmetic unit for logical operation, addition, subtraction, absolute value, maximum, minimum value operation, and multiplier (2), exponent operation unit (3), logarithm operation unit (4), MULT, MAC, LOG, PWR This is the configuration for operation. Many multiplexers choose either the input data path or the output data.

MIN, MAX 연산처리부는 일반적인 산술논리연산을 수행하는 ALU(1)와; 상기 ALU의 출력에 접속되는 누산레지스터(5)와; 메모리 혹은 레지스터, 혹은 곱셈기 출력으로부터 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(27)와; 레지스터 혹은 누산레지스터(5)로부터의 피드백 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(26)로 구성된다.MIN and MAX arithmetic processing unit ALU (1) for performing general arithmetic logic operation; An accumulation register 5 connected to the output of the ALU; A multiplexer (27) which selects an input from a memory, a register or a multiplier output and supplies it to the ALU; It consists of a multiplexer 26 which selects the feedback input from the register or accumulator register 5 and supplies it to the ALU.

또한 상기 지수, 로그 연산처리부는 메모리 혹은 레지스터로부터의 입력을 곱셈하는 곱셈기(2)와; 상기 곱셈기의 출력을 지수연산하는 지수연산부(3)와; 메모리, 지수연산부출력, 누산레지스터 출력중 선택하는 제1멀티플렉서(28)와; 상기 제1멀티플렉서(28)의 출력을 저장하는 곱셈레지스터(6)와; 상기 곱셈레지스터(6)의 출력을 32비트 메모리로 출력하는 제2멀티플렉서(30)와; 상기 곱셈레지스터(6)의 출력, 누산레지스터의 출력, 32비트 메모리로부터의 데이터를 선택하는 제3멀티플렉서(29)와; 상기 제3멀티플렉서의 출력을 로그 연산하는 로그연산부(4)로 구성된다.In addition, the exponent, log operation processing unit and a multiplier (2) for multiplying the input from the memory or register; An exponential operator (3) for exponentially calculating the output of the multiplier; A first multiplexer 28 for selecting among a memory, an exponential operation output, and an accumulation register output; A multiplication register (6) for storing the output of said first multiplexer (28); A second multiplexer (30) for outputting the output of the multiplication register (6) to a 32-bit memory; A third multiplexer (29) for selecting the output of the multiplication register (6), the output of the accumulate register, and data from a 32-bit memory; And a logarithm calculation unit 4 for logarithmically calculating the output of the third multiplexer.

MAC명령은 곱셈기(2)의 연산결과가 8비트 오른쪽 시프트되거나, 혹은 그대로 멀티플렉서(27)을 거쳐 ALU(1)에서 누산레지스터(5)에 누산된 결과값이 멀티플렉서(26)을 거쳐 피드백된 값과 가산연산되어 다시 누산레지스터(5)에 저장됨에 의해 구현된다. 지수연산부(3)의 연산결과는 곱셈레지스터(6)에 저장되었다가 멀티플렉서(30)을 통해 32비트 메모리로 출력된다. 또한 32비트 메모리로부터의 데이터는 멀티플렉서(28)을 통해 입력되어 곱셈레지스터(6)에 저장되었다가 로그연산부(4)에서 연산되어 출력멀티플렉서(8)을 통해 출력된다. MIN, MAX 연산은 전술한 알고리즘에 의해 ALU(1)과 누산레지스터(5)를 통해 구현된다.The MAC instruction is a value in which the operation result of the multiplier 2 is 8-bit right shifted, or the result value accumulated from the ALU 1 to the accumulation register 5 via the multiplexer 27 is fed back through the multiplexer 26. And is added and stored in the accumulation register 5 again. The operation result of the exponential operator 3 is stored in the multiplication register 6 and output to the 32-bit memory through the multiplexer 30. In addition, data from the 32-bit memory is input through the multiplexer 28, stored in the multiplication register 6, calculated by the logarithm calculation unit 4 and output through the output multiplexer 8. MIN and MAX operations are implemented through the ALU 1 and the accumulator register 5 by the algorithm described above.

본 발명은 일반적인 연산처리부와는 달리 MPEG-오디오 부호화기에 적용하기 위하여 고속처리에 중점을 둔 설계로 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 표현된다. 또한, 로그 및 지수 연산이 가능하며, 이들의 연산을 위하여 별도의 모듈을 두어 한 싸이클에 계산이 모두 이루어 진다. 또한 최대, 최소값 연산 등 MPEG-연산에 특유하게 빈발하게 사용되는 연산을 1 싸이클 명령으로 설계하여 복잡한 부호화기의 알고리즘을 실시간에 구현할 수 있는 효과가 있다.The present invention, unlike the general operation processing unit MPEG- It is designed for high speed processing to be applied to audio encoder, and real time processing is possible, and all numbers are expressed in two's complement form. In addition, logarithmic and exponential calculations are possible, and a separate module is provided for these calculations. Also, MPEG-M such as maximum and minimum calculation It is possible to implement algorithms of complex encoders in real time by designing operations that are frequently used for operations with one cycle instruction.

아울러 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.In addition, a preferred embodiment of the present invention is disclosed for the purpose of illustration, those skilled in the art will be able to make various modifications, changes, additions, etc. within the spirit and scope of the present invention, such modifications and modifications belong to the following claims You will have to look.

본 발명은 MPEG-오디오 부호화기를 ASIC으로 구현하기 위해 DSP 코아(Core)를 설계하는데 있어서 가장 핵심이라 할 수 있는 연산처리장치에 관한것이다.The present invention is MPEG- It is about the processing processor which is the core in designing DSP core to implement audio encoder as ASIC.

본 발명의 목적은 실시간으로 MPEG-오디오 압축을 수행하는데 적합한 전용의 DSP에 채용되는 연산처리장치를 제시하는 것이다.The object of the present invention is to The present invention proposes a computational processing apparatus employed in a dedicated DSP suitable for performing audio compression.

또한 본 발명의 목적은 단일의 전용 DSP로 실시간으로 MPEG-오디오 압축을 수행하는데 적합한 전용의 DSP에 채용되는 연산처리장치를 제시하는 것이다.It is also an object of the present invention to realize MPEG- in real time with a single dedicated DSP. The present invention proposes a computational processing apparatus employed in a dedicated DSP suitable for performing audio compression.

Claims (3)

MPEG-오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리장치에 있어서; 상기 연산처리장치는 : 로그 및 지수연산을 위한 독립된 지수로그 연산처리부와; 절대값이 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부를 포함하는 것을 특징으로하는 연산처리장치.MPEG- An arithmetic processing apparatus employed in a dedicated DSP core for an audio coding apparatus; The arithmetic processing unit includes: an independent exponential log arithmetic processing unit for logarithmic and exponential operations; And a MIN and MAX arithmetic processing unit for finding an absolute value and a maximum value and a minimum value. 제1항에 있어서, 상기 MIN, MAX 연산처리부는 일반적인 산술논리연산을 수행하는 ALU와; 상기 ALU의 출력에 접속되는 누산레지스터와; 메모리 혹은 레지스터, 혹은 곱셈기출력으로부터 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서와; 레지스터 혹은 누산레지스터로부터의 피드백 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서를 포함하는 것을 특징으로하는 MPEG-오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리장치.The MIN and MAX processing unit of claim 1, further comprising: an ALU performing general arithmetic logic; An accumulation register connected to the output of the ALU; A multiplexer that selects an input from a memory, register, or multiplier output and supplies the input to the ALU; And a multiplexer which selects a feedback input from a register or an accumulator and supplies it to the ALU. An arithmetic processing unit employed in a dedicated DSP core for an audio coding apparatus. 제1항에 있어서, 상기 지수, 로그 연산처리부는 메모리 혹은 레지스터로부터의 입력을 곱셈하는 곱셈기와; 상기 곱셈기의 출력을 지수연산하는 지수연산부와; 메모리, 지수연산부출력, 누산레지스터 출력중 선택하는 제1멀티플렉서와; 상기 제1멀티플렉서의 출력을 저장하는 곱셈레지스터와; 상기 곱셈레지스터의 출력을 32비트 메모리로 출력하는 제2멀티플렉서와; 상기 곱셈레지스터의 출력, 누산레지스터의 출력, 32비트 메모리로부터의 데이터를 선택하는 제3멀티플렉서와; 상기 제3멀티플렉서의 출력을 로그 연산하는 로그연산부를 포함하는 것을 특징으로 하는 MPEG-오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리장치.2. The apparatus of claim 1, wherein the exponential and logarithmic processing unit comprises: a multiplier for multiplying inputs from a memory or a register; An exponential operator for exponentially calculating the output of the multiplier; A first multiplexer for selecting among a memory, an exponential operation output, and an accumulation register output; A multiplication register for storing an output of the first multiplexer; A second multiplexer for outputting the output of the multiplication register to a 32-bit memory; A third multiplexer for selecting the output of the multiplication register, the output of the accumulate register, and data from a 32-bit memory; And a logarithm calculation unit configured to log operation of the output of the third multiplexer. An arithmetic processing unit employed in a dedicated DSP core for an audio coding apparatus.
KR1019960080020A 1996-12-31 1996-12-31 Operation process apparatus for mpeg-2 audio coder KR100202309B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960080020A KR100202309B1 (en) 1996-12-31 1996-12-31 Operation process apparatus for mpeg-2 audio coder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960080020A KR100202309B1 (en) 1996-12-31 1996-12-31 Operation process apparatus for mpeg-2 audio coder

Publications (2)

Publication Number Publication Date
KR19980060657A KR19980060657A (en) 1998-10-07
KR100202309B1 true KR100202309B1 (en) 1999-06-15

Family

ID=19493373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960080020A KR100202309B1 (en) 1996-12-31 1996-12-31 Operation process apparatus for mpeg-2 audio coder

Country Status (1)

Country Link
KR (1) KR100202309B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101462157B1 (en) * 2009-12-18 2014-11-20 한국전자통신연구원 Arithmetic apparatus including multiplication and accumulation and DSP structure and filtering method using the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020095930A (en) * 2001-06-18 2002-12-28 엘지이노텍 주식회사 Maxium, minium and decetor of final value

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101462157B1 (en) * 2009-12-18 2014-11-20 한국전자통신연구원 Arithmetic apparatus including multiplication and accumulation and DSP structure and filtering method using the same

Also Published As

Publication number Publication date
KR19980060657A (en) 1998-10-07

Similar Documents

Publication Publication Date Title
KR100778349B1 (en) Device and method for processing a signal with a sequence of discrete values
JPH0697837A (en) Digital signal decoding device
JP2009513993A (en) APPARATUS AND METHOD FOR CONVERTING CONVERSION REPRESENTATION OR INVERTING CONVERSION REPRESENTATION
CA2590509C (en) Method for producing a representation of a calculation result that is linearly dependent on the square of a value
KR100771401B1 (en) Computing circuits and method for running an mpeg-2 aac or mpeg-4 aac audio decoding algorithm on programmable processors
US8200730B2 (en) Computing circuits and method for running an MPEG-2 AAC or MPEG-4 AAC audio decoding algorithm on programmable processors
KR19990022068A (en) Computer system and method for processing a set of data elements with a sequential processor
KR100202309B1 (en) Operation process apparatus for mpeg-2 audio coder
EP1080583A1 (en) Method and apparatus for decoding an audio signal
JP3190204B2 (en) MPEG standard audio signal decoder
JPH11212768A (en) Logarithmic value calculation circuit
US6032081A (en) Dematrixing processor for MPEG-2 multichannel audio decoder
US6775587B1 (en) Method of encoding frequency coefficients in an AC-3 encoder
KR0147758B1 (en) Synthesis filter of mpeg-2 audio decoder
CN114174982A (en) Calculation unit, method and computer program for multiplication
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
KR0144257B1 (en) Analysis subband filter
Saambhavi et al. Design of feature extraction circuit for speech recognition applications
KR970011723B1 (en) A circuit for detecting tonal components in a digital audio encoder
Lukac et al. Analysis of some methods For maintaining accuracy in implementation of FFT on fixed point DSP
Ku et al. A design on the vector-processor of MDCT/IMDCT algorithm for digital audio
JP4165424B2 (en) Digital audio signal compression apparatus and compression method
KR20060088689A (en) Arithmetic and logic unit
Abel et al. Implementation of a high-quality Dolby Digital decoder using MMX/sup TM/technology
Viklund Performance Evaluation of Digital Signa lProcessing Architectures Running an Acoustic Echo Cancellation Software

Legal Events

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

Payment date: 20130305

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20140304

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20150304

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee