KR0138300B1 - Apparatus and method for filtering digital audio - Google Patents
Apparatus and method for filtering digital audioInfo
- Publication number
- KR0138300B1 KR0138300B1 KR1019940030042A KR19940030042A KR0138300B1 KR 0138300 B1 KR0138300 B1 KR 0138300B1 KR 1019940030042 A KR1019940030042 A KR 1019940030042A KR 19940030042 A KR19940030042 A KR 19940030042A KR 0138300 B1 KR0138300 B1 KR 0138300B1
- Authority
- KR
- South Korea
- Prior art keywords
- vector
- discrete cosine
- inverse discrete
- window
- cosine transform
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001914 filtration Methods 0.000 title claims abstract description 39
- 239000013598 vector Substances 0.000 claims abstract description 106
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical compound NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 claims abstract description 5
- 238000013139 quantization Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 4
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명에 의한 디지탈 오디오필터링방법 및 그 방법을 수행하기 위한 장치를 공개한다. 디지탈 오디오필터링방법은 부호화된 디지탈 오디오데이타가 복호화되어 역양자화된 32개의 부밴드표본을 입력하여 2048개의 역이산코사인변환계수(Nik)에서 인자 i를 32개로, 인자 k를 16개로 줄이고, Nik가 128개의 서로 다른 값이 되도록 하고, 부밴드표본(S)을 가지고 32개의 역이산코사인벡터(Vi)를 다음 식에 따라서 구하는 역이산코사인벡터단계와,Disclosed is a digital audio filtering method and apparatus for performing the method. The digital audio filtering method inputs 32 subband samples in which encoded digital audio data is decoded and dequantized, thereby reducing the factor i to 32 and the factor k to 16 in 2048 inverse discrete cosine transform coefficients (N ik ). an inverse discrete cosine vector step in which ik is 128 different values and the 32 inverse discrete cosine vectors (V i ) having subband samples (S) are obtained according to the following equations,
역이산코사인벡터단계후에 역이산코사인벡터(Vi), 윈도윙벡터(Di) 및 이전 (n-1)블럭의 윈도우드벡터(Wi n-1)로부터 512개의 현재블럭(n)의 윈도우드벡터(Wi n)를 다음 식에 따라 구하는 윈도우드벡터단계와,After the inverse discrete cosine vector step, 512 current blocks (n) of the inverse discrete cosine vector (V i ), the window wing vector (D i ), and the window vector (W i n-1 ) of the previous (n-1) blocks A window vector step of obtaining a window vector (W i n ) according to the following equation,
(i%p×2란 i를 p의 배수로 나눈후의 나머지를 의미하며, 여기서 %는 나머지 연산자이다.) 윈도우드벡터를 저장후 초기화하고, PCM샘플로 출력하는 것을 특징으로 하고, 디지탈 오디오필터링장치는 부호화된 디지탈 오디오데이타가 복호화되고 역양자화된 부밴드표본을 입력하여 역이산코사인변환계수(Nik)와 윈도윙벡터를 저장하고 있는 제2기억수단과, 역이산코사인변환계수와 부밴드표본을 입력받아 역이산코사인변환벡터를 구하고, 윈도윙벡터와 역이산코사인변환벡터 및 이전 블럭의 윈도우드벡터를 입력받아 현재의 윈도우드벡터를 구하기 위해 연산을 수행하는 연산수단과, 주소발생부가 부밴드표본을 발생하도록 제어하고, 역이산코사인변환계수와 윈도윙벡터가 연산수단에 입력되도록 제어하고, 연산을 제어하는 제어수단을 구비하는 것을 특징으로 하며, 종래의 동작주파수보다 1/4정도 줄어든 낮은 동작주파수에서 동작하기 때문에 회로의 구현이 간단하고, 회로의 제작비가 적게 들며, 역이산코사인변환계수의 수가 줄어들어 ROM테이블이 줄어들고, 따라서 칩 크기 면에서 많은 효과를 볼 수 있다.(i% p × 2 refers to the remainder after dividing i by a multiple of p, where% is the remainder operator.) Digital audio filtering device, characterized in that the window vector is stored and initialized and output as a PCM sample. Is a second storage means for storing the inverse discrete cosine transform coefficient ( Nik ) and the windowing vector by inputting the decoded and inversely quantized subband sample encoded digital audio data, and the inverse discrete cosine transform coefficient and the subband sample. An inverse discrete cosine transform vector, a windowing vector, an inverse discrete cosine transform vector, and a window vector of a previous block, and an operation means for performing an operation to obtain a current window vector. And controlling means for generating a band sample, controlling the inverse discrete cosine transform coefficient and the windowing vector to be input to the calculation means, and controlling the operation. The circuit is simpler, and the circuit operation is simpler because it operates at a lower operating frequency, which is about 1/4 less than the conventional operating frequency, and the manufacturing cost of the circuit is low, and the number of inverse discrete cosine conversion coefficients is reduced, thereby reducing the ROM table. You can see a lot of effects in size.
Description
제1도는 일반적인 MPEG1-오디오 복호기의 블럭도이다.1 is a block diagram of a typical MPEG1-audio decoder.
제2도는 제1도에 도시된 MPEG1-오디오 복호기의 복호방법을 설명하기 위한 플로우 차트이다.2 is a flowchart for explaining a decoding method of the MPEG-1 audio decoder shown in FIG.
제3도는 제1도에 도시된 오디오필터부의 필터링방법 중 오버랩애드방법을 설명하기 위한 플로우차트이다.FIG. 3 is a flowchart illustrating an overlap add method among the filtering methods of the audio filter unit illustrated in FIG. 1.
제4도는 제1도에 도시된 오디오필터부의 필터링방법 중 MPEG1 DIS에서 채택한 방법을 설명하기 위한 플로우차트이다.FIG. 4 is a flowchart for explaining a method adopted in MPEG1 DIS among the filtering methods of the audio filter unit shown in FIG.
제5도는 본 발명에 의한 디지탈 오디오 필터링장치의 필터링방법을 설명하기 위한 플로우 차트이다.5 is a flowchart illustrating a filtering method of the digital audio filtering apparatus according to the present invention.
제6도는 제5도에 도시된 플로우차트를 세부적으로 설명하기 위한 본 발명에 의한 플로우 차트이다.6 is a flowchart according to the present invention for explaining in detail the flowchart shown in FIG.
제7도는 제6도에 도시된 플로우차트를 수행하기 위한 본 발명에 의한 디지탈 오디오필터링장치의 블럭도이다.7 is a block diagram of a digital audio filtering apparatus according to the present invention for performing the flowchart shown in FIG.
제8도는 제7도에 도시된 디지탈 오디오필터링장치의 본 발명에 의한 세부적인 블럭도이다.8 is a detailed block diagram according to the present invention of the digital audio filtering device shown in FIG.
본 발명은 MPEG(MOVING PICTURE EXPERT GROUP)1-오디오 복호기에 관한 것으로, 특히 PCM샘플을 출력하기 위해 역이산코사인변환을 할때 곱셈의 연산횟수가 줄어든 필터링방법 및 그 방법을 수행하기 위한 장치에 관한 것이다.The present invention relates to a MPEG (MOVING PICTURE EXPERT GROUP) 1-audio decoder, and more particularly, to a filtering method for reducing the number of operations of a multiplication when performing an inverse discrete cosine transform to output a PCM sample, and an apparatus for performing the method. will be.
동화상 전문가 단체(MPEG:Moving Pictures Expert Group 이하 MPEG)는 디지탈 기록/재생 매체(DSM:Digital Storage Media)를 주 대상으로 하는 동화상 및 음성정보의 부호화에 대한 국제 표준안을 제안하는 활동을 주 업무로 하는 그룹이다. 이 MPEG의 산하에 몇개의 부그룹이 있는데 그 중의 하나가 음성의 부호화를 위한 요구사항을 규정하고 그 규격을 만들어내는 오디오 부그룹이다.Moving Pictures Expert Group (MPEG) is the main task of proposing international standards for the encoding of moving picture and audio information, mainly for Digital Storage Media (DSM). Group. There are several subgroups under this MPEG, one of which is the audio subgroup, which defines the requirements for the encoding of speech and produces the standard.
MPEG1 DIS(Draft International Standard)에 제안된 필터링방법인 오버랩-애드(Overlap- Add) 방법의 역이산코사인변환(IDCT:Inverse Discret Cosine Transform 이하 IDCT) 과정에서 복호기의 샘플링 주파수가 44.1KHz라 했을때, 한 표본이 출력되고 다음 표본이 출력되기 전에, 즉 1/44.1KHz시간 동안에 복호기의 모든 연산-즉, 샘플치 분할, 역양자화, IDCT, 필터링 동작-을 마쳐야 한다. MPEG DIS에 제안된 방식으로 오디오필터링했을때 IDCT 과정에서만도 32개의 부밴드표본에 대해 2048번의 곱하기 연산이 이루어 지는데 그 최소 동작주파수를 따져보면 44.1KHz×(2048÷32)=2.8MHz가 된다. IDCT에서만 필요한 주파수가 2.8MHz이므로 역양자화할때나 다른 많은 연산이 이루어 지는 점을 감안하면 최소 동작주파수가 약 5MHz이상은 되어야 한다. 곱셈 과정에서 가장 많은 연산이 이루어지므로 동작주파수를 더 느리게 하는데 한계가 있게 되고 이로 인해 회로가 정밀한 원가가 비싼 칩을 사용해야 하며, 또한 전류소모가 많고, 각종 매개변수의 값이 저장되는 ROM 테이블의 크기가 커서 칩의 크기를 작게 하는데 문제가 있다.When the sampling frequency of the decoder is 44.1 KHz during the IDCT (Inverse Discret Cosine Transform or lower IDCT) process of the overlap-add method proposed in the MPEG1 DIS (Draft International Standard), Before one sample is printed and the next sample is printed, i.e. for 1 / 44.1 KHz time, all operations of the decoder-sample splitting, dequantization, IDCT, filtering operations-must be completed. In the case of audio filtering using the proposed method in MPEG DIS, only 2048 multiplications are performed on 32 subband samples in the IDCT process. The minimum operating frequency is 44.1KHz × (2048 ÷ 32) = 2.8MHz. Since the frequency required only in IDCT is 2.8MHz, the minimum operating frequency should be about 5MHz or more considering inverse quantization and many other calculations. Since the most multiplication is done during the multiplication process, there is a limit to the slower operating frequency, which requires the use of expensive chips with precise circuits, and a large current consumption, and the size of the ROM table in which the values of various parameters are stored. There is a problem in that the size of the chip is small.
본 발명의 목적은 상기와 같은 종래의 문제점을 해결하기 위하여 IDCT과정에서의 곱셈의 횟수를 획기적으로 줄인 디지탈 오디오 필터링방법 및 장치를 제공하는데 있다.An object of the present invention is to provide a digital audio filtering method and apparatus which drastically reduced the number of multiplications in the IDCT process in order to solve the above conventional problems.
상기 목적을 달성하기 위하여 본 발명에 의한 디지탈 오디오 필터링방법은 부호화된 디지탈 오디오데이타를 입력하여 부가정보를 복호화하는 복호화단계와, 상기 복호화된 샘플들을 역양자화하여 부밴드표본을 출력하는 역양자화단계와, 상기 부밴드표본을 입력하여 역이산코사인변환하여 윈도우드벡터를 만든 다음 PCM샘플들을 출력하는 오디오필터링단계를 포함하는 디지탈 오디오복호기에서, 상기 오디오필터링단계는 제1소정수(p)의 상기 부밴드표본을 입력받아 제2소정수(x)의 역이산코사인변환계수(Nik:여기서 i와 k는 상기 역이산코사인변환계수가 저장된 주소를 지정하기 위한 인자임)에서 상기 인자 i의 값을 제3소정수로 줄이고, 상기 인자 k의 값을 제4소정수로 줄이고, 상기 역이산코사인변환계수가 제5소정수의 서로 다른 값을 가지도록 하고, 상기 부밴드표본(S)을 가지고 상기 제1소정수의 역이산코사인벡터(Vi)를 다음 식에 따라서 구하는 역이산코사인 벡터단계와,In order to achieve the above object, a digital audio filtering method according to the present invention includes a decoding step of decoding additional information by inputting encoded digital audio data, an inverse quantization step of dequantizing the decoded samples and outputting a subband sample; In the digital audio decoder, the audio filtering step comprises inputting the subband sample to inverse discrete cosine transform to produce a window vector, and then outputting PCM samples. A band sample is input and the value of the factor i is determined from an inverse discrete cosine transform coefficient ( Nik : where i and k are factors for designating an address where the inverse discrete cosine transform coefficient is stored). Reduce to a third constant, reduce the value of the factor k to a fourth constant, and make the inverse discrete cosine transform coefficient have different values of the fifth constant. And that the sub-band sample (S) has along the first inverse discrete cosine vector (V i) of the predetermined number of the following formula to obtain the vector inverse discrete cosine phase,
상기 역이산코사인벡터단계후에 상기 역이산코사인벡터(Vi), 윈도윙벡터(Di) 및 이전(n-1) 블럭의 윈도우드벡터(Wi n-1)로부터 제6소정수의 현재(n)블럭들의 윈도우드벡터(Wi n)를 다음 식에 따라 구하는 윈도우드벡터단계와,After the inverse discrete cosine vector step, the sixth constant current from the inverse discrete cosine vector (V i ), the windowing vector (D i ), and the window vector (W i n-1 ) of the previous (n-1) block. (n) a window vector step of obtaining a window vector (W i n ) of the blocks according to the following equation,
(i%p×2란 i를 p의 배수로 나눈후의 나머지를 의미하며, 여기서 %는 나머지 연산자이다.) 상기 제1소정수로 연속하는 상기 윈도우드벡터들로 구성된 벡터열들이 제5소정수가 있을때, 제1벡터열부터 마지막 벡터열까지 PCM출력버퍼에 순차적으로 저장하는 저장단계와, 상기 벡터열이 상기 PCM출력버퍼에 저장된 후 비어진 상기 윈도우드벡터의 자리로 아직 저장되지 않은 상기 모든 벡터열들을 이동시킨후에 남게되는 상기 윈도우드벡터의 자리를 초기화하는 초기화단계와, 상기 초기화 단계후에 상기 PCM출력버퍼에 저장된 상기 벡터열들을 상기 PCM샘플들로 출력하는 출력단계를 구비하는 것을 특징으로 한다.(i% p × 2 means the remainder after dividing i by a multiple of p, where% is the remainder operator.) When vector columns of the window vectors consecutive with the first integer are the fifth integer. A storage step of sequentially storing the first vector column to the last vector column in the PCM output buffer; and all the vector columns not yet stored as empty positions of the window vector after the vector string is stored in the PCM output buffer. And an initializing step of initializing the position of the window vector remaining after moving them, and an outputting step of outputting the vector strings stored in the PCM output buffer to the PCM samples after the initializing step.
상기 다른 목적을 달성하기 위하여 본 발명에 의한 디지탈 오디오 필터링장치는 부호화된 디지탈 오디오데이타를 입력하여 부가정보를 복호화하는 복호화수단과, 상기 복호화된 샘플을 역양자화하여 부밴드표본을 저장하는 제1기억수단 및 상기 역양자화된 부밴드표본이 저장되어 있는 주소를 발생하는 주소발생수단을 포함하는 역양자화수단과, 상기 부밴드표본을 입력하여 역이산코사인변환하여 윈도우드벡터를 만든 다음 PCM샘플을 출력하는 오디오필터링수단을 포함하는 디지탈 오디오복호기에 있어서, 상기 오디오필터링수단은 역이산코사인변환계수(Nik:여기서 i 와 k는 상기 역이산코사인변환계수가 저장된 주소를 지정하기 위한 인자임)와 윈도윙벡터를 저장하고 있는 제2기억수단과, 상기 역이산코사인변환계수와 상기 부밴드표본을 입력받아 상기 역이산코사인변환벡터를 구하고, 상기 윈도윙벡터와 상기 역이산코사인변환벡터 및 이전 블럭의 윈도우드벡터를 입력받아 현재의 윈도우드벡터를 구하기 위해 연산을 수행하는 연산수단과, 상기 주소발생부가 부밴드표본을 발생하도록 제어하고, 상기 역이산코사인변환계수와 상기 윈도윙벡터가 상기 연산수단에 입력되도록 제어하고, 상기 연산을 제어하는 제어수단을 구비하는 것을 특징으로 한다.In order to achieve the above object, the digital audio filtering apparatus according to the present invention includes decoding means for decoding additional information by inputting encoded digital audio data, and first memory for dequantizing the decoded samples and storing a subband sample. Dequantization means including means and an address generating means for generating an address storing said dequantized subband sample, and inputting said subband sample to inverse discrete cosine transform to form a window vector, and then output a PCM sample. In the digital audio decoder comprising an audio filtering means, the audio filtering means is an inverse discrete cosine transform coefficient ( Nik : where i and k are factors for designating an address stored in the inverse discrete cosine transform coefficient) and a window. Input second storage means for storing a wing vector, the inverse discrete cosine transform coefficient and the subband sample; A calculation means for obtaining the inverse discrete cosine transform vector, receiving the windowing vector, the inverse discrete cosine transform vector, and the window vector of the previous block, and calculating a current window vector; and generating the address. And controlling means for generating an additional subband sample, controlling the inverse discrete cosine transform coefficient and the windowing vector to be input to the calculating means, and controlling the calculation.
이하 도면을 참조하여 본 발명에 의한 디지탈 오디오 필터링방법 및 그 방법을 수행하는 장치를 살펴본다.Hereinafter, a digital audio filtering method and an apparatus for performing the method will be described with reference to the accompanying drawings.
본 발명을 설명하기에 앞서 곱셈을 수행하는 디지탈 오디오필터를 포함하는 디지탈 오디오 복호기의 구성 및 동작과, 종래의 오디오필터링방법에 대해 도면을 참조하여 다음과 같이 상세히 설명한다.Before describing the present invention, a configuration and operation of a digital audio decoder including a digital audio filter for performing multiplication and a conventional audio filtering method will be described in detail with reference to the accompanying drawings.
제1도는 일반적인 MPEG1-오디오 복호기의 블럭도로서, 디멀티플렉서 및 에러검출부(200), 부가정보복호부(202), 역양자화부(204) 및 오디오필터부(206) 로 구성된다.FIG. 1 is a block diagram of a general MPEG1-audio decoder, which is composed of a demultiplexer and an error detector 200, an additional information decoder 202, an inverse quantizer 204, and an audio filter 206.
제2도는 제1도에 도시된 MPEG1-오디오 복호기의 복호방법을 설명하기 위한 플로우 차트이다.2 is a flowchart for explaining a decoding method of the MPEG-1 audio decoder shown in FIG.
부호화기에 의해 부호화된 일련의 비트들로 구성된 오디오데이타는 제1도에 도시된 IN으로 입력되어(제400단계) 디멀티플렉서 및 에러검출부(200)에 의해 에러가 검출되고, 부가정보복호부(202)는 디멀티플렉서 및 에러검출부(200)의 출력을 입력받아 헤더정보, 향후 입력되는 데이타의 정보를 저장하기 위한 비트할당(제402단계), 복호화되는 스케일인자 선택정보 및 스케일인자, 표본등을 각각 분할하여 역양자화부(204)에 공급하며(제404단계), 역양자화부(204)는 이를 입력받아 표본을 역양자화하며(제406단계), 오디오필터부(206)는 역양자화된 표본을 입력하여 원래의 오디오 PCM데이타를 복원한다(제408단계). 제408단계 후에 오디오필터부(206)는 PCM샘플을 출력한다(제410단계).The audio data consisting of a series of bits encoded by the encoder is input to IN shown in FIG. 1 (step 400), and an error is detected by the demultiplexer and the error detector 200, and the additional information decoder 202 is used. Receives the outputs of the demultiplexer and the error detection unit 200 and divides the header information, bit allocation for storing information of the data to be input in the future (step 402), scale factor selection information to be decoded, scale factor, and sample, respectively. The inverse quantization unit 204 is supplied (step 404), and the inverse quantization unit 204 receives the input and dequantizes the sample (step 406), and the audio filter unit 206 inputs the dequantized sample. The original audio PCM data is restored (step 408). After step 408, the audio filter unit 206 outputs a PCM sample (step 410).
제3도는 제1도에 도시된 오디오필터부(206)의 필터링방법 중 오버랩애드방법을 설명하기 위한 플로우차트이다.3 is a flowchart for explaining an overlap add method among the filtering methods of the audio filter unit 206 shown in FIG.
제4도는 제1도에 도시된 오디오필터부(206)의 필터링방법 중 MPEG1 DIS에서 채택한 방법을 설명하기 위한 플로우차트이다.FIG. 4 is a flowchart for explaining a method adopted by MPEG1 DIS among the filtering methods of the audio filter unit 206 shown in FIG.
먼저 오버랩애드방법을 도면 제3도를 참조하여 다음과 같이 상세히 설명한다.First, the overlap add method will be described in detail with reference to FIG. 3.
오디오필터부(206)는 32개의 부밴드표본(Sk)을 입력받아(제600단계) 다음 식(1)과 같이 IDCT를 하여 역이산코사인벡터 Vi(i는 벡터인자)를 만든다(제602단계).The audio filter unit 206 receives 32 subband samples (S k ) (step 600) to generate an inverse discrete cosine vector V i (i is a vector factor) by performing IDCT as shown in Equation 1 below. Step 602).
위 식(1)에서 i와 k는 인자들이다.In equation (1), i and k are factors.
식(1)에서 64개의 Vi를 만든 다음, 이것을 주기적으로 확장하여 512개의 인수의 매개벡터 Ui를 만든다(제604단계). 제604단계후에 다음의 식(2)와 같이 Ui에 윈도윙 벡터 Fi를 곱하여 윈도우드 벡터 Wi를 계산한다(제606단계).64 V i are created in Equation (1), and then periodically expanded to form a median vector U i of 512 arguments (step 604). After step 604, the window vector W i is calculated by multiplying Ui by the windowing vector F i as shown in Equation (2) (step 606).
Wi=UiFii=0-511W i = U i F i i = 0-511
이렇게 해서 구해진 Wi(i=0-511)는 윈도우드벡터들은 PCM출력버퍼에 저장된다(제608단계). 윈도우드벡터 W0-W31까지가 PCM출력버퍼로 출력된 제608단계후에 W32-W511까지는 W0-W479의 왼쪽으로 이동되고, W480-W511까지까지는 `0'으로 초기화되며, 이와 같은 초기화는 윈도우드 벡터가 PCM출력버퍼에 모두 저장될 때까지 계속한다(제610단계).The thus obtained W i (i = 0-511), the window vectors are stored in the PCM output buffer (step 608). After the window vector W 0 to W 31 is output to the PCM output buffer, after step 608, W 32- W 511 is moved to the left of W 0- W 479 , and W 480- W 511 is initialized to '0'. This initialization is continued until all the window vectors are stored in the PCM output buffer (step 610).
제610단계후에 PCM출력버퍼에 저장된 윈도우드 벡터들은 PCM샘플로 출력된다(제612단계).After operation 610, the window vectors stored in the PCM output buffer are output to the PCM sample (operation 612).
MPEG1-DIS에서 채택한 오디오필터부(206)의 필터링방법을 제4도를 참조하여 다음과 같이 상세히 설명한다.The filtering method of the audio filter unit 206 adopted in MPEG1-DIS will be described in detail as follows with reference to FIG.
오버랩애드방법과 같이 오디오필터부(206)는 역양자화된 32개의 새로운 부밴드 표본을 입력한다(제800단계). 제800단계후에 역이산코사인벡터 V0부터 V959를 V64부터 V1023으로 64개 만큼 이동시킨다(제802단계). 제802단계후에 비워진 역이산코사인벡터 V0부터 V63에 새로 들어온 32개의 부밴드표본(Sk)을 식(1)로 매트릭싱을 한다(제804단계). 제804단계후에 1024개의 역이산코사인벡터 Vi의 중간중간에서 64개씩의 원소들을 취하여 512개의 원소를 갖는 매개벡터 Ui를 구성한다(제806단계). 제806단계후에 매개벡터 Ui에 윈도윙 벡터 Di를 곱하여 윈도우드벡터 Wi를 구성한다(제808단계). 제808단계후에 31개의 윈도우드 벡터 Wi간격으로 건너뛰어 벡터를 추출한뒤 더해서 32개의 출력표본을 다음 식(3)과 같이 구한다(제810단계). 제810단계후에 32개의 출력표본(Tj)을 PCM샘플로 출력한다(제812단계).As in the overlap add method, the audio filter unit 206 inputs 32 dequantized 32 new subband samples (step 800). After operation 800, 64 inverse discrete cosine vectors V 0 to V 959 are moved from V 64 to V 1023 (step 802). The 32 subband samples S k newly introduced into the inverse discrete cosine vectors V 0 to V 63 emptied after step 802 are matrixed by Equation (1) (step 804). After step 804, 64 elements are taken in the middle of the 1024 inverse discrete cosine vectors V i to form an intermediate vector U i having 512 elements (step 806). After operation 806, the window vector W i is formed by multiplying the intermediate vector U i by the windowing vector D i (operation 808). After step 808, the vector is extracted by skipping at 31 window vectors W i and then 32 output samples are obtained as shown in Equation (3) (step 810). After operation 810, 32 output samples T j are output as PCM samples (operation 812).
T31n=W(31)+W(63)+…+W(551)이다.T 31n = W (31) + W (63) +... + W (551).
여기서 n은 블럭시간을 가리키며, 블럭시간이란, MPEG1 규격으로 부호화된 디지탈오디오 데이타는 순차적으로 입력되는 12개의 블럭으로 구성된 프레임으로 입력이 되는데 이때 각 블럭이 입력되는 시간을 의미한다.Here, n denotes a block time, and block time means that digital audio data encoded in the MPEG1 standard is input as a frame composed of 12 blocks which are sequentially input. In this case, each block is input time.
제5도는 본 발명에 의한 디지탈 오디오 필터링장치의 필터링방법을 설명하기 위한 플로우 차트이다.5 is a flowchart illustrating a filtering method of the digital audio filtering apparatus according to the present invention.
제6도는 제5도에 도시된 플로우차트를 세부적으로 설명하기 위한 본 발명에 의한 플로우 차트이다.6 is a flowchart according to the present invention for explaining in detail the flowchart shown in FIG.
제7도는 제6도에 도시된 플로우차트를 수행하기 위한 본 발명에 의한 디지탈 오디오필터링장치의 블럭도로서, 역양자화부(1400), 저장부(1402), 제어부(1404) 및 연산부(1406)로 구성되며, 참조부호 1408은 제1도에 도시된 오디오필터부(206)에 대응하고, 참조부호 1400은 제1도에 도시된 역양자화부(204)에 대응한다.FIG. 7 is a block diagram of the digital audio filtering apparatus according to the present invention for performing the flowchart shown in FIG. 6, which includes a dequantizer 1400, a storage 1402, a controller 1404, and a calculator 1406. Reference numeral 1408 corresponds to the audio filter unit 206 shown in FIG. 1, and reference numeral 1400 corresponds to the inverse quantization unit 204 shown in FIG.
제8도는 제7도에 도시된 본 발명에 의한 디지탈 오디오필터링장치의 세부적인 블럭도로서, 역양자화부(1400)를 구성하는 주소발생부(1600) 및 제1저장부(1602)와 오디오필터부(1408)를 구성하는 제2저장부(1604), 제3저장부(1606), 연산부(1608), 제1제어부(1610) 및 제2제어부(1612)로 구성된다.FIG. 8 is a detailed block diagram of the digital audio filtering apparatus according to the present invention shown in FIG. 7 and includes an address generator 1600, a first storage unit 1602, and an audio filter constituting the inverse quantization unit 1400. The second storage unit 1604, the third storage unit 1606, the operation unit 1608, the first control unit 1610, and the second control unit 1612 constituting the unit 1408 are configured.
디지탈 오디오복호기에서 본 발명에 의한 디지탈 오디오필터링방법 및 그 방법을 수행하는 장치를 상술한 도면 제5, 6, 7 및 8도를 참조하여 다음과 같이 상세히 설명한다.A digital audio filtering method and an apparatus for performing the same according to the present invention in a digital audio decoder will be described in detail with reference to FIGS. 5, 6, 7 and 8 as described above.
제7도에 도시된 역양자화부(1400)는 디지탈 오디오데이타의 표본을 역양자화하여 제8도에 도시된 제1저장부(1602)에 단자 IN1를 통해 저장하고, 주소발생부(1600)는 제1제어부(1610)에서 발생되는 제어신호 i와 k(여기서 i와 k는 역이산코사인변환계수의 인자들임)의 제어를 받아 상기 제1저장부(1602)에 저장된 32개의 부밴드표본을 단자 IN2를 통해 곱셈, 덧셈 및 누산을 수행하는 연산부(1608)에 공급하고, 연산부(1603)는 제2저장부(1604)에 저장된 역이산코사인변환계수(Nik)를 제1제어부(1610)의 제어에 따라 입력하여 역이산코사인변환벡터(Vi)를 다음과 같이 구한다(제1000단계).Inverse quantization unit 1400 shown in FIG. 7 dequantizes a sample of digital audio data, and stores it in the first storage unit 1602 shown in FIG. 8 through terminal IN1, and the address generator 1600 32 subband samples stored in the first storage unit 1602 are controlled by the control signals i and k (where i and k are factors of inverse discrete cosine transform coefficients) generated by the first control unit 1610. The multiplication, addition and accumulation are supplied to the operation unit 1608 that performs multiplication, addition, and accumulation through IN2, and the operation unit 1603 supplies the inverse discrete cosine transform coefficient N ik stored in the second storage unit 1604 of the first control unit 1610. an input to an inverse discrete cosine transform vector (V i) calculated in accordance with the control as follows (the step 1000).
여기서, 제8도에 도시된 제2제어부(1612)는 무엇이 연산되고 어느것 부터 먼저 연산할 것인가를 결정해 주는 역할을 하며, 제1제어부(1610)는 연산부(1608)에 무엇이 입력될것 인가를 결정해주고, 연산이 덧셈인가 뺄셈인가를 결정해 주기도 한다.Here, the second control unit 1612 shown in FIG. 8 plays a role of determining what is to be calculated and which one is to be calculated first. The first control unit 1610 determines what is to be input to the operation unit 1608. It also determines whether an operation is addition or subtraction.
하나의 Vi를 계산하기 위한 방법은 다음의 식(4), (5), (6), (7) 및 (8)에 나타나 있다.The method for calculating one V i is shown in the following equations (4), (5), (6), (7) and (8).
먼저 IDCT에 쓰이는 역이산코사인계수인 Nik는 다음의 식(4)과 같다.First, N ik , the inverse discrete cosine coefficient used in IDCT, is given by Equation (4) below.
위 식(4)를 다시 쓰면 식(5)가 된다.Rewrite equation (4) above to form equation (5).
위 식(5)에서 보면 cos함수는 주기가 2π이므로 i와 k에 따라 128개의 cos계수만 있으면 된다는 것을 알 수 있다. 물론 64개 더 나아가 32개의 cos계수만 있어도 되지만 하드웨어의 복잡도를 고려할 때 128개의 계수가 가장 무난하다고 할 수 있다. 본 발명에서는 이런 성질을 이용해서 서로 다른 Nik값을 2048개에서 128개로 줄였다.In Equation (5), since the cos function has a period of 2π, only 128 cos coefficients are needed according to i and k. Of course, 64 and 32 cos coefficients may be necessary, but considering the complexity of the hardware, 128 coefficients are the best. In the present invention, this property was used to reduce the different Nik values from 2048 to 128.
식(1)을 나열하면 다음의 식(6)과 같이 된다.Listing Equation (1) gives the following equation (6).
Vi=Ni0×S0+Ni1×S1+Ni2×S2+…Ni30×S30+Ni31×S31. i=0-63 식(6)Vi = N i0 × S 0 + N i1 × S 1 + N i2 × S 2 +... N i30 × S 30 + N i31 × S 31 . i = 0-63 (6)
그런데 식(5)는 cos함수가 2차 평면계에서 Y축을 기준으로 대칭이기 대문에 다음과 같이Equation (5) is cos function symmetric about the Y axis in the second plane system.
Ni0=|Ni31|N i0 = | N i31 |
Ni1=|Ni30|N i1 = | N i30 |
Ni2=|Ni32|N i2 = | N i32 |
: , i=0-63:, i = 0-63
Ni14=|Ni17|N i14 = | N i17 |
Ni15=|Ni16|이 되며 식(6)은 다음의 식(7)이 된다.N i15 = | N i16 | and equation (6) becomes the following equation (7).
Vi=Ni0×(S0±S31)+Ni1×(S1±S30)+Ni2×(S2±S29)+…+Ni14×(S14±S17)+Ni31×(S15±S16). 식(7)Vi = N i0 × (S 0 ± S 31 ) + N i1 × (S 1 ± S 30 ) + N i2 × (S 2 ± S 29 ) +... + N i14 × (S 14 ± S17) + N i31 × (S 15 ± S 16 ). Formula (7)
여기서 i=0-63이고, 위에서 부밴드 표본(Sk)의 값은 i가 짝수이면 (+)이고, i가 홀수이면 (-)가 된다.Where i = 0-63, and the value of the subband sample (S k ) from above is (+) if i is even and (-) if i is odd.
그러므로 식(7)을 정리하면 식(8)로 쓸 수 있다.Therefore, summarizing equation (7) can be written as equation (8).
상술한 바와 같이 인자 k의 수는 32개에서 16개로 줄어들었음을 알 수 있다(제1200단계).As described above, it can be seen that the number of factors k is reduced from 32 to 16 (step 1200).
다음으로 인자 i의 성질을 다음과 같이 살펴본다.Next, look at the properties of the argument i as follows:
식(8)의 역이산코사인벡터 Vi는 다음과 같은 성질을 가진다.The inverse discrete cosine vector V i of equation (8) has the following properties.
V0, V1, …, V15까지는 값이 존재하지만 i=16이 되면 식(5)에서 Nik=cos(π/2)의 홀수배가 되어 k값에 상관없이 '0'이다.V 0 , V 1 ,. , V 15 exists, but when i = 16, it becomes odd multiple of N ik = cos (π / 2) in Eq. (5), and is '0' regardless of k value.
또한 i=17이면 식(5)에서And if i = 17
윗 식(9)에서 항②와 항③이 같은 이유도 마찬가지로 cos함수가 2차 평면계의 Y축을 축으로 대칭을 이루고 있기 때문이다.The reason for the same terms ② and ③ in Equation (9) is that the cos function is symmetric about the Y axis of the secondary plane system.
그러므로 i=17부터 i=32까지도 식(9)와 마찬가지로 다음과 같은 관계가 성립된다.Therefore, the following relationship holds for i = 17 to i = 32, as in equation (9).
V17=-V15 V 17 = -V 15
V18=-V14 V 18 = -V 14
::
V31=-V1 V 31 = -V 1
V32=-V0 V 32 = -V 0
즉, Vi=-V(32-i), (i=17-32) --------식(10)That is, V i = -V (32-i) , (i = 17-32) -------- Equation (10)
가 된다.Becomes
마찬가지로Likewise
V49=-V42 V 49 = -V 42
V50=-V46 V 50 = -V 46
::
V62=-V34 V 62 = -V 34
V63=-V33 V 63 = -V 33
즉 Vi=V(96-i), (i=49-63) ------- 식(11)That is, V i = V (96-i) , (i = 49-63) ------- Equation (11)
이 된다.Becomes
상술한 바와 같 인자 i의 수는 종래의 64개에서 32개로 줄어들었음을 알 수 있며(제1202단계), 역이산코사인벡터는 식(8)을 사용하여 구한다(제1204단계).As described above, it can be seen that the number of factors i has been reduced from 64 to 32 (step 1202), and an inverse discrete cosine vector is obtained using Equation (8) (step 1204).
결과적으로, 역이산코사인벡터(Vi)를 구하기 위한 종래의 디지탈 오디오필터부(206)에서 수행되는 곱셈연산은 i=0-63, k=31이므로 2048(=64×32)번 이었으나 관계식(10), 식(11) 및 식(8)에 의해 알 수 있는 바, IDCT에 소요되는 본 발명에 의한 디지탈 오디오필터링장치의 곱셈연산은 i=0-15, i=33-48 및 k=0-15이므로 총 512(=32×16)번이 되어 종래의 MPEG DIS에 제시된 필터링방법에 의한 총 곱셈횟수에 비해 1/4로 줄어듬을 알 수 있다.As a result, the multiplication operation performed in the conventional digital audio filter unit 206 for obtaining the inverse discrete cosine vector V i was 2048 (= 64 × 32) times because i = 0-63 and k = 31. As can be seen from equations (11) and (8), the multiplication operation of the digital audio filtering device according to the present invention required for IDCT is i = 0-15, i = 33-48 and k = 0. Since it is -15, the total number is 512 (= 32 x 16), which is reduced to 1/4 compared to the total number of multiplications by the filtering method proposed in the conventional MPEG DIS.
IDCT에서 곱셈의 연산을 줄이기 위한 오디오필터링장치의 동작은 제1제어부(1610)가 상술한 인자 i와 k의 값만을 발생하여 제8도에 도시된 주소발생부(1600)에 공급하여 제1저장부(1602)가 부밴드표본을 발생하도록 제어하고, 제2저장부(1604)가 필요한 역이산코사인변환계수를 연산부(1608)에 공급하도록 제어함으로서 이루어진다.In the operation of the audio filtering device for reducing the multiplication operation in IDCT, the first control unit 1610 generates only the values of the factors i and k described above, and supplies them to the address generator 1600 shown in FIG. The control unit 1602 generates a subband sample, and the second storage unit 1604 controls the supply of necessary inverse discrete cosine transform coefficients to the operation unit 1608.
제1000단계후에 윈도우드벡터(Wi)를 구하여 PCM출력버퍼에 저장하기 위하여(제1002단계) 제8도에 도시된 연산부(1608)는 제1제어부(1610)의 제어를 받아 제3저장부(1606)로부터 윈도윙벡터 Di를 입력하여 V(i%64)에 곱한 다음 연산부(1608)의 누산기에 저장된 이전(n) 블럭의 윈도우드벡터(Wi n-1)를 가산하여 하나의 Vi로부터 구할 수 있는 윈도우드 벡터(Wi n-1)를 식(12)를 통해 512개 구한다(제1206단계).The order to store the PCM output buffer, obtain a window de vector (W i) after step 1000 (the 1002 phase) under the control of the operation unit 1608 of the first controller 1610 illustrated in Fig. 8 a third storage unit Input the windowing vector D i from 1606, multiply it by V (i% 64) , and then add the window vector W i n-1 of the previous (n) block stored in the accumulator of the calculator 1608 to add one. 512 window vectors (W i n-1 ) that can be obtained from V i are obtained through Equation (12) (step 1206).
식(12)에서 연산자 %는 나머지를 취하는 연산자로서, V(i%64)는 인자 i를 64로 나눈후 나머지에 해당하는 인자의 역이산코사인벡터를 의미한다.In Equation (12), the operator% is the operator to take the remainder, and V (i% 64) is the inverse discrete cosine vector of the factor corresponding to the remainder after dividing the argument i by 64.
연산부(1608)는 제1206단계후에 구하여진 512개의 Wi중 앞에서부터 32개의 벡터 W0부터 W31까지를 PCM출력버퍼에 순차적으로 저장한다(제1208단계).The calculating unit 1608 sequentially stores 32 vectors W 0 to W 31 from the front of the 512 W i obtained after the step 1206 in the PCM output buffer (step 1208).
제1208단계후에 윈도우드벡터를 초기화시키기 위해(제1004단계), 연산부(1608)는 W32부터 W511까지를 W0에서 W479까지로 이동시킨 다음, W480부터 W511까지를 '0'으로 초기화 시킨다(제1210단계).In order to initialize the window vector after step 1208 (step 1004), the operation unit 1608 moves W 32 to W 511 from W 0 to W 479 , and then moves W 480 to W 511 from '0'. Initialize to step 1210.
제1210단계후에 PCM출력버퍼에 저장된 윈도우드벡터를 PCM샘플로 출력하게 된다(제1006단계 및 제1212단계).After step 1210, the window vector stored in the PCM output buffer is output as a PCM sample (steps 1006 and 1212).
또한 종래에는 Vi를 저장하기 위한 버퍼가 필요하였으나 본 발명에 의한 오디오 필터링장치에서는 식(10) 및 식(11)을 이용하여 Vi를 없앤다. 즉, V0을 계산한 후 V0만을 이용해서 구할 수 있는 모든 Wi를 계산하는 이 방법을 다음의 식(13)에서 알 수 있다.In addition, although a buffer for storing V i is conventionally required, the audio filtering apparatus according to the present invention eliminates V i using Equations (10) and (11). That is, it can be seen that after calculating the V 0 is calculated for all of W i, which is available using only V 0 method in the equation (13).
이상과 같이 Wi를 구하면 Vi버퍼는 필요없게 된다.If W i is obtained as above, V i buffer is not needed.
결론적으로, MPEG DIS에서 제시하는 오디오 필터링방법과 장치를 본 발명에 의한 오디오 필터링장치를 비교해 볼 때 복호기의 출력샘플링 주파수 44.1KHz에서 IMDCT에 필요한 최소 주파수는 44.1KHz×(512÷32)0.7MHz, 즉 전체 필요한 동작주파수는 약 1.4MHz로써 종래의 동작주파수보다 1/4정도 줄어든 낮은 동작주파수에서 동작하기 때문에 회로의 구현이 간단하고, 회로의 제작비가 적게 들며, 역이산코사인변환계수(Nik)의 수가 줄었기 때문에 ROM테이블이 줄어들고, 따라서 칩 크기 면에서 많은 효과를 볼 수 있다.In conclusion, when comparing the audio filtering method and apparatus proposed by MPEG DIS with the audio filtering device according to the present invention, the minimum frequency required for IMDCT is 44.1KHz × (512 ÷ 32) at 44.1KHz. 0.7MHz, that is, the total required operating frequency is about 1.4MHz, and it operates at a lower operating frequency, which is about 1/4 less than the conventional operating frequency. Since the number of N ik ) is reduced, the ROM table is reduced, and thus, many effects can be seen in terms of chip size.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940030042A KR0138300B1 (en) | 1994-11-16 | 1994-11-16 | Apparatus and method for filtering digital audio |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940030042A KR0138300B1 (en) | 1994-11-16 | 1994-11-16 | Apparatus and method for filtering digital audio |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960018982A KR960018982A (en) | 1996-06-17 |
KR0138300B1 true KR0138300B1 (en) | 1998-05-15 |
Family
ID=19398045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940030042A KR0138300B1 (en) | 1994-11-16 | 1994-11-16 | Apparatus and method for filtering digital audio |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0138300B1 (en) |
-
1994
- 1994-11-16 KR KR1019940030042A patent/KR0138300B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR960018982A (en) | 1996-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6064954A (en) | Digital audio signal coding | |
EP2052548B1 (en) | Encoder, decoder and methods for encoding and decoding data segments representing a time-domain data stream | |
KR100296549B1 (en) | A method of coding and decoding audio signals | |
JP4689625B2 (en) | Adaptive mixed transform for signal analysis and synthesis | |
JP4398979B2 (en) | APPARATUS AND METHOD FOR CONVERTING A CONVERSION REPRESENTATION OR INVERTING A CONVERSION REPRESENTATION | |
JPH06506070A (en) | Speech coder and method with spectral interpolation and fast codebook search | |
JP2002526798A (en) | Encoding and decoding of multi-channel signals | |
CN101484937B (en) | Decoding of predictively coded data using buffer adaptation | |
WO2008021247A2 (en) | Arbitrary shaping of temporal noise envelope without side-information | |
JPH08263098A (en) | Acoustic signal coding method, and acoustic signal decoding method | |
JP2001519552A (en) | Method and apparatus for generating a bit rate scalable audio data stream | |
EP0401452B1 (en) | Low-delay low-bit-rate speech coder | |
RU2754437C1 (en) | Method and device for distributing the bit budget between subframes in the celp codec | |
KR0138300B1 (en) | Apparatus and method for filtering digital audio | |
US5822721A (en) | Method and apparatus for fractal-excited linear predictive coding of digital signals | |
Hilpert et al. | Real-Time Implementation of the MPEG-4 Low-Delay Advanced Audio Coding Algorithm (AAC-LD) on Motorola's DSP56300 | |
KR102569784B1 (en) | System and method for long-term prediction of audio codec | |
US6785646B2 (en) | Method and system for performing a codebook search used in waveform coding | |
KR0181587B1 (en) | Synthesis filtering apparatus and method of mpeg-1 audio decoder | |
DE60210174T2 (en) | Method for signal coding by means of vector quantization | |
US5761633A (en) | Method of encoding and decoding speech signals | |
JP3154293B2 (en) | Audio signal band synthesis decoding device | |
De Smet et al. | Do not zero-pute: An efficient homespun MPEG-Audio layer II decoding and optimization strategy | |
JP3258526B2 (en) | Compressed audio decompression device | |
Oh et al. | New implementation techniques of a real-time MPEG-2 audio encoding system |
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: 20100216 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |