DE3629984A1 - Bildverarbeitungsverfahren und -geraet - Google Patents

Bildverarbeitungsverfahren und -geraet

Info

Publication number
DE3629984A1
DE3629984A1 DE19863629984 DE3629984A DE3629984A1 DE 3629984 A1 DE3629984 A1 DE 3629984A1 DE 19863629984 DE19863629984 DE 19863629984 DE 3629984 A DE3629984 A DE 3629984A DE 3629984 A1 DE3629984 A1 DE 3629984A1
Authority
DE
Germany
Prior art keywords
image
data
image processing
address
output
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.)
Granted
Application number
DE19863629984
Other languages
English (en)
Other versions
DE3629984C2 (de
Inventor
Naoto Kawamura
Miyuki Enokida
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP60196188A external-priority patent/JPS6256075A/ja
Priority claimed from JP60196186A external-priority patent/JPS6256073A/ja
Priority claimed from JP60196187A external-priority patent/JPS6256074A/ja
Priority claimed from JP60233032A external-priority patent/JPH0777416B2/ja
Priority claimed from JP60269881A external-priority patent/JPS62128374A/ja
Priority claimed from JP60281624A external-priority patent/JPS62139084A/ja
Priority claimed from JP60281625A external-priority patent/JPS62139085A/ja
Priority claimed from JP60281621A external-priority patent/JPS62139082A/ja
Priority claimed from JP60287111A external-priority patent/JPS62145482A/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE3629984A1 publication Critical patent/DE3629984A1/de
Publication of DE3629984C2 publication Critical patent/DE3629984C2/de
Application granted granted Critical
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T3/606Rotation by memory addressing or mapping

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

Die Erfindung bezieht sich auf ein Bildverarbeitungsverfahren zur Drehung oder Größenänderung eines Bildes sowie auf ein Gerät zur Durchführung des Verfahrens.
Bei einem herkömmlichen Gerät zur Drehung, Vergrößerung oder Verkleinerung eines digitalen Bildes wird die hierzu notwendige Verarbeitung durchgeführt, nachdem die Eingangs-Bilddaten einmal in einem Speicher gespeichert sind. Die Informationsmenge des eingegeben Bildes ist gewöhnlich größer als die der verarbeiteten Bilddaten, weshalb die Speicherung ersterer einen größeren Speicher erfordert als die Speicherung letzterer. Das Verfahren, eine Eingabe-Bildinformation in einem Speicher zu speichern, ist daher bezüglich der Speicherkosten und des Schaltungsaufwands einem Verfahren unterlegen, bei dem die Eingangsdaten synchron mit einem Synchronisiersignal verarbeitet und die verarbeiteten Daten aufeinanderfolgend in einem Ausgabespeicher gespeichert werden.
Das Verfahren, die Eingangs-Bilddaten zur Bildrotation bzw. -drehung, Vergrößerung oder Verkleinerung synchron mit einem Synchronisiersignal aufeinanderfolgend zu verarbeiten, hat demgegenüber den Nachteil einer Bildqualitätsverschlechterung, da die verarbeiteten Daten manchmal nicht mit dem gewünschten Abstand bzw. Bildelementabstand der Ausgangssignale synchronisiert sind, was einen Verlust an Bilddaten oder eine Fehlausrichtung des Bildes zur Folge hat. Die Fig. 1A und 1B zeigen ein Beispiel hierfür, wobei Fig. 1A den Bildelementabstand eines Originalbildes zeigt, während in Fig. 1B der Bildelementabstand eines Ausgabebildes mit unterbrochenen Linien und der eines durch eine Drehung des Originalbildes um 35° mit durchgezogenen Linien angegeben ist. Jedes Rechteck entspricht einem Bildelement, wobei der Wert jedes Bildelements des gedrehten Bildes einem Ausgabebildelement oder unterbrochen liniertem Rechteck übergeben wird, in dem sich das Zentrum des gedrehten Bildelements befindet. Bei einer derartigen Bildverarbeitung werden die schraffierten Bildelemente zu fehlenden Bildelementen, die keinen entsprechenden Bilddatenwert haben. Fig. 1C zeigt ähnlich fehlende Bildelemente bei einer Bildverarbeitung, die aus einer Drehung um 38° und einer damit kombinierten Bildgrößenänderung um 80% in der Haupt-Abtastrichtung und um 120% in der Unter-Abtastrichtung besteht.
Bei einem derartigen herkömmlichen Gerät wird darüber hinaus z. B. bei einer in Fig. 1D gezeigten Bilddrehung um 30° die Ausgabe des verarbeiteten Ergebnisbildes bei einem Bildelement in einer Zeile 215 in der Unter-Abtastrichtung des Originalbildes begonnen, wobei die Adressen von Bildelementen 212 und 213 zum Starten der Ausgabe des verarbeiteten Bildes durch komplizierte Berechnungen erhalten werden. Wenn dieses Verfahren bei einem Gerät angewandt wird, das eine hohe Bildqualität wie bei einer Farbbildverarbeitung oder eine hohe Geschwindigkeit erfordert, wird daher entweder eine aufwendige Hardware zur Durchführung dieses Verfahrens benötigt oder es tritt unter Umständen eine Verschlechterung der Bildqualität auf.
Der Erfindung liegt die Aufgabe zugrunde, unter Ausschaltung dieser Nachteile des Stands der Technik ein Bildverarbeitungsverfahren und ein Gerät zu dessen Durchführung zu schaffen, mit dem eine Bilddrehung oder Bildgrößenänderung an abgetasteten Eingabebilddaten (Quelldaten) in aufeinanderfolgender Weise synchron mit einem Abtast-Synchronisiersignal durchführbar ist.
Weiterhin soll mit der Erfindung ein Bildverarbeitungsverfahren und ein Gerät zu dessen Durchführung geschaffen werden, mit dem bei einer Bilddrehung oder Bildgrößenänderung an Eingabebilddaten in aufeinanderfolgender Weise ein Ausgabebild erzielbar ist, bei dem keine Bildelemente fehlen oder Bildelemente fehlausgerichtet sind.
Darüber hinaus soll mit der Erfindung ein Bildverarbeitungsverfahren und ein Gerät zu dessen Durchführung geschaffen werden, mit dem eine Bilddrehung um einen beliebigen Winkel durchführbar ist.
Schließlich soll mit der Erfindung ein Bildverarbeitungsverfahren und ein Gerät zu dessen Durchführung geschaffen werden, mit dem eine Verschlechterung der Bildqualität bei einer Bilddrehung oder Bildgrößenänderung vermeidbar ist.
Die Erfindung wird nachstehend anhand der Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher erläutert. Es zeigen:
Fig. 1A, 1B, 1C und 1D schematisch dem Stand der Technik anhaftende Nachteile,
Fig. 2 in einem Blockschaltbild ein erstes Ausführungsbeispiel der Erfindung,
Fig. 3A ein Blockschaltbild einer vorderen Hälfte dieses Ausführungsbeispiels,
Fig. 3B ein Blockschaltbild einer hinteren Hälfte dieses Ausführungsbeispiels,
Fig. 4 ein detaillierteres Blockschaltbild einer in Fig. 3A gezeigten Schaltung zur Berechnung von Koordinaten nach einer Drehung,
Fig. 5A und 5B ein detaillierteres Blockschaltbild einer in Fig. 3A gezeigten Schaltung zur Erfassung eines Innenflächen-Gitterpunkts,
Fig. 5C ein Impulsdiagramm eines Haupt-Abtastsynchronisiersignals und eines Haupt-Abtastablauf-Synchronisiersignals,
Fig. 5D ein Impulsdiagramm des Haupt-Abtastsynchronisiersignals und eines Unter-Abtastablauf-Synchronisiersignals,
Fig. 6 ein detaillierteres Blockschaltbild einer in Fig. 3B gezeigten Koordinaten-Ivertierungsschaltung,
Fig. 7 ein detaillierteres Blockschaltbild einer in Fig. 3B gezeigten Interpolationsschaltung,
Fig. 8 schematisch einen Bild-Abtastzustand,
Fig. 9 ein Impulsdiagramm eines Seiten-Synchronisiersignals und eines Unter-Abtastsynchronisiersignals,
Fig. 10 ein Impulsdiagramm eines Unter-Abtastsynchronisiersignals und eines Haupt-Abtastsynchronisiersignals,
Fig. 11A schematisch einen Rasterspeicher,
Fig. 11B und 11C schematisch die Beziehung des Rasterspeichers zu abgetasteten Daten,
Fig. 12 einen Interpolationszustand,
Fig. 13A, 13B und 13C ein Verfahren zum Erzielen von interpolierten Ausgangsbilddaten aus abgetasteten Eingangsbilddaten, die einer Bilddrehung und Bildgrößenänderung unterzogen worden sind,
Fig. 14 in einem Blockschaltbild eine Abwandlungsform der in Fig. 5A gezeigten Schaltung,
Fig. 15A und 15B Blockschaltbilder einer Abwandlungsform des ersten Ausführungsbeispiels,
Fig. 16 ein Blockschaltbild einer in Fig. 15A Schaltung 22′ zur Koordinatenberechnung nach einer Drehung,
Fig. 17 ein detailliertes Blockschaltbild einer in Fig. 15A gezeigten Gitterpunkt-Berechnungsschaltung 24′,
Fig. 18 ein detailliertes Blockschaltbild einer in Fig. 15B gezeigten Koordinaten-Inverierungsschaltung 28′,
Fig. 19A, 19B und 19C schematisch die Beziehung zwischen einem Rasterspeicher und abgetasteten Daten,
Fig. 20A und 20B die Art der Interpolation,
Fig. 21A, 21B und 21C schematisch ein Verfahren zum Erzielen von interpolierten Ausgangsbilddaten aus abgetasteten Eingangsbilddaten, die einer Bilddrehung unterzogen worden sind,
Fig. 22A und 22B Blockschaltbilder einer zweiten Abwandlungsform des ersten Ausführungsbeispiels,
Fig. 23 ein detailliertes Blockschaltbild einer in Fig. 22A gezeigten Koordinaten-Berechnungsschaltung 22″,
Fig. 24A und 24B detaillierte Blockschaltbilder einer in Fig. 22A gezeigten Gitterpunkt-Berechnungsschaltung 24″,
Fig. 25 ein detailliertes Blockschaltbild einer in Fig. 22B gezeigten Koordinaten-Umsetzungsschaltung 28″,
Fig. 26A, 26B und 26C schematisch ein Verfahren gemäß der zweiten Abwandlungsform zum Erzielen von interpolierten Ausgangsbilddaten aus abgetasteten Eingangsbilddaten, die einer Bilddrehung oder Bildgrößenänderung unterzogen worden sind,
Fig. 27 ein Blockschaltbild einer Abwandlungsform der in Fig. 24A gezeigten Schaltung,
Fig. 28A, 28B und 28C schematisch einen Vergleich der Dichte in Ausgabe-Gitterpunkten des Standes der Technik mit der dieses Ausführungsbeispiels,
Fig. 29 ein Blockschaltbild einer vorderen Hälfte einer Adressengeneratorschaltung dieses Ausführungsbeispiels,
Fig. 30 ein Impulsdiagramm von Signalen der Schaltung gemäß Fig. 29,
Fig. 31 ein Blockschaltbild einer hinteren Hälfte der Adressengeneratorschaltung,
Fig. 32 ein Impulsdiagramm von Signalen der Schaltung gemäß Fig. 31,
Fig. 33 schematisch ein Verfahren zur gewichteten Durchschnittsbildung,
Fig. 34 ein schematisches Blockschaltbild eines Bildverarbeitungsgeräts,
Fig. 35 schematisch das Verfahren der gewichteten Durchschnittsbildung bei diesem Bildverarbeitungsgerät,
Fig. 36 ein Diagramm einer mittels der in Fig. 29 gezeigten Schaltung erhaltenen approximierten linearen Trajektorie,
Fig. 37 ein schematisches Blockschaltbild einer Ausführungsform einer Umsetzungsschaltung der Fig. 35
Fig. 38A und 38B ein Diagramm und eine Tabelle zur Erläuterung einer Koordinatenumsetzung,
Fig. 39 ein Blockschaltbild eines zweiten Ausführungsbeispiels der Erfindung, mit die Adressen von Anfangsbildelementen bestimmbar sind,
Fig. 40 in vergrößerter Form die Trajektorie von Anfangsbildelementen,
Fig. 41 schematisch ein Verfahren zur Bestimmung einer Startadresse,
Fig. 42 ein Blockschaltbild einer Schaltung zur Bestimmung einer Zeile in der Haupt-Abtastrichtung des verarbeiteten Bildes,
Fig. 43 schematisch ein Verfahren zur Bestimmung der Adressen von Anfangsbildelementen,
Fig. 44 die Trajektorie von nach dem Verfahren gemäß Fig. 43 erhaltenen Anfangsbildelementen,
Fig. 45 ein Blockschaltbild des Gesamtgeräts,
Fig. 46 Abtastrichtungen eines Bildes,
Fig. 47 schematisch die Beziehung von Eingangs- zu Ausgangsdaten bei einer Bildvergrößerung oder -verkleinerung,
Fig. 48 ein Blockschaltbild einer Schaltung zur Vorbereitung von Interpolationsdaten,
Fig. 49 ein detaillierteres Schaltbild der Schaltung gemäß Fig. 48,
Fig. 50 und 51 weitere Schaltbilder der Schaltung gemäß Fig. 48,
Fig. 52 und 53 ein Blockschaltbild und ein Impulsdiagramm für die Bildung eines Interpolationsmaßes,
Fig. 54 einen Schaltplan einer Schaltung zur Adressberechnung in einer Feinauflösungsschaltung,
Fig. 55 schematisch die Beziehung von Eingangs- zu Ausgangsdaten bei der Feinauflösungsschaltung,
Fig. 56 schematisch eine Interpolation in der Feinauflösungsschaltung, und
Fig. 57 ein Blockschaltbild einer Adressberechnungsschaltung zur inversen Umsetzung in der Feinauflösungsschaltung.
Fig. 2 und deren begleitende Zeichnungen zeigen ein erstes Ausführungsbeispiel der Erfindung, wobei Fig. 2 ein grundlegendes Blockschaltbild dieses Ausführungsbeispiels zeigt, während die Fig. 3A und 3B ein Blockschaltbild einer vorderen bzw. einer hinteren Hälfte desselben zeigen. Fig. 4 ist ein ausführliches Blockschaltbild einer in Fig. 3A gezeigten Schaltung zur Koordinatenerfassung nach einer Bilddrehung oder Bildgrößenänderung, Fig. 5 ein detailliertes Blockschaltbild einer in Fig. 3B gezeigten Innenflächen-Gitterpunkterfassungsschaltung nach einer Drehung oder Größenänderung, Fig. 6 ein ausführliches Blockschaltbild einer in Fig. 3B gezeigten Koordinaten-Inversumsetzungsschaltung bzw. -Invertierungsschaltung, Fig. 7 ein ausführliches Blockschaltbild einer in Fig. 3B gezeigten Interpolationsschaltung, Fig. 8 eine schematische Darstellung eines Bild-Abtastzustands, Fig. 9 eine Darstellung der Beziehung zwischen einem Seiten-Synchronisiersignal und einem Unter-Abtastsynchronisiersignal, Fig. 10 eine Darstellung der Beziehung zwischen dem Unter-Abtastsynchronisiersignal und einem Haupt-Abtastsynchronisiersignal, Fig. 11 zeigt den Aufbau eines Rasterspeichers und seine Beziehung zu den abgetasteten Daten, Fig. 12 zeigt die Art der Interpolation und Fig. 13 zeigt schließlich ein Verfahren zum Erzielen interpolierter Ausgangsbilddaten aus abgetasteten Eingangsbilddaten nach einer Bilddrehung.
Die Haupt-Abtastrichtung des ursprünglichen bzw. Originalbildes soll nachfolgend mit x-Achse und dessen Unter-Abtastrichtung mit y-Achse bezeichnet werden. Koordinaten 1, 2, 3, . . . in x-Richtung entsprechen dem von einem Unter-Abtastsynchronisiersignal aus startenden Haupt-Abtastsynchronisiersignal, während Koordinaten 1, 2, 3, . . . in y-Richtung dem Unter-Abtastsynchronisiersignal entsprechen, beginnend bei einem Seiten- Synchronisiersignal. Eine Koordinate (x0, y0) entspricht somit dem x0-ten Punkt im y0-ten Raster des Originalbildes (siehe Fig. 7, 9 und 10).
Wenn ein Punkt (x, y) in einem orthogonalen Koordinatensystem durch Drehung um einen Winkel ϑ um einen Punkt (xc, yc) zu einem Punkt (x′, y′) bewegt wird, gilt die Beziehung:
Wenn ein Punkt (x′, y′) durch einen in Haupt- und Unter-Abtastrichtung jeweils unabhängigen Maßstabsänderungsfaktor α bzw. β um ein Zentrum der Maßstabsänderung (xz, yz) zu einen Punkt (x″, y″) verschoben wird, gilt hingegen die Beziehung:
Wenn daher der Punkt (x, y) durch eine Drehung um den Winkel ϑ um den Punkt (xc, yc), gefolgt von einer in Haupt- und Unter- Abtastrichtung jeweils unabhängigen Maßstabsänderung um den Faktor α bzw. β um das Zentrum der Maßstabsänderung (xz, yz) zu dem Punkt (x″, y″) verschoben wird, erhält man daher die Gleichung:
Diese Gleichung kann umgeformt werden in:
Fig. 11B zeigt ein abgetastetes Eingangsbild, während Fig. 11C ein Bild nach Drehung und unabhängiger Bildmaßstabsänderung zeigt, wobei x das Zentrum der Drehung und der Bildmaßstabsänderung angibt.
Da α und β in Gleichung (3) gewöhnlich rationale Zahlen sind, cosϑ und sinϑ hingegen irrationale Zahlen sind, sind x″ und y″ gewöhnlich selbst dann irrationale Zahlen, wenn x, y, xc, yc, xz und yz natürliche Zahlen sind. Nach einer Drehung und einer davon unabhängigen Bildmaßstabsänderung sind die Punkte des Bildes daher von den durch ein Eingabe-Ausgabe-Synchronisiersignal definierten Punkten entfernt.
Der Wert jedes Bildelements im Bild nach einer Drehung und einer unabhängigen Bildmaßstabsänderung wird durch die Daten von drei aufeinanderfolgenden Rastern festgelegt. Es wird ein Rechteck angenommen, dessen Zentrum im Zentrum eines ins Auge gefaßten Bildelements auf dem zweiten (zentralen) Raster positioniert ist und dessen Länge durch die Beziehung α (sinϑ + cosϑ) in der Haupt-Abtastrichtung und durch die Beziehung β (sinϑ + cosϑ) in der Unter-Abtastrichtung definiert ist, und es wird ein Ausgangsbildelement erfaßt, dessen Zentrum in diesem Rechteck liegt. In Fig. 13A geben Kreise A und B die erfaßten Bildelemente an, während der Wert jedes Bildelements von den vier Daten von gedrehten Rastern festgelegt wird, die das Bildelement umgeben. Fig. 13B zeigt das Bildelement A, dessen Wert durch die Werte der vier es umgebenden Bildelemente a, b, c und d gemäß dem in Fig. 13C gezeigten Verfahren bestimmt wird. Es sei angenommen, daß ein die Zentren der Bildelemente b und d verbindender Linienabschnitt bd durch eine durch das Zentrum des Bildelements A und parallel zu einem die Zentren der Bildelemente c und d verbindenden Linienabschnitt cd verlaufende Linie in einem inneren Teilungsverhältnis von δ : 1-δ geteilt wird. In gleicher Weise sei angenommen, daß der Linienabschnitt cd durch eine durch das Zentrum des Bildelements A und parallel zu dem Linienabschnitt bd verlaufende Linie in einem inneren Teilungsverhältnis von ε : 1-ε geteilt wird. Der Wert V(A) des Bildelements A wird durch die Werte V(a), V(b), V(c) und V(d) der Bildelemente a, b, c und d gemäß folgender Gleichung bestimmt:
Der Wert von V(B) für das Bildelement B kann ebenfalls auf ähnliche Weise bestimmt werden.
Nachfolgend wird die Arbeitsweise dieses Ausführungsbeispiels näher beschrieben.
Auf einen von einer Bedienungsperson erteilten Befehl zur Bilddrehung hin stellt eine Befehls-Angabeeinheit 2 eine dem befohlenen Drehwinkel entsprechende Information in einer Verarbeitungsschaltung 10 ein. Auf einen Befehl zur Bildvergrößerung - oder -verkleinerung hin erhält die Verarbeitungsschaltung 10 in gleicher Weise eine dem Ausmaß bzw. Faktor der Bildmaßstabsänderung in Haupt- und Unter-Abtastrichtung entsprechende Information.
Auf einen Startbefehl der Bedienungsperson hin aktiviert die Befehls-Angabeeinheit dann eine Synchronisier-Steuereinheit 6, die die erforderlichen Abläufe ausführt, indem sie einer Abtast-Datenquelle 4 und der Verarbeitungsschaltung 10 Synchronisations- bzw. Synchronisiersignale zuführt. Die Bilddaten werden gemäß der Darstellung in Fig. 8 abgetastet. Der Beginn des Bildes auf einer Seite ist durch den Abfall bzw. eine fallende Flanke eines Seiten-Synchronisiersignals definiert, während der Beginn jeder Abtastzeile in einer Seite durch eine fallende Flanke eines Unter-Abtastsynchronisiersignals definiert ist. Die Zugriffs-Zeitsteuerung jedes Bildelement- Datenwerts wird von einer fallenden Flanke eines Haupt-Abtastsynchronisiersignals definiert (siehe Fig. 9 und 10).
Nachfolgend werden unter Bezugnahme auf die Fig. 3A und 3B die von der in Fig. 2 gezeigten Verarbeitungsschaltung 10 durchgeführten Betriebsabläufe bei einer Bilddrehung und einer unabhängigen Bildmaßstabsänderung näher erläutert. Gemäß dem von der Bedienungsperson befohlenen Winkel ϑ werden in einer Schaltung zur Berechnung einer bearbeiteten Koordinate bzw. einer Arbeitskoordinaten-Berechnungsschaltung 22 und in einer Koordinaten-Inversumsetzungsschaltung bzw. -Invertierungsschaltung 28 die Werte von sinϑ, -sinϑ und cosϑ eingestellt, während in einer Innenflächen-Gitterpunkterfassungsschaltung 24 die Werte von sinϑ und cosϑ eingestellt werden. Gemäß dem von der Bedienungsperson angegebenen Drehungszentrum werden die Werte für einen Haupt-Abtastversatz (der Drehung) und einen Unter-Abtastversatz (der Drehung) in der Arbeitskoordinaten- Berechnungsschaltung 22 und in der Koordinaten-Inversumsetzungsschaltung 28 eingestellt. Gemäß den Faktoren der von der Bedienungsperson befohlenen Bildmaßstabs- bzw. -größenänderung werden weiterhin Werte α und β der jeweiligen Größe der Bildmaßstabsänderung in der Haupt- und Unterabtastrichtung in der Arbeitskoordinaten-Berechnungsschaltung 22 und in der Innenflächen-Gitterpunkterfassungsschaltung 24 eingestellt, während die entsprechenden Reziprokwerte 1/α und 1/β in der Koordinaten-Inversumsetzungsschaltung 28 eingestellt werden. In gleicher Weise werden gemäß dem von der Bedienungsperson gewünschten Zentrum der Bildmaßstabsänderung entsprechende Werte eines Haupt-Abtastversatzes (der Bildmaßstabsänderung) und eines Unter-Abtastversatzes (der Bildmaßstabsänderung) in der Arbeitskoordinaten-Berechnungsschaltung 22 und in der Koordinaten-Inversumsetzungsschaltung 28 eingestellt.
Auf ein von der Synchronisier-Steuereinheit 6 erzeugtes Synchronisiersignal hin liefert die Abtast-Datenquelle 4 einem Rasterspeicher 8, dessen Aufbau in Fig. 11 dargestellt ist, Bilddaten in Form von Abtastdaten. Der Rasterspeicher 8 besteht aus vier Zeilenspeichern 8-1 bis 8-4, die vier Abtastzeilen bzw. -linien entsprechen und von denen einer zum Empfang von Bilddaten aus der Abtast-Datenquelle 4 verwendet wird, während die anderen drei dazu verwendet werden, mit bereits empfangenen Daten die Bearbeitungen der Drehung, der Bildmaßstabsänderung und einer Interpolation durchzuführen. Während der Eingabe von Abtastdaten für eine Abtastzeile werden von einer der bereits empfangenen Abtastzeilen Daten freigegeben.
Gemäß Fig. 3 berechnet die Arbeitskoordinaten-Berechnungsschaltung 22 für die bereits eingegebenen Abtastdaten die sich durch Bilddrehung und/oder Bildvergrößerung oder -verkleinerung der Eingangskoordinaten ergebenden Koordinaten. Die Innenflächen-Gitterpunkterfassungsschaltung 24 erfaßt diejenigen Gitterpunkte des Ausgangsbildes, die sich in einem Rechteck befinden, dessen Zentrum an den Arbeitskoordinaten liegt und dessen Länge in der Haupt-Abtastrichtung α (sinϑ + cosϑ) und in der Unter-Abtastrichtung β (sinϑ + cosϑ) beträgt. Auf der Grundlage des derart erfaßten Gitterpunktes bestimmt die Koordinaten-Inversumsetzungsschaltung 28 sukzessiv die Koordinaten dieses Gitterpunktes in einem Koordinatensystem, das zuvor selbst der Drehung und unabhängigen Maßstabsänderung unterzogen worden ist. Aus diesen Koordinaten werden bei der Interpolation zu verwendenden Eingabebildelemente und Koeffizienten bestimmt, und zwar jeweils aus dem ganzzahligen bzw. aus dem gebrochenen Anteil dieser Koordinaten. Auf diese Weise wird der dem Ausgabe-Gitterpunkt entsprechende Wert bestimmt und ausgegeben.
Nachfolgend wird unter Bezugnahme auf Fig. 4 die Arbeitskoordinaten- Berechnungsschaltung 22 näher erläutert, die die Berechnung der vorstehend aufgeführten Gleichung (1) durchführt. Diese Schaltung arbeitet im Ansprechen auf die Auslese- Synchronisiersignale 4-a, 4-b und 4-c, die in der Abtast- Datenquelle 4 verwendet werden. Auf das Seiten-Synchronisiersignal 4-c hin wird ein Unter-Abtastzähler 41 zurückgesetzt und mit einem Anfangswert "-2" geladen, um zu erreichen, daß die Schaltung mit einer Verzögerung von zwei Abtastzeilen aus der Abtast-Datenquelle 4 zu arbeiten beginnt. Auf das Unter- Abtastsynchronisiersignal 4-a hin wird ein Haupt-Abtastzähler 42 zurückgesetzt und mit einem Anfangswert "0" geladen. Die Werte x und y in der Gleichung (1) sind jeweils durch die Ausgangssignale des Haupt-Abtastzählers 42 bzw. des Unter-Abtastzählers 41 gegeben, während die Werte xc und yc jeweils durch den Haupt-Abtastversatz (der Drehung) 43 und den Unter- Abtastversatz (der Drehung) 44 gegeben sind, welche die Koordinaten des Zentrums der Drehung definieren. Gemäß dem Drehungswinkel ϑ werden die Werte von sinϑ, cosϑ und -sinϑ als Konstante eingestellt. Durch Addition, Substraktion und Multiplikation dieser Daten werden die nach der Drehung geltenden Koordinaten (x′, y′) als Bruchzahlen erhalten. Anschließend wird der Haupt-Abtastversatz (der Maßstabsänderung) xz und der Unter-Abtastversatz (der Maßstabsänderung) yz jeweils von x bzw. y subtrahiert und das daraus jeweils erhaltene Ergebnis mit dem Faktor α bzw. β der Maßstabsänderung in Haupt- bzw. in Unterabtastrichtung multipliziert und zu xz bzw. zu yz addiert, woraus die nach der Bilddrehung und Bildmaßstabsänderung gültigen Koordinaten x″ und y″ erhalten werden.
Nachfolgend wird unter Bezugnahme auf Fig. 5A Innenflächen- Gitterpunkerfassungsschaltung 24 näher erläutert, die ein Rechteck definiert, dessen Zentrum an den nach der Verarbeitung gültigen Koordinaten liegt und dessen Länge in der Haupt-Abtastrichtung α(sinϑ + cosϑ) und in der Unter-Abtastrichtung β (sinϑ + cosϑ) beträgt, und die Koordinaten von Gitterpunkten ausgibt, die innerhalb des Rechtecks liegende Punkte darstellen, welche sowohl in Haupt- als auch in Unterabtastrichtung einen ganzzahligen Koordinatenwert haben. Als Ausgangskoordinate in der Haupt-Abtastrichtung gibt sie nach dem Abschneiden eines Nachkommateils einen ganzzahligen Teil eines durch Addition von α (cosϑ + sinϑ)/2 zu x″ erhaltenen Wertes sowie einen weiteren ganzzahligen Teil z aus, den sie durch Subtraktion von α (cosϑ + sinϑ)/2 von x″, Addition von 1 zu x″ und anschließendes Abschneiden des Nachkommateils bildet. Als Ausgangskoordinate in der Unter-Abtastrichtung gibt sie nach dem Abschneiden eines Nachkommateils einen ganzzahligen Teil eines durch Addition von β (cosϑ + sinϑ)/2 zu y″ erhaltenen Wertes sowie einen weiteren ganzzahligen Teil aus, den sie durch Subtraktion von β(cosϑ + sinϑ)/2 von y″, Addition von 1 zu y″ und anschließendes Abschneiden des Nachkommateils bildet. Diese beiden Paare von ganzen Zahlen sind x-Koordinaten und y-Koordinaten der gewünschten Gitterpunkte, die in Fig. 13A durch A und B dargestellt sind.
Die Koordinaten dieser Gitterpunkte in einem Koordinatensystem, das seinerseits der Drehung und Maßstabsänderung unterzogen ist, werden von einer in Fig. 6 gezeigten Koordinaten- Umsetzungsschaltung bestimmt, welche durch eine unabhängige Maßstabsänderung um 1/α in Haupt-Abtastrichtung bzw. um 1/β in Unter-Abtastrichtung und durch eine Drehung um -ϑ eine bezüglich der von der in Fig. 4 gezeigten Arbeitskoordinaten- Berechnungsschaltung 22 durchgeführten Verarbeitung inverse Umsetzung durchführt.
Die Werte des ganzzahligen Teils und des ganzzahligen Teils + 1 der auf diese Weise invers umgesetzten Koordinaten werden dazu verwendet, um vier Bildelemente (a, b, c und d in Fig. 13B) im Rasterpuffer bzw. Rasterspeicher zu bestimmen, während die entsprechenden Nachkommateile dazu verwendet werden, um Interpolationskoeffizienten (α und β in Fig. 13C) zu bestimmen. Eine in Fig. 7 gezeigte Interpolations-Rechenschaltung führt daher gemäß Gleichung (2) eine entsprechende Rechnung durch, um korrekte Werte zu erhalten. Die in Fig. 7 gezeigte Schaltung führt auf ein Haupt-Abtastsynchronisiertaktsignal hin eine Interpolation für alle in dem vorstehend genannten imaginären Rechteck in dem verarbeiteten Koordinatensystem enthaltenen Gitterpunkte durch.
Unter Zugrundelegung der maximalen und minimalen Koordinaten in der Haupt-Abtastrichtung (Haupt-Abtasteingänge 1 und 2) sowie der maximalen und minimalen Koordinaten in der Unter- Abtastrichtung (Unter-Abtasteingänge 1 und 2) der in der rechtwinkligen Fläche befindlichen Gitterpunkte erzeugt die in Fig. 5B gezeigte Schaltung die Haupt- und die Unter-Abtastkoordinaten aller in dieser Fläche befindlichen Gitterpunkte, und zwar synchron zu einem Haupt-Abtastablauf-Synchronisiertaktsignal, das schneller als das Haupt-Abtastsynchronisiersignal ist, und synchron zu einem Unter-Abtastablauf-Synchronisiertaktsignal, -das schneller als das Haupt-Abtastablauf- Synchronisiersignal ist. Im Vergleich zu dem Haupt-Abtastsynchronisiersignal ist das Haupt-Abtastablauf-Synchronisiersignal mindestens um einen Faktor schneller, der durch den ganzzahligen Teil der Größe der Maßstabsänderung x + 1 gegeben ist. Im Ausführungsbeispiel ist es viermal schneller (siehe Fig. 5C). Im Vergleich zu dem Haupt-Abtastablauf- Synchronisiersignal ist das Unter-Abtastablauf-Synchronisiersignal gleichfalls mindestens um einen Faktor schneller, der durch den ganzzahligen Teil der Größe der Maßstabsänderung x + 1 gegeben ist (siehe Fig. 5D). Im Ausführungsbeispiel, bei dem die Größe der Maßstabsänderung 1.6 beträgt, sollte das letztere Signal daher (1.6 x) + 1 = 3-mal so schnell sein. In Fig. 5B gezeigte monostabile Rückwärtszähler 101 und 102 erzeugen während eines Zählvorgangs Signale mit hohem Pegel und Signale mit niedrigem Pegel, wenn der Zählstand den Wert Null erreicht. In Fig. 5B sind weiterhin Rückwärtszähler 103 und 104 vorgesehen. Die in Fig. 7 gezeigte Interpolations- Rechenschaltung bzw. -Verarbeitungsschaltung führt die Berechnung der Gleichung (2) durch, indem sie zunächst
δ{V(c) - V(a)} + V(a) = (1 - δ)V(a) + δ V(c) = V1
und
δ{V(d) - V(b)} + V(b) = (1 - δ)V(b) + δ V(d) = V2
berechnet und daraufhin den Ausdruck berechnet:
ε(V2 - V1) + V1 = (1 - ε) V1 + ε V2
= (1 - δ) (1 - ε) V(a) + (1 - δ)ε V(b) + δ(1 - ε) V(c) + δε V(d) = V(D).
Die in Fig. 5A gezeigte Gitterpunkt-Erfassungsschaltung 24 bestimmt die Längen des Rechtecks mittels der gemäß dem Drehungswinkel ϑ festgelegten Werte sinϑ und cosϑ. Gemäß Fig. 14 kann jedoch auch eine von dem Drehungswinkel ϑ unabhängige Konstante K = 2 verwendet werden. In diesem Fall ist es möglich, auf die Einstellung dieser Werte zu verzichten und daher die Größe der Schaltung zu verringern. Die Seitenlänge des Rechtecks beträgt hierbei in der Haupt-Abtastrichtung α und in der Unter-Abtastrichtung β.
Vorstehend wurde ein Ausführungsbeispiel einer mit einer Bildmaßstabsänderung um den Faktor α in der Haupt-Abtastrichtung und um den Faktor β in der Unter-Abtastrichtung kombinierten Bilddrehung erläutert.
Nachfolgend soll eine Abwandlungsform erläutert werden, bei der das Bild im gleichen Maßstabs gedreht wird. Diese Abwandlungsform ist in den Fig. 15A und 15B schematisch dargestellt, wobei Komponenten, die eine der in den Fig. 3A und 3B gezeigten Komponenten entsprechende Funktion haben, mit den gleichen Bezugszeichen oder Symbolen bezeichnet sind.
Fig. 16 ist detailliertes Blockschaltbild einer in Fig. 15A gezeigten Drehkoordinaten-Berechnungsschaltung 22′. Fig. 17 ist ein detailliertes Blockschaltbild einer in Fig. 15A gezeigten Innenflächen-Gitterpunktberechnungsschaltung 24′ und Fig. 18 ein detailliertes Blockschaltbild einer in Fig. 15B gezeigten Koordinaten-Inversumsetzungsschaltung 28′. Diese Schaltungen haben aufgrund der fehlenden Maßstabsänderungs- Verarbeitung einen einfacheren Aufbau als die Schaltungen der Fig. 4, 5A, 5B und 6. Die Fig. 19A und 19B zeigen den Aufbau eines Rasterspeichers und seine Beziehung zu den Abtastdaten, während die Fig. 20A und 20B die Art der Interpolation und die Fig. 21A bis 21C ein Verfahren zum Erzielen interpolierter Ausgangsbilddaten zeigen.
Die Haupt-Abtastrichtung des ursprünglichen bzw. Originalbildes soll nachfolgend mit x-Achse und dessen Unter-Abtastrichtung mit y-Achse bezeichnet werden. Koordinaten 1, 2, 3, . . . in x-Richtung entsprechen dem von einem Unter-Abtastsynchronisiersignal aus startenden Haupt-Abtastsynchronisiersignal, während Koordinaten 1, 2, 3, . . . in y-Richtung den Unter-Abtastsynchronisiersignal entsprechen, beginnend bei einem Seiten- Synchronisiersignal. Eine Koordinate (x0, y0) entspricht somit dem x0-ten Punkt im y0-ten Raster des Originalbildes (siehe Fig. 7, 9 und 10).
Wenn ein Punkt (x, y) in einem orthogonalen Koordinatensystem durch Drehung um einen Winkel ϑ um einen Punkt (xc, yc) zu einem Punkt (x′, y′) bewegt wird, gilt die Beziehung:
Die Beziehung zwischen einen Eingangsabtastbild und einem gedrehten Abtastbild ist in den Fig. 19B und 19C dargestellt, die ein Originalbild bzw. ein gedrehtes Bild zeigen, wobei eine Markierung x das Drehungszentrum angibt.
Da cosϑ und sinϑ in Gleichung (1) gewöhnlich irrationale Zahlen sind, sind x′ und y′ gewöhnlich selbst dann irrationale Zahlen, wenn x, y und xc natürliche Zahlen sind. Nach einer Drehung sind die Punkte des Bildes daher zu den durch das Eingabe-Ausgabe-Synchronisiersignal definierten Punkten versetzt.
Der Wert jedes Bildelements im Bild nach der Drehung wird durch die Daten von drei aufeinanderfolgenden Rastern festgelegt. Es wird ein Quadrat angenommen, dessen Zentrum im Zentrum eines betrachteten Bildelements in dem zweiten (zentralen) Raster positioniert ist und dessen Größen durch die Beziehung sinϑ + cosϑ definiert ist, und es werden Ausgangsbildelemente erfaßt, deren Zentren in diesem Quadrat liegen. In Fig. 21A geben Kreise A, B, C und D die erfaßten Bildelemente an, während der Wert jedes Bildelements von den vier Daten von gedrehten Rastern festgelegt wird, die das Bildelement umgeben. Fig. 21B zeigt das Bildelement A, dessen Wert durch die Werte der vier es umgebenden Bildelemente a, b, c und d gemäß dem in Fig. 21C gezeigten Verfahren bestimmt wird. Es sei angenommen, daß ein die Zentren der Bildelemente a und c verbindender Linienabschnitt ac durch eine durch das Zentrum des Bildelements A senkrecht verlaufende Linie in einem inneren Teilungsverhältnis von ε: 1-ε geteilt wird. In gleicher Weise sei angenommen, daß ein die Zentren der Bildelemente a und b verbindender Linienabschnitt ab durch eine durch das Zentrum des Bildelements A senkrecht verlaufende Linie in einem inneren Teilungsverhältnis von δ : 1-δ geteilt wird. Der Wert V(A) des Bildelements A wird daher durch die Werte V(a), V(b), V(c) und V(d) der Bildelemente a, b, c und d gemäß folgender Gleichung bestimmt:
Die Werte von V(B), V(C) und V(D) für die Bildelemente B, C und D können ebenfalls auf ähnliche Weise bestimmt werden.
Nachfolgend wird die Funktionsweise dieser abgewandelten Ausführungsform näher beschrieben.
In ähnlicher Weise wie bei dem ersten Ausführungsbeispiel stellt eine Befehls-Angabeeinheit auf einen von einer Bedienungsperson erteilten Befehl zur Bilddrehung hin eine dem befohlenen Drehwinkel entsprechende Information in einer Verarbeitungsschaltung ein. Auf einen Startbefehl der Bedienungsperson hin aktiviert die Befehls-Angabeeinheit dann eine Synchronisier- Steuereinheit, die die erforderlichen Abläufe ausführt, indem sie einer Abtast-Datenquelle und der Verarbeitungsschaltung Synchronisiersignale zuführt (siehe Fig. 2).
Die Bilddaten werden gemäß der Darstellung in Fig. 8 abgetastet. Der Beginn des Bildes auf einer Seite ist durch eine fallende Flanke des Seiten-Synchronisiersignal definiert, während der Beginn jeder Abtastzeile in einer Seite durch eine fallende Flanke des Unter-Abtastsynchronisiersignals definiert ist. Die Zugriffs-Zeitsteuerung jedes Bildelement-Datenwerts wird von einer fallenden Flanke des Haupt-Abtastsynchronisiersignals definiert (siehe Fig. 9 und 10).
Nachfolgend wird der Ablauf der Bilddrehung und der Interpolation näher erläutert. Gemäß dem von der Bedienungsperson befohlenen Winkel ϑ werden von einer nicht gezeigten Zentraleinheit in einer Drehkoordinaten-Berechnungsschaltung 22′ und in einer Koordinaten-Inversumsetzungsschaltung 28′ die Werte von sinϑ und cosϑ eingestellt, während in einer Innenflächen- Gitterpunkterfassungsschaltung die Werte von sinϑ und cosϑ eingestellt werden. Gemäß dem von der Bedienungsperson angegebenen Drehungszentrum werden die Werte für einen Haupt-Abtastversatz und einen Unter-Abtastversatz in der Drehkoordinaten-Berechnungsschaltung 22′ und in der Koordinaten- Inversumsetzungsschaltung 28′ eingestellt, und zwar erneut von der Zentraleinheit.
Auf ein von der Synchronisier-Steuereinheit erzeugtes Synchronisiersignal hin liefert die Abtast-Datenquelle einem Rasterspeicher, dessen Aufbau in Fig. 19A dargestellt ist, Bilddaten in Form von Abtastdaten. Der Rasterspeicher besteht aus vier Zeilenspeichern, die vier Abtastzeilen entsprechen und von denen einer zum Empfang von Bilddaten aus der Abtast-Datenquelle verwendet wird, während die anderen drei dazu verwendet werden, mit bereits empfangenen Daten die Bearbeitungen der Drehung und der Interpolation durchzuführen. Während der Eingabe von Abtastdaten für eine Abtastzeile werden von einer der bereits empfangenen Abtastzeilen Daten ausgegeben.
Gemäß Fig. 15 berechnet die Drehkoordinaten-Berechnungsschaltung für die bereits eingegebenen Abtastdaten die sich durch Bilddrehung der Eingangskoordinaten ergebenden Koordinaten. Die Innenflächen-Gitterpunkterfassungsschaltung 24′ erfaßt diejenigen Gitterpunkte des Ausgangsbildes, die sich in einem Quadrat befinden, dessen Zentrum an den gedrehten Koordinaten liegt und dessen Länge sinϑ + cosϑ beträgt. Auf der Grundlage der derart erfaßten Gitterpunkte bestimmt die Koordinaten- Inversumsetzungsschaltung 28′ sukzessiv die Koordinaten dieser Gitterpunkte in einem Koordinatensystem, das zuvor selbst gedreht worden ist. Aus diesen Koordinaten werden die bei der Interpolation zu verwendenden Eingabebildelemente und Koeffizienten bestimmt, und zwar jeweils aus dem ganzzahligen bzw. aus dem gebrochenen Anteil der Werte dieser Koordinaten. Auf diese Weise wird der dem Ausgabe-Gitterpunkt entsprechende Wert bestimmt und ausgegeben.
Nachfolgend wird unter Bezugnahme auf Fig. 16 die Drehkoordinaten- Berechnungsschaltung 22′ näher erläutert, die die Berechnung der vorstehend aufgeführten Gleichung (1) durchführt. Diese Schaltung arbeitet im Ansprechen auf die in der Abtast-Datenquelle verwendeten Synchronisiersignale. Auf das Seiten-Synchronisiersignal hin wird ein Unter-Abtastzähler zurückgesetzt und mit einem Anfangswert "-2" geladen, um zu erreichen, daß die Schaltung mit einer Verzögerung von zwei Abtastzeilen aus der Abtast-Datenquelle zu arbeiten beginnt. Auf das Unter-Abtastsynchronisiersignal hin wird ein Haupt- Abtastzähler zurückgesetzt und mit einem Anfangswert "0" geladen. Die Werte x und y in der Gleichung (1) sind jeweils durch die Ausgangssignale des Haupt-Abtastzählers bzw. des Unter-Abtastzählers gegeben, während die Werte xc und yc jeweils durch den Haupt-Abtastversatz und den Unter-Abtastversatz gegeben sind, welche die Koordinaten des Zentrums der Drehung definieren. Gemäß dem Drehungswinkel ϑ werden die Werte von sinϑ, cosϑ und -sinϑ als Konstante eingestellt. Durch Addition, Subtraktion und Multiplikation dieser Daten werden die nach der Drehung geltenden Koordinaten (x′, y′) als Bruchzahlen erhalten.
Nachfolgend wird unter Bezugnahme auf Fig. 17 die Innenflächen- Gitterpunkterfassungsschaltung 24′ näher erläutert, die ein Quadrat definiert, dessen Zentrum an den nach der Drehung gültigen Koordinaten liegt, dessen Seitenlänge cosϑ + sinϑ beträgt und das die Koordinaten von Gitterpunkten ausgibt, die innerhalb des Quadrats liegende Punkte darstellen, welche sowohl in Haupt- als auch in Unterabtastrichtung einen ganzzahligen Koordinatenwert haben (siehe das in Fig. 21A gezeigte Quadrat). Als Ausgangskoordinaten gibt sie nach dem Abschneiden von Nachkommateilen jeweils den ganzzahligen Teil des durch Addition von (cosϑ + sinϑ)/2 zu x′ bzw. zu y′ erhaltenen Wertes sowie weitere ganzzahlige Teile aus, die sie durch Subtraktion von (cosϑ + sinϑ)/2 von x′ bzw. von y′, Addition von 1 zu x′ bzw. zu y′ und anschließendes Abschneiden des Nachkommateils bildet (siehe A, B, C und D in Fig. 21A).
Die ganzzahligen Koordinatenwerte dieser Gitterpunkte in einem Koordinatensystem, das seinerseits der Drehung unterzogen wurde, werden von einer in Fig. 18 gezeigten Koordinaten-Umsetzungsschaltung bestimmt, welche bezüglich des in Fig. 16 gezeigten Verfahrens zur Berechnung der Koordinaten nach der Drehung eine inverse Umsetzung (nämlich eine Drehung um -ϑ) durchführt.
Die Werte des ganzzahligen Teils und des ganzzahligen Teils + 1 der auf diese Weise invers umgesetzten Koordinaten in Haupt- und Unter-Abtastrichtung werden dazu verwendet, um vier Bildelemente (a, b, c und d in Fig. 21B) im Rasterpuffer zu bestimmen, während die entsprechenden Nachkommateile dazu verwendet werden, um Interpolationskoeffizienten (α und β in Fig. 21C) zu bestimmen. Die in Fig. 7 gezeigte Interpolations- Rechenschaltung führt daher gemäß Gleichung (2) eine entsprechende Rechnung durch, um korrekte Werte zu erhalten. Die in Fig. 7 gezeigte Schaltung gibt auf ein Haupt-Abtastsynchronisiertaktsignal hin sukzessiv Korrekturwerte für die vier Gitterpunkte aus (die eventuell auf dem gleichen Punkt liegen können).
Fig. 20 zeigt die Bewegung von Abtastpunkten durch den Haupt- Abtasttakt. Für jedes Haupt-Abtastsynchronisiersignal werden Interpolationen für vier Bildelemente durchgeführt. In den Fig. 15A und 17 gezeigte Haupt-Abtastausgangssignale 1 und 2 der Innenflächen-Gitterpunkterfassungsschaltung können jedoch unter Umständen gleich groß werden. Ebenso können Unter-Abtastausgangssignale 1 und 2 gleich groß sein. Falls sie jedoch alle unterschiedlich sind, wird die Interpolation für vier verschiedene Bildelemente durchgeführt. Wenn hingegen die Ausgangssignale in der Haupt- oder in der Unter-Abtastrichtung übereinstimmen, wird die Interpolation für vier Bildelemente durchgeführt, die abwechselnd paarweise gleich sind. Wenn die Ausgangssignale jedoch in der Haupt- und in der Unter-Abtastrichtung übereinstimmen, wird die Interpolation für vier gleiche Bildelemente durchgeführt. Diese Fälle entsprechen jeweils der Anwesenheit von vier, zwei oder einem Ausgabebildelement(en) in dem in Fig. 20B gezeigten Quadrat. Die von der Interpolations-Bearbeitungsschaltung durchgeführte Berechnung entspricht der des ersten Ausführungsbeispiels.
Vorstehend wurde der Fall einer Bilddrehung in dem gleichen Maßstab beschrieben. Nachfolgend wird eine zweite Abwandlungsform beschrieben, bei der eine Bilddrehung in Verbindung mit einer in Haupt- und Unter-Abtastrichtung jeweils in dem gleichen Maßstab stattfindenden Bildgrößenänderung durchgeführt wird.
Diese Abwandlungsform ist in den Fig. 22A und 22B schematisch gezeigt, in denen Teile mit einer den entsprechenden Teilen der Fig. 3A und 3B übereinstimmenden Funktion mit den gleichen Bezugszeichen oder Symbolen bezeichnet sind.
Fig. 23 ist ein detailliertes Blockschaltbild einer in Fig. 22A gezeigten Drehkoordinaten-Berechnungsschaltung 22″. Die Fig. 24A und 24B zeigen ein detailliertes Blockschaltbild einer Innenfläche-Gitterpunkterfassungsschaltung 24″ und Fig. 25 zeigt ein detailliertes Blockschaltbild einer in Fig. 22B gezeigten Koordinaten-Inversumsetzungsschaltung 28″.
Nachfolgend wird die Funktionsweise dieser abgewandelten Ausführungsform näher beschrieben.
Auf einen von einer Bedienungsperson erteilten Befehl zur Bilddrehung hin stellt eine Befehls-Angabeeinheit eine dem befohlenen Drehwinkel entsprechende Information in einer Verarbeitungsschaltung ein. Auf einen Befehl zur Bildvergrößerung oder -verkleinerung hin erhält die Verarbeitungsschaltung eine dem Verhältnis der Bildmaßstabsänderung entsprechende Information. Auf einen Startbefehl der Bedienungsperson hin aktiviert die Befehls-Angabeeinheit dann eine Synchronisier- Steuereinheit, die die erforderlichen Abläufe ausführt, indem sie einer Abtast-Datenquelle und der Verarbeitungsschaltung Synchronisiersignale zuführt (siehe Fig. 2).
Die Bilddaten werden gemäß der Darstellung in Fig. 8 abgetastet. Der Beginn des Bildes auf einer Seite ist durch eine fallende Flanke des Seiten-Synchronisiersignals definiert, während der Beginn jeder Abtastzeile in einer Seite durch eine fallende Flanke des Unter-Abtastsynchronisiersignals definiert ist. Die Zugriffs-Zeitsteuerung jedes Bildelement-Datenwerts wird von einer fallenden Flanke des Haupt-Abtastsynchronisiersignals definiert (siehe Fig. 9 und 10).
Nachfolgend werden die Betriebsabläufe bei einer Bilddrehung, einer Vergrößerung, einer Verkleinerung und einer Interpolation näher erläutert. Gemäß dem von der Bedienungsperson befohlenen Drehungswinkel ϑ werden in der Arbeits- bzw. Drehkoordinaten- Berechnungsschaltung 22″ und in der Koordinaten- Inversumsetzungsschaltung 28″ die Werte von sinϑ, -sinϑ und cosϑ eingestellt, während in der Innenflächen-Gitterpunkterfassungsschaltung 24″ die Werte von sinϑ und cosϑ eingestellt werden, und zwar jeweils von der nicht gezeigten Zentraleinheit. Gemäß dem von der Bedienungsperson angegebenen Drehungszentrum werden die Werte für den Haupt-Abtastversatz und den Unter-Abtastversatz in der Drehkoordinaten-Berechnungsschaltung 22″ und in der Koordinaten-Inversumsetzungsschaltung 28″ eingestellt. Weiterhin wird das Verhältnis bzw. der Faktor α der Bildgrößenänderung in der Drehkoordinaten- Berechnungsschaltung 22″ und in der Innenflächen-Gitterpunkterfassungsschaltung 24″ eingestellt, während der entsprechende Reziprokwert 1/α in der Koordinaten-Inversumsetzungsschaltung 28″ eingestellt wird.
Auf ein von der Synchronisier-Steuereinheit 6 erzeugtes Synchronisiersignal hin liefert die Abtast-Datenquelle einem Rasterspeicher, dessen Aufbau in Fig. 11A dargestellt ist, Bilddaten in Form von Abtastdaten. Der Rasterspeicher besteht aus vier Zeilenspeichern, die vier Abtastzeilen entsprechen und von denen einer zum Empfang von Bilddaten aus der Abtast- Datenquelle verwendet wird, während die anderen drei dazu verwendet werden, mit bereits empfangenen Daten die Bearbeitungen der Drehung, der Vergrößerung, der Verkleinerung und der Interpolation durchzuführen. Während der Eingabe von Abtastdaten für eine Abtastzeile werden von einer der bereits empfangenen Abtastzeilen Daten ausgegeben.
Gemäß Fig. 22 berechnet die Drehkoordinaten-Berechnungsschaltung 22″ für die bereits eingegebenen Abtastdaten die sich durch Bilddrehung und Bildvergrößerung oder -verkleinerung der Eingangskoordinaten ergebenden Koordinaten. Die Innenflächen- Gitterpunkterfassungsschaltung 24″ erfaßt diejenigen Gitterpunkte des Ausgangsbildes, die sich in einem Quadrat befinden, dessen Zentrum an den bearbeiteten Koordinaten liegt und dessen Seitenlänge α(sinϑ + cosϑ) beträgt. Auf der Grundlage der derart erfaßten Gitterpunkte bestimmt die Koordinaten-Inversumsetzungsschaltung 28″ aufeinanderfolgend die Koordinaten dieser Gitterpunkte in einem Koordinatensystem, das zuvor selbst der Drehung und Vergrößerung oder Verkleinerung unterzogen worden ist. Aus diesen Koordinaten werden die bei der Interpolation zu verwendenden Eingangsbildelemente und Koeffizienten bestimmt, und zwar aus dem ganzzahligen bzw. aus dem gebrochenen Anteil dieser Koordinaten. Auf diese Weise wird der dem Ausgabe-Gitterpunkt entsprechende Wert bestimmt und ausgegeben.
Nachfolgend wird unter Bezugnahme auf Fig. 23 die Drehkoordinaten- Berechnungsschaltung 22″ näher erläutert, die die Berechnung der vorstehend aufgeführten Gleichung (1) durchführt. Diese Schaltung arbeitet im Ansprechen auf die in der Abtast-Datenquelle verwendeten Synchronisiersignale. Auf das Seiten-Synchronisiersignal hin wird ein Unter-Abtastzähler zurückgesetzt und mit einem Anfangswert "-2" geladen, um zu erreichen, daß die Schaltung mit einer Verzögerung von zwei Abtastzeilen aus der Abtast-Datenquelle zu arbeiten beginnt. Auf das Unter-Abtastsynchronisiersignal hin wird ein Haupt- Abtastzähler zurückgesetzt und mit einem Anfangswert "0" geladen. Die Werte x und y in der Gleichung (1) sind jeweils durch die Ausgangssignale des Haupt-Abtastzählers bzw. des Unter-Abtastzählers gegeben, während die Werte xc und yc jeweils durch den Haupt-Abtastversatz und den Unter-Abtastversatz gegeben sind, welche die Koordinaten des Zentrums der Drehung definieren. Gemäß dem Drehungswinkel ϑ werden die Werte von sinϑ, cosϑ und -sinϑ als Konstante eingestellt. Der Faktor der Bildmaßstabsänderung wird gleichfalls eingestellt. Durch geeignete Addition, Subtraktion und Multiplikation dieser Daten werden die nach der Drehung geltenden Koordinaten (x′, y′) als Bruchzahlen erhalten.
Nachfolgend wird unter Bezugnahme auf Fig. 24A die Innenflächen- Gitterpunkterfassungsschaltung 24″ näher erläutert, die ein Quadrat definiert, dessen Zentrum an den nach der Drehung gültigen Koordinaten liegt und dessen Seitenlänge α(cosϑ+ sinϑ) beträgt, und die Haupt- und Unter-Abtastkoordinaten von Gitterpunkten ausgibt, die innerhalb des Quadrats liegende Punkte darstellen, welche sowohl in Haupt- als auch in Unterabtastrichtung einen ganzzahligen Koordinatenwert haben (siehe das in Fig. 26A gezeigte Quadrat). Als Ausgabewerte gibt sie nach dem Abschneiden von Nachkommateilen jeweils den ganzzahligen Teil des durch Addition von α(cosϑ + sinϑ)/2 zu x′ bzw. zu y′ erhaltenen Wertes sowie weitere ganzzahlige Teile aus, die sie durch Subtraktion von α(cosϑ + sinϑ)/2 von x′ bzw. von y′, Addition von 1 zu x′ bzw. zu y′ und anschließendes Abschneiden des Nachkommateils bildet (siehe A bis I in Fig. 26A).
Die ganzzahligen Koordinatenwerte dieser Gitterpunkte in einem Koordinatensystem, das seinerseits der Drehung unterzogen wurde, werden von einer in Fig. 25 gezeigten Koordinaten-Umsetzungsschaltung bestimmt, welche bezüglich des Verfahrens zur Berechnung der Koordinaten nach der Drehung eine inverse Umsetzung (nämlich eine Drehung um -ϑ) durchführt.
Die Werte des ganzzahligen Teils und des ganzzahligen Teils plus eins der auf diese Weise invers umgesetzten Koordinaten werden dazu verwendet, um vier Bildelemente (a, b, c und d in Fig. 26B) im Rasterpuffer zu bestimmen, während die entsprechenden Nachkommateile dazu verwendet werden, um Interpolationskoeffizienten (α und β in Fig. 26C) zu bestimmen. Die in Fig. 7 gezeigte Interpolations-Rechenschaltung führt daher in gleicher Weise wie beim ersten Ausführungsbeispiel gemäß Gleichung (2) eine entsprechende Rechnung durch, um korrekte Werte zu erhalten. Die Interpolations-Rechenschaltung führt auf ein Haupt-Abtastsynchronisiertaktsignal hin für alle in dem imaginären Quadrat in dem bearbeiteten Koordinatensystem befindlichen Gitterpunkte eine Interpolation durch.
Unter Zugrundelegung der maximalen und minimalen Koordinaten in der Haupt-Abtastrichtung (Haupt-Abtastausgänge 1 und 2) sowie der maximalen und minimalen Koordinaten in der Unter- Abtastrichtung (Unter-Abtastausgänge 1 und 2) der in der quadratischen Fläche befindlichen Gitterpunkte erzeugt eine in Fig. 24B gezeigte Schaltung die Haupt- und die Unter-Abtastkoordinaten aller in dieser Fläche befindlichen Gitterpunkte, und zwar synchron zu einem Haupt-Abtastablauf-Synchronisiertaktsignal, das schneller als das Haupt-Abtastsynchronisiersignal ist, und synchron zu einem Unter-Abtastablauf-Synchronisiertaktsignal, das schneller als das Haupt-Abtastablauf- Synchronisiersignal ist. Im Vergleich zu dem Haupt-Abtastsynchronisiersignal ist das Haupt-Abtastablauf-Synchronisiersignal mindestens um einen Faktor schneller, der durch den ganzzahligen Teil des Maßstabsänderungsverhältnisses mal plus 1 gegeben ist. Im Ausführungsbeispiel ist es viermal schneller (siehe Fig. 5C). Im Vergleich zu dem Haupt-Abtastablauf-Synchronisiersignal ist das Unter-Abtastablauf-Synchronisiersignal gleichfalls mindestens um einen Faktor schneller, der durch den ganzzahligen Teil des Maßstabsänderungsverhältnisses mal plus 1 gegeben ist (siehe Fig. 5D). Im Ausführungsbeispiel, bei dem der Faktor der Maßstabsänderung 1.6 beträgt, sollte das letztere Signal daher (1.6 × ) + 1 = 3-mal so schnell sein. In Fig. 24B gezeigte monostabile Rückwärtszähler 1 und 2 erzeugen während eines Zählvorgangs Signale mit hohem Pegel und Signale mit niedrigem Pegel, wenn der Zählstand den Wert Null erreicht. In Fig. 24B sind weiterhin Rückwärtszähler 3 und 4 vorgesehen. Die in Fig. 7 gezeigte Interpolations- Rechenschaltung führt anschließend die Berechnung in der gleichen Weise durch, wie dies anhand des ersten Ausführungsbeispiels bereits beschrieben wurde.
Die in Fig. 24A gezeigte Gitterpunkt-Erfassungsschaltung 24″ verwendet die gemäß dem Drehungswinkel ϑ festgelegten Werte sinϑ und cosϑ. Gemäß Fig. 14 kann jedoch auch eine von dem Drehungswinkel ϑ unabhängige Konstante K = 2 verwendet werden. In diesem Fall ist es möglich, auf die Einstellung dieser Werte zu verzichten und daher die Größe der Schaltung zu verringern.
Die Bestimmung des ausgegebenen Gitterpunkts, für den die Interpolationsdaten zu ermitteln sind, kann auch durchgeführt werden, indem anhand einer digitalen Differentialanalyse die Adresse der Haupt-Abtastzeile in dem umgesetzten Koordinatensystem bestimmt wird und anschließend die nahe dieser Zeile befindlichen Gitterpunkte einer nach dem anderen bestimmt werden.
Dieses Verfahren wird nachstehend im einzelnen beschrieben, wobei der Einfachheit halber ein Beispiel betrachtet werden soll, bei dem eine Drehung eines Zeilenabschnitts um 30° um den Ursprungspunkt des Koordinatensystems durchgeführt wird, und zwar ohne eine Maßstabsänderung.
Die Fig. 28A bis 28C zeigen die Art der Umsetzung von Bilddaten bei diesem Verfahren, wobei Abszissen 120, 121 und 122 jeweils Haupt-Abtasteinrichtungen, Kreise Abtastpunkte und die Ordinaten den Wert von Multipegel-Daten, wie z. B. einer Bilddichte, angeben. Fig. 28A zeigt ein Originalbild, während Fig. 28C ein durch dieses Verfahren erhaltenes digitales Ausgangsbild zeigt. Demgegenüber zeigt Fig. 28B ein Beispiel für ein herkömmliches Verfahren, bei dem das Originalbild ohne Interpolation gedreht wird. Nachfolgend soll als Beispiel der Fall beschrieben werden, wie der Wert der Multipegel-Daten an einem in Fig. 28C gezeigten Abtastpunkt 123 bestimmt wird.
Fig. 29 zeigt eine Ausführungsform einer Schaltung, die die Adresse einer Haupt-Abtastzeile 122 des in Fig. 28C gezeigten Ausgangsbilds liefert. In diesem Beispiel werden für eine Drehung um 30° um den Ursprungspunkt in einem Ganzzahlen-Abschnitt 133 und in einem Nachkomma-Abschnitt 132 eines Ergebnisregisters 130 die Werte "0" eingestellt, während in einem Inkrementalregister 134 der Wert von tan30° = 0.577350 eingestellt wird. In einem Zählregister 135 wird die Anzahl der Bildelemente in der Haupt-Abtastzeile des Ausgangsbilds eingestellt. Diese Werte werden mittels nicht gezeigter Hard- oder Software berechnet und eingestellt. Durch Zufuhr der gleichen Taktsignale 137 und 138 als Synchronisiersignale wird der Inhalt des Inkrementalregisters 134 zu dem Inhalt des Nachkomma-Abschnitts 132 des Ergebnisregisters 130 addiert, wobei der Inhalt 139 des Ganzzahlen-Abschnitts 133 des Ergebnisregisters 130 in der Reihenfolge 1, 2, 3, . . . als y-Achsen-Adresse der Haupt-Abtastzeile 122 ausgegeben wird, wie aus Fig. 30 zu erkennen ist.
Wie die in Fig. 36 mit 100 bezeichnete Linie erkennen läßt, hat die auf diese Weise approximierte oder angenäherte Linie für jede x-Adresse stets eine y-Adresse.
Diese im wesentlichen aus einer Addierschaltung bestehende Logikschaltung ist relativ billig und kann eine ausreichend hohe Geschwindigkeit erzielen.
Fig. 31 zeigt eine Schaltung, die auf ein in Fig. 29 gezeigtes Übertragssignal 131 hin Koordinaten bestimmt, die im Koordinatensystem des Originalbildes den Zentren der Bildelemente des umgesetzten Bildes entsprechen. Werte X und Y, die einem Übertragssignal 131 mit dem Pegel "0" entsprechen, d. h. wenn keine Änderung in der Y-Adresse vorliegt, werden von einer nicht gezeigten Einrichtung gemäß der Beziehung:
X0 = 1 · cos30° + 0 · sin30° = 0.866025
Y0 = 1 · (-sin30°) + 0 · cos30° = -0.5
berechnet und in einem Inkrementalregister 510 bzw. 530 gespeichert. Demgegenüber werden die Werte X und Y, die einem Übertragssignal 131 mit dem Pegel "1" entsprechen, d. h. wenn eine Erhöhung der Y-Adresse vorliegt, gemäß der Beziehung:
X1 = 1 · cos30° + 1 · sin30° = 1.36625
Y1 = 1 · (-sin30°) + 1 · cos30° = 0.36625
berechnet und in einem Inkrementalregister 520 bzw. 540 gespeichert. Diese Werte werden von einer in Fig. 31 nicht gezeigten Hardware oder mittels Software berechnet und eingestellt. In einem X-Ergebnisregister 550 und einem Y-Ergebnisregister 560 wird "0" gespeichert, da im beschriebenen Beispiel lediglich eine Drehung um den Ursprungspunkt durchgeführt wird. Zu diesem Zeitpunkt werden der Schaltung die gleichen Taktsignale wie die in Fig. 29 gezeigten Synchronisiersignale 37 und 38 zugeführt und auf das ebenfalls in Fig. 29 gezeigte Übertragssignal 131 hin werden die Inhalte der X- und Y-Inkrementalregister zu dem Inhalt des entsprechenden Ergebnisregisters addiert, so daß gemäß dem in Fig. 32 gezeigten Impulsdiagramm die Werte der X- und Y-Koordinaten des Originalbildes über Signalleitungen 590 und 591 ausgegeben werden. Diese im wesentlichen aus Addierschaltungen bestehende Logikschaltung ist relativ billig und kann eine ausreichend hohe Geschwindigkeit erzielen.
Fig. 33 zeigt das Prinzip der Berechnung eines gewichteten Durchschnitts zweier naher bzw. benachbarter Punkte aus den Werten 590 und 591 der mittels des X- und des Y-Ergebnisregisters gemäß Fig. 31 erhaltenen X- und Y-Koordinaten. In Fig. 33 ist mit m der Bruch- bzw. Nachkommaanteil der in Fig. 31 gezeigten X-Koordinate 590 bezeichnet. Der Multipegel- Digitalwert Y einer Koordinate 70 kann wie folgt bestimmt werden:
Y70 = m · X71 + (1-mX72,
wobei mit X71 und X72 die Multipegel-Digitalwerte von Bildelement- Zentren 71 und 72 des Originalbilds bezeichnet sind. Der Multipegel-Digitalwert des in Fig. 28C gezeigten Bildelements 123 kann daher erhalten werden, indem die Multipegel- Digitalwerte 124 und 125 der Fig. 28A für X71 bzw. X72 eingesetzt werden.
Obgleich sich die vorstehende Beschreibung auf die Drehung eines Linienabschnitts ohne Maßstabsänderung bezieht, ist es gleichwohl möglich, die Bilddaten zu drehen, indem drei Zeilenpuffer in der Haupt-Abtastrichtung des Originalbilds gemäß der Darstellung in Fig. 34 verwendet, eine Schaltung zur Bestimmung eines Näherungswerts für eine Zeile der Haupt-Abtastrichtung nach der Umsetzung gemäß der Darstellung in Fig. 37 verwendet, ein von einem Ergebnisregister 113 erzeugtes Übertragssignal 10 an einer Adresse eines Speichers 112 gespeichert, die von einem Adress-Signal 111 aus einem Zählregister 114 angegeben wird, und indem das derart gespeicherte Übertragssignal der in Fig. 31 gezeigten Schaltung zugeführt wird, so daß nach einem in Fig. 35 dargestellten zweidimensionalen Verfahren für das ausgegebene Digitalbild eine Interpolation gemäß folgender Gleichung erzielt wird:
Y90 = (n · X91 + (1-n) · X93) · m + (n · X92 + (1-n) · X94) · (1-m).
Dies kann in der Praxis sehr leicht erreicht werden, indem in einer der Anzahl der Bildelemente in Unter-Abtastrichtung des umgesetzten Bildes entsprechenden Zahl die Schritte der Koordiantenbestimmung im Originalbild und die Durchführung der Interpolation wiederholt werden.
Nach einem in Fig. 38B gezeigten Verfahren kann ein im Bereich zwischen 45° und 360° liegender Drehungswinkel auf einen Drehungswinkel im Bereich zwischen 0° und 45° zurückgeführt werden. Daher ist es möglich, auch die Verarbeitungsgeschwindigkeit zu erhöhen, indem eine Speichertabelle vorgesehen wird, in der Bitströme der von der in Fig. 37 gezeigten Schaltung erzeugten Übertragungssignale gespeichert sind.
Obgleich die Beschreibung des vorstehenden Beispiels auf eine Bilddrehung ohne Bildmaßstabsänderung beschränkt wurde, kann auch eine Bildvergrößerung erzielt werden, indem die Eingabe- Zeitsteuerung der Originalbilddaten entsprechend dem Faktor der Bildvergrößerung verlangsamt wird, oder eine Bildverkleinerung durchgeführt werden, indem die Anzahl der in Fig. 34 gezeigten Zeilenpuffer erhöht wird.
Nachfolgend wird ein zweites Ausführungsbeispiel der Erfindung beschrieben.
Mit dem zweiten Ausführungsbeispiel soll für den Fall, daß die Koordinaten der ausgegebenen Bildelemente eines bearbeiteten digitalen Bildes irrationale Zahlen mit Nachkommastellen sind, und insbesondere für eine Drehung um einen beliebigen Winkel in Verbindung mit einer Vergrößerung oder Verkleinerung in einem beliebigen Verhältnis, erreicht werden, daß die Adressen der ausgegebenen Bildelemente des verarbeiteten digitalen Bildes mit der Eingangs-Zeitsteuerung des ursprünglichen digitalen Bildes zusammenpassen, oder daß die Adressen der ausgegebenen Bildelemente synchron mit dem Signal des ursprünglichen digitalen Bildes in der Unter-Abtastrichtung bestimmt werden können. Die Adressen der ausgegebenen Bildelemente des verarbeiteten digitalen Bildes können nach verschiedenen Verfahren bestimmt werden. Bei diesem Ausführungsbeispiel wird jedoch eine digitale Differentialanalyse verwendet, um diejenige Adresse des ausgegebenen Bildelements zu bestimmen, die die Entfernung von einer Zeile in der Unter- Abtastrichtung des verarbeiteten digitalen Bildes zu der Adresse des ausgegebenen Bildelements minimiert, und um anschließend unter Heranziehung der auf diese Weise bestimmten Adresse des genannten ausgegebenen Bildelements als Anfangswert die Adresse einer Zeile in der Haupt-Abtastrichtung des verarbeiteten Bildes zu bestimmen. Dieses Verfahren wird nachfolgend unter Bezugnahme auf die Zeichnung näher erläutert, wobei der Einfachkeit halber eine Drehung um 30° um den (Koordinaten-) Ursprungspunkt ohne Maßstabsänderung betrachtet wird. Fig. 40 ist eine vergrößerte Darstellung um den Ursprungspunkt der Fig. 1D herum, wobei Kreise die Zentren von Bildelementen und Doppelkreise 223 bis 225 die Zentren von Anfangs-Bildelementen von Rastern 220 bis 222 angeben.
Fig. 41 zeigt schematisch ein Verfahren zur Bestimmung der Adresse des Zentrums eines Anfangs-Bildelements, wobei eine Zeile der Unter-Abtastrichtung des verarbeiteten Bildes gemäß Fig. 40 mit 236 bezeichnet ist. Der Winkel ϑ in Fig. 41 ist im Ausführungsbeispiel 30°. 233 und 234 geben die jeweilige Entfernung zur Zeile 236 an, wenn sich das Bildelementzentrum von 230 nach 231 bzw. nach 232 verlagert. Eine fette Linie 227 in Fig. 40 gibt eine Adresse desjenigen Bildelementzentrums auf jedem Raster an, das der Zeile 226 am nächsten liegt, wobei eine Schaltung zur Bestimmung jeder dieser Adressen in Fig. 39 gezeigt ist.
Nachfolgend wird erläutert, wie die Adresse des in Fig. 40 gezeigten Anfangs-Bildelements 224 bestimmt wird. Gemäß Fig. 39 speichert ein Zwischenspeicher den Adressenzuwachs bzw. -inkrement "0" in der Y-Richtung eines dem Anfangs-Bildelement 223 eines unmittelbar vorausgehenden Rasters (oder des Rasters 220 in Fig. 40) nachfolgenden Bildelementzentrums 228, während ein Inkrementalregister A 245 den Wert des Abstands 233 der Fig. 41 oder den Wert von cos30° = 0.8660 speichert. Ein Inkrementalregister B 243 speichert daraufhin den Wert des Abstands 234 der Fig. 41 oder den Wert von -sin30° = -0.5. Ein Ergebnisregister 248 hält die Entfernung von dem Anfangs- Bildelement eines unmittelbar vorausgehenden Rasters zu der Zeile in Unter-Abtastrichtung fest, gemäß Fig. 41 also die Entfernung "0" von dem Anfangs-Bildelement 223 zu der Zeile 226. Diese Werte werden von einer nicht dargestellten Hardware oder mittels Software berechnet und gespeichert. Ein Komparator 240 entscheidet darüber, ob der Inhalt des Ergebnisregisters 248 gleich Null oder kleiner ist. Das Vergleichsergebnis wird an einen Komparator B 241 weitergeleitet, der entscheidet, ob der in einem Zwischenspeicher 242 gespeicherte Wert Null ist, wenn der Wert des Ergebnisregisters 248 Null oder kleiner ist. Diese Signale werden einem Wähler 246 zugeführt, der den Wert "-0.5" des Inkrementalregisters B 243 wählt, wenn der Wert des Ergebnisregisters 248 größer als Null ist, oder den Wert "0.8660" des Inkrementalregisters A 245, wenn der Wert des Ergebnisregisters 248 Null oder kleiner und der Wert des Zwischenspeichers 242 Eins ist, oder einen der Summe der Register A 243 und 245 entsprechenden Wert "0.366", wenn der Wert des Ergebnisregisters 248 Null oder kleiner und der Wert des Zwischenspeichers 242 Null ist, und addiert den derart ausgewählten Wert zu dem Inhalt des Ergebnisregisters 248. Gleichzeitig zeigt er den gewählten Zustand mit einem Signal 249 an. Weiterhin wird von einer in Fig. 41 nicht gezeigten Hard- oder Software der Wert "1" von der Y-Adresse des Anfangs-Bildelements subtrahiert, wenn der Wert des Ergebnisregister 248 größer als Null ist, oder der Wert "1" zu der X-Adresse des Anfangs-Bildelements addiert, wenn der Wert des Ergebnisregisters 248 Null oder kleiner und der Wert des Zwischenspeichers 242 Eins ist, oder der Wert "1" zu der X-Adresse addiert und der Wert "1" von der Y-Adresse subtrahiert, wenn der Wert des Ergebnisregisters 248 Null oder kleiner und der Wert des Zwischenspeichers 242 Null ist. Auf diese Weise wird die Adresse des Anfangs- Bildelements jedes Rasters bestimmt. Die beschriebene, im wesentlichen aus Komparatoren und Wählern bestehende Schaltung kann kostengünstig realisiert werden und erreicht eine ausreichend hohe Geschwindigkeit.
Gemäß Fig. 42 werden anschließend von einer in Fig. 42 nicht gezeigten Hard- oder Software die X- und Y-Adressen der gemäß vorstehender Beschreibung bestimmten ausgegebenen Anfangs- Bildelemente jeweils in einem X-Adressregister 250 bzw. in einem Y-Adressregister 254 und der Wert von tan30° = 0.57735 in einem Inkrementalregister 251 eingestellt. Daraufhin wird ein Bildelement-Taktsignal als Synchronisiersignal 256 zugeführt, wodurch die Adressen einer Zeile 221 bestimmt werden, die gemäß Fig. 40 eine bei dem Anfangs-Bildelement beginnende angenäherte Haupt-Abtastzeile des ausgegebenen Bildes darstellt.
Gleichzeitig mit der Bestimmung der Adresse des Zentrums jedes ausgegebenen Bildelements werden von einer in Fig. 42 nicht gezeigten Hard- oder Software die der Adresse jedes ausgegebenen Bildelements entsprechenden Bildelemente des ursprünglichen Bildes sowie die Bildelementdaten des ausgegebenen Bildelements aus den Bildelementen des ursprünglichen Bildes bestimmt.
In dem vorstehenden Ausführungsbeispiel wird die Adresse des Anfangs-Bildelements des ausgegebenen Bildes durch Wahl zweier Inkremente und durch Minimierung der Distanz zu einer aus diesen Inkrementen berechneten Zeile der Unter-Abtastrichtung des ausgegebenen Bildes bestimmt. Jedoch ist es auch möglich, die Adresse des Anfangs-Bildelements gemäß der Darstellung in Fig. 43 unter Verwendung der nachfolgenden Reihenentwicklung einer trigonometrischen Funktion zu bestimmen:
in der a, b, c, . . . ganze Zahlen sind. Für den Winkel ϑ = 30° kann z. B. gesetzt werden:
Fig. 43 zeigt den Ablauf der Bestimmung der Adresse des Anfangs- Bildelements eines vierten Rasters des ausgegebenen Bildes unter Verwendung der vorstehenden Reihenentwicklung. Hierbei wird ein Dreieck betrachtet, das auf einer senkrechten Zeile 264 einen vierten Punkt 261 von dem Ursprungspunkt 260 aus sowie eine Linie 265 enthält, die im Ursprungspunkt 260 einen Winkel von 30° zu dieser Zeile bildet. Die X-Adresse eines Punktes 262 wird folgendermaßen aus den Werten der Nenner bestimmt: wobei mit den Symbolen ∟ das Abschneiden der Nachkommastellen bezeichnet ist.
Anschließend wird die Adresse eines einen Winkel 266 von 30° zu einer Linie zwischen den Punkten 261 und 262 bildenden Scheitelpunkts 263 auf ähnliche Weise bestimmt durch:
Auf diese Weise können die X- und Y-Adressen des Anfangs- Bildelements 63 bestimmt werden. Fig. 44 zeigt ein Beispiel von mit diesem Verfahren bestimmten Anfangs-Bildelementen, welche mit weißen Kreisen bezeichnet sind.
Eine Drehung um einen beliebigen Winkel kann folglich realisiert werden, indem die Werte der Nenner der Gleichung (2) für einen bzw. jeden beliebigen Winkel in einem Speicher abgelegt werden. Die Präzision der Reihenentwicklung oder die Größe des Nenners kann durch die maximale Größe der Drehung begrenzt sein. So kann z. B. eine einer Auflösung von 16 Bildelementen pro mm auf einem Blatt des Formats A4 entsprechenden Drehung der Nenner auf den Wert 4752 begrenzt werden.
Gemäß vorstehender Beschreibung ermöglicht also die Schaffung eines eine Schaltung zur Erzeugung der Adressen der ausgegebenen Bildelemente enthaltenden Bildverarbeitungsgeräts die sehr einfache Verarbeitung eines qualitativ hochwertigen Bildes synchron mit den eingegebenen Bilddaten.
Die Fig. 45 bis 57 zeigen ein drittes Ausführungsbeispiel der Erfindung.
Fig. 46 zeigt ein abgetastetes Bild mit einer Haupt- und einer Unter-Abtastrichtung als Eingangsdatenquelle, wobei Abtastzeilen mit Pfeilen dargestellt sind.
Fig. 45 ist ein Blockschaltbild eines Gesamt-Bildverarbeitungsgeräts. Die abgetasteten Daten zweier Zeilen werden in einen Vorstufen-Puffer 291 eingegeben, aus dem für eine Bildvergrößerung um den Faktor 2 interpolierte Daten aufeinanderfolgend einem Zwischenpuffer 292 zugeführt werden. Dieser speichert die Daten von drei Zeilen, aus denen endgültig vergrößerte oder verkleinerte Daten zur Feinauflösung erhalten werden.
Nachfolgend wird auf Fig. 46 Bezug genommen. Gemäß einem von einer Bedienungsperson erteilten Befehl wird der Faktor einer Bildvergrößerung in einer 2 n -Bildvergrößerungsschaltung 422 eingestellt, während der Faktor einer Bildverkleinerung in einer Feinauflösungsschaltung 423 eingestellt wird. Eine Synchronisations- Steuerschaltung 424 wird so eingestellt, daß sie ein Haupt-Abtastsynchronisiertaktsignal in Übereinstimmung mit der Flächen-Bildvergrößerung verlangsamt, welche das Produkt der in der Schaltung 422 eingestellten Faktoren der Bildvergrößerung in der Haupt- und in der Unter-Abtastrichtung ist. Die abgetasteten Daten werden in die drei Vorstufen- Puffer 291 abgerufen, die synchron mit der Unter-Abtastung geschaltet werden. Die 2 n -Vergrößerungsschaltung 422 empfängt die abgetasteten und bereits in zwei der Vorstufen- Puffer 291 gespeicherten Daten zweier Zeilen, wohingegen Abtastdaten in die verbleibenden Vorstufen-Puffer abgerufen bzw. übertragen werden, während die Schaltung 422 eine Bildvergrößerungs- Bearbeitung an den Abtastdaten aus den anderen zwei Vorstufen-Puffern durchführt.
Fig. 47 zeigt ein Beispiel für eine Vergrößerung des Eingangsbildes um das 4-fache in der Haupt-Abtastrichtung und um das 2-fache in der Unter-Abtastrichtung. In Fig. 47 entsprechen A bis D den Bildelementen des ursprünglichen Bildes und haben jeweils Bilddaten V(A) bis V(D). Die Bildelemente A und B sind auf demselben Raster, während die Bildelemente C und D auf einem anderen Raster sind. Punkte 311 bis 314 und 321 bis 324 sind durch die Bildvergrößerung zu erhaltende Ausgabepunkte, wobei die Punkte 311 bis 314 auf demselben Ausgaberaster und die Punkte 321 bis 324 auf einem anderen Ausgaberaster liegen. Der Wert V(Q) eines Punktes Q in den Punkten 311 bis 314 und 321 bis 324 ist durch folgende Gleichung gegeben;
in der α (mit 0≦α) ein inneres Teilungsverhältnis eines von einer zu einem Linienabschnitt AC parallelen Linie geschnittenen Linienabschnitts AB und β (mit β≦1) ein inneres Teilungsverhältnis des von einer zu dem Linienabschnit AB parallelen Linie geschnittenen Linienabschnitts AC angibt. Fig. 48 zeigt ein Blockschaltbild einer Schaltung zur Berechnung vorstehender Gleichung (1), in der ein Block 441 den Ausdruck:
(1-α) V(A) + α V(B),
ein Block 442 den Ausdruck:
(1-α V(C) + α V(C)
und ein Block 443 den Ausdruck:
(1-β) {(1-α) V(A) + α V(B)} + β{(1-α) V(C) + α V(D)}
= (1-α)(1-β) V(A) + α(1-β) V(B) + (1-α)β V(C) + αβ V(D)
= V(Q)
berechnet. Fig. 49 ist ein genaueres Blockschaltbild des Schaltungsblocks 441, 442 oder 443, die alle einen ähnlichen Aufbau haben. Diese Schaltung berechnet den Ausdruck:
(1-k) V(X) + kV(Y)
aus den eingegeben Bilddaten V(X) und V(Y) sowie aus einem inneren Teilungsverhältnis k. Eine Schaltung 453, deren Einzelheiten in Fig. 50 gezeigt sind, berechnet aus k den Wert 1-k. Das Teilungsverhältnis k ist eine mit vier Bits dargestellte Bruchzahl und aus den Werten 0, 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8 und 1 ausgewählt. Insbesondere wird k von vier Bit-Signalen x(0), x(-1), x(-2) und x(-3) (die jeweils "0" oder "1" sind) folgendermaßen dargestellt:
k = 1 x(0) + 1/2 x(-1) + 1/4 x(-2) + 1/8 x(-3)
so daß der Wert 1-k als Zweierkomplement von k dargestellt werden kann. Die in Fig. 50 gezeigte Schaltung berechnet den Wert von 1-k durch Bestimmung des Zweierkomplements von k, indem sie die jeweiligen Bits mit Hilfe von Invertierern 462 bis 464 invertiert und zu dem niedrigstwertigen Bit "1" addiert, wobei das höchstwertigste Bit nur dann den Wert "1" annimmt, wenn k Null ist, d. h. nur wenn x(0), x(-), x(-2) und x(-3) alle "0" sind. Fig. 51 zeigt die Einzelheiten einer Schaltung 451 oder 452, die beide gleich aufgebaut sind. Die Schaltung 451 oder 452 erzeugt einen Datenwert A, indem sie aus den eingegebenen Bilddaten die oberen bzw. höherwertigen 7 Bits extrahiert und diese jeweils um ein Bit zu den niedrigeren Bits verschiebt, sowie einen Datenwert C, indem sie die höherwertigen 6 Bits extrahiert und diese jeweils um ein Bit zu den niedrigeren Bits verschiebt. Von der genannten 4-Bit breiten Bruchzahl wird das Bit mit der Wertigkeit 1/8 als Torsignal für den Datenwert C, das mit der Wertigkeit 1/4 als Torsignal für den Datenwert B und das mit der Wertigkeit 1/2 als Torsignal für den Datenwert A verwendet. Jede der gezeigten Torschaltungen gibt die an ihm anstehenden Daten aus, wenn das betreffende Torsignal hohen Pegel hat, während es den Wert Null ausgibt, wenn das betreffende Torsignal niedrigen Pegel hat. Die Summe der Ausgangsdaten der Torschaltungen oder das Signal V(Y) wird von dem Signal bzw. Bit mit der Wertigkeit 1 angewählt, so daß das Produkt der Bilddaten mit dem inneren Teilungsverhältnis erhalten wird. Die genannten Abläufe werden mit einer einem Eingangs-Abtastsynchronisiertakt entsprechenden Dauer durchgeführt, so daß diese Abläufe ein Taktsignal erfordern, das schneller als das Synchronisiersignal der Flächen-Bildvergrößerung ist. Fig. 52 zeigt eine Schaltung zum sukzessiven Erzeugen von α und β, die einen oktalen Aufwärtszähler 481, ein 8-mal schnelleres Taktsignal als das der 2 n -Vergrößerungsschaltung, ein Flip-Flop 482 zur Teilung des Taktsignals auf die halbe Frequenz, ein weiteres Flip-Flop 483 zum Teilen des Ausgangssignals des Flip-Flops 482 auf die halbe Frequenz sowie einen Wähler 484 aufweist. Das Inkrement in α oder β wird auf ein dem Wähler 484 zugeführtes 2-Bit breites Wählsignal hin durch Auswahl eines Taktsignals festgelegt. Dieses Wählsignal wird im Voraus von einer Zentraleinheit in Übereinstimmung mit dem Bildvergrößerungsfaktor eingestellt. Fig. 53 ist ein Zeitdiagramm, das die gegenseitige Beziehung von Taktsignalen der in Fig. 52 gezeigten Schaltung angibt. Die Inkremente von α und β werden unter Verwendung der in Fig. 52 gezeigten Schaltung für jeden Wert von α und β festgelegt. Auf diese Werte werden die vergrößerten Daten aufeinanderfolgend vorbereitet und als Abtastdaten dem Zwischenpuffer 292 über eine Puffersteu 06444 00070 552 001000280000000200012000285910633300040 0002003629984 00004 06325ereinheit (3) 427 zugeführt.
Nachfolgend wird die Feinauflösungsschaltung näher beschrieben. In den von der 2 n -Vergrößerungsschaltung aufbereiteten Daten sind die Haupt- und die Unter-Abtastrichtung jeweils durch die x-Achse bzw. die y-Achse definiert, während jedes Bildelement durch eine Adresse (xs, ys) definiert ist. Der Faktor der Bildverkleinerung in der Haupt-Abtastrichtung ist durch δ (1/2 δ1) und der in der Unter-Abtastrichtung durch ε (1/2 ε1) gegeben. Eine Ausgangsadresse (XD, YD) ist gegeben durch:
wobei xm und ym jeweils den Betrag der Parallelverschiebung entlang der Haupt- bzw. der Unter-Abtastrichtung angeben. Eine Koordinate (xs, ys) gibt ein Bildelement auf einem zentralen von drei aufeinanderfolgenden Rastern des Zwischenpuffers 292 an. Die Werte xD und yD sind gewöhnlich keine ganzen Zahlen, sondern haben gebrochene Anteile. Die Bilddaten werden an einer ganzzahligen Adresse ausgegeben, die sich in der Nähe einer durch die Werte xD und yD definierten Position befindet und die von einer in Fig. 54 gezeigten Schaltung bestimmt werden kann. Fig. 55 zeigt die Umgebung des Punkts (xD, yD). Ein Punkt E entspricht (xD, yD), wobei unterbrochene Linien den verkleinerten Zustand der Daten in dem Zwischenpuffer angeben, während durchgezogene Linien ein Gitter eines ganzzahligen Adressraums der Ausgabedaten angeben. Die Umgebung des Punktes E ist durch ein Rechteck mit den Seitenlängen 1 und m definiert. In dieser Umgebung existiert ein ganzzahliger Adresspunkt a. Im vorliegenden Beispiel sei angenommen, daß die Bedingungen 1 = δ und m = ε gelten und daß der Punkt E im Zentrum des Rechtecks angeordnet ist. Die Koordinaten (xR, yR) eines Punktes R und die Koordinaten (xT, yT) eines Punktes T gemäß Fig. 55 werden mittels einer in Fig. 57 gezeigten Schaltung bestimmt. Die Anfangswerte und Inkremente werden folgendermaßen gewählt:
Für xR und yR weisen die Anfangswerte den Wert "1" auf, um nach dem anschließenden Abschneiden eine ganzzahlige Adresse zu erhalten.
Nachfolgend wird ein Verfahren zur Berechnung des Ausgangswerts näher erläutert. Aus einer ganzzahligen Adresse (xD, yD) in der Umgebung kann gemäß den nachfolgenden Gleichungen eine entsprechende Eingangsandresse (xs, ys) bestimmt werden:
in denen xD und yD ganze Zahlen und xs und ys relle Zahlen sind, die einen gebrochenen Anteil aufweisen. Auf die gleiche Weise wie zuvor beschrieben, werden durch eine Interpolation mit einem auf dem Nachkommaanteil von xs und ys basierenden Interpolationsverhältnis von p : q der Eingangs-Bilddaten derjenigen Punkte, die den ganzzahligen Teilen von xs und ys sowie den ganzzahligen Teilen plus Eins entsprechen, Ausgangsdaten erhalten.
D. h. der Wert p ist gleich dem gebrochenen Anteil von xs und der Wert q ist gleich dem gebrochenen Anteil von ys, wobei für das vorstehende Beispiel des Punktes a ganzzahlige Punkte D, E, G und H aus xs und ys gemäß der Darstellung in Fig. 56 bestimmt werden.
Der Wert des Punktes (xD, yD) ist folglich gegeben durch:
(1-p)(1-q)V(D) + p(1-q)V(E) + (1-p)q V(G) + pqV(H)
Für die Berechnung der Gleichungen (4) und (5) wird eine Schaltung verwendet, die der in Fig. 54 gezeigten ähnlich ist. Wenn zumindest einer der ganzzahligen Anteile der Ausgangswerte xR und xT sowie yR und yT der Fig. 54 wertbehaftet ist und die ganzzahligen Anteile einander gleich sind, wird von einer nicht gezeigten Schaltung ein Impuls als ein Takt der Fig. 55 erzeugt.
Für diese Berechnungen werden die Anfangswerte und die Inkremente wie folgt gewählt:
Gemäß der vorstehenden Beschreibung ist mit der Erfindung also in vorteilhafter Weise eine Bilddrehung und/oder eine Bildmaßstabsänderung eines abgetasteten digitalen Bildes synchron mit dem Abtastvorgang durchführbar, und zwar ohne die Verwendung eines Speichers auf der Eingangsseite und mit einer minimalen Verschlechterung der Bildqualität, die auf eine Anhäufung oder eine Fehlausrichtung der Bildelemente des Bildes zurückzuführen wäre.
Darüber hinaus ermöglicht die Erfindung eine Bilddrehung und/oder Bildmaßstabsänderung an eingegebenen Abtastdaten auf Echtzeitbasis.
Offenbart wurde somit ein Bildverarbeitungsgerät, mit dem eine Bilddrehung oder -Maßstabsänderung ohne den Verlust von Bildelementdaten nach der Bildverarbeitung durchführbar ist. Hierzu wird zunächst eine Zieladresse aus einem Quellsignal berechnet, anschließend werden der Umgebung der derart berechneten Zieladresse entsprechende Quelladressen bestimmt und schließlich werden die Datenwerte für diesen Umgebungsbereich aus den diesen Quelladressen entsprechenden Quelldaten bestimmt.

Claims (32)

1. Bildverarbeitungsgerät, gekennzeichnet durch eine Einrichtung (22′; 22′; 22″) zur mit einem eingegebenen Synchronisiersignal von Quelldaten synchronen Erzeugung von Ziel-Adresskoordinaten für die Quelldaten nach ihrer Verarbeitung, einer Einrichtung (24, 28; 24′, 28′; 24″, 28″) zur Erzeugung von einer Zieladresse in der Umgebung der Ziel-Adresskoordinaten entsprechenden Quell-Adresskoordinaten, sowie durch eine Datenerzeugungseinrichtung (30; 30′; 30″) zur Erzeugung von der Zieladresse entsprechenden Daten aus den Quelldaten der Adressen in der Umgebung der Quell-Adresskoordinaten.
2. Bildverarbeitungsgerät nach Anspruch 1, dadurch gekennzeichnet, daß die Detenerzeugungseinrichtung (30; 30′; 30″) dazu eingerichtet ist, auf der Basis von mehreren Quelldaten eine Interpolation durchzuführen.
3. Bildverarbeitungsgerät nach Anspruch 1, dadurch gekennzeichnet, daß mit der Einrichtung (22; 22′; 22″) zur Erzeugung von Ziel-Adresskoordinaten diese Ziel-Adresskoordinaten gemäß einem Drehungswinkel eines Bildes erzeugbar sind.
4. Bildverarbeitungsgerät nach Anspruch 3, dadurch gekennzeichnet, daß mit der Einrichtung (24, 28; 24′, 28′; 24″, 28″) zur Erzeugung von Quell-Adresskoordinaten gemäß dem Drehhungswinkels des Bildes eines bezüglich der Einrichtung (22; 22′; 22″) zur Erzeugung von Ziel-Adresskoordinaten inverse Umsetzung durchführbar ist.
5. Bildverarbeitungsgerät nach Anspruch 1, dadurch gekennzeichnet, daß mit der Einrichtung (22; 22′; 22″) zur Erzeugung von Ziel-Adresskoordinaten diese Ziel-Adresskoordinaten in Übereinstimmung mit einem Faktor einer Bildmaßstabsänderung sowie einem Drehungswinkel des Bildes erzeugbar sind.
6. Bildverarbeitungsgerät nach Anspruch 5, dadurch gekennzeichnet, daß mit der Einrichtung (24, 28; 24′, 28′; 24″, 28″) zur Erzeugung von Quell-Adresskoordinaten in Übereinstimmung mit dem Faktor der Bildmaßstabsänderung sowie dem Drehungswinkels des Bildes eine bezüglich der Einrichtung (22; 22′; 22″) zur Erzeugung von Ziel-Adresskoordinaten inverse Umsetzung durchführbar ist.
7. Bildverarbeitungsverfahren, dadurch gekennzeichnet, daß zur Drehung eines gerade bearbeiteten Bildelements eines zu drehenden Bildes ein Ausgabe-Bildelement in einer Fläche, deren Flächenschwerpunkt im Zentrum eines gedrehten Bildelements liegt und deren Seitenlänge gleich dem K-fachen des Bildelementabstands der Ausgabe-Bildelemente ist, als ein einer Interpolation zu unterziehendes Ausgabe-Bildelement erfaßt wird, und daß sukzessiv und synchron mit einem eingegebenen Haupt-Abtastsynchronisiersignal interpolierte Werte von Daten des gedrehten Bildes in der Umgebung des der Interpolation zu unterziehenden Ausgabe-Bildelements bestimmt werden.
8. Bildverarbeitungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Fläche ein Quadrat ist.
9. Bildverarbeitungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Wert K gleich (cosϑ + sinϑ) ist, wobei mit ϑ der Winkel der Drehung bezeichnet ist.
10. Bildverarbeitungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Wert K gleich ist.
11. Bildverarbeitungsverfahren, dadurch gekennzeichnet, daß ein imaginärer Bildelementabstand, der kleiner als ein Abtast- Bildelementabstand eines Ausgabebildes ist, gewählt wird, gedrehte Daten einer dem imaginären Bildelementabstand entsprechenden imaginären Koordinate zugeordnet werden, und daß für jede Adresse in einem dem Abtast-Bildelementabstand des Ausgabebildes entsprechenden Adressraum ein Ausgabe-Datenwert aus den verarbeiteten Daten an der imaginären Koordinate bestimmt wird.
12. Bildverarbeitungsverfahren nach Anspruch 11, dadurch gekennzeichnet, daß der Ausgabe-Datenwert durch Interpolation mehrerer Eingabe-Bilddatenwerte erhalten wird.
13. Bildverarbeitungsverfahren nach Anspruch 11, dadurch gekennzeichnet, daß die Bestimmung des Ausgabe-Datenwerts synchron mit einem Haupt-Abtastsynchronisiersignal des Eingabebildes durchgeführt wird.
14. Bildverarbeitungsverfahren, dadurch gekennzeichnet, daß ein zu bearbeitendes Bildelement eines Eingabebildes einer vorbestimmten Verarbeitung unterzogen wird, um seine Ausgabeadresse zu bestimmen, daß aus dieser Ausgabeadresse eine Ausgabe- Bildelementadresse eines Ausgabe-Bildelements in dessen Umgebung bestimmt wird, daß eine Eingabeadresse des Eingabebildes aus der Ausgabe-Bildelementadresse eingestellt wird, daß ein Datenwert der Eingabeadresse aus mehreren Eingabe- Bilddatenwerten in der Umgebung der Eingabeadresse bestimmt wird, und daß der Datenwert der Eingabeadresse als Datenwert der Ausgabe-Bildelementadresse gewählt wird.
15. Bildverarbeitungsverfahren nach Anspruch 14, dadurch gekennzeichnet, daß die Ausgabe-Bildelementadresse aus einer Ausgabe-Bildelementposition bestimmt wird, die in einer Fläche mit einer vorbestimmten Größe enthalten ist, deren Flächenschwerpunkt an der Ausgabeadresse liegt.
16. Bildverarbeitungsverfahren nach Anspruch 14, dadurch gekennzeichnet, daß dann, wenn die vorbestimmte Verarbeitung eine Bilddrehung ist, die Fläche mit der vorbestimmten Größe ein Quadrat ist, dessen Seitenlänge gleich dem Produkt aus dem Bildelementabstand der Ausgabe-Bildelemente und (cosϑ + sinϑ) ist, wobei mit ϑ der Drehungswinkel bezeichnet ist.
17. Bildverarbeitungsverfahren nach Anspruch 14, dadurch gekennzeichnet, daß dann, wenn die vorbestimmte Verarbeitung eine Bilddrehung ist, die Fläche mit der vorbestimmten Größe ein Quadrat ist, dessen Seitenlänge gleich dem -fachen des Bildelementabstands der Ausgabe-Bildelemente ist.
18. Bildverarbeitungsverfahren, dadurch gekennzeichnet, daß bei der Durchführung einer Bilddrehung und einer gleichzeitigen Maßstabsänderung um das α-fache in der Haupt-Abtastrichtung eines Eingabe-Abtastbildes und um das β-fache in dessen Unter-Abtastrichtung an der Position eines betrachteten Bildelements in dem Bild nach der Maßstabsänderung und Drehung ein Rechteck mit Seitenlängen α K und β K angenommen wird, wobei K eine Konstante ist, und daß die Daten eines in der Fläche des Rechtecks liegenden Ausgabe-Bildelements durch Interpolation der Werte mehrerer in der Umgebung dieses Ausgabe- Bildelements befindlicher Eingabe-Bildelemente bestimmt werden.
19. Bildverarbeitungsverfahren nach Anspruch 18, dadurch gekennzeichnet, daß die Konstante K gleich (sinϑ + cosϑ) ist, wobei mit ϑ der Drehungswinkel der Bilddrehung bezeichnet ist.
20. Bildverarbeitungsverfahren nach Anspruch 18, dadurch gekennzeichnet, daß die Konstante K gleich ist.
21. Bildverarbeitungsverfahren nach Anspruch 18, dadurch gekennzeichnet, daß zur Bestimmung der Daten des Ausgabe-Bildelements eine zu einem Synchronisiersignal für das Eingabe- Abtastbild synchrone Interpolation durchgeführt wird.
22. Bildverarbeitungsverfahren nach Anspruch 18, dadurch gekennzeichnet, daß die Werte α und β unabhängig voneinander sind.
23. Bildverarbeitungsgerät, gekennzeichnet durch eine Einrichtung (4, 8) zur Eingabe eines zu verarbeitenden Bildes, eine Einstelleinrichtung (2) zur Einstellung eines Drehungswinkels für das Bild, sowie durch eine Einrichtung (10) zur Bestimmung einer Linie in der Haupt-Abtastrichtung des Bildes nach dessen Drehung, wobei diese Linie von dem Drehungswinkel bestimmt wird.
24. Bildverarbeitungsgerät nach Anspruch 23, dadurch gekennzeichnet, daß aus Adressen der Zentren von auf der Linie ermittelten Bildelementen synchron mit der Unter-Abtastung des eingegebenen Bildes ein Anfangs-Ausgabebildelement auf dieser Linie bestimmt wird.
25. Bildverarbeitungsgerät nach Anspruch 23, dadurch gekennzeichnet, daß die Bildelementdaten jedes Bildelementzentrums auf der derart bestimmten Linie aus dem eingegebenen Bild bestimmt werden.
26. Bildverarbeitungsgerät nach Anspruch 23, dadurch gekennzeichnet, daß die Einrichtung zur Bestimmung der Linie eine digitale Differentialanalyse verwendet.
27. Bildverarbeitungsgerät nach Anspruch 23, gekennzeichnet durch eine Tabelle zur Ermittlung eines Bildelementzentrums auf der derart bestimmten Linie, aus der die Ausgabe zu erzeugen ist.
28. Bildverarbeitungsverfahren zur Bilddrehung, dadurch gekennzeichnet, daß in der Unter-Abtastrichtung eine Adresse bestimmt wird, die stets jeder Adresse in der Haupt-Abtastrichtung eines verarbeiteten Bildes entspricht, um dadurch eine approximierte Linie in der Haupt-Abtastrichtung der verarbeitenden Bildes zu erzeugen, daß aus der derart bestimmten Adresse eine entsprechende Koordinate in dem Originalbild bestimmt wird, und daß Bildelementdaten des verarbeitenden Bildes durch Interpolation von Bildelementdaten des Originalbildes in der Umgebung dieser Koordinate bestimmt werden.
29. Bildverarbeitungsverfahren nach Anspruch 28, dadurch gekennzeichnet, daß eine Strahlung verwendet wird, mit der zur Bestimmung der Adresse zum Erhalten der approximierten Linie eine digitale Differentialanalyse durchgeführt wird und Additionen durch Schalten zweier Inkrementalregister durchgeführt werden.
30. Bildverarbeitungsverfahren nach Anspruch 28, dadurch gekennzeichnet, daß als Parameter für die Interpolation der Inhalt eines Registers herangezogen wird, das in der digitalen Differentialanalys eine Bruchzahl speichert.
31. Bildverarbeitungsverfahren nach Anspruch 28, dadurch gekennzeichnet, daß die Interpolation eine lineare Interpolation zwischen zwei Punkten ist.
32. Bildverarbeitungsgerät, gekennzeichnet durch eine Einrichtung (4, 8) zur Eingabe von Eingabe-Bilddaten, eine Puffereinrichtung (8) zur Speicherung von mindestens zwei Zeilen der Eingabe-Bilddaten, sowie durch eine Verarbeitungseinrichtung (10) zur Bestimmung der Daten eines betrachteten Punktes in einer rechteckigen Fläche aus digitalen Daten von vier die rechteckige Fläche in der Puffereinrichtung darstellenden Punkten auf der Basis von inneren Teilungsverhältnissen des betrachteten Punktes in der rechteckigen Fläche und synchron mit der Eingabe der Eingabe-Bilddaten.
DE19863629984 1985-09-04 1986-09-03 Bildverarbeitungsverfahren und -geraet Granted DE3629984A1 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP60196187A JPS6256074A (ja) 1985-09-04 1985-09-04 画像処理方法
JP60196188A JPS6256075A (ja) 1985-09-04 1985-09-04 画像処理方法
JP60196186A JPS6256073A (ja) 1985-09-04 1985-09-04 画像処理方法
JP60233032A JPH0777416B2 (ja) 1985-10-18 1985-10-18 画像処理装置
JP60269881A JPS62128374A (ja) 1985-11-29 1985-11-29 画像処理方法
JP60281624A JPS62139084A (ja) 1985-12-13 1985-12-13 画像処理装置
JP60281625A JPS62139085A (ja) 1985-12-13 1985-12-13 画像処理装置
JP60281621A JPS62139082A (ja) 1985-12-13 1985-12-13 画像処理装置
JP60287111A JPS62145482A (ja) 1985-12-20 1985-12-20 画像処理装置

Publications (2)

Publication Number Publication Date
DE3629984A1 true DE3629984A1 (de) 1987-03-05
DE3629984C2 DE3629984C2 (de) 1989-07-20

Family

ID=27577586

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863629984 Granted DE3629984A1 (de) 1985-09-04 1986-09-03 Bildverarbeitungsverfahren und -geraet

Country Status (2)

Country Link
US (1) US4850028A (de)
DE (1) DE3629984A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0396311A2 (de) * 1989-04-28 1990-11-07 International Business Machines Corporation Bildverarbeitungsverfahren und -gerät
US6640018B1 (en) 1999-06-08 2003-10-28 Siemens Aktiengesellschaft Method for rotating image records with non-isotropic topical resolution

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650764T2 (de) * 1985-12-13 2002-07-11 Canon Kk Bildverarbeitungsgerät
JPH074952B2 (ja) * 1987-01-12 1995-01-25 キヤノン株式会社 プリンタ制御装置
US4985849A (en) * 1987-06-12 1991-01-15 Canon Kabushiki Kaisha Image processing system for forming a slantwise-mapped or rotated modified image of an original image
JPH02104174A (ja) * 1988-10-13 1990-04-17 Toshiba Corp X線診断装置
US5721884A (en) * 1988-11-17 1998-02-24 Canon Kabushiki Kaisha Apparatus for combining and separating color component data in an image processing system
DE69033514D1 (de) * 1989-02-08 2000-05-31 Canon Kk Figurverarbeitungsgerät
IL90385A0 (en) * 1989-05-23 1989-12-15 Joel Isaacson Apparatus and method for image processing
JP2725062B2 (ja) * 1989-08-01 1998-03-09 株式会社リコー 画像処理装置
CA2129092C (en) * 1993-10-04 1999-10-19 Leon C. Williams Image interpolation apparatus
US6061467A (en) * 1994-05-02 2000-05-09 Cognex Corporation Automated optical inspection apparatus using nearest neighbor interpolation
US5671440A (en) * 1994-08-08 1997-09-23 Eastman Kodak Company Color image data reorientation and format conversion system
CN1081369C (zh) * 1994-12-27 2002-03-20 联华电子股份有限公司 图象合成装置的二维转换装置的二维旋转方法
GB2312119B (en) * 1996-04-12 2000-04-05 Lightworks Editing Systems Ltd Digital video effects apparatus and method therefor
US6157751A (en) * 1997-12-30 2000-12-05 Cognex Corporation Method and apparatus for interleaving a parallel image processing memory
US6307588B1 (en) 1997-12-30 2001-10-23 Cognex Corporation Method and apparatus for address expansion in a parallel image processing memory
US5982395A (en) * 1997-12-31 1999-11-09 Cognex Corporation Method and apparatus for parallel addressing of an image processing memory
US6310986B2 (en) * 1998-12-03 2001-10-30 Oak Technology, Inc. Image rotation assist circuitry and method
US6611631B1 (en) * 1999-03-01 2003-08-26 Adobe Systems Incorporated Data management for rotated sampled images
DE19932631A1 (de) * 1999-06-08 2000-12-21 Siemens Ag Verfahren zur Drehung von Bilddatensätzen mit nichtisotroper Ortsauflösung
US9063921B1 (en) 2005-08-10 2015-06-23 Printable Technologies, Inc. System and method for distributed design of a variable data publication
US8121441B2 (en) * 2007-10-26 2012-02-21 Murata Machinery, Ltd. Image processing apparatus, image scanning apparatus, image processing method, and image processing program
US8670149B2 (en) 2009-08-03 2014-03-11 Printable Technologies Inc. Apparatus and methods for image processing optimization for variable data printing
US8717596B2 (en) 2009-09-30 2014-05-06 Printable Technologies Inc. Systems and methods for providing variable data printing (VDP) using dynamic font downgrading
AU2011253779A1 (en) * 2011-12-01 2013-06-20 Canon Kabushiki Kaisha Estimation of shift and small image distortion
US9977771B2 (en) 2013-03-14 2018-05-22 Pti Marketing Technologies Inc. System and method for printable document viewer optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1982003712A1 (en) * 1981-04-10 1982-10-28 Gabriel Steven Allen Controller for system for spatially transforming images
DE3419063A1 (de) * 1983-05-23 1984-11-29 Hitachi, Ltd., Tokio/Tokyo Verarbeitungsverfahren fuer die drehung eines bildes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8306339D0 (en) * 1982-03-19 1983-04-13 Quantel Ltd Video processing systems
GB2119197B (en) * 1982-03-19 1986-02-05 Quantel Ltd Video processing system for picture rotation
JPS60106267A (ja) * 1983-11-15 1985-06-11 Canon Inc 複写記録装置
US4712185A (en) * 1984-04-28 1987-12-08 Kabushiki Kaisha Toshiba Dot interpolation control system
US4667236A (en) * 1985-04-26 1987-05-19 Digital Services Corporation Television perspective effects system
US4647971A (en) * 1985-04-26 1987-03-03 Digital Services Corporation Moving video special effects system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1982003712A1 (en) * 1981-04-10 1982-10-28 Gabriel Steven Allen Controller for system for spatially transforming images
DE3419063A1 (de) * 1983-05-23 1984-11-29 Hitachi, Ltd., Tokio/Tokyo Verarbeitungsverfahren fuer die drehung eines bildes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0396311A2 (de) * 1989-04-28 1990-11-07 International Business Machines Corporation Bildverarbeitungsverfahren und -gerät
EP0396311A3 (de) * 1989-04-28 1992-12-16 International Business Machines Corporation Bildverarbeitungsverfahren und -gerät
US6640018B1 (en) 1999-06-08 2003-10-28 Siemens Aktiengesellschaft Method for rotating image records with non-isotropic topical resolution

Also Published As

Publication number Publication date
DE3629984C2 (de) 1989-07-20
US4850028A (en) 1989-07-18

Similar Documents

Publication Publication Date Title
DE3629984C2 (de)
DE2950712C2 (de) Einrichtung zur Erzeugung eines elektronischen Hintergrundrasters
DE3417195C2 (de)
DE3005823C2 (de)
DE3309846C2 (de)
DE2703158C3 (de) Einrichtung zum Erfassen der Position eines Musters oder Zeichens
DE2948341A1 (de) Verfahren zum verarbeiten von bildelementen und vorrichtung zum verarbeiten einer bilddatenreihe
DE2621339A1 (de) Abtastumsetzer zur umsetzung von daten im polarkoordinatensystem in daten im kartesischen koordinatensystem
DE2404183B2 (de) Vorrichtung zur Erkennung der Lage eines Musters
DE3315148C2 (de)
DE3804938A1 (de) Bildverarbeitungseinrichtung
DE3401624A1 (de) Verfahren und vorrichtung zur groessenumwandlung in einem bildreproduktionssystem
DE10156040B4 (de) Verfahren, Vorrichtung und Computerprogramm-Produkt zum Entzerren einer eingescannten Abbildung
DE3143429C2 (de)
DE3019332C2 (de) Fernsehtest-Signalgenerator
DE3524505A1 (de) Bilderkennungsvorrichtung
DE2821421C3 (de) Umwandelndes Abtast-Anzeige-System
DE3508606C2 (de)
DE3900489C2 (de) Einrichtung zur Erzeugung von Steuersignalen für eine Videomischeinrichtung
EP0121766B1 (de) Verfahren und Vorrichtung zur Darstellung von Bildinformationen
DE2461651B2 (de) Zählvorrichtung zum Zählen von Mustern
DE2131311B2 (de) Bildübertragungssystem
DE3632813C2 (de)
DE2354769B2 (de) Verfahren und anordnung zur quantitativen auswertung der objekte eines nach einem rasterverfahren aufgenommenen bildes
DE2350018B2 (de) Bildanalysator

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee