ES2275788T3 - Procedimiento y dispositivo para la transformacion de una imagen de un objeto. - Google Patents
Procedimiento y dispositivo para la transformacion de una imagen de un objeto. Download PDFInfo
- Publication number
- ES2275788T3 ES2275788T3 ES02018869T ES02018869T ES2275788T3 ES 2275788 T3 ES2275788 T3 ES 2275788T3 ES 02018869 T ES02018869 T ES 02018869T ES 02018869 T ES02018869 T ES 02018869T ES 2275788 T3 ES2275788 T3 ES 2275788T3
- Authority
- ES
- Spain
- Prior art keywords
- image
- points
- data
- destination
- memory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000009466 transformation Effects 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 238000009434 installation Methods 0.000 claims abstract description 30
- 239000003086 colorant Substances 0.000 claims abstract description 5
- 230000015654 memory Effects 0.000 claims description 91
- 230000003936 working memory Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012952 Resampling Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 108010014173 Factor X Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 239000000706 filtrate Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- OENHQHLEOONYIE-JLTXGRSLSA-N β-Carotene Chemical compound CC=1CCCC(C)(C)C=1\C=C\C(\C)=C\C=C\C(\C)=C\C=C\C=C(/C)\C=C\C=C(/C)\C=C\C1=C(C)CCCC1(C)C OENHQHLEOONYIE-JLTXGRSLSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Procedimiento para la transformación de una imagen de un objeto (OB), especialmente para una representación en una instalación de representación (1) con una disposición en forma de matriz de puntos de la imagen de destino (Zi), en el que para al menos una parte de los puntos de la imagen de destino (Zi) se calculan, a través de una transformación inversa, puntos de la imagen fuente (Qi (-beta)), se comparan los puntos de la imagen fuente (Qi (-beta)) con puntos de la imagen del objeto (Ok) previamente memorizados y a partir de esta comparación se calculan datos de los puntos de la imagen de destino (Rj, Gj, Bi, alfai) de los puntos de la imagen de destino (Zi), comprendiendo los datos de los puntos de la imagen de destino y los datos de los puntos de la imagen del objeto en cada caso valores de colores básicos (R, G, B) y un valor de transparencia (alfa) y en el cálculo de los datos de los puntos de la imagen de destino se verifica para cada punto de la imagen fuente en una etapa de decisión si cae exactamente sobre un punto de la imagen del objeto, y en el caso de que el punto de la imagen fuente coincida con un punto de la imagen del objeto, se toman los datos de los puntos de la imagen del objeto respectivos como datos de los puntos de la imagen de destino, y en el caso de que el punto de la imagen fuente no coincida con ninguno de los puntos de la imagen del objeto, se calculan los datos de los puntos de la imagen de destino a partir de los datos de los puntos de la imagen del objeto, de tal manera que los datos de los puntos de la imagen de destino son calculados a través de una interpolación lineal a partir de los datos de los puntos de la imagen del objeto adyacentes, siendo ponderados los datos de los puntos de la imagen del objeto de acuerdo con la distancia respectiva a los puntos de la imagen del objeto respectivos.
Description
Procedimiento y dispositivo para la
transformación de una imagen de un objeto.
La invención se refiere a un procedimiento y a
un dispositivo para la transformación, especialmente la rotación
y/o la escala de una imagen de un objeto, especialmente para la
representación en una instalación de representación con una
disposición en forma de matriz de puntos de imagen de destino.
La transformación puede ser especialmente una
rotación y/o una escala, es decir, una dilatación o bien una
extensión de una imagen del objeto memorizada como fichero de
píxeles o bien como mapa de píxeles. Tales procedimientos se
utilizan en programas gráficos, para girar imágenes de objetos
alrededor de ángulos discrecionales y para escalarlos en dirección
x y/o en dirección y. Se emplean sobre todo para la representación
de un puntero, de un símbolo o de un mapa en un dispositivo de
representación en forma de matriz de un automóvil, por ejemplo una
pantalla LCD.
Un puntero es representado en la instalación de
representación de un vehículo, en general, bajo un ángulo de giro,
que depende de un parámetro, en general de una variable del estado
de marcha, o también del contenido del depósito o de una
temperatura. La imagen del objeto a girar del puntero puede estar en
este caso, en general, en color, y puede estar configurada con
diferente transparencia para la reproducción delante de una imagen
de fondo, de manera que a cada punto de la imagen de destino se
pueden asociar varios datos de los puntos de la imagen, por ejemplo
los colores básicos R, G, B y también un valor de transparencia
\alpha o YUV y \alpha. En los sistemas de navegación se escalan
los datos de los mapas previamente memorizados para la adaptación
al tamaño o bien al número de píxeles del dispositivo de
representación y el mapa de carreteras representado es alineado en
parte de una manera continua a través de la rotación en la dirección
de la marcha, de tal manera que la dirección vertical del
dispositivo de representación corresponde a la dirección de la
marcha. Además, se puede reproducir adicionalmente una
representación de brújula en la
imagen.
imagen.
Además, en aplicaciones gráficas, por ejemplo
las imágenes escaneadas se pueden alinear en ángulo recto, las
imágenes se pueden girar antes de la expresión para el
aprovechamiento óptimo del tamaño del formato del papel y los
símbolos gráficos se pueden colocar en programas CAD, por ejemplo en
la planificación de una instalación de vivienda.
En el caso de rotación y/o de escala de imágenes
de objetos, se diferencian, en principio, los procedimientos
orientados a píxeles y los procedimientos orientados a vectores.
Ambos procedimientos se pueden reproducir en hardware, en software
o en una forma mixta de ambos.
Una reproducción de un procedimiento en una
realización de hardware significa que un algoritmo está cableado
fijamente en un chip, en general en el controlador gráfico. Este
bloque de hardware espera parámetros reunidos sobre los datos
fuente, los procesa y pone a disposición el resultado, por ejemplo,
en una zona de la memoria. Por lo tanto, los algoritmos en hardware
solamente son alimentados con pocos datos y procesan muy
rápidamente el cometido cableado. Pero el algoritmo propiamente
dicho no es ya modificable.
Una reproducción en una realización de software
se lleva a cabo, por ejemplo, en una instalación de cálculo
convencional, por ejemplo en un PC. Un microprocesador recibe
instrucciones desde un programa de software. El programa de
software contiene un algoritmo y lo procesa con el soporte del
microprocesador y de sus unidades periféricas. Un algoritmo en
software es muy flexible debido a la posibilidad sencilla de
modificación, pero, debido al procedimiento de procesamiento
puramente secuencial del microprocesador, es ejecutado más
lentamente que el algoritmo de hardware.
Además, se utilizan sistemas combinados, por
ejemplo, en PCs con tarjeta gráfica de apta potencia para
aplicaciones de juegos, en los que, por ejemplo, el software asume
la rotación de los datos de los vectores, pero el dibujo de la
nueva imagen se realiza como bloque de hardware en el controlador
gráfico. Esta solución combina la flexibilidad del software con la
rapidez de la reproducción de hardware. En este caso, por ejemplo,
un controlador gráfico, un microprocesador, una memoria de programa
y una memoria de trabajo pueden estar conectados a través de un
sistema de bus. El software para un microprocesador y todos los
datos gráficos necesarios, incluida la imagen de píxeles fuente,
son memorizados en una memoria de programa. La memoria de trabajo
sirve como memoria temporal para el microprocesador y, dado el
caso, para el controlador gráfico y contiene una memoria de
repetición de la imagen, en la que se memoriza la imagen de destino
que debe representarse en la instalación de representación. La
imagen memorizada en la memoria de repetición de la imagen es leída
de forma cíclica, por ejemplo 60 veces por segundo por el
controlador gráfico y es enviada a la instalación de
representación.
En los procedimientos orientados a loa píxeles,
se describe la imagen del objeto como gráfico de mapa de píxeles.
Durante la rotación y/o escala de gráficos de mapas de píxeles se
calcula cada píxel individual de la imagen del objeto con un
algoritmo. Durante la adaptación continua de la imagen del objeto a
un ángulo de giro variable, se lleva a cabo un cálculo de este tipo
en tiempo real en el caso de una ejecución de software con un gasto
de cálculo alto. Las realizaciones acordes con el hardware no se
utilizan especialmente en el sector de la automoción. Para la
representación, por ejemplo, de punteros giratorios se puede
calcular previamente para cada posición posible del puntero una
imagen con datos de los puntos de la imagen de destino y se puede
memorizar. De esta manera, para la posición respectiva del puntero
solamente tienen que llamarse y representarse los datos de los
puntos de la imagen. En un procedimiento de este tipo es un
inconveniente que especialmente en el caso de una resolución
elevada y de una representación transparente en color, es necesario
un espacio considerable de memoria.
En los procedimientos orientados a vector, la
imagen del objeto se describe a través de vectores previamente
memorizados. La rotación y/o la escala del gráfico de vectores se
llevan a cabo a través de nuevo cálculo de los vectores
individuales con nueva representación siguiente de la imagen. Un
puntero es descrito en este caso, por ejemplo, a través de su
contorno de puntero. Los vectores son rotados en tiempo real para la
representación del puntero en el ángulo de giro respectivo.
Puesto que en estos procedimientos solamente
están memorizados los vectores del contorno del puntero, el espacio
necesario de la memoria es reducido. En el caso de la representación
continua del puntero, solamente hay que calcular la transformación
de los vectores en función de un parámetro, de manera que también el
gasto de cálculo es limitado. Con procedimientos de este tipo se
pueden describir bien, sin embargo, en general, sólo
representaciones más sencillas de un puntero, puesto que
especialmente las configuraciones y las representaciones más
costosas de los punteros con varios valores de color y valores de
transparencia o bien requieren un número elevado de vectores o
hacen necesaria una descripción de cada punto de la imagen a través
de un vector propio. Esto conduce, en el caso de una ejecución de
software, a un gasto de cálculo no que se puede realizar en la
práctica en tiempo real, de manera que se utilizan en todo caso
realizaciones de hardware costosas.
El documento DE 198 16 795 A1 describe un
procedimiento para la representación de objetos móviles en formato
de mapa de píxeles en un dispositivo de representación en forma de
matriz, en el que para diferentes representaciones del objeto de
una curva predeterminada de la trayectoria se calculan en cada caso
de antemano y se memorizan mapas de píxeles y la posición
respectiva del objeto a lo largo de la curva de la trayectoria se
lleva a cabo a través de lectura y representación de los mapas de
píxeles así como, dado el caso, a través del cálculo de un mapa de
píxeles intermedio a través de interpolación a partir de los datos
de los puntos de la imagen de los mapas de píxeles previamente
memorizados. De esta manera, se combinan los procedimientos
descritos anteriormente de la memorización de todos los datos de los
puntos de la imagen así como del cálculo de cada imagen de destino
en virtud de una imagen del objeto previamente memorizada. En este
caso es un inconveniente, sin embargo, que o bien debe memorizarse
previamente un número elevado de representaciones de puntero con
espacio correspondiente de la memoria o se perjudica en una medida
visible la calidad de la representación durante la
interpolación.
Eldon y Wegner describen en "Using the TMC2301
image resampling sequencer", 2407 Microprocessors and
Microsystems 14 (1990-03), Nº 2, Londres GB,
XP000102973 una arquitectura de hardware para la transformación de
la imagen en color, calculando para cada punto de la imagen de
destino unas coordenadas de los puntos de la imagen fuente, y se
presentan diferentes procedimientos de interpolación alternativos,
incluida la interpolación bilineal, para la determinación de los
datos de los puntos de la imagen de destino a partir de los datos de
los puntos de la imagen fuente.
Siegel describe en "Realtime Polynomial Warp
Hardware for Arbitrary Resolution Imagen Resampling",
ELECTRONIC IMAGING, INTERNATIONAL ELECTRONIC IMAGING EXPOSITION AND CONFERENCE, ADVANCE PRINTING OF PAPER SUMMARIES, WALTHAM, MA, US, Vol. 1 páginas: 394 - 399, XP000828170, un sistema que está en condiciones de transformar imágenes mayores, descomponiéndolas en bloques más pequeños a transformar.
ELECTRONIC IMAGING, INTERNATIONAL ELECTRONIC IMAGING EXPOSITION AND CONFERENCE, ADVANCE PRINTING OF PAPER SUMMARIES, WALTHAM, MA, US, Vol. 1 páginas: 394 - 399, XP000828170, un sistema que está en condiciones de transformar imágenes mayores, descomponiéndolas en bloques más pequeños a transformar.
El procedimiento de acuerdo con la invención con
las características de la reivindicación 1 tiene el objetivo de
conseguir con un gasto de hardware relativamente reducido,
especialmente con una necesidad de memoria reducida y con una
instalación de cálculo dimensionada pequeña y a pesar de todo con un
gasto de cálculo relativamente reducido, una representación exacta
de una imagen del objeto bajo una transformación discrecional,
especialmente una ángulo de giro discrecional. Además, se crea una
reproducción eficiente de una transformación, que comprende
especialmente una rotación y/o una escala y/o una traslación, en
hardware y software.
A este respecto, por un punto de la imagen se
entienden las coordenadas o bien la pareja de coordenadas x_{i},
y_{i} del punto de la imagen, en cambio los datos asociados al
punto de la imagen, es decir, los valores de color y la
transparencia, se designan como datos de los puntos de la
imagen.
De acuerdo con la invención, se parte de la
misma manera de los puntos de la imagen de destino. Se transforma
en cada caso inversamente al menos una parte de los puntos de la
imagen de destino -es decir, las coordenadas-x, y
obtenidas a través del número de las columnas y del número de las
líneas- con lo que se calculan los puntos de las imágenes fuente
correspondientes -es decir, las coordenadas-x, y en
la imagen fuente-. En el caso de una transformación con una
rotación y/o una escala la transformación inversa correspondiente es
una rotación alrededor del ángulo de giro negativo y/o una escala
en la medida de los valores recíprocos de los factores de escala de
la dirección-x, y, lo que se puede representar a
través de una matriz adecuada, en general la matriz de rotación con
ángulo de giro negativo y con los valores recíprocos de los factores
de escala. Los puntos de la imagen fuente calculados de esta manera
presentan en la mayoría de los casos valores de
coordenadas-x, y no de número entero y no coinciden
con ninguno de los puntos de la imagen del objeto. Los datos de un
punto de la imagen de destino son calculados ahora a partir de una
comparación de un punto de la imagen fuente con los puntos de la
imagen del objeto previamente memorizados.
Puesto que la imagen del objeto a transformar se
describe de esta manera a través de puntos individuales de la
imagen, es decir, que está memorizada como imagen de píxeles, se
pueden memorizar también configuraciones más complejas con varias
etapas de color y valores de transparencia en un fichero de mapas de
píxeles. Si está memorizada solamente una imagen del
objeto-es decir, especialmente en el caso de un
ángulo de giro de cero y con un factor de escala uno-, se necesita
un espacio de memoria muy reducido también en el caso de una
configuración más compleja, en el caso de variaciones de color y de
valores de transparencia. En este caso está prevista de acuerdo con
la invención una representación de imágenes en color con valores de
transparencia.
A través de una comparación de las coordenadas
del punto de la imagen fuente calculado con valores mínimos y
máximos se puede determinar si cae en la imagen del objeto y, por lo
tanto, se pueden calcular a continuación sus datos o se encuentra
fuera de la imagen del objeto y, por lo tanto, no es relevante. En
el caso de que no sea relevante, se coloca un valor de
transparencia presente a cero.
En el caso de que el punto de la imagen fuente
calculado con sus coordenadas caiga exactamente sobre un punto de
la imagen del objeto, entonces se toman directamente sus datos de
los puntos de la imagen como valores R, G, B, \alpha. En otro
caso, se puede llevar a cabo de una manera ventajosa un promedio
sobre los datos correspondientes de los puntos de la imagen de los
cuatro puntos de la imagen del objeto circundantes. A tal fin debe
utilizarse de acuerdo con la invención un promedio lineal, en el que
la ponderación de los datos de los puntos de la imagen de cada
punto del objeto se realiza de una manera proporcional a la
distancia de sus coordenadas con respecto a las coordenadas (es
decir, el número de columnas y el número de líneas) del punto de la
imagen fuente. Una ponderación de este tipo es especialmente bien
adecuada para la aplicación en un circuito integrado (IC, por
ejemplo también un ASIC (circuito integrado específico de la
aplicación. En un promedio de este tipo, se obtiene esencialmente
el alisamiento de los cantos (antialiasing) de la imagen del objeto
-en general, a través de una modificación escalonada del valor de
transparencia en el borde de la imagen del objeto- de manera que se
pueden conseguir buenas representaciones del objeto transformado
también sin un filtrado posterior de la imagen del objeto
transformada.
De acuerdo con la invención, se puede reducir
todavía de una manera ventajosa el gasto de cálculo de la
transformación inversa, especialmente de una rotación hacia atrás,
de los puntos de la imagen de destino, comparando ya antes del
cálculo de los puntos de la imagen fuente los puntos de la imagen de
destino con la imagen de destino, dentro de la cual se encuentran
los puntos de la imagen de destino que son relevantes para la
representación del objeto girado. A tal fin, se pueden transformar,
por ejemplo, puntos de imágenes angulares de la imagen del objeto
con valores de coordenadas mínimos y máximos, por ejemplo se pueden
girar en la medida de ángulos de giro positivos y, por lo tanto, se
forman puntos de imágenes angulares correspondientes de la imagen
de destino. De esta manera, en esta forma de realización, se lleva a
cabo una comparación en la imagen de destino u no en la imagen
fuente. A este respecto, a través de un gasto de cálculo
relativamente reducido de la transformación de cuatro puntos de la
imagen del objeto, se puede reducir en una medida considerable el
gasto de cálculo posterior de la transformación inversa de los
puntos de la imagen de destino. En las dos formas de realización se
coloca a cero un valor de transparencia eventualmente presente o se
adapta el valor de la claridad o bien los valores de los colores a
la imagen de
fondo.
fondo.
Para conseguir en el caso de factores de escala
mayores o bien en el caso de zonas mayores del factor de escala
representaciones suficientemente nítidas del objeto girado, se
pueden utilizar a tal fin también varias imágenes del mismo objeto,
por ejemplo con diferente resolución.
Además, la imagen del objeto se puede memorizar
también con una resolución local más elevada, frente a la
resolución de la imagen de destino de la instalación de
representación. Un supermuestreo de este tipo requiere
esencialmente sólo una necesidad de espacio más elevada para la
imagen del objeto con los datos de los puntos de la imagen
respectivos. El gasto de cálculo para la transformación inversa de
los puntos de la imagen de destino y para el promedio de sus datos
a partir de los datos de la imagen del objeto es independiente del
número de los datos de los puntos de la imagen del objeto
memorizados, de manera que no se eleva el gasto general de cálculo
en el caso de un supermuestreo de este tipo.
La imagen del objeto se puede subdividir también
en varios segmentos, que se transforman en cada caso de forma
individual. De esta manera, especialmente en el caso de la rotación
de una imagen alargada del objeto, por ejemplo de un puntero, se
puede mantener reducido la zona de la imagen de destino a calcular.
Para los segmentos de la imagen del objeto se calculan en este caso
en primer lugar de la manera descrita anteriormente los puntos de
los segmentos de destino a través de la transformación de sus puntos
angulares de los segmentos del objeto. A continuación de acuerdo
con una alternativa, se puede fijar los parámetros de los bordes,
que se extienden a través de estos puntos angulares de los
segmentos de destino, como rectas lineales y se pueden calcular los
puntos de la imagen de destino dentro de los bordes como puntos de
la imagen de destino. De acuerdo con una segunda forma de
realización alternativa, se puede seleccionar una zona de segmentos
de destino como polígono que comprende estos puntos de segmentos de
destino, especialmente un rectángulo alineado vertical/horizontal,
cuyos puntos de la imagen de destino de transformar de forma inversa
a continuación.
El dispositivo de acuerdo con la invención se
puede realizar especialmente con un IC, por ejemplo ASIC, para el
promedio lineal de los datos de los puntos de la imagen de destino a
partir de los datos de los puntos de la imagen del objeto, con lo
que es posible una fabricación de coste favorable con alta velocidad
de cálculo.
De acuerdo con un desarrollo ventajoso, se puede
llevar a cabo una realización en gran medida con hardware y, sin
embargo, de coste relativamente favorable, siendo realizadas las
transformaciones e interpolaciones a través de una instalación de
filtro de hardware de un controlador gráfico, siendo cargados los
segmentos a transformar de la imagen del objeto en una memoria
Cache de entrada y siendo cargadas las zonas de segmentos de
destino calculadas a través de transformación en una memoria Cache
de salida del controlador gráfico, siendo integrados el controlador
gráfico y eventualmente el microprocesador utilizado para el control
del programa.
A continuación se explica en detalle la
invención con la ayuda de los dibujos adjuntos en algunas formas de
realización.
En este caso:
La figura 1 muestra una instalación de
representación con imagen del objeto e imagen de destino.
La figura 2 muestra un diagrama de flujo de un
procedimiento de acuerdo con una forma de realización de la
invención.
La figura 3 muestra un diagrama de bloques de un
dispositivo para la realización del procedimiento de la figura
2.
La figura 4 muestra un diagrama de flujo de un
procedimiento de acuerdo con otra forma de realización de la
invención.
La figura 5 muestra un diagrama de flujo de un
dispositivo para la realización del procedimiento de la figura
4.
La figura 6 muestra una ampliación de un
fragmento de la instalación de representación párale cálculo de los
datos de los puntos de la imagen a partir de los puntos de la imagen
del objeto.
La figura 7 muestra una representación de otra
imagen del objeto con una subdivisión en varios segmentos del
objeto,
La figura 8 muestra la imagen de destino a
calcular a partir de la imagen del objeto de la figura 7 con una
subdivisión en segmentos de destino y zonas de segmentos de
destino.
La figura 9 muestra un diagrama de bloques de un
dispositivo para la transformación de la imagen del objeto de la
figura 7 en la imagen de destino de la figura 8.
La figura 10 muestra otro diagrama de bloques
del dispositivo de la figura 9 con la indicación de las curvas de
las señales.
La figura 11 muestra un diagrama de flujo de un
procedimiento realizado con el dispositivo de las figuras 9 y
10.
De acuerdo con la figura 1, como instalación de
representación está prevista una pantalla LCD 1 con una disposición
en forma de matriz de píxeles o bien de puntos de la imagen Z_{i}
con i = 1 a n. En la pantalla LCD 1 se reproduce un puntero en
diferentes ángulos de giro \beta, correspondiendo el ángulo de
giro \beta a un parámetro, por ejemplo una velocidad del vehículo
o un número de revoluciones del motor. En la figura 1, se muestra
un puntero 3 en la posición básica (\beta = 0) en una imagen del
objeto OB reproducida a través de líneas de trazos y un puntero 6
girado en la medida de un ángulo de giro \beta en una imagen de
destino ZB. La imagen del objeto OB y la imagen de destino ZB se
describen a través de ficheros de mapas de píxeles, estando
memorizados datos para cada punto de la imagen descrito a través de
su número de líneas y su número de columnas, de manera que la
imagen de destino ZB se puede reproducir con coloración y
transparencia variables delante de un fondo, por ejemplo una escala
u otras representaciones. En las formas de realización mostradas se
utilizan en este caso los colores básicos R, G, B y un valor de
transparencia \alpha, de una manera alternativa a ello se pueden
emplear otros formatos de colores, por ejemplo YUV y \alpha. El
número de las columnas y el número de las líneas se consideran a
continuación como coordenadas-x, y (de número
entero). Para la representación de la imagen de destino ZB deben
calcularse, por lo tanto, as partir de los datos de los puntos de la
imagen R_{k}, G_{k}, B_{k}, \alpha_{k} conocidos de los
puntos de la imagen del objeto O_{k} y a partir del ángulo de
giro \beta conocido los datos de los puntos de la imagen de
destino R_{k}, G_{k}, B_{k}, \alpha_{k}
correspondientes.
De acuerdo con el procedimiento mostrado en la
figura 2 se introduce a tal fin en una primera etapa del
procedimiento 20, durante la entrada de un ángulo de giro \beta o
bien en la presencia de un ángulo de giro \beta modificado, el
cálculo de los nuevos puntos de la imagen de destino y se coloca un
parámetro i a cero. En el bucle formado por la segunda etapa del
procedimiento 21 y la etapa de decisión 29 se llaman los puntos de
la imagen de destino Zi con _{i} = 1 a n con sus coordenadas x e y
de una manera sucesivas y a continuación se giran en una tercera
etapa del procedimiento 22 por medio de una matriz de rotación
R_{-}_{\beta} en la medida del ángulo de giro negativo
-\beta. De esta manera, se calculan las coordenadas x e y del
punto de la imagen fuente Q_{i}. En la etapa de decisión 23 se
verifica a continuación si el punto de la imagen fuente calculado
se encuentra en la imagen del objeto OB. La imagen del objeto
rectangular OB mostrada en la figura 1 se establece con facilidad a
través de las coordenadas-x, y mínimas y máximas, de
manera que para esta comparación solamente hay que comparar las
coordenadas x e y del punto de la imagen fuente Q_{i} calculada
con estos valores. En el caso de que el punto de la imagen fuente
Q_{i} no se encuentre en la imagen objeto OB, no se representa. A
tal fin, en la representación con valor de transparencia, éste se
coloca en cero de acuerdo con la etapa 24, de manera que el punto
de la imagen de destino Zi correspondiente no se reconoce en la
pantalla LCD 2. A continuación se termina en las etapas 29, 30 y 21
el procedimiento o se toma el punto siguiente de la imagen de
destino Z _{i+1}.
En el caso de que en la etapa de decisión 23 se
determine que el punto de la imagen fuente Q_{i} se encuentra en
la imagen del objeto OB, se verifica en primer lugar en la etapa de
decisión 25 siguiente si el punto de la imagen fuente Q_{i}
calculado cae exactamente en un punto de la imagen del objeto
O_{k} previamente memorizado, es decir, si coincide en sus
coordenadas x e y con este punto. En este caso, en la etapa 26 se
utilizan directamente los datos de los puntos de la imagen R_{k},
G_{k}, B_{k}, \alpha_{k} del punto de la imagen del objeto
Ok como datos de los puntos de la imagen R_{k}, G_{k}, B_{k},
\alpha_{k} del punto de la imagen de destino Z_{i} respectivo
y en las etapas 21, 29 se utiliza de nuevo el punto de la imagen de
destino Z _{i+1} siguiente ose termina el procedimiento. En
cambio, en el caso de que el punto de la imagen fuente Qi se
encuentre entre los puntos de la imagen del objeto predeterminados,
se calculan en la etapa 27 en primer lugar los puntos de la imagen
del objeto adyacentes -designados para mayor claridad como O_{1},
O_{2}, O_{3}, O_{4} conocidos-. En la etapa 28 se interpolan
los datos de los puntos de la imagen R_{k}, G_{k}, B_{k},
\alpha_{k} a partir de los datos de los puntos de la imagen
correspondientes de estos puntos de la imagen del objeto
adyacentes.
Esto se muestra en detalle en la figura 6. Las
coordenadas x e y de los puntos de la imagen del objeto O_{1},
O_{2}, O_{3}, O_{4} adyacentes se obtienen, por lo tanto, como
valor entero de x_{i}, y_{i} o valor incrementado a tal
fin.
El promedio se puede realizar linealmente de
acuerdo con la invención, ponderando los datos de los puntos de la
imagen del objeto de acuerdo con la distancia respectiva a los
puntos de la imagen del objeto respectivos. En este caso,
especialmente en lugar de la distancia geométrica, a calcular
euclidianamente, se puede llevar a cabo un promedio lineal separado
sencillo sobre las coordenadas X e Y. De esta manera, para la línea
inferior de los puntos de la imagen del objeto O1 y O4 se puede
llevar a cabo un promedio lineal en función de la distancia de las
coordenadas x, en el que, por lo tanto, se multiplican los datos de
O_{1} por el factor (1-(xi - int (xi))) (es decir, la distancia
entre xi y el ponto O_{4} opuesto) y de una manera
correspondiente los datos de O_{4} por el factor (xi - int (xi)) y
a continuación se suman. A continuación se realiza un promedio
lineal correspondiente de los datos de los puntos de la imagen de la
línea superior con los puntos de la imagen del objeto O_{2} y
O_{3}, y a partir de los valores calculados de esta manera de la
línea superior y de la línea inferior se calcula un valor promedio
correspondiente sobre las coordenadas y, en el que se multiplica el
valor de la línea inferior (1-(yi - int (yl))) y el valor de la
línea superior por la distancia con respecto a la línea inferior,
es decir, el factor (yi - int (yi)) y a continuación se suman. A
este respecto, un promedio lineal de este tipo obtiene un
alisamiento de los cantos (antialiasing) aplicado en la generación
de los puntos de la imagen del objeto previamente memorizados, de
manera que de acuerdo con la invención no es necesario un filtrado
posterior.
Después de que los datos de los puntos de la
imagen R_{k}, G_{k}, B_{k}, \alpha_{k} calculados han
sido asociados al punto de la imagen de destino Z_{i}, se utiliza
en la etapa 21 de nuevo el siguiente punto de la imagen de destino
Z _{i+1}.
En el dispositivo de acuerdo con la invención
para el procedimiento de la figura 2 se introduce, de acuerdo con
la figura 3 de una instalación de rotación 10, un ángulo de giro
\beta. De una manera más ventajosa, a tal fin se divide por el
ordenador intercalado ya el valor del seno y el valor del coseno que
son necesarios para la matriz de rotación. La instalación de
rotación 10 recibe de una manera sucesiva el número de las líneas y
el número de las columnas de cada punto de la imagen de destino
Z_{i}, por ejemplo a partir de una memoria de coordenadas 9 como
coordenadas de número entero, calcula los puntos de la imagen fuente
Q_{i} (etapa 22 en la figura 2) y los transmite a una primera
instalación de comparación 11, que compara las coordenadas del
punto de la imagen fuente Q_{i} (de acuerdo con la etapa 23) con
las coordenadas de los puntos A, C, D, E, que ha recibido, por
ejemplo, a partir de una memoria de la imagen del objeto 8 o que ha
memorizado como valores mínimos y máximos. La instalación de
comparación 11 verifica si el punto de la imagen fuente calculado
Qi se encuentra en la imagen del objeto OB. Si éste es el caso, se
transmiten las coordenadas del punto de la imagen fuente Qi a una
instalación de interpolación 12, en la que, de acuerdo con las
etapas 25, 26, 27 y 28, se calculan los datos del punto de la
imagen de destino Z_{i} a partir de los datos correspondientes de
los puntos de la imagen del objeto O_{i} memorizados en la memoria
de la imagen del objeto 8, siendo recibido a continuación por la
instalación de rotación 10 el siguiente punto de la imagen de
destino Z _{i+1}. Los datos R, G, B, \alpha calculados de los
puntos de la imagen de destino Zi son alimentados a una memoria
intermedia de imágenes (frame buffer) 13 para la representación en
la instalación de representación 1.
Para un puntero con 300 x 50 puntos de la imagen
con una anchura de datos de un byte, respectivamente, solamente se
necesita para cada color básico R, B, G así como para la
transparencia \alpha una memoria de la imagen del objeto 8 con un
espacio de memoria de 60 kByte. El ángulo de giro mínimo posible
depende solamente de la exactitud del cálculo del algoritmo de giro
o bien de la instalación de rotación 10. Para una rotación de un
punto de la imagen de destino Zi a través de la multiplicación por 2
x 2 - matriz de rotación R, solamente hay que realizar cuatro
multiplicaciones y dos adiciones. En la etapa 23 deben realizarse
para cada punto de la imagen de destino i = 1 a n en cada caso
cuatro comparaciones de sus coordenadas con valores mínimos y
máximos. En el cálculo de los datos de los puntos de la imagen de
acuerdo con las etapas 24, 25, 26, 27 deben realizarse en el caso
máximo -cuando no debe cumplirse nunca la condición de la etapa 23-
seis multiplicaciones, seis adiciones y tres desviaciones para n
puntos de la imagen de destino.
En la forma de realización mostrada en las
figuras 4 y 5 no se calculan para todos los puntos de la imagen de
destino Zi a través de la rotación inversa los puntos de la imagen
del objeto O_{i} correspondientes, sino que se lleva a cabo en
primer lugar para la reducción del gasto de cálculo una selección
previa adecuada de los puntos relevantes de la imagen de destino. A
tal fin, de acuerdo con la figura 4, se calculan a partir de la
primera etapa del procedimiento 50 con la inscripción y, dado el
caso, la comparación del ángulo de giro \beta, en la segunda
etapa del procedimiento 51, en primer lugar las coordenadas de los
puntos de la imagen del objeto A, C, D, E giradas en la medida del
ángulo de giro \beta. De esta manera, se calculan los puntos
angulares correspondientes de la imagen de destino ZB. A
continuación se leen en el bucle formado a través de las etapas 52,
60, 61 de una manera sucesiva los puntos de la imagen de destino
Z_{i}, i = 1 a n con su número de columnas y su número de líneas
como coordenadas x e y a partir de la memoria de las coordenadas 9
y a continuación se verifica en la etapa 53 si se encuentran en la
imagen de destino ZB. En el caso de que no se encuentren en ZB, se
coloca en la etapa 54 el valor de la transparencia en cero (de una
manera alternativa a ello se pueden adaptar, también en esta forma
de realización, de nuevo los valores del color al fondo); en el
caso de que se encuentren en ZB, se calculan los datos en las etapas
55, 56, 57, 58 y 59 de acuerdo con las etapas 22 y 25 a 28
descritas anteriormente.
De una manera correspondiente, la instalación de
rotación 10 en la figura 5 recibe en primer lugar las coordenadas
de los puntos de la imagen del objeto A, C, D, E desde la memoria de
la imagen del objeto 8 y emite de una manera correspondiente a
través de la rotación en la medida de \beta los valores
promediados a una segunda instalación de comparación 61 para la
realización de la etapa de decisión 53 respectiva. La segunda
instalación de comparación 61 o bien coloca los datos en cero y los
transmite directamente a la memoria intermedia 13 o provoca una
rotación del punto de la imagen de destino a través de la
instalación de rotación 10 y la transmisión de los puntos de la
imagen fuente calculados a la instalación de interpolación 12 para
la realización de las etapas 56 a 59 y la emisión de los datos
calculados a la memoria de la imagen intermedia 13.
La instalación de interpolación puede estar
realizada en todas las formas de realización total o parcialmente
como circuito ASIC. La memoria de la imagen del objeto 8 puede estar
configurada especialmente como memoria no volátil y la memoria
intermedia 13 puede estar configurada como memoria volátil. Las
instalaciones 11, 12 y 61 pueden estar realizadas con hardware o se
pueden ejecutar como instalaciones de software.
De acuerdo con la forma de realización mostrada
en las figuras 7 a 11, la imagen del objeto OB puede ser
subdividida también en varios segmentos del objeto OS1 - OS9, que
pueden tener diferentes tamaños y formas. Para un procesamiento de
los píxeles orientado a las líneas, los segmentos del objeto OS1 a
OS9 forman en este caso rectángulos alineados
horizontales/verticales, cuyos cuatro puntos angulares de los
segmentos del objeto -en la figura 7 se muestran los puntos
angulares de los segmentos del objeto OE 1, 2, 3, 4 del primer
segmento del objeto OS1- presentan las coordenadas x e y mínimas y
máximas de los puntos de la imagen del objeto detectados. La
segmentación se puede llevar a cabo de acuerdo con criterios
diferentes; de una manera más ventajosa, el tamaño de los segmentos
corresponde al tamaño de una memoria de entrada 77, descrita con
más detalle con referencia a las figuras 9 y 10, de un controlador
gráfico 72, de manera que el número de los segmentos depende del
tamaño de la imagen
fuente.
fuente.
Los segmentos del objeto OS1 - OS9 son
transformados de forma separada. A tal fin, se forman en primer
lugar para cada segmento del objeto a través de transformación de
los puntos angulares de los segmentos del objeto OE 1, 2, 3, 4 los
puntos angulares de los segmentos de destino ZE 1, 2, 3, 4. Los
segmentos de destino ZS1 - ZS9 formados a través de transformación
-para mayor simplicidad se muestra una rotación sin indicación de
una escala- de los segmentos individuales del objeto se encuentran,
en general, de acuerdo con la figura 8 bajo un ángulo con respecto
al eje-x y, por lo tanto, no son adecuados para un
procesamiento de los píxeles orientado a las líneas.
Por lo tanto, de acuerdo con una forma de
realización, se pueden fijar los parámetros en primer lugar de los
bordes o bien de las zonas de los bordes, por ejemplo se pueden
fijar los parámetros linealmente, colocando rectas lineales -se
muestra en la figura 8 a modo de ejemplo la recta lineal ZR12 entre
Z1 y Z2- a través de los puntos angulares de los segmentos de
destino y se calculan los puntos de la imagen que se encuentran
dentro de los bordes.
De acuerdo con una forma de realización
alternativa, se forma para cada segmento de destino ZD1 - ZS9 una
zona de segmentos de destino ZSB1 a ZSB8 rectangular, alineada
horizontal/vertical y que al segmento de destino. Las zonas de
segmentos de destino ZSB1 a ZSB8 se calculan -como se describe con
detalle en la forma de realización anterior- píxel por píxel o bien
punto por punto de la imagen de destino, siendo calculados para
cada punto de la imagen de destino a través de transformación
inversa -es decir, a través de rotación inversa- los datos de los
puntos de la imagen del objeto. Puesto que las zonas de segmentos de
destino se interfieren, en general, o bien se llevan a cabo en este
caso varias veces los cálculos para algunos puntos e la imagen de
destino o se coloca un registro con los puntos de la imagen de
destino ya calculados; el gasto necesario a este respecto para
comparar las coordenadas de cada punto de la imagen de destino con
las entradas del registro, no es, sin embargo, en general,
demasiado alto.
Esta forma de realización con una imagen del
objeto segmentada conduce especialmente en el caso de una rotación
de imágenes del objeto alargadas estrechas -por ejemplo punteros- a
una reducción considerable del gasto de cálculo, puesto que sin
segmentación, también en el caso de limitación de la zona de destino
a través de la transformación de los puntos angulares, se forma, en
general, una zona de destino muy grande, que contiene muchos puntos
de la imagen de destino, para los que no se calculan puntos de la
imagen fuente. Si se adapta el tamaño del segmento al tamaño de la
memoria de entrada 77 del controlador gráfico, especialmente de una
memoria Cache de entrada 77 con tiempo de acceso rápido, se puede
conseguir un procesamiento rápido de la imagen a través de un
cálculo siguiente realizado con hardware de la transformación
inversa, como se muestra a continuación.
De acuerdo con la figura 9, un sistema de bus 69
conecta un microprocesador 70, una memoria de trabajo (RAM) 73, una
memoria del programa 74 (por ejemplo, una Flash-ROM)
y el controlador gráfico 72. En la memoria del programa 74 se
memoriza, además del software del procedimiento, también la imagen
del objeto OB como mapa de píxeles. El controlador gráfico 72
presenta una instalación de filtro 76 para el cálculo de la
transformación y la transformación inversa así como una
interpolación para el cálculo de los datos de los puntos de destino
a partir de los datos de los puntos del objeto y como zonas de la
memoria RAM presenta una memoria Cache de entrada 77, una memoria
Cache de salida 79 y una memoria FIFO de parámetros 75 con una
característica de primero en entrar, rimero en salir. La
instalación de filtro 76 puede corresponder de esta manera a la
instalación de rotación 10 y a la instalación de interpolación 12
de la primera forma de realización.
El modo de trabajo de la instalación mostrada en
la figura 9 se explica en el ejemplo de la rotación del puntero de
la figura 7 a la figura 8 con la representación de la figura 10 y el
diagrama de flujo descrito en la figura 11. Después del comienzo en
la etapa 80, el microprocesador 70 calcula en la etapa 81 los
segmentos del objeto OS1 a 9 de la imagen del objeto OB a girar y a
escalar y con la ayuda de los parámetros regulables del ángulo de
giro, factor de escala X y factor de escala Y se calculan las zonas
de los segmentos de destino ZSB1 a 8 resultantes circundantes. En
la etapa 82 se carga el primer segmento del objeto OS1 a partir de
la memoria del programa 74 en la memoria Cache de entrada 77. Para
la reducción del tiempo de acceso, se pueden cargar los segmentos
del objeto también en cada caso previamente desde la memoria del
programa 74 en la memoria de trabajo 73 y en la etapa 82 se cargan
en cada caso desde la memoria de trabajo 73 en la memoria Cache de
entrada 77.
En la etapa 83 se calculan por el
microprocesador 70 para cada punto de la imagen del segmento de
destino ZS1 o de la zona de segmentos de destino ZSB1 los datos de
los puntos de la imagen de destino E, G, B, alfa. A tal fin se
calculan en primer lugar parámetros para la instalación de filtro 76
y se memorizan en la memoria FIFO de parámetros 75. La instalación
de filtro 76 toma los parámetros a partir de la memoria FIFO de
parámetros, calcula los puntos de la imagen (píxeles) del segmento
de la imagen de destino ZSB1 utilizando el segmento del objeto OS1
a partir de la memoria Cache de entrada 77 y los memoriza en la
memoria Cache de salida 79. En la etapa 84 se transfieren los datos
de los puntos de la imagen de desatino desde la memoria Cache de
entrada 79 a la memoria de repetición de la imagen 78 (Frame
Buffer). Estas etapas se llevan a cabo de acuerdo con las etapas
85, 86 para todos los puntos de la imagen de destino de todos los
segmentos del objeto. Después de la realización de estos bucles, la
imagen de destino está cargada en la memoria de repetición de la
imagen 78 para ser representada -con otras representaciones- en la
instalación de representación 1.
Para un dimensionado bueno con costes
relativamente reducidos, la memoria Cache de entrada, la memoria
Cache de salida y la memoria FIFO de los parámetros son realizadas
lo más pequeñas posible. La memoria Cache de entrada 77 determina
en este caso el tamaño de los segmentos del objeto y presenta, por
ejemplo, 64 x 64 píxeles con 4 bytes por píxel y, por lo tanto, 16
Kbytes. La memoria Cache de salida 79 puede comprender, por
ejemplo, una línea del segmento de destino (o de la zona de los
segmentos de destino) y puede estar dimensionada, por ejemplo, a
través del producto del tamaño de las células de la memoria Cache de
entrada x el factor de escala máximo x 4 Bytes/píxel = 64 x 4 x 4 =
1 Kbyte. El tamaño de la memoria FIFO de parámetros 75 se adapta de
una manera más ventajosa a los parámetros necesarios para el cálculo
de una línea de salida, es decir, en el ejemplo descrito
anteriormente con cuatro parámetros por píxel a través del producto
del tamaño de las líneas de la memoria Cache de salida x el factor
de escala x parámetros/píxel = 64 x 4 x 4 = 1 Kbyte. La instalación
de filtro 76 del controlador gráfico 72 es una reproducción del
hardware de la transformación o bien de la transformación inversa,
especialmente de una transformación que comprende una rotación y/o
una escala, pero también una transformación más compleja. La
especificación de cálculo se aplica fijamente en el hardware, con
el fin de conseguir una velocidad máxima del procesamiento. En el
ejemplo indicado anteriormente de la rotación del puntero, se puede
utilizar a tal fin, por ejemplo, un filtrado bilineal de cuatro
píxeles con dos factores de ponderación. El microprocesador 70 con
la memoria del programa 74 asume el control de la ejecución de la
rotación/escala y el cálculo de las coordenadas necesarias, que se
depositan en la memoria FIFO de parámetros 75, por ejemplo la
división de la imagen del objeto o bien del fichero de píxeles de la
imagen del objeto en uno o varios segmentos, el inicio de la carga
de los segmentos individuales en la memoria Cache de entrada, el
cálculo de las direcciones de los píxeles de la imagen de destino,
el cálculo de los píxeles de la imagen del objeto, que se utilizan
para la interpolación de los datos de los puntos de la imagen de
destino, el cálculo de los factores de ponderación o bien de los
factores de filtro para cada punto de la imagen de destino, la
escritura de los parámetros de filtro en la memoria FIFO de
parámetros y el inicio de la escritura de la memoria Cache de
salida en la memoria de trabajo/memoria de reproducción de la
imagen.
De acuerdo con una forma de realización, el
microprocesador 70 puede estar configurado en el mismo chip que el
controlador gráfico 72 incluyendo o excluyendo la memoria Cache de
entrada 77 y la memoria Cache de salida 79.
De acuerdo con una forma de realización
alternativa a este respecto, la memoria Cache de entrada 77 está
realizada como memoria doble. En esta forma de realización, se puede
recargar durante el cálculo de un segmento del objeto cargado en la
instalación de filtro ya el siguiente segmento del objeto en la
parte libre de la memoria Cache de entrada 77.
De acuerdo con otra forma de realización, la
memoria Cache de salida 79 está realizada como memoria doble. En
esta forma de realización, mientras el controlador gráfico 72 copia
la memoria Cache de salida 79 en la memoria de repetición de la
imagen 78, se calcula en la instalación de filtro 76 los siguientes
puntos de la imagen y se depositan en la parte libre de la memoria
Cache de salida 79.
La imagen del objeto OB puede ser segmentada por
el controlador gráfico 72 antes de la transformación o puede ser
memorizada ya segmentada en la memoria del programa 74,
especialmente en el caso de configuración como
Flash-ROM.
De acuerdo con una forma de realización, la
instalación de filtro puede calcular los datos de los puntos de la
imagen de destino con factores de ponderación constantes que no debe
ser transmitidos, por lo tanto, por el microprocesador, o se pueden
calcular los factores de ponderación a partir de la indicación de
los puntos de la imagen del objeto y de los puntos de la imagen de
destino. Además, es posible también la transmisión de una sola
dirección de los puntos de la imagen del objeto por cada punto de la
imagen de destino a la instalación de filtro, después de lo cual se
calculan otras direcciones de los puntos de la imagen del objeto de
una manera sucesiva a partir de esta dirección de los puntos de la
imagen del objeto.
Además, se puede iniciar la escritura de la
memoria de salida en la memoria de repetición de la imagen de una
manera alternativa a la forma de realización anterior también desde
la instalación de filtro.
En todas las formas de realización se pueden
soportar diferentes formatos de datos del fichero de píxeles de los
puntos de la imagen del objeto, por ejemplo 8 Bit Alpha y 8 Bit
Index y 256 Palettenpixel, 8 Bit Index y 8 Bit Alpha y 356
Palettenpixel, 8 Bit Rot y 8 Bit Grün y 8 Bit Blau y 8 Bit Alpha. De
una manera alternativa a la representación de 8 bits de los colores
y de los valores Alpha, son concebibles también formatos de datos
con más o menos bits, como por ejemplo 5 Bit Rot y 6 Bit Grün y 5
Bit Blau.
Claims (15)
1. Procedimiento para la transformación de una
imagen de un objeto (OB), especialmente para una representación en
una instalación de representación (1) con una disposición en forma
de matriz de puntos de la imagen de destino (Z_{i}), en el que
para al menos una parte de los puntos de la imagen de destino
(Z_{i}) se calculan, a través de una transformación inversa,
puntos de la imagen fuente (Q_{i} (-\beta)), se comparan los
puntos de la imagen fuente (Q_{i} (-\beta)) con puntos de la
imagen del objeto (O_{k}) previamente memorizados y a partir de
esta comparación se calculan datos de los puntos de la imagen de
destino (R_{j}, G_{j}, B_{i}, \alpha_{i}) de los puntos
de la imagen de destino (Z_{i}), comprendiendo los datos de los
puntos de la imagen de destino y los datos de los puntos de la
imagen del objeto en cada caso valores de colores básicos (R, G, B)
y un valor de transparencia (\alpha) y en el cálculo de los datos
de los puntos de la imagen de destino se verifica para cada punto
de la imagen fuente en una etapa de decisión si cae exactamente
sobre un punto de la imagen del objeto, y en el caso de que el punto
de la imagen fuente coincida con un punto de la imagen del objeto,
se toman los datos de los puntos de la imagen del objeto respectivos
como datos de los puntos de la imagen de destino, y en el caso de
que el punto de la imagen fuente no coincida con ninguno de los
puntos de la imagen del objeto, se calculan los datos de los puntos
de la imagen de destino a partir de los datos de los puntos de la
imagen del objeto, de tal manera que los datos de los puntos de la
imagen de destino son calculados a través de una interpolación
lineal a partir de los datos de los puntos de la imagen del objeto
adyacentes, siendo ponderados los datos de los puntos de la imagen
del objeto de acuerdo con la distancia respectiva a los puntos de
la imagen del objeto respectivos.
2. Procedimiento de acuerdo con la
reivindicación 1, caracterizado porque los puntos de la
imagen del objeto (O_{k}) son memorizados con los datos de los
puntos de la imagen del objeto en el formato de mapa de píxeles, y
los datos de los puntos de la imagen de destino son calculados en el
formado de mapa de píxeles.
3. Procedimiento de acuerdo con la
reivindicación 1 ó 2, caracterizado porque la transformación
comprende una rotación alrededor de un ángulo de giro (\beta) y/o
una escala con factores de escala y/o una traslación, y la
transformación inversa comprende una rotación alrededor del ángulo
de giro negativo (-\beta) y/o una escala con los valores
recíprocos de los factores de escala y/o una traslación.
4. Procedimiento de acuerdo con una de las
reivindicaciones anteriores, caracterizado porque durante la
comparación de los puntos de la imagen fuente con los puntos de la
imagen del objeto se calcula en primer lugar si los puntos de la
imagen fuente caen en la imagen del objeto (OB), siendo calculados
datos de los puntos de la imagen de destino para los puntos de la
imagen fuente, que caen en la imagen del objeto, y no siendo
calculados datos de los puntos de la imagen de destino para los
puntos de la imagen fuente, que no caen en la imagen del
objeto.
5. Procedimiento de acuerdo con una de las
reivindicaciones anteriores, caracterizado porque los puntos
de la imagen del objeto son memorizados con una resolución más alta
que los puntos de la imagen de destino.
6. Procedimiento de acuerdo con una de las
reivindicaciones anteriores, caracterizado porque se calcula
en primer lugar una zona de la imagen de destino (ZB) a través de
la transformación de algunos puntos de la imagen del objeto (A, C,
D, E) con preferencia de puntos de la imagen del objeto con
coordenadas mínimas y máximas, y se calcula qué puntos de la imagen
de destino (Z_{i}) se encuentran en la imagen de destino (ZB) y
para los puntos de la imagen de destino que están fuera de la
imagen de destino (ZB) no se lleva a cabo ningún cálculo de los
puntos de la imagen fuente.
7. Procedimiento de acuerdo con la
reivindicación 6, caracterizado porque la imagen del objeto
está subdividida en varios segmentos del objeto
(OS1-9), siendo calculado para cada segmento del
objeto a través de la transformación de al menos algunos de sus
puntos de la imagen del objeto, con preferencia de los puntos de la
imagen del objeto con coordenadas mínimas y máximas, un segmento de
destino (ZS1-9) o una zona de segmentos de destino
(ZSB1-9) que comprende la imagen de destino, y
siendo realizada la reunión de los segmentos de destino
(ZS1-9) o de la zona de segmentos de destino
(ZSB1-9) como imagen de destino.
8. Procedimiento de acuerdo con la
reivindicación 7, caracterizado porque se calculan zonas de
segmentos de destino (ZSB1-9), siendo seleccionados
como las zonas de segmentos de destino (ZSB1-9) unos
rectángulos con alineación horizontal y vertical de sus lados.
9. Procedimiento de acuerdo con la
reivindicación 7, caracterizado porque se calculan las zonas
de destino (ZS1.9), siendo seleccionados puntos de la imagen del
objeto con coordenadas mínimas y máximas como puntos angulares de
los segmentos del objeto (OE1, 2, 3, 4) y siendo transformados sobre
puntos angulares de segmentos de destino (ZE1, 2, 3, 4), siendo
fijados con parámetros los bordes (ZR12) de los segmentos de destino
(ZS1-9), que se extienden a través de los puntos
angulares de los segmentos de destino (Z1, 2, 3, 4), como rectas con
preferencia lineales y siendo calculados los puntos de la imagen,
que se encuentran dentro de los bordes de los segmentos de destino
(ZS1-9), con preferencia incluyendo los puntos de la
imagen que se encuentran sobre los bordes, como puntos de la imagen
de destino del segmento de destino (ZS1-9).
10. Procedimiento de acuerdo con una de las
reivindicaciones 7 a 9, caracterizado porque se calculan
parámetros para la transformación y se memorizan en una memoria de
parámetros, con preferencia en una memoria FIFO, se carga en cada
caso un segmento del objeto en una memoria de entrada, con
preferencia en una memoria Cache de entrada de una instalación de
control gráfico, y se calcula para el segmento del objeto el
segmento de destino o la zona de segmentos de destino, y se
calculan para los puntos de la imagen de destino del segmento de
destino o de la zona de segmentos de destino
(ZSB1-9) los datos de los puntos de la imagen de
destino a partir de los datos de los puntos de la imagen del objeto
y a partir de los parámetros.
11. Procedimiento de acuerdo con la
reivindicación 10, caracterizado porque la memoria de entrada
(77) se utiliza como memoria doble, siendo leído al mismo tiempo un
segmento del objeto por la instalación de filtro (76) a partir de
la memoria de entrada (77) y siendo memorizado un segmento del
objeto siguiente en la misma.
12. Procedimiento de acuerdo con una de las
reivindicaciones 7 a 11, caracterizado porque los datos de
los puntos de la imagen de destino calculados son memorizados
temporalmente en una memoria de salida, con preferencia en una
memoria Cache de salida (79) y son leídos desde la memoria de salida
a una memoria de trabajo (73) o a una memoria de repetición de la
imagen (78).
13. Procedimiento de acuerdo con la
reivindicación 12, caracterizado porque la memoria de salida
(79) se utiliza como memoria doble, siendo inscritos al mismo
tiempo los datos de los puntos de la imagen de destino calculados
en la memoria de salida y siendo emitidos los datos de los puntos de
la imagen de destino memorizados temporalmente a partir de la
memoria de salida en la memoria de trabajo o en la memoria de
repetición de la imagen.
14. Procedimiento de acuerdo con una de las
reivindicaciones 7 a 13, caracterizado porque la imagen del
objeto (OB) subdividida en segmentos del objeto (OS), es memorizada
en una memoria, con preferencia en una memoria de programa (74),
por ejemplo una Flash-ROM, a partir de la cual se
leen de forma sucesiva los segmentos del objeto.
15. Procedimiento de acuerdo con una de las
reivindicaciones anteriores, caracterizado porque la imagen
del objeto (OB) es leía a partir de una memoria de la imagen del
objeto, con preferencia a partir de una memoria de programa (74),
por ejemplo una Flash-ROM, es memorizada
temporalmente en una memoria de trabajo (73) y es leída a partir de
la memoria de trabajo (73) para la comparación con los puntos de la
imagen fuente calculados.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10144045 | 2001-09-07 | ||
DE10144045 | 2001-09-07 | ||
DE10202602A DE10202602A1 (de) | 2001-09-07 | 2002-01-24 | Verfahren und Vorrichtung zur Transformation eines Objektbildes |
DE10202602 | 2002-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2275788T3 true ES2275788T3 (es) | 2007-06-16 |
Family
ID=26010089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES02018869T Expired - Lifetime ES2275788T3 (es) | 2001-09-07 | 2002-08-24 | Procedimiento y dispositivo para la transformacion de una imagen de un objeto. |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1291820B1 (es) |
JP (1) | JP2003115049A (es) |
DE (1) | DE50208688D1 (es) |
ES (1) | ES2275788T3 (es) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489157B (zh) * | 2020-12-18 | 2024-03-19 | 广州视源电子科技股份有限公司 | 相框绘制方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5686960A (en) * | 1992-01-14 | 1997-11-11 | Michael Sussman | Image input device having optical deflection elements for capturing multiple sub-images |
-
2002
- 2002-08-24 EP EP02018869A patent/EP1291820B1/de not_active Expired - Lifetime
- 2002-08-24 DE DE50208688T patent/DE50208688D1/de not_active Expired - Lifetime
- 2002-08-24 ES ES02018869T patent/ES2275788T3/es not_active Expired - Lifetime
- 2002-09-06 JP JP2002261301A patent/JP2003115049A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1291820A3 (de) | 2004-02-25 |
EP1291820B1 (de) | 2006-11-15 |
DE50208688D1 (de) | 2006-12-28 |
EP1291820A2 (de) | 2003-03-12 |
JP2003115049A (ja) | 2003-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5434591A (en) | Scrolling method and apparatus in which data being displayed is altered during scrolling | |
US4648049A (en) | Rapid graphics bit mapping circuit and method | |
US4618991A (en) | Processing method for the rotation of an image | |
EP0360155A2 (en) | Image transformation method and device | |
US7215830B2 (en) | Method and device for transforming an object image | |
US6437793B1 (en) | System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements | |
JPS60231235A (ja) | イメ−ジ処理システム | |
US7948494B2 (en) | Character rendering device, display device, and printer | |
ES2275788T3 (es) | Procedimiento y dispositivo para la transformacion de una imagen de un objeto. | |
JP3477666B2 (ja) | 画像表示制御装置 | |
US5053759A (en) | Method of and apparatus for generating high-quality pattern | |
US7136068B1 (en) | Texture cache for a computer graphics accelerator | |
US5732248A (en) | Multistep vector generation for multiple frame buffer controllers | |
JPS60169897A (ja) | デ−タ処理装置 | |
JPH0661103B2 (ja) | 回転図形生成装置 | |
US5475809A (en) | Method and apparatus for generating high-quality character pattern defined by edge lines | |
US5657436A (en) | Preprocessing apparatus and method for line scan conversion in a computer graphics system | |
US5157766A (en) | Boundary drawing and area filling logic for a display system | |
JPS63137378A (ja) | グラフイツクス処理システム | |
JP3671744B2 (ja) | 画像合成表示装置 | |
JPH03198167A (ja) | 二次元ビットマップ画像の変形方法および装置 | |
RU2109350C1 (ru) | Устройство отображения графической информации | |
US20070229509A1 (en) | Graphic system, broken line texture image generation apparatus, and broken line texture image generation method | |
JPH1153573A (ja) | 3次元画像処理装置及びビデオウィンドウ生成方法 | |
JPH0428153Y2 (es) |