0

私はしばらくの間これを理解しようとしてきましたが、役に立ちませんでした.

UIImage または保存された JPG を変換して YUV422 データを取得する必要があるため、いくつかの画像拡張を適用し、その結果を JPG または UIImage に戻すことができます。

現時点では少し行き詰まっています。この時点では、YUV422 にしようとしています。

どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

0

メタデータを判別するには、最初に JPEG マーカーを読み取る必要があります。サイズ、サンプル レート (通常は 4:2:2 ですが、常にではありません)、量子化テーブル、ハフマン テーブルなどのメタ データ。

次に、エントロピーでエンコードされたデータ セグメントをハフマン符号化する必要があります。これにより、DC 係数が得られ、その後に各チャネルのカラー チャネルの AC 係数がジグザグ形式で表示されます。次に、エントリをジグザグにして、対応する量子化テーブルで乗算する必要があります。最後に、デコードされたマクロブロックで逆離散コサイン変換を実行する必要があります。

これにより、JPEG がエンコードされたサンプルレートで、YCrCb (YUV はアナログ用) で 3 つのチャネルが得られます。4:2:2 にする必要がある場合は、再サンプリングする必要があります。

うまくいけば、実際の JPEG デコードを行うためのライブラリがあることを願っています。これは、準拠したものを作成するのは簡単ではない作業だからです。

これは、技術的な詳細を提供するために書き始めた、非常に基本的で欠陥のある JPEG デコーダーです。Ruby JPEG デコーダIDCT の実装がうまくいかない

C で正しく実装するには、 IJG をお勧めします

于 2011-01-09T00:25:01.870 に答える