專利名稱:一種在mpeg2中游程編碼快速計算游程長度的方法
技術領域:
本發明涉及一種MPEG2中游程編碼快速計算游程長度的方法,是一種計算機圖像 處理的方法,是一種數字化視頻圖像的數據壓縮方法。
背景技術:
為了便于數字化視頻圖像的編輯、制作、儲存和傳輸,通常要對視頻圖像進行數據 壓縮。視頻圖像的數據壓縮有多種方式,其中最常用的是MPEG2編碼。MPEG2視頻圖像編碼 中必須經過可變長編碼過程。MPEG2編碼標準中可變長編碼包含游程編碼和熵編碼兩種。 通常經過量化后的圖像變換系數中的零值較多,通過游程編碼可以將零值做進一步無損壓 縮。游程編碼(RLE,run-length encoding),又稱“運行長度編碼”或“行程編碼”,是 一項數據無損壓縮編碼技術。它適用于一類數據的壓縮,這類數據由一串符號組成,這串符 號中,多次連續出現相同的符號。例如
權利要求
一種在MPEG2中游程編碼快速計算游程長度的方法,在MPEG2編碼過程中,對8×8平方像素的殘差圖像區域做DCT變換、變換后的64個系數經過量化并重新排列,其特征在于,將經過量化和重新排列后的64個系數做游程編碼的步驟如下構造nFlags的步驟用于構造一個64位整數,記為nFlags,將nFlags的每一位與64個系數中的某個系數一一對應,對應的順序為從最低位開始,nFlags的第1位,對應64個系數中的第1個系數,即最低頻系數,nFlags的第2位對應64個系數中的第2個系數,以此類推,直到nFlags的最后1位對應64個系數中的最后1個系數,即最高頻系數,構造的規則為如果相應的系數為0,則nFlags中與之對應的位設為“0”,如果相應的系數非0,則nFlags中與之對應的位設為“1”;判斷nFlags是否為0的步驟用于判斷nFlags是否為0,如果nFlags等于0,即nFlags的每一位均為“0”,說明64個系數中已沒有非零系數,進入結束的步驟,如果nFlags非0,進入下一步驟;計算nFlags中連續“0”位個數的步驟用于通過調用CPU指令“BSF”,從nFlags的最低位開始,計算連續為“0”的位的位數,這個位數值也就是連續零值系數的個數,即游程的長度,記為n,將n和nFlags中從低位起第n+1位對應的系數組成的數對保存起來,將nFlags邏輯右移n+1位,即高位補“0”,對應關系也相應移動,之后回到“判斷nFlags是否為0的步驟”;結束的步驟用于完成游程編碼的過程,將所有已保存的數對按保存時間的先后順序排列,即得到64個系數做游程編碼的結果。
2.根據權利要求1所述的方法,其特征在于,所述的構造nFlags的步驟中,在64位平 臺中構建一個64位整數;在32位平臺中構建兩個32位整數,這兩個32位整數結合為一個 64位整數。
全文摘要
本發明涉及一種MPEG2中游程編碼快速計算游程長度的方法,是一種計算機圖像處理的方法,是一種數字化視頻圖像的數據壓縮方法。本發明這樣實現的構造nFlags的步驟;判斷nFlags是否為0的步驟;計算nFlags中連續“0”位個數的步驟;結束的步驟。本發明通過構建64位整數nFlags,建立與8×8平方像素塊經變換量化重排后的64個系數的對應關系,在游程編碼過程中使用CPU指令“BSF”計算各個游程的長度,大大減少了條件分支,有效地提高了CPU在MPEG2視頻圖像編碼中的執行效率,使MPEG2視頻圖像編碼的速度更快。
文檔編號H04N7/26GK101964912SQ20101050809
公開日2011年2月2日 申請日期2010年10月15日 優先權日2010年10月15日
發明者褚震宇, 鄧偉, 高上 申請人:北京中科大洋科技發展股份有限公司