問題タブ [dct]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - DCTのIntelベースのハードウェアスピードアップ?
一部のIntelハードウェアを対象とした画像処理アルゴリズムを作成しています。一般に、一般的なC実装を好みますが、そのコアで非常にうまく機能する大量の離散コサイン変換(DCT)を実行するアルゴリズムを特定しました。残念ながら、スループット要件は、一般的なCの実装が約2桁遅すぎるというものです。他のいくつかのトリックで1桁を得ることができるので、DCTを約1桁改善できれば、成功への道があります。
Intel MMXは、これらのDCTを実行するためのハードウェアアクセラレーションを実現する方法ですか?これらの悪者をスピードアップするために利用できる他のインテル固有のライブラリやハードウェアはありますか?
どこを見始めますか?これは私にとって新しい仕事であり、Intelハードウェアを深く掘り下げるのは初めてなので、どんなポインタでも大歓迎です。
algorithm - 高速 DCT 変換
JPEG 圧縮プロセスで DCT 係数を生成するための標準的な式は、次の DCT 式です。
私は、この実装は高価 (遅い) であり、もっと高速な方法があることを知っています。DCT係数を生成するこの高速な方法の明示的な式はありますか?
c++ - Blackfin BF537の場合、VisualDsp ++5の*.cppファイルからasmに実装された関数を使用するにはどうすればよいですか?
このプロジェクトについては、「マイクロ信号アーキテクチャを使用したWiley-Embedded SignalProcessing.2007」で説明しています。2DDCT/IDCT(画像圧縮)を実装しました。画像を使用した別の個人プロジェクトと組み合わせます(これらのファイルを..に移動します)。Blackfin BF537のVisualDspでの処理(* .cppファイルのみ)。(最初はシミュレーターで、その後はBF537ボードで..)
実装されたプロジェクト2DDCT/IDCTには*があります。cおよび*。asmファイルとそれは非常にうまく機能します。ある時点で、いくつかの計算では、Cファイルからasmファイルで宣言(および実装)された関数を使用しています。
プロジェクト内でこれらの*.cファイル(* .cppファイルのみを含む)を移動すると、多くのエラーが発生し、次のようなエラーが発生することに気付きました。
したがって、プロジェクトには* .cppファイルだけが必要だと思います(*.cppと*.cの組み合わせではありません)。
2D DCT / IDCTプロジェクトでは、これらすべてを変更すると問題が発生します* 。cファイルを*に。cppファイル。ビルドしようとすると、次のリンクエラーが発生します。
の *。cppファイルこれは私がasmに実装された関数を呼び出す方法です:
同じ*で。cppファイル私は関数を宣言したヘッダーファイルをインクルードします:
そしてここに*の一部があります。関数を含むasmファイル:
機能付きアナログ$_r8x8invdct_ieee()
*英語の筆記ミスで失礼します
matlab - Sallee のコードを使用して MATLAB から量子化された係数を見つけるにはどうすればよいですか?
まず、これが宿題の質問であることを認めます。しかし、私は立ち往生しているようです。Phil Sallee の JPEG ツールボックスを使用して jpeg 画像からすべての量子化された係数を取得する必要があります(表の下部にある「更新」見出しの下にリンクがリストされています) (ヒストグラムを作成しますが、その部分はできれば処理できます)必要なデータを取得します)。サイズが約 5 MB の JPEG 画像があり、Sallee のコードを実行すると、このデータが返されます。
この画像から量子化された係数を取得するにはどうすればよいですか? 最初は、係数を吐き出すために次のようなことを試みたので、何を扱っているかを確認できました。
img_coef
quant_tables
上記のデータ ポイントには 2 つの要素があるため、2 回実行されます。ただし、これは、このような大きな画像の係数の量が非常に少ないようです。この点で私よりも知識のある人が私を正しい方向に向けることができますか? jpeg画像から量子化された係数をどこ/どのように引き出すのですか?
image - JPEG 画像圧縮: 量子化の問題
生の画像を jpeg 画像にエンコードする際に、8x8 データ ユニットがレベル シフトされ、2-D DCT を使用して変換され、量子化され、ハフマン エンコードされます。
最初に行 DCT を実行し、次に列 DCT を実行し、結果を最も近い整数に丸めました。このブロックを量子化モジュールに送りました。量子化中に、次の Q テーブルを使用しました。これらの表は、品質係数 99 に対して IJG によって推奨されています。
輝度テーブル1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1
1 1
1 1 2 2 1
1 1 1 1 2 2 2
1 1 1 2 2 2 2
1 1 2 2 2 2 2 2
1 2 2 2 2 2 2 2
1 1 1 1 2 2 2 2
1 1 1 1 2 2 2 2
1 1 2 2 2 2
1 1 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2
2 2
2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2
「2」で割っている間の量子化中に、結果をゼロから四捨五入しました。例: 11/2 = 6. したがって、デコード中の逆量子化中にすべての奇数に +1 のエラーが追加されます。
別のセットアップでは、丸め手法を変更しました。ここでは、結果をゼロに丸めています。例: 11/2 = 5. したがって、復号化中の逆量子化中にすべての奇数に -1 のエラーが追加されます。
2 番目のケースでは、ファイル サイズが非常に小さくなり (768x512 画像の場合、ほぼ 100 kb 小さくなります)、PSNR が大きくなります。2 で量子化すると「1」であるすべての AC 係数が 1 ではなく 0 になるということで、ファイル サイズが小さいことを説明できました。したがって、RLE はファイル サイズを小さくします。しかし、エンコードの画質が向上している理由を説明することはできません。2 ~ 3 dB 増加しており、テストしたすべての画像で発生しています。
私の主張は、DCT は基本的に A * DCTmatrix のどちらの側でも等しいエラーであるため、等しい損失が生じるはずです。しかし、ここではそうではありません。
video - 離散コサイン変換係数の除去
高周波DCT係数が8x8DCT係数マップの右下のサイズコーナーにどのようにあるかを証明する必要があります。DCTマップの右下隅からジグザグパターンで周波数成分がどのように減少するかについての理論が必要です。誰かが私にこれの参照を教えてもらえますか?
ラナありがとう。
image-processing - ハフマンエンコーディングはどのようにdct係数から画像(jpeg)を構築しますか?
512x512 の画像があり、それを再圧縮しようとしました。画像を jpeg ファイルに再圧縮する手順は次のとおりです。
しかし、ハフマン エンコーディングの前に、DCT 係数の数を数えたところ、393216 でした。これを 64 で割ると、DCT ブロック (8x8) の数がわかり、6144 になります。
次に、ピクセル ドメインの 8x8 ブロックの数を数えてみました。512/8=64 とすると、水平方向に 64 ブロック、垂直方向に 64 ブロックになります。ピクセル数が 512x512 = 262144 であるのに対し、64 x 64 = 4096 は DCT ブロックの数と等しくありません
私の質問は、ハフマン エンコーディングが魔法のように 393216 係数を 262144 ピクセルに変換し、各ピクセル値を取得し、圧縮画像 (jpeg) の寸法 (512x512) を計算する方法です。
よろしくお願いします。:D
php - MATLABのようにピクセルごとに画像を操作できるPHP用の画像処理ライブラリはありますか?
画像のDCTを計算する必要があるかもしれないプロジェクトに取り組んでいます。したがって、質問。
matlab - H.264 の DCT 実装
H.264 のビデオに DCT を実装しています。私は数冊の本を読み、それらが指定する係数に従いました。それでも、IDCT を実行すると、正しいイメージが得られないようです。どんな情報でもいいので教えてください。ありがとう!私のコードは次のとおりです。