圖像為什么非壓縮不可?

jopen 10年前發布 | 6K 次閱讀 圖像

圖像和視頻的壓縮技術應用廣泛,每天刷微博的圖片,盜版回來的小電影,無一不用壓縮技術。

        壓縮的必要性

圖像為什么非壓縮不可?

        某天陳老師要錄動作大片,經過長期艱苦奮斗,他制成了這樣一段視頻:畫面大小 1000×1000pixel,24 位真彩色,每秒 30 幀,時長 2 小時。

        如果不進行任何壓縮,存儲這段視頻需要 1000*1000*24*30*60*120=5.184 ×1012 bit ≈ 648GB 的空間。(2014 年 4 月 5 日,500GB 硬盤最低價格是 299 元~)

        用 4M 寬帶下載這部大片,最少需要 360 小時 = 15 天。

        可見,要保障人民群眾的切身利益,壓縮技術非常有必要。

        壓縮的可能性

圖像為什么非壓縮不可?

        就單幅圖像而言,壓縮的可能性是顯而易見的。

        如上面三幅小圖,圖a每個形狀里面都填充著相同的顏色,圖b每一行的顏色是相同的,更過分的圖c整幅圖只填充了一種顏色。

        壓縮前:第 1 個點灰色,第 2 個點灰色,第 3 個點灰色,第 4 個點灰色,第 5 個點灰色,第 6 個點灰色......第 89 個點灰色,第 90 個點黑色......

        最簡單的壓縮后:第 1 到 89 個點灰色,第 90 個點黑色。

        常見的壓縮標準

圖像為什么非壓縮不可?

        JPEG 是廣泛使用的照片存儲格式,它適應人的視覺,用更多的數據來存儲人眼敏感的圖像低頻部分,用很少的數據存儲人眼不關心的高頻部分。維基百科有很詳盡的講解 http://zh.wikipedia.org/wiki/JPEG

        JPEG 2000 是基于小波變換的圖像壓縮標準,可以獲得比 JPEG 更大的壓縮比,通常它被認為是未來取代 JPEG 的標準。

        圖像壓縮的基本套路

圖像為什么非壓縮不可?

        圖像壓縮基本按照以下流程進行:

        原圖像 -> 映射 -> 量化 -> 符號編碼 -> 存儲/傳輸 -> 符號解碼 -> 反映射 -> 圖像

        映射(Mapper):對原圖像進行變換,使之更容易被壓縮。(比如傅里葉變換)

        量化(Quantizer):量化是壓縮的主要圖像,主要也是它引入誤差的。比如有一個以 2 為單位的量化器,看到原圖像值是 17,將它除 2 向下取整,量化得到8;圖像還原的時候,用8×2=16 得到還原值,與真實值相差了1。

        符號編碼(Symbol encoder):圖像已經變換量化完了,該為存儲和傳輸作準備了。符號編碼可以進一步地壓縮文件大小:

        將重復出現次數多的數據,用簡短的符號進行編碼;出現次數少的數據,用較長的符號進行編碼;后面的哈夫曼(Huffman)編碼會詳細講到~

        JPEG 的壓縮套路

圖像為什么非壓縮不可?

        鑒于圖像壓縮的每個步驟都能有不同的方法,所以有必要制定統一的標準,使得圖像在每臺電腦每部手機中都能正常使用。

        JPEG 是其中一個標準,它的壓縮套路如下:

        原圖像 -> 分解成一個個小圖像 -> 變換 -> 量化 -> 符號編碼 -> 壓縮后的圖像

        分解圖像:JPEG 會將一幅大圖像分解成8×8 的小圖像。至于為什么是8×8 呢,嗯,歡迎各位同學劇透;

        變換:JPEG 使用 DCT 變換(離散余弦變換),類似傅里葉變換,不過它是取實部。(不由感慨,學好“信號與系統”也是很有必要的...)

        量化:JPEG 通過各種除法來進行量化,不過對于不同重要程度的信息,它所除的數的大小會有所不同;

        符號編碼:JPEG 使用常見的哈夫曼(Huffman)編碼。

        圖像還原,就是反過來進行這些步驟。

        JPEG 的實現方法比較簡單,小朋友們在家也能模仿。也因為簡單高效,所以 JPEG 的應用范圍相當廣泛。

來自: 果殼網
                    <span id="shareA4" class="fl">                          </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!