AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
JPG

JPEGコーデック制御ライブラリ

本モジュールは以下の機能を提供します。

  • JPEGデコード
  • JPEGエンコード

※エンコードとデコードを同時に行うことはできません。

対応フォーマット

  • ベースライン形式のJPEGに対応しています。※プログレッシブ形式は非対応です。
  • YUV422及びYUV420に対応しています。(※YUV444は非対応)
    • YUV422はサンプリングファクタが次の場合にのみ対応します
      • SOF0フレームの要素で Y(H1=2,V1=1), U(H2=1,V2=1), V(H3=1,V3=1)
  • Exifは非対応です
  • デコード時、次の表のマーカーは非対応です。
非対応マーカー 
マーカーコード 
内容 
SOF2 
FFC1~FFC7 
プログレッシブフレームヘッダ 
APP0~15 
FFE0~FFEF 
アプリケーションマーカー 

 

画像サイズ

  • 圧縮/伸張時の最大画像サイズは、以下の通りです。
    • キャプチャ入力時:1280×4096画素
    • YUV422フォーマット時:8192×4096画素
    • YUV420フォーマット時:8192×8192画素
  • 圧縮/伸張時の最小サイズは8×8画素です。

 

入出力バッファ

  • バッファのサイズは8pixel の倍数でなければなりません。
    • デコード:デコード先のバッファを 8pixel の倍数サイズに切り上げて確保する。
    • エンコード:可能であれば一回り小さい 8pixel の倍数サイズに切り下げてエンコードする(切り上げると不要なデータが混入するため)。ただしstride はもとの画像サイズのままにする。
    • キャプチャ入力によるエンコード:必ず 8pixel の倍数で入力する。
  • エンコードデータ出力先バッファの先頭4Byteには、エンコードデータのサイズが格納されます。エンコードデータは、先頭4Byteの後に格納されます。
  • デコード時はストリームデータに4バイト以上のダミーデータを付加する必要があります。
  • バッファ上の色成分の順序はAG903の他の機能と同じで次のとおりです。
    • YUV形式: バイト順 U Y0 V Y1 ... (32ビットでは Y1|V|Y0|U)
    • RGB形式: バイト順 B G R X ... (32ビットでは X|R|G|B)

 

ライブラリ使用上の注意

  • このライブラリを使用するためにはJPEGコントローラへのクロック供給が必要です。
    • コントローラに対するクロックの供給については『AX51903仕様書』を参照して下さい。
  • エンコードはキャプチャから直接入力することもできますが、インターレース信号の場合は PGP でのIP変換によりプログレッシブへ変換する必要があります。
  • バッファ管理ユニット(BMU)との接続先はJPEGでの動作により次の表のように換わります。
コーデック種別 
BMUモジュール 
内容 
エンコード 
SNKモジュール 
BMU から YUVデータを入力します 
デコード 
SRCモジュール 
BMU へストリームデータを出力します 
  • エンコードする画像をキャプチャから入力する場合、キャプチャ画像サイズをJPEGに入力する段階でエンコードサイズ以上となるように設定してください。

  サイズに満たない場合、エンコードが終了せず、キャプチャ(PGP)がタイムアウトエラーとなります。 

  特に、エンコード中にカメラ撮影を中断、画像前処理をとめたりするようなアプリケーションでは注意してください。

  • パラメータ(サイズ、画像品質等)を変更する場合、コーデック処理を終了し、初期化してから行ってください。

本モジュールが動作するために次のライブラリが必要です。

基本動作シーケンス(画像をクリックして拡大) 

 

<説明> 

1. モジュール初期化。「AG903_JPGMgrInit」 

2. ハンドル取得。「AG903_JPGMgrGetHandle」 

3. コールバック関数登録。「AG903_JPGMgrSetHooks」 

4. コーデック初期設定。「AG903_JPGMgrInitCodec」 

コールバック(コーデック初期化完了割込み)を登録した場合は処理完了でコールバックが返ります。 

5. コーデック動作開始。「AG903_JPGMgrStartCodec」 

コールバック(バス転送完了)を登録した場合は処理完了でコールバックが返ります。 ※その他コールバックを登録した場合は各条件発生でコールバックが返ります。 

6. コーデック動作終了。「AG903_JPGMgrEndCodec」 

※繰り返しコーデック処理を行う場合は本API使用せずに AG903_JPGStartCodec を実行可能。 

7. ハンドル解放。「AG903_JPGMgrReleaseHandle」 

注:コントローラに対するクロックの供給を予めシステムレジスタで設定しておく必要があります。詳細は『AX51903仕様書』参照。

名前 
説明 
JPEGエンコード、およびデコード機能を提供します。 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.