kazumalab tech log

流行りとリラックマと嵐が大好きです。技術的ログ。

Lepton圧縮技術について

あけましておめでとうございます。
本年もよろしくお願いします。


正月ですが、気になったことがあったのでメモしておきます。


それがこちら。

github.com


2016/07/20にOSSになったということで少し前のお話ですが、
leptonという圧縮技術で、JPEGが平均で22パーセント圧縮できるそうです。

実際に使って見る

blog.kazumalab.com

この記事同様、適当な場所でLeptonをクローンしてきて、/usr/local/binへシンボリックリンクを貼ってあげます。

$ cd ~/.local/
$ git clone https://github.com/dropbox/lepton.git
$ cd lepton

ここからはREADMEに従ってmakeして行きます。
cmakeを使うのでいれてない場合はbrewでサクッといれておきます。

$ brew install cmake


次に./lepton以下にbuild用のフォルダを作成し、cmakeを実行します。
そのあとmakeします。

$ mkdir -p build
$ cd build
$ cmake ..
$ make -j8

makeする際に -j8とあるのは並列化を行うための引数です。

-j [jobs], --jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If
there is more than one -j option, the last one is effective. If
the -j option is given without an argument, make will not limit
the number of jobs that can run simultaneously.

manで詳細を見て見ます。
引数に同時実行したい個数を指定すると並列実行してくれるそうです。

makeが終わるとこのような感じになってます。

[100%] Linking CXX executable lepton-avx
[100%] Built target lepton
[100%] Built target lepton-avx

シンボリックリンク

さてmakeが終わりました。
buildフォルダのleptonをusr/local/binへリンクを貼ります。

$ sudo ln -si ~/.local/lepton/build/lepton /usr/local/bin

これでどこでもleptonが使えるようになります。

$ lepton test.JPG com.lep

上記のように使います。
comは適当な名前を自分でつけます。

全天球写真で試す

Theta Sで撮った写真は4Mありました。
これをLeptonでどれぐらい変わるのか試します。

使う写真はこちら
sinariovr.com

[11:12:16] kazuma:images $ du test.JPG 
7736[Kバイト]        test.JPG
[11:20:36] kazuma:images $ du com.lep 
5768[Kバイト]	com.lep

だいたい2Mぐらい圧縮されている計算になりますね。
JPGに戻す場合は1つ目の引数をlep、2つ目をJPGにします。

圧縮時間も仕様も難しくないのでいいですね。