LosslessJPEG
Lossless JPEG是一種無失真的圖像壓縮標準,佇一九九三年由聯合圖像專家小組織創建佮維護,但是佇這馬嘛會當用來代表 Joint Photographic Experts Group 所創建的無失真壓縮,包括著矣 JPEG 兩千猶閣有 JPEG-LS。
Lossless JPEG 佇一九九三年建立並加入了 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)。
離散脈衝編碼調變是一種使用圖片來標準的本周圍的樣本中已經編碼完成的樣本來預測目標樣本的調變,預測通常是取目標樣本的上方佮左方的樣本進行平均,離散脈衝編碼調變會將預測平本的精差編碼,毋是將每一个樣本編碼,通常佇咧圖片內底,一个樣本佮相鄰的樣本差會接近零,傳統的離散脈衝編碼調變的編碼器如圖片一所示。
無失真正操作模式的撇步像圖片兩所示,佇預測的過程中,使用矣圖片三的 A、B、C 三个附近的樣本,當做出目標樣本 X 的預測,A、B、C 三个樣本就愛為已經預測而且編碼過的樣本,佇下跤的格仔內底,有八个預測值會當用來預測目標 X。
- 數值一、二閣有三个是維的預測
- 數值四、五、六佮七是二維的預測
- 數值零隻能用佇咧差別編碼(differential coding)的這个分級操作模式的一旦所有的樣本攏有矣預測值,樣本間的差值會使使用霍夫曼編碼(Huffman coding)抑是術編碼(arithmetic coding)等待方法得著無失真的編碼。
一般來講,使用無失真正操作模式來壓縮彩色圖片,會當達到二 : 一左右的壓縮比,這操作模式佇醫學影像中足受歡迎的,嘛定義為數位負片(Digital Negative)的標準之一,但是因為複雜度所以無接著廣泛的使用。
JPEG-LS
JPEG-LS是一个無失真 / 接近無失真正連紲調(continuous-tone)圖片壓縮標準,這个標準會當分兩个部分,分別為在一九九八年獲得了 ISO 一爿四千四百九十五孵一認定的核心技術,閣有佇二空空二年得著 ISO 一爿四千四百九十五孵二認定的擴增技術的部份,JPEG-LS 是一个簡單而且有效率的演算法,包含兩个獨立而且獨特的層級,分別為建模(modeling)佮編碼(encoding), JPEG-LS 是為著會當提供比 lossless JPEG 閣較有效的無失真 / 接近無失真正的圖片壓縮創建出來,因為彼陣使用霍夫曼編碼的 JPEG lossless 猶閣有其他的標準壓縮效果並無真好,遮的壓縮方法並無法度達成足好的去相關(decorrelation)效果,毋過 JPEG-LS 會當得著足好的去相關(decorrelation)的效果,JPEG-LS 的核心技術乎是 LOCO-I 演算法,此演算法使用矣著殘餘項(residuals)的預測、建模、以及前文參考編碼(context-based coding), 因為共賰的項當做雙爿幾何分布(two-sided geometric distribution), 閣講號做離散拉普拉斯分布(discrete Laplace distribution), 以及 Golomb-like 碼(Golomb-like codes)的使用,所以會當有加較低的複雜度,除了無失真壓縮,透過控制絕對值誤差(maximum absolute)的上大值,JPEG-LS 嘛提供失真壓縮的選擇,JPEG-LS 的壓縮速度嘛比 JPEG 兩千以及原本的 lossless JPEG 標準加緊。
LOCO-I 演算法
咧編碼進前,有兩个必須愛做的步驟:去相關(decorrelation)以及精差建模(error modeling)
去相關(decorrelation)
佇咧 LOCO-I 演算法內底,垂直抑是水平的邊界偵測(edge detection)會使透過檢查目標像素(pixel)X 的周圍像素,如圖片三所示,像素 B 是直接的邊界,啊若素 A 是水平的邊界,這个簡單的預測式號做 Median Edge Detection 預測式,抑是講號做 LOCO-I 預測式,像素 X 透過 LOCO-I 預測式,像素 X 透過 In the LOCO-I algorithm , primitive edge 會當做出以下會當做:
$ $ X={ \ begin { cases } min ( A , B ) , & { \ mbox { if } } { \ mbox { C≥max ( A , B ) } } \ \ max ( A , B ) , & { \ mbox { if } } { \ mbox { C≤min ( A , B ) } } \ \ A + B-C , & { \ mbox { otherwise } } \ end { cases } } $ $
所以會有以下三種情形:
- 當 X 倒爿有一个徛直的邊界,會揀 B
- 當 X 頂頭有一个坐水平的邊界,會揀 A
- 若攏無,會揀 A + B-C
前文建模(Context modeling)
JEPG-LS 的演算法估計矣預測無差(prediction errors)的條件向望值 $ E \ left \ { \ e | Ctx \ right \ } $,前文建模(Context modeling)的目的是欲利用圖片中結構相𫝛的部份來對預測精差做編碼,前文(Context)是由已知的鄰近樣本的差異決定,會當用崎度(gradient)來表示:
$ $ { \ begin { array } { lcl } g _ { 一 } &=& D-B \ \ g _ { 二 } &=& B-C \ \ g _ { 三 } &=& C-A \ end { array } } $ $
坡度反映四周圍樣本的平滑度(smoothness)佮利利度(edginess)等的資訊,遮的精差對預測誤差佮統計特性有相當大的影響,對懸頂的式仔內底揣出的差值攏會量化,以 JPEG-LS 來講,差值會量化做九个無仝區域,分別以-四 ~ 四代表,量化的目的是欲使目前樣本的值佮前文(Context)的互信息(Mutual Information)上大化,咱會當對以下的假使做得著進前文:
$ $ P ( e | Ctx=[q _ { 一 } , q _ { 二 } , q _ { 三 }] )=P (-e | Ctx=[-q _ { 一 } ,-q _ { 二 } ,-q _ { 三 } ] ) $ $
伊佇合併矣正號佮負號了後,來得著前文伊有三百六十五个,佇咧 LOCO-I 算法是一个改進後的演算法,加法佮減法的次數已經減少真濟,division-free bias 的計算過程會當對 [ ] 得著論證,會當透過這寡反饋機制減少預測的偏差,得著閣較精確的預測
有仝款的區域通做遊程編碼(Run-length encoding)
佇咧 JPEG-LS 的一般模式,使用矣 Golomb–Rice 碼(Golomb–Rice codes)來做非負遊程(non-negative run lengths)的編碼,猶毋過 Golomb–Rice 碼做低抹的編碼是誠無效率,因為編碼的速率上無愛一个元 / 符元(one bit per symbol), 所以定定會造成誠濟趁錢(redundancy), 為著避免產生傷濟賰的碼,會當使用字元擴充(alphabet extension)的方法。
JPEG-LS 優點
會當選擇無失真 / 接近無失真壓縮模式
透過控制絕對值誤差會當選擇無仝模式。
壓縮速度較緊
JPEG-LS 的壓縮速度比起 JPEG 兩千以及原本的 lossless JPEG 標準加緊。
複雜度較低
JPEG-LS 特別適合低複雜度的硬體,因為複雜度袂講蓋懸,煞會當得著袂䆀的無失真壓縮效果。
JPEG 兩千
JPEG 兩千有一个無失真的模式,是基於小波轉換的圖像壓縮,猶毋過 JPEG 兩千的不失真模式編碼速度較 JPEG-LS 慢,嘛定定佇咧人為抑是合成的圖片頂懸有較差的壓縮比較,猶毋過 JPEG 二千嘛是較會當楦闊的,較進步的,而且很廣泛使用的壓縮格式。
外部連結
http : / / www . jpeg . org / jpegls / index . html
http : / / www . jpeg . org / jpeg 兩千 / index . html