ES2331327T3 - Metodo y aparato para texturizar un pixel. - Google Patents
Metodo y aparato para texturizar un pixel. Download PDFInfo
- Publication number
- ES2331327T3 ES2331327T3 ES06126695T ES06126695T ES2331327T3 ES 2331327 T3 ES2331327 T3 ES 2331327T3 ES 06126695 T ES06126695 T ES 06126695T ES 06126695 T ES06126695 T ES 06126695T ES 2331327 T3 ES2331327 T3 ES 2331327T3
- Authority
- ES
- Spain
- Prior art keywords
- pixel
- pixels
- values
- mapping
- map
- 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 24
- 238000013507 mapping Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 32
- 238000001914 filtration Methods 0.000 description 24
- 230000006835 compression Effects 0.000 description 19
- 238000007906 compression Methods 0.000 description 19
- 239000003086 colorant Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Color Image Communication Systems (AREA)
Abstract
Un método de texturización de un píxel, que comprende: almacenar (910) las pluralidades respectivas de valores de referencia de téxeles y los valores de mapeo o correlación de téxeles que mapean o correlacionan los mismos con los respectivos de una pluralidad de bloques de solapamiento de téxeles; generar un valor de píxel para el píxel desde la referencia de téxel almacenada y los valores de mapeo o correlación; y visualizar o presentar (970) el píxel sensible al valor de píxel generado.
Description
Método y aparato para texturizar un píxel.
La presente invención se refiere a gráficos por
ordenador, y más particularmente, a métodos de tratamiento de
texturas de gráficos, aparatos y productos de programación por
ordenador.
La composición en tiempo real de gráficos
tridimensionales tiene un número de aplicaciones atractivas en
terminales móviles, que incluyen juegos, interfaces
hombre-máquina, mensajería y comercio por internet.
Puesto que la composición tridimensional es una tarea
computacionalmente cara, debe construirse demasiado a menudo equipo
físico (hardware) dedicado para alcanzar suficiente rendimiento.
Son, por consiguiente, de gran importancia modos innovadores para
disminuir la complejidad y el uso de ancho de banda de esta
arquitectura de hardware.
Un modo estándar de aumentar el nivel de
realismo en composición en tiempo real es aplicar texturas a las
superficies. Esto puede hacerse de una variedad de maneras, que
incluyen mapeo de ambiente, mapeo de relieve, aplicación de
texturas por medio de generación coordinada de texturas automática,
texturización basada en proyección, y más. Común a todas las
diferentes maneras de usar texturas es que puede necesitarse un
filtrado de textura de alta calidad para reducir problemas de
efecto dentado. El efecto dentado puede ser extremadamente
perturbador para el expectador humano, sobre todo para escenas
dinámicas.
Un esquema comúnmente usado para el filtrado de
texturas que se implementa en equipo físico es el
mip-mapeo y, en forma de mip-mapeo
trilineal, esto proporciona un filtrado de calidad relativamente
alta. Una desventaja es que puede aparecer desenfoque excesivo. Sin
embargo, debe tenerse en cuenta que esto puede ser preferible al
efecto dentado. El mip-mapeo es explicado, por
ejemplo, por Lance Williams en "Pyramidal Parametrics",
(Computer Graphic, SIGGRAPH '83 Proceedings, pp.
1-11, Julio 1983).
El mip-mapeo trilineal requiere
ocho téxeles que son filtrados en un color que se usa, y por
consiguiente, en el peor caso, pueden necesitarse ocho lecturas de
memoria antes de que se obtenga el color filtrado. Memorias rápidas
(caches)
de texturas con extracción previa pueden ocultar este problema, pero tales técnicas pueden ser caras en equipo físico.
de texturas con extracción previa pueden ocultar este problema, pero tales técnicas pueden ser caras en equipo físico.
Esquemas de filtrado anisotrópico pueden reducir
o eliminar el desenfoque excesivo mediante, por ejemplo, filtrado
de varias muestras de mip-mapa trilineal. El
objetivo último es que ambos, juntos, pueden cubrir perfectamente
el cuadrilátero que se obtiene de proyectar un píxel para aplicar
una textura al espacio. Aunque se aumenta la calidad, varias
lecturas de memoria pueden aumentar de manera importante. Números
comunes varían desde 16 a 128 lecturas de téxeles.
Aspectos de composición, filtrado de texturas,
mapeo de texturas, y/o paramétricos se explican en las siguientes
referencias: Akenine-Möller, Tomas, y Eric Haines,
Real-Time Rendering, 2ª edición, Junio 2002; Beers,
Andrew C., Maneesh Agrawala, y Navin Chaddha, "Rendering from
compressed Textures", Computer Graphics (SIGGRAPH 96
Proceedings), pp. 373-378, Agosto 1996; Behrens,
Uwe, "Averaged Area Tables por Texture Filtering", SIGGRAPH
2001 Conference Abstracts and Applications, p. 150, 2001; Crow,
Franklin C., "Summed-Area Tables por Texture
Mapping", Computer Graphics (SIGGRAPH'84 Proceedings), pp.
207-212, Julio 1984; McCabe, Dan, y John Brothers,
"DirectX 6 Texture Map Compression", Game Developer Magazine,
vol. 5, no. 8, pp. 42-46, Agosto 1998; y Williams,
Lance, "Pyramidal Parametrics", Computer Graphics (SIGGRAPH'83
Proceedings), pp. 1-11, Julio 1983.
Para plataformas móviles, los accesos a memoria
pueden ser extremadamente caros. En una arquitectura de gráficos
por ordenador estándar, más de dos tercios de los accesos a la
memoria pueden ser debidos a texturización. En el ejemplo de
mip-mapeo trilineal por ejemplo, la texturización
puede requerir ocho accesos a memoria, mientras que el resto del
explorador de imagen puede requerir otros tres
(lectura-z, escritura-z y escritura
de memoria temporal de color). Con once accesos a memoria por píxel,
la frecuencia de reloj puede necesitar ser muy alta para obtener un
rendimiento razonable. Una elevada velocidad de reloj puede costar
mucha energía y puede no ser adecuada para plataformas móviles.
Puede, así, ser deseable reducir un número de accesos a memoria que
se necesitan para texturizar, aun manteniendo una calidad de textura
que sea similar al mip-mapeo.
La compresión de texturas es un medio usado a
menudo para ahorrar ancho de banda en equipo físico de gráficos. La
idea es que los valores de téxel (que pueden comprender textura)
sean almacenados en un formato comprimido en la memoria, y esto
puede reducir el ancho de banda necesitado cuando la textura es
enviada a través del bus. Cuando los datos alcanzan su destino, un
mecanismo de equipo físico puede descomprimir los datos de
téxel.
Un trabajo pionero es explicado por Andrew C.
Beers et al. en "Rendering from Compressed Textures",
(Computer Graphics, SIGGRAPH 96 Proceedings, pp.
373-378, Agosto 1996). Beers et al. explica
el uso de cuantificación de vectores, y orientación del conjunto de
vectores usando un número de imágenes. Un esquema popular se llama
S3TC.
El documento US 5.956.431 A describe un sistema
de tratamiento de imagen, que incluye un sistema codificador de
imagen y un sistema descodificador de imagen que se acoplan juntos.
El sistema codificador de imagen incluye un descomponedor de
bloques y un codificador de bloques que se acoplan juntos. El
codificador de bloques incluye un cuantificador de color y un
módulo de construcción de mapas de bit. El descomponedor de bloques
rompe o descompone una imagen original en bloques. Luego cada
bloque es procesado o tratado por el codificador de bloques.
Expresamente, el cuantificador de color selecciona algún número de
puntos base, o palabras código, que sirven como valores de píxel de
referencia, tal como los colores de los que se derivan los valores
de píxel cuantificados. Luego el módulo de construcción de mapas de
bit traza, mapea o correlaciona cada píxel de color con uno de los
colores cuantificados derivados. Las palabras código y los mapas de
bit son entregadas como bloques de imágenes codificadas. El sistema
descodificador incluye un descodificador de bloques. El
descodificador de bloques incluye un detector de tipos de bloque,
uno o más unidades descodificadoras, y un selector de entrega o
salida. Utilizando las palabras código de los bloques de datos
codificados, las unidades del comparador y del descodificador
determinan los colores cuantificados para el bloque de imágenes
codificadas y traza, mapea o correlaciona cada píxel con uno de los
colores cuantificados. El selector de entrega o salida entrega el
color apropiado, que se pide en un compositor de imagen con los
otros bloques descodificados para entregar una imagen representativa
de la imagen original.
De acuerdo con los aspectos de la presente
invención, se proporciona un método, un aparato y programa de
ordenador de acuerdo con las reivindicaciones independientes. Las
realizaciones están definidas por las reivindicaciones dependientes,
respectivamente.
Por ejemplo, la presente invención puede usarse
de manera ventajosa en un dispositivo portátil, como un terminal
inalámbrico, un Asistente Personal Digital (PDA), o similar.
La Fig. 1 ilustra una representación de
almacenamiento para un bloque de téxeles de acuerdo con algunas
realizaciones de la presente invención.
La Fig. 2 ilustra un mapeo de valor de téxel
ternario a modo de ejemplo de acuerdo con otras realizaciones de la
presente invención.
La Fig. 3 ilustra una relación de píxel/téxel a
modo de ejemplo.
La Fig. 4 ilustra una disposición de bloques de
téxeles que se solapan de acuerdo con algunas realizaciones de la
presente invención.
La Fig. 5 ilustra un conjunto de téxeles vecinos
más próximos a modo de ejemplo de acuerdo con algunas realizaciones
de la presente invención.
La Fig. 6 ilustra un terminal inalámbrico
configurado para proporcionar tratamiento de texturas de acuerdo
con algunas realizaciones de la presente invención.
La Fig. 7 es un diagrama de flujo que ilustra
operaciones de tratamiento de texturas a modo de ejemplo de acuerdo
con otras realizaciones de la presente invención.
La presente invención se describirá ahora más
completamente con referencia a los dibujos que se acompañan, en los
cuales se muestran realizaciones a modo de ejemplo de la presente
invención. Estas realizaciones se disponen de manera que esta
aplicación sea detallada y completa. Números iguales hacen
referencia a elementos similares en todos los dibujos.
De acuerdo con varias realizaciones de la
presente invención descritas aquí, se presentan nuevos
planteamientos de filtrado de texturas que pueden reducir
significativamente el uso de ancho de banda. Aspectos de la
invención pueden incluir:
Compresión de Textura; y/o
Solapamiento de Bloques de Texturas; y/o
Filtrado de Texturas.
Estos tres aspectos pueden ser combinados de
acuerdo con las realizaciones de la presente invención para
proporcionar un Sistema de Filtrado de Textura de Hombre Pobre
(POOMA). Primeramente se dará un breve sumario de realizaciones a
modo de ejemplo de tal sistema, y a continuación se dará un mayor
detalle de cómo pueden construirse aspectos de la presente
invención.
En algunas realizaciones de la presente
invención, una imagen de textura puede dividirse en pequeños bloques
(por ejemplo 3x2 téxeles), y puede usarse compresión de textura
para reducir el ancho de banda de memoria que se necesita para
extraer tal bloque, típicamente por debajo de una lectura de memoria
de 32 bits. El siguiente paso, solapamiento de texturas, puede ser
tanto como hacer el solapamiento de bloques, de manera que cada
grupo de téxeles de 4-vecinos esté siempre contenido
completamente en uno de los bloques. Esto hace posible hacer
filtrado bilineal con un acceso a memoria. El filtrado de textura
tal como se describe aquí proporciona un modo de filtrar cuatro
téxeles con el fin de obtener el color del píxel. Tal como en el
caso de mip-mapeo, el filtrado bilineal de los
cuatro píxeles puede usarse en el nivel de mip-mapa
inferior. Sin embargo, en lugar de extraer téxeles de un nivel de
mip-mapa superior, se computa la media de los cuatro
téxeles leídos recientemente y se usa en su lugar ese valor. El
resultado puede proporcionar una texturización significativamente
mejor que usando el mip-mapeo del vecino más
cercano, y puede producir casi tan buenos resultados como el
mip-mapeo trilineal. El coste puede ser sólo de una
lectura de memoria de 32 bits por color filtrado, comparado con dos
para el mip-mapeo de vecino más cercano (mala
calidad) y ocho para mip-mapeo trilineal (alta
calidad).
\vskip1.000000\baselineskip
Aspectos de descodificadores de compresión de
texturas de acuerdo con las realizaciones de la presente invención
descritas aquí, pueden ser similares al popular esquema S3TC, con
modificación de manera que sea posible leer el bloque completo sólo
en una transferencia de memoria de 32 bits. En el ejemplo de una
arquitectura de 32 bits, las siguientes modificaciones, tomadas
solas o en combinación, permiten la relación 1 bloque/transferencia
de
memoria:
memoria:
El tamaño del bloque es significativamente
menor, por ejemplo 2x3 píxeles;
Se usan tres colores (dos colores de referencia
más uno intermedio) en lugar de cuatro;
Los colores de referencia son codificados con 11
bits por color en lugar de 16; y/o
Los tres colores son codificados con una
representación ternaria (en contraposición a una representación
binaria).
Estas modificaciones hacen posible leer el
bloque completo en una transferencia de memoria de 32 bits (cuatro
bytes).
Un bloque de 2x3 téxeles puede representarse
usando un elemento de dato 100 como se muestra en la Fig. 1. En la
Fig. 1, rL, gL y bL representan los componentes
rojo, verde y azul de un primer color de referencia, marcado aquí
con "L" como en "left" (izquierda). Del mismo modo,
rR, gR y bR representan un segundo color de
referencia, marcado con "R" como en "right"
(derecha). A partir de estos dos colores, se crea un color de
referencia "middle" (medio), tomando la media aritmética de
R y L. Este nuevo color de referencia se denota
"M" como en "middle". Obsérvese que mientras
R y L pueden ser almacenados con 4+4+3 bits, pueden
usarse 5+5+4 bits para representar M.
Además, los bits marcados con x en la Fig. 1
representan el color de tres de los téxeles del bloque. Por ejemplo,
se puede elegir que los tres téxeles más superiores tomen su color
de x, y que los téxeles más inferiores sean controlados por y.
Tanto x como y están mapeados en triplos de L, M y
R usando la Tabla 1:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Por ejemplo, si x=23 (10111) e y=0 (00000), el
bloque 200 será descodificado como se muestra en la Fig. 2, donde
el píxel superior izquierdo tomará el valor de referencia
"right", el siguiente píxel el valor "middle" etc. El
intervalo desde 27 hasta 31 no se usa. En general, es posible
codificar k 3-tuplos usando bits
(log(3^k)/log(2)) de techo. Esto puede permitir que
se lean 2x3=6 valores de téxel en una sola transferencia de memoria
de 32 bits. Comparado con dos bytes por píxel, la relación de
compresión es 2x4:6x4, es decir, 1:3. Obsérvese que, si la lectura
es ampliada, hay una mayor posibilidad de que el siguiente píxel se
dirija al mismo bloque. Así, pueden necesitarse transferencias de
memoria cero para la texturización de ese píxel.
Cuando se hace una interpolación bilineal
convencional, pueden necesitarse los cuatro téxeles más próximos al
punto de muestra en el mapa de texturas. Por ejemplo, como se
muestra en la Fig. 3, si un píxel está dentro del área gris 310,
los cuatro de los valores de color de téxel vecinos más próximos se
encuentran en el mismo bloque, y sólo se necesita una transferencia
de memoria. Con mucha frecuencia, sin embargo, puede ser necesario
extraer hasta cuatro bloques con el fin de obtener todos los vecinos
más próximos.
En la Fig. 4, se muestra cómo pueden disponerse
los bloques en modo de solapamiento de acuerdo con las realizaciones
de la invención para evitar lecturas adicionales para interpolación
bilineal. El bloque 400a marcado con una línea llena solapa así
tanto el bloque 400b marcado con trazos cuadrados (a la derecha),
como el bloque 400c marcado con trazos redondos (abajo). De esta
manera, es siempre posible encontrar un bloque que contenga a los
cuatro vecinos de un cierto píxel. Los cuatro vecinos pueden, por
consiguiente, disponerse sólo en una extracción de
memoria.
memoria.
Esto puede suceder al coste de expansión de los
datos 1,5 veces en la dirección x y 2 veces en la dirección y. Sin
embargo, puesto que la relación de compresión de la compresión de
textura es 3:1, se terminará con los mismos requisitos de memoria,
como si ni la compresión de textura ni el solapamiento de textura se
usasen.
El solapamiento puede estar limitado a una
dirección. Por ejemplo, mediante solapamiento sólo en la dirección
x, los datos se expanden solamente en un factor de 1,5. (Incluyendo
la compresión, el almacenamiento total es sólo 0,5 del original.)
Entonces, en el 50% de los casos, los cuatro píxeles están dentro
del bloque. En los casos restantes, debe leerse otro bloque. La
Tabla 2 muestra qué requisitos de memoria y qué ancho de banda
medio pueden necesitarse.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Una vez que los cuatro téxeles vecinos del píxel
han sido extraídos, la texturización puede comenzar. Designando los
cuatro téxeles vecinos más próximos con A, B, C y D como se muestra
en la Fig. 6, usando una interpolación bilineal sobre A, B, C y D,
puede obtenerse un primer valor Q de mip-mapa de
nivel inferior. Haciendo la media entre A, B, C y D, puede
obtenerse un segundo valor P de mip-mapa de nivel
superior. Una interpolación lineal puede llevarse a cabo entre los
valores de mip-mapa primero y segundo Q y P, con el
fin de determinar un valor para el píxel, dependiendo en cómo estén
de próximos el píxel y los niveles de mip-mapa
inferior y superior.
Obsérvese que, si A, B, C y D están en
posiciones pares del mapa de téxeles, P será el téxel
correspondiente en la jerarquía de mip-mapa. En
este caso, el resultado será igual al de usar interpolación bilineal
en el nivel de mip-mapa inferior e interpolación de
vecino más cercano en el nivel de mip-mapa superior.
Sin embargo, si A, B, C y D no están en posiciones pares, puede
obtenerse un valor que sea más correcto que usar sólo el vecino más
cercano en el nivel de mip-mapa superior. Así, el
rendimiento puede aumentar con respecto a usar interpolación
bilineal en el nivel inferior y de vecino más cercano en el nivel
superior.
A veces, el resultado del anteriormente descrito
filtrado de texturas POOMA parece incluso mejor que el filtrado
trilineal, puesto que la pérdida de enfoque puede no ser tan severa.
Obsérvese que este filtrado de texturas puede reducir a la mitad el
número de transferencias de memoria independientemente de la
compresión de texturas y del solapamiento de bloques de
texturas.
De acuerdo con aspectos de la presente
invención, puede proporcionarse una capacidad para ganar bits en la
representación de los téxeles usando 3 niveles (L, M y R) en lugar
de cuatro niveles. La representación ternaria puede usar sólo bits
(log(3^k)/log(2)) de techo para k téxeles, en lugar de
2*k bits que pueden requerirse cuando se usan cuatro niveles. Esto
puede aumentar la eficiencia de compresión por bloque. De acuerdo
con otros aspectos, el uso de bloques de solapamiento puede hacer
posible reducir el número medio de bloques a los que se necesita
acceder con el fin de reducir un píxel a un acceso a memoria de 32
bits por píxel. De acuerdo con otros aspectos adicionales, el
filtrado de los cuatro píxeles vecinos puede usarse para producir
el color del píxel. Esto significa que sólo se necesita acceder a un
nivel de mip-mapa por píxel, en lugar de dos como
en el caso de mip-mapeo trilineal, por lo que se
reduce a la mitad el número de accesos a memoria requeridos. Se
apreciará que estas características pueden usarse en varias
combinaciones y/o separadamente.
La Fig. 7 ilustra distancias desde el centro de
los téxeles a un píxel.
\vskip1.000000\baselineskip
En la presente aplicación, las Figs. 6 y 7 son
diagramas que ilustran a modo de ejemplo aparatos y operaciones de
acuerdo con realizaciones de la presente invención. Se ha de
entender que las operaciones representadas en los diagramas, y
combinaciones de las mismas, pueden ser implementadas usando uno o
más circuitos electrónicos, como circuitos incluidos en un
componente de un sistema de comunicaciones inalámbrico o en un
terminal inalámbrico. Se apreciará también que, en general, las
operaciones representadas en los diagramas, y combinaciones de las
mismas, pueden ser implementadas en uno o más circuitos
electrónicos, tales como en uno o más componentes electrónicos
discretos, uno o más circuitos integrados (ICs), uno o más circuitos
integrados específicos de aplicación (ASICs), y módulos de circuito
específicos de aplicación, así como por instrucciones de programa
de ordenador que pueden ser ejecutadas por un ordenador u otros
aparatos de procesamiento de datos, tales como un microprocesador o
procesador de señal digital (DSP), para producir una máquina de
manera que las instrucciones que se ejecutan en el ordenador o en
otro aparato de tratamiento de datos programable crean circuitos
electrónicos u otros medios que implementan las operaciones
especificadas. Las instrucciones de programa de ordenador pueden
ser también ejecutadas en uno o más ordenadores o en otros aparatos
de tratamiento de datos para hacer que se realicen una serie de
acciones por el ordenador u ordenadores u otros aparatos
programables con el fin de producir un proceso implementado por
ordenador que incluye las operaciones especificadas.
Las instrucciones de programa de ordenador
pueden ser también incorporadas en forma de un producto de programa
de ordenador en un medio de almacenamiento legible por un ordenador,
es decir, como un código de programa legible por ordenador
incorporado en el medio para su uso por o en relación con un sistema
de ejecución de instrucciones. El medio de almacenamiento legible
por ordenador puede incluir, pero no está limitado a, medios de
almacenamiento electrónicos, magnéticos, ópticos u otros, tales como
un disco magnético u óptico o un dispositivo de memoria de circuito
integrado. Por ejemplo, las instrucciones de programa de ordenador
pueden ser incorporadas en la memoria incluida en un componente de
un aparato de comunicaciones inalámbrico y/o medio de almacenamiento
operable para programar tal memoria. De acuerdo con esto, los
bloques de los diagramas esquemáticos de las Figs. 6 y 7 soportan
circuitos electrónicos y otros aparatos que realizan las operaciones
especificadas, actúan para llevar a cabo las operaciones
especificadas, y los productos de programa de ordenador configurados
para llevar a cabo las operaciones especificadas.
La Fig. 6 ilustra un terminal inalámbrico 600 en
el cual puede ser incorporada la presente invención. El terminal
600 incluye una pantalla 610 que está controlada por un procesador
620 de datos, tal como un microprocesador, microcontrolador,
procesador de señal digital (DSP), o procesador de gráficos, y la
memoria 630 asociada. Un circuito 622 de tratamiento de texturas,
mostrado aquí como implementado en el procesador 620, almacena y
extrae información de bloques de téxel en y desde la memoria 630. Un
circuito generador de pantalla 624, mostrado también aquí como
implementado en el procesador 620, controla la pantalla 610
responsable del circuito de tratamiento de texturas 622. El
circuito del procesador de texturas 622 puede ser configurado para
realizar las técnicas de compresión de texturas, solapamiento de
bloques y filtrado de texturas descritas aquí.
Se ha de apreciar que el aparato de la Fig. 6 se
proporciona a modo de ejemplo, y que la invención puede ser
realizada en cualquiera de un cierto número de otras formas. Por
ejemplo, la invención es igualmente adecuada para su aplicación en
otros tipos de dispositivos que generan pantallas de gráficos, que
incluyen, pero no están limitados a, PCs de escritorio y estaciones
de trabajo, ordenadores portátiles, libretas de notas, tabletas y
otros ordenadores portátiles, asistentes digitales personales
(PDAs), y lectores de libros electrónicos y otros dispositivos
gráficos portátiles. Se apreciará también que la arquitectura de
tratamiento de gráficos ilustrada en la Fig. 6 es meramente
ejemplar, y que una variedad de arquitecturas, tales como
arquitecturas que usan equipo físico de gráficos dedicados para un
propósito especial para general pantallas de gráficos, pueden
usarse con la invención. De acuerdo con varias realizaciones de la
presente invención, la compresión de texturas, disposición de
bloques de téxeles y filtrado de texturas descritos aquí pueden
usarse individualmente o en combinación, y estas operaciones pueden
ser aplicadas en cualquiera de un número de ambientes de tratamiento
de gráficos diferente, que incluyen el mostrado en el terminal
inalámbrico 600 de la Fig. 6.
La Fig. 7 ilustra operaciones de tratamiento de
texturas a modo de ejemplo de acuerdo con algunas realizaciones de
la presente invención, que pueden ser implementadas, por ejemplo,
por el procesador 620 y la memoria 630 del terminal inalámbrico de
la Fig. 6. Elementos de datos respectivos (por ejemplo palabras de
32 bits que incluyen información de color RGB como se ha descrito
anteriormente) son almacenados por unos respectivos de una
pluralidad de bloques de téxeles que se solapan (Bloque 710). Cada
uno de los elementos de datos incluye valores de referencia de
téxel primero y segundo y uno o más valores de téxel para téxeles
del bloque, en el que los uno o más valores de téxel mapean o
correlacionan los téxeles a 3-tuplos de los valores
de referencia de téxel primero y segundo, y un tercer valor de
referencia de téxel es determinado por los valores de referencia
primero y segundo, por ejemplo, como media aritmética de los valores
de referencia de téxel primero y segundo. Se apreciará que los
valores de téxel pueden incluir, pero no están limitados a, valores
de color RGB, valores de escala de grises, y/u otras formas de
representación usadas comúnmente en aplicaciones de gráficos.
La texturización de un píxel empieza con la
extracción del elemento o elementos de datos asociados con el
bloque o bloques de téxeles que incluyen los téxeles vecinos más
próximos, por ejemplo, los cuatro vecinos más próximos, para el
píxel (Bloque 720). Los valores de téxel en los elemento/elementos
de datos extraídos son entonces mapeados o correlacionados a
3-tuplos de los valores de referencia de téxel
(Bloque 30). Un primer valor de mip-mapa es
interpolado bilinealmente a partir de los valores de téxel para los
téxeles vecinos más próximos (Bloque 40) y un segundo valor de
mip-mapa es generado mediante las medias de los
valores de téxel para los téxeles de vecino más próximo (Bloque
50). Un valor de píxel para el píxel es interpolado linealmente a
partir de los valores de mip-mapa primero y segundo
(Bloque 60), y el valor de píxel generado se usa para mostrar el
píxel (Bloque 70).
Aunque la Fig. 7 ilustra un uso combinado de la
nueva compresión de texturas, disposiciones de bloques de téxeles
que se solapan y técnicas de filtrado de texturas de la presente
invención, se apreciará que el uso de subconjuntos de estas
técnicas en combinación con técnicas convencionales cae dentro del
ámbito de la presente invención. Por ejemplo, las novedosas
técnicas de compresión de texturas de la presente invención pueden
ser usadas con una disposición convencional de bloques de téxeles
que no se solapan, y con técnicas convencionales de filtrado de
texturas bilineales, trilineales u otras. De manera similar, el
almacenamiento y/o la compresión de texturas convencional y las
técnicas convencionales de filtrado de texturas pueden ser usadas
con las disposiciones novedosas de bloques de téxeles de la
presente invención. Finalmente, técnicas convencionales de
almacenamiento y/o compresión de texturas y disposiciones
convencionales de bloques de téxeles pueden ser usadas con las
nuevas técnicas de filtrado de texturas de la presente
invención.
En los dibujos y memoria, se han descrito
realizaciones a modo de ejemplo de la invención. Aunque se emplean
términos específicos, se usan sólo en un sentido genérico y
descriptivo y no con fines de limitación.
Claims (10)
1. Un método de texturización de un píxel, que
comprende:
almacenar (910) las pluralidades respectivas de
valores de referencia de téxeles y los valores de mapeo o
correlación de téxeles que mapean o correlacionan los mismos con los
respectivos de una pluralidad de bloques de solapamiento de
téxeles;
generar un valor de píxel para el píxel desde la
referencia de téxel almacenada y los valores de mapeo o
correlación;
y
visualizar o presentar (970) el píxel sensible
al valor de píxel generado.
\vskip1.000000\baselineskip
2. El método de acuerdo con la reivindicación 1,
en el que la generación de un valor de píxel para el píxel desde la
referencia de téxel almacenada y los valores de mapeo o correlación
de téxeles comprenden
generar valores de píxel para píxeles en un mapa
de píxeles desde la referencia de téxel almacenada y los valores de
mapeo o correlación de téxeles para los conjuntos de téxeles vecinos
más próximos en la pluralidad de los bloques de solapamiento de
téxeles; y
en el que los bloques de téxeles se solapan de
manera que al generar un valor de píxel para cualquier píxel en el
mapa de píxeles se requiere la referencia del téxel almacenado y los
valores de mapeo o correlación de téxeles para no más de un bloque
único de téxeles.
\vskip1.000000\baselineskip
3. El método de acuerdo con la reivindicación 1,
en el que la generación de un valor de píxel para el píxel desde la
referencia de téxel almacenada y los valores de mapeo o correlación
de téxeles comprenden
generar valores de píxel para píxeles en un mapa
de píxeles desde la referencia de téxel almacenada y los valores de
mapeo o correlación de téxeles para los conjuntos de téxeles vecinos
más próximos en la pluralidad de los bloques de solapamiento de
téxeles; y
en el que los bloques de téxeles se solapan de
manera que al generar un valor de píxel para cualquier píxel en el
mapa de píxeles se requiere la referencia del téxel almacenado y los
valores de mapeo o correlación de téxeles para no más de dos
bloques de téxeles.
\vskip1.000000\baselineskip
4. El método de acuerdo con la reivindicación 1,
en el que los bloques de téxeles se solapan en dos direcciones
ortogonales.
5. El método de acuerdo con la reivindicación 1,
en el que los bloques de téxeles se solapan en una sola
dirección.
6. El método de acuerdo con la reivindicación 1,
en el que la generación de un valor del píxel para el píxel
comprende:
procesar o tratar la referencia del téxel
almacenada y los valores de mapeo o correlación de téxeles para al
menos un bloque de téxeles para obtener los valores de téxeles para
un conjunto de los téxeles vecinos más próximos para el píxel;
interpolar bilinealmente (940) un primer valor
de mip-map para el píxel desde los valores de
téxeles para el conjunto de téxeles vecino más próximo;
promediar (950) los valores de téxeles para el
conjunto de téxeles vecino más próximo para generar un segundo
valor de mip-map; e
interpolar (960) entre el primer y segundo
mip-map valores para generar el valor del píxel para
el píxel.
\vskip1.000000\baselineskip
7. Un aparato (800) que comprende:
una pantalla (810);
medios (830) para almacenar pluralidades
respectivas de valores de referencia de téxeles y valores de mapeo
o correlación de téxeles que mapean o correlacionan a los mismos con
los respectivos de una pluralidad de bloques de solapamientos de
téxeles;
medios (820) para generar un valor de píxel para
el píxel desde la referencia de téxel almacenada y valores de mapeo
o correlación de téxeles; y
medios (824) para visualizar o presentar el
píxel en la pantalla (810) sensible al valor del píxel generado.
\vskip1.000000\baselineskip
8. El aparato de acuerdo con la reivindicación
7, en el que los medios (830) para almacenar, los medios (820) para
generar un valor de píxel, y los medios (824) para visualizar están
implementados en un terminal inalámbrico.
9. Un producto de programa de ordenador para
texturizar un píxel, comprendiendo el producto de programa de
ordenador un código de programación legible por ordenador,
incorporado en un medio de almacenamiento de programa legible por
ordenador, comprendiendo el código de programación legible por
ordenador:
un código de programa configurado para almacenar
pluralidades respectivas de valores de referencia de téxeles que
mapean o correlacionan a los mismos con los respectivos de una
pluralidad de bloques de solapamiento de téxeles;
un código de programa configurado para generar
un valor de píxel para el píxel desde la referencia de téxeles
almacenada y los valores de mapeo o correlación de téxeles; y
un código de programa configurado para causar
una presentación o visualización del píxel sensible al valor del
píxel generado.
\vskip1.000000\baselineskip
10. El producto de programa de ordenador de
acuerdo con la reivindicación 9, en el que el código de programa
configurado para generar un valor de píxel para el píxel
comprende:
un código de programa configurado para tratar o
procesar la referencia de téxel almacenada y los valores de mapeo o
correlación de téxeles para al menos un bloque de téxeles para
obtener valores de téxeles para un conjunto de téxeles vecinos más
próximos para el píxel;
un código de programa configurado para
interpolar bilinealmente un primer valor de mip-map
para el píxel desde los valores de téxeles para el conjunto de
téxeles vecinos más próximos;
un código de programa configurado para promediar
los valores de téxeles para el conjunto de téxeles vecinos más
próximos para generar un segundo valor de mip-map;
y
un código de programa configurado para
interpolar entre el primer y segundo mip-map valores
para generar el valor de píxel para el píxel.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US326849 | 1989-03-21 | ||
US38704902P | 2002-06-07 | 2002-06-07 | |
US387049P | 2002-06-07 | ||
US10/326,849 US6940511B2 (en) | 2002-06-07 | 2002-12-20 | Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2331327T3 true ES2331327T3 (es) | 2009-12-29 |
Family
ID=29714997
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06126695T Expired - Lifetime ES2331327T3 (es) | 2002-06-07 | 2003-06-02 | Metodo y aparato para texturizar un pixel. |
ES03737982T Expired - Lifetime ES2277086T3 (es) | 2002-06-07 | 2003-06-02 | Metodo y aparato para codificar informacion de texturas. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03737982T Expired - Lifetime ES2277086T3 (es) | 2002-06-07 | 2003-06-02 | Metodo y aparato para codificar informacion de texturas. |
Country Status (10)
Country | Link |
---|---|
US (2) | US6940511B2 (es) |
EP (2) | EP1520259B1 (es) |
JP (2) | JP4648701B2 (es) |
KR (1) | KR101034925B1 (es) |
CN (1) | CN1659595B (es) |
AT (2) | ATE438903T1 (es) |
AU (1) | AU2003245901A1 (es) |
DE (2) | DE60328733D1 (es) |
ES (2) | ES2331327T3 (es) |
WO (1) | WO2003105090A1 (es) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6819793B1 (en) * | 2000-06-30 | 2004-11-16 | Intel Corporation | Color distribution for texture and image compression |
US7082217B2 (en) * | 2002-10-28 | 2006-07-25 | Web Technology Corp. | Method and apparatus for image compression in block units |
KR100995022B1 (ko) | 2003-12-13 | 2010-11-19 | 엘지디스플레이 주식회사 | 디스플레이 및 그 구동방법 |
JP2008510213A (ja) * | 2004-08-11 | 2008-04-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ストライプに基づく画像データ記憶方法 |
JP4444180B2 (ja) * | 2005-07-20 | 2010-03-31 | 株式会社東芝 | テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム |
US20070177553A1 (en) * | 2006-01-31 | 2007-08-02 | Nokia Corporation | Apparatus, method and computer program product providing efficient signaling of user allocations in an optimum manner |
US7714873B2 (en) | 2006-06-29 | 2010-05-11 | Microsoft Corporation | Strategies for compressing textures |
US7683910B2 (en) | 2006-06-29 | 2010-03-23 | Microsoft Corporation | Strategies for lossy compression of textures |
US9418450B2 (en) | 2006-08-31 | 2016-08-16 | Ati Technologies Ulc | Texture compression techniques |
US8594441B1 (en) * | 2006-09-12 | 2013-11-26 | Nvidia Corporation | Compressing image-based data using luminance |
US7760936B1 (en) * | 2006-09-12 | 2010-07-20 | Nvidia Corporation | Decompressing image-based data compressed using luminance |
US8311347B2 (en) | 2006-11-10 | 2012-11-13 | Microsoft Corporation | Image compression based on parameter-assisted inpainting |
US8724895B2 (en) | 2007-07-23 | 2014-05-13 | Nvidia Corporation | Techniques for reducing color artifacts in digital images |
US8780128B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Contiguously packed data |
US8165393B2 (en) | 2008-06-05 | 2012-04-24 | Microsoft Corp. | High dynamic range texture compression |
US8508543B2 (en) * | 2008-06-18 | 2013-08-13 | Microsoft Corporation | Layered texture compression architecture |
US20090322777A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Unified texture compression framework |
WO2009157904A1 (en) | 2008-06-27 | 2009-12-30 | Thomson Licensing | Methods and apparatus for texture compression using patch-based sampling texture synthesis |
GB2462589B (en) * | 2008-08-04 | 2013-02-20 | Sony Comp Entertainment Europe | Apparatus and method of viewing electronic documents |
US8373718B2 (en) | 2008-12-10 | 2013-02-12 | Nvidia Corporation | Method and system for color enhancement with color volume adjustment and variable shift along luminance axis |
US8577164B2 (en) * | 2009-01-19 | 2013-11-05 | Telefonaktiebolaget L M Ericsson (Publ) | Image processing |
US9153064B2 (en) * | 2009-12-23 | 2015-10-06 | Intel Corporation | Grouping pixels to be textured |
US9041723B2 (en) | 2011-05-05 | 2015-05-26 | Arm Limited | Method of and apparatus for encoding and decoding data |
GB2495301B (en) | 2011-09-30 | 2018-01-17 | Advanced Risc Mach Ltd | Method of and apparatus for encoding data |
GB2503691B (en) | 2012-07-04 | 2019-08-14 | Advanced Risc Mach Ltd | Methods of and apparatus for encoding and decoding data |
US9177415B2 (en) | 2013-01-30 | 2015-11-03 | Arm Limited | Methods of and apparatus for encoding and decoding data |
US10147202B2 (en) | 2013-03-15 | 2018-12-04 | Arm Limited | Methods of and apparatus for encoding and decoding data |
WO2015035129A2 (en) * | 2013-09-09 | 2015-03-12 | Lynx Laboratories Inc. | Rendering engine for multi-dimensional tracking, reconstruction and mapping |
US9619898B2 (en) * | 2013-12-28 | 2017-04-11 | Intel Corporation | Angle-dependent anisotropic filtering |
KR20160032597A (ko) * | 2014-09-16 | 2016-03-24 | 삼성전자주식회사 | 텍스쳐를 처리하는 방법 및 장치 |
KR102477264B1 (ko) * | 2015-09-22 | 2022-12-13 | 삼성전자주식회사 | 텍스쳐를 처리하는 방법 및 장치 |
CN111515149B (zh) * | 2020-04-26 | 2020-12-29 | 广东弓叶科技有限公司 | 人机协作分选系统及其机器人的抓取位置获取方法 |
CN115943421A (zh) * | 2020-09-17 | 2023-04-07 | 华为技术有限公司 | 单通道的渲染和后处理滤波 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2440768C3 (de) | 1974-08-26 | 1982-03-18 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren und Vorrichtung zur Datenkompression für die Faksimile-Übertragung graphischer Information |
JPH0944695A (ja) | 1995-07-25 | 1997-02-14 | Matsushita Electric Ind Co Ltd | テクスチャマッピング方法およびテクスチャマッピング装置 |
US6236405B1 (en) | 1996-07-01 | 2001-05-22 | S3 Graphics Co., Ltd. | System and method for mapping textures onto surfaces of computer-generated objects |
US6366290B1 (en) | 1997-03-31 | 2002-04-02 | Cirrus Logic, Inc. | Dynamically selectable texture filter for a software graphics engine |
US6459433B1 (en) * | 1997-04-30 | 2002-10-01 | Ati Technologies, Inc. | Method and apparatus for compression of a two dimensional video object |
US5920495A (en) | 1997-05-14 | 1999-07-06 | Cirrus Logic, Inc. | Programmable four-tap texture filter |
US6304268B1 (en) * | 1997-06-26 | 2001-10-16 | S3 Graphics Co., Ltd. | Trilinear texture filtering of two levels of detail based on a single level of detail |
US6016152A (en) | 1997-08-01 | 2000-01-18 | Avid Technology, Inc. | Apparatus and method for non-uniform image scaling |
US6181347B1 (en) | 1997-09-17 | 2001-01-30 | Cirrus Logic, Inc. | Selectable mode smoothing texture filter for computer graphics |
US5956431A (en) | 1997-10-02 | 1999-09-21 | S3 Incorporated | System and method for fixed-rate block-based image compression with inferred pixel values |
JP2001507823A (ja) | 1997-10-28 | 2001-06-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像の圧縮及び復元 |
US6184893B1 (en) | 1998-01-08 | 2001-02-06 | Cirrus Logic, Inc. | Method and system for filtering texture map data for improved image quality in a graphics computer system |
JP3365293B2 (ja) * | 1998-02-12 | 2003-01-08 | 株式会社日立製作所 | Dram,ロジック混載lsiを使ったキャッシュメモリ及びそれを用いたグラフィックスシステム |
US6259460B1 (en) * | 1998-03-26 | 2001-07-10 | Silicon Graphics, Inc. | Method for efficient handling of texture cache misses by recirculation |
US6469700B1 (en) | 1998-06-24 | 2002-10-22 | Micron Technology, Inc. | Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps |
US6292193B1 (en) | 1998-07-30 | 2001-09-18 | Compaq Computer Corporation | Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel |
GB2343599B (en) * | 1998-11-06 | 2003-05-14 | Videologic Ltd | Texturing systems for use in three dimensional imaging systems |
JP2000155851A (ja) | 1998-11-20 | 2000-06-06 | Sony Corp | テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置 |
US6452603B1 (en) * | 1998-12-23 | 2002-09-17 | Nvidia Us Investment Company | Circuit and method for trilinear filtering using texels from only one level of detail |
US7050063B1 (en) * | 1999-02-11 | 2006-05-23 | Intel Corporation | 3-D rendering texture caching scheme |
JP2001126084A (ja) * | 1999-10-28 | 2001-05-11 | Sega Corp | テクスチャ表示装置、テクスチャ表示方法及び記録媒体 |
JP2003115056A (ja) * | 1999-12-16 | 2003-04-18 | Sega Corp | 画像生成方法及びこれを用いた画像生成装置 |
US6819793B1 (en) * | 2000-06-30 | 2004-11-16 | Intel Corporation | Color distribution for texture and image compression |
US6919903B2 (en) * | 2001-03-02 | 2005-07-19 | Mitsubishi Electric Research Laboratories, Inc. | Texture synthesis and transfer for pixel images |
US20020180749A1 (en) * | 2001-06-01 | 2002-12-05 | Chien-Chung Hsiao | Method of bilinear texture filtering |
TW544636B (en) * | 2001-11-22 | 2003-08-01 | Silicon Integrated Sys Corp | Method of texture mapping |
US7336284B2 (en) * | 2004-04-08 | 2008-02-26 | Ati Technologies Inc. | Two level cache memory architecture |
-
2002
- 2002-12-20 US US10/326,849 patent/US6940511B2/en not_active Expired - Lifetime
-
2003
- 2003-06-02 AT AT06126695T patent/ATE438903T1/de not_active IP Right Cessation
- 2003-06-02 AU AU2003245901A patent/AU2003245901A1/en not_active Abandoned
- 2003-06-02 EP EP03737982A patent/EP1520259B1/en not_active Expired - Lifetime
- 2003-06-02 KR KR1020047019919A patent/KR101034925B1/ko active IP Right Grant
- 2003-06-02 AT AT03737982T patent/ATE349743T1/de not_active IP Right Cessation
- 2003-06-02 WO PCT/EP2003/005747 patent/WO2003105090A1/en active IP Right Grant
- 2003-06-02 DE DE60328733T patent/DE60328733D1/de not_active Expired - Lifetime
- 2003-06-02 EP EP06126695A patent/EP1768059B1/en not_active Expired - Lifetime
- 2003-06-02 JP JP2004512087A patent/JP4648701B2/ja not_active Expired - Lifetime
- 2003-06-02 ES ES06126695T patent/ES2331327T3/es not_active Expired - Lifetime
- 2003-06-02 CN CN038129752A patent/CN1659595B/zh not_active Expired - Lifetime
- 2003-06-02 ES ES03737982T patent/ES2277086T3/es not_active Expired - Lifetime
- 2003-06-02 DE DE60310720T patent/DE60310720T2/de not_active Expired - Lifetime
-
2005
- 2005-07-12 US US11/179,704 patent/US7633507B2/en not_active Expired - Lifetime
-
2009
- 2009-12-28 JP JP2009298002A patent/JP5091220B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP5091220B2 (ja) | 2012-12-05 |
ATE438903T1 (de) | 2009-08-15 |
KR20050004915A (ko) | 2005-01-12 |
DE60310720T2 (de) | 2007-10-11 |
CN1659595B (zh) | 2010-05-12 |
EP1768059A3 (en) | 2007-06-27 |
EP1768059A8 (en) | 2007-06-20 |
KR101034925B1 (ko) | 2011-05-17 |
EP1768059A2 (en) | 2007-03-28 |
EP1520259A1 (en) | 2005-04-06 |
JP2010102729A (ja) | 2010-05-06 |
ES2277086T3 (es) | 2007-07-01 |
US7633507B2 (en) | 2009-12-15 |
WO2003105090A1 (en) | 2003-12-18 |
US6940511B2 (en) | 2005-09-06 |
JP2005531833A (ja) | 2005-10-20 |
EP1520259B1 (en) | 2006-12-27 |
JP4648701B2 (ja) | 2011-03-09 |
DE60328733D1 (de) | 2009-09-17 |
ATE349743T1 (de) | 2007-01-15 |
US20050264573A1 (en) | 2005-12-01 |
DE60310720D1 (de) | 2007-02-08 |
CN1659595A (zh) | 2005-08-24 |
EP1768059B1 (en) | 2009-08-05 |
AU2003245901A1 (en) | 2003-12-22 |
US20030227462A1 (en) | 2003-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2331327T3 (es) | Metodo y aparato para texturizar un pixel. | |
CN107273301B (zh) | 存储阵列的方法和设备、确定数据值的方法和设备、介质 | |
US8670613B2 (en) | Lossless frame buffer color compression | |
ES2728097T3 (es) | Procesamiento de imágenes basado en peso | |
US9530189B2 (en) | Alternate reduction ratios and threshold mechanisms for framebuffer compression | |
US10964088B2 (en) | Mipmap with mixed texture types | |
US6819324B2 (en) | Memory interleaving technique for texture mapping in a graphics system | |
JP2011502312A (ja) | データを圧縮及び解凍する方法及び装置 | |
WO2017222633A1 (en) | Image rotation method and apparatus | |
JP2009099098A (ja) | コンピュータグラフィックス描画装置及び描画方法 | |
EP2327058A1 (en) | Pixel block processing | |
ES2635540T3 (es) | Sistema y método de descodificación utilizable en bloques de elementos de textura codificada | |
CN115145836A (zh) | 访问编码数据块 | |
Pres | InsightE | |
JP2006099447A (ja) | メモリマッピング方法及びメモリインターフェイス回路 |