MozTW 討論區 https://forum.moztw.org/ |
|
JPEG 對 PNG ,壓縮能力比一比。 https://forum.moztw.org/viewtopic.php?f=8&t=23563 |
第 2 頁 (共 4 頁) |
發表人: | wini [ 2008-07-21, 18:46 ] |
文章主題 : | |
Anonymous 寫: 其他先進若只是打算拿隨得可得的搜尋資訊來主持正義,本人敬謝不敏。若有專精於此類技術相關的先進不另賜教,十分樂意就教。
未附上好讀的說明檔這件事的確我應該向大家道歉,並向你道謝一下。 不過我已經說過了,拿 jpg 破壞過的「彩圖」來壓成 png 會變大很正常,所以我才會拿出類似那張 jpg 情況的圖說明 png 要怎樣才會更小。 要打比方的話,你把鈔票撕個對半,拿去銀行可以換到同樣面額的,但是那並不是原先編號的鈔票;你把破壞掉的圖再用無損壓縮,也變不回原先破壞前的圖,所以我的解釋是「一開始用色跟架構單調的原始圖檔,破壞後反而變成用色跟架構都複雜的圖片,這種東西轉成 png 是壓不小的」;但是用色跟架構複雜的圖片,只要破壞程度不到一個界限,都可以欺騙到人眼,這就是 jpg 的關鍵技術。(不過藍底白字的標題列跟原圖一比較就會知道變色很明顯了) 而要重現這問題,最簡單的做法就是把這串第二篇我提供的圖片轉成 jpg ,再把那張 jpg 轉成 png ,應該就可以看到變化了,但是這是「用色跟架構都簡單」的例子,不是這種例子的我當然不會建議別人試 png ,因為我是為了「讓人下載時能快一點」才建議使用 png 的,沒道理推薦壓了反而變大的。(但是處理過程出錯而變大的話,我會建議下次處理時注意一下怎樣才能弄小。) 這種實際比較後得出的結論,並不需要動用到多深的知識,只要動手實驗「比較哪種壓縮格式,可以讓原始檔轉換後更小又看不太出劣化」這回事,就可以瞭解。我不確定你有沒有實驗過,但是等你實驗過再來求更深入的學術解釋,我也可以不必在這一直說服你去「下載第二篇的圖片」或「自己抓張螢幕擷圖測試」。 總之我一直都是在說「png 適合壓縮用色跟架構單調的圖片」,不知道你到底是想表達什麼地方不對。 (至於中文維基不可信,那英文維基跟日文維基又如何?學校的書又如何?到底哪裡找到的技術資料才可信?不過標題是我割出來時隨便寫的,倒也沒說一定要有多深入的資料才准來討論,不然這串應該直接刪掉才對,畢竟根本沒人的文章及格。就算真的要提可信的學術資料,也不應該全叫辯論的其中一方提供……話說為什麼我非得花一兩個小時邊測試邊編輯文章,只為了勸一個不採信我資料的人提供他手上的可信資料呢。) ---- 不過我一直在問的螢幕擷圖程式,怎麼還是沒人提供一下…… orz |
發表人: | qualle [ 2008-07-21, 21:23 ] |
文章主題 : | |
wini 寫: ----
不過我一直在問的螢幕擷圖程式,怎麼還是沒人提供一下…… orz 我現在是用Faststone Image Viewer本身的Screenshot功能在撐, 因為我很少用這類功能, 所以就算那套有點小小的「功能不足」, 也還算撐的住。 另外Fx有個套件叫「Fireshot」, 不過它只能Capture網頁。 而且編修時加入中文字的部份有些問題, 僅供參考用。 |
發表人: | 訪客 [ 2008-07-21, 21:59 ] |
文章主題 : | |
jpeg格式基本上是用在處理連續性色彩的, 所以平常看到的不是256灰階就是16.7M全彩, 如果圖形只有三四種顏色,也得壓成16.7M全彩, 這種情況當然會比具有索引色盤格式的png來得不利, 如果硬是把檔案壓小,就會看到嚴重的騷動感。 (在上千色以下可能都是這種情況, 像無照片的純網頁,視窗抓圖,滑鼠手繪圖都是) 但是如果圖片種類是「照片」之類顏色數超多的話, png因為不失真壓縮所以怎麼壓也不會小, 而jpeg因為原本就設計以縮減人眼較難察覺的資訊來達到高壓縮能力, 所以會比png有利。 |
發表人: | 訪客 [ 2008-07-21, 22:05 ] |
文章主題 : | |
螢幕擷圖? 不是很多程式都有? 像免費的XnView就有了。 工具->擷取螢幕 |
發表人: | goldie [ 2008-07-21, 22:22 ] |
文章主題 : | |
roytam1 寫: 這是我家的玩法 XD
代碼: @echo off for %1 %%i in (*.png) do ( touch -r "%%~i" "%%~i.time" optipng -zw32k -zc9 -zm9 -zs0,3 -f0,5 -i0 "%%~i" advdef -z -4 "%%~i" deflopt -b "%%~i" pngout /y /b0 "%%~i" advdef -z -4 "%%~i" deflopt -b "%%~i" touch -r "%%~i.time" "%%~i" if exist "%%~i.time" del "%%~i.time" ) 最近看到這串文章後,我也改用了 OptiPNG + AdvPNG 依順各跑一回。 之前是過 PNGOut, 但是,發現沒 OptiPNG 開到最大(-o7)來得小些, 所以,之後就以 OptiPNG -o7 -fix 用了好一陣子。 在你的玩法中,我沒試過亦沒聽過 DeflOpt , 所以很好奇它的強項之處是? 另外,請問一下為何 AdvPNG 跟 DeflOpt 要連用兩次呢? ----------------- 畫面截圖軟體,我用 Screenshot Captor (Freeware) *推薦* |
發表人: | 訪客 [ 2008-07-21, 22:33 ] |
文章主題 : | |
貼個範例: 這是用XnView抓的網頁圖, 雖然總色數高達1624色, 存成png只要137k, 存成品質90的jpeg卻要245k, 硬是把品質壓到60還是要141k, 可是一看就知道慘不忍睹! png檔: http://img174.imageshack.us/img174/2143/45889839sn4.png 品質60的jpg檔: http://img524.imageshack.us/img524/4130/39487434jp8.jpg |
發表人: | roytam1 [ 2008-07-22, 00:27 ] |
文章主題 : | |
goldie 寫: roytam1 寫: 這是我家的玩法 XD 代碼: @echo off for %1 %%i in (*.png) do ( touch -r "%%~i" "%%~i.time" optipng -zw32k -zc9 -zm9 -zs0,3 -f0,5 -i0 "%%~i" advdef -z -4 "%%~i" deflopt -b "%%~i" pngout /y /b0 "%%~i" advdef -z -4 "%%~i" deflopt -b "%%~i" touch -r "%%~i.time" "%%~i" if exist "%%~i.time" del "%%~i.time" ) 最近看到這串文章後,我也改用了 OptiPNG + AdvPNG 依順各跑一回。 之前是過 PNGOut, 但是,發現沒 OptiPNG 開到最大(-o7)來得小些, 所以,之後就以 OptiPNG -o7 -fix 用了好一陣子。 在你的玩法中,我沒試過亦沒聽過 DeflOpt , 所以很好奇它的強項之處是? 另外,請問一下為何 AdvPNG 跟 DeflOpt 要連用兩次呢? ----------------- 畫面截圖軟體,我用 Screenshot Captor (Freeware) *推薦* 我的optipng有加patch,會做2-bytes lazy matching以達到更高壓縮率,而advdef和deflopt是用作優化optipng和pngout啦。 optipng和pngout兩個各有優勢,所以advdef和deflopt也得跑兩次。 |
發表人: | 訪客 [ 2008-07-22, 00:43 ] |
文章主題 : | |
有某種情況值得一提, 雖然對一般人可能不太有用。 jpeg利用縮減人眼較難察覺的資訊來達到高壓縮能力, 我們也可以自己對png搞類似的事! 最適合利用的地方在「掃描日本漫畫」。 日本漫畫大多數圖片只需要灰階, 以256灰階來說的話, 用jpeg品質設80來存, 通常會比直接存png來得小, 不過如果利用某些演算法對原圖 先進行最佳化減色到16色再存成png的話, 雖然同樣會對原圖產生破壞, 16色png對畫面破壞的程度會比jpeg小, 銳利度比jpeg高, 檔案也通常比jpeg小。 |
發表人: | abev66 [ 2008-07-22, 02:22 ] |
文章主題 : | |
Anonymous 寫: 有某種情況值得一提, 灰階? 那幹嘛不用 PNG 索引色? 保證比 jpg 小很多。 另一點是, jpeg 的破壞性壓縮老實說我不太苟同說它人眼很難察覺,若你說灰階圖那我就沒話說,但是全彩的圖片至少要調到 95 以上我才會覺得比較沒感覺,色彩雜一點的圖就更慘了,調到 100 恐怕也沒用。 我不太喜歡 jpeg 的品質。
雖然對一般人可能不太有用。 jpeg利用縮減人眼較難察覺的資訊來達到高壓縮能力, 我們也可以自己對png搞類似的事! 最適合利用的地方在「掃描日本漫畫」。 日本漫畫大多數圖片只需要灰階, 以256灰階來說的話, 用jpeg品質設80來存, 通常會比直接存png來得小, 不過如果利用某些演算法對原圖 先進行最佳化減色到16色再存成png的話, 雖然同樣會對原圖產生破壞, 16色png對畫面破壞的程度會比jpeg小, 銳利度比jpeg高, 檔案也通常比jpeg小。 |
發表人: | 訪客 [ 2008-07-22, 03:34 ] |
文章主題 : | |
abev66 寫: 灰階? 那幹嘛不用 PNG 索引色? 保證比 jpg 小很多。 不知道你想說甚麼? 原圖掃出來就是256灰階, 總色數就是256, 也是存成png索引色啦, 哪有比品質80的jpeg小很多? 像下面的範例就只跟品質96的jpeg差不多大啦。 但是經過縮減成16色的png, 就跟品質72的jpeg一樣大了, 不過品質72 jpeg的瑕疵就明顯多了。 範例: 原圖256灰階png 372k:(能再壓小多少我很懷疑) http://img131.imageshack.us/img131/9062/13096838hl8.png 品質80的jpeg 203k: http://img124.imageshack.us/img124/5351/51004941wj0.jpg 16色png 173k: http://img392.imageshack.us/img392/2176/1xha5.png abev66 寫: 另一點是, jpeg 的破壞性壓縮老實說我不太苟同說它人眼很難察覺,若你說灰階圖那我就沒話說,但是全彩的圖片至少要調到 95 以上我才會覺得比較沒感覺,色彩雜一點的圖就更慘了,調到 100 恐怕也沒用。 我不太喜歡 jpeg 的品質。
我說的是jpeg壓縮方法設計的目的, 比如壓全彩圖通常一開始就先分離亮度與顏色, 然後直接砍掉一半的顏色資料了, 這就是因為眼睛對亮度比顏色敏感而想的方法; 當然人畢竟是有個體差異, 有人的眼睛還是比較利的。 |
發表人: | 訪客 [ 2008-07-22, 04:16 ] |
文章主題 : | |
同樣的道理,如果用在前面的範例網頁圖上, 因為顏色數較多,所以就只縮成256索引色png。 雖然大部分都還可以, 不過明顯看到漸層都沒了, 但是檔案也小到剩54k: http://img155.imageshack.us/img155/7936/46255890xl2.png 這大小必須要把jpeg品質調到12才辦得到: http://img125.imageshack.us/img125/9168/62347609tc7.jpg 當然,就跟坦克壓過一樣慘! |
發表人: | goldie [ 2008-07-22, 14:29 ] |
文章主題 : | |
roytam1 寫: 看清楚我不是跑advpng而是advdef啊。
我的optipng有加patch,會做2-bytes lazy matching以達到更高壓縮率,而advdef和deflopt是用作優化optipng和pngout啦。 optipng和pngout兩個各有優勢,所以advdef和deflopt也得跑兩次。 謝謝講解 大感恩 我再自己慢慢研究看看 ---- 要跑這麼多回,這下子讓我更想換電腦了 XDDDD.... |
發表人: | dora2002 [ 2008-07-22, 16:38 ] |
文章主題 : | |
Anonymous 寫: 螢幕攫取程式,優秀的自由軟體為數不少,何以推薦已收費的 FastStone Capture?
因為太好用了 XD (雖然還停留在舊版 ...) |
發表人: | abev66 [ 2008-07-22, 16:48 ] |
文章主題 : | |
Anonymous 寫: 不過我覺得 PNG 的顏色數還可以再減....= =" 至少 16 色我還看不太出來瑕疵。 Anonymous 寫: 我說的是jpeg壓縮方法設計的目的, 我覺得 JPEG 失真最嚴重的應該是紅色吧? 不知道是不是軟體的問題,每次用 JPEG 壓縮我都會發現紅色變得很難看,還有就是 JPEG 的壓縮原理在我的感覺裡會造成那張圖很像很老舊變質的紙張.... 囧"
比如壓全彩圖通常一開始就先分離亮度與顏色, 然後直接砍掉一半的顏色資料了, 這就是因為眼睛對亮度比顏色敏感而想的方法; 當然人畢竟是有個體差異, 有人的眼睛還是比較利的。 也許是我太敏感吧.... |
發表人: | roytam1 [ 2008-07-22, 17:09 ] |
文章主題 : | |
abev66 寫: Anonymous 寫: 不過我覺得 PNG 的顏色數還可以再減....= =" 至少 16 色我還看不太出來瑕疵。 Anonymous 寫: 我說的是jpeg壓縮方法設計的目的, 我覺得 JPEG 失真最嚴重的應該是紅色吧? 不知道是不是軟體的問題,每次用 JPEG 壓縮我都會發現紅色變得很難看,還有就是 JPEG 的壓縮原理在我的感覺裡會造成那張圖很像很老舊變質的紙張.... 囧"比如壓全彩圖通常一開始就先分離亮度與顏色, 然後直接砍掉一半的顏色資料了, 這就是因為眼睛對亮度比顏色敏感而想的方法; 當然人畢竟是有個體差異, 有人的眼睛還是比較利的。 也許是我太敏感吧.... |
第 2 頁 (共 4 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |