專利名稱:一種osd信息的傳輸方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種OSD信息的傳輸方法和設(shè)備。
背景技術(shù):
OSD(On Screen Display,屏幕菜單顯示)的原理為在視頻圖像的特定位置顯示特殊信息(0SD信息),從而使用戶可以方便的了解到視頻外的重要信息。其中, 視頻監(jiān)控中常用的OSD信息為時(shí)間和地點(diǎn)。如圖1所示,對(duì)于配置的OSD信息,時(shí)間是 “2011-06-1809:39:31”,地點(diǎn)是“A4實(shí)驗(yàn)室”,基于上述OSD信息,用戶可以直觀的觀察到重
要fn息?,F(xiàn)有技術(shù)中,為了向用戶顯示OSD信息,需要對(duì)OSD信息進(jìn)行合成(即對(duì)OSD信息與視頻數(shù)據(jù)進(jìn)行合成),當(dāng)前的合成方式包括方式一如圖2所示的對(duì)OSD信息進(jìn)行合成的示意圖,OSD信息的合成在編碼設(shè)備 (即前端設(shè)備)完成;該方式下,編碼設(shè)備將采集到的視頻數(shù)據(jù)(即原始圖像)與OSD信息進(jìn)行合成,得到合成圖像(0SD信息為合成圖像的一部分),在對(duì)合成圖像進(jìn)行視頻編碼后, 通過網(wǎng)絡(luò)將視頻編碼后的合成圖像發(fā)送至客戶端;之后,由客戶端對(duì)其進(jìn)行視頻解碼,得到上述合成圖像,通過顯示該合成圖像,即可以顯示出OSD信息。方式二 如圖3所示的對(duì)OSD信息進(jìn)行合成的示意圖,OSD信息的合成在客戶端完成;該方式下,編碼設(shè)備對(duì)采集到的視頻數(shù)據(jù)和OSD信息一起進(jìn)行視頻編碼得到編碼視頻數(shù)據(jù),此時(shí)OSD信息也需要進(jìn)行編碼,且編碼后的OSD信息為編碼視頻數(shù)據(jù)的一部分。之后,客戶端可通過解碼編碼視頻數(shù)據(jù)得到OSD信息,并從編碼視頻數(shù)據(jù)中還原出視頻數(shù)據(jù), 之后,客戶端將視頻數(shù)據(jù)與OSD信息進(jìn)行合成,得到合成圖像,并通過顯示該合成圖像,即可以顯示出OSD信息。上述方式一中,至少存在以下問題(1)0SD信息為合成圖像中的數(shù)據(jù)傳輸至客戶端,在客戶端進(jìn)行視頻解碼時(shí),將無法還原出原始視頻數(shù)據(jù),從而導(dǎo)致部分?jǐn)?shù)據(jù)丟失。(2)編碼設(shè)備一般采用嵌入式設(shè)備(包括CPU、芯片等),OSD的圖像合成過程會(huì)消耗編碼設(shè)備的性能。上述方式二中,至少存在以下問題(1)當(dāng)前標(biāo)準(zhǔn)編碼庫(kù)涉及對(duì)視頻數(shù)據(jù)的編碼、 標(biāo)準(zhǔn)解碼庫(kù)涉及對(duì)視頻數(shù)據(jù)的解碼;編碼設(shè)備利用標(biāo)準(zhǔn)編碼庫(kù)對(duì)視頻數(shù)據(jù)進(jìn)行編碼得到編碼視頻數(shù)據(jù),并基于自身策略來利用相關(guān)編碼算法將OSD信息編碼到上述編碼視頻數(shù)據(jù)的冗余區(qū)域(如編碼視頻數(shù)據(jù)的尾部)中,此時(shí)OSD信息為編碼視頻數(shù)據(jù)的組成部分;在客戶端利用標(biāo)準(zhǔn)解碼庫(kù)對(duì)編碼視頻數(shù)據(jù)進(jìn)行解碼時(shí),可以解碼出視頻數(shù)據(jù);但是標(biāo)準(zhǔn)解碼庫(kù)不會(huì)對(duì)OSD信息進(jìn)行解碼,因此無法通過標(biāo)準(zhǔn)解碼庫(kù)解碼出OSD信息。(2)由于編碼設(shè)備需要通過具體的編碼算法將OSD信息編碼到編碼視頻數(shù)據(jù)中, 對(duì)將來支持的VC-I,WMV9等編碼算法,都要支持將OSD信息編碼到編碼視頻數(shù)據(jù)中,擴(kuò)展不方便。
發(fā)明內(nèi)容
本發(fā)明提供了一種OSD信息的傳輸方法和設(shè)備,以減少編碼設(shè)備的性能消耗。為了達(dá)到上述目的,本發(fā)明提供一種OSD信息的傳輸方法,應(yīng)用于包括編碼設(shè)備和客戶端的系統(tǒng)中,該方法包括以下步驟所述編碼設(shè)備對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù);所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述OSD信息標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在OSD信息,所述編碼視頻數(shù)據(jù)標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù);所述編碼設(shè)備通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給所述客戶端;當(dāng)所述客戶端從所述傳輸流的頭信息中得到OSD信息標(biāo)識(shí)時(shí),所述客戶端從所述傳輸流的數(shù)據(jù)區(qū)中獲得所述OSD信息,并顯示所述OSD信息。所述方法進(jìn)一步包括所述編碼設(shè)備判斷是否需要顯示OSD信息;如果是,所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中;否則,所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中。所述方法進(jìn)一步包括當(dāng)所述客戶端從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且未得到OSD信息標(biāo)識(shí)時(shí),所述客戶端獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且不存在OSD信息,所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);當(dāng)所述客戶端從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且得到OSD信息標(biāo)識(shí)時(shí),所述客戶端獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且存在OSD信息,所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息,設(shè)置OSD標(biāo)志為TRUE,并保存所述OSD信息;所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);在得到所述視頻數(shù)據(jù)后,所述客戶端判斷OSD標(biāo)志是否為TRUE,如果是,則所述客戶端將之前保存的OSD信息與所述視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;否則,所述客戶端直接顯示所述視頻數(shù)據(jù)。所述傳輸流包括TS流,RTP流和PS流;當(dāng)所述傳輸流為TS流時(shí),所述TS流包括 4字節(jié)的頭信息和184字節(jié)的數(shù)據(jù)區(qū),通過將4字節(jié)的頭信息中的PID設(shè)置為指定標(biāo)識(shí)表示 OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;當(dāng)所述傳輸流為PS流時(shí),所述PS流包括Header和I^ayload,通過將Header的 Stream type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack 中;當(dāng)所述傳輸流為RTP流時(shí),所述RTP流包括Header和I^ayload,通過將Header的 Payload type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload中。所述方法進(jìn)一步包括所述編碼設(shè)備將所述OSD信息以二進(jìn)制形式或者字符形式封裝到所述傳輸流的數(shù)據(jù)區(qū)中。本發(fā)明提供一種編碼設(shè)備,應(yīng)用于包括所述編碼設(shè)備和客戶端的系統(tǒng)中,所述編碼設(shè)備包括
處理模塊,用于對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,獲取編碼視頻數(shù)據(jù);將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述OSD信息標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在OSD信息,所述編碼視頻數(shù)據(jù)標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù);發(fā)送模塊,用于通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給所述客戶端。所述處理模塊,具體用于判斷是否需要顯示OSD信息;如果是,則將所述編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中;否則,將所述編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中。所述傳輸流包括TS流,RTP流和PS流;所述處理模塊,具體用于當(dāng)所述傳輸流為 TS流時(shí),所述TS流包括4字節(jié)的頭信息和184字節(jié)的數(shù)據(jù)區(qū),通過將4字節(jié)的頭信息中的 PID設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;當(dāng)所述傳輸流為PS流時(shí),所述PS流包括Header和I^ayload,通過將Header的 Stream type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack 中; 當(dāng)所述傳輸流為RTP流時(shí),所述RTP流包括Header和I^ayload,通過將Header的 Payload type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload中。所述處理模塊,進(jìn)一步用于將所述OSD信息以二進(jìn)制形式或者字符形式封裝到所述傳輸流的數(shù)據(jù)區(qū)中。本發(fā)明提供一種客戶端,應(yīng)用于包括編碼設(shè)備和所述客戶端的系統(tǒng)中,所述客戶端包括接收模塊,用于接收來自所述編碼設(shè)備的傳輸流;處理模塊,用于當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且未得到OSD信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且不存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且得到OSD信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息, 設(shè)置OSD標(biāo)志為TRUE,并保存所述OSD信息;從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);顯示模塊,用于在得到所述視頻數(shù)據(jù)后,判斷OSD標(biāo)志是否為TRUE,如果是,則將之前保存的OSD信息與所述視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;否則,直接顯示所述視頻數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn)通過傳輸流直接將OSD信息發(fā)送至客戶端,由客戶端對(duì)OSD信息和視頻數(shù)據(jù)進(jìn)行合成,可減少編碼設(shè)備的性能消耗,并可以將編碼設(shè)備的性能用來提升圖像效果。通過傳輸流將OSD信息發(fā)送至客戶端,可以減少壓縮算法間的耦合性。而且客戶端可以對(duì)OSD信息提供豐富的字體,大小,和特效,OSD效果更佳。此外,客戶端解碼出來的視頻數(shù)據(jù)即為原始的視頻數(shù)據(jù),不會(huì)由于OSD信息造成損失。
圖1是現(xiàn)有技術(shù)中配置的OSD信息的示意圖;圖2和圖3是現(xiàn)有技術(shù)中對(duì)OSD信息進(jìn)行合成的示意圖;圖4是本發(fā)明提供的一種OSD信息的傳輸方法流程圖;圖5是本發(fā)明應(yīng)用場(chǎng)景下TS流的格式示意圖;圖6是本發(fā)明應(yīng)用場(chǎng)景下PS流的格式示意圖;圖7是本發(fā)明應(yīng)用場(chǎng)景下RTP流的格式示意圖;圖8是本發(fā)明提出的一種編碼設(shè)備的結(jié)構(gòu)示意圖;圖9是本發(fā)明提出的一種客戶端的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明提出一種OSD信息的傳輸方法,該方法應(yīng)用于包括編碼設(shè)備(如編碼器、 IPC設(shè)備等)和客戶端的系統(tǒng)中,如圖4所示,該方法包括以下步驟步驟401,編碼設(shè)備對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù)。編碼設(shè)備可采集到視頻數(shù)據(jù),并將視頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)的編碼庫(kù)0 64,MPEG2, MPEG4)進(jìn)行視頻數(shù)據(jù)編碼處理,從而得到編碼視頻數(shù)據(jù)。步驟402,編碼設(shè)備將編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)(用于表示數(shù)據(jù)區(qū)中存在OSD信息) 和編碼視頻數(shù)據(jù)標(biāo)識(shí)(用于表示數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù))。需要注意的是,在將編碼視頻數(shù)據(jù)和OSD信息封裝到數(shù)據(jù)區(qū)時(shí),OSD信息需要獨(dú)立于編碼視頻數(shù)據(jù)存在(即二者沒有關(guān)系,OSD信息不是編碼視頻數(shù)據(jù)的組成部分)。本發(fā)明中,通過在傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí),說明在傳輸流的數(shù)據(jù)區(qū)中存在有OSD信息和編碼視頻數(shù)據(jù),且二者是獨(dú)立存在的。本步驟之前,編碼設(shè)備還可以判斷目前是否需要顯示OSD信息;如果是,則執(zhí)行本步驟中的將編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中的過程;否則,編碼設(shè)備直接將編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中,該情況下不需要在傳輸流的頭信息中設(shè)置 OSD信息標(biāo)識(shí)。本發(fā)明中,編碼設(shè)備可以將OSD信息以二進(jìn)制形式或者字符形式封裝到傳輸流的數(shù)據(jù)區(qū)中。步驟403,編碼設(shè)備通過網(wǎng)絡(luò)將傳輸流發(fā)送給客戶端。步驟404,客戶端接收來自編碼設(shè)備的傳輸流,并從傳輸流的頭信息中得到OSD信息標(biāo)識(shí)。在編碼設(shè)備將編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)時(shí),會(huì)在傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí),因此,客戶端可以從傳輸流的頭信息中得到OSD信息標(biāo)識(shí),繼而獲知傳輸流的數(shù)據(jù)區(qū)中存在OSD信息。此外,在編碼設(shè)備將編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)時(shí),還會(huì)在傳輸流的頭信息中設(shè)置編碼視頻數(shù)據(jù)標(biāo)識(shí),因此,客戶端還可以從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),繼而獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù)。步驟405,客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息以及編碼視頻數(shù)據(jù)。需要注意的是,如果編碼設(shè)備只將編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū),則不會(huì)在傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí),因此客戶端獲知傳輸流的數(shù)據(jù)區(qū)中不存在OSD信息;該情況下,只需要從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù),并顯示給用戶即可。步驟406,客戶端對(duì)編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù)。步驟407,客戶端對(duì)視頻數(shù)據(jù)以及OSD信息進(jìn)行合成,得到合成圖像,并顯示合成圖像。在顯示合成圖像的過程中,即可以將OSD信息顯示給用戶。需要注意的是,在獲得OSD信息后,需要保存OSD信息,并設(shè)置OSD標(biāo)志為TRUE ;在得到視頻數(shù)據(jù)后,如果判斷出OSD標(biāo)志為TRUE,則將之前保存的OSD信息與視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;如果判斷出OSD標(biāo)志不為TRUE(該情況為針對(duì)編碼設(shè)備直接將編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中的方式),則直接將視頻數(shù)據(jù)顯示給用戶。為了更加清楚的闡述將OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)的過程,以下結(jié)合傳輸流的幾種應(yīng)用進(jìn)行詳細(xì)說明。本發(fā)明中, 該傳輸流包括但不限于TS (transport stream,傳輸流)流,RTP (Real-time Transport Protocol,實(shí)時(shí)傳送協(xié)議)流和PS (Program Stream,節(jié)目流)流等。(1)當(dāng)傳輸流為TS流時(shí),如圖5所示的TS流的格式示意圖,TS流中的每個(gè)TS包的長(zhǎng)度為固定的188字節(jié),包括4字節(jié)的頭信息和184字節(jié)的數(shù)據(jù)區(qū)(其中適配區(qū)為可選的);在4字節(jié)的頭信息中至少包含PID (Packet identification,包標(biāo)志),PMT (Program Map Table,節(jié)目映射表),時(shí)間同步信息等,在184字節(jié)的數(shù)據(jù)區(qū)中承載數(shù)據(jù)內(nèi)容。本發(fā)明中,編碼設(shè)備可以通過將4字節(jié)的頭信息中的PID設(shè)置為指定標(biāo)識(shí)(如 0xA4)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;因此,客戶端在解析 TS流時(shí),可按照如上的PID值來獲取OSD信息。(2)當(dāng)傳輸流為PS流時(shí),如圖6所示的PS流的格式示意圖,PS流同TS流的區(qū)別在于TS流包結(jié)構(gòu)是固定長(zhǎng)度的,而PS流的包格式是可變長(zhǎng)度的。其中,PS報(bào)文由一個(gè)包頭 (Header),可選系統(tǒng)頭(sys Head)以及任意數(shù)量的 pack (包括 Video pack, Audio pack, data packet)分組組成,該任意數(shù)量的pack為I^ayload (負(fù)載)。本發(fā)明中,編碼設(shè)備可以通過將Header的Mream type (流類型)設(shè)置為指定標(biāo)識(shí)(如0xA4)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack (數(shù)據(jù)包)中; 因此,客戶端在解析PS流時(shí),可按照如上的Mream type值獲取到對(duì)應(yīng)的OSD信息。(3)當(dāng)傳輸流為RTP流時(shí),如圖7所示的RTP流的格式示意圖,RTP報(bào)文由包頭 (Header)和負(fù)載(Payload)構(gòu)成。本發(fā)明中,編碼設(shè)備可以通過將Header的I^ayload type (負(fù)載類型)設(shè)置為指定標(biāo)識(shí)(如0xA4)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到 Payload中。因此,客戶端在解析RTP流時(shí),可按照如上的payload type值獲取到對(duì)應(yīng)的 OSD信息。綜上所述,在兼容現(xiàn)有由編碼設(shè)備合成圖像的情況下,本發(fā)明中,OSD信息可以分別攜帶在傳輸流或視頻數(shù)據(jù)中,從而可根據(jù)不同的場(chǎng)景采用不同的處理方式。例如,一些將 OSD信息作為取證關(guān)鍵的行業(yè)(如公安,金融等),可以采用編碼設(shè)備合成圖像的方式,即通過將OSD信息攜帶在視頻數(shù)據(jù)中發(fā)送給客戶端;對(duì)于一些非關(guān)鍵行業(yè),可以采用客戶端合成圖像的方式,即通過將OSD信息攜帶在傳輸流中發(fā)送給客戶端?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種編碼設(shè)備,應(yīng)用于包括所述編碼設(shè)備和客戶端的系統(tǒng)中,如圖8所示,所述編碼設(shè)備包括處理模塊11,用于對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù);將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述OSD信息標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在OSD信息,所述編碼視頻數(shù)據(jù)標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù);發(fā)送模塊12,用于通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給所述客戶端。所述處理模塊11,具體用于判斷是否需要顯示OSD信息;如果是,則將所述編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中;否則,將所述編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中。所述傳輸流包括TS流,RTP流和PS流;所述處理模塊11,具體用于當(dāng)所述傳輸流為TS流時(shí),所述TS流包括4字節(jié)的頭信息和184字節(jié)的數(shù)據(jù)區(qū),通過將4字節(jié)的頭信息中的PID設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;當(dāng)所述傳輸流為PS流時(shí),所述PS流包括Header和I^ayload,通過將Header的 Stream type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack 中;當(dāng)所述傳輸流為RTP流時(shí),所述RTP流包括Header和I^ayload,通過將Header的 Payload type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload中。所述處理模塊11,進(jìn)一步用于將所述OSD信息以二進(jìn)制形式或者字符形式封裝到所述傳輸流的數(shù)據(jù)區(qū)中?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種客戶端,應(yīng)用于包括編碼設(shè)備和所述客戶端的系統(tǒng)中,如圖9所示,所述客戶端包括接收模塊21,用于接收來自所述編碼設(shè)備的傳輸流;處理模塊22,用于當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且未得到OSD 信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且不存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且得到OSD信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息, 設(shè)置OSD標(biāo)志為TRUE,并保存所述OSD信息;從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);顯示模塊23,用于在得到所述視頻數(shù)據(jù)后,判斷OSD標(biāo)志是否為TRUE,如果是,則將之前保存的OSD信息與所述視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;否則, 直接顯示所述視頻數(shù)據(jù)。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種OSD信息的傳輸方法,應(yīng)用于包括編碼設(shè)備和客戶端的系統(tǒng)中,其特征在于,該方法包括以下步驟所述編碼設(shè)備對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù);所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述OSD信息標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在OSD信息,所述編碼視頻數(shù)據(jù)標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù);所述編碼設(shè)備通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給所述客戶端;當(dāng)所述客戶端從所述傳輸流的頭信息中得到OSD信息標(biāo)識(shí)時(shí),所述客戶端從所述傳輸流的數(shù)據(jù)區(qū)中獲得所述OSD信息,并顯示所述OSD信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括所述編碼設(shè)備判斷是否需要顯示OSD信息;如果是,所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中;否則,所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括當(dāng)所述客戶端從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且未得到OSD信息標(biāo)識(shí)時(shí),所述客戶端獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且不存在OSD信息,所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);當(dāng)所述客戶端從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且得到OSD信息標(biāo)識(shí)時(shí), 所述客戶端獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且存在OSD信息,所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息,設(shè)置OSD標(biāo)志為TRUE,并保存所述OSD信息;所述客戶端從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);在得到所述視頻數(shù)據(jù)后,所述客戶端判斷OSD標(biāo)志是否為TRUE,如果是,則所述客戶端將之前保存的OSD信息與所述視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;否則, 所述客戶端直接顯示所述視頻數(shù)據(jù)。
4.如權(quán)利要求1所述的方法,其特征在于,所述傳輸流包括TS流,RTP流和PS流;當(dāng)所述傳輸流為TS流時(shí),所述TS流包括4字節(jié)的頭信息和184字節(jié)的數(shù)據(jù)區(qū),通過將 4字節(jié)的頭信息中的PID設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;當(dāng)所述傳輸流為PS流時(shí),所述PS流包括Header和I^ayload,通過將Header的Mream type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack中;當(dāng)所述傳輸流為RTP流時(shí),所述RTP流包括Header和I^ayload,通過將Header的 Payload type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload中。
5.如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述方法進(jìn)一步包括所述編碼設(shè)備將所述OSD信息以二進(jìn)制形式或者字符形式封裝到所述傳輸流的數(shù)據(jù)區(qū)中。
6.一種編碼設(shè)備,應(yīng)用于包括所述編碼設(shè)備和客戶端的系統(tǒng)中,其特征在于,所述編碼設(shè)備包括處理模塊,用于對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù);將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述OSD信息標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在OSD信息,所述編碼視頻數(shù)據(jù)標(biāo)識(shí)用于表示所述數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù);發(fā)送模塊,用于通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給所述客戶端。
7.如權(quán)利要求6所述的編碼設(shè)備,其特征在于,所述處理模塊,具體用于判斷是否需要顯示OSD信息;如果是,則將所述編碼視頻數(shù)據(jù)和OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中;否則,將所述編碼視頻數(shù)據(jù)封裝到傳輸流的數(shù)據(jù)區(qū)中。
8.如權(quán)利要求6所述的編碼設(shè)備,其特征在于,所述傳輸流包括TS流,RTP流和PS流;所述處理模塊,具體用于當(dāng)所述傳輸流為TS流時(shí),所述TS流包括4字節(jié)的頭信息和 184字節(jié)的數(shù)據(jù)區(qū),通過將4字節(jié)的頭信息中的PID設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到184字節(jié)的數(shù)據(jù)區(qū)中;當(dāng)所述傳輸流為PS流時(shí),所述PS流包括Header和I^ayload,通過將Header的Mream type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload的Data pack中;當(dāng)所述傳輸流為RTP流時(shí),所述RTP流包括Header和I^ayload,通過將Header的 Payload type設(shè)置為指定標(biāo)識(shí)表示OSD信息標(biāo)識(shí),并將OSD信息封裝到Payload中。
9.如權(quán)利要求6-8任一項(xiàng)所述的編碼設(shè)備,其特征在于,所述處理模塊,進(jìn)一步用于將所述OSD信息以二進(jìn)制形式或者字符形式封裝到所述傳輸流的數(shù)據(jù)區(qū)中。
10.一種客戶端,應(yīng)用于包括編碼設(shè)備和所述客戶端的系統(tǒng)中,其特征在于,所述客戶端包括接收模塊,用于接收來自所述編碼設(shè)備的傳輸流;處理模塊,用于當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且未得到OSD信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且不存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);當(dāng)從傳輸流的頭信息中得到編碼視頻數(shù)據(jù)標(biāo)識(shí),且得到OSD信息標(biāo)識(shí)時(shí),獲知傳輸流的數(shù)據(jù)區(qū)中存在編碼視頻數(shù)據(jù),且存在OSD信息,從傳輸流的數(shù)據(jù)區(qū)中獲得OSD信息,設(shè)置 OSD標(biāo)志為TRUE,并保存所述OSD信息;從傳輸流的數(shù)據(jù)區(qū)中獲得編碼視頻數(shù)據(jù),對(duì)所述編碼視頻數(shù)據(jù)進(jìn)行解碼處理,得到視頻數(shù)據(jù);顯示模塊,用于在得到所述視頻數(shù)據(jù)后,判斷OSD標(biāo)志是否為TRUE,如果是,則將之前保存的OSD信息與所述視頻數(shù)據(jù)進(jìn)行合成,得到合成圖像,并顯示合成圖像;否則,直接顯示所述視頻數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種OSD信息的傳輸方法和設(shè)備,該方法包括編碼設(shè)備對(duì)獲得的視頻數(shù)據(jù)進(jìn)行編碼處理,得到編碼視頻數(shù)據(jù);所述編碼設(shè)備將所述編碼視頻數(shù)據(jù)和未進(jìn)行編碼處理的OSD信息封裝到傳輸流的數(shù)據(jù)區(qū)中,并在所述傳輸流的頭信息中設(shè)置OSD信息標(biāo)識(shí)和編碼視頻數(shù)據(jù)標(biāo)識(shí);所述編碼設(shè)備通過網(wǎng)絡(luò)將所述傳輸流發(fā)送給客戶端。本發(fā)明中,通過傳輸流將OSD信息發(fā)送至客戶端,由客戶端對(duì)OSD信息和視頻數(shù)據(jù)進(jìn)行合成,可減少編碼設(shè)備的性能消耗。
文檔編號(hào)H04N21/242GK102256161SQ20111024704
公開日2011年11月23日 申請(qǐng)日期2011年8月26日 優(yōu)先權(quán)日2011年8月26日
發(fā)明者應(yīng)程 申請(qǐng)人:杭州華三通信技術(shù)有限公司