KR20070091512A - Method and apparatus for error concealment of decoded audio signal - Google Patents

Method and apparatus for error concealment of decoded audio signal Download PDF

Info

Publication number
KR20070091512A
KR20070091512A KR1020060049040A KR20060049040A KR20070091512A KR 20070091512 A KR20070091512 A KR 20070091512A KR 1020060049040 A KR1020060049040 A KR 1020060049040A KR 20060049040 A KR20060049040 A KR 20060049040A KR 20070091512 A KR20070091512 A KR 20070091512A
Authority
KR
South Korea
Prior art keywords
error
concealing
frame
frequency domain
concealment
Prior art date
Application number
KR1020060049040A
Other languages
Korean (ko)
Other versions
KR101261528B1 (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 US11/749,249 priority Critical patent/US8798172B2/en
Publication of KR20070091512A publication Critical patent/KR20070091512A/en
Application granted granted Critical
Publication of KR101261528B1 publication Critical patent/KR101261528B1/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/005Correction of errors induced by the transmission channel, if related to the coding algorithm

Abstract

A method and an apparatus for error concealment of decoded audio signals are provided to remove noise effectively by adaptively concealing an error according to a decoded bitstream and improve sound quality of audio by reflecting decoded information until an error is generated to the maximum. A method for error concealment of decoded audio signals comprises the following steps of: determining whether there is an error in the frame of a decoded bitstream(120); selecting a method for concealing the error in a frequency domain or a method for concealing the error in a time domain by a preset standard if it is determined that there is the error in the frame(145,150); and concealing the error according to the selected method(115).

Description

복호화된 오디오 신호의 오류 은폐 방법 및 장치{Method and apparatus for error concealment of decoded audio signal}Method and apparatus for error concealment of decoded audio signal {Method and apparatus for error concealment of decoded audio signal}

도 1은 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법을 포함하는 오디오 신호를 복호화하는 방법에 대한 일 실시예를 흐름도로 도시한 것이다.1 is a flowchart illustrating an embodiment of a method of decoding an audio signal including a method of error concealment of a decoded audio signal according to the present invention.

도 2은 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 장치를 포함하는 오디오 신호를 복호화하는 장치에 대한 일 실시예를 블록도로 도시한 것이다.2 is a block diagram illustrating an embodiment of an apparatus for decoding an audio signal including an error concealment apparatus of a decoded audio signal according to the present invention.

도 3은 BSAC에서 복수의 계층(layer)으로 구성된 비트스트림(bitstream)의 구조를 개념도로 도시한 것이다.3 is a conceptual diagram illustrating a structure of a bitstream composed of a plurality of layers in a BSAC.

도 4a는 오류가 존재하지 않는 이전 프레임(frame)의 스펙트럼 에너지(spectrum energy)를 도시한 그래프이다.4A is a graph showing the spectrum energy of the previous frame in which no error exists.

도 4b는 오류가 존재하는 현재 프레임의 스펙트럼 에너지를 도시한 그래프이다.4B is a graph showing the spectral energy of the current frame in which an error exists.

도 5는 시간 영역(time domain)에서 오류를 은폐(concealment)하는 방식을 사용하는 변환(transition)을 설명하기 위한 개념도를 도시한 것이다.FIG. 5 is a conceptual diagram illustrating a transition using a method of concealing an error in a time domain.

도 6은 시간 영역에서 WSOLA 방식과 프레임 보간법(frame interpolation)을 이용하여 오류를 복원하는 방식을 개념도로 도시한 것이다.6 is a conceptual diagram illustrating a method of recovering an error using a WSOLA method and frame interpolation in the time domain.

도 7은 n 프레임에 WSOLA 방식을 적용하는 일 실시예를 개념도로 도시한 것 이다.7 is a conceptual diagram illustrating an embodiment of applying the WSOLA scheme to n frames.

도 8은 프레임 보간법을 적용하는 일 실시예를 개념도로 도시한 것이다.8 is a conceptual diagram illustrating an embodiment of applying frame interpolation.

〈도면의 주요 부호에 대한 간단한 설명〉<Brief description of the major symbols in the drawings>

200: 비트스트림 입력부 205: 헤더 분석부200: bitstream input unit 205: header analyzer

210: 복호화부 225: 판단부210: decryption unit 225: determination unit

230: 제1 선택부 235: 오류위치 검출부230: first selection unit 235: error position detection unit

240: 제2 선택부 253: 주파수영역 은폐부240: second selector 253: frequency domain concealment

256: 시간영역 은폐부 260: 역변환부256: time domain concealment unit 260: inverse transform unit

본 발명은 BSAC과 같이 복수의 계층(layer)으로 구성된 오디오 데이터(audio data)를 복호화하는 장치에 관한 것으로, 보다 상세하게는 복호화된 비트스트림(bitstream)에서 오류(error)를 복원하여 은폐(concealment)하는 방법 및 장치에 관한 것이다.The present invention relates to an apparatus for decoding audio data composed of a plurality of layers, such as BSAC. More particularly, the present invention relates to a concealment by recovering an error from a decoded bitstream. And a method and apparatus.

T-DMB 또는 IP 망과 같은 유무선 망을 통하여 부호화된 오디오 신호를 전송하는 과정에서 오류가 발생한다. 이러한 경우 오류를 적절하게 처리하지 않으면, 어노잉 디스토션(annoying distortion)이 발생하여 음질이 상당히 저하된다.An error occurs in the process of transmitting the encoded audio signal through a wired or wireless network such as T-DMB or IP network. In this case, if the error is not handled properly, annoying distortion can occur, resulting in a significant degradation in sound quality.

종래에는 이러한 오디오 신호의 오류를 은폐하기 위하여 오류가 발생한 프레임에서 소리의 음량을 작게 함으로써 오류가 출력에 미치는 영향을 줄이는 뮤 팅(muting) 방식, 이전 프레임(frame)의 데이터를 오류가 발생한 프레임에 복사하여 복원하는 반복(repetition) 방식, 오류가 발생한 프레임의 시간 영역 샘플(time domain sample)을 이전 프레임으로부터 보간법(interpolation) 또는 보외법(extrainterpolation)을 수행하여 복원하는 방식 등이 있다.Conventionally, in order to conceal the error of the audio signal, a muting method that reduces the effect of the error on the output by reducing the volume of sound in the error frame, the data of the previous frame (frame) in the error frame There may be a repetition method of copying and restoring, and a method of restoring a time domain sample of an error-prone frame by performing interpolation or extrainterpolation from a previous frame.

그러나 종래에는 오디오 신호에 존재하는 오류를 은폐하기 위해서 오류가 발생한 부분만을 복원하는 것이 아니라 오류를 포함하는 단위 프레임에 해당하는 데이터를 모두 다른 프레임을 이용하여 복원하므로 데이터의 손실이 많게 되는 문제점을 갖는다. 이에 의하여 출력되는 음질이 저하되는 문제점을 갖는다. However, conventionally, in order to conceal an error existing in an audio signal, not only a portion in which an error occurs is restored, but all data corresponding to a unit frame including an error are restored by using another frame, thereby causing a large data loss. . As a result, the output sound quality is deteriorated.

본 발명이 이루고자 하는 기술적 과제는, 복호화된 비트 스트림의 오류를 은폐하는 방식에 있어서 주파수 영역 또는 시간 영역 가운데 선택하여 오류를 은폐하고, 주파수 영역에서 오류를 은폐하는 방식이 선택된 경우 프레임에서 오류가 존재하는 위치를 검출하여 그 이후의 위치에 해당하는 부분만 오류를 은폐하는 복원된 오디오 신호의 오류 은폐 방법 및 장치를 제공하는 것이다.An object of the present invention is to conceal an error by selecting from a frequency domain or a time domain in a method of concealing an error of a decoded bit stream, and an error exists in a frame when a method of concealing an error in a frequency domain is selected. The present invention provides a method and apparatus for error concealment of a restored audio signal that detects a position to conceal an error only in a portion corresponding to a later position.

상기의 과제를 이루기 위한 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법은, 복호화된 비트스트림(bitstream)의 프레임(frame)에 오류(error)가 있는지 여부를 판단하는 단계, 상기 프레임에 오류가 있다고 판단되면, 기 설정된 기준에 의해 주파수 영역(frequency domain)에서 오류를 은폐(concealment)하는 방식 또는 시간 영역(time domain)에서 오류를 은폐하는 방식 가운데 선택하는 단계 및 상기 선택된 방식에 따라 오류를 은폐하는 단계를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, an error concealment method of a decoded audio signal includes determining whether an error exists in a frame of a decoded bitstream. If it is determined, the method of concealing the error in the frequency domain (concealment) or a method of concealing the error in the time domain according to a predetermined criterion and concealing the error according to the selected method Characterized in that it comprises a step.

상기의 과제를 이루기 위한 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법은, 오류가 있는 복호화된 비트스트림의 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 단계 및 상기 선택된 방식에 따라 오류를 은폐하는 단계를 포함하는 것을 특징으로 한다.The error concealment method of the decoded audio signal according to the present invention for achieving the above object is a method of concealing an error in the frequency domain or a time concealment of the error in a time domain by a predetermined criterion for the frame of the decoded bitstream having an error. Selecting a concealment scheme and concealing an error according to the selected scheme.

전술된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체인 것을 특징으로 한다.And a computer readable recording medium having recorded thereon a program for executing the above-described invention on a computer.

상기의 과제를 이루기 위한 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 장치는, 오류가 있는 복호화된 비트스트림의 프레임을 검출하는 오류 프레임 검출부, 상기 검출된 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 은폐방식 선택부 및 상기 선택된 방식에 따라 오류를 은폐하는 오류 은폐부를 포함하는 것을 특징으로 한다.An error concealment apparatus of a decoded audio signal according to the present invention for achieving the above object is an error frame detection unit for detecting a frame of an error-decoded bitstream, in the frequency domain based on a predetermined reference to the detected frame And a concealment method selection unit for selecting among a method of concealing an error or a method of concealing an error in a time domain, and an error concealment unit for concealing an error according to the selected method.

상기의 과제를 이루기 위한 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 장치는, 오류가 있는 복호화된 비트스트림의 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 은폐방식 선택부 및 상기 선택된 방식에 따라 오류를 은폐하는 오류 은폐부를 포함하는 것을 특징으로 한다.The error concealment apparatus of the decoded audio signal according to the present invention for achieving the above object, the error concealment in the frequency domain or the manner of concealing the error in the frequency domain by a predetermined reference to the frame of the decoded bitstream with the error And a concealment method selection unit for selecting among concealment methods and an error concealment unit for concealing errors according to the selected method.

이하, 첨부된 도면들을 참조하여 본 발명에 따른 복호화된 오디오 신호의 오 류 은폐 방법 및 장치에 대해 상세히 설명한다.Hereinafter, a method and apparatus for error concealment of a decoded audio signal according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법을 포함하는 오디오 신호를 복호화하는 방법에 대한 일 실시예를 흐름도로 도시한 것이다.1 is a flowchart illustrating an embodiment of a method of decoding an audio signal including a method of error concealment of a decoded audio signal according to the present invention.

먼저, MPEG-4 시스템(system) 또는 MPEG TS 등과 같은 상위 레벨(level)의 시스템으로부터 비트스트림(bitstream)을 입력받는다(제100단계).First, a bitstream is received from a system of a higher level such as MPEG-4 system or MPEG TS (step 100).

제100단계에서 입력받은 비트스트림으로부터 헤더(header)를 추출하여 헤더에 포함된 정보를 분석한다(제105단계).In step 100, a header is extracted from the input bitstream, and information included in the header is analyzed (step 105).

제105단계 후에, 제100단계에서 입력받은 비트스트림을 복호화한다(제110단계).After step 105, the bitstream received in step 100 is decoded (step 110).

제115단계는 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법으로 제110단계에서 복호화된 비트스트림에 존재하는 오류를 은폐(concealment)한다(제115단계).In operation 115, an error concealment method of the decoded audio signal according to the present invention conceals an error existing in the bitstream decoded in operation 110 (operation 115).

제110단계에서 복호화된 비트스트림의 현재 프레임(frame)에 오류(error)가 있는지 여부를 판단한다(제120단계).In operation 110, it is determined whether an error exists in a current frame of the decoded bitstream (operation 120).

제120단계에서 현재 프레임에 오류가 있는지 여부는 다음과 같은 세 가지 방식을 이용하여 판단할 수 있다. In step 120, whether there is an error in the current frame may be determined using the following three methods.

첫째, 시스템으로부터 전달되고 프레임의 오류 여부를 나타내는 정보를 포함하는 CRC 등을 이용하여 현재 프레임에 오류가 있는지 여부를 판단한다.First, it is determined whether there is an error in the current frame by using a CRC or the like transmitted from the system and including information indicating whether the frame is in error.

둘째, 부호화기로부터 전송받은 비트스트림의 길이와 제110단계에서 복호화된 비트스트림의 길이를 비교하여 현재 프레임에 오류가 있는지 여부를 판단한다. 프레임에 오류가 있는 경우 복호화된 비트스트림의 길이는 부호화기로부터 전송받은 비트스트림의 길이과 비교하면 소정의 오차가 발생한다. 또한, 프레임에 오류가 없는 경우 부호화기로부터 전송받은 비트스트림의 길이만큼 복호화에 이용된다. 그러므로 부호화기로부터 전송받은 비트스트림의 길이가 복호화된 비트스트림의 길이와 동일한 경우, 현재 프레임의 비트스트림에 오류가 없는 것으로 판단한다. 그리고 부호화기로부터 전송받은 비트스트림의 길이가 복호화된 비트스트림의 길이와 다를 경우, 현재 프레임의 비트스트림에 오류가 있는 것으로 판단한다.Second, by comparing the length of the bit stream received from the encoder with the length of the bit stream decoded in step 110 determines whether there is an error in the current frame. If there is an error in the frame, a predetermined error occurs when the length of the decoded bitstream is compared with the length of the bitstream received from the encoder. In addition, when there is no error in a frame, the length of the bitstream received from the encoder is used for decoding. Therefore, when the length of the bitstream received from the encoder is the same as the length of the decoded bitstream, it is determined that there is no error in the bitstream of the current frame. If the length of the bitstream received from the encoder is different from the length of the decoded bitstream, it is determined that there is an error in the bitstream of the current frame.

셋째, 비트스트림의 헤더에 포함된 단위 프레임의 비트수와 제100단계에서 입력받은 비트스트림의 비트수를 비교하여 현재 프레임에 오류가 있는지 여부를 판단한다. 예를 들어, BSAC의 경우 헤더에 마련된 단위 프레임의 길이를 나타내는 frame_length 정보와 제100단계에서 입력받은 비트스트림의 비트수를 비교하여 소정의 임계값 이상 차이가 난다면, 현재 프레임에 오차가 있는 것으로 판단한다.Third, the number of bits of the unit frame included in the header of the bitstream is compared with the number of bits of the bitstream input in step 100 to determine whether there is an error in the current frame. For example, in the case of BSAC, if the frame_length information indicating the length of the unit frame provided in the header is compared with the number of bits of the bitstream input in step 100, and there is a difference more than a predetermined threshold value, there is an error in the current frame. To judge.

만일 제120단계에서 현재 프레임에 오류가 있다고 판단되면, 현재 프레임의 상태(state)를 분석하여 주파수 영역(frequency domain)에서 오류를 은폐하기 어려운지 여부를 판단한다(제125단계). 도 3에 도시된 BSAC 또는 AAC 등과 같은 복수의 계층(layer)으로 마련된 비트스트림을 이용하는 코덱에서 주파수 영역에서 오류를 은폐하기 어려운지 여부는 윈도우 타입(window type)을 기준으로 판단할 수 있다. MDCT의 특성상 이전 프레임과 현재 프레임의 윈도우 타입이 다를 경우 오류가 없더라도 오버랩 앤드 애드 오퍼레이션(overlap and add operation)이 수행되지 않으므로 원하는 오디오 신호를 생성할 수 없다. 이에 의하여 제125단계에서는 현재 프레임의 상태를 분석하여 이전 프레임의 상태를 고려함으로써 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단한다.If it is determined in step 120 that there is an error in the current frame, the state of the current frame is analyzed to determine whether it is difficult to conceal the error in the frequency domain (step 125). In a codec using a bitstream provided with a plurality of layers such as BSAC or AAC illustrated in FIG. 3, it may be determined based on a window type whether it is difficult to conceal an error in a frequency domain. If the window type of the previous frame and the current frame is different due to the characteristics of the MDCT, the overlap and add operation is not performed even if there is no error, and thus a desired audio signal cannot be generated. Accordingly, in step 125, the state of the current frame is analyzed to determine whether it is difficult to conceal the error in the frequency domain by considering the state of the previous frame.

만일 제125단계에서 현재 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어렵지 않다고 판단되면, 현재 프레임에서 오류가 존재하는 위치를 검출한다(제130단계).If it is determined in step 125 that it is not difficult to conceal the error in the frequency domain with respect to the current frame, a position where an error exists in the current frame is detected (step 130).

제130단계에서 현재 프레임에 대하여 오류가 존재하는 위치를 검출하는 방식은 다음에 기재된 2가지 방식이 있다.There are two methods for detecting a location where an error exists with respect to the current frame in operation 130.

첫째, 현재 프레임의 스펙트럼 에너지와 이전 프레임의 스펙트럼 에너지를 비교하여 현재 프레임에 대하여 오류가 존재하는 위치를 검출한다. 왜냐하면 프레임에 오류가 존재하는 경우, 이전 프레임의 스페트럼 에너지에 비하여 현재 프레임의 스펙트럼 에너지가 급격하게 변하기 때문이다. 예를 들어, 도 4a는 오류가 존재하지 않는 이전 프레임의 스펙트럼 에너지를 도시한 그래프이고, 도 4b는 오류가 존재하는 현재 프레임의 스펙트럼 에너지를 도시한 그래프이다. 도 4b를 도 4a와 비교해 보면, 오류가 존재하는 주파수 영역에서 스펙트럼 에너지가 급격하게 변경되는 것을 알 수 있다. 여기서, 다음과 같은 수학식을 이용하여 현재 프레임의 스펙트럼 에너지와 이전 프레임의 스펙트럼 에너지를 비교할 수 있다.First, the spectral energy of the current frame is compared with the spectral energy of the previous frame to detect a location where an error exists for the current frame. This is because when there is an error in a frame, the spectral energy of the current frame changes rapidly compared to the spectrum energy of the previous frame. For example, FIG. 4A is a graph showing the spectral energy of a previous frame in which there is no error, and FIG. 4B is a graph showing the spectral energy of the current frame in which there is an error. Comparing FIG. 4B with FIG. 4A, it can be seen that the spectral energy is drastically changed in the frequency domain where an error exists. Here, the spectral energy of the current frame and the spectral energy of the previous frame may be compared using the following equation.

[수학식 1][Equation 1]

Dt(f) = energy(f,t) - energy(f, t-1)Dt (f) = energy (f, t)-energy (f, t-1)

여기서, Dt(f)는 프레임 간의 스펙트럼 에너지의 변화이며, energy(f,t)는 현재 프레임의 스펙트럼 에너지이고, energy(f, t-1)는 이전 프레임의 스펙트럼 에 너지이다.Where Dt (f) is the change in spectral energy between frames, energy (f, t) is the spectral energy of the current frame, and energy (f, t-1) is the spectral energy of the previous frame.

Dt(f)가 소정의 범위를 벗어나면, 해당하는 위치에 오차가 존재하는 것으로 판단한다.If Dt (f) is out of a predetermined range, it is determined that an error exists at the corresponding position.

또한, 현재 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지를 비교하여 현재 프레임에 대하여 오류가 존재하는 위치를 검출한다. 왜냐하면 프레임에 오류가 존재하는 경우, 이전 주파수 영역의 스페트럼 에너지에 비하여 현재 주파수 영역의 스펙트럼 에너지가 급격하게 변하기 때문이다. 이는 다음과 같은 수학식을 이용하여 현재 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지를 비교할 수 있다.In addition, the spectral energy of the current frequency domain and the spectral energy of the previous frequency domain are compared to detect a position where an error exists for the current frame. This is because if there is an error in the frame, the spectral energy of the current frequency domain is drastically changed compared to the spectrum energy of the previous frequency domain. This can be compared with the spectral energy of the current frequency domain and the spectral energy of the previous frequency domain by using the following equation.

[수학식 2][Equation 2]

Df(f) = energy(f,t) - energy(f-1, t)Df (f) = energy (f, t)-energy (f-1, t)

여기서, Df(f)는 주파수 영역 간의 스펙트럼 에너지의 변화이며, energy(f,t)는 현재 주파수 영역의 스펙트럼 에너지이고, energy(f, t-1)는 이전 주파수 영역의 스펙트럼 에너지이다.Here, Df (f) is the change in spectral energy between frequency domains, energy (f, t) is the spectral energy of the current frequency domain, and energy (f, t-1) is the spectral energy of the previous frequency domain.

Df(f)가 소정의 범위를 벗어나면, 해당하는 위치에 오차가 존재하는 것으로 판단한다.If Df (f) is out of a predetermined range, it is determined that an error exists at the corresponding position.

전술된 방식을 이용하여 오류가 발생한 주파수 대역에 해당하는 계층을 도출한다.Using the above-described method, a layer corresponding to an error frequency band is derived.

둘째, 복호화된 비트스트림의 각 계층마다 할당된 비트를 검사하여 현재 프레임에서 오류가 존재하는 위치를 검출하는 방식이 있다. 복수의 계층으로 마련된 비트스트림의 경우 헤더에 각 계층 별로 할당될 비트수의 정보가 마련되어 있다. 예를 들어, BSAC의 경우 헤더에 각 계층 별로 할당될 비트수를 나타내는 layer_buf_offset이라는 헬프 베리어블(help variable)이 있다. 만일 소정의 계층에 오류가 있는 경우 산술 복호화(arithmetic decoding)시 과도하게 많거나 적게 비트가 사용된다. 그러므로 비트가 과도하게 많거나 적게 사용되는 계층은 현재 계층 또는 이전 계층에 오류가 있을 가능성이 높다.Second, there is a method of detecting a location in which an error exists in a current frame by checking bits allocated to each layer of the decoded bitstream. In the case of a bitstream provided with a plurality of layers, information on the number of bits to be allocated to each layer is provided in a header. For example, in the case of BSAC, there is a help variable called layer_buf_offset indicating the number of bits to be allocated for each layer in the header. If there is an error in a given layer, excessively more or less bits are used in arithmetic decoding. Therefore, layers with too many or fewer bits are more likely to have errors in the current or previous layers.

제130단계에서 검출된 위치가 제1 임계 위치 이전에 마련되었는지 여부를 판단한다(제135단계). 제130단계에서 검출된 위치가 도 3의 기본 계층과 같이 복호화함에 있어서 중요한 역할을 하는 데이터에 해당하는 경우 전체 프레임에 대하여 시간 영역에서 오류를 은폐하는 것이 바람직하기 때문이다. 그러나 도 1에 도시된 바와 달리, 프레임의 전체 주파수 영역에 대하여 주파수 영역에서 오류를 은폐하는 방식을 이용하여 오류를 복원할 수도 있다.In operation 130, it is determined whether the position detected in operation 130 is provided before the first threshold position. This is because when the position detected in operation 130 corresponds to data that plays an important role in decoding as in the base layer of FIG. 3, it is preferable to conceal an error in the time domain for the entire frame. However, unlike FIG. 1, the error may be recovered by using a method of concealing an error in the frequency domain for the entire frequency domain of the frame.

제135단계에서 제1 임계 위치 이후에 마련되었다고 판단되면, 제130단계에서 검출된 위치가 제2 임계 위치 이후에 마련되었는지 여부를 판단한다(제140단계). 제130단계에서 검출된 위치가 도 3의 N 계층에 해당하는 마지막 계층과 같이 오류가 오디오의 음질에 영향을 거의 미치지 않는 경우 오류를 은폐하지 않아도 되기 때문이다.If it is determined in step 135 that the location is provided after the first critical location, it is determined whether the location detected in step 130 is provided after the second critical location (step 140). This is because the error does not need to be concealed when the position detected in operation 130 hardly affects the sound quality of the audio as in the last layer corresponding to the N layer of FIG. 3.

제140단계에서 제2 임계 위치 이전에 마련되었다고 판단되면, 현재 프레임을 주파수 영역에서 오류를 은폐한다(제145단계). 제145단계에서는 오류를 은폐함에 있어서 이전 프레임의 데이터를 에러가 발생한 프레임에 복사(copy)하여 복원하는 반복(repetition) 방식을 이용한다. 제130단계에서 검출된 위치 이전의 데이터는 그대로 두고, 제130단계에서 검출된 위치 이후의 데이터는 이전 프레임의 데이터를 복사하여 복원한다. 이에 의하여 BSAC과 같이 복수의 계층으로 비트스트림이 구성되고, 각 계층 별로 주파수 대역이 할당된 경우, 비트스트림의 중간에 오류가 발생하여도 오류가 발생한 이전 계층까지는 그대로 복원이 가능하다. 예를 들어, 제130단계에서 검출된 위치가 8kHz인 경우 8kHz에 해당하는 계층 및 그 이후의 계층은 대응되는 이전 프레임의 계층들로 복사하여 복원한다. 이에 의하여 오류가 발생한 프레임이더라도 오류가 발생하기 이전까지 복호화된 정보를 최대한 반영함으로써 오디오의 음질을 개선할 수 있다.If it is determined in step 140 that it is provided before the second threshold position, an error is concealed in the frequency domain of the current frame (step 145). In step 145, a repetition method of copying and restoring data of a previous frame to a frame in which an error occurs is used to conceal an error. The data before the position detected in operation 130 is left as it is, and the data after the position detected in operation 130 is restored by copying data of a previous frame. Accordingly, when the bitstream is composed of a plurality of layers as in BSAC, and frequency bands are allocated to each layer, even if an error occurs in the middle of the bitstream, the previous layer in which the error occurs can be restored as it is. For example, when the position detected in operation 130 is 8 kHz, the layer corresponding to 8 kHz and the layer subsequent thereto are copied and restored to the layers of the corresponding previous frame. As a result, even in a frame in which an error occurs, the sound quality of the audio can be improved by reflecting the decoded information as much as possible before the error occurs.

만일 제125단계에서 현재 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어렵다고 판단되거나 제135단계에서 제1 임계 위치 이전에 마련되었다고 판단되면, 현재 프레임을 시간 영역에서 오류를 은폐한다(제150단계).If it is determined in step 125 that it is difficult to conceal the error in the frequency domain with respect to the current frame or in step 135, it is determined that the error is provided before the first threshold position (step 150).

제150단계에서 오류를 은폐함에 있어서, 현재 프레임에 대한 정보를 무시하고 이전 프레임에서 유사도가 가장 높은 부분(segment)을 검색하여 보간법(interpolation) 또는 보외법(extrapolation)에 의해 현재 프레임을 복원한다. MDCT가 적용되는 경우 오버랩 앤드 애드 오퍼레이션을 수행하여야 하므로 2개의 PCM 프레임이 손실된다. 이에 의하여 한 프레임에 오류가 발생하면 항상 두 개의 프레임을 복원하여야 한다. 그러므로 제150단계에서는 현재 프레임 뿐만 아니라 이후 프레임도 보간법 또는 보외법을 이용하여 복원하여야 한다. 이를 위해 과거 프레임의 정보를 저장하여 과거 프레임의 정보를 이용함으로써 현재 프레임의 오류 를 은폐한다. 도 5는 시간 영역에서 오류를 은폐하는 방식을 사용하는 변환(transition)을 설명하기 위하여 개념도를 도시한 것이다. 또한, 연속적인 두 개의 PCM 프레임을 적용하여 복원하는 동기식 오버랩 앤드 애드(Synchronous overlap and add)를 이용할 수도 있다.In operation 150, the current frame is reconstructed by interpolation or extrapolation by retrieving a segment having the highest similarity from the previous frame, ignoring information on the current frame. When MDCT is applied, two PCM frames are lost because overlap and add operations must be performed. As a result, when an error occurs in one frame, two frames must be restored at all times. Therefore, in step 150, not only the current frame but also subsequent frames must be restored using interpolation or extrapolation. To this end, the information of the past frame is stored and the information of the past frame is used to conceal errors of the current frame. FIG. 5 illustrates a conceptual diagram to illustrate transitions using a method of concealing errors in the time domain. In addition, it is also possible to use synchronous overlap and add (recovery) by applying two consecutive PCM frames.

도 6을 살펴보면, 현재 프레임에 해당하는 n 프레임에서 오류가 발생하면 50% 오버랩 윈도우에 의해 이후 프레임에 해당하는 (n+1) 프레임에 영향을 미치게 된다. 단순히 과거 신호를 반복적으로 사용하게 되면, 과거의 마지막 프레임, 이후 첫 번째 오류 프레임 및 두 번째 오류 프레임이 연속하여 오류가 발생함으로써 현저하게 음질이 저하될 수 있는 문제점이 발생할 수 있다. 이와 같이 연속하여 오류가 발생하는 문제점을 해결하기 위해 WSOLA 방식과 보간법을 동시에 이용하는 것이 바람직하다. 첫 번째 프레임에 해당하는 n 프레임에는 WSOLA 방식을 적용하고, 두 번째 프레임에 해당하는 (n+1) 프레임에는 프레임 보간법(frame interpolation)을 이용할 수 있다.Referring to FIG. 6, when an error occurs in an n frame corresponding to the current frame, the 50% overlap window affects a (n + 1) frame corresponding to a subsequent frame. If the past signal is simply used repeatedly, a problem may occur in that the sound quality may be significantly degraded because the error occurs in succession of the last frame of the past, the first error frame and the second error frame. In order to solve this problem of continuous error, it is desirable to use the WSOLA method and the interpolation method simultaneously. The WSOLA method may be applied to n frames corresponding to the first frame, and frame interpolation may be used for (n + 1) frames corresponding to the second frame.

첫 번째 프레임에 해당하는 n 프레임에 적용된 WSOLA 방식을 구현하는 일 실시예는 도 7에 도시되어 있다. 먼저, BSAC의 과거 시간 영역의 출력을 버퍼링(buffering)한다. 오류가 발생한 현재 프레임의 바로 이전의 블록(block) 신호를 이용하여 과거 검색 범위(search range)에서 다음과 같은 수학식을 이용하여 상관도(correlation)를 구한다. An embodiment of implementing the WSOLA method applied to n frames corresponding to the first frame is illustrated in FIG. 7. First, the output of the past time domain of the BSAC is buffered. The correlation is obtained by using the following equation in the past search range by using a block signal immediately before the current frame in which an error occurs.

[수학식 3][Equation 3]

Figure 112006038611795-PAT00001
Figure 112006038611795-PAT00001

여기서, R(d)는 상관도이며, s(n)은 old_buff 신호이고, d는 검색 범위의 샘플 위치를 말한다. Here, R (d) is a correlation, s (n) is an old_buff signal, and d is a sample position of a search range.

수학식 3을 이용하여 구해진 상관도 가운데 가장 높은 상관도를 갖는 파운드 블록(found block)의 위치를 구한 후 파운드 블록과 다음 신호를 복사하여 오류가 발생한 부분에 복사하여 복원한다. 여기서, 복사하여 복원할 때 윈도윙(windowing)을 하게 되는데, 오버랩이 이루어지는 파운드 블록의 부분에는 1차 함수, 다차 함수 및 사인(sine) 함수 등을 사용할 수 있고, 오버랩이 이루어지지 않는 파운드 블록의 부분에는 장방 윈도우(rectangular window)를 사용할 수 있다. 그리고 블록 부분에도 파운드 블록에서 사용한 윈도우와 반대의 위상을 갖는 윈도우를 구하여 파운드 블록의 부분과 오버랩하여 더한다. 여기서, 주의할 점은 오버랩되는 부분에서 두 윈도우 값의 합이 1 이 되도록 윈도우를 설계해야 한다. 이와 동일한 방식을 프레임이 끝날 때까지 반복하여 수행한다. 여기서, 프레임의 크기에 따라 최소 1 이상의 크기로 분할하여 적용할 수 있다. 그리고 수학식 3에 의하면 상관도는 매 샘플 단위로 구하고 있는데 복잡도를 고려하여 2 이상의 정수에 해당하는 샘플 단위로 구할 수도 있다.After finding the position of the found block having the highest correlation among the correlations obtained using Equation 3, the pound block and the next signal is copied and restored to the part where an error occurs. Here, when copying and restoring, windowing is performed, and a first-order function, a multiple-order function, and a sine function can be used for the portion of the pound block in which the overlap is made. The part can use a rectangular window. In addition, a window having a phase opposite to the window used in the pound block is also obtained in the block portion and overlapped with the portion of the pound block. Note that the window should be designed so that the sum of the two window values is 1 in the overlapping part. This same method is repeated until the end of the frame. Here, it may be divided and applied to at least one size according to the size of the frame. In addition, according to Equation 3, the correlation is obtained in every sample unit, but may be obtained in sample units corresponding to two or more integers in consideration of complexity.

또한, 정밀도를 높이기 위해 가장 높은 상관도를 갖는 샘플 주위에 2 이상의 정수에 해당하는 샘플 범위 내에서 1 샘플 단위로 상관도를 추가로 구해서 가장 상관도가 높은 샘플의 위치를 구할 수도 있다. In addition, in order to increase the precision, the correlation may be further obtained in units of one sample within a sample range corresponding to two or more integers around the sample having the highest correlation, and the position of the sample having the highest correlation may be obtained.

두 번째 프레임에 해당하는 (n+1) 프레임에 적용된 프레임 보간법을 구현하는 일 실시예가 도 8에 도시되어 있다. 이전 프레임(old frame, 800)과 이후 오류가 없는 프레임(next good frame, 820)간에 선형 보간법(linear interpolation)을 적용한다. 지연 문제로 인해 미래 신호가 프레임 단위로 마련되어 있으므로 오버랩를 위해 윈도우를 수정하여 릴렉스드 보간법(relaxed interpolation)을 적용한다. 릴렉스드 보간법에서 사용되는 윈도우는 도 8에 도시되어 있다. 여기서 사용되는 윈도우 구조는 장방 윈도우와 1차 함수, 다차 함수, 또는 사인 함수가 사용될 수 있다. 도 8은 1차 함수를 사용하는 윈도우의 일 실시예를 도시한 것이다. 여기서, 주의할 점은 이전 윈도우(800)와 이후 윈도우(820)가 오버랩된 경우 두 위도우 값의 합은 1 이 되어야 한다. 도 8에 의하면 프레임과 동일한 크기의 두 윈도우를 오버랩 앤 애드를 하는 릴렉스드 보간법에 의해서 출력되는 신호는 프레임 크기의 신호에 오버랩 크기(overlap size, OV_SIZE)만큼의 블록이 더해져서 출력된다. 이렇게 더해진 블록의 신호를 이용하여 이후 프레임(820)과 오버랩 앤 애드를 하게 된다. 그리고 보간법에 의하여 복원된 신호의 앞부분은 이전 프레임(800)과 도 7에서 설명한 방식과 동일하게 오버랩 앤 애드가 수행된다.An embodiment of implementing the frame interpolation method applied to the (n + 1) frame corresponding to the second frame is shown in FIG. 8. Linear interpolation is applied between the old frame 800 and the next good frame 820. Due to the delay problem, the future signal is provided in units of frames, so that the window is modified for overlap and relaxed interpolation is applied. The window used in the relaxed interpolation method is shown in FIG. 8. As the window structure used herein, a rectangular window and a first-order function, a multiple-order function, or a sine function may be used. 8 illustrates one embodiment of a window using a linear function. In this case, it should be noted that when the previous window 800 and the subsequent window 820 overlap, the sum of the two latitude values should be 1. Referring to FIG. 8, a signal output by the relaxed interpolation method of overlapping and adding two windows having the same size as a frame is output by adding a block size (overlap size, OV_SIZE) to the signal of the frame size. The signal of the added block is then used to overlap and add the frame 820. In addition, the front part of the signal restored by the interpolation method is overlapped and added in the same manner as the method described with reference to FIG. 7 with the previous frame 800.

제120단계에서 현재 프레임에 오류가 없다고 판단되거나 제140단계에서 제2 임계 위치 이후에 마련된 것으로 판단되거나 제145단계 후에, 역 변환(inverse transform)을 수행하여 최종 오디오 출력을 복원한다(제155단계).In operation 120, it is determined that there is no error in the current frame, or in operation 140, after the second critical position is determined, or after operation 145, an inverse transform is performed to restore the final audio output (operation 155). ).

도 2는 본 발명에 의한 복호화된 오디오 신호의 오류 은폐 장치를 포함하는 오디오 신호를 복호화하는 장치에 대한 일 실시예를 블록도로 도시한 것으로서, 상기 오디오 신호를 복호화하는 장치는 비트스트림 입력부(200), 헤더 분석부(205), 복호화부(210), 복호화된 오디오 신호의 오류 은폐 장치(220) 및 역변환부(260)를 포함하여 이루어진다.2 is a block diagram illustrating an apparatus for decoding an audio signal including an error concealment apparatus of a decoded audio signal according to the present invention, wherein the apparatus for decoding the audio signal includes a bitstream input unit 200. , A header analyzer 205, a decoder 210, an error concealment device 220 of the decoded audio signal, and an inverse transformer 260.

비트스트림 입력부(200)는 MPEG-4 시스템 또는 MPEG TS 등과 같은 상위 레벨의 시스템으로부터 입력 단자 IN을 통하여 비트스트림을 입력받는다.The bitstream input unit 200 receives a bitstream from an upper level system such as MPEG-4 system or MPEG TS through the input terminal IN.

헤더 분석부(205)는 비트스트림 입력부(200)에서 입력받은 비트스트림으로부터 헤더를 추출하여 헤더에 포함된 정보를 분석한다.The header analyzer 205 extracts a header from the bitstream input from the bitstream input unit 200 and analyzes the information included in the header.

복호화부(210)는 비트스트림 입력부(200)에서 입력받은 비트스트림을 복호화한다.The decoder 210 decodes the bitstream received from the bitstream input unit 200.

복호화된 오디오 신호의 오류 은폐 장치(220)는 복호화부(210)에서 복호화된 비트스트림에 존재하는 오류를 은폐한다. 여기서, 복호화된 오디오 신호의 오류 은폐 장치(220)는 판단부(225), 제1 선택부(230), 오류위치 검출부(235), 제2 선택부(240) 및 오류 은폐부(250)를 포함하여 이루어진다.The error concealment apparatus 220 of the decoded audio signal conceals an error existing in the bitstream decoded by the decoder 210. Here, the error concealment apparatus 220 of the decoded audio signal includes a determination unit 225, a first selection unit 230, an error position detector 235, a second selection unit 240, and an error concealment unit 250. It is made to include.

판단부(225)는 복호화부(210)에서 복호화된 비트스트림의 현재 프레임에 오류가 있는지 여부를 판단한다. 판단부(225)에서 현재 프레임에 오류가 있는지 여부는 다음과 같은 세 가지 방식을 이용하여 판단할 수 있다. The determiner 225 determines whether there is an error in the current frame of the bitstream decoded by the decoder 210. The determination unit 225 may determine whether there is an error in the current frame by using the following three methods.

첫째, 시스템으로부터 전달되고 프레임의 오류 여부를 나타내는 정포를 포함하는 CRC 등을 이용하여 현재 프레임에 오류가 있는지 여부를 판단한다.First, it is determined whether there is an error in the current frame by using a CRC or the like transmitted from the system and including a cannon indicating whether the frame is in error.

둘째, 부호화기로부터 전송받은 비트스트림의 길이와 복호화부(210)에서 복호화된 비트스트림의 길이를 비교하여 현재 프레임에 오류가 있는지 여부를 판단한다. 프레임에 오류가 있는 경우 복호화된 비트스트림의 길이는 부호화기로부터 전송받은 비트스트림의 길이와 비교하면 소정의 오차가 발생한다. 또한, 프레임에 오류가 없는 경우 부호화기로부터 전송받은 비트스트림의 길이만큼 복호화에 이용된다. 그러므로 부호화기로부터 전송받은 비트스트림의 길이가 복호화된 비트스트림의 길이와 동일한 경우, 현재 프레임의 비트스트림에 오류가 없는 것으로 판단한다. 그리고 부호화기로부터 전송받은 비트스트림의 길이가 복호화된 비트스트림의 길이와 다를 경우, 현재 프레임의 비트스트림에 오류가 있는 것으로 판단한다.Second, by comparing the length of the bit stream received from the encoder with the length of the bit stream decoded by the decoder 210 determines whether there is an error in the current frame. If there is an error in the frame, a predetermined error occurs when the length of the decoded bitstream is compared with the length of the bitstream received from the encoder. In addition, when there is no error in a frame, the length of the bitstream received from the encoder is used for decoding. Therefore, when the length of the bitstream received from the encoder is the same as the length of the decoded bitstream, it is determined that there is no error in the bitstream of the current frame. If the length of the bitstream received from the encoder is different from the length of the decoded bitstream, it is determined that there is an error in the bitstream of the current frame.

셋째, 비트스트림의 헤더에 포함된 단위 프레임의 비트수와 비트스트림 입력부(200)에서 입력받은 비트스트림의 비트수를 비교하여 현재 프레임에 오류가 있는지 여부를 판단한다. 예를 들어, BSAC의 경우 헤더에 마련된 단위 프레임의 길이를 나타내는 frame_length 정보와 비트스트림 입력부(200)에서 입력받은 비트스트림의 비트수를 비교하여 소정의 임계값 이상 차이가 난다면, 현재 프레임에 오차가 있는 것으로 판단한다.Third, by comparing the number of bits of the unit frame included in the header of the bitstream with the number of bits of the bitstream received from the bitstream input unit 200 determines whether there is an error in the current frame. For example, in case of BSAC, if the frame_length information indicating the length of the unit frame provided in the header is compared with the number of bits of the bitstream input from the bitstream input unit 200 and there is a difference over a predetermined threshold value, an error occurs in the current frame. Judging that there is.

제1 선택부(230)는 판단부(225)에서 현재 프레임에 오류가 있다고 판단하면, 현재 프레임의 상태를 분석하여 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단함으로써 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택한다. 도 3에 도시된 BSAC 또는 AAC 등과 같은 복수의 계층으로 마련된 비트스트림을 이용하는 코덱에서 주파수 영역에서 오류를 은폐하 기 어려운지 여부는 윈도우 타입을 기준으로 판단할 수 있다. MDCT의 특성상 이전 프레임과 현재 프레임의 윈도우 타입이 다를 경우 오류가 없더라도 오버랩 앤드 애드 오퍼레이션이 수행되지 않으므로 원하는 오디오 신호를 생성할 수 없다. 이에 의하여 제1 선택부(230)에서는 현재 프레임의 상태를 분석하여 이전 프레임의 상태를 고려함으로써 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단한다. 따라서 제1 선택부(230)는 현재 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어렵다고 판단되면 시간 영역에서 오류를 은폐하는 방식을 선택하고, 현재 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어렵지 않다고 판단되면 주파수 영역에서 오류를 은폐하는 방식을 선택한다.When the determination unit 225 determines that there is an error in the current frame, the first selector 230 analyzes the state of the current frame to determine whether it is difficult to conceal the error in the frequency domain, thereby concealing the error in the frequency domain. Or choose to conceal errors in the time domain. In a codec using a bitstream provided with a plurality of layers such as BSAC or AAC illustrated in FIG. 3, it may be determined based on a window type whether it is difficult to conceal an error in a frequency domain. If the window type of the previous frame and the current frame is different due to the characteristics of the MDCT, the overlap and add operation is not performed even if there is no error, and thus a desired audio signal cannot be generated. Accordingly, the first selector 230 analyzes the state of the current frame to determine whether it is difficult to conceal the error in the frequency domain by considering the state of the previous frame. Therefore, when it is determined that it is difficult to conceal the error in the frequency domain with respect to the current frame, the first selector 230 selects a method of concealing the error in the time domain, and when it is determined that it is not difficult to conceal the error in the frequency domain with respect to the current frame. Choose how to conceal errors in the frequency domain.

오류위치 검출부(235)는 제1 선택부(230)에서 주파수 영역에서 오류를 은폐하는 방식이 선택되었다면, 현재 프레임에서 오류가 존재하는 위치를 검출한다. 오류위치 검출부(235)에서 현재 프레임에 대하여 오류가 존재하는 위치를 검출하는 방식은 다음에 기재된 두 가지 방식이 있다.If a method of concealing an error in the frequency domain is selected by the first selector 230, the error location detector 235 detects a location where an error exists in the current frame. The error location detector 235 detects a location in which an error exists with respect to the current frame.

첫째, 현재 프레임의 스펙트럼 에너지와 이전 프레임의 스펙트럼 에너지를 비교하여 현재 프레임에 대하여 오류가 존재하는 위치를 검출한다. 왜냐하면 프레임에 오류가 존재하는 경우, 이전 프레임의 스페트럼 에너지에 비하여 현재 프레임의 스펙트럼 에너지가 급격하게 변하기 때문이다. 예를 들어, 도 4a는 오류가 존재하지 않는 이전 프레임의 스펙트럼 에너지를 도시한 그래프이고, 도 4b는 오류가 존재하는 현재 프레임의 스펙트럼 에너지를 도시한 그래프이다. 도 4b를 도 4a와 비교해 보면, 오류가 존재하는 주파수 영역에서 스펙트럼 에너지가 급격하게 변경 되는 것을 알 수 있다. 여기서, 다음과 같은 수학식을 이용하여 현재 프레임의 스펙트럼 에너지와 이전 프레임의 스펙트럼 에너지를 비교할 수 있다.First, the spectral energy of the current frame is compared with the spectral energy of the previous frame to detect a location where an error exists for the current frame. This is because when there is an error in a frame, the spectral energy of the current frame changes rapidly compared to the spectrum energy of the previous frame. For example, FIG. 4A is a graph showing the spectral energy of a previous frame in which there is no error, and FIG. 4B is a graph showing the spectral energy of the current frame in which there is an error. Comparing FIG. 4B with FIG. 4A, it can be seen that the spectral energy is drastically changed in the frequency domain where an error exists. Here, the spectral energy of the current frame and the spectral energy of the previous frame may be compared using the following equation.

[수학식 4][Equation 4]

Dt(f) = energy(f,t) - energy(f, t-1)Dt (f) = energy (f, t)-energy (f, t-1)

여기서, Dt(f)는 프레임 간의 스펙트럼 에너지의 변화이며, energy(f,t)는 현재 프레임의 스펙트럼 에너지이고, energy(f, t-1)는 이전 프레임의 스펙트럼 에너지이다.Here, Dt (f) is the change in spectral energy between frames, energy (f, t) is the spectral energy of the current frame, and energy (f, t-1) is the spectral energy of the previous frame.

Dt(f)가 소정의 범위를 벗어나면, 해당하는 위치에 오차가 존재하는 것으로 판단한다.If Dt (f) is out of a predetermined range, it is determined that an error exists at the corresponding position.

또한, 현재 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지를 비교하여 현재 프레임에 대하여 오류가 존재하는 위치를 검출한다. 왜냐하면 프레임에 오류가 존재하는 경우, 이전 주파수 영역의 스페트럼 에너지에 비하여 현재 주파수 영역의 스펙트럼 에너지가 급격하게 변하기 때문이다. 이는 다음과 같은 수학식을 이용하여 현재 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지를 비교할 수 있다.In addition, the spectral energy of the current frequency domain and the spectral energy of the previous frequency domain are compared to detect a position where an error exists for the current frame. This is because if there is an error in the frame, the spectral energy of the current frequency domain is drastically changed compared to the spectrum energy of the previous frequency domain. This can be compared with the spectral energy of the current frequency domain and the spectral energy of the previous frequency domain by using the following equation.

[수학식 5][Equation 5]

Df(f) = energy(f,t) - energy(f-1, t)Df (f) = energy (f, t)-energy (f-1, t)

여기서, Df(f)는 주파수 영역 간의 스펙트럼 에너지의 변화이며, energy(f,t)는 현재 주파수 영역의 스펙트럼 에너지이고, energy(f, t-1)는 이전 주파수 영역의 스펙트럼 에너지이다.Here, Df (f) is the change in spectral energy between frequency domains, energy (f, t) is the spectral energy of the current frequency domain, and energy (f, t-1) is the spectral energy of the previous frequency domain.

Df(f)가 소정의 범위를 벗어나면, 해당하는 위치에 오차가 존재하는 것으로 판단한다.If Df (f) is out of a predetermined range, it is determined that an error exists at the corresponding position.

전술된 방식을 이용하여 오류가 발생한 주파수 대역에 해당하는 계층을 도출한다.Using the above-described method, a layer corresponding to an error frequency band is derived.

둘째, 복호화된 비트스트림의 각 계층마다 할당된 비트를 검사하여 현재 프레임에서 오류가 존재하는 위치를 검출하는 방식이 있다. 복수의 계층으로 마련된 비트스트림의 경우 헤더에 각 계층 별로 할당될 비트수의 정보가 마련되어 있다. 예를 들어, BSAC의 경우 헤더에 각 계층 별로 할당될 비트수를 나타내는 layer_buf_offset이라는 헬프 베리어블(help variable)이 있다. 만일 소정의 계층에 오류가 있는 경우 산술 복호화(arithmetic decoding)시 과도하게 많거나 적게 비트가 사용된다. 그러므로 비트가 과도하게 많거나 적게 사용되는 계층은 현재 계층 또는 이전 계층에 오류가 있을 가능성이 높다.Second, there is a method of detecting a location in which an error exists in a current frame by checking bits allocated to each layer of the decoded bitstream. In the case of a bitstream provided with a plurality of layers, information on the number of bits to be allocated to each layer is provided in a header. For example, in the case of BSAC, there is a help variable called layer_buf_offset indicating the number of bits to be allocated for each layer in the header. If there is an error in a given layer, excessively more or less bits are used in arithmetic decoding. Therefore, layers with too many or fewer bits are more likely to have errors in the current or previous layers.

제2 선택부(240)는 오류위치 검출부(235)에서 검출된 오류의 위치를 기준으로 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택한다.The second selector 240 selects a method of concealing an error in the frequency domain or a method of concealing the error in the time domain based on the location of the error detected by the error location detector 235.

제2 선택부(240)는 오류위치 검출부(235)에서 검출된 위치가 제1 임계 위치 이전에 마련된 경우 시간 영역에서 오류를 은폐하는 방식을 선택하는 것이 바람직하다. 오류위치 검출부(235)에서 검출된 위치가 도 3의 기본 계층과 같이 복호화함에 있어서 중요한 역할을 하는 데이터에 해당하는 경우 전체 프레임에 대하여 시간 영역에서 오류를 은폐하는 것이 바람직하기 때문이다. 그러나 도 1에 도시된 바와 달리, 제2 선택부(240)는 프레임의 전체 주파수 영역에 대하여 주파수 영역에서 오류를 은폐하는 방식을 이용하여 오류를 복원하는 주파수 영역에서 오류를 은폐하는 방식을 선택할 수 있다.The second selector 240 may select a method of concealing an error in the time domain when the position detected by the error position detector 235 is provided before the first threshold position. This is because when the position detected by the error position detector 235 corresponds to data that plays an important role in decoding as in the base layer of FIG. 3, it is preferable to conceal an error in the time domain for the entire frame. However, unlike shown in FIG. 1, the second selector 240 may select a method of concealing an error in a frequency domain that recovers the error by using a method of concealing an error in the frequency domain for the entire frequency domain of the frame. have.

제2 선택부(240)는 오류위치 검출부(235)에서 검출된 위치가 제2 임계 위치 이후에 마련된 경우 오류를 은폐하지 않고 역변환부(260)로 출력한다. 오류위치 검출부(235)에서 검출된 위치가 도 3의 N 계층에 해당하는 마지막 계층과 같이 오류가 오디오의 음질에 영향을 거의 미치지 않는 경우 오류를 은폐하지 않아도 되기 때문이다.When the position detected by the error position detector 235 is provided after the second threshold position, the second selector 240 outputs the inverse transform unit 260 without concealing the error. This is because, if the position detected by the error position detector 235 is the last layer corresponding to the N layer of FIG. 3, the error does not have to conceal the error when the error hardly affects the sound quality of the audio.

제2 선택부(240)는 오류위치 검출부(235)에서 검출된 위치가 제1 임계 위치와 제2 임계 위치 사이에 마련된 경우 주파수 영역에서 오류를 은폐하는 방식을 선택한다.The second selector 240 selects a method of concealing an error in the frequency domain when the position detected by the error position detector 235 is provided between the first threshold position and the second threshold position.

오류 은폐부(250)는 현재 프레임의 오류를 복원하여 은폐한다. 여기서, 오류 은폐부(250)는 주파수영역 은폐부(253) 및 시간영역 은폐부(256)를 포함하여 이루어진다.The error concealment unit 250 recovers and conceals an error of the current frame. Here, the error concealment part 250 includes a frequency domain concealment part 253 and a time domain concealment part 256.

주파수영역 은폐부(253)는 주파수 영역에서 현재 프레임의 오류를 은폐한다. 여기서, 주파수영역 은폐부(235)는 현재 프레임의 오류를 은폐함에 있어서 이전 프레임의 데이터를 에러가 발생한 프레임에 복사하여 복원하는 반복 방식을 이용하는 것이 바람직하다. 오류위치 검출부(235)에서 검출된 위치 이전의 데이터는 그대로 두고, 오류위치 검출부(235)에서 검출된 위치 이후의 데이터는 이전 프레임의 데이터를 복사하여 복원한다. 이에 의하여 BSAC과 같이 복수의 계층으로 비트스트림이 구성되고, 각 계층 별로 주파수 대역이 할당된 경우, 비트스트림의 중간에 오류가 발생하여도 오류가 발생한 이전 계층까지는 그대로 복원이 가능하다. 예를 들어, 제130단계에서 검출된 위치가 8kHz인 경우 8kHz에 해당하는 계층 및 그 이후의 계층은 대응되는 이전 프레임의 계층들로 복사하여 복원한다. 이에 의하여 오류가 발생한 프레임이더라도 오류가 발생하기 이전까지 복호화된 정보를 최대한 반영함으로써 오디오의 음질을 개선할 수 있다.The frequency domain concealment unit 253 conceals an error of the current frame in the frequency domain. Here, the frequency domain concealment unit 235 preferably uses an iterative method of copying and restoring data of a previous frame to a frame in which an error occurs in concealing an error of a current frame. The data before the position detected by the error position detection unit 235 is left as it is, and the data after the position detected by the error position detection unit 235 copies and restores the data of the previous frame. Accordingly, when the bitstream is composed of a plurality of layers as in BSAC, and frequency bands are allocated to each layer, even if an error occurs in the middle of the bitstream, the previous layer in which the error occurs can be restored as it is. For example, when the position detected in operation 130 is 8 kHz, the layer corresponding to 8 kHz and the layer subsequent thereto are copied and restored to the layers of the corresponding previous frame. As a result, even in a frame in which an error occurs, the sound quality of the audio can be improved by reflecting the decoded information as much as possible before the error occurs.

시간영역 은폐부(256)는 시간 영역에서 현재 프레임의 오류를 은폐한다.The time domain concealment unit 256 conceals an error of the current frame in the time domain.

시간영역 은폐부(256)에서 오류를 은폐함에 있어서, 현재 프레임에 대한 정보를 무시하고 이전 프레임에서 유사도가 가장 높은 부분을 검색하여 보간법 또는 보외법에 의해 현재 프레임을 복원한다. MDCT가 적용되는 경우 오버랩 앤드 애드 오퍼레이션을 수행하여야 하므로 2개의 PCM 프레임이 손실된다. 이에 의하여 한 프레임에 오류가 발생하면 항상 두 개의 프레임을 복원하여야 한다. 그러므로 시간영역 은폐부(256)에서는 현재 프레임 뿐만 아니라 이후 프레임도 보간법 또는 보외법을 이용하여 복원하여야 한다. 이를 위해 과거 프레임의 정보를 저장하여 과거 프레임의 정보를 이용함으로써 현재 프레임의 오류를 은폐한다. 도 5는 시간 영역에서 오류를 은폐하는 방식을 사용하는 변환을 설명하기 위하여 개념도를 도시한 것이다. 또한, 연속적인 두 개의 PCM 프레임을 적용하여 복원하는 동기식 오버랩 앤드 애드를 이용할 수도 있다.In concealing the error in the time domain concealment unit 256, the information on the current frame is ignored and the part with the highest similarity is retrieved from the previous frame to restore the current frame by interpolation or extrapolation. When MDCT is applied, two PCM frames are lost because overlap and add operations must be performed. As a result, when an error occurs in one frame, two frames must be restored at all times. Therefore, in the time domain concealment unit 256, not only the current frame but also subsequent frames must be restored using interpolation or extrapolation. To this end, by storing information of the past frame and using the information of the past frame, the error of the current frame is concealed. FIG. 5 illustrates a conceptual diagram to illustrate a transformation using a method of concealing errors in the time domain. It is also possible to use synchronous overlap and add, which applies and recovers two consecutive PCM frames.

도 6을 살펴보면, 현재 프레임에 해당하는 n 프레임에서 오류가 발생하면 50% 오버랩 윈도우에 의해 이후 프레임에 해당하는 (n+1) 프레임에 영향을 미치게 된다. 단순히 과거 신호를 반복적으로 사용하게 되면, 과거의 마지막 프레임, 이후 첫 번째 오류 프레임 및 두 번째 오류 프레임이 연속하여 오류가 발생함으로써 현저하게 음질이 저하될 수 있는 문제점이 발생할 수 있다. 이와 같이 연속하여 오류가 발생하는 문제점을 해결하기 위해 WSOLA 방식과 보간법을 동시에 이용하는 것이 바람직하다. 첫 번째 프레임에 해당하는 n 프레임에는 WSOLA 방식을 적용하고, 두 번째 프레임에 해당하는 (n+1) 프레임에는 프레임 보간법을 이용할 수 있다.Referring to FIG. 6, when an error occurs in an n frame corresponding to the current frame, the 50% overlap window affects a (n + 1) frame corresponding to a subsequent frame. If the past signal is simply used repeatedly, a problem may occur in that the sound quality may be significantly degraded because the error occurs in succession of the last frame of the past, the first error frame and the second error frame. In order to solve this problem of continuous error, it is desirable to use the WSOLA method and the interpolation method simultaneously. WSOLA can be applied to n frames corresponding to the first frame, and frame interpolation can be used for (n + 1) frames corresponding to the second frame.

첫 번째 프레임에 해당하는 n 프레임에 적용된 WSOLA 방식을 구현하는 일 실시예는 도 7에 도시되어 있다. 먼저, BSAC의 과거 시간 영역의 출력을 버퍼링(buffering)한다. 오류가 발생한 현재 프레임의 바로 이전의 블록 신호를 이용하여 과거 검색 범위에서 다음과 같은 수학식을 이용하여 상관도를 구한다. An embodiment of implementing the WSOLA method applied to n frames corresponding to the first frame is illustrated in FIG. 7. First, the output of the past time domain of the BSAC is buffered. The correlation is obtained by using the following equation in the past search range by using a block signal immediately before the current frame in which an error occurs.

[수학식 6][Equation 6]

Figure 112006038611795-PAT00002
Figure 112006038611795-PAT00002

여기서, R(d)는 상관도이며, s(n)은 old_buff 신호이고, d는 검색 범위의 샘플 위치를 말한다. Here, R (d) is a correlation, s (n) is an old_buff signal, and d is a sample position of a search range.

수학식 6을 이용하여 구해진 상관도 가운데 가장 높은 상관도를 갖는 파운드 블록의 위치를 구한 후 파운드 블록과 다음 신호를 복사하여 오류가 발생한 부분에 복사하여 복원한다. 여기서, 복사하여 복원할 때 윈도윙을 하게 되는데, 오버랩이 이루어지는 파운드 블록의 부분에는 1차 함수, 다차 함수 및 사인 함수 등을 사용할 수 있고, 오버랩이 이루어지지 않는 파운드 블록의 부분에는 장방 윈도우를 사용할 수 있다. 그리고 블록 부분에도 파운드 블록에서 사용한 윈도우와 반대의 위상을 갖는 윈도우를 구하여 파운드 블록의 부분과 오버랩하여 더한다. 여기서, 주의할 점은 오버랩되는 부분에서 두 윈도우 값의 합이 1 이 되도록 윈도우를 설계해야 한다. 이와 동일한 방식을 프레임이 끝날 때까지 반복하여 수행한다. 여기서, 프레임의 크기에 따라 최소 1 이상의 크기로 분할하여 적용할 수 있다. 그리고 수학식 3에 의하면 상관도는 매 샘플 단위로 구하고 있는데 복잡도를 고려하여 2 이상의 정수에 해당하는 샘플 단위로 구할 수도 있다.Using Equation 6, after finding the position of the pound block having the highest correlation among the correlations obtained, the pound block and the next signal are copied and restored to the part where an error occurs. Here, when copying and restoring, windowing is performed. A first-order function, a multiple-order function, and a sine function can be used for the part of the pound block that is overlapped, and a rectangular window is used for the part of the pound block that does not overlap. Can be. In addition, a window having a phase opposite to the window used in the pound block is also obtained in the block portion and overlapped with the portion of the pound block. Note that the window should be designed so that the sum of the two window values is 1 in the overlapping part. This same method is repeated until the end of the frame. Here, it may be divided and applied to at least one size according to the size of the frame. In addition, according to Equation 3, the correlation is obtained in every sample unit, but may be obtained in sample units corresponding to two or more integers in consideration of complexity.

또한, 정밀도를 높이기 위해 가장 높은 상관도를 갖는 샘플 주위에 2 이상의 정수에 해당하는 샘플 범위 내에서 1 샘플 단위로 상관도를 추가로 구해서 가장 상관도가 높은 샘플의 위치를 구할 수도 있다. In addition, in order to increase the precision, the correlation may be further obtained in units of one sample within a sample range corresponding to two or more integers around the sample having the highest correlation, and the position of the sample having the highest correlation may be obtained.

두 번째 프레임에 해당하는 (n+1) 프레임에 적용된 프레임 보간법을 구현하는 일 실시예가 도 8에 도시되어 있다. 이전 프레임(800)과 이후 오류가 없는 프레임(820)간에 선형 보간법을 적용한다. 지연 문제로 인해 미래 신호가 프레임 단위로 마련되어 있으므로 오버랩를 위해 윈도우를 수정하여 릴렉스드 보간법을 적용한다. 릴렉스드 보간법에서 사용되는 윈도우는 도 8에 도시되어 있다. 여기서 사용되는 윈도우 구조는 장방 윈도우와 1차 함수, 다차 함수, 또는 사인 함수가 사용될 수 있다. 도 8은 1차 함수를 사용하는 윈도우의 일 실시예를 도시한 것이다. 여기서, 주의할 점은 이전 윈도우(800)와 이후 윈도우(820)가 오버랩된 경우 두 위 도우 값의 합은 1 이 되어야 한다. 도 8에 의하면 프레임과 동일한 크기의 두 윈도우를 오버랩 앤 애드를 하는 릴렉스드 보간법에 의해서 출력되는 신호는 프레임 크기의 신호에 오버랩 크기(OV_SIZE)만큼의 블록이 더해져서 출력된다. 이렇게 더해진 블록의 신호를 이용하여 이후 프레임(820)과 오버랩 앤 애드를 하게 된다. 그리고 보간법에 의하여 복원된 신호의 앞부분은 이전 프레임(800)과 도 7에서 설명한 방식과 동일하게 오버랩 앤 애드가 수행된다.An embodiment of implementing the frame interpolation method applied to the (n + 1) frame corresponding to the second frame is shown in FIG. 8. Linear interpolation is applied between the previous frame 800 and the subsequent frame 820 without errors. Because of the delay, the future signal is frame-by-frame, so the window is modified for overlap and relaxed interpolation is applied. The window used in the relaxed interpolation method is shown in FIG. 8. As the window structure used herein, a rectangular window and a first-order function, a multiple-order function, or a sine function may be used. 8 illustrates one embodiment of a window using a linear function. In this case, it should be noted that when the previous window 800 and the subsequent window 820 overlap, the sum of the two upper window values should be 1. Referring to FIG. 8, a signal output by the relaxed interpolation method of overlapping and adding two windows having the same size as a frame is output by adding a block of an overlap size (OV_SIZE) to a signal having a frame size. The signal of the added block is then used to overlap and add the frame 820. In addition, the front part of the signal restored by the interpolation method is overlapped and added in the same manner as the method described with reference to FIG. 7 with the previous frame 800.

역변환부(260)는 역변환을 수행함으로써 최종 오디오 출력을 복원하여 출력 단자 OUT을 통해 출력한다.The inverse transform unit 260 restores the final audio output by performing inverse transformation and outputs it through the output terminal OUT.

본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장 장치 등이 있다.The present invention can be embodied as code that can be read by a computer (including all devices having an information processing function) in a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

이러한 본 발명에 대한 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.Although described with reference to the embodiment shown in the drawings to aid in understanding of the present invention, this is merely exemplary, those skilled in the art that various modifications and equivalent other embodiments are possible from this. Will understand. Therefore, the true technical protection scope of the present invention will be defined by the appended claims.

본 발명에 의한 복호화된 오디오 신호의 오류 은폐 방법 및 장치에 의하면, 복호화된 비트 스트림의 오류를 은폐하는 방식에 있어서 주파수 영역 또는 시간 영역 가운데 선택하여 오류를 은폐하고, 주파수 영역에서 오류를 은폐하는 방식이 선택된 경우 프레임에서 오류가 존재하는 위치를 검출하여 그 이후의 위치에 해당하는 부분만 오류를 은폐한다.According to a method and apparatus for concealing an error of a decoded audio signal according to the present invention, a method of concealing an error of a decoded bit stream conceals an error by selecting from a frequency domain or a time domain and conceals an error in a frequency domain. If this is selected, the position where the error exists in the frame is detected and only the portion corresponding to the subsequent position conceals the error.

이렇게 함으로써 복호화된 비트스트림에 따라 적응적으로 오류를 은폐하므로 노이즈(noise)를 효과적으로 제거할 수 있다. 또한, 오류가 발생한 프레임이더라도 오류가 발생하기 이전까지 복호화된 정보를 최대한 반영하므로 오디오의 음질을 개선할 수 있는 효과를 거둘 수 있다.By doing this, noise can be effectively concealed according to the decoded bitstream, thereby effectively eliminating noise. In addition, even in the case of an error frame, since the information decoded up to the maximum until the error occurs, the sound quality of the audio can be improved.

Claims (37)

복호화된 비트스트림(bitstream)의 프레임(frame)에 오류(error)가 있는지 여부를 판단하는 단계;Determining whether there is an error in a frame of the decoded bitstream; 상기 프레임에 오류가 있다고 판단되면, 기 설정된 기준에 의해 주파수 영역(frequency domain)에서 오류를 은폐(concealment)하는 방식 또는 시간 영역(time domain)에서 오류를 은폐하는 방식 가운데 선택하는 단계; 및If it is determined that there is an error in the frame, selecting one of a method of concealing an error in a frequency domain or a method of concealing an error in a time domain according to a predetermined criterion; And 상기 선택된 방식에 따라 오류를 은폐하는 단계를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.Concealing the error according to the selected scheme. 제1항에 있어서, 상기 기 설정된 기준에 의해 선택하는 단계는The method of claim 1, wherein the selecting of the preset criteria comprises: 상기 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단하는 단계; 및Determining whether it is difficult to conceal errors in the frequency domain for the frame; And 상기 판단된 결과에 따라 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 단계를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And a method of concealing an error in a frequency domain or a method of concealing an error in a time domain according to the determined result. 제2항에 있어서, 상기 판단하는 단계는The method of claim 2, wherein the determining step 윈도우 타입(window type)을 기준으로 상기 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단하는 것을 특징으로 하는 복호화된 오디 오 신호의 오류 은폐 방법.And determining whether or not it is difficult to conceal errors in the frequency domain with respect to the frame based on a window type. 제2항에 있어서, 상기 기 설정된 기준에 의해 선택하는 단계는The method of claim 2, wherein the selecting of the preset criteria comprises: 상기 프레임에서 오류가 존재하는 위치를 검출하는 단계; 및Detecting a location where an error exists in the frame; And 상기 검출된 위치를 이용하여 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 단계를 더 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And selecting a method of concealing an error in a frequency domain or a method of concealing an error in a time domain by using the detected position. 제4항에 있어서, 상기 검출하는 단계는The method of claim 4, wherein the detecting step 상기 판단된 결과에 따라 선택하는 단계에서 주파수 영역에서 오류를 은폐하는 방식이 선택된 경우에만 수행되는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.The method for concealing an error of a decoded audio signal, characterized in that is performed only when a method of concealing an error in a frequency domain is selected in the step of selecting according to the determined result. 제4항에 있어서, 상기 검출하는 단계는The method of claim 4, wherein the detecting step 상기 프레임의 스펙트럼 에너지(spectrum energy)와 이전 프레임의 스펙트럼 에너지를 비교하여 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And detecting a position where an error exists in the frame by comparing the spectrum energy of the frame and the spectral energy of a previous frame. 제4항에 있어서, 상기 검출하는 단계는The method of claim 4, wherein the detecting step 상기 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지 를 비교하여 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And detecting the position of the error in the frame by comparing the spectral energy of the frequency domain with the spectral energy of the previous frequency domain. 제4항에 있어서, 상기 검출하는 단계는The method of claim 4, wherein the detecting step 상기 복호화된 비트 스트림의 각 계층(layer)마다 할당된 비트를 검사하여 상기 계층에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And detecting a location where an error exists in the layer by inspecting a bit allocated to each layer of the decoded bit stream. 제4항에 있어서, 상기 검출된 위치에 따라 선택하는 단계는The method of claim 4, wherein the selecting according to the detected position comprises: 상기 검출된 위치가 제1 임계 위치 이전에 마련된 경우, 시간 영역에서 오류를 은폐하는 방식을 선택하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And selecting a method of concealing an error in a time domain when the detected position is provided before the first threshold position. 제4항에 있어서, 상기 검출된 위치에 따라 선택하는 단계는The method of claim 4, wherein the selecting according to the detected position comprises: 상기 검출된 위치가 기 설정된 범위에 포함될 경우, 주파수 영역에서 오류를 은폐하는 방식을 선택하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And a method of concealing an error in a frequency domain when the detected position is within a preset range. 제4항에 있어서, 상기 검출된 위치에 따라 선택하는 단계는The method of claim 4, wherein the selecting according to the detected position comprises: 상기 검출된 위치가 제2 임계 위치 이후에 마련된 경우, 상기 복호화된 비트 스트림의 오류를 은폐하지 않는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And if the detected position is provided after a second threshold position, error concealment of the decoded bit stream. 제4항에 있어서, 상기 은폐하는 단계는The method of claim 4, wherein the concealing step 주파수 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 검출된 위치에 해당하는 주파수 대역을 이전 프레임의 주파수 대역에 해당하는 신호로 복원하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And if a method of concealing errors in a frequency domain is selected, restoring a frequency band corresponding to the detected position to a signal corresponding to a frequency band of a previous frame. 제4항에 있어서, 상기 은폐하는 단계는The method of claim 4, wherein the concealing step 주파수 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 검출된 위치를 포함하는 계층 및 이후 계층들을 대응되는 이전 프레임의 계층들로 복원하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.If a method of concealing an error in the frequency domain is selected, restoring the layer including the detected position and subsequent layers to the layers of the corresponding previous frame. 제1항에 있어서, 상기 은폐하는 단계는The method of claim 1, wherein the concealing step 시간 영역에서 오류를 은폐하는 방식이 선택되었다면, 보간법(interpolation) 또는 보외법(extrapolation)을 이용하여 오류를 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.If the method of concealing an error in the time domain is selected, concealing the error using interpolation or extrapolation. 제1항에 있어서, 상기 은폐하는 단계는The method of claim 1, wherein the concealing step 시간 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 프레임 및 다음 프레임에 대하여 오류를 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.If a method of concealing an error in the time domain is selected, concealing the error for the frame and the next frame. 제15항에 있어서, 상기 은폐하는 단계는The method of claim 15, wherein the concealing step 상기 프레임에 대하여 WSOLA 방식으로 오류를 은폐하고, 상기 다음 프레임에 대하여 보간법으로 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.Concealing an error in a WSOLA method for the frame and concealing the interpolation method for the next frame. 제1항에 있어서, 상기 판단하는 단계는The method of claim 1, wherein the determining 전송받은 비트스트림의 길이와 상기 복호화된 비트스트림의 길이를 비교하여 상기 복호화된 비트스트림의 프레임에 오류가 있는지 여부를 판단하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.And comparing the length of the received bitstream with the length of the decoded bitstream to determine whether there is an error in the frame of the decoded bitstream. 오류가 있는 복호화된 비트스트림의 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 단계; 및Selecting a method of concealing an error in a frequency domain or a method of concealing an error in a time domain by a predetermined criterion for a frame of an error-decoded bitstream; And 상기 선택된 방식에 따라 오류를 은폐하는 단계를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 방법.Concealing the error according to the selected scheme. 제1항 내지 제18항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the invention according to any one of claims 1 to 18 on a computer. 오류가 있는 복호화된 비트스트림의 프레임을 검출하는 오류 프레임 검출부;An error frame detector for detecting a frame of an error-decoded bitstream; 상기 검출된 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 은폐방식 선택부; 및A concealment method selection unit for selecting a method of concealing an error in a frequency domain or a method of concealing an error in a time domain based on a predetermined reference with respect to the detected frame; And 상기 선택된 방식에 따라 오류를 은폐하는 오류 은폐부를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And an error concealment unit for concealing an error according to the selected scheme. 제20항에 있어서, 상기 은폐방식 선택부는The method of claim 20, wherein the concealment method selection unit 상기 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단하는 판단부; 및A determination unit that determines whether it is difficult to conceal an error in the frequency domain with respect to the frame; And 상기 판단된 결과에 따라 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 제1 선택부를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And a first selector configured to select a method of concealing an error in a frequency domain or a method of concealing an error in a time domain according to the determined result. 제21항에 있어서, 상기 판단부는The method of claim 21, wherein the determination unit 윈도우 타입을 기준으로 상기 프레임에 대하여 주파수 영역에서 오류를 은폐하기 어려운지 여부를 판단하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And determining whether or not it is difficult to conceal an error in the frequency domain with respect to the frame based on a window type. 제21항에 있어서, 상기 은폐방식 선택부는The method of claim 21, wherein the concealment method selection unit 상기 프레임에서 오류가 존재하는 위치를 검출하는 오류위치 검출부; 및An error location detector for detecting a location where an error exists in the frame; And 상기 검출된 위치를 이용하여 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 제2 선택부를 더 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And a second selector configured to select a method of concealing an error in a frequency domain or a method of concealing an error in a time domain by using the detected position. 제23항에 있어서, 상기 오류위치 검출부는The method of claim 23, wherein the error position detection unit 상기 제1 선택부에서 주파수 영역에서 오류를 은폐하는 방식이 선택된 경우에만 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And detecting a position where an error exists in the frame only when a method of concealing an error in a frequency domain is selected by the first selector. 제23항에 있어서, 상기 오류위치 검출부는The method of claim 23, wherein the error position detection unit 상기 프레임의 스펙트럼 에너지와 이전 프레임의 스펙트럼 에너지를 비교하여 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And detecting the position of the error in the frame by comparing the spectral energy of the frame with the spectral energy of the previous frame. 제23항에 있어서, 상기 오류위치 검출부는The method of claim 23, wherein the error position detection unit 상기 주파수 영역의 스펙트럼 에너지와 이전 주파수 영역의 스펙트럼 에너지를 비교하여 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하 는 복호화된 오디오 신호의 오류 은폐 장치.And detecting the position of the error in the frame by comparing the spectral energy of the frequency domain with the spectral energy of the previous frequency domain. 제23항에 있어서, 상기 오류위치 검출부는The method of claim 23, wherein the error position detection unit 상기 복호화된 비트 스트림의 각 계층마다 할당된 비트를 검사하여 상기 프레임에서 오류가 존재하는 위치를 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And detecting a location where an error exists in the frame by checking a bit allocated to each layer of the decoded bit stream. 제23항에 있어서, 상기 제2 선택부는The method of claim 23, wherein the second selection unit 상기 검출된 위치가 제1 임계 위치 이전에 마련된 경우, 시간 영역에서 오류를 은폐하는 방식을 선택하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And selecting a method of concealing an error in a time domain when the detected position is provided before a first threshold position. 제23항에 있어서, 상기 제2 선택부는The method of claim 23, wherein the second selection unit 상기 검출된 위치가 기 설정된 범위에 포함될 경우, 주파수 영역에서 오류를 은폐하는 방식을 선택하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And a method of concealing an error in a frequency domain when the detected position is included in a preset range. 제23항에 있어서, 상기 제2 선택부는The method of claim 23, wherein the second selection unit 상기 검출된 위치가 제2 임계 위치 이후에 마련된 경우, 상기 복호화된 비트스트림의 오류를 은폐하지 않는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And if the detected position is provided after a second threshold position, the error concealment apparatus of the decoded audio signal, wherein the error of the decoded bitstream is not concealed. 제23항에 있어서, 상기 오류 은폐부는The method of claim 23, wherein the error concealment is 주파수 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 검출된 위치에 해당하는 주파수 대역을 이전 프레임의 주파수 대역에 해당하는 신호로 복원하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.If the method of concealing the error in the frequency domain is selected, error concealment apparatus of the decoded audio signal, characterized in that for recovering the frequency band corresponding to the detected position to the signal corresponding to the frequency band of the previous frame. 제23항에 있어서, 상기 오류 은폐부는The method of claim 23, wherein the error concealment is 주파수 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 검출된 위치를 포함하는 계층 및 이후 계층들을 대응되는 이전 프레임의 계층들로 복원하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And if a method of concealing an error in the frequency domain is selected, restoring the layer including the detected position and subsequent layers to the layers of the corresponding previous frame. 제20항에 있어서, 상기 오류 은폐부는The method of claim 20, wherein the error concealment unit 시간 영역에서 오류를 은폐하는 방식이 선택되었다면, 보간법 또는 보외법을 이용하여 오류를 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.If the method of concealing the error in the time domain is selected, error concealment apparatus of the decoded audio signal, characterized in that concealment of the error using interpolation or extrapolation. 제20항에 있어서, 상기 오류 은폐부는The method of claim 20, wherein the error concealment unit 시간 영역에서 오류를 은폐하는 방식이 선택되었다면, 상기 프레임 및 다음 프레임에 대하여 오류를 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오 류 은폐 장치.And if a method of concealing an error in the time domain is selected, concealing the error for the frame and the next frame. 제34항에 있어서, 상기 오류 은폐부는35. The method of claim 34, wherein the error concealment is 상기 프레임에 대하여 WSOLA 방식으로 오류를 은폐하고, 상기 다음 프레임에 대하여 보간법으로 은폐하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.Error concealment apparatus for the decoded audio signal according to the WSOLA method for the frame, and concealed by the interpolation method for the next frame. 제20항에 있어서, 상기 오류 프레임 검출부는The method of claim 20, wherein the error frame detection unit 전송받은 비트스트림의 길이와 상기 복호화된 비트스트림의 길이를 비교하여 오류가 있는 복호화된 비트스트림의 프레임을 검출하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And a frame of the decoded bitstream in which an error is detected by comparing the length of the received bitstream with the length of the decoded bitstream. 오류가 있는 복호화된 비트스트림의 프레임에 대하여 기 설정된 기준에 의해 주파수 영역에서 오류를 은폐하는 방식 또는 시간 영역에서 오류를 은폐하는 방식 가운데 선택하는 은폐방식 선택부; 및A concealment method selection unit for selecting a method of concealing an error in a frequency domain or a method of concealing an error in a time domain based on a predetermined criterion for a frame of an error-decoded bitstream; And 상기 선택된 방식에 따라 오류를 은폐하는 오류 은폐부를 포함하는 것을 특징으로 하는 복호화된 오디오 신호의 오류 은폐 장치.And an error concealment unit for concealing an error according to the selected scheme.
KR1020060049040A 2006-05-16 2006-05-30 Method and apparatus for error concealment of decoded audio signal KR101261528B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/749,249 US8798172B2 (en) 2006-05-16 2007-05-16 Method and apparatus to conceal error in decoded audio signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74732406P 2006-05-16 2006-05-16
US60/747,324 2006-05-16

Publications (2)

Publication Number Publication Date
KR20070091512A true KR20070091512A (en) 2007-09-11
KR101261528B1 KR101261528B1 (en) 2013-05-07

Family

ID=38689291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060049040A KR101261528B1 (en) 2006-05-16 2006-05-30 Method and apparatus for error concealment of decoded audio signal

Country Status (1)

Country Link
KR (1) KR101261528B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065741A3 (en) * 2009-11-24 2011-10-20 엘지전자 주식회사 Audio signal processing method and device
WO2013183977A1 (en) * 2012-06-08 2013-12-12 삼성전자 주식회사 Method and apparatus for concealing frame error and method and apparatus for audio decoding
US9280975B2 (en) 2012-09-24 2016-03-08 Samsung Electronics Co., Ltd. Frame error concealment method and apparatus, and audio decoding method and apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI105962B (en) 1998-06-30 2000-10-31 Nokia Mobile Phones Ltd Error detection when receiving multiplexed signals
AU2003281127B2 (en) * 2002-07-15 2009-04-02 Nokia Technologies Oy Method for error concealment in video sequences
JP2004361731A (en) 2003-06-05 2004-12-24 Nec Corp Audio decoding system and audio decoding method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020812B2 (en) 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
WO2011065741A3 (en) * 2009-11-24 2011-10-20 엘지전자 주식회사 Audio signal processing method and device
US9153237B2 (en) 2009-11-24 2015-10-06 Lg Electronics Inc. Audio signal processing method and device
US10096324B2 (en) 2012-06-08 2018-10-09 Samsung Electronics Co., Ltd. Method and apparatus for concealing frame error and method and apparatus for audio decoding
KR20150021034A (en) * 2012-06-08 2015-02-27 삼성전자주식회사 Method and apparatus for concealing frame error and method and apparatus for audio decoding
US9558750B2 (en) 2012-06-08 2017-01-31 Samsung Electronics Co., Ltd. Method and apparatus for concealing frame error and method and apparatus for audio decoding
WO2013183977A1 (en) * 2012-06-08 2013-12-12 삼성전자 주식회사 Method and apparatus for concealing frame error and method and apparatus for audio decoding
KR20200004917A (en) * 2012-06-08 2020-01-14 삼성전자주식회사 Method and apparatus for concealing frame error and method and apparatus for audio decoding
US10714097B2 (en) 2012-06-08 2020-07-14 Samsung Electronics Co., Ltd. Method and apparatus for concealing frame error and method and apparatus for audio decoding
US9280975B2 (en) 2012-09-24 2016-03-08 Samsung Electronics Co., Ltd. Frame error concealment method and apparatus, and audio decoding method and apparatus
US9520136B2 (en) 2012-09-24 2016-12-13 Samsung Electronics Co., Ltd. Frame error concealment method and apparatus, and audio decoding method and apparatus
US9842595B2 (en) 2012-09-24 2017-12-12 Samsung Electronics Co., Ltd. Frame error concealment method and apparatus, and audio decoding method and apparatus
US10140994B2 (en) 2012-09-24 2018-11-27 Samsung Electronics Co., Ltd. Frame error concealment method and apparatus, and audio decoding method and apparatus

Also Published As

Publication number Publication date
KR101261528B1 (en) 2013-05-07

Similar Documents

Publication Publication Date Title
US8798172B2 (en) Method and apparatus to conceal error in decoded audio signal
KR101292771B1 (en) Method and Apparatus for error concealment of Audio signal
US7805297B2 (en) Classification-based frame loss concealment for audio signals
JP4603091B2 (en) Method and apparatus for concealing frame loss on high band signals
KR101290425B1 (en) Systems and methods for reconstructing an erased speech frame
KR101422379B1 (en) Concealing lost packets in a sub-band coding decoder
JP5072835B2 (en) Robust decoder
US8321216B2 (en) Time-warping of audio signals for packet loss concealment avoiding audible artifacts
US7328161B2 (en) Audio decoding method and apparatus which recover high frequency component with small computation
KR101291193B1 (en) The Method For Frame Error Concealment
JP2004508597A (en) Simulation of suppression of transmission error in audio signal
JP2004361731A (en) Audio decoding system and audio decoding method
KR101261528B1 (en) Method and apparatus for error concealment of decoded audio signal
KR100792209B1 (en) Method and apparatus for restoring digital audio packet loss
JP2004184975A (en) Audio decoding method and apparatus for reconstructing high-frequency component with less computation
US20040098257A1 (en) Method and apparatus for removing noise from audio frame data
JP2007529020A (en) Channel signal concealment in multi-channel audio systems
KR101452635B1 (en) Method for packet loss concealment using LMS predictor, and thereof recording medium
US20080189120A1 (en) Method and apparatus for parametric encoding and parametric decoding
JP2005532585A (en) Audio coding
US8160869B2 (en) Method and apparatus for encoding continuation sinusoid signal information of audio signal and method and apparatus for decoding same
JP4539180B2 (en) Acoustic decoding device and acoustic decoding method
KR101291198B1 (en) The Apparatus For Frame Error Concealment
JP2022532094A (en) Methods and Devices for Detecting Attacks in Coding Audio Signals and Coding Detected Attacks
KR20050017088A (en) Sinusoidal audio coding

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee