BRPI0722069B1 - área de trabalho em movimento - Google Patents

área de trabalho em movimento Download PDF

Info

Publication number
BRPI0722069B1
BRPI0722069B1 BRPI0722069-3A BRPI0722069A BRPI0722069B1 BR PI0722069 B1 BRPI0722069 B1 BR PI0722069B1 BR PI0722069 A BRPI0722069 A BR PI0722069A BR PI0722069 B1 BRPI0722069 B1 BR PI0722069B1
Authority
BR
Brazil
Prior art keywords
moving
content
instructions
desktop
background
Prior art date
Application number
BRPI0722069-3A
Other languages
English (en)
Inventor
John Shepard
Felix Cheung
Alex Aben-Athar Kipman
Original Assignee
Microsoft Technology Licensing, Llc
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 Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BRPI0722069A2 publication Critical patent/BRPI0722069A2/pt
Publication of BRPI0722069A8 publication Critical patent/BRPI0722069A8/pt
Publication of BRPI0722069B1 publication Critical patent/BRPI0722069B1/pt

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

“ÁREA DE TRABALHO EM MOVIMENTO”
FUNDAMENTOS DA INVENÇÃO
Atualmente, os usuários podem selecionar imagens estáticas personalizadas para uso como papel de parede de área de trabalho em seus dispositivos de processamento. A potência de processamento gráfico de dispositivos de processamento modernos torna possível oferecer conteúdo mais rico como um fundo de área de trabalho. Por exemplo, uma imagem em movimento pode ser proporcionada como um fundo de área de trabalho para um dispositivo de processamento.
Anteriormente, diversas aplicações tentaram criar áreas de trabalho em movimento aceitáveis que usam uma característica de sobreposição de vídeo. Quando utiliza a característica de sobreposição de vídeo, uma área de fundo de uma área de trabalho pode ser designada a um valor de chave cromática particular. O vídeo pode ser gerado em uma região de clipagem definida pela área que tem o valor de chave cromática particular. Uma região de clipagem é uma área em que gráfico ou vídeo podem ser apresentados. Entretanto, uma abordagem que usa a característica de sobreposição de vídeo apresenta dois problemas. Em primeiro lugar, as características, tais como, elementos de texto de sombra e parcialmente transparentes são fundamentalmente incompatíveis com um fundo gerado ao usar a característica de sobreposição de vídeo. Por exemplo, uma porção de sombra do texto de sombra e as áreas atrás dos elementos transparentes podem ter uma cor associada a uma aproximação do valor de chave cromática particular. As áreas que têm a aproximação do valor de chave cromática de chave particular podem parecer fora do lugar em qualquer vídeo que pode sobrepor áreas que têm o valor de chave cromática particular. Em segundo lugar, devido ao fato de os sistemas apresentarem apenas um recurso de sobreposição de vídeo, ao capturar este recurso e usar o mesmo na área de trabalho, outras aplicações, tais como, por exemplo, tocadores de mídia ou aplicações de edição de vídeo, podem ser incapazes de adquirir e usar o recurso de sobreposição de vídeo.
Em outra abordagem para criar áreas de trabalho em movimento aceitáveis, o conteúdo arbitrário na área de trabalho pode ser extraído ao criar regiões de clipagem complexas, que exclui itens de área de trabalho, tais como, ícones e texto associados, bem como outros itens. As áreas de trabalho em movimento deficientemente realizadas usam esta abordagem. Os itens de área de trabalho não foram compostos com um fundo e toda vez que o fundo foi atualizado, o fundo atualizado necessário para ser recortado usando uma região de clipagem. Isto resulta em uma experiência de usuário pobre. Ademais, esta abordagem complexa para requerer que a região de clipagem seja mantida como a área de trabalho é atualizada e esta abordagem não considera como tratar os elementos transparentes.
SUMÁRIO DA INVENÇÃO
Este sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada e que é descrita abaixo na descrição detalhada. Este sumário não tem intenção de identificar as características chaves ou características essenciais do assunto reivindicado, nem tem intenção de ser usado para limitar o escopo do assunto reivindicado.
Nas modalidades coerentes com o assunto desta descrição, uma área de trabalho em movimento pode ser apresentada em uma tela de exibição de um dispositivo de processamento. A área de trabalho em movimento pode incluir uma imagem em movimento como um fundo e itens de primeiro plano, tais como, por exemplo, ícones e textos associados, ou outra informação, como um primeiro plano. O conteúdo de primeiro plano pode ser renderizado sobre uma superfície de composição que em algumas modalidades pode ser uma superfície alfa ativada capaz de apresentar itens transparentes. Um ou mais módulos de área de trabalho em movimento pode render conteúdo para as respectivas memórias compartilhadas para as respectivas porções de um fundo de imagem em movimento background da área de trabalho em movimento. Um compositor pode usar o conteúdo renderizado a partir das respectivas memórias compartilhadas para compor uma cena na superfície de composição do conteúdo de primeiro plano e o conteúdo renderizado em relação à imagem em movimento, e pode misturar porções da cena composta. Uma cena composta pode, então, ser apresentada em uma tela de exibição de um dispositivo de processamento como a área de trabalho em movimento.
Em modalidades coerentes com o assunto desta descrição, uma imagem em movimento de um fundo da área de trabalho em movimento pode ser renderizada e composta na superfície de composição para apresentar ao receber uma notificação de um módulo de área de trabalho em movimento que indica que o conteúdo de fundo renderizado está disponível para compor a área de trabalho em movimento. Em algumas modalidades, a imagem em movimento do fundo da área de trabalho em movimento pode ser renderizada e composta periodicamente na superfície de composição, de modo que a imagem em movimento do fundo da área de trabalho em movimento apresentada possa ser degradada, a fim de proporcionar uma alta qualidade de serviço para apresentar os itens de primeiro plano da área de trabalho em movimento e outras aplicações.
FIGURAS
A fim de descrever a maneira na qual as vantagens e características referidas acima e outras podem ser obtidas, uma descrição mais particular é descrita abaixo e será feita a título de referência em modalidades específicas da mesma que serão ilustradas nos desenhos em anexo. Entende-se que estes desenhos mostram apenas as modalidades típicas e, portanto, não devem ser considerados como limitação de seu escopo, as implementações serão descritas e explicadas com especificidade e detalhes adicionais através do uso dos desenhos em anexo.
A Figura 1 é um diagrama em bloco funcional de um dispositivo de processamento que pode implementar as modalidades coerentes com o assunto desta descrição.
A Figura 2 é um diagrama em bloco funcional que ilustra os componentes exemplificativos de uma modalidade coerente com o assunto desta descrição.
A Figura 3 é um diagrama em bloco funcional que ilustra os componentes exemplificativos e a comunicação entre os componentes exemplificativos através das respectivas memórias compartilhadas em uma modalidade coerente com o assunto desta descrição.
A Figura 4 é um fluxograma que ilustra um processo exemplificativo para renderizar o conteúdo de primeiro plano de uma área de trabalho em movimento.
A Figura 5 é um fluxograma que ilustra um processo exemplificativo para renderizar o conteúdo de fundo que compõe uma cena a partir do conteúdo de fundo renderizado e do conteúdo de primeiro plano renderizado e apresenta a cena como a área de trabalho em movimento.
A Figura 6 é um fluxograma que ilustra um processo exemplificativo para receber notificações e repintar uma porção de primeiro plano ou uma porção de fundo de uma área de trabalho em movimento.
As Figuras 7A a 7C são fluxogramas que ilustram um processo exemplificativo para renderizar, compor e apresentar a área de trabalho em movimento, e para alterar um método de atualização para atualizar a área de trabalho em movimento.
DESCRIÇÃO DETALHADA
As modalidades são discutidas em detalhes abaixo. Embora implementações específicas sejam discutidas, deve-se entender que isto é feito apenas para propósitos de ilustração. Uma pessoa versada na técnica relevante irá reconhecer que outros componentes e configurações podem ser usados sem sair do espírito e escopo do assunto desta descrição.
Visão Geral
Um dispositivo de processamento pode apresentar uma área de trabalho em movimento que pode incluir uma imagem em movimento em uma tela de exibição do dispositivo de processamento com itens de primeiro plano, tais como, por exemplo, ícones e texto associado, ou outra informação que aparece em uma superfície da imagem em movimento. Um modo de conceituar uma experiência de área de trabalho em movimento é pensar em uma superfície da área de trabalho em movimento com a qual um usuário pode interagir, como uma peça de vidro suspensa na frente de uma cena tridimensional em que inúmeras coisas interessantes podem ser visualizadas. A cena pode ser tão simples quanto um vídeo projetado sobre um retângulo ortogonal para preencher toda a tela de exibição (papel de parede de vídeo) ou pode ser tão rica quanto a renderização de uma visão de câmera de um jogo mundial de múltiplos jogadores tridimensional persistente.
Nas modalidades coerentes com o assunto desta descrição, o conteúdo de primeiro plano pode uma porção capaz de interagir de uma área de trabalho que pode ser acionada pelos dados de usuário. O conteúdo de primeiro plano pode ser redirecionado, de modo que o mesmo pode ser renderizado em uma superfície de composição, tal como, por exemplo, uma superfície alfa ativada capaz de apresentar os itens transparentes. Um ou mais módulos de área de trabalho em movimento podem renderizar o conteúdo para pelo menos uma porção de um fundo da área de trabalho em movimento em uma respectiva memória compartilhada, compartilhada com um compositor. Periodicamente, o compositor pode usar o conteúdo renderizado a partir de cada respectiva memória compartilhada para compor uma cena e pode misturar as porções de fundo e primeiro plano da cena. Como um resultado, efeitos visuais de alta qualidade podem ser obtidos e apresentados. Em algumas modalidades, uma operação de mistura alfa pode ser descarregada em uma unidade de processamento gráfico (GPU) encontrada em placas de vídeo modernas proporcionando, deste modo, uma experiência visual de fidelidade sem causar impacto de maneira significativa na capacidade de processamento disponível para outras aplicações e serviços.
Dispositivo de Processamento Exemplificativo
A Figura 1 é um diagrama em bloco funcional de um dispositivo de processamento 100 que pode ser usado para implementar as modalidades coerentes com o assunto desta descrição. O dispositivo de processamento 100 pode incluir um barramento 110, um processador 120, uma memória 130, uma memória apenas de leitura (ROM) 140, um dispositivo de armazenamento 150, um dispositivo de entrada 160, um dispositivo de exibição 170 e um processador gráfico 180.
O barramento 110 pode ser uma interface de comunicação que permite a comunicação entre os componentes do dispositivo de processamento 100. O processador 120 pode incluir pelo menos um processador ou microprocessador convencional que interpreta e executa instruções. A memória 130 pode ser uma memória de acesso aleatório (RAM) ou outro tipo de dispositivo de armazenamento dinâmico que armazena informações e instruções para execução através do processador 120. A memória 130 também pode armazenar variáveis temporárias ou outras informações intermediárias usadas durante a execução de instruções através do processador 120. A ROM 140 pode incluir um dispositivo ROM convencional ou outro tipo de dispositivo de armazenamento estático que armazena informações e instruções estáticas para o processador 120. O dispositivo de armazenamento 150 pode incluir qualquer tipo de meio tangível para armazenar dados e/ou instruções. O processador gráfico 180 pode incluir pelo menos um processador gráfico para processar dados e apresentar uma imagem gráfica.
O dispositivo de processamento 100 pode realizar tais funções em resposta ao processador 120 que executa as sequências de instruções contidas em um meio legível por máquina, tal como, por exemplo, a memória 130, ou outro meio tangível. Tais instruções podem ser lidas na memória 130 de outro meio legível por máquina tangível, tal como, o dispositivo de armazenamento 150, ou a partir de um dispositivo separado através da interface de comunicação 180.
Operação Exemplificativa
A Figura 2 é um diagrama em bloco funcional exemplificativo que ilustra os componentes e interfaces em uma modalidade coerente com o assunto desta descrição. A modalidade da Figura 2 pode incluir um compositor 202 e módulos de área de trabalho em movimento 204, 206 e 208. O compositor 202 pode fazer interface com os módulos de área de trabalho em movimento 204, 206 e 208 através de interfaces de programa de aplicação (APIs) 210, 212 e 214, respectivamente. Cada um dos módulos de área de trabalho em movimento 204, 206 e 208 pode fazer interface com o compositor 202 através da API 216.
Cada um dos módulos de área de trabalho em movimento 204, 206 e 208 pode renderizar o conteúdo de pelo menos uma porção de um fundo para uma área de trabalho em movimento em uma respectiva memória compartilhada, que pode ser compartilhada com o compositor 202. O conteúdo renderizado pode ser uma imagem em movimento.
O compositor 202 pode ser responsável por usar o conteúdo renderizado a partir das respectivas memórias compartilhadas para compor uma cena em uma superfície de composição, que pode ser uma superfície alfa ativada. Ademais, o conteúdo de primeiro plano, tal como, por exemplo, ícones e texto associado, assim como outros itens, pode ser redirecionado para a superfície de composição. O compositor 202 pode misturar o conteúdo de primeiro plano com o conteúdo renderizado a partir das respectivas memórias compartilhadas para compor a cena, que pode ser apresentada em uma tela de exibição de um dispositivo de processamento, tal como, por exemplo, o dispositivo de exibição 170. Em algumas modalidades, a superfície de composição pode ser alfa processada e misturada através de um processador gráfico ou unidade de processamento gráfico (GPU).
Na modalidade mostrada na Figura 2, o compositor 202 e o módulo de área de trabalho em movimento 204 podem executar em um único processo, enquanto os módulos de área de trabalho em movimento 206, 208 podem executar em um processo separado do processo no qual o compositor 202 e o módulo de área de trabalho 204 podem executar. Em algumas modalidades, um compositor e os módulos de área de trabalho em movimento podem executar em um único processo. Em outras modalidades, um compositor e os módulos de área de trabalho em movimento podem cada um executar em processos separados. Em algumas das modalidades, o compositor pode ser isolado de um ou mais módulos de área de trabalho em movimento.
A Figura 3 é um diagrama em bloco funcional que ilustra adicionalmente os aspectos de uma modalidade coerente com o assunto desta descrição. Nesta modalidade, o módulo de área de trabalho em movimento 204 pode renderizar o conteúdo para pelo menos uma porção de um fundo de uma área de trabalho em movimento em uma memória compartilhada 306, o módulo de área de trabalho em movimento 206 pode renderizar o conteúdo para pelo menos uma segunda porção do fundo da área de trabalho em movimento em uma memória compartilhada 302, e o módulo de área de trabalho em movimento 208 pode renderizar o conteúdo para pelo menos uma terceira porção do fundo de área de trabalho em movimento em uma memória compartilhada 304. Cada um dos módulos de área de trabalho em movimento 204, 206, 208 pode informar o compositor 202 onde e como o conteúdo de cada respectivo módulo de área de trabalho em movimento deve ser posicionado dentro de uma tela de fundo. Por exemplo, o conteúdo centralizado a partir de um módulo de área de trabalho em movimento pode pegar uma porção dimensionada de selo postal da tela, ou o conteúdo centralizado pode ser esticado para cobrir completamente uma região visível da tela ou além. O compositor 202 pode supor que os módulos de área de trabalho em movimento 204, 206, 208 conhecem um caminho melhor para apresentar seu respectivo conteúdo e o compositor 202 pode cumprir cada respectiva solicitação de posição de módulos de área de trabalho em movimento, se possível. Em uma situação em que um módulo de área de trabalho em movimento solicita que seu respectivo conteúdo seja posicionado de modo que o conteúdo se sobreponha ao conteúdo de outro módulo de área de trabalho em movimento, o compositor 202 pode simplesmente cumprir uma solicitação de módulo de área de trabalho em movimento mais recente (isto é, a última solicitação vence).
Nesta modalidade, cada uma das memórias compartilhadas 302, 304 e 306 pode ser compartilhada com o compositor 202. Em uma modalidade, cada um dos módulos de área de trabalho em movimento 204 a 206 pode notificar o compositor 202 quando o respectivo conteúdo renderizado está disponível para o compositor 202. Mediante o recebimento de uma notificação a partir de um respectivo módulo de área de trabalho em movimento, o compositor 202 pode usar o conteúdo dentro das memórias compartilhadas 302, 304 ou 306 para compor a superfície de fundo. O conteúdo de fundo e de primeiro plano a partir da superfície de primeiro plano 301 pode, então, ser composto como uma cena em uma superfície de composição 308, que pode ser uma superfície alfa ativada, e misturada para apresentação como a área de trabalho em movimento recentemente atualizada.
A modalidade ilustrada na Figura 3 é uma modalidade exemplificativa. Em outras modalidades, menos ou mais módulos de área de trabalho em movimento podem ser incluídos. Por exemplo, uma modalidade pode incluir apenas um módulo de área de trabalho em movimento e uma memória compartilhada.
Processamento Exemplificativo
A Figura 4 ilustra um processo exemplificativo que pode ser realizado nas modalidades coerentes com o assunto desta descrição. O processo exemplificativo da Figura 4 ilustra o processamento que pode ocorrer quando um compositor, tal como, por exemplo, o compositor 202, recebe uma notificação para repintar o conteúdo de primeiro plano de um primeiro plano de uma área de trabalho em movimento.
O processo pode começar com o compositor 202 que recebe uma notificação para repintar o conteúdo de primeiro plano do primeiro plano da área de trabalho em movimento (ação 402). O conteúdo de primeiro plano pode ser renderizado sobre a superfície de primeiro plano 301 a partir da informação de primeiro plano que descreve objetos, tais como, ícones, texto associado, ou outros itens (ação 404). Em algumas modalidades, o compositor 202 pode emitir uma comunicação para um componente de sistema de operação, ou outro componente de sistema, que solicita que o conteúdo de primeiro plano seja renderizado na superfície de primeiro plano 308.
A seguir, a fim de evitar que outro compositor 202 se encadeie a partir da escrita na superfície de composição 308, o compositor 202 pode travar a superfície de composição 308 (ação 406). O travamento pode ser realizado através de um mecanismo de hardware ou software. O compositor 202 pode, então, compor e misturar uma cena a partir do conteúdo de primeiro plano renderizado da superfície de primeiro plano 301 e do conteúdo de fundo renderizado, que pode ter sido previamente copiado na área de composição (conforme será explicado abaixo), ou a partir do conteúdo de fundo renderizado incluído em uma ou mais memórias compartilhadas (ação 408). Em algumas modalidades, o compositor 202 pode descarregar a mistura da cena em uma GPU. O compositor 202 pode, então, apresentar a cena em uma tela de um dispositivo de processamento como a área de trabalho em movimento (ação 410). O compositor 202 pode, então, destravar a superfície de composição 308 para permitir os outros encadeamentos de compositor 202 para escrever a superfície de composição 308 (ação 412).
A Figura 5 é um fluxograma de um processo exemplificativo que pode ser implementado em modalidades coerentes com o assunto desta descrição para atualizar o conteúdo de fundo de uma área de trabalho em movimento. O processo exemplificativo pode ser realizado por um compositor, tal como, o compositor 202, e um módulo de área de trabalho em movimento que executa em um mesmo processo ou em processos separados.
O processo pode começar com um módulo de área de trabalho em movimento que determina se a área de trabalho em movimento é ocluída (ação 502). A área de trabalho em movimento pode ser ocluída por uma janela ou outro item que é exibido que bloqueia a área de trabalho em movimento que é exibida. A área de trabalho em movimento também pode ser ocluída sob outras condições, que podem incluir, porém não se limitam a, quando a área de trabalho se encontra em um estado suspenso, quando uma sessão é travada, ou quando uma proteção de tela estiver executando. Se o módulo de área de trabalho em movimento determina que a área de trabalho em movimento é ocluída, então, o processo pode retornar. Ou seja, a renderização do conteúdo de uma imagem em movimento sobre a superfície de composição 308, que pode ser uma superfície alfa ativada, pode ser parada ou suspensa quando o módulo de área de trabalho em movimento determina que a área de trabalho em movimento é ocluída. Em outras palavras, a renderização do conteúdo de uma imagem em movimento sobre a superfície de composição 308 pode ser realizada apenas quando a área de trabalho em movimento não é ocluída.
Se o módulo de área de trabalho em movimento determina que a área de trabalho em movimento não é ocluída, então, o módulo de área de trabalho em movimento pode renderizar o conteúdo, tal como, por exemplo, o conteúdo de imagem em movimento para um fundo da área de trabalho em movimento, sobre uma memória compartilhada (ação 504). O módulo de área de trabalho em movimento pode, então, notificar um compositor, tal como, por exemplo, o compositor 202, da disponibilidade do conteúdo renderizado do módulo de área de trabalho em movimento para o fundo (ação 506). O compositor 202 pode, então, travar a memória compartilhada para evitar que o módulo de área de trabalho em movimento escreva na memória compartilhada e pode travar a superfície de composição 308 para evitar que o conteúdo de primeiro plano seja escrito na superfície de composição 308 (ação 508).
O compositor 202 pode, então, usar conteúdos da memória compartilhada para renderizar o conteúdo de fundo sobre a superfície de composição 308 (ação 510) e pode compor e misturar a cena com base no conteúdo de primeiro plano renderizado, previamente renderizado na superfície de composição 308, e o conteúdo renderizado para o fundo, recentemente renderizado na superfície de composição 308 (ação 512). A cena composta pode, então, ser apresentada em uma tela de um dispositivo de processamento como a área de trabalho em movimento (ação 514). Em algumas modalidades, a mistura da cena pode ser descarregada em uma GPU. O compositor 202 pode, então, destravar a superfície de composição 308 e a memória compartilhada para permitir novamente que o conteúdo de primeiro plano seja renderizado na superfície de composição 308 a partir da superfície de primeiro plano 301 e para permitir que a área de trabalho em movimento escreva na memória compartilhada (ação 516). O processo pode ser novamente executado em um período posterior quando o módulo de área de trabalho em movimento pode renderizar novamente o conteúdo de fundo para atualizar o fundo da área de trabalho em movimento.
Em algumas modalidades, um módulo de área de trabalho em movimento pode compartilhar múltiplas memórias com o compositor 202. Em tal modalidade, quando o módulo de área de trabalho em movimento notifica o compositor que o conteúdo de fundo é disponível em uma das memórias compartilhadas, o módulo de área de trabalho em movimento pode, então, usar outras memórias compartilhadas. O compositor 202 pode, então, usar uma das memórias compartilhadas para renderizar o conteúdo de fundo na superfície de composição 308 enquanto o módulo de área de trabalho em movimento pode renderizar o conteúdo de fundo em outras memórias compartilhadas. Em tais modalidades, o módulo de área de trabalho em movimento pode continuar a renderizar o conteúdo de fundo enquanto qualquer uma das memórias compartilhadas pode ser travada.
Em algumas modalidades, um compositor, tal como, por exemplo, o compositor 202 pode receber de uma mesma fonte ou diferente, cada notificação de atualização de primeiro plano ou uma notificação de atualização de fundo, que pode fazer com um primeiro plano ou um fundo, respectivamente, de uma área de trabalho em movimento seja atualizado e apresentado. A Figura 6 é um fluxograma de um processo exemplificativo que pode ser implementado em tais modalidades.
O processo pode começar com o compositor 202 que recebe uma notificação (ação 602). O compositor 202 pode determinar se a notificação é uma notificação de fundo, que indica que um módulo de área de trabalho em movimento renderizou o conteúdo de fundo em uma memória compartilhada (vide ato 504; Figura 5), ou se a notificação é uma notificação de primeiro plano, que indica que um primeiro plano da área de trabalho em movimento pode ser atualizado (ação 604). Se o compositor 202 determina que a notificação recebida é uma notificação de fundo a partir de um módulo de área de trabalho em movimento, então, o compositor 202 pode repintar o fundo da área de trabalho em movimento (ação 606) ao usar o conteúdo de uma respectiva memória compartilhada para renderizar o conteúdo na superfície de composição 308, conforme previamente descrito em relação às ações 506 a 516 da Figura 5. Em algumas modalidades, a superfície de composição 308 pode ser uma superfície alfa ativada. O compositor 202 pode, então, compor e misturar a cena a partir do conteúdo recentemente renderizado da superfície de composição 308 e do conteúdo de primeiro plano, que podem ter sido previamente renderizados na superfície de composição 308 a partir da superfície de primeiro plano 301 (ação 610). As ações 602 a 610 podem, então, ser repetidas.
Se, na ação 604, o compositor 202 determina que a notificação é uma notificação de primeiro plano, então, o compositor 202 pode repintar o primeiro plano da área de trabalho em movimento (ação 608) ao compor uma cena com base no conteúdo do primeiro plano renderizado sobre a superfície de composição 308 a partir da superfície de primeiro plano 301 e o conteúdo do fundo background da área de trabalho em movimento renderizado sobre a superfície de composição 308, conforme previamente descrito em relação ás ações 404 a 412.
Em outras modalidades, coerentes com o assunto desta descrição, uma qualidade de apresentação de um fundo de uma área de trabalho em movimento pode ser escalada ou degradada com base, pelo menos em parte, em um estado de um dispositivo de processamento que apresenta a área de trabalho em movimento. Ou seja, uma frequência para renderizar o conteúdo de fundo com base em uma imagem em movimento pode ser ajustada com base, pelo menos em parte, no estado do dispositivo de processamento que apresenta a área de trabalho em movimento. Por exemplo, se a área de trabalho em movimento for determinada a ficar em um estado alimentado por bateria, um estado alimentado baixo, ou em um estado de área de trabalho remota (que indica que a área de trabalho em movimento do dispositivo de processamento está sendo exibida em um dispositivo de processamento remoto), então, o fundo da área de trabalho em movimento pode ser atualizado com menos freqüência. Se o estado do dispositivo de processamento muda, por exemplo, de um estado alimentado por bateria ou um estado alimentado baixo até um estado plugado, então, a qualidade de apresentação do fundo da área de trabalho em movimento pode ser novamente apresentada em uma qualidade mais alta. As Figuras 7A a 7C sai fluxogramas que ilustram um processo exemplificativo que pode ser implementado em tais modalidades.
O processo pode começar com o compositor 202 que recebe uma notificação para atualizar um fundo de uma área de trabalho em movimento (ação 702). O compositor 202 pode verificar um estado operacional de um dispositivo de processamento no qual o compositor 202 está executando (ação 704). Por exemplo, o compositor 202 pode determinar se o dispositivo de processamento está em um estado alimentado por bateria, um estado alimentado baixo, um estado de área de trabalho remota ou em outro estado. Nesta modalidade, uma qualidade de apresentação do fundo da área de trabalho em movimento pode ser escalada ou degradada quando o estado operacional do dispositivo de processamento está em um estado alimentado baixo ou em um estado de área de trabalho remota. Em outras modalidades, a qualidade de apresentação do fundo da área de trabalho em movimento pode ser escalada ou degradada quando o estado operacional do dispositivo de processamento está em um estado alimentado baixo, um estado alimentado por bateria ou um estado de área de trabalho remota. Ainda em outras modalidades, a qualidade de apresentação do fundo da área de trabalho em movimento pode ser escalada ou degradada quando o estado operacional do dispositivo de processamento está em outros estados. A qualidade de apresentação do fundo da área de trabalho em movimento pode ser degradada ao alterar uma operação de atualização do fundo da área de trabalho em movimento, de modo que um ou mais módulos de área de trabalho em movimento possam ser periodicamente consultados para atualizações (daqui por diante referidas como atualização de consulta sequencial) em vez atualizar o fundo da área de trabalho em movimento ao receber uma notificação de um respectivo módulo de área de trabalho em movimento (daqui por diante referido como atualização sob demanda).
Após verificar o estado operacional, o compositor 202 pode determinar com base no estado operacional, se uma alteração da atualização de consulta sequencial para sob demanda ou de sob demanda para consulta sequencial irá ocorrer (ação 706). Se o compositor 202 determina que nenhuma alteração na operação de atualização irá ocorrer, então, o compositor 202 pode determinar se a área de trabalho em movimento está ocluída (ação 712; Figura 7B). Se o compositor 202 determina que a área de trabalho em movimento está ocluída, então, nenhum processamento adicional pode ocorrer até que uma próxima notificação de fundo seja recebida. Ou seja, se a área de trabalho em movimento está ocluída, então, o fundo da área de trabalho em movimento não pode ser atualizado.
Se o compositor 202 determina que a área de trabalho em movimento não está ocluída, então, o compositor 202 pode travar uma memória compartilhada, compartilhada com um módulo de área de trabalho em movimento para evitar que o módulo de área de trabalho em movimento escreva na memória compartilhada, e o compositor 202 pode travar a superfície de composição 308 para evitar que outro compositor 202 se encadeie a partir da escrita na superfície de composição 308 (ação 714). O compositor 202 pode, então, usar a memória compartilhada para renderizar o conteúdo da memória compartilhada sobre a superfície de composição 308 (ação 716). O compositor 202 pode, então, compor uma cena a partir do fundo e conteúdo de primeiro plano renderizados na superfície de composição 308 e pode misturar o conteúdo de fundo e o conteúdo de primeiro plano. Em algumas modalidades, a mistura pode ser realizada por uma GPU. A cena composta pode, então, ser apresentada pelo compositor 202 em uma tela do dispositivo de processamento como a área de trabalho em movimento (ação 720). O compositor 202 pode, então, destravar a superfície de composição 308 para permitir que o outro compositor 202 se encadeie para escrever na superfície de composição 308 e o compositor 202 pode destravar a memória compartilhada para permitir que o módulo de área de trabalho em movimento escreva na memória compartilhada (ação 722). Mediante o recebimento de outra notificação, a ação 702 pode ser novamente realizada.
Se, na ação 706 (Figura 7A), o compositor 202 determina que uma alteração na atualização da área de trabalho em movimento irá ocorrer, então, o compositor 202 pode determinar se a alteração na atualização é uma alteração na atualização de consulta sequencial (ação 730). Se o compositor 202 determina que a alteração ocorre na atualização de consulta sequencial, então, o compositor 202 pode, então, desativar ou ignorar as notificações a partir do módulo de área de trabalho em movimento que indica a disponibilidade do conteúdo de fundo renderizado atualizado na memória compartilhada (ação 732). O compositor 202 pode, então, ativar as notificações de consulta sequencial (ação 734). Ou seja, as notificações recebidas para indicar que uma atualização no fundo da área de trabalho em movimento irá ocorrer, pode ser periodicamente gerada com base em um período de tempo predeterminado, tal como, 10 vezes por segundo, ou outro período de tempo. Tais notificações pode ser geradas mediante o término de temporizador, que pode ser reiniciado mediante o término durante a execução da operação de atualização de consulta sequencial. As ações 712 a 722 (Figura 7B) podem, então, ser realizadas pelo compositor 202 para compor, renderizar e apresentar a área de trabalho em movimento.
Se, na ação 730, o compositor 202 determina que a atualização não será alterada para atualização de consulta sequencial, então, o compositor 202 pode supor que a atualização será alterada para atualização sob demanda. O compositor 202 pode, então, desativar as notificações de consulta sequencial ao parar, por exemplo, um temporizador ou realizar outra ação (ação 740; Figura 7C) e pode ativar as notificações “sob demanda” (ação 742), de modo que, por exemplo, as notificações do módulo de área de trabalho em movimento que indicam que um conteúdo de fundo atualizado está disponível na memória compartilhada, podem fazer novamente com que o fundo da área de trabalho em movimento seja atualizado. O compositor 202 pode, então, realizar as ações 712 a 722 (Figura 7B) para atualizar o fundo da área de trabalho em movimento. Quando outra notificação é recebida, tal como, por exemplo, uma notificação da área de trabalho em movimento que indica a disponibilidade do conteúdo renderizado atualizado na memória compartilhada, o compositor 202 pode realizar novamente a ação 702 (Figura 7A).
O processo ilustrado pelos fluxogramas das Figuras 7A a 7C é exemplificativo. Em outras modalidades, as ações podem ser realizadas em uma ordem diferente, ou outras ações diferentes podem ser realizadas. Em uma variação da modalidade ilustrada pelas Figuras 7A a 7C, em vez de verificar um estado operacional de um dispositivo de processamento (ação 704), o compositor 202 pode determinar se um primeiro plano de uma área de trabalho em movimento tem uma qualidade particular de serviço. Ou seja, o compositor 202 pode determinar se o fundo está sendo muito frequentemente atualizado causando, deste modo, uma degradação na qualidade no primeiro plano da área de trabalho em movimento apresentada. Por exemplo, em uma modalidade, o compositor 202 pode determinar se múltiplas notificações foram recebidas, indicando que o primeiro plano da área de trabalho em movimento pode ser atualizado, em um período em que o compositor 202 era incapaz de atualizar o primeiro plano da área de trabalho em movimento apresentada. Em tal situação, o compositor 202 pode causar uma alteração da atualização sob demanda para atualização de consulta sequencial a fim de garantir que o primeiro plano da área de trabalho em movimento tenha a qualidade particular de serviço. O compositor 202 pode causar posteriormente uma alteração da atualização de consulta sequencial de volta para a atualização sob demanda se um período de tempo predeterminado passou, tal como, por exemplo, 15 minutos ou outro período de tempo predeterminado. Em algumas modalidades, se após a comutação de volta para a atualização sob demanda, múltiplas notificações em relação à atualização do primeiro plano da área de trabalho em movimento são recebidas em um segundo período de tempo predeterminado e o compositor 202 novamente foi incapaz de atualizar o primeiro plano da área de trabalho em movimento, então, o compositor 202 novamente pode causar uma alteração da atualização sob demanda para atualização de consulta sequencial por um período de tempo mais longo que o período de tempo predeterminado.
Em uma variação do método exemplificativo descrito com referência às Figuras 7A a 7C, em vez de alterar para a atualização de consulta sequencial, o compositor 202 pode informar o módulo de área de trabalho em movimento para entrar em um modo controlado, no qual o compositor 202 pode comandar o módulo de área de trabalho em movimento para pausar, parar ou partir. Em tal modalidade, o módulo de área de trabalho em movimento pode liberar os recursos quando em um estado pausado ou parado. Por exemplo, as ações 732 a 734 podem ser modificadas, de modo que o controlador possa notificar o módulo de área de trabalho em movimento para entrar no modo controlado” e pode comandar o módulo de área de trabalho em movimento para entrar em um estado pausado. As ações 740 a 742 podem ser modificadas, de modo que o controlador possa notificar o módulo de área de trabalho em movimento para sair do modo controlado e entrar no modo de atualização sob demanda.
Embora os fluxogramas referidos acima ilustrem apenas um único módulo de área de trabalho em movimento que executa em um dispositivo de processamento, em outras modalidades, múltiplos módulos de área de trabalho em movimento podem ser executados no dispositivo de processamento. Em tais modalidades, cada um dos módulos de área de trabalho em movimento pode renderizar o conteúdo em uma respectiva memória compartilhada, compartilhada com o compositor 202, em que uma porção do conteúdo de um fundo da área de trabalho em movimento pode ser renderizada.
Ademais, em algumas modalidades coerentes com o assunto desta descrição, o som pode ser incluído quando apresenta a área de trabalho em movimento. Em tais modalidades, o compositor 202 pode expor um controle de volume de áudio máster para sessões de áudio que podem ter sido iniciadas por um módulo de área de trabalho em movimento.
Conclusão
Embora o assunto tenha sido descrito na linguagem específica para recursos estruturais e/ou ações metodológicas, deve-se entender que o assunto nas reivindicações em anexo não se limita às características ou ações específicas descritas acima. De preferência, as características ou ações específicas descritas acima são descritas como formas exemplificativas para implementar as reivindicações.
Embora as descrições acima possam conter detalhes específicos, elas não devem ser construídas de modo a limitar as reivindicações de nenhuma maneira. Outras configurações das modalidades descritas fazem parte do escopo desta descrição. Ademais, 5 as implementações coerentes com o assunto desta descrição podem ter mais ou menos ações que as descritas ou podem implementar as ações em uma ordem diferente da mostrada. Consequentemente, as reivindicações em anexo e seus equivalentes legais devem apenas definir a invenção, em vez de quaisquer exemplos específicos fornecidos.

Claims (13)

  1. REIVINDICAÇÕES
    1. Método para renderizar uma área de trabalho em movimento para um dispositivo de processamento, a área de trabalho em movimento tendo um fundo e um primeiro plano, o método compreendendo as etapas de:
    renderizar o conteúdo com base em uma imagem em movimento sobre uma memória compartilhada (206,302,208,304,204,306);
    renderizar o conteúdo do primeiro plano a partir da informação de primeiro plano (404);
    compor uma cena que inclui o conteúdo renderizado da memória compartilhada como pelo menos uma porção do fundo e o conteúdo renderizado do primeiro plano, o primeiro plano sendo colocado na parte superior do fundo (408,512,610,718); e apresentando a cena como a área de trabalho em movimento (410,514,610,720);
    caracterizado pelo fato de que ainda compreende as etapas de:
    determinar (502,712) se a área de trabalho em movimento está ocluída, em que a renderização do conteúdo sobre a memória compartilhada com base na imagem em movimento é realizada apenas quando a área de trabalho em movimento é determinada a ser não ocluída; e determinar (704) um estado do dispositivo de processamento e ajustar (706,732,734,740,742) uma frequência da renderização do conteúdo baseado na imagem em movimento com base, pelo menos em parte, no estado determinado do dispositivo de processamento.
  2. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de renderizar o conteúdo com base na imagem em movimento sobre a memória compartilhada e a etapa de compor a cena são realizadas em processos separados.
  3. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende uma ou mais etapas dentre:
    renderizar o conteúdo com base em uma segunda imagem em movimento sobre uma segunda memória compartilhada, em que a composição da cena compreende ainda compor a cena que inclui o conteúdo renderizado a partir da segunda memória compartilhada como pelo menos outra porção da imagem de fundo; e proporcionar uma qualidade de serviço para renderizar o conteúdo do primeiro plano a partir da informação de primeiro plano.
  4. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende:
    escalar uma qualidade de apresentação do fundo da área de trabalho em
    Petição 870180073653, de 22/08/2018, pág. 6/13 movimento com base, pelo menos em parte, em um estado do dispositivo de processamento.
  5. 5. Meio legível por máquina tangível para renderizar uma área de trabalho em movimento para um dispositivo de processamento, o meio legível por máquina tangível tendo instruções gravadas no mesmo por pelo menos um processador, o meio legível por máquina compreendendo:
    instruções para renderizar conteúdo de pelo menos uma porção de um fundo da área de trabalho em movimento sobre uma memória compartilhada (206,302,208,304,204,306);
    instruções para renderizar o conteúdo de um primeiro plano da área de trabalho em movimento com base em informação de primeiro plano, as instruções para renderizar o conteúdo de pelo menos uma porção de um fundo a ser executada em um processo separado a partir das instruções para renderizar o conteúdo de um primeiro plano (404,206);
    instruções para compor uma cena com base no conteúdo renderizado do primeiro plano e no conteúdo renderizado de pelo menos uma porção do fundo a partir da memória compartilhada (408,512,610,718); e instruções para apresentar a cena como a área de trabalho em movimento (410,514,610,720);
    caracterizado pelo fato de que ainda compreende:
    instruções para determinar se a área de trabalho em movimento está ocluída e interromper a renderização do conteúdo de pelo menos uma porção do fundo da área de trabalho em movimento quando a área de trabalho em movimento é determinada a ser oclusa;
    instruções para determinar (704) um estado do dispositivo de processamento; e instruções para ajustar (706,732,734,740,742) uma frequência da renderização do conteúdo de pelo menos uma porção do fundo com base, pelo menos em parte, no estado determinado do dispositivo de processamento.
  6. 6. Meio legível por máquina, de acordo com a reivindicação 5, caracterizado pelo fato de que:
    as instruções para renderizar o conteúdo de um primeiro plano de uma área de trabalho em movimento incluem instruções para renderizar o conteúdo do primeiro plano em uma base sob demanda, e as instruções para renderizar o conteúdo de pelo menos uma porção de um fundo de uma área de trabalho em movimento incluem instruções para renderizar o conteúdo de pelo menos uma porção do fundo em uma base de consulta sequencial.
  7. 7. Meio legível por máquina, de acordo com a reivindicação 5, caracterizaPetição 870180073653, de 22/08/2018, pág. 7/13 do pelo fato de que ainda compreende uma ou mais dentre:
    instruções para escalar uma qualidade de apresentação do fundo da área de trabalho em movimento com base, pelo menos em parte, em um estado do dispositivo de processamento; e instruções para proporcionar uma qualidade degradada de apresentação do fundo da área de trabalho em movimento quando o dispositivo de processamento executando as instruções está em um estado que inclui um estado de área de trabalho remota, um estado operado por bateria ou um estado de baixa alimentação.
  8. 8. Meio legível por máquina, de acordo com a reivindicação 5, caracterizado pelo fato de que ainda compreende:
    instruções para renderizar o conteúdo de pelo menos uma segunda porção do fundo da área de trabalho em movimento sobre uma segunda memória compartilhada baseada em uma segunda imagem em movimento, em que as instruções para compor uma cena compreendem ainda instruções para compor a cena com base no conteúdo renderizado de pelo menos uma segunda porção do fundo da área de trabalho em movimento a partir da segunda memória compartilhada.
  9. 9. Dispositivo de processamento compreendendo:
    pelo menos um processador (120);
    um barramento (110); e uma memória (130), o barramento conectando a memória com pelo menos um processador para permitir comunicações entre os mesmos, a memória ainda compreendendo:
    instruções para renderizar o conteúdo de pelo menos uma porção de um fundo em movimento da área de trabalho em movimento sobre uma memória compartilhada (206,302,208,304,204, 306);
    instruções para renderizar o conteúdo de um primeiro plano da área de trabalho em movimento com base em informação de primeiro plano, as instruções para renderizar o conteúdo de pelo menos uma porção de um fundo a ser executada em um processo separado a partir das instruções para renderizar o conteúdo de um primeiro plano (404,206);
    instruções para compor uma cena com base no conteúdo renderizado do primeiro plano e no conteúdo renderizado de pelo menos uma porção do fundo a partir da memória compartilhada (408,512,610,718); e instruções para apresentar a cena como a área de trabalho em movimento (410,514,610,720);
    instruções para escalar uma qualidade de apresentação da cena apresentada com base, pelo menos em parte, em um estado do dispositivo de
    Petição 870180073653, de 22/08/2018, pág. 8/13 processamento (704,706,730,732,734);
    caracterizado pelo fato de que a memória ainda compreende: instruções para determinar se a área de trabalho em movimento está ocluída e interromper a renderização do conteúdo de pelo menos uma porção do fundo da área de trabalho em movimento quando a área de trabalho em movimento é determinada a ser oclusa;
    instruções para determinar (704) um estado do dispositivo de processamento; e instruções para ajustar (706,732,734,740,742) uma frequência na qual o conteúdo de pelo menos uma porção do fundo em movimento é renderizado com base, pelo menos em parte, no estado determinado do dispositivo de processamento.
  10. 10. Dispositivo de processamento, de acordo com a reivindicação 9, caracterizado pelo fato de que as instruções para escalar uma qualidade de apresentação da cena apresentada ainda compreendem:
    instruções para degradar a qualidade de apresentação da cena apresentada quando o dispositivo de processamento é operando em um estado de operação de bateria, operação de baixa energia ou operação de área de trabalho remota.
  11. 11. Dispositivo de processamento, de acordo com a reivindicação 9, caracterizado pelo fato de que a memória ainda compreende:
    instruções para incluir som ao apresentar a cena como a área de trabalho em movimento.
  12. 12. Dispositivo de processamento, de acordo com a reivindicação 9, caracterizado pelo fato de que a memória ainda compreende:
    instruções para renderizar o conteúdo de pelo menos uma segunda porção do fundo em movimento da área de trabalho em movimento sobre uma segunda memória compartilhada, em que as instruções para compor uma cena com base no conteúdo renderizado do primeiro plano e no conteúdo renderizado de pelo menos uma porção do fundo ainda compreendem instruções para compor a cena com base no conteúdo renderizado de pelo menos uma segunda porção do fundo em movimento a partir da segunda memória compartilhada.
  13. 13. Dispositivo de processamento, de acordo com a reivindicação 9, caracterizado pelo fato de que:
    as instruções para renderizar o conteúdo de pelo menos uma porção de um fundo em movimento da área de trabalho em movimento e as instruções para renderizar o conteúdo de um primeiro plano da área de trabalho em movimento são executadas como processos separados.
BRPI0722069-3A 2007-01-03 2007-12-26 área de trabalho em movimento BRPI0722069B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/649,077 2007-01-03
US11/649,077 US7712047B2 (en) 2007-01-03 2007-01-03 Motion desktop
PCT/US2007/088800 WO2008085726A1 (en) 2007-01-03 2007-12-26 Motion desktop

Publications (3)

Publication Number Publication Date
BRPI0722069A2 BRPI0722069A2 (pt) 2014-04-08
BRPI0722069A8 BRPI0722069A8 (pt) 2017-01-17
BRPI0722069B1 true BRPI0722069B1 (pt) 2019-01-02

Family

ID=39585816

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0722069-3A BRPI0722069B1 (pt) 2007-01-03 2007-12-26 área de trabalho em movimento

Country Status (8)

Country Link
US (2) US7712047B2 (pt)
EP (1) EP2102806B1 (pt)
JP (1) JP4809922B2 (pt)
KR (1) KR101279680B1 (pt)
CN (1) CN101573728B (pt)
BR (1) BRPI0722069B1 (pt)
RU (1) RU2463661C2 (pt)
WO (1) WO2008085726A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712047B2 (en) * 2007-01-03 2010-05-04 Microsoft Corporation Motion desktop
US7996787B2 (en) * 2007-02-06 2011-08-09 Cptn Holdings Llc Plug-in architecture for window management and desktop compositing effects
CN102118576B (zh) * 2009-12-30 2015-02-18 新奥特(北京)视频技术有限公司 一种虚拟体育系统中的色键合成方法及装置
US20120127198A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Selection of foreground characteristics based on background
US9560314B2 (en) 2011-06-14 2017-01-31 Microsoft Technology Licensing, Llc Interactive and shared surfaces
CN102523481A (zh) * 2011-12-09 2012-06-27 成都东方盛行电子有限责任公司 一种节目播出系统用数据交换缓存的方法
CN103513926A (zh) * 2012-06-25 2014-01-15 威盛电子股份有限公司 动态桌布显示方法及新视频信息显示方法与手持移动系统
CN103729884A (zh) * 2014-01-10 2014-04-16 广州市久邦数码科技有限公司 一种模拟物理运动的桌面系统及其实现方法
KR102285188B1 (ko) * 2015-02-13 2021-08-05 삼성전자주식회사 시인성 개선을 위한 이미지 처리 방법 및 이를 지원하는 전자 장치
CN105843831A (zh) * 2016-01-15 2016-08-10 乐视移动智能信息技术(北京)有限公司 一种移动终端图片显示方法及系统
US11294530B2 (en) * 2017-08-07 2022-04-05 Microsoft Technology Licensing, Llc Displaying a translucent version of a user interface element
EP3881312A1 (en) * 2018-11-14 2021-09-22 Vestel Elektronik Sanayi ve Ticaret A.S. Method, computer program and apparatus for generating an image
RU2748857C1 (ru) * 2020-05-26 2021-06-01 Общество с ограниченной ответственностью "Трастед Серч Девелопмент Компани" Способ отображения ярлыка запуска приложений или иного функционала на экране информационной системы различного назначения

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498079A (en) 1981-08-20 1985-02-05 Bally Manufacturing Corporation Prioritized overlay of foreground objects line buffer system for a video display system
US4580165A (en) 1984-04-12 1986-04-01 General Electric Company Graphic video overlay system providing stable computer graphics overlayed with video image
US5523791A (en) 1993-10-12 1996-06-04 Berman; John L. Method and apparatus for applying overlay images
US5422674A (en) 1993-12-22 1995-06-06 Digital Equipment Corporation Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof
US6064393A (en) * 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
JPH1020844A (ja) * 1996-06-28 1998-01-23 Toshiba Corp 画像処理装置、及びパーソナルコンピュータ
JP3558104B2 (ja) 1996-08-05 2004-08-25 ソニー株式会社 3次元仮想物体表示装置および方法
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
JPH11313339A (ja) * 1998-04-30 1999-11-09 Toshiba Corp 表示制御装置および動画/グラフィクス合成表示方法
US6229542B1 (en) 1998-07-10 2001-05-08 Intel Corporation Method and apparatus for managing windows in three dimensions in a two dimensional windowing system
WO2000028518A2 (en) * 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
US6384846B1 (en) * 1998-12-11 2002-05-07 Hitachi America Ltd. Methods and apparatus for rendering multiple images using a limited rendering resource
KR19990078635A (ko) * 1999-07-16 1999-11-05 이원수 컴퓨터 모니터의 바탕화면을 이용한 광고방법
KR20010008134A (ko) * 2000-11-10 2001-02-05 정장호 바탕화면을 이용한 콘텐츠 제공 방법 및 시스템
KR20010016495A (ko) * 2000-12-15 2001-03-05 최추원 미디어 플레이어를 이용한 영상 디스플레이 방법
KR100372092B1 (ko) 2001-02-06 2003-02-14 주식회사 우리기술 바탕화면 동영상 매체재생기 및 이를 이용한 바탕화면의동영상 처리방법과 상기 매체재생기 또는 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
US7107549B2 (en) 2001-05-11 2006-09-12 3Dna Corp. Method and system for creating and distributing collaborative multi-user three-dimensional websites for a computer system (3D Net Architecture)
US7043701B2 (en) 2002-01-07 2006-05-09 Xerox Corporation Opacity desktop with depth perception
JP2004362222A (ja) * 2003-06-04 2004-12-24 Matsushita Electric Ind Co Ltd 壁紙表示の方法
GB0321083D0 (en) * 2003-09-09 2003-10-08 British Telecomm Video communications method and system
US7817163B2 (en) * 2003-10-23 2010-10-19 Microsoft Corporation Dynamic window anatomy
KR20050116260A (ko) * 2004-06-07 2005-12-12 주식회사 소프트미디어 클라이언트의 바탕화면을 이용한 브랜드 이미지 프로모션및 능동적 커뮤니케이션 시스템
US8306386B2 (en) * 2004-12-01 2012-11-06 Panasonic Corporation Reproduction device, image synthesis method, image synthesis program, and integrated circuit
US7712047B2 (en) 2007-01-03 2010-05-04 Microsoft Corporation Motion desktop

Also Published As

Publication number Publication date
US20100171748A1 (en) 2010-07-08
EP2102806A4 (en) 2011-05-04
US20080163060A1 (en) 2008-07-03
KR101279680B1 (ko) 2013-06-27
BRPI0722069A8 (pt) 2017-01-17
US7712047B2 (en) 2010-05-04
EP2102806A1 (en) 2009-09-23
RU2463661C2 (ru) 2012-10-10
JP2010515194A (ja) 2010-05-06
BRPI0722069A2 (pt) 2014-04-08
WO2008085726A1 (en) 2008-07-17
RU2009125411A (ru) 2011-01-10
JP4809922B2 (ja) 2011-11-09
CN101573728B (zh) 2012-06-06
US8863028B2 (en) 2014-10-14
EP2102806B1 (en) 2013-05-29
KR20090106498A (ko) 2009-10-09
CN101573728A (zh) 2009-11-04

Similar Documents

Publication Publication Date Title
KR101279680B1 (ko) 모션 데스크톱
Lagar-Cavilla et al. VMM-independent graphics acceleration
US5850232A (en) Method and system for flipping images in a window using overlays
US7650603B2 (en) Resource management for virtualization of graphics adapters
US8405679B2 (en) Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image
EP2245598B1 (en) Multi-buffer support for off-screen surfaces in a graphics processing system
CN103229231B (zh) 用于在多个物理显示器当中调节显示迁移的方法和设备
DE102015113927B4 (de) Graphikverarbeitungseinheit zum Einstellen eines Detailierungsgrads, Verfahren zum Betreiben derselben und Vorrichtungen mit derselben
CN114924824B (zh) 可视对象的模糊方法、渲染方法及计算设备
US20060170684A1 (en) Font cache and meta-fonts
CN106502662A (zh) 用于智能操作系统的多区域图形绘制方法及装置
US10818068B2 (en) Virtual hybrid texture mapping
WO2016045853A1 (en) Active element display reorientation method and device
CN110941408B (zh) 一种kvm虚拟机图形界面输出方法及装置
CN114092312A (zh) 图像生成方法、装置、电子设备及存储介质
Anholt High Performance X Servers in the Kdrive Architecture.
van Duerzen The anatomy of the modern window manager
US20130033511A1 (en) Composing stereo 3d windowed content
Schiewe Applied Mobile Visualization and Interaction
CN118718390A (zh) 云游戏画面的呈现方法、装置、电子设备及存储介质
CN119342264A (zh) 一种视频画面多屏显示方法及装置
CN121092093A (zh) 一种显示方法、电子设备及可读存储介质
CN118244940A (zh) 用于虚拟场景中的交互方法、装置、设备和介质
Itterheim et al. Game Building Blocks
Zune Rock Rain Zune

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 02/01/2019, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 18A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2860 DE 28-10-2025 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.