好強的天空火 (SkyFire)

原本我的 HTC 手機上是跑 IE explore 當作預設的瀏覽器, 因為如果不這麼做的話, RSS 就會看不到. 因此就算灌其他的瀏覽器也沒有比較方便. 換了手機之後, 由於已經內建 Opera 瀏覽器, 感覺可以看的網頁頓時多了很多, 甚至於也可以在上面寫 blog 喔!

然而,  免費版的 Opera 還是讓人有些許遺憾. 因為它並不支援完整的 flash 功能, 還有網頁的排版也和 PC 上看到的不一樣. 本以為人生就這樣了, 想不到平靜的心還有浪潮…那就是有人拋出 skyfire 這個單字來! 第一時間我還以為那是 firefox 的筆誤, 但是隨即想到它可能是另外一個高竿的瀏覽器. 果然, 稍加 google 就找到了它!

http://www.skyfire.com/

Skyfire 的技術, 雖然我沒仔細研究. 但是從 performance 就可以略窺一二. 它的秘技就是先找一台 server 幫你瀏覽網頁, 然後用類似 progressive JPEG 的技術把圖秀在你的手機上. 因此, 手機上呈現的就是和 PC 上一模一樣的網頁, 感動地叫人傻眼.. 所謂雲端運算, 就是這個東西啦! 所以這個瀏覽器帶個 “天" 字 (sky)! 特別是 skyfire 的反應相當快, 明知道它是給你看圖檔而已, 卻不會有嚴重 delay 的感覺, 足可以擔得起一個 “火" 字 (fire). 因此這個名字還真不是亂取的.

因為是圖檔的形式, 瀏覽器的左上方有放大縮小鍵, 共有 5 級 zoom 可以選擇. 其他的地方都和一般 PC 的瀏覽器用起來差不多. 據說也有人用 skyfire 在 facebook 上種菜, 開餐廳之類的. 最近在臉書上種菜好像已經是全民運動了. 我去 Subway 買午餐, 就聽到兩個店員在討論養狗, 養雞有什麼用? 如果讓老人家來聽他們對話, 好像真的在種菜一樣. 若不是和養魚, 撿寶石等前後對話連貫起來, 我也聽不出有何異狀.

既然 skyfire 這麼強, 可以 porting 到我們的產品上嗎? 我看了一下他們支援的 platform, 其實只有 PC, Windows Mobile 5/6 和 Symbian S60, 沒轍啦! Skyfire 的另外一個缺點是, 不能設定自己的首頁. 反正一定要把 Skyfire 當作首頁就是了. 另一方面, 它也用自選的社交網站 widget (facebook, twitter 等) 與 RSS 的資訊 (只有英文) 來充實這個首頁, 以免使用者太過不爽~~~

下圖取自 Skyfire 網頁, http://www.skyfire.com/product, 由左至右是 Hulu, facebook, CNN, Yahoo 的網頁.

[note] 在沒有鍵盤的手機上, 如果要實現拖曳的功能, 在 skyfire 也是可以解決的, 進入右下角的 Menu ->  settings -> Show Page Drag Controls, 把這個 drag 的選項勾起來! 這樣在螢幕的右上角, 就會適時地出現兩個 icon, 箭頭的表示滑鼠左鍵, 手掌表示要拖曳, 這樣就OK了!

CE-HTML vs HTML-5

這兩個 format 都可以用在消費性產品, 我對它們的理解是這樣:

傳統的 HTML 4 格式太有彈性, 對於 header, sidebar, foot 都是當作 div 的某個特例. 但是 HTML 5 把它們專門化, 這樣就可以省下額外的描述, 以加快傳輸速度. 同樣地, 以前對於某個 resource 的描述, 都是看完 HTML 的標籤才知道要做甚麼事, 但 HTML 已經把它們專門化了. Video 就有 video 專屬的寫法, audio 亦然.

至於 CE-HTML 其實是一種 XHTML, 所以它是 XML 系列而不保證和傳統的 HTML browser 相容. 因此 CE-HTML 並不忌諱多傳一些 tag, 而是強調比較 powerful. CE-HTML 的 CE 表示 consumer electronics.

[reference]

HTML5: http://www.alistapart.com/articles/previewofhtml5

CE-HTML: http://en.wikipedia.org/wiki/CE-HTML (英文)

http://blog.csdn.net/chszs/archive/2009/06/09/4254281.aspx (中文)

 

賭徒列傳

要講賭徒, 先要有講賭具. 警察在抓賭博的時候, 就是要找到賭具和賭資, 才能夠將一干賭徒定罪! 簡單又有公信力的賭具, 應該非骰子莫屬了.

骰子怎麼來的呢? 在希臘人的時代, 他們就懂得用牛距骨製成的骰子來比大小了…牛距骨是個長方體, 寬的一面是 3 和 4, 窄的一面是 1 和 6. 雖然加起來都是 7, 但是現代的小朋友都知道 3 和 4 出現的機率高於 1 和 7, 而希臘人好像不知道? 總之, 他們一次擲 4 個骰子, 若是出現 1,3,4,6 四個不同的數字, 就是最大的一把, 稱之為維納斯 (Venus), 所以本部門的第一顆 IC Venus 的編號其實也可以叫做 1643 之類的. 然而, 因為古人不懂得機率, 並沒有把機率和 Venus 更低的 4 個 1 或是 4 個 6 當作 "勝投" !

達文西曾經向不太知名的帕契歐里 (Luca Paccioli) 請教平方根的乘法與 99 乘法表, 可見得帕契歐里在當時的數學界算是厲害的人物, 而且據此看來達文西不可能發明時光機器. 言歸正傳, 帕契歐里寫了一本 "算術大全", 裡面提到了這個問題: "甲乙兩人玩丟骰子, 並且協議先贏 6 把的人獲勝; 結果就在甲贏 5 把, 乙贏 3 把的時候, 遊戲不得已結束了, 試問彩金要如何分配?"

這個命題從 1494 年這本書出版到 1654 年左右都沒有正確的解答. 巴斯卡應該是第一個正確分析這個問題的西方人, 中國數學家朱世傑在 1303 年已經用 "四元玉鑑" 解過這類問題, 而阿拉伯數學家伽音更是比巴斯卡早了 450 年. 由此可見, 機率甚至於排列組合的觀念, 其實很晚才出現在西方世界. 雖然他們早就開始賭博了, 連希臘神話的宙斯, 波賽頓, 黑帝斯都是用擲骰子來分配天堂, 海洋與地獄管轄權的. 真正把賭博當作一門學問的人, 就是本文的男主角 – 卡達諾醫生 (Cirolamo Cardano).

卡達諾生於 1500 年左右, 天性非常好賭, 著有 "大術" (討論代數), "賭博手冊" 等 300 本書. 1540 年, 加號和減號才發明, 1557 年等號才出現 (因為發明人認為 "沒有比兩條平行線更對等的東西"), 因此, 卡達諾的數學能力相當了得, 他不僅僅是一個賭鬼, 也會解 3 次方程式與開負數的平方根喔! 連採用 a, b, c 來寫方程式都是他的創舉.

在 "賭博手冊" 一書中, 卡達諾第一次把機率這個概念和賭博的理論整合. 亦即以分數來表示某個骰子或樸克牌出現的機率 – 在多少次活動中, 應該出現多少次結果. 據說每天都在賭博的卡達諾, 開啟了機率分析的大門. 擲兩個骰子, 出現 7 點的機率比 5 點或 6 點都高, 這件事其實古人並不曉得. 唯有好賭的卡達諾會認真研究這件事, 並且寫成書來傳世.

或許大家以前都沒聽過卡達諾這號人物, 但是很多人應該都知道中國的四大發明, 這四大發明就是見聞廣博的卡達諾所歸納出來的喔! 身為賭徒, 數學家, 名醫, 探險家的卡達諾一生過得相當精采, 只不過死得不太好, 據說他花錢無度, 被人砍掉右手的全部手指 (要戒賭?), 而且 43 歲就被毒死了. 

接下卡達諾棒子的大師是名人伽利略, 他寫過一篇論文叫做 "擲骰子論". 因為這是供養他的圖斯卡尼大公命令他寫的, 他以義大利文寫就, 而不是標準的拉丁文, 表示這難登大雅之堂. 至於這篇論文的內容,  則是大量引用 "賭博手冊". 經過名人的印證, 機率的觀念在這篇論文寫就的 1623 年, 已經正式成為數學家的共識了.

1623 年巴斯卡 (Blasise Pascal) 誕生, 他是天生的數學家. 據說他在少年時代就發明了能夠做加減法的機械式計算機. 巴斯卡的一生其實相當神奇, 他幾度閉關修行, 號稱忘記了數學是什麼東西? 不過在他與另外一位法國貴族兼賭徒傑米爾 (Chevalier de Mere) 的交會之中, 終於解決了帕契歐里陳年的賭資分配難題. 傑米爾用這個題目像巴斯卡挑戰, 而巴斯卡又求助於費瑪 (Pierre de Fermat), 他們聯手合作, 開啟了新局.

傑米爾是一個有名的賭徒. 他率先算出連續擲一枚骰子 4 次, 出現 6 點的機率大於 5 成 (1/6 + 5/6×1/6 + (5/6)2x1/6+(5/6)3 x 1/6 = 51.77%). 因此, 他只要一直押 6, 就會神奇地贏錢, 而別人還莫名其妙, 以為他有賭神附身! 後來他改賭兩顆骰子, 以為賭兩個 6, 在 24 次擲骰中也是一樣的勝率, 結果輸了一大筆錢. 後來他痛定思痛, 重新算出這樣的勝率是 49.14%, 要擲到第 25 把才有 50.55% 的勝率.

而費瑪的職業是律師, 並且為西元前 250 年亞歷山大港的數學家丟番圖 (Diophantus) 而寫了一本 "算術" (Arithmetic). 算術這本書裡面有個 x4+y4+z4 = u2 的式子, 費瑪在註腳裡面自問自答: "為什麼丟番圖不用兩個數字的四次方, 使它們的和為另一個數的平方? 因為做不到, 我可以精密證明. 我發現這個命題有很棒的證明, 但書上的空白太窄了, 無法把它寫出來." 這就是有名的費瑪最後定理. 畢達哥拉斯證明直角三角形斜邊的平方是另外兩邊平方的和,  但三次方以上就不存在這種關係. 

搞定了帕契歐里賭資分配問題後, 巴斯卡的人生也進入了賭局. 他進入巴黎的波爾羅亞修道院, 並且些了一本 "沉思錄". 其中的一篇 "巴斯卡的賭注" (le pair de Pascal) 問道: "上帝存在, 或不存在. 我們應該選擇哪一邊? 理性無法答覆." 事實上, 巴斯卡選擇安全牌, 也就是決定信神! 聰明的巴斯卡建立了巴黎的第一條商業公車路線, 因此錢對他來說絕對不是問題. 他要追尋的是永生吧! 他把錢捐給修道院, 然後和修道院的其他修士, 寫成了重要的著作 "邏輯" (又名思考的藝術).

這本書, 共同作者據信包括阿爾諾 (Antoine Arnauld), 主要討論機率, 並且指出在 10 人賭局中,  "輸一枚銅板的機會為 9, 贏 9 枚銅板的機會為 1". 本書說這是有史以來, 用數字計算機率, 見諸文字的第一次. (我很好奇卡達諾難道都是用文字表示機率的嗎? 哈!) 本書的另外一句話可能更為經典: "對傷害的恐懼不僅跟傷害的嚴重性成正比, 也跟受傷的機率成正比." 大家都怕死, 但人只會死一次, 所以也有人不怕~~~

[note] 本篇整理自 Against the Gods 第三第四章.

[note2] 對了! 關於帕契歐里賭資分配問題的正確解答, 現在連報社記者都會算了, 所以我忘了解釋. 獅象打 7 戰四勝的總冠軍戰, 打完 5 場之後, 象贏了 3 場, 獅贏了 2 場, 賭盤怎麼開? 用巴斯卡三角形來解釋, 就是把還沒打的場次 2 場, 用 22 = 4, 去找相加等於 4 的那列巴斯卡三角形來展開:

1  2  1

= 象象  象獅 or 獅象 獅獅

未來象連贏兩場的機率是 1/4, 象獅各 1 勝的機率是 2/4, 獅隊連趕兩場的機率是 1/4. 而象隊已經贏 3 場了, 所以只要先贏一場就不必打第二場. 因此象對獅的賭盤是 (1+2) : 1 = 3:1.

雖然象獅誰先再勝一場意義不同, 好像不應該混為一談. 但是 "1 2 1" 的 "2" 表示已經預知雙方各一勝, 因此這個數字歸象隊所有.

這個問題用巴斯卡三角形來看似乎小題大作, 但是若用 7 戰 4 勝制, 獅先贏 1 場來給大家分析賭盤, 恐怕很多人就沒辦法反應過來了. 因此把數學方法找出來才能舉一反 N.

 

歐洲電視廣播的音訊規格導讀

ETSI 000 468 這本 spec. 是介紹關於 DVB (digital Video Broadcasting) 的 SI (Service Information), 完全 free, 可以從 ETSI (ETSI = European Telecommunications Standard Institute) 下載. 不過如果是嫌錢太多的人, 可以到ANSI 去買, 大約花個 58 USD,  就可以買到 1998 年的舊版. 呃, 這是個什麼世界啊! 一定是流動性不足的關係, 不然我可以到 ANSI 放空 100 本, 再到 ETSI 買進.

好, 閒話休提, 這本 spec. 的內容不外乎是介紹 TS (transport stream) 裡面 SI 的各種 table, 重頭戲就是第五章的 Service Information (SI) Tables 和第六章的 Descriptor. 它們就占了 68 頁之多 (總共 116 頁). 不過我比較感興趣的是附錄的部分. 附錄 D 加進了 E-AC (也就是 enhanced AC3 或是稱為 AC3 plus, AC3+), DTS 與 HE-AAC.

傳統的 AC3 當然還在用. 至於 AC3+ 要去看另外一本 TS 102 366 Digital Audio Compression (AC-3, Enhanced AC-3) Standard. 同樣地, 隨便向 ETSI 註個冊就可以下載它來看了. 需要填寫的註冊內容比加入 facebook 還少, 只不過得承認 "台灣是中國的一省" 比較有爭議. ETSI 的註冊條款似乎只在於不可盜用其內容, 所以我不貼它的圖就是了.

TS 102 366 最令我嫌惡的地方並不是它有 214 頁厚, 而是它竟然還是同時支援 32, 44.1 和 48KHz 三種頻率, 在電信領域, 規格愈有彈性就愈討厭啊! 繼續往下看, 更討厭的來了.

DTS, 竟然堂堂支援 15 種頻率, 從 8 KHz ~ 192 KHz 都有. 還好 DTS descriptor 只給它 4 bits, 不然不知道它還會變出什麼花樣來!? TS 102 114 – DTS Coherent Acoustics; Core and Extensions 裡面說到, DTS 的 core 只支援 8/16/32, 11.025/22.05/44.1, 12/24/48 九種 sampling rate, 要加上 extension 才會鬧出 96 KHz.

[note2] 如果去看美規的 A/53 part5 – ATSC Television Standard / AC3 Audio System Characteristics, AC-3 只能夠有 48 KHz 一種頻率, 乾淨多了.

原來 DTS core 為了節省頻寬, 竟然會選擇傳 8KHz 那樣小家子氣的東西. Receiver 必須 up-sampling 2 倍到 4 倍, 以便做出傳統 32/44.1/48 KHz 的 DTS. 然後再加上 extansion 裡面要求支援 X-CH (也就是 6.1CH) 和 X96 (也就是 96KHz extrension), 做出更好的音效, 包括上看 8 channels.

[note] 在 TS 102 114 定義了 8CH 在 frame header 裡面, 但是回歸母體的  ETSI 000 468, descriptor 最多只有支援 5CH.

最後來到 AAC 與 HE-AAC, 這本規格說什麼呢? 沒說! 它說去看 ISO/IEC 14496-3. 因此只能推估頻率上限是和 AC3 相仿的 48 KHz 或是 AAC 上限的 96 KHz, 頻道是 5.1 CH.

 

Line mode / RF mode

Google 大神通常都是有求必應, 不過當我輸入 “line mode rf rt lt ro lo" 這些關鍵字,想要釐清一些觀念時, 第一個跳出來的 URL, 竟然是…是我的部落格. 那我不是問道於 XX 了嗎? 嗯, 這樣說自己不太好, 改成問盜於氓好了~~~

還好, 調整一下字串後, 找到一本 Edwin Paul J. Tozer 所寫的 “Broadcast engineer’s reference book". 這位可憐的作者, 辛苦寫出的內容被 Google 大量引用放在網路上, 實在憂喜參半. 更何況我為了要引用它的內容, 還要助紂為孽呢! 幸好我只引用局部文字, 請有興趣的人還是去買他的書.

在 DRC 的領域, 也就是 dynamic range  control, 有許多種 implementation. 所謂的 Line mode 就是使用者可以控制音量範圍, 包括小到 0, 大到原來的完整訊號. 如果是 RF mode, 就是保持音量和 TV 正常的音量相符.

如果沒有 down-mix, 上述的觀念很容易了解. 如果多聲道要 down-mix 到 2 聲道, Line mode 還比較容易達到, 但是 RF mode 就要仔細調參數了.

其中, Lt 和 Rt 是固定參數, t 表示 total, 左聲道會有右聲道的成分, 反之亦然. Lo 和 Ro 是變動的參數, o 表示 only, 左聲道不會混到右聲道, 反之亦然.