DE69821569T2 - Tetraederinterpolation - Google Patents

Tetraederinterpolation Download PDF

Info

Publication number
DE69821569T2
DE69821569T2 DE69821569T DE69821569T DE69821569T2 DE 69821569 T2 DE69821569 T2 DE 69821569T2 DE 69821569 T DE69821569 T DE 69821569T DE 69821569 T DE69821569 T DE 69821569T DE 69821569 T2 DE69821569 T2 DE 69821569T2
Authority
DE
Germany
Prior art keywords
data
color
coordinates
grid
grid point
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 - Lifetime
Application number
DE69821569T
Other languages
English (en)
Other versions
DE69821569D1 (de
Inventor
Toshiaki Suwa-shi Nagano-ken Kakutani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE69821569D1 publication Critical patent/DE69821569D1/de
Application granted granted Critical
Publication of DE69821569T2 publication Critical patent/DE69821569T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6016Conversion to subtractive colour signals
    • H04N1/6019Conversion to subtractive colour signals using look-up tables

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf ein Steuer- bzw. Regelverfahren zur Durchführung einer Steuer- bzw. Regeloperation einer Anlage durch Interpolation von Zieldaten, die entsprechend spezifischen Punkten gespeichert sind, die in einem Koordinatenraum mit einer vorbestimmten Anzahl von Dimensionen diskret vorliegen, gemäß Kombinationen von Koordinatenwerten. Außerdem bezieht sich die vorliegende Erfindung auf eine Bildverarbeitungsvorrichtung, die mittels des darauf angewendeten Steuerverfahrens die Farbkorrektur von Eingangsbilddaten durchführt.
  • Um eine Vielzahl von Vorrichtungen zu steuern, wird eine Dateninterpolation angewendet. Die Dateninterpolationstechnik interpoliert eine Tabelle, die vorbestimmte Daten speichert, die diskreten Koordinaten entsprechen, und spezifiziert Daten, die einer Kombination beliebiger Koordinaten entsprechen. Die Dateninterpolationstechnik ist maßgeblich wirksam für die Daten, die nicht durch Funktionen ausgedrückt werden können. Die Anwendung der Dateninterpolation besitzt einen weiteren Vorteil, d. h. die Verringerung der Anzahl der in einer Tabelle gespeicherten Daten. Die Dateninterpolationstechnik ist anwendbar auf die Durchführung von Steueroperationen einer Bildverarbeitungsvorrichtung oder genauer für die Farbkorrektur in einer Bildverarbeitungsvorrichtung, die mit einer Bildeingabeeinheit wie etwa mit einem Scanner ein Farboriginal einliest und die Bilddaten auf einer Bildausgabeeinheit wie etwa auf einer CRT oder auf einer anderen Anzeige oder auf einem Farbdrucker anzeigt oder wiedergibt.
  • Farbdrucker besitzen innere Farbwiedergabeeigenschaften. Es wurden einige Techniken vorgeschlagen, um eine Farbkorrektur eines Farbbilds, das beispielsweise mit einem Scanner eingegeben wird, gemäß den Farbwiedergabeeigenschaften der ausgewählten Bildausgabevorrichtung durchzuführen, um eine vorteilhafte Farbwiedergabe des Farbbildes zu realisieren. Das in der Offenlegungsschrift Nr. 63-2669 beschriebene Verfahren ist eine dieser Farbkorrekturtechniken. Dieses Verfahren liefert eine Farbkorrekturtabelle, die allen Kombinationen von Tönen der drei Farben Rot (im Folgenden als R bezeichnet), Grün (im Folgenden als G bezeichnet) und Blau (im Folgenden als B bezeichnet) entspricht. Die Farbkorrekturtabelle speichert den Inhalt der Farbkorrektur in Bezug auf alle Positionen in einem durch dreidimensionale Koordinaten definierten Farbraum. Die Farbverarbeitungsvorrichtung nimmt auf diese Farbkorrekturtabelle Bezug, um die Farbkorrektur zu realisieren.
  • Allerdings benötigt dieses frühere Farbkorrekturverfahren eine äußerst große Speicherkapazität für die Farbkorrekturtabelle und ist dadurch unpraktisch. Beispielsweise ist die Anzahl der Farben die dritte Potenz von 256, d. h. etwa gleich 16.780tausend Farben, wenn die Originaleingangs-Farbbilddaten 256 Töne (= 8 Bits) für die jeweiligen Farben R, G und B besitzen. Falls die Daten nach der Farbkorrektur 8-Bit-Daten sind, ist die für die Farbkorrekturtabelle benötigte Speicherkapazität für die drei Farben R, G und B 48 Megabyte.
  • Um die für die Farbkorrekturtabelle benötigte Speicherkapazität zu verringern, teilen einige vorgeschlagene Bildverarbeitungsverfahren einen Farbraum durch ein vorbestimmtes Intervall auf, wobei sie lediglich für die durch die Aufteilung erhaltenen Gitterpunkte Farbkorrekturdaten liefern. Die im OFFENGELEGTEN JAPANISCHEN PATENTBLATT Nr. 4-144481 und Nr. 4-185075 beschriebenen Techniken führen die Bildverarbeitung durch Dateninterpolation durch. Diese Verfahren führen die Interpolation mit Gitterpunktdaten durch, wobei sie Farbkorrekturdaten spezifizieren, die den aus irgendwelchen Gitterpunkten abgeleiteten Eingangsbilddaten entsprechen.
  • Unten wird beispielhaft eine konkrete Prozedur der Dateninterpolation mit Farbkorrekturdaten diskutiert, die für acht Gitterpunkte geliefert werden, die in der Nähe der Eingangsbilddaten in dem dreidimensionalen Farbraum vorliegen. Die acht Gitterpunkte stellen Eckpunkte eines Würfels oder einer Gitteraufteilung, die durch die zu den Eingangsbilddaten benachbarten Gitterpunkte definiert ist, dar. Die Farbkorrekturdaten der acht Gitterpunkte werden als T(a, b, c), T(a + 1, b, c), T(a, b + 1, c), ..., T(a + 1, b + 1, c + 1) ausgedrückt. Daraufhin werden die Farbkorrekturdaten T, die den Eingangsbilddaten entsprechen, ausgedrückt als: T = (1 – γa)(1 – γb)(1 – γc)T(a, b, c) + γa·(1 – γb)(1 – γc)T(a + 1, b, c) + (1 – γa)·γb·(1 – γc)T(a, b + 1, c) + (1 – γa)(1 – γb)·γc·T(a, b, c + 1) + γa·γb·(1 – γc)T(a + 1, b + 1, c) + γa·(1 – γb)·γc·T(a + 1, b, c + 1) + (1 – γa)·γb·γc·T(a, b + 1, c + 1) + γa·γb·γc·T(a + 1, b + 1, c + 1),wobei γa, γb und γc Gewichtungskoeffizienten bezeichnen, die gemäß den Entfernungen zwischen den Eingangsbilddaten und den jeweiligen Gitterpunkten in dem Farbraum bestimmt sind. Ein anderes Verfahren verwendet für die Interpolation vier Gitterpunkte in der Nähe der Eingangsbilddaten. Das Verfahren wählt gemäß der Position der Eingangsbilddaten der Gitteraufteilung unter den Eckpunkten der Gitteraufteilung vier Eckpunkte zur Interpolation aus.
  • Diese Verarbeitung benötigt keine äußerst große Speicherkapazität für die Farbkorrekturtabelle. Die Interpolation ergibt Farbkorrekturdaten mit einem verhältnismäßig kleinen Fehler für jedes Pixel und stellt dadurch ein vorteilhaftes resultierendes Bild sicher. Wegen dieses Vorteils der Verringerung der benötigten Speicherkapazität wird die Technik der Dateninterpolation auf die Steuerung einer Vielzahl von Vorrichtungen angewendet.
  • Allerdings werden zur Durchführung der Steueroperation durch die Dateninterpolationstechnik und zur Spezifizierung der Daten, die einer Kombination beliebiger Koordinaten entsprechen, komplizierte Rechenoperationen benötigt. Beispielsweise werden in dem Interpolationsprozess mit acht Gitterpunkten in der Nähe der Eingangsbilddaten zur Interpolation einer Farbkomponente in Bezug auf jedes Pixel vierundzwanzig Multiplikationen und sieben Additionen benötigt. Das heißt, dass für die Interpolation aller Farbkomponenten in Bezug auf alle Pixel eine äußerst große Anzahl von Rechenoperationen benötigt werden. Die Dateninterpolation wird bei der allgemeinen Bildverarbeitung häufig wiederholt, so dass als Ganzes eine astronomisch große Anzahl von Rechenoperationen benötigt werden.
  • Der Inhalt der Verarbeitung, um ein Datenstück zu erhalten, wird mit einer Zunahme der Anzahl der Dimensionen der Tabelle komplizierter. Beispielhaft werden einige bedingte Sprünge benötigt, um unter den Eckpunkten der Gitteraufteilung gemäß der Positionsbeziehung der Eingangsbilddaten vier auszuwählen, wenn die Bildverarbei tungsvorrichtung die Interpolation dreidimensionaler Daten mit vier Gitterpunkten in der Nähe der Eingangsbilddaten durchführt. Wie in 1 gezeigt ist, wird hier angenommen, dass in der Nähe der Eingangsbilddaten in dem dreidimensionalen R-, G- und B-Farbraum acht Gitterpunkte K, R, G, B, C, M, Y und W vorliegen. Der durch diese Gitterpunkte definierte Würfel ist in sechs in 1 gezeigte Tetraeder Tetra0 bis Tetra5 aufgeteilt. Um die Interpolation mit vier Gitterpunkten zu realisieren, muss anhand der Größen der R-Komponente, der G-Komponente und der B-Komponente der Eingangsbilddaten identifiziert werden, zu welchen der sechs Tetraeder die Eingangsbilddaten gehören. Die konkrete Prozedur der Identifizierung wird später diskutiert. Mit zunehmender Anzahl von Dimensionen der zu interpolierenden Tabelle wird die Verarbeitung komplizierter.
  • Aus dem obigen Grund benötigt die Dateninterpolation eine äußerst lange Verarbeitungszeit. Wegen der zunehmenden Anzahl der Pixel zur Verwirklichung der höheren Auflösung des Ausgangsbilds nimmt die für die Bildverarbeitung benötigte Zeit wesentlich zu. Obgleich die Verarbeitungsgeschwindigkeit der CPU bemerkenswert verbessert worden ist, verbessert dies die Bildverarbeitungsgeschwindigkeit nicht ausreichend. Diese Probleme entstehen in einer Vielzahl weiterer Steueroperationen, auf die die Dateninterpolationstechnik angewendet wird.
  • US 5.241.373 beschreibt eine Farbwert-Korrekturvorrichtung, die die höherwertigen Bits einer Dreifarb-Eingangswert-Kombination verwendet, um einen Einheitswürfel zu spezifizieren, und die die niederwertigen Bits verwendet, um ein spezifisches Tetraeder zu spezifizieren, das den Interpolationspunkt enthält. Daraufhin kann der interpolierte Ausgangswert durch die Ausführung von Multiplikations- und Additionsoperationen erhalten werden.
  • Somit ist eine Aufgabe der vorliegenden Erfindung die Schaffung einer schnellen Dateninterpolationstechnik, die auf die Steueroperationen einer Vielzahl von Vorrichtungen angewendet wird. Eine weitere Aufgabe der Erfindung ist die Anwendung der Dateninterpolationstechnik auf die Farbkorrektur und die Verkürzung der für die Farbkorrektur benötigten Verarbeitungszeit, ohne den Fehler der Farbkorrektur zu erhöhen.
  • Wenigstens ein Teil der obigen und der weiteren verwandten Aufgaben wird realisiert durch ein Steuer- bzw. Regelverfahren zur Durchführung einer Steuer- bzw. Regeloperation einer Anlage durch Interpolation eines Parameters, der zu der Steueroperation der Anlage in Beziehung steht, gemäß Kombinationen von Koordinaten in einem Koordinatenraum einer vorbestimmten Anzahl von Dimensionen, wobei die Werte der Parameter entsprechend Gitterpunkten, die diskret in dem Koordinatenraum vorliegen, gespeichert werden. Das Steuerverfahren umfasst die folgenden Schritte: (a) Bereitstellung einer Gitterpunktinformationstabelle, einer Interpolation-Zieltabelle und einer Offset-Korrekturtabelle, wobei die Gitterpunktinformationstabelle Gitterpunktinformationen an jeweiligen Gitterpunkten speichert, welche durch Kombinationen von Koordinaten spezifiziert sind, die diskret in jeweiligen Dimensionen des Koordinatenraums gesetzt sind, wobei die Interpolation-Zieltabelle Werte des Parameters, die den entsprechenden Gitterpunkten entsprechen, speichert, und die Offset-Korrekturtabelle Interpolationsdaten, welche zur Interpolation der Interpolation-Zieltabelle und zur Spezifierung von den Eingangsdaten entsprechenden Werten benötigt werden, entsprechend den Offset-Koordinaten, speichert; (b) Empfang von Eingangs- bzw. Eingabedaten, die eine spezifische Kombination von Koordinatenwerten dar dem Koordinatenraum gesetzt worden sind; (c) Identifizierung einer spezifischen Gitterdivision bzw. Gitteraufteilung, in welcher die Eingangsdaten enthalten sind, unter einer Anzahl von Gitteraufteilungen, die durch benachbarte Gitterpunkte in den jeweiligen Dimensionen des Koordinatenraums definiert sind, auf der Grundlage der Gitterpunktinformation; (d) Umwandlung der Eingangsdaten in Koordinaten eines Referenzgitterpunktes, der einen Basispunkt entlang der Gitterpunkte, die die spezifische Gitteraufteilung konstituieren, darstellen, und Offset-Koordinaten, die eine Abweichung der Eingangsdaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen darstellen; und (e) Lesen bzw. Einlesen von Interpolationsdaten, die den Offset-Koordinaten entsprechen, aus der Offset-Korrekturtabelle, Einlesen von Werten des Parameters, die dem Referenzgitterpunkt und den vorbestimmten Gitterpunkten, die am Referenzgitterpunkt anliegen, entsprechen, aus der Interpolation-Zieltabelle, und Durchführung der Interpolation des Parameters mit den Interpolationsdaten; und wobei das Steuerverfahren dadurch gekennzeichnet ist, dass
    die in der Offset-Korrekturtabelle (OT) gespeicherten Interpolationsdaten Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizient-Daten aufweisen,
    die Gitterpunkt-Spezifikationsdaten wenigstens einen Teil von vier Gitterpunkten, die zur Interpolation verwendet werden, entsprechend den Offsetkoordinaten spezifizieren, und
    die Gewichtungskoeffizient-Daten gemäß den Offsetkoordinaten bestimmt werden.
  • Das Steuerverfahren der vorliegenden Erfindung wendet eine Dateninterpolationstechnik an, die die Eingangsdaten in Koordinaten des Referenzgitterpunktes der spezifischen Gitteraufteilung, zu denen die Eingangsdaten gehören, und in Offset-Koordinaten umsetzt und die Interpolation-Zieltabelle, die den jeweiligen Gitterpunkten entsprechende Daten speichert, interpoliert. Zum Speichern der Interpolationsdaten, die den Offset-Koordinaten entsprechen, ist eine Offset-Korrekturtabelle vorgesehen. Das Verfahren bezieht sich auf die Offset-Korrekturtabelle und erhält leicht die Interpolationsdaten. Während die herkömmliche Technik die Interpolation durch komplizierte bedingte Sprünge gemäß den Offset-Koordinaten durchführt, verwirklicht dieses Verfahren die Interpolation einfach durch Bezugnahme auf die Offset-Korrekturtabelle. Diese Realisierung verringert natürlich die Anzahl der für die Interpolation benötigten Rechenoperationen. Somit verbessert die Dateninterpolationstechnik erheblich die Verarbeitungsgeschwindigkeit für die Interpolation, ohne den Fehler der Interpolation zu erhöhen, wodurch sie die Geschwindigkeit der gesamten Steueroperationen erhöht.
  • Das Steuerverfahren der vorliegenden Erfindung kann in einer Vielzahl von unten diskutierten Anwendungen verwirklicht werden.
  • In Übereinstimmung mit einer ersten Anwendung des Steuerverfahrens ist die Anlage eine Bildverarbeitungsvorrichtung, die die Farbkorrektur von Farbdaten eines Bildes durchführt. Die Eingangsdaten enthalten Farbdaten, die eine in einem ersten Farbsystem ausgedrückte Farbe als Kombination von Tönen in einem Farbraum mit wenigstens zwei Dimensionen darstellen. Die Interpolation-Zieltabelle speichert an den jeweiligen Gitterpunkten die Farben, die in einem zweiten Farbsystem ausgedrückt sind, das von dem ersten Farbsystem verschieden ist.
  • Diese Anwendung ermöglicht eine schnelle Farbkorrektur, die die Farbkomponenten der Eingangsbilddaten in Farbkom ponenten umsetzt, die in einem anderen Farbsystem ausgedrückt sind. Ein mögliches Beispiel der Farbkorrektur setzt die Farbkomponenten, die in dem R-, G- und B-Farbraum ausgedrückt sind, in Farbkomponenten um, die in einem Farbsystem von Cyan, Magenta, Gelb und Schwarz ausgedrückt sind.
  • In Übereinstimmung mit einer zweiten Anwendung des Steuerverfahrens enthalten die Eingangsdaten eine Kombination von Parametern, die sich auf einen Ansteuerzustand der vorbestimmten Vorrichtung beziehen. Die Interpolation-Zieltabelle speichert an den jeweiligen Gitterpunkten die Werte eines Parameters, der sich auf eine Steuergröße der vorbestimmten Vorrichtung bezieht.
  • Gemäß der zu steuernden Anlage oder Vorrichtung können als Parameter, die sich auf den Ansteuerzustand beziehen, und als Parameter, die sich auf die Steuergröße beziehen, eine Vielzahl von Variablen verwendet werden. wenn die Anlage beispielsweise ein Strahltriebwerk ist, können die Höhe und die Geschwindigkeit des Strahltriebwerks und der Gasnennwert als die Parameter in Bezug auf den Ansteuerzustand ausgewählt werden, während der Schub als der Parameter in Bezug auf die Steuergröße verwendet werden kann. Diese Parameter sind miteinander korreliert. In einem weiteren Beispiel werden die Höhe, die Geschwindigkeit und der Schub als die Parameter in Bezug auf den Ansteuerzustand ausgewählt, während der Gasnennwert als der Parameter in Bezug auf die Steuergröße ausgewählt wird.
  • Die zu steuernde Anlage oder das zu steuernde Objekt können irgendwelche Maschinen und Vorrichtungen sein, die eine Vielzahl von Motoren, Transportgeräte und Industriemaschinen enthalten. Die Anlage können elektrische Schal tungen und optische Systeme sowie mechanisch angesteuerte Vorrichtungen sein. Die zweite Anwendung des Steuerverfahrens ist nicht nur auf die Steuerung der Vorrichtungen, sondern auch auf die Simulation der Operationen dieser Vorrichtungen anwendbar.
  • In Übereinstimmung mit einer dritten Anwendung der vorliegenden Erfindung wird das Steuerverfahren für die Fuzzy-Steuerung der Anlage angewendet. In diesem Fall enthalten die Eingangsdaten einen Parameter, der eine Zustandsgröße darstellt, die sich auf die Fuzzy-Steuerung bezieht. Die Interpolation-Zieltabelle speichert Zugehörigkeitswerte an den jeweiligen Gitterpunkten.
  • Die Fuzzy-Steuerung ist eine Steuerlogik, die auf einem Fuzzy-Parameter beruht, der eine Unsicherheit enthält. Ein Beispiel ist die Steuerung der Fahrzeuggeschwindigkeit. Die Fuzzy-Steuerung führt die Steuerung wie die 'Beschleunigung im Fall einer langsamen Fahrzeuggeschwindigkeit' aus. Diese Fuzzy-Steuerung bewirkt nicht, dass die Fahrzeuggeschwindigkeit mit einer spezifischen Geschwindigkeit zusammenfällt, sondern verwendet für die Steuerung den Fuzzy-Parameter 'langsam'. Die Funktion, die einen solchen Fuzzy-Parameter mathematisch ausdrückt, wird die Zugehörigkeitsfunktion genannt, wobei die Werte der Funktion die Zugehörigkeitswerte genannt werden. In dem Prozess der Steuerung mit dem Fuzzy-Parameter 'langsam' gibt die Zugehörigkeitsfunktion in Abhängigkeit von der Fahrzeuggeschwindigkeit die reellen Zahlen von 0 bis 1,0 als die Wahrscheinlichkeit der Erkennung von 'langsam' an.
  • Die Fuzzy-Steuerung interpoliert gemäß der Zustandsgröße, auf die sich die Steuerung bezieht, die in Form einer Tabelle gespeicherte Zugehörigkeitsfunktion, um die Steuergröße zu bestimmen. Die Interpolation der Zugehö rigkeitsfunktion wird bei der Fuzzy-Steuerung häufig durchgeführt. Dementsprechend verwirklich die Anwendung des Steuerverfahrens der vorliegenden Erfindung auf die Interpolation der Zugehörigkeitsfunktion eine äußerst schnelle Fuzzy-Steuerung.
  • In Übereinstimmung mit einer vierten Anwendung der vorliegenden Erfindung wird das Steuerverfahren auf die Realisierung der Koordinatenumwandlung von Daten, die in einem ersten Koordinatensystem ausgedrückt sind, in Daten, die in einem zweiten Koordinatensystem ausgedrückt sind, das von dem ersten Koordinatensystem verschieden ist, angewendet. In diesem Fall enthalten die Eingangsdaten eine Kombination von Koordinaten in dem ersten Koordinatensystem. Die Interpolation-Zieltabelle speichert die Koordinaten in dem zweiten Koordinatensystem an den jeweiligen Gitterpunkten.
  • Diese Realisierung ermöglicht eine schnelle Koordinatenumwandlung. Für das erste und für das zweite Koordinatensystem können eine Vielzahl von Koordinatensystemen ausgewählt werden. Beispielsweise kann als das erste Koordinatensystem ein dreidimensionales orthogonales Koordinatensystem (x, y, z) ausgewählt werden, während als das zweite Koordinatensystem ein dreidimensionales Polarkoordinatensystem (r, θ, ϕ) ausgewählt werden kann. Die Umwandlung des orthogonalen Koordinatensystems in das Polarkoordinatensystem wird durch die Gleichungen (1) durchgeführt, die wie unten gegeben Quadratwurzeln und trigonometrische Funktionen enthalten. Die Berechnung der Quadratwurzeln und der trigonometrischen Funktionen dauert verhältnismäßig lange Zeit. r = √(x × x + y × y + z × z) θ (rad) = cos – 1(x/√(x × x + y × y)) ϕ (rad) = cos – 1(z/√(x × x + y × y + z × z)) (1)
  • Diese Rechenoperationen wandeln beispielsweise die Punkte A(1, 0, 0) und B(1, 1, 0) in dem ersten Koordinatensystem in: A: (1, 0, 0) → Ap: (r, θ, ϕ) = (1, 0, π/2) B: (1, 1, 0) → Bp: (r, θ, ϕ) = (√2, π/4, π/2)um.
  • In dem Prozess der Koordinatenumwandlung, auf den die vierte Anwendung des Steuerverfahrens angewendet wird, werden die Koordinaten in dem ersten Koordinatensystem und die Koordinaten in dem zweiten Koordinatensystem in Bezug auf mehrere jeweilige Punkte in Form einer Tabelle gespeichert. Die Koordinatenumwandlung wird durch Interpolation dieser Tabelle durchgeführt. Ein Punkt C(1, 0,5 , 0), der sich in dem ersten Koordinatensystem in der Mitte der Punkte A und B befindet, wird durch Interpolation der Koordinaten der Punkte Ap und Bp in Koordinaten in dem zweiten Koordinatensystem umgewandelt. Die vierte Anwendung des Steuerverfahrens implementiert eine schnelle Interpolation und realisiert eine schnelle Umwandlung des ersten Koordinatensystems in das zweite Koordinatensystem und erhöht dadurch die Geschwindigkeit der gesamten Steueroperationen.
  • Falls für das erste Koordinatensystem und für das zweite Koordinatensystem das orthogonale Koordinatensystem bzw. das Polarkoordinatensystem ausgewählt werden, ist die Koordinatenumwandlung nicht linear und enthält einen gewissen Fehler. Der Fehler ändert sich gemäß dem Intervall der Gitterpunkte, die in der Interpolation-Zieltabelle enthalten sind. Es ist somit wünschenswert, das Gitterpunkt-Intervall in der Interpolation-Zieltabelle auf denjenigen Wert zu setzen, der ermöglicht, dass der Fehler der Koordinatenumwandlung innerhalb eines zulässigen Bereichs liegt.
  • In der oben diskutierten vierten Anwendung können für das erste Koordinatensystem und für das zweite Koordinatensystem eine Vielzahl weiterer Koordinatensysteme ausgewählt werden. Diese Koordinatensysteme können verschiedene Anzahlen von Dimensionen haben, solange das zweite Koordinatensystem eindeutig auf das erste Koordinatensystem abgebildet wird. Beispielhaft kann die vierte Anwendung des Steuerverfahrens auf eine Umwandlung angewendet werden, die die in einem dreidimensionalen orthogonalen Koordinatensystem ausgedrückten Koordinaten auf die in einem zweidimensionalen orthogonalen Koordinatensystem ausgedrückte Ebene projiziert.
  • In Übereinstimmung mit einer fünften Anwendung der vorliegenden Erfindung wird das Steuerverfahren zur Implementierung einer linearen Umwandlung von Daten, die in einem ersten Koordinatensystem ausgedrückt sind, in Daten, die in einem zweiten Koordinatensystem ausgedrückt sind, das von dem ersten Koordinatensystem verschieden ist, angewendet. In diesem Fall enthalten die Eingangsdaten eine Kombination von Parametern, die die lineare Umwandlung spezifizieren. Die Interpolation-Zieltabelle speichert Koeffizienten, mit denen die in dem ersten Koordinatensystem ausgedrückten Daten multipliziert werden.
  • Diese Realisierung ermöglicht eine äußerst schnelle lineare Umwandlung der Koordinaten. Ein typisches Beispiel der linearen Umwandlung ist die Drehung der Koordinaten. In diesem Fall wird der Drehwinkel der Koordinaten als der Parameter ausgewählt, der die lineare Umwandlung spezifiziert. Beispielhaft werden die Koordinaten (xe, ye, ze) in einem ersten orthogonalen Koordinatensystem mit den Achsen Xe, Ye und Ze in die Koordinaten (xb, yb, zb) in einem zweiten orthogonalen Koordinatensystem mit den Achsen Xb, Yb und Zb umgewandelt. Wie in 33 gezeigt ist, dreht die Prozedur, um die Umwandlung in das zweite orthogonale Koordinatensystem zu implementieren, aufeinander folgend das erste orthogonale Koordinatensystem um ψ (rad) um die Achse Ze, um θ (rad) und die Achse Ye und um ϕ (rad) um die Achse Xe. Die Winkel ψ, θ und ϕ beziehen sich auf die Koordinatenumwandlung und werden allgemein als Euler-Winkel bezeichnet. Eine solche Umwandlung wird dadurch implementiert, dass die Koordinaten in dem ersten Koordinatensystem gemäß den unten gegebenen Gleichungen (2) mit einer 3 × 3-Umwandlungsmatrix multipliziert werden. Die neun Elemente a11 bis a33 der Umwandlungsmatrix sind gemäß den Euler-Winkeln spezifiziert. xb = sinθcosψ·xe + (–sinθsinψ)·ye + cosθ·ze = a11·xe + a12·ye + a13·ze; yb = (–sinψ·cosθ·cosψ + cosφsinψ)·xe + (sinϕcosθsinψ + cosφcosψ)·ye + sinϕsinθ·ze = a21·xe + a22·ye + a23·ze; ze = (cosϕcosθcosψ + sinϕsinψ)·xe + (–cosϕcosθsinψ + sinϕcosψ)·ye + (–cosϕsinθ)·ze = a31·xe + a32·ye + a33·ze; (2)
  • Bei der Koordinatenumwandlung, auf die die fünfte Anwendung des Steuerverfahrens angewendet wird, speichert die Interpolation-Zieltabelle die neun Elemente a11 bis a33, die den verschiedenen Kombinationen der Euler-Winkel ψ, θ und ϕ entsprechen. Die Prozedur interpoliert die Interpolation-Zieltabelle und spezifiziert die neun Elemente a11 bis a33, die einer spezifischen Kombination der Euler-Winkel entsprechen. Die fünfte Anwendung des Steuerverfahrens implementiert eine schnelle Interpolation und realisiert eine schnelle Koordinatenumwandlung und erhöht dadurch die Geschwindigkeit der gesamten Steueroperationen. Die Dateninterpolation der fünften Anwendung ist anwendbar auf die Umwandlung von Koordinaten mit verschiedenen Anzahlen von Dimensionen und auf andere Koordinatensysteme als das orthogonale Koordinatensystem.
  • Wie in der ersten Anwendung diskutiert wurde, ist das Steuerverfahren der vorliegenden Erfindung auf die Steuerung der Bildverarbeitungsvorrichtung und auf die Durchführung der Farbkorrektur von Bilddaten anwendbar. Da eine äußerst große Anzahl von Daten zu verarbeiten ist, ist das Steuerverfahren der vorliegenden Erfindung in solchen Bildverarbeitungsoperationen besonders wirksam. Wie unten diskutiert wird, kann die vorliegende Erfindung als eine Bildverarbeitungsvorrichtung konstruiert sein, auf die das Steuerverfahren angewendet wird.
  • Dementsprechend ist die vorliegende Erfindung auf eine Bildverarbeitungseinrichtung zur Durchführung einer Farbkorrektur eines Multi-Farben-Bildes und zur Ausgabe eines farbkorrigierten Bildes gerichtet, wobei das Multi-Farb-Bild durch Koordinaten ausgedrückt ist, die einer vorbestimmten Anzahl von Tönen in jeweiligen Dimensionen eines Farbraums von wenigstens zwei Dimensionen entsprechen. Die Bildverarbeitungseinrichtung enthält: eine Eingabe- bzw. Eingangseinheit, die Farbbilddaten eingibt, die durch eine spezifische Kombination von Koordinaten bezüglich jedes Pixels, das in einem Multi-Farb-Bild enthalten ist, spezifiziert sind; einen ersten Speicher, der Gitterpunkt-Informationen in Form einer Gitterpunkt-Informationstabelle speichert, wobei die Gitterpunktinformationen Koordinaten von Gitterpunkten enthalten, die durch Division bzw. Aufteilung des Farbraumes durch eine vorbestimmte Anzahl, die kleiner als die Anzahl der Töne in jeder Dimension ist, erhalten werden; einen zweiten Speicher, der Farbkorrekturdaten speichert, die sich auf eine Quantität der Farbkorrektur beziehen, entsprechend jedem Gitterpunkt in Form einer Farbkorrekturtabelle; eine Gitterdivisions- bzw. Aufteilungseinheit, die eine spezifische Gitteraufteilung identifiziert, in der die Farbbilddaten enthalten sind, unter einer Anzahl von Gitteraufteilungen, die durch benachbarte Gitterpunkte in den jeweiligen Dimensionen des Farbraums definiert sind, auf der Grundlage der Gitterpunktinformationen; eine Bilddatenumwandlungseinheit, die Farbbilddaten in Koordinaten eines Referenz-Gitterpunktes umwandelt, der einen Basispunkt unter Gitterpunkten darstellt, die eine spezifische Gitteraufteilung bilden, und Offsetkoordinaten, die eine Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen darstellen; einen dritten Speicher, der Interpolationsdaten speichert, die zur Interpolation der Farbkorrekturtabelle und zur Spezifizierung der Farbkorrekturdaten, die den Farbbilddaten entsprechen, benötigt werden, entsprechend den Offsetkoordinaten in Form einer Offset-Korrekturtabelle; und eine Farbkorrektureinheit, die Interpolationsdaten einliest, die den Offsetkoordinaten aus der Offset-Korrekturtabelle entsprechen, die Farbkorrekturdaten einliest, die den Referenzgitterpunkten und vorbestimmten Gitterpunkten, die den Referenzgitterpunkten benachbart sind, entsprechen, aus der Farbkorrekturtabelle, die eine Interpolation der Farbkorrekturdaten mit den Interpolationsdaten durchführt, und als Ergebnis der Interpolation korrigierte Farbbilddaten ausgibt, und wobei die Bildbearbeitungsvorrichtung dadurch gekennzeichnet ist, dass:
    der Farbraum ein dreidimensionaler Farbraum ist,
    die in der Offset-Korrekturtabelle (OT) gespeicherten Interpolationsdaten Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizientdaten umfassen,
    die Gitterpunkt-Spezifikationsdaten wenigstens einen Teil von vier Gitterpunkten, die zur Interpolation verwendet werden, entsprechend den Offsetkoordinaten spezifiziert,
    die Gewichtungskoeffizientdaten gemäß den Offsetkoordinaten bestimmt werden, und die Farbkorrekturdaten, die wenigstens einem Teil der vier Gitterpunkte entsprechen, mit den Gewichtungskoeffizientdaten multipliziert werden.
  • Anhand der Funktionen, die in der Dateninterpolationstechnik diskutiert sind, die auf das Steuerverfahren der vorliegenden Erfindung angewendet wird, realisiert die Bildverarbeitungsvorrichtung dieser Konfiguration eine schnelle Interpolation der Farbkorrekturtabelle, ohne den Fehler der Interpolation zu erhöhen, und verbessert dadurch die Bildverarbeitungsgeschwindigkeit.
  • Ein Beispiel des Farbraums mit wenigstens zwei Dimensionen enthält einen R-, G- und B-Farbraum, einen C-, M- und Y-Farbraum sowie Farbräume, die in dem XYZ-Farbsystem, in dem L*a*b*-Farbsystem in dem L*C*h-Farbsystem und in dem Munsell-Farbsystem ausgedrückt sind. Wenn die Koordinaten durch n-Bit-Digitaldaten ausgedrückt sind, ist die Anzahl der Töne allgemein die n-te Potenz von 2 (beispielsweise 256 Töne im Fall von 8-Bit-Daten). Allerdings ist die Anzahl der Töne nicht auf die n-te Potenz von 2 beschränkt, wobei 100 Töne, 17 Töne und die anderen Anzahlen von Tönen ebenfalls verfügbar sind.
  • Die Gitterpunkte werden als Schnittpunkte erhalten, wenn der Farbraum in vorbestimmte Anzahlen aufgeteilt wird, die kleiner als die Anzahlen der Töne in den jeweiligen Dimensionen sind. Das Intervall der Aufteilung braucht nicht konstant zu ist. Das heißt, es braucht nicht in jeder Dimension ein Bereich mit geringer Dichte und ein Bereich mit hoher Dichte durch ein völlig gleiches Intervall aufgeteilt zu werden. Außerdem brauchen die jeweiligen Dimensionen nicht durch ein völlig gleiches Intervall aufgeteilt zu werden. Beispielhaft wird eine spezifische Dimension (z. B. die R-Richtung in dem R-, G- und B-Farbraum) durch ein festes Intervall aufgeteilt, während die anderen Dimensionen (z. B. die G- und die B-Richtung) durch veränderliche Intervalle aufgeteilt werden. Die jeweiligen Dimensionen können verschiedene Anzahlen von Aufteilungen besitzen. Es ist wünschenswert, dass für den gesamten Farbraum eine gemeinsame Offset-Korrekturtabelle verwendet wird, wobei aber gemäß der Aufteilung des Farbraums mehrere Offset-Korrekturtabellen vorgesehen sein können.
  • In Übereinstimmung mit einer Anwendung der Bildverarbeitungseinrichtung ist es wünschenswert, dass die Aufteilung des Farbraumes bewirkt, dass ein Anteil der in der Farb-Korrekturtabelle gespeicherten Korrekturdaten im Wesentlichen gleich einer Anzahl von Interpolationsdaten ist, die in der Offset-Korrekturtabelle gespeichert sind.
  • Eine solche Aufteilung des Farbraums minimiert wesentlich die Summe der Speicherkapazität, die für die Farbkorrekturdaten benötigt wird, und der Speicherkapazität, die für die Interpolationsdaten benötigt wird. Diese Wirkung wird ausführlich in einem Beispiel diskutiert, wo ein n-dimensionaler Farbraum mit L Tönen in Bezug auf jede Dimension durch gleiche Intervalle aufgeteilt wird. In diesem Beispiel sind die Gitteraufteilungen völlig gleich, wobei auf den gesamten Farbraum eine gemeinsame Offset-Korrekturtabelle anwendbar ist. Falls der Farbraum durch ein Intervall von m Tönen aufgeteilt wird, wird der Farbraum für jede Dimension in (L/m) Aufteilungen aufgeteilt. Wenn für jeden Gitterpunkt A Farbkorrekturdatenstücke bereitgestellt werden, wird die Anzahl der Daten durch die unten gegebene Gleichung (3) ausgedrückt: Anzahl der Farbkorrekturdaten = A·(L/m)^n, (3)wobei ^ einen Potenzoperator bezeichnet.
  • Wenn entsprechend den m Koordinatenwerten in Bezug auf jede in der Gitteraufteilung enthaltene Dimension B Offset-Korrekturdatenstücke bereitgestellt werden, wird die Anzahl der Daten durch die unten stehende Gleichung (4) ausgedrückt: Anzahl der Offset-Korrekturdaten = B·m^n (4)
  • Die Gesamtanzahl der Daten wird als die Summe von Gleichung (3) und (4) berechnet und dem arithmetischen und geometrischen Mittel unterworfen, was ein wohlbekannter mathematischer Satz ist. Dies ergibt die Beziehung von Ausdruck (5): Gesamtanzahl der Daten = A·(L/m)^n + M·m^n ≥ 2√(A·(L/m)^n·B·m^n) = 2√(A·B)·√(L^n) (5)
  • Gemäß dem Satz des arithmetischen und des geometrischen Mittels ist die Gesamtanzahl der Daten gleich dem Minimalwert 2√(A·B)·√(L^n) des Ausdrucks (5), wenn die zwei Terme des arithmetischen Mittels, d. h. A·(L/m)^n (die Anzahl der Farbkorrekturdaten) und B·m^n (die Anzahl der Offset-Korrekturdaten) einander völlig gleich sind. Das heißt, die gleichen Anzahlen von Farbkorrektur daten und Offset-Korrekturdaten minimieren die benötigte Speicherkapazität. Das Intervall der Aufteilung m in dem Farbraum, das die Speicherkapazität minimiert, ist durch Lösen der Gleichung: A·(L/m)^n = B·m^ngegeben. Die Wurzel mx der Gleichung wird ausgedrückt als: mx = (A·L^n/B)^(1/2n)
  • Die Anzahlen der Töne L und m und die Anzahl der Dimensionen n des Farbraums sind sämtlich ganze Zahlen, während die Wurzel mx der Gleichung nicht ganzzahlig zu sein braucht. Somit ist es schwierig, die Beziehung, dass die Anzahl der Farbkorrekturdaten genau gleich der Anzahl der Offset-Korrekturdaten ist, d. h. die Beziehung der Anzahl der Töne m = mx, einzuhalten. Die Anzahl der Töne wird häufig durch Bits ausgedrückt, so dass es wünschenswert ist, die Beziehung m = 2^X, wobei X eine ganze Zahl ist, einzuhalten. Selbst dann, wenn die Anzahl der Farbkorrekturdaten nicht genau gleich der Anzahl der Offset-Korrekturdaten ist, minimiert die Aufteilung des Farbraums, die die Anzahlen im Wesentlichen gleich zueinander macht, die für diese Daten benötigte Speicherkapazität wesentlich. Konkreter wird die Anzahl der Töne m in der Weise bestimmt, dass sie der Bedingung 2^X genügt, wobei X eine ganze Zahl im Bereich von mx/2 ≤ m ≤ 2·mx ist. Falls die Anzahl der Farbkorrekturdaten A pro Gitterpunkt im Wesentlichen gleich der Anzahl der Offset-Korrekturdaten B pro Koordinatenpunkt ist, minimiert das Intervall der Aufteilung m, das gleich (N/2) Bits gesetzt ist, die Gesamtanzahl der Daten, falls der Farbraum in Bezug auf jede Dimension die N-Bit-Töne besitzt.
  • Diese Realisierung ermöglicht, dass die Offset-Korrektur tabelle auf die Interpolation mit vier Punkten einschließlich eines Referenzgitterpunktes angewendet wird (was im Folgenden als die Tetraeder-Interpolation bezeichnet wird). Bekanntlich minimiert die Tetraeder-Interpolation die Anzahl der Rechenoperationen im dreidimensionalen Farbraum. Die Tetraeder-Interpolation benötigte eine Auswahl von vier Gitterpunkten, die zur Interpolation gemäß den Offset-Koordinaten verwendet werden. Die Offset-Koordinaten-Tabelle der obigen Struktur speichert wenigstens einen Teil der Gitterpunkte als die Gitterpunkt-Spezifikationsdaten. Somit wählt das Verfahren die Gitterpunkte leicht aus, indem es einfach auf diese Tabelle Bezug nimmt. Diese Realisierung erleichtert die Auswahl der Gitterpunkte und realisiert eine äußerst schnelle Bildverarbeitung in dem dreidimensionalen Farbraum. Die Farbkorrekturdaten können direkt mit den Gewichtungskoeffizient-Daten oder mit Koeffizienten, die aus den Gewichtungskoeffizient-Daten berechnet werden, multipliziert werden.
  • Wenn der Farbraum durch veränderliche Intervalle unterteilt wird, ist es wünschenswert, dass die Bildverarbeitungseinrichtung ferner eine Normalisierungseinheit aufweist, die die Koordinaten normalisiert, um Intervalle zwischen benachbarten Gitterpunkten in jeder Dimension auszugleichen. Die Bilddatenumwandlungseinheit wandelt die Farbbilddaten in die Koordinaten des Referenzgitterpunktes, der den Basispunkt unter den Gitterpunkten darstellt, die die spezifische Gitteraufteilung bilden, und in die Offsetkoordinaten, die die Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen durch mittels der Normalisierungseinheit normalisierte Koordinaten darstellen, um.
  • Für die durch das virtuelle Gitterpunktintervall defi nierten Gitteraufteilungen ist die Offset-Korrekturtabelle vorgesehen. Diese Tabelle ist auf alle Gitteraufteilungen anwendbar. Diese Realisierung ermöglicht, dass für den gesamten Farbraum, der durch veränderliche Intervalle aufgeteilt ist, eine gemeinsame Offset-Korrekturtabelle verwendet wird, und verringert dadurch die für die Interpolationsdaten benötigte Speicherkapazität. Diese Struktur benötigt keine Auswahl einer geeigneten Offset-Korrekturtabelle gemäß der Gitteraufteilung, die die Eingangsfarbbilddaten enthält, durch bedingte Sprünge und erreicht dadurch eine schnelle Verarbeitung.
  • Um den Fehler der Farbkorrektur zu minimieren, ist es wünschenswert, dass das virtuelle Gitterpunktintervall mit dem Hauptintervall unter mehreren Gitterpunktintervallen, die für die Aufteilung des Farbraums angewendet werden, zusammenfallend gewählt wird. Beispielhaft wird angenommen, dass der Farbraum durch ein Intervall 'a' und durch ein Intervall 'b' aufgeteilt wird. Wenn das Gitterpunktintervall 'a' 90% belegt und das Gitterpunktintervall 'b' lediglich die verbleibenden 10% besitzt, wird das virtuelle Gitterpunktintervall vorzugsweise gleich dem Intervall 'a' gesetzt wird. Allerdings braucht das virtuelle Gitterpunktintervall nicht mit irgendeinem der Gitterpunktintervalle zusammenzufallen, während das virtuelle Gitterpunktintervall beliebig spezifiziert werden kann. Um die für die Versatz-Korrekturtabelle benötigte Speicherkapazität zu verringern, wird das virtuelle Gitterpunktintervall in Übereinstimmung mit einer bevorzugten Anwendung in der Weise gesetzt, dass es etwas kleiner als das Gitterpunktintervall ist.
  • Wenn die Bildverarbeitungsvorrichtung die Normalisierungseinheit besitzt, ist es wünschenswert, dass das Intervall zwischen benachbarten Gitterpunkten nach der Normalisierung ein ganzzahliges Vielfaches des Intervalls zwischen benachbarten Gitterpunkten vor der Normalisierung in einem vorbestimmten Bereich geringer Dichte des Farbraumes ist.
  • Diese Struktur verhindert wirksam die Verschlechterung der Bildqualität wegen des Fehlers, der in dem Prozess der Interpolation der Farbkorrekturdaten durch die Normalisierung auftritt. Die Farbbilddaten besitzen eine ganzzahlige Koordinate, die einer vorgeschriebenen Anzahl von Tönen in Bezug auf jede Dimension des Farbraums entspricht. Wenn die Normalisierungseinheit die Koordinatenumwandlung in dem Farbraum durchführt, der durch veränderliche Gitterpunktintervalle aufgeteilt ist, brauchen die Farbbilddaten keine ganzzahligen Koordinaten zu haben. Die Offset-Korrekturtabelle ist entsprechend den ganzzahligen Koordinaten vorgesehen. Dementsprechend müssen die Farbbilddaten nach der Koordinatenumwandlung auf eine ganze Zahl gerundet werden. Dies bewirkt einen Rundungsfehler. Der Koordinatenumwandlungs- und der Rundungsprozess werden zusammen als der Normalisierungsprozess bezeichnet. Wie zuvor beschrieben wurde, kann der Fehler die Bildqualität in dem Bereich geringer Dichte verringern. Die obige bevorzugte Realisierung bewirkt, dass das Verhältnis des virtuellen Gitterpunktintervalls zu dem Gitterpunktintervall in dem Bereich geringer Dichte des Farbraums ganzzahlig ist. Dies verhindert wirksam den Rundungsfehler in dem Normalisierungsprozess und stellt eine hohe Bildqualität sicher.
  • Der Bereich geringer Dichte der vorliegenden Erfindung bedeutet nicht den Bereich, in dem das Ausgangsbild helle Farben hat, sondern stellt den Bereich mit einer geringen Dichte von Punkten dar, die an die Bildausgabevorrichtung ausgegeben werden. Beispielsweise stellt der Bereich geringer Dichte, falls das resultierende Bild schließlich an einen Tintenstrahldrucker ausgegeben wird, der die Töne durch den Punkt-an/aus-Zustand ausdrückt, den Bereich dar, der eine geringe Punktdichte der Tinten C, M und Y hat. Falls die Ausgabevorrichtung eine CRT ist, kann der Bereich geringer Dichte ein Bereich sein, in dem weiße Punkte dünn verteilt sind (d. h. ein dunkler Farbbereich), wenn die Aufmerksamkeit auf die weißen Punkte gerichtet ist, oder ein Bereich sein, in dem die schwarzen Punkte dünn verteilt sind (d. h. ein heller Farbbereich sein), wenn die Aufmerksamkeit auf die schwarzen Punkte gerichtet ist. In einem Drucker, der eine Tinte hoher Dichte und eine Tinte geringer Dichte für eine völlig gleiche Farbe enthält und sowohl dunkle Punkte als auch helle Punkte aufzeichnet, enthält der Bereich geringer Dichte der Tinte nicht nur einen Bereich, in dem helle Punkte dünn verteilt sind (einen hellen Farbbereich), sondern auch einen Bereich, in dem dunkle Punkte dünn verteilt sind (einen dunklen Farbbereich).
  • In der Bildverarbeitungseinrichtung mit der Normalisierungseinheit in Übereinstimmung mit einer bevorzugten Anwendung besitzt die Bilddatenumwandlungseinheit wenigstens eine Referenzgitterpunkttabelle, die die Koordinaten des Referenzgitterpunktes speichert, der den Basispunkt entlang der Gitterpunkte, die eine spezifische Gitteraufteilung bilden, gemäß den Farbbilddaten darstellt; und/oder eine Offset-Koordinatentabelle, die die Offsetkoordinaten, die die Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen durch die durch die Normalisierungseinheit normalisierten Koordinaten gemäß den Farbbilddaten speichert. Die Bilddatenumwandlungseinrichtung führt die Umwandlung der Farbbilddaten in die Koordinaten des Referenzgitterpunktes und/oder die Umwandlung der Farbbilddaten in die Offsetkoordinaten durch Bezugnahme auf die Referenzgitterpunkttabelle und/oder die Offsetkoordinatentabelle durch.
  • Der Normalisierungsprozess benötigt recht komplizierte Rechenoperationen und kann die schnelle Bildverarbeitung stören. Beispielhaft wird die Koordinate der Eingangsfarbbilddaten in Bezug auf jede Dimension aufeinander folgend mit den Koordinaten der Gitterpunkte verglichen, um die Gitteraufteilung zu identifizieren, in der die Farbbilddaten enthalten sind. Außerdem wird der Rundungsprozess benötigt, um jede Koordinate auf eine ganze Zahl zu runden, damit sich die normalisierten Offset-Koordinaten ergeben. Diese bevorzugte Realisierung führt den Normalisierungsprozess durch einfache Bezugnahme auf die Referenzgitterpunktquelle und auf die Offset-Koordinaten-Tabelle aus und ermöglicht damit eine schnelle Bildverarbeitung.
  • Um die schnelle Bildverarbeitung zu erreichen, ist es wünschenswert, dass die Bilddatenumwandlungseinheit sowohl die Referenzgitterpunkttabelle als auch die Offset-Koordinaten-Tabelle besitzt. Allerdings kann die Bilddatenumwandlungseinheit gemäß der Grenzspeicherkapazität eine dieser Tabellen besitzen. Obgleich diese Tabellen vorzugsweise für alle Dimensionen des Farbraums bereitgestellt werden, können sie nur für einen Teil der Dimensionen bereitgestellt werden oder können sie für mehrere Dimensionen gemeinsam verwendet werden.
  • Die vorliegende Erfindung kann durch ein computerlesbares Aufzeichnungsmedium realisiert werden, auf dem ein Computerprogramm aufgezeichnet ist. Somit ist die vorliegende Erfindung auf ein erstes computerlesbares Aufzeichnungsmedium gerichtet, auf dem ein Programm aufgezeichnet ist, das bewirkt, dass ein Computer eine Bildverarbeitung realisiert, wobei die Bildverarbeitung die Farbkorrektur eines Multi-Farben-Bildes durchführt und das farbkorrigierte Bild ausgibt, wobei das Multi-Farben-Bild durch Koordinaten ausgedrückt wird, die vorbestimmten Anzahlen von Tönen in den jeweiligen Dimensionen in einem Farbraum von wenigstens zwei Dimensionen entsprechen. Das Programm bewirkt, dass der Computer die folgenden Funktionen realisiert: Eingabe von Farbbilddaten, die durch eine spezifische Kombination von Koordinaten in Bezug auf jedes in dem Multi-Farben-Bild enthaltene Pixel spezifiziert sind; Bezugnahme auf eine Gitterpunktinformationstabelle, die Gitterpunktinformationen in Bezug auf den Farbraum speichert, wobei die Gitterpunktinformationen die Koordinaten von Gitterpunkten enthalten, die durch Aufteilen des Farbraums durch eine vorbestimmte Anzahl erhalten werden, die kleiner als die Anzahl der Töne in jeder Dimension ist; Bezugnahme auf eine Farbkorrekturtabelle, die Farbkorrekturdaten speichert, die sich auf eine Farbkorrekturgröße beziehen, die jedem Gitterpunkt entspricht; Identifizierung einer spezifischen Gitterdivision bzw. Gitteraufteilung, in welcher die Farbbilddaten enthalten sind, unter einer Anzahl von Gitteraufteilungen, die durch benachbarte Gitterpunkte in den jeweiligen Dimensionen des Farbraums definiert sind, auf der Grundlage der Gitterpunktinformationen; Umwandlung der Farbbilddaten in Koordinaten eines Referenzgitterpunktes, der einen Basispunkt entlang der Gitterpunkte, die die spezifische Gitteraufteilung konstituieren, darstellen, und Offset-Koordinaten, die eine Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen darstellen; Bezugnahme auf eine Offset-Korrekturtabelle, die Interpolationsdaten speichert, die dazu benötigt werden, die Farbkorrekturtabelle zu interpolieren und die Farbkorrekturdaten entsprechend den Farbbilddaten, die den Offset-Koordinaten entsprechen, zu spezifizieren; und Lesen bzw. Einlesen der Interpolationsdaten, die den Offset-Koordinaten entsprechen, aus der Offset-Korrekturtabelle, Einlesen der Farbkorrekturdaten, die dem Referenzgitterpunkt und vorbestimmten Git terpunkten, die am Referenzgitterpunkt anliegen, entsprechen, aus der Farbkorrekturtabelle, Durchführung der Interpolation der Farbkorrekturdaten mit den Interpolationsdaten und Ausgabe eines Ergebnisses der Interpolation als korrigierte Farbbilddaten.
  • Der Computer führt das auf einem solchen Aufzeichnungsmedium aufgezeichnete Programm aus und realisiert die jeweiligen oben beschriebenen Funktionen und implementiert dadurch die Bildverarbeitung. Verfügbare Beispiele der Aufzeichnungsmedien umfassen Disketten, CD-ROMS, magnetooptische Platten, IC-Karten, ROM-Kassetten, Lochkarten, Ausdrucke, auf die Strichcodes und andere Codes gedruckt sind, interne Speichervorrichtungen (Speicher wie RAM und ROM) und externe Speichervorrichtungen des Computers sowie eine Vielzahl weiterer computerlesbarer Medien. Die vorliegende Erfindung kann als eine Programmliefervorrichtung konstruiert sein, die über einen Kommunikationspfad das Computerprogramm liefert, das bewirkt, dass der Computer die jeweiligen Schritte oder Funktionen der oben diskutierten vorliegenden Erfindung realisiert.
  • Außerdem ist die vorliegende Erfindung auf ein zweites computerlesbares Aufzeichnungsmedium zum Aufzeichnen von Daten gerichtet, die in einer Bildverarbeitungsvorrichtung verwendet werden. Die Bildverarbeitungsvorrichtung führt die Farbkorrektur eines Multi-Farben-Bildes mit spezifischen Daten aus und gibt das farbkorrigierte Bild aus, wobei das Multi-Farben-Bild durch Koordinaten ausgedrückt wird, die vorbestimmten Anzahlen von Tönen in den jeweiligen Dimensionen in einem Farbraum mit wenigstens zwei Dimensionen entsprechen, wobei die spezifischen Daten entsprechend spezifischen Gitterpunkten geliefert werden, die unter mehreren Gitterpunkten ausgewählt werden, die durch Aufteilen des Farbraums erhalten werden. Auf dem computerlesbaren Aufzeichnungsmedium sind aufge zeichnet: eine Gitterpunktinformationstabelle, die Gitterpunktinformationen in Bezug auf den Farbraum speichert, wobei die Gitterpunktinformationen die Koordinaten der mehreren Gitterpunkte enthalten, die durch Aufteilen der jeweiligen Dimensionen des Farbraums durch eine vorbestimmte Anzahl erhalten werden, die kleiner als eine vorbestimmte Anzahl der Töne in jeder Dimension ist; eine Farbkorrekturtabelle, die Farbkorrekturdaten speichert, die sich auf eine Farbkorrekturgröße beziehen, die jedem Gitterpunkt entspricht; und eine Offset-Korrekturtabelle, die Interpolationsdaten speichert, die benötigt werden, um die Farbkorrekturtabelle zu interpolieren und den Farbbilddaten, die den Offset-Koordinaten entsprechen, entsprechende Farbkorrekturdaten zu spezifizieren, wobei die Offset-Koordinaten eine Abweichung der Farbbilddaten von den Koordinaten eines Referenzgitterpunktes in den jeweiligen Dimensionen darstellen und wobei der Referenzgitterpunkt einen Basispunkt einer spezifischen Gitteraufteilung darstellt, die durch die Gitterpunkte definiert ist, die zu den Farbbilddaten in den jeweiligen Dimensionen des Farbraums benachbart sind.
  • Wie zuvor beschrieben wurde, führt die Bildverarbeitungsvorrichtung der vorliegenden Erfindung die Farbkorrektur der Farbbilddaten durch Nutzung der Gitterpunktinformationstabelle, der Farbkorrekturtabelle und der Offset-Korrekturtabelle durch. Wenn die Daten in diesen Tabellen in Form eines zweiten Aufzeichnungsmediums geliefert werden, liest der Computer die benötigten Daten ein und realisiert er die Funktionen der Bildverarbeitungsvorrichtung.
  • Unter den auf dem zweiten Aufzeichnungsmedium aufgezeichneten Tabellen besitzt die Offset-Korrekturtabelle eine einzigartige Datenstruktur, die durch die Anmelder der vorliegenden Erfindung erstmals auf dem Gebiet der Bild verarbeitung vorgeschlagen wird. Obgleich die Gitterpunktinformationstabelle und die Farbkorrekturtabelle herkömmlich für die Bildverarbeitung verwendet werden, stehen diese Tabellen mit den Daten in der Offset-Korrekturtabelle in enger Beziehung. Somit sind die auf dem zweiten Aufzeichnungsmedium der vorliegenden Erfindung aufgezeichneten Daten nicht die herkömmlichen Daten, sondern die einzigartigen Daten mit der speziellen Datenstruktur, die die vorliegende Erfindung am besten kennzeichnet.
  • Vorzugsweise ist in dem zweiten Aufzeichnungsmedium eine Anzahl der Farbkorrekturdaten, die als die Farbkorrekturtabelle gespeichert sind, im Wesentlichen gleich einer Anzahl der Interpolationsdaten, die als die Offset-Korrekturtabelle gespeichert sind. Wie zuvor beschrieben wurde, minimieren die im Wesentlichen gleichen Datenanzahlen vorteilhaft die Gesamtspeicherkapazität, die für die Farbkorrekturtabelle und für die Offset-Korrekturtabelle benötigt wird. Die Struktur des zweiten Aufzeichnungsmediums kann effektiv Medien mit einer verhältnismäßig kleinen Speicherkapazität wie etwa Disketten nutzen.
  • Diese und weitere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden besser sichtbar aus der vorliegenden ausführlichen Beschreibung der bevorzugten Ausführungsformen mit der beigefügten Zeichnung, in der
  • 1 die Tetraeder zeigt, die entsprechend verschiedenen Positionen der Farbbilddaten für die Interpolation verwendet werden;
  • 2 ein Blockschaltplan ist, der die Struktur eines Farbbild-Verarbeitungssystems mit einer Farbbild-Verarbeitungsvorrichtung, die die vorliegende Erfindung ver körpert, ist;
  • 3 schematisch die Struktur eines in dem Bildverarbeitungssystem enthaltenen Druckers zeigt;
  • 4 die Struktur eines Druckkopfs zum Aufzeichnen von Punkten zeigt, der an dem Drucker der Ausführungsform angebracht ist;
  • 5 das Prinzip der Punktbildung in dem Drucker der Ausführungsform zeigt;
  • 6 eine Aufteilung des Farbraums in einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 7 die Offset-Koordinaten in einer Gitteraufteilung zeigt;
  • 8 den Prozess der Tetraeder-Interpolation zeigt;
  • 9 ein Ablaufplan ist, der den allgemeinen Ablauf einer Bildverarbeitungsroutine zeigt;
  • 10 ein Ablaufplan ist, der einen Basispunkt-Berechnungsprozess zeigt, der in der ersten Ausführungsform ausgeführt wird;
  • 11 ein Ablaufplan ist, der einen Offset-Koordinaten-Berechnungsprozess zeigt, der in der ersten Ausführungsform ausgeführt wird;
  • 12 eine Offset-Korrekturtabelle OT als ein Beispiel zeigt;
  • 13 eine beispielhafte Anordnung einer Farbkorrekturtabelle CT in dem Speicher zeigt;
  • 14 die Beziehung zwischen den Daten in der Offset-Korrekturtabelle OT und den Daten in der Farbkorrekturtabelle CT in dem Speicher zeigt;
  • 15 eine Aufteilung des Farbraums in einer zweiten Ausführungsform der vorliegenden Erfindung zeigt;
  • 16 ein Ablaufplan ist, der einen in der zweiten Ausführungsform ausgeführten Basispunkt-Berechnungsprozess zeigt;
  • 17 ein Ablaufplan ist, der einen weiteren in der zweiten Ausführungsform ausgeführten Basispunkt-Berechnungsprozess zeigt;
  • 18 eine Referenzgitterpunkttabelle als ein Beispiel zeigt;
  • 19 ein Ablaufplan ist, der einen in der zweiten Ausführungsform ausgeführten Offset-Koordinaten-Berechnungsprozess zeigt;
  • 20 ein Ablaufplan ist, der einen weiteren in der zweiten Ausführungsform ausgeführten Offset-Koordinaten-Berechnungsprozess zeigt;
  • 21 eine Offset-Koordinaten-Tabelle als ein Beispiel zeigt;
  • 22 die Struktur einer Farbkorrekturtabelle in der Hardware-Konfiguration als ein Beispiel zeigt;
  • 23 die Struktur einer Offset-Korrekturtabelle in der Hardware-Konfiguration als ein Beispiel zeigt;
  • 24 ein Blockschaltplan ist, der die Software-Struktur einer Flugsteuervorrichtung für ein Flugzeug als eine dritte Ausführungsform der vorliegenden Erfindung zeigt;
  • 25 ein Graph ist, der den Luftwiderstandsbeiwert CD, graphisch dargestellt in Abhängigkeit von dem Auftriebsbeiwert CL in Bezug auf verschiedene Mach-Zahlen zeigt;
  • 26 eine Tabelle zeigt, die zum Spezifizieren des Luftwiderstandsbeiwerts CD verwendet wird;
  • 27 ein Graph ist, der die Schub-Mach-Zahl-Kurven bei verschiedenen Gasständen in Bezug auf verschiedene Höhen zeigt;
  • 28 eine Tabelle zeigt, die zum Spezifizieren des Schubs verwendet wird;
  • 29 ein Blockschaltplan ist, der die Software-Struktur einer Fuzzy-Steuervorrichtung als einer vierten Ausführungsform der vorliegenden Erfindung zeigt;
  • 30 eine Tabelle zeigt, die zum Spezifizieren des Zugehörigkeitswerts verwendet wird;
  • 31 eine Koordinatenumwandlung als eine fünfte Ausführungsform der vorliegenden Erfindung zeigt;
  • 32 eine Tabelle zeigt, die verwendet wird, um die Werte, die einer spezifischen Kombination von Breite und Länge entsprechen, in einem orthogonalen Koordinatensystem zu spezifizieren;
  • 33 eine lineare Umwandlung als eine sechste Ausführungsform der vorliegenden Erfindung zeigt; und
  • 34 eine Tabelle zeigt, die verwendet wird, um die Elemente der linearen Umwandlung, die den Euler-Winkeln entsprechen, zu spezifizieren.
  • Im Folgenden wird die Anwendung einer Dateninterpolationsvorrichtung der vorliegenden Erfindung auf eine Farbbild-Verarbeitungsvorrichtung beschrieben. 1 zeigt eine Skizze eines Verfahrens zum Interpolieren von Farbkorrekturdaten, das durch eine Farbbild-Verarbeitungsvorrichtung, die die vorliegende Erfindung verkörpert, ausgeführt wird. 2 ist ein Blockschaltplan, der die Struktur eines Farbbild-Verarbeitungssystems zeigt, in dem die Farbbild-Verarbeitungsvorrichtung der Ausführungsform enthalten ist.
  • A. Struktur der Bildaungabevorrichtung
  • Zur zweckmäßigen Erläuterung wird zunächst mit dem Blockschaltplan aus 2 die allgemeine Struktur des Farbbild-Verarbeitungssystems beschrieben. Das Farbbild-Verarbeitungssystem enthält einen Scanner 12, der als eine Bildeingabevorrichtung wirkt, einen Personal Computer 90 und einen Farbdrucker 22, der als eine Bildausgabevorrichtung wirkt. Der Personal Computer 90 ist mit einer Farbanzeige 21 und mit einer Eingabeeinheit 92, die eine Tastatur und eine Maus enthält, versehen. Der Scanner 12 als die Bildeingabevorrichtung liest die Original-Farbbilddaten ORG von dem Farboriginal ein und liefert die Original-Farbbilddaten ORG, die die drei Farbkomponenten R, G und B enthalten, an den Computer 90.
  • Die jeweiligen Farben R, G und B werden in dieser Ausführungsform durch 8-Bit-Digitaldaten ausgedrückt und besitzen die Anzahl von Tönen gleich 256. Die Farbe jedes Pixels wird als Koordinatenwerte ausgedrückt, die die Position in einem dreidimensionalen Farbraum darstellen, der durch die Koordinatenachsen der jeweiligen Farben R, G und B definiert ist. Im Allgemeinen kann die Farbe jedes Pixels als Koordinatenwerte ausgedrückt werden, die die Position in dem Farbraum darstellen, auf den sich irgendein Farbkoordinatensystem wie etwa ein L*a*b*-System bezieht. Der Computer 90, der als die Bildverarbeitungsvorrichtung wirkt, gibt die Koordinaten jedes auf diese Weise ausgedrückten Pixels als Farbbilddaten ein. Für die Eingabe der Farbbilddaten kann irgendein anderes verfügbares Mittel als der Scanner 12, beispielsweise eine Videokamera oder ein Host-Computer für Computergraphik, verwendet werden.
  • Im Folgenden wird die Struktur des Computers 90 beschrieben, der die Bildverarbeitungsvorrichtung umfasst. Der Computer 90 enthält eine CPU, einen RAM und einen ROM, die hier nicht genau gezeigt sind. Unter einem vorbestimmten Betriebssystem läuft ein Anwendungsprogramm 95. Die in dieser Ausführungsform verwendete CPU ist ein Pentium II (eingetragenes Warenzeichen der Intel Corp.). In dem Betriebssystem sind ein Videotreiber 91 und ein Druckertreiber 96 enthalten, wobei über diese Treiber 91 und 96 von dem Anwendungsprogramm 95 die Endfarbbilddaten FNL ausgegeben werden. Das Anwendungsprogramm 95 liest mit dem Scanner 12 ein Bild ein, veranlasst, dass das Eingangsbild einer vorbestimmten Verarbeitungsoperation, beispielsweise einer Retusche des Bildes, ausgesetzt wird, und zeigt ein verarbeitetes Bild über den Videotreiber 91 auf der CRT-Anzeige 21 an. Wenn das Anwendungsprogramm 95 einen Druckbefehl ausgibt, empfängt der Druckertreiber 96 in dem Computer 90 von dem Anwendungsprogramm 95 Bildinformationen, wobei er die Eingangsbildinformationen in Signale umwandelt, die durch den Drucker 22 druckbar sind (digitalisierte Signale für die jeweiligen Farben C, M und Y).
  • Der Druckertreiber 96 in dem Beispiel aus 2 enthält einen Rasterer 97, der die durch das Anwendungsprogramm 95 verarbeiteten Farbbilddaten in punkbasierte Bilddaten umwandelt, ein Farbkorrekturmodul 98, das veranlasst, dass die punkbasierten Bilddaten gemäß den Tintenfarben C, M und Y, die von der Bildausgabevorrichtung (in dieser Ausführungsform dem Drucker 22) verwendet werden, und den kolorimetrischen Eigenschaften des Druckers 22 einer Farbkorrektur ausgesetzt werden, sowie eine Farbkorrekturtabelle CT und eine Offset-Korrekturtabelle OT, auf die das Farbkorrekturmodul 98 Bezug nimmt. Ferner ist der Druckertreiber 96 mit einem Halbtonmodul 99 versehen, das aus den farbkorrigierten Bilddaten Halbtonbilddaten erzeugt, die die Dichte in einem spezifischen Bereich durch das Vorliegen oder Nichtvorliegen von Tinte in jeder Punkteinheit ausdrücken.
  • Der Computer 90 führt die Farbkorrektur und die Tonanzahlumwandlung als die Bildverarbeitungsoperationen aus, die die Original-Eingangsfarbbilddaten ORG für die Farbwiedergabeeigenschaften der Bildausgabevorrichtung wie etwa des Druckers 22 geeignet machen. Die Farbkorrektur, beispielsweise die Gamma-Korrektur, korrigiert die Farbe, so dass sie für die Ausgabeeigenschaften der Bildausgabevorrichtung geeignet ist. Wenn die Anzahl der Töne, die von der Bildausgabevorrichtung wie etwa von dem Drucker 22 ausgegeben werden können, kleiner als die Anzahl der Töne ist, die in den Original-Farbbilddaten ORG enthalten sind, wandelt die Tonanzahlumwandlung die Farbbilddaten in diejenige Anzahl von Tönen um, die von der Bildausgabevorrichtung ausgegeben werden können. In dieser Ausführungsform besitzen die mit dem Scanner 12 eingelesenen Bilddaten ORG für jede der Farben R, G und B 256 Töne (entsprechend 8 Bits), während der Drucker 22 ein Tintenstrahldrucker ist, der durch die Ein/Aus-Zustände der Tinte lediglich zwei Töne ausgeben kann. Dementsprechend wandelt der Computer 90 die Bilddaten der 256 Töne in zwei Töne um, wobei er die umgewandelten Daten als die End-Farbbilddaten FNL an die Bildausgabevorrichtung wie etwa an den Drucker 22 ausgibt. Außer dem Drucker 22 kann die Farbanzeige 21 als die Bildausgabevorrichtung verwendet werden. Die hier beschriebene Dateninterpolationsvorrichtung der vorliegenden Erfindung ist durch das Farbkorrekturmodul 98, durch die Farbkorrekturtabelle CT und durch die Offset-Korrekturtabelle OT, die in 2 veranschaulicht sind, sowie durch eine nicht gezeigte mit dem Farbkorrekturmodul 98 verbundene Daten-Eingabe/Ausgabe-Einheit realisiert.
  • Im Folgenden wird kurz die Struktur des Druckers 22 als der Bildausgabevorrichtung beschrieben. 3 zeigt schematisch die Struktur des Druckers 22. Der Drucker 22 besitzt einen Mechanismus zum Zuführen eines Blatts Papier P mittels eines Einzelblattzuführungsmotors 23, einen Mechanismus zum Hin- und Herbewegen eines Wagens 31 entlang der Achse einer Schreibwalze 26 mittels eines Wagenmotors 24, einen Mechanismus zum Ansteuern eines an dem Wagen 31 angebrachten Druckkopfs 28, der die Abgabe der Tinte und die Bildung der Punkte steuert, sowie eine Steuereinheit 40, die Signale zu und von dem Einzelblattzuführungsmotor 23, von und zu dem Wagenmotor 24, von und zu dem Druckkopf 28 und von und zu dem Bedienungsfeld 32 überträgt.
  • An dem Wagen 31 des Druckers 22 können eine schwarze Tintenpatrone 71 sowie eine farbige Tintenpatrone 72 zur Aufbewahrung der drei Farbtinten, d. h. Cyan (im Folgenden als C bezeichnet), Magenta (im Folgenden als M bezeichnet) und Gelb (im Folgenden als Y bezeichnet), angebracht sein. An dem Druckkopf 28 sind vier Farbausstoßköpfe 61 bis 64 ausgebildet, die in dem unteren Abschnitt des Wagens 31 liegen, wobei in dem Bodenab schnitt des Wagens 31 die Tintenzufuhrkanäle 67 (siehe 4) ausgebildet sind, die den jeweiligen Tintenausstoßköpfen 61 bis 64 Lieferungen von der Tinte aus den Tintentanks zuzuführen. Wenn die schwarze Tintenpatrone 71 und die farbige Tintenpatrone 72 nach unten in den Wagen 31 eingesetzt werden, werden die Tintenzufuhrkanäle 67 in (nicht gezeigte) Verbindungsöffnungen eingeführt, die in den jeweiligen Patronen ausgebildet sind. Dies ermöglicht, den Tintenausstoßköpfen 61 bis 64 Lieferungen von Tinte von den jeweiligen Tintenpatronen zuzuführen.
  • Im Folgenden wird kurz der Mechanismus zum Ausstoßen der Tinte beschrieben. Wenn die Tintenpatronen 71 und 72 an dem Wagen 31 angebracht sind, werden durch die Kapillarität Lieferungen von Tinte in den Tintenpatronen 71 und 72 über die Tintenversorgungskanäle 67 herausgesaugt und den Tintenausstoßköpfen 61 bis 64 zugeführt, die in dem Druckkopf 28 ausgebildet sind, der, wie in 4 gezeigt ist, in dem unteren Abschnitt des Wagens 31 angeordnet ist. Wenn die Tintenpatronen 71 und 72 erstmals an dem Wagen 31 angebracht werden, arbeitet eine Pumpe in der Weise, dass sie zunächst Zufuhren von Tinte in die jeweiligen Tintenausstoßköpfe 61 bis 64 saugt. In dieser Ausführungsform werden die Strukturen der Pumpe zum Saugen und einer Kappe zur Abdeckung des Druckkopfs 28 während des Saugens weder gezeigt noch genau beschrieben.
  • Wie in 4 gezeigt ist, ist in jedem der Tintenausstoßköpfe 61 bis 64 eine Anordnung von zweiunddreißig Düsen Nz ausgebildet. Für jede Düse Nz ist ein piezoelektrisches Element PE vorgesehen, das eine ausgezeichnete Reaktion besitzt und ein elektrisch deformierbares Element ist. 5 zeigt eine Konfiguration des piezoelektrischen Elements PE und der Düse Nz. Das piezoelektrische Element PE ist an einer Position angeordnet, die mit einem Tintenkanal 68 in Kontakt gelangt, um der Düse Nz Tinte zuzuführen. Wie bekannt ist, besitzt das piezoelektrische Element PE eine Kristallstruktur, die durch das Anlegen einer Spannung einer mechanischen Belastung ausgesetzt wird und, dadurch eine äußerst schnelle Umwandlung von Elektroenergie in mechanische Energie durchführt. Wie in der unteren Zeichnung von 5 gezeigt ist, bewirkt das Anlegen einer Spannung zwischen den Elektroden an beiden Enden des piezoelektrischen Elements PE während einer vorbestimmten Zeitdauer in dieser Ausführungsform, dass sich das piezoelektrische Element PE während der vorbestimmten Zeitdauer ausdehnt und eine Seitenwand des Tintenkanals 68 verformt. Bei einer Ausdehnung des piezoelektrischen Elements PE wird das Volumen des Tintenkanals 68 verringert, wobei eine bestimmte Menge Tinte, die dem verringerten Volumen entspricht, als ein Tintenpartikel Ip mit hoher Geschwindigkeit vom Ende der Düse Nz gesprüht wird. Die Tintenpartikel Ip werden in das auf die Schreibwalze 26 gelegte Blatt Papier P aufgesaugt, um den Druck durchzuführen.
  • Der Mechanismus zum Zuführen des Blatts Papier P besitzt einen (nicht gezeigten) Getriebezug, der Drehungen des Einzelblattzuführungsmotors 23 auf die Schreibwalze 26 überträgt, sowie (nicht gezeigte) Einzelblattzuführungswalzen. Der Mechanismus zum Hin- und Herbewegen des Wagens 31 enthält eine Schiebewelle 34, die parallel zur Achse der Schreibwalze 26 angeordnet ist, um den Wagen 31 gleitend abzustützen, eine Rolle 38, einen endlosen Antriebsriemen 36, der zwischen dem Wagenmotor 24 und der Rolle 38 gespannt ist, und einen Positionssensor 39, der die Position des Ursprungs des Wagens 31 erfasst.
  • Während der Einzelblattzuführungsmotor 23 in dem Drucker 22 der Ausführungsform mit der oben diskutierten Hardware-Struktur die Schreibwalze 26 und die anderen diesbezüglichen Walzen dreht, um das Blatt Papier P zuzuführen, steuert der Wagenmotor 24 gleichzeitig mit der Betätigung des piezoelektrischen Elements PE an den jeweiligen Tintenausstoßköpfen 61 bis 64 des Druckkopfs 28 den Wagen an und bewegt ihn hin und her. Dementsprechend sprüht der Drucker 22 die jeweiligen Farbtinten, wodurch er auf dem Blatt Papier P ein Multi-Farben-Bild bildet.
  • Obgleich die Steuerschaltung 40 eine nicht gezeigte CPU enthält, führt der Computer 90 die Farbkorrektur gemäß den Ausgabeeigenschaften des Druckers 22 intern aus. Der Drucker 22 führt keine Verarbeitung durch, die sich auf die Tonanzahlumwandlung oder auf die Farbkorrektur bezieht. Die einzige intern durch den Drucker 22 ausgeführte Verarbeitung empfängt die von dem Computer 90 ausgegebenen Daten und steuert synchron zu der Einzelblattzuführungsoperation und dem Hin- und Her-Betrieb des Wagens 31 die jeweiligen piezoelektrischen Elemente PE an dem Druckkopf 28 an. Somit werden die Struktur und die Verarbeitung der Steuerschaltung 40 des Druckers 22 hier nicht ausführlich beschrieben. Allerdings kann die Vielzahl der intern durch den Computer 90 ausgeführten Operationen von der in der Steuerschaltung 40 des Druckers 22 enthaltenen CPU durchgeführt werden.
  • B. Bildverarbeitung
  • Im Folgenden werden die Einzelheiten der von der Bildverarbeitungsvorrichtung ausgeführten Bildverarbeitung beschrieben. Die Bildverarbeitung beinhaltet hier eine Farbkorrekturoperation, durch die die Eingangsfarbbilddaten pixelweise mit der Farbkorrekturtabelle CT verarbeitet werden. Diese Ausführungsform führt die Interpolation der Farbkorrekturtabelle CT aus, um die Farbkorrektur zu erreichen. Zunächst wird ein Überblick über die in dieser Ausführungsform ausgeführte Interpolation beschrieben.
  • 6 zeigt eine Aufteilung des Farbraums in der ersten Ausführungsform. Die erste Ausführungsform teilt den dreidimensionalen Farbraum, der für jede der Farben R, G und B 8 Bits oder 256 Töne besitzt, durch das Gitterpunktintervall mit 4 Bits oder 16 Tönen in Bezug auf jede Dimension auf. Wie in 6 gezeigt ist, bildet jede durch benachbarte Gitterpunkte definierte Gitteraufteilung einen Würfel des Gitterpunktintervalls. Obgleich zur zweckmäßigen Darstellung in 6 lediglich einige Gitterpunkte gezeigt sind, besitzt jede Dimension in dieser Ausführungsform einschließlich des Ursprungs tatsächlich siebzehn Gitterpunkte. Die Anzahl der Töne für jede Farbe und das Gitterpunktintervall können gemäß der gewünschten Bildqualität und den anderen Anforderungen beliebig gesetzt werden.
  • Die in den Computer 90 gespeicherte Farbkorrekturtabelle CT wird entsprechend den in 6 gezeigten jeweiligen Gitterpunkten vorbereitet. Die Farbkorrekturtabelle CT speichert eine Abbildung, die die R-, G- und B-Tondaten (die synonym zu den Koordinatendaten sind) abgebildet auf die C-, M- und Y-Tonkorrekturdaten in Bezug auf jeden Gitterpunkt darstellt. Dies ermöglicht beispielsweise, dass das mit dem Farbdrucker 22 auf Aufzeichnungspapier gedruckte Ausgangsfarbbild gleichwertige Farben wie das mit dem Scanner 12 eingelesene Originalfarbbild besitzt. Wie in 6 gezeigt ist, ist ein Gitterpunkt Q beispielhaft als (c, m, y) definiert.
  • Die Farbbilddaten werden als ein Punkt in diesem Farbraum ausgedrückt und in einer der in 6 gezeigten Gitteraufteilungen dargestellt. Wenn die Farbbilddaten mit irgendeinem Gitterpunkt, z. B. mit dem in 6 gezeigten Gitterpunkt Q, zusammenfallen, nimmt der Farbkorrekturprozess auf die Farbkorrekturtabelle CT Bezug, wobei er einfach die dem zusammenfallenden Gitterpunkt entspre chenden Farbkorrekturdaten einliest. Wenn die Farbbilddaten nicht mit irgendeinem Gitterpunkt zusammenfallen, sondern beispielsweise einen in 6 gezeigten Punkt P spezifizieren, führt der Farbkorrekturprozess dagegen die Interpolation der Farbkorrekturdaten der nahe gelegenen Gitterpunkte durch.
  • Es wird hier angenommen, dass die Farbbilddaten in einer spezifischen Gitteraufteilung vorliegen. Die erste Ausführungsform wählt aus der spezifischen Gitteraufteilung vier Gitterpunkte aus, um gemäß der Position der Farbbilddaten in der spezifischen Gitteraufteilung ein Tetraeder zu bilden, und führt die Interpolation durch. Dieser Prozess wird im Folgenden als Tetraederinterpolation bezeichnet. Die Tetraederinterpolation besitzt eine hohe Interpolationsgenauigkeit und stellt wegen der kleinen Anzahl von Gitterpunktdaten, auf die Bezug zu nehmen ist, sowie wegen der kleinen Anzahl von Operationen eine schnelle Verarbeitung sicher. Für die Interpolation kann ein anderes Verfahren angewendet werden, beispielsweise ein Verfahren, das alle in der Gitteraufteilung enthaltenen Gitterpunkte verwendet.
  • 1 zeigt die für die Interpolation verwendeten Tetraeder, die verschiedenen Positionen der Farbbilddaten entsprechen. Der in der Mitte von 1 gezeigte Würfel stellt eine Gitteraufteilung dar, die die Farbbilddaten P aus 6 enthält. Ein Eckpunkt K des Würfels bezeichnet denjenigen Gitterpunkt, der unter allen in der Gitteraufteilung enthaltenen Gitterpunkten dem Ursprung am nächsten ist. Die Eckpunkte R, G und B bezeichnen jeweils die von dem Eckpunkt K in der R-, G- und B- Richtung um eins verschobenen Gitterpunkte. Die Zahl 0 ist dem Ursprung zugeordnet, während die Zahlen 1, 2, 3, ... in der Reihenfolge der Entfernung vom Ursprung den Gitterpunkten jeder Aufteilung zugeordnet sind. Diese Zahlen werden im Folgenden als Gitterpunktnummern bezeichnet. Jeder Gitterpunkt wird in der R-, G- und B-Richtung durch die Koordinaten (R, G, B) spezifiziert. Die Koordinaten der jeweiligen Eckpunkte des in 1 gezeigten Würfels werden auf folgende Weise ausgedrückt: Eckpunkt bzw. Spitze K (ir, ig, ib) × D Eckpunkt R (ir + 1, ig, ib) × D Eckpunkt G (ir, ig + 1, ib) × D Eckpunkt B (ir, ig, ib + 1) × D Eckpunkt Y (ir + 1, ig + 1, ib) × D Eckpunkt M (ir + 1, ig, ib + 1) × D Eckpunkt C (ir, ig + 1, ib + 1) × D Eckpunkt W (ir + 1, ig + 1, ib + 1) × D, (6)wobei D eine Konstante ist, die das Gitterzeigerintervall darstellt, und ir, ig und ib natürliche Zahlen von 0 bis N sind.
  • Wie in 1 gezeigt ist, teilt die Tetraeder-Interpolation die Gitteraufteilung durch die drei Ebenen KGWM, KBWY und KCWR in sechs Tetraeder Tetra0 bis Tetra5 auf. Gemäß der Position der Farbbilddaten wird ein geeigneter dieser sechs Tetraeder Tetra0 bis Tetra5 ausgewählt und für die Interpolation verwendet. Die Position der Farbbilddaten in der Gitteraufteilung wird durch Koordinaten ausgedrückt, wobei der Ursprung in den Eckpunkt K (der im Folgenden als der Basispunkt bezeichnet wird) der Gitteraufteilung gesetzt wird. Diese Koordinaten werden im Folgenden als Offset-Koordinaten bezeichnet. Dementsprechend werden die Farbbilddaten P durch die Koordinaten P (Rd, Gd, Bd) und durch die Offset-Koordinaten (Roff, Goff, Boff) ausgedrückt. Die Offset-Koordinaten werden auf folgende Weise durch die Subtraktion der Koordinaten des Basispunktes K (ir × D, ig × D, ib × D) von den Koordinaten der Farbbilddaten P spezifiziert: Roff = Rd – ir × D Goff = Gd – ig × D Boff = Bd – ib × D (7)
  • 7 zeigt die Offset-Koordinaten in der Gitteraufteilung.
  • Um den Fehler zu verringern, wird das für die Interpolation verwendete Tetraeder durch diejenigen vier Gitterpunkte definiert, die näher bei den Farbbilddaten sind. Im Folgenden wird konkret das Tetraeder gegeben, das gemäß der Beziehung der Offset-Koordinaten (siehe 1) für die Interpolation verwendet wird: Roff > Goff > Boff → Tetra0; Roff > Boff > Goff → Tetra1; Boff > Roff > Goff → Tetra2; Goff > Roff > Boff → Tetra3; Goff > Boff > Roff → Tetra4; und Boff > Goff > Roff → Tetra5.
  • Nach der Auswahl des geeigneten Tetraeders berechnet die Tetraeder-Interpolation aus den Offset-Koordinaten Gewichtungskoeffizienten, mit denen die Farbkorrekturdaten an den jeweiligen Gitterpunkten multipliziert werden. Die Berechnung der Gewichtungskoeffizienten wird mit der Zeichnung aus 8 beschrieben. 8 zeigt das Tetraeder (das in 1 gezeigte Tetra0), das für die Farb bilddaten P aus 7 ausgewählt wird. Ein Gewichtungskoeffizient WW des Eckpunktes W ist als ein Verhältnis vp/V eines Volumens vp eines Tetraeders KRYP (der schraffierte Abschnitt in 8) zu einem Volumen V eines Tetraeders KRYW gegeben. Falls die Farbbilddaten P mit dem Eckpunkt W zusammenfallen, ist der Gewichtungskoeffizient WW = 1. Falls die Daten P in einer Ebene KRY liegen, ist der Gewichtungskoeffizient WW = 0. Die Gewichtungskoeffizienten für die anderen Eckpunkte werden auf ähnliche Weise spezifiziert. Das heißt, ein Gewichtungskoeffizient WK des Eckpunktes K ist als ein Verhältnis eines Volumens eines Tetraeders RYWP zu dem Volumen V gegeben, ein Gewichtungskoeffizient WR des Eckpunktes R ist als ein Verhältnis eines Volumens eines Tetraeders KWYP zu dem Volumen V gegeben und ein Gewichtungskoeffizient WY des Eckpunktes Y ist als ein Verhältnis eines Volumens eines Tetraeders KWRP zu dem Volumen V gegeben.
  • Die jeweiligen Gewichtungskoeffizienten können mit den Offset-Koordinaten (Roff, Goff, Boff) und mit dem Gitterpunktintervall D ausgedrückt werden. Ein gegebenes Beispiel ist der Gewichtungskoeffizient WW des Eckpunktes W. Da das Tetraeder KRYW und das Tetraeder KRYP die gemeinsame Grundfläche KRY haben, ist das Volumenverhältnis dieser Tetraeder gleich dem Höhenverhältnis des Punktes P zu dem Eckpunkt W von der Grundfläche KRY. Die Höhe des Eckpunktes W ist das Gitterpunktintervall D, während die Höhe des Punktes P Boff ist, so dass WW = Boff/D ist. Die anderen Gewichtungskoeffizienten werden auf ähnliche Weise berechnet. Im Folgenden werden die Gewichtungskoeffizienten für das Tetraeder Tetra0 gegeben:
  • Tetra0
  • WK = (D – Roff)/D; WR = (Roff – Goff)/D; WY = (Goff – Boff)/D; WW = (Boff/D) (8)
  • Die Gewichtungskoeffizienten für die anderen Tetraeder Tetra1 bis Tetra5 sind gegeben als:
  • Tetra1
  • WK = (D – Roff)/D; WR = (Roff – Boff)/D; WM = (Boff – Goff)/D; WW = (Goff/D) (9)
  • Tetra1
  • WK = (D – Boff)/D; WB = (Boff – Roff)/D; WM = (Roff – Goff)/D; WW = (Goff/D) (10)
  • Tetra3
  • WK = (D – Goff)/D; WG = (Goff – Roff)/D; WM = (Roff – Boff)/D; WW = (Boff/D) (11)
  • Tetra4
  • WK = (D – Goff)/D; WG = (Goff – Boff)/D; WC = (Boff – Roff)/D; WW = (Roff/D) (12)
  • Tetra5
  • WK = (D – Boff)/D; WB = (Boff – Goff)/D; WC = (Goff – Roff)/D; WW = (Roff/D) (13)
  • Die Tetraeder-Interpolation multipliziert die Farbkorrekturdaten der jeweiligen Gitterpunkte mit den auf diese Weise berechneten Gewichtungskoeffizienten und spezifiziert die Summe der Produkte als die den Farbbilddaten P entsprechenden Farbkorrekturdaten. Die den Farbbilddaten P entsprechenden Farbkorrekturdaten CTP sind gegeben als: CTP = WK*CTK + WW*CTW + WR*CTR + WY*CTY, (14)wobei CTK, CTW, CTR und CTY jeweils die den Eckpunkten K, W, R und Y entsprechenden Farbkorrekturdaten bezeichnen. In dieser Ausführungsform besitzt die Farbkorrekturtabelle CT die Daten der drei Dimensionen C, M und Y. Dementsprechend werden die obigen Rechenoperationen für die Daten von C, M und Y durchgeführt.
  • Diese Interpolationsprozedur berechnet aus den Volumenverhältnissen die Gewichtungskoeffizienten. Allerdings kann zur Berechnung der Gewichtungskoeffizienten ein anderes Verfahren anwendbar sein. Ein verfügbares Verfahren bestimmt die Gewichtungskoeffizienten auf der Grundlage der Entfernungen zwischen den Farbbilddaten P und den Eckpunkten der ausgewählten Tetraeder.
  • Mit dem Ablaufplan aus 9, der eine Bildverarbei tungsroutine zeigt, wird eine konkrete Prozedur der Verarbeitung in dieser Ausführungsform beschrieben. Die Bildverarbeitungsroutine aus 9 wird von der CPU des Computers 90 ausgeführt.
  • Wenn das Programm in die Bildverarbeitungsroutine eintritt, gibt die CPU in Schritt S100 zunächst die Farbbilddaten ein. Die eingegebenen Farbbilddaten sind hier punktbasierte Daten, in die die mit dem Scanner 12 eingelesenen Originalbilddaten ORG durch den Rasterer 97 umgewandelt werden. Die Eingangsfarbbilddaten enthalten in Bezug auf jedes Pixel die Farbinformationen von R, G und B. Daraufhin führt die CPU in Schritt S105 die Basispunktberechnung und in Schritt S110 die Offset-Koordinaten-Berechnung durch. Die Einzelheiten dieser Operationen in den Schritten S105 und S110 werden in den Ablaufplänen der 10 und 11 beschrieben.
  • Der Ablaufplan aus 10 zeigt die Einzelheiten der Basispunktberechnung. Die Basispunktberechnung führt für die Farbdaten R, G und B die gleiche Verarbeitung durch. Zur zweckmäßigen Erläuterung wird die Verarbeitung für die Farbdaten R als ein Beispiel beschrieben. Zunächst teilt der Prozess der Basispunktberechnung die Bilddaten in Schritt S150 durch das Gitterpunktintervall D auf. In dem Beispiel der 7 und 8 teilt der Prozess die Bilddaten Rd durch das Gitterpunktintervall D auf. Daraufhin lässt der Prozess in Schritt S155 die Ziffern nach dem Dezimalkomma des Quotienten weg und rundet dadurch den Quotienten auf eine ganze Zahl. Die auf diese Weise erhaltene ganze Zahl wird als Basispunktdaten irk ausgegeben. Die Basispunktdaten irk stellen die Gitterpunktnummer dar, die dem Gitterpunkt zugeordnet ist, der in der R-Richtung in der Gitteraufteilung, die die Farbbilddaten P enthält, nahe dem Ursprung ist. Nachfolgend bestimmt die CPU in Schritt S160, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird die Verarbeitung der Schritte S150 und S155 für die verbleibenden Farben G und B wiederholt ausgeführt. Nach der Berechnung der Basispunktdaten (irk, igk, ibk) für die jeweiligen Farben R, G und B steigt das Programm aus dem in 10 gezeigten Prozess der Basispunktberechnung aus, wobei es zu der Bildverarbeitungsroutine aus 9 zurückkehrt. Anstelle der Gitterpunktnummern können die hier erhaltenen Basispunktdaten die Koordinaten des Basispunktes sein.
  • Der Ablaufplan aus 11 zeigt die Einzelheiten der Offset-Koordinaten-Berechnung. Die Offset-Koordinaten-Berechnung führt für die Farbdaten R, G und B ebenfalls die gleiche Verarbeitung durch. In Schritt S170 liest der Prozess der Offset-Koordinaten-Berechnung die in dem Prozess der Basispunktberechnung in Schritt S165 erhaltenen Basispunktdaten ein, wobei er die Koordinaten des Basispunktes von den Koordinaten der Bilddaten subtrahiert. Die im Ergebnis der Subtraktion erhaltenen Differenzen stellen die Offset-Koordinaten dar. In dem Beispiel der Farbdaten R wird die Koordinate des Basispunktes aus den Basispunktdaten irk und aus dem Gitterpunktintervall D als irk × D berechnet. Die Offset-Koordinate Roff, die den Farbbilddaten Rd entspricht, wird durch die Gleichung Roff = Rd – irk × D erhalten. Nachfolgend bestimmt die CPU in Schritt S175, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist oder nicht. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird die Verarbeitung der Schritte S165 und S170 für die verbleibenden Farben G und B wiederholt ausgeführt. Nach der Berechnung der Offset-Koordinaten (Roff, Goff, Boff) für die jeweiligen Farben R, G und B steigt das Programm aus dem in 11 gezeigten Prozess der Offset-Koordinaten-Berechnung aus, wobei es zu der Bildverarbeitungsroutine aus 9 zurückkehrt. Die Offset-Koordinaten können durch eine weitere Operation Roff = Rd%D berechnet werden, wobei % den Restoperator bezeichnet.
  • Mit Rückblick auf die Bildverarbeitungsroutine aus 9 liest die CPU nach Abschluss der Offset-Koordinaten-Berechnung in Schritt S115 die Interpolationsdaten ein. Die konkrete Prozedur aus Schritt S115 liest aus der Offset-Korrekturtabelle OT die den Offset-Koordinaten (Roff, Goff, Boff) entsprechenden Interpolationsdaten. Die Offset-Korrekturtabelle OT speichert Gitterpunkt-Spezifikationsdaten, die die für die Interpolation verwendeten Gitterpunkte spezifizieren, und Gewichtungskoeffizient-Daten, die Gewichtungskoeffizienten ergeben, mit denen die jeweiligen Gitterpunkte in dem Prozess der Interpolation multipliziert werden. Im Folgenden wird der Inhalt der Offset-Korrekturtabelle OT beschrieben.
  • Die Offset-Korrekturtabelle OT speichert die jeder der Offset-Koordinaten (0, 0, 0) bis (D, D, D) entsprechenden Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizient-Daten. 12 zeigt ein Beispiel der Offset-Korrekturtabelle OT, die zwei Gitterpunkt-Spezifikationsdatenstücke AD1 und AD2 und vier Gewichtungskoeffizient-Datenstücke WK, WW, W1 und W2 enthält, die den jeweiligen durch die Offset-Koordinaten (0, 0, 0) bis (D, D, D) definierten Punkten entsprechen. Für die Tetraeder-Interpolation, die die vier Gitterpunkte um die Bilddaten verwendet, werden lediglich die zwei Gitterpunkt-Spezifikationsdatenstücke AD1 und AD2 benötigt. Das liegt daran, dass alle für die Tetraeder-Interpolation verwendeten Tetraeder, wie sie in 1 gezeigt sind, die Eckpunkte K und W enthalten. Somit müssen die Gitterpunkt-Spezifikationsdaten die anderen zwei Punkte gemäß den Offset-Koordinaten spezifizieren.
  • In dem Beispiel aus 12 werden die Gitterpunkt-Spezifikationsdaten genauer beschrieben. Wie in 1 gezeigt ist, ist der durch die Offset-Koordinaten (0, 0, 0) definierte Punkt, d. h. der in 1 gezeigte Eckpunkt K, in allen Tetraedern Tetra0 bis Tetra5 enthalten. Zweckmäßigkeitshalber wird in dieser Ausführungsform angenommen, dass der Eckpunkt K in dem Tetraeder Tetra5 enthalten ist. Somit werden die Daten, die den Eckpunkt B spezifizieren, und die Daten, die den Eckpunkt C spezifizieren, jeweils als die Gitterpunkt-Spezifikationsdaten AD1 und AD2 in der Offset-Korrekturtabelle OT gespeichert. Die durch die Offset-Koordinaten (0, 0, 1) und (0, 0, 2) definierten Punkte liegen auf der in 1 gezeigten Seite KB vor und sind sowohl in dem Tetraeder Tetra5 als auch in dem Tetraeder Tetra2 enthalten. Zweckmäßigkeitshalber wird angenommen, dass diese Punkte ebenfalls in dem Tetraeder Tetra5 enthalten sind. In einem Beispiel ist die Beziehung Roff > Goff > Boff erfüllt, wobei für die Interpolation wie im Fall von 8 das in 1 gezeigte Tetraeder Tetra0 verwendet wird. In diesem Fall werden die Daten, die den Eckpunkt R spezifizieren, und die Daten, die den Eckpunkt Y spezifizieren, jeweils als die Gitterpunkt-Spezifikationsdaten AD1 und AD2 gespeichert. Welche Daten jeden Eckpunkt spezifizieren, wird später diskutiert.
  • Im Folgenden werden die in der Offset-Korrekturtabelle OT gespeicherten Gewichtungskoeffizient-Daten WK, WW, W1 und W2 beschrieben. Die Gewichtungskoeffizient-Daten WK und WW bezeichnen die Gewichtungskoeffizienten der Eckpunkte K bzw. W, während die Gewichtungskoeffizient-Daten W1 und W2 die Gewichtungskoeffizienten der durch die Gitterpunkt-Spezifikationsdaten RD1 bzw. AD2 spezifizierten Endpunkte bezeichnen. In Bezug auf die Offset-Koordinaten (0, 0, 0), die den in 1 gezeigten Eckpunkt K defi nieren, ist der Gewichtungskoeffizient WK, mit dem der Eckpunkt K in dem Prozess der Tetraeder-Interpolation multipliziert wird, gleich eins, während alle anderen Gewichtungskoeffizienten gleich null sind. Somit werden in der wie in 12 gezeigten Offset-Korrekturtabelle OT die Gewichtungskoeffizient-Daten WK = 1 und WW = W1 = W2 = 0 gespeichert. Auf ähnliche Weise werden für jede Kombination der Offset-Koordinaten die Gewichtungskoeffizienten der Eckpunkte K und W sowie die der durch die Gitterpunkt-Spezifikationsdaten AD1 und AD2 spezifizierten Eckpunkte bestimmt. Die somit definierten Werte werden in der Offset-Korrekturtabelle OT als die Gewichtungskoeffizient-Daten WK, WW, W1 und W2 gespeichert. In dem Beispiel aus 12 stellen die Daten, die nicht konkret spezifiziert, sondern als WK1, WW1 und dergleichen geschrieben sind, reelle Zahlen dar, die auf die obige Weise erhalten wurden. Die reelle Zahl liegt im Bereich von 0 ≤ Gewichtungskoeffizient-Daten ≤ 1.
  • In einem Beispiel wird beschrieben, welche den Gitterpunkt-Spezifikationsdaten zugewiesenen Daten jeden Eckpunkt spezifizieren. Zu diesem Zweck muss die Datenanordnung der Farbkorrekturtabelle CT im Speicher näher ausgeführt werden. In dieser Ausführungsform enthält die im ROM des Computers 90 gespeicherte Farbkorrekturtabelle CT Daten, die dem Ursprung (0, 0, 0) bis zum Gitterpunkt (Nr-1, Ng-1, Nb-1) entsprechen, die für die jeweiligen Farben C, M und Y in dieser Folge angeordnet sind. Nr, Ng und Nb bezeichnen hier die Nummern der Gitterpunkte in den jeweiligen Dimensionen R, G und B, wobei jeder Gitterpunkt durch die in der Reihenfolge R, G und B als (ir, ig, ib) angeordneten Gitterpunktnummern ausgedrückt ist. Wie zuvor erwähnt wurde, ist in dieser Ausführungsform Nr = Ng = Nb = 17. 13 zeigt die Datenanordnung der Farbkorrekturtabelle CT in dieser Ausführungsform.
  • Wie in 13 gezeigt ist, sind die Daten in der Farbkorrekturtabelle CT in der Weise im Speicher angeordnet, dass die Gitterpunktnummern in der Reihenfolge B, G und R zunehmen. Die konkrete Anordnung ist (0, 0, 0), (0, 0, 1), ... (0, 0, Nb-1), (0, 1, 0), (0, 1, 1), ... (0, 1, Nb-1) . Die Anordnung nach (0, Ng-1, Nb-1) ist (1, 0, 0), (1, 0, 1), ... (1, 0, Nb-1). Der letzte Eintrag in der Farbkorrekturtabelle CT ist (Nr-1, Ng-1, Nb-1). Auf die in dieser Folge für die Farbe C angeordneten Daten folgen die auf ähnliche Weise angeordneten Daten für die Farben M und Y. In 13 sind zweckmäßigkeitshalber die Zahlen von Farbkorrekturdaten für geeignete Aufteilungen gegeben. In dem Zustand, in dem die Farbkorrekturdaten auf diese eindimensionale Weise angeordnet sind, kann eine Datenposition oder Speicheradresse AG, die einem beliebigen Gitterpunkt (ir, ig, ib) entspricht, durch Bezugnahme auf diese Zahlen der Farbkorrekturdaten durch die unten stehende Gleichung (15) spezifiziert werden: AG = ir·Ng·Nb + ig·Nb + ib (15)
  • Gleichung (15) bestimmt die Stelle oder die Adresse des Basispunktes K (irk, igk, ibk) im ROM. Die durch Gleichung (15) berechnete Adresse irk·Ng·Nb + igk·Nb + ibk des Basispunktes K wird im Folgenden als die Basispunktadresse AK bezeichnet.
  • Gleichung (15) spezifiziert die Stelle der Farbkorrekturdaten, die jedem Eckpunkt in der Gitteraufteilung in Bezug auf den Basispunkt K zugewiesen ist. Beispielsweise liegen die Daten des in 1 gezeigten Eckpunktes R um Ng·Nb nach dem Basispunkt K vor. Mit anderen Worten, Ng·Nb stellt die relative Adresse des Eckpunktes R gegenüber der Basispunktadresse AK dar. Dies liegt daran, dass der Eckpunkt R gegenüber dem Basispunkt K (irk, igk, ibk) die Positionsbeziehung (irk + 1, igk, ibk) besitzt.
  • Unter diesem Gesichtspunkt sollte die relative Adresse Ng·Nb selbstverständlich als die Gitterpunkt-Spezifikationsdaten AD1 in der Offset-Korrekturtabelle OT gespeichert werden, wenn der Eckpunkt R für die Interpolation verwendet wird. Wenn für die Interpolation ein anderer Eckpunkt verwendet wird, können die Gitterpunkt-Spezifikationsdaten AD auf ähnliche Weise vorbereitet werden. Diese Ausführungsform nutzt die relativen Positionsdaten in dem Speicher als die Gitterpunkt-Spezifikationsdaten AD1 und AD2. Dementsprechend sind die Gitterpunkt-Spezifikationsdaten AD für die jeweiligen Eckpunkte gegeben als:
    Eckpunkt R: Ng·Nb
    Eckpunkt G: Nb
    Eckpunkt B: 1
    Eckpunkt C: Nb + 1
    Eckpunkt M: Nb·Nb + 1
    Eckpunkt Y: Ng·Nb + Nb
  • Mit einer Änderung der Folge der Datenanordnung in der Farbkorrekturtabelle CT werden die Gitterpunkt-Spezifikationsdaten AD geändert. Die Gitterpunkt-Spezifikationsdaten können Codes sein, die die jeweiligen Eckpunkte darstellen, oder können eine andere Datenform besitzen. Die obige Struktur zum Speichern der relativen Adressen im Speicher erleichtert den unten diskutierten Prozess des Einlesens der Farbkorrekturdaten und verbessert dadurch vorteilhaft die Verarbeitungsgeschwindigkeit.
  • Mit nochmaligem Rückbezug auf die Bildverarbeitungsroutine aus 9 liest die CPU in Schritt S120 nach dem Einlesen der Interpolationsdaten aus der Offset-Korrek turtabelle OT wie oben in Schritt S115 beschrieben die Farbkorrekturdaten ein. Der Prozess des Einlesens der Farbkorrekturdaten wird mit der Zeichnung aus 14 beschrieben. 14 zeigt die Beziehung zwischen den Daten in der Farbkorrekturtabelle CT und den aus der Offset-Korrekturtabelle OT eingelesenen Interpolationsdaten. Wie in 13 stellen die Gitterpunktnummern (0, 0, 0) bis (Nr-1, Ng-1, Nb-1) in 14 die Datenanordnung der Farbkorrekturtabelle CT im Speicher dar. Der Gitterpunkt (irk, igk, ibk) in 14 stellt den Basispunkt oder den Eckpunkt K dar. Die Daten, die dem Basispunkt K entsprechen, werden im Speicher um die Basispunktadresse AK nach den Daten gespeichert, die dem Gitterpunkt (0, 0, 0) entsprechen. Somit können die dem Basispunkt entsprechenden Farbkorrekturdaten anhand der Basispunktadresse AK eingelesen werden.
  • Die Farbkorrekturdaten, die den durch die Gitterpunkt-Spezifikationsdaten AD spezifizierten Eckpunkten entsprechen, werden auf folgende Weise eingelesen. Wie zuvor erwähnt wurde, werden in Schritt S115 die für die Interpolation verwendeten Gitterpunkt-Spezifikationsdaten AD eingelesen. Die Adressen relativ zu dem Basispunkt K werden den Gitterpunkt-Spezifikationsdaten AD1 und AD2 zugeordnet. Dementsprechend werden die Farbkorrekturdaten, die den durch die Gitterpunkt-Spezifikationsdaten AD spezifizierten Eckpunkten entsprechen, aus den Speicherstellen eingelesen, die durch Addition der Gitterpunkt-Spezifikationsdaten AD1 und AD2 zu der Basispunktadresse AK bestimmt werden. In dem Beispiel aus 14 wird die relative Adresse Ng·Nb zur Spezifizierung des Eckpunktes R (irk + 1, igk, ibk) als die Gitterpunkt-Spezifikationsdaten AD1 gespeichert, während die relative Adresse Ng·Nb + Nb zur Spezifizierung des Eckpunktes Y (irk + 1, igk + 1, ibk) als die Gitterpunkt-Spezifikationsdaten AD2 gespeichert wird. Der Eckpunkt W besitzt gegenüber dem Basispunkt K (irk, igk, ibk) die Positionsbeziehung (irk + 1, igk + 1, ibk + 1). Somit werden die dem Eckpunkt W entsprechenden Farbkorrekturdaten von der Speicherstelle eingelesen, die durch Addition von Ng·Nb + Nb + 1 zu der Basispunktadresse AK bestimmt wird.
  • Nachfolgend führt die CPU in Schritt S125 unter Verwendung der auf die obige Weise erhaltenen Farbkorrekturdaten und der Gewichtungskoeffizient-Daten die Interpolation aus. Die hier ausgeführte Interpolation ist völlig gleich der in (2), Bildverarbeitung, diskutierten Rechenoperation der Gleichung (14). Die den Farbbilddaten P entsprechenden Farbkorrekturdaten CP sind gegeben als: CP = WK*CTK + WW*CTW + W1*CT1 + W2*CT2, (16)wobei CTK, CTW, CT1 und CT2 jeweils die den Eckpunkten K und W und den durch die Eckpunktspezifikationsdaten AD1 und AD2 spezifizierten Eckpunkten entsprechenden Farbkorrekturdaten bezeichnen, während WK, WW, W1 und W2 die Gewichtungskoeffizient-Daten für die jeweiligen Eckpunkte bezeichnen. In dieser Ausführungsform besitzt die Farbkorrekturtabelle CT die Daten der drei Dimensionen C, M und Y, so dass die obige Rechenoperation für die Daten der jeweiligen Farben C, M und Y durchgeführt wird. Dementsprechend erhält die CPU die Farbkorrekturdaten jedes Pixels, wobei sie aus der Bildverarbeitungsroutine austritt.
  • Die Bildverarbeitungsvorrichtung dieser Ausführungsform interpoliert die Farbkorrekturtabelle und führt die Bildverarbeitung aus, wobei sie die Farbkorrektur mit einem äußerst kleinen Fehler in Bezug auf jedes Pixel realisiert. Die Verwendung der Offset-Korrekturtabelle OT ermöglicht es, die Interpolation ohne bedingte Sprünge durchzuführen, wodurch eine schnelle Bildverarbeitung erreicht wird. Wie zuvor diskutiert wurde, benötigt die herkömmliche Tetraeder-Interpolation die Auswahl der geeigneten Gitterpunkte gemäß den Offset-Koordinaten. Dies führt zu vielen bedingten Sprüngen und erfordert bei jeder Verzweigung eine Vielzahl von Operationen wie etwa die Berechnung der Gewichtungskoeffizienten. Dagegen nutzt diese Ausführungsform die Offset-Korrekturtabelle OT, die die Tetraeder-Interpolation ohne irgendwelche bedingten Sprünge realisiert. Die Bildverarbeitung, die ohne irgendwelche bedingten Sprünge ausgeführt werden kann, ist besonders geeignet für Pipeline-Prozessoren wie etwa den Pentium II (eingetragenes Warenzeichen der Intel Corp.). Die Bildverarbeitung dieser Ausführungsform mit einem solchen Prozessor ist vier- bis fünfmal schneller als die herkömmliche Bildverarbeitung, die viele bedingte Sprünge enthält.
  • In dieser Ausführungsform wird der dreidimensionale Farbraum mit 8 Bits oder 256 Tönen in Bezug auf jede der Dimensionen R, G und B durch das Gitterpunktintervall mit 4 Bits oder 16 Tönen aufgeteilt. Das heißt, das Gitterpunktintervall ist N/2 Bits, wobei die Anzahl der Töne durch N Bits (N = 8 in dieser Ausführungsform) ausgedrückt wird. In dieser Ausführungsform besitzt die Farbkorrekturtabelle CT in Bezug auf jeden Gitterpunkt drei Datenstücke (c, m, y), während die Offset-Korrekturtabelle OT in Bezug auf jede Kombination von Koordinaten sechs Datenstücke AD1, AD2, WK, WW, W1 und W2 besitzt. Die Anzahl der Daten in der Farbkorrekturtabelle CT wird in dem dreidimensionalen Farbraum mit der Anzahl der Daten in der Offset-Korrekturtabelle OT verglichen. Es ist denkbar, dass die Anzahl der Daten für die jeweiligen Gitterpunkte im Wesentlichen gleich der Anzahl der Daten für die jeweiligen Kombinationen der Koordinaten ist. Die Aufteilung des Farbraums durch das Gitterpunktintervall mit 4 Bits entsprechend N/2 Bits minimiert die Summe der Anzahl der Daten in der Farbkorrekturtabelle CT und in der Offset-Korrekturtabelle OT. Dies verringert wirksam die benötigte Speicherkapazität. Das Gitterpunktintervall ist nicht auf 4 Bits beschränkt, sondern sollte diejenige Anzahl der Bits sein, die etwa der Hälfte der Anzahl der Töne entspricht. Mit anderen Worten, die Anzahl der Daten in der Farbkorrekturtabelle CT muss im Wesentlichen gleich der Anzahl der Daten in der Offset-Korrekturtabelle OT sein. Wenn diese Beziehung nicht erfüllt ist und beispielsweise ein kleineres Gitterpunktintervall angewendet wird, wird die Anzahl der Daten in der Offset-Korrekturtabelle OT verringert, während die Anzahl der Daten in der Farbkorrekturtabelle CT wesentlich erhöht wird. Dies führt zu einer Erhöhung der insgesamt benötigten Speicherkapazität. Dagegen wird die Anzahl der Daten in der Offset-Korrekturtabelle OT wesentlich erhöht, wenn ein größeres Gitterpunktintervall angewendet wird. Ein gewünschter Wert für das Gitterpunktintervall kann gemäß dem Grenzwert der Speicherkapazität gesetzt werden.
  • In dieser Ausführungsform speichert die Offset-Korrekturtabelle die Gitterpunkt-Spezifikationsdaten und die Gewichtungskoeffizient-Daten. Anstelle der Gewichtungskoeffizient-Daten kann ein anderer Typ von Daten gespeichert werden, die für die Berechnung der Gewichtungskoeffizienten verwendet werden. Wie zuvor beschrieben wurde, werden die Gewichtungskoeffizienten, die in dem Prozess der Interpolation mit einem der in 1 gezeigten Tetraeder Tetra0 bis Tetra5 verwendet werden, als die oben gegebenen Gleichungen (8) bis (13) ausgedrückt. Diese Gleichungen können geschrieben werden als: WK = (D – OFF1)/D; W1 = (OFF1 – OFF2)/D; W2 = (OFF2 – OFF3)/D; WW = OFF3/D, (17) wobei OFF1, OFF2 und OFF3 Variablen sind, die gemäß dem ausgewählten Tetraeder unter den in 1 gezeigten jeweils einen der Werte Roff, Goff und Boff annehmen.
  • Wenn Tetra0 beispielhaft das für die Interpolation ausgewählte Tetraeder ist, ist aus den Gleichungen (8) selbstverständlich W1 = WR, W2 = WY, OFF1 = Roff, OFF2 = Goff und OFF3 = Boff. In den Gleichungen (17) ist das Gitterpunktintervall D unabhängig von den Offset-Koordinaten, aber konstant. Somit können die Gewichtungskoeffizienten berechnet werden, solange die drei Datenstücke OFF1, OFF2 und OFF3 spezifiziert sind. Somit kann die Offset-Korrekturtabelle OT für die Berechnung der Gewichtungskoeffizienten dementsprechend anstelle der vier Gewichtungskoeffizient-Datenstücke WK, WW, W1 und W2 diese drei Datenstücke OFF1, OFF2 und OFF3 speichern. Diese Struktur, die die drei Datenstücke speichert, erfordert die Berechnung der Gewichtungskoeffizienten aus den in der Offset-Korrekturtabelle OT gespeicherten Daten, verringert aber vorteilhaft die benötigte Größe der Offset-Korrekturtabelle OT im Vergleich zu der Struktur, die die vier Gewichtungskoeffizient-Datenstücke speichert.
  • Im Folgenden wird die Verarbeitung beschrieben, die ausgeführt wird, wenn die Farbbilddaten in der Nähe der Maximalkoordinate sind. Wie zuvor beschrieben wurde, können die Anzahl der Töne und das Gitterpunktintervall in dem Farbraum beliebig gesetzt werden. In einer gewissen Einstellung für die Anzahl der Töne und für das Gitterpunktintervall braucht die Maximalkoordinate jeder Dimension keinem Gitterpunkt zu entsprechen. Beispielsweise besitzen die Gitterpunkte die Koordinaten 0, 17, 34, ...., 255, falls das Gitterpunktintervall 17 ist, wenn jede Dimension 256 Töne besitzt, d. h., wenn die Ko ordinaten jeder Dimension im Bereich von 0 bis 255 liegen. In diesem Fall entspricht die Maximalkoordinate 255 einem Gitterpunkt. Dagegen besitzen die Gitterpunkte die Koordinaten 0, 16, 32, ..., 240, (256), falls das Gitterpunktintervall 16 ist. In diesem Fall entspricht die Maximalkoordinate 255 keinem Gitterpunkt. Wie unten beschrieben wurde, kann die Struktur dieser Ausführungsform auf den Fall angewendet werden, dass die Anzahl der Töne und das Gitterpunktintervall auf diese Weise gesetzt werden.
  • Wenn der Punkt der Maximalkoordinate mit einem Gitterpunkt zusammenfällt, wird keine Spezialverarbeitung benötigt. In Bezug auf die Farbbilddaten mit der Maximalkoordinate in irgendeiner Dimension wird für die Interpolation in der Bildverarbeitungsroutine aus 9 eine Gitteraufteilung, die größere Koordinaten als die Maximalkoordinate enthält, d. h. eine Gitteraufteilung ohne existierende Daten, verwendet. In diesem Fall kann die CPU in Schritt S120 in dem Ablaufplan aus 9 die Daten einlesen, die in einem Speicherbereich gespeichert sind, der unabhängig von dem Bereich ist, in dem die Farbkorrekturtabelle tatsächlich gespeichert ist. Allerdings macht die Interpolation der Farbkorrekturtabelle den Gewichtungskoeffizienten, mit dem die Eingangsdaten multipliziert werden, immer zu null. Das heißt, dass diese Daten das Ergebnis der Farbkorrektur nicht beeinflussen, wodurch keine Spezialverarbeitung benötigt wird. Um die Bildverarbeitung sicherzustellen, kann die Farbkorrekturtabelle für einen virtuellen Gitterpunkt vorgesehen sein, der eine größere Koordinate als die Maximalkoordinate besitzt.
  • In dem zweiten Fall fällt der Punkt der Maximalkoordinate mit keinem Gitterpunkt zusammen. Beispielhaft besitzt jede Dimension 256 Töne (0 bis 255), während das Gitter punktintervall 16 Töne ist. Diesem Fall entspricht die oben beschriebene erste Ausführungsform. In Bezug auf die Farbbilddaten, die die Koordinaten nicht kleiner als 240 besitzen, wird für die Interpolation der virtuelle Gitterpunkt mit dem Koordinatenwert 256 verwendet. Anders als im ersten Fall macht die Interpolation der Farbkorrekturtabelle den Gewichtungskoeffizienten für den virtuellen Gitterpunkt nicht gleich null. In diesem Fall werden entsprechend dem virtuellen Gitterpunkt mit dem Koordinatenwert 256 virtuelle Farbkorrekturdaten gespeichert, die die richtigen Farbkorrekturdaten bei der Maximalkoordinate ergeben. Diese Realisierung ergibt in dem Bereich mit den Koordinaten nicht kleiner als 240 die richtigen Farbkorrekturdaten.
  • C. Bildverarbeitungsvorrichtung in der zweiten Ausführungsform
  • Im Folgenden wird eine weitere Bildverarbeitungsvorrichtung als eine zweite Ausführungsform gemäß der vorliegenden Erfindung beschrieben. Die Bildverarbeitungsvorrichtung der zweiten Ausführungsform besitzt eine völlig gleiche Hardware-Struktur wie die zuvor beschriebene Bildverarbeitungsvorrichtung der ersten Ausführungsform. Der Unterschied gegenüber der ersten Ausführungsform ist, dass die zweite Ausführungsform den Farbraum durch ein veränderliches Gitterpunktintervall aufteilt und die entsprechend den Gitterpunktinten vorgesehenen Farbkorrekturdaten verwendet. 15 zeigt eine Aufteilung des Farbraums in der zweiten Ausführungsform. Obgleich die drei Dimensionen R, G und B in dem Beispiel aus 15 das gleiche veränderliche Gitterpunktintervall besitzen, ist das Prinzip der zweiten Ausführungsform auf den Fall anwendbar, in dem die jeweiligen Dimensionen verschiedene veränderliche Gitterpunktintervalle besitzen. Obgleich der Grundablauf der von der CPU des Computers 90 in der zweiten Ausführungsform ausgeführten Bildverarbeitungsroutine ähnlich dem der in dem Ablaufplan aus 9 gezeigten ersten Ausführungsform ist, macht die Anwendung des veränderlichen Gitterpunktintervalls einen Teil der Verarbeitung in der zweiten Ausführungsform verschieden von der in der ersten Ausführungsform.
  • Wenn das Programm in die Bildverarbeitungsroutine wie die erste Ausführungsform eintritt, liest die CPU zunächst (in dem Ablaufplan aus 9 in Schritt S100) die Farbbilddaten ein, wobei sie (in Schritt S105) die Basispunktberechnung durchführt. Wie unten mit dem Ablaufplan aus 16 beschrieben wird, ist der Prozess der Basispunktberechnung in der zweiten Ausführungsform verschieden von dem in der ersten Ausführungsform.
  • Die Basispunktberechnung führt für die Farbdaten R, G und B die gleiche Verarbeitung durch. Zur zweckmäßigen Erläuterung wird als ein Beispiel die Verarbeitung für die Farbdaten R beschrieben. Wenn der Prozess der Basispunktberechnung beginnt, initialisiert die CPU eine Variable 'n' auf null, wobei sie in Schritt S200 bestimmt, ob die Farbbilddaten Rd der Farbkomponente R der Bedingung R(0) ≤ Rd < R(1) genügen. R(n) stellt hier die Koordinate eines n-ten Gitterpunktes in der R-Richtung dar. Dementsprechend wird in Schritt S200 bestimmt, ob die Farbbilddaten in einer Gitteraufteilung vorliegen, die durch den Ursprung und einen Nachbargitterpunkt in der R-Richtung definiert ist, oder nicht.
  • Im Fall der negativen Antwort inkrementiert die CPU die Variable 'n' um eins und führt die ähnliche Bestimmung durch. Das heißt, das Programm inkrementiert die Variable 'n' aufeinander folgend um eins und führt wiederholt die Bestimmung auf die Bedingung, beispielsweise R(1) ≤ Rd < R(2), R(2) ≤ Rd < R(3), ..., durch, bis eine der Bedingungen erfüllt ist. Wenn die Bedingung erfüllt ist, heißt das, dass die Farbbilddaten Rd in einer durch die Gitterpunkte R(n) und R(n + 1) definierten Gitteraufteilung enthalten sind. Dementsprechend setzt die CPU in Schritt S205 den Wert der Variablen 'n', die die Bedingung erfüllt, an die Stelle des Basispunktes irk in der R-Richtung. Nachfolgend bestimmt die CPU in Schritt S210, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist oder nicht. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird die Verarbeitung der Schritte S200 und S205 für die verbleibenden Farben G und B wiederholt ausgeführt. Dieser Prozess bestimmt den Basispunkt (irk, igk, ibk) der Gitteraufteilung, die die Farbbilddaten enthält. Anstelle der Gitterpunktnummer kann der hier erhaltene Basispunkt die Koordinate R(n) des Gitterpunktes sein.
  • Die Basispunktberechnung kann dem in dem Ablaufplan aus 17 gezeigten Prozess folgen. Dieses Verfahren liefert eine Tabelle, die als eine Referenzgitterpunkttabelle die Gitterpunktnummerndaten der Basispunkte speichert, die den Koordinaten in der R-Richtung entsprechen. 18 zeigt eine Referenzgitterpunkttabelle als ein Beispiel. Für die Koordinaten in der R-, G- und B-Richtung werden drei eindimensionale Referenzgitterpunkttabellen vorbereitet. Das Beispiel aus 18 zeigt die Referenzgitterpunkttabelle, die den Koordinaten in der R-Richtung entspricht. Wenn die Gitterpunkte nach dem Ursprung in der R-Richtung die Koordinatenwerte 10, 20, ... haben, wird den Koordinatenwerten 0 bis 9 in der wie in 18 gezeigten Referenzgitterpunkttabelle der Wert '0' oder die Gitterpunktnummer des Ursprungs zugeordnet, d. h. der Ursprung ist der Basispunkt. Den Koordinatenwerten 10 bis 19 wird der Wert '1' oder die Gitterpunktnummer des Gitterpunktes mit dem Koordinatenwert 10 zugeordnet, d. h. der Gitterpunkt mit dem Koordinatenwert 10 ist der Basispunkt. Auf diese Weise werden die Referenzgitterpunktdaten entsprechend den Koordinaten des Gitterpunktes zugeordnet. Anhand des Ablaufplans aus 17 liest der Basispunktberechnungsprozess in Schritt S215 die der Koordinate Rd der Farbbilddaten entsprechenden Referenzgitterpunktdaten aus der Referenzgitterpunkttabelle ein. Daraufhin bestimmt die CPU in Schritt S220, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist oder nicht. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird die Verarbeitung des Schritts S215 für die verbleibenden Farben G und B wiederholt ausgeführt.
  • Diese Struktur benötigt nicht die bedingten Sprünge, die in der Routine aus 16 enthalten sind, und realisiert dadurch eine schnelle Basispunktberechnung. Obgleich diese Struktur den Speicher zum Speichern der Referenzgitterpunkttabellen benötigt, belegen diese eindimensionalen Tabellen eine verhältnismäßig kleine Speicherkapazität. Wenn die Koordinaten der Gitterpunkte in der R-, G- und B-Richtung zusammenfallen, kann eine Referenzgitterpunkttabelle gemeinsam verwendet werden. Dies verringert die benötigte Speicherkapazität weiter. Anstelle der Basispunktnummern können die Referenzgitterpunkttabellen die Koordinaten der Basispunkte speichern.
  • Nach der Berechnung des Basispunktes führt die CPU die Offset-Koordinaten-Berechnung (Schritt S110 in dem Ablaufplan aus 9) durch. Der Prozess der Offset-Koordinaten-Berechnung in der zweiten Ausführungsform ist verschieden von dem in der ersten Ausführungsform. Im Folgenden wird mit dem Ablaufplan aus 19 die Offset-Koordinaten-Berechnung beschrieben.
  • Die Offset-Koordinaten-Berechnung führt für die Farbdaten R, G und B die gleiche Verarbeitung durch. Zur zweckmäßi gen Erläuterung wird die Verarbeitung für die Farbdaten R als ein Beispiel beschrieben. Wenn der Prozess der Offset-Koordinaten-Berechnung beginnt, berechnet die CPU zunächst in Schritt S230 eine Variable DUM1, indem sie eine Koordinate R(irk) des Gitterpunktes, der einem Basispunkt Rb entspricht, von den Farbbilddaten Rd subtrahiert. Die Variable DUM1 stellt in dem in 15 gezeigten Koordinatensystem einen Offset gegenüber dem Gitterpunkt dar. Daraufhin berechnet die CPU in Schritt S235 gemäß einer Gleichung DUM2 = DUM1/Rdist × Dr eine Variable DUM2. Rdist bezeichnet hier ein Gitterpunktintervall der Gitteraufteilung in der R-Richtung, in der die Farbbilddaten Rd enthalten sind, während Dr ein vorbestimmtes virtuelles Gitterpunktintervall bezeichnet. Dementsprechend stellt die Variable DUM2 die Offset-Koordinate in dem Koordinatensystem dar, in dem das Gitterpunktintervall der Gitteraufteilung in das virtuelle Gitterpunktintervall Dr umgewandelt wird. Nachfolgend rundet die CPU die Variable DUM2 in Schritt S240 auf eine ganze Zahl, wobei sie die ganze Zahl als die Offset-Koordinate spezifiziert. Für den kleineren Rundungsfehler ist es wünschenswert, die Variable DUM2 auf die nächste ganze Zahl zu runden. Ein weiteres verfügbares Verfahren lässt die Ziffern nach dem Dezimalkomma weg oder erhöht die Ziffern nach dem Dezimalkomma auf eine Einheit. Dieser Prozess der Bestimmung der Offset-Koordinate in dem Koordinatensystem, in dem das Gitterpunktintervall in das virtuelle Gitterpunktintervall Dr umgewandelt wird, wird der Normalisierungsprozess genannt. Nachfolgend bestimmt die CPU in Schritt S245, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist oder nicht. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird der Normalisierungsprozess, d. h. die Verarbeitung der Schritte S230 bis S240, für die verbleibenden Farben G und B wiederholt ausgeführt, um die Offset-Koordinaten zu berechnen.
  • In dieser Ausführungsform fällt das virtuelle Gitterpunktintervall Dr in einen Bereich geringer Dichte mit dem Gitterpunktintervall zusammen, wobei die virtuellen Gitterpunktintervalle in der R-, G- und B-Richtung einander gleich sind. Der Bereich geringer Dichte besitzt in der R-, G- und B-Richtung in dem Koordinatensystem aus 15 große Koordinatenwerte. Wie zuvor beschrieben wurde, kann in dem Bereich geringer Dichte lediglich ein kleiner Fehler bei der Farbkorrektur zu einer wesentlichen Verschlechterung der Bildqualität führen. Allerdings verhindert die Realisierung, bei der das virtuelle Gitterpunktintervall Dr in dem Bereich geringer Dichte mit dem Gitterpunktintervall zusammenfallend gemacht wird, in diesem Bereich effektiv den Rundungsfehler wegen des Normalisierungsprozesses und stellt eine vorteilhafte Bildqualität sicher.
  • Selbst wenn das virtuelle Gitterpunktintervall Dr in dem Bereich geringer Dichte nicht mit dem Gitterpunktintervall zusammenfällt, verhindert irgendein ganzzahliges Verhältnis des virtuellen Gitterpunktintervalls zu dem Gitterpunktintervall wirksam den Rundungsfehler wegen des Normalisierungsprozesses und stellt die vorteilhafte Bildqualität sicher. Das heißt, das virtuelle Gitterpunktintervall Dr wird breiter als das Gitterpunktintervall gesetzt wird, um die Bedingung zu erfüllen, dass das virtuelle Gitterpunktintervall Dr ein ganzzahliges Vielfaches des Gitterpunktintervalls ist. Die Realisierung, dass das kleinste gemeinsame Vielfache mehrerer verschiedener Gitterpunktintervalle auf das virtuelle Gitterpunktintervall Dr gesetzt wird, ermöglicht, dass in irgendeiner Gitteraufteilung im Wesentlichen kein Rundungsfehler auftritt. Das virtuelle Gitterpunktintervall Dr kann beliebig eingestellt werden und fällt nicht notwendig mit irgendeinem Gitterpunktintervall zusammen.
  • In der R-, G- und B-Richtung können verschiedene virtuelle Gitterpunktintervalle Dr, Dg und Db spezifiziert werden.
  • In dieser Ausführungsform besitzt jede der Richtungen R, G und B 256 Töne von 0 bis 255, während das Gitterpunktintervall 16 Töne ist. Die Struktur der ersten Ausführungsform teilt den Farbraum von dem Ursprung durch das Gitterpunktintervall 16 auf und spezifiziert die Koordinaten der Gitterpunkte als 0, 16, 32, ..., 240, (256). Dementsprechend entspricht die maximale Koordinate 255 keinem Gitterpunkt. Dagegen teilt die Struktur der zweiten Ausführungsform den Farbraum von der Maximalkoordinate 255 durch das Gitterpunktintervall 16 auf, wobei sie das Gitterpunktintervall in der Nähe des Ursprungs gleich 15 setzt. Dementsprechend sind die Koordinaten der gegebenen Gitterpunkte 0, 15, 31, ..., 239, 255. Falls das virtuelle Gitterpunktintervall Dr gleich dem Gitterpunktintervall 16 gesetzt wird, tritt in irgendeinem Bereich mit Ausnahme des Bereichs der höchsten Dichte (d. h. der Gitteraufteilungen in der Nähe des Ursprungs) im Wesentlichen kein Rundungsfehler auf. Die Wirkung des Rundungsfehlers auf die Bildqualität in einem Bereich hoher Dichte ist allgemein vernachlässigbar, wodurch eine vorteilhafte Bildqualität erreicht wird. Das Setzen des virtuellen Gitterpunktintervalls Dr gleich 240, d. h. gleich dem kleinsten gemeinsamen Vielfachen von 15 und 16, verhindert in irgendwelchen Bereichen den Rundungsfehler.
  • Obgleich das virtuelle Gitterpunktintervall Dr beliebig gesetzt werden kann, wird das virtuelle Gitterpunktintervall Dr vorzugsweise nicht schmaler als irgendein Gitterpunktintervall gesetzt. Falls es einen Bereich mit einem breiteren Gitterpunktintervall als das virtuelle Gitterpunktintervall Dr gibt, kann das folgende Problem auftre ten. Beispielsweise wird angenommen, dass das virtuelle Gitterpunktintervall Dr gleich 2 ist und dass ein Abschnitt des Gitterpunktintervalls 6 dem Normalisierungsprozess ausgesetzt wird. Die Punkte der Offset-Koordinaten 0 bis 5 in dem ursprünglichen Koordinatensystem werden jeweils in die Koordinatenwerte 0, 0, 1, 1, 1, 2 in dem Koordinatensystem nach dem Normalisierungsprozess umgewandelt, was den Koordinatenwert/6 × 2 auf die nächste ganze Zahl rundet. Die sechs Koordinatenwerte 0 bis 5 werden durch die Rundungsoperation des Normalisierungsprozesses auf einen der drei Werte 0, 1 und 2 abgebildet. Im Ergebnis besitzen die Farbkorrekturdaten, die den drei Punkten mit den Koordinatenwerten 2 bis 4 in dem ursprünglichen Koordinatensystem entsprechen, einen völlig gleichen Wert, was bei der Bildverarbeitung einen Fehler verursacht. Dieses Problem entsteht in dem Bereich, in dem das virtuelle Gitterpunktintervall Dr schmaler als das Gitterpunktintervall in dem ursprünglichen Koordinatensystem ist. Falls das virtuelle Gitterpunktintervall Dr gleich 6 gesetzt wird und mit dem Gitterpunktintervall zusammenfällt, entsteht selbstverständlich kein solcher Fehler. Dementsprechend wird das virtuelle Gitterpunktintervall Dr vorzugsweise nicht schmaler als irgendein Gitterpunktintervall gesetzt.
  • Die Offset-Koordinaten-Berechnung kann dem in dem Ablaufplan aus 20 gezeigten Prozess folgen. Dieses Verfahren liefert eine Tabelle, die die den Koordinaten in der R-Richtung entsprechenden Offset-Koordinaten als eine Offset-Koordinaten-Tabelle speichert. 21 zeigt eine Offset-Koordinaten-Tabelle als ein Beispiel. Für die Koordinaten in der R-, G- und B-Richtung werden drei eindimensionale Offset-Koordinaten-Tabellen vorbereitet. Das Beispiel aus 21 zeigt die Offset-Koordinaten-Tabelle, die den Koordinaten in der R-Richtung entspricht. Da der Ursprung der Basispunkt im Bereich der Koordinaten von 0 bis 9 ist, werden beispielsweise die Koordinaten der Farbbilddaten Rd als die Offset-Koordinaten in der wie in 21 gezeigten Offset-Koordinaten-Tabelle gespeichert, wenn die Gitterpunkte nach dem Ursprung die Koordinatenwerte 10, 20, ..., in der R-Richtung haben und das virtuelle Gitterpunktintervall Dr gleich 10 ist. Der durch den Koordinatenwert 10 definierte Gitterpunkt 1 ist der Basispunkt in dem Bereich der Koordinaten von 10 bis 19, so dass die durch Subtraktion des Koordinatenwerts des Basispunktes 10 von den jeweiligen Farbbilddaten Rd erhaltenen Werte als die Offset-Koordinaten gespeichert werden. Auf diese Weise werden die Offset-Koordinaten-Daten entsprechend den Koordinaten der Gitterpunkte gespeichert. Der Einfachheit halber zeigt dieses Beispiel den Fall, in dem das virtuelle Gitterpunktintervall mit dem Gitterpunktintervall zusammenfällt. Wenn das virtuelle Gitterpunktintervall nicht mit dem Gitterpunktintervall zusammenfällt, werden die Werte nach dem Normalisierungsprozess als die Offset-Koordinaten gespeichert. Anhand des Ablaufplans aus 20 liest der Prozess der Offset-Koordinaten-Berechnung in Schritt S245 die Offset-Koordinaten-Daten, die der Koordinate Rd der Farbbilddaten entsprechen, aus der Offset-Koordinaten-Tabelle ein. Daraufhin bestimmt die CPU in Schritt S250, ob die Verarbeitung für alle Farben R, G und B abgeschlossen ist oder nicht. Falls die Verarbeitung noch nicht für alle Farben abgeschlossen ist, wird die Verarbeitung in Schritt S245 für die verbleibenden Farben G und B wiederholt ausgeführt.
  • Diese Struktur benötigt keine in der Routine aus 19 enthaltenen Rechenoperationen und realisiert dadurch eine schnelle Offset-Koordinaten-Berechnung. Obgleich diese Struktur den Speicher zum Speichern der Offset-Koordinaten-Tabellen benötigt, belegen diese eindimensionalen Tabellen eine verhältnismäßig kleine Speicherkapazität.
  • Wenn die Koordinaten der Gitterpunkte in der R-, G- und B-Richtung zusammenfallen, kann eine Offset-Koordinaten-Tabelle gemeinsam verwendet werden. Dies verringert die benötigte Speicherkapazität weiter.
  • Einer bzw. jeder der in den Ablaufplänen der 16 und 17 gezeigten Basispunktberechnungsprozesse kann frei mit einem der in den Ablaufplänen der 19 und 20 gezeigten Offset-Koordinaten-Berechnungsprozesse kombiniert werden. Beispielsweise führt das Programm die Basispunktberechnung aus 16 und die Offset-Koordinaten-Berechnung aus 19 aus, wenn die Speicherkapazität kaum eine Begrenzung besitzt. Wenn die Speicherkapazität dagegen eine kleine Begrenzung besitzt, nutzt das Programm entweder die Referenzgitterpunkttabellen oder die Offset-Koordinaten-Tabellen (d. h. die Kombination der Routinen der 17 und 19 oder die Kombination der Routinen der 16 und 20). Wenn die Speicherkapazität einen ausreichenden Grenzwert besitzt, nutzt das Programm sowohl die Referenzgitterpunkttabellen als auch die Offset-Koordinaten-Tabellen (d. h. die Kombination der Routinen der 17 und 20).
  • Wie oben diskutiert wurde, interpoliert die Bildverarbeitungsvorrichtung der zweiten Ausführungsform die Farbkorrekturtabelle CT mit der Offset-Korrekturtabelle OT, wobei sie die Bildverarbeitung durchführt. Somit ermöglicht diese Struktur wie die erste Ausführungsform eine schnelle Farbkorrektur mit einem äußerst kleinen Fehler in Bezug auf jedes Pixel. Die Struktur der zweiten Ausführungsform teilt den Farbraum durch ein veränderliches Gitterpunktintervall auf. Beispielsweise kann ein Bereich geringer Dichte feinere Aufteilungen als andere Bereichen besitzen. Dies verbessert wirksam die resultierende Bildqualität. Es braucht nicht für alle Dimensionen ein das Gitterpunktintervall kann für jede Farbkomponente oder Dimension gemäß der visuellen Empfindlichkeit beliebig gesetzt werden. Diese Realisierung verringert zweckmäßig die Kapazität der Farbkorrekturtabelle, während sie die Bildqualität erhält.
  • Um die Bildverarbeitung in der Bildverarbeitungsvorrichtung zu realisieren, führt der Computer 90 gemäß den Programmen die Vielfalt der in dem Ablaufplan aus 9 gezeigten Prozesse aus. Somit kann das Prinzip der vorliegenden Erfindung auf ein Aufzeichnungsmedium angewendet werden, auf dem die Programme zur Realisierung der jeweiligen oben diskutierten Funktionen gespeichert sind. Die Programme zur Realisierung der jeweiligen oben diskutierten Funktionen sind in einem computerlesbaren Aufzeichnungsmedium wie etwa auf Disketten und CD-ROMs gespeichert. Der Computer 90 liest die benötigten Programme von dem Aufzeichnungsmedium ein und überträgt die Programme in eine interne Speichervorrichtung oder in eine externe Speichervorrichtung. Alternativ können die Programme über einen Kommunikationspfad an den Computer 90 geliefert werden. Um die Funktionen der Programme zu realisieren, führt der Mikroprozessor in dem Computer 90 die in der internen Speichervorrichtung gespeicherten Programme aus. In Übereinstimmung mit einer weiteren Anwendung kann der Computer 90 die in dem Aufzeichnungsmedium gespeicherten Programme direkt einlesen und ausführen.
  • Die Gitterpunktinformationstabelle, die Farbkorrekturtabelle und die Offset-Korrekturtabelle können unabhängig von den Programmen zur Ausführung der Vielfalt der in dem Ablaufplan aus 9 gezeigten Prozesse auf einem Aufzeichnungsmedium aufgezeichnet werden. In diesem Fall führt der Computer 90 die jeweiligen in dem Ablaufplan aus 9 gezeigten Prozesse durch, während er auf die die entsprechenden in dem Aufzeichnungsmedium aufgezeichneten Tabellen Bezug nimmt. Die Referenzgitterpunkttabellen und die Offset-Koordinatentabellen können ebenfalls auf diesem Aufzeichnungsmedium aufgezeichnet sein.
  • In der ersten und in der zweiten Ausführungsform führt die CPU die Bildverarbeitungsroutine aus 9 in der Software-Konfiguration aus. Allerdings kann diese von der Hardware-Struktur realisiert werden. Die Bildverarbeitungsvorrichtung mit dieser Hardware-Struktur kann in den Drucker 22 integriert sein.
  • 22 zeigt als ein Beispiel die Struktur einer Farbkorrekturtabelle in der Hardware-Konfiguration. Das Beispiel aus 22 speichert eine Farbkorrekturtabelle für Cyan in dem ROM und weist den Gitterpunktnummern (ir, ig, ib) der Gitterpunkte in der R-, G- und B-Richtung vorbestimmte Adressenbusse zu, wodurch ermöglicht wird, dass von den Datenbussen Cyan-Korrekturdaten ausgegeben werden, die spezifischen Koordinatenwerten entsprechen. Die Farbkorrekturtabellen für die anderen Farben können auf die gleiche Weise bereitgestellt werden. Eine Signalleitung CS stellt ein Chip-Auswahlsignal dar, das die Gültigkeit oder Ungültigkeit eines in dem ROM eingegebenen Signals steuert. 23 zeigt als ein Beispiel die Struktur einer Offset-Korrekturtabelle in der Hardware-Konfiguration. Das Beispiel aus 23 speichert die Offset-Korrekturdaten in dem ROM und weist den Offset-Koordinaten-Daten vorbestimmte Adressenbusse zu und ermöglicht dadurch, dass von den Datenbussen die Offset-Korrekturdaten ausgegeben werden. Da entsprechend jedem Offset-Koordinaten-Datenstück mehrere Typen von Offset-Korrekturdaten, d. h. die Gitterpunkt-Spezifikationsdaten und die Gewichtungskoeffizient-Daten, existieren, werden die den Adressenbussen A8 bis A10 in dem Beispiel aus 23 zugewiesenen Steuercodes verwendet, um den Typ der Offset-Korrekturdaten zu identifizieren.
  • D. Dritte Ausführungsform
  • Außer auf der Bildverarbeitungsvorrichtung zur Farbkorrektur ist das Prinzip der vorliegenden Erfindung auf eine Vielzahl von Vorrichtungen anwendbar. Im Folgenden wird eine Anwendung des Steuerverfahrens gemäß der vorliegenden Erfindung auf eine Steuerprozedur in einer Flugsteuervorrichtung für ein Flugzeug als eine dritte Ausführungsform beschrieben. 24 ist ein Blockschaltplan, der die Software-Struktur einer Flugsteuervorrichtung für ein Flugzeug zeigt. Die Flugsteuervorrichtung der dritten Ausführungsform enthält eine Steuerbefehlseingabeeinheit 302, eine Flugzustandserfassungseinheit 304, eine Gewichtsschätzungseinheit 306, eine Luftwiderstandsschätzungseinheit 308, eine Zielschubeinstelleinheit 310 und eine Triebwerkssteuereinheit 312. Ein Flugcomputer und Sensoren, die an dem Flugzeug 300 angebracht sind, bilden die jeweiligen Funktionsblöcke, so dass sie insgesamt als die Flugsteuervorrichtung arbeiten. Die Flugsteuervorrichtung reguliert in Reaktion auf Steuerbefehlswerte den Schub der Turbofan-Triebwerke, die an dem Flugzeug 300 angebracht sind. Natürlich besitzt die Flugsteuervorrichtung die Funktion, die Flughöhe des Flugzeugs zu steuern, wobei aber in 24 zweckmäßigkeitshalber lediglich die Funktionsblöcke zum Regulieren des Schubs der Triebwerke gezeigt sind.
  • Die Flugsteuervorrichtung empfängt über die Steuerbefehlseingabeeinheit 302 Steuerbefehlswerte, die sich auf die Flugzustände des Flugzeugs 300 beziehen. Der Pilot kann durch Bedienung des in ein Cockpit eingebauten Eingabefelds eine Flughöhe und eine Fluggeschwindigkeit eingeben oder einfach ein Steuerhorn und einen Gashebel betätigen, um die Steuerbefehlswerte zu geben. Die Ge wichtsschätzungseinheit 306 berechnet das Gewicht des Flugzeugs 300. Das Gewicht wird beispielsweise dadurch geschätzt, dass das Gewicht des verbrauchten Treibstoffs von dem Anfangsfluggewicht subtrahiert wird.
  • Die Flughöhe, die Fluggeschwindigkeit und die geschätzte Gewichtseingabe werden als die Steuerbefehlswerte an die Luftwiderstandsschätzungseinheit 308 übertragen. Die Luftwiderstandsschätzungseinheit 308 berechnet anhand dieser Eingangsdaten den Luftwiderstand des Flugzeugs 300. Der Luftwiderstand wird als das Produkt eines Luftwiderstandsbeiwerts CD, der Fläche der Haupttragfläche (m2) und eines dynamischen Drucks (kp/m2) erhalten. Der dynamische Druck wird eindeutig gemäß der Flughöhe und der von der Flugzustandserfassungseinheit 304 des Flugzeugs 300 erfassten Mach-Zahl bestimmt. Der Luftwiderstandsbeiwert CD ist eine dimensionslose Größe, die dadurch erhalten wird, dass eine Tabelle gemäß der Fluggeschwindigkeit und einem Auftriebsbeiwert CL des Flugzeugs interpoliert wird. Der Auftriebsbeiwert CL ist eine dimensionslose Größe, die dadurch erhalten wird, dass das Gewicht des Flugzeugs durch die Fläche der Haupttragfläche und durch den dynamischen Druck dividiert wird. Der Auftriebsbeiwert CL ändert sich im Flug gemäß dem Anstellwinkel α, d. h. gemäß dem Winkel einer Rumpfachse Xb und eines Geschwindigkeitsvektors Ve.
  • Anhand der Zeichnung der 25 und 26 wird das Verfahren der Berechnung des Luftwiderstandsbeiwerts CD beschrieben. 25 ist eine graphische Darstellung, die die Beziehung zwischen der Mach-Zahl, dem Auftriebsbeiwert CL und dem Luftwiderstandsbeiwert CD in Bezug auf das Flugzeug 300 zeigt. Die in 25 gezeigte Kurve stellt den Luftwiderstandsbeiwert CD in Abhängigkeit von dem Auftriebsbeiwert CL bei einer Mach-Zahl M1 graphisch dar. Die Kurve ändert sich gemäß der Mach-Zahl. Das heißt, der Luftwiderstandsbeiwert CD ist durch Spezifikation der zwei Parameter, des Auftriebsbeiwerts CL und der Mach-Zahl, eindeutig bestimmt. Die Flugsteuerungsvorrichtung der Ausführungsform speichert diese graphischen Darstellungen in Form einer Tabelle. 26 zeigt das Bild der in dieser Ausführungsform verwendeten Tabelle. Die Tabelle dieser Ausführungsform definiert die Gitterpunkte, die in dem zweidimensionalen Koordinatenraum des Auftriebsbeiwerts CL und der Mach-Zahl diskret existieren, und speichert an jedem Gitterpunkt den Luftwiderstandsbeiwert CD. Der Luftwiderstandsbeiwert CD wird dadurch bestimmt, dass diese Tabelle gemäß dem Auftriebsbeiwert CL und der Mach-Zahl interpoliert wird.
  • Obgleich sich sowohl der Auftriebsbeiwert CL als auch die Mach-Zahl stetig ändern, wird in dieser Ausführungsform angenommen, dass sich der Auftriebsbeiwert CL schrittweise um die Einheit 0,01 ändert und dass sich die Mach-Zahl um die Einheit 0,01 M ändert. Dies ist so, da bei Berücksichtigung der Auflösungsleistung der Erfassung der Sensoren, der Schätzungsgenauigkeit des Gewichts und der Wirkung auf den Luftwiderstand die kleineren Werte als diese Einheiten nicht wesentlich sind. Die in 26 gezeigte Gitterpunkte werden auf gleiche Intervalle gesetzt, die größer als diese minimalen Einheiten sind. Konkret werden die Gitterpunkte für den Auftriebsbeiwert CL in dem Intervall von 0,1 und für die Mach-Zahl in dem Intervall von 0,1 M angeordnet.
  • Diese Ausführungsform liefert eine Offset-Korrekturtabelle, die zur Interpolation der zweidimensionalen Tabelle des Luftwiderstandsbeiwerts CD verwendet wird. Der Inhalt der in der dritten Ausführungsform verwendeten Offset-Korrekturtabelle ist ähnlich dem der in der ersten Ausführungsform diskutierten Offset-Korrekturtabelle. Die Offset-Korrekturtabelle der ersten Ausführungsform spei chert entsprechend den Offset-Koordinaten von R, G und B die Gewichtungskoeffizienten, die in dem Interpolationsprozess multipliziert werden, und die Gitterpunkt-Spezifikationsdaten, die die für die Interpolation verwendeten Gitterpunkte spezifizieren. Dagegen speichert die Offset-Korrekturtabelle der dritten Ausführungsform die Gewichtungskoeffizienten und die Gitterpunkt-Spezifikationsdaten, die dem Auftriebsbeiwert CL und der Mach-Zahl entsprechen. Wie zuvor diskutiert wurde, entspricht ein Zehntel des Gitterpunktintervalls den minimalen Einheiten des Auftriebsbeiwerts CL und der Mach-Zahl. Dementsprechend speichert die Offset-Korrekturtabelle die Gewichtungskoeffizienten und die Gitterpunkt-Spezifikationsdaten in Bezug auf 10 × 10 Kombinationen des Auftriebsbeiwerts CL und der Mach-Zahl.
  • Die Struktur der dritten Ausführungsform nutzt die Offset-Korrekturtabelle und führt die Interpolation der Luftwiderstandsdaten durch. Zunächst führt der Prozess die Verarbeitung aus, die ähnlich der der 10 und 11 ist, wobei er den Auftriebsbeiwert CL und die Mach-Zahl in die Koordinaten eines in 26 gezeigten Gitterpunktes, d. h. in den Basispunkt und in die Offset-Koordinaten, umwandelt. Die erste Ausführungsform führt die Umwandlung der Koordinaten in den dreidimensionalen R-, G- und B-Raum durch. Der einzige Unterschied gegenüber der ersten Ausführungsform ist, dass die dritte Ausführungsform die Umwandlung der Koordinaten in den zweidimensionalen Raum des Auftriebsbeiwerts CL und der Mach-Zahl durchführt. Daraufhin nimmt der Prozess auf die Offset-Korrekturtabelle Bezug, wobei er die den Offset-Koordinaten entsprechenden Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizienten einliest. Nachfolgend multipliziert der Prozess die Luftwiderstandsbeiwerte CD, die an den jeweiligen durch die Gitterpunkt-Spezifikationsdaten spezifizierten Gitterpunkten gespeichert sind, mit den Gewichtungskoeffizienten, um den der eingegebenen Flughöhe und der Mach-Zahl entsprechenden Luftwiderstandsbeiwert CD zu bestimmen. Die Luftwiderstandsschätzungseinheit 308 multipliziert den somit bestimmten Luftwiderstandsbeiwert CD mit der Fläche der Haupttragfläche (m2) und mit dem dynamischen Druck (kp/m2) und schätzt dadurch den Luftwiderstand (kp) des Flugzeugs 300 ab, das unter den Bedingungen der eingegebenen Flughöhe und der Mach-Zahl fliegt.
  • Obgleich diese Ausführungsform zur Speicherung des Luftwiderstandbeiwerts CD die zweidimensionale Tabelle nutzt, kann die zweidimensionale Tabelle wie in 26 gezeigt durch eine dreidimensionale Tabelle ersetzt werden, die den Landeklappenwinkel als ein weiteres Element enthält.
  • Die Flugzustandserfassungseinheit 304 erfasst die Parameter in Bezug auf die Flugzustände des Flugzeugs 300. Die verfügbaren Parameter enthalten die momentane Flughöhe, die Flug-Mach-Zahl und den momentanen Gasnennwert. Der Gasnennwert (%) ist ein Parameter, der den Triebwerksschub regelt und mit dem Winkel eines Gashebels in Beziehung steht. Diese Daten und der von der Luftwiderstandsschätzungseinheit 308 geschätzte Luftwiderstand werden an die Zielschubeinstelleinheit 310 übertragen. Die Zielschubeinstelleinheit 310 bestimmt einen Zielschub, der dazu verwendet wird, die Flugzustände des Flugzeugs 300 auf folgende Weise auf die von der Steuerbefehlseingabeeinheit 302 eingegebene Flughöhe und Mach-Zahl zu verstellen.
  • Die Zielschubeinstelleinheit 310 bestimmt anhand der von der Flugzustandserfassungseinheit 304 übertragenen Daten den momentanen Triebwerksschub. Der Triebwerksschub wird durch Interpolation der in 27 gezeigten Tabelle bestimmt. Die graphische Darstellung aus 27 zeigt die Schub-Mach-Zahl-Kurven bei einer Vielzahl von Gasständen bei einer Höhe H1(Fuß). Der Gasnennwert nimmt in der Folge R1, R2, R3 und R4 ab, wobei mit abnehmendem Gasnennwert der Schub abnimmt. Der Schub der Turbofan-Triebwerke ist durch Spezifizieren der Flughöhe, der Mach-Zahl und des Gasnennwerts des Flugzeugs eindeutig bestimmt.
  • 28 zeigt das Bild der in dieser Ausführungsform verwendeten Tabelle. Die Tabelle dieser Ausführungsform definiert die Gitterpunkte, die in dem dreidimensionalen Koordinatenraum der Höhe, der Mach-Zahl und des Gasnennwerts diskret existieren, und speichert den Schub an jedem Gitterpunkt. Der Schub wird durch Interpolation der dreidimensionalen Tabelle gemäß der Kombination der Höhe, der Mach-Zahl und des Gasnennwerts bestimmt.
  • Obgleich sich diese Werte stetig ändern, wird in dieser Ausführungsform angenommen, dass sich die Höhe schrittweise um die Einheit von 1000 Fuß ändert, dass sich die Mach-Zahl um die Einheit von 0,01 M ändert und dass sich der Gasnennwert um die Einheit von 1% ändert. Dies erfolgt aus dem gleichen Grund, der für die Interpolation des Luftwiderstandbeiwerts CD diskutiert worden ist. Die in 28 gezeigten Gitterpunkte sind in gleichen Intervallen gesetzt, die größer als diese minimalen Einheiten sind. Diese Ausführungsform liefert eine Offset-Korrekturtabelle, die zur Interpolation der dreidimensionalen Tabelle des Schubs verwendet wird. Der Inhalt der in dieser Ausführungsform verwendeten Offset-Korrekturtabelle ist ähnlich dem der in der ersten Ausführungsform diskutierten Offset-Korrekturtabelle. Die hier verwendete Offset-Korrekturtabelle speichert die Gewichtungskoeffizienten, die in dem Interpolationsprozess multipliziert werden, und die Gitterpunkt-Spezifikationsdaten, die entsprechend der Höhe, der Mach-Zahl und des Gasnennwerts die für die Interpolation verwendeten Gitterpunkte spezifizieren.
  • Diese Ausführungsform nutzt diese Offset-Korrekturtabelle, um gemäß der in der ersten Ausführungsform diskutierten Technik den Schub zu bestimmen. Zunächst wandelt der Prozess die Flughöhe, die Mach-Zahl und den Gasnennwert in die Koordinaten eines in 28 gezeigten Gitterpunktes, d. h. in den Basispunkt und in die Offset-Koordinaten, um. Daraufhin nimmt der Prozess auf die Offset-Korrekturtabelle Bezug, wobei er die Gitterpunkt-Spezifikationsdaten und die den Offset-Koordinaten entsprechenden Gewichtungskoeffizienten einliest. Nachfolgend multipliziert der Prozess die Schübe, die an den jeweiligen durch die Gitterpunkt-Spezifikationsdaten spezifizierten Gitterpunkten gespeichert sind, mit den Gewichtungskoeffizienten, um den Schub zu bestimmen, der der Flughöhe, der Mach-Zahl und dem Gasnennwert entspricht. Dieser Wert stellt den beobachteten Schub unter den momentanen Flugzuständen dar.
  • Die Zielschubeinstelleinheit 310 stellt anhand einer Abweichung des beobachteten Schubs gemäß den momentanen Flugzuständen aus dem berechneten Schub gemäß den Eingangsflugzuständen als den Befehlswerten einen Zielschub ein. Wenn das Flugzeug 300 in einem stationären Zustand fliegt, ist der Schub mit dem Luftwiderstand im Gleichgewicht, so dass der berechnete Schub gleich dem von der Luftwiderstandsschätzungseinheit 308 berechneten Luftwiderstand ist. Der Zielschub wird von der Proportional-Integral-Steuerung spezifiziert. Diese Technik multipliziert die Abweichung des beobachteten Schubs von dem berechneten Schub mit einer vorbestimmten Verstärkung, um den Zielschub einzustellen. Die Technik der Proportional-Integral-Steuerung ist im Gebiet bekannt und wird hier nicht genau beschrieben. Daraufhin wird der auf diese nicht genau beschrieben. Daraufhin wird der auf diese Weise eingestellte Zielschub an die Triebwerkssteuereinheit 312 übertragen.
  • Die Triebwerkssteuereinheit 312 stellt anhand des eingegebenen Zielschubs den Gasnennwert bzw. Drosselnennwert des Triebwerks ein. Der Gasnennwert wird durch Interpolation der in den 27 und 28 gezeigten Tabelle eingestellt. Die für die Interpolation verwendete Höhe und Mach-Zahl sind die von der Flugzustandserfassungseinheit 304 erfassten momentanen Flugzustände. Wie in der graphischen Darstellung aus 27 gezeigt ist, nimmt der Schub in dieser Ausführungsform bei spezifizierter Höhe und Mach-Zahl mit zunehmendem Gasnennwert monoton zu. Der Prozess interpoliert die Tabelle aus 28 und bestimmt den Schub, während er den Gasnennwert allmählich ändert. Dies ermöglicht, den Zielwert des Gasnennwerts verhältnismäßig leicht einzustellen. Für die Interpolation wird die für die Zielschubeinstelleinheit 310 diskutierte Interpolationstechnik angewendet. Eine weitere Prozedur interpoliert die Tabelle, die den Gasnennwert an jedem durch die Höhe, die Mach-Zahl und den Schub spezifizierten Gitterpunkt speichert.
  • Die Flugsteuerungsvorrichtung der dritten Ausführungsform wendet das Steuerverfahren der vorliegenden Erfindung an und realisiert eine äußerst schnelle Interpolation des Luftwiderstandsbeiwerts CD und der Triebwerksdaten. Dies ermöglicht eine richtige Steuerung des Flugzeugs 300 mit weniger Zeitverzögerung.
  • Die obige Beschreibung betrifft die Flugsteuerungsvorrichtung für das Flugzeug 300. Das Steuerverfahren der vorliegenden Erfindung ist nicht auf diese Flugsteuerung beschränkt, sondern ist auf irgendeine Steueroperation oder das zu steuernde Objekt können irgendwelche Maschinen und Vorrichtungen sein, die eine Vielzahl anderer Motoren, Transportgeräte und Industriemaschinen als das Flugzeug enthalten. Die Anlage können elektrisch angesteuerte Vorrichtungen wie etwa Audiogeräte sowie mechanisch angesteuerte Vorrichtungen sein. Außerdem ist das Steuerverfahren der vorliegenden Erfindung auf Simulatoren, die die Operationen der verschiedenen Geräte simulieren, sowie auf die Steuerung von Vorrichtungen dieser Geräte anwendbar.
  • E. Vierte Ausführungsform
  • Im Folgenden wird eine Anwendung des Steuerverfahrens gemäß der vorliegenden Erfindung auf eine Fuzzy-Steuervorrichtung als eine vierte Ausführungsform beschrieben. 29 ist ein Blockschaltplan, der die Software-Struktur einer Fuzzy-Steuervorrichtung zeigt. Die CPU und die Speicher, die in die Steuervorrichtung eingebaut sind, bilden die jeweiligen Funktionsblöcke, die insgesamt als die Fuzzy-Steuervorrichtung arbeiten. Die Fuzzy-Steuervorrichtung dieser Ausführungsform kann wie die Steuervorrichtung der dritten Ausführungsform irgendeine zu steuernde Anlage oder irgendein zu steuerndes Objekt besitzen. Zur zweckmäßigen Erläuterung wird im Folgenden ein Beispiel beschrieben, in dem die Anlage oder das Objekt der Steuerung ein Fahrzeug ist.
  • Die Fuzzy-Steuervorrichtung der vierten Ausführungsform enthält eine Zustandsgrößenerfassungseinheit 400, eine Fuzzy-Schlussfolgerungseinheit 402, eine Zugehörigkeitsfunktion 404 und eine Steuergrößenausgabeeinheit 406. Die Zustandsgrößenerfassungseinheit 400 erfasst die momentane Zustandsgröße der Anlage. Die Zustandsgrößen stellen Parameter dar, auf die sich die Steuerung bezieht. Wenn die zu steuernde Anlage oder das zu steuernde Objekt das Fahrzeug ist, sind beispielsweise die Fahrzeuggeschwindigkeit, die Entfernung von dem Fahrzeug davor und die Beschleunigung des Fahrzeugs die verfügbaren Zustandsgrößen. Die beobachtete Zustandsgröße wird an die Fuzzy-Schlussfolgerungseinheit 402 übertragen.
  • Die Fuzzy-Schlussfolgerungseinheit 402 nimmt auf die Zugehörigkeitsfunktion 404 Bezug und spezifiziert durch Fuzzy-Schlussfolgerung die Steuergröße, die der beobachteten Zustandsgröße entspricht. Die Fuzzy-Schlussfolgerung spezifiziert anhand eines Fuzzy-Parameters, der eine Unsicherheit enthält, die Steuergröße. Beispielhaft führt die Fuzzy-Schlussfolgerungseinheit 402 die Steuerung wie 'beschleunige im Fall geringer Fahrzeuggeschwindigkeit' durch, wenn die Anlage das Fahrzeug ist. Diese Fuzzy-Steuerung bewirkt nicht, dass die Fahrzeuggeschwindigkeit mit einer spezifischen Geschwindigkeit zusammenfällt, sondern verwendet einen Fuzzy-Parameter 'langsam'.
  • Die Zugehörigkeitsfunktion drückt einen solchen Fuzzy-Parameter mathematisch aus. 30 zeigt ein Beispiel der Zugehörigkeitsfunktion. Die Zugehörigkeitsfunktion aus 30 ergibt in Abhängigkeit von der Zustandsgröße einen Zugehörigkeitswert von 0 bis 1,0. Die Zugehörigkeitsfunktion wird beispielsweise dadurch definiert, dass die Fahrzeuggeschwindigkeit als Abszisse und die Wahrscheinlichkeit der Erkennung von 'schnell' als Ordinate graphisch dargestellt wird. Die als Abszisse graphisch dargestellte Zustandsgröße wird gemäß dem zu steuernden Objekt und dem zur Auswertung der Fuzzy-Schlussfolgerung verwendeten Parameter bestimmt. Wenn bei der Steuerung sowohl die Fahrzeuggeschwindigkeit als auch die Entfernung von dem Fahrzeug davor berücksichtigt werden, wird eine weitere Zugehörigkeitsfunktion geliefert, wobei die Entfernung von dem Fahrzeug davor als Abszisse und die Wahrscheinlichkeit der Erkennung von 'ungenügende Entfer nung von dem Fahrzeug davor' als Ordinate graphisch dargestellt wird. Die Zugehörigkeitsfunktion kann eine zweidimensionale Funktion sein, die den Zugehörigkeitswert in Abhängigkeit von zwei oder mehr Zustandsgrößen ergibt. Diese Ausführungsform nutzt eine eindimensionale Tabelle, die, wie in 30 gezeigt ist, den dem Gitterpunkt entsprechenden Zugehörigkeitswert speichert. Obgleich sich die Zustandsgröße stetig ändert, wird aus dem in der dritten Ausführungsform diskutierten Grund angenommen, dass sich die Zustandsgröße schrittweise um eine vorbestimmte minimale Einheit ändert. Die Gitterpunkte aus 30 sind in einem gleichen Intervall angeordnet, das größer als die minimale Einheit ist.
  • Die Fuzzy-Schlussfolgerungseinheit 402 interpoliert die Zugehörigkeitsfunktion und bestimmt den der beobachteten Zustandsgröße entsprechenden Zugehörigkeitswert. Die Ausführungsform stellt eine Offset-Korrekturtabelle bereit, die zur Interpolation der Zugehörigkeitsfunktion verwendet wird. Der Inhalt der in dieser Ausführungsform verwendeten Offset-Korrekturtabelle ist ähnlich dem der in der ersten Ausführungsform verwendeten Offset-Korrekturtabelle. Die hier verwendete Offset-Korrekturtabelle speichert die Gewichtungskoeffizienten, die in dem Interpolationsprozess multipliziert werden, und die Gitterpunkt-Spezifikationsdaten, die die für die Interpolation verwendeten Gitterpunkte spezifizieren, die der Zustandsgröße entsprechen.
  • Die Ausführungsform nutzt diese Offset-Korrekturtabelle, um gemäß der in der ersten Ausführungsform diskutierten Technik den Zugehörigkeitswert zu bestimmen. Zunächst wandelt der Prozess die Zustandsgröße in den Basispunkt und die Offset-Koordinaten um. Daraufhin nimmt der Prozess auf die Offset-Korrekturtabelle Bezug und liest die Gitterpunkt-Spezifikationsdaten und die den Offset-Koor dinaten entsprechenden Gewichtungskoeffizienten ein. Nachfolgend multipliziert der Prozess die Zugehörigkeitswerte, die an den jeweiligen durch die Gitterpunkt-Spezifikationsdaten spezifizierten Gitterpunkten gespeichert sind, mit den Gewichtungskoeffizienten, um die der beobachteten Zustandsgröße entsprechende Zustandsgröße zu bestimmen.
  • Die Fuzzy-Schlussfolgerungseinheit 402 spezifiziert anhand des auf diese Weise bestimmten Zugehörigkeitswerts die Steuergröße. Beispielsweise spezifiziert der Prozess den Zugehörigkeitswert anhand der Fahrzeuggeschwindigkeit und der erfassten Entfernung von dem Fahrzeug davor als die Zustandsgrößen, wenn das Fahrzeug gemäß der Regel 'beschleunige im Fall einer langsamen Fahrzeuggeschwindigkeit und einer ausreichenden Entfernung von dem Fahrzeug davor' gesteuert wird. Daraufhin bestimmt der Prozess anhand des spezifizierten Zugehörigkeitswerts, ob die obige Bedingung erfüllt ist oder nicht, wodurch er bestimmt, ob das Fahrzeug zu beschleunigen ist oder nicht. Ferner kann der Beschleunigungsgrad durch eine weitere Zugehörigkeitsfunktion spezifiziert werden. Die Einzelheiten der Fuzzy-Schlussfolgerung sind nicht der wesentliche Teil dieser Ausführungsform und werden hier somit nicht genau beschrieben. Die somit spezifizierte Steuergröße wird an die Steuergrößenausgabeeinheit 406 übertragen. Die Steuergrößenausgabeeinheit 406 gibt ein Steuersignal aus, das der spezifizierten Steuergröße entspricht, und steuert die Anlage. Wenn das Fahrzeug die Anlage ist, kann die Steuergröße die Stellung des Fahrpedals sein. In diesem Fall reguliert die Steuergrößenausgabeeinheit 406 die Fahrpedalstellung, um die Fahrzeuggeschwindigkeit zu steuern.
  • Die Anwendung des Steuerverfahrens der vorliegenden Erfindung verbessert die Interpolationsrate der Zugehörig keitsfunktion. Die Interpolation der Zugehörigkeitsfunktion wird bei der Fuzzy-Steuerung häufig durchgeführt. Somit realisiert die Anwendung des Steuerverfahrens der vorliegenden Erfindung auf die Interpolation der Zugehörigkeitsfunktion wie oben beschrieben eine äußerst schnelle Fuzzy-Steuerung. Dies ist besonders wirksam, wenn die Zugehörigkeitsfunktion eine zwei- oder höherdimensionale Funktion ist.
  • F. Fünfte Ausführungsform
  • Im Folgenden wird eine Anwendung des Steuerverfahrens gemäß der vorliegenden Erfindung zur Steuerung einer Vorrichtung, die eine Koordinatenumwandlung benötigt, als eine fünfte Ausführungsform beschrieben. Wie in 31 gezeigt ist, betrifft die fünfte Ausführungsform die Koordinatenumwandlung von einem Polarkoordinatensystem in ein orthogonales Koordinatensystem. In der Zeichnung aus 31 bezeichnen eq, me, Pe, Breite, Länge und R jeweils den Äquator, die 0-Grad-Länge-Linie, einen Punkt auf der Erde, die Breite (rad) und die Länge (rad) des Punktes Pe und den Erdradius. Wie in 31 gezeigt ist, sind die Breite und die Länge auf der Erde Polarkoordinaten. Die Richtungen Nord, Süd, Ost und West in einem spezifischen Punkt auf der Erde können durch orthogonale Koordinaten genähert werden.
  • 31 zeigt die Koordinatenumwandlung der Breite und der Länge in die orthogonalen Koordinaten, die durch Richtungen von einem spezifischen Punkt Pe0 auf der Erde als Ursprung spezifiziert sind. Diese Koordinatenumwandlung wird beispielsweise in einem Navigationssystem verwendet, das das (im Folgenden als GPS bezeichnete) globale Positionsbestimmungssystem nutzt. Bekanntlich ist das GPS das System, das anhand von Signalen von einem künstlichen Satelliten die Position auf der Erde spezifi ziert. Das GPS spezifiziert die Position auf der Erde durch die Breite, die Länge und die Höhe. Wenn in dem Navigationssystem die Anzeige einer Karte gesteuert wird, ist es wünschenswert, die Position in dem Koordinatensystem auf der durch die Richtungen Nord, Süd, Ost und West definierten Karte zu spezifizieren. In dem hier diskutierten Beispiel wird angenommen, dass das Navigationssystem in das Fahrzeug eingebaut ist und dass die Höhe konstant gehalten wird.
  • Die Breite und die Länge werden von dem spezifischen Punkt Pe0 auf der Erde als dem Ursprung in die Koordinaten in dem durch die Achsen der Ost-Richtung und der Nord-Richtung definierten orthogonalen Koordinatensystem umgewandelt. Die Breite (rad) und die Länge (rad) des Punktes Pe0 werden als (LAT0, LON0) ausgedrückt. Eine Entfernung Le in Ost-West-Richtung zwischen dem Punkt Pe0 und einem weiteren Punkt Pe1 (LAT0, LON1), die auf der gleichen Breite vorliegen, ist durch die unten stehende Gleichung (18) als der Bogen der Breitenlinie LAT0 (siehe die Strichlinie eq1 in 31) spezifiziert: Le = R·(LON1 – LON0)·cos (LAT0). (18)
  • Wenn die Breitendifferenz zwischen den zwei auf verschiedenen Breiten vorliegenden Punkten klein ist, kann die Entfernung in Ost-West-Richtung durch die oben stehende Gleichung (18) genähert werden.
  • Eine Entfernung Ln in Nord-Süd-Richtung zwischen dem Punkt Pe0 und einem weiteren Punkt Pe2 (LAT1, LON0), die auf der gleichen Länge vorliegen, ist als der durch die unten stehende Gleichung (19) gegebene Bogen der Längenlinie spezifiziert: Ln = R·(LAT1 – LAT0). (19)
  • Gleichung (19) kann zwischen den zwei auf verschiedenen Längen vorliegenden Punkten gehalten werden.
  • Ausgehend von den Gleichungen (18) und (19) in dem orthogonalen Koordinatensystem, das durch die Achsen der Nord-Richtung und der Ost-Richtung von dem spezifischen Punkt Pe0 als dem Ursprung definiert ist, wird unter Verwendung der Entfernungen Le und Ln ein beliebiger Punkt Pe (LAT1, LON1) auf der Erde, der durch eine beliebige Breite und Länge ausgedrückt ist, als (Le, Ln) spezifiziert.
  • Die Ausführungsform implementiert die Koordinatenumwandlung durch das Steuerverfahren der vorliegenden Erfindung. 32 zeigt das Bild der in dieser Ausführungsform verwendeten Tabelle. Das Koordinatenumwandlungsverfahren dieser Ausführungsform spezifiziert durch die Kombinationen der Breite und Länge, wie sie in 32 gezeigt sind, mehrere Gitterpunkte und liefert eine Tabelle, die die Werte Le und Ln in dem orthogonalen Koordinatensystem an den jeweiligen Gitterpunkten speichert. Das Verfahren interpoliert diese Tabelle und bestimmt dadurch die Werte Le und Ln in dem orthogonalen Koordinatensystem, die der beliebigen Breite und Länge entsprechen.
  • Die Interpolation der in 32 gezeigten Tabelle folgt der mit den Ablaufplänen der 9 bis 11 diskutierten Interpolationstechnik der ersten Ausführungsform. Die Interpolationstechnik liefert eine Offset-Interpolationstabelle, die die Gewichtungskoeffizienten, die in dem Interpolationsprozess multipliziert werden, und die Gitterpunkt-Spezifikationsdaten, die die für die Interpolation verwendeten Gitterpunkte spezifizieren, die den Kombinationen der Breite und der Länge entsprechen, speichert. Um die Offset-Interpolationstabelle bereitzu stellen, wird angenommen, dass die Breite und die Länge keine stetig veränderlichen reellen Zahlen sind, sondern sich schrittweise um minimale Einheiten ändern. Die minimalen Einheiten werden gemäß der für die Koordinatenumwandlung benötigten Genauigkeit spezifiziert. Der Prozess wandelt die Koordinaten der Breite und der Länge in den Basispunkt und in die Offset-Koordinaten um, nimmt auf die Offset-Korrekturtabelle Bezug und liest die Gewichtungskoeffizienten und die Gitterpunkt-Spezifikationsdaten, die den Offset-Koordinaten entsprechen, ein. Der Prozess multipliziert die Koordinaten Le und Ln, die an den jeweiligen durch die Gitterpunkt-Spezifikationsdaten spezifizierten Gitterpunkten gespeichert sind, mit den Gewichtungskoeffizienten und führt die Koordinatenumwandlung durch.
  • Die Gleichungen (18) und (19) der Koordinatenumwandlung sind nicht linear. Dementsprechend führt die Interpolation der Tabelle für die Koordinatenumwandlung zu einem gewissen Fehler. Der Fehler ändert sich gemäß dem Gitterpunktintervall der in 32 gezeigten Tabelle. Dementsprechend wird anhand der für die Koordinatenumwandlung benötigten Genauigkeit für das Gitterpunktintervall der Tabelle ein ausreichend kleiner Wert gesetzt. Diese Realisierung verringert vorteilhaft den Fehler.
  • Die Dateninterpolationstechnik der Ausführungsform ermöglicht eine äußerst schnelle Koordinatenumwandlung. Gleichung (18) enthält eine trigonometrische Funktion. Die trigonometrische Funktion benötigt allgemein für die Berechnung eine verhältnismäßig lange Zeit. Das Verfahren dieser Ausführungsform realisiert eine schnelle Koordinatenumwandlung und besitzt dadurch die folgenden Vorteile. Die Koordinatenumwandlung wird bei den Steueroperationen in dem Navigationssystem häufig wiederholt. Somit verbessert die schnelle Koordinatenumwandlung die Geschwindig keit der gesamten Verarbeitung wesentlich. In dem Navigationssystem muss eine Echtzeit-Koordinatenumwandlung durchgeführt werden. Das Koordinatenumwandlungsverfahren dieser Ausführungsform ermöglicht diese Anforderung.
  • Diese Ausführungsform betrifft die Koordinatenumwandlung auf der Erdoberfläche, während die Höhe konstant gehalten wird. Es ist möglich, die dreidimensionalen Polarkoordinaten der Breite, der Länge und der Höhe in ein dreidimensionales orthogonales Koordinatensystem umzuwandeln, das durch die Achsen der Ost-Richtung, der Nord-Richtung und der Höhe definiert ist. Die oben diskutierte Ausführungsform bezieht sich auf den Fall, in dem der Ursprung der Polarkoordinaten verschieden von dem Ursprung der orthogonalen Koordinaten ist. Natürlich ist das Koordinatenumwandlungsverfahren der Ausführungsform auf den Fall anwendbar, in dem die beiden Ursprünge zusammenfallen. Das Koordinatenumwandlungsverfahren dieser Ausführungsform ist auf die Umwandlung zwischen irgendwelchen anderen Koordinatensystemen als zwischen Polarkoordinaten und orthogonalen Koordinaten anwendbar.
  • G. Sechste Ausführungsform
  • Im Folgenden wird eine Anwendung des Steuerverfahrens gemäß der vorliegenden Erfindung zur Steuerung einer Vorrichtung, die eine lineare Umwandlung benötigt, als eine sechste Ausführungsform beschrieben. Die lineare Umwandlung ist eine Art Koordinatenumwandlung und ermöglicht, dass die Beziehung zwischen den Koordinaten vor der Umwandlung und den Koordinaten nach der Umwandlung mit einer Matrix ausgedrückt wird. Die Parallelverschiebung und die Drehung in dem Koordinatensystem sind typische Beispiele der linearen Umwandlung. Diese Ausführungsform betrifft die Drehung in dem orthogonalen Koordinatensystem.
  • Eine Steuerprozedur, die auf einer linearen Umwandlungstechnik durch Drehung in einem orthogonalen Koordinatensystem beruht, wird beispielhaft für eine Vorrichtung benötigt, die die Technologie der (im Folgenden als VR bezeichneten) virtuellen Realität nutzt. 33 zeigt die für die VR-Technik verwendete Koordinatenumwandlung. Eine Testperson 500 der VR-Technik besitzt auf ihrem Kopf einen (im Folgenden als der HMD bezeichneten) Datenhelm 502. Die VR-Technik wandelt die Koordinaten eines Bildes in einem virtuellen Raum gemäß dem Kopfwinkel der Testperson 500 um und projiziert das umgewandelte Bild auf den HMD 502. Die Testperson 500 blickt auf die auf den HMD 502 projizierten Videobilder und simuliert Bewegungen in dem virtuellen Raum. Die VR-Technik kann die Koordinatenumwandlung zusammen mit der Parallelverschiebung der Testperson 500 durchführen.
  • Die Drehung in dem dreidimensionalen orthogonalen Koordinatensystem ist allgemein durch die Euler-Winkel genannten Winkel ψ (rad), θ (rad) und ϕ (rad) definiert. Wie in 33 gezeigt ist, wird das an der Erde befestigte orthogonale Koordinatensystem als Xe, Ye und Ze ausgedrückt, während das an der Testperson 500 befestigte orthogonale Koordinatensystem durch Xb, Yb und Zb ausgedrückt wird. Die Beziehung zwischen diesen orthogonalen Koordinatensystemen kann durch die unten definierten Euler-Winkel ψ, θ und ϕ spezifiziert werden.
  • Das an der Erde befestigte orthogonale Koordinatensystem Xe, Ye, Ze wird um ψ (rad) um die Ze-Achse gedreht. Dies wandelt das Koordinatensystem Xe, Ye, Ze in ein anderes Koordinatensystem Xe', Ye', Ze um, das in 33 gezeigt ist. Der Euler-Winkel ψ (rad) stellt den Winkel dar, der die Projektion der an der Testperson 500 befestigten Koordinatenachse Xb auf die Xe-Ye-Ebene in dem Erdkoordi natensystem ermöglicht, so dass sie sich mit der Koordinatenachse Xe' überschneidet.
  • Daraufhin wird das Koordinatensystem Xe', Ye', Ze um θ (rad) um die Ye'-Achse gedreht. Dies wandelt das Koordinatensystem Xe', Ye', Ze in ein nochmals anderes Koordinatensystem Xb, Ye', Ze' um. Der Euler-Winkel θ (rad) stellt den Winkel dar, der ermöglicht, dass die Xb-Achse mit der Xe'-Achse zusammenfällt.
  • Schließlich wird das Koordinatensystem Xb, Ye', Ze' um ϕ (rad) um die Xb-Achse gedreht. Dies wandelt das Koordinatensystem Xb, Ye', Ze' in das an der Testperson 500 befestigte Koordinatensystem Xb, Yb, Zb um. Der Euler-Winkel ϕ (rad) stellt den Winkel dar, der ermöglicht, dass die Yb-Achse mit der Yb'-Achse zusammenfällt.
  • Die Umwandlung der Koordinaten (xe, ye, ze) in dem an der Erde befestigten Koordinatensystem in die Koordinaten (xb, yb, zb) in dem an der Testperson befestigten Koordinatensystem wird durch die unten gegebenen Gleichungen (20) ausgedrückt. Das heißt, die Koordinatenumwandlung wird dadurch implementiert, dass neun Elemente a11 bis a33 spezifiziert werden, die von den Euler-Winkeln ψ, θ und ϕ abhängen. xb = sinθcosψ·xe + (–sinθsinψ)·ye + cosθ·ze = a11·xe + a12·ye + a13·ze; yb = (–sinϕcosθcosψ + cosϕsinψ)·xe + (sinϕcosθsinψ + cosϕcosψ)·ye + sinϕsinθ·ze = a21·xe + a22·ye + a23·ze; = a21·xe + a22·ye + a23·ze; zb = (cosϕcosθcosψ + sinϕsinψ)·xe + (–cosϕcosθsinψ + sinϕcosψ)·ye + (–cosϕsinθ)·ze = a31·xe + a32·ye + a33·ze (20)
  • Wie aus den Gleichungen (20) unmittelbar folgt, können die Elemente a11 bis a33 durch trigonometrische Funktionen der Euler-Winkel berechnet werden. Dagegen interpoliert das Verfahren dieser Ausführungsform eine Tabelle, um diese Elemente zu bestimmen. 34 zeigt das Bild der in dieser Ausführungsform verwendeten Tabelle. Das Verfahren dieser Ausführungsform spezifiziert durch die Kombinationen der Euler-Winkel ψ, θ und ϕ mehrere Gitterpunkte und liefert eine Tabelle, die an den jeweiligen Gitterpunkten die neun Elemente a11 bis a33 speichert. Das Verfahren liefert eine Offset-Korrekturtabelle, die für die Interpolation der Tabelle aus 34 verwendet wird. Wie die anderen Ausführungsformen speichert die Offset-Korrekturtabelle dieser Ausführungsform die Gewichtungskoeffizienten, die in dem Interpolationsprozess multipliziert werden, und die Gitterpunkt-Spezifikationsdaten, die die für die Interpolation verwendeten Gitterpunkte spezifizieren. Um die Offset-Interpolationstabelle bereitzustellen, wird angenommen, dass die Euler-Winkel nicht stetig veränderliche reelle Zahlen sind, sondern sich schrittweise um minimale Einheiten ändern.
  • Diese Ausführungsform interpoliert die in 34 gezeigte Tabelle durch das in den obigen Ausführungsformen diskutierte Verfahren. Der Prozess wandelt die durch die Kombination der Euler-Winkel ψ, θ und ϕ definierten Koordinaten in den Basispunkt und die Offset-Koordinaten um, nimmt auf die Offset-Korrekturtabelle Bezug und liest die Gewichtungskoeffizienten und die Gitterpunkt-Spezifikationsdaten, die den Offset-Koordinaten entsprechen, ein. Der Prozess multipliziert die Elemente a11 bis a33, die an den jeweiligen durch die Gitterpunkt-Spezifikationsdaten spezifizierten Gitterpunkten gespeichert sind, mit den Gewichtungskoeffizienten und berechnet dadurch die Elemente a11 bis a33, die den Euler-Winkeln ψ, θ und ϕ entsprechen. Das Einsetzen der somit berechneten Elemente a11 bis a33 in die Gleichungen (20) ermöglicht die Umwandlung von dem an der Erde befestigten Koordinatensystem Xe, Ye, Ze in das an der Testperson 500 befestigte Koordinatensystem Xb, Yb, Zb.
  • Die Dateninterpolationstechnik dieser Ausführungsform realisiert eine schnelle lineare Umwandlung des Koordinatensystems. Die VR-Technik erfordert eine häufige lineare Umwandlung in Echtzeit. Somit ist die lineare Umwandlung durch das Verfahren der Ausführungsform äußerst wirksam für die VR-Technik. Die lineare Umwandlung der Ausführungsform wird vorteilhaft auf irgendwelche Steueroperationen angewendet, die eine andere lineare Umwandlung als die VR-Technik enthalten. Dies verbessert die Geschwindigkeit der gesamten Steuerungsoperationen.
  • Wie aus den Gleichungen (20) unmittelbar folgt, sind die jeweiligen Elemente a11 bis a33 nicht die linearen Funktion der Euler-Winkel ψ, θ und ϕ. Dementsprechend führt die Interpolation der in 34 gezeigten Tabelle zu einem gewissen Fehler. Der Fehler ändert sich gemäß dem Gitterpunktintervall der in 34 gezeigten Tabelle. Dementsprechend wird anhand der für die Koordinatenumwandlung benötigten Genauigkeit ein ausreichend kleiner Wert für das Gitterpunktintervall der Tabelle gesetzt. Diese Realisierung verringert vorteilhaft den Fehler.
  • Obgleich diese Ausführungsform die Anwendung auf die VR-Technik betrifft, ist das Steuerverfahren auf eine Vielzahl weiterer Steuerungsoperationen anwendbar, die die lineare Umwandlung benötigen. Außerdem ist dieses Steuerverfahren auf eine Vielzahl von Koordinatensystemen sowie auf das orthogonale Koordinatensystem anwendbar. Der Zielkoordinatenraum ist nicht auf das dreidimensionale System beschränkt. Diese Ausführungsform beschreibt die Drehung in dem Koordinatensystem als ein Beispiel. Das Verfahren dieser Ausführungsform ist ebenfalls auf eine lineare Umwandlung anwendbar, die eine Parallelverschiebung enthält.
  • Die vorliegende Erfindung ist nicht auf die obigen Ausführungsformen oder ihre Anwendungen beschränkt, wobei es viele Abwandlungen, Änderungen und Abänderungen gibt, ohne vom Umfang der Haupteigenschaften der vorliegenden Erfindung abzuweichen. Beispielsweise können die in 22 und 23 gezeigten Hardware-Konfigurationen auf alle anderen Ausführungsformen sowie auf die erste und die zweite Ausführungsform anwendbar sein.
  • Selbstverständlich sind die obigen Ausführungsformen lediglich erläuternd und in keinem Sinn einschränkend. Der Umfang der vorliegenden Erfindung ist lediglich durch die Bedingungen der beigefügten Ansprüche beschränkt.

Claims (7)

  1. Steuer- bzw. Regelverfahren zur Durchführung einer Steuer- bzw. Regeloperation einer Anlage durch Interpolation eines Parameters, der zu der Steueroperation der Anlage in Beziehung steht, gemäß Kombinationen von Koordinaten in einem Koordinatenraum einer vorbestimmten Anzahl von Dimensionen, wobei die Werte der Parameter entsprechend Gitterpunkten, die diskret in dem Koordinatenraum vorliegen, gespeichert werden, wobei das Steuerverfahren die folgenden Schritte umfasst: (a) Bereitstellung einer Gitterpunktinformationstabelle, einer Interpolation-Zieltabelle und einer Offset-Korrekturtabelle (OT), wobei die Gitterpunktinformationstabelle Gitterpunktinformationen an jeweiligen Gitterpunkten speichert, welche durch Kombinationen von Koordinaten spezifiziert sind, die diskret in jeweiligen Dimensionen des Koordinatenraums gesetzt sind, wobei die Interpolation-Zieltabelle Werte des Parameters, die den entsprechenden Gitterpunkten entsprechen, speichert, und die Offset-Korrekturtabelle (OT) Interpolationsdaten, welche zur Interpolation der Interpolation-Zieltabelle und zur Spezifierung von den Eingangsdaten entsprechenden Werten benötigt werden, entsprechend den Offset-Koordinaten, speichert; (b) Empfang von Eingangs- bzw. Eingabedaten, die eine spezifische Kombination von Koordinatenwerten darstellen, welche finit für die jeweiligen Dimensionen in dem Koordinatenraum gesetzt worden sind; (c) Identifizierung einer spezifischen Gitterdivision bzw. Gitteraufteilung, in welcher die Eingangsdaten enthalten sind, unter einer Anzahl von Gitteraufteilungen, die durch benachbarte Gitterpunkte in den jeweiligen Dimensionen des Koordinatenraums definiert sind, auf der Grundlage der Gitterpunktinformation; (d) Umwandlung der Eingangsdaten in Koordinaten eines Referenzgitterpunktes, der einen Basispunkt unter den Gitterpunkten, die die spezifische Gitteraufteilung konstituieren, darstellt, und Offset-Koordinaten, die eine Abweichung der Eingangsdaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen darstellen; und (e) Lesen bzw. Einlesen von Interpolationsdaten, die den Offset-Koordinaten entsprechen, aus der Offset-Korrekturtabelle, Einlesen von Werten des Parameters, die dem Referenzgitterpunkt und dem vorbestimmten Gitterpunkt, der dem Referenzgitterpunkt benachbart ist, entsprechen, aus der Interpolation-Zieltabelle, und Durchführung der Interpolation des Parameters mit den Interpolationsdaten; und wobei das Steuerverfahren dadurch gekennzeichnet ist, dass die in der Offset-Korrekturtabelle (OT) gespeicherten Interpolationsdaten Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizient-Daten aufweisen, die Gitterpunkt-Spezifikationsdaten wenigstens einen Teil von vier Gitterpunkten, die zur Interpolation verwendet werden, entsprechend den Offsetkoordinaten spezifizieren, und die Gewichtungskoeffizient-Daten gemäß den Offsetkoordinaten bestimmt werden.
  2. Steuerverfahren nach Anspruch 1, bei dem die Anlage eine Bildverarbeitungseinrichtung umfasst, die eine Farbkorrektur von Farbdaten eines Bildes ausführt bzw. ausgeführt hat, wobei die Eingangsdaten Farbdaten umfassen, die eine Farbe, die in einem ersten Farbsystem als Kombination von Tönen in einem Farbraum von wenigstens zwei Dimensionen ausgedrückt ist, darstellen, und die Interpolation-Zieltabelle Farben speichert, die in einem zweiten Farbsystem ausgedrückt sind, das vom ersten Farbsystem unterschiedlich ist, an den jeweiligen Gitterpunkten.
  3. Bildverarbeitungseinrichtung zur Durchführung einer Farbkorrektur eines Multi-Farben-Bildes und zur Ausgabe eines farbkorrigierten Bildes, wobei das Multi-Farb-Bild durch Koordinaten ausgedrückt ist, die einer vorbestimmten Anzahl von Tönen in jeweiligen Dimensionen eines Farbraums von wenigstens zwei Dimensionen entsprechen, wobei die Bildverarbeitungseinrichtung aufweist: eine Eingabe- bzw. Eingangseinheit (92), die Farbbilddaten eingibt, die durch eine spezifische Kombination von Koordinaten bezüglich jedes Pixels, das in einem Multi-Farb-Bild enthalten ist, spezifiziert sind; einen ersten Speicher, der Gitterpunkt-Informationen in Form einer Gitterpunkt-Informationstabelle speichert, wobei die Gitterpunktinformationen Koordinaten von Gitterpunkten umfassen, die durch Division bzw. Aufteilung des Farbraumes durch eine vorbestimmte Anzahl, die kleiner als die Anzahl der Töne in jeder Dimension ist, erhalten werden; einen zweiten Speicher, der Farbkorrekturdaten speichert, die sich auf eine Quantität der Farbkorrektur bezie hen, entsprechend jedem Gitterpunkt in Form einer Farbkorrekturtabelle (CT), eine Gitterdivisions- bzw. Aufteilungs- Identifikationseinheit, die eine spezifische Gitteraufteilung identifiziert, in der die Farbbilddaten enthalten sind, unter einer Anzahl von Gitteraufteilungen, die durch benachbarte Gitterpunkte in den jeweiligen Dimensionen des Farbraums definiert sind, auf der Grundlage der Gitterpunktinformationen; eine Bilddatenumwandlungseinheit, die Farbbilddaten in Koordinaten eines Referenz-Gitterpunktes umwandelt, der einen Basispunkt unter Gitterpunkten darstellt, die die spezifische Gitteraufteilung bilden, und Offsetkoordinaten, die eine Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen darstellen; einen dritten Speicher, der Interpolationsdaten speichert, die zur Interpolation der Farbkorrekturtabelle (CT) und zur Spezifizierung der Farbkorrekturdaten, die den Farbbilddaten entsprechen, benötigt werden, entsprechend den Offsetkoordinaten in Form einer Offset-Korrekturtabelle (OT); eine Farbkorrektureinheit (98), die Interpolationsdaten einliest, die den Offsetkoordinaten aus der Offset-Korrekturtabelle (OT) entsprechen, die Farbkorrekturdaten einliest, die dem Referenzgitterpunkt und vorbestimmten Gitterpunkten, die dem Referenzgitterpunkt benachbart sind, entsprechen, aus der Farbkorrekturtabelle (CT), die eine Interpolation der Farbkorrekturdaten mit den Interpolationsdaten durchführt, und ein Ergebnis der Interpolation als korrigierte Farbbilddaten ausgibt, und wobei die Bildverarbeitungseinrichtung dadurch gekennzeichnet ist, dass: der Farbraum ein dreidimensionaler Farbraum ist, die in der Offset-Korrekturtabelle (OT) gespeicherten Interpolationsdaten Gitterpunkt-Spezifikationsdaten und Gewichtungskoeffizientdaten umfassen, die Gitterpunkt-Spezifikationsdaten wenigstens einen Teil von vier Gitterpunkten, die zur Interpolation verwendet werden, entsprechend den Offsetkoordinaten spezifiziert, die Gewichtungskoeffizientdaten gemäß den Offsetkoordinaten bestimmt werden, und Farbkorrekturdaten, die wenigstens einem Teil der vier Gitterpunkte entsprechen, mit den Gewichtungskoeffizientdaten multipliziert werden.
  4. Bildverarbeitungseinrichtung nach Anspruch 3, bei der die Aufteilung des Farbraumes bewirkt, dass eine Menge der in der Farb-Korrekturtabelle (CT) gespeicherten Korrekturdaten im Wesentlichen gleich ist einer Menge der Interpolationsdaten, die in der Offset-Korrekturtabelle (OT) gespeichert sind.
  5. Bildverarbeitungseinrichtung nach Anspruch 3 oder 4, bei der die Bildverarbeitungseinrichtung ferner aufweist: eine Normalisierungseinheit, die die Koordinaten normalisiert, um Intervalle zwischen benachbarten Gitterpunkten in jeder Dimension auszugleichen, wobei die Bilddatenumwandlungseinheit die Farbbilddaten in die Koordinaten des Referenzgitterpunktes umwandelt, der den Basispunkt unter den Gitterpunkten darstellt, die die spezifische Gitteraufteilung bilden, und die Offsetkoordinaten, die die Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen durch mittels der Normalisierungseinheit normalisierte Koordinaten darstellen.
  6. Bildverarbeitungseinrichtung nach Anspruch 5, bei der das Intervall zwischen benachbarten Gitterpunkten nach der Normalisierung ein ganzzahliges Vielfaches des Intervalls zwischen benachbarten Gitterpunkten vor der Normalisierung in einem vorbestimmten Bereich geringer Dichte des Farbraumes ist.
  7. Bildverarbeitungseinrichtung nach einem der Ansprüche 5 oder 6, bei der die Bilddatenumwandlungseinheit wenigstens eine Referenzgitterpunkttabelle, die die Koordinaten des Referenzgitterpunktes speichert, der den Basispunkt unter den Gitterpunkten, die die spezifische Gitteraufteilung bilden, gemäß den Farbbilddaten darstellt, und/oder eine Offset-Koordinatentabelle (OT), die die Offsetkoordinaten, die die Abweichung der Farbbilddaten von den Koordinaten des Referenzgitterpunktes in den jeweiligen Dimensionen durch die durch die Normalisierungseinheit normalisierten Koordinaten gemäß den Farbbilddaten speichert, und wobei die Bilddatenumwandlungseinheit die Umwandlung der Farbbilddaten in die Koordinaten des Referenzgitterpunktes und/oder die Umwandlung der Farbbilddaten in die Offsetkoordinaten durch Bezugnahme auf die Referenzgitterpunkttabelle und/oder die Offsetkoordinatentabelle (OT) durchführt.
DE69821569T 1997-10-08 1998-10-08 Tetraederinterpolation Expired - Lifetime DE69821569T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP29352497 1997-10-08
JP29352497 1997-10-08

Publications (2)

Publication Number Publication Date
DE69821569D1 DE69821569D1 (de) 2004-03-18
DE69821569T2 true DE69821569T2 (de) 2004-12-16

Family

ID=17795863

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69821569T Expired - Lifetime DE69821569T2 (de) 1997-10-08 1998-10-08 Tetraederinterpolation

Country Status (3)

Country Link
US (1) US6304671B1 (de)
EP (1) EP0908831B1 (de)
DE (1) DE69821569T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4194174B2 (ja) * 1999-05-24 2008-12-10 富士通株式会社 色変換装置、色変換方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
AUPQ056099A0 (en) * 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
EP1158484A3 (de) * 2000-05-25 2008-12-31 Seiko Epson Corporation Verarbeitung von an ein Anzeigegerät gelieferten Bilddaten
US7190487B2 (en) * 2001-09-25 2007-03-13 Sharp Laboratories Of America, Inc. Color conversion with hue straightening using multiple look-up tables and interpolation
US7265870B2 (en) * 2001-11-26 2007-09-04 Agfa Graphics Nv Colour separation method
JP3823858B2 (ja) * 2002-03-20 2006-09-20 セイコーエプソン株式会社 補正テーブルを用いたカラー画像データの補正方法
US7310165B2 (en) * 2002-09-05 2007-12-18 Xerox Corporation Dynamic color rendering dictionaries
US7190827B2 (en) * 2003-01-22 2007-03-13 Hewlett-Packard Development Company, L.P. Color space conversion using interpolation
US7800780B2 (en) 2004-06-30 2010-09-21 Adobe Systems Incorporated N-dimensional hedral interpolation for color conversion
JP4438997B2 (ja) * 2004-11-19 2010-03-24 Nec液晶テクノロジー株式会社 液晶表示方法及び液晶表示装置
TWI287785B (en) * 2005-06-09 2007-10-01 Chunghwa Picture Tubes Ltd Method for adjusting the colors of an image
US7881563B2 (en) * 2006-02-15 2011-02-01 Nokia Corporation Distortion correction of images using hybrid interpolation technique
JP2007267084A (ja) * 2006-03-29 2007-10-11 Seiko Epson Corp 色変換装置およびそれを備えた画像表示装置
JP2008005469A (ja) * 2006-05-24 2008-01-10 Seiko Epson Corp 画像処理装置、印刷装置、画像処理方法、色彩修正テーブル設定方法、および印刷方法
US7990588B2 (en) * 2006-12-12 2011-08-02 Canon Kabushiki Kaisha Method of finding look-up table structures in color device sampling data
US7957898B2 (en) * 2007-12-28 2011-06-07 Alpine Electronics, Inc Computational scheme for MEMS inertial navigation system
RU2566977C1 (ru) 2011-09-28 2015-10-27 Тойота Дзидося Кабусики Кайся Устройство управления двигателем
WO2013088494A1 (ja) * 2011-12-12 2013-06-20 トヨタ自動車株式会社 エンジン制御装置
JP6416750B2 (ja) * 2013-03-27 2018-10-31 株式会社プロスパークリエイティブ 測定装置、測定方法、情報処理装置及び測定プログラム
US20150073699A1 (en) * 2013-09-11 2015-03-12 DeNA Co., Ltd. Server and method for outputting map image
CN106375750B (zh) * 2016-09-30 2018-08-24 宇龙计算机通信科技(深圳)有限公司 一种影像显示方法及显示装置
US11335084B2 (en) 2019-09-18 2022-05-17 International Business Machines Corporation Image object anomaly detection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2050195B1 (de) 1969-01-23 1973-03-16 Starkstrom Anlagenbau Veb K
JPS57208765A (en) 1981-06-18 1982-12-21 Dainippon Screen Mfg Co Ltd Signal interpolating method for memory device
JPH0716879B2 (ja) 1986-06-18 1995-03-01 豊田工機株式会社 研削工具
JPH01310405A (ja) * 1988-06-09 1989-12-14 Toshiba Corp プラント監視装置
US5121196A (en) 1988-11-18 1992-06-09 Konica Corporation Color processing method and apparatus with a color patch
US5015328A (en) * 1989-09-14 1991-05-14 North American Philips Corporation Method of reducing surface damage in KTP optical waveguides
JP2666523B2 (ja) 1990-05-16 1997-10-22 松下電器産業株式会社 色変換装置
JP3008472B2 (ja) 1990-10-05 2000-02-14 ブラザー工業株式会社 カラー画像処理装置
JPH04185075A (ja) 1990-11-20 1992-07-01 Canon Inc カラー画像処理装置
JP2903807B2 (ja) 1991-10-17 1999-06-14 富士ゼロックス株式会社 色信号変換方法および装置
JP2903808B2 (ja) 1991-10-17 1999-06-14 富士ゼロックス株式会社 色信号変換方法および装置
US5748195A (en) * 1992-10-29 1998-05-05 International Business Machines Corporation Method and means for evaluating a tetrahedral linear interpolation function
US5390035A (en) 1992-12-23 1995-02-14 International Business Machines Corporation Method and means for tetrahedron/octahedron packing and tetrahedron extraction for function approximation
US5592591A (en) * 1993-10-04 1997-01-07 Xerox Corporation Reduced storage of pre-computed difference tables used in color space conversion
JPH0877341A (ja) 1994-08-29 1996-03-22 Xerox Corp カラー画像処理装置及び方法
US5748176A (en) * 1995-07-20 1998-05-05 Hewlett-Packard Company Multi-variable colorimetric data access by iterative interpolation and subdivision
JPH09289593A (ja) * 1996-04-24 1997-11-04 Canon Inc 色変換装置、複写装置および色変換方法

Also Published As

Publication number Publication date
EP0908831A3 (de) 1999-05-12
US6304671B1 (en) 2001-10-16
DE69821569D1 (de) 2004-03-18
EP0908831B1 (de) 2004-02-11
EP0908831A2 (de) 1999-04-14

Similar Documents

Publication Publication Date Title
DE69821569T2 (de) Tetraederinterpolation
USRE43747E1 (en) Method and system for image processing
DE60031910T2 (de) Genaue Farbbildreproduktion von Farben innerhalb des Farbtonbereichs und verbesserte Farbbildreproduktion von Farben ausserhalb des Farbtonbereichs
US6870636B2 (en) Determining color mappings for a color printer
DE69822545T2 (de) Bildverbesserung unter Benutzung einer Flächeninterpolation
EP1445941A1 (de) Farbumsetzungseinrichtung, farbumsetzungsverfahren, farbänderungsprogramm und aufzeichnungsmedium
US6867883B1 (en) Method and apparatus for expanding a color gamut
EP3213500B1 (de) Umwandlung von mindestens einem teil eines 3d-objekts in ein zum drucken passendes format
EP1637838A2 (de) Verarbeitung von Fernerkundungsdaten
DE10197077T5 (de) Farbskala-wahrende Farbabbildung
CN110991502A (zh) 一种基于类别激活映射技术的空域安全态势评估方法
CN102016785B (zh) 打印数据生成装置、打印数据生成方法以及打印数据生成程序
DE112008003890B4 (de) Ein Verfahren zum Identifizieren eines Zielsimplex
US8031193B1 (en) Dynamic light shading in terrain rendering applications
US5473741A (en) Method for determining the time to perform raster image processing
DE102019134324A1 (de) Ein Verfahren zum Messen der Topografie einer Umgebung
DE69630261T2 (de) Verfahren und Vorrichtung zum Darstellen und Abbilden von Bildern
US9665324B2 (en) Simulation of preprinted forms
EP0476624B1 (de) Bildänderungsverfahren und -gerät
US11348261B2 (en) Method for processing three-dimensional point cloud data
EP1521451A2 (de) Bildverarbeitungsmethode, Bildverarbeitungsgerät, Bildverarbeitungsprogramm und Drucksteuerungsgerät
US20210006687A1 (en) Weighting functions which vary with intended area color values
JP3341688B2 (ja) 装置の制御方法および該方法により制御される画像処理装置
US20030007185A1 (en) Halftone dot thinning
Ipatov et al. Creation of image models for evolving objects on dynamically changing scenes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803