freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

視頻數(shù)據(jù)傳輸?shù)拈_發(fā)與實(shí)現(xiàn)—免費(fèi)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文(參考版)

2024-12-07 15:20本頁面
  

【正文】 通過對(duì)對(duì)象狀態(tài)的隱藏,增強(qiáng)了 GIs 數(shù)據(jù)模型的穩(wěn)固 性和可維護(hù)性。對(duì)象提供的一些服務(wù), 由外界通過向它 發(fā)送消息來實(shí)現(xiàn)。由于對(duì)象與現(xiàn)實(shí) 世界的實(shí)體對(duì)應(yīng),從而加強(qiáng)了 GIs 數(shù)據(jù)模型的易理解性、可讀 性和可維護(hù)性。在 GIs 數(shù)據(jù)建模和其他類似的領(lǐng)域中,也應(yīng)當(dāng)將對(duì)應(yīng)于現(xiàn)實(shí)世界的 各種實(shí)體抽象成對(duì)象,當(dāng)作整體來處理 。結(jié)合面向?qū)ο罄碚摰淖陨硖匦?,其?GIS 數(shù)據(jù)模型中主要有以下幾個(gè)方面的應(yīng)用。豐富的語義、描述復(fù)雜對(duì)象的能力、 22 簡(jiǎn)明的數(shù)據(jù)抽象技術(shù)、與人們認(rèn)識(shí)模式的一致性以及完備的實(shí)現(xiàn)機(jī)制為建立 GIS 提供了巨大的發(fā)展前景。 通用 數(shù)據(jù)模型由層次、網(wǎng)狀數(shù)據(jù)模型發(fā)展到關(guān)系數(shù)據(jù)模型,以至今天的具有面向?qū)ο筇卣鞯臄?shù)據(jù)模型。一個(gè)地理數(shù)據(jù)模型的優(yōu)劣,取決于其對(duì)地理特征的表示是否充分,其自身結(jié)構(gòu)是否簡(jiǎn)單易讀,以及是否能方便地利用具體的編程語言來實(shí)現(xiàn)。注:在創(chuàng)建 socket 連接時(shí)應(yīng)在客戶端創(chuàng)建一個(gè)連接線程,在服務(wù)器段創(chuàng)建一個(gè)偵聽線程。 函數(shù)功能與使用說明如下表: 函數(shù)名稱 函數(shù)功能 使用說明 CreateSocket 創(chuàng)建一個(gè) socket 連接 無 SetParent 設(shè)置連接的父窗口 無 OnReceive 接收視頻的編碼數(shù)據(jù) 服務(wù)器端使用該函數(shù)用以接收經(jīng)過編碼的視頻數(shù)據(jù) SendControlMessage 發(fā)送控制命令 客戶端使用把服務(wù)器加入U(xiǎn)DP 組播組 SendVideoData 發(fā)送視頻數(shù)據(jù) 客戶端向服務(wù)器發(fā)送視頻數(shù)據(jù) CloseSocket 關(guān)閉 socket 連接 無 根據(jù) 中的步驟描述,在每一個(gè)對(duì)應(yīng)步驟中調(diào)用對(duì)應(yīng)函數(shù),即可完成視頻的傳輸。 void CloseSocket()。 void SendControlMessage(int type,char *address)。 void SetParent(CDialog *dlg)。 virtual ~DSocket()。 static unsigned int length,vlength,alength。 int type。 static char remotename[500]。 類的定義如下: class DSocket : public CSocket { // Attributes public: CDialog *pdlg。 本系統(tǒng)中 UDP 組播的方式 本系統(tǒng)中采用的是 winsock 2 組播 winsock 2 組播主要是通過 WSAJoinLeaf 來實(shí)現(xiàn)的( WSAJoinLeaf 的行為,返回值根據(jù) socket 的模式,組播的實(shí)現(xiàn)構(gòu)架有很大的關(guān)系) winsock 2 組播的主要有以下幾個(gè)步驟 : 1. 建立支持?jǐn)?shù)據(jù)報(bào)的 socket(用 WSASocket 建立 socket,同 2. 時(shí)設(shè)置組播的一些屬性 ) 3. 把 socket 和本地的一個(gè)端口綁定(以后會(huì)通過這個(gè)端口進(jìn)行數(shù)據(jù)的收發(fā)) 4. 通過 WSAJoinLeaf 加 入一個(gè)組播組 5. 通過 sendto / recvfrom 進(jìn)行數(shù)據(jù)的收發(fā) 6. 直接關(guān)閉 socket 7. 退出組播組 傳輸代碼實(shí)現(xiàn) 在本系統(tǒng)中,視頻采集客戶端實(shí)時(shí)地采集視頻數(shù)據(jù),并通過 UDP 組播的方式傳送給視頻服務(wù)器。如果沒有人回應(yīng)這條消息,那么路由器就認(rèn)為已經(jīng)沒有終端對(duì)這個(gè)組播組的數(shù)據(jù)感興趣,就不會(huì)在轉(zhuǎn)發(fā)關(guān)于這個(gè)組播組的數(shù)據(jù)了。 當(dāng)一個(gè)應(yīng)用加入一個(gè)組播組后,就會(huì)向 這個(gè)子網(wǎng)的所有路由器發(fā)送一個(gè) IGMP 加入命令,告訴他子網(wǎng)內(nèi)有人對(duì)發(fā)送到某一個(gè)組播組的數(shù)據(jù)感興趣 .路由器也會(huì)定時(shí)向子網(wǎng)內(nèi)的所有終端發(fā)送一條查詢消息,用于詢問是否還有人對(duì)某個(gè)組播組的數(shù)據(jù)感興趣。 IGMP 所做的實(shí)際上就是告訴路由器,在這個(gè)路由器所在的子網(wǎng)內(nèi)有人對(duì)發(fā)送到某一個(gè)組播組的數(shù)據(jù)感興趣,這樣當(dāng)這個(gè)組播組的數(shù)據(jù)到達(dá)后面,路由器就不會(huì)拋棄它,而是把他轉(zhuǎn)送給所有感興趣的客戶。其中還有很多地址是為特殊的目的保留的。每一個(gè) leaf 也能接受組播組里的任何數(shù)據(jù)包。對(duì)于無根的控制層,沒有 root,只有若干的 leaf. 每一個(gè) leaf 都能自己加入一個(gè)組播組( IP 就是無根控制的典型例子) 數(shù)據(jù)層也有“有根”,“無根”兩 種情況。 控制層有“有根”,“無根”兩種情況??刂撇糠譀Q定著組播的對(duì)象的組織方式。 因?yàn)閭鬏斠曨l信號(hào)的數(shù)據(jù)量很大,故在本系統(tǒng)中采用效率較高的 UDP 協(xié)議傳輸視頻信號(hào), UDP 是無連接的,不可靠的協(xié)議,所以要求傳輸網(wǎng)絡(luò)的可靠性要高,這樣系統(tǒng)才能運(yùn)行得很好。這就要求傳輸網(wǎng)絡(luò)的帶寬要高,一次能夠傳輸大量的數(shù)據(jù)。 19 視頻的網(wǎng)絡(luò)傳輸 視頻圖像的傳輸質(zhì)量直接影響系統(tǒng)的監(jiān)控質(zhì)量,在設(shè)計(jì) C/S 結(jié)構(gòu)的遠(yuǎn)程視頻傳輸系統(tǒng)時(shí),需要充分考慮到網(wǎng)絡(luò)的因素。 ? 解碼視頻數(shù)據(jù)幀 DepressFrame(data,size,rgbdata,buffersize)。bits)。 // Data in YUV format... CompressFrame(amp。 = 8。 ? 壓縮視頻數(shù)據(jù)幀,對(duì)視頻進(jìn)行編碼 = CPARAM_QCIF。 ? 設(shè)置回調(diào)函數(shù), ownWriteFunction 是一個(gè)全局函數(shù),在進(jìn)行數(shù)據(jù)編碼的時(shí)候被調(diào)用 WriteByteFunction = OwnWriteFunction。cparams)。 = CPARAM_QCIF。 在本系統(tǒng)中,客戶端實(shí)時(shí)捕獲攝像頭采集到的視頻數(shù)據(jù),并在客戶端顯示主窗口中顯示其采集的視頻。 ::DrawDibEnd(hdib)。 在這一步就可以把所捕獲到的視頻幀作為參數(shù),調(diào)用顯示函數(shù)在對(duì)應(yīng)位置顯示出來 ::DrawDibDraw(hdib,...)。實(shí)現(xiàn)代碼如下: 首先,初始化一個(gè) DIB 的顯示設(shè)備: HDRAWDIB hdib=::DrawDibOpen()。 Windows 有很多顯示視頻的 API 函數(shù),本程序中選用的是DvrawDib 函數(shù),函數(shù)為設(shè)備無關(guān)位圖 (DIBs)提供了高性能的圖形繪制能力。 視頻的顯示 通過上文的描述已經(jīng)知道了在 OnCaptureVideo 函數(shù)中將會(huì)不斷地收到捕獲的視頻幀。 最后,在不再需要捕獲視頻的時(shí)候,停止視頻的捕獲,同時(shí)必須調(diào)用銷毀函數(shù)來銷毀你所創(chuàng)建的視頻捕獲的實(shí)例,實(shí)現(xiàn)代碼如下: 停止捕獲 vidcapStopCapture()。啟動(dòng)代碼如下: vidcapStartCapture()。vidcapm_bmpinfo。這些信息就是用于顯示的捕獲視頻。 注:以上所述初始化的內(nèi)容均封裝到了,實(shí)例的初始化函數(shù)中,所以程序?qū)崿F(xiàn)時(shí)只需要簡(jiǎn)單地調(diào)用初始化函數(shù)就可以了 。在這里需要完成很多工作,例如初始化視頻驅(qū)動(dòng)程序的連接,設(shè)置要求的視頻格式等等。 vidcapSetDialog(this)。 加入靜態(tài)鏈接庫(kù)的代碼: pragma ment(lib,vfw32) pragma ment(lib,winmm) 如同任何類的使用方式一樣,在程序中首先聲明一個(gè) VideoCapture的實(shí)例用于視頻的捕獲,聲明代碼如下: vidcap=new VideoCapture()。 ( 5) 壓縮管理器( ICM):管理用于視頻壓縮 解壓縮的編解碼器( CODEC) ( 6) 音頻壓縮管理器 ACM:提供與 ICM 相似的服務(wù),不同的是它適于波形音頻 在系統(tǒng)中使用 VFW 首先必須在 VC++的工程中添加 VFW 方面提供的 庫(kù),完成之后就保證能夠在系統(tǒng)工程調(diào)用 VFW 的庫(kù)函數(shù)。 ( 2) :用一套特殊的 DrawDib 函數(shù)來處理屏幕上的視頻操作。 VFM 主要由以下 6 個(gè)模塊組成。 16 4. 實(shí)時(shí)視頻傳輸代碼實(shí)現(xiàn) 視頻 的捕獲 使用 VFW(Video For Windows)API 進(jìn)行視頻捕獲,它提供了通過 webcam進(jìn)行視頻捕獲。從最高頻開始,對(duì)每個(gè)非零系數(shù)的 runJbefore參數(shù)進(jìn)行編碼,但是有兩個(gè)例外 : ? 如果沒有剩 余的零需要編碼,則無需對(duì) 任 何 ru nb efo er 值進(jìn)行編碼 . ? 無需為最后的非零系數(shù) (最低頻 )進(jìn)行 run_befoer編碼 每個(gè)零游 程的 VLC選擇取決于 :(a)未被編碼的零數(shù)目 (ZerosLeft) , (b),如果僅有 2個(gè)剩下的零需要編碼, run before只能取 3個(gè)值 (0. 1或 2)中的一個(gè),這樣 VLC表不需要超過 2位。用一個(gè)獨(dú)立的 VL表示有零的原因是 :在數(shù)組起始位置,許多塊包含一定數(shù)目的非零系數(shù),這種方法就意味著在數(shù)組開始時(shí)無需對(duì)零游程進(jìn)行編碼。如果這是第一 個(gè) 被 編碼的非零系數(shù),且后綴長(zhǎng)度初始為 0,則設(shè)置后綴長(zhǎng)度為 2。 ? 對(duì)最高頻非零系數(shù)進(jìn)行編碼。小的后綴長(zhǎng)度值適合于幅度值低的非零系數(shù),而大的后綴長(zhǎng)度則適合于幅度高的非零系數(shù)。每個(gè)非零系數(shù)的碼子由前綴(level_prefix)和后綴 (level sufix)組成。從最高頻的 TrailingOnes開始,以相反的順序用 1個(gè)單比特 (0=+, 1=)對(duì)符號(hào)進(jìn)行編碼。如果都不可用, nC=0。如果僅有上面的塊可用,則 .CAB。對(duì)碼表的選擇取決于前一個(gè)位于當(dāng)前塊左邊和上邊位置己編碼塊的非零系數(shù)的數(shù)目 (分別是 nA和 nB)。 TotalCoefs可以是任何一個(gè) 0(在 4X4塊中沒有系數(shù) )到 16 (16個(gè)非零系數(shù) )之間的數(shù),TrailingOnes可以是 0到 3之間的任何數(shù) .如果這里有 3個(gè)以上的 Trailingfl,只有最后三個(gè)以“特殊情況”對(duì)待,而其它的以普通系數(shù)對(duì)待。 CAVLC利用這一性質(zhì)根據(jù)最近編碼的級(jí)別自適應(yīng)地查表 .為 VLC選擇編碼參數(shù)級(jí)別。依據(jù)相鄰塊非零系數(shù)的個(gè)數(shù),采用查表的方式對(duì)系數(shù) 15 的個(gè)數(shù)進(jìn)行編碼。 CAVLC采用游程編碼緊湊地表示這些連續(xù)的零。 ? 讀入 lul位 INFO字段。碼字 1 和 2 有 1 位 INFO 字段,碼字 36 有 2 位 INFO 字段等等。通過檢測(cè)前幾個(gè)碼字就可以清楚地看出其組織方式的合理性 :[Mzerosj1jINFO].其中 INFO 是攜帶信息的 M 位字段。類似地,在編碼器的前向編碼和量化過程中, 16 比特的內(nèi)存訪問有利于程序的優(yōu)化。色度分量的 2x2DC 系數(shù)按照光柵順序進(jìn)行掃描。用戶定義的QPY 和 QPC 之間的映射可以在圖像參數(shù)集中進(jìn)行標(biāo)識(shí)。亮度和色度的 QP 值可以不同。每隔 6 個(gè) QP, QsWP就增長(zhǎng)一倍。 只通過加法和移位就能實(shí)現(xiàn)變換 ,而且能夠避免 8X8D CT 變換所帶來的不匹配問題。 ? 4 x4 變換具有相似的壓縮能力和很好的視覺效果,在邊緣區(qū)域產(chǎn)生更少噪聲。采用 Intra16x16 預(yù)測(cè)模式的亮度宏塊也需要進(jìn)行第二變換,基本道理與 色度分量是一樣的。 圖 8 色度分量的 Hadaorard 變換 14 當(dāng)樣值的相關(guān)性趨近于 1 時(shí),即圖像內(nèi)容非常平滑,重建精度與變換的一維大小成比例。在色度分量 中,對(duì) 4 個(gè) 4x4 子塊的 DC 系數(shù)進(jìn)行 2x214inrd 變換。用整數(shù)操作完成反向變換可以避免反向變換的不匹配問題 .基本的編碼過程與以前的標(biāo)準(zhǔn)非常類似。 變換與量化 與以往的視頻編碼標(biāo)準(zhǔn) 相似, 對(duì)預(yù)測(cè)殘差進(jìn)行變換編碼。 可以支持多中塊尺寸(從 16X16 到 4X4),并具有跟精細(xì)的運(yùn)動(dòng)矢量精度。色度分量的模式是 :直流 (模式 0),水平 (模式 1),垂直 (模式 2)和平面 (模式 3)。 13 3. 8x8 色度預(yù)側(cè) 進(jìn)行幀內(nèi)編碼時(shí),宏塊中的兩個(gè) 8x8 色度分量都利用上邊或左邊己恢復(fù)的色度樣值進(jìn)行預(yù)測(cè),并且 它們總是采用相同的預(yù)測(cè)模式。模式 0/1/2與 Intra4x4的模式 0/1/2 的預(yù)測(cè)方法相似。模式 3 和模式 4 是以 45 度的方向預(yù)測(cè)子塊,而模式 模式6 和模式 7 是以近似呈 度的方向預(yù)測(cè)子塊。模式為垂直預(yù)測(cè)模式,通過上面的樣值 (A,B ,C,D)向下垂直拷貝。 I PCM 預(yù)測(cè)模式提供了一種表示宏塊樣值的方法,能夠精確表示一些不規(guī)則的圖像,可能比采用通常的幀內(nèi)預(yù)測(cè)、變換、量化和嫡編碼過程更有效 .采用仁 PCM 模式可以嚴(yán)格限制一個(gè)編碼宏塊內(nèi)包括的比 特?cái)?shù),而無需考慮解碼圖像的質(zhì)量。其中,亮度樣值預(yù)測(cè)采用 4 種 Intral6x 16 和 9 種 Intra4x4 預(yù)測(cè)模式,色度分量采用 4 種 Intra8x8 預(yù)測(cè)模式。乃采用基于 4x4 塊的去塊效應(yīng)濾波器,提高了圖像的主觀質(zhì)量 . 下面將介紹 標(biāo)準(zhǔn)基本檔次所采用的幾種關(guān)鍵技術(shù)。/0 的碼率,并且有利于提高編碼器的抗誤碼能力。 4) H .26 4 標(biāo)準(zhǔn)采用 4x4 的整數(shù)變換 (與 DCT 類似 )和量化,所有的操作都是通過整數(shù)運(yùn)算 12 實(shí)現(xiàn)的,在解碼時(shí)可以無失真重建。 2) 采用 7 種不同的塊大小 (16x16,1 6x8,8 x16,8 x8,8 x4,4 x8,4 x4)進(jìn)行幀間預(yù)測(cè) ,提高了編碼器預(yù)測(cè)精度。 圖 5 分片的語法結(jié)構(gòu) 基本檔次的關(guān)鍵技術(shù) 64 標(biāo)準(zhǔn)加大了預(yù)測(cè)部分
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1