ご依頼内容

  • Deflate圧縮・伸長を行うモジュールをFPGAに実装する。その際に、リファレンスとして、Deflate圧縮・伸長を行うソフトウェアを開発して欲しい。
  • 圧縮率を上げるために、Deflate圧縮のペイロード部分のみを利用し、ヘッダ部分やgzip等で用いられるファイル用のヘッダ部分は削除すること。(ヘッダ、フッタ、CRCは除去する。)
  • 符号化は固定ハフマン符号化に限定する。

課題

  • Deflate圧縮の規格に沿った実装にすること。
  • 本プログラムでDeflate圧縮したデータを、FPGAで展開できることを確認すること。
  • お客様がご自身で、簡単にカスタマイズできるようなコーディングを行うこと。

ソリューション

  • お客様のご要望に沿ってカスタマイズした、Deflate圧縮の規格に沿った圧縮アルゴリズムを実装し、C言語とPythonのプログラムとして提供した。

結果

  • 本プログラムで、画像データをDeflate圧縮し、そのデータがFPGAで伸長できることを確認した。
Deflate圧縮前

Deflate圧縮前

Deflate伸長後

Deflate伸長後

(注意) Deflate圧縮は、ロスレス(Loss Less)圧縮なので、圧縮前後で画像に変化はありません。

  • Deflate圧縮はハフマン符号化を用いており、gzip, zip, png等、様々な圧縮・符号化のベースとなる技術です。今回のように、規格に沿った実装が重要となります。
  • 弊社は納品に際して、サンプルデータとの入出力の一致や、すでに一般的となっている別の実装方法等で得たデータと入出力を確認し、お客様の手元で動作が保証されるようにしています。
  • 規格のリファレンスに限らず、先行技術や先行研究との比較のために、リファレンス用のプログラムを開発することも良くあります。ご関心のあるお客様は、お気軽にお問い合わせ下さい。

 

ひとこと

ハフマン符号化は、学生時代に学習した記憶はありますが、実装まで踏み込んで行うのはあまり無かったので、面白いプロジェクトでした。

ちなみに画像のLenaさんですが、私の元上司は、MPEGの会合で、生のLenaさんに会ったそうです。
写真は、かなり若い頃のものだそうですが、あれから何十年も経ってましたが、
ちゃんとLenaさんだったそうですよ!

 

お問い合わせ

開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。
 
LP_imasugu_toiawase