테크레시피

딥러닝과 노이즈캔슬링이 만났을 때

통화를 할 때 주위 잡음을 없애주는 노이즈 캔슬링은 편안한 대화를 위해 필수적이라고 할 수 있다. 사실 일상 자체는 수많은 주위 소음에 둘러싸여 있다. 시내나 공항에서 전화를 걸면 이 같은 주위 소음까지 상대방에게 들린다. 문제는 항상 완벽하게 소음을 차단해주는 제품을 찾기는 쉽지 않다는 것이다. 그런데 2Hz라는 프로젝트가 딥러닝을 활용해 실용적인 노이즈 캔슬링 기능을 구축하려는 도전을 진행하고 있다.

러닝을 통해 구축한 노이즈 캔슬링 시스템이 그것. 데모 영상을 보면 환경 소음이 귀에 거슬리는 정도 환경에서 말을 녹음한다. 녹음된 음성은 당연히 잡음이 많아 알아 듣기 힘들다. 여기에 2Hz 노이즈 캔슬링을 하면 소리가 선명하게 들린다. 배경 속 소음은 거의 없다고 해도 과연이 아니다.

또 경찰 순찰차가 울리는 사이렌 소리와 함께 녹음한 음성 역시 2Hz 시스템을 통해 재생하면 선명하게 사람 목소리만 들리고 사이렌이 뒤에서 올리는지 여부조차 알 수 없게 된다. 엔비디아는 이렇게 높은 수준으로 노이즈 캔슬링 기능을 실현했지만 이 같은 잡음을 억제하는 시스템 구축은 상당히 어려웠다고 한다.

2Hz가 구현한 노이즈 캔슬링 기능은 먼저 전화를 거는 쌍방 뒤에서 들리는 소음을 상대방에게 보낼 때 억제한다. 이와 대조적인 게 이어폰 등에 들어간 액티브 노이즈캔슬링 ANC(Active Noise Cancellation)다. ANC는 자신의 뒤에서 울리는 소음을 이어폰이나 헤드폰이 감지해 자신의 귀에 닿지 않게 차단해주는 것이다. 이에 비해 2Hz 측은 어디까지나 상대방에게 들리는 잡음을 억제하는 기능에 초점을 맞추고 있다.

통화할 때 잡음을 억제하는 기능은 최근 상당한 기술 발전을 했다. 최신 스마트폰에선 10년 전부터 현격하게 소음이 줄었고 이런 기능은 마이크 2개나 그 이상으로 구현한 것이다. 하나는 사용자가 통화할 때 입에서 나온 목소리가 잘 닿는 부위, 다른 하나는 입가 마이크에서 가능하면 멀리 뒤쪽 등 환경음이 잘 닿는 부분에 설치되는 게 보통이다. 입가 마이크가 소리를 주로 끌어온다면 후면 마이크는 주위 소리를 모아 장치 내부 소프트웨어를 통해 걸러내 깨끗하게 만들어주는 구조로 노이즈 캔슬링을 한다.

하지만 이 기술은 스마트워치처럼 작은 마이크 2개 이상을 떨어진 곳에 설치할 수 없는 기기 혹은 사용자나 장치 위치가 떨어져 있거나 흔들리고 있다면 제대로 작동하지 않는 게 흠이다. 또 마이크를 복수 탑재한다는 면에서 생산 비용도 올라간다. 2Hz는 이런 이유로 마이크 여러 개가 아닌 단일 마이크를 이용한 노이즈 캔슬링을 구현할 구조를 만들어냈다.

음성 배경에 들리는 잡음만 제거하는 노이즈 캔슬링에선 디지털 신호 처리 알고리즘이 많이 쓰인다. 이런 DSP 알고리즘은 연속적인 정상 소음을 차단할 때에는 잘 작동한다. 하지만 아기 울음소리와 사이렌 소리 등 짧고 빠른 소음에는 제대로 대처하지 못한다.

2Hz는 기존 노이즈 캔슬링으로 버거웠던 소음에 대해서도 대체할 수 있도록 딥러닝을 이용했다. 딥러닝을 이용한 노이즈 캔슬링 시스템 구축 방법은 이렇다. 잡음 소리와 깨끗한 음성이라는 2가지 종류 음성 데이터를 제공하고 이를 합친 잡음 들어간 음성을 만들어낸다. 그리고 깨끗한 음성 데이터와 인공 잡음 데이터를 심층신경망 DNN에 입력한다.

그리고나서 입력한 잡음을 음성 데이터에서 제거해 깨끗한 음성 데이터를 출력하도록 훈련시킨다. 깨끗한 음성 데이터를 추출할 수 있는 마스크를 만들어 딥러닝을 활용한 노이즈 캔슬링 시스템을 만드는 것이다. 2Hz 프로젝트를 통해 자체 DNN 아키텍처를 개발하고 다양한 잡음에 대처할 수 있는 마스크를 만들어낼 수 있게 됐다고 한다.

음성 통화에서 노이즈 캔슬링을 이용할 때 문제가 되는 것 중 하나는 음성 지연이다. 사람은 실시간 대화를 할 때 0.2초까지 지연 시간은 견딜 수 있지만 이 이상이 되면 부드러운 대화를 할 수 없게 된다. 회선과 컴퓨터, 코딩 등 3가지 요소가 통화 지연에 영향을 미치지만 보통 가장 크게 지연 시간에 영향을 미치는 건 회선 상황이다. 하지만 DNN을 이용해 노이즈 캔슬링을 하면 실제 통화에 지장이 생길 만큼 지연 시간이 생길 가능성을 부정할 수 없다.

이런 이유로 고품질 노이즈 캔슬링 통화를 지원하려면 이를 처리할 컴퓨터 성능을 높일 필요가 있다. 하지만 통화에 이용하는 스마트폰 같은 장치에 노이즈 캔슬링을 위한 고사양 컴퓨팅을 탑재하는 건 현실적이지 않다. 엔비디아는 이런 이유로 노이즈 캔슬링 도구를 클라우드화한다는 발상을 했다. 노이즈 캔슬링 시스템은 소프트웨어 기반이기 때문에 반드시 로컬 장치 자체에 탑재하고 있을 필요는 없다는 것이다.

거대 VoIP 공급자라면 대량 통화를 동시 처리해야 한다. 보통 미디어 서버 하나로 G.711이라는 음성 부호를 이용한 통화를 동시에 3,000건 처리하고 있다고 한다. 노이즈 캔슬링을 VoIP 음성 통화 시스템에 통합하면 서버 측 처리가 늦어져 자칫 서비스 품질에 악영향을 줄 수 있다. 2Hz 프로젝트는 CPU를 이용해 처리를 시도했다가 비용 효율적인 결과를 얻을 수 없었다고 밝히고 있다. 이런 이유로 엔비디아의 GPU인 GTX1080 Ti를 이용해 노이즈캔슬링을 포함한 VoIP 처리를 실험한 결과 서버 최적화 없이 1,000건 통화를 동시 처리할 수 있었고 최적화를 통해 3,000건 동시 통화가 가능하게 됐다고 한다.

음성 전송이나 코딩 같은 기본 처리는 CPU가 하고 GPU는 노이즈 캔슬링 일괄 처리를 맡아 기존 VoIP 처리에 영향을 안 주고 잡음을 최대한 억제했다는 것이다. GPU는 3D 그래픽 처리에 맞는 대규모 병렬 처리를 전문으로 한다. 또 엔비디아가 지난 몇 년 사이 급성장한 배경에서 알 수 있듯 딥러닝 등 일괄 처리에 GPU가 주목받고 있다. 엔비디아 쪽은 이런 점에서 딥러닝을 이용한 노이즈 캔슬링 일괄 처리에도 GPU가 적합하다고 밝히고 있다. 이런 점을 보면 이번 2Hz 역시 GPU의 활용 시장 확대 측면의 연구 개발이라고 볼 수 있겠지만 이 같은 노이즈 캔슬링에 딥러닝 등 AI 관련 기술을 도입하는 건 꽤 눈길을 시도인 것도 분명하다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사