Lossless_JPEG
[Wikipedia|▼Menu]

Joint Photographic Experts Groupには、JPEGJPEG2000などよく知られた非可逆圧縮画像ファイルフォーマットの他に、3種類の可逆圧縮画像ファイルフォーマットがある。またそのうちJPEG-LSには非可逆モードが存在する。本稿では主にLossless JPEGとJPEG-LSについて述べる。
Lossless JPEG[ソースを編集]Fig. 1 DPCM エンコーダモデルFig. 2 ロスレスモードのブロックダイアグラムFig. 3 予測画素の3近傍画素

Lossless JPEGは1993年にJPEGの追加規格として開発された。非可逆のJPEGとは全く異なり、周囲3近傍(上隣、左隣、左上)による予測を行い、その予測残差に対してエントロピー符号化を行う。Lossless JPEGはIndependent JPEG Groupによるライブラリではサポートされていないが、Ken Murchisonによるパッチをあてることで使用可能となる。Lossless JPEGは医療に関わる場面やDNG、一部のデジタルカメラなどで用いられているが、それ以外ではあまり広くは用いられてはいない。
Lossless JPEGのアルゴリズム[ソースを編集]

Lossless JPEG[1]JPEGのモードの1つである。離散コサイン変換(DCT)を用いた手法では逆変換が厳密には定義されていないため、デコーダ出力がエンコーダ入力と完全に一致するとは限らない。そこで、完全に一致することが必要となる用途のためにこのモードが存在する。DCTを用いる非可逆JPEGとは異なり、ロスレス圧縮では差分パルス符号変調(DPCM)と呼ばれる簡単な予測符号モデルを用いる。これは、すでに符号化された隣接するサンプル値を用いて予測を行う方式であり、一般的には対象サンプル値の上隣と左隣の値の平均を用いる。そして、たいていの場合、あるサンプル値と次のサンプル値の差分は0に近いことを利用して、各サンプルを個別に符号化する代わりに予測サンプル値との差分値を符号化する。典型的なDPCMエンコーダはFig. 1のような構成となる。なお、図中のブロックは次のサンプルの処理まで、現在のサンプル値を記憶する役割を果たす。

ロスレスモードの主な処理の流れはFig. 2のようになる。この処理の中で、PredictorはFig. 3に示すXの予測値を計算するモジュールで、A, B, Cの3近傍のサンプル値を用いる[2]ため、これらはその時点で既に予測が完了している必要がある。また、Predictorとしては下の表で示される8つのうちのどれか1つが用いられる。ここで、1, 2, 3は1次元予測、4, 5, 6, 7は2次元予測であり、0は階層モードの誤差に対してのみ用いられる。一度すべてのサンプルが予測されれば、サンプルの予測誤差はハフマン符号算術符号を用いた可逆エントロピー符号によって得られる。

予測方式
0予測なし
1A
2B
3C
4A + B ? C
5A + (B ? C)/2
6B + (A ? C)/2
7(A + B)/2

ロスレスモードは、カラー画像に対してはおおよそ2:1程度の圧縮率となる[3]。このモードは医療分野の画像に対してよく用いられるが、一般的にはそれほど広くは用いられていない。
JPEG-LS[ソースを編集]

JPEG-LSは、モデル化と符号化と呼ばれる2つの独立した段階から成る、低コストで高性能な基本アルゴリズムである。もともとはLossless JPEGよりも効率のよいアルゴリズムとして、ニアロスレス画像圧縮を提供するために開発されたものである。用いられている全体的な相関性消去によって、以前の規格で採用されていた方式による予測残差よりも遥かにエントロピーが低くなっている[4][5]。JPEG-LSのPart1は1999年に完成し公開され、算術符号のような拡張はPart2として紹介された。アルゴリズムの中核は ⇒LOCO-I algorithmを元にしており、これは予測、誤差を用いたコンテキストモデリングによって成り立っている。また、予測残差が左右対称の幾何分布(離散ラプラス分布と呼ぶ)に従うと仮定し、そのような分布に対して有効なゴロム符号を用いることによって、低コストを実現している。その上、誤差の絶対値の最大をエンコード時に制御できるニアロスレスモードも提供している。大抵の場合、JPEG-LSはJPEG 2000よりも遥かに高速で、以前のLossless JPEGよりも圧縮率が高い。
LOCO-I アルゴリズム[ソースを編集]

モデル化には相関性消去(予測)とコンテキストモデリングの2つの重要な処理がある。
相関性消去/サンプル値予測[ソースを編集]

LOCO-Iアルゴリズムには、Fig. 3に示すX画素の近傍画素によって縦方向のエッジや横方向のエッジを検出する原始的なエッジ検出が使われており、縦方向の場合はBの画素、横方向の場合はAの画素を予測に用いる。この簡単な予測法はMedian Edge Detection(MED)[6]や、LOCO-I予測と呼ばれ、以下の式によってXの値を予測する。 X = { min ( A , B ) if C ≥ max ( A , B ) max ( A , B ) if C ≤ min ( A , B ) A + B − C otherwise . {\displaystyle X=\left\{{\begin{aligned}&\min(A,B)\quad \,{\mbox{if}}\,C\geq \max(A,B)\\&\max(A,B)\quad {\mbox{if}}\,C\leq \min(A,B)\\&A+B-C\quad \,{\mbox{otherwise}}.\\\end{aligned}}\right.}

この3種類の簡単な予測式は以下の条件を表している。(1) Xの左に縦方向のエッジが存在する場合にはBを用いる (2) Xの上に横方向のエッジが存在する場合にはAを用いる (3) エッジが存在しない場合には A + B - C を用いる
コンテキストモデリング[ソースを編集]

JPEG-LSは、それぞれのコンテキストCtxに所属するサンプルの平均 e ¯ ( C ) {\displaystyle {\bar {e}}(C)} を用いて、予測誤差の条件付き期待値 E { e 。 C t x } {\displaystyle E\left\{e|Ctx\right\}} を見積もる。予測残差のコンテキストモデル化によって、テクスチャパターンや局所的に変動の激しい画像も対応できる。コンテキストは局所的な勾配のような、近傍サンプルの差分値によって決まる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:30 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef