Speech Utilities

Packet Loss Concealment

Packet loss concealment (PLC)는 VoIP(Voice over IP) 통신에서 패킷 손실에 의한 음질 저하를 최소화 해 주는 기술입니다. 음성 신호가 VoIP망을 통해 패킷 단위로 전송을 하기 때문에, 목적지에 도착하는데 여러 가지 다른 경로를 거칠 수 있습니다. 수신단에서 패킷이 너무 늦게 도착하거나 패킷이 오염되거나 도착하지 않을 수도 있습니다. VoIP 연결 상태일 때는 ARQ와 같은 오류 제어 기술을 사용할 수 없고 수신단에서 패킷 손실에 대응해야만 합니다. 그래서 음성정보가 손실될 경우, 이를 보정할 수 있도록 원래 신호와 유사한 신호를 이용하여 손실된 정보로 위장하도록 할 수 있는 PLC 기술이 필요합니다.

나선(nahsun)은 여러 가지 다른 codec의 종류에 따라서 그에 적합한 PLC 기술을 적용합니다. 나선(nahsun)의 PLC를 적용하면 아래 그림과 같이 손실된 패킷의 신호를 보정할 수 있습니다.

  • 패킷 손실이 없이 제대로 전달된 음성 신호

PLC effect Org

&nbsp

  • 패킷 손실이 발생한 후, 0으로 채워 넣은 음성 신호

plc effect zeroplc

&nbsp

  • 패킷 손실이 발생한 후, PLC에 의해 복원된 음성 신호

PLC effect PLC

 

 

지원 성능 특성

  • Reference
    • ITU-T G.711 Appendix I recommendation
  • 지원 프레임 크기  : 10, 20, 30ms
  • 샘플링 주파수 (KHz) : 8, 16

지원 소프트웨어 특성

  • 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
  • 지원되는 라이브러리 포맷
    • ADS 1.2
    • RealView 4.0
    • WinCE (Embedded Visual C)
    • Android
    • iOS
  • Data 메모리 : 실시간으로 할당 가능
  • API : C에서 호출이 가능한 API

 

Dynamic Range Control

똑같은 크기의 소리도 음성신호가 입력되는 장치에 따라 입력되는 데이터의 크기가 달라집니다. 일부 단말기의 경우에는 입력되는 신호의 크기가 너무 작아서 상대방에게 잘 들리지 않는 문제점이 발생합니다. 이런 문제점을 개선해서 일정하고 편안한 음의 크기를 얻기 위해 나선랩스의 Dynamic Range Controller(DRC)는 오디오 신호의 크기를 자동으로 조절해서 단말기에 따른 입력 신호의 차이를 최소화 해줍니다.


DRC는 Application의 증폭 정도를 결정할 수 있으며 결정된 증폭의 정도에 아래 그래프와 같이 입력의 크기에 따라서 비선형적으로 증폭이 되어 큰 신호와 작은 신호의 차이가 줄어들게 됩니다.

drc block

 

    •  DRC가 되지 않은 일반적인 음성 신호

 

    •  DRC된 음성 신호

 

 

지원 성능 특성

  • 작은 신호의 경우에 대한 최대 42dB 증폭
  • 선택 가능한 증폭의 정도 : 0dB/6dB/18dB/30dB/36dB/42dB
  • 샘플링주파수 (KHz) : 8, 16

지원 소프트웨어 특성

  • 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
  • 지원되는라이브러리포맷
    • ADS 1.2
    • RealView 4.0
    • WinCE (Embedded Visual C)
    • Android
    • iOS
  • Data 메모리 : 실시간으로할당가능
  • API : C에서호출이가능한 API

 

More Articles ...