ご依頼内容
- Deflate圧縮・伸長を行うモジュールをFPGAに実装する。その際に、リファレンスとして、Deflate圧縮・伸長を行うソフトウェアを開発して欲しい。
- 圧縮率を上げるために、Deflate圧縮のペイロード部分のみを利用し、ヘッダ部分やgzip等で用いられるファイル用のヘッダ部分は削除すること。(ヘッダ、フッタ、CRCは除去する。)
- 符号化は固定ハフマン符号化に限定する。
課題
- Deflate圧縮の規格に沿った実装にすること。
- 本プログラムでDeflate圧縮したデータを、FPGAで展開できることを確認すること。
- お客様がご自身で、簡単にカスタマイズできるようなコーディングを行うこと。
ソリューション
- お客様のご要望に沿ってカスタマイズした、Deflate圧縮の規格に沿った圧縮アルゴリズムを実装し、C言語とPythonのプログラムとして提供した。
結果
- 本プログラムで、画像データをDeflate圧縮し、そのデータがFPGAで伸長できることを確認した。
(注意) Deflate圧縮は、ロスレス(Loss Less)圧縮なので、圧縮前後で画像に変化はありません。
- Deflate圧縮はハフマン符号化を用いており、gzip, zip, png等、様々な圧縮・符号化のベースとなる技術です。今回のように、規格に沿った実装が重要となります。
- 弊社は納品に際して、サンプルデータとの入出力の一致や、すでに一般的となっている別の実装方法等で得たデータと入出力を確認し、お客様の手元で動作が保証されるようにしています。
- 規格のリファレンスに限らず、先行技術や先行研究との比較のために、リファレンス用のプログラムを開発することも良くあります。ご関心のあるお客様は、お気軽にお問い合わせ下さい。
ひとこと
ハフマン符号化は、学生時代に学習した記憶はありますが、実装まで踏み込んで行うのはあまり無かったので、面白いプロジェクトでした。
ちなみに画像のLenaさんですが、私の元上司は、MPEGの会合で、生のLenaさんに会ったそうです。
写真は、かなり若い頃のものだそうですが、あれから何十年も経ってましたが、
ちゃんとLenaさんだったそうですよ!
お問い合わせ
開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。