視頻信號的顯示方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻處理領(lǐng)域,特別是涉及一種視頻信號的顯示方法,以及一種視頻信號的顯示系統(tǒng)。
【背景技術(shù)】
[0002]目前,拼接墻系統(tǒng)已經(jīng)應用到包括交通、電力、安保等多個系統(tǒng)領(lǐng)域,通過將各類應用軟件及監(jiān)控視頻畫面投放到拼接墻上,大大方便了人們對各類數(shù)據(jù)的監(jiān)控,為實現(xiàn)數(shù)據(jù)分析和資源的快速調(diào)配提供了可能。
[0003]目前,拼接墻顯示處理中,多采用分布式處理的方式,包括主服務器以及顯示節(jié)點機,顯示節(jié)點機通過軟件或硬件的方式將視頻壓縮數(shù)據(jù)解碼后輸出到顯示單元顯示,目前常見的多媒體壓縮技術(shù)包括MPEG2、H.264等。以目前流行的H.264壓縮標準為例,該標準采用的是預測編碼技術(shù)將視頻流進行壓縮,解碼器在收到H.264碼流后對其中的每一幀視頻畫面進行解碼顯示。H.264碼流的幀類型分為三種,分別是I幀、P幀以及B幀,其中I幀數(shù)據(jù)可以直接在解碼器中解碼顯示,而P幀數(shù)據(jù)要依賴前面的I幀數(shù)據(jù)才能正常解碼,B幀數(shù)據(jù)要依賴碼流中的前后幀數(shù)據(jù)才能正常解碼。對于實時性要求較高的IP視頻來說,其碼流大多由I幀和P幀組成,如一段H.264視頻碼流其每一幀的幀類型可能如下:IPPPPPPPPPPPPIPPPPPPPPIPPPPPPP。其中第一幀必定為I幀,而后面可能會是數(shù)個P幀數(shù)據(jù),然后再是一個I幀和多個P幀,以此重復。
[0004]在拼接墻上往往需要開多路視頻窗口同時顯示,其中每一路視頻有可能會來自不同的信號源,但也有可能其中的兩路或多路視頻來自同一個信號源。對于拼接墻上相同信號源的兩個視頻窗口,出于減少網(wǎng)絡(luò)負載等方面的考慮在拼接墻處理器內(nèi)部通常只會向信號源獲取一份碼流,然后再將這份碼流在拼接墻上的多個窗口顯示。
[0005]對于分布式處理器來說,其每個顯示單元可能對應著不同的顯示節(jié)點,當在拼接墻上打開某個信號源的第一個視頻窗口時視頻畫面正常來說都會很快的解碼顯示,因為從信號源獲取到的第一幀都會是I幀;然而如果在其他顯示單元再打開一個相同信號源的視頻窗口而該顯示單元上又沒有所述信號源的視頻窗口,則新開的窗口其對應的顯示節(jié)點就要接收信號源的碼流并解碼顯示。由于不能保證新開窗口時從信號源獲取到的碼流剛好就是I幀,這時顯示節(jié)點就不能迅速地對獲取到的幀數(shù)據(jù)進行解碼顯示,要等到接收到碼流中的下一個I幀才能開始顯示。從用戶的操作感受來看,這會直接導致開每一個信號源的第一個窗口都會很快顯示,而在不同的節(jié)點機上再開視頻窗口時會較慢顯示。其快慢程度取決于I幀間隔。
[0006]例如,拼接墻上有兩個顯示窗口,A、B窗口都來自同一個信號源,主服務器只從信號源獲取一份碼流并根據(jù)開窗順序先后分發(fā)到兩個窗口對應的節(jié)點機上解碼顯示。
[0007]若先打開窗口 A,則窗口 A作為該信號源的第一個窗口將會很快地解碼顯示;保持窗口 A處于開窗顯不狀態(tài),并打開同一個信號源的另外一個窗口 B,此時因為窗口 B所在顯示單元對應的顯示節(jié)點將從主服務器上獲取到該信號源的碼流,但由于不能保證窗口 B打開時節(jié)點機接收到的第一幀圖像是I幀,因此窗口 B將一直等到碼流中的下一個I幀到來才會開始正常顯示,因此開窗瞬間由于接收的是非I幀數(shù)據(jù)而導致黑屏問題,并且開窗顯示速度慢,顯示效果較差。
[0008]當前有技術(shù)方案提出通過信號源提供的接口在新開窗口時強制信號源輸出I幀來保證新開窗口的快速顯示,該方法需要設(shè)備提供額外的接口,并且當信號源沒有提供相應的接口時該方案失效。
【發(fā)明內(nèi)容】
[0009]基于此,本發(fā)明提供一種視頻信號的顯示方法和系統(tǒng),能使新打開的視頻窗口立即顯示,不會出現(xiàn)黑屏現(xiàn)象,開窗顯示速度快,顯示效果好。
[0010]一種視頻信號的顯示方法,包括如下步驟:
[0011]向服務器發(fā)送對待顯示信號源的顯示請求;
[0012]接收所述服務器根據(jù)所述顯示請求發(fā)送的待顯示信號源的壓縮數(shù)據(jù),檢測所述壓縮數(shù)據(jù)的幀類型,同時解碼所述壓縮數(shù)據(jù)得到第一解碼數(shù)據(jù);
[0013]接收顯示節(jié)點機發(fā)送的所述待顯示信號源的第二解碼數(shù)據(jù),在待顯示視頻窗口中顯示所述第二解碼數(shù)據(jù);其中,所述顯示節(jié)點機為與當前顯示所述待顯示信號源的視頻窗口覆蓋的顯示單元對應的顯示節(jié)點機;
[0014]當檢測到所述壓縮數(shù)據(jù)的幀類型為預設(shè)的關(guān)鍵幀時,停止接收所述第二解碼數(shù)據(jù),并在所述待顯示視頻窗口中切換顯示所述第一解碼數(shù)據(jù)。
[0015]一種視頻信號的顯示系統(tǒng),包括:
[0016]顯示請求發(fā)送模塊,用于向服務器發(fā)送對待顯示信號源的顯示請求;
[0017]接收解碼模塊,用于接收所述服務器根據(jù)所述顯示請求發(fā)送的待顯示信號源的壓縮數(shù)據(jù),檢測所述壓縮數(shù)據(jù)的幀類型,同時解碼所述壓縮數(shù)據(jù)得到第一解碼數(shù)據(jù);
[0018]接收顯示模塊,用于接收顯示節(jié)點機發(fā)送的所述待顯示信號源的第二解碼數(shù)據(jù),在待顯示視頻窗口中顯示所述第二解碼數(shù)據(jù);其中,所述顯示節(jié)點機為與當前顯示所述待顯示信號源的視頻窗口覆蓋的顯示單元對應的顯示節(jié)點機;
[0019]切換顯示模塊,用于當檢測到所述壓縮數(shù)據(jù)的幀類型為預設(shè)的關(guān)鍵幀時,停止接收所述第二解碼數(shù)據(jù),并在所述待顯示視頻窗口中切換顯示所述第一解碼數(shù)據(jù)。
[0020]上述視頻信號的顯示方法和系統(tǒng),當在拼接墻上打開某一路信號源的非首個視頻窗口時,由于當前已有其他顯示節(jié)點機正在顯示該信號源,因此可以接收兩份數(shù)據(jù),一份是由服務器發(fā)送的該信號源的壓縮數(shù)據(jù),一份是由當前顯示該信號源的其他顯示節(jié)點機轉(zhuǎn)發(fā)的解壓數(shù)據(jù),因此可以暫時利用其他顯示節(jié)點機轉(zhuǎn)發(fā)的解壓數(shù)據(jù)直接在視頻窗口中顯示;而從服務器接收的該信號源的壓縮數(shù)據(jù)則進行數(shù)據(jù)幀檢測及數(shù)據(jù)解碼,在檢測得到關(guān)鍵幀后,則可以停止接收其他顯示節(jié)點機的轉(zhuǎn)發(fā)數(shù)據(jù),利用服務器發(fā)送的壓縮數(shù)據(jù)進行解碼顯示;本實施例的方法,在打開視頻窗口后,先利用其他顯示節(jié)點機的解壓數(shù)據(jù)進行顯示,在收到服務器的關(guān)鍵幀能夠正常解碼后,再利用服務器的數(shù)據(jù)顯示,因此避免了開窗瞬間因為數(shù)據(jù)非關(guān)鍵幀不能解碼的問題而導致黑屏、開窗顯示速度慢和顯示效果差等問題。
【附圖說明】
[0021]圖1為本發(fā)明視頻信號的顯示方法在實施例一中的應用場景圖;
[0022]圖2為本發(fā)明視頻信號的顯示方法在實施例一中的流程示意圖;
[0023]圖3為本發(fā)明視頻信號的顯示方法在實施例一中拼接墻的示意圖;
[0024]圖4為本發(fā)明視頻信號的顯示方法在實施例二中拼接墻的示意圖;
[0025]圖5為本發(fā)明視頻信號的顯示系統(tǒng)在實施例三中的結(jié)構(gòu)示意圖。
【具體實施方式】
[0026]實施例一、
[0027]如圖1所示,是本發(fā)明視頻信號的顯示方法的應用場景圖,該應用場景為拼接墻分布式處理系統(tǒng),包括服務器、顯示節(jié)點機和拼接墻,拼接墻包括多個顯示單元,服務器與顯示節(jié)點機通過網(wǎng)絡(luò)連接,一個顯示節(jié)點機連接一個或多個顯示單元。服務器主要負責系統(tǒng)資源的管理和數(shù)據(jù)的分發(fā),而顯示節(jié)點機主要負責信號的解碼,一個顯示節(jié)點可以提供一個或多個顯示單元的信號輸出,即顯示節(jié)點機將解碼數(shù)據(jù)通過顯示單元進行顯示,當拼接墻規(guī)模增大時只需增加顯示節(jié)點即可滿足系統(tǒng)顯示要求。
[0028]如圖2所示,是本發(fā)明視頻信號的顯示方法的流程示意圖,本實施例以該顯示方法應用于上述的拼接墻分布式處理系統(tǒng)中進行說明,包括如下步驟:
[0029]S21、向服務器發(fā)送對待顯示信號源的顯示請求;
[0030]S21、接收所述服務器根據(jù)所述顯示請求發(fā)送的待顯示信號源的壓縮數(shù)據(jù),檢測所述壓縮