디더링(dithering)은 무엇이고 언제 필요한가?

디더링(dithering)은 무엇이고 언제 필요한가?

오디오에서 디더링(dithering)이 무엇이고 언제 필요할까요?

참고

  • 영상에서 사용한 마이크와 인터페이스: 르윗 LCT440, Sound Devices MixPre-3 II
  • 전체 오디오 레벨은 -14 LUFS로 노멀라이즈 했습니다.
  • 유튜브 챕터와 자막을 지원합니다.
디더링(dithering) / 고음질 오디오 M4A (AAC LC VBR)

양자화 오차(Quantization errors)로 인한 고조파 왜곡

예 #1

64bit float DAW 환경에서의 250Hz 사인파
위의 250Hz 사인파를 디더링하지 않고 8, 16, 24비트 PCM 파일로 만들 경우 양자화 오류로 인한 왜곡이 발생하는 것을 알 수 있다.
16비트 파일 디더링 전(왼쪽)/후(오른쪽). 디더링으로 하모닉 디스토션이 사라진 것을 확인할 수 있음

예 #2

양자화 오차(Quantization errors)로 인한 왜곡을 확인하는 방법

32bit float 원본 파일 / 매우 긴 리버브가 걸린 스네어 드럼

위 원본을 DAW에서 -60dB 낮춰서 디더링한 것과 안 한 것 두 가지 16bit PCM 파일로 저장한다.

16비트 디더링하지 않은 파일 (+60dB)

디더링하지 않은 것은 왜곡뿐만 아니라 리버브 잔향이 끝까지 제대로 표현되지 않는다.

16비트 디더링 + 노이즈 쉐이핑 (+60dB)

디더링한 파일은 디더 노이즈가 있지만 왜곡도 없고 리버브 잔향도 길게 원본과 같다.

디더링(dithering)이란?

  • 디더링(dithering)은 전 주파수 대역을 포함하는 디더 노이즈(예: 화이트, 핑크 노이즈)를 추가해서 양자화 오차(Quantization errors)로 인한 왜곡을 줄여준다.
  • 노이즈 쉐이핑(noise shaping)은 디더 노이즈에서 가청 신호를 줄여준다.
  • 디더링(+노이즈 쉐이핑)으로 8비트는 최대 64dB, 16비트는 112dB, 24비트 파일은 160dB 정도의 다이나믹 레인지를 확보할 수 있다.

디더링은 언제 해야 하나?

  • DAW에서 16/24bit 파일을 만들 때
  • 비트뎁스를 낮추는 경우(예: 24비트를 16비트로 변환)에도 디더링을 한다.
  • 16비트 디더링은 마지막 단계에서 한 번만 한다.
  • 원본 파일을 압축 코덱(mp3,aac)으로 변환할 때는 16비트 디더링 후에 변환하는 것이 좋다(* 아래 참고).

디더링을 하면 안 되는 경우

  • 추가적인 편집이 필요한(최종본이 아닌) 경우에는 디더링 하지 않고 32/64bit float으로 저장한다.

손실 압축 포맷으로 변환하기 전에 16비트 디더링을 하는 것이 좋은 이유

MP3, AAC 같은 손실 압축 포맷에는 16/24bit 같은 비트뎁스(bit depth) 개념이 없다. 오디오 샘플이 시간 도메인으로 샘플링되는 PCM 과는 다르게 비트 수를 줄여야 하는 압축 포맷에서는 주파수 도메인에서 저장되기 때문이다(MP3 파일의 헤더에는 비트뎁스 정보가 없음).

그리고 손실 압축 포맷은 기본적으로 floating point이기 때문에 16/24/32 fixed point의 다이나믹 레인지를 인코딩하는 데 문제가 없다(*사용되는 인코더 라이브러리에 따라 다를 수 있음).

하지만 재생 과정, 즉 디코더에 의해 PCM 데이터로 변환되어 오디오 신호가 되는 과정에서 디코더에 따라 PCM 비트뎁스가 정해지고 디더링 여부도 달라지며 이것은 당연히 재생 환경의 비트뎁스에 따라서도 달라질 수 있다.

그래서 처음부터 디더링한 원본 16비트 PCM 파일을 MP3, AAC 같은 포맷으로 변환하는 것이 안전하다고 할 수 있다.

예: foobar 플레이어에서는 재생할 때 비트뎁스와 디더링 적용 여부를 옵션에서 선택할 수 있음.

관련 링크


Streamlabs.kr에서 더 알아보기

최신 글을 이메일로 받으려면 구독하세요.

“디더링(dithering)은 무엇이고 언제 필요한가?”에 대한 4개의 댓글

댓글 남기기