0

MATLAB で単純な jpeg デコーダーを設計しようとしています。.jpg 画像を取得し、その画像のヘッダーをデコードします。次に、SOS ヘッダーの後のスキャン データをデコードし、64 ピクセルのブロックを作成します。

(スキャンデータをデコードする順序: ハフマンデコード、逆量子化、逆ジグザグ、逆 DCT、レベルシフト、クランプ、Ycbcr から RGB への変換)

上記のデコード プロセスは正しいと思います。64 ピクセルのブロックごとに実行し、ブロックのサブサンプリング効果も決定しました。今、私はYチャンネルとCbおよびCrチャンネルの構造の下にあります:(CbおよびCrチャンネルの係数2のサブサンプリングがあるとします)

[16*16 ピクセル] , [16*16 ピクセル] , [16*16 ピクセル] , [16*16 ピクセル] , [16*16 ピクセル] ,... ..., [16*16 ピクセル] , [16*16 ピクセル] .

上のブロック配列の長さは imageWidth*imageLength/256 (割り切れると仮定)

今、私の質問は次のとおりです。ブロックの上から画像全体を復元する方法、つまり、デコードされた画像全体を取得するには、ブロックの上でどのように並べ替えて配置する必要がありますか?

4

0 に答える 0