Slice vs Tile in H.265

在 H.265 (HEVC) 的規格裡面多一個名詞 tile, 本來我們講 tile 都是說 memory 的排法不要照 scan line, 而是以 Macroblock 為單位, 以節省記憶體頻寬. 不過這個名詞在 H.265 已經有了正式的定義. 首先, 回顧一下 H.264 的名詞. 可以根據下圖來區別 Coded Video Sequence, AU 和 NAL [1].

接下來看一下比較舊的 slice 的定義.

Slice 的下一層是 slice segment. 由一個 independent slice segment 開始, 接著一串 dependent slice segment. 在同一個 AU (access unit, 正好就是解出一張) 裡面, 可以有多個 slice segment. 下圖的每一個框框是一個 coding tree unit (CTU) , CTU 可以再切割成 coding tree blocks [2, 4].

Tile 的分法永遠是矩形的. 看到灰色的 independent segment就是一個 slice 的開頭, 後面白色的部分就是 depedent segments. 一個tile 可以包含多個 slice, 一個slice 也可以跨多個 tile. 不過還是要有一些規則.

首先記住 CTU 會組成 coding tree, 接著至少要滿足下面兩個條件之一:

1. 所有的 slice 的 CTU 都完整地在一個tile 內.

2. 所有的 tile 的 CTU 都完整地在一個 slice 內.

其中, 1 的條件也可以延伸為 “所有的 slice segment的 CTU 都完整地在一個tile 內. 比 2 的條件再更嚴格一點的話, 就是所有的 tile 的 CTU 都完整地在一個 slice segment內. 規格書說, 上述兩個條件也要至少滿足其中之一.

此外, 我們有 Y/U/V 三個平面 (plane), 如果 separate_colour_plane_flag = 0, 那麼表示大家的slice 都長一樣. 若是這個值等於 1, 表示三個平面可以有自己的 slice. 此時, 三個平面的資料在同一個 AU裡面可以交錯 (interleave). 但是同一個 plane id 裡面的 coded slice segment NAL unit 只能依照 tile order 遞增.

那 tile 有什麼用呢?它是可以平行處理的單位. 也就是說, decoder 可以同時對多個 tile 進行解碼. 以前我們要解完一個 slice, 才能再解下一個 slice, 否則也不知道下一個 slice 的 header 在哪裡?現在我們只要知道有幾個 tile, 就可以從 tile 的頭開始解碼. Tile 不像 slice 有 header, 所以不會又多一層 overhead.

那麼, 我們怎麼找到 tile 的開頭呢?從 bit stream 裡面可以找到這一段定義.

首先就看有沒有 enable tile (tiles_enabled_flag = 1), 有的話再看是不是均勻的大小 (uniform_spaciing_flag). 如果 tile 並不一樣大, 就分別讀出每一個 tile 的寬高. 雖然 bit stream 沒有直接講出寬高, 只要在畫面上下砍 column_width_minus1 刀, 橫切 row_height_minus1 刀就可以得到這些格子了.

在 [ref 3] 裡面, 有人提到 tile 可以做 ROI (region of interest, 不是 return on investment). 先畫一個 tile 放重點, 給比較高的 bit rate; 其他的小 tile 就給比較低的 bit rate. 由於 H.265 裡面拔掉了 H.264 的 FMO (flexible MB order),  所以光靠 slice 就不方便做這種匡出一塊矩形效果. 另外, 這邊有人吐槽 FMO 本來就是做 error concealment 用的, 不是 ROI 用的.

[REF]

1. H.264先進視訊編解碼標準

2. H.265 Spec.

3. I am littile confused about the tiles in HEVC. Can’t we achieve same parallelism using only slices?

4. HEVC – What are CTU, CU, CTB, CB, PB, and TB?

[速覽]

CB vs sub-block

CU = YUV 的 CB + syntax element

CTB (8×8~64×64) vs MB (16×16)

CTU = YUV  的 CTB + syntax element

UML 類別圖符號

最近又看到一堆 UML 的類別圖, 特別整理了一個符號速查表.
 
 inheritance  B A 繼承 B
 realization AB A 實現 B
 association              B A 關聯 B
 單向 association  B A 關聯 B 
 dependency B A 依賴 B
 註解 A B A 註解 B
 aggregation  B A 彙總 B
 composition  B A 組合 B
 relationship A <<key word>> B access, bind,derive…etc.

[REF]

1. UML類別圖

 

阿里雲小檔案

阿里雲 (Aliyun) 顧名思義是阿里巴巴的產品, 也是該公司的名稱. 藉著阿里巴巴集團下的淘寶, 支付寶, …等子公司的互相支援下, 阿里雲竟然也在競爭激烈的 OS 市場佔了一席之地.

既然叫做 “雲", 強調的就是雲端技術, 我們可以把阿里雲這家公司想要賣的東西先交代清楚, 然後再來看它會做些什麼?而他的客戶又要做什麼?

對阿里巴巴來說, 他們和其他的雲端公司一樣想要賣網路伺服器, 希望大家把東西存在他們基於飛天開放平台 (Apasara) 的 server 上. 除了硬體也要有軟體, 所以飛天開放平台上也提供: 計算, 存儲, 和資料庫的服務. 就好比 Google 有 gmail, Google doc, Google maps…一樣.

至於大家共通的雲 OS, 則是架在 Linux, Webkit/HTML5/Java Script, OpenGL 和 SQLite 上. 阿里雲號稱他們是基於 Linux, 但 Google 說他們是抄 Android 的 [3], 證據是阿里雲用了 Android 的 run-time lib, framework, 和 tools [4], 也可以跑山寨版的 Google App. 雖然 Google 有反分裂法 (AFA – anti fragmented Agreement), 嚴禁 Android 的客戶自己搞一套服務, 但是阿里雲不但有樣學樣, 竟然還定義了新的指令集! 

根據 [5] 的說法, 我做了個表, 大家變可以知道他們大致上的差異. 據說安兔兔也不能分辨 Android 和 Aliyun. [5] 這篇也講了阿里雲開發的秘辛, 有興趣的人可以參考.

Android 阿里雲
boot loader boot.img 同左
kernel Linux 同左
ROM 目錄結構 app/bin/framework/lib 同左
核心進程 system/bin 同左
 library (.so) system/lib 同左
Framework system/framework 同左
上層 app, launcher system/app 同左
app 副檔名 apk lar
apk 解開之後 class.dex class.lex
虛擬機 (VM) Dalvik 自製 VM

倒底阿里雲好不好用呢?[2] 這篇講得比較詳細, 一共列出 16 點. 其中最大的特色就是阿里雲綁架了桌面, 也限制了阿里雲以外的應用. 如果是阿里雲 market 裡的軟體, 就可以自動備份到雲端. 但是不支援 Google market , 第三方的 app 和 widget 也不提供雲端備份的服務. 基本上就是與 Android 分裂, 另外搞了一個生態圈.

 [ref]

1. 百度百科 – 阿里雲

2. 说说阿里云OS操作系统到底是什么货色

3.  Google 阻止宏碁與阿里雲合作的真實原因

4.  Google+ 文章

5. 纯技术分析阿里云OS和Android之间的关系

0050 貴了嗎?

最近台灣 50 (0050) 和高股息 (0056) 公布了今年的股利, 大約分別是 1.35 元和 0.85 元. 最後的數字要在 10/22 才會公告, 並於 10/24 除息.

如果以台灣 50 的股價 59.05 和高股息的 24.19 來說, 殖利率分別是 2.286% 3.514%. 相較之下, 0050 真的比較貴. 當然, 這個也要看大家的買進成本啦. 對於低價買進的人, 配 1.35 元可能已經是不錯的利率.

台灣 50 裡面還有 0.87% 的宏達電 [1], 這檔明年應該是配不出什麼股利. 若是跌出市值 50 大, 還得把它賣掉換股. 今年高股息配這麼少, 我看宏達電應該貢獻不少虧損 (0056 已經將它賣光). 如果能接受今年的殖利率, 明年可能會更好.

另一方面, 同樣是以台灣市值最大 50 家做為追蹤標的的另外一檔 FB 台灣 50 (006208), 去年的股利就以 1.844 元逼近了 0050 的 1.85, 但股價卻只有後者的六折. 若是今年它也能配出 1.3 元左右的水準, 我們為什麼不買 33 元的 FB 台 50?

答案很簡單, 我買不到嘛! 它的成交量一天只有個位數張, 昨天只有 4 張. 而 0050 竟然有 14,810 張的大量, 根本不能比. 如果我有一缸子閒錢放在 006208, 我會賣嗎? 當然不會.  這可是 5% 的高利定存. 要買的人可要有耐心才行.

由於 006208 很難買, 大家可以考慮自己買一些看起來比較好的公司. 反正那 "配方" 是公開的, 不必然要透過別人去操作, 更不要傻傻地在銀行買台灣的 ETF 基金 – 還得多繳手續費, 自己多買個幾檔好股就能分散風險了.

[ref]

1. 臺灣50指數成分股票

第十六屆交大高階經理人培訓班第十一課

今天的講師是交大管科 81 級的戴逸之 (Hans) 校友, 他是新橋聯合創投的董事長, 現在擁有幾家創投公司, 分別針對不同事業階段的公司進行投資. 台微創就專門投資最初期的公司 (formative 階段), 新橋就投資 pre-seed 或是 seed stage 階段.[1]

今天學長的講題是 "Making Senes of Corporate Venture Capital", 所謂的 CVC (Corporate Venture Capital) 就是公司內的創投, 和一般 VC 不同的地方在於 CVC 會考慮公司的戰略需求 (Strategic), 而不僅是財務上 (Financial)的考量.

至於學長為何會選這個題目, 主要與他在凌陽科技擔任投資長的角色有關. 雖然現在已經離開凌陽, 但是在凌陽的十年經驗, 使得他可以有 CVC 的經驗可以傳授, 而不僅僅是講普通的 VC.

根據學長在凌陽的經驗, 大約有 70% 的投資是放在策略投資, 而 30% 放在純財務的投資. 一般而言, 前者虧錢的機會比較大, 因為要尊重事業群主管的意見; 而後者往往都可以賺錢.

學長用一張圖來表示不同條件下應該採用的做法:

  策略投資 財務投資
與企業緊密相關 Driving Emergent
與企業不太相關 Enabling Passive

如果和企業有關的策略投資是要強力去主導的, 所以稱為 driving. 而最不重要的就是和企業不太相關的財務投資, 應採取的態度是被動的. 接下來學長用幾張投影片分別解釋 driving, emergent, enabling, passive. 大致上就如同字面上的意思. 其中, emergent 可能會帶來新的事業, 這是董事長、總經理級最關心的. 而 enabling 的例子就是 IC 設計公司去投資封測廠或是 FAB.

  • Driving: Advances strategy of current business
  • Emergent: Allows exploration of potential new buniness
  • Enabling: Complements strategy of current business
  • Passive: Provides financial return only. 

至於投資的方式, 又分為三種:

  1. 現金股權投入
  2. 可轉債機制, 先借錢再以債做股.
  3. 對賭機制,流行於美國.也就是按照進度拿錢, 未達成階段性目標就拿不到 "說好的錢".

VC 退場的機制則分為:

  1. 認賠了事
  2. Push 公司 IPO (上市)
  3. M&A (併購)
  4. Management Buyout (請參考 併購之試算練習)

5. 尋求第二輪資金, 相當於 VC 轉賣給別的 VC.

在評估投資對象時, 會考慮這幾點:

  1. Disruptive Technology (獨到的技術)
  2. Superior Management Team (優秀管理團隊)
  3. Market Need (有市場需求)
  4. Valuation (如何計價?)
  5. Term Sheet / Captial Structure (投資條款清單 / 資金結構)
  6. Financing (財務報表)
  7. Exit (VC 的退場機制)

一開始就準備被購併的技術團隊可以不需要太強的管理團隊, 能自我管理就行了. "人" 最重要, This is a people game. 但不能只靠一個人, 太優秀的個人失敗的比例高. 另外, 有經驗的董監事可以提供非常大的幫助

而對方具有這些負面徵兆時, 就不是 VC 的菜.

  1. 150 頁的計畫書, 表示沒有 think through.
  2. No key point after reading executive summary.經營報告沒重點.
  3. TAM is small / not growing, 市場太小又不會成長.
  4. No competition, 沒競爭者.
  5. Non-distructive Technology
  6. Superficial financial projection
  7. Thin Margin, 低毛利.
  8. Inexperience Management Team, 沒經驗的管理團隊.
  9. No Reference, 沒成功經驗
  10. Messy Captical Structure, 資本形成太複雜

還有個 10/20/30 原則. 10 張投影片, 20 分鐘講完, 用 30~40 號字體, 免得 VC 老花看不清楚.

講到這邊, 當然要舉例. 比方說投資 Netscreen 賺 288 倍等等. 特別有趣的兩點是, 凌陽投資光學讀取頭的公司, 因此可以比 DVD 更早兩個月發現市場需求的起落, 而得以及時調整庫存. 而凌陽買下 Oak, 不但可以把衍生專利賣給 Qualcomm, 還可以向 MTK 收取授權金. 加一加快 1 億美元的業外收入進帳.

以上大部份的內容都可以參考創業小聚上的影片 [2], 它是戴學長這次所講的內容的 20 分鐘版, 只是我的版本補充較多而已.

最後就進入 Q&A. 

Q1.股票面額 10 元到年底取消, 對創業有何影響?

A1: 對創業和創投都好. 有一百萬資本額可以發行一百萬股, 一股一塊.自己就可以擁有較多的股權.新資金進來, 可以一股十塊賣出, 股權不會太快被稀釋. 不然幾波增資後, 創業者可能只剩 10%, 這還是你的公司嗎?

Q2. 文創業的 TAM 要怎麼估?

A2. 以悠悠村 (UUCUN) 為例.它最初是做 feature phone 上的廣告點擊分紅. 智慧型手機掘起後, 人們不一定會去點廣告的 APP, 因此他們改為主推山寨 market. 從山寨 market 下載 APP, 就可以和 APP 提供者收錢 (例如,騰訊、微博), 還可以利用山寨 market 打廣告賺錢. 而多少手機下載多少軟體都是可以量化的.

因為這類 business model 很容易被模仿, 所以第一次推出時就迅速地簽了幾十家白牌手機商, 鞏固好 8000 萬隻手機的市場.如果慢慢來一定是沒錢可賺.

Q3. 玩金錢遊戲的人要如何克服貪念?

A3. 確實容易產生貪念. 投 NetScreen 大賺之後, 有點迷信華人技術團隊把東西做出來, 白人經理人把公司帶上市的模式. 結果第二家 Ortega 跑同樣的流程失敗, 把錢都賠掉. 反而是再投資 Ortega 被換下來的華人又賺了錢.

Q4.如何一換跑道就能擔任凌陽投資長的重任?

A4.最初在德邦創投做得不錯, 因此認識了黃洲杰先生.剛到凌陽時, 因為關心各事業處主管的需求, 和其他人也相處得不錯. 後來立了戰功, 就愈來愈受重用.

當初 MTK 做 DVD 三合一晶片, 其實只能在整機 80 USD 中 cost down 1~2 塊錢.凌陽的人覺得那個百分比太低了, 不值得做. 不過大陸的山寨市場毛利奇低無比, 靠得是大量出貨和週轉率, 因此 MTK 就搶走了市場.為了扳回一城, 凌陽很積極地找對策. 從日本找到美國, 才有了 Oak 的併購案.

戰功還是最重要的. 沒有戰功,即使和高層關係好, 也會慢慢被放到外圍去.

Q5.現在的創投好像都要做出 prototype 才給錢?

A5. 美國現在都是這樣.因此美國也有個模式是, 起先只有少數人出來, 其他人都還是埋伏在原來的公司, part-time 做創業. 等到東西慢慢做好了, 再一個個加入, 以減少開支.

建議大家要找知名的創投, 他們會知道什麼東西有人做了. 如果找大陸創投, 要注意他們說得很快, 把你框住之後 (不會找其他人), 再慢慢觀察. 給錢很慢, 大概要等 6 個月.

Q6. HW 的創業似乎都是資本密集, 電子商務比較容易拿到錢嗎?

A6. 如果要投 HW, 至少都是 7500 萬美金起跳. 確實軟體和服務比較容易募到錢. 建議大家去矽谷看看, 那邊有很多創業的機會和實例.

[REF]

1. Alternative Investments – The Stages in Venture Capital Investing

假如把投資分成幾個階段的話, 大致有五種名詞.

1. Seed 種子階段, 大概需要 25 萬 ~ 100 萬美金.

2. Early Stage 早期階段, 已經營運但是沒有賺錢

2.1 Start-up, 錢會用在產品開發和初期市場開發.

2.2 Sirst Stage, 錢會用在初期的商業生產和銷售.

3. Formative Stage – 包括 seed 和 early 兩個階段.

4. Later Stage – 已經賺錢還沒 IPO.

4.1 Third Stage – 錢會用在擴廠, 產品改良, 市場開發.

4.2 Expansion Stage – 包括 stage 1~3 階段.

4.3 Mezzanine (bridge)- 介於 expension 和 IPO 中間的階段.

5. Balanced-Stage 包括全部階段.

2. 創業小聚上的影片