KR20050100620A - 수정된 이산 코사인 변환 계산 - Google Patents

수정된 이산 코사인 변환 계산 Download PDF

Info

Publication number
KR20050100620A
KR20050100620A KR1020057013178A KR20057013178A KR20050100620A KR 20050100620 A KR20050100620 A KR 20050100620A KR 1020057013178 A KR1020057013178 A KR 1020057013178A KR 20057013178 A KR20057013178 A KR 20057013178A KR 20050100620 A KR20050100620 A KR 20050100620A
Authority
KR
South Korea
Prior art keywords
cosine
signal
input signal
mdct
length
Prior art date
Application number
KR1020057013178A
Other languages
English (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 톰슨 라이센싱 에스.에이.
Publication of KR20050100620A publication Critical patent/KR20050100620A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 길이 N의 디지털 입력 신호의 MDCT 수행과 관련되며, 길이 N/2의 특정 중간 신호를 생성하는 것은 중간 신호의 데이터 값을 코사인 값과 N2/4 번만큼 승산함으로써 수행될 수 있다.

Description

수정된 이산 코사인 변환 계산{CALCULATION OF A MODIFIED DISCRETE COSINE TRANSFORM}
본 발명은 디지털 신호 처리에 관한 것으로서, 보다 상세하게는 MDCT의 계산에 관한 것이다.
MPEG 1/2층 III, ATRAC, AAC 등과 같은 많은 오디오 및 비디오 코덱은 MDCT(Modified Discrete Cosine Transform)를 이용한다. MDCT를 수행하는 것은 필요로 하는 저장 공간뿐만 아니라 필요로 하는 계산력이라는 점에서 상당한 비용이 든다. 이것은 필요로 하는 MDCT를 계산하는 데 비교적 값비싼 중앙 처리 유닛(CPU) 및 큰 메모리가 필요하기 때문에 소비자 장치에 있어서 특히 불리하다.
종래 기술에서 MDCT의 계산 복잡성을 저감하고자 다양한 시도를 행하였다. 이러한 방법들은, 예를 들어, V. Britanak, K.R. Rao의 "A new fast algorithm for the unified forward and inverse MDCT/MDST computation"이라는 명칭의 Signal Processing 82 (2002), 433-459, 및 WO-A-01/59603에 개시되어 있다.
본 발명의 예시적인 실시예를 첨부 도면을 참조하여 설명한다.
도 1은 흐름도이다.
도 2는 본 발명에 따른 전자 회로의 바람직한 구현예의 블록도이다.
MDCT는 더블 루프에서 직접 계산되거나 FFT를 이용하여 계산될 수 있다. 후자는 원래 길이(N)의 배인 신호 길이의 변환, 및 일부 데이터 복사를 포함하고, 전자는 사용되는 프로세서에 의존하며 짧은 MDCT 블록 길이에 대하여 빠르다. 특히, MPEG 1/2층 III의 MDCT는 '18'의 길이를 갖고, 이것은 '18'이 '2'의 거듭제곱이 아니기 때문에 FFT로 쉽게 계산될 수 없다.
본 발명이 해결하고자 하는 과제는 계산력 및 메모리의 감소된 양을 요구하는 MDCT를 수행하는 것이다. 이 과제는 청구항 제1항에 기재된 방법에 의해 해결된다. 이러한 방법을 구현하는 대응하는 컴퓨터 프로그램 제품이 청구항 제5항에 기재되어 있다. 이 방법을 활용하는 전자 회로가 청구항 제6항에 기재되어 있으며, 대응하는 코덱이 청구항 제10항에 기재되어 있다.
본 발명의 이점은, N/2번의 추가 가산을 행함으로써 '2'의 인수만큼 MDCT의 직접 계산 루프에서 가산 및 승산 횟수를 용이하게 저감한다는 것이며, 여기서 N은 입력 신호의 샘플 값을 위한 변환 블록 또는 처리의 길이다. N은 2의 거듭제곱이 아닌 수일 수 있으며, 예를 들어 N = 18이다.
본 발명에 따라, 길이 N의 디지털 입력 신호를 변환하는데 단지 N2/4번의 승산을 수행함으로써 MDCT를 계산할 수 있다. 이것은 우선 입력 신호에 기초하여 중간 신호를 생성함으로써 달성된다. 중간 신호를 생성하기 위해, 가산 및 감산만이 필요하며, 이것은 승산에 비교할 때 계산 비용이 훨씬 덜 소모되는 것이다.
본 발명의 또다른 실시예에 따라, MDCT 계산에 코사인 테이블을 이용한다. 코사인 테이블은, 비교적 작은 메모리를 이용하여 본 발명을 구현할 수 있도록 N2/2 개수의 코사인 값을 필요로 한다. 본 발명은 MPEG 1/2층 III, ATRAC, AAC 등을 비롯한 오디오 및/또는 비디오 코덱에서 특히 이점을 갖는다. 본 발명에 따라, 감소된 처리 능력 및 메모리 요구 사항으로도 MPEG 플레이어 또는 DVD 플레이어와 같은 오디오 및/또는 비디오 소비자 장치를 구축할 수 있다.
원칙적으로, 본 발명의 방법은 길이 N의 디지털 입력 신호의 수정된 이산 코사인 변환을 수행하는데 적합하며, 이 방법은, 상기 입력 신호에 기초하여 길이 N/2의 중간 신호를 생성하는 단계와, 상기 중간 신호의 데이터 값과 코사인 값의 승산을 N2/4 번만큼 수행하여 변환된 출력 신호를 생성하는 단계를 포함한다.
원칙적으로, 본 발명의 전자회로는 길이 N의 디지털 입력 신호의 수정된 이산 코사인 변환을 수행하며, 이 전자 회로는, N2/4 개수의 코사인 값을 갖는 코사인 테이블과, 상기 입력 신호에 기초하여 길이 N/2의 중간 신호를 생성하고, 수정된 이산 코사인 변환 출력 신호를 생성하도록 상기 중간 신호의 데이터 값을 승산하는 수단을 포함한다.
본 발명의 또다른 이점을 갖는 실시예는 각 종속항에 기재되어 있다.
도 1의 흐름도에 따라, 단계 100에서 디지털 입력 신호를 제공한다. 디지털 입력 신호는 N의 블록 길이를 갖는다. 즉, 디지털 입력 신호는 N개의 데이터 값을 매번 갖는다. 단계 100에서 제공되는 디지털 입력 신호 상에 MDCT를 수행하기 위해, 단계 102에서 중간 신호를 먼저 계산한다. 중간 신호는 N/2의 길이를 갖는다. 이 중간 신호를 N/2개의 가산/감산에 의해 계산하는 한 방법을 상세히 후술한다. 단계 104에서, 단계 102에서 결정된 중간 신호에 기초하여 MDCT를 계산한다. 중간 신호가 N/2의 길이를 가질 때, 중간 신호에 기초하여 MDCT를 계산하려면 N2/4 번의 승산이 필요하다. 단계 106에서, MDCT 변환된 신호는 추후 처리용으로 출력된다.
MDCT의 직접 계산은 다음과 같이 실행된다.
for m = 0 to (N/2-1)
s = 0;
for k = 0 to (N-1)
s = s + x(k)*cos(π/2/N * (2*k+1+N/2) * (2*m+1));
end
y(m) = s;
end
여기서, x는 길이 N의 디지털 입력 신호이고, y는 변환된 신호이며, m은 러닝 인덱스(running index)이다.
본 발명에 따른 단계 102에서의 중간 신호의 계산은 다음과 같다.
for m = 0 to (N/4-1)
xx(m) = x(N/4+m) - x(N/4-m-1);
xx(m+N/4) = x(N/2+m) + x(N-m-1);
end
여기서, x은 길이 N의 디지털 입력 신호이고, xx는 중간 신호이며, m은 러닝 인덱스이다.
중간 신호의 계산은 승산을 필요로 하지 않고 이에 따라 매우 빠르다는 점에 주목하길 바란다.
이 중간 신호(xx)에 기초하여, MDCT를 다음과 같이 계산할 수 있다.
for m = 0 to (N/2-1)
s = 0;
for k = 0 to (N/2-1)
s = s + xx(k) * cos(π/2/N * (2*k+1+N) * (2*m+1));
end
y(m) = s;
end
여기서 y는 변환된 신호이다.
MDCT의 계산에는 코사인 값과의 승산이 단지 N2/4번 만큼만 필요하다는 점에서 특히 이점을 갖는다.
도 2는 입력 신호(x)를 수신하는 전자 회로의 간략화된 블록도이다. 이 회로는 단일 칩 상에서 구현된다. 이것은 처리 유닛(202), 프로그램 메모리(204), 및 코사인 테이블(208)을 저장하는 메모리(206)를 구비한다.
중간 신호의 계산을 수행하고 (도 1의 단계 102 참조) 및 MDCT를 계산하는 (도 1의 단계 104 참조) 프로그램 코드가 프로그램 메모리(204)에 저장된다.
코사인 테이블(208)은, 코사인 값으로 필요로 하는 승산을 수행하여 MDCT 변환된 출력 신호(δ)를 얻고자 프로그램 메모리의 프로그램 코드(208)가 실행될 때, 처리 유닛(202)에 의해 사용되는 N2/2개의 코사인 값 엔트리를 구비한다.

Claims (10)

  1. 길이 N의 디지털 입력 신호(100, x)의 수정된 이산 코사인 변환(MDCT)을 수행하는 방법으로서,
    상기 입력 신호에 기초하여 길이 N/2의 중간 신호(xx)를 생성하는 단계(102)와,
    상기 중간 신호의 데이터 값과 코사인 값(Cos)의 승산을 N2/4 번만큼 수행하여 변환된 출력 신호(106, y)를 생성하는 단계(104)
    를 포함하는 방법.
  2. 제1항에 있어서,
    'xx'로 표시되는 상기 중간 신호는,
    for m = 0 to (N/4-1)
    xx(m) = x(N/4+m) - x(N/4-m-1);
    xx(m+N/4) = x(N/2+m) + x(N-m-1);
    end
    와 같은 'x'로 표시되는 상기 입력 신호에 기초하여 계산되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 중간 신호 'xx'의 데이터 값과 상기 코사인 값을 승산하여 변환된 신호를 얻는 것은,
    for m = 0 to (N/2-1)
    s = 0;
    for k = 0 to (N/2-1)
    s = s + xx(k) * cos(π/2/N * (2*k+1+N) * (2*m+1));
    end
    y(m) = s;
    end
    와 같이 수행되는 방법.
  4. 제1항 내지 제3항중 어느 한 항에 있어서,
    N2/4 개수의 코사인 값을 갖는 코사인 테이블(Cos)을 이용하여 상기 승산용 코사인 값을 제공하는 방법.
  5. 제1항 내지 제4항중 어느 한 항에 따른 방법을 수행하는 프로그램 수단을 구비하는 디지털 저장 매체를 비롯한 컴퓨터 프로그램 제품.
  6. 길이 N의 디지털 입력 신호(x)의 수정된 이산 코사인 변환(MDCT)을 수행하는 전자 회로로서,
    N2/4 개수의 코사인 값을 갖는 코사인 테이블(208)과,
    상기 입력 신호(x)에 기초하여 길이 N/2의 중간 신호(xx)를 생성하고, 상기 중간 신호(xx)의 데이터 값을 승산하여 수정된 이산 코사인 변환 출력 신호(y)를 생성하는 수단
    을 포함하는 전자 회로.
  7. 제6항에 있어서,
    'x'로 표시되는 상기 입력 신호에 기초하여 'xx'로 표시되는 상기 중간 신호를 생성하는 수단은,
    for m = 0 to (N/4-1)
    xx(m) = x(N/4+m) - x(N/4-m-1);
    xx(m+N/4) = x(N/2+m) + x(N-m-1);
    end
    의 단계를 수행하는데 적합한 전자 회로.
  8. 제6항 또는 제7항에 있어서,
    상기 코사인 테이블의 코사인 값과의 N2/4 번의 승산을 수행하는 승산기 수단(202)을 더 포함하는 전자 회로.
  9. 제8항에 있어서,
    가산기 수단(202)을 더 포함하고,
    상기 승산 및 가산기는
    for m = 0 to (N/2-1)
    s = 0;
    for k = 0 to (N/2-1)
    s = s + xx(k) * cos(π/2/N * (2*k+1+N) * (2*m+1));
    end
    y(m) = s;
    end
    단계를 수행하는데 적합하고,
    'y'는 변환된 출력 신호인 전자 회로.
  10. 제6항 내지 제9항중 어느 한 항에 따른 전자 회로를 이용하여 입력 신호의 수정된 이산 코사인 변환을 수행하는 MPEG 1/2층 III, ATRAC 또는 AAC 코덱을 비롯한 코덱.
KR1020057013178A 2003-01-18 2003-12-29 수정된 이산 코사인 변환 계산 KR20050100620A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03090016A EP1445706A1 (en) 2003-01-18 2003-01-18 Method, apparatus, and computer program for performing a modified discrete cosine transform
EP03090016.1 2003-01-18

Publications (1)

Publication Number Publication Date
KR20050100620A true KR20050100620A (ko) 2005-10-19

Family

ID=32605379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057013178A KR20050100620A (ko) 2003-01-18 2003-12-29 수정된 이산 코사인 변환 계산

Country Status (8)

Country Link
US (1) US20060036666A1 (ko)
EP (2) EP1445706A1 (ko)
JP (1) JP2006513496A (ko)
KR (1) KR20050100620A (ko)
CN (1) CN100429645C (ko)
AU (1) AU2003303770A1 (ko)
BR (1) BR0317988A (ko)
WO (1) WO2004066162A2 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8601183A (nl) * 1986-05-12 1987-12-01 Philips Nv Discrete cosinus transformatie-inrichting.
JPH06112909A (ja) * 1992-09-28 1994-04-22 Sony Corp 改良dctの信号変換装置
JP3349421B2 (ja) * 1998-01-30 2002-11-25 三洋電機株式会社 音声データの圧縮/伸長装置及びデジタルフィルタ
US6721708B1 (en) * 1999-12-22 2004-04-13 Hitachi America, Ltd. Power saving apparatus and method for AC-3 codec by reducing operations
AU2001234971A1 (en) * 2000-02-09 2001-08-20 T. C. Cheng Fast method for the forward and inverse mdct in audio coding
US7035332B2 (en) * 2001-07-31 2006-04-25 Wis Technologies, Inc. DCT/IDCT with minimum multiplication

Also Published As

Publication number Publication date
EP1445706A1 (en) 2004-08-11
JP2006513496A (ja) 2006-04-20
WO2004066162A3 (en) 2005-01-13
BR0317988A (pt) 2005-12-06
AU2003303770A8 (en) 2004-08-13
EP1584046A2 (en) 2005-10-12
AU2003303770A1 (en) 2004-08-13
CN1739104A (zh) 2006-02-22
US20060036666A1 (en) 2006-02-16
WO2004066162A2 (en) 2004-08-05
CN100429645C (zh) 2008-10-29

Similar Documents

Publication Publication Date Title
Ansari et al. A hardware-efficient logarithmic multiplier with improved accuracy
JP4398979B2 (ja) 変換表現に転換するか、または変換表現を逆変換するための装置および方法
JP4953978B2 (ja) 平方値に線形従属する計算結果の表示を生成する方法
Lei et al. Low complexity and fast computation for recursive MDCT and IMDCT algorithms
JP2001331474A (ja) 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品
CN101556795A (zh) 计算语音基音频率的方法及设备
KR102503498B1 (ko) 수학적 함수를 연산하는 시스템 및 방법
KR20050100620A (ko) 수정된 이산 코사인 변환 계산
Hua et al. A novel unified method for the fast computation of discrete image moments on grayscale images
Babu et al. Improved Radix-4 Fast Fourier Transform Algorithm Used for Wireless Communication
CN112835073A (zh) 一种用于卫星信号捕获的fft处理器
US7317958B1 (en) Apparatus and method of additive synthesis of digital audio signals using a recursive digital oscillator
Loukrakpam et al. Error-aware design procedure to implement hardware-efficient antilogarithmic converters
Hwang et al. A novel MDCT/IMDCT computing kernel design
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
JP2013513866A (ja) 共用フローグラフに基づく離散コサイン変換のための回路
Jamieson et al. Analyzing a Low-bit rate Audio Codec-Codec2-on an FPGA
Soares et al. Design of area and energy-efficient digital CMOS FIR filters with approximate adder circuits
Low et al. A new RNS scaler for {2 n− 1, 2 n, 2 n+ 1}
US7007057B2 (en) 0.75-power computing apparatus and method and program for use therewith
Deshpande et al. Simulating the DFT Algorithm for Audio Processing
You et al. Implementation of IMDCT for MPEG2/4 AAC on 16-bit fixed-point digital signal processors
Pohane et al. VLSI Designing of High Speed Parallel Multiplier Accumulator Based on Radix 4 Booths Multiplier
Tsai et al. A hardware/software co-design of high efficiency AAC audio decoder
Hodes et al. A fixed-point recursive digital oscillator for additive synthesis of audio

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application