KR100300887B1 - A method for backward decoding an audio data - Google Patents

A method for backward decoding an audio data Download PDF

Info

Publication number
KR100300887B1
KR100300887B1 KR1019990006157A KR19990006157A KR100300887B1 KR 100300887 B1 KR100300887 B1 KR 100300887B1 KR 1019990006157 A KR1019990006157 A KR 1019990006157A KR 19990006157 A KR19990006157 A KR 19990006157A KR 100300887 B1 KR100300887 B1 KR 100300887B1
Authority
KR
South Korea
Prior art keywords
data
reverse
decoding
step
frame
Prior art date
Application number
KR1019990006157A
Other languages
Korean (ko)
Other versions
KR20000056661A (en
Inventor
유수근
박정재
Original Assignee
유수근
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유수근 filed Critical 유수근
Priority to KR1019990006157A priority Critical patent/KR100300887B1/en
Publication of KR20000056661A publication Critical patent/KR20000056661A/en
Application granted granted Critical
Publication of KR100300887B1 publication Critical patent/KR100300887B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • 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/00007Time or data compression or expansion
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes

Abstract

본 발명은 디지털 오디오 데이터를 역방향으로 디코딩하는 방법에 관한 것으로서, 순방향 디코딩 알고리즘을 그대로 사용하는 방법과 역방향 디코딩 알고리즘을 개발하여 효율을 높이는 방법이 있으며, 이때 본 발명의 역방향 디코딩 알고리즘은, 압축된 디지털 오디오 데이터의 마지막 프레임 헤더를 확인하는 제 1단계; The present invention is a method of increasing the efficiency by developing a method and a reverse decoding algorithm used as the forward decoding algorithm, relates to a method for decoding in a direction opposite the digital audio data, wherein the reverse decoding algorithm of the present invention, compressed digital the first step to determine the last frame header of the audio data; 상기 확인된 헤더 정보에 근거하여, 해당 프레임을 구성하는 복수의 단위 블록 데이터 전체에 대하여 동시에 역양자화하는 제 2단계; A second step on the basis of the identified header information, at the same time inverse quantization with respect to the entirety of the plurality of unit block data forming the corresponding frame; 상기 역양자화된 데이터에 대해, 상기 단위 블록간의 연속성을 유지하면서 주파수 대역별 데이터로 복원하는 제 3단계; A third step for the inverse quantized data and restore it to the band-specific data while maintaining continuity between the said unit blocks; 및 상기 복원된 주파수 대역별 데이터를 시간 역순의 오디오 샘플 데이터로 변환출력하는 제 4단계를 포함하여 이루어짐으로써, 알고리즘과 연산량, 메모리 사용량이 순방향 디코딩 방법과 거의 유사하면서도 역방향 디코딩이 가능하며, 디지털로 압축된 오디오 데이터를 테이프 등과 같이 순방향과 역방향 트랙을 갖는 아날로그 매체에 녹음하는 경우 한 방향의 기록으로 두 트랙을 모두 녹음할 수 있도록 하는 매우 유용한 발명인 것이다. And the reconstructed frequency bands data by yirueojim to a fourth step for outputting converted into audio sample data in reverse chronological order, possible algorithms and computational complexity, and the reverse decoded, while memory usage is almost similar to the forward-decoding method, and a digital when recording the compressed audio data to an analog medium having a forward and reverse tracks, such as the tape is very useful inventions which to record both a track with the recording in one direction.

Description

디지털 오디오 데이터의 역방향 디코딩 방법 { A method for backward decoding an audio data } Reverse method of decoding digital audio data {A method for backward decoding an audio data}

본 발명은 MPEG 오디오 데이터를 아날로그 신호로 역방향으로 디코딩하는 방법에 관한 것으로서, 특히 디지털 오디오 데이터를 테이프 등과 같은 아날로그 매체에 고속으로 녹음시, 메모리 사용량이나 연산량을 크게 증가시키지 않고도 역방향 디코딩하여 아날로그 오디오 신호를 역방향으로 기록가능하게 한 디지털 오디오의 역방향 디코딩 방법에 관한 것이다. The invention MPEG audio data relates to a method for decoding in a direction opposite to an analog signal, in particular digital audio data to analog for recording at a high speed to the medium, an analog audio signal by the reverse decoding without largely increasing the memory amount or the amount of computation, such as the tape It will enable the recording in the reverse direction on the reverse decoding process of a digital audio.

일반적으로 오디오 데이터를 저장함에 있어서, 디지털 방식으로 저장하는 경우에는 기록 매체 간의 복제시 음질의 손실이 없는 것은 물론, 디지털 변환시 효율적인 압축 방식을 이용하면 큰 음질의 손실 없이도 데이터량을 상당히 줄일 수 있기 때문에 데이터의 보관 및 관리가 용이하며, 통신상으로 데이터를 전송할 경우에 효율이 뛰어나는 등 아날로그 방식으로 저장하는 경우에 비해 여러 가지 장점을 지니고 있다. In general, stores the audio data, if stored in a digital method, because you can significantly reduce the amount of data without loss of a large sound quality using, of course, digital conversion efficient compression method with no loss of quality during replication between the recording medium and the storage and management of data easily, it has a number of advantages as compared with the case such as the efficiency is excellent when transferring data over a communication for storing in an analog manner.

이와 같은 여러 장점으로 인해, 오디오 데이터를 디지털 데이터로 보다 효율적으로 변환시키기 위한 여러 가지 인코딩 방법이 고안된 바 있으며, 그 중 대표적인 것으로 MPEG(Moving Picture Expert Group) 오디오 규격이 있는바, MPEG 오디오란 고품질??고능률의 스테레오 부호화를 위한 국제표준화기구(ISO)/국제전기기술위원회(IEC)의 표준방식으로서, 종래 압축부호화 방식에 비해 뛰어난 음질을 실현할 수 있어서 MPEG 비디오와 조합되어 고능률의 멀티미디어 정보 압축을 실현할 수 있는 것은 물론, 디지털 음악 방송 등에 단독으로 이용할 수도 있다. Thus, due to several advantages, and a bar designed a variety of encoding methods for converting audio data more efficiently with digital data to be representative of that MPEG (Moving Picture Expert Group) bar, MPEG audio is high quality in audio standard? ? as the International Organization for standardization (ISO) / standard method of the International Electrotechnical Commission (IEC) for the stereo coding of high efficiency, conventional compression encoding format of multimedia information compression method can achieve excellent sound quality and in combination with MPEG video efficiently than it can be realized in the course, you can also individually available like digital music broadcasting. 최초 MPEG1부터 시작하여, 점점 증가되고 있는 멀티미디어 데이터 압축 표준에 대한 새로운 필요성으로 인해 MPEG2를 거쳐, 객체지향 멀티미디어 통신을 위한 MPEG4가 발표되었으며, 현재도 계속 연구가 진행 중이다. First, starting with MPEG1, MPEG2 through due to the new need for more and more being increased multimedia data compression standard, MPEG4 has been announced for object-oriented multimedia communication, currently continuing research in progress.

처음에 표준화된 MPEG1은 동영상과 오디오를 디지털 저장 장치에 최대 1.5Mbps로 압축??저장하기 위한 코딩 기술로 모두 다섯 부분으로 구성되어 있으며, 이 중 하나인 오디오 부분에는 3가지의 오디오 코딩 기법이 정의되어 있는바, 이를 각각 계층, 즉 레이어(Layer)1, 레이어2, 레이어3라고 부르며, 계층-3(이하 'MP3'라고 함)이 가장 세밀한 알고리즘을 사용하는 반면 압측성능이 우수하고, 계층-1과 계층-2를 개념적으로 포함하고 있으므로(즉, 하향 호환성이 있다), 이하에서는 MP3를 기준으로 아날로그 오디오 데이터의 인코딩 방법에 대해 간략히 설명한다. Standardized MPEG1 initially consists of five parts, all of a coding technique for storing ?? compress video and audio to up to 1.5Mbps on digital storage devices, is one of the audio portion of this definition has three audio coding techniques which it is a bar, this layer each, that is, the layer (layer) 1, layer 2, is called a layer 3, layer-3 (hereinafter referred to as 'MP3' & quot;) is the most, while the use of the algorithm detailed apcheuk performance is excellent, and the layer- because it contains a 1 and layer-2 conceptually (i.e., a down-compatibility), the following description is an overview of the encoding method for analog audio data by MP3.

MPEG의 오디오 레이어들은 인식 코딩 또는 지각 부호화(Perceptual Coding)이라고 불리우는 압축 코딩 기법을 사용하는데, 이것은 사람의 청감 모델을 분석, 적용한 기법으로서 마스킹(Masking) 효과라고 하는 사람 귀의 둔감함을 이용한 일종의 트릭이라고 할 수 있다. Audio layer of the MPEG are to use a compressed coding scheme, referred to as the recognized coding or perceptual coding (Perceptual Coding), which be described as a sort of trick using human ear insensitivity called masking (Masking) effect as the analysis, applying techniques of the Human Auditory model of human can.

사람의 귀는 보통 20㎐에서 20㎑의 소리를 들을 수 있는데 이를 가청 주파수라고 하며, 각 주파수 범위마다 청각의 민감성이 달라지며, 특히 2㎑에서 5㎑의 대역에서 가장 민감한 것으로 알려져 있다. The human ear is usually there to listen to the audio frequency 20㎑ in 20㎐ called it, becomes the auditory sensitivity differs for each frequency range, in particular, is known to be the most sensitive in the range from 5㎑ 2㎑.

예를 들어 여러 사람이 피아노 연주를 듣는다고 할 때, 연주가가 피아노를 치지 않을 때에는 피아노의 현에서 울리는 여음을 들을 수 있지만 피아노 건반을다시 치는 순간 사람들은 그 소리를 더 이상 들을 수 없게 된다. For example, when a number of people hears the piano playing when playing the piano it does not hurt to listen to yeoeum sounds of the piano at the present moment, but hitting the piano keys again, people are no longer able to hear the sound more. 이는 여음이 없어져서가 아니라 그 음이 건반을 칠 때 나는 소리에 비해 작기 때문이다. This is because I am small compared to sound when you hit those notes on the keyboard, not the yeoeum is eliminated. 즉 큰 음(Masker)이 존재하고 있는 상태에서, 이 음 부근의 일정 범위, 즉 임계대역(Critical Band) 이하의 음은 꽤 레벨이 높은 순음임에도 들리지 않게 되는 것이다. That is, that a large negative (Masker) in a state that is present, a certain range in the vicinity of the well, that is below the critical band of the sound (Critical Band) is inaudible even though fairly high level pure tones. 이러한 원리를 주파수 마스킹 효과라고 하는데, 주파수 대역에 따라 마스킹되는 음의 임계값도 달라지며, 귀에 민감한 부분에서는 마스킹되는 음의 임계값이 작게 되며 둔감한 부분은 큰 마스킹 임계값을 갖게 된다. This principle is called the frequency masking effect, becomes also vary the threshold value of the sound to be masked in accordance with the frequency band, the ear is less sensitive part of the masking threshold is negative and insensitive portion will have a greater masking threshold.

마스킹 효과에는 상기 주파수 마스킹과 더불어 시간적(Temporal) 마스킹이 있다. Masking effect, there are time (Temporal) masked with the masking frequency. 이는 어떤 큰 소리를 듣고 난 후에 이보다 작은 소리를 들을 수 있기까지 일정한 지연 시간이 있다는 것이다. It is that a certain amount of delay to be able to hear soft sounds than after listening to some loud. 예컨대 60㏈의 소리를 5㎳동안 들려준 후 연속해서 40㏈의 소리를 들려줄 경우 약 5㎳ 이후에야 그 소리를 감지할 수 있다. For example, after a row over who hear the sound of 5㎳ 60㏈ line if you hear the sound of 40㏈ only after about 5㎳ can detect the sound. 이와 같은 지연 시간 역시 주파수 대역에 따라 다른 값을 갖게 된다. Such a delay is also to have a different value depending on the frequency band.

MP3는 이러한 사람의 청각 심리 모델을 이용해서, 주파수 대역에 따라 양자화에 의해 발생되는 양자화 잡음을 마스킹 임계값과 지연 시간 내에서 허용토록 하여 오디오 데이타의 비트율을 감소시킴으로써 음질의 손실 없이 압축할 수 있게 한것이다. MP3 is by using a psychoacoustic model of such a person, and the quantization noise caused by the quantization in accordance with the frequency band ever allowed in the masking threshold value and the delay time by reducing the bit rate of audio data can be compressed without loss of quality you almost certainly.

이와 같은 MP3 인코딩 방법에 대하여, 일반적인 인코딩 장치의 일부 구성을 개략적으로 도시한 도 1 및 도 2를 참조하여, 각 단계별로 보다 상세히 살펴보면 다음과 같다. In respect to such as an MP3 encoding method, with reference to some of the configuration schematically illustrated by Figs. 1 and 2, a typical encoding device, more detailed look at each step as follows.

(1) 서브밴드 부호화(Subband Coding) 및 MDCT (1) the subband coding (Subband Coding), and MDCT

임계(critical) 밴드 등의 청각 심리를 보다 효율적으로 이용하기 위해서는 우선 신호를 주파수 성분으로 나누는 것이 중요하며, 이를 위해 먼저 도 1의 필터 뱅크(10)을 이용하여 입력되는 오디오 PCM 샘플의 전대역을 32개의 등간격 주파수 밴드로 나눈 후, 각각의 신호를 원래 샘플링 주파수의 1/32로 서브샘플링해서 부호화한다(대역분할 부호화). The threshold (critical) In order to make efficient use of more than the psychoacoustic of the band, first it is important to divide the signal into frequency components, the first full-band audio PCM samples which is also input by using the filter bank 10 of Figure 1 for this purpose 32 after three such intervals divided by frequency band, and each of the signal encoded by the original sub-sampling to 1/32 of the sampling frequency (band division coding).

그러나, 통상의 필터로 1/32의 주파수 대역을 취하는 경우 이상적인 필터가 아니기 때문에 서브 샘플링의 시점에서 '에일리어싱(aliasing)', 즉 샘플링 주파수의 1/2 보다 높은 주파수 성분을 제거하지 않고 신호처리했을 때 저주파 신호로 되돌아오는 잡음이 생기게 되므로, 폴리페이즈(Polyphase) 필터뱅크(Filter Bank)라고 하는 필터를 사용하거나, 도 1의 MDCT부(20) 및 에일리어싱 감소부(30)를 사용하여 MDCT(Modified Discret Cosine Transform: 변형 이산 여현 변환)를 수행함으로써, 32 밴드의 에일리어싱 잡음이 서로 소거되어 필터에 의한 열화가 해소되도록 하고 있다. However, if you take the 1/32 frequency band of a conventional filter because they are not ideal filtered signal without removing the "aliasing (aliasing)", i.e., frequency components higher than half the sampling frequency at the time of the sub-sampling when, because of noise returning to the low-frequency signal causing, polyphase (polyphase) filter bank (filter bank) referred to by using a filter, or using the MDCT section 20, and the aliasing reduction unit 30 of FIG. 1 Modified (MDCT that Discret cosine transform: by performing a modified discrete cosine transform), the aliasing noise of the band 32 is erased from each other and so that the deterioration is eliminated by the filter.

MDCT는 크리티컬(critical)하게 샘플링된 값에 대한 DCT이므로 어떤 양자화도 행해지지 않았다면 완변하게 원래 신호로 복구 가능하다. MDCT is because DCT for values ​​sampled the critical (critical) which quantization is also possible to recover the original signal had been done wanbyeon. 다만, 실제로는 양자화가 행해지므로 각 전송블록 사이에서 불연속성이 생기게 된다. However, in practice, because the quantization is performed is causing a discontinuity between the respective transport block.

다시 말해, 오디오 입력은 32개의 필터 뱅크를 통해 32개의 주파수 대역으로 분할된 후, 각 주파수 대역마다 인접한 주파수 대역의 성분에 의한 마스킹 영향을 계산해서 마스킹 임계값 이상의 신호에 대해서만 양자화 비트를 할당하게 되며, 이때 양자화에 의한 잡음이 주어진 주파수 대역에서 마스킹 임계값 이하가 되도록 양자화 비트를 할당하게 되는 것이다. In other words, the audio input via both the 32 filter banks divided into 32 frequency bands, to calculate the masking effect of the components of the adjacent frequency band for each frequency band and allocate a quantization bit only to the above masking threshold signal , where the noise caused by quantization will be allocated quantization bits so that the masking threshold or less in a given frequency band.

(2) 스케일링(Scaling) (2) Scaling (Scaling)

상기 32개의 서브밴드 내의 샘플 데이터는 파형과 배율로 분리되며, 파형은 최대 진폭이 1.0이 되도록 정규화되고, 그 때의 배율이 스케일 팩터(scale factor)로서 부호화된다. Sample data in the 32 sub-bands are separated into a waveform with the scale, the waveform is normalized so that the maximum amplitude is 1.0, the magnification at that time is encoded as a scale factor (scale factor). 이 부호화에 의해 큰 신호성분에 대해서도 주파수와 시간 모두 가까운 영역내로 들어오도록 하여 양자화 잡음의 발생을 제한할 수 있기 때문에, 동일한 청각심리 효과가 작용하여 이들 잡음이 감지되지 않게 된다. Because both the frequency and time even in a large signal component by the coding to enter into a region close to restrict the occurrence of quantization noise, the same psychoacoustic effect is no longer acting to detect these noises.

(3) 허프만 코딩(Huffman Coding) (3) the Huffman code (Huffman Coding)

허프만 코딩이란 가변장 부호화 또는 엔트로피 부호화라고 불리우는 코딩 방식으로서, 디지털 데이터의 통계적인 특성을 이용하여 비트의 중복을 없애는 리던던시 리덕션(Redundancy Reduction)방식, 즉 부호의 발생확률을 이용하여 발생확률이 높은 값에는 길이가 짧은 부호를 할당하고, 발생확률이 낮은 값에는 길이가 긴 부호를 할당함으로써, 전체 코딩 데이터의 평균 부호 길이를 줄이는 방식이다. Huffman coding is a coding scheme called a variable-length coding or entropy coding, redundancy to eliminate the duplication of bits using the statistical characteristics of digital data reduction (Redundancy Reduction) method, that is by using the probability of occurrence of code occurrence probability is higher It is allocated by a length of the short code, and the probability of occurrence are assigned a long code length of a lower value, a method of reducing the average code length of the whole coded data.

예를 들어, 양자화 처리되어 입력되는 데이터 값이 0,1,2,3, 즉 00,01,10,11 이고, 실험에 의해 각각의 영상데이터 발생확률이 0.6, 0.2, 0.1, 0.1 이였다고 가정할 경우, 발생확률과 무관하게 부호길이를 2비트로 고정할당 한다면 평균부호길이는 (부호길이×할당 비트)/(데이터의 수)이므로 (2×0.6 + 2×0.2 + 2×0.1 + 2×0.1)/4 = 2 (비트) 가 된다. For example, the quantization processing, and the data values ​​0,1,2,3, 00,01,10,11 that is to be input is, yiyeotda the respective video data occurrence probability by experiment 0.6, 0.2, 0.1, 0.1 and assume because if an occurrence probability regardless of assigning a code length of 2 bits fixed, and if the average code length (code length × allocated bits) / (number of data) (2 × 0.6 + 2 × 0.2 + 2 × 0.1 + 2 × 0.1 ) it is a / 4 = 2 (bits).

그러나, 부호길이를 가변시켜, 가장 발생확률이 높은 0 에는 1비트를 할당하고, 다음으로 발생확률이 높은 1에는 2비트를, 그리고 발생확률이 가장 낮은 2와3에는 3비트의 부호를 할당하면, 가변장 부호화 처리결과에 의한 평균부호길이는 (1×0.6 + 2×0.2 + 3×0.1 + 3×0.1)/4 = 1.6 (비트)이 된다. When, however, to vary the code length, the occurrence probability is high 0 is assigned to one bit, and then the occurrence probability is high. 1 are assigned to the 3-bit code of two bits, and the probability is the lowest 2 and 3 , the average code length by variable length coding result is the (1 × 0.6 + 2 × 0.2 + 3 × 0.1 + 3 × 0.1) / 4 = 1.6 (bits).

따라서, 발생확률에 따라 할당 비트를 서로 상이하게 부여하는 가변장부호화에 의해 얻어진 데이터의 값(길이)이 보다 고압축 처리되는 것이다, Therefore, the value (length) of the data obtained by the variable length to be different from each other, given the allocated bits encoded according to the occurrence probability will be more high-compression process,

이 외에 MP3에서는 주어진 압축율로는 압축할 수 없는 부분을 위한 비트 리저브와 버퍼링(Bit Reservoir Buffering) 등과 같은 기법을 병행하여 음질 및 압축율을 보다 향상 시키고 있는바, 이러한 모든 과정을 거친 코딩값을 비트 스트림 포맷팅하여 출력하며, 도 3은 이와 같이 최종 출력되는 MP3 비트 스트림의 단위 프레임을 데이터 특성별로 구분표시한 것이다. In addition, MP3 in the given compression ratio in the bit coarse bit reserve and buffering (Bit Reservoir Buffering) bars, and all such process and further improve the sound quality and the compression rate in parallel to the same techniques as for the free portion can be compression-coded value stream and formatting the output, 3 is a display unit separates the frame of the final MP3 bit stream outputted in this manner for each data attribute.

상기와 같은 MP3 인코딩 이용시의 압축 효율에 대해 살펴보면, 기존의 디지털 오디오 기기에서는 샘플당 16비트에, 샘플링 주파수 32k㎐, 44.1k㎐, 48k㎐의 PCM(Pulse Code Modulation) 부호가 널리 사용되는데, 가령 두채널 스테레오, 44.1k㎐ 샘플링 및 16bit의 양자화 비트(bit)의 경우 비트율은 16×44100×2=1411200(약 1.4 Mbps)가 되는 반면, MPEG 오디어의 계층(Layer) 3에서는 이와 같은 신호를 128~256 kbps 정도로 부호화할 수 있다. Referring to the compression efficiency of the MP3 encoded drive as described above, in the conventional digital audio device in 16-bit per sample, the sampling frequency 32k㎐, 44.1k㎐, there is a PCM (Pulse Code Modulation) code of 48k㎐ widely used, e.g. for two-channel stereo, 44.1k㎐ sampling and quantization bit number (bit) of the 16bit bit rate is 16 × 44100 × 2 = 1411200, while that (about 1.4 Mbps), in the MPEG Audio layer (layer) 3 in the same signal 128 to about 256 kbps can be encoded. 이것은 원래의 PCM 부호의 약 1/12~1/6에 상당하며 샘플당 원래의 16비트가 약 1.5 내지 3비트로 절감되는 셈이며, 따라서 MP3 파일로 CD를 제작할 경우 CD 한 장에 오디오 CD 12장 분량을 담을 수 있게 되는 것은 물론, 이렇게 압축하여도 원음과의 차이를 거의 느낄 수 없으며 특히 200kbps 이상이 되면 거의 판별할 수 없을 정도이다. This is the count which corresponds to about 1/12 ~ 1/6 of the original PCM code from, the original 16-bits per sample is reduced from about 1.5 to 3 bits, and therefore when producing a CD into MP3 file, an audio CD Chapter 12 on a single CD being able to hold the volume of course, there can hardly feel the difference with the original sound is compressed by so much you can not determine if this particular little more than 200kbps.

그러나, 디지털 기록의 이와 같은 여러 장점에도 불구하고, 아직까지는 디지털 데이터 기록/재생 장치의 보급이 널리 이루어지지 않고 오히려 워크맨과 같은 아날로그 기록/재생 장치가 시장의 대부분을 차지하고 있는 상태이므로, 이러한 디지털 데이터를 널리 사용되고 있는 테이프 등 아날로그 매체에 저장할 필요성이 높아진다. However, despite these many advantages of digital recording, and yet to be done is up to the dissemination of digital data recording / reproducing apparatus widely, so rather state that the analog recording / playback device such as a Walkman account for the majority of the market, this digital data the higher the need to store commonly used for analog media such as tape.

이 경우 대부분의 테이프 매체 등에서는 동일 기록면의 상??하측에 순방향 트랙과 역방향 트랙을 구비하는데, 순방향 트랙에 대해 순방향 디코딩으로 재생하여 이를 녹음한 후, 순방향 트랙의 마지막부터 역방향 주행시키면서 역방향 트랙에 대해 다시 순방향 디코딩으로 재생하여 이를 녹음하게 되면, 각각의 트랙을 반복 주행함에 따라 녹음시간이 장시간이 소요된다는 문제점이 발생하게 된다. In this case most of the tape media, etc. may be the same recording plane ?? provided to a forward track and reverse track on the lower side, and then recording them to play in the forward decoding for the forward track and reverse track while from the end of the forward-reverse drive track Once again it reproduced in the forward decoding, recording them on, as the repeated running of the respective tracks are recorded time will occur a problem that a long time is required.

또한, 아날로그 오디오을 역방향으로 재생하면서 엔코딩한 데이터를 구비하였다가 디코딩 기록하는 경우에는 별도의 공간이 필요하다는 문제점이 있는 것은 물론, 역방향 재생시의 마스킹 효과 등에 의해 원음 재생이 불가능하다는 문제점이 발생하게 된다. In the case of having been the decoded record data encoding and reproducing the analog ohdioheul reverse is not in a problem that requires a separate space, of course, a problem that the original sound reproduction is not possible due to the masking effect of the reverse reproduction will occur.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 창작된 것으로서 디지털 오디오 데이터를 테이프 등과 같은 아날로그 매체에 고속으로 녹음시, 메모리 사용량이나 연산량을 크게 증가시키지 않고도 역방향 디코딩이 가능한 MPEG 오디오의 역방향 디코딩 방법을 제공하는데 그 목적이 있는 것이다. Accordingly, the present invention is for recording digital audio data as the original at a high speed in an analog medium such as a tape, memory usage or operation amount of the backward decoded without significant increase in available MPEG audio reverse decoding method in order to solve the above to provide it with a purpose.

도 1 및 도 2는 MPEG 오디오 인코더의 구성을 개략적으로 도시한 것이고, 1 and 2 would schematically showing the configuration of an MPEG audio encoder,

도 3은 MPEG 오디오 데이터의 단위 프레임의 구조를 도시한 것이고, Figure 3 depicts the structure of a unit frame of the MPEG audio data,

도 4는 MPEG 오디오 디코더의 일반적인 구성을 도시한 것이고, Will Figure 4 illustrates a general configuration of an MPEG audio decoder,

도 5는 사이드 인포메이션에 의한 단위 프레임 대응 데이터의 위치 파악 관계를 도시한 것이고, One will Figure 5 illustrates the relationship between the localization unit frames of data by the information side,

도 6은 IMDCT시 오버랩 합산하는 과정을 도식적으로 도시한 것이고, Figure 6 is an exemplary schematic showing a process of summing overlap when IMDCT,

도 7은 순방향 디코딩을 위한 합성 필터의 구조를 도시한 것이고, Figure 7 depicts the structure of a synthesis filter for decoding forward,

도 8은 도 7의 합성 필터 구현을 위한 알고리즘 순서도를 도시한 것이고, Figure 8 is an exemplary flowchart showing an algorithm for implementation of the synthesis filter 7,

도 9는 도 8의 블록도를 도시한 것이고, Figure 9 depicts a block diagram of Figure 8,

도 10은 본 발명에 따른 역방향 디코딩을 위한 합성 필터의 구조를 도시한 것이고, Will FIG. 10 shows the structure of a synthesis filter for reverse decoding according to the invention,

도 11은 도 10의 합성 필터 구현을 위한 알고리즘 순서도를 도시한 것이고, Figure 11 is an exemplary flowchart showing an algorithm for implementation of the synthesis filter 10,

도 12는 도 11의 블록도를 도시한 것이다. Figure 12 shows a block diagram of Fig.

※ 도면의 주요부분에 대한 부호의 설명 Description of the drawings ※

10: 필터뱅크(Filter Bank) 20: MDCT부 10: filter bank (Filter Bank) 20: MDCT unit

30: 에일리어스 리덕션부 40: 양자화부 30: alias reduction unit 40: a quantization unit

50: 허프만 인코더 60: 비트스트림 포매팅부 50: Huffman encoder 60: the bit stream formatting unit

100: 디먹스(DeMultiplexer) 110: 사이드 인포메이션 디코더 100: demux (DeMultiplexer) 110: side-information decoder

120: 허프만 디코더 130: 역양자화부 120: Huffman decoder 130: inverse quantizer

140: IMDCT부 150: 합성 필터뱅크 140: IMDCT unit 150: Synthesis Filter Bank

상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지털 오디오 데이터의 역방향 디코딩 방법은, 디지털 오디오 데이터의 역방향 디코딩 방법에 있어서, 기록 오디오 데이터의 마지막 프레임 헤더를 확인하는 제 1단계; A first step of reverse decoding method of digital audio data according to the present invention for achieving the above object, in the reverse method of decoding digital audio data, and determine the last frame header of the recording audio data; 상기 확인된 헤더 정보에 근거하여, 해당 프레임을 구성하는 복수의 단위 블록 데이터 전체에 대하여 동시에 역양자화하는 제 2단계; A second step on the basis of the identified header information, at the same time inverse quantization with respect to the entirety of the plurality of unit block data forming the corresponding frame; 상기 역양자화된 데이터에 대해, 상기 단위 블록간의 연속성을 유지하면서 주파수 대역별 데이터로 복원하는 제 3단계; A third step for the inverse quantized data and restore it to the band-specific data while maintaining continuity between the said unit blocks; 및 상기 복원된 주파수 대역별 데이터를 시간 역순의 오디오 샘플 데이터로 변환출력하는 제 4단계를 포함하여 이루어지는 것에 그 특징이 있는 것이다. And it is characterized in that its comprises a fourth step of converting the output the recovered data to the frequency bands of the audio sample data in reverse chronological order.

이하, 본 발명에 따른 MP3 오디오 역방향 디코딩 방법의 바람직한 실시예에 대해 상세히 설명한다. Will now be described in detail a preferred embodiment of the MP3 audio reverse decoding process according to the invention.

도 4는 본 발명을 구현하기 위한 MP3 오디오 역방향 디코딩 장치의 일실시예를 개략적으로 도시한 것으로서, 입력되는 MP3 오디오 비트 스트림을 다수의 특성 데이터로 분리출력하는 디먹스(Demultiplxer)(100); 4 is a demultiplexer (Demultiplxer) (100) that as a simplified view of one embodiment of an MP3 audio reverse decoding apparatus for implementing the invention, and separating the MP3 audio bitstream is input to a plurality of characteristic data output; 상기 분리출력되는 데이터중 사이드 인포메이션(Side Information) 데이터를 독출해석하는 사이드 인포메이션 디코더(110); A side information decoder 110, which analyzes the read information side (Side Information) data of the data output in which the separation; 상기 분리출력되는 오디오 데이터를 허프만 디코딩하는 허프만 디코더(120); Huffman decoder 120 Huffman-decodes the audio data in which the separated output; 상기 허프만 디코딩된 데이터를 주파수 영역에서의 실제 샘플 에너지 값으로 복원하는 역양자화부(130); The Huffman inverse quantization unit 130 restores the decoded data as the actual sample energy values ​​in the frequency domain; 상기 복원된 데이터를 MDCT 이전의 데이터로 복원하는 IMDCT(Inverse MDCT)부(140); IMDCT (Inverse MDCT) unit 140 to restore the recovered data to the previous data MDCT; 및 상기 복원된 데이터의 각 서브밴드 값을 합성하여 최종 PCM 샘플로 출력하는 합성 필터 뱅크(Synthesis Filterbank)(150)를 포함하여 구성되어 있다. And it is configured to include a synthesis filter bank (Synthesis Filterbank) (150) for outputting the final PCM sample by synthesizing the respective sub-band value of the recovered data.

상기와 같이 구성된 MPEG 오디오 역방향 디코딩 장치를 이용하여, MPEG 오디오 비트 스트림을 역방향으로 디코딩하는 방법에 대해 설명하면 다음과 같다. By using MPEG audio reverse decoding apparatus constructed as above will be described how to decode the MPEG audio bit stream in the backward direction as follows.

(1) 프레임 헤더(Frame Header) 찾기 (1) Find the frame header (Frame Header)

MP3 비트 스트림(bit stream)의 역방향 디코딩을 위해서는 오디오 비트 스트림의 맨 뒤에서부터 디코딩을 실시해야 하므로 순방향 디코딩에 비해서 먼저 디코딩해야할 시작 위치를 찾는 것이 문제가 되는바, MPEG 오디오 포맷에서 각 프레임은 서로 독립적이므로 역방향 디코딩 과정의 첫 번째 단계는 프레임 헤더를 찾는 것이다. MP3 bit stream (bit stream) to the reverse decoding of each frame at the top of the back from the need to repeat the decoding, because the bar is a problem to find a starting point to do first decoding compared with the forward decoding, MPEG audio format of the audio bit streams are independently of each other Since the first step in the reverse decoding process is to find the frame headers.

프레임 헤더를 찾기 위해서는 프레임 크기에 대한 정보를 미리 알고 있어야 하는데, 일반적으로, 압축된 MP3 오디오 비트 스트림은 프레임 단위로 나누어지고, 각 MPEG 포맷(format)에서 초당 프레임 수는 고정되어 있는데, 이것은 주어진 비트 레이트(bit-rate)와 샘플링 주파수에서 각 입력 프레임은 고정 사이즈를 가지고 있고, 고정된 개수의 출력 샘플을 생성한다는 것을 의미한다. , To find the frame headers to be aware in advance information on the frame size, in general, the compressed MP3 audio bitstream is divided in units of frames, there frames per second in each of the MPEG format (format) is fixed, which given bit each input frame from the rate (bit-rate) and the sampling frequency may have a fixed size, it means that generates an output sample by a fixed number.

이와 같이 MPEG 오디오에서 프레임의 크기는 고정되어 있기는 하지만, 이 크기는 특정 비트율과 샘플링 주파수에 대한 고정값에 불과하므로, 실제 프레임의 크기를 알려면 먼저 프레임의 헤더를 찾아 분석하여야 하는 것이다. Thus is it is the fixed size of the frame in the MPEG audio, but this size is that because only a fixed value for a given bit rate and sampling frequency, To find the size of the physical frame must first find analyzes the header of the frame.

문제는 헤더를 어떻게 찾는가인데, 일반적으로 헤더에 싱크워드(Sync Word)를 제공하여 헤더임을 표시하기는 하지만, 오디오 샘플 데이터에 상기 싱크워드와 동일한 패턴이 발생할 수 있으므로 헤더를 잘못 찾는 경우가 생길 수 있다. The problem is how finding a header, generally show that as to provide a sync word (Sync Word) header, a header, but it is the same pattern as the sync word in the audio sample data can occur can occur if finding a header wrong have.

이 문제를 해결하기 위해, 상기 디먹스(100)는 한 스트림 클립 내에서는 스트림의 특성이 변하지 않는다는 가정하에 스트림의 첫 헤더를 미리 분석하여 패딩(padding) 비트가 없는 경우의 프레임 크기를 얻은 다음, 해당 곡에 대응되는 비트 스트림 파일의 마지막 위치에서 상기 한 프레임 크기를 이용하여 마지막 프레임의 헤더 위치를 찾는다. To solve this problem, the demultiplexer 100 has acquired the frame size in the case of stream clip from within the pre-analyze the first header of a stream assuming that the characteristics of the streams does not change there is no padding (padding) bit, and then by using the frame size from the last position of the bit stream file corresponding to the song look for header position of the last frame.

다만, 각 프레임의 크기는 헤더의 패딩 비트에 의해 그 크기가 1 바이트 만큼 변할 수 있으므로, 역방향으로 헤더를 찾는 경우 그 찾는 헤더가 들어있는 프레임의 정확한 크기를 모르기 때문에, 첫 헤더에서 얻은 프레임 크기만큼 해당 파일의 마지막 위치에서 역방향으로 이동한 후, 패딩 비트를 고려하여 한 바이트 만큼 이전 데이터부터 다음 데이터까지 헤더의 시작 위치를 찾도록 한다. However, it may vary as long as the size is by the padding bits of the header size is one byte in each frame, when looking for the header in the opposite direction because they do not know the exact size of the frame that contains the finding header, as long as the frame size obtained from the first header, after moving in the opposite direction from the end position of the file, from the old data by one byte in consideration of the padding bits to the next data is to look for the start of the header.

(2) 사이드 인포메이션 분석 (2) The side information analyzing

입력되는 MP3 오디오 비트 스트림으로부터 일단 프레임 헤더를 찾은 후, 상기 디먹스(100)는 순방향 디코딩 시와 마찬가지로 어떻게 프레임이 인코딩 되어 있는지에 대한 정보인 사이드 인포메이션(Side Information)과, 각 주파수 밴드의 이득값을 컨트롤하는 스케일 팩터 및 허프만 코딩 데이터를 차례로 분리하여 출력하며, 상기 사이드 인포메이션 디코더(110)는 분리출력되는 상기 사이드 인포메이션 데이터를 디코딩한 후, 이 정보에 근거하여 해당 프레임에 들어 있는 데이터를 어떻게 처리할 것인지 알 수 있게 된다. Find the end frame header from the MP3 audio bitstream is input, the demultiplexer 100 is the side information information about whether the I frame is encoded similarly to the forward decoding (Side Information), and the gain of each frequency band scale factor, and outputs sequentially to remove the Huffman-coded data to the control, and the side information decoder 110 then decodes the side information data is separated out, on the basis of this information how the data contained in the frame handle if you want to be able to see.

일반적으로 MPEG 오디오 레이어 3에서는, 상기 인코딩 과정에서 간략히 설명한 바와 같이, 고정된 비트율에서 보다 음질을 향상시키기 위하여 비트 레저브와(bit reservoir) 방식을 사용한다. In general, MPEG audio layer 3, as outlined in the encoding process, uses a (bit reservoir) bit leisure beuwa order to improve the sound quality than in a fixed bit rate system.

즉, 인코딩할 오디오 샘플의 특성에 따라, 일정 음질을 유지하면서도 코딩하는데 많은 데이터를 필요로 할 수도 있고, 반대로 적은 데이터만을 필요로 할 수도 있는데, 프레임 크기와 그 프레임에 코딩되는 오디오 샘플수를 동일하게 유지하면서 음질유지에 필요한 데이터량을 프레임마다 다르게 하기 위해서는, 적은 데이터만을 필요로 하는, 정해진 크기의 프레임의 남는 공간에, 많은 데이터를 필요로 하는 프레임의 데이터를 넣어야 하며, 이에 따라 현재 프레임의 데이터 공간에는 현재 프레임의 데이터 뿐만 아니라 다음 프레임의 데이터가 들어 있을 수 있게 된다. That is, according to the characteristics of the audio samples to be encoded, and may have to enter a lot of data to, while coding maintain a constant quality, on the contrary there may only require less data, equal to the frame size and number of audio samples to be coded in the frame in order to maintain and to otherwise the amount of data needed to maintain the sound quality for each frame, the remaining space in a frame of fixed size, which requires only a small data, and put the data of the frame that requires a large amount of data, so that the current frame the data area includes not only data of the current frame it is possible to be included in the data of the next frame. 다만, MPEG 표준은 임의 위치에서 시작하여도 디코딩이 가능하도록 하기 위하여 511 바이트 거리내에서 이전 프레임들에 대해서 존재할 수 있도록 하여 현재 프레임의 데이터가 들어 있을 수 있는 이전 프레임의 범위를 제한하였으며, 또한 미래에 올 프레임에는 과거 프레임의 데이터를 넣지 못하도록 하였다. However, MPEG standards was to limit the scope of the previous frame, which may contain data of the current frame to be present with respect to the preceding frame in the 511-byte distance in order to enable the decoding be started in any position, also future All frames were inserted to prevent the data from the previous frame.

이와 같이, 현재 프레임을 위한 데이터가 이전 프레임에 몇 개 들어있는지를 알려주기 위해, 도 5에 도시된 바와 같이 사이드 인포메이션에 그 포인터 값이 들어 있으며, 디코딩할 데이터를 얻기 위해서는 상기 사이드 인포메이션을 분석한 후 포인터 값에 따라 이전 프레임의 데이터 영역에서 해당 개수만큼 데이터를 가져와야 하는 것이다. In this manner, and it contains a pointer to the value in the side information as the data for the current frame to indicate whether example some in the previous frame, shown in Figure 5, one in order to obtain the data to be decoded analyzing the side information after the data is to be imported by the number in the data area of ​​the previous frame according to the pointer value.

상기 내용을 정리하면, 현재 프레임에 해당하는 데이터, 즉 상기 스케일 팩터와 허프만 코딩 데이터가 들어 있을 수 있는 프레임의 범위는 현재 프레임만으로 한정되는 것이 아니라 사이드 인포메이션을 포함하는 현재 프레임에 511 바이트 거리내에서 앞서는 프레임 (정상 재생시의 시간적 이전 프레임)에도 들어있을 수 있는바, 순방향 디코딩시에는 이전 프레임에서 디코딩하고 남은 데이터에 현재 프레임의 데이터를 채워넣어 사용하면 되지만, 역방향 디코딩에서는 현재 디코딩할 프레임에 앞서는 이전 프레임의 헤더를 찾고 해당 데이터 영역으로부터 필요한 개수만큼 더 오디오 데이터를 얻어와야 하며, 이 경우 상기 디코딩된 사이드 인포메이션에 근거하여 이전 프레임으로부터 얻어올 데이터의 수를 확인함으로써, 필요한 만큼의 데이터를 정확 Summarizing the above, the data corresponding to the current frame, that is, the scale factor and Huffman coding range of the frame in which the data can be included is within the 511-byte distance in the current frame including the side-information is not limited only by the current frame preceding frame during (normal reproduction temporally previous frame), in which can be included in a bar, the forward decoding is, but when used to put decoded in the previous frame, and fill data for the current frame to the remaining data, the backward decoding before preceding to the frame currently decoded looking at the header of the frame, and must be acquired for more audio data by a required number from the data area, in this case, by checking the number of all data obtained from the previous frame based on the decoded side information, exactly as much data as necessary 히 얻어올 수 있게 되는 것이다. Hebrews will be able to be acquired.

경우에 따라서는 이전 프레임 몇 개에 걸쳐 이 과정을 반복하여 필요한 데이터 값을 얻어와야 하는 경우도 있으나, 헤더를 제대로 찾는다면 이 과정도 역시 어렵지 않다. In some cases, but in some cases that must obtain the necessary data values, repeat this process for several previous frame one, if properly find headers This process also is not difficult.

(3) 허프만 디코딩 3, the Huffman decoding

상기 사이드 인포메이션에 근거하여 디코딩하여야 할 오디오 데이터를 확인하게 되면, 상기 허프만 디코더(120)는 인코딩시 총 비트량을 줄이기 위해 데이터특성에 따라 사용된 허프만 트리 및 상기 사이드 인포메이션에 근거하여, 분리출력되는 허프만 코딩 데이터(이전 프레임으로부터 얻어진 데이터를 포함한 전체 데이터)에 대해 허프만 디코딩을 수행한다. When check the audio data to be decoded on the basis of the side information, the Huffman by decoder 120 based on the Huffman tree and the side information used in accordance with the data attribute in order to reduce the total bit rate during encoding, and a separate output Huffman performs Huffman decoding on the coded data (all data including data obtained from the previous frame).

이 과정은 순방향 디코딩에서와 동일하며, 다만 일반적으로 한 프레임은 두개의 그래뉼(granule 0, granule 1)로 나누어 인코딩되어 있는바, 그래뉼 1을 디코딩 하기 위해서는 그래뉼 0을 먼저 디코딩해야 그 데이터 위치를 알 수 있으므로, 순방향 디코딩에서는 그래뉼 단위로 디코딩이 가능한데 반하여 역방향 디코딩에서는 한 프레임 전체, 즉 두 개의 그래뉼 모두에 대해 한번에 디코딩해야 한다. This process is the same as in the forward decoding, but generally one frame to two granules (granule 0, granule 1) to decode that is divided encoded bars, granules 1 know that data location to decode the granules zero first it can, in the forward decoding and the backward decoding must be decoded is decoded as possible against a granule unit for both the entire frame, i.e., two granules at a time.

(4) 역양자화 및 리스케일링 4, an inverse quantization and rescaling

상기 허프만 디코더(120)에 오디오 데이터를 허프만 코딩 이전의 데이터로 복원한 후, 상기 역양자화부(130)는 허프만 디코딩된 결과를 주파수 영역에서의 실제 샘플 에너지 값으로 복원하는 작업을 수행하는데, 예를 들어 허프만 디코딩된 값이 Y라고 하면 일단 Y 4/3 을 계산하고, 이렇게 얻어진 값에 상기 스케일 팩터에서 얻은 스케일 값을 곱하여 리스케일링(re-scaling)함으로써, 실제 스펙트럼 에너지 값으로 복원한다. To after restoring the audio data to the Huffman decoder 120 to the data prior to the Huffman coding, the inverse quantization unit 130 may perform an operation for restoring the decoded result Huffman the actual sample energy values ​​in the frequency domain, e.g. . g., when the decoded value is called the Y Huffman once calculate the Y 4/3, and by rescaling (re-scaling) by multiplying the scale value obtained by the scale factor to the values thus obtained, to restore the actual spectral energy value.

이 과정에서, 만약 비트 스트림이 스테레오 신호로 인코딩되었다면 각 채널은 서로 분리되어 전송될 수도 있지만, 종종 두 채널 사이의 합(sum)과 차(difference)를 전송함으로써 두 채널 사이의 중복성을 제거하는 방식을 이용하기도 하는데, 이 방식을 이용하여 인코딩되었다면 스테레오 복구를 실시한다. In this process, if the bit stream if the encoded as a stereo signal, but each channel is separated from each other may be sent, and often by transmitting the sum (sum) with the difference (difference) between the two-channel to remove the redundancy between the two channels to also use, if the encoded using this method performs a stereo recovery.

(5) IMDCT (5) IMDCT

지금까지 얻어진 신호는 주파수 영역(Frequency-Domain)에 있으므로, 실제 출력 샘플을 합성하기 위해서는 시간 영역(Time-Domain)으로의 에너지 변환(transform)이 행해져야 하는데, 이 변환은 인코더에서 이용된 시간-주파수 변환(Time-to-Frequency Transform)의 역과정으로서, 상기 IMDCT부(140)에 의해 실제샘플 에너지 값으로 복원된다. Obtained so far signal, so the frequency domain (Frequency-Domain), in order to synthesize the actual output sample to be energy conversion (transform) to the time domain (Time-Domain) carried out, this conversion is the time used in the encoder - a reverse process of frequency conversion (Time-to-frequency transform), and is restored by the IMDCT unit 140, the actual sample energy value.

레이어 3에서는 다른 레이어에서보다 더 좋은 주파수 해상도를 얻기 위해 MDCT를 추가로 사용하는데, 이 변환은 크리티컬하게 샘플링된 값에 대한 DCT이므로 어떤 양자화도 행해지지 않았다면 완벽하게 원래 신호로 복구가 가능하나, 실제로는 양자화가 행해지므로 각 전송블록 사이에 불연속성이 생기게 된다. Layer 3, to use the additional MDCT in order to obtain better frequency resolution than that in the other layer, the conversion is because DCT for the critical sampled values ​​which quantization is also a full recovery is available in the original signal did not occur, in practice It is because the quantization is performed is causing a discontinuity between the respective transport block.

이에 따라, 블록(그래뉼) 단위로 수행되는 IMDCT에 있어서 각 전송블록 사이에 불연속성이 생기게 되고, 이러한 불연속성은 노이즈와 클릭음 등을 만들어 음질에 치명적인 영향을 미치므로, 이를 없애기 위해 IMDCT 변환 후의 결과값에 대하여 이전 그래뉼에서의 값과 50% 오버랩 합산(overlap-adding)하여 사용한다. Accordingly, in the IMDCT is performed on a block-by-block (granules) unit and causing a discontinuity between the respective transport block, this discontinuity results after therefore make such noise and click sound exert harmful effects on the sound quality, IMDCT conversion to clear this value in respect to value used in the previous granules and adding overlap (overlap-adding) 50%.

즉, IMDCT를 수행하게 되면 모두 36개의 데이터가 얻어지는데, 순방향 디코딩의 경우 도 6에 도시된 바와 같이 현재 그래뉼에 대한 전반부의 18개 데이터와, 이전 그래뉼의 후반부 18개 데이터를 합산한 값을 이용하고 있다. That is, if performing the IMDCT all the 36 data was obtained makin, in the case of the forward decoding, as shown in Figure 6 using the 18 data, a value obtained by summing the 18 data, the second half of the previous granulation of the first half of the current granule and. 그러나, 순방향 디코딩의 경우에는 이전 프레임의 값을 가지고 있지만, 역방향 디코딩의 경우에는 시간적으로 이후의 프레임에 대한 데이터를 가지고 있으므로, 오버랩 되는 순서를 바꾸어 주어야 하며, 따라서 현재 그래뉼에 대한 IMDCT 결과 36개중 후반부 18개와 이후 그래뉼의 전반부 18개를 오버랩 합산하여 사용하는 것이다. However, in the case of the forward decoding is to have the values ​​of the previous frame. However, if the reverse decoding is so in time to have the data for the frame after, the need to change the order in which they are overlapped, thus IMDCT for the current granule result 36 gaejung later after 18 dogs to use by adding 18 overlapping the first half of the granules. 다만, 시작하는 프레임, 즉 역방향 디코딩시의 마지막 프레임의 경우에는, 프레임의 후반부 그래뉼에 대해서는 오버랩할 데이터가 없으므로 오버랩할 부분에 0(zero)를 넣거나 오버랩 합산을 하지 않고 그냥 사용한다. However, if the last frame at the time of starting the frame, that is, the reverse decoding, since there is no data to be overlapped for the second half of the granules of the frame, insert a 0 (zero) in the overlap portion will be just used without an overlap sum.

상기 과정을 수학식으로 다시 한번 정리하면 다음과 같다. Once again organize the process by the equation as follows:

x i (n)을 다음 처리에 사용할 목표 샘플, y i (n)을 IMDCT한 결과, 첨자 i는 그래뉼 번호, N이 총 프레임 수라고 할 때, x i (n) by the IMDCT the target sample, y i (n) used in the following processing result, the subscript i is a number of granules, when said N is the total number of frames,

순방향 디코딩의 경우에는 다음과 같이 처리한다. In the case of the forward decoding is treated as follows.

x i (n) = y i (n) + y i-1 (n+18) 0≤n<18, i=1,2, … x i (n) = y i (n) + y i-1 (n + 18) 0≤n <18, i = 1,2, ... 2N 2N

단, 여기서 y 0 (n+18), 0≤n<18 은 모두 0으로 초기화 되어 있어야 한다. However, where y 0 (n + 18), 0≤n <18 should be initialized to zero.

그런데, 역방향 디코딩을 위해서는 이전 프레임의 정보를 가지고 있지 않기 때문에, 대신 이후 프레임과 50% 오버랩 하여 더해지도록 다음과 같이 수학식을 변경하여야 한다. However, since the reverse decoding order does not have the information of the previous frame, instead of the addition so that the subsequent frame and overlap of 50% to be changed an equation as follows:

x i (n) = y i (n+18) + y i-1 (n) 0 ≤ n < 18, i=2N, 2N-1 … x i (n) = y i (n + 18) + y i-1 (n) 0 ≤ n <18, i = 2N, 2N-1 ... , 1 , One

물론, 이 경우에도 초기값인 y 2N+1 (n+18), 0 ≤ n < 18 은 모두 0으로 초기화 되어 있어야 한다. Of course, even if all of the initial values of y 2N + 1 (n + 18 ), 0 ≤ n <18 should be initialized to zero.

상기의 오버랩 과정은 순방향의 경우와 비교하여 그 순서만 바뀌었을 뿐이므로, 연산량과 메모리 사용량 역시 순방향의 경우와 동일하다. Overlap the above process are therefore only have changed, only the sequence as compared with the case of the forward direction, is equal to the amount of computation and memory usage is also the case of the forward direction.

(6) 서브밴드 합성 6 sub-band synthesis

상기 IMDCT부(140)에 의해 IMDCT 변환을 수행하고 50% 오버랩 합산 처리한 결과값을 얻은 후, 실제 오디오 샘플을 출력하기 전의 마지막 절차는 서브밴드로 나누어진 샘플들을 합성하여 원래의 시간 샘플 신호로 복원하는 서브밴드 합성과정으로서, 이는 인코딩시 입력 샘플을 32개의 주파수 대역별로 분리하였던 것을 다시 합성하는 과정(subband synthesis)이며, 각 서브밴드의 샘플들을 하나의 시간 샘플열로 합성하는 인터폴레이션(interpolation) 과정이다. After performing the IMDCT transformed by the IMDCT unit 140, and obtained the result processed sum and 50% overlap, the last process before outputting real audio sample is a sample synthesized on the original time sample signals of the divided subband a sub-band synthesis to restore, this interpolation (interpolation) for the synthesis is the process (subband synthesis) back synthesis that who disconnect the input samples during the encoding for each of 32 frequency bands, the samples of each sub-band in one time of samples It is a process.

서브밴드 합성 필터에서는 이전 프레임의 필터 입력이 지연되어 사용되므로 이전 프레임의 필터 입력값을 필요로 하는데, 순방향 디코딩과는 달리 역방향 디코딩시에는 합성필터에 입력되는 서브밴드의 데이터가 역순으로 입력되어 이전 값을 알 수 없으므로, 합성필터의 구조를 이에 맞추어 재설계하여야 한다. Sub-band synthesis filter in the previous requires a filter input value of a previous frame are used for the delay filter input of the previous frame, a forward decoding and is otherwise reverse the decoding, the subband data that is input to the synthesis filter input in the reverse order It does not know the values, to be redesigned to match the structure of the synthesis filter to this.

합성 필터를 위한 필터 뱅크는 MPEG 표준에 정의되어 있으므로 이것을 이용하여 역방향 디코딩이 가능하도록 합성 필터를 설계하였으며, 이하 일반적인 순방향 디코딩에서 사용되는 합성필터에 대해 살펴본 후, 이와 대비하여 본 발명에 따른 새로운 합성필터에 대해 상세히 설명한다. A filter bank for the synthesis filter is then examined for the MPEG we designed a compound filter to enable the backward decoding by using this it is defined in the standard, the synthesis filter used in less than the typical forward decoded, the new synthesis according to the invention compares these filter will be described in detail.

도 7은 MPEG 오디오 순방향 디코딩시 사용되는 합성필터의 구조를 도시한 것으로서, 상기 합성필터의 목표는 각 서브밴드의 샘플들을, FDM(Frequency Division Multiplexing) 방식과 유사하게, 해당 주파수 대역의 신호로 하여 하나의 신호를 합성해 내는 것이다. As Fig. 7 shows the structure of a synthesis filter used in the MPEG audio forward decoding, the purpose of the synthesis filter to the samples of each sub-band, similar to FDM (Frequency Division Multiplexing) scheme, and a signal of the frequency band that is to synthesize a signal.

즉, T S1 간격으로 크리티컬하게 샘플링된 32개의 신호 x r (mT S1 )을 하나의 신호로 합성하여, T S2 = T S1 /32 간격으로 크리티컬하게 샘플링된 신호인 s(nT S2 )를 합성해 내는 것이며, 이것은 인코딩시 32개의 동일한 주파수 대역 구간으로 나누었던 신호를 다시 원래의 신호로 복원하는 과정이다. That is, T S1 and spacing synthesis of 32 signal x r (mT S1) the critical sampled by a single signal, T S2 = T S1 / 32 to synthesize s (nT S2) of the critical sampled signal at equal intervals that will, this is a process of restoring a signal which had divided into 32 equal sections in the encoding band back to the original signal.

여기서 x r (mT S1 )은 r 번째 서브밴드의 샘플신호를 의미하며, 이 신호를 32배로 up-sampling한 신호가 x r (nT S2 )이다. Here is x r (mT S1) refers to the sample signal of the r-th subband, and this signal is a 32-fold up-sampling a signal x r (nT S2). 이 과정에서 (m-1)T S1 과 mT S1 사이에 31개의0(zero)가 삽입된다. 31 is 0 (zero) is inserted between In the process (m-1) T S1 and S1 mT. 이 효과는 T S1 시간 간격으로 샘플링 된 신호의 고조파는 모양이 그대로 유지되면서 단지 주파수의 범위만 32배로 확장된 것에 해당된다. This effect while remaining harmonics of the sampled signal by a time interval T S1 is a shape as corresponds to only a frequency range of only 32-fold expansion.

다시 말해, T S1 시간 간격으로 샘플링함으로써, f S1 = 1/T S1 주파수 간격으로 반복적으로 나타나는 고조파가, T S2 시간 간격으로 up-sampling하여 f S2 = 1/T S2 로 샘플링 주파수 범위가 확장되면서 이 범위 내에 32개의 f S1 고조파가 포함된 것이며, 결과적으로 T S2 = T S1 /32 시간 간격으로 샘플링된 신호로 변경되는 것이다. That is, by sampling the T S1 time interval, f S1 = 1 / T S1 harmonic repeated, the frequency spacing, as the sampling frequency range extended to T S2 time interval by up-sampling by f S2 = 1 / T S2 will contain a 32 f S1 harmonics within this range, it is consequently changed to a signal sampled at T S2 = T S1 / 32-hour intervals.

이제 이 신호를 가지고 각 서브밴드마다 해당 대역만 남기고 제거한다. Now that you have a signal for each sub-band is removed, leaving only the band. 이때 사용되는 band-pass filter가 바로 H r (z)이다(r은 서브밴드 번호). At this time, a band-pass filter is just H r (z) to be used (r is a subband number).

필터 H r (z)은 512개의 차수를 가지며, prototype low-pass filter를 phase-shift하여 해당 서브밴드의 band-pass filter를 구성한다. Filter H r (z) has a 512 degree, by the prototype low-pass filter phase-shift constitutes a band-pass filter corresponding subband. 위 도 7의 블록 다이어그램을 수학식으로 표현하면 다음식과 같다. If the above expression the block diagram of Figure 7 by the following equation as the following equation.

여기서 S t (nT S2 )은 합성된 신호의 출력 샘플, t는 T S1 시간 간격이며 서브밴드신호의 현재 입력 샘플을 의미한다. Where S t (nT S2) is output sample, t in the synthesized signal T S1 time interval, and means the current input samples in a subband signal. 즉 x r (tT S1 )의 서브밴드별 각 입력 샘플에 대한 합성 출력 신호가 S t (nT S2 )가 되는 것이다. In other words, the composite output signal for each input sample by a sub-band of x r (tT S1) that (nT S2) S t. 여기서 r=0,1,2, ,31이고 서브밴드 인덱스이며, n=0,1,2, ,31이고 출력샘플 인덱스로서, 32개의 서브밴드마다 각각 1개 씩의 샘플이 입력되어 32개의 합성된 출력 샘플이 생성되는 구조이다. Where r = 0,1,2,, 31 and sub-band index, and, n = 0,1,2,, 31, and as the output sample index, respectively, of the input sample by one each time 32 sub-band synthesis to 32 the output is a structure in which the sample is produced.

상기 수학식의 구조는 x r (kT S2 ) 와 H r (kT S2 )의 컨볼루션(convolution) 형태이며, 필터링 과정임을 나타낸다. The structure of the equation is the form keonbol convolution (convolution) of the x r (kT S2) and H r (kT S2), it indicates that the filtering process. H r (kT S2 ) 는 512개의 차수를 가지며, 기본형의 low-pass filter인 h(kT S2 )와 이 필터를 phase-shift하여 해당 서브밴드의 band-pass filter를 생성하기 위한 의 N r (k)의 곱으로 구성되어 있다. H r (kT S2) has a 512 degree, the basic low-pass filter of h (kT S2) and to the filter phase-shift of N r (k for generating a band-pass filter corresponding subband ) it is constituted by the product of.

각 서브밴드를 up-sampling하고 해당 대역 필터를 거친 후 모든 서브밴드의 신호를 더하면 출력 샘플이 생성된다. Up-sampling each sub-band and after the band pass filter, the output sample is generated adding the signals of all the sub-bands. 여기서 상기 수학식 1을 그대로 연산하려면 상당히 많은 양의 연산이 필요하므로, 연산량을 줄이기 위해 수학식을 정리하여 다시 쓰면 아래의 수학식 2와 같다. Here, it requires quite a large amount of operation to the operation of equation (1) as it is, writes to clean up the equation in order to reduce the amount of computation again equal to the equation (2) below. 수학식 1을 전개하여 최적화하는 과정에서 cosine항의 대칭성과 서브밴드 신호 x r (tT S1 )을 up-sampling하여 x r (kT S2 )를 만들면서 채워진 0(zero)가 고려되었다. The cosine term symmetry with the sub-band signal x r (tT S1) in the process of optimizing the development of equation (1), creating an up-sampling by x r (kT S2) has been considered the filled 0 (zero). 이하의 수학식부터는 표기의 편의를 위해 샘플링 주기를 생략하였고, 묵시적으로 샘플링 주기는 T S2 이다. It was omitted, the equation sampling period for convenience of representation the starting or less, and T S2 is implied by the sampling period.

여기서 n=0,1,2 … Where n = 0,1,2 ... 31, i= 0,1,2 … 31, i = 0,1,2 ... 15, k=0,1,2 … 15, k = 0,1,2 ... 63 그리고 r=0,1,2 … 63 and r = 0,1,2 ... 31 이다. It is 31. 첨자 k, n, i는 연산 과정에서 사용되는 인덱스이고, 첨자 r은 서브밴드 번호를 의미하며, 첨자 t는 서브밴드 신호의 현재 샘플이 입력된 시간을 의미한다. The subscript k, n, i is an index used in the calculation process, the subscript r refers to the subband number, and subscript t refers to the current sample the input time of the sub-band signal. 위의 수학식에서 기호 [x]는 실수 x에 대하여 a≤x 를 만족하는 최대 정수 a를 의미한다. The above equation sign [x] means the largest integer that satisfies a a≤x with respect to the real x. 즉, 실수 x의 소수점 이하를 잘라버리고 정수로 만든 것이다. In other words, it cuts away the decimal point of real number x into an integer made. 또한, 연산자 %는 modular 연산을 의미하며 a%b는 a를 b로 나눈 나머지 값에 해당한다. In addition, the operator% denotes a modular operation, and a% b corresponds to the remainder obtained by dividing the value a to b.

상기 최적화된 수학식 2를 알고리즘 순서도로 표현하면 도 8과 같으며(MPEG Audio Standard Spec. 참조), 상기 도 8의 순서도를 계산 절차에 따른 블록도로 나타내면 도 9와 같다. The same as if Figure 8 represents the above described optimization of equation (2) to the algorithm flow chart (MPEG Audio Standard Spec. Reference), the road represents a block in accordance with 8 a flow diagram of the calculation process shown in Fig.

각 서브밴드마다 1개의 샘플이 입력되어 N r (k) 행렬 값이 곱해지며, 나온 결과는 64개가 된다. Is input one sample for each sub-band becomes the N r (k) is multiplied by the matrix value, from the result it is a dog 64. 이 값이 1024개의 선입선출(FIFO) 버퍼에 입력되며, 기존에 들어 있던 값들은 64개의 값만큼 shift된다. This value is input to the 1024 first-in-first-out (FIFO) buffer, the values ​​held in the conventional are shift by 64 values. 이제 이 FIFO 안에 들어있는 값 중에서 사용할 데이터를 순차적으로 가져와 window 계수를 곱하여 나온 값을 모두 더하면 PCM 출력 샘플이 생성된다. The PCM output sample is generated now take data to use from the value contained within the FIFO sequentially adding all the values ​​resulted by multiplying a window coefficient. 이를 수학식 2와 비교하면서 보면 쉽게 알 수 있다. When comparing it with equation (2) it can be easily seen.

이하에서는, 상기에서 설명한 순방향 디코딩에 사용되는 합성필터의 구조를 참조하여, 본 발명에 따른 역방향 디코딩시의 합성필터에 대해 설명한다. In the following, with reference to the structure of the synthesis filter used in the forward decoding described above, it will be described for the synthesis filter at the time of reverse decoding according to the present invention.

위의 순방향 합성필터를 역방향으로 디코딩하기 위한 구조로 변경하기 위해서는 몇가지를 고려해야 한다. In order to change a forward composite filter of the above structure for decoding in a direction opposite to consider some. 역방향으로 디코딩하는 과정에서는 서브밴드의 샘플들이 시간적으로 역순으로 입력되게 된다. In the process of decoding in the reverse direction of the subband samples are presented in reverse order in time as an input. 즉, 한 서브밴드의 총 샘플 수가 N개라면, 순방향으로 디코딩 하는 경우 t=0,1,2 … That is, if the total number of samples of the N subbands, if decoding in the forward direction t = 0,1,2 ... N-1 의 순서로 샘플이 입력되는 반면, 역방향으로 디코딩하는 경우에는 t= N-1,N-2, N-3 … On the other hand the sample is input in the order of N-1, the case of decoding in the reverse direction is t = N-1, N-2, N-3 ... 1, 0 의 순서로 입력되는 것이다. 1, will be input in the order of zero.

MPEG 오디오 합성 필터는 시간적으로 이전 샘플 값들을 이용하는데, 샘플이 역순으로 입력되면 시간적으로 이전 샘플 값들을 알 수 없기 때문에 순방향 합성필터를 그대로 이용하여 역방향 합성을 수행할 수 없고, 따라서 역순으로 입력되는 샘플에 대하여 역순으로 합성을 수행할 수 있도록 필터의 구조를 변경해야 하는바, 아래에서는 이러한 구조를 갖는 합성 필터를 제시한다. In using the previous sample value in the MPEG audio synthesis filter time, the sample is when the reverse order of the input in time can not perform the reverse synthesized as used on the forward composite filter because it can not know the previous sample value, so that the reverse order as the input bar with respect to the sample to change the structure of the filter to perform the synthesis in the reverse order, the following presents a synthesis filter having such a structure.

도 10은 본 발명에 따른 역방향 디코딩을 위한 합성필터의 구조를 도시한 것으로서, 순방향 디코딩을 위한 합성필터의 구조와 유사하나, 다만, 필터뱅크만 그 전달함수가 B r (z)으로 대치 되었다. 10 is as showing the structure of a synthesis filter for reverse decoding according to the present invention, a structure similar to the synthesis filter for forward decoding, however, only the filter bank is the transfer function has been replaced by B r (z). 서브밴드 신호의 샘플이 입력되는 순서는 역방향 디코딩의 경우 x r (mT S1 ), m= N-1,N-2, N-3 … The order in which the samples of the subband signals input in the case of reverse decoding x r (mT S1), m = N-1, N-2, N-3 ... 1, 0 과 같다. 1, equal to zero.

입력 순서를 고려하여 상기 수학식 1을 변경하면 다음 수학식 4와 같다. When considering an input sequence changes the Equation (1) shown in the following equation (4).

수학식 4를 수학식 1과 비교하면, 각 서브밴드에 대한 band-pass filter는 동일하며, 다만 입력 샘플이 시간의 역순으로 입력되므로 필터링을 위한 컨볼루션에서 입력 신호의 순서를 거꾸로 뒤집어 필터 계수와 곱했던 것을 그냥 사용하게 된다. Comparing the equation (4) with Equation 1, band-pass filter is the same for each sub-band, but the input sample and so the reverse order as the input reverse the order of the input signal in the convolution for filtering inverted filter coefficients of the time just who will use the product. 즉, 입력되는 순서 자체가 역순이기 때문에 순방향 디코딩시의 서브밴드 입력 x r (((32t+n)-k)T s ) 는 역순입력에 대하여 x r (((32t+n)-511+k)T s ) 가 된다. That is, the input at the time of the forward decoded subbands because the order in which the reverse input itself is x r (((32t + n ) -k) T s) is x r with respect to the reverse input (((32t + n) -511 + k ) is a T s).

수학식 4를 그대로 계산하기 위해서는 상당히 많은 양의 연산이 필요하므로, 순방향 디코딩시와 마찬가지로 수학식을 전개하여 최적화하면 다음 수학식이 얻어진다. It requires a considerable amount of calculation in order to calculate the expression (4) as it is, similarly to the forward decoding Optimizing to deploy the equation following equation is obtained.

단, 위 수학식 5와 6에서 사용된 첨자와 연산자에 대한 것은 수학식 3과 4에서 적용된 것과 동일하다. However, it is for the above and the subscript operator used in equation 5 and 6 is the same as that applied in equation 3 and 4.

위 수학식 5와 6번에서 j=31-n 그리고 m=63-k로 치환하면 위의 수학식은 아래와 같이 된다. Substituting the above in equation (5) and 6 to 31-n and j = m = 63-k of the equation above is as follows.

상기 수학식 7, 8을 수학식 3, 4와 비교하면 유사하다는 것을 알 수 있으며, 다만 입력된 샘플에 대한 인덱스만 다르다. It can be seen the above Equation 7, 8 that are similar compared to the equation (3), and 4, but only the index for the input sample is different. 상기 식을 알고리즘 순서도로 표현하면 도 11과 같으며, 상기 순서도를 계산절차에 따른 블록도로 구성하면 도 12와 같다. The same as Fig. Expressing the above equation in the algorithm flow diagram 11, shown in Figure 12 when configuration block diagram according to the flowchart for the calculation procedure.

이상에서 설계한 역방향 디코딩을 위한 합성필터의 구조를 살펴보면 순방향 합성필터와 알고리즘 구조가 비슷하며, 따라서 연산량과 구현에 필요한 메모리 사용량도 동일하게 구현할 수 있다. Looking at the structure of the synthesis filter for the reverse decoding design from above, and the forward filter and the synthesis algorithm similar structure, and thus can be equally implemented also the memory usage required for the amount of computation and implementation. 만약 순방향 디코딩과 역방향 디코딩을 동시에 구현한다면 순방향 합성필터를 그대로 적용할 수 있으며, 단지 FIFO의 shifting 방향과 최종 샘플 합성 순서(첨자 j)만 역방향으로 바꾸어 주면 된다. If implementing the forward decoding and the backward decoding at the same time it may be directly applied on the forward composite filter, only a main surface is changed, only the reverse shifting direction and a final sample synthesis procedure (the subscript j) of the FIFO.

즉, 매 합성시마다 합성되는 32 샘플은 시간 순서이지만, 다음에 합성되는 시간 샘플은 시간적으로 이전 샘플이며, 따라서, 샘플의 출력순서는 한번에 합성되는 32 샘플을 역순으로 출력하고 다음 합성되는 32 샘플을 마찬가지로 역순으로 출력하는 과정을 첫 프렘임까지 반복하게 된다. That is, although 32-sample time sequence is synthesized at each sheet composite, a time sample to be synthesized in the following is temporally previous samples, thus, the output sequence of samples and reverse output with a 32-sample, which is synthesized at a time, the 32 samples are then synthesized Likewise will repeat in reverse order to the first output being Prem. 본 합성필터는 MPEG Audio Layer 1, 2, 3 모두에서 사용 가능하다. This synthesis filter can be used in both the MPEG Audio Layer 1, 2, 3.

한편, 보다 고속의 녹음을 위해서는 순방향 트랙에 대해 녹음을 수행함과 동시에, 역방향 트랙에 대해서도 함께 녹음을 수행하는 것이 바람직하며, 이때 역방향 트랙에 대해서는 테이프가 재생시의 역으로 주행하게 되므로, 디코딩 또한 역방향으로 디코딩해 주어야 하는바, 역방향 디코딩을 수행하는 방법에는 상기의 실시예와는 다른 여러 가지가 있을 수 있으나, 먼저 순방향 알고리즘을 이용한 역방향 디코딩 방법에 대해서 살펴보면 다음과 같다. On the other hand, more performing recording for the forward track and at the same time, it is preferable to perform the recording with about reverse track to a high-speed recording, at this time, so that the tape is traveling in the reverse order of playback time for the reverse track, and decoding by also reverse how to do the bar, to give to the reverse decoding and the decoding has the above embodiments, but may be a number of different, first look for the reverse decoding method using the forward algorithm as follows.

압축된 MPEG 디지털 오디오 데이터를 역방향으로 아날로그 기록매체에 기록하기 위한 방안으로서 생각할 수 있는 첫 번째 방법은 데이터를 모두 순방향으로 디코딩하여 그 결과의 PCM 샘플을 저장해 두고 맨 마지막 PCM 데이터부터 역으로 아날로그 변환하는 것이다. The first method that can be considered as methods for recording the compressed MPEG digital audio data to an analog recording medium in the backward direction by the forward decoded all of the data with and save the PCM samples of the result to analog conversion in from the last PCM data station will be. 이 경우 순방향 알고리즘을 그대로 사용하므로 구현은 쉽지만 디코딩된 데이터량이 방대하므로, 데이터를 저장할 대량의 저장매체가 필요하다는 문제점이 있는 것은 물론, 한 데이터 클립의 길이가 서로 다르며, 제한되어 있지 않기 때문에 필요한 저장매체의 최대한계를 결정 지을 수 없다는 문제점이 있다. Storing necessary because in this case not implemented so as to use the forward algorithm is easy, because the amount of the decoded data massive, having a problem that a large amount of a storage medium to store data, of course, not the length of the data time is limited, different from one another, there is a problem that can determine the maximum limit of the medium.

압축된 MPEG 디지털 오디오 데이터를 역방향으로 아날로그 기록매체에 기록하기 위한 방안으로서 생각할 수 있는 두 번째 방법은 전체 스트림의 맨 뒷 프레임부터 일정한 프레임 수로 나누어 순방향으로 디코딩을 하는 것이다. The second method that can be thought of as a way to record the analog recording medium, the MPEG-compressed digital audio data in the reverse direction is to the decoding in the forward direction divided by the number a certain frame from the top rear frame of the entire stream.

즉, 총 N 개의 프레임이 있다면 M 개의 프레임 씩 나누어 (NM) 번째 프레임부터 N 번째 프레임까지 디코딩을 하여 저장하고 이것을 N 번째 프레임부터 (N-M+1) 번째 프레임까지 역순으로 연주한다. That is, if a total of N frames, and stores the decoded from the second divided by M frames (NM) frame to the N-th frame, and playing it in reverse order from the N-th frame to the (NM + 1) th frame. 이때, (NM) 번째 프레임은 디코딩시 첫 프레임이기 때문에 이전 프레임과 연속성이 없으므로 정상적인 데이터가 아니므로 출력하지 않는다. At this time, (NM) th frame is not the previous frame and a continuity because the first frame in the decoding does not output the normal data is not. 중요한 것은 프레임 간의 연속성은 한 프레임 만큼이며, 두 프레임 이상 떨어진 프레임 사이에는 연산 알고리즘적으로 영향을 주지 않는다는 것이다. The continuity between the frame as a key frame is provided between at least two frames away from frame will not affect the computation algorithmically. 따라서, 두 번째 프레임부터는 정상적인 샘플을 얻을 수 있고, 그 결과값을 이용할 수 있다. Therefore, it is possible to obtain a normal sample From the second frame, it is possible to use the result.

첫 번째 블록 프레임에 대한 연주가 끝나면 다시 (N-2M) 번째 프레임부터 (NM) 번째 프레임까지를 마찬가지로 순방향으로 디코딩 하면서 저장한다. First, like the playing from the end (N-2M) th frame for the back frame to the second block (NM) th frame is stored and decoded in the forward direction. 여기서 주목할 것은 (NM) 번째 프레임은 이전 디코딩 과정에서 그 블록의 첫 프레임으로 디코딩을 했던 프레임이다. Here, it is notable (NM) th frame is a frame that the decoding by the first frame of a block in a previous decoding process. 그러나 실제 샘플은 이전 프레임의 정보가 없어 정상적인 샘플로 디코딩되지 않았기 때문에 출력하지 않았다. However, the actual sample did not print because it is not decoded in the normal samples do not have information of the previous frame. 따라서 여기서 그 프레임까지 디코딩을 한다. Therefore, where the decoding is to the frame. 이때는 프레임의 마지막이고 이전 프레임의 정보를 가지고 있기 때문에 정상적인 샘플로 디코딩된다. At this time, the end of the frame is decoded as a normal sample because it has the information of the previous frame. 이제 출력은 (NM) 번째 프레임부터 (N-2M+1) 번째 프레임까지를 역순으로 실시한다. Now, the output is (NM) is carried from the second frame to the (N-2M + 1) th frame in the reverse order.

이 과정을 모든 프레임이 디코딩될 때까지 실시한다. Performs this process until all the frames are to be decoded.

마지막으로 디코딩되는 블록의 첫 프레임에 대해서는 순방향으로 디코딩할 때와 동일한 조건이 되므로 그때와 동일한 샘플값이 얻어진다. For the last frame of the last block to be decoded, since the same condition as when decoding in the forward direction it can be obtained with the same samples and time values. 따라서 그냥출력 샘플로 사용할 수 있다. So just it is used as a sample of the output.

이 방법으로 역방향 디코딩을 하는 경우, 모든 프레임을 디코딩하여 저장하지 않고, 단지 M개의 프레임만을 디코딩하여 저장했다가 역순으로 출력하므로 M개의 프레임에 대한 샘플 개수만큼만을 저장할 공간만 있으면 충분하여, 상기 첫 번째 방법에 비해 최종 출력 샘플을 저장할 버퍼의 크기가 작아지며, 또한 저장할 공간의 요구량에 대한 한계가 분명하므로 설계가 용이한 장점도 있다. When the reverse decoding by this method, without storing the decoding all the frames, but because the reverse output is saved by decoding only the M frames is sufficient if only room for the number of samples as much as for the M-frame, the first the smaller the size of the buffer to hold the last output samples compared to the second method, it also is a limit to the required amount of space to store a clear advantage is also the design is easy.

상기와 같은 구성 및 동작에 의해 이루어지는 본 발명에 따른 디지탈 오디오 데이터의 역방향 디코딩 방법은, 디지털로 압축된 오디오 신호를 테이프와 같은 아날로그 매체에 고속으로 저장함에 있어서, 압축된 디지털 오디오를 순방향 트랙은 순방향으로 디코딩하여 신호를 제공하고, 반대 방향의 트랙은 역방향으로 디코딩하여 신호를 제공함으로써, 동시에 순방향 및 반대 방향의 트랙 모두를 녹음할 수 있어서 고속 녹음이 가능하게 된다. Reverse method of decoding digital audio data according to the present invention made by the configuration and operation as described above, in the compressed audio signal to a digital to store in the analog medium such as a tape at a high speed, the compressed digital audio forward track forward It decodes the signal and provides, in the opposite direction by providing a track signal by decoding in the reverse direction, at the same time the high-speed recording is enabled to be able to record all tracks in the forward and reverse direction.

또한, 순방향 디코딩 방식을 이용하여 역방향 디코딩을 수행하는 경우, 즉 맨 마지막 프레임부터 M프레임씩 나누어 순방향으로 디코딩하는 경우에는 알고리즘이 순방향 디코딩 방법과 동일하므로 구현이 용이하며, 비록 M개의 프레임을 디코딩하여 저장할 버퍼가 필요하다는 단점이 있으나 그 크기가 고정되어 있기 때문에구현이 어렵지 않다. In the case of performing the reverse decoded using a forward decoding scheme, i.e., if decoding in the forward direction divided from each M-frame last frame, and the algorithm is easy to implement the same as in the forward decoding method, although decodes the M frames the disadvantage that the store buffer is required but is not difficult to implement because it is fixed in size.

또한, 역방향 디코딩 알고리즘을 이용한 역방향 디코딩 방식의 경우에는, 순방향 디코딩과 비교하여 연산량은 동일하되 약간의 추가 메모리만이 요구되며, 추가되는 메모리의 크기는, 허프만 디코딩 과정에서 순방향 디코딩시에는 한 프레임을 두 개의 블록으로 나누에 처리할 수 있는 반면 역방향 디코딩시에는 한 프레임 모두를 미리 허프만 디코딩해야 하므로 2배의 버퍼 크기만큼 필요하다. In the case of the backward decoding method using a reverse decoding algorithm, as compared to the forward decoding operation amount is, but the same and some additional memory only and the demand, and the size of memory to be added is, for one frame at the time of the forward decoded in the Huffman decoding process in contrast to the process divided into two blocks, so there should be a reverse decode Huffman decoding in advance all of the frames is required as the buffer size of the second fold. 즉, 그 크기는 스테레오 채널에 대하여 순방향 디코딩시 576×2 워드 만큼 필요한데 반해, 역방향 디코딩시는 1152×2 워드 만큼의 메모리가 필요하다. That is, the size is 576 × 2 by hand, requires a word during the forward decoding with respect to the stereo channel, when decoded backward, it is necessary that as much as 1152 × 2 word memory.

Claims (10)

  1. 디지털 오디오 데이터의 역방향 디코딩 방법에 있어서, For the reverse method of decoding digital audio data,
    기록 오디오 데이터의 마지막 프레임 헤더를 확인하는 제 1단계; The first step to determine the last frame header of the recording audio data;
    상기 확인된 헤더 정보에 근거하여, 해당 프레임을 구성하는 복수의 단위 블록 데이터 전체에 대하여 동시에 역양자화하는 제 2단계; A second step on the basis of the identified header information, at the same time inverse quantization with respect to the entirety of the plurality of unit block data forming the corresponding frame;
    상기 역양자화된 데이터에 대해, 상기 단위 블록간의 연속성을 유지하면서 주파수 대역별 데이터로 복원하는 제 3단계; A third step for the inverse quantized data and restore it to the band-specific data while maintaining continuity between the said unit blocks; And
    상기 복원된 주파수 대역별 데이터를 시간 역순의 오디오 샘플 데이터로 변환출력하는 제 4단계를 포함하여 이루어지는 디지탈 오디오 데이터의 역방향 디코딩 방법. Reverse method of decoding digital audio data comprising a fourth step of converting the output the recovered data to the frequency bands of the audio sample data in reverse chronological order.
  2. 제 1항에 있어서, According to claim 1,
    상기 제 1단계의 프레임 헤더 확인은, 상기 기록 오디오 데이터의 첫 번째 헤드 정보에 근거하여 이루어지는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. Frame header check of the first step is the reverse of the decoding method of digital audio data, characterized in that made on the basis of the head information of the first recording audio data.
  3. 제 1항에 있어서, According to claim 1,
    상기 제 1단계는, The first step,
    상기 기록 오디오 데이터의 첫 번째 헤드 정보로부터 프레임의 크기를 독출하는 하위 제 1단계; It said recording a frame size from the first head of the audio data reading is lower the first step;
    상기 독출된 프레임 크기에 근거하여, 프레임의 가상 헤드 위치로 이동하는 하위 제 2단계; Sub-second step of, based on the read frame size, go to the virtual frame head position; And
    상기 이동된 위치에서, 패딩 비트 유무를 감안하여 실제 프레임 헤더를 확인하는 하위 제 3단계를 포함하여 이루어지는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. In the moved position, the reverse decoding method of digital audio data comprising the sub-steps of claim 3 to determine the physical frame header in view of the padding bits or not.
  4. 제 1항에 있어서, According to claim 1,
    상기 제 2단계는, The second step,
    상기 확인된 헤더 정보에 근거하여, 사이드 인포메이션을 독출하는 하위 제 1단계; On the basis of the identified header information, the side information for reading the sub-steps of claim 1;
    상기 독출된 사이드 인포메이션에 근거하여, 해당 단위 프레임에 대응되는 데이터의 위치를 확인하는 하위 제 2단계; Sub-second step of, based on the read side information, determine the location of the data corresponding to the unit frame;
    상기 확인된 위치에 근거하여, 단위 프레임을 구성하는 복수의 단위 블록 전체에 대하여 동시에 역양자화하는 하위 제 3단계를 포함하여 이루어지는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. Reverse method of decoding digital audio data comprising the sub-third step of inverse quantization at the same time with respect to the entirety of the plurality of unit blocks based on the identified position, constituting a unit frame.
  5. 제 1항에 있어서, According to claim 1,
    상기 제 3단계는, The third step,
    단위 프레임을 구성하는 복수의 단위 블록 전체에 대하여 허프만 디코딩하는단계; The step of Huffman decoding with respect to the entirety of the plurality of unit blocks constituting the unit frame; And
    상기 허프만 디코딩된 데이터에 대해 역양자화 및 역스케일링하는 단계를 포함하여 이루어지는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. Reverse method of decoding digital audio data comprising the steps of inverse quantization and inverse scaling to the Huffman decoded data.
  6. 제 1항에 있어서, According to claim 1,
    상기 제 3단계는, 현재 역(逆) 변형이산여현변환(MDCT)된 후반부의 단위 블록 데이터와, 직후 입력되어 역(逆) 변형이산여현변환된 전반부의 단위 블록 데이터를 중첩합산함에 의하여 단위 블록간의 연속성을 유지하는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. The third step, the current station (逆) modified discrete cosine transform (MDCT) of the input immediately after the unit block data at the end station (逆) unit block by as modified discrete cosine overlap-add the unit block data in the converted first part reverse method of decoding digital audio data, characterized in that to keep the continuity between.
  7. 제 6항에 있어서, 7. The method of claim 6,
    역방향 입력되는 최초 프레임의 첫 번째 단위 블록에 대해서는 중첩할 데이터를 0으로 설정하는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. Reverse reverse input method of decoding digital audio data, characterized in that to set the data to be superposed for the first unit block in the first frame to 0, that is.
  8. 제 1항에 있어서, According to claim 1,
    상기 제 3단계는, 현재 주파수 대역별로 데이터 복원(MDCT)되는 후반부의 단위 블록 데이터와, 직후 입력되어 복원된 전반부의 단위 블록 데이터를 중첩합산함에 의하여 단위 블록간의 연속성을 유지하는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. The third stage is digital, characterized in that to keep the continuity between the unit block by as data decompression (MDCT) and the unit block data in the second half of that, immediately after the superimposed the unit block data of the restored first half summed input by the current band reverse decoding the audio data.
  9. 제 1항에 있어서, According to claim 1,
    상기 제 4단계는, The fourth step,
    역(逆) 변형이산여현변환(MDCT)된 데이터를 메모리에 정상 재생시의 시간순서로 순차입력한 후, 상기 재생 시간순서의 역순으로 지연시켜 출력합성하는 것을 특징으로 하는 디지탈 오디오 데이터의 역방향 디코딩 방법. Station (逆) strain after sequentially inputting the data, the DCT (MDCT) to the time sequence of the normal reproduction in the memory, the reverse decoding of the digital audio data, characterized in that the delays in the reverse order of playback time sequence synthesized output method .
  10. 압축된 디지털 오디오 데이터의 마지막 부분부터 M개의 프레임씩 나누어 순방향으로 디코딩을 수행한 후, 디코딩된 데이터를 디코딩의 역순으로 출력하는 역방향 디코딩 방법. One from the end of the compressed digital audio data divided by M frames in the forward direction and then performs decoding, backward decoding method with the reverse output of the decoding the decoded data.
KR1019990006157A 1999-02-24 1999-02-24 A method for backward decoding an audio data KR100300887B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990006157A KR100300887B1 (en) 1999-02-24 1999-02-24 A method for backward decoding an audio data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1019990006157A KR100300887B1 (en) 1999-02-24 1999-02-24 A method for backward decoding an audio data
PCT/KR1999/000764 WO2000051243A1 (en) 1999-02-24 1999-12-11 A backward decoding method of digital audio data
JP2000601744A JP2002538503A (en) 1999-02-24 1999-12-11 Reverse decoding method of digital audio data
AU16934/00A AU1693400A (en) 1999-02-24 1999-12-11 A backward decoding method of digital audio data

Publications (2)

Publication Number Publication Date
KR20000056661A KR20000056661A (en) 2000-09-15
KR100300887B1 true KR100300887B1 (en) 2001-09-26

Family

ID=19574975

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990006157A KR100300887B1 (en) 1999-02-24 1999-02-24 A method for backward decoding an audio data

Country Status (4)

Country Link
JP (1) JP2002538503A (en)
KR (1) KR100300887B1 (en)
AU (1) AU1693400A (en)
WO (1) WO2000051243A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
JP2004529450A (en) * 2001-04-20 2004-09-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィKoninklijke Philips Electronics N.V. Method and apparatus for editing data streams
EP1308931A1 (en) * 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decoding of a digital audio signal organised in frames comprising a header
KR100462611B1 (en) * 2002-06-27 2004-12-20 삼성전자주식회사 Audio coding method with harmonic extraction and apparatus thereof.
US7610195B2 (en) 2006-06-01 2009-10-27 Nokia Corporation Decoding of predictively coded data using buffer adaptation
KR101390551B1 (en) * 2012-09-24 2014-04-30 충북대학교 산학협력단 Method of low delay modified discrete cosine transform

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0687111B1 (en) * 1994-06-06 2003-08-06 sci worx GmbH Method for coding and decoding a data stream
JPH08293157A (en) * 1995-04-21 1996-11-05 Matsushita Electric Ind Co Ltd Recording and reproducing method for variable frame length high efficiency coded data
JP3596978B2 (en) * 1996-05-14 2004-12-02 株式会社ルネサステクノロジ Sound reproducing apparatus
JPH10112135A (en) * 1996-10-08 1998-04-28 Suzuki Motor Corp Disk reproducing device
US5893066A (en) * 1996-10-15 1999-04-06 Samsung Electronics Co. Ltd. Fast requantization apparatus and method for MPEG audio decoding
JPH10178349A (en) * 1996-12-19 1998-06-30 Matsushita Electric Ind Co Ltd Coding and decoding method for audio signal

Also Published As

Publication number Publication date
JP2002538503A (en) 2002-11-12
KR20000056661A (en) 2000-09-15
WO2000051243A1 (en) 2000-08-31
AU1693400A (en) 2000-09-14

Similar Documents

Publication Publication Date Title
CN1209744C (en) Coding device and decoding device
KR100335609B1 (en) Scalable audio encoding/decoding method and apparatus
US5687191A (en) Post-compression hidden data transport
JP5395917B2 (en) Multi-channel digital audio encoding apparatus and method
EP2250572B1 (en) Lossless multi-channel audio codec using adaptive segmentation with random access point (rap) capability
RU2387022C2 (en) Lossless scalable audio codec and author tool
KR100921453B1 (en) Apparatus and method for encoding/decoding signal
JP3371590B2 (en) High-efficiency encoding method and a high efficiency decoding method
CN1154085C (en) Variable scale audio coding/decoding method and apparatus
JP5164834B2 (en) Scale adjustable compressed audio bit stream, and a codec using the hierarchical filterbank and multichannel jointly coded
KR100986150B1 (en) Audio coding system using characteristics of a decoded signal to adapt synthesized spectral components
CN1748443B (en) Support of a multichannel audio extension
JP3804968B2 (en) Adaptive Allocation type coding and decoding apparatus and method
KR101346462B1 (en) Signal encoding device and signal encoding method, signal decoding device and signal decoding method, and recording medium
JP4126681B2 (en) Aliasing suppression added with a filter bank frame and basic audio coding
JP3316159B2 (en) Joint stereo coding method of multi-channel audio signal
JP3721582B2 (en) Signal encoding apparatus and method, and signal decoding apparatus and method
CN1071914C (en) Method for encoding signal and method for decoding signal
US5687157A (en) Method of recording and reproducing digital audio signal and apparatus thereof
JP3849210B2 (en) Speech encoding and decoding scheme
CN1108012C (en) Digital input signal compressor using multiple compression modes, its method and system
CN1110145C (en) Variable scale audio coding/decoding method and apparatus
US20020049586A1 (en) Audio encoder, audio decoder, and broadcasting system
KR100402189B1 (en) Audio signal compression method
EP1455345B1 (en) Method and apparatus for encoding and/or decoding digital data using bandwidth extension technology

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee