問題タブ [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.
rgb - ロスレスRGBからY'CbCrへの変換
画像をロスレス圧縮しようとしていますが、規則性を利用するために、画像をRGBからY'CbCrに変換したいと思います。(ここでは、RGBとY'CbCrの意味の正確な詳細は重要ではありません。RGBデータは3バイトで構成され、結果を格納するために3バイトがあります。)
変換プロセス自体は非常に簡単ですが、1つの問題があります。変換は数学的に可逆ですが、実際には丸め誤差が発生します。もちろん、これらのエラーは小さく、事実上目立たないものですが、それはプロセスがもはやロスレスではないことを意味します。
私の質問は、3つの8ビット整数(赤、緑、青のコンポーネントを表す)を他の3つの8ビット整数(Y'CbCrに似た色空間を表す)に変換する変換が存在するかどうかです。位置に関して、または少なくともRGB色空間よりも少ない)、そしてそれは情報を失うことなく反転することができますか?
lossless-compression - 非常に大きなデータのロスレス データ圧縮 - 惑星の人工知能
地球規模の人工知能の環境を作りたい。非常に大きな世界で地下生活をシミュレートします。ウィキペディアによると、地球の表面積は 5 億 1007 万 2000 Km^2 です。同様の比率の正方形を作成したいと考えています。各ビットに 1 メートルを格納します。0 は汚れを意味し、1 は汚れの壁を意味します。
まず、この正方形の 1 行を格納する方法を計算してみましょう。1 行は 510072000000m で、各バイトは 8 メートルを格納できるため、1 行は 59.38GB で、全世界は 3.44PB になります。そして、少なくとも水と溶岩を各平方メートルに追加したいと思います。これにより、結果が 2 倍になります。
ロスレス データ圧縮アルゴリズムを使用して、この情報を圧縮する必要があります。私は最初に 7zip で非常に直接的なアプローチを試み、1 行が 6375B になる小さな世界で試しました。理論上は世界は 6375^2B = 38.76MB のはずなのですが、いざやってみると 155MB のファイルになってしまい、なぜこの差が出るのかわかりません。しかし、7Zipで圧縮すると40.1MBのファイルになります。これは大きな違いであり、その比率で 3.44PB のワールド ファイルを 912.21GB のファイルに変換します。
私の最初の考えは、数学的にはファイルを小さくする必要があると教えられているのに、なぜこんなに大きなファイルを持っているのでしょうか? 問題はコードかもしれませんし、数学でエラーがあったことかもしれません。コードは次のとおりです: (C#)
そして、数学は非常に基本的なので、何か間違ったことをしたとしても、それを見ることはできません.
何かアドバイスをいただけますか?私は進化的アルゴリズムの経験があり、世界はリアルタイムである必要はなく、必要なだけ時間がかかる可能性があるため、データ圧縮だけに集中してください。人工知能は問題ではありません。
ありがとうございました。
opencv - バイエルデータのロスレスコーデック
BGベイヤーパターンでネイティブにキャプチャする多くのカメラを使用しています。
これで、データを記録するたびに、aviコンテナー内の生のベイヤーパターンでディスクに保存します。問題は、これがしばらくすると本当に加算されるということです。1年間の調査の後、4TB近くのデータがあります...
したがって、このデータを圧縮するためのロスレスコーデックを探しています。libx264(--qp 0)、またはhuffYUV、dirac、またはjpeg2000を使用できることは知っていますが、これらはすべて、RGBまたはYUVデータがあることを前提としています。ベイヤードされたデータをRGBに変換してから圧縮するのは簡単ですが、最初にデータを3倍にすると、圧縮の目的が損なわれます。これはまた、デベイヤリングによって導入されたデアシスアーティファクトが私のソースデータにも含まれることを意味しますが、これもそれほど大きくはありません。ベイヤードされたデータを直接処理できるコーデックがあると便利です。
さらに良いのは、gstreamer(またはffmpeg)ですでにサポートされているコーデックがソリューションに含まれることです。これは私がすでに使用しているものだからです。
ios - 生成された GIF を可逆圧縮する方法はありますか?
次のコードを使用して、一連の JPEG 画像から GIF ファイルを生成しています。可逆圧縮を行う設定では、小さいサイズのファイルがまったく生成されないようです。私たちはここで正しいことをしていますか?
c# - C# での無損失画像圧縮に最適な形式
ビデオ フレームを個別に保存し、可逆圧縮する必要があります。私は C# で最適な方法と形式を探しています。つまり、実装の単純さ、適切な圧縮、合理的な処理要件の最適なバランスを意味します。
PNG が無損失であることは知っていますが、その圧縮は写真スタイルの画像には適していません。
Lossless JPEG 形式があることは理解していますが、これは C# で実装されていますか?
私が知らない他のオプションはありますか?
delphi - Delphi で事後に PDF を圧縮する
PDF-in-the-box と呼ばれるものを使用する PDF を作成するためのルーチンを使用するアプリがあります。PDF は圧縮されておらず、このコンポーネントでそれを達成する方法はないようです。Rave コンポーネントは圧縮イベント ハンドラーを実装します。私はこれを、Rave でゼロから設計された他のアプリでうまく使用しています。PDF-in-the-box のものを再コーディングしたくありません。Delphi を使用して、作成した後に PDF を圧縮する方法はありますか。
(これは画像圧縮ではありません。これは PDF コンテンツの無損失圧縮です。通常、PDF サイズが 3 分の 1 に減少します)。
PDF-in-the-box で作成した PDF を Adobe Reader で開き、再度保存することで、必要な効果をシミュレートできます。再保存された PDF ははるかに小さくなります。コードで同じことをしたいだけです。
ffmpeg - FFmpeg で最適化された画像?
Google PageSpeed は、私の Web ページの画像を最適化できることを推奨しています。無損失圧縮では平均 11% 節約できますが、私の画像は次の FFmpeg コマンドで作成されています。
これらの画像を最適化する方法はありますか?
android - クロスプラットフォーム(C ++ / Android)ロスレス/低ノイズビデオ圧縮/解凍用のライブラリ
ビデオストリームを圧縮して、ネットワークによってC ++ライブラリからJavaプラットフォーム(Android)に転送し、そこで解凍する必要があります。要件は次のとおりです。
- ライブラリは、AndroidプラットフォームとC ++の両方で使用できる必要があります(または、共通の形式を使用する2つの個別のライブラリ)
- 圧縮は、可逆または損失が少なく、アーティファクトが最小限である必要があります
- Library(-ies)は無料/オープンソースである必要があります
タスクの詳細は、ビデオストリームが航空機のMFDタイプになるため、複数のフレームにわたって同じままである多数のピクセルが存在することです。これは、圧縮に大いに役立つはずです。
上記の「簡単な道」はありますか?
compression - 大きなカスタム データ ファイルの圧縮を支援する方法
圧縮ツールがロスレス圧縮を改善できるように支援する方法についてアドバイスを求めています。
さまざまなセンサーからのセンサー読み取り値を含む大きなファイル (>100 メガ) が多数あります。さまざまなセンサーからのサンプルは、ビット サイズ (16 ビット、24 ビット、32 ビット) と周波数 (70Hz ~ 250Hz) が異なります。私が知っている一般的なコンプレッサー (zip、gzip、bzip2) を使用すると、元のファイル サイズの約 70% の圧縮ファイルを取得できます。これらのバイトがこのタイプのサンプルであり、それらのバイトが別のサンプルタイプであると圧縮ツールに伝えることができれば、圧縮が向上する可能性があるように思えますが、これを可能にするものは何も知りません。
python - Python で画像形式がロスレスかどうかを確認していますか?
送信された画像を無損失にする必要があるアプリケーションに取り組んでいます。現在、PIL で画像を開き、「format」属性がロスレス形式かどうかを確認しています。これには、形式のリストを手動で保持する必要があり、たとえば、送信された jpeg にたまたまロスレス バリアントが適用されているかどうかはわかりません。
画像ファイルが無損失かどうかを確認するより良い方法はありますか?