MP3 不能播的秘密

今天有個 bug 是 MP3 播不出來, 而檔頭有 MaDRM 字樣. 我想這應該就是 MarkAny 公司用 AES 加密過的 MP3 吧! 這個 DRM 技術就叫做 MaDRM.

http://www.markany.com/ch/index.asp

MarkAny 這家公司還滿有趣的, 專門做文件與多媒體的加密與浮水印. 產品包括 Document Safer, e-Page Safer, Content Safer, MAIM (water mark) 與 e-Banking (virtualization technology) 等等 . 顧名思義, 它的產品都很容易理解.

當然, 若非這個原因, 能夠讓 MP3 播不出來的可能還有很多. 包括沒有迴避美國專利  5,777,992, 而用了 spec. 上也沒說不能用的 padding bit, 那麼就有可能播不出來某些檔案. 這"某些" 檔案就是專門抓誤用了 US patent 5,777,992 的 MP3 decoder 用的. 只要能播出這些測試檔, 就證明你是清白的, 沒有參考到 padding bit.

說到迴避這個專利, 我們當然也下了一些功夫. 特別是 MTK 公司也申請了一個白濫的專利 US  patent 7,386,082 和原先的 US patent 5,777,992 相頡頏, 所以我們還得一次避過這兩個. 身為工程師去申請這種專利, 真是令人不齒啊!  但是這年頭, 臉皮厚好像還是比較吃香的~~~

另外一類播不出來的可能在於 MP3 pro. 自稱為 MP3 發明人的 Fraunhofer 公司, 把 MPEG 2.0 的 half-sampling rate 又降低了一半, 創造出 MP3 2.5. 如果不支援 8, 11.025, 12KHz, 就沒辦法播 MP3 2.5.

Fraunhofer 公司也把 AAC+ 的 SBR (spectral band replication) 技術用在 MP3 上, 製作出 MP3 pro. 這個 MP3 pro 倒是和 AAC+ 一樣有向前相容性, 所以一般 MP3 player 可以播的出來.

[reference]
US Patent 5,777,992 : Decoder for decoding and encoded digital signal and a receiver comprising the decoder

US Patent 7,386,082 : Method and related apparatus for searching the syncword of a next frame in an encoded digital signal

HDMI / SPDIF 支援頻率與格式

我們的客戶天平公司發了一個 bug 給我們, 大概是說 UI 設成 SPDIF, 同時 HDMI 會沒聲音. 當然裡面原因眾多, system 沒有關掉 SPDIF_HDMI_EXCLUSIVE 是一個, 但是真正的豬頭, ….終於知道就是天平公司自己!

天平公司買了一台ONKYO TX-SR803 的擴大機. 它會把 22.05 KHz 的訊號認成是 32KHz. 以至於 source (我們板子), sink (後面電視) 都在雞同鴨講. 我想會出這個 bug 的原因就是 HDMI 不支援 SPDIF 才有的 22.05 KHz.

這個冷門資訊其實算是有用. 我曾經整理過相關資訊, 發信向美國老闆說明. "HDMI 並沒有通包 SPDIF" . 另外一次是用來發 bug, 表示 SPDIF 少做了幾組 register. 雖然我也可以把 bug 發給美國老闆, 我還是很惡質地把 bug 發給較弱勢的 designer… 久而久之, 那封信被 Outlook 給封存了, 從此以後, 我也再沒有見著它.

為了避免我的人生如吳剛伐桂、薛西佛斯 (Sisyphus) 推石頭 — 老是在做同樣的東西. 我就把它不 confidential 的部分貼出來好了. 至少我知道哪裡有這個資訊.

KHz SPDIF HDMI
22.05 X  
24 X  
32 X X
44.1 X X
48 X X
88.2 X X
96 X X
176.4 X X
192 X X

紅色字的部分, 表示 SPDIF 最初只支援這 3 個頻率, 但現在它早已經不是吳下阿 S 了.

SPDIF burst info HDMI CEA 861 type
X AC-3 2
X MPEG 3
X MP3 4
X MPEG2 Mutli-CH 5
X AAC 6
X DTS 7
X ATRAC 1/2/3 8
X DDP a
  Dolby MAT (TrueHD) c
X WMA Pro e
X MPEG4 – ALS  
X MPEG4 AAC in LATM/LOAS  
X DRA  
  DTS-HD MA b
X MPEG (low sampling rate)  
X MP3 (low sampling rate)  
X MPEG2 Mutli-CH (low sampling rate)  
  One bit Audio 9
  DST d

[note]

2003 年版的 IEC 61937-2, AAC 只包括 MPEG2-AAC

2007 年版的 IEC 61937-2, AAC 只包括 MPEG2-AAC and MPEG4-AAC

[reference]

SPDIF: http://webstore.iec.ch/preview/info_iec61937-2%7Bed2.0%7Den.pdf

HDMI: http://msdn.microsoft.com/en-us/library/dd316761(VS.85).aspx

T∏而冊1

朋友問我說: 為什麼要研究債券? 是賺太多要節稅嗎? 嗯,…賺很多不容易, 賠很很多倒是不難. 所以並不是賺太多~~

話說辛苦上班一整年, 8、9 點才能吃晚飯, 或是弄到 11 點社區大門關了才回家. 這樣一年賺到的血汗錢, 在股市可能幾天就蒸發了. 任何對數字有觀念的人, 應該都能看出這是不合理的吧! 為什麼我們敗得比賺得還快這麼多呢??

因此我決定要 “投資自己" 變成專家, 包括投資與風險管理.

一般而言, 即使工作很忙, 只要有紅綠燈可以等和周休二日, 我還是可以看完約 2 本書, 甚至寫成網誌. 如果我把這些時間拿來唸教科書, 應該也有可能變成金融專家吧! 就算不能成為專家, 至少可以增加判斷力, 知道錢的流向. 

再說, 有些財務長都可以兼任產品線經理人了, 為什麼讀理工的人不能兼懂財務呢? 呵呵!

大前研一不是說我們不能只當 T 型人, 要當 型人嗎? 我想過幾年就會流行 “" 型人了, 再來就是 “" 型人, 把 “而" 型不能融會貫通的缺點再做改進, “而" 加上橫向聯結就變成 “冊" 型. 最後最後, 流行趨勢反璞歸真就會變回 1 型了, 很粗的 1. 一如鹿橋在 “人子" 裡面說的, 理性到極致就會感性 (哇, 20 年前唸的書了) 呃, anyway, 我不是為了培養第二專長才唸財務, 財務應該是資本主義社會的第一專長才對.

我今年 44 歲, 雖然乍看之下頭髮還不白, 眼睛還不花. 不過 3 年之後, 我想我應該就視茫茫而髮蒼蒼, 13+78 = ? 要算 3 分鐘, 新知過目即忘了吧! 岳飛曾經說: “莫等閒白了少年頭, 空悲切." 如果我閒白了中年頭, 豈不是悲很大, 我想都可以寫進 “大悲咒番外篇" 了…所以努力要趁 “早"!

真正讀了財務的書以後, 我覺得我以前對搞財務的人有很大的誤解. 我原本以為搞財務的人只懂簡單算術、心理學和經濟學. 樓上那些財務處的人, 怎麼看都沒有一個人會知道 e 是多少吧? 然而, 真正讀了一些書之後, 才知道他們的確用了很多的數學, 只不過往往用得不得當, 這點容後再敘. 至於心理學, 真正研究的人不多, 也並非正統. 以至於 “行為財務學" 竟然算是一種比較年輕的學問.

總之, 研究債券只是一個開頭. 它也是我近期考慮的投資對象. 至於我的股票經紀, 好心建議我買的的選擇權, 我就完全不會考慮了. 至少也要等我完全理解選擇權的數學理論以後再說…

超短日記 – 20090606

因為這一天剛好許多人都要補端午節連假的班, 所以內灣的人沒有那麼多.

我們找到了一家賣奇石的店家, 買了幾顆有趣的錢幣海膽. 另外也看到從未見過的沙漠玫瑰石. 據說這個東西產自非洲的突尼西亞一帶, 成分是含水硫酸鈣, 看起來就像是黏在石板上的一朵花. 當然, 它的顏色比較接近赭紅色~~~

 

配息債券之價格

上回提到不配息債券的評價方式, 這次來整理有配息的債券.

有配息的債券因為每隔一定的期間就會發一點利息回來, 所以每一次配息就是一個獨立的現金流.

P = ∑t=1T Ct / (1+y)t

 

其中 P 是債券的合理價格 (re-pricing), Ct 是第 t 次的現金流, y 是 yield. 那個 ∑ 就是把 t = 1~T 都加起來. 像是公司配息、老人年金, 都可以用這個模式來計算, 只是 T 假設為無限大.

P = ∑t=1 Ct / (1+y)t=cF [1/(1+y)+1/(1+y)2+1/(1+y)3+1/(1+y)4+…] = c/y F

 

其中 c = 配息率 (coupon rate), F 等於面值 (face value), 化簡的部分是用等比公式. 最後的結論就是前次在財務二三事說到的: 價值 = 配息 / 利率

那麼這種債券會受到利率變動的影響嗎? 當然也會囉.

認真地把 dP/dy 微分一下, 就會得到看了就煩的

D = ∑t=1Tt [Ct /(1+y)][∑t=1T Ct / (1+y)t] = ∑t=1T t ×wt

 

為什麼等式最右邊變簡單了? 因為我們把 wt 定義為每次配息現金流對於所有配息現金流的比率了. 這裡給了我們一個啟示.

若是 D 意味著每次配息現金流對於所有配息現金流的比率, 那麼只在最後一次才配息的無配息債券 (zero coupon bond),  豈不是 D  (duration) = 到期日 (maturity). 換句話說, duration 不是隨便起的名字, 它的確有時間的意義在裡面.

至此也可以理解, 當初無配息債券的 D 為何要叫做 modified duration 了. 因為它的 D 應該是到期日 T (存續期間) 才對. 

若是我們算出了另外一個意義上的 D* = T / (1+y), 只好叫它D* 啦!

不含 1/(1+y) 的 D, 它的學名叫做 Macaulay duration. 其數學意義就是價格對利率的微分, 因此可以反映出利率變化後, 價格對應的變化比例.

那麼無止盡存在, 會一直配息的滿帆商事公司的股票 (滿帆商事這家公司在庶務二課這部影集中, 不管內部多爛, 外部多強都倒不了, 故引用之), 它的 duration 又是多少呢?

P = c/y F

D = dP/dy = d [c/y F]/dy = cF (-1/y2) = -1/y ×P = [Dc/(1+y)]×P

此時 Dc = (1+y)/y

那個小  c 是什麼呢? 因為這種公司 consolidated annuities 或 consolidated stock 又簡稱為 consols, 所以用它的 c 來表示. 

Dc 是 duration 的上限, 也就是說, 到了這個 D 年就應該划算了.

假設某家公司的殖利率為 6%, 那麼 17.67 年之後, 買股票所花的錢就拿回來了. 不過 18 年真的很久耶, 薛平貴都從西涼回來了~~~

幸好它只是 upper bound. 因為它是 price 的一次微分, 可以視為 yield-price 曲線的切線. 真的要準一點的話, 至少要考慮 2 次項, 也就是 convexity.

加上 convexity 的影響之後, 因為它隱含 (Δh)2在內, 所以永遠是正的.

若 yield 走高, price 下降, convexity 會讓估計值上升, 夾集出合理的價位.

duraiotn ≤ actual price ≤ duration + convexity

若 yield 走低, price 上升, convexity 會讓估計值更上升, 更準確. 但此時就不會夾集 actual price 了, 不然不是愈修正愈偏差?

duraiotn ≤ duration + convexity ≤ actual price 

三種證券的 D 和 Macaulay duration 並列如下.

zero coupon bond:  modified duration = D* = T / (1+y), T = Macaulay duration

coupon paying coupon: D =  ∑t=1T t ×wt

consols:  D = Dc/ (1+y), Dc = Macaulay duration

還有個 mortgage-backed security (有不動產抵押貸款擔保的債券), 它的現金流因為太複雜了, 所以用等效 effective duration DE 來表示. 在這個情況下, 它的 convexity 未必為正.

總而言之, 真實利率的高低, 會對於債券和股價都造成影響. 如果給定 duraition 和 convexity, 要求出 acutal price, 雖然計算上是有可能的. 但是數字亂給的話, 可能會求出負的 yield. 比方說 D = 8 年, C = 150 年. 不過, 我看過真的有人舉這個例子耶, 是我太愚鈍了? 還是舉例的人太隨興了??