데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      AI기반 음성 품질 개선 기술 - Dynamic RED PLC

      jonghyuk.park 24.09.03
      2,563 8 2
      DEVOTEE 요약
      에이닷 통화녹음 서비스는 VoIP 기술을 이용한 통화 최적화 솔루션으로, 기존 3rd Party mVoIP 서비스와 동일한 무선 인터넷 환경에서도 안정적인 HD Voice 품질을 제공합니다. 이를 위해 Jitter Buffer Management(JBM)와 Packet Loss Concealment(PLC) 기술을 도입해 음성 품질을 향상시켰으며, 최근에는 AI 기반의 Dynamic Redundant Audio Data(DRED) PLC를 통해 지터와 패킷 유실을 예측하고 처리하여 더욱 선제적으로 통화 품질을 최적화하는 방식을 사용하고 있습니다. 최적화된 네트워크 모니터링 알고리즘을 활용하여 가변적 비트레이트와 예방적 음성 패킷 전송을 통해 무선 인터넷 환경에서도 원활한 음성 통화를 보장합니다.
      DEVOTEE 추천 블로그

      에필로그

      안녕하세요, 에이닷 통화녹음 서비스의 미디어를 담당하는 Jason입니다.

      mVoIP 기반의 IMS연동 서비스인 에이닷 통화 녹음 서비스가 출시된 지 약 1년이 거의 되어가고 있습니다.

      기존 3rd Party mVoIP 서비스와 동일한 무선 인터넷 환경에서 동작 해야하는 서비스이지만 사용자 입장에서는 HD Voice와 동급의 서비스이다 보니

      사용자의 눈높이를 맞추기 위해 내부적으로 수많은 최적화 기술이 포함되어 있습니다.

      이번 포스팅에서는 에이닷 통화 서비스에 사용된 mVoIP 통화 기술에 대한 간략한 설명과 함께,

      실시간 음성 통화에서 음질에 영향을 주는 요인들과 그에 대한 일반적인 개선 기술을 간략하게 설명하고,

      현재까지의 음성 통화 품질 개선을 위한 노력들을 기반으로 탄생한 AI 기반의 '통화용 음성 품질 최적화 기술'에 대해 설명을 드리고자 합니다.

      adot_1.png

      에이닷 mVoIP 개요

      mVoIP(Mobile Voice over Internet Protocol)는 모바일 장치(스마트폰, 태블릿 등)를 통해 인터넷을 사용하여 음성 통화를 하는 기술을 의미합니다.

      이는 전통적인 전화 네트워크(Circuit Switching)를 사용하지 않고, IP(Internet Protocol) 네트워크를 통해 음성 데이터를 전송함으로써(Packet Switching) 통화를 가능하게 합니다. 

      즉 Wi-Fi, 4G, 5G 등의 다양한 무선 네트워크 기반으로 인터넷이 연결된 곳이라면 어디서든 통화가 가능하다보니 유연한 통신 환경을 구축 가능하다는 큰 장점이 있고, 

      에이닷 통화녹음 서비스는 이러한 특징을 활용하여 인터넷과 IMS(IP Multimedia Subsystem) 시스템과의 연동을  통해  mVoIP - HD Voice간의 통신 시너지를 이루었다고 할 수 있습니다.


      넓은 관점에서 mVoIP 기술은, 시그널 기술과 미디어기술로 나눌 수 있습니다. 이번 포스팅에서는 미디어 관점에서의 기술을 설명을 드리려고 합니다.

      image.png

      mVoIP는 IP기반의 인터넷 환경에서 음성 데이터 패킷의 전송을 통한 커뮤니케이션의 한 기술 입니다.

      일상적인 커뮤니케이션 수단의 하나이다 보니 세부 기술들에 대해서는 약간 생소하실 수 있는데요, 최대한 심플하게 설명을 해보도록 하겠습니다.


      먼저, 음성 패킷을 보내는(SENDER) 케이스 부터 간단하게 설명을 드리면, 아날로그인 통화 음성을 인터넷 통신을 할 수 있는 형태로 변화 시키고 이를 주고 받는 기능이 필수적으로 선행 되어야 합니다.

      실제 사람의 목소리(SPEECH IN)는 AUDIO INTERFACE(Analog to Digital) 모듈을 통해 raw형태의 디지털 음성 데이터인 PCM(Pulse Code Modulation)으로 변환이 됩니다.

      그리고 PCM 데이터는 실제 음성 대역 대비 불필요한 용량을 많이 차지하기 때문에 음성 처리용 ENCODER를 통해 필요한 음성 대역만을 살려서 경량화를 하게 됩니다.

      ENCODED된 음성 데이터는 IP기반의 인터넷 환경에서 음성 데이터 전송을 위한 규격에 맞추어 RTP(Real-time Transport Protocol)로 변환(PACKETIZER)되고,

      이 데이터가 TRANSOPORT를 통해 IP기반의 인터넷 환경으로 전송이 됩니다.


      그리고, 음성 패킷을 받는(RECEIVER) 케이스는 그와 반대의 과정(TRANSPORT → DE-PACKETIZER → DECODER → Digial to Analog)을 통해

      실제 (위의 그림의) SPEECH OUT으로 심플하게 처리가 될 것이란 생각을 할 수 있습니다. 다만 실제 모바일 환경에서는 특정 기술 모듈이 몇 가지 추가가 되어야 합니다.

      왜냐면 무선 인터넷 환경은 다양한 형태의 데이터가 "특별한 우선 순위 없이" 한정적인 대역폭(Bandwidth) 및 다양한 전파 환경에서 전송이 되면서 패킷의 실시간성에 영향을 주기 때문입니다.


      즉, 위에 명시한 UPLINK/DOWNLINK AIR에서의 음성 패킷의 JITTER(지연) / LOSS(유실)가 주요 원인인데요,

      이상적으로는 SENDER가 보낸 음성 패킷이 깔끔하게 순서에 맞춰서 RECEIVER로 전달이 되겠지만,

      실제로는 다양한 형태의 패킷 지연 및 유실을 거치면서 RECEIVER로 전달이 되게 되기 때문에 정상적인 음성 통화가 불가능 합니다.

      이어서 음성 패킷의 지터와 유실이 어떤것인지 간략하게 설명을 드리려고 합니다.

      mVoIP 환경에서의 음성 패킷의 Jitter / Loss

      mVoIP 환경에서, 지터(Jitter)라는 것은 음성 패킷 간 전송 타이밍인 IAT(Inter-Arrival-Time)의 지연 및 변동성, 유실(Loss)은 말 그대로 음성 패킷의 유실을 의미합니다.

      mVoIP을 통한 통화 시 특정 주기의 음성 패킷을 실시간으로 주고 받아야 합니다. 상식적인 내용이지만, 내가 발화 한 음성이 바로 상대방에게 들려야 정상적인 통화가 가능하기 때문입니다.

      즉, 음성 패킷의 지터/유실이 심하면 IAT가 틀어지게 되고, 결과적으로 음성이 끊기거나 지연 및 왜곡되어 음성 품질의 저하로 이어지고, 결과적으로 통화가 어렵거나 불가능하게 됩니다.

      이러한 음성 패킷의 지터와 유실은 실시간 커뮤니케이션이라는 개념의 기본 전제를 흔들게 되는 매우 심각한 요인이 됩니다.

      아래의 그림을 통해 조금 더 간단하게 설명을 드리면,

      image.png

      실시간 음성 패킷에 담겨있는 "Hi, Where are you?"라는 음성을 상대방에게 보내려고 할때,

      기대하는 결과는 상대방에게 (위의 CLEAN 케이스 처럼) "Hi, Where are you?"가 전달되는 것 입니다.

      다만 위와같이 JITTER가 발생하게 되면, "Hi, Wh----ere ar---e you?"와 같이 중간중간 음성 지연이 들어가게 되고,

      더불어 LOSS까지 발생을 하게 되면 최종적으로 (위의 JITTER + LOSS 예시 처럼) "Hi, Wh-----re a-----e ou?"와 같은 알아들을 수 없는 말만 상대방에게 전달이 되게 됩니다.


      이러한 패킷의 지터와 유실은 다양한 원인이 있을 수 있는데요,

      대표적으로 두 가지로 나눌 수 있습니다.

      첫째로 동시에 네트워크 트래픽이 많아져서 음성 데이터 전달을 위한 자원을 할당 받지 못한 경우,

      둘째로 기지국과 모바일 간의 송수신 신호가 약한 경우 입니다. 이러한 관점에서 생각해보면 지터와 유실을 완화하기 위해서도 위의 케이스를 고려하면 되긴 합니다.

      예를 들면 QoS(Quality of Service)관점에서 네트워크 장비에서 특정 트래픽에 자원 예약 및 우선순위를 부여하고,

      RF(Radio Frequency) 스케쥴링 관점에서 기지국과 단말간의 무선 송수신 최적화 및 전용 채널을 할당 하는 것입니다.

      다만 이런 방식들은 일반적인 인터넷 환경의 범용 mVoIP 서비스에는 현실적으로는 적용이 불가능 합니다.


      따라서 위의 음성 패킷을 받는 케이스 그림(RECEIVER - 빨간색 박스)에 명시된 것과 같이,

      수신된 음성 패킷들을 JBM(Jitter Buffer Management) 및 PLC(Packet Loss Concealment) 모듈을 통해 최대한 원음에 가까운 형태로 복원하는 과정이 필요합니다.

      음성 품질 개선 기법 - JBM(Jitter Buffer Management)

      mVoIP에서 JBM은 네트워크 지터로 인해 발생하는 음성 품질 저하를 개선하기 위한 기술입니다.

      JBM은 네트워크를 통해 전송되는 음성 패킷을 수신한 후 일시적으로 Jitter buffer에 저장하고, 패킷을 적절한 순서와 일정한 간격으로 재생할 수 있도록 관리합니다.

      이를 통해 음성 패킷의 IAT(Inter-Arrival-Time)에 대한 흔들림 / 변동을 보상하고, 이를 통해 사용자에게 높은 품질의 안정적인 음성 통화를 제공할 수 있습니다.

      image.png

      JBM의 주요 기능으로는 음성 패킷에 대한 적응형 지터 버퍼(ADAPTIVE JITTER BUFFER)를 통해 지터로 인해 발생하는 패킷 도착 시간의 변동을 보상하고,

      순서가 뒤바뀐 패킷을 올바른 순서로 재정렬(PACKET REORDERING) 함으로써 수신된 음성 패킷을 일정한 간격으로 정렬하는 것입니다.

      JBM 내부에 사용되는 버퍼인 지터 버퍼는 실시간으로 버퍼의 사이즈를 조정하는 여부에 따라서 고정형 / 적응형으로 나눠집니다.

      고정형은 심플하긴 하지만 런타임 mVoIP 케이스에서 사용하기 위해서는 조금 복잡하더라도 적응형 지터 버퍼를 주로 사용을 합니다.

      "버퍼"라는 특성 상 버퍼링을 크게 하면 음성 지연이 증가하고, 버퍼링을 거의 안 하면 음성 지연은 최소로 줄일 수 있습니다.

      따라서 적응형 지터 버퍼는 런타임으로 측정된 망의 상태(Jitter Level)에 따라 버퍼 크기를 동적으로 조정합니다.

      이를 통해 최소한의 버퍼링을 사용하여 최적의 음질을 확보하는 기술이 적응형 지터 버퍼의 기능입니다.

      image.png

      위의 그림은 구 GIPS 솔루션에서 작성한 내용을 참고한 각 기법 별 JITTER ESTIMATION과 음성 딜레이의 차이를 나타낸 것입니다.

      고정형 지터 버퍼를 사용한 케이스는 IAT의 변화에 관계없이 고정적인 120ms의 딜레이를 사용하고 있습니다.

      이와 같은 경우 음성 품질 관점에서는 망의 상황에 따라 굳이 가져가지 않아도 되는 120ms의 고정 딜레이를 가지게 되는 단점,

      고정형 버퍼 사이즈인 120ms의 IAT가 넘는 케이스에 대해서는 모두 패킷 손실로 이어지게 되는 단점을 모두 가지게 됩니다.

      적응형 지터 버퍼는 추정된 지터의 값에 따라서 얼마나 버퍼 사이즈의 적응(Adaptation)이 빠르냐에 따라 최소한의 딜레이로 최적의 음성 품질을 제공 할 수 있습니다.

      위의 그림에서 (현재 WebRTC에 적용되어 있는) NetEq라는 모듈을 통해 예측되는 지터에 따라 빠르게 버퍼 사이즈를 조정하는 모습을 볼 수 있습니다.

      image.png

      그리고, 적응형 지터 버퍼를 이용하여 안정적인 음성 품질을 제공하기 위해서는 최대한 빠르고 정확하게 지터를 추정(JITTER ESTIMATION)하고,

      최소한의 지버 버퍼를 사용(JITTER BUFFER LEVEL SCHDULING)해야 합니다.

      JITTER BUFFER LEVEL SCHDULING은 위와 같이 추정된 지터의 값에 따라 버퍼 Queue 사이즈를 실시간으로 빠르게 조정하는 스케줄링 기법입니다.

      망이 좋지 않을 경우는 최대한 빠르게 버퍼의 사이즈를 필요한 만큼만 늘려서 음성 패킷의 손실을 방지하고 망이 좋을 경우는 버퍼의 사이즈를 줄여가면서 불필요한 음성 지연을 최적화 합니다.

      음성 품질 개선 기법 - PLC(Packet Loss Concealment)

      mVoIP 환경에서 위에서 설명드린 JBM을 통해 어느정도의 음성 품질을 개선이 가능합니다만, 실제 인터넷 무선 환경에서는 지터와 더불어서 패킷의 유실도 존재합니다.

      패킷 손실이 발생하면 음성 데이터의 일부가 누락되어 통화 품질이 저하됩니다.

      PLC는 음성 통신 품질을 개선하기 위해 패킷 손실을 숨기거나 보상하는 기술이며, 이를 통해서 패킷 유실에 대해서는 어느정도 보완 가능합니다.


      PLC의 주요 기능은 다음과 같습니다:

      • 손실 패킷의 보정: 누락된 음성 패킷을 예측하여 보정함으로써 연속적인 음성 신호를 유지합니다. 이를 통해 통화가 끊기지 않고 자연스럽게 들리도록 합니다.

      • 음질 개선: 패킷 손실로 인한 잡음이나 끊김 현상을 최소화하여 전반적인 음질을 향상시킵니다.

      • 알고리즘 사용: PLC는 다양한 알고리즘을 사용하여 손실된 패킷을 보상합니다.

        예를 들어, 이전 음성 프레임의 데이터를 기반으로 손실된 프레임을 추정하거나, 인접 프레임들을 보간(Interpolation)하여 자연스러운 음성을 생성합니다.

      image.png

      위의 예시는 패킷 손실 구간에 대해 이전 음성 프레임의 데이터를 기반으로 심플하게 보완을 하는 expanding기법에 대해 설명하기 위한 PCM레벨의 시뮬레이션 결과 입니다.

      패킷 손실 구간이라는것은 실제로 음성 출력이 되어야 하는 시점에 필요한 오디오 패킷이 없을 경우 손실로 판단을 합니다. 너무 늦게 들어온 패킷을 JBM이 무한정 기다릴 수는 없기 때문입니다.

      음성이 출력되어야 하는 시점 기준으로 패킷 유실로 판단된 부분이 1~2 프레임 정도로 매우 짧을 경우 손실 패킷을 자연스럽게 연결(Concatnate)후 스무딩 처리 하여 최대한 불편한 음성이 되지 않게 처리합니다.

      다만 유실된 프레임이 위와 같이 많을 경우 패킷 손실로 인한 잡음이나 끊김 현상을 최소화하여 전반적인 음질을 유지시켜야 합니다.

      그에 대한 심플한 방법으로 이전 오디오 프레임의 데이터(PREV. FRAME/PCM)를 이용하는 것이 있는데요,

      유실이 발생하기 직전 기준의 일련의 PCM 데이터를 추출하여 위상을 조정(PHASE SHIFT)하고 자연스럽게 이어 붙이게 되면 틱~틱 소리같은 오디오 분절음을 회피할 수 있습니다.

      그렇지만 이러한 방식으로 계속 이어 붙이게 되면 PCM의 주기성이 생기게 되어 징~~소리와 같은 노이즈를 발생 시키게 됩니다.

      따라서 유실이 길어질 경우 PCM의 에너지를 서서히 감소(ATTENUATION) 처리하여 주기성의 노이즈의 음량을 서서히 줄여가면서 최대한 자연스럽게 유실을 처리할 수 있습니다.


      다만 이러한 Passive한 PLC 방식은 PCM의 시간/주파수영역을 활용한 매우 기본적인 방식으로, PLC의 기본 동작을 설명하기 위한 용도로만 적절합니다.

      현 PLC의 트랜드는 기존의 Passive한 PLC를 넘어서 더욱 Active한 PLC를 추구하고 있습니다.

      즉 음성 패킷의 유실에 대한 은폐(Concelement)의 관점 보다는 AI기반의 고도화된 네트워크 모니터링 알고리즘을 활용하고,

      그 시점의 상황과 필요성에 따라 음성 코덱의 변조 방식과 전송 패턴등을 최적화 하여 음성 패킷을 재생성 및 복원 하는 관점으로 진화하고 있습니다.

      DRED(Dynamic RED) Active PLC 개요

      Dynamic RED(Redundant Audio Data) PLC는 AI기반의 고도화된 네트워크 모니터링 알고리즘을 기반으로 음성 패킷의 지터와 유실 상황에서 최적의 음성 품질을 제공하기 위한 Active PLC의 한 방식입니다.

      이미 패킷 유실이 된 상황에서 남은 리소스로 복원을 하는 방식이 아닌,

      패킷 지터/유실을 예측 후 가변(Variable Bit Rate)의 Redundant 음성 패킷을 이용하여 UL(Uplink) / DL(Downlink) 양방향에 대한 Jitter / Loss Averaging을 취하는 선제적 기술입니다.

      image.png

      본 기술은 "미디어 클라아언트" 및 "미디어 서버" 각각의 영역에서 최적의 성능을 낼 수 있는 다양한 세부 기술들의 조합을 통해 약전계 무선 인터넷 환경에서 최상의 음성 품질을 제공할 수 있습니다.

      특히 음성 품질 개선을 위한 모든 기술은 클라이언트 DL JBM에서만 가능하다는 생각의 관점에서 벗어나,

      실제로 최적의 성능을 뽑아 낼 수 있는 각각의 도메인들의 조합을 통해 극한의 시너지를 창출하는 것이 목적이었습니다.

      그리고 각 도메인에서 중요하게 다뤄져야 하는 요소들인 연산량이나 용량, 성능 등에 대해서는 각 도메인 별로 기술적 최적화를 진행했습니다.


      각각의 도메인을 간략하게 설명 드리면, 미디어 클라이언트단은 아래와 같이 크게 3가지로 나눌 수 있습니다.

      • DL / UL IAT 예측을 통한 JITTER / LOSS ESTIMATION 부

      • ESTIMATION 결과를 기반으로 생성하는 RED 패턴 및 JITTER AVERAGING FACTOR 생성 부

      • ESTIMATION 결과를 기반으로 생성하는 VBR 생성 부

      그리고 미디어서버단 또한 아래와 같이 크게 3가지의 기능으로 나눌 수 있습니다.

      • RED PACKET의 패턴을 결정하는 부

      • JITTER AVERAGING FACTOR 생성 부

      • RED PAKCET의 TRANSPORT에 대한 PACING 부


      DRED에서 사용되는 Customized RED(Redundant Audio Data)에 대해서 추가로 설명을 드리면, 쉽게 말해서 전처리가 된 청크(Chunk) 패킷을 전달하는 기능을 뜻합니다.

      RED 패킷은 기본적으로 두 개 이상의 오디오 데이터 청크를 포함합니다.

      각 청크는 서로 다른 시간에 전송된 전처리 데이터를 포함하고 있어, 하나의 패킷이 손실되더라도 다른 패킷을 통해 그 부분을 복원 가능합니다.

      그리고 다양한 전처리의 기준에 따라 각 청크간의 연관성이 존재하게 되는데요, 음성 코덱 단의 한 요소가 될 수 도 있고, 청크 데이터 간 주파수 / 시간 도메인의 전처리도 가능합니다.

      다만 RED 패킷의 사용은 위와같은 이점이 있는 반면에 추가적인 대역폭을 사용하게 된다는 단점이 존재하는데요,

      그 영향을 최소화 하기 위해서 DL / UL IAT 예측을 통한 JITTER / LOSS ESTIMATION 기능이 필수적입니다.

      즉, DRED의 Dynamic요소를 통해 JITTER / LOSS ESTIMATION를 기반으로 필요한 시점의 적재 적소에 RED를 사용함으로써 불필요한 대역폭의 사용을 최소화 합니다.


      그리고 각 RED 청크에 대해서는 VBR(Variable Bit Rate)이라는 기능이 적용됩니다.

      실시간으로 변화하는 음성 신호의 특성에 따라 시간 단위의 전송되는 데이터의양(Bitrate)을 동적으로 조절하여 인코딩 하는 방식입니다.

      이는 JITTER / LOSS ESTIMATION 모듈과의 연계를 통해 오디오 데이터의 전송 효율성을 높이고 네트워크 대역폭을 효과적으로 사용하기 위해 사용되었습니다.

      이를 종합하여 DRED에서는 최소한의 대역폭을 사용하여 효율적인 JITTER/LOSS AVERAGING을 수행합니다.

      image.png

      이는 네트워크에서 발생하는 음성 패키의 지터와 유실을 평균화하고 음성 품질을 개선하는 과정에서 중요한 역할을 합니다.

      RED 패킷은 패킷 손실 복구를 목적으로 설계되었지만, 그 과정에서 지터를 보상하고 음성 통화의 일관성을 유지하는 데 활용될 수 있기 때문입니다.

      DRED에서는 아래와 같은 AVERAGING기법을 사용 가능합니다.

      • Duplicated Packet Sending

        • DRED 패킷은 기존의 음성 패킷에 추가적인 데이터를 중복해서 포함 하는 기법입니다.

          이 추가 데이터는 패킷 손실 시에 사용될 수 있으며, 동시에 패킷 도착 시간의 변동을 보상하는 데 활용됩니다.

      • Delay Recovery

        • DRED 패킷에 포함된 청크의 데이터를 통해 지터로 인한 패킷 도착 시간의 변동을 완화하는 데 사용됩니다.

          예를 들어, 이전 패킷의 데이터 일부가 현재 패킷에 포함되어, 네트워크 지터로 인해 발생할 수 있는 패킷 도착 시간의 불규칙성을 일정하게 조정합니다.

      • Averaging Algorithm

        • DRED 패킷을 통한 평균화 알고리즘은 여러 패킷의 도착 시간 차이를 평균 내어 일정한 IAT를 유지하려고 합니다.

          일관적인 IAT는 네트워크에서의 음성 품질을 일관되게 유지합니다.

      • Dynamic Adaptation

        • DRED 패킷을 사용한 AVERAGING 기법은 네트워크 상황에 따라 동적으로 동작합니다.

          네트워크 지터가 심해지면 추가 데이터를 더 적극적으로 사용하여 지터를 보상하고, 패킷 손실이 적으면 대역폭을 절약하기 위해 추가 데이터 전송을 줄입니다.


      DRED(Dynamic RED) Active PLC 성능 정량화 및 성능

      DRED PLC의 성능을 정량화 하기 위해 크게 두 가지 방식을 사용합니다.

      우선, Net Simulator를 이용하여 발생시킨 DL / UL 음성 패킷의 Impairment를 단말의 WiFI 환경에 적용하여 음성 품질 정량화를 하는 방식 입니다.

      이 방식을 통해 다양한 Impairment 환경의 모델링을 통해 손쉽게 음성 품질의 정량화 및 솔루션 성능의 튜닝 및 최적화를 진행 가능합니다.

      다만 실 환경을 완벽하게 모사할 수 없다는 한계점이 있습니다.

      image.png

      이를 보완하기 위해, 위와 같은 방식으로 솔루션에 대한 튜닝 및 성능 개선 후 다양한 지역의 필드 테스트를 통해 시뮬레이션된 망 환경에서의 성능과 실 환경에서의 성능을 비교 분석 했습니다.

      image.png

      DRED(Dynamic RED) Active PLC 성능

      image.png

      다양한 패킷 지터와 유실 환경에서 DRED의 성능을 간략하게 보여드릴 수 있는 대표적인 결과를 첨부했습니다.

      테스트 음원은 TTA공식 한글 음원을 사용했고, 음성 품질의 척도는 POLQA(Perceptual Objective Listening Quality Analysis) 알고리즘을 사용하였습니다.

      산출된 결과의 수치는 통상적 품질 비교 수치로 사용되는 MOS(Mean Opinion Score) 값으로 추출했습니다.

      MOS는 VoIP 시스템의 음성 품질을 평가하는 데 사용되는 일반적인 척도로, 주관적인 청취자의 평가를 기반으로 1에서 5까지의 점수로 표현됩니다.

      DRED PLC의 목적은 일반적인 mVoIP환경의 edge케이스인 약전계 환경에서 고객에게 "통화를 할 만한"수준의 음성 품질을 안정적으로 제공하는 것 입니다.

      위의 결과에서 알 수 있듯이, 각 impaired 환경에서 MOS 3점 중반 이상의 음성 품질을 꾸준하게 유지하는 것을 확인 가능합니다.


      추가로, 음성 품질은 눈으로 보는 결과보다는 실제로 들어보는 결과가 더 와닿기 때문에, 결과표 외에 추가로 오디오 샘플 셋 한 쌍을 첨부 드리려고 합니다.

      한번 들어보시고, 아~ 이정도의 음성 품질이구나 하고 느껴보시면 좋을 것 같습니다.

      • DRED 적용 전

        • Rec_NO_DRED_Jitter500_loss20.wav

      • DRED 적용 후

        • Rec_DRED_Jitter500_loss20.wav

          (첨부 파일로 등록 되어 있습니다.)


      마무리하며

      에이닷 통화녹음 서비스는 mVoIP - HD Voice간의 통신 시너지를 통한 고객 가치를 한층 더 끌어올린 자사의 혁신적인 서비스 중 하나라고 생각합니다.

      HD Voice에 상응하는 음성품질을 제공해야 하는 서비스다 보니 기능적 / 기술적으로 많은 도전이 있었고 다양한 분들과 함께 헤쳐나가며 여기까지 오게 된 것 같습니다.

      개인적으로는 한번 써보고 잊혀지는 서비스가 되고 싶지 않았던 개인적인 큰 바램이 있었고,

      기술적으로는 mVoIP 음성 품질 개선 기술에 대한 기존 독립적인 모듈들의 recursive한 로직의 틀을 벗어나,

      AI와의 조합을 통해 새로운 기술적 가치를 창출하고자 했습니다.

      실제 고객 환경은 정말로 너무나 다양하기에 본 기능을 통해 얼마만큼의 고객 가치를 제공할 수 있을지는 아직 명확하지 않습니다만,

      꾸준한 개선을 통해 고객들께 사랑받는 기술이 되도록 노력하겠습니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      jonghyuk.park 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기