ES2359036T3 - Método de compresión y descompresión de la memoria intermedia de almacenamiento temporal de cuadros para la interpretación de gráficos. - Google Patents

Método de compresión y descompresión de la memoria intermedia de almacenamiento temporal de cuadros para la interpretación de gráficos. Download PDF

Info

Publication number
ES2359036T3
ES2359036T3 ES08718356T ES08718356T ES2359036T3 ES 2359036 T3 ES2359036 T3 ES 2359036T3 ES 08718356 T ES08718356 T ES 08718356T ES 08718356 T ES08718356 T ES 08718356T ES 2359036 T3 ES2359036 T3 ES 2359036T3
Authority
ES
Spain
Prior art keywords
pixel values
values
updated
compression
compression operation
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.)
Active
Application number
ES08718356T
Other languages
English (en)
Inventor
Jim Rasmusson
Tomas AKENINE-MÖLLER
Jon Hasselgren
Jacob Munkberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2359036T3 publication Critical patent/ES2359036T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

Un método para el procesamiento de datos de gráficos, que comprende: recuperar y descomprimir, a partir de un la memoria intermedia de almacenamiento temporal de cuadro, los valores de los píxeles correspondientes a un cuadrícula de dos o más pixeles; actualizar uno o más de los valores de los pixeles para obtener valores de los pixeles actualizados; comprimir selectivamente los valores de los píxeles actualizados usando una operación de compresión con pérdidas o una operación de compresión sin pérdidas, en base a un valor métrico del error acumulado para la cuadrícula; actualizar el valor métrico de error acumulado si se usa compresión con pérdidas; y almacenar los valores de los píxeles comprimidos en el almacenamiento del cuadro.

Description

ANTECEDENTES
La presente invención generalmente se refiere al procesamiento de datos de gráficos, y particularmente se refiere a los métodos y aparatos para la compresión de los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro en un sistema de interpretación de gráficos tridimensional (3D).
Los sistemas de interpretación de gráficos 3D típicamente utilizan varios almacenamientos temporales de memoria durante el proceso de interpretación, tales como almacenamientos temporales de textura, almacenamientos temporales de profundidad (a menudo llamados almacenamientos temporales z), y almacenamientos temporales de color. Estos almacenamientos temporales a menudo se almacenan en memorias de acceso aleatorio (RAM) externas a la unidad de procesamiento de gráficos (GPU), que puede tener memorias caché relativamente pequeñas en la placa. Debido a que los datos almacenados temporalmente se pueden recuperar y rescribir varias veces durante el proceso de interpretación, el ancho de banda de la memoria (la capacidad para escribir los datos en la memoria y leer los datos de la memoria) a menudo debe ser bastante alto, especialmente para soportar aplicaciones de procesamiento de gráficos en tiempo real tales como los juegos en tiempo real. En un ordenador personal de sobremesa, el ancho de banda de memoria disponible podría ser muy alto, quizás varios gigabytes por segundo. En un teléfono móvil, podrían estar disponibles varios cientos de megabytes por segundo de transferencia de datos.
Incluso con estos altos anchos de banda de memoria disponibles, el rendimiento de una GPU podría sin embargo estar constreñido por el ancho de banda de la memoria. Reducir la cantidad de datos recuperados y escritos en la RAM externa generalmente es ventajoso de esta manera. Las ventajas de reducir las transacciones de memoria son particularmente pronunciadas en plataformas móviles, tales como un teléfono móvil, dado que el aumento de las velocidades de reloj y los canales principales de datos más amplios requeridos para soportar anchos de banda de memoria muy altos también provocan el aumento del consumo de potencia, agotando las baterías más rápidamente.
La compresión de datos es un planteamiento para reducir el ancho de banda de memoria requerido para soportar las aplicaciones de presentación o interpretación 3D avanzadas. Las técnicas de compresión de datos sin pérdidas, que permiten la reconstrucción de los datos originales sin ninguna pérdida de información, se usan algunas veces hoy en día en aplicaciones de interpretación o presentación de gráficos 3D. Los algoritmos de compresión de datos con pérdidas, que pueden proporcionar relaciones de compresión significativamente más altas pero que pueden provocar la introducción de artefactos visuales en los datos reconstruidos, se usan comúnmente en aplicaciones de vídeo, tales como televisión digital, pero parecen haber sido abandonados con respecto a la compresión de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color en aplicaciones de interpretación o presentación 3D.
Una razón para evitar los esquemas de compresión con pérdidas en las aplicaciones de interpretación o presentación 3D es que es posible introducir grandes errores en los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color cuando se usa la compresión con pérdidas varias veces. La necesidad de las operaciones de compresión y descompresión repetidas distingue muchas aplicaciones de interpretación o presentación de gráficos 3D de las aplicaciones de vídeo digital, por ejemplo, donde un cuadro dado se comprime típicamente solo una vez. Algunos o todos de los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color para un cuadro único se pueden comprimir y descomprimir varias veces durante el proceso de interpretación o presentación de gráficos. En un sistema de interpretación o presentación 3D basado en triangulo, por ejemplo, varios triángulos se pueden escribir sucesivamente para un segmento (por ejemplo, una cuadrícula, o bloque) de datos. Cada vez, el segmento de datos se puede recuperar desde la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro, descomprimir, procesar, de nuevo comprimir, y escribir de vuelta en la memoria intermedia de la memoria intermedia de almacenamiento temporal del color. Si se usa la compresión con pérdidas para comprimir el segmento de datos cada vez, esta compresión en tándem puede provocar pérdidas de información repetidas, que introducen errores inaceptables en los datos finales.
SUMARIO
Los métodos y aparatos enseñados aquí dentro proporcionan un nuevo planteamiento al procesamiento de datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de cuadro, por ejemplo, datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color, en aplicaciones de procesamiento de gráficos. Aunque más generalmente aplicables, estos métodos y aparatos son particularmente cuadrículas en aplicaciones de interpretación o presentación 3D, en tiempo real, basadas en polígonos. Aquellos expertos en la técnica apreciarán que los métodos y aparatos revelados aquí dentro se pueden aplicar para reducir los requerimientos de ancho de banda de memoria para una aplicación de gráficos dada, para facilitar el procesamiento más avanzado de los gráficos, o ambos. Aquellos expertos en la técnica también apreciarán que las técnicas reveladas aquí dentro pueden proporcionar ventajas particulares en un dispositivo portátil alimentado por baterías, tal como un teléfono móvil, donde los requerimientos de ancho de banda de memoria más altos generalmente provocan el aumento de consumo de energía y vida de la batería más corta.
imagen1
Un método ejemplar para el procesamiento de datos de gráficos de acuerdo con una o más realizaciones de la invención comienza con la recuperación, desde una memoria intermedia de la memoria intermedia de almacenamiento temporal, de los valores de los pixeles correspondientes a una cuadrícula de dos o más pixeles, y con la actualización de uno o más de los valores de los pixeles recuperados. Los valores de los pixeles actualizados se comprimen selectivamente usando una operación de compresión con pérdidas o una operación de compresión sin pérdidas, en base a un valor métrico del error acumulado para la cuadrícula. Si se usa la compresión con pérdidas, entonces el valor métrico del error acumulado para la cuadrícula se actualiza; en cualquiera de los dos casos, los valores de los pixeles comprimidos se almacenan en la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro para procesamiento adicional. Con este planteamiento, el error acumulado causado por operaciones de compresión sucesivas, o en tándem, se puede limitar a un máximo predeterminado.
En algunas realizaciones, el efecto de compresión con pérdidas en el valor métrico del error acumulado para la cuadrícula se predice antes de que se realice la operación de compresión, y la compresión con pérdidas y la compresión sin pérdidas se realiza en base al efecto predicho. En algunas de estas realizaciones, se puede usar una de dos o más operaciones de compresión con pérdidas, en base al efecto predicho. En varias realizaciones, se usa una operación de compresión sin pérdidas si el valor métrico del error acumulado excede un umbral predeterminado; de otro modo se usa una operación de compresión con pérdidas. En las realizaciones donde los valores de los píxeles comprenden los valores del color del pixel, el método puede comprender además la selección del umbral predeterminado en base a si los valores de los píxeles actualizados comprenden valores alfa para combinación alfa.
En algunas realizaciones, la operación de compresión sin pérdidas comprende codificación de entropía de errores residuales a partir de los predictores basados en los vecinos de los valores de los píxeles. Algunas de estas realizaciones pueden usar codificación Golomb-Rice. La operación de compresión con pérdidas puede comprender, en varias realizaciones, una o más de cuantificación, submuestreo, o promediado de los valores de los píxeles actualizados. En las realizaciones donde los valores de los píxeles comprenden valores de color del pixel, la operación de compresión con pérdidas puede comprender comprimir las componentes de luminancia de los valores del pixel usando un algoritmo sin pérdidas y comprimir las componentes de crominancia de los valores de los píxeles usando un algoritmo con pérdidas.
Cuando los valores de los píxeles comprenden valores de color del pixel, varias realizaciones pueden comprender además la transformación de los valores de los píxeles desde un primer espacio de color a un segundo espacio de color antes de que sean actualizados los valores de los píxeles, y transformar los valores los valores de los píxeles actualizados desde el segundo espacio de color al primer espacio de color antes de comprimir los valores los valores de los píxeles actualizados. En varias de estas realizaciones, el segundo espacio de color comprende el espacio de color rojo-verde-azul (RGB), y el primer espacio de color, tal como el espacio de color YCoCg, comprende una transformación exacta de bit, reversible del segundo espacio de color. El aparato para procesar los datos de los gráficos de acuerdo con uno o más de los métodos anteriores, así como las variaciones de esos métodos, también se revelan aquí dentro. Por supuesto, la presente invención no está limitada a los rasgos y ventajas anteriores. Aquellos expertos en la técnica reconocerán rasgos y ventajas adicionales tras la lectura de la siguiente descripción detallada, y tras ver los dibujos anexos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 ilustra los efectos de la compresión en tándem sobre los datos del pixel.
La Figura 2 es un diagrama de flujo que ilustra un método ejemplar para el procesamiento de los datos de los gráficos de acuerdo con una o más realizaciones de la invención.
La Figura 3 es un diagrama de flujo que ilustra un método ejemplar para comprimir los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de color.
La Figura 4 ilustra la predicción de los datos de los píxeles a partir de pixeles vecinos.
La Figura 5 es un diagrama de bloques de un aparato para el procesamiento de los datos de los gráficos de acuerdo con una o más realizaciones de la invención.
imagen2
DESCRIPCIÓN DETALLADA
Los métodos y dispositivos varios revelados aquí dentro describen un esquema de compresión y descompresión basada en cuadrícula para usar en procesamiento de gráficos, particularmente en aplicaciones de interpretación o presentación de gráficos en 3D. En gran parte de la siguiente discusión, las técnicas inventivas se ilustrarán en el contexto del procesamiento de los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de color, pero aquellos expertos en la técnica apreciarán la aplicabilidad de esta técnicas a otros datos de los gráficos, tales como los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de la textura, datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de la profundidad, o los datos de intensidad. Usando los esquemas revelados, la cantidad de datos de los gráficos que se deben almacenar temporalmente se puede reducir considerablemente, reduciendo el ancho de banda necesario requerido para almacenar y recuperar los datos de los gráficos, o liberar ancho de banda de memoria para el procesamiento de los gráficos más avanzado y/o más rápido. Como se trata aquí dentro, las técnicas de compresión con pérdidas se pueden usar para lograr las ganancias de compresión más grandes, mientras que las técnicas de compresión sin pérdidas se aplican selectivamente para mantener los errores acumulados introducidos por las operaciones de compresión en niveles aceptables.
Como se trató anteriormente, la aplicación de las técnicas de compresión con pérdidas a los contextos de interpretación o presentación de gráficos en 3D puede introducir problemas particulares. Dado que los datos de los gráficos en 3D se pueden comprimir y descomprimir varias veces durante la interpretación o presentación de un cuadro único, los errores acumulados causados por operaciones de compresión con pérdidas repetidas pueden crecer más allá de niveles aceptables, causando artefactos visuales indeseables en la imagen presentada. Esto se ilustra en la Figura 1. En el paso 110, un primer triángulo 112 se escribe a una cuadrícula 115 de dieciséis píxeles. Específicamente, se escribe un valor de color C para cada uno de los píxeles cubiertos por el triángulo 112, incluyendo el pixel en la esquina superior izquierda de la cuadrícula 115. Posteriormente, los datos del color para la cuadrícula 115 se comprimen, usando una operación de compresión con pérdidas, en el paso 120. Esta compresión con pérdidas introduce un error en los datos de la cuadrícula, de manera que tras la descompresión (no se imagen3
muestra), el pixel superior izquierdo contiene un valor de , no C. En el paso 130, el triángulo 132 se escribe a la cuadrícula 115. En este ejemplo, la escritura del triángulo 132 no tiene efecto directo en el valor del color asociado con el pixel superior izquierdo. No obstante, después de otra operación de compresión en el paso 140, se introduce error adicional al valor del color para el pixel superior izquierdo, imagen3
de manera que el nuevo valor, en el paso 150, iguala a . Aquellos expertos en la técnica apreciarán que los errores introducidos por la compresión en tándem, como se ilustra en la Figura 1, pueden crecer sin límite bajo ciertas circunstancias. No obstante, usando las técnicas reveladas aquí dentro, la compresión con pérdidas de los datos de los gráficos se puede aplicar, mientras que aún se mantienen bajo control los errores introducidos.
La Figura 2 ilustra un método ejemplar para el procesamiento de datos de los gráficos de acuerdo con una o más de las realizaciones de la presente invención. En el bloque 210, se recuperan los valores de los píxeles desde una memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro para el procesamiento. El término “memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro” se usa aquí dentro para indicar una estructura de memoria para el almacenamiento de los datos de los gráficos relacionados con una interpretación dada de una imagen de los gráficos. En algunas aplicaciones, los píxeles de la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro pueden corresponder directamente a los píxeles de un dispositivo de visualización de vídeo, de manera que la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro comprende un cuadro completo de datos de vídeo. En otras, no obstante, los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro pueden experimentar procesamiento adicional antes de que se envíen a un visualizador de vídeo. En cualquier caso, la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro típicamente comprende una memoria intermedia de la memoria intermedia de almacenamiento temporal del color, el cual incluye un valor de color del pixel para cada pixel, y también puede incluir una memoria de la memoria intermedia de almacenamiento temporal de la profundidad, y una memoria de la memoria intermedia de almacenamiento temporal de la textura. Los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color también pueden incluirlos datos del canal alfa usado para combinación alfa.
En la discusión que sigue, el término “pixel” se usa para describir un elemento único en un grupo de datos de los gráficos bidimensional. De nuevo, un pixel único de datos de los gráficos puede o no corresponder a un pixel de salida único en un visualizador de vídeo. Adicionalmente, aquellos expertos en la técnica estarán familiarizados con varias técnicas de procesamiento de gráficos que implican multimuestreo o supermuestreo de los datos de los gráficos. Aquellos profesionales apreciarán además que las técnicas inventivas descritas aquí dentro se pueden aplicar a los datos de los gráficos supermuestreados o multimuestreados también, por ejemplo cuando esos datos se deben almacenar y recuperar repetidamente desde una memoria de la memoria intermedia de almacenamiento temporal. Por consiguiente, el término “pixel”, como se usa aquí dentro, puede referirse a cada elemento de datos de los gráficos supermuestreados o multimuestreados.
imagen4
Al menos para propósitos de operaciones de compresión y descompresión, los datos de los píxeles recuperados desde la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro se procesan convenientemente en bloques, o “cuadrículas”, que comprenden dos o más valores de los píxeles. (El término “cuadrícula” se usa aquí dentro para referirse a un segmento, o “bloque”, de los datos de los gráficos, comprendiendo al menos dos valores de los píxeles). Por ejemplo, los datos de los píxeles se pueden procesar en cuadrículas de píxeles de ocho por ocho. De esta manera, cada cuadrícula se puede comprimir (y descomprimir) separada e independientemente de acuerdo con las técnicas descritas aquí dentro.
En varias realizaciones de la presente invención, el proceso de recuperación de datos de los píxeles a partir de la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro incluye la descompresión de los datos de los píxeles antes del procesamiento posterior. Como se entenderá bien por aquellos expertos en la técnica, la descompresión implica invertir las operaciones usadas para comprimir los datos. Si se empleó un esquema sin pérdidas para comprimir los datos, entonces los datos originales se pueden reconstruir exactamente, es decir, sin pérdidas de información. Por otra parte, si se usó un esquema de compresión con pérdidas, la operación de descompresión correspondiente puede restaurar el formato y/o tamaño de los datos originales, pero se pierde algo de la información en los datos originales de forma irrecuperable.
En algunas realizaciones de la presente invención, la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro incluye o se asocia con los datos que indican si se usó la compresión sin pérdidas o con pérdidas. En varias realizaciones, cada cuadrícula comprimida se combina con la información de cabecera antes de que sea escrita en la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro. En algunas de estas realizaciones, estos datos pueden incluir información que indica cual de varios algoritmos de compresión fue usado. Estos datos pueden ser de cuadrícula específica, de manera que el uso de los esquemas de compresión con pérdidas o sin pérdidas se puedan indicar independientemente para cada cuadrícula.
De una manera similar, la información del error acumulado se puede mantener independientemente para cada cuadrícula. Esta información del error acumulado incluye de esta manera un valor métrico del error acumulado para cada cuadrícula, el valor métrico del error acumulado que indica el error introducido en los datos de la cuadrícula de una o más operaciones de compresión con pérdidas. Los valores métricos del error acumulado se pueden almacenar en la misma memoria que la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro, o mantener en una memoria separada. En una realización típica, los valores métricos del error acumulado se inicializan a cero en el comienzo de una operación de interpretación del cuadro, y actualizan después del uso de una o más operaciones de compresión con pérdidas en una o más de las cuadrículas.
De esta manera, de nuevo con referencia a la Figura 2, un valor métrico del error acumulado,
, se recupera de la memoria para un cuadrícula actual para ser procesado, como se muestra en el acum
ז
acum
ז bloque 220. En algunas realizaciones,
representa el error cuadrático medio acumulado para la
cuadrícula, aunque se pueden usar otras mediciones, tales como la raíz cuadrada del error cuadrático medio, o el nivel de error máximo para cualesquiera de los píxeles en la cuadrícula. Otra métrica del error útil es la suma de las diferencias absolutas entre los valores de los píxeles reconstruidos y sus valores “verdaderos”. La elección de qué métrica del error usar generalmente implica una compensación entre el número de bit necesarios para representar un valor métrico del error y la precisión de control que la métrica del error facilita. Verdaderamente, en algunas realizaciones, se puede usar más de una métrica del error, para proporcionar incluso mayor control del error introducido por la compresión de la cuadrícula, aunque el procesamiento y almacenamiento de los valores métricos adicionales puede disminuir los beneficios ganados de la compresión de los datos de los píxeles. En cualquier caso, el valor métrico del
indica el error introducido de esta manera hasta ahora por las operaciones previas acum
ז error recuperado
de compresión con pérdidas realizadas en la cuadrícula actual.
Una vez descomprimidos, los datos de los píxeles para la cuadrícula actual se actualizan de acuerdo con una operación de interpretación actual, como se muestra en el bloque 225. En una aplicación de interpretación o presentación en 3D basada en polígono, por ejemplo, los valores del color que corresponden a un nuevo triángulo se pueden escribir para uno o más de los píxeles para la cuadrícula actual. El triángulo presentado puede solapar completamente la cuadrícula, de manera que todos los valores de los píxeles se actualicen, o puede cubrir solamente de manera parcial la cuadrícula, de manera que uno o varios de los valores de los píxeles se actualicen mientras que otros permanecen sin cambios. Otras operaciones, tales como coloración, texturizado, o combinación alfa, se pueden también aplicar, de acuerdo con las técnicas bien conocidas en la técnica. Aquellos expertos en la técnica reconocerán que ciertas operaciones en una cuadrícula harán obsoleto el valor métrico del error acumulado correspondiente. Por ejemplo, si un triángulo solapa completamente una cuadrícula, de manera que todos los valores del color del píxel para la cuadrícula se reescriben, el valor métrico del error acumulado resultante de la operación de compresión previa no vuelve a ser aplicable (suponiendo que los valores previos no se combinan con los nuevos valores). En estos casos, a continuación, la actualización de los valores de los píxeles es seguida restableciendo el valor (o valores) métrico(s) del error acumulado para la cuadrícula a cero. En otros casos, tales como cuando un triángulo presentado solamente solapa parcialmente una cuadrícula, el valor métrico del error acumulado continúa para proporcionar un indicador significativo de los errores de compresión introducidos previamente.
imagen5
En cualquier caso, después de que se actualicen los valores de los píxeles, la cuadrícula se comprime de nuevo, y se vuelve a almacenar en la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro para liberar la RAM en la tarjeta para el procesamiento de otras
, las operaciones de compresión adicionales se pueden limitaracum
ז cuadrículas. Dependiendo del valor de
acum
ז no aumente más. Por consiguiente, acum
ז a compresión sin pérdidas, de manera que
se puede
l entonces se realiza la compresión sin pérdidas, umbral
ז >acum
ז ; Siumbral
ז comparar con un valor umbral , se puedeumbral
ז <acum
ז para evitar introducir error adicional en losdatos comprimidos. Por otraparte, si
tolerar al menos una operación de compresión con pérdidas adicional.
En algunas realizaciones, se predice el efecto de una operación de compresión con pérdidas proyectada en el valor métrico del error acumulado para la cuadrícula antes de determinar si usar la operación de compresión con pérdidas o una operación sin pérdidas. De esta manera, en el bloque 230,
de compresión con pérdidas la operación , en base anueva
ז del errorse calcula una contribución
proyectada. En el bloque 240, el error acumulado que resultaría de usar la operación de compresión
.umbral
ז , se compara con un valor umbral predeterminado nueva
ז yacum
ז proyectada, por ejemplo, la suma de
Si la operación de compresión con pérdidas proyectada provocase en el valor métrico del error acumulado que exceda el umbral, entonces se realiza una operación de compresión sin pérdidas en su lugar, como se muestra en el bloque 250, y los valores de los píxeles comprimidos se almacenan en (por ejemplo, reescritos en) la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro en el bloque 290. Por otra parte, si la operación de compresión con pérdidas proyectada no introdujese un nivel de error aceptable, entonces se realiza la operación de compresión con pérdidas, como se muestra en el bloque 260.
En el caso que se use la operación de compresión con pérdidas, entonces se actualiza el valor métrico del error acumulado para la cuadrícula, como se muestra en el bloque 270. Por ejemplo, un valor métrico del error acumulado previo se puede sustituir con una suma del valor métrico del error acumulado previo y la contribución de la operación de compresión realizada nuevamente. En el bloque 280, el valor métrico del error acumulado actualizado se almacena para usar en el procesamiento posterior de la cuadrícula, y la cuadrícula comprimida se almacena en la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro en el bloque 290.
Aquellos expertos en la técnica apreciarán que el método ilustrado en la Figura 2 se puede extender fácilmente para facilitar la aplicación selectiva de varios algoritmos de compresión con pérdidas. Por ejemplo, pueden estar disponibles dos algoritmos de compresión con pérdidas diferentes. Uno puede ofrecer mayor compresión que el otro, a costa de incrementar la introducción de errores. Si están disponibles múltiples algoritmos de compresión con pérdidas, entonces el cálculo de la contribución del error del bloque 230 se puede realizar primero para el algoritmo que ofrece la compresión más alta. Si el error acumulado total predicho no excede el umbral, entonces ese algoritmo se usa en el bloque 250. Por otra parte, si el primer algoritmo provocase error excesivo, entonces se calcula y prueba una contribución del error predicho para el segundo algoritmo. Si este algoritmo provoca un nivel de error aceptable, entonces se usa. De otro modo, se usa la compresión sin pérdidas, como en el método tratado previamente.
En otra variación, el valor métrico del error acumulado se usa para seleccionar uno de dos o más algoritmos de compresión con pérdidas. Por ejemplo, en una realización, si el valor métrico del error acumulado está por debajo de un primer umbral, entonces se usa un primer algoritmo de compresión con pérdidas. Si el valor métrico del error acumulado está por encima del primer umbral, pero por debajo de un segundo umbral, entonces se usa en su lugar un segundo algoritmo de compresión con pérdidas. Típicamente, el segundo algoritmo de compresión se elige para introducir menos error que el primero. Si, por otra parte, el valor métrico del error acumulado excede el segundo valor umbral predeterminado, entonces se usa la compresión sin pérdidas.
Aquellos expertos en la técnica apreciarán que el método ilustrado en la Figura 2 se puede usar con cualquier algoritmo de compresión sin pérdidas adecuado para la compresión de datos de los píxeles organizados por bloques, así como con cualquier algoritmo de compresión con pérdidas adecuado. Aquellos expertos en la técnica apreciarán, no obstante, que cuando se aplican las técnicas de la presente invención a los datos del color, puede ser ventajoso emplear los algoritmos de compresión en un espacio de color luminancia-crominancia, más que el espacio de color rojo-verde-azul (RGB) usado para muchos procesos de procesamiento de gráficos estándares. Por consiguiente, incluso si todas o la
imagen6
mayoría de las operaciones de actualización de los píxeles (tales como la interpretación de triángulos, coloración de los píxeles, etc.) se realizan en el espacio RGB, la compresión se realiza ventajosamente en los datos de los píxeles que se han transformado a un espacio luminancia-crominancia. Como es bien conocido en la técnica, se permite de esta manera la compresión más eficiente, debido a la descorrelación 5 de los canales RGB. Otra ventaja de usar un espacio de color luminancia-crominancia para comprimir los datos del color de los píxeles es que se pueden usar los esquemas de compresión separados para los valores de luminancia y crominancia. Dado que el sistema visual humano es más susceptible a los errores en las componentes de luminancia, algunas realizaciones de los métodos revelados aquí dentro pueden usar siempre compresión sin pérdidas para las componentes de luminancia, mientras que emplea selectivamente compresión con pérdidas para las componentes de crominancia de acuerdo con las técnicas reveladas aquí dentro. En otras realizaciones, se puede permitir selectivamente la compresión con pérdidas tanto para las componentes de luminancia como de crominancia, pero distintos esquemas, con distintos niveles de umbral, se emplean para determinar cuándo conmutar de compresión con pérdidas a sin pérdidas. En otras, los valores métricos de los errores acumulados se pueden seguir
15 separadamente para las componentes de luminancia y crominancia, y/o aplicar a umbrales separados, tales que la compresión con pérdidas se introduce más pronto para los datos de luminancia que para los datos de crominancia.
Se conocen varias representaciones de luminancia-crominancia de los datos del color de los píxeles en la técnica. Debido a que las técnicas presentes emplean al menos un esquema de compresión sin pérdidas, de manera que los datos comprimidos se pueden reconstruir exactamente, la transformación del espacio de color también debería ser exactamente reversible. Uno de tales esquemas de transformación del color es la transformación RGB a YCOCG (luminancia más naranja compensado más verde compensado) introducida por Henrique Malvar y Gary Sullivan en su contribución de julio de 2003 al Equipo Mixto de Vídeo del PMEP de la ISO/IEC y VCEG de la ITU-T, titulada “YCOCG-R: Un Espacio de
25 Color con Reversibilidad RGB y Gama Dinámica Baja,” Documento Nº JVT-I014r3. Usando este planteamiento, la transformación de RGB a YCOCG se hace de acuerdo con:
CO = R -B
t = B + (CO >>1)
CG=G–t (1)
Y = t + (CG >>1)
y la transformada correspondiente desde YCOCG a RGB es:
t = Y - (CG >>1)
G=CG+ t (2)
B = t - (CO >> 1)
35 R = B + CO
Si las componentes RGB se almacenan usando n bit cada una, la componente Y requerirá n bit, y las componentes de crominancia n+1 bit. De esta manera, la transformación al espacio YCOCG puede costar dos bit adicionales. No obstante, se ha mostrado que en ciertos contextos, los datos del color transformados de acuerdo con este planteamiento se pueden comprimir más eficientemente que los datos RGB correspondientes, o los datos transformados de acuerdo con la transformada YCRCB comúnmente usada. (Ver Charles Poynton, Vídeo Digital y HDTV, San Francisco: Editores Morgan Kaufman, 2003, para una descripción de la transformada YCRCB). Se debe señalar que la transformada YCRCB, no es, en general, reversible sin pérdida de información. Una transformada alternativa de color a YCOCG, no obstante, es la transformación de la componente reversible (RCT) exactamente desde el estándar JPEG
45 2000. Los algoritmos de compresión con pérdidas adecuados pueden ser bastante simples. Por ejemplo, los valores de los píxeles pueden ser simplemente cuantificados para un conjunto limitado de valores posibles, que reducen de esta manera el número de bit necesarios para almacenar los valores. Este proceso de cuantificación puede implicar simplemente el truncamiento de los valores de los píxeles, en cuyo caso la descompresión simplemente requiere la adición de ceros a los valores truncados para obtener datos de total precisión para el procesamiento posterior. Alternativamente, los valores de los píxeles se pueden “redondear” antes del truncamiento. En otras realizaciones, los valores de los píxeles se pueden submuestrear. De esta manera, en una o más realizaciones, se puede almacenar un valor único en la memoria intermedia de la memoria intermedia de almacenamiento temporal del cuadro para representar dos o más valores de los píxeles. Por ejemplo, una subcuadrícula dos por dos de cuatro
55 valores de los píxeles se puede reducir a un valor. El valor almacenado se puede seleccionar de uno de los cuatro valores, o puede ser una media de los cuatro valores. Aquellos expertos en la técnica reconocerán que también son posibles varias combinaciones de estos esquemas.
imagen7
Los algoritmos de compresión basados en cuadrículas sin pérdidas, dado que deben evitar la pérdida de cualquier información en los datos comprimidos, podrían ser un poco más complicados. En una realización ejemplar, el algoritmo de compresión sin pérdidas comprende codificación de entropía de los errores residuales resultantes de los predictores de los valores de los píxeles basados en los vecinos.
5 Tal algoritmo de compresión sin pérdidas se ilustra en el diagrama de flujo de la Figura 3. La Figura 3 comienza con una transformación de los valores del color del pixel desde el espacio RGB a un espacio de luminancia-crominancia, como se ilustra en el bloque 310. Como se explicó anteriormente, la transformación de los datos del color del pixel a un espacio de color de luminancia-crominancia puede ofrecer varias ventajas, debido a la descorrelación de los datos RGB. Por consiguiente, los datos RGB se
10 pueden transformar en algunas realizaciones a datos YCOCG, usando la Ecuación (1). Un planteamiento ejemplar para la compresión sin pérdidas de los valores de luminancia para los píxeles de las cuadrículas actuales se ilustra en los bloques 320, 330, y 340. Primero, se predicen los valores de luminancia para los píxeles, usando los valores para los píxeles vecinos. Un predictor posible se describió previamente en Weinberger, M.J, y otros, LOCO-I: Un Algoritmo de Compresión de Imágenes Sin Pérdidas, Basado en
15 Contexto, de Baja Complejidad, en la Conferencia de Compresión de Datos (1996), páginas 140-149, y se ilustra en la Figura 4, donde se usan los valores de luminancia (x1, x2, x3) para los tres píxeles vecinos imagen3 imagen3
410 para predecir un valor de luminancia ( ) para el pixel 420. El valor de luminancia
se puede predecir de acuerdo con la Ecuación (3) a continuación:
imagen3
20 Aquellos expertos en la técnica apreciarán que los dos primeros casos de la Ecuación (3) realizan detección de borde simple (y limitada), en cuyo caso el valor del color se predice en base a solo uno de los vecinos. En el planteamiento ilustrado, para los píxeles a lo largo del borde más bajo e izquierdo de una cuadrícula, solamente es accesible un valor vecino. En cada uno de estos casos, el color del vecino único se usa como el valor predicho para el pixel del asunto. Un valor de cero se usa para “predecir” el
25 valor del color del pixel inferior-izquierdo. Esto provoca un primer error residual, para el pixel inferior-izquierdo, que iguala el valor real del pixel.
Con referencia de nuevo a la Figura 3, los errores residuales para cada uno de los píxeles se calculan, en el bloque 330, restando el valor predicho para cada pixel del valor actual del pixel. Los residuales son generalmente de pequeña magnitud, con valores grandes ocasionales (pero infrecuentes).
30 Estos últimos valores se encuentran típicamente para bordes de discontinuidad, o donde el comportamiento de este predictor simple no se adecúa bien a la estructura de la imagen.
Estos residuales se codifican entonces en el bloque 340, usando un algoritmo de codificación de entropía, para minimizar el número de bit necesarios para almacenar los valores residuales. En una realización, se usa un codificador Golomb-Rice. (Rice, R.F., Algunas Técnicas Prácticas Universales de
35 Codificación sin Ruido, Rep. Tec. 22, Jet Propulsion Lab, 1979). Golomb-Rice comienza con la división de imagen3
un valor residual, ε = x – , por una constante 2k. El resultado es un cociente q y un resto r. El cociente q se almacena usando codificación unaria, mientras que el resto r se almacena usando codificación binaria normal con k bit. Debido a que el compresor Golomb-Rice funciona solamente con números positivos, los valores residuales negativos primero se convierten a valores positivos usando un método de reasignación
40 de “solape e interpolación” donde un número negativo n se reasigna a 2 · InI – 1, mientras que un número positivo m se reasigna a 2·m. Es decir, los números negativos se asignan a nuevos números impares y los números positivos de asignan a nuevos números pares. Por ejemplo, el número negativo -3 se asigna a 2·3–1 = 5, y el número positivo 3 se asigna a 2·3 = 6.
Para ilustrar con un ejemplo, supongamos que los valores -3, 0, 9, y 1 van a ser codificados, y
45 además supongamos que k = 2. Los valores primero se transforman para eliminar los valores negativos, provocando los valores transformados 5, 0, 18, y 2. Los pasos de división provocan cuatro parejas (q, r): (1,1), (0,0), (4,2), y (0,2). La codificación unaria del cociente q provoca una serie de q seguidos por un cero de terminación. Los valores codificados en nuestro ejemplo llegan a ser por lo tanto (10u,01b), (0u,00b), (11110u,10b), y (0u,10b) para un total de 17 bit. Esto se compara con los 20 bit requeridos para
50 codificar los mismos datos según los valores binarios señalados.
Un valor óptimo para k se puede seleccionar para cada sub-cuadrícula dos por dos usando una búsqueda exhaustiva. Además, se puede probar el caso especial donde q es cero para todos los valores de las subcuadrículas. En este caso especial, el bit cero de terminación se puede eliminar de los valores codificados. El valor de k se almacena junto con cada cuadrícula para usar en la reconstrucción de los datos comprimidos. En algunas realizaciones, la gama de valores potenciales de k se puede limitar a una gama de valores predeterminados. Por ejemplo, la prueba empírica de este algoritmo ha revelado que k es a menudo distribuida uniformemente de manera relativa en la gama [0,6]. Adicionalmente, el caso especial (donde q es cero para todos los píxeles en una subcuadrícula) se encuentra más a menudo cuando la subcuadrícula entera consta solamente de valores cero. De esta manera, en una o más realizaciones, el valor de k se puede codificar como una cabecera de 3 bit para cada subcuadrícula, en donde los 3 bit comprenden el valor de k a menos que los 3 bit sean todos unos (que representa un valor de siete), que indica que la subcuadrícula entera es igual a cero y que no siguen más datos para esa subcuadrícula. En otros casos, la cabecera es seguida por los residuales codificados Golomb-Rice.
imagen8
Con referencia una vez más a la Figura 3, las componentes de crominancia de los valores de los píxeles se comprimen en el bloque 350, y las componentes de luminancia y crominancia comprimidas se almacenan en la memoria intermedia de la memoria intermedia de almacenamiento temporal del color en el bloque 360. Como se señaló anteriormente, se puede usar cualquiera de los varios métodos de compresión para comprimir las componentes de crominancia. En el método ilustrado en la Figura 3, se usa el submuestreo. No obstante, también se pueden usar, truncamiento, cuantificación, y/o promediado simple.
A la vista de los métodos ilustrados previamente, aquellos expertos en la técnica apreciarán que las técnicas descritas aquí dentro se pueden usar en varias combinaciones, para lograr un balance deseado entre el rendimiento de compresión y los errores aceptables. Por ejemplo, la Figura 3 ilustra la aplicación de la compresión sin pérdidas a los valores de luminancia de una memoria de la memoria intermedia de almacenamiento temporal del color. Aquellos expertos en la técnica apreciarán que el mismo, o similar, algoritmo de compresión sin pérdidas se puede aplicar a los valores de crominancia cuando se ha alcanzado un umbral de error aceptable máximo. Del mismo modo, aquellos expertos en la técnica apreciarán que se pueden aplicar las técnicas de compresión con pérdidas tratadas anteriormente, en algunas realizaciones, para las componentes de luminancia de los datos del color del pixel así como las componentes de crominancia, hasta que se alcanza un nivel de error umbral.
Adicionalmente, aunque las técnicas de compresión sin pérdidas y con pérdidas se ilustraron anteriormente con respecto a los datos del espacio de color de luminancia-crominancia, las mismas técnicas o similares se pueden aplicar a los datos de color RGB, así como los datos de color transformados a otro espacio de color, aunque la eficiencia de la compresión puede sufrir. Finalmente, las técnicas de compresión tratadas aquí dentro son aplicables a otros tipos de datos de los gráficos además de los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal del color, tal como los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de la textura, o los datos de la memoria intermedia de la memoria intermedia de almacenamiento temporal de la profundidad. Aquellos expertos en la técnica apreciarán que distintos umbrales, o distintas métricas de los errores en conjunto, se pueden aplicar dependiendo del tipo de datos de los gráficos. En algunas realizaciones, una parte de los datos de los gráficos puede tener una característica diferente de otra parte; en estas realizaciones, se puede seleccionar uno de varios valores umbral distintos para usar con una cuadrícula dada, dependiendo de esa característica. Por ejemplo, algunos datos podrían incluir o corresponder a valores alfa para combinación alfa; un valor umbral predeterminado podría ser seleccionado para usar con esas cuadrículas para la que se emplea la combinación alfa, mientras que otro valor umbral se selecciona para usar con aquellos cuadrículas donde no se emplea la combinación alfa.
Con la gama anterior de variaciones y aplicaciones en mente, se ilustra un circuito de procesamiento ejemplar para el procesamiento de datos de los gráficos en la Figura 5. El circuito de procesamiento incluye una unidad de procesamiento de los gráficos (GPU) 510 y una memoria de la memoria intermedia de almacenamiento temporal del cuadro 520. La GPU 510 puede ser un dispositivo dedicado de interpretación de los gráficos para un ordenador personal, estación de trabajo, consola de juegos, teléfono móvil, o similares, o puede ser un sistema de procesamiento de propósito general programado para realizar las operaciones de procesamiento de los gráficos. La GPU 510 puede comprender uno o más microprocesadores, microcontroladores, procesadores de señal digital, y/o componentes físicos personalizados, y se puede implementar como una pastilla aislada o como parte de un circuito integrado de aplicaciones específicas (ASIC) que incluya otras funciones. En muchas realizaciones, la GPU 510 comprende la memoria de acceso aleatorio y/o memoria caché en la tarjeta.
La memoria de la memoria intermedia de almacenamiento temporal del cuadro 520 comprende una estructura de memoria para el almacenamiento de los datos de los gráficos para al menos un cuadro de una imagen gráfica. En el circuito de procesamiento de los gráficos de la Figura 5, la memoria intermedia de almacenamiento temporal del cuadro 520 comprende tres o más almacenamientos temporales, un la memoria intermedia de almacenamiento temporal del color 522, que incluye los datos del color para cada uno de una serie de píxeles, un la memoria intermedia de almacenamiento temporal de profundidad 524, que comprende los datos de la profundidad para cada pixel, y el la memoria intermedia de almacenamiento temporal de la textura 526. En algunas realizaciones, el la memoria intermedia de almacenamiento temporal del cuadro 520 puede comprender almacenamientos temporales adicionales, tales como un la memoria intermedia de almacenamiento temporal plantilla. El la memoria intermedia de almacenamiento temporal del cuadro 520 típicamente se implementa usando memoria de acceso aleatorio (RAM) rápida, tal como RAM estática (SRAM), aunque son posibles otros tipos de memorias, tales como DRAM, memoria rápida, etc. Todo o parte del la memoria intermedia de almacenamiento temporal del cuadro 520 se puede implementar con uno o más circuitos de memoria separados o pastillas, o se puede implementar como parte de un ASIC que también puede incluir toda o una parte de la GPU 510.
imagen9
La GPU se programa, usando programas informáticos, microprogramas, o alguna combinación de los dos, y/o se cablea para llevar a cabo uno o más de los métodos descritos aquí dentro. De esta manera, la GPU 510 se programa, en algunas realizaciones, para procesar los datos de los gráficos mediante: la recuperación de los valores de los píxeles desde el la memoria intermedia de almacenamiento temporal del cuadro 520, los valores de los píxeles correspondientes a un cuadrícula de dos o más píxeles; la actualización de uno o más de los valores de los píxeles para obtener los valores de los píxeles actualizados; la compresión de manera selectiva de los valores de los píxeles actualizados usando una operación de compresión con pérdidas o una operación de compresión sin pérdidas, en base a un valor métrico del error acumulado para la cuadrícula; la actualización del valor métrico del error acumulado si se usa la compresión con pérdidas; y el almacenamiento de los valores de los píxeles comprimidos en el la memoria intermedia de almacenamiento temporal del cuadro 520. Aquellos expertos en la técnica apreciarán que una o más de las operaciones de la GPU se pueden realizar mediante circuitos cableados mientras que otras se realizan mediante uno o más elementos de procesador programables.
Los datos de los gráficos almacenados en el la memoria intermedia de almacenamiento temporal del cuadro 520 en forma comprimida se deben descomprimir antes de que se visualicen por el usuario. En algunas realizaciones, esta operación de descompresión, realizada típicamente después de que se ha presentado completamente un cuadro, se puede realizar por la GPU 510. No obstante, puede ser ventajoso en algunas aplicaciones realizar la descompresión del la memoria intermedia de almacenamiento temporal del color en un controlador de visualización, o en un bloque de procesamiento de componentes físicos previo al controlador de visualización. De esta manera, la Figura 5 ilustra además un controlador del visualizador 530, y un visualizador de los gráficos 540. En una o más realizaciones de la invención, el controlador del visualizador 530 se configura para recuperar los valores de los píxeles comprimidos y almacenados, desde el la memoria intermedia de almacenamiento temporal del cuadro 520, para descomprimir los valores de los píxeles recuperados, para transformar los valores de los píxeles actualizados desde el primer espacio de color al espacio de color RGB, y proporcionar los valores de los píxeles transformados y actualizados al visualizador 540.
En algunas realizaciones, el controlador del visualizador 530 se implementa con componentes físicos estrechamente asociados con el visualizador de los gráficos 540; por ejemplo, muchos teléfonos móviles ya incluyen un bloque de procesamiento de visualización que proporciona rasgos tales como escalado, solapado transformación de la profundidad del color, y similares. La descompresión del la memoria intermedia de almacenamiento temporal del color (y la transformación del espacio de color, si se necesita) se puede realizar en tal bloque de procesamiento de visualización. Alternativamente, las funciones del controlador del visualizador 530 se pueden realizar por el mismo circuito o circuitos usados para realizar las funciones de la GPU 510.
Con la gama anterior de variaciones y aplicaciones en mente, se debería entender que la presente invención no está limitada por la descripción anteriormente mencionada, ni está limitada por los dibujos anexos. En su lugar, la presente invención está limitada solamente por las siguientes reivindicaciones, y sus equivalentes legales.
imagen10

Claims (15)

  1. REIVINDICACIONES
    1. Un método para el procesamiento de datos de gráficos, que comprende:
    recuperar y descomprimir, a partir de un la memoria intermedia de almacenamiento temporal de cuadro, los valores de los píxeles correspondientes a un cuadrícula de dos o más pixeles;
    actualizar uno o más de los valores de los pixeles para obtener valores de los pixeles actualizados;
    comprimir selectivamente los valores de los píxeles actualizados usando una operación de compresión con pérdidas o una operación de compresión sin pérdidas, en base a un valor métrico del error acumulado para la cuadrícula;
    actualizar el valor métrico de error acumulado si se usa compresión con pérdidas; y
    almacenar los valores de los píxeles comprimidos en el almacenamiento del cuadro.
  2. 2.
    El método de la reivindicación 1, en donde comprimir selectivamente los valores de los píxeles actualizados comprende predecir el efecto de la compresión con pérdidas en el valor métrico del error acumulado y usar la operación de compresión con pérdidas o la operación de compresión sin pérdidas en base al efecto predicho o predecir los efectos de dos o más operaciones de compresión con pérdidas en el valor métrico del error acumulado y seleccionar la operación de compresión sin pérdidas o una de las dos o más operaciones de compresión con pérdidas en base al efecto predicho.
  3. 3.
    El método de la reivindicación 1, en donde comprimir selectivamente los valores de los píxeles actualizados comprende usar la operación de compresión sin pérdidas si el valor métrico del error acumulado excede un umbral predeterminado y de otro modo usar la operación de compresión con pérdidas seleccionando la operación de compresión con pérdidas a partir de dos o más operaciones de compresión con pérdidas candidatas en base al valor métrico del error acumulado.
  4. 4.
    El método de la reivindicación 3, en donde los valores de los píxeles comprenden valores de color del pixel, y en donde el método además comprende seleccionar el umbral predeterminado en base a si los valores de los píxeles actualizados comprenden valores alfa.
  5. 5.
    El método de la reivindicación 1, en donde la operación de compresión sin pérdidas comprende codificación de entropía de errores residuales de los predictores que usan los valores para los píxeles vecinos.
  6. 6.
    El método de la reivindicación 1, en donde la operación de compresión con pérdidas comprende una o más de cuantificación, submuestreo, o promediado de los valores de los píxeles actualizados.
  7. 7.
    El método de la reivindicación 1, en donde los valores de los píxeles comprenden los valores del color del pixel y en donde la operación de compresión con pérdidas comprende comprimir las componentes de luminancia de los valores de los píxeles actualizados que usan un algoritmo sin pérdidas y comprimir las componentes de crominancia de los valores de los píxeles actualizados usando un algoritmo con pérdidas.
  8. 8.
    El método de la reivindicación 1, en donde los valores de los píxeles comprenden los valores del color de los píxeles y en donde el método comprende además la transformación de los valores de los píxeles desde un primer espacio de color a un segundo espacio de color antes de actualizar uno o más valores de los píxeles y transformar los valores de los píxeles actualizados desde el segundo espacio de color al primer espacio de color antes de comprimir selectivamente los valores de los píxeles actualizados.
  9. 9.
    El método de la reivindicación 8, en donde el segundo espacio de color comprende un espacio de color RGB y en donde el primer espacio de color comprende una transformación de bit exacto, reversible del segundo espacio de color.
  10. 10.Un aparato para el procesamiento de datos de los gráficos, que comprende
    un la memoria intermedia de almacenamiento temporal del cuadro y
    un procesador de los gráficos configurado para:
    recuperar y descomprimir, desde el la memoria intermedia de almacenamiento temporal del cuadro, los valores de los píxeles correspondientes a un cuadrícula de dos o más píxeles;
    imagen1
    actualizar uno o más de los valores de los píxeles para obtener los valores de los píxeles actualizados;
    comprimir selectivamente los valores de los píxeles actualizados usando una operación de compresión con pérdidas o una operación de compresión sin pérdidas, en base a un valor métrico del error acumulado para la cuadrícula;
    actualizar el valor métrico del error acumulado si se usa la compresión con pérdidas; y
    almacenar los valores de los píxeles comprimidos en el la memoria intermedia de almacenamiento temporal del cuadro.
  11. 11.
    El aparato de la reivindicación 10, en donde el procesador de los gráficos se configura para comprimir selectivamente los valores de los píxeles actualizados prediciendo al efecto de la compresión con pérdidas en el valor métrico del error acumulado y usando la operación de compresión con pérdidas o la operación de compresión sin pérdidas en base al efecto predicho o prediciendo los efectos de dos o más operaciones de compresión con pérdidas en el valor métrico del error acumulado y seleccionando la operación de compresión sin pérdidas o una de las dos o más operaciones de compresión con pérdidas, en base a los efectos predichos.
  12. 12.
    El aparato de la reivindicación 10, en donde el procesador de los gráficos se configura para comprimir los valores de los píxeles actualizados usando la operación de compresión sin pérdidas si el valor métrico del error acumulados excede un umbral predeterminado y usando la operación de compresión con pérdidas de otro modo seleccionando la operación de compresión con pérdidas de dos o más operaciones de compresión con pérdidas candidatas en base al valor métrico del error acumulado si el valor métrico del error acumulado no excede del umbral predeterminado.
  13. 13.
    El aparato de la reivindicación 10, en donde los valores de los píxeles comprenden los valores de color de los píxeles y en donde la operación de compresión con pérdidas comprende comprimir las componentes de luminancia de los valores de los píxeles actualizados usando un algoritmo sin pérdidas y comprimir las componentes de crominancia de los valores de los píxeles actualizados usando un algoritmo con pérdidas.
  14. 14.
    El aparato de la reivindicación 10, en donde los valores de los píxeles comprenden valores del color del pixel y en donde el procesador de los gráficos se configura además para transformar los valores de los píxeles desde un primer espacio de color a un segundo espacio de color antes de actualizar uno o más de los valores de los píxeles y para transformar los valores de los píxeles actualizados desde el segundo espacio de color al primer espacio de color antes de comprimir selectivamente los valores de los píxeles actualizados.
  15. 15.
    El aparato de la reivindicación 14, que además comprende un visualizador y un controlador del visualizador, en donde el controlador del visualizador se configura para:
    recuperar los valores de los píxeles actualizados, comprimidos, almacenados desde el la memoria intermedia de almacenamiento temporal del cuadro;
    descomprimir los valores de los píxeles actualizados comprimidos, recuperados;
    transformar los valores de los píxeles actualizados a partir de un primer espacio de color a un espacio de color RGB; y
    proporcionar los valores de los píxeles actualizados, transformados al visualizador.
ES08718356T 2007-04-04 2008-03-31 Método de compresión y descompresión de la memoria intermedia de almacenamiento temporal de cuadros para la interpretación de gráficos. Active ES2359036T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91011207P 2007-04-04 2007-04-04
US910112P 2007-04-04
US953339 2007-12-10

Publications (1)

Publication Number Publication Date
ES2359036T3 true ES2359036T3 (es) 2011-05-17

Family

ID=39826949

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08718356T Active ES2359036T3 (es) 2007-04-04 2008-03-31 Método de compresión y descompresión de la memoria intermedia de almacenamiento temporal de cuadros para la interpretación de gráficos.

Country Status (8)

Country Link
US (1) US8031937B2 (es)
EP (1) EP2143280B1 (es)
CN (1) CN101653005B (es)
AR (1) AR065940A1 (es)
AT (1) ATE494733T1 (es)
DE (1) DE602008004331D1 (es)
ES (1) ES2359036T3 (es)
WO (1) WO2008122536A2 (es)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8471862B2 (en) * 2007-03-09 2013-06-25 Ati Technologies Ulc Offset tiles in vector graphics
US8031937B2 (en) * 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
KR101362757B1 (ko) * 2007-06-11 2014-02-14 삼성전자주식회사 인터 컬러 보상을 이용한 영상의 부호화 방법 및 장치,복호화 방법 및 장치
JP2009290389A (ja) * 2008-05-28 2009-12-10 Hitachi Ltd 画像処理装置
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
JP4507265B2 (ja) * 2008-06-30 2010-07-21 ルネサスエレクトロニクス株式会社 画像処理回路、及びそれを搭載する表示パネルドライバ並びに表示装置
US8560716B1 (en) 2008-12-19 2013-10-15 Emc Corporation Time and bandwidth efficient recoveries of space reduced data
US8725690B1 (en) * 2008-12-19 2014-05-13 Emc Corporation Time and bandwidth efficient backups of space reduced data
TWI387314B (zh) * 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US9530189B2 (en) 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US8605104B1 (en) * 2009-12-31 2013-12-10 Nvidia Corporation Threshold-based lossy reduction color compression
US8160137B2 (en) * 2010-03-03 2012-04-17 Mediatek Inc. Image data compression apparatus for referring to at least one characteristic value threshold to select target compression result from candidate compression results of one block and related method thereof
US8971413B2 (en) * 2010-05-24 2015-03-03 Intel Corporation Techniques for storing and retrieving pixel data
US9641823B2 (en) 2011-01-31 2017-05-02 Hewlett-Packard Development Company, L.P. Embedded light field display architecture to process and display three-dimensional light field data
US9948938B2 (en) 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US9899007B2 (en) * 2012-12-28 2018-02-20 Think Silicon Sa Adaptive lossy framebuffer compression with controllable error rate
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US10043234B2 (en) * 2012-12-31 2018-08-07 Nvidia Corporation System and method for frame buffer decompression and/or compression
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9245324B2 (en) * 2013-05-23 2016-01-26 Intel Corporation Lossy color merge for multi-sampling anti-aliasing compression
CN103324475A (zh) * 2013-05-28 2013-09-25 机械工业第六设计研究院有限公司 基于ifc标准的bim模型渲染优化系统及方法
US10506254B2 (en) 2013-10-14 2019-12-10 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN103686182B (zh) * 2013-12-13 2016-12-21 洪雪荣 一种屏幕显示信息的编码方法和编码系统
CN103957411A (zh) * 2014-04-08 2014-07-30 天津大学 基于cmos图像传感器的焦平面图像压缩装置
US9524536B2 (en) * 2014-07-25 2016-12-20 Intel Corporation Compression techniques for dynamically-generated graphics resources
US9832388B2 (en) 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation
CA3171803A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
GB2533109B (en) * 2014-12-09 2018-11-28 Gurulogic Microsystems Oy Encoder, decoder and method for data
KR102332782B1 (ko) * 2014-12-15 2021-11-30 삼성전자주식회사 시각 특성을 고려한 영상 데이터 압축
US9733721B2 (en) 2015-04-28 2017-08-15 Dell Products, L.P. Rendering graphics using framebuffer nodes with event handler mapping in a binary search tree
US9830457B2 (en) * 2015-05-05 2017-11-28 Dell Products, L.P. Unified extensible firmware interface (UEFI) credential-based access of hardware resources
US10659783B2 (en) 2015-06-09 2020-05-19 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
KR102426669B1 (ko) * 2015-08-03 2022-07-28 삼성전자주식회사 경로 렌더링을 수행하는 방법 및 장치.
CN106651971B (zh) * 2015-11-04 2020-06-05 上海兆芯集成电路有限公司 图形数据压缩装置与图形数据压缩方法
US9990691B2 (en) 2016-02-17 2018-06-05 Intel Corporation Ray compression for efficient processing of graphics data at computing devices
US10453169B2 (en) * 2016-03-28 2019-10-22 Intel Corporation Method and apparatus for multi format lossless compression
US10387991B2 (en) * 2016-07-01 2019-08-20 Intel Corporation Method and apparatus for frame buffer compression
US10652583B2 (en) * 2016-08-19 2020-05-12 Apple Inc. Compression of image assets
US10332278B2 (en) * 2016-10-28 2019-06-25 Intel Corporation Multi-format range detect YCoCg compression
US9742434B1 (en) * 2016-12-23 2017-08-22 Mediatek Inc. Data compression and de-compression method and data compressor and data de-compressor
CN109348226B (zh) * 2017-04-08 2022-11-11 腾讯科技(深圳)有限公司 一种图片文件处理方法及智能终端
US10609418B2 (en) 2017-04-18 2020-03-31 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
US10484685B2 (en) 2017-04-18 2019-11-19 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
US20180308450A1 (en) * 2017-04-21 2018-10-25 Intel Corporation Color mapping for better compression ratio
US10552326B2 (en) * 2017-05-23 2020-02-04 International Business Machines Corporation Reducing cache thrashing for counts in hot cache lines
CN110012292B (zh) * 2018-01-05 2022-02-08 澜至电子科技(成都)有限公司 用于压缩视频数据的方法和装置
US10819965B2 (en) * 2018-01-26 2020-10-27 Samsung Electronics Co., Ltd. Image processing device and method for operating image processing device
GB2575436B (en) * 2018-06-29 2022-03-09 Imagination Tech Ltd Guaranteed data compression
KR20220015556A (ko) 2020-07-31 2022-02-08 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
CN114693818A (zh) * 2022-04-14 2022-07-01 北京道达天际科技有限公司 适用于数字正射影像数据的压缩方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4364089A (en) * 1979-10-31 1982-12-14 Westinghouse Electric Corp. Binary correlation video tracker
US5191406A (en) * 1990-04-20 1993-03-02 Nikon Corporation Method and apparatus for rapid scanning of color images
US5416787A (en) * 1991-07-30 1995-05-16 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding convolutional codes
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
EP0901666A4 (en) * 1996-03-29 2001-08-29 Sarnoff Corp APPARATUS AND METHOD FOR OPTIMIZING ENCODING AND PERFORMING AUTOMATIC AND ORIENTABLE IMAGE COMPRESSION USING A PERCEPTION SCALE
US6002728A (en) * 1997-04-17 1999-12-14 Itt Manufacturing Enterprises Inc. Synchronization and tracking in a digital communication system
GB2339989B (en) 1998-05-19 2002-11-27 Lsi Logic Corp Method and apparatus for decoding video data
US7058218B1 (en) * 1998-09-28 2006-06-06 Silicon Graphics, Inc. Method of and apparatus for compressing and uncompressing image data
US6504954B1 (en) * 1999-02-05 2003-01-07 Raytheon Company Closed loop piecewise-linear histogram specification method and apparatus
US6377257B1 (en) * 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US6873323B1 (en) * 2000-08-02 2005-03-29 Ati International, Srl Video graphics system that includes custom memory and supports anti-aliasing and method therefor
US6842484B2 (en) * 2001-07-10 2005-01-11 Motorola, Inc. Method and apparatus for random forced intra-refresh in digital image and video coding
US7630563B2 (en) * 2001-07-19 2009-12-08 Qualcomm Incorporated System and method for decoding digital image and audio data in a lossless manner
US6771261B2 (en) * 2001-08-30 2004-08-03 Intel Corporation Error metric for mesh simplification processing
KR100446635B1 (ko) * 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US6825847B1 (en) * 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
US20040217956A1 (en) * 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US6748323B2 (en) * 2002-07-31 2004-06-08 Thales North America, Inc. Displaying data
US7764833B2 (en) * 2003-02-13 2010-07-27 Ati Technologies Ulc Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same
US7126615B2 (en) * 2004-11-12 2006-10-24 Via Technologies, Inc. Color compression using multiple planes in a multi-sample anti-aliasing scheme
US8031937B2 (en) * 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
US8824567B2 (en) * 2007-04-04 2014-09-02 Ittiam Systems (P) Ltd. Method and device for tracking error propagation and refreshing a video stream
US20100060629A1 (en) * 2008-09-09 2010-03-11 Jim Rasmusson Graphics-Processing Architecture Based on Approximate Rendering

Also Published As

Publication number Publication date
AR065940A1 (es) 2009-07-15
WO2008122536A3 (en) 2009-01-08
WO2008122536A2 (en) 2008-10-16
CN101653005B (zh) 2012-01-11
CN101653005A (zh) 2010-02-17
DE602008004331D1 (de) 2011-02-17
ATE494733T1 (de) 2011-01-15
EP2143280A2 (en) 2010-01-13
US8031937B2 (en) 2011-10-04
EP2143280B1 (en) 2011-01-05
US20080247641A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
ES2359036T3 (es) Método de compresión y descompresión de la memoria intermedia de almacenamiento temporal de cuadros para la interpretación de gráficos.
US8116579B2 (en) Method and system for data compression
JP5214742B2 (ja) 予測に基づく画像処理
US11855662B2 (en) Guaranteed data compression using alternative lossless and lossy compression techniques
US11309907B2 (en) Guaranteed data compression
US8285037B2 (en) Compression format and apparatus using the new compression format for temporarily storing image data in a frame memory
US20230327682A1 (en) Guaranteed data compression using reduced bit depth data
US20110026820A1 (en) Prediction-Based Image Processing
US20220286142A1 (en) Guaranteed data compression using intermediate compressed data
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
US11831342B2 (en) Guaranteed data compression
CN106254877B (zh) 视频处理系统、处理视频数据帧的方法、装置与存储介质
US20230232009A1 (en) Guaranteed Data Compression
WO2010036166A1 (en) Pixel block processing
US8184327B2 (en) Image data processing apparatus, image data processing method, and program
US8428375B2 (en) System and method for data compression and decompression in a graphics processing system
JP2011151572A (ja) 画像データ処理装置およびその動作方法
KR100964066B1 (ko) 픽셀값을 추출하는 방법 및 장치
JP2004165733A (ja) 画像変換装置及び画像変換方法並びに記録媒体
JP2009111821A (ja) 画像符号化装置、画像復号化装置、画像データ処理装置、画像符号化方法、及び、画像復号化方法
CN117714657A (zh) 图像数据转换方法、装置、电子设备和存储介质
JP2009065536A (ja) 復号化装置及び復号化方法
KR20150063897A (ko) 이미지를 디스플레이 하는 방법 및 그 장치