Multicast ABR 小註解

這個 keyword 裡面有兩個單詞, 一個是 multicast (相對於 unicast), 一個是 ABR (adaptive bit rate). 有時簡稱 M-ABR, 是個用來解決網路播放問題的技術.

網路播放怕甚麼呢? 怕大家都看不同節目, 結果頻寬爆掉. 我們可以把這種況狀視為用戶和電視業者中間的一個 unicast. 看到這裡, 聰明的網友可能已經想到, “我們用 multicast 嘛, 千千萬萬用戶只不過看那兩三百台, 我們先把節目弄到中繼站, 每個中繼站都 multicast 給看這台的那群客戶不就好了, 哇哈哈, 我好聰明…" 嗯, 這第一層的想法沒錯.

第二層想法在於客戶家裡的裝置, 必須能夠像 unitcast 一樣自由地操作, 不能說別家看到影片的幾分幾秒? 我就跟著要看幾分幾秒吧! 對

參考來自 [1] 的圖示, 我們看到影片的來源主要是直播 (live content) 或是點播 (VOD) 兩種, VOD 訴求高畫質, live 訴求低延遲. 如果一群觀眾都在看直播 – 例如直播棒球賽好了, 那大家的進度都是一樣的沒錯. 但看電影就不能強求只能看 multicast 了.

因此 M-ABR 的第一個訴求就是降低頻寬, 第二個訴求是使用者不會察覺改變.

  • REQ1 – Decrease network usage from ABR content consumption;
  • REQ2 – Keep the ABR client devices unchanged

最簡單的方法, 就是在客戶開始操作 time shift 的時候, 把 live 的 multicast 改為 unicast. 怎麼辦到呢? 這需要在網路中加上一些新的設備, 前面提到的  Multicast server 以及 Multicast to unicast proxy.

  • Multicast Server – Has 2 main purposes: creating a carrousel with the ABR segments, on a technology similar to DSM-CC (although there’s no repetition of packets) and the retransmission of missing multicast packets.
  • Multicast to unicast proxy – This is a home gateway software module, which converts multicast content into ABR segments.

到目前為止, 問題好像都迎刃而解了. 但事實上又不然. 當電視觀眾心血來潮想要倒轉回去看上一局的滿壘三振的時候, multicast server 早就把封包丟出來了, 所謂 proxy 裡面也是空空的, 必須要回到頭端去要 10 秒鐘前的那個碼流.

何況這個 multicast to unicast proxy 總要一點時間比對那幾家的封包需要轉成 unicast 吧! 還有網路總是會掉封包, 假如電視供應商到機上盒中間都不掉包 (透過 DOCSIS), 機上盒到每台電視的網路總是要掉. 整體而言 IPTV 一定會因為掉封包而比 cable TV 有更大的延遲. 在看點播的時候比較不影響, 看球賽直播時, 不免會有隔壁已經放鞭炮, 我家打者還沒揮棒的窘境.

雪上加霜的是, 電視使用者逐漸轉去看網路, 因此每個 note (想像成上述 server/proxy) 對應到的觀眾減少了, 但為滿足客戶需求, 電視頻道變多了. 這表示客戶選到同一台的命中率愈來愈低, 或者說轉成 multicast 的效益愈來愈小.天生的延遲、加上成本效益愈來愈低, 讓這個規格看起來沒啥用.

話雖如此, 還是有人在用這個規格, 那就是 Comcast. 因為 “It only makes sense on legacy cable networks. [1]" 在傳統的 cable TV 上, 前述的延遲比較小, cable 的頻寬又很大 (GPON 給 64 家分, 每家可得 38 Mbps), 這公司又是老字號 S&P500 強, 客戶群夠大, 每個 node 命中率也比較高. 但對於新業者來說, 這篇 reference 的作者就不建議.

[Ref]

  1. https://technedigitale.com/archives/1181

Emulator 小註解

根據 WIKI, Emulator 分為 hardware [1], software [2] 兩種. Hardware Emulator 是用 hardware 去模擬 IC 硬體, software emulator 則是用軟體去模擬 IC. 後者比較單純, 以我用過的 Analogic Device 的 DSP emulator, 只要設定 SRAM 的 delay cycle, 就可以知道自己寫的程式在 IC 能否跑得動.

而在 WIKI 的定義中,  ICE (In Circuit Emulator) 算 HW emulator, 但 FPGA (Field Programmable Gate Arrays) proto-typing 不算 HW emulator. 問題不出在 FPGA 不能當 HW Emulator, 而是出在 FPGA proto-typing 和 HW Emulator 有差距.

知乎這篇 [3] 說到, FPGA proto-typing 和 HW Emulator 的本質不同

  1. HW Emulator 可以處理的 gate 數較大, 即使要驗的電路變複雜, 也不像 FPGA 那樣 routing 愈複雜就跑得愈慢.
  2. HW Emulator 是由 CAD 提供一整套系統. 而 FPGA 買回來之後通常是 HW SD 做一張板子, IC designer 提供特製的 RTL 跑出來的 bitfile 檔. 為了配合 FPGA 的先天限制, 連 IC 的功能都不會完整放上 FPGA. 例如實際上跑 4 核 CPU, FPGA 上只放一核.
  3. “emulator可认为是软件simulator的硬件化,是虚拟世界;FPGA prototype是物理芯片流片前的原型化,是真实世界。" 這句話直接引用 [3]. 雖然兩者的 clock 都不夠真實, 但 emulator 下所有 IP 的 clock 能維持相對比例, 例如 CPU 可以模擬 1.5GHz, 並切搭配跑 700MHz 的 GPU. 但 FPGA 上的 CPU 就是和其它 IP 一樣都跑 MHz 等級.

三大 CAD 公司都有 Emulator 的產品, Cadence Palladium, Synopsys ZeBu, Mentor Veloce. 有趣的是,  Palladium 用特製的 processor 來實現, Veloce 用 ASIC 來實現, 而 Zebu 就是用 Xilinx 的 FPGA 來實現. 難怪 HW SD 會說: “你就把它想像成一個超大的 FPGA."

Emulator 還有不同的操作模式:

  1. Stand-alone: 全部電路在 emulator 中單獨跑.
  2. ICE: 待測電路放在 emulator, 透過  speed bridge 接到高速週邊 USB 等等.
  3. Co-simulation: 和 server 上的 sw simulator co-sim. 例如模擬 Android 跑在 IC 上就有可能用到.

先筆記到這裡.

[Ref]

  1. https://en.wikipedia.org/wiki/Hardware_emulation
  2. https://en.wikipedia.org/wiki/Emulator
  3. https://www.zhihu.com/question/47732296

HDCP 2.3 小註解

上次寫了一篇 HDCP 相容性的筆記, 引起一些網友發問. 最近又浮出 Miracast 的客戶, 只好再研究一下, 順便拋磚引玉.

HDCP 分為應用於 on HDMI 以及應用於 Interface Independent (AV stream) 兩個狀況. 兩者最顯著的差異, 我認為是 encryption 就不同.

HDMI 的 HDCP cipher 在 section 3.0 HDCP encryption 中的 3.2.

AV stream 在 section 3.4 中描述的 HDCP cipher 則如下. 

兩張圖雖然都是 Figure 3.2, 但 AV stream 輸入的會以 32 bit 的  stream counter 和 64 bit 輸入的 LSB 做 XOR. HDCP TX 會針對每一個 PES 指定一個 32 bit 的 stream counter. 當然每個節目 (program) 的 stream counter 也會不一樣. 這樣切台時, 就要重新算一次新的值, 而不能跨台共用.


接下來關心 V2.3 和 V2.2 的差異. 在 Interface Independent 的部分.

V2.3 的規格書比 V2.2 多了一個 appendix 的 test vector 章節, 官網還特別放了 HDCP independent (for AV stream) 和 over HDMI 兩種 test vector 相容性測試文件. 除此之外, 最大的差異反映在 revoke 的能力, 其它的差異不大.  因此有家 Inside Secure 宣稱可以提供軟體升級 HDCP V2.3 [5].

所謂的 revoke 是說, upstream device (HDMI TX) “may" 對 downstream device (HDMI RX) 做 revoke list 的檢查. 如果這個 HDMI RX 是一個 repeater, 後面還接著一堆 HDMI device, 那麼它們的 receiver ID 也都在被檢查之列. 如果 receiver ID 出現在黑名單, 那 HDCP 的 authentication 就算失敗. 

基於這一點, V2.3 的 page 42 最前面還多了一段描述, 特別指出拔掉已經驗證過 HDCP receiver 也會觸發 RxStatus 變成不 ready.

第二大的差異是 HDCP V2.2 只提它和 HDCP2_0 的相容性, 這暗示 HDCP V2.2 和 V2.1 比較相容. 但 HDCP V2.3 常用 HDCP2_LEGACY 概括描述先前版本, 或者同時提到 V2.2 和 V2.1.

最後有個微小的差異是,  V2.3 當中, 有 18 處提到 TMDS (傳輸最小化差分訊號) 這個名詞, 而 V2.2 當中只提到 4 次 TMDS, 多出的這 14 個地方是用來釐清: TMDS 訊號未必都是 video pixel.

至於 HDCP V2.2 和 V2.3 都各自出現了 13 次 T.M.D.S. 沒有句點的 TMDS 是指訊號, T.M.D.S 是指這個技術, 常出現在方塊圖.


在 on HDMI 的部分. V2.3 和 V2.2 的差異也都是那些: test vector, revoke 之類的. 我看到唯二更不同是:

(1) 特別提到 audio 要參照 Exhibit C section 3.3.1.

(2) Page 39 的 Figure 2.16 的說明改了. State C0: Unauthenticated 多了一個 upstream side de-assert HDCP_HPD 的選項. 原本 State C0 就是 receiver 在等著進到 authentication 而已.

[Ref]

  1. https://www.digital-cp.com/sites/default/files/specifications/HDCP%20Interface%20Independent%20Adaptation%20Specification%20Rev2_2_FINAL.pdf
  2. https://digital-cp.com/sites/default/files/HDCP%20Interface%20Independent%20Adaptation%20Specification%20Rev2_3.pdf
  3. https://www.digital-cp.com/sites/default/files/specifications/HDCP%20on%20HDMI%20Specification%20Rev2_2_Final1.pdf
  4. https://www.digital-cp.com/sites/default/files/HDCP%20on%20HDMI%20Specification%20Rev2_3.pdf
  5. https://advanced-television.com/2019/01/08/inside-secure-debuts-software-only-solution-for-hdcp-2-3/

3140.HK vs SPY 小整理

放假了, 仔細思考一下手上的投資.

先前隨著買進港股的中國 ETF (28兩01.HK, 3169.HK), 也買了一些港股的 S&P500 (3140.HK). 不過近日對它的績效有所懷疑, 因此拿最近幾年的數字來 PK 一下. 先講結論, 其實買原生的 SPY 比較好. 如果是買中國相關 ETF, 則是港股比美股好.

根據 Yahoo Finance 的歷史資料, 3140.HK 最早一筆資料是 2015/7, 而這個 ETF 創立於 2015/5/18, 所以已經涵蓋幾乎整個週期了. 假設我用 100 HKD 去買 2015/7 收盤價的 3140.HK 與 SPY, 先不管手續費等等開銷, 那麼個字可以買到的數量如下.

HKD USD 匯率
100 12.90183 7.75084
3140.HK 14.9
SPY 199.16
股數 6.711409 0064781

兩種 ETF 每一季每一股的配息數字如下:

Dividen 3140.HK SPY
2015Q3 0.05 1.3343
0.05 1.21155
2016Q1 0.04 1.0496
0.05 1.07844
2016Q3 0.04 1.08207
0.04 1.32893
2017Q1 0.05 1.033
0.05 1.183
2017Q3 0.05 1.235
0.05 1.351
2018Q1 0.04 1.097
0.05 1.246
2018Q3 0.06 1.323
0.06 1.435
2019/3/2 股價 20.05 280.41

乘上持有的股數, 每一季配息的金額如下:

Profit 3140.HK SPY
2015Q3 0.33557 0.086438
0.33557 0.078486
2016Q1 0.268456 0.067994
0.33557 0.069863
2016Q3 0.268456 0.070098
0.268456 0.08609
2017Q1 0.33557 0.066919
0.33557 0.076636
2017Q3 0.33557 0.080005
0.33557 0.087519
2018Q1 0.268456 0.071065
0.33557 0.080717
2018Q3 0.402685 0.085706
0.402685 0.092961
所有股息 4.563758 1.100496

我們可以看到美股的股息明顯比較厲害, 右邊的利息就算抓匯率是七倍, 7.7 都遠大於 4.563758. 倒是 1.100496 x 0.7 (稅後) x 7.75084 (匯率) ~= 5.971 比較接近 3140.HK 的股息. 因此我們可以推斷 3140.HK 的股息都是美國扣稅之後的.

那有沒有可能是不是股息發得少, 但本金的淨值比較高呢? 我們把股息和淨值兩者加在一起比較.

3140.HK SPY
2019/3/2 淨值 134.5638 18.1653
2019/3/2 淨值 + 所有股息 139.1275 19.2658
按 2015/7 匯率換成成港幣 139.1275 149.3261
美股股息打七折 0.770347
2019/3/2 淨值 + 所有股息 (美股七折) 139.1275 18.93565
按 2015/7 匯率換成成港幣 139.1275 146.7672
按 2019/3/2匯率換成成港幣  139.1275 148.7035

因此就算不含匯損, 港股的績效還不如美股股息打七折. 除非美金下跌, 港幣狂飆, 不然買 SPY 比買 3140.HK 好. 原因之一可能是管理費有差異, 3140.HK (0.18%) vs SPY (0.0945%).

IC 設計公司營收排名 2018

今年很奇怪, 到了 2019/1/5 是假日無法申報就算了, 甚至 7 號、8 號還有很多公司沒有更新公開資訊觀測站上的資料, 所以我也只好跟著 delay 了. 其中也有太早去找資料, 結果只計算到 11 月的狀況. 幸有網友指正.
排名 公司 股號 2018 (K NTD) 註解
1 聯發科 2454 238,057,346  
2 聯詠 3034 54,833,856  
3 瑞昱 2379 45,805,746  
  群聯 [*] 8299 40,788,105 IC 設計佔 25% 左右
  擎亞 [*] 8096 26,246,510 電子通路
4 奇景光電 HIMX 22,038,480 估 720 M USD
5 創意 3443 13,459,804  
6 晶豪 3006 11,555,124  
7 瑞鼎 3592 10,962,785  
  新唐 [*] 4919 10,040,221 有晶圓廠
8 矽創 8016 10,330,505  
9 敦泰 3545 9,919,368  
10 慧榮 SIMO 9,825,489 估 321 M USD
11 義隆 2458 8,651,332  
12 凌陽 2401 6,077,733  
13 原相 3227  5,513,179  
14 智原 3035 4,904,658  
15 盛群 6202 4,862,807  
16 茂達 6138 4,846,935  
17 鈺創 5351 4,840,161  
18 威盛 2388 4,795,832  
19 愛普 6531 4,728,642  
20 致新 8081 4,465,551  
21 祥碩 5269 3,722,351 `
22 聯陽 3014 3,363,143  
23 松翰 5471  3,157,555  
24 晶焱 6411 2,905,381  
25 宜特 [*] 3289 3,022,987 FIB IC
26 聚積 3527 2,985,122  
27 凌通 4952 2,844,744  
28 富鼎 8261 2,710,649  
29 立積 4968 2,650,169  
30 偉詮 2436 2,564,457  
31 揚智 3041 2,412,587  
32 尼克森 3317 2,411,112  
33 信驊 5274 2,153,519 股王
34 創惟 6104 1,885,534  
35 合邦 6103 1,767,981  
36 安國 8054 1,742,368  
37 研通 6229 1,596,433  
38 力旺 3529 1,476,516  
39 晶宏 3141 1,294,711  
40 點序 6485 1,127,799  
41 通嘉 3588 1,080,437  
42 禾瑞亞 3556 1,076,953  
43 類比科 3438 1,052,369  
44 九齊 6494 970,184  
45 普誠 6129  910,327  
46 九暘 8040 877,536  
47 凌陽創新 5236 863,642  
48 系微 6231 849,218  
49 海德威 3268 830,579  
50 鑫創 3259 739,621  
51 虹冠 3257 734,789  
52 亞信 3169 647,830  
53 佑華微 8024 578,629  
54 笙科 5272  553,240  
55 迅杰 6243 516,391  
56 驊訊 6237 482,529  
57 倚強 3219 447,703  
58 笙泉科技 3122 401,323  
59 金麗科 3228 369,654  
60 通泰 5487 366,526  
61 旺玖 6233 356,122  
62 譜瑞 4966 343,145  
63 聯傑 3094 261,095  
64 矽統 2363  223,085  
65 點晶 3288 168,706  
66 沛亨 6291 143,940  
67 凱鈺 5468 137,643  
  凱柏實業[*] 3073 97,500 原普格, 已轉型
68 凌泰 6198 92,866  
69 世紀民生 5314 86,980  
70 太欣 5302 81,812  
71 絡達 6526   聯發科 (2454) 收購
72 力積 3553   愛普 (6531) 收購
         
[Note]        
  匯率 30.609