顯示具有 Computer Science 標籤的文章。 顯示所有文章
顯示具有 Computer Science 標籤的文章。 顯示所有文章

2015年8月4日 星期二

何謂簽章?


數位簽章原理[1]

可配合下面的圖來看

簽章基本原理是這是建立於PKI (Public Key Infrastructure)的環境

關於PKI可以看這個網頁的基本介紹: http://www.synnex.com.tw/asp/fae_qaDetail.asp?topic=FAE&group=&parent=&classifyid=01534&seqno=17477

首先要先掌握好一組key pair(private key and public key) 一端會用private key來做加密; 而且只有握有對應的public key的接收端才有辦法解密

所謂簽章就是一端先算出一個digest(摘要), 然後再用私鑰(private key)把這digest做加密;

另外一端則是用對應的公開金鑰(public key)去解出digest, 然後再用相同的演算法重算一次digest, 然後比較兩者是否相同 如果相同代表簽章確認OK! 東西沒有被竄改過

算出digest(摘要)有很多種方法 ex. md5sum, SHA, MAC, HMAC …. 詳情請參閱密碼學相關書籍或者網頁

以MD5而言,會有下面截圖這種結果,你可以想像成算出來的digest就是一種指紋的概念,不同的人指紋都是無一無二的,而且這運算是不可逆的(無法從digest反推回原本的內容 這很重要!! 發明這種演算法的真是天才)


這邊看到的 ”c464ac739be5f332f5991adc5d731019” 就是透過MD5這種hash algorithm所算出的digest

參考網頁:
[1] http://david50.pixnet.net/blog/post/28798505-%5B%E7%AD%86%E8%A8%98%5Ddigital-signature-%E6%95%B8%E4%BD%8D%E7%B0%BD%E7%AB%A0

2013年4月5日 星期五

DVB-T, Hierarchical modulation

DVB-T有個特殊得功能稱之為 hierarchical mode, 也就是說以原本通常使用在同個TP中間去帶節目資訊都是在high priority的部分, 如果今天想在原本的TP部分把low priority的部分拿來帶節目的話的這功能稱之為 hierarchical mode. 這優點就是如果有這功能的話可以在原本的TP中去多帶一倍的節目 但這功能現在普遍是很少在使用

有兩種mode, priority high/low, default是採用priority high的模式

Reference:

2012年12月25日 星期二

何謂幀? frame?

計算照片、字畫等的單位。[1] 一個十秒鐘的畫面 定義成需要由10張圖來構成,那麼其中一張圖就是所謂的frame [2]

一個動態影像是由一連串連續的靜態影像所組成的,其中每一個靜態影像稱為幀(frame),而動態影像中每秒所包含靜態影像的數量則稱為幀(速)率(frame per second, fps)。
一般來說FPS用於描述影片或遊戲每秒播放多少影格,而赫茲則描述顯示器的畫面每秒更新多少次。[3]

而在顯示器上顯示動態影像的方式有兩種:
漸進掃描:或稱為逐行掃描。將每一幀從左至右、由上至下,逐一的將所有的畫素顯示出來。
交錯掃描:或稱為隔行掃描。將一幀圖像的奇數行畫素及偶數行畫素分開,分成為兩個場(field)。輪流掃描奇數行所構成的場及偶數行所構成的場。
因為一個場只有一個幀一半的資訊,因此在裝置處理速度無法即時的處理整個幀的資訊以及傳輸頻寬不夠即時傳輸整個幀的情形下,使用交錯掃描可以節省一半的資訊量且可以為持相同的更新率。在以往陰極射線管顯示器(Cathode Ray Tube, CRT)很難一次掃描整個螢幕,因此無法使用漸進掃描。但是因為螢幕上螢光的餘暉加上視覺暫留效應,使得交錯掃描在陰極射線管顯示器上運作的相當順利。所以廣播電視系統例如NTSC每秒59.94場,PAL則為每秒50場。
現在新式的顯示設備的速度已經夠快可以即時的處理且掃描整個幀,因此都是使用漸進掃描。但是在這些新型的顯示設備上直接播放交錯式影像會產生嚴重的閃爍現象,且因為交錯式訊號兩行只有一行有影像另一行則是全黑的,所以亮度看起來會減少一半。由於有上述這些問題,所有使用漸進掃描的新式顯示設備都需要有去交錯的功能。[4]

延伸閱讀:
Field vs. Frame[5]

圖框(Frame):
一個完全的TV影像,由兩個交錯掃瞄的圖場所構成。NTSC/EIA規格每秒有30張Frame,每個Frame有525掃瞄線。PAL/CCIR規格每秒有25張Frame,每個Frame有625掃瞄線。

圖場(Field):
TV影像的一半,由奇數線或偶數線組成。NTSC/EIA訊號規格是每秒60個262.5掃瞄線的圖場。PAL/CCIR訊號規格是每秒50個312.5掃瞄線的圖場。奇/偶圖場對再合組成Frame。

NTSC(National Television System Committee 美國國家電視系統標準協會):
美規彩色標準視訊信號,主要使用在美國、日本。NTSC每張影像使用525條掃瞄線,每秒30個Frames,每個Frame是由2個圖場以Interlace方式構成。

EIA(Electronics Industries Association 美國電子產業協會)︰
美規黑白標準視訊信號,每個Frame有525條線及2個交錯圖場,每秒有30 Frames。NTSC的黑白版本常以RS-170表示。

PAL(Phase Alternation Line 相位交錯系統):
歐規彩色標準視訊信號,歐洲是先驅使用者,也被使用在世界其他地方。PAL每張影像有625條掃瞄線,每秒有25 Frames,每個Frame是由2個圖場以Interlace方式構成。

CCIR(Consultative Committee of International Radio 國際無線電諮詢委員會)︰
歐規黑白標準視訊信號,每個Frame有625條掃瞄線及2個交錯圖場,每秒有25 Frames,PAL的黑白版本。

References:
[1] http://zh.wikipedia.org/wiki/%E5%B8%A7
[2] http://nelsonchunglife.blogspot.tw/2008/04/frame.html
[3] http://zh.wikipedia.org/wiki/%E5%B8%A7%E7%8E%87
[4] http://zh.wikipedia.org/wiki/%E5%8E%BB%E4%BA%A4%E9%8C%AF
[5] http://www.idsvision.com.tw/phpbb2/viewtopic.php?p=647&sid=1feae6efef438c41941170caa5953cb9

2012年12月18日 星期二

Smart Card

Smart Card中文名稱為智慧卡,或稱為積體電路卡(ICC:Integrate Circuit Card),是由法國人Ro-land morono 於1974年發明,將具有儲存資料及加密保護功能的電路晶片封裝於跟信用卡大小一樣的塑膠卡片中,這樣子便成了常見的 Smart Card,法國BULL公司於1976年首先製成產品並開始應用於各種領域之中。[1]

目前常見的Smart Card應用有手機內的sim卡、銀行金融卡、信用卡等。

國際標準ISO7816規範了Smart Card 規格,ISO7816文件規範說明如下:
● ISO7816-1 (Physical characteristics) :
定義物理層規範,包含Smart Card可承受工作溫度、靜電耐受度或可承受彎曲及重量等等,此一部分對於卡片製造商而言比較重要,有助於製造商選擇卡片製造材料。

● ISO7816-2 (Dimensions and location of the contacts) :
定義尺寸及連接器,包含卡片上的接腳位置及Smart Card尺寸。

● ISO7816-3 (Electrical interface and transmission protocols) :
定義電氣訊號及通訊傳輸協定。

● ISO7816-4 (Organization security and commands for interchange) :
定義了在卡片中如何使用application identifier檢查是否存在or/and狀態的應用檢索:
-連接介面上的命令交換回應
-表示卡片上的retrieval of data elements 及data objects
-表示卡片中的應用及資料結構
-表示卡片中的identifying 及addressing applications 結構
-描述卡片的工作特徵的歷史字節結構和內容
-卡片中的檔案及資料存取方式
-卡片中傳輸存取演算法
-在卡片中對於檔案及資料保密結構
-加密傳輸方式

● ISO7816-5 (Registration of application providers) :
表示如何通過國際認可授權規範以及相關定義。具有以下的功能:
-註冊方式
-相關負責機構
-描述註冊相關程序及應用部分

● ISO7816-6 (Interindustry data elements for interchange) :
2004年指定Data Elements (DEs)做為數據元素根據集成電路卡片(ICCs)。 定義了DE標識符號、名稱、描述、格式、編制程序和layout並定義了DEs檢查卡片的方式。

● ISO1816-7 (Interindustry commands for Structured Card Query Language) :
Structured Card Query Language (SCQL) 中的Interindustry commands說明。

● ISO7816-8 (commands for security operations) :
2004 年定義了智慧卡中interindustry 命令(包含接觸式及非接觸式) 可用於cryptographic operations。這些命令定義是基於ISO/IEC 7816-4中的命令列表。附錄部分提供了數位簽章範例、certificates and the import 及export of asymmetric keys。對密碼機制的用途的選擇和條件也許影響卡片exportability,運算法及匯流排內容則不屬於ISO/IEC 7816-8內容。

● ISO7816-9 (Commands for card management) :
定義了智慧卡中interindustry命令(包含接觸式及非接觸式)的檔案管理,如檔案新增或刪除等。這些命令包含了卡片中entire life cycle及其他發佈使用時的命令。附錄的部份則是提供如何控制讀取(保密傳輸)卡片上的資料,意指在加密狀況下傳送及驗證資料,如code、 keys及applets。

● ISO7816-10 (Electronic signals and answer to reset for synchronous cards) :
這章節定義了智慧卡從介面到裝置同步傳輸時的電源、訊號以及重置結構。

● ISO7816-11 (Personal verification through biometric methods) :
這章節定義了在智慧卡中關於personal verification through biometric methods的interindustry commands與data objects使用方式。
interindustry commands定義請參閱ISO/IEC 7816-4. data objects 國際標準化定義請參閱ISO/IEC 19785-1。ISO/IEC 7816-11 也提供了關於註冊、驗證及位址保密的範例。

● ISO7816-12 (USB electrical interface and operating procedures) :
這章節定義了智慧卡在USB介面中的操作條件,一張使用USB介面的智慧卡稱為USB-ICC
ISO/IEC 7816-12 : 2005年定義了下列部分:
-USB-ICC電氣特性條件,當USB-ICC以介面方式進行操作。
-標準USB描述以及USB-ICC等級描述。
-在HOST及USB-ICC之間傳輸資料時,關於巨量傳輸及控制傳輸說明。
-進行控制傳輸時允許兩種不同的匯流排版本。
-表示非同步狀態下的中斷傳輸狀態以及錯誤條件。
ISO/IEC 7816-12 : 2005年針對控制傳輸提供了兩種協議版本,一種為支援protocol T=0 (version A)另一種為transfer on APDU level (version B)。本章節也為USB-ICC中各種傳輸提供說明圖表(巨量傳輸,控制傳輸,version A和version B)。USBICC一定能處理可能的序列的舉例子在情報附錄。ISO/IEC 7816-12 : 2005年為控制轉移提供二個協議。這是為了支持協議T=0 (版本A)或在APDU水平(版本B)上使用調動。USB-ICC提供說明圖表為每一調(批量轉移,控制轉移版本A和版本B)。附錄中提供了USB-ICC範例。

● ISO7816-13 (Commands for application management in multi-application environment) :
本文介紹在開發Global Platform 標準相關事項,例如安全通道協議。

● ISO7816-15 (Cryptographic information application) :
定義智慧卡應用。關於密碼功能的應用。2004年定義了針對密碼訊息和共享機制的共同的
語法(在ASN.1)和格式。
ISO/IEC 7816-15 : 2004年支援以下功能:
-在智慧卡中儲存多組密碼。
-使用密碼訊息
-Retrieval密碼訊息
-DOs在ISO/IEC 7816定義了最適當的Cross參考密碼信息
-Different認證機構
-Multiple密碼算法
-Cross-referencing of the cryptographic information with DOs defined in ISO/IEC 7816 when appropriate.


References:
[1] http://www.zeroplus.com.tw/software_download/200908ZEROPLUS_iso7816.pdf
[2] ISO7816 standard: http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-1.aspx

2012年12月14日 星期五

台灣數位電視 DVB-T

台灣數位電視頻率區段 [1]
533 (MHz)
中視
中視
中視新聞台
中視綜藝台


545 (MHz)
公視
公視
DIMO
客家電視台


557 (MHz)
民視
民視
民視交通台
民視新聞台
民視HD(MLB)台


569 (MHz)
公視
HiHD


581 (MHz)
台視
台視
台視財經台
台視健康台


593 (MHz)
華視
華視
華視教育台
華視休閒台


Q&A
1) VHF與UHF電視頻道有何區別?[2]
VHF(Very High Frequency特高頻) 與UHF (Ultra High Frequency超高頻) 為電視頻段的名稱, VHF又分低波段、 中波段、高波段 三種。 因波段不同,使用的天線也不同。 無線電視節目收視者必需依照 各 電視台頻段安裝正確的天線,才能穫得最佳收訊效果 。以我國為例,民視類比頻道為 VHF低波段,台視、中視、華視類比頻道為VHF高 波段 ,公視類比頻道為UHF 。 各電視台的數位頻道則全部位於UHF頻段

References:
[1] http://www.starchina.com.tw/subpage/column/sub/sub2.htm
[2] http://web.pts.org.tw/~web01/PTS/q1.htm

2012年12月13日 星期四

時間計算:GMT, UTC

GMT(Greenwich Mean Time,GMT)[1]
格林尼治平時(又稱格林尼治平均時間或格林尼治標準時間,舊譯格林威治標準時間;英語:Greenwich Mean Time,GMT)是指位於英國倫敦郊區的皇家格林尼治天文台的標準時間,因為本初子午線被定義在通過那裡的經線。
自1924年2月5日開始,格林尼治天文台每隔一小時會向全世界發放調時信息。
理論上來說,格林尼治標準時間的正午是指當太陽橫穿格林尼治子午線時(也就是在格林尼治上空最高點時)的時間。由於地球在它的橢圓軌道裡的運動速度不均勻,這個時刻可能與實際的太陽時有誤差,最大誤差達16分鐘。
由於地球每天的自轉是有些不規則的,而且正在緩慢減速,因此格林尼治時間已經不再被作為標準時間使用。現在的標準時間,是由原子鐘報時的協調世界時(UTC)。

UTC(Universal Time, Coordinated)[2]
世界統一時間,又稱世界標準時間或世界協調時間,簡稱UTC(從英文「Coordinated Universal Time」/法文「Temps Universel Cordonne」而來),是最主要的世界時間標準,其以原子時秒長為基礎,在時刻上盡量接近於格林尼治平時。中國大陸採用ISO 8601:2000的國家標準GB/T 7408-2005《數據元和交換格式 信息交換 日期和時間表示法》中亦稱之為協調世界時。台灣採用CNS 7648的《資料元及交換格式–資訊交換–日期及時間的表示法》(與ISO 8601類似)稱為世界統一時間。

這套時間系統被應用於許多網際網路和全球資訊網的標準中,例如,網路時間協議(Network Time Protocol,NTP)就是世界統一時間在網際網路中使用的一種方式。
在軍事中,協調世界時區會使用「Z」來表示。而在航空上,所有使用的時間劃一規定是協調世界時。而且Z在無線電中應讀作「Zulu」(可參見北約音標字母),世界統一時間也會被稱為「Zulu time」。比如說飛機在香港時間下午六時正起飛,就會寫成1000z,又或者讀作「1000Zulu」。

References:
[1] http://zh.wikipedia.org/wiki/GMT

2012年12月10日 星期一

CAS - 世界級主流廠商

CAS - 世界級主流廠商[1]
鎖碼系統(Conditional Access System,CAS,亦稱之為「條件接收系統」)為將數位電視節目於播送之前加入特殊資料以控制電視節目可否接收之技術,亦即為付費電視之基礎控制。鎖碼系統使用晶片卡或其他存取媒介存放並交換密碼資料,有時亦需使用回傳通道進行雙向確認。DVB CAS 主要包含擾碼(Scramble)與加密(Encryption)二部份,但 DVB 對於二部份均無強制定義。因此,基本上依擾碼方式不同而有所謂開放式(採用 DVB 標準擾碼規範者)或私有式鎖碼系統(採用私有擾碼技術者),惟經數年發展後私有式鎖碼系統已所存無幾。以下為數家較大型 DVB 鎖碼系統之簡介,依字劃排列。

a. Conax
原為 Telenor 所開發,目前已經北歐、東歐與亞洲不少電視廣播業者所採用,惟因大部份非大型媒體集團,訂戶數尚未擴大。
http://www.conax.com/

b. CryptoWorks
為飛利浦(Philips)所開發,目前已由數家歐亞電視廣播業者採用。
但已於2006年3月被Irdeto給收購[5]

c. Irdeto
為 Irdeto 公司所開發,屬 Multi-Choice 媒體集團 CAS 之翼,目前主要由 Multi-Choice 集團相關之業者與中央電視台所採用。因 Multi-Choice 進入衛星數位電視廣播極早,訂戶數屬於前五大鎖碼系統之一。
http://irdeto.com/

d. Multi2
基本上由 Hitachi 為日本所專門開發,最大不同點為擾碼機制(Hitachi於1995年開發出MULTI 2加密演算法[2]),目前為日本國家規範,僅於日本使用。

e. NagraVision
屬 Kudelski 集團所開發,目前已經歐洲、美國與亞洲不少電視廣播業者所採用,其客戶僅美國 Dish*Network(EchoStar)為(超)大型業者,訂戶數屬於前五大之一。
http://www.nagra.com/dtv/

f. NDS
為紐斯集團(News Corp)旗下之 News Digital System 所開發,目前已經歐、亞、美數家電視廣播業者所採用,惟除了紐斯集團與 DirecTV(據悉亦將為紐斯集團所購併)之外,其他電視廣播業者極少。依靠紐斯集團與 DirecTV,訂戶數可能為前五大之首。
但於2012.3被CISCO給併購[3]
http://www.nds.com/

g. SECA/MediaGuard
為 CanalPlus 所開發,目前有歐洲數家電視廣播業者採用,惟大部份均屬 CanalPlus 集團,訂戶數亦屬前五大之一。MediaGuard 已為 NagraVision 所購併。

h. Viaccess
為法國電信子公司 Viaccess 所開發,目前已由歐、亞洲不少電視廣播業者所採用,訂戶數屬前五大之一。
Viaccess於2012.6併購Orca Interactive(Orca Interactive為間做IPTV的middleware公司)[4]
http://www.viaccess.com/


References:
[1] http://img.cowell.com.tw/sugar/visson/chinese/technology_005.htm
[2] http://ppt.cc/Jzrq
[3] http://ppt.cc/kNIu
[4] http://www.prnasia.com/story/63157-2.shtml
[5] http://www.rti.cn/info.asp?id=200603060006

2012年12月6日 星期四

IC Package

LQFP (Low-Profile Quad Flat Pack)
QFP(四方扁平封裝)實現了增加端子數及低熱阻等高階功能,作為一種低成本的積體電路封裝技術而備受關注。

LQFP
LQFP(小外形四方扁平封裝)封裝的晶片承載盤直接露在封裝外部,再將外露的承載盤直接組裝到主機板上,透過主機板增強散熱功能,從而滿足低熱阻的要求。
PBGA(Plastic Ball Grid Array)塑膠球閘陣列封裝

封裝方式的演進與未來
http://bbs3.nsysu.edu.tw/txtVersion/treasure/mis92tech/M.971501571.A/M.974595844.A.html

IC封裝術語簡介
http://bbs.smthome.net/simple/?t218621.html

2012年11月29日 星期四

AVS? MPEG-4? H.264?

AVS(Audio Video coding Standard),即數字音視頻編解碼技術標准,為中國第二代信源編碼標准。[1]

AVS(Audio Video coding Standard)為中國具備自主知識產權的第二代信源編碼標准,此編碼技術主要解決數字音視頻海量數據(即初始數據、信源)的編碼壓縮問題,故也稱數字音視頻編解碼技術。目前國際上音視頻編解碼標准主要兩大系列:ISO/IEC JTC1 制定的MPEG系列標准,ITU 針對多媒體通信制定的H.26x系列視頻編碼標准,和G.7系列音頻編碼標准。1994年由MPEG和ITU合作制定的MPEG-2為第一代音視頻編解碼標準的主要格式,是目前國際上最為通行的音視頻標准。

經過十年多演變,音視頻編碼技術產生了巨大的變化,後起之秀輩出。目前音視頻產業可以選擇的信源編碼標准有四個:MPEG-2、MPEG-4、MPEG-4 AVC(簡稱AVC,也稱JVT、H.264)、AVS。從制訂者分,前三個標準是由MPEG專家組完成的,第四個是中國自主制定的。從發展階段分,MPEG-2是第一代信源標准,其餘三個為第二代標准。從主要技朮指標—編碼效率比較:MPEG-4是MPEG-2的1.4倍,AVS和AVC相當,都是MPEG-2兩倍以上。

AVS標準是《信息技術 先進音視頻編碼》系列標準的簡稱,AVS標准包括系統、視頻、音頻、數字版權管理等四個主要技朮標准和一致性測試等支撐標准。在2003年12月18日-12月19日舉行第7次會議上,工作組完成了AVS標準的第一部分(系統)和第二部分(視頻)的草案最終稿(FCD),和報批稿配套的驗証軟體也已完成。2004年12月29日,全國信息技術標准化技術委員會組織評審並通過了AVS標准視頻草案。2005年1月,AVS工作組將草案報送中國信息產業部。3月30日,中國信產部初審認可,標准草案視頻部分進入公示期。2004年度第一季度(第8次全體會議)正式開始「數字版權管理與保護」標準的制定,目前已近尾聲。2005年初(第12次全體會議)完成了第三部分(音頻)草案。


AVS與H.264相比,主要具有以下特點:
1.AVS的性能高,與H.264的編碼效率相當。
2.AVS的複雜度低,編碼複雜度比H.264明顯低,軟硬體實現成本都低於H.264。
3.AVS編碼技術為中國主導的知識產權,專利授權模式簡單,費用較H.264低。


H.264延伸閱讀[3]:
H.264/MPEG-4(AVC)

H.264因其是藍光的一種編解碼標準而而著名,所有藍光播放器也都必須要能解碼H.264。也被廣泛應用於Youtube, itune store, or DVB-S, C, T, T2的環境中
在台灣以DVB-T數位電視廣播格式進行高解析度無線數位電視頻道,採用H.264/MPEG-4 AVC作為視訊編碼格式,而其中包括了以下的電視台:

公共電視(PTS) (HiHD)
民間全民電視(FTV) (民視HD)
中國電視台(CTV)(中視HD台)
台灣電視台(TTV)(台視HD台)
中華電視台(CTS)(華視HD台)

Multiview Video Coding, MVC
於2009年11月完成,為3D立體視訊編碼的重要關鍵。據H.264/AVC附件H,MVC使得碼流結構可以表達一個視訊場景的不止一個檢視。MVC的工作中開發了兩個配置:多檢視高配置(Multiview High Profile)支援任意數量的檢視,立體高配置(Stereo High Profile)是為雙檢視立體視訊特別設計的


References:
[1] http://zh.wikipedia.org/wiki/AVS
[2] http://tech.sina.com.cn/focus/AVS_05_CN/index.shtml
[3] http://zh.wikipedia.org/wiki/H.264
[4] http://baike.baidu.com/view/403562.htm

2012年11月23日 星期五

MPEG-2的同步--STC,PCR,DTS,PTS

PTS:Presentation Time Stamp
DTS:Decoding Time Stamp
PCR:Program Clock Reference
SCR:Ststen Clock Reference
STC:System Time Clock

1. SCR
SCR是存在於PS中的,即PS的pack裡面的一個field。SCR用來提供decoder一個時間基準點。

2. ESCR
ESCR是位於PES裡面的,即PES的header裡面可能會有,當PES的packet要表示一個PES stream的時候,PES packet裡面的ESCR就表示這個PES packet的所期望的到達decoder的時間。

3.PCR
PCR是TS裡面的,即TS packet的header裡面可能會有,他用來提供該TS packet到達decoder的時間,他的作用於SCR類似。

4. DTS, PTS
對於一個ES來說,比如視頻,他又許多I,P,B幀,而P, B幀都是以I,P幀作為參考。由於B幀是前向後向參考,因此要對B幀作decode的話,就必須先decode該B幀後面的P,或者I幀,於是,decode的時間與幀的真正的present的時間就不一致了,按照DTS一次對各個幀進行decode,然後再按照PTS對各個幀進行展現。 

有時候PES header欄位也會有DTS,PTS,對於PTS來說,他代表了這個PES包得payload裡面的第一個完整地audio access unit或者video access unit的PTS時間(並不是每個audio/video access unit都帶有PTS/DTS,因此,你可以在PES裡面指定一個,作為開始)。 

PES header的DTS也是這個原理,只不過注意的是:對於video來說他的DTS和PTS是可以不一樣的,因為B幀的存在使其順序可以倒置。而對於audio來說,audio沒有雙向的預測,他的DTS和PTS可以看成是一個順序的,因此可一直採用一個,即可只採用PTS。

Reference:
[1] http://hi.baidu.com/yanl_cn/item/7619041421bdb10cd1d66d3b

2012年11月9日 星期五

Linux - Kernel panic

Kernel panic的意思是指,OS遇到了一個內部的錯誤,這個錯誤並沒辦法被安全的修復起來,而導致沒辦法繼續運行,可能必須重新啟動才行。有點像Windows 的藍屏死機。

而造成Kernel panic的原因,大多是是擴充記憶體出現問題,但亦有可能是其他硬體產生。在嵌入式系統環境下,可用的memory空間往往不夠,因此一旦kernel編譯出來,必需要去指定該用多少空間,不然一旦超出範圍,就一下子就當了。


Note:
以我這次遇到的狀況是版子上電壓偏差過大(ex. 原本腳位是3.3V的設計,但實際用電表量後只剩下2.2V),所以導致CPU無法R/W FLASH導致問題產生。

2012年9月12日 星期三

HDMI CEC


HDMI CEC(Consumer Electronics Control, CEC)

高畫質多媒體介面(HDMI)是一個廣為人知的數位傳輸技術,其重要性可說是視聽器材的革命。但是大部分的人都只知道它的最新1.3版本規格,傳輸速度最快可達10.2Gbit/s以支援更大的頻寬,再加上最高到48位元的色深(Deep Color)功能。

但深究其十九支接腳,卻有一個常被大家所忽略的第十三支接腳,也就是消費性電子控制(Consumer Electronics Control, CEC)功能。CEC是在1.0版本時被制定,但直到1.2a時才完全確認及提出測試規範。其基本原理和技術來自歐洲的SCART,而在HDMI採用並增強其功能。
CEC為單線雙向傳輸,使用顯示數據通道(Display Data Channel, DDC),以用來進行影音器材彼此控制和偵測,旨在減少遙控器的數量和使用者按下按鈕的次數。在HDMI從上而下連接的網路架構下,CEC可以允許裝置透過直接連接或非直接連接方式溝通,顯示裝置原則上會被認定為根(Root),而切換器(Switches)則為分支(Branches),至於其他的播放裝置則會定義為葉(Leaf)節點。

舉例來說,使用者可以進行如圖6般的混合性裝置連接,當用戶將影片放到DVD播放器之中,並按下播放鍵之後,接下來的事就由CEC來處理。CEC將會自動開啟相關連的裝置,遠端控制DVD播放器的聲音輸出到喇叭,在遠端遙控影片內容到輸出端。同樣的,隨著用戶在機上盒切換頻道,節目內容的影像與聲音也都會自動取代DVD的聲音與影像。接著,一旦用戶按下錄影鍵的同時,在整個網路中扮演Root角色的電視機,也就會自動將錄影的命令傳達給錄影機,包括頻道、時間,以及錄影的格式都同時提供,讓錄影機有詳細資訊可以遵從,並進而將正確的影像錄進錄影機中。簡單的說,CEC在HDMI的系統當中,開創了自動化的裝置搜尋和簡易One Touch操作體驗。如表1為每一個HDMI系統連接裝置所對應的邏輯位址(Logic Address)編號,從0~15一共十六種不同的裝置識別,Reserved位址則是保留給以後使用。

在實際狀況中,HDMI架構共有三條資料傳輸通道(圖7),每個資料通道傳輸10位元資料長度,在1.3版本之前,由於8位元轉換成10位元直流平衡(DC-balanced),因此每色階畫素最多可支援24位元。但在1.3版本之後,開始支援24、30、36、48色階,另外還有一條時脈通道。而CEC走的是I2C規格的DDC通道。

CEC特色多元

規格書當中描述的CEC特色歸類為幾種,第一是One Touch Play,允許只要按下一鍵就可以使裝置被播放或成為活動資源(Active Source);二是系統待命(System Standby),讓使用者可以隨意切換任一或全部的裝置,並進入待機模式;至於One Touch Record則允許使用者可以看到什麼就錄什麼;還有計時器編程(Timer Programming),允許使用者可以透過電子節目清單(EPG)或其他方式去設定錄影機的預錄功能;Deck Control則利用裝置去控制另一台裝置進行播放或是快轉;常見的裝置選單控制(Device Menu Control),意指利用顯示設備上的使用者介面去控制另一台裝置;遙控傳遞(Remote Control Pass Through)則是將遙控器的控制命令,透過HDMI連接介面傳到另外一台裝置以直接控制;系統音訊控制(System Audio Control)是利用電視遙控器去控制音訊擴大機的音量,或是一些其他的基本切換功能。

從2006年開始,支援CEC的電視和錄影機巳經慢慢在市場上普及。不過很遺憾的,雖然打著CEC的名號,但各家幾乎沒有相容性可言,並不支援其他廠牌,更連名字都不相同,消費者並不清楚哪些才是真正的CEC。

由於夏普內建的i.LINK端子已不再像以往提供雙向的功能,而是改採i.LINK In/HDMI Out的方式,因此沒有HDMI的裝置在錄完影以後就要透過類比色差端子來看,而無法像以前一樣使用數位的i.LINK來觀賞節目。此外,該產品的單鍵播放功能、Deck Control尚稱正常,但UI的Menu Control功能卻因設定困難,因此不能算是完整的CEC產品,充其量不過是利用CEC讓自家廠牌的產品具有連動功能。

至於松下就更乾脆,在新款錄影機中直接取消i.LINK接頭。不過,值得一提的是,該產品的Remote Control切換得很平順,其Remote Control Pass Through幾乎可以控制大部分重要按鍵。只可惜,在Deck和Menu部分的控制,也只支援部分錄影和播放的功能。可能是因為這部分的功能,牽連到的相容性問題很大,所以目前在業界並沒有看到業者支援。

然而,CEC理應極為重視相容性,因為在未來CEC極有可能成為器材溝通的協定,而不同產品之間能否順利溝通,對消費者來說同樣重要,因此,對廠商來說,投入心力在相容性測試,確保產品的相容度也將是刻不容緩的課題。

References:
[1] http://www.2cm.com.tw/technologyshow_content.asp?sn=0803130006
[2] http://www.2cm.com.tw/coverstory_content.asp?sn=1006020001
[3] http://weng32002.blogspot.tw/2011/11/hdmi-cecconsumer-electronics-control.html

2012年8月30日 星期四

DMA, Direct Memory Access

三種將資料在I/O間傳送的方法有
1. Polling
2. Interrupt-driven I/O
3. DMA(Direct Memory Access)

Polling:最簡單的方式讓I/O device與CPU溝通。I/O device只要將information放進status register,CPU會周期性的檢查並取得information來得知需要服務的device。
Interrupt-driven I/O:利用interrupt的機制,當一個I/O device需要服務時,會發出interrupt來通知CPU。一個I/O interrupt對於指令的執行是asynchronous,Control unit需要在執行一個新指令時檢查是否有pending I/O interrupt。I/O interrupt也會傳達更多訊息,如哪個device發出的interrupt和它的priority。

DMA(Direct Memory Access):提供一個device controller,讓I/O device能夠直接在記憶體做資料的傳輸,不需要CPU的參與。
在同等程度的處理器負擔下,DMA是一種快速的資料傳送方式。很多硬體的系統會使用DMA,包含硬碟控制器、繪圖顯示卡、網路卡和音效卡。

DMA transfer的三個步驟
1. CPU要初始化DMA controller,包括提供I/O device的名稱、執行何種運算、記憶體位置以及所要傳送的bytes數。
2. DMA開始運作。如果request需要多於一次的transfer在bus上,DMA unit會產生下一個memory address和初始下一次的transfer。
3. 一旦DMA transfer完成,DMA controller發出一個interrupt給CPU。

References:
[1] http://zh.wikipedia.org/wiki/DMA
[2] http://blog.yam.com/yuhaolin/article/725974

1080P? 1080i?

1080p: 逐行掃描 progressive scan
1080i: 間隔掃描 interlaced scan

1080i 是一種高清晰度電視信號格式,「1080」表示垂直方向有1080條水平掃描線,「i」表示採用交錯式掃描視頻顯示方式(interlaced scan)。
1080i 先掃描單數的垂直畫面,再掃描雙數的垂直畫面,故只需要1080p一半的頻寬,
但是碰到高速移動的物體時,物體周圍就有晃動現象。早期的高清析度電視都是這種規格,因為早期的頻寬較小,無法一次送出全部,故用這種方式一次送一半來減少頻寬。

1080p(Progressive scan),則是逐行掃描(progressive scan) ,是因現在頻寬較大而延伸出來的傳輸方式。

1080p是一種視頻顯示格式。字母p意為逐行掃描(progressive scan) ,有別於1080i的interlaced scan(隔行掃描)。數字1080則表示垂直方向有1080條掃描線。通常1080p的畫面解析度為1920×1080,即一般所說的高清晰度電視。

ex. 假設2台 畫格都是每秒60張,也就是畫面更新頻率為60Hz
為什麼呢? "逐行掃描"的意思是,在更新頻率為60Hz的條件下,每秒對整個螢幕做60次的掃描,簡單的說就是,每秒顯示60張1920x1080的"照片",而這60張不同的照片在人的眼中就成了電影.動畫.

而"隔行掃描"的意思是,在更新頻率為60Hz的條件下,每秒對整個做60次的掃描,跟p不同的是:他是交錯掃奇數行或偶數行(垂直),也就是說1080行裡,他每次只掃540行,但 畫面大小是不變的,所以垂直的部分被"拉大了",所以1080i的解析度 事實上在單一掃描畫面只有1920x540.
對於平板電視,實際上可以認為沒有1080i和1080P的區別,因為目前圖像處理電路技術發展非常快,運算速度非常快,處理能力非常強,均具有倍線技術。所謂倍線技術就是把隔行的1080i的圖像處理成逐行的1080P的圖像,可以把1080/50i完美處理成1080/50P,1080/60i處理成1080/60P,包括1080/24P的節目,更可非常輕鬆地處理為1080/50P或 1080/60P。而且任何一台平板電視都有這種電路,稍微高檔的平板電視處理效果都不錯。

References:
[1] http://www.speedyou.com/CVR/XR-1080/1080P1080i.htm
[2] http://inspire.twgg.org/audio-a-video/video/item/123-understanding-of-high-definition-hd-teach-you-identify-differences-between-720p-1080i-and-1080p.html

2012年6月3日 星期日

C語言測試 想成為嵌入式程序員應知道的0x10個基本問題

C語言測試 想成為嵌入式程序員應知道的0x10個基本問題 (某網友找到的中文翻譯)

網路上找到的,有些還不太確定= =..... 真糟糕 加油加油

2012年5月31日 星期四

CAS (Conditional Access System)

CAS,有條件接收係統
CAS的組成包括有:用戶管理係統SMS、業務信息生成係統SIG、節目管理PMS/SI編輯係統、節目調度處理EIS、用戶授權管理係統SAS、條件接收CA等。統稱來說可分成兩大塊:一塊是管理用戶的SMS,一塊是管理節目的CA。

至於CA可以分為信號加擾(Scramble),以及加密兩大部分,加密是採用多層加密的技術,所以又可以分為兩個階段ECM以及EMM

CA大致的運作原理:

發送訊號端而言,可以透過一個隨機碼產生器產生一個隨機碼(稱為CW),來使訊號作加擾(Scramble),相對在客戶端也要有這個CW才有辦法把它解擾(De-scramble)出來,所以CW就要想辦法送到客戶端,但如果明文和Scramble的訊號一起送出去的話會有被hacker的可能,所以需要加密

這邊採用所謂的SK來幫CW加密。SK又可以稱為月密鑰,通常會是每月換一次或者也可依需求,每換一次SK,系統都要重新對所有用戶進行授權。這樣是第一次的加密,加密完的CW稱之為ECM。ECM包含了時間、節目價格、節目授權控制等訊息。so ECM包含了節目的管理訊息

第二層則是用PDK(節目密鑰)幫SK加密,產生的密文和從SAS(用戶授權管理)獲得的授權指令透過SAS(用戶授權管理系統)生成的授權訊息所組成,稱為EMM。EMM含有智能卡號、授權時間、授權等級等用戶的資訊。所以EMM是包含了用戶的管理訊息

透過這兩層的加密後後再把Scramble的Stream和ECM、EMM三個一起MUX後給送出去, 這三樣組成了CA最基本的加密系統。

至於用戶端(Set-Top-Box)檢測到DVB碼流如果是加擾碼流,則驅動讀卡器工作,將智能卡管理程序調入中央處理器啟動運行,將智能卡的卡號讀出。在傳送流中尋找PSI,在PSI中找到條件接收表CAT,根據CAT表中給出的EMM包標識碼(PID),找到相應的EMM信息,然後將智能卡的卡號與EMM內的授權信息中的卡號進行校對,也就是進行尋址比較操作,如果校對無效,在屏幕上將有提示你還未經授權不能收看的相關信息顯示。

Reference:
[1] http://www.autooo.net/utf8-classid105-id79475.html

2012年5月30日 星期三

DVR / PVR

DVR(Digital Video Record) 又可以稱為PVR(Personal Video Record)。主要用在提升家庭娛樂功能,爲消費者提供一種簡易的錄制、觀看和掌控電視。[1]

DVR是一個將影像以數位格式錄製到硬碟(HDD)或其他可存儲設備的裝置,它通常是一個獨立機上盒(STB),有時包含燒錄影片進各種光碟的燒錄機,有的可以用軟硬體連接在PC上以便從磁碟編輯和播放視訊。一些電子產品製造商也已經開始生產帶有內建DVR的電視。[2]
STB的功能通常可以做到可同時邊看A台邊錄B台,但限制這兩台必須再同一個頻點(一個頻點可帶三台的訊號),而有些進階版的STB為了能做到跨不同頻點的節目同時錄跟看,所以有雙Tuner的設計。

References:
[1] http://tc.wangchao.net.cn/baike/detail_238392.html
[2] http://zh.wikipedia.org/zh-tw/%E6%95%B0%E5%AD%97%E8%A7%86%E9%A2%91%E5%BD%95%E5%83%8F%E6%9C%BA

EPG(Electronic Program Guide)

EPG, Electronic Program Guide, 可以提供符合數位電視DVB規範之節目資訊,內容包括節目播出時間、節目名稱、節目簡介、節目分級(rating)、節目分類(content descriptors)等等。

2012年5月29日 星期二

TS (Transport Stream)

數位電視廣播DVB之影像傳輸(MPEG2 Data Stream)基本架構介紹 [2]
/* 這篇寫的還蠻清楚的,新手(like me)可以多看幾次反覆咀嚼一下概念 */

基本上數位電視廣播DVB在影音傳輸的型式是以TS(Transport Stream)的型式來傳送至發射機,然後透過RF機制發射訊號,將電視節目發送至每位收視戶來收看。在影音訊號部份是經由先前所說因為RF的傳送機制傳送資料量的限制與要做到自我錯誤更正的能力,所以我們必須將影音訊號做壓縮與封包化的處理。因此我們將經由攝影機所擷入下來的影音經由壓縮與封包化產生PES,但PES還不是數位電視廣播DVB傳輸的最終格式,所以我們必須再將PES經由訊號的處理將它放進不同的Transport Stream內。

經由MPEG2的壓縮技術壓縮後所產生的訊號我們稱之為ES (Elementary Stream)訊號。此時經由MPEG2壓縮後所產生的ES訊後是連續性的,為了使這些訊號具有自我錯誤的更正能力,所以我們必須將ES訊號做封包化(Packetized),ES訊號再經由封包化處理後將產生的訊號我們稱之為PES
MPEG PES mapping onto the MPEG-2 TS [1]

MPEG-2 Transport Stream header[1]
MPEG2 Transport Stream其資料長度為188 Byte,其主要分為兩大部份。第一部份為資料頭端Header的部份,佔了4 Byte的長度,其主要所提供的資訊有發射端與接收端同步的Sync  Byte=47hex、錯誤指示、Stream封包識別等資訊。在第二部份為傳送資料payload的部份其長度為184 Byte。此外在payload還包含了”Option adaptation field”,其中有一個重要的參數為PCR。PCR主要應用為在發射端與接收端需要做同步的27MHz的計數參數。



Reference:
[1] http://www.erg.abdn.ac.uk/future-net/digital-video/mpeg2-trans.html
[2] http://www.rohde-schwarz.com.tw/precompiledweb/BoxDetail.aspx?LibraryID=2

STB(Set-top-Box)

STB即機上盒(set-top box;或譯為視訊轉換盒)的簡稱,是用以轉換電視訊號的設備,包括有線電視(Cable)、衛星(Satellite)、地面廣播以及網路(IP/DSL)等幾種型態。過去機上盒僅具備單向類比視訊接收功能,提供選台、頻道解/鎖碼,但現在逐漸往付費收看CA(Conditional Access)/* 相對就是免費收看 FTA(Free to Air) */、OTT(Over The Top)、IP STB互動多媒體方向演進。[1]

STB元件組成 [2]
STB裡面由主要的幾個區塊所組成:前端,解密,影音訊號解碼,記憶體,回傳途徑以及聯結周邊的相關界面,分述如下:

Front-end(前端),包含Tuners以及Demodulator
前端是由調諧器及解調變器所組成,將射頻訊號轉換成數位校準資料流,也可稱為傳送流(TS);數位解調變在有線電視廣播是使用QAM,(衛星廣播為QPSK,地面廣播則為COFDM)。現今前端的元件可以一起裝在調諧器金屬盒中,這樣的調諧器通常稱為NIM。[2]

調節器(Tuners):
接收類比(或數位)廣播或有線電視節目訊號,並將頻率調整至正確的頻道,目前多以Tuner Box(Metal Can Tuner)的方式來用,未來Tuner漸漸以Silicon Tuner build–in 到電路板趨勢

數位解調器(Demodulator):
從Tuner接收訊號,將輸入的順號進行解調,進行頻道校正,頻道同步化,FEC(向前除錯),頻道編碼,向前除錯(FEC)等動作。

Back-end(後端),包含A/V Decoder:
音頻╱視頻解碼區塊可稱為後端,後端包含了傳送流解多工器,音頻視頻解碼器,數位視頻編碼器,數位類比轉換器(DAC),中央處理器以及內建記憶體。由於後端已經有系統整合單一晶片量產,所以接下來就以簡短的敘述晶片中的各區塊。[2]
傳輸分工器(Transport Demultiplexer):
將解調後的訊號經由分工器處理輸出MPEG數位影像及杜比數位音效(Dolby Digital)資料流。

OSD(On Screen Display)螢幕顯示:
機頂盒內含的螢幕顯示OSD將視頻影像和軟體所產生的圖形重疊,OSD的顯示優先權高於MPEG視頻訊號,它可以設定在子畫面的前面或後面。此外,為因應網際網路瀏覽和多媒體應用的需求,機頂盒因而需要繪圖處理器,處理器將網際網路的檔案格式以及自訂互動式的電視檔案格式轉換成為繪圖檔案,然後和視頻訊號重疊而呈現在電視畫面。[2]


References: