차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

펄스부호변조 [2012-08-12 03:22] (현재)
lifthrasiir 새로 만듦
줄 1: 줄 1:
 +====== 펄스 부호 변조 =====
  
 +Pulse-Code Modulation (PCM). 아날로그 [[신호]], 특히 [[소리]]를 디지털 형식으로 표현하는 [[변조]] 방법으로, (어떤 의미에서) "압축이 되지 않은" 디지털 오디오 신호로 간주할 수 있기 때문에 [[디지털오디오포맷]]의 근간이 된다. 덕택에 종종 PCM이라고 할 때는 PCM을 사용한 [[WAV]] 파일을 가리키는 경우도 흔한데, WAV 파일은 단순한 [[미디어컨테이너포맷|컨테이너 포맷]]이기 때문에 정확히는 같지 않다.
 +
 +앞에서 "압축이 되지 않는"다는 얘기를 하긴 했지만, 엄밀하게 말하면 펄스 부호 변조 또한 본래의 아날로그 신호를 디지털로 표현할 수 있도록 잘라 내는 [[손실압축]]으로 간주할 수 있다. 이 손실 압축의 정밀도는 [[양자화]]에 관련된 두 가지 요소에 따라 결정된다:
 +
 +  * **[[샘플링레이트]]**(sampling rate)는 신호의 진폭을 얼마나 자주 측정할 것인지를 나타내며, 시간축에서의 [[양자화]]라 부를 수 있다. 이 양자화는 [[샘플링정리]]와 매우 밀접하게 연관되어 있으며, 구체적으로는 표현하고자 하는 가장 높은 주파수의 두 배만큼 자주 측정해야 한다. 흔히 쓰이는 값 [[44.1 kHz]]는 1초에 4만 4100번, 즉 대략 0.000023초마다 한 번 측정하는 것에 해당한다.
 +  * **샘플 크기**(bit depth)는 측정된 진폭, 즉 "샘플"을 얼마나 정확하게 나타낼 것인지를 나타내며, 진폭에서의 양자화라 할 수 있다. 샘플 크기가 클수록 더 넓은 범위의 [[음압]]을 나타낼 수 있으며(즉 [[다이나믹레인지]][dynamic range]가 높아진다), 그만큼 실제 아날로그 신호와도 유사해진다. 샘플 크기의 실제 의미는 양자화 방법에 따라 달라지는데, 흔히 쓰는 16[[비트]] [[LPCM]]은 진폭의 최대값과 영점 사이에 거의 2<sup>16</sup>개의 단계가 존재하도록 되어 있어 대략 96 [[데시벨|dB]]의 다이나믹 레인지를 갖게 된다.((표현 가능한 가장 낮은 신호가 1이고, 가장 높은 신호가 2<sup>16</sup>이면, 둘 사이의 음압 차이는 $$20 \log_{10} \frac{2^{16}}{1} \approx 96.3~\mathrm{dB(SPL)}$$이 된다. 실제로는 저음부를 [[디더링]]을 통해 더 정확하게 표현할 수 있기 때문에 이보다 조금 더 높은 다이나믹 레인지가 나오긴 한다.))
 +
 +보통 대부분의 사람들은 [[오디오컴팩트디스크]]가 사용하는 44.1 kHz 샘플링 레이트와 16비트 LPCM 양자화 이상의 신호를 뚜렷하게 구분할 수 없다. (물론 민감한 사람은 구분한다는 얘기도 있으며, 이 때문에 하이엔드에서는 192 kHz 샘플링 레이트와 24비트 LPCM까지 사용되고 있다.) 물론 이것이 [[황금귀]]를 입증해 주는 것은 아닌게, 황금귀는 **이미** 디지털 신호로 표현된 사운드와 그걸 정확하게 복사한 사운드 사이의 차이가 있다고 주장하는 것이기 때문이다. 필연적으로 존재하는 아날로그 신호와 디지털 신호 사이의 차이와는 완전히 다른 주장이다.
 +
 +===== 선형 펄스 부호 변조 =====
 +
 +Linear PCM (LPCM). 샘플을 양자화할 때 그 간격을 균일하게 나누는 방법으로, 예를 들어 8[[비트]] LPCM이라면 최대 진폭 크기의 2/255((가장 큰 양의 진폭(+1)과 가장 작은 음의 진폭(-1) 사이에 255개의 레벨이 있다는 얘기다.)) 단위로 양자화하는 것이 된다. 아무래도 가장 간단한 방법이니만큼 개나 소나 사용하며, 그냥 아무 말 없이 "PCM"이라고 쓰면 대부분 LPCM인 경우가 많다.
 +
 +LPCM의 가장 큰 단점은 저음의 처리로, [[음압]]이 지수적으로 증가하면 인간의 귀가 느끼는 소리의 세기는 선형적으로 증가하기 때문에 상대적으로 낮은 소리는 지수적으로 낮은 진폭을 가지게 된다.((실제로 느끼는 소리의 세기는 주파수에도 영향을 크게 받는다. [[등청감곡선]](equal-loudness curve) 참고.)) 따라서 저음으로 갈 수록 양자화되는 단위가 커져서 정밀도가 떨어지게 된다. (앞에서 16비트에 대응하는 다이나믹 레인지가 96 dB라고 했으나 실제로는 아무 처리도 없으면 90 dB 정도 밖에 표현할 수 없게 된다.) 이런 문제를 해결하려면 [[디더링]]과 같은 방법을 사용해서 저음부에서의 정밀도를 높여 줘야 한다.
 +
 +{{tag>오디오코덱}}

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2012-08-12 03:22 | 작성자 lifthrasiir