Lossless JPEG 是一種無失真的影像壓縮標準，在 1993 年由組織建立，並由該小組負責後續維護，但這一詞語即使是現在也可用於代表由 Joint Photographic Experts Group 所建立的無失真壓縮標準，其中包括 JPEG 2000 與 JPEGLS。 Lossless JPEG 在 1993 年被完成設計並被加入了 JPEG 的標準之中。JPEG 的壓縮方式通常是破壞性資料壓縮（lossy compression），意指在壓縮過程中影像的品質會遭受到可見的破壞，Lossless JPEG 則是使用了與傳統的 JPEG 完全不同的方法壓縮，即採用無失真的壓縮方式，但是這一壓縮標準並沒有得到廣泛的支援。 Lossless JPEG 使用了一個預測的系統，從與目標最近的三個方格（通常為上方，左方，以及左上方）預測，並且在預測誤差中使用熵編碼（entropy coding）。Lossless JPEG 不僅在醫學影像中備受歡迎，也應用在數位負片（Digital Negative）的格式中。同時，一些數位相機也會使用這一格式以壓縮圖片，但是這一格式在其他方面並沒有得到廣泛的應用。 無失真的操作模式 Lossless JPEG 實際上是 JPEG 的一種操作模式，因為 JPEG 是使用離散餘弦變換（Discrete cosine transform）所壓縮圖片的，而 Lossless JPEG 的模式會存在是因為離散餘弦逆變換（Inverse discrete cosine transform）沒有受到嚴謹的規定，因此無法保證編碼器（encoder）的輸入正與解碼器（decoder）的輸出相符合，Lossless JPEG 與使用離散餘弦變換（Discrete cosine transform）的失真壓縮模式不同，無失真的壓縮使用了一個簡單的預期性編碼模型（predictive coding model），稱為離散脈衝編碼調變（differential pulse code modulation）。 離散脈衝編碼調變是一種使用圖片中目標樣本週圍的樣本中已經編碼完成的樣本來預測目標樣本的調變，預測通常是取目標樣本的上方以及左方的樣本進行平均，離散脈衝編碼調變只會將預測樣本的誤差編碼，而不是將每個樣本編碼，在圖片中，一個樣本與相鄰的樣本差異通常會接近於 0。傳統的離散脈衝編碼調變的編碼器如圖片一所示。 無失真的操作模式的步驟如圖片二所示，在預測的過程中，使用了圖片三的 A、B、C 三個附近的樣本，以做出目標樣本 X 的預測，A、B、C 三個樣本必須為已經預測且編碼過的樣本，在下面的表格中，有八個預測值能夠用以預測目標樣本 X ITUT ISO DIS 109181 Digital compression and coding of continuoustone still images JPEG Recommendation T81 。 數值 1、2 以及 3 是一維的預測 數值 4、5、6 以及 7 是二維的預測 數值 0 只能用在差別編碼（differential coding）的分級操作模式 一旦所有的樣本都有了預測值，樣本間的差值可以使用霍夫曼編碼（Huffman coding）或算術編碼（arithmetic coding）等的方法得到無失真的編碼。 數值 預測值 0 無 1 A 2 B 3 C 4 A B C 5 A B C2 6 B A C2 7 A B2 一般來說，使用無失真的操作模式所壓縮的彩色圖片，可以達到 21 左右的壓縮比，這個操作模式在醫學影像中備受歡迎，被定義為數位負片（Digital Negative）的標準之一，但是卻因複雜度而不獲廣泛的使用。 JPEGLS JPEGLS 是一個無失真 接近無失真的連續調（continuoustone）圖片壓縮標準，這個標準可以分為兩個部分，分別為在 1998 年獲得了 ISO 144951 認定的核心技術，以及在 2002 年獲得了 ISO 144952 認定的擴增技術的部分，JPEGLS 是一個簡單且有效率的演演算法，包含了兩個獨立且獨特的層級，分別為建模（modeling）與編碼（encoding），JPEGLS 是為了可以提供比 lossless JPEG 更有效的無失真 接近無失真的圖片壓縮而創建出來，因為當時使用霍夫曼編碼的 JPEG lossless 以及其他的標準壓縮效果並沒有很好，這些壓縮方法並沒有辦法達成很好的去相關（decorrelation）效果，然而 JPEGLS 可以得到很好的去相關（decorrelation）的效果，JPEGLS 的核心技術是 LOCOI 演演算法，此演演算法使用了對殘餘項（residuals）的預測、建模、以及前文參考編碼（contextbased coding），因為將殘餘項當成雙邊幾何分佈（twosided geometric distribution），又稱為離散拉普拉斯分佈（discrete Laplace distribution），以及 Golomblike 碼（Golomblike codes）的使用，所以能有較低的複雜度，除了無失真壓縮，透過控制絕對值誤差（maximum absolute）的最大值，JPEGLS 也提供了失真壓縮的選擇，JPEGLS 的壓縮速度也比 JPEG 2000 以及原本的 lossless JPEG 標準還要快上許多。 LOCOI 演演算法 Marcelo J Weinberger Senior Member IEEE Gadiel Seroussi Fellow IEEE and Guillermo Sapiro Member IEEEThe LOCOI Lossless Image Compression AlgorithmPrinciples and Standardization into JPEGLSIEEE TRANSACTIONS ON IMAGE PROCESSING VOL 9 NO 8 AUGUST 2000 在編碼前，有 2 個必須要做的步驟：去相關（decorrelation）以及誤差建模（error modeling） 去相關（decorrelation） 在 LOCOI 演演算法中，垂直或水平的邊界偵測（edge detection）可以透過檢查目標畫素（pixel）X 的周圍畫素，如圖片三所示，畫素 B 是垂直的邊界，而畫素 A 是水平的邊界，這個簡單的預測式稱為 Median Edge Detection 預測式，或稱為 LOCOI 預測式，畫素 X 透過 LOCOI 預測式，畫素 X 透過 In the LOCOI algorithm primitive edge 可以做出以下假設： X begin cases min AB mbox if mbox Cmax AB max AB mbox if mbox Cmin AB ABC mbox otherwise end cases 所以會有以下三種情況： 當 X 左邊有個垂直的邊界，會挑 B 當 X 上面有個水平的邊界，會挑 A 如果都沒有，會挑 ABC 前文建模（Context modeling） JEPGLS 的演演算法估計了預測誤差（prediction errors）的條件期望值 Eleft eCtx right，前文建模（Context modeling）的目的是要利用圖片中結構相似的部分來對預測誤差做編碼，前文（Context）是由已知的鄰近樣本的差異決定，可以用坡度（gradient）來表示： begin arraylcl g_1 DB g_2 BC g_3 CA end array 坡度反映了周圍樣本的平滑度（smoothness）及銳利度（edginess）等資訊，這些差異對預測誤差以及統計特性有相當大的影響，從上面的式子中找出的差值都會量化，以 JPEGLS 來說，差值會量化成 9 個不同區域，分別以 44 代表，量化的目的是要使目前樣本的值與前文（Context）的互資訊（Mutual Information）最大化，我們可以從以下的假設獲得前文： P eCtxq_1q_2q_3P eCtxq_1q_2q_3 在合併了正號與負號之後，可以得到前文有 365 個，在 LOCOI 演演算法是一個改進後的演演算法，加法和減法的次數已經減少很多，divisionfree bias 的計算過程可以從 得到論證，可以透過這些反饋機制減少預測的偏差，進而得到較為精確的預測 相同的區域可做遊程編碼（Runlength encoding） 在 JPEGLS 的一般模式，使用了 GolombRice 碼（GolombRice codes）來做非負遊程（nonnegative run lengths）的編碼，但 GolombRice 碼做低熵的編碼很沒有效率，因為編碼的速率至少要 1 位元 符元（one bit per symbol），所以常常會造成許多冗餘（redundancy），為了避免產生太多多餘的碼，可以使用字元擴充（alphabet extension）的方法。 JPEGLS 優點 可選擇無失真 接近無失真壓縮模式 透過控制絕對值誤差可以選擇不同模式。 壓縮速度較快 JPEGLS 的壓縮速度比起 JPEG 2000 以及原本的 lossless JPEG 標準還要快上許多。 複雜度較低 JPEGLS 特別適合低複雜度的硬體，因為複雜度不會太高，卻可以得到不錯的無失真壓縮效果。 JPEG 2000 JPEG 2000 有一個無失真模式，是基於小波轉換的影像壓縮，但是 JPEG 2000 的無失真 模式編碼速度較 JPEGLS 慢，也常常在人為或合成的圖片上有較差的壓縮比，但 JPEG 2000 也是比較可擴充套件的，更進步的，且較廣泛使用的一種壓縮格式。 外部連結 httpwwwjpegorgjpeglsindexhtml httpwwwjpegorgjpeg2000indexhtml 參考來源 Category 影像壓縮