2012-02-28 3 views
11

私は100のランダムな整数値の配列を持っているとしましょう。 代わりに明示的に格納するのではなく、最初の格納し、各連続する整数の間の距離を置くことができます。この保存方法とは何ですか?

このメソッドはどのように呼び出されますか?

私はこのメソッドが完全に無意味だと知っていますが、隣り合わせに連続した頂点が実際に近い3Dモデルデータを保存すると便利です。32ビットを使用する代わりに、8ビットの配列整数。

+0

私はそれらの間の距離を意味していません...メモリ内のバイトを参照していますか?または、値nとn + 1との差は、 – MGZero

+0

[相対エンコーディング](http://www.newmediarepublic.com/dvideo/compression/adv05.html)のようなサウンドです。 –

+0

彼は数字の間の距離を意味します。距離の数学的定義があります - それは| a - b |です。 – Griwes

答えて

15

私はあなたがdelta encodingを探していると信じて:

デルタエンコーディングは、おそらく、最も単純な例が保存されて...

シーケンシャルデータの差分の形式でデータを格納または送信する方法です値自体ではなく、連続する値間の差(デルタ)としてのバイトの値。したがって、2,4,6,9,7の代わりに、2、2、2、3、-2を格納します。

+1

サイドノート:私は非常に専門家ではありませんが、多くの最新のデジタルビデオ圧縮コーデックではこのコンセプトを使用してビデオを圧縮しています:ビデオ全体のフレームをキーフレームと呼んで保存し、 (新しいキーフレームが毎回あります)。 – dotnetengineer

+1

@dotnetengineer最新のビデオコーデックはそれよりもさらに複雑です!スタンドアロンフレームである「L」、前フレームを使用できる「P」、双方向である「B」の3種類のフレームがあります。さらに!彼らはフレーム全体を使用する必要はなく、むしろ「スライス」と呼ばれる空間領域を使用する必要があります。そのため、Lフレーム間でH264ビデオを切り抜いて再エンコードしないと、数秒間の奇妙な色の四角形が動き回ることがあります。 – nwellcome

+0

@nwellcomeお勧めします:)説明をありがとう。しかし、私のオリジナルポイントは、_delta encoding_はデジタルビデオ圧縮の重要なコンセプトだと思いますが、それでも正しいのですか? – dotnetengineer

関連する問題