2012-02-28 17 views
11

Załóżmy, że mam tablicę 100 losowych wartości całkowitych. Zamiast zapisywać je wyraźnie takimi, jakimi są, mogę zamiast tego zapisać pierwszy i ustawić odległość między kolejnymi liczbami całkowitymi.Jak nazywa się tę metodę przechowywania?

Jak nazywa się tę metodę?

Wiem, że ta metoda wydaje się zupełnie bezwartościowa, ale może być przydatna do przechowywania danych modelu 3D, gdzie kolejne wierzchołki przechowywane obok siebie są bardzo bliskie: zamiast używać 32 bitów, mógłbym użyć tablicy 8-bitowej liczba całkowita.

+0

Nie podążam za tym, co masz na myśli przez odległość między nimi ... Czy odnosisz się do bajtów w pamięci? Lub różnica między wartością n a n + 1? – MGZero

+0

Brzmi jak [kodowanie względne] (http://www.newmediarepublic.com/dvideo/compression/adv05.html). –

+0

On oznacza odległość między liczbami. Istnieje matematyczna definicja odległości - to | a - b |. – Griwes

Odpowiedz

15

wierzę szukasz delta encoding:

kodowania Delta jest sposobem przechowywania lub przesyłania danych w postaci różnic pomiędzy danymi sekwencyjnych ...

Być może najprostszym przykładem jest przechowywanie wartości bajtów jako różnice (delta) między wartościami sekwencyjnymi, a nie same wartości. Tak więc, zamiast 2, 4, 6, 9, 7, przechowalibyśmy 2, 2, 2, 3, -2.

+1

Uwaga boczna: Jestem bardzo daleko od bycia ekspertem, ale wierzę, że wiele nowoczesnych cyfrowych kodeków kompresji wideo wykorzystuje tę koncepcję do kompresji wideo: przechowywanie klatki wideo w całości, zwanej klatką kluczową, a następnie przechowywanie różnic między dwiema klatkami od tego czasu on (z nową klatką kluczową co jakiś czas). – dotnetengineer

+1

@dotnetengineer Nowoczesne kodeki wideo są jeszcze bardziej skomplikowane! Niektóre mają trzy typy ramek: "L", które są samodzielnymi ramkami, "P", które mogą korzystać z poprzednich klatek, a "B", które są dwukierunkowe. Ponadto! Nie muszą nawet używać całych ramek, ale raczej regiony przestrzenne zwane "plasterkami". Dlatego jeśli przycinasz wideo H264 pomiędzy ramkami L i nie kodujesz ponownie, widzisz do kilku sekund dziwnych kolorowych prostokątów poruszających się. – nwellcome

+0

@nwellcome Dobrze wiedzieć :) Dziękuję za wyjaśnienia. Domyślam się jednak, że kodowanie _delta_ jest ważną koncepcją kompresji cyfrowego wideo, wciąż jest poprawne? – dotnetengineer

Powiązane problemy