Antecedentes da invenção
Ao longo dos anos, sistemas de interface de usuário de vários tipos foram desenvolvidos para facilitar o controle de computadores ê~ outros dispositivos eletrônicos. Os comutadores simples e botões são suficientes para prover informações de entrada ao operador para alguns dispositivos eletrônicos. Os sistemas de computação, por outro lado, têm geralmente empregado dados mais flexíveis e meios de controle de entrada. 'A entrada de dados pelo teclado prevalece no 15 ambiente de linha de comando, e a flexibilidade da entrada de dado.s pelo, teclado determina -cue alguma forma de entrada de dados pelo teclado, por exemplo, a entrada de dados pelo teclado, fácil ou dificil, seja mantida, provavelmente, no futuro próximo
A utilização de dispositivos apontadores aumentou com o surgimento das interfaces gráficas de usuário. O mouse, - trackball, touchpad, joystick, etc, “ são frequentemente utilizados para direcionar o movimento de um cursor na tela de exibição de uma interface gráfica de usuário.
As tecnologias de tela sensivel ao toque permitem que a superfície, ou a superfície próxima, de uma tela sirva como um dispositivo de interface de usuário. A tela sensivel ao toque detecta a entrada do usuário na forma de toques na tela, ou toques próximos da tela, quando 30 " utiliza algumas”tecnologias de tela sensivel ao toque. As telas sensíveis ao toque são vantajosas já que nenhum dispositivo de entrada dedicado, além do dispositivo de detecção de toque acoplado a tela, é requerido. Uma variedade de tecnologias de tela sensivel ao toque está 35 disponivel, incluindo resistiva, capacitiva, infravermelho, ondas acústicas de superficie, e video, cada uma com suas vantagens e desvantagens.
Os sistemas de tela sensível ao toque permitem a identificação de múltiplos pontos de toque e se tornaram de modo crescente, populares. Estes sistemas permitem a utilização de gestos (por exemplo, o movimento da mão ou 5 do dedo) e/ou um movimento de arraste ("chording") (por exemplo, a utilização simultânea de múltiplos pontos de toque do dedo ou da mão) para aumentar e simplificar as operações da tela sensível ao tóqüé*. No entanto, como um grande vocabulário de comandos em um sistema de linha de 10 comando, um conjunto extenso de gestos pode ser difícil para um usuário relembrar. Além disso, muitos gestos concebíveis podem implicar em movimentos não naturais.
Breve descrição dos desenhos
Para uma descrição detalhada das construções 15 exemplificativas da invenção, será feita referência agora com os desenhos, que a .acompanham, nos- quais:
A figura 1 ilustra um sistema que inclui zonas de detecção de gesto de acordo com várias construções;
A figura 2 ilustra um diagrama de bjLocqs de .um .sistema 20 incluindo zonas de detecção de gesto de acordo com várias construções; e
A -figura- 3— itust-ra -um- fluxogramã ~parã üfn método de implementação de zonas de detecção de gesto de acordo com várias construções.
Notação e nomenclatura
Determinados termos são utilizados durante a descrição e reivindicações a seguir para se referir a componentes de sistemas específicos. Como um técnico no assunto poderá apreciar, empresas de computação podem referir-se a um 30 ''componente põr home’s diferentes. Este documento não tem a intenção de distinguir entre os componentes que diferem no nome, mas não em função. Na descrição e nas reivindicações a seguir, os termos "incluindo" e "compreendendo" são utilizados em uma forma ilimitada, e, 35 portanto, devem ser interpretados para significar "incluindo, mas não limitado a. . ." Além disso, o termo "acoplado" ou "acoplados" é destinado a significar tanto uma conexão elétrica indireta, direta, óptica ou sem fio. Assim, se um primeiro dispositivo acoplar a um segundo dispositivo, tal conexão pode ser através de uma conexão elétrica direta, através de uma conexão elétrica indireta 5 através de outros dispositivos e conexões, através de uma conexão elétrica óptica, ou através de uma conexão elétrica sem fio. Além disso, o termo "software" inclui qualquer código executável capaz de executar um programa ("running") em um processador, independentemente da midia 10 utilizada para armazenar o software. Assim, o código armazenado na memória (por exemplo, a memória não- volátil) , e ocasionalmente referido como "firmware embutido", está incluido na definição de software.
Descrição detalhada da invenção
A descrição a seguir é direcionada a várias construções _ da invenção. Apesar de uma ou mais ' destas construções poder ser preferida, as construções descritas não devem ser interpretadas, ou de outra forma utilizadas, como limitativas do escopo da .invenção, incluindo as reivindicações. Adicionalmente, um técnico no assunto entenderá que a descrição a seguir tem ampla aplicação, e a descrição de ’qualquer construção tem o propósito apenas de ser exemplificativa dessa construção, e não se destina ao detalhamento ao qual o escopo de proteção da invenção, 25 incluindo as reivindicações, está limitado.
Nos sistemas que utilizam dispositivos de entrada baseados em gesto, por exemplo, uma tela sensivel ao toque capaz de detectar gestos e/ou múltiplos pontos de toque, progressivamente, grandes conjuntos de gestos têm 30 sido desenvolvidos para permitir a seleção de funções do sistema. Infelizmente, grandes conjuntos de gestos podem resultar que pelo menos alguns dos gestos requeiram movimentos não naturais ou um gesto sendo composto de múltiplos gestos sequenciais. As construções da presente 35 descrição incluem um novo modo de entrada baseado em gesto, que pode empregar um único gesto primário para selecionar uma de uma pluralidade de funções de processamento. Assim, as construções vantajosamente evitam a necessidade de gestos não naturais ou gestos sequencialmente compostos.
A figura 1 ilustra um sistema 100 que inclui zonas de 5 detecção de gesto, para utilização simultânea com gestos primário e secundário de acordo com várias construções. O sistema 100 inclui uma tela visual 110, um dispositivo de entrada de toque e/ou gesto 104, um processador 106, e memória de dados/programa 112.
Algumas construções do sistema 100 podem incluir outros dispositivos de entrada, tais como um teclado 108, um mouse, etc. As construções podem também incluir vários subsistemas de entrada/saida para executar, por exemplo, redes de comunicação com fios e/ou sem fio. Na figura 1, 15 o sistema 100 é descrito como um computador portátil, no - entanto,” na prática, o sistema '100 pode ser qualquer üm de uma variedade de dispositivos eletrônicos.
Por exemplo, o sistema 100 pode ser uma tela sensível ao toque ou um telefone baseado em-gesto, assistente pessoal 20 digital, tocador de música, computador de mesa, sistema de navegação por satélite, sistema de jogos ou outro dispositivo capacitado de entrada de gesto.
A tela visual 110 provê informações a um usuário do sistema 100, e pode ser, por exemplo, uma tela de cristal 25 líquido ("LCD"), tela de díodo orgânico emissor de luz ("OLED"), ou qualquer outra tecnologia de tela utilizável com toque e/ou tecnologia de entrada com base em gesto. 0 dispositivo de entrada baseado em toque e/ou gesto 104 provê entradas do operador para o sistema 100 por 30 detecção do contato do operador com o dispositivo 104, ou gestos na proximidade do dispositivo 104, e geração de sinais elétricos representativos do contato detectado e/ou gestos. O dispositivo de entrada 104 pode ser implementado em qualquer de uma variedade de tecnologias, 35 por exemplo, uma resistiva, capacitiva, ondas acústicas de superfícies, infravermelho, ou sistema óptico podem sobrepor a tela visual 110. Em algumas construções, um sistema de video pode ser utilizado para detectar gestos do usuário. As construções do sistema 100 abrangem todos os dispositivos de entrada 100, que detectam o contato do usuário e/ou gestos e converte o contato e/ou gestos 5 detectados em sinais elétricos.
As construções da presente descrição fornecem a capacidade de atribuir várias funções a um gesto. Para fins descritivos, os termos "gesto primário" e "gesto secundário" são aqui utilizados. Um gesto primário e um 10 gesto secundário podem ser utilizados em combinação para selecionar uma função de processamento. Em algumas construções, um gesto secundário é executado em conjunto com e simultaneamente com um gesto primário para selecionar uma operação a ser executada. Os gestos 15 primário e secundário podem ser naturais e fáceis para um usuário executar. Um gesto primário pode ser um primeiro gesto executado para selecionar um conjunto de funções. Um gesto secundário executado em conjunto com o gesto primário pode selecionar um elemento- doconjunto~de 20 funções a ser executado. Em pelo menos algumas construções, os gestos secundários podem ser identificados somente quando executados em areas predeterminadas do dispositivo de entrada 104. Por exemplo, uma construção pode identificar gestos 25 secundários do lado esquerdo do dispositivo de entrada 104 .
Na figura 1, a área de detecção de gesto/toque do dispositivo de entrada 104 é dividida em uma pluralidade _ de zonas de detecção gesto _116, _118 ,.„.12O. „ As zonas de 30 detecção de gesto 116-120 podem ser áreas distintas do dispositivo de entrada 104. Em algumas construções, uma função função de processamento executada em resposta a um gesto primário e secundário é determinada, pelo menos em parte, pela zona de detecção 116-120, na qual o gesto 35 secundário é executado. Pelo menos em algumas construções, o gesto secundário é iniciado antes do ou concomitante com o gesto primário e prolongado por toda a execução de um gesto primário. Por exemplo, se um gesto primário é um movimento descendente ("downward swipe") 122 do dispositivo de entrada 104 com o dedo de um usuário 114 (note que qualquer implementação de gesto 5 pode ser utilizada) , um gesto secundário pode ser um toque no dispositivo de entrada 104 com um segundo dedo 102 em uma zona de detecção selecionada 116-120. O gesto secundário, aqui ilustrado como o contato entre o dedo 102 e a zona 1 116 do dispositivo de entrada 104, pode 10 ser iniciado antes ou, pelo menos, simultaneamente com, o inicio do gesto primário. Além disso, o gesto secundário pode ser prolongado, em algumas construções, enquanto dure o gesto primário. Se, por exemplo, um usuário toca a zona 1 116 enquanto simultaneamente executa o movimento 15 descendente 122, a operação selecionada pode ser, por exêmploT a “seleção de linhas de texto cruzadas pelo movimento 122.
Se, por outro lado, um usuário toca a zona 2 118 enquanto simultaneamente executa o -movimento-descendente 122, uma 20 operação diferente pode ser executada. Por exemplo, linhas de texto cruzadas pelo movimento 122, podem ser removidas do documento mostrado. Conforme mais um exemplo, se um usuário toca a zona 3 120, enquanto simultaneamente executa o movimento descendente 122, uma 25 terceira operação pode ser executada. Por exemplo, as linhas de texto cruzadas pelo movimento 122 podem ser copiadas para uma área temporária de armazenamento.
Assim, através da combinação de um gesto primário com um gesto secundário e _zona.s_ de detecção de ...gesto, as construções da presente invenção, permitem a utilização de um único gesto primário para executar uma pluralidade de funções. Em algumas construções, o número de diferentes funções de processamento correspondentes ao gesto primário, é pelo menos tão maior quanto o número de 35 zonas de detecção de gesto.
Algumas construções permitem simultaneamente, gestos secundários em várias zonas de detecção de gesto. Por exemplo, conforme ilustrado na figura 1, o dedo 102 pode tocar a zona 1 116 enquanto o polegar 124 toca a zona 2 118 . Os dois gestos secundários simultâneos em diferentes zonas de detecção de gesto 116, 118 executados simultaneamente com o gesto primário 122, podem fazer com o que uma operação diferente seja executada além do gesto primário 122 em conjunto com um . único gesto secundário tanto na zona 1 116 quanto na zona 2 118.
As construções aumentam ainda o número de funções 10 executadas utilizando um gesto primário através da seleção de uma operação baseada no gesto secundário executado. Por exemplo, se, conforme acima descrito, em conjunto com um gesto primário 122, um gesto secundário é um único ponto de toque na zona de detecção 1 116, a 15 primeira operação é executada. Se, no entanto, um gesto secundário é múltiplos pontos de toque dentro de uma predeterminada proximidade para uma outra na zona de detecção 1 116, em conjugação com o gesto primário 122, uma operação''diferente pode^ser executada.
Enquanto as construções têm sido descritas nos termos gestos primáriosespecíficos, determinados gestos secundários, e um determinado número de zonas de detecção de gesto, as construções não estão limitadas a qualquer número determinado de zonas de detecção de gesto ou tipos 25 de gestos. Além disso, enquanto a detecção de um gesto secundário em uma determinada zona de detecção de gesto 116-120 pode ser um fator determinante na função de processamento que é selecionada, pelo menos algumas construções permitem que- um gesto primário seja executado 30 em qualquer zona de detecção de gesto 116-120.
O processador 106 do sistema 100 pode ser um microprocessador de uso geral, micro controlador, processador de sinal digital, etc. configurado para executar os softwares programados. Os componentes de um 35 processador são bem conhecidos na técnica, e geralmente incluem unidades de execução (por exemplo, inteira, ponto fixo, ponto flutuante, etc), instruções de decodificação, registros, memórias, portas de entrada/saida, etc, interconectadas por barramentos.
A memória de dados/programa 112 é um meio legivel por computador e está acoplado ao processador 106.
A memória de dados/programa 112 pode incluir várias midias de armazenamento, por exemplo, armazenamento magnético (por exemplo, discos rigidos, disquetes, fitas, etc), armazéharnenfõ óptico ~(pof exemplo, disco compacto,’ disco de video digital, etc), ou memória semicondutora 10 (por exemplo, estática ou memória de acesso aleatório dinâmica ("SRAM" ou "DRAM"), memória somente para leitura ("ROM"), memória FLASH, memória de acesso aleatório magnética ("MRAM"), etc.).
O sistema 100 inclui um software programado armazenado na 15 memória 112, que quando executado pelo processador 106 _provê a identificação degestos-primário e secundário, a criação de zonas de detecção de gesto no dispositivo de entrada 104, e a determinação de uma zona de detecção gesto na qual um gesto é executado. As construções 20 provêem zonas de detecção de gesto e/ou identificação de gesto primário e/ou identificação de gesto secundário, aplicáveis a uma única oura múltiplas “aplicações. Assim, as construções vantajosamente fornecem um meio de utilizar gestos naturais para executar várias funções.
A Figura 2 ilustra um diagrama de blocos do sistema 100, incluindo as zonas de detecção de gesto para uso com gestos primário e secundário, de acordo com as várias construções. Conforme acima explicado, a tela 110 provê uma saida visual para o usuário do sistema. A tela 110 é 30 acoplada ao processador 106. O processador 106 fornece dados de video 206 que é apresentado ao usuário na forma visual na tela 110. Os dados de video 206 podem incluir dados de texto, dados gráficos, etc.
O dispositivo de entrada de toque/gesto 104 detecta os 35 contatos do usuário e/ou gestos e fornece sinais elétricos 208 representativos dos contatos e/ou gestos para o processador 106. Os sinais 208 representam contatos/gestos identificando funções que o usuário deseja executar. Na construção da presente invenção, os sinais 208 são representativos de gestos primário e/ou secundário, indicando que o usuário deseja iniciar uma 5 função de processamento. Os sinais 208 também indicam a localização onde um gesto é executado para facilitar a identificação da zona de detecção de gesto 116-120, na “qual um gesto" secundário'" é executado. Por exemplo, os sinais 208 podem incluir um dispositivo de entrada 104 10 coordenando onde um gesto secundário de contato foi detectado. O processador 106 e o software programado associado podem correlacionar as coordenadas com as zonas de detecção de gesto 116-120.
O processador 106 executa o software programado 15 armazenado na memória de dados/programa 112. 0 programa .armazenadona memória- 112. inclui o programa -de identificação de gesto 202 e o programa de seleção de operação 204. O programa de identificação de gestos 202 processa os sinais 208 para determinar os gestos primário 20 e/ou secundário representados e as localizações no dispositivo de entrada 104, onde os gestos foram executados. Quando-- o gesto- primário” e/ou ‘ o gesto secundário especifico for identificado, e a(s) zona(s) de detecção de gesto, na qual um gesto secundário foi 25 executado tenha sido resolvido, o software de seleção de operação 204 faz com que o processador 106 execute uma função de processamento com base no gesto primário detectado e/ou no gesto secundário e/ou na (s) zona(s) de detecção de gesto.
Algumas construçõesdo sistema 100 incluem programa de identificação de gesto 202, e programa de seleção de operação 204 que executam as funções descritas a seguir com referência ao fluxograma da figura 3.
A figura 3 ilustra um fluxograma para um método de 35 execução de funções de processamento baseado em um gesto primário, um gesto secundário, e uma zona de detecção de gesto, de acordo com várias construções.
Embora descrita sequencialmente por uma questão de conveniência, pelo menos algumas das ações apresentadas podem ser executadas em uma ordem diferente e/ou executadas em paralelo. Adicionalmente, algumas 5 construções podem executar apenas algumas das ações apresentadas.
No bloco 302, o dispositivo de entrada de toque/gesto 104 detecta um' contato” ou” gesto primário do usuário. "Õ contato ou gesto é convertido em sinais elétricos 208, e 10 os sinais elétricos são fornecidos ao processador 106. O processador 106 executa as instruções do programa de identificação de gesto 202 para determinar, com base nos sinais 208, um gesto primário executado pelo usuário. As construções não estão limitadas a qualquer conjunto 15 particular de movimento de arraste ("chords") ou gestos nr - identif içados - como, gestos primários.-Adicionalmente, as construções não se limitam a identificação de gestos primários para quaisquer áreas especificas do dispositivo de entrada de 104.
No bloco 304, o dispositivo de entrada de toque/gesto 104 detecta um contato ou gesto secundário do usuário. O contato ou gesto é -convertido em-sinais elétricos 208, ê os sinais elétricos são fornecidos ao processador 106. O processador 106 executa instruções do programa de 25 identificação de gesto 202 para determinar, com base nos sinais 208, um gesto secundário executado pelo usuário. As construções não estão limitadas a qualquer conjunto particular de movimento de arraste ("chords") ou gestos identificados como gestos secundários. Em algumas ’ " construções, os sinais 208 representativos de um gesto secundário estão presentes simultaneamente com sinais representativos de um gesto primário.
No bloco 306, o processador 106, executando o programa de identificação de gesto 202, foi dividido em pelo menos 35 uma porção da zona de detecção gesto do dispositivo de entrada 104 em uma pluralidade de zonas de detecção de gestos 116-120. Utilizando a informação incluída nos sinais elétricos 208 (por exemplo, as coordenadas de contato), o processador 106 determina a(s) zona(s) de detecção de gesto 116-120 onde o gesto secundário foi executado.
No bloco 308, o processador 106 executando o programa de seleção de operação 204 seleciona uma função de processamento para execução com base no gesto primário identificado’“ e pelo menos "um do gesto secundário identificado e a(s) zona(s) de detecção de gesto onde o 10 gesto secundário foi executado. O processador de 106 executa a função de processamento selecionada no bloco 310.
A descrição acima pretende ser ilustrativa dos principios e várias construções da presente invenção. Inúmeras 15 variações e modificações se tornarão aparentes para os .. técnicos no assunto uma vez que, a descrição acima-é totalmente apreciada. Pretende-se que as reivindicações a seguir sejam interpretadas para abranger todas referidas variações e modificações.