인공지능 - Computer가 소리를 인식하는 방식 - 1.표본화(Sampling), 양자화(Quantizing), 부호화(Encoding)
표본화(Sampling), 양자화(Quantizing), 부호화(Encoding)
연속적인 아날로그 신호를 표본화(sampling), 양자화(quantizing), 부호화(encoding)를 거쳐 이진 디지털 신호(Binary Digital Signal)로 변화시켜 인식하게 됩니다.
1. 표본화 (Sampling)
표본화는 연속적인 아날로그 신호를 일정한 시간 간격으로 측정하여 이산적인 값으로 변환하는 과정입니다. 이때, 초당 샘플링 횟수를 샘플링 레이트(sampling rate)라고 합니다. 샘플링 레이트가 높을수록 시간 간격이 짧아져 더 많은 샘플을 얻을 수 있습니다.
예시
- Low Sample Rate (낮은 샘플링 레이트): 시간 간격이 길어서 적은 샘플이 생성됩니다.
- High Sample Rate (높은 샘플링 레이트): 시간 간격이 짧아서 많은 샘플이 생성됩니다.
2. 양자화 (Quantizing)
양자화는 표본화 단계에서 얻어진 이산적인 샘플 값을 디지털 값으로 변환하는 과정입니다. 이 단계에서는 샘플의 연속적인 진폭(amplitude)을 이산적인 구간으로 나누고, 각 구간에 해당하는 디지털 값을 할당합니다.
연속? 이산?
- 연속적인 값 (Continuous Values):
연속적인 값은 실수로 표현되며, 두 값 사이에 무한히 많은 값이 존재할 수 있습니다. 예를 들어, 시간, 온도, 아날로그 신호 등이 있습니다.
예시 : 0.1, 0.12345, 0.99999 등.
예시 : -1.0, -0.5, 0.0, 0.5, 1.0
- 이산적인 값 (Discrete Values):
이산적인 값은 특정한 간격 또는 단계로만 표현될 수 있으며, 두 값 사이에는 다른 값이 존재하지 않습니다. 주로 정수로 표현됩니다.
예시 : 0, 1, 2, 3 등.
예시 : -128, -64, 0, 64, 127
이산의 필요성
- 디지털 저장 및 처리:
이산적인 값으로 변환함으로써 아날로그 신호를 디지털 형식으로 저장하고 처리할 수 있습니다.
- 압축:
연속적인 신호를 이산적인 값으로 양자화하여 데이터 크기를 줄이고 압축할 수 있습니다.
- 일관성:
디지털 신호는 잡음에 덜 민감하므로 더 일관된 처리가 가능합니다.
예시
- Real Value (실제 값): -0.0973
- Quantization Value (양자화 값): -0.1
양자화 단계에서는 비트(bit) 단위로 신호를 표현하며, 비트 수에 따라 표현 가능한 값의 범위가 결정됩니다.
- B bit의 Quantization: -2^(B-1) ~ 2^(B-1)-1
- 16비트 양자화 (Audio CD의 경우): -2^15 ~ 2^15-1
3. 부호화 (Encoding)
부호화는 양자화된 디지털 값을 바이너리 디지털 신호(Binary Digital Signal)로 변환하는 과정입니다. 이 단계에서 각 샘플의 디지털 값은 컴퓨터가 이해할 수 있는 이진수 형태로 변환됩니다.
종합 예시
- Amplitude (진폭): 0.0973 → -0.1로 양자화
- 양자화된 값을 이진수로 변환하여 저장
이와 같이 표본화, 양자화, 부호화 단계를 거쳐 연속적인 아날로그 신호가 이산적인 디지털 신호로 변환되며, 이를 통해 컴퓨터는 소리를 인식하고 처리할 수 있게 됩니다.
추가 설명
- 파란선: 원래 아날로그 소리 신호를 나타냅니다.
- 검은 점: 샘플링된 지점을 나타내며, 샘플링 레이트에 따라 개수가 달라집니다.
- 수직선: 각 샘플의 진폭을 나타내며, 양자화 과정을 통해 이산적인 값으로 변환됩니다.
이 과정에서 샘플링 레이트와 양자화 비트 수는 음질에 큰 영향을 미칩니다. 높은 샘플링 레이트와 더 많은 비트를 사용하면 더 높은 음질을 얻을 수 있습니다.
댓글남기기