ES2967590T3 - Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados - Google Patents

Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados Download PDF

Info

Publication number
ES2967590T3
ES2967590T3 ES20180934T ES20180934T ES2967590T3 ES 2967590 T3 ES2967590 T3 ES 2967590T3 ES 20180934 T ES20180934 T ES 20180934T ES 20180934 T ES20180934 T ES 20180934T ES 2967590 T3 ES2967590 T3 ES 2967590T3
Authority
ES
Spain
Prior art keywords
pixels
graphics processor
processor
pixel
list
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
ES20180934T
Other languages
English (en)
Inventor
Alexandre Fine
Eric Filliatre
Nicolas Levasseur
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.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Application granted granted Critical
Publication of ES2967590T3 publication Critical patent/ES2967590T3/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/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D43/00Arrangements or adaptations of instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Este procesador gráfico (18) comprende: - un módulo de generación (22) configurado para generar al menos un conjunto de píxeles a visualizar; - un módulo de visualización (24) conectado al módulo de generación (22), estando configurado el módulo de visualización (24) para mostrar cada conjunto de píxeles en una pantalla (20); y- una unidad de seguimiento (26) integrada en el módulo de generación (22), estando configurada la unidad de seguimiento (26) para determinar una lista de información(es) de contexto gráfico para al menos un píxel y para entregar dicha lista a un dispositivo electrónico externo. dispositivo de supervisión (14), susceptible de ser conectado al procesador gráfico (18). (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados
[0001]La presente invención se refiere a un procesador gráfico que comprende un módulo de generación de al menos un conjunto de píxeles a visualizar y un módulo de visualización de cada conjunto de píxeles en una pantalla, estando el módulo de visualización conectado al módulo de generación.
[0002]La invención también se refiere a una plataforma que comprende un procesador gráfico y un procesador central, el procesador gráfico que está conectado al procesador central.
[0003]La invención también se refiere a un sistema aviónico destinado a ser embarcado a bordo de una aeronave, el sistema aviónico que comprende dicha plataforma y un dispositivo electrónico de supervisión de la plataforma, conectado a la plataforma.
[0004]La invención también se refiere a un procedimiento de visualización de píxeles en una pantalla, el procedimiento que está implementado por dicho procesador gráfico.
[0005]La invención se refiere al dominio de los sistemas de visualización de datos, preferentemente destinados a ser embarcados a bordo de una aeronave, especialmente en una cabina de aeronave.
[0006]La invención se refiere en particular al campo de los procesadores gráficos incluidos en estos sistemas de visualización, estos procesadores gráficos que también se denominan en general GPU (del inglésGraphic Processing Unit).Dichos procesadores gráficos se realizan habitualmente en forma de uno o varios circuitos integrados dedicados, tales como uno o varios ASIC (del inglésApplication Especific Integrated Circuit),o en forma de uno o varios componentes lógicos programables, tales como uno o varios FPGA (del inglésField-Programable Gate Array).
[0007]Cada procesador gráfico suele estar conectado a un procesador central para formar una plataforma, el procesador central también suele denominarse CPU (del inglésCentral Processing Unit)
[0008]Por tanto se conoce un procesador gráfico del tipo mencionado anteriormente para el cual la monitorización del funcionamiento correcto del procesador implementado es una monitorización genérica. Dicha monitorización genérica tiene como objetivo verificar que el procesador gráfico funciona correctamente, independientemente de los cálculos o tratamientos efectuados por el procesador gráfico. La monitorización genérica se basa, por ejemplo, en una lista predefinida de modos de avería.
[0009]Sin embargo, dicha monitorización no siempre es adecuada, en particular con la lista predefinida de modos de avería que generalmente no es exhaustiva.
[0010]Además, dicha monitorización genérica a veces es difícil de implementar, debido a la complejidad de dicho procesador gráfico. Esta complejidad es típica de los recursos utilizados para aumentar el rendimiento de un procesador gráfico.
[0011]El documento US 2016/0071231 A1 también describe un procesador gráfico del tipo mencionado anteriormente.
[0012]Los documentos US 10,169,840 B2 y US 2017/0177458 A1 se refieren a la monitorización de una GPU, realizada por un dispositivo externo a esta GPU.
[0013]Clásicamente, los recursos que permiten aumentar el rendimiento de un procesador central o CPU son el aumento de la frecuencia, con los impactos sobre el aumento del consumo eléctrico y de la producción de calor; el aumento de la complejidad de los tratamientos efectuados, con operaciones especializadas, lógicas de predicción de ejecución de código, lógicas de precarga de las memorias caché; el aumento del número de núcleos de cálculo en el caso de un procesador multinúcleo y la introducción de paralelismo a nivel de las instrucciones y de los datos. En general, un factor de complejidad de 2 en un procesador solo da lugar a un factor de ganancia de rendimiento de 1,4.
[0014]Otro recurso permite aumentar el rendimiento de un procesador gráfico, y esto contribuye a su complejidad. Este otro recurso es la introducción de paralelismo masivo de procesadores elementales (del inglésthread),con el paso de un enfoque multinúcleo para el procesador central a un enfoque basado en un número elevado de núcleos o procesadores elementales para el procesador gráfico, habitualmente más de 100 núcleos o procesadores elementales. A modo de ejemplo en cuanto a las ganancias de rendimiento teóricas, dos procesadores elementales aportan un factor de ganancia de rendimiento de 1,8, lo que es mejor que el factor de ganancia de rendimiento antes mencionado para el procesador central. También se observan ganancias en el consumo eléctrico.
[0015] En general, el diseño de un procesador gráfico basado en la paralelización de un gran número de procesadores elementales permite de forma simultánea un acceso a la memoria con una organización adecuada de los recursos de memoria, un aumento del ancho de banda sin impacto en las latencias de acceso y una mejora de la robustez.
[0016] Más allá de la complejidad de la arquitectura electrónica que implementa una paralelización masiva de los recursos de cálculo y memoria, un segundo factor de complejidad del procesador gráfico proviene de la dificultad en la programación de algoritmos paralelos, necesaria para aprovechar la arquitectura electrónica. Esta programación requiere, en particular, maximizar la descomposición de las tareas a realizar por el procesador gráfico para una ejecución paralela óptima; coordinar las tareas, evitar las expectativas; y también controlar los costes adicionales en materia de intercambios de datos y/o de cálculos adicionales.
[0017] Por lo tanto, la monitorización genérica de un procesador gráfico de este tipo a menudo es compleja y difícil de implementar.
[0018] El objetivo de la invención es proponer un procesador gráfico que ofrezca una mejor monitorización de su funcionamiento.
[0019] A tal efecto, la invención tiene por objeto un procesador gráfico según la reivindicación 1.
[0020] Por lo tanto, el procesador gráfico según la invención permite, mediante su unidad de monitorización integrada en el módulo de generación, determinar una lista de información(es) de contexto gráfico para al menos un píxel, y a continuación suministrar dicha lista a un dispositivo externo de supervisión. La lista de información(es) de contexto gráfico proporciona información adicional sobre el funcionamiento del procesador gráfico, en particular sobre la visualización de uno o varios píxeles del conjunto de píxeles que se van a mostrar.
[0021] Esta lista de información(es) de contexto gráfico permite entonces efectuar una monitorización real del funcionamiento del procesador gráfico, como complemento de la monitorización genérica del estado de la técnica.
[0022] Según otros aspectos ventajosos de la invención, el procesador gráfico es según una de las reivindicaciones 2 a 8.
[0023] La invención tiene igualmente como objeto una plataforma según la reivindicación 9.
[0024] La invención tiene asimismo por objeto un sistema aviónico según la reivindicación 10.
[0025] La invención tiene igualmente por objeto un procedimiento de visualización de píxel(es) en una pantalla, según la reivindicación 11.
[0026] Estas características y ventajas de la invención se entenderán más claramente a partir de la lectura de la descripción que se ofrece a continuación, proporcionada únicamente a modo de ejemplo no limitativo, y hecha con referencia a los dibujos adjuntos, en los que:
- la figura 1 es una representación esquemática de un sistema aviónico según la invención, destinado a ser embarcado a bordo de una aeronave y que comprende una plataforma aviónica y un dispositivo electrónico de supervisión de la plataforma, la plataforma que comprende un procesador central y un procesador gráfico conectado al procesador central;
- la figura 2 es una ilustración esquemática de objetos procesados sucesivamente por el procesador gráfico de la figura 1; y
- la figura 3 es un organigrama de un procedimiento de visualización según la invención, procedimiento que está implementado por el procesador gráfico de la figura 1.
[0027] En la figura 1, un sistema aviónico 10 comprende una plataforma aviónica 12 y un dispositivo electrónico 14 de supervisión de la plataforma 12, estando el dispositivo de supervisión 14 conectado a la plataforma 12. El sistema aviónico 10 está destinado a ser embarcado a bordo de una aeronave, no representada.
[0028] La plataforma aviónica 12 incluye un procesador central 16, también denominado CPU (del inglésCentral Processing Unit),y un procesador gráfico 18, también denominado GPU (del inglésGraphie Processing Unit),estando el procesador gráfico 18 conectado al procesador central 16.
[0029] Como complemento, la plataforma 12 incluye una pantalla de visualización 20, conectada, por ejemplo, al procesador gráfico 18.
[0030] El dispositivo de supervisión 14 es un dispositivo electrónico externo al procesador gráfico 18 y apto para conectarse a dicho procesador gráfico 18. En el ejemplo de la figura 1, el dispositivo de supervisión 14 está conectado al procesador gráfico 18.
[0031] El dispositivo de supervisión 14 está, de manera general, configurado para supervisar el buen funcionamiento de la plataforma 12, y en particular del procesador gráfico 18. El dispositivo de supervisión 14 también se denomina MON (del inglésMonitor).El dispositivo de supervisión 14 es, en particular, capaz de recibir, por parte del procesador gráfico 18, informaciones relativas al funcionamiento de dicho procesador gráfico 18.
[0032] Como complemento, el dispositivo de supervisión 14 también es apto para recibir información relativa al funcionamiento del procesador central 16. Como complemento opcional, el dispositivo de supervisión 14 también es apto para enviar instrucciones de control al procesador central 16 y/o al procesador gráfico 18.
[0033] El procesador central 16 es conocido de por sí. El procesador central 16 es un procesador de un solo núcleo o un procesador de varios núcleos.
[0034] El procesador gráfico 18 comprende un módulo 22 de generación de al menos un conjunto de píxeles a mostrar y un módulo 24 de visualización de cada conjunto de píxeles en la pantalla de visualización 20, estando el módulo de visualización 24 conectado al módulo de generación 22.
[0035] El procesador gráfico 18 comprende además una unidad de monitorización 26 integrada en el módulo de generación 22 y una memoria 28 de almacenamiento de datos.
[0036] El módulo de generación 22 está configurado para generar al menos un conjunto de píxeles para mostrar.
[0037] Como complemento opcional, el módulo de generación 22 está configurado para generar al menos una capa intermedia 30 de imágenes, visible en la figura 2, con un conjunto respectivo de píxeles en cada capa intermedia 30.
[0038] Según este complemento opcional, el procesador gráfico 18 comprende además un módulo 32 de composición de una imagen 34 a partir de la o las capas intermedias 30 generada(s) por el módulo de generación 22, siendo entonces el módulo de visualización 24 capaz de mostrar la imagen 34 compuesta por el módulo de composición 32.
[0039] El módulo de generación 22 incluye, por ejemplo, un motor geométrico 36 capaz de generar al menos un grupo de primitivas geométricas y un motor de renderizado 38 capaz de convertir cada grupo de primitivas geométricas en un conjunto respectivo de píxeles. Según este ejemplo, la unidad de monitorización 26 está preferiblemente integrada en el motor de renderizado 38. El motor geométrico 36 también se denomina GE (del inglésGeometry Engine),y el motor de renderizado 38 también se denomina RE (del inglésRáster Engine,oRendering Engine).
[0040] El módulo de generación 22, y como complemento opcional el módulo de composición 32, forman una cadena de creación gráfica de una imagen 34 respectiva, apta para ser mostrada en la pantalla 20 por el módulo de visualización 24. La cadena de creación gráfica también se denomina proceso gráfico, y la unidad de monitorización 26 según la invención está entonces integrada, o incluso intrínseca, a dicho proceso gráfico.
[0041] El módulo de visualización 24 está configurado para mostrar de forma general cada conjunto de píxeles en la pantalla 20, en particular para mostrar cada imagen 34 en la pantalla 20.
[0042] Como complemento opcional, el módulo de visualización 24 también está configurado para mezclar una imagen respectiva 34 con un vídeo, por ejemplo, almacenado en la memoria de almacenamiento 28, y a continuación para mostrar la mezcla 40 de la imagen y el vídeo en la pantalla de visualización 20.
[0043] La unidad de monitorización 26 está configurada para determinar una lista de información(es) de contexto gráfico para al menos un píxel, y para suministrar dicha lista de información(es) de contexto gráfico al dispositivo electrónico externo de supervisión 14.
[0044] Cada conjunto de píxeles tiene una pluralidad de píxeles que corresponden a un grupo de primitivas geométricas con puntos característicos, y la unidad de monitorización 26 está configurada para determinar una lista respectiva de información(es) de contexto gráfico para al menos uno de los píxeles correspondientes a dicho punto característico.
[0045] Preferentemente, la unidad de monitorización 26 está configurada para determinar una lista respectiva de información(es) de contexto gráfico solo para los píxeles correspondientes a dicho punto característico.
[0046] Cada primitiva geométrica se selecciona, por ejemplo, entre el grupo que comprende: un segmento, un arco de círculo, una curva de Bézier y un polígono.
[0047] Cada primitiva geométrica es preferiblemente un segmento, es decir, un segmento de recta, con dos extremos, o bien un polígono con vértices, y los extremos del segmento o los vértices del polígono forman entonces puntos característicos respectivos para los cuales la unidad de monitorización 26 es capaz de determinar una lista de información(es) de contexto gráfico.
[0048] Cuando el módulo de generación 22 comprende opcionalmente el motor geométrico 36 y el motor de renderizado 38, cada primitiva geométrica es generada por el motor geométrico 36 y a continuación convertida por el motor de renderizado 38 en los píxeles correspondientes.
[0049] Cada lista de información(es) de contexto gráfico comprende una o varias informaciones seleccionadas entre el grupo que consiste en: un identificador del píxel monitorizado; una información de visibilidad del píxel en la pantalla 20; una información de posición del píxel; una información de textura del píxel; y una información de color del píxel.
[0050] Cada lista de información(es) de contexto gráfico incluye preferentemente al menos la siguiente información: el identificador del píxel monitorizado y la información de posición del píxel, como las coordenadas del píxel en una marca asociada a la pantalla 20, también llamada marca de memoria de pantalla. El identificador del píxel monitorizado es un identificador que hace referencia a dicho píxel monitorizado entre todos los píxeles monitorizados, y a continuación permite al dispositivo de supervisión 14 realizar la supervisión de estos píxeles sobre la base de cada identificador respectivo.
[0051] La marca de memoria de pantalla es una marca utilizada a la salida del módulo de generación 22, por ejemplo, la marca utilizada después de aplicar el conjunto de las transformaciones gráficas por el motor geométrico 36, y posteriormente por el motor de renderizado 38.
[0052] Cada lista de información(es) de contexto gráfico comprende además preferiblemente uno o varios atributos gráficos del píxel, es decir, la información de textura del píxel, tal como un identificador de textura, la información de color del píxel, tal como un color del píxel, y la información de visibilidad del píxel, tal como una profundidad del píxel.
[0053] El identificador de textura permite identificar la textura asociada al píxel entre un grupo de posibles texturas.
[0054] El color del píxel se expresa, por ejemplo, como una codificación RVA o RGB (del inglésRed Green Blue).Como variante, el color se expresa en forma de una codificación sRGB.
[0055] La profundidad es un indicador que permite indicar a qué profundidad se encuentra el píxel en un apilamiento de capas intermedias 30 que forman una imagen 34 respectiva, y la visibilidad del píxel en la pantalla se deriva entonces de esta profundidad. En otras palabras, la profundidad (del inglésdepth)del píxel en el apilamiento de capas es una información de prioridad que permite saber si el píxel correspondiente se mostrará o no durante la composición de las capas intermedias 30 para obtener la imagen compuesta 34.
[0056] Como complemento opcional, al menos una lista de información(es) de contexto gráfico comprende además una información funcional que caracteriza una función asociada al píxel monitorizado. Cada función se selecciona, por ejemplo, entre el grupo que comprende: una línea de horizonte, una posición de aguja en una esfera, una graduación de escala, un cursor de escala, un segmento de carácter alfanumérico y un punto de malla de una escena. La escena es habitualmente una escena bidimensional o tridimensional, también llamada escena 2D o escena 3D.
[0057] La información funcional permite entonces al dispositivo de supervisión 14 saber que el píxel monitorizado pertenece a una línea de horizonte, o a una graduación que indica una posición de aguja en una esfera, o a una graduación de escala, o a un cursor de escala, o a un segmento de carácter alfanumérico, y más generalmente a un carácter alfanumérico, o también a la malla de una escena, tal como una escena 2D o 3D.
[0058] Es decir, cuando esta información funcional se incluye en la lista de información(es) de contexto gráfico para el píxel monitorizado, permite conocer al dispositivo de supervisión 14, además del identificador y la posición del píxel monitorizado, así como cualquier atributo gráfico, la función del píxel monitorizado en términos de la información que se muestra en la pantalla 20.
[0059] Con el fin de suministrar la lista de información(es) de contexto gráfico al dispositivo de supervisión 14, la unidad de monitorización 26 está configurada, por ejemplo, para guardar dicha lista en un búfer (del inglésbuffer),también accesible por el dispositivo de supervisión 14.
[0060]El experto en la materia comprenderá además que cada lista de información(es) de contexto gráfico está determinada por la unidad de monitorización 26 para un píxel a punto de mostrarse en la pantalla 20, esta determinación de la lista de información(es) de contexto gráfico se realiza justo antes de la visualización del conjunto correspondiente de píxeles en la pantalla 20, o bien justo antes de la composición de la imagen 34 a partir de la o las capas intermedias 30, cuando, como complemento opcional, el procesador gráfico 18 comprende además el módulo de composición 32.
[0061]En particular, cuando el módulo de generación 22 incluye el motor geométrico 36 y el motor de renderizado 38, la unidad de monitorización 26 está integrada preferiblemente en el motor de renderizado 38, y la determinación de cada lista de información(es) de contexto gráfico se realiza después de la conversión de cada grupo de primitivas geométricas en un conjunto respectivo de píxeles.
[0062]La memoria de almacenamiento 28 está conectada a cada uno de los módulos del procesador gráfico 18, en particular al módulo de generación 22 y al módulo de visualización 24, y como complemento opcional al módulo de composición 32.
[0063]El módulo de composición 32 está configurado para componer cada imagen 34 a partir de la o las capas intermedias 30 correspondientes, en particular posicionando dicha o dichas capas intermedias 30, por ejemplo, unas con respecto a otras, y superponiéndolas en su caso, como se describirá más adelante en relación con la figura 2.
[0064]El motor geométrico 36, o GE, está configurado para generar al menos un grupo de primitivas geométricas, es decir, para generar una porción de imagen vectorial.
[0065]El motor de renderizado 38 está configurado para convertir cada grupo de primitivas geométricas en un conjunto respectivo de píxeles, es decir, para convertir la porción de imagen vectorial correspondiente al grupo de primitivas geométricas en una porción de imagen matricial correspondiente a dicho conjunto de píxeles. Esta conversión realizada por el motor de renderizado 38 también se denomina rasterización o matricialización.
[0066]El funcionamiento del sistema aviónico 10 según la invención, y en particular del procesador gráfico 18, se explicará a partir de ahora con la ayuda de la figura 3 que representa un organigrama del procedimiento de visualización de píxeles en la pantalla 20, implementado por el procesador gráfico 18, así como con respecto a la figura 2 que ilustra los objetos sucesivamente tratados por el procesador gráfico 18.
[0067]Durante una etapa inicial 100, el procesador gráfico 18 genera, a través de su módulo de generación 22, al menos un conjunto de píxeles que se mostrarán en la pantalla 20.
[0068]En el ejemplo de las figuras 1 y 2, donde el módulo de generación 22 comprende el motor geométrico 36 y el motor de renderizado 38, la etapa de generación 100 comprende una subetapa 105 de generación de primitivas geométricas efectuada por el motor geométrico 36, también indicado GE, seguida de una subetapa 110 de conversión de la o las primitivas geométricas generadas en uno o varios conjuntos respectivos de píxeles, realizándose esta subetapa 110 de conversión por el motor de renderizado 38, también indicado como RE.
[0069]Además, antes de la etapa de generación 100 y como se representa por la flecha F1 en la figura 2, el módulo de generación 22 recibió, para cada píxel a monitorizar, el identificador de dicho píxel, por ejemplo, por parte del procesador central 16 o incluso por parte del dispositivo de supervisión 14.
[0070]Tras esta etapa de generación 100, el procesador gráfico 18 efectúa, por una parte, una etapa 120 de monitorización de cada conjunto de píxeles generados, efectuándose esta etapa de monitorización 120 por la unidad de monitorización 26 a partir de cada conjunto de píxeles generados, y por otra parte, una etapa 130 de composición de imágenes 34, efectuándose esta etapa de composición 130 por el módulo de composición 32.
[0071]La etapa de monitorización 120 implica entonces, para cada píxel monitorizado, la determinación de una lista respectiva de información(es) de contexto gráfico, y a continuación la provisión de dicha lista al dispositivo externo de supervisión 14, como se representa por la flecha F2 en la figura 2.
[0072]Como se ha descrito anteriormente, cada lista de información(es) de contexto gráfico incluye preferiblemente el identificador del píxel monitorizado y la información de posición de dicho píxel, como sus coordenadas tridimensionales (x, y, z) en la marca de memoria de pantalla.
[0073]Además, la lista de información(es) de contexto gráfico comprende uno o varios atributos gráficos, como el identificador de textura, el color o la profundidad del píxel monitorizado.
[0074]Además, la lista de información(es) de contexto gráfico incluye la información funcional para el píxel monitorizado, esta información funcional que permite, por ejemplo, indicar que el píxel monitorizado pertenece a una línea de horizonte, una posición de aguja en una esfera, una graduación de escala, un cursor de escala, un carácter alfanumérico o incluso una malla de escena.
[0075]Paralelamente al suministro de dicha lista de información(es) de contexto gráfico para cada píxel monitorizado en el dispositivo de supervisión 14, el procesador gráfico 18 compone, durante la etapa 130 y a través de su módulo de composición 32, cada imagen 34 a partir de las capas intermedias 30 generadas.
[0076]En el ejemplo de la figura 2, el módulo de composición 32 recibe, de parte del módulo de generación 22, un lote de capas intermedias 30 generadas, como se representa por la flecha F3, las capas intermedias 30 se indican C1 a C6 en este ejemplo, y a continuación el módulo de composición 32 compone la imagen 34 a partir de estas capas intermedias 30 y proporciona la imagen compuesta 34 al módulo de visualización 24, como se representa por la flecha F4 en la figura 2. Esta composición de imágenes 34 consiste habitualmente en un posicionamiento de las capas intermedias 30, dadas de C1 a C6, unas con respecto a otras, así como en una superposición de ciertas capas unas sobre otras.
[0077]La etapa de composición 130 va seguida opcionalmente por una etapa de mezcla 140 durante la cual el procesador gráfico 18 mezcla, a través de su módulo de visualización 24, que también desempeña el papel de módulo de mezcla, una imagen 34 compuesta por el módulo de composición 32 con un vídeo, o un flujo de vídeo, almacenado en la memoria de almacenamiento 28, con el fin de mostrar durante la etapa siguiente 150, la mezcla 40 de una imagen y de un vídeo, como se representa por la flecha F5 en la figura 2.
[0078]Naturalmente, en ausencia de la etapa de mezcla 140, el módulo de visualización 24 muestra entonces, durante la etapa de visualización 150, la o las imágenes compuestas 34 en la pantalla 20.
[0079]El experto en la materia comprenderá además que, en el ejemplo de la figura 2, las flechas F3 y F4 solo tienen por objeto ilustrar el tipo de datos procesados entre el módulo de generación 22 y el módulo de composición 32, por un lado, y a continuación entre el módulo de composición 32 y el módulo de visualización 24, por otro. Por lo tanto, las flechas F3 y F4 no representan datos que serían suministrados por el procesador gráfico 18 a un dispositivo externo al procesador gráfico 18.
[0080]El experto en la materia comprenderá asimismo que, en aras de la simplificación del dibujo, las capas intermedias 30 y la imagen compuesta 34 se representan en el exterior del procesador gráfico 18 en la figura 2, aunque, naturalmente, se tratan en el interior del procesador gráfico 18, ya que las capas intermedias 30 generadas por el módulo de generación 22 se almacenan, por ejemplo, en la memoria de almacenamiento 28 para ser utilizadas posteriormente por el módulo de composición 32 con el fin de componer cada imagen 34 respectiva.
[0081]En la figura 2, las flechas F2 y F5, respectivamente, representan datos procedentes del procesador gráfico 18. La flecha F2 corresponde a las respectivas listas de información(es) de contexto gráfico suministradas para los píxeles monitorizados, por la unidad de monitorización 26 al dispositivo de supervisión 14. La flecha F5 representa la mezcla 40 de imágenes y vídeo, o alternativamente la imagen, suministrada a la pantalla de visualización 20 a la salida del procesador gráfico 18, para que se muestre en la pantalla.
[0082]La unidad de monitorización 26 permite entonces efectuar una monitorización real del funcionamiento del procesador gráfico 18, la unidad de monitorización 26 que suministra, para cada píxel monitorizado, la lista respectiva de información(es) de contexto gráfico al dispositivo de supervisión 14, y esta lista de información(es) de contexto gráfico proporciona al dispositivo de supervisión 14 información relativa a cada píxel monitorizado justo antes de su visualización en la pantalla 20, o bien justo antes de la composición de imágenes 34.
[0083]Cada lista de información(es) de contexto gráfico se determina en particular después de que se hayan aplicado todas las transformaciones implementadas por el motor geométrico 36 y a continuación por el motor de renderizado 38. La monitorización de cada píxel, ofrecido por la unidad de monitorización 26, es entonces representativo de lo que se mostrará en la pantalla 20 para cada píxel monitorizado, y la supervisión se dice entonces que es real.
[0084]Además, la unidad de monitorización 26 está integrada directamente en el módulo de generación 22, lo que permite realizar esta monitorización de píxeles, a través de la determinación de la respectiva lista de información(es) de contexto gráfico para cada píxel monitorizado, justo después de la generación de dicho píxel. Por lo tanto, esta monitorización es menos compleja y más fácil de implementar que la monitorización genérica del procesador gráfico del estado de la técnica.
[0085]A partir del identificador de cada píxel monitorizado, recibido en la entrada del procesador gráfico 18, y en particular en la entrada del módulo de generación 22, la unidad de monitorización 26 elabora la lista de información(es) de contexto gráfico incluyendo, además de dicho identificador, al menos una información entre la información de posición del píxel, y uno o varios atributos gráficos, tales como la información de visibilidad, la información de textura y la información de color del píxel monitorizado. Como se indica anteriormente, la información incluida en la lista de información(es) de contexto gráfico, además del identificador del píxel monitorizado, es preferiblemente la posición de dicho píxel, y el o los atributos gráficos son entonces opcionales.
[0086]Se entiende así que el procesador gráfico 18 según la invención permite una mejor monitorización de su funcionamiento, y que el sistema aviónico 10 según la invención ofrece entonces un funcionamiento más seguro con el dispositivo de supervisión 14 que realiza una supervisión eficaz del funcionamiento del procesador gráfico 18, con la ayuda de la lista de información(es) de contexto gráfico suministrada por la unidad de monitorización 26 para cada píxel monitorizado.

Claims (11)

REIVINDICACIONES
1. Procesador gráfico (18), que comprende:
- un módulo de generación (22) configurado para generar al menos un conjunto de píxeles para mostrar;
- un módulo de visualización (24) conectado al módulo de generación (22), estando el módulo de visualización (24) configurado para mostrar cada conjunto de píxeles en una pantalla (20);
caracterizado porqueel procesador gráfico (18) comprende además:
- una unidad de monitorización (26) del buen funcionamiento del procesador gráfico (18) integrada en el módulo de generación (22), la unidad de monitorización (26) que está configurada para determinar una lista de información(es) de contexto gráfico para al menos un píxel y para suministrar dicha lista a un dispositivo electrónico externo de supervisión (14) que realiza una supervisión del funcionamiento del procesador gráfico (18), apto para conectarse al procesador gráfico (18).
2. Procesador gráfico (18) según la reivindicación 1, en el que cada conjunto de píxeles incluye una pluralidad de píxeles que corresponden a un grupo de primitivas geométricas con puntos característicos, y la unidad de monitorización (26) está configurada para determinar una lista de información(es) de contexto gráfico para al menos uno de los píxeles que corresponden a dichos puntos característicos.
3. Procesador gráfico (18) según la reivindicación 2, en el que la unidad de monitorización (26) está configurada para determinar una lista de información(es) de contexto gráfico solo para los píxeles que corresponden a dichos puntos característicos.
4. Procesador gráfico (18) según cualquiera de las reivindicaciones anteriores, en el que el módulo de generación (22) incluye un motor geométrico (36) capaz de generar al menos un grupo de primitivas geométricas y un motor de renderizado (38) capaz de convertir cada grupo de primitivas geométricas en un conjunto respectivo de píxeles, la unidad de monitorización (26) que preferiblemente está integrada en el motor de renderizado (38).
5. Procesador gráfico (18) según cualquiera de las reivindicaciones 2 a 4, en el que cada primitiva geométrica se selecciona entre el grupo que consiste en: un segmento, un arco de círculo, una curva de Bézier y un polígono;
cada primitiva geométrica que es preferentemente un segmento con dos extremos o un polígono con vértices, formando los extremos del segmento o los vértices del polígono puntos característicos respectivos.
6. Procesador gráfico (18) según cualquiera de las reivindicaciones anteriores, en el que cada lista de información(es) de contexto gráfico incluye una o varias informaciones seleccionadas entre el grupo que consiste en: un identificador del píxel monitorizado, una información de visibilidad en la pantalla del píxel; una información de posición del píxel; una información de textura del píxel; y una información de color del píxel.
7. Procesador gráfico (18) según cualquiera de las reivindicaciones anteriores, en el que al menos una lista de información(es) de contexto gráfico incluye además una información funcional que caracteriza una función asociada al píxel monitorizado;
cada función se selecciona preferentemente entre el grupo que comprende: una línea de horizonte, una posición de aguja en una esfera, una graduación de escala, un cursor de escala, un segmento de carácter alfanumérico y un punto de malla de una escena.
8. Procesador gráfico (18) según cualquiera de las reivindicaciones anteriores, en el que el módulo de generación (22) está configurado para generar al menos una capa intermedia (30) de imagen, cada capa intermedia (30) que comprende un conjunto respectivo de píxeles, y el procesador gráfico (18) comprende además un módulo de composición (32) configurado para componer una imagen (34) a partir de la o las capas intermedias (30) generadas por el módulo de generación (22), el módulo de visualización (24) que entonces es capaz de mostrar la imagen (34) compuesta por el módulo de composición (32).
9. Plataforma (12) que comprende un procesador gráfico (18) y un procesador central (16), con el procesador gráfico (18) que está conectado al procesador central (16),caracterizada porqueel procesador gráfico (18) es según cualquiera de las reivindicaciones anteriores.
10. Sistema aviónico (10) destinado a ser embarcado a bordo de una aeronave, el sistema aviónico (10) que comprende una plataforma aviónica (12) y un dispositivo electrónico (14) de supervisión de la plataforma (12), conectado a la plataforma (12),
caracterizado porquela plataforma (12) es según la reivindicación anterior.
11. Procedimiento de visualización de píxeles en una pantalla (20), el procedimiento que está implementado por un procesador gráfico (18) y que comprende:
- la generación (100) de al menos un conjunto de píxeles a mostrar;
- la visualización (150) de cada conjunto de píxeles en la pantalla (20);
caracterizado porquecomprende además:
- la monitorización (120) del buen funcionamiento del procesador gráfico (18) de cada conjunto de píxeles, con la determinación de una lista de información(es) de contexto gráfico para al menos un píxel y la provisión de dicha lista a un dispositivo electrónico externo de supervisión (14) que realiza una supervisión del funcionamiento del procesador gráfico (18), apto para conectarse al procesador gráfico (18).
ES20180934T 2019-09-16 2020-06-18 Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados Active ES2967590T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1906704A FR3100913B1 (fr) 2019-09-16 2019-09-16 Processeur graphique et procédé associé d'affichage d'un ensemble de pixel(s), plateforme et système avionique associés

Publications (1)

Publication Number Publication Date
ES2967590T3 true ES2967590T3 (es) 2024-05-03

Family

ID=68987760

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20180934T Active ES2967590T3 (es) 2019-09-16 2020-06-18 Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados

Country Status (5)

Country Link
US (1) US11205288B2 (es)
EP (1) EP3792866B1 (es)
CN (1) CN112115015A (es)
ES (1) ES2967590T3 (es)
FR (1) FR3100913B1 (es)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5480305A (en) * 1993-10-29 1996-01-02 Southwest Research Institute Weather simulation system
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
US7250953B2 (en) * 2004-05-14 2007-07-31 Nvidia Corporation Statistics instrumentation for low power programmable processor
US9703476B1 (en) * 2010-12-23 2017-07-11 The Boeing Company Multi-touch cockpit interface for controlling aircraft systems
US9299181B2 (en) * 2013-08-28 2016-03-29 Qualcomm Incorporated Target independent stenciling in graphics processing
GB2530025B (en) * 2014-09-05 2017-02-15 Ge Aviat Systems Ltd Methods of Integrity Checking Digitally Displayed Data And Display System
EP3242266B1 (en) * 2015-11-30 2021-06-23 Channel One Holdings Inc. Methods and systems for monitoring the subset of gpu components used by an application in safety critical environments
CA2951819A1 (en) * 2015-12-18 2017-06-18 Stephen Viggers Methods and systems for monitoring the integrity of a gpu
US10387992B2 (en) * 2017-04-07 2019-08-20 Intel Corporation Apparatus and method for dynamic provisioning, quality of service, and prioritization in a graphics processor

Also Published As

Publication number Publication date
EP3792866A1 (fr) 2021-03-17
FR3100913B1 (fr) 2022-02-11
EP3792866B1 (fr) 2023-10-11
CN112115015A (zh) 2020-12-22
FR3100913A1 (fr) 2021-03-19
US20210082166A1 (en) 2021-03-18
US11205288B2 (en) 2021-12-21

Similar Documents

Publication Publication Date Title
US8115783B2 (en) Methods of and apparatus for processing computer graphics
TWI592902B (zh) 來自片段著色器程式之樣本遮罩的控制
US9177413B2 (en) Unique primitive identifier generation
US10957082B2 (en) Method of and apparatus for processing graphics
US8624894B2 (en) Apparatus and method of early pixel discarding in graphic processing unit
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
US7663621B1 (en) Cylindrical wrapping using shader hardware
US9224227B2 (en) Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader
US9230363B2 (en) System, method, and computer program product for using compression with programmable sample locations
US9245363B2 (en) System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model
US9230362B2 (en) System, method, and computer program product for using compression with programmable sample locations
US9269179B2 (en) System, method, and computer program product for generating primitive specific attributes
US20170323469A1 (en) Stereo multi-projection implemented using a graphics processing pipeline
CN111754381A (zh) 图形渲染方法、装置和计算机可读存储介质
TW201706962A (zh) 圖形處理
US9721381B2 (en) System, method, and computer program product for discarding pixel samples
US20140267260A1 (en) System, method, and computer program product for executing processes involving at least one primitive in a graphics processor, utilizing a data structure
CN114758051A (zh) 一种图像渲染方法及其相关设备
US10192348B2 (en) Method and apparatus for processing texture
US8525843B2 (en) Graphic system comprising a fragment graphic module and relative rendering method
US20150084952A1 (en) System, method, and computer program product for rendering a screen-aligned rectangle primitive
KR20170025099A (ko) 렌더링 방법 및 장치
ES2967590T3 (es) Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados
JP2008282171A (ja) グラフィックスプロセッサおよび描画処理方法