多路視頻混合解碼輸出方法及裝置的製作方法
2023-06-09 23:32:56 2
專利名稱:多路視頻混合解碼輸出方法及裝置的製作方法
技術領域:
本發明屬於數字視頻處理技術領域,尤其涉及ー種多路視頻混合解碼輸出方法及裝置。
背景技術:
隨著視頻監控的數位化,網絡化時代的到來,越來越多的模擬監控系統被數 字網絡監控系統所取代,同時監控點的數量越來越多並且越來越密,這不僅要求在監控前端部署網絡視頻伺服器,而且要求在大型視頻監控中心或指揮中心部署網絡視頻解碼器,所述網絡視頻解碼器能夠通過自身的網絡接ロ從網絡上接收一路或多路的數字視頻碼流,將這些數字視頻碼流進行解碼,並且轉換成視頻模擬信號,然後輸出給監視器或電視牆顯示。目前,在視頻監控領域中已經有了各式各樣的網絡視頻解碼器,對於能夠實現同時解碼多路視頻數據的網絡視頻解碼器,通常採用多塊單板集成的方法,首先採用ー個普通性能的中央處理器作為核心器件製作單板,實現單路視頻解碼,然後按所需求的解碼路數,將多塊單板組合成ー個多路視頻解碼器,但是這種視頻解碼其支持的圖像解析度較低,而且隨著監控路數増加,硬體尺寸會不斷増大,成本不斷提高。此外,也可以採用高性能晶片來實現多路視頻同時解碼和輸出,例如德州儀器公司的DSP6000系列及以上晶片,這也是當前最流行的多路視頻解碼、輸出解決方案,這種解決方案成本過高,而且隨著監控規模増加,投入的費用增長也更快,不適合於經費、預算緊張的中小用戶。
發明內容
鑑於上述問題,本發明提供ー種多路視頻混合解碼輸出方法,g在解決現有的多路視頻解碼輸出方案中,對視頻解碼晶片的性能要求過高、需要投入大量成本的技術問題。本發明是這樣實現的,ー種多路視頻混合解碼輸出方法,所述方法包括下述步驟接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存;對原始視頻數據進行復接,生成ー輸出幀;從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀;向所述各個視頻數據幀中插入同步信息井分時輸出。本發明的另一目的在於提供ー種多路視頻混合解碼輸出裝置,包括數據成幀単元,用於接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;解碼緩存単元,用於對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存;
數據復接単元,用於對至少兩路原始視頻數據進行復接,生成一輸出幀;幀拆分単元,用於從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀;幀輸出単元,用於向所述各個視頻數據幀中插入同步信息井分時輸出。。在本發明實施例中,首先將多路視頻編碼數據復接成ー個視頻幀,能夠完成一路視頻解碼的普通性能晶片即可對所述視頻幀進行解碼,還原成與原多路視頻編碼數據路數相同的原始視頻數據並緩存,再對所述多路原始視頻數據復接生成輸出幀,從所述輸出幀中提取出各路視頻數據,相應組成多路視頻數據幀,在每個視頻數據幀中插入同步信息並按照時間順序輸出,此時輸出的視頻數據幀轉換成模擬信號後即可在監視器或其他顯示設備上輸出,因此可以看出,本發明技術方案中,由於將多路視頻編碼數據復接成一個視頻幀,一片普通性能的解碼晶片即可完成對所有的頻編碼數據進行解碼,得到各路原始視頻數據,再復接、拆分、插入同步信息,即可得到符合格式要求的各路視頻數據幀,完成了對多路視頻數據解碼輸出,同時也降低了投入成本。
圖I是本發明第一實施例提供的ー種多路視頻混合解碼輸出方法的流程圖;圖2是本發明第二實施例提供的ー種多路視頻混合解碼輸出方法的流程圖;圖3是本發明第二實施例中輸出幀的前1250行的示意圖;圖4是本發明第二實施例中輸出幀的後625行的示意圖;圖5是本發明第二實施例中輸出幀的行結構示意圖;圖6是本發明第二實施例中輸出幀除去填充行後的幀結構示意圖;圖7是本發明第三實施例提供的ー種多路視頻混合解碼輸出裝置的結構方框圖;圖8是本發明第四實施例提供的ー種多路視頻混合解碼輸出裝置的結構方框圖;圖9是本發明第五實施例提供的ー種多路視頻混合解碼輸出系統的結構圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進ー步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。實施例一:圖I示出了本發明第一實施例提供的ー種多路視頻混合解碼輸出方法的流程,為了便於說明僅示出了與本發明實施例相關的部分。本實例提供的多路視頻混合解碼輸出方法包括步驟S101、接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀。本步驟中所述視頻編碼數據來自於網絡視頻伺服器,遠端的多路攝像頭採集到多路視頻數據後,網絡視頻伺服器對所述視頻數據進行壓縮編碼,得到視頻編碼數據,再通過網絡進行傳輸或交換,本實施例通過網絡接ロ從網絡中獲取到所述多路視頻編碼數據,由於單個普通性能晶片無法對多路視頻編碼數據同時解碼,因此在本步驟中,將所述多路視頻編碼數據復接成完整的視頻幀。步驟S102、對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存。由於步驟SlOl中,已經將所述多路視頻編碼數據復接成完整的視頻幀,本步驟中將所述視頻幀視為一路數據,通過單個普通性能晶片即可解析所述一路數據,因此本步驟中可以將所述視頻幀解析成與原視頻編碼數據相同路數的原始視頻數據,將所述多路原始視頻數據寫入存儲器中進行緩存,以便可以取出各路原始視頻數據。步驟S103、對所述原始視頻數據進行復接,生成ー輸出幀。從緩存存儲器中讀取出各路原始視頻數據,並復接成一輸出幀,具體的復接方法在本步驟中不作限定,只要能夠滿足幀格式要求,後續能夠在輸出幀中的對應位置找出對應的原始視頻數據即可。
步驟S104、從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀。本實施例中,事先已經知曉輸出幀的組幀方法,此處拆分所述輸出幀,從輸出幀中獲取出各路視頻數據,並將同路的視頻數據組成ー視頻數據幀,步驟S105、向所述各個視頻數據幀中插入同步信息井分時輸出。再根據格式要求,在每路視頻數據幀中插入對應的同步信息,使之符合輸出要求,由於幀輸出接ロ只有ー個,因此本步驟中需要將各路插入同步信息的視頻數據幀按照順序分時輸出,後續通過數模轉換成模擬信號,即可在對應的監控器中顯示出,最終實現實時視頻監控。本發明實施例通過將多路視頻編碼數據復接成ー視頻幀,將所述視頻幀按視為一路視頻數據進行解碼,得到各路原始視頻數據,再將所述各路原始視頻數據復接成ー輸出幀,然後拆分所述輸出幀得到各路視頻數據幀,在視頻數據幀中插入同步信息即可滿足輸出要求井分時輸出。因此本發明實施例通過ー普通性能的解碼晶片即可實現多路視頻解碼,降低了生產成本。實施例ニ :圖2示出了本發明第二實施例提供的ー種多路視頻混合解碼輸出方法的流程,為了便於說明僅示出了與本發明實施例相關的部分。本實例提供的多路視頻混合解碼輸出方法包括步驟S201、接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;步驟S202、對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存。上述步驟S201-S202與實施例一中步驟S101-S102相同,這裡所解碼出的各路原始視頻數據的格式要求,包括RGB格式或YUV格式,優選為YUV格式。步驟S203、對所述原始視頻數據按照幀格式要求進行復接,包括亮度分量行、色差分量行和填充行,生成ー傳輸巾貞;步驟S204、將所述輸出幀轉換成符合格式要求的輸出幀。所述輸出幀的格式要求應包含需要復接的多路原始視頻數據,輸出幀結構的大小,即列數和行數,所述輸出幀結構的大小應根據實際的視頻路數和視頻解析度確定。為了使得後續能夠識別出輸出幀中具體的各路視頻數據的數據內容,如果所述生成的輸出幀不是預定格式要求,此時需要將其按照格式要求進行轉換。比如若預定的輸出幀的格式要求是YUV422,那麼解碼後生成的各路原始數據為其他格式,比如YUV420、YUV411等等,那麼就需要將由這些格式原始數據生成的輸出幀轉換為YUV422格式的輸出幀,對於YUV422格式轉換操作、輸出幀的組幀要求很低,可以使用任何方法實現,只要確保輸出幀包含有效、完整的YUV422格式的原始視頻數據即可。為了使得更為清楚了解本實施例中的原始視頻數據的復接組幀方式,下面通過ー具體實例描述所述復接方式。假設需要解碼四路視頻壓編碼數據,視頻圖像解析度為704x576,經解碼後生成四路YUV420格式的原始視頻數據,再對所述原始視頻數據按照幀格式要求進行復接成輸出幀,復接結果如圖3和圖4所示,包含亮度分量行、色差分量行和填充行,共1875大行,前1250行如圖3所示,主要存放四路視頻的亮度分量數據;後625行如圖4所示,主要存放四 路視頻的色差分量數據。輸出幀結構中的亮度分量行、色差分量行和填充行的行格式均如圖5所示,長度為1728個字節,包括兩個720個字節的有效數據段和兩個144位元組的填充欄位,因此輸出幀中,每一整行包括3456他字節,填充欄位可以任意填充,另外,對於亮度分量行,數據段存放的是視頻亮度分量;對於色差分量行,數據段存放的是視頻色差分量;對於填充行,數據段的內容可以任意填充。特別的是,對於各行的行消隱填充數據,內容也可以任意填充。按照以上的說明,就可以組織生成一個輸出幀結構。具體的,對於前1250行第0行到第43行,共44行,為四路視頻第一個填充行塊的復接;第44行到第619行,共576行,為四路視頻第一場視頻數據的亮度分量的復接;第620行到第668行、第670行,共50行,為四路視頻第二個填充行塊的復接;第669行、第671行到第1244行和第1246行,共576行,為四路視頻第二場視頻數據的亮度分量的復接;第1245行、第1247行到第1249行,共4行,為四路視頻第三個填充行塊的復接。對於後625行 第0行到第21行,共22行,為四路視頻第一個填充行塊的復接;第22行到第309行,共288行,為四路視頻第一場視頻數據的色差分量的復接;第310行到第333行,共24行,為四路視頻第二個填充行塊的復接;第334行到第621行,共288行,為四路視頻第二場視頻數據的色差分量的復接;第622行到第624行,共3行,為四路視頻第三個填充行塊的復接。由於原始視頻數據格式為YUV420,所以在輸出前,需要完成YUV420格式到YUV422格式的轉換,以滿足後續收到的有效視頻格式為YUV422的要求。步驟S205、根據所述輸出幀的格式定義,對應選出各路視頻數據;步驟S206、將同路的視頻數據組成ー視頻數據幀,得到與視頻編碼數據路數相同的視頻數據幀。由於輸出幀的格式是一定的,比如上述的YUV422格式,因此本實施例中在接收到輸出幀後,可以知曉輸出幀中各路視頻數據的具體位置,除去其中的填充行後,還剩下1250大行視頻數據,其中每大行視頻數據包括兩路視頻數據,前1728個字節為一路,後1728個字節為一路,具體如圖6所示,再將同路的視頻數據取出組成ー視頻數據幀,因此可以得到四路視頻數據幀,每路視頻數據幀為625行、1728列。
步驟S207、向所述各個視頻數據幀中插入同步信息井分時輸出。得到各路的視頻輸出幀後,在每路視頻輸出幀中插入同步信息,生成的視頻幀就是國際電信聯盟無線電通信部門601/656號建議書(The digital Video Standardaccording to ITU-R BT. 601/656)所描述的巾貞,將這個巾貞傳送給外接的顯示設備經數模轉換後就可以看到各路視頻。本發明實施例在實施例一的基礎上,給出了各步驟的具體優選的實施方式,並通過ー原始視頻數據的復接組幀實例,詳細描述了本實施例中所述的組幀方法,需要說明的是,上述的組幀方法只是ー種實例列舉,不對本發明構成限定,亦可改變其中任意行數據的位置,只要後續拆幀過程中能夠知曉這種輸出幀結構定義即可。
實施例三:圖7示出了本發明第三實施例提供的ー種多路視頻混合解碼輸出裝置的結構,為了便於說明僅示出了與本發明實施例相關的部分。本實施例提供的多路視頻混合解碼輸出裝置包括數據成幀単元701,用於接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;解碼緩存単元702,用於對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存;數據復接単元703,用於對至少兩路原始視頻數據進行復接,生成一輸出幀;幀拆分単元704,用於從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀;幀輸出単元705,用於向所述各個視頻數據幀中插入同步信息井分時輸出。本實施例提供的各個功能單元701-705,對應實現了實施例一中所述的步驟S101-S105。在具體實現時,所述數據成幀單元701可由接收模塊實現,接收模塊包括ー網路接ロ,從網絡中獲取多路視頻壓縮數據,並復接成完整的視頻幀;所述解碼緩存單元702可由與所述接收模塊連接的解碼模塊實現,所述解碼模塊將所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存;所述數據復接單元703可由中央處理器實現,從解碼模塊的緩存中讀取出數據,並對所述多路原始視頻數據進行復接輸出復接幀,由於所述中央處理器只需解碼一路視頻幀,因此用普查性能的解碼處理晶片接ロ完成任務,比如可以採用TMS320DM36X晶片;所述幀拆分單元704和幀輸出單元705可由與所述中央處理連接的FPGA實現,所述FPGA從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀,再插入同步信息後將視頻數據幀分時輸出,所述FPGA與顯示設備連接,經數模轉換後即可在顯示設備中顯示對應圖像。至此實現了多路視頻數據解碼輸出過程。實施例四圖8示出了本發明第四實施例提供的ー種多路視頻混合解碼輸出裝置的結構,為了便於說明僅示出了與本發明實施例相關的部分。本實施例提供的多路視頻混合解碼輸出裝置包括數據成幀単元801,用於接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;
解碼緩存単元802,用於對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存;數據復接単元803,用於對至少兩路原始視頻數據進行復接,生成一輸出幀;幀拆分単元804,用於從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀;幀輸出単元805,用於向所述各個視頻數據幀中插入同步信息井分時輸出。其中,所述數據復接單元803包括復接成幀模塊8031,用於對所述原始視頻數據按照幀格式要求進行復接,包括亮度分量行、色差分量行和填充行,生成一輸出巾貞;幀轉換輸出模塊8032,用於將所述輸出幀轉換成符合格式要求的輸出幀。 其中,所述幀拆分単元804包括數據獲取模塊8041,用於根據所述輸出幀的格式定義,對應選出各路視頻數據;數據組幀模塊8042,用於將同路的視頻數據組成ー視頻數據幀,得到與視頻編碼數據路數相同的視頻數據幀。本實施例提供的數據成幀單元801、解碼緩存單元802、復接成幀模塊8031、幀轉換輸出模塊8032、數據獲取模塊8041、數據組幀模塊8042以及幀輸出單元805對應實現了實施例ニ中對應步驟S201-S207。本實施例在實施例三的基礎上給出了數據復接單元和幀拆分單元的具體優選結構,具體實現時,本發明實施例同樣可由接收模塊、解碼模塊、中央處理器和FPGA對應實現,與實施例三相比,本實施例中的中央處理器在復接得到的輸出幀不滿足格式要求時,還需將其轉換為預定的幀格式,再輸出給FPGA,這樣使得FPGA能夠正確識別出其中各路視頻數據的位置,才能組成正確的視頻數據幀。實施例五圖9示出了本發明第五實施例提供的ー種多路視頻混合解碼輸出系統的結構圖,為了便於說明僅示出了與本發明實施例相關的部分。所述系統包括順次連接的接收模塊91、解碼模塊92、CPU中央處理器93以及FPGA現場可編程門陣列94,其中CPU和FPGA之間的數據通信採用16位寬數據格式,通信時鐘速率為54MHz進行傳輸數據,所述CPU為普通性能處理器,比如TMS320DM36X晶片。所述接收模塊91從網絡視頻伺服器端接收經過壓縮編碼的視頻編碼數據,並且將之復接成完整的視頻幀,所述解碼模塊92對已復接成幀的壓縮編碼視頻數據解碼,最終生成所述視頻編碼數據路數相同的原始視頻數據並緩存,CPU對所述多路原始視頻數據復接,再轉換成規定格式的輸出幀後發送到FPGA,FPGA拆分所述輸出幀,將同路視頻數據組成視頻數據幀,並插入相應的同步信息後,向與FPGA外接顯示設備發送所述經插入同步信息的視頻數據幀。最終可以實現多路視頻數據的實時接收、處理和輸出,最終實現實時視頻監控。需要特別指出的是,上述幀復接操作以及幀轉換操作要求很低,可以使用任何方法實現,只要確保從CPU輸出到FPGA的數據包含有效、完整的要求格式的原始視頻數據即可。另外,中CPU和FPGA之間的通信參數,包括通信時鐘、數據帶寬以及CPU型號只是本實施例的ー種實例列舉,不對本發明的保護範圍進行限定。本領域普通技術人員可以理解,實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以在存儲於ー計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁碟、光碟等。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在 本發明的保護範圍之內。
權利要求
1.一種多路視頻混合解碼輸出方法,其特徵在於,所述方法包括 接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀; 對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存; 對所述原始視頻數據進行復接,生成一輸出幀; 從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀; 向所述各個視頻數據幀中插入同步信息並分時輸出。
2.如權利要求I所述方法,其特徵在於,所述對所述原始視頻數據進行復接,生成一輸出幀步驟,具體包括 對所述原始視頻數據按照幀格式要求進行復接,包括亮度分量行、色差分量行和填充行,生成一輸出巾貞; 將所述輸出幀轉換成符合格式要求的輸出幀。
3.如權利要求2所述方法,其特徵在於,所述亮度分量行、色差分量行和填充行每行包括兩個有效數據段和兩個填充欄位。
4.如權利要求2所述方法,其特徵在於,所述輸出幀的格式要求為YUV422,即亮度分量與紅色色差分量和藍色色差分量的比值為4:2:2。
5.如權利要求2所述方法,其特徵在於,所述從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀步驟,具體包括 根據所述輸出幀的格式定義,對應選出各路視頻數據; 將同路的視頻數據組成一視頻數據幀,得到與視頻編碼數據路數相同的視頻數據幀。
6.一種多路視頻混合解碼輸出裝置,其特徵在於,所述裝置包括 數據成幀單元,用於接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀; 解碼緩存單元,用於對所述視頻幀進行數據解碼,生成與所述視頻編碼數據路數相同的原始視頻數據並緩存; 數據復接單元,用於對至少兩路原始視頻數據進行復接,生成一輸出幀; 幀拆分單元,用於從所述輸出幀中提取出各路視頻數據,並拆分成與所述視頻編碼數據路數相同的視頻數據幀; 幀輸出單元,用於向所述各個視頻數據幀中插入同步信息並分時輸出。
7.如權利要求6所述裝置,其特徵在於,所述數據復接單元包括 復接成幀模塊,用於對所述原始視頻數據按照幀格式要求進行復接,包括亮度分量行、色差分量行和填充行,生成一輸出巾貞; 幀轉換輸出模塊,用於將所述輸出幀轉換成符合格式要求的輸出幀。
8.如權利要求7所述裝置,其特徵在於,所述亮度分量行、色差分量行和填充行每行包括兩個有效數據段和兩個填充欄位。
9.如權利要求8所述裝置,其特徵在於,所述幀拆分單元包括 數據獲取模塊,用於根據所述輸出幀的格式定義,對應選出各路視頻數據; 數據組幀模塊,用於將同路的視頻數據組成一視頻數據幀,得到與視頻編碼數據路數相同的視頻數 據幀。
全文摘要
本發明適用於數字視頻處理技術領域,提供一種多路視頻混合解碼輸出方法及裝置,所述方法包括接收至少兩路經過壓縮編碼的視頻編碼數據,並復接成完整的視頻幀;對所述視頻幀進行數據解碼,生成原始視頻數據並緩存;對所述原始視頻數據進行復接,生成一輸出幀;從所述輸出幀中提取出各路視頻數據,並拆分成視頻數據幀;向所述各個視頻數據幀中插入同步信息並分時輸出。本發明將多路視頻編碼數據復接成一個視頻幀,一片普通性能的解碼晶片即可完成對所有的頻編碼數據進行解碼,得到各路原始視頻數據,再復接、拆分、插入同步信息,即可得到符合格式要求的各路視頻數據幀,完成了對多路視頻數據解碼輸出,同時也降低了投入成本。
文檔編號H04N7/18GK102802039SQ20121028870
公開日2012年11月28日 申請日期2012年8月14日 優先權日2012年8月14日
發明者王明照, 嚴誠, 張榮玲 申請人:武漢微創光電股份有限公司