Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: 100 milliarden Werte speichern!

  Alt 27. Jun 2006, 02:19
Zitat von alzaimar:
Das ist das alte Spiel der Datenkompression: JPEG zeigt, wie es so geht (Reduktion durch Interpolation).
Mh, kann man glaub ich so nicht stehen lassen, auch wenn es OT ist . JPEG geht lediglich in einem (kleinen) Teilaspekt mit Interpolation vor: Das Bild wird in das YCC-Format (bzw. YUV) gewandelt, und die beiden Farbkanäle werden (je nach Subformat aber auch nur!) meistens mit halber Größe behandelt. Die Interpolation beim Dekodieren ist meist sogar nur simples Vervielfältigen von Pixeln, da man den Unterschied kaum ohne technische Hilfe erkennen würde.
Der wesentliche Anteil der Kompression nutzt eine Reduktion um hohe Werte im Frequenzraum von Bildteilen aus (da sie wenig zum Bildeindruck beitragen), um dadurch lange 0-Ketten zu erzielen. Diese werden RLE komprimiert, und zum Schluss noch ein Huffman drübergejagt.


Zum Thema: Je nach dem wie die Daten aussehen, und ob du eine Zuordnung zu einer Skala (etwa das zeitliche Auftreten der Werte) machen kannst, wäre noch folgendes denkbar: Du speicherst nur wesentliche Veränderungen zu einem Vorgängerwert ab, und zusätzlich einen Zeitindex (oder was auch immer als Skala dienen kann) um (falls überhaupt nötig) eine skalentreue Rekonstruktion machen zu können.
Das würde allerdings erst effizient werden, wenn zu erwarten ist, dass der Wert nicht schnell oder oft große Differenzen bildet, da ja eine Zusatzinformation her müsste. Vorteil bei dem Vorgehen könnte sein, dass relevante Stellen (oftmals ja bei größeren Wertänderungen) nicht verloren gingen.
Da du uns aber bisher nicht sagen wolltest, was das für Werte sind, ist schlecht einzuschätzen ob das für dich toll ist


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat