【文章內(nèi)容簡介】
式。每一個視頻端口有兩個通道:A和B,另有一個5120字節(jié)的FIFO顯示緩存可以分給兩個通道使用。下面是這兩種模式的主要技術(shù)性能[8]。一、捕獲模式的技術(shù)性能捕獲速率80MHz;兩路數(shù)字視頻輸入,格式為YUV422,有8bit或者10bit精度;一路Y/C16或20bit數(shù)字視頻輸入,格式為YUV422,支持SMPTE260M,SMPTE274M,SMPTE296M,YUV422到Y(jié)UV420變換,以及在8bit YUV422模式下的亞采樣。二、顯示模式的技術(shù)性能顯示速率110MHz;一路連續(xù)視頻輸出,輸出格式為YUV422 8bit或10bit精度;一路連續(xù)Y/C 16或20bit數(shù)字視頻輸出,格式為YUV422;YUV420到Y(jié)UV422變換,在8bitYUV422模式下,輸出2倍插值;5.、能產(chǎn)生行同步、場同步和消隱信號。 DM642以太網(wǎng)外設(shè) 網(wǎng)絡(luò)傳輸模塊的網(wǎng)絡(luò)接口由EMAC(10/100 Mb/s Ethernet MAC)與MDIO(Management Data Input/Output)兩部分組成,并主要用來支持物理層的網(wǎng)絡(luò)器件(PHY)與DM642的連接。其中EMAC控制PHY與DM642之間的數(shù)據(jù)包的交換,MDIO控制PHY的配置與狀態(tài)的檢測。原理如圖23所示[9]。圖23 PHY設(shè)備的連接 Equipment Connection of PHY 實(shí)時傳輸視頻的評估標(biāo)準(zhǔn) 失真度(D)通過將重建的視頻信號與源信號進(jìn)行比較,可求得失真度。失真度的定義可以用絕對誤差總和(SAD)、絕對誤差均值(MAD)、均方誤差(MSE)等來定義,較常用的MAD,定義見式(21) [10]。 (21)式(21)是對宏塊Mi失真度的定義,式中Mij和Mij39。分別是源圖像中的數(shù)值和在編碼器重建后的圖像數(shù)值。幀或者視頻對象的失真度可以取各相應(yīng)宏塊失真度的平均值。由于在視頻監(jiān)控中,前景有時比背景圖像重要,因此可以采用式(22)定義幀的失真度[11]。 (22)式中:αj是視頻對象的權(quán)值;N是幀內(nèi)視頻對象的數(shù)目。由于式(21)中沒有考慮新到傳輸中可能出現(xiàn)的差錯以及解碼器彌補(bǔ)差錯的各種措施,因此根據(jù)改失真度不能獲取全局的最優(yōu)編碼,如果將式(21)中的Mij39。用解碼器的重建數(shù)值Mij’’代替,采用這種全局失真度雖然增加了計(jì)算量,但是編碼結(jié)果會更加優(yōu)化。 峰值信噪比(PSNR)宏塊峰值信噪比定義如式(23)所示[12]。 (23)和失真度一樣,幀的視頻對象的PSNR可以取各相應(yīng)宏塊PSNR的均值,考慮到不同視頻對象重要性不同,幀的PSNR也可以取各視頻對象PSNR值的加權(quán)平均。 塊效應(yīng)程度(B)在視頻處理中通常對宏塊分別進(jìn)行編碼,因此在宏塊與宏塊之間可能出現(xiàn)明顯的邊界效應(yīng),從而影響視頻質(zhì)量。為了定義塊效應(yīng)程度B,首先定義邊界差值V1和V2,如式(24)和式(25) [13]。 (24) (25)式中V1為水平方向上的邊界差值,只對宏塊左右邊界的像素計(jì)算,V2為豎直方向上的編輯誒差值,只對宏塊上下邊界的像素計(jì)算,塊效應(yīng)B定義為宏塊中各邊界差值的均值。 帶寬利用率(UT)實(shí)時傳輸?shù)囊曨l應(yīng)當(dāng)盡可能的利用可用帶寬,以獲得最佳的視頻質(zhì)量,因此帶寬利用率也可以用來評價(jià)視頻的實(shí)時傳輸[14]。傳輸時間T內(nèi)的帶寬利用率定義見式(26) 。 (26)式中RMAX(t)是t時刻網(wǎng)絡(luò)最大可用帶寬;R(t)是t時刻視頻傳輸碼率。 本章小結(jié)本章介紹了數(shù)字信號處理器的特點(diǎn),分析了DSP的性能比較,闡述了本系統(tǒng)選擇DM642的依據(jù)。然后針對TMS320DM642處理器CPU體系結(jié)構(gòu)與特點(diǎn),重點(diǎn)介紹了DM642在運(yùn)算能力和多媒體處理方面的出色性能。其豐富的外圍接口是構(gòu)成多媒體通信系統(tǒng)的良好平臺。DM642接近于一個多媒體嵌入式系統(tǒng)的單芯片硬件平臺,并且具有完全的可編程性,能夠兼容多種多媒體音視頻標(biāo)準(zhǔn),非常適合網(wǎng)絡(luò)攝像機(jī)系統(tǒng)的研發(fā)。通過本章的敘述,對今后開發(fā)DSP產(chǎn)品打下理論基礎(chǔ)。本章最后研究了通用的視頻評估標(biāo)準(zhǔn)及相應(yīng)的原理和算法,這對系統(tǒng)的整體運(yùn)行評估起到了決定性的作用。第3章 數(shù)據(jù)網(wǎng)絡(luò)傳輸原理 OSI參考模型結(jié)構(gòu)隨著遠(yuǎn)程計(jì)算需求的不斷增加,人們開發(fā)出多種廣域網(wǎng)絡(luò)協(xié)議,以滿足不同計(jì)算方式下遠(yuǎn)程連接的需求。為了更好劃分網(wǎng)絡(luò)結(jié)構(gòu),國際標(biāo)準(zhǔn)化組織 ISO 提出了開放系統(tǒng)互連參考模型,如圖31所示[15]。圖31 OSI七層模型及其功能 Function of OSI SevenLayer Model協(xié)議分層大大簡化了網(wǎng)絡(luò)協(xié)議的復(fù)雜性,這實(shí)際也是自頂向下、逐步細(xì)化的程序設(shè)計(jì)方法的很好的應(yīng)用。網(wǎng)絡(luò)協(xié)議按功能組織成一系列“層”,每一層建筑在它的下層之上。分成的層數(shù),每一層的名字、功能,都可以不一樣,但是每一層的目的都是為上層提供一定的服務(wù),屏蔽低層的細(xì)節(jié)。物理層涉及到通信在信道上傳輸?shù)脑急忍亓鳎鼘?shí)現(xiàn)傳輸數(shù)據(jù)所需要的機(jī)械、電氣、功能性及過程等手段。數(shù)據(jù)鏈路層的主要任務(wù)是提供對物理層的控制,檢測并糾正可能出現(xiàn)的錯誤,使之對網(wǎng)絡(luò)層顯現(xiàn)一條無錯線路。網(wǎng)絡(luò)層檢查網(wǎng)絡(luò)拓?fù)?,以決定傳輸報(bào)文的最佳路由。傳輸層的基本功能是從會話層接受數(shù)據(jù),并且在必要的時候把它分成較小的單元,傳遞給網(wǎng)絡(luò)層。會話層允許不同機(jī)器上的用戶建立會話關(guān)系,協(xié)調(diào)不同應(yīng)用程序之間的通信狀態(tài)。表示層關(guān)注于所傳輸?shù)男畔⒌恼Z法和意義。應(yīng)用層包含大量人們普遍需要的協(xié)議,并且具有文件傳輸功能[16]。在分層模型中,對等是一個很重要的概念,因?yàn)橹挥袑Φ葘硬拍芟嗷ネㄐ牛环皆谀硨由系膮f(xié)議是什么,對方在同一層次上也必須是什么協(xié)議。所以如果兩個網(wǎng)絡(luò)在物理層就相同,使用中繼器就可以連起來;如果兩個網(wǎng)絡(luò)物理層不同,鏈路層相同,使用橋接器可以連起來;如果兩個網(wǎng)絡(luò)物理層、鏈路層都不同,而網(wǎng)絡(luò)層相同,使用路由器可以互連;如果兩個網(wǎng)絡(luò)協(xié)議完全不同,使用協(xié)議轉(zhuǎn)換器(網(wǎng)關(guān))可以互連。 TCP/IP協(xié)議 TCP/IP協(xié)議的體系結(jié)構(gòu)與OSI參考模型不同,TCP/IP模型更側(cè)重于互聯(lián)設(shè)備間的數(shù)據(jù)傳送,而不是嚴(yán)格的功能層次劃分。這為具體實(shí)現(xiàn)協(xié)議留下很大的余地。因此TCP/IP成為了互聯(lián)網(wǎng)絡(luò)協(xié)議的市場標(biāo)準(zhǔn)。TCP/IP協(xié)議的體系結(jié)構(gòu)分為四層,這四層由高到低分別是:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層。如圖32所示[17]。圖32 OSI參考模型和TCP/IP參考模型比較 Reference Model of TCP/IP and Its Comparison with that of OSI鏈路層在TCP/IP協(xié)議棧的最低層,也稱為數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計(jì)算機(jī)中對應(yīng)的網(wǎng)絡(luò)接口卡。鏈路層的功能是把接收到的網(wǎng)絡(luò)層數(shù)據(jù)報(bào)(也稱IP數(shù)據(jù)報(bào))通過該層的物理接口發(fā)送到傳輸介質(zhì)上,或從物理網(wǎng)絡(luò)上接收數(shù)據(jù)幀,抽出IP數(shù)據(jù)報(bào)并交給IP層。網(wǎng)絡(luò)層也稱為互聯(lián)網(wǎng)層,由于該層的主要協(xié)議是IP協(xié)議,因而也可簡稱為IP層。它是TCP/IP協(xié)議棧中最重要的一層,主要功能是可以把源主機(jī)上的分組發(fā)送到互聯(lián)網(wǎng)中的任何一臺目標(biāo)主機(jī)上。傳輸層提供應(yīng)用程序之間的通信,也叫端到端(End to End)的通信。在TCP/IP協(xié)議族中傳輸層包含兩個不同的傳輸協(xié)議:一個是TCP(傳輸控制協(xié)議);另一個是UDP(用戶數(shù)據(jù)報(bào)協(xié)議)。應(yīng)用層向使用網(wǎng)絡(luò)的用戶提供特定的、常用的應(yīng)用程序服務(wù),如遠(yuǎn)程登錄(Telnet)、文件傳輸(FTP)、超文本傳輸(HTTP)和電子郵件(SMTP)等。要注意有些應(yīng)用層協(xié)議是基于TCP協(xié)議的(如FTP和HTTP等),有些應(yīng)用層協(xié)議是基于UDP協(xié)議的(如SNMP等)。 TCP/IP協(xié)議分為四層結(jié)構(gòu),這四層結(jié)構(gòu)中有兩個重要的邊界:一個是將操作系統(tǒng)與應(yīng)用程序分開的邊界,另一個是將高層互聯(lián)網(wǎng)地址與低層物理網(wǎng)卡地址分開的邊界,如圖33所示。 圖33 TCP/IP協(xié)議的兩個邊界 Two Boundaries of TCP/IP Protocol操作系統(tǒng)邊界的上面是應(yīng)用層,應(yīng)用層處理的是用戶應(yīng)用程序(用戶進(jìn)程)的細(xì)節(jié)問題,提供面向用戶的服務(wù)。地址邊界的上層為網(wǎng)絡(luò)層,網(wǎng)絡(luò)層用于對不同的網(wǎng)絡(luò)進(jìn)行互聯(lián),連接在一起的所有網(wǎng)絡(luò)為了能互相尋址,要使用統(tǒng)一的互聯(lián)網(wǎng)地址(IP地址)。 網(wǎng)絡(luò)層協(xié)議分析 IP協(xié)議 網(wǎng)絡(luò)層主要由以下協(xié)議組成:ICMP、IP和IGMP,其中IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳輸?shù)?,如圖34[18]。圖34 IP協(xié)議在TCP/IP協(xié)議族的地位 Position of IP Protocol in TCP/IP Protocol Family網(wǎng)絡(luò)互聯(lián)存在兩種方式,即面向連接的(Connectoriented)和無連接的(Connectionless)[19,20]。面向連接的方式要求在通信的源端和目標(biāo)端之間建立一條邏輯通路,一般稱為虛電路(Virtual Circuit),源端和目標(biāo)端之間通信時的所有信息都通過該通路傳輸。這種方式看似簡單,易于實(shí)現(xiàn),但其最大的缺點(diǎn)是如果不能保證虛電路中沿途經(jīng)過的節(jié)點(diǎn)都能可靠地發(fā)送數(shù)據(jù),就可能使網(wǎng)絡(luò)崩潰。由于互聯(lián)網(wǎng)所連網(wǎng)絡(luò)的復(fù)雜性和多樣性,因而很難保證所有節(jié)點(diǎn)都能可靠地發(fā)送數(shù)據(jù)。無連接的方式并不在源端和目標(biāo)端之間建立一條邏輯通路,而送到網(wǎng)絡(luò)中的每個分組帶有完整的目標(biāo)主機(jī)地址,收到分組的節(jié)點(diǎn)(主要是路由器)根據(jù)目標(biāo)地址和當(dāng)前網(wǎng)絡(luò)狀況(如通信量等),選擇一條合適的線路把分組發(fā)送到接近目標(biāo)端的下一個節(jié)點(diǎn),通過多個節(jié)點(diǎn)的轉(zhuǎn)發(fā),最終把分組送達(dá)目標(biāo)節(jié)點(diǎn)。使用這種方式時,由源端順序送出的各分組,由于每個分組在網(wǎng)絡(luò)中可能經(jīng)過不同的路徑到達(dá)目標(biāo)端,所以先發(fā)出的分組不一定就先到達(dá)目標(biāo)端,另外,也不能保證每個分組都能可靠地到達(dá)目標(biāo)端。無連接方式的優(yōu)點(diǎn)是顯而易見的,源端和目標(biāo)端之間的通信可以通過多條通路進(jìn)行,而不依賴于某一條通路,因此可靠性和通信效率高。另外,這種方式實(shí)現(xiàn)起來也比較簡單,適合于異構(gòu)網(wǎng)絡(luò)的互聯(lián),因此被很多網(wǎng)絡(luò)廠商所使用。Internet使用的就是這種無連接的方式,由IP協(xié)議來實(shí)現(xiàn)。 ICMP協(xié)議IP數(shù)據(jù)包在網(wǎng)絡(luò)上的傳輸是通過網(wǎng)關(guān)對數(shù)據(jù)包的轉(zhuǎn)發(fā)來完成的。如果在IP數(shù)據(jù)包的傳輸過程中,某個網(wǎng)關(guān)因?yàn)槟撤N原因無法轉(zhuǎn)發(fā)收到的數(shù)據(jù)包,數(shù)據(jù)包就會被丟棄。但這時數(shù)據(jù)包的發(fā)送站無法得知傳輸出錯,也不知道錯的具體原因。因此,一個有效的錯誤檢查與報(bào)告機(jī)制對TCP/IP協(xié)議是非常重要的。Internet控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)就是用來探測并報(bào)告IP數(shù)據(jù)包傳輸中產(chǎn)生的各種錯誤[21]。它使我們在網(wǎng)絡(luò)發(fā)生故障時知道故障的具體原因與位置。 傳輸層協(xié)議分析 端到端通信 在互聯(lián)網(wǎng)中,任何兩臺通信的主機(jī)之間,從源端到目標(biāo)端的信道都是由一段一段的點(diǎn)到點(diǎn)通信線路組成的,如圖35所示[22]。圖35 傳輸層端到端通信 PorttoPort Communication in Transport Layer端到端通信是建立在點(diǎn)到點(diǎn)通信基礎(chǔ)之上的,它是比網(wǎng)絡(luò)互聯(lián)層通信更高一級的通信方式,完成應(yīng)用程序之間的通信。端到端通信由傳輸層來實(shí)現(xiàn)的。 用戶數(shù)據(jù)報(bào)協(xié)議UDP UDP協(xié)議在工作時是建立在IP協(xié)議之上的,UDP從進(jìn)程的緩沖區(qū)接收進(jìn)程每一次產(chǎn)生的輸出,對每次輸出都生成一個UDP數(shù)據(jù)報(bào),然后把生成的UDP數(shù)據(jù)報(bào)直接封裝在IP數(shù)據(jù)報(bào)中進(jìn)行傳輸,因此在傳輸層使用UDP協(xié)議時,發(fā)送端不需要發(fā)送緩沖區(qū)。被封裝在IP中的UDP數(shù)據(jù)報(bào)通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)主機(jī)的IP層后,由目標(biāo)主機(jī)的UDP層根據(jù)目標(biāo)端口號送到接收該數(shù)據(jù)的相應(yīng)進(jìn)程。 傳輸控制協(xié)議TCP TCP報(bào)文段(常稱為段)與UDP數(shù)據(jù)報(bào)一樣也是封裝在IP中進(jìn)行傳輸?shù)模皇荌P報(bào)文的數(shù)據(jù)區(qū)為TCP報(bào)文段。TCP是一個面向連接的協(xié)議,TCP協(xié)議的高可靠性是通過發(fā)送數(shù)據(jù)前先建立連接,結(jié)束數(shù)據(jù)傳輸時關(guān)閉連接,在數(shù)據(jù)傳輸過程中進(jìn)行超時重發(fā)、流量控制和數(shù)據(jù)確認(rèn),對亂序數(shù)據(jù)進(jìn)行重排以及校驗(yàn)和等機(jī)制來實(shí)現(xiàn)的。下面從建立連接、關(guān)閉連接和重發(fā)機(jī)制三個方面進(jìn)行分析[23,24]。第一,建立連接。TCP使用“三次握手”(3way Handshake)法來建立一條連接。所謂三次握手,就是指在建立一條連接時通信雙方要交換三次報(bào)文。第二,關(guān)閉連接。由于TCP是一個全雙工協(xié)議,因此在通信過程中兩臺主機(jī)都可以獨(dú)立地發(fā)送數(shù)據(jù),完成數(shù)據(jù)發(fā)送的任何一方可以提出關(guān)閉連接的請求。關(guān)閉連接時,由于在每個傳輸方向既要發(fā)送一個關(guān)閉連接的報(bào)文段,又要接收對方的確認(rèn)報(bào)文段,因此關(guān)閉一個連接要經(jīng)過4次握手。連接建立和關(guān)閉的過程如圖36所示[25],該圖是通信雙方正常工作時的情況。圖36 TCP連接的建立與關(guān)閉 TCP Connection’s Establishment and Closing第三,重發(fā)機(jī)制。TCP協(xié)議提供的是可靠的運(yùn)輸層。接收方對收到的所有數(shù)據(jù)要進(jìn)行確認(rèn),TCP的確認(rèn)是對收到的字節(jié)流進(jìn)行累計(jì)確認(rèn)。發(fā)送TCP報(bào)文段時,頭部的“確認(rèn)號”就指出該端希望接收的下一個字節(jié)的序號,其含義是在此之前的所有數(shù)據(jù)都已經(jīng)正確收到,請發(fā)送從確認(rèn)號開始的數(shù)據(jù)。 TCP與UDP的比較 下面對這兩個協(xié)議進(jìn)行一下比較,見表31[26]。表31 TCP和UDP的比較Table 31 Comparison between TCP and UDP比較項(xiàng)目TCPUDP建立連接與關(guān)閉有無數(shù)據(jù)傳輸效率低高對數(shù)據(jù)的確認(rèn)有無流量控制有(滑動窗口)無丟失分組的重發(fā)有無(由高層應(yīng)用程序負(fù)責(zé))協(xié)議復(fù)雜性復(fù)雜簡單發(fā)送端緩沖有無分組排序有無重發(fā)分組的