JPEG

--或稱--，是一種針對相片影像而廣泛使用的失真壓縮標準方法，由聯合影象專家小組開發。此團隊創立於1986年，1992年發布了--的標準而在1994年獲得了--的認定。--與視訊音訊壓縮標準的MPEG。對於--的MIME媒體型別是"--"（定義於--JPEG編/解碼器示例.編碼.JPEG標準中許多選項很少使用，大多數影象軟體在建立JPEG檔案時使用更簡單的JFIF格式。當應用到一個擁有每個畫素24位元的輸入時，這邊只有針對更多普遍編碼方法之一的簡潔描述。這個特定的選擇是一種失真資料壓縮方法。色彩空間轉換.首先，影像由RGB轉換為一種稱為YUV的不同色彩空間。這與模擬PAL制式彩色電視傳輸所使用的色彩空間相似，但是更類似於MAC電視傳輸系統運作的方式。但不是模擬NTSC，模擬NTSC使用的是YIQ色彩空間。YUV分量可以由PAL制系統中歸一化的R',G',B'經過下面的計算得到：這種編碼系統非常有用，因為人眼對亮度差異的敏感度高於色彩變化。在此前提下可以設計更加高效壓縮影象的編碼器。縮減取樣.經過RGB到YUV顏色空間的轉換後，開始進行縮減取樣來減少U和V的成份。對於壓縮過程的剩餘部份，Y、U、和V都是以非常類似的方式來個別地處理。離散餘弦變換.下一步，將影像中的每個成份轉換到頻率空間。如果有一個如這樣的8×8的8-位元子區域：formula_1接著推移128，使其範圍變為 -128~127，得到結果為formula_2且接著使用離散餘弦變換，和捨位取最接近的整數，得到結果為formula_3左上角之相當大的數值稱為DC係數。下面將對所有8×8表格中的DC係數使用差分編碼，對AC係數使用行程編碼。量化.人類眼睛在一個相對大範圍區域，辨別亮度上細微差異是相當的好，但是在一個高頻率亮度變動之確切強度的分辨上，卻不是如此地好。這個事實讓我們能在高頻率成份上極佳地降低資訊的數量。簡單地把頻率領域上每個成份，除以一個對於該成份的常數就可完成，且接著捨位取最接近的整數。這是整個過程中的主要失真運算。以這個結果而言，經常會把很多更高頻率的成份捨位成為接近0，且剩下很多會變成小的正或負數。一個普遍的量化矩陣是：formula_4使用這個量化矩陣與前面所得到的DCT係數矩陣逐項相除，得到結果為：formula_5舉個例子，使用−415且捨位得到最接近的整數formula_6熵編碼技術.熵編碼是無失真資料壓縮的一個特別形式。它牽涉到將影像成份以Z字型，插入長度編碼的零，且接著對剩下的使用霍夫曼編碼。JPEG標準也允許在數學上優於霍夫曼編碼的算術編碼之使用。然而，這個特色幾乎很少獲使用，因為它被專利所涵蓋，且它相較於霍夫曼編碼在編碼和解碼上會更慢。使用算術編碼一般會讓檔案更小約5%。對於前者量化的係數所作的Z字型序列會是：−26,−3, 0,−3, −2, −6,2, −4, 1, −3,1, 1, 5, 1, 2,−1, 1, −1, 2, 0, 0,0, 0, 0, −1, −1, 0, 0,0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0,0, 0, 0, 0,0, 0, 0,0, 0,0當剩下的所有係數都是零，對於過早結束的序列，JPEG有一個特別的霍夫曼編碼用詞。使用這個特殊的編碼用詞，EOB，該序列變為−26,−3, 0,−3, −2, −6,2, −4, 1 −3,1, 1, 5, 1, 2,−1, 1, −1, 2, 0, 0,0, 0, 0, −1, −1, EOB壓縮比率與不自然痕跡.按：artifact在這個領域又解釋為贗像、非自然訊號、人為現象。在量化階段時，依照除數的不同，會使結果的壓縮比率可能有很多變化。10:1通常可得到無法使用肉眼分辨與原圖差異的影像。100:1壓縮通常是可行的，但與原圖相較，會看出明顯的不自然痕跡。壓縮的適當等級是依據要壓縮那一種影像而定。使用全球資訊網的人，可能熟悉這種出現在JPEG數位影像，已知壓縮人為現象的不規則現象。這是由於JPEG演演算法的量化步驟所造成的結果。這種現象在臉部照片中的眼睛四周特別明顯。他們可以藉由選擇壓縮的較低水平來減少這種現象；他們可能藉由使用無失真檔案格式來儲存一個影像來消除這種現象，然而針對照片影像，這樣通常會使檔案大小增加。解碼.解碼來顯示影像，包含反向作以上所有的過程取DCT係數矩陣formula_5且以前面的量化矩陣乘以它，得到formula_8左上角的部份與原本DCT係數矩陣非常接近地相似。使用反向DCT得到一個有數值的影像formula_9且對每一個專案加上128formula_10這是解壓縮的子影像，且可以用來與原本子影像相比得到誤差值。formula_11每個畫素大約是5的平均絕對誤差，也就是說，formula_12。誤差在左下角顯而易見，左下方的畫素變得比它鄰近右方的畫素還更暗。用法.JPEG在色調及顏色平滑變化的相片或是寫實繪畫。照片.JPEG壓縮的不自然現象可以很好地調和到細微非均勻材質的相片中，因此允許得到更高的壓縮率。附註：以上的影像並不是IEEE/CCIR/EBU測試影像，且壓縮編碼器的設定並沒有指明或是可以得到。中等品質的相片只有六分之一的儲存空間，但是幾乎沒有明顯的細節損失或是看得到的人為效果。然而，一旦超過一個某整的壓縮限度，壓縮的影像逐漸地顯現出可以看得到的瑕疵。參考比率失真理論的文章有針對這種限度效果的數學上之解釋。醫學影像：少見的JPEG 12位元支援模式.有很多醫學的影像系統可以建立和處理12位元JPEG影像。12位元JPEG格式已經是JPEG規格的一部份，但是非常少商業軟體程式支援這種不常使用的JPEG格式。其他失真壓縮的編碼格式.更新的失真方法，尤其是小波壓縮，在這些情況下甚至能作得更好。然而，JPEG是一種建立得相當好的標準，擁有很多可使用的軟體，包含自由軟體，因此到2005年它持續獲大量使用。很多小波演演算法受到專利保護，要在很多軟體專案中自由地使用他們是困難或是不可能的。JPEG委員會現在也已經建立其自有的小波基礎標準－JPEG 2000，希望最終能取代原來的JPEG標準。潛在的專利爭議.在2002年Forgent Networks主張他擁有且將會履行在JPEG技術上的專利權，起因於一個在1986年已經歸檔的專利。這個公告已經引起一陣大騷動，令人想起Unisys試圖主張對於GIF影像壓縮標準的權利。JPEG委員會審慎調查這個在2002年所主張的專利，且發現他們因為前案而無效作廢。其他的也已推斷Forgent並無擁有涵蓋JPEG的專利。儘管如此，在2002年和2004年之間，Forgent藉由把他們的專利授權給某些30家公司，而獲得大約9千萬美元。在2004年4月，Forgent控告31家其他公司來強求更多的授權支付。同年的七月，21家較大的電腦公司組成的協會提出反控告，包含使該專利無效的目標。然而，到2005年7月的時候，這場官司仍然持續中。JPEG委員會在他的明確目標中有一項，是他們的標準在不支付授權金之下是可以受實作的，且他們已從超過20個大型組織中，得到適當的授權權利給他們即將到來的JPEG 2000標準。專利案結束.經過數年的糾纏，於2006年11月，JPEG專利持有者Forgent Networks終於與30家PC廠商結束了侵權官司，代價是PC廠商向Forgent賠款800萬美元，而不是Forgent期望的1億美元。在與PC廠商大打官司之前，Forgent已經與60多家公司和解，獲得的專利費用總額高達1.1億美元。包括雅虎在內的45家PC廠商拒絕就4698672號專利問題和解，而是選擇了對簿公堂，不過其中15家在此之前已經與Forgent和解。雖然還是賠了款，但PC廠商們並沒有輸掉官司；雖然沒能得到自己想要的大筆美金，Forgent也沒有徹底失敗。在非盈利性組織美國公共專利基金會的認可，對Forgent專利的有效性在2月和6月兩次重新進行了鑑定，最終法庭限制了Forgent專利的應用範圍。而從另一方面看，Forgent的專利也得到了一定的維護，這要比被徹底推翻好得多，Forgent也表示對結果感到很滿意。Forgent CEO Richard Snyder稱：“在'672專利的有效期內，我們已經獲得了1.1億多美元。很快，Forgent還會再次有所行動。我們的精力現在已經轉移到'746專利上，並等待2007年5月的陪審團裁決，同時我們還會繼續促進NetSimplicity的軟體業務。”無損耗旋轉.雖然任何對JPEG影象的處理都有可能導致因為解壓後再壓縮而引起的損耗，然而，對於簡單的旋轉動作，數學上是可以有辦法使影象得以旋轉而無損影象本身的資料。也就是說，有一種方法可以在無需把影象解壓後才可以旋轉。這是因為JPEG的檔案格式本身是以一個個模組為單位來壓縮，所以，只需要把模組重排，再對每個模組旋轉，就可以達至無損耗的旋轉。使用者在操作上加以-{注}-意。例如：在Adobe Photoshop裡，使用者若要作無損耗旋轉前，必須在載入影象之後立刻用“Save As...”功能儲存一個備份。然後當影象旋轉過後，由於Photoshop已掌握了影象的基本資料，所以在儲存時得以使用原來的設定。若沒有作事先儲存，Photoshop就會把旋轉後的影象重新計算各項引數，並重新對影象進行壓縮處理。這樣就會造成資料的損耗。壓縮標準.JPEG是由國際標準組織為靜態影象所建立的第一個國際數字影象壓縮標準，也是至今一直在使用的、應用最廣的影象壓縮標準。JPEG由於可以提供有失真壓縮，因此壓縮比可以達到其他傳統壓縮演算法無法比擬的程度。JPEG的壓縮模式有以下幾種：一次將影象由左到右、由上到下順序處理。當影象傳輸的時間較長時，可將影象分數次處理，以從模糊到清晰的方式來傳送影象。影象以數種解析度來壓縮，其目的是為了讓具有高解析度的影象也可以在較低解析度的裝置上顯示。在Independent JPEG Group所提供的原始碼上，有jpegtran程式，就提供了最佳化Huffman，轉成漸進式，鏡射，旋轉這些無損耗轉換。參看：無損耗JPEG旋轉程式列表