BR112015001012B1 - Método e dispositivos para controlar fluxos de dados concomitantes tendo diferentes parâmetros de fluxo de dados do mesmo sensor, e memória legível por computador - Google Patents

Método e dispositivos para controlar fluxos de dados concomitantes tendo diferentes parâmetros de fluxo de dados do mesmo sensor, e memória legível por computador Download PDF

Info

Publication number
BR112015001012B1
BR112015001012B1 BR112015001012-1A BR112015001012A BR112015001012B1 BR 112015001012 B1 BR112015001012 B1 BR 112015001012B1 BR 112015001012 A BR112015001012 A BR 112015001012A BR 112015001012 B1 BR112015001012 B1 BR 112015001012B1
Authority
BR
Brazil
Prior art keywords
sensor
data
stream
processor
sensor data
Prior art date
Application number
BR112015001012-1A
Other languages
English (en)
Other versions
BR112015001012A2 (pt
Inventor
Joseph Czompo
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112015001012A2 publication Critical patent/BR112015001012A2/pt
Publication of BR112015001012B1 publication Critical patent/BR112015001012B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • User Interface Of Digital Computer (AREA)
  • Gyroscopes (AREA)
  • Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)
  • Navigation (AREA)

Abstract

FLUXO CONTÍNUO DE DADOS CONCOMITANTE COM UTILIZAÇÃO DE DIVERSOS PARÂMETROS DO MESMO SENSOR. As modalidades implementam um aparelho que tem um otimizador de sensor, onde um fluxo de dados de origem de um módulo de sensor pode ser utilizado pelo otimizador de sensor para criar vários fluxos de dados de sensor com parâmetros de fluxos de dados diferentes (taxa de dados, calibração, escalonamento, etc., por exemplo) a partir do fluxo de dados de origem. Tal otimizador de sensor pode interceptar solicitações de dados de sensor de um aplicativo que roda em um processador de aparelho móvel e fornecer concomitantemente fluxos de dados com parâmetros de fluxos de dados diferentes a aplicativos executados pelo processador.

Description

ANTECEDENTES
[0001] Os aspectos da revelação referem-se a sensores. Em particular, aparelhos, sistemas e métodos para sensores que têm vários fluxos de dados de saída com parâmetros de fluxo de dados diferentes para os fluxos de dados de saída diferentes do mesmo sensor. São apresentadas modalidades específicas integradas com aparelho móvel, tal como um telefone inteligente onde vários aplicativos que funcionam no telefone inteligente solicitam informações com parâmetros de fluxo de dados diferentes do mesmo sensor.
[0002] Os telefones móveis atuais são frequentemente integrados com sensores. Exemplos de sensores podem ser sensores de luz tais como câmeras ou sensores de movimento tais como acelerômentros. Tais sensores, atualmente estruturados dentro de aparelhos móveis, são capazes de transmitir um único fluxo de dados de sensor. A manipulação adicional dos dados no fluxo de dados de sensor será então efetuada como parte de uma função ou aplicação separada do aparelho móvel. O único fluxo de dados de sensor pode ser copiado e alterado pelo processador do aparelho móvel, mas o módulo de sensor propriamente dito transmite um único fluxo de dados.
[0003] À medida que a potência dos aparelhos móveis, tais como telefones inteligentes, aumenta, tipos maiores e mais diversos de aplicativos são postos a funcionar em tais aparelhos móveis, e há, portanto, necessidade crescente de técnicas e estruturas novas e úteis para prover dados de sensor para sensores integrados a aparelhos móveis.
SUMÁRIO
[0004] Diversas modalidades aqui descritas incluem aparelhos, sistemas e métodos para sensores que têm vários fluxos de dados de saída com parâmetros de fluxo de dados diferentes para os fluxos de dados de saída diferentes do mesmo sensor. Por exemplo, uma modalidade potencial é um método que compreende: receber, em um otimizador de sensor, uma primeira solicitação de um processador de dados de sensor de um primeiro elemento de sensor, a primeira solicitação de dados de sensor identificando um primeiro conjunto de parâmetro de fluxo de dados; receber do otimizador de sensor, uma segunda solicitação de dados de sensor do primeiro elemento de sensor, a segunda solicitação identificando um segundo conjunto de parâmetros de fluxo de dados que é diferente do primeiro conjunto de parâmetro de fluxo de dados; solicitar, pelo otimizador de sensor, um fluxo de dados de origem do primeiro elemento de sensor, utilizar um conjunto de origem de parâmetros com base no primeiro conjunto de parâmetro de fluxo de dados e no segundo conjunto de parâmetros de fluxo de dados; criar, pelo otimizador de sensor, um primeiro fluxo de dados de sensor do fluxo de dados de origem, em que o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetro de fluxo de dados; criar, pelo otimizador de sensor, um segundo fluxo de dados de sensor do fluxo de dados de origem, em que o segundo fluxo de dados de sensor se conforma com o segundo conjunto de parâmetros de fluxo de dados; e comunicar concomitantemente o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor ao processador.
[0005] Outro método potencial de acordo com tal modalidade pode funcionar onde a primeira solicitação de dados de sensor compreende incluir uma solicitação de dados calibrados; no qual o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetro de fluxo de dados e compreende os dados calibrados.
[0006] Outro método potencial de acordo com tal modalidade, pode funcionar adicionalmente onde a segunda solicitação de dados de sensor compreende uma solicitação de dados não calibrados; no qual o segundo fluxo de dados de sensor se conforma ao segundo conjunto de parâmetros de fluxo de dados e compreende os dados não calibrados. Outro método potencial, de acordo com tal modalidade, pode funcionar adicionalmente onde a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e no qual a segunda solicitação de dados de sensor é recebida no primeiro aplicativo que funciona no processador.
[0007] Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e no qual a segunda solicitação de dados de sensor é recebida de um segundo aplicativo que funciona no processador.
[0008] Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde o primeiro aplicativo compreende um aplicativo de câmera e o segundo aplicativo compreende um aplicativo de navegação. Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde o primeiro elemento de sensor compreende um giroscópio. Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde o primeiro elemento de sensor compreende um acelerômetro.
[0009] Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde o primeiro aplicativo compreende um aplicativo de controle de orientação de interface com usuário e no qual o segundo aplicativo compreende um aplicativo de navegação. Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e no qual a segunda solicitação de dados de sensor é recebida de um segundo aplicativo que funciona em um segundo processador dentro de um aparelho móvel que compreende o processador.
[0010] Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde criar o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor compreende: receber o fluxo de dados de origem do primeiro elemento de sensor em um módulo de multiplexação de sinais do otimizador de sensor; transmitir o primeiro fluxo de dados de sensor do módulo de multiplexação de sinais para um primeiro registrador de saída do otimizador de sensor; e transmitir o segundo fluxo de dados de sensor do módulo de multiplexação de sinais para um segundo registrador de saída do otimizador de sensor.
[0011] Outro método potencial de acordo com tal modalidade pode funcionar adicionalmente onde comunicar concomitantemente o primeiro fluxo de dados de sensor para o primeiro aplicativo e o segundo fluxo de dados de sensor para o segundo aplicativo compreende: comunicar o primeiro fluxo de dados de sensor do primeiro registrador de saída para o primeiro aplicativo do processador por meio de um módulo de endereçamento de sensor começando em um primeiro tempo e terminando em um segundo tempo; e comunicar o segundo fluxo de dados de sensor do segundo registrador de saída para o segundo aplicativo do processador por meio do módulo de endereçamento de sensor, começando em um terceiro tempo e terminando em um quarto tempo, no qual o terceiro tempo é posterior ao primeiro tempo e o terceiro tempo é anterior ao segundo tempo.
[0012] Outra modalidade potencial pode ser um aparelho que compreende um primeiro módulo de sensor que compreende um primeiro elemento de sensor; um otimizador de sensor acoplado ao primeiro módulo de sensor; e um processador acoplado ao primeiro módulo de sensor por meio do otimizador de sensor; no qual o otimizador de sensor recebe um fluxo de dados de sensor de origem do primeiro módulo de sensor e transmite concomitantemente para o processador pelo menos dois fluxos de dados de sensor derivados do fluxo de dados de sensor de origem.
[0013] Outro aparelho potencial de acordo com tal modalidade pode funcionar adicionalmente onde o otimizador de sensor compreende: uma série de filtros digitais acoplados ao primeiro elemento de sensor por um módulo de multiplexação de sinais; uma série de registradores de saída, cada registrador de saída acoplado a um filtro digital correspondente da série de filtros digitais; e um módulo de endereçamento de sensor acoplado à série de registradores de saída.
[0014] Outro aparelho potencial de acordo com tal modalidade pode funcionar adicionalmente onde o otimizador de sensor compreende também um primeiro módulo de calibração; no qual a série de filtros digitais compreende um primeiro filtro digital e um segundo filtro digital; no qual o processador executa uma série de aplicativos, cada aplicativo da série de aplicativos provendo um conjunto de parâmetros de fluxo de dados para o processador para comunicação ao módulo de endereçamento de sensor como parte de uma solicitação de dados de sensor por cada aplicativo da série de aplicativos; no qual a série de registradores de saída compreende um primeiro registrador de saída acoplado ao primeiro filtro digital e um segundo registrador de saída acoplado ao segundo filtro digital; e no qual o primeiro filtro digital é acoplado ao primeiro registrador de saída por meio do primeiro módulo de calibração.
[0015] Outra modalidade potencial pode ser um aparelho que compreende: um dispositivo para interceptar um fluxo de dados de sensor de origem de um módulo de sensor; um dispositivo para criar pelo menos dois fluxos de dados de sensor diferentes derivado do fluxo de dados de sensor de origem; e um dispositivo para transmitir concomitantemente os pelo menos dois fluxos de dados de sensor diferentes para um processador.
[0016] Outro aparelho potencial de acordo com tal modalidade pode compreender adicionalmente um dispositivo para interceptar solicitações de fluxo de dados de sensor do processador para o módulo de sensor; e um dispositivo para ajustar um conjunto de parâmetros de fluxo de sensor para cada fluxo de dados de sensor de modo a corresponder aos parâmetros de fluxos de sensor solicitados das solicitações interceptadas de fluxos de dados de sensor.
[0017] Outro aparelho potencial de acordo com tal modalidade pode compreender adicionalmente um dispositivo para interceptar um segundo fluxo de dados de origem de um segundo módulo de sensor; um dispositivo para criar pelo menos dois segundos fluxos de dados de sensor diferentes derivados do segundo fluxo de dados de sensor de origem; e um dispositivo para transmitir concomitantemente os pelo menos dois fluxos de dados de sensor diferentes para o processador.
[0018] Outra modalidade pode ser um meio de armazenamento legível por computador não transitório que compreende instruções legíveis por computador que, quando executadas por um processador acoplado ao meio de armazenamento, fazem com que um aparelho execute um método que compreende: comunicar do processador a um otimizador de sensor, uma primeira solicitação de dados de sensor de um primeiro elemento de sensor, a primeira solicitação de dados de sensor identificando um primeiro conjunto de parâmetros de fluxo de dados; comunicar do processador ao otimizador de sensor uma segunda solicitação de dados de sensor do primeiro elemento de sensor, a segunda solicitação identificando um segundo conjunto de parâmetros de fluxo de dados que é diferente do primeiro conjunto de parâmetros de fluxo de dados; solicitar, pelo otimizador de sensor, um fluxo de dados de origem do primeiro elemento de sensor, utilizar um conjunto de origem de parâmetros com base no primeiro conjunto de parâmetros de fluxo de dados e segundo conjunto de parâmetros de fluxo de dados; criar, pelo otimizador de sensor, um primeiro fluxo de dados de sensor do fluxo de dados de origem, em que o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetros de fluxo de dados; criar, pelo otimizador de sensor, um segundo fluxo de dados de sensor a partir do fluxo de dados de origem, em que o segundo fluxo de dados de sensor se conforma ao segundo conjunto de parâmetros de fluxo de dados; e receber concomitantemente no processador o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor.
[0019] Modalidades adicionais de tal meio de armazenamento legível por computador não transitório podem funcionar no caso de o método compreender também: executar, pelo processador, um primeiro aplicativo que inicia a primeira solicitação de dados de sensor; e executar, pelo processador, um segundo aplicativo concomitante com a execução do primeiro aplicativo, em que o segundo aplicativo inicia a segunda solicitação de dados de sensor.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[0020] Um maior entendimento da natureza e das vantagens de diversas modalidades pode ser obtido por referência às figuras seguintes. Nas figuras anexas, os mesmos componentes ou recursos podem ter as mesmas referências. Além disto, diversos componentes do mesmo tipo podem ser distinguidos fazendo-se a referência seguida de um traço e uma segunda referência que distingue entre os componentes semelhantes. Se apenas a primeira referência for utilizada no relatório, a descrição é aplicável a qualquer um dos componentes semelhantes que têm a mesma primeira referência independentemente da segunda referência.
[0021] A Figura 1 mostra um diagrama de um aparelho de acordo com uma modalidade potencial.
[0022] A Figura 2 mostra um método de acordo com a algumas modalidades.
[0023] A Figura 3 mostra um diagrama de um aparelho de acordo com uma modalidade potencial.
[0024] A Figura 4 mostra um diagrama de acordo com um aparelho de acordo com uma modalidade potencial.
[0025] A Figura 5 mostra um diagrama de um aparelho móvel de acordo com uma modalidade potencial.
[0026] A Figura 6 mostra um método de acordo com algumas modalidades.
[0027] A Figura 7 mostra um sistema de computação exemplar no qual um ou mais aspectos da revelação podem ser implementados.
DESCRIÇÃO DETALHADA
[0028] As presentes inovações referem-se a sensores e a aparelhos eletrônicos com sensores integrados. Em particular, são descritos aparelhos que podem integrar um elemento de sensor com um processador. O processador pode acionar vários aplicativos concomitantemente, com cada aplicativo solicitando informações do elemento de sensor. Diversas modalidades podem funcionar para prover fluxo de dados concomitantes e distintos que são ajustados a aplicativos diferentes.
[0029] Em uma modalidade potencial, por exemplo, um telefone inteligente que tem um aplicativo de navegação e um aplicativo de câmera pode acionar os aplicativos concomitantemente. O aplicativo de navegação pode utilizar os dados de giroscópio para ajudar com o fornecimento de direções medindo o movimento do aparelho e atualizando as direções à medida que o aparelho se move. O aplicativo de câmera pode utilizar dados de giroscópio para uma função de estabilização de imagens. Estas duas utilizações diferentes podem ter requisitos diferentes para os dados. A função de estabilização de imagens de um aplicativo de câmera pode funcionar de maneira mais eficaz se uma calibração for determinada e corrigida continuamente em tempo real. O aplicativo de navegação, por outro lado, pode exigir dados não calibrados uma vez que a calibração e a correção em tempo real podem introduzir descontinuidades ou saltos para dentro dos dados, o que pode deteriorar o desempenho de calibração. Além disto, os aplicativos podem exigir taxas de dados diferentes ou configurações diferentes para outros parâmetros. A utilização de um único fluxo de dados para fornecer dados para ambos os aparelhos pode produzir, portanto, ineficácias e/ou deterioração no desempenho em um ou ambos os aplicativos. De acordo com diversas modalidades, um primeiro fluxo de dados pode ser criado com dados calibrados que criam uma correção de propensão em tempo real para estabilização de imagens no aplicativo de fotografia, e um segundo fluxo de dados pode ser criado com dados não calibrados para o aplicativo de navegação, com cada fluxo de dados tendo parâmetros adicionais que podem ou podem não ser diferentes.
[0030] Outro exemplo potencial é um aparelho, tal como um telefone um computador tablet, que inclui um acelerômetro como elemento de sensor, com um aplicativo de controle de orientação de interface com usuário e um aplicativo de navegação. O aplicativo de controle de orientação de interface com usuário pode solicitar dados calibrados a uma frequência mais baixa de modo a apresentar dados para a tela do aparelho na orientação de retrato- paisagem correta, à medida que o usuário gira o aparelho. Um aparelho de navegação pode solicitar dados não calibrados a uma frequência mais elevada de modo a ajudar a apresentar direções ao usuário. Um sistema capaz de criar fluxo de dados calibrados e não calibrados concomitantes pode apresentar um desempenho de aplicativo aperfeiçoado.
[0031] Conforme aqui descrito, um “elemento de sensor” refere-se a qualquer componente de um aparelho utilizado para medir uma característica física e transmitir um sinal que descreve essa característica. Um exemplo de elemento de sensor inclui uma câmera e outros elementos detectores de luz que convertem a luz em um sinal eletrônico. Outro exemplo inclui acelerômetros e elementos que medem o movimento. Outro exemplo é um receptor de posicionamento global que recebe sinais de satélite de modo a transmitir um sinal eletrônico que identifica a localização do receptor que funciona como elemento de detecção. Um elemento sensor pode ser qualquer transceptor ou elemento de medição que tal.
[0032] Conforme aqui descrito, um “módulo” refere-se a um conjunto de componentes integrados como parte de um aparelho para desempenhar funções como uma unidade. Os módulos podem incluir circuitos, software, firmware ou qualquer combinação destes para desempenhar diversas funções. Por exemplo, um módulo sem fio pode incluir uma antena e qualquer firmware e software para funcionalidade básica no envio e recebimento de sinais com a utilização da antena.
[0033] Conforme aqui descrito, um “módulo de sensor” refere-se a um conjunto de componentes integrados que inclui um elemento de sensor que transmite o sinal que descreve a característica medida por um elemento de sensor. Tais componentes integrados com o elemento de sensor podem incluir componentes ativos que formatam a armazenam o sinal do elemento de sensor sob formas utilizáveis por um elemento de processamento. Exemplos de tais componentes incluem conversores analógico-digital que podem converter um sinal analógico transmitido de um elemento de sensor em um sinal digital utilizável por um processador de computação de propósito geral para executar algoritmos específicos implementados como aplicativos em um aparelho que inclui um módulo de sensor. Em diversos módulos de sensor, os elementos de sensor podem ser integrados com componentes de circuito de modo a se criar um sistema integrado em uma estrutura de chip que é fabricada e anexada a uma única matriz de circuito integrado que é diretamente acoplada ao elemento de sensor. Em outros módulos de sensor, uma placa de circuito impresso pode incluir diversos componentes com um elemento de sensor diretamente acoplado aos componentes com a utilização de linhas condutoras na placa de circuito impresso.
[0034] Conforme aqui descrito, um “fluxo de dados” refere-se a informações transmitidas ao longo do tempo. Por exemplo, determinados elementos de sensor podem funcionar para transmitir constantemente um sinal analógico à medida que as medições de uma característica física do ambiente do elemento de sensor são feitas. As informações que são transmitidas como parte da saída constante do elemento de sensor podem consistir em um fluxo de dados de sensor. Em diversas modalidades alternativas, um fluxo de dados pode ser periódico, aleatório ou associado a solicitações específicas de informações direcionadas para um módulo de sensor.
[0035] Conforme aqui descrito, “fluxos de sensor transmitidos concomitantemente” refere-se a vários fluxos de sensor para os quais os dados de pelo menos uma parte de cada fluxo de sensor são transmitidos ao mesmo tempo em que os dados de pelo menos uma parte de outro fluxo de sensor são transmitidos. A saída de cada fluxo de sensor não precisa começar ou terminar ao mesmo tempo. Isto refere-se meramente a dados de um parâmetro de fluxos de sensor que é transmitido de um módulo de sensor ao mesmo tempo em que os dados de um segundo fluxo de sensor são transmitidos de um módulo de sensor.
[0036] Com referência à Figura 1, o aparelho 100 exemplifica um exemplo não limitador potencial de um aparelho. O aparelho 100 inclui um sensor 102, que pode incluir um elemento de sensor 110 e uma saída de dados digitais. O aparelho 100 inclui também um otimizador de sensor 103 e aplicativos 150a-d. O aparelho 100 pode incluir adicionalmente links de comunicação 132a-d que acoplam comunicativamente o otimizador de sensor 103 aos respectivos aplicativos 150a-d. Embora quatro aplicativos sejam mostrados na Figura 1, qualquer número de dois ou mais aplicativos pode funcionar de acordo com diversas modalidades.
[0037] O sensor 102 pode ser qualquer aparelho de detecção integrado com o aparelho 100 e inclui um elemento de sensor 110 para receber informações. Por exemplo, o sensor 102 pode ser um giroscópio, um acelerômetro, um magnetômetro, um aparelho acoplado a uma carga “CCD”, uma célula fotovoltaica, qualquer aparelho detector de luz, um aparelho detector de temperatura, um aparelho detector de pressão ou qualquer outro aparelho ou elemento detector de potencial.
[0038] A saída de dados digitais 120 pode compreender um conversor analógico-digital para elementos de sensor que criam dados analógicos e pode compreender também filtros digitais, configurações de calibração de aparelhos, desvios e fatores de escala. Em diversas modalidades, o elemento de sensor 110 pode ser integrado com a saída de dados digitais 120 como parte de um circuito integrado ou aparelho eletrônico acondicionado que pode ser então também integrado ao aparelho 100.
[0039] O otimizador de sensor 103 pode compreender um módulo de hardware ou módulo de software para receber um fluxo de dados do elemento de sensor 110 por meio da saída de dados digitais 120 e converter o único fluxo de dados do elemento de sensor 110 em vários fluxos de dados que podem ser comunicados aos aplicativos 150 por meio dos links de comunicação 132. Da mesma maneira, tanto os aplicativos 150 quanto os links de comunicação 132 podem ser implementados como módulos de hardware, módulos de firmware, módulos de software ou como qualquer combinação de tais módulos. Em uma modalidade potencial, por exemplo, um aparelho 100 pode compreender um único processador, tal como o processador 710 descrito na Figura 3. O único processador pode implementar um otimizador de sensor 103, os aplicativos 150a, 150b, 150c e 150d que pode implementar também os links de comunicação 132a, 132b, 132c e 132d. Em modalidades alternativas, o otimizador de sensor pode compreender um circuito ou aparelho integrado acoplado a um ou mais processadores ou módulos de hardware que implementam os aplicativos 150. Os links de comunicação 132 podem ser uma ou mais linhas condutoras dentro do aparelho 100. Qualquer módulo dentro do aparelho 100 pode ser implementado utilizando-se elementos de hardware, elementos de firmware, elementos de software ou qualquer combinação de elementos para implementar o módulo.
[0040] A Figura 2 descreve um método para implementar uma modalidade. Na etapa S202, um primeiro aplicativo 190a pode solicitar informações referentes a fluxo de dados disponíveis do elemento de sensor 110. Tal consulta pode tentar identificar fluxo de dados não utilizados que podem ter parâmetros ajustados para corresponder às preferências do primeiro aplicativo, ou para prover um conjunto de parâmetros preferidos com uma solicitação para identificar se um fluxo de dados que se conforma aos parâmetros identificados está disponível. Na etapa S204, o primeiro aplicativo 190a pode receber uma comunicação do módulo de endereçamento de sensor 160 que identifica a disponibilidade de um fluxo de dados, e o aplicativo 190a pode comunicar a solicitação dos dados juntamente com os parâmetros.
[0041] Na etapa S206, um segundo aplicativo 190b que funciona em um aparelho 100 pode solicitar dados de sensor e identificar um conjunto de parâmetros. Ao contrário do aplicativo 190a, o segundo aplicativo 190b pode ter um sistema integrado para confirmar que vários fluxos de dados podem existir. Em vez disso, outro módulo, tal como o módulo de endereçamento de sensor 160, pode receber a solicitação, identificar a disponibilidade de um fluxo de dados apropriado, fixar o filtro digital 130 correspondente e as configurações do módulo de calibração 140 com base na solicitação do aplicativo 190b, e comunicar o fluxo de dados ao aplicativo 190b de uma maneira que seja transparente ao aplicativo 190b. Estas solicitações em S204 e S206 podem ocorrer ao mesmo tempo ou podem ocorrer inicialmente em tempo separados, de modo que um fluxo de dados pode existir no tempo em que outro fluxo de dados é criado em resposta a uma solicitação de dados de sensor. Em diversas modalidades alternativas, todos ou qualquer combinação de aplicativos podem funcionar de maneira semelhante à do aplicativo 190a descrito acima. Em outras modalidades alternativas, todos ou qualquer combinação de aplicativos pode funcionar de maneira semelhante à do aplicativo 190b. Além disto, em ainda outras modalidades, qualquer número de dois ou mais aplicativos pode funcionar dentro de um aparelho com fluxos de dados concomitantes.
[0042] Na etapa S210, o módulo de endereçamento de sensor 160 pode receber quaisquer solicitações de dados e identificar dados de sensor apropriados para responder a cada solicitação. Tal identificação pode simplesmente identificar um registrador de saída identificado pelo aplicativo, ou pode corresponder a parâmetros providos com fluxo de dados disponíveis. Na etapa S212, quaisquer atualizações necessárias para seleções de calibração (referentes a desvios e fatores de escala, por exemplo), taxas de dados, filtros de frequência ou quaisquer outras configurações podem ser atualizadas para um fluxo de dados específico com base em uma solicitação de dados. Na etapa S214, depois que os fluxos de dados apropriados com base nos parâmetros solicitados, o módulo de endereçamento de sensor 160 pode rotear concomitantemente o fluxo de dados para o aplicativo apropriado correspondente. Por exemplo, se o filtro digital 130d e módulo de calibração 140d forem fixados utilizando- se os parâmetros fornecidos pelo aplicativo 190a, e se o filtro digital 130a e o módulo de calibração 140a forem fixados de modo a corresponderem aos parâmetros fornecidos pelo aplicativo 190b, então os dados do registrador de saída 150d podem ser enviados ao aplicativo 190a concomitantemente com os dados do registrador de saída 150a que são enviados ao aplicativo 190b.
[0043] Tal sistema pode funcionar com um primeiro fluxo de dados que é enviado continuamente, enquanto um segundo fluxo de dados começa e para repetidamente em resposta a diversas solicitações de aplicativo. Tal sistema pode funcionar também com qualquer número de fluxo de dados adicionais que são enviados concomitantemente, e com fluxo de dados adicionais que começam e terminam enquanto outros fluxos de dados funcionam, com cada fluxo de dados tendo um conjunto diferente de parâmetros. Além disto, em determinadas modalidades, a determinados aplicativos pode ser enviado o mesmo fluxo de dados ou fluxos de dados diferentes que têm os mesmos parâmetros, enquanto vários aplicativos adicionais recebem um fluxo de dados transmitido concomitantemente que tem parâmetros diferentes.
[0044] Em diversas modalidades alternativas, pode ser utilizada uma combinação de parâmetros tais como uma taxa de dados, a inclusão de parâmetros de calibração e o ajuste de faixas de valores dinâmicas, uma taxa de dados, uma calibração de dados, uma faixa de saída de dados, uma resolução de saída de dados, uma taxa de amostragem, uma faixa de medição, uma frequência de filtragem ou qualquer outro parâmetro que tal. Tais parâmetros podem ser fixados pelo filtro digital 230b, pelo módulo de calibração 240 ou por qualquer outro módulo adicional.
[0045] Pode ser agora descrito um exemplo potencial adicional de uma modalidade. Em uma modalidade potencial, o módulo de endereçamento de sensor 160 pode conter informações de que o fluxo de dados associado ao registrador de saída 150a inclui dados inclui dados calibrados com uma taxa de amostragem de 20 Hz e o registrador de saída 150b inclui dados não calibrados com uma taxa de amostragem de 100 Hz. Se o aplicativo 190c solicitar dados calibrados a uma taxa de amostragem de 20 Hz, as informações do registrador de saída 150a podem ser simplesmente enviadas ao aplicativo 190c. Se o aplicativo 190d solicitar dados não calibrados a 200 HZ, o filtro digital 130b pode ser modificado para ajustar a taxa de amostragem e, quando os dados no registrador de saída 150b tiverem sido ajustados de modo a corresponderem à solicitação de parâmetros do aplicativo 190d, os dados podem ser enviados ao aplicativo 190d.
[0046] Conforme descrito pela Figura 2, uma implementação potencial para negociar parâmetros para um aplicativo que solicita dados de sensor consiste em consultar um módulo de sensor com relação a fluxos disponíveis. Em diversas modalidades alternativas, um aplicativo pode enviar uma solicitação de fluxo de dados que tem determinados parâmetros. O módulo de endereçamento de sensor pode receber tal solicitação e identificar se existe um fluxo com parâmetros atuais iguais aos parâmetros solicitados. Se um fluxo de dados com os parâmetros atuais iguais aos parâmetros solicitados existir, o módulo de endereçamento de sensor pode responder ou comunicando o fluxo de dados ao aplicativo ou identificando o fluxo de dados. Os parâmetros para esse fluxo de dados podem ser fixados até que sejam liberados pelo aplicativo. Alternativamente, uma comunicação pode ser enviada ao aplicativo antes de uma atualização posterior dos parâmetros para esse fluxo de dados, indicando que o fluxo de dados já não corresponderá mais aos parâmetros solicitados.
[0047] Se um fluxo de dados com parâmetros atuais iguais aos parâmetros solicitados não existe, o módulo de endereçamento de sensor pode identificar um fluxo de dados disponível e comunicar-se com os filtros e/ou os módulos de calibração associados a esse fluxo de dados para atualizar o fluxo de dados com parâmetros que correspondem ao fluxo de dados solicitado. O fluxo de dados ou um identificador associado ao fluxo de dados pode ser então enviado ao aplicativo solicitante. Se todos os fluxos de dados estiverem em uso e nenhum dos fluxos de dados corresponder aos parâmetros de fluxo de dados solicitados, uma indicação de que nenhum fluxo de dados está disponível pode ser enviada em resposta à solicitação do fluxo de dados que tem o conjunto de parâmetros de fluxo de dados.
[0048] Com relação à Figura 3, é mostrada uma modalidade específica de otimizador de sensor. O aparelho 200 inclui um módulo de sensor 202, um otimizador de sensor 203 e aplicativos 290a-d. A modalidade de otimizador de sensor mostrada como otimizador de sensor 203 compreende um módulo de multiplexação de sinais 220, filtros digitais 230a-d, módulos de calibração 240a-d, registradores de saída 250a-d e um módulo de endereçamento de sensor 260. Embora quatro filtros digitais 230, quatro módulos de calibração 240 e quatro registradores de saída 250 sejam mostrados, qualquer número de dois ou mais de alguns elementos pode estar presente de acordo com as diversas modalidades. De maneira semelhante, embora quatro aplicativos sejam mostrados na Figura 3, qualquer número de aplicativos pode funcionar de acordo com diversas modalidades uma vez que o aplicativo ou aplicativos solicitam e recebem pelo menos dois fluxos de dados de sensor concomitantemente s de um único módulo de sensor.
[0049] O módulo de sensor 202 pode ser qualquer aparelho de detecção integrado com o aparelho 200. Por exemplo, um elemento de sensor pode ser um giroscópio, um acelerômetro, uma magnetômetro, um aparelho acoplado com carga (CCD), uma célula fotovoltaica, qualquer detector de luz, um aparelho detector de temperatura, um aparelho detector de pressão ou qualquer outro aparelho ou elemento detector de potencial.
[0050] O módulo de multiplexação de sinais 220 pode converter dados de sensor do elemento de sensor 210 em vário fluxo de dados para utilização por vários filtros digitais 230 como sinais separados.
[0051] Os filtros digitais 230 podem compreender filtros digitais de hardware que podem ser configuráveis para ajustar diversos parâmetros de um fluxo de dados associado a cada filtro digital 230 correspondente. Por exemplo, uma frequência de filtragem pode ser fixada por um filtro digital juntamente com uma taxa de amostragem e uma faixa de medição. Tais configurações podem ser comunicadas diretamente ao filtro digital 230 pelo módulo de endereçamento de sensor ou podem ser comunicadas ao filtro digital 230 por qualquer percurso de sinais apropriado. Em diversas modalidades, os filtros digitais 230 podem compreender alternativamente firmware, hardware, software ou qualquer combinação para implementar qualquer espécie de manipulação digital ou processamento digital em um fluxo de dados de origem de sensor.
[0052] Os módulos de calibração 240 podem funcionar para modificar diversos fluxos de dados com dados de calibração. Em uma modalidade potencial, cada módulo de calibração 240 compreende uma memória que armazena dados de calibração; Tais dados de calibração podem ser criados como parte de uma operação de um aparelho, onde uma entrada conhecida é fornecida ao elemento de sensor 210, e a saída do elemento de sensor 210 é compara com os valores da entrada conhecida de modo a se criarem dados de calibração. Os dados de calibração podem ser então armazenados para utilização pelos módulos de calibração. Semelhante à função dos filtros digitais 230, os módulos de calibração 240 podem ter uma entrada para receber um comando diretamente do módulo de endereçamento de sensor 260 para modificar um fluxo de dados conexo utilizando-se os dados de calibração ou para não modificar o fluxo de dados conexo utilizando-se os dados de calibração. Tal entrada pode compreender um sinal direto do módulo de endereçamento de sensor 260 ou uma entrada por meio de qualquer outro percurso possível para uma entrada de comando até o módulo de calibração 240. Em diversas modalidades, os módulos de calibração 240 podem ser implementados em hardware, firmware, software ou qualquer combinação destes. Os módulos de calibração 240 podem ser assim implementados utilizando-se uma memória que armazena dados de calibração e podem compreender também ou ser conectados a um ou mais processadores que utilizam os dados de calibração para criar um fluxo de dados calibrados de um fluxo de dados de origem.
[0053] Em diversas modalidades, os dados de calibração podem ser criados em uma configuração de fábrica, onde todas as unidades são comparadas com um alvo de detecção conhecido de modo a se compensar as variações em medições de saída de sensor onde um parâmetro de sensor está em um aparelho com módulos de sensor. Em modalidades alternativas, o usuário do aparelho pode executar uma rotina de calibração como parte de um aplicativo de calibração no aparelho de modo a atualizar os parâmetros de calibração. Em ainda outras modalidades, um aparelho pode incluir rotinas de calibração automatizadas que implementam, de maneira contínua ou periódica uma calibração automatizada ou atualização de calibração de modo a se criar uma calibração em tempo real ou tempo quase real.
[0054] O registrador de saída pode então armazenar dados para um fluxo de dados associado a partir dos respectivos filtro digital 230 e módulo de calibração 240. Tal registrador pode ser qualquer aparelho de armazenamento de dados ou memória aceitável. Quando um aplicativo 290 solicita informações do elemento de sensor 210, ele pode solicitar tais informações endereçando diretamente um registrador de saída 250 específico em uma comunicação com o módulo de endereçamento de sensor 260, ou ele pode simplesmente solicitar um fluxo de dados com um grupo fixado de parâmetros, e permitir que o módulo de endereçamento de sensor 260 solicite dados de um registrador de saída 250 depois de verificar que o filtro digital 230 e o módulo de calibração 240 para o registrador de saída 250 correspondente correspondem aos parâmetros tão intimamente quanto possível. Em determinadas modalidades, o otimizador de sensor pode “imitar” um segundo módulo, de modo que quando um processador comunica uma mensagem a um módulo de sensor, o otimizador de sensor pode interceptar a solicitação, conforme discutido acima. No exemplo da Figura 3, o módulo de endereçamento de sensor pode interceptar a solicitação de um aplicativo que funciona no processador e em seguida comunicar uma solicitação de fluxo de dados de sensor de origem ao módulo de sensor 202. Em determinadas modalidades, um aplicativo de otimizador de sensor executado por um processador pode funcionar em conjunto com o otimizador de sensor 303 para facilitar a interceptação de solicitações de dados de sensor.
[0055] Em modalidades alternativas adicionais, o módulo de endereçamento de sensor 260 pode incluir também elementos para criação de fluxos de dados adicionais. Por exemplo, se seis fluxos de dados diferentes forem solicitados do elemento de sensor 210, o módulo de endereçamento 260 pode compreender firmware, hardware ou software para criar fluxo de dados adicionais dos fluxos de dados nos registradores de saída 250. O módulo de endereçamento de sensor pode ser também capaz de criar vários fluxos de saída a partir de um único fluxo em um registrador de dados de saía e modificar um ou mais dos vários fluxos de dados ajustando a calibração, a taxa de amostragem, a largura de banda ou qualquer outro parâmetro de fluxo de dados que tal. Em tais modalidades o módulo de endereçamento de sensor 260 pode incluir ou ser conectado a um elemento de memória ou módulo de memória que armazena dados de calibração, e pode incluir também ou ser conectado a um elemento de processamento ou módulo de processamento. O módulo de endereçamento de sensor pode transmitir então vários fluxos de dados com parâmetros diferentes utilizando um fluxo de dados de um único registrador de saída, tal como o registrador de saída 250a.
[0056] A Figura 4 descreve outro exemplo de aparelho de acordo com outra modalidade potencial. O aparelho 300 da Figura 3 inclui um primeiro módulo de sensor 301, um segundo módulo de sensor 302, um otimizador de sensor 303, um processador 398 e uma memória 396. O otimizador de sensor 303 inclui um módulo de multiplexação de sinais 320, filtros digitais 330a-d, módulos de calibração 340a-d e registradores de saída 350a-d. O módulo de sensor 301 e o módulo de sensor 302 podem ser tipos diferentes de módulo de sensor. Por exemplo, o módulo de sensor 301 pode funcionar como um módulo de giroscópio e o módulo de sensor 302 pode funcionar como um módulo de câmera. Em modalidades alternativas, estes módulos de sensor podem ser módulos redundantes que executam a mesma função.
[0057] Na modalidade da Figura 4, o módulo de multiplexação de sinais pode servir a uma função dupla de criar vário fluxos de dados de sensor a partir de um único fluxo de dados de origem, e pode funcionar também como um comutador para selecionar fluxo de dados de origem diferentes a partir de módulos de sensor diferentes para percursos de circuitos diferentes associados a um registrador de saída. Assim, por exemplo, se três fluxos de dados de sensor forem solicitados do módulo de sensor 301 por aplicativos que funcionam no processador 398 e um fluxo de dados de sensor for solicitado do módulo de sensor 302, o módulo de multiplexação de sinais 320 pode criar três fluxos de dados de sensor, 323, 324 e 325 a partir do fluxo de dados de origem 311 e um único fluxo de dados de sensor 322 a partir do fluxo de dados de origem 312. Os diversos fluxos de dados de sensor 322-325 podem ser então modificados pelos filtros digitais 230 e pelos módulos de calibração 340 correspondentes de modo a corresponderem aos parâmetros de fluxo de sensor solicitados pelo processador, antes de serem armazenados nos registradores de saída 350 para comunicação ao processador 398 por meio do módulo de endereçamento de sensor 360.
[0058] A modalidade da Figura 3, um módulo de endereçamento de sensor 360 roteia dados de sensor e solicita dados de sensor entre o módulo de sensor 301 e o processador 398. Assim, em determinadas modalidades, um único otimizador de sensor pode funcionar para permitir o endereçamento e a criação de fluxo de dados para vários módulos de sensor. Em modalidades alternativas, cada módulo de sensor pode ter um otimizador de sensor separado ou grupos de módulos de sensor podem ser associados a otimizadores de sensor diferentes em qualquer combinação potencial.
[0059] Além disso, conforme mostrado pela Figura 3, os aplicativos 390a, 390b e 390c funcionam conforme executado pelo processador 398 em conjunto com a memória de armazenamento não transitória 396. Tais aplicativos podem funcionar conforme executado pelo processador 398 para solicitar dados de sensor dos módulos de sensor 300 e 400, e podem armazenar tais dados de sensor para utilização dentro da memória 396 como parte de cada aplicativo. Em modalidade potencial, um aplicativo executado pelo processador 398 pode funcionar em conjunto com o otimizador de sensor 303 de modo a gerenciar a interceptação de solicitações de dados de sensor, de modo a gerenciar as solicitações de parâmetros de fluxo de sensor diferentes e de modo a gerenciar conflitos ou números excessivos de solicitações de dados de sensor.
[0060] A Figura 3 mostra também percurso de sinal para dados de sensor e fluxo de dados de sensor derivados dos módulos de sensor 301 e 302. Por exemplo, os fluxos de dados de origem 311 são recebidos no módulo de multiplexação de sinais 320 do sensor 301, e o fluxo de dados de sensor de origem 312 é recebido no módulo de multiplexação de sinais 320 do módulo de sensor 302. Estes fluxos de dados de origem podem ser transmitidos do módulo de sensor em resposta a uma solicitação recebida no módulo de sensor do processador em conjunto com o aplicativo que gerencia um otimizador de sensor, em resposta a uma solicitação do módulo de endereçamento de sensor 360, ou em resposta a uma comunicação ao longo de um percurso de fluxo de dados de sensor tal como o percurso do registrador de saída 350 até o módulo de sensor 301 por meio do módulo de multiplexação de sinais 320, do filtro digital 330a e do módulo de calibração 340a. O módulo de multiplexação de sinais 320 transmite os fluxos de dados de sensor 322, 324 e 325, que podem ser criados utilizando-se qualquer combinação dos fluxos de dados de origem 311 e 312.
[0061] O módulo de multiplexação de sinais 320 pode ser considerado essencialmente como transmitindo fluxo de dados ao longo de percursos de hardware ou de circuitos separados, cada um dos quais tem um registrador de saída 350 para armazenar e gerenciar a saída de um fluxo de dados de sensor. Embora os ajustes de filtragem e calibração possam ser feitos em um fluxo de dados de sensor específico antes de esse fluxo ser gerenciado por um registrador de saída, o sinal recebido no registrador é ainda considerado como sendo o mesmo fluxo de dados de sensor apesar de quaisquer alterações feitas para fixar determinados parâmetros de fluxo de dados no fluxo de dados de sensor.
[0062] Conforme mostrado na Figura 4, por exemplo, o fluxo de dados de sensor 322 pode ser modificado pelo filtro digital 330d de modo a se criar um fluxo de dados de sensor filtrado 332, que pode ser também modificado pelo módulo de calibração 340d de modo a se criar um fluxo de dados de sensor calibrado 342 que é introduzido no registrador de saída 350d, mas o fluxo de dados de sensor filtrado calibrado recebido no registrador de saída 350 é ainda considerado como sendo fluxo de dados de sensor 322.
[0063] Apenas quanto a outras modalidades, embora o exemplo mostrado na Figura 4 inclua um módulo de calibração e um filtro digital para cada percurso de circuitos, qualquer combinação de módulos e percursos pode estar presente em modalidades alternativas de modo a se permitir a saída concomitante de pelo menos uma parte dos primeiro e segundo fluxos de dados de um único módulo de sensor que tem parâmetros de fluxo de dados diferentes.
[0064] A Figura 5 é um diagrama de blocos que mostra uma modalidade potencial de um aparelho móvel que pode ser utilizado em conjunto com as modalidades aqui descritas. Tais aparelhos móveis incluem módulos de sensor e um ou mais otimizadores de sensor para permitir que um único módulo de sensor transmita fluxos de dados de sensor concomitantes que têm parâmetros de fluxo de dados diferentes. Tal aparelho móvel pode também executar aplicativos conforme descrito em conjunto com diversas modalidades, de modo que os aplicativos podem solicitar dados de sensor com parâmetros de fluxo de dados diferentes de um único módulo de sensor. O aparelho móvel 500 da Figura 5 pode ser qualquer aparelho móvel tal como, um telefone inteligente, um telefone celular, um assistente digital pessoal, um computador tablet, um reprodutor de mídia pessoal assim como qualquer outro tipo de aparelho eletrônico portátil que oferece funcionalidade semelhante ou combinada. Deve ficar entendido que o aparelho 500 pode incluir também botões tácteis, um aparelho de alimentação (uma bateria, por exemplo) assim como outros componentes associados a um aparelho eletrônico portátil tal como um telefone celular inteligente. Por conseguinte, a Figura 5 não deve ser interpretada como limitadora, uma vez que alguns componentes são omitidos.
[0065] Na modalidade mostrada na Figura 5, o aparelho 500 inclui um processador 510 configurado para executar instruções para executar operações em vários componentes e pode ser, por exemplo, um processador ou microprocessador de propósito geral para implementação dentro de um aparelho eletrônico portátil. O processador 510 é acoplado comunicativamente com uma série de componentes dentro do aparelho móvel. Para realizar este acoplamento de comunicação, o processador 510 pode comunicar-se com os outros componentes mostrados através de um barramento 540. O barramento 540 pode ser qualquer subsistema adaptado para transferir dados dentro do aparelho móvel 500. O barramento 540 pode ser uma série de barramentos de computador e incluir circuitos adicionais para transferir dados.
[0066] A memória 520 pode ser acoplada ao processador 510. Em algumas modalidades a memória 520 oferece armazenamento tanto de curto prazo quanto de longo prazo e pode de fato ser dividida em várias unidades. A memória 520 pode ser volátil, tal como uma memória de acesso aleatório estática (SRAM) e/ou uma memória de acesso aleatório dinâmica (DRAM) e/ou não volátil, tal como uma memória somente de leitura (ROM), uma memória flash e semelhantes. Além disto, a memória 520 pode incluir aparelhos de armazenamento removíveis, tais como cartões digitais seguros (SD). Assim, a memória 520 provê armazenamento de instruções legíveis por computador, estrutura de dados, módulos de programa e outros dados para o aparelho móvel 500. Em algumas modalidades, a memória 520 pode ser distribuída em módulos de hardware diferentes.
[0067] O aparelho móvel 500 inclui um otimizador de sensor 505 que pode interceptar solicitações dos módulos de aplicativo 521A-N que são executados pelo processador 510 à medida que os módulos de aplicativo fazem solicitações de dados de sensor dos módulos de sensor 501A- Z. Além disto, conforme descrito acima, um módulo de aplicativo 501 pode incluir um módulo de aplicativo de otimizador de sensor que pode funcionar em conjunto o otimizador de sensor 505 para permitir a interceptação de solicitações de dados de sensor, para ajudar a endereçar fluxos de dados de sensor específicos com parâmetros de fluxo de dados específicos e para gerenciar fluxo de dados de sensor disponíveis de um ou mais módulos de sensor 501 em conjunto com o otimizador de sensor 505.
[0068] Em algumas modalidades, a memória 520 armazena uma série de módulos de aplicativo 521A-N. Os módulos de aplicativo 521A-N contêm instruções específicas a serem executadas pelo processador 510. A memória 520 pode armazenar qualquer número de módulos de aplicativo. Um respectivo módulo de aplicativo dos módulos de aplicativo 521A-N pode ser, por exemplo, um aplicativo de calendário, um aplicativo de geo-defesa, um aplicativo de gerenciamento de energia, um aplicativo de alerta inteligente, um aplicativo de meios sociais (o TwitterTM ou FacebookTM, por exemplo) ou qualquer módulo do tipo de aplicativo com instruções a serem executadas pelo processador 510. Qualquer um de tais aplicativos pode acessar dados de sensor comunicando uma solicitação de dados de sensor ou um fluxo de dados de sensor a um módulo de endereçamento de sensor. Em algumas modalidades, a memória 520 inclui um sistema operacional 523. O sistema operacional 523 pode ser acionável para iniciar a execução das instruções fornecidas pelos módulos de aplicativo 521A-N e/ou para gerenciar os módulos de sensor 501. O sistema operacional 523 pode ser adaptado para executar outras operações através dos componentes do aparelho 500, inclusive fluxos de execução, gerenciamento de recursos, controle de armazenamento de dados e outras funcionalidades semelhantes.
[0069] Em algumas modalidades, o aparelho móvel 500 inclui um ou mais módulos sem fio. Os módulos sem fio 512 podem incluir um transceptor WiFi, um transceptor para comunica-se com torres de telefones celulares ou qualquer outro módulo que tal para implementar comunicações sem fio.
[0070] Além disso, em algumas modalidades, o aparelho móvel 500 inclui uma série de módulos de sensor 501A, 501Z. Cada módulo de sensor 501 é um módulo físico dentro do aparelho 500. Entretanto, embora cada um dos módulos 501 seja permanentemente configurado como uma estrutura, um respectivo módulo dos módulos 501 pode ser temporariamente configurado para desempenhar funções específicas ou temporariamente ativado. Um exemplo comum é um módulo de aplicativo que pode programar um módulo de câmera (isto é, módulo de sensor) para liberação do obturador e captação de imagens que é ativado para captação de imagens e desativado após a captação de imagens, ou ativado para criação de um fluxo de sensor sob a forma de um fluxo de captação de vídeo, e desativado quando a captação dos dados de vídeo estiver completa. Além disto, além dos módulos de sensor 501, um número de módulos de hardware adicionais com funcionalidades específicas podem ser incluídos dentro do aparelho móvel 500. O respectivo módulo dos módulos 501 pode ser, por exemplo, um acelerômetro, um receptor de sistema de navegação por satélite (um módulo de GPS, por exemplo), um módulo de pressão, um módulo de temperatura, um módulo de saída de áudio e/ou entrada de áudio (um microfone, por exemplo), um módulo de câmera, um sensor de proximidade, um módulo de serviço de linhas alternadas (ALS), um sensor sensível ao toque capacitivo, um módulo de comunicação por campo próximo (NFC), um transceptor Bluetooth, um transceptor celular, um magnetômetro, um giroscópio, um sensor inercial (um módulo que combina um acelerômetro e um giroscópio, por exemplo), um sensor de luz ambiente, um sensor de umidade relativa ou qualquer outro módulo semelhante acionável para prover saída sensorial e o receber entrada sensorial. Em algumas modalidades, uma ou mais funções dos módulos de sensor 501 podem ser implementadas em software.
[0071] Além dos módulos de sensor 501 e dos módulos de aplicativo 521A-N, o aparelho móvel 500 pode ter um módulo de exibição e um módulo de entrada de usuário 504. O módulo de exibição 503 apresenta graficamente informações do aparelho 500 ao usuário. Estas informações podem ser derivadas de um ou mais módulos de aplicativo 521A-N, de um ou mais módulos de sensor 501, de uma combinação deles ou de quaisquer outros dispositivos adequados para resolver o conteúdo gráfico para o usuário (pelo sistema operacional 524, por exemplo). O módulo de exibição 503 pode consistir em tecnologia de tela de cristal líquido (LCD), tecnologia de tela de polímero emissor de luz (LFD) ou qualquer outra tecnologia de exibição. Em algumas modalidades, o módulo de exibição 503 é uma tela sensível ao toque capacitiva ou resistiva e pode ser sensível a contato háptico e/ou tátil com o usuário. Em tais modalidades, o módulo de exibição 503 pode compreender uma tela multi-sensível ao toque.
[0072] Modalidades adicionais de um aparelho móvel podem compreender também diversas partes de aparelhos de computação tais como os descritos em seguida com relação à Figura 7.
[0073] A Figura 6 descreve um método alternativo adicional de acordo com uma modalidade potencial. Em S610, um otimizador de sensor recebe uma primeira sinalização de dados de sensor de um processador de um primeiro elemento de sensor. A primeira solicitação de dados de sensor identificando um primeiro conjunto de parâmetro de fluxo de dados. Em S612, o otimizador de sensor recebe uma segunda solicitação de dados de sensor do primeiro elemento de sintaxe, a segunda solicitação identificando um segundo conjunto de parâmetros de fluxo de dados que é diferente do primeiro conjunto de parâmetros de fluxo de dados.
[0074] Em S614, o otimizador de sensor solicita um fluxo de dados de origem do elemento sensor, utilizando um conjunto de origem de parâmetros baseado no primeiro conjunto de parâmetros de fluxo de dados e no segundo conjunto de parâmetros de fluxo de dados. Em S616, o otimizador de sensor cria um primeiro fluxo de dados de sensor a partir do fluxo de dados de origem, onde o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetros de fluxo de dados.
[0075] Em S618, o otimizador de sensor cria um segundo fluxo de dados de sensor a partir do fluxo de dados de origem, onde o segundo fluxo de dados de sensor se conforma ao segundo conjunto de parâmetros de fluxo de dados. Em S620, o otimizador de sensor comunica concomitantemente o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor a um processador.
[0076] Será agora descrito com relação à Figura 7 um exemplo de sistema de comunicação no qual podem ser implementados diversos aspectos de um aparelho que tem um ou mais elementos de sensor e que aciona uma série de aplicativos concomitantemente. De acordo com um ou mais aspectos, o sistema de computador mostrado na Figura 7 pode ser incorporado como parte de um aparelho de computação que pode implementar e/ou executar qualquer um e/ou todos os recursos, métodos e/ou etapas de métodos aqui descritos. Por exemplo, o sistema de computador 700 pode representar alguns dos componentes de um aparelho de mão. Um aparelho de mão pode ser qualquer aparelho de computação com uma unidade sensorial de entrada tal como uma câmera e/ou uma unidade de exibição. Exemplos de aparelho de mão incluem, mas não estão limitados a, consoles para jogos de vídeo, tablets, telefones inteligentes, televisões e aparelhos móveis. Em uma modalidade, o sistema 700 é configurado para implementar qualquer um dos métodos descritos acima. A Figura 7 apresenta uma ilustração esquemática de uma modalidade de sistema de computador 700 que pode executar os métodos apresentados por diversas outras modalidades, conforme aqui descrito e/ou pode funcionar como o sistema de computador hospedeiro, um quiosque/terminal remoto, um aparelho de ponto de venda, um aparelho móvel, um conversos set-top-box e/ou um sistema de computador. A Figura 7 se destina apenas a fornecer uma ilustração generalizada de diversos componentes, qualquer um e/ou todos os quais podem ser utilizados conforme apropriado. A Figura 7, portanto, mostra amplamente como elementos de sistema individuais podem ser implementados em de maneira relativamente separada ou relativamente mais integrada.
[0077] O sistema de computador é mostrado compreendendo elementos de hardware que podem ser eletricamente acoplados por meio de um barramento 705 (ou podem estar em comunicação de outro modo conforme apropriado). Os elementos de hardware podem incluir um ou mais processadores 710, que incluem sem limitação um ou mais processadores de propósito geral e/ou um ou mais processadores de propósito especial (tais como chips de processamento de sinais digitais, processadores de aceleração gráfica e/ou semelhantes); um ou mais aparelhos de entrada 715, que podem incluir sem limitação uma câmera, um mouse, um teclado e/ou semelhantes; e um ou mais aparelhos de saída 720, que podem incluir sem limitação uma unidade de exibição, uma impressora e/ou semelhantes. Em algumas modalidades, o processador ou processadores 710 podem ser configurados para desempenhar um subconjunto ou todas as funções descritas acima com relação às Figuras 1 e 2. Por exemplo, conforme descrito acima, qualquer combinação dos aplicativos 190a-d pode ser implementada utilizando-se um ou mais processadores 710. O processador 710 pode compreender um processador geral e/ou um processador de aplicativos, por exemplo. Em diversas modalidades, o processador é integrado a um elemento que processa entradas de câmera, entrada de giroscópio e/ou entradas de outro elemento de sensor que podem ser modificadas por elementos adicionais, tais como conversores analógico-digital ou saída de dados digitais, tais como a saída de dados digitais.
[0078] O sistema de computador 700 pode incluir também ( e/ou estar em comunicação com) um ou mais aparelhos de armazenamento não transitórios 725, que podem compreender, sem limitação, armazenamento local e/ou acessível por rede, e/ou podem incluir, sem limitação, uma unidade de disco, um arranjo de acionamento, um aparelho de armazenamento óptico, um aparelho de armazenamento de estado sólido, tal como uma memória de acesso aleatório (“RAM”) e uma memória e/ou uma memória somente de leitura (“ROM”) que podem ser programáveis, atualizáveis por flash e/ou semelhantes. Tais aparelhos de armazenamento podem ser configurados para implementar qualquer armazenamento de dados apropriado, inclusive, sem limitação, diversos sistemas de arquivo, estruturas de banco de dados e/ou semelhantes.
[0079] O sistema de computador 700 pode incluir também um subsistema de comunicação 730, que pode incluir, sem limitação, um modem, uma placa de rede (sem fio ou cabeado), um aparelho de comunicação por infravermelho, um aparelho de comunicação sem fio e/ou um conjunto de chips (tal como um aparelho Bluetooth®, um aparelho 802.11, um aparelho Wi-Fi, um aparelho WiMAX, instalações de comunicação celular etc. e/ou semelhantes. O subsistema de comunicação 730 pode permitir que dados sejam trocados com uma rede (tal como a rede descrita em seguida para citar um exemplo), outros sistemas de computador e/ou quaisquer outros aparelhos aqui descritos. Em muitas modalidades, o sistema de computador 700 compreenderá também uma memória operacional não transitória 735, que pode incluir um aparelho de RAM ou ROM, conforme descrito acima.
[0080] O sistema de computador 700 pode compreender também elementos de software, mostrados como sendo atualmente localizados dentro da memória operacional 730, que incluem um sistema operacional 740, acionadores de aparelhos, bibliotecas executáveis e/ou outro código, tais como um ou mais programas de aplicativo 745, que podem compreender programa de computador providos por diversas modalidades, e/ou podem ser projetados para implementar métodos e/ou configurar sistemas, providos por outras modalidades, conforme aqui descrito. Meramente a título de exemplo, um ou mais procedimentos dos com relação ao(s) memória(s) discutidos acima, por exemplo conforme descrito com relação à Figura 2, podem ser implementados como código e/ou instruções executáveis por um computador (e/ou por um processador dentro de um computador); sob um aspecto, então, tal código e/ou instruções podem ser utilizadas para configurar e/ou adaptar um computador de propósito geral (ou outro aparelho) para executar uma ou mais operações de acordo com os métodos descritos. O processador 710, a memória 735, o sistema operacional 740 e/ou os programas de aplicativo 745 podem ser utilizados para implementar diversos blocos descritos com relação às Figuras 1-2.
[0081] Um conjunto destas instruções e/ou código pode ser armazenado em um meio de armazenamento legível por computador, tal como o aparelho de armazenamento 725 descrito acima. Em alguns casos, o meio de armazenamento pode ser incorporado dentro de um sistema de computador, tal como o sistema de computador 700. Em outras modalidades, o meio de armazenamento pode ser separado de um sistema de computador (um meio removível, tal como um disco compacto, por exemplo) e/ou apresentado em um pacote de instalação, de modo que o meio de armazenamento possa ser utilizado para programar, configurar e/ou adaptar um computador de propósito geral com as instruções/código armazenadas nele. Estas instruções podem assumir a forma de código executável, que é executável pelo sistema de computador 700 e/ou pode assumir a forma de código-fonte e/ou código instalável, o qual, mediante compilação e/ou instalação no sistema de computador 700 (como, por exemplo, utilizando-se qualquer um de diversos compiladores, programas de instalação, utilitários de compactação/descompactação geralmente disponíveis, etc.) assume então a forma de código executável.
[0082] Variações substanciais podem ser feitas de acordo com requisitos específicos. Pode ser também utilizado um hardware personalizado, por exemplo, e/ou elementos específicos podem ser implementados em hardware, software (inclusive software portátil, tais como applets, etc.) ou em ambos. Além disto, pode ser utilizada uma conexão com outros aparelhos de computação, tais como aparelhos de entrada/saída de rede.
[0083] Algumas modalidades podem utilizar um sistema de computador (tal como o sistema de computador 700) para executar métodos de acordo com a revelação. Por exemplo, alguns ou todos os procedimentos dos métodos descritos podem ser executados pelo sistema de computador 700 em resposta à execução pelo processador 710 de uma ou mais sequências, de uma ou mais instruções (que podem ser incorporadas ao sistema operacional e/ou outro código, tal como um programa de aplicativo 745) contido na memória operacional 735. Tais instruções podem ser lidas para dentro da memória operacional 735 de outro meio legível por computador, tal como um ou mais dos aparelhos de armazenamento 725 das sequências das instruções contidas na memória operacional 735 podem fazer com que o(s) processador(s) executem um ou mais procedimentos das memórias aqui descritos, por exemplo, os métodos descritos com relação às Figuras 1 e 2.
[0084] Os termos “meio legível por computador” e “meio legível por computador”, conforme aqui utilizados, referem-se a qualquer meio que participe do fornecimento de dados que fazem com que uma máquina funcione de maneira específica. Em uma modalidade implementada utilizando-se o sistema de computador 700, diversos meios legíveis por computador podem estar envolvidos no fornecimento de instruções/código aos processadores 710 para execução e/ou podem ser utilizados para armazenar e/ou portar tais instruções/código (como sinais, por exemplo). Em muitas implementações, um meio legível por computador é um meio de armazenamento físico ou tangível. Tal meio pode assumir muitas formas, que incluem, mas não se limitam a meios não voláteis, meios voláteis e meios de transmissão. Os meios não voláteis incluem, por exemplo, discos ópticos e/ou magnéticos tais como os aparelhos de armazenamento 725. Os meios voláteis incluem, sem limitação, memória dinâmica, a memória operacional 735. Os meios de transmissão incluem, sem limitação, cabos coaxiais, fio de cobre e fibra óptica, que incluem os fios que compreendem o barramento 705, assim como os diversos componentes do subsistema de comunicação 730 (e/ou os meios pelos quais o subsistema de comunicação 730 estabelece comunicação com outros aparelhos). Consequentemente, os meios de transmissão podem assumir também a forma de ondas (que incluem, sem limitação, ondas de rádio, acústicas e/ou luminosas, tais como as geradas durante comunicações de dados por ondas de rádio e infravermelhas).
[0085] Formas comuns de meios legíveis por computador físicos e/ou tangíveis, incluem, por exemplo, um disco flexível, um disco rígido, fita magnética ou qualquer outro meio magnético, um CD-ROM, qualquer outro meio óptico, cartões perfurados, fita de papel, qualquer outro meio físico com padrões de orifícios, uma RAM, uma PROM, uma EPROM, uma EPROM flash, qualquer outro chip ou cartucho de memória, uma onda portadora conforme descrito a seguir ou qualquer outro meio do qual um computador possa ler instruções e/ou código.
[0086] Diversas formas de meios legíveis por computador podem estar envolvidas na ação de portar uma ou mais sequências de uma ou mais instruções até os processadores 710 para execução. Meramente a título de exemplo, as instruções podem ser inicialmente portadas em um disco magnético e/ou disco óptico de um computador remoto. Um computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções como sinais através de um meio de transmissão de modo a serem recebidas e/ou executadas pelo sistema de computador 700. Estes sinais, que podem estar sob a forma de sinais eletromagnéticos, sinais acústicos, sinais ópticos e/ou semelhantes, são todos exemplos de ondas portadoras nas quais as instruções podem ser codificadas, de acordo com diversas modalidades da invenção.
[0087] O subsistema de comunicação 730 (e/ou componentes dele) receberão geralmente os sinais, e o barramento 705 pode então portar os sinais (e/ou os dados, instruções, etc., portados pelos sinais) até a modelo operacional 735, da qual os processadores 710 recuperam e executam as instruções. As instruções recebidas pela modelo operacional 735 podem ser opcionalmente armazenadas em um meio de armazenamento não transitório 725 ou antes ou depois da execução pelos processadores 710.
[0088] Os métodos, sistemas e aparelhos discutidos acima são exemplos. Diversas modalidades podem omitir, substituir ou adicionar diversos procedimentos ou componentes, conforme apropriado. Em configurações alternativas, por exemplo, os métodos descritos podem ser executados em uma ordem diferente da descrita, e/ou diversos estágios podem ser adicionados, omitidos e/ou combinados. Além disto, os recursos descritos com relação a determinadas modalidades podem ser combinados em diversas outras modalidades. Aspectos e elementos diferentes das modalidades podem ser combinados de maneira semelhante. Além disto, tecnologia evolui e, portanto, muitos dos elementos são exemplos que não limitam o alcance da revelação a esses exemplos específicos.
[0089] Detalhes específicos são dados na descrição de modo a se obter um entendimento completo das modalidades. Entretanto, as modalidades podem ser postas em prática sem estes detalhes específicos. Por exemplo, circuitos, processos, algoritmos, estruturas e técnicas notoriamente conhecidos foram mostrados sem detalhes desnecessários de modo a se evitar o obscurecimento das modalidades. Esta descrição apresenta apenas modalidades exemplares e não pretende limitar o alcance, a aplicabilidade ou a configuração da invenção. Em vez disso, a descrição precedente das modalidades fornecerá aos versados na técnica uma descrição habilitadora para implementar as modalidades da invenção. Diversas alterações podem ser feitas na função e disposição dos elementos sem que se abandone o espírito e o alcance da invenção.
[0090] Além disso, algumas modalidades foram descritas como processos mostrados como diagrama de fluxos ou diagrama de blocos. Embora cada um deles possa descrever as operações como um processo seqüencial, muitas das operações podem ser executadas em paralelo ou concomitantemente. Além disto, a ordem das operações pode ser novamente disposta. Um processo pode ter etapas adicionais não incluídas na figura. Além disto, as modalidades dos métodos podem ser implementadas por hardware, software, firmware, middleware, microcódigo, linguagens de descrição de hardware ou qualquer combinação deles. Quando implementado em software, firmware, middleware ou microcódigo, o código de programa ou segmentos de código para executar as tarefas conexas podem ser armazenados em um meio legível por computador, tal como um meio de armazenamento. Processadores podem executar as tarefas conexas.
[0091] Tendo sido descritas várias modalidades, diversas modificações, construções alternativas e equivalentes podem ser utilizadas sem que se abandone o espírito da revelação. Por exemplo, os elementos acima podem ser meramente um componente de um sistema maior, em que outras regras podem assumir precedência sobre ou senão modificar a aplicação da invenção. Além disto, várias etapas podem ser empreendidas, antes, durante ou depois que os elementos acima forem considerados. Por conseguinte, a descrição acima não limita o alcance da revelação.

Claims (14)

1. Método caracterizado pelo fato de que compreende: receber, em um otimizador de sensor, uma primeira solicitação de um processador para dados de sensor de um primeiro elemento de sensor, a primeira solicitação de dados de sensor identificando um primeiro conjunto de parâmetros de fluxo de dados; receber, no otimizador de sensor, uma segunda solicitação de dados de sensor do primeiro elemento de sensor, a segunda solicitação identificando um segundo conjunto de parâmetros de fluxo de dados que é diferente do primeiro conjunto de parâmetros de fluxo de dados; solicitar, pelo otimizador de sensor, um fluxo de dados de origem do primeiro elemento de sensor, utilizando um conjunto de parâmetros de origem baseado no primeiro conjunto de parâmetros de fluxo de dados e no segundo conjunto de parâmetros de fluxo de dados; criar, pelo otimizador de sensor, um primeiro fluxo de dados de sensor a partir do fluxo de dados de origem, em que o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetros de fluxo de dados; criar, pelo otimizador de sensor, um segundo fluxo de dados de sensor a partir do fluxo de dados de origem, em que o segundo fluxo de dados de sensor se conforma ao segundo conjunto de parâmetros de fluxo de dados; comunicar, concomitantemente, o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor ao processador; e em que a primeira solicitação de dados de sensor compreende uma solicitação de dados calibrados; em que o primeiro fluxo de dados de sensor se conforma ao primeiro conjunto de parâmetros de fluxo de dados e compreende os dados calibrados.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a segunda solicitação de dados de sensor compreende uma solicitação de dados não calibrados; em que o segundo fluxo de dados de sensor se conforma com o segundo conjunto de parâmetros de fluxo de dados e compreende os dados não calibrados.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e em que a segunda solicitação de dados de sensor é recebida do primeiro aplicativo que funciona no processador.
4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e em que a segunda solicitação de dados de sensor é recebida de um segundo aplicativo que funciona no processador.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o primeiro aplicativo compreende um aplicativo de câmera e o segundo aplicativo compreende um aplicativo de navegação.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o primeiro elemento de sensor compreende um giroscópio.
7. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o primeiro elemento de sensor compreende um acelerômetro; e preferencialmente, em que o primeiro aplicativo compreende um aplicativo de controle de orientação de interface de usuário e em que o segundo aplicativo compreende um aplicativo de navegação.
8. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a primeira solicitação de dados de sensor é recebida de um primeiro aplicativo que funciona no processador e em que a segunda solicitação de dados de sensor é recebida de um segundo aplicativo que funciona em um segundo processador dentro de um dispositivo móvel que compreende o processador.
9. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que criar o primeiro fluxo de dados de sensor e o segundo fluxo de dados de sensor compreende: receber o fluxo de dados de origem do primeiro elemento de sensor em um módulo de multiplexação de sinais do otimizador de sensor; transmitir o primeiro fluxo de dados de sensor do módulo de multiplexação de sinais para um primeiro registrador de saída do otimizador de sensor; e transmitir o segundo fluxo de dados de sensor do módulo de multiplexação de sinais para um segundo registrador de saída do otimizador de sensor.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que comunicar, concomitantemente, o primeiro fluxo de dados de sensor ao primeiro aplicativo e o segundo fluxo de dados de sensor ao segundo aplicativo, compreende: comunicar o primeiro fluxo de dados de sensor do primeiro registrador de saída ao primeiro aplicativo do processador por meio de um módulo de endereçamento de sensor começando em um primeiro tempo e terminando em um segundo tempo; e comunicar o segundo fluxo de dados de sensor do segundo registrador de saída ao segundo aplicativo do processador por meio do módulo de endereçamento de sensor começando em um terceiro tempo e terminando em um quarto tempo, em que o terceiro tempo é posterior ao primeiro tempo e o terceiro tempo é anterior ao segundo tempo.
11. Dispositivo caracterizado pelo fato de que compreende: um primeiro módulo de sensor compreendendo um primeiro elemento de sensor; um otimizador de sensor acoplado ao primeiro módulo de sensor; e um processador acoplado ao primeiro módulo de sensor por meio do otimizador de sensor; em que o otimizador de sensor recebe um fluxo de dados de sensor de origem do primeiro módulo de sensor e transmite, concomitantemente, para o processador pelo menos dois fluxos de dados de sensor derivados do fluxo de dados de sensor de origem; e em que o otimizador de sensor, compreende: uma pluralidade de filtros digitais acoplados ao primeiro elemento de sensor por um módulo de multiplexação de sinais; uma pluralidade de registradores de saída, cada registrador de saída acoplado a um filtro digital correspondente da pluralidade de filtros digitais; e um módulo de endereçamento de sensor acoplado à pluralidade de registradores de saída.
12. Dispositivo, de acordo com a reivindicação 11, caracterizado pelo fato de que o otimizador de sensor compreende adicionalmente um primeiro módulo de calibração; em que a pluralidade de filtros digitais compreende um primeiro filtro digital e um segundo filtro digital; em que o processador executa uma pluralidade de aplicativos, cada aplicativo da pluralidade de aplicativos provendo um conjunto de parâmetros de fluxo de dados ao processador para comunicação com o módulo de endereçamento de sensor como parte de uma solicitação de dados de sensor por cada aplicativo da pluralidade de aplicativos; em que a pluralidade de registradores de saída compreende um primeiro registrador de saída acoplado ao primeiro filtro digital e um segundo registrador de saída acoplado ao segundo filtro digital; e em que o primeiro filtro digital é acoplado ao primeiro registrador de saída por meio do primeiro módulo de calibração.
13. Dispositivo caracterizado pelo fato de que compreende: um dispositivo para interceptar um fluxo de dados de sensor de origem de um módulo de sensor; um dispositivo para criar pelo menos dois fluxos de dados de sensor diferentes derivados do fluxo de dados de sensor de origem; e um dispositivo para transmitir, concomitantemente, os pelo menos dois fluxos de dados de sensor diferentes para um processador; e compreendendo adicionalmente: um dispositivo para interceptar solicitações de fluxos de dados de sensor do processador para o módulo de sensor; e um dispositivo para ajustar um conjunto de parâmetros de fluxo de sensor para cada fluxo de dados de sensor de modo a corresponder aos parâmetros de fluxos de sensor solicitados das solicitações interceptadas de fluxos de dados de sensor; e adicionalmente compreendendo: um dispositivo para interceptar um segundo fluxo de dados de origem de um segundo módulo de sensor; um dispositivo para criar pelo menos dois segundos fluxos de dados de sensor diferentes derivados do segundo fluxo de dados de sensor de origem; e um dispositivo para transmitir, concomitantemente, os pelo menos dois segundos fluxos de dados de sensor diferentes para o processador.
14. Memória legível por computador não transitória caracterizada pelo fato de que compreende instruções legíveis por computador que, quando executadas por um processador acoplado ao meio de armazenamento, fazem com que o dispositivo execute o método conforme definido em qualquer uma das reivindicações 1-10.
BR112015001012-1A 2012-07-17 2013-06-24 Método e dispositivos para controlar fluxos de dados concomitantes tendo diferentes parâmetros de fluxo de dados do mesmo sensor, e memória legível por computador BR112015001012B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261672677P 2012-07-17 2012-07-17
US61/672,677 2012-07-17
US13/799,201 US9462632B2 (en) 2012-07-17 2013-03-13 Concurrent data streaming using various parameters from the same sensor
US13/799,201 2013-03-13
PCT/US2013/047295 WO2014014618A2 (en) 2012-07-17 2013-06-24 Concurrent data streaming using various parameters from the same sensor

Publications (2)

Publication Number Publication Date
BR112015001012A2 BR112015001012A2 (pt) 2017-06-27
BR112015001012B1 true BR112015001012B1 (pt) 2022-03-15

Family

ID=49946512

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015001012-1A BR112015001012B1 (pt) 2012-07-17 2013-06-24 Método e dispositivos para controlar fluxos de dados concomitantes tendo diferentes parâmetros de fluxo de dados do mesmo sensor, e memória legível por computador

Country Status (10)

Country Link
US (1) US9462632B2 (pt)
EP (1) EP2875416B1 (pt)
JP (1) JP6151357B2 (pt)
KR (1) KR102028141B1 (pt)
CN (1) CN104487914B (pt)
BR (1) BR112015001012B1 (pt)
ES (1) ES2710515T3 (pt)
IN (1) IN2015MN00036A (pt)
TW (1) TWI518513B (pt)
WO (1) WO2014014618A2 (pt)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641266B2 (en) 2012-07-17 2017-05-02 Qualcomm Incorporated Sensor with concurrent data streaming using various parameters
BR112014017684B1 (pt) 2012-09-12 2021-09-28 Omron Corporation Aparelho de geração de ordem de controle de fluxo de dados, aparelho de gerenciamento de sensor e fluxo de dados de ordem de controle
US9816370B2 (en) * 2012-09-19 2017-11-14 Honeywell International Inc. System and method for optimizing an operation of a sensor used with wellbore equipment
US10536108B2 (en) * 2012-10-12 2020-01-14 Smash Solar, Inc. Sensing, interlocking solar panel system and installation method
EP2754524B1 (de) 2013-01-15 2015-11-25 Corning Laser Technologies GmbH Verfahren und Vorrichtung zum laserbasierten Bearbeiten von flächigen Substraten, d.h. Wafer oder Glaselement, unter Verwendung einer Laserstrahlbrennlinie
EP2781296B1 (de) 2013-03-21 2020-10-21 Corning Laser Technologies GmbH Vorrichtung und verfahren zum ausschneiden von konturen aus flächigen substraten mittels laser
US11556039B2 (en) 2013-12-17 2023-01-17 Corning Incorporated Electrochromic coated glass articles and methods for laser processing the same
US9517963B2 (en) 2013-12-17 2016-12-13 Corning Incorporated Method for rapid laser drilling of holes in glass and products made therefrom
US9607319B2 (en) 2013-12-30 2017-03-28 Adtile Technologies, Inc. Motion and gesture-based mobile advertising activation
US9436270B2 (en) * 2014-02-12 2016-09-06 Qualcomm Incorporated Wireless low-energy secure data transfer
CH709355A1 (it) * 2014-03-13 2015-09-15 Alessandro Pasquali Metodo e impianti per connessioni mediante raggi luminosi.
JP6364315B2 (ja) * 2014-07-04 2018-07-25 ルネサスエレクトロニクス株式会社 電子装置
JP2017521259A (ja) 2014-07-08 2017-08-03 コーニング インコーポレイテッド 材料をレーザ加工するための方法および装置
US11648623B2 (en) 2014-07-14 2023-05-16 Corning Incorporated Systems and methods for processing transparent materials using adjustable laser beam focal lines
CN105806362B (zh) * 2014-12-30 2018-08-24 上海新跃仪表厂 一种ccd探测器辐射效应试验装置
EP3848334A1 (en) 2015-03-24 2021-07-14 Corning Incorporated Alkaline earth boro-aluminosilicate glass article with laser cut edge
CN107835794A (zh) 2015-07-10 2018-03-23 康宁股份有限公司 在挠性基材板中连续制造孔的方法和与此相关的产品
US9578493B1 (en) 2015-08-06 2017-02-21 Adtile Technologies Inc. Sensor control switch
US10437463B2 (en) 2015-10-16 2019-10-08 Lumini Corporation Motion-based graphical input system
US10458812B2 (en) * 2015-10-30 2019-10-29 Invensense, Inc. Sensor output configuration
KR102525295B1 (ko) * 2016-01-06 2023-04-25 삼성전자주식회사 데이터 관리 방법 및 장치
JP6447530B2 (ja) 2016-01-29 2019-01-09 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
JP6447531B2 (ja) 2016-01-29 2019-01-09 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
US10196152B2 (en) 2016-03-29 2019-02-05 Simmonds Precision Products, Inc. Sensor data processing for condition monitoring systems
WO2018064409A1 (en) 2016-09-30 2018-04-05 Corning Incorporated Apparatuses and methods for laser processing transparent workpieces using non-axisymmetric beam spots
EP3848333A1 (en) 2016-10-24 2021-07-14 Corning Incorporated Substrate processing station for laser-based machining of sheet-like glass substrates
CN106643604A (zh) * 2016-12-29 2017-05-10 成都多沐汽车工程有限公司 数据交互方法及装置、数字化检具系统
US9983687B1 (en) 2017-01-06 2018-05-29 Adtile Technologies Inc. Gesture-controlled augmented reality experience using a mobile communications device
CN107623789A (zh) * 2017-09-26 2018-01-23 惠州Tcl移动通信有限公司 移动终端及磁传感器数据控制方法、及存储介质
CN108770048B (zh) * 2018-04-28 2021-05-18 Oppo广东移动通信有限公司 功耗控制方法及相关装置
US11068530B1 (en) * 2018-11-02 2021-07-20 Shutterstock, Inc. Context-based image selection for electronic media
US10728633B2 (en) * 2018-12-19 2020-07-28 Simmonds Precision Products, Inc. Configurable distributed smart sensor system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940004404B1 (ko) 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US6362737B1 (en) * 1998-06-02 2002-03-26 Rf Code, Inc. Object Identification system with adaptive transceivers and methods of operation
DE10007813A1 (de) 2000-02-21 2001-09-06 Becker Gmbh Navigationssystem für ein Kraftfahrzeug und Verfahren zum Betreiben eines Navigationssystems
CA2418612C (en) 2002-12-06 2005-12-27 Marian Gavrila Hybrid communication terminal - alarm system
WO2004086748A2 (en) 2003-03-20 2004-10-07 Covi Technologies Inc. Systems and methods for multi-resolution image processing
JP5028751B2 (ja) 2005-06-09 2012-09-19 ソニー株式会社 行動認識装置
EP2523112B1 (en) * 2006-04-07 2017-10-18 Qualcomm Incorporated Sensor interface, and methods and apparatus pertaining to same
US20100005117A1 (en) 2006-07-28 2010-01-07 Koninklijke Philips Electronics N. V. Distributed shared data space for personal health systems
US8769485B2 (en) 2006-12-04 2014-07-01 Tibco Software, Inc. Data parallelism and parallel operations in stream processing
EP2123048A1 (en) 2007-01-22 2009-11-25 Nxp B.V. Computer device and method for adapting the compression rate of digital images
US20090003599A1 (en) 2007-06-29 2009-01-01 Honeywell International, Inc. Systems and methods for publishing selectively altered sensor data in real time
US8037485B1 (en) 2007-09-04 2011-10-11 Adobe Systems Incorporated Abstracting data acquisition and management
CA2715628A1 (en) 2008-02-21 2009-08-27 Dexcom, Inc. Systems and methods for processing, transmitting and displaying sensor data
US8797178B2 (en) 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
US8212720B2 (en) 2008-09-24 2012-07-03 Texas Instruments Incorporated Detecting lack of movement to aid GNSS receivers
US20100097464A1 (en) 2008-10-17 2010-04-22 Volpe Industries Network video surveillance system and recorder
US9398536B2 (en) 2009-05-29 2016-07-19 Qualcomm Incorporated Method and apparatus for movement detection by evaluating elementary movement patterns
US9074897B2 (en) 2009-06-15 2015-07-07 Qualcomm Incorporated Real-time data with post-processing
US8645093B2 (en) * 2009-11-04 2014-02-04 Qualcomm Incorporated Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US8781737B2 (en) 2009-11-20 2014-07-15 Qualcomm Incorporated Spatial alignment determination for an inertial measurement unit (IMU)
US8612146B2 (en) 2010-02-15 2013-12-17 Texas Instruments Incorporated Accelerometer-aided gyroscope
US8310380B2 (en) 2010-03-02 2012-11-13 Invensense Inc. Selectable communication interface configurations for motion sensing device
US8271235B2 (en) 2010-03-30 2012-09-18 Qualcomm Incorporated Efficient concurrent sampling at different rates
US9501100B2 (en) * 2010-09-30 2016-11-22 Apple Inc. Communicating sensor data between electronic devices
EP2447669A1 (en) 2010-10-26 2012-05-02 Research In Motion Limited System and method for calibrating a magnetometer using partial and full calibrations
US8922198B2 (en) 2010-10-26 2014-12-30 Blackberry Limited System and method for calibrating a magnetometer according to a quality threshold
CA2819931A1 (en) 2010-12-30 2012-04-26 Arinnovation Ag Method for configuring a motion sensor as well as a configurable motion sensor and a system for configuring such a motion sensor
US8676528B2 (en) * 2011-02-08 2014-03-18 Blackberry Limited System and method for calibrating an accelerometer
US9541393B2 (en) * 2011-06-30 2017-01-10 Qualcomm Incorporated Reducing power consumption or error of digital compass
US9641266B2 (en) 2012-07-17 2017-05-02 Qualcomm Incorporated Sensor with concurrent data streaming using various parameters

Also Published As

Publication number Publication date
WO2014014618A3 (en) 2014-02-13
CN104487914B (zh) 2017-08-04
EP2875416A2 (en) 2015-05-27
IN2015MN00036A (en) 2015-10-16
EP2875416B1 (en) 2018-12-12
US9462632B2 (en) 2016-10-04
ES2710515T3 (es) 2019-04-25
JP2015524970A (ja) 2015-08-27
BR112015001012A2 (pt) 2017-06-27
JP6151357B2 (ja) 2017-06-21
KR20150036601A (ko) 2015-04-07
TWI518513B (zh) 2016-01-21
KR102028141B1 (ko) 2019-10-02
US20140023087A1 (en) 2014-01-23
TW201405318A (zh) 2014-02-01
CN104487914A (zh) 2015-04-01
WO2014014618A2 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
BR112015001012B1 (pt) Método e dispositivos para controlar fluxos de dados concomitantes tendo diferentes parâmetros de fluxo de dados do mesmo sensor, e memória legível por computador
US10530511B2 (en) Sensor with concurrent data streaming using various parameters
US10574895B2 (en) Image capturing method and camera equipped electronic device
KR101069566B1 (ko) 센서 인터페이스, 및 센서 인터페이스에 관한 방법 및 장치
EP3342150B1 (en) Electronic device
US20180007315A1 (en) Electronic device and image capturing method thereof
US10831792B2 (en) Sensor information using method and electronic device using the same
US10151602B2 (en) Electronic device and method for calibrating gyro sensor thereof
KR102240719B1 (ko) 위치 정보 획득 방법 및 그 전자 장치
CN110913356A (zh) 物联网(IoT)服务器和包括其的IoT系统
WO2017191908A1 (ko) 위치 정보 계산 방법 및 그 전자 장치
ES2796382T3 (es) Dispositivo electrónico y procedimiento para proporcionar información de ruta
KR102432683B1 (ko) 움직임에 기반하여, 외부의 공기와 관련된 데이터 보정 및 생성하기 위한 방법 및 전자 장치
KR102620877B1 (ko) 이미지의 촬영 장소를 추천하는 전자 장치 및 방법
KR20180038892A (ko) 영상 처리 방법 및 이를 지원하는 전자 장치
KR20160049997A (ko) 프록시를 사용하는 원격 기능을 제공하는 방법 및 장치
KR102164900B1 (ko) 전자 장치 및 전자 장치의 위치 정보 측정 방법

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 24/06/2013, OBSERVADAS AS CONDICOES LEGAIS.