[Sampling]
이 세상의 소리(Sound)라는 것은 아날로그이기에 Linear 하다.
그런데 컴퓨터는 디지털이므로 이 Linear한 소리를 Discrete 한 데이터로 변환해야 한다.
아날로그의 오묘하고 복잡한 특성을 전부 그대로 담기에는 용량의 문제가 있으므로
일부분만 채취(샘플링)하여 최대한 원본과 유사한 디지털 데이터를 만들게 된다.
이러한 과정 또는 행위를 샘플링이라 한다.
용어가 몇 개 있다:
(1) 샘플링 레이트(Sampling Rate) : 1초에 몇 개의 샘플을 추출할 것인지
(2) Bit Depth : 한 개의 샘플이 얼마만큼의 크기를 가지는지
당연하게도 샘플링 레이트가 높을 수록 아날로그와 유사한 디지털 값(고음질)을 얻을 수 있다.
아래 그림은 샘플링 레이트에 따른 디지털 데이터의 모양을 나타낸다.
잘게 쪼갤 수록 아날로그의 것과 같이 부드러운 곡선이 되는 것(=원본에 가까움)을 확인할 수 있다.
(출처: http://www.morphfx.co.uk/music/edu-sampling.htm)
우리가 일반적으로 구입할 수 있는 음반 CD의 스펙은 44,100hz 16bit 이다.
1초에 44100개의 샘플을 추출하고, 각 샘플의 크기는 16bit (= 2byte short) 라는 것이다.
[나이퀴스트 샘플링 이론(Nyquist–Shannon sampling theorem)]
왜 대부분의 MP3 파일, 혹은 하드웨어들이 44,100hz 스펙을 가지고 있는지에 대해 이 것으로 설명이 가능하다.
이론의 결론만을 요약하면 다음과 같다:
A sufficient sample-rate is therefore 2B samples/second, or anything larger.
충분한 샘플링 레이트는 대역폭의 두 배, 혹은 그 이상이다.
이론에 대한 간략한 설명
사람이 소리로 들을 수 있는 가청 주파수의 범위는 20~20000 Hz 이다.
즉 데이터의 대역폭이 20 KHz라는 것인데, 이를 왜곡(Aliasing 등) 없이 샘플링 하려면
대역폭의 2배인 40 KHz 샘플링 레이트로 샘플링 해야한다.
여기서 오차 10% 및 영상 업계 표준과의 동기화 문제 등으로 인해
현재는 44,100Hz와 48,000Hz가 범용적으로 가장 많이 사용되게 되었다.
아래는 어디서 줏어들은 것:
44,100hz : 25FPS PAL, 30FPS NTSC
48,000hz : 29.97FPS NTSC
[Sources]
https://en.wikipedia.org/wiki/Sampling_(signal_processing)
https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem
https://en.wikipedia.org/wiki/Aliasing
'컴퓨터 공학 > 단편적 지식' 카테고리의 다른 글
[통신] OFDM(Orthogonal Frequency Division Multiplexing, 직교 주파수 분할 다중화) (0) | 2018.07.16 |
---|---|
[머신러닝] Windows에 TensorFlow 설치하기 (0) | 2018.01.04 |
[소리/음향] 샘플링(Sampling) 및 관련 이론 (0) | 2017.03.16 |
석사 연구를 시작합니다. (0) | 2017.01.11 |
[Java] java.lang.System 클래스 정의 위치의 이유? (0) | 2010.08.29 |
[Java] java.io.InputStream과 OutputStream은 왜 추상클래스일까? (0) | 2010.08.29 |