DE3629984C2 - - Google Patents
Info
- Publication number
- DE3629984C2 DE3629984C2 DE3629984A DE3629984A DE3629984C2 DE 3629984 C2 DE3629984 C2 DE 3629984C2 DE 3629984 A DE3629984 A DE 3629984A DE 3629984 A DE3629984 A DE 3629984A DE 3629984 C2 DE3629984 C2 DE 3629984C2
- Authority
- DE
- Germany
- Prior art keywords
- image
- data
- value
- circuit
- rotation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 238000012545 processing Methods 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 54
- 238000004364 calculation method Methods 0.000 description 34
- 238000000034 method Methods 0.000 description 31
- 238000001514 detection method Methods 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 11
- 238000005520 cutting process Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission 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
- 238000002372 labelling Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002904 solvent Substances 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 Bildverarbeitungsgerät
gemäß dem Oberbegriff des Patentanspruchs 1.
Ein Bildverarbeitungsgerät dieser Art ist in der WO
82/03 712 beschrieben. Bei diesem bekannten Bildverarbeitungsgerät
wird an einem Originalbild, dessen Bilddaten
mittels einer Eingangseinrichtung in Übereinstimmung mit
einem Synchronisiersignal zugeführt werden, eine durch
Parameter vorwählbare Verarbeitung durchgeführt, die z. B.
in einer Bildrotation, einer Bildverschiebung, einer Maßstabsänderung
oder einer Kombination dieser Verarbeitungsmöglichkeiten
bestehen kann und durch Umsetzung der Adressen
der Bilddaten des Originalbilds realisiert wird. Die
eingegebenen Bilddaten, die in zwei Koordinatenrichtungen
angeordnet sind, werden hierzu zunächst in einen ersten
Speicher eingelesen, in diesem von einer ersten Koordinaten-
Umsetzeinrichtung einer Vertikal-Koordinatenumsetzung
unterzogen, anschließend in einen zweiten Speicher über
tragen und in diesem schließlich von einer zweiten
Koordinaten-Umsetzeinrichtung einer Horizontal-Koordinatenumsetzung
unterzogen.
Aufgrund des vorgenannten Aufbaus des bekannten Bildverarbeitungsgeräts
sind für die vollständige Umsetzung des eingegebenen
Originalbilds zwei Speicher erforderlich, deren
Kapazität so zu bemessen ist, daß jeweils eine einem Vollbild
entsprechende Bilddatenmenge gespeichert werden kann.
Trotz der derzeit fallenden Preise für Halbleiterspeicher
stellen Speicherbausteine mit einer derart hohen Speicherkapazität
einen erheblichen Kostenfaktor dar, so daß das
bekannte Datenverarbeitungsgerät insgesamt relativ teuer in
seiner Herstellung ist.
In der DE 34 19 063 A1 ist ein weiteres Bildverarbeitungsgerät
dieser Art beschrieben, bei dem die Koordinaten- bzw.
Adressumsetzung der zu verarbeitenden Bilddaten des Originalbilds
gleichfalls in mehreren Zyklen, nämlich mittels
einer ersten Schrägtransformation, einer Maßstabsänderung
und einer zweiten Schrägtransformation erfolgt. Auch in
diesem Falle ist ein Bildspeicher erforderlich, dessen
Speicherkapazität mindestens die Speicherung der Bilddaten
eines Vollbildes gestattet. Somit stellt der Bildspeicher
ebenfalls einen beträchtlichen Kostenfaktor dar, der die Geräte-
Gesamtkosten entsprechend erhöht.
Ein weiterer Nachteil der bekannten Geräte liegt darin, daß
gemäß der Darstellung in den Fig. 1A bis 1D, anhand derer
schematisch eine Bildrotation und eine gleichzeitig damit
durchgeführte Maßstabsänderung veranschaulicht ist, Bildelemente,
die in den Ausgabebildern der Fig. 1B und 1C schraffiert
dargestellt sind, nach der Verarbeitung fehlen, so daß
das jeweils verarbeitete Bild gegenüber dem in der Fig. 1A
gezeigten Originalbild eine Qualitätseinbuße erleidet.
Der Erfindung liegt die Aufgabe zugrunde, ein Bildverarbeitungsgerät
gemäß dem Oberbegriff des Patentanspruchs 1
derart weiterzubilden, daß zur Bildverarbeitung ein Speicher
mit möglichst geringer Speicherkapazität ausreichend ist und
daß das Ausgabebild die gleiche Qualität wie das Originalbild
aufweist.
Diese Aufgabe wird erfindungsgemäß mit den im Kennzeichnungsteil
des Patentanspruchs 1 angegebenen Maßnahmen ge
löst.
Hierdurch wird erreicht, daß die Bildverarbeitung mittels
eines Speichers durchgeführt werden kann, der beispielsweise
lediglich aus vier Zeilenspeichern besteht. Die erforderliche
Speicherkapazität ist daher im Vergleich zu den bekannten
Geräten drastisch reduziert, so daß die Herstellungskosten
des Geräts entsprechend herabgesetzt sind, was die
Einsatzmöglichkeiten des erfindungsgemäßen Bildverarbeitungsgeräts
in gleichem Maße erhöht. Darüber hinaus fehlen
im jeweils erzeugten Ausgabebild keine Bildelemente, so
daß die Bildqualität gegenüber dem Originalbild in keiner
Weise herabgesetzt ist. Schließlich wird erfindungsgemäß
auch eine höhere Verarbeitungsgeschwindigkeit als mit den
bekannten Geräten erzielt.
Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand
der Unteransprüche.
Die Erfindung wird nachstehend anhand der Beschreibung eines
Ausführungsbeispiels unter Bezugnahme auf die Zeichnung näher
erläutert. Es zeigen:
Fig. 1 schematisch eine Bildverarbeitung mit den
bekannten Geräten,
Fig. 2 schematisch ein erstes Ausführungs
beispiel.
Fig. 3A ein Blockschaltbild einer ersten Hälfte dieses
Ausführungsbeispiels,
Fig. 3B ein Blockschaltbild einer zweiten Hälfte dieses
Ausführungsbeispiels,
Fig. 4 ein detailliertes Blockschaltbild einer in
Fig. 3A gezeigten Einrichtung zur Berechnung von Koordinaten
nach einer Drehung,
Fig. 5A und 5B ein detailliertes Blockschaltbild einer
in Fig. 3A gezeigten Einrichtung zur Erfassung eines
Innenflächen-Gitterpunkts,
Fig. 5C anhand eines Impulsdiagramms den Verlauf eines Haupt-Abtastsynchronisiersignals
und eines Haupt-Abtastablauf-Synchroni
siersignals,
Fig. 5D anhand eines Impulsdiagramms den Verlauf des Haupt-Abtastsynchronisiersignals
und eines Unter-Abtastablauf-Synchroni
siersignals,
Fig. 6 ein detailliertes Blockschaltbild einer in
Fig. 3B gezeigten Koordinaten-Invertierungsschaltung,
Fig. 7 ein detailliertes Blockschaltbild einer in
Fig. 3B gezeigten Interpolationsschaltung,
Fig. 8 schematisch eine Bildabtastung,
Fig. 9 anhand eines Impulsdiagramms den Verlauf eines Seiten-Synchronisiersignals
und eines Unter-Abtastsynchronisiersignals,
Fig. 10 anhand eines Impulsdiagramms den Verlauf eines Unter-Abtastsynchronisiersignals
und eines Haupt-Abtastsynchronisier
signals,
Fig. 11A schematisch einen Rasterspeicher,
Fig. 11B und 11C schematisch die Beziehung des Rasterschpeichers
zu abgetasteten Daten,
Fig. 12 einen Interpolationszustand,
Fig. 13A, 13B und 13C ein Verfahren zum Erzielen von
interpolierten Ausgangsbilddaten aus abgetasteten
Originalbilddaten, die einer Bilddrehung und Maßstabsänderung
unterzogen worden sind,
Fig. 14 anhand eines Blockschaltbilds 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 Bilddrehung,
Fig. 17 ein detailliertes Blockschaltbild einer in
Fig. 15A gezeigten Gitterpunkt-Berechnungsschaltung
24′,
Fig. 18 ein detailliertes Blockschaltbild einer in
Fig. 15B gezeigten Koordinaten-Invertierungsschaltung
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 Erzeugen
von interpolierten Ausgangsbilddaten aus abgetasteten
Originalbilddaten, die einer Bildrotation unterzogen
worden sind,
Fig. 22A und 22B Blockschaltbild 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 Erzeugen von interpolierten
Ausgangsbilddaten aus abgetasteten Originalbilddaten,
die einer Bildrotation oder Maßstabsä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 von Ausgabe-Gitterpunkten bei herkömmlichen Einrichtungen
mit der Dichte beim Ausführungsbeispiel,
Fig. 29 ein Blockschaltbild einer ersten Hälfte einer
Adressenerzeugungseinrichtung dieses Ausführungsbeispiels,
Fig. 30 anhand eines Impulsdiagramms den Verlauf von Signalen in der Schaltung
gemäß Fig. 29,
Fig. 31 ein Blockschaltbild einer zweiten Hälfte der
Adressenerzeugungseindrichtung,
Fig. 32 anhand eines Impulsdiagramms den Verlauf von Signalen in der Schaltung
gemäß Fig. 31,
Fig. 33 schematisch ein Verfahren zur gewichteten
Durchschnittsbildung,
Fig. 34 ein schematisches Blockschaltbild eines Bild
verarbeitungsgeräts,
Fig. 35 schematisch das Verfahren der gewichteten
Durchschnittsbildung bei dem Bildverarbeitungsgerät
der Fig. 34,
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
mittels dem die Adressen von Anfangsbildelementen
bestimmbar sind,
Fig. 40 in vergrößerter Form die Trajektorie von An
fangsbildelementen,
Fig. 41 schematisch ein Verfahren zur Bestimmung einer
Startadresse,
Fig. 42 ein Blockschaltbild einer Schaltung zur Bestimmung
einer Zeile in der Haupt-Abtastrichtung des ver
arbeiteten Originalbildes,
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 Aus
gangsbilddaten bei einer Bildvergrößerung oder -verkleine
rung,
Fig. 48 ein Blockschaltbild einer Schaltung zur Vorbereitung
von Interpolationsdaten,
Fig. 49 ein detailliertes 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
zur Bildung eines Interpolationsmaßes,
Fig. 54 einen Schaltplan einer Schaltung zur Adressberechnung
in einer Feinauflösungsschaltung,
Fig. 55 schematisch die Beziehung von Eingangs- zu Ausgangsbilddaten
bei der Feinauflösungsschaltung gemäß Fig. 54,
Fig. 56 schematisch eine Interpolation mittels der Feinauf
lösungsschaltung, und
Fig. 57 ein Blockschaltbild einer Addressberechnungsschaltung
zur inversen Umsetzung mittels der Feinauflösungs
schaltung.
Fig. 2 und deren begleitende Zeichnungen zeigen ein erstes
Ausführungsbeispiel, wobei Fig. 2 ein grundlegendes
Blockschaltbild dieses Ausführungsbeispiels zeigt,
während die Fig. 3A und 3B ein Blockschaltbild einer ersten
bzw. zweiten Hälfte desselben zeigen. Fig. 4 ist ein
ausführliches Blockschaltbild einer in Fig. 3A gezeigten
Schaltung zur Koordinatenerfassung nach einer Bilddrehung bzw. -rotation
oder Bildmaßstabsänderung, Fig. 5 ein detailliertes Blockschaltbild
einer in Fig. 3B gezeigten Innenflächen-Gitterpunkterfassungsschaltung
nach einer Rotation oder Maßstabsä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 einer Bildabtastung, Fig. 9 eine Darstellung
der gegenseitigen Beziehung zwischen einem Seiten-Synchronisiersignal
und einem Unter-Abtastsynchronisiersignal, Fig. 10 eine
Darstellung der gegenseitigen Beziehung zwischen dem Unter-Abtastsychronisier
signal 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 Erzeugen
interpolierter Ausgangsbilddaten aus abgetasteten Eingangsbilddaten
nach einer Bildrotation.
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 entsprechend dem von einem Unter-Abtastsynchronisiersignal
aus startenden Haupt-Abtastsynchronisiersignal,
während Koordinaten 1, 2, 3, . . . in y-Richtung dem Unter-Abtast
synchronisiersignal entsprechen, beginnend bei einem Seiten-
Synchronisiersignal. Eine Koordinate (x 0, y 0) entspricht
somit dem x 0-ten Punkt im y 0-ten Raster des Originalbildes
(siehe Fig. 7, 9 und 10).
Wenn ein Punkt (x, y) in einem orthogonalen Koordinatensystem
durch Drehung um einen Winkel R 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-Abtast
richtung jeweils unabhängigen Maßstabsänderungsfaktor α
bzw. β um ein Zentrum der Maßstabsänderung (xz, yz) zu einen
Punkt (x″, y″) verschoben wird, hingegen die Beziehung:
Wenn daher der Punkt (x, y) durch eine Rotation um den Winkel
R 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 folglich
die Gleichung:
Diese Gleichung kann umgeformt werden in:
Fig. 11B zeigt ein abgetastetes Eingangsbild, während Fig. 11C
ein Bild nach Rotation und davon unabhängiger Bildmaßstabsänderung
zeigt, wobei x das Zentrum der Rotation und der Bildmaßstabsänderung
angibt.
Da α und β in Gleichung (3) gewöhnlich rationale Zahlen sind,
cos R und sin R hingegen irrationale Zahlen sind, sind x″ und
y″ in der Regel selbst dann irrationale Zahlen, wenn x, y, xc,
yc, xz und yz natürliche Zahlen sind. Nach einer Rotation und
einer davon unabhängigen Bildmaßstabsänderung sind die Punkte
des Bildes daher von den durch ein Eingabe-Ausgabe-Synchronisiersignal
definierten Punkten beabstandet.
Der Wert jedes Bildelements im Bild nach einer Rotation 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 betrachteten bzw.
gefaßten Bildelements auf dem zweiten (zentralen) Raster po
sitioniert ist und dessen Länge durch die Beziehung α(|sin R|
+ |cos R|) in der Haupt-Abtastrichtung und durch die Beziehung
β(|sin R| + |cos R|) 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 Bild
elements von den vier Daten von gedrehten bzw. rotierten 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 dann durch die Werte V(a), V(b), V(c) und V(d) der
Bildelemente a, b, c und d gemäß folgender Gleichung be
stimmt:
V(A)=(1-δ)(1-ε)V(a)+ß(1-δ)εV(b)
+δ(1-ε)V(c)+δε V(d) (4)
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
Bildrotation hin stellt eine Instruktionseinheit 2 eine dem
befohlenen Rotationswinkel entsprechende Information in einer Ver
arbeitungsschaltung 10 ein. Auf einen Befehl zur Bildvergrößerung
- oder -verkleinerung hin erhält die Verarbeitungsschaltung
10 in gleicher Weise eine dem Faktor
der Bildmaßstabsänderung in Haupt- Unter-Abtastrichtung
entsprechende Information.
Auf einen Startbefehl der Bedienungsperson hin aktiviert die
Instruktionseinheit dann eine Synchronisier-Steuereinheit
6, die die jeweiligen Abläufe synchronisiert, indem sie einer
Dateneingabeeinrichtung in Form einer Abtast-Datenquelle 4 und der Verarbeitungsschaltung 10 Syn
chronisations- 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 Bild
element-Datenwerts wird durch eine fallende 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 Bildrotation und einer davon unabhängigen
Bildmaßstabsänderung näher erläutert. Gemäß dem von
der Bedienungsperson eingestellten Winkel R werden in einer
ersten Adressenerzeugungseinrichtung zur Berechnung einer jeweils bearbeiteten Koordinate bzw.
einer Arbeitskoordinaten-Berechnungsschaltung 22 und in einer
zweiten Adressenerzeugungseinrichtung in Form einer Koordinaten-Invertierungs
schaltung 28 die Werte von sin R, -sin R und cos R eingestellt,
während in einer Innenflächen-Gitterpunkterfassungsschaltung
24 die Werte von sin R und cos R eingestellt werden. Gemäß
dem von der Bedienungsperson angegebenen Rotationszentrum werden
die Werte für einen Haupt-Abtastversatz (der Rotation) und
einen Unter-Abtastversatz (der Rotation) in der Arbeitskoordinaten-
Berechnungsschaltung 22 und in der Koordinaten-Invers
umsetzungsschaltung 28 eingestellt. Gemäß den Faktoren der
von der Bedienungsperson gewünschten Bildmaßstabsänderung
werden weiterhin Werte α und β der jeweiligen Größe
der Bildmaßstabsänderung in der Haupt- und Unterabtastrich
tung 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 Arbeitkoordinaten-Berechnungsschaltung
22 und in der Koordinaten-Inversumsetzungsschaltung 28 einge
stellt.
Auf ein von der Synchronisier-Steuereinheit 6 erzeugtes Synchronisier
signal hin liefert die Abtast-Datenquelle 4 einem
Rasterspeicher 8, dessen Aufbau in Fig. 11 dargestellt ist,
Bilddaten eines Originalbildes 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 Rotation, 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
ausgegeben.
Gemäß Fig. 3 berechnet die Arbeitskoorinaten-Berechnungsschaltung
22 für die bereits eingegebenen Abtastdaten die
sich durch Bildrotation und/oder Bildvergrößerung oder
-verkleinerung der Eingangskoordinaten ergebenden Koordinaten.
Die Innenflächen-Gitterpunkterfassungsschaltung 24 erfaßt
diejenigen Gitterpunkte es Ausgangsbildes, die sich in
einem Rechteck befinden, dessen Zentrum an den Arbeitskoordinaten
liegt und dessen Länge in der Haupt-Abtastrichtung α(|sin R|+|cos R|) und in der Unter-Abtastrichtung β(|sin R|+
|cos R|) beträgt. Anhand des derart erfaßten Gitterpunktes
bestimmt die Koordinaten-Inversumsetzungsschaltung 28
sukzessiv die Koordinaten dieses Gitterpunkts in einem Koordinatensystem,
das zuvor selbst der Rotation und davon unabhängigen
Maßstabsänderung unterzogen worden ist. Aus diesen Koordinaten
werden die bei der Interpolation zu verwendenden Eingabebildemente
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 Datenwert 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) bestimmen sich jeweils aus den
Ausgangssignalen des Haupt-Abtastzählers 42 bzw. des Unter-Abtast
zählers 41, während die Werte xc und yc jeweils
durch den Haupt-Abtastversatz (der Rotation) 43 und den Unter-
Abtastversatz (der Rotation) 44 gegeben sind, welche die Koordinaten
des Zentrums der Drehung definieren. Gemäß dem Rotationswinkel
R werden die Werte von sin R, und -sin R als
Konstante eingestellt. Durch Addition, Subtraktion und Multiplikation
dieser Daten werden die nach der Rotation 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 Bildrotation und Bildmaßstabsänderung
gültigen Koordinaten bzw. Adressen x″ und y″ erhalten werden.
Nachfolgend wird unter Bezugnahme auf Fig. 5A die Innenflächen-
Gitterpunkterfassungsschaltung 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 R|+|cos R|) und in der Unter-Ab
tasteinrichtung β(|sin R|+|cos R|) beträgt, sowie ferner 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 die Schaltung 24
nach dem Abschneiden eines Nachkommateils einen ganzzahligen
Teil eines durch Addition von α(|cos R|+|sin R|)/2 zu x″ erhaltenen
Wertes sowie einen weiteren ganzzahligen Teil z aus,
den sie durch Subtraktion von α(|cos R|+|sin R|)/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 R|+|sin R|)/2 zu y″ erhaltenen Wertes sowie einen weiteren
ganzzahligen Teil aus, den sie durch Subtraktion von β(|cos R|+|sin R|)/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 ge
wünschten Gitterpunkte, die in Fig. 13A durch A und B dargestellt
sind.
Die Koordinaten dieser Gitterpunkte in einem Koordinatensystem,
das seinerseits der Rotation und Maßstabsänderung unterzogen
ist, werden von einer in Fig. 6 gezeigten Koordinaten-
Umsetzschaltung bestimmt, welche durch eine unabhängige
Maßstabsänderung um 1/α in Haupt-Abtastrichtung bzw. umd 1/β
in Unter-Abtastrichtung und durch eine Rotation umd -R eine Umsetzung durchführt, die bezüglich
der von der in Fig. 4 gezeigten Arbeitskoordinaten-
Berechnungsschaltung 22 durchgeführten Verarbeitung invers ist.
Die Werte 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 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
Berechnung 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 Koodinatensytem
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-Abtstkoordinaten
aller in dieser Fläche befindlichen Gitterpunkte,
und zwar synchron zu einem Haupt-Abtastablauf-Synchronisiersignal,
das eine höhere Frequenz als das Haupt-Abtastsynchronisiersignal
hat, und synchron zu einem Unter-Abtastablauf-Synchronisiersignal,
das eine höhere Frequenz als das Haupt-Abtastablauf-
Synchronisiersignal hat. Im Vergleich zu dem Haupt-Abtast
synchronisiersignal hat das Haupt-Abtastablauf-Synchronisiersignal
eine mindestens um einen Faktor höhere Frequenz, der durch
den ganzzahligen Teil der Größe der Maßstabsänderung× +1 gegeben ist. Im Ausführungsbeispiel hat es eine viermal höhere
Frequenz (siehe Fig. 5C). Im Vergleich zu dem Haupt-Abtastablauf-
Synchronisiersignal hat das Unter-Abtastablauf-Synchronisiersignal
gleichfalls eine mindestens um einen Faktor höhere Frequenz, der
durch den ganzzahligen Teil der Größe der Maßstabsänderung× +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 eine (1.6× +1=3mal so hohe
Frequenz haben. 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-
Verarbeitungsschaltung führt die Berechnung
der Gleichung (2) durch, indem sie zunächst
δ{V(c)-V(a)}+V(a)=(1-δ V(a)+δ V(c)=V 1
und
δ{V(d)-V(b)}+V(b)=(1-δ V(b)+δ )V(d)=V 2
berechnet und daraufhin den Ausdruck
ε V 2-V 1)+V 1=(1-ε )V 1+ε V 2
=(1-δ ) (1-ε )V(a)+(1-δ ) ε V(b)+δ(1-ε )V(c)
+δε V(d)=V(D)
ermittelt.
Die in Fig. 5A gezeigte Gitterpunkt-Erfassungsschaltung 24 bestimmt
die Seitenlängen des Rechtecks mittels der gemäß dem
Rotationswinkel R festgelegten Werte |sin R| und |cos R|. Gemäß
Fig. 14 kann jedoch auch eine von dem Rotationswinkel R unabhängige
Konstante K=2 verwendet werden. In diesem Fall ist
es möglich, auf die Einstellung dieser Werte zu verzichten
und somit den Umfang der Schaltung zu verringern. Die Seitenlänge
des Rechtecks beträgt hierbei in der Haupt-Abtastrichtung
α k .
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
Bildrotation erläutert.
Nachfolgend soll eine Abwandlungsform erläutert werden, bei
der das Bild im gleichen Maßstab 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 ein 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 eingegebenen 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 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, . . . ind y-Richtung dem Unter-
Abtastsynchronisiersignal entsprechen, beginnend bei einem Seiten-
Synchronisiersignal. Eine Koordinate (x 0, y 0) entspricht
somit dem x 0-ten Punkt im y 0-ten Raster des Originalbildes
(siehe Fig. 7, 9 und 10).
Wenn ein Punkt (x, y) in einem orthogonalen Koordinatensystem
durch Rotation um einen Winkel R um einen Punkt (xc, yc) zu
einem Punkt (x′, y′) bewegt wird, gilt die Beziehung:
Die Beziehung zwischen einem 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 Rotationszentrum angibt.
Da cos R und sin R in Gleichung (1) gewöhnlich irrationale Zahlen
sind, sind x′ und y′ selbst dann irrationale
Zahlen, wenn x, y und xc natürliche Zahlen sind. Nach einer
Rotation sind die Punkte des Bildes daher zu den durch das
Eingabe-Ausgabe-Synchronisiersignal definierten Punkten ver
setzt.
Der Wert jedes Bildelements im Bild nach der Rotation wurd
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 und dessen Größe durch die Beziehung
|sin R|+|cos R| definiert ist, und es werden Aus
gangsbildelemente 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 Zentrun 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:
V(A)=(1-δ)(1-ε)V(a)+(1-δ)ε V(b)
+δ(1-e)V(c)+δε V(d) (4)
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 Instruktionseinheit auf einen von einer Bedienungsperson
erteilten Befehl zur Bildrotation 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 der 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 durch eine fallende Flanke des Haupt-Abtastsynchronisiersignals
definiert (siehe Fig. 9 und 10).
Nachfolgend wird der Ablauf der Bildrotation und der Interpolation
näher erläutert. Gemäß dem von der Bedienungsperson
gewünschten Winkel R werden von einer nicht gezeigten Zentraleinheit
in einer Drehkoordinaten-Berechnungsschaltung 22′ und
in einer Koordinaten-Inversumsetzungsschaltung 28′ die Werte
von sin R, -sin R und cos R eingestellt, während in einer Innen
flächen-Gitterpunkterfassungsschaltung die Werte von |cos R|
und |cos R| eingestellt werden. Gemäß dem von der Bedienungsperson
angegebenen Rotationszentrum 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, an den bereits empfangenen Daten die
Rotation und die 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
Bildrotation 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 R|+|cos R| beträgt.
Anhand 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-Sychronisiersignal 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) entsprechen jeweils
den Ausgangssignalen des Haupt-Abtastzählers bzw. des
Unter-Abtastzählers, während die Werte xc und yc jeweils
durch den Haupt- und den Unter-Abtastversatz
definiert sind, welche die Koordinaten des Zentrums der
Rotation definieren. Gemäß dem Rotationswinkel R werden die
Werte von cos R und -sin R als Konstante eingestellt.
Durch Addition, Subtraktion und Multiplikation dieser Daten
werden die nach der Rotation geltenden Koordinaten (x′, y′)
als Bruchzahlen erhalten.
Nachfolgend wird unter Bezugnahme auf Fig. 17 die Innenfläche-
Gitterpunkterfassungsschalter 24′ näher erläutert, die
ein Quadrat definiert, dessen Zentrum an den nach der Rotation
gültigen Koordinaten liegt, dessen Seitenlänge |cosR|+|sin R|
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 die Schaltung 24′ nach dem Abschneiden
von Nachkommateilen jeweils den ganzzahligen Teil des
durch Addition von (cos R+sin R)/2 zu x′ bzw. zu y′ erhaltenen
Wertes sowie weitere ganzzahlige Teile aus, die sie
durch Subtraktion von (cos R+sin R)/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 Rotation unterzogen
wurde, werden von einer in Fig. 18 gezeigten Koordinaten-Umsetzungs
schaltung bestimmt, welche bezüglich des in Fig. 16
gezeigten Verfahrens zur Berechnung der Koordinaten nach der
Rotation eine inverse Umsetzung (nämlich eine Rotation um -R)
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 Rasterspeicher
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
Berechnung durch, um korrekte Werte zu erhalten. Die in
Fig. 7 gezeigte Schaltung gibt auf ein Haupt-Abtastsynchronisiersignal
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 infolge des Haupt-
Abtasttakts. 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-Ab
tastausgangssignale 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 beim ersten Ausführungsbei
spiel.
Vorstehend wurde der Fall einer Bildrotation ohne eine
Maßstabsänderung beschrieben. Nachfolgend wird eine zweite Abwandlungsform
beschrieben, bei der eine Bildrotation 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ächen-Gitterpunkterfassungsschaltung 24″ und
Fig. 25 zeigt ein detailliertes Blockschaltbild einer in
Fig. 22B gezeigten Koordinaten-Inverumsetzungsschaltung 28″.
Nachfolgend wird die Funktionsweise dieser abgewandelten Aus
führungsform näher beschrieben.
Auf einen von einer Bedienungsperson erteilten Befehl zur
Bilddrehung hin stellt eine Instruktionseinheit eine dem
gewünschten Drehwinkel entsprechende Information in einer Ver
arbeitungsschaltung 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 Instruktionseinheit dann eine Synchronisier-Steuereinheit,
die die erforderlichen Abläufe synchronisiert,
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 Abtastsynchronisiersignals definiert
ist. Die Zugriffs-Zeitsteuerung jedes Bildelement-Datenwerts
wird durch eine fallende Flanke des Haupt-Abtastsynchronisiersignals
definiert (siehe Fig. 9 und 10).
Nachfolgend werden die Betriebsabläufe bei einer Bildrotation,
einer Vergrößerung, einer Verkleinerung und einer Interpolation
näher erläutert. Gemäß dem von der Bedienungsperson
gewünschten Rotationswinkel R werden in der Dreh
koordinaten-Berechnungsschaltung 22″ und in der Koordinaten-
Inversumsetzungsschaltung 28″ die Werte sin R, -sin R und
cos R eingestellt, während in der Innenflächen-Gitterpunkter
fassungsschaltung 24″ die Werte von |sin R| und |cos R| eingestellt
werden, und zwar jeweils von der nicht gezeigten Zentraleinheit.
Gemäß dem von der Bedienungsperson angegebenen
Rotationszentrum werden die Werte für den Haupt-
und den Unter-Abtastversatz in der Drehkoordinaten-Berechnungsschaltung
22″ und in der Koordinaten-Inversumsetzungsschaltung 28″
eingestellt. Weiterhin wird
der Faktor α der Bildgrößenänderung in der Drehkoordinaten-
Berechnungsschaltung 22″ und in der Innenflächen-Gitterpunkt
erfassungsschaltung 24″ eingestellt, während der entsprechende
Reziprokwert 1/α in der Koordinaten-Inversumsetzungsschaltung
28″ eingestellt wird.
Auf ein von der Synchronisier-Steuereinheit 6 erzeugtes Synchronisier
signal 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, an bereits empfangenen Daten
die Rotation, die Vergrößerung, die Verkleinerung und
die 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 Bildrotation 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 jeweils bearbeiteten Koordinaten
liegt und dessen Seitenlänge α(|sin R|+|cos R|) beträgt. Auf
der Basis der derart erfaßten Gitterpunkte bestimmt die
Koordinaten-Inversumsetzungsschaltung 28″ aufeinanderfolgend
die Koordinaten dieser Gitterpunkte in einem Koordinatensystem,
das zuvor selbst der Rotation 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) entsprechen jeweils
den Ausgangssignalen des Haupt-Abtastzählers bzw. des
Unter-Abtastzählers, während die Werte xc und yc jeweils
durch den Haupt-Abtastversatz und den Unter-Abtastversatz,
definiert sind, welche die Koordinaten des Zentrums der
Rotation definieren. Gemäß dem Rotationswinkel R werden die
Werte von sin R, cos R und -sin R als Konstante eingestellt. Der
Faktor der Bildmaßstabsänderung wird gleichfalls eingestellt.
Durch geeignete Addition, Subtraktion und Multiplikation dieser
Daten werden die nach der Rotation 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 Rotation
gültigen Koordinaten liegt und dessen Seitenlänge α(|cos R|+
|sin R|) beträgt, und die ferner 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
git die Schaltung 24″ nach dem Abschneiden von Nachkommateilen jeweils den
ganzzahligen Teil des durch Addition von α(|cos R|+|sin R|)/2
zu x′ bzw. y′ erhaltenen Wertes sowie weitere ganzzahlige
Teile aus, die sie durch Subtraktion von α(|cos R|+|sin R|)/2
von x′ bzw. von y′, Addition von 1 zu x′ bzw. zu y′ und an
schließendes Abschneiden des Nachkommateils bildet (siehe A
bis I in Fig. 26A).
Die ganzzahligen Koordinatenwerte dieser Gitterpunkte in einem
Koordinatensystem, das seinerseits der Rotation unterzogen
wurde, werden von einer in Fig. 25 gezeigten Koordinaten-Um
setzungsschaltung bestimmt, welche bezüglich des Verfahrens
zur Berechnung der Koordinaten nach der Rotation eine inverse
Umsetzung (nämlich eine Drehung um -R) 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 Rasterspeicher 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 Berechnung 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-Synchronisiersignal,
das eine höhere Frequenz als das Haupt-Abtastsynchronisiertaktsignal
hat, sowie synchron zu einem Unter-Abtastablauf-Synchronisiertaktsignal,
das eine höhere Frequenz als das Haupt-Abtastablauf-
Synchronisiersignal hat. Im Vergleich zu dem Haupt-Abtastsynchronisiersignal
ist das Haupt-Abtastablauf-Synchronisiersignal
mindestens um einen Faktor in seiner Frequenz höher, der durch den ganzzahligen
Teil des Maßstabsänderungsverhältnisses mal plus 1
gegeben ist. Im Ausführungsbeispiel hat es eine viermal höhere Frequenz
(siehe Fig. 5C). Im Vergleich zu dem Haupt-Abtastablauf-Synchronisiersignal
ist das Unter-Abtastablauf-Synchronisiersignal
gleichfalls mindestens um einen Faktor höher frequent, 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 die (1.6× )+1=3fache
Frequenz haben. 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 In
terpolations-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 gezeige Gitterpunkt-Erfassungsschaltung 24″
verwendet die gemäß dem Rotationswinkel R festgelegten Werte
|sin R| und |cos R|. Gemäß Fig. 14 kann jedoch auch eine von dem
Rotationswinkel R unabhängige Konstante K=2 verwendet werden.
In diesem Fall ist es möglich, auf die Einstellung dieser
Werte zu verzichten und daher den Aufwand 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 Rotation 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-Abtastrichtungen, 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, bei dem 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 12 des in Fig. 28C gezeigten
Ausgangsbild liefert. In diesem Beispiel werden für eine
Rotation 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 tan 30°=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-Achse 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:
X 0=1 · cos 30°+0 · sin 30°=0.866025
Y 0=1 · (-sin 30°)+0 · cos 30°=-0.5
Y 0=1 · (-sin 30°)+0 · cos 30°=-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:
X 1=1 · cos 30°+1 · sin 30°=1.36625
Y 1=1 · (-sin 30°)+1 · cos 30°=0.36625
Y 1=1 · (-sin 30°)+1 · cos 30°=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 Rotation 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 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 Nachkommaanteil der in
Fig. 31 gezeigten X-Koordinate 590 bezeichnet. Der Multipegel-
Digitalwert Y einer Koordinate 70 kann wie folgt bestimmt
werden:
Y 70=m · X 71+(1-m) · X 72,
wobei mit X 71 und X 72 die Multipegel-Digitalwerte von Bildelement-
Zentren 71 und 72 des Originalbilds bezeichnet sind.
Der Multipegel-Digitalwert des in Fig. 28C gezeigten Bildelements
123 kann dabei erhalten werden, indem die Multipegel-
Digitalwerte 124 und 125 der Fig. 28A für X 71 bzw. X 72 eingesetzt
werden.
Obgleich sich die vorstehende Beschreibung auf die Rotation
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:
Y 90=(n · X 91)+(1-n) · X 93) · m
+(n · X 92+(1-n) · X 94) · (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 Koordinaten
bestimmung im Originalbild und die
Interpolation wiederholt werden.
Nach einem in Fig. 38B gezeigten Verfahren kann ein im Bereich
zwischen 45° und 360° liegender Rotationswinkel auf einen
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
Bildrotation 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
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 Rotation 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 eine digitale Differentialanalyse verwendet,
um diejenige Adrese 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 Anfangs
wert 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 Einfachheit halber eine Rotation 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 R 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 Adressinkre
ment "0" in 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 cos 30°=0.8660 speichert. Ein Inkremental
register B 243 speichert daraufhin den Wert des Abstands
234 der Fig. 41 oder den Wert von -sin 30°=-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
Entferung "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 Ver
gleichsergebnis 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-Achse des Anfangs-Bildelements subtrahiert, wenn
der Wert des Ergebnisregisters 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 tan 30°=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 dar
stellt.
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
Originalbildes sowie die Bildelementdaten des ausgegebenen
Bildelements aus den Bildelementen des Originalbildes
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:
tan R=1/a+1/b+1/c+ . . . (2)
in der a, b, c, . . . ganze Zahlen sind. Für den Winkel R=30°
kann z. B. gesetzt werden:
tan 30°=1/2+1/13+1/2341. (3)
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-Adresen des Anfangs-
Bildelements 63 bestimmt werden. Fig. 44 zeigt ein Beispiel
von mittels dieses Verfahrens bestimmten Anfangs-Bildelementen,
welche mit weißen Kreisen bezeichnet sind.
Eine Rotation 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 Rotation
begrenzt sein. So kann z. B. für eine einer Auflösung von 16
Bildelementen pro mm auf einem Blatt des Formats A4 entsprechenden
Rotation der Nenner auf den Wert 4752 begrenzt werden.
Die Fig. 45 bis 57 zeigen ein drittes Ausführungsbeispiel.
Fig. 46 zeigt ein abgetastetes Originalbild 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-Speicher 291 eingegeben, aus dem für eine Bildvergrößerung
um den Faktor 2 interpolierte Daten aufeinanderfolgend
einem Zwischenspeicher 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 Syn
chronisations-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-
Speicher 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-
Speicher 291 gespeicherten Daten zweier Zeilen, wohingegen Abtastdaten
in die verbleibenden Vorstufen-Speicher abgerufen
bzw. übertragen werden, während die Schaltung 422 eine Bild
vergrößerungs-Bearbeitung an den Abtastdaten aus den anderen
zwei Vorstufen-Speichern durchführt.
Fig. 47 zeigt ein Beispiel für eine Vergrößerung des Eingangsbildes
um das 4fache in der Haupt-Abtastrichtung und um das
2fache in der Unter-Abtastrichtung. In Fig. 47 entsprechen A
bis D den Bildelementen des Originalbildes 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 liegen. Punkte 311 bis 314 und 321 bis
324 sind durch die Bildvergrößerung zu erhaltende Ausgabepunkte,
wobei die Punkte 311 bis 314 auf dem selben 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 ge
geben:
V(Q)=(1-α)(1-β )V(A)+α(1-β )V(B)
+(1-α ) β V(C)+αβ V(D) (1)
in der mit α (mit 0≦α) ein inneres Teilungsverhältnis eines von
einer zu einem Linienabschnitt AC parallelen Linie geschnittenen
Linienabschnitts AB und mit β (mit β≦1) ein inneres Teilungs
verhältnis des von einer zu dem Linienabschnitt AB parallelen
Linie geschnittenen Linienabschnitts AC bezeichnet ist.
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) }+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 eingegebenen Bilddaten V(X) und V(Y) sowie aus einem
inneren Teilungsverhältnis k. Eine Schaltung 453, deren Einzelheiten
in Fig. 50 gezeigt sind, berechnet aud k den Wert
1-k. Das Teilungsverhältnis k ist eine mit vier Bits dargestellte
Bruchzahl und aus den Werten 0, 1/8, 3/8, 1/2,
5/8, 3/4, 7/8 und 1 ausgewählt. Insbesondere wird k durch vier
Bit-Signale x (0), x (-1), x (-2) und x (-3) (die jeweils "0"
oder "1" sind) folgendermaßen dargestellt:
k=1 x (0)+1/2x (-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. 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 eine höhere Frequenz hat als das Synchronisier
signal der Flächen-Bildvergrößerung. Fig. 52 zeigt eine
Schaltung zum sukzessiven Erzeugen von α und β, die einen
oktalen Aufwärtszähler 481, ein 8mal höherfrequentes 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 zuge
fü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 Weise werden die vergrößerten
Daten aufeinanderfolgend vorbereitet und als Abtastdaten
dem Zwischenspeicher 292 über eine Steuereinheit
(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
duch die x-Achse bzw. die y-Achse definiert, während jedes
Bildelement durch eine Adresse (xs, ys) definiert ist. Der
Faktor der Bildverkleinerung ist in der Haupt-Abtastrichtung
durch δ (1/2δ1) und in der Unter-Abtastrichtung durch
ε (1/2ε1) gegeben. Eine Ausgangsadresse (XD, YD) ist gegeben
durch:
xD=δxs+xm (2)
yD=εys+ym (3)
yD=εys+ym (3)
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 Zwischenspeichers
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 definerten 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 Zwischenspeicher
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
l und m definiert. In dieser Umgebung existiert ein
ganzzahliger Adresspunkt a. Im vorliegenden Beispiel sei angenommen,
daß die Bedingungen l=δ 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 Eingangsadresse (xs, ys) bestimmt werden:
xs=1/δ · (xD-xm)=-1/δ · xm+1/δ · xD, (4)
ys=1/ε · (yD-ym)=-1/ε · ym+1yε · yD, (5)
ys=1/ε · (yD-ym)=-1/ε · ym+1yε · yD, (5)
in denen xD und yD ganze Zahlen und xs und ys reelle Zahlen
sind, die einen gebrochenen Anteil aufweisen. Auf 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 Originalbilddaten 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 Wer 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)qV(G)+pqV(H).
Für die Berechnung der Gleichungen (4) und (5) wird eine
Schaltung verwendet, die der in Fig. 54 gezeigten ähnlich sit.
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:
Claims (8)
1. Bildverarbeitungsgerät zur Bildrotation und/oder Bildverschiebung
und/oder Maßstabsänderung eines Originalbildes,
dessen Bilddaten in mehreren Koordinatenrichtungen angeordnet
sind, mit einer Dateneingabeeinrichtung (4) zur Zufuhr
der Bilddaten in Übereinstimmung mit einem Synchronisiersignal,
einer Parametereingabeeinrichtung (3) zur Eingabe
von die Bildverarbeitung bestimmenden Parametern, einer
Adressenerzeugungseinrichtung (22, 22′, 22″), die in Übereinstimmung
mit den eingegebenen Parametern eine Koordinatenumsetzung
der Adressen zur Ermittlung einer Zieladresse
in einer Speichereinrichtung zur Speicherung der Bilddaten
durchführt, sowie mit einer Datenerzeugungseinrichtung (30,
30′, 30″) die den Wert der der Koordinatenumsetzung unterzogenen
und an der ermittelten Zieladresse der Speichereinrichtung
zu speichernden Bilddaten bestimmt,
dadurch gekennzeichnet,
daß die Adressenerzeugungseinrichtung (22, 22′, 22″) auf das
Synchronisiersignal hin aus den Quelladressen der Originalbilddaten
umgesetzte Zieladressen erzeugt, indem sie in
Übereinstimmung mit den eingegebenen Parametern eine Koordinatenumsetzung
für alle Koordinatenrichtungen gleichzeitig
durchführt, und
daß die Datenerzeugungseinrichtung (30, 30′, 30″) den Wert der an der Zieladresse der Speichereinrichtung (12) zu speichernden Bilddaten aus den Bilddaten in der Umgebung einer Zieladresse entsprechenden Quelladresse bestimmt, die eine weitere Adressenerzeugungseinrichtung (28, 28′, 28″) durch eine jeweils inverse Bildrotation und/oder Bildverschiebung und/oder Maßstabsänderung ermittelt.
daß die Datenerzeugungseinrichtung (30, 30′, 30″) den Wert der an der Zieladresse der Speichereinrichtung (12) zu speichernden Bilddaten aus den Bilddaten in der Umgebung einer Zieladresse entsprechenden Quelladresse bestimmt, die eine weitere Adressenerzeugungseinrichtung (28, 28′, 28″) durch eine jeweils inverse Bildrotation und/oder Bildverschiebung und/oder Maßstabsänderung ermittelt.
2. Bildverarbeitungsgerät nach Anspruch 1, dadurch gekennzeichnet,
daß ein Eingangsspeicher (8) zur Speicherung einer
Bilddatenmenge vorgesehen ist, die mehreren Zeilen des
Originalbildes entsprechen, und daß die Datenerzeugungseinrichtung
(30, 30′, 30″) den Wert der an der Zieladresse der
Speichereinrichtung (12) zu speichernden Bilddaten aus den
in dem Eingangsspeicher (8) gespeicherten Bilddaten be
stimmt.
3. Bildverarbeitungsgerät nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Datenerzeugungseinrichtung (30, 30′, 30″)
den Wert der an der Zieladresse der Speichereinrichtung
(12) zu speichernden Bilddaten durch Interpolation der
Bilddaten in der Umgebung der der Zieladresse entsprechenden
Quelladresse bestimmt.
4. Bildverarbeitungsgerät nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß die Datenerzeugungseinrichtung
(30, 30′, 30″) bei einer Bildrotation des Originalbilds ein
Rechteck einstellt, dessen Seitenlänge das K-fache des
Abstands zwischen Bildelementen in dem gedrehten Bild beträgt
und dessen Zentrum das jeweils verarbeitete
Bildelement des gedrehten Bilds ist, und den Wert des
verarbeiteten Bildelements aus den der Rechteckfläche
entsprechenden Bildelementen des Originalbilds bestimmt.
5. Bildverarbeitungsgerät nach Anspruch 4, dadurch gekennzeichnet,
daß bei einem Drehwinkel von R Grad K den Wert
|cos R|+|sin R| hat.
6. Bildverarbeitungsgerät nach Anspruch 4, dadurch gekennzeichnet,
daß K den Wert hat.
7. Bildverarbeitungsgerät nach einem der Ansprüche 1 bis 6,
dadurch gekennzeichnet, daß die Adressenerzeugungseinrichtung
(22, 22′, 22″, 24, 24′, 24″) Pseudo-Koordinaten einstellt,
deren Zeilenabstand geringer als der Bildelementabstand
des verarbeiteten Bilds ist, und daß die Datenerzeugungseinrichtung
(30, 30′, 30″) den Wert des jeweils
verarbeiteten Bildelements aus den Bildelementen des
Originalbilds bestimmt, die diesen Pseudo-Koordinaten ent
sprechen.
8. Bildverarbeitungsgerät nach Anspruch 7, dadurch
gekennzeichnet, daß die Datenerzeugungseinrichtung (30,
30′, 30″) den Wert des verarbeiteten Bildelements durch
Interpolation der Werte der den Pseudo-Koordinaten entsprechenden
Bildelemente des Originalbilds bestimmt.
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 DE3629984A1 (de) | 1987-03-05 |
DE3629984C2 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19932631A1 (de) * | 1999-06-08 | 2000-12-21 | Siemens Ag | Verfahren zur Drehung von Bilddatensätzen mit nichtisotroper Ortsauflösung |
Families Citing this family (26)
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 |
JPH02287684A (ja) * | 1989-04-28 | 1990-11-27 | Ibm Japan Ltd | イメージ処理装置および方法 |
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 |
US6640018B1 (en) | 1999-06-08 | 2003-10-28 | Siemens Aktiengesellschaft | Method for rotating image records with non-isotropic topical resolution |
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 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0076259B1 (de) * | 1981-04-10 | 1989-08-16 | Ampex Corporation | Steuerung für ein gerät zur räumlichen transformation von bildern |
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 |
DE3419063A1 (de) * | 1983-05-23 | 1984-11-29 | Hitachi, Ltd., Tokio/Tokyo | Verarbeitungsverfahren fuer die drehung eines bildes |
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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19932631A1 (de) * | 1999-06-08 | 2000-12-21 | Siemens Ag | Verfahren zur Drehung von Bilddatensätzen mit nichtisotroper Ortsauflösung |
Also Published As
Publication number | Publication date |
---|---|
DE3629984A1 (de) | 1987-03-05 |
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) | ||
DE3546136C2 (de) | ||
DE2252556C2 (de) | Vorrichtung zum Erzeugen eines Videosignals zur Eingabe in ein rasterabgetastetes Sichtgerät | |
DE2404183B2 (de) | Vorrichtung zur Erkennung der Lage eines Musters | |
DE3315148C2 (de) | ||
DE3213573A1 (de) | Verfahren zum herstellen einer halbtonplatte zur anwendung bei einer bildreproduziermaschine | |
DE2621339A1 (de) | Abtastumsetzer zur umsetzung von daten im polarkoordinatensystem in daten im kartesischen koordinatensystem | |
DE3202365A1 (de) | Datenspeicher mit fensterabtastung | |
DE2907991A1 (de) | Verfahren und vorrichtung zur verarbeitung digitaler videosignale | |
DE3638852C2 (de) | Bildverarbeitungsgerät und -verfahren | |
DE2907990A1 (de) | Verfahren und vorrichtung zum abtasten der amplitude eines signals | |
DE3510825A1 (de) | Verfahren und system zum steuern der vergroesserung bei der elektronischen bildreproduktion | |
DE19545778A1 (de) | Verfahren und Einrichtung zum Maskieren von entweder durch Wendelabtastung eines interessierenden Bereichs oder durch Wendelabtastung erzeugten Kegelstrahl-Projektionsdaten | |
DE3143429C2 (de) | ||
WO2003042920A1 (de) | Verfahren und vorrichtung zum entzerren einer eingescannten abbildung | |
DE1774672A1 (de) | Zeichenerkennungsvorrichtung | |
DE3524505A1 (de) | Bilderkennungsvorrichtung | |
DE3508606C2 (de) | ||
DE1283870B (de) | Verfahren zur digitalen Kodierung einer flaechenhaften Abbildung | |
DE2821421B2 (de) | Umwandelndes Abtast-Anzeige-System | |
EP0121766B1 (de) | Verfahren und Vorrichtung zur Darstellung von Bildinformationen |
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 |