KR20050024651A - 패킷 망에서의 프레임 손실 은닉 방법 및 장치 - Google Patents

패킷 망에서의 프레임 손실 은닉 방법 및 장치 Download PDF

Info

Publication number
KR20050024651A
KR20050024651A KR1020030060724A KR20030060724A KR20050024651A KR 20050024651 A KR20050024651 A KR 20050024651A KR 1020030060724 A KR1020030060724 A KR 1020030060724A KR 20030060724 A KR20030060724 A KR 20030060724A KR 20050024651 A KR20050024651 A KR 20050024651A
Authority
KR
South Korea
Prior art keywords
frame
lost
data
loss concealment
frame data
Prior art date
Application number
KR1020030060724A
Other languages
English (en)
Other versions
KR100542435B1 (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 KR1020030060724A priority Critical patent/KR100542435B1/ko
Priority to US10/932,397 priority patent/US20050049853A1/en
Publication of KR20050024651A publication Critical patent/KR20050024651A/ko
Application granted granted Critical
Publication of KR100542435B1 publication Critical patent/KR100542435B1/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
    • 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/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

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

Abstract

본 발명은 패킷 망을 통하여 음성 데이터를 전송할 경우 발생될 수 있는 패킷 손실로 인해 발생되는 음성 신호의 음질 저하를 줄이기 위한 프레임 손실 은닉 방법 및 장치에 관한 것이다. 특히, 본 발명인 프레임 손실 은닉 방법은 손실된 프레임의 음성신호를 복원하기 위해 플레이아웃 버퍼에 저장되어 있는 프레임 데이터와 시간 정보를 디코더의 프레임 손실 은닉 모듈로 전달한다. 프레임 손실 은닉 모듈에서는 이전 프레임 데이터 디코딩 시 메모리에 저장되어 있던 파라미터와 플레이아웃 버퍼로부터 전달받은 이후 프레임 데이터를 이용하여 손실된 프레임의 음성신호를 효과적으로 복원한다.
본 발명에 의하면, 계산량 증가 없이 패킷 손실 환경에서 음성 부호화기 음질 향상에 기여할 수 있는 효과가 있다.

Description

패킷 망에서의 프레임 손실 은닉 방법 및 장치{METHOD AND APPARATUS FOR FRAME LOSS CONCEALMENT FOR PACKET NETWORK}
본 발명은 패킷 망에서 프레임 손실 은닉 방법 및 장치에 관한 것으로, 특히 손실이 발생한 프레임의 음성신호를 복원할 때 이전 프레임의 데이터뿐만 아니라 플레이아웃 버퍼에 저장되어 있는 이후 프레임 데이터를 이용하여 손실된 음성신호를 복원하는 프레임 손실 은닉 방법 및 장치에 관한 것이다.
최근 들어, 인터넷의 폭발적인 성장과 통신 서비스 간의 경계가 약화되면서 데이터 전송을 위해 고안된 IP(Internet Protocol) 네트워크를 통해 음성신호를 전송하려는 시도가 많이 이루어지고 있다. 이러한 기술을 VoIP(Voice over IP) 또는 인터넷 전화(IP telephony)라고 한다.
패킷 망을 통해 음성신호를 전송할 경우에는 일반적으로 송신 단에서 음성 신호를 음성부호화기로 압축하여 패킷 단위로 전송하고, 수신 단에서는 상기 송신 단으로부터 전송된 패킷 데이터를 이용하여 다시 원래의 음성신호를 재생한다.
패킷 망을 통해 전송할 경우 패킷이 정해진 하나의 경로를 통해 전송되는 것이 아니라 각 패킷이 서로 다른 경로를 통해 전달될 수 있기 때문에 패킷을 전달하는데 소요되는 시간이 일정하지 않다. 따라서 네트웍 부하로 인해 패킷이 손실되거나, 정해진 시간 내에 패킷이 수신되지 않거나 또는 송신한 순서가 바뀌어 수신되는 경우가 발생한다.
실시간 동작이 필요하지 않는 경우라면 손실된 패킷에 대해 재전송을 요청하고, 수신 단에서 버퍼를 크게 함으로써 신뢰성 있게 모든 패킷을 수신할 수 있다. 그러나 음성 통화와 같이 실시간 동작이 필요한 경우에는 재전송을 요청할 수 없기 때문에 다양한 원인에 의한 패킷 손실로 음질 저하가 발생한다. 패킷 손실은 음질에 직접적인 영향을 주는 커다란 원인이 된다.
이러한 점을 보완하기 위하여 일반적으로 지터(Jitter) 혹은 플레이아웃 버퍼를 사용하고 있다. 즉, 프레임 데이터가 수신되는 대로 바로 디코딩하여 음성신호를 출력하는 것이 아니라, 일종의 완충역할을 할 수 있는 버퍼를 두어 버퍼에 데이터가 모두 차면 그때부터 프레임 데이터를 디코더에 전달한다. 따라서 상기 플레이아웃 버퍼의 사이즈를 크게 하면 패킷 손실로 인한 음질 저하를 줄일 수 있지만, 플레이아웃 버퍼의 사이즈가 커지게 되면 전체적인 지연이 커지게 되어 에코가 발생할 뿐만 아니라 자연스러운 대화가 어려워진다는 문제점이 있다.
일반적으로 부호화기는 음성 신호를 적은 비트 스트림으로 압축하는 인코더와 압축된 데이터를 이용해서 다시 음성신호를 재생하는 디코더로 구성된다.
디지털 통신망에서 사용되기 위해 개발된 대부분의 디코더에는 손실된 프레임 데이터로 인한 음성 신호의 음질 저하를 줄이기 위해 프레임 손실 은닉 모듈을 내장하고 있다. 즉, 프레임 데이터가 정상적으로 수신되었을 경우에 동작하는 모듈을 디코딩 모듈이라 하면, 손실된 프레임 데이터로 인한 음질 저하를 줄이기 위한 모듈을 프레임 손실 은닉 모듈이라 한다. 상기 프레임 손실 은닉 모듈에서는 손실된 프레임의 데이터를 복원하기 위해 이전 프레임 데이터들을 이용한다.
도 1은 종래 손실된 프레임 데이터를 복원하기 위한 방법을 도시한 블록도이다. 종래의 디코더(10)에서는 프레임 손실이 발생하면, 프레임 손실 은닉 모듈(11)에서 이전 프레임 데이터를 디코딩하고, 디코딩 모듈(12)의 메모리에 저장되어 있는 이전 프레임의 파라미터 값들을 이용하여 손실된 프레임의 데이터를 만든 후에 음성신호를 복원한다. 도 1에서는 N 번째 프레임이 데이터가 손실되었다고 가정하고, N 번째 시간에 해당하는 프레임 데이터를 F(N)이라고 표기하기로 한다.
도 1에서 도시된 바와 같이 N 번째 프레임 데이터가 손실되었다고 가정하였기 때문에 플레이아웃 버퍼에 N 번째 프레임 데이터인 F(N)이 존재하지 않는다.
BFI(Bad Frame Indicator)는 프레임 데이터가 손실되었는지의 여부를 나타내는 플래그이다. 예를 들어, 프레임 손실이 발생하였다면 BFI는 1이 되고, 스위치(9)는 프레임 손실 은닉 모듈(11)에 연결되고 플레이아웃 버퍼로부터 어떠한 데이터도 전송되지 않는다. 반면, 프레임 손실이 발생하지 않았다면 BFI는 0이 되고 스위치(9)는 디코딩 모듈(12)에 연결되고 프레임 데이터가 디코딩 모듈로 전송된다.
도 1에서 N-1번째 시간(1)에 F(N-1)(5)이 플레이아웃 버퍼에 존재하므로 BFI는 0이 되고 F(N-1)은 디코딩 모듈(12)에 전송되어 음성신호를 재생하게 된다. N번째 시간(2)에서는 플레이아웃 버퍼에 F(N)이 존재하지 않는다. 따라서, BFI는 1이 되고 스위치(9)는 프레임 손실 은닉 모듈(11)에 연결되며, 상기 프레임 손실 은닉 모듈(11)에는 어떤 데이터도 입력되지 않는다. 따라서, 프레임 손실 은닉 모듈(11)에서는 디코딩 모듈(12)에서 F(N-1)(5) 등 지난 프레임 데이터를 디코딩하면서 메모리에 저장되어 있던 파라미터 값들을 이용하여 손실된 프레임 데이터를 복원한다.
상기와 같이 손실된 프레임 데이터를 복원하여 음성신호를 재생한다. N+1 번째 시간(3)에서는 플레이아웃 버퍼에 F(N+1) 이 존재하므로 BFI는 0이 되고 스위치(9)는 디코딩 모듈(12)로 연결되어 F(N+1)은 디코딩 모듈(12)에 전송되어 음성신호를 재생하게 된다. N+2 번째 시간(4), N+3 번째 시간 등에 해당하는 프레임이 손실되지 않았다면, N+1 번째 시간(3)에서와 동일한 방법으로 플레이아웃 버퍼에 존재하는 F(N+2)(7), F(N+3)(8)을 디코딩 모듈(12)에 전송하여 음성신호를 재생한다.
음성신호는 시간에 따라 그 특성이 느리게 변한다는 특성을 가지고 있다. 따라서, 상기 도 1에서 도시된 방법은 이러한 특성을 이용하여 이웃한 프레임 간에는 상관관계가 존재한다는 특성을 바탕으로 이전 프레임 데이터를 이용하여 손실된 현재 프레임 데이터를 복원한 것이다.
음성신호의 상관관계를 보면, 바로 이웃한 프레임과의 상관관계는 90%가 넘는 것으로 알려져 있다.따라서, 손실된 프레임의 음성신호를 복원하기 위해 이전 프레임의 데이터만을 이용하는 것보다는 가능하다면 손실된 프레임의 주변 프레임 데이터를 모두 이용한다면 손실된 프레임의 데이터를 좀더 효과적으로 복원할 수 있다.
최근에 Nokia에서는 프레임 데이터가 정해진 시간 내에 수신되지 않은 경우에는 일단 손실된 프레임 신호는 기존의 프레임 손실 은닉 방법과 동일하게 이전에 수신된 프레임 데이터를 이용하여 복원하고 그 이후에 프레임 데이터가 오류없이 수신되면 늦게 도착한 프레임 데이터를 그대로 버리는 기존의 방식과는 달리 디코더의 내부 메모리를 업데이트함으로써 음질을 향상시키는 방법을 제안하였다. 예를 들면, N 번째 프레임을 손실로 처리하여 프레임 손실 은닉 알고리즘으로 음성신호를 복원 한 후에 N 번재 프레임 데이터가 수신되었다고 가정한다. 이 경우, 비록 N 번째 프레임 데이터를 프레임 손실 은닉 알고리즘을 이용하여 음성신호를 재생하였지만, N-1 번째 프레임을 디코딩하기 전에 N 번째 프레임 데이터를 이용하여 디코더의 내부 메모리를 업데이트한다. 이렇게 함으로써 손실된 프레임에 의한 오류가 다음 프레임으로 전파되는 것을 막는다.
일본에서 제안(US 6,085,158)한 방법에서는 N-1 번째 프레임과 N+1 번째 프레임 데이터는 손실없이 수신되고, N 번째 프레임에서 손실이 발생하였다면, N 번째 프레임은 종래의 프레임 손실 은닉 방법을 사용하여 복원한 후에, N+1 번째 프레임을 처리하기 전에 N-1 번째 프레임과 N+1 번째 프레임 데이터를 이용하여 먼저 디코더의 내부 메모리를 업데이트 한 후에 N+1 번째 프레임을 처리한다. 이 방법들은 손실된 프레임에 대해서는 기존 방식을 그대로 사용하기 때문에 손실된 프레임에 대한 음성 신호의 음질 저하를 극복시킬 수 없으며, 손실된 프레임 바로 다음 프레임에서는 디코더의 내부 메모리 업데이트를 위해 계산량이 증가한다는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하고자 하는 것으로,
본 발명의 목적은 손실된 프레임의 음성신호를 복원하기 위해 손실된 프레임 이전 프레임 데이터 뿐만 아니라 이미 플레이아웃 버퍼에 저장되어 있는 프레임 데이터를 사용하여 보다 정확하게 손실된 프레임의 음성신호를 복원할 수 있는 패킷망에서의 프레임 손실 은닉 방법 및 장치를 제공하고자 하는 데 있다.
상기의 목적을 달성하기 위하여,
본 발명의 하나에 특징에 따른 패킷망에서 프레임 손실 은닉 방법은,
a) 수신된 음성 패킷으로부터 패킷 손실을 검출하는 단계;
b) 상기 a)단계에서 손실이 검출된 경우, 상기 손실된 프레임 이후 프레임 데이터와 시간 정보를 전송하는 단계; 및
c) 상기 손실된 프레임의 이전 프레임 데이터 및 상기 상기 b)단계에서 전송된 상기 손실된 프레임 이후 프레임 데이터를 이용하여 상기 손실된 프레임의 데이터를 복원하는 단계를 포함한다.
또한, 본 발명의 다른 하나의 특징에 따른 패킷망에서 프레임 손실 은닉 장치는,
송신장치로부터 송신된 음성신호의 패킷 데이터가 변환된 프레임 단위의 데이터를 저장하고, 정해진 시간마다 프레임 데이터와 손실된 프레임이 발생하였을 경우, 손실된 프레임 이후의 프레임 데이터를 전달하는 플레이아웃 버퍼; 및 상기 플레이아웃 버퍼로부터 전달된 프레임 데이터를 이용하여 그 프레임의 음성 특성에 맞게 분리하여 손실된 프레임의 신호를 복원하는 디코더를 포함한다.
상기 디코더는
손실되지 않은 프레임의 음성신호를 복원하는 디코딩 모듈; 및 상기 손실된 프레임의 음성신호를 복원하는 프레임 손실 은닉 모듈을 포함한다.
또한, 손실된 음성신호 복원 장치는 손실되지 않은 프레임은 상기 디코딩 모듈로 스위칭하고, 상기 손실된 프레임은 상기 프레임 손실 은닉 모듈로 스위칭하도록 지시하는 BFI를 더 포함한다.
상기 프레임 손실 은닉 모듈은 상기 디코딩 모듈에 저장되어있는 손실된 프레임 이전 프레임 데이터와 상기 손실된 프레임 이후의 적어도 하나 이상의 프레임 데이터를 이용하여 상기 손실된 프레임을 복원하는 것을 특징으로 한다.
이하, 첨부된 도면들을 참조하여 본 발명을 상세하게 설명하기로 한다.
도 2는 본 발명을 설명하기 위한 패킷망을 통한 음성신호의 전달을 나타낸 음성신호 송수신 장치의 구성블록도이다.
도 2에서 도시된 바와 같이 음성신호 송수신 장치에서 음성신호 송신부는 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)는 변환된 프레임 단위의 음성 데이터를 저장하고, 정해진 시간마다 디코더(60)에 프레임 데이터를 전송한다.
디코더(60)는 압축 부호화된 음성 데이터를 원래의 음성신호로 복원한다.
D/A 변환기(70)는 음성신호로 복원된 디지털 음성 데이터를 아날로그 신호로 변환한다. 변환된 아날로그 음성신호는 스피커를 통해 출력된다.
음성신호 송신 장치는 PCM 부호화기를 제외한 대부분의 부호화기들이 프레임 단위로 동작한다. 프레임 단위로 음성신호를 압축하여 데이터를 출력하고, 한 프레임 데이터를 한 패킷으로 패킹하거나 또는 두 프레임, 세 프레임 데이터를 하나의 패킷으로 패킹하여 패킷 망을 통해 전송한다.
먼저 패킷이 수신되면, 패킷 데이터를 시간 순서에 맞게 정렬하고, 언패킹하여 프레임 데이터로 변환하여 플레이아웃 버퍼에 저장한다. 플레이아웃 버퍼의 사이즈는 전송 지연의 크기에 따라 변할 수도 있고, 고정된 사이즈를 가질 수도 있으며, 정해진 시간마다 프레임 데이터를 디코더(60)에 전달한다. 상기 프레임 데이터를 이용하여 디지털 음성신호를 재생하고, D/A 변환기를 통해 아날로그 신호로 변환하여 출력한다.
패킷 망을 통해 음성 패킷을 전송할 경우, 네터웍 부하로 인해 패킷이 손실되거나 각 패킷을 전송하는데 소요되는 시간이 일정치 않기 때문에 정해진 시간에 수신되지 않은 패킷은 일반적으로 손실로 처리한다. 이로 인해서 음질의 저하가 발생하는데, 손실된 음성신호를 복원하게 되면 음질 저하를 줄일 수 있다.
도 3은 본 발명의 실시예에 따른 패킷망에서의 프레임 손실 은닉 장치를 도시한 블록도이다.
도 3에서 도시된 바와 같이 본 발명에 따른 프레임 손실 은닉 장치는 플레이아웃 버퍼(50)와 디코더(60)와 BFI(80)를 포함한다.
플레이아웃 버퍼(50)는 고정된 사이즈를 가질 수도 있지만, 네트워크 상황에 따라 버퍼의 크기가 가변될 수도 있다.
본 발명의 실시예에서는 플레이아웃 버퍼(혹은 지터 버퍼라고도 한다.)(50)의 사이즈는 2이고, N번째 시간에서 오류(손실)가 발생하였다고 가정하고, N 번째 시간에 대한 프레임 데이터를 F(N)이라고 표기하기로 한다.
플레이아웃 버퍼(50)는 프레임 단위로 변환된 음성 데이터를 저장하고, 정해진 시간마다 디코더(60)에 프레임 데이터를 전송한다.
디코더(60)는 프레임 손실 은닉 모듈(62)과 디코딩 모듈(64)을 포함한다.
만약, 플레이아웃 버퍼(50)에 N 번째 프레임 데이터인 F(N)이 없고 N+1 번째 시간과 N+2 번째 시간의 프레임 데이터인 F(N+1), F(N+2)만 있을 경우, N+1 번째 프레임 데이터인 F(N+1)을 타임 정보(N+1)와 함께 디코더(60)의 프레임 손실 은닉 모듈(62)에 전달한다. 여기서, 경우에 따라서는 F(N+1) 뿐만 아니라 플레이아웃 버퍼(50)에 있는 F(N+2)도 N 번째 프레임 데이터를 복원하는 데 사용할 수 있다.
즉, 손실된 프레임과 시간적으로 가장 가까운 특정 프레임의 데이터(F(N+1))를 디코더(60)의 프레임 손실 은닉 모듈(62)로 전달할 수도 있지만, 플레이아웃 버퍼(60)내에 있는 N+1 번째 프레임 데이터인 F(N+1)과 N+2 번째 프레임 데이터인 F(N+2)를 모두 디코더(60)의 프레임 손실 은닉 모듈(62)로 전송하여 이들 데이터를 이용하여 손실된 프레임 데이터를 복원할 수도 있다.
프레임 손실 은닉 모듈(62)은 디코딩 모듈(64)에서 N-1 번째 시간의 프레임 신호를 복원하면서 메모리에 저장된 디코딩 모듈(64)의 메모리에 저장된 파라미터와 플레이아웃 버퍼(50)로부터 전달받은 프레임 데이터(F(N+1))를 이용하여 손실된 프레임의 음성신호를 복원한다. 경우에 따라서는 플레이아웃 버퍼(60) 내에 있는 프레임 데이터를 모두 이용하여 손실된 프레임을 복원할 수도 있다.
또한, 본 발명에서는 상기 손실된 프레임 이전 프레임과 손실된 프레임 이후 프레임의 음성 특성을 판별한 후에 판별된 결과에 따라 손실된 프레임 데이터를 복원한다. 예를 들면, 손실된 프레임 이전과 이후 프레임 데이터가 모두 유성음인 경우에는 인터폴레션과 같은 방법을 통해 데이터를 복원하지만, 이전 프레임이 유성음이고 이후 프레임이 무성음이던가 또는 그 반대의 경우에는 인터폴레이션에 가중치를 변화시키거나 두 프레임 데이터 중 하나를 선택하는 인터폴레이션 이외의 방법을 기반으로 손실된 프레임 데이터를 복원한다.
디코딩 모듈(64)은 손실되지 않은 프레임에 대한 데이터를 이용하여 음성신호를 재생한다. 디코딩 모듈(64)에는 플레이아웃 버퍼(50)로부터 전달된 프레임 데이터를 이용하여 음성신호를 재생한다.
BFI(Bad Frame Indicator)(80)는 프레임 데이터가 손실되었는지의 여부를 나타내는 플래그로, 손실되지 아니한 프레임 데이터는 디코딩 모듈(64)에서 음성신호를 복원하도록 하고, 손실된 프레임 데이터는 프레임 손실 은닉 모듈(62)에서 손실된 프레임에 대한 음성신호를 복원하도록 스위칭되도록 지시한다. 예를 들어, 프레임 손실이 발생하였다면 BFI(80)는 1이 되고, 그에 따라 스위치가 프레임 손실 은닉 모듈(62)에 연결되고, 프레임 손실이 발생하지 않았다면 BFI(80)는 0이 되고 그에 따라 스위치가 디코딩 모듈(64)에 연결되어 프레임 데이터가 디코딩 모듈로 전송된다.
BFI(80)는 별도의 독립된 모듈로서 구성될 수도 있으나 플레이아웃 버퍼(50) 또는 디코더(60)에서 BFI를 위한 별도의 모듈이 구비될 수도 있다.
즉, 플레이아웃 버퍼(50)에서는 프레임 단위(···, N-1 번째 시간, N 번째 시간, N+1 번째 시간, N+2 번째 시간,···)의 프레임 데이터를 디코더(60)로 전송하는데, 디코더(60)에 프레임 데이터를 전달해야 하는 시점에서 플레이아웃 버퍼(50)에 해당 프레임 데이터가 없다면, 디코더(60)에 프레임 데이터를 전달하지 않는다. 디코더에서는 정해진 시간 내에 N 번째 프레임 데이터 즉, F(N)이 입력되지 않으면 그 프레임을 검출하여 손실된 프레임으로 간주한다. 이와 같이 플레이아웃 버퍼(50)에서 보내야 할 현재 프레임이 손실 되었을 경우에는 BFI(Bad Frame Indicator)를 셋팅하여 디코더(60)의 프레임 손실 은닉 모듈(62)을 통해 음성신호를 복원하고, 프레임 데이터가 손실없이 수신되었을 경우에는 디코더(60)의 디코딩 모듈(64)을 통해 음성신호를 복원하는 것이다.
본 발명에 따른 디코더의 프레임 손실 은닉 모듈에 의해 손실된 프레임의 데이터를 복원하는 방법을 첨부된 도 4 내지 도 5를 참조하여 상세하게 설명하기로 한다.
도 4는 본 발명의 실시예에 따른 패킷망에서의 프레임 손실 은닉 방법을 도시한 개념도이다.
도 4에서 도시된 바와 같이 N-1 번째 시간(51)에 F(N-1)이 플레이아웃 버퍼(50)에 존재하므로 BFI(80)는 0이 되어 스위치가 디코더(60)의 디코딩 모듈(64)에 연결되어 F(N-1)을 디코딩 모듈(64)에 전송하여 음성신호를 재생한다. 그러나, 플레이아웃 버퍼(50)로부터 디코더(60)로 F(N)을 전달해야 하는 N 번째 시간(52)에서 플레이아웃 버퍼(50)에 N 번째 프레임(52) 데이터인 F(N)이 존재하지 않고, 플레이아웃 버퍼(60)의 사이즈에 한하여 F(N+1)(56), F(N+2)(57), F(N+3)(58)이 존재한다. 따라서, N 번째 시간(52)에서는 F(N)이 존재하지 않기 때문에 BFI(80)는 1이 되어 디코더(60)의 프레임 손실 은닉 모듈(62)에 연결되어 플레이아웃 버퍼(60)는 F(N+1)(56), F(N+2)(57), F(N+3)(58)을 프레임 손실 은닉 모듈(62)로 전달한다.
프레임 손실 은닉 모듈(62)에서는 디코딩 모듈(64)의 메모리에 저장되어 있는 이전 프레임의 파라미터와 플레이아웃 버퍼(50)로부터 전달받은 손실된 프레임 이후 프레임 데이터인 F(N+1)(56), F(N+2)(57), F(N+3)(58)을 이용하여 손실된 프레임의 음성신호를 복원한다.
손실된 프레임의 음성신호를 복원하고, N+1 번째 이후의 시간(53~54)에 F(N+1)(56), F(N+2)(57), F(N+3)(58)이 플레이아웃 버퍼(60)에 존재하므로, BFI(80)는 0이 되어 스위치가 디코딩 모듈(64)에 연결된다. 따라서, F(N+1)(56), F(N+2)(57), F(N+3)(58)을 디코딩 모듈(12)에 전송하여 음성신호를 재생한다.
따라서, 손실된 음성신호를 복원할 때 손실된 프레임의 이전 프레임 데이터와 손실된 프레임의 이후 프레임을 사용함으로써, 보다 효율적이고 보다 정확하게 손실된 프레임의 음성신호를 복원할 수가 있다. 또한, 디코더(60)에서 손실된 프레임을 복원할 때 플레이아웃 버퍼(50)에 있는 프레임 데이터 중에 손실된 프레임과 가장 인접한 하나의 프레임 데이터만을 이용할 수도 있지만, 플레이아웃 버퍼(50)에 저장되어 있는 모든 프레임 데이터를 이용할 수도 있다.
도 5는 본 발명의 다른 실시예에 따른 패킷망에서의 프레임 손실 은닉 방법을 도시한 개념도로서, N 번째 시간(502)부터 N+M-1 번째 시간(503)까지 연속적으로 오류가 발생하였을 경우를 나타낸 것이다. 여기서, 플레이아웃 버퍼(50)는 다수의 프레임 데이터를 저장할 수 있는 사이즈를 가진 것으로 가정하고, 연속적으로 손실된 프레임 데이터를 복원하기 위해 플레이아웃 버퍼(50)에 있는 하나 이상의 프레임 데이터를 이용한다.
도 5에서 도시된 바와 같이 N-1 번째 시간(501)과 N+M 번째 시간(504)에서부터 그 이후 N+M+S 번째 시간(505)까지의 프레임 데이터는 손실없이 수신되고, N 번째 시간(502)에서부터 N+M-1번째 시간(503)까지 프레임 데이터의 손실이 연속적으로 발생하였다. 따라서, 플레이아웃 버퍼(60)에는 F(N-1)(506), F(N+M)(507) 내지 F(N+M+S)(508), F(N+M+S+1)(509), F(N+M+S+2)(510), F(N+M+S+3)(511)이 존재하고, F(N) 내지 F(N+M-1)이 존재하지 않는다.
N-1 번째 시간(501)에 F(N-1)이 플레이아웃 버퍼(50)에 존재하므로 BFI(80)는 0이 되어 스위치가 디코더(60)의 디코딩 모듈(64)에 연결되어 F(N-1)을 디코딩 모듈(64)에 전송하여 음성신호를 재생한다.
그러나, 플레이아웃 버퍼(50)로부터 디코더(60)로 N 번째 프레임(52) 데이터 F(N)을 전달해야 하는 N 번째 시간(52)에서 플레이아웃 버퍼(50)에 F(N)부터 F(N+M-1)이 존재하지 않기 때문에 BFI(80)는 1이 되어 디코더(60)의 프레임 손실 은닉 모듈(62)에 연결되어 플레이아웃 버퍼(60)는 F(N+M)(507) 내지 F(N+M+S)(508), F(N+M+S+1)(509), F(N+M+S+2)(510), F(N+M+S+3)(511)을 프레임 손실 은닉 모듈(62)로 전달한다.
프레임 손실 은닉 모듈(62)에서는 디코딩 모듈(64)의 메모리에 저장되어 있는 이전 프레임의 파라미터와 플레이아웃 버퍼(50)로부터 전달받은 손실된 프레임 이후 프레임 데이터인 F(N+M)(507) 내지 F(N+M+S)(508), F(N+M+S+1)(509), F(N+M+S+2)(510), F(N+M+S+3)(511)을 이용하여 손실된 프레임의 음성신호를 복원한다.
손실된 프레임의 음성신호를 복원하고, N+M 번째부터 N+M+S의 시간(504~505)에 F(N+M)(507) 내지 F(N+M+S)(508)가 플레이아웃 버퍼(60)에 존재하므로, BFI(80)는 0이 되어 스위치가 디코딩 모듈(64)에 연결된다. 따라서, 디코딩 모듈(64)에서 손실되지 않은 프레임의 음성신호를 시간 순서대로 재생한다.
또한, 본 발명에 따른 실시예에서는 디코더(60)에서 프레임 손실이 발생했을 때 손실된 프레임 이전의 프레임 데이터와 손실된 프레임 이후의 프레임 데이터를 이용해서 손실된 프레임의 음성신호를 복원하였지만, 이에 한정되지 아니한다.
CELP(Code Excited Linear Prediction) 형태의 음성부호화기를 예를 들어 설명하면, CELP는 음성의 발성 기구에 근거하고, 인간의 음성은 크게 유성음과 무성음으로 분류할 수 있다. 유성음은 성대의 진동 주기에 대응한 일정한 주기(이하, 피치 주기라고 한다.)를 가지는 반복 파형이 되고, 무성음은 노이즈로 모델화된 파형이 된다. 따라서 유성음을 재생하기 위해서는 일정 주기의 펄스상의 파형을 재현하는 모듈이 필요하고, 무성음을 재생하기 위해서는 노이즈원이 되는 신호를 재현하는 모듈이 필요하다. 이로부터 출력된 신호에 gain을 곱셈한 것을 더해 맞추어 음원 신호를 형성해 LPC 합성 필터를 통해 음성을 합성하게 된다. 따라서, 음원을 구성하는데 필요한 파라미터는 피치 주기와 펄스 음원의 데이터(펄스 위치나 부호), gain을 위한 인덱스가 된다. 또한, LPC 합성 필터의 파라미터에는 그 필터의 계수로서 사용되는 선형 예측 계수가 있는데, 선형 예측 계수는 입력의 음성 신호를 선형 예측 분석하는 것에 의해 구해질 수 있고, 이렇게 구해진 것을 양자화에 적절한 LSP(Line Spectral Pair)로 변환해 벡터 양자화한다. 상기 양자화 인덱스가 디코더로 전송되고, 양자화한 LSP는 다시 선형 예측 계수로 변환되어 LPC 합성 필터용의 계수로서 사용된다.
따라서, 본 발명에서는 CELP(Code Excited Linear Prediction) 형태의 음성부호화기에서도 프레임 손실이 발생하였을 경우, 손실된 프레임 이전 프레임의 LSP 데이터와 손실된 프레임 이후 프레임의 LSP 데이터를 이용하여 손실된 프레임의 LSP를 복원할 수 있다. 또한, CELP 형태의 음성부호화기에서 프레임 손실이 발생하였을 경우, 손실된 프레임의 이전 프레임의 gain 데이터와 손실된 프레임의 이후 프레임의 gain 데이터를 이용하여 손실된 프레임의 gain을 복원할 수 있다. 뿐만 아니라, 프레임 손실이 발생하였을 경우, 손실된 프레임 이전 프레임의 여기신호 데이터와 손실된 프레임 이후에 전송된 가장 최근 프레임의 여기신호 데이터를 이용하여 손실된 프레임의 여기신호를 복원할 수도 있다.
즉, 프레임 손실이 한 프레임 또는 그 이상 연속해서 발생하였을 경우라도 플레이아웃 버퍼에 있는 프레임 데이터를 이용하여 피치와 LPC, Fixed codebook 파라미터를 복원할 수 있다.
상술한 바와 같이 본 발명에 따른 손실된 음성신호 복원 방법은 프로그램으로 구현되는 프로그램을 기록한 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상의 실시예들은 본원 발명을 설명하기 위한 것으로, 본원 발명의 범위는 실시예들에 한정되지 아니하며, 첨부된 청구 범위에 의거하여 정의되는 본원 발명의 범주 내에서 당업자들에 의하여 변형 또는 수정될 수 있다.
본 발명에 의하면, 플레이아웃 버퍼에 있는 손실된 프레임 이후의 프레임 데이터를 디코더로 전달하고, 디코더의 프레임 손실 은닉 모듈에서 손실된 프레임에 대한 신호를 재생하기 위하여 손실된 프레임 이전 파라미터 뿐만 아니라 손실된 프레임 이후의 프레임 데이터를 이용하여 손실된 프레임의 음성신호를 복원함으로써, 손실된 프레임의 음성신호를 보다 효율적이고 보다 정확하게 복원할 수 있으며, 종래의 방법에 비해 계산량의 증가 없이 전송 오류가 있는 패킷망에서 음성통화의 품질향상에 기여할 수 있다.
도 1은 종래 손실된 프레임 데이터를 복원하기 위한 방법을 도시한 블록도이고,
도 2는 본 발명을 설명하기 위한 패킷 망을 통한 음성신호의 전달을 나타낸 음성신호 송수신 장치의 구성블록도이고,
도 3은 본 발명의 실시 예에 따른 패킷 망에서의 프레임 손실 은닉 장치를 도시한 블록도이고,
도 4는 본 발명의 실시 예에 따른 패킷 망에서의 프레임 손실 은닉 방법을 도시한 개념도이고,
도 5는 본 발명의 다른 실시 예에 따른 패킷 망에서의 프레임 손실 은닉 방법을 도시한 개념도이다.

Claims (10)

  1. 송신장치로부터 송신된 음성신호의 패킷 데이터를 프레임 단위로 변환된 데이터 중에서 손실된 프레임을 복원하는 프레임 손실 은닉 방법에 있어서,
    a) 상기 손실된 프레임을 검출하는 단계;
    b) 상기 a)단계에서 프레임 손실이 검출된 경우, 상기 손실된 프레임 이후 프레임 데이터를 전송하는 단계; 및
    c) 상기 손실된 프레임의 이전 프레임 데이터 및 상기 b)단계에서 전송된 프레임 데이터를 이용하여 상기 손실된 프레임의 데이터를 복원하는 단계
    를 포함하는 패킷망에서의 프레임 손실 은닉 방법.
  2. 제 1항에 있어서,
    상기 b)단계에서 손실된 프레임의 이후 프레임 데이터는, 상기 손실된 프레임이 다수개로 연속된 경우, 상기 손실된 프레임 이후 프레임 데이터 중 시간상 가장 앞선 프레임 데이터인 것을 특징으로 하는 패킷망에서의 프레임 손실 은닉 방법.
  3. 제 1항 또는 제 2항에있어서,
    상기 손실된 프레임의 이후 프레임 데이터는 상기 손실된 프레임 이후 프레임 데이터 중 적어도 하나 이상의 프레임 데이터인 것을 특징으로 하는 패킷망에서의 프레임 손실 은닉 방법.
  4. 제 1항에 있어서,
    상기 c)단계는 상기 손실된 프레임의 이전과 이후 프레임의 특성에 맞게 적용되는 것을 특징으로 하는 패킷망에서의 프레임 손실 은닉 방법.
  5. 제 4항에 있어서,
    상기 c)단계는 상기 손실된 프레임의 이전과 이후 프레임을 유성음과 무성음으로 분리하여 적용하는 것을 특징으로 하는 패킷망에서의 프레임 손실 은닉 방법.
  6. 송신장치로부터 송신된 음성신호의 패킷 데이터가 프레임 단위로 변환된 데이터 중에서 손실된 음성신호의 프레임을 복원하는 프레임 손실 은닉 장치에 있어서,
    상기 변환된 프레임 데이터를 저장하고, 정해진 시간마다 프레임 데이터를 전송하고, 프레임이 손실되었을 경우 손실된 프레임 이후의 프레임 데이터를 전달하는 플레이아웃 버퍼; 및
    상기 플레이아웃 버퍼로부터 전달된 프레임 데이터를 이용하여 그 프레임의 음성 특성에 맞게 분리하여 손실된 프레임의 신호를 복원하는 디코더
    를 포함하는 패킷망에서의 프레임 손실 은닉 장치.
  7. 제 6항에 있어서,
    상기 디코더는
    손실되지 않은 프레임의 음성신호를 복원하는 디코딩 모듈; 및
    상기 손실된 프레임의 음성신호를 복원하는 프레임 손실 은닉 모듈
    을 포함하는 패킷망에서의 프레임 손실 은닉 장치.
  8. 제 7항에 있어서,
    상기 플레이아웃 버퍼와 상기 디코더 사이에,
    상기 손실되지 않은 프레임은 상기 디코더의 디코딩 모듈로 스위칭하고, 상기 손실된 프레임은 상기 디코더의 프레임 손실 은닉 모듈로 스위칭하도록 지시하는 BFI(Bad Frame Indicator)
    를 포함하는 패킷망에서의 프레임 손실 은닉 장치.
  9. 제 6항에 있어서,
    상기 플레이아웃 버퍼는 상기 손실된 프레임 이후의 프레임 데이터와 동시에 시간 정보를 상기 디코더로 전달하는 것을 특징으로 하는 패킷망에서의 프레임 손실 은닉 장치.
  10. 제 7항에 있어서,
    상기 프레임 손실 은닉 모듈은
    상기 디코딩 모듈에 저장되어 있는 손실된 프레임 이전 프레임 데이터와 상기 플레이아웃 버퍼에 저장되어 있는 손실된 프레임 이후의 적어도 하나 이상의 프레임 데이터를 이용하여 상기 손실된 프레임을 복원하는 것
    을 특징으로 하는 패킷망에서의 프레임 손실 은닉 장치.
KR1020030060724A 2003-09-01 2003-09-01 패킷 망에서의 프레임 손실 은닉 방법 및 장치 KR100542435B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030060724A KR100542435B1 (ko) 2003-09-01 2003-09-01 패킷 망에서의 프레임 손실 은닉 방법 및 장치
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
KR1020030060724A KR100542435B1 (ko) 2003-09-01 2003-09-01 패킷 망에서의 프레임 손실 은닉 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20050024651A true KR20050024651A (ko) 2005-03-11
KR100542435B1 KR100542435B1 (ko) 2006-01-11

Family

ID=37231743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030060724A KR100542435B1 (ko) 2003-09-01 2003-09-01 패킷 망에서의 프레임 손실 은닉 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100542435B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100622133B1 (ko) * 2005-09-09 2006-09-11 한국전자통신연구원 VoIP 환경에서의 프레임 손실 복원 방법
KR100723409B1 (ko) * 2005-07-27 2007-05-30 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
KR100792209B1 (ko) * 2005-12-07 2008-01-08 한국전자통신연구원 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
KR100911771B1 (ko) * 2007-11-23 2009-08-10 한국과학기술정보연구원 음성통신의 패킷 손실을 은닉하는 단말장치 및 방법
CN109496333A (zh) * 2017-06-26 2019-03-19 华为技术有限公司 一种丢帧补偿方法及设备

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 삼성전자주식회사 프레임 소거 은닉장치 및 방법, 및 이를 이용한 음성복호화 방법 및 장치
KR100622133B1 (ko) * 2005-09-09 2006-09-11 한국전자통신연구원 VoIP 환경에서의 프레임 손실 복원 방법
KR100792209B1 (ko) * 2005-12-07 2008-01-08 한국전자통신연구원 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
KR100911771B1 (ko) * 2007-11-23 2009-08-10 한국과학기술정보연구원 음성통신의 패킷 손실을 은닉하는 단말장치 및 방법
CN109496333A (zh) * 2017-06-26 2019-03-19 华为技术有限公司 一种丢帧补偿方法及设备

Also Published As

Publication number Publication date
KR100542435B1 (ko) 2006-01-11

Similar Documents

Publication Publication Date Title
KR101265874B1 (ko) 로버스트 디코더
US8340973B2 (en) Data embedding device and data extraction device
JP4473869B2 (ja) 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム
KR102459376B1 (ko) 음성 부호화 장치, 음성 부호화 방법, 음성 부호화 프로그램, 음성 복호 장치, 음성 복호 방법 및 음성 복호 프로그램
US8055499B2 (en) Transmitter and receiver for speech coding and decoding by using additional bit allocation method
US7302385B2 (en) Speech restoration system and method for concealing packet losses
JP3566931B2 (ja) 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体
JP3722366B2 (ja) パケット構成方法及び装置、パケット構成プログラム、並びにパケット分解方法及び装置、パケット分解プログラム
CA2293165A1 (en) Method for transmitting data in wireless speech channels
KR100542435B1 (ko) 패킷 망에서의 프레임 손실 은닉 방법 및 장치
KR100462024B1 (ko) 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기
KR100591544B1 (ko) VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치
KR100594599B1 (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
JP3487158B2 (ja) 音声符号化伝送システム
JP4597360B2 (ja) 音声復号装置及び音声復号方法
Tosun et al. Dynamically adding redundancy for improved error concealment in packet voice coding
EP1387351A1 (en) Speech encoding device and method having TFO (Tandem Free Operation) function
JPH0588697A (ja) 欠落音声補間方式
JPH0263333A (ja) 音声符号化・復号化装置
KR20050027272A (ko) 스피치 프레임들의 에러 경감을 위한 스피치 통신 유닛 및방법

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee