2020/02/18

MP3를 대체할 128k 오디오 압축 인코딩의 신예 Opus, 그러나

MP3를 대체할 128k 오디오 압축 인코딩의 신예 Opus, 그러나

MP3를 대체할 가능성이 높은 Opus

MP3 플레이어, 스마트폰, 컴퓨터, 자동차 스테레오 등 음악을 재생할 수 있는 모든 디지털 장치에 두루 쓰였던 손실 오디오 압축 포맷의 대명사 MP3(MPEG-1 Audio Layer-3)가 대중화된 지도 어느덧 20년이 훌쩍 넘었다. 10년이면 강산도 변한다고 하는데, 재개발 • 재건축이 필요 없는 무형의 디지털 세계는 오죽할까. 그런데도 MP3는 여전히 대중적인 오디오 포맷이다. MP3의 기술적인 한계를 뛰어넘었다던 AAC(Advanced Audio Coding) 포맷이 꽤 오래전부터 선전하고 있는 것은 사실이지만, 여러 음원 서비스 업체에서는 여전히 MP3로 인코딩된 음원을 판매하고 있다. 용량 대비 뛰어난 음질을 보여주는 AAC의 장점이 확실한데도 불구하고 MP3가 여전히 판매되고 있는 것은 어떤 디지털 기기나 프로그램에서도 재생할 수 있다는 뛰어난 범용성 때문일 것이다. 또한, 손실 오디오 압축 포맷 시장을 개척했다는 이 무시하지 못할 인지도가 MP3의 수명을 근근이 연장시키고 있는지도 모른다.

하지만, 「음원 추출을 위한 유튜브 동영상 다운로드는 MKV, 그리고 Opus」이란 글에서 봤듯 128k 비트레이트에서만큼은 AAC도 능가하는 Opus(오푸스) 오디오 포맷의 위력을 알게 된 이상 디지털 음원 시대의 한 획을 장식한 MP3가 역사 속으로 사라지는 일은 시간문제이지 않을까 싶다. 그런데 오디스 스펙트럼 테스트는 실로 묘한 결과를 보여주었다.

• 테스트에 사용한 인코더 버전

─ LAME MP3 v3.100.1

─ OggEnc v2.85

─ Opus v1.3

─ Qaac v2.68

(인코딩 옵션은 기본값)

128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<FLAC Audio spectrum>

128k Opus vs AAC vs Ogg vs MP3

지난번 글은 유튜브 동영상에서 추출한 음원을 가지고 글을 썼다면, 오늘은 내가 즐겨듣는 ‘Eagles - Hotel California(Remaster)’라는 노래(설마 이 노래를 모르는 사람은 없겠지?)의 무손실(FLAC) 음원을 Opus, AAC, Ogg, MP3의 128k VBR(MP3는 CBR) 포맷으로 변환한 것을 spek 오디오 스펙트럼으로 간단하게 분석 • 비교해 보는 자리다. 오디오 스펙트럼이 음질의 모든 것을 대변하는 것은 아니지만, 나 같은 비전문가가 어떤 오디오 포맷을 선택할지에 대한 최소한의 정보는 제공한다는 점에서 의미는 있다고 본다.

128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<Opus 128k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<AAC 128k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<MP3 128k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<Ogg 128k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<MP3 320k Audio spectrum>

오디오 스펙트럼 결과는 예상했듯 Opus 128k가 압도적으로 좋은 결과를 보여주었다. 심지어 320k로 인코딩한 MP3와 엇비슷할 정도다. 확실히 128k에서는 Opus 코덱을 따라올 자가 없다.

256k Opus vs AAC

128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<Opus 256k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<AAC 256k Audio spectrum>

상식적으로 생각하면, 128k에서 256k로 비트레이트가 2배 이상 높아진 만큼 더 좋은 음질을 보여줘야 하는데, Opus는 배짱 좋게도 128k에서 만족하다는 듯 더는 변화가 없다. 128k에서의 압도적인 용량 대비 높은 음질도 놀랍지만, 비트레이트가 2배 이상 높아졌음에도 거의 변화가 없는 것도 놀랍다. 여러모로 놀라운 오디오 코덱이다.

한편, 표준으로 자리 잡은 256k 비트레이트에서의 AAC는 역시 명성대로다. 거의 무손실(FLAC)에 근접하는 스펙트럼을 보여주고 있다.

128k Opus vs AAC vs OGG vs MP3, CPU 사용량 비교

실력이 미치지 못하는 관계로 좀 더 세밀한 측정은 하지 못했지만, 일단 128k 비트레이트로 인코딩된 음원(Opus, AAC, OGG, MP3, 그리고 FLAC)를 foobar2000 앱으로 재생했을 때의 CPU 사용량을 Top(adb shell) 명령어로 측정해봤다(테스트에 사용된 스마트폰은 LG G6).

128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<안드로이드 foobar2000 CPU 사용률>

오랫동안 표준으로 자리 잡은 MP3가 가장 낮은 CPU 사용량을 기록했다. 그다음으로 FLAC > AAC > Opus >= Ogg 순으로 CPU 사용량이 많았다. 낮은 CPU 사용량은 적은 전력 소모량을 의미한다. 어느 기기를 막론하고 MP3가 왜 대중적인 손실 오디오 코덱으로 자리 잡았는지 다시 한번 확인할 수 있는 대목이다. 또한, 예전부터 전력 소모가 높기로 악명 높은 Ogg의 명성도 확인했다. 사실 OGG와 Opus의 CPU 사용량은 엇비슷하다. 압축률이 높다는 것은 그 높은 압축률을 해제하는데도 많은 연산 능력을 소모한다는 것을 의미한다. 이것은 Opus가 넘어야 할 산이다.

소비 전력에 예민한 사용자라면 Opus와 Ogg 코덱은 고려 대상에서 제외될 합당한 이유를 제시한 셈이다. 물론 앞으로 저전력의 고성능 CPU가 계속 등장하리라는 것을 예상하면, 이런 차이는 무시해도 좋다고 생각하는 분도 있겠지만 말이다.

128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<YouTube에서 받은 음원 Opus 128k Audio spectrum>
128k-lossy-audio-compression-encoding-Opus-to-replace-MP3
<인코딩된 파일 크기>

장단점이 극명하게 드러나는 Opus

고용량의 메모리와 저장 장치가 보편화한 요즘 시대에 128k로 인코딩된 음원을 가지고 다니는 사람은 거의 없을 것이다. 그래서 높은 비트레이트에서 품질 향상이 거의 없는 Opus는 스트리밍 용도(음원 서비스, 인터넷 라디오, 유튜브 등)로 사용하는 128k 수준의 영역에서는 ─ 용량 대비 품질 향상이 확실하다는 점에서 ─ MP3나 AAC을 대체할 수 있을지는 모르지만, 고음질을 지향하는 음원 다운로드 시장에서 사용되는 AAC을 대체하기는 현재로선 어려울 것 같다. 애초 Opus가 개발된 목적이나 지향하는 바를 잘 모르는 나로서는 왜 높은 비트레이트에서 품질 향상이 거의 없는지에 대한 원인이나 이유 같은 것 역시 모른다. 지금으로선 Opus 코덱은 스마트폰에 담아 둔 무손실 음원들의 파일 용량을 줄이려는 목적으로 AAC을 대체하기에는 확실히 망설여지는 어설픈 녀석이다. 하지만, MP3(320k, 혹은 그 이하의 비트레이트) 사용자는 사용 중인 디지털 기기가 Opus를 지원한다면 당연히 대대적인 교체를 고려해볼 만하다.

물론 나처럼 청력이 떨어질 나이에 들어선 사람들이 128k Opus로 인코딩된 노래와 256k AAC로 인코딩된 노래의 음질 차이를 구분할 수 있다고는 생각지 않는다. 하지만, 사람에겐 욕망이란 것이 있다. 이왕이면 더 좋고 더 나은 것을 소유하고 싶다는 근원적인 욕망은 인류 문명을 발전시킨 원동력이다. 만약 Opus의 인코딩 성능과 음질이 개선될 수 있다면, 그래서 AAC이나 MP3 같은 다른 손실 압축 포맷처럼 비트레이트가 높을수록 음질도 높아질 수 있다면, 그땐 Opus가 높은 비트레이트에서 어떤 스펙트럼을 펼쳐 보일지 상상만 해도 등골이 오싹거린다.

• 2020/02/20: 좀 더 알아보니 Opus 코덱의 개발 목적은 실시간 인터넷 음성 통신과 같은 저 비트레이트 상황에서의 효율성을 추구하며 개발된 포맷이라 위 스펙트럼에서 본 것처럼 일부러 20kHz 이상의 음역은 자르기 때문에 높은 비트레이트로 갈수록 음질의 효율성이 대단히 떨어진다고 한다. 사실 20kHz 이상의 음역은 사람이 듣지 못하는 영역이고, 그래서 많은 헤드폰 • 스피커의 헤드폰 주파수 응답 특성도 최대 20kHz로 맞춰져 있다. 인코딩 기본값으로 20kHz 제한을 둔 것은 효율의 극대화를 위해 그랬다 치더라도 사용자 옵션으로 그 제한을 풀 수 있게 해놨으면 어떨까 하는 생각을 해본다.

유튜브에서 음원만 골라서 다운로드하는 방법 | YouTube Links

0 comments:

댓글 쓰기

댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요