一種視頻數據的無損壓縮與解壓縮處理方法
2023-10-09 00:10:19
專利名稱:一種視頻數據的無損壓縮與解壓縮處理方法
技術領域:
本發明涉及計算機科學領域的應用軟體技術,尤其是一種改進的視頻數據的無損壓縮與解壓縮處理方法。
背景技術:
空中交通管制系統中,提供無損方式的視頻記錄和回放機制、實現管制員操作席位的視頻記錄和重演能力,對提高空中交通的安全極為重要。並且,為保證管制人員的操作不受影響,該功能應儘量減小對主機性能資源的消耗。目前,在X Window環境下,視頻記錄和回放的方法較少,且大多是有損壓縮,且運 行效率不高,對主機運行性能影響較大。故,需要一種新的技術方案以解決上述問題。
發明內容
本發明的目的是針對現有技術存在的不足,提供一種能夠實現視頻數據的無損壓縮與解壓縮處理方法。為實現上述發明目的,本發明視頻數據的無損壓縮與解壓縮處理方法可採用如下技術方案—種視頻數據的無損壓縮與解壓縮處理方法,視頻圖像數據無損壓縮的方法為(la)、輸入原始圖像數據;(2a)、判斷是否已存在關鍵幀圖像origK,如果是則執行步驟(3a),否則執行步驟(IOa);(3a)、將原始圖像與關鍵幀origK進行異或處理,得到差異幀origD ;(4a)、對差異幀進行LZF壓縮,得到數據塊lzfD,其大小為sizeD ;(5a)、計算sizeD與步驟(Ila)中獲得的sizeK的比值,得到差異度R ;(6a)、比較差異度R是否大於預設的閾值T,如果滿足則執行步驟(10a),否則執行步驟(7a);(7a)、對數據塊IzfD進行zlib壓縮,得到數據塊zipD ;(8a)、將數據塊zipD進行封裝,並寫入存儲設備;(9a)、跳轉到步驟(14a);(10a)、將原始圖像暫存為關鍵幀origK ;(I la)、對關鍵幀origK進行LZF壓縮,得到數據塊lzfK,大小為sizeK ;(12a)、對數據塊IzfK進行zlib壓縮,得到數據塊zipK ;(13a)、將數據塊zipK封裝,並寫入存儲設備;(14a)、準備處理下一幀圖像數據;上述已經壓縮過的視頻圖像數據的解壓縮的方法為
(lb)、由存儲設備讀取壓縮的圖像幀數據;(2b)、判斷圖像幀數據是否為關鍵幀壓縮數據,如果滿足則執行步驟(3b),否則執行步驟(5b);(3b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始關鍵幀圖像imageK,並更新緩存;(4b)、輸出圖像imageK,跳轉到步驟(8b);(5b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始差異幀數據cacheD ;(6b)、將數據塊cacheD與緩存的關鍵幀圖像imageK進行異或運算,得到圖像imageX ; (7b)、輸出圖像 imageX ;(Sb)、準備處理下一幀圖像數據。。與背景技術相比,本發明視頻數據的無損壓縮與解壓縮處理方法因為壓縮過程中是依據目標圖像和關鍵幀圖像獲得差異幀,因此解壓縮過程中,可以快速重建目標圖像;並且,實時監測圖像的變化程度,及時更新關鍵幀,保證後續的差異幀壓縮時獲得較高的壓縮比率。
圖I是本發明中視頻圖像數據壓縮處理的流程圖。圖2是本發明中視頻圖像數據解壓縮處理的流程圖。
具體實施例方式下面結合附圖和具體實施例,進一步闡明本發明,應理解這些實施例僅用於說明本發明而不用於限制本發明的範圍,在閱讀了本發明之後,本領域技術人員對本發明的各種等價形式的修改均落於本申請所附權利要求所限定的範圍。請參閱圖I及圖2所示,本發明公開一種視頻數據的無損壓縮與解壓縮處理方法。其中,視頻圖像數據無損壓縮的方法為(la)、輸入原始圖像數據;(2a)、判斷是否已存在關鍵幀圖像origK,如果是則執行步驟(3a),否則執行步驟(IOa);(3a)、將原始圖像與關鍵幀origK進行異或處理,得到差異幀origD ;(4a)、對差異幀進行LZF壓縮,得到數據塊lzfD,其大小為sizeD ;(5a)、計算sizeD與步驟(Ila)中獲得的sizeK的比值,得到差異度R ;(6a)、比較差異度R是否大於預設的閾值T,如果滿足則執行步驟(IOa),否則執行步驟(7a);(7a)、對數據塊IzfD進行zlib壓縮,得到數據塊zipD ;(8a)、將數據塊zipD進行封裝,並寫入存儲設備;(9a)、跳轉到步驟(14a);
(10a)、將原始圖像暫存為關鍵幀origK ;(I la)、對關鍵幀origK進行LZF壓縮,得到數據塊lzfK,大小為sizeK ;(12a)、對數據塊IzfK進行zlib壓縮,得到數據塊zipK ;(13a)、將數據塊zipK封裝,並寫入存儲設備;(14a)、準備處理下一幀圖像數據。 上述已經壓縮過的視頻圖像數據的解壓縮的方法為(lb)、由存儲設備讀取壓縮的圖像幀數據;(2b)、判斷圖像幀數據是否為關鍵幀壓縮數據,如果滿足則執行步驟(3b),否則執行步驟(5b);(3b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始關鍵幀圖像imageK,並更新緩存;(4b)、輸出圖像imageK,跳轉到步驟(8b);(5b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始差異幀數據cacheD ;(6b)、將數據塊cacheD與緩存的關鍵幀圖像imageK進行異或運算,得到圖像imageX ;(7b )、輸出圖像 imageX ;(8b)、準備處理下一幀圖像數據。本發明的關鍵點是通過多種方法的結合,確保壓縮和解壓縮處理過程的高效率,減小生成的數據文件的大小,並確保能夠進行快速回放。兩次壓縮方式,即首先通過快速壓縮算法(例如LZF)減小數據塊的大小,再通過高壓縮比的算法(例如zlib)進一步提高壓縮比率。這樣,可以在壓縮速度和壓縮比率之間取得平衡;壓縮處理過程中,將圖像幀與關鍵幀進行異或處理以獲得差異幀。這樣,在解壓縮處理過程中,只需獲得目標圖像的差異幀和對應的關鍵幀,就可以重建原始圖像;壓縮處理過程中,根據差異幀和關鍵幀的大小,計算獲得當前圖像與關鍵幀圖像的差異度,並與閾值比較,以決定是否需要更新關鍵幀。這樣,當視頻圖像變化劇烈時,能夠及時更新關鍵幀,確保後續處理獲得的差異幀保持較小的尺寸。
權利要求
1.一種視頻數據的無損壓縮與解壓縮處理方法,其特徵在於 視頻圖像數據無損壓縮的方法為 (la)、輸入原始圖像數據; (2a)、判斷是否已存在關鍵幀圖像origK,如果是則執行步驟(3a),否則執行步驟(IOa); (3a)、將原始圖像與關鍵幀origK進行異或處理,得到差異幀origD ; (4a)、對差異幀進行LZF壓縮,得到數據塊lzfD,其大小為sizeD ; (5a)、計算sizeD與步驟(Ila)中獲得的sizeK的比值,得到差異度R ; (6a)、比較差異度R是否大於預設的閾值T,如果滿足則執行步驟(IOa),否則執行步驟 (7a); (7a)、對數據塊IzfD進行zlib壓縮,得到數據塊ZipD ; (8a)、將數據塊ZipD進行封裝,並寫入存儲設備; (9a)、跳轉到步驟(14a); (10a)、將原始圖像暫存為關鍵幀origK ; (I la)、對關鍵幀origK進行LZF壓縮,得到數據塊lzfK,大小為sizeK ; (12a)、對數據塊IzfK進行zlib壓縮,得到數據塊ZipK ; (13a)、將數據塊ZipK封裝,並寫入存儲設備; (14a)、準備處理下一幀圖像數據; 上述已經壓縮過的視頻圖像數據的解壓縮的方法為 (lb)、由存儲設備讀取壓縮的圖像幀數據; (2b)、判斷圖像幀數據是否為關鍵幀壓縮數據,如果滿足則執行步驟(3b),否則執行步驟(5b); (3b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始關鍵幀圖像imageK,並更新緩存; (4b)、輸出圖像imageK,跳轉到步驟(8b); (5b)、對圖像幀數據塊依次進行zlib解壓縮和LZF解壓縮,獲得原始差異幀數據cacheD ; (6b)、將數據塊cacheD與緩存的關鍵巾貞圖像imageK進行異或運算,得到圖像imageX ; (7b)、輸出圖像imageX ; (8b),準備處理下一幀圖像數據。
全文摘要
本發明公開一種視頻數據的無損壓縮與解壓縮處理方法,該方法中的壓縮過程中是依據目標圖像和關鍵幀圖像獲得差異幀,因此解壓縮過程中,可以快速重建目標圖像;並且,實時監測圖像的變化程度,及時更新關鍵幀,保證後續的差異幀壓縮時獲得較高的壓縮比率。
文檔編號H04N5/917GK102857727SQ20121038430
公開日2013年1月2日 申請日期2012年10月11日 優先權日2012年10月11日
發明者王勻, 席玉華, 程先峰, 周祿華 申請人:南京萊斯信息技術股份有限公司