FELICS(Fast Efficient & Lossless Image Compression Systemの略)は、従来のロスレスJPEGコーデックよりも5倍高速で、同等の圧縮率を実現するロスレス画像圧縮アルゴリズムです。[ 1 ]
これは、米国ロードアイランド州プロビデンスにあるブラウン大学コンピュータサイエンス学科のポール・G・ハワードとジェフリー・S・ビッターによって発明され、1993年にユタ州スノーバードで開催されたIEEEデータ圧縮会議で初めて発表されました。ハードウェアに実装され、火星偵察オービターのHiRISEの一部として展開されました。[ 2 ]

連続階調画像用の他のロスレスコーデックと同様に、FELICSは画像の相関を除去し、エントロピーコーダーでエンコードすることによって動作します。相関を除去したコンテキストは、どこ そしてどこピクセルの最も近い 2 つの隣接ピクセル (因果関係があり、デコーダで既にコード化され、既知) は、現在のピクセルをコード化するためのコンテキストを提供するために使用されます。上端と左端を除き、これらはそれぞれ上のピクセルと左のピクセルです。例えば、図中のピクセルXの隣接ピクセルはAとBですが、Xが左側にあった場合は、隣接ピクセルはBとDになります。
P は、約半分の時間、閉区間 [L, H] 内に収まります。それ以外の場合は、H より上または L より下になります。これらはそれぞれ 1、01、00 として符号化できます (p. 4)。次の図は、ピクセルの (理想化された) ヒストグラムと、x 軸に沿った強度値、y 軸に沿った出現頻度を示しています。 
範囲[L, H]におけるPの分布はほぼ均一であり、中心付近に小さなピークが見られる。この範囲の。P が範囲 [L, H] に入る場合、P − L は、範囲の中央の値が floor(log 2 (Δ + 1)) ビットを使用し、両端の値が ceil (log 2 (Δ + 1)) ビットを使用するように調整されたバイナリ コードを使用してエンコードされます (p. 2)。たとえば、Δ = 11 の場合、0 から 11 の P − L のコードは、0000、0001、0010、0011、010、011、100、101、1100、1101、1110、1111 になります。
範囲外では、P は両側で幾何分布 に従う傾向があります (p. 3)。これは、以前の選択に基づいて選択されたパラメータを持つRice コードを使用してエンコードされます。各 Δ と各可能な Rice コード パラメータkについて、アルゴリズムは範囲外のピクセルをエンコードするために使用されたであろうビットの総数を追跡します。次に、各ピクセルについて、ピクセルの Δ に基づいて Rice コードを選択します。
FELICSの改良点には、Δとkを推定する方法が含まれています。例えば、HowardとVitterの論文では、比較的平坦な領域(特にL=Hの場合、Δが小さい領域)にはノイズが存在する可能性があることを認識しており、これらの領域では、区間を広げて実効Δを増やすことで圧縮性能が向上します。また、これまでに観測されたすべての予測残差の平均に基づいて、特定のΔに対する最適なkを推定することも可能です。これは、各kに使用されるビット数を計算するよりも高速で、メモリ使用量も少なくて済みます。