概要
Bluetoothに登場する新しいコーデック、LC3を、従来からあるAACと二重盲検法で比較した。
2022年以降、Bluetooth 5.2という新しい規格がリリースされ、イヤホンやスピーカーと無線で接続するための新しい方法が準備される。以降のBluetooth規格では、LC3のサポートが必須となる見込み。
LC3の採用により、音声の遅延を抑えた自然な音声再生と、バッテリ消費の軽減が見込まれている。
このLC3コーデックを、Bluetoothイヤホン等で現在広く使われているAACコーデックと比較した。
LC3コーデックのエンコーダとして、欧州電気通信標準化機構(ETSI)が配布している最新版のLC3plusと、GoogleがAndroid用に開発しているliblc3の2銘柄が使われた。
AACコーデックのエンコーダとして、Apple製品で採用されているCoreAudioと、Androidで採用されているFDK-AACの2銘柄が使われた。
今回はストリーミングによる音楽聴取環境を想定して、ロスレスの原音をOpusの128kbpsでエンコードし、デコードしてからLC3かAACの160kbps CBRでエンコードし、この再エンコードされた音を原音と比較した。
あくまで参考として、MP3も比較対象に加えられた。MP3は再エンコードではなく、原音から直接エンコードされた。
結果
現在Bluetoothイヤホンで広く採用されている、AACエンコーダの方がむしろ原音に近い結果となった。
AACは、再エンコードにもかかわらず両者とも平均オピニオン評点4.3点以上と高い忠実度となった。
LC3の平均オピニオン評点は4点を下回った。
AACについては、CBRを強制したAppleのCoreAudioと、FDK-AACに大きな違いは無かった。これは前回の48kHz, 144kbpsで行ったテストと同様の結果。
LC3については、欧州電気通信標準化機構(ETSI)版とGoogle版に大きな違いは無かった。
AAC, LC3のいずれも、Opusからの再エンコードにも関わらず、MP3 128kbps(CBR)よりも高い忠実度となった。
評価
テストに利用した音源を試聴したい方、ダウンロードしたい方、ログを見たい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm
https://drive.google.com/file/d/0ByvUr-pp6BuUSnlwUG1WNkZzeDA/view?usp=sharing
方法
銘柄に対する先入観が影響しないように、PSP ABC/HR v2.4とRP-HJE150を利用して、6個のエンコードされた圧縮音源をランダムに並び替えて、銘柄を伏せて採点した。採点基準は、「音質劣化が非常に気になる」が1点 「気になる」が2点 「わずかに気になる」が3点 「原音からの音質変化が分かるが、気にならない」が4点 「音質変化がわからない、区別できない」が5点。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。27種の多様なジャンルを含むテスト用の非圧縮音源が使われた。このテストでの採点は、27(音源)×6(エンコーダ)×1(回)=162(回)。
使用したオプション
サンプリング周波数が44.1kHzのロスレス音源からOpusへの変換(ストリーミングによる音楽聴取環境を再現するために使用)
Opusのエンコードとデコードには、最新版のopus-tools-0.2-opus-1.3が使われた。
Opusをデコードした一時ファイルについては、ビット深度とサンプリング周波数を各LC3エンコーダが対応する16bitと48kHz, 44.1kHzに変換するため、qaac に同梱されている refalac の64bit版が使われた。
opusenc --bitrate 128 原音.wav 一時ファイル.opus opusdec --float --quiet 一時ファイル.opus 一時ファイル.wav refalac64 一時ファイル.wav --rate 48000 -D -b 16 -o 一時ファイル48kHz.wav refalac64 一時ファイル.wav --rate 44100 -D -b 16 -o 一時ファイル44kHz.wav
AAC (Appleのエンジン)
Appleが使うエンジン CoreAudioToolbox 7.10.9.0 が qaac 2.73 (x64 version) 経由で使われた。
Bluetoothでの伝送環境を再現するため、CBRを指定して強制させた。
qaac64 --cbr 160 -o 出力.mp4 一時ファイル44kHz.wav
AAC (Androidのエンジン)
Androidで使われているFraunhofer社製のAACエンコーダ、fdk-aacが使われた。これはFAAC (libfaac) とは別物。
mstorsjo氏がメンテナンスしている、バージョン fdk-aac v2.0.2 を FFmpeg N-102573-g9d4c018497 に組み込んだ状態で使われた。このコマンドラインだけで、CBRで出力される。
ffmpeg -y -i 一時ファイル44kHz.wav -c:a libfdk_aac -b:a 160k 出力.mp4
LC3(欧州電気通信標準化機構の配布するLC3plus)
2022年4月19日時点でFraunhoferのページで紹介され、欧州電気通信標準化機構(ETSI)から配布されていた最新の、
LC3plus Floating Point Software V1.6.3ETSI, ETSI TS 103 634 V1.3.1. が使われた。
配布されていたソースコードのfloating_point版をMSYS環境でビルドしエンコードさせた。
なお2022年6月29日現時点でも同バージョンが配布されている。
LC3plus -E -q -v 一時ファイル44kHz.wav 出力.lc3 160000
LC3(Googleの開発する Google/liblc3 、Zephyr上ではliblc3codec表記)
2022年4月19日時点で配布されていたバージョンを使用。
以降、2022年6月28日までに高速化やAPIの24bit深度対応、外部モジュール化などが行われたため最新版ではない。
このGoogle/liblc3は、2022年6月29日現在もサンプリング周波数44.1kHzのwavファイルを直接入力できない。
そのため、これのみOpus-toolsのサンプリング周波数48kHz出力を44.1kHzに変換せずに48kHzのまま使った。
elc3 -b 160000 一時ファイル48kHz.wav 出力.lc3
MP3
あくまでLC3, AACとの比較参考のために使用。最新版のLAME、LAME 3.100.1(64bit版)がCBRで使われた。
lame -b 128 原音.wav 出力.mp3 lame -b 64 原音.wav 出力.mp3
詳細な優劣の分析
FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/ Blocked ANOVA analysis Number of listeners: 27 Critical significance: 0.05 Significance of data: 0.00E+000 (highly significant) --------------------------------------------------------------- ANOVA Table for Randomized Block Designs Using Ratings Source of Degrees Sum of Mean variation of Freedom squares Square F p Total 161 132.90 Testers (blocks) 26 7.81 Codecs eval'd 5 114.05 22.81 268.52 0.00E+000 Error 130 11.04 0.08 --------------------------------------------------------------- Fisher's protected LSD for ANOVA: 0.157 Means: AAC(FDK) AAC(Appl LC3plus liblc3 LAMECBR1 LAMECBR6 4.36 4.35 3.99 3.89 3.56 1.90 ---------------------------- p-value Matrix --------------------------- AAC(Appl LC3plus liblc3 LAMECBR1 LAMECBR6 AAC(FDK) 0.926 0.000* 0.000* 0.000* 0.000* AAC(Appl 0.000* 0.000* 0.000* 0.000* LC3plus 0.227 0.000* 0.000* liblc3 0.000* 0.000* LAMECBR1 0.000* ----------------------------------------------------------------------- AAC(FDK) is better than LC3plus, liblc3, LAMECBR128kbps, LAMECBR64kbps AAC(Apple) is better than LC3plus, liblc3, LAMECBR128kbps, LAMECBR64kbps LC3plus is better than LAMECBR128kbps, LAMECBR64kbps liblc3 is better than LAMECBR128kbps, LAMECBR64kbps LAMECBR128kbps is better than LAMECBR64kbps FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/ Friedman Analysis Number of listeners: 27 Critical significance: 0.05 Significance of data: 0.00E+000 (highly significant) Fisher's protected LSD for rank sums: 26.945 Ranksums: AAC(Appl AAC(FDK) LC3plus liblc3 LAMECBR1 LAMECBR6 143.00 141.00 98.00 87.00 71.00 27.00 ---------------------------- p-value Matrix --------------------------- AAC(FDK) LC3plus liblc3 LAMECBR1 LAMECBR6 AAC(Appl 0.884 0.001* 0.000* 0.000* 0.000* AAC(FDK) 0.002* 0.000* 0.000* 0.000* LC3plus 0.424 0.050* 0.000* liblc3 0.244 0.000* LAMECBR1 0.001* ----------------------------------------------------------------------- AAC(Apple) is better than LC3plus, liblc3, LAMECBR128kbps, LAMECBR64kbps AAC(FDK) is better than LC3plus, liblc3, LAMECBR128kbps, LAMECBR64kbps LC3plus is better than LAMECBR128kbps, LAMECBR64kbps liblc3 is better than LAMECBR64kbps LAMECBR128kbps is better than LAMECBR64kbps
整形済みデータ
CoreAudio FDK-AAC LC3plus Google / liblc3 LAME LAME %feature 5 Opus ⇒ AAC Opus ⇒ AAC Opus ⇒ LC3 Opus ⇒ LC3 %feature 7 MP3 MP3 %feature 10 CoreAudioToolbox 7.10.9.0, via qaac 2.73 FDK-AAC v2.0.2 V1.6.3 ETSI (floating point ver.) liblc3 Apr 19, 2022 LAME 3.100.1-x64 LAME 3.100.1-x64 %feature 11 --cbr 160 -c:a libfdk_aac -b:a 160k 160000 -b 160000 -b 128 (CBR 128kbps) -b 64 (CBR 64kbps) %feature 12 Opus 128kbpsから再エンコード Opus 128kbpsから再エンコード Opus 128kbpsから再エンコード Opus 128kbpsから再エンコード 原音から直接エンコード 原音から直接エンコード %genre 15個のテスト音源 4.300 4.400 4.100 3.700 3.200 1.800 4.700 4.500 4.200 3.700 4.100 1.700 4.500 4.300 3.900 4.100 4.400 1.600 4.500 4.400 4.100 3.900 3.700 2.100 3.800 4.100 3.500 3.600 2.500 1.700 4.300 4.200 3.700 3.400 3.800 1.700 4.400 4.500 4.100 3.900 2.900 2.400 4.400 4.500 3.600 4.100 3.900 1.700 3.900 3.800 4.300 4.400 4.100 2.700 4.500 4.400 3.900 3.500 3.600 1.800 4.400 4.300 4.100 4.200 3.100 1.600 4.200 4.100 3.900 3.700 3.300 2.200 4.400 4.500 3.800 3.700 3.600 1.700 4.200 4.400 3.900 3.800 3.600 1.600 4.400 4.300 3.600 3.700 4.100 1.800 %genre IgorC氏による12個のテスト音源 4.400 4.500 4.100 4.000 2.700 1.800 4.100 4.400 4.600 4.500 3.600 1.600 4.600 4.500 4.100 4.200 3.200 1.700 4.300 4.400 3.900 3.800 3.600 1.900 4.500 4.200 4.400 3.800 3.600 1.900 4.300 4.200 3.800 3.700 3.200 2.100 3.900 3.700 3.400 3.500 2.800 1.600 4.100 4.400 3.900 4.300 2.600 1.900 4.500 4.600 3.900 3.700 4.100 2.100 4.200 4.300 3.800 3.500 4.100 2.200 5.000 4.800 4.700 4.400 4.500 2.300 4.700 5.000 4.400 4.300 4.100 2.200 %samples 41_30sec Perc. %samples finalfantasy Strings %samples ATrain Jazz %samples BigYellow Pops %samples FloorEssence Techno %samples macabre Classic %samples mybloodrusts Guitar %samples Quizas Latin %samples VelvetRealm Techno %samples Amefuribana Pops %samples Trust Gospel %samples Waiting Rock %samples Experiencia Latin %samples Heart to Heart Pops %samples Tom's Diner Acappella %samples 01 castanets inst. %samples 02 fatboy_30sec Techno %samples 03 eig Techno %samples 04 Bachpsichord inst. %samples 05 Enola Techno %samples 06 trumpet inst. %samples 07 applaud Live %samples 08 velvet perc. %samples 09 Linchpin Rock %samples 10 spill_the_blood guitar %samples 11 female_speech Speech %samples 12 French_Ad Speech %bitrate 162387 161978 161014 161659 128285 64154 162562 162020 160979 161667 128230 64196 162879 162365 160984 161655 128372 64266 162679 162084 161015 161646 128319 64214 162749 162340 160981 161652 128368 64267 162989 162338 160987 161719 128440 64278 162974 162222 161016 161679 128458 64286 162331 162011 160989 161658 128271 64202 163932 163180 161141 161773 128827 64534 162628 162092 160980 161683 128295 64199 162327 161897 161024 161667 128244 64205 163037 162391 161182 161834 128553 64319 162736 162244 161050 161634 128353 64260 162391 162100 160983 161628 128304 64185 162832 162343 161019 161702 128470 64276 165547 163738 161116 161762 129023 64827 162311 161976 161009 161624 128336 64161 163482 162617 161070 161709 128613 64406 162476 162136 160979 161669 128396 64204 162317 162027 161015 161648 128300 64203 164590 163095 161051 161759 128666 64466 165505 163638 161164 161773 128851 64589 164116 162966 161075 161768 128639 64396 163213 162632 161036 161696 128588 64332 162477 162004 161025 161649 128264 64195 162842 162243 160988 161630 128432 64282 163657 162689 161047 161716 128663 64396
注:公開試聴試験での多人数の平均評点と管理人の評点が似たような傾向になることは確認しているので言えるが、ある個人がある再生環境で、ある価値観のもとに聞いたときの評価が、ここに書いた管理人の評価に似るかどうかまでは何とも言えない。また、今回利用した音源とは傾向の異なる音を多くエンコードした場合、結果や順位が異なる可能性があります。