안녕하세요. LINE에서 VoIP 음성 품질 개선을 맡고 있는 강인규입니다. COVID-19가 장기간 유행하면서 재택근무나 원격 수업 같은 비대면 활동이 크게 증가했습니다. 이를 계기로 많은 사람들이 비대면 활동의 장점을 체험하면서 자연스럽게 이를 선호하게 됐고, COVID-19 유행 이후에도 꾸준히 비대면 활동을 늘려가고 있습니다.
비대면 활동에서는 상호 간 정보를 전달하는 화상 회의 시스템이 필수인데요. 이 글에서는 LINE 통화 서비스를 이용할 때 보다 좋은 음성 품질로 통화하기 위한 팁을 소개하려고 합니다. 글은 내 음성이 어떤 과정을 통해 상대방에게 전달되는지 살펴본 뒤 내 음성을 좀 더 좋은 품질로 전달하기 위해 사용자가 취해야 할 행동과 LINE이 제공하는 기술을 설명하는 순서로 진행하겠습니다.
이 글이 LINE 통화 기능을 사용하는 모든 분들이 좀 더 좋은 품질로 통화하는 데 도움이 되길 바라며 시작하겠습니다.
음질의 중요성
음성 정보는 인간이 의사 전달에 사용하는 가장 기본적인 수단으로 비대면 활동에서도 필수라고 할 수 있습니다. 화상 회의에서는 내 소리가 미팅에 참여한 모든 사람들에게 전달되기 때문에 내 음질이 좋지 않으면 다른 사람들에게 피로감을 줄 수 있습니다. 예를 들어 배경 잡음 때문에 다른 사람이 내가 하는 말을 알아듣지 못하거나 에코(echo) 때문에 다른 사람의 목소리가 여러 번 들리면 미팅에 집중하기 힘들 수 있습니다.
따라서 회의를 원활하게 진행하기 위해서는 품질 좋은 음성 정보를 전달하는 것이 중요하며, 음성 품질을 높이는 데에는 두 가지 방법이 있습니다. 첫째는 사용자의 환경을 적절하게 조성하는 것이고, 둘째는 VQE(Voice Quality Enhancement) 같은 음성 필터를 사용하는 것입니다.
음성 품질을 높일 수 있는 사용자 환경 조성
음성 품질을 높이기 위한 적절한 사용자 환경이 무엇인지 알아보기 위해 음성 전달 과정과 음성 품질을 결정하는 요소를 먼저 살펴보겠습니다.
음성 전달 과정과 품질 결정 요소
음성이 어떻게 전달되는지 알아보면 음질을 결정하는 요소를 찾을 수 있습니다. 화상 회의 시스템에서 내 음성이 상대방에게 전달되는 과정은 아래와 같습니다.
발화자(User1)의 음성은 공기 진동 형태로 마이크로 전달되고 마이크는 이를 디지털 신호로 바꿉니다. 디지털 신호는 전송기(sender)에서 압축된 후 패킷 형태로 서버를 통해 다른 참여자에게 전달됩니다. 다른 참여자들(User2, User3)이 전달받은 패킷은 수신기(receiver)에서 디코딩된 다음 스피커로 출력됩니다. 이런 과정을 통해 참여자(User2, User3)는 발화자(User1)의 음성 정보를 들을 수 있습니다.
마이크는 공기 진동을 디지털 형태로 바꿔주는 장치이므로 내 음성뿐 아니라 마이크 주변에서 발생한 모든 소리가 합쳐서 수집됩니다. 수집된 소리에서 내 음성 외 다른 소리는 대부분 불필요한 것인데요. 그 소리가 음성과 함께 전송되면 음성 정보를 방해하고 회의에 집중하지 못하게 만듭니다. 또 네크워크 상태에 따라 음성이 열화할 수 있습니다.
이와 같이 오디오 장치의 성능과 주변 환경, 네트워크 상태가 음성 품질에 영향을 미치는 것을 알 수 있는데요. 이 글에서는 이 중에서 오디오 장치와 주변 환경 요인만 다루겠습니다. 각 요인과 관련해 음성 정보 전달을 방해하는 대표적인 요소인 잡음과 에코, 적절하지 못한 음량, 하울링을 어떻게 개선할 수 있는지 알아보겠습니다.
오디오 장치 환경 요인
음성 정보 전달을 방해하는 오디오 장치 환경의 요인과 이를 줄일 수 있는 방안을 알아봅시다.
잡음(noise)
오디오 장치 자체도 잡음을 만듭니다. 오디오 장치에서 발생하는 잡음은 형태와 원인이 다양한데요. 마이크 단자의 접촉 불량, 접지 문제, 저품질 마이크의 전기적 잡음 등이 주된 원인이며, 주로 신호 대 잡음비(signal-to-noise ratio, 이하 SNR)가 낮은 저품질 마이크에서 발생합니다. 즉, 이런 잡음을 줄이려면 저품질 마이크 사용을 피하는 것이 좋습니다.
음량(loudness)
화상 회의에서는 내 목소리가 가장 중요한 정보이므로 다른 무엇보다 내 목소리가 상대방에게 명확히 전달돼야 합니다. 만약 내 목소리가 너무 작거나 너무 크게 전달되면 회의 참여자의 피로도를 증가시킬 수 있습니다.
목소리 크기에 차이가 발생하는 원인은 다양하지만 결과적으로 마이크에서 수집한 오디오 레벨이 다르기 때문입니다. 이는 마이크의 수음(음향 수집 성능을 말하며 마이크 감도 또는 마이크 자체 성능에 따라 달라질 수 있으므로 입력 레벨과 완전히 동일하지는 않음) 특성에 달려 있습니다. 특히 지향성 마이크는 마이크 방향에 따라서도 수음 레벨이 다릅니다. 발화자와 마이크의 거리 혹은 발성 크기에 따라 음량 차이가 생길 수 있는데 일반적으로 마이크와 입 사이 거리를 5cm~100cm 범위에 두는 것이 좋습니다.
에코(echo)
상대방의 소리가 내 스피커로 출력되면 그 소리 역시 내 마이크에 수집됩니다. 소리가 어떤 매체에 반향되어 다시 돌아오는 것을 에코라고 하는데요. 수집한 소리를 전달하는 마이크는 가장 큰 반향원이라고 할 수 있습니다. 만약 상대방의 소리가 내 마이크에서 수집돼 전달되면 상대방은 시간 차를 두고 자기 소리를 다시 듣게 됩니다. 이런 식으로 화상 회의 참여자 중 단 한 명이라도 에코를 전달한다면 참여한 모든 참가자들이 불편을 겪습니다.
따라서 에코는 반드시 전송기(sender) 측에서 차단해야 하며 사용자 또한 에코를 잘 차단할 수 있는 환경을 구성하도록 노력할 필요가 있습니다. 에코의 발생원은 스피커입니다. 에코의 크기는 마이크와 스피커의 거리가 가까울수록, 스피커 출력이 클수록, 마이크 감도가 높을수록 커집니다. 따라서 스피커와 마이크의 거리를 최대한 띄어놓고 스피커 출력 레벨과 마이크 입력 레벨을 너무 높이지 않는 것이 에코 크기를 줄이는 데 도움이 됩니다.
스피커와 마이크가 통합된 오디오 장치를 사용하는 것도 음성 품질을 높이는 데 유리합니다. 특히 이어셋이나 헤드셋은 스피커의 출력 소리가 직접 귀로 전달되고 외부와 차단되기 때문에 에코 크기가 매우 작습니다. 또 음성을 입과 가까운 거리에서 수집하므로 SNR이 높아 잡음 원인을 최소화할 수 있습니다.
주변 환경 요인
주변 환경에서 발생할 수 있는 음성 정보 전달을 방해하는 요인과 이를 줄일 수 있는 방안을 알아보겠습니다.
잡음(noise)
마이크는 공기 진동을 소리로 인식하므로 주변 잡음도 모두 수집합니다. 예를 들어, 컴퓨터 팬 소리, 키보드 자판 두드리는 소리, 선풍기 바람 소리 등이 공기 진동을 일으키는 잡음이 될 수 있습니다. 따라서 마이크를 잡음 원인으로부터 최대한 멀리 떨어뜨리는 것이 좋습니다. 아주 작은 진동이라도 마이크와 거리가 가깝다면 큰 잡음이 됩니다. 만약 잡음이 매우 심한 장소(카페, 공사장, 도로변 등)에서 통화하는 상황이라면 마이크를 음소거 상태로 유지하고 있다가 발화할 때만 음소거를 끄는 것으로 잡음 때문에 발생하는 불편을 줄일 수 있습니다.
하울링(howling)
하울링이란 스피커로 출력한 소리가 마이크 입력으로 피드백되면서 무한히 증폭돼 소음을 만드는 현상을 말합니다. 특히 같은 방에서 기기가 두 대 이상 회의에 참석한다면 하울링 현상이 발생할 수 있습니다. 이때는 모든 기기의 마이크를 음소거하거나 한 기기만 놔두고 다른 기기의 마이크와 스피커를 모두 음소거해야 하울링 현상을 방지할 수 있습니다.
음성 품질을 방해하는 환경 요인을 개선한 사례
앞서 살펴본 요인을 적절히 제거해 음성 품질을 개선한 사례를 소개하겠습니다. 넓은 행사장(실내 강당)에서 진행하는 화상 회의에 참여한 사용자가 행사장 내 발표자의 음성 품질이 좋지 않다는 제보를 해 온 적이 있습니다. 행사장 환경은 아래 그림과 같았습니다. 발표자는 룸 마이크를 손에 들고 발표했고, 발표자의 목소리는 룸 마이크에 연결된 룸 스피커를 통해 행사장 내 청중에게 전달되고 있었습니다. 또한 발표자와 룸 스피커 사이에 노트북을 두고 이 노트북 카메라와 마이크로 화상 회의에 연결해 실시간으로 발표를 중계했습니다.
발표자와 노트북 내장 마이크까지의 오디오 경로(audio path)는 '발표자 → 룸 마이크 → 룸 스피커 → 노트북 내장 마이크' 순서입니다. 오디오 경로가 길어질수록 지연이 늘어나고 음질이 열화할 가능성이 큽니다. 이와 같이 오디오 경로를 구성하면 크게 두 가지 문제가 발생합니다.
- 룸 스피커와 노트북 내장 마이크 사이가 멀어 노트북 내장 마이크가 수신하는 발표자의 목소리가 작아지고, 행사장 주변 잡음이 유입돼 SNR이 낮아집니다. 더구나 이 오디오 경로에는 아날로그 구간과 공기 중 전달(acoustic) 구간이 포함되기 때문에 음질이 룸 스피커와 노트북 내장 마이크 성능에 영향을 받습니다.
- 발표자의 목소리가 노트북 내장 마이크로 수집되고 행사장 내에서 반향돼 화상 회의 참여자에게 여러 번 전달됩니다.
이와 같은 이유로 화상 회의에서 들리는 발표자의 목소리 품질이 저하됐습니다. 좋은 음성 품질을 위해서는 높은 SNR를 확보하는 것이 중요합니다. 즉, 외부 소음이 있더라도 발표자의 목소리가 주변 소리보다 현저하게 큰 환경을 구성하면 좋은 음성 품질을 보장할 수 있습니다. 아래 그림을 보겠습니다.
룸 마이크에 믹서를 연결해 노트북 라인 입력으로 넣습니다. 오디오 경로는 '발표자 → 룸 마이크 → 내장 라인'입니다. 이렇게 오디오 경로를 단축해서 공기 중 전달 구간을 제거했고, 룸 스피커 성능에 영향을 받던 부분도 제거했습니다. 아날로그 구간도 룸 마이크 하나만 남습니다. 즉, 노트북에서 수신하는 오디오는 순수하게 룸 마이크 성능에만 영향을 받습니다. 또한 룸 마이크와 발표자 간 거리와, 잡음원과 발표자 간 거리 차이가 크기 때문에 높은 SNR을 확보할 수 있어 음질 열화를 현저히 줄일 수 있습니다.
LINE의 뛰어난 음성 품질을 책임지는 VQE
위 사례에서 살펴본 것처럼 사용자는 음성 품질을 높이기 위해 잡음과 음량, 에코를 직접 조절할 수 있습니다. 하지만 사용자가 늘 완벽한 환경을 구축하리라고 기대하기는 어렵습니다. 이 때문에 LINE의 화상 회의 시스템은 마이크에서 수집한 소리를 후처리해 품질을 높이는 고성능 VQE 오디오 필터를 제공합니다. LINE이 통화나 미팅에서 뛰어난 음성 품질을 제공할 수 있는 것은 오랫동안 연구한 기술로 만든 VoIP 플랫폼, LINE Planet의 VQE 필터 덕분입니다. VQE는 방해 요인이 되는 소리를 억제하고 주요 소리의 음량을 조절하면서 음성 정보를 개선합니다.
VQE란?
VQE는 'Voice Quality Enhancement'의 약자로 음성 품질을 높이는 오디오 필터 모음을 말합니다. 대표적으로 잡음 제거 필터(noise suppressor)와 에코 제거 필터(acoustic echo canceller), 음량 조절 필터(automatic gain control) 등이 있습니다. 각 필터는 앞서 언급한 음질 방해 요소인 주변 잡음과 음량, 에코를 개선합니다. 따라서 음성 품질을 향상하려면 VQE 모듈이 필수입니다.
VQE는 빌트인(built-in) 타입과 LINE Planet 타입으로 구분할 수 있습니다. 빌트인 타입은 오디오 장치 또는 OS 자체에 포함된 VQE를 말하고, LINE Planet 타입은 LINE Planet 플랫폼에서 제공하는 VQE를 말합니다. 빌트인 타입은 해당 오디오 장치(마이크와 스피커) 특성에 맞게 필터를 튜닝한 것이므로 일반적으로 그 장치에서는 LINE Planet 타입보다 뛰어난 품질을 제공합니다. 반면 LINE Planet 타입은 다양한 오디오 장치에서 범용적으로 작동하도록 튜닝돼 있습니다.
LINE Planet의 VQE에서는 다양한 필터를 제공하고 있는데요. 이 글에서는 통화에서 필수로 사용해야 하는 필터만 설명하겠습니다.
잡음 제거 필터(noise suppressor, 이하 NS)
NS는 말 그대로 잡음을 제거하는 필터로 목소리를 제외한 모든 신호를 잡음으로 판단하고 이를 제거합니다. 아래 그림은 LINE Planet에서 제공하는 NS에서 잡음을 제거하는 과정을 보여줍니다.
마이크에서 수집한 신호 x는 발화자의 목소리 s와 주변 잡음 n을 합친 형태입니다. NS는 n을 추정한 n'을 만들고 x에서 n'을 빼 발화자의 목소리(s')만을 남깁니다. 이때 NS의 성능은 n'이 n과 비슷한 정도에 따라 평가할 수 있습니다. 즉, n'이 n과 비슷할수록 s'도 s와 비슷해집니다.
LINE Planet은 두 가지 버전의 NS를 제공합니다. 하나는 저사양 기기를 위한 레거시 필터(legacy NS)고, 다른 하나는 머신 러닝(Machine Learning, 이하 ML)을 활용한 고성능 필터(이하 MLNS)입니다. 저사양 기기용 NS는 팬 잡음처럼 일정하게 들리는(stationary) 잡음을 주로 제거하는 반면, 고성능 MLNS은 일정한 잡음뿐 아니라 키보드 소리같이 일정하지 않은(unstationary) 잡음도 제거할 수 있어서 더욱 성능이 좋습니다.
에코 제거 필터(Acoustic Echo Canceller, 이하 AEC)
AEC는 마이크에서 수집한 소리에서 에코만 제거하는 필터입니다. AEC는 스피커로 출력할 소리를 레퍼런스(reference)로 입력받아 마이크에서 수집한 신호에서 에코 성분을 찾아 제거합니다. 아래 그림은 LINE Planet에서 제공하는 AEC가 에코를 제거하는 과정입니다.
마이크에서 수집한 신호 x는 발화자의 목소리 s와 에코 e를 합친 형태입니다. AEC는 스피커로 출력하는 신호 r을 레퍼런스(reference) 삼아 x에서 e을 추정한 e'을 만들고, x에서 e'을 빼 발화자의 목소리(s')만을 남깁니다. AEC의 성능도 NS와 마찬가지로 e'이 e와 비슷한 정도에 따라 평가할 수 있습니다. 즉, e'이 e과 비슷할수록 s'도 s와 비슷해집니다.
음량 조절 필터(Automatic Gain Control, 이하 AGC)
마이크가 수집한 음성의 크기는 마이크 감도와 사용자의 발성 상태에 따라 달라집니다. AGC는 변화가 많은 음성 크기를 일정한 레벨로 유지해 주는 필터입니다. 즉, 신호가 너무 크면 출력을 제한하고 너무 작으면 출력을 키웁니다. LINE Planet에서는 H/W 타입(이하 H/W AGC)과 S/W 타입(이하 S/W AGC), 두 가지 AGC를 제공합니다.
- S/W AGC는 입력 음성이 일정한 음량으로 유지되도록 게인(gain)1을 곱해 보정하는 역할을 합니다. 하지만 너무 많이 보정하면 음질에 안 좋은 영향을 줄 수 있으므로 한계가 있습니다. 이보다는 마이크에서 적당한 음량이 유입되는 것이 더 좋은 음질을 보장할 수 있으며, 이를 위해 사용하는 것이 바로 H/W AGC입니다.
- H/W AGC에서는 마이크가 수집한 신호 x의 음성 구간 에너지를 계산한 후 이것이 기준 레벨 구간보다 크면 마이크 감도를 줄이고, 기준 레벨 구간보다 작으면 마이크 감도를 키우며, 기준 레벨 구간에 포함되면 마이크 감도를 유지해 음성이 일정한 레벨로 들어오게 합니다. H/W AGC는 마이크 장치를 직접 제어하기 때문에 마이크를 제어할 수 있는 플랫폼에 한해 제공됩니다(Windows, macOS).
아래 그림은 LINE Planet에서 제공하는 H/W AGC가 작동하는 과정입니다. H/W AGC를 사용해 마이크 감도를 조절한 후에는 S/W AGC를 통해 한 번 더 음량을 보정하는 과정을 거칩니다.
VQE 필터를 끄는 게 더 나은 사례
일반적으로는 VQE 필터를 사용하는 게 음질을 높이는 데 도움이 되지만 사용하는 장치나 상황에 따라서 그렇지 않을 때도 있습니다. 이를 대비해 LINE Planet은 VQE 필터를 끄거나 켜는 기능을 제공합니다. LINE Planet을 사용하는 LINE 미팅에서도 이 기능을 사용할 수 있습니다. 예를 들어, 아래 그림처럼 LINE 미팅의 마이크 제어 아이콘에서 소음 제거 기능 끄기를 누르면 NS를 끌 수 있습니다.
그렇다면 각 필터는 언제 끄는 것이 좋을까요? 음악 수업처럼 악기를 연주하거나 음악을 전송할 때가 한 가지 사례라고 할 수 있습니다. VQE 오디오 필터를 제어해 음질에 도움이 되는 상황을 살펴보겠습니다.
NS를 끄는 게 좋은 상황
NS는 목소리를 제외한 신호를 잡음으로 판단하고 수집한 신호에서 제거하기 때문에 음악 소리 역시 잡음으로 판단돼 제거 대상이 됩니다. 만약 화상 회의 시스템에서 악기 연주나 음악을 전달하고 싶다면 LINE Planet의 NS를 끄는 것을 추천합니다. 앞서 살펴본 것처럼 LINE 미팅의 마이크 제어 아이콘에서 소음 제거 기능 끄기를 누르면 NS를 끌 수 있습니다.
하지만 LINE Planet NS를 끄면 음악뿐 아니라 주변 잡음도 그대로 전달되므로 사용자가 잡음 원인을 최대한 줄이는 것이 더욱 중요해집니다. 단, 빌트인 NS가 탑재된 오디오 장치에서는 이미 음악 신호를 잡음으로 판단해 제거한 상태로 LINE Planet에 유입될 수 있기에 LINE Planet의 NS를 끈다고 해도 효과가 크지 않을 수 있습니다. 예를 들어 iOS나 Android에서는 빌트인 NS가 기본적으로 작동하므로, 마이크를 통해 음악 신호를 전달하면 좋은 품질을 보장하기가 어렵습니다.
AGC를 끄는 게 좋은 상황
AGC는 음량을 조절합니다. 음악 신호 역시 음량 조절 대상이기 때문에 소리의 강약이 중요한 음악 신호를 전달하려면 LINE Planet의 AGC를 끄는 것을 권장합니다. 아래 그림처럼 LINE의 환경 설정 > 통화에서 마이크의 자동 볼륨을 해제하면 됩니다.
하지만 LINE Planet의 AGC를 끄면 소리 크기를 보정하지 않으므로 마이크 감도 및 마이크와 음원과의 거리를 사용자가 직접 조정해 적절한 음량이 마이크에 도달하게 하는 게 더욱 중요해집니다.
아래 그림은 LINE Planet NS와 AGC를 껐을 때 오디오를 처리하는 과정을 보여줍니다.
향후 VQE 필터 개선 방향
LINE Planet은 머신러닝 기술을 잡음 제거 필터에 적용해서 화상 회의 잡음 제거 성능을 크게 향상했습니다. 기존에는 팬 소음처럼 특성이 일정한 잡음을 주로 제거했다면, 머신러닝 기반 NS는 음성을 제외한 모든 잡음을 제거할 수 있습니다. 다만 기존 NS보다 연산량이 많아서 현재는 Windows와 macOS에서만 사용할 수 있는데요. 최적화 작업으로 연산량을 많이 줄이고 있기 때문에 모바일 플랫폼에도 곧 적용할 예정입니다.
에코 제거 성능뿐 아니라 동시에 말하는(double talk) 상황에서의 음질도 개선하기 위해 머신러닝을 활용한 에코 제거 필터도 개발하고 있습니다. 머신러닝 기반 에코 제거 필터 역시 데스크톱 플랫폼에 먼저 적용한 후 최적화 작업을 거쳐 모바일 플랫폼에 적용할 계획입니다.
또한 사람은 일정한 톤으로 계속 소리를 들으면 피로도가 누적되기 때문에 화상 회의나 원격 수업 등에서 집중도가 떨어질 수 있는데요. LINE Planet에서는 수신한 음성에 공간감을 넣어서 피로도를 줄일 수 있는 방법도 연구하고 있습니다.
맺음말
오디오 장치는 매우 다양하고 화상 회의 시스템을 사용하는 형태나 목적도 다르기 때문에 모든 상황에서 항상 좋은 품질을 제공하는 것은 매우 어렵습니다. LINE Planet 팀은 지속적으로 연구하고 개발해서 기능을 추가하고 성능을 개선해 각 상황에 더욱 적합한 음성 품질을 제공하기 위해 다양한 과제를 진행하고 있습니다. 이를 바탕으로 앞으로 더 많은 사용자가 최적의 오디오 품질을 즐길 수 있게 되길 기대하며 글을 마치겠습니다. 긴 글 읽어주셔서 감사합니다.
- 게인(gain): 오디오 신호에 곱해지는 값으로 1보다 크면 신호가 커지고 1보다 작으면 신호가 작아집니다. 0이면 소리가 없어져서 음소거(mute) 상태처럼 됩니다.