本申請(qǐng)涉及視頻監(jiān)控領(lǐng)域,特別涉及一種視頻監(jiān)控中圖像延時(shí)的檢測(cè)方法和系統(tǒng)。
背景技術(shù):
在視頻監(jiān)控領(lǐng)域中,往往會(huì)涉及到攝像機(jī)對(duì)圖像的采集、處理(如壓縮、編碼等)、信號(hào)的傳輸,播放顯示端對(duì)圖像的解析(如解碼、解壓縮等)、顯示等等。然而由于設(shè)備、傳輸線路(如網(wǎng)絡(luò))的不穩(wěn)定等問題,導(dǎo)致采集的圖像在最后顯示時(shí)出現(xiàn)延時(shí),即非完全同步實(shí)時(shí)采集即顯示。
圖像延時(shí)是視頻監(jiān)控領(lǐng)域中的重要參數(shù),圖像延時(shí)越小,表明視頻監(jiān)控中攝像機(jī)的傳輸、后端處理等整個(gè)視頻監(jiān)控性能越優(yōu),圖像延時(shí)能夠體現(xiàn)圖像的實(shí)時(shí)顯示情況。因而,如何準(zhǔn)確地測(cè)量(或檢測(cè))視頻監(jiān)控環(huán)境中的圖像延時(shí)顯得尤為重要,其有助于進(jìn)一步改進(jìn)視頻監(jiān)控環(huán)境,盡可能地縮短圖像延時(shí)。
目前常用的測(cè)量攝像機(jī)延時(shí)(下面稱為圖像延時(shí))的方法是:
首先,在電腦上運(yùn)行計(jì)時(shí)器(其精度一般為毫秒),架設(shè)攝像機(jī)對(duì)準(zhǔn)電腦顯示器上的計(jì)時(shí)器界面。其次,在運(yùn)行計(jì)時(shí)器的電腦上,運(yùn)行可預(yù)覽攝像機(jī)的客戶端軟件。最后,對(duì)電腦進(jìn)行截屏操作,根據(jù)攝像機(jī)的截屏畫面,計(jì)算計(jì)時(shí)器的時(shí)間與客戶端預(yù)覽畫面的時(shí)間的差值,該差值即為視頻監(jiān)控領(lǐng)域一般意義上的圖像延時(shí)。
然而,該方法最大的缺點(diǎn)在于:需要人工手動(dòng)操作進(jìn)行截屏,操作繁瑣、費(fèi)時(shí),而且最后進(jìn)行的截屏步驟易受電腦屏幕刷新率的影響,會(huì)產(chǎn)生高達(dá)~10ms量級(jí)的誤差。比如,刷新率為60的顯示器,在某一時(shí)刻,計(jì)時(shí)器上的數(shù)字本應(yīng)該更新,而此時(shí)攝像機(jī)正在進(jìn)行截屏,又由于屏幕刷新的問題,需要等待16.6ms以后才執(zhí)行刷新,這樣就造成了16.6ms的誤差,而該誤差又使得攝像機(jī)延遲產(chǎn)生更大誤差。
另外,對(duì)于一幀圖像數(shù)據(jù),在采集、編碼壓縮和傳輸之后,將該幀圖像進(jìn)行播放顯示。通常情況下,都會(huì)進(jìn)行數(shù)據(jù)接收緩沖以及解碼后的播放緩沖,在數(shù)據(jù)和播放緩沖隊(duì)列中找到特定的一幀數(shù)據(jù)(該幀數(shù)據(jù)記錄了當(dāng)時(shí)的采集時(shí)間)來計(jì)算延遲就顯得尤為重要,而且要盡可能使該參數(shù)精確。然而攝像機(jī)和作為播放顯示端的電腦上都有其各自的系統(tǒng)時(shí)間,由于電腦的顯示頻率問題,此時(shí)若進(jìn)行刷時(shí),也會(huì)使得攝像機(jī)從電腦中截屏所獲取的時(shí)間不準(zhǔn),導(dǎo)致得到的延時(shí)不準(zhǔn)確。
因此,如何準(zhǔn)確地、自動(dòng)地測(cè)量出攝像機(jī)的延時(shí)是本領(lǐng)域技術(shù)人員急需要解決的問題。
另外,現(xiàn)有技術(shù)“一種單向延遲的測(cè)量方法”的文獻(xiàn)中,提出了從源端點(diǎn)發(fā)送報(bào)文給目標(biāo)端點(diǎn),然后目標(biāo)端點(diǎn)立即返回報(bào)文給源端點(diǎn)的方案,計(jì)算報(bào)文在兩個(gè)端點(diǎn)之間的往返時(shí)間,然后除以2,獲得單向的延遲時(shí)間。而該方法中僅僅考慮了報(bào)文數(shù)據(jù)傳輸?shù)难舆t,除去報(bào)文中用于記錄源、目的端點(diǎn)地址信息和時(shí)間信息之外,數(shù)據(jù)包攜帶的數(shù)據(jù)格式和內(nèi)容對(duì)結(jié)果無任何影響,兩個(gè)端點(diǎn)之間的報(bào)文發(fā)送、接收都是同步進(jìn)行,不需要在端點(diǎn)進(jìn)行等待。本領(lǐng)域技術(shù)人員知曉,圖像延時(shí)的組成至少包括或者說影響因素至少包括:圖 像采集的時(shí)間、圖像編碼的時(shí)間、壓縮數(shù)據(jù)傳輸?shù)臅r(shí)間、壓縮數(shù)據(jù)進(jìn)行解析解碼的時(shí)間、圖像數(shù)據(jù)進(jìn)行顯示的時(shí)間等。視頻監(jiān)控領(lǐng)域的圖像延時(shí)定義為對(duì)于同一幀畫面(即圖像),從攝像機(jī)端開始采集到播放顯示端(客戶端/終端、服務(wù)器端等)顯示完畢的時(shí)間差。而對(duì)于攝像機(jī)中一幀畫面的數(shù)據(jù),在采集、編碼壓縮和傳輸之后,在播放顯示端顯示完畢,一般情況下,都會(huì)進(jìn)行數(shù)據(jù)接收緩沖以及解碼后的播放緩沖,也就是說現(xiàn)實(shí)中導(dǎo)致延時(shí)的因素遠(yuǎn)比上述文獻(xiàn)中只有報(bào)文傳輸延時(shí)的因素要復(fù)雜,因此該文獻(xiàn)中提出的方法無法對(duì)攝像機(jī)的延時(shí)進(jìn)行檢測(cè)。
因此,有必要提供一種無需人工操作,能夠自動(dòng)、進(jìn)而更準(zhǔn)確的測(cè)量圖像延時(shí)的方法和系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種圖像延遲的檢測(cè)方法以及系統(tǒng),克服現(xiàn)有視頻監(jiān)控領(lǐng)域中只能依賴人工操作獲取圖像延時(shí)的缺陷,解決自動(dòng)檢測(cè)獲得圖像延時(shí)的問題,進(jìn)而,在自動(dòng)檢測(cè)的基礎(chǔ)上還可以克服人工檢測(cè)產(chǎn)生較大誤差的缺陷,解決高精度自動(dòng)檢測(cè)圖像延時(shí)的問題。
為解決上述問題,本發(fā)明一方面提供一種圖像延遲的檢測(cè)方法,包括:根據(jù)傳輸來的數(shù)據(jù)流中任一圖像幀及對(duì)應(yīng)該圖像幀的圖像延時(shí)檢測(cè)的數(shù)據(jù)包,顯示所述圖像幀并解析所述數(shù)據(jù)包;根據(jù)解析所述數(shù)據(jù)包獲得的所述圖像幀的采集所述圖像幀的基準(zhǔn)的全局時(shí)間T以及所述圖像幀當(dāng)前的顯示時(shí)間Tdisplay,獲得檢測(cè)到的所述圖像幀的圖像延時(shí)Tdelay。
本發(fā)明的另一方面提供一種圖像延遲的檢測(cè)系統(tǒng),包括圖像獲取裝置,圖像處理裝置,和連接二者的通信線路;其中,圖像處理裝置,根據(jù)圖像獲 取裝置經(jīng)通信線路傳輸來的數(shù)據(jù)流中任一圖像幀及對(duì)應(yīng)該圖像幀的圖像延時(shí)檢測(cè)的數(shù)據(jù)包,顯示所述圖像幀并解析所述數(shù)據(jù)包,然后,根據(jù)解析所述數(shù)據(jù)包獲得的所述圖像幀的采集所述圖像幀的基準(zhǔn)的全局時(shí)間T以及所述圖像幀當(dāng)前的顯示時(shí)間Tdisplay,獲得檢測(cè)到的所述圖像幀的圖像延時(shí)Tdelay;圖像獲取裝置,根據(jù)所述圖像處理裝置發(fā)送的對(duì)圖像幀的圖像延時(shí)檢測(cè)的報(bào)文,采集圖像幀,并確定采集的所述圖像幀的基準(zhǔn)的全局時(shí)間T。
根據(jù)本發(fā)明的方案,以圖像最后的播放顯示端的時(shí)間為基準(zhǔn)確定該延時(shí)檢測(cè)相關(guān)的數(shù)據(jù)中的時(shí)間數(shù)據(jù),并將與延時(shí)檢測(cè)相關(guān)的數(shù)據(jù)與被檢測(cè)的圖像幀的編碼數(shù)據(jù)封裝在一起,這樣,既無需人工來操作如通過截屏等方式獲取采集圖像的時(shí)間,也不會(huì)使得采集時(shí)間受圖像幀播放顯示端的頻率刷新、播放顯示端和采集獲取端系統(tǒng)時(shí)間不同等的影響,本發(fā)明所提供的方法和系統(tǒng)檢測(cè)后得到的延時(shí)結(jié)果不存在誤差,使得所對(duì)圖像延時(shí)的更精確。
附圖說明
圖1-1、1-2是根據(jù)本發(fā)明的圖像延時(shí)的檢測(cè)系統(tǒng)的一實(shí)施例的結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明的系統(tǒng)的一實(shí)施例的時(shí)序圖;
圖3是根據(jù)本發(fā)明的圖像延時(shí)的檢測(cè)方法的一實(shí)施例的流程圖;
圖4是根據(jù)本發(fā)明的圖像延時(shí)的檢測(cè)方法中生成圖像幀對(duì)應(yīng)的數(shù)據(jù)包的一實(shí)施例流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)施方式并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對(duì)公知結(jié) 構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
圖1-1、1-2是本發(fā)明的圖像延時(shí)的檢測(cè)系統(tǒng)的一實(shí)施例的結(jié)構(gòu)框圖。
下面結(jié)合圖1所示本發(fā)明的圖像延時(shí)的檢測(cè)系統(tǒng)的實(shí)施例進(jìn)行說明。
其中,該圖像延時(shí)的檢測(cè)系統(tǒng)中至少包括:一個(gè)或多個(gè)圖像獲取裝置1,一個(gè)或多個(gè)圖像處理裝置2,圖像獲取裝置1和圖像處理裝置2通過網(wǎng)絡(luò)來傳輸圖像。
在一個(gè)實(shí)施方式中,該圖像獲取裝置1例如:視頻監(jiān)控領(lǐng)域中的攝像機(jī),其獲取的是攝像機(jī)在監(jiān)控時(shí)采集(如:拍攝)的實(shí)時(shí)圖像。進(jìn)一步,該攝像機(jī)可以是網(wǎng)絡(luò)攝像機(jī),或者模擬攝像機(jī)與編碼器的組合。下面將主要以網(wǎng)絡(luò)攝像機(jī)為例進(jìn)行描述。而圖像處理裝置2可以是任意的可以顯示圖像獲取裝置1獲取并通過網(wǎng)絡(luò)(例:有線或無線的各種通信網(wǎng)絡(luò))傳輸來的圖像。圖像處理裝置2可以是客戶端電腦、各種能進(jìn)行圖像顯示或播放的終端設(shè)備、和/或各種能進(jìn)行圖像顯示或播放的服務(wù)器等。其中,該圖像延時(shí)定義為對(duì)于同一幀圖像,從圖像獲取裝置1開始采集到圖像處理裝置2顯示完畢的時(shí)間差。
進(jìn)一步,圖像獲取裝置1獲取圖像、傳輸至圖像處理裝置2中顯示時(shí),從圖像獲取裝置1開始采集一幀圖像到圖像處理裝置2上顯示完畢該幀圖像的時(shí)間差作為對(duì)于該幀圖像的延時(shí)。
圖2是根據(jù)本發(fā)明的系統(tǒng)的一實(shí)施例的時(shí)序圖。
下面結(jié)合圖2所示的本發(fā)明的系統(tǒng)檢測(cè)延時(shí)的一實(shí)施例的時(shí)序圖進(jìn)行具體的說明。
(A)圖像獲取裝置1(如:攝像機(jī))增加通信接口,所述通信接口支 持一定格式的報(bào)文。而同時(shí),圖像處理裝置2(如:客戶端電腦)也具有支持該格式的報(bào)文的通信接口。通信接口和報(bào)文可以為現(xiàn)有的已知可支持圖像數(shù)據(jù)傳輸?shù)耐ㄐ沤涌诤蛨?bào)文格式。所述報(bào)文格式包括但不限于IP報(bào)文格式、TCP報(bào)文格式、UDP報(bào)文格式等等。圖像獲取裝置1和圖像處理裝置2通過通信網(wǎng)絡(luò)進(jìn)行連接傳輸圖像數(shù)據(jù),通過該通信接口發(fā)送和接收?qǐng)?bào)文。
(B)圖像處理裝置2根據(jù)圖像獲取裝置1的該新增的通信接口的報(bào)文格式,向圖像獲取裝置1發(fā)送檢測(cè)延時(shí)的報(bào)文,該報(bào)文中,包括了:本次檢測(cè)的ID號(hào)(例如GUID),該ID號(hào)用以唯一標(biāo)記此次圖像延時(shí)檢測(cè)。圖像處理裝置2的通信地址(例如若通信系統(tǒng)是以太網(wǎng)則可以是該裝置的IP地址),圖像處理裝置2此時(shí)的全局時(shí)間為Td(年月日時(shí)分秒毫秒)。這里,GUID(Globally Unique Indenfier,全局唯一標(biāo)識(shí)符)唯一表示本次檢測(cè)的ID號(hào)。這種唯一性可以用GUID的實(shí)現(xiàn)方法,但不限于GUID的實(shí)現(xiàn)方法,即也可以自行設(shè)計(jì)一種方法來實(shí)現(xiàn)。
(C)圖像獲取裝置1接收到圖像處理裝置2發(fā)送來的該檢測(cè)報(bào)文后,記錄此時(shí)圖像獲取裝置1的全局時(shí)間td(年月日時(shí)分秒毫秒)、該本次延時(shí)檢測(cè)的ID號(hào)、圖像處理裝置2的通信地址及其發(fā)起檢測(cè)時(shí)的全局時(shí)間Td。此時(shí),圖像獲取裝置1與圖像處理裝置2實(shí)現(xiàn)握手。但圖像獲取裝置1并不立即返回報(bào)文給圖像處理裝置2,而是等待圖像獲取裝置1自身開始采集下一幀圖像數(shù)據(jù)的時(shí)刻。
(D)當(dāng)圖像獲取裝置1開始該下一幀圖像的采集時(shí),記錄開始采集的時(shí)間tc(年月日時(shí)分秒毫秒)。同時(shí),根據(jù)記錄的圖像處理裝置2的通信地址,發(fā)送報(bào)文給發(fā)起檢測(cè)的該圖像處理裝置2,該報(bào)文中包括之前接收到的延時(shí) 檢測(cè)的該ID號(hào)。即圖像獲取裝置1向?qū)?yīng)的圖像處理裝置2發(fā)出采集通知的報(bào)文。并且,對(duì)采集的該幀圖像進(jìn)行編碼以便進(jìn)行數(shù)據(jù)傳輸。而該圖像處理裝置2接收到圖像獲取裝置1采集圖像的該報(bào)文后,記錄此時(shí)的時(shí)間Tc(年月日時(shí)分秒毫秒)。
(E)可以在圖像處理裝置2一端或在圖像獲取裝置1一端或者一中間端,根據(jù)圖像處理裝置2發(fā)送檢測(cè)延時(shí)報(bào)文時(shí)自身的全局時(shí)間Td、圖像獲取裝置1收到該次檢測(cè)報(bào)文時(shí)自身的全局時(shí)間td、圖像獲取裝置1在握手后開始采集第一幀圖像的時(shí)間tc、以及圖像處理裝置2接收到圖像獲取裝置1采集該幀圖像的報(bào)文時(shí)的時(shí)間Tc,計(jì)算圖像獲取裝置1與圖像處理裝置2之間存在的通信的單向延時(shí)Tlatency。
例如,通過公式(1)計(jì)算:
Tlatency=((Tc-Td)-(tc-td))/2 (1)
例如,通過“一種單向延遲的測(cè)量方法”的文獻(xiàn)中的算法計(jì)算得出。
該公式(1)得出的結(jié)果與該文獻(xiàn)的單向延遲的測(cè)量方法得出的結(jié)果非常接近,但在實(shí)際操作中,該單向延遲的大小相對(duì)于本發(fā)明中定義的圖像延時(shí)的值來說非常小,可以忽略不計(jì)。
(F)圖像獲取裝置1在采集圖像的時(shí)候,此時(shí)以圖像處理裝置2的時(shí)間為基準(zhǔn)的采集圖像的全局時(shí)間Td+(tc-td)+Tlatency,忽略掉Tlatency即對(duì)應(yīng)的圖像處理裝置2的該基準(zhǔn)的全局時(shí)間為Td+(tc-td)。圖像獲取裝置1將之前收到的延時(shí)檢測(cè)的ID號(hào)、與以該圖像處理裝置2的時(shí)間為基準(zhǔn)的采集圖像的全局時(shí)間Td+(tc-td)這兩個(gè)信息,以及采集到的該幀圖像進(jìn)行編碼后的編碼數(shù)據(jù),通過一定的封裝格式混合起來形成對(duì)該幀圖像的圖像延時(shí)檢測(cè)的數(shù)據(jù)包,進(jìn) 行傳輸或存儲(chǔ)。該封裝可以是現(xiàn)有的圖像編碼數(shù)據(jù)、ID數(shù)據(jù)、時(shí)間數(shù)據(jù)等的封裝方式,各種已有的封裝格式都允許在其標(biāo)準(zhǔn)框架之下的私有數(shù)據(jù)的封裝。
(G)其中,圖像處理裝置2可以使用能預(yù)覽圖像獲取裝置1的軟件,如媒體播放軟件等,預(yù)覽圖像獲取裝置1的視頻圖像。因而,當(dāng)圖像處理裝置2接收到來自圖像獲取裝置1的媒體流數(shù)據(jù)(如圖2所示數(shù)據(jù)傳輸、接收數(shù)據(jù)),并進(jìn)行解析、解碼、顯示的同時(shí),解析帶有檢測(cè)延時(shí)的數(shù)據(jù)包。
其中,在接收到傳輸來的數(shù)據(jù)時(shí),還可能存在數(shù)據(jù)緩沖后才進(jìn)行解析、解碼,解碼完后準(zhǔn)備顯示時(shí)還可能存在顯示緩沖。
而在顯示完一幀圖像后,如果該幀圖像帶有對(duì)應(yīng)的延時(shí)檢測(cè)的該數(shù)據(jù)包,則從該數(shù)據(jù)包中解析出該幀數(shù)據(jù)圖像進(jìn)行采集時(shí)的該采集圖像的基準(zhǔn)的全局時(shí)間T=Td+(tc-td),記錄此時(shí)圖像處理裝置2的全局時(shí)間Tdisplay。該幀圖像的延時(shí)Tdelay例如根據(jù)公式(2)計(jì)算為:
Tdelay=Tdisplay-(Td+(tc-td)) (2)
并且,還可以由該圖像處理裝置2將該幀圖像的圖像延時(shí)的值Tdelay通過該媒體播放軟件、或其他程序軟件反饋以統(tǒng)計(jì)或顯示。具體地,將該圖像處理裝置2可以通過某些軟件程序?qū)⒃撗訒r(shí)的值嵌入或傳送給其他程序軟件,進(jìn)行統(tǒng)計(jì)、存儲(chǔ)、傳送(如傳給相應(yīng)的圖像獲取裝置1)或者顯示延時(shí)等。例如圖2所示,一邊顯示圖像還同時(shí)顯示計(jì)算出的該圖像的延時(shí)Tdelay。
(H)進(jìn)一步,若重復(fù)前面的時(shí)序(A)-(G),可以統(tǒng)計(jì)多次的圖像延時(shí)Tdelay,進(jìn)而獲得該Tdelay的平均值,從而得到更具有統(tǒng)計(jì)意義或者說更精確、更準(zhǔn)確的圖像延時(shí)檢測(cè)值。
圖3是根據(jù)本發(fā)明的圖像延時(shí)的檢測(cè)方法的一實(shí)施例的流程圖。
下面進(jìn)一步結(jié)合圖3所示本發(fā)明的圖像延時(shí)的檢測(cè)方法的一實(shí)施例,描述本發(fā)明的實(shí)現(xiàn)。本發(fā)明的方法與前述系統(tǒng)實(shí)現(xiàn)的處理也相對(duì)應(yīng)。
在步驟S101:根據(jù)傳輸來的數(shù)據(jù)流中任一圖像幀及對(duì)應(yīng)該圖像幀的圖像延時(shí)檢測(cè)的數(shù)據(jù)包,顯示所述圖像幀并解析所述數(shù)據(jù)包。
在一個(gè)實(shí)施例中,可以是當(dāng)圖像處理裝置2(如:客戶端電腦)獲得來自圖像獲取裝置1(如:攝像機(jī))的媒體數(shù)據(jù)流,進(jìn)行解析、解碼和顯示過程中,該數(shù)據(jù)流中的一圖像幀存在對(duì)應(yīng)的檢測(cè)該幀圖像延時(shí)的數(shù)據(jù)包。該數(shù)據(jù)包中包括相關(guān)的延時(shí)檢測(cè)數(shù)據(jù),例如包括:該圖像幀的采集時(shí)間T=Td+(tc-td)。該采集時(shí)間T是該圖像獲取裝置1在采集該圖像幀時(shí),以該圖像處理裝置2的時(shí)間為基準(zhǔn)的采集圖像的全局時(shí)間(如前述系統(tǒng)的描述)。在該圖像處理裝置2顯示該圖像幀時(shí),記錄其顯示時(shí)間Tdisplay,同時(shí)解析該數(shù)據(jù)包獲得該圖像幀的采集時(shí)間T。
由于該時(shí)間T不是采用圖像獲取裝置1上的時(shí)間,而是以圖像處理裝置2上的時(shí)間為基準(zhǔn)來表征采集時(shí)間T,使得采集時(shí)間T不受頻率刷新的影響。
圖4是根據(jù)本發(fā)明的圖像延時(shí)的檢測(cè)方法中生成圖像幀對(duì)應(yīng)的數(shù)據(jù)包的一實(shí)施例流程圖。
下面結(jié)合圖4所示本發(fā)明的圖像延時(shí)的檢測(cè)方法中生成圖像幀對(duì)應(yīng)的數(shù)據(jù)包的一實(shí)施例流程圖,說明數(shù)據(jù)包中,得到所述采集時(shí)間T的一個(gè)實(shí)施方式。
在步驟S201,根據(jù)接收的檢測(cè)圖像延時(shí)的報(bào)文,記錄所述報(bào)文中的標(biāo)識(shí)信息和該報(bào)文指示的此次檢測(cè)的時(shí)間、以及記錄接收到該檢測(cè)圖像延時(shí)的報(bào)文的時(shí)間。
在一個(gè)實(shí)施方式中,圖像獲取裝置(如:攝像機(jī))1增加通信接口,所述通信接口支持一定格式的報(bào)文。而同時(shí),圖像處理裝置(如:客戶端電腦)2也具有支持該格式的報(bào)文的通信接口。通信接口和報(bào)文可以為現(xiàn)有的已知可支持圖像數(shù)據(jù)傳輸?shù)耐ㄐ沤涌诤蛨?bào)文格式。所述報(bào)文格式同樣包括但不限于IP報(bào)文格式、TCP報(bào)文格式、UDP報(bào)文格式等等。圖像獲取裝置1和圖像處理裝置2通過通信網(wǎng)絡(luò)進(jìn)行連接傳輸圖像數(shù)據(jù),通過該通信接口發(fā)送和接收?qǐng)?bào)文。
其中,圖像處理裝置2根據(jù)圖像獲取裝置1的該新增的通信接口的報(bào)文格式,向圖像獲取裝置1發(fā)送檢測(cè)圖像延時(shí)的報(bào)文,該報(bào)文中,包括了:本次檢測(cè)的ID號(hào)(例如GUID),該ID號(hào)用以唯一標(biāo)記此次圖像延時(shí)檢測(cè),即標(biāo)識(shí)此次檢測(cè)的標(biāo)識(shí)信息;圖像處理裝置2的通信地址(例如若通信系統(tǒng)是以太網(wǎng)則可以是該裝置的IP地址),即標(biāo)識(shí)發(fā)送該報(bào)文要求檢測(cè)圖像延時(shí)的裝置的標(biāo)識(shí)信息;圖像處理裝置2此時(shí)的全局時(shí)間Td(年月日時(shí)分秒毫秒),即發(fā)出該報(bào)文的該裝置的此次檢測(cè)開始的時(shí)間。并且,圖像獲取裝置1收到該報(bào)文后,記錄下該報(bào)文中指示的各種標(biāo)識(shí)信息、發(fā)送方如圖像處理裝置2當(dāng)時(shí)的全局時(shí)間,還記錄下自己接收該報(bào)文的時(shí)間。
在步驟S202,根據(jù)該檢測(cè)圖像延時(shí)的報(bào)文,在開始采集圖像幀時(shí),記錄所述開始采集圖像幀的時(shí)間,并將所述開始采集圖像幀的時(shí)間根據(jù)所述標(biāo)識(shí)信息發(fā)送表示采集圖像幀開始的采集通知報(bào)文。
進(jìn)一步,還可以依據(jù)所述此次檢測(cè)的時(shí)間、接收到該檢測(cè)圖像延時(shí)的報(bào)文的時(shí)間、開始采集圖像幀的時(shí)間、接收到該采集通知報(bào)文的時(shí)間分析通信中的單向延時(shí),以確定其大小是否可以忽略不計(jì)。
在一個(gè)實(shí)施方式中,當(dāng)圖像獲取裝置1開始該下一幀圖像的采集時(shí),記錄開始采集的時(shí)間tc(年月日時(shí)分秒毫秒),同時(shí),根據(jù)記錄的圖像處理裝置2的通信地址,發(fā)送報(bào)文給發(fā)起檢測(cè)的該圖像處理裝置2,表示該報(bào)文的報(bào)文中包括之前接收到的延時(shí)檢測(cè)的該ID號(hào)。即圖像獲取裝置1向?qū)?yīng)的圖像處理裝置2發(fā)出采集通知的報(bào)文。并且,對(duì)采集的該幀圖像進(jìn)行編碼以便進(jìn)行數(shù)據(jù)傳輸。由此,圖像處理裝置2能可以收到采集圖像幀開始的該采集通知報(bào)文并在收到后記錄收到時(shí)的時(shí)間Tc。
進(jìn)一步,可以分析出,根據(jù)圖像處理裝置2發(fā)送檢測(cè)延時(shí)報(bào)文時(shí)自身的全局時(shí)間Td、圖像獲取裝置1收到該次檢測(cè)報(bào)文時(shí)自身的全局時(shí)間td、圖像獲取裝置1在握手后開始采集第一幀圖像的時(shí)間tc、以及圖像處理裝置2接收到圖像獲取裝置1采集該幀圖像的報(bào)文時(shí)的時(shí)間Tc,計(jì)算圖像獲取裝置1與圖像處理裝置2之間存在的通信的單向延時(shí)Tlatency=((Tc-Td)-(tc-td))/2。而同樣由“一種單向延遲的測(cè)量方法”的文獻(xiàn)中的算法計(jì)算得出的Tlatency結(jié)果非常接近,但在實(shí)際操作中,該單向延遲的大小相對(duì)于本發(fā)明中定義的圖像延時(shí)的值來說非常小,可以忽略不計(jì)。
在步驟S203,根據(jù)所述檢測(cè)圖像延時(shí)的報(bào)文中的此次檢測(cè)的時(shí)間Td、接收到該檢測(cè)圖像延時(shí)的報(bào)文的時(shí)間td、開始采集圖像幀的時(shí)間tc,確定基準(zhǔn)的全局時(shí)間T。
進(jìn)一步,還可以結(jié)合分析得到的通信單向延時(shí)來確定基準(zhǔn)的全局時(shí)間。
在一個(gè)實(shí)施方式中,這樣圖像獲取裝置1的采集時(shí)間T以圖像處理裝置2的時(shí)間構(gòu)建基準(zhǔn)的全局時(shí)間,不會(huì)受圖像處理裝置2的刷屏的影響,使得所得到的圖像獲取裝置1的圖像延遲更加準(zhǔn)確。
例如:T=Td+(tc-td)+Tlatency
由于Tlatency值很小可以忽略不計(jì),優(yōu)化后的基準(zhǔn)全局時(shí)間T可以是T=Td+(tc-td)。
在步驟S204,根據(jù)所述基準(zhǔn)的全局時(shí)間T、所述檢測(cè)圖像延時(shí)的報(bào)文中的標(biāo)識(shí)信息之一,形成數(shù)據(jù)包,與采集到的該圖像幀的編碼數(shù)據(jù)一起封裝,以在顯示該圖像幀時(shí)檢測(cè)到該圖像幀的圖像延時(shí)。
其中,該報(bào)文中的標(biāo)識(shí)信息包括對(duì)應(yīng)的延時(shí)檢測(cè)ID號(hào)、發(fā)送報(bào)文一側(cè)的地址等。而此處一并封裝到數(shù)據(jù)包中的標(biāo)識(shí)信息則是其中之一的該ID號(hào)。
其中,所述基準(zhǔn)的全局時(shí)間T、所述檢測(cè)圖像延時(shí)的報(bào)文中的標(biāo)識(shí)信息之一,作為采集的該圖像幀的私有數(shù)據(jù),在圖像幀形成編碼數(shù)據(jù)后,通過一定封裝格式混合起來,以便進(jìn)行傳輸或存儲(chǔ)。一種方式,可以傳輸?shù)桨l(fā)送檢測(cè)圖像延時(shí)的報(bào)文的一端顯示。如播放媒體數(shù)據(jù)流時(shí),該數(shù)據(jù)流中有該圖像幀,顯示到該圖像幀的同時(shí)解析得到該私有數(shù)據(jù),并記錄此幀當(dāng)前顯示時(shí)間,從而計(jì)算出該圖像幀的延時(shí)。
在一個(gè)實(shí)施方式中,圖像獲取裝置1將之前收到的延時(shí)檢測(cè)的ID號(hào)、與以該圖像處理裝置2的時(shí)間為基準(zhǔn)的采集圖像的全局時(shí)間Td+(tc-td)這兩個(gè)信息,以及采集到的該幀圖像進(jìn)行編碼后的編碼數(shù)據(jù),通過一定的封裝格式混合起來形成對(duì)該幀圖像的圖像延時(shí)檢測(cè)的數(shù)據(jù)包,進(jìn)行傳輸或存儲(chǔ)。該封裝可以是現(xiàn)有的圖像編碼數(shù)據(jù)、ID數(shù)據(jù)、時(shí)間數(shù)據(jù)等的封裝方式,各種已有的封裝格式都允許在其標(biāo)準(zhǔn)框架之下的私有數(shù)據(jù)的封裝。
在步驟S102:根據(jù)解析所述數(shù)據(jù)包獲得的所述圖像幀的采集所述圖像幀的基準(zhǔn)的全局時(shí)間T以及所述圖像幀當(dāng)前的顯示時(shí)間Tdisplay,獲得檢測(cè)到的 所述圖像幀的圖像延時(shí)Tdelay。
在一個(gè)實(shí)施方式中,根據(jù)解析后的該圖像幀對(duì)應(yīng)的該數(shù)據(jù)包中的采集時(shí)間T與當(dāng)前該圖像處理裝置2在顯示該圖像幀的時(shí)間Tdisplay進(jìn)行計(jì)算,獲得檢測(cè)到的該圖像幀的圖像延時(shí)Tdelay=Tdisplay-(Td+(tc-td))。
具體如:圖像處理裝置2可以使用能預(yù)覽圖像獲取裝置1的軟件,如媒體播放軟件等,預(yù)覽圖像獲取裝置1的視頻圖像。因而,當(dāng)圖像處理裝置2接收到來自圖像獲取裝置1的媒體流數(shù)據(jù)(如圖2所示數(shù)據(jù)傳輸、接收數(shù)據(jù)),并進(jìn)行解析、解碼、顯示的同時(shí),解析帶有檢測(cè)延時(shí)的數(shù)據(jù)包。
其中,在接收到傳輸來的數(shù)據(jù)時(shí),還可能存在數(shù)據(jù)緩沖后才進(jìn)行解析、解碼,解碼完后準(zhǔn)備顯示時(shí)還可能存在顯示緩沖。
而在顯示完一幀圖像后,如果該幀圖像帶有對(duì)應(yīng)的延時(shí)檢測(cè)的該數(shù)據(jù)包,則從該數(shù)據(jù)包中解析出該幀數(shù)據(jù)圖像進(jìn)行采集時(shí)的該采集圖像的全局時(shí)間Td+(tc-td)即基準(zhǔn)的全局時(shí)間T,記錄此時(shí)顯示對(duì)應(yīng)的圖像幀時(shí)的圖像處理裝置2的全局時(shí)間Tdisplay。
因而,所述圖像處理裝置2記錄所述圖像幀在圖像處理裝置2上顯示的時(shí)間Tdisplay,顯示所述圖像幀的時(shí)間Tdisplay與所述圖像幀的采集時(shí)間T的差值為所述檢測(cè)到的對(duì)應(yīng)該圖像幀的圖像延時(shí)。該幀圖像的延時(shí)Tdelay為:Tdelay=Tdisplay-(Td+(tc-td))。
并且,還可以由該圖像處理裝置2將該幀圖像的圖像延時(shí)的值Tdelay通過該媒體播放軟件、或其他程序軟件反饋以統(tǒng)計(jì)或顯示。具體地,將該圖像處理裝置2可以通過某些軟件程序?qū)⒃撗訒r(shí)的值嵌入或傳送給其他程序軟件,進(jìn)行統(tǒng)計(jì)、存儲(chǔ)、傳送(如傳給相應(yīng)的圖像獲取裝置1)或者顯示延時(shí)等。 例如圖2所示,一邊顯示圖像還同時(shí)顯示計(jì)算出的該圖像的延時(shí)Tdelay。
在步驟S103:重復(fù)步驟S101和步驟S102的顯示圖像幀并根據(jù)圖像幀的數(shù)據(jù)包的解析,檢測(cè)得到圖像幀的圖像延時(shí),并對(duì)一個(gè)或多個(gè)圖像幀的圖像延時(shí)進(jìn)行檢測(cè)后,統(tǒng)計(jì)分析得到平均圖像延時(shí)的檢測(cè)結(jié)果。
其中,可以對(duì)多個(gè)圖像幀重復(fù)進(jìn)行前面的步驟,將得到的多個(gè)圖像幀的圖像延時(shí)的平均值作為所述圖像獲取裝置的圖像延時(shí)。
這樣既通過設(shè)定的延時(shí)檢測(cè)數(shù)據(jù)來標(biāo)識(shí)延時(shí)檢測(cè),能夠在播放顯示端即圖像處理裝置2一端執(zhí)行自動(dòng)的延時(shí)檢測(cè),同時(shí),采集時(shí)間T的依據(jù)是發(fā)出檢測(cè)和圖像采集要求的圖像處理裝置2的時(shí)間,則不會(huì)受該圖像處理裝置2本身的刷屏的影響,使得所得到的圖像延時(shí)更加準(zhǔn)確。
下面結(jié)合圖1-2、2描述一個(gè)本發(fā)明的方案的具體應(yīng)用實(shí)例。此處,圖像獲取裝置1是攝像機(jī)3,其中該攝像機(jī)可以是網(wǎng)絡(luò)攝像機(jī),也可以是攝像機(jī)和編碼器的組合,圖像處理裝置2是客戶端電腦4。二者通過通信網(wǎng)絡(luò)相連。該應(yīng)用實(shí)例描述了從開始延時(shí)檢測(cè)到顯示圖像,并計(jì)算延時(shí)的過程。
步驟S1:其為握手的過程,即客戶端電腦4在其上的時(shí)刻Td發(fā)送延時(shí)檢測(cè)消息至攝像機(jī)3,延時(shí)檢測(cè)消息中包括時(shí)刻Td。進(jìn)一步,還包括此次檢測(cè)的ID,用以唯一標(biāo)識(shí)該次延時(shí)檢測(cè)、客戶端的通信地址。攝像機(jī)3在其上的時(shí)刻tD接收到客戶端發(fā)送的延時(shí)檢測(cè)消息,并且要記錄客戶端發(fā)起延時(shí)檢測(cè)時(shí)的時(shí)間TD、甚至該次延時(shí)檢測(cè)的ID、客戶端的通信地址。
步驟S2:攝像機(jī)3進(jìn)行采集圖像幀,并且記錄其上的開始采集圖像的時(shí)間tc,根據(jù)記錄的客戶端的通信地址,將圖像采集通知發(fā)送給客戶端電腦4,客戶端電腦4在其上的時(shí)刻Tc接收到圖像采集通知;
步驟S3:攝像機(jī)3進(jìn)行圖像采集,并且將延時(shí)檢測(cè)數(shù)據(jù)如圖像采集時(shí)間T等數(shù)據(jù)與采集的相應(yīng)的圖像幀進(jìn)行編碼,延時(shí)檢測(cè)數(shù)據(jù)中還可以包括客戶端的通信地址,延時(shí)檢測(cè)ID;
步驟S4:編碼后的圖像幀從攝像機(jī)3傳輸至客戶端電腦4;
步驟S5和步驟S6分別為客戶端電腦4上的接收?qǐng)D像幀,解析解碼圖像幀,得到其中的采集時(shí)間T;其中采集時(shí)間T為單向延時(shí)Tlatency與TD+(tc-tD)這一時(shí)間之和,其中Tlatency=((Tc-TD)-(tc-tD))/2。但是在本發(fā)明中,Tlatency的值很小,可以忽略不計(jì),因此可以采集時(shí)間T為TD+(tc-tD),這樣,采集時(shí)間T不會(huì)受客戶端電腦4的刷屏的影響,使得所得到的攝像機(jī)3的圖像延時(shí)更加準(zhǔn)確。
并且,步驟S5、S6在接收數(shù)據(jù)到解析解碼數(shù)據(jù)中、解碼解析數(shù)據(jù)到顯示圖像中,有一定的緩沖,如數(shù)據(jù)緩沖S51、顯示緩沖S61等。
步驟S7:客戶端電腦4上顯示出解碼后的圖像幀,并且記錄其上的顯示時(shí)刻Tdisplay,并通過Tdisplay與采集時(shí)間T的時(shí)間差就是攝像機(jī)的延時(shí)。
根據(jù)本發(fā)明,將延時(shí)檢測(cè)數(shù)據(jù)設(shè)置在采集的圖像幀中,并且采集圖像幀的時(shí)間是基于圖像處理裝置的時(shí)間的,這樣既無需人工來操作如通過截屏等方式獲取采集圖像的時(shí)間,也不會(huì)使得采集時(shí)間受圖像處理裝置頻率刷新的影響,本發(fā)明所提供的延時(shí)檢測(cè)方法和系統(tǒng)不存在誤差。
同樣的,在另外的實(shí)施例中,攝像機(jī)對(duì)多個(gè)圖像幀重復(fù)進(jìn)行上述步驟,將得到的多個(gè)圖像幀的圖像延時(shí)的平均值作為攝像機(jī)的圖像延時(shí),這樣可以使得攝像機(jī)的延時(shí)更為準(zhǔn)確。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋 本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。