問題タブ [lossless-compression]
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.
compression - テキストのみの圧縮アルゴリズムの現状は?
ハッター賞を記念して、テキスト圧縮のトップ アルゴリズム (およびそれぞれの簡単な説明) は何ですか?
注: この質問の意図は、圧縮プログラムではなく、圧縮アルゴリズムの説明を得ることです。
java - Java でのロスレス ビデオ コーデック再生
フレームのシーケンスをロスレス ビデオ コーデックでエンコードし、Java アプリで再生する必要があります。ファイルサイズは気にしません。出力フレームは、入力フレームと正確に一致する必要があります。非可逆コーデックは、高いビット レートでもこれを行いません。
これらの有名なロスレス ビデオ コーデックはどれも、JMFまたはFMJでサポートされていないようです。
- ハフYUV
- CorePNG
- ラガリス
- FFV1
- ...
Java でサポートされているロスレス ビデオ コーデックをご存知ですか?
私が検討した他のオプション:
- アニメーション GIF: 再生は、実際のビデオ コーデックのように一定のフレーム レートであることが保証されていますか?
- 別々のフレームを読み込んで表示します。これを一定のフレーム レートで、多くのフレームを落とさずに行うのはどれくらい難しいでしょうか?
- Proce55ing: 動画再生ライブラリには Quicktime が必要ですが、私のプラットフォームでは利用できません。
編集: 最終的に、JMF の (非標準) MotionJPEG を最高品質で使用することに決めました。厳密には無損失ではありませんが、MPEG4 よりもはるかに優れた品質です。
compression - ハード ドライブのハードウェア ロスレス圧縮?
ハードウェア ベースのハード ドライブ暗号化に関するこの記事をたまたま見つけて、これがデータを保護するための優れた方法を提供するだけでなく、そのデータの暗号化に使用するアプリケーションの速度も向上させることに気付きました。
これは私を疑問に思いました...
すべてのデータがドライブに読み書きされるときに適切に圧縮または圧縮解除されるように、圧縮に対して同じことを行うことは可能でしょうか?
私はかなり長い間ファームウェアのプログラミングを行っていないので、これが技術的に可能かどうかさえわかりません.
ただし、そうであれば、おそらくかなり多くのストレージスペースが人々に提供される可能性があります.
このようなアプローチをファームウェアで使用するプログラミングの長所と短所は何ですか?
algorithm - ヘッダーレス出力を生成するロスレス圧縮アルゴリズムはどこにありますか?
ヘッダーなしの出力を生成する可逆圧縮アルゴリズムを知っている人はいますか? たとえば、圧縮に使用されたハフマン木を保存しませんか? ハードコーディングされたハフマンツリーについては触れませんが、出力にメタデータを保存せずに入力を圧縮および解凍できるアルゴリズムがあるかどうか知りたいです。それとも、これは理論的にも不可能ですか?
c# - C# で jpegtran、jpegoptim、またはその他の jpeg 最適化/圧縮を使用する
私がまとめたオンラインストアに来る各製品の10〜30枚の画像を含む100(おそらく1000)の製品があります。画質を落とさずに、画像のファイル サイズをできるだけ最適化する必要があります。
jpegtran、jpegoptim、またはその他の jpeg オプティマイザーを直接使用したことはありませんが、punypng は大きな jpeg 画像でファイル サイズを約 4 ~ 6% 縮小することに気付きました。
メタデータは、アップロード中に (jumpodader を介して) 画像から既に取り除かれているため、これはオプション/問題ではなくなりました。
jpeg オプティマイザーの 1 つを C# コードから実行する方法はありますか?
注: IIS7 および .Net 3.5 で共有の Godaddy ホスティングを使用しています。
lossless-compression - 圧縮画像
データの半分がさまざまな形式の画像である SQL Server2005 データベースを使用しています。すべての画像をjpeg2000形式に変換し、画像もリサイズ(サイズを縮小)したい。フロント エンド アプリケーションは、ダイアログにすべての画像を表示する VC++/MFC で作成されます。
画像をjpeg2000に変換する方法とサイズを縮小する方法のガイダンスを提供してください
javascript - 画像の読み込み時間を最適化します。(別の考え方)
インタラクティブな画像を作成しましたが、読み込みに少し時間がかかりすぎます。
インタラクティブな画像は次の場所にあります。
5つの画像を使用して、各状態をステップスルーします(クリックしてドラッグします)。画像を高品質に保ちたい。したがって、それ以上のjpeg圧縮は行われません(punypngおよびsmush.itを含む)。
ロード時間を短縮するためのアイデアはありますか?私は、データURI、キャンバス、PNG圧縮(クール)などを使用することに挑戦したいと思っています。
どんなアイデアや指針も役に立ちます。
更新: アドバイスをくれたすべての人に感謝します。あなたが与えたアドバイスを使用した場合、私はあなたにプラスワンを与えました。別の静的サブドメイン(s2)を設定しました。これは、今後数時間ほどで伝播するはずです。今日の後半に、おそらくいくつかの画像をこの新しいサブドメインに切り替えます。また、画像が読み込まれる順序を変更し、あちこちで他のいくつかの最適化を行いました。
私は誰かが各画像の冗長ピクセルを利用する方法を知っていることを望んでいました。すべての画像を1つのファイルにエンコードし、JavaScriptのキャンバスのgetImageData()を使用して巧妙な方法で読み取る方法はありますか?
http://www.eswd.com/southern/test.jpgでgetImageDataアプローチを試しましたが、jpegの損失がないため(Quality = 100!= 100%)、http://www.eswdが表示されます。 com / southern/test.aspx。これは良くありません。同じ手法を使用して画像をPNGとして保存すると、すべてのデータを含むjpegよりもファイルサイズが大きくなります(赤い境界線はありません)。
私は.APNGを使って作業し、そのようにピクセルデータを読み取ることを検討しています...しかし、フォーマットは開発の初期段階であるため、ファイルサイズをまったく縮小しないようです...そして私はmキャンバスでアニメーションの個々のPNGフレームを読み取れるかどうかわかりません。
image-processing - 非可逆圧縮による画像処理
無損失圧縮画像の画像処理と非可逆圧縮画像の画像処理を比較すると、後者は前者に匹敵する結果を提供しますか。
可逆圧縮によって生成された画像は人間の目には問題ありませんが、コンピューターによる画像の処理に影響を与える可能性のある細部が異なるため、この質問をしています。しかし、私はどのくらい言うことはできません。
networking - 非常に少量のデータ (3-4 kib?) に最適な圧縮ライブラリは何ですか?
私はQuake 2から大まかに派生したゲームエンジンに取り組んでおり、スクリプト化された効果のようなものを追加しています(クライアントが可能な限られた数のハードコードされた効果のみを持つのではなく、サーバーがクライアントに詳細に特殊効果を指定できるようにします) of.) これは、ネットワーク効率と柔軟性のトレードオフです。
面白い壁にぶち当たりました。最大パケット サイズは 2800 バイトで、フレームごとにクライアントごとに 1 つのみ送信できます。
「火花」エフェクトを実行するスクリプトは次のとおりです (弾丸の衝突火花、電気ショックなどに適しています) http://pastebin.com/m7acdf519 (理解できない場合は、気にしないでください。これは私が作成したカスタム構文であり、私が求めている質問には関係ありません.)
そのスクリプトのサイズを縮小するために可能な限りのことをしました。変数名も 1 文字に減らしました。しかし、結果はちょうど 405 バイトです。つまり、フレームごとに最大 6 個のこれらを収めることができます。また、サーバー側の変更でさらに 12 削減できる可能性があることと、プロトコルの変更でさらに 6 削減できる可能性があることも念頭に置いています。ただし、どのスクリプトを使用しているかによって、節約できる量は異なります。
ただし、これらの 387 バイトのうち、41 バイトだけが効果の複数の使用法の間で一意であると推定されます。つまり、これは圧縮の最有力候補です。
R1Q2 (拡張ネットワーク プロトコルを備えた後方互換性のある Quake 2 エンジン) に Zlib 圧縮コードが含まれているのはたまたまです。私はこのコードを持ち上げるか、少なくとも参照として厳密に従うことができます。
しかし、ここでは Zlib が必ずしも最良の選択でしょうか? 少なくとも 1 つの代替手段、LZMA を思いつくことができます。
要求事項:
- 非常に高速である必要があります (1 秒間に 100 回以上実行した場合、パフォーマンスへの影響が非常に小さい必要があります)。
- できるだけ多くのデータを 2800 バイトに詰め込む必要があります
- メタデータのフットプリントが小さい
- GPL互換
Zlib は良さそうですが、もっと良いものはありますか? このコードはまだマージされていないため、実験の余地が十分にあることに注意してください。
ありがとう -マックス
編集:スクリプトをバイトコードにコンパイルすることを提案した人に感謝します。私はこれを明確にするべきでした--はい、私はこれを行っています。必要に応じて、私の Web サイトで関連するソース コードを閲覧できますが、まだ「きれいに」作成されていません。
これはサーバー側のコードです:
Lua コンポーネント: http://meliaserlow.dyndns.tv:8000/alienarena/lua_source/lua/scriptedfx.lua
C コンポーネント: http://meliaserlow.dyndns.tv:8000/alienarena/lua_source /game/g_scriptedfx.c
私が投稿した特定のサンプル スクリプトの場合、これは 1172 バイトのソースを 405 バイトに減らしますが、それでも十分小さくはありません。(これらをできるだけ多く 2800 バイトに収めたいことに注意してください!)
EDIT2: 特定のパケットが到着するという保証はありません。各パケットには、以前のパケットで伝達された情報に依存することなく、「世界の状態」が含まれていると想定されています。通常、これらのスクリプトは「見栄え」を伝えるために使用されます。1 つの余地がない場合、パケットからドロップされますが、それは大したことではありません。しかし、あまりにも多くのドロップが発生すると、見た目がおかしくなり始めます。これは望ましくありません。
c++ - 1.66kBytes などの小さなデータに最適な圧縮方式は何ですか?
このデータは (C++ を使用して) 配列に格納され、それぞれが異なる 125 ビットの繰り返しです。また、最後にそれぞれ 12 個の ASCII 文字の 8 つのメッセージがあります。配列内で差分圧縮を使用する必要があるかどうかを提案してください。
または、配列全体に他の圧縮スキームを適用する必要がありますか?