Audio-003, SoundStream: An End-to-End Neural Audio Codec, TASLP 2021

Abstract

우리는 SoundStream이라는 새로운 신경망 기반 오디오 코덱을 제안한다. 이 코덱은 일반적으로 음성 전용 코덱이 목표로 하는 비트레이트에서 음성, 음악, 일반 오디오를 효율적으로 압축할 수 있다. SoundStream은 완전 합성곱 기반 인코더/디코더 네트워크와 **잔차 벡터 양자화기(residual vector quantizer, RVQ)**로 구성된 모델 아키텍처에 기반하며, 이들은 엔드-투-엔드 방식으로 공동 학습된다. 학습은 텍스트-투-스피치(TTS)와 음성 향상 분야의 최신 기법을 활용하며, **적대적 손실(adversarial loss)**과 **재구성 손실(reconstruction loss)**을 결합해 양자화된 임베딩에서 고품질 오디오를 생성할 수 있도록 한다.

양자화기 층에 **구조적 드롭아웃(quantizer dropout)**을 적용해 학습하면, 하나의 모델이 3 kbps에서 18 kbps까지 다양한 비트레이트에서 동작할 수 있으며, 고정된 비트레이트에서 학습된 모델과 비교했을 때 품질 손실은 거의 없다. 또한 이 모델은 **낮은 지연 시간 구현(low-latency implementation)**이 가능해, 스트리밍 추론을 지원하며 스마트폰 CPU에서도 실시간으로 동작한다.

24 kHz 샘플링 레이트의 오디오를 사용한 주관적 평가에서, SoundStream은 3 kbps에서도 Opus(12 kbps)보다 우수한 성능을 보였으며, EVS(9.6 kbps)에 근접한 결과를 나타냈다. 더 나아가, 인코더 또는 디코더 측에서 압축과 향상을 동시에 수행할 수 있으며, 추가 지연(latency)을 유발하지 않는다. 이를 우리는 음성의 배경 소음 억제 사례를 통해 입증한다.

I. INTRODUCTION (서론)

오디오 코덱은 크게 두 부류로 나눌 수 있다: 파형 코덱(waveform codecs)파라메트릭 코덱(parametric codecs). 파형 코덱은 디코더 측에서 입력 오디오 샘플을 충실하게 재구성하는 것을 목표로 한다. 대부분의 경우, 이러한 코덱은 변환 부호화(transform coding) 기법에 의존한다. 즉, (보통 가역적인) 변환을 사용해 입력 시간영역 파형을 시간–주파수 영역으로 사상하고, 그다음 변환 계수를 양자화하고 엔트로피 부호화한다. 디코더 측에서는 변환을 역으로 적용해 시간영역 파형을 재구성한다. 종종 인코더에서의 비트 할당은 지각(perceptual) 모델에 의해 주도되며, 이것이 양자화 과정을 결정한다. 일반적으로 파형 코덱은 오디오 콘텐츠 유형에 대해 거의 혹은 전혀 가정을 하지 않으므로 일반 오디오에 적용될 수 있다. 그 결과, 중–고 비트레이트에서는 매우 높은 음질을 제공하지만, 저비트레이트에서 동작할 때는 부호화 잡음(coding artifacts)을 유발하는 경향이 있다. 파라메트릭 코덱은 (대부분의 경우 음성) 부호화할 원천 오디오에 대한 특정한 가정을 도입하고, 오디오 합성 과정을 설명하는 파라메트릭 모델의 형태로 강한 사전지식을 넣음으로써 이 문제를 극복하고자 한다. 인코더는 모델의 파라미터를 추정하고 이를 양자화한다. 디코더는 양자화된 파라미터로 구동되는 합성 모델을 사용해 시간영역 파형을 생성한다. 파형 코덱과 달리, 목표는 샘플 단위로 충실한 재구성이 아니라 지각적으로 원본과 유사한 오디오를 생성하는 것이다.

전통적인 파형 및 파라메트릭 코덱은 신호 처리 파이프라인과 세심하게 설계된 공학적 선택에 의존하는데, 이는 부호화 효율을 높이기 위해 음향심리(psycho-acoustics) 및 음성 합성에 대한 도메인 지식을 활용한다. 최근에는 머신러닝 모델이 오디오 압축 분야에 성공적으로 적용되면서 데이터 기반 접근이 가져오는 부가 가치를 입증했다. 예컨대 기존 코덱의 품질을 향상시키는 후처리 단계로 사용할 수 있는데, 이는 오디오 초해상도(즉, 주파수 대역 확장) [1], 오디오 디노이징(손실 부호화 인공물 제거) [2], 혹은 패킷 손실 은폐 [3]를 통해 달성될 수 있다.

또 다른 해결책은 ML 기반 모델을 오디오 코덱 아키텍처의 구성 요소 자체로 채택하는 것이다. 이 영역에서, 최근의 텍스트-투-스피치(TTS) 기술의 발전이 핵심 요소로 작용했다. 예를 들어, 원래 텍스트로부터 음성을 생성하는 데 적용된 강력한 생성 모델인 WaveNet [4]은 신경 코덱의 디코더로 채택되었다 [5], [6]. 다른 신경 오디오 코덱들은 서로 다른 모델 아키텍처를 채택하는데, 예컨대 LPCNet [7]에서는 WaveRNN, Lyra [8]에서는 WaveGRU를 사용하며, 모두 저비트레이트의 음성을 목표로 한다.

본 논문에서는 SoundStream이라는 새로운 오디오 코덱을 제안한다. 이는 그림 1에서 보이듯이, 이전 코덱들보다 음성, 음악, 일반 오디오를 더 효율적으로 압축할 수 있다. SoundStream은 신경 오디오 합성 분야의 최신 해법을 활용하고 새로운 학습 가능한 양자화 모듈을 도입하여, 낮은–중간 비트레이트로 동작하면서도 높은 지각적 품질의 오디오를 제공한다. 그림 2는 코덱의 상위 수준 모델 아키텍처를 보여준다. 완전 합성곱 인코더는 시간영역 파형을 입력으로 받아 더 낮은 샘플링 레이트에서의 임베딩 시퀀스를 생성하고, 이는 잔차 벡터 양자화기(residual vector quantizer) 에 의해 양자화된다. 완전 합성곱 디코더는 양자화된 임베딩을 입력받아 원래 파형의 근사치를 복원한다. 모델은 재구성 손실적대적 손실을 모두 사용하여 엔드-투-엔드로 학습된다. 이를 위해 하나(또는 그 이상)의 판별기(discriminator)를 공동으로 학습하는데, 그 목적은 디코딩된 오디오와 원본 오디오를 구별하는 것이며, 부수적으로 특징 공간에서의 재구성 손실을 계산할 수 있는 공간을 제공한다. 인코더와 디코더는 모두 인과(concatenated가 아니라 causal) 합성곱만 사용하므로, 모델의 전체 아키텍처 지연(latency)은 원래 시간영역 파형과 임베딩 간의 시간 리샘플링 비율에 의해서만 결정된다.

요약하면, 본 논문은 다음과 같은 핵심 기여를 한다:

  • SoundStream을 제안한다. 여기서 모든 구성 요소(인코더, 디코더, 양자화기)는 재구성 손실과 적대적 손실의 혼합으로 엔드-투-엔드 학습되어, 우수한 오디오 품질을 달성한다.

  • 새로운 잔차 벡터 양자화기(residual vector quantizer) 를 도입하고, 그 설계가 내포하는 레이트-왜곡-복잡도(rate-distortion-complexity) 절충을 조사한다. 추가로, 양자화기 드롭아웃(quantizer dropout) 이라는 새로운 학습 기법을 제안하여, 단일 모델이 다양한 비트레이트를 처리할 수 있게 한다.

  • 인코더를 학습하는 것이, 멜-스펙트로그램 특징을 채택하는 해법에 비해, 매우 큰 부호화 효율 개선을 가져옴을 보인다.

  • 주관적 품질 지표를 통해, SoundStream이 광범위한 비트레이트에서 OpusEVS를 능가함을 보인다.

  • 모델을 스트리밍 가능한 추론(streamable inference) 을 지원하도록 설계했으며, 저지연으로 동작할 수 있다. 스마트폰에 배치했을 때, 단일 CPU 스레드에서 실시간으로 구동된다.

  • 오디오 압축과 향상(enhancement)추가 지연 없이 공동으로 수행하는 SoundStream 변형도 제안한다.




























Reference

댓글