ES2376944T3 - Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional - Google Patents

Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional Download PDF

Info

Publication number
ES2376944T3
ES2376944T3 ES08830539T ES08830539T ES2376944T3 ES 2376944 T3 ES2376944 T3 ES 2376944T3 ES 08830539 T ES08830539 T ES 08830539T ES 08830539 T ES08830539 T ES 08830539T ES 2376944 T3 ES2376944 T3 ES 2376944T3
Authority
ES
Spain
Prior art keywords
graphic
graphic content
application
display area
represented
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
ES08830539T
Other languages
English (en)
Inventor
Yoav M. Tzruya
Itay Nave
Zvi Levgoren
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.)
Exent Tech Ltd
Original Assignee
Exent Tech Ltd
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 Exent Tech Ltd filed Critical Exent Tech Ltd
Application granted granted Critical
Publication of ES2376944T3 publication Critical patent/ES2376944T3/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
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un método para modificar dinámicamente contenido gráfico asociado con una aplicación de programa en ejecución (302), que comprende: interceptar (504) una o más primeras llamadas de función emitidas por la aplicación de programa (302), estando configuradas la una o más primeras llamadas de función emitidas (502) por la aplicación de programa para producir el contenido gráfico asociado con la aplicación de programa a representarse en la totalidad de un área de visualización; en respuesta a la intercepción de las una o más primeras llamadas de función emitidas por la aplicación de programa, emitir (506) una o más segundas llamadas de función configuradas para producir el contenido gráfico asociado con la aplicación de programa para representarse en una primera parte del área de visualización que es menor que el área de visualización; y representar (508) el contenido gráfico adicional en una segunda parte del área de visualización que no está abarcada por la primera parte del área de visualización.

Description

Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional 5
Antecedentes de la invención
Campo de la invención
La invención se refiere, generalmente, a aplicaciones de programas, tales como aplicaciones de videojuegos, que están configuradas para representar contenido gráfico en una pantalla.
Antecedentes
15 La publicidad dentro del juego se refiere al uso de juegos de ordenador y videojuegos como un medio en el que ofrecer publicidad. Se ha informado que el gasto en publicidad dentro del juego en 2005 fue de 56 millones de dólares, y que esta cifra se estima que crecerá a 1.800 millones de dólares en 2010. La publicidad dentro del juego es vista por algunos en la industria de los juegos como ofrecer una nueva prometedora fuente de ingresos, que puede proporcionar a los editores una manera de compensar los costes de desarrollo de juegos cada vez mayores. Estos ingresos extra también pueden permitir a los desarrolladores reducir el riesgo involucrado en un proyecto de desarrollo de juego, permitiéndoles innovar en capacidad de juego y experimentar con nuevas ideas.
Un enfoque respecto a la publicidad dentro del juego es incorporar contenido publicitario directamente dentro del contenido gráfico representado por un juego, de tal manera que los anuncios parezcan ser una parte integrada del
25 juego. Por ejemplo, un anuncio puede estar colocado dentro del contexto de una escena bidimensional (2D) o tridimensional (3D) representada por un juego. Los ejemplos de tales anuncios en el juego pueden comprender una valla publicitaria virtual o una versión de un producto comercial virtual representado dentro el entorno del juego. Estos anuncios en el juego pueden ser de naturaleza tanto estática como dinámica. Los anuncios estáticos se codifican directamente en la aplicación del juego por los programadores durante el desarrollo, y no pueden ser cambiados después. Por el contrario, los anuncios dinámicos pueden alterarse remotamente durante el tiempo de ejecución por una agencia de publicidad u otra entidad. La publicidad dentro del juego se puede lograr mediante la integración del código del juego con un kit de desarrollo de programas (SDK) de publicidad dentro del juego durante el desarrollo del juego, o utilizando enfoques como se describe en la Patente de Estados Unidos, de cesión común, en trámite junto con la presente Nº 11/290.830.
35 Otro enfoque de la publicidad dentro del juego es dedicar una parte del área de visualización en la que la escena del juego se está representando para el contenido publicitario, de tal manera que el contenido publicitario aparece separado e independientemente del contenido gráfico del juego. Un ejemplo de este enfoque puede verse en la FIG. 1, que representa un área de visualización 100 que se ha dividido en una parte de visualización de juego 102 y una parte de visualización de publicidad 104. La parte de visualización de juego 102 se usa para visualizar una escena asociada con el juego, mientras la parte de visualización de publicidad 104 se usa para visualizar contenido publicitario, que en el ejemplo de la FIG. 1 incluye una pluralidad de anuncios 110, 112, 114, 116 y 118. El área de visualización 100 puede ocupar toda la pantalla de un dispositivo de visualización o sólo una parte del mismo.
45 Un beneficio del último enfoque es que típicamente es más fácil de vender, servir, crear, representar y rastrear la visualización de los anuncios que aparecen en la parte de visualización de publicidad 104, ya que no necesitan ser incluidos como una parte integrante de una escena representada por el juego. Por ejemplo, no necesitan ser incluidos como objetos dentro de una escena 3D representada por el juego. Otro beneficio del último enfoque es que facilita la representación de anuncios de un tamaño estándar. Por ejemplo, los anuncios representados dentro de la parte de visualización de publicidad 104 pueden cumplir con las directrices publicadas por una asociación comercial tal como el Interactive Advertising Bureau (IAB). El uso de tales anuncios de tamaño estándar facilita a los diseñadores desarrollar anuncios para editoriales distintas. El uso de tales anuncios de tamaño estándar también hace posible desarrollar una fijación del precio coherente basada en el tamaño para la venta de tal espacio publicitario a los vendedores, utilizar una fuerza de ventas existente para vender tal espacio publicitario y utilizar
55 sistemas servidores de anuncios web convencionales para servir anuncios en la parte de visualización de publicidad
104.
Un procedimiento para la asignación y representación de gráficos, tanto en la parte de visualización de juego 102 como en la parte de visualización de publicidad 104 del área de visualización 100, es programar tal funcionalidad en el juego durante el desarrollo. Sin embargo, este procedimiento aumenta el tiempo de desarrollo y los costes, y también asocia el juego a un formato particular y tipo de publicidad dentro del juego. Otro procedimiento es diseñar el juego para que represente gráficos en una sola parte de un área de visualización, para que pueda ejecutarse en paralelo con otra aplicación que sirva anuncios a la parte del área de visualización sin usar. Sin embargo, un juego podría bien diseñarse de manera que nunca pudiera ejecutarse en un modo en que use el área de visualización 65 completa, o debería estar programado desde el principio para incluir soporte para dos modos de operación -uno en que representa gráficos a una sola parte del área de visualización y otro en el que representa gráficos en área de
visualización completa.
Cada uno de los métodos anteriores requiere que el desarrollador de juegos anticipe que el juego se ejecutará en un área de visualización compartida junto con la publicidad dentro del juego antes de su lanzamiento y programe el
5 juego en consecuencia para adaptarse a esta característica. Si la característica no se programa en el juego antes de su lanzamiento, entonces añadir esta funcionalidad requeriría modificar y recompilar el código fuente después del lanzamiento. Sin embargo, esto puede no ser posible ni viable comercialmente en todos los casos. Por ejemplo, la parte que desea modificar el código fuente para adaptar este tipo particular de publicidad dentro del juego puede no tener acceso al código fuente. Como otro ejemplo, varias copias del juego ya pueden haber sido adquiridas e instaladas por varios usuarios finales.
Lo que se necesita, entonces, es un sistema, procedimiento y un producto de programa informático que permita a una aplicación informática, tal como una aplicación de videojuego, representar contenidos gráficos relacionados con la aplicación de una parte de un área de visualización y un contenido publicitario de una segunda parte de la misma
15 área de visualización, incluso aunque la aplicación no fuera programada originalmente para soportar tal funcionalidad. Implementar el sistema, procedimiento y producto de programa informático deseados no debería requerir la modificación y recompilación del código de aplicación original o requerir cualquier otro cambio en los archivos binarios o de datos asociados con la aplicación original. Esto permite que se obtengan los resultados deseados sin la intervención del desarrollador, y en juegos que ya han sido suministrados y distribuidos a las máquinas de los usuarios finales.
El documento US 2007/0143603 describe una facilidad de marca de agua dinámica en la que un código envolvente intercepta una llamada de representación de documento desde una aplicación de llamada a un motor de representación. El código envolvente recupera una definición de marca de agua desde un servidor y aplica la marca
25 de agua al representar el documento.
Breve sumario de la invención
La invención proporciona un procedimiento para modificar dinámicamente un contenido gráfico de acuerdo con la reivindicación 1, y un sistema de acuerdo con la reivindicación 17.
Las realizaciones de la invención proporcionan un medio por el que una aplicación de programa, tal como una aplicación de videojuegos, puede ser mejorada para representar contenido gráfico relacionado con la aplicación a una parte de un área de visualización y un contenido gráfico adicional, tal como un contenido publicitario, a una
35 segunda parte de la misma área de visualización, incluso aunque la aplicación no fuera programada originalmente para soportar dicha funcionalidad. En una realización de la presente invención, la implementación de esta mejora no requiere la modificación ni recompilación del código original de la aplicación.
En particular, se proporciona un método para la modificación dinámica del contenido gráfico asociado con una aplicación de ejecución de programa. De acuerdo con el procedimiento, se interceptan una o más llamadas de función emitidas por la aplicación de programa. La una o más llamadas de función emitidas por la aplicación del programa se configuran para producir contenido gráfico asociado con la aplicación de programa, tal como una escena asociada con la aplicación del videojuego, para representarse en un área de visualización. Como respuesta a la intercepción de las una o más llamadas de función desde la aplicación de programa, se emiten una o más
45 llamadas de función que se configuran para producir el contenido gráfico asociado con la aplicación de programa para representarse en una primera parte del área de visualización. La primera pare del área de visualización es menor que el área de visualización. El contenido gráfico adicional, tal como el contenido publicitario, se representa en una segunda parte del área de visualización. La segunda parte del área de visualización puede estar tanto solapada como no solapada con respecto a la primera parte del área de visualización.
Se proporciona también un producto de programa informático. El producto de programa informático comprende un medio legible por ordenador que tiene la lógica del programa informático grabada en sí mismo para permitir a una unidad de procesamiento que modifique dinámicamente el contenido gráfico representado por la ejecución de una aplicación de programa. La lógica del programa informático incluye un primer medio, un segundo medio y un tercer 55 medio. El primer medio permite a la unidad de procesamiento interceptar una o más llamadas de función emitidas por la aplicación de programa. La una o más llamadas de función emitidas por la aplicación de programa están configuradas para producir contenido gráfico asociado con la aplicación de programa, tal como una escena asociada con una aplicación de videojuegos, para representarse en un área de visualización. El segundo medio permite a la unidad de procesamiento emitir una o más llamadas de función en respuesta a la intercepción de las una o más llamadas de función de la aplicación de programa. Las una o más llamadas de función emitidas por el segundo medio se configuran para producir el contenido gráfico asociado con el programa de aplicación para representarse en una primera parte del área de visualización. La primera parte del área de visualización es menor que el área de visualización. El tercer medio permite a la unidad de procesamiento representar contenido gráfico adicional, tal como contenido publicitario, en una segunda parte del área de visualización. La segunda parte del área de visualización
65 puede estar tanto solapada como no solapada con respecto a la primera parte del área de visualización.
Se proporciona adicionalmente un sistema. El sistema incluye un sistema informático y un servidor conectado en comunicación con el sistema informático. El sistema informático se configura para redimensionar dinámicamente una escena asociada con una aplicación en ejecución de modo que la escena ocupa solo una primera parte de un área de visualización de un dispositivo de visualización. El servidor está configurado para servir contenido gráfico, tal
5 como contenido publicitario, al sistema informático. El sistema informático está configurado adicionalmente para representar el contenido gráfico en una segunda parte del área de visualización del dispositivo de visualización. La segunda parte del área de visualización puede estar tanto solapada como no solapada con respecto a la primera parte del área de visualización.
Características y ventajas adicionales de la invención, así como la estructura y funcionamiento de diversas realizaciones de la invención, se describen en detalle a continuación con referencia a los dibujos adjuntos. Cabe destacar que la invención no está limitada a las realizaciones específicas descritas en el presente documento. Tales realizaciones se presentan en el presente documento con fines únicamente ilustrativos. Serán evidentes realizaciones adicionales para los expertos en la materia basándose en las enseñanzas contenidas en el presente
15 documento.
Breve descripción de los dibujos
Los dibujos adjuntos, que se incorporan en el presente documento y forman parte de la memoria descriptiva, ilustran la presente invención y, junto con la descripción, sirven adicionalmente para explicar los principios de la invención y permitir a un experto en la materia realizar y usar la invención.
La FIG. 1 representa un área de visualización que se ha dividido en una parte de visualización del juego para la visualización de escenas representadas por una aplicación de videojuegos y una parte de visualización de publicidad
25 para visualización de contenido publicitario.
La FIG. 2 representa componentes de programa de un sistema informático de acuerdo con una realización de la presente invención.
La FIG. 3 ilustra una arquitectura de programa convencional para un ordenador personal (PC) que incluye funciones gráficas para representación y visualización de contenido gráfico.
La FIG. 4 ilustra una arquitectura de programa de un PC que incluye versiones emuladas de funciones gráficas para representación y visualización de contenido gráfico.
35 La FIG. 5 representa un diagrama de flujo de un procedimiento para la modificación dinámica de contenido gráfico representado por un programa de aplicación en ejecución de acuerdo con una realización de la presente invención.
La FIG. 6 y FIG. 7 representan diagramas de flujo que corresponden a un primer procedimiento específico para la realización del procedimiento general del diagrama de flujo representado en la FIG. 5.
La FIG. 8 representa un área de visualización de ejemplo en la que el contenido gráfico está presentado de acuerdo con una realización de la presente invención.
45 La FIG. 9 y FIG. 10 representan diagramas de flujo que corresponden a otro procedimiento específico para la realización del procedimiento general del diagrama de flujo representado en la FIG. 5.
La FIG. 11 representa un diagrama de flujo que corresponde a otro procedimiento específico para la realización del procedimiento general del diagrama de flujo representado en la FIG. 5.
La FIG. 12 representa un diagrama de flujo que corresponde a otro procedimiento específico más para la realización del procedimiento general del diagrama de flujo representado en la FIG. 5.
La FIG. 13 representa componentes de programa de un sistema configurado para redimensionar dinámicamente
55 contenido gráfico representado por una aplicación de programa y para reposicionar dinámicamente una imagen de puntero asociada con el contenido gráfico relacionado con la aplicación.
La FIG. 14 representa un diagrama de flujo de un procedimiento para reposicionar una imagen de puntero dentro de un área de visualización teniendo en cuenta el redimensionado del contenido gráfico relacionado con la aplicación de acuerdo con una realización de la presente invención.
La FIG. 15 representa un sistema informático ejemplar que puede usarse para implementar una realización de la presente invención.
65 Las características y ventajas de la presente invención se harán más evidentes a partir de la descripción detallada a continuación cuando se toma en conjunto con los dibujos, en los que los caracteres de referencia identifican los elementos correspondientes a lo largo de todo el texto. En los dibujos, los números de referencia indican generalmente elementos idénticos, funcionalmente y/o estructuralmente similares. Los dibujos en los que un elemento aparece por primera vez se indica por el digito (o dígitos) de la izquierda en el número de referencia correspondiente.
Descripción detallada de la invención
A. Componentes de Programa de Ejemplo de un Sistema de Acuerdo con una Realización de la Presente Invención
La FIG. 2 representa componentes de programa de un sistema informático 200 de acuerdo con una realización de la presente invención. Como se muestra en la FIG. 2, el sistema 200 incluye una aplicación 202, un componente de redimensionado/representación de contenido gráfico 204 y unas funciones gráficas 206. Debe entenderse que cada uno de estos componentes de programa se almacena dentro de la memoria o son accesibles por el sistema informático 200 y están configurados para ejecutarse por los componentes de hardware de un sistema informático
15 200. Se describen ejemplos de componentes de hardware de un sistema informático 200 en detalle a continuación en referencia a la FIG. 13.
La aplicación 202 es una aplicación de programa, tal como una aplicación de videojuego, que se ejecuta por un sistema informático 200. Las funciones gráficas 206 son funciones de programa de un sistema informático 200 que son accesibles a la aplicación 202 en tiempo de ejecución y que asisten a la aplicación 202 en información gráfica relacionada con la representación de la aplicación en una pantalla dentro del sistema informático 200. Las funciones gráficas 206 pueden comprender, por ejemplo, una o más funciones de una interfaz de programación de aplicaciones (API) tal como Microsoft® DirectX® u OpenGL®. El componente de redimensionado/representación de contenido gráfico 204 es un componente de programa que se instala en un sistema informático 200 antes de la
25 ejecución de la aplicación 202. El componente de redimensionado/representación de contenido gráfico 204 puede ser instalado en un sistema informático 200 junto con la aplicación 202 o independientemente de ella.
La aplicación 202 está programada de tal manera que, durante la ejecución, emite llamadas de función a las funciones gráficas 206. La interacción de la aplicación 202 con las funciones gráficas 206 es bien conocida en la técnica. Sin embargo, de acuerdo con una realización de la presente invención, ciertas llamadas de función emitidas por la aplicación 202 se interceptan por el componente de redimensionado/representación de contenido gráfico 204. En respuesta a la interceptación de estas llamadas de función, el componente de redimensionado/representación de contenido gráfico 204 emite versiones modificadas de las llamadas de función interceptadas y/o nuevas llamadas de función a las funciones gráficas 206.
35 Como se verá en más detalle en el presente documento, el componente de redimensionado/representación de contenido gráfico 204 está configurado para interceptar una o más llamadas de función que se emiten por la aplicación 202 para producir que el contenido gráfico relacionado con la aplicación sea representado en un área de visualización de un dispositivo de visualización. El componente de redimensionado/representación de contenido gráfico 204 está configurado adicionalmente para emitir versiones modificadas de las llamadas de función interceptadas y/o nuevas llamadas de función para producir que el contenido gráfico empiece a representarse en el área de visualización para redimensionarse de tal manera que el contenido gráfico se representa a solo una primera parte del área de visualización, en la que la primera parte del área de visualización es ----menor que el área de visualización. Además, el componente de redimensionado/representación de contenido gráfico 204 está configurado
45 para emitir nuevas llamadas de función que producen contenido gráfico adicional, tal como uno o más anuncios, para representarse en una o más partes adicionales del área de visualización. Cada una de la parte (o partes) adicionales del área de visualización puede tanto solaparse como no solaparse con respecto a la primera parte del área de visualización.
En una implementación de la presente invención, con el fin de facilitar la intercepción de llamadas de función, el componente de redimensionado/representación de contenido gráfico 204 comprende una o más versiones emuladas de ciertas funciones gráficas 206. Un ejemplo particular de la emulación de funciones gráficas 206 se describirá a continuación con referencia a las FIGS. 3 y 4.
55 La FIG. 3 ilustra una arquitectura de programa convencional 300 para un ordenador personal (PC). Como se muestra en la FIG. 3, la arquitectura de programa 300 incluye una aplicación 302 en ejecución en el PC. El PC puede ser, por ejemplo, un PC basado en Microsoft® Windows®, y la aplicación puede ser, por ejemplo, una aplicación de Microsoft® Windows® de 32 bit.
Durante la ejecución, la aplicación 302 emite llamadas de función a una API gráfica 304 de una manera bien conocida. La API gráfica 304 comprende una serie de librerías que son accesibles a la aplicación 302 en la memoria del PC y que incluyen funciones que pueden ser llamadas por la aplicación 302 para representación y visualización de información gráfica. La API gráfica 304 puede ser, por ejemplo, una API de Microsoft® Direct3D® o una API de OpenGL®. En respuesta a la recepción de las llamadas de función de la aplicación 302, la API gráfica 304 determina 65 si dichas funciones pueden ejecutarse por el hardware gráfico 308 en el PC. Si es así, la API gráfica 304 emite
comandos a la interfaz de controlador de dispositivo (DDI) 306 para el hardware gráfico 308. La DDI 306 después procesa los comandos para manejarlos por el hardware gráfico 308.
A diferencia de la arquitectura de programa convencional ilustrada en la FIG. 3, la FIG. 4 ilustra una arquitectura de
5 programa 400 que incluye unas librerías gráficas emuladas de acuerdo con una realización de la presente invención. Como se muestra en la FIG. 4, el componente de redimensionado/representación de contenido gráfico 204 se ha “insertado” entre la aplicación 302 y la API gráfica 304. Esto puede conseguirse por la emulación de una o más librerías gráficas dentro de la API gráfica 304. En consecuencia, ciertas llamadas de función emitidas por la aplicación 302 se reciben por el componente de redimensionado/representación de contenido gráfico 204 en lugar de la API gráfica 304. El componente de redimensionado/representación de contenido gráfico 204 después emite versiones modificadas de las llamadas de función interceptadas y/o nuevas llamadas de función a la API gráfica 304, donde se manejan de una manera convencional.
Dependiendo del sistema operativo, la emulación de una API gráfica original puede conseguirse de varias maneras.
15 Un procedimiento para la emulación de una API gráfica original es el remplazo de archivo. Por ejemplo, desde que tanto las API de DirectX® como OpenGL® se cargan dinámicamente desde un archivo, la emulación puede conseguirse por un simple remplazo del archivo correspondiente (por ejemplo, OpenGL.dll para OpenGL® y d3dX.dll para DirectX®, donde X es la versión de DirectX®). De manera alternativa, la DLL puede remplazarse con una DLL auxiliar que tiene una interfaz similar que implementa una llamada de paso a través de la DLL original para todas las funciones menos las funciones a interceptar.
Un procedimiento alternativo para la interceptación de llamadas de función de la API gráfica es el uso de la librería de conexión Detours publicada por Microsoft® Corporation of Redmond, Washington. La conexión puede implementarse también a nivel de kernel. La conexión a nivel de kernel puede incluir el uso de un sistema operativo 25 (SO) listo para conexión que genere una notificación cuando se llama a una API particular. Otra técnica es remplazar las rutinas de SO existentes mediante cambio de un puntero en una tabla de API de SO por un puntero de una rutina de conexión y, opcionalmente, encadenando la llamada a la rutina de SO original antes y/o después de la ejecución de la lógica del conexión. Otro procedimiento posible es una técnica de conexión basada en API que inyecta una DLL en cualquier proceso que se está cargando mediante el establecimiento de la conexión de sistema global o mediante el establecimiento de una clave de registro para cargar dicha DLL. Dicha inyección se realiza solamente para ejecutar la función de conexión en el espacio de dirección. Mientras que el SO carga dicha DLL, un código de iniciación de DLL cambia una DLL deseada en la tabla de expedición. Cambiar la tabla produce un puntero a la implementación de la API original para apuntar a la intercepción de la implementación de la DLL de una API deseada, por lo tanto enlazando la API. Obsérvese que las técnicas de conexión descritas anteriormente se
35 presentan a modo de ejemplo y no pretenden limitar la presente invención. Otros procedimientos y herramientas para la interceptación de llamadas de función a API gráficas son conocidos por los expertos en la materia.
B. Métodos de Ejemplo para la Modificación Dinámica de Contenido Gráfico Representado por una Aplicación de Programa en Ejecución de Acuerdo con las Realizaciones de la Presente Invención.
La FIG. 5 representa un diagrama de flujo 500 de un procedimiento para la modificación dinámica de contenido gráfico representado por una aplicación de programa en ejecución de acuerdo con una realización de la presente invención. El procedimiento del diagrama de flujo 500 se describe en el presente documento a modo de ejemplo únicamente y no pretende limitar la presente invención. Además, aunque las etapas del diagrama de flujo 500 se
45 describirán en el presente documento con referencia a los componentes de programa del sistema 200 de la FIG. 2, los expertos en la materia apreciarán fácilmente que el procedimiento no tiene que ser implementado necesariamente usando dichos componentes.
El procedimiento del diagrama de flujo 500 comienza en la etapa 502, en que la aplicación 202 emite una o más llamadas de función que se configuran para producir el contenido gráfico asociado con la aplicación para representarse en un área de visualización de un dispositivo de visualización. Dependiendo de la implementación, el área de visualización puede definirse de tal manera que ocupa la pantalla completa de un dispositivo de visualización o solamente una parte del mismo. De acuerdo con una implementación, la aplicación 202 comprende una aplicación de videojuego y el contenido gráfico asociado con la aplicación 202 comprende una escena 2D o 3D
55 asociada con el juego.
En la etapa 504, el componente de redimensionado/representación de contenido gráfico 204, intercepta la llamada o llamadas de función emitidas por la aplicación 202. En la Sección A se han descrito anteriormente diversos procedimientos por los que el componente de redimensionado/representación de contenido gráfico 204 puede interceptar dicha llamada o llamadas de función, tales como diversos tipos de emulación de API y conexión y, por lo tanto, no se repetirán aquí en aras de la brevedad.
En la etapa 506, en respuesta a la interceptación de la llamada o llamadas de función emitidas por la aplicación 202, el componente de redimensionado/representación de contenido gráfico 204 emite una o más versiones modificadas 65 de la llamada o llamadas de función y/o una o más llamadas de función nuevas para producir el contenido gráfico asociado con la aplicación de programa a representar en una primera parte del área de visualización. La primera
parte del área de visualización es ----menor que el área de visualización.
En la etapa 508, el componente de redimensionado/representación de contenido gráfico 204 representa contenido gráfico adicional en una o más partes adicionales del área de visualización. Cada una de las parte o partes 5 adicionales del área de visualización pueden estar tanto solapadas como no solapadas con respecto a la primera parte del área de visualización. En una implementación, el contenido gráfico adicional comprende uno o más anuncios. El contenido gráfico adicional puede almacenarse localmente con respecto al sistema 200 o puede hacerse disponible por una entidad remota a través de una red, tal como Internet. Por ejemplo, una entidad remota tal como un servidor de anuncios puede hacer que un contenido publicitario basado en gráficos esté disponible para el componente de redimensionado/representación de contenido gráfico 204 a través de una conexión a Internet. Sin embargo, estos ejemplos no pretenden limitar la presente invención ni cualquier tipo de contenido gráfico de cualquier fuente que pueda representarse en la una o más partes adicionales del área de visualización en la etapa
508.
15 Se describirán ahora con referencia a las FIGS. 6 a 12, procedimientos específicos para la implementación del procedimiento general del diagrama de flujo 500 de la FIG. 5 en un sistema informático que usa librerías gráficas de Microsoft® Direct3D®. Estos procedimientos específicos se presentan en el presente documento a modo de ejemplo únicamente y no pretenden limitar la presente invención.
Las FIGS. 6 y 7 ilustran diagramas de flujo 600 y 700, respectivamente, de un primer procedimiento específico para la realización del procedimiento general del diagrama de flujo 500. El diagrama de flujo 600 describe etapas que ocurren cuando la aplicación 202 emite una llamada Direct3D® SetViewport para especificar el tamaño y localización de una ventana gráfica rectangular en la que una escena asociada con la aplicación 202 se va a representar. La emisión de la llamada SetViewport se muestra en la etapa 602.
25 En la etapa 604, el componente de redimensionado/representación de contenido gráfico 204 enlaza la llamada de SetViewport. En la etapa 606, el componente de redimensionado/representación de contenido gráfico 204 modifica la llamada SetViewport para cambiar el tamaño y localización de la ventana gráfica rectangular en la que la escena se va a representar. El tamaño y localización pueden cambiarse de tal manera que la ventana gráfica rectangular cubre sólo una parte de la ventana gráfica definida por la llamada SetViewport original. En la etapa 608, el componente de redimensionado/representación de contenido gráfico 204 emite la llamada SetViewport modificada a las funciones gráficas 206, en donde se manejan de una manera convencional.
Posteriormente a la realización de las etapas del diagrama de flujo 600 de la FIG. 6, la aplicación 200 realiza las
35 etapas necesarias para representar una escena en la ventana gráfica definida por la llamada SetViewport modificada. Estas etapas incluyen la emisión de una primera llamada Direct3D® BeginScene, después la emisión de un número de llamadas de función Direct3D® para producir que la escena se represente (tales como SetTexture, DrawPrimitive u otras diversas llamadas de función Direct3D®) y finalmente la emisión de una llamada Direct3D® EndScene. Después de esto, la aplicación 202 emite una llamada Direct3D® Present para producir que la escena se presente de una memoria intermedia a un dispositivo de visualización.
El diagrama de flujo 700 describe las etapas que ocurren cuando la aplicación 202 emite la llamada Present. La emisión de la llamada Present por la aplicación 202 se muestra en la etapa 702. En la etapa 704, el componente de redimensionado/representación de contenido gráfico 204 enlaza con la llamada Present. En la etapa 706 hasta la
45 etapa 712, en respuesta a la conexión de la llamada Present, el componente de redimensionado/representación de contenido gráfico 204 realiza las etapas para representar contenido gráfico adicional en una nueva ventana gráfica. En particular, en la etapa 706, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada BeginScene. En la etapa 706, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada SetViewport para definir una nueva ventana gráfica en la que se representará el contenido gráfico adicional. Esta ventana gráfica nueva puede estar tanto solapada como no solapada con respecto a la ventana gráfica definida en la etapa 608 de la FIG. 6. En la etapa 710, el componente de redimensionado/representación de contenido gráfico 204 dibuja el contenido gráfico adicional en la ventana gráfica definida en la etapa 708. En la etapa 712, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada EndScene.
55 En la etapa de decisión 714, se determina si se necesita un área adicional para representar más contenido gráfico adicional. Si es así, entonces las etapas 706 hasta 712 se repiten para crear otra ventana gráfica y representar más contenido gráfico adicional en la nueva ventana gráfica. Sin embargo, si no se necesita un área adicional, entonces el componente de redimensionado/representación de contenido gráfico 204 llama a la función Present para producir la escena modificada, que ahora incluye al menos una ventana gráfica adicional que incluye contenido gráfico adicional, para presentarlo en el área de visualización.
La FIG. 8 representa un ejemplo de área de visualización 800 en la que el contenido gráfico se ha presentado de acuerdo con el procedimiento de los diagramas de flujo 600 y 700. Como se muestra en la FIG. 8, una escena relacionada con la aplicación se representa en una ventana gráfica rectangular 802 dentro de un área de 65 visualización 800 en lugar de la totalidad del área de visualización 800. Esto se debe a la modificación de una
llamada SetViewport original emitida por la aplicación 202, como se describió anteriormente en referencia al diagrama de flujo 600 de la FIG. 6. Como también se muestra en la FIG. 8, el contenido gráfico adicional se ha representado en dos ventanas gráficas adicionales que se localizan dentro del área de visualización 800. En particular, los elementos gráficos adicionales 810 y 812 se han representado en una primera ventana gráfica
5 adicional 804 y los elementos gráficos 814, 816 y 818 se han representado en una segunda ventana gráfica adicional 806. La creación de estas ventanas gráficas adicionales y el dibujo del contenido gráfico de los mismos ocurre en respuesta a la conexión de una llamada Present emitida por la aplicación 202 como se describió anteriormente en referencia al diagrama de flujo 700 de la FIG. 7. La escena relacionada con la aplicación representada en la ventana gráfica 802 puede comprender una escena asociada con una aplicación de videojuego y los elementos gráficos adicionales representados en las ventanas gráficas 804 y 806 pueden comprender anuncios, aunque la invención no se limita a esto.
Los expertos en la materia apreciarán que los procedimientos anteriores de los diagramas de flujo 600 y 700 se pueden modificar para ajustarse a una manera en la que la aplicación 202 se programa. Por ejemplo, la aplicación
15 202 no puede programarse para emitir una llamada SetViewport (como se describió anteriormente en referencia a la etapa 602 del diagrama de flujo 600) sino que puede usar una ventana gráfica por defecto que ocupe la totalidad del área de visualización. En este caso, en lugar de la conexión de una llamada SetViewport emitida por la aplicación 202, el componente de redimensionado/representación de contenido gráfico 204 puede, por ejemplo, enlazar una llamada Direct3D® CreateDevice y después, en respuesta a la conexión de la llamada CreateDevice, emitir una llamada de función SetViewport que define una parte rectangular del área de visualización en la que se va a representar una escena asociada con la aplicación 202.
En otra implementación alternativa de los diagramas de flujo 600 y 700, el componente de redimensionado/representación de contenido gráfico 204 no define una ventana gráfica nueva para la representación
25 de contenido gráfico adicional durante la etapa 708, sino que define la ventana gráfica nueva en respuesta a la conexión de la llamada de función SetViewport original en la etapa 604. En una otra implementación alternativa adicional, el componente de redimensionado/representación de contenido gráfico 204 define la nueva ventana gráfica en respuesta a la conexión de una llamada de función CreateDevice por la aplicación 202.
Las FIGS. 9 y 10 ilustran diagramas de flujo 900 y 1000, respectivamente, de otro procedimiento específico para realizar el procedimiento general del diagrama de flujo 500. El diagrama de flujo 900 describe las etapas que ocurren cuando la aplicación 202 emite una llamada de inicialización Direct3D®, tal como una llamada Direct3DCreate. La emisión de la llamada de inicialización se muestra en la etapa 902.
35 En la etapa 904, el componente de redimensionado/representación de contenido gráfico 204 enlaza la llamada de inicialización. En la etapa 906, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada Direct3D® SetRenderTarget para producir que el contenido gráfico asociado con la aplicación se represente en una memoria intermedia identificada por el componente de redimensionado/representación de contenido gráfico 204 en lugar de en una localización identificada por la aplicación 202 o a una localización por defecto.
Posteriormente a la realización de las etapas del diagrama de flujo 900 de la FIG. 9, la aplicación 202 realiza las etapas necesarias para representar una escena en la memoria intermedia identificada por la llamada SetRenderTarget (sin ser consciente de que está representando a la memoria intermedia identificada por la llamada SetRenderTarget). Estas etapas incluyen la primera emisión de una llamada Direct3D® BeginScene, después la
45 emisión de un número de llamadas de función Direct3D® para producir que la escena se represente (tal como SetTexture, DrawPrimitive, u otras diversas llamadas de función Direct3D®), y finalmente la emisión de una llamada Direct3D® EndScene. Después de esto, la aplicación 202 emite una llamada Direct3D® Present para producir que la escena se presente desde una memoria intermedia a un área de visualización.
El diagrama de flujo 1000 describe las etapas que ocurren cuando la aplicación 202 emite la llamada Present. La emisión de la llamada Present por la aplicación 202 se muestra en la etapa 1002. En la etapa 1004, el componente de redimensionado/representación de contenido gráfico 204 enlaza la llamada Present. En la etapa 1006, en respuesta a la conexión de la llamada Present, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada BeginScene. En la etapa 1008, el componente de redimensionado/representación de
55 contenido gráfico 204 define un sprite rectangular que puede tener menores dimensiones que las dimensiones del área de visualización rectangular. En la etapa 1010, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada Direct3D® DrawSprite para producir que un sprite que tiene las dimensiones definidas en la etapa 1008 se dibuje en una localización específica en el área de visualización usando la textura identificada por la llamada SetRenderTarget emitida en la etapa 906 del diagrama de flujo 900 de la FIG. 9.
En las etapas 1012 a 1016, el componente de redimensionado/representación de contenido gráfico 204 realiza las etapas para representar contenido gráfico adicional en una nueva ventana gráfica dentro del área de visualización. En particular, en la etapa 1012, el componente de redimensionado/representación de contenido gráfico 204 emite una llamada SetViewport para definir una ventana gráfica dentro del área de visualización en la que se representa el 65 contenido gráfico adicional. Esta venta gráfica nueva puede estar tanto solapada como no solapada con respecto al
sprite dibujado en el área de visualización en la etapa 1008. En la etapa 1014, el componente de redimensionado/representación de contenido gráfico 204 dibuja el contenido gráfico adicional en la ventana gráfica definida en la etapa 1012. En la etapa de decisión 1016, se determina si se necesita un área adicional dentro del área de visualización para representar más contenido gráfico adicional. Si es así, entonces las etapas 1012 hasta
5 1014 se repiten para crear otra ventana gráfica dentro del área de visualización y para representar más contenido gráfico adicional en la nueva ventana gráfica.
Sin embargo, si no se necesita un área adicional, entonces el componente de redimensionado/representación de contenido gráfico 204 emite una llamada EndScene en la etapa 1018. En la etapa 1020, el componente de redimensionado/representación de contenido gráfico 204 llama a la función Present para producir la escena modificada, que ahora incluye el sprite dibujado en la etapa 1008 y al menos una ventana gráfica que incluye el contenido gráfico adicional, para presentarse en el área de visualización.
La FIG. 11 ilustra un diagrama de flujo 1100 de un procedimiento específico adicional para la realización del
15 procedimiento general del diagrama de flujo 500. El diagrama de flujo 1100 describe las etapas que ocurren cuando la aplicación 202 emite una llamada Direct3D® Present. La emisión de la llamada Present se ve en la etapa 1102. A la hora de la emisión de la llamada Present, una escena representada asociada con la aplicación 202 está lista para presentarse en el área de visualización.
En la etapa 1104, el componente de redimensionado/representación de contenido gráfico 204 enlaza la llamada Present. En la etapa 1106, en respuesta a la conexión de la llamada Present, el componente de redimensionado/representación de contenido gráfico 204 obtiene una memoria intermedia de fondo asociada con la aplicación 202 y la redimensiona estrechándola en otro destino de representación que tiene el tamaño deseado. El nuevo destino de representación se usa después como la memoria intermedia de fondo para la aplicación 202 y el
25 componente de redimensionado/representación de contenido gráfico 304 representa el contenido adicional y/o la publicidad.
En la etapa 1106, el componente de redimensionado/representación de contenido gráfico 204 dibuja el contenido gráfico adicional en el nuevo destino/memoria intermedia de fondo. Finalmente, en la etapa 1108, el componente de redimensionado/representación de contenido gráfico 204 llama a Present para dibujar la memoria intermedia de fondo en el área de visualización.
La FIG. 12 ilustra un diagrama de flujo 1200 de un procedimiento específico adicional para realizar el procedimiento general del diagrama de flujo 500. El diagrama de flujo 1200 describe las etapas que ocurren cuando la aplicación
35 202 emite una llamada Direct3D® CreateDevice. La aplicación 202 emite la llamada CreateDevice para crear un nuevo dispositivo gráfico y para especificar una ventana en la que el nuevo dispositivo gráfico debería representar sus gráficos. La emisión de la llamada CreateDevice se muestra en la etapa 1202.
En la etapa 1204, el componente de redimensionado/representación de contenido gráfico 204 enlaza la llamada CreateDevice. En la etapa 1206, en respuesta a la conexión de la llamada CreateDevice, el componente de redimensionado/representación de contenido gráfico 204 crea una ventana alternativa de un tamaño modificado que se configura para ser una hija de la ventana especificada para la aplicación 202. Como resultado, la aplicación 202 se ejecuta en un modo de ventana en lugar de en un modo de pantalla completa. En la etapa 1208, el componente de redimensionado/representación de contenido gráfico 204 usa la ventana recién creada como el destino de
45 representación para el dispositivo DirectX real. En la etapa 1210, el componente de redimensionado/representación de contenido gráfico 204 crea una o más ventanas adicionales dentro de las partes restantes del área de visualización con el fin de representar contenido gráfico adicional. Estas ventanas adicionales pueden usarse por ejemplo con el fin de representar contenido publicitario.
C. Reposicionamiento Dinámico de una Imagen de Puntero de Acuerdo con una Realización de la Presente Invención
Como se ha descrito anteriormente, una realización de la presente invención redimensiona dinámicamente un contenido gráfico representado por una aplicación de programa, tal como una aplicación de videojuego, para facilitar
55 la representación de contenido gráfico adicional, tal como anuncios, en una parte de un área de visualización que podría en otro caso estar ocupada por el contenido gráfico relacionado con la aplicación. Cuando dicha técnica se aplica a una aplicación de programa que permite a un usuario interactuar con objetos dentro del área de visualización usando un dispositivo apuntador (por ejemplo, un ratón, teclado o cualquier otro dispositivo de E/S capaz de controlar un puntero), se debe tener un cuidado especial para asegurar que la imagen del puntero se visualiza en la posición apropiada y que la aplicación recibe las coordenadas de fondo de los elementos E/S en una posición que permite el control regular de la aplicación por el usuario. En particular, se debe tener un cuidado especial para asegurar que la imagen de puntero se visualice en una posición apropiada dentro de la escena redimensionada de la aplicación en comparación con la posición a la que la imagen de puntero se hubiera visualizado normalmente antes de redimensionar.
65 Para aplicaciones que representan la imagen de puntero junto con todos los otros objetos representados dentro de una escena, la posición de la imagen de puntero se ajusta automáticamente cuando una escena que se representa por la aplicación se redimensiona de acuerdo con uno de los procedimientos anteriores. Sin embargo, cuando la visualización de la imagen de puntero se gestiona por una entidad externa a la aplicación, tal como por un sistema operativo, se debe usar un procedimiento independiente para reposicionar la imagen de puntero para ajustarse al
5 redimensionado de la escena de la aplicación. Dicho método se describirá a continuación.
La FIG. 13 representa los componentes de programa de un sistema 1300 configurados para redimensionar dinámicamente contenido gráfico representado por una aplicación de programa y para reposicionar dinámicamente una imagen de puntero asociada con el contenido gráfico relacionado con la aplicación. Como se muestra en la FIG. 13, el sistema 1300 incluye una aplicación 1302, un componente de redimensionado/representación de contenido gráfico 1304, y unas funciones gráficas 1306. Estos elementos funcionan sustancialmente de la misma manera como la aplicación 202, el componente de redimensionado/representación de contenido gráfico 204 y las funciones gráficas 206, respectivamente, para redimensionar dinámicamente contenido gráfico asociado con la aplicación 1302.
15 Como también se muestra en la FIG. 13, el sistema 1300 también incluye un componente de captura de evento de puntero 1308. Como se describirá en mayor detalle más adelante, el componente de captura de evento de puntero 1308 está configurado para operar en conjunto con el componente de redimensionado/representación de contenido gráfico 1304 para reposicionar una imagen de puntero dentro de un área de visualización para tener en cuenta el redimensionado del contenido gráfico relacionado con la aplicación. La manera en la que esos componentes operan para reposicionar la imagen de puntero se describirá a continuación en referencia al diagrama de flujo 1400 de la FIG. 14.
El método del diagrama de flujo 1400 comienza en la etapa 1402, en la que ocurre un evento de puntero. El evento
25 de puntero puede comprender, por ejemplo, una llamada de función emitida por un sistema operativo en el sistema 1300. La llamada de función puede emitirse en respuesta a la recepción de una entrada de un dispositivo apuntador conectado o en el sistema 1300.
En la etapa 1404, el componente de captura de evento de puntero 1308 captura un evento de puntero. Con este fin, el componente de captura de evento de puntero 1308 puede incluir una conexión de puntero de bajo nivel. Cuando el sistema operativo es un sistema operativo Microsoft® Windows®, la conexión de puntero se puede establecer usando una función tal como SetWindowsHookEx. Sin embargo, este enfoque se describe a modo de ejemplo únicamente, y no pretende ser limitante. Pueden usarse muchas otras técnicas bien conocidas por los expertos en la materia para capturar el evento de puntero.
35 En respuesta a la captura del evento de puntero, el componente de captura de evento de puntero realiza varias funciones. En particular, en la etapa 1406, el componente de captura de evento de puntero 1308 graba la posición actual de la imagen de puntero como se determina por el sistema operativo. En la etapa de decisión 1408, el componente de captura de evento de puntero 1308 determina si la imagen de puntero mantenida por el sistema operativo es nueva o ha cambiado como un resultado del evento de puntero. Si la imagen de puntero no es nueva y no ha cambiado como un resultado del evento de puntero, entonces el procesamiento continúa con la etapa 1412. Sin embargo, si la imagen de puntero es nueva o ha cambiado como un resultado del evento de puntero, entonces el componente de captura de evento de puntero 1308 convierte la imagen de puntero en un mapa de bits o textura y la graba como se muestra en la en la etapa 1410. Esto puede conseguirse en un entorno Microsoft® Windows®, por
45 ejemplo, mediante la captura de un cursor de ratón usando un identificador HCURSOR y obteniendo un mapa de bits asociado del contexto del dispositivo (CD) del sistema. El procesamiento continúa después con la etapa 1412, durante la cual el componente de captura de evento de puntero 1308 desactiva la visualización normal de la imagen de puntero por el sistema operativo.
En la etapa 1414, el componente de redimensionado/representación de contenido gráfico 1304 usa la posición actual de la imagen de puntero que se grabó por el componente de captura de evento de puntero 1308 para calcular una nueva posición para la imagen de puntero dentro de la escena redimensionada relacionada con la aplicación. En la etapa 1416, el componente de redimensionado/representación de contenido gráfico 1304 después dibuja la representación del mapa de bits o textura de la imagen de puntero grabada por el componente de captura de evento
55 de puntero 1308 en la nueva posición dentro de la escena redimensionada relacionada con la aplicación. Las etapas 1414 y 1416 pueden realizarse por el componente de redimensionado/representación de contenido gráfico 1304 en respuesta a la intercepción de una llamada Present de la aplicación 1302.
En una realización de la presente invención, el componente de captura de evento de puntero 1308 se configura para realizar las etapas 1406 hasta 1412 como se describe anteriormente únicamente cuando se determina que el evento de puntero capturado es un evento de movimiento de puntero.
El resultado del procedimiento anterior es que la visualización de una imagen de puntero asociada con la aplicación 1302 se limita con el área redimensionada definida por el componente de redimensionado/representación de
65 contenido gráfico 1304 para visualizar una escena relacionada con la aplicación.
Una realización alternativa de la presente invención incluye la funcionalidad anterior pero en otro modo de operación también soporta interacción basada en puntero con el contenido gráfico adicional representado por el componente de redimensionado/representado de contenido gráfico 1304. Dicho contenido gráfico adicional puede comprender, por ejemplo, un anuncio interactivo o “pulsable”.
5 De acuerdo con esta realización adicional, en respuesta a un usuario que proporciona alguna entrada predeterminada (tal como pulsando una combinación de teclas particular), el componente de redimensionado/representación de contenido gráfico 1304 entra en un modo “interactivo” en el que la posición original de la imagen de puntero no se traduce a la nueva posición en la manera que se describe anteriormente. Además, la imagen de puntero presentada para el usuario puede cambiarse opcionalmente de lo que debería presentarse normalmente al usuario en respuesta a la entrada predeterminada que el usuario proporciona. Esta imagen de puntero nueva puede usarse para indicar al usuario que el/ella ha entrado en un modo diferente de interacción. Mientras que en el modo interactivo anteriormente mencionado, cuando el componente de captura de evento de puntero 1308 captura un evento de movimiento de puntero, el componente de
15 redimensionado/representación de contenido gráfico 1304 muestra la imagen de puntero en su posición original, sin conversión a una nueva localización de imagen de puntero. Además, cuando el componente de captura de evento de puntero 1308 captura un evento de pulsación de puntero, el componente de redimensionado/representación de contenido gráfico 1304 notifica un componente adicional y, basándose en esta notificación, el componente adicional realiza una o más funciones adicionales. Por ejemplo, en una realización en la que el componente adicional es un navegador de Internet, las una o más funciones adicionales pueden incluir presentar una página Web en una ventana nueva que pertenece al producto anunciado o servicio.
D. Sistema Informático de Ejemplo
25 La FIG. 15 representa un sistema informático ejemplar 1500 que puede usarse para implementar el sistema informático 200 de la FIG. 2 o el sistema informático 1300 de la FIG. 13. El sistema informático 1500 puede comprender un dispositivo informático de propósito general, tal como un ordenador personal convencional, un ordenador de entretenimiento interactivo o un dispositivo electrónico, tal como una consola de videojuegos, un teléfono móvil, un asistente personal digital o cualquier otro dispositivo que sea capaz de ejecutar aplicaciones de programa y presentar la información gráfica generada relacionada con la aplicación al usuario final. El sistema informático 1500 está configurado para realizar las funciones del sistema 200 de la FIG. 2 o el sistema informático 1300 de la FIG. 13 como se describe en otras partes del presente documento.
Como se muestra en la FIG. 15, el sistema informático de ejemplo 1500 incluye un procesador 1504 para ejecutar
35 rutinas de programa. Aunque se muestra un solo procesador en aras de la claridad, el sistema informático 1500 puede comprender también un sistema multiprocesador. El procesador 1504 está conectado a una infraestructura de comunicaciones 1502 para la comunicación con otros componentes del sistema informático 1500. La infraestructura de comunicación 1502 puede comprender, por ejemplo, un bus de comunicaciones, memoria cruzada o una red.
El sistema informático 1500 incluye además una memoria principal 1506, tal como una memoria de acceso aleatorio (RAM), y una memoria secundaria 1512. La memoria secundaria 1512 puede incluir, por ejemplo, una unidad de disco duro 1522 y/o una unidad de almacenamiento extraíble 1524, que puede comprender una unidad de disquete, una unidad de cinta magnética, una unidad de disco óptico o similares. El mecanismo de almacenamiento extraíble 1524 lee y/o escribe a una unidad de almacenamiento extraíble 1550 de una manera bien conocida. La unidad de
45 almacenamiento extraíble 1550 puede comprender un disquete, una cinta magnética, un disco óptico o similares., que se lee y escribe por la unidad de almacenamiento extraíble 1524. Como se apreciará por los expertos en la materia, la unidad de almacenamiento extraíble 1550 incluye un medio de almacenamiento usable por el ordenador que tiene almacenado en él programas informáticos y/o datos.
En una implementación alternativa, la memoria secundaria 1512 puede comprender otro medio similar para permitir a los programas informático u otras instrucciones cargarse en el sistema informático 1500. Dichos medios pueden incluir, por ejemplo, una unidad de almacenamiento extraíble 1560 y un interfaz 1526. Los ejemplos de una unidad de almacenamiento extraíble 1560 e interfaz 1526 incluyen un cartucho de programa y una interfaz de cartucho (tales como los que se encuentran en los dispositivos de consolas de videojuegos), un chip de memoria extraíble (tal
55 como una EPROM o PROM) y un zócalo asociado y otras unidades de almacenamiento 1560 e interfaces 1526 que permiten que el programa y los datos se transfieran desde la unidad de almacenamiento extraíble 1560 al sistema informático 1500.
El sistema informático 1500 también incluye al menos una interfaz de comunicación 1514. La interfaz de comunicación 1514 permite que el programa y los datos se transfieran entre el sistema informático 1500 y los dispositivos externos mediante una ruta de comunicación 1570. En particular, la interfaz de comunicación 1514 permite que se transfieran los datos entre el sistema informático 1500 y la red de comunicación de datos, tal como una red de comunicación de datos pública o privada. Los ejemplos de interfaces de comunicaciones 1514 pueden incluir un módem, una interfaz de red (tal como una tarjeta Ethernet), un puerto de comunicaciones y similares. Los 65 programas y datos se transfieren mediante la interfaz de comunicación 1514 estando en forma de señales que pueden ser electrónicas, electromagnéticas, ópticas u otras señales capaces de ser recibidas por la interfaz de
comunicación 1514. Estas señales se proporcionan a la interfaz de comunicación mediante una ruta de comunicación 1570.
Como se muestra en la FIG. 15, el sistema informático 1500 incluye además un interfaz de visualización 1508 que 5 realiza operaciones para representar imágenes en una pantalla asociada 1530 y una interfaz de audio 1510 para realizar operaciones de reproducción de contenido de audio mediante el altavoz (o altavoces) asociados 1540.
Como se usa en el presente documento, la expresión “producto de programa informático” puede referirse, en parte, a una unidad de almacenamiento extraíble 1550, unidad de almacenamiento extraíble 1560, un disco duro instalado
10 en la unidad de disco duro 1522 o una onda portadora que lleva el programa a través de una ruta de comunicación 1570 (enlace inalámbrico o de cable) hasta una interfaz de comunicaciones 1514. Un medio informático usable puede incluir medio magnético, medio óptico u otro medio de grabación, o medio que transmite una onda portadora u otra señal. Estos productos de programa informático son medios para proporcionar programas al sistema informático 1500.
15 Los programas de ordenador (también llamados lógica de control del ordenador) se almacenan en la memoria principal 1506 y/o en la memoria secundaria 1512. Los programas de ordenador también se pueden recibir mediante la interfaz de comunicación 1514. Tales programas de ordenador, cuando se ejecutan, activan el sistema informático 1500 para realizar una o más características de la presente invención como se analiza en el presente documento.
20 En particular, los programas informáticos, cuando se ejecutan, activan el procesador 1504 para realizar características de la presente invención. En consecuencia, dichos programas de ordenador representan controladores del sistema informático 1500.
El programa para implementar la presente invención puede almacenarse en un producto de programa informático y
25 cargarse en el sistema informático 1500 usando una unidad de almacenamiento extraíble 1524, unidad de disco duro 1522 o interfaz 1526. Como alternativa, el producto de programa informático puede descargarse al sistema informático 1500 a través de una ruta de comunicación 1570. El programa cuando se ejecuta por el procesador 1504, provoca que el procesador 1504 realice funciones de la presente invención como se describe en el presente documento.

Claims (18)

  1. REIVINDICACIONES
    1. Un método para modificar dinámicamente contenido gráfico asociado con una aplicación de programa en ejecución (302), que comprende:
    5 interceptar (504) una o más primeras llamadas de función emitidas por la aplicación de programa (302), estando configuradas la una o más primeras llamadas de función emitidas (502) por la aplicación de programa para producir el contenido gráfico asociado con la aplicación de programa a representarse en la totalidad de un área de visualización; en respuesta a la intercepción de las una o más primeras llamadas de función emitidas por la aplicación de programa, emitir (506) una o más segundas llamadas de función configuradas para producir el contenido gráfico asociado con la aplicación de programa para representarse en una primera parte del área de visualización que es menor que el área de visualización; y representar (508) el contenido gráfico adicional en una segunda parte del área de visualización que no está
    15 abarcada por la primera parte del área de visualización.
  2. 2.
    El método de la reivindicación 1, en el que la segunda parte del área de visualización está tanto solapada como no solapada con respecto a la primera parte del área de visualización.
  3. 3.
    El método de la reivindicación 1, en el que el contenido gráfico asociado con la aplicación de programa comprende una escena asociada con una aplicación de videojuego.
  4. 4.
    El método de la reivindicación 1, en el que la representación (508) del contenido gráfico adicional en la segunda
    parte del área de visualización comprende representar uno o más anuncios en la segunda parte del área de 25 visualización.
  5. 5. El método de la reivindicación 1, en el que la interceptación (504) de las una o más primeras llamadas de función comprende interceptar una primera llamada de función configurada para definir una primera ventana gráfica que tiene un tamaño y localización que corresponde al tamaño y localización del área de visualización; y en el que la emisión (506) de una o más segundas llamadas de función comprende emitir una segunda llamada de función configurada para definir la primera ventana gráfica que tiene un tamaño y localización que corresponde al tamaño y localización de la primera parte del área de visualización.
  6. 6. El método de la reivindicación 5, en el que la representación del contenido gráfico adicional en la segunda parte 35 del área de visualización comprende:
    interceptar una tercera llamada de función configurada para presentar una escena en una pantalla, en la que la escena incluye contenido gráfico representado en la primera ventana gráfica; emitir una cuarta llamada de función configurada para definir una segunda ventana gráfica que tiene un tamaño y localización que corresponde con el tamaño y localización de la segunda parte del área de visualización; representar el contenido gráfico adicional en la segunda ventana gráfica; y emitir una quinta llamada de función configurada para presentar una escena en una pantalla, en la que la escena incluye el contenido gráfico representado en la primera ventana gráfica y el contenido gráfico adicional representado en la segunda ventana gráfica.
  7. 7.
    El procedimiento de la reivindicación 1, en el que interceptar una o más primeras llamadas de función comprende interceptar una primera llamada de función configurada para crear un dispositivo gráfico; y en la que emitir la una o más segundas llamadas de función comprende emitir una segunda llamada de función configurada para definir una primera ventana gráfica en la que se representa el contenido gráfico asociado con la aplicación de programa y se emite una tercera llamada de función configurada para definir una segunda ventana gráfica en la que se representa el contenido gráfico adicional.
  8. 8.
    El procedimiento de la reivindicación 1, en el que interceptar la una o más primeras llamadas de función comprender interceptar una primera llamada de función; y
    55 en el que emitir la una o más segundas llamadas de función comprende emitir una segunda llamada de función configurada para identificar una memoria intermedia en la que se representa una escena asociada con la aplicación de programa.
  9. 9. El procedimiento de la reivindicación 8, en el que representar el contenido gráfico adicional en la segunda parte del área de visualización comprende:
    interceptar una tercera llamada de función configurada para presentar una escena en una pantalla; dibujar la escena en la primera parte del área de visualización usando la memoria intermedia, representando la memoria intermedia una escena representada asociada con la aplicación de programa;
    65 emitir una cuarta llamada de función configurada para definir una ventana gráfica que tiene un tamaño y localización que corresponde al tamaño y localización de la segunda parte del área de visualización; representar el contenido gráfico adicional en la segunda ventana gráfica, y emitir una quinta llamada de función configurada para presentar una escena en una pantalla, en la que la escena incluye la escena dibujada en la primera parte del área de visualización y el contenido gráfico adicional representado en la ventana gráfica.
  10. 10. El procedimiento de la reivindicación 1, en el que emitir la una o más segundas llamadas de función configuradas para producir que el contenido gráfico asociado con la aplicación de programa se represente en la primera parte del área de visualización comprende:
    obtener una memoria intermedia de fondo asociada con la aplicación de programa; y redimensionar la memoria intermedia de fondo estrechándola en un destino de representado que tiene el tamaño deseado.
  11. 11. El procedimiento de la reivindicación 10, en el que representar el contenido gráfico adicional en la segunda parte 15 del área de visualización comprende:
    representar el contenido gráfico adicional en áreas de la memoria intermedia de fondo redimensionado que no están ocupadas por el contenido gráfico asociado con la aplicación de programa como un resultado del redimensionado.
  12. 12. El procedimiento de la reivindicación 1, en el que emitir la una o más segundas llamadas de función configuradas para producir el contenido gráfico asociado con la aplicación de programa a representarse en la primera parte del área de visualización comprende:
    25 crear una ventana redimensionada derivada de una ventana asociada con la aplicación de programa; y usar la ventana redimensionada como una diana de representación.
  13. 13.
    El procedimiento de la reivindicación 12, en el que representar el contenido gráfico adicional en la segunda parte del área de visualización comprende:
    crear ventanas derivadas adicionales para visualizar el contenido gráfico adicional.
  14. 14.
    El procedimiento de la reivindicación 1, que comprende adicionalmente:
    35 interceptar una o más llamadas de función configuradas para visualizar una imagen de puntero en una primera posición dentro del área de visualización; y dibujar una representación de la imagen de puntero en una segunda posición dentro del área de visualización, estando la segunda posición dentro de la primera posición del área de visualización y se determina basándose en la primera posición.
  15. 15. El procedimiento de la reivindicación 14, que comprende adicionalmente:
    en respuesta a la interceptación de la una o más llamadas de función configuradas para visualizar la imagen de puntero en la primera posición dentro del área de visualización, convertir la imagen de puntero en una 45 representación de mapa de bits o textura de la imagen de puntero.
  16. 16.
    Un producto de programa informático que comprende un medio legible por ordenador que tiene una lógica de programa informático grabado en el mismo dispuesto para poner en efecto el procedimiento de las reivindicaciones 1-15.
  17. 17.
    Un sistema, que comprende:
    un sistema informático (200) configurado para redimensionar dinámicamente una escena asociada con una aplicación en ejecución, de tal manera que la escena ocupa solo una primera parte de un área de visualización
    55 de un dispositivo de visualización, siendo la primera parte del área de visualización menor que el área de visualización; y un servidor en comunicación conectado al sistema informático y configurado para servir contenido gráfico al sistema informático; estando configurado el sistema informático adicionalmente para representar el contenido gráfico en una segunda parte del área de visualización del dispositivo de visualización que no está abarcado por la primera parte del área de visualización.
  18. 18. El sistema de la reivindicación 17, en el que el contenido gráfico comprende contenido publicitario.
    65 19. El sistema de la reivindicación 17 en el que la segunda parte del área de visualización no está solapada con respecto a la primera parte del área de visualización.
ES08830539T 2007-07-18 2008-07-15 Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional Active ES2376944T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US779391 2007-07-18
US11/779,391 US20070296718A1 (en) 2005-12-01 2007-07-18 Dynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics content
PCT/IB2008/003387 WO2009034478A2 (en) 2007-07-18 2008-07-15 Dynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics content

Publications (1)

Publication Number Publication Date
ES2376944T3 true ES2376944T3 (es) 2012-03-21

Family

ID=40456140

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08830539T Active ES2376944T3 (es) 2007-07-18 2008-07-15 Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional

Country Status (6)

Country Link
US (1) US20070296718A1 (es)
EP (2) EP2174288B1 (es)
AT (1) ATE535889T1 (es)
CA (1) CA2693242A1 (es)
ES (1) ES2376944T3 (es)
WO (1) WO2009034478A2 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8629885B2 (en) * 2005-12-01 2014-01-14 Exent Technologies, Ltd. System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application
US7596536B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device
US20070129990A1 (en) * 2005-12-01 2007-06-07 Exent Technologies, Ltd. System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game
US7596540B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US20070168309A1 (en) * 2005-12-01 2007-07-19 Exent Technologies, Ltd. System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US20090083753A1 (en) * 2007-09-25 2009-03-26 Exent Technologies, Ltd. Dynamic thread generation and management for improved computer program performance
US8286199B1 (en) * 2008-08-22 2012-10-09 SmartVault Corporation Automated method for creating a graphical user interface for a document management system that is visually integrated with an application having limited native GUI-integration capabilities
WO2010035267A1 (en) * 2008-09-25 2010-04-01 Tictacti Ltd. A system and method for precision placement of in-game dynamic advertising in computer games
GB0817805D0 (en) * 2008-09-29 2008-11-05 Symbian Software Ltd Method and system for receicing and displaying unsolicitted content on a device
US8368707B2 (en) * 2009-05-18 2013-02-05 Apple Inc. Memory management based on automatic full-screen detection
CN102053871B (zh) * 2009-10-28 2013-03-13 中国移动通信集团公司 一种应用程序图像的显示方法和装置
US9971551B2 (en) * 2010-11-01 2018-05-15 Electronics For Imaging, Inc. Previsualization for large format print jobs
US20130057561A1 (en) * 2011-09-07 2013-03-07 Exent Technologies, Ltd. System and method for rendering graphics content associated with an application process to a display area managed by another process
CN110084629A (zh) * 2011-12-20 2019-08-02 英特尔公司 用于在线分发平台中促销媒体的系统和方法
US20140155161A1 (en) * 2012-12-05 2014-06-05 Camber Corporation Image Rendering Systems and Methods
CN106293047B (zh) * 2015-06-26 2020-01-10 微软技术许可有限责任公司 通过动态分辨率缩放来减少移动设备的功耗
US10346004B2 (en) * 2017-01-18 2019-07-09 Michael E Murphy Systems and methods for intelligent layered interactive programmatic elements for fixed content
US11169673B2 (en) * 2017-01-18 2021-11-09 Michael E. Murphy Systems and methods for intelligent layered interactive derived programmatic elements for fixed content
CN112598568B (zh) * 2020-12-28 2024-05-31 航天科技控股集团股份有限公司 全液晶仪表动态渲染方法

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2661061B1 (fr) * 1990-04-11 1992-08-07 Multi Media Tech Procede et dispositif de modification de zone d'images.
IL108957A (en) * 1994-03-14 1998-09-24 Scidel Technologies Ltd Video sequence imaging system
US6202058B1 (en) * 1994-04-25 2001-03-13 Apple Computer, Inc. System for ranking the relevance of information objects accessed by computer users
US5687376A (en) * 1994-12-15 1997-11-11 International Business Machines Corporation System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation
US7895076B2 (en) * 1995-06-30 2011-02-22 Sony Computer Entertainment Inc. Advertisement insertion, profiling, impression, and feedback
JP4040117B2 (ja) * 1995-06-30 2008-01-30 ソニー株式会社 ゲーム機及びゲーム機制御方法
US5737553A (en) * 1995-07-14 1998-04-07 Novell, Inc. Colormap system for mapping pixel position and color index to executable functions
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US20020049832A1 (en) * 1996-03-08 2002-04-25 Craig Ullman Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
CN1210897C (zh) * 1996-12-25 2005-07-13 索尼公司 发送/接收侧系统、数据配发系统/方法、程序执行装置/方法
US6047123A (en) * 1997-03-27 2000-04-04 Hewlett-Packard Company Methods for recording a compilable graphics call trace
GB2324450A (en) * 1997-04-19 1998-10-21 Ibm Graphical user interface
US5991836A (en) * 1997-05-02 1999-11-23 Network Computing Devices, Inc. System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the server
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
US6631423B1 (en) * 1998-03-31 2003-10-07 Hewlett-Packard Development Company, L.P. System and method for assessing performance optimizations in a graphics system
WO1999060504A1 (en) * 1998-05-15 1999-11-25 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6278966B1 (en) * 1998-06-18 2001-08-21 International Business Machines Corporation Method and system for emulating web site traffic to identify web site usage patterns
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6330711B1 (en) * 1998-07-30 2001-12-11 International Business Machines Corporation Method and apparatus for dynamic application and maintenance of programs
US6036601A (en) * 1999-02-24 2000-03-14 Adaboy, Inc. Method for advertising over a computer network utilizing virtual environments of games
US6907566B1 (en) * 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
US6467052B1 (en) * 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US6868525B1 (en) * 2000-02-01 2005-03-15 Alberti Anemometer Llc Computer graphic display visualization system and method
US7451187B2 (en) * 2000-05-04 2008-11-11 At&T Intellectual Property I, L.P. Viewing attachments to electronic communications via pushing the attachment to a networked viewing site
US7003781B1 (en) * 2000-05-05 2006-02-21 Bristol Technology Inc. Method and apparatus for correlation of events in a distributed multi-system computing environment
EP1285330B1 (en) * 2000-05-11 2006-08-30 Nes Stewart Irvine Zeroclick
US6954728B1 (en) * 2000-05-15 2005-10-11 Avatizing, Llc System and method for consumer-selected advertising and branding in interactive media
US6616533B1 (en) * 2000-05-31 2003-09-09 Intel Corporation Providing advertising with video games
US7076445B1 (en) * 2000-06-20 2006-07-11 Cartwright Shawn D System and methods for obtaining advantages and transacting the same in a computer gaming environment
US7487112B2 (en) * 2000-06-29 2009-02-03 Barnes Jr Melvin L System, method, and computer program product for providing location based services and mobile e-commerce
US20030167202A1 (en) * 2000-07-21 2003-09-04 Marks Michael B. Methods of payment for internet programming
US20020112033A1 (en) * 2000-08-09 2002-08-15 Doemling Marcus F. Content enhancement system and method
US20020154214A1 (en) * 2000-11-02 2002-10-24 Laurent Scallie Virtual reality game system using pseudo 3D display driver
JP2003044297A (ja) * 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US9047609B2 (en) * 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US7171670B2 (en) * 2001-02-14 2007-01-30 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols with verification of formats and protocols
US6851117B2 (en) * 2001-05-25 2005-02-01 Sun Microsystems, Inc. Supplanting motif dialog boxes via modifying intercepted function calls from an application
US8538803B2 (en) * 2001-06-14 2013-09-17 Frank C. Nicholas Method and system for providing network based target advertising and encapsulation
US6802055B2 (en) * 2001-06-27 2004-10-05 Microsoft Corporation Capturing graphics primitives associated with any display object rendered to a graphical user interface
CN1318975C (zh) * 2001-07-04 2007-05-30 Okyz公司 与二维或三维几何实体相关的数据的输出方法
US6887159B2 (en) * 2001-07-13 2005-05-03 Gameaccount Limited System and method for matching users of a gaming application
US7076736B2 (en) * 2001-07-31 2006-07-11 Thebrain Technologies Corp. Method and apparatus for sharing many thought databases among many clients
US20030204275A1 (en) * 2002-04-26 2003-10-30 Krubeck Ronald Lee Sports charting system
US8099325B2 (en) * 2002-05-01 2012-01-17 Saytam Computer Services Limited System and method for selective transmission of multimedia based on subscriber behavioral model
US7249140B1 (en) * 2002-05-31 2007-07-24 Ncr Corp. Restartable scalable database system updates with user defined rules
AU2003251879A1 (en) * 2002-07-12 2004-02-02 Raytheon Company Scene graph based display for desktop applications
US20040116183A1 (en) * 2002-12-16 2004-06-17 Prindle Joseph Charles Digital advertisement insertion system and method for video games
US20040122940A1 (en) * 2002-12-20 2004-06-24 Gibson Edward S. Method for monitoring applications in a network which does not natively support monitoring
US7610575B2 (en) * 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
US7729946B2 (en) * 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
US7487460B2 (en) * 2003-03-21 2009-02-03 Microsoft Corporation Interface for presenting data representations in a screen-area inset
US7124145B2 (en) * 2003-03-27 2006-10-17 Millennium It (Usa) Inc. System and method for dynamic business logic rule integration
US7120619B2 (en) * 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
US20040217987A1 (en) * 2003-05-01 2004-11-04 Solomo Aran Method and system for intercepting and processing data during GUI session
US7246254B2 (en) * 2003-07-16 2007-07-17 International Business Machines Corporation System and method for automatically and dynamically optimizing application data resources to meet business objectives
US8214256B2 (en) * 2003-09-15 2012-07-03 Time Warner Cable Inc. System and method for advertisement delivery within a video time shifting architecture
US8077341B2 (en) * 2003-09-25 2011-12-13 Ricoh Co., Ltd. Printer with audio or video receiver, recorder, and real-time content-based processing logic
US7620893B2 (en) * 2004-03-31 2009-11-17 Sap Ag Aiding a user in using a software application
US8712986B2 (en) * 2004-04-07 2014-04-29 Iac Search & Media, Inc. Methods and systems providing desktop search capability to software application
US20050246174A1 (en) * 2004-04-28 2005-11-03 Degolia Richard C Method and system for presenting dynamic commercial content to clients interacting with a voice extensible markup language system
US20060085812A1 (en) * 2004-10-15 2006-04-20 Shishegar Ahmad R Method for monitoring television usage
US8849701B2 (en) * 2004-12-13 2014-09-30 Google Inc. Online video game advertising system and method supporting multiplayer ads
US20060143675A1 (en) * 2004-12-17 2006-06-29 Daniel Willis Proxy advertisement server and method
US20060155643A1 (en) * 2005-01-07 2006-07-13 Microsoft Corporation Payment instrument notification
US7507157B2 (en) * 2005-07-14 2009-03-24 Microsoft Corporation Peripheral information and digital tells in electronic games
US20070072676A1 (en) * 2005-09-29 2007-03-29 Shumeet Baluja Using information from user-video game interactions to target advertisements, such as advertisements to be served in video games for example
US7596536B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device
US7596540B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US20070168309A1 (en) * 2005-12-01 2007-07-19 Exent Technologies, Ltd. System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US20070129990A1 (en) * 2005-12-01 2007-06-07 Exent Technologies, Ltd. System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game
US8629885B2 (en) * 2005-12-01 2014-01-14 Exent Technologies, Ltd. System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application
US8321947B2 (en) * 2005-12-15 2012-11-27 Emc Corporation Method and system for dynamically generating a watermarked document during a printing or display operation
US9028329B2 (en) * 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device

Also Published As

Publication number Publication date
ATE535889T1 (de) 2011-12-15
US20070296718A1 (en) 2007-12-27
EP2439696B1 (en) 2013-11-13
CA2693242A1 (en) 2009-03-19
EP2174288B1 (en) 2011-11-30
EP2174288A2 (en) 2010-04-14
WO2009034478A3 (en) 2009-06-25
WO2009034478A2 (en) 2009-03-19
EP2439696A1 (en) 2012-04-11

Similar Documents

Publication Publication Date Title
ES2376944T3 (es) Redimensionado dinámico de un contenido gráfico representado por una aplicación para facilitar la representación de contenido gráfico adicional
US10755376B2 (en) Systems and methods for using an openGL API with a Vulkan graphics driver
US20240176601A1 (en) Method and system of command buffer between a cpu and gpu
TWI550412B (zh) 在具有異質處理器之電腦平台中執行之方法和電腦平台
US11227425B2 (en) Emulation of geometry shaders and stream output using compute shaders
CN106296565B (zh) 图形管线方法和设备
EP3137985B1 (en) Method and system to create a rendering pipeline
JP2006190281A (ja) グラフィックサブシステムを仮想化するシステムおよび方法
US20130057561A1 (en) System and method for rendering graphics content associated with an application process to a display area managed by another process
JP2010224535A (ja) コンピューター読み取り可能な記憶媒体、画像処理装置および画像処理方法
US12008673B2 (en) Protecting documents with security overlays
US7583269B2 (en) Window system 2D graphics redirection using direct texture rendering
KR20170132758A (ko) 하이브리드 2d/3d 그래픽 렌더링
US20140055453A1 (en) Heterogeneous Graphics Processor And Configuration Method Thereof
US8907979B2 (en) Fast rendering of knockout groups using a depth buffer of a graphics processing unit
US20130063445A1 (en) Composition System Thread
US20080167124A1 (en) System and Method for Adding In-Game Functionality
CN109478117B (zh) 用于生成并显示在在线环境中使用的三维数字资产的方法和系统
Martz OpenGL distilled
Montano-Murillo et al. OpenMPD: A low-level presentation engine for Multimodal Particle-based Displays
JP6485427B2 (ja) 情報処理装置、帳票システム、その処理方法及びプログラム
US20230252596A1 (en) Image processing system and method
US20230252693A1 (en) Image processing system and method
KR20240062268A (ko) Iptv 또는 ott 앱의 홈 메뉴를 위한 그래픽 사용자 인터페이스 제공 방법 및 장치
Konrad et al. Conceptual Approach Towards Recursive Hardware Abstraction Layers