パフォーマンスの最適化12_Android HDディスプレイ画像:ハフマンアルゴリズム(編集)

Androidのパフォーマンスの最適化の概要

原則

同じ絵は、効果が総統卓に電話IOS電話より良い効果に表示されていますか?

  • 画像処理エンジン画像処理エンジンは、PC skiaに使用されています
  • ハフマンアルゴリズム-符号化アルゴリズムを削除します。固定長符号化アルゴリズムを使用する
    **理由:**ハフマンアルゴリズムは他のアルゴリズムを使用するように強制、食べるために非常にCPUであるので、その時に、CPUとメモリは、携帯電話にタイトで非常に貧弱なパフォーマンスです。
    要件:リフティングのAndroidデバイスのハードウェア・レベルを使用すると、画像のショーより良い結果を作る、Androidデバイス上でアルゴリズムの性能のよりコストパフォーマンスの一部を使用することができます
    **実装:**バイパスアンドリュースビットマップAPI層を自分へ----修理ハフマン符号化アルゴリズムを

基盤のための画像

ARGB
4つの画素情報を包含する:アルファ、赤、緑、青

ABCDE

ABCDE acdbe bacde ......

101,010,100,011,100
A:001
B:010
C:011
D:100
E:101
3ビットを有する固定長コード最適に属し、文字情報を表現します。

ABCDE
001 010 011 100 101
重量情報符号化

A:80%の
B:10%
C:10%
D:0%の
E:0%
この場合、エンコーダは、最適化することができる
01:A
B:10
11:Cは、
ABCを最適化:01 11 10
ABCを最適化する前に:001 010 011

質問です:
どのように再出現するすべての右の文字を取得するには?
ハフマン符号化:真の情報をスキャンする必要があります(画像を-各ピクセルがARGBを含み)、計算の薬剤が多数を、それがCPUを食べています。

1280個の800画素 4

三つのインポートライブラリ-libjpegライブラリのダウンロードJPEGエンジンの使用

http://www.ijg.org/

いくつかの開発を行うには、このエンジンをベース----独自のコードを達成。

  1. インポートライブラリファイルlibjpegbither.so
  2. インポートヘッダファイル
  3. 書き込みMKファイル
    Android.mk
    Applicatoin.mk
  4. 書き込みコード
    C ++:XX.cpp
    C:XX.c

4つのステップ

  1. ビットマップは、復号とのRGBデータに変換アンドロイド
    画像メッセージ-ピクセル(ARGB)
    アルファ除去しました
  2. JPEGオブジェクトの割り当てと初期化スペース
  3. 圧縮されたデータのソースを指定します。
  4. ファイル情報の取得
  5. このような画像のサイズ、種類、色空間のような圧縮永久歪みパラメータ、
    ブールarith_code; / * TRUE =算術コーディング、FALSE =ハフマン* /
  6. コンパクト今
    jpeg_start_compress()
  7. 圧縮端
    jpeg_finish_compress()
  8. リソースを解放
公開された229元の記事 ウォン称賛72 ビュー15万+

おすすめ

転載: blog.csdn.net/baopengjian/article/details/104227300