BR112020000535B1 - Método implementado por computador para proporcionar orientação de percurso, meio de armazenamento legível por computador não transitório e sistema de computador - Google Patents

Método implementado por computador para proporcionar orientação de percurso, meio de armazenamento legível por computador não transitório e sistema de computador Download PDF

Info

Publication number
BR112020000535B1
BR112020000535B1 BR112020000535-5A BR112020000535A BR112020000535B1 BR 112020000535 B1 BR112020000535 B1 BR 112020000535B1 BR 112020000535 A BR112020000535 A BR 112020000535A BR 112020000535 B1 BR112020000535 B1 BR 112020000535B1
Authority
BR
Brazil
Prior art keywords
user
pois
visible
poi
location
Prior art date
Application number
BR112020000535-5A
Other languages
English (en)
Other versions
BR112020000535A2 (pt
Inventor
Christopher Moore
Janice J. Suh
Benjamin Kadlec
Christine Misuye Tao
Original Assignee
Uber Technologies, Inc
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 Uber Technologies, Inc filed Critical Uber Technologies, Inc
Publication of BR112020000535A2 publication Critical patent/BR112020000535A2/pt
Publication of BR112020000535B1 publication Critical patent/BR112020000535B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
    • G01C21/3682Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities output of POI information on a road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3644Landmark guidance, e.g. using POIs or conspicuous other objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)

Abstract

a presente invenção refere-se a um sistema que determina um conjunto de pois que são visíveis a partir de uma localização. o sistema armazena um mapa de visibilidade para cada poi. um mapa de visibilidade inclui dados sobre localizações ou regiões a partir das quais o poi associado é visível. os dados podem incluir informações sobre o quanto o poi é visível, a partir de diferentes localizações. o sistema divide uma região em caminhos binários (por exemplo, geocercas através das quais um percurso passa). cada caminho binário está associado a um conjunto de pois que são visíveis a partir de localizações dentro do caminho binário. quando o sistema recebe um pedido a partir de um dispositivo do usuário para informações sobre pois visíveis, o sistema determina um caminho binário que corresponde à localização do dispositivo do usuário, identifica pois associados ao caminho binário, e transmite informações sobre o conjunto de pois para o dispositivo do usuário.

Description

Antecedentes Campo da Técnica
[0001] A presente invenção refere-se, de um modo geral, a uma navegação de viagem, e em particular ao uso de pontos de referência para ajudar a navegação.
Descrição da Técnica
[0002] Sistemas computadorizados fornecem uma maneira de determinar percursos para endereços de destino. Os sistemas computadorizados podem encontrar endereços especificados pelo usuário em um mapa, e fornecer percursos entre múltiplos endereços. Mapeando e percorrendo podem ter várias aplicações, tal como ajudar grupos de pessoas coordenarem a viagem, e direcionar motoristas de veículos para locais com os quais os motoristas podem não estar familiarizados. Por exemplo, sistemas de mapeamento e encaminhamento podem fornecer nomes de ruas para um motorista, quando o motorista se aproxima de curvas ao longo de um percurso, se os sistemas têm dados sobre os nomes das ruas ao longo do percurso. Entretanto, pode ser difícil fornecer instruções de navegação significativas para um motorista, se os sistemas de mapeamento e encaminhamento não têm informações sobre os nomes das ruas, ou se o motorista está viajando através de uma região em que uma ou mais ruas não têm nomes de rua.
Sumário
[0003] As acima e outras necessidades são atendidas por métodos, meios de armazenamento legíveis por computador não transitórios, e sistemas de computador para identificar pontos de interesse (POIs), que são visíveis a partir de um local.
[0004] Exemplos descritos no presente documento fornecem um método implementado por computador, etapas armazenadas no meio de armazenamento legível por computador não transitório, e sistemas de computador incluindo um ou mais processadores de computador, a fim de executar instruções de programa de computador, e um meio de armazenamento legível por computador não transitório, armazenando instruções que podem ser executadas por um ou mais processadores. Em um exemplo, um método inclui recebimento de dados de localização, a partir de um dispositivo do usuário, e determinando um caminho binário (road bin) associado à localização recebida, em que um caminho binário é um agrupamento de dados relacionados com uma região geográfica. O método ainda inclui identificar um conjunto de POIs, que são visíveis para um observador a partir de dentro do caminho binário, com dados armazenados no caminho binário, determinando, dentro de um conjunto de regras predeterminadas, um subconjunto de POIs visíveis identificados, para o dispositivo do usuário apresentar para um usuário, e transmitir informações sobre o subconjunto de POIs para o dispositivo do usuário.
[0005] Em outro exemplo, um método inclui receber dados de roteiro, a fim de dirigir o usuário de um local de origem para um local de destino. Tais dados de roteiro podem incluir uma rota e instruções para seguir a rota. O método ainda inclui determinar um conjunto de caminhos binários, através do qual a estrada passa, e identificar um conjunto de POIs que são visíveis ao longo do caminho, usando informações do conjunto determinado de caminhos binários. Quando um usuário se movimenta ao longo do caminho, o método inclui receber dados de localização atualizados, a partir do dispositivo do usuário, e transmitir instruções de roteiro relacionadas aos POIs visíveis para o dispositivo do usuário. Instruções de roteiro podem incluir informações sobre o caminho, em relação aos POIs que são visíveis ao longo do caminho.
[0006] As características e vantagens descritas neste sumário, e a descrição detalhada a seguir não são inclusivas. Muitas características e vantagens adicionais, serão evidentes para a pessoa de conhecimento comum na técnica em vista dos desenhos, relatório descritivo e reivindicações a este respeito.
Breve Descrição dos Desenhos
[0007] A FIG. 1 é um diagrama de bloco de um sistema para identificação de pontos de interesse (POIs), que são visíveis a partir da localização, de acordo com algumas modalidades.
[0008] A FIG. 2 é uma interface de exemplo do usuário, exibindo instruções de navegação usando pontos de referência, de acordo com algumas modalidades.
[0009] A FIG. 3 ilustra um mapa de visibilidade de POI de exemplo, de acordo com uma modalidade.
[0010] A FIG. 4 ilustra um exemplo do uso de caminhos binários, a fim de associar uma localização de um dispositivo do usuário com os POIs visíveis, de acordo com uma modalidade.
[0011] A FIG. 5 é um fluxograma ilustrando um processo para fornecer um dispositivo do usuário, com informações sobre POIs, de acordo com uma modalidade.
[0012] A FIG. 6 é um fluxograma ilustrando um processo para fornecer um dispositivo do usuário com instruções de roteiro, relacionadas aos POIs visíveis ao longo de um percurso, de acordo com uma modalidade.
[0013] A FIG. 7 é um diagrama de bloco ilustrando componentes de uma máquina de exemplo, capaz de ler instruções de um meio legível por máquina, e executá-los em um ou mais processadores, de acordo com uma modalidade.
[0014] As figuras representam uma modalidade da invenção para fins de ilustração somente. A pessoa versada na técnica vai prontamente reconhecer, a partir da descrição a seguir, que modalidades alternativas das estruturas e métodos ilustrados no presente documento, podem ser empregados sem se afastar dos princípios da invenção descrita no presente documento.
Descrição Detalhada
[0015] Um sistema identifica pontos de interesse (POIs), por exemplo, pontos de referência, para uma interface gráfica do usuário (GUI), de acordo com um nível de visibilidade do POI, a partir do local do usuário. Por exemplo, um sistema de navegação pode informar um usuário operando um veículo (por exemplo, um carro) virar, quando um ponto de referência particular se torna visível para o usuário, a partir de dentro do veículo. Tal informação a respeito dos POIs, pode ser especialmente útil em regiões em que as estradas não têm nomes, ou quando o sistema não tem dados sobre os nomes das estradas.
[0016] O sistema armazena dados sobre a visibilidade dos POIs individuais. Por exemplo, o sistema pode armazenar um mapa de visibilidade da visibilidade de cada POI dentro de uma região. Um mapa de visibilidade pode ser no formato de um mapa de calor, ou um mapa de choropleth, em que ele associa regiões de uma área geográfica com um valor que representa a intensidade, quantidade ou facilidade de visibilidade de um POI de cada região. Tal mapa de visibilidade pode incluir dados sobre locais, a partir dos quais um POI é visível, distâncias em que o POI é visível, porções do POI que são visíveis a partir de diferentes locais, topos em que um POI é visível, descrições relacionadas ao POI, etc.
[0017] O sistema acompanha quais são os POIs visíveis, a partir de áreas geográficas diferentes, armazenando identificadores de POIs em agrupamentos de dados lógicos, relacionados às áreas geográficas a partir as quais os POIs são visíveis. Tais agrupamentos de dados geográficos são referidos no presente documento como "caminhos binários". Mais especificamente, um caminho binário é uma estrutura de dados, que armazena dados em relação a uma localização geográfica. Por exemplo, um caminho binário pode ser definido por uma geocerca, em torno de uma porção de um segmento de estrada em um mapa. Dados relacionados a uma localização ao longo de uma estrada, podem ser armazenados e acessados através do caminho binário, que inclui a localização. Os mapas de visibilidade de POI são usados, a fim de determinar quais POIs devem ser associados com cada caminho binário. Conceptualmente, um caminho binário armazena informações, identificando POIs que têm mapas de visibilidade, que indicam que o POI é visível, a partir de pelo menos uma posição dentro do caminho binário. Em uma modalidade, múltiplos caminhos binários podem ser associados com a mesma área de um mapa, cada um dos caminhos binários representando uma posição (por exemplo, um caminho binário associado a uma posição na direção norte, pode incluir POIs que são visíveis para usuários na área do caminho binário, que estão voltados ou se movendo para o norte). Isto cria um mapeamento entre POIs visíveis específicos e os caminhos binários, a partir dos quais eles são visíveis.
[0018] Quando um usuário se movimenta ao longo de um caminho, o dispositivo do usuário pode enviar uma pergunta para o sistema, solicitando um conjunto de POIs, que são visíveis a partir da localização atual do usuário. Quando envia tal pergunta, o dispositivo do usuário envia também dados posicionais sobre sua localização e posição atuais, por exemplo, coordenadas GPS. Em algumas modalidades, uma pergunta pode ainda incluir solicitações de metadados específicos sobre os POIs visívies (por exemplo, descrição, distância, nome, uma imagem etc.). O sistema determina um caminho binário, que inclui a localização do usuário e determina os POIs visíveis, que são associados com o caminho binário. Em modalidades que usam diferentes caminhos binários, associados com posições específicas, o sistema determina um caminho binário, que inclui a localização do usuário e a posição do usuário. Em algumas modalidades, o sistema pode adicionalmente determinar um subconjunto de POIs visíveis, a fim de apresentar para o usuário. O conjunto de POIs que são visíveis a partir da localização do usuário (como também quaisquer metadados pedidos sobre os POIs), é subsequentemente transmitido para o dispositivo do usuário.
[0019] A FIG. 1 é um diagrama de bloco de um sistema para identificar os POIs, que são visíveis a partir de uma localização, de acordo com algumas modalidades. A FIG. 1 inclui o dispositivo do usuário 100, a rede 120, e o sistema 130. Para maior clareza, somente um dispositivo do usuário 100 é mostrado na FIG. 1. Como mostrado na FIG. 1, o sistema 130 ainda compreende armazenamento de dados do mapa 140, gerador de visibilidade do mapa 150, armazenamento do caminho binário 160, e gerenciamento de exibição do POI 170. Modalidades alternadas do ambiente do sistema, podem ter qualquer número de dispositivos de usuários 100, como também múltiplos sistemas 130. As funções desempenhadas pelas várias entidades da FIG. 1, podem variar em diferentes modalidades. O sistema 130 pode fornecer informações de percurso, direção e cronograma, para o dispositivo do usuário 100. Em algumas modalidades, o sistema 130 pode coordenar a viagem para um usuário, por exemplo, reportando informações sobre uma via solicitada para o usuário, ou fornecendo ao usuário informações sobre POIs ao longo do percurso.
[0020] Um usuário pode interagir com o sistema 130, através do dispositivo de usuário 100. Por exemplo, um usuário pode dar entrada em informações de origem e destino, quando solicitando informações sobre um caminho. Os dispositivos de usuários 100 podem ser dispositivos de computação pessoais ou móveis, tais como smartphones, placas de dados, ou computadores notebooks. Em algumas modalidades, o dispositivo do usuário 100 executa um aplicativo de cliente, que usa uma interface de programa de aplicativo (API) para se comunicar com o sistema 130 através da rede 120.
[0021] Aplicativos do cliente que são configurados para interagir com o sistema 130, podem apresentar informações recebidas do sistema 130, em uma interface de usuário do dispositivo do usuário 100. Informações apresentadas por tais aplicativos podem incluir um mapa da região geográfica, a localização atual do dispositivo do usuário 100, duração da viagem estimada, e POIs associados com um caminho. O aplicativo do cliente executando no dispositivo do usuário 100, pode ser capaz de determinar a localização atual do dispositivo do usuário 100, e fornecer a localização atual para o sistema 130.
[0022] Os dispositivos de usuário 100 podem se comunicar com o sistema 130 através da rede 120, que pode compreender qualquer combinação da área local e redes de área estendida (remota), empregando ligações de comunicação com fio e sem fio. Em algumas modalidades, todas ou algumas das comunicações na rede 120 podem ser criptografadas.
[0023] O sistema 130 inclui vários módulos e armazenamentos de dados para determinação de POIs, que são visíveis a partir de localizações diferentes, e para determinar quais POIs apresentar para um usuário do dispositivo de usuário 100. O sistema 130 compreende armazenar dados de mapa 140, gerador de mapa de visibilidade 150, armazenar caminho binário 160, e gerenciador de exibição de POI 170. Componentes de computador tais como servidores da web, interfaces de redes, funções de segurança, compensadores de carga, servidores de failover, consoles de operações de gerenciamento e rede, e os similares não são mostrados de maneira a não obscurecer os detalhes da arquitetura do sistema. Adicionalmente, o sistema 130 pode conter mais, menos, ou componentes diferentes daqueles mostrados na FIG. 1, e a funcionalidade dos componentes, como descrito no presente documento, pode ser distribuída diferentemente da descrição no presente documento.
[0024] O armazenamento de dados de mapa 140 armazena mapas de regiões geográficas, em que o sistema 130 gera caminhos, identifica POIs, e oferece serviços de coordenação de viagem. Os mapas contêm informações sobre estradas, dentro de regiões geográficas. Para os propósitos desta descrição, estradas podem incluir qualquer caminho entre dois lugares, que permite viajar a pé, veículo motor, bicicleta ou outra forma de viagem. Exemplos de estradas incluem ruas, rodovias, autoestradas, trilhas, pontes, tuneis, estradas com pedágio, vias navegáveis, vias aéreas, ou travessias. As Estradas podem ser restritas para certos usuários, ou podem estar disponíveis para uso público. As estradas podem se conectar a outras estradas em cruzamentos. Um cruzamento é uma seção de uma ou mais estradas, que possibilita o usuário viajar de uma estrada para outra. As estradas podem ser divididas em segmentos de estrada, em que segmentos de estrada são porções de estradas que não são interrompidas por cruzamentos com outras estradas. Por exemplo, um segmento de estrada deve se estender entre dois cruzamentos adjacentes, em uma rua de superfície, ou entre duas entradas/saídas adjacentes em uma rodovia.
[0025] O armazenamento de dados de mapa 140 também inclui características do mapa, que podem ser armazenadas em associação com regiões, segmentos de estradas, ou percursos. As características do mapa podem incluir características da estrada, que descrevem características de um mapa, tais como POIs, colocação de sinais de estrada, limites de velocidade, direcionalidade da estrada (por exemplo, mão única, mão dupla), histórico do trânsito, condições de trânsito, endereços em um segmento da estrada, comprimentos de segmentos da estrada, e tipo de segmentos da estrada (por exemplo, rua de superfície, residencial, rodovia, pedágio). As propriedades do mapa podem também incluir características associadas com cruzamentos, tais como colocação de sinais de estrada, a presença de sinais de trânsito, restrições de voltas, informações do tempo de luz, produtividade operacional, e conectando segmentos de estrada. Em algumas modalidades, as características do mapa também incluem propriedades descrevendo a região geográfica como um todo, ou porções da região geográfica, tais como o tempo dentro da região geográfica, limites geopolíticos (por exemplo, limites da cidade, fronteiras do município, fronteiras do estado, fronteiras do país), e propriedades topológicas.
[0026] Em algumas modalidades, o armazenamento de dados de mapa 140 armazena informações sobre delineações virtuais de regiões (por exemplo, geocercas). Uma geocerca é um perímetro virtual, que inclui geograficamente uma porção de dados de mapa. Geocercas são usadas para delinear regiões geográficas específicas, e podem ser aplicadas por vários motivos, tais como categorização ou alertas. Em uma modalidade, uma região grande é subdividida em muitas regiões menores, usando geocercas, e dados sobre características de mapa são coletados, em relação aos efeitos ou presença dentro de geocercas individuais. Geocercas podem ser estabelecidas ao longo limites políticos (por exemplo, fronteiras da cidade), setores de censo, esboços da vizinhança, usando células arbitrariamente de grade (por exemplo, uma sobreposição de hexágonos em um mapa), ou como um grupo de células de grade, selecionadas em vista de uma ou mais características da região correspondente às células. Em uma modalidade, as fronteiras de uma geocerca são descritas usando coordenadas geográficas (por exemplo, latitude e longitude). Em algumas modalidades, caminhos binários e células de mapas de visibilidade, podem ser representados por geocercas.
[0027] O armazenamento de dados de mapa 140 adicionalmente armazena informações sobre os POIs. Dados de mapa relacionados aos POIs podem incluir nomes ou descrições comuns dos POIs, localizações geográficas dos POIs, popularidade dos POIs, etc. Além disso, o armazenamento de dados de mapa 140 armazena um mapa de visibilidade correspondente a cada POI. Um mapa de visibilidade inclui informações sobre localizações em uma região, a partir das quais um POI particular é visível. Por exemplo, um mapa de visibilidade pode ser um mapa de uma região que foi dividida em células, cada célula tendo escores associados, relacionados à visibilidade do POI de localizações dentro da célula.
[0028] O gerador de mapa de visibilidade 150 gera mapas de visibilidade para POIs, e armazena os mapas de visibilidade no armazenamento de dados de mapa 140. Em algumas modalidades, o gerador de mapa de visibilidade 150 é fornecido com dados de imagens e localização, coletados de estradas dentro de uma região, como entrada para criar um mapa de visibilidade. Por exemplo, imagens e vídeos panorâmicos podem ser capturados em uma variedade de localizações dentro de uma região. Em algumas modalidades, vídeos panorâmicos podem ser capturados usando uma câmera panorâmica, acoplada ao topo de um veículo, quando ele se move dentro de uma região. O gerador de mapa de visibilidade 150 pode analisar imagens e localizações geográficas correspondentes, e cabeçalhos para determinar escores de visibilidade para células dos mapas de visibilidade, usando um ou mais metrificações para medir a visibilidade de um POI. Por exemplo, o gerador de mapa de visibilidade 150 pode analisar as imagens para determinar uma percentagem de pixels em uma imagem que representa o POI, ou um número de quadros em um vídeo, em que o POI é visível. Em algumas modalidades, o sistema 130 pode receber mapas de visibilidade, ou escores para regiões dentro dos mapas de visibilidade, de uma fonte externa como uma alternativa para criar mapas de visibilidade localmente com o gerador de mapa de visibilidade 150.
[0029] Um mapa de visibilidade pode ser dividido em células. O gerador do mapa de visibilidade 150 pode designar para cada célula um escore de visibilidade, associado à visibilidade do POI correspondente de dentro da célula. As células podem variar em tamanho. Por exemplo, uma célula pode ser uma área que é diversos pés quadrados, ou pode ser maior, tal como diversas milhas quadradas. Um valor do escore de visibilidade pode ser determinado de acordo com uma variedade de consumos. Em algumas modalidades, o gerador de mapa de visibilidade 150 pode designar escores baseados na frequência, com a qual alguns ou todos os POIs aparecem em um quadro de vídeo. Em algumas modalidades, uma visibilidade de POI a partir de uma localização, pode ser designada um valor correspondente a uma quantidade ou percentagem de pixels de uma imagem de entrada, que contribuem para a imagem do POI. Em algumas modalidades, uma célula de um mapa de visibilidade pode ser designada um valor binário, indicando se o POI é visível ou não, a partir de algum lugar dentro da área, em vez de receber um escore indicativo de um grau no qual o POI é visível. Mapas de visibilidades são descritos em mais detalhes com relação à FIG. 3.
[0030] O armazenamento de caminho binário 160 armazena dados que associam caminhos binários com POIs, que são visíveis a partir de localizações, dentro de áreas geográficas correspondentes àqueles caminhos binários. Em uma modalidade, o armazenamento do caminho binário 160 inclui informações sobre as fronteiras dos caminhos binários individuais, e seus relacionamentos com os segmentos de estrada, e caminhos em um mapa da região. Em alguns casos, o armazenamento do caminho binário 160 pode incluir múltiplos caminhos binários, com fronteiras similares ou se sobrepondo, que incluem informações sobre os POIs, que são visíveis em posições específicas (por exemplo, um caminho binário na direção norte, um caminho binário na direção leste etc.). Por exemplo, uma estrada de mão dupla com uma direção leste e uma direção oeste, pode ter caminhos binários separados, associados com as posições na direção leste e na direção oeste, em que os veículos viajam ao longo da estrada. Tais dados podem também ser incluídos no armazenamento de dados de mapa 140. O armazenamento do caminho binário 160 pode tomar a forma de uma tabela de consulta (pesquisa), em que uma tecla é um caminho binário, e um valor associado é um conjunto de POIs que são visíveis a partir de dentro do caminho binário. Em algumas modalidades, todos os POIs que são de alguma maneira visíveis, a partir de um local dentro do caminho binário, podem ser incluídos no conjunto de POIs associados com um caminho binário. Em algumas modalidades, somente os POIs com pelo menos um escore de visibilidade limite, são incluídos no conjunto de POIs associados. Em algumas modalidades, os dados no armazenamento do caminho binário podem ser atualizados periodicamente, ou sempre que dados sobre a visibilidade de POI são recebidos pelo sistema 130.
[0031] O gerenciador (administrador) da exibição de POI 170 determina informações sobre os POIs, a fim de transmitir para o dispositivo do usuário 100. O sistema 130 recebe pedidos de informações sobre POIs visíveis, a partir do dispositivo de usuários 100. Em uma modalidade, o dispositivo de usuário 100 pode enviar informações sobre um percurso planejado (ou o dispositivo do usuário 100 pode enviar localizações de origem ou destino, de maneira que o sistema 130 pode determinar um percurso). Por conseguinte, o gerente de exibição de POI 170 determina um conjunto de POIs, associados com um ou mais caminhos binários, em que o percurso passa pesquisando os caminhos binários e seus POIs associados, no armazenamento de caminho binário 160. O gerente de exibição de POI 170 pode selecionar um subconjunto de POIs, ao longo do percurso, a fim de transmitir para o dispositivo do usuário 100. Por exemplo, o gerente de exibição de POI 170 pode transmitir informações sobre cinco POIs ao longo do percurso, com escores de visibilidade maiores.
[0032] Em uma modalidade alternativa, o dispositivo de usuário 100 envia sua localização atual para o sistema 130, junto com um pedido de informações sobre POIs visíveis. O gerente de exibição de POI 170 determina um caminho binário que inclui a localização atual (e, em alguns casos, a posição atual) do dispositivo do usuário 100, e armazenamento de caminho binário de perguntas 160, para o conjunto de POIs, que são visíveis de dentro do caminho binário. O gerente de exibição de POI 170 seleciona POIs do conjunto de POIs visíveis, associados com o caminho binário e envia informações sobre os POIs selecionados, para o dispositivo do usuário 100. Por repetidamente perguntar ao sistema 130 informações a respeito de POIs visíveis, o dispositivo de usuário 100 pode receber informações sobre POIs visíveis adicionais, conforme ele se movimenta através de uma região.
[0033] A FIG. 2 é um exemplo da interface do usuário exibindo instruções de navegação, usando pontos de referência, de acordo com algumas modalidades. O exemplo da FIG. 2 mostra uma aplicação do caminho de navegação em um dispositivo móvel. O endereço de destino 210 é exibido perto do topo da tela. O marcador de destino 220 indica um local de endereço de destino 210 no mapa 260. O marcador de localização atual 230 (por exemplo, um símbolo de carro) mostra a localização atual do dispositivo do usuário 100 em relação ao mapa 260. O caminho 270 entre o marcador de localização atual 230, e o marcador de destinação 220 é transmitido no mapa 260. No exemplo da FIG. 2, o marcador de POI 240 indica uma torre de rádio que está localizada ao longo do caminho 270. Quando um usuário, usando o dispositivo de usuário 100, navega de uma localização atual para o destino, o dispositivo do usuário 100 pode fornecer instruções de navegação 250 relacionadas aos POIs ao longo do caminho 270. Por exemplo, instruções de navegação 250 representadas na FIG. 2, sugerem que o usuário "vire à DIREITA na torre de rádio." Em algumas modalidades mais POIs podem ser exibidos no mapa 260, e não todos os POIs exibidos são necessariamente relacionados às instruções de navegação 250. De acordo com uma modalidade, as instruções de navegação que incluem informações sobre POIs, podem também ser apresentadas para um usuário em um formato de áudio, por exemplo, de maneira que um usuário pode escutar instruções de navegação sobre POIs visíveis, enquanto navegando em um veículo.
[0034] A FIG. 3 ilustra um exemplo de mapa de visibilidade de POI, de acordo com uma modalidade. O mapa de visibilidade 300 é associado ao POI 340 e representa o quanto o POI 340 é visível de partes diferentes de uma região. O mapa de visibilidade 300 pode ser conceitualizado como um mapa de calor de localizações, e posições das quais o POI 340 é visível. O mapa de visibilidade 300 pode cobrir vários tamanhos e formas de regiões. Por exemplo, um mapa de visibilidade 300 pode representar o quanto um POI 340 é visível a milhas de distância (por exemplo, de um arranha-céu), ou um mapa de visibilidade 300 pode descrever somente a visibilidade de um POI 340 a partir de localizações geográficas próximo do POI (por exemplo, para uma estátua).
[0035] De acordo com uma modalidade, o mapa de visibilidade 300 pode incluir células 320 da região representada. No exemplo da FIG. 3, a região geográfica representada pelo mapa de visibilidade 300, é dividida em células hexagonais 320. Como foi descrito na descrição da FIG. 1, a cada célula é designado um escore de visibilidade 330, através do gerador de mapa de visibilidade 150. Em algumas modalidades, cada escore no mapa de visibilidade 300 pode representar localizações individuais, a partir das quais o POI é visível, em vez de ser um escore de visibilidade agregada 330, que é representativo de todas as localizações dentro de uma célula 320.
[0036] Usando dados de imagens (por exemplo, panoramas) coletados de localizações em torno de uma região, os escores de visibilidade 330 podem ser designados para diferentes células 320 do mapa de calor 300. Técnicas de processamento de imagem podem ser usadas, a fim de determinar quando um POI em particular é mostrado em uma imagem, e para determinar informações adicionais sobre imagens que incluem o POI. Os escores de visibilidade 330 para células, podem ser determinados com base em uma variedade de métricos de visibilidade. Um escore de visibilidade 330 pode corresponder a um número de quadros de vídeo, tirados dentro de uma célula 320, em que o POI 340 é detectado, um número de pixels de uma imagem que são usados para representar o POI 340, uma altura ou distância percebida do POI 340, uma posição em que uma câmera foi movimentada, quando ela capturou uma imagem do POI 340, ou uma medida de como frequentemente o POI 340 desaparece e reaparece, na vista de uma câmera para uma sequência de imagens ou quadros de vídeo. É evidente que uma pessoa versada na técnica vai reconhecer métricos adicionais, para contar pontos de visibilidade de um POI, usando dados de imagens capturadas.
[0037] A FIG. 4 ilustra um exemplo de usar caminhos binários, para associar uma localização de um dispositivo do usuário com POIs visíveis, de acordo com uma modalidade. A FIG. 4 mostra dados de mapa incluindo estradas, POI 340, e caminhos binários 420 (traçados por linhas finamente pontilhadas). Os dados sobre os caminhos binários 420, são armazenados no armazenamento do caminho binário 160. Em uma modalidade, um caminho binário 420 pode ser conceitualizado como uma área designada, ou geocerca, que circunda as localizações através das quais um percurso pode passar. No exemplo da FIG. 4, caminhos binários diferentes 420 são dedicados para porções diferentes de estradas e cruzamentos. Em algumas modalidades, os caminhos binários 420 podem incluir áreas que não são associadas com estradas. Por exemplo, um mapa de uma região geográfica pode ser dividido em uma grade, e cada célula da grade pode ser considerada um caminho binário 420, muito embora uma estrada possa não passar através de cada célula da grade.
[0038] Como descrito com referência à FIG. 1, um caminho binário 420 pode ser representado no armazenamento do caminho binário 160, como um formato de dados que mapeia a área geográfica circundada pelo caminho binário 420, para um conjunto de POIs 340, que são visíveis a partir de dentro do caminho binário 420. Em algumas modalidades, múltiplos caminhos binários 420 podem representar a mesma área geográfica, cada um dos sobrepostos caminhos binários 420 armazenando um conjunto de POIs 340, que são visíveis para um usuário voltado para uma certa direção (por exemplo, os caminhos binários 420 podem ser organizados de acordo com a posição). Quer o POI 340 seja visível a partir de dentro de um caminho binário 420, é determinado usando escores de visibilidade 330, associados com células 320 do mapa de visibilidades 300, que cruzam com o caminho binário 420. Isto é, um caminho binário 420 pode ser associado a um ou mais POIs 340, que são associados com um local ou célula 320, dentro ou sobrepondo com a área geográfica representada pelo caminho binário 420. Em algumas modalidades, o armazenamento do caminho binário 160 também inclui dados sobre a proeminência relativa de POIs 340, que são associados com um caminho binário 420. Por exemplo, um caminho binário 420 pode armazenar escores de visibilidade 330, que correspondem aos POIs 340, que são visíveis a partir de localizações dentro do caminho binário 420. Em algumas modalidades, em vez de armazenar escores de visibilidade 330 de POIs 340, em caminhos binários 420, cada caminho binário 420 pode armazenar dados que enfileiram POIs associados 340, de acordo com suas proeminências relativas de dentro do caminho binário 420.
[0039] Caminhos binários 420 são usados para identificar POIs 340, que podem ser visíveis para um usuário do dispositivo de usuário 100, quando o usuário está fisicamente localizado em uma localização geográfica, que é dentro da área de mapa definida pelo caminho binário 420. Por exemplo, na FIG. 4, a localização de usuário 430 é representada por um símbolo de carro. O dispositivo do usuário 100, na localização de usuário 430 pode perguntar ao sistema 130 informações sobre os POIs 340, que são visíveis a partir da localização do usuário 430. Tal pergunta pode incluir dados sobre a localização de usuário 430, e o cabeçalho do usuário. O gerente de exibição de POI 170 pode pesquisar o armazenamento de caminho binário 160 para um caminho binário 420, que corresponde a localização do usuário 430 e, em algumas modalidades, o cabeçalho do usuário. O gerente de exibição de POI 170 então seleciona um conjunto de POIs 340, a partir de entre os POIs 340, que são associados com o caminho binário 420, para exibir ou descrever para o usuário através do dispositivo de usuário 100. Em algumas modalidades, o dispositivo de usuário 100 pode perguntar ao sistema 130 informações sobre POIs 340, que são visíveis ao longo de um percurso inteiro 410, em vez de POIs 340 associados com uma localização do usuário específica 430. Em tais casos, o gerente de exibição de POI 170 pode pesquisar o armazenamento do caminho binário 160, para todos os caminhos binários 420, através dos quais o caminho 410 passa, e determinar quais POIs 340 exibir ou descrever para o usuário, de entre o conjunto de todos os POIs 340, que são associados com pelo menos um caminho binário 420 ao longo do percurso 410.
[0040] O gerente de exibição de POI 170 não necessariamente envia informações sobre cada POI visível 340, associado a um caminho binário 420, para o dispositivo do usuário 100. Desenvolvedores podem programar o gerente de exibição de POI 170, com regras e condições que determinem qual dos POIs 340 deve ser mostrado. Tais regras e condições podem ser simples limites colocados em um número de POIs 340 para exibir, ou eles podem ser algoritmos mais complexos, que determinam quais POIs serão úteis para um usuário. Em algumas modalidades, o gerente de exibição de POI 170 pode selecionar um subconjunto de POIs associados 340, a fim de enviar para o dispositivo do usuário 100. Como um exemplo ilustrativo, o gerente de exibição de POI 170 pode somente transmitir três POIs 340, associados com cada caminho binário 420, para um dispositivo do usuário 100. Em algumas modalidades, os POIs 340 podem ser classificados, por exemplo, de acordo com o quanto reconhecíveis eles são, ou com que frequência os usuários do sistema 130 tem os solicitado como destinos no passado. Informações sobre um número predeterminado de POIs mais altamente classificados 340 podem ser enviadas para o dispositivo de usuário 100.
[0041] Em outra modalidade, o gerente de exibição de POI 170 pode selecionar POIs 340, baseado na extensão em que eles são visíveis, a partir de localizações dentro do caminho binário 420. Os escores de visibilidade em um mapa de visibilidade, que correspondem a um POI 340, podem ser usados pelo gerente de exibição de POI 170, para determinar se transmite informações sobre o POI para um dispositivo de usuário 100. Por exemplo, o gerente de exibição de POI 170 pode determinar uma ou mais células 320 de um mapa de visibilidade 300, que se sobrepõem com as fronteiras de um caminho binário 420. Com base em um escore de visibilidade associado a cada uma de tais células do mapa de visibilidade, o gerente de exibição de POI 170 pode determinar se transmite informações sobre o POI 340 para o dispositivo de usuário 100 (por exemplo, se o escore de visibilidade é acima de um nível de limiar). Como outro exemplo, o armazenamento de dados de mapa 140 pode incluir um escore de dispersão para cada POI 340, o escore de dispersão calculado usando uma média de distância, em que o POI 340 é visível (por exemplo, POIs mais altos podem ter escores de dispersão maiores). O gerente de exibição de POI 170 pode selecionar POIs para exibir, em vista de uma comparação desses escores de dispersão.
[0042] Em algumas modalidades, POIs 340 podem ser associados a diferentes categorizações pelo sistema 130. Por exemplo, POIs 340 podem ser classificados como monumentos, características naturais, prédios, armazéns, restaurantes, etc. O gerente de exibição de POI 170 pode selecionar POIs 340 a partir de uma categoria específica, para exibir no dispositivo de usuário 100. Tal seleção de categoria pode ser feita de acordo com um contexto de uma viagem. Por exemplo, se um dispositivo do usuário 100 pede informações sobre POIs 340, ao longo de um percurso 410, com um destino localizado em um museu, o gerente de exibição de POI 170 pode selecionar outros POIs 340, categorizados como museus, que podem ser visíveis ao longo do percurso 410 para exibição para o usuário.
[0043] Como ainda outra modalidade, certos POIs 340 podem sempre ser incluídos para exibir para o usuário, através do gerente de exibição de POI 170. Por exemplo, POIs 340 bem conhecidos (por exemplo, a torre Eiffel) podem ser pré-programados para sempre ser incluídos para transmissão para o dispositivo de usuário 100, quando eles estão no conjunto de POIs 340 associado a um caminho binário 420. Similarmente, o gerente de exibição de POI 170 pode sempre incluir um POI 340, que é associado a um destino do percurso, em algumas modalidades.
[0044] Em adição, a fim de determinar quais POIs 340 enviar para o dispositivo de usuário 100, o gerente de exibição de POI 170 pode determinar quando e como os POIs 340 devem ser exibidos para um usuário. Os POIs 340 podem ser exibidos através do dispositivo de usuário 100, tão cedo quanto as informações sobre eles são recebidas do sistema 130, ou quando o dispositivo do usuário 100 chega dentro de uma certa distância de cada POI 340. POIs 340 podem ser exibidos com graus de ênfase variando dependendo da distância, popularidade, escores de visibilidade associados etc. Além disso, o gerente de exibição de POI 170 pode determinar se os POIs 340 devem desaparecer de uma exibição do dispositivo de usuário 100, quando o dispositivo não está mais em uma localização, a partir da qual o POI 340 é visível para um usuário do dispositivo de usuário 100.
[0045] A FIG. 5 é um fluxograma ilustrando um processo para fornecer um dispositivo do usuário, com informações sobre POIs visíveis, de acordo com uma modalidade. O sistema 130 recebe 510 informações de localização de um dispositivo do usuário. Usando as informações de localização, o sistema 130 determina um caminho binário 520, associado às informações de localização. Por exemplo, a localização pode ser incluída na região do caminho binário, ou as informações de localização podem descrever um caminho que viaja através do caminho binário.
[0046] O sistema 530 identifica um conjunto de POIs, que são visíveis a partir do caminho binário determinado. Em algumas modalidades, o conjunto de POIs, que são visíveis a partir de um caminho binário, são determinados de acordo com informações armazenadas no mapa de visibilidades em relação aos POIs. Depois de determinar quais POIs são visíveis a partir da localização, e determinar quais dos POIs visíveis descrever para o usuário, o sistema 130 transmite 540 informações sobre o conjunto de POIs para o dispositivo de usuário 100, em que ele pode ser apresentado para um usuário em um formato visível ou audível.
[0047] A FIG. 6 é um fluxograma ilustrando um processo para fornecer o dispositivo de usuário 100, com instruções de roteiro relacionadas aos POIs visíveis ao longo de uma via, de acordo com uma modalidade. O sistema 130 recebe 610 informações de caminho, para dirigir um usuário de um local de origem para um local de destino. Em algumas modalidades, o sistema 130 pode gerar as informações de percurso e roteiro. O sistema 130 determina 620, um conjunto de caminhos binários através dos quais o percurso passa e identifica 630, um conjunto de POIs que será visível para o usuário, quando a via é atravessada usando os dados armazenados nos caminhos binários.
[0048] Quando o usuário segue o percurso, o sistema 130 recebe os dados de localização 640, do dispositivo de usuário 100. Em vista dos dados de localização e da posição do usuário ao longo do percurso, o sistema 130 transmite instruções de roteiro 650, relacionadas aos POIs visíveis, para o dispositivo de usuário 100. Por exemplo, o sistema 130 pode receber dados de localização do usuário, indicando que o usuário necessita virar na próxima estrada, e pode subsequentemente transmitir instruções para o dispositivo de usuário 100, para o usuário virar passando um particular POI no canto.
[0049] A FIG. 7 é um diagrama de bloco ilustrando componentes de uma máquina de exemplo, capaz de ler instruções de um meio legível por máquina, e os executa em um ou mais processadores (ou controladores). Especificamente, a FIG. 7 mostra uma representação diagramática do sistema 130, na forma de exemplo de um sistema de computador 700. O sistema de computador 700 pode ser usado para executar as instruções 724 (por exemplo, código ou software de programa) para fazer a máquina realizar qualquer uma ou mais das metodologias (ou processos) descritos no presente documento. Em modalidades alternativas, a máquina opera como um dispositivo autônomo ou um dispositivo conectado (por exemplo, de rede), que conecta para outras máquinas. Em um desdobramento de rede, a máquina pode operar na capacidade de uma máquina de servidor, ou uma máquina de cliente, em um ambiente de rede de servidor-cliente, ou como uma máquina hierárquica em um ambiente de rede não hierárquico (ou distribuído).
[0050] A máquina pode ser um computador servidor, um computador de cliente, um computador pessoal (PC), uma placa de dados PC, uma caixa decodificadora (STB), um smartphone, um aparelho de internet das coisas (IoT), um roteador de rede, interruptor ou ponte, ou qualquer máquina capaz de executar 724 instruções (sequenciais ou de outro modo), que especifiquem ações a serem tomadas por aquela máquina. Além disso, enquanto somente uma única máquina é ilustrada, o termo "máquina" deve também ser tomado para incluir qualquer coleção de máquinas que individualmente, ou em conjunto, executam 724 instruções, a fim de realizar qualquer uma ou mais das metodologias discutidas no presente documento.
[0051] O sistema de computador de exemplo 700 inclui uma ou mais unidades de processamento (geralmente o processador 702). O processor 702 é, por exemplo, uma unidade de processamento central (CPU), uma unidade de processamento de gráficos (GPU), um processador de sinal digital (DSP), um controlador, uma máquina de estado, um ou mais circuitos integrados específicos de aplicação (ASICs), um ou mais circuitos integrados de frequência de rádio (RFICs), ou quaisquer combinações destes. O sistema de computador 700 inclui também uma memória principal 704. O sistema de computador pode incluir uma unidade de armazenamento 716. O processador 702, a memória 704, e a unidade de armazenamento 716 se comunicam através de um canal 708.
[0052] Em adição, o sistema de computador 706 pode incluir uma memória estática 706, uma exibição de gráficos 710 (por exemplo, para acionar um painel de exibição de plasma (PDP), uma exibição de cristal líquido (LCD), ou um projetor). O sistema de computador 700 pode também incluir um dispositivo de entrada alfanumérico 712 (por exemplo, um teclado), um dispositivo de controle de cursor 714 (por exemplo, um mouse, um trackball, um controle de vídeo game, um sensor de movimento, ou outro instrumento apontador), um dispositivo de geração de sinal 718 (por exemplo, um alto-falante), e um dispositivo de interface de rede 720, que são também configurados para se comunicar através do canal 708.
[0053] A unidade de armazenamento 716 inclui um meio legível por máquina 722, no qual são armazenadas instruções 724 (por exemplo, software), corporificando uma ou mais das metodologias, ou funções, descritas no presente documento. Por exemplo, as instruções 724 podem incluir instruções para implementar as funcionalidades do gerador do mapa de visibilidade 150, ou do gerente de exibição de POI 170. As instruções 724 podem também permanecer, completamente ou pelo menos parcialmente, dentro da memória principal 704, ou dentro do processador 702 (por exemplo, dentro de uma memória cache (armazenamento intermediário) do processador), durante a execução do mesmo pelo sistema de computador 700, a memória principal 704 e o processador 702 também constituindo um meio legível por máquina. As instruções 724 podem ser transmitidas ou recebidas através de uma rede 726, tal como a rede 120, através do dispositivo de interface de rede 720.
[0054] Embora o meio legível por máquina 722 seja mostrado em uma modalidade de exemplo como sendo um meio único, o termo "meio legível por máquina" deve ser tomado para incluir um meio único ou meios múltiplos (por exemplo, um banco de dados centralizado ou distribuído, ou caches e servidores associados), capaz de armazenar as instruções 724. O termo "meio legível por máquina" deve também ser tomado para incluir qualquer meio que seja capaz de armazenar as instruções 724, para execução pela máquina, e que faça a máquina realizar qualquer uma ou mais das metodologias reveladas no presente documento. O termo "meio legível por máquina" inclui, mas não está limitado à repositórios de dados na forma de memórias de estado sólido, meios ópticos, e meios magnéticos.
[0055] A descrição anterior das modalidades foi apresentada para fins de ilustração; ela não é destinada a ser exaustiva, ou para limitar os direitos de patente às formas precisas reveladas. Pessoas versadas na técnica relevante, podem perceber que muitas modificações e variações são possíveis à luz da divulgação acima.
[0056] Algumas porções desta descrição descrevem as modalidades, em termos de algoritmos e representações simbólicas de operações em informação. Essas descrições algorítmicas e representações são comumente usadas por aqueles versados na técnica, nas técnicas de processamento de dados, para comunicar a substância de seus trabalhos efetivamente para outros versados na técnica. Essas operações, embora descritas funcionalmente, computacionalmente, ou logicamente, são entendidas para ser implementadas por programas de computador, ou circuitos elétricos equivalentes, microcódigo ou similares. Além disso, foi também provado conveniente às vezes, se referir a esses arranjos de operações como módulos, sem perda da generalidade. As operações descritas e seus módulos associados, podem ser concretizadas em software, firmware, hardware, ou quaisquer combinações dos mesmos.
[0057] Qualquer uma das etapas, operações, ou processos descritos no presente documento, podem ser realizados ou implementados com um ou mais módulos de hardware ou software, sós ou em combinação com outros dispositivos. Em uma modalidade, um modulo de software é implementado com um produto de programa de computador, compreendendo um meio legível por computador, contendo código de programa de computador, que pode ser executado por um ou mais processadores de computador, para realizar qualquer uma ou todas as etapas, operações ou processos descritos.
[0058] As modalidades podem também se referir a um aparelho para realizar as operações no presente documento. Este aparelho pode ser especialmente traçado para os propósitos requeridos, e/ou ele pode compreender um dispositivo de computação seletivamente ativado, ou reconfigurado por um programa de computador armazenado no computador. Tal programa de computador pode ser armazenado em um meio legível por computador tangível, não transitório, ou qualquer tipo de meio apropriado para armazenar instruções eletrônicas, que pode ser acoplado e uma via de conexão de canal de sistema de computador. Além disso, quaisquer sistemas de computação referidos neste relatório descritivo, podem incluir um único processador, ou pode ser arquiteturas empregando múltiplos projetos de processador, para a capacidade de computação aumentada.
[0059] As modalidades podem também se referir a um produto, que é produzido por um processo de computação descrito no presente documento. Tal produto pode compreender informações resultantes de um processo de computação, em que a informação é armazenada em um meio legível por computador tangível, não transitório, e pode incluir qualquer modalidade de um produto de programa de computador, ou outra combinação de dados descritos no presente documento.
[0060] Finalmente, a linguagem usada neste relatório descritivo foi selecionada principalmente para propósitos de legibilidade e instrucional, e pode não ter sido selecionada para delinear ou circunscrever o assunto inventivo. Desta maneira é destinado que o escopo dos direitos de patente seja limitado, não por esta descrição detalhada, mas em vez disso pelas reivindicações divulgadas em um pedido baseado sobre isto. Dessa maneira, a descrição das modalidades é destinada a ser ilustrativa, mas não limitante, do escopo dos direitos da patente, que são estabelecidos nas reivindicações a seguir.

Claims (20)

1. Método implementado por computador para proporcionar orientação de percurso (410), o método caracterizado pelo fato de que compreende: receber dados do roteiro para dirigir um usuário a partir de uma localização de origem para uma localização de destino, os dados do roteiro incluindo um percurso (410); determinar um conjunto de caminhos binários (420) através do qual o percurso (410) passa, em que cada caminho binário (420) inclui uma geocerca e dados sobre pontos de interesse (POIs) (340) que são visíveis a partir de dentro da geocerca; identificar, com base no conjunto de caminhos binários (420) determinado, um conjunto de POIs (340) que são visíveis ao longo do percurso (410); e conforme o usuário se movimenta ao longo do percurso a partir da localização de origem para a localização de destino: receber dados da localização a partir de um dispositivo do usuário (100), os dados da localização indicando a localização atual do usuário, e orientação ao longo do percurso (410); e transmitir instruções de roteiro relacionadas aos POIs (340) visíveis para o dispositivo do usuário (100), as instruções de roteiro incluindo informações sobre o percurso (410) em relação aos POIs (340) que são visíveis na localização atual do usuário e orientação ao longo do percurso (410).
2. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que cada POI (340) está associado a um mapa de visibilidade (300), que identifica uma extensão na qual cada POI (340) é visível, a partir de localizações geográficas dentro de uma região.
3. Método implementado por computador, de acordo com a reivindicação 2, caracterizado pelo fato de que um mapa de visibilidade (300) associado a um POI (340) compreende um mapa de uma região geográfica dividida em células (320), cada célula (320) tendo um escore de visibilidade (330) que representa uma extensão na qual o POI (340) é visível a partir de localizações dentro da célula (320).
4. Método implementado por computador, de acordo com a reivindicação 2, caracterizado pelo fato de que identificar um conjunto de POIs (340) que são visíveis ao longo do roteiro compreende: para cada caminho binário (420) e para cada POI (340) associado ao caminho binário (420): determinar células (320) do mapa de visibilidade (300) associadas ao POI (340) que correspondem geograficamente à região geográfica do caminho binário (420) e tendo escores de visibilidade maiores do que um valor limite predeterminado; e selecionar os POIs (340) com mapas de visibilidade associados, que incluem uma ou mais das células determinadas.
5. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que uma regra para determinar um subconjunto dos POIs (340) visíveis identificados para o dispositivo do usuário (100) para apresentar para um usuário compreende selecionar não mais do que um número predeterminado de POIs (340) que são associados a um caminho binário (420).
6. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que receber dados de localização de um dispositivo do usuário (100) compreende: receber informações sobre a localização geográfica atual e orientação geográfica do dispositivo do usuário (100); e receber um pedido de informação sobre POIs (340) que são visíveis a partir de uma região associada à localização e à orientação do dispositivo do usuário (100).
7. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que transmitir instruções de roteiro relacionadas aos POIs (340) visíveis para o dispositivo do usuário (100) inclui transmitir informações sobre quando os POIs (340) devem ser apresentados para um usuário.
8. Meio de armazenamento legível por computador não transitório caracterizado pelo fato de que armazena instruções de armazenamento de programa de computador executável por um ou mais processadores de um sistema para realizar etapas compreendendo: receber dados de roteiro para direcionar um usuário a partir de uma localização de origem para uma localização de destino, os dados do roteiro incluindo um percurso (410); determinar um conjunto de caminhos binários (420) através do qual o percurso (410) passa, em que cada caminho binário (420) inclui uma geocerca e dados sobre pontos de interesse (POIs) (340) que são visíveis a partir de dentro da geocerca; identificar, com base no conjunto de caminhos binários (420) determinado, um conjunto de POIs (340) que são visíveis ao longo do percurso (410); e conforme o usuário se movimenta ao longo do percurso (410) a partir da localização de origem para a localização de destino: receber dados da localização a partir de um dispositivo do usuário (100), os dados da localização indicando a localização atual do usuário e orientação ao longo de percurso (410); e transmitir instruções de roteiro relacionadas aos POIs (340) visíveis para o dispositivo do usuário (100), as instruções de roteiro incluindo informações sobre o percurso (410) em relação aos POIs (340) que são visíveis na localização atual do usuário e orientação ao longo do percurso (410).
9. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 8, caracterizado pelo fato de que cada POI (340) é associado a um mapa de visibilidade (300) que identifica uma extensão na qual cada POI (340) é visível a partir de localizações geográficas dentro de uma região.
10. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 9, caracterizado pelo fato de que um mapa de visibilidade (300), associado a um POI (340), compreende um mapa de uma região geográfica dividida em células (320), cada célula (320) tendo um escore de visibilidade (330) que representa uma extensão na qual o POI (340) é visível a partir de localizações dentro da célula (320).
11. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 9, caracterizado pelo fato de que identificar um conjunto de POIs (340) que estão ao longo do percurso (410) compreende: para cada caminho binário (420) e para cada POI (340) associado ao caminho binário (420): determinar células (320) do mapa de visibilidade (300) associadas ao POI (340) que correspondem geograficamente à região geográfica do caminho binário (420) e tendo escores de visibilidade maiores do que um valor limite predeterminado; e selecionar os POIs (340) com mapas de visibilidade associados que incluem uma ou mais das células determinadas.
12. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 8, caracterizado pelo fato de que uma regra para determinar um subconjunto de POIs (340) visíveis identificados para o dispositivo do usuário (100) para apresentar para um usuário compreende selecionar não mais do que um número predeterminado de POIs (340) que são associados ao caminho binário (420).
13. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 8, caracterizado pelo fato de que receber dados de localização de um dispositivo do usuário (100) compreende: receber informações sobre a localização geográfica atual e orientação geográfica do dispositivo do usuário (100); e receber um pedido de informação sobre os POIs (340) que são visíveis a partir de uma região associada à localização e à orientação do dispositivo do usuário (100).
14. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 8, caracterizado pelo fato de que transmitir instruções de roteiro relacionadas aos POIs (340) visíveis para o dispositivo do usuário (100) inclui transmitir informações sobre quando os POIs (340) devem ser apresentados para um usuário.
15. Sistema de computador caracterizado pelo fato de que compreende: um ou mais processadores de computador para executar instruções do programa de computador; e um meio de armazenamento legível por computador não transitório armazenando instruções executáveis pelo o um ou mais processadores de computador para realizar etapas compreendendo: receber dados de roteiro para dirigir um usuário a partir de uma localização de origem para uma localização de destino, os dados do roteiro incluindo um percurso (410); determinar um conjunto de caminhos binários (420) através do qual o percurso (410) passa, em que cada caminho binário (420) inclui uma geocerca e dados sobre pontos de interesse (POIs) (340) que são visíveis a partir de dentro da geocerca; identificar, com base no conjunto de caminhos binários (420) determinado, um conjunto de POIs (340) que são visíveis ao longo do percurso (410); e conforme o usuário se movimenta ao longo do percurso (410) a partir da localização de origem para a localização de destino: receber dados da localização a partir de um dispositivo do usuário (100), os dados da localização indicando a localização atual do usuário e orientação ao longo do percurso (410); e transmitir instruções de roteiro relacionadas aos POIs (340) visíveis para o dispositivo do usuário (100), as instruções do roteiro incluindo informações sobre o percurso (410) em relação aos POIs (340) que são visíveis na localização atual do usuário e orientação ao longo do percurso (410).
16. Sistema de computador, de acordo com a reivindicação 15, caracterizado pelo fato de que cada POI (340) está associado a um mapa de visibilidade (300) que identifica uma extensão na qual cada POI (340) é visível a partir de localizações geográficas dentro de uma região.
17. Sistema de computador, de acordo com a reivindicação 16, caracterizado pelo fato de que um mapa de visibilidade (300) associado a um POI compreende um mapa de uma região geográfica dividida em células (320), cada célula (320) tendo um escore de visibilidade (330) que representa uma extensão na qual o POI (340) é visível a partir de localizações dentro da célula (320).
18. Sistema de computador, de acordo com a reivindicação 16, caracterizado pelo fato de que identificar um conjunto de POIs (340) que estão ao longo do percurso (410) compreende: para cada caminho binário (420) e para cada POI (340) associado ao caminho binário (420): determinar células (320) do mapa de visibilidade (300) associado ao POI (340), que corresponde geograficamente à região geográfica do caminho binário (420), e tem escores de visibilidade maiores do que um valor limite predeterminado; e selecionar os POIs (340) com os mapas de visibilidade associados que incluem uma ou mais células determinadas.
19. Sistema de computador, de acordo com a reivindicação 15, caracterizado pelo fato de que uma regra para determinar um subconjunto dos POIs (340) visíveis identificados para o dispositivo do usuário (100) para apresentar para um usuário compreende selecionar não mais do que um número predeterminado de POIs (340) que são associados ao caminho binário (420).
20. Sistema de computador, de acordo com a reivindicação 15, caracterizado pelo fato de que receber dados de localização a partir de um dispositivo do usuário (100) compreende: receber informações sobre a localização geográfica atual e orientação geográfica do dispositivo do usuário (100); e receber um pedido de informações sobre POIs (340) que são visíveis a partir de uma região associada à localização e orientação do dispositivo do usuário (100).
BR112020000535-5A 2017-07-14 2018-06-07 Método implementado por computador para proporcionar orientação de percurso, meio de armazenamento legível por computador não transitório e sistema de computador BR112020000535B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/650,722 US10533872B2 (en) 2017-07-14 2017-07-14 Displaying visible points of interest with a navigating system
US15/650,722 2017-07-14
PCT/IB2018/054118 WO2019012342A1 (en) 2017-07-14 2018-06-07 DISPLAY OF VISIBLE INTEREST POINTS USING A NAVIGATION SYSTEM

Publications (2)

Publication Number Publication Date
BR112020000535A2 BR112020000535A2 (pt) 2020-07-21
BR112020000535B1 true BR112020000535B1 (pt) 2021-12-14

Family

ID=64998800

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020000535-5A BR112020000535B1 (pt) 2017-07-14 2018-06-07 Método implementado por computador para proporcionar orientação de percurso, meio de armazenamento legível por computador não transitório e sistema de computador

Country Status (6)

Country Link
US (2) US10533872B2 (pt)
EP (1) EP3652502A4 (pt)
AU (2) AU2018300280B2 (pt)
BR (1) BR112020000535B1 (pt)
CA (1) CA3069893C (pt)
WO (1) WO2019012342A1 (pt)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10533872B2 (en) * 2017-07-14 2020-01-14 Uber Technologies, Inc. Displaying visible points of interest with a navigating system
DE102018118215B4 (de) * 2018-07-27 2020-04-16 Man Truck & Bus Se Verfahren zur Aktualisierung einer Umgebungskarte, Vorrichtung für die fahrzeugseitige Durchführung von Verfahrensschritten des Verfahrens, Fahrzeug, Vorrichtung für die zentralrechnerseitige Durchführung von Verfahrensschritten des Verfahrens sowie computerlesbares Speichermedium
US11379502B2 (en) 2018-11-09 2022-07-05 Uber Technologies, Inc. Place visibility scoring system
KR102096078B1 (ko) * 2018-12-05 2020-04-02 네이버랩스 주식회사 이동 경로 안내 제공 방법, 장치, 시스템 및 컴퓨터 프로그램
CN111488412B (zh) * 2019-01-28 2023-04-07 阿里巴巴集团控股有限公司 一种poi采集区域的价值确定方法及装置
EP3745088A1 (en) * 2019-05-29 2020-12-02 Naver Corporation System and method for generating origin-independent access maps

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1481221B1 (en) * 2002-03-01 2010-11-17 TeleCommunication Systems, Inc. Method and apparatus for sending, retrieving, and planning location relevant information
US6766245B2 (en) * 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
US20040259573A1 (en) * 2003-06-20 2004-12-23 Steven D. Cheng System and method for providing position alerting with a mobile device
US20090306882A1 (en) 2008-06-10 2009-12-10 Yahoo! Inc. System, apparatus, or method for enhanced route directions
KR20100006353A (ko) * 2008-07-09 2010-01-19 삼성전자주식회사 이동 통신 단말의 위치 안내 방법 및 장치
US20100125406A1 (en) * 2008-11-19 2010-05-20 Nokia Corporation Methods, apparatuses, and computer program products for providing point of interest navigation services
CN102449439B (zh) * 2009-04-01 2016-08-17 优步技术公司 沿返回路线搜索兴趣点
US8560227B2 (en) * 2009-04-17 2013-10-15 Alpine Electronics, Inc. Route planning apparatus and method for navigation system
US8442767B2 (en) * 2009-08-28 2013-05-14 Navteq B.V. Method of operating a navigation system to provide route guidance
US8810437B2 (en) * 2011-02-02 2014-08-19 Mapquest, Inc. Systems and methods for generating electronic map displays with points-of-interest information based on reference locations
US9043140B2 (en) * 2012-06-29 2015-05-26 Here Global B.V. Predictive natural guidance
US20140039792A1 (en) * 2012-08-01 2014-02-06 Nokia Corporation Method and apparatus for presenting multimedia information in association with a route
JP6089360B2 (ja) * 2012-10-16 2017-03-08 アルパイン株式会社 ナビゲーション装置、アイコン表示方法およびナビゲーションプログラム
US9726510B2 (en) * 2012-10-25 2017-08-08 Intel Corporation Route optimization including points of interest
US9423261B2 (en) * 2013-02-19 2016-08-23 Here Global B.V. Path curve confidence factors
US9341483B2 (en) * 2013-03-11 2016-05-17 Qualcomm Incorporated Methods and apparatus for position estimation
US9805058B2 (en) * 2014-06-01 2017-10-31 Microsoft Technology Licensing, Llc Visibility of a point of interest based on environmental conditions
US9464909B2 (en) * 2014-09-10 2016-10-11 Volkswagen Ag Apparatus, system and method for clustering points of interest in a navigation system
US20180066948A1 (en) * 2014-12-02 2018-03-08 Google Inc. Alignment of visual indicators on navigational maps
US10533872B2 (en) * 2017-07-14 2020-01-14 Uber Technologies, Inc. Displaying visible points of interest with a navigating system

Also Published As

Publication number Publication date
WO2019012342A1 (en) 2019-01-17
CA3069893A1 (en) 2019-01-17
US10533872B2 (en) 2020-01-14
EP3652502A4 (en) 2021-04-21
EP3652502A1 (en) 2020-05-20
AU2021202867B2 (en) 2022-09-08
AU2021202867A1 (en) 2021-06-03
US20200116520A1 (en) 2020-04-16
CA3069893C (en) 2022-08-16
AU2018300280A1 (en) 2020-01-30
BR112020000535A2 (pt) 2020-07-21
AU2018300280B2 (en) 2021-02-18
US11371861B2 (en) 2022-06-28
US20190017842A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
BR112020000535B1 (pt) Método implementado por computador para proporcionar orientação de percurso, meio de armazenamento legível por computador não transitório e sistema de computador
US11255688B2 (en) Collective vehicle traffic routing
JP6749363B2 (ja) 進路変更方向プレビューの生成
CN112204343A (zh) 高清晰地图数据的可视化
JP6546598B2 (ja) 画像のジオロケーションのためのシステムおよび方法
US11454502B2 (en) Map feature identification using motion data and surfel data
US9245366B1 (en) Label placement for complex geographic polygons
US10801844B2 (en) Remediating dissimilarities between digital maps and ground truth data via dissimilarity threshold tuning
US20200134853A1 (en) Method, apparatus, and system for providing a distance marker in an image
CN111051818B (zh) 提供导航方向
EP4202833A1 (en) Method, apparatus, and system for pole extraction from a single image
EP4202835A1 (en) Method, apparatus, and system for pole extraction from optical imagery

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B25G Requested change of headquarter approved

Owner name: UBER TECHNOLOGIES, INC. (US)

B350 Update of information on the portal [chapter 15.35 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 07/06/2018, OBSERVADAS AS CONDICOES LEGAIS.