採 H.265 基礎的圖片壓縮新技術 BPG,大幅提高低流量畫質
http://goo.gl/jDtUwz
國寶大師 李文恩 發表於 2014年12月25日 17:00
http://goo.gl/ahX6a2
著名法國程式設計師法布里斯‧貝拉,
將次世代影像編碼格式 H.265 的技術運用在他新開發的圖片壓縮格式 BPG,
能夠提高圖片檔案的壓縮效率,縮小相同畫 質的圖片檔案尺寸,
或是在同樣檔案尺寸的圖片中提高畫質表現。
同時 BPG 格式也具備高度相容性與擴充性,
挑戰 PNG、WebP 等圖片格式的意味相當濃厚。
相容性絕佳的解決方案
法布里斯‧貝拉(Fabrice Bellard)於 1972 年生於法國格勒諾布爾(Grenoble),
高中時就開發了 DOS 上第一個廣泛使用的文件壓縮程式 LZEXE。
他後來就讀於巴黎綜合理工學院與巴黎高等電信學校,
因開發 FFmpeg 編解碼器、QEMU 虛擬機器而聞名,
他也是貝拉公式(最有效率的圓周率演算法)的作者。
BPG(Better Portable Graphics)是法布里斯‧貝拉新開發的圖片壓縮格式,
它採用 H.265(也稱為HEVC,High Efficiency Video Coding,高效率視訊編碼)
的編碼技術為基礎,最大的特色就是能夠提供比 JPEG 更高的壓縮率,
也就是說在相同畫質情況下,BPG 格式的檔案尺寸比較小。
BPG 可選擇壓縮效率較好的有損壓縮,或是不會失真的無損壓縮。
在色採取樣部分,原生支援 8 至 14bit 顏色深度,
並支援灰階、YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:4:4 等
與 JPEG 相同的色彩格式(chroma formats),
以及 RGB、YCgCo、CMYK 等不同的色彩格式,也支援記錄圖像透明度的 alpha channel。
BPG 也支援目前廣泛使用於各式圖檔的附加資訊,
例如 EXIF、ICC profile、XMP 等標籤。
至於相容性部分,則可透過 Javascript 解碼器相容於絕大部分的瀏覽器,
這支解碼器的尺寸才 55KB,基本上小於將圖檔從 JPEG 轉換為 BPG 所節省的空間,
整體而言還是有助於降低檔案傳輸流量。
http://goo.gl/mn5G95
▲由法布里斯‧貝拉開發的 FFmpeg
是套可以執行音訊和視訊多種格式的錄影、轉檔、串流的自由軟體。
大幅提高小尺寸畫質
法布里斯‧貝拉也放出了多組 BPG 的圖檔品質比較範本,為了讀者閱讀的方便,
在本文中的圖片經筆者編輯與轉存,品質並不等於原始範本圖片,
所以強烈建議讀者實際前往 Lena 圖測試
http://bellard.org/bpg/lena.html
與圖片對照測試等網頁查看原始範本。
http://xooyoozoo.github.io/yolo-octo-bugfixes/#soccer-players&jpg=l&bpg=l
在 Lena 圖測試中,可以看到以 BPG 預設品質的參數 qp=28 進行壓縮時,
檔案尺寸為 15157byte,與檔案尺寸相近 JPEG 圖片相比,雖然乍看之下十分相似,
但仔細看模特兒肩膀部分,還是可以看到些許綠色的雜訊。
至於將品質參數壓到 qp=36,檔案尺寸為 5836byte,
BPG 的色彩已經變得較為缺乏漸層,模特兒肩膀部分的色塊產生不平滑的現象,
而 JPEG 則是已經充滿馬賽克方塊。
另一組圖片對照測試,使用者可以自行選擇左右區塊的的圖片格式,
並移動分隔線比對左右差異。
在小尺寸時(17.9KB),BPG 的表現遠遠超過 JPEG,圖片細節更豐富,
也沒有馬賽克方塊失真,但是與原始圖檔相比,還是可以看到 BPG 的輪廓比較模糊,
但是將 BPG 的檔案尺寸調整為 84.1KB時,
圖片品質已經可以和尺寸高達 1597KB 的原始圖檔匹敵,
壓縮後 BPG 檔案尺寸只有原本的 5.27%,表現相當不錯。
在圖片對照測試網頁中,還有許多不同的圖片可以進行測試,
讀者可以在這邊充分感受 BPG 的壓縮能力。
▲以預設品質參數 qp=28 對 Lena 圖進行壓縮時,幾乎沒有雜訊產生。
▲將品質參數降低到 qp=32時,JPEG 對照組已經出現不少馬賽克方塊。
▲進一步將品質參數壓到 qp=36,JPEG 對照組已經充滿馬賽克方塊。
▲將圖片壓縮成尺寸為 17.9KB的BPG,整體看起來還是相當舒服。
▲但是 17.6KB 的 JPEG 則是相當模糊與充滿馬賽克方塊。
▲比較小尺寸 BPG 與 JPEG,毫無疑問由 BPG 大幅領先。
▲至於一與原始檔案比較,小尺寸 BPG 還是破功。
▲不過只要將檔案尺寸提高到 84.1KB 時,就能與 1597KB 的原始圖檔匹敵。