DE3629984A1 - Bildverarbeitungsverfahren und -geraet - Google Patents
Bildverarbeitungsverfahren und -geraetInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 26
- 238000012545 processing Methods 0.000 claims description 52
- 230000008859 change Effects 0.000 claims description 44
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 239000000872 buffer Substances 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000007792 addition Methods 0.000 claims 1
- 230000005484 gravity Effects 0.000 claims 1
- 230000005855 radiation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 50
- 238000000034 method Methods 0.000 description 37
- 230000015654 memory Effects 0.000 description 23
- 230000004044 response Effects 0.000 description 18
- 238000001514 detection method Methods 0.000 description 16
- 230000009467 reduction Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006866 deterioration Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (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
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).
= (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
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
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-m)·X72,
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)
= (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.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60196187A JPS6256074A (ja) | 1985-09-04 | 1985-09-04 | 画像処理方法 |
JP60196186A JPS6256073A (ja) | 1985-09-04 | 1985-09-04 | 画像処理方法 |
JP60196188A JPS6256075A (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 | 画像処理方法 |
JP60281621A JPS62139082A (ja) | 1985-12-13 | 1985-12-13 | 画像処理装置 |
JP60281625A JPS62139085A (ja) | 1985-12-13 | 1985-12-13 | 画像処理装置 |
JP60281624A JPS62139084A (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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3650771D1 (de) * | 1985-12-13 | 2002-08-14 | 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 |
US6307588B1 (en) | 1997-12-30 | 2001-10-23 | Cognex Corporation | Method and apparatus for address expansion in a parallel image processing memory |
US6157751A (en) * | 1997-12-30 | 2000-12-05 | Cognex Corporation | Method and apparatus for interleaving 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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2119197B (en) * | 1982-03-19 | 1986-02-05 | Quantel Ltd | Video processing system for picture rotation |
GB8306339D0 (en) * | 1982-03-19 | 1983-04-13 | Quantel Ltd | Video processing systems |
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 |
US4647971A (en) * | 1985-04-26 | 1987-03-03 | Digital Services Corporation | Moving video special effects system |
US4667236A (en) * | 1985-04-26 | 1987-05-19 | Digital Services Corporation | Television perspective effects system |
-
1986
- 1986-08-29 US US06/902,320 patent/US4850028A/en not_active Expired - Lifetime
- 1986-09-03 DE DE19863629984 patent/DE3629984A1/de active Granted
Patent Citations (2)
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)
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) | ||
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 | |
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 | |
DE3518281A1 (de) | Sichtanzeige-interpolationsschaltung | |
EP1034511B1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung |
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 |