基于硬件編碼器的多通道視頻同步系統(tǒng)及其同步方法
【技術(shù)領域】
[0001]本發(fā)明涉及視頻同步處理技術(shù)領域,更具體地,涉及一種基于硬件編碼器的多通道視頻同步系統(tǒng)及其同步方法。
【背景技術(shù)】
[0002]在多攝像機機位的節(jié)目制作過程中,首先需要對多臺攝像機輸出的視頻信號進行采集,同時也需要對視頻信號的時間碼(Time Code, TC)進行采集,并將視頻信號和時間碼一并寫入計算機中,形成供后期編輯使用的節(jié)目素材。在節(jié)目的后期編輯中,來自同一場景的多個機位的素材,需要在不同的視頻軌上保持原始的相對時間關(guān)系,因此,需要采用一定的同步技術(shù),比如選取某個特定的視頻幀作為時間參考,或者在采集視頻信號的同時,采集同步的時間碼等?,F(xiàn)有的多通道視頻同步系統(tǒng),需要編寫復雜的視頻同步算法,提高了編碼器軟件設計難度,增加了編碼器硬件資源(內(nèi)存、CPU負載)的開銷,數(shù)據(jù)結(jié)構(gòu)復雜,不易擴展,應用上不靈活,使整個系統(tǒng)成本增高,維護性不好。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明的主要目的在于提供一種基于硬件編碼器的多通道視頻同步系統(tǒng)及其同步方法,能夠解決現(xiàn)有技術(shù)中存在的成本高、視頻同步算法復雜、可維護性不好的問題。
[0004]為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
[0005]一方面,提供了一種基于硬件編碼器的多通道視頻同步系統(tǒng),包括:N臺攝像機、N臺硬件編碼器、交換機、控制服務器和顯示器,其中,攝像機,與硬件編碼器一一對應,用于拍攝現(xiàn)場每個區(qū)域的視頻畫面,將拍攝得到的圖像數(shù)據(jù)輸出給與之對應的硬件編碼器;硬件編碼器,用于向每一幀經(jīng)過編碼的圖像數(shù)據(jù)前加入一個頭信息,并通過交換機將帶有頭信息的圖像數(shù)據(jù)推送給控制服務器;其中,頭信息為12字節(jié)的幀信息,包括:是否是關(guān)鍵幀、時間戳和該幀圖像的數(shù)據(jù)長度;控制服務器,通過交換機與每臺硬件編碼器連接,用于接收各路帶有頭信息的圖像數(shù)據(jù),通過各幀頭信息對各路視頻進行同步處理;顯示器,與控制服務器連接,用于顯示同步處理后的視頻畫面。
[0006]優(yōu)選地,硬件編碼器包括:圖像數(shù)據(jù)編碼模塊和控制模塊,其中,圖像數(shù)據(jù)編碼模塊,用于將接收的圖像數(shù)據(jù)進行編碼,在編碼過程中生成每幀圖像的頭信息;控制模塊,用于將每幀圖像的頭信息先發(fā)送給控制服務器,然后將該幀圖像數(shù)據(jù)再發(fā)送給控制服務器。
[0007]優(yōu)選地,控制服務器包括:數(shù)據(jù)分離模塊、判斷模塊和數(shù)據(jù)處理模塊,其中,數(shù)據(jù)分離模塊,用于將接收到的帶有頭信息的圖像數(shù)據(jù),根據(jù)該幀圖像的數(shù)據(jù)長度將頭信息和圖像數(shù)據(jù)分離;判斷模塊,用于基于時間戳判斷各路圖像數(shù)據(jù)的丟幀情況;數(shù)據(jù)處理模塊,用于當該幀圖像數(shù)據(jù)丟失時利用離該幀最近的關(guān)鍵幀進行補幀處理,使各路視頻畫面同步。
[0008]優(yōu)選地,控制模塊包括:緩存單元和圖像數(shù)據(jù)發(fā)送單元,其中,緩存單元,用于存儲多幀帶有頭信息的圖像數(shù)據(jù);圖像數(shù)據(jù)發(fā)送單元,用于將帶有頭信息的圖像數(shù)據(jù)發(fā)送給控制服務器。
[0009]優(yōu)選地,控制模塊還包括處理單元,用于將每幀圖像的頭信息先發(fā)送給緩存單元,然后將該幀圖像數(shù)據(jù)再發(fā)送給緩存單元。
[0010]另一方面,還提供了一種基于硬件編碼器的多通道視頻同步方法,該方法包括:N臺攝像機分別拍攝現(xiàn)場每個區(qū)域的視頻畫面,將拍攝得到的圖像輸出給與之對應的硬件編碼器;硬件編碼器向每一幀經(jīng)過編碼的圖像數(shù)據(jù)前加入一個頭信息,并通過交換機將帶有頭信息的圖像數(shù)據(jù)推送給控制服務器;其中,頭信息為12字節(jié)的幀信息,包括:是否是關(guān)鍵幀、時間戳和該幀圖像的數(shù)據(jù)長度;控制服務器接收各路帶有頭信息的圖像數(shù)據(jù),通過各幀頭信息對各路視頻進行同步處理;將同步處理后的視頻畫面顯示在顯示器上。
[0011]優(yōu)選地,硬件編碼器向每一幀經(jīng)過編碼的所述圖像數(shù)據(jù)前加入一個頭信息,并通過交換機將帶有頭信息的圖像數(shù)據(jù)推送給控制服務器,包括:將接收的圖像數(shù)據(jù)進行編碼,在編碼過程中生成每幀圖像的頭信息;將每幀圖像的頭信息先發(fā)送給控制服務器,然后將該幀圖像數(shù)據(jù)再發(fā)送給控制服務器。
[0012]優(yōu)選地,控制服務器接收各路帶有頭信息的圖像數(shù)據(jù),通過各幀頭信息對各路視頻進行同步處理,包括:將接收到的帶有頭信息的圖像數(shù)據(jù),根據(jù)該幀圖像的數(shù)據(jù)長度將頭信息和圖像數(shù)據(jù)分離;基于時間戳判斷各路圖像數(shù)據(jù)的丟幀情況;當該幀圖像數(shù)據(jù)丟失時利用離該幀最近的關(guān)鍵幀進行補幀處理,使各路視頻畫面同步。
[0013]優(yōu)選地,在將每幀圖像的頭信息先發(fā)送給控制服務器,然后將該幀圖像數(shù)據(jù)再發(fā)送給控制服務器之前,該方法還包括:存儲多幀帶有頭信息的圖像數(shù)據(jù);將帶有頭信息的圖像數(shù)據(jù)發(fā)送給控制服務器。
[0014]優(yōu)選地,在存儲多幀帶有頭信息的圖像數(shù)據(jù)之前,該方法還包括:將每幀圖像的頭信息先發(fā)送給緩存單元,然后將該幀圖像數(shù)據(jù)再發(fā)送給緩存單元。
[0015]本發(fā)明的技術(shù)效果:
[0016]1.由于本發(fā)明的系統(tǒng)中使用硬件編碼器向每一幀經(jīng)過編碼的圖像數(shù)據(jù)前加入了一個頭信息,控制服務器通過各幀頭信息對各路視頻進行同步處理,使整個系統(tǒng)不需要編寫復雜的視頻同步算法,數(shù)據(jù)結(jié)構(gòu)簡單,易擴展,降低了編碼器軟件設計難度;
[0017]2.整個系統(tǒng)由硬件編碼器完成了每幀圖像數(shù)據(jù)頭信息的加入,節(jié)省了多臺計算機,因此,系統(tǒng)結(jié)構(gòu)簡單,減少了編碼器硬件資源(內(nèi)存、CPU負載)開銷,成本低,可維護性好;
[0018]3.系統(tǒng)中硬件編碼器中的緩存模塊事先存儲了多幀帶有頭信息的圖像數(shù)據(jù),提高了系統(tǒng)的穩(wěn)定性,使應用上更加靈活,更加便利。
【附圖說明】
[0019]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0020]圖1示出了根據(jù)本發(fā)明實施例一的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;
[0021]圖2示出了根據(jù)本發(fā)明實施例一的基于硬件編碼器的多通道視頻同步系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)示意圖;
[0022]圖3示出了根據(jù)本發(fā)明實施例二的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;
[0023]圖4示出了根據(jù)本發(fā)明實施例三的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;
[0024]圖5示出了根據(jù)本發(fā)明實施例四的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;
[0025]圖6示出了根據(jù)本發(fā)明實施例五的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;
[0026]圖7示出了根據(jù)本發(fā)明實施例六的基于硬件編碼器的多通道視頻同步方法的流程圖。
【具體實施方式】
[0027]下面將參考附圖并結(jié)合實施例,來詳細說明本發(fā)明。
[0028]實施例一
[0029]圖1示出了根據(jù)本發(fā)明實施例一的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出了根據(jù)本發(fā)明實施例一的基于硬件編碼器的多通道視頻同步系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)示意圖,如圖1、2所示,該系統(tǒng)包括:N臺攝像機10、N臺硬件編碼器20、交換機30、控制服務器40和顯示器50,其中,
[0030]攝像機10,與硬件編碼器20 —一對應,用于拍攝現(xiàn)場每個區(qū)域的視頻畫面,將拍攝得到的圖像數(shù)據(jù)輸出給與之對應的硬件編碼器20 ;
[0031]硬件編碼器20,用于向每一幀經(jīng)過編碼的圖像數(shù)據(jù)前加入一個頭信息,并通過交換機30將帶有頭信息的圖像數(shù)據(jù)推送給控制服務器40 ;
[0032]其中,頭信息為12字節(jié)的幀信息,包括:是否是關(guān)鍵幀、時間戳和該幀圖像的數(shù)據(jù)長度;其中,是否是關(guān)鍵幀可以用O或I來表示,例如,是關(guān)鍵幀,用I來表示,不是關(guān)鍵幀用O來表示;時間戳可以用32位非負整數(shù)來表示。
[0033]控制服務器40,通過交換機30與每臺硬件編碼器20連接,用于接收各路帶有頭信息的圖像數(shù)據(jù),通過各幀頭信息對各路視頻進行同步處理;
[0034]顯示器50,與控制服務器40連接,用于顯示同步處理后的視頻畫面。
[0035]由于本發(fā)明的實施例系統(tǒng)中使用硬件編碼器向每一幀經(jīng)過編碼的圖像數(shù)據(jù)前加入了一個頭信息,控制服務器通過各幀頭信息對各路視頻進行同步處理,使整個系統(tǒng)不需要編寫復雜的視頻同步算法,數(shù)據(jù)結(jié)構(gòu)簡單,易擴展,降低了編碼器軟件設計難度。
[0036]實施例二
[0037]圖3示出了根據(jù)本發(fā)明實施例二的一種基于硬件編碼器的錄制系統(tǒng)的結(jié)構(gòu)示意圖;如圖3所示,硬件編碼器20包括:圖像數(shù)據(jù)編碼模塊202和控制模塊204,其中,
[0038]圖像數(shù)據(jù)編碼模塊202,用于將接收的圖像數(shù)據(jù)進行編碼,在編碼過程中生成每幀圖像的頭信息;
[0039]控制模塊204,用于將每幀圖像的頭信息先發(fā)送給控制服務器40,然后將該幀圖像數(shù)據(jù)再發(fā)送給控制服務器40。
[0040]本發(fā)明的實施例中整個系統(tǒng)由硬件編碼器完成了每幀圖像數(shù)據(jù)頭信息的加入,節(jié)省了多臺計算機,因此,系統(tǒng)結(jié)構(gòu)簡單,減少了編碼器硬件資源(內(nèi)存、CPU負載)開銷,成本低,可維護性好。
[0041]實施例三
[0042]圖4示出了根據(jù)本發(fā)明實施例三的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;如圖4所示,控制服務器40包括:數(shù)據(jù)分離模塊402、判斷模塊404和數(shù)據(jù)處理模塊406,其中,
[0043]數(shù)據(jù)分離模塊402,用于將接收到的帶有頭信息的圖像數(shù)據(jù),根據(jù)該幀圖像的數(shù)據(jù)長度將頭信息和圖像數(shù)據(jù)分離;
[0044]判斷模塊404,用于基于時間戳判斷各路圖像數(shù)據(jù)的丟幀情況;
[0045]數(shù)據(jù)處理模塊406,用于當該幀圖像數(shù)據(jù)丟失時利用離該幀最近的關(guān)鍵幀進行補幀處理,使各路視頻畫面同步。
[0046]實施例四
[0047]圖5示出了根據(jù)本發(fā)明實施例四的基于硬件編碼器的多通道視頻同步系統(tǒng)的結(jié)構(gòu)示意圖;如圖5所示,控制模塊204包括:緩存單元2042和圖像數(shù)據(jù)發(fā)送單元2044,其中,
[0048]緩存單元2042,用于存儲多幀帶有頭信息的圖像數(shù)據(jù);
[0049]圖像