CCD Kamerasignal mit µC Speichern und kompremieren

Hallo,

Ich möchte gerne ein CCD (S/W) Kamerasignal auf ein Digitales Speichermedium bannen (USB Stick, SD- Karte, Ram, Festplatte…)

wie stell ich das genau an??

Also ich weiß, dass das Videosignal mit Spannungen von 0-1 Volt arbeitet, wobei 0-0,3 Volt die Steuersignale beschreiben (Zeilenende und Vertikalsprung). Die Spannungen 0,3-1 Volt stellen die Helligkeitswerte da.

Ist es jetzt möglich die Signale mit dem Analogeingang des µC zu abzutasten, damit sie dort erstmal digital in einen Speicherbereich abgelegt werden?

so nach den Motto:

Speicherbereich (Beispiel für ein Bild mit der Auflösung 5*5):

Speicher:…….Wert:…………………….Spannung (V):
0000-0005……00;10;20;30;40 [hex]……0,30;0,34;0,39;0,43;0,48
0006-000A……00;10;20;30;40 [hex]……0,30;0,34;0,39;0,43;0,48
000B-000F……00;10;20;30;40 [hex]……0,30;0,34;0,39;0,43;0,48
0010-0014……00;10;20;30;40 [hex]……0,30;0,34;0,39;0,43;0,48
0015-0019……00;10;20;30;40 [hex]……0,30;0,34;0,39;0,43;0,48

würde also einen schwachen Helligkeitsverlauf von links (schwarz) nach rechts (weiß) geben.

Die „Steuersignale“ habe ich jetzt vernachlässigt und so getan, als würde ich diese schon dazu benutzen um den µC zu sagen das wir uns in der nächsten Bildzeile befinden.

Da es natürlich für ein Bild mit einer Auslösung von beispielsweisen 160x120, riesigen Datenmengen wäre, möchte ich jetzt noch für jedes Einzelbild eine Konvertierung haben, die parallel zu der zyklischen „Bildrohdaten“ Speicherung verläuft. (dazu könnte ich auch einen weiteren µC benutzen)

Da gibt es doch sicher gängige Formeln für (JPG vielleicht).

Sind diese denn auch in einen µC implementierbar?

und wenn ich die Bilddaten jetzt als komprimierte JPG aus den zweiten µC bekomme möchte ich diese gerne als Datei, oder als Film auf ein Speichermedium schreiben…

Das ganze soll natürlich kontinuierlich geschehen.

Würde das überhaupt klappen, wegen Abtastrate des µC?

Wie sieht es mit der Arbeitsgeschwindigkeit aus, kann ein µC Daten von 160x120 Bildpunkten verarbeiten, und davon min. 15 Bilder die sek.

also bei einer Graustufenskalierung von 160; 00-FF [hex] und diesen Wert 288000-mal (19200Pixel x 15 Bilder/sek.) pro Sekunde, in 2 Doppelworte???

Wenn das hier ein erfahrender Elektroniker liest wird er wahrscheinlich beide Hände über den Kopf zusammenschlagen, aber das ist so ziemlich alles an Informationen, was bei mir von µC´s hängen geblieben ist.

trotzdem wäre ich dankbar wenn mir jemand bei meinen Problem helfen könnte.

Gruß Mark

Hallo Mark,

Also ich weiß, dass das Videosignal mit Spannungen von 0-1
Volt arbeitet, wobei 0-0,3 Volt die Steuersignale beschreiben
(Zeilenende und Vertikalsprung). Die Spannungen 0,3-1 Volt

Wenn du das Normsignal verwendest, hat das 50 Halbbilder und je 625 Zeilen pro Bild.

Da es natürlich für ein Bild mit einer Auslösung von
beispielsweisen 160x120, riesigen Datenmengen wäre, möchte ich
jetzt noch für jedes Einzelbild eine Konvertierung haben, die
parallel zu der zyklischen „Bildrohdaten“ Speicherung
verläuft. (dazu könnte ich auch einen weiteren µC benutzen)

Bei 160 Pixel/Zeile musst du das Signal schon etwa mit 2.7MHz abtasten können.
In etwa 0.37µs musst du

  1. erkennen, dass der ADC fertig ist
  2. den Wert aus dem ADC auslesen
  3. den Wert im Speicher ablegen.

Dabei darfst du nicht vergessen, dass dein µP auch noch die Opcodes aus dem Speicher lesen muss.

Das Ganze musst du noch mal Zwei nehmen, die Daten müssen ja auch noch gleichzeitig aus dem µP rausgeschrieben werden.

Und dann brauchst du noch Rechenleistung für alles andere !!

Da das Ganze in Realtime ablaufen soll, kannst du dir keine Verzögerungen leisten.

MfG Peter(TOO)

Hallo Peter,

erstmal danke für deine Antwort.

leider habe ich bisher noch keine genaue Signalform einer solchen Kamera im Ausgang gefunden, da muss ich mir wohl so eine kaufen und diese an ein Oszilloskop anschließen. Dann weiß ich erst, welches Signal der Mikrocontroller auswerten wird.

Könntest du mir den trotzdem einen Mikrocontroller nennen, der diesen Ansprüchen genügt, anhand der geschätzten Anforderungen?

Die Anforderungen:

  1. ein 2,7Mhz Signal muss umgewandelt werden, und in den Speicher abgelegt werden

  2. Der Speicher muss innerhalb eines Zyklus bearbeitet werden via Komprimierungsverfahren, zum Beispiel MPEG-1 oder MPEG-2 (wenn die Rechenleistung/zeit nicht reicht kann man auch nur jeden zweiten Zyklus bearbeiten. Was eine niedrigere Frame zahl bedeutet)

  3. Die Daten müssen nach dem Berechnen über eine Schnittstelle (USB, LIN, CAN usw.) auf ein Speichermedium (noch nicht festgelegt) geschrieben werden.

Falls ein Controller das alleine nicht schafft kann ein zweiter die Berechnungen zum komprimieren übernehmen

Gruß Mark

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

keine Lust, mach mal selber o.w.T.
o.w.T.

Hallo Mark,

warum willst Du das machen?

Mir scheint nämlich, daß Du gar keine realistische Vorstellung vom Aufwand hast, der im Endeffekt nur dazu dient, das Rad neu zu erfinden.

Geht das, was Du vorhast, nicht auch mit einer Kombination von CCD-Kamera, Videokarte (oder Digital-Video-Kamera und Firewire-Anschluß des Computers, oder Web-Cam und USB) und Speicherung als AVI-Datei, eventuell MPEG-Komprimierung?

Es sieht auch so aus, als ob Dir spezielle Kenntnisse weitgehend fehlen, sodaß auch ein großer Aufwand an Hilfeleistung entstehen würde, der womöglich nur einer Hobby-Spielerei dienen soll. Ich würde mich auch hüten, darauf einzusteigen.

Bezüglich Kenntnisse: z. B. braucht Dich nicht besonders zu interessieren, was aus der CCD-Kamera für ein Signal herauskommt, weil es ohnehin ICs (z. B. EL1881) gibt, die Video- und Synchronisationssignale trennen und zur weiteren Verarbeitung zur Verfügung stellen.

Von dem Aufwand, den sehr komplizierten und äußerst rechenleistungs-intensiven MPEG-Komprimierungsalgorithmus in einen Mikrocontroller zu implementieren, ganz zu schweigen. Dieser Mikrocontroller müßte dann mindesten eine Rechenleistung vergleichbar einem PIII/> 1 GHz haben. Das macht auch niemand so, da gibt es eigene Chips dafür als Hardware-Implementierung, die in Kameras oder Videokarten eingebaut sind.

Grüße,

I.

Hallo,

Ich möchte gerne ein CCD (S/W) Kamerasignal auf ein Digitales
Speichermedium bannen (USB Stick, SD- Karte, Ram,
Festplatte…)

wie stell ich das genau an??

Die einfachste Möglichkeit, die mir einfällt : nehme ein Mobile Telefon, mach die Aufnahme, nehm die Speicherkarte raus.

Also ich weiß, dass das Videosignal mit Spannungen von 0-1
Volt arbeitet, wobei 0-0,3 Volt die Steuersignale beschreiben
(Zeilenende und Vertikalsprung). Die Spannungen 0,3-1 Volt
stellen die Helligkeitswerte da.

Ist es jetzt möglich die Signale mit dem Analogeingang des µC
zu abzutasten, damit sie dort erstmal digital in einen
Speicherbereich abgelegt werden?

I.A. haben die uP seeehr laaaangsame AD Wandler eingebaut. Da bekommst Du nicht so viele Punkte pro Zeile abgetastet.

Da es natürlich für ein Bild mit einer Auslösung von
beispielsweisen 160x120, riesigen Datenmengen wäre, möchte ich
jetzt noch für jedes Einzelbild eine Konvertierung haben, die
parallel zu der zyklischen „Bildrohdaten“ Speicherung
verläuft. (dazu könnte ich auch einen weiteren µC benutzen)

Auch da rate ich zum Handy, da ist es schon eingebaut. Willst Du es selbst machen, dann empfehle ich das Buch : ISBN 0-7803-6032-X Buch anschauen Wireless Video Communications. Die haben nämlich ähnliche Einschränkungen wie Du zu bewältigen. Hat 1093 Seiten, dabei steht aber noch nicht alles drin, was Du so als Algorithmic zur Reduzierung nehmen könntest ( Deinem uP wirds reichen )

Wenn Du die freie Wahl hast nehm besser ein existierendes Format für die Auflösung ( wenn es für full CCD nicht reicht )

  • 4CIF mit 704*576, CCIR 601 mit 720*480, CIF 352*288, QCIF 176*144, Sub-QCIF mit 128*96

und wenn ich die Bilddaten jetzt als komprimierte JPG aus den
zweiten µC bekomme möchte ich diese gerne als Datei, oder als
Film auf ein Speichermedium schreiben…

Im Prinzip würde ein 2. Prozessor die Performance verdoppeln. Theoretisch müssen zusätzlich noch die Daten ausgetauscht und die Timings angepasst werden. Dann besser nach einem/r anderen Prozessor/klasse Ausschau halten.

Das ganze soll natürlich kontinuierlich geschehen.

Geht nicht, Dein Speichermedium wird ( sehr ) bald voll sein.

Wie sieht es mit der Arbeitsgeschwindigkeit aus, kann ein µC
Daten von 160x120 Bildpunkten verarbeiten, und davon min. 15
Bilder die sek.

Ja, kann ein uC, siehe Handy und Digitalkamera ( oder benutzen die DSP ? )

also bei einer Graustufenskalierung von 160; 00-FF [hex] und
diesen Wert 288000-mal (19200Pixel x 15 Bilder/sek.) pro
Sekunde, in 2 Doppelworte???

Das ist nicht das Problem. Dein Input sind 50 Frames pro Sekunde, jeweils 625 ( halbe ) Zeilen macht 64 us, in denen Du 160 Werte aufnehmen willst. Ergibt eine Wandelzeit von ca. 400ns. Eigentlich etwas weniger, da auch Zeitanteil für den „Zeilenrücklauf“ verbraten wird.

–> Suche einen uP, der AD mit 350 us Wandelzeit hat und in 400 us ein Byte abholen und im (externen) Ram ablegen kann.
Alternativ suche einen externen ( schnellen ) Wandler und eine MPU mit DMA. Dann können die Daten ( mit Tricks ) per DMA eingelesen werden. Dazu wären diverse Datenblätter und Tassen Kaffee hilfreich.

Ist die Zeile eingelesen, kann der uP die Beine hochlegen. In 1 Sekunde willst Du 15 Frames mit 120 Zeilen ( = 1800 Zeilen / s ) einlesen. Du liest also 64 us ein und hast dann 490 us Zeit, die Daten zu analysieren, bevor die nächste Zeile eingelesen wird ( Trick : es muß ja nicht unbedingt die folgende Zeile sein ).

Wenn das hier ein erfahrender Elektroniker liest wird er
wahrscheinlich beide Hände über den Kopf zusammenschlagen,

Manchmal kommt es mir so vor, als ob sie dafür bezahlt werden.

aber das ist so ziemlich alles an Informationen, was bei mir
von µC´s hängen geblieben ist.

trotzdem wäre ich dankbar wenn mir jemand bei meinen Problem
helfen könnte.

Willst Du es realisieren ?

Gruß Uwe P.

Nachtrag
Nochmal Hallo,

Vor ca. 170 Jahren hat hier schon mal das Thema stattgefunden. Damals war eine Antwort : TVP5145. Googel mal danach, nimmt Deiner CPU ein wenig Arbeit ab.

Freundlichst,

Uwe P.

Hi Uwe,

danke erstmal für deine Tipps, also das ganze soll möglichst in ein Modell U-Boot passen, dazu noch in eins was ich nicht alle 10 Minuten aus den Wasser nehmen möchte, daher die große Datenrate.

Außerdem begebe ich mich gerne auf neue Gebiete, und lerne durch solche Herausforderungen viel dazu, weil mich ein gewisser (naiver) Ergeiz packt.

Auch wenn es schwer zu realisieren ist, so möchte ich doch am Ball bleiben. Sogar wenn ich auf die Nase damit falle, so habe ich doch was dazugelernt.

Ich werde mich da noch mal weiter Reindenken. Immerhin kann ich es als mein Hobby bezeichnen.

Also ich habe es vor zu realisieren. Wenn es dich interessiert, oder du noch weitere Informationen hast können wir ja in Kontakt bleiben.

Gruß Mark

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Idomeneo,

auch danke für deine Antwort,
du hast völlig recht, das mir die Kenntnisse weitgehend fehlen, aber wie du auch einem Beitrag höher nachlesen kannst, so ist das mein Ergeiz etwas zu lernen, und natürlich meinen Hobby, der Bastelei, nachzugehen.

Der erste Grundstein der Hilfe ist schon gegeben, mich auf eine alternative hinzuweisen, von der ich wirklich keinen Schimmer hatte „oO“.

Oder ein Buch, in dem ich genau über dieses Thema nachlesen kann. Nur musst du zugeben, dass es einfacher ist, etwas zu lernen, wenn man mit Messstrippen Lötkolben etc. hantiert, und dabei das Resultat Live beäugeln kann…

In diesem Sinne,

Danke und Gruß

Mark

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Katzenkamera?
Hallo Mark,

vielleicht wäre das etwas für Dich:

http://www.mr-lee-catcam.de/index_de.htm

Es ist eine kleine Billig-Kamera, die für eine automatische Aufnahme (1 Aufnahme pro Minute, Speicherung auf SD-Card) adaptiert wurde, sie wird einer Katze umgehängt, um zu sehen, was die so treibt. Vielleicht kann man sie auch sonst noch sinnvoll verwenden.

Du kannst es fertig kaufen, oder selber machen, Du kannst dazu bereits vorbereitete Teile beziehen.

Grüße,

I.

Hi,

das mit der Katzenkammera ist cool, das habe ich schon vor einiger Zeit gefunden. Nur die Stromaufnahne ist ein bischen hoch, und Videos sind bestimmt auch nicht möglich.

Aber die Idee ist gut…

Gruß Mark

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]