
JPEG 品質 80 與 90 差在哪?DCT、量化與檔案大小的關係
JPEG 的「品質 80」不是保留原圖 80% 的畫質。在許多編碼器中,品質值是調整量化表的參數;影像內容與編碼設定,才共同決定檔案大小和失真的樣貌。
本文延續WebP、AVIF 與 JPEG 比較,說明 JPEG 為何適合許多照片,卻容易讓文字和線條變得模糊。討論範圍是常見的 DCT、量化與霍夫曼編碼有損流程;T.81 也包含無損方式及算術編碼,不能把所有 JPEG 都當成同一種流程。
日文原文發布: 2026-06-06
DCT 如何處理 8 × 8 區塊?
在這裡討論的 DCT 流程中,每個影像分量會切成 8 × 8 個樣本的區塊。若色度已經降低取樣密度,一個分量區塊涵蓋的範圍,不一定等於原圖的 8 × 8 像素。
離散餘弦轉換(DCT)把區塊拆成平均成分與不同頻率的空間變化。低頻描述較平緩的變化;高頻則包含細節、紋理、雜訊和邊緣。照片中的部分高頻資訊即使減少,也可能不易察覺,但文字和細線往往很依賴這些資訊。
天空、牆面、失焦背景等平滑區域通常較容易壓縮。螢幕截圖、圖表、介面圖示與細字有許多突變邊緣,JPEG 的失真就比較顯眼。
主要的資訊損失發生在量化
DCT 在數學上可逆,但實作的有限精度仍可能產生捨入誤差。這個有損流程刻意捨棄資訊的主要步驟是量化:將 DCT 係數除以量化步階,再捨入成整數。
量化後係數 = round(DCT 係數 / 量化步階)步階越大,越多不同的原始值會變成相同結果。資料可能因此減少,代價則是區塊邊界、邊緣振鈴,以及漸層中可見的色階斷層。
常見量化表在低頻使用較細的步階,在高頻使用較粗的步階。這是針對視覺特性的取捨,不代表高頻資訊一律不重要。
量化表決定哪些頻率保留得更細
8 × 8 的 DCT 係數與量化步階位置一一對應。左上方是低頻成分;右下角的係數代表水平與垂直方向都很快的變化。最左上角的 DC 係數與區塊平均值有關。
DC 步階過粗,可能明顯改變區塊亮度。高頻步階過粗,則會減少細節;對某些照片可以接受,對文字、框線和插圖卻可能造成明顯損失。
常見的亮度量化範例表在左上方數值較小、右下方較大,但 JPEG 並未要求每個編碼器都採用相同表格。銳利邊緣周圍的振鈴或蚊式雜訊,就是照片取向的量化設定不一定適合圖表的原因。
品質 80、90、95 如何改變量化步階?
以常見的 IJG 品質尺度為例,Q 在 50 到 100 之間時,可用下列計算調整基準表。最後一行將步階限制在基準方式相容的 1 到 255:
scale = 200 - 2 * Q
step = floor((base * scale + 50) / 100)
step = max(1, min(255, step))將 T.81 Annex K 亮度範例表的 64 個值代入,可得到:
表格若超出畫面寬度,可左右捲動。
| 品質 | scale | 左上 DC | 右下高頻 | 平均步階 |
|---|---|---|---|---|
| 80 | 40 | 6 | 40 | 23.08 |
| 90 | 20 | 3 | 20 | 11.50 |
| 95 | 10 | 2 | 10 | 5.77 |
平均步階是 64 個值的算術平均,四捨五入到小數點後兩位。在這個例子中,80 升到 90、90 升到 95,步階都大致減半。更細的量化讓係數較不容易變成零,因此可能留下更多需要編碼的資料。
品質 100 會讓這套尺度的表格值變成 1,卻不保證無損:色彩轉換、有限精度等仍可能改變樣本。平均步階減半,也不代表檔案大小一定增加為某個固定倍數。
不同編碼器的品質數字不能直接排名
「品質 85」不是通用的 JPEG 品質保證。IJG libjpeg、mozjpeg、影像編輯軟體、瀏覽器 Canvas 和線上最佳化服務,在量化表、色度取樣、網格量化(trellis quantization)及中繼資料處理上,都可能採用不同設定。
要比較品質,應固定原圖與編碼器,再輸出多個候選設定。只看數字,無法判定甲工具的品質 80 是否比乙工具的品質 90 差。
把品質控制項視為該編碼器的調整參數,並同時查看影像與實際位元組數。它既不是畫質百分比,也不是目標檔案大小。
零係數增加,為何可能讓檔案變小?
量化後,許多高頻係數可能變成零。常見 JPEG 流程以鋸齒順序排列係數,精簡表示連續的零,再用霍夫曼編碼壓縮符號。
因此,影響大小的不只是品質值,還包括係數的數量與分布。平滑的天空和牆面可能很容易縮小;樹葉、頭髮、碎石和布料紋理,則可能在相同設定下留下許多係數。
品質從 90 提高到 95,可能保留原本被捨去的細節。視覺改善有時不大,資料量卻明顯增加;增幅仍取決於輸入內容及編碼選項。
固定條件,再比較同一張圖
比較時應固定原始影像、編碼器、色度取樣、中繼資料政策,以及漸進式或循序式模式。否則測到的可能是不同預設值,而不是品質參數本身。
可以輸出 75、80、85、90、95 等候選版本,記錄檔案大小,在 100% 檢視比例與實際展示尺寸下並排觀察。逐像素可見的差異,縮成手機上的圖片後可能不明顯。
不要只看照片中央。請分別檢查暗部、漸層、文字、邊緣與細緻紋理,注意區塊邊界、振鈴、色彩滲出及細節流失。
色度取樣是另一個獨立的取捨
JPEG 照片常以 YCbCr 處理影像,而非直接編碼 RGB。Y 是亮度訊號,Cb/Cr 是色差分量。降低色度解析度,也能減少資料量。
- 4:4:4:不降低色度取樣密度。
- 4:2:2:水平方向的色度取樣密度減半。
- 4:2:0:水平與垂直方向都降低色度取樣密度。
4:2:0 常適合照片,但彩色細字、介面細線和銳利色彩邊界可能出現滲色。提高品質數值,不一定能補回取樣時已捨去的色彩細節。
若高品質輸出仍讓彩色文字模糊,請一起檢查色度設定。4:4:4 有助於保留色彩邊界,但通常也需要更多資料。
實用起點:依照片、文字與用途選擇
對 IJG 類型的品質尺度,可以從以下設定開始比較,而不是直接視為品質保證:
- 一般照片:先試 80~85,再檢查結果。
- 商品照片:重視細節和質感時,可試 85~90。
- 螢幕截圖與圖表:考慮 PNG 或無損 WebP;使用 AVIF 時也要確認色度取樣與編碼設定。
- 含文字的橫幅:考慮 4:4:4、較高品質,或改用其他格式。
- 還要編輯的素材:保留原始檔,不要反覆把工作檔輸出成有損 JPEG。
JPEG 的解碼相容性與成熟工具仍有優勢,但同一個數字不能套用到每個編碼器,也沒有適合所有圖片的單一設定。
重新編碼和複製 JPEG 並不相同
把 JPEG 解碼成像素,再編碼成另一張有損 JPEG,可能增加量化及其他損失。反覆操作後,文字周圍、邊緣及區塊邊界可能累積失真。
逐位元組複製檔案、只編輯中繼資料,或在符合條件時對 JPEG 係數進行無損轉換,與上述重新編碼不同。不能斷言每一次「儲存」都一定重新量化。
要多次裁切、加字或調色,應保留適當的原始檔或無損工作檔,最後才輸出交付用 JPEG。部落格或購物網站的 CMS 也可能重新編碼上傳圖片,所以還要下載實際傳送給讀者的版本,確認最終結果。
參考資料與來源
編輯說明
本文使用 AI 協助編輯,並於發布前由編輯確認。內容仍可能包含事實、解讀或時效上的錯誤;進行重要判斷前,請查閱所列的一手資料或官方文件。

