KR100530377B1 - 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법 - Google Patents

엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법 Download PDF

Info

Publication number
KR100530377B1
KR100530377B1 KR10-2003-0099746A KR20030099746A KR100530377B1 KR 100530377 B1 KR100530377 B1 KR 100530377B1 KR 20030099746 A KR20030099746 A KR 20030099746A KR 100530377 B1 KR100530377 B1 KR 100530377B1
Authority
KR
South Korea
Prior art keywords
address
window
matrix
unit
storing
Prior art date
Application number
KR10-2003-0099746A
Other languages
English (en)
Other versions
KR20050070339A (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 KR10-2003-0099746A priority Critical patent/KR100530377B1/ko
Priority to EP04030906A priority patent/EP1557826A2/en
Priority to US11/024,749 priority patent/US7509294B2/en
Priority to JP2005000062A priority patent/JP4244037B2/ja
Publication of KR20050070339A publication Critical patent/KR20050070339A/ko
Application granted granted Critical
Publication of KR100530377B1 publication Critical patent/KR100530377B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • G10L19/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass
    • 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
    • G10L19/02Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Pure & Applied Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Discrete Mathematics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법이 개시된다. 엠펙 오디오 디코더의 합성필터는 입력된 엠펙 오디오 서브밴드 샘플에 대해 소정의 단위로 버터플라이 연산을 수행하는 버터플라이연산부, 버터플라이 연산 결과를 사용하여 매트릭스 연산을 수행하는 매트릭스연산부, 매트릭스 연산 결과를 소정의 주소값들에 따라 저장하는 제1버퍼, 윈도우 연산의 각 사이클에 사용하기 위해 제1버퍼에 대한 제1주소 및 제2주소를 각각 생성하는 윈도우연산주소생성부, 제1주소 및 제2주소에 저장된 매트릭스 연산 결과를 출력하여 윈도우 연산을 수행하는 윈도우연산부 및 윈도우 연산 결과를 출력하는 출력부를 포함한다. 따라서, 시프트 연산을 위한 불필요한 시간 낭비를 제거하고 매트릭스 연산을 용이하게 하며 윈도우 연산에서 주소연산을 방지하여 엠펙 오디오 디코딩 속도를 향상시킨다.

Description

엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법{Synthesis Subband Filter for MPEG Audio decoder and decoding method thereof}
본 발명은 엠펙(Moving picture experts group) 오디오 디코더의 합성필터 및 그 디코딩 방법에 관한 것으로, 더욱 상세하게는 수신된 엠펙 오디오 서브밴드(Subband) 샘플을 디코딩하기 위한 합성필터의 연산 과정을 단순화하여 빠르고 효율적으로 디코딩을 수행할 수 있는 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법에 관한 것이다.
엠펙(MPEG : Moving Picture Expert Group) 오디오 디코더의 합성필터는 주파수 영역으로 변환된 서브밴드 신호를 시간 영역으로 역변환하는 역할을 한다. 합성필터는 엠펙 디코더에서 가장 많은 계산량 및 처리 시간을 차지하므로, 합성필터의 처리 속도는 전체 엠펙 오디오 디코더의 디코딩 속도에 있어서 중요한 역할을 차지한다.
일반적으로, 수신된 엠펙 오디오 신호로부터 헤더가 분리되고 엠펙-1의 경우에는 2개의 채널별로 각각 동일한 디코딩 과정이 수행되며, 이러한 디코딩 과정 중 하나를 수행하는 합성필터는 각 오디오 채널별로 동일한 연산을 수행한다.
하나의 엠펙 오디오 계층-2의 프레임은 채널당 1152개의 PCM(Pulse code modulation) 오디오 샘플에 해당하며, 각 오디오 프레임은 32-bit 헤더 부분, 비트 할당에 관한 정보를 담고 있는 비트할당부(bit allocation), SCFSI(scale factor selection information)를 에러로부터 보호하는 16-bit CRC, 스케일팩터(scale factor)의 전송 패턴을 저장하는 SCFSI, 서브밴드 샘플의 스케일(scale value)을 지정하는 6-bit 스케일팩터, PCM 오디오 샘플을 복원하기 위해 사용되는 서브밴드 샘플, 및 엠펙 오디오 계층-2 프레임의 부가적 데이터 필드를 포함한다.
엠펙 오디오 계층-2에는 32개의 서브밴드가 존재하고 각 서브밴드는 36개의 서브밴드 샘플로 구성된다. 또한, 36개의 서브밴드 샘플은 3개의 연속적인 서브밴드 샘플 단위로 그룹핑(grouping)되어 그래뉼(granule)을 형성하고, 그래뉼 단위로 인코딩 및 디코딩된다. 32개의 서브밴드 샘플은 한 번에 디코딩되므로, 하나의 그래뉼을 디코딩하기 위해서는 3번의 반복이 필요하고, 각 서브밴드에 대해 각각 12개의 그래뉼이 존재하므로, 결국 전체적으로 12x3=36번의 디코딩 과정이 반복된다.
도 1은 일반적인 합성필터의 연산과정을 설명하기 위한 흐름도이다. 합성필터는 매트릭스 연산을 수행하기 위한 IMDCT부(Inverse Modified Discrete cosine transform), 윈도우 연산을 수행하기 위한 IPQMF부(Inverse pseudo quadrature mirror filter) 및 중간 결과값을 저장할 수 있는 메모리를 이용하여 디코딩을 수행한다.
이하, 도 1을 참조하여 ISO/IEC((International Standard Organization)/(International Electrotechnical Committee)) 11172-3 엠펙-1 오디오 표준에 따른 합성필터의 연산과정을 설명한다.
우선, 합성필터는 32개의 새로운 오디오 샘플을 입력받는다(S110). 입력된 샘플을 "Sk, (k=0,1,...,31)"로 나타낸다. 이어서, 매트릭스 연산 결과인 "V[i]"를 64 샘플씩 시프트하고(S115), 매트릭스 연산을 수행한다(S120).
시프트되는 매트릭스 연산 결과인 "V[i]"를 다음의 수학식 1로 나타낸다
여기서, "i"는 인덱스이다. 한편, 매트릭스 연산을 수학식으로 표현하면 다음의 수학식2와 같다.
여기서, i = 0, 1, ..., 63이며, "Nik"는 필터계수로서 다음의 수학식3과 같다.
여기서, i = 0, 1, ..., 63,이고 k = 0, 1, ..., 31이다.
매트릭스 연산이 모두 종료하면, 이어서 512 개의 벡터 "Ui"를 생성한다(S130). 이를 수학식으로 표현하면 다음의 수학식4와 같다.
여기서, i = 0, 1, …, 7이고, j = 0, 1, …, 31이다. 이어서, 생성된 벡터 "U[i]"에 윈도우(synthesis window)계수 "D[i]"를 곱하여 "W[i]=U[i]*D[i]"를 생성하며, 여기서 i=0,..511이다(S135). 또한, 생성된 "W[i]"를 이용하여 32 개의 샘플 "P[j]"를 계산하고(S140), 계산된 샘플을 출력한다(S145). 이를 수학식으로 표현하면 다음의 수학식 5와 같다.
여기서, j=0, ..., 31이다.
상기한 합성 필터의 연산 과정은 IMDCT부에 의한 시프트 연산과 매트릭스 연산 그리고 IPQMF부에 의한 32개의 샘플을 복원하기 위한 주소 연산과 윈도우 연산에서 많은 연산량과 처리 시간을 차지한다.
한편, 수학식 3의 필터계수 "Nik"는 대칭성을 가지며, 따라서 V[i] 또한 대칭성을 가진다. 이는 다음의 수학식 6에 나타낸다.
따라서, 종래 기술에 따르면 필터계수의 대칭성을 이용하여 IMDCT부에서 2048개의 승산 및 누적 연산(Multiply-and-accumulate: MAC)을 512개로 줄여 연산량과 메모리 요구량을 감소시킨다. 또한 V[i]의 대칭성을 이용하여 V[i] 중에서 i=0 에서 511까지의 512개 만을 사용하여 메모리 요구량을 감소시킨다. 또한, i=0 에서 511까지의 512개의 V[i]를 저장하는 메모리 구역은 32개의 블록으로 나뉜다.
도 2는 도 1의 합성필터의 중간 처리 결과값을 저장하는 메모리의 주소 생성 방법의 설명에 제공되는 도면이다. 도 2를 참조하면, IPQMF부의 하나의 연산 사이클에 사용되는 16개의 블럭 주소를 하나의 행으로 나타내며, 총 16개의 IPQMF 연산 사이클에 대한 16개의 열을 나타낸다.
IPQMF 사이클이란 IPQMF부의 연산에 있어서 한 번에 처리되는 신호 처리 단위이다. 하나의 IPQMF 사이클에 사용되는 16개의 블럭 주소는 512개의 V[i]를 저장하는 메모리의 실제 주소값이 아니므로, IPQMF부의 연산을 위한 V[i]를 독출하기 위해서는 주소값을 다시 계산해야 한다.
따라서, 종래의 합성필터를 이용한 디코딩에 있어서는 시프트 연산이 필요하며, 또한 미리 저장된 블럭값을 이용하여 실제 주소값을 다시 계산하여야 하는데, 복잡한 연산과정에 의해 결국 메모리 요구량을 줄인 효과가 반감되고 디코딩 과정이 지연되는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 시프트 연산을 수행하지 않도록 소정의 방식으로 저장된 매트릭스 연산 결과를 윈도우 연산을 수행하기 위해 소정의 방식으로 출력하여 연산 시간을 줄이고 신속하게 디코딩을 수행할 수 있는 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 엠펙 오디오 디코더의 합성필터는 입력된 엠펙 오디오 서브밴드 샘플에 대해 소정의 단위로 버터플라이 연산을 수행하는 버터플라이연산부, 상기 버터플라이 연산 결과를 사용하여 매트릭스 연산을 수행하는 매트릭스연산부, 상기 매트릭스 연산 결과를 소정의 주소값들에 따라 저장하는 제1버퍼, 윈도우 연산의 각 사이클에 사용하기 위해 상기 제1버퍼에 대한 제1주소 및 제2주소를 각각 생성하는 윈도우연산주소생성부, 상기 제1주소 및 상기 제2주소에 저장된 매트릭스 연산 결과를 출력하여 윈도우 연산을 수행하는 윈도우연산부 및 상기 윈도우 연산 결과를 출력하는 출력부를 포함한다.
바람직하게는, 상기 매트릭스 연산 결과를 저장하기 위한 상기 제1버퍼의 상기 소정의 주소값들을, 그 최초 주소값과 최후 주소값이 이웃하여 링 형태가 되는 방식으로 생성하는 매트릭스연산주소생성부를 더 포함한다. 또한, 상기 매트릭스연산주소생성부는 상기 소정의 주소값들을 미리 저장하는 것이 바람직하다.
또한, 상기 매트릭스 연산을 위한 계수를 저장하여 상기 매트릭스연산부에 제공하는 매트릭스계수저장부를 더 포함하는 것이 바람직하다. 바람직하게는, 상기 윈도우 연산을 위한 계수를 저장하여 상기 윈도우연산부에 제공하는 윈도우계수저장부를 더 포함한다.
바람직하게는, 상기 버터플라이연산부의 연산 결과를 초반 절반은 순서대로 저장하고 후반 절반은 역순으로 저장하는 제2버퍼를 더 포함한다. 상기 제2버퍼에는 상기 버터플라이 연산 결과를 덧셈 연산의 결과는 순서대로 저장하고 뺄셈 연산의 결과는 역순으로 저장하는 것이 바람직하다.
상기 윈도우연산주소생성부는 상기 제1주소 및 상기 제2주소의 일부를 미리 저장하고 그 순환 특성을 이용하여 상기 윈도우 연산의 각 사이클 마다 생성하는 것이 바람직하다. 또한, 상기 윈도우연산주소생성부는 상기 제1주소 및 상기 제2주소를 미리 저장하여 상기 윈도우연산부에 제공하는것이 바람직하다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 엠펙 오디오 디코더의 합성필터의 디코딩 방법은 입력된 엠펙 오디오 서브밴드 샘플에 대해 소정의 단위로 버터플라이 연산을 수행하는 버터플라이 연산단계, 상기 버터플라이 연산 결과를 사용하여 매트릭스 연산을 수행하는 매트릭스 연산단계, 상기 매트릭스 연산 결과를 소정의 주소값들에 따라 저장하는 단계, 윈도우 연산의 각 사이클에 사용하기 위해 상기 제1버퍼에 대한 제1주소 및 제2주소를 각각 생성하는 단계, 상기 제1주소 및 상기 제2주소에 저장된 매트릭스 연산 결과를 출력하여 윈도우 연산을 수행하는 윈도우 연산단계 및 상기 윈도우 연산 결과를 출력하는 단계를 포함한다.
이하에서는 첨부된 도면들을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 엠펙 오디오 디코더의 합성필터를 나타내는 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 합성필터는 입력부(311), 버터플라이연산부(313), 제2버퍼(315), 매트릭스연산부(317), 매트릭스연산주소생성부(319), 매트릭스계수저장부(321), 제1버퍼(323), 윈도우연산부(325), 윈도우연산주소생성부(327), 윈도우계수저장부(329) 및 출력부(331)를 포함한다.
입력부(311)는 한 번에 32개의 서브밴드 샘플(Sk, k=0, ..., 31)을 입력받는다. 버터플라이연산부(313)는 입력된 서브밴드 샘플을 이용하여 버터플라이연산을 수행한다. 도 4는 도 3의 버터플라이연산부의 동작 설명에 제공되는 도면이다.
버터플라이연산부(313)는 입력된 32개의 샘플 중 각각 2개의 샘플에 대한 버터플라이 연산을 도 4에 도시된 바와 같이 "s0"에서 "s31"의 순서대로 수행한다. 아래의 수학식 7은, 버터플라이연산부(313)의 출력 B[k]를 나타낸다.
버터플라이연산부(313)의 출력 B[k]는 V[i]의 인덱스 "i"에 따라서 덧셈 연산과 뺄셈 연산의 출력을 갖는다. 또한, 매트릭스연산부(317)에서는 수학식 6에 나타나 있는 바와 같이 Nik의 대칭성을 이용하여, V[i]의 인덱스 "i"가 선형으로 증가하고 그 인덱스가 짝수 또는 홀수인지에 따라 덧셈과 뺄셈의 버터플라이 연산 출력을 교대로 반복하여 사용한다. 또한, 수학식 6을 참조하면 매트릭스연산부(317)에서는 뺄셈의 버터플라이 연산 출력에 대해서는 "s31"에서 "s16"까지의 버터플라이 연산 결과가 역순으로 사용된다.
따라서, 제2버퍼(315)에 버터플라이연산부(313)의 출력을 저장할 때, 출력 B[k]에서 k=0,...15 까지의 처음 16개는 인덱스 "i" 가 짝수일 때의 덧셈 연산의 결과를 순서대로 저장하고, 출력 B[k]에서 k=16, ..., 31 까지의 나머지 16개는 "i" 가 홀수일 때의 뺄셈 연산의 결과를 역순으로 저장한다. 따라서, 매트릭스연산부(317)의 연산 수행시에는 제2버퍼(315)에 저장된 B[k]값을 저장된 순서, 즉 "k" 인덱스가 증가하는 순서대로 그대로 출력하여 사용하게 되어 별도의 동작이 필요없고 빠른 연산이 가능하다.
종래의 합성필터의 경우 64 샘플 시프트 연산을 수행하여야 한다. 64 샘플 시프트 연산은 "V[i]=V[i-64], i= 1024, ..., 64"와 같은 연산으로서 하나의 연산 사이클에서도 반복적으로 수행되어야 하며, 또한 한 개의 엠펙 오디오 프레임을 처리하기 위해서는 연산 사이클이 36번 반복수행되어야 하므로, 결국 시프트 연산을 처리하기 위해 상당한 연산량과 시간이 요구되어 전체 디코딩 처리 지연의 원인이 된다.
본 발명의 일 실시예에 따르면, "V[i]"의 순환 특성을 이용하여, 시프트 연산을 생략한다. 종래의 합성필터의 경우 매트릭스 연산이 한 번 수행될 때마다 64 샘플씩 시프트되고, "V[i]" 값은 이러한 시프트 연산이 16번 수행될 때마다 처음의 위치가 되는 순환 특성이 있다. 본 발명은 이러한 순환 특성을 이용한다.
도 5는 도 3의 합성필터의 중간 처리 결과값을 저장하기 위한 매트릭스연산주소생성부의 동작 설명에 제공되는 도면이다. 도 5를 참조하면, 매트릭스연산주소생성부(319)는 매트릭스연산부(317)의 연산결과를 저장하기 위한 주소값을 생성한다.
매트릭스연산부(317)는 제2버퍼(315)에서 출력된 값과 매트릭스계수저장부(321)에서 출력된 값을 이용하여 매트릭스 연산을 수행하고, 매트릭스 연산에 의해 출력되는 "V[i]" 값을 매트릭스연산주소생성부(319)에서 제공되는 주소에 따라 제1버퍼(323)에 저장한다.
도 5를 참조하면, 매트릭스연산부(317)는 16번의 IMDCT 사이클을 주기로 각각 64 샘플씩 저장하며, 64개의 샘플이 저장될 제1버퍼(323)의 "v[i]"의 인덱스 "i"는 선형적으로 증가하므로 매트릭스연산주소생성부(319)는 각 IMDCT 연산 사이클의 첫번째 시작 주소(imdct_addr)만을 가리킨다. 이를 아래의 수학식 8로 나타낸다.
도 5를 참조하면, 제1버퍼(323)에는 매트릭스 연산에 의한 최초의 64개 샘플은 맨 윗단에 저장되고, 그 다음 사이클의 64개 샘플은 맨 아랫단에 저장되며, 이어서는 끝단의 64개 샘플로부터 순서대로 최초의 64개 샘플이 저장된 위치까지 16번째 사이클의 64개 샘플이 저장되어 총 1024개의 샘플이 저장된다. 따라서, 주소값 중 최초의 주소값이 최후의 주소값과 이웃하는 링 형태로 생성된 주소값에 따라 1024개의 샘플이 링 형태로 제1버퍼(323)에 저장된다. 따라서, 종래의 시프트 연산이 필요없게 된다.
도 6은 도 3의 합성필터의 중간 처리 결과값을 저장하는 제1버퍼에 대한 윈도우연산주소생성부의 제1주소값 생성 동작 설명에 제공되는 도면이고 도 7은 도 3의 합성필터의 중간 처리 결과값을 저장하는 제1버퍼에 대한 윈도우연산주소생성부의 제2주소값 생성 동작 설명에 제공되는 도면이다.
윈도우연산부(325)는 윈도우계수저장부(329)에서 출력되는 윈도우계수와 윈도우연산주소생성부(327)에서 제공하는 주소의 제1버퍼(323)에 저장된 연산값을 승산하여 윈도우연산을 수행한다. 이경우 윈도우연산주소생성부(327)는 두 개의 주소를 제공하여야 하며, 윈도우연산부(325)는 윈도우연산주소생성부(327)에서 제공된 두 개의 주소값인 제1주소와 제2주소에 저장된 연산값을 각각 출력하고, 윈도우계수저장부(329)에서 윈도우계수를 출력하여 윈도우 연산을 수행한다.
윈도우연산주소생성부(327)에서 출력되는 제1주소 및 제2주소는 수학식 4와 같은 연산이 수행된 주소값이다. 그러나, 윈도우연산주소생성부(327)는 수학식 4와 같은 연산을 매번 수행하지 않고 주소값을 미리 저장하여 출력할 수있다. 따라서, 윈도우연산주소생성부(327)는 윈도우연산 사이클 마다 8개의 주소가 필요하고 16개의 윈도우연산 사이클이 필요하므로, 총 128개의 주소를 저장해야 한다.
도 6 및 도 7을 참조하면, 이러한 제1주소 및 제2주소가 2개의 IPQMF 사이클 마다 순환하는 특성을 알 수 있다. 따라서, 이러한 제1주소 및 제2주소가 2개의 IPQMF 사이클 마다 순환하는 특성을 이용하면, 2*2*8=32 개의 주소를 이용하여 제1주소 및 제2주소에 간단한 연산을 수행하여, 필요한 모든 주소값을 생성할 수 있다. 따라서, 윈도우연산주소생성부(327)는 도 6및 도 7에 도시된 모든 주소값을 저장하지 않고 IPQMF 2개의 사이클에 해당하는 주소값을 제1주소 및 제2주소에 대해 각각 저장하고 간단한 연산을 통해 각 사이클 마다 필요한 주소값을 생성한다. 즉, 윈도우연산주소생성부(327)는 전체 주소값을 모두 저장하지 않고 2개의 윈도우 연산 사이클에 해당하는 주소값만을 저장하고 간단한 연산을 통해 윈도우연산 각 사이클 마다 필요한 주소를 출력할 수 있다.
출력부(331)는 윈도우연산부(325)에서 수행된 연산 결과를 출력한다. 이를 위해 출력부(331)는 버퍼(미도시)를 포함하여 연산 결과값을 임시 저장한 후 출력할 수 있다. 또한, 출력부(331)는 연산 결과를 변환하여 이를 사용할 장치의 포맷에 맞도록 변환된 신호를 출력한다.
도 8은 도 3의 합성필터의 디코딩 시간과 메모리 요구량을 일반적인 합성필터와 비교하여 나타낸 도면이다. 도 8은 비트율이 256kbps이고 샘플링 주파수가 48kHz인 2채널 엠펙-2 오디오에 있어서, 24ms의 오디오 프레임을 디코딩하는데 필요한 시간을 72MHz 클럭의 16-비트 Teak DSP 코어로 측정한 결과값이다.
도 8을 참조하면, 종래 기술에 따르면 매트릭스 계수의 대칭성을 이용하여 메모리의 크기는 현저하게 줄였으나 시프트 연산 및 메모리에 대한 주소 발생이 복잡하여 디코딩 시간은 충분히 줄이지 못한 것을 알 수 있다. 그러나, 본 발명에 따른 합성필터를 사용하는 경우 메모리 크기는 종래 기술에 비해 다소 클 수 있으나, 디코딩 속도가 2.11ms, 즉 151,920 클록 사이클 만큼 상당히 향상되는 것을 알 수 있다.
도 9는 본 발명의 일 실시예에 따른 합성필터의 디코딩 방법 설명에 제공되는 흐름도이다. 도 9를 참조하면, 본 발명의 일 실시예에 따른 합성필터에는 한번에 32개의 서브밴드 샘플(Sk, k=0, ..., 31)이 입력된다(S910). 이어서, 입력된 서브밴드 샘플(Sk, k=0, ..., 31)에 대해 버터플라이 연산이 수행되고(S920) 연산 결과인 "B[i]"는 부호에 따라 도 4의 인덱스 "i"의 오름차순으로 제2버퍼(315)에 저장된다.
이어서, 저장된 버터플라이 연산의 결과 및 매트릭스 계수를 이용하여 매트릭스 연산이 수행되고(S930), 매트릭스 연산 수행결과는 매트릭스연산주소생성부(319)에서 출력된 제1버퍼(323)의 메모리 시작 주소값에 저장한다. 매트릭스 연산이 서브밴드 샘플 32개에 대해 모두 종료되면(S940), 이어서 윈도우 연산이 수행된다. 그러나 32개의 서브밴드 샘플에 대한 매트릭스 연산이 아직 종료하지 않은 경우에는 종료할 때까지 연산을 반복적으로 수행한다.
서브밴드 샘플 32개에 대한 매트릭스 연산이 종료되면 윈도우 연산을 수행한다(S950). 이를 위해 윈도우연산주소생성부(317)에서 제1주소 및 제2주소의 두 개의 주소값을 출력하여 두 개의 주소값에 저장된 매트릭스 연산값 및 윈도우 계수를 이용한다. 따라서, 윈도우 연산이 수행된 32개의 샘플이 출력부(331)를 통해 출력된다.
본 발명에 따르면, 입력된 엠펙 오디오 서브밴드 샘플에 대한 합성필터를 이용한 디코딩에 있어서, 버터플라이 연산 결과를 별도의 조작없이 그대로 매트릭스 연산에 이용할 수 있도록 소정의 방식으로 저장하고, 매트릭스 연산 결과의 순환 특성을 이용하여 시스프 연산을 수행하지 않도록 소정의 방식을 저장하고 윈도우 연산을 위해 매 사이클 마다 두개의 주소값을 제공하여 시프트 연산을 위한 불필요한 시간 낭비를 제거하고 매트릭스 연산을 용이하게 하며 윈도우 연산에서 주소연산을 방지하여 엠펙 오디오 디코딩 속도를 향상시킨다.
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 일반적인 합성필터의 연산과정의 설명에 제공되는 도면,
도 2는 도 1의 합성필터의 중간 처리 결과값을 저장하는 메모리의 주소 생성 방법 설명에 제공되는 도면,
도 3은 본 발명의 일 실시예에 따른 엠펙 오디오 디코더의 합성필터를 나타내는 도면,
도 4는 도 3의 버터플라이연산부의 동작 설명에 제공되는 도면,
도 5는 도 3의 합성필터의 중간 처리 결과값을 저장하기 위한 매트릭스연산주소생성부의 동작 설명에 제공되는 도면,
도 6은 도 3의 합성필터의 중간 처리 결과값을 저장하는 제1버퍼에 대한 윈도우연산주소생성부의 제1주소 생성 동작 설명에 제공되는 도면,
도 7은 도 3의 합성필터의 중간 처리 결과값을 저장하는 제1버퍼에 대한 윈도우연산주소생성부의 제2주소 생성 동작 설명에 제공되는 도면,
도 8은 도 3의 합성필터의 디코딩 시간과 메모리 요구량을 종래의 합성필터와 비교하여 나타낸 도면, 그리고
도 9는 본 발명의 일 실시예에 따른 합성필터의 디코딩 방법 설명에 제공되는 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
311: 입력부 313: 버터플라이연산부
315: 제2버퍼 317: 매트릭스연산부
319: 매트릭스연산주소생성부 321:매트릭스계수저장부
323: 제1버퍼 325: 윈도우연산부
327: 윈도우연산주소생성부 329: 윈도우계수저장부
331:출력부

Claims (18)

  1. 입력된 엠펙 오디오 서브밴드 샘플에 대해 소정의 단위로 버터플라이 연산을 수행하는 버터플라이연산부;
    상기 버터플라이 연산 결과를 사용하여 매트릭스 연산을 수행하는 매트릭스연산부;
    상기 매트릭스 연산 결과를 소정의 주소값들에 따라 저장하는 제1버퍼;
    윈도우 연산의 각 사이클에 사용하기 위해 상기 제1버퍼에 대한 제1주소 및 제2주소를 각각 생성하는 윈도우연산주소생성부;
    상기 제1주소 및 상기 제2주소에 저장된 매트릭스 연산 결과를 출력하여 윈도우 연산을 수행하는 윈도우연산부; 및
    상기 윈도우 연산 결과를 출력하는 출력부;를 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  2. 제 1항에 있어서,
    상기 매트릭스 연산 결과를 저장하기 위한 상기 제1버퍼의 상기 소정의 주소값들을, 그 최초 주소값과 최후 주소값이 이웃하여 링 형태가 되는 방식으로 생성하는 매트릭스연산주소생성부;를 더 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  3. 제 2항에 있어서,
    상기 매트릭스연산주소생성부는 상기 소정의 주소값들을 미리 저장하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  4. 제 1항에 있어서,
    상기 매트릭스 연산을 위한 계수를 저장하여 상기 매트릭스연산부에 제공하는 매트릭스계수저장부;를 더 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  5. 제 1항에 있어서,
    상기 윈도우 연산을 위한 계수를 저장하여 상기 윈도우연산부에 제공하는 윈도우계수저장부;를 더 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  6. 제 1항에 있어서,
    상기 버터플라이연산부의 연산 결과를 초반 절반은 순서대로 저장하고 후반 절반은 역순으로 저장하는 제2버퍼;를 더 포함하고 상기 매트릭스연산부는 상기 제2버퍼에 저장된 연산 결과를 순서대로 출력하여 사용하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  7. 제 6항에 있어서,
    상기 제2버퍼에는 상기 버터플라이 연산 결과를 덧셈 연산의 결과는 순서대로 저장하고 뺄셈 연산의 결과는 역순으로 저장하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  8. 제 1항에 있어서,
    상기 윈도우연산주소생성부는 상기 제1주소 및 상기 제2주소의 일부를 미리 저장하고 그 순환 특성을 이용하여 상기 윈도우 연산의 각 사이클 마다 생성하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  9. 제 1항에 있어서,
    상기 윈도우연산주소생성부는 상기 제1주소 및 상기 제2주소를 미리 저장하여 상기 윈도우연산부에 제공하는 것을 특징으로 하는 엠펙 디코더의 합성필터.
  10. 입력된 엠펙 오디오 서브밴드 샘플에 대해 소정의 단위로 버터플라이 연산을 수행하는 버터플라이 연산단계;
    상기 버터플라이 연산 결과를 사용하여 매트릭스 연산을 수행하는 매트릭스 연산단계;
    상기 매트릭스 연산 결과를 소정의 주소값들에 따라 저장하는 단계;
    윈도우 연산의 각 사이클에 사용하기 위해 상기 제1버퍼에 대한 제1주소 및 제2주소를 각각 생성하는 단계;
    상기 제1주소 및 상기 제2주소에 저장된 매트릭스 연산 결과를 출력하여 윈도우 연산을 수행하는 윈도우 연산단계; 및
    상기 윈도우 연산 결과를 출력하는 단계;를 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  11. 제 10항에 있어서,
    상기 매트릭스 연산 결과 저장 단계에서는,
    상기 소정의 주소값들을, 그 최초 주소값과 최후 주소값이 이웃하여 링 형태가 되는 방식으로 생성하여, 생성된 상기 주소값들에 따라 상기 매트릭스 연산 결과를 저장하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  12. 제 11항에 있어서,
    상기 매트릭스 연산 결과 저장 단계에서는,
    상기 소정의 주소값들을 미리 저장하여 저장된 상기 주소값들에 따라 상기 매트릭스 연산 결과를 저장하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  13. 제 10항에 있어서,
    상기 매트릭스 연산 단계에 제공하기 위해 상기 매트릭스 연산을 위한 계수를 미리 저장하는 단계;를 더 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  14. 제 10항에 있어서,
    상기 윈도우 연산 단계에 제공하기 위해 상기 윈도우 연산을 위한 계수를 미리 저장하는 단계;를 더 포함하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  15. 제 10항에 있어서,
    상기 버터플라이 연산 결과를 초반 절반은 순서대로 저장하고 후반 절반은 역순으로 저장하는 단계;를 더 포함하고 상기 매트릭스 연산단계에서는 저장된 상기 연산 결과를 순서대로 출력하여 사용하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  16. 제 15항에 있어서,
    상기 버터플라이 연산 결과 저장 단계는, 상기 버터플라이 연산 결과를 덧셈 연산의 결과는 순서대로 저장하고 뺄셈 연산의 결과는 역순으로 저장하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  17. 제 10항에 있어서,
    상기 제1주소 및 제2주소 생성단계는, 상기 제1주소 및 상기 제2주소의 일부를 미리 저장하고 그 순환 특성을 이용하여 상기 윈도우 연산의 각 사이클 마다 생성하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
  18. 제 10항에 있어서,
    상기 제1주소 및 제2주소 생성단계는, 상기 제1주소 및 상기 제2주소를 미리 저장하여 상기 윈도우 연산단계에 제공하는 것을 특징으로 하는 엠펙 디코더의 합성필터의 디코딩 방법.
KR10-2003-0099746A 2003-12-30 2003-12-30 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법 KR100530377B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2003-0099746A KR100530377B1 (ko) 2003-12-30 2003-12-30 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
EP04030906A EP1557826A2 (en) 2003-12-30 2004-12-28 Synthesis subband filter for MPEG audio decoder and a decoding method thereof
US11/024,749 US7509294B2 (en) 2003-12-30 2004-12-30 Synthesis subband filter for MPEG audio decoder and a decoding method thereof
JP2005000062A JP4244037B2 (ja) 2003-12-30 2005-01-04 Mpegオーディオデコーダの合成フィルタ及びそのデコード方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0099746A KR100530377B1 (ko) 2003-12-30 2003-12-30 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20050070339A KR20050070339A (ko) 2005-07-07
KR100530377B1 true KR100530377B1 (ko) 2005-11-22

Family

ID=34632164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0099746A KR100530377B1 (ko) 2003-12-30 2003-12-30 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법

Country Status (4)

Country Link
US (1) US7509294B2 (ko)
EP (1) EP1557826A2 (ko)
JP (1) JP4244037B2 (ko)
KR (1) KR100530377B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI275075B (en) * 2005-10-07 2007-03-01 Quanta Comp Inc Synthesis subband filter process and apparatus
KR100853690B1 (ko) * 2007-01-31 2008-08-25 엠텍비젼 주식회사 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
US8548815B2 (en) * 2007-09-19 2013-10-01 Qualcomm Incorporated Efficient design of MDCT / IMDCT filterbanks for speech and audio coding applications
JP5454317B2 (ja) * 2010-04-07 2014-03-26 ヤマハ株式会社 音響解析装置
JP6089878B2 (ja) * 2013-03-28 2017-03-08 富士通株式会社 直交変換装置、直交変換方法及び直交変換用コンピュータプログラムならびにオーディオ復号装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243160A (ja) 1992-08-26 1994-09-02 Sony Corp 信号処理方法とその装置、離散コサイン変換方法とその装置、および、離散コサイン逆変換方法とその装置
JPH1131972A (ja) 1997-05-15 1999-02-02 Matsushita Electric Ind Co Ltd 復号装置
JP2001156644A (ja) 1999-11-29 2001-06-08 Fujitsu Ltd 直交変換装置
US6829016B2 (en) * 1999-12-20 2004-12-07 Texas Instruments Incorporated Digital still camera system and method
US7069208B2 (en) * 2001-01-24 2006-06-27 Nokia, Corp. System and method for concealment of data loss in digital audio transmission
US6885992B2 (en) * 2001-01-26 2005-04-26 Cirrus Logic, Inc. Efficient PCM buffer
JP2002245027A (ja) * 2001-02-15 2002-08-30 Seiko Epson Corp フィルタリング処理方法およびフィルタリング処理装置
JP3937788B2 (ja) * 2001-04-19 2007-06-27 ソニー株式会社 データ記録方法及び装置、データ再生方法及び装置、データ編集方法及び装置
WO2003038812A1 (en) * 2001-11-02 2003-05-08 Matsushita Electric Industrial Co., Ltd. Audio encoding and decoding device
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
EP1394772A1 (en) * 2002-08-28 2004-03-03 Deutsche Thomson-Brandt Gmbh Signaling of window switchings in a MPEG layer 3 audio data stream
US7283968B2 (en) * 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
KR100608062B1 (ko) * 2004-08-04 2006-08-02 삼성전자주식회사 오디오 데이터의 고주파수 복원 방법 및 그 장치
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform

Also Published As

Publication number Publication date
JP4244037B2 (ja) 2009-03-25
JP2005196198A (ja) 2005-07-21
US20050154597A1 (en) 2005-07-14
KR20050070339A (ko) 2005-07-07
US7509294B2 (en) 2009-03-24
EP1557826A2 (en) 2005-07-27

Similar Documents

Publication Publication Date Title
KR960013080A (ko) Mpeg 음성/영상 디코더
TWI515720B (zh) 壓縮數位化音訊信號之方法、解碼已編碼壓縮數位化音訊信號之方法、及機器可讀儲存媒體
KR100399932B1 (ko) 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
EP0990368B1 (en) Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions
US5832443A (en) Method and apparatus for adaptive audio compression and decompression
JP6177239B2 (ja) 変換符号化または変換復号化のための分析重み付けウィンドウまたは合成重み付けウィンドウの適合化
US6344808B1 (en) MPEG-1 audio layer III decoding device achieving fast processing by eliminating an arithmetic operation providing a previously known operation result
JPH02308632A (ja) 音信号を伝送しまたは記憶する方法
KR20130133847A (ko) 오디오 신호 트랙들의 펄스 포지션들의 인코딩 및 디코딩
KR100530377B1 (ko) 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
US7426462B2 (en) Fast codebook selection method in audio encoding
US7418396B2 (en) Reduced memory implementation technique of filterbank and block switching for real-time audio applications
US6078881A (en) Speech encoding and decoding method and speech encoding and decoding apparatus
KR101464977B1 (ko) 메모리 관리 방법, 및 멀티 채널 데이터의 복호화 방법 및장치
KR20070028432A (ko) 오디오 인코딩 방법
KR102244613B1 (ko) Qmf 필터링 방법 및 이를 수행하는 장치
KR100853690B1 (ko) 엠펙 오디오 디코더의 합성필터 및 그 디코딩 방법
KR0181587B1 (ko) 엠펙-1 오디오 복호기의 합성 필터링 장치 및 방법
JP4438655B2 (ja) 符号化装置、復号装置、符号化方法及び復号方法
KR100241689B1 (ko) Mpeg-2를 이용한 오디오 인코더
KR19990053837A (ko) 오디오 신호의 에러 은닉 방법과 그 장치
JPH06338805A (ja) 可変長復号化装置
US7395300B2 (en) System, and method for calculating product of constant and mixed number power of two
JP2738888B2 (ja) 画像信号帯域分割方法
KR0182946B1 (ko) 영상압축부호화기술에서 오디오 서브밴드합성필터의 메모리할당방법

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: 20121016

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131022

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee