跳轉到內容

資料壓縮/非對稱壓縮

來自華夏公益教科書,開放的書籍,開放的世界

非對稱壓縮

[編輯 | 編輯原始碼]

非對稱壓縮的概念很簡單,給定一種處理壓縮的方法,以不斷提高壓縮比[需要引用],伺服器將能夠將資料壓縮成更緊湊的檔案結構[需要引用],同時用一系列指令替換資料,這些指令將更快地恢復資料,步驟更少。一個例子可能是一個程式,它嘗試不同的順序注入或熵注入組合,直到它找到一個允許最大壓縮的組合。然後,它包含一個指示符,使解壓縮系統能夠找到所使用的確切順序/熵注入,以便在完成新的壓縮步驟後反轉這些效果,作為解壓縮演算法的一部分。 [1]

這個概念對伺服器行業很有吸引力,但到目前為止,還沒有這樣的演算法變得實用。


當資料壓縮演算法生成壓縮檔案所需的時間與解壓縮該檔案所需的時間大致相同時,我們稱該演算法為“對稱”。

當資料壓縮演算法生成壓縮檔案所需的時間比解壓縮檔案所需的時間長得多時,我們稱該演算法為“非對稱”。

(是否有任何情況表明資料壓縮演算法生成壓縮檔案所需的時間比解壓縮檔案所需的時間短得多?)


所有影片壓縮演算法都使用非對稱壓縮。

特別是,運動補償以需要在壓縮方面花費大量時間而聞名。為了獲得最佳壓縮效果,壓縮期間的運動補償子程式必須將當前幀中的每個 16x16 畫素塊與前一幀中的每個 16x16 畫素塊進行比較,這需要很多次比較,並找出前一幀中的哪個塊最匹配。在解壓縮期間,運動補償例程從壓縮資料流中獲取“最佳匹配”的座標,並將資料從前一幀中的該位置複製到當前幀中當前 16x16 畫素塊中。

有許多計算機足夠快,可以即時回放運動補償的壓縮影片,但不足以即時進行運動補償和壓縮影片。如果你有這樣的計算機,並且你想要壓縮影片,你可以:

  • 升級到更快的計算機,一臺足夠快以即時進行具有完全運動補償的壓縮的計算機。
  • 使用你的慢速計算機以比即時慢得多的“批處理模式”進行壓縮(可能在晚上)。執行與快速計算機相同的操作,生成位對位的相同壓縮影片檔案。
  • 使用你的慢速計算機,但執行較少的工作——也許將每個 16x16 畫素塊與前一幀中對應塊周圍的小區域進行比較。由於這臺較慢的計算機每個幀執行的工作更少,因此它可能足夠快以跟上影片的即時速度。但由於它沒有對“最佳”匹配進行詳盡搜尋,因此它沒有壓縮得那麼好,導致壓縮後的影片檔案更大。


進一步閱讀

[編輯 | 編輯原始碼]
  1. "資料壓縮解釋" 由 Matt Mahoney: “特別是,不可能壓縮隨機資料或遞迴壓縮。”


華夏公益教科書