DE10146416A1 - Verfahren und Anordnung zur effizienten Berechnung polynombasierter Koordinatentransformationen - Google Patents
Verfahren und Anordnung zur effizienten Berechnung polynombasierter KoordinatentransformationenInfo
- Publication number
- DE10146416A1 DE10146416A1 DE10146416A DE10146416A DE10146416A1 DE 10146416 A1 DE10146416 A1 DE 10146416A1 DE 10146416 A DE10146416 A DE 10146416A DE 10146416 A DE10146416 A DE 10146416A DE 10146416 A1 DE10146416 A1 DE 10146416A1
- Authority
- DE
- Germany
- Prior art keywords
- polynomial
- calculation
- polynomials
- coordinates
- stage
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
Abstract
Für Anwendungen der Signalverarbeitung, insbesondere der Bildsignalverarbeitung, müssen aus Eingangskoordinaten transformierte Koordinaten berechnet werden. Diese Berechnung ist für jeden Eingangs- und/oder Ausgangsabtastwert einzeln erforderlich und kann durch ein Polynom erfolgen. Für praktische Anwendungen sind Polynome höheren Grades erforderlich. Die Berechnung dieser Polynome ist aufwendig und erfordert einen sehr großen Schaltungsaufwand. DOLLAR A Bei hier beschriebenen Verfahren und Anordnung wird das Polynom durch sukzessive Teilpolynome berechnet. Dabei wird davon ausgegangen, daß nicht alle theoretisch möglichen Teilpolynome wirklich benötigt werden. Durch Verschieben der Eingangskoordinaten kann erreicht werden, daß Teilpolynome entfallen können. Die sich daraus ergebende Formel kann durch konfigurierbare Verarbeitungseinheiten effizient in eine Schaltungsarchitektur zur Berechnung polynombasierter Koordinatentransformationen umgesetzt werden.
Description
- Die Erfindung betrifft ein Verfahren und eine Anordnung zur effizienten Berechnung transformierter Koordinaten aus Eingangskoordinaten mittels einer polynombasierten Formel.
- Transformierte Koordinaten werden benötigt, wenn eine diskrete Signalverarbeitung eine Verzerrung der räumlichen und/oder zeitlichen Dimension eines Signals erzeugen und/oder ausgleichen soll. Eine solche Signalverarbeitung arbeitet sequentiell mit variablen Koordinaten. Für diese Eingangskoordinaten müssen transformierte Koordinaten berechnet werden. Transformierte Koordinaten werden dazu verwendet, Daten für die Signalverarbeitung zu lesen und/oder Verarbeitungsergebnisse abzulegen.
- Die Berechnung transformierter Koordinaten muß für jeden Abtastwert eines Eingangs- oder Ausgangssignals erfolgen. Insbesondere bei Bilddaten ist hierfür eine sehr hohe Rechenleistung erforderlich. Diese hohe Rechenleistung kann durch eine arithmetische Verarbeitungseinheit effizient zur Verfügung gestellt werden.
- Eine sehr flexible Definition einer Koordinatentransformation ist durch eine polynombasierte Formel möglich. Exemplarisch sei ein Polynom 4-ter Ordnung mit einer Eingangskoordinaten "x" dargestellt, welches wie folgt lautet:
f(x) = c0 + c1.x + c2.x2 + c3.x3 + c4.x4 (Gleichung 1)
- Die Koeffizienten "cn" legen die Funktion des Polynoms fest.
- Für eine Transformation mehrerer Koordinaten "(x, y, z, . . .)" in transformierte Koordinaten "(xt, yt, zt, . . .)" müssen mehrere Polynome mit unterschiedlichen Koeffizienten berechnet werden.
- Eine direkte Umsetzung der Berechnung von Gleichung 1 ist sehr aufwendig. Insbesondere die hohe Anzahl an Multiplikationen führt zu einer sehr komplexen Schaltungsumsetzung.
- Eine effizientere Berechnung ist möglich, wenn die Multiplikationen zur Berechnung der Potenzen der Eingangskoordinaten "x" mit den Multiplikationen der Koeffizienten "cn" kombiniert werden. Dies stellt eine sukzessive Multiplikation von Teilpolynomen dar, entsprechend der Gleichung:
f(x) = c0 + x.(c1 + x.(c2 + x.(c3 + x.c4)) (Gleichung 2)
- Praktische Aufgabenstellungen, insbesondere der Bildverarbeitung, erfordern jedoch selbst bei einer Schaltungsumsetzung entsprechend Gleichung 2 einen sehr hohen Aufwand.
- Aufgabe der Erfindung ist es, eine polynombasierte Koordinatentransformation, insbesondere für Anwendungen der Bildverarbeitung, in eine effiziente Schaltungsarchitektur umzusetzen. Dabei ist vor allem die Anzahl der erforderlichen Multiplikationen gering zu halten.
- Weiterhin soll die Koordinatentransformation möglichst universell konfigurierbar sein, um eine Vielzahl von Anwendungen zu unterstützen.
- Die Erfindung besteht darin, daß die Koordinatentransformation durch sukzessive Multiplikation von Teilpolynomen erfolgt und durch Ausnutzung von Symmetrien einige Koeffizienten zu Null gesetzt werden.
- Für die Berechnung einer Koordinatentransformation mit zwei Eingangskoordinaten "x" und "y" und einem Polynom 3-ter Ordnung gilt die Gleichung:
f(x, y) = c00 + c01.x + c10.y + c02.x2 + c11.x.y + c20.y2 + c03.x3 + c12.x2.y + c21.x.y2 + c30.y3 (Gleichung 3)
- Diese kann mit folgender Berechnungsweise effizienter umgesetzt werden:
f(x, y) = c00 + x.(c01 + x.(c02 + x.c03)) + y.(c10 + x.(c11 + x.c21) + y.(c20 + x.c12 + y.c30)) (Gleichung 4)
- Eine Schaltungsarchitektur, die diese Berechnung direkt umsetzt, ist in Bild 1 dargestellt. Die mit MULT gekennzeichneten Module führen eine Multiplikation, die mit ADD gekennzeichneten Module eine Addition durch. Besonders aufwendig sind die Module MULT zur Multiplikation. Zur Berechnung von Gleichung 4 werden neun Multiplikationsmodule benötigt.
- Anwendung der Bildverarbeitung enthalten oftmals eine ihnen innewohnende Symmetrie. Diese kann ausgenutzt werden, um die Anzahl der Multiplikationen zu reduzieren. Dazu kann es erforderlich sein die Eingangskoordinaten derart zu verschieben, daß die Symmetrieachse mit dem Nullpunkt der Koordinaten zusammenfällt.
- Als Beispiel diene Gleichung 5 zu deren Berechnung drei Multiplikationen nötig sind.
f(x, y) = 20 - 2.x - 10.y + 2.x.y = 20 + x.(-2 + 2.y) - 10.y (Gleichung 5)
- Gleichung 5 enthält eine Symmetrie bezüglich x = 5 und y = 1. Durch Subtraktion dieser Werte ergibt sich folgende äquivalente Gleichung:
f(x, y) = 10 + 2.(x - 5).(y - 1) (Gleichung 6)
- Zur Berechnung von Gleichung 6 sind lediglich zwei (statt drei) Multiplikationen erforderlich, so daß sich eine Einsparung des Schaltungsaufwands ergibt. Die Verschiebung der Koordinaten durch Subtraktion kann gemeinsam für jede Verwendung einer Koordinate erfolgen. Dies bedeutet, daß zunächst verschobene Koordinaten "xs" und "ys" berechnet werden. Das Polynom zur Koordinatentransformation basiert dann auf diesen verschobenen Koordinaten. Für das Beispiel aus Gleichung 6 ergibt sich damit Gleichung 7.
f(xs, ys) = 10 + 2.xs.ys
mit
xs = x - 5; ys = y - 1 (Gleichung 7)
- Eine effiziente Schaltungsarchitektur zur Berechnung polynombasierter mehrdimensionaler Koordinatentransformationen basiert auf einem PE genannten Untermodul welches in Bild 2 dargestellt ist.
- Das Untermodul PE erhält als Eingang die auf die Symmetrieachsen verschobenen Koordinaten, im Bild für zwei Koordinaten "xs" und "ys" dargestellt. Über einen Multiplexer (MUX) wird eine Koordinate ausgewählt und als Multiplikand einem Multiplikationsuntermodul (MULT) zur Verfügung gestellt. Der Multiplikator wird mit einem Addierer (ADD) aus der Summe anderer Eingänge gebildet. Diese Eingänge sind eine feste Konstante (const) sowie Zwischenergebnisse vorangegangener Stufen.
- Bild 3 stellt die Schaltungsarchitektur zur Berechnung von Koordinatentransformationen dar. Die Schaltungsarchitektur besteht aus Subtrahierern (OFFSET) zur Berechnung der verschobenen Koordinaten X_S, Y_S als Differenz der Eingangskoordinaten X, Y und einer programmierbaren Konstante D_X, D_Y. Die verschobenen Koordinaten werden an Untermodule PE geführt, die kaskadiert angeordnet sind (stage 0, stage 1, stage 2, stage n - 1, stagen). Die Ausgänge eines PE sind dabei mit den Eingängen eines oder mehrerer PEs einer nachfolgenden Stufe verbunden. Ist ein PE mit mehreren nachfolgenden PEs verbunden, können diese Verbindungsleitungen über Schalter (SWITCH) konfiguriert werden. Die Schalter (SWITCH) leiten Zwischenergebnisse eines PEs weiter oder ersetzen sie durch den Wert Null.
- Die Ergebnisse der letzten Stufe an PEs (stage 1) werden über mit einem abschließenden Addierer (ADD_F) zusammen mit einer weiteren Konstante (const) zusammengefaßt (stage 0) und bilden die transformierte Koordinate (FCO_R).
- Die Anzahl der Stufen bestimmt den Grad des Polynoms der mit der Schaltung berechnet werden kann. Die Anzahl der Untermodule PE je Stufe bestimmt die Anzahl der Koeffizienten ungleich Null, die pro Grad des Polynoms gewählt werden können.
- In Bild 4 ist eine Architektur dargestellt, welche ein Polynom 5-ter Ordnung, entsprechend Gleichung 8 berechnet.
f(xs, ys) = c00 + c01.xs + c10.ys + c02.xs 2 + c11.xs.ys + c20.ys 2 + c03.xs 3 + c12.xs 2.ys + c21.xs.ys 2 + c30.ys 3 + c04.xs 4 + c13.xs 3.ys + c22.xs 2.ys 2 + C31.xs.ys 3 + c40.ys 4 + c05.xs 5 + c14.xs 4.ys + c32.xs 3.ys 2 + c23.xs 2.ys 3 + c41.xs.ys 4 + c50.ys 5
mit
xs = x - dx; ys = y - dy (Gleichung 8)
- Die unterste Stufe (stage 0) verarbeitet die Ergebnisse der vorangegangenen Stufe und addiert die Konstante c00 aus Gleichung 8.
- Die Stufe "stage 1" enthält zwei PE, welche die Terme 1-ten Grades (xs, ys) entsprechend c01 und c10 berechnen.
- Die Stufe "stage 2" enthält drei PE, welche die Terme 2-ten Grades (xs 2, xs.ys, ys 2) entsprechend c02, c11, c20 berechnen.
- Die Stufe "stage 3" enthält zwei PE, welche die Terme 3-ten Grades (xs 3, xs 2.ys, xs.ys 2, ys 3) entsprechend c03, c12, C21, c30 berechnen. Da lediglich 2 PE vorhanden sind, können nur 2 der Koeffizienten dieses Grades frei gewählt werden. Die anderen Koeffizienten müssen zu Null gewählt werden.
- Die Stufe "stage 4" enthält zwei PE, welche die Terme 4-ten Grades (xs 4, xs 3.ys, xs 2.ys 2, xs.ys 3, ys 4) entsprechend c04, C13, c22, c31, cao berechnen. Da wie in der vorangegangenen Stufe (stage 2) lediglich 2 PE vorhanden sind, können nur 2 der Koeffizienten frei gewählt werden, während die anderen Koeffizienten zu Null gewählt werden müssen.
- Die Stufe "stage 5" enthält drei PE, welche die Terme 5-ten Grades (xs 5, xs 4.ys, xs 3.ys 2, xs 2.ys 3, xs.ys 4, ys 5) entsprechend c05, C14, c23, c32, c41, c50 berechnen. Mit den 3 PE können 3 der Koeffizienten zu Werten ungleich Null gewählt werden. Da dieser Stufe keine weitere Stufe vorangeht, werden die unbenutzten Eingänge des Untermoduls PE mit dem Wert Null verbunden. Die Addierer der Untermodule PE können dann entfallen und die Konstante des Untermoduls kann direkt an das Multiplikationsuntermodul angeschlossen werden.
- Durch die mit "bypass" gekennzeichnete Verbindung kann ein PE aus der Stufe "stage 5" nicht nur mit dem Eingang eines PEs aus der direkt nachfolgenden Stufe (stage 4), sondern auch mit PE-Eingängen weiterer nachfolgender Stufen (in Bild 3, "stage 3" und "stage 2") verbunden werden. Anstelle eines Termes 5-ter Ordnung kann damit ein weiterer Term 4-ter oder 3-ter Ordnung implementiert werden.
Claims (9)
1. Verfahren zur effizienten Berechnung polynombasierter
Koordinatentransformationen, dadurch gekennzeichnet, daß
a) die Berechnung eines Polynoms durch sukzessive Multiplikationen von
Teilpolynomen erfolgt und
b) einige Teilpolynome bei der Berechnung vernachlässigt werden können.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
Eingangskoordinaten durch Subtraktionen von Konstanten verschoben werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß für jede
Eingangskoordinate jeweils die gleiche Konstante subtrahiert wird und die
Subtraktionen zusammengefaßt werden.
4. Anordnung zur effizienten Berechnung polynombasierter
Koordinatentransformationen nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß zur Berechnung der Teilpolynome konfigurierbare Verarbeitungseinheiten
verwendet werden.
5. Anordnung nach einem oder mehreren der vorgenannten Ansprüchen,
dadurch gekennzeichnet, daß die konfigurierbaren Verarbeitungseinheiten eine
Multiplikation einer auswählbaren Eingangskoordinate mit der Summe aus einer
programmierbaren Konstante und aus Zwischenergebnissen vorangegangener
Stufen durchführt.
6. Anordnung nach einem oder mehreren der vorgenannten Ansprüchen,
dadurch gekennzeichnet, daß die konfigurierbaren Verarbeitungseinheiten in
mehreren Stufen kaskadiert sind und Teilergebnisse einer Stufe in einer oder
mehreren nachfolgenden Stufen weiterverarbeitet werden.
7. Anordnung nach einem oder mehreren der vorgenannten Ansprüchen,
dadurch gekennzeichnet, daß Teilergebnisse einer Stufe durch konfigurierbare
Schalter auf den Wert Null gesetzt werden können werden.
8. Anordnung nach einem oder mehreren der vorgenannten Ansprüchen,
dadurch gekennzeichnet, daß weniger konfigurierbare Verarbeitungseinheiten
verwendet werden, als zur Berechnung eines vollständigen Polynoms benötigt
werden.
9. Anordnung nach einem oder mehreren der vorgenannten Ansprüchen,
dadurch gekennzeichnet, daß die Eingangskoordinaten durch einen
vorangestellten Subtrahierer vorverarbeitet werden.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10146416A DE10146416A1 (de) | 2001-09-20 | 2001-09-20 | Verfahren und Anordnung zur effizienten Berechnung polynombasierter Koordinatentransformationen |
AU2002337121A AU2002337121A1 (en) | 2001-09-20 | 2002-09-20 | Method and arrangement for signal processing in particular image signal processing |
EP02772332A EP1430445A2 (de) | 2001-09-20 | 2002-09-20 | Verfahren und anorndung zur signalverarbeitung, insbesondere der bildsignalverarbeitung |
TW091121563A TWI233296B (en) | 2001-09-20 | 2002-09-20 | Method and device for signal processing, particularly image signal processing |
PCT/EP2002/010602 WO2003025857A2 (de) | 2001-09-20 | 2002-09-20 | Verfahren und anorndung zur signalverarbeitung, insbesondere der bildsignalverarbeitung |
US10/490,352 US20050047668A1 (en) | 2001-09-20 | 2002-09-20 | Method and arrangement for signal processing particular image signal processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10146416A DE10146416A1 (de) | 2001-09-20 | 2001-09-20 | Verfahren und Anordnung zur effizienten Berechnung polynombasierter Koordinatentransformationen |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10146416A1 true DE10146416A1 (de) | 2003-04-17 |
Family
ID=7699698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10146416A Withdrawn DE10146416A1 (de) | 2001-09-20 | 2001-09-20 | Verfahren und Anordnung zur effizienten Berechnung polynombasierter Koordinatentransformationen |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050047668A1 (de) |
EP (1) | EP1430445A2 (de) |
AU (1) | AU2002337121A1 (de) |
DE (1) | DE10146416A1 (de) |
TW (1) | TWI233296B (de) |
WO (1) | WO2003025857A2 (de) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5846741A (ja) * | 1981-09-11 | 1983-03-18 | Nec Corp | 復号器 |
JP2674287B2 (ja) * | 1990-08-21 | 1997-11-12 | 富士ゼロックス株式会社 | グラフィックマイクロコンピュータ |
DE10052263A1 (de) * | 2000-10-21 | 2002-05-08 | Liesegang Electronics Gmbh | Verfahren und Anordnung zur Bildverarbeitung mit gleichzeitiger Koordinatentransformation |
-
2001
- 2001-09-20 DE DE10146416A patent/DE10146416A1/de not_active Withdrawn
-
2002
- 2002-09-20 US US10/490,352 patent/US20050047668A1/en not_active Abandoned
- 2002-09-20 TW TW091121563A patent/TWI233296B/zh not_active IP Right Cessation
- 2002-09-20 EP EP02772332A patent/EP1430445A2/de not_active Withdrawn
- 2002-09-20 WO PCT/EP2002/010602 patent/WO2003025857A2/de not_active Application Discontinuation
- 2002-09-20 AU AU2002337121A patent/AU2002337121A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2003025857A3 (de) | 2004-01-15 |
TWI233296B (en) | 2005-05-21 |
AU2002337121A1 (en) | 2003-04-01 |
WO2003025857A2 (de) | 2003-03-27 |
US20050047668A1 (en) | 2005-03-03 |
EP1430445A2 (de) | 2004-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69435047T2 (de) | Schaltung und Verfahren zur parallelen Addition und Mittelwertbildung | |
DE4229666C2 (de) | Wechselseitig arbeitende Divisionsschaltung | |
DE602005000367T2 (de) | Digitale Frequenzaufwärtskonversionsschaltung | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2911096C2 (de) | ||
DE3240906A1 (de) | Digitale filteranordnung mit zwei ausgaengen | |
DE10013068C2 (de) | Potenzierungsoperationsvorrichtung | |
DE10219158B4 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation | |
EP1543408A1 (de) | Vorrichtung und verfahren zum berechnen einer multiplikation mit einer verschiebung des multiplikanden | |
EP0016318B1 (de) | Korrekturschaltung zur Verbesserung der Konturenschärfe von Fernsehbildern | |
EP0628183B1 (de) | Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen | |
EP0660246A2 (de) | Signalprozessor | |
DE10146416A1 (de) | Verfahren und Anordnung zur effizienten Berechnung polynombasierter Koordinatentransformationen | |
EP0130397B1 (de) | Digitales Rechenwerk | |
DE10200133B4 (de) | Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen | |
EP0629943B1 (de) | Multiplizierer für reelle und komplexe Zahlen | |
EP1672480A1 (de) | Verfahren und Vorrichtung zur Durchführung einer Multiplikations- oder Divisionsoperation in einer elektronischen Schaltung | |
DE3702697A1 (de) | Paritaetserzeugungsschaltung | |
EP0294540B1 (de) | Verfahren zur zweidimensionalen diskreten inversen Cosinus-Transformation | |
EP0254824A2 (de) | Verfahren zur zweidimensionalen diskreten Cosinus-Transformation | |
DE19644688A1 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2 APPROX ) | |
DE3700740A1 (de) | Linearapproximationsumformschaltung | |
DE19757891C2 (de) | Arithmetische Betriebseinrichtung zum Berechnen einer Summe von zwei Produkten | |
DE3505989C2 (de) | ||
DE19718657A1 (de) | Verfahren und Anordnung zur Bildpunktwertberechnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |