KR20050066477A - VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치 - Google Patents

VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치 Download PDF

Info

Publication number
KR20050066477A
KR20050066477A KR1020030097769A KR20030097769A KR20050066477A KR 20050066477 A KR20050066477 A KR 20050066477A KR 1020030097769 A KR1020030097769 A KR 1020030097769A KR 20030097769 A KR20030097769 A KR 20030097769A KR 20050066477 A KR20050066477 A KR 20050066477A
Authority
KR
South Korea
Prior art keywords
frame
lost
frame data
data
loss
Prior art date
Application number
KR1020030097769A
Other languages
English (en)
Other versions
KR100591544B1 (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 KR1020030097769A priority Critical patent/KR100591544B1/ko
Priority to US10/932,397 priority patent/US20050049853A1/en
Publication of KR20050066477A publication Critical patent/KR20050066477A/ko
Application granted granted Critical
Publication of KR100591544B1 publication Critical patent/KR100591544B1/ko

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Landscapes

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

Abstract

본 발명은 패킷 망을 통하여 음성 데이터를 전송할 경우 발생할 수 있는 패킷 손실로 인한 음질 저하를 줄이기 위한 프레임 손실 은닉 방법 및 장치에 관한 것이다.
본 발명에 따른 VoIP 시스템을 위한 프레임 손실 은닉 방법은 프레임 손실이 발생한 경우, 상기 손실된 프레임 이전에 올바르게 수신된 프레임 데이터와 플레이 아웃 버퍼에 있는 프레임 데이터 중에서 상기 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 상기 손실된 프레임 데이터를 복원한다.
이와 같이 하면, 계산량 증가 없이 패킷 손실 환경에서 음성 부호화기의 음질 향상에 기여할 수 있는 효과가 있다.

Description

VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치{METHOD AND APPARATUS FOR FRAME LOSS CONCEALMENT FOR VoIP SYSTEMS}
본 발명은 패킷 망을 통해 음성신호를 전달할 때 발생할 수 있는 패킷 손실로 인한 음질 저하를 줄이기 위한 프레임(패킷) 손실 은닉 방법 및 장치에 관한 것이다.
인터넷이 널리 보급되면서 음성 신호를 인터넷 망을 통해 전송하기 위한 VoIP(Voice over Internet Protocol) 기술이 많은 관심을 끌고 있다.
일반적으로 패킷 망을 통해 음성 신호를 전송하기 위해서는 송신 단에서 음성 부호화기로 음성 신호를 프레임 단위로 압축한 후에 패킷 단위로 패킹하여 전송하고, 수신 단에서는 상기 송신 단으로부터 전송된 패킷 데이터를 이용하여 다시 원래의 음성 신호를 재생한다. VoIP 시스템에서 음성신호를 압축하기 위해 널리 사용되고 있는 음성 부호화기는 CELP 유형의 부호화기로 보통 20msec의 음성 신호를 한꺼번에 처리한다. 이 단위를 프레임이라 하는데 일반적으로 하나의 패킷은 하나의 프레임 데이터로 구성될 수도 있고, 여러 프레임 데이터로 구성될 수도 있다. 즉, 한 패킷은 하나의 프레임 혹은 여러 개의 프레임으로 구성될 수 있다. 그러나 음성 부호화기는 프레임 단위로 동작을 하기 때문에 패킷 손실 은닉 알고리즘도 프레임 단위로 동작을 한다. 따라서 프레임 손실 은닉이라는 용어를 패킷 손실 은닉 이라는 용어와 혼용하여 사용하기도 한다.
패킷 망을 통해 음성 신호를 전송할 경우에 모든 패킷이 같은 경로를 통해 전송되는 것이 아니라 각 패킷이 서로 다른 경로를 통해 전달될 수 있기 때문에 각 패킷을 전달하는데 소요되는 시간이 일정하지 않다. 따라서 네트웍 부하로 인해 패킷이 손실되거나, 정해진 시간 내에 패킷이 수신되지 않거나 또는 송신한 순서가 바뀌어 수신되는 경우가 발생한다.
실시간 동작이 필요하지 않는 경우라면 손실된 패킷에 대해 재전송을 요청하고, 수신 단에서 버퍼를 크게 함으로써 모든 패킷을 신뢰성 있게 수신할 수 있다. 그러나 음성 통화와 같이 실시간 동작이 필요한 경우에는 재전송을 요청할 수 없기 때문에 다양한 원인에 의한 패킷 손실로 음질 저하가 발생한다. 패킷 손실은 음질에 직접적인 영향을 주는 커다란 원인이 된다.
도 1은 종래 G.729에서 사용하고 있는 반복에 기초한 프레임 손실 은닉 방법을 나타낸 도면이다.
G.729에서는 도 1에서와 같이 손실된 프레임의 파라미터를 복원하기 위하여 손실이 발생되기 바로 이전에 올바르게 수신된 프레임 정보를 이용한다. 즉, 종래 기술에서는 손실된 현재 프레임의 파라미터 중에서 LSF(Line Spectrum Frequency)는 이전 프레임의 LSF 계수를 그대로 사용하고 피치는 이전 서브 프레임의 피치를 하나씩 증가해서 복원한다. 또한 피치와 고정 코드북의 이득은 이전 프레임의 이득을 감소시켜 사용한다.
이와 같이 G. 729에서 사용하는 반복에 기초한 프레임 손실 은닉 방법의 성능을 향상시키기 위하여 다른 종래 기술로서, 미국 특허번호 제5,732,389호(1998.3.24)에는 "Voiced/unvoiced classification of speech for excitation codebook selection in CELP speech decoding during frame erasures"가 개시되어 있다. 이 종래 기술에서는 기본적으로 손실된 프레임의 파라미터는 이전 파라미터를 그대로 사용하거나 스케일링하여 사용하고, 손실된 프레임을 유성음과 무성음으로 분류한 후에 유성음인 경우 피치 정보만으로 여기 신호를 재생하고 무성음인 경우에는 고정 코드북 정보만으로 여기신호를 재생한다.
한편, 도 2는 종래 VoIP 시스템의 특성에 기반을 두어 제안된 프레임 손실 은닉 방법을 나타낸 도면이다.
일반적으로 VoIP 시스템에서는 딜레이 지터(delay jitter)로 인한 음질 저하를 줄이기 위하여 수신단에 플레이아웃 버퍼를 사용하고 있다. 패킷이 수신되자 마자 바로 음성신호를 복원하여 출력하는 하는 것이 아니라, 일종의 완충역할을 할 수 있는 버퍼를 두어 버퍼에 데이터가 모두 차면 그때부터 음성신호를 복원하기 시작한다. 그러므로 상기 플레이아웃 버퍼의 사이즈를 크게 하면 패킷 손실로 인한 음질 저하를 줄일 수 있지만, 플레이아웃 버퍼의 사이즈가 커지게 되면 전체적인 지연이 커지게 되어 반향이 발생할 뿐만 아니라 자연스러운 대화가 어려워진다는 문제점이 있다.
VoIP 시스템에서는 무선망에서와는 달리 손실된 프레임의 정보를 예측하는데 플레이아웃 버퍼에 있는 프레임 데이터를 사용할 수 있다. 만약, 플레이아웃 버퍼에 손실된 프레임 이후의 프레임 데이터가 저장되어 있다면, 과거 프레임 데이터 정보와 함께 이 미래 프레임 데이터를 선형 인터폴레이션(linear interpolation)하여 손실된 프레임 정보를 예측할 수 있다. 이와 같은 방법이 ICASSP2000에서 게재된 논문 "improved frame erasure concealment for CELP-based coders"가 개시되어 있다.
이 논문에서는 한 프레임 데이터가 손실된 경우 올바르게 수신된 바로 이전 프레임과 이후 프레임 데이터를 선형 인터폴레이션하여 현재 손실된 프레임 데이터를 예측한다.
이 때, 양자화 시 예측기를 사용하지 않는 피치 이득(pitch gain)과 피치 지연(pitch lag)은 선형 인터폴레이션을 통해 예측하고 나머지 LSF와 고정 코드북 파라미터는 기존 코덱에서 주로 사용하는 반복에 기초한 프레임 손실 은닉 방법을 사용하여 예측한다. 패킷당 프레임 수가 하나이고, 패킷 손실이 연속적으로 발생하지 않는 경우에 대한 실험 결과를 보면 기존 코덱에서 주로 사용하는 반복에 기초한 프레임 손실 은닉 방법보다 선형 인터폴레이션을 이용한 프레임 손실 은닉 방법이 좋은 효과를 나타낸다.
한편, 음성신호는 시간에 따라 그 성질이 느리게 변한다는 특성을 가지고 있다. 따라서, 이웃한 프레임 데이터 사이에는 상관관계가 존재하며, 가까이 있는 프레임 데이터 사이에는 매우 높은 상관도가 있다. 그리고 프레임 데이터 사이의 간격이 멀어질수록 상관도는 점점 떨어진다. 따라서 대부분의 프레임 손실 은닉 방법은 이러한 프레임 데이터 간의 상관도를 이용한다. 그러나 VoIP 시스템에서는 플레이아웃 버퍼에 있는 미래 프레임 데이터를 이용할 수 있으므로 추가적인 지연의 증가 없이 프레임 손실이 발생하기 전에 수신된 프레임 데이터와 플레이 아웃 버퍼에 있는 프레임 데이터 중에서 손실된 프레임과 가장 상관도가 높은 프레임 데이터를 이용하여 손실된 프레임 데이터를 예측하므로써 좀 더 효과적으로 손실된 프레임 데이터를 예측할 수 있게 된다.
본 발명은 상기와 같은 문제점을 해결하고자 하는 것으로, 본 발명의 목적은 VoIP 시스템에서 손실된 프레임의 음성신호를 복원하기 위해 손실된 프레임 이전에 올바르게 수신된 프레임 데이터와 플레이아웃 버퍼에 저장되어 있는 손실된 프레임 이후의 프레임 데이터 중 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 보다 정확하게 손실된 프레임의 음성신호를 복원할 수 있는 VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치를 제공하기 위한 것이다.
상기의 목적을 달성하기 위하여, 본 발명에서는 패킷 손실로 인해 손실된 프레임 데이터를 효과적으로 예측할 수 있는 방법이 제공된다.
본 발명의 하나의 특징에 따른 VoIP 시스템을 위한 프레임 손실 은닉 방법은 a) 상기 손실된 프레임을 검출하는 단계; b) 상기 a)단계에서 프레임 손실이 검출된 경우, 상기 손실된 프레임 이전에 수신된 올바른 프레임 데이터와 플레이아웃 버퍼에 있는 프레임 데이터 중 상기 손실된 프레임과 가장 인접한 하나의 프레임 데이터를 결정하는 단계; 및 c) 상기 결정된 프레임 데이터를 이용하여 상기 손실된 프레임의 데이터를 예측하여 음성신호를 복원하는 단계를 포함한다.
그리고 상기 이전에 손실 없이 수신된 프레임 데이터를 이용하여 손실된 프레임 데이터를 복원할 경우, 상기 플레이 아웃 버퍼에 있는 프레임 데이터에 기초하여 파라미터 복원시 제약을 줄 수 있고 상기 이후 손실 없는 프레임 데이터를 이용하여 손실된 프레임 데이터를 복원할 경우에는 상기 손실된 프레임 데이터를 복원할 때 이전에 손실 없이 수신된 프레임 데이터에 기초하여 파라미터 복원시 제약을 줄 수 있다.
또한, 상기 프레임 손실이 연속적으로 발행한 경우, 손실된 프레임 각각은 상기 손실된 프레임 이전에 수신된 올바른 프레임 데이터와 플레이아웃 버퍼에 있는 프레임 데이터 중 상기 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 연속적으로 손실된 프레임 데이터를 순차적으로 복원할 수 있다.
본 발명에서는 송신장치에서 송신한 음성 신호의 패킷 데이터에 손실이 발생하였을 경우 손실된 음성신호를 복원하는 프레임 손실 은닉 장치가 제공된다.
본 발명의 하나의 특징에 따른 VoIP 시스템을 위한 프레임 손실 은닉 장치는 상기 프레임 데이터를 플레이아웃 버퍼에 저장하고, 정해진 시간마다 프레임 데이터를 복호화기에 전달하고, 프레임이 손실이 발생하였을 경우 플레이 아웃 버퍼에서 손실된 프레임과 가장 인접한 프레임 데이터 및 상기 시간 정보를 프레임 손실 은닉 모듈에 전달하는 플레이아웃 버퍼; 상기 플레이아웃 버퍼로부터 전달된 프레임 데이터 중 올바른 프레임 데이터와 손실된 프레임 데이터에 따라 다르게 음성신호를 복원하고, 손실된 프레임 데이터를 복원하는 경우, 상기 손실된 프레임 이전에 손실 없이 전달된 프레임 데이터와 플레이 아웃버퍼에서 전달된 프레임 데이터 중에서 상기 손실된 프레임에 가장 인접한 프레임 데이터를 이용하여 손실된 프레임 데이터를 예측하는 프레임 손실 은닉 장치; 및 상기 플레이아웃 버퍼와 상기 복호화기사이에, 상기 올바른 프레임과 손실된 프레임에 기초하여 스위칭하도록 지시하는 BFI(Bad Frame Indicator)를 포함한다.
그리고 상기 디코더는 올바른 프레임 데이터를 복원하는 디코딩 모듈; 및 상기 플레이 아웃버퍼로부터 손실된 프레임과 가장 인접한 프레임 데이터를 전발 받고, 상기 손실된 프레임 이전에 손실 없이 수신된 프레임 데이터를 디코딩 모듈로부터 전달받아 손실된 프레임과 가장 인접한 프레임을 선택하여 손실된 프레임 데이터를 예측하여 음성신호를 복원하는 프레임 손실 은닉 모듈을 포함한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.
이하, 첨부된 도면들을 참조하여 본 발명을 상세하게 설명하기로 한다.
도 3은 본 발명을 설명하기 위한 패킷망을 통한 음성신호의 전달을 나타낸 음성신호 송수신 장치의 구성블록도이다.
도 3에 나타낸 바와 같이 음성신호 송수신 장치에서 음성신호 송신부는 A/D 변환기(20), 부호화기(30), 패킷 프로토콜(packet protocol) 모듈(40)을 포함한다.
A/D 변환기(20)는 마이크를 통해 입력된 송신자의 아날로그 음성신호를 디지털 음성 신호로 변환한다.
부호화기(30)는 디지털 음성 신호를 압축 부호화한다.
패킷 프로토콜 모듈(40)은 압축 부호화된 디지털 음성 데이터를 인터넷 프로토콜(IP;Internet Protocol)에 맞게 가공하여 패킷망을 통해 전송하기 적합한 형태로 변환한 후, 음성 패킷 형태로 출력한다.
또한, 음성신호 수신부는 패킷 프로토콜 모듈(packet protocol)(40), 플레이아웃 버퍼(50), 복호화기(60), D/A 변환기(70)를 포함한다.
음성신호 수신부에서 패킷 프로토콜 모듈(40)은 패킷망을 통해 전송된 음성 패킷을 수신하여 언패킷 한 후, 프레임 단위의 음성 데이터를 시간 순서에 맞게 플레이아웃 버퍼(50)에 저장한다.
플레이아웃 버퍼(50)는 변환된 프레임 단위의 음성 데이터를 저장하고, 정해진 시간마다 복호화기(60)에 프레임 데이터를 전송한다.
복호화기(60)는 수신된 프레임 데이터로부터 음성신호를 복원한다.
D/A 변환기(70)는 음성신호로 복원된 디지털 음성 데이터를 아날로그 신호로 변환한다. 변환된 아날로그 음성신호는 스피커를 통해 출력된다.
상기와 같이 구성된 음성신호 송수신 장치는 PCM 부호화기를 제외한 대부분의 부호화기들이 프레임 단위로 동작한다. 프레임 단위로 음성신호를 압축하여 데이터를 출력하고, 한 프레임 데이터를 한 패킷으로 패킹하거나 또는 두 프레임, 세 프레임 데이터를 하나의 패킷으로 패킹하여 전송한다. 수신단에서는 수신된 패킷 데이터를 시간 순서에 맞게 정렬하고, 언패킹하여 프레임 단위의 데이터로 변환하여 플레이아웃 버퍼(50)에 저장한다. 플레이아웃 버퍼(50)의 사이즈는 전송 지연의 크기에 따라 변할 수도 있고, 고정된 사이즈를 가질 수도 있으며, 프레임 시간 간격으로 프레임 데이터를 복호화기(60)에 전달한다. 상기 프레임 데이터를 이용하여 디지털 음성신호를 재생하고, D/A 변환기를 통해 아날로그 신호로 변환하여 출력한다.
이와 같이 패킷 망을 통해 패킷 데이터를 전송할 경우, 네트웍 부하로 인해 패킷이 손실되거나 각 패킷을 전송하는데 소요되는 시간이 일정치 않기 때문에 정해진 시간에 수신되지 않은 패킷은 일반적으로 손실로 처리한다. 이로 인해서 음질의 저하가 발생하는데, 손실된 음성신호를 효과적으로 복원하게 되면 음질 저하를 줄일 수 있다.
도 4는 본 발명의 실시예에 따른 VoIP 시스템을 위한 프레임 손실 은닉 장치를 도시한 블록도이다.
도 4에 나타낸 바와 같이 본 발명의 실시 예에 따른 프레임 손실 은닉 장치는 플레이아웃 버퍼(50)와 복호화기(60) 및 BFI(80)를 포함한다. 그리고 복호화기(60)는 프레임 손실 은닉 모듈(62) 및 디코딩 모듈(64)은 포함한다.
플레이아웃 버퍼(50)는 프레임 단위로 변환된 데이터를 저장하고, 프레임 시간 간격마다 프레임 데이터를 전달하며 프레임이 손실이 발생하였을 경우 플레이아웃 버퍼(50)에 있는 프레임 데이터 중에서 손실된 프레임과 가장 인접한 프레임 데이터를 프레임 손실 은닉 모듈(62)로 전달한다. 플레이아웃 버퍼(50)는 고정된 사이즈를 가질 수도 있지만, 네트워크 상황에 따라 버퍼의 크기가 가변될 수도 있다. 또한, 플레이아웃 버퍼(50)는 손실된 프레임과 가장 인접한 프레임 데이터를 프레임 손실 은닉 모듈로 전달하는 동시에 시간 정보도 전달한다. 여기서, 도 4에 따른 본 발명의 실시예에서는 플레이아웃 버퍼(혹은 지터 버퍼라고도 한다.)(50)의 사이즈는 4이고, N번째 시간에서 오류(손실)가 발생하였다고 가정하며, N 번째 시간에 대한 프레임 데이터를 F(N)이라고 표기하였다.
복호화기(60)는 프레임 데이터 손실로 인한 음질 저하를 줄이기 위해 프레임 손실 은닉 모듈(62)을 내장하고 있다. 이 때, 프레임 데이터가 정상적으로 수신되었을 경우에 동작하는 모듈을 디코딩 모듈이라 하면, 손실된 프레임 데이터로 인한 음질 저하를 줄이기 위한 모듈을 프레임 손실 은닉 모듈이라 한다. 여기서 프레임 데이터는 CELP 유형의 부호화/복호화기의 경우에 피치 주기, LSP, 고정 코드북 인덱스, 피치와 고정 코드북의 이득을 포함한다.
프레임 손실 은닉 모듈(62)은 프레임 손실이 발생하기 전에 손실없이 수신된 프레임 데이터와 플레이아웃 버퍼(50)에 저장되어 있는 프레임 데이터 중 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 손실된 프레임의 음성신호를 복원한다. 또한, 프레임 손실 은닉 모듈(62)은 손실이 발생하기 전후에 손실없이 수신된 프레임 데이터 중 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 손실된 프레임을 복원할 때, 나머지 하나의 올바른 프레임 데이터를 이용하여 손실된 프레임 파라미터 예측시 제약조건으로 사용할 수 있다.
디코딩 모듈(64)은 손실되지 않은 프레임의 음성신호를 복원한다.
BFI(Bad Frame Indicator)(80)는 프레임 데이터가 손실되었는지의 여부를 나타내는 플래그로, 손실되지 아니한 프레임 데이터는 디코딩 모듈(64)에서 음성신호를 복원하도록 하고, 프레임 손실이 발생하였을 경우에는 프레임 손실 은닉 모듈(62)에서 손실된 프레임에 대한 음성신호를 복원하도록 스위칭할 수 있도록 한다. 예를 들어, 프레임 손실이 발생하여 플레이아웃 버퍼(50)에 복호화기로 전달해야 하는 프레임 데이터가 존재하지 않으면 BFI(80)는 1이 되어 스위치가 프레임 손실 은닉 모듈(62)에 연결되도록 지시하고, 플레이아웃 버퍼(50)에 시간 순서에 맞는 프레임 데이터가 존재하면, BFI(80)는 0이 되어 스위치가 디코딩 모듈(64)에 연결되도록 지시한다.
BFI(80)는 별도의 독립된 모듈로서 구성될 수도 있고, 플레이아웃 버퍼(50) 또는 디코더(60)에서 BFI(80)를 위한 별도의 모듈이 구비될 수도 있다.
상기와 같이 구성된 VoIP 시스템을 위한 프레임 손실 장치의 동작 과정에 대해서 도 5를 참조하여 상세하게 설명한다. 이 때, 도 4에서와 같이 N번째 시간에서 오류(손실)가 발생하였다고 가정하고, N 번째 시간에 대한 프레임 데이터를 F(N)이라고 표기한다. 그리고 시간 정보에 기초하여 프레임 데이터를 복원할 때, 도 5에서와 같은 동작을 계속해서 반복한다.
도 5에 나타낸 바와 같이, 복호화기(60)는 시간 정보(N-1 ~ N+2)에 따라 패킷 프레임을 수신하여(S60) 프레임 데이터를 복원하여 음성신호를 재생시킨다. 이 때, 언패킹된 프레임 데이터를 플레이아웃 버퍼(50)에 저장한다(S61). 플레이아웃 버퍼(50)에 프레임 데이터가 모두 차면 그때부터 음성신호를 복호화기(60)에 전달하기 시작한다.
먼저 프레임이 손실되었는지를 판단하는 데, 이를 위해 시간 순서에 따라 플레이아웃 버퍼(50)는 N-1번째 시간에 해당하는 프레임 데이터 F(N-1)이 존재하므로 BFI(80)가 디코딩 모듈(64)로 연결시킨다. 그리고 나서 디코딩 모듈(64)은 F(N-1)을 수신받아 음성신호를 복원한다(S64-S65).
다음, 플레이아웃 버퍼(50)는 N번째 시간에 해당하는 프레임 데이터 F(N)을 디코더(60)로 전달해야 할 시점에서 플레이 아웃 버퍼(50)에 F(N)이 존재하지 않으므로 BFI(80)가 프레임 손실 은닉 모듈(62)로 연결시킨다(S60-S62). 그리고 나서 플레이아웃 버퍼(50)는 N번째 시간에 N+1번째 시간에 해당하는 프레임 데이터 F(N+1)을 프레임 손실 은닉 모듈(62)로 전달한다. 프레임 손실 은닉 모듈(62)은 손실된 프레임의 이전 프레임과 이후 프레임 중 손실된 프레임과 더 인접한 프레임을 이용하여 손실된 프레임의 데이터를 예측하여(S63) 음성신호를 복원한다(S65). 이 때, 손실된 프레임 이전에 전달된 올바른 프레임 또는 손실된 프레임의 이후에 전달된 올바른 프레임 중 손실된 프레임과 가장 인접한 프레임을 이용하여 손실된 프레임 데이터를 예측할 때 나머지 하나의 프레임 데이터는 손실된 프레임 데이터 예측시 제약조건으로 사용한다.
다음, N+1번째 시간에 해당하는 프레임 데이터 F(N+1)을 복원해야 할 시점에서 플레이아웃 버퍼(50)에는 F(N+1)이 존재하므로 디코딩 모듈(64)로 F(N+1)이 전달되어 F(N+1)을 복원하여 음성신호를 재생한다(S64-65). 또한, N+2번째 시간에 해당하는 프레임 데이터는 F(N+1)을 복원하는 방법과 동일하게 동작한다.
본 발명의 실시예에서는 패킷 당 프레임이 한 개인 경우에 대해서 설명하였지만, 패킷당 프레임 수가 커지면 한 패킷이 손실되어도 여러 프레임이 연속적으로 손실될 수 있다. 이와 같이 연속적으로 다수의 프레임이 손실될 경우 프레임 손실 은닉 모듈(62)은 각각의 손실된 프레임에 대해 손실된 프레임의 이전 또는 이후 올바른 데이터 중 가장 인접한 프레임 데이터를 이용하여 시간 정보에 따라 순차적으로 손실된 음성신호를 복원한다.
이와 같이 본 발명의 실시 예에 따른 프레임 손실 은닉 방법은 주로 CELP(Code-Excited Linear Predictive) 음성 부호화기를 기반으로 사용한다.
CELP 부호화기는 16kbps 보다 낮은 비트 전송율에서도 높은 음질의 음성 신호를 만들어 내는 일종의 혼성(hybrid) 부호화 기술을 이용한다. CELP형 음성 부호화기에서는 일반적으로 한 프레임의 음성신호로부터 고정 코드북 색인과 피치, 그리고 LSF와 고정 코드북과 피치의 이득을 추출하여 전송하고 수신단에서는 이들 파라미터로부터 음성신호를 복원한다.
본 발명의 실시예에 따른 프레임 손실 은닉 방법을 좀 더 간단하게 도시하면 도 6과 같이 나타낼 수 있다. 이하, 도 6을 참조하여 CELP 음성부호화기에서의 손실된 프레임 데이터를 복원하는 방법에 대해서 설명하기로 한다.
도 6에서 나타낸 바와 같이 CELP 음성부호화기에서 프레임 데이터를 플레이아웃 버퍼(20)에 저장하고, 플레이아웃 버퍼(50)는 일정시간마다 프레임 데이터를 복호화기에 전달한다. 그리고 플레이아웃 버퍼(50)는 프레임 손실이 발생하였을 경우, 플레이아웃 버퍼(50)에서 손실된 프레임과 가장 인접한 프레임 데이터를 프레임 손실 은닉 모듈(62)에 전달한다. 프레임 손실 은닉 모듈(62)은 플레이아웃 버퍼(50)에서 전달받은 프레임과 프레임 손실이 발생하기 전에 전달받은 프레임을 비교하여 손실된 프레임과 가장 가까운 프레임을 선택한다. 그리고 선택된 프레임 데이터를 이용하여 손실된 프레임 데이터를 복원한다. CELP 계열의 음성 부호화기의 경우에는 손실된 프레임의 LSP, 피치 정보, 고정 코드북 정보를 복원하는데, 이 때, 손실된 프레임을 복원하기 위해 선택된 프레임 이외의 프레임을 이용하여 파라미터를 예측시 제약조건으로 사용가능하다.
표 1은 종래 도 1 및 도 2에 따른 프레임 손실 은닉 방법과 본 발명의 실시예에 따른 프레임 손실 은닉 방법에 따른 음질의 지각 평가를 나타낸다. 여기서, 도 1에 따른 반복에 기초한 프레임 손실 은닉 방법을 F-PLC라고 하고, 도 2에 따른 선형 인터폴레이션에 기초한 프레임 손실 은닉 방법을 MI-PLC라고 하며, 본 발명의 실시예에 따른 프레임 손실 은닉 방법을 FB-PLC라고 한다.
패킷사이즈 PLC Type 프레임 손실율(%)
1 3 5 7 10 15
10 F-PLC 3.67 3.38 3.24 3.09 2.91 2.72
MI-PLC 3.69 3.46 3.32 3.20 3.04 2.84
FB-PLC 3.71 3.50 3.39 3.28 3.13 2.92
20 F-PLC 3.62 3.27 3.09 2.93 2.70 2.52
MI-PLC 3.65 3.35 3.17 3.03 2.81 2.63
FB-PLC 3.68 3.42 3.30 3.16 3.02 2.78
30 F-PLC 3.62 3.30 2.99 2.81 2.60 2.32
MI-PLC 3.65 3.42 3.13 2.97 2.80 2.52
FB-PLC 3.70 3.47 3.21 3.09 2.93 2.74
그리고 표 2는 표 1에서 프레임 손실율 5%인 경우, MI-PLC와 FB-PLC와의 Preference 테스트 결과를 나타낸다.
Speaker Preference Score(%)
MI-PLC FB-PLC
여성 33.33 66.67
남성 30.56 69.44
표 1 및 표 2를 보면, 본 발명의 실시예에 따른 프레임 손실 은닉 방법이 종래의 프레임 손실 은닉 방법에서보다 효과적임을 알 수 있다.
또한, 상술한 바와 같이 본 발명에 따른 손실된 음성신호 복원 방법은 프로그램으로 구현되는 프로그램을 기록한 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상의 실시예들은 본원 발명을 설명하기 위한 것으로, 본원 발명의 범위는 실시예들에 한정되지 아니하며, 첨부된 청구 범위에 의거하여 정의되는 본원 발명의 범주 내에서 당업자들에 의하여 변형 또는 수정될 수 있다.
본 발명에 의하면, 손실된 프레임 이전의 올바른 프레임 데이터와 플레이아웃 버퍼에 저장되어 있는 손실된 프레임 이후의 프레임 데이터 중 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 손실된 프레임 데이터를 복원한다. 이와 같이 하면 이웃한 프레임의 음성신호 사이에 존재하는 상관관계로 인해 손실된 프레임의 음성신호를 보다 효율적이고 보다 정확하게 복원할 수 있고, 종래 반복에 기초한 프레임 손실 은닉 방법 내지 선형 인터폴레이션에 기초한 프레임 손실 은닉 방법에 비해 계산량의 증가 없이 전송 오류가 있는 패킷망에서 음성통화의 품질향상에 기여할 수 있다.
도 1은 종래 G.729에서 사용하고 있는 반복에 기초한 프레임 손실 은닉 방법을 나타낸 도면이다.
도 2는 종래 VoIP 시스템의 특성에 기반을 두어 제안된 프레임 손실 은닉 방법을 나타낸 도면이다.
도 3은 본 발명을 설명하기 위해 패킷 망을 통해 음성신호를 전달하는 과정을 보여주는 음성신호 송수신 장치의 구성블록도이다.
도 4는 본 발명의 실시 예에 따른 VoIP 시스템을 위한 프레임 손실 은닉 장치의 구성도이다.
도 5는 본 발명의 실시 예에 따른 VoIP 시스템을 위한 프레임 손실 은닉 장치의 동작 과정을 나타낸 흐름도이다.
도 6은 본 발명의 실시 예에 따른 VoIP 시스템을 위한 프레임 손실 은닉 방법을 도시한 개념도이다.

Claims (6)

  1. 송신장치로부터 송신한 음성 신호의 패킷 데이터의 손실에 따른 음성신호를 복원하기 위한 프레임 손실 은닉 방법에 있어서,
    a) 상기 손실된 프레임을 검출하는 단계;
    b) 상기 a)단계에서 프레임 손실이 검출된 경우, 상기 손실된 프레임 이전에 수신된 올바른 프레임과 플레이아웃 버퍼에 있는 프레임 중 상기 손실된 프레임에 가장 인접한 프레임을 결정하는 단계; 및
    c) 상기 결정된 프레임의 데이터를 이용하여 상기 손실된 프레임의 데이터를 예측하여 음성신호를 복원하는 단계
    를 포함하는 VoIP 시스템을 위한 프레임 손실 은닉 방법.
  2. 제 1항에 있어서,
    상기 이전 손실없이 수신된 프레임 데이터를 이용하여 손실된 프레임 데이터를 예측할 경우, 상기 플레이아웃 버퍼에 있는 프레임 데이터를 이용하여 파라미터 예측시 제약조건으로 사용하는 것을 특징으로 하는 VoIP 시스템을 위한 프레임 손실 은닉 방법.
  3. 제 1항에 있어서,
    상기 플레이아웃 버퍼에 있는 프레임 데이터를 이용하여 손실된 프레임 데이터를 복원할 경우, 상기 손실된 프레임 데이터의 시작을 상기 이전에 손실없이 수신된 프레임 데이터를 이용하여 파라미터 예측시 제약조건으로 사용하는 것을 특징으로 하는 VoIP 시스템을 위한 프레임 손실 은닉 방법.
  4. 제 1항에 있어서,
    상기 손실된 프레임이 연속적으로 발생하였을 경우, 손실된 프레임 각각은 상기 손실된 프레임 이전에 수신된 올바른 프레임 데이터와 상기 플레이아웃 버퍼에 있는 프레임 데이터 중 상기 손실된 프레임과 가장 인접한 프레임 데이터를 이용하여 연속적으로 손실된 프레임 데이터를 순차적으로 복원하는 것을 특징으로 하는 VoIP 시스템을 위한 프레임 손실 은닉 방법.
  5. 송신장치로부터 송신한 음성 신호의 패킷 데이터의 손실에 따른 음성신호를 복원하기 위한 프레임 손실 은닉 장치에 있어서,
    프레임 데이터를 저장하여 정해진 시간마다 프레임 데이터를 복호화기에 전달하고 프레임 손실이 발생하였을 경우, 손실된 프레임과 가장 인접한 프레임 데이터 및 상기 시간 정보를 전달하는 플레이아웃 버퍼;
    상기 플레이아웃 버퍼로부터 전달된 프레임 데이터 중 올바른 프레임 데이터와 손실된 프레임 데이터에 따라 다르게 음성신호를 복원하고, 손실된 프레임 데이터를 복원하는 경우, 상기 손실된 프레임 이전에 손실없이 전달된 프레임 데이터와 상기 플레이아웃 버퍼로부터 전달된 프레임 데이터 중에서 상기 손실된 프레임에 가장 인접한 프레임 데이터를 이용하여 손실된 프레임 데이터를 예측하는 복호화기; 및
    상기 플레이아웃 버퍼와 상기 복호화기 사이에, 상기 올바른 프레임과 손실된 프레임에 기초하여 스위칭하도록 지시하는 BFI(Bad Frame Indicator)
    를 포함하는 VoIP 시스템을 위한 프레임 손실 은닉 장치.
  6. 제 6항에 있어서, 상기 복호화기는,
    올바른 프레임 데이터를 복원하는 디코딩 모듈; 및
    상기 플레이 아웃버퍼로부터 손실된 프레임과 가장 인접한 프레임 데이터를 전달 받고, 상기 손실된 프레임 이전에 손실 없이 수신된 프레임 데이터를 상기 디코딩 모듈로부터 전달받아 손실된 프레임과 가장 인접한 프레임을 선택하여 손실된 프레임 데이터를 예측하여 음성신호를 복원하는 프레임 손실 은닉 모듈
    을 포함하는 VoIP 시스템을 위한 프레임 손실 은닉 장치.
KR1020030097769A 2003-09-01 2003-12-26 VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치 KR100591544B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030097769A KR100591544B1 (ko) 2003-12-26 2003-12-26 VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치
US10/932,397 US20050049853A1 (en) 2003-09-01 2004-09-01 Frame loss concealment method and device for VoIP system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030097769A KR100591544B1 (ko) 2003-12-26 2003-12-26 VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20050066477A true KR20050066477A (ko) 2005-06-30
KR100591544B1 KR100591544B1 (ko) 2006-06-19

Family

ID=37257552

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030097769A KR100591544B1 (ko) 2003-09-01 2003-12-26 VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100591544B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100723409B1 (ko) * 2005-07-27 2007-05-30 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
KR100792209B1 (ko) * 2005-12-07 2008-01-08 한국전자통신연구원 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
KR100934528B1 (ko) * 2007-05-18 2009-12-29 광주과학기술원 프레임 손실 은닉 방법 및 장치
KR20150104410A (ko) * 2014-03-05 2015-09-15 아주대학교산학협력단 서비스 품질을 고려한 적응적 음성 패킷 재전송 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652004B1 (ko) * 1999-03-03 2006-11-30 엘지전자 주식회사 오디오 데이터의 에러 정정 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100723409B1 (ko) * 2005-07-27 2007-05-30 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
KR100792209B1 (ko) * 2005-12-07 2008-01-08 한국전자통신연구원 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
US8520536B2 (en) 2006-04-25 2013-08-27 Samsung Electronics Co., Ltd. Apparatus and method for recovering voice packet
KR100934528B1 (ko) * 2007-05-18 2009-12-29 광주과학기술원 프레임 손실 은닉 방법 및 장치
KR20150104410A (ko) * 2014-03-05 2015-09-15 아주대학교산학협력단 서비스 품질을 고려한 적응적 음성 패킷 재전송 방법 및 장치

Also Published As

Publication number Publication date
KR100591544B1 (ko) 2006-06-19

Similar Documents

Publication Publication Date Title
AU2006252972B2 (en) Robust decoder
KR101290425B1 (ko) 소거된 스피치 프레임을 복원하는 시스템 및 방법
US8340973B2 (en) Data embedding device and data extraction device
JP4473869B2 (ja) 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム
US7577565B2 (en) Adaptive voice playout in VOP
EP2026330B1 (en) Device and method for lost frame concealment
US20100125455A1 (en) Audio encoding and decoding with intra frames and adaptive forward error correction
JP4263412B2 (ja) 音声符号変換方法
US20110040557A1 (en) Transmitter and receiver for speech coding and decoding by using additional bit allocation method
JP3566931B2 (ja) 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体
JP2002162998A (ja) パケット修復処理を伴なう音声符号化方法
JP3722366B2 (ja) パケット構成方法及び装置、パケット構成プログラム、並びにパケット分解方法及び装置、パケット分解プログラム
KR100591544B1 (ko) VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치
JPH07334191A (ja) パケット音声復号方法
KR100542435B1 (ko) 패킷 망에서의 프레임 손실 은닉 방법 및 장치
JP4758687B2 (ja) 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体
KR100462024B1 (ko) 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기
Montminy et al. Improving the performance of ITU-T G. 729A for VoIP
JPH09116571A (ja) 音声パケット伝送システム
KR100594599B1 (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
Tosun et al. Dynamically adding redundancy for improved error concealment in packet voice coding
JPH0588697A (ja) 欠落音声補間方式
EP1387351A1 (en) Speech encoding device and method having TFO (Tandem Free Operation) function
JPH0263333A (ja) 音声符号化・復号化装置
Bhute et al. Error concealment schemes for speech packet transmission over IP network

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130527

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee