機能一覧に戻る

emCompress ToGo

組込みシステムで圧縮・解凍を実現

「emCompress ToGo」は、組込みシステムでの解凍だけでなく、組込みシステムでの圧縮・解凍をサポートします。本製品では、SEGGER 社が独自開発した可逆圧縮アルゴリズム「SMASH-v2(Small Microcontroller Advanced Super High)」により、リソースの限られた組込用マイコンでも軽快な動作と高い圧縮率を実現します。

多くのアプリケーションで利用メリットがあります。

リソースが限られた組込用マイコンで圧縮・解凍システムを利用することにより、多くのメリットを得ることができます。ストレージサイズの削減、データ転送帯域幅の削減、転送時間の削減などを実現します。

data logger

データロガー

データロガーに利用される低パフォーマンス、低RAM サイズのマイコンでも圧縮システムを利用し、ストレージサイズの削減をすることができ、より低コストの量産を実現

IoT application

IoT エッジデバイス

エッジデバイスでセンシングしたデータを圧縮転送することで、転送データ帯域幅の削減、転送時間の削減による省電力化、パケットサイズを削減できることによる運用コストの削減

medical devices

医療機器

IoT エッジデバイスと同様に、ウェアラブル医療機器・健康管理機器・モバイルデバイスなどで、データ圧縮・ストリーム圧縮利用により、データ転送帯域幅の削減や省電力化を図ることができます。

Aviation

航空宇宙

データ転送距離により制約のある帯域幅でのデータ転送通信時間を大幅に削減することができます。

Network appliance

ネットワーク製品

データ送信に必要な帯域幅を削減するストリーム圧縮を利用する事でネットワーク機器に適合することができます。

Home appliance

ホームエレクトロニクス

家電デバイスやパーソナルアシスト機器などで、Bluetooth、Zigbee など低消費電力通信を利用したデータ転送やファームウェアアップデートなどにおいて、大幅なデータ転送帯域幅の削減をすることができ、より短時間にデータ転送、ファームウェアアップデートを実現できます。

パフォーマンス: 圧縮率

「emCompress ToGo」で利用されるSEGGER 社独自可逆圧縮アルゴリズムの高い圧縮率

Compression ratios

パフォーマンス: 圧縮速度

利用できるマイコンRAM リソースに合わせて、ウィンドウサイズを大きくすることにより、パフォーマンスを向上することができます。例としてCortex-M7(200MHz)で256Byte のウインドウサイズのRAM to RAM 圧縮パフォーマンスは、約400KByte/sec となります。またRAM に追加の作業バッファを利用する拡張機能により、約1,500KB/sec の圧縮速度を実現することができます。

パフォーマンス: 解凍速度

解凍機能においては、ウインドウサイズなどのパラメータはパフォーマンスに大きな影響を与えません。
例としてCortex-M7(200MHz)でRAM to RAM の解凍を利用すると約6.3MB/sec の圧縮データ入力、約13MB/sec の解凍データ出力となります。ストリーム解凍API を利用して、逐次解凍する場合は、約4.3MB/sec の圧縮データ入力、約9MB/sec の解凍データ出力となります。

実装サイズ

■ RAM 使用量

SEGGER SMASH 圧縮解凍アルゴリズムでは、非圧縮部分を「ウィンドウ」として扱います。ストリーム圧縮の場合は、一度に2KB 以下のブロックを圧縮します。(最小設定256Byte)

■ ROM 使用量

解凍・圧縮には、それぞれRAMtoRAM API とストリームAPI の2 つの解凍エンジン(API)が用意されています。
RAMtoRAM 解凍API の実装ROMサイズは、約370Byte。ストリーム解凍API の実装ROMサイズは、約540Byte となります。
RAMtoRAM 圧縮API の実装ROMサイズは、約1.1KByte。ストリーム圧縮API の実装ROMサイズは、約1.28KByte となります。

PC サンプルアプリケーション

PC 用評価ソフトウェアパッケージ

SEGGER 社独自圧縮・解凍システムの圧縮率などを評価できるパッケージは無償でダウンロード出来ます。

PC 用評価ソフトウェア
パッケージダウンロード(ZIP)
ファイル名内容
ShowStats.bat同梱されているサンプルファイルをウインドウサイズパラメータ8 ~12 でSmash.exe 実行するWindows バッチファイル
Smash.exeWindows でのSMASH 圧縮エンジン実行ファイル
Unsmash.exeWindows でのSMASH 解凍エンジン実行ファイル
Blog.txtサンプルファイル:SEGGER 社テクニカルブログ
Firmware.binサンプルファイル:マイコン用ファームウェア
Firmware.hexサンプルファイル:ファームウェアHEX サンプル
FPGA.binサンプルファイル:FPGA ビットストリームサンプル
Index.htmサンプルファイル:SEGGER 社ウェブサイト
MIDI.midサンプルファイル:標準的な.midi ファイル
pc tool

組込みシステム用サンプルアプリケーション

target eval

組込みシステム用評価ソフトウェアパッケージ

「emCompress 評価可能評価ボード」の他、SEGGER Embedded Studio を利用して利用シミュレーションも可能です。「メモリからメモリ」「関数から関数」「メモリから関数」などの組み合わせ結果をシミュレーションプロジェクトでテストができます。

ターゲット・シミュレータ用
評価ソフトウェアパッケージダウンロード(ZIP)

簡単なステップで実現

1.「Start.emProject」を開きます。
2.アクティブなビルド構成を「Decode_Release」または「Encode_Release」で選択し、プロジェクトをビルド
3.デバッグセッションを実行
4.デバッグターミナルにサンプルアプリケーションの圧縮または解凍の結果が表示

よくある質問と回答

ストリーミングデータで利用できますか?

はい、利用可能です。サンプルプロジェクトで利用方法を確認いただけます。

ユーザアプリケーションで、圧縮して保存というような操作は可能ですか?

はい、利用可能です。

大きなファイルサイズの全体を解凍するのではなく、ファイルの一部を抽出する方法はありますか?

はい、チャンク(データの抽出量)サイズを予め設定する必要はありますが、可能です。サンプルプロジェクトで利用方法を確認いただけます。

圧縮時に都度パラメータを選択する必要はありますか?

特に設定する必要はありませんが、ウインドウサイズは、アプリケーション全体のRAM 利用状況からパラメータ設定することもできます。

機能一覧に戻る