BR112016006499B1 - Métodos, sistema e meio de armazenamento legível por computador para transmissão de dados utilizando códigos ópticos - Google Patents

Métodos, sistema e meio de armazenamento legível por computador para transmissão de dados utilizando códigos ópticos Download PDF

Info

Publication number
BR112016006499B1
BR112016006499B1 BR112016006499-2A BR112016006499A BR112016006499B1 BR 112016006499 B1 BR112016006499 B1 BR 112016006499B1 BR 112016006499 A BR112016006499 A BR 112016006499A BR 112016006499 B1 BR112016006499 B1 BR 112016006499B1
Authority
BR
Brazil
Prior art keywords
image
data value
elements
code
optical
Prior art date
Application number
BR112016006499-2A
Other languages
English (en)
Other versions
BR112016006499A2 (pt
Inventor
Florian Troesch
Original Assignee
Inventio Ag
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 Inventio Ag filed Critical Inventio Ag
Publication of BR112016006499A2 publication Critical patent/BR112016006499A2/pt
Publication of BR112016006499B1 publication Critical patent/BR112016006499B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06093Constructional details the marking being constructed out of a plurality of similar markings, e.g. a plurality of barcodes randomly oriented on an object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Optical Communication System (AREA)
  • Studio Devices (AREA)
  • Image Input (AREA)
  • Telephone Function (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

TRANSMISSÃO DE DADOS USANDO CÓDIGOS ÓPTICOS. Os dados podem ser codificados em um código óptico usando combinações de características distinguíveis visualmente. Em alguns casos, os dados são representados utilizando uma proporção de dois ou mais dispositivos.

Description

Descrição
[0001] Esta descrição refere-se à transmissão de dados utilizando códigos ópticos.
[0002] Os códigos ópticos são muitas vezes utilizados para a transmissão de dados. Por exemplo, um escâner de código óptico pode ler dados codificados em um código de barras ou em um código de resposta rápida (QR). Contudo, pelo menos alguns tipos de códigos ópticos requerem tempos de leitura relativamente longos. Algumas tecnologias de códigos ópticos permitem uma faixa relativamente estreita de posições e ângulos em que um código e um leitor devem ser colocados um em relação ao outro. Às vezes, é também necessário que um escâner de código óptico primeiro foque no objeto que usa o código óptico.
[0003] EP1705595A2 descreve um sistema que transmite informação sobre senha como um sinal de senha de imagem animada. O sinal de senha de imagem animada muda sua cor uniforme de um quadro a um intervalo de quadro predeterminado de acordo com as informações de senha.
[0004] Opções adicionais para a transmissão de dados de modo óptico poderiam ser vantajosas. Isso é tratado por pelo menos algumas das concretizações abrangidas pelas concretizações.
[0005] Os dados podem ser codificados em um código óptico usando combinações de características distinguíveis visualmente. Em alguns casos, os dados são representados utilizando uma proporção de dois ou mais dispositivos.
[0006] Algumas concretizações de um método compreendem: receber um valor de dados para codificação de uma imagem; e geração da imagem, a imagem compreendendo uma pluralidade de regiões de codificação, cada uma das regiões de codificação contendo uma representação respectiva do valor de dados, sendo o valor de dados discernível com base em qualquer uma de uma pluralidade de regiões de codificação, as regiões de codificação sendo dispostas com uma densidade selecionada dentro da imagem de pelo menos duas. A geração da imagem compreende selecionar, com base no valor de dados, uma imagem de codificação dentre um conjunto de imagens de codificação. A imagem de codificação selecionada pode compreender uma pluralidade de elementos dispostos em uma grade, os elementos sendo elementos idênticos ou sendo elementos diferentes. A pluralidade de elementos podem ser formas coloridas, como quadrados, retângulos, círculos, cruzes, triângulos, elipses, losangos, estrelas e trigramas. As formas coloridas podem ser pelo menos uma vermelha, azul e verde. A pluralidade de elementos pode ser disposta em um padrão de repetição na grade. Em alguns casos, a imagem selecionada compreende um primeiro elemento da representação do valor de dados, a geração da imagem compreendendo ainda: selecionar, com base no valor de dados, uma imagem adicional fora do conjunto de imagens de codificação, a imagem adicional selecionada compreendendo um segundo elemento na representação do valor de dados; e combinando a imagem selecionada e a imagem adicional selecionada. A representação do valor de dados pode basear-se em uma relação de um primeiro elemento de uma das regiões de codificação e de um segundo elemento em uma das regiões de codificação. A proporção pode ser uma relação de um determinado número do primeiro elemento para um determinado número do segundo elemento. A relação também pode ser uma proporção de uma área da superfície ocupada pelo primeiro elemento para uma área de superfície ocupada pelo segundo elemento. Em alguns casos, a imagem é uma em uma sequência de imagens para decodificação, cada imagem na sequência de imagens que codifica uma parte de uma informação. A sequência de imagens pode ser uma sequência variável no tempo exibida em um monitor eletrônico.
[0007] Concretizações adicionais de um método compreendem:uso de um sensor de imagem, obtenção de uma imagem de pelo menos uma parte de uma imagem mostrada sobre uma superfície, a imagem compreendendo uma pluralidade de regiões codificadoras, cada uma das regiões contendo uma representação correspondente de um valor de dados comum, as regiões de codificação estando dispostas com uma densidade selecionada dentro da imagem de pelo menos duas; identificação dos primeiro e segundo elementos em pelo menos, uma das regiões; e com base nos primeiro e segundo elementos identificados, determinação do valor de dados comum. Em alguns casos, cada uma das respectivas representações do valor de dados comum se baseia em uma proporção entre um primeiro elemento na representação e um segundo elemento na representação, a determinação do valor de dados comum que compreende determinar a proporção e determinação de um valor associado para a proporção.
[0008] Exemplos de concretizações de um sistema compreendem: um sensor de imagem; e uma unidade de controle baseada em computador acoplada ao sensor de imagem, a unidade de controle estando configurada para obter, usando o sensor de imagem e uma imagem de pelo menos uma parte de uma imagem mostrada sobre uma superfície, a imagem compreendendo uma pluralidade de regiões codificadoras, cada uma das regiões contendo uma representação correspondente de um valor de dados comum, as regiões de codificação estando dispostas com uma densidade selecionada dentro da imagem de pelo menos duas; identificação do primeiro e do segundo elementos em pelo menos, uma das regiões; e com base nos primeiro e segundo elementos identificados, determinação do valor de dados comum. O sensor de imagem pode ser configurado para ler a imagem sem focalizar na superfície.
[0009] Concretizações adicionais de um método compreendem:identificação de uma quantidade de uma primeira cor em uma imagem, a imagem tendo sido captada a partir de uma tela de um dispositivo eletrônico portátil; identificação de uma quantidade de uma segunda cor na imagem; a determinação de uma proporção da quantidade da primeira cor para a quantidade da segunda cor; e com base na relação determinada, estabelecendo um valor codificado na imagem. Em algumas concretizações, as quantidades da primeira e da segunda cor a cor são, respectivamente, áreas de superfície da imagem.
[00010] Outras concretizações compreendem um dispositivo baseado em computador configurado para executar um ou mais dos métodos revelados.
[00011] Pelo menos algumas concretizações dos métodos divulgados podem ser implementadas utilizando um computador ou dispositivo baseado em computador que executa um ou mais atos do método, o computador ou dispositivo baseado em computador tendo lido instruções para a execução dos atos do método a partir de um ou mais meios de armazenamento legíveis por computador. A mídia de armazenamento legível por computador pode compreender, por exemplo, um ou mais discos ópticos, componentes de memória voláteis (tais como DRAM ou SRAM), ou componentes de memória não volátil (tais como discos rígidos, flash RAM ou ROM). A mídia de armazenamento legível por computador não cobre sinais transitórios puros. Os métodos aqui descritos não são executados exclusivamente na mente humana.
[00012] A descrição refere-se às seguintes figuras, nas quais:
[00013] A Figura 1 mostra um diagrama de blocos de uma concretização exemplificativa de um leitor óptico.
[00014] A Figura 2 mostra um diagrama de blocos de uma concretização exemplificativa de um sistema para ser usado com um leitor óptico.
[00015] A Figura 3 mostra um código óptico.
[00016] As Figuras 4A-4C mostram imagens exemplificativas.
[00017] A Figura 5 mostra imagens exemplificativas.
[00018] A Figura 6 mostra imagens exemplificativas com padrões respectivos.
[00019] A Figura 7 mostra imagens exemplificativas combinadas.
[00020] As Figuras 8A e 8B mostram partes de códigos ópticos.
[00021] A Figura 9 mostra um código óptico exemplificativo no qual os elementos estão dispostos em uma grade.
[00022] A Figura 10 mostra uma concretização exemplificativa de um método para a geração de um código óptico.
[00023] A Figura 11 mostra uma concretização exemplificativa de outro método para geração de um código óptico.
[00024] A Figura 12 mostra uma concretização exemplificativa de um método para a decodificação de um código óptico.
[00025] A Figura 13 mostra uma concretização exemplificativa de um dispositivo eletrônico.
[00026] A Figura 14 mostra um diagrama de blocos de uma concretização exemplificativa de um computador.
[00027] A Figura 1 mostra um diagrama de blocos de uma concretização exemplificativa de um leitor óptico 110. O leitor 100 compreende um sensor de imagem 120 acoplado a uma unidade de controle de leitura 130. O sensor de imagem 120 compreende, por exemplo, um sensor CCD (dispositivo de carga acoplada), um sensor CMOS (semicondutor de óxido metálico complementar), ou outro tipo de sensor óptico. Em alguns casos, o sensor de imagem 120 pode focar uma imagem; em outros casos, o sensor de imagem 120 não está equipado para focar sobre uma imagem. O sensor de imagem 120 pode ter uma lente, ou pode funcionar sem uma lente. A unidade de controle do leitor 130 é um dispositivo baseado em computador que compreende um processador que é programado para realizar um ou mais dos atos do método revelado neste pedido de patente. O processador pode ser acoplado a uma memória que armazena as instruções correspondentes para o processador. O leitor 110 registra uma imagem 140. A imagem 140 aparece em um visor de um dispositivo eletrônico portátil (não mostrado), ou em outra superfície (por exemplo, um pedaço de papel).
[00028] A Figura 2 mostra um diagrama de blocos de uma concretização exemplar de um sistema 200 para utilização com um leitor óptico 210, tal como o leitor 110 da Figura 1. O funcionamento do sistema 200 é controlado por uma unidade de controle do sistema 202. A unidade de controle 202 é um dispositivo baseado em computador que compreende um processador que é programado para realizar um ou mais dos atos do método revelados neste pedido de patente. O processador pode ser acoplado a uma memória que armazena as instruções correspondentes para o processador.
[00029] Como mencionado acima, o leitor 210 pode ler uma imagem de um visor de um dispositivo eletrônico portátil 220, ou a partir de uma superfície não eletrônica, tal como um pedaço de papel. O dispositivo eletrônico portátil 220 é um dispositivo com um visor para mostrar imagens, por exemplo, um telefone celular, um smartphone, um tablet, um relógio de pulso computadorizado (por exemplo, "SmartWatch"), um computador portátil ou outro dispositivo. Informação lida a partir do dispositivo eletrônico portátil 220 pelo leitor 210 pode ser enviada para um ou mais componentes. Por exemplo, a informação pode ser enviada para um sistema de controle acesso 230, para um sistema controle de elevador 240, ou para uma base de dados 250. Informação lida pelo leitor 210 também pode ser enviada para outros componentes, os quais podem executar ações específicas com base na informação. Geralmente, o leitor 210 pode ser configurado para enviar informações a qualquer componente que seja conhecido para o processamento de informações obtidas por leitura de códigos ópticos. Os componentes do sistema 200 podem ser conectados por qualquer tipo de rede 260.
[00030] Em algumas concretizações, uma rede de comunicação sem fios 270 permite ao sistema 200 transmitir informações ao dispositivo eletrônico portátil 220. Por exemplo, o sistema 220 pode enviar informação de código óptico ao dispositivo eletrônico portátil 220. O sistema 200 pode receber instruções para enviar as informações de código óptico a partir de um dispositivo central baseado em computador 280.
[00031] Os códigos ópticos utilizados pelas concretizações descritas no presente pedido são imagens de uma ou de duas dimensões. Pelo menos alguns dos exemplos de códigos ópticos representados no pedido são geralmente de forma quadrada, porém, outros códigos ópticos podem ter outras formas (por exemplo, retangular, redonda, oval, triangular, ou outra forma). As informações codificadas em um código óptico podem incluir, por exemplo, um número, uma letra, uma combinação de letras e números, ou qualquer outro tipo de informação.
[00032] As informações codificadas nos códigos ópticos descritos no presente pedido podem ser extraídas do código, mesmo que uma parte do código não seja visível para o leitor óptico. Isto é possível porque a informação codificada é representada em várias regiões do código. Especificamente, as características particulares que representam a informação codificada são repetidas em várias áreas do código. (Exemplos de tais características são descritos em outras partes do pedido).
[00033] A Figura 3 mostra um código óptico 300 que tem uma área 310. (Por razões de clareza, as características pormenorizadas do código 300 não são mostradas na Figura 3). Neste exemplo, uma assim chamada região de codificação 312 contém características suficientes para representar a informação codificada. As regiões de codificação 314, 316, 318, e 320 também contêm cada uma, características suficientes para representar a informação codificada. Como foi visto neste exemplo, as regiões de codificação podem ter vários tamanhos e posições. Duas regiões de codificação também podem se sobrepor parcialmente, tal como as regiões 318, 320. A região 322 é um exemplo de uma região de codificação que contém uma ou mais outras regiões de codificação. A informação contida em qualquer uma das regiões 312, 314, 316, 318, 320, 322 é suficiente para permitir que o leitor óptico decodifique a informação codificada no código óptico 300, mesmo se uma ou mais partes do código não forem visíveis para o leitor. Uma parte do código pode não ser visível devido a, por exemplo: o código está parcialmente obscurecido por um objeto (por exemplo, um dedo do usuário está em parte da tela que está mostrando o código); o código óptico é tão perto do sensor de imagem do leitor óptico que parte do código está fora do campo de visão do sensor; o sensor de imagem está sujo ou danificado; o visor no qual o código aparece está sujo ou danificado; ou por outra razão. Geralmente, quanto maior for o número de regiões de codificação de um código, maior a probabilidade de que o código será lido com sucesso. Embora as regiões de codificação mostradas na Figura 3 seja todas circulares, as regiões de codificação também podem ter outras formas (por exemplo, retangulares, redondas, ovais, triangulares, ou outra forma). Embora as regiões mostradas na Figura 3 são, cada uma, individuais, áreas adjacentes, em concretizações adicionais uma região de codificação podem compreender duas ou mais áreas não-adjacentes. Cada uma das áreas não adjacentes pode ou não conter por si só características suficientes para representar a informação codificada, mas, juntas elas contêm recursos suficientes.
[00034] Em pelo menos algumas concretizações, o número e a disposição das regiões de codificação de um código óptico são selecionados de acordo com uma área de detecção conhecida ou prevista de um leitor óptico. O termo "área de detecção" refere-se à área do código óptico que é capturada pelo leitor óptico. Em diferentes concretizações, a área de detecção pode ter diversas formas (por exemplo, retangular, redonda, oval, triangular, ou outra forma). A "área de detecção mínima" é a menor área do código óptico que um leitor óptico pode captar e ainda tem recursos suficientes para decodificar a informação codificada. Em outras palavras, a área de detecção mínima necessária para conter uma região de codificação do código óptico. Assim, as regiões de codificação de um código óptico podem ser dispostas de tal modo que, independentemente de qual a parte do código óptico é lida pelo leitor óptico, contanto que a parte seja pelo menos tão grande como a área de detecção mínima, o leitor pode decodificar a informação codificada a partir do código óptico em qualquer posição dentro do código. É claro que, em muitos casos, um leitor óptico pode captar uma parte do código tão grande quanto possível, e assim a área de detecção real pode ser maior do que a área de detecção mínima. Uma área de detecção ou uma área de detecção mínima podem compreender uma única área adjacente, ou podem compreender duas ou mais áreas não adjacentes.
[00035] Quando se gera um código óptico, pode ser assumido que a área de detecção mínima pode não permitir uma facilidade desejada de decodificação. Por exemplo, uma área de detecção mínima pode proporcionar informação suficiente para decodificar um código, mas a uma taxa mais lenta do que o desejado, ou a um custo computacional mais elevado do que o desejado. Por estas razões, uma área de detecção um pouco maior que a área mínima de detecção pode ser utilizada (por exemplo, uma área que é maior 1%, 5%, 10%, 15%, 20% ou maior em uma outra quantidade). O uso desta área de detecção maior pode fazer a decodificação do código mais fácil.
[00036] Um código óptico pode ser gerado usando uma ou mais imagens. Em algumas concretizações, o código óptico baseia-se em uma única imagem. Em concretizações adicionais, o código óptico se baseia em uma combinação de duas ou mais imagens.
[00037] A Figura 4A mostra uma imagem exemplificativa 410, que consiste em várias formas 412, 414, 416, 418, 420, 422. Embora não seja aparente a partir do desenho, estas formas estão, cada uma delas preenchidas com a mesma cor única. A Figura 4B mostra outra imagem exemplificativa, que consiste em várias formas, como aquelas na imagem 410. No entanto, neste caso, as superfícies são preenchidas com um padrão, em vez de uma cor sólida. A Figura 4C mostra outra imagem exemplificativa 450, que consiste de múltiplas formas como aquelas na imagem 410. No entanto, neste caso, as superfícies são preenchidas com formas adicionais, ou seja, pequenos triângulos e pequenos círculos. Em concretizações adicionais gradientes podem ser usadas em uma imagem, incluindo formas que são modeladas a partir de gradientes e, portanto, parecem não ter bordas claramente definidas.
[00038] O retângulo 432 na Figura 4B representa uma área de detecção mínima para um leitor óptico que está lendo a imagem 430. Neste caso, a parte da imagem 430 dentro do retângulo 432 está preenchida por ambas as formas padronizadas da imagem 430 e por um fundo 436. A presença das formas e do fundo indica os dados particulares que estão codificados na imagem. O retângulo 434 representa outra área de detecção mínima para a imagem 430. Também neste caso, a parte da imagem 430 dentro do retângulo 434 está preenchida por ambas as formas padronizadas e pelo fundo 436. Uma área de detecção maior do que as áreas de detecção mínima 432, 434 cobriria igualmente partes tanto do fundo como das formas padronizadas. No caso da Figura 4B, o fundo 436 pode ser, por exemplo, uma cor sólida ou outro padrão.
[00039] Em várias concretizações, o fundo de uma imagem não é utilizado para codificar os dados, porém, para ajudar a calibrar o sensor de imagem do leitor óptico. O fundo pode também servir como uma decoração.
[00040] Voltando à Figura 4C, os retângulos 452, 454, cada um representa áreas de detecção mínimas para um leitor óptico que está lendo a imagem 450. Nesta imagem particular, a característica relevante é a proporção entre o número de pequenos triângulos para o número de pequenos círculos dentro de uma área pré-definida. Em cada uma das zonas 452, 454, a proporção de pequenos círculos para pequenos triângulos é de 1:1. O leitor óptico pode reconhecer esta relação e usá- la para identificar a imagem 450 (Isto é, para distinguir a imagem 450 de, pelo menos, uma outra imagem). Uma área de detecção maior que as áreas mínimas de detecção 452, 454 cobriria igualmente uma parte da imagem 450 na qual a proporção de pequenos círculos para pequenos triângulos é de 1: 1, uma vez que esta característica é geralmente consistente ao longo de toda a imagem 450.
[00041] Em algumas concretizações, um código óptico é formado pela combinação de uma ou mais imagens. A Figura 5 mostra as imagens exemplificativas 510, 520, 530, 540, cada uma das quais compreende um grupo de formas, tais como a forma 512 na imagem 510. As imagens 510, 520, 530, 540 diferem umas das outras em que os seus formatos são preenchidos com diferentes padrões. A Figura 6 mostra as imagens exemplificativas 610, 620, 630, 640, cada uma das quais está cheia com um respectivo padrão. A Figura 7 mostra como as imagens selecionadas das Figuras 5 e 6 podem ser combinadas umas com as outras para criar códigos ópticos. Por exemplo, a imagem 710 é uma combinação das imagens 510 e 610; a imagem 720 é uma combinação das imagens 540 e 620; a imagem 730 é uma combinação das imagens 530 e 630; e a imagem 740 é uma combinação das imagens 530 e 640. Cada uma das imagens na Figura 7 pode ser utilizada para representar um valor determinado. Por exemplo, a imagem 710 pode indicar um "0", a imagem 720 pode indicar um "1", a imagem 730 pode indicar um "3", e a imagem 740 pode indicar um "4". Combinações adicionais com base nas imagens das Figuras 5 e 6 também podem ser utilizadas e a elas os valores respectivos atribuídos.
[00042] Em algumas concretizações, as imagens da Figura 5 podem ser combinadas com um fundo de cor única, em vez de fundos modelados, como aqueles da Figura 6.
[00043] Em concretizações adicionais, os elementos de um código óptico estão dispostos em uma grade de espaços. Os espaços na grade podem ser de forma quadrada, ou eles podem ter outra forma. Os espaços podem ter uma borda em torno do conteúdo do espaço (por exemplo, uma linha preta, ou uma linha de outra cor), ou os espaços pode não ter nenhuma borda em torno de seu conteúdo. Cada elemento que está disposto em um espaço de grade tem uma característica visível que permite ao leitor óptico distingui-lo a partir de outro elemento possível (que podem ou não podem, de fato, estar presentes na grade). Os recursos possíveis podem incluir, por exemplo: cores, padrões, formas, gradientes, letras, números ou outras propriedades.
[00044] A Figura 8A mostra uma parte do lado superior esquerdo de um código óptico exemplificativo 810. O código 810 compreende elementos organizados em uma grade, tais como elementos 812, 814, 816. Os elementos 812, 814, 816 são quadrados, cada um tendo um padrão de preenchimento diferente. Os elementos quadrados restantes da grade cada um têm um desses padrões de preenchimento, de tal forma que os elementos 812, 814, 816 são repetidos em sequência sobre o código óptico 810. Os padrões particulares utilizados, as proporções relativas em que os elementos com aqueles padrões aparecem no código 810, ou ambos, indicam a informação particular codificada no código 810.
[00045] A Figura 8B mostra uma parte do lado superior esquerdo de um código óptico exemplificativo 820. O código 820 também compreende elementos organizados em uma grade, tais como elementos 822, 824, 826. Estes elementos são quadrados, porém, eles são preenchidos com diferentes formatos: o elemento 822 contém um triângulo, o elemento 824 contém um círculo, e o elemento 826 contém uma estrela. Os elementos quadrados restantes da grade cada um contêm uma destas formas, de tal modo que os elementos 822, 824, 826 são repetidos em sequência sobre a superfície do código óptico 820. As formas particulares utilizadas, as proporções relativas em que os elementos com estas formas aparecem no código 820, ou ambas, indicam a informação particular codificada no código 820.
[00046] A Figura 9 mostra um código óptico exemplificativo 900 no qual os elementos (quadrados preenchidos de cor) estão dispostos em uma grade. Cada um dos elementos na grade é um quadrado vermelho, verde ou azul. (No desenho da Figura 9, cada uma das cores é representada por um padrão diferente, tal como indicado na figura). Em uma concretização, os elementos são aproximadamente 0,2-0,3 cm quadrados; outros tamanhos de elemento também podem ser usados. Embora o exemplo da Figura 9 utilize três cores diferentes de quadrados, concretizações adicionais podem usar qualquer número de cores (Por exemplo, duas cores, quatro cores, cinco cores, seis cores, ou outro número de cores), qualquer número de padrões de preenchimento, ou ambos. De um modo geral, a utilização de um menor número de cores ou padrões significa que as cores ou padrões podem ser mais distintos uns dos outros, e, portanto, mais facilmente distinguidos pelo leitor óptico. No entanto, a utilização de um maior número de cores ou padrões, aumenta a quantidade de informação que pode ser codificada num código óptico.
[00047] O retângulo 910 representa uma área de detecção mínima para o código 900. Neste caso, o retângulo 910 tem um tamanho de, aproximadamente, um elemento por três elementos. Esta área é grande o suficiente para determinar a proporção dos quadrados vermelhos, verde e azul no código 900. Naturalmente, também podem ser utilizadas áreas de detecção maiores. Por exemplo, uma área de detecção, que é de três elementos por três elementos pode ser utilizada. Dependendo da concretização, a proporção pode ser determinada com base no número de quadrados, ou com base na área da superfície ocupada pelos quadrados.
[00048] Em alguns casos, o tamanho de uma área mínima de detecção é pelo menos parcialmente uma função de quantos tipos diferentes de elementos estão disponíveis (por exemplo, neste exemplo, quantas cores diferentes de quadrados). Por exemplo, se o código 900 puder ser construído de quadrados de cinco cores diferentes ou dez cores diferentes, então o retângulo 910 seria demasiado pequeno para determinar a proporção de todas as cinco cores ou todas as dez cores. Geralmente, enquanto o conceito da área de detecção mínima pode ser útil na compreensão das tecnologias descritas, o leitor óptico não necessita de saber ou usar uma área mínima de detecção de um código óptico particular, quando da decodificação do código. Em concretizações particulares, o leitor óptico é programado para reconhecer uma ou mais características de um código óptico e, com base nas características reconhecidas e os seus tamanhos, determinar o tamanho da imagem. O leitor pode então modificar o tamanho da imagem, se necessário. Com base no tamanho da imagem, o leitor pode também determinar a área de detecção mínima para o código óptico.
[00049] O código 900 pode ser usado com uma concretização na qual a proporção de um conjunto de cores determina o valor codificado no código. A Tabela 1 abaixo dá um exemplo de esquema de codificação. Na tabela, "R" significa vermelho, "G" significa verde, e "B" significa azul.
Figure img0001
Tabela 1
[00050] Aplicação do esquema de codificação da Tabela 1 ao exemplo de código 900, vemos que o código 900 contém uma proporção R:G:B (vermelho : verde : azul) de 1:1:1. Assim, o código 900 é interpretado como codificação de um valor 0.
[00051] Em concretizações particulares, dependendo de fatores tais como o tamanho da grade, o número de cores utilizadas para os elementos da grade, e o padrão usado na disposição dos elementos na grade, o código óptico pode aparecer ser composto de barras coloridas verticais ou horizontais, em vez de elementos quadrados individuais.
[00052] Em outras variantes da concretização da Figura 9, os espaços da grade são ocupados por formas coloridas diferentes de quadrados coloridos. Por exemplo, retângulos, círculos, elipses, triângulos, cruzes, losangos, trigramas ou outras formas podem ser usadas.
[00053] Os exemplos das Figuras 8A, 8B, e 9 descrevem concretizações em que os elementos (Por exemplo, formas, quadrados preenchidos por um padrão, quadrados preenchidos de cor) são repetidos em uma ordem dada, com uma grade. Em concretizações adicionais, os elementos na grade não são repetidos em qualquer ordem particular. Por exemplo, os elementos podem ser dispostos na grade em uma ordem aleatória, ou em uma ordem pseudoaleatória. No entanto, em pelo menos alguns casos, a área de detecção mínima para uma imagem pode ser menor se os elementos forem repetidos em uma ordem dada, uma vez que isto pode ajudar a garantir que os elementos sejam distribuídos mais uniformemente por todo o código óptico.
[00054] Os exemplos das Figuras 8A, 8B, e 9 também descrevem concretizações em que um dado conjunto de elementos é repetido ao longo de filas ou ao longo de colunas dentro da grade. Por exemplo, a Figura 9 mostra um padrão de "quadrado vermelho, quadrado verde, quadrado azul", repetido ao longo de cada fila da grade. Em mais concretizações dois ou mais conjuntos de elementos são repetidos ortogonalmente entre si em uma grade. Em um exemplo, uma grade de quadrados coloridos contém um primeiro conjunto de elementos, "Quadrado vermelho, quadrado verde, quadrado azul", e um segundo conjunto de elementos, "círculo preto, estrela amarela, gradiente quadrado verde". O primeiro e o segundo conjunto são repetidos através da grade, o primeiro e o segundo conjunto estando dispostos ortogonalmente entre si.
[00055] A Figura 10 mostra uma concretização exemplificativa de um método 1000 para a geração de um código óptico. O método 1000 é realizado por um computador e pode ser utilizado geralmente para gerar qualquer uma das concretizações de códigos ópticos discutidas neste documento. Em um ato do método 1010, o computador recebe dados para a codificação de um código óptico. Os dados compreendem, por exemplo, um número, uma letra, uma palavra, ou outra informação. Em um ato do método 1020, o computador gera uma imagem com múltiplas regiões de codificação, cada uma das regiões contendo uma representação respectiva dos dados. Em outras palavras, os dados são codificados em cada uma das regiões de codificação de modo que, tal como discutido acima, os dados podem ser decodificados usando qualquer uma das regiões. Em alguns casos, o código óptico é enviado para um usuário em um ato do método 1030. O usuário pode, em seguida, apresentar o código a um leitor de código.
[00056] A Figura 11 mostra uma concretização exemplificativa de outro método 1100 para geração de um código óptico. Similar ao método 1000, o método 1100 é realizado por um computador e pode ser utilizado geralmente para gerar qualquer uma das concretizações de códigos ópticos discutidas neste documento. Em um ato do método 1110, o computador recebe dados para a codificação de um código óptico. Os dados compreendem, por exemplo, um número, uma letra, uma palavra, ou outra informação.
[00057] Em um ato do método 1120, o computador seleciona uma imagem de um conjunto de imagens de codificação. As imagens de codificação são imagens que podem ser usadas para representar os dados. Por exemplo, a imagem da Figura 9, e as outras imagens que são descritas em relação com o exemplo da Figura 9, podem formar um conjunto de imagens de codificação a partir das quais uma imagem pode ser selecionada. As imagens a partir das Figuras 4A-4C também podem formar tal conjunto. Em alguns casos, a imagem selecionada contém, pelo menos, dois elementos que representam uma proporção indicando os dados codificados. Por exemplo, o código óptico 450 da Figura 4C contém pequenos triângulos e pequenos círculos, que representam uma proporção. Como outro exemplo, na Figura 9, os quadrados vermelhos, verdes e azuis representam uma proporção. Em outros casos, a presença de elementos particulares (por exemplo, elementos de uma determinada cor ou padrão) indica os dados codificados.
[00058] Em algumas concretizações, a imagem selecionada no ato do método 1120 forma o código óptico.
[00059] Em algumas concretizações, depois de uma imagem ser selecionada, uma imagem adicional é selecionada a partir de um conjunto de imagens de codificação em um ato do método 1130. As imagens selecionadas são combinadas em um ato do método 1140, para formar o código óptico. As imagens das Figuras 5 e 6 são exemplos de conjuntos de imagens a partir dos quais as duas imagens podem ser selecionadas. A Figura 7 mostra exemplos de imagens combinadas criadas a partir das imagens das Figuras 5 e 6.
[00060] Se um código óptico é gerado com base em imagens combinadas ou em uma única imagem depende da concretização particular. Em muitos casos, códigos ópticos semelhantes ou idênticos podem ser gerados usando imagens individuais ou combinadas. Por exemplo, a imagem da Figura 9 pode ser gerada através da combinação de três imagens, cada uma compreendendo conjuntos de quadrados para uma respectiva cor. Como outro exemplo, as imagens da Figura 7 também podem ser armazenadas cada uma como imagens simples, de modo que elas não precisam ser geradas a partir de duas imagens separadas quando usadas.
[00061] Voltando à Figura 11, em alguns casos, o código óptico é enviado para um usuário em um ato do método 1150. O usuário pode, em seguida, apresentar o código a um leitor de código.
[00062] A Figura 12 mostra uma concretização exemplificativa de um método 1200 para a decodificação de um código óptico. Em um ato método 1210, um leitor óptico obtém uma imagem usando um sensor de imagem. Normalmente, a imagem é pelo menos uma parte de uma imagem exibida no visor de um dispositivo eletrônico portátil. No entanto, em algumas concretizações, a imagem está sobre um pedaço de papel ou outra superfície não eletrônica. A imagem compreende uma concretização de qualquer um dos códigos ópticos aqui divulgados. Como tal, a imagem resultante contém pelo menos uma região de codificação, e, possivelmente, várias regiões de codificação. Uma região de codificação de dados pode ser constituída por múltiplas, áreas menores não adjacentes. Em algumas concretizações, cada uma das regiões de codificação contém pelo menos um primeiro e segundo elementos, a proporção entre os elementos que representam um valor de dados codificado comum. Em outros casos, a presença de elementos particulares (por exemplo, elementos de uma determinada cor ou padrão) indicam os dados codificados.
[00063] Em um ato do método 1220, o leitor óptico identifica os primeiro e segundo elementos na imagem. Isto pode ser feito usando qualquer algoritmo de algoritmo de visão computacional, por exemplo, algoritmos de uma biblioteca de visão computacional, tais como OpenCV.
[00064] Em algumas concretizações, o leitor identifica a maior área ou áreas de cada cor na imagem, possivelmente utilizando uma função de uma biblioteca de visão por computador. Esta técnica pode ser utilizada, por exemplo, com a grade multicolorida da Figura 9. Uma vez que a área de cada cor é determinada, então a proporção entre as áreas de cada uma das cores é determinada. Com base na proporção, um valor codificado é determinado (por exemplo, usando uma tabela de consulta). Um exemplo de pseudocódigo para tal concretização (usando cores) aparece abaixo: a = encontrar _área (cor = vermelha) b = encontrar _área (cor = verde) c = encontrar _área (cor = azul) r = avaliar_proporção (a, b, c) valor_codificado = decodificar (r)
[00065] Um outro exemplo de pseudocódigo para tal concretização (usando formas) aparece abaixo: Num_forma_1 = contagem (encontra forma (cruz) Num_for- ma_2 = contagem (encontra forma (quadrado)) r = avaliar_proporção (Num_forma_1, Num_forma_2) valor_codificado = decodifica (r).
[00066] Em concretizações adicionais, o leitor identifica padrões particulares ou formas no código óptico. Com base em que padrões ou formas estão presentes no código, o leitor determina um valor codificado. Um exemplo de pseudocódigo para tal concretização (usando padrões) aparece abaixo: a = encontrar_ padrão (pontos) b = encontrar (linhas) c = encontrar_padrão (sombreamento com linhas cruzadas) valor_codificado - decodificar (é_verdadeiro (a), é_verda- deiro (b), é_verdadeiro (c))
[00067] Em concretizações que utilizam uma proporção entre elementos de imagem, em um ato do método 1230 é determinada a proporção entre o primeiro e segundo elemento da imagem. A proporção pode ser com base (1) nos respectivos números do primeiro e segundo elemento, ou pode ser com base (2) nos tamanhos das respectivas áreas da superfície ocupada pelos elementos da imagem, ou pode basear-se em uma mistura de (1) e (2). Em concretizações que não usam uma proporção, este ato do método é omitido.
[00068] Em um ato do método 1240, o leitor óptico determina o valor de dados codificado com base na proporção determinada ou os elementos determinados. Isto pode ser feito utilizando, por exemplo, uma estrutura de dados que indica quais os valores de dados que correspondem as quais proporções ou a que pares de elementos. Um exemplo disto é Tabela 1, acima. Em algumas concretizações, o valor de dados determinado é transferido para um outro componente ou sistema, tal como um sistema de controle de acesso.
[00069] Embora os atos de método 1200 do método sejam descritos como sendo realizados pelo leitor óptico, em vez disso, pelo menos alguns dos atos do método podem ser realizados por uma unidade de controle baseada em computador.
[00070] A Figura 13 mostra uma concretização exemplificativa de um aparelho eletrônico portátil 1300, que compreende um visor 1310. Nesta concretização, o código óptico 1320 é mostrado no visor 1310 rodeado por uma moldura de 1330. A moldura 1330 ajuda a mostrar os limites do código 1320 de modo que o leitor óptico é menos provável que interprete objetos fora do código 1320 como sendo parte do código. Na Figura 13, a moldura 1330 é uma linha espessa, preta, mas em várias concretizações, a moldura 1330 pode ter outras formas e cores.
[00071] Em concretizações particulares, o leitor óptico lê uma série de diversos códigos ópticos. O leitor pode visualizar estes códigos no visor de, por exemplo, um de smartphone ou outro dispositivo, ou sobre uma superfície não eletrônica, tal como um pedaço de papel. Os códigos são apresentados um após o outro, semelhante ao formato de um filme ou uma apresentação de slides. Os códigos podem ser mostrados em um anel para permitir ao leitor múltiplas oportunidades para reconhecê- los. Utilizando múltiplos códigos pode aumentar a quantidade de informação que o leitor óptico lê a partir do dispositivo. Em algumas concretizações, um dos códigos ópticos serve como informação de paridade (por exemplo, como um bit de paridade, ou como uma imagem de paridade). Em concretizações adicionais, um dos códigos indica o início da série de códigos.
[00072] Em alguns casos, quando o aparelho eletrônico portátil exibe uma sequência de códigos ópticos, a legibilidade dos códigos individuais pode ser melhorada, exibindo um quadro "neutro" entre cada código. A moldura neutra é uma imagem que serve principalmente para indicar uma transição entre os códigos ópticos. Por exemplo, o quadro neutro pode ser uma moldura de cor única, como preto, cinza, branco ou outra cor. Além disso, os códigos podem ser mostrados a uma velocidade maior do que a taxa de quadros do leitor óptico. Por exemplo, os códigos podem ser mostrados em aproximadamente duas vezes a taxa de quadros do leitor óptico (por exemplo, o leitor tem uma taxa de quadros de aproximadamente 30 fps (quadros por segundo), e as imagens são mostradas a aproximadamente 60 fps (quadros por segundo)). Isso pode evitar problemas que surgem quando o visor do dispositivo eletrônico e o sensor de imagem do leitor óptico não estão sincronizados.
[00073] Um dispositivo eletrônico portátil pode exibir um código óptico usando vários programas de software, por exemplo: um navegador web; um visor de mídia (por exemplo, de gráficos, de filmes, ou ambos); uma aplicação dedicada; ou outro programa.
[00074] Em pelo menos algumas das concretizações descritas, as características de um código óptico são suficientemente grandes para serem discernidas pelo olho humano.
[00075] Em qualquer das concretizações reveladas, um padrão de enchimento pode incluir números, letras ou outros caracteres. Em outras concretizações, uma imagem para a formação de um código óptico compreende uma ou mais barras (barras retas, barras onduladas, barras gradiente) que se estendem através de pelo menos parte da imagem.
[00076] A Figura 14 mostra um diagrama de blocos de uma concretização exemplificativa de um computador 1400 (por exemplo, parte de uma unidade de controle do sistema, parte de um leitor óptico, parte de uma base de dados, parte de um aparelho eletrônico portátil) que pode ser usado com uma ou mais tecnologias aqui divulgadas. O computador 1400 inclui um ou mais processadores de 1410. O processador 1410 é acoplado a uma memória de 1420, que compreende um ou mais meios de armazenamento legíveis por computador que armazenam as instruções de software 1430. Quando executadas pelo processador 1410, as instruções de software 1430 fazem o processador 1410 executar um ou mais dos atos do método divulgados neste documento. Concretizações adicionais do computador 1400 podem compreender um ou mais componentes adicionais. O computador 1400 pode ser conectado a um ou mais computadores ou outros dispositivos eletrônicos através de um componente de entrada / saída (não mostrado). Em pelo menos algumas concretizações, o computador 1400 pode conectar a outros computadores ou dispositivos eletrônicos através de uma rede 1440. Em concretizações particulares, o computador 1400 funciona com um ou vários outros computadores, que estão localizados localmente, remotamente ou ambos. Um ou mais dos métodos descritos podem, assim, ser realizados utilizando um sistema de computação distribuído.
[00077] Geralmente, as concretizações reveladas permitem um leitor óptico ler a informação de um código óptico, mesmo se uma parte do código estiver ilegível ou indisponível. Deste modo, a robustez do leitor óptico é melhorada.
[00078] Pelo menos algumas das concretizações reveladas fornecem códigos ópticos que podem ser lidos mais rapidamente do que outros códigos ópticos (por exemplo, códigos QR).
[00079] Qualquer um dos códigos ópticos descritos pode ser lido quando uma parte do código não estiver visível para o leitor óptico.
[00080] Geralmente, as concretizações reveladas permitem que um código óptico seja lido enquanto o código estiver em movimento em relação ao leitor óptico, o que torna o processo de leitura de código mais robusto. Por exemplo, o código pode ser lido enquanto está em movimento em direção ao leitor ou para longe dele. Como outro exemplo, o código pode ser lido, enquanto ele está a ser girado em relação ao leitor, ou enquanto está sendo mantido em um ângulo em relação ao leitor. Estes aspectos podem melhorar a legibilidade em situações em que um usuário não segura o código óptico imóvel durante a leitura (por exemplo, se o usuário estiver fisicamente incapacitado de fazê-lo por causa da idade ou deficiência).
[00081] Concretizações adicionais não necessitam de um sensor de imagem a ser focado na superfície que está exibindo o código óptico. Assim, o sensor de imagem não tem necessariamente de ser capaz de realizar o enfoque. Se o sensor puder executar o enfoque, então o sensor ainda será capaz de ler o código de forma adequada antes de ocorrer o enfoque. Isto pode permitir que o código seja lido mais rapidamente, especialmente se a superfície que está exibindo o código estiver em movimento durante a leitura.
[00082] As concretizações divulgadas podem geralmente ser usadas com qualquer aplicação de código óptico. Um exemplo de aplicação é o controle de acesso. Um hóspede pode receber um código óptico de um hospedeiro, o código óptico tendo sido enviado a pedido do hospedeiro. Em alguns casos, é cobrada uma taxa pela solicitação. O smartphone do cliente pode receber o código óptico, possivelmente através de uma rede sem fio. O código óptico pode compreender uma única imagem ou uma sequência variável no tempo de imagens múltiplas (por exemplo, um filme). Quando o hóspede se aproxima do portão de segurança no prédio do hospedeiro, o hóspede usa o smartphone para exibir o código óptico, e o hóspede apresenta o smartphone a um leitor óptico. O leitor lê o código do telefone e transmite o código a um sistema de controle de acesso. Após a verificação do código, o sistema de controle de acesso permite que o hóspede entre no edifício.
[00083] Embora certos dados sejam descritos neste documento como sendo armazenados em uma tabela ou em uma outra estrutura de dados, geralmente tais dados podem ser armazenados em qualquer tipo adequado de estrutura de dados; uma estrutura de armazenamento de dados pode ser gerada utilizando um algoritmo.
[00084] Embora algumas concretizações dos vários métodos aqui divulgados sejam descritas como compreendendo certo número de atos do método, concretizações adicionais de um dado método podem compreender mais ou menos atos de método que são explicitamente divulgados neste documento. Em concretizações adicionais, os atos do método são realizados em uma ordem diferente, tal como aqui divulgado. Em alguns casos, dois ou mais atos do método podem ser combinados em um ato do método. Em alguns casos, um ato do método pode ser dividido em dois ou mais atos do método.
[00085] Tal como aqui utilizado, um "usuário" pode ser uma pessoa, um grupo de pessoas, uma máquina, ou um animal.
[00086] A menos que indicado de outra forma, uma frase referindo- se a "pelo menos um de" uma lista de itens refere-se a qualquer combinação desses itens, incluindo elementos individuais. Como um exemplo, "pelo menos um dos seguintes: a, b, ou c" está destinado a cobrir: a; b; c; a e b; a e c; b e c; e a, b e c. Como outro exemplo, "pelo menos um dos seguintes: a, b, ou c" está destinado a cobrir: a; b; c; a e b; a e c; b e c; e a, b e c.
[00087] Tendo ilustrado e descrito os princípios das tecnologias descritas, será evidente para os peritos na técnica que as concretizações reveladas podem ser modificadas no arranjo e detalhe sem se afastar de tais princípios. Em vista das muitas concretizações possíveis às quais podem ser aplicados os princípios das tecnologias descritas, deve ser reconhecido que as concretizações ilustradas são apenas exemplos das tecnologias e não devem ser tomados como limitantes do escopo da invenção. Em vez disso, o escopo da invenção é definido pelas seguintes concretizações e seus equivalentes. Tudo está dentro do escopo destas concretizações.

Claims (16)

1. Método, caracterizado pelo fato de que compreende receber um valor de dados para codificação em uma imagem (140); e gerar a imagem (140), a imagem (140) compreendendo uma pluralidade de regiões de codificação (312), cada uma das regiões de codificação (312) contendo uma representação respectiva do valor de dados, o valor de dados sendo discernível com base em qualquer uma da pluralidade de regiões de codificação (312), as regiões de codificação (312) sendo dispostas com uma densidade selecionada dentro da imagem (140) de pelo menos duas, sendo que a representação do valor de dados é baseada em uma relação de um número de um primeiro elemento ou um tamanho de uma área de superfície ocupada pelo primeiro elemento em uma das regiões de codificação (312), e um número de um segundo elemento ou um tamanho de uma área de superfície ocupada pelo segundo elemento em uma das regiões de codificação (312).
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a geração da imagem (140) compreende selecionar, com base no valor de dados, uma imagem de codificação dentre um conjunto de imagens de codificação.
3. Método de acordo com a reivindicação 2, caracterizado pelo fato de que a imagem de codificação selecionada compreende uma pluralidade de elementos dispostos em uma grade, os elementos sendo elementos idênticos ou sendo elementos diferentes.
4. Método de acordo com a reivindicação 3, caracterizado pelo fato de que a pluralidade de elementos compreende formas coloridas.
5. Método de acordo com a reivindicação 4, caracterizado pelo fato de que as formas coloridas compreendem pelo menos uma dentre quadrados, retângulos, círculos, cruzes, triângulos, elipses, losangos, estrelas e trigramas.
6. Método de acordo com a reivindicação 4, caracterizado pelo fato de que as formas coloridas são pelo menos uma dentre vermelha, azul e verde.
7. Método de acordo com qualquer uma das reivindicações 3 a 6, caracterizado pelo fato de que a pluralidade de elementos está disposta em um padrão de repetição na grade.
8. Método de acordo com qualquer uma das reivindicações 2 a 7, caracterizado pelo fato de que a imagem selecionada compreende um primeiro elemento na representação do valor de dados, a geração da imagem compreendendo ainda selecionar, com base no valor de dados, uma imagem adicional do conjunto de imagens de codificação, a imagem adicional selecionada compreendendo um segundo elemento na representação do valor de dados; e combinar a imagem de codificação selecionada e a imagem adicional selecionada.
9. Método de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que a relação é uma relação de um número do primeiro elemento para um número do segundo elemento.
10. Método de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que a relação é uma relação de uma área da superfície ocupada pelo primeiro elemento para uma área de superfície ocupada pelo segundo elemento.
11. Método de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que a imagem é uma em uma sequência de imagens para decodificação, cada imagem na sequência de imagens codificando uma parte de uma informação.
12. Método de acordo com a reivindicação 11, caracterizado pelo fato de que a sequência de imagens é uma sequência variável no tempo exibida em um visor eletrônico (1310).
13. Método, caracterizado pelo fato de que compreende usar um sensor de imagem (120), obter uma imagem de pelo menos uma parte de uma imagem (140) mostrada sobre uma superfície, a imagem (140) compreendendo uma pluralidade de regiões de codificação (312), cada uma das regiões (312) contendo uma representação respectiva de um valor de dados comum, as regiões de codificação (312) estando dispostas com uma densidade selecionada dentro da imagem (140) de pelo menos duas; identificar primeiro e segundo elementos em pelo menos uma das regiões (312); e com base nos primeiro e segundo elementos identificados, determinar o valor de dados comum, sendo que cada uma das representações respectivas do valor de dados comum é baseada em uma relação entre um número do primeiro elemento ou um tamanho de uma área de superfície ocupada pelo primeiro elemento na representação, e um número do segundo elemento ou um tamanho de uma área de superfície ocupada pelo segundo elemento na representação, a determinação do valor de dados comum compreendendo a determinar a relação e determinar um valor associado para a relação.
14. Sistema (110), caracterizado pelo fato de que compreende um sensor de imagem (120); e uma unidade de controle com base em computador (130) acoplada ao sensor de imagem (120), a unidade de controle (130) sendo configurada para obter, usando o sensor de imagem (120), uma imagem de pelo menos uma parte de uma imagem (140) mostrada sobre uma superfície (1310), a imagem (140) compreendendo uma pluralidade de regiões de codificação (312), cada uma das regiões (312) contendo uma representação respectiva de um valor de dados comum, as regiões de codificação (312) estando dispostas com uma densidade selecionada dentro da imagem de pelo menos duas; identificar primeiro e segundo elementos em pelo menos uma das regiões (312), e com base nos primeiro e segundo elementos identificados, determinar o valor de dados comum, sendo que cada uma das representações respectivas do valor de dados comum é baseada em uma relação entre um número do primeiro elemento na representação ou um tamanho de uma área de superfície ocupada pelo primeiro elemento, e um número do segundo elemento na representação, ou um tamanho de uma área de superfície ocupada pelo segundo elemento, a determinação do valor de dados comum compreendendo determinar a relação e determinar um valor associado para a relação.
15. Sistema (110) de acordo com a reivindicação 14, caracterizado pelo fato de que o sensor de imagem (120) é configurado para ler a imagem sem focar na superfície (1310).
16. Meio de armazenamento legível por computador (1420), caracterizado pelo fato de que tem instruções (1430) codificadas no mesmo que, quando executadas por um computador (1400), fazem com que o computador (1400) execute um método, como definido na reivindicação 1.
BR112016006499-2A 2013-10-01 2014-09-29 Métodos, sistema e meio de armazenamento legível por computador para transmissão de dados utilizando códigos ópticos BR112016006499B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13186975.2 2013-10-01
EP13186975.2A EP2858010A1 (en) 2013-10-01 2013-10-01 Data transmission using optical codes
PCT/EP2014/070725 WO2015049186A1 (en) 2013-10-01 2014-09-29 Data transmission using optical codes

Publications (2)

Publication Number Publication Date
BR112016006499A2 BR112016006499A2 (pt) 2017-08-01
BR112016006499B1 true BR112016006499B1 (pt) 2022-11-16

Family

ID=49322201

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016006499-2A BR112016006499B1 (pt) 2013-10-01 2014-09-29 Métodos, sistema e meio de armazenamento legível por computador para transmissão de dados utilizando códigos ópticos

Country Status (20)

Country Link
US (1) US9785876B2 (pt)
EP (2) EP2858010A1 (pt)
JP (1) JP6513646B2 (pt)
KR (1) KR102234606B1 (pt)
CN (1) CN105637537B (pt)
AU (1) AU2014331291B2 (pt)
BR (1) BR112016006499B1 (pt)
CA (1) CA2924380C (pt)
DK (1) DK3053104T3 (pt)
ES (1) ES2750536T3 (pt)
MX (1) MX356492B (pt)
MY (1) MY175493A (pt)
NZ (1) NZ717886A (pt)
PH (1) PH12016500548A1 (pt)
PL (1) PL3053104T3 (pt)
RU (1) RU2668063C2 (pt)
SG (1) SG11201601907QA (pt)
TW (1) TWI644261B (pt)
WO (1) WO2015049186A1 (pt)
ZA (1) ZA201601884B (pt)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3096290B1 (en) * 2015-05-19 2018-07-18 Axis AB Method and system for determining camera pose
WO2017144384A1 (en) 2016-02-24 2017-08-31 Inventio Ag Elevator trip planning based on destinations and activity parameters
AU2017227932B2 (en) 2016-02-29 2020-11-12 Inventio Ag Checking access authorizations using mobile control devices
EP3242252B1 (en) * 2016-05-06 2020-01-29 Doris Renate Purzer Multi-dimensional graphical code
EP3255005A1 (en) 2016-06-06 2017-12-13 Inventio AG System and method for indicating approach of elevator car on a floor terminal of a destination floor
EP3293680A1 (en) 2016-09-12 2018-03-14 Authentic Vision GmbH Sheet-like product and method for authenticating a security tag
AU2017327508A1 (en) 2016-09-13 2019-04-04 Inventio Ag Hybrid floor terminal for an elevator system
AU2018389642B2 (en) * 2017-12-20 2022-02-24 Inventio Ag Access control system having radio authentication and password recognition
SG11202009445UA (en) 2018-06-27 2020-10-29 Inventio Ag Data capture device for an elevator system and a building access control system
US10762317B2 (en) * 2018-11-06 2020-09-01 International Business Machines Corporation Quick response (QR) code deformation
EP4154224A1 (de) 2020-05-18 2023-03-29 Inventio Ag Zusätzliche zonenüberwachung für gebäudetür
AU2021323970A1 (en) 2020-08-13 2023-03-09 Inventio Ag Building system with elevator call entry via offline QR code credential
AU2022353923A1 (en) 2021-09-30 2024-04-11 Inventio Ag Building door system with operating and wayfinding devices
ES2933648B2 (es) * 2022-07-12 2023-05-23 4I Intelligent Insights S L Sistema y procedimiento de codificacion y decodificacion de informacion a traves de imagenes con decodificacion robusta a media distancia

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1287483B1 (en) * 2000-05-09 2009-12-23 Colorzip Media, Inc Method and device of encoding and decoding
GB2407190B (en) * 2000-06-21 2005-06-15 Fryco Ltd Optical encoding
KR100404306B1 (ko) * 2000-12-29 2003-11-01 주식회사 아이콘랩 코드화된 패턴 및 이의 코드 추출 방법
MXPA05009931A (es) * 2003-03-17 2005-11-08 Yoshida Kenji Metodo de entrada/salida de informacion utilizando el patron de puntos.
JP2006042216A (ja) * 2004-07-29 2006-02-09 Make Softwear:Kk 画像印刷装置、コンピュータ及び画像配信システム
CN101088100B (zh) * 2004-11-05 2014-03-12 卡勒兹普麦迪亚公司 对混合码进行解码的方法和装置
JP2006268689A (ja) 2005-03-25 2006-10-05 Nec Corp 移動体通信ネットワークシステム、認証装置、Webサーバ及びこれらの駆動方法、駆動プログラム
RU2449364C2 (ru) * 2006-07-19 2012-04-27 Б-Кор Инк. Оптический символ, предмет, на котором закреплен оптический символ, способ крепления оптического символа на предмете, способ декодирования оптического символа, соответствующее устройство и соответствующая программа
TWM353974U (en) * 2008-09-19 2009-04-01 Nat Univ Chin Yi Technology Optical code identification recognition apparatus for nano optical shutter
CN102483799B (zh) * 2009-09-17 2016-06-08 霍夫曼-拉罗奇有限公司 用于医学消耗物品的高密度条形码
JP4629788B1 (ja) * 2009-11-20 2011-02-09 進 辻 表示コードが付された物品、表示コード生成装置および情報伝達方法
WO2012015402A1 (en) * 2010-07-28 2012-02-02 Hewlett-Packard Development Company, L.P. Designer-adaptive visual codes
WO2012056499A1 (ja) * 2010-10-28 2012-05-03 M.O.T 株式会社 商品情報提供システム
EP2458527A3 (en) * 2010-11-30 2014-03-26 Denso Wave Incorporated System for reading information code and medium on which information code is formed
JP5790068B2 (ja) * 2010-11-30 2015-10-07 株式会社デンソーウェーブ 情報コード読取システム及び情報コード読取装置
US9667823B2 (en) * 2011-05-12 2017-05-30 Moon J. Kim Time-varying barcode in an active display
TWI512547B (zh) * 2011-12-20 2015-12-11 Univ Nat Chiao Tung 互動式系統及互動式裝置
EP2842076A4 (en) * 2012-04-26 2016-02-17 Hewlett Packard Development Co TWO-DIMENSIONAL BARCODES WITH SEVERAL DIFFERENT REGIONS
US9410827B2 (en) * 2012-10-09 2016-08-09 Pixameter Corp. Measurement using a calibration pattern

Also Published As

Publication number Publication date
EP3053104A1 (en) 2016-08-10
BR112016006499A2 (pt) 2017-08-01
TWI644261B (zh) 2018-12-11
RU2016117071A (ru) 2017-11-10
ES2750536T3 (es) 2020-03-26
CA2924380A1 (en) 2015-04-09
NZ717886A (en) 2020-05-29
KR20160065840A (ko) 2016-06-09
JP6513646B2 (ja) 2019-05-15
CN105637537A (zh) 2016-06-01
AU2014331291B2 (en) 2017-11-02
ZA201601884B (en) 2017-11-29
US20160224877A1 (en) 2016-08-04
JP2017500619A (ja) 2017-01-05
MX2016004065A (es) 2016-06-06
PH12016500548A1 (en) 2016-06-13
MX356492B (es) 2018-05-31
KR102234606B1 (ko) 2021-04-01
EP2858010A1 (en) 2015-04-08
MY175493A (en) 2020-06-30
TW201519104A (zh) 2015-05-16
PL3053104T3 (pl) 2020-03-31
US9785876B2 (en) 2017-10-10
CA2924380C (en) 2019-04-23
EP3053104B1 (en) 2019-08-28
DK3053104T3 (da) 2019-12-02
RU2668063C2 (ru) 2018-09-25
CN105637537B (zh) 2019-06-14
WO2015049186A1 (en) 2015-04-09
SG11201601907QA (en) 2016-04-28

Similar Documents

Publication Publication Date Title
BR112016006499B1 (pt) Métodos, sistema e meio de armazenamento legível por computador para transmissão de dados utilizando códigos ópticos
AU2014331291A1 (en) Data transmission using optical codes
US10832086B2 (en) Target object presentation method and apparatus
US11551404B2 (en) Photorealistic three dimensional texturing using canonical views and a two-stage approach
ES2648823T3 (es) Procedimiento y aparato para determinar el color de un control de interfaz, y dispositivo terminal
US20190294938A1 (en) Method and apparatus for generating two-dimensional barcode picture having dynamic effect
Kramer et al. Disguising superman: How glasses affect unfamiliar face matching
BR112019024120A2 (pt) Código de estrutura tridimensional e método antifraude
CN109816745A (zh) 人体热力图展示方法及相关产品
US20200202575A1 (en) Compression of multi-dimensional object representations
CN108369749B (zh) 对用于形成增强现实环境的装置进行控制的方法
CA2966480A1 (en) Access control system with feedback to portable electronic device
CN105894070A (zh) 一种二维码编码方法及装置
JP2017079082A (ja) 光学読取コード作成装置
WO2019024628A1 (zh) 一种生成印章二维码的方法以及具有该二维码的印章
US20140067932A1 (en) Cross-Linking from Composite Images to the Full-Size Version
JP7460113B2 (ja) 二次元コードエンコーダ
US20170228915A1 (en) Generation Of A Personalised Animated Film
EA043227B1 (ru) Способ и система защиты цифровой информации, отображаемой на экране электронных устройств
CN117765126A (zh) 一种生成显示页面的方法、装置、设备及介质
CN116975834A (zh) 身份验证方法、装置、计算机设备和计算机可读存储介质
TWM484752U (zh) 可自行編排及定義的圖像編碼
ES2695755A1 (es) Proceso para la impresion fotografica desde dispositivos moviles y/o desde una web a traves de una cabina fotografica
BRPI1103658A2 (pt) System and method of codification and decodification of textual information

Legal Events

Date Code Title Description
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 29/09/2014, OBSERVADAS AS CONDICOES LEGAIS