Audio Codecs
HE AAC (V2)
MPEG High Efficiency-AAC (HE-AAC) 표준은 가장 효율적으로 Advanced Audio Coding Low Complexity (AAC-LC) 프로파일과 Spectral Band Replication(SBR) 부호화 기술이 결합된 것입니다. HE-AAC V2는 HE AAC 기술에 Parametric Stereo 기술을 적용하여 기존의 HE AAC와 하위 호환성을 유지하면 음질을 개선할 수 있습니다. MPEG HE-AAC는 ‘AAC+’라고, HE-AAC V2는 eAAC+라고도 불리며 DAB+, T-DMB, S-DMB 및 DVB-H와 같은 분야의 오디오 표준으로 채택되었습니다. AAC-LC의 부호화 효율을 적어도 30%이상 더 개선할 수 있습니다. 나선(nahsun)은 MPEG HE-AAC 디코더를 ARM 프로세서에서 최적화하였습니다. 이 소프트웨어 라이브러리는 응용 프로그램을 쉽게 개발할 수 있도록 낮은 복잡도, 낮은 메모리 사용량 및 간편한 소프트웨어 API를 제공합니다.
지원 비트스트림 특성
- 호환성
- ISO/IEC MPEG2 AAC LC 프로파일
- ISO/IEC 14496-3 HE AAC (v2) 프로파일
- 샘플링 주파수 (KHz) : 16, 22.05, 24, 32, 44.1, 48
- 비트율 : ~ 288Kbps @ 48KHz stereo
- 비트율 모드 : CBR/ABR/VBR
- 프레임의 크기 : 1024 샘플
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : ADIF, ADTS, RAW
- 지원 툴 : MS/IS/TNS/PNS/SBR/Parametric Stereo
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 24MHz (HE AAC) 34MHz(HE AAC V2)
- Code ROM : 78 KB(HE AAC) 96 KB(HE AAC V2)
- Constant Data ROM : 107 KB(HE AAC) 122KB(HE AAC V2)
- 복원된 Decoder의 품질 :
- ISO/IEC 14496-4를 이용해서 호환성 테스트
BSAC
BSAC는 AAC와 동일한 압축률과 fine-grain scalability를 제공하는 인기있는 MPEG-4 표준 기술입니다. BSAC 기술은 지상파 DMB의 오디오 기술로써 선정되어서 실용화되었습니다. BSAC의 비트스트림은 하나의 기본 계층과 여러 개의 개선 계층으로 구성되어 있습니다. BSAC는 무손실 부호화 방식으로 MPEG-4 AAC에 사용되는 허프만 부호화 대신에 산술부호화 방식을 사용합니다. BSAC는 16kbps/ch에서 64kbps/ch의 범위에서 동작합니다.
나선(nahsun)의 BSAC 디코더는 MPEG-4 BSAC 및 지상파 DMB(Terrestrial DMB)에 최적화되어 구성되어 있습니다. BSAC Decoder는 MPEG-4 Audio중 오디오 object type ER BSAC의 payload인 bsac_raw_data_block()을 지원합니다.
지원 비트스트림 특성
- 호환성
- ISO/IEC 14496-3 Subpart 4 MPEG-4 오디오 중 오디오 object type ER BSAC
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 비트율 : ~ 288Kbps @ 48KHz stereo
- 비트율 모드 : CBR/ABR/VBR
- 프레임의 크기 : 1024 샘플
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : RAW(bsac_raw_data_block())
- 지원 툴 : MS/IS/TNS/PNS
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 16MHz
- Code ROM : 43 KB
- Constant Data ROM : 38 KB
- RAM : 50 KB
- 복원된 Decoder의 품질 :
- ISO/IEC 14496-4를 이용해서 호환성 테스트
Bluetooth용 SBC
Bluetooth Subband codec(SBC)는 적절한 비트율에서 고품질의 오디오 전송을 위해 설계된 낮은 복잡도의 오디오 부호화 기술입니다. SBC 표준은 4개의 subband나 8개의 subband, 적응형 비트할당 알고리듬 및 단순한 적응 블럭 PCM 양자화기등을 사용합니다.
나선(nahsun)의 SBC codec은 무선 오디오를 위해 정해진 유일한 코덱인 Bluetooth Advanced Audio Distribution Profile(A2DP) 규격에 맞게 구현되었습니다.
지원 비트스트림 특성
- 호환성
- Bluetooth Advanced Audio Distribution Profile(A2DP)
- 샘플링 주파수 (KHz) : 32, 44.1, 48
- 비트율 : ~ 345Kbps @ 48KHz Stereo
- 비트율 모드 : CBR/VBR
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 6.5MHz (디코더) 10.5MHz(인코더)
- Code ROM : 10 KB(디코더) 8 KB(인코더)
- Constant Data ROM : 0.8 KB(디코더) 2KB(인코더)
AAC-LC
MPEG Advanced Audio Coding (AAC) 기술은 MP3 부호화 기술을 대체하기 위해 설계되었습니다. MPEG AAC low complexity (AAC-LC) 프로파일은 AAC 프로파일들 중에서 가장 단순하고 가장 널리 사용됩니다. AAC-LC는 MP3보다 50%까지 성능 개선할 수 있고 가장 효율적인 오디오 압축 기술중의 하나입니다. 디코더는 MPEG2/4 AAC-LC 디코더를 ARM 프로세서에서 구현된 소프트웨어 라이브러리입니다. 이 소프트웨어 라이브러리는 응용 프로그램을 쉽게 개발할 수 있도록 낮은 복잡도, 낮은 메모리 사용량 및 간편한 소프트웨어 API을 제공합니다.
지원 비트스트림 특성
- 호환성
- ISO/IEC 13818-7 MPEG2 AAC LC 프로파일
- ISO/IEC 14496-3 Subpart 4 MPEG-4 AAC LC 프로파일
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 비트율 : ~ 288Kbps @ 48KHz stereo
- 비트율 모드 : CBR/ABR/VBR
- 프레임의 크기 : 1024 샘플
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : ADIF, ADTS, RAW
- 지원 툴 : MS/IS/TNS/PNS
지원 소프트웨어 특성
· 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 13 MHz
- Code ROM : 39 KB
- Constant Data ROM : 38 KB
- 복원된 Decoder의 품질 :
- ISO/IEC 14496-4를 이용해서 호환성 테스트
- SNR = 84dB, RMS <= 1.19x10(-5)
DAB+용 HE AAC (V2)
MPEG-4 HE AAC v2 프로파일의 일부가 DAB+용 오디오 압축 표준으로 채택되었습니다. 하지만 한 프레임의 길이가 그 동안 주로 사용되던 1024샘플에서 960 샘플로 변경되었습니다. 따라서 기존에 사용된 HE AAC V2 Decoder를 변경된 규격에 맞게 최적화가 필요합니다.
나선(nahsun)의 디코더는 MPEG HE-AAC 디코더를 DAB+ 규격에 맞게 ARM 프로세서에서 구현되었습니다. 이 소프트웨어 라이브러리는 응용 프로그램을 쉽게 개발할 수 있도록 낮은 복잡도, 낮은 메모리 사용량 및 간편한 소프트웨어 API를 제공합니다.
지원되는 비트스트림 특성
- 호환성
- ISO/IEC MPEG2 AAC LC 프로파일
- ISO/IEC 14496-3 HE AAC (v2) 프로파일
- ETSI TS 102 563 (DAB+ 표준안)
- 샘플링 주파수 (KHz) : 32, 48
- 비트율 : ~ 288Kbps @ 48KHz stereo
- 비트율 모드 : CBR/ABR/VBR
- 프레임의 크기 : 960 샘플
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : ADIF, ADTS, RAW
- 지원 툴 : MS/IS/TNS/PNS/SBR/Parametric Stereo
지원되는 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 25.5MHz (HE AAC) 35.5MHz(HE AAC V2)
- Code ROM : 78 KB(HE AAC) 96 KB(HE AAC V2)
- Constant Data ROM : 107 KB(HE AAC) 122KB(HE AAC V2)
- 복원된 Decoder의 품질 :
- ISO/IEC 14496-4를 이용해서 호환성 테스트
AC-3
AC-3는 Dolby Digital이라고도 알려져 있으며, 고품질의 음향을 생성하는데 필요한 데이터의 양을 줄이기 위해 Dolby에서 만든 지각과 관련된 오디오 부호화 (Perceptual Audio Coding) 기술입니다. Dolby는 지각과 관련 있는 오디오 부호화를 방식 AC-1과 AC-2를 개발했었습니다. AC-3는 AC-1과 AC-2을 기반으로 개발되었고 다채널 디지털 오디오용으로 설계된 첫 번째 오디오 압축 방식입니다. AC-3는 5.1 형태로 소리의 채널을 6개까지 포함하는데 일반적인 소리의 범위(20Hz ~ 20,000Hz)의 스피커용 5채널(Right Front, Center, Left Front, Right Rear 및 Left Rear)과 저주파수 효과를 내는 서브우퍼용 1채널(20Hz~120Hz)로 구성됩니다.
나선(nahsun)의 AC-3 디코더는 Dolby AC-3을 구현하였고 ARM 프로세서군에서 고정소수점으로 최적화되었습니다.
지원 비트스트림 특성
- 호환성
- United States Advanced Television Systems Committee (ATSC) A/52, "Digital Audio Compression (AC-3) Standard"
- 샘플링 주파수 (KHz) : 32, 44.1, 48
- 채널 수: 1~5 channel + LFE
- 프레임 길이 : 1536 샘플
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 65 MHz (5.1ch) 35 MHz (downmix to stereo)
- Code ROM : 28 KB
- Constant Data ROM : 8 KB
- RAM : 33 KB
MPEG Layer-2 오디오
MPEG Layer-2 오디오 디코더는 MUSICAM으로도 불립니다. 나선(nahsun)의 MUSICAM 디코더는 MPEG-1/MPEG-2 Layer 2 표준을 최적화하여 구현하였습니다. MUSICAM 디코더는 현재 DAB의 오디오 표준으로 채택되어서 서비스가 되고 있습니다. MUSICAM 디코더는 ISO/IEC 11172-3(MPEG-1)과 ISO/IEC 13118-3(MPEG-2)의 국제표준안에서 규정된 비트율과 샘플링 주파수(16 kHz에서 48 kHz)를 지원합니다. 그리고 나선(nahsun)의 MUSICAM 디코더는 ARM 프로세서군에 최적화되어 구현되었습니다.
지원 비트스트림 특성
- 호환성
- ISO/IEC 11172-3 MPEG1 Audio Layer 2 Decoder ISO/IEC
- 13818-3 MPEG2 Audio LSF Layer 2 Decoder
- 샘플링 주파수 (KHz) : 16, 22.05, 24, 32, 44.1, 48
- 비트율 : 8 ~ 320Kbps
- 비트율 모드 : CBR/VBR
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : MPEG-1/2 오디오 파일 포맷
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 12MHz
- Code ROM : 29 KB
- Constant Data ROM : 18 KB
- RAM : 26 KB
- 복원된 Decoder의 품질 :
- ISO/IEC 11172-4/13818-4를 이용해서 호환성 테스트
MP3
MPEG Layer 3로써 가장 MP3는 ISO/IEC에서 표준화된 디지털 오디오 부호화 및 손실 압축 포맷입니다. MP3는 CD 품질의 스테레오 오디오를 11:1의 비율로 압축할 수 있습니다. MPEG-2 오디오 표준은 MPEG-1에 두 가지를 확장합니다. 하나는 채널 수를 2채널에서 5.1까지 확장할 수 있고 샘플링 주파수를 32, 44.1, 48 KHz의 1/2인 16, 22.05, 24 KHz를 추가 지원합니다. 국제 표준은 아니지만 산업계 표준으로써 MPEG2.5는 샘플링 주파수를 8, 11.025, 12 KHz까지 추가로 확장하여 MP3의 실질적인 표준을 구성하고 있습니다.
나선(nahsun)의 디코더는 MP3 표준을 구현하기 위해 ARM 프로세서군에 최적화되었습니다. 나선(nahsun)의 MP3 디코더는 MPEG-1/MPEG-2/MPEG-2.5 Layer 3을 지원합니다.
지원 비트스트림 특성
- 호환성
- ISO/IEC 11172-3 MPEG1 Audio Layer 3 Decoder ISO/IEC
- 13818-3 MPEG2 Audio LSF Layer 3 Decoder
- MPEG2.5 Extensions
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 비트율 : 8 ~ 320Kbps
- 비트율 모드 : CBR/VBR
- 프레임의 크기 : 576 샘플 (MPEG-2) 1152 샘플(MPEG-1)
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : MP3 file format
- 지원 툴 : MS/IS/TNS
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 3.0
- WinCE (Embedded Visual C)
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 18MHz
- Code ROM : 50 KB
- Constant Data ROM : 33 KB
- RAM : 30 KB
- 복원된 Decoder의 품질 :
- ISO/IEC 11172-4/13818-4를 이용해서 호환성 테스트
Ogg Vorbis
보비스는 채널당 16 kbps에서 128 kbps까지 고정 비트율과 가변 비트율에서 중간정도의 품질에서 고품질의 오디오와 음악을 위한 완전히 공개되고 특허료와 로열티가 없는 일반적인 목적의 압축을 위한 표준입니다. 그리고 보비스는 MPEG-4 AAC, MP3 및 WMA과 같은 특허가 있는 경쟁 코덱을 대체하는 것을 목표로 설계되었습니다.
나선(nahsun)의 보비스 디코더는 보비스 알고리듬을 충실히 구현하였고 ARM 프로세서군에서 고정소수점으로 최적화되었습니다.
지원 비트스트림 특성
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 비트율 : ~ 500Kbps
- 비트율 모드 : CBR/VBR
- 채널 수: 모노(1ch)/스테레오(2ch)
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : 24 MHz
- Code ROM : 80 KB
- Constant Data ROM : 54 KB
- RAM : 4 KB
FLAC
FLAC(Free Lossless Audio Codec)은 오디오 데이터 압축을 위한 파일 형식으로 무손실 압축 기술입니다. 다시 말해서, MP3, AAC, Vorbis와는 달리 오디오 스트림에 손실이 발생하지 않습니다. 이것은 Zip이 동작하는 것과 비슷하지만 오디오용으로 특별하게 설계되었기 때문에 훨씬 더 압축을 잘 할 수 있습니다. 다른 압축 방법들과 마찬가지로, FLAC의 장점은 전송율•대역폭•저장공간 등을 절약할 수 있다는 점인데, FLAC은 오디오 소스를 온전한 모습으로 보전해 줍니다. 예를 들어, 디지털 레코딩(콤팩트 디스크)을 FLAC으로 인코드하였다가 디코드하면 정확히 똑같은 오디오 데이터를 얻을 수 있다. 보통, FLAC으로 압축하면 원래 크기의 40-50%로 줄어듭니다.
나선(nahsun)의 FLAC 디코더는 ARM 프로세서군에서 고정소수점으로 최적화되어 구현되었습니다.
지원 비트스트림 특성
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : flac 자체 포맷
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : **MHz
- Code ROM : ** KB
- Constant Data ROM : ** KB
- RAM : ** KB
WMA
Microsoft Windows Media Audio (WMA)는 일반적으로 WMA로 알려져 있으면 Windows Media 기술에서 가장 유명한 오디오 코덱입니다. WMA 9 시리즈는 다양한 멀티미디어 응용분야에 적용이 가능하며 4가지의 다른 프로파일(표준, 프로, 무손실 및 음성)로 나뉩니다. WMA 표준 알고리듬은 64Kbps정도의 비트율에서 CD급 품질의 오디오를 재생할 수 있도록 만들어줍니다.
나선(nahsun)의 WMA 디코더는 ARM 프로세서군에서 최적화되어 구현되었습니다. 이 구현은 ASF 포맷 뿐만 아니라 WMA 비트스트림을 지원합니다. 또한 WMA 표준 알고리듬은 WMA 표준 디코더에 대한 MS Windows 미디어 기술 구현 테스트 규격과 호환성을 가지고 있습니다.
지원 비트스트림 특성
- 호환성
- Microsoft WMA 9 Standard Decoder specification
- 샘플링 주파수 (KHz) : 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
- 비트율 : 5K ~ 384 Kbps
- 채널 수: 모노(1ch)/스테레오(2ch)
- 파일 포맷 : ASF, WMA 포맷
지원 소프트웨어 특성
- 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
- 지원되는 라이브러리 포맷
- ADS 1.2
- RealView 4.0
- WinCE (Embedded Visual C)
- Android
- iOS
- Data 메모리 : 실시간으로 할당 가능
- API : C에서 호출이 가능한 API
디코더 성능 및 메모리 사양 (ARM9E 기준)
- 복잡도 : **MHz
- Code ROM : ** KB
- Constant Data ROM : ** KB
- RAM : ** KB








