2012-02-28 20 views
11

Digamos que tengo una matriz de 100 valores enteros aleatorios. En lugar de almacenarlos como están, puedo almacenar el primero y poner la distancia entre cada entero consecutivo.¿Cómo se llama este método de almacenamiento?

¿Cómo se llama este método?

Sé que este método parece completamente inútil, pero podría ser útil para almacenar datos de modelos 3D, donde los vértices consecutivos almacenados uno al lado del otro son muy cercanos: en lugar de usar 32 bits, podría usar una matriz de 8 bits entero.

+0

No estoy siguiendo lo que quieres decir con distancia entre ellos ... ¿te refieres a bytes en la memoria? ¿O la diferencia entre el valor n y n + 1? – MGZero

+0

Suena como [codificación relativa] (http://www.newmediarepublic.com/dvideo/compression/adv05.html). –

+0

Él significa la distancia entre los números. Existe una definición matemática de la distancia: es | a - b |. – Griwes

Respuesta

15

creo que estés buscando delta encoding:

Delta codificación es una forma de almacenamiento o transmisión de datos en forma de diferencias entre los datos secuenciales ...

Quizás el ejemplo más simple es el almacenamiento valores de bytes como diferencias (deltas) entre valores secuenciales, en lugar de los valores mismos. Entonces, en lugar de 2, 4, 6, 9, 7, almacenaríamos 2, 2, 2, 3, -2.

+1

Nota al margen: estoy muy lejos de ser un experto, pero creo que muchos códecs modernos de compresión de video digital usan este concepto para comprimir video: almacenar un cuadro de video completo, llamado fotograma clave, y luego almacenar las diferencias entre dos fotogramas desde entonces encendido (con un nuevo fotograma clave de vez en cuando). – dotnetengineer

+1

@dotnetengineer ¡Los códecs de video modernos son aún más complejos que eso! Algunos tienen tres tipos de marcos: "L" que son marcos independientes, "P" que puede usar marcos previos, y "B" que son bidireccionales. ¡Además! Ni siquiera necesitan usar marcos enteros, sino regiones espaciales llamadas "rebanadas". Es por eso que si recorta un video H264 entre L cuadros y no vuelve a codificarlo, verá hasta unos pocos segundos de rectángulos de colores extraños que se mueven. – nwellcome

+0

@nwellcome Bueno saber :) Gracias por la aclaración. Supongo que mi punto original, sin embargo, es que _delta encoding_ es un concepto importante para la compresión de video digital, ¿sigue siendo correcto? – dotnetengineer

Cuestiones relacionadas