KR20080049997A - 0.75승 계산 장치 및 방법 - Google Patents

0.75승 계산 장치 및 방법 Download PDF

Info

Publication number
KR20080049997A
KR20080049997A KR1020060120668A KR20060120668A KR20080049997A KR 20080049997 A KR20080049997 A KR 20080049997A KR 1020060120668 A KR1020060120668 A KR 1020060120668A KR 20060120668 A KR20060120668 A KR 20060120668A KR 20080049997 A KR20080049997 A KR 20080049997A
Authority
KR
South Korea
Prior art keywords
input value
power
multiplier
calculating
polynomial
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020060120668A
Other languages
English (en)
Other versions
KR100849317B1 (ko
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 KR1020060120668A priority Critical patent/KR100849317B1/ko
Priority to US11/946,919 priority patent/US20080133634A1/en
Publication of KR20080049997A publication Critical patent/KR20080049997A/ko
Application granted granted Critical
Publication of KR100849317B1 publication Critical patent/KR100849317B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • 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/52Multiplying; Dividing
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 0.75승 계산 방법에 있어서, 입력 값 X의 범위를 미리 설정된 수의 영역으로 미리 분할하며, 입력 값 X의 0.75승을 미리 설정된 근사 다항식으로 표현하여, 각 분할된 영역별로 입력 값 X에 해당하는 근사 다항식의 계수들을 미리 마련하는 과정과, 실제 입력 값 X에 대해 미리 마련된 해당 근사 다항식의 계수들을 확인하며, 해당 근사 다항식을 통해 실제 입력 값 X의 0.75승을 계산하는 과정을 포함함을 특징으로 한다.
0.75승, 양자화, 오디오 코딩

Description

0.75승 계산 장치 및 방법{0.75-POWER COMPUTING APPARATUS AND METHOD}
도 1은 본 발명의 일 실시예에 따른 0.75승 계산 장치의 블록 구성도
도 2는 본 발명의 일 실시예에 따른 0.75승 계산 동작의 흐름도
도 3은 본 발명과 비교를 위한 뉴턴 반복법을 이용한 0.75승 계산 장치의 블록 구성도
도 4는 본 발명과 비교를 위한 뉴턴 반복법을 이용한 0.75승 계산 동작의 계략적인 흐름도
도 5는 도 4 중 21단계의 상세 흐름도
도 6은 일반적인 오디오 인코더의 블록 구성도
도 7은 본 발명의 적용시에 소요되는 산술 연산들의 수를 나타낸 그래프
도 8은 본 발명에 따라 0.75승을 계산하는데 도입되는 에러를 나타낸 그래프
본 발명은 0.75승 계산 장치 및 방법에 관한 것으로, 특히 오디오 신호의 양자화에 유용하게 적용될 수 있는 0.75승 계산 기술에 관한 것이다.
양자화는 그 장점으로 인해, 오디오 코딩시에 양자화를 도입하여 성능을 개선시키고 있다. 오디오 신호를 코딩함에 있어서는, 양자화를 여러 번 실행하므로, 다량의 산술 연산들이 필요하다. 특히 양자화는 주로 0.75승 산술 계산을 포함한다. 이러한 0.75승 산술 계산은 제곱근 또는 역 제곱근 및 역수의 계산을 수행하는 계산 유닛들을 갖지 못하는 디지털 신호 처리기(DSP: Digital Signal Processors)들에 있어서는 부담이 되는 연산이다.
일반적인 오디오 인코더의 블록도가 도 6에 도시되어 있다. 도 6을 참조하면, 필터 뱅크(E1)는 주어진 오디오 신호를 예를 들어 수정된 이산 코사인 변환(MDCT: Modified Discrete Cosine Transform) 등의 방식을 통해 변환하여 변환 신호를 생성한다. 비트율과 마스킹 요건을 모두 동시에 충족시키기 위해, 심리 음향 모델(psycho acoustic model)(E2)은 입력 신호에 대하여 음향 특성을 모방하여 마스킹 특성들을 분석하고, 양자화기(E3)는 상기 심리 음향 모델에 의해 생성된 마스킹 특성들을 이용하여 변환 신호를 양자화한다. 마지막으로 비트 스트림 포맷기(E4)는 비트 스트림을 포맷한다.
여기서는, 양자화가 본 발명의 주제이므로, 다른 기능부들의 세부 사항에 관해서는 그 설명을 생략하기로 한다. MPEG(Moving Picture Expert Group)-1 계층 Ⅲ(MP3)에서는, 양자화기(E3)가 필터 뱅크(E1)로부터 출력되는 변환 신호(X)를 심리 음향 모델(E2)에 의해 얻어진 양자화 정밀도(2qs)를 사용하여 하기 수학식 1에 따라 양자화하고, 그에 따라, X의 양자화된 값 Ⅸ가 얻어지게 된다
Ⅸ = NINT((ABS(X)*2qs)0.75 - 0.0946)
상기 수학식 1에서 ABS(Y)는 Y의 절대치를 구하는 함수이며, NINT(Y)는 Y에 가장 가까운 정수 값을 구하는 함수이다.
상기 수학식 1을 참조하여, 양자화 과정을 살펴보면, 먼저 필터 뱅크로부터 출력되는 변환 신호(X)에 대해 ABS(X)를 구한다. 이어서, ABS(X)를 2qs과 곱하고, 곱한 결과를 0.75승, 즉 (ABS(X)*2qs)0.75을 한다.
양자화기(E3)는 비트율과 양자화 잡음이 모두 소정의 요건을 충족할 때까지 양자화 스텝 사이즈(step size)(qs)를 조정한다. 그에 따라, 오디오 신호를 코딩함에 있어서는, 상기 수학식 1에 따른 계산이 여러 번 실행되고, 그것은 다량의 산술 연산들로 귀결된다. 특히, 각각의 양자화 스텝 사이즈에 대해 식 (ABS(X)*2qs)0.75을 계산하는데 다량의 산술 연산들이 소요된다. 그러한 산술 연산들을 줄이기 위해, 상기 수학식 1에 따른 계산을 하기 수학식 2와 같이 수정한다.
Ⅸ = NINT(((ABS(X)0.75*2(qs*0.75) - 0.0946)
상기 수학식 2에 따르면, ABS(X)와 2qs을 별개로 0.75승하고, 이어서 그 결과들을 곱하여 최종적으로 -0.0946을 더한다. 그처럼, ABS(X)0.75을 단 한 번만 계산 하고, 각각의 양자화 스텝 사이즈에 대해 2(qs*0.75)을 계산하는 경우는 계산하기가 간단하다. 하지만, 상기 수학식 2도 역시 0.75승 계산, 즉 (ABS(X))0.75을 포함하고, 그것은 다량의 산술 연산들로 귀결된다.
본 발명은 DSP, 특히 제곱근 또는 역 제곱근 및 역수에 대한 계산 유닛들을 갖지 못하는 DSP에 대해 0.75승을 효율적으로 계산할 수 있도록 하기 위한 방안을 제안한다.
본 발명은 또한 오디오 코딩 양자화에 적용되기에 바람직한 효율적인 0.75승 계산 방안을 제안한다.
이에 본 발명의 일 견지에 따르면, 본 발명은 0.75승 계산 방법에 있어서, 입력 값 X의 범위를 미리 설정된 수의 영역으로 미리 분할하며, 상기 입력 값 X의 상기 0.75승을 미리 설정된 근사 다항식으로 표현하여, 상기 각 분할된 영역별로 입력 값 X에 해당하는 상기 근사 다항식의 계수들을 미리 마련하는 과정과, 실제 입력 값 X에 대해 상기 미리 마련된 해당 근사 다항식의 계수들을 확인하며, 해당 근사 다항식을 통해 상기 실제 입력 값 X의 0.75승을 계산하는 과정을 포함함을 특징으로 한다.
본 발명의 다른 견지에 따르면, 본 발명은 입력 값 X의 범위를 미리 설정된 수의 영역으로 미리 분할하며, 상기 입력 값 X의 0.75승을 3차 근사 다항식인 A*X3 + B*X2+ C*X + D으로 표현하여, 상기 각 분할된 영역별로 입력 값 X에 해당하는 상기 근사 다항식의 계수들을 미리 저장하는 0.75승 계산 장치에 있어서; 상기 입력 값 X에 따른 상기 계수 A와 입력 값 X간의 곱을 계산하는 제1 곱셈기와; 상기 입력 값 X에 따른 상기 계수 B와 상기 제1 곱셈기로부터의 출력의 합을 계산하는 제1 덧셈기와; 상기 제1 덧셈기로부터의 출력과 상기 입력 값 X간의 곱을 계산하는 제2 곱셈기와; 상기 입력 값 X에 따른 상기 계수 C와 상기 제2 곱셈기로부터의 출력의 합을 계산하는 제2 덧셈기와; 상기 제2 덧셈기로부터의 출력과 상기 입력 값 X간의 곱을 계산하는 제3 곱셈기와; 상기 입력 값 X에 따른 상기 계수 D와 상기 제3 곱셈기로부터의 출력의 합을 계산하는 제3 덧셈기를 포함함을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
본 발명의 설명에서는 크게 다음의 주요 부분을 포함한다.
1. 본 발명에 따른 다항식 근사(polynomial approximation)를 이용한 0.75승 계산
2. 본 발명과 비교를 위한 뉴턴의 근사(Newton's approximation)를 이용한 0.75승 계산
이하, 상기 각 부분별로 본 발명의 구성 및 동작을 상세히 설명하기로 한다.
[1. 다항식 근사를 이용한 0.75승 계산]
먼저, 본 발명에서는 (ABS(X))0.75 = X0.7로 간단히 간주하며, 3차 다항식을 0.75승 계산에 이용한다. 입력 X의 범위는 [0.5 <= X < 1](즉, Q31에서, 0x40000000-0x7FFFFFFF)이다. 본 발명에서는 0.75승 계산에 있어서는, 입력 X의 범위를 허용 에러를 고려하여 적절한 수의 영역, 예를 들어 32영역들로 분할한다. 그리고 각 분할된 영역으로 입력된 X값을 표현한 다항식의 계수들을 미리 마련하게 되는데, 다항식이 3차이므로, 각각의 영역마다 미리 설정된 4개의 계수들(하기 수학식 3의 A, B, C, D), 총 128개의 계수들을 적절히 마련하게 된다. 다항식은 하기 수학식 3과 같이 주어진다.
A*X3 + B*X2+ C*X + D
상기 수학식 3은 5 곱셈들과 3 덧셈들을 포함하고 있으며, 상기 수학식 3을 하기 수학식 4와 같이 보다 단순화시킴으로써 곱셈들의 수를 줄일 수 있다.
(((A*X + B)*X) + C)*X + D
상기 수학식 4는 3 곱셈들과 3 덧셈들을 포함한다. 본 발명에 따라 다항식 근사를 이용하여 0.75승 계산을 위한 상세한 구성들이 도 1 및 도 2에 도시되어 있다. 도 1은 본 발명에 따른 효율적인 0.75승 계산 장치의 구성을 나타낸 블록도이고, 도 2는 그 계산 절차를 나타낸 흐름도이다.
도 1 및 도 2를 참조하면, 본 발명에 따른 0.75승 계산 장치는 입력된 X값(의 범위)에 따른 계수 A와 입력 값 X간의 곱을 계산하는 제1 곱셈기(P1)(도 2의 1단계), 계수 B와 제1 곱셈기(P1)로부터의 출력의 합을 계산하는 제1 덧셈기(P2)(도 2의 2단계), 제1 덧셈기(P2)로부터의 출력과 입력 값 X간의 곱을 계산하는 제2 곱셈기(P3)(도 2의 3단계), 계수 C와 제2 곱셈기(P3)로부터의 출력의 합을 계산하는 제2 덧셈기(P4)(도 2의 4단계), 제2 덧셈기(P4)로부터의 출력과 입력 값 X간의 곱을 계산하는 제3 곱셈기(P5)(도 2의 5단계), 및 계수 D와 제3 곱셈기(P5)로부터의 출력의 합을 계산하는 제3 덧셈기(P6)(도 2의 6단계)를 포함한다.
실제 시스템 연산시에, 상기 계수들 A, B, C, D는 미리 설정되어진다. 일예로서, 입력 X가. 0.7일 경우에는 해당 입력 범위에 미리 설정된 계수들은 각각 A=0.088, B=-0.332, C=1.155, D=0.089 등으로 미리 설정될 수 있다. 본 발명에서 0.75승을 계산하는데 도입되는 최대 에러는 32비트에서 2 LSB(Least Significant Bits)이다. 의사(pseudo) 코드는 아래와 같이 주어진다.
LOAD A, B, C, D
Y = A * X
Y = Y + B
Y = Y * X
Y = Y + C
Y = Y * X
Y = Y + D
곱셈, 덧셈, 시프트(shift), 및 로드(load)를 하는데 필요한 사이클의 수는 DSP마다 다르고, DSP가 곱셈에 2사이클, 덧셈에 1 사이클, 시프트에에 1사이클, 및 로드에 1사이클을 필요로 한다고 가정한다면, 상기 도 2에 도시된 바와 같은 본 발명에 따른 다항식 근사를 이용하여 0.75승을 계산하는데 소요되는 총 사이클은 아래에 주어진 바와 같이 산출될 수 있다.
3*2 + 3 + 4 = 총 13사이클
곱셈과의 병렬 로드에 대한 지원이 가능할 경우에는, 상기 계수들 B, C, D를 읽어들이는 것은 각각 제1 곱셈기(P1), 제2 곱셈기(P3), 제3 곱셈기(P5)와 병렬로 이뤄질 수 있다. 그에 대한 의사 코드는 아래와 같이 주어진다.
LOAD A
Y = A * X ∥ LOAD B
Y = Y + B
Y = Y * X ∥ LOAD C
Y = Y + C
Y = Y * X ∥ LOAD D
Y = Y + D
그 경우, 총 소요 사이클은 아래와 같이 주어진다.
3*2 + 3 + 1 = 총 10사이클
[ 뉴턴 근사를 이용한 0.75승 계산 ]
본 발명과의 비교를 위해 뉴턴 근사를 이용하여 0.75승을 계산하는 상세한 사항들이 도 3, 도 4, 및 도 5에 도시되어 있다. 도 3 내지 도 5에 도시된, 0.75승 계산은 하기 수학식 5를 이용하여 이루어질 수 있다.
X0.75 = X * X-0.25
상기 수학식 5에 포함된 X-0.25는 뉴턴 반복법을 사용하여 계산되고, 이어서 그 출력을 X와 곱하여 최종 출력(X0.75)을 얻게 된다.
뉴턴 반복법을 사용하여 X-0.25을 계산하는 구체적인 구성들이 도 3 내지 도 5에 도시되어 있다. 도 3은 뉴턴의 -0.25승 계산 장치의 구성을 나타낸 블록도이며, 도 5는 그 계산 절차를 나타낸 흐름도이다.
도 3에 제시된 바와 같은 뉴턴의 -0.25승 계산 방법은 해당 X 값에 따라 미리 설정된 초기 추측 값 G의 제곱을 계산하는 제1 곱셈기(N1)(도 5의 31단계), 제1 곱셈기(N1)로부터의 출력의 제곱을 계산하는 제2 곱셈기(N2)(도 5의 32단계), 제2 곱셈기(N2)로부터의 출력과 입력 값 X간의 곱을 계산하는 제3 곱셈기(N3)(도 5의 33단계), 제3 곱셈기(N3)로부터의 출력을 2번(2비트) 오른쪽으로 시프트하는 시프트기(N4)(도 5의 34단계), 상수 5/4에서 시프트기(N4)부터의 출력의 뺄셈을 계산하는 덧셈기(N5)(도 5의 35단계), 및 추측 값 G와 덧셈기(N5)로부터의 출력간의 곱을 계산하는 제4 곱셈기(N6)(도 5의 36단계)를 포함한다. 이때 제4 곱셈기(N6)(도 5의 36단계)로부터의 출력은 다음 반복을 위한 새로운 추측 값이다.
이후 상기 각 기능부들(N1 내지 N6)(도 5의 31단계 ~ 36단계)은 상기 새로운 추측 값을 이용하여 반복 동작한다. 그에 따라, -0.25승, 즉 X-0.25이 계산되고, 이어서 제5 곱셈기(N7)(도 4의 22단계)가 입력 X와 제4 곱셈기(N6)로부터의 출력간의 곱을 계산하여 0.75승 출력을 얻게 된다.
실제 시스템 연산시에, X-0.25을 계산하기 위해 뉴턴 방식에서 사용되는 추측 값들은 미리 설정되어진다. 본 발명에서 0.75승을 계산하는데 도입되는 최대 에러는 32비트에서 2 LSB이다. 의사(pseudo) 코드는 아래와 같이 주어진다.
X-0.25에 대한 의사 코드:
LOAD initial guess value G
i = 0 to 2
Y = G * G
Y = Y * Y
Y = X * Y
Y = Y >> 2
Y = 5/4 - Y
G = G * Y
X0.75에 대한 의사 코드:
Y = X * G
2번의 반복을 갖는 뉴턴 근사를 이용하여 0.75승을 계산하는데 소요되는 총 사이클은 아래에 주어진 바와 같이 산출될 수 있다.
2 * (4*2 + 1 + 1) + 1 = 총 21사이클
상기한 뉴턴 근사를 이용한 0.75승 계산 방법은, 다항식 근사 방법에서 언급된 바와 같이, 입력 X의 범위는 0.5 <= X < 1(즉, Q31에서, 0x40000000-0x7FFFFFFF)이다. -0.25승 계산에 있어서는, 입력 X의 범위가 예를 들어, 64영역들로 분할되고, 각각의 영역마다 1개의 초기 추측 값, 즉 총 64개의 추측 값들이 있게 된다. 이러한 뉴턴 근사를 이용한 방법에서 0.75승을 계산하는데 도입되는 최대 에러는 다항식 근사를 이용하는 방법에서와 동일하고, 추측 값들에 사용되는 테이블 사이즈(table size)는 다항식 근사에 사용되는 사이즈에 비해 반으로 줄어든다. 하지만, 이러한 뉴턴 근사를 이용한 방법은 상기에서와 같이, 본 발명에 따른 효율적 다항식 근사에 비해 38% 내지 50% 이상의 다량의 사이클을 필요로 한다.
오디오 신호를 코딩함에 있어서는 0.75승 계산을 여러 번 실행하므로, 테이블 사이즈보다는 속도가 더 중요할 수 있다. 그럴 경우에, 본 발명의 다항식 근사가 그 성능에 있어 뉴턴의 반복법보다 38% 내지 50% 더 우수하다.
도 7은 본 발명의 적용시에 소요되는 산술 연산들의 수를 나타낸 그래프로서, 뉴턴 근사를 이용한 방법. 다항식 근사를 이용한 방법 및 병렬 로드가 가능한 다항식 근사를 이용한 방법으로 비교하여 나타내었다.
도 8은 본 발명에 따라 0.75승을 계산하는데 도입되는 에러를 나타낸 그래프로서, 뉴턴 근사를 이용한 방식과, 다항식 근사를 이용하여 계산한 방식을 비교하여 나타내었다. 이때에는 비교의 목적으로, 다항식 방법이 X의 범위가 32영역들을 사용하는 것과 마찬가지로 뉴턴의 방법에서도 입력을 32영역들로 샘플링하였다. 도 8을 참조하면, 뉴턴 근사를 이용한 방식에서 에러가 많은 것으로 나타나고 있다.
상기와 같이 본 발명의 일 실시예에 따른 0.75승 계산 장치 및 방법이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 예를 들어 상기의 예에서는 본 발명의 근사 다항식을 3차로 표현한 것으로 설명하였으나, 이외에도 4차 이상의 다항식으로 표현하여 계산할 수도 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명에 따른 0.75승 계산 방식은 0.7승을 계산하는 효율적이고 신속한 방법을 소개한다. 특히 본 발명은 DSP, 특히 제곱근 또는 역 제곱근 및 역수에 대한 계산 유닛들을 갖지 못하는 DSP에 대해 0.75승을 효율적으로 계산할 수 있도록 한다. 예를 들어 본 발명에 따른 다항식 근사 방식은 그 성능에 있어 뉴턴의 반복법보다 38% 내지 50% 더 우수하다.

Claims (4)

  1. 0.75승 계산 방법에 있어서,
    입력 값 X의 범위를 미리 설정된 수의 영역으로 미리 분할하며, 상기 입력 값 X의 상기 0.75승을 미리 설정된 근사 다항식으로 표현하여, 상기 각 분할된 영역별로 입력 값 X에 해당하는 상기 근사 다항식의 계수들을 미리 마련하는 과정과,
    실제 입력 값 X에 대해 상기 미리 마련된 해당 근사 다항식의 계수들을 확인하며, 해당 근사 다항식을 통해 상기 실제 입력 값 X의 0.75승을 계산하는 과정을 포함함을 특징으로 하는 계산 방법.
  2. 제1항에 있어서, 상기 근사 다항식은 A*X3 + B*X2+ C*X + D, 또는 (((A*X + B)*X) + C)*X + D이며, 상기 계수들은 상기 A, B, C, D로서, 상기 분할된 영역에 별로 각각 미리 마련됨을 특징으로 하는 계산 방법.
  3. 제1항 또는 제2항에 있어서, 상기 분할된 영역은 32영역으로 분할됨을 특징으로 하는 계산 방법.
  4. 입력 값 X의 범위를 미리 설정된 수의 영역으로 미리 분할하며, 상기 입력 값 X의 0.75승을 3차 근사 다항식인 A*X3 + B*X2+ C*X + D으로 표현하여, 상기 각 분할된 영역별로 입력 값 X에 해당하는 상기 근사 다항식의 계수들을 미리 저장하는 0.75승 계산 장치에 있어서,
    상기 입력 값 X에 따른 상기 계수 A와 입력 값 X간의 곱을 계산하는 제1 곱셈기와,
    상기 입력 값 X에 따른 상기 계수 B와 상기 제1 곱셈기로부터의 출력의 합을 계산하는 제1 덧셈기와,
    상기 제1 덧셈기로부터의 출력과 상기 입력 값 X간의 곱을 계산하는 제2 곱셈기와,
    상기 입력 값 X에 따른 상기 계수 C와 상기 제2 곱셈기로부터의 출력의 합을 계산하는 제2 덧셈기와,
    상기 제2 덧셈기로부터의 출력과 상기 입력 값 X간의 곱을 계산하는 제3 곱셈기와,
    상기 입력 값 X에 따른 상기 계수 D와 상기 제3 곱셈기로부터의 출력의 합을 계산하는 제3 덧셈기를 포함함을 특징으로 하는 계산 장치.
KR1020060120668A 2006-12-01 2006-12-01 0.75승 계산 장치 및 방법 Expired - Fee Related KR100849317B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060120668A KR100849317B1 (ko) 2006-12-01 2006-12-01 0.75승 계산 장치 및 방법
US11/946,919 US20080133634A1 (en) 2006-12-01 2007-11-29 0.75-power computing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060120668A KR100849317B1 (ko) 2006-12-01 2006-12-01 0.75승 계산 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080049997A true KR20080049997A (ko) 2008-06-05
KR100849317B1 KR100849317B1 (ko) 2008-07-29

Family

ID=39477109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060120668A Expired - Fee Related KR100849317B1 (ko) 2006-12-01 2006-12-01 0.75승 계산 장치 및 방법

Country Status (2)

Country Link
US (1) US20080133634A1 (ko)
KR (1) KR100849317B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604691A (en) * 1995-01-31 1997-02-18 Motorola, Inc. Logarithm/inverse-logarithm converter utilizing a truncated Taylor series and method of use thereof
JP2002215196A (ja) * 2001-01-24 2002-07-31 Nec Corp 0.75乗計算装置及び0.75乗計算方法並びにそれに用いるプログラム
US20020147753A1 (en) * 2001-01-30 2002-10-10 Cirrus Logic, Inc. Methods and systems for raising a numerical value to a fractional power
GB0411880D0 (en) * 2004-05-27 2004-06-30 Imagination Tech Ltd Method and apparatus for efficient evaluation of "table-based" mathematical functions

Also Published As

Publication number Publication date
US20080133634A1 (en) 2008-06-05
KR100849317B1 (ko) 2008-07-29

Similar Documents

Publication Publication Date Title
JP5013627B2 (ja) 信号の低複雑度組み合わせコーディングのための装置および方法
RU2008132827A (ru) Преобразования с общими множителями
JP2009513993A (ja) 変換表現に転換するか、または変換表現を逆変換するための装置および方法
WO2021217034A1 (en) Design of high-performance and scalable montgomery modular multiplier circuits
JP4953978B2 (ja) 平方値に線形従属する計算結果の表示を生成する方法
Menard et al. Accuracy constraint determination in fixed-point system design
Lee et al. High quality MPEG-audio layer III algorithm for a 16-bit DSP
KR100771401B1 (ko) 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법
KR100849317B1 (ko) 0.75승 계산 장치 및 방법
Harris A powering unit for an OpenGL lighting engine
Walters III et al. Using truncated multipliers in DCT and IDCT hardware accelerators
Kong et al. A rounding method to reduce the required multiplier precision for Goldschmidt division
Pappalardo et al. An application-oriented analysis of power/precision trade-off in fixed and floating-point arithmetic units for VLSI processors.
US7599980B1 (en) Efficient hardware square-root operation
Lei et al. A memory-free modified discrete cosine transform architecture for MPEG-2/4 AAC
Wires et al. Reciprocal and reciprocal square root units with operand modification and multiplication
Benavides et al. FPGAs Implementation of fast algorithms oriented to mp3 audio decompression Implementación en FPGAs de algoritmos rápidos para descompresión de audio en formato MP3
Malik et al. MDCT IP Core Generator with Architectural Model Simulation
US7007057B2 (en) 0.75-power computing apparatus and method and program for use therewith
Balaz et al. MDCT IP core generator
Sukarno et al. High Accuracy LPC Encoder Architecture for FPGA
Malik A generic IP core of the identical forward and inverse 12/36-point MDCT architecture and an architectural model simulation toolbox
Malik et al. An Improved MDCT IP Core Generator with Architectural Model Simulation
Hass Synthesizing optimal fixed-point arithmetic for embedded signal processing
Bang et al. Design optimization of a dual MP3/AAC decoder

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20061201

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20071212

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080617

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080723

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080723

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110629

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20120628

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130627

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20140627

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20150629

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20160629

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180503