2011-12-14 27 views
5

jpegファイルの解析に問題があります。私がSOS(スキャンの開始)マーカーを押すと、私が理解していないことを意味するバイトはほとんどありません。 SOSマーカーの後には、ヘッダー長の2バイト(画像上のLs部分)があります。しかし、画像の残りの部分(例えば、Ns、Cs1など)と、純粋なデータがどこから始まるのか。 SOS jpeg file headerjpegファイルの解析、SOSマーカー

答えて

4

CS1はコンポーネント選択指数であり、これはバックSOF部を指す(水平および垂直サンプリングファクタが指定される場合)

TD1が電流成分(Cs1の)

用DCテーブル選択であります

Ta1は現在のコンポーネント(Cs1)のACテーブルセレクタです

Ss、SeおよびAh、A1は現在のスキャンデータのスペクトル選択を定義します(これはプログレッシブビットマップで使用されます。より低い周波数が、最終ラウンドで示される。詳細な周波数)は

示され再スキャンデータは、要約するとアル

後に開始あなたの答えのための

SOS (2 bytes) 
Ls (2 Bytes) 
Ns (1 byte) 
Component Specific Parameters (Ns * 2 bytes) 
Ss (1 byte) 
Se (1 byte) 
Ah,AL (1 byte) 
... scan data ... 
+0

Thxを、しかし、コンポーネント仕様パラメータのを除いて、私はオリジナルを作るために、他のバイトが必要なのか画像(私はすでにハフマンテーブルとコードを生成しており、量子化テーブルを読んでいる) – MrD

+0

シンプルなJPEGの場合、高さ、幅、地平線と垂直サンプリング係数、ハフマンテーブル、量子化テーブル、マーカの再開(オプション)、Cs1、 Cs2、Cs3、もちろんスキャンデータそのものです。プログレッシブjpgの場合、複数のフレームが表示されます – Jimmy

+0

プログレッシブであることと、単純なjpegとプログレッシブjpegの違いは何ですか? – MrD