KR19980060657A - Processing unit for MPEG-2 audio encoder - Google Patents

Processing unit for MPEG-2 audio encoder Download PDF

Info

Publication number
KR19980060657A
KR19980060657A KR1019960080020A KR19960080020A KR19980060657A KR 19980060657 A KR19980060657 A KR 19980060657A KR 1019960080020 A KR1019960080020 A KR 1019960080020A KR 19960080020 A KR19960080020 A KR 19960080020A KR 19980060657 A KR19980060657 A KR 19980060657A
Authority
KR
South Korea
Prior art keywords
output
register
processing unit
multiplexer
exponential
Prior art date
Application number
KR1019960080020A
Other languages
Korean (ko)
Other versions
KR100202309B1 (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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 MPEG-II 오디오 부호화기를 ASIC으로 구현하기 위한 전용의 DSP 코아를 설계하는데 있어서 가장 핵심이라 할 수 있는 연산처리부(ALU)의 설계에 관한 것이다. 일반적인 연산처리부와는 달리 MPEG-II 오디오 부호화기에 적용하기 위하여 본 발명의 연산처리부는 빠른 연산처리를 하여 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 표현된다. 또한, 로그 및 지수 연산이 가능하며, 이들의 연산을 위하여 별도의 모듈을 두어 한 싸이클에 계산이 모두 이루어진다. 본 발명에 따른 연산처리장치의 구성은 로그 및 지수연산을 위한 독립된 지수로그 연산처리부와; 절대값의 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부를 포함하는 것을 특징으로 한다.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 MPEG-II audio encoder as an ASIC. Unlike the general arithmetic processing unit, the arithmetic processing unit of the present invention is capable of fast arithmetic processing in real time to be applied to an MPEG-II audio encoder, and all numbers are represented in two's complement form. In addition, logarithmic and exponential calculations are possible, and calculations are performed in one cycle by putting a separate module 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-II는 HDTV, DVD 등 차세대 디지탈 영상매체에 채용되는 압축알고리즘으로 이는 화상, 음성의 코딩을 포함한다. 본 발명은 이 압축 알고리즘의 구성 중 음성 압축 알고리즘의 구현에 관한 것이다. 종래의 범용 DSP(Digital Signal Processor)에 기반을 둔 장치는 MPEG-II의 알고리즘에 적합하지 못한 관계로 실시간 구현에 어려움이 있었다.MPEG-II is a compression algorithm used in next-generation digital video media such as HDTV and DVD. It includes coding of images and audio. The present invention relates to the implementation of a speech compression algorithm among the construction of this compression algorithm. A device based on a conventional general-purpose digital signal processor (DSP) has difficulty in real-time implementation because it is not suitable for the algorithm of MPEG-II.

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

MPEG-II 오디오 부호화 과정은 분석 필터, 1024 포인트 FFT(Fast Fourier Transform)를 포함한 심리 음향 모델, 비트할당과정, 양자화, 다채널 처리, 비트열 형성의 다양한 종류의 작업으로 구성되어 있으며, 5개의 입력 채널에 대하여 이러한 과정을 모두 적용해야 하기 때문에 많은 연산량으로 인하여 실시간 구현에 어려움이 있다.The MPEG-II audio coding process consists of an analysis filter, a psychoacoustic model including a 1024-point fast fourier transform (FFT), bit assignment, quantization, multichannel processing, and bit sequence formation. Since all of these processes need to be applied to the channel, it is difficult to implement a real time 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.

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

1 : ALU2 : 곱셈기1: ALU2: Multiplier

3 : 지수연산부4 : 로그연산부3: exponential calculation 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

상기 목적을 달성하기 위한 본 발명에 따른 연산처리장치의 구성은 로그 및 지수연산을 위한 독립된 지수로그 연산처리부(2,3,4,6,28,29,30)와; 절대값의 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부(1,5,7,26,27)를 포함하는 것을 특징으로 한다.The structure of the calculation processing apparatus according to the present invention for achieving the above object is an independent exponential log calculation processing unit (2, 3, 4, 6, 28, 29, 30) for logarithmic and exponential operation; 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 연산처리부는 일반적인 산술논리연산을 수행하는 ALU(1)와; 상기 ALU의 출력에 접속되는 누산레지스터(5)와; 메모리 혹은 레지스터, 혹은 곱셈기출력으로부터 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(27)와; 레지스터 혹은 누산레지스터(5)로부터의 피드백 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서(26)를 포함하는 것을 특징으로 한다.In addition, the MIN, MAX arithmetic processing unit ALU (1) for performing arithmetic logic operations in general; An accumulation register 5 connected to the output of the ALU; A multiplexer 27 for selecting an input from a memory, a register, or a multiplier output and supplying the input to the ALU; And 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.

본 발명은 일반적인 연산처리장치와는 달리 MPEG-II 오디오 부호화기에 적용하기 위하여 본 발명의 연산처리장치(ALU : Arithmetic and Logic Unit)는 빠른 연산 처리를 하여 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 음수를 표현할 수 있다. 또한, 로그(log) 및 지수 연산이 가능하며, 이때 사용되는 로그 연산은 96 dB 의 정밀도를 위하여 32비트 연산을 한다. 지수 연산은 다음에 다시 로그 연산을 해야 하므로 16 비트를 입력으로 하여 32 비트 결과를 출력한다.Unlike the general arithmetic processing apparatus, the arithmetic processing unit (ALU: Arithmetic and Logic Unit) of the present invention is capable of fast arithmetic processing in real time to apply to an MPEG-II audio encoder. Negative numbers can be represented in complementary form. In addition, log and exponential operations are possible, and the log operation used here is a 32-bit operation for 96 dB precision. Since exponential operation needs to log operation again next time, it outputs 32 bit result by inputting 16 bit.

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

과정 1. 분석 필터로부터 계산된 서브밴드(subband) 신호 12개에 대하여 스케일 요소(Scale Factor)을 구한다.Procedure 1. The scale factor 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)을 한다.Process 2. Scale factor select information is performed on the 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

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

→ 두 값의 비교 연산→ comparison of two values

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

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

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

→ 덧셈과 뺄셈→ addition and subtraction

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

→ 로그, 지수 연산→ logarithmic, exponential

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

→ 최소값 찾는 연산→ minimum value search

과정 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 operation and subtraction

과정 6. 정규화Course 6. Normalization

→ 곱셈, 덧셈→ multiplication, addition

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

이상과 같이 DSP 코아가 수행해야 하는 연산을 종합하면 덧셈, 뺄셈, 곱셈, 나눗셈, MAC(Multiply and Accumulation), 누산(Accumulation), 로그(log), 지수 연산, 비교 연산, 최대값과 최소값 찾는 연산, 테이블 탐색 등이 있다. 여기서 ASIC 으로 구현하기 용이한 연산인 덧셈, 뺄셈, 곱셈은 기본적으로 갖추고 이들을 활용하여 나머지 연산을 행할 것인지 각각의 모듈을 둘 것인지를 결정해야 하며, MPEG-II 알고리즘을 구현하기 위해 본 발명의 연산처리장치에서 처리하는 구체적인 연산은 다음과 같다.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, addition, subtraction, and multiplication, which are operations that can be easily implemented in ASIC, are basically provided, and they should be used to determine whether to perform the remaining operations or to place each module, and to implement the MPEG-II algorithm. Specific operations processed by the device are as follows.

1. 나눗셈은 정규화 과정에서만 사용하는데, 정규화 과정에서의 나눗셈은 모든 수에 대해 나눗셈을 행하는 것이 아니라 유한한 경우의 수를 가지는 스케일 요소(scale factor)로 나누는 과정이다. 따라서, 이의 역수를 미리 구해 ROM 에 저장해 놓고 이를 곱함으로서 간단히 해결가능하다.1. Division is used only in the normalization process. In the normalization process, division is not a division 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 by placing 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. Subtract the operation that finds the maximum value (minimum value), but select the larger value (or the 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 the absolute value of each of the two values you want to compare, and then update them with a large value (small value) that you compare using the Compare command. 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. 명령어Table 1. Commands

① X 피연산자의 부호 비트가 '0', 즉 양수이고 Y 피연산자의 부호 비트도 '0', 즉 양수인 경우 : 두 값을 뺀 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 유지하고 부호비트가 '1' 즉 음수의 경우는 X를 Y로 갱신한다.① 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: Subtract two values and examine the sign of the result. If the sign bit is '1' or negative, X is updated to Y.

② X 피연산자의 부호 비트가 '0', 즉 양수이고 Y 피연산자의 부호 비트가 '1', 즉 음수인 경우 : 두 값을 더한 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 유지하고 부호비트가 '1' 즉 음수의 경우는 X를 Y로 갱신한다.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: If the sign is '0', i.e. positive, add the two values and examine the sign of the result Is maintained and X is updated to Y if the sign bit is '1'.

③ X 피연산자의 부호 비트가 '1', 즉 음수이고 Y 피연산자의 부호 비트는 '0', 즉 양수인 경우 : 두 값을 더한 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 Y로 갱신하고 부호비트가 '1' 즉 음수의 경우는 X를 유지한다.③ 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: Add two values and examine the sign of the result. If the sign is '0', that is, positive, Update to Y and keep X if sign bit is '1'.

④ X 피연산자의 부호 비트가 '1', 즉 음수이고 Y 피연산자의 부호 비트도 '1', 즉 음수인 경우 : 두 값을 뺀 후 결과의 부호를 조사하여 부호가 '0', 즉 양수이면 X를 Y로 갱신하고 부호비트가 '1' 즉 음수의 경우는 X를 유지한다.④ 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: If the sign is '0', ie positive, after subtracting the two values and examining the sign of the result Is updated to Y and X is maintained if the sign bit is '1'.

이러한 연산을 통해 절대값이 큰 값이 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 the MIN instruction, the sign of X and the sign of the result are the same and MAX or the sign of X and the sign of the result are different. If the sign is MIN, 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 select 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 accumulation register, and the data from the 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-II 오디오 부호화기에 적용하기 위하여 고속처리에 중점을 둔 설계로 실시간 처리가 가능하며, 모든 수는 2의 보수 형식으로 표현된다. 또한, 로그 및 지수 연산이 가능하며, 이들의 연산을 위하여 별도의 모듈을 두어 한 싸이클에 계산이 모두 이루어진다. 또한 최대, 최소값 연산 등 MPEG-II 연산에 특유하게 빈발하게 사용되는 연산을 1 싸이클 명령으로 설계하여 복잡한 부호화기의 알고리즘을 실시간에 구현할 수 있는 효과가 있다.Unlike the general arithmetic processing unit, the present invention is a design focused on high-speed processing in order to be applied to an MPEG-II 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 calculations are performed in one cycle by putting a separate module for these calculations. In addition, it is possible to implement algorithms of complex encoders in real time by designing operations frequently used in MPEG-II operations such as maximum and minimum operations as one cycle instruction.

아룰러 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.The preferred embodiments of the present invention are disclosed for the purpose of illustration, and 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 changes belong to the following claims Should be seen.

본 발명은 MPEG-II 오디오 부호화기기를 ASIC으로 구현하기 위해 DSP 코아(Core)를 설계하는데 있어서 가장 핵심이라 할 수 있는 연산처리장치에 관한 것이다.The present invention relates to an operation processing apparatus that can be said to be the core in designing a DSP core to implement an MPEG-II audio encoding apparatus as an ASIC.

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

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

Claims (3)

MPEG-II 오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리 장치에 있어서; 상기 연산처리치는 :An arithmetic processing apparatus employed in a dedicated DSP core for an MPEG-II audio coding apparatus; The operation processing value is: 로그 및 지수연산을 위한 독립된 지수로그 연산처리부와;Independent exponential log calculation processing unit for logarithmic and exponential operations; 절대값의 최대값과 최소값을 찾기 위한 MIN, MAX 연산처리부를 포함하는 것을 특징으로 하는 연산처리장치.And a MIN and MAX arithmetic processing unit for finding the maximum and minimum values of absolute values. 제 1 항에 있어서,The method of claim 1, 상기 MIN, MAX 연산처리부는The MIN and MAX operation processing unit 일반적인 산술논리연산을 수행하는 ALU와;An ALU performing general arithmetic logic; 상기 ALU의 출력에 접속되는 누산레지스터와;An accumulation register connected to the output of the ALU; 메모리 혹은 레지스터, 혹은 곱셈기 출력으로부터 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서와;A multiplexer that selects an input from a memory, register, or multiplier output and supplies the input to the ALU; 레지스터 혹은 누산레지스터로부터의 피드백 입력을 선택하여 상기 ALU에 공급하는 멀티플렉서를 포함하는 것을 특징으로 하는 MPEG-II 오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리장치.And a multiplexer for selecting a feedback input from a register or an accumulation register and supplying the ALU to the ALU. 제1항에 있어서,The method of claim 1, 상기 지수, 로그 연산처리부는The index and log operation processing unit 메모리 혹은 레지스터로부터의 입력을 곱셈하는 곱셈기와;A multiplier for multiplying inputs from memory or registers; 상기 곱셈기의 출력을 지수연산하는 지수연산부와;An exponential operator for exponentially calculating the output of the multiplier; 메모리, 지수연산부출력, 누산레지스터 출력중 선택하는 제1멀티플렉서와;A first multiplexer for selecting among a memory, an exponential operation output, and an accumulation register output; 상기 제 1 멀티플렉서의 출력을 저장하는 곱셈 레지스터와;A multiplication register for storing an output of the first multiplexer; 상기 곱셈 레지스터의 출력을 32비트 메모리로 출력하는 제 2 멀티플렉서와;A second multiplexer for outputting an output of the multiplication register to a 32-bit memory; 상기 곱셈 레지스터의 출력, 누산레지스터의 출력, 32비트 메모리로부터의 데이터를 선택하는 제 3 멀티플렉서와;A third multiplexer for selecting an output of the multiply register, an output of an accumulator register, and data from a 32-bit memory; 상기 제 3 멀티플렉서의 출력을 로그 연산하는 로그 연산부를 포함하는 것을 특징으로 하는 MPEG-II 오디오 부호화장치를 위한 전용의 DSP 코아에 채용되는 연산처리장치.And a log operation unit for log operation of the output of the third multiplexer.
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 true KR19980060657A (en) 1998-10-07
KR100202309B1 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
KR20020095930A (en) * 2001-06-18 2002-12-28 엘지이노텍 주식회사 Maxium, minium and decetor of final value

Families Citing this family (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

Cited By (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

Also Published As

Publication number Publication date
KR100202309B1 (en) 1999-06-15

Similar Documents

Publication Publication Date Title
Kim et al. A floating-point to fixed-point assembly program translator for the TMS 320C25
JP4398979B2 (en) APPARATUS AND METHOD FOR CONVERTING A CONVERSION REPRESENTATION OR INVERTING A 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
US5892960A (en) Method and computer system for processing a set of data elements on a sequential processor
KR100760976B1 (en) Computing circuits and method for running an mpeg-2 aac or mpeg-4 aac audio decoding algorithm on programmable processors
US6360204B1 (en) Method and apparatus for implementing rounding in decoding an audio signal
KR100202309B1 (en) Operation process apparatus for mpeg-2 audio coder
Lee et al. High quality MPEG-audio layer III algorithm for a 16-bit DSP
Eilert et al. Using low precision floating point numbers to reduce memory cost for MP3 decoding
KR0147758B1 (en) Synthesis filter of mpeg-2 audio decoder
US6775587B1 (en) Method of encoding frequency coefficients in an AC-3 encoder
JPH09167154A (en) Inverter for mpeg-2 multichannel audio decoding device
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
KR100228546B1 (en) Mpeg-2 audio encoding device
Saambhavi et al. Design of feature extraction circuit for speech recognition applications
JP3065067B2 (en) Equally spaced subband analysis filter and synthesis filter for MPEG audio multi-channel processing
Lukac et al. Analysis of some methods For maintaining accuracy in implementation of FFT on fixed point DSP
Thomas et al. An Efficient Implementation of MPEG-2 (BC1) Layer 1 & Layer 2 Stereo Encoder on Pentium-III Platform
KR20060088689A (en) Arithmetic and logic unit
JPS5981762A (en) High-speed fourier conversion processor
Abel et al. Implementation of a high-quality Dolby Digital decoder using MMX/sup TM/technology
KR100281568B1 (en) Masking Threshold Calculation Method in Video Encoder
Hwang et al. Benchmarking DSP Architectures for Low Power Applications
Hwang et al. Benchmarking DSP

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