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:

2012年5月28日 星期一

DVB Introduction

/* 開始整理些工作上會遇到的一些名詞跟解釋, */


DVB, Digital Video Broadcast 數位視訊廣播,由「DVB Project」維護的一系列為國際所承認的數位電視公開標準。[1]


MPEG, Moving Pictures Experts of Group, 它是一個針對處理動態數位影像的組織。在數位電視廣播DVB影音訊號處理的部份就應用了MPEG的影音壓縮技術,在MPEG的影音壓縮技術中,依照不同的應用有不同的壓縮技術種類,例如:MPEG1、MPEG2、MPEG4、MPEG7、MPEG21

CA vs. FTA

數位電視 vs. 傳統類比電視的差異

STB(Set-top-Box)重要元件
  • STB常見的Feature:  隨選影片服務、時移電視功能(Time Shift)、電視錄影功能(DVR/PVR)、親子密碼鎖、電視郵件、即時天氣查詢、電視遊戲、CA(付費收看)、EPG(電子節目表)

TS (Transport Stream)


To be continued...


References:
[1] http://www.rohde-schwarz.com.tw/precompiledweb/BoxDetail.aspx?LibraryID=2
[2] http://zh.wikipedia.org/wiki/M2T
[3] http://www.erg.abdn.ac.uk/future-net/digital-video/mpeg2-trans.html

2012年5月22日 星期二

C語言 - assert()

#include "assert.h"  /* include .h file */

void assert(int expression);
主要是用來除錯。在這個macro中當expression為FALSE的時候就直接結束程式,並且輸出一些必要的資訊 /* 輸出哪些資訊可以參考Reference */ 而這應該大多都用只是純粹RD內部開發code時debug用。

如果今天不想要release的code會因為觸發assert()莫名錯誤而dump出些莫名資訊給客戶,就只要在include "assert.h"之前加上#define NDEBUG就好,compile的時候就會略過assert() [2]


References:
[1] http://www.cplusplus.com/reference/clibrary/cassert/assert/
[2] http://en.cppreference.com/w/cpp/error/assert
[3] http://guguclock.blogspot.com/2008/09/assert.html

2012年5月17日 星期四

new life

嗯...最近換了個工作,我想這邊以後要轉往寫些數位電視跟IC design有關的東西了....科科