작성자: 박재성(ospace114@empal.컴)
작성일: 2008.4.21
- 편의상 평어를 사용했습니다.
- 퍼갈때는 출처를 밝히는 센스 부탁해요.
아래 내용은 나름대로 여러 분에게 도움이 되고자 정리하였습니다. 그림까지 있으면 더 좋을텐데 시간 관계상 글로만 작성했습니다.
인터넷 상에서 샘플레이트와 비트레이트의 정의는 간혹 있다. 샘플레이트는 이해가 쉽지만, 비트레이트는 쉽게 와닫지않는다. 즉 알송달송하다. 비트레이트와 오디오 포멧에서 어떤 관계를 가지고 있는지 알 수 없다.
이에 대해서 실제 데이터 파일 크기를 가지고 두 rate(레이트)간에 비교하였다. 그리고 글의 내용은 오디오에 대해서 어느정도 지식을 가지고 있는 분들을 대상으로 작성하였다.
초보자분 들은 다른 곳에서 기본적인 용어와 지식을 찾아보길 바란다.
위의 단어는 오디오 다루면서 매우 많이 접하는 단어이다. 일단 간단하게 정리를 해보자.
먼저 sample(샘플)을 먼저 알아 보자.
샘플은 말그대로 샘플이다. 아날로그의 연속된 데이터를 디지털로 표현하기에는 한계가 있다. 아날로그의 연속된 값은 무한 대로 쪼갤 수 있기 때문이다. 그렇기에 그중에 대표적인 특정 값(샘플)을 추출해서 사용하게 된다. 다수의 샘플들 집합으로 소리를 표현할 수 있다.
Sample rate (샘플레이트)
이는 샘플의 빈도 수이다. 좀더 직접적으로 말하면, 1초당 추출되는 샘플 개수이다. 오디오에서 44.1KHz(44100Hz), 22KHz(22050Hz)를 말한다. 괄호안에 값은 좀더 정확하게 표현한 값이다.
예를 들어 44.1KHz는 1초동안에 사만사천백(44100)개로 등분해서 샘플을 추출한다. 값이 커질 수록 더욱더 세밀하게 등분해서 정확한 오디오 데이터를 추출할 수 있다. 그러나 너무 큰 값은 추출되는 데이터 크기를 너무 크게 만들어서 처리하기 힘들다. 보통 44.1KHz가 CD음질로 많이 사용되므로 이이상 추출하는 것은 특수한 경우를 제외하고 의미가 없다.
Bit rate (비트레이트)
초당 전송되는 데이터 양이다. 직접적으로 표현하면 1초당 전송되는 비트 수이다. 간혹 혼돈되는 내용이 평균 데이터 전송량(Avarage Byte Rate)이다. 즉 실제 갖고 있는 데이터 량으로 같은 포멧의 원본(PCM) 데이터 량과 틀리다. Bit rate가 나올 수 있는 것은 오디오 압축 기술이 나오면서 가능하게 되었다.
보통 192Kbps, 128Kbps, 56Kbps 등을 사용한다. 128Kbps정도면 CD음질정도가 되고 192Kbps정도면 최상이다. 그 이상이 되면 용량이 늘어날뿐 보통 음질을 잘 구분하지 못한다.
실제 간단한 예를 보면사 둘간의 상관관계를 살표보자.
아래는 샘플 파일 정보이다.
파일명: stop.mp3
재생시간: 4분 59초 (299초)
비트레이트: 56Kbps (CBR)
채널수: 2 ch
비트: 16 bit
샘플레이트:22050 Hz
크기: 2,094,939byte
파일명: stop.pcm
크기: 26,394,624 byte
MP3 파일 크기 계산
먼저 MP3 파일 크기를 계산해 보자. 이때 필요한 값이 재생시간과 비트레이트이다.
파일크기 = 재생시간 * 비트레이트 / 8
8를 나눠준 이유는 비트에서 바이트로 변환하기 위한 것이다.
299 * 56000 / 8 = 2,093,000 (byte)
실제 값과 약간의 오차가 있는 이는 재생 시간이 1초 이하의 시간을 고려하지 않았고, MP3의 테그와 헤더 정보를 고려하지 않았기 때문이다. 비트 레이트는 실제로 처리되는 데이터 크기이므로 실제 재생시간과 곱함으로서 실제 데이터 크기를 알아낼 수 있다.
PCM 데이터 처리량
원래 초당 데이터 량이 다음과 같이 처리된다고 알고 있을 것이다.
초당 데이터 량 = 샘플레이트 * 채널 수 * 비트
그러므로,
22050 * 2 * 16 = 705,600 (bit)
즉, 약 705Kbps가 된다. 바로 이 값이 실제 PCM에서 처리되는 데이터 량이다. 그러나 MP3로 되면서 705Kbps값이 56Kbps 값으로 약 12배 차이가 난다.
PCM 파일 크기 계산
PCM 파일 계산에서는 비트 레이트가 없다. PCM 자체에 모든 데이터를 저장하고 있기 때문이다. 즉 앞에서 구한 PCM 데이터 처리량을 이용해서 구하면 된다.
PCM 파일 크기 = PCM 데이터 처리량 * 재생시간 / 8
8로 나눈이유는 비트를 바이트로 변경하기 위해서이다.
705,000 * 299 / 8 = 26,349,375 (byte)
실제 크기인 26,394,624와 약간의 차이가 있다. 이는 위의 계산시 1초 이하의 시간을 고려하지 않았기 때문이다.
마무리
즉 다시 말하면 PCM 파일에서 bit rate는 pcm 데이터 처리량과 같다. 이를 계산 식으로 변경하면,
비트 레이트 = 샘플 레이트 * 채널 수 * 비트
그러나 MP3인 경우는 위 식이 맞지 않는다.
실제 파일 크기를 보아도 10배 이상의 차이가 발생한다. 이 차이가 MP3와 PCM의 비트레이트 차이와 비슷하다. 그리고 MP3 자체 음질도 나쁘지 않기에 MP3 파일을 사용하게 된다.
위의 MP3 샘플은 음질을 많이 저하시켰기 때문에 음악 감상용으로 적합하지 않지만, 온라인상에서 간단히 재생하는 목적이라면 적합한 포멧이다. 즉 적절히 원하는 용도로 음질을 조절해서 사용할 수 있으면 그만큼 처리되는 데이터 량을 조절할 수 있게 된다.
주의할 것은 bit rate를 CBR(Constant Bit Rate)만 다루었다. 실제는 다음과 같은 것이 추가로 있다.
- VBR(Variable Bit Rate): 가변 전송율
- ABR(Average Bit Rate): 평균 전송율
- SBC(Smart Bit Rate): 스마트 전송율
위의 용어 정의는 다른 사이트를 검색해보면 쉽게 찾을 수 있다. 위의 전송율 방식에 따라서 실제 파일 길이도 차이가 발생하므로 앞에서 계산한 식이 절대적이라고 말할 수 없다.
위의 내용은 MP3를 다루었지만 OGG나 다른 포멧에서도 동일하게 적용된다.
이상으로 마치겠다.
덧글
우리가 알고 있는 WAV가 PCM으로 착각할 수 있는데, 동일 하지 않는다. WAV는 PCM외에 다른 인코딩 방식도 지원하고 있다. 즉 WAV가 PCM를 저장할 수 있는 포멧이다. 자체가 PCM이 아니다.
PCM는 순수 데이터만 저장하고 있다. 그렇기에 PCM파일을 불러오는 경우 샘플 레이트, 채널 수, 비트 수를 직접 입력해야한다. 즉, 헤더 정보가 없다.
추가로 PCM 파일을 재생할 수 있는 프로그램은 Cool Edit를 사용하면 된다.
출처:
- 인터넷에서 기본적인 용어 정의
- 내 두뇌~~
'1.관리 및 아키텍처' 카테고리의 다른 글
DevOps 소개 (2) | 2023.12.26 |
---|---|
코드 리뷰 Code Review 가이드 (2) | 2023.11.13 |
Bitcoin: A Peer-to-Peer Electronic Cash System 정리 (0) | 2021.06.10 |
[작성중]OOD 개발 지침 (0) | 2012.07.26 |
서버 동영상 처리 용량에 대해 (0) | 2007.07.18 |