Dolby 的 DMP Suite

螃蟹公司把 DMP 的市場做到每月營業額破兩億元, 而 Dolby 也 "順勢" 推出了 DMP 專屬的套件. 難道這是巧合嗎?

嗯, 真的是巧合耶!

我們的 DMP 是指 digital media processor team, 賣出的產品叫做 digital media player. 但是 Dolby 的 DMP 可是叫做 Digital Media Producer.

基本上它是 PC 上的軟體, 可以用來編解, 甚至於修復 Dolby 家族的 bit stream. 分為網路版和單機版販售.
 

Dolby Media Producer Suite (Network Bundle) $3,995

Dolby Media Encoder

Dolby Media Decoder

Dolby Media Tools

Dolby Media Producer SE Suite (Stand-alone Bundle) $995

Dolby Media Encoder SE

Dolby Media Decoder

Dolby Media Tools

 

電腦規格

CPU Models and Requirements

Apple Mac Pro with two 2.66 GHz or faster Intel® Xeon® dual-core processors 

Mac OS X version 10.4.2 or later

 

Internet Radio 的生意經

今天我們同事推薦我給客戶認識, …好事嗎? 非也! 他說這個  bug, Cash 是專家, 他幫你們會處理. 雖然送了我一頂高帽子, 但是我頭突然變大了, 所以戴不下.

這個 bug 說 vTuner 播 WMA 有問題. 嗯, vTuner 是什麼呢? 其實我根本就沒聽過, 只好做點功課來彌補知識的不足. 以下是我初步的心得.

話說網路上有許多 audio 的網站, 這些網站包括只存放音樂檔的, 或者提供廣播服務的. 前者大多是非法的, 而後者本身常常是 content provider, 比方說 BBC 把它的節目製作成 audio stream. 只要連上這個網址, 就能夠聽廣播. 包括 ICRT 也是這類的網站.

接下來考慮到收費的問題. 這些開站的老大們也是要養家活口, 於是他們需要提供 URI (uniform resource identifier) 給付費的客戶.  什麼是 URI 呢? 它是 URL 加上 URN (uniform resource name) 組成的, URN 其實就是 username, password.

協議: [ // ] [ [ 用戶名 [ :密碼 ] @ ] 主機名 [ :埠號 ] ] [ /資源路徑 ]

有顧客付費之後, 網站就可以和提供音樂的廠商拆帳. 通路商和 content provider 拆帳的事現在已經隨處可見, 例如中華電信 MOD. 至於錢櫃 / 好樂迪, 他們是用標案的方式, 逐年向唱片公司購買使用權或重製權 (做成口水歌). (對了, 話說現在已經沒有唱片這種東西, 它們應該也不叫唱片公司了.)

為了提供使用者更好的服務, 某些網站以 content-on-demand 來形容自己的服務. 它們往往具備了 search 功能, 以及各式各樣的排行榜, 幫助使用者找到別的網站上的音樂內容. 甚至於可以支援音樂 以外的服務, 像是新聞和氣象.

PC 的使用者可以下載軟體來使用這些 service provider 的服務, 對於賣 Internet radio 硬體的廠商或是 chip provider, 就得把 PC 版軟體 porting 到 embedded system 裡面. PC 軟體可以試用, 但不是免費的 (約 30 USD). 它具備了某種程度的整合, 使得相容性變得比較好.

當然不想花錢的人可以只用 web browswer 去開 vTuner 上面的排行榜, 只不過遇到相容性問題時 (如: 找不到 RA或 WMA 的 codec), 他們概不負責. 

Content Provider Service Provider Chip Provider HW Provider PC Software
BBC (報新聞) vTuner, Streamfinder, PDAtuner Realtek, ADI, CSR, Telechips Denon, Onkyo, Yamaha vTuner
AccWeather (報氣象) Pandora, Last.FM   D-Link  
MP3tunes (把自己的 MP3 upload 到 URL)     Philips, Pioneer  
DAB 數位廣播, TV (用聽的), Podcast        

MS 11 簡介

MS10 是 Dolby 先前推出的 broadcast 解碼標準, 可以解兩路的 audio, 並且

(1) primary 5.1 CH 送去 re-encoder, 也就是 AAC 變 Dolby.

(2) primary down-mix 成 2 CH 輸出

(3) secondary  (Audio Description) down-mix 成 2-CH 和 (2) mix, 給盲人用

MS11 增加了對 media playback 的支援, 而且輸出可以包括 media playback / 2-CH in 的結果.

(1) primary 5.1 CH 送去 re-encoder.

(2) primary 5.1 CH  輸出.

(3) secondary  (Audio Description) 和 (2) 的  mix 成 5.1 CH

(4) 外部的 media playback 5.1 CH decode 後和 (3) 或 (5) mix  成 5.1 CH

(5) 外的 2-CH PCM (比方說麥克風, DVD AO) 和 (3) 或 (4) mix  成 5.1 CH

(6) 最後有一個 2-CH down-mix, 可以輸出 (2) or (3) or (4), 包含了各種可能的選擇.

簡而言之, MS11 把原先放在 MS10 外部的 2CH mix module 移到架構當中, 而內部均保有 5.1 CH 的形態.

MS11 的變化形還包括把後處理的 Dolby Volume (恆定音量之用) 放在 5.1 CH down-mix 後面.

MS11 還沒有出台, 大約在 2010 的 8 月才會出 SDK.

基本上, 大多數的國家都是用 Dolby Digital (AC3) 或是 HE-AAC (Dolby Pulse) 在做音訊的數位廣播. DTS 雖然在藍光的世界占了一席之地, 講到廣播還是得臣服於 Dolby. 因此 Dolby 的架構對 STB 自然是很重要.

1-Seg and Full-Seg

最近遇到播巴西電視節目沒有聲音的 bug. 解這個問題的時候, 我發現巴西的規格很多都是葡萄牙文寫的, 雖然規格也有英文版, 但是想要看到英文版的討論區就比較難了.

巴西的數位電視規格採用日本的 ISDB-T, 將每個頻道的頻帶分為 13 段, 其中的 S0 (或是 ‘A’) 頻段用於 one-seg (1-seg), 主要是給 portable 的裝置, 例如手機來看 DTV.

剩下的 12 個 seg, 可以放一個 HDTV 或是多個 SDTV. 能夠接收完整 seg 的接收器 (STB or DTV) 稱為 full seg receiver. 只能收中間那個 seg 的, 稱為 one-seg receiver.

規格上說, full seg receiver 也可以選擇播 one-seg 裡面的 audio. 其實 one seg 的 audio 是比較高難度的 HE-AAC, 而 full seg 裡面反而是比較簡單但是有多聲道的 LC AAC.

[圖片修改自 wiki]

書到用時方恨少之 speech review

回想很多年以前, 我在做 speech 的時候, 曾經和成大的王駿發教授, 交大的吳炳飛教授學過很多東西. 不過現在連王教授的弟子吳宗憲教授都升任副院長了, 可見得真是光陰似箭…. 我不免又想到當時做 internet 的時候, 也曾經和張系國教授一起開過會. 只可惜我沒有買過他的書, 我看的那些都是從交大圖書館借的或是看報紙連載的, 雖然他的著作我每一本都讀過, 但是我並沒有甚麼 "皮牧師正傳" 之類的書可以請他簽名, 想想真是殘念啊! 總之, 白頭工男話當年, 當初腦海中的知識, 似乎也俱往矣囉!

千金難買早知道, 現在我們又要做 speech 的東西了. 稍微 survey 一下, 現下的 speech 演算法還是免不了要用 LPC (linear-predictive coding) 與 LSFs (line-spectral frequencies). 過去從語音訊號中取得 LPC, 我只知道要先做 autocorrelation , 然後用 Levinsion -Durbin recursion 找出 LPC. 剛才看了一下, 還有個沒啥印象的 Yule-Walker method. 既然後者比前者晚了 10 年才推出 (2003 vs 1993), 不知道是否有比較厲害?!

得到 LPC 係數之後, 再轉到 frequency doamin,  其特性會比較'穩定. 所以 LPC 會轉成 LSP (line specttral pair) 或 LSF. 一般而言, LSP 會被量化, 就像 video coding 的 DCT 係數也要量化一樣. 接下來也和 video coding 一樣, 量化的結果再反量化, 補上一些內插值, 和原來的訊號計算求得殘餘量 (residual),  Residual 的部分就可以查表編碼了.

其中, 可以把先前獲得的資訊拿去動態建立 code book, 若是沿用固定的 code book 則可以省略這一步, 根據量化後的 LSP 和 residual, 我們可以從 code book 中找到最適當的 code 來代表這個 sub-block 或是 sub-frame. 當然, 此時多半會運用均值化 (normalization) 的技巧, 使得 11111 和 99999 都對應到一樣的 code, 只不過它們的 gain 不相同而已. 

複習起來, 差不多就是這樣了. 以後有想到什麼再來補充.

[note]

再看了一下, Levinson-Durbin 可以用來解 Yule-Walker equation. Yule-Walker method 本身是輸入 autocorrelation 數列, 輸出 PSD (power spectral density). 所以兩者之間沒有誰優誰劣的問題.

[ref]

1.  http://thesis.lib.cycu.edu.tw/ETD-db/ETD-search-c/getfile?urn=etd-0714105-140440&filename=9278046.pdf

2.  http://thesis.lib.ncu.edu.tw/ETD-db/ETD-search/getfile?URN=89521046&filename=89521046.pdf