Audio Codec이 표준화되기 시작한 것은 약 90년대부터이다.
그 전에도 여러 가지 Codec이 있었지만, psychoacoustics이라는 model이 개발이 되고, 그것을 Codec에 적용을 해서 Codec 기술이 크게 발전을 하였다.
사람이 청취하는 방향성에 대하여 먼저 분석을 하고 Codec 개발을 한 것이다.
기존의 PCM 신호들은 사람이 들을 수 있던, 없든 간에 모든 시그널이 들어가 있으므로 데이터 사이즈가 컸는데, 그것을 기존의 압축 알고리즘을 통해 압축을 시도하는 경우 한계가 있었다.
사람이 못 듣는 부분은 과감하게 날려버리고 듣는 쪽에서 압축을 정교하게 해 보자는 방식으로 접근하여 압축을 하면서도 CD의 원음과 유사한 정도의 음질을 제공해 줄 수 있었다.
이것이 MP3이다(94년 표준화됨).
MP3를 정확하게 표현하자면 MPEG2의 Layer 3이다. MPEG1은 92년도에 표준화가 되었고, MPEG2는 94년도에 표준화가 되었는데, MPEG2의 Audio Layer 1~3까지가 있다. MPEG2 Codec은 MPEG1과 하위 호완성을 고려해서 만들어졌기 때문에 최적화된 Codec은 아니다. 압축 효율도 좋지 않을뿐더러 음질 측면에서도 좋지 못하다. 어중간한 Hybrid Codec이라고 표현할 수 있겠다.
그 후 MPEG Audio working group에서 하위 호환성을 배제하고 최선의 음질과 압축률로 Codec을 만들어 보자 해서 나온 Codec이 AAC(Advanced Audio Coding)이다. 이 Codec의 원래 명칭은 Mpeq NBC 였다. 97년에 나왔다.
음질에서는 AAC가 가장 뛰어나다.(단 16bit 44.1kH의 품질에서)
여러 가지 테스트 샘플이 있다.
해당 분야에 대해서 조금만 관심을 가지고 있다면 알겠지만 누구나 다 동의하고 있고 AAC가 음질 측면에서는 뛰어나다.
같은 bitrate 테스트뿐 아니라 bitrate를 낮춰도 AAC가 음질이 좋다고 평가되어 있다.
사람들이 궁금해하는 것 중 하나가 AAC가 재생되는 플랫폼(iOS/Android)에 따라서 성능 차이를 다르게 느끼고 있다.
이는 왜 그런 것일까?
이것에 대해 얘기하기 앞서 얘기해야 할 것이 MP3나 AAC, AAC+등은 국제규격(International Standard)이고, SBC나 AptX는 블루투스 규격이므로 Codec 품질이 더 떨어진다. 실제 들어보거나 적용된 기술적 알고리즘을 보더라도 음질이 떨어질 수밖에 없다. 보통 사람들이 SBC나 APTX가 좋다고 생각하지만 그것은 마케팅이고 실제 APTX의 베이스가 되는 Codec을 살펴보면 90년대 이전의 ADPCM 기반으로 만들어져 있다. 이는 심리 음향 분석이 적용되지 않은 단순한 압축 방식을 채용했다. 같은 대역폭에서는 절대 MP3나 AAC의 품질을 낼 수 없다.
다시 얘기의 본점으로 돌아와서, 왜 플랫폼 별로 같은 AAC라고 해도 소리가 다르게 들릴까?
국제 규격(International Standard)에서 꼭 지켜야 할 규격은 디코더(수신기)에만 있다.
디코더(수신기)는 Bit stream의 Header 각 Field에 어떠한 정보를 기록해야 하는지, payload에 어떠한 Audio data가 있어야 하는지 그 stream의 정보를 가지고 풀어내기만 하면 되는 것이다.
반면 어떤 방식으로 효율적으로 데이터를 인코딩할지에 대해서는 각 제조사 별로 다르다(그들은 Bitrate에 맞게 Bit stream의 syntex에 맞게만 넣어주기만 하면 되기 때문이다).
즉, 쉽게 설명하자면 디코더 쪽은 표준에 따라 풀어내기만 하면 되지만, 보내는 소스 장비(오디오 소스를 받아서 전송하는 장비)에서 규격이 정해져 있지 않다 보니 Codec 설계 업체마다 음질이 다를 수 있다.
대표적으로 표준을 만들어가는 Fraunhofer나 Dolby의 엔지니어들이 만드는 Codec이 좋을 수밖에 없다.
표준을 가지고 Codec을 만드는 업체와 표준을 직접 설계와는 차이가 있을 수밖에 없다.
대부분 음질에 민감한 방송 업체들은 Fraunhofer의 AAC 인코더를 탑재하여 방송 송출을 하고 있다.
좀 더 자세히 설명해 보자면 Fraunhofer의 AAC 인코더를 사용하지 않을 경우, 즉 Open Source Base로 나오는 인코더들이 있는데, Fraunhofer에 비해 Audio 품질이 떨어진다. Apple에서는 iTunes Apple Music 서비스를 통해 Fraunhofer에서 post processing을 통해 좀 더 개선된 음질을 만들어 준다.
압축/비압축을 떠나 자신만의 알고리즘을(DRC Control) 통해 좀 더 개선된 음질을 소비자에게 제공하고 있다.
물론 Android도 Fraunhofer의 AAC 인코더를 채용해서 쓰고는 있다.
그러나 기본적인 부분만 들어가 있고, 추가적인 processing에 대해서는 적용되어 있지 않다.
하지만 Apple은 기본 인코더를 가지고 좀더 개선을 하여 제공하고 있다는 점이 다르다.
우리가 고려해야 할 것은 다음과 같다.
1. Contents provider(Apple music, Bugs, Spotify...)에서 어떠한 인코딩 방식으로 서비스를 제공하고 있는가?
2. Phone에서 듣는 경우 폰의 디코더를 통해 contents provider의 송출 신호에 따라 서비스의 질이 달라진다.
3. Phone에서 Bluetooth를 통해 다른 Bluetooth device로 전송하는 경우, 다시 폰에서 인코더를 돌려서 전송하기 때문에 폰의 인코더 성능에 따라 음질이 다르게 된다.
LDAC은 정말 좋은 코덱일까?
LDAC은 SONY에서 독립적으로 만든 코덱으로 공개는 되어있지 않다.
따라서 자세히 알 수는 없지만 psychoacoustics 모델은 아닌 것으로 알려져 있다.
기본적으로 24bit을 기준으로 하기 때문에 음질이 좋음(단, 음원이 24bit일 경우).
기본적으로 16bit Codec과 비교해 봤을 때, Codec의 성능 차이라기 보단 이미 bit resolution 차이가 너무 차이가 나기 때문에 음질이 좋을 수밖에 없다.
심지어 CD보다도 좋은 음질을 제공한다. 실제 압축되지 않는 CD소리 보다, 압축된 24bit 소리가 더 좋았다.
그러나 아직 LDAC은 Bitrate가 높다 보니(많은 전송량 필요) 음끊김 현상이 자주 발생한다.
움직이면서 사용하기는 어렵고, 집에서 사용하기에는 좋다. 따라서 LDAC은 990/660/330 kbps 3가지 옵션을 제안한다.
330 정도가 AAC와 비슷하다.
APT-X HD와 LDAC을 비교하자면?
APT-X HD는 LDAC보다 Bitrate가 떨어지는 것도 있지만, sampling 주파수가 48kHz 밖에 지원을 하지 않는다.(LDAC은 96kHz까지 지원). 뿐만 아니라 Serv Band의 구조를 보면 APT-X HD는 4 Band이고, LDAC 16 Band이다.
Band 구조에 따른 분할 음역대를 나누어, processing 처리까지 되어있기 때문에 LDAC이 더 좋다고 말할 수 있겠다.
LDAC은 오픈형태가 아니기 때문에 자세한 비교는 알 수 없다.
고해상도 음원이 아닌 상황 일반 CD를 기준으로 만든 음원에서는 AAC가 가장 좋은 음질을 보여준다.
고해상도 음원(24bit 96kHz, 24bit 192kHz) 일 경우에는 LDAC이 가장 좋은 음질, APT-X HD가 좋은 음질이다.
결론은??
음질 측면에서는 16bit 보다는 24bit가 좋다.
16bit(CD 음원)에서는 AAC 추천하고, 24bit에서는 LDAC을 추천한다.
Dithering :1 Quanta 크기의 White Noise를 적용해서 디지털 노이즈가 마스킹되는 방식으로 일종의 노이즈로 노이즈를 마스킹하는 것.
DCT(Redsone Algorithm) : Distinctive Clear Technology, 주파수 특성화 파형에 따라 능동적으로 디지털 노이즈를 마스킹하면서 파평을 보정하는 기술.
psychoacoustics : 심리음향 - 사람이 소리를 어떻게 듣는지를 분석하는 학문.
PCM(Pulse Code Modulation) : 비압축 디지털 오디오 신호로 CD에서 대표적으로 사용하는 방식, 소리의 모든 데이터가 다 있는 신호.
AAC(Advanced Audio Coding) : 호환성보다는 음질에 집중된 오디오 전용 압축 방식.
Mpeq NBC(Non-Backward Compatibility) : 하위 호환성을 고려하지 않은 Mpeq라는 뜻.
ADPCM : Adaptive differential pulse-code modulation
'Software > Bluetooth' 카테고리의 다른 글
BR/EDR Connection Handover Profile (0) | 2018.03.15 |
---|---|
블루투스(Bluetooth) 프로토콜 스택과 프로파일(Profile) - <1> (0) | 2017.09.25 |
블루투스(Bluetooth)의 개요와 기초 (0) | 2017.09.19 |
블루투스와 와이파이의 평화로운 공존 방법 (0) | 2017.09.18 |
블루투스 프로파일 개요 (Bluetooth Profiles Overview) (1) | 2017.05.11 |