KR100594599B1 - 수신단 기반의 패킷 손실 복구 장치 및 그 방법 - Google Patents

수신단 기반의 패킷 손실 복구 장치 및 그 방법 Download PDF

Info

Publication number
KR100594599B1
KR100594599B1 KR1020040051665A KR20040051665A KR100594599B1 KR 100594599 B1 KR100594599 B1 KR 100594599B1 KR 1020040051665 A KR1020040051665 A KR 1020040051665A KR 20040051665 A KR20040051665 A KR 20040051665A KR 100594599 B1 KR100594599 B1 KR 100594599B1
Authority
KR
South Korea
Prior art keywords
packet
lost
past
residual signal
future
Prior art date
Application number
KR1020040051665A
Other languages
English (en)
Other versions
KR20060002569A (ko
Inventor
이도훈
이인성
황정준
양해용
유상경
황인호
Original Assignee
한국전자통신연구원
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 충북대학교 산학협력단 filed Critical 한국전자통신연구원
Priority to KR1020040051665A priority Critical patent/KR100594599B1/ko
Publication of KR20060002569A publication Critical patent/KR20060002569A/ko
Application granted granted Critical
Publication of KR100594599B1 publication Critical patent/KR100594599B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 CELP 음성 부호화기를 이용한 패킷교환망이나 공중교환망을 통한 멀티미디어 서비스에서 패킷 손실 발생시 수신단에서 손실 패킷을 복구하는 방법에 관한 것이다. 손실 패킷 복구를 위해 선형예측 계수와 잔여 신호를 각각 보간하며, 미래 패킷을 사용할 수 없는 경우와 사용할 수 있는 경우로 구분하여 보간한다. 미래 패킷이 손실이면, 과거 데이터만을 가지고 복구하고, 미래 패킷이 정상적으로 수신되면 미래 데이터와 과거 데이터를 이용하여 손실 패킷을 보간한다. CELP 부호화기의 선형 예측 계수와 잔여 신호를 각각 보간한 뒤 합성하여 손실 프레임의 오디오 데이터를 복구 한다. CELP 부호화기의 비트스트림 정보를 이용하므로 많은 연산과정이 필요하지 않으며, CELP 부호화기에 보다 적합하게 구현할 수 있다. 또한, 손실 패킷 전과 후 프레임을 이용하므로 보다 정확하게 복구할 수 있으며, 선형예측 계수를 보간함으로써 연속손실 발생시 음질을 향상시킬 수 있다.
패킷 손실, LP 계수, 피치, OLA(OverLap and Add), 보간

Description

수신단 기반의 패킷 손실 복구 장치 및 그 방법{APPARATUS AND METHOD FOR RESTORING PACKET LOSS BASED ON RECEIVING PART}
도 1은 수신단 기반의 음성 패킷 손실의 복구 기술을 분류한 도면.
도 2는 본 발명에 따른 패킷 손실 복구 장치의 구성을 나타낸 도면.
도 3은 상기 도 2의 패킷 손실 복구 장치에 입력되는 음성 패킷의 일 예를 나타낸 도면.
도 4는 상기 도 2에 도시된 패킷 손실 복구 장치에서 과거 데이터를 이용하여 손실된 패킷을 복구하는 경우의 처리 과정을 나타낸 도면.
도 5는 상기 도 4에 도시된 패킷 손실 복구 장치에서 교차 상관도를 이용하여 피치를 결정하는 원리를 설명하기 위한 도면.
도 6은 상기 도 2에 도시된 패킷 손실 복구 장치에서 과거 데이터와 미래 데이터를 이용하여 손실된 패킷을 복구하는 경우의 처리 과정을 나타낸 도면.
도 7은 상기 도 6에 도시된 패킷 손실 복구 장치에서 과거 잔여신호와 미래 잔여신호를 보간하여 손실된 패킷을 복구하는 원리를 설명하기 위한 도면.
도 8은 본 발명의 실시예에 따른 손실 패킷 복구 방법의 처리 절차를 나타낸 순서도.
<도면의 주요부분에 대한 부호의 설명>
10 : 손실 프레임 검출기 20 : 패킷 손실 복구기
21 : LP계수 보간 모듈 22 : 잔여신호 보간 모듈
23 : 합성 모듈
본 발명은 수신단 기반의 패킷 손실 복구 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 CELP(code excited linear prediction) 음성 부호화기가 적용되어 있는 수신단에서 패킷 손실(packet loss)이 발생한 프레임의 과거 데이터와 미래 데이터를 이용하여 선형예측(LP : linear prediction) 계수와 잔여 신호를 보간하여 손실 패킷을 복구하는 장치 및 그 방법에 관한 것이다.
인터넷은 패킷 교환방식 네트워크의 특징인 높은 전달 지연 및 패킷 손실(packet loss) 등으로 인하여 실시간 음성 통신을 구현하기가 매우 어렵다. 이러한 환경의 인터넷에서 실시간 멀티미디어 통신 서비스를 가능하게 하기 위해서는 음성 코딩 기술, 압축 기술, 패킷 복구 및 오류 은닉 기술이 요구된다.
도 1에는 음성 패킷 손실의 복구 기술이 분류되어 있으며, 이 분류는 수신단 기반의 복구 방법에 따라 이루어진 것이다. 수신단 기반의 복구 방법은 송신단으로부터 어떤 도움도 받지 않고 전송된 패킷에서 발생한 손실을 복구하는 기술로서, 전송 지연이 발생하지 않는 잇점이 있다.
상기 도 1에 도시되어 있듯이, 수신단 기반의 패킷 손실의 복구 기술은 크게 삽입 기반의 오류은닉 방법, 보간법 기반의 오류은닉 방법 그리고 재생산 기반의 오류은닉 방법으로 나누어진다. 삽입 기반의 오류은닉 방법은 손실 프레임을 묵음 혹은 이전 프레임으로 대신하거나 손실 프레임을 빼버리는 등 계산 복잡도가 매우 낮지만 패킷 손실의 복구 성능 또한 매우 낮다. 보간법 기반의 오류은닉 방법은 음성신호의 특성 변화를 고려한 방법으로써 삽입기반의 은닉 방법보다 계산 복잡도는 조금 더 높으며, 성능이 보다 뛰어나다. 재생산 기반의 오류은닉 방법은 부호화기에 의존적이며, 많은 수의 음성 정보가 복구에 사용되므로 성능이 매우 좋지만 계산 복잡도가 매우 높다.
따라서, 실시간 음성 통신 서비스를 구현하기 위해 추가적으로 전송 지연을 발생 시키지 않는 수신단 기반의 에러은닉 방법이 적합하지만, 손실된 패킷에 대한 어떠한 정보도 가지지 못하므로 손실률이 낮고(15% 이하) 적은 시간 구간(4~40ms)의 손실에서 적용이 가능하다. 예를 들어, 과거의 정보를 너무 오랫동안 사용하여 손실을 보상한다면, 인공음에 의해 복구된 음성은 오히려 더 부자연스러워 진다. 이 때문에 대부분의 에러은닉 알고리즘은 신호 감쇠를 적용하여 60ms 이후에는 묵음으로 대체하는 방법을 사용한다. 하지만 복호화기에서 음성을 재생하는 동안에도 다음 음성 프레임들은 지터 버퍼에 저장되고 있으므로, 버스트(burst)에러 등에 의해 연속손실이 크게 발생하였을 때 손실구간 뒷부분은 손실 이후 프레임 정보로 보상하는 것이 바람직하다. 또한, VoIP 등의 시스템에서 많이 사용하고 있는 표준 음성 부호화기(G.723.1, G.729)가 CELP 음성 부호화기이므로, CELP 음성 부호화기 구조에 적합한 에러은닉 알고리즘이 필요하다.
CELP 음성 부호화기에 적용되고 있는 에러은닉 알고리즘은 과거의 파라미터를 단순히 감쇠시키면서 반복하여 사용하고 있으므로, 마찬가지로 연속손실이 발생할 경우 음질이 급격히 저하된다.
한편, 패킷 손실의 복구에 관한 선행 특허로서, 대한민국 특허등록 제341391호(등록일 : 2002년 6월 7일)에는 "대화형 오디오 서비스를 위한 적응형 부가 전송 방법 및 패킷 손실 복구 방법과 이를 위한 멀티미디어 컴퓨터의 오디오 입출력 제어 장치"가 알려져 있다. 상기 선행 특허에서는 송신측 및 수신측으로 구성되는 부가 전송 처리기를 구비하여, 송신측에서는 수신측에서 피드백 되는 손실 정보를 이용하여 부가 전송 방식을 동적으로 설정하고, 수신측에서는 부가 데이터를 이용하여 손실 패킷을 복구한다. 상기 선행 특허에서는 부가 정보를 구성하기 위하여 수신측으로부터 손실 정보를 피드백 받아야 하기 때문에, 피드백으로 인한 지연 현상이 필수적으로 발생하는 문제점이 있으며 손실율에 따라 부가 정보의 지연 정도를 변화시킴으로써 손실 율이 증가함에 따라 복호화 지연이 증가하게 되고 부가 정보에 의해 대역폭이 증가하는 단점을 가지고 있다.
또한, 패킷 손실의 복구에 관한 선행 특허로서, 대한민국 특허등록 제238324호(등록일 : 1999년 10월 13일)에는 "오디오 신호의 에러 은닉 방법과 장치"가 알려져 있다. 상기 선행 특허는 삼각 변환기, 선택기 및 에러 은닉 데이터 발생기로 구성되며, 집중도를 이용하여 손실 프레임 전후 프레임의 오디오 신호 성분을 가장 잘 특징짓는 변환 계수를 찾아서 오디오 데이터를 복구하는 것에 특징이 있다. 그러나, 상기 선행 특허에서는 주파수 영역으로의 변환을 위해 여러 삼각 변환기가 적용되어 시스템이 복잡해지며, 오디오 데이터에 적용가능한 방법으로써 CELP 부호화기에 적용할 경우 음질이 더욱 낮아질 수 있다는 단점을 가지고 있다.
본 발명은 상기 설명한 바와 같은 종래의 기술적 문제점을 해결하기 위한 것으로서, 패킷 손실이 발생할 경우에 수신단에서 손실 패킷 이전의 데이터와 손실 패킷 이후 데이터를 이용하여 손실된 패킷을 복구하는 수신단 기반의 손실 패킷 복구 장치 및 그 방법을 제공하는 것을 목적으로 한다.
보다 구체적으로, 본 발명의 수신단 기반의 손실 패킷 복구 장치 및 그 방법은 선형예측 계수와 잔여신호를 각각 보간한뒤 합성을 통하여 손실 패킷을 복구하며, 이러한 복구 과정에서 요구되는 손실 패킷 전과 후의 데이터로서 정상적으로 전송된 CELP 음성 부호화기의 비트 스트림의 데이터를 이용하여 간단하게 구현되는 것에 그 기술적 특징이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 수신단 기반의 손실 패킷 복구 장치는,
코드여기 선형예측(CELP : Code Excited Linear Prediction) 음성 부호화기 의 비트스트림을 수신하여 패킷 손실이 발생한 프레임을 검출하는 손실 프레임 검출기; 상기 손실 프레임 검출기에서 검출된 손실 프레임을 입력받아. 손실이 발생한 패킷의 과거 패킷 데이터의 선형예측 계수, 또는 손실이 발생한 패킷의 과거 패킷과 미래 패킷의 선형예측 계수를 이용하여 손실 패킷의 선형예측 계수로서 복구하는 선형예측 계수 보간모듈; 상기 손실 프레임 검출기에서 검출된 손실 프레임을 입력받아, 손실이 발생한 패킷의 과거 패킷 데이터의 잔여신호, 또는 손실이 발생한 패킷의 과거 패킷과 미래 패킷의 잔여신호를 이용하여 손실 패킷의 잔여신호로서 복구하는 잔여신호 보간모듈; 및, 상기 복구된 선형예측 계수와 잔여신호를 합성하여 손실된 패킷의 음성신호를 생성하는 합성모듈을 포함하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 수신단 기반의 손실 패킷 복구 방법은,
(a) 패킷을 수신하여 손실이 발생하였는지 판단하는 단계;
(b) 현재의 패킷과 그 직전의 과거 패킷에 손실이 발생한 경우에는 정상적으로 수신된 과거 패킷의 데이터만을 이용하여 손실 패킷을 복구하는 단계;
(c) 버퍼 인덱스를 손실로 설정하고 다음 패킷을 대기하는 단계;
(d) 현재 패킷에는 손실이 발생하지 않고 과거 패킷에서 손실이 발생한 경우에는 정상적으로 전송된 과거 패킷과 미래 패킷을 이용하여 손실 패킷을 복구하는 단계; 및,
(e) 현재 패킷과 과거 패킷에서 손실이 발생하지 않은 경우에는 현재 패킷의 데이터를 정상적으로 복호화하여 음성 데이터를 출력하고, 버퍼 인덱스를 무손실로 설정하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 수신단 기반의 손실 패킷 복구 장치 및 그 방법에 대해 상세하게 설명한다.
도 2에는 본 발명에 따른 패킷 손실 복구 장치의 전체 구성이 도시되어 있다.
상기 도 2에 도시된 본 발명에 따른 패킷 손실 복구 장치는 CELP(code excited linear prediction) 음성 부호화기의 비트스트림을 수신하여 패킷 손실이 발생한 프레임을 검출하는 손실 프레임 검출기(10)와; 상기 손실 프레임 검출기(10)에서 검출된 손실 프레임을 입력받아, 손실이 발생한 패킷의 과거 데이터 단독 또는 손실이 발생한 패킷의 과거 데이터와 미래 데이터를 이용하여 선형예측 계수를 복구하는 선형예측(LP) 계수 보간모듈(21)과; 상기 손실 프레임 검출기(10)에서 검출된 손실 프레임을 입력받아, 손실이 발생한 패킷의 과거 데이터 단독 또는 손실이 발생한 패킷의 과거 데이터와 미래 데이터를 이용하여 잔여신호를 복구하는 잔여신호 보간모듈(22); 및 상기 복구된 선형예측 계수와 잔여신호를 합성하여 손실된 패킷의 음성 신호(audio data)를 생성하는 합성 모듈(23)을 포함한다.
다음으로, 상기와 같이 구성되는 본 발명에 따른 패킷 손실 복구 장치의 동작에 대해 설명한다. 본 발명에 따른 패킷 손실 복구 장치에서 손실된 패킷을 복구하는 과정은 손실이 발생한 패킷보다 선행하는 미래 패킷을 이용할 수 없는 경우 와 미래 패킷을 이용할 수 있는 경우로 나누어진다.
예를 들어, 도 3에 도시된 바와 같은 음성 패킷이 전송되었다고 가정할 때, An, An+1패킷이 손실 되었다면 An을 복구하기 위해서는 An+1패킷이 손실 되었으므로 미래 정보를 이용할 수 없게 되어 과거 패킷인 An-3, An-2, An-1 패킷을 이용하여 복구해야 한다. 그러나, An+1을 복구하기 위해서는 미래 패킷을 이용할 수 있으므로, 과거 패킷인 An-2, An-1과 미래 패킷인 An+2을 이용하여 복구할 수 있다. 이러한 의미에서 본 발명에 적용된 알고리즘을 BS-PLC(Both Side Packet Loss Concealment)라 칭한다.
앞서 설명한 바와 같이, 미래 패킷을 이용할 수 없고 과거 패킷만을 이용하여 손실이 발생한 패킷을 복구할 경우, 상기 도 2에 도시된 패킷 손실 복구 장치는 도 4에 도시된 바와 같은 처리 과정을 수행한다.
즉, 상기 도 2에 도시된 선형예측 계수 보간모듈(21)은 과거 패킷의 선형예측 계수를 읽어오는 과정(450)을 수행하고, 아래의 수학식 1에 의해 과거 패킷의 선형예측 계수를 감쇠하는 은닉 과정(460)에 의하여 손실된 패킷의 선형예측 계수를 복구한다.
Figure 112004029451076-pat00001
상기 수학식 1에서 t는 연속적으로 손실된 패킷의 수이고, i는 선형예측 계수의 색인으로 총 L개가 존재하며, L은 CELP 음성 부호화기에 적용된 선형예측 계수의 수이다. 위와 같이 선형예측 계수 보간모듈(21)이 수학식 1을 적용하여 과거 패킷의 선형예측 계수를 감쇠함으로써 선형예측 필터의 대역폭이 확장되며, 이러한 대역폭의 확장은 선형예측 필터의 피크를 약간씩 줄이고 대역폭을 조금 늘리는 것을 의미한다. 상기 수학식 1을 적용함으로써 이전 프레임으로부터 구해진 선형예측 필터는 조금 더 부드러운 형태가 된다. 이로 인해, 천천히 변화하는 음성신호의 스펙트럼 특성을 반영할 수 있다. 또한, 패킷 손실이 발생하는 매 프레임마다 선형예측 필터의 대역폭을 확장하여 필터의 스펙트럼을 평활화 시키고, 여기서의 LP 계수를 이용한 음성합성으로 보다 부드러운 음성변화구간을 얻을 수 있다.
한편, 상기 잔여신호 보간모듈(22)은 과거 패킷의 잔여신호를 읽어오는 과정(410), 피치 검색 과정(420), 잔여신호 보간 과정(430)과 OLA(Overlap-and-Add) 및 스케일링 과정(440)을 차례로 수행한다.
상기 피치 검색 과정(420)에서는 G.711 규격으로 부호화된 패킷으로부터 피치를 얻기 위하여 과거 패킷으로부터 정규화된 교차 상관도(normalized cross-correlation)의 피크 점을 찾아 도 5와 같이 피치를 결정한다. 상기 도 5를 참조하면, 검색 구간에서 아래의 수학식 2가 최대로 되는 변수 i의 값을 찾은 후, 피치를 반복할 때 연속성을 유지하기 위하여 피치 주기의 1/4에 대해서는 이후에 설명할 중첩-가산(OLA : overlap and add) 연산을 적용한다.
Figure 112004029451076-pat00002
상기 수학식 2에서 A는 현재 음성 프레임, B는 과거 음성 프레임을 나타내고, Aj는 A 프레임의 j번째 샘플을 말하며, Bij는 B 프레임의 i+j번째 샘플을 의미한다.
Figure 112004029451076-pat00003
는 i번째 교차 상관도(normalized cross-correlation) 값을 의미한다.
Figure 112004029451076-pat00004
의 물리적인 의미는 도 5를 참조하면, B 프레임을 i 샘플 왼쪽으로 이동했을 때, A 프레임과 얼마나 많이 닮았는지를 나타내는 지수이다.
상기 피치검색 과정(420)에서는 계산량이 많기 때문에, 시스템의 복잡도가 증가하게 된다. 또한, 계산량을 줄이기 위하여 2:1로 축약하여 검색을 하기 때문에 피치 더블링(pitch doubling)에 의한 음질저하가 발생할 수 있다. 본 발명에서는 이미 CELP 음성 부호화기에서 구한 피치 정보를 이용하여 수신된 비트스트림에서 보다 정확한 피치를 간단하게 구할 수 있다. 즉, 과거 패킷 신호의 피치는 마지막 부 프레임의 피치 주기를 적용하여 도 5에서와 같이 OLA를 적용함으로써 피치를 결정한다.
상기 잔여신호 보간 과정(430)에서는 손실 패킷의 합성 신호가 생성되며, 이러한 합성 신호의 생성은 상기 피치검색 과정(420)에서 검색된 피치를 기반으로 G.711 규격의 부록 I의 방법과 같다. 손실 프레임의 처음 10 ms는 피치주기를 반복하여 사용한다. 이 후의 20 ms에서는 합성 신호에 사용된 피치 주파수는 두배로 증가하고, 30 ms에서는 피치 주파수가 세배로 된다. 그 이후의 손실에 대해서는 피치 버퍼에서 추가적인 수정없이 만든다.
다음으로, 상기 잔여신호 보간모듈(22)은 OLA 및 스케일링 과정(440)을 수행한다. 상기 OLA는 과거 패킷과, 피치를 이용하여 복구한 패킷 사이에 연속성을 유지하기 위하여 수행한다. 과거 패킷의 출력되어지지 않은 음성신호의 마지막 20 샘플(2.5 ms)과 복구된 음성신호 앞의 20 샘플(2.5 ms)은 삼각 윈도우를 이용하여 가중치가 적용되어 더해진다. 더해진 신호는 과거 패킷의 마지막 20 샘플(2.5 ms)을 대체한다. 과거 패킷을 저장한 버퍼는 복구된 신호를 저장하기 위해 80 샘플(1 프레임)만큼 레프트 시프트(left-shift)되어지고, 마지막 80 샘플을 복구된 신호로 대체한다.
상기 OLA 과정이 수행되고 나면 스케일링 과정이 수행되며, 보다 구체적으로, 음성패킷은 출력되기 전에 ANSI T1.521a-2000(Annex B)에 서술되어 있는 것처럼 손실 발생시 스케일다운(scale-down)이 이루어진다. 스케일은 초기에 1.0으로 설정된다. 만일 손실이 발생되면 첫 패킷에서부터 20ms 까지 10ms 당 0.054씩 감소가 된다. 그리고 20ms 이상 손실부터는 10ms 당 0.222씩 감소가 된다. 이 과정은 출력 프레임의 마지막 신호 혹은 스케일이 0이 될 때까지 계속된다.
최종적으로, 상기 합성모듈(23)은 음성합성 과정(470)을 수행하며, 상기 선형예측 계수 보간모듈(21)에서 과거 패킷만을 이용하여 복구된 선형예측 계수와 상기 잔여신호 보간모듈(22)에서 과거 패킷만을 이용하여 복구된 잔여신호를 합성하여 손실된 패킷의 음성 신호(audio data)를 생성한다.
다음으로, 도 6 및 도 7을 참조하여 과거 패킷과 미래 패킷을 이용하여 손실 패킷을 복구하는 동작에 대해 설명한다. 과거 패킷과 미래 패킷을 이용하여 손실 패킷을 복구할 경우, 상기 도 2에 도시된 패킷 손실 복구 장치는 도 6에 도시된 바와 같은 처리 과정을 수행하며, 미래 패킷을 저장한 버퍼로부터 추출한 미래 음성정보와, 과거 패킷을 저장한 버퍼로부터 추출한 과거 음성 정보를 이용하여 손실 패킷을 복구한다.
상기 패킷 손실 복구 장치의 선형예측 계수 보간모듈(21)은 과거 패킷과 미래 패킷을 각각 저장한 버퍼로부터 과거 선형예측 계수와 미래 선형예측 계수를 각각 추출하는 과정(660, 680)을 수행하고, 상기 추출된 과거 선형예측 계수와 미래 선형예측 계수에 대해 선형보간하는 과정(670)을 수행하여 보간된 선형예측 계수를 생성한다.
또한, 상기 패킷 손실 복구 장치의 잔여신호 보간모듈(22)은 과거 패킷과 미래 패킷을 각각 저장한 버퍼로부터 과거 잔여신호와 미래 잔여신호를 각각 추출하는 과정(600, 640) 및 피치검색 과정(610, 650)을 순차적으로 수행하고, 잔여신호 보간 과정(620), OLA 및 스케일링 과정(630)을 수행한다.
그 다음으로, 상기 합성 모듈(23)은 음성합성 과정(690)을 수행하며, 상기 선형예측 계수 보간모듈(21)에서 복구된 선형예측 계수와 상기 잔여신호 보간모듈(22)에서 복구된 잔여신호를 합성하여 손실된 패킷의 음성 신호(audio data)를 생성한다.
만약, n번째 패킷이 손실되고 미래 패킷인 n+1번째 패킷을 이용할 수 있다면, 상기 선형예측 계수에 대한 선형보간 과정(670)에서는 손실된 n+1번째 패킷의 선형예측 계수는 아래의 수학식 3과 같이 각각 선형보간된다.
Figure 112004029451076-pat00005
상기 피치검색 과정(610)에서 과거 패킷이 저장된 버퍼로부터 피치를 찾는 과정은 상기 도 4를 참조하여 예시된 과거 패킷만을 이용한 방법과 동일하게 수행된다. 한편, 상기 피치검색 과정(650)에서는 미래 패킷의 잔여신호로부터 피치를 얻기 위하여 미래 패킷의 프레임의 첫번째 부프레임의 피치 주기를 적용한다. 피치는 미래 신호의 앞에서부터 선택한다. 선택된 피치를 미래 신호 앞에 연결하게 되므로 신호의 연속성을 주기 위해 미래 신호의 한 피치 주기 이후 신호와 미래 신호의 시작 부분의 신호를 미래 피치의 1/4만큼 OLA를 적용하여 사용한다. 다음과 같이 결정된 피치를 반복 사용하여 마지막 손실 패킷을 보간하기 위한 한 프레임을 만든다. 과거 버퍼로부터 얻은 피치와 미래 버퍼로부터 얻은 피치는 손실 패킷을 복구하기 위해 각각 다음 과정으로 전송된다.
다음으로, 상기 잔여신호 보간 과정(620)에서는 미래 패킷을 이용하여 생성한 잔여신호와 과거 패킷을 이용하여 생성한 잔여신호를 도 7과 같이 OLA를 적용하여 사용한다. 이 때, OLA의 길이는 아래의 수학식 4와 같이 손실 패킷 길이에 따라 적용된다.
Figure 112004029451076-pat00006
다음으로, 상기 OLA 및 스케일링 과정(630)에서는 OLA를 적용하고, 음성 데이터는 미래버퍼의 잔여 신호를 채워넣는다. 스케일링과 관련하여, 만일 스케일 변수가 1.0보다 작으면, 출력신호는 스케일업(scale up)된다. 이 때, 증가율은 10 ms당 0.498씩 증가한다. 이 과정은 출력 프레임의 마지막 신호 혹은 스케일이 1.0이 될 때까지 계속된다.
최종적으로, 상기 합성모듈(23)은 음성합성 과정(690)을 수행하며, 상기 선형예측 계수 보간모듈(21)에서 과거 패킷과 미래 패킷을 이용하여 복구된 선형예측 계수와 상기 잔여신호 보간모듈(22)에서 과거 패킷과 미래 패킷을 이용하여 복구된 잔여신호를 합성하여 손실된 패킷의 음성 신호(audio data)를 생성한다.
다음으로, 도 8을 참조하여 본 발명의 실시예에 따른 수신단 기반의 손실 패킷 복구 방법에 대해 설명한다.
본 발명에 따른 손실 패킷 복구 방법이 시작되면, 패킷을 수신하여 손실이 발생하였는지 판단한다(S810). 다음으로, 현재 패킷에 손실이 발생하였는지를 판단하며(S812), 상기 단계(S812)에서 현재 패킷에 손실이 발생한 경우에는 과거 패킷에도 손실이 발생하였는지를 판단한다(S824). 상기 단계(S824)에서 과거 패킷에 손실이 발생한 경우에는 도 4에서 예시된 과거 패킷의 데이터만을 이용한 손실 복원 방법을 적용하여 손실 패킷의 오디오 데이터를 복구한다(S826). 다음으로, 버퍼 인덱스(BFI)를 손실로 설정하고 다음 패킷을 대기한다(S828).
상기 단계(S812)에서 현재 패킷에 손실이 발생하지 않은 경우에는 과거 패킷에서 손실이 발생하였는지를 판단한다(S814). 상기 단계(S814)에서 과거 패킷에서 손실이 발생한 경우에는 도 6에서 예시된 과거 패킷과 미래 패킷(손실이 발생한 패킷에서 볼 때 미래 패킷은 현재 패킷이 됨)의 데이터를 이용한 손실 복원 방법을 적용하여 손실 패킷의 오디오 데이터를 복구한다(S816).
만약, 상기 단계(S814)에서 과거 패킷에도 손실이 발생하지 않은 경우에는 현재 패킷의 데이터를 정상적으로 복호화하여 음성 데이터를 출력한다(S818). 다음으로, 비트스트림을 과거 버퍼에 저장하고 버퍼 인덱스를 무손실로 설정하고(S820), 선형예측 계수, 피치정보 및 잔여신호를 저장한다(S822).
상기 본 발명의 실시예에 따른 수신단 기반의 패킷 손실 복구 방법은 컴퓨터 프로그램으로 제작되어서 하드디스크, 플로피 디스크, 광자기 디스크, 씨디 롬, 롬, 램 등의 기록매체에 저장될 수 있다.
이상에서와 같이, 본 발명은 CELP 음성 부호화기가 적용된 수신단에서 패킷 손실을 복구하기 위한 장치 및 방법에 관한 것으로서, 미래 패킷을 이용할 수 없는 경우에는 과거에 정상적으로 전송된 패킷의 정보를 가지고 손실 패킷을 복구하고, 미래 패킷을 이용할 수 있는 경우에는 과거에 정상적으로 전송된 패킷의 정보와 미래 패킷의 정보를 이용하여 복구함으로써 연속 패킷 손실이 크게 발생하는 경우의 음질 저하를 줄일 수 있다. 특히, 손실 패킷을 복구하기 위해서 CELP 음성 부호화기의 선형예측 계수와 잔여신호를 각각 보간한 후에 합성함으로써 손실 패킷을 복구할 수 있으며, 이 때 필요한 선형예측 계수와 잔여신호의 피치 정보는 손실 패킷 주변의 정상적으로 전송된 패킷의 데이터를 이용함으로써 손실 패킷 복구 과정을 단순화시킬 수 있다.
이상으로 설명한 것은 본 발명에 따른 수신단 기반의 패킷 손실 복구 장치 및 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 미친다고 할 것이다.


Claims (4)

  1. 코드여기 선형예측(CELP : Code Excited Linear Prediction) 음성 부호화기의 비트스트림을 수신하여 패킷 손실이 발생한 프레임을 검출하는 손실 프레임 검출기;
    상기 손실 프레임 검출기에서 검출된 손실 프레임을 입력받아 손실이 발생한 패킷의 과거 패킷 데이터의 선형예측 계수, 또는 손실이 발생한 패킷의 과거 패킷과 미래 패킷의 선형예측 계수를 이용하여 손실 패킷의 선형예측 계수로서 복구하는 선형예측 계수 보간모듈;
    상기 손실 프레임 검출기에서 검출된 손실 프레임을 입력받아, 손실이 발생한 패킷의 과거 패킷 데이터의 잔여신호, 또는 손실이 발생한 패킷의 과거 패킷과 미래 패킷의 잔여신호를 이용하여 손실 패킷의 잔여신호로서 복구하는 잔여신호 보간모듈; 및,
    상기 복구된 선형예측 계수와 잔여신호를 합성하여 손실된 패킷의 음성신호를 생성하는 합성모듈을 포함하는 것을 특징으로 하는 수신단 기반의 손실 패킷 복구 장치.
  2. 제1항에 있어서,
    상기 손실 패킷 복구 장치에서 과거 패킷만을 이용하여 손실이 발생한 패킷을 복구할 경우,
    상기 선형예측 계수 보간모듈은 과거 패킷의 선형예측 계수를 읽어오는 과정을 수행하고, 아래의 수학식에 의해 과거 패킷의 선형예측 계수를 감쇠하는 은닉과정을 수행하여 손실된 패킷의 선형예측 계수를 복구하며,
    상기 잔여신호 보간모듈은 과거 패킷의 잔여신호를 읽어오는 과정, 피치 검색 과정, 잔여신호 보간 과정, 중첩-가산 및 스케일링 과정을 차례로 수행하여 과거 패킷의 잔여신호로부터 손실 패킷의 잔여신호를 복구하는 것을 특징으로 하는 수신단 기반의 손실 패킷 복구 장치.
    Figure 112006036499203-pat00007
    여기서, t는 연속적으로 손실된 패킷의 수이고, i는 선형예측 계수의 색인으로 총 L개가 존재하며, L은 CELP 음성 부호화기에 적용된 선형예측 계수의 수이다.
  3. 제1항에 있어서,
    상기 손실 패킷 복구 장치에서 과거 패킷과 미래 패킷을 이용하여 손실이 발생한 패킷을 복구할 경우,
    상기 선형예측 계수 보간모듈은 과거 패킷과 미래 패킷을 각각 저장한 버퍼로부터 과거 패킷의 선형예측 계수와 미래 패킷의 선형예측 계수를 각각 추출하는 과정을 수행하고, 상기 추출된 과거 패킷의 선형예측 계수와 미래 패킷의 선형예측 계수에 대해 선형보간하는 과정을 수행하며,
    상기 잔여신호 보간모듈은 과거 패킷과 미래 패킷을 각각 저장한 버퍼로부터 과거 패킷의 잔여신호와 미래 패킷의 잔여신호를 각각 추출하는 과정, 피치검색 과정, 잔여신호 보간 과정, 중첩-가산 및 스케일링 과정을 순차적으로 수행하는 것을 특징으로 하는 수신단 기반의 손실 패킷 복구 장치.
  4. (a) 패킷을 수신하여 손실이 발생하였는지 판단하는 단계;
    (b) 현재의 패킷과 그 직전의 과거 패킷에 손실이 발생한 경우에는 정상적으로 수신된 과거 패킷의 데이터만을 이용하여 손실 패킷을 복구하는 단계;
    (c) 버퍼 인덱스를 손실로 설정하고 다음 패킷을 대기하는 단계;
    (d) 현재 패킷에는 손실이 발생하지 않고 과거 패킷에서 손실이 발생한 경우에는 정상적으로 전송된 과거 패킷과 미래 패킷을 이용하여 손실 패킷을 복구하는 단계; 및,
    (e) 현재 패킷과 과거 패킷에서 손실이 발생하지 않은 경우에는 현재 패킷의 데이터를 정상적으로 복호화하여 음성 데이터를 출력하고, 버퍼 인덱스를 무손실로 설정하는 단계를 포함하는 것을 특징으로 하는 수신단 기반의 손실 패킷 복구 방법.
KR1020040051665A 2004-07-02 2004-07-02 수신단 기반의 패킷 손실 복구 장치 및 그 방법 KR100594599B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040051665A KR100594599B1 (ko) 2004-07-02 2004-07-02 수신단 기반의 패킷 손실 복구 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040051665A KR100594599B1 (ko) 2004-07-02 2004-07-02 수신단 기반의 패킷 손실 복구 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060002569A KR20060002569A (ko) 2006-01-09
KR100594599B1 true KR100594599B1 (ko) 2006-06-30

Family

ID=37105506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040051665A KR100594599B1 (ko) 2004-07-02 2004-07-02 수신단 기반의 패킷 손실 복구 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100594599B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936126B1 (ko) 2009-05-25 2010-01-12 주식회사 이머시스 휴대기기의 음향 퀄리티를 향상시키는 장치 및 방법
KR101032805B1 (ko) 2006-07-27 2011-05-04 닛본 덴끼 가부시끼가이샤 음성 데이터 복호 장치 및 음성 데이터 복호 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100723409B1 (ko) * 2005-07-27 2007-05-30 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
KR100745683B1 (ko) * 2005-11-28 2007-08-02 한국전자통신연구원 음성의 특징을 이용한 패킷 손실 은닉 방법
KR100776797B1 (ko) * 2005-12-06 2007-11-19 한국전자통신연구원 네트워크 기반의 패킷 손실 은닉 방법 및 이를 위한 장치
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238324B1 (ko) 1997-12-24 2000-01-15 윤종용 오디오 신호의 에러 은닉 방법과 그 장치
KR20010038203A (ko) * 1999-10-22 2001-05-15 정선종 대화형 오디오 서비스를 위한 적응형 부가 전송 방법 및 패킷 손실 복구 방법과 이를 위한 멀티미디어 컴퓨터의 오디오 입출력 제어 장치
KR20040050810A (ko) * 2002-12-09 2004-06-17 한국전자통신연구원 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100238324B1 (ko) 1997-12-24 2000-01-15 윤종용 오디오 신호의 에러 은닉 방법과 그 장치
KR20010038203A (ko) * 1999-10-22 2001-05-15 정선종 대화형 오디오 서비스를 위한 적응형 부가 전송 방법 및 패킷 손실 복구 방법과 이를 위한 멀티미디어 컴퓨터의 오디오 입출력 제어 장치
KR100341391B1 (ko) 1999-10-22 2002-06-21 오길록 대화형 오디오 서비스를 위한 적응형 부가 전송 방법 및 패킷 손실 복구 방법과 이를 위한 멀티미디어 컴퓨터의 오디오 입출력 제어 장치
KR20040050810A (ko) * 2002-12-09 2004-06-17 한국전자통신연구원 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032805B1 (ko) 2006-07-27 2011-05-04 닛본 덴끼 가부시끼가이샤 음성 데이터 복호 장치 및 음성 데이터 복호 방법
KR100936126B1 (ko) 2009-05-25 2010-01-12 주식회사 이머시스 휴대기기의 음향 퀄리티를 향상시키는 장치 및 방법

Also Published As

Publication number Publication date
KR20060002569A (ko) 2006-01-09

Similar Documents

Publication Publication Date Title
US7502733B2 (en) Method and arrangement in a communication system
EP1886307B1 (en) Robust decoder
US7016831B2 (en) Voice code conversion apparatus
US6704702B2 (en) Speech encoding method, apparatus and program
EP2026330B1 (en) Device and method for lost frame concealment
JP4473869B2 (ja) 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム
JP4320033B2 (ja) 音声パケット送信方法、音声パケット送信装置、および音声パケット送信プログラムとそれを記録した記録媒体
RU2713605C1 (ru) Устройство кодирования аудио, способ кодирования аудио, программа кодирования аудио, устройство декодирования аудио, способ декодирования аудио и программа декодирования аудио
KR100395458B1 (ko) 전송에러보정을 갖는 오디오신호 디코딩방법
KR20090051760A (ko) 에코 제거/억압 방법 및 장치
US7302385B2 (en) Speech restoration system and method for concealing packet losses
JPH01155400A (ja) 音声符号化方式
US6871175B2 (en) Voice encoding apparatus and method therefor
KR100792209B1 (ko) 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
KR100594599B1 (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
KR100591544B1 (ko) VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치
KR100542435B1 (ko) 패킷 망에서의 프레임 손실 은닉 방법 및 장치
RU2792658C1 (ru) Устройство кодирования аудио, способ кодирования аудио, программа кодирования аудио, устройство декодирования аудио, способ декодирования аудио и программа декодирования аудио
Gokhale Packet loss concealment in voice over internet
JP2003295900A (ja) 音声処理方法、音声処理装置、音声処理プログラム
JP2001100797A (ja) 音声符号化復号装置
Ho et al. Improved lost frame recovery techniques for ITU-T G. 723.1 speech coding system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130410

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170406

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 13