DE3852134T2 - Vorrichtung und verfahren zur aufbereitung von abgetasteten mikrofilmbildern. - Google Patents

Vorrichtung und verfahren zur aufbereitung von abgetasteten mikrofilmbildern.

Info

Publication number
DE3852134T2
DE3852134T2 DE3852134T DE3852134T DE3852134T2 DE 3852134 T2 DE3852134 T2 DE 3852134T2 DE 3852134 T DE3852134 T DE 3852134T DE 3852134 T DE3852134 T DE 3852134T DE 3852134 T2 DE3852134 T2 DE 3852134T2
Authority
DE
Germany
Prior art keywords
pixel
value
noise
values
background
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3852134T
Other languages
English (en)
Other versions
DE3852134D1 (de
Inventor
Scott Lewis
Roger Morton
John Redden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eastman Kodak Co
Original Assignee
Eastman Kodak Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eastman Kodak Co filed Critical Eastman Kodak Co
Publication of DE3852134D1 publication Critical patent/DE3852134D1/de
Application granted granted Critical
Publication of DE3852134T2 publication Critical patent/DE3852134T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/403Discrimination between the two tones in the picture signal of a two-tone original
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Description

  • Die Erfindung betrifft eine Vorrichtung zur Aufbereitung und Schwellenwertbildung abgetasteter Mikrofilmbilder im allgemeinen und zur Beseitigung des Rauschens einzelner Pixel aus diesen Bildern im besonderen sowie entsprechende Verfahren.
  • Grautonbilder verschiedener Vorlagen werden häufig zum späteren Abruf auf Mikrofilm abgespeichert. Dies hat den Vorteil, daß keine sperrigen Originale aufbewahrt werden müssen und infolgedessen Speicherplatz eingespart werden kann. Für einen manuellen Abruf eines mikroverfilmten Bildes (Zugriff auf ein mikroverfilmtes Bild) typisch ist, daß eine gewünschte Mikrofilmrolle, die das gewünschte Bild enthält, lokalisiert und in ein manuelles Lesegerät geladen und der Mikrofilm dann bis zu einem gewünschten Feld vorgeschoben werden muß, in dem sich das Bild befindet. Anschließend wird das Bild optisch vergrößert und auf dem Lesegerät dargestellt.
  • Um insbesondere bei Archiven, in denen eine beträchtliche Anzahl von Vorlagen aufbewahrt wird, die für den Abruf eines Bildes erforderliche Zeit so gering wie möglich zu halten und darüberhinaus die Möglichkeit zu schaffen, das abgerufene Bild elektronisch aufzubereiten und zu verarbeiten, sind Bildverwaltungssysteme entwickelt worden, die dem Fachmann bekannt sind. Ein typisches Beispiel ist das Kodak Image Management System (KIMS), das gegenwärtig von dem Zessionar der Erfindung hergestellt wird (KIMS ist ein Warenzeichen der Eastman Kodak Company). Im wesentlichen lokalisiert das KIMS-System zunächst die gewünschte Mikrofilmrolle und das gewünschte Bildfeld durch Abfragen einer Computer-Datenbank. In einem weiteren Schritt holt ein computergesteuertes automatisches Mikrofilmlesegerät, eine auch als Autolader bekannte sogenannte Filmbibliothek, die gewünschte Filmrolle und lädt sie dann in das Lesegerät. Anschließend schiebt die Filmbibliothek die Filmrolle automatisch bis zum dem gewünschten Bildfeld vor. Darauf wird das in diesem Bildfeld vorhandene Grauton-Mikrofilmbild von der Filmbibliothek elektronisch abgetastet und digitalisiert und das sich daraus ergebende digitalisierte Doppeltonbild schließlich einem lokalen Netzwerk zur Abspeicherung, Darstellung und zum Ausdrucken aufgeschaltet.
  • Im KIMS-System wird das Mikrofilmbild einer Vorlage zeilenweise von einem Mikrofilm-Scanner, nämlich einer darin vorhandenen CCD-Matrix mit 2048 x 1 Zellen, zeilenweise abgetastet. Die Matrix befindet sich dabei unmittelbar über (oder vor) dem mikroverfilmten Bild und verläuft im wesentlichen rechtwinklig zu der Richtung, in der sich der Mikrofilm durch das Lesegerät bewegt. Eine unter (oder hinter) dem Mikrofilm angebrachte Lampe beleuchtet das Bild von unten (oder von hinten). Infolgedessen erzeugt jede Zelle der CCD- Matrix ein analoges Signal, das der Helligkeit des Lichts proportional ist, das durch den Teilabschnitt der abgetasteten Fläche des Mikrofilms fällt, der sich unmittelbar unter (oder hinter) diesem Element befindet. Die abgetastete Fläche ist im allgemeinen ca. 50% größer als das eigentliche Bild der Vorlage. Auf diese Weise wird das volle Bild auch dann abgetastet, wenn die Vorlage während der Aufnahme etwas dezentriert oder schräg angeordnet war und/oder die CCD-Matrix gegenüber dem Mikrofilm eine leichte horizontale Fehlausrichtung aufweist. Das Abtasten der größeren Fläche ist besonders dann notwendig, wenn für die Mikroverfilmung Rotationsaufnahmegeräte verwendet wurden. Diese Geräte verursachen hinsichtlich der Anordnung und Ausrichtung der verfilmten Vorlage beträchtliche Abweichungen von einer Standard-Bildfläche, wie z.B. der das Bild enthaltenden Fläche. Beim Abtasten der einzelnen Pixel wird das der Helligkeit des betreffenden Pixels entsprechende analoge Signal in ein digitales Sechsbit-Signal umgesetzt, aus dem anschließend durch Schwellenwertbildung ein binäres Einbit-Ausgangssignal für dieses Pixel erzeugt wird. Alle Binärwerte dieser Einbitsignale werden in einem Bildfeldspeicher abgespeichert. Nach erfolgter Abtastung wird der Inhalt des Bildfeldspeichers, in dem das abgetastete Bild der Vorlage abgespeichert ist, einem Videoverdichter zugeführt. Anschließend wird das verdichtete Doppeltonbild dem örtlichen Netzwerk zur Abspeicherung, Darstellung und/oder zum Ausdrucken durch nachgeschaltete elektronische Verarbeitungsanlagen aufgeschaltet.
  • Es ist durchaus nicht ungewöhnlich, daß ein auf dem Netzwerk erscheinendes abgetastetes mikroverfilmtes Doppeltonbild Qualitätsmängel aufweist. Solche Mängel können vor allem durch Bildrauschen und/oder Kantenfehler verursacht werden.
  • Bildrauschen tritt in Form unerwünschter Pixelübergänge (von weiß zu schwarz oder schwarz zu weiß) im Bild auf. Zur Verbesserung der Bildqualität und der Verdichtungsfähigkeit müssen diese unerwünschten Pixelübergänge aus dem Bild entfernt werden. Die Verdichtungsfähigkeit nimmt in dem Maße zu, wie die Anzahl der Pixelübergänge abnimmt. Feine Einzelheiten, wie z.B. kleine Zeichen, erstrecken sich jedoch in der Regel über eine verhältnismäßig große Anzahl von Pixeln. Das hat zur Folge, daß wenn zunehmend größere Gruppen vereinzelter Pixel als Rauschen entfernt werden, zwar die Verdichtungsfähigkeit zunimmt, aber feine Einzelheiten auch nicht mehr erfaßt werden, so daß die Bildqualität abnimmt. Infolgedessen muß bei der Bestimmung der Größe der Gruppen vereinzelter Pixel, die bei einem Bildaufbereitungsvorgang als Rauschen entfernt werden sollen, ein Kompromiß zwischen der Bildqualität und der Verdichtungsfähigkeit geschlossen werden.
  • Im Interesse eines guten Kompromisses zwischen Bildqualität und Verdichtungsfähigkeit wird Bildrauschen in der Regel als getrenntes, an beliebiger Stelle im Bild einzeln auftretendes "wirksames" (schwarzes) Pixel definiert. Pixelgruppen mit einer größeren Ausdehnung werden dabei als wünschenswerte Einzelheiten betrachtet, die im Bild verbleiben sollen. Bildrauschen hat in der Regel eine von drei Ursachen: sogenanntes Papierrauschen in der mikroverfilmten Vorlage selbst, durch die Körnung des Mikrofilmsverursachtes sogenanntes Filmrauschen und von dem elektronischen Abtastsystem erzeugtes elektronisches Rauschen.
  • Damit für ein Bild ein richtiger Schwellenwert gebildet werden kann, um das Bildrauschen zu entfernen, muß ein Schwellenwertpegel Videoimpulse für Textzeichen in dem abgetasteten Bild in einem Punkt schneiden, der oberhalb einer vorgegebenen Rauschamplitude, aber unterhalb der Spitzenamplituden dieser Impulse liegt. Die richtige Rauschamplitude kann unter anderem in der Weise bestimmt werden, daß man das Auftreten im gesamten abgetasteten Bild getrennt vorkommender einzelner Pixel beobachtet. Im KIMS-System wird ein Mikrofilmbild mit einer typischen Dichte von 200 Pixeln pro Zoll (ca. 79 Pixel/cm) abgetastet. Rauschen tritt allgemein in Form vereinzelter Pixel einer bestimmten Farbe (schwarz) auf, die von Pixeln einer anderen Farbe (weiß) umgeben sind. Ein Pixel dieser Größe ist auf einem normalen Lesegerät nicht ohne weiteres zu erkennen. Infolgedessen ist ein getrennt vorkommendes einzelnes Pixel nicht Bestandteil eines Textzeichens, sondern Rauschen. Einzelpixelrauschen kann eindimensional getrennt auftreten, wobei ein einzelnes Pixel "wirksam" ist, während die benachbarten Pixel zur Linken und Rechten beide "unwirksam" sind, oder zweidimensional getrennt, wobei das einzelne Pixel "wirksam" ist, während die benachbarten Pixel zur Linken und Rechten sowie die über und unter dem einzelnen Pixel und möglicherweise auch die diagonal zu diesem Pixel angeordneten Pixel sämtlich "unwirksam"sind.
  • Unter idealen Bedingungen könnte man daher den Schwellenwertpegel auf einen Wert einstellen, bei dem Einzelpixelrauschen aus dem digitalisierten Sechsbit-Video ausgefiltert wird. In der Praxis kann jedoch Einzelpixelrauschen bedauerlicherweise mit unterschiedlicher Intensität über den Gesamtbereich der Videoamplitude im abgetasteten Bild auftreten, was die Schwellenwertbildung erheblich kompliziert. Einzelpixelrauschen kann erstens an den Spitzen des Videosignals auftreten, das den erkannten Pixeln entspricht, die auf einem Hintergrund mit dem stärksten Kontrast ein Textzeichen bilden, beispielsweise den Pixeln, die auf einem weißen Hintergrund ein schwarzes Zeichen bilden. Würde man den Schwellenwert auf diesen Pegel einstellen, dann hätte dies den Nachteil, daß jedes Zeichen, das sich auf einem Hintergrund mit einem geringeren Kontrast befindet, wie z.B. ein graues Zeichen auf einem weißen Hintergrund, ganz aus dem Bild entfernt würde. Die Pixel, die diese Zeichen bilden, hätten dann nämlich einen nicht so hohen Spitzenamplitudenwert wie diejenigen, die Zeichen bilden, die sich auf dem Hintergrund mit dem stärksten Kontrast befinden, und würden infolgedessen bei der Schwellenwertbildung entfernt werden. Eine Schwellenwertbildung mit diesem Pegel würde daher falsche Pixelmuster und infolgedessen einen falschen Text erzeugen. Einzelpixelrauschen kann zweitens unmittelbar über dem Pegel des Hintergrundvideos auftreten. Der Hintergrundwert im Videosignal entspricht dem richtigen Hintergrundwert des abgetasteten Bildes. An dieser Stelle auftretendes Einzelpixelrauschen entspricht genau der Rauschamplitude im abgetasteten Bild. Eine Einstellung des Schwellenwerts auf einen Wert, der geringfügig über dem Hintergrundwert liegt, ergibt daher eine genaue Schwellenwertbildung des Bildrauschens. Einzelpixelrauschen kann drittens unter dem Hintergrundwert des Videosignals auftreten. Würde man den Schwellenwert auf diesen Wert einstellen, dann verbliebe zuviel Rauschen im Bild, was die Verdichtungsfähigkeit des Bildes nachträglich beeinflussen würde.
  • Da der Hintergrundwert sich im Verlauf einer Zeile im abgetasteten Bild erheblich ändern kann, muß der Schwellenwertpegel dem Hintergrundwert folgen und dynamisch auf einem Wert gehalten werden, der geringfügig über dem Hintergrundwert liegt. Kantenfehler, die zweite Hauptursache der Verschlechterung der Bildqualität, treten häufig dann auf, wenn ein Bild drastisch verkleinert wird, beispielsweise durch Mikroverfilmung, bei der es in der Natur der Sache liegt, daß ein erheblicher Anteil der in der Vorlage enthaltenen Informationen verschwindet. Das Auflösungsvermögen eines Mikrofilms ist, wie das aller fotografischen Medien, begrenzt. Entsprechend begrenzt ist die Größe der Einzelheiten, die auf dem Mikrofilm wiedergegeben werden können. Wenn feine Einzelheiten in einer Vorlage unter das Auflösungsvermögen des Mikrofilms verkleinert werden, dann erscheinen diese Einzelheiten in dem mikroverfilmten Bild und infolgedessen auch in jedem durch Abtasten des mikroverfilmten Bildes erzeugter Bild unscharf. Infolgedessen erscheinen Bildkanten in einem abgetasteten mikroverfilmten Bild häufig nicht gerade, sondern zackig und/oder unscharf. Zur Verbesserung der Bildqualität sollten daher alle Bildkanten bei der Bildaufbereitung geschärft werden.
  • Es besteht somit Bedarf an einem System, das die Qualität eines abgetasteten Mehrbitbildes und insbesondere eines Mehrbitbildes, das durch Abtasten eines mikroverfilmten Bildes erzeugt wurde, verbessert und jedes einzelne Pixel im Doppeltonbild durch Schwellenwertbildung in einen Einbit-Binärwert umsetzt. Ein solches System würde die Bildqualität sowohl durch Entfernen des Bildrauschens als auch durch Schärfung der Bildkanten verbessern. Besonders geeignet wäre ein solches System für die Verbesserung der Qualität der von einem Bildverwal tungssystem erzeugten Bilder.
  • Aufgabe der Erfindung ist daher die Schaffung eines Systems zur Aufbereitung abgetasteter Mehrbit-Grautonbilder und Verarbeitung der einzelnen Mehrbit- Pixel in dem aufbereiteten Bild zu jeweils einem Einbit-Binärwert durch Schwellenwertbildung.
  • Die Erfindung hat insbesondere die Aufgabe, ein System dieser Art zu schaffen, das Bildrauschen aus einem abgetasteten Mehrbitbild im wesentlichen entfernt, um die Verdichtungsfähigkeit des Bildes zu verbessern und gleichzeitig feine Einzelheiten im Bild zu erhalten.
  • Eine weitere besondere Aufgabe der Erfindung besteht in der Schaffung eines Systems dieser Art, bei dem das Bildrauschen durch Schwellenwertbildung entfernt wird, wobei ein Schwellenwertpegel auf einem Punkt gehalten wird, der über einer vorgegebenen Rauschamplitude, aber unter den Spitzenamplituden erkannter Videoimpulse in dem abgetasteten Bild liegt.
  • Die Erfindung hat darüberhinaus die Aufgabe, ein System dieser Art zu schaffen, das den Hintergrundwert des abgetasteten Bildes bestimmt, Änderungen des Hintergrundwerts verarbeitet und den Schwellenwertpegel dynamisch auf einem vorbestimmten Wert hält, der etwas größer ist als der Hintergrundwert.
  • Eine weitere besondere Aufgabe besteht in der Schaffung eines Systems dieser Art, das die Qualität des abgetasteten Doppeltonbildes durch Schärfung der Bildkanten weiter verbessert.
  • Diese und weitere Aufgaben werden erfindungsgemäß durch die in dem selbständigen Anspruch 1 angegebene Vorrichtung und das in dem selbständigen Anspruch 19 angegebene Verfahren gelöst. Die erfindungsgemäße Vorrichtung verarbeitet dabei jeweils eine vorgegebene Gruppe von Pixel-Eingangswerten mit einem entsprechenden vorgegebenen Satz Koeffizienten, um einen verarbeiteten Pixelwert zu erzeugen. Der verarbeitete Pixelwert wird dann mit einem Schwellenwertpegel verglichen, um einen mittels eines Schwellenwerts bestimmten Pixelwert zu bilden, der den Ergebnissen dieses Vergleichs entspricht. Die Vorrichtung ist ferner mit einer Rauschverarbeitungsschaltung versehen, die neben einer Rauschverarbeitungsschaltung eine Rauscherkennungs- und -filterschaltung enthält. Die Rauschverarbeitungsschaltung dient dabei zur Erzeugung eines Rauschwerts, der einen in dem mittels Schwellenwertbildung bestimmten Pixelwert vorhandenen Rauschpegel verarbeitet. Die Rauscherkennungs- und -filterschaltung filtert Pixelrauschen aus dem durch Schwellenwertbildung bestimmten Pixelwert aus und erzeugt in Abhängigkeit davon einen entsprechenden Pixel-Ausgangswert für den zu diesem Zeitpunkt gerade verarbeiteten aktuellen Pixel-Eingangswert und ein Signal, das der Rauschverarbeitungsschaltung anzeigt, daß Pixelrauschen erkannt worden ist. Eine Vorrichtung zur Bestimmung des Hintergrunds, die ebenfalls Bestandteil der erfindungsgemäßen Vorrichtung ist, erzeugt einen Hintergrundwert, der einen in den Pixel-Eingangswerten vorhandenen Hintergrundpegel bestimmt. Der Hintergrundwert und der Rauschwert werden miteinander kombiniert, um ein Fehlersignal zu erzeugen, das seinerseits gemeinsam mit einem auf den ursprünglichen Wert zurückgeführten Wert des aktuellen Pixel-Eingangswerts dazu verwendet wird, den Schwellenwertpegel für den aktuellen Pixelwert, der zu diesem Zeitpunkt gerade verarbeitet wird, einzustellen.
  • Die Rauscherkennungs- und -filterschaltung erkennt Rauschen, indem sie feststellt, ob Pixelwerte in einem Fenster durch Schwellenwertbildung bestimmter Pixelwerte einem Rauschmuster in einer Vielzahl vorgegebener Rauschmuster entsprechen. Wenn dies der Fall ist, erzeugt die Rauscherkennungs- und -filterschaltung eine Anzeige in Form eines Merkers für "Rauschen". Zusätzlich filtert die Rauscherkennungs- und -filterschaltung auch das Rauschen aus dem durch Schwellenwertbildung bestimmten Pixelwert aus. Im Falle des von der nachstehend erörterten Ausführungsform der Erfindung erzeugten Einbit-Pixels muß zu diesem Zweck nur der Wert dieses Pixels geändert werden. Der neue Wert wird dann als Pixel-Ausgangswert erzeugt. Der Merker für Rauschen wird der Rauschverarbeitungsschaltung eingegeben, um einen Wert, der die in den mittels eines Schwellenwerts bestimmten Bild-Pixeln vorkommende zweidimensionale Rauschgröße (Rauschpegel) bestimmt, zu erhöhen. Wenn dies geschehen ist und kein weiteres Pixelrauschen vorhanden ist, nimmt dieser Wert Pixel für Pixel in horizontaler Richtung und Abtastzeile für Abtastzeile in vertikaler Richtung exponentiell ab.
  • Die in der hier beschriebenen Ausführungsform der Erfindung verwendete Vorrichtung zur Bestimmung des Hintergrunds bestimmt den Hintergrundwert als definierte nichtlineare Funktion des aktuellen Pixel-Eingangswerts, der zu diesem Zeitpunkt gerade verarbeitet wird, und zusätzlich den Hintergrundwert für zwei vorangegangene Pixel, nämlich das jüngste Pixel in der aktuellen Abtastzeile, die zu diesem Zeitpunkt gerade verarbeitet wird, und das Pixel in der vorhergehenden Abtastzeile, das unmittelbar über dem aktuellen Pixel liegt. Nach einer definierten Funktion erfolgt die adaptive Änderung des Hintergrundwerts verzögerungsfrei, wenn sich der Wert des aktuellen Pixels zum Hintergrundwert (oder Papierpegel) des Bildes hin verändert, aber mit Verzögerung, wenn sich der Wert des aktuellen Pixels zu Zeichendaten hin verändert.
  • Die Erfindung wird im folgenden an Hand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert.
  • Es zeigen
  • Fig. 1 ein Blockschaltbild einer Ausführungsform eines erfindungsgemäßen Mikrofilmabtast- und Bildaufbereitungssystems,
  • Fig. 2 die richtige Ausrichtung der Zeichnungsblätter für Fig. 2A und 2B,
  • Fig. 2A und 2B ein Blockschaltbild der in Fig. 1 gezeigten Bildverarbeitungsschaltung 40,
  • Fig. 3 ein Blockschaltbild einer Linearitätskorrekturschaltung 426, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 4 ein Blockschaltbild einer Gammakorrekturschaltung 432, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 5 die richtige Ausrichtung der Zeichnungsblätter für Fig. 5A und 5B,
  • Fig. 5A und 5B gemeinsam ein Blockschaltbild einer 5x5 Verarbeitungsschaltung 445, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 6 ein Diagramm der das 5x5 Fenster 46 bildenden Pixel und der von der in Fig. 5 gezeigten 5x5 Verarbeitungsschaltung 445 verwendeten entsprechenden Verarbeitungskoeffizienten,
  • Fig. 7 ein Blockschaltbild der Vorrichtung 451 für die Ermittlung des ursprünglichen Werts der Pixel, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 8 ein Blockschaltbild einer Mittenpixel-Suchtabelle 455, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 9 ein Blockschaltbild der Rauscherkennungs- und -filterschaltung 463, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 10 die richtige Ausrichtung der Zeichnungsblätter für Fig. 10A und 10B,
  • Fig. 10A und 10B gemeinsam ein Blockschaltbild der Rauschverarbeitungsschaltung 467, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 11 die richtige Ausrichtung der Zeichnungsblätter für Fig. 11A und 11B,
  • Fig. 11A und 11B gemeinsam ein Blockschaltbild der Vorrichtung 475 zur Bestimmung des Hintergrunds, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 12 die richtige Ausrichtung der Zeichnungsblätter für Fig. 12A - 12C,
  • Fig. 12A - 12C gemeinsam ein Blockschaltbild der Vorlagenkantenerkennungsschaltung 481, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 13 die richtige Ausrichtung der Zeichnungsblätter für Fig. 13A und 13B,
  • Fig. 13A - 13D gemeinsam ein Blockschaltbild des fensterbildenden Bildfeldpuffers 489, der ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist,
  • Fig. 14 die Hauptschleife 1400, die von dem Mikrocomputersystem 485 abgearbeitet wird, das sich in der in Fig. 2A und 2B befindlichen Bildverarbeitungsschaltung befindet,
  • Fig. 15 ein Ablaufdiagramm der Eichroutine 1500, die als Teil der in Fig. 14 gezeigten Hauptschleife 1400 abgearbeitet wird,
  • Fig. 16 die richtige Ausrichtung der Zeichnungsblätter für Fig. 16A und 16B,
  • Fig. 16A und 16B gemeinsam ein Ablaufdiagramm der Korrekturroutine 1600 mit abgeschalteter Lampe, die als Teil der in Fig. 15 gezeigten Eichroutine 1500 abgearbeitet wird,
  • Fig. 17 die richtige Ausrichtung der Zeichnungsblätter für Fig. 17A und 17B,
  • Fig. 17A und 17B gemeinsam ein Ablaufdiagramm der Diagnoseroutine 1700 mit abgeschalteter Lampe, die ebenfalls als Teil der in Fig. 15 gezeigten Eichroutine 1500 abgearbeitet wird,
  • Fig. 18 die richtige Ausrichtung der Zeichnungsblätter für Fig. 18A - 18C,
  • Fig. 18A - 18C gemeinsam ein Ablaufdiagramm der Korrekturroutine 1800 mit eingeschalteter Lampe, die ebenfalls als Teil der in Fig. 15 gezeigten Eichroutine 1500 abgearbeitet wird,
  • Fig. 19 die richtige Ausrichtung der Zeichnungsblätter für Fig. 19A - 19B,
  • Fig. 19A und 19B gemeinsam ein Ablaufdiagramm der Invertierungs- und Skalierungsroutine 1900, die als Teil der in Fig. 18A - 18C gezeigten Korrekturroutine 1800 mit eingeschalteter Lampe abgearbeitet wird,
  • Fig. 20 ein Ablaufdiagramm der Diagnoseroutine 2000 mit eingeschalteter Lampe, die als Teil der in Fig. 15 gezeigten Eichroutine 1500 abgearbeitet wird,
  • Fig. 21 die richtige Ausrichtung der Zeichnungsblätter für Fig. 21A - 21C,
  • Fig. 21A - 21C gemeinsam ein Ablaufdiagramm der Vorlagenkantenerkennungsroutine 2100, die als Teil der in Fig. 14 gezeigten Hauptschleife 1400 abgearbeitet wird,
  • Fig. 22 ein Ablaufdiagramm der Routine 2200 zur Bestimmung des größten Kantenabstands, die als Teil der in Fig. 21A - 21C gezeigten Vorlagenkantenerkennungsroutine 2100 abgearbeitet wird,
  • Fig. 23 die richtige Ausrichtung der Zeichnungsblätter für Fig. 23A - 23C,
  • Fig. 23A - 23C gemeinsam ein Ablaufdiagramm der Routine 2300 für die Wahl des Kantenpaars der vorangegangenen Zeile, die ebenfalls als Teil der in Fig. 21A - 21C gezeigten Vorlagenkantenerkennungsroutine 2100 abgearbeitet wird,
  • Fig. 24 die richtige Ausrichtung der Zeichnungsblätter für Fig. 24A - 24C und
  • Fig. 24A - 24C gemeinsam ein Ablaufdiagramm der Routine 2400 für die Klassifizierung der Ober- und Unterkante, die ebenfalls als Teil der in Fig. 21A - 21C gezeigten Vorlagenkantenerkennungsroutine 2100 abgearbeitet wird.
  • Zum besseren Verständnis sind gleiche Elemente in den verschiedenen Bildern der Zeichnung mit gleichen Bezugsziffern bezeichnet worden.
  • Der folgenden Beschreibung kann der Fachmann unschwer entnehmen, daß das erfindungsgemäße Bildaufbereitungs- und Schwellenwertbildungssystem auf den verschiedensten Anwendungsgebieten für die elektronische Aufbereitung und Schwellenwertbildung eines abgetasteten Grautonbildes verwendet werden kann, beispielsweise für die Aufbereitung und Schwellenwertbildung eines abgetasteten Bildes einer Vorlage zur anschließenden Übertragung mit einem Fernkopierer. Da das erfindungsgemäße System in besonderer Weise für den Einsatz in einem Bildverwaltungssystem zur Aufbereitung und Schwellenwertbildung abgetasteter Doppelton-Mikrofilmbilder, wie z.B. dem Kodak Image Management System (KIMS) geeignet ist (KIMS ist ein Warenzeichen der Eastman Kodak Company), wird es im folgenden in diesem Zusammenhang erörtert.
  • A. Beschreibung des Gesamtsystems -
  • Ein Blockschaltbild einer Ausführungsform eines erfindungsgemäßen Mikrofilm- Abtast- und Bildaufbereitungssystems, das sich beispielsweise für den Einsatz in dem KIMS-System eignet, wird in Fig. 1 gezeigt. Im wesentlichen wird durch das erfindungsgemäße System ein abgetastetes Mikrofilm-Mehrbit-Grautonbild so aufbereitet, daß das Bildrauschen im wesentlichen daraus entfernt wird und die Bildkanten geschärft werden. Das aufbereitete Bild wird dann durch Schwellenwertbildung zu einem Einbit-Binärvideo für die anschließende Bildverdichtung verarbeitet. Ein Vorteil des erfindungsgemäßen Systems besteht darin, daß es Bestandteil eines heute allgemein als Filmbibliothek (früher als Autolader) bezeichneten automatischen Mikrofilmlesegeräts ist, das seinerseits Bestandteil eines KIMS-Geräts ist. Die Bildaufbereitung einschließlich Rauschentfernung und Kantenschärfung erfolgt durch die Bildverarbeitungsschaltung 40, die von dem abgetasteten Mikrofilm abgetastete Pixelinformationen empfängt. Der Ausgang der Schaltung 40 ist über die Leitung 49 mit dem Verdichter 50 verbunden, der das Bild verdichtet, bevor es über die Netzwerkschnittstelle 60 und die Leitung 65 an ein lokales Netzwerk übertragen wird, das Bestandteil des KIMS-Systems ist.
  • Die Filmbibliothek enthält eine computergesteuerte automatische Vorrichtung, die eine gewünschte Mikrofilmrolle holt, diese Rolle in ein in der Filmbibliothek befindliches automatisches Mikrofilmlesegerät lädt und dann den Film mittels des Lesegeräts bis zu dem Bildfeld vorschiebt, in dem sich ein Mikrofilmbild einer abzutastenden Vorlage befindet. Da die in der Filmbibliothek vorhandenen Einrichtungen für den mechanischen Filmtransport nicht Bestandteil der Erfindung sind und deren Erläuterung zum Verständnis der Erfindung nicht erforderlich ist, wurden sie in der Zeichnung weggelassen. Die in dem Lesegerät verwendete Mikrofilm-Abtastvorrichtung wurde vereinfacht dargestellt, weil zum Verständnis der Erfindung nur ein rudimentäres Verständnis dieser Einrichtung erforderlich ist.
  • Der in der Zeichnung gezeigte Mikrofilm 10 enthält im allgemeinen zwei nebeneinander angeordnete abgespeicherte Bilder, wie z.B. die Bilder 11 und 17. Gegenüber der Vorlage ist die Bildgröße in der Regel im Verhältnis 1:40 verkleinert. Ein Mikrofilmbild, wie z.B. das Bild 11, wird von einem Mikrofilm- Scanner, d.h. der darin befindlichen CCD-Matrix 22 mit 2048 x 1 Zellen, zeilenweise abgetastet. Die Matrix wird dabei vor dem Mikrofilmbild und rechtwinklig zur Bewegungsrichtung des Mikrofilms angeordnet. Das von der hinter dem Mikrofilm 10 angebrachten Lampe 7 durch den Film fallende Licht gelangt in das optische System 20. Das optische System stellt sicher, daß nur Licht für eine horizontale Abtastzeile, in der Regel die zwischen den Strahlen 14 und 16 liegende Abtastzeile, die CCD-Matrix 22 erreicht. In der Praxis wird das optische System 20 so eingestellt, daß jede horizontale Abtastzeile des Bildes 11 mit einer Zugabe von ca. 50% abgetastet wird. Dadurch wird sichergestellt, daß das volle Bild auch dann abgetastet wird, wenn die Vorlage 13 für das Bild 11 (wie in Fig. 1 gezeigt) etwas dezentriert oder schräg aufgenommen wurde und/oder die CCD-Matrix gegenüber dem Mikrofilm eine geringfügige horizontale Fehlausrichtung aufweist. Die Zugabe beim Abtasten ist besonders dann erforderlich, wenn für Aufnahmen auf dem Mikrofilm 10 Rotationsaufnahmegeräte verwendet wurden. Diese Geräte verursachen hinsichtlich der Anordnung und Ausrichtung der verfilmten Vorlage, beispielsweise der Vorlage 13, beträchtliche Abweichungen von einer Standard-Bildfläche, wie z.B. der das Bild 11 enthaltenden Fläche. Die für das Bild 11 von der CCD- Matrix 22 abgetastete Fläche wird in der Zeichnung durch das mit gestrichelten Linien gezeichnete Kästchen 12 dargestellt. Infolgedessen erzeugt jede Zelle der CCD-Matrix ein analoges Signal, das der Helligkeit des Lichts proportional ist, das durch einen Teilabschnitt der abgetasteten Fläche 12 fällt und auf die betreffende Zelle fokussiert ist. Jede CCD-Zelle erzeugt ein einzelnes Pixel in einer abgetasteten Zeile. Nach erfolgter Abtastung der aktuellen Zeile schiebt die (nicht dargestellte) Transporteinrichtung in der Filmbibliothek den Film vertikal in der durch den Pfeil 9 gekennzeichneten Richtung so vor, daß das nächste Bild einer Vorlage in die richtige Ausgangsposition hinter dem optischen System 20 gebracht wird. Anschließend bewegt sich die CCD-Matrix 22 Abtastzeile für Abtastzeile vertikal durch das Bild. Über den Lampentreiber 5 und die Leitung 6 wird die Lampe 7 in Abhängigkeit von einem Steuersignal für die Ein- und Abschaltung der Lampe, das von einem (im folgenden ausführlich beschrieben) Mikrocomputersystem erzeugt wird, welches Bestandteil der in der Bildverarbeitungsschaltung 40 angeordneten Abtast-Nachverarbeitungsschaltung 48 ist, mit Strom versorgt.
  • Die CCD-Matrix 22 besteht in der Regel aus zwei verschachtelten Gruppen von je 1024 seriell miteinander verbundenen CCD-Zellen, einer Gruppe für ungeradzahlige Pixel und einer weiteren Gruppe für geradzahlige Pixel. Gesteuert durch Taktsignale, die der CCD-Matrix über die Leitung 23 aufgeschaltet werden, wird für jede in der abgetasteten Fläche 12 abgetastete Zeile ein Datenstrom sequentieller Pixel für den geradzahligen und den ungeradzahligen Kanal gleichzeitig auf der Leitung 24 Tür die geradzahligen Pixel und auf der Leitung 28 für die ungeradzahligen Pixel aus der Matrix geschoben. Die Pixelinformationen beider Kanäle werden anschließend von je einem Analog-Digital (A/D)-Umsetzer umgesetzt. Dabeiempfängt der A/D-Umsetzer 26 über die von der CCD-Matrix 22 abgehende Leitung 24 die Pixelinformationen des Kanals für die geradzahligen Pixel und erzeugt in Abhängigkeit von entsprechenden Umsetz- Steuerimpulsen auf der Leitung 32 entsprechende digitale Sechsbit-Pixelwerte auf den Leitungen 27. In gleicher Weise empfängt der A/D-Umsetzer 29 über die von der CCD-Matrix 22 abgehende Leitung 28 die Pixelinformationen des Kanals für die ungeradzahligen Pixel und erzeugt in Abhängigkeit von entsprechenden Umsetzimpulsen auf der Leitung 31 entsprechende digitale Sechsbit-Pixelwerte auf der Leitung 30. Die Umsetzimpulse werden von der Pixel-Adressierschaltung 34 erzeugt. Diese Schaltung erzeugt auch die (x, y)-Adresse des aktuellen Pixels im Bild, das zu diesem Zeitpunkt gerade abgetastet wird. Diese Adresse besteht aus der vertikalen (y) Pixeladresse YCNT (y-Zählung) auf der Leitung 35 und der horizontalen (x) Pixeladresse XCNT (x-Zählung) auf der Leitung 36. Systemtaktimpulse werden von der Taktschaltung 38 erzeugt und erscheinen auf der Leitung 39.
  • Die Bildverarbeitungsschaltung 40 übernimmt die Bildaufbereitung, entfernt das Rauschen und erkennt die Vorlagenkanten. In der Schaltung 40 werden die digitalisierten Pixel-Eingangswerte über die Leitungen 27 und 30 einer Abtast-Vorverarbeitungsschaltung 42 zugeführt. Diese Schaltung korrigiert zunächst Linearitätsunterschiede der einzelnen Pixel des abgetasteten Bildes infolge unterschiedlicher Beleuchtungsstärken sowie Unterschiede, die auf ein unterschiedliches Ansprechverhalten der einzelnen Zellen der CCD-Matrix zurückzuführen sind. Anschließend werden durch eine sogenannte Gammakorrektur Unterschiede der einzelnen Pixel des abgetasteten Bildes kompensiert, die auf das unterschiedliche Verhalten der verschiedenen Mikrofilmarten, wie z.B. Positivmaterial, Negativmaterial, Diazo- und Vesikularmaterial, zurückzuführen sind. Nach erfolgter Abtast-Vorverarbeitung werden die korrigierten abgetasteten Pixel über die Leitung 43 der Bildaufbereitungsschaltung 44 zugeführt, die das abgetastete Bild aufbereitet und Einzelpixelrauschen im wesentlichen daraus entfernt. Die sich daraus ergebenden Pixel werden über die Leitung 47 der Abtast-Nachverarbeitungsschaltung 48 aufgeschaltet, welche die obere, untere, linke und rechte Kante des anliegend-tangierenden Rechtecks 11 in der abgetasteten Bildfläche 12 erkennt. Das anliegend-tangierende Rechteck ist definiert als annähernd das kleinste, parallel zur Bewegungsrichtung des Mikrofilms ausgerichtete Rechteck, das die abgetastete Vorlage 13 vollständig enthält. Da die Zugabe beim Abtasten eine Vielzahl von Fremdpixelinformationen, d.h. Werte für Pixel, die sich zwar innerhalb der abgetasteten Bildfläche 12, aber außerhalb des anliegend-tangierenden Rechtecks 11 befinden, erzeugt, gibt die Abtast-Nachverarbeitungsschaltung 48 nur die aufbereiteten Werte für die abgetasteten Pixel an den Verdichter 50 weiter, die sich auf dem und innerhalb des anliegend-tangierenden Rechtecks 11 befinden.
  • Ein Blockschaltbild der in Fig. 1 gezeigten Bildverarbeitungsschaltung 40 ist in Fig. 2A und 2B abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 2A und 2B zu entnehmen. Wie bereits erwähnt, besteht die Bildverarbeitungsschaltung 40 aus einer Abtast-Vorverarbeitungsschaltung 42, einer Bildaufbereitungsschaltung 44 und einer Abtast-Nachverarbeitungsschaltung 48. Da für die Bildverarbeitung in der Abtast-Vorverarbeitungsschaltung 42 und der Bildaufbereitungsschaltung 44 eine Sonderhardware erforderlich ist und die Abtast-Nachbearbeitungsschaltung 48 eine Sonderhardware und eine Sondersoftware erfordert, wird im folgenden zunächst die Hardware aller drei Schaltungen und anschließend die für die Abtast-Nachverarbeitungsschaltung 48 und insbesondere das Mikrocomputersystem 485 verwendete Software ausführlich beschrieben.
  • B. Bildverarbeitungshardware -
  • Wie in der Zeichnung gezeigt, werden in der Bildverarbeitungsschaltung 40 geradzahlige Sechsbit-Pixel-Eingangswerte über die Leitung 27 und ungeradzahlige Sechsbit-Pixel-Eingangswerte über die Leitung 30 der Abtast-Vorverarbeitungsschaltung 42 aufgeschaltet. In der Schaltung 42 werden diese Pixel- Eingangswerte dem Multiplexer 42 zugeführt. In Abhängigkeit von verschiedenen Takt- und Steuersignalen führt der Multiplexer 422 die Pixel-Eingangswerte nacheinander im Wechsel zwischen dem Kanal 27 für geradzahlige Pixel und dem Kanal 30 für ungeradzahlige Pixel der Leitung 424 zu. Die Steuersignale für den Multiplexer 422 und für die übrige Verdrahtung der Bildverarbeitungsschaltung 40 werden von einer Steuerschaltung 493 in Abhängigkeit von Systemtaktsignalen auf der Leitung 35 erzeugt. Die Schaltung 493 erzeugt verschiedene Steuer- und Taktsignale auf den Leitungen 495 und 497. Zur Vereinfachung der Zeichnung wurden nur die zum Verständnis der folgenden Beschreibung erforderlichen Steuer- und Taktsignale in die Bilder aufgenommen. Zur Verwirklichung der erfindungsgemäßen Schaltung sind jedoch weitere Takt- und Steuersignale erforderlich, die im einzelnen von der jeweiligen Anwendung abhängig sind. Zum Verständnis dieser Signale und der erforderlichen Anschlüsse an die Schaltung genügt dem Fachmann jedoch die folgende Beschreibung. Aus diesem Grunde wurde auf eine Aufnahme in die Zeichnung verzichtet.
  • Die von dem Multiplexer 422 erzeugten und über die Leitung 424 weitergeleiteten Pixel werden der Linearitätskorrekturschaltung 426 aufgeschaltet. Diese in Verbindung mit Fig. 3 ausführlich beschriebene Schaltung korrigiert jeden Pixel-Eingangswert durch Addition eines vorgegebenen Korrekturfaktors für Verschiebungen und Multiplikation des Ergebnisses mit einem vorgegebenen Korrekturfaktor für die Verstärkung. Die Faktoren für Verschiebung und Verstärkung ändern sich im Verlauf der abgetasteten Zeile und korrigieren Linearitätsabweichungen und in der Ausgabe der CCD-Matrix erscheinende Ungleichmäßigkeiten im Ansprechverhalten der Matrix. Die Werte der Korrekturfaktoren werden bei einem später in Verbindung mit Fig. 15 ausführlich beschriebenen Eichvorgang bestimmt, bei dem die Faktoren für die Verschiebung mittels einer Prüfabtastung mit abgeschalteter Lampe 7 (siehe Fig. 1) und die Faktoren für die Verstärkung mittels einer Prüfabtastung mit eingeschalteter Lampe ermittelt werden. Die linearitätskorrigierten Pixelwerte werden über die Leitung 428 der Gammakorrekturschaltung 432 zugeführt. Diese, im Zusammenhang mit Fig. 4 ausführlich beschriebene Schaltung kompensiert in jedem Sechsbit-Pixel -Eingangswert Unterschiede, die auf unterschiedliche Übertragungseigenschaften der verschiedenen Mikrofilmarten zurückzuführen sind, die in einem Bildabrufsystem verwendet werden können. Dazu gehören beispielsweise Positivmaterial, Negativmaterial, Diazo- und Vesikularmaterial. Zu den unterschiedlichen Übertragungseigenschaften gehören im engeren Sinne die Filmgradation und dergleichen. Infolgedessen kann mittels der Gammakorrektur die Ansprechkurve (Beleuchtung in Abhängigkeit von der Helligkeit) einer beliebigen vorgegebenen Filmart vorteilhaft der für die Eingabe in die Bildaufbereitungsschaltung 44 am besten geeigneten Kurve angepaßt werden. Darüberhinaus können durch die Gammakorrektur Pixel-Eingangs-werte invertiert und somit von einem positiven in ein negatives Bild umgekehrt werden. Da die in der Bildaufbereitungsschaltung 44 verwendeten Algorithmen zum Entfernen des Rauschens für negative Bilder bestimmt sind, werden mit der Gammakorrektur optimale Ergebnisse erzielt, wenn vor Ausfilterung des Rauschens ein positives Bild in ein negatives Bild umgekehrt wird.
  • Tabellen geeigneter Korrekturfaktoren werden in RAM-Speichern in der Linearitätskorrekturschaltung 426 und der Gammakorrekturschaltung 432 abgespeichert. Diese Speicher werden während des Eichvorgangs von dem in der Abtast-Nachverarbeitungsschaltung 48 befindlichen Mikrocomputersystem 485 über die Adreß- -und Datenbusse geladen. Der Ladevorgang wird im einzelnen im Zusammenhang mit der in Fig. 3 gezeigten Linearitätskorrekturschaltung 426 beschrieben. RAM- Speicher für die Abspeicherung vorgegebener Datentabellen sind außerdem in der Vorrichtung 475 zur Bestimmung des Hintergrunds, in der Rauschverarbeitungsvorrichtung 467, in Mittenpixel-Suchschaltung 455 und in der Rauscherkennungs- und -filterschaltung 463 vorhanden, die sich alle in der Bildaufbereitungsschaltung 44 befinden. Auch diese RAM-Speicher werden sämtlich während des Eichvorgangs von dem Mikrocomputersystem 485 über die Adreß- und Datenbusse 487 mit Daten geladen.
  • Die von der Gammakorrekturschaltung 432 erzeugten korrigierten Pixel werden über die Leitung 43 der Bildaufbereitungsschaltung 44 zugeführt. Diese Schaltung filtert, wie bereits erwähnt, Einzelpixelrauschen aus dem abgetasteten Bild aus und verarbeitet durch Schwellenwertbildung jeden Sechsbit- Pixelwert zu einem Einbit-Doppeltonwert, der anschließend in einem Bildfeldspeicher abgespeichert wird.
  • Die Bildaufbereitungsschaltung 44 dient im wesentlichen dazu, die abgetasteten Bilder aufzubereiten und den Rauschwert der darin enthaltenen einzelnen Pixel zu verringern (bei gleichzeitiger Erhöhung des Rauschabstands). Die Bildaufbereitungsschaltung 44 bereitet dabei zuerst die Bildkanten auf, und zwar durch Verarbeitung eines 5x5 Fensters abgetasteter Pixelwerte, in dessen Mitte sich der aktuelle abgetastete Pixelwert befindet, mit einer 5x5 Matrix vorgegebener Koeffizienten zur Hervorhebung des hochfrequenten Anteils im Bild. Der Wert des durch diese Verarbeitung erzeugten Pixels, d.h. eines auf der Leitung 450 von der Verarbeitungsschaltung 445 erzeugten verarbeiteten Pixels, wird als eine der Eingaben für eine Schwellenwertbildungsschaltung, nämlich den Mittenpixelschwellenwertvergleicher 459, verwendet. Dieser Vergleicher setzt jeden (verarbeiteten) Mehrbit-Pixelwert in einen entsprechenden Einbit-Binärwert um (Ausgabe des Mittenpixelvergleichers). Ein verarbeitetes Mehrbit-Pixel auf der Leitung 450 wird dabei mit einem Mehrbit-Binärwert auf der Leitung 457 verglichen.
  • Rauschpegel und Hintergrundwert werden dabei in vorteilhafter Weise für jedes Pixel und nicht, wie bisher, für jede Abtastzeile bestimmt. Infolgedessen reagieren die Werte für Hintergrund und Rauschen und somit auch der Mehrbit- Schwellenwert auf der Leitung 457 sehr viel schneller auf örtliche Änderungen als dies bei den bekannten Filtersystemen der Fall ist, so daß auch die Schwellenwertbildung genauer ist als dies bisher möglich war.
  • Als weiterer Eingang für den Vergleicher 459 dient ein von der Mittenpixel- Suchschaltung 455 erzeugter vorgegebener Wert, der auf der Leitung 457 erscheint und sich in Abhängigkeit von Geräuschpegel und Hintergrundwert ändert. In der Mittenpixel-Suchschaltung sind vorgegebene Pixelwerte abgespeichert, die zur Bildung des Schwellenwerts des Pixels verwendet werden, das jeweils in einem von der Rauscherkennungs- und filterschaltung 463 benutzten 3x3 Fenster das Mittenpixel bildet. Der von der Schaltung 455 erzeugte Wert hängt von drei Faktoren ab: der Hintergrundhelligkeit eines um das aktuelle abgetastete Pixel zentrierten Bereichs, dem Rauschwert eines um das aktuelle Mittenpixel zentrierten 3x3 Fensters und dem ursprünglichen Wert des aktuellen abgetasteten Pixels. Zur Bestimmung des Hintergrundwerts und des Rauschwerts werden zwei adaptive Filter verwendet. Eines dieser Filter, nämlich die im folgenden im Zusammenhang mit Fig. 11 ausführlich beschriebene Vorrichtung 475 zum Bestimmen des Hintergrunds, ermöglicht eine adaptive Verarbeitung des Hintergrundwerts der abgetasteten Pixel und erzeugt auf der Leitung 474 einen Sechsbit-Wert, der dem Hintergrundwert entspricht. Der Hintergrundwert wird im wesentlichen mittels einer definierten Funktion des Werts des aktuellen Pixels, des Hintergrundwerts für das unmittelbar vorher abgetastete Pixel und des Werts des abgetasteten Pixels bestimmt, das sich in der vorhergehenden Abtastzeile unmittelbar über dem aktuellen abgetasteten Pixel befindet.
  • Das andere adaptive Filter besteht aus der Rauschverarbeitungsschaltung 467 und der Rauscherkennungs- und -filterschaltung 463. Die Rauscherkennungs- und -filterschaltung 463 stellt fest, ob in dem vom Vergleicher 459 erzeugten, durch Schwellenbildung bestimmten Bild eines von mehreren vorgegebenen Rauschmustern vorhanden ist. Dabei bildet die Schaltung 463 ein 3x3 Fenster durch Schwellenwertbildung bestimmter und um das vom Vergleicher 45g erzeugte aktuelle durch Schwellenwertbildung bestimmte Pixel zentrierter Pixel. Das Pixelmuster in diesem Fenster wird dann mit einem vorher abgespeicherten, als Pixelrauschen definierten Rauschmuster verglichen. Wenn eine Entsprechung zwischen dem Muster in dem Fenster und dem abgespeicherten Muster festgestellt wird, dann wird über die Leitung 465 der Rauschverarbeitungsvorrichtung 467 ein Signal in Form eines Merkers für Rauschen zugeführt. Bei Empfang dieses Signals erhöht die Rauschverarbeitungsvorrichtung ihren Ausgabewert, der, wenn kein weiteres Rauschen auftritt, zweidimensional exponentiell abnimmt. Da der Merker für Rauschen und die Rauschverarbeitungsvorrichtung einen Rückkoppelungsweg in einem geschlossenen Regelkreis bilden, der die Rauschverarbeitungsvorrichtung 467, den Summierer 473, die Mittenpixel-Suchschaltung 455, den Vergleicher 459 und die Rauscherkennungs- und -filterschaltung 463 umfaßt, werden bei jedem erkannten Rauschen die der Mittenpixel-Suchtabellenschaltung als Eingabe aufgeschalteten Werte verändert, um einen entsprechenden Mittenpixelwert zu erzeugen, der kein Rauschen enthält. Außerdem filtert die Rauscherkennungs- und -filterschaltung 463 Rauschen aus dem Mittenpixel in dem 3x3 Fenster aus (unter Änderung des Pixelwerts) und gibt den gefilterten Mittenpixelwert auf Leitung 47 aus. Diese gefilterten Pixelwerte werden dem in der Abtast-Nachverarbeitungsschaltung 48 befindlichen fensterbildenden Bildfeldpuffer 489 aufgeschaltet und darin abgespeichert.
  • Unter Berücksichtigung dieses Überblicks wird nachstehend die Bildaufbereitungsschaltung 44 im einzelnen beschrieben. Die von der Abtast-Vorverarbeitungsschaltung 42 korrigierten Pixel-Eingangswerte auf der Leitung 43 werden zunächst der Mittelwertbildungsvorrichtung 441 für geradzahlige/ungeradzahlige Pixel als Eingabe aufgeschaltet. Die Mittelwertbildungsvorrichtung berechnet den Mittelwert für zwei beliebige benachbarte Pixel durch einfache Summierung der beiden benachbarten Pixel und verschiebt das Ergebnis dann um eine Stelle nach rechts, um es durch zwei zu dividieren. Der so erhaltene Mittelwert wird der 5x5 Verarbeitungsschaltung 445 über die Leitung 443 als Eingabe aufgeschaltet. In vorteilhafter Weise gleicht die Mittenwertbildungsvorrichtung dabei durch Reaktion der CCD-Matrix auf gleiche benachbarte Bildabschnitte verursachte Unterschiede (wie z.B. Verschiebungen zwischen den Kanälen für geradzahlige und ungeradzahlige Pixel) aus. Das hat den Vorteil, daß in Wechselbeziehung zueinander stehende geradzahlige/ungeradzahlige Rauschwerte aus den korrigierten Pixeln entfernt werden. Außerdem dekomprimiert die Mittelwertbildung die verarbeitete Abtastfläche mit nur geringfügig höherem Kostenaufwand. Durch Bildung des Mittelwerts der Pixel und anschließende 5x5 Verarbeitung wird die bei der Verarbeitung verwendete abgetastete Pixelfläche wirksam zu einem 6 x 5 Fenster dekomprimiert.
  • Durch Verarbeitung eines sich bewegenden 5 x 5 Fensters von Pixelwerten, die um den aktuellen Pixel-Mittelwert auf Leitung 443 zentriert sind, erzeugt die Verarbeitungsschaltung 445 einen verarbeiteten Mehrbit-Pixelwert auf Leitung 450. Diese Verarbeitung wird zur Schärfung der Kanten von Pixelmustern mit einer Breite von zwei oder mehr Pixeln in einem abgetasteten Mikrofilmbild angewandt. Wenn ein Bild auf einer Papiervorlage verkleinert und dann mikroverfilmt wird, ist damit immer ein gewisser Verlust an Bildauflösung verbunden. Dieser Verlust macht sich bemerkbar, wenn das Mikrofilmbild später dekomprimiert wird. Dabei gehen feine Einzelheiten bis zu einem gewissen Grad verloren, so daß vorher scharfe Bildkanten etwas unscharf erscheinen. Die beschriebene Verarbeitung gleicht den Auflösungsverlust des abgetasteten Mikrofilmbildes im wesentlichen aus. Die Amplitude des am Kantenanfang befindlichen Pixels wird dabei wesentlich erhöht, während die Amplitude aller dieses Pixel umgebenden Pixel verringert wird, wenn auch nicht im gleichen Maße. Infolgedessen erreicht die Amplitude des Pixels am Kantenanfang eine Spitze mit einem positiven Wert, der wesentlich größer ist als die ursprüngliche Helligkeit, so daß in der Verarbeitungsausgabe eine "Zacke" erzeugt wird, während die das Pixel am Kantenanfang umgebenden Pixel leicht negative Werte haben, so daß um das Pixel mit dem Spitzenwert herum ein "Graben" entsteht. Dadurch wird der Rauschabstand des Bildes wesentlich verbessert. Die Größe des Fensters wird im Interesse eines guten Kompromisses zwischen den Hardwarekosten und der Komplexität einerseits und der Qualität des erzeugten Bildes andererseits auf 5 x 5 eingestellt. Im allgemeinen nimmt die Bildqualität mit zunehmender Fenstergröße zu, weil durch den Verarbeitungsvorgang Pixeländerungen in weiteren Richtungen erkannt werden können. Bedauerlicherweise nehmen mit zunehmender Fenstergröße auch die Kosten und die Komplexität der Verwirklichung der Verarbeitungsschaltung zu. Ein 2 x 1 oder 1 x 2 Pixelfenster schärft nur horizotale und vertikale Pixelmuster und ist für Text im allgemeinen nicht akzeptabel. Ein 3 x 3 Fenster schärft nicht nur horizontale und vertikale Pixelmuster, sondern auch diagonal durch das Mittenpixel im Fenster verlaufende Pixelmuster. Ein 5 x 5 Pixelfenster schärft zusätzlich diagonal ausgerichtete Pixelmuster. Für Textbilder liefert ein 5 x 5 Fenster einen ausreichend hohen Grad der Bildaufbereitung. Infolgedessen wird angesichts der höheren Kosten und der Komplexität der für größere Fenster erforderlichen Hardware diese Größe verwendet. Bei sinkenden Kosten für größere Speicherschaltungen und Schieberegister können natürlich auch größere Fenster verwirklicht und verwendet werden. Bei den in der Verarbeitungsschaltung 445 verwendeten Koeffizienten handelt es sich, wie später im Zusammenhang mit Fig. 6 ausführlich beschrieben, um vorgegebene Binärwerte. Um bei konstanter Eingabe als Ausgabe den Wert null zu erhalten, sind die Koeffizienten auf Werte beschränkt, die in der Summe null ergeben. Wie bereits erwähnt, wird die Multibit-Ausgabe der Verarbeitungsschaltung 445 über die Leitung 450 dem Mittenpixelschwellenwertvergleicher 459 als eine von mehreren Eingaben zugeführt.
  • Die Verarbeitungsschaltung 445 liefert über die Leitung 447 auch den Wert des Mittenpixels, welches das 5 x 5 Fenster bildet. Da die Mittenpixel-Suchschaltung 455 ihre Ausgabe um ein Pixelintervall verzögert, wird ein zur Verwirklichung der Verarbeitungsschaltung 455 verwendetes Schieberegister an der Stelle (X+1, Y) abgegriffen, die dem unmittelbar links von dem Pixel befindlichen Pixel entspricht. Infolge der Verzögerung um ein Pixelintervall sind das verarbeitete Pixel auf Leitung 450 und die Ausgabe der Mittenpixel-Suchschaltung 455 auf der Leitung 457 immer mit demselben Pixel synchronisiert.
  • Die Mittenpixel-Suchschaltung 455 liefert einen Wert in Abhängigkeit von zwei bestimmten Eingaben: dem Wert des aktuellen Pixels und dem Wert, der sich aus der Kombination der in diesem Pixel vorhandenen Hintergrund- und Rauschwerte ergibt. Die im folgenden im Zusammenhang mit Fig. 7 ausführlich beschriebene Vorrichtung 451 für die Ermittlung des ursprünglichen Pixelwerts führt die (über die Leitung 43 aufgeschalteten) linearitätskorrigierten Pixelwerte durch Umkehrung der Mittelwertbildung auf die ursprünglichen Werte zurück. Sobald die Vorrichtung für die Ermittlung des ursprünglichen Pixelwerts den ersten Pixelwert für eine beliebige Abtastzeile empfängt, ist sie in der Lage, alle übrigen Pixelwerte in dieser Abtastzeile auf die ursprünglichen Werte zurückzuführen, sofern für jedes Pixel in dieser Abtastzeile ein Mittelwert vorhanden ist. Die auf die ursprünglichen Werte zurückgeführten Pixelwerte werden über die Leitung 453 der Mittenpixel-Suchschaltung 455 als eine von mehreren Eingaben zugeführt. In Abhängigkeit von den Werten des aktuellen Pixels und der vorhergehenden Pixel auf der Leitung 447 erzeugt die Vorrichtung 475 zum Bestimmen des Hintergrunds als eine von zwei Eingaben für den Summierer 473 einen Mehrbit-Wert, der dem Hintergrundwert in dem aktuellen Pixel auf der Leitung 474 entspricht. Dieser Hintergrundwert kann als ein Wert angesehen werden, bei dem ein weißes Pixel sich als Funktion der Pixelhelligkeiten in einem benachbarten Bereich zu schwarz hin verändert (wenn für den Mikrofilm Negativmaterial verwendet wurde). Dieser Wert ändert sich dynamisch, wie im folgenden ausführlich beschrieben. Die andere Eingabe für den Summierer 473 auf der Leitung 470 wird von der Rauschverarbeitungsvorrichtung 467 erzeugt. Diese Eingabe entspricht dem Rauschpegel in dem aktuellen Pixel. Wenn in einem Pixel Rauschen erkannt wird, erzeugt die Rauschverarbeitungsvorrichtung auf der Leitung 470 einen vorgegebenen Faktor, der aufgrund des Summierers 473 den Wert auf der Leitung 471 erhöht, so daß die Suchschaltung 455 für den Vergleicher 459 einen Wert mit einem höheren Schwellenwert erzeugt. Die Rauschverarbeitungsvorrichtung 467 erzeugt in der x- und y-Bildrichtung eine exponentiell abnehmende Ausgabe. Diese Ausgabe bewirkt, daß jedes Pixel so lange abnimmt, bis es entweder null erreicht oder erneut Rauschen erkannt wird. Jedesmal, wenn die Rauscherkennungs- und -filterschaltung 463 ein durch ein einzelnes Pixel verursachtes Bildrauschen erkennt, schickt diese Schaltung vorrübergehend einen Impuls über die Leitung 465 mit dem Merker für Rauschen. Bei jedem Impuls erhöht die Rauschverarbeitungsvorrichtung 467 ihre Ausgabe um einen vorgegebenen Betrag. Der Betrag kann verändert werden und wird vorzugsweise auf den Dezimalwert "45" eingestellt.
  • Die Abtast-Nachverarbeitungsschaltung 48 umfaßt die Vorlagenkantenerkennungsschaltung 481, das Mikrocomputersystem 485 und den fensterbildenden Bildfeldpuffer 489. Die Abtast-Nachverarbeitungsschaltung 48 hat im wesentlichen die Aufgabe, die Kanten des anliegend-tangierenden Rechtecks 11 zu erkennen, in dem sich die abgetastete Vorlage (die in Fig. 1 gezeigte Vorlage 13) innerhalb der mit Zugabe abgetasteten Bildfläche (in Fig. 1 ist dies das abgetastete Bild 12) befindet, und die mittels eines Schwellenwerts bestimmten Pixel, die sich auf und in dem anliegend-tangierenden Rechteck befinden, über die Leitung 49 von dem fensterbildenden Bildfeldpuffer 489 zu dem Verdichter 50 zu befördern. In Abhängigkeit von den aktuellen Pixelwerten und den entsprechenden Hintergrundwerten, die auf der Leitung 447 bzw. 474 und wie im folgenden ausführlich im Zusammenhang mit Fig. 12A - 12C beschrieben erscheinen, erkennt die Vorlagenkantenerkennungsschaltung 481 Kanten in jeder Abtastzeile in dem abgetasteten Bild. Für jede dieser Kanten sendet die Schaltung den zugehörigen Wert für die Pixelposition (XCNT- Wert) über die Adreß- -und Datenbusse 487 an das Mikrocomputersystem 485. Das Mikrocomputersystem stellt dann fest, welche dieser Kanten für eine gegebene Abtastzeile die Vorder- und Hinterkanten der abgetasteten Vorlage 13 für die Abtastzeile sind. Wenn alle Kanten für eine gegebene Abtastzeile von der Vorlagenkantenerkennungsschaltung 481 erkannt worden sind, sendet diese Schaltung über die Leitung 486 einen Unterbrechungsimpuls an das Mikrocomputersystem 485. In Abhängigkeit von diesem Unterbrechungsimpuls lokalisiert das Mikrocomputersystem, wie im folgenden im Zusammenhang mit der in Fig. 21A - 21C dargestellten Vorlagenkantenerkennungsroutine 2100 ausführlich beschrieben, das Kantenpaar mit dem größten Abstand. Nach erfolger Lokalisierung dieses Kantenpaars wird die Kante mit dem niedrigeren Pixelwert als Ist-Vorderkante der Vorlage und die Kante mit dem höheren Pixelwert als Ist-Hinterkante der Vorlage bezeichnet. Dieser Vorgang wird mit Unterbrechungen für jede Abtastzeile in der gesamten abgetasteten Fläche wiederholt. Gleichzeitig erstellt der Mikrocomputer ein Histogramm der Vorder- und Hinterkantenpositionen für die Vorlage. Nach erfolgter Verarbeitung aller Abtastzeilen bestimmt der Mikrocomputer aus dem Histogramm von links nach rechts die erste Pixelposition, bei der 10% der Vorderkanten aufgetreten sind. Diese Pixelposition wird dann als Vorderkante (linke Kante) des anliegend-tangierenden Rechtecks (Rechteck 11 in Fig. 1) bezeichnet, das innerhalb der gesamten abgetasteten Fläche liegt und in dem sich die abgetastete Vorlage befindet. Anschließend bestimmt der Mikrocomputer durch eine ähnliche Analyse die Position der rechten Kante des anliegend-tangierenden Rechtecks. Der Mikrocomputer bestimmt dabei von rechts nach links die erste Pixelposition, bei der 10% der Hinterkanten vorgekommen sind. Diese Pixelposition wird als Hinterkante (rechte Kante) des anliegend-tangierenden Rechtecks bezeichnet. In einer Weise, die im folgenden noch ausführlich beschrieben wird, bestimmt der Mikrocomputer außerdem an Hand dieser Pixelpositionen die vertikalen Pixelpositionen in der abgetasteten Fläche, bei denen die Ober- und Unterkanten des anliegend-tangierenden Rechtecks vorkommen, sowie die entsprechenden Speicheradressen. Nach erfolgter Bestimmung der Pixelpositionen für die Ober- und Unterkante sowie die linke und rechte Kante des anliegend-tangierenden Rechtecks erzeugt das Mikrocomputersystem die Speicheradresse für das Anfangspixel (obere linke Ecke im Rechteck) sowie die horizontale und vertikale Ausdehnung des Rechtecks. Anschließend sendet das Mikrocomputersystem die Startadresse und die Informationen über die vertikale und horizontale Ausdehnung des Rechtecks (Anzahl der Pixel in horizontal er Richtung und Anzahl der Abtastzeilen in vertikaler Richtung) über die Adreß- und Datenbusse 487 an den fensterbildenden Bildfeldpuffer 489 (der im folgenden im Zusammenhang mit Fig. 13A - 13B ausführlich beschrieben wird). Der fensterbildende Bildfeldpuffer liest dann die auf den und innerhalb der Kanten des anliegend- tangierenden Rechtecks abgespeicherten Pixelwerte aus und sendet diese Pixelwerte über die Leitung 49 seriell an den Verdichter 50.
  • Damit ist die Beschreibung des Gesamtsystems abgeschlossen. Es folgt eine Beschreibung der in Fig. 2A und 2B gezeigten Schaltungen im einzelnen und eine Erläuterung der von dem Mikrocomputersystem 485 abgearbeiteten Software.
  • Fig. 3 zeigt ein Blockschaltbild der Linearitätskorrekturschaltung 426, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist. Wie bereits erwähnt, korrigiert die Linearitätskorrekturschaltung in jedem Pixel-Eingangswert auf der Leitung 425 Unterschiede, die auf eine unterschiedliche Beleuchtung im Verlauf einer Abtastzeile zurückzuführen sind, sowie Unterschiede, die durch ein unterschiedliches Ansprechverhalten der einzelnen Zellen der CCD-Matrix bedingt sind. Zu diesem Zweck wird zu jedem Pixel-Eingangswert ein vorgegebener Korrekturfaktor für die Verschiebung addiert und das Ergebnis dann mit einem vorgegebenen Korrekturfaktor für die Verstärkung multipliziert. Die Faktoren für die Verschiebung und Verstärkung ändern sich im Verlauf der abgetasteten Zeile und korrigieren optische Linearitätsabweichungen und Unterschiede im Pixelansprechverhalten in der Ausgabe der CCD-Matrix.
  • Innerhalb der Linearitätskorrekturschaltung 426 wird dabei ein Multibit- Pixel-Eingangswert auf der Leitung 424 an einen Eingang des Summierers 4262 gelegt. Der andere Eingang dieses Summierers ist für den von der Verschiebungskorrektur-Suchtabelle 4274 gelieferten Korrekturwert für die Verschiebung dieses Pixels bestimmt. Diese Tabelle kann beispielsweise als RAM-Speicher ausgebildet sein, der bei der Systemeichung mit den entsprechenden Korrekturfaktoren für die Verschiebung geladen wurde. Zur Erzeugung der in dieser Tabelle abgespeicherten Werte wurde eine Prüfabtastung mit abgeschalteter Lampe 7 durchgeführt (siehe Fig. 1). Um den entsprechenden Korrekturfaktor für die Verschiebung zu erhalten, wird die horizontale Pixeladresse XCNT über die Leitung 36 der Tabelle 4274 als Adresse aufgeschaltet. Auf diese Weise wird für jeden Pixel-Eingangswert auf der Leitung 424 von der Tabelle 4274 der entsprechende Faktor für die Verschiebung dieses Pixels in einer beliebigen Abtastzeile erzeugt. Der Summierer 4262 kombiniert den Pixel-Eingangswert und den Korrekturwert für die Verschiebung durch Addition und schaltet das Ergebnis der Überlauf-/Unterlauf-Justierschaltung 4264 als Summe auf. Zur Realisierung dieser Schaltung wird eine programmierbare Matrixlogik (PAL = Programmable Array Logic) verwendet, die so vorprogrammiert ist, daß sie den Wert der Summe im Falle einer Über- oder Unterschreitung eines zulässigen 10-Bit-Bereichs entsprechend ändert und den Wert der Summe dadurch wieder in den zulässigen Bereich bringt. Die justierte Summe wird dann dem (Hardware)-Multiplizierer 4266 als eine von zwei Eingaben aufgeschaltet. Als zweite Eingabe für den Multiplizierer wird der von der Verstärkungskorrektur-Suchtabelle 4270 gelieferte Korrekturwert für die Verstärkung des Pixel-Eingangswerts verwendet. Diese Tabelle kann beispielsweise als RAM-Speicher ausgebildet sein, der bei der Systemeichung mit entsprechenden Korrekturfaktoren für die Verstärkung geladen wurde. Zur Erzeugung der in dieser Tabelle abgespeicherten Werte wurde eine Prüfabtastung bei eingeschalteter Lampe 7 (siehe Fig. 1) ohne einen Mikrofilm in dem Mikrofilm-Lesegerät, der das Licht hätte behindern können, durchgeführt. Um den entsprechenden Korrekturfaktor für die Verstärkung des Pixel-Eingangswerts zu erhalten, wird die horizontale Pixeladresse XCNT über die Leitung 36 der Tabelle 4270 als Adresse zugeführt. Auf diese Weise erzeugt die Tabelle 4270 für jeden Pixel- Eingangswert auf der Leitung 424 den entsprechenden Korrekturfaktor für die Verstärkung dieses Pixels in einer beliebigen Abtastzeile. Der Multiplizierer 4266 multipliziert die Summe mit dem Korrekturfaktor für die Verstärkung und schaltet das Ergebnis über die Leitung 428 der Gammakorrekturschaltung 432 als linearitätskorrigiertes Pixel auf.
  • Wie bereits erwähnt, erfolgt die Bestimmung der in der Verschieebungskorrekturtabelle 4274 und der Verstärkungskorrekturtabelle 4270 abgespeicherten Werte der Korrekturfaktoren für die Verschiebung und Verstärkung und die anschließende Abspeicherung in den zugehörigen RAM-Speichern während der Eichung des Systems. Nach Beendigung einer entsprechenden Prüfabtastung, wie z.B. einer Prüfabtastung mit abgeschalteter Lampe, im Zuge der Systemeichung und Bestimmung der entsprechenden Werte der Korrekturfaktoren für die Verschiebung der einzelnen Pixel in einer beliebigen Abtastzeile durch das in der Abtast-Nachverarbeitungsschaltung 48 befindliche Mikrocomputersystem 485 (siehe Fig. 2A und 2B) werden diese Werte dabei in die Tabelle 4274 geladen. Damit Werte in diese Tabelle eingeschrieben werden können, wird die horizontale Pixeladresse XCNT auf das erste Pixel in der Tabelle eingestellt. Anschließend oder gleichzeitig schaltet das Mikrocomputersystem den entsprechenden Korrekturwert für die Verschiebung dieses ersten Pixels auf den Datenbus 4875. Darauf schaltet das Mikrocomputersystem einem Steuersignal für die Wahl der Verschiebung einen entsprechenden Impuls auf, wobei das Steuersignal seinerseits an den Ladeeingang des Signalspeichers 42276 gelegt wird. Bei Empfang dieses Impulses speichert der Signalspeicher den auf dem Datenbus anstehenden Wert ab und legt ihn über seine Datenausgangskontakte und die Leitung 4277 an die Dateneingangs- und -ausgangsanschlüsse der Tabelle 4274. Anschließend legt das Mikrocomputersystem 485 ein Steuersignal für das Einschreiben der Verschiebung mit entsprechend hohem Pegel an einen Freigabeeingang der Tabelle 4274. Dieser Signalpegel veranlaßt seinerseits den RAM-Speicher, der diese Tabelle implementiert, den Wert auf dem Datenbus 4875 (der Bestandteil der in Fig. 2A und 2B gezeigten Adreß- und Datenbusse 487 ist), in eine von dem XCNT-Wert bestimmte Speicherzelle einzuschreiben. Wenn dies geschehen ist, wird der XCNT-Wert erhöht und die Operation wiederholt. Dieser Vorgang wird iterativ fortgesetzt, bis auch alle übrigen Korrekturfaktoren für die Verschiebung in dieser Tabelle abgespeichert worden sind. Die in Fig. 3 gezeigte Verstärkungskorrektur-Suchtabelle wird über den Signalspeicher 4272 und den Datenbus 4875 im wesentlichen in der gleichen Weise geladen.
  • Ein Blockschaltbild der Gammakorrekturschaltung 432, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist, ist in Fig. 4 abgebildet. Wie bereits erwähnt, kompensiert diese Schaltung in jedem linearitätskorrigierten Sechsbit-Pixelwert Unterschiede, die auf unterschiedl iche Übertragungseigenschaften der verschiedenen Mikrofilmarten zurückzuführen sind, die in dem KIMS-System verwendet werden können, wie z.B. Positiv-, Negativ-, Diazo- und Vesikularmaterial. Zu diesen Eigenschaften gehören im engeren Sinn im allgemeinen die Filmgradation und dergleichen. Die Gammakorrektur verarbeitet die Anspruchkurve (Beleuchtung im Verhältnis zur Helligkeit) einer beliebigen vorgegebenen Filmart zu der Kurve, die als Eingabe für die Bildaufbereitungsschaltung 44 am besten geeignet ist. Darüberhinaus kann die Gammakorrektur auch für die Invertierung von Pixel- Eingangswerten verwendet werden, um ein positives Bild in ein negatives Bild umzusetzen.
  • Die linearitätskorrigierten Mehrbit-Pixel-Eingangswerte werden über die Leitung 428 einem Dateneingang INA des 12-Bit-Multiplexers 4322 zugeführt. Dieser Multiplexer führt entweder diese Pixelwerte oder eine Adresse auf dem Adreßbus 4877, die dem zweiten Dateneingang INB des Multiplexers aufgeschaltet wird, der Gammakorrektur-Suchtabelle 4324 zu. Bei jeder Gammakorrektur wird der Pegel eines einem Wähleingang S des Multiplexers aufgeschalteten Steuersignals für die Wahl der Gammaadresse so eingestellt, daß der Multiplexer die Pixel-Eingangswerte durch diesen Eingang der Tabelle 4324 als Eingabeadressen zuführt. Wenn Daten in die Tabelle eingeschrieben werden sollen, wird das Vorzeichen dieses Steuersignals umgekehrt. Während der Gammakorrektur dient jeder Pixel-Eingangswert als eine Adresse der Tabelle 4324 für den Zugriff auf den entsprechenden gammakorrigierten Pixelwert aus der Tabelle. Nach erfolgtem Zugriff auf diesen Wert werden die signifikantesten sechs Bits über die Leitung 43 der Bildaufbereitungsschaltung 44 aufgeschaltet.
  • Gammakorrekturfaktoren sind Konstanten, die vor dem Abtasten in die Gammakorrektur-Suchtabelle 4324 geladen werden. Diese Faktoren ändern sich häufig, wenn andere Mikrofilmarten von der Filmbibliothek geholt und abgetastet werden. Nach Laden einer Mikrofilmrolle in das Mikrofilm-Lesegerät durch die Filmbibliothek, aber vor dessen Abtastung, wird die Gammakorrektur-Suchtabelle 4324 mit Gammakorrekturfaktoren geladen, die der spezifischen Art des abgetasteten Films entsprechen. Die Gammakorrekturfaktoren werden für jede Filmart in einer eigenen Konstantentabelle erfaßt. Diese Konstantentabellen sind vorher sämtlich im Mikroprozessorsystem 485 abgespeichert worden (siehe Fig. 2A und 2B). Nachdem das Mikroprozessorsystem die jeweilige Filmart an Hand der Angaben auf dem Filmbehälter bestimmt hat, greift es auf die entsprechende Tabelle zu und schreibt den Inhalt dieser Tabelle in den RAM- Speicher ein, der die Tabelle 4324 implementiert. Zu diesem Zweck stellt das Mikroprozessorsystem das Steuersignal für die Wahl der Gammaadresse zuerst, wie in Fig. 4 gezeigt, auf einen entsprechenden Pegel ein, damit der Multiplexer 4322 die Adresse auf dem Adressenbus 4877 (der Bestandteil des in Fig. 2A und 2B gezeigten Adreß- und Datenbusses 487 ist) den Adreßeingängen der Gammakorrektur-Suchtabelle 4324 zuführt. Im wesentlichen gleichzeitig greift das Mikroprozessorsystem auf die entsprechende Gammakorrektur-Konstantentabelle zu und schaltet den entsprechenden Gammakorrekturfaktor für die auf dem Adreßbus 4877 angegebene Adresse dem Datenbus 4875 auf, der seinerseits diesen Faktor, wie in Fig. 4 gezeigt, dem Dateneingang des Signalspeichers 4328 aufschaltet. Das Mikroprozessorsystem schickt dann über die Gammawahl- Steuerleitung einen Impuls an den Lade-Steuereingang des Signalspeichers. Nach Empfang dieses Impulses speichert der Signalspeicher 4328 den Wert auf dem Datenbus 4875 ab und schaltet ihn über die Leitung 43 den Dateneingangs/Datenausgangsanschlüssen der Tabelle 4324 auf. Anschließend legt das Mikrocomputersystem 485 ein Gammaschreibsteuersignal mit einem entsprechend hohen Pegel an den Schreibfreigabeeingang in Tabelle 4274. Dieser Pegel veranlaßt seinerseits den RAM-Speicher, der diese Tabelle implementiert, den Wert auf dem Datenbus 4875 in eine von der Adresse auf dem Adreßbus 4877 bestimmte Speicherzelle zu schreiben. Wenn dies geschehen und die Adresse inkrementiert worden ist, werden dem Datenbus neue Daten aufgeschaltet, worauf sich der Vorgang wiederholt. Diese Operation wird iterativ festgesetzt, bis alle übrigen Gammakorrekturfaktoren für die Art des jeweils abzutastenden Mikrofilms in dieser Tabelle abgespeichert worden sind.
  • Ein Blockschaltbild der 5 x 5 Verarbeitungsschaltung 445, die ebenfalls Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist, ist in fig. 5A und 5B abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 5A und 5B ist Fig. 5 zu entnehmen. Zum Verständnis der folgenden Beschreibung wird ferner auch auf Fig. 6 verwiesen. Der dort gezeigten Tabelle sind die Pixel zu entnehmen, die das von der Verarbeitungsschaltung 445 verwendete 5 x 5 Fenster 46 bilden, sowie die entsprechenden Verarbeitungskoeffizienten für jedes Pixel in diesem Fenster.
  • Die Verarbeitungsschaltung besteht im wesentlichen aus einer Verzögerungszeile, die 5 Abtastzeilen abspeichert und gleichzeitig die Werte der ein sich bewegendes 5 x 5 Fenster bildenden Pixel erzeugt. Jeder Wert wird mit dem entsprechenden Verarbeitungskoeffizienten multipliziert. Die Ergebnisse werden summiert. Da die Koeffizienten den Wert 0, +1 oder 2 haben, kann jede Multiplikation durch Addition, Verschiebung und/oder Subtraktion realisiert werden. Wie in Fig. 5A und 5B gezeigt, werden die auf den ursprünglichen Wert zurückgeführten Pixel-Eingangswerte auf der Leitung 443 sequentiell durch Zeilenverzögerngsglieder 4457, 4463, 4475 und 4482 geführt, um die jüngste (Y+1), zweitjüngste (Y), drittjüngste (Y-1) und viertjüngste (Y-2) Abtastzeile abzuspeichern. Gleichzeitig werden Pixel-Eingangswerte einem 5 x 6-Bit Schieberegister 4451 aufgeschaltet. Dieses Schieberegister speichert das fünftjüngste Pixel in der aktuellen Abtastzeile (Zeile Y+2) ab. Da drei dieser Pixel (nämlich das erste, dritte und fünfte Pixel) bei der Verarbeitung verwendet werden, schaltet das Schieberegister 4451 gleichzeitig den Pixelwert (X+2, Y+2) auf die Leitung 4452, den Pixelwert (X, Y+2) auf die Leitung 4453 und den Pixelwert (X-2, Y+2) auf die Leitung 4454. Diese Werte werden gleichzeitig an die entsprechenden Eingänge des Addierglieds 4492 gelegt. Die Ausgabe dieses Addiergliedes wird von der Invertiervorrichtung 4493 komplementiert, wobei der sich ergebende komplementierte Wert dem Addierglied 4495 als eine von mehreren Eingaben aufgeschaltet wird. Das Addierglied 4495 liefert die invertierte Summe aller Pixelwerte und somit die Summe aller Einzelpixelwerte, die mit dem Wert -1 zu multiplizieren waren. Die invertierte Summe auf der Leitung 4498 wird ihrerseits als eine von mehreren Eingaben dem Addierglied 4505 aufgeschaltet, das die Summe aller Pixelwerte mit negativen Koeffizienten mit der Summe aller Pixelwerte mit positiven Koeffizienten auf der Leitung 4503 kombiniert. Die Ausgabe des Summierers 4505 auf der Leitung 450 ist das Ergebnis dieser Verarbeitung.
  • Die Pixel, welche die unmittelbar vorhergehende Abtastzeile, d.h. die Abtastzeile Y+1, bilden, werden von dem Zeilenverzögerungsglied 4457 erzeugt und dann in das Schieberegister 4460 getaktet. Bei der Verarbeitung wird nur eines der fünf Pixel, welche die zweite Reihe des Fensters bilden und sich in dieser Abtastzeile befinden, verwendet. Dieser Pixelwert, Pixel (X, Y+1), erscheint auf der Leitung 4461 und hat den Verarbeitungskoeffizienten +2. Infolgedessen wird dieser Pixelwert über die Leitung 4461 einem Eingang des Addiergliedes 4501 zugeführt. Dieses Addierglied liefert die Summe aller Pixel mit positiven Verarbeitungskoeffizienten. Die erforderliche Verdoppelung des Werts des Pixels (X, Y+1) kann in der Weise erfolgen, daß man den Wert des Pixels einfach um eine Stelle verschiebt. Zu diesem Zweck werden die Verbindungen zwischen dem Schieberegister 4460 und dem Eingang des Addierglieds 4501 einfach um eine Stelle versetzt verdrahtet, d.h. der Ausgang des wertniedrigsten Bit auf der Leitung 4461 wird mit der Eingangsleitung des wertniedrigsten Bit+1 des Eingangs IN1 des Addierglieds 4501 verbunden und so weiter. Das mit einem Kreis versehene Symbol "x2" bezeichnet einen versetzten Anschluß dieser Art. Die Anschlüsse für die Pixel (X, Y) und (X, Y-1) werden in ähnlicher Weise versetzt.
  • Die Pixel, welche die mittlere Abtastzeile im Fenster, d.h. die Abtastzeile Y, bilden, werden von einem Zeilenverzögerungsglied 4463 erzeugt und dann in das Schieberegister 4466 getaktet. Alle fünf Pixel, welche die mittlere Reihe des Fensters bilden und sich in dieser Abtastzeile befinden, werden bei der Verarbeitung verwendet. Zwei dieser Pixelwerte, nämlich das erste Pixel (X+2, Y) und das fünfte Pixel (X-2, Y), die auf den Leitungen 4469 und 4473 anstehen, haben beide den Verarbeitungskoeffizienten -1 und werden infolgedessen gleichzeitig den entsprechenden Eingängen der Addierglieder 4492 und 4496 zugeführt. Die Ausgabe des Addierglieds 4496 wird von der Invertiervorrichtung 4497 komplementiert und dann als zweite Eingabe dem Addierglied 4495 aufgeschaltet. Von den drei verbleibenden Pixeln in dieser Abtastzeile hat das Mittenpixel (X, Y) den Verarbeitungskoeffizienten +2 und wird daher, wie vorher beschrieben, versetzt mit einem Eingang des Addierglieds 4501 verbunden. Die übrigen Pixelwerte, d.h. das zweite Pixel (X+1, Y) und das vierte Pixel (x-1, Y) haben jeweils den Verarbeitungskoeffizienten +1 und werden daher über die Leitung 4470 bzw. 4472 direkt mit den entsprechenden Eingängen des Addierglieds 4501 verbunden.
  • Die die nächste Abtastzeile, d.h. die Abtastzeile Y-1, bildenden Pixel werden von dem Zeilenverzögerungsglied 4475 erzeugt und dann in das Schieberegister 4478 getaktet. Nur eines der fünf Pixel, welche die vierte Reihe des Fensters bilden und sich in dieser Abtastzeile befinden, wird bei der Verarbeitung verwendet. Dieser Pixelwert, Pixel (X, Y-1), erscheint auf der Leitung 4480 und hat den Verarbeitungskoeffizienten +2. Infolgedessen wird dieser Pixelwert über die Leitung 4480 um eine Stelle versetzt mit einem Eingang des Addierglieds 4501 verbunden.
  • Die die letzte bzw. unterste Abtastzeile im Fenster, d.h. die Abtastzeile Y- 2, bildenden Pixel werden in das Schieberegister 4485 getaktet. Drei dieser Pixelwerte, nämlich das erste Pixel (X+2, Y-2), das dritte Pixel (X, Y-2) und das fünfte Pixel (X-2, Y-2), die auf den Leitungen 4486, 4487 und 4488 anstehen, haben jeweils den Verarbeitungskoeffizienten -1 und werden infolgedessen gleichzeitig den entsprechenden Eingängen des Addierglieds 4496 zugeführt.
  • Die Verarbeitungsschaltung liefert über die Leitung 447 auch den Wert des Mittenpixels, welches das 5 x 5 Fenster bildet. Da die Mittenpixel-Suchschaltung (siehe Fig. 2A und 2B) ihre Ausgabe um ein Pixelintervall verzögert, steht der benötigte Pixelwert an der vierten Stelle, d.h. als Pixel (X+1, Y), im Schieberegister 4466 zur Verfügung. Das Pixel entspricht dem Pixel, das unmittelbar links von dem Mittenpixel des in Fig 6 gezeigten Fensters 46 angeordnet ist. Infolge der Verzögerung um ein Pixelintervall ist das auf der Leitung 450 anstehende verarbeitete Pixel das Ist-Mittenpixel in dem 5 x 5 Fenster (siehe Fig. 2A und 2B). Daher sind das verarbeitete Pixel und die Ausgabe der Mittenpixel-Suchschaltung 455 immer mit dem gleichen Pixel synchronisiert.
  • Ein Blockschaltbild der Vorrichtung 451 für die Ermittlung des ursprünglichen Pixelwerts, das Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist, ist in Fig. 7 abgebildet. Wie bereits erwähnt, führt diese Vorrichtung die (über die Leitung 43 in Fig. 2A und 2B) aufgeschalteten linearitätskorrigierten Pixel durch Umkehrung des Mittelwertbildungsvorgangs auf die ursprünglichen Werte zurück. Nach Empfang des ersten Pixelwerts für eine beliebige Abtastzeile ist die Vorrichtung zur Bestimmung des ursprünglichen Pixelwerts in der Lage, für alle übrigen Pixel in dieser Zeile den ursprünglichen Wert zu bestimmen, wenn die Mittelwerte für alle Pixel in dieser Abtastzeile bekannt sind. Die auf den ursprünglichen Wert zurückgeführten Pixelwerte erscheinen auf der Leitung 453.
  • Die Vorrichtung 451 zur Bestimmung der ursprünglichen Pixelwerte arbeitet im wesentlichen wie nachstehend beschrieben. Wenn eine aktuelle Abtastzeile die Pixel X0, X1,... Xn enthält, dann gilt für alle folgenden entsprechenden Mittelwerte dieser Pixel (A1, A2, A3, ...., An):
  • A1 = (X0 + X1)/2 (1)
  • A2 = (X1 + X2)/2 (2)
  • und so fort bis zum letzten Mittelwert, für den folgende Beziehung gilt:
  • An = (Xn-1 + Xn)/2. (3)
  • Wenn der Wert des ersten Pixels in der Abtastzeile mit X0 gegeben ist, dann läßt sich der unbekannte (ursprüngliche) Pixelwert X1 in der Gleichung (1) wie folgt bestimmen:
  • X1 = 2*A1 - X0 (4)
  • Durch Einsetzen des so bestimmten Werts für das Pixel X1 in die Gleichung (5) erhält man den nächsten (ursprünglichen) Pixelwert X2 als:
  • X2 = 2*A2 - X1. (5)
  • Wenn der Wert des ersten Pixels in einer beliebigen Abtastzeile bekannt ist, läßt sich daher mit Hilfe des entsprechenden ursprünglichen Pixelwerts und des vorangegangenen ursprünglichen Pixelwerts für jedes folgende Pixel ein Wert berechnen. Im allgemeinen implementiert die Vorrichtung 451 zur Bestimmung des ursprünglichen Pixelwerts folgende Gleichung:
  • Xn = 2*An - Xn-1 (6)
  • Um einen Datenstrom als Mittelwert vorliegender Pixel einer Abtastzeile auf einen Datenstrom ursprünglicher Pixelwerte zurückzuführen, muß daher bei Anwendung dieser erfinderischen Technik nur der Wert des ersten Pixels in der Zeile abgespeichert werden. Dies hat den Vorteil, daß nicht mehr, wie bisher, für jedes Pixel in der Zeile sowohl der Mittelwert als auch der ursprüngliche Wert abgespeichert werden muß. Infolgedessen ist das durch die Vorrichtung 451 zur Bildung des Mittelwerts ermöglichte Verfahren einfacher und somit billiger als die bisher bekannten und angewandten Verfahren.
  • Die von der Verarbeitungsschaltung 445 auf die Leitung 447 ausgegebenen (als Mittelwerte vorliegenden) Mittenpixel-Eingangwerte An werden über eine um eine Stelle versetzte Verbindung einem positiven Eingang eines Subtrahierglieds 4511 zugeführt. Die versetzte Verbindung verdoppelt den auf der Leitung 447 anstehenden Wert. An dem anderen (negativen) Eingang des Subtrahierglieds 4511 steht weiterhin der vom Signalspeicher 4515 erzeugte und auf der Leitung 4517 ausgegebene Ausgangswert an. Der Signalspeicher 4515 erzeugt eine Verzögerung um ein Pixelintervall.
  • Für jeden als Mittelwert vorliegenden Pixel-Eingangswert auf der Leitung 447 berechnet das Subtrahierglied 4511 den ursprünglichen Wert Xn dieses Pixels durch Subtraktion des Werts des unmittelbar vorangegangenen Pixels Xn-1 vom doppelten Wert des als Mittelwert vorliegenden Pixels. Vor Betätigung der Vorrichtung 451 zur Bestimmung des ursprünglichen Werts wird der Inhalt des ignalspeichers 4515 gelöscht. Zu diesem Zweck wird über die Leitung 4519 an einen Rückstelleingang ("R") des Signalspeichers ein Steuersignal ("Reset"= "Rückstellung") angelegt. Infolgedessen wird der vorangegangene Pixelwert Xn-1 anfangs auf null gestellt. Der Wert des ersten Pixels in einer aktuellen Abtastzeile - im allgemeinen null oder ein anderer bekannter Wert - wird der Vorrichtung 451 zur Bestimmung des Mittelwerts über die Leitung 447 aufgeschaltet. Beim nächsten Pixel-Eintaktzyklus wird der vorangegangene Pixelwert Xn-1 im wesentlichen durch das Subtrahierglied 4511 und den Signalspeicher 4515 getaktet. Gleichzeitig, d.h. ein Pixel-Eintaktzyklus nach Ausgabe des ersten Pixelwerts auf die Leitung 447, wird der als Mittelwert vorliegende aktuelle Pixelwert An auf diese Leitung ausgegeben. Infolgedessen erscheint der aktuelle ursprüngliche Pixelwert Xn am Ende dieses Pixel-Eintaktzyklus auf der Leitung 4513 und wird zum vorangegangenen Pixelwert Xn-1, der für den nächsten Pixel-Eintaktzyklus auf der Leitung 4517 bereitgestellt wird. Diese Operation wird iterativ wiederholt, bis alle übrigen ursprünglichen Pixelwerte für die aktuelle Abtastzeile berechnet worden sind.
  • Ein Blockschaltbild der Mittenpixel-Suchschaltung 455, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist, ist in Fig. 8 abgebildet. Wie bereits erwähnt, speichert die Schaltung 455 vorgegebene Pixelwerte ab, die dem Mittenpixel-Schwellenwertvergleicher 459 zur Bildung der Schwellenwerte aufgeschaltet werden, die in einem von der Rauscherkennungsund -filterschaltung 463 verwendeten 3 x 3 Fenster das Mittenpixel bilden. Der von dieser Tabelle erzeugte Wert wird von drei Faktoren bestimmt: der Hintergrundhelligkeit der abgetasteten Fläche in einem Bereich in der Nähe des aktuellen abgetasteten Pixels, der für das aktuelle Mittenpixel berechneten Rauschgröße und einem ursprünglichen Wert des aktuellen abgetasteten Pixels.
  • Dabei werden der Schaltung drei verschiedene Eingangsinformationen aufgeschaltet und gemeinsam zur Bildung einer Speicheradresse verwendet. Die ursprünglichen Pixelwerte erscheinen auf der Leitung 453. Für jeden dieser Pixelwerte erscheint ein Wert, der der Summe des Hintergrundwerts und der Rauschgröße für dieses Pixel entspricht, auf der Leitung 471. Die auf den Leitungen 453 und 471 anstehenden Signale werden gemeinsam an den Eingang INA des Multiplexers 4551 gelegt. Durch Anlegen eines Adreßwählsignals an einen entsprechenden Wähleingang (S) des Multiplexers wird dieser angewiesen, entweder die Signale auf den Leitungen 435 und 471 oder die auf dem mit dem Eingang INB des Multiplexers verbundenen Adreßbus 4877 anstehenden Signale über die Leitung 4553 dem Adreßeingang der Mittenpixel-Suchtabelle 4555 zuzuführen. Dieses Adreßwählsignal wird von dem in der Bildverarbeitungsschaltung 40 befindlichen Mikrocomputersystem 485 erzeugt (siehe Fig. 2A und 2B). Die in Fig. 8 gezeigte Tabelle 4555 wird beispielsweise mit Hilfe von RAM-Speicherschaltungen implementiert. Nach Eingabe einer Adresse in diese Tabelle und entsprechender Taktung der darin verwendeten RAM-Speicher (mittels nicht dargestellter Taktsignale) stellen die Speicher die entsprechenden Mittenpixel-Ausgangswerte auf der Leitung 457 für den Mittenpixel-Schwellenwertvergleicher 459 bereit. Bei der Initialisierung des Systems hat das Mikroprozessorsystem 485 (siehe Fig. 2A und 2B) Zugriff auf eine interne Tabelle abgespeicherter Konstanten und kopiert diese Konstanten in die Mittenpixel-Suchtabelle 4555. Zu diesem Zweck stellt das Mikroprozessorsystem das Mittenpixel-Adreßwählsignal, wie in Fig. 8 gezeigt, zuerst auf einen Pegel ein, der den Multiplexer 4551 veranlaßt, die auf dem Adreßbus 4877 anstehende Adresse den Adreßeingängen der Mittenpixel-Suchtabelle 4555 zuzuführen. Im wesentlichen gleichzeitig greift das Mikroprozessorsystem auf die entsprechende Mittenpixeltabelle zu und schaltet den Pixelwert für die auf dem Adreßbus 4877 angegebene Adresse dem Datenbus 4875 auf, der seinerseits diesen Faktor dem Dateneingang des Signalspeichers 4557 aufschaltet. Über die Steuerleitung für die Wahl des Mittenpixels schickt das Mikroprozessorsystem dann einen Impuls an einen Ladesteuereingang des Signalspeichers. Bei Empfang dieses Impulses speichert der Signalspeicher 4557 den auf dem Datenbus 4875 anstehenden Wert ab und legt ihn über die Leitung 457 an die Dateneingangs-/Datenausgangsanschlüsse der Tabelle 4555. Anschließend sendet das Mikrocomputersystem 485 ein Steuersignal für das Einschreiben des Mittenpixelwerts mit entsprechend hohem Pegel an den Schreibfreigabeeingang der Tabelle 4555. Dieser Pegel veranlaßt seinerseits den RAM-Speicher, der diese Tabelle implementiert, den auf dem Datenbus 4875 anstehenden Wert in eine von der Adresse auf dem Adreßbus 4877 angegebene Speicherzelle einzuschreiben. Nach erfolgter Einschreibung und Inkrementierung der Adresse werden dem Datenbus neue Daten aufgeschaltet und der Vorgang wiederholt. Diese Operation wird iterativ fortgesetzt, bis auch alle übrigen Mittenpixelwerte in die Tabelle 4555 eingeschrieben worden sind.
  • Ein Blockschaltbild der Rauscherkennungs- und -filterschaltung 463, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist, ist in Fig. 9 abgebildet. Wie bereits erwähnt, stellt die Rauscherkennungsund -filterschaltung 463 fest, ob in dem von dem Vergleicher 459 erzeugten Schwellenwertbild eines von mehreren vorgegebenen Rauschmustern vorhanden ist. Die Schaltung 463 bildet ein 3 x 3 Fenster mittels eines Schwellenwerts bestimmter Pixelwerte, die um den von dem Vergleicher 459 erzeugten aktuellen, mittels eines Schwellenwerts bestimmten Pixelwert zentriert sind. Das Rauschmuster in diesem Fenster wird dann mit einem als Pixelrauschen definierten, vorher abgespeicherten Rauschmuster verglichen. Wenn eine Übereinstimmung zwischen dem Muster im Fenster und einem beliebigen vorher abgespeicherten Muster festgestellt wird, dann wird der Rauschverarbeitungsvorrichtung über die Leitung 465 ein Signal in Form eines Merkers für Rauschen zugeführt. Außerdem filtert die Schaltung 463 aus dem (veränderlichen) Mittenpixel in dem 3 x 3 Fenster Einzelpixelrauschen aus und stellt den gefilterten Mittenpixelwert auf der Leitung 47 bereit. Die auf der Leitung 47 anstehenden gefilterten Mittenpixel werden dem in der Abtast- Nachverarbeitungsschaltung 48 befindlichen fensterbildenden Bildpuffer 489 zugeführt (siehe Fig. 2A und 2B).
  • Dabei werden, wie in Fig. 9 gezeigt, die von dem Mittenpixel-Schwellenwertvergleicher 459 erzeugten Einbitpixel über die Leitung 461 dem 3 x 3 Fenstergenerator 4631 aufgeschaltet. Dieser Fenstergenerator enthält zwei Zeilenverzögerungsglieder und drei 3-Bit-Shiftregister, die in ähnlicher Weise wie die Zeilenverzögerungsglieder 4457 und 4463 und die Schieberegister 4451, 4460 und 4466 angeschlossen sind (siehe Fig. 5A und 5B), um ein sich bewegendes Fenster von 3 x 3 Pixeln zu erzeugen. Die von dem Fenstergenerator 4631 gleichzeitig erzeugten neun Pixel werden über die in Fig. 9 gezeigte Leitung 4633 parallel der 3 x 3 Rauschmustererkennungssuchtabelle 4635 parallel als Adresse aufgeschaltet. Diese Suchtabelle enthält ROM-Speicher, in denen vorgegebene Rauschmuster, die in einem 3 x 3 Fenster auftreten könnten, abgespeichert sind. Vier verschiedene Rauschmuster, die in einem 3 x 3 Fenster vorkommen könnten, sind in den ROM-Speichern abgespeichert. Davon wird jedoch jeweils nur (durch nicht dargestellte bekannte Adreßschaltungen) eines angewählt. Die Tabelle 4635 erzeugt zwei verschiedene Ausgaben. Wenn das bewegliche 3 x 3 Fenster ein Rauschmuster enthält, das einem in dem ROM- Speicher abgespeicherten Muster entspricht, dann wird an dem Ausgang D02 ein Signal mit einem hohen Pegel erzeugt. Dieses Signal mit hohem Pegel wird dann durch die Flipflops 4637 und 4639 getaktet, um auf der Leitung 465 einen Impuls mit einer Dauer von zwei Taktzyklen zu erzeugen. Dieser Impuls ist der Merker für Rauschen. Der Impuls bewirkt, daß die im folgenden ausführlich im Zusammenhang mit Fig. 10 beschriebene Rauschverarbeitungsvorrichtung 467 (siehe Fig. 2A und 2B) ihren Ausgabewert erhöht. Wie in Fig. 9 gezeigt, handelt es sich bei der auf der Leitung 47 anstehenden anderen Ausgabe der Tabelle 4635 (Ausgabe D01) um den Wert des Mittenpixels des 3 x 3 Fensters, aus dem Einzelpixelrauschen entfernt wurde. Wenn das von dem Vergleicher 459 erzeugte Mittenpixel schwarz ist (also beispielsweise den Binärwert "1" hat), weil Rauschen vorhanden ist, wird der Wert dieses Pixels von der Tabelle 4635 in weiß geändert (und hat dann beispielsweise den Binärwert "0").
  • Fig. 10A und 10B zeigen gemeinsam ein Blockschaltbild der Rauschverarbeitungsvorrichtung 467, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 10A und 10B ist Fig. 10 zu entnehmen. Wie bereits erwähnt, ist die Rauschverarbeitungsvorrichtung 467 als zweidimensionales Filter ausgebildet, dessen Ausgabewert von jedem Impuls des Merkers für Rauschen auf der Leitung 465 Pixel für Pixel in der x- und y-Richtung inkremental und exponentiell abnimmt. Die Ausgabe dieses Filters folgt dem aktuellen Rauschpegel im abgetasteten Bild. Bei jedem Impuls des Merkers für Rauschen nimmt der Ausgabewert dieses Filters um einen vorgegebenen Wert, vorzugsweise den Dezimalwert "45", zu und nimmt dann in der x- und y-Richtung ab, bis der Wert null erreicht ist.
  • Wie in Fig. 10A und 10B gezeigt, besteht die Rauschverarbeitungsvorrichtung 467 aus dem Y-Filterabschnitt 4670 und dem X-Filterabschnitt 4710, deren Ausgabewerte in der Y- und X-Richtung Pixel für Pixel exponentiell abnehmen. In dem Y-Filterabschnitt 4670 ist in der Y-Exp-Rauschverarbeitungssuchtabelle 4679 eine definierte exponentiell abnehmende Funktion [in der Form 1/(1-T), wobei T die Zeit angibt] abgespeichert. Die Suchtabelle wird dabei vorzugsweise als RAM-Schaltung ausgeführt. Die Funktion übernimmt die Filterung in der rechtwinklig zur Abtastzeile verlaufenden Y-Richtung. Wenn also ein Anfangswert eines beliebigen Pixels P in einer Abtastzeile gegeben ist, dann liefert die Ausgabe dieser Suchtabelle einen Wert für das gleiche Pixel auf der nächsten Abtastzeile, d.h. für das nächste Pixel in der gleichen Spalte, der gegenüber dem Anfangswert um einen geringen Betrag exponentiell gedämpft ist. Wenn dann in allen übrigen Pixeln dieser Spalte in mehreren rolgenden Abtastzeilen kein Rauschen vorkommt, entsprechen die von der Suchtabelle 4679 erzeugten Werte für die Pixel in dieser Spalte einer exponentiell abnehmenden Funktion.
  • Auf die Suchtabelle 4679 haben zwei Werte Zugriff, die gemeinsam über die Leitung 4677 eine Adresse bilden. Einer dieser Werte ist der auf der Leitung 465 des Merkers für Rauschen anstehende Einbit-Impuls. Der andere Wert ist der von der Suchtabelle 4679 erzeugte und von dem Zeilenspeicher 4671 um eine Abtastzeile verzögerte Mehrbit-Ausgabewert. Beide Werte werden an entsprechende Dateneingänge des Signalspeichers 4675 gelegt das Merkerbit für Rauschen über die Leitung 465 und die verzögerte Ausgabe der Suchtabelle 4679 über die Leitung 4673.
  • Im Betrieb werden die Merkerimpulse für Rauschen über die Leitung 465 an ein entsprechendes Eingangsbit des Signalspeichers 4675 gelegt. Gleichzeitig wird die Ausgabe der Y-Exp-Suchtabelle 4679 im Signalspeicher 4684 als Eingabe für den Zeilenspeicher 4671 abgespeichert. Die Adresse, unter der der Y-Exp-Wert im Zeilenspeicher abgespeichert wird, wird durch den Wert der horizontalen Pixeladresse XCNT auf der Leitung 36 bestimmt. Die Steuerschaltung 493 (siehe Fig. 2A und 2B) schaltet dann dem Zeilenspeicher-Schreibsignal einen entsprechenden Impuls auf, damit dieser Wert in den Zeilenspeicher 4671 eingeschrieben wird. Nach erfolgtem Einschreiben des Y-Exp-Werts in die entsprechende Speicherzelle des Zeilenspeichers hat der Zeilenspeicher Zugriff auf den verzögerten Wert für diese Speicherzelle, und gibt das Ergebnis, wie in Fig. 10A und 10B gezeigt, auf die Leitung 4673 aus. Der verzögerte Wert und der Wert des Merkers für Rauschen werden in den Signalspeicher 4675 eingetaktet und erscheinen dort als 10-Bit-Adresse für die Y-Exp-Suchtabelle 4679. In Abhängigkeit von dieser Adresse und entsprechenden (nicht dargestellten) Taktsignalen, die den darin verwendeten RAM-Schaltungen aufgeschaltet werden, hat die V-Exp-Suchtabelle Zugriff auf den entsprechenden V-Exp-Wert und gibt diesen Wert auf die Leitung 4682. Das bedeutet, daß der von der Tabelle 4679 erzeugte Wert für das gerade verarbeitete aktuelle Pixel teilweise den Wert des gleichen Pixels in der unmittelbar folgenden Abtastzeile bestimmt. Wenn der Merker für Rauschen mit einem Impuls beaufschlagt wird, erhöht die V-Exp-Tabelle ihren Ausgabewert um einen vorgegebenen Betrag, in der Regel den Dezimalwert "45". Die Ausgabe der Y-Exp-Tabelle auf der Leitung 4681 wird dem X-Filterabschnitt 4710 als Eingabe zugeführt.
  • Wie bereits erwähnt, übernimmt der X-Filterabschnitt 4710 die Filterung in der X-Richtung, d.h. in einer parallel zur Richtung der Abtastzeile verlaufenden Richtung. Wenn dann ein Anfangswert für ein beliebiges Pixel P in einer Abtastzeile gegeben ist, liefert die Ausgabe dieser Suchtabelle für das nächste Pixel in dieser Abtastzeile einen Wert, der gegenüber dem Anfangswert um einen geringen Betrag exponentiell gedämpft ist. Wenn in mehreren folgenden Pixeln in derselben Abtastzeile dann kein Rauschen vorhanden ist, entsprechen die von der Suchtabelle 4719 erzeugten Werte für diese Pixel in dieser Abtastzeile einer exponentiell abnehmenden Funktion. Im X- Filterabschnitt 4710 wird dann in der vorzugsweise als RAM-Schaltung ausgebildeten X-Exp-Suchtabelle 4719 der Rauschverarbeitungsvorrichtung eine definierte exponentiell abnehmende Funktion abgespeichert [wiederum in der Form 1/(1-T), wobei T die Zeit angibt].
  • Die Arbeitsweise des X-Abschnitts 4710 entspricht weitgehend der des Y-Filterabschnitts 4670. Eine Adresse auf der Leitung 4717 hat dabei Zugriff auf die Suchtabelle 4719. Diese Adresse besteht aus der Summe zweier Werte. Einer dieser Werte ist die Ausgabe des Y-Filterabschnitts 4670 auf der Leitung 4681. Der andere Wert ist die von der X-Exp-Suchtabelle 4719 erzeugte Mehrbit-Ausgabe, die durch den Signalspeicher 4723 um einen Pixel-Taktzyklus verzögert wurde. Im Betrieb werden die direkt auf die Leitung 4681 ausgegebene Ausgabe des Y-Filterabschnitts 4670 und die verzögerte Ausgabe der Suchtabelle 4719 auf der Leitung 4725 an entsprechende Eingänge des Addierglieds 4711 gelegt. Die Summe dieser Werte erscheint auf der Leitung 4713 und wird als Adresse für die Y-Exp-Suchtabelle 4719 in den Signalspeicher 4715 eingetaktet. In Abhängigkeit von dieser Adresse und (nicht dargestellten) Taktsignalen für die RAM-Schaltungen, welche die X-Exp-Suchtabelle 4719 bilden, hat diese Suchtabelle Zugriff auf den entsprechenden X-Exp-Wert und gibt diesen Wert auf die Leitung 4725. Der von der Tabelle 4719 für das zu diesem Zeitpunkt verarbeitete aktuelle Pixel gelieferte Wert bestimmt also teilweise den Wert für das unmittelbar vorhergehende Pixel. Die Ausgabe auf der Leitung 470 ist ein gefilteter zweidimensionaler Wert, der dem Rauschpegel im abgetasteten Bild folgt. Wie bereits erwähnt, wird dieser Wert über die Leitung 470 dem Summierer 473 aufgeschaltet (siehe Fig. 2A und 2B).
  • Die X-Exp-Suchtabelle 4679 und die Y-Exp-Suchtabelle 4719 werden während der Initialisierung des Systems durch das Mikrocomputersystem 485 mit entsprechenden Daten geladen, und zwar durch Abarbeitung des in Fig. 14 gezeigten Blocks 1410, der im folgenden ausführlich beschrieben wird. Zur Initialisierung werden diesen Tabellen entsprechende Daten und Adreßinformationen aus dem Mikrocomputersystem - über den in Fig. 10A und 10B gezeigten Adreßbus 4877 - und aus dem Datenbus 4875 aufgeschaltet, und zwar durch den Adressen- Signalspeicher 4687 und den Daten-Signalspeicher 4690 für die Y-Exp-Suchtabelle 4679 und den Adressen-Signalspeicher 4727 und den Daten-Signalspeicher 4729 für die X-Exp-Suchtabelle 4719. Die Daten werden mit Hilfe entsprechender Adreß- und Datenbus-Wählsignale sowie Schreibsignale in beiden Tabellen im wesentlichen in der gleichen Weise wie im Zusammengang mit der Mittenpixel-Suchtabelle 4555 erläutert eingeschrieben (siehe Fig. 8).
  • Fig. 11A und 11B zeigen gemeinsam ein Blockschaltbild der Vorrichtung 475 zur Bestimmung des Hintergrundwerts, die Bestandteil der in Fig. 2A und 2B gezeigten Bildverarbeitungsschaltung 40 ist. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 11A und 11B ist Fig. 11 zu entnehmen. Die Vorrichtung 475 zum Bestimmen des Hintergrundwerts erzeugt, wie bereits erwähnt, einen Sechsbit-Wert, der den Hintergrundwert für jedes Pixel in dem abgetasteten Bild adaptiv verarbeitet. Der Hintergrundwert kann als der Wert angesehen werden, der sich von Pixel zu Pixel dynamisch ändert. Dabei verändert sich (für Negativmaterial) ein weißes Pixel als definierte Funktion der Hintergrundhelligkeiten der Pixel in einem benachbarten Bereich zu einem schwarzen Pixel.
  • Der Hintergrundwert für den aktuellen Pixelwert V läßt sich wie folgt bestimmen:
  • Hintergrundwert V = min(b, c) - f [min(b, c) - V] (7)
  • Darin ist: b = der Hintergrundwert für das Pixel B, das sich in der gleichen Spalte wie das aktuelle Pixel, aber in der unmittelbar vorhergehenden Abtast- Zeile befindet, und
  • c = der Hintergrundwert für das vohergehende Pixel C in der aktuellen Abtastzeile.
  • Die Position der Pixel B und C relativ zum aktuellen Pixel V sind in dem Teilabschnitt 4785 des aktuellen abgetasteten Bildes abgebildet. Die Funktion F ist eine nichtlineare, empirisch abgeleitete Funktion, die vorzugsweise der Funktion 4880 ähneln sollte. Aufgrund dieser Funktion reagiert der verarbeitete Hintergrundwert verzögerungsfrei (indem er einem Videopegel eng folgt), wenn sich der Wert des aktuellen Pixels zum Hintegrundwert (oder Papierwert) der abgetasteten Vorlage hin verandert, also von schwarz (Dezimalwert "63") nach weiß (Dezimalwert "0"), und mit Verzögerung, wenn sich der Wert des aktuellen Pixels zu Zeichendaten hin verändert, also von weiß nach schwarz. Die Vorrichtung 475 zum Bestimmen des Hintergrundwerts ermittelt den Hintergrundwert des aktullen Pixels V an Hand dieser Beziehung.
  • Vorgegebene Werte der Funktion f werden in der Suchtabelle 4768 zum Bestimmen des Hintergrunds abgespeichert, die vorzugsweise mit Hilfe von RAM-Schaltungen implementiert wird. Auf diese Tabelle haben zwei Werte als Adresse Zugriff: der Wert des aktuellen Pixels V und der Minimalwert zweier vorangegangener Hintergrundwerte (b und c). Der Wert des aktuellen Pixels, Pixel (x+1, Y), wird der Vorrichtung 475 zum Bestimmen des Hintergrunds über die Leitung 447 zugeführt. Während der Bildverarbeitung wird dieser Wert durch den multiplexer 4767 geleitet und den niedrigsten sechs Bits (0-5) des Adreßeingangs der Suchtabelle 4768 als Eingabe aufgeschaltet. Die andere Eingabe, min(b, c), erscheint auf der Leitung 4763 und wird während der Bildverarbeitung durch den Multiplexer 4765 geleitet und den höchsten sechs Bits des Adreßeingangs dieser Suchtabelle als Eingabe aufgeschaltet.
  • Zur Bestimmung des Minimalwerts zwischen den vorangegangenen Hintergrundwerten b und c werden der Zeilenspeicher 4751, der Signalspeicher 4755, der Vergleicher 4757 und der Multiplexer 4761 verwendet. In Abhängigkeit von verschiedenen (nicht dargestellten) Takt- und Steuersignalen gibt der Leitungsspeicher 4751 den in der von dem aktuellen Wert der horizontalen Pixeladresse XCNT angegebenen Speicherzelle abgespeicherten Wert des Pixels für die vorhergehende Abtastzeile auf Leitung 4753 aus. Dieser Wert wird einem Eingang INB des Multiplexers 4761 und einem Eingang INA des Vergleichers 4757 aufgeschaltet. Gleichzeitig ist im Inhalt des Signalspeichers 4779 der Hintergrundwert für das vorhergehende Pixel C in der aktuellen Abtastzeile enthalten. Dieser Wert wird über die Rückkoppelungsleitung 4781 einem weiteren Ein gang INA des Multiplexers 4761 zugeführt. Außerdem wird der Hintergrundwert c einem Eingang INB des Vergleichers 4757 zugeführt. Der Vergleicher 4757 vergleicht die Hintergrundwerte b und c miteinander und erzeugt eine Einbit- Ausgabe, die angibt, welcher der beiden Werte der kleinere ist. Diese Einbit- Ausgabe wird dem Wähleingang des Multiplexers 4761 aufgeschaltet. Wenn daher der Hintergrundwert b größer ist als der Hintergrundwert c, dann hat die von dem Vergleicher 4757 erzeugte Ausgabe einen hohen Wert, der dem Multiplexer 4761 den Befehl erteilt, den Hintergrundwert c auf der Leitung 4763 auszugeben. Wenn dagegen der Hintergrundwert c größer ist als der Hintergrundwert b, dann hat die von dem Vergleicher 4757 erzeugte Ausgabe einen niedrigen Wert, der dem Multiplexer 4761 den Befehl erteilt, den Hintergrundwert b auf der Leitung 4763 auszugeben. Der Wert auf der Leitung 4763 wird dann Bestandteil der Adresse für die Suchtabelle 4768.
  • Nachdem die vollständige Adresse in die Tabelle 4768 eingegeben worden ist, haben die die Suchtabelle 4768 bildenden RAM-Schaltungen in Abhängigkeit von (nicht dargestellten) entsprechenden Takt und Steuersignalen Zugriff auf einen entsprechenden, vorher (als Zweierkomplement) abgespeicherten Wert der Funktion f und geben diesen auf der Leitung 4770 aus. Dieser Wert wird dem Addierglied 4775 als eine von zwei Eingaben zugeführt. Die andere Eingabe für das Addierglied ist der von dem Multiplexer 4761 erzeugte Minimalwert min(b, c). Die Ausgabe dieses Addierglieds auf der Leitung 4777 ist der Hintergrundwert für das aktuelle Pixel V. Dieser Wert wird dann in den Signalspeicher 4779 eingetaktet, der ihn um ein Pixelintervall verzögert. Der aus dem Signalspeicher 4779 ausgetaktete resultierende Wert wird als Hintergrundwert für das vorhergehende Pixel verwendet und daher über die Leitung 4781 den entsprechenden Eingängen des Vergleichers 4757 und des Multiplexers 4761 zugeführt. Die Ausgabe des Signalspeichers 4779 wird durch den Signalspeicher 4783 getaktet, um die Ausgabe um ein weiteres Pixelintervall zu verzögern. Diese zusätzliche Verzögerung synchronisiert die Ausgabe der Vorrichtung 475 zum Bestimmen des Hintergrundwerts, die dem Summierer 473 als eine von zwei Eingaben aufgeschaltet wird (siehe Fig. A und B), mit der Ausgabe der Rauschverarbeitungsvorrichtung 467, die dem anderen Eingang dieses Summierers aufgeschaltet wird.
  • Nach jedem Zugriff auf den Zeilenspeicher zur Erzeugung eines Hintergrundwerts wird der aktuelle Hintergrundwert darin abgespeichert. Nachdem der Leitungsspeicher einen Hintergrundwert erzeugt hat, werden dem Signalspeicher 4755 entsprechende (nicht dargestellte) Takt- und Steuersignale aufgeschaltet (siehe Fig. 11A und 11B), damit der dann auf der Leitung 4777 anstehende aktuelle Hintergrundwert in dem Signalspeicher abgespeichert und auf der Leitung 4753 ausgegeben wird. Anschließend werden dem Zeilenspeicher entsprechende Takt- und Steuersignale (neben anderen, nicht gezeigten Signalen ein Schreibbefehl für den Zeilenspeicher) aufgeschaltet, damit der auf der Leitung 4753 anstehende aktuelle Hintergrundwert an der von dem aktuellen Wert der horizontalen Pixeladresse XCNT bezeichneten Stelle in den Zeilenpuffer eingeschrieben wird.
  • Während der Initialisierung des Systems wird die Suchtabelle 4768 von dem Mikrocomputersystem 485 mit entsprechenden Werten der Funktion f geladen, und zwar durch Abarbeiten des Blocks 1410 in der Hauptschleife 1400 (die im folgenden im Zusammenhang mit Fig. 14 noch ausführlich beschrieben wird). Zuerst stellt das Mikrocomputersystem den Pegel eines den Multiplexern 4765 und 4767 aufgeschalteten Wählsignals, das in Fig. 11A und 11B als "Adreßwahl zum Bestimmen des Hintergrundwerts" bezeichnet wird, auf einen entsprechenden Wert, um beide Multiplexer anzuweisen, die auf dem Bus 4877 anstehenden und dem Eingang INB der beiden Multiplexer aufgeschalteten Adressen anstelle des aktuellen Pixelwerts auf der Leitung 447 und des Minimalwerts min(b, c) auf der Leitung 4763 den Adreßeingängen der Suchtabelle 4768 zuzuführen. Anschließend schaltet das Mikrocomputersystem dem Adreßbus 4877 eine entsprechende Adresse auf, die ihrerseits durch die Multiplexer 4765 und 4767 der Suchtabelle 4768 zugeführt wird. Darnach hat das Mikrocomputersystem Zugriff auf einen Wert der in seinem residenten Speicher abgespeicherten Funktion f und schaltet diesen Wert dem Datenbus 4875 auf. Wenn dies geschehen ist, sendet der Mikrocomputer ein entsprechendes Wählsignal (Wählsignal zum Bestimmen des Hintergrundwerts) an den Signalspeicher 4772, um die Daten auf dem Bus 4875 darin abzuspeichern und sie dann der Leitung 4770 als Eingabe für die Suchtabelle 4768 zuzuführen.
  • Darnach sendet das Mikrocomputersystem ein entsprechendes Schreibsignal ("Schreibbefehl zum Bestimmen des Hintergrunds") an die Suchtabelle 4768, um die darin verwendeten RAM-Schaltungen zu veranlassen, den Datenwert unter der entsprechenden Adresse in der Tabelle abzuspeichern. Beim nächsten Datenwert der Funktion f ändert das Mikrocomputersystem die Adresse, greift auf den neuen Datenwert in seinem residenten Speicher zu, gibt diesen Datenwert auf den Datenbus 4875 aus, speichert ihn im Signalspeicher 4772 und erteilt dann dem die Suchtabelle 4768 bildenden RAM-Speicher den Befehl, diesen Datenwert entsprechend abzuspeichern. Dieser Ablauf wiederholt sich bei jedem folgenden Wert der Funktion f.
  • Fig. 12A - 12C zeigen gemeinsam ein Blockschaltbild der Vorlagenkantenerkennungsschaltung 481. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 12A - 12C ist Fig. 12 zu entnehmen. Die Vorlagenkantenerkennungsschaltung 481 erkennt, wie bereits erwähnt, Kanten in jeder Abtastzeile in dem abgetasteten Bild. Für jede erkannte Kante schaltet die Schaltung dem Mikrocomputersystem 485 über die Adreß- und Datenbusse 487 die zugehörige Pixelposition (XCNT- Wert) auf. An Hand dieser Pixelposition stellt das Mikrocomputersystem später fest, welche dieser Kanten für eine gegebene Abtastzeile die Ist-Vorderkanten und Ist-Hinterkanten der Vorlage für diese Abtastzeile sind.
  • Im wesentlichen arbeitet die Schaltung 481 in der Weise, daß sie Hintergrundwerte und Mittenpixelwerte mit Schwellenwerten vergleicht und aufgrund der Ergebnisse dieses Vergleichs verschiedene Zähler steuert. Ein Satz dieser Zähler bildet ein Videofilter, das richtige Kantenübergänge in dem Videosignal (Mittenpixel-Eingangswerte) erkennt und durch Rauschen verursachte falsche Übergänge, die sonst in dem Videosignal erscheinen würden, entfernt. Ein weiterer Satz dieser Zähler bildet ein Hintergrundfilter, das richtige Kantenübergänge in den Hintergrundwerten erkennt und durch Rauschen bedingte falsche Übergänge, die sonst in den Hintergrundwerten erscheinen würden, entfernt. Die Ausgaben dieser Zähler werden dann einer Vorder-/Hinterkanten-Erkennungsschaltung aufgeschaltet, die an Hand dieser Ausgaben feststellt, ob in der aktuellen Abtastzeile eine richtige Vorder- oder Hinterkante vorgekommen ist. Wenn dies der Fall ist, erzeugt die Erkennungsschaltung geeignete Steuersignale, um die Pixelposition (XCNT-Wert) der betreffenden Kante in einer FIFO-Speicherschaltung abzuspeichern. Nach erfolgter Verarbeitung der gesamten Abtastzeile erzeugt die Schaltung 481 eine Vorlagenkantenerkennungsunterbrechung auf der Leitung 486. Nach dieser Unterbrechung hat das Mikrocomputersystem Zugriff auf alle Kantenpositionen aus der FIFO-Speicherschaltung und bestimmt dann die Position der Ist-Vorderkante und Ist-Hinterkante der abgetasteten Vorlage für die aktuelle Abtastzeile.
  • In der Schaltung 481 werden dabei auf der Leitung 474 anstehende Hintergrundwerte oder auf der Leitung 447 anstehende Mittenpixelwerte (Videowerte) je einem Eingang der Vergleicher 5137, 5141 und 5145 zugeführt. Diese Vergleicher vergleichen die Video- und Hintergrundwerte mit zwei verschiedenen Schwellenwertpegeln: einem "Grenzpegel" auf der Leitung 5130 und einem "Ist- Grenzpegel" auf der Leitung 5113. Der Hintergrundwert folgt grundsätzlich dem Videowert. Während die Hintergrundwerte einer Erhöhung der Videowerte sehr genau folgen, reagieren sie jedoch etwas langsamer auf eine Verringerung der Videowerte. Dagegen folgt der Grenzpegel den Videowerten und den Hintergrundwerten sehr langsam, und zwar im allgemeinen mit einem Abfall von einem Zählschritt auf mehrere Hundert Pixel und einem etwa zehnmal so langsamen Anstieg. Da der Hintergrundwert häufig über den Grenzpegel ansteigt oder fällt, was die Ergebnisse eines Vergleichs mit dem Grenzpegel etwas unberechenbar macht, ist der Ist-Grenzwertpegel grundsätzlich um einen vorgegebenen Betrag, in der Regel 10 Zählschritte, kleiner als der Wert des Grenzpegels. Infolgedessen bleibt der Hintergrundwert über dem Ist-Grenzpegelwert. Dadurch wird ein durch Rauschen bedingtes unberechenbares Verhalten ausgeschlossen. Der Vergleich der Hintergrundwerte mit zwei verschiedenen Schwellenwertpegeln ermöglicht eine Überprüfung des Systemverhaltens, die in vorteilhafter Weise zur Verhinderung unberechenbarer Reaktionen beiträgt. Beide Grenzpegel werden von der im folgenden ausführlich beschriebenen Grenzpegelwertgeneratorschaltung 5100 erzeugt. Der Vergleicher 5141 vergleicht die Videowerte [Werte des Mittenpixels (X+1, Y)] auf der Leitung 447 mit dem Grenzpegelwert.
  • Um festzustellen, ob eine richtige Kante in dem abgetasteten Bild vorgekommen ist, werden die Ausgänge der drei Vergleicher zur Steuerung sechs verschiedener Zähler verwendet. Drei dieser Zähler, nämlich der nicht adressierbare Video-Hilfszähler 5181, der Video-Hinterkantenzähler 5185 und der Video-Vorderkantenzähler 5187 bilden zusammen das Video-Filter 5180. Die übrigen drei Zähler, nämlich der nicht adressierbare Hintergrundwert-Hilfszähler 5171, der Hintergrundwert-Hinterkantenzähler 5175 und der Hintergrundwert-Vorderkantenzähler 5177 bilden gemeinsam das Hintergrundwert-Filter 5170. Die Video- und Hintergrundwert-Filter erfüllen zwei Aufgaben: Sie stellen a) fest, ob eine erkannte Kante in dem Video- oder Hintergrundwert sich über einen ausreichend langen Abschnitt in dem abgetasteten Bild erstreckt, d.h. ob auf den eigentlichen Kantenübergang in dem Video- oder Hintergrundwert ein ausreichend breiter Abschnitt mit Pixeln, die alle den gleichen Wert haben (Mindestwert der richtigen Kantenbreite), folgt, und filtern b) Übergänge aus, die zu kurz sind (kleiner oder gleich der Kantenbreite mit dem größten Rauschen) und infolgedessen Rauschen zugeordnet werden müssen.
  • Eine Vorderkante im Video-Signal kann beispielsweise als steigender Übergang in diesem Video-Signal definiert sein, dem mindestens eine vorgegebene Anzahl Pixel, in der Regel 20 Pixel (Minimalwert der richtigen Kantenbreite), folgt, die alle einen Wert haben, der über dem Grenzpegelwert liegt. Wenn eine solche Kante sich nicht über einen definierten Mindestabstand erstreckt, in der Regel mindestens "5" Pixel (größte durch Rauschen bedingte Kantenbreite), dann wird diese Kante als Rauschen angesehen und bleibt infolgedessen unberücksichtigt. Ebenso kann eine Hinterkante in dem Video-Signal als fallender Übergang in dem Video-Signal definiert sein, dem wiederum eine gegebene Anzahl Pixel, in der Regel "20" Pixel, folgt, die alle einen Wert haben, der unter dem Grenzpegelwert liegt. Wenn die Hinterkante sich nicht über mindestens "5" Pixel erstreckt, wird auch diese Kante als Rauschen angesehen und bleibt infolgedessen unberücksichtigt. In ähnlicher Weise stellt das Hintergrundwert-Filter fest, ob bei den gleichen Pixelspannen eine erkannte Kante in den Hintergrundwerten hinreichend lange andauert.
  • Dementsprechend werden die Ausgaben der Vergleicher 5137, 5141 und 5145 über die entsprechenden Leitungen 5139, 5143 und 5147 den zugehörigen Eingängen der Kantenerkennungsschwellenwertsteuerlogik 5153 zugeführt. Diese Logik wird in der Regel als programmierbare Matrixlogik implementiert. Die Matrix speichert definierte logische funktionen ab und bestimmt wie ein endlicher Automat die Arbeitsweise der Zähler in dem Video-Filter 5180 und der Zähler in dem Hintergrundwert-Filter 5170 sowie die Richtung (Zunahme/Abnahme), in der sich die Grenzpegelwerte ändern. Dabei wird, wenn aufgrund einer Änderung des Pegels in einer Vergleicherausgabe unter mehreren Vergleicherausgaben ein Kantenübergang erkannt wird, der entsprechende Zähler, d.h. der Video-Zähler 5185 für die Hinterkante oder der Hintergrundwert-Zähler 5175 für die Hinterkante oder der Hintergrundwert-Zähler 5177 für die Vorderkante oder der Video-Zähler 5187 für die Vorderkante, von der Schaltung 5153 mit dem vorgegebenen Wert, d.h. "20", geladen. Die Schaltung 5135 erzeugt dann auf den Ausgangsleitungen 5161, 5163, 5165 oder 5167 entsprechende Signale. Folgendes Beispiel veranschaulicht diesen Ablauf: Das Vorhandensein einer Vorderkante wird angenommen, wenn die Videowerte unter die Grenzpegel- und Ist-Grenzpegelwerte fallen. Das Vorhandensein einer Hinterkante dagegen wird angenommen, wenn die Video- und Hintergrundwerte über die Grenzpegelwerte hinaus ansteigen. Gleichzeitig veranlaßt die Schaltung 5153, daß entweder der nicht adressierbare Video-Hilfszähler 5181 oder der nicht adressierbare Hintergrundwert-Hilfszähler 5171 mit dem definierten Mindestspannenwert, in der Regel "5" Pixel, geladen wird. Der Inhalt aller übrigen Zähler bleibt bei null. Wenn beispielsweise der von dem Vergleicher 5141 erzeugte Ausgabepegel fällt und damit das Vorhandensein einer Vorderkante im Videopegel anzeigt, dann erzeugt die Logik 5153 einen Impuls auf der Leitung 5167, durch den der Zähler 5187 mit dem Wert "20" geladen wird, und einen Impuls auf der Leitung 5159, durch den der Wert "5" in den nicht adressierbaren Video-Hilfszähler 5181 geladen wird. Ebenso erzeugt die Logik 5153 bei Vorhandensein einer Hinterkante im Video in Abhängigkeit von einer steigenden Pegeländerung in dem vom Vergleicher 5141 erzeugten Ausgangssignal einen Impuls auf der Leitung 5161, durch den der Zähler 5185 mit der richtigen Mindestkantenbreite, d.h. dem Wert "20", geladen wird, und einen Impuls auf der Leitung 5159, durch den der Wert für die größte durch Rauschen bedingte Breite, d.h. der Wert "5", in den nicht adressierbaren Video-Hilfszähler geladen wird. In ähnlicher Weise werden, wenn eine Vorder- oder Hinterkante in den Hintergrundwerten erkannt wird, entweder nur die Zähler 5171 und 5177 oder die Zähler 5171 und 5175 mit den entsprechenden Anfangswerten geladen.
  • Bei jedem folgenden Pixel nach einem Kantenübergang wird jeder Zähler, der mit einem Anfangswert geladen wurde, um eins verringert. Wenn in den ersten fünf Pixeln ein weiterer Kantenübergang vorkommt, dann ignoriert die Logik 5153 diesen Kantenübergang, indem sie an bestimmten Ausgängen einfach Impulse erzeugt, die ein Nachladen der entsprechenden Zähler mit dem Wert der kleinsten richtigen Kantenbreite bewirken. Wenn dagegen nach den ersten fünf Pixeln, aber nicht während der ersten fünf Pixel (größte durch Rauschen bedingte Kantenbreite), ein weiterer Kantenübergang auftritt, dann erzeugt, je nachdem, ob dieser Kantenübergang im Video- oder Hintergrundwert vorkommt, entweder der nicht adressierbare Video-Hilfszähler 5181 oder der nicht adressierbare Hintergrundwert-Hilfszähler 5171 durch Unterlauf (Bereichsunterschreitung) einen Impuls an seinem Übertragsausgabeanschluß C0. Durch Rückkopplung der beiden nicht adressierbaren Hilfszähler 5171 und 5181 mit den entsprechenden Eingängen der Logik 5153 über die Leitungen 5173 und 5183 wird dann angezeigt, daß es sich bei dem aktuellen Kantenübergang um eine potentiell richtige Kante handelt und daß die Dekrementierung für alle folgenden Pixel fortzusetzen ist.
  • Wenn die erkannte Kante mindestens über die richtige Mindestkantenbreite, d.h. über "20" Pixel, Bestand hat, dann erzeugt derjenige der vier übrigen Zähler in den Video- und Hintergrundwertfiltern, der zuletzt mit der richtigen Mindestkantenbreite geladen wurde, durch Unterlauf, d.h. Bereichsunterschreitung über null hinaus, einen Impuls an seinem Übertragsausgabenanschluß C0. Wenn beispielsweise aufgrund einer Veränderung des Pegels in der Ausgabe des Vergleichers 5141 anfangs ein Video-Vorderkantenübergang erkannt wurde, dann ist der Video-Zähler 5187 für die Vorderkante mit dem Wert "20" geladen worden. In diesem Falle wird der Zählstand bei jedem folgenden Pixel verringert, bis dieser Zähler durch Unterlauf einen Übertragsimpuls erzeugt, der auf der Leitung 4188 als Merker für eine "Video-Vorderkante" erscheint. Ebenso würde, wenn aufgrund von Pegeländerungen in den von den Vergleichern 5137, 5141 oder 5145 erzeugten Ausgangssignalen anfangs ein Übergang einer Video-Hinterkante, einer Hintergrund-Vorderkante oder einer Hintergrund- Hinterkante erkannt wurde und die Kante mindestens "20" Pixel breit war, der Video-Zähler 5185 für die Hinterkante, der Hintergrundwert-Zähler 5177 für die Vorderkante oder der Hintergrundwert-Zähler 51175 für die Hinterkante als Ergebnis der folgenden Dekrementierung schließlich durch Unterlauf einen Übertragsimpuls erzeugen. Dieser Impuls würde auf den Leitungen 5186, 5178 oder 5176 als Merker für eine "Video-Hinterkante", Merker für eine "Hintergrundwert-Vorderkante" oder Merker für eine "Hintergrundwert-Hinterkante" erscheinen.
  • Alle vier Merker werden mit dem aktuellen Wert der vertikalen Pixeladresse YCNT über die Leitungen 5186, 5176, 5178 und 5188 der Vorder-/Hinterkantenerkennungsschaltung 5190 als Eingabe aufgeschaltet. Diese Schaltung wird ebenfalls mit einer programmierbaren Matrixlogik (PAL = Programmable Array Logic) implementiert. Sie ist mit definierten logischen Funktionen vorprogrammiert, die je nach Zustand dieser vier Merker und der vertikalen Pixeladresse YCNT eine erkannte richtige Kante als Vorderkante oder Hinterkante kategorisieren. Wenn der Merker für eine Video-Vorderkante und der Merker für eine Hintergrundwert-Vorderkante beide einen hohen Wert haben, dann zeigt dies an, daß in der aktuellen Abtastzeile soeben eine Ist-Vorderkante erkannt worden ist. In diesem Falle erzeugt die Schaltung 5190 auf der Vorder-/Hinterkantenleitung 5192 (PAL-Ausgang 01) einen hohen Wert, der seinerseits einem entsprechenden Dateneingabeanschluß des Signalspeichers 5201 zugeführt wird. Wenn dagegen die Merker für die Video- und Hintergrundwert-Hinterkanten beide einen hohen Wert haben, dann zeigt dies an, daß in der aktuellen Abtastzeile soeben eine Ist-Hinterkante erkannt worden ist. Infolgedessen erzeugt die Schaltung 5190 in diesem Falle auf der Vorder-/Hinterkantenleitung 5192 einen niedrigen Wert. ,In beiden Fällen erzeugt die Schaltung 5190 gleichzeitig einen Taktimpuls auf der Taktleitung 5196 (PAL-Ausgang 03). Dieser Taktimpuls wird dem Takteingang des Signalspeichers 5201 zugeführt und bewirkt, daß die am Anfang der erkannten Kante vorhandene horizontale Pixelposition in dem Signalspeicher 5201 abgespeichert wird. Diese Position entspricht dem um die richtige Mindestkantenbreite, d.h. um den Dezimalwert "20", verringerten aktuellen Wert der horizontalen Pixeladresse XCNT. Bei der Initialisierung des Systems wird dabei die richtige Mindestkantenbreite dem Datenbus 4875 aufgeschaltet und dann von dem Mikrocomputersystem im Signalspeicher 5207 abgespeichert. Darnach wird dieser Wert einem Eingang INB des Subtrahierglieds 5211 aufgeschaltet, während der aktuelle Wert der horizontalen Pixeladresse XCNT dem anderen Eingang INA des Subtrahierglieds aufgeschaltet wird. Infolgedessen gibt bei Erkennen einer richtigen Kante die Ausgabe des Subtrahierglieds 5211 auf der Leitung 5213 die Position des Pixels am Anfang des Kantenübergangs an. Diese Position wird entsprechenden Dateneingabeanschlüssen des Signalspeichers 5201 aufgeschaltet und jedesmal, wenn eine richtige Kante erkannt worden ist, in diesen Signalspeicher eingetaktet. Die Ausgabe dieses Signalspeichers, nämlich die Kantenposition und Angaben darüber, ob es sich um eine Vorder- oder Hinterkante handelt, wird den Dateneingängen der FIFO-Speicherschaltung 5205 zugeführt. Während des nächsten Pixelintervalls erzeugt die Vorder-/Hinterkantenerkennungsschaltung 5190 am Ausgangsanschluß 04 einen Impuls, der seinerseits über die FIFO-Schreibleitung 5198 dem Schreibfreigabeeingang der FIFO-Speicherschaltung 5205 aufgeschaltet wird. Nach Empfang dieses Impulses speichert die FIFO-Speicherschaltung den dann an ihren Dateneingabeanschlüssen anstehenden Wert ab. Diese Operation wird für jede folgende erkannte Kante in der aktuellen Abtastzeile wiederholt, so daß alle Kantenpositionen für diese Zeile in der FIFO-Speicherschaltung 5205 abgespeichert werden. Wenn die ganze Zeile verarbeitet worden ist, erzeugt die Schaltung 5190 auf der Ausgangsleitung 5194 für eine NEUE ZEILE (PAL-Ausgangsleitung 02) einen Impuls. Dieser Impuls, der anzeigt, daß eine weitere Abtastzeile zur Verarbeitung ansteht, wird in der FIFO- Speicherschaltung abgespeichert und dient zur Abgrenzung der Kantenpositionsdaten für verschiedene Abtastzeilen. Die FIFO-Speicherschaltung gibt den Impuls auf der Leitung 486 für einen NEUE ZEILE als Vorlagenerkennungsunterbrechung in das Mikrocomputersystem ein. Nach Empfang dieses Unterbrechungssignals liest das Mikrocomputersystem die gespeicherten Vorder-/Hinterkantenpositionen aus der FIFO-Speicherschaltung aus. Unabhängig davon, ob in der vorhergehenden Abtastzeile Kanten erkannt wurden oder nicht, wird ein Impuls für eine NEUE ZEILE erzeugt. Das Mikrocomputersystem ist über (nicht dargestellte) entsprechende Leitungen mit verschiedenen Steueranschlüssen der FIFO-Speicherschaltung verbunden; nämlich FIFO LESEN; FIFO VOLL und FIFO LEER, und liest mit Hilfe dieser Steueranschlüsse den Inhalt der FIFO- Speicherschaltung. Die von der FIFO-Speicherschaltung gelieferten Kantenpositionen werden über verschiedene Datenausgangsanschlüsse (D0) dem Datenbus 4875 aufgeschaltet und gelangen von dort zum Mikrocomputersystem.
  • Wie bereits erwähnt, liefert die Grenzpegelwertgeneratorschaltung 5100 die Werte des Grenzpegels und des Ist-Grenzpegels für die Vergleicher 5137, 5141 und 5145. Die Grenzpegelwerte ändern sich, wie ebenfalls bereits erwähnt, als Funktion der Zeit und folgen den Video- und Hintergrundwerten mit zeitlicher Verzögerung. In der Schaltung 5100 wird der Grenzpegelwert in Verbindung mit dem Addierregister 5177 und dem Subtrahierregister 5121 von einer Arithmetik- Logik-Einheit (ALU = Arithmetic Logic Unit) 5125, dem Zähler 5133 und dem Signalspeicher 5129 erzeugt. Bei der Initialisierung des Systems werden definierte Konstanten, die später für die Inkrementierung und Dekrementierung der Grenzpegelwerte verwendet werden, von dem Mikrocomputersystem über den Datenbus 4875 in dem Addierregister 5177 und (als Zweierkomplemente für die Subtraktion) in dem Subtrahierregister 5121 abgespeichert. Ebenfalls bei der Initialisierung des Systems speichert das Mikrocomputersystem über den Datenbus 4875 einen Anfangsgrenzpegelwert im Grenzpegelwert-Zähler 5133 ab. Wenn bei der Verarbeitung eines beliebigen Pixels in dem abgetasteten Bild festgestellt wird, daß der Hintergrundwert für dieses Pixel größer ist als der von der Ausgabe des Vergleichers 5145 angezeigte Grenzpegelwert, dann ist der Grenzpegelwert zu niedrig und muß inkrementiert werden. Infolgedessen schaltet die Logikschaltung 5153 der Ausgabeleitung 5157 über den Ausgabeanschluß 07 eine Pegeländerung auf. Darauf gibt das Addierregister 5177 seinen Inhalt an die Datenausgabeanschlüsse (D0) des Registers aus, die ihrerseits mit einem Eingang IN2 der Arithmetik-Logik-Einheit 5125 verbunden sind. Der andere Eingang IN1 der Arithmetik-Logik-Einheit empfängt über den Signalspeicher 5129 und die Rückkoppelungsleitung 5127 die vorhergehende Ausgabe der Arithmetik-Logik-Einheit. Die Arithmetik-Logik-Einheit addiert dann die beiden an ihren beiden Eingängen anstehenden Werte. Wenn das Ergebnis einen Überlauf in der Arithmetik-Logik-Einheit bewirkt, erzeugt die Einheit einen Übertragsimpuls, der dem Takteingang ("c") des Zählers 5133 aufgeschaltet wird. Da das von der Schaltung 5153 über die Leitung 5157 gesendete und dem Aufwärts-/Abwärtseingang des Zählers 5133 aufgeschaltete Signal jetzt einen hohen Wert hat, erhöht der Zähler 5133 seinen Inhalt um eins. Die Ausgabe dieses Zählers auf der Leitung 5130 ist der Grenzpegelwert.
  • Wenn dagegen die Ausgabe des Vergleichers 5145 anzeigt, daß der Hintergrundwert unter dem Grenzpegelwert des zu diesem Zeitpunkt verarbeiteten Pixels liegt, dann ist der Grenzpegelwert zu hoch und muß dekrementiert werden. In diesem Falle schaltet die Logikschaltung 5153 über den Ausgabeanschluß 08 eine Pegeländerung auf die Ausgabeleitung 5155. Infolgedessen gibt das Subtrahierregister 5121 seinen Inhalt an die Datenausgabeanschlüsse (D0) des Registers aus, die ihrerseits mit einem Eingang IN2 der Arithmetik-Logik-Einheit 5125 verbunden sind. Die Arithmetik-Logik-Einheit verringert dann im Prinzip ihre Ausgabe um den Inhalt des Subtrahierregisters 5121. Wenn das Ergebnis einen Unterlauf in der Arithmetik-Logik-Einheit bewirkt, erzeugt die Einheit einen Übertragsimpuls, der dem Takteingang des Zählers 5133 aufgeschaltet wird. Da das von der Schaltung 5153 über die Leitung 5157 gesendete und dem Aufwärts-/Abwärtseingang des Zählers 5133 aufgeschaltete Addiersignal jetzt einen niedrigen Wert hat, verringert der Zähler 5133 seinen Inhalt um eins und verringert dadurch den Grenzpegelwert auf der Leitung 5130. Da der im Addierregister 5177 und Subtrahierregister 5121 abgespeicherte und von diesen Registern ausgegebene Inkrementalwert im allgemeinen sehr gering ist, ändert sich der Grenzpegelwert sehr langsam.
  • Wie im folgenden erläutert, bewirkt jede Aufwärts- oder Abwärtsänderung des Grenzpegelwerts eine Änderung gleicher Größe in dem Ist-Grenzpegelwert. Um den auf der Leitung 5113 erscheinenden Ist-Grenzpegelwert zu erzeugen, wird der auf der Leitung 5130 anstehende Grenzpegelwert einem Eingang des Subtrahierglieds 5107 zugeführt. Der andere Eingang ist ein Eingang des Registers 5103. Bei der Initialisierung des Systems wird dieses Register über den Datenbus 4875 von dem Mikrocomputersystem mit dem vorgegebenen Wert der Verschiebung zwischen dem Grenzpegelwert und dem Ist-Grenzpegelwert geladen. In der Regel ist dies der Zählstand 10. Das Subtrahierglied 5107 subtrahiert den Wert der Verschiebung von dem Grenzpegelwert und stellt das Ergebnis als Eingabe für den Signalspeicher 5111 bereit. Dieses Ergebnis wird dann mit Hilfe (nicht dargestellter) Taktsignale in den Signalspeicher eingetaktet und erscheint darnach als Ist-Grenzpegelwert auf der Leitung 5113.
  • Fig. 13A - 13B zeigen gemeinsam ein Blockschaltbild des fensterbildenden Bildfeldpuffers 489. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 13A - 13B ist Fig. 13 zu entnehmen. Im wesentlichen werden, wie bereits erwähnt, alle ein abgetastetes Bild bildenden Pixelwerte zuerst in dem fensterbildenden Bildfeldpuffer 489 abgespeichert. Darnach werden die Anfangsadresse der ersten Pixelposition in dem anliegend-tangierenden Rechteck (obere linke Ecke) und die von dem Mikrocomputersystem ermittelte horizontale und vertikale Ausdehnung des Rechtecks in den fensterbildenden Bildfeldpuffer geladen. Wenn dies geschehen ist, liest der fensterbildende Bildfeldpuffer in einer Bildmaskenoperation alle Pixelwerte aus, die sich auf den und innerhalb der Kanten des anliegend-tangierenden Rechtecks befinden. Die ausgelesenen Pixel werden über die Leitung 49 seriell dem Verdichter 50 zugeführt.
  • Wie bereits erwähnt, werden alle von der Rauscherkennungs- und -filterschaltung 463 gefilterten Mittenpixelwerte, die das abgetastete Bild bilden (siehe Fig. 2A und 2B), vor einer Maskenoperation an diesem Bild in dem Bildfeldpuffer 5103 abgespeichert. Zu diesem Zweck schaltet die Speichersteuerschaltung 5017 dem Adreßwähler 5009 entsprechende Steuersignale auf, um die von dem X- Adressenzähler 4891 und dem Y-Adressenzähler 4894 erzeugte gemeinsame Adresse den Adreßeingängen des Bildfeldpuffers 5013 zuzuführen. Der Bildfeldpuffer wird vorzugsweise mit RAM-Schaltungen ausreichender Kapazität implementiert. Ein Pixel-Eingangswert auf der Leitung 47 wird dann dem Serien-Parallel-Umsetzer 5005 zugeführt, der vorzugsweise mit einem Schieberegister entsprechender Größe implementiert wird. Der Umsetzer 5005 wird von entsprechenden (nicht dargestellten) Systemtaktsignalen gesteuert und setzt eine Gruppe aus mehreren aufeinanderfolgenden Einbit-Pixel-Eingangswerten in einen Parallelwert um, der den Dateneingängen Din des Bildfeldpuffers 5013 aufgeschaltet wird. Wenn dies geschehen ist, schaltet die Speichersteuerschaltung 5017 dem Bildfeldpuffer entsprechende Steuersignale auf, um eine Schreiboperation aufzurufen. Die Pixelwerte werden dann unter der zu diesem Zeitpunkt an den Adreßeingängen der Schaltung anstehenden Adresse abgespeichert und von dem X- Adressenzähler 4891 und dem Y-Adressenzähler 4894 ausgeschrieben. Wenn dies geschehen ist, wird der Inhalt des X-Adressenzählers 4891 um eins erhöht, bevor die nächste Gruppe aufeinanderfolgender Pixel-Eingangswerte in der aktuellen Abtastzeile abgespeichert wird. Wenn eine ganze Reihe im Bildfeldpuffer voll ist, wird der Inhalt des X-Adressenzählers auf null gestellt und der Zählstand des Y-Adressenzählers um eins erhöht, bevor die Pixel in der nächsten Reihe abgespeichert werden. Dieser Ablauf wird iterativ wiederholt, bis das letzte Pixel in der letzten Abtastzeile des abgetasteten Bildes in den Bildfeldpuffer eingeschrieben worden ist, worauf die X- und Y-Adressenzähler durch Rückstellung auf null für die Abspeicherung des nächsten abgetasteten Bildes vorbereitet werden. Die Zähler 4891 und 4894 werden von Pixel-Taktsignalen getaktet, die von der Steuerschaltung 493 erzeugt werden (siehe Fig. 2A und 2B).
  • Zum Auslesen der Pixelwerte, die sich auf und in dem anliegend-tangierenden Rechteck befinden, lädt das Mikrocomputersystem über den Datenbus 4875 und den Adreßbus 4877 x- und y-Speicheradressen, die der Position des Anfangspixels des anliegend-tangierenden Rechtecks entsprechen, in den X-Fensteradressenzähler 4995 und den Y-Fensteradressenzähler 5001. Darnach lädt der Mikrocomputer, wiederum über die Adreß- und Datenbusse, die in Speicherzellen gemessene horizontale Ausdehnung (Breite) des anliegend-tangierenden Rechtecks in den X-Fenstergrößenzähler 4991 und die in Speicherreihen (Abtastzeilen) gemessene vertikale Ausdehnung (Länge) in den Y-Fenstergrößenzähler 4997. Wenn dies geschehen ist, werden die im Bildfeldpuffer 5013 abgespeicherten Pixel, die sich auf den und innerhalb der oberen, unteren, linken und rechten Kante des anliegend-tangierenden Rechtecks befinden, ausgelesen. Um die im Bildfeldpuffer 5013 abgespeicherten gewünschten Pixel auszulesen (d.h. um eine Bildmaskenoperation auszuführen), leitet die Speichersteuerschaltung 5017 mit Hilfe entsprechender Steuersignale vorgegebene Steuersignale dem Adreßwähler 5009 zu, der in der Regel als Multiplexer ausgebildet ist, um die in den Zählern 4995 und 5001 abgespeicherten X- und Y-Speicheradressen anzuwählen. Diese Adressen werden dann über den Adreßwähler 5009 den Adreßeingängen des Bildfeldpuffers zugeführt. Darnach sendet die Speichersteuerschaltung 5017 entsprechende Steuersignale an den Bildfeldpuffer, um unter der dann an dessen Adreßeingängen anstehenden Adresse eine Leseoperation aufzurufen. Wie an den Datenausgabeanschlüssen Dout des Bildfeldpuffers anstehende Pixelwertgruppe wird dann durch entsprechende, von der Speichersteuerschaltung 5017 erzeugte Steuersignale in den Signalspeichern 5024 getaktet. Darnach wird der in den Signal speichern 5204 abgespeicherte Wert als Parallelwert dem Eingang des Parallel-Serien-Umsetzers 5027 (in der Regel ist das ein Schieberegister) aufgeschaltet. Mit Hilfe entsprechender (nicht dargestellter) Systemtaktsignale setzt dieser Umsetzer den Parallelwert in einen bitseriellen Wert um, der seinerseits über die Leitung 49 dem Verdichter 50 zugeführt wird. Nach Auslesen dieser Speicherzelle wird der Inhalt des Zählers 4991 um 1 verringert und der Inhalt des Zählers 4995 um eins erhöht. Dies wiederum bewirkt eine Adressierung der nächsten Pixelwertgruppe in der ersten Abtastzeile in dem anliegend-tangierenden Rechteck. Der Bildfeldpuffer erhält dann den Befehl, unter dieser neuen Adresse eine Leseoperation auszuführen. Dieser Ablauf setzt sich fort, bis das Ende der Abtastzeile ausgelesen worden ist. Wenn dies der Fall ist, ist der Inhalt des Zählers 4991 auf null gefallen. Durch Bereichsunterschreitung wird dann am Ende der Abtastzeilenleitung 4993 ein Impuls erzeugt. Dieser Impuls bewirkt, daß der Zähler 4995 zur Vorbereitung des Auslesens der nächsten Abtastzeile den Wert der X-Adresse des Anfangspixels nachlädt. Gleichzeitig ist der Y- Fensteradressenzähler 5001 für die Adressierung der nächsten sequentiellen Abtastzeile in dem anliegend-tangierenden Rechteck um eins erhöht worden. Da jetzt eine ganze Zeile ausgelesen worden ist, wird der Inhalt des Y-Fenstergrößenzählers 4997 um eins verringert. Zur Erhöhung der Arbeitsgeschwindigkeit der fensterbildenden Bildpufferschaltung 489 kann der Parallel-Serien- Umsetzer 5027 natürlich gleichzeitig mit dem Bildfeldpuffer 5013 eingesetzt werden, so daß eine Pixelwertgruppe in einen seriellen Wert umgesetzt und auf der Leitung 49 ausgegeben werden kann, während gleichzeitig im Bildfeldpuffer der Zugriff auf den Wert der nächsten Gruppe erfolgt. Unabhängig davon wird das Auslesen des Bildfeldpuffers und Umsetzen der daraus resultierenden Pixel-Parallelwerte in bitserielle Werte iterativ für allen übrigen Pixelgruppen in alle übrigen Abtastzeilen wiederholt, bis die letzte Pixelgruppe in der Abtastzeile ausgelesen, umgesetzt und auf der Leitung 49 ausgegeben worden ist. Wenn dies der Fall ist, erzeugt der Zähler 4997, dessen Inhalt inzwischen auf null gefallen ist, durch Bereichsunterschreitung am Ende der Bildleitung 4999 einen Impuls, der eine weitere Dekrementierung des Zählers 5001 verhindert. Alle Pixel, die sich auf und in dem anliegend-tangierenden Rechteck befinden, sind jetzt aus dem Bildfeldpuffer 5013 ausgelesen und als bitserielle Werte dem Verdichter 50 zugeführt worden.
  • C. Bildverarbeitungssoftware -
  • Nach dieser ausführlichen Beschreibung der in dem erfinderischen System verwendeten Hardware wird im folgenden die von dem Mikrocomputersystem 485 abgearbeitete Software ausführlich beschrieben.
  • 1. Hauptschleife -
  • Fig. 14 zeigt ein Ablaufdiagramm der von dem Mikrocomputersystem abgearbeiteten Hauptschleife. Im wesentlichen dient die Hauptschleife 1400 zur Eichung des Systems, zum Laden der Suchtabellen (RAM-Speicher) 4270 und 4274 in der Linearitätskorrekturschaltung 426 (siehe Fig. 3) mit entsprechenden Daten und zur Bestimmung der Ist-Vorderkante und Ist-Hinterkante der Vorlage für die jeweils abgearbeitete aktuelle Abtastzeile bei jeder Vorlagenkantenunterbrechung auf der Leitung 486 (siehe Fig. 2A und 2B) in der bereits beschriebenen Weise. Nach erfolgter Verarbeitung aller Abtastzeilen bestimmt diese Routine die Speicherzelle des ersten Pixels in dem anliegend-tangierenden Rechteck und die Größe des Rechtecks. Die Speicheradresse und die Größe des Rechtecks werden dann von der Routine 2100 dem fensterbildenden Bildfeldpuffer gemeldet.
  • Bei Einschaltung des Mikrocomputersystems beginnt der Ablauf, wie in Fig. 14 gezeigt, nach Einsprung in die Routine 1400 mit dem Block 1410. Dieser Block hat Zugriff auf den residenten Speicher im Mikrocomputersystem und überträgt entsprechende Daten aus diesem Speicher in die Mittenpixelsuchtabelle (den RAM-Speicher) 4555, die X-Exp- und Y-Exp-Suchtabellen (RAM-Speicher) 4679 bzw. 4719 für die Rauschverarbeitung als exponentiell abnehmende Funktion und die Suchtabelle (den RAM-Speicher) 4768 zum Bestimmen des Hintergrundwerts, die sämtlich in der Bildverarbeitungsschaltung 40 (siehe Fig. 8, 10A und 10B bzw. 11A und 11B) enthalten sind. Wenn dies geschehen ist, ruft der Block 1420 die Eichroutine 1500 auf. Diese im folgenden ausführlich im Zusammenhang mit Fig. 15 erörterte Routine berechnet die entsprechenden Verstärkungs- und Verschiebungsfaktoren und speichert diese Faktoren in der Verschiebungskorrektur-Suchtabelle (dem RAM-Speicher) 4274 und der Verstärkungskorrektur- Suchtabelle (dem RAM-Speicher) 4270 ab, wo sie dann der Linearitätskorrekturschaltung 426 für die Korrektur seitlicher Linearitätsunterschiede in abgetasteten Mikrofilmbildern zur Verfügung stehen. Nach vollständiger Abarbeitung des Blocks 1420 bestimmt der Block 1430 an Hand von Informationen aus der Filmbibliothek die Art des abzutastenden Mikrofilms (Positivmaterial, Negativmaterial, Diazo- oder Vesikularmaterial) und kopiert in Abhängigkeit von diesen Informationen eine entsprechende Tabelle mit Gammakorrekturfaktoren aus dem residenten Speicher in dem Mikrocomputersystem in die Gammakorrektur-Suchtabelle (den RAM-Speicher) 4324, die sich in der Gammakorrekturschaltung 432 befindet (siehe Fig. 4). Gleichzeitig lädt die Filmbibliothek eine abzutastende Mikrofilmrolle in einen verfügbaren Mikrofilm-Scanner. Wenn die Tabelle vollständig kopiert worden ist, ist die Eichung und Initialisierung des Systems abgeschlossen, so daß mit dem Abtasten des Mikrofilms begonnen werden kann. Im Ablauf geht es daher mit Block 1435 weiter. Wenn dieser wie in Fig. 14 gezeigt, abgearbeitet wird, erteilt er mittels eines Signals (über eine nicht gezeigte Leitung) der Filmbibliothek den Befehl, mit dem Abtasten zu beginnen. Im Ablauf geht es dann mit Block 1440 weiter. Wie bereits erwähnt, wird jeder abgetastete Pixel-Eingangswert von einer Abtast- Vorverarbeitungsschaltung 42 und einer Bildaufbereitungsschaltung 44 verarbeitet (siehe Fig. 2A und 2B). Eine Kante wird dabei jedoch erst erkannt, wenn eine ganze Pixelzeile abgetastet worden ist. Infolgedessen arbeitet das Mikrocomputersystem 485 den Entscheidungsblock 1440 (siehe Fig. 14) immer wieder ab, bis über die Leitung 486 (siehe Fig. 2A und 2B) eine Unterbrechung gemeldet wird. Diese Meldung zeigt an, daß eine ganze Abtastzeile verarbeitet worden ist und daß Vorder- und Hinterkantenpaare in der bereits beschriebenen Weise in der Vorlagenkantenerkennungsschaltung 481 abgespeichert worden sind und dort dem Mikrocomputersystem zur Verfügung stehen. Wenn eine Unterbrechung gemeldet wird, geht es im Ablauf auf dem "JA"-Weg vom Entscheidungsblock 1440 zum Block 1460 weiter. Dieser Block ruft die Vorlagenkantenerkennungsroutine 2100 auf, die auf die in der Vorlangenkantenerkennungsschaltung abgespeicherten Vorder- und Hinterkantenpaare zugreift und diese Paare in der im folgenden ausführlich im Zusammenhang mit Fig. 21A - 21C beschriebenen Weise verarbeitet, um die Positionen (Grenzen) der Ist-Vorderkante und Ist- Hinterkante der Vorlage für die aktuelle Abtastzeile und, nach Verarbeitung sämtlicher Abtastzeilen, eine Speicheradresse für das erste Pixel in dem anliegend-tangierenden Rechteck sowie die Größe des Rechtecks zu bestimmen. Nach erfolgter Bestimmung aller Erstpixeladressen und Rechteckgrößen gibt die Routine 2100 diese Information an den fensterbildenden Bildfeldpuffer 489 weiter (siehe Fig. 2A und 2B), der dann alle außerhalb des Rechtecks liegenden Flächen maskiert und dadurch die verarbeiteten Pixel, die sich auf und in dem anliegend-tangierenden Rechteck befinden, an den Video-Verdichter 50 überträgt (siehe Fig. 2A und 2B). Nach Beendigung der Vorlagenkantenerkennungsroutine 2100 erfolgt, wie in Fig. 14 gezeigt, auf dem Weg 1470 als Vorbereitung für die nächste Bildabtastung ein Rücksprung auf den Block 1430.
  • 2. Systemeichroutinen -
  • Ein Ablaufdiagramm der Eichroutine 1500 ist in Fig. 15 abgebildet. Diese Routine berechnet entsprechende Verstärkungs- und Verschiebungsfaktoren und speichert diese Faktoren in der Verschiebungskorrektur-Suchtabelle (dem RAM- Speicher) 4274 und der Verstärkungskorrektur-Suchtabelle (dem RAM-Speicher) 4270 ab, wo sie dann der Linearitätskorrekturschaltung 426 (siehe Fig. 3) für die Korrektur seitlicher Linearitätsunterschiede in den abgetasteten Mikrofilmbildern zur Verfügung stehen.
  • Bei Einsprung in diese Routine initialisiert der Block 1510 verschiedene Variablen. Darnach erteilt der Mikrocomputer der Filmbibliothek, wie im folgenden ausführlich erörtert, den Befehl, ohne einen Mikrofilm im Scanner ein Bild abzutasten. Bei einer Abtastung wird die Beleuchtungslampe 7 (siehe Fig. 1) abgeschaltet, um eine Tabelle mit Verschiebungskorrekturfaktoren zu erstellen, bei einer zweiten Abtastung wird die Beleuchtungslampe eingeschaltet, um eine Tabelle mit Verstärkungskorrekturfaktoren zu erstellen. Diese Tabellen werden dann in entsprechenden RAM-Suchtabellen in der Linearitätskorrekturschaltung 426 abgespeichert (siehe Fig. 3).
  • Wenn die entsprechenden Variablen initialisiert worden sind, ruft der Block 1520, wie in Fig. 15 gezeigt, die im folgenden ausführlich im Zusammenhang mit Fig.16A und 16B erörterte Korrekturroutine 1600 mit abgeschalteter Lampe auf, um eine Abtastung mit abgeschalteter Lampe durchzuführen und eine Tabelle mit Verschiebungskorrekturwerten zu erstellen. Darnach ruft der Block 1530 die im folgenden im Zusammenhang mit Fig. 17A und 17B ausführlich erörterte Diagnoseroutine 1700 mit abgeschalteter Lampe auf, um verschiedene Diagnoseprüfungen mit abgeschalteter Lampe durchzuführen, um auf diese Weise teilweise das Verhalten der Optik im Mikrofilm-Scanner zu prüfen. Nach Beendigung dieser Diagnoseprüfungen ruft der Block 1540 die Korrekturroutine 1800 mit eingeschalteter Lampe auf. Diese im folgenden im Zusammenhang mit Fig. 18A - 18C ausführlich erörterte Routine führt eine Abtastung mit eingeschalteter Lampe durch und erstellt eine Tabelle mit Verstärkungskorrekturwerten. Anschließend wird durch Abarbeiten des Blocks 1550 die Diagnoseroutine 2000 mit eingeschalteter Lampe aufgerufen. Diese im folgenden im Zusammenhang mit Fig. 20 ausführlich erörterte Routine führt verschiedene Diagnoseprüfungen bei eingeschalteter Lampe durch und liefert weitere durch Diagnoseprüfungen ermittelte Informationen über das Verhalten der Optik im Mikrofilm-Scanner. Nach Beendigung der Routine 2000 speichert der Block 1560 die durch die Routinen 1600 und 1800 erstellten Verschiebungs- und Verstärkungskorrekturtabellen in entsprechenden Dateien in residenten Speichern (beispielsweise Plattenspeichern) im Mikrocomputersystem ab. Damit ist die Eichroutine 1500 beendet. Das Programm springt dann zurück zur
  • Hauptschleife 1400.
  • Ein Ablaufdiagramm der Korrekturroutine 1600 mit abgeschalteter Lampe ist in Fig. 16A und 16B abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 16A und 16B ist Fig. 16 zu entnehmen. Diese Routine führt eine Abtastung bei abgeschalteter Lampe durch, erstellt eine Tabelle mit Verschiebungskorrekturwerten und speichert diese Tabelle in der Verschiebungskorrektur-Suchtabelle (dem RAM-Speicher) 4274 in der Linearitätskorrekturschaltung 426 ab (siehe Fig. 3).
  • Bei Einsprung in die Routine 1600 wird, wie in Fig. 16A und 16B gezeigt, zuerst durch Abarbeiten des Blocks 1610 der Pegel des von dem Mikrocomputersystem 485 erzeugten Signals für das Ein- und Abschalten der Lampe so eingestellt, daß der Lampentreiber 5 (siehe Fig. 1) den Befehl erhält, die Beleuchtungslampe 7 mit Strom zu versorgen. Wenn dann die Lampe mit voller Leuchtstärke brennt und sich in dem Mikrofilm-Scanner kein Film befindet, berechnet die Routine 1640 für die Bestimmung des Mittelwerts der Pixelspalte durch Mittelwertbestimmung für jedes der 2048 Pixel in einer Abtastzeile einen entsprechenden Korrekturfaktor für die seitliche Verschiebung. Nach Ausführung der Routine 1460 werden durch Abarbeiten des Blocks 1660 alle 2048 Verschiebungskorrekturfaktoren in einer Verschiebungskorrektur-Suchtabelle (einem RAM-Speicher) 4274 abgespeichert. Das Programm verläßt dann die Korrekturroutine 1600 bei abgeschalteter Lampe und springt zur Eichroutine 1500 zurück (siehe Fig. 15).
  • Im wesentlichen wird für jedes Pixel in einer Abtastzeile ein Korrekturfaktor für die seitliche Verschiebung als Mittelwert der entsprechenden vertikal fluchtenden Pixel (Mittelwert der Pixelspalte) in jeder einzelnen von 16 mit gleichem Abstand zueinander angeordneten Abtastzeilen in einem Bild mit 2560 Abtastzeilen berechnet. Bei Einsprung in die Routine 1640 für die Bildung des Mittelwerts der Pixelspalte wird zuerst der Block 1620 abgearbeitet. Bei Abarbeitung dieses Blocks erhält der Mikrofilm-Scanner den Befehl, ein Bild abzutasten und die Ergebnisse abzuspeichern. Darnach wird durch Abarbeiten des Blocks 1622 die Zeilensumme (LSUM = Line Sum) auf null gestellt. Anschließend werden durch Abarbeiten des Blocks 1624 die Werte der Pixelsumme (PSUM = Pixel Sum), der Inhalt eines Zeilenzählers (LINE COUNT = Zeilen-Zählstand) und alle 2048 Pixelspaltensummen (PCSUM0 = Pixel Column Sum 0, PCSUM1, ..., PCSUM2047) auf null gestellt.
  • An dieser Stelle im Ablauf addiert der Block 1626 den Wert des aktuellen Pixels (Pn) zu der Pixelsumme (PSUM) für die aktuelle Abtastzeile. Wenn dies geschehen ist, stellt der Entscheidungsblock 1629 fest, ob das Ende der aktuellen Abtastzeile erreicht ist. Wenn dies nicht der Fall ist, springt die Routine auf dem "NEIN"-Weg 1631 von diesem Entscheidungsblock zum Block 1626 zurück, um das nächste Pixel in der aktuellen Abtastzeile zu verarbeiten. Wenn dagegen das Ende der aktuellen Abtastzeile erreicht ist, geht es im Ablauf auf dem "JA"-Weg 1630 von dem Entscheidungsblock 1629 zum Block 1637 weiter, der den Wert eines jeden Pixels in der aktuellen Abtastzeile zu der entsprechenden Pixelspaltensumme (PCSUM0, PCSUM1, ...., PCSUM2047) addiert. Anschließend erhöht der Block 1639 den Zeilen-Zählstand (LINE COUNT) für die von der Routine 1640 zu diesem Zeitpunkt gerade verarbeitete aktuelle Abtastzeile um den Dezimalwert "160". Wenn dies geschehen ist, stellt der Entscheidungsblock 1642 fest, ob die letzte Abtastzeile in dem Bild, d.h. die Abtastzeile 2560, verarbeitet worden ist. Wenn dies nicht der Fall ist, springt die Routine auf dem "NEIN"-Weg 1644 zum Block 1626 zurück und bearbeitet die nächste Abtastzeile. Wenn dagegen die letzte Abtastzeile verarbeitet worden ist, lenkt der Entscheidungsblock 1646 den weiteren Ablauf auf dem "JA"-Weg 1643 zum Block 1646. Durch Abarbeiten dieses Blocks wird der Mittelwert der Pixelspalte (PCAVG = Pixel Column Average) durch Division der Summe aus 16 Pixeln für jede entsprechende Pixelposition durch den Dezimalwert "16" berechnet. Der daraus resultierende Pixelspalten-Mittelwert ist jeweils der Korrekturfaktor für die seitliche Linearitätsverschiebung der entsprechenden Pixelposition. Nach Berechnung aller Mittelwerte verläßt das Programm die Routine 1640 und setzt den Ablauf, wie oben erörtert, mit dem Block 1660 fort.
  • Ein Ablaufdiagramm der Diagnoseroutine 1700 mit abgeschalteter Lampe ist in Fig. 17A und 17B abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 17A und 17B ist Fig. 17 zu entnehmen. Im wesentlichen führt diese Routine verschiedene Diagnoseprüfungen bei abgeschalteter Lampe durch und prüft dadurch teilweise das Verhalten der Optik in dem Mikrofilm-Scanner.
  • Bei Einsprung in die Routine 1700 bestimmt der Block 1710 die größten und kleinsten Pixelspalten-Mittelwerte, d.h. das größte und kleinste verschiebungsbedingte Rauschen, sowie die Pixelpositionen für jeden dieser Werte und druckt diese Information dann aus. Diese Information gibt dem Bediener des Systems den Bereich des im System vorhandenen elektronischen Rauschens an. Bei einwandfreier Funktion der Elektronik hat dieser Bereich in der Regel eine Breite von 0 - 2 Pixeln. Wenn diese Information ausgedruckt worden ist, erhält der Mikrofilm-Scanner durch Abarbeiten des Blocks 1720 den Befehl, ein Bild abzutasten. Nach Beendigung dieser ersten Abtastung speichert dieser Block die daraus resultierenden Pixel für eine bestimmte Abtastzeile als Zeile A ab. Diese Zeile trägt die Bezeichnung SL (Scan Line). In der Regel handelt es sich dabei um die Abtastzeile 1000. Anschließend berechnet der Block 1730 verschiedene Diagnosemaßnahmen für die für die Zeile A ermittelten Daten. Dazu gehören: kleinste Helligkeit, größte Helligkeit, Mittelwert, Standardabweichung und Unterschiede zwischen den geradzahligen und ungeradzahligen Mittelwerten. Die geradzahligen und ungeradzahligen Mittelwerte werden durch Bildung des Mittelwerts für je ein Paar geradzahliger und ungeradzahliger Pixel der Abtastzeile SL berechnet. Wenn alle diese Mittelwerte von dem Block 1730 berechnet worden sind, wird der Mittelwert der Unterschiede zwischen den einzelnen geradzahligen und ungeradzahligen Mittelwerten berechnet. Dieser Wert gibt die im Bild auftretende seitliche Linearitätsabweichung an. Die Ergebnisse werden anschließend für den Bediener ausgedruckt.
  • Anschließend stellt die Routine 1700 fest, ob und im welchem Umfang sich das Verhalten des optischen Abtastsystems zeitabhängig ändert. Zu diesem Zweck tastet die Routine 1700 das Bild ein zweites Mal ab und vergleicht die für dieselbe Abtastzeile SL, aber zu verschiedenen Zeiten ermittelten Ergebnisse der beiden Bildabtastungen miteinander. Mit der zweiten Abtastung beginnt der Mikrocomputer erst nach Ablauf eines vorgegebenen Intervalls, in der Regel mehrere Sekunden. Diese Pause ist für die Rückstellung des Scanner und für das Abklingen von Einschwingvorgängen erforderlich. Nach Ablauf dieses Intervalls erhält der Mikrofilm-Scanner durch Abarbeiten des Blocks 1740 den Befehl, ein Bild abzutasten. Nach Beendigung dieser zweiten Abtastung speichert dieser Block die daraus resultierenden Pixel für die Abtastzeile SL als Zeile B ab. Darnach ermittelt der Block 1750 etwaige Unterschiede zwischen sich entsprechenden Pixeln in den Zeilen A und B. Diese Unterschiede zeigen das Vorhandensein einer zeitabhängigen Veränderlichkeit im optischen Abtastsystem an. Die Ergebnisse werden dann von diesem Block für den Bediener ausgedruckt. Wenn dies geschehen ist, korrigiert der Block 1760 mit Hilfe der Verschiebungskorrekturfaktoren, die vorher bei der im Zusammenhang mit Fig. 16A und 16B erörterten Korrekturroutine 1600 mit abgeschalteter Lampe bestimmt worden sind, die abgetasteten Pixel für die Zeilen A und B, um die korrigierten Zeilen A und B zu erzeugen. Anschließend werden durch Abarbeiten des Blocks 1790 Pixel für Pixel zeitabhängige Unterschiede zwischen den Werten sich entsprechender Pixel in den korrigierten Zeilen A und B bestimmt. Die Ergebnisse werden dann für den Bediener ausgedruckt. Damit ist die Diagnoseroutine 1700 mit abgeschalteter Lampe abgeschlossen. Das Programm springt zur Eichroutine 1500 zurück.
  • Ein Ablaufdiagramm der Korrekturroutine 1800 mit eingeschalteter Lampe ist in Fig. 18A - 18 C abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 18A - 18C ist Fig. 18 zu entnehmen. Im wesentlichen führt diese Routine eine Abtastung mit eingeschalteter Lampe durch und erstellt eine Tabelle mit Verstärkungskorrekturwerten zur Abspeicherung in der Verstärkungskorrektur-Suchtabelle (dem RAM-Speicher) 4270 in der Linearitätskorrekturschaltung 426 (siehe Fig. 3).
  • Wie in Fig. 18A - 18C gezeigt, beginnt diese Routine mit dem Block 1805. Durch Abarbeiten dieses Blocks wird das von dem Mikrocomputersystem erzeugte Signal für die Ein- und Abschaltung der Lampe so eingestellt, daß der Lampentreiber 5 (siehe Fig. 1) die Beleuchtungslampe 7 mit Strom versorgt. Anschließend führt der Block 1810 die im Zusammenhang mit Fig. 16A und 16B erörterte Routine 1460 zur Bildung des Pixelspalten-Mittelwerte aus und erteilt dem Mikrofilm-Scanner den Befehl, das Bild abzutasten (auch hier wieder ohne einen Film im Scanner) und für alle 2048 Pixel in einer Abtastzeile einen Pixelspalten-Mittelwert zu berechnen. Wenn alle diese Mittelwerte berechnet worden sind, werden durch Abarbeiten des Blocks 1813 die Position (Abtastzeilennummer) und die die einzelnen Pixelspalten-Mittelwerte bildenden größten und kleinsten Pixelwerte bestimmt. Die Ergebnisse werden ausgedruckt. Die so erhaltenen Werte geben dem Bediener die Helligkeitswerte bei eingeschalteter Lampe und den Bereich der in einem abgetasteten Bild auftretenden vertikalen Linearitätsunterschiede an. Die Dezimalwerte aller dieser Helligkeitswerte sollten vorzugsweise in den Mitfünfzigern liegen (der Bereich der Dezimalwerte der Helligkeit für 6 Bits erstreckt sich von 0 bis 63). Wenn keine Linearitätsabweichungen vorhanden sind, sollte dieser Bereich relativ schmal sein (in der Regel einstellige Abweichungen geringer Größe). Anschließend berechnet der Block 1815 für jede von 64 Gruppen mit jeweils 32 benachbarten Pixelspalten-Mittelwerten einen örtlichen Pixel-Mittelwert (PLAVG = Pixel Average). Darnach ermittelt der Block 1820 in jeder dieser Gruppen den Wert der größten Abweichung zwischen zwei beliebigen Pixelspalten-Mittelwerten. Diese Werte und die entsprechenden Pixelpositionen werden von dem Block 1820 für den Bediener einzeln ausgedruckt. Anschließend bestimmt der Block 1825 die größten und kleinsten PixelspaltenMittelwerte quer über alle Gruppen und druckt die Ergebnisse aus. Der Unterschied zwischen diesen Werten ist ein Maß für die seitlichen Linearitätsunterschiede in einem abgetasteten Bild.
  • Durch Abarbeiten der Blöcke 1835 bis 1860 einschließlich wird jetzt die Anzahl der in einer Abtastzeile vorhandenen "toten" Pixel bestimmt. Ein "totes" Pixel ist definitionsgemäß ein Pixel, dessen Pixelspalten-Mittelwert weniger als 80% seines örtlichen Mittelwerts beträgt. Zuerst wird durch Abarbeiten des Blocks 1835 der Inhalt eines Zählers für "tote" Pixel (DP = Dead Pixel) gelöscht, d.h. auf null gestellt. Anschließend vergleicht der Block 1840 einen Pixelspalten-Mittelwert mit seinem örtlichen Pixel-Mittelwert. Wenn der Pixelspalten-Mittelwert kleiner ist als 80% seines örtlichen Pixel-Mittelwerts, dann lenkt der Entscheidungsblock 1840 den weiteren Ablauf über seinen "JA"-Weg zum Block 1850. Durch Abarbeiten dieses Blocks wird der Inhalt des Zählers für tote Pixel(DP) um eins erhöht. Anschließend wählt der Block 1855 den in der Reihenfolge nächsten Pixelspalten-Mittelwert an. Wenn dies geschehen ist, stellt der Entscheidungsblock 1860 fest, ob alle Pixelspalten-Mittelwerte mit den entsprechenden örtlichen Pixel-Mittelwerten verglichen worden sind. Wenn dies nicht der Fall ist, lenkt dieser Entscheidungsblock den weiteren Ablauf über den "NEIN"-Weg 1865 zum Entscheidungsblock 1840, um den in der Reihenfolge nächsten Pixelspalten-Mittelwert zu verarbeiten. Wenn jede Gruppe mit jeweils 64 aufeinanderfolgenden Pixelspalten-Mittelwerten verarbeitet worden ist, wird der in der Reihenfolge nächste örtliche Pixel- Mittelwert angewählt. Wenn dagegen der verarbeitete Pixelspalten-Mittelwert ≤ 80% des entsprechenden örtlichen Mittelwerts ist, dann lenkt der Entscheidungsblock 1840 den weiteren Ablauf über den "NEIN"-Weg 1845 direkt zum Block 1855, um den in der Reihenfolge nächsten Pixelspalten-Mittelwert zur Verarbeitung anzuwählen. Wenn alle Pixelspalten-Mittelwerte verarbeitet worden sind, lenkt der Entscheidungsblock 1860 den weiteren Ablauf über den "JA"-Weg zum Block 1870. Durch Abarbeiten dieses Blocks wird nur der in dem Zähler für tote Pixel (DP) abgespeicherte Wert ausgedruckt, um diesen dem Bediener für Diagnosezwecke zur Verfügung zu stellen. Wenn dies geschehen ist, wird durch Abarbeiten des Blocks 1875 ein Histogramm aller 2048 Pixelspalten-Mittelwerte erstellt. Anschließend wird durch Abarbeiten des Blocks 1880 die im Zusammenhang mit Fig. 19A und 19B ausführlich erörterte Invertierungs- und Skalierungsroutine 1900 aufgerufen, um durch Invertierung und entsprechende Skalierung des Histogramms eine Tabelle mit 2048 Verstärkungskorrekturwerten zu erstellen, die gemeinsam die Korrekturkurve bei eingeschalteter Lampe bilden und in der Verstärkungskorrektur-Suchtabelle (dem RAM-Speicher) 4270 abgespeichert werden. Damit ist die Korrekturroutine 1800 bei eingeschalteter Lampe abgeschlossen. Infolgedessen springt das Programm zur Eichroutine 1500 zurück.
  • Ein Ablaufdiagramm der Invertierungs- und Skalierungsroutine 1900 ist in Fig. 19A und 19B abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 19A und 19B ist Fig. 19 zu entnehmen. Wie bereits erwähnt, erstellt diese Routine durch Invertierung und entsprechende Skalierung des Pixelspaltenmittelwert-Histogramms eine Tabelle mit 2048 Verstärkungskorrekturwerten, die gemeinsam die in der Verstärkungskorrektur-Suchtabelle (dem RAM-Speicher) 4270 abgespeicherte Korrekturkurve bei eingeschalteter Lampe bilden.
  • Bei Einsprung in diese Routine wird zuerst der Block 1910 abgearbeitet, der durch Division des Dezimalwerts "32768" mit jedem einzelnen Pixelspalten- Mittelwert (PCAVG0, PCAVG1, ... PCAVG2047) die invertierten Pixelspalten- Mittelwerte (INV PCAVG0 = Inverted Pixel Column Average 0, INV PCAVG1, ..., INV PCAVG2047) berechnet. Alle diese invertierten Werte werden dann in entsprechenden Speicherzellen im Mikrocomputersystem abgespeichert. Darnach werden der Reihe nach die Blöcke 1920 - 1950 abgearbeitet, um jeden invertierten Wert entsprechend zu skalieren. An Hand des als Teil der bereits im Zusammenhang mit Fig. 18A - 18C erörterten Korrekturroutine 1800 mit eingeschalteter Lampe berechneten Pixelspalten-Mittelwert-Histogramms wird eine entsprechende vertikale Verschiebung für die Korrekturkurve bei eingeschalteter Lampe als funktion der Pixelposition ermittelt. Beim Abarbeiten des Blocks 1920 gemäß Fig. 19A und 19B wird durch Rückwärtslesen des Pixelspalten-Mittelwert-Histogramms bis zu der Stelle, an der zum ersten Mal 40 "Treffer" zu verzeichnen sind, der Mittelwert des Videowerts (VID-Wert) lokalisiert. Der Dezimalwert "40" ist ein von der Durchlässigkeit des Mikrofilms abhängiger empirisch ermittelter Wert. Anschließend wird der Block 1930 abgearbeitet. Dabei wird durch Bestimmen des Umkehrwerts des VID-Werts ein entsprechender Skalierungsfaktor berechnet. Anschließend addiert der Block 1940 zu jedem der 2048 invertierten Pixelspalten-Mittelwerte durch Multiplikation eines jeden dieser Werte mit der Dezimalzahl "128" acht Präzisionsbits. Wenn dies geschehen ist, wird der Block 1950 abgearbeitet. Dieser berechnet 2048 Verstärkungsfaktoren (GF0 = Gain factor 0, GF1, ..., GF2047), die gemeinsam durch Division jedes invertierten Pixelspalten-Mittelwerts durch den Skalierungsfaktor, d.h. den Umkehrwert des Videowerts, die Korrekturkurve bei abgeschalteter Lampe darstellen. Die resultierenden 2048 Verstärkungsfaktoren werden dann durch Abarbeiten des Blocks 1960 an entsprechenden Stellen in der Verstärkungskorrektur-Suchtabelle (dem RAM- Speicher) 4270 in der Linearitäts-Korrekturschaltung 426 abgespeichert (siehe Fig. 3). Damit ist die Invertierungs- und Skalierungsroutine 1900 beendet. Das Programm springt infolgedessen zu der Korrekturroutine 1800 mit eingeschalteter Lampe zurück.
  • Ein Ablaufdiagramm der Diagnoseroutine 2000 mit eingeschalteter Lampe ist in Fig. 20 abgebildet. Wie bereits erwähnt, führt diese Routine verschiedene Diagnoseprüfungen bei eingeschalteter Beleuchtungslampe durch und liefert zusätzliche Diagnoseinformationen über das Verhalten der Optik in dem Mikrofilm-Scanner.
  • Wie in Fig. 20 gezeigt, beginnt diese Routine mit dem Block 2010, der dem Mikrofilm-Scanner den Befehl erteilt, ein Bild abzutasten. Nach der ersten Abtastung speichert dieser Block die resultierenden Pixel für eine wiederum mit SL bezeichnete bestimmte Abtastzeile - in der Regel ist dies die Abtastzeile 1000 - als Zeile A ab. Anschließend korrigiert der Block 2020 mit Hilfe der Verstärkungskorrekturfaktoren, die bei der (bereits im Zusammenhang mit Fig. 18A - 18C erörterten) Korrekturoutine 1800 mit eingeschalteter Lampe ermittelt wurden, Verstärkungsunterschiede zwischen den Pixeldaten in der Zeile A und speichert dann die korrigierten Abtastzeilendaten als korrigierte Zeile A ab. Anschließend berechnet der Block 2030 verschiedene Diagnosemaßnahmen für die Daten, die für die korrigierte Zeile A ermittelt wurden. Dazu gehören: kleinster Helligkeitswert, größter Helligkeitswert, mittlerer Wert, Standardabweichung und Unterschiede der geradzahligen und ungeradzahligen Mittelwerte. Die geradzahligen und ungeradzahligen Mittelwerte werden durch Bildung des Mittelwerts der Daten für jedes benachbarte Paar geradzahliger und ungeradzahliger Pixel der korrigierten Zeile A berechnet. Nach Berechnung aller dieser Mittelwerte durch den Block 2030 wird der Mittelwert der Unterschiede zwischen den einzelnen geradzahligen und ungeradzahligen Mittelwerten berechnet. Dieser Mittelwert gibt die seitliche (horizontale) Restlinearitätsabweichung in dem verstärkungskorrigierten Bild an.
  • Die Ergebnisse werden anschließend für den Bediener ausgedruckt. Im nächsten Schritt stellt die Routine 2000 fest, ob sich das Verhalten des optischen Abtastsystems zeitabhängig ändert, und liefert ein Maß für diese Veränderlichkeit. Zu diesem Zweck tastet die Routine 2000 das Bild ein zweites Mal ab und vergleicht die für dieselbe Abtastzeile SL, jedoch zu verschiedenen Zeiten ermittelten verstärkungskorrigierten Ergebnisse beider Bildabtastunggen miteinander. Zwischen der ersten und zweiten Abtastung läßt der Mikrocomputer eine Pause vorgegebener Länge, in der Regel mehrere Sekunden, verstreichen. Diese Pause ist für die Rückstellung des Scanner und für das Abklingen von Einschwingvorgängen erforderlich. Nach Ablauf dieser Pause erteilt der Block 2040 dem Mikrofilm-Scanner den Befehl, ein Bild abzutasten. Nach dieser zweiten Abtastung speichert dieser Block die resultierenden Pixel für die Abtastzeile SL als Zeile B ab. Anschließend korrigiert der Block 2050 mit Hilfe derselben Verstärkungsfaktoren Verstärkungsunterschiede der Pixeldaten in Zeile B. Die daraus resultierende verstärkungskorrigierte Abtastzeile wird als korrigierte Zeile B abgespeichert. Anschließend ermittelt der Block 2060 etwa vorhandene zeitbedingte Unterschiede zwischen sich entsprechenden Pixeln in den korrigierten Zeilen A und B. Das Vorhandensein solcher Unterschiede zeigt das Vorhandensein einer zeitabhängigen Veränderlichkeit in dem optischen Abtastsystem an. Die Ergebnisse werden von diesem Block für den Bediener ausgedruckt. Damit ist die Diagnoseroutine 2000 mit eingeschalteter Lampe beendet. Das Programm springt zur Eichroutine 1500 zurück.
  • Damit sind sämtliche Eichroutinen abgeschlossen. Das Mikrocomputersystem 485 (siehe Fig. 2A und 2B) wartet jetzt, bis eine Vorlagenkantenunterbrechung gemeldet wird, und leitet dann die Kantenverarbeitung ein.
  • 3. Kantenerkennungsroutinen -
  • Die Vorlagenkantenerkennungsroutine 2100 wird bei jeder Meldung einer Vorlagenkantenunterbrechung auf der Leitung 486 (siehe Fig. 2A una 2B) ausgeführt und liest im wesentlichen Abtastzeile für Abtastzeile paarweise Vorder- und Hinterkanten aus der Vorlagenkantenerkennungsschaltung aus und verarbeitet diese Kantenpaare in der Weise, daß zuerst die Ist-Vorderkante (linke Grenze) und die Ist-Hinterkante (rechte Grenze) eines Teilabschnitts der abgetasteten Vorlage in jeder Abtastzeile lokalisiert wird. Nach erfolgter Lokalisierung aller dieser Kanten bestimmt die Routine die Ist-Kanten (obere, untere, linke und rechte Kante) eines anliegend-tangierenden Rechtecks, in dem die zu diesem Zeitpunkt abgetastete Vorlage ganz enthalten ist. Wenn dies geschehen ist, berechnet die Routine 2100 an Hand dieser Informationen über die Lage der Kanten des anliegend-tangierenden Rechtecks eine Speicheradresse im fensterbildenden Bildfeldpuffer 489 (in diesem falle im Bildfeldpuffer 5013), unter der das erste Pixel in dem anliegend-tangierenden Rechteck abgespeichert ist, sowie die horizontale und vertikale Ausdehnung des Rechtecks. Anschließend gibt die Routine 2100 die Adresse des ersten Pixels und der Ausdehnung des ersten Rechtecks an den fensterbildenden Bildfeldpuffer 489 weiter, der seinerseits die Werte aller darin abgespeichertern Pixel, die sich auf und in dem anliegend-tangierenden Rechteck befinden, der Reihe nach aus und führt diese Werte dann dem Video-Verdichter zu (siehe Fig. 1).
  • Ein Ablaufdiagramm der Vorlagenkantenerkennungsroutine 2100 ist in Fig. 21A - 21C abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 21A - 21C ist Fig. 21 zu entnehmen. Bei Meldung einer Vorlagenkantenerkennungsunterbrechung springt das Programm in die Routine 2100 ein und rückt zum Block 2101 vor. Dadurch wird der Inhalt eines Kantenzählers (ECOUNT = Edge Count) zunächst auf null gestellt. Anschließend wird in einer von den Blöcken 2103, 2105 und 2107 gebildeten Schleife jedes Kantenpaar in einer Abtastzeile verarbeitet, um das Kantenpaar mit dem größten Abstand in der betreffenden Zeile zu lokalisieren. Diese Schleife wird für jedes von der Vorlagenkantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) gemeldete Kantenpaar durchlaufen. Innerhalb dieser Schleife wird, wie in Fig. 21A - 21C gezeigt, zuerst der Block 2103 abgearbeitet, der den Inhalt des Kantenzählers (ECOUNT) um eins erhöht. Anschließend wird durch Abarbeiten des Blocks 2105 die Routine 2200 zur Bestimmung des Kantenpaars mit dem größten Kantenabstand aufgerufen. Diese Routine wählt in der aktuellen Abtastzeile das Vorder-/Hinterkantenpaar mit dem größten Abstand an und speichert die Pixelpositionen dieses Kantenpaars zur weiteren Verarbeitung ab. Nach Ausführung dieser Routine springt das Programm zum EntscheidungsblocK 2107. Dieser Entscheidungsblock stellt fest, ob alle Kantenpaare in der aktuellen Abtastzeile verarbeitet worden sind. Wenn sich dabei ergibt, daß ein oder mehrere Kantenpaare noch verarbeitet werden müssen, lenkt der Entscheidungsblock 2107 auf dem "NEIN"-Weg 2108 den Ablauf zum Block 2103 zurück, damit diese Kanten der Reihe nach verarbeitet werden. Wenn dagegen alle Kantenpaare in der aktuellen Abtastzeile verarbeitet worden sind, lenkt der Entscheidungsblock 2107 den weiteren Ablauf auf dem "JA"-Weg 2109 zum Entscheidungsblock 2110.
  • Der Entscheidungsblock 2110 stellt fest, ob die Breite des von der Routine 2200 angewählten Kantenpaars mit dem größten Kantenabstand unter einer vorgewählten Mindestpixelzahl liegt. Wenn dies nicht der Fall ist, wird dieses Kantenpaar als Ist-Vorder-/Hinterkantenpaar, d.h. als linke und rechte Vorlagengrenze, des Vorlagenabschnitts bezeichnet, der in der aktuellen Abtastzeile enthalten ist. Im Ablauf geht es dann vom Entscheidungsblock 2110 über den "NEIN"-Weg 2115 zum Block 2125 weiter. Durch Abarbeiten dieses Blocks wird ein Histogramm aller Vorderkanten der Vorlage in dem abgetasteten Bild erstellt, und zwar durch Inkrementierung der Zelle im Histogramm, die der Position der Ist-Vorderkante der aktuellen Abtastzeile entspricht. Wenn dagegen das von der Routine 2200 angewählte Kantenpaar mit dem größten Kantenabstand zu schmal ist und dadurch anzeigt, daß ein Loch, ein großer geschwärzter Bereich oder dergleichen in dem abgetasteten Bild vorhanden ist, geht es im Ablauf vom Entscheidungsblock 2110 über den "Ja"-Weg zum Block 2120 weiter. Durch Abarbeiten dieses Blocks wird eine Kantenpaar-Wählroutine 2300 für die vorhergehende Zeile aufgerufen, die aus allen von der Vorlagenkantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) erzeugten Vorder-/Hinterkantenpaaren die Position des Kantenpaars auswählt, das dem für die unmittelbar vorhergehende Abtastzeile bestimmten Ist-Vorder-/Hinterkantenpaar mit dem grössten Abstand am nächsten liegt. Die daraus resultierende Vorderkante wird dann wie in Fig. 21A - 21C gezeigt, durch Abarbeiten des Blocks 2125 in das Histogramm aufgenommen. Nach erfolgter Aktualisierung des entsprechenden Histogramms durch Aufnahme der aktuellen Ist-Vorderkante aktualisiert der Block 2130 ein zweites Histogramm durch Aufnahme der Ist-Hinterkantenposition für die aktuelle Abtastzeile. Anschließend wird durch Abarbeiten des Blocks 2135 eine im folgenden im Zusammenhang mit Fig. 24A - 24C erörterte Ober-/Unterkanten-Routine 2400 aufgerufen, um die Suche nach den Ober- und Unterkanten des anliegend-tangierenden Rechtecks, in dem die jeweils abgetastete Vorlage enthalten ist, durch Aufnahme von Daten aus der zu diesem Zeitpunkt verarbeiteten aktuellen Abtastzeile zu aktualisieren. Wenn der Block 2135 abgearbeitet worden ist, stellt der Block 2140 fest, ob die zu diesem Zeitpunkt verarbeitete aktuelle Abtastzeile die letzte Abtastzeile des anliegend-tangierenden Rechtecks ist. Wenn dies nicht der Fall ist, springt die Routine auf dem "NEIN"-Weg 2145 vom Entscheidungsblock 2140 zum Block 2101, der den Kantenzähler initialisiert und dann durch Verarbeitung der Kantenpaare ein entsprechendes Vorder-/Hinterkantenpaar für die nächste Abtastzeile lokalisiert. Wenn es sich dagegen bei der aktuellen Abtastzeile um die untere Kante des anliegend-tangierenden Rechtecks handelt und somit in der abgetasteten Vorlage keine weiteren Zeilen vorhanden sind, dann greifen die Blöcke 2150 und 2155 an Hand der in den Histogrammen enthaltenen Daten die linke und rechte Kante des anliegend-tangierenden Rechtecks heraus, in dem die abgetastete Vorlage enthalten ist. Dabei definiert der Block 2150 die linke Ist- Kante des anliegend-tangierenden Rechtecks als erste Pixelposition im vorwärts, d.h. von links nach rechts, gelesenen Histogramm, bei der 10% der Ist- Vorderkanten vorgekommen sind. Nach Definition dieser linken Kante durch eine bestimmte Pixelposition definiert der Block 2155 durch eine ähnliche Operation die rechte Kante. Dabei definiert der Block 2155 die rechte Ist-Kante des anliegend-tangierenden Rechtecks als erste Pixelposition im rückwärts, d.h. von rechts nach links, gelesenen Histogramm, bei der 10% der Ist-Hinterkanten vorgekommen sind. Wie später noch ausführlich erörtert, erfolgt die Bestimmung der Pixelpositionen für die linke und rechte Ist-Kante für jede vierte Abtastzeile in einem abgetasteten Bild. Maskiert wird dagegen in jeder Abtastzeile. Infolgedessen erhält man nach Bestimmung dieser Positionen für eine aktuelle Abtastzeile die Pixelpositionen der Ist-Vorderkante für die drei vorhergehenden Abtastzeilen und entsprechend auch für die Pixelpositionen der Ist-Hinterkante durch Interpolation der Pixelpositionen der Ist- Vorderkante für diese Abtastzeile und die vierte vorhergehende Abtastzeile.
  • Nach Definition der Pixelpositionen der linken und rechten Kante berechnet der Block 2160 die (x-y-)Anfangsadresse des ersten Pixels in dem anliegendtangierenden Rechteck (also des Pixels in der oberen linken Ecke des Rechtecks) und die vertikale und horizontale Ausdehnung des Rechtecks an Hand der Lage der oberen, unteren, rechten und linken Kante des Rechtecks. Anschliessend liefert dieser Block die (x-,y-)Anfangsadresse und die vertikale und horizontale Ausdehnung des fensterbildenden Bildfeldpuffers 489 (siehe Fig. 2A und 2B). In Abhängigkeit von diesen Adressen maskiert der fensterbildende Bildfeldpuffer das darin abgespeicherte abgetastete und aufbereitete Bild durch sequentiellen Zugriff auf die Positionswerte nur derjenigen Pixel, die sich auf den und innerhalb der Kanten des anliegend-tangierenden Rechtecks befinden. Der daraus resultierende Pixelwertstrom wird dem Verdichter 50 von dem Puffer zur Video-Verdichtung in der beschriebenen Weise aufgeschaltet. Wenn alle diese Informationen von dem Mikrocomputersystem in den fensterbildenden Bildfeldpuffer geladen worden sind, ist die Routine 2100 abgeschlossen. Das Programm springt dann von der Vorlagenkantenerkennungsroutine 2100 zur Hauptschleife 1400 zurück (siehe Fig. 14).
  • Ein Ablaufdiagramm der Routine 2200 zur Bestimmung des Kantenpaars mit dem größten Kantenabstand ist in Fig. 22 abgebildet. Wie bereits erwähnt, analysiert diese Routine im wesentlichen alle von der Vorlagenkantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) erkannten Kantenpaare für eine beliebige aktuelle Abtastzeile, um das Paar mit dem größten Kantenabstand auszuwählen.
  • Nach Einsprung in die Routine wird, wie in Fig. 22 gezeigt, zuerst der Block 2205 abgearbeitet, der den Wert des vorhergehenden Kantenpaarabstands (PW = Pair Width) auf null stellt. Der anschließend abgearbeitete Block 2215 holt das durch den aktuellen Inhalt des Kantenzählers ECOUNT als in der Reihenfolge nächstes Vorder-/Hinterkantenpaar definierte Kantenpaar aus der Vorlagenkanterkennungsschaltung 481 (siehe Fig. 2A und 2B) und speichert es zur späteren Verarbeitung vorübergehend als aktuelles Kantenpaar ab. Wenn dies geschehen ist, berechnet der Block 2220, wie in Fig. 22 gezeigt, den in Pixeln gemessenen Abstand zwischen den beiden Kanten des aktuellen Kantenpaars. Anschließend stellt der Entscheidungsblock 2245 fest, ob der (in Pixeln gemessene) Kantenabstand des aktuellen Kantenpaars größer ist als der Kantenabstand (PW) des vorhergehenden Kantenpaars für dieselbe Abtastzeile. Wenn dies der Fall ist, wird das aktuelle Kantenpaar als Ist-Vorder-/Hinterkantenpaar bezeichnet und der Wert des vorhergehenden Kantenpaars (PW) zur Verarbeitung des in der Reihenfolge nächsten Kantenpaars in der aktuellen Abtastzeile auf den Kantenabstand des aktuellen Kantenpaars gestellt. Wenn dann der Kantenabstand des aktuellen Kantenpaars größer ist als der des vorhergehenden Kantenpaars, springt die Routine auf dem "JA"-Weg von Block 2245 zu Block 2255. Durch Abarbeiten dieses Blocks wird die Position des aktuellen Kantenpaars als Position des Ist-Vorder-/Hinterkantenpaars für die aktuelle Abtastzeile bezeichnet. Im Ablauf geht es dann mit dem Block 2260 weiter, der den Kantenabstand (PW) des vorhergehenden Kantenpaars auf den Kantenabstand des aktuellen Kantenpaars stellt. Anschließend verläßt das Programm die Routine 2200 und springt zur Vorlagenkantenbestimmungsroutine 2100 zurück. Wenn dagegen der Kantenabstand des aktuellen Kantenpaars kleiner oder gleich groß ist wie der Kantenabstand des vorhergehenden Kantenpaars, wird das aktuelle Kantenpaar ignoriert. In diesem falle verläßt das Programm lediglich die Routine 2200 auf dem von dem Entscheidungsblock 2245 abgehenden "NEIN"- Weg 2250 und springt zur Vorlagenkantenerkennungsroutine 2100 zurück (siehe Fig. 21A - 21C).
  • Ein Ablaufdiagramm der Routine 2300 für die Wahl des Kantenpaars der vorhergehenden Zeile ist in Fig. 23A - 23C abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 23A - 23C ist Fig. 23 zu entnehmen. Wie bereits erwähnt, wählt diese Routine im wesentlichen aus allen von der Kantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) erzeugten Kantenpaaren das Kantenpaar aus, das dem für die unmittelbar vorhergehende Abtastzeile bestimmten Ist-Vorder-/Hinterkantenpaar am nächsten liegt.
  • Wie in Fig. 23A - 23C gezeigt, besteht die Routine 2300 für die Wahl des Kantenpaars der vorhergehenden Zeile aus der Vorderkantenbestimmungsroutine 2330, die die aktuelle Vorderkante zum Teil aufgrund der Vorderkante in der vorhergehenden Abtastzeile bestimmt, und der Hinterkantenbestimmungsroutine 2360, die die aktuelle Hinterkante zum Teil aufgrund der Hinterkante in der vorhergehenden Abtastzeile bestimmt. Der Ablauf der Kantenverarbeitung ist bei diesen beiden Routinen weitgehend identisch.
  • Nach Einsprung in die Routine 2300 für die Wahl des Kantenpaars der vorhergehenden Zeile wird zuerst die Vorderkantenerkennungsroutine 2330 und innerhalb dieser Routine der Block 2302 abgearbeitet, der den Wert eines Kantenzählers (ECOUNT) auf null stellt. Anschließend stellt der Block 2304 den vorhergehenden Kantenunterschied (PEDIFF = Prior Edge Difference) auf einen vorgegebenen Maximalwert. Nach Durchführung dieser Operationen erfolgt durch den Block 2306 ein Zugriff auf die durch den Wert des Kantenzählers (ECOUNT) definierte Vorderkante in dem residenten Speicher im Mikrocomputersystem. Anschließend berechnet der Block 2308 den in Pixeln gemessenen Unterschied (EDGE DIFFERENCE = Kantenunterschied) zwischen der aktuellen Vorderkante und der bezeichneten Vorderkante für die unmittelbar vorhergehende Abtastzeile, die zum Aktualisieren des entsprechenden Histogramms verwendet worden ist. Wenn dies geschehen ist, stellt der Entscheidungsblock 2311 fest, ob der Wert des Kantenunterschieds (EDGE DIFFERENCE) kleiner ist als der Wert des vorhergehenden Kantenunterschieds (PEDIFF). Wenn Ungleichheit besteht, wenn also die aktuelle Vorderkante an die bezeichnete Vorderkante für die vorhergehende Abtastzeile heranrückt, springt die Routine vom Entscheidungsblock 2311 auf dem "JA"-Weg zum Block 2315. Durch Abarbeiten dieses Blocks wird die durch den Zugriff des aktuellen Werts des Kantenzählers (ECOUNT) ermittelte Vorderkante als vorläufige Position der Vorderkante der aktuellen Abtastzeile gesichert. Anschließend stellt der Block 2317 als Vorbereitung für die Verarbeitung der nächsten Vorderkante den Wert des vorhergehenden Kantenunterschieds (PEDIFF) auf den Wert des Kantenunterschieds (EDGE DIFFERENCE). Im Ablauf geht es dann mit dem Entscheidungsblock 2319 weiter.
  • Wenn dagegen der Wert des Kantenunterschieds (EDGE DIFFERENCE) größer ist als der Wert des vorhergehenden Kantenunterschieds (PEDIFF) und dadurch anzeigt, daß die für die aktuelle Zeile angegebene Vorderkante von der bezeichneten Vorderkante für die vorhergehende Abtastzeile abrückt, lenkt der Entscheidungblock 2311 den weiteren Ablauf über den "NEIN"-Weg 2313 zum Entscheidungsblock 2319. Dieser stellt fest, ob die letzte Vorderkante für die aktuelle Abtastzeile verarbeitet worden ist. Wenn dies nicht der Fall ist, lenkt der Entscheidungblock 2319 den weiteren Ablauf auf dem "NEIN"-Weg 2322 zum Block 2324, der den Inhalt des Kantenzählers (ECOUNT) um eins erhöht. Anschließend springt die Routine auf dem Weg 2326 zum Block 2306 zurück und hat dann Zugriff auf die nächste Vorderkante in der aktuellen Abtastzeile, die jetzt verarbeitet wird. Wenn dagegen alle Vorderkanten der aktuellen Abtastzeile bereits verarbeitet worden sind, lenkt der Entscheidungsblock 2319 den weiteren Ablauf auf dem "JA"-Weg zur Hinterkantenbestimmungsroutine 2360.
  • Nach Einsprung in die Routine 2360 wird zuerst der Block 2332 abgearbeitet. Durch Abarbeiten dieses Blocks wird der Wert eines Kantenzählers (ECOUNT) auf null gestellt. Anschließend stellt der Block 2334 den Wert des vorhergehenden Kantenunterschieds (PEDIFF) auf einen vorgegebenen Maximalwert. Wenn diese Operationen durchgeführt worden sind, erfolgt durch den Block 2336 der Zugriff auf die durch den Wert des Kantenzählers (ECOUNT) in dem residenten Speicher des Mikrocomputersystems definierte Hinterkante. Anschließend berechnet der Block 2338 den in Pixeln gemessenen Unterschied (EDGE DIFFERENCE) zwischen der aktuellen Hinterkante und der bezeichneten Hinterkante für die unmittelbar vorhergehende Abtastzeile, die zum Aktualisieren des entsprechenden Histogramms verwendet worden ist. Wenn dies geschehen ist, stellt der Entscheidungsblock 2341 fest, ob der Wert des Kantenunterschieds (EDGE DIFFERENCE) kleiner ist als der Wert des vorhergehenden Kantenunterschieds (PEDIFF). Wenn Ungleichheit festgestellt wird, wenn also die aktuelle Hinterkante an die bezeichnete Hinterkante für die vorhergehende Abtastzeile heranrückt, wird der weitere Ablauf auf dem von dem Entscheidungsblock 2341 abgehenden "JA"-Weg zum Block 2345 gelenkt. Durch Abarbeiten dieses Blocks wird die durch den Zugriff des aktuellen Werts des Kantenzählers (ECOUNT) bestimmte Hinterkante als vorläufige bezeichnete Position der Hinterkante der aktuellen Abtastzeile gesichert. Anschließend stellt der Block 2347 als Vorbereitung für die Verarbeitung der nächsten Hinterkante den Wert des vorhergehenden Kantenunterschieds (PEDIFF) auf den Wert des Kantenunterschieds (EDGE DIFFERENCE). Im Ablauf geht es dann mit dem Entscheidungsblock 2349 weiter. Wenn dagegen der Wert des Kantenunterschieds (EDGE DIFFERENCE) größer ist als der Wert des vorhergehenden Kantenunterschieds (PEDIFF) und damit anzeigt, daß die für die aktuelle Zeile angegebene Hinterkante von der bezeichneten Hinterkante für die vorhergehende Abtastzeile abrückt, dann lenkt der Entscheidungsblock 2341 den weiteren Ablauf auf dem "NEIN"-Weg 2343 zum Entscheidungsblock 2349. Dieser stellt fest, ob die letzte Hinterkante für die aktuelle Abtastzeile verarbeitet worden ist. Wenn dies nicht der Fall ist, lenkt der Entscheidungsblock 2349 den weiteren Ablauf auf dem "NEIN"-Weg 2352 zum Block 2354, der den Inhalt des Kantenzählers (ECOUNT) um eins erhöht. Wenn dies geschehen ist, springt die Routine auf dem Weg 2356 zum Block 2336 zurück, der dann Zugriff auf die nächste Hinterkante in der aktuellen Abtastzeile hat und diese jetzt verarbeitet. Wenn alle Hinterkanten für die aktuelle Abtastzeile bereits verarbeitet worden sind, ist die Routine 2300 abgeschlossen. Das Programm springt dann auf dem vom Entscheidungsblock 2349 abgehenden "JA"-Weg zur Vorlagenkantenerkennungsroutine 2100 zurück (siehe Fig. 21A - 21C). Damit ist ein Kantenpaar als Vorder-/Hinterkantenpaar des Teilabschnitts der Vorlage bezeichnet worden, der in der aktuellen Abtastzeile enthalten ist.
  • Ein Ablaufdiagramm der Ober-/Unterkantenroutine 2400 ist in Fig. 24A - 24C abgebildet. Die richtige Ausrichtung der Zeichnungsblätter für Fig. 24A - 24C ist Fig. 24 zu entnehmen.
  • Wie bereits erwähnt, aktualisiert diese Routine im wesentlichen die Suche nach der Ist-Oberkante und Ist-Unterkante des anliegend-tangierenden Rechtecks, in dem die abgetastete Vorlage enthalten ist, durch Aufnahme von Daten aus der zu diesem Zeitpunkt abgearbeiteten Abtastzeile.
  • Wie in Fig. 24A - 24C gezeigt, enthält die Ober-/Unterkantenroutine 2400 eine Initialisierungsroutine 2410 für die Initialisierung verschiedener Zähler und eines Merkers, eine Oberkantenklassifizierungsroutine 2430 zur Bestimmung der Lage der Oberkante in dem abgetasteten Bild an Hand einer Anzahl aufeinanderfolgender bezeichneter Oberkanten in dem abgetasteten Bild und eine Unterkantenklassifizierungsroutine 2490 zur Bestimmung der Lage der Unterkante an Hand einer Anzahl aufeinanderfolgender bezeichneter Hinterkanten im abgetasteten Bild. Der Kantenverarbeitungsvorgang ist bei der Oberkantenklassifizierungsroutine 2430 und der Unterkantenklassifizierungsroutine 2490 weitgehend identisch.
  • Nach Einsprung in die Ober-/Unterkantenroutine 2400 initialisiert die Initialisierungsroutine 2410 verschiedene Zähler und den Wert des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist. Dabei wird zuerst der Entscheidungsblock 2402 abgearbeitet. Dieser Entscheidungsblock stellt fest, ob die erste Abtastzeile in dem Bild verarbeitet wird. Wenn dies der Fall ist, müssen verschiedene Zähler und ein Merker initialisiert werden.
  • Infolgedessen rückt die Routine auf dem vom Entscheidungsblock 2402 abgehenden "JA"-Weg zum Block 2404 vor. Durch Abarbeiten dieses Blocks wird der Inhalt in drei Zählern gelöscht: einem Trefferzähler ("HIT"), einem Nichttrefferzähler ("MISS") und einem Zeilenzähler (LCOUNT). Wie im folgenden ausführlich beschrieben, zählt der Trefferzähler die Anzahl aufeinanderfolgender Vorderkanten und der Nichttrefferzähler die Anzahl der aufeinanderfolgenden fehlenden Hinterkanten in dem aktuellen Bild. Der Zeilenzähler ermittelt laufend die Nummer der beim Erkennen einer Kante verarbeiteten aktuellen Abtastzeile. Wenn diese Zähler gelöscht worden sind, stellt der Block 2406 den Merker, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, auf null zurück. An Hand dieses Merkers stellt das Mikrocomputersystem fest, ob die Ober- oder Unterkante erkannt wird. Nach Rückstellung dieses Merkers verläßt das Programm die Initialisierungsroutine 2410 und springt auf den Entscheidungsblock 2411. Wenn dagegen die zu diesem Zeitpunkt verarbeitete aktuelle Abtastzeile nicht die erste Zeile ist, dann lenkt der Entscheidungsblock 2402 den weiteren Ablauf über den "NEIN"-Weg 2403 zum Block 2408, der den Inhalt des Zeilenzählers für den Zugriff auf die bezeichnete Vorderkante für die nächste Abtastzeile erhöht. Obwohl grundsätzlich jede Abtastzeile bearbeitet werden kann, um die Kanten des anliegend-tangierenden Rechtecks genau zu lokalisieren, kann die Verarbeitungsgeschwindigkeit bei minimalem Genauigkeitsverlust wesentlich erhöht werden, wenn nur jede vierte Abtastzeile verarbeitet wird.
  • Dadurch reduziert sich die Verarbeitungszeit für die Kantenerkennung auf ein Viertel der Zeit, die erforderlich ist, wenn jede Zeile verarbeitet wird. Infolgedessen erhöht der Block 2408 den Inhalt des Zeilenzählers (LCOUNT) um vier statt um eins. Wenn Prozessoren verwendet werden, die Befehle in einer wesentlich kürzeren Zeit ausführen als der Dekodierphase des Mikrocomputersystems 485 (siehe Fig. 2A und 2B) kann jede zweite oder vielleicht auch jede einzelne Abtastzeile verarbeitet werden. Infolgedessen kann in diesem Falle die Inkrementierung durch den Block 2408, wie in Fig. 24A - 24C gezeigt, falls gewünscht, auf zwei oder auf eins reduziert werden. In jedem Fall verläßt das Programm nach entsprechender Inkrementierung des Inhalts des Zeilenzählers die Initialisierungsroutine 2410 und rückt zum Entscheidungsblock 2411 vor.
  • Je nach Zustand des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, stellt der Entscheidungsblock 2411 fest, ob eine Oberkante oder eine Unterkante erkannt werden soll. Wenn der Wert dieses Merkers auf null gestellt worden ist, soll eine Oberkante erkannt werden. In diesem Fall springt das Programm auf dem "JA"-Weg 2413 vom Entscheidungsblock 2411 zur Oberkantenklassifizierungsroutine 2430. Wenn dagegen der Wert dieses Merkers auf eins gestellt worden ist, soll eine Unterkante erkannt werden. In diesem Fall springt das Programm auf dem "NEIN"-Weg 2412 vom Entscheidungsblock 2411 zur Unterkantenklassifizierungsroutine 2490.
  • Wenn die Oberkantenklassifizierungsroutine 2430 ausgeführt werden soll, dann erfolgt innerhalb dieser Routine durch den Block 2414 zuerst der Zugriff auf die durch den Inhalt des Zeilenzählers (LCOUNT) bestimmte bezeichnete Vorderkante für die betreffende Abtastzeile.
  • Nach erfolgtem Zugriff auf die nächste bezeichnete Vorderkante stellt der Entscheidungsblock 2416 fest, ob die Position der Vorderkante "nicht null" ist. Durch die Vorlagenkantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) wird die Position der Vorder- und Hinterkanten in jeder Abtastzeile anfangs auf null gestellt (dabei wird der in Fig. 12A - 12C gezeigte FIFO-Speicher 5205 von verschiedenen, nicht gezeigten Steuersignalen zurückgestellt). Wenn diese Schaltung in keiner Abtastzeile Vorderkanten erkannt hat, dann bleibt die dem Mikrocomputersystem von dieser Schaltung angegebene Position der Vorderkante null. Wenn in der aktuellen Abtastzeile keine Vorderkante vorhanden ist, lenkt der Entscheidungsblock 2416, wie in Fig. 24A - 24C gezeigt, den weiteren Ablauf auf seinem "NEIN"-Weg zum Block 2418. Dieser stellt den Inhalt des Trefferzählers auf null zurück, weil keine Vorderkante erkannt worden ist. Anschließend springt das Programm von der Oberkantenklassifizierungsroutine 2418 auf dem Weg 2428 zum Entscheidungsblock 2450. Wenn dagegen eine Vorderkante erkannt worden ist, die Position der Vorderkante also nicht null ist, lenkt der Entscheidungsblock 2416 den weiteren Ablauf auf seinem "JA"-Weg zum Block 2420. Dieser Block erhöht den Inhalt des Trefferzählers um eins. Bei der Verarbeitung weiterer Abtastzeilen durch die Routine 2400 bzw. die Oberkantenklassifizierungsroutine 2430 wird der Wert dieses Zählers auch bei jeder folgenden Vorderkante inkrementiert. Für die Abtastzeile unmittelbar vor allen weiteren Abtastzeilen, die zusammen fünfzig aufeinanderfolgende erkannte Vorderkanten enthalten (Nummer der aktuellen Abtastzeile minus 200) wird willkürlich eine Ist-Oberkante definiert. Nach Inkrementierung des Trefferzählers durch den Block 2420 stellt der Entscheidungsblock 2422 daher fest, ob der Inhalt des Trefferzählers fünfzig erreicht hat. Wenn dies nicht der Fall ist, lenkt der Entscheidungsblock lediglich den weiteren Ablauf auf dem Weg 2425 zum Entscheidungsblock 2450. Wenn dagegen der Inhalt des Trefferzählers fünfzig erreicht hat, lenkt der Entscheidungsblock 2422 den weiteren Ablauf auf seinem "JA"-Weg zum Block 2424. Dieser stellt den Wert des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, auf eins und erteilt damit dem Mikrocomputersystem den Befehl, eine Unterkante zu erkennen. Anschließend berechnet der Block 2427 die Position der Oberkante des anliegend-tangierenden Rechtecks als Inhalt des Zeilenzählers (LCOUNT) minus dem Vierfachen des Inhalts des Trefferzählers, d.h. abzüglich des Dezimalwerts 200. Nach Berechnung der Position dieser Kante rückt die Routine von dem Block 2427 zum Entscheidungsblock 2450 vor.
  • An Hand des Werts des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, stellt der Entscheidungsblock 2450 fest, ob eine Unterkante erkannt werden soll. Wenn eine Oberkante erkannt wurde, dann hat die Oberkantenklassifzierungsroutine 2430 den Wert des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt wurde, von eins auf null gestellt. Da dies anzeigt, daß das Mikrocomputersystem jetzt eine Unterkante lokalisieren soll, lenkt der Entscheidungsblock 2450 den weiteren Ablauf auf dem "JA"-Weg 2455 zur Unterkantenklassifizierungsroutine 2490. Wenn dagegen der Wert des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, eins bleibt und damit anzeigt, daß noch keine Oberkante lokalisiert worden ist, verläßt das Programm die Ober-/Unterkantenroutine 2400 auf dem von dem Entscheidungsblock 2450 abgehenden "NEIN"-Weg.
  • Nach Einsprung in die Unterkantenklassifizierungsroutine 2490 erfolgt durch den Block 2462 der Zugriff auf die Hinterkante für die zu diesem Zeitpunkt verarbeitete aktuelle Abtastzeile, d.h. die vom Zeilenzähler (LCOUNT) angegebene Abtastzeile. Nach erfolgtem Zugriff auf diese Kante stellt der Entscheidungsblock 2464 fest, ob die Position der Hinterkante "nicht null" ist. Wie bereits erwähnt, wird die Position der Hinterkante in jeder Abtastzeile durch die Vorlagenkantenerkennungsschaltung 481 (siehe Fig. 2A und 2B) anfangs auf null gestellt. Wenn diese Schaltung in keiner Abtastzeile eine Hinterkante erkannt hat, bleibt die dem Mikrocomputersystem von dieser Schaltung angegebene Position der Hinterkante null. Wenn in der aktuellen Abtastzeile keine Hinterkante vorhanden ist, lenkt der Entscheidungsblock 2464, wie in Fig. 24A - 24C gezeigt, den weiteren Ablauf auf seinem "JA"-Weg zum Block 2467. Dieser erhöht den Inhalt des Nichttrefferzählers um eins, weil keine Hinterkante erkannt worden ist. Wenn auch in den folgenden Abtastzeilen keine Hinterkante vorhanden ist, wird bei der Verarbeitung dieser Abtastzeilen durch die Routine 2400 bzw. die Unterkantenklassifizierungsroutine 2490 der Wert des Nichttrefferzählers weiter inkrementiert. Für die Abtastzeile unmittelbar vor allen weiteren Abtastzeilen, in denen insgesamt 12 aufeinanderfolgende Hinterkanten fehlen (Nummer der aktuellen Abtastzeile minus 48), wird willkürlich eine Ist-Unterkante definiert. Nach Inkrementierung des Inhalts des Nichttrefferzählers durch den Block 2467 stellt der Entscheidungsblock 2469 daher fest, ob der Wert des Nichttrefferzählers "12" erreicht hat. Wenn dies nicht der Fall ist, lenkt dieser Entscheidungsblock lediglich den weiteren Ablauf auf dem Weg 2474 zum Ausgang der Routine 2400. Wenn dagegen der Inhalt des Nichttrefferzählers den Wert "12" erreicht hat, lenkt der Entscheidungsblock 2469 den weiteren Ablauf auf seinem "JA"-Weg zum Block 2472. Dieser stellt den Wert des Merkers, mit dem angezeigt wird, daß eine Oberkante erkannt worden ist, auf null und erteilt damit dem Mikrocomputersystem den Befehl, erneut eine Oberkante zu erkennen. Anschließend berechnet der Block 2476 die Position der Unterkante des anliegend-tangierenden Rechtecks als Inhalt des Zeilenzählers (LCOUNT) minus dem Vierfachen des Inhalts des Nichttrefferzählers, d.h. abzüglich des Dezimalwerts 48. Nach Berechnung der Position dieser Kante springt das Programm vom Block 2476 zum Ausgang der Routine 2400 und von dort zur Vorlagenkantenerkennungsroutine 2100 zurück. Wenn dagegen in der aktuellen Abtastzeile eine Hinterkante enrkannt worden ist, die Position dieser Hinterkante also nicht null ist, dann liegt die Unterkante des anliegend-tangierenden Rechtecks mindestens 48 Abtastzeilen unter der aktuellen Abtastzeile. Infolgedessen lenkt der Entscheidungsblock 2464 den weiteren Ablauf auf dem "NEIN"-Weg 2465 zum Block 2478. Dieser stellt den Inhalt des Nichttrefferzählers auf null zurück. Anschliessend springt das Programm von den Routinen 2490 und 2400 auf dem Weg 2480 zur Vorlagenkantenerkennungsroutine 2100 zurück.
  • Damit ist die Beschreibung der zur Bestimmung der Ist-Kantenpositionen und der Informationen über Lage und Größe des anliegend-tangierenden Rechtecks verwendeten Software abgeschlossen.
  • Die erfindungsgemäßen Vorrichtungen und erfindungsgemäßen Verfahren für die Lokalisierung von Kanten in einer Abtastzeile sind hier zwar im Zusammenhang mit der Erkennung von Kanten in abgetasteten Mikrofilmbildern erläutert worden. Die Kantenerkennungsschaltung 481 ist jedoch in der Lage, unabhängig von der Bildquelle jede Kante in einem abgetasteten Bild zu erkennen. Das Bild kann dabei von einer beliebigen Quelle abgetasteter Video-Informationen, wie z.B. einer Video-Kamera, dem Scanner eines Fernkopierers oder dergleichen, erzeugt werden. Die erkannten Bildkanten können routinemäßig verarbeitet werden, wenn für die Lokalisierung einer oder mehrerer regelmäßig auftretender Grenzen in dem abgetasteten Bild die erfindungsgemäßen Verfahren oder eine Hardware zu deren Realisierung angewandt werden. Diese Grenzen müssen nicht unbedingt, wie hier beschrieben, die Grenzen eines anliegend-tangierenden Rechtecks, das eine abgetastete Vorlage enthält, oder die linken und rechten Grenzen der Vorlage sein. Stattdessen kann es sich auch um die Grenzen eines innerhalb des abgetasteten Bildes regelmäßig auftretenden Objekts oder um die Grenzen eines beliebigen vorgegebenen Teilabschnitts des Bildes handeln.
  • Die Erfindung eignet sich für den Einsatz in Bildverwaltungssystemen und Systemen zur Aufbereitung und Schwellenwertbildung abgetasteter Mehrbit- Bilder im allgemeinen. Die Erfindung entfernt auf vorteilhafte Weise Einzelpixelrauschen aus dem abgetasteten Bild und schärft die im Bild vorhandenen Kanten.
  • Zeichnungsbeschriftungen: Fig. 1:
  • 5 LAMPENTREIBER
  • 10 MIKROFILM
  • 20 OPTISCHES SYSTEM
  • 23 TAKTGEBER
  • 24 KANAL FÜR GERADZAHLIGE PIXEL EIN AUS A/D UMSETZER
  • 28 KANAL FÜR UNGERADZAHLIGE PIXEL EIN AUS A/D UMSETZER
  • 34 PIXELADRESSCHALTUNG
  • 38 TAKTSCHALTUNG
  • 40 BILDVERARBEITUNGSSCHALTUNG
  • 42 ABTAST-VORVERARBEITUNGSSCHALTUNG
  • 44 BILDAUFBREITUNGSSCHALTUNG
  • 48 ABTAST-NACHVERARBEITUNGSSCHALTUNG
  • 50 VERDICHTER
  • 65 NETZWERK-SCHNITTSTELLE
  • a DIGITALISIERTE PIXEL
  • b CCD-MATRIX
  • c LAMPE EIN/AUS
  • VON ABTAST-NACHVERARBEITUNGSSCHALTUNG 48
  • d KOMPRIMIERTE BILDDATEN
  • e SYSTEM-TAKTSIGNALE
  • f ZUM LOKALEN NETZWERK
  • Fig. 2A:
  • 27 KANAL FÜR GERADZAHLIGE PIXEL
  • 30 KANAL FÜR UNGERADZAHLIGE PIXEL
  • 42 ABTAST-VORVERARBEITUNGSSCHALTUNG
  • 422 MULTIPLEXER
  • 426 LINEARITÄTSKORREKTURSCHALTUNG
  • 432 GAMMAKORREKTURSCHALTUNG
  • 441 VORRICHTUNG ZUM BESTIMMEN DES MITTELWERTS GERADZAHLIGER/UNGERADZAHLIGER PIXEL (ADDIERGLIED)
  • 445 5 x 5 VERARBEITUNGSSCHALTUNG (X+1, Y)
  • 451 VORRICHTUNG ZUM BESTIMMEN DES URSPRÜNGLICHEN PIXELWERTS
  • 455 MITTENPIXEL-SUCHSCHALTUNG
  • 467 RAUSCHVERARBEITUNGSVORRICHTUNG
  • 475 VORRICHTUNG ZUM BESTIMMEN DES HINTERGRUNDS
  • 481 VORLAGENKANTENERKENNUNGSSCHALTUNG
  • 485 ADRESSEN UND DATEN
  • INT
  • MIKROCOMPUTERSYSTEM
  • 493 STEUERSCHALTUNG
  • g VERARBEITUNGSAUSGABE
  • h MITTENPIXEL
  • i STEUERSIGNALE
  • j TAKTSIGNALE
  • k LAMPE EIN/AUS
  • (ZUM LAMPENTREIBER 5)
  • Fig. 2B:
  • 44 BILDAUFBEREITUNGSSCHALTUNG
  • 459 MITTENPIXELSCHWELLENWERTVERGLEICHER
  • 463 RAUSCHERKENNUNGS- UND -FILTERSCHALTUNG
  • 487 ADRESS- UND DATENBUSSE
  • 489 FENSTERBILDENDER BILDFELDPUFFER
  • l GEFILTERTES MITTENPIXEL
  • m ZUM VERDICHTER 50
  • n MITTENPIXEL-VERGLEICHERAUSGABE
  • o MERKER FÜR RAUSCHEN
  • Fig. 3:
  • 4262 IN1
  • ADDIERGLIED
  • IN2
  • 4264 ÜBERLAUF/UNTERLAUF-JUSTIERVORRICHTUNG (PAL)
  • 4266 MULTIPLIZIERER
  • IN1
  • IN2
  • 4270 ADRESSE
  • VERSTARKUNGSKORREKTUR- SUCHTABELLE DE/A
  • (RAM)
  • SCHREIBFREIGABEEINGANG
  • 4272 DEIN
  • SIGNALSPEICHER DAUS
  • LADEN
  • 4274 ADRESSE
  • VERSCHIEBUNGSKORREKTUR- SUCHTABELLE DE/A
  • (RAM)
  • SCHREIBFREIGABEEINGANG
  • 4276 DEIN
  • SIGNALSPEICHER DAUS
  • LADEN
  • 4875 DATENBUS
  • p DIGITALISIERTE PIXEL (VOM MULTIPLEXER 422)
  • q LINEARITÄTSKORRIGIERTE PIXEL
  • (ZUR GAMMAKORREKTURSCHALTUNG 432)
  • r VERSCHIEBUNG EINSCHREIBEN
  • s VERSTÄRKUNG EINSCHREIBEN
  • t VERSCHIEBUNG ANWÄHLEN
  • u VERSTÄRKUNG ANWÄHLEN
  • Fig. 4:
  • 4322 INA
  • S
  • MULTIPLEXER
  • INB
  • 4324 ADRESSE
  • GAMMAKORREKTUR- SUCHTABELLE DE/A
  • (RAM) SCHREIBFREIGABEEINGANG
  • 4328 DEIN
  • SIGNALSPEICHER DAUS
  • LADEN
  • 4877 ADRESSBUS
  • v LINEARITATSKORRIGIERTE PIXEL (VON DER LINEARITÄTSKORREKTURSCHALTUNG 426)
  • w GAMMAADRESSE ANWÄHLEN
  • x GAMMA EINSCHREIBEN
  • y ZUR BILDAUFBEREITUNGSSCHALTUNG 44
  • z GAMMA ANWÄHLEN Fig. 5A: EIN SCHIEBEREGISTER
  • 4457 EIN ZEILEN-VERZÖGERUNG AUS EIN SCHIEBEREGISTER
  • 4463 EIN ZEILEN-VERZÖGERUNG AUS EIN SCHIEBEREGISTER
  • 4475 EIN ZEILEN-VERZÖGERUNG AUS EIN SCHIEBEREGISTER
  • 4482 EIN ZEILEN-VERZÖGERUNG AUS EIN SCHIEBEREGISTER
  • a' AUF DEN URSPRÜNGLICHEN WERT ZURÜCKGEFÜHRTE PIXEL (VON DER VORRICHTUNG 441 ZUM BESTIMMEN DES MITTELWERTS GERADZAHLIGER/UNGERADZAHLIGER PIXEL)
  • b' ZEILE Y+2
  • c' ZEILE Y+1
  • d' ZEILE Y
  • e' ZEILE Y-1
  • f' ZEILE Y-2
  • Fig. 5B
  • 4492 IN1
  • IN2
  • ADDIERGLIED A
  • IN3
  • IN4
  • 4495 IN1
  • ADDIERGLIED A
  • IN2
  • 4496 IN1
  • IN2
  • ADDIERGLIED A
  • IN3
  • IN4
  • 4501 IN1
  • IN2
  • IN3
  • ADDIERGLIED A
  • IN4
  • IN5
  • 4505 IN1
  • ADDIERGLIED A
  • IN2
  • g' UMKEHRSUMME DER NEGATIVEN KOEFFIZIENTEN
  • h' VERARBEITUNGSAUSGABE (ZUM MITTENPIXEL-SCHWELLENWERTVERGLEICHER 459)
  • i' SUMME DER POSITIVEN KOEFFIZIENTEN
  • j' MITTENPIXEL
  • Fig. 6: Fig. 7:
  • 4511 SUBTRAHIERGLIED AUS
  • 4515 SIGNALSPEICHER
  • (VERZÖGERUNG)
  • EIN AUS
  • k' (AUF DEN URSPRÜNGLICHEN WERT ZURÜCKGEFÜHRTES) MITTENPIXEL (VON DER VERARBEITUNGSSCHALTUNG 445)
  • l' RÜCKSTELLUNG
  • m' AUF DEN URSPRÜNGLICHEN WERT ZURÜCKGEFÜHRTES PIXEL (ZUR MITTENPIXEL- SUCHSCHALTUNG 455)
  • Fig. 8:
  • 4451 INA
  • MULTIPLEXER
  • S
  • INB
  • 4555 MITTENPIXEL-SUCHTABELLE
  • (RAM)
  • ADRESSE SCHREIBFREIGABEEINGANG
  • 4557 DEIN
  • SIGNALSPEICHER DAUS
  • LADEN
  • 4875 DATENBUS
  • 4877 ADRESSBUS
  • n' AUF DEN URSPRÜNGLICHEN WERT ZURÜCKGEFÜHRTES PIXEL (VON DER VORRICHTUNG 451 ZUM BESTIMMEN DES URSPRÜNGLICHEN PIXELWERTS)
  • o' SUMME HINTERGRUND + RAUSCHEN (VOM SUMMIERER 473)
  • p' MITTENPIXEL-ADRESSE ANWÄHLEN
  • q' MITTENPIXEL-AUSGABE (ZUM MITTENPIXEL-SCHWELLENWERTVERGLEICHER 459)
  • r' MITTENPIXEL EINSCHREIBEN
  • s' MITTENPIXEL ANWÄHLEN
  • Fig. 9:
  • 4631 3 x 3
  • FENSTERGENERATOR
  • 4635 3 x 3 D01
  • RAUSCHMUSTERERKENNUNGS- ADRESSE SUCHTABELLE (ROM) D02
  • t' MITTENPIXELVERGLEICHERAUSGABE
  • (VOM MITTENPIXEL-SCHWELLENWERTVERGLEICHER 459)
  • u' GEFILTERTES MITTENPIXEL
  • (ZUM BILDFELDPUFFER 489)
  • v' MERKER FÜR RAUSCHEN
  • (ZUR RAUSCHVERARBEITUNGSVORRICHTUNG 467)
  • w' TAKTGEBER
  • x' 3 x 3 PIXELFENSTER
  • Fig. 10A:
  • 4670 Y-FILTERABSCHNITT ADRESSE ZEILENSPEICHER SCHREIBFREIGABEEINGANG
  • 4675 DEIN DAUS
  • SIGNALSPEICHER
  • OE
  • 4679 ADRESSE DE/A
  • Y-EXP-SUCHTABELLE FÜR RAUSCHVERARBEITUNG ALS ABNEHMENDE FUNKTION
  • (RAM)
  • SCHREIBfREIGABEEINGANG
  • 4684 DEIN
  • SIGNALSPEICHER DAUS
  • LADEN
  • 4687 DEIN
  • SIGNALSPEICHER DAUS
  • OE
  • 4690 DEIN SIGNALSPEICHER DAUS
  • OE
  • 4875 DATENBUS
  • 4877 ADRESSBUS
  • y' MERKER FÜR RAUSCHEN (VON DER RAUSCHERKENNUNGS- UND -FILTERSCHALTUNG 463)
  • z' ZEILENSPEICHER EINSCHREIBEN
  • a" ZEILENSPEICHERAUSGANG ANWÄHLEN
  • b" Y-EXP EINSCHREIBEN
  • c" ZEILENSPEICHER EINSCHREIBEN
  • d" Y-EXP-ADRESSBUS ANWÄHLEN
  • e" Y-EXP-DATENBUS ANWÄHLEN
  • Fig. 10B:
  • 4710 X-FILTERABSCHNITT
  • 4711 IN1 A
  • ADDIERGLIED
  • IN2
  • 4715 DEIN DAUS
  • SIGNALSPEICHER
  • OE
  • 4719 ADRESSE DO
  • X-EXP-SUCHTABELLE
  • (RAM)
  • FUR DIE RAUSCHVERARBEITUNG
  • SCHREIBFREIGABEEINGANG
  • 4723 DEIN DAUS
  • SIGNALSPEICHER
  • 4727 DEIN
  • SIGNALSPEICHER DAUS
  • OE
  • 4729 DEIN
  • SIGNALSPEICHER DAUS
  • OE
  • 4877 ADRESSBUS
  • f" AUSGABE DER RAUSCHVERARBEITUNGSVORRICHTUNG
  • (ZUM SUMMIERER 473)
  • g" X-EXP EINSCHREIBEN
  • h" AUSGANG DES ADDIERGLIEDS ANWÄHLEN
  • i" X-EXP-ADRESSBUS ANWÄHLEN
  • j" X-EXP-DATENBUS ANWÄHLEN
  • Fig. 11A:
  • 4755 EIN
  • SIGNALSPEICHER AUS
  • LADEN
  • 4757 VERGLEICHER
  • INB A> B
  • INA
  • 4751 ZEILENPUFFER
  • ADRESSE DE/A
  • SCHREIBFREIGABEEINGANG
  • 4761 INA
  • MULTIPLEXER
  • S
  • DO
  • INB
  • 4765 INA
  • MULTIPLEXER
  • S
  • DO
  • INB
  • 4767 INB
  • MULTIPLEXER
  • S
  • DO
  • INA
  • 4781 VORHERGEHENDER HINTERGRUNDWERT FÜR DIE AKTUELLE ZEILE (c) ABTASTZEILE PIXELPOSITION
  • 4877 ADRESSBUS
  • k" ZEILENPUFFEREINGANG ANWÄHLEN
  • l" HINTERGRUNDWERT FÜR DIE VORHERGEHENDE ZEILE (b)
  • m" ADRESSE ZUM BESTIMMEN DES HINTERGRUNDS ANWÄHLEN
  • n" ZEILENPUFfER EINSCHREIBEN
  • o" MITTENPIXEL (X+1, Y)
  • Fig. 11B:
  • 4768 SUCHTABELLE DER VORRICHTUNG ZUM BESTIMMEN DES HINTERGRUNDS
  • (RAM)
  • DE/A
  • ADRESSE (6-12)
  • ADRESSE (0-5)
  • SCHREIBFREIGABEEINGANG
  • 4772 DEIN
  • SIGNALSPEICHER AUS
  • LADEN
  • 4775 IN1
  • ADDIERGLIED AUS
  • IN2
  • 4779 SIGNALSPEICHER
  • 4783 PIXELVERZÖGERUNG
  • (SIGNALSPEICHER)
  • AUSGANG DER VORRICHTUNG ZUM BESTIMMEN DES HINTERGRUNDS
  • (ZUM SUMMIERER 473)
  • AUSGANG DER SUCHTABELLE DER VORRICHTUNG ZUM BESTIMMEN DES HINTERGRUNDS
  • SCHREIBBEFEHL FÜR BESTIMMUNG DES HINTERGRUNDS
  • ANWAHL fÜR DIE BESTIMMUNG DES HINTERGRUNDS
  • Fig. 12A:
  • 4875 DATENBUS REGISTER
  • 5107 IN1 SUBTRAHIERGLIED DO
  • IN2
  • 5111 SIGNALSPEICHER
  • 5117 DIN ADDIER-REGISTER DO
  • OE ARITHMETIK-LOGIK-EINHEIT (ALU = ARITHMETIC LOGIC UNIT)
  • 5129 SIGNALSPEICHER
  • 5121 DIN SUBTRAHIER-REGISTER DO
  • OE
  • 5129 SIGNALSPEICHER
  • 5133 C
  • DIN ZÄHLER DO
  • ABWARTS/AUFWÄRTS
  • 5100 GRENZPEGELWERTGENERATORSCHALTUNG
  • 5137 A
  • VERGLEICHER A> B
  • B
  • 5141 A
  • VERGLEICHER A> B
  • B
  • 5145 A
  • VERGLEICHER A> B
  • B
  • t" MITTENPIXEL
  • (X+1, Y)
  • u" MITTENPIXELWERT
  • v" AUSGABE DER VORRICHTUNG ZUM BESTIMMEN DES HINTERGRUNDS
  • w" HINTERGRUNDWERT
  • x" GRENZPEGELWERTVERSCHIEBUNG FÜR DIE KANTENERKENNUNG
  • y" HINTERGRUND > IST-GRENZPEGELWERT
  • z "IST-GRENZPEGELWERT
  • a"' STEUERSIGNALE
  • b"' GRENZPEGELWERT-JUSTIERREGISTER
  • c"' VIDEO > GRENZPEGELWERT
  • d"' ADDIEREN
  • e"' STEUERSIGNALE
  • f"' GRENZPEGELWERT
  • g"' GRENZPEGELWERT-ZÄHLER
  • h"' HINTERGRUND > GRENZPEGELWERT
  • i"' SUBTRAHIEREN
  • Fig. 12B:
  • 4875 DATENBUS KANTENERKENNUNGS-SCHWELLENWERTZAHLER-STEUERLOGIK (PAL = PROGRAMMABLE ARRAY LOGIC) NICHTADRESSIERBARER HINTERGRUNDWERT-HILFSZÄHLER HINTERGRUNDWERT-HINTERKANTENZAHLER HINTERGRUNDWERT-VORDERKANTENZAHLER VIDEO-FILTER NICHTADRESSIERBARER VIDEO-HILFSZÄHLER VIDEO-HINTERKANTENZÄHLER VIDEO-VORDERKANTENZÄHLER
  • j"' MERKER FÜR VIDEO-HINTERKANTE
  • k"' TAKT- UND STEUERSIGNALE
  • VIDEO LEADING FLAG = MERKER FÜR VIDEO-VORDERKANTE
  • BACKGROUND FILTER = HINTERGRUND-FILTER
  • Fig. 12C:
  • 4875 DATENBUS VORDER-/HINTERKANTEN-ERKENNUNGSSCHALTUNG SIGNALSPEICHER SCHREIBEINGANG LESEN
  • 5207 SIGNALSPEICHER DO
  • 5211 INA
  • SUBTRAHIERGLIED DO
  • INB
  • l"' RICHTIGE MINDESTKANTENBREITE
  • m"' MERKER FÜR HINTERGRUNDWERT-HINTERKANTE
  • n"' VORDER-/HINTERKANTE
  • o"' NEUE ZEILE
  • p"' TAKTEN
  • q"' VORLAGENKANTEN-UNTERBRECHUNG
  • r"' FIFO-SCHREIBBEFEHL
  • s"' MERKER FÜR HINTERGRUNDWERT-VORDERKANTE
  • t"' FIFO LESEN
  • u"' FIFO VOLL (FIFO fULL)
  • v"' FIFO LEER (FIFO EMPTY)
  • w"' ZUM/VOM MIKROCOMPUTERSYSTEM 485
  • Fig. 13A:
  • 4875 DATENBUS
  • 4877 ADRESSBUS
  • 4891 X-ADRESSENZÄHLER
  • 4894 Y-ADRESSENZÄHLER
  • 4991 X-FENSTERGRÖSSENZÄHLER
  • 4997 Y-FENSTERGRÖSSENZÄHLER
  • 5001 Y-FENSTERADRESSENZÄHLER SERIEN-PARALLELUMSETZER (SCHIEBEREGISTER)
  • 5009 ADRESSWÄHLER
  • y"' GEFILTERTE MITTENPIXEL (VON DER RAUSCHERKENNUNGS- UND -FILTERSCHALTUNG 463)
  • z"' TAKTSIGNALE
  • A X-ADRESSE
  • B Y-ADRESSE
  • C X-FENSTERADRESSE
  • D Y-FENSTERADRESSE
  • E ABTASTZEILENENDE
  • F BILDENDE
  • F' FENSTERADRESSEN-STEUERSCHALTUNG Fig. 13B: BILDFELDPUFFER ADRESSE
  • 5017 SPEICHERSTEUERSCHALTUNG
  • 5024 SIGNALSPEICHER PARALLELSERIEN-UMSETZER (SCHIEBEREGISTER)
  • G SERIELLE VIDEO-DATEN
  • (ZUM VERDICHTER 50)
  • Fig. 14:
  • 1400 HAUPTSCHLEIFE
  • 1410 DATEN LADEN IN:
  • MITTENPIXEL-SUCHTABELLE 4555, X-EXP- UND Y-EXP SUCHTABELLEN 4679 und 4719 FÜR RAUSCHVERARBEITUNG ALS EXPONENTIELL ABNEHMENDE FUNKTION UND SUCHTABELLE 4768 ZUM BESTIMMEN DES HINTERGRUNDS
  • 1420 EICHROUTINE 1500 AUSFÜHREN
  • 1430 JE NACH ART DES ABGETASTETEN FILMS ENTSPRECHENDE DATEN IN DIE GAMMAKORREKTUR- SUCHTABELLE 4324 LADEN
  • 1435 BEFEHL AN FILMBIBLIOTHEK, MIT DEM ABTASTEN ZU BEGINNEN
  • 1440 VORLAGENKANTEN-UNTERBRECHUNG GEMELDET?
  • 1460 DURCH ABARBEITEN DER ROUTINE 2100 DIE POSITIONEN DER IST-VORDERKANTE UND IST-HINTERKANTE DER VORLAGE FÜR JEDE ABTASTZEILE UND NACH BEARBEITUNG ALLER ABTASTZEILEN DIE SPEICHERZELLE DES ERSTEN PIXELS IM ANLIEGEND-TANGIERENDEN RECHTECK SOWIE DIE GRÖSSE DES RECHTECKS BESTIMMEN UND DIESE INFORMATION DANN DEM FENSTERBILDENDEN BILDFELDPUFFER 489 ZUFÜHREN
  • H EINSPRUNG
  • (RÜCKSTELLUNG BEI EINSCHALTUNG DES SYSTEMS)
  • Fig. 15:
  • 1500 EICHROUTINE
  • 1510 INITIALISIERUNG DER VARIABLEN
  • 1520 DURCH ABARBEITUNG DER KORREKTURROUTINE 1600 BEI ABGESCHALTETER LAMPE DIE VERSCHIEBUNGSKORREKTURWERTE ZUR ABSPEICHERUNG IN DER TABELLE (RAM) 4274 IN DER LINEARITÄTS-KORREKTURSCHALTUNG 426 BESTIMMEN
  • 1530 DURCH ABARBEITEN DER DIAGNOSEROUTINE 1700 BEI ABGESCHALTETER LAMPE SYSTEMVERHALTEN AUF KORREKTUR BEI ABGESCHALTETER LAMPE PRÜFEN
  • 1540 DURCH ABARBEITEN DER KORREKTURROUTINE 1800 BEI EINGESCHALTER LAMPE DIE VERSTÄRKUNGSKORREKTURWERTE ZUR ABSPEICHERUNG IN DER TABELLE (RAM) 4270 IN DER LINEARITÄTSKORREKTURSCHALTUNG 426 BESTIMMEN
  • 1550 DURCH ABARBEITEN DER DIAGNOSEROUTINE 2000 SYSTEMVERHALTEN AUF KORREKTUR BEI EINGESCHALTETER LAMPE PRÜFEN
  • 1560 VERSCHIEBUNGS- UND VERSTÄRKUNGSKORREKTURFAKTOREN IN DATEIEN ABSPEICHERN
  • I EINSPRUNG
  • J RÜCKSPRUNG
  • Fig. 16A:
  • 1600 KORREKTURROUTINE BEI ABGESCHALTETER LAMPE
  • 1610 DURCH ENTSPRECHENDE EINSTELLUNG DES SIGNALS FÜR DAS EIN- UND ABSCHALTEN DER LAMPE BEFEHL AN DEN LAMPENTREIBER 5, DIE LAMPE 7 ABZUSCHALTEN
  • 1640 ROUTINE FÜR DIE BILDUNG DES MITTELWERTS DER PIXELSPALTE
  • 1620 BEFEHL AN DEN MIKROFILM-SCANNER, DAS BILD ABZUTASTEN UND DIE ERGEBNISSE ABZUSPEICHERN
  • 1622 ZEILENSUMME AUF NULL STELLEN (LSUM E0)
  • 1624 PIXELSUMME PSUM = PIXEL SUM, ZEILEN-ZÄHLSTAND (LINE COUNT) UND ALLE PIXELSPALTENSUMMEN (PCSUM&sub0; = PIXEL COLUMN SUM 0, PCSUM&sub1;,...PCSUM &sub2;&sub4;&sub0;&sub7;) AUF NULL STELLEN
  • 1626 SUMME (PSUM) DER PIXEL (P) IN DER AKTUELLEN ABTASTZEILE BERECHNEN: PSUM EPSUM + Pn n=1, 2,..., 2047
  • 1629 ZEILENENDE ERREICHT?
  • 1637 PIXELSPALTENSUMMEN (PCSUM&sub0;, PCSUM&sub1; , ..., PCSUM&sub2;&sub0;&sub4;&sub7;) DURCH AUFNAHME DER ENTSPRECHENDEN PIXEL IN DER AKTUELLEN ZEILE (P&sub0;, P&sub1;, .. . P&sub2;&sub0;&sub4;&sub7;) AKTUALISIEREN:
  • Fig. 16B:
  • 1639 ZEILEN-ZÄHLSTAND UM 160 ERHÖHEN:
  • ZEILEN-ZÄHLSTAND EZEILEN-ZÄHLSTAND + 160
  • 1642 LETZTE ZEILE ERREICHT?
  • 1646 DEN MITTELWERT (PCAVG = PIXEL COLUMN AVERAGE) FÜR JEDE PIXELSPALTENSUMME BERECHNEN:
  • 1660 PIXELSPALTENMITTELWERTE ALS VERSCHIEBUNGSKORREKTURFAKTOREN IN VERSCHIEBUNGSKORREKTUR-SUCHTABELLE (RAM) 4274 ABSPEICHERN
  • J RÜCKSPRUNG
  • Fig. 17A:
  • 1700 DIAGNOSEROUTINE BEI ABGESCHALTETER LAMPE
  • 1710 DIE PIXEL-SPEICHERZELLEN DER GRÖSSTEN UND KLEINSTEN PIXELSPALTENMITTELWERTE (GRÖSSTES VERSCHIEBUNGSBEDINGTES RAUSCHEN) UND DEREN POSITIONEN BESTIMMEN UND DIESE INFORMATION AUSDRUCKEN, UM ANZUZEIGEN, WO SICH DIE DURCH DIE DIAGNOSEROUTINE MIT ABGESCHALTETER LAMPE ERMITTELTEN WERTE DES GRÖSSTEN UND KLEINSTEN (VERSCHIEBUNGSBEDINGTEN) RAUSCHENS BEFINDEN
  • 1720 BEFEHL AN DEN MIKROFILMSCANNER, EIN BILD ABZUTASTEN UND DIE PIXEL FÜR EINE BESTIMMTE ABTASTZEILE SL (SCAN LINE) ALS ZEILE A ABZUSPEICHERN.
  • 1730 DIAGNOSEMASSNAHMEN FÜR ZEILE A BERECHNEN (KLEINSTE HELLIGKEIT, GRÖSSTE HELLIGKEIT, MITTELWERT, STANDARDABWEICHUNG, UNTERSCHIEDE ZWISCHEN DEN GERADZAHLIGEN UND UNGERADZAHLIGEN MITTELWERTEN) UND DIE ERGEBNISSE AUSDRUCKEN
  • 1740 ANWEISUNG AN DEN MIKROFILM-SCANNER, EIN BILD ABZUTASTEN UND DIE PIXEL FÜR DIE ABTASTZEILE SL ALS ZEILE B ABZUSPEICHERN
  • I EINSPRUNG
  • K (WARTEN) Fig. 17B:
  • 1750 PIXEL FÜR PIXEL ETWAIGE UNTERSCHIEDE ZWISCHEN SICH ENTSPRECHENDEN PIXELN IN ZEILEN A UND B ERMITTELN UND DIE ERGEBNISSE AUSDRUCKEN
  • 1760 PIXELDATEN FÜR DIE ZEILE A UND B MIT HILFE DER VERSCHIEBUNGSKORREKTURFAKTOREN KORRIGIEREN, UM DIE KORRIGIERTEN ZEILEN A UND B ZU ERHALTEN
  • 1770 PIXEL FÜR PIXEL ETWAIGE UNTERSCHIEDE ZWISCHEN SICH ENTSPRECHENDEN PIXELN IN DEN KORRIGIERTEN ZEILEN A UND B ERMITTELN UND DIE ERGEBNISSE AUSDRUCKEN
  • J RÜCKSPRUNG
  • Fig. 18A:
  • 1800 KORREKTURROUTINE MIT EINGESCHALTETER LAMPE
  • 1805 DURCH ENTSPRECHENDE EINSTELLUNG DES SIGNALS FÜR DIE EIN- UND ABSCHALTUNG DER LAMPE BEFEHL AN DEN LAMPENTREIBER 5, DIE LAMPE 7 EINZUSCHALTEN
  • 1810 DURCH ABARBEITEN DER ROUTINE 1640 ZUR BILDUNG DES PIXELSPALTEN-MITTELWERTS DAS BILD ABTASTEN UND DIE PIXELSPALTEN-MITTELWERTE BERECHNEN (PCAVG&sub0;, PCAVG&sub1;, ..., PCAVG&sub2;&sub0;&sub4;&sub7;)
  • 1813 FÜR JEDEN PIXELSPALTEN-MITTELWERT DIE POSITION (ABTASTZEILENNUMMER) UND DIE GRÖSSTEN UND KLEINSTEN PIXELWERTE BESTIMMEN UND DIE ERGEBNISSE
  • AUSDRUCKEN
  • 1815 FÜR JEDE GRUPPE MIT 32 AUFEINANDERFOLGENDEN PIXELSPALTEN-MITTELWERTEN EINEN ÖRTLICHEN PIXEL-MITTELWERT (PLAVG = PIXEL AVERAGE) BERECHNEN
  • Anmerkung des Übersetzers:/Formeln bitte dem engl. Original entnehmen.
  • 1820 FÜR JEDE GRUPPE MIT 32 AUFEINANDERFOLGENDEN PIXELSPALTEN-MITTELWERTEN DEN WERT (UND DIE ENTSPRECHENDE POSITION) DER GRÖSSTEN ABWEICHUNG VOM
  • ÖRTLICHEN SPALTEN-MITTELWERT BESTIMMEN, WERT UND POSITION AUSDRUCKEN
  • I EINSPRUNG
  • Fig. 18B:
  • 1825 DIE GRÖSSTEN UND KLEINSTEN ÖRTLICHEN MITTELWERTE BESTIMMEN UND AUSDRUCKEN, UM SEITLICHE LINEARITÄTSUNTERSCHIEDE AUFZUZEIGEN
  • 1830 DEN ERSTEN PIXELSPALTEN-MITTELWERT ANWÄHLEN
  • 1835 DEN INHALT DES ZÄHLERS FÜR TOTE PIXEL (DP = DEAD PIXELS) LÖSCHEN:
  • DPE0
  • 1840 PIXELSPALTEN-MITTELWERT < 80% SEINES ÖRTLICHEN MITTELWERTS?
  • 1850 INHALT DES ZÄHLERS FÜR TOTE PIXEL ERHÖHEN DPE DP + 1
  • 1855 DEN IN DER REIHENFOLGE NÄCHSTEN PIXELSPALTEN-MITTELWERT ANWÄHLEN
  • 1860 ALLE SPALTEN-MITTELWERTE VERGLICHEN?
  • Fig. 18C
  • 1870 DEN IM ZÄHLER FÜR TOTE PIXEL ABGESPEICHERTEN WERT FÜR DIAGNOSEZWECKE AUSDRUCKEN
  • 1875 EIN HISTOGRAMM ALLER 2048 PIXELSPALTEN-MITTELWERTE ERSTELLEN
  • 1880 DURCH ABARBEITEN DER INVERTIERUNGS- UND SKALIERUNGSROUTINE 1900 KORREKTURKURVE BEI EINGESCHALTETER LAMPE ERZEUGEN
  • J RÜCKSPRUNG
  • Fig. 19A.
  • 1900 INVERTIERUNGS- UND SKALIERUNGSROUTINE
  • 1910 DIVISION VON 32768 MIT JEDEM EINZELNEN PIXELSPALTEN-MITTELWERT PCAVG (PIXEL COLUMN AVERAGE), DIE INVERTIERTEN PIXELSPALTEN-MITTELWERTE (INV PCAVG = INVERTED PIXEL COLUMN AVERAGE) BERECHNEN:
  • JEDEN INVERTIERTEN PIXELSPALTEN-MITTELWERT ABSPEICHERN
  • 1920 DURCH RÜCKWÄRTSLESEN DES HISTOGRAMMS DEN 6-BIT-VIDEOWERT (VID-WERT) LOKALISIEREN, BEI DEM ZUM ERSTEN MAL 40 "TREFFER" ZU VERZEICHNEN SIND
  • 1930 DURCH BESTIMMEN DES UMKEHRWERTS DES VIDEOWERTS (INV VID VALUE = INVERTED VIDEO VALUE) DEN ENTSPRECHENDEN SKALIERUNGSFAKTOR BERECHNEN
  • 1940 DURCH MULTIPLIKATION EINES JEDEN INVERTIERTEN PIXELSPALTEN-MITTELWERTS MIT 128 ACHT (8) PRÄZISI0NSBITS ADDIEREN:
  • (INV PCAVG)n E (INV =PCAVG)n * 128
  • Fig. 19B
  • 1950 FÜR JEDEN INVERTIERTEN PIXELSPALTEN-MITTELWERT DEN VERSTÄRKUNGSFAKTOR
  • 1960 VERSTÄRKUNGSFAKTOREN IN DER VERSTÄRKUNGSKORREKTUR-SUCHTABELLE (RAM) 4270 ABSPEICHERN
  • J RÜCKSPRUNG
  • Fig. 20:
  • 2000 DIAGNOSEROUTINE MIT EINGESCHALTERTER LAMPE
  • 2010 BEFEHL AN MIKROFILM-SCANNER, EIN BILD ABZUTASTEN, UND ABSPEICHERUNG DER PIXEL FÜR ABTASTZEILE SL ALS ZEILE A
  • 2020 VERSTÄRKUNGSUNTERSCHIEDE ZWISCHEN DEN PIXELDATEN IN DER ZEILE A KORRIGIEREN UND ERGEBNISSE ALS KORRIGIERTE ZEILE A ABSPEICHERN
  • 2030 DIAGNOSEMASSNAHMEN FÜR DIE KORRIGIERTE ZEILE A BERECHNEN UND ERGEBNISSE AUSDRUCKEN
  • 2040 BEFEHL AN MIKROFILM-SCANNER, EIN BILD ABZUTASTEN UND ABSPEICHERUNG DER PIXEL FÜR DIE ABTASTZEILE SL ALS ZEILE B
  • 2050 VERSTÄRKUNGSUNTERSCHIEDE DER PIXELDATEN IN ZEILE B KORRIGIEREN UND ERGEBNISSE ALS KORRIGIERTE ZEILE B ABSPEICHERN
  • 2060 PIXEL FÜR PIXEL UNTERSCHIEDE ZWISCHEN SICH ENTSPRECHENDEN PIXELN IN DEN KORRIGIERTEN ZEILEN A UND B ERMITTELN UND DIE ERGEBNISSE AUSDRUCKEN
  • I EINSPRUNG
  • K (WARTEN)
  • J RÜCKSPRUNG
  • Fig. 21A:
  • 2100 VORLAGENKANTENERKENNUNGSROUTINE
  • 2101 INHALT DES KANTENZÄHLERS (ECOUNT EEDGE COUNT) INITIALISIEREN:
  • ECOUNT E0
  • 2103 INHALT DES KANTENZÄHLERS (ECOUNT) ERHÖHEN:
  • ECOUNT E1
  • 2105 DURCH ABARBEITEN DER ROUTINE 2200 ZUR BESTIMMUNG DES KANTENPAARS MIT DEM GRÖSSTEN KANTENABSTAND IN DER AKTUELLEN ABTASTZEILE DAS VORDER-/ HINTERKANTENPAAR MIT DEM GRÖSSTEN KANTENABSTAND HERAUSGREIFEN
  • 2107 ALLE KANTENPAARE IN DER AKTUELLEN ABTASTZEILE VERARBEITET?
  • FIG. 21B:
  • 2110 IST DAS KANTENPAAR MIT DEM GRÖSSTEN KANTENABSTAND ZU SCHMAL?
  • 2120 KANTENPAAR-WÄHLROUTINE 2300 FÜR DIE VORHERGEHENDE ZEILE AUFRUFEN, UM AUS DEN AKTUELLEN PIXELPAAREN DIE POSITION DES V0RDER-/HINTERKANTENPAARS AUSZUWÄHLEN, DAS DEM FÜR DIE UNMITTELBAR VORHERGEHENDE ABTASTZEILE BESTIMMTEN V0RDER-/HINTERKANTENPAAR AM NÄCHSTEN LIEGT
  • 2125 POSITION DER VORDERKANTE FÜR DIE AKTUELLE ABTASTZEILE IN DAS HISTOGRAMM AUFNEHMEN
  • 2130 POSITION DER HINTERKANTE FÜR DIE AKTUELLE ABTASTZEILE IN DAS HISTOGRAMM AUFNEHMEN
  • 2135 DURCH ABARBEITEN DER OBER-/UNTERKANTENROUTINE 2400 DIE SUCHE NACH DEN OBER- UND UNTERKANTEN DES ANLIEGEND-TANGIERENDEN RECHTECKS DURCH
  • AUFNAHME DER AKTUELLEN ABTASTZEILE AKTUALISIEREN
  • 2140 IST DIE AKTUELLE ABTASTZEILE DIE LETZTE ABTASTZEILE IN DER VORLAGE?
  • FIG. 21C:
  • 2150 DURCH VORWÄRTSLESEN DES HISTOGRAMMS (VON LINKS NACH RECHTS) BIS ZU DER ERSTEN PIXELPOSITION, BEI DER 10% DER VORDERKANTEN VORGEKOMMEN SIND, DIE VORDERKANTE DES ANLIEGEND-TANGIERENDEN RECHTECKS LOKALISIEREN UND DIESE PIXELPOSITION ALS VORDERKANTE DES ANLIFGEND-TANGIERENDEN RECHTECKS BEZEICHNEN.
  • 2155 DURCH RÜCKWÄRTSLESEN DES HIST0GRAMMS (VON RECHTS NACH LINKS) BIS ZU DER ERSTEN PIXELPOSITION, BEI DER 10% DER HINTERKANTEN VORGEKOMMEN SIND, DIE HINTERKANTE DES ANLIEGEND-TANGIERENDEN RECHTECKS LOKALISIEREN UND DIESE PIXELPOSITION ALS HINTERKANTE DES ANLIEGEND-TANGIERENDEN RECHTECKS BEZEICHNEN
  • 2160 ANFANGSADRESSE UND GRÖSSE DES ANLIEGEND-TANGIERENDEN RECHTECKS AN DEN FENSTERBILDENDEN BILDFELDPUFFER 489 MELDEN, UM DAS AUF UND IN DEM ANLIEGEND-TANGIERENDEN RECHTECK LIEGENDE BILD AN DEN VERDICHTER 50 ZU ÜBERTRAGEN
  • J RÜCKSPRUNG
  • FIG. 22:
  • 2200 ROUTINE ZUR BESTIMMUNG DES KANTENPAARS MIT DEM GRÖSSTEN KANTENABSTAND
  • 2205 DEN WERT DES VORHERGEHENDEN KANTENPAARABSTANDS (PW = PAIR WIDTH) AUF NULL STELLEN
  • PW E0
  • 2215 VORDER-/HINTERKANTENPAAR (ECOUNT) ALS AKTUELLES KANTENPAAR AUS DER VORLAGENKANTENERKENNUNGSSCHALTUNG 481 HOLEN UND ABSPEICHERN
  • 2220 DEN IN PIXELN GEMESSENEN ABSTAND ZWISCHEN DEN KANTEN DES AKTUELLEN KANTENPAARS BERECHNEN
  • 2245 IST KANTENABSTAND DES AKTUELLEN KANTENPAARS > KANTENABSTAND (PW) DES VORHERGEHENDEN KANTENPAARS?
  • 2255 POSITION DES AKTUELLEN KANTENPAARS ALS POSITION DES IST-VORDER-/HINTERKANTENPAARS SICHERN
  • 2260 EINSTELLEN:
  • PW EKANTENABSTAND DES AKTUELLEN KANTENPAARS IN PIXELN
  • J RÜCKSPRUNG
  • Fig. 23A:
  • 2300 ROUTINE FÜR DIE WAHL DES KANTENPAARS DER VORHERGEHENDEN ZEILE
  • 2330 VORDERKANTEN-BESTIMMUNGSROUTINE
  • 2302 INHALT DES KANTENZÄHLERS LÖSCHEN:
  • ECOUNT E0
  • 2304 DEN VORHERGEHENDEN KANTENUNTERSCHIED (PEDIFF = PRIOR EDGE DIFFERENCE) AUF EINEN VORGEGEBENEN MAXIMALWERT STELLEN
  • 2306 VORDERKANTE (ECOUNT) AUS DEM SPEICHER AUSLESEN
  • 2308 UNTERSCHIED (KANTENUNTERSCHIED) ZWISCHEN VORDERKANTE (ECOUNT) UND VORDERKANTENPOSITION IM HISTOGRAMM FÜR DIE UNMITTELBAR VORHERGEHENDE ABTASTZEILE BERECHNEN
  • 2311 IST KANTENUNTERSCHIED < PEDIFF?
  • 2313 VORDERKANTE (ECOUNT) ALS VORDERKANTENPOSITION DER AKTUELLEN ABTASTZEILE SICHERN
  • 2317 EINSTELLEN:
  • PEDIFFEKANTENUNTERSCHIED
  • 2319 IST DIE VORDERKANTE (ECOUNT) DIE LETZTE VORDERKANTE FÜR DIE AKTUELLE ABTASTZEILE?
  • 2324 INHALT DES KANTENZÄHLERS ERHÖHEN:
  • ECOUNT EECOUNT + 1
  • I EINSPRUNG
  • Fig. 23B:
  • 2360 HINTERKANTENBESTIMMUNGSROUTINE
  • 2332 INHALT DES KANTENZÄHLERS LÖSCHEN:
  • ECOUNT E0
  • 2334 DEN WERT DES VORHERGEHENDEN KANTENUNTERSCHIEDS (PEDIFF) AUF EINEN VORGEGEBENEN MAXIMALWERT STELLEN
  • 2336 HINTERKANTE (ECOUNT) AUS DEM SPEICHER AUSLESEN
  • 2338 UNTERSCHIED (KANTENUNTERSCHIED) ZWISCHEN DER HINTERKANTE (ECOUNT) UND DER HINTERKANTENPOSITION IM HISTOGRAMM FÜR DIE UNMITTELBAR VORHERGEHENDE ABTASTZEILE BERECHNEN
  • 2341 IST KANTENUNTERSCHIED < PEDIFF?
  • 2345 HINTERKANTE (ECOUNT) ALS HINTERKANTENPOSITION FÜR DIE AKTUELLE ABTASTZEILE SICHERN
  • 2354 INHALT DES KANTENZÄHLERS ERHÖHEN:
  • ECOUNT EECOUNT + 1
  • Fig. 23C:
  • 2347 EINSTELLEN:
  • PEDIFFEKANTENUNTERSCHIED
  • 2349 IST DIE HINTERKANTE (ECOUNT) DIE LETZTE HINTERKANTE FÜR DIE AKTUELLE ABTASTZEILE?
  • J RÜCKSPRUNG
  • Fig. 24A
  • 2400 OBER-/UNTERKANTENROUTINE
  • 2410 INITIALISIERUNGSROUTINE
  • 2402 ERSTE ABTASTZEILE IM BILD?
  • 2404 TREFFERZÄHLER (HIT), NICHTTREFFERZÄHLER (MISS) UND ZEILENZÄHLER (LCOUNT) LÖSCHEN:
  • HITE0, MISSE0
  • LCOUNTE0
  • 2406 MERKER "OBERKANTE ERKANNT" ZURÜCKSTELLEN, UM DEM SYSTEM DEN BEFEHL ZU ERTEILEN, EINE OBERKANTE ZU ERKENNEN:
  • MERKER "OBERKANTE ERAKNNT"E0
  • 2408 ZEILEN-ZÄHLSTAND ERHÖHEN:
  • LCOUNTELCOUNT +4
  • 2411 MERKER "OBERKANTE ERKANNT" = 0?
  • I EINSPRUNG
  • M (MERKER "OBERKANTE ERKANNT" =
  • Fig. 24B:
  • 2430 OBERKANTENKLASSIFIZIERUNGSROUTINE
  • 2414 ZUGRIFF AUF DIE BEZEICHNETE VORDERKANTE FÜR DIE ABTASTZEILE (LCOUNT)
  • 2416 ERKANNTE VORDERKANTE NICHT NULL?
  • 2418 TREFFERZÄHLER ZURÜCKSTELLEN:
  • HITE0
  • 2420 INHALT DES TREFFERZAHLERS ERHÖHEN:
  • HIT EHIT + 1
  • 2422 HIT = 50?
  • 2424 MERKER "OBERKANTE ERKANNT" EINSTELLEN, UM DEM SYSTEM DEN BEFEHL ZU ERTEILEN, EINE UNTERKANTE ZU ERKENNEN
  • MERKER "OBERKANTE ERKANNT"E1
  • 2427 POSITION DER OBERKANTE WIE FOLGT BESTIMMEN:
  • TOPELCOUNT - (HIT) * 4
  • 2450 MERKER "OBERKANTE ERKANNT" = 0?
  • J RÜCKSPRUNG
  • M (MERKER "OBERKANTE ERKANNT" = 1)
  • Fig. 24C:
  • 2490 UNTERKANTENKLASSIFIZIERUNGSROUTINE
  • 2462 ZUGRIFF AUF DIE BEZEICHNETE HINTERKANTE FÜR DIE ABTASTZEILE (LCOUNT)
  • 2464 ERKANNTE HINTERKANTE NULL?
  • 2467 INHALT DES NICHTTREFFERZÄHLERS ERHÖHEN:
  • MISSEMISS + 1
  • 2469 MISS = 12?
  • 2472 MERKER "OBERKANTE ERKANNT" ZURÜCKSTELLEN, UM DEM SYSTEM DEN BEFEHL ZU ERTEILEN, EINE OBERKANTE ZU ENTDECKEN:
  • MERKER "OBERKANTE ERKANNT"E0
  • 2476 POSITION DER UNTERKANTE WIE FOLGT BESTIMMEN:
  • UNTERKANTEELCOUNT - (MISS) * 4
  • 2478 INHALT DES NICHTTREFFERZÄHLERS ZURÜCKSTELLEN
  • MISSE0
  • N AUSGANG

Claims (30)

1. In einem Bildverarbeitungssystem vorgesehene Vorrichtung zur Aufbereitung und Schwellenwertbildung eines Datenstroms von Mehrfachbit-Pixel-Eingangswerten zum Erzeugen von Pixel-Ausgangswerten, wobei die Pixel-Eingangswerte gemeinsam ein abgetastetes Bild bilden, gekennzeichnet durch
auf eine Vielzahl von Pixel-Eingangswerten ansprechende Mittel (44, 441, 445) zum Verarbeiten eines eine vorbestimmte Größe aufweisenden Fensters der Pixel-Eingangswerte innerhalb des Datenstroms, die um einen aktuellen Pixel-Eingangswert zentriert sind, mit einem entsprechenden Koeffizienten in einer Matrix (46) aus vorbestimmten Koeffizienten, um einen verarbeiteten Pixelwert zu erzeugen, wobei jeder Koeffizient einem unterschiedlichen Pixelwert innerhalb des Fensters entspricht,
Mittel (475) zum Bestimmen des Hintergrunds, die auf die Pixel-Eingangswerte ansprechen und einen Hintergrundwert erzeugen, der einen in den Pixel-Eingangswerten vorhandenen Hintergrundpegel bestimmt,
Mittel (473), die auf den Hintergrundwert und einen Rauschwert ansprechen und ein kombiniertes Fehlersignal erzeugen, das eine algebraische Kombination aus dem Hintergrund- und dem Rauschwert darstellt,
Mittel (455), die auf das Fehlersignal ansprechen und einen veränderlichen Vergleichspegel erzeugen,
Mittel (459), die auf den verarbeiteten Pixelwert und den veränderlichen Vergleichspegel ansprechen und den verarbeiteten Pixelwert mit dem veränderlichen Vergleichspegel vergleichen und einen mittels eines Schwellenwerts bestimmten Pixelwert bilden, der den Ergebnissen dieses Vergleichs entspricht, und
Rauschverarbeitungsmittel (463, 467), die auf den mittels eines Schwellenwerts bestimmten Pixelwert ansprechen und
(A) das Rauschen des mittels eines Schwellenwerts bestimmten Pixelwerts erkennen und filtern, das in diesem Pixelwert enthaltene Rauschen verarbeiten und dadurch unter Anwendung definiert abnehmender Funktionen Pixel für Pixel ein Signal erzeugen, das in den Mitteln (473) zum Erzeugen eines kombinierten Fehlersignals verwendbar ist, und
(B) einen entsprechenden Pixel-Ausgangswert erzeugen.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Rauschverarbeitungsmittel
Mittel aufweisen, die auf den einen mittels eines Schwellenwerts bestimmten Pixelwert ansprechen und sowohl den Pixel-Ausgangswert als auch ein Rauschsignal erzeugen, das das Vorhandensein des Rauschens anzeigt, und
Mittel umfaßt, die auf das Rauschsignal ansprechen und den Rauschwert erzeugen.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Mittel zum Erzeugen des Pixel-Ausgangswerts und des Rauschsignals
Mittel aufweisen, die ein sich bewegendes Fenster aus einer Vielzahl der mittels eines Schwellenwerts bestimmten Pixelwerte bilden,
Mittel umfassen, die auf das sich bewegende Fenster ansprechen und die das sich bewegende Fenster bildenden und mittels eines Schwellenwerts bestimmten Pixelwerte mit mindestens einem vorgegebenen Rauschpixelmuster vergleichen, um zu bestimmen, ob unter den das sich bewegende Fenster bildenden und mittels eines Schwellenwerts bestimmten Pixelwerten ein Pixelrauschen vorhanden ist, und die in Abhängigkeit davon das Rauschsignal erzeugen und den Wert eines aktuellen mittels eines Schwellenwerts bestimmten Pixelwerts so verändern, daß jedes darin vorhandene Rauschen entfernt wird, und
Mittel aufweisen, die den aktuellen mittels eines Schwellenwerts bestimmten Pixelwert als Pixel-Ausgangswert erzeugen.
4. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Mittel zum Erzeugen des Rauschwerts
Mittel umfassen, die auf das Rauschsignal ansprechen und einen Wert erzeugen, der der in den mittels eines Schwellenwerts bestimmten Pixelwerten vorkommenden zweidimensionalen Rauschgröße entspricht, wobei die zweidimensionale Rauschgröße einen Anteil aufweist, der der Rauschgröße in horizontaler Richtung zugeordnet werden kann.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die den Wert für die zweidimensionale Rauschgröße erzeugenden Mittel
Mittel aufweisen, die auf das Rauschsignal und eine erste vorherige Rauschgröße ansprechen und den Anteil als erste definierte Funktion des aktuellen mittels eines Schwellenwerts bestimmten Pixelwerts und der ersten vorherigen Rauschgröße erzeugen, wobei die erste vorherige Rauschgröße einem Wert der ersten definierten Funktion für einen entsprechenden mittels eines Schwellenwerts bestimmten Pixelwert entspricht, der sich in der vorangegangenen Abtastzeile befindet und unmittelbar über dem aktuellen mittels eines Schwellenwerts bestimmten Pixelwert liegt,
Mittel umfassen, die auf den Anteil ansprechen und diesen für einen entsprechenden, in einer vorangegangenen Abtastzeile befindlichen und unmittelbar über dem aktuellen mittels eines Schwellenwerts bestimmten Pixelwert liegenden und mittels eines Schwellenwerts bestimmten Pixelwert zuvor bestimmten Anteil um einen einer Abtastzeile entsprechenden Zeitabschnitt verzögern, um die erste vorherige Rauschgröße zu erzeugen,
Mittel aufweisen, die auf den ersten Anteil und eine zweite vorherige Rauschgröße ansprechen und die zweidimensionale Rauschgröße als zweite definierte Funktion des ersten Anteils und der zweiten vorherigen Rauschgröße erzeugen, wobei der zweite vorangegangene Ausgangswert einem Wert der zweiten definierten Funktion für ein auf der aktuellen Abtastzeile befindliches zuletzt vorangegangenes Pixel entspricht, und
Mittel umfassen, die auf die zweidimensionale Rauschgröße ansprechen und diese für das zuletzt vorangegangene Pixel bestimmte Größe um einen einem Pixelintervall entsprechenden Zeitabschnitt verzögern, um den zweiten vorangegangenen Ausgangswert zu erzeugen.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die erste und zweite definierte Funktion jeweils eine exponentiell abnehmende Funktion ist.
7. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Hintergrundbestimmungsmittel Mittel umfassen, die den Hintergrundwert in Abhängigkeit von einem aktuellen Eingangspixel und von Hintergrundwerten mindestens eines Pixels erzeugen, das neben dem aktuellen Eingangspixel liegt.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Hintergrundbestimmungsmittel Mittel aufweisen, die den Hintergrundwert in Abhängigkeit von einer vorgegebenen Funktion eines Wertes des aktuellen Eingangspixels (Pixelwert V), eines Hintergrundwertes eines vorangegangenen Eingangspixels (Hintergrundwert b), wobei sich dieses Pixel auf einer vorangegangenen Abtastzeile befindet und unmittelbar über dem Eingangspixel liegt, und eines Hintergrundwertes eines jüngeren Eingangspixels (Hintergrundwert c), wobei das jüngste Pixel sich auf einer aktuellen Abtastzeile befindet und neben dem aktuellen Eingangspixel liegt.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die vorgegebene Funktion bestimmt ist durch den Hintergrundwert V = min (b, c) - f [min (b, c) - V], wobei f eine definierte Funktion ist, die verzögerungsfrei reagiert, wenn sich der Wert des aktuellen Eingangspixels zu einem Hintergrundwert im abgetasteten Bild hin verändert, und die mit Verzögerung reagiert, wenn sich der Wert des aktuellen Eingangspixels zu Zeichendaten hin verändert.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die den Hintergrundwert erzeugenden Mittel
Mittel aufweisen, die auf die Hintergrundwerte b und c reagieren und dazwischen einen Minimalwert bestimmen,
Mittel umfassen, die in Abhängigkeit von dem Minimalwert und dem aktuellen Pixelwert (Pixelwert V) einen sich daraus ergebenden Wert bestimmen, der sich aus der vorgegebenen Funktion des Minimalwerts und des aktuellen Pixelwerts ergibt,
Mittel aufweisen, die den sich ergebenden Wert und den Minimalwert verbinden und daraus den Hintergrundwert für den aktuellen Pixelwert bilden,
Mittel umfassen, die auf den Hintergrundwert für den aktuellen Pixelwert reagieren und den zuvor für das auf einer vorangegangenen Abtastzeile und unmittelbar über dem Eingangspixel liegende Eingangspixel bestimmten Hintergrundwert um ein einer Abtastzeile entsprechendes Zeitintervall verzögern, um den Hintergrundwert b zu bilden, und
Mittel aufweisen, die auf den Hintergrundwert für den aktuellen Pixelwert reagieren und den zuvor für das auf einer aktuellen Abtastzeile und neben dem aktuellen Eingangspixel liegende jüngste Pixel bestimmten Hintergrundwert um ein einem Pixelintervall entsprechendes Zeitintervall verzögern, um den Hintergrundwert c zu bilden.
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Mittel, die den sich ergebenden Wert bestimmen, eine Suchtabelle aufweisen, die in Abhängigkeit von dem Minimalwert und dem aktuellen Pixelwert wirksam ist, um den sich ergebenden Wert zu bilden.
12. Vorrichtung nach Anspruch 2 oder 8, dadurch gekennzeichnet, daß
Mittel vorgesehen sind, die auf einen Datenstrom abgetasteter Pixelwerte reagieren, aus denen das abgetastete Bild zusammengesetzt ist und die von einem Scanner erzeugt werden, wobei die Mittel den Wert eines jeden Pixels im Datenstrom kompensieren, um die Charakteristik zu verändern, so daß ein Datenstrom kompensierter Pixelwerte erzeugt wird, und
Mittel vorgesehen sind, die aus dem Datenstrom kompensierter Pixelwerte einen gerad-/ungeradzahligen Mittelwert bilden, um den Datenstrom von Pixel-Eingangswerten zu erzeugen.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß die Kompensationsmittel
Mittel aufweisen, die jeden der abgetasteten Pixelwerte kompensieren, der die im Scanner erfolgenden Linearitätsunterschiede des abgetasteten Bildes kennzeichnet, um einen Datenstrom linearitätskorrigierter Pixelwerte zu erzeugen, und
Mittel umfassen, die jeden der linearitätskorrigierten Pixelwerte hinsichtlich mindestens einer Charakteristik eines verwendeten Speichermediums korrigieren, um die kompensierten Pixelwerte zu erzeugen.
14. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß Mittel vorgesehen sind, die auf den Datenstrom der Pixel- Eingangswerte ansprechen und den ursprünglichen Wert mindestens eines Pixels im Datenstrom zu ermitteln, um den ursprünglichen Pixelwert zu erzeugen.
15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die den Schwellenwertpegel bildenden Mittel
Mittel aufweisen, die in Abhängigkeit vom Fehlersignal und vom auf seinen ursprünglichen Wert zurückgeführten Pixelwert betätigbar sind und einen festen Pixelwert als veränderlichen Vergleichspegel erzeugen, der zum Bestimmen des Schwellenwerts des von den Verarbeitungsmitteln verarbeiteten Pixelwerts verwendet wird.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die Mittel zum Erzeugen der vorgegebenen Pixel eine Suchtabelle aufweisen, die in Abhängigkeit vom Fehlersignal und vom auf seinen ursprünglichen Wert zurückgeführten Pixelwert wirksam ist, um den vorgegebenen Pixelwert zu erzeugen.
17. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die das Fehlersignal erzeugenden Mittel mit Mitteln versehen sind, die das Fehlersignal als algebraische Kombination aus dem von den Hintergrundbestimmungsmittel erzeugten Hintergrundwert und dem von den Rauschverarbeitungsmitteln erzeugten Rauschpegel erzeugen.
18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß die Vergleichsmittel mit Mitteln versehen sind, die einen Einbit-Pixelwert für den Ausgangspixel erzeugen.
19. In einem Bildverarbeitungssystem vorgesehenes Verfahren zur Aufbereitung und Schwellenwertbildung eines Datenstroms von Mehrfachbit-Pixel-Eingangswerten zum Erzeugen von Pixel-Ausgangswerten, wobei die Pixel-Eingangswerte gemeinsam ein abgetastetes Bild bilden, dadurch gekennzeichnet, daß
jeweils ein eine vorbestimmte Größe aufweisendes Fenster der Pixel-Eingangswerte innerhalb des Datenstroms, die um einen aktuellen Pixel-Eingangswert zentriert sind, mit einem entsprechenden Koeffizienten in einer Matrix (46) aus vorbestimmten Koeffizienten verarbeitet wird, um einen verarbeiteten Pixelwert zu erzeugen, wobei jeder Koeffizient einem unterschiedlichen Pixelwert innerhalb des Fensters entspricht,
ein Hintergrundwert erzeugt wird, der einen in den Pixel-Eingangswerten vorhandenen Hintergrundpegel bestimmt,
in Abhängigkeit von dem Hintergrundwert und einem Rauschwert ein kombiniertes Fehlersignal durch eine algebraische Kombination aus dem Hintergrund- und dem Rauschwert erzeugt wird,
in Abhängigkeit von dem Fehlersignal ein veränderlicher Vergleichspegel erzeugt wird,
der verarbeitete Pixelwert und der veränderliche Vergleichspegel miteinander verglichen werden, um einen mittels eines Schwellenwerts bestimmten Pixelwert zu bilden, der den Ergebnissen dieses Vergleichs entspricht, und daß
beim Verarbeiten des Rauschens
(A) das Rauschen des mittels eines Schwellenwerts bestimmten Pixelwerts erkannt und gefiltert und das in diesem Pixelwert enthaltene Rauschen verarbeitet wird, wodurch unter Anwendung definiert abnehmender Funktionen Pixel für Pixel ein Signal erzeugt wird, das zum Erzeugen eines kombinierten Fehlersignals verwendbar ist, und
(B) ein entsprechender Pixel-Ausgangswert erzeugt wird.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß beim Verarbeiten des Rauschens
in Abhängigkeit von dem mittels eines Schwellenwerts bestimmten Pixelwert sowohl der Pixel-Ausgangswert als auch ein Rauschsignal erzeugt wird, das das Vorhandensein des Rauschens anzeigt, und
in Abhängigkeit von dem Rauschsignal der Rauschwert erzeugt wird.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß beim Erzeugen des Pixel-Ausgangswerts und des Rauschsignals
ein sich bewegendes Fenster aus einer Vielzahl der mittels eines Schwellenwerts bestimmten Pixelwerte gebildet wird,
die das sich bewegende Fenster bildenden und mittels eines Schwellenwerts bestimmten Pixelwerte mit mindestens einem vorgegebenen Rauschpixelmuster verglichen werden, um zu bestimmen, ob unter den das sich bewegende Fenster bildenden und mittels eines Schwellenwerts bestimmten Pixelwerten ein Pixelrauschen vorhanden ist, und in Abhängigkeit davon das Rauschsignal erzeugt wird, um den Wert eines aktuellen mittels eines Schwellenwerts bestimmten Pixelwerts so zu verändern, daß jedes darin vorhandene Rauschen entfernt wird, und
der aktuelle mittels eines Schwellenwerts bestimmte Pixelwert als Pixel-Ausgangswert erzeugt wird.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß beim Erzeugen des Rauschwerts
in Abhängigkeit vom Rauschsignal ein Wert erzeugt wird, der der in den mittels eines Schwellenwerts bestimmten Pixelwerten vorkommenden zweidimensionalen Rauschgröße entspricht, wobei die zweidimensionale Rauschgröße einen Anteil aufweist, der der Rauschgröße in horizontaler Richtung zugeordnet werden kann.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß beim Erzeugen der zweidimensionalen Rauschgröße
in Abhängigkeit vom Rauschsignal und einer ersten vorherigen Rauschgröße der Anteil als erste definierte Funktion des aktuellen mittels eines Schwellenwerts bestimmten Pixelwerts und der ersten vorherigen Rauschgröße erzeugt wird, wobei die erste vorherige Rauschgröße einem Wert der ersten definierten Funktion für einen entsprechenden mittels eines Schwellenwerts bestimmten Pixelwert entspricht, der sich in der vorangegangenen Abtastzeile befindet und unmittelbar über dem aktuellen mittels eines Schwellenwerts bestimmten Pixelwert liegt,
der zuvor für einen entsprechenden mittels eines Schwellenwerts bestimmten, sich in der vorangegangenen Abtastzeile befindenden und unmittelbar über dem aktuellen mittels eines Schwellenwerts bestimmten Pixel liegenden Pixelwert bestimmte Anteil über einen einer Abtastzeile entsprechenden Zeitabschnitt verzögert wird, um die erste vorherige Rauschgröße zu erzeugen,
in Abhängigkeit von dem ersten Anteil und einer zweiten vorherigen Rauschgröße die zweidimensionale Rauschgröße als zweite definierte Funktion des ersten Anteils und der zweiten vorherigen Rauschgröße erzeugt wird, wobei der zweite vorangegangene Ausgangswert einem Wert der zweiten definierten Funktion für ein auf der aktuellen Abtastzeile befindliches zuletzt vorangegangenes Pixel entspricht, und
die zuvor für das zuletzt vorangegangene Pixel bestimmte zweidimensionale Rauschgröße über einen einem Pixelintervall entsprechenden Zeitabschnitt verzögert wird, um den zweiten vorangegangenen Ausgangswert zu erzeugen.
24. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß beim Erzeugen des Hintergrundwerts
dieser Wert in Abhängigkeit von einer vorgegebenen Funktion eines Wertes des aktuellen Eingangspixels (Pixelwert V), eines Hintergrundwertes eines vorangegangenen Eingangspixels (Hintergrundwert b), welches sich auf einer vorangegangenen Abtastzeile befindet und unmittelbar über dem Eingangspixel liegt, und eines Hintergrundwertes eines jüngeren Eingangspixels (Hintergrundwert c) erzeugt wird, wobei das jüngste Pixel sich auf einer aktuellen Abtastzeile befindet und neben dem aktuellen Eingangspixel liegt, und
die vorgegebene Funktion bestimmt wird durch den Hintergrundwert V = min (b, c) - f [min (b, c) - V], wobei f eine definierte Funktion ist, die verzögerungsfrei reagiert, wenn sich der Wert des aktuellen Eingangspixels zu einem Hintergrundwert im abgetasteten Bild hin verändert, und die mit Verzögerung reagiert, wenn sich der Wert des aktuellen Eingangspixels zu Zeichendaten hin verändert.
25. Verfahren nach Anspruch 24, dadurch gekennzeichnet, daß beim Erzeugen des Hintergrundwerts
in Abhängigkeit von den Hintergrundwerten b und c ein Minimalwert bestimmt wird,
in Abhängigkeit vom Minimalwert und dem aktuellen Pixelwert (Pixelwert V) ein sich daraus ergebender Wert bestimmt wird, der sich aus der vorgegebenen Funktion des Minimalwerts und des aktuellen Pixelwerts ergibt,
der sich ergebende Wert und der Minimalwert kombiniert werden, damit der Hintergrundwert für den aktuellen Pixelwert entsteht,
ein zuvor für das auf einer vorangegangenen Abtastzeile befindliche und unmittelbar über dem Eingangspixel liegende vorangegangene Eingangspixel bestimmter Hintergrundwert um ein einer Abtastzeile entsprechendes Zeit intervall verzögert wird, um den Hintergrundwert b zu bilden, und
ein zuvor für das auf einer aktuellen Abtastzeile befindliche und neben dem Eingangspixel liegende jüngste Pixel bestimmter Hintergrundwert um ein einem Pixelintervall entsprechendes Zeitintervall verzögert wird, um den Hintergrundwert c zu bilden.
26. Verfahren nach Anspruch 20 oder 24, dadurch gekennzeichnet, daß
der Wert eines jeden Pixels innerhalb des Datenstroms im abgetasteten Bild kompensiert wird, um die Charakteristik zu verändern, so daß ein Datenstrom kompensierter Pixelwerte erzeugt wird, und
aus dem Datenstrom kompensierter Pixelwerte ein gerad-/ungeradzahliger Mittelwert gebildet wird, um den Datenstrom von Pixel-Eingangswerten zu erzeugen.
27. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß beim Kompensieren
jeder der abgetasteten pixelwerte kompensiert wird, der die im Scanner erfolgenden Linearitätsunterschiede des abgetasteten Bildes kennzeichnet, um einen Datenstrom linearitätskorrigierter Pixelwerte zu erzeugen, und
jeder der linearitätskorrigierten Pixelwerte hinsichtlich mindestens einer Charakteristik eines verwendeten Speichermediums korrigiert wird, um die kompensierten pixelwerte zu erzeugen.
28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß in Abhängigkeit vom Datenstrom der Pixel-Eingangswerte der ursprüngliche Wert mindestens eines Pixels im Datenstrom ermittelt wird, um einen ursprünglichen Pixelwert zu erzeugen.
29. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß beim Erzeugen des Schwellenwertpegels in Abhängigkeit vom Fehlersignal und vom auf seinen ursprünglichen Wert zurückgeführten Pixelwert ein fester Pixelwert als veränderlicher Vergleichspegel erzeugt wird, der zum Bestimmen des Schwellenwerts des von den Verarbeitungsmitteln verarbeiteten Pixelwerts verwendet wird.
30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß beim Erzeugen des Fehlersignals dieses Signal als algebraische Kombination aus dem von den Hintergrundbestimmungsmittel erzeugten Hintergrundwert und dem von den Rauschverarbeitungsmitteln erzeugten Rauschpegel erzeugt wird.
DE3852134T 1987-07-24 1988-07-14 Vorrichtung und verfahren zur aufbereitung von abgetasteten mikrofilmbildern. Expired - Fee Related DE3852134T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/077,529 US4982294A (en) 1987-07-24 1987-07-24 Apparatus for enhancing and thresholding scanned microfilm images and methods for use therein
PCT/US1988/002348 WO1989001205A1 (en) 1987-07-24 1988-07-14 Apparatus for enhancing and thresholding scanned microfilm images and methods for use therein

Publications (2)

Publication Number Publication Date
DE3852134D1 DE3852134D1 (de) 1994-12-22
DE3852134T2 true DE3852134T2 (de) 1995-06-01

Family

ID=22138609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852134T Expired - Fee Related DE3852134T2 (de) 1987-07-24 1988-07-14 Vorrichtung und verfahren zur aufbereitung von abgetasteten mikrofilmbildern.

Country Status (5)

Country Link
US (1) US4982294A (de)
EP (1) EP0371055B1 (de)
JP (1) JP2577075B2 (de)
DE (1) DE3852134T2 (de)
WO (1) WO1989001205A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5424537A (en) * 1990-08-13 1995-06-13 Howtek, Inc. Calibrated color scanner
JPH05244419A (ja) * 1991-11-25 1993-09-21 Eastman Kodak Co 2階調適応閾値を決定するシステムおよび方法
US5360968A (en) * 1992-01-17 1994-11-01 Eastman Kodak Company "Consensus sync" data-sampling systems and methods
JPH05336365A (ja) * 1992-05-28 1993-12-17 Canon Inc 画像形成装置
JP2967011B2 (ja) * 1992-12-28 1999-10-25 キヤノン株式会社 画像処理方法及び装置
US5404232A (en) * 1993-10-04 1995-04-04 Xerox Corporation Calibration system for a raster input scanner
JP3291694B2 (ja) * 1994-04-25 2002-06-10 富士写真フイルム株式会社 ネガ撮像装置におけるノイズ除去回路
US5587728A (en) * 1994-04-29 1996-12-24 International Business Machines Corporation Optical feedback printer
KR0136067B1 (ko) * 1994-08-12 1998-04-27 김광호 이치화상 프로세서
JPH08289305A (ja) * 1995-04-14 1996-11-01 Philips Japan Ltd 画像データ圧縮/伸張システム
JPH096957A (ja) * 1995-06-23 1997-01-10 Toshiba Corp 濃度画像の2値化方法および画像2値化装置
US5940536A (en) * 1995-09-05 1999-08-17 Matsushita Electric Industrial Co., Ltd. Ringing detector and filter
JPH0983790A (ja) * 1995-09-07 1997-03-28 Canon Inc 二値化処理装置
US5790260A (en) * 1995-11-08 1998-08-04 Financial Ware, Inc. Offline digitizing of items for subsequent image processing
US5914748A (en) * 1996-08-30 1999-06-22 Eastman Kodak Company Method and apparatus for generating a composite image using the difference of two images
US5815606A (en) * 1996-12-23 1998-09-29 Pitney Bowes Inc. Method for thresholding a gray scale matrix
US6400468B1 (en) * 1998-03-31 2002-06-04 International Business Machines Corporation Smoothing calibration files to improve reproduction of digitized images
US6631215B1 (en) * 1999-11-23 2003-10-07 Xerox Corporation Method and apparatus for implementing integrated cavity effect correction in scanners
US7417648B2 (en) * 2002-01-07 2008-08-26 Samsung Electronics Co. Ltd., Color flat panel display sub-pixel arrangements and layouts for sub-pixel rendering with split blue sub-pixels
US6970606B2 (en) * 2002-01-16 2005-11-29 Eastman Kodak Company Automatic image quality evaluation and correction technique for digitized and thresholded document images
JP2003348336A (ja) * 2002-05-24 2003-12-05 Canon Inc 画像処理方法及び装置
US20060098228A1 (en) * 2004-11-09 2006-05-11 Eastman Kodak Company Real time frame detection in a film scanner
JP2007038477A (ja) * 2005-08-02 2007-02-15 Ricoh Co Ltd 画素クロック及びパルス変調信号生成装置、光走査装置及び画像形成装置
JP4712497B2 (ja) * 2005-09-15 2011-06-29 ローム株式会社 フィルタ回路、並びに、これを用いたイメージセンサ、イメージセンサモジュール、画像読取装置
JP4960309B2 (ja) * 2008-06-17 2012-06-27 株式会社東芝 固体撮像装置
JP5868090B2 (ja) 2011-09-20 2016-02-24 三菱電機株式会社 画像処理装置、画像処理方法、撮像装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
US9117263B2 (en) * 2012-05-03 2015-08-25 Qualcomm Incorporated Noise removal from images containing text

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2855513A (en) * 1955-11-30 1958-10-07 Ibm Clipping circuit with clipping level automatically set by average input level
US3394222A (en) * 1963-12-11 1968-07-23 Xerox Corp Facsimile communication system
US3443026A (en) * 1963-12-11 1969-05-06 Xerox Corp Background compensator for facsimile communication system
US3472958A (en) * 1966-08-01 1969-10-14 Xerox Corp Facsimile system
US3515803A (en) * 1967-06-28 1970-06-02 Magnavox Co Contrast range control
US3737854A (en) * 1971-09-08 1973-06-05 A Klemt Method of classifying characters wherein the effects of variations in contrast between a presented character and its background and variations in background brightness are reduced, and the apparatus therefor
US3737855A (en) * 1971-09-30 1973-06-05 Ibm Character video enhancement system
US3800078A (en) * 1972-12-18 1974-03-26 Ibm Digitally compensated scanning system
US4162481A (en) * 1976-12-22 1979-07-24 Recognition Equipment Incorporated Adaptive correlator for video processing
US4573070A (en) * 1977-01-31 1986-02-25 Cooper J Carl Noise reduction system for video signals
US4258394A (en) * 1977-08-26 1981-03-24 Westinghouse Electric Corp. Digital circuit for accurately detecting changes in the gray scale of a scanned image
JPS5527787A (en) * 1978-08-19 1980-02-28 Ricoh Co Ltd Picture noise processing method
FR2437125A1 (fr) * 1978-09-21 1980-04-18 Cit Alcatel Dispositif de traitement d'un signal d'analyse d'image
JPS5566174A (en) * 1978-11-13 1980-05-19 Ricoh Co Ltd Reproducer of gradation picture
US4194221A (en) * 1978-12-26 1980-03-18 Xerox Corporation Automatic multimode continuous halftone line copy reproduction
US4491964A (en) * 1979-04-23 1985-01-01 Recognition Equipment Incorporated Image processing integrated circuit
US4351004A (en) * 1980-01-31 1982-09-21 Texas Instruments Incorporated CCD Imager
JPS5746573A (en) * 1980-09-04 1982-03-17 Ricoh Co Ltd Picture signal processing device
US4345314A (en) * 1980-11-19 1982-08-17 International Business Machines Corporation Dynamic threshold device
US4389677A (en) * 1980-12-08 1983-06-21 Ncr Canada Ltd - Ncr Canada Ltee Method and apparatus for removing erroneous elements from digital images
US4554593A (en) * 1981-01-02 1985-11-19 International Business Machines Corporation Universal thresholder/discriminator
US4408343A (en) * 1981-02-27 1983-10-04 Burroughs Corporation Image enhancement for optical character readers
JPS57178486A (en) * 1981-04-25 1982-11-02 Nippon Kogaku Kk <Nikon> Smoothing device for binary image signal
US4442544A (en) * 1981-07-09 1984-04-10 Xerox Corporation Adaptive thresholder
JPS5817778A (ja) * 1981-07-24 1983-02-02 Fuji Xerox Co Ltd 2値化方式
US4430748A (en) * 1981-09-21 1984-02-07 Xerox Corporation Image thresholding system
JPS5873280A (ja) * 1981-10-27 1983-05-02 Hitachi Ltd 信号2値化処理装置
US4400738A (en) * 1981-10-30 1983-08-23 Xerox Corporation Image signal processing method and apparatus
NL8105256A (nl) * 1981-11-20 1983-06-16 Philips Nv Inrichting voor het dynamisch instellen van een discriminatiedrempel zwart/wit bij het bewerken van beelden met grijsheidswaarden.
JPS5896458A (ja) * 1981-12-04 1983-06-08 Fuji Xerox Co Ltd 2値化方式
US4520505A (en) * 1981-12-23 1985-05-28 Mitsubishi Denki Kabushiki Kaisha Character reading device
EP0082236B1 (de) * 1981-12-23 1986-03-12 International Business Machines Corporation Zeichenerkennungsverfahren für einen optischen Dokumentenleser
US4575768A (en) * 1982-03-18 1986-03-11 Ricoh Company, Ltd. Conversion to a two-valued video signal
JPS58172061A (ja) * 1982-04-02 1983-10-08 Nippon Telegr & Teleph Corp <Ntt> 信号処理装置
JPS58202666A (ja) * 1982-05-21 1983-11-25 Ricoh Co Ltd 2値化方式
US4468704A (en) * 1982-10-28 1984-08-28 Xerox Corporation Adaptive thresholder
US4532548A (en) * 1983-01-27 1985-07-30 Hughes Aircraft Company Resolution enhancement and zoom
US4562470A (en) * 1983-04-07 1985-12-31 Centre De Recherche Industrielle Du Quebec Electrical noise reducer for T.V. signals
DE3317465A1 (de) * 1983-05-13 1984-11-15 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur erzeugung eines saegezahnfoermigen ablenkstromes
US4550435A (en) * 1983-06-07 1985-10-29 Rca Corporation Multilevel thresholding for target tracking apparatus
US4573075A (en) * 1983-06-24 1986-02-25 Rca Corporation Digital signal coring apparatus with controllable coring threshold level
US4674126A (en) * 1983-09-12 1987-06-16 Canon Kabushiki Kaisha Image signal processing apparatus
IL70213A (en) * 1983-11-13 1988-02-29 Paul Fenster Digital fluorographic image enhancement system
JPS60113582A (ja) * 1983-11-24 1985-06-20 Ricoh Co Ltd 中間調画像処理方法
JPS60124173A (ja) * 1983-12-09 1985-07-03 Canon Inc 画像処理装置
US4625330A (en) * 1983-12-19 1986-11-25 Ncr Corporation Video enhancement system
US4561104A (en) * 1984-01-16 1985-12-24 Honeywell Inc. Automated inspection of hot steel slabs
JPH0632072B2 (ja) * 1984-02-09 1994-04-27 日本電気株式会社 多値パタ−ン信号のスライス回路
US4613986A (en) * 1984-06-14 1986-09-23 Ncr Canada Ltd. Digital filter for enhancement of document images
US4593325A (en) * 1984-08-20 1986-06-03 The Mead Corporation Adaptive threshold document duplication
US4577235A (en) * 1984-08-20 1986-03-18 The Mead Corporation Text/continuous tone image decision processor
JPH0636602B2 (ja) * 1984-09-21 1994-05-11 株式会社日立製作所 雑音低減回路

Also Published As

Publication number Publication date
WO1989001205A1 (en) 1989-02-09
DE3852134D1 (de) 1994-12-22
US4982294A (en) 1991-01-01
EP0371055B1 (de) 1994-11-17
JP2577075B2 (ja) 1997-01-29
EP0371055A1 (de) 1990-06-06
JPH02504324A (ja) 1990-12-06

Similar Documents

Publication Publication Date Title
DE3852134T2 (de) Vorrichtung und verfahren zur aufbereitung von abgetasteten mikrofilmbildern.
DE3876090T2 (de) Apparat und verfahren zum lokalisieren von raendern und vorlagengrenzlinien in videoabtastzeilen.
DE69228921T2 (de) Verfahren und programmierbares Gerät zur Bestimmung des Hintergrundpegels eines Dokuments
DE69028946T2 (de) Verfahren zur adaptiven Schärfung elektronischer Bilder
DE69103408T2 (de) Technik zur durchführung einer digitalen bildskalierung durch logisches zusammensetzen oder vervielfältigen von pixeln in blöcken von unterschiedlichen gruppengrössen.
DE69836540T2 (de) Verfahren und vorrichtung zur ausführung von bildverbesserungen
DE69914669T2 (de) Entfernung von Hintergrundsrausch für einen preiswerten digitalen Farbkopierer
DE69412035T2 (de) Kaskadenartige Bildverarbeitung mit Histogrammvorhersage
DE3881392T2 (de) System und Verfahren für automatische Segmentierung.
DE3546135C2 (de)
DE2948341A1 (de) Verfahren zum verarbeiten von bildelementen und vorrichtung zum verarbeiten einer bilddatenreihe
DE68928999T2 (de) Kamera mit breitem dynamischem bereich
DE69318876T2 (de) System und Verfahren zur Umwandlung von Halbtonbildern in Bilder mit kontinuierlichen Tönen
DE69031769T2 (de) Bildverarbeitungsgerät
DE3444701C2 (de)
DE3586507T2 (de) Bildverarbeitungssystem.
DE3686862T2 (de) Bildverarbeitungsverfahren.
DE69111660T2 (de) Bildlesevorrichtung und Verfahren zur Verbesserung von Formumrissen.
DE69718566T2 (de) Verfahren zum Komprimieren von Zwei-Pegeldaten
DE3225415A1 (de) Bildaufzeichnungsverfahren und -vorrichtung
DE69020622T2 (de) Bildverarbeitungsgerät.
DE3640369C2 (de)
DE69125869T2 (de) Gradationskorrekturvorrichtung
DE2757456A1 (de) Korrelator fuer videoverarbeitung
DE69229085T2 (de) System zur Bildverarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee