有損與無損
一個觀念就能解釋檔案轉換周遭的大部分困惑,而且只要兩分鐘就能正確理解。
發布於
兩者的區別
無損壓縮是以更有效率的方式描述檔案,使其變小。解壓縮後,您會原封不動地取回放進去的內容。ZIP、PNG 與 FLAC 都是這樣運作。
有損壓縮是藉由捨棄資訊(具體而言,是人類不太可能察覺缺失的資訊)使檔案變小。JPG、MP3、AAC 與 H.264 都是這樣運作,而且它們能得到比無損小得多的檔案,正是因為允許捨棄。
損失是永久的,這正是人們忽略的部分
一旦有損編碼器捨棄了某些東西,它就消失了。之後的任何轉換都無法復原。把 MP3 轉成 FLAC 會得到一個大型的無損檔案,裡面含有 MP3 的一切缺陷,它能避免再次受損,卻無法消除任何已有的損傷。
這是檔案轉換中最常見的單一誤解,也讓人白費真正的心血:一張照片反覆開啟、編輯並以 JPG 重新儲存,每次都會劣化一點,起初看不出來,之後就明顯了。
轉碼會累加損傷
在兩種有損格式之間轉換,例如 MP3 轉 OGG 或 M4A 轉 MP3,表示要把已經過一次編碼器的音訊解碼,再送進第二個編碼器。兩者對於什麼可以安全捨棄有不同的假設,所以第二個編碼器會損傷第一個已經削薄過的內容。
實用的規則:永遠從您手上最好的原始檔編碼。如果您還有 WAV 或 FLAC,就從它們編碼,而不是從您先前做的 MP3。
這一切都無關緊要的時候
很多時候,這真的無關緊要。從 CD 擷取的 192 kbps MP3,對大多數聽眾在大多數設備上來說,與來源無法區分。度假照片的品質 0.92 的 JPG,在正常觀看尺寸下與原圖無法區分。為了一個只會在車上聽一次的檔案而執著於世代損失,只是白費力氣。
當檔案是母檔(您之後還會再編輯、封存或重新編碼的東西)時,這個區別就很重要。母檔請保持無損,發送的副本則用有損格式。光是這一個習慣,就能避免本文提到的幾乎所有問題。
各格式的定位
無損:PNG、BMP、FLAC、WAV,以及資料格式 CSV、JSON、YAML,在這些格式中,只要有一個字元被改動,就是錯誤而不是折衷。
有損:JPG、一般模式下的 WebP、MP3、AAC、Vorbis、Opus,以及所有常見的影片編碼器,包括 H.264 與 VP8。
親自試試兩種類型:用有損設定壓縮圖片,或將 WAV 轉成 FLAC,看看無損壓縮如何在不改變任何一個取樣的情況下縮小音訊。