一種面向BMC晶片的視頻信息壓縮系統和方法與流程
2023-05-13 04:34:16 6

本發明涉及伺服器專用晶片前端設計領域,具體涉及一種面向bmc晶片的視頻信息壓縮方法。
背景技術:
bmc晶片是基板管理控制器晶片,廣泛應用於多路伺服器領域,利用bmc遠程管理系統,伺服器運維人員可以遠程連接並監控伺服器,監測遠程伺服器的運行狀態,查看伺服器運行的界面,以便及時了解伺服器工作狀況。
在現有的基於bmc晶片的遠程管理系統中,視頻監控,採用bmc採集視頻信息,採用h264或者jepg等相關壓縮算法,進行視頻壓縮,再傳輸到管理系統。上述壓縮算法存在著壓縮邏輯複雜,實現成本高的缺點。即使採用軟體程序實現,也會佔用處理器的時間,影響處理器運行效率。並且帶來的bmc晶片的功耗急劇增大。多數的基於bmc的伺服器網絡監控,視頻信息模式較為簡單,完全可以採用專門針對視頻信息模式的壓縮算法,進行壓縮處理。
現有技術的工作基本流程:
bmc晶片接收vga模擬信號,進行模數轉換,再進入編碼單元,最後通過網絡發送到遠程控制管理系統。
現有的伺服器bmc晶片中,採用jpeg算法實現視頻信息的壓縮,jpeg算法本身實現複雜,功耗相應會增加。
技術實現要素:
本發明要解決的技術問題是:上述壓縮算法存在著壓縮邏輯複雜,實現成本高的缺點。即使採用軟體程序實現,也會佔用處理器的時間,影響處理器運行效率。並且帶來的bmc晶片的功耗急劇增大。
特別是在被監控系統所處條件惡劣,網絡帶寬極地的情況下,傳輸大量的圖像信息很難實現。
多數的基於bmc的伺服器網絡監控,視頻信息模式較為簡單,完全可以採用專門針對視頻信息模式的壓縮算法,進行壓縮處理;極端情況下只需傳輸灰度信息即可,但是此種通用算法沒有此功能。
在現有的基於bmc晶片的網絡監控中,當被監控多路伺服器所處網絡帶寬惡劣情況下,而監控視頻信息場景又比較簡單的情況,現有的視頻信息壓縮算法無法適應這種情形。
本發明採用專門針對視頻信息模式的壓縮算法,針對兩種常見的視頻情形:程序文本運行型和程序界面運行型,作為本發明的處理對象,針對上述兩種視頻情形使用不同的壓縮算法,採用運算結果作為視頻傳輸對象,利用上副圖像進行復原。
本發明所採用的技術方案為:
一種面向bmc晶片的視頻信息壓縮系統,所述系統包括:
vga模數轉換模塊,負責將vga的模擬信號轉換為內部可處理的數字信息,經過數模轉換後每個顏色分量由8位數字信息表示,去除消隱等冗餘信息,只保留同步信號與顏色分量;
像素提取模塊,負責接收數模轉換模塊的數字信息,按照採樣hs與vs,存儲接收的圖像信息;
圖像預處理模塊,負責圖像信息的灰度化處理;
圖像壓縮模塊,負責根據配置信息接收圖像預處理模塊處理後的灰度圖像或者原始圖像,依據配置信息選擇壓縮算法;
圖像發送模塊,負責讀取圖像壓縮模塊緩存中的壓縮信息,按照傳輸協議將壓縮信息發送到遠程監控系統。
所述系統通過arm處理器配置圖像壓縮模塊為灰度處理模式,圖像每個像素的值從原來的3個8bitsr、g、b表示,變為1個8bitsg表示,轉換公式:
g=(r*30+g*59+b*11+50)/100。
所述視頻信息為程序文本運行型的視頻信息,視頻信息是依次變換。
所述視頻信息為界面運行型的視頻信息,視頻信息是部分變換。
所述程序界面運行型視頻信息的變動區域範圍有三塊:分別是波形顯示區域、報警顯示區域、報警編號區域。
一種面向bmc晶片的視頻信息壓縮方法,所述方法通過vga模數轉換模塊,將vga的模擬信號轉換為內部可處理的數字信息,經過數模轉換後每個顏色分量由8位數字信息表示,去除消隱等冗餘信息,只保留同步信號與顏色分量;
通過像素提取模塊接收數模轉換模塊的數字信息,按照採樣hs與vs,存儲接收的圖像信息;
通過圖像預處理模塊將圖像信息灰度化處理;
通過圖像壓縮模塊,根據配置信息接收圖像預處理模塊處理後的灰度圖像或者原始圖像,依據配置信息選擇壓縮算法;
通過圖像發送模塊讀取圖像壓縮模塊緩存中的壓縮信息,按照傳輸協議將壓縮信息發送到遠程監控系統。
所述壓縮算法通過自動匹配的方式進行選擇:通過逐行讀取當前圖像,同時在上副圖像中掃描,查找當前圖像與上副圖像的差異,如果完全相同,採用程序界面運行型壓縮算法;如果只有波形顯示區域、報警顯示區域、報警編號區域的圖像信息有差異,採用程序界面運行型壓縮算法;其他情況採用程序文本運行型壓縮算法。
所述程序文本行壓縮算法處理流程包括:順序搜索當前圖像的第一行在前一副圖像中的行位置index,確定之後,匹配剩餘行,如果滿足以下三個條件,即匹配成功:
p0[index]=p1[0]
p0[i+index]=p1[i],1<=i<479
p0[479]=p1[479-index]
當確定index之後,使用lzw算法對p1[479-index]~p1[479]的圖像進行壓縮。
所述程序界面運行型壓縮算法處理流程包括:
當前圖像p1與前一副圖像p0的三個區域進行異或,得到新的圖像p1_xor_0,p1_xor_1,p1_xor_2,使用lzw算法對3個區域圖像進行壓縮。
所述傳輸協議包括內容如下:
如果傳輸程序文本運行型壓縮圖像,首先發送一個字節的0x1f數據(灰度圖像為0x0f),作為區分兩種算法的標誌,緊接著發送index與lzw的壓縮數據;
遠程監控系統判斷算法標誌,根據lzw解壓壓縮數據,截取p0[index]~p0[479]的數據,將解壓數據追加到截取的數據之後,恢復成新的圖像數據p1;
如果是程序界面運行型壓縮圖像,首先發送一個字節的0x10數據(灰度圖像為0x00),作為區分兩種算法的標誌,緊接著發送3組lzw的壓縮數據;
遠程監控系統判斷算法標誌,根據lzw解壓壓縮數據,生成p1_xor_0,p1_xor_1,p1_xor_2圖像,將3副p1_xor圖像與上副圖像p0的三個區域異或,其他區域保留,得到新的圖像數據p1。
本發明的有益效果為:
本發明在被監控系統所處條件惡劣,網絡帶寬極地的情況下,採用專門針對視頻信息模式的壓縮算法,進行壓縮處理,可以快速的傳輸大量的圖像信息,具有實現成本低,壓縮效率高的優點。
附圖說明
圖1為本發明視頻信息壓縮系統結構圖;
圖2為vga模數轉換模塊將模擬信號轉換為內部可處理的數字信息示意圖;
圖3為程序文本運行型不同時刻對比示意圖;
圖4為程序界面運行型不同時刻對比示意圖。
具體實施方式
根據說明書附圖,結合具體實施方式對本發明進一步說明:
實施例1:
如圖1所示,一種面向bmc晶片的視頻信息壓縮系統,所述系統包括:
vga模數轉換模塊,負責將vga的模擬信號轉換為內部可處理的數字信息,經過數模轉換後每個顏色分量由8位數字信息表示,去除消隱等冗餘信息,只保留同步信號與顏色分量;
像素提取模塊,負責接收數模轉換模塊的數字信息,按照採樣hs與vs,存儲接收的圖像信息;
圖像預處理模塊,負責圖像信息的灰度化處理;
圖像壓縮模塊,負責根據配置信息接收圖像預處理模塊處理後的灰度圖像或者原始圖像,依據配置信息選擇壓縮算法;
圖像發送模塊,負責讀取圖像壓縮模塊緩存中的壓縮信息,按照傳輸協議將壓縮信息發送到遠程監控系統。
所述系統通過arm處理器配置圖像壓縮模塊為灰度處理模式,圖像每個像素的值從原來的3個8bitsr、g、b表示,變為1個8bitsg表示,轉換公式:
g=(r*30+g*59+b*11+50)/100。
實施例2:
在實施例1的基礎上,本實施例所述視頻信息為程序文本運行型的視頻信息,視頻信息是依次變換。
圖像的解析度採用640x480,左上角的頂點坐標為(0,0),右下角的頂點坐標為(640,480)。
程序文本運行型所在的位置範圍是(0,0),(640,480),程序文本運行型不同時刻對比如圖3所示。
實施例3:
在實施例1的基礎上,本實施例所述視頻信息為界面運行型的視頻信息,視頻信息是部分變換;
所述程序界面運行型視頻信息的變動區域範圍有三塊:分別是波形顯示區域、報警顯示區域、報警編號區域。
圖像的解析度採用640x480,左上角的頂點坐標為(0,0),右下角的頂點坐標為(640,480)。
程序界面運行型變動區域範圍有三塊分別是波形顯示區域、報警顯示區域、報警編號區域,位置坐標分別(100,50),(600,380)、(100,400),(350,450)、(400,400),(600,450),程序界面運行型不同時刻對比如圖4所示。
實施例4:
一種面向bmc晶片的視頻信息壓縮方法,所述方法通過vga模數轉換模塊,將vga的模擬信號轉換為內部可處理的數字信息,經過數模轉換後每個顏色分量由8位數字信息表示,去除消隱等冗餘信息,只保留同步信號與顏色分量;
通過像素提取模塊接收數模轉換模塊的數字信息,按照採樣hs與vs,存儲接收的圖像信息;
通過圖像預處理模塊將圖像信息灰度化處理;
通過圖像壓縮模塊,根據配置信息接收圖像預處理模塊處理後的灰度圖像或者原始圖像,依據配置信息選擇壓縮算法;
通過圖像發送模塊讀取圖像壓縮模塊緩存中的壓縮信息,按照傳輸協議將壓縮信息發送到遠程監控系統。
所述壓縮算法通過自動匹配的方式進行選擇:通過逐行讀取當前圖像,同時在上副圖像中掃描,查找當前圖像與上副圖像的差異,如果完全相同,採用程序界面運行型壓縮算法;如果只有波形顯示區域、報警顯示區域、報警編號區域的圖像信息有差異,採用程序界面運行型壓縮算法;其他情況採用程序文本運行型壓縮算法。
所述程序文本行壓縮算法處理流程包括:順序搜索當前圖像的第一行在前一副圖像中的行位置index,確定之後,匹配剩餘行,如果滿足以下三個條件,即匹配成功:
p0[index]=p1[0]
p0[i+index]=p1[i],1<=i<479
p0[479]=p1[479-index]
當確定index之後,使用lzw算法對p1[479-index]~p1[479]的圖像進行壓縮。
所述程序界面運行型壓縮算法處理流程包括:
當前圖像p1與前一副圖像p0的三個區域進行異或,得到新的圖像p1_xor_0,p1_xor_1,p1_xor_2,使用lzw算法對3個區域圖像進行壓縮。
所述傳輸協議包括內容如下:
如果傳輸程序文本運行型壓縮圖像,首先發送一個字節的0x1f數據(灰度圖像為0x0f),作為區分兩種算法的標誌,緊接著發送index與lzw的壓縮數據;
遠程監控系統判斷算法標誌,根據lzw解壓壓縮數據,截取p0[index]~p0[479]的數據,將解壓數據追加到截取的數據之後,恢復成新的圖像數據p1;
如果是程序界面運行型壓縮圖像,首先發送一個字節的0x10數據(灰度圖像為0x00),作為區分兩種算法的標誌,緊接著發送3組lzw的壓縮數據;
遠程監控系統判斷算法標誌,根據lzw解壓壓縮數據,生成p1_xor_0,p1_xor_1,p1_xor_2圖像,將3副p1_xor圖像與上副圖像p0的三個區域異或,其他區域保留,得到新的圖像數據p1。
實施方式僅用於說明本發明,而並非對本發明的限制,有關技術領域的普通技術人員,在不脫離本發明的精神和範圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬於本發明的範疇,本發明的專利保護範圍應由權利要求限定。