DE19715491A1 - Interpolationsverfahren und -vorrichtung zur schnellen Bildvergrößerung - Google Patents
Interpolationsverfahren und -vorrichtung zur schnellen BildvergrößerungInfo
- Publication number
- DE19715491A1 DE19715491A1 DE19715491A DE19715491A DE19715491A1 DE 19715491 A1 DE19715491 A1 DE 19715491A1 DE 19715491 A DE19715491 A DE 19715491A DE 19715491 A DE19715491 A DE 19715491A DE 19715491 A1 DE19715491 A1 DE 19715491A1
- Authority
- DE
- Germany
- Prior art keywords
- pixel
- image
- value
- source image
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4007—Interpolation-based scaling, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/393—Enlarging or reducing
- H04N1/3935—Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
Description
Diese Erfindung bezieht sich auf eine Transformation von di
gitalen Bildern und insbesondere auf Interpolationsverfahren
und -Vorrichtungen, die eine schnelle Bildvergrößerung erge
ben.
Ein digitales Bild eines Objekts ist als ein Array von Zei
len und Spalten von Pixeln gebildet, die Pixeln auf einem
Anzeigebildschirm oder einem anderen Anzeigegerät entspre
chen. Pixel sind typischerweise durch ihre x-, y-Koordinaten
in dem Pixelarray gekennzeichnet. Jedes Pixel weist einen
oder mehrere zugeordnete Werte auf, die einen inkrementalen
Bereich des Objekts darstellen. Wenn das Bild ein Schwarz
weißbild ist, stellt der Pixelwert eine Graustufe des inkre
mentalen Bereichs dar. Wenn das Bild ein Farbbild ist, wer
den jedem Pixel Rot-, Grün- und Blauwerte zugeordnet. Bei
spiele digitaler Bilder umfassen, sind jedoch nicht darauf
begrenzt, medizinische Bilder, wie z. B. digitale Röntgen
strahl- und MRI-Bilder, Digitalfilmbilder, Digitalvideobil
der und Satellitenbilder.
Verschiedene räumliche Transformationen können an einem di
gitalen Bild durchgeführt werden. Diese Transformationen um
fassen ein Skalieren, eine Drehung und eine Translation von
einem Bild oder einem Teil von einem Bild. Wenn ein Bild von
einem Objekt vergrößert wird, wird ein Wiederabtasten benö
tigt, um das Original- oder Quellenbild auf ein vergrößertes
oder ein Zielbild abzubilden. Das vergrößerte Bild wird
durch eine größere Anzahl von Pixeln dargestellt als das
Quellenbild.
Eine herkömmliche Technik zum Vergrößern eines Bilds von ei
nem Objekt betrifft eine umgekehrte Abbildung von Pixeln des
vergrößerten Bilds zu neuabgetasteten Punkten des Quellen
bilds. Im allgemeinen fallen die neuabgetasteten Punkte in
dem Quellenbild nicht genau mit den einzelnen Pixelorten
zusammen. Dementsprechend ist es notwendig, einen Pixelwert
des neuabgetasteten Punktes aus einem oder mehreren Pixel
werten in der Nachbarschaft des neuabgetasteten Punktes zu
bestimmen. Die Nachbarpixel der neuabgetasteten Punkte wer
den bestimmt. Bei einem Ansatz wird der Wert des neuabge
tasteten Punktes als der Wert des nächstliegenden Nachbar
pixels in dem Quellenbild bestimmt. Bei einem anderen Ansatz
wird die Interpolation zwischen einer ausgewählten Anzahl
von Nachbarpixeln verwendet, um den Wert des neuabgetasteten
Punkts zu bestimmen. Typischerweise wird entweder eine bi
lineare oder eine bikubische Interpolation verwendet. Bei
der bilinearen Interpolation werden die vier nächstliegenden
Nachbarpixel des neuabgetasteten Punktes bestimmt. Vertikal
ausgerichtete Zwischenpixelwerte werden durch Interpolation
zwischen Sätzen von zwei horizontal ausgerichteten Nachbar
pixeln bestimmt. Dann wird der Pixelwert des neuabgetasteten
Punktes durch Interpolation zwischen den vertikal ausgerich
teten Zwischenpixelwerten bestimmt. Das Verfahren wird für
jedes Pixel in dem vergrößerten Bild wiederholt. Ein ähn
licher Ansatz wird für die bikubische Interpolation ver
wendet. Es werden die 16 nächstliegenden Nachbarpixel des
neuabgetasteten Punktes bestimmt. Vertikal ausgerichtete
Zwischenpixelwerte werden durch Interpolation zwischen
Sätzen von vier horizontal ausgerichteten Nachbarpixeln be
stimmt. Dann wird der Pixelwert des neuabgetasteten Punktes
durch Interpolation zwischen den vier vertikal ausgerichte
ten Zwischenpixelwerten bestimmt. Das Verfahren wird für
jedes Pixel in dem vergrößerten Bild wiederholt.
Ein typisches vergrößertes Bild kann 400×400 bis 1600×1200
Pixel aufweisen. Die Interpolationsoperationen, die
mehrfache Berechnungen für jedes Pixel in dem Bild erfor
dern, können zeitaufwendig sein, selbst wenn dieselben
mittels eines sehr schnellen digitalen Computers durchge
führt werden. Die Zeit, die für eine Bildvergrößerung er
forderlich ist, kann für einen Anwender lästig oder nicht
akzeptabel sein.
Es ist die Aufgabe der vorliegenden Erfindung, ein verbes
sertes Interpolationsverfahren und eine verbesserte Vorrich
tung zur schnellen Bildvergrößerung zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1,
durch ein Verfahren gemäß Anspruch 3 oder 4, durch eine Vor
richtung gemäß Anspruch 6, 8, 9 oder 10 gelöst.
Gemäß der vorliegenden Erfindung sind Verfahren und Vorrich
tungen zum Erzeugen von Pixelwerten in einem vergrößerten
Bestimmungsbild von einem Objekt in einem Bestimmungsbild
raum geschaffen. Die Pixelwerte in dem Bestimmungsbild wer
den aus einem Quellenbild des Objekts in einem Quellenbild
raum erzeugt. Das Bestimmungsbild und das Quellenbild weisen
jeweils ein zweidimensionales Pixelarray auf. Jedes Pixel
weist einen Wert auf, der das Objekt darstellt. Die Pixel
orte des Bestimmungsbilds in dem Bestimmungsbildraum werden
aus einem Vergrößerungsfaktor und der Größe und dem Ort des
Quellenbildes bestimmt. Ein erstes Pixel in dem Bestimmungs
bild wird in einen ersten neuabgetasteten Punkt in dem Quel
lenbildraum transformiert. Nachbarpixel des ersten neuab
getasteten Punkts werden in dem Quellenbildraum bestimmt.
Zwischenpixelwerte werden durch Interpolation zwischen ver
tikal ausgerichteten Nachbarpixeln in dem Quellenbildraum
bestimmt. Ein Wert von dem ersten neuabgetasteten Punkt in
dem Bestimmungsbild wird durch eine einzige horizontale
Interpolation zwischen den Zwischenpixelwerten bestimmt.
Das obige Verfahren wird verwendet, um den Wert von dem er
sten Pixel in einer Pixelzeile des Bestimmungsbilds zu be
stimmen. Es werden dann die Werte der verbleibenden Pixel in
der aktuellen Pixelzeile des Bestimmungsbilds der Reihe nach
bestimmt, wobei jeder Pixelwert wie folgt bestimmt wird. Ein
aktuelles Pixel in dem Bestimmungsbild wird in einen aktuel
len neuabgetasteten Punkt in dem Quellenbildraum transfor
miert. Das aktuelle Pixel ist benachbart zu dem vorhergehen
den Pixel in der aktuellen Zeile des Bestimmungsbilds. Als
nächstes wird eine Bestimmung vorgenommen, ob der aktuelle
neuabgetastete Punkt in dem Quellenbildraum die gleichen
Nachbarpixel wie der vorhergehende Punkt aufweist. Wenn der
aktuelle neuabgetastete Punkt die gleichen Nachbarpixel wie
der vorhergehende Punkt aufweist, kann ein Wert des ak
tuellen neuabgetasteten Punkts in dem Bestimmungsbild durch
eine einzige horizontale Interpolation zwischen den Zwi
schenpixeln, die für den vorhergehenden Punkt berechnet wur
den, bestimmt werden. Wenn der aktuelle neuabgetastete Punkt
nicht die gleichen Nachbarpixel aufweist wie der vorherge
hende Punkt, kann ein einzelner aktueller Zwischenpixelwert
durch Interpolation zwischen einem aktuellen Satz von verti
kal ausgerichteten Nachbarpixeln des aktuellen neuabgetaste
ten Punkts bestimmt werden, und der Wert des aktuellen neu
abgetasteten Punkts in dem Bestimmungsbild kann durch eine
einzige horizontale Interpolation zwischen den aktuellen
Zwischenpixelwerten und zumindest einem der Zwischenpixel
werte, die dem vorhergehenden Punkt entsprechen, bestimmt
werden. Folglich können aktuelle Pixelwerte für jedes Pixel
außer dem ersten Pixel in jeder Zeile durch eine Interpola
tion bestimmt werden, wenn der aktuelle neuabgetastete Punkt
die gleichen Nachbarpixel wie der vorhergehende Punkt auf
weist, und durch zwei Interpolationen bestimmt werden, wenn
der aktuelle neuabgetastete Punkt nicht die gleichen Nach
barpixel aufweist wie der vorhergehende Punkt. Die Erfindung
kann mit der bilinearen Interpolation und mit der bikubi
schen Interpolation verwendet werden.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 eine bildliche Darstellung von einer Bildvergröße
rung gemäß der vorliegenden Erfindung;
Fig. 2 ein Diagramm, das die Reihenfolge der Operationen
für eine bilineare Interpolation gemäß der vorlie
genden Erfindung darstellt;
Fig. 3 ein Diagramm, das die Reihenfolge der Operationen
für die bikubische Interpolation gemäß der vorlie
genden Erfindung darstellt;
Fig. 4 ein Diagramm, das ein Verfahren zum Bestimmen von
aufeinanderfolgenden Pixelwerten durch die bi
lineare Interpolation gemäß der vorliegenden
Erfindung darstellt;
Fig. 5 ein Blockdiagramm von einem Beispiel einer Hard
warekonfiguration zum Implementieren der vorliegen
den Erfindung; und
Fig. 6A bis 6C ein Flußdiagramm von einem Verfahren zum Er
zeugen eines vergrößerten Bilds von einem Objekt
gemäß der vorliegenden Erfindung.
Die vorliegende Erfindung bezieht sich auf die Vergrößerung
von einem Digitalbild von einem Objekt oder von vielfachen
Objekten. Wie in Fig. 1 gezeigt ist, wird ein Quellenbild 10
von einem Objekt 12 vergrößert, um ein Bestimmungsbild 14
von dem Objekt 12 zu liefern. Das Quellenbild 10 ist in ei
nem Quellenbildraum gebildet, und das Bestimmungsbild 14 ist
in einem Bestimmungsbildraum gebildet. Das Quellenbild 10
und das Bestimmungsbild 14 können jeweils ein Teil von einem
größeren Bild sein. Das Quellenbild 10 besteht aus einem
Array von Pixeln 20₁, 20₂, etc., das in Zeilen und Spalten
angeordnet ist. Das Bestimmungsbild 14 besteht gleichermaßen
aus einem Array von Pixeln 22₁, 22₂, etc., das in Zeilen und
Spalten angeordnet ist. Die Pixelorte sind durch x-, y-Koor
dinaten in jedem Pixelarray gekennzeichnet. Jedes der Pixel
in dem Quellenbild 10 weist einen oder mehrere zugeordnete
Pixelwerte auf, die eine Graustufe in einem Schwarzweißbild
oder RGB-Farbwerte in einem Farbbild darstellen. Pixelwerte
in dem Bestimmungsbild 14 werden aus der Größe und dem Ort
des Quellenbilds und dem spezifizierten Vergrößerungsfaktor
bestimmt. Für ein gegebenes Anzeigeformat sind die Pixelab
messungen in dem Quellenbild 10 und in dem Bestimmungsbild
14 gleich. Dementsprechend ist die Anzahl der Pixel in dem
vergrößerten Bestimmungsbild größer als die Anzahl der Pixel
in dem Quellenbild 10. Die vorliegende Erfindung liefert ein
effizientes Verfahren und eine effiziente Vorrichtung zum
Bestimmen der Pixelwerte in dem vergrößerten Bestimmungsbild
14.
Da das Bestimmungsbild 14 eine größere Anzahl von Pixeln
aufweist als das Quellenbild 10, ist es üblich eine Umkehr-
oder Rückwärtstransformationstechnik zu verwenden. Gemäß der
Rückwärtstransformationstechnik wird jedes Pixel 22₁, 22₂,
etc. in dem Bestimmungsbild 14 in das Quellenbild 10 trans
formiert, und Pixelwerte werden aus dem Quellenbild 10 be
stimmt. Die Schritte, die die Transformation betreffen,
lauten wie folgt. Die Pixelorte in dem Bestimmungsbild 14
werden aus der Größe und dem Ort des Quellenbilds 10 und dem
spezifizierten Vergrößerungsfaktor bestimmt. Ein Pixel in
dem vergrößerten Bestimmungsbild 14 wird von dem Bestim
mungsbildraum zu dem Quellenbildraum gemäß der folgenden
Operation umkehrtransformiert:
worin x und y die Koordinaten von dem Bestimmungspixel in
dem Bestimmungsbildraum darstellen, und x′ und y′ die Koor
dinaten von einem neuabgetasteten Punkt in dem Quellenbild
raum darstellen. Die Matrix, die die Koeffizienten a, b, d,
e, g und h umfaßt, ist eine zweidimensionale affine Trans
formationsmatrix, in der die Koeffizienten a und e die Ska
lierung darstellen, die Koeffizienten a, b, d und e die Ro
tation darstellen und die Koeffizienten g und h die Transla
tion darstellen. Die zweidimensionale affine Transforma
tionsmatrix ist Fachleuten bekannt. Die Werte von a, b, d,
e, g und h werden aus der spezifizierten Skalierung, der
Drehung und der Translation abgeleitet. Die Gleichung (1)
wird nach x′ und y′ wie folgt aufgelöst:
x′ = (a * x) + (d * y) + g (2)
y′ = (b * x) + (e * y) + h (3)
Im allgemeinen sind die Koordinaten des neuabgetasteten
Punkts x′, y′ gebrochene Werte und fallen nicht mit Pixel
orten in dem Quellenbildraum zusammen. Der nächste Schritt
liegt darin, Nachbarpixel in dem Quellenbild zu bestimmen,
die nächstliegend zu dem neuabgetasteten Punkt sind, der in
den Gleichungen (2) und (3) bestimmt wurde. Ein erster
Nachbar wird wie folgt bestimmt:
i = floor(x′) (4)
j = floor(y′) (5)
worin i und j ganzzahlige Werte von einem Nachbarpixel in
dem Quellenbild darstellen und "floor" eine C-Bibliotheks
funktion ist, die einen Gleitkommawert in einen skalaren
Wert umwandelt. Werte von einer Gruppe von Nachbarpixeln,
die den neuabgetasteten Punkt umgeben, können bei einer In
terpolationsoperation verwendet werden, um einen Pixelwert
von dem neuabgetasteten Punkt in dem Bestimmungsbild zu be
stimmen. Typischerweise wird die bilineare Interpolation
oder die bikubische Interpolation verwendet. Bei der bili
nearen Interpolation werden vier Nachbarpixel in einem 2×2-
Array, das den neuabgetasteten Punkt umgibt, verwendet. Bei
der bikubischen Interpolation werden 16 Nachbarpixel in ei
nem 4×4-Array verwendet. Dann werden die Werte von dx und
dy, die den Ort des neuabgetasteten Punkts relativ zu einem
Basisnachbarpixel spezifizieren, wie folgt bestimmt:
dx = x′ - i (6)
dy = y′ - j (7)
worin dx die x-Achsenkomponente des Abstands zwischen dem
neuabgetasteten Punkt und dem nächstliegenden Nachbarpixel
darstellt, das eine kleinere x-Koordinate aufweist als der
neuabgetastete Punkt, und worin dy die y-Achsenkomponente
des Abstands zwischen dem neuabgetasteten Punkt und dem
gleichen nächstliegenden Nachbarpixel darstellt.
Fig. 2 zeigt schematisch einen Teil von einem Quellenbild,
das einen neuabgetasteten Punkt r und Nachbarpixel p11, p12,
p21 und p22, die für die bilineare Interpolation verwendet
werden, umfaßt, auf die als "bilineare Nachbarschaft" Bezug
genommen wird. In Fig. 2 sind ferner dx, die x-Achsenkompo
nente des Abstands zwischen dem neuabgetasteten Punkt r und
dem Nachbarpixel mit einer kleineren x-Koordinate, und dy,
die y-Achsenkomponente des Abstands zwischen dem neuabge
tasteten Punkt r und dem Nachbarpixel mit einer kleineren
y-Koordinate, gezeigt. Die bilineare Interpolation zum Be
stimmen des Pixelwerts des neuabgetasteten Punkts r in dem
Bestimmungsbild wird in zwei Abschnitten durchgeführt. Er
stens, wird eine vertikale Interpolation zwischen vertikal
ausgerichteten Pixeln p11 und p21 durchgeführt, um einen
Zwischenpixelwert p1 in einem Abstand dy von Pixel p11 zu
bestimmen. Ferner wird eine vertikale Interpolation zwischen
vertikal ausgerichteten Pixeln p12 und p22 durchgeführt, um
einen Zwischenpixelwert p2 in einem Abstand dy von Pixel p12
zu bestimmen. Es wird auffallen, daß die Zwischenpixelwerte
p1 und p2 den gleichen y-Wert aufweisen und daher horizontal
ausgerichtet sind. Als nächstes wird eine horizontale Inter
polation zwischen den horizontal ausgerichteten Zwischen
pixelwerten p1 und p2 durchgeführt, um den Pixelwert des
neuabgetasteten Punkts r zu bestimmen. Die Werte von p1, p2
und r werden wie folgt bestimmt:
p1 = ((p21 - p11) * dy) + p11 (8)
p2 = ((p22 - p12) * dy) + p12 (9)
r = ((p2 - p1) * dx) + p1 (10)
worin p11, p21, p12 und p22 die Pixelwerte der entsprechen
den Nachbarpixel in dem Quellenbild darstellen. Der Wert von
r ist ein Pixelwert in dem Bestimmungsbild. Pixelwerte der
verbleibenden Pixel in der gleichen Zeile des Bestimmungs
bilds werden einfacher und schneller wie unten beschrieben
bestimmt.
Eine schematische Darstellung von einer Nachbarschaft oder
"bikubischen Nachbarschaft", die für eine bikubische Inter
polation verwendet wird, ist in Fig. 3 gezeigt. Eine Gruppe
von 16 Nachbarpixeln p00, p01, . . ., p33 wird bezüglich dem
neuabgetasteten Punkt r bestimmt. Die 16 Nachbarpixel weisen
eine 4×4-Konfiguration auf, und der neuabgetastete Punkt r
ist in einer Region angeordnet, die durch Pixel p11, p12,
p21 und p22 definiert ist. Der Wert von dx wird bezüglich zu
dem nächstliegenden Nachbarpixel bestimmt, das eine kleinere
x-Koordinate als der neuabgetastete Punkt r aufweist, und
der Wert von dy wird bezüglich zu dem nächstliegenden Nach
barpixel bestimmt, das eine kleinere y-Koordinate aufweist
als der neuabgetastete Punkt r. Die bikubische Interpolation
wird wie folgt durchgeführt. Zuerst wird eine vertikale In
terpolation auf jede der vertikal ausgerichteten Pixelspal
ten in der bikubischen Nachbarschaft durchgeführt, um Zwi
schenpixelwerte p0, p1, p2 und p3 zu bestimmen, von denen
jeder die gleiche y-Koordinate aufweist wie der neuabgeta
stete Punkt r. Beispielsweise wird der Zwischenpixelwert p0
zwischen den vertikal ausgerichteten Pixeln p00, p10, p30
bestimmt. Die Zwischenpixelwerte p1, p2 und p3 werden auf
die gleiche Art und Weise durch vertikale Interpolation be
stimmt. Dann wird eine horizontale Interpolation an den ho
rizontal ausgerichteten Zwischenpixelwerten p0, p1, p2 und
p3 durchgeführt, um die Pixelwerte des neuabgetasteten Punk
tes r zu bestimmen, der einen Pixelwert in dem Bestimmungs
bild darstellt. Die bikubische Interpolation wird gemäß den
folgenden Gleichungen durchgeführt:
cx0 = (a * dxˆ3)-(2a * dxˆ2)+(a * dx) (11)
cx1 = ((a+2)dxˆ3)-((a+3) * dxˆ2)+1 (12)
cx2 = -((a+2) * dxˆ3)+((2a+3) * dxˆ2)-(a * dx) (13)
cx3 = (a * dxˆ2)-(a * dxˆ3) (14)
cy0 = (a * dyˆ3)-(2a * dyˆ2)+(a * dy) (15)
cy1 = ((a+2)dyˆ3)-((a+3) * dyˆ2)+1 (16)
cy2 = -((a+2) * dyˆ3)+((2a+3) * dyˆ2)-(a * dy) (17)
cy3 = (a * dyˆ2)-(a * dyˆ3) (18)
p0 = (cy0 * p00)+(cy1 * p10)+(cy2 * p20)+(cy3 * p30) (19)
p1 = (cy0 * p01)+(cy1 * p11)+(cy2 * p21)+(cy3 * P31) (20)
p2 = (cy0 * p02)+(cy1 * p12)+(cy2 * p22)+(cy3 * p32) (21)
p3 = (cy0 * p03)+(cy1 * p13)+(cy2 * p23)+(cy3 * p33) (22)
r = (cx0 * p0)+(cx1 * p1)+(cx2 * p2)+(cx3 * p3) (23),
worin a der in Gleichung (1) gezeigte Matrixkoeffizient ist
und cx0, cx1, cx2, cx3, cy0, cy1, cy2 und cy3 kubische Fal
tungskoeffizienten sind. Die Variablen p00, p01, . . ., p33
sind die Pixelwerte der jeweiligen Pixeln in der bikubischen
Nachbarschaft. Die Pixelwerte der verbleibenden Pixel in der
gleichen Zeile des Bestimmungsbilds werden einfacher und
schneller wie unten beschrieben bestimmt.
Orthogonale Vergrößerungen (Vergrößerungen ohne Drehung) er
zeugen häufig abhängig von dem Vergrößerungsfaktor üblicher
weise mehr als einen und oftmals vielfache neuabgetastete
Punkte in der gleichen Nachbarschaft. Fig. 4 ist eine
schematische Darstellung von einer bilinearen Nachbarschaft,
bei der aufeinanderfolgende neuabgetastete Punkte r1, r2 und
r3 in die Nachbarschaft fallen, die durch Pixel p11, p12,
p21 und p22 in dem Quellenbild definiert ist. Das Bestim
mungsbild wird vorzugsweise durch Bestimmen aufeinander
folgender Pixelwerte in einer Pixelzeile und dann weiter
gehend zu der nächsten Zeile erzeugt, bis das Verfahren ab
geschlossen ist. Die neuabgetasteten Punkte r1, r2 und r3
weisen den gleichen y-Achsenwert und daher das gleiche dy
auf, da sie aufeinanderfolgenden Pixeln in einer Zeile des
Bestimmungsbilds entsprechen. Dementsprechend können die be
rechneten Zwischenpixelwerte p1 und p2 für jeden neuabge
tasteten Punkt wiederverwendet werden, der in die Nachbar
schaft fällt, die durch die Pixel p11, p12, p21 und p22
definiert ist. Man nimmt an, daß der neuabgetastete Punkt r1
dem ersten Pixel in einer Zeile des Bestimmungsbilds ent
spricht. Die Zwischenpixelwerte p1 und p2 werden wie oben
beschrieben durch vertikale Interpolation zwischen den
Pixelwerten p11 und p21 bzw. zwischen den Pixelwerten p12
und p22 berechnet. Dann wird der Wert des neuabgetasteten
Punkts r1 durch horizontale Interpolation zwischen den
Zwischenpixelwerten p1 und p2 unter Verwendung von dx1, das
dem neuabgetasteten Punkt r1 entspricht, bestimmt. Für die
neuabgetasteten Punkte r2 und r3 werden die gleichen Zwi
schenpixelwerte p1 und p2 verwendet. Der Wert des neuab
getasteten Punkts r2 wird durch horizontale Interpolation
zwischen den Zwischenpixelwerten p1 und p2 unter Verwendung
von dx2 bestimmt. Der Wert des neuabgetasteten Punkts r3
wird durch horizontale Interpolation zwischen
Zwischenpixelwerten p1 und p2 unter Verwendung von dx3 be
stimmt. Folglich werden die Zwischenwerte p1 und p2, die
durch vertikale Interpolation zwischen vertikal ausgerichte
ten Nachbarpixeln bestimmt werden, für jeden neuabgetasteten
Punkt wiederverwendet, der in die Nachbarschaft fällt, die
durch die Pixel p11, p12, p21 und p22 definiert ist. Die
Gleichungen zum Bestimmen der neuabgetasteten Punkte r1, r2
und r3 sind im folgenden gezeigt:
p1 = ((p21 - p11) * dy) + p11 (24)
p2 = ((p22 - p12) * dy) + p12 (25)
r1 = ((p2 - p1) * dx1) + p1 (26)
r2 = ((p2 - p1) * dx2) + p1 (27)
r3 = ((p2 - p1) * dx3) + p1 (28)
Durch Wiederverwenden der Zwischenpixelwerte p1 und p2 wird
der erforderliche Rechenaufwand wesentlich verringert. Ins
besondere ist lediglich eine horizontale Interpolation für
jeden neuabgetasteten Punkt, außer dem ersten, in einer ge
gebenen Nachbarschaft erforderlich.
Zusätzlich zu der verringerten Berechnung in einer Nachbar
schaft werden die vertikalen Interpolationen verringert, so
wie sich das Transformationsverfahren zu benachbarten Nach
barschaften bewegt. Nochmals bezugnehmend auf Fig. 4, weist
ein neuabgetasteter Punkt r4 die Nachbarpixel p12, p13, p22
und p23 auf. Die Nachbarschaft des neuabgetasteten Punkts r4
ist benachbart zu und in der gleichen Zeile wie die Nachbar
schaft der neuabgetasteten Punkte r1, r2 und r3. Der Zwi
schenpixelwert p2 ist aus den Berechnungen bekannt, die in
der benachbarten Nachbarschaft durchgeführt werden. Der Zwi
schenpixelwert p3 wird durch vertikale Interpolation zwi
schen den vertikal ausgerichteten Nachbarpixeln p13 und p23
bestimmt. Der Wert des neuabgetasteten Punkts r4 wird durch
horizontale Interpolation zwischen den Zwischenpixelwerten
p2 und p3 bestimmt. Folglich wird in Nachbarschaften, die
der ersten Nachbarschaft in einer Pixelzeile folgen, der er
ste neuabgetastete Punkt durch eine vertikale Interpolation
und eine horizontale Interpolation bestimmt. Folgende neuab
getastete Punkte in der gleichen Nachbarschaft werden durch
eine horizontale Interpolation wie oben beschrieben be
stimmt. Da es lediglich für den ersten neuabgetasteten Punkt
in jeder Pixelzeile notwendig ist, zwei vertikale Interpola
tionen und eine horizontale Interpolation durchzuführen,
werden die erforderlichen Berechnungen wesentlich im Ver
gleich zum Stand der Technik, der drei Interpolationen für
jeden neuabgetasteten Punkt erfordert, verringert.
Ein ähnlicher Ansatz wird bei der bikubischen Interpolation
verwendet. Die volle bikubische Interpolation wird lediglich
für den ersten neuabgetasteten Punkt in jeder Pixelzeile er
fordert. Für aufeinanderfolgende neuabgetastete Punkte in
der gleichen Nachbarschaft (wie z. B. der Nachbarschaft, die
durch die Nachbarpixel p11, p12, p21 und p22 in Fig. 3 defi
niert ist) wird der Wert des neuabgetasteten Punkts durch
eine horizontale Interpolation zwischen den Zwischenpixel
werten p0, p1, p2 und p3 bestimmt. Die vertikale Interpola
tionen zur Bestimmung der zwischenpixelwerte p0, p1, p2 und
p3 werden wiederverwendet, um die Pixelwerte von folgenden
neuabgetasteten Punkten in der gleichen Nachbarschaft zu
bestimmen. Wenn der neuabgetastete Punkt in die benachbarte
Nachbarschaft fällt, ist lediglich eine vertikale Interpo
lation und eine horizontale Interpolation erforderlich. Es
sei beispielsweise angenommen, daß ein neuer neuabgetasteter
Punkt r5 in eine Nachbarschaft fällt, die durch die nächst
liegenden Nachbarpixel p12, p13, p22 und p23 definiert ist.
Die 16 Nachbarpixel des neuabgetasteten Punkts r5 umfassen
12 Pixel aus der vorhergehenden Nachbarschaft (ausgenommen
die Pixel p00, p10, p20 und p30) und neue Pixel p04, p14,
p24 und p34. Folglich ist die bikubische Nachbarschaft des
neuabgetasteten Punkts r5 benachbart zu und in der gleichen
Zeile wie die Nachbarschaft des neuabgetasteten Punkts r.
Der Wert des neuabgetasteten Punkts r5 wird wie folgt be
stimmt. Ein Zwischenpixelwert p4 wird durch vertikale Inter
polation zwischen den vertikal ausgerichteten Pixelwerten
p04, p14, p24 und p34 bestimmt. Der Wert des neuabgetasteten
Punkts r5 wird durch horizontale Interpolation zwischen den
Zwischenpixelwerten p1, p2, p3 und p4 bestimmt. Die Zwi
schenpixelwerte p1, p2 und p3 werden aus vorhergehenden In
terpolationen wiederverwendet. Folglich erfordern neuabgeta
stete Punkte in der gleichen Nachbarschaft lediglich eine
horizontale Interpolation. Der erste neuabgetastete Punkt in
einer benachbarten Nachbarschaft erfordert eine vertikale
Interpolation und eine horizontale Interpolation. Im Gegen
satz dazu erfordern bekannte Techniken fünf Interpolationen
für jedes Pixel in dem Bestimmungsbild. Es wurden durch
schnittliche Leistungsverbesserungen von 80% für die bili
neare Interpolation und von 400% für die bikubische Interpo
lation gemessen.
Ein Blockdiagramm eines Beispiels eines Computersystems 100,
das zum Vergrößern digitaler Bilder gemäß der vorliegenden
Erfindung geeignet ist, ist in Fig. 5 gezeigt. Das Computer
system 100 umfaßt eine zentrale Verarbeitungseinheit (CPU;
CPU = Central Processing Unit) 110, eine Plattenspeicherein
heit 120, eine Anzeige 130 zum Anzeigen von Quellenbildern
von Objekten und vergrößerten Bestimmungsbildern von Objek
ten und ein Eingabegerät 140. Der Bildspeicher oder Rahmen
puffer 118 kann beispielsweise das Modell HCRX-24 sein, das
durch Hewlett-Packard Company hergestellt wird. Die Platten
speichereinheit 120 ist typischerweise unter Verwendung von
einem oder mehreren Festplattenlaufwerken implementiert. Das
Eingabegerät 140 kann unter Verwendung einer Standardtasta
tur und eines Zeigegeräts, wie z. B. einer Maus oder einem
Trackball, implementiert sein.
Die CPU 110 umfaßt einen Prozessor 112, einen Speicher 114
und einen Bildspeicher 118 zum Speichern eines Bilds, das
auf der Anzeige 130 angezeigt werden soll. Der Prozessor 112
liefert die primären Verarbeitungsfähigkeiten des Computer
systems 100 und kann beispielsweise unter Verwendung eines
Modells C110, das durch Hewlett-Packard Company hergestellt
wird, implementiert sein. Der Speicher 114 wird zur Speiche
rung von Programmbefehlen und zur Speicherung von Ergeb
nissen von Berechnungen, die durch den Prozessor 112 durch
geführt werden, verwendet. Bei einem bevorzugten Aus
führungsbeispiel umfaßt der Speicher 64 Megabit RAM. Der
Bildspeicher 118 ist ein sehr schnelles Pufferspeicher
bauelement, das zum Speichern eines Datenblocks oder Daten
rahmens für die Anzeige 130 geeignet ist. Die Software
routinen zum Durchführen der Bildvergrößerung gemäß der
Erfindung können unter Verwendung der "C"-Programmiersprache
implementiert sein und können sich in dem Speicher 114
und/oder der Plattenspeichereinheit 120 befinden. Das Com
puterprogramm zum Durchführen der Bildvergrößerung gemäß der
Erfindung kann auf einem Computer-lesbaren Medium, wie z. B.
einer magnetischen Platte, einer Kompaktplatte oder einem
magnetischen Band, gespeichert sein und kann unter Verwen
dung eines geeigneten peripheren Geräts in das Computer
system 100 geladen werden, wie es in der Technik bekannt
ist. Es ist offensichtlich, daß die Hardwarekomponenten, die
oben bezeichnet wurden, lediglich als Beispiel angegeben
wurden, und daß die Erfindung in einer Vielzahl von unter
schiedlichen Computersystemen implementiert sein kann.
Das Verfahren zum Erzeugen eines vergrößerten Bestimmungs
bilds aus einem Quellenbild gemäß der Erfindung ist in dem
Flußdiagramm der Fig. 6A-6C dargestellt. Ein digitales
Quellenbild von einem Objekt wird einem Schritt 190 erhal
ten. Das digitale Quellenbild kann ein digitales Röntgen
strahlbild, ein MRI-Bild, ein Digitalfilmbild, ein Digital
videobild, ein Satellitenbild oder jegliches andere Bild von
einem Objekt in digitalem Format sein. In dem Fall eines
Schwarzweißbildes wird jedes Pixel durch ein einzelnes digi
tales Wort mit einer vorbestimmten Anzahl von Bit, wie z. B.
8 Bit, dargestellt. Im Fall eines Farbbildes wird jedes Pi
xel durch drei digitale Worte, die Rot-, Grün- und Blauwer
ten entsprechen, dargestellt, und die Operationen, die im
folgenden beschrieben sind, werden für jeden Farbwert durch
geführt. Das Quellenbild wird in ein räumliches Transforma
tionssystem, wie in Fig. 5 gezeigt, geladen und oben in ei
nem Schritt 192 beschrieben. Das Transformationssystem em
pfängt bei einem Schritt 194 einen Vergrößerungsfaktor. Die
Vergrößerung kann auf das gesamte oder auf einen Teil des
Quellenbilds durchgeführt werden. Pixelorte in dem ver
größerten Bestimmungsbild werden auf der Grundlage des Quel
lenbildorts, der Quellenbildgröße und des erforderlichen
Vergrößerungsfaktors in einem Schritt 200 bestimmt. Ein er
stes Pixel in einer Zeile des Bestimmungsbilds wird in einen
neuabgetasteten Punkt in dem Quellenbild unter Verwendung
der Gleichungen (2) und (3) in einem Schritt 202 trans
formiert, und Nachbarpixel des neuabgetasteten Punkts werden
in einem Schritt 204 bestimmt. Wie oben beschrieben werden
vier Nachbarpixel für die bilineare Interpolation und 16
Nachbarpixel für die bikubische Interpolation verwendet. Die
vertikalen Interpolationen zwischen den vertikal ausge
richteten Nachbarpixeln werden in einem Schritt 206 durchge
führt, um die Zwischenpixelwerte zu bestimmen. Die horizon
talen Interpolationen zwischen den Zwischenpixelwerten wer
den in einem Schritt 208 durchgeführt, um die Werte von dem
ersten Pixel in dem Bestimmungsbild zu bestimmen. Die Inter
polationen, die in den Schritten 206 und 208 durchgeführt
werden, können, wie oben beschrieben, bilineare Inter
polationen oder bikubische Interpolationen sein. Nachdem der
erste Pixelwert in einer Zeile bestimmt ist, wird der erste
neuabgetastete als ein vorhergehender Punkt in einem Schritt
210 bestimmt, und der Vorgang inkrementiert in einem Schritt
212 zu dem benachbarten Pixel in der gleichen Zeile des Be
stimmungsbilds.
In einem Schritt 220 wird das benachbarte Pixel in der glei
chen Zeile des vergrößerten Bestimmungsbilds (das aktuelle
Pixel) in einen neuen neuabgetasteten Punkt in dem Quellen
bild unter Verwendung der obigen Gleichungen (2) und (3)
transformiert. In einem Schritt 222 wird eine Bestimmung
durchgeführt, ob der aktuelle neuabgetastete Punkt die glei
chen Nachbarpixel wie der vorhergehende neuabgetastete Punkt
aufweist. Dies kann durch untersuchen des Werts von i in der
Gleichung (4) bestimmt werden, der das nächstliegende Pixel
in dem Quellenbild darstellt, das eine kleinere x-Koordinate
als der aktuelle neuabgetastete Punkt aufweist. Wenn der
Wert von i des aktuellen neuabgetasteten Punkts gleich dem
Wert i des vorhergehenden neuabgetasteten Punkts ist, weisen
die zwei neuabgetasteten Punkte die gleichen Nachbarpixel
auf. Wenn der Wert von i für den aktuellen neuabgetasteten
Punkt größer als der Wert von i für den vorhergehenden
neuabgetasteten Punkt ist, befindet sich der aktuelle neu
abgetastete Punkt in einer benachbarten Nachbarschaft. Wenn
der aktuelle neuabgetastete Punkt die gleichen Nachbarpixel
wie der vorhergehende neuabgetastete Punkt aufweist, wird
eine horizontale Interpolation zwischen den Zwischenpixel
werten des vorhergehenden Punkts in einem Schritt 224 durch
geführt, um den Wert des aktuellen Pixels in dem Bestim
mungsbild zu liefern. Wenn der aktuelle neuabgetastete Punkt
nicht die gleichen Nachbarpixel aufweist wie der vorherge
hende Punkt und sich daher in der benachbarten Nachbarschaft
befindet, wird eine vertikale Interpolation zwischen einem
aktuellen Satz von vertikal ausgerichteten Nachbarpixel
werten durchgeführt, um einen aktuellen Zwischenpixelwert in
einem Schritt 226 zu liefern. Dann wird eine horizontale
Interpolation zwischen dem aktuellen Zwischenpixelwert und
einem oder mehreren vorhergehenden Zwischenpixelwerten in
einem Schritt 228 durchgeführt, um einen Wert des aktuellen
Pixels in dem Bestimmungsbild zu liefern. Wenn die bilineare
Interpolation verwendet wird, wird der Wert des aktuellen
Pixels durch eine Interpolation zwischen dem aktuellen
Zwischenpixelwert und einem vorhergehenden zwischenpixelwert
bestimmt, wie dies oben in Verbindung mit Fig. 4 beschrieben
ist. Wenn die bikubische Interpolation verwendet wird, wird
der Wert des aktuellen Pixels durch Interpolation zwischen
dem aktuellen Zwischenpixelwert und drei der vier vorher
gehenden Zwischenpixelwerten bestimmt, wie dies oben in Ver
bindung mit Fig. 3 beschrieben ist.
In einem Schritt 240 wird eine Bestimmung durchgeführt, ob
das aktuelle Pixel das letzte Pixel in einer Zeile des Be
stimmungsbilds ist. Wenn das aktuelle Pixel nicht das letzte
Pixel in einer Zeile ist, wird der aktuelle neuabgetastete
Punkt als der vorhergehende Punkt in einem Schritt 242 be
zeichnet, und das Verfahren inkrementiert in einem Schritt
244 zu dem benachbarten Pixel in der gleichen Zeile. Dann
kehrt das Verfahren zu einem Schritt 220 zurück und das
aktuelle Pixel in der Zeile wird verarbeitet, um den Wert
desselben in dem Bestimmungsbild zu bestimmen. Wenn das
aktuelle Pixel das letzte Pixel in einer Zeile ist, wird in
einem Schritt 246 eine Bestimmung durchgeführt, ob die
letzte Zeile in dem Bestimmungsbild verarbeitet wurde. Wenn
die aktuelle Zeile nicht die letzte Zeile in dem Bild ist,
inkrementiert das Verfahren in einem Schritt 248 zu der
nächsten Zeile des Bestimmungsbilds. Das Verfahren kehrt zu
Schritt 202 zurück und es wird eine neue Zeile auf die oben
beschriebene Art und Weise verarbeitet. Nach der Verarbei
tung der letzten Zeile in dem Bild, ist die Erzeugung des
Bestimmungsbilds abgeschlossen.
Das Interpolationsverfahren der Erfindung wurde als eine
Folge beschrieben, die eine vertikale Interpolation zum
Bestimmen von zwischenpixelwerten gefolgt von einer horizon
talen Interpolation zum Bestimmen von endgültigen Pixel
werten umfaßt. Diese Folge ist für die typische Situation
anwendbar, bei der Pixelwerte für aufeinanderfolgende Pixel
in einer Zeile in aufeinanderfolgenden Speicherorten gespei
chert werden, und bei der Pixel durch horizontales Schreiten
quer über eine Zeile bestimmt werden. Diese Folge ermöglicht
die Wiederverwendung von vertikalen Interpolationsergebnis
sen beim Bestimmen aufeinanderfolgender Pixelwerte während
des horizontalen Schreitens. Allgemeiner geht mit der Er
findung zunächst eine Interpolation senkrecht zu der Rich
tung des Schreitens gefolgt von einer Interpolation parallel
zu der Richtung des Schreitens zwischen den Punkten einher,
derart, daß die Ergebnisse der senkrechten Interpolationen
wiederverwendet werden können.
Claims (10)
1. Verfahren zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum, wobei das Bestim
mungsbild und das Quellenbild jeweils einen zweidimen
sionalen Pixelarray aufweisen, und jedes der Pixel
(20₁, 20₂) in dem Quellenbild einen Wert aufweist, der
das Objekt darstellt, wobei das Verfahren folgende
Schritte aufweist:
Transformieren (202, 220) jedes Pixels (22₁, 22₂) in dem Bestimmungsbild (14) in einen entsprechenden neu abgetasteten Punkt in dem Quellenbildraum;
Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds (14) durch vertikale Inter polation (206) zwischen vertikal ausgerichteten Nach barpixeln des entsprechenden neuabgetasteten Punkts, um Zwischenpixelwerte zu liefern, gefolgt von einer hori zontalen Interpolation (208) zwischen den Zwischen pixelwerten, um die Werte des ersten Pixels zu liefern; und
Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das die gleichen Nachbar pixel wie der vorhergehende neuabgetastete Punkt (222) aufweist, durch eine einzelne horizontale Interpolation (224) zwischen den Zwischenpixelwerten des vorhergehen den neuabgetasteten Punkts.
Transformieren (202, 220) jedes Pixels (22₁, 22₂) in dem Bestimmungsbild (14) in einen entsprechenden neu abgetasteten Punkt in dem Quellenbildraum;
Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds (14) durch vertikale Inter polation (206) zwischen vertikal ausgerichteten Nach barpixeln des entsprechenden neuabgetasteten Punkts, um Zwischenpixelwerte zu liefern, gefolgt von einer hori zontalen Interpolation (208) zwischen den Zwischen pixelwerten, um die Werte des ersten Pixels zu liefern; und
Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das die gleichen Nachbar pixel wie der vorhergehende neuabgetastete Punkt (222) aufweist, durch eine einzelne horizontale Interpolation (224) zwischen den Zwischenpixelwerten des vorhergehen den neuabgetasteten Punkts.
2. Verfahren zum Erzeugen von Pixelwerten gemäß Anspruch
1, das ferner folgenden Schritt aufweist:
Bestimmen des Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das nicht die gleichen Nachbarpixel wie der vorhergehende abgetastete Punkt aufweist, durch eine einzelne vertikale Interpolation zwischen einem folgenden Satz von vertikal ausgerichte ten Nachbarpixeln, um einen folgenden Zwischenpixelwert zu liefern, gefolgt von einer einzelnen horizontalen Interpolation zwischen dem folgenden Zwischenpixelwert und einem oder mehreren der vorhergehenden Zwischenpi xelwerte, um den Wert des folgenden Pixels zu liefern.
Bestimmen des Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das nicht die gleichen Nachbarpixel wie der vorhergehende abgetastete Punkt aufweist, durch eine einzelne vertikale Interpolation zwischen einem folgenden Satz von vertikal ausgerichte ten Nachbarpixeln, um einen folgenden Zwischenpixelwert zu liefern, gefolgt von einer einzelnen horizontalen Interpolation zwischen dem folgenden Zwischenpixelwert und einem oder mehreren der vorhergehenden Zwischenpi xelwerte, um den Wert des folgenden Pixels zu liefern.
3. Verfahren zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum, wobei das Bestim
mungsbild und das Quellenbild jeweils ein zweidimen
sionales Pixelarray aufweisen, und jedes der Pixel
(20₁, 20₂) in dem Quellenbild einen Wert aufweist, der
das Objekt darstellt, wobei das Verfahren folgende
Schritte aufweist:
- (a) Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds durch Transformieren (202) des ersten Pixels in einen ersten neuabge tasteten Punkt in dem Quellenbildraum und durch vertikale Interpolation (206) zwischen vertikal ausgerichteten Nachbarpixeln des ersten neuabge tasteten Punkts, um Zwischenpixelwerte zu liefern, gefolgt von einer horizontalen Interpolation (208) zwischen den Zwischenpixelwerten, um den Wert des ersten Pixels in dem Bestimmungsbild zu liefern;
- (b) Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das die gleichen Nachbarpixel aufweist wie ein vorhergehender neu abgetasteter Punkt, durch Transformieren (220) des folgenden Pixels in einen folgenden neuabgetaste ten Punkt in dem Quellenbildraum und durch eine einzelne horizontale Interpolation (224) zwischen den Zwischenpixelwerten des vorhergehenden neuabgetasteten Punkts; und
- (c) Bestimmen des Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das unterschied liche Nachbarpixel aufweist, aus einem vorherge henden neuabgetasteten Punkt durch Transformieren (220) des folgenden Pixels in einen folgenden neu abgetasteten Punkt in dem Quellenbildraum und durch eine einzelne vertikale Interpolation (226) zwischen einem Satz von vertikal ausgerichteten Nachbarpixeln des folgenden neuabgetasteten Punkts, um einen folgenden Zwischenpixelwert zu liefern, gefolgt von einer einzelnen horizontalen Interpolation (228), zwischen dem folgenden Zwi schenpixelwert und einem oder mehreren vorherge henden Zwischenpixelwerte, um den Wert des folgen den neuabgetasteten Punkts in dem Bestimmungsbild zu liefern.
4. Verfahren zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum, wobei das Be
stimmungsbild und das Quellenbild jeweils ein zwei
dimensionales Pixelarray aufweisen, und jedes der Pixel
(20₁, 20₂) des Quellenbilds einen Wert aufweist, der
das Objekt darstellt, wobei das Verfahren folgende
Schritte aufweist:
- (a) Bestimmen (200) von Pixelorten des Bestimmungs bilds (14) in dem Bestimmungsbildraum aus einem Ort und einer Größe des Quellenbilds und aus einem Vergrößerungsfaktor;
- (b) Transformieren (202) eines ersten Pixels in einer Zeile des Bestimmungsbilds (14) in einen neuabge tasteten Punkt in dem Quellenbildraum;
- (c) Bestimmen (204) von Nachbarpixeln des ersten neu abgetasteten Punkts in dem Quellenbildraum;
- (d) Interpolieren (206) zwischen vertikal ausgerichte ten Nachbarpixeln des Quellenbildraums, um hori zontal ausgerichtete Zwischenpixelwerte zu lie fern;
- (e) Interpolieren (208) zwischen den horizontal aus gerichteten Zwischenpixelwerten, um einen ersten Wert des ersten Pixels in dem Bestimmungsbild zu liefern;
- (f) Bezeichnen (210) des ersten Pixels als ein vorher gehendes Pixel und des ersten neuabgetasteten Punkts als einen vorhergehenden Punkt, und Inkre mentieren (212) zu einem aktuellen Pixel in der Zeile, das benachbart zu dem vorhergehenden Pixel ist;
- (g) Transformieren (220) des aktuellen Pixels in dem Bestimmungsbild in einen aktuellen neuabgetasteten Punkt in dem Quellenbildraum;
- (h) Bestimmen (222), ob der aktuelle neuabgetastete Punkt in dem Quellenbildraum die gleichen Nachbar pixel wie der vorhergehende Punkt aufweist;
- (i) wenn der aktuelle neuabgetastete Punkt die glei chen Nachbarpixel aufweist wie der vorhergehende Punkt, Interpolieren (224) zwischen den horizontal ausgerichteten Zwischenpixelwerten des vorherge henden Punkts, um einen aktuellen Wert des aktuel len neuabgetasteten Punkts in dem Bestimmungsbild zu liefern; und
- (j) wenn der aktuelle neuabgetastete Punkt nicht die gleichen Nachbarpixel wie der vorhergehende Punkt aufweist, Interpolieren (226) zwischen einem Satz von vertikal ausgerichteten Nachbarpixeln des ak tuellen neuabgetasteten Punkts, um einen aktuellen Zwischenpixelwert zu liefern, und Interpolieren (228) zwischen dem aktuellen Zwischenpixelwert und mindestens einem der Zwischenpixelwerte, um den aktuellen Wert des aktuellen neuabgetasteten Punk tes in dem Bestimmungsbild zu liefern.
5. Verfahren gemäß Anspruch 4, das ferner folgende Schrit
te aufweist:
- (k) Wiederholen der Schritte (g)-(j) für jedes ver bleibende Pixel in der Zeile des Bestimmungsbilds, und
- (l) Wiederholen der Schritte (b)-(k) für jede ver bleibende Zeile des Bestimmungsbilds.
6. Vorrichtung zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum, wobei das Bestim
mungsbild und das Quellenbild jeweils ein zweidimensio
nales Pixelarray aufweisen, und jedes der Pixel (20₁,
20₂) des Quellenbilds einen Wert aufweist, der das
Objekt darstellt, mit folgenden Merkmalen:
einer Plattenspeichereinheit (120) zum Speichern der Werte der Pixel in dem Quellenbild;
einem digitalen Computer (110) zum Verarbeiten der Werte des Quellenbilds in der Plattenspeichereinheit, wobei der digitale Computer folgende Merkmale aufweist:
eine Einrichtung zum Bestimmen (200) von Pixelorten des Bestimmungsbilds (14) in dem Bestimmungsbildraum aus einem Ort und einer Größe des Quellenbilds und einem Vergrößerungsfaktor;
eine Einrichtung zum Transformieren (202, 220) jedes Pixels in dem Bestimmungsbild in einen entsprechenden neuabgetasteten Punkt in dem Quellenbildraum;
eine Einrichtung zum Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds (14) durch vertikale Interpolation (206) zwischen vertikal ausge richteten Nachbarpixeln des entsprechenden neuabgeta steten Punkts, um Zwischenpixelwerte zu liefern, ge folgt von einer horizontalen Interpolation (208) zwi schen den Zwischenpixelwerten, um den Wert des ersten Pixels zu liefern; und
eine Einrichtung zum Bestimmen eines Werts jedes fol genden Pixels in jeder Zeile des Bestimmungsbilds, das das gleiche Nachbarpixel wie der vorhergehende neuab getastete Punkt (222) aufweist, durch eine einzelne horizontale Interpolation (224) zwischen den Zwischen pixelwerten des vorhergehenden neuabgetasteten Punkts.
einer Plattenspeichereinheit (120) zum Speichern der Werte der Pixel in dem Quellenbild;
einem digitalen Computer (110) zum Verarbeiten der Werte des Quellenbilds in der Plattenspeichereinheit, wobei der digitale Computer folgende Merkmale aufweist:
eine Einrichtung zum Bestimmen (200) von Pixelorten des Bestimmungsbilds (14) in dem Bestimmungsbildraum aus einem Ort und einer Größe des Quellenbilds und einem Vergrößerungsfaktor;
eine Einrichtung zum Transformieren (202, 220) jedes Pixels in dem Bestimmungsbild in einen entsprechenden neuabgetasteten Punkt in dem Quellenbildraum;
eine Einrichtung zum Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds (14) durch vertikale Interpolation (206) zwischen vertikal ausge richteten Nachbarpixeln des entsprechenden neuabgeta steten Punkts, um Zwischenpixelwerte zu liefern, ge folgt von einer horizontalen Interpolation (208) zwi schen den Zwischenpixelwerten, um den Wert des ersten Pixels zu liefern; und
eine Einrichtung zum Bestimmen eines Werts jedes fol genden Pixels in jeder Zeile des Bestimmungsbilds, das das gleiche Nachbarpixel wie der vorhergehende neuab getastete Punkt (222) aufweist, durch eine einzelne horizontale Interpolation (224) zwischen den Zwischen pixelwerten des vorhergehenden neuabgetasteten Punkts.
7. Vorrichtung gemäß Anspruch 6, die ferner folgende Merk
male aufweist:
eine Einrichtung zum Bestimmen des Werts jedes fol genden Pixels in jeder Zeile des Bestimmungsbilds, das nicht das gleiche Nachbarpixel aufweist wie der vorher gehende abgetastete Punkt, durch eine einzelne verti kale Interpolation zwischen einem folgenden Satz von vertikal ausgerichteten Nachbarpixeln, um einen fol genden Zwischenpixelwert zu liefern, gefolgt von einer einzelnen horizontalen Interpolation zwischen dem fol genden Zwischenpixelwert und einem oder mehreren der vorhergehenden Zwischenpixelwerte, um den Wert des fol genden Pixels zu liefern.
eine Einrichtung zum Bestimmen des Werts jedes fol genden Pixels in jeder Zeile des Bestimmungsbilds, das nicht das gleiche Nachbarpixel aufweist wie der vorher gehende abgetastete Punkt, durch eine einzelne verti kale Interpolation zwischen einem folgenden Satz von vertikal ausgerichteten Nachbarpixeln, um einen fol genden Zwischenpixelwert zu liefern, gefolgt von einer einzelnen horizontalen Interpolation zwischen dem fol genden Zwischenpixelwert und einem oder mehreren der vorhergehenden Zwischenpixelwerte, um den Wert des fol genden Pixels zu liefern.
8. Computer-lesbares Medium, das mit einem Computerpro
gramm zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum codiert ist, wobei
das Bestimmungsbild und das Quellenbild jeweils ein
zweidimensionales Pixelarray aufweisen, und jedes der
Pixel (20₁, 20₂) in dem Quellenbild einen Wert auf
weist, der das Objekt darstellt, wobei das Computer
programm folgende Computerbefehle aufweist:
- (a) Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds (14) durch Trans formieren (202) des ersten Pixels in einen ersten neuabgetasteten Punkt in dem Quellenbildraum und durch vertikale Interpolation (206) zwischen ver tikal ausgerichteten Nachbarpixeln des ersten neu abgetasteten Punkts, um einen Zwischenpixelwert zu schaffen, gefolgt von einer horizontalen Inter polation (208) zwischen den Zwischenpixelwerten, um den Wert des ersten Pixels in dem Bestimmungs bild zu liefern; und
- (b) Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das die gleichen Nachbarpixel wie der vorhergehende neuabgetastete Punkt aufweist, durch Transformieren (220) des folgenden Pixels in einen folgenden neuabgetaste ten Punkt in dem Quellenbild, und durch eine ein zelne horizontale Interpolation (224) zwischen dem Zwischenpixelwert des vorhergehenden neuabgetaste ten Punkts.
9. Computer-lesbares Medium gemäß Anspruch 8, bei dem das
Computerprogramm ferner Computerbefehle zum Bestimmen
des Werts jedes folgenden Pixels in jeder Zeile des
Bestimmungsbilds aufweist, das unterschiedliche Nach
barpixel aufweist, aus einem vorhergehenden neuabge
tasteten Punkt durch Transformieren des folgenden Pi
xels in einen folgenden neuabgetasteten Punkt in dem
Quellenbildraum und durch eine einzelne vertikale In
terpolation zwischen einem Satz von vertikal ausge
richteten Nachbarpixeln des folgenden neuabgetasteten
Punkts, um einen folgenden Zwischenpixelwert zu lie
fern, gefolgt von einer einzelnen horizontalen Inter
polation zwischen dem folgenden Zwischenpixelwert und
einem oder mehreren vorhergehenden Zwischenpixelwerten,
um den Wert des folgenden neuabgetasteten Punkts in dem
Bestimmungsbild zu liefern.
10. Verfahren zum Erzeugen von Pixelwerten in einem ver
größerten Bestimmungsbild (14) eines Objekts (12) in
einem Bestimmungsbildraum aus einem Quellenbild (10)
des Objekts in einem Quellenbildraum, wobei das Bestim
mungsbild und das Quellenbild jeweils ein zweidimensio
nales Pixelarray aufweisen, und jedes der Pixel (20₁,
20₂) in dem Quellenbild einen Wert aufweist, der das
Objekt darstellt, wobei das Verfahren folgende Schritte
aufweist:
Transformieren (202, 220) jedes Pixels (22₁, 22₂) in dem Bestimmungsbild in einen entsprechenden neuabgeta steten Punkt in dem Quellenbildraum durch Verarbeiten des Pixels in dem Bestimmungsbild in einer ersten Rich tung relativ zu dem Array;
Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds durch Interpolation (206) zwischen den Nachbarpixeln des entsprechenden neuabge tasteten Punkts, die senkrecht zu der ersten Richtung ausgerichtet sind, um Zwischenpixelwerte zu liefern, gefolgt durch eine Interpolation (208) zwischen den Zwischenpixelwerten, die parallel zu der ersten Rich tung ausgerichtet sind, um den Wert des ersten Pixels zu liefern; und
Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das das gleiche Nachbar pixel wie ein vorhergehender neuabgetasteter Punkt (222) aufweist, durch eine einzelne Interpolation (224) zwischen den Zwischenpixelwerten des vorhergehenden neuabgetasteten Punkts, die parallel zu der ersten Richtung ausgerichtet sind.
Transformieren (202, 220) jedes Pixels (22₁, 22₂) in dem Bestimmungsbild in einen entsprechenden neuabgeta steten Punkt in dem Quellenbildraum durch Verarbeiten des Pixels in dem Bestimmungsbild in einer ersten Rich tung relativ zu dem Array;
Bestimmen eines Werts eines ersten Pixels in jeder Zeile des Bestimmungsbilds durch Interpolation (206) zwischen den Nachbarpixeln des entsprechenden neuabge tasteten Punkts, die senkrecht zu der ersten Richtung ausgerichtet sind, um Zwischenpixelwerte zu liefern, gefolgt durch eine Interpolation (208) zwischen den Zwischenpixelwerten, die parallel zu der ersten Rich tung ausgerichtet sind, um den Wert des ersten Pixels zu liefern; und
Bestimmen eines Werts jedes folgenden Pixels in jeder Zeile des Bestimmungsbilds, das das gleiche Nachbar pixel wie ein vorhergehender neuabgetasteter Punkt (222) aufweist, durch eine einzelne Interpolation (224) zwischen den Zwischenpixelwerten des vorhergehenden neuabgetasteten Punkts, die parallel zu der ersten Richtung ausgerichtet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/656,500 US5847714A (en) | 1996-05-31 | 1996-05-31 | Interpolation method and apparatus for fast image magnification |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19715491A1 true DE19715491A1 (de) | 1997-12-04 |
Family
ID=24633298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19715491A Withdrawn DE19715491A1 (de) | 1996-05-31 | 1997-04-14 | Interpolationsverfahren und -vorrichtung zur schnellen Bildvergrößerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5847714A (de) |
JP (1) | JP3276886B2 (de) |
DE (1) | DE19715491A1 (de) |
GB (1) | GB2313727B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10009536A1 (de) * | 2000-02-29 | 2001-09-06 | Cgk Comp Ges Konstanz Mbh | Verfahren und Vorrichtung zur Transformation von Bildern in zwei Koordinatensystemen |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3747523B2 (ja) * | 1996-07-02 | 2006-02-22 | ソニー株式会社 | 画像処理装置および処理方法 |
JP3865165B2 (ja) | 1996-10-30 | 2007-01-10 | 株式会社沖データ | 画像データの拡大/縮小方法 |
US6631216B2 (en) | 1997-07-31 | 2003-10-07 | Canon Kabushiki Kaisha | Image interpolation apparatus |
US7630006B2 (en) | 1997-10-09 | 2009-12-08 | Fotonation Ireland Limited | Detecting red eye filter and apparatus using meta-data |
US7042505B1 (en) | 1997-10-09 | 2006-05-09 | Fotonation Ireland Ltd. | Red-eye filter method and apparatus |
US7352394B1 (en) * | 1997-10-09 | 2008-04-01 | Fotonation Vision Limited | Image modification based on red-eye filter analysis |
US7738015B2 (en) | 1997-10-09 | 2010-06-15 | Fotonation Vision Limited | Red-eye filter method and apparatus |
JP2991180B2 (ja) * | 1998-01-28 | 1999-12-20 | 日本電気株式会社 | 画素補間方法及び画素補間回路並びに画素補間プログラムを記録した記録媒体 |
US6381375B1 (en) * | 1998-02-20 | 2002-04-30 | Cognex Corporation | Methods and apparatus for generating a projection of an image |
US6236766B1 (en) * | 1998-09-11 | 2001-05-22 | General Electric Company | Method and apparatus for zooming digital images |
US6687402B1 (en) | 1998-12-18 | 2004-02-03 | Cognex Corporation | Machine vision methods and systems for boundary feature comparison of patterns and images |
GB2354130B (en) * | 1999-09-09 | 2002-05-15 | Inventec Electronics | Method for enlarging/reducing digital images |
US6331902B1 (en) | 1999-10-14 | 2001-12-18 | Match Lab, Inc. | System and method for digital color image processing |
US6754397B1 (en) | 2000-03-09 | 2004-06-22 | Sharp Laboratories Of America, Inc. | Method, software and devices for designing a scalable image (FIR) filter with integer coefficients |
US6697539B1 (en) | 2000-03-31 | 2004-02-24 | Sharp Laboratories Of America, Inc. | Image scaling by exact 2D implicit polynomials |
US6738498B1 (en) * | 2000-08-01 | 2004-05-18 | Ge Medical Systems Global Technology Company, Llc | Method and apparatus for tissue dependent filtering for image magnification |
US6879721B2 (en) | 2001-01-02 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Pixel processing system for image production |
GB2371459B (en) * | 2001-01-19 | 2005-05-04 | Pixelfusion Ltd | Image scaling |
KR20040005905A (ko) * | 2001-03-30 | 2004-01-16 | 코닥 폴리크룸 그래픽스 엘엘씨 | 소프트 프루핑을 위한 이미지 자동 선명화 처리 방법,시스템 및 컴퓨터 판독 매체 |
CN100539630C (zh) * | 2003-04-02 | 2009-09-09 | 伊斯曼柯达公司 | 确保软打样系统的精确测量 |
US7689009B2 (en) | 2005-11-18 | 2010-03-30 | Fotonation Vision Ltd. | Two stage detection for photographic eye artifacts |
US7536036B2 (en) | 2004-10-28 | 2009-05-19 | Fotonation Vision Limited | Method and apparatus for red-eye detection in an acquired digital image |
US8254674B2 (en) | 2004-10-28 | 2012-08-28 | DigitalOptics Corporation Europe Limited | Analyzing partial face regions for red-eye detection in acquired digital images |
US7920723B2 (en) | 2005-11-18 | 2011-04-05 | Tessera Technologies Ireland Limited | Two stage detection for photographic eye artifacts |
US7970182B2 (en) | 2005-11-18 | 2011-06-28 | Tessera Technologies Ireland Limited | Two stage detection for photographic eye artifacts |
US8036458B2 (en) | 2007-11-08 | 2011-10-11 | DigitalOptics Corporation Europe Limited | Detecting redeye defects in digital images |
US7587085B2 (en) | 2004-10-28 | 2009-09-08 | Fotonation Vision Limited | Method and apparatus for red-eye detection in an acquired digital image |
US7792970B2 (en) | 2005-06-17 | 2010-09-07 | Fotonation Vision Limited | Method for establishing a paired connection between media devices |
US8170294B2 (en) | 2006-11-10 | 2012-05-01 | DigitalOptics Corporation Europe Limited | Method of detecting redeye in a digital image |
US7574016B2 (en) | 2003-06-26 | 2009-08-11 | Fotonation Vision Limited | Digital image processing using face detection information |
US9412007B2 (en) | 2003-08-05 | 2016-08-09 | Fotonation Limited | Partial face detector red-eye filter method and apparatus |
US8520093B2 (en) | 2003-08-05 | 2013-08-27 | DigitalOptics Corporation Europe Limited | Face tracker and partial face tracker for red-eye filter method and apparatus |
US7437018B1 (en) * | 2003-09-26 | 2008-10-14 | Adobe Systems Incorporated | Image resampling using variable quantization bins |
JP4774736B2 (ja) * | 2004-12-27 | 2011-09-14 | カシオ計算機株式会社 | 画像拡大装置および撮像装置 |
US7613363B2 (en) * | 2005-06-23 | 2009-11-03 | Microsoft Corp. | Image superresolution through edge extraction and contrast enhancement |
US8111904B2 (en) | 2005-10-07 | 2012-02-07 | Cognex Technology And Investment Corp. | Methods and apparatus for practical 3D vision system |
US7599577B2 (en) | 2005-11-18 | 2009-10-06 | Fotonation Vision Limited | Method and apparatus of correcting hybrid flash artifacts in digital images |
EP1987475A4 (de) | 2006-02-14 | 2009-04-22 | Fotonation Vision Ltd | Automatische erkennung und korrektur von fehlern des blitzes mit rote-augen-effekt |
DE602007012246D1 (de) | 2006-06-12 | 2011-03-10 | Tessera Tech Ireland Ltd | Fortschritte bei der erweiterung der aam-techniken aus grauskalen- zu farbbildern |
US8162584B2 (en) | 2006-08-23 | 2012-04-24 | Cognex Corporation | Method and apparatus for semiconductor wafer alignment |
US8055067B2 (en) | 2007-01-18 | 2011-11-08 | DigitalOptics Corporation Europe Limited | Color segmentation |
WO2008109708A1 (en) | 2007-03-05 | 2008-09-12 | Fotonation Vision Limited | Red eye false positive filtering using face location and orientation |
US8503818B2 (en) | 2007-09-25 | 2013-08-06 | DigitalOptics Corporation Europe Limited | Eye defect detection in international standards organization images |
US8212864B2 (en) | 2008-01-30 | 2012-07-03 | DigitalOptics Corporation Europe Limited | Methods and apparatuses for using image acquisition data to detect and correct image defects |
US8081254B2 (en) | 2008-08-14 | 2011-12-20 | DigitalOptics Corporation Europe Limited | In-camera based method of detecting defect eye with high accuracy |
US8600188B2 (en) | 2010-09-15 | 2013-12-03 | Sharp Laboratories Of America, Inc. | Methods and systems for noise reduction and image enhancement |
US8588535B2 (en) | 2010-09-15 | 2013-11-19 | Sharp Laboratories Of America, Inc. | Methods and systems for estimation of compression noise |
US8538193B2 (en) | 2010-09-28 | 2013-09-17 | Sharp Laboratories Of America, Inc. | Methods and systems for image enhancement and estimation of compression noise |
US8532429B2 (en) * | 2010-09-28 | 2013-09-10 | Sharp Laboratories Of America, Inc. | Methods and systems for noise reduction and image enhancement involving selection of noise-control parameter |
US10222932B2 (en) | 2015-07-15 | 2019-03-05 | Fyusion, Inc. | Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations |
US11006095B2 (en) | 2015-07-15 | 2021-05-11 | Fyusion, Inc. | Drone based capture of a multi-view interactive digital media |
US10147211B2 (en) * | 2015-07-15 | 2018-12-04 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US10242474B2 (en) | 2015-07-15 | 2019-03-26 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
US11095869B2 (en) | 2015-09-22 | 2021-08-17 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
US11783864B2 (en) | 2015-09-22 | 2023-10-10 | Fyusion, Inc. | Integration of audio into a multi-view interactive digital media representation |
US11202017B2 (en) | 2016-10-06 | 2021-12-14 | Fyusion, Inc. | Live style transfer on a mobile device |
EP3315906B1 (de) * | 2016-10-27 | 2023-05-31 | Leica Geosystems AG | Verfahren zur verarbeitung von scandaten |
US10437879B2 (en) | 2017-01-18 | 2019-10-08 | Fyusion, Inc. | Visual search using multi-view interactive digital media representations |
US10313651B2 (en) | 2017-05-22 | 2019-06-04 | Fyusion, Inc. | Snapshots at predefined intervals or angles |
US11069147B2 (en) | 2017-06-26 | 2021-07-20 | Fyusion, Inc. | Modification of multi-view interactive digital media representation |
US10592747B2 (en) | 2018-04-26 | 2020-03-17 | Fyusion, Inc. | Method and apparatus for 3-D auto tagging |
CN111461991B (zh) * | 2020-04-09 | 2022-04-26 | 武汉联影医疗科技有限公司 | 图像绘制方法、装置、计算机设备和存储介质 |
US11756510B2 (en) * | 2020-06-10 | 2023-09-12 | Google Llc | Systems, devices, and methods for assembling image data for display |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2172167B (en) * | 1985-03-07 | 1988-06-15 | Sony Corp | Video signal processing |
US4988984A (en) * | 1988-10-31 | 1991-01-29 | International Business Machines Corporation | Image interpolator for an image display system |
JPH04500419A (ja) * | 1989-06-16 | 1992-01-23 | イーストマン・コダック・カンパニー | ディジタル画像補間器 |
US5113455A (en) * | 1990-02-27 | 1992-05-12 | Eastman Kodak Company | Digital image scaling by stepwise pixel movement |
US5335296A (en) * | 1991-04-30 | 1994-08-02 | Optigraphics Corporation | Process for high speed rescaling of binary images |
US5475803A (en) * | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5384904A (en) * | 1992-12-08 | 1995-01-24 | Intel Corporation | Image scaling using real scale factors |
CA2129092C (en) * | 1993-10-04 | 1999-10-19 | Leon C. Williams | Image interpolation apparatus |
DE4407101A1 (de) * | 1994-03-03 | 1995-09-14 | Siemens Ag | Verfahren zur Formatkonversion von in einem ersten Bildpunktraster vorliegenden Bildsequenzen in ein zweites Bildpunktraster |
US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
GB2304014B (en) * | 1995-07-25 | 1997-08-20 | Winbond Electronics Corp | Method and apparatus for uniformly scaling a digital image |
-
1996
- 1996-05-31 US US08/656,500 patent/US5847714A/en not_active Expired - Lifetime
-
1997
- 1997-04-14 DE DE19715491A patent/DE19715491A1/de not_active Withdrawn
- 1997-05-08 GB GB9709327A patent/GB2313727B/en not_active Expired - Fee Related
- 1997-05-12 JP JP12055597A patent/JP3276886B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10009536A1 (de) * | 2000-02-29 | 2001-09-06 | Cgk Comp Ges Konstanz Mbh | Verfahren und Vorrichtung zur Transformation von Bildern in zwei Koordinatensystemen |
Also Published As
Publication number | Publication date |
---|---|
GB9709327D0 (en) | 1997-06-25 |
US5847714A (en) | 1998-12-08 |
JP3276886B2 (ja) | 2002-04-22 |
GB2313727B (en) | 2000-04-12 |
JPH1055437A (ja) | 1998-02-24 |
GB2313727A (en) | 1997-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19715491A1 (de) | Interpolationsverfahren und -vorrichtung zur schnellen Bildvergrößerung | |
DE3486494T2 (de) | Graphisches Musterverarbeitungsgerät | |
DE3629984C2 (de) | ||
DE4005492C2 (de) | Bildcodierverfahren | |
DE3515037C2 (de) | ||
DE102011056970A1 (de) | Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist | |
DE2340597A1 (de) | Bildverarbeitungsanordnung | |
DE3804938A1 (de) | Bildverarbeitungseinrichtung | |
DE19917092A1 (de) | Verfahren zur Rasterisierung eines Graphikgrundelements | |
DE3339178A1 (de) | Graphisches anzeigesystem | |
DE3836640C2 (de) | ||
DE69722535T2 (de) | Verfahren und Gerät zum Schaffen von Texturdaten | |
DE69921608T2 (de) | Verfahren und vorrichtung zum zoomen von digitalen bilddateien | |
DE69928775T2 (de) | Verfahren und vorrichtung zur interpolation von bilddaten sowie medium für ein bilddateninterpolationsprogramm | |
DE4316847A1 (de) | Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens | |
EP0737937A2 (de) | Bildverarbeitungsgerät | |
DE4221320A1 (de) | Bewegungsvektor-erfassungsvorrichtung | |
DE10315442A1 (de) | Verfahren und Schaltung zur Skalierung von Rasterbildern | |
DE602004009714T2 (de) | Verfahren zur wiedergabe graphischer objekte | |
DE69629265T2 (de) | Bildskalierungsverfahren und -gerät | |
EP1034511B1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung | |
DE69817633T2 (de) | Faltung von Zeilenrasterdarstellungen | |
EP0121766A1 (de) | Verfahren und Vorrichtung zur Darstellung von Bildinformationen | |
DE10221389A1 (de) | Verfahren zur Ermittlung eines Pixelwertes eines Pixel aufweisenden Bildes, Gewichtungsmatrix und Recheneinrichtung | |
DE4404047C1 (de) | Verfahren zur Beeinflussung der Bildqualität von durch eine elektronische Bildaufnahmevorrichtung gelieferten Bildern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8139 | Disposal/non-payment of the annual fee |