-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Bildverarbeitungsgerät, eine
Bildverarbeitungsschaltung und ein Bildverarbeitungsverfahren zum
Ausführen einer
Bildverarbeitungsoperation.
-
Die
vorliegende Erfindung basiert auf der
japanischen Patentanmeldung Nr. 2000-058639 .
-
2. Beschreibung des Standes
der Technik
-
Wie
in dem technischen Gebiet wohlbekannt ist, sind als Geräte zum Ausführen von
Bildverarbeitungsoperationen Geräte
vorgesehen zum Ausführen
von Bildverarbeitungsoperationen in einer Softwareweise und Geräte, die
mit Bildverarbeitungsschaltungen (LSIs bzw. groß integrierte Schaltkreise zu
Bildverarbeitungszwecken) ausgerüstet
sind, welche imstande sind, Bildverarbeitungsoperationen auszuführen. Als
ein Beispiel der zuletzt erwähnten Geräte ist z.
B. ein solches Gerät
zum Ausführen
von Kopieroperationen bekannt während
sowohl ein Abtaster bzw. Scanner als auch ein Drucker in integrierter
Weise gesteuert werden. Dieser Typ eines bekannten Geräts ist mit
einer Bildverarbeitungsschaltung ausgerüstet zum Umwandeln von durch
den Drucker ausgegebenen Bilddaten in Bilddaten, die in geeigneter
Weise bereitgestellt werden, um ausgedruckt zu werden.
-
Die
in einem solchen bekannten Gerät
verwendete Bildverarbeitungsschaltung wird angeordnet durch Koppeln
einiger Schaltkreissätze,
die verwendet werden zum Ausführen
spezifischer Bildverarbeitungsoperationen (welche nachstehend als "Bildverarbeitungsmodule" bezeichnet werden). Auch
ist jedes dieser Bildverarbeitungsmodule durch ein h×h-Filter
angeordnet und eine Schaltung, die verwendet wird zum Zuführen von
Bildpunktdaten zu diesem h×h-Filter.
Das h×h-Filter
berechnet einen Bilddatenwert basierend auf Bildpunktdaten (Bildpunktwert),
die sich auf das h×h-Bild
beziehen (normalerweise ist das Symbol "h" gleich
3 oder 5) und gibt die berechneten Bilddaten aus. Die Schaltung enthält einen
Puffer, der imstande ist, darin (h – 1) Zeilen von Bilddaten zu
speichern, die zu verarbeiten sind.
-
Das
mit der Bildverarbeitungsschaltung ausgerüstete Bildverarbeitungsgerät entspricht
einem solchen Gerät,
dass die Größe (nämlich die
Bildpunktanzahl pro Zeile) der Bilddaten, die verarbeitet werden
können,
durch die Bildverarbeitungsschaltung eingeschränkt wird. Mit anderen Worten,
damit dieses Bildverarbeitungsgerät Bilddaten mit einer Größe verarbeiten
kann, die größer ist
als die oben beschriebene Bilddatengröße, muss die Bildverarbeitungsschaltung
neu entworfen und hergestellt werden.
-
Denn
wie zuvor erwähnt,
da die Bildverarbeitungsschaltung eine solche Schaltungsanordnung verwendet,
in der der Puffer, der imstande ist, in sich die (h – 1)-Zeilen
von Bilddaten zu speichern, in Bezug auf jedes dieser Bildverarbeitungsmodule
vorgesehen ist, kann eine Bildverarbeitungsschaltung, die imstande
ist, eine wünschenswerte
Bildverarbeitungsoperation durchzuführen, nicht mit Hilfe einer Ein-Chip-LSI-Schaltung
in einem solchen Fall hergestellt werden, dass eine Gesamtzahl von
Bildpunkten pro einer Zeile, die in den zu verarbeitenden Bilddaten
enthalten ist, groß ist.
In einem solch schwierigen Fall müssen die folgenden lästigen Arbeiten
ausgeführt
werden. Nämlich,
während
viele Sätze
geeigneter Bildverarbeitungsschaltkreise entworfen worden sind und
hergestellt worden sind, sollte das Bildverarbeitungsgerät, das imstande
ist, in sich diese Bildverarbeitungsschaltkreise montiert zu haben,
geändert werden,
um letztendlich ein solches wünschenswertes
Bildverarbeitungsgerät
zu erhalten.
-
US 4 876 612 offenbart ein
Bildverarbeitungsgerät,
in dem eine CCD-Leseeinheit jeweils in einer Hauptabtastrichtung
bewegt wird und dann in einer Sub-Abtastrichtung, um Bilddaten zu
erhalten.
-
RESÜMME DER ERFINDUNG
-
Daher
ist es ein Ziel der vorliegenden Erfindung, ein Bildverarbeitungsgerät, einen
Bildverarbeitungsschaltkreis und ein Bildverarbeitungsverfahren bereitzustellen,
die jeweils imstande sind, Bildverarbeitungsdaten mit einer beliebigen
Bildgröße zu verarbeiten.
-
Gemäß der vorliegenden
Erfindung wird ein Bildverarbeitungsschaltkreis bereitgestellt,
wie er in den beiliegenden Ansprüchen
definiert ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Es
zeigt:
-
1 ein
Erläuterungsdiagramm
zum Erläutern
von Benutzungsmodi eines Bildverarbeitungsgeräts gemäß einem Ausführungsmodus
der vorliegenden Erfindung;
-
2 ein
Hardware-Aufbaudiagramm eines Bildverarbeitungsgeräts gemäß dem Ausführungsmodus;
-
3 ein
Ablaufdiagramm zum Beschreiben eines Gesamtablaufbetriebs des Bildverarbeitungsgeräts gemäß dem Ausführungsmodus;
-
4(A) und 4(B) eine
Darstellung zum Beschreiben einer Bilddatenzusammenstellungs-Verarbeitungsoperation,
die in einem Bildverarbeitungsgerät gemäß dem Ausführungsmodus ausgeführt wird;
-
5 ein
Aufbaudiagramm einer Drucker-Schnittstellenkarte
(I/F-Karte), die mit dem Bildverarbeitungsgerät gemäß dem Ausführungsmodus ausgerüstet ist;
-
6 ein
Aufbaudiagramm zum Angeben eines in der Drucker-Schnittstellenkarte
verwendeten Bildverarbeitungsschaltkreises;
-
7 ein
Zeitdiagramm zum Erläutern
von Betriebsabläufen
eines in dem Bildverarbeitungsschaltkreis verwendeten Bildverarbeitungsmoduls;
-
8 ein
Schaltungsdiagramm eines in dem Bildverarbeitungsmodul enthaltenen
Registerarrays;
-
9 ein
Schaltungsdiagramm eines in dem Bildverarbeitungsmodul verwendeten
3×3-Registers;
-
10 ein
Erläuterungsdiagramm
zum Erläutern
des Betriebsablaufs der in dem 3×3-Register verwendeten Auswähler Selektor
#0 und #1;
-
11(A) und 11(B) ein
Erläuterungsdiagramm
zum Erläutern
des Betriebs einer in der Drucker-Schnittstellenkarte vorgesehenen Drucker-Schnittstellenschaltung;
und
-
12 ein
Erläuterungsdiagramm
zum Erläutern
der Betriebsabläufe
des Bildverarbeitungsgeräts
gemäß dem Ausführungsmodus.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Nun
werden unter Bezugnahme auf die Zeichnungen verschiedene Ausführungsmodi
der vorliegenden Erfindung detailliert beschrieben.
-
Ein
Bildverarbeitungsgerät
gemäß einem Ausführungsmodus
der vorliegenden Erfindung entspricht einem Gerät zum Umwandeln von durch einen
Abtaster erzeugten Bilddaten in Bilddaten, die geeignet sind für einen
Druckbetrieb.
-
Wie
in 1 angegeben, wird ein Bildverarbeitungsgerät 11 gemäß diesem
Ausführungsmodus verwendet
während
dieses Bildverarbeitungsgerät 11 mit
einem Betriebsgerät 12,
einem Abtaster 13 und einem Drucker 14 verbunden
ist. Ein durch das Bildverarbeitungsgerät 11, das Betriebsgerät 12 und,
den Abtaster 13 und den Drucker 14 eingerichtetes
System wird nachstehend als ein Kopiersystem 10 bezeichnet.
-
Das
Betriebsgerät 12 entspricht
einem solchen Gerät,
das durch einen Benutzer verwendet wird, um verschiedene Arten von
Anweisungen an das Kopiersystem 10 (Bildverarbeitungsgerät 11) auszugeben.
Das Betriebsgerät 12 ist
mit einer Tastenbetriebseinheit 121 versehen, die aus einem Starttaster 121a,
einem Zehn-Tastenfeld (Zifferneingabefeld) 121b und Ähnlichem
besteht. Auch ist das Betriebsgerät 12 mit einer berührungsempfindlichen Anzeige
(Touch-Screen) 122 versehen. Der Touch-Screen 122 umfasst
ein Flüssigkristallfeld
und ein berührungsempfindliches
Feld, das diesem Flüssigkristallfeld überlagert
ist.
-
Der
Abtaster (Scanner) 13 entspricht einer elektronischen Anordnung
zum optischen Lesen eines auf einem Original ausgebildeten Bildes
zum Ausgeben von Bilddaten, die repräsentativ sind in Bezug auf
dieses gelesene Bild. In diesem Kopiersystem 10 wird als
solcher Abtaster 13 die folgende elektronische Einrichtung
verwendet. Das heißt,
die elektronische Einrichtung mit einer SCSI-Schnittstelle ist mit
eine ADF (automatische Dokumentenzufuhrvorrichtung) 13a versehen
und gibt Bilddaten aus, die 24-Bit-RGB-Daten als Bildpunktdaten
der jeweiligen Bildpunkte (Pixelwerte) enthalten. Der Drucker 14 entspricht
einer elektronischen Einrichtung zum Ausbilden eines Bildes auf
Papier ansprechend auf zugeführte
Druckdaten. In diesem Kopiersystem 10 wird als der Drucker 14 ein
Drucker vom Tintenstrahltyp verwendet. Dieser Tintenstrahldrucker
besitzt eine Parallelschnittstelle und ist imstande, einen Farbdruckvorgang
auszuführen
während
er dieselbe Auflösung
beibehält
wie die des Abtasters 13.
-
2 repräsentiert
einen Hardwareaufbau des Bildverarbeitungsgeräts 11. Wie in dieser
Zeichnung angegeben, ist das Bildverarbeitungsgerät 11 mit
einer CPU 21, einem ROM 22, einem RAM 23 und
einer Verbindungseinheit (nachstehend Bridge genannt) 24 versehen,
die gegenseitig über
einen CPU-Bus 35 miteinander verbunden sind. Auch ist dieses
Bildverarbeitungsgerät 11 mit
einer Festplattensteuerung (HDD-Controller) 25, einer Schnittstellenkarte
(I/F-Karte) 26, die für
den Abtaster verwendet wird, einer Schnittstellenkarte (I/F-Karte) 27,
die für
den Drucker verwendet wird, einer Schnittstellenkarte 28 (I/F-Karte),
die für
das Betriebspaneel verwendet wird und einer Schnittstellenkarte 29 (I/F-Karte),
die für
das Netz verwendet wird, versehen. Auch ist das Bildverarbeitungsgerät 11 mit
einer Festplatte (HDD) 30 versehen, die mit der Festplattensteuerung 25 verbunden
ist.
-
Die
Festplatte 30 entspricht einer Hilfsspeichervorrichtung,
in die ein Betriebssystem (OS), verschiedene auf diesem Betriebssystem
betriebene Programme und verschiedene Arten von Treibern gespeichert
sind. Diese verschiedenen Arten von Treibern sind ein Abtastertreiber,
der zum Steuern des Abtasters 13 verwendet wird, und ein
zum Steuern des Druckers 14 verwendeter Druckertreiber.
Die Festplattensteuerung 25 entspricht einem Steuerschaltkreis
der Festplatte 30. Dieser Steuerschaltkreis ist eine derartige
Schnittstellenschaltung (I/F-Schaltung), um die Festplatte 30 mit
einem Universal-Bus 36 zu verbinden.
-
Die
Bridge 24 entspricht einer Schnittstellenschaltung (I/F-Schaltung), um den
CPU-Bus 35 mit dem Universal-Bus 36 zu verbinden.
Die CPU 21 entspricht einer Schaltung, um die verschiedenen
in dem Bildverarbeitungsgerät 11 vorgesehenen
Einheiten in einer integralen Weise zu steuern. Das ROM 22 entspricht
einem Speicher zum Speichern verschiedener Arten von BIOSs (Basisanweisungsbetriebssysteme).
Das RAM 23 ist ein solcher Speicher, in den die verschiedenen
in dem ROM 22 und der Festplatte 30 gespeicherten
Programme ausgelesen werden. Diese RAM 23 kann auch zum
temporären
Speichern von durch den Abtaster 13 ausgegebenen Bilddaten
verwendet werden.
-
Die
Netzschnittstellenkarte 29 entspricht einer Schnittstellenkarte,
die zum Verbinden des Bildverarbeitungsgerätes 11 mit einem Ethernet-LAN verwendet
wird. Die Betriebsgeräteschnittstellenkarte 28 entspricht
einer solchen Schnittstellenkarte, durch die die CPU 21 das
Betriebsgerät 12 verwenden
kann. Die Betriebsschnittstellenkarte 28 enthält Eingabe/Ausgabe-Steuerschaltungen
zum Steuern verschiedener elektronischer Einrichtungen (Tastenbetriebseinheit 121 und
Touch Screen 122), die in dem Betriebsgerät 12 verwendet
werden.
-
Die
Abtaster-Schnittstellenkarte 26 entspricht einer solchen
Schnittstellenkarte, mit der die CPU 21 den Abtaster 13 verwenden
oder steuern kann. In dem Bildverarbeitungsgerät 11 gemäß diesem
Ausführungsmodus
wird eine sogenannte "SCSI"-Schnittstellenkarte verwendet als eine
solche Abtaster-Schnittstellenkarte 26.
Die Drucker-Schnittstellenkarte 27 entspricht einer solchen
Schnittstellenkarte, mit der die CPU 21 den Drucker 14 verwenden
kann. Die Funktion dieser Drucker-Schnittstellenkarte 27 wird
detaillierter erläutert.
-
Betriebsabläufe des
Bildverarbeitungsgeräts 11 werden
nun beschrieben.
-
3 zeigt
einen Gesamtbetriebsablauf der CPU 21, die in dem Bildverarbeitungsgerät 11 verwendet
wird. Wie in diesem Betriebsablaufsdiagramm gezeigt, führt die
in dem Bildverarbeitungsgerät 11 vorgesehene
CPU 21 einen Kopierausführungsanweisungsempfangs-Verarbeitungsbetrieb (durch
Schritt S101 definiert) unter einer normalen Bedingung aus (nämlich unter
einer solchen Bedingung, dass die CPU keinen anderen Verarbeitungsbetrieb
ausführt).
Dieser Kopierausführungsanweisungsempfangs-Verarbeitungsbetrieb
entspricht einem solchen Verarbeitungsbetrieb, dass eine von einem
Benutzer ausgegebene Kopierausführungsanweisung
empfangen wird.
-
Wenn
dieser Kopierausführungsanweisungsempfangs-Verarbeitungsbetrieb
ausgeführt wird,
aktualisiert die CPU 21 einen Inhalt eines auf dem Flüssigkristallpaneel
angezeigten Bildschirms ansprechend auf einen Betriebsinhalt in
Bezug auf entweder die Tastenbetriebseinheit 121 oder das Touch-Panel,
um eine Kopierbedingung (nämlich eine
Steuerbedingung des Abtasters 13 und eine Steuerbedingung
des Druckers 14) zu erkennen. Dann, wenn die CPU 21 eine
solche Tatsache erfasst, dass der Startknopf 121a gedrückt worden
ist, ist dieser bei Schritt S101 definierte Kopierausführungsanweisungsempfangs-Verarbeitungsbetrieb vollendet.
-
Nachdem
der Verarbeitungsbetrieb des obigen Schrittes S101 vollendet ist
(nämlich,
wenn die CPU 21 das Drücken
des Startknopfs 121a erfasst) meldet die CPU 21 eine
in Übereinstimmung
mit der Kopierbedingung definierte Druckbedingung an den Drucker 14 (Schritt
S102) und meldet auch eine in Übereinstimmung
mit der Kopierbedingung definierte Lesebedingung an den Abtaster 13 (Schritt
S103). Darauffolgend weist die CPU 21 den Abtaster 13 an, ein
Original zu lesen (nämlich
Bilddaten auszugeben) bei einem Schritt S104.
-
Daraufhin
führt die
CPU 21 eine Bilddatenzufuhr-Verarbeitungsoperation aus in Entsprechung
zu einer solchen Verarbeitungsoperation, dass von dem Abtaster 13 übermittelte
Bilddaten über
das RAM 23 zu der Drucker-Schnittstellenkarte 27 geführt werden (Schritt
S105). Während
der Inhalt des Bilddatenzufuhr-Verarbeitungsbetriebs detailliert
erläutert
wird, wird, da dieser Bilddatenzufuhr-Verarbeitungsbetrieb ausgeführt wird,
eine Seite von Druckdaten dem Drucker 14 zugeführt. Diese
Druckdaten entsprechen derartigen Bilddaten, wie sie durch die Bildverarbeitung
der von dem Abtaster 13 hergeleiteten Bilddaten erzeugt
werden.
-
Nachdem
der Bilddatenzufuhrprozessbetrieb abgeschlossen ist, weist die CPU 21 den
Drucker 14 an, einen Druckbetrieb der nächsten Seite auszuführen (Schritt
S106). Daraufhin beurteilt die CPU 21, ob noch ein zu kopierendes
Original in dem ADF 13a des Abtasters 13 übrig ist
(Schritt S107). Wenn das zu kopierende Original übrig ist ("JA" bei
Schritt S107), wird der Verarbeitungsbetrieb zurückgeführt zu dem vorangehenden Schritt
S104, bei dem die CPU den Abtaster 13 anweist, das nächste Original zu
lesen. Andererseits, wenn kein zu kopierende Original in der ADF 13a verblieben
ist ("NEIN" bei Schritt S107),
wird der Verarbeitungsbetrieb zurückgeführt zu dem ersten Schritt S101,
bei dem die CPU 21 auf das Ausgeben der nächsten Kopierausführungsanweisung
wartet. Obwohl nicht in dem oben erläuterten Ablaufdiagramm gezeigt,
führt die
CPU 21 in einem Fall, dass der Abtaster 13 nicht
mit der ADF 13a ausgeführt
ist, den Kopierausführungsanweisungsempfangs-Verarbeitungsbetrieb,
der bei Schritt S101 definiert ist, aus, nachdem der Verarbeitungsbetrieb des
Schrittes S106 beendet ist.
-
Als
Nächstes
werden die Betriebsabläufe des
Bildverarbeitungsgerätes 11 beschrieben,
wenn der Bilddatenzufuhr-Verarbeitungsbetrieb ausgeführt wird.
Es sollte bemerkt werden, dass von dem Abtaster 13 übermittelte
Bilddaten als "Originalbilddaten" bezeichnet werden
und ein in Bezug auf die Originalbilddaten indikatives Bild (Bildpunktmatrix)
in der unten erwähnten
Beschreibung als ein "Originalbild" bezeichnet wird.
-
Wie
in 4(A) schematisch angegeben, wird
in diesem Bildverarbeitungsgerät 11 eine
Seite von Originalbilddaten als solche Bilddaten gehandhabt, die
indikativ sind in Bezug auf ein erstes Blockbild "G1"; ein zweites Blockbild "G2" bis zu einem (M – 1)-ten
Blockbild "GM–1", und ein M-tes Blockbild "GM". Das erste Blockbild "G1" wird von kontinuierlichen "n" Zeilen umfasst, die von einer oberen (Kopf-)Zeile
des Originalbildes beginnen. Das zweite Blockbild "G2" bis zu dem (M – 1)-ten
Blockbild "GM–1" werden von kontinuierlichen "n" in dem Ursprungsbild enthaltenen Zeilen
umfasst und es gibt überlappte Abschnitte,
die aus "d" Zeilen gebildet
werden unter dem ersten Blockbild G2 bis
einem (m – 2)-ten
Blockbild "GM–2". Das m-te Blockbild "GM" wird von kontinuierlichen "n" in dem Originalbild enthaltenen Zeilen umfasst
und enthält
eine letzte Zeile des Originalbilds, und es gibt auch einen aus "d" Zeilen gebildeten überlappten Abschnitt zwischen
dem (M – 1)-ten Blockbild
GM–1 und
dem eigenen Blockbild GM. In diesem Ausführungsmodus
impliziert eine "Zeile" eine Gruppen von
Bildpunkten, die durch eine Zeile von von dem Abtaster 13 gesendeten
Bilddaten ausgedrückt
werden wohingegen eine "obere
Zeile" eine Gruppe
von Bildpunkten impliziert, die durch eine Zeile von von dem Abtaster 13 beim
ersten Mal gesendeten Bilddaten einer Zeile repräsentieren, die angewiesen werden,
ein Original zu lesen. Auch sind Symbole "n" und "d" gleich ganzzahligen Werten (n = 16,
und d = 4 in diesem Ausführungsmodus,
wie detailliert besprochen wird). Diese ganzzahligen Werte werden
jeweils durch Schaltungsstrukturen der Bildverarbeitungsschaltung 40 bestimmt.
-
Dann
wird, wie schematisch in 4(B) angegeben,
wenn der Bilddatenzufuhr-Verarbeitungsbetrieb ausgeführt wird,
ein solcher Verarbeitungsbetrieb ausgeführt in Bezug auf jedes von
dem ersten Blockbild G1 bis zu dem M-ten
Blockbild GM wie folgt: (n × W) Bildpunktdatenwerte
zum Angeben des relevanten Blockbildes werden einer nach dem anderen der
Drucker-Schnittstellenkarte 27 in
einer Spaltenpositionsreihenfolge und einer die Zeilenpositionsreihenfolge
zugeführt
während
Spaltenpositionen von durch jeden der Bildpunktdatenwerte angegebenen Bildpunkten
eine oberste Priorität
haben. In diesem Fall gibt das Symbol "W" eine
Gesamtzahl von Bildpunkten an, die eine Zeile eines Originalbildes
bilden. Mit anderen Worten, ein solcher Verarbeitungsbetrieb, dass
sich jeweils auf Spalten eines Blockbildes beziehende "n" Bildpunktdatenwerte einer nach dem anderen
der Drucker-Schnittstellenkarte 27 in
der Zeilenpositionsreihenfolge zugeführt werden, wird in wiederholter
Weise von der oberen Spaltenseite zu jeder der Zeilen ausgeführt. Dieser
Verarbeitungsbetrieb wird nun nachstehend als "Blockbilddatenzufuhr-Verarbeitungsbetrieb" bezeichnet.
-
Konkret
gesagt, wenn der Datenzufuhr-Verarbeitungsbetrieb ausgeführt wird,
werden die jeweils von dem Abtaster 13 übertragenen Bildpunktdaten
in dem RAM 23 in einem derartigen Speicherformat gespeichert,
dass sowohl die Zeilenpositionen als auch die Spaltenpositionen
der durch die Bildpunktdaten angegebenen Bildpunkte in Entsprechung
zueinander definiert sind. Dann wird, wenn solche in Bezug auf das
erste Blockbild indikative Bildpunktdaten auf dem Speicher 23 vorbereitet
sind, ein Blockdatenzufuhr-Verarbeitungsbetrieb in Bezug auf das
erste Blockbild ausgeführt.
Wenn solche in Bezug auf die zweiten bis M-ten Blockbilder repräsentative
Bildpunktdaten auf dem RAM 23 vorbereitet sind, werden sich
auf das zweite Blockbild bis das M-te Blockbild beziehende Blockbilddatenzufuhr-Verarbeitungsbetriebsabläufe ausgeführt. Auch
kann, wenn der Bilddatenzufuhr-Verarbeitungsbetrieb ausgeführt wird, ein
anderer Verarbeitungsbetrieb, der imstande ist, derartige Bildpunktdaten,
die nicht länger
benötigt werden,
auf dem RAM 23 zu löschen,
ausgeführt werden.
-
Wie
in 5 angegeben, ist die Drucker-Schnittstellenkarte 27,
zu der die Bildpunktdaten durch Ausführen des Blockbilddatenzufuhr-Verarbeitungsbetriebs
zugeführt
werden, mit einer Bildverarbeitungsschaltung 40 versehen,
einer Drucker-Schnittstellenschaltung 41 und einem Pufferspeicher 42 als
Hauptaufbauelement.
-
Die
Bildverarbeitungsschaltung 40 entspricht einem derartigen
ASIC, der auf solche Weise entwickelt/hergestellt wird, dass Bilddaten
verarbeitet werden können,
in denen eine Gesamtbildpunktanzahl pro einer Zeile (nämlich die
Gesamtbildpunktanzahl zum Bilden einer Zeile) gleich 16 ist. Die
Bildverarbeitungsschaltung 40 enthält eine Schaltungsanordnung,
die aus dem Koppeln eine Bildverarbeitungsmoduls 40a zum
Ausführen
eines Bildverarbeitungsbetriebs des Entfernens eines Moire-Musters
und eines Bildverarbeitungsmoduls 40b zum Ausführen eines
Bildverarbeitungsbetriebs des Betonens eines Randes.
-
Jedes
Bildverarbeitungsmodul 40x (x = a, oder b) wird aus einem
Schaltkreis gebildet (nämlich einem
Schaltkreis, der 3×3-Filter verwendet),
der (insgesamt) 9 Bildpunktdatenwerte erfordert, um sich auf einen
bestimmten Bildpunkt beziehende Bildpunktdaten zu berechnen/auszugeben.
Diese neuen Bildpunktdaten beziehen sich auf jenen relevanten Bildpunkt
und 8 in der Nachbarschaft dieses relevanten Bildpunkts (darum herum)
angeordnete Bildpunkte. Mit anderen Worten, der Bildpunktdatenwert,
der durch jedes Bildpunktverarbeitungsmoduls 40x erhalten
werden kann, ist nur ein solcher Bildpunktdatenwert, der sich auf
die jeweiligen Bildpunkte eines solchen Bildes bezieht, welches
bildverarbeitet werden sollte mit Ausnahme von an einer oberen End-Position,
einer unteren End-Position, einer linken End-Position und einer
rechten End-Position dieses Bildes befinden (nämlich 8 um den relevanten Bildpunkt
angeordnete Bildpunkte). Als ein Ergebnis können, da der Bildverarbeitungsbetrieb
von jedem Bildverarbeitungsmodul 40x ausgeführt wird,
Bilddaten, die indikativ sind in Bezug auf ein Bild mit einer gewissen
Größe, umgewandelt
werden in solche Bilddaten, die indikativ sind in Bezug auf ein
Bild, von dem die Größen (Bildpunktanzahlen)
entlang der Longitudinalrichtung und der Lateralrichtung jeweils um
2 reduziert sind (nämlich
2 = 3 – 1).
-
Denn
da die Bildverarbeitungsschaltung 40 einer Schaltung entspricht,
die durch Koppeln des Bildverarbeitungsmoduls 40a an das
Bildverarbeitungsmodul 40b gebildet wird (nämlich eine
Schaltung, um 5×5
Bildpunktdatenwerte zu benötigen
zum Berechnen/Ausgeben eines Bildpunktdatenwerts) würden die
Größen des
Bildes jeweils, wenn der Bildverarbeitungsbetrieb durch die Bildverarbeitungsschaltung 40 ausgeführt wird,
um "4" reduziert werden
entlang der Longitudinal- und Lateralrichtung. Es sollte verstanden
werden, dass dieser reduzierte Betrag "4" erhalten
werden kann mit Hilfe eines "reduzierter
Betrag = 2 + 2" in
einem solchen Fall, dass dieser reduzierte Betrag basierend auf
dem reduzierten Betrag in der Einheit des Bildmoduls betrachtet wird
wohingegen dieser reduziert Betrag "4" erhalten werden
kann mit Hilfe von "reduzierter
Betrag = 5 – 1" in einem solchen
Fall, dass dieser reduzierte Betrag basierend auf einer Gesamtzahl
an Bildpunktdaten betrachtet wird, die entlang der Zeilenrichtung
der Bildverarbeitungsschaltung angeordnet sind, welche zum Berechnen
eines Bildpunktdatenwertes benötigt werden.
Diese Gesamtzahl an Bildpunktdatenwerten wird mit "reduzierter Betrag
+ 1" in Übereinstimmung gebracht.
-
Der
Grund, warum der oben beschriebene Bilddatenzufuhr-Verarbeitungsbetrieb
gemäß diesem
Ausführungsmodus
unter d = 4 und n = 16 ausgeführt
wird, wird nachstehend dargelegt: der reduzierte Betrag der Bildgröße von der
Bildverarbeitungsschaltung 40 ist nämlich gleich "4" und die Bildpunktzahl pro einer Zeile
der Bilddaten, die einer Bildverarbeitung zu unterziehen sind durch
die Bildverarbeitungsschaltung 40, ist gleich "16" (die Bedeutung des
Bilddatenzufuhr-Verarbeitungsbetriebs selbst wird später diskutiert).
-
In
dem Fall, dass der reduzierte Betrag der Bildgröße entlang der Zeilenrichtung
von der Bildverarbeitungsschaltung 40 sich von dem reduzierten
Betrag der Bildgröße entlang
einer Richtung senkrecht zur Zeilenrichtung unterscheidet, wird
der reduzierte Betrag entlang der Richtung als "d" verwendet.
Beispielsweise wird nun der folgende Fall betrachtet: während nämlich die
durch Koppeln eines ersten Bildverarbeitungsmoduls bis zu einem
P-ten Bildverarbeitungsmodul miteinander angeordneten Bildverarbeitungsschaltung 40 in
dem Bildverarbeitungsgerät 11 verwendet
wird, ist ein (hi × gi)-Filter
(Bildpunktdatenanzahl entlang der Zeilenrichtung ist gleich hi; hi ≥ 3) auf den "i"-ten Bildverarbeitungsmodulen dieser Bildverarbeitungsschaltung
montiert (das Symbol "i" ist gleich 1 bis
P). In diesem Fall ist der reduzierte Betrag der Bildverarbeitungsschaltung 40 entlang
der Zeilenrichtung gleich einem Gesamtwert der reduzierten Beträge der Bildpunktzahlen
der jeweiligen Bildverarbeitungsmodule entlang der Zeilenrichtung, und
da die i-ten Bildverarbeitungsmodule die Bildpunktzahl entlang der
Zeilenrichtung um (h1 – 1) Zahlen reduzieren, kann
der reduzierte Betrag "d" aus einer solchen
Formel berechnet werden "d
= (h1 – 1)
+ (h2 – 1)
+, ---, + (hP – 1). Beachte, dass nur (X – (h1 – 1) × (Y – (g1 – 1))
Teile von (hi × gi)
Fenstern nicht auf dem X×Y-Bild
angeordnet sind.
-
Nun
wird Bezug genommen auf 6 bis 10, während einer
Anordnung und Betriebsabläufe
des Bildverarbeitungsmoduls 40a beschrieben werden. 6 ist
ein Aufbaudiagramm des Bildverarbeitungsmoduls 40a und 7 zeigt
ein Zeitdiagramm zum Erläutern
der Betriebsabläufe
des Bildverarbeitungsmoduls 40a. 8 und 9 sind Schaltungsdiagramme
eines Registerarrays und eines 3×3-Registers, die in dem Bildverarbeitungsmodul 40a jeweils
enthalten sind. 10 ist ein Erklärdiagramm
zum Erläutern
von Betriebsabläufen
von Auswählern
Selektor #0 und #1, die in dem 3×3-Register enthalten sind.
-
Wie
in 6 angegeben, ist das Bildverarbeitungsmodul 40a durch
einen Puffer 51, einen Steuerungsblock 52, ein
Registerarray 53, ein 3×3-Register 54 und
einen Rechenblock 55 angeordnet. Bildpunktdaten RGBI mit
einer 24-Bit-Breite werden in den Puffer 51 eingegeben.
Ein Strobe-Signal xSTRB wird in den Steuerungsblock 52 eingegeben. Auch
wird ein Taktsignal (CLK) (nicht dargestellt) in die jeweiligen
Schaltungsabschnitte, die in diesem Bildverarbeitungsmodul 40a verwendet
werden, eingegeben.
-
Die
Bildpunktdaten RGBI entsprechen solchen Daten, wie sie der Drucker-Schnittstellenkarte 27 als
Ergebnis zugeführt
werden, das erhalten wird durch Ausführen des Blockbilddatenzufuhr-Verarbeitungsbetriebs.
Wie in 7 angegeben, wird der Inhalt der Bildpunktdaten
RGBI synchron mit dem Taktsignal CLK geändert. Wie in 7 gezeigt,
werden die Bildpunktdaten RGBI umgewandelt in andere Bildpunktdaten "rgb_reg", die in temporärer Weise durch
den Zeitsteuerungspuffer 51 (timing controlling buffer)
geändert
werden. Dann werden diese Bildpunktdaten rgb_reg in sowohl das Registerarray 53 als
auch das 3×3-Register 54 eingegeben.
In 7 sollte bemerkt werden, dass ein Symbol "i_j" wie z. B. 0 0 und
0 1, die in dem sich auf die Bildpunktdaten RGBI beziehenden Zeitdiagramm
beschrieben werden, und rgb_reg das Folgende darstellen: sowohl die
Bildpunktdaten RGBI als auch rgb_reg eines solchen Zeitbereichs,
in dem das relevante Symbol beschrieben wird, sind gleich Bildpunktdaten
(die nachstehend als "Bildpunktdaten
i_j" bezeichnet
werden), die sich auf einen durch eine j-te Zeile und eine i-te Spalte
definierten Bildpunkt beziehen (die oberste Zeile ist die nullte
Zeile und die oberste Spalte ist die nullte Spalte) in einem Blockbild.
-
Das
Strobe-Signal xSTRB entspricht einem Signal, das einen Pegel von "0" inne hat während der Blockbilddatenzufuhr-Verarbeitungsbetrieb
ausgeführt
wird (nämlich
innerhalb der Zeitdauer, während der
Bildpunktdaten RGBI ein Blockbild von Bildpunktdaten angeben). Denn,
da der Steuerungsblock 52, in den dieses Strobe-Signal
xSTRB eingegeben wird, synchron mit dem Taktsignal CLK betrieben
wird während
eines Zeitpunkts, wenn der Pegel des Strobe-Signals xSTRB zu "0" geändert
wird, als eine Referenz festgelegt wird, gibt dieser Steuerungsblock 52 Auswahlsignale "selA_0" bis "selA_15", "selB_0" bis "selB_15", "selC_0" bis "selC_15" aus; 15 Arten diskreter
Verschiebungssignal "shift0" bis "shift15"; ein Verschiebungssignal "shift"; ein 2-Bit-Zustandssignal "state" und ein Strobe-Signal
xSTRBO".
-
Mit
anderen Worten, wenn der Bildpunktdatenwert rgb_reg gleich dem Bildpunktdatenwert "3k_j" ist (das Symbol "k" ist ein ganzzahliger Wert größer oder
gleich "0" während 3k ≤ W erfüllt sein kann),
gibt der Steuerungsblock 52 ein solches Signal von "1" als ein Auswahlsignal "sela_j" aus (das Symbol "j" ist irgendein ganzzahliger Wert von
0 bis 15). Auch gibt der Steuerungsblock 52, wenn der Bildpunktdatenwert
rgb_reg gleich dem Bildpunktdatenwert "3k + 1_j" ist (das Symbol "k" ist
ein ganzzahliger Wert größer als
oder gleich "0" während 3k
+ 1 ≤ W erfüllt sein
kann), ein solches Signal von "1" aus, wie ein Auswahlsignal "selB_j). Auch gibt
der Steuerungsblock 52, wenn der Bildpunktdatenwert rgb_reg gleich
dem Bildpunktdatenwert "3k
+ 2_j" ist (das Symbol "k" ist ein ganzzahliger Wert größer als
oder gleich "0" während 3k
+ 2 ≤ W erfüllt sein
kann), ein solches Signal von "1" als ein Auswahlsignal "selC_j" aus.
-
Auch
gibt der Steuerungsblock 52 ein solches Signal als Verschiebungssignal "shift" aus, das wenn das
Auswahlsignal selC_0 zuerst "1" wird, dieses Verschiebungssignal
geändert
wird in "1", während wenn
das Strobe-Signal xSTRB in "1" geändert wird,
dieses Verschiebungssignal "0" wird (dieses Verschiebungssignal
wird nämlich "1" während
einer "16 × (W – 2)"-CLK-Zeitdauer).
Auch gibt der Steuerungsblock 52 ein solches Signal als
das diskrete Verschiebungssignal "shiftj" aus, das wenn der Bildpunktdatenwert
rgb_reg gleich dem Bildpunktdatenwert i_j ist, dieses diskrete Verschiebungssignal "1" wird.
-
Auch
gibt der Steuerungsblock 52 als das Zustandssignal "state" ein solches Signal
aus, das "0" anzeigt für eine Zeitdauer,
während
der der Bildpunktdatenwert rgb_reg den Bildpunktdatenwert 3k + 2_0
bis 3k + 2_15 anzeigt. Auch gibt der Steuerungsblock 52 als
das Zustandssignal "state" ein solches Signal
aus, das "1" anzeigt für eine Zeitdauer,
während
der der Bildpunktdatenwert rgb_reg Bildpunktdaten 3k + 3_0 bis 3k
+ 3_15 anzeigt. Ferner gibt der Steuerungsblock 52 als
das Zustandssignal "state" ein solches Signal
aus, das "2" anzeigt für eine Zeitdauer,
während
der der Bildpunktdatenwert rgb_reg Bildpunktdaten 3k + 4_0 bis 3k
+ 4_15 anzeigt.
-
Dann
gibt der Steuerungsblock 52 als das Strobe-Ausgangssignal xSTRBO
ein solches Signal aus, das "0" wird, wenn eine
35-CLK-Zeitdauer verstrichen ist nach einem solchen Zeitpunkt, wenn
das Strobe-Signal xSTRB in "0" geändert worden
ist, und ein solches Signal, das "1" wird,
wenn eine 4-CLK-Zeitdauer verstrichen ist nach einem solchen Zeitpunkt,
wenn das Strobe-Signal xSTRB geändert wird
in "1" (dieses Signal bleibt
nämlich "1" für
eine "16 × (W – 2)"-CLK-Zeitdauer).
-
Wie
in 6 angegeben, werden sowohl die Ausgangssignale
selA_0 bis selA_15, selB_0 bis selB_15, selC_0 bis selC_15, die
den Ausgangsgrößen des
des Steuerblocks 52 entsprechen, als auch die Bildpunktdaten
rgb_reg, die der Ausgangsgröße des Puffers 51 entsprechen,
in das Registerarray 53 eingegeben.
-
Wie
in 8 gezeigt, ist das Registerarray 53 durch
Register 58A_0 bis 58A_15 angeordnet, die Bildpunktdaten "dataA_0" bis "dataA_15" jeweils ausgeben;
Register 58B_0 bis 58B_15, die jeweils Bildpunktdaten "dataB_0" bis "dataB_15" ausgeben; und auch
Register 58C_0 bis 58C_15, die jeweils Bildpunktdaten "dataC_0" bis "dataC_15" ausgeben. Der Bildpunktdatenwert
rgb_reg, das Auswahlsignal selX_j und das Taktsignal CLK (nicht
dargestellt) werden in ein Register "58X_j" eingegeben (das Symbol "X" gibt irgendeines von A, B, C an und
das Symbol "j" repräsentiert
irgendeines von "0" bis "15"). Unter einer solchen
Bedingung, dass das Auswahlsignal selX_j mit dem Pegel von "1" in das Register 58X_j eingegeben
wird, holt dieses Register 58X_j den eingegebenen Bildpunktdatenwert
synchron mit dem Taktsignal CLK und gibt den eingeholten Bildpunktdatenwert
synchron mit dem Taktsignal CLK aus (nämlich bei der nächsten CLK-Zeitdauer).
Unter einer solchen Bedingung, dass das Auswahlsignal selX_j mit
dem Pegel "0" in das Register 58X_j eingegeben
wird, gibt dieses Register 58X_j kontinuierlich die eingeholten
Bildpunktdaten in dem Fall aus, dass das Auswahlsignal selX_j mit
dem Pegel "1" darin eingegeben
wird.
-
Mit
anderen Worten, das Registerarray 53 wird in nachstehender
Weise betrieben.
-
Wie
zuvor in der obigen Beschreibung erläutert, wird, wenn der Bildpunktdatenwert
rgb_reg den Bildpunktdatenwert 3k_j angibt, das Auswahlsignal selA_j "1". Auch, wenn der Bildpunktdatenwert rgb_reg
den Bildpunktdatenwert 3k + 1_j repräsentiert, wird das Auswahlsignal
selB_j "1". Auch wenn der Bildpunktdatenwert
rgb_reg den Bildpunktdatenwert 3k + 2_j repräsentiert, wird das Auswahlsignal selC_j "1". Wenn ein bestimmtes Auswahlsignal "1" wird, werden 47 Sätze anderer Auswahlsignale "0".
-
Als
ein Ergebnis beginnt das Register 58A-j, in das das Auswahlsignal
selA_j eingegeben wird, Bildpunktdaten 3k_j in der nächsten CLK-Zeitperiode auszugeben,
wenn die Bildpunktdaten rgb_reg geändert werden in die Bildpunktdaten
3k_j, und daraufhin gibt es kontinuierlich die Bildpunktdaten 3k_j
aus, bis die Bildpunktdaten rgb_reg die Bildpunktdaten 3k + 3_j
angeben. Auch beginnt das Register 58B_j, die Bildpunktdaten
3k + 1_j in der nächsten
CLK-Zeitperiode auszugeben, wenn die Bildpunktdaten rgb_reg geändert werden
in die Bildpunktdaten 3k + 1_j, und gibt daraufhin kontinuierlich
die Bildpunktdaten 3k + 1_j aus, bis die Bildpunktdaten rgb_reg
die Bildpunktdaten 3k + 4_j angeben. Auch beginnt das Register 60C_j mit
der Ausgabe der Bildpunktdaten 3k + 2_j in der nächsten CLK-Zeitperiode, wenn
die Bildpunktdaten rgb_reg die Bildpunktdaten 3k + 1_j angeben und
daraufhin gibt es die Bildpunktdaten 3k + 2_j kontinuierlich aus
bis die Bildpunktdaten rgb_reg die Bildpunktdaten 3k + 5_j angeben.
-
Als
ein Ergebnis der oben erläuterten,
durch die jeweiligen Register 58 ausgeführten Betriebsabläufe werden
in dem Fall, dass Bildpunktdaten rgb_reg solche Bildpunktdaten "3k + 2_j" angeben (das Symbol "k" zeigt einen ganzzahligen Wert größer als
oder gleich "0", der "3k + 2 ≤ W" erfüllen kann),
die Bildpunktdaten 3k_0 bis zu den Daten 3k_15 als Bildpunktdaten "dataA_0" bis "dataA_15" von dem Registerarray 53 jeweils
ausgegeben. Und auch die Bildpunktdaten 3k + 1_0 bis zu den Bildpunktdaten
3k + 1_15 werden als Bildpunktdaten "dataB_0" bis "dataB_15" jeweils ausgegeben. Auch werden die
Bildpunktdaten 3k + 2_0 bis zu den Bildpunktdaten 3k + 2_j – 1 und
die Bildpunktdaten 3k – 1_j
bis zu den Bildpunktdaten 3k – 1_15
als Bildpunktdaten "dataC_0" bis "dataC_15" jeweils ausgegeben.
Es sollte bemerkt werden, dass die als dataC_j bis dataC_15 ausgegebenen
Daten, wenn k = 0 gilt, keinen Daten mit Bedeutung entsprechen.
-
Auch
werden, wenn die Bildpunktdaten rgb_reg die Bildpunktdaten 3k +
3_j angeben, die Bildpunktdaten 3k + 3_0 bis zu den Bildpunktdaten 3k
+ 3_j – 1
und auch die Bildpunktdaten 3k_j bis zu den Bildpunktdaten 3k_15
von dem Registerarray 53 als Bildpunktdaten dataA-0 bis
dataA_15 jeweils ausgegeben. Auch werden, wenn die Bildpunktdaten rgb_reg
die Bildpunktdaten 3k + 3_j zeigen, die Bildpunktdaten 3k + 1_0
bis zu den Bildpunktdaten 3k + 1_15 von dem Registerarray 53 als
Bildpunktdaten dataB_j bis dataB_15 jeweils ausgegeben. Auch, wenn
die Bildpunktdaten rgb_reg die Bildpunktdaten 3k + 3_j zeigen, werden
die Bildpunktdaten 3k + 2_0 bis zu den Bildpunktdaten 3k + 2_15
von dem von dem Registerarray 53 als Bildpunktdaten dataC_0 bis
dataC_15 jeweils ausgegeben.
-
Dann
werden, wenn die Bildpunktdaten rgb_reg die Bildpunktdaten 3k +
4_j zeigen, die Bildpunktdaten 3k + 3_0 bis zu den Bildpunktdaten
3k + 3_15 von dem Registerarray 53 als die Bildpunktdaten
dataA_0 bis dataA_15 jeweils ausgegeben. Auch werden, wenn die Bildpunktdaten
rgb_reg die Bildpunktdaten 3k + 4_j zeigen, die Bildpunktdaten 3k
+ 4_0 bis zu den Bildpunktdaten 3k + 4_j – 1 von dem Registerarray 53 als
die Bildpunktdaten dataB_j bis dataB_15 jeweils ausgegeben. Auch
werden, wenn die Bildpunktdaten rgb_reg die Bildpunktdaten 3k + 4_j
zeigen, die Bildpunktdaten 3k + 2_0 bis zu den Bildpunktdaten 3k
+ 2_15 von dem Registerarray 53 jeweils als die Bildpunktdaten
dataC_0 bis dataC_15 ausgegeben.
-
Wie
in 6 angegeben, werden dataA_0 bis dataA_15, dataB_0
bis dataB_15 und dataC_0 bis dataC_15, die von dem Registerarray 53 ausgegeben
werden, in das 3×3-Register 54 eingegeben. Auch
werden das Verschiebungssignal "shift", die diskreten Verschiebungssignale
shift0 bis shift15, das Zustandssignal "state" und die Bildpunktdaten "rgb_reg" in ähnlicher
Weise in dieses 3×3-Register 54 eingegeben.
-
Wie
in 9 angegeben, enthält das 3×3-Register 54 einen
Auswähler 60 (Selektor
#0), einen anderen Auswähler 61 (Selektor
#1) und Register 650 bis 658 , die Bildpunktdaten mt0 bis mt8 jeweils
ausgeben. Die diskreten Verschiebungssignale "shift0" bis "shift15", das Zustandssignal "state" und auch die Bildpunktdaten "dataA_0" bis "dataA_15", "dataB_0" bis "dataB_15", "dataC_0" bis "dataC_15" werden sowohl in
den Auswähler 60 als
auch in den Auswähler 61 eingegeben,
wohingegen die Bildpunktdaten rgb_reg in das Register 658 eingegeben werden. Auch werden die
der Ausgangsgröße des Auswählers 60 entsprechenden
Daten data0 in das Register 656 eingegeben,
wohingegen die Daten data1 in Entsprechung zu der Ausgangsgröße des Auswählers 61 in
das Register 657 eingegeben werden.
-
Der
Auswähler 60 ist
eine Schaltung um Ausgeben der Bildpunktdaten "data0", einer Art von Bildpunktdaten, die
spezifiziert wird durch Bedingungen diskreter Verschiebungssignale "shift0" bis "shift1" und des Zustandssignals "state", werden von 48 Arten
eingegebener Bildpunktdaten ausgewählt. Der Auswähler 61 ist
eine solche Schaltung zum Ausgeben der Bildpunktdaten "data1", eine Art von Bildpunktdaten,
die spezifiziert wird durch die Bedingungen der diskreten Verschiebungssignale "shift0" bis "shift1" und des Zustandssignals "state", werden von 48 Arten
eingegebener Bildpunktdaten ausgewählt.
-
Konkret
gesagt, wie in 10 angegeben, gibt der Auswähler 60 in
einem solchen Fall, dass das Zustandssignal "state" gleich "0" ist
und das diskrete Verschiebungssignal "shiftj" (das Symbol "j" =
0 bis 15) gleich "1" ist, die Bildpunktdaten "dataA_j" aus, und der Auswähler 61 gibt
Bildpunktdaten "dataB_j" aus. Auch in einem
solchen Fall, dass das Zustandssignal "state" gleich "1" ist
und die diskreten Verschiebungssignale "shiftj" gleich "1" ist,
gibt der Auswähler 60 die
Bildpunktdaten "dataB_j" aus und der Auswähler 61 gibt
die Bildpunktdaten "dataC_j" aus. Auch in einem
solchen Fall, dass das Zustandssignal "state" gleich "2" ist
und das diskrete Verschiebungssignal "shiftj" gleich "1" ist,
gibt der Auswähler 60 die
Bildpunktdaten "dataC_j" aus und der Auswähler 61 gibt
die Bildpunktdaten "dataA_j" aus.
-
Das
heißt,
in einem solchen Fall, dass das diskrete Verschiebungssignal "shiftj" gleich "1" ist und auch das Zustandssignal "state" gleich "0" ist, während die Bildpunktdaten rgb_reg
die Bildpunktdaten 3k + 2_1 zeigen, werden Bildpunktdaten 3k – 0 bis
3k – 15
als Bildpunktdaten dataA_0 bis dataA_15 ausgegeben und auch die
Bildpunktdaten 3k + 1_0 bis 3k + 1_15 werden als Bildpunktdaten
dataB_0 bis dataB_15 von dem Registerarray 53 ausgegeben. Dann
werden, da die Bildpunktdaten dataA_j von dem Auswähler 60 ausgegeben
werden und die Bildpunktdaten dataB_j von dem Auswähler 61 ausgegeben
werden, in diesem Fall die Bildpunktdaten 3k_j, die Bildpunktdaten
3k + 1_j und die Bildpunktdaten 3k + 2_j letztendlich jeweils in
die Register 658 , 657 bzw. 656 eingegeben.
-
Auch
werden in einem solchen Fall, dass das diskrete Verschiebungssignal "shiftj" gleich "1" ist und auch das Zustandssignal "state" gleich "1" ist, während die Bildpunktdaten rgb_reg
die Bildpunktdaten 3k + 3_j angeben, die Bildpunktdaten 3k + 1_0
bis 3k + 1_15 als Bildpunktdaten dataB_0 bis dataB_15 ausgegeben
und auch die Bildpunktdaten 3k + 2_0 bis 3k + 2_15 werden als die
Bildpunktdaten dataC_0 bis dataC_15 von dem Registerarray 53 ausgegeben.
Dann werden, da die Bildpunktdaten datab_j von dem Auswähler 60 ausgegeben
werden und die Bildpunktdaten datac_j von dem Auswähler 61 ausgegeben
werden, in diesem Fall die Bildpunktdaten 3k + 1_j, die Bildpunktdaten
3k + 2_j und die Bildpunktdaten 3k + 3_j letztendlich jeweils in
die Register 658 , 657 bzw. 656 eingegeben.
-
Ferner
werden in einem solchen Fall, dass das diskrete Verschiebungssignal "shiftj" gleich "1" ist und auch das Zustandssignal "state" gleich "2" ist, während die Bildpunktdaten rgb_reg
die Bildpunktdaten 3k + 4_j anzeigen, die Bildpunktdaten 3k + 3_0 bis
3k + 3_15 als Bildpunktdaten dataA_0 bis dataA_15 ausgegeben und
auch die Bildpunktdaten 3k + 2_0 bis 3k + 2_15 werden als Bildpunktdaten dataC_0
bis dataC_15 von dem Registerarray 53 ausgegeben. Dann
werden, da die Bildpunktdaten dataC_j von dem Auswähler 60 ausgegeben
werden und die Bildpunktdaten dataA_j von dem Auswähler 61 ausgegeben
werden in diesem Fall die Bildpunktdaten 3k + 2_j, die Bildpunktdaten
3k + 3_j und die Bildpunktdaten 3k + 4_j letztendlich jeweils in
die Register 658 , 657 bzw. 656 eingegeben.
-
Denn,
wie in der Zeichnung ausgegeben, kann eine solche aus dem Register 656 , 653 und
dem Register 650 aufgebaute Schaltung
als Schaltung dienen, die als Schieberegister funktioniert, wenn
ein Schiebesignal "shift" mit einem Pegel
von "1" darin eingegeben
wird. Auch kann eine solche Schaltung, die aus dem Register 657 , 654 und
dem Register 651 aufgebaut ist,
als eine Schaltung dienen, die als ein Schieberegister arbeitet,
wenn ein Verschiebungssignal "shift" mit einem Pegel
von "1" darin eingegeben wird.
Auch kann eine solche aus dem Register 658 , dem
Register 655 und dem Register 652 aufgebaute Schaltung als eine Schaltung
dienen, die als ein Schieberegister funktioniert, wenn ein Verschiebungssignal "shift" mit einem Pegel
von "1" darin eingegeben
wird.
-
In
einer Folge hiervon werden in einem solchen Fall, dass die Bildpunktdaten "i_j + 2", die Bildpunktdaten "i + 1_j + 2" und die Bildpunktdaten "i + 2_j + 2" und die Bildpunktdaten "i + 2_j+2" (das Symbol "j" kennzeichnen einen ganzzahligen Wert
von 0 bis 13) als Bildpunktdaten "mt6", "mt7" und "mt8" ausgegeben werden,
die Bildpunktdaten i_j + 1, die Bildpunktdaten i + 1_j + 1 und die
Bildpunktdaten i + 2_j + 1 als Bildpunktdaten mt3, mt4 und mt5 jeweils ausgegeben
werden, wohingegen die Bildpunktdaten i_j, die Bildpunktdaten i
+ 1_j und die Bildpunktdaten i + 2_j als Bildpunktdaten mt0, mt1
bzw. mt2 ausgegeben werden. Mit anderen Worten, wenn die sich auf
die zweite Zeile bis zur 15. Zeile beziehenden Bildpunktdaten als
die Bildpunktdaten mt6, mt7, mt8, ausgegeben werden, werden 9 Bildpunktdatenwerte, die
sich sowohl auf einen gewissen Bildpunkt als auch 8 um diesen gewissen
Bildpunkt herum angeordneten Bildpunkte beziehen, als Bildpunktdaten mt0
bis mt8 von dem 3×3-Register 54 ausgegeben.
-
Wie
in 6 angegeben, werden die Bildpunktdaten mt0 bis
mt8 in den Rechenblock 55 entsprechend dem 3×3-Filter
eingegeben. Der Rechenblock 55 holt 9 dieser Bildpunktdatenwerte
synchron mit dem Taktsignal CLK und gibt dann einen Bildpunktdatenwert
als Bildpunktdatenwert "RGBO" in Entsprechung
zu 9 geholten Bildpunktdatenwerten aus. Das oben erwähnte xSTRBO
(siehe 7) kann ein solches Signal sein, dass der Pegel
dieses Signals sich in einer CLK- Zeitperiode ändert, die
einer solchen CLI-Zeitperiode vorangeht, während der dieser Rechenblock 55 solche
Bildpunktdaten in Entsprechung zu 9 Bildpunktdatenwerten, die sich
auf einen sowohl in einer ersten Zeile als auch in einer ersten
Spalte befindlichen Bildpunkt beziehen, und auch acht Bildpunkte,
die um diesen einen Bildpunkt herum angeordnet sind, ausgibt und
daraufhin wird der Pegel dieses Signals bei "0" während 16 × (W – 2) CLK-Zeitperioden
beibehalten. Es sollte in dem sich auf den in 7 gezeigten
Bildpunktdatenwert RGBO beziehenden Zeitdiagramm verstanden werden,
dass solche Bildpunktdaten dargestellt werden als "i – j" während diese
Bildpunktdaten aus 9 Bildpunktdatenwerten erhalten werden, die sich
sowohl auf einen in einer (i – 1)-ten
Spalte als auch einer j-ten Zeile befindlichen Bildpunkt beziehen,
und auch 8 um diesen Bildpunkt herum angeordnete Bildpunkte.
-
Die
den Ausgangsgrößen des
Bildverarbeitungsmoduls 40a entsprechenden Bildpunktdaten RGBO
und Strobe-Daten xSTRBO werden als "RGBI" und "xSTRB" in das Bildverarbeitungsmodul 40b eingegeben,
dessen Aufbau im Wesentlichen identisch mit dem dieses Bildverarbeitungsmoduls 40a ist.
-
In
diesem Zusammenhang wird nun der Aufbau des Bildverarbeitungsmoduls 40b kurz
erläutert. Dieses
Bildverarbeitungsmodul 40b ist mit einem Puffer 51,
einem Registerarray 53 und einem 3×3-Register 54 ausgestattet,
deren Aufbau derselbe ist wie der von jenen in dem Bildverarbeitungsmodul 40a.
Dann ist dieses Bildverarbeitungsmodul 40b ferner mit einem
Rechenblock in Entsprechung zu einem randbetonenden 3×3-Filter
ausgerüstet
statt dem Moire-Mustereliminierungsrechenblock 55. Auch
ist das Bildverarbeitungsmodul 40b mit einem Steuerungsblock
mit einem Zeitänderungsmuster
der Strobe-Daten xSTRBO ausgerüstet,
der sich von dem des oben erläuterten
Rechenblocks 52 unterscheidet. Konkret gesagt, das Bildverarbeitungsmodul 40b ist
mit einem solchen Steuerungsblock versehen, der die Daten xSTRBO
ausgibt. Der Pegel dieses Strobe-Datenwerts xSTRBO wird "0" in einer Zeitperiode, während der
Bildpunktdaten "i_2" bis Bildpunktdaten "i_13" (das Symbol "i" ist gleich einem ganzzahligen Wert
von 0 bis W – 4)
von dem in dem Bildverarbeitungsmodul 40b verwendeten Rechenblock
ausgegeben werden.
-
Mit
anderen Worten, da die bedeutungsvollen Bildpunktdaten nur die Bildpunktdaten
i_2 bis zu den Bildpunktdaten i_13 unter den Bildpunktdaten i_0
bis zu den Bildpunktdaten i_15 sind, die von dem Rechenblock des
Bildverarbeitungsmoduls 40b ausgegeben werden, ist der
in dem Bildverarbeitungsmodul 40b verwendete Steuerungsblock
in solcher Weise eingerichtet, dass der Pegel des Datenwerts xSTRBO
nur in einer Zeitperiode, während
der diese Bildpunktdaten ausgegeben werden, auf "0" festgelegt
wird. Obwohl die von dem Rechenblock 55 des Bildverarbeitungsmoduls 40a ausgegebenen
bedeutungsvollen Bildpunktdaten nur die Bildpunktdaten i_1 bis zu
den Bildpunktdaten i_14 sind (das Symbol "i" gibt
einen ganzzahligen Wert von 0 bis W – 2 an), ist der Steuerungsblock
so eingerichtet, dass der Pegel des Datenwerts xSTRBO auch während der
Zeitperiode, während
der die Bildpunktdaten i_0 und die Bildpunktdaten i_15 ausgegeben
werden, auf "0" festgelegt wird.
Dies ist, weil das Bildverarbeitungsmodul 40b die Schaltkreise
im Wesentlichen identisch mit jenen des Bildverarbeitungsmoduls 40a verwenden
kann.
-
Sowohl
der Bildpunktdatenwert RGBO als auch der Strobe-Datenwert xSTRBO, die den Ausgangsgrößen des
Bildverarbeitungsmoduls 40b entsprechen, werden in die
Drucker-Schnittstellenschaltung 41 (siehe 5)
in Kombination mit dem Taktsignal CLK eingegeben. Die Drucker-Schnittstellenschaltung 41 holt
die Daten RGBO in den jeweiligen Zeitperioden während denen die Daten xSTRBO "0" werden synchron mit dem Taktsignal
CLK und speichert dann die geholten Bildpunktdaten in einem solchen
Speicherbereich des Pufferspeichers 42. Dieser Speicherbereich
des Pufferspeichers 42 entspricht sowohl einer Spaltenposition als
auch einer Zeilenposition eines Bildpunkts, der durch diese geholten Bildpunktdaten
angegeben wird. Denn jedes Mal, wenn (n – d) × (W – d) Bildpunktdatenwerte in
dem Pufferspeicher 42 gespeichert worden sind, führt diese
Drucker-Schnittstellenschaltung 41 diese
gespeicherten Bildpunktdaten dem Drucker 14 sowohl in der
Zeilenpositionsreihenfolge als auch der Spaltenpositionsreihenfolge
zu, während
die Zeilenpositionen der durch die jeweiligen Bildpunktdaten angegeben
Bildpunkte mit einer oberen Priorität verwendet werden. In diesem
Ausführungsmodus
werden jedesmal 12 × (W – 4) Bildpunktdatenwerte
in dem Pufferspeicher 42 gespeichert.
-
Mit
anderen Worten, während
die Drucker-Schnittstellenschaltung 41 wiederholt
einen solchen Verarbeitungsbetrieb "M" mal
ausführt,
dass (n – d) × (W – d) Bildpunktdatenwerte,
die von der Bildverarbeitungsschaltung 40 in einer Zufuhrabfolge, wie
sie in 11(A) gezeigt wird, in einer
Abfolge zugeführt
werden, wie sie in 11(B) gezeigt
wird, gibt diese Drucker-Schnittstellenschaltung 41 an
den Drucker 14 solches Papier aus, auf dem Blockbilder G1' bis
GM' ausgedruckt
sind, wie in 12 erläuternd angegeben. Diese Blockbilder
G1' bis
GM' entsprechen
den oben erwähnten
Blockbildern G1 bis GM und sind
einer Bildverarbeitung unterzogen worden.
-
Das
aus diesen Blockbildern G1' bis GM' aufgebaute Bild
ist gleich einem Bild, das durch das Ausführen eines wünschenswerten
Bildverarbeitungsbetriebs an dem Originalbild erzeugt wird.
-
Der
Grund hierzu ist folgender: während
die Bildverarbeitungsschaltung 40 solche Bildpunktdaten erfordert,
die sich auf "q × q" (nämlich in
diesem Ausführungsmodus
5) Bildpunktwerte bezieht, um einen Bildpunktdatenwert zu berechnen,
wird nun angenommen, dass eine letzte Zeile eines solchen Blockbildes
GK' (das
Symbol "K" zeigt einen ganzzahligen Wert
von 1 bis M – 1)
gleich der x-ten Zeile ist, erfordert diese Bildverarbeitungsschaltung 40 solche
Bildpunktdaten, die sich auf eine ""
x – (g – 1)/2""-te Zeile bis eine "" x + (g)"-te Zeile des Originalbilds beziehen,
um Bildpunktdatenwerte einzuholen, die sich auf die x-te Zeile beziehen.
Auch um solche Bildpunktdaten, die sich auf eine obere Zeile ((x
+ 1)-te Zeile) eines anderen Blockbildes GK+1' beziehen, erfordert
die Bildverarbeitungsschaltung 40 solche Bildpunktdaten,
die sich auf eine "" x + 1 – (g – 1)/2""-te Zeile bis eine "" x + 1 + (g – 1)/2"-te Zeile des Originalbilds beziehen.
-
Mit
anderen Worten, das Blockbild "GK" kann aus
einem solchen Bild erstellt werden, das die kontinuierlichen "n" Zeilen von Bildpunkten des Originalbilds
umfasst, die definiert sind bis zu der ""
x + (g – 1)/2""-ten Zeile definiert
sind, wohingegen das Blockbild "GK+1" aus
einem solchen Bild erstellt werden kann, das die kontinuierlichen
Zeilen von Bildpunkten des Originalbilds umfasst, die definiert sind
bis zu der "" x + 1 – (g – 1)/2""-ten Zeile. Ferner
ist zu erwähnen,
dass "(x + (g – 1)/2) – (x + 1 – (g – 1)/2)
+ 1" Zeilen (= g – l = d),
die bei der Endposition des Blockbildes GK vorliegen,
in dem Blockbild GK+1 enthalten sein können.
-
Dann,
wie zuvor unter Bezugnahme auf 4(A) und 4(B) erläutert,
kann, wenn der Bilddatenzufuhr-Verarbeitungsbetrieb
ausgeführt wird,
eine Seite der Ursprungsbilddaten als solche Daten gehandhabt werden,
die indikativ sind in Bezug auf die Blockbilder G1 bis
GM, welche die kontinuierlichen "n" Zeilen jeweils umfassen, und in denen der
aus "d"-Zeilen erstellte überlappende
Abschnitt sich zwischen dem eigenen Blockbild und einem anderen
Blockbild, das dem eigenen Blockbild vorangeht, befinden. Als ein
Ergebnis kann das die Blockbilder G1' bis GM' umfassende Bild
als ein Bild dienen, in dem das Originalbild einer Bildverarbeitung
unterzogen worden ist in der gewünschten
Bildverarbeitungsweise.
-
Wie
zuvor detailliert beschrieben, kann in dem Bildverarbeitungsgerät 11 gemäß diesem
Ausführungsmodus,
da die Bildverarbeitungsschaltung 40 mehrmals verwendet
wird, um die Bilddaten einer Bildverarbeitung zu unterziehen, der
Bildverarbeitungsbetrieb auf solche Bilddaten angewendet werden,
die indikativ sind in Bezug auf verschiedene Bilder mit irgendwelchen
Bildgrößen. Auch
gibt es jedes Mal, wenn ein Blockbild der Bilddaten von dem Abtaster 13 erhalten
wird, da dem Drucker 14 Ein-Block-Bilddruckdaten zugeführt werden,
kein solches Problem, dass es längere
Zeit erfordert, um den Kopierbetrieb auszuführen.
-
MODIFIZIERTES BEISPIEL
-
Das
Bildverarbeitungsgerät 11 gemäß dem oben
erwähnten
Ausführungsmodus
entspricht einem solchen Bildverarbeitungsgerät, das in solcher Weise betreibbar
ist, dass der Bildverarbeitungsbetrieb wie der Moire-Musterentfernungsbetrieb
ausgeführt
wird unter Verwendung der Bildverarbeitungsschaltung 40 in
Bezug auf die von dem Abtaster 13 eingegebenen Bilddaten,
und dann die bildverarbeiteten Bilddaten zu dem Drucker 14 ausgegeben
werden. Alternativ können
die Inhalte von in der Bildverarbeitungsschaltung 40 ausgeführten Bildverarbeitungsbetriebsabläufen, die
Eingabequelle, deren Bilddaten einer Bildverarbeitung unterzogen
werden und das Ausgabeziel der der Bildverarbeitung unterzogenen
Bilddaten unterschiedlich von jenen des oben beschriebenen Ausführungsmodus
sein.
-
Beispielsweise
kann als die Bildverarbeitungsschaltung 40 ein solcher
Schaltkreis verwendet werden, der irgendeines von dem Bildverarbeitungsmodul 40a und
dem Bildverarbeitungsmodul 40b veranlasst, zu funktionieren.
In diesem alternativen Fall kann das Bildverarbeitungsgerät 11 auf
solche Weise eingerichtet sein, dass der Bilddatenzufuhr-Verarbeitungsbetrieb
ausgeführt
wird während
ein solcher Wert, der in Übereinstimmung
mit einer Gesamtzahl von den Bildverarbeitungsmodulen 40x bestimmt wird,
die veranlasst werden, zu funktionieren, als der "d"-Wert verwendet werden kann (es kann
nämlich ein
solches spezifisches Computerprogramm ausgebildet sein, das nicht
einen Teil der Erfindung bildet). Das heißt, zu sagen, dass das Bildverarbeitungsgerät 11 eingerichtet
sein kann oder ein spezifisches Computerprogramm, das keinen Teil
der Erfindung bildet, ausgebildet sein kann in dem Fall, dass sowohl
das Bildverarbeitungsmodul 40a als auch das Bildverarbeitungsmodul 40b veranlasst
werden, zu funktionieren, wobei der Bilddatenzufuhr-Verarbeitungsbetrieb
ausgeführt
werden kann während
2 × (m – 1) als
der "d"-Wert verwendet wird
(" 2m – 1" wird als "q"-Wert verwendet); wohingegen in dem
Fall, in dem irgendeines dieser Bildverarbeitungsmodule 40a und 40b gegebenenfalls
veranlasst wird, zu funktionieren, der Bilddatenzufuhr-Verarbeitungsbetrieb
ausgeführt
werden kann während
(m – 1)
als der "d"-Wert verwendet wird
(m wird nämlich als "q"-Wert verwendet).
-
Wie
zuvor erläutert,
kann die Bildverarbeitungsschaltung 40 letztendlich aus
einer solchen Schaltung gebildet werden, die eingerichtet wird durch
Koppeln des ersten Bildverarbeitungsmoduls mit dem P-ten Bildverarbeitungsmodul
miteinander während
ein hi × gi-Filter (Bilddatenanzahl entlang der Zeilenrichtung
ist gleich hi; hi ≥ 3) auf dem
i-ten (i = 1 bis
P) Bildverarbeitungsmodul montiert ist.
-
Mit
anderen Worten, die technische Idee, die in dem Bildverarbeitungsgerät 11 gemäß diesem Ausführungsmodus
verwendet wird, kann ähnlich
angewendet werden auf irgendeinen Typ von Geräten, wenn diese Geräte einen
gewissen Bildverarbeitungsbetrieb ausführen. Beispielsweise, während diese
technische Idee der vorliegenden Erfindung verwendet wird, kann
ein Bildverarbeitungsgerät
auf solche Weise hergestellt werden, dass während ein vorausgewählter Bildverarbeitungsbetrieb
ausgeführt
wird in Bezug auf Bilddaten, die als eine Datendatei ausgebildet
sind, und in einer Hilfsspeichervorrichtung gespeichert worden sind,
die bildverarbeiteten Bilddaten als eine Bilddatendatei ausgebildet werden,
und dann diese Bilddatendatei gespeichert wird. Alternativ kann
ein solches Bildverarbeitungsgerät
hergestellt werden, dass bildverarbeitete Bilddaten auf einer Anzeigeeinheit
angezeigt werden.
-
In Übereinstimmung
mit dem Bildverarbeitungsgerät
der vorliegenden Erfindung kann der Bildverarbeitungsbetrieb in
Bezug auf Bilddaten ausgeführt
werden, die indikativ sind in Bezug auf das Bild mit der beliebigen
Bildgröße. Auch
kann, da die in dem Bildverarbeitungsgerät der vorliegenden Erfindung
erforderliche Bildverarbeitungsschaltung durch bloßes Einbeziehen
des Pufferspeichers mit geringer Kapazität hergestellt werden kann,
das Bildverarbeitungsgerät
gemäß der vorliegenden
Erfindung durch Montieren einer geringen Anzahl an Bildverarbeitungsschaltkreisen
realisiert werden.