專(zhuān)利名稱(chēng):一種基于c/s模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖像處理技術(shù),具體涉及一種基于c/s模式實(shí)時(shí)傳輸 大數(shù)據(jù)量圖像的方法。
背景技術(shù):
在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶(hù)端 /服務(wù)器模式,即C/S (Client/Server)模式。在這種模式中,客戶(hù)端向服務(wù) 器提出請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的服務(wù)。它主要用于消息通信、 文件傳輸、圖像傳輸?shù)阮I(lǐng)域。圖像傳輸又分壓縮域和非壓縮域兩種,前者先 將圖像做壓縮等預(yù)處理,使數(shù)據(jù)量減少,然后將壓縮后的圖像進(jìn)行傳輸,以 達(dá)到實(shí)時(shí)進(jìn)行圖像傳輸?shù)哪康?;后者則直接將圖像進(jìn)行傳輸,當(dāng)圖像的數(shù)據(jù) 量比較小時(shí),實(shí)時(shí)進(jìn)行圖像的傳輸沒(méi)有問(wèn)題,但是當(dāng)圖像的分辨率較大、圖 像的數(shù)據(jù)量較大如達(dá)到1M以上時(shí),由于數(shù)據(jù)量很大,很難做到圖像的實(shí)時(shí) 傳輸,而在有時(shí)又非常需要進(jìn)行圖像的實(shí)時(shí)傳輸,如電視圖像的傳輸,或者 技術(shù)人員希望進(jìn)行圖像的實(shí)時(shí)傳輸。
基于上述情況,如何實(shí)時(shí)高效地傳輸圖像信息是圖像通信領(lǐng)域研究的一 個(gè)熱點(diǎn)。目前,為了實(shí)現(xiàn)圖像的實(shí)時(shí)傳輸,常釆用如下方法
(1 )借助于硬件編解碼器,通過(guò)增加硬件編碼器完全可實(shí)現(xiàn)高分辨率、大數(shù) 據(jù)量的圖像的實(shí)時(shí)傳輸,但是該方法不足之處在于增加了硬件編碼器,即大 大增加了成本,而且沒(méi)有完全利用現(xiàn)有的網(wǎng)絡(luò)環(huán)境;
(2)完全通過(guò)網(wǎng)絡(luò)傳輸,優(yōu)點(diǎn)在于沒(méi)有增加硬件,完全利用現(xiàn)有的網(wǎng)絡(luò),成 本很低,而且應(yīng)用方便,但是也有缺點(diǎn),該方法是通過(guò)單個(gè)線(xiàn)程來(lái)進(jìn)行圖像 的傳輸,只適用于數(shù)據(jù)量比較小的圖像傳輸,如小于1M的圖像,這種情況 下可以實(shí)時(shí)傳輸圖像,但是當(dāng)圖像數(shù)據(jù)量比較大如大于1M時(shí),通過(guò)單個(gè)線(xiàn) 程來(lái)進(jìn)行圖像的傳輸時(shí),為了實(shí)現(xiàn)圖像的實(shí)時(shí)傳輸,通常需要預(yù)先對(duì)圖像信 息進(jìn)行量化壓縮,去冗余,減少傳輸數(shù)據(jù)量,提高傳輸效率,但是對(duì)圖像時(shí)行壓縮必然會(huì)損傷圖像質(zhì)量,也必然會(huì)占用CPU資源,使傳輸效率降低,因 此,該方案主要適合較低分辨率的圖像通信。
因此,如何充分利用現(xiàn)有的通信網(wǎng)絡(luò),快速高效地實(shí)時(shí)傳輸大數(shù)據(jù)量的 圖像是本發(fā)明所要解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是利用現(xiàn)在的通信網(wǎng)絡(luò),能夠?qū)崿F(xiàn)圖像的實(shí)時(shí)傳輸,特別 是大數(shù)據(jù)量的圖像的實(shí)時(shí)傳輸,完全不需要借助于外加的圖像硬件,應(yīng)用方 便,圖像傳輸高效快速,成本低廉。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為 一種基于C/S模式實(shí) 時(shí)傳輸大數(shù)據(jù)量圖像的方法,包括如下步驟
(1 )在圖像發(fā)送端創(chuàng)建2個(gè)或2個(gè)以上的發(fā)送線(xiàn)程,在圖像接收端創(chuàng)建 2個(gè)或2個(gè)以上的接收線(xiàn)程,并將發(fā)送線(xiàn)程與接收線(xiàn)程之間建立——對(duì)應(yīng)的 關(guān)系,使之能夠相互通信,其中,發(fā)送線(xiàn)程與接收線(xiàn)程的數(shù)量是相同的;
(2 )在圖像發(fā)送端確定將每一幅圖像分割成數(shù)據(jù)塊時(shí)應(yīng)分割的數(shù)量,所 述的數(shù)量為2個(gè)或2個(gè)以上的數(shù)量,并且該數(shù)量與發(fā)送線(xiàn)程和接收線(xiàn)程的數(shù) 量是相同的;
(3 )在圖像接收端設(shè)置相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔,以確定同步 信息的發(fā)送時(shí)間;
(4 )開(kāi)始實(shí)時(shí)傳輸圖像時(shí),首先圖像發(fā)送端向圖像接收端發(fā)出傳輸圖像 的請(qǐng)求,圖像接收端收到請(qǐng)求后,啟動(dòng)接收線(xiàn)程,將同意發(fā)送圖像的命令發(fā) 回給圖像發(fā)送端;圖像發(fā)送端收到圖像接收端的發(fā)送命令后啟動(dòng)發(fā)送線(xiàn)程, 圖像發(fā)送端按照步驟(2 )中所述的數(shù)量,將第一幅圖像分割成2個(gè)或2個(gè)以 上的數(shù)據(jù)塊,然后由發(fā)送線(xiàn)程將數(shù)據(jù)塊發(fā)送給圖像接收端,圖像接收端通過(guò) 對(duì)應(yīng)的接收線(xiàn)程接收數(shù)據(jù)塊,接收線(xiàn)程接收完所有的數(shù)據(jù)塊后,由圖像接收 端將接收到的數(shù)據(jù)塊重新組合成原圖像,并根據(jù)步驟(3)中事先確定的時(shí)間 間隔更新同步信息,并將同步信息發(fā)送給圖像發(fā)送端;
(5)如果圖像傳輸完畢則處理結(jié)束,如果需要繼續(xù)傳輸圖像,則圖像發(fā) 送端收到來(lái)自圖像接收端的同步信息后,圖像發(fā)送端將第二幅圖像分割成2個(gè)或2個(gè)以上的數(shù)據(jù)塊,按照步驟(4)所述的方法傳輸和接收第二幅圖像; (6)重復(fù)步驟(4)和步驟(5),直至所有的圖像傳輸完畢。
進(jìn)一步,為使本發(fā)明獲得更好的發(fā)明效果,步驟(l)中,發(fā)送線(xiàn)程與接 收線(xiàn)程之間建立——對(duì)應(yīng)的關(guān)系時(shí),將發(fā)送線(xiàn)程與接收線(xiàn)程的端口設(shè)置為相 同的端口,即可實(shí)現(xiàn);
進(jìn)一步,為使本發(fā)明獲得更好的發(fā)明效果,對(duì)于2M及2M以上的圖像 而言,發(fā)送線(xiàn)程和接收線(xiàn)程均為4個(gè)或4個(gè)以上,將一幅圖像分割為4個(gè)數(shù) 據(jù)塊或4個(gè)以上,數(shù)據(jù)塊之間的數(shù)據(jù)量可以是相同的,也可以是不相同的; 更進(jìn)一步,數(shù)據(jù)塊之間的數(shù)據(jù)量是相同的;
進(jìn)一步,為使本發(fā)明獲得更好的發(fā)明效果,步驟(3)中,相鄰兩幅圖像 之間傳輸?shù)臅r(shí)間間隔為^16ms;更進(jìn)一步,對(duì)于電一見(jiàn)圖像而言,相鄰兩幅圖 像之間傳輸?shù)臅r(shí)間間隔為25fps或者30fps;
進(jìn)一步,為使本發(fā)明獲得更好的發(fā)明效果,步驟(4) 、 (5)、 (6)中, 每個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只發(fā)送/接收一個(gè)數(shù)據(jù)塊;
更進(jìn)一步,為保證每個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只發(fā)送/接收一個(gè)數(shù)據(jù)塊,采 用的方法為步驟(l)中創(chuàng)建發(fā)送線(xiàn)程和接收線(xiàn)程時(shí),每一個(gè)發(fā)送線(xiàn)程/接 收線(xiàn)程會(huì)同時(shí)獲得一個(gè)序號(hào),序號(hào)從0開(kāi)始,后續(xù)累加l,相互通信的發(fā)送 線(xiàn)程與接收線(xiàn)程之間其序號(hào)是相同的;圖像接收端將圖像劃分成數(shù)據(jù)塊時(shí), 每一個(gè)數(shù)據(jù)塊也會(huì)獲得一個(gè)序號(hào),序號(hào)從0開(kāi)始,后續(xù)累加l;當(dāng)圖像發(fā)送 端發(fā)送數(shù)據(jù)塊時(shí),特定序號(hào)的發(fā)送線(xiàn)程只發(fā)送和自己序號(hào)相同的數(shù)據(jù)塊;同 理,圖像接收端的接收線(xiàn)程和接收到的數(shù)據(jù)塊也有這種對(duì)應(yīng)關(guān)系;
更進(jìn) 一 步,為了使圖像發(fā)送時(shí)嚴(yán)格按照?qǐng)D像接收端事先設(shè)置好的相鄰兩 幅圖像之間傳輸?shù)臅r(shí)間間隔,同時(shí)保證每一個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只發(fā)送/接 收一個(gè)數(shù)據(jù)塊,本發(fā)明采用了多鎖和互斥對(duì)象方法,具體如下
對(duì)于圖像發(fā)送端,當(dāng)一幅圖像的所有數(shù)據(jù)塊發(fā)送完畢后,會(huì)進(jìn)入一個(gè)多 鎖等待,該多鎖由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)事件的是否
7更新圖像數(shù)據(jù)塊的事件組成,后者在所有的發(fā)送線(xiàn)程均收到圖像接收端發(fā)送
的回傳信號(hào)后被手動(dòng)觸發(fā);
對(duì)于圖像接收端,創(chuàng)建完所有的接收線(xiàn)程后,進(jìn)入一個(gè)多鎖等待,該多 鎖由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)的圖像數(shù)據(jù)塊重組事件組 成,后者在所有的接收線(xiàn)程均接收完各自的數(shù)據(jù)塊后被手動(dòng)觸發(fā);
再更進(jìn)一步,圖像發(fā)送端的多鎖,具體工作流程為在每一個(gè)發(fā)送線(xiàn)程 里,先要執(zhí)行數(shù)據(jù)塊的發(fā)送,之后等待圖像接收端發(fā)送的回傳信號(hào),當(dāng)收到 回傳信號(hào)后,在互斥對(duì)象的保護(hù)下共享計(jì)數(shù)器加1,此后該線(xiàn)程進(jìn)入一個(gè)多 鎖等待,當(dāng)某個(gè)線(xiàn)程發(fā)現(xiàn)共享計(jì)數(shù)器的計(jì)數(shù)與發(fā)送線(xiàn)程的數(shù)量相同時(shí),手動(dòng) 觸發(fā)更新圖像數(shù)據(jù)塊事件,同時(shí)共享計(jì)數(shù)器清零,由此進(jìn)入新一輪的數(shù)據(jù)塊 發(fā)送;
圖像接收端的多鎖,具體工作流程為在每一個(gè)接收線(xiàn)程里,先要執(zhí)行 數(shù)據(jù)塊的接收,接收完畢后在互斥對(duì)象的保護(hù)下共享計(jì)數(shù)器加1,并向圖像 發(fā)送端發(fā)送回傳信號(hào),此后進(jìn)入一個(gè)多鎖等待,當(dāng)某個(gè)接收線(xiàn)程發(fā)現(xiàn)共享計(jì) 數(shù)器的計(jì)數(shù)與接收線(xiàn)程的數(shù)量相同時(shí),手動(dòng)觸發(fā)重組圖像數(shù)據(jù)塊重組事件, 由圖像接收端將所有接收到的數(shù)據(jù)塊重新組合成原來(lái)的圖像,并根據(jù)事先確 定的時(shí)間間隔同時(shí)更新同步信息,并將同步信息發(fā)送給圖像發(fā)送端。
本發(fā)明的有益效果在于采用本發(fā)明所述的方法,對(duì)于圖像傳輸而言, 特別是數(shù)據(jù)量大的圖像,不需要壓縮,不需要借助硬件,完全可以通過(guò)網(wǎng)絡(luò) 通信來(lái)實(shí)現(xiàn)圖像的實(shí)時(shí)傳輸,而且圖像的質(zhì)量沒(méi)有損失,應(yīng)用方便,圖像傳 輸高效快速,成本低廉,特別是廣播電視領(lǐng)域中的節(jié)目制作播出系統(tǒng),該優(yōu) 勢(shì)更為明顯。
圖1為本發(fā)明所述方法的流程示意圖。
圖2為本發(fā)明所述方法中圖j象發(fā)送端多鎖的工作示意圖。
圖3為實(shí)施例中將本發(fā)明所述方法應(yīng)用于電視圖^f象實(shí)時(shí)傳輸?shù)氖疽鈭D。
圖4為發(fā)送線(xiàn)程與接收線(xiàn)程的對(duì)應(yīng)關(guān)系。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。
本實(shí)施例以電視的圖像傳輸為例,如在虛擬演播室系統(tǒng)中,主控端的設(shè) 計(jì)器(相當(dāng)于圖像發(fā)送端)需要和播出端(相當(dāng)于圖像接收端)聯(lián)調(diào),以便
實(shí)時(shí)編輯修改場(chǎng)景,此時(shí)設(shè)計(jì)器一方面渲染3D圖形, 一方面將生成的2D圖 像發(fā)送到播出端顯示,這就需要預(yù)監(jiān)視器呈現(xiàn)出來(lái)的視頻圖像達(dá)到實(shí)時(shí)、高 保真,對(duì)圖像的實(shí)時(shí)傳輸提出了高的要求,對(duì)于電視圖像的傳輸,我國(guó)目前
多采用標(biāo)清24位動(dòng)態(tài)位圖以25fps的幀率進(jìn)行傳輸?shù)模捎帽景l(fā)明所述的方 法可以輕松實(shí)現(xiàn)上述圖像的實(shí)時(shí)傳輸,如圖3所示,具體而言
如圖1所示, 一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方法,包括如 下步驟
(1)在圖像發(fā)送端創(chuàng)建2個(gè)或2個(gè)以上的發(fā)送線(xiàn)程,在圖像接收端創(chuàng)建 2個(gè)或2個(gè)以上的接收線(xiàn)程,并將發(fā)送線(xiàn)程與接收線(xiàn)程建立——對(duì)應(yīng)的關(guān)系, 使之能夠相互通信,其中,發(fā)送線(xiàn)程與接收線(xiàn)程的數(shù)量是相同的;
本實(shí)施例中,圖像發(fā)送端為設(shè)計(jì)器,圖像接收端為播出端,在圖像發(fā)送 端創(chuàng)建4個(gè)發(fā)送線(xiàn)程,每個(gè)發(fā)送線(xiàn)程會(huì)同時(shí)獲得一個(gè)序號(hào),序號(hào)從0開(kāi)始, 后續(xù)累加l;在圖像接收端創(chuàng)建4個(gè)接收線(xiàn)程,每個(gè)接收線(xiàn)程會(huì)同時(shí)獲得一 個(gè)序號(hào),序號(hào)從0開(kāi)始,后續(xù)累加1,相互通信的發(fā)送線(xiàn)程與接收線(xiàn)程之間 其序號(hào)是相同的;發(fā)送線(xiàn)程與接收線(xiàn)程的創(chuàng)建均是通過(guò)socket方法來(lái)實(shí)現(xiàn)的, 并將發(fā)送線(xiàn)程與接收線(xiàn)程建立——對(duì)應(yīng)的關(guān)系,使之能夠相互通信,本實(shí)例 施中通過(guò)指定相同的端口來(lái)建立發(fā)送線(xiàn)程與接收線(xiàn)程之間的——對(duì)應(yīng)關(guān)系, 線(xiàn)程及對(duì)應(yīng)關(guān)系如圖4所示;
(2 )在圖像發(fā)送端確定將每一幅圖像分割成數(shù)據(jù)塊時(shí)應(yīng)分割的數(shù)量,所 述的數(shù)量為2個(gè)或2個(gè)以上的數(shù)量,并且該數(shù)量與圖像發(fā)送線(xiàn)程和圖像接收 線(xiàn)程的數(shù)量是相同的;
我國(guó)目前電視領(lǐng)域中常用的電視圖像為未壓縮的標(biāo)清24位動(dòng)態(tài)位圖,該 圖像的數(shù)據(jù)量一般都在2M以上,本實(shí)施例中,將一幅圖像分割成4個(gè)數(shù)據(jù) 塊,4個(gè)數(shù)據(jù)塊之間的數(shù)據(jù)量可以相同,也可以不同,本實(shí)例中為相同;
(3)在圖像接收端設(shè)置相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔;
9在電視領(lǐng)域,通常相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔都集成在I/O卡中,
目前我國(guó)一般都釆用25fps的幀率傳輸電視圖像,因此本實(shí)施例中,相鄰兩 幅圖像之間傳輸?shù)臅r(shí)間間隔設(shè)置為25fps;
(4 )開(kāi)始實(shí)時(shí)傳輸電視圖像時(shí),首先圖像發(fā)送端向圖像接收端發(fā)出傳輸 圖像的請(qǐng)求,圖像接收端收到請(qǐng)求后,啟動(dòng)4個(gè)接收線(xiàn)程,將同意發(fā)送圖像 的命令發(fā)回給圖像發(fā)送端;圖像發(fā)送端收到圖像接收端的發(fā)送命令后啟動(dòng)4 個(gè)發(fā)送線(xiàn)程,圖像發(fā)送端根據(jù)步驟(2)中事先確定好的數(shù)量,將第一幅圖像 分割成4個(gè)數(shù)據(jù)量相同的數(shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊同時(shí)還會(huì)獲得一個(gè)序號(hào),序 號(hào)從0開(kāi)始,后續(xù)累加l,即得到數(shù)據(jù)塊O,數(shù)據(jù)塊l,數(shù)據(jù)塊2和數(shù)據(jù)塊3 共計(jì)4個(gè)數(shù)據(jù)塊;然后由4個(gè)發(fā)送線(xiàn)程將該4個(gè)數(shù)據(jù)塊發(fā)送給圖像接收端, 在發(fā)送數(shù)據(jù)塊時(shí),特定序號(hào)的發(fā)送線(xiàn)程只發(fā)送和自己序號(hào)相同的數(shù)據(jù)塊,如 發(fā)送線(xiàn)程1只發(fā)送與自己序號(hào)相同的數(shù)據(jù)塊1,同理,接收端的接收線(xiàn)程和 接收到的數(shù)據(jù)塊也有這種對(duì)應(yīng)關(guān)系,這樣可以保證每個(gè)發(fā)送線(xiàn)程只發(fā)送一個(gè) 數(shù)據(jù)塊;圖像接收端通過(guò)對(duì)應(yīng)的4個(gè)接收線(xiàn)程接收4個(gè)數(shù)據(jù)塊,由于事先發(fā) 送線(xiàn)程與接收線(xiàn)程之間已經(jīng)建立了——對(duì)應(yīng)的關(guān)系,因此很容易實(shí)現(xiàn)數(shù)據(jù)塊 的接收,即接收線(xiàn)程Q接收來(lái)自發(fā)送線(xiàn)程0的數(shù)據(jù)塊0,接收線(xiàn)程1接收來(lái) 自發(fā)送線(xiàn)程1的數(shù)據(jù)塊1,接收線(xiàn)程2接收來(lái)自發(fā)送線(xiàn)程2的數(shù)據(jù)塊2,接收 線(xiàn)程3接收來(lái)自發(fā)送線(xiàn)程3的數(shù)據(jù)塊,接收線(xiàn)程接收完所有的數(shù)據(jù)塊后,由 圖像接收端將接收到的4個(gè)數(shù)據(jù)塊重新組合成原圖像,并根據(jù)I/O卡中集成 的圖像傳輸?shù)臅r(shí)間間隔信息(即圖像的傳輸幀率為25fps)更新同步信息,并 將同步信息發(fā)送給圖像發(fā)送端;發(fā)送線(xiàn)程和接收線(xiàn)程的具體工作流程如圖2 所示;
在上述由圖像分割而成的數(shù)據(jù)塊的傳輸過(guò)程中,為了保證圖像的傳輸嚴(yán) 格按照25fps的幀率進(jìn)行,各個(gè)數(shù)據(jù)塊的發(fā)送線(xiàn)程/接收線(xiàn)程之間互斥使用共 享資源,為此本發(fā)明采用了多鎖和互斥對(duì)象方法,具體而言如下
對(duì)于圖像發(fā)送端,當(dāng)一幀圖像的所有數(shù)據(jù)塊發(fā)送完畢后,會(huì)進(jìn)入一個(gè)多 鎖等待,該多鎖由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)事件的是否 更新圖像數(shù)據(jù)塊的事件組成,后者在所有的發(fā)送線(xiàn)程均收到圖像接收端發(fā)送 的回傳信號(hào)后被手動(dòng)觸發(fā),即在每一個(gè)發(fā)送線(xiàn)程里,先要執(zhí)行數(shù)據(jù)塊的發(fā)
送,之后等待圖像接收端發(fā)送的回傳信號(hào),當(dāng)收到回傳信號(hào)后,在互斥對(duì)象的保護(hù)下共享計(jì)數(shù)器加l,此后該線(xiàn)程進(jìn)入一個(gè)多鎖等待,當(dāng)某個(gè)線(xiàn)程發(fā)現(xiàn)
共享計(jì)數(shù)器為4時(shí),手動(dòng)觸發(fā)更新圖像數(shù)據(jù)塊事件即可以更新數(shù)據(jù)塊的數(shù)據(jù) 了,同時(shí)共享計(jì)數(shù)器清零,圖像數(shù)據(jù)塊的更新意味著新一幅圖像發(fā)送的開(kāi)始, 由此進(jìn)入新一輪的數(shù)據(jù)塊發(fā)送,具體過(guò)程如圖2所示;
在圖像接收端,創(chuàng)建完所有的接收線(xiàn)程后,進(jìn)入一個(gè)多鎖等待,該多鎖 由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)的圖像數(shù)據(jù)塊重組事件組 成,后者在所有的接收線(xiàn)程均接收完各自的數(shù)據(jù)塊后被手動(dòng)觸發(fā),即在每 一個(gè)接收線(xiàn)程里,先要執(zhí)行數(shù)據(jù)塊的接收,接收完畢后在互斥對(duì)象的保護(hù)下 共享計(jì)數(shù)器加l,并向圖像發(fā)送端發(fā)送回傳信號(hào),此后進(jìn)入一個(gè)多鎖等待, 當(dāng)某個(gè)接收線(xiàn)程發(fā)現(xiàn)共享計(jì)數(shù)器為4時(shí),手動(dòng)觸發(fā)重組圖像數(shù)據(jù)塊重組事件, 由圖像接收端將所有接收到的數(shù)據(jù)塊重新組合成原來(lái)的圖像,并更新1/0卡 同步信息,并將同步信息發(fā)送給圖像發(fā)送端。
(5 )如果還有圖像需要傳輸,則圖像發(fā)送端收到來(lái)自圖像接收端的同步 信息后,圖像發(fā)送端將第二幀圖像分割成4個(gè)數(shù)據(jù)量相同的數(shù)據(jù)塊,按照步 驟(4)所述的方法傳輸和接收第二幀圖像;
(6)重復(fù)步驟(4)和步驟(5),直至所有的圖像傳輸完畢。
員根據(jù)本發(fā)明的技術(shù)方案得出其他的實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范
ii
權(quán)利要求
1.一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方法,包括如下步驟(1)在圖像發(fā)送端創(chuàng)建2個(gè)或2個(gè)以上的發(fā)送線(xiàn)程,在圖像接收端創(chuàng)建2個(gè)或2個(gè)以上的接收線(xiàn)程,并將發(fā)送線(xiàn)程與接收線(xiàn)程之間建立一一對(duì)應(yīng)的關(guān)系,使之能夠相互通信,其中,發(fā)送線(xiàn)程與接收線(xiàn)程的數(shù)量是相同的;(2)在圖像發(fā)送端確定將每一幅圖像分割成數(shù)據(jù)塊時(shí)應(yīng)分割的數(shù)量,所述的數(shù)量為2個(gè)或2個(gè)以上的數(shù)量,并且該數(shù)量與發(fā)送線(xiàn)程和接收線(xiàn)程的數(shù)量是相同的;(3)在圖像接收端設(shè)置相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔,以確定同步信息的發(fā)送時(shí)間;(4)開(kāi)始實(shí)時(shí)傳輸圖像時(shí),首先圖像發(fā)送端向圖像接收端發(fā)出傳輸圖像的請(qǐng)求,圖像接收端收到請(qǐng)求后,啟動(dòng)接收線(xiàn)程,將同意發(fā)送圖像的命令發(fā)回給圖像發(fā)送端;圖像發(fā)送端收到圖像接收端的發(fā)送命令后啟動(dòng)發(fā)送線(xiàn)程,圖像發(fā)送端按照步驟(2)中所述的數(shù)量,將第一幅圖像分割成2個(gè)或2個(gè)以上的數(shù)據(jù)塊,然后由發(fā)送線(xiàn)程將數(shù)據(jù)塊發(fā)送給圖像接收端,圖像接收端通過(guò)對(duì)應(yīng)的接收線(xiàn)程接收數(shù)據(jù)塊,接收線(xiàn)程接收完所有的數(shù)據(jù)塊后,由圖像接收端將接收到的數(shù)據(jù)塊重新組合成原圖像,并根據(jù)步驟(3)中事先確定的時(shí)間間隔更新同步信息,并將同步信息發(fā)送給圖像發(fā)送端;(5)如果圖像傳輸完畢則處理結(jié)束,如果需要繼續(xù)傳輸圖像,則圖像發(fā)送端收到來(lái)自圖像接收端的同步信息后,圖像發(fā)送端將第二幅圖像分割成2個(gè)或2個(gè)以上的數(shù)據(jù)塊,按照步驟(4)所述的方法傳輸和接收第二幅圖像;(6)重復(fù)步驟(4)和步驟(5),直至所有的圖像傳輸完畢。
2. 如權(quán)利要求1所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于步驟(l)中,發(fā)送線(xiàn)程與接收線(xiàn)程之間建立——對(duì)應(yīng)的關(guān) 系時(shí),將發(fā)送線(xiàn)程與接收線(xiàn)程的端口設(shè)置為相同的端口。
3. 如權(quán)利要求1所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于對(duì)于2M及2M以上的圖像而言,發(fā)送線(xiàn)程和接收線(xiàn)程均 為4個(gè)或4個(gè)以上,將一幅圖像分割為4個(gè)數(shù)據(jù)塊或4個(gè)以上,數(shù)據(jù)塊之間 的數(shù)據(jù)量可以是相同的,也可以是不相同的。
4. 如權(quán)利要求3所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于數(shù)據(jù)塊之間的數(shù)據(jù)量是相同的。
5. 如權(quán)利要求1所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于步驟(3)中,相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔為^16ms。
6. 如權(quán)利要求5所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于對(duì)于電視圖像而言,相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔為 25fps或者30fps。
7. 如權(quán)利要求1所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于步驟(4) 、 (5) 、 (6)中,每個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只 發(fā)送/接收一個(gè)數(shù)據(jù)塊。
8. 如權(quán)利要求7所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方 法,其特征在于為保證每個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只發(fā)送/接收一個(gè)數(shù)據(jù)塊, 采用的方法為步驟(l)中創(chuàng)建發(fā)送線(xiàn)程和接收線(xiàn)程時(shí),每一個(gè)發(fā)送線(xiàn)程/ 接收線(xiàn)程會(huì)同時(shí)獲得一個(gè)序號(hào),序號(hào)從0開(kāi)始,后續(xù)累加l,相互通信的發(fā) 送線(xiàn)程與接收線(xiàn)程之間其序號(hào)是相同的;圖像接收端將圖像劃分成數(shù)據(jù)塊時(shí), 每一個(gè)數(shù)據(jù)塊也會(huì)獲得一個(gè)序號(hào),序號(hào)從0開(kāi)始,后續(xù)累加l;當(dāng)圖像發(fā)送 端發(fā)送數(shù)據(jù)塊時(shí),特定序號(hào)的發(fā)送線(xiàn)程只發(fā)送和自己序號(hào)相同的數(shù)據(jù)塊;同 理,圖像接收端的接收線(xiàn)程和接收到的數(shù)據(jù)塊也有這種對(duì)應(yīng)關(guān)系。
9. 如權(quán)利要求7或8所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像 的方法,其特征在于為了使圖像發(fā)送時(shí)嚴(yán)格按照?qǐng)D像接收端事先設(shè)置好的 相鄰兩幅圖像之間傳輸?shù)臅r(shí)間間隔,同時(shí)保證每一個(gè)發(fā)送線(xiàn)程/接收線(xiàn)程只發(fā) 送/接收一個(gè)數(shù)據(jù)塊,本發(fā)明采用了多鎖和互斥對(duì)象方法,具體如下對(duì)于圖像發(fā)送端,當(dāng)一幅圖像的所有數(shù)據(jù)塊發(fā)送完畢后,會(huì)進(jìn)入一個(gè)多 鎖等待,該多鎖由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)事件的是否 更新圖像數(shù)據(jù)塊的事件組成,后者在所有的發(fā)送線(xiàn)程均收到圖像接收端發(fā)送 的回傳信號(hào)后被手動(dòng)觸發(fā);對(duì)于圖像接收端,創(chuàng)建完所有的接收線(xiàn)程后,進(jìn)入一個(gè)多鎖等待,該多 鎖由一個(gè)自動(dòng)觸發(fā)的全局退出事件和一個(gè)手動(dòng)觸發(fā)的圖像數(shù)據(jù)塊重組事件組 成,后者在所有的接收線(xiàn)程均接收完各自的數(shù)據(jù)塊后被手動(dòng)觸發(fā)。
10. 如權(quán)利要求9所述的一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方法,其特征在于圖像發(fā)送端的多鎖,具體工作流程為在每一個(gè)發(fā)送線(xiàn)程 里,先要執(zhí)行數(shù)據(jù)塊的發(fā)送,之后等待圖像接收端發(fā)送的回傳信號(hào),當(dāng)收到 回傳信號(hào)后,在互斥對(duì)象的保護(hù)下共享計(jì)數(shù)器加1,此后該線(xiàn)程進(jìn)入一個(gè)多 鎖等待,當(dāng)某個(gè)線(xiàn)程發(fā)現(xiàn)共享計(jì)數(shù)器的計(jì)數(shù)與發(fā)送線(xiàn)程的數(shù)量相同時(shí),手動(dòng) 觸發(fā)更新圖像數(shù)據(jù)塊事件,同時(shí)共享計(jì)數(shù)器清零,由此進(jìn)入新一輪的數(shù)據(jù)塊 發(fā)送;圖像接收端的多鎖,具體工作流程為在每一個(gè)接收線(xiàn)程里,先要執(zhí)行 數(shù)據(jù)塊的接收,接收完畢后在互斥對(duì)象的保護(hù)下共享計(jì)數(shù)器加1,并向圖像 發(fā)送端發(fā)送回傳信號(hào),此后進(jìn)入一個(gè)多鎖等待,當(dāng)某個(gè)接收線(xiàn)程發(fā)現(xiàn)共享計(jì) 數(shù)器的計(jì)數(shù)與接收線(xiàn)程的數(shù)量相同時(shí),手動(dòng)觸發(fā)重組圖像數(shù)據(jù)塊重組事件, 由圖像接收端將所有接收到的數(shù)據(jù)塊重新組合成原來(lái)的圖像,并根據(jù)事先確 定的時(shí)間間隔同時(shí)更新同步信息,并將同步信息發(fā)送給圖像發(fā)送端。
全文摘要
本發(fā)明涉及計(jì)算機(jī)圖像處理技術(shù),具體涉及一種基于C/S模式實(shí)時(shí)傳輸大數(shù)據(jù)量圖像的方法。本發(fā)明所述的方法在圖像發(fā)送端將需要實(shí)時(shí)傳輸?shù)膱D像分割成多個(gè)數(shù)據(jù)塊,由發(fā)送線(xiàn)程發(fā)送給圖像接收端,圖像接收端的接收線(xiàn)程接收數(shù)據(jù)塊,然后將數(shù)據(jù)塊重新組合成原圖像,并根據(jù)事先確定的傳輸時(shí)間間隔發(fā)送同步信息給圖像發(fā)送端,繼續(xù)傳輸圖像,直到傳輸完畢。采用本發(fā)明所述的方法對(duì)于實(shí)時(shí)的圖像傳輸而言,特別是數(shù)據(jù)量大的圖像,不需要壓縮,不需要借助硬件,完全可以通過(guò)網(wǎng)絡(luò)通信來(lái)實(shí)現(xiàn)圖像的實(shí)時(shí)傳輸,特別是廣播電視領(lǐng)域中的節(jié)目制作播出系統(tǒng),該優(yōu)勢(shì)更為明顯。
文檔編號(hào)H04N7/24GK101668192SQ20081011962
公開(kāi)日2010年3月10日 申請(qǐng)日期2008年9月4日 優(yōu)先權(quán)日2008年9月4日
發(fā)明者濤 李, 坤 羅, 浩 龔 申請(qǐng)人:新奧特(北京)視頻技術(shù)有限公司