視頻碼流的轉換壓縮方法與系統的製作方法
2023-05-10 22:05:26 2
專利名稱:視頻碼流的轉換壓縮方法與系統的製作方法
技術領域:
本發明涉及數字媒體處理技術領域中的視頻碼流轉換壓縮技術,尤其涉及基於場 景建模的視頻碼流的轉換壓縮方法與系統
背景技術:
隨著視頻會議、視頻監控等應用的不斷發展,長時間(幾周甚至幾個月)拍攝的視 頻碼流的過高存儲代價成為一個急需解決的問題,而對視頻碼流進行轉換壓縮就是可以解 決這個問題的一個重要方法。目前用於解決長期拍攝的視頻存儲問題的轉換壓縮技術主要採用面向對象的方 法。例如,面向對象的長期拍攝的監控視頻轉換壓縮方法往往將待轉換壓縮視頻劃分為前 景對象和背景區域,然後按照不同條件進行轉換壓縮,以實現更大的壓縮效率。例如,對背 景區域只通過傳輸一幀背景圖像碼流來完成,或對劃分出來的背景區域進行低質量的編 碼。該方法依賴於前背景分割技術,但這種前背景劃分幾乎不可能做到完全準確,低質量轉 換壓縮的背景區域很可能是需要被高質量轉換壓縮的,因而忽略背景區域的轉換壓縮質量 是不符合一些監控視頻應用對轉換壓縮質量的需求。如上問題導致面向對象方法在客觀質 量評價時整體PSNR(峰值信噪比)較低,不能滿足多數監控視頻應用對客觀轉換壓縮質量 的要求(如司法證據與偵查線索),因而急需一種不依賴於前背景分割的轉換壓縮方法。常 見的不依賴於前背景分割的方法即是完全解碼後再在保證碼率降低的編碼參數(如量化 參數)下完全編碼(稱為傳統全解全編方法),但是,這種方法會導致編碼質量損失過大。
發明內容
本發明的目的在於提供一種視頻碼流的轉換壓縮方法與系統。本發明一種視頻碼流的轉換壓縮方法,包括解碼步驟,視頻解碼,對輸入碼流進 行解碼,生成解碼圖像;場景建模步驟,在解碼圖像中選取訓練集生成場景圖像;再編碼步 驟,基於所述場景圖像,對所述解碼圖像進行再編碼。上述轉換壓縮方法,優選所述解碼步驟中,所述解碼為對輸入碼流進行全部解碼; 和/或對輸入碼流進行獨立的部分解碼。上述轉換壓縮方法,優選轉換壓縮方法,所述場景建模步驟中,選取所述解碼圖像 的任意子集,採用平均值算法、中值算法或背景建模算法生成一幀或多幀場景圖像。上述轉換壓縮方法,優選所述再編碼步驟中,所述對解碼圖像進行再編碼具體包 括將所述場景圖像編入碼流,並標誌該場景圖像在播放時不輸出;參考所述場景圖像,對 所述解碼圖像進行像素或亞像素精度的全局運動估計,得到全局運動矢量;基於所述場景 圖像和所述全局運動矢量,選擇性地使用原始模式、差分模式對每一個解碼圖像決進行再 編碼。上述轉換壓縮方法,優選所述再編碼步驟中,所述對解碼圖像進行再編碼具體還 包括對所述場景圖像進行編碼壓縮,生成場景圖像碼流;對所述場景圖像碼流進行解碼重構,以獲取重構的場景圖像;對解碼圖像和所述重構的背景圖像進行差分,計算差分結 果,依據所述差分結果獲取差分圖像;對所述差分圖像進行編碼壓縮上述轉換壓縮方法,優選所述再編碼步驟中,所述對解碼圖像進行再編碼具體包 括將所述場景圖像編入碼流並作為後續圖像的長期參考幀或者背景幀,然後編碼其他解 碼圖像,其中在碼流中標明所述場景圖像在解碼時不顯示輸出。本發明還提供了一種視頻碼流的轉換壓縮系統,包括解碼模塊,用於對輸入碼流 進行解碼,生成解碼圖像;場景建模模塊,用於在解碼圖像中選取訓練集生成場景圖像;再 編碼模塊,用於基於所述場景圖像,對所述解碼圖像進行再編碼。上述轉換壓縮系統,優選所述解碼模塊中,所述解碼為對輸入碼流進行全部解碼; 和/或對輸入碼流進行獨立的部分解碼。上述轉換壓縮系統,優選所述場景建模模塊中,選取所述解碼圖像的任意子集,採 用平均值算法、中值算法或背景建模算法生成一幀或多幀場景圖像。上述轉換壓縮系統,優選所述對解碼圖像進行再編碼具體也包括用於將所述場 景圖像編入碼流,並標誌該場景圖像在播放時不輸出的單元;用於參考所述場景圖像,對所 述解碼圖像進行像素或亞像素精度的全局運動估計,得到全局運動矢量的單元;用於基於 所述場景圖像和所述全局運動矢量,選擇性地使用原始模式、差分模式對每一個解碼圖像 塊進行再編碼的單元。上述轉換壓縮系統,優選所述對解碼圖像進行再編碼具體也包括用於對所述場 景圖像進行編碼壓縮,生成場景圖像碼流的單元;用於對所述場景圖像碼流進行解碼重構, 以獲取重構的場景圖像的單元;用於對解碼圖像和所述重構的背景圖像進行差分,計算差 分結果,依據所述差分結果獲取差分圖像的單元;用於對所述差分圖像進行編碼壓縮單元。上述轉換壓縮系統,優選所述再編碼模塊中,所述對解碼圖像進行再編碼具體也 包括用於將所述場景圖像編入碼流並作為後續圖像的長期參考幀或者背景幀,然後編碼 其他解碼圖像的單元,其中在碼流中標明所述場景圖像在解碼時不顯示輸出。相對於現有技術而言,本發明具有如下優勢第一,利用了監控視頻固有的全局場景圖像特性對視頻碼流轉換壓縮,解決了在 同等轉換壓縮碼率下,傳統全解全編方法轉換壓縮質量較差的問題。此外,本方法不使用面 向對象的方法,不進行前/背景的分割,仍然保持以塊或宏塊為單位進行轉換壓縮,解決了 傳統面向對象方法複雜度過大以及難以進行客觀質量評價的問題。第二,不使用面向對象的方法,仍然保持以塊或宏塊為單位進行轉換壓縮,解決了 傳統面向對象方法複雜度過大的問題。第三,不進行前/背景的分割,不主觀上側重對特定區域的轉換壓縮,解決了傳統 面向對象方法難以進行客觀質量評價的問題。
圖IA是本發明視頻碼流的轉換壓縮方法實施實例的步驟流程圖;圖IB是本發明視頻碼流的轉換壓縮系統實施實例的結構框圖;圖2是本發明視頻碼流的轉換壓縮方法原理的結構框架圖;圖3是可以用於實施本發明的一種背景建模原理框圖4是基於背景建模的差分模式選擇方法原理框5是基於背景建模的差分模式選擇方法中差分模式下的工作原理框圖;圖6是基於背景建模的靜態攝像機視頻編碼方法的工作原理框圖。
具體實施例方式為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實 施方式對本發明作進一步詳細的說明。本發明中,利用視頻序列中存在的一定時間內場景固定的特點,在轉換壓縮時對 解碼視頻中相對固定的場景,採用了一種背景建模的方法,進而生成場景圖像加以描述。最 後使用場景圖像對解碼圖像進行再編碼參照圖1A,圖IA是本發明所述視頻碼流轉換壓縮方法的具體實施實例的步驟流 程圖,包括如下步驟視頻解碼步驟Sl 對輸入碼流進行解碼,它還可以獨立解碼一部分視頻圖像,包 括但不限於一部分I幀圖像或者某一個或多個圖像組。場景建模步驟S2 對解碼圖像的一個子集使用場景建模算法建立場景圖像。具體 的建模算法包含但不限於取輸入解碼圖像的平均值,取輸入圖像的中值,以及如圖2所示 的基於分段權重的平均值算法。視頻再編碼步驟S3 為每一幀待轉換壓縮的解碼圖像指定一幀或多幀場景圖像, 然後使用編碼重建的場景圖像對解碼圖像進行再編碼。所指定的場景圖像可以是使用整個 視頻解碼圖像的任意子集生成的。另一方面,本發明還提供了一種視頻碼流轉換壓縮系統的實施實例。參照圖1B,包 括解碼模塊20,用於對輸入碼流進行解碼,生成解碼圖像;場景建模模塊22,用於在解碼 圖像中選取訓練集生成場景圖像;再編碼模塊24,用於基於所述場景圖像,對所述解碼圖 像進行再編碼。由於採取以上技術方法,本發明與面向對象以及基於前景/背景分割的視頻轉換 壓縮方法的區別在於第一,不進行對象或前景/背景的分割;第二,以塊或宏塊為單位進 行轉換壓縮;第三,不主觀上側重對特定區域的轉換壓縮。參照圖2,本發明可以在如圖2所示的轉換壓縮框架下完成。如圖2所示,實施本發明的視頻碼流轉換壓縮方法在包括接受輸入碼流的視頻解 碼模塊、接受所述解碼圖像緩存輸出的場景建模模塊、接受所述場景建模輸出的場景圖像 以及視頻解碼模塊輸出的解碼圖像的視頻再編碼模塊下面本發明對圖2所述的基於場景模型的視頻壓縮方法及所涉及的各操作的功 能作用和實施方法進行詳細的描述一、視頻解碼模塊對輸入視頻碼流進行轉換壓縮過程中,首先要使用視頻解碼器對輸入碼流進行解 碼,該解碼的對象包括全部解碼圖像,另外也可以獨立解碼一部分圖像,如一部分I幀圖像 或者某一個或多個圖像組,輸出傳遞給場景建模模塊和視頻再編碼模塊。在本發明的具體 實施過程中,我們在視頻解碼器中可以使用兩個並行執行的解碼器,此時,一個負責解碼全 部視頻並直接輸出給解碼圖像緩存單元,另一個解碼器負責解碼當前碼流中的一個指定的子集(如I幀),並作為訓練圖像集輸出給場景圖像建模單元;我們在視頻解碼器中也可以 僅僅使用一個解碼器,再選擇性的將場景建模所需要的解碼圖像輸出二、場景建模模塊對輸入的解碼圖像序列,選取一個訓練圖像集,建模生成一幀場景圖像傳遞給視 頻再編碼模塊。場景圖像可以是使用整個視頻解碼圖像的任意子集訓練而成。即用於生 成背景圖像的解碼圖像可以是當前待編碼的解碼圖像之前、之後的任意圖像。以亮度分量 為例,所用建模方法包含但不局限於平均值算法,中值算法,以及如圖3所示的背景建模算 法,該算法的主要思想是,對於每一個像素點,在訓練集內找到它的像素集合,然後開始遍 歷。對於每一個像素值,根據這個像素集合內當前像素值與下一個相鄰像素值之間的差,利 用當前時刻生成的動態閾值,如果差的絕對值大於閾值,則判定當前數據段結束,開始下一 個數據段。於是,就將整個當前像素位置的像素集合劃分為若干數據段,每一段的權重為該 段數據集合的大小。圖3中總平均值、每個新建數據段的平均值和權重均初始化為0,閾值 初始化為訓練集內前兩幀數據的差平方的像素級平均值。當前數據段號為i時,設任意數 據段j的權重為Wj (正整數),像素和為Sumj (正整數),數據段j內所有相鄰像素的差平方 和為Tj (正整數),則當前總平均值AVGi (正有理數)、當前閾值Thj (正有理數)計算如公 式⑴、⑵AVG1 = X(Sumj xW.)/^(w/)( 1 )
y=i/ 7=1Th1 = S^ χ Wy)/Z(W/)(2)該模塊每當選擇一個新的訓練圖像集,便重新進行場景建模,生成一幀場景圖像, 完成場景圖像更新。色度分量的建模過程是相同的。三、視頻再編碼模塊本發明所述的視頻再編碼器從解碼圖像緩存單元讀取解碼圖像,然後為每一幀待 轉換壓縮的解碼圖像指定一幀或多幀場景圖像,然後使用指定的場景圖像對該解碼圖像進 行再編碼。使用場景圖像編碼對應的解碼圖像的編碼方法包括但不限於如下三類方法1) 在現有編碼器(包含但不局限於 MPEG-l/2/4、H. 263,H. 264/AVC、VCl、AVS、JPEG、JPEG2000、 MJPEG)的基礎上,為每個宏塊的編碼過程引入基於背景模型的可選差分模式的編碼方法, 引入該模式後的編解碼過程如圖4所示,其中差分模式下的編碼過程如圖5所示。該方法 包括如下步驟背景圖像編碼步驟,將背景圖像編入碼流並標誌為該圖像在播放時不輸出; 全局運動估計步驟,對解碼圖像參考背景圖像進行像素或亞像素精度的全局運動估計,得 到全局運動矢量;模式選擇步驟,基於所述重構的背景圖像和所述全局運動矢量,選擇性地 使用原始模式、差分模式對每一個解碼圖像塊進行再編碼。2)在現有編碼器(包含但不局 限於 MPEG-1/2/4、H. 263、H. 264/AVC、VCU AVS, JPEG、JPEG2000、MJPEG)的基礎上,為每個 宏塊的編碼過程引入直接編碼輸入圖像與建模生成的背景圖像差分結果的方法,該方法的 編解碼過程如圖6所示。該方法包括如下步驟背景建模步驟,對輸入的視頻序列,選取一 個訓練圖像集,建模生成背景圖像;背景圖像編碼步驟,採用編碼器,對所述背景圖像使用 I、P、B等傳統圖像類型進行編碼壓縮,生成背景圖像碼流;重構步驟,採用解碼器,對所述背景圖像碼流進行解碼重構,以獲取重構的背景圖像;差分圖像計算步驟,對所述輸入視頻 序列中的圖像和所述重構的背景圖像進行差分,計算差分結果,依據所述差分結果獲取差 分圖像;差分圖像編碼步驟,對所述差分圖像進行編碼壓縮。3)使用現有編碼器(包含但 不局限於 MPEG-1/2/4、H. 263、H. 264/AVC、VCU AVS, JPEG、JPEG2000、MJPEG)的現有技術, 將背景圖像編入碼流並作為後續圖像的長期參考幀或者背景幀,然後編碼其他解碼圖像, 其中在碼流中標明背景圖像在解碼時不顯示輸出對於第三類編碼器,以H. 264/AVC為例使用H. 264/AVC編碼器將背景圖像編碼為 I幀,讓後使用其重建圖像作為後續圖像長期參考幀,其中在碼流中標明背景圖像在解碼時 不顯示輸出。此時生成的碼流可以直接被H. 264/AVC解碼器解碼。再以AVS為例,使用AVS 編碼器將背景圖像編碼為G幀,在碼流中標明該G幀在解碼時不顯示輸出。此時生成的碼 流可以直接被AVS解碼器解碼。下面舉一個實例來說明本發明一種視頻碼流的轉換壓縮系統可能的實現方式。設 定輸入視頻為YUV4:2:0格式,設定視頻段長度為1000幀圖像。視頻解碼器中採用兩路並 行執行的解碼器,一路直接解碼圖像,另一路僅僅解碼其中的I幀圖像輸出給背景圖像建 模單元。背景圖像建模單元採用如圖2所示的建模方法,而解碼圖像緩存一個視頻段,於是 整個系統只有一個視頻段的時間延遲(40s)。在轉換壓縮解碼圖像時,採用如圖3所示的 基於AVS的編碼器在Shenzhan profile下進行再編碼,背景圖像的量化QP為0。針對上 述實現,進行了如下性能測試在8個3000幀標清(720X576)或CIF(352X288)的室內 /室外場景的靜止攝像機序列上,與傳統的全解全編為H. 264/AVC的編碼方法相比較,本發 明的轉換壓縮方法與系統在使用H. 264/AVC編碼器作為內置編碼器後,在IMbps的標清視 頻碼流上,在轉換壓縮為500kbps時具有0. 92 1. 53dB的性能增益;在轉換壓縮400kbps 的標清視頻碼流上,在轉換壓縮為200kbps時具有0. 92 1. 53dB的性能增益。以上對本發明所提供的一種視頻碼流的轉換壓縮方法與系統進行詳細介紹,本文 中應用了具體實施實例對本發明的原理及實施方式進行了闡述,以上實施實例的說明只是 用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明 的思想,在具體實施方式
及應用範圍上均會有改變之處。綜上所述,本說明書內容不應理解 為對本發明的限制。
權利要求
一種視頻碼流的轉換壓縮方法,其特徵在於,包括解碼步驟,視頻解碼,對輸入碼流進行解碼,生成解碼圖像;場景建模步驟,在解碼圖像中選取訓練集生成場景圖像;再編碼步驟,基於所述場景圖像,對所述解碼圖像進行再編碼。
2.根據權利要求1所述的轉換壓縮方法,其特徵在於, 所述解碼步驟中,所述解碼為對輸入碼流進行全部解碼;和/或 對輸入碼流進行獨立的部分解碼。
3.根據權利要求1所述的轉換壓縮方法,其特徵在於,所述場景建模步驟中,選取所述解碼圖像的任意子集,採用平均值算法、中值算法或背 景建模算法生成一幀或多幀場景圖像。
4.根據權利要求1所述的轉換壓縮方法,其特徵在於,所述再編碼步驟中,所述對解碼 圖像進行再編碼具體包括將所述場景圖像編入碼流,並標誌該場景圖像在播放時不輸出; 參考所述場景圖像,對所述解碼圖像進行像素或亞像素精度的全局運動估計,得到全 局運動矢量;基於所述場景圖像和所述全局運動矢量,選擇性地使用原始模式、差分模式對每一個 解碼圖像塊進行再編碼。
5.根據權利要求1所述的轉換壓縮方法,其特徵在於,所述再編碼步驟中,所述對解碼 圖像進行再編碼具體還包括對所述場景圖像進行編碼壓縮,生成場景圖像碼流; 對所述場景圖像碼流進行解碼重構,以獲取重構的場景圖像; 對解碼圖像和所述重構的背景圖像進行差分,計算差分結果,依據所述差分結果獲取 差分圖像;對所述差分圖像進行編碼壓縮。
6.根據權利要求1所述的轉換壓縮方法,其特徵在於,所述再編碼步驟中,所述對解碼 圖像進行再編碼具體包括將所述場景圖像編入碼流並作為後續圖像的長期參考幀或者背景幀,然後編碼其他解 碼圖像,其中在碼流中標明所述場景圖像在解碼時不顯示輸出。
7.一種視頻碼流的轉換壓縮系統,其特徵在於,包括 解碼模塊,用於對輸入碼流進行解碼,生成解碼圖像; 場景建模模塊,用於在解碼圖像中選取訓練集生成場景圖像; 再編碼模塊,用於基於所述場景圖像,對所述解碼圖像進行再編碼。
8.根據權利要求7所述的轉換壓縮系統,其特徵在於, 所述解碼模塊中,所述解碼為對輸入碼流進行全部解碼;和/或 對輸入碼流進行獨立的部分解碼。
9.根據權利要求7所述的轉換壓縮系統,其特徵在於,所述場景建模模塊中,選取所述解碼圖像的任意子集,採用平均值算法、中值算法或背 景建模算法生成一幀或多幀場景圖像。
10.根據權利要求7所述的轉換壓縮系統,其特徵還在於,所述對解碼圖像進行再編碼具體也包括用於將所述場景圖像編入碼流,並標誌該場景圖像在播放時不輸出的單元; 用於參考所述場景圖像,對所述解碼圖像進行像素或亞像素精度的全局運動估計,得 到全局運動矢量的單元;用於基於所述場景圖像和所述全局運動矢量,選擇性地使用原始模式、差分模式對每 一個解碼圖像塊進行再編碼的單元。
11.根據權利要求7所述的轉換壓縮系統,其特徵還在於,所述對解碼圖像進行再編碼 具體也包括用於對所述場景圖像進行編碼壓縮,生成場景圖像碼流的單元; 用於對所述場景圖像碼流進行解碼重構,以獲取重構的場景圖像的單元; 用於對解碼圖像和所述重構的背景圖像進行差分,計算差分結果,依據所述差分結果 獲取差分圖像的單元;用於對所述差分圖像進行編碼壓縮單元。
12.根據權利要求7所述的轉換壓縮系統,其特徵在於,所述再編碼模塊中,所述對解 碼圖像進行再編碼具體也包括用於將所述場景圖像編入碼流並作為後續圖像的長期參考幀或者背景幀,然後編碼其 他解碼圖像的單元,其中在碼流中標明所述場景圖像在解碼時不顯示輸出。
全文摘要
本發明公開了一種視頻碼流的轉換壓縮方法與系統。其中,該方法包括視頻解碼,對輸入碼流進行解碼,生成解碼圖像;在解碼圖像中選取訓練集生成場景圖像;基於所述場景圖像,對所述解碼圖像進行再編碼。本方法利用了監控視頻固有的全局場景圖像特性對視頻碼流轉換壓縮,解決了在同等轉換壓縮碼率下,傳統全解全編方法轉換壓縮質量較差的問題。此外,本方法不使用面向對象的方法,不進行前/背景的分割,仍然保持以塊或宏塊為單位進行轉換壓縮,解決了傳統面向對象方法複雜度過大以及難以進行客觀質量評價的問題。
文檔編號H04N7/50GK101969559SQ20101052333
公開日2011年2月9日 申請日期2010年10月22日 優先權日2010年10月22日
發明者張賢國, 梁路宏, 高文, 黃鐵軍 申請人:北京大學