Bilder beim kopieren "beschädigt"

M1ch1

Lieutenant
Registriert
Nov. 2009
Beiträge
786
Hey,

Ich habe mal ne kleine technische Frage:

Ich habe letztens die Bilder von meiner SD-Karte auf meinen Laptop kopiert, und dann von diesem Über das Netzwerk auf meinem Desktop. Was dabei allerdings ankam, entsprach nicht wirklich dem Ursprünglichen Bild. (siehe Anhang)

Wie zu erkennen ist, wird der untere Teil des Bildes mit einem gelbstich und leicht versetzt angezeigt. Bei anderen Bildern ist der Farbwert blau, oder grün.

Nun frage ich mich, wie so ein Fehler entstehen kann, und ob es auch zu Fehlern bei der Übertragung gekommen sein kann, die nicht derart prägnant ins Auge stechen. Den eigentlich sollte doch die Datei komplett zerstört sein, wenn etwas bei der Übertragung schief läuft.

Grüße
M1ch1
 

Anhänge

  • Bild kaputt.jpg
    Bild kaputt.jpg
    1,5 MB · Aufrufe: 762
Die Datei muss nicht komplett zerstört sein.

Ich weiß nicht genau wie die .jpg formatierung funktioniert, aber grundsätzlich kann man es sich so vorstellen:
Jeder Pixel bekommt 3 Bytes für das RGB-Farbschema (Rot Grün Blau). Diese Bytes liegen aneinander gereiht in einer Liste.
Falls jetzt irgendein Fehler in der Übertragung (warum auch immer) auftaucht, kann es sein, dass einfach nur ein Wert dazwischen geschoben wurde / gelöscht wurde, und auf einmal sind aber auch ebenfalls alle nachfolgenden Pixel falsch von der Farbe her.

D.h. obwohl ein größeres Stück "falsch" gefärbt ist, kann es sich trotzdme nur um einen kleinen Übertragungsfehler handeln.
Beim erneuten kopieren kam das gleiche Bild an?
Was passiert wenn du das Bild über einen Filehoster "kopierst"?

PS:
Obige Erklärung ist nur ein Eindruck aus meiner (begrenzten) Erfahrung mit Bildern im Programmierbereich. Die Erklärung kann allein durch das Format schon komplett falsch sein, bietet aber einen möglichen Ansatz.
 
>Nun frage ich mich, wie so ein Fehler entstehen kann
Ein Bit kippt, passiert ab und an, meistens (so gut wie immer) wird halt fehlerfrei kopiert.

>und ob es auch zu Fehlern bei der Übertragung gekommen sein kann
Muss kein Übertragungsfehler sein, gibt viele Stellen wo ein Fehler passieren kann.

>und ob es auch zu Fehlern bei der Übertragung gekommen sein kann, die nicht derart prägnant ins Auge stechen
Kann passieren. Je nachdem wie viel des JPEG oder sonstwas Algorithmus kaputt sind.

>Den eigentlich sollte doch die Datei komplett zerstört sein, wenn etwas bei der Übertragung schief läuft.
Nö. Keine Ahnung wie genau der Algorithmus bzw. die Datei aufgebaut ist, aber darauf kommt es wohl an. Wenn ich z.B. ein Dateiformat entwick(e)le welches das Bild in Blöcken speichert und einer davon ist beschädigt, dann stimmt wohl der Rest des Bildes. Wenn die gesamte Datei Farbinfos und Koordinaten enthält, dann ist es evtl. kritischer, je nach Schaden. Wenn am Ende der Datei Infos wie Uhrzeit usw. sind und da was schief geht dann ist das Bild wohl noch heil...

Edit: Auch ich hab keine Ahnung wie der Krempel funktioniert und nur grobe Vorstellungen. Mathe und Info sind doch was schönes :D
 
Zuletzt bearbeitet:
Hi

Sind alle Bilder so rübergekommen , oder nur dieses eine ?

Hier liegt aber ganz Klar ein Übertragungs Fehler vor !

Du sagtest ja erst von SD Karte auf Laptop , und dann übers Netzwerk.

Überprüfe dieses Bild nochmal auf allen Quellen .

Mfg.
 
denke auch mal das es reine Übetragungsfehler sind von der SD-Karte..vielleicht hat die Karte ein weg...
 
Die leichteste Art wie so ein Fehler im Allgemeinen entstehen kann ist ein bit-flip error, ein oder mehrere bits kippen durch Übertragungs-/Messstörungen von 0 auf 1 oder vice versa - wie schon von den vorigen Antwortern beschrieben. Dagegen hilft ein Dateisystem das mit verschiedenen Methoden fehlerkorrigierend eingreifen kann (Checksums, Snapshots, Kompression, Copy-on-Write, etc...). Einfache Flash-Speicher sind meist fat32 formatiert (wegen der Kompatibilität zu Kameras und anderen Geräten). fat32 ist äußerst einfach aufgebaut und kann auch kaum Fehler erkennen.

Und jetzt im Speziellen zum Fehler im jpeg:
jpeg und andere verlustbehaftete Bild/Video-algorithmen haben einige wahrnehmungsbezogene Tricks gemeinsam.

* Das Bild wird intern nicht in RGB gespeichert sondern im YCbCr Farbraum. Y ist der reine Graustufen Kanal, Cb (Blau-Gelb) und Cr (Magenta-Grün) sind 2 Farbkanäle die jeweils komplementäre Farben abbilden. Siehe hier:
https://upload.wikimedia.org/wikipedia/commons/d/d9/Barns_grand_tetons_YCbCr_separation.jpg

Der Vorteil darin ist, dass beinahe die gesamte Bildschärfe im Y Graukanal liegt - die Farbkanäle können viel effizienter komprimiert werden. Tatsächlich werden die Farbkanäle oft (je nach Einstellung) auf die halbe horizonale und vertikale Auflösung reduziert, da dies bei Fotografien praktisch nicht auffällt. Das nennt sich Chroma Subsampling.

* Zum anderen werden auch nicht einzelne Pixel der Kanäle gespeichert, sondern 8*8 Pixel Blöcke gebildet (bei Videos meist 16*16), die dann in diskrete Cosinus-Schwingungen (discrete cosine transform - DCT) zerlegt werden. Man macht also eine Art Frequenztransformation und der Vorteil ist, dass man die höchstfrequenten Schwingungen und diejenigen Komponenten, welche den kleinsten Kontrastunterschied verursachen, wegwerfen kann um die Kompression zu erhöhen (ähnlich auch bei Audiodateien). Das bedeutet halt auch den Verlust von genauer Bildinformation und daraus ergeben sich die typischen jpeg Artefakte.

Und genau da ist der Fehler passiert, einer dieser Blöcke im Cr-Kanal (Magenta-Grün) ist unleserlich geworden und alle nachfolgenden Blöcke in diesem Kanal können dadurch nicht mehr verwendet werden, wahrscheinlich weil es zu einem binären Verarbeitungsfehler geführt hat. Bei Mediendateien wird dem Nutzer halt vorzugsweise ein fehlerhafter Inhalt angezeigt als eine Fehlermeldung, sofern das noch möglich ist.
 
Zuletzt bearbeitet:
ok Danke für die ganzen Antworten.

Wuste bisher nicht, dass bei Jpeg die Informationen der vorherigen Blöcke mitbeachtet werden. Deswegen war ich von der Trennung des Bildes etwas irritiert.

Vielen dank für die Hilfe ;)
 
Interssant zu wissen, hatte das Probem mit den halb kaputten Bildern auch schon.
 
Mein alter Rechner, ein e2160 von 1,8 auf 3ghz übertaktet, hat durch das OC und in Verbindung mit der Kamera als Cardreader damals (Eventuell auch mit der Software) auch solche Fehler produziert.
Ohne Kamera also mit einem normalen Card-Reader und ohne Software hatte ich keine Probleme mehr.
 
Zurück
Oben