SBC vs aptX

這兩個音訊格式都是藍牙所使用的. SBC = sub band CODEC [1], 關於何謂 sub-band, 從頻域來看, 聲音從低頻道高頻都有, 因此可以分成一個個的區段, 這就是 band. 好比手機訊號有 900M, 1800M 這樣.

但人耳對於不同頻段的感知能力不同, 說話的高低音 (300~3KHz) 我們比較容易分辨, 但是對於 16KHz, 20KHz, …這種高音, 聽起來都是很尖而已, 甚至木耳一點就聽不到. 所以我們可分而治之, 在不同的頻段給予不同程度的壓縮. 這就是 SBC.

對於藍牙系統來說, 支援 A2DP (Advenced Audio Distribution Profile) 就要多處理 audio 的壓縮、解壓縮. 如果硬體不夠力, 這樣的小工作也是一個負擔. 在 SBC 的規範當中, 最高可以支援 48KHz 採樣, 單聲道 198 Kbps, 雙聲道 345 kbps. 即使計算量不算太高, 這 bit rate 卻也不低.

至於 aptX [3], 原本叫做 apt-X, 被 CSR 買了之後改為 aptX. Qualcomm 在 2015 年完成對 CSR 的併購, 所以 aptX 算是 Qualcomm 的私有規格. aptX 雖然複雜度比較高, 但仍然是一種 sub band CODEC. 它的好處在於採樣率下降到 44.1 KHz, 所以單聲道最多 176 Kbps, 但雙聲道可以 352 Kbps.

相形之下, aptX 有何種誘因讓大家採用呢? 主要是它的 encode / decode 速度較快. 在 CSR 的官網, 他們大喇喇地宣稱用了其他 audio CODEC 會導致 AV 不 sync [4]. 不過這個說法並不公正. 只不過是因為 audio 到了藍牙裝置後, 被系統視為  HW 輸出, 所以愈接近 real time 的 software audio CODEC 就不會和 video free run. 把它當作一種廣告詞就好了.

[REF]

  1. SBC (codec)
  2. [無線科技] 立體獻聲藍牙人間:淺談Bluetooth技術
  3. aptX
  4. https://youtu.be/e5aG4qIVqSw

Double Bass 小註解

接案子的好處是讓大家有飯吃, 但壞處是要把不懂的東西搞懂.

今天收到的 spec. 裡面有一個 double bass. Double bass 是啥呢?就是低音大提琴. 不過顯然客戶不是要我們把提琴的 MIDI 做給他, 而是要調出 double bass 的效果. 

一般的 bass, 也就是 bass management 裡面的 bass; 會把聲音完整地送給大喇叭 (Large Speaker), 並不會刻意地把裡面的低音分離出來, 送到低音喇叭 (sub-woofer) 去.

如果是 double bass 的話, 就是大喇叭裡面有 bass, sub-woofer 裡面也有 bass. 此 double bass 之謂也!

就這樣簡單嗎?還有一點小技巧在.

按照上面的說法, 低音被送到兩個喇叭, 豈不是把低音給放大了?此處有兩個作法.

1. 用一個分頻點, 把分給 Sub-woofer 的最高頻率定下來.

2. 單獨調整 sub-woofer 的音量和分頻點, 專門去補大喇叭在低頻的頻率響應.

方法 2 似乎是比較高明的做法, 據說聽音樂時很適用.

當然方法 1 也可以用來強化低音. 假如大喇叭的 roll-off frequency 在 40 Hz, 也就是 40 Hz 以下的低音就不太完美了. 若把 sub-woofer 的分頻點設在 100 Hz, 則 0~40Hz 可以正確輸出, 40~100 Hz 的中低音 (mid-bass) 也得到了強化.

[ref]

http://www.avsforum.com/avs-vb/archive/index.php/t-780149.html

http://news.u-audio.com.tw/newsdetail.asp?newsid=125

Audio DSP 的進化

最近又在討論下一顆 IC 的 DSP 規格. Clock 愈快愈好? Memory 愈大愈好? 擴充指令愈多愈好? DSP 放兩顆、放三顆? 我發現都不是.

以賣 audio DSP IP 聞名的 T 公司, 做同樣的 algorithm, 只需要我們的演算法的一半 MHz.[註] 看到這一點, 大家都會想到要加快 clock, 加大 memory, 加多指令, 更重要的, 是督促 firmware 的人把 code 寫得好一點 ! 叫他們皮繃緊一點! 不過以上的思維還沒有掌握到這個問題的進階層面.

如果對方的 MIPS 數也是我們的一半呢? 這表示我們的 DSP 本來需就要對方一倍的指令, 如果我們不能學對方用 VLIW 大幅減少指令數, 就需要能同時存取多道指令, 也就是必須邁向 superscalar. 先在 instruction fetch 的關卡把 clock 減掉一大半, 後面才有機會把運算的 cycle 都藏到 load-store cycle 之中, 快到讓傳統思維的對手無法想像.

如果業界的標準是: MHz 還遠在 MIPS 之上, 那麼還可以用擴充指令集、加大 local memory 來提速. 但是 bench mark 的 MHz 已經降到 MIPS 以下很多的時候, 那就表示進入架構之爭了. 不能改架構的人, 像是我們的競爭對手 S 公司, 硬是擺出 3 顆 400 MHz 的 DSP 來叫陣, 其實也是不明智的做法. 但是頭已經洗下去了, S 公司也要顧及相容性問題. 如果有辦法, 我們應該不要學這種壞榜樣.

[註] T 公司的習慣, 所有的 memory access 都只要一個 cycle. 雖然寫的 MHz, 其實是 MIPS.

WMA 版本編號

WMA 是 Microsoft 發明的 audio compression 格式, 通常放在 ASF 的檔案格式之中. 這些都是普通常識, 到處都可以查得到.

最神奇的地方在於, WMA 有兩種編號. 官方的編號是 version 1,2,3,…乃至於現在常見的 8,9,10 等版本. 而不知道哪裡冒出來的說法, 則是把 WMA 稱為 WMA 2, WMA pro 稱為 WMA 3. 因此, 客戶常常來問我們: "WMA 3 有沒有支援?" 如果同仁或代理商跟他們說: "我們只支援到 WMA 7 喔? 不支援老舊的第三版!" 這時客戶可能也會莫名其妙地就被說服了.

要分辨檔案是 WMA 第三版, 還是 WMA pro, 其實聽多聲道的輸出就可以明白了. WMA 最多只有 2 channels, WMA pro 才有 multi-CH.

歐洲的下一代數位電視廣播音訊標準 (Next DVB – Audio Standard)

由於歐洲國家的地面廣播向來各行其是, 因此在規格上比較混亂. 到了數位廣播的時代, 大家的看法也沒有太收斂. 因此幾個不同聯盟都出來制定規範.

根據 EBU (歐洲廣播聯盟) 的文件, 他們把 broadcast chain 分得很細, 包括 production, contribution, distribution 和 emission 等階段. 每個階段又分成 radio, television 和 internet 等不同的應用.

Production: 節目製作.

Contibution: 從 OB van (outside broadcast van, 戶外轉播車) 傳到 broadcast house.

Distribution: 從 broadcast house 到 playout.

Emission: 從 transmitter 到 receiver. 指無線廣播.

經過 phase 1 的篩選, phase 2 只剩下這幾個標準被留下來:

Dolby Digital

Dolby Digital Plus

MPEG Surround Layer 2

AAC/HE-AAC

DTS/DTS-HD

由於 EBU 所制定的規範管不到 home theater, 所以在規範中增加了 transcoding 的條件. 亦即非典型的 AAC, DD+ 之類的 decoder, 不能直接用 raw data 輸出, 要先轉成 DTS 的 1.5 Mbit/s 或 Dolby Digital 的 448 kbit/s. 這樣可以使得舊式的 AV receiver 延續生命, 而不會被民眾痛罵到昏頭.

在評比項目當中, 除了聽覺品質的之外, 實際的壓縮 bit rate 也很重要. 比方說系統給 256 kbps, encoder 老是會多壓出 0.1 kbps, 這樣的系統也會掛掉. 相對地, 無法達到所要求的 bit rate 也不行 (the quality performance cannot be achieved if the bitrates used are not sufficient. ).

最後的評比結果, HE-AAC 可說是大獲全勝. 在 128 kbps 的 extra low bit rate, 還是能夠得到 good~excellent 的評價. HE-AAC 壓在 160 Kbps 的品質, 和其他 decoder 在 320 kbps 表現得一樣好 (除了在一個名叫 “applause" 的 file, HE-AAC 怎麼壓都是 fair 之外, 其他都是  excellent).

相對的, MPEG Surround 雖然用到了一些先進技術, 但是被評價為不合  TV broadcast 的水準, 只能用在 DAB 之類的場合.

根據 Dolby 所提供的資料, 他們自稱 Dolby Digital 和 Dolby Pluse 是在這個測試中表現最好的 decoeder. 其實呢? DTS 的分數在 phase 1 是最高的. 不過這是一場不公平的比較, DTS 用的 bit rate 是 Dolby 的 3、4 倍之多, 因此 phase 2 根本就沒有人和 DTS 一起比較, 算是無視它的存在!

EICTA (Eroupe Information and Communication Technology Industry Association), HD Forum (法國), Nordig (瑞典、挪威、冰島、丹麥、芬蘭), Spanish HD Forum (西班牙), Italian HD Forum (義大利) 這些國家都選了 Dolby Digital PLus HE-AAC + tanscoding 作為他們下一代的 audio 廣播標準.

在某些場合, HE-AAC 的名字可能會被 Dolby Pulse 所取代. 因為打不過 HE-AAC 的 Dolby, 已經把它收錄旗下, 換個名字. 加一點料 (metadata) 後, 重新包裝成自家的產品. 這招著實利害!