のFPGA実装では、標準quantisation
およびhuffman tables
を使用しています。FPGA上のMotion JPEG用のハフマンテーブルの生成
質問:
は、我々はその場でハフマンテーブルを生成することはできますか。
フレームが入力として与えられると、FPGA
のブロックは、frame
の対応するhuffman tables
を生成する必要があります。
block
は、いくつかの今後のフレームが同様のものになるため、いつかリラックスすることができます。
私はすでにvitter algorithm
(動的ハフマン符号化)を行っています。しかし、それがハードウェア効率的であるとは思わない。
すでにFPGA上に実装されている人や、実装している人から、もっと多くのアイデアが得られれば助かります。このような
何か:事前に
tables = huffmantables(frame)
// wait for some frames
感謝!!
私は標準のテーブルを使用しており、圧縮率は良好です。私はいくつかの研究論文を読んで、動的テーブルを使って圧縮率を2倍にできることを示唆しています。私は最適なテーブルをまだ使用していません。 あなたのアドバイスとして、私はまず '最適化されたハフマンテーブル 'を試し、'圧縮率 'をチェックします。 「Cr」と「Y」のすべての「ハフマンROM」のハードコーディングが本当に好きではありません。標準データは、各画素値に対して割り当てられた確率を提供しない。 ピクセルの確率でリソースを共有すると非常に役に立ちます。私はそれらをどこにも見つけません。 – vikram9866
エンコードする内容と量子化テーブルによって異なります。暗いイメージをエンコードする場合、Yの値が低いほど確率が高くなります。利用率が一定の場合は、サンプルビデオを分析してください。そうでなければ、私はJPEGやMPEG2のような別のビデオ規格の標準テーブルを使用します。プロフェッショナルなビデオフォーマットの中には、ハーフマンテーブル(DNxHDのようなもの)を固定しているものもあります。あなたはもっとうまくいくかもしれませんが、適応型エントロピーコーディングを使った新しいフォーマットは複雑さを減らしてより良い仕事をします...それを行う前に本当に価値があることを確かめてください!単純にする! –