BR112019013877B1 - COMPUTER IMPLEMENTED METHOD FOR IMAGE GENERATION, COMPUTER-READABLE NON TRANSITIONAL MEDIUM AND COMPUTER IMPLEMENTED SYSTEM - Google Patents

COMPUTER IMPLEMENTED METHOD FOR IMAGE GENERATION, COMPUTER-READABLE NON TRANSITIONAL MEDIUM AND COMPUTER IMPLEMENTED SYSTEM Download PDF

Info

Publication number
BR112019013877B1
BR112019013877B1 BR112019013877-3A BR112019013877A BR112019013877B1 BR 112019013877 B1 BR112019013877 B1 BR 112019013877B1 BR 112019013877 A BR112019013877 A BR 112019013877A BR 112019013877 B1 BR112019013877 B1 BR 112019013877B1
Authority
BR
Brazil
Prior art keywords
pixels
dimensional code
image
binary
black
Prior art date
Application number
BR112019013877-3A
Other languages
Portuguese (pt)
Other versions
BR112019013877A2 (en
Inventor
Wei Guo
Original Assignee
Advanced New Technologies Co., Ltd
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 Advanced New Technologies Co., Ltd filed Critical Advanced New Technologies Co., Ltd
Publication of BR112019013877A2 publication Critical patent/BR112019013877A2/en
Publication of BR112019013877B1 publication Critical patent/BR112019013877B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code

Abstract

o presente aplicativo se refere a um método e dispositivo para a geração de imagem. o método inclui: analisar um código bidimensional original em uma matriz bidimensional; e gerar uma imagem utilizando a matriz bidimensional, de acordo com um padrão predefinido. o método pode gerar uma imagem utilizando um código bidimensional original com base em um padrão predefinido, por conseguinte, verificando o código bidimensional original utilizando a imagem. desta maneira, pode ser julgado, quando não existe rede disponível, se o código bidimensional é adulterado. o presente aplicativo possui cenários de utilização abundantes, não é limitado por redes ou terminais móveis, e torna a verificação de código bidimensional mais interessante.the present application refers to a method and device for image generation. the method includes: parsing an original two-dimensional code into a two-dimensional array; and generating an image using the two-dimensional array, according to a predefined pattern. the method can generate an image using an original two-dimensional code based on a predefined pattern, therefore checking the original two-dimensional code using the image. in this way, it can be judged, when there is no network available, whether the two-dimensional code is tampered with. The present application has abundant usage scenarios, is not limited by networks or mobile terminals, and makes two-dimensional code verification more interesting.

Description

CAMPO DA INVENÇÃOFIELD OF THE INVENTION

[001] A presente invenção refere-se ao campo das tecnologias de imagem gráfica e, em especial, a um método e dispositivo para a geração de imagem.[001] The present invention relates to the field of graphic image technologies and, in particular, to a method and device for image generation.

ANTECEDENTES DA INVENÇÃOBACKGROUND OF THE INVENTION

[002] Um código bidimensional, também conhecido como código de barras bidimensional, registra as informações de símbolo de dados utilizando um gráfico de barra / espaço alternado formado por um tipo especial de gráficos geométricos distribuídos em um plano (direção de duas dimensões) de acordo com uma regra específica. O código bidimensional possui recursos tal como a grande capacidade de informação, amplo intervalo de codificação, forte tolerância a erros e confiabilidade elevada de decodificação, e ainda apresenta as vantagens tais como o custo baixo e facilidade de fabricação. Por conseguinte, os códigos bidimensionais são amplamente aplicados na vida das pessoas.[002] A two-dimensional code, also known as a two-dimensional bar code, records data symbol information using an alternating bar/space chart formed by a special type of geometric graphics distributed in a plane (two-dimensional direction) accordingly with a specific rule. Two-dimensional code has features such as large information capacity, wide coding range, strong error tolerance and high decoding reliability, plus it has advantages such as low cost and ease of fabrication. Therefore, two-dimensional codes are widely applied in people's lives.

[003] Com o desenvolvimento da Internet e a popularização dos terminais móveis, os códigos bidimensionais podem ser observados em toda a vida cotidiana. Por exemplo, um comerciante pode postar um código bidimensional de pagamento na finalização da compra e um usuário pode escanear o código bidimensional do pagamento utilizando uma função de escaneamento de código bidimensional em um aplicativo. Por outro exemplo, na promoção de mercadorias, um comerciante pode postar um aplicativo baixando o código bidimensional em lugares relativamente lotados (tal como um metrô ou um shopping center), para atrair pessoas que passam para escanear o código bidimensional e baixar o aplicativo. Por conseguinte, um comerciante ou um terceiro precisa fornecer um código bidimensional autêntico e válido para os usuários.[003] With the development of the Internet and the popularization of mobile terminals, two-dimensional codes can be observed throughout everyday life. For example, a merchant can post a two-dimensional payment code at checkout and a user can scan the two-dimensional payment code using a two-dimensional code scan function in an application. For another example, in merchandise promotion, a merchant might post an app by downloading the two-dimensional code in relatively crowded places (such as a subway or shopping mall) to entice passersby to scan the two-dimensional code and download the app. Therefore, a merchant or a third party needs to provide an authentic and valid two-dimensional code to users.

[004] Atualmente, existe tal risco que um código bidimensional impresso por um comerciante possa ser substituído. No entanto, uma vez que o código bidimensional é abstrato, o comerciante basicamente não consegue reconhecer o substituto a olho nu. No estado da técnica, o comerciante pode utilizar uma câmera de um telefone celular para determinar se o código bidimensional é substituído. Nesse processo, o celular que possui uma função de escaneamento precisa acessar uma rede. Por conseguinte, o Depositante da presente invenção considera que é necessária uma solução técnica para verificar a validade de um código bidimensional sem uma rede.[004] Currently, there is such a risk that a two-dimensional code printed by a merchant could be replaced. However, since the two-dimensional code is abstract, the marketer basically cannot recognize the substitute with the naked eye. In the prior art, the merchant can use a cell phone camera to determine if the two-dimensional code is replaced. In this process, the cell phone that has a scanning function needs to access a network. Therefore, the Depositor of the present invention considers that a technical solution is needed to verify the validity of a two-dimensional code without a network.

[005] A informação acima é meramente apresentada como informação de base para auxiliar a compreensão da presente invenção. Ainda não está decidido ou declarado se alguma das informações acima pode ser aplicada como estado da técnica para a presente invenção.[005] The above information is merely presented as background information to aid understanding of the present invention. It is not yet decided or stated whether any of the above information can be applied as prior art to the present invention.

DESCRIÇÃO DA INVENÇÃODESCRIPTION OF THE INVENTION

[006] Um objeto principal da presente invenção é fornecer um método e dispositivo para a geração de imagem, de maneira a solucionar a questão da verificação de um código bidimensional offline no estado da técnica.[006] A main object of the present invention is to provide a method and device for image generation, in order to solve the issue of checking an offline two-dimensional code in the state of the art.

[007] Uma realização da presente invenção fornece um método para a geração de imagem, incluindo a análise de um código bidimensional original em uma matriz bidimensional; e geração de uma imagem utilizando a matriz bidimensional, de acordo com um padrão predefinido.[007] An embodiment of the present invention provides a method for image generation, including analyzing an original two-dimensional code into a two-dimensional array; and generating an image using the two-dimensional array, according to a predefined pattern.

[008] Outra realização da presente invenção fornece um dispositivo para a geração de imagem, incluindo uma unidade de análise configurada para analisar um código bidimensional original em uma matriz bidimensional; e uma unidade de geração configurada para a geração de uma imagem utilizando a matriz bidimensional, de acordo com um padrão predefinido.[008] Another embodiment of the present invention provides a device for image generation, including an analysis unit configured to analyze an original two-dimensional code into a two-dimensional array; and a generating unit configured to generate an image using the two-dimensional array, according to a predefined pattern.

[009] Em comparação com o estado da técnica, as realizações da presente invenção podem gerar uma imagem utilizando um código bidimensional original com base em um padrão predefinido, por conseguinte, verificando o código bidimensional original utilizando a imagem. Desta maneira, pode ser julgado, quando não existe rede disponível, se o código bidimensional é adulterado. A presente invenção possui cenários de utilização abundantes, não é limitada por redes ou terminais móveis, e torna a verificação de código bidimensional mais interessante.[009] Compared to the prior art, the embodiments of the present invention can generate an image using an original two-dimensional code based on a predefined pattern, therefore checking the original two-dimensional code using the image. In this way, it can be judged, when there is no available network, whether the two-dimensional code is tampered with. The present invention has abundant usage scenarios, is not limited by networks or mobile terminals, and makes two-dimensional code checking more interesting.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[010] As Figuras anexas descritas no presente são utilizadas para fornecer uma compreensão adicional da presente invenção e constituem uma parte da presente invenção. As realizações esquemáticas da presente invenção e a sua descrição são utilizadas para ilustrar a presente invenção e não constituem qualquer limitação inadequada na presente invenção. Nas Figuras anexas: A Figura 1 é um fluxograma de um método para a geração de imagem, de acordo com uma realização da presente invenção; A Figura 2A a Figura 2C são diagramas esquemáticos de processamento de um código bidimensional, de acordo com uma realização da presente invenção; A Figura 3 é um fluxograma detalhado da etapa (120) no método para a geração de imagem na Figura 1; A Figura 4A a Figura 4C são diagramas de efeito da aplicação de um método para a geração de imagem, de acordo com uma realização da presente invenção; A Figura 5 é um diagrama em blocos de um dispositivo para a geração de imagens, de acordo com uma realização da presente invenção; A Figura 6 é um diagrama em blocos de um dispositivo eletrônico, de acordo com uma realização da presente invenção; e A Figura 7 é um fluxograma que ilustra um exemplo de um método implementado por computador para a geração de um padrão de imagem para verificar um código 2D, de acordo com uma realização da presente invenção.[010] The accompanying Figures described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The schematic embodiments of the present invention and their description are used to illustrate the present invention and do not constitute any inappropriate limitation on the present invention. In the accompanying Figures: Figure 1 is a flowchart of a method for generating an image, in accordance with an embodiment of the present invention; Figure 2A to Figure 2C are schematic diagrams of processing a two-dimensional code, in accordance with an embodiment of the present invention; Figure 3 is a detailed flowchart of step (120) in the method for generating the image in Figure 1; Figure 4A to Figure 4C are effect diagrams of applying a method for image generation, in accordance with an embodiment of the present invention; Figure 5 is a block diagram of an imaging device in accordance with an embodiment of the present invention; Figure 6 is a block diagram of an electronic device in accordance with an embodiment of the present invention; and Figure 7 is a flowchart illustrating an example of a computer-implemented method for generating an image pattern for verifying a 2D code, in accordance with an embodiment of the present invention.

DESCRIÇÃO DE REALIZAÇÕES DA INVENÇÃODESCRIPTION OF ACHIEVEMENTS OF THE INVENTION

[011] Para tornar mais claros os objetivos, as soluções técnicas e as vantagens da presente invenção, as soluções técnicas da presente invenção estão descritas em maiores detalhes com referência às realizações específicas da presente invenção e às Figuras correspondentes. Aparentemente, as realizações descritas são apenas algumas e não todas as realizações da presente invenção. Todas as outras realizações derivadas pelos técnicos no assunto sem esforços criativos pertencem ao escopo de proteção da presente invenção.[011] To clarify the objectives, technical solutions and advantages of the present invention, the technical solutions of the present invention are described in greater detail with reference to the specific embodiments of the present invention and the corresponding Figures. Apparently, the described embodiments are only some and not all of the embodiments of the present invention. All other realizations derived by those skilled in the art without creative efforts belong to the scope of protection of the present invention.

[012] A seguir, as realizações serão descritas em maiores detalhes com referência às Figuras anexas. Números de referência idênticos sempre representam elementos idênticos.[012] In the following, the realizations will be described in greater detail with reference to the attached Figures. Identical reference numbers always represent identical elements.

[013] Um método para a geração de imagem fornecido nas realizações da presente invenção pode ser executado por um dispositivo para a geração de imagem e o dispositivo para a geração de imagem pode ser qualquer dispositivo eletrônico que possua uma função de processamento informático e de dados e uma função de armazenamento. Na presente invenção, o dispositivo eletrônico pode incluir, mas não está limitado a, qualquer um dos seguintes dispositivos que possui uma unidade de exibição: um computador pessoal (PC), um dispositivo móvel (tal como um telefone celular, um assistente pessoal digital (PDA)), uma câmara digital, um console de jogos portátil, um leitor de MP3, um leitor multimídia portátil / pessoal (PMP), um livro eletrônico portátil, um tablet PC, um laptop portátil PC e um navegador de sistema de posicionamento global (GPS); uma TV inteligente e similares.[013] A method for image generation provided in the embodiments of the present invention can be performed by an image generation device and the image generation device can be any electronic device having a computer and data processing function and a storage function. In the present invention, the electronic device may include, but is not limited to, any of the following devices that have a display unit: a personal computer (PC), a mobile device (such as a cell phone, a personal digital assistant ( PDA)), a digital camera, a portable game console, an MP3 player, a portable/personal multimedia player (PMP), a portable electronic book, a tablet PC, a portable PC laptop and a global positioning system browser (GPS); a smart TV and the like.

[014] Figura 1 é um fluxograma de um método para a geração de imagem, de acordo com uma realização da presente invenção.[014] Figure 1 is a flowchart of a method for image generation, according to an embodiment of the present invention.

[015] Na etapa (110), um código bidimensional original é analisado em uma matriz bidimensional, em que a matriz bidimensional se refere a uma matriz de codificação que consiste em "0" e "1".[015] In step (110), an original two-dimensional code is analyzed into a two-dimensional matrix, in which the two-dimensional matrix refers to a coding matrix consisting of "0" and "1".

[016] O código bidimensional pode utilizar um padrão de matriz preto e branco para expressar "0" e "1" em dados binários. Em outras palavras, os dados de código bidimensionais podem ser gerados a partir de informações utilizando um algoritmo de codificação para um código bidimensional (como um algoritmo Quickresponsode (QRcode)), e o valor 1 nos dados de código bidimensionais gerados é representado por uma cor preta, e o valor 0 é representado por uma cor branca. Por conseguinte, ao contrário, a cor preta no código bidimensional original pode ser representada pelo valor 1, e a cor branca no código bidimensional original pode ser representada pelo valor 0. De acordo com a maneira acima, o código bidimensional é analisado linha por linha na matriz bidimensional que consiste em "0" e "1".[016] Two-dimensional code can use a black and white matrix pattern to express "0" and "1" in binary data. In other words, two-dimensional code data can be generated from information using an encoding algorithm for a two-dimensional code (such as a Quickresponsode (QRcode) algorithm), and the value 1 in the generated two-dimensional code data is represented by a color black, and the value 0 is represented by a white color. Therefore, on the contrary, the black color in the original two-dimensional code can be represented by the value 1, and the white color in the original two-dimensional code can be represented by the value 0. According to the above way, the two-dimensional code is parsed line by line in the two-dimensional array consisting of "0" and "1".

[017] Deve ser observado que, o código bidimensional original pode ser um código bidimensional eletrônico, ou pode ser um código bidimensional físico que é impresso de acordo com o código bidimensional eletrônico e postado na parte externa. Se o código bidimensional original for um código bidimensional eletrônico, a cor preta no código bidimensional eletrônico é representada pelo valor 1, e a cor branca é representada pelo valor 0, por conseguinte, obtendo uma matriz bidimensional correspondente ao código bidimensional eletrônico. Se o código bidimensional for um código bidimensional físico, um código bidimensional eletrônico correspondente ao código bidimensional físico pode ser pesquisado e, em seguida, o código bidimensional eletrônico é processado da maneira anterior. De maneira alternativa, uma imagem do código bidimensional pode ser capturada e, em seguida, a imagem do código bidimensional é convertida em uma imagem binária, por conseguinte, obtendo uma matriz bidimensional correspondente à imagem binária.[017] It should be noted that, the original two-dimensional code can be a two-dimensional electronic code, or it can be a physical two-dimensional code that is printed according to the two-dimensional electronic code and posted on the outside. If the original two-dimensional code is a two-dimensional electronic code, the black color in the two-dimensional electronic code is represented by the value 1, and the white color is represented by the value 0, therefore obtaining a two-dimensional matrix corresponding to the two-dimensional electronic code. If the two-dimensional code is a physical two-dimensional code, an electronic two-dimensional code corresponding to the physical two-dimensional code can be searched for and then the two-dimensional electronic code is processed in the above manner. Alternatively, a two-dimensional code image can be captured and then the two-dimensional code image is converted to a binary image, thereby obtaining a two-dimensional array corresponding to the binary image.

[018] Pode ser observado que, o método para a geração de imagem, de acordo com a presente invenção, não apenas pode gerar uma imagem correspondente ao código bidimensional eletrônico antecipadamente, mas também pode gerar uma imagem correspondente ao código bidimensional físico posteriormente, conforme necessário. Por exemplo, ao gerar um código bidimensional eletrônico, um comerciante pode gerar um padrão correspondente ao código bidimensional eletrônico de acordo com um padrão predefinido. De maneira alternativa, após postar o código bidimensional em um quadro de avisos, o comerciante pode definir um padrão predeterminado e gerar um padrão de acordo com o código bidimensional físico. Desta maneira, o código bidimensional no quadro de avisos pode ser verificado utilizando o padrão gerado.[018] It can be observed that, the method for image generation, according to the present invention, not only can generate an image corresponding to the electronic two-dimensional code in advance, but can also generate an image corresponding to the physical two-dimensional code later, as required. For example, when generating a two-dimensional electronic code, a merchant can generate a pattern corresponding to the two-dimensional electronic code according to a predefined pattern. Alternatively, after posting the two-dimensional code to a bulletin board, the merchant can define a predetermined pattern and generate a pattern in accordance with the physical two-dimensional code. In this way, the two-dimensional code on the bulletin board can be verified using the generated pattern.

[019] Conforme mostrado na Figura 2A, a Figura 2A representa um código bidimensional original. Por meio da análise, o código bidimensional original pode ser analisado em uma matriz bidimensional da seguinte maneira: [1,0,1,0] [1,0,0,1] [0,0,1,0] [0,1,0,0][019] As shown in Figure 2A, Figure 2A represents an original two-dimensional code. Through analysis, the original two-dimensional code can be analyzed into a two-dimensional array as follows: [1,0,1,0] [1,0,0,1] [0,0,1,0] [0, 1.0.0]

[020] Por conseguinte, na etapa (120), uma imagem é gerada utilizando a matriz bidimensional, de acordo com um padrão predefinido. O padrão predefinido é um padrão predefinido por um usuário. Os técnicos no assunto devem compreender que o usuário pode se referir ao pessoal de pesquisa e desenvolvimento em uma fase de pesquisa e desenvolvimento, pessoal técnico durante o desenvolvimento secundário, um usuário real ou similar. O padrão predefinido pode ser um padrão simples facilmente reconhecível para os olhos humanos, por exemplo, uma face sorridente, texto e assim por diante. De preferência, o padrão predefinido é uma imagem em preto e branco, de maneira que os pixels na imagem possam ser identificados com os valores 0 e 1. Assumindo que o padrão predefinido é uma imagem a cores, o contorno da imagem a cores pode ser extraído de acordo com um algoritmo de extração de contorno. Uma linha de contorno é representada com o valor 1 e outras áreas são representadas com o valor 0. De maneira alternativa, a imagem a cores pode ser convertida em uma imagem em tons de cinza e, em seguida, a imagem em tons de cinza é convertida em uma imagem binária. Com referência à Figura 2B, o padrão na Figura 2B é um padrão predefinido. No momento, a etapa (120) será descrita em detalhes com referência à Figura 3.[020] Therefore, in step (120), an image is generated using the two-dimensional matrix, according to a predefined pattern. The predefined pattern is a pattern predefined by a user. Subject matter experts should understand that the user may refer to research and development personnel in a research and development phase, technical personnel during secondary development, an actual user, or similar. The preset pattern can be a simple pattern that is easily recognizable to human eyes, for example, a smiling face, text, and so on. Preferably, the default pattern is a black and white image, so the pixels in the image can be identified with the values 0 and 1. Assuming the default pattern is a color image, the outline of the color image can be extracted according to a contour extraction algorithm. A contour line is represented with a value of 1 and other areas are represented with a value of 0. Alternatively, the color image can be converted to a grayscale image and then the grayscale image is converted to a binary image. With reference to Figure 2B, the pattern in Figure 2B is a predefined pattern. For now, step (120) will be described in detail with reference to Figure 3.

[021] Posteriormente, na etapa (310), o padrão predefinido é analisado em uma imagem binária. Opcionalmente, o tamanho do padrão predefinido pode ser convertido para ser o mesmo que o tamanho do código bidimensional original. Se os seus tamanhos forem diferentes, o padrão predefinido pode ser ampliado ou reduzido correspondentemente. Por exemplo, se o tamanho do padrão predefinido for 5*5, o padrão predefinido pode ser dimensionado até 25*25, isto é, cada pixel é ampliado e representado utilizando cinco pixels com o mesmo valor. Definitivamente, o tamanho do código bidimensional também pode ser ampliado ou reduzido conforme necessário. Desta maneira, uma operação de bit pode ser executada em elementos em uma matriz bidimensional correspondente ao código bidimensional original utilizando o padrão predefinido. Por conseguinte, o padrão na Figura 2B pode ser analisado da seguinte maneira: [0,0,1,0] [0,0,1,0] [0,0,1,0] [1,1,1,1][021] Subsequently, in step (310), the predefined pattern is analyzed in a binary image. Optionally, the predefined pattern size can be converted to be the same as the original two-dimensional code size. If their sizes are different, the preset pattern can be enlarged or reduced accordingly. For example, if the default pattern size is 5*5, the default pattern can be scaled up to 25*25, ie each pixel is enlarged and represented using five pixels with the same value. Definitely, the size of the two-dimensional code can also be enlarged or reduced as needed. In this way, a bit operation can be performed on elements in a two-dimensional array corresponding to the original two-dimensional code using the predefined pattern. Therefore, the pattern in Figure 2B can be analyzed as follows: [0,0,1,0] [0,0,1,0] [0,0,1,0] [1,1,1,1 ]

[022] Em outras palavras, a cor preta em cada pixel no padrão predefinido pode ser analisada como 1 e a cor branca é analisada como sendo 0. Por conseguinte, o padrão predefinido é analisado em uma imagem binária.[022] In other words, the black color in each pixel in the predefined pattern can be analyzed as 1 and the white color is analyzed as 0. Therefore, the predefined pattern is analyzed in a binary image.

[023] Em seguida, na etapa (S320), é executada uma operação de bit em um valor de um elemento correspondente na matriz bidimensional, de acordo com um valor de pixel de cada pixel na imagem binária. Especificamente, em um caso em que um valor de pixel de um pixel na imagem binária é 0, se o valor do elemento correspondente na matriz bidimensional for 1, o valor correspondente será alterado para 0 e se o valor do elemento correspondente na matriz bidimensional for 0, o valor correspondente é alterado para nulo.[023] Then, in step (S320), a bit operation is performed on a value of a corresponding element in the two-dimensional matrix, according to a pixel value of each pixel in the binary image. Specifically, in a case where a pixel value of a pixel in the binary image is 0, if the value of the corresponding element in the two-dimensional array is 1, the corresponding value will be changed to 0 and if the value of the corresponding element in the two-dimensional array is 0, the corresponding value is changed to null.

[024] Em um caso em que um valor de pixel de um pixel na imagem binária é 1, se o valor do elemento correspondente na matriz bidimensional for 1, o valor correspondente será alterado para nulo e se o valor do elemento correspondente na matriz bidimensional for 0, o valor correspondente é alterado para 1.[024] In a case where a pixel value of a pixel in the binary image is 1, if the value of the corresponding element in the two-dimensional array is 1, the corresponding value will be changed to null and if the value of the corresponding element in the two-dimensional array is 0, the corresponding value is changed to 1.

[025] Na etapa (S330), a imagem é gerada de acordo com o resultado da operação de bit. Especificamente, uma matriz bidimensional pode ser gerada, em primeiro lugar, de acordo com o resultado da operação de bit. Em seguida, a matriz bidimensional é convertida na imagem, de acordo com a seguinte regra: na nova matriz bidimensional, um valor 0 de um elemento representa uma cor branca, um valor nulo de um elemento representa a transparência e um valor 1 de um elemento representa uma cor preta. Por exemplo, após uma operação de bit ser executada no código bidimensional original mostrado na Figura 2A de acordo com a etapa (S320), a seguinte matriz bidimensional é gerada: [0, nulo, nulo, nulo] [0, nulo, 1,0] [nulo, nulo, nulo, nulo] [1, nulo, 1,1][025] In step (S330), the image is generated according to the result of the bit operation. Specifically, a two-dimensional array can be generated first according to the result of the bit operation. Then, the two-dimensional array is converted to the image, according to the following rule: in the new two-dimensional array, a value of 0 of an element represents a white color, a null value of an element represents transparency, and a value of 1 of an element represents a black color. For example, after a bit operation is performed on the original two-dimensional code shown in Figure 2A according to step (S320), the following two-dimensional array is generated: [0, null, null, null] [0, null, 1, 0] [null, null, null, null] [1, null, 1.1]

[026] Posteriormente, na nova matriz bidimensional, um valor 0 de um elemento representa uma cor branca, um valor nulo de um elemento representa a transparência e um valor 1 de um elemento representa uma cor preta. A matriz bidimensional descrita acima é convertida em uma imagem, conforme mostrado na Figura 2C.[026] Later, in the new two-dimensional array, a value of 0 of an element represents a white color, a null value of an element represents transparency and a value of 1 of an element represents a black color. The two-dimensional array described above is converted to an image, as shown in Figure 2C.

[027] Em uma realização alternativa, a imagem pode ser enviada para um veículo transparente utilizando um dispositivo de saída. Por exemplo, a imagem pode ser impressa em um pedaço de papel transparente utilizando uma impressora. Em seguida, a imagem de saída é coberta no código bidimensional original; o código bidimensional original é verificado determinando se um padrão obtido após a cobertura é o padrão predefinido. Se for determinado que o padrão obtido após a cobertura é o padrão predefinido, é determinado que o código bidimensional original não foi alterado. Se for determinado que o padrão obtido após a cobertura não é o padrão predefinido, é determinado que o código bidimensional original foi alterado. Uma operação de cobertura específica será descrita em detalhes com referência à Figura 4A a Figura 4C e, por conseguinte, não está descrita no momento.[027] In an alternative embodiment, the image can be sent to a transparent vehicle using an output device. For example, the image can be printed on a transparent piece of paper using a printer. Then the output image is covered in the original two-dimensional code; the original two-dimensional code is checked to determine if a pattern obtained after coverage is the predefined pattern. If it is determined that the pattern obtained after coverage is the default pattern, it is determined that the original two-dimensional code has not changed. If it is determined that the pattern obtained after coverage is not the default pattern, it is determined that the original two-dimensional code has changed. A specific hedging operation will be described in detail with reference to Figure 4A to Figure 4C and is therefore not described at this time.

[028] De maneira a ilustrar completamente o efeito da presente invenção, no momento é realizada uma descrição com referência à Figura 4A a Figura 4C.[028] In order to fully illustrate the effect of the present invention, a description is now made with reference to Figure 4A to Figure 4C.

[029] Conforme mostrado na Figura 4A a Figura 4C, as Figura 4A a Figura 4C são diagramas de efeito da aplicação de um método para a geração de imagem, de acordo com uma realização da presente invenção. A Figura 4A mostra um código bidimensional original. O código bidimensional pode ser um código bidimensional eletrônico, ou pode ser um código bidimensional físico que é impresso de acordo com o código bidimensional eletrônico e postado na parte externa. Se o código bidimensional mostrado na Figura 4A for um código bidimensional eletrônico, a cor preta no código bidimensional eletrônico é representada pelo valor 1, e a cor branca é representada pelo valor 0, por conseguinte, obtendo uma matriz bidimensional correspondente ao código dimensional. Se o código bidimensional mostrado na Figura 4A for um código bidimensional físico, um código bidimensional eletrônico correspondente ao código bidimensional físico pode ser pesquisado e, em seguida, o código bidimensional eletrônico é processado da maneira anterior. De maneira alternativa, uma imagem do código bidimensional pode ser capturada e, em seguida, a imagem do código bidimensional é convertida em uma imagem binária, por conseguinte, obtendo uma matriz bidimensional correspondente à imagem binária.[029] As shown in Figure 4A to Figure 4C, Figure 4A to Figure 4C are effect diagrams of the application of a method for image generation, according to an embodiment of the present invention. Figure 4A shows an original two-dimensional code. The two-dimensional code can be an electronic two-dimensional code, or it can be a physical two-dimensional code that is printed according to the two-dimensional electronic code and posted on the outside. If the two-dimensional code shown in Figure 4A is a two-dimensional electronic code, the black color in the two-dimensional electronic code is represented by the value 1, and the white color is represented by the value 0, therefore obtaining a two-dimensional matrix corresponding to the dimensional code. If the two-dimensional code shown in Figure 4A is a physical two-dimensional code, an electronic two-dimensional code corresponding to the physical two-dimensional code can be searched, and then the two-dimensional electronic code is processed in the above manner. Alternatively, a two-dimensional code image can be captured and then the two-dimensional code image is converted to a binary image, thereby obtaining a two-dimensional array corresponding to the binary image.

[030] Pode ser observado que, o método para a geração de imagem, de acordo com a presente invenção, não apenas pode gerar uma imagem correspondente ao código bidimensional eletrônico antecipadamente, mas também pode gerar uma imagem correspondente ao código bidimensional físico posteriormente, conforme necessário.[030] It can be seen that, the method for image generation, according to the present invention, not only can generate an image corresponding to the electronic two-dimensional code in advance, but can also generate an image corresponding to the physical two-dimensional code later, as required.

[031] Posteriormente, um padrão predefinido pode ser determinado. O padrão pode ser um padrão predefinido por um usuário de acordo com as preferências. Nesta realização, o padrão predefinido é uma face sorridente.[031] Thereafter, a predefined pattern can be determined. The pattern can be a pattern predefined by a user according to their preferences. In this embodiment, the default pattern is a smiley face.

[032] Por conseguinte, uma imagem conforme mostrada na Figura 4B é gerada de acordo com o método para a geração de imagem da presente invenção. No padrão mostrado na Figura 4C, a cor cinza representa o valor nulo, a cor preta representa 1 e a cor branca representa 0. Desta maneira, após o padrão na Figura 4B ser impresso em um material transparente utilizando o dispositivo de saída, o material impresso pode ser coberto diretamente no código bidimensional conforme mostrado na Figura 4A. Desta maneira, na imagem do código bidimensional, a cor em uma posição que corresponde à cor cinza correspondente a nulo não é alterada. Em outras palavras, se a cor de um pixel no código bidimensional da Figura 4A correspondente a nulo for preta, a cor do pixel ainda é preta após a cobertura direta do material impresso e, se a cor do pixel for branca, a sua cor ainda será branca após a cobertura. A cor de uma posição que corresponde à cor branca correspondente a 0 ou a cor preta correspondente a 1 será alterada. Especificamente, se a cor de um pixel no código bidimensional na Figura 4A correspondente à cor preta (a cor do material impresso) for branca, a cor do pixel será preta após a cobertura direta do material impresso; se a cor de um pixel no código bidimensional na Figura 4A correspondente à cor branca (a cor do material impresso) for preta, a cor do pixel será branca após a cobertura direta do material impresso.[032] Therefore, an image as shown in Figure 4B is generated according to the method for image generation of the present invention. In the pattern shown in Figure 4C, the gray color represents the null value, the black color represents 1, and the white color represents 0. In this way, after the pattern in Figure 4B is printed on a transparent material using the output device, the material printed can be covered directly in the two-dimensional code as shown in Figure 4A. In this way, in the two-dimensional code image, the color in a position that corresponds to the gray color corresponding to null is not changed. In other words, if the color of a pixel in the two-dimensional code in Figure 4A corresponding to null is black, the pixel color is still black after direct coverage of the printed material, and if the pixel color is white, its color is still it will be white after coverage. The color of a position that corresponds to the white color corresponding to 0 or the black color corresponding to 1 will be changed. Specifically, if the color of a pixel in the two-dimensional code in Figure 4A corresponding to the black color (the color of the printed material) is white, the pixel color will be black after direct coverage of the printed material; if the color of a pixel in the two-dimensional code in Figure 4A corresponding to the white color (the color of the printed material) is black, the pixel color will be white after direct coverage of the printed material.

[033] Desta maneira, o código bidimensional na Figura 4A pode ser verificado se o padrão após a cobertura é um padrão de uma face sorridente. Por exemplo, se o padrão após a cobertura não for um padrão de uma face sorridente, isso indica que o código bidimensional foi adulterado, por exemplo, substituído ou alterado por outros. Se o padrão após a cobertura ainda for um padrão de uma face sorridente, isso indica que o código bidimensional não foi alterado.[033] In this way, the two-dimensional code in Figure 4A can be verified if the pattern after coverage is a pattern of a smiling face. For example, if the pattern after coverage is not a smiling face pattern, this indicates that the two-dimensional code has been tampered with, for example, replaced or altered by others. If the pattern after coverage is still a smiling face pattern, this indicates that the two-dimensional code has not changed.

[034] Conforme descrito acima, o método para a geração de imagem, de acordo com a presente invenção gera uma imagem utilizando um código bidimensional original com base em um padrão predefinido, por conseguinte, verificando o código bidimensional original utilizando a imagem. Desta maneira, pode ser julgado, quando não existe rede disponível, se o código bidimensional é adulterado. A presente invenção possui cenários de utilização abundantes, não é limitada por redes ou terminais móveis, e torna a verificação de código bidimensional mais interessante.[034] As described above, the method for image generation according to the present invention generates an image using an original two-dimensional code based on a predefined pattern, therefore checking the original two-dimensional code using the image. In this way, it can be judged, when there is no available network, whether the two-dimensional code is tampered with. The present invention has abundant usage scenarios, is not limited by networks or mobile terminals, and makes two-dimensional code checking more interesting.

[035] A Figura 5 é um diagrama em blocos de um dispositivo para a geração de imagens, de acordo com uma realização da presente invenção.[035] Figure 5 is a block diagram of a device for generating images, according to an embodiment of the present invention.

[036] Os técnicos no assunto devem compreender que a estrutura do dispositivo para a geração de imagens mostrado na Figura 5 não limita o dispositivo elétrico da presente invenção, e pode incluir mais ou menos componentes do que aqueles mostrados na Figura, ou alguns componentes podem ser combinados ou pode ser utilizado um layout de componente diferente.[036] Those skilled in the art should understand that the structure of the imaging device shown in Figure 5 does not limit the electrical device of the present invention, and may include more or fewer components than those shown in the Figure, or some components may be combined or a different component layout can be used.

[037] Conforme mostrado na Figura 5, o dispositivo para a geração de imagens, de acordo com a realização da presente invenção, inclui uma unidade de análise (510) e uma unidade de geração (520).[037] As shown in Figure 5, the device for generating images, according to the embodiment of the present invention, includes an analysis unit (510) and a generation unit (520).

[038] A unidade de análise (510) é configurada para analisar um código bidimensional original em uma matriz bidimensional. O código bidimensional original pode ser um código bidimensional eletrônico, ou pode ser um código bidimensional físico. Se o código bidimensional original for um código bidimensional eletrônico, a cor preta no código bidimensional é representada por um valor 1, e a cor branca é representada por um valor 0, por conseguinte, obtendo uma matriz bidimensional correspondente ao código bidimensional original. Se o código bidimensional for um código bidimensional físico, um código bidimensional eletrônico correspondente ao código bidimensional físico pode ser pesquisado e, em seguida, o código bidimensional eletrônico encontrado é processado da maneira anterior. De maneira alternativa, uma imagem do código bidimensional pode ser capturada e, em seguida, a imagem do código bidimensional é convertida em uma imagem binária, por conseguinte, obtendo uma matriz bidimensional correspondente à imagem binária.[038] The analysis unit (510) is configured to analyze an original two-dimensional code into a two-dimensional array. The original two-dimensional code can be an electronic two-dimensional code, or it can be a physical two-dimensional code. If the original two-dimensional code is an electronic two-dimensional code, the black color in the two-dimensional code is represented by a value of 1, and the white color is represented by a value of 0, therefore obtaining a two-dimensional matrix corresponding to the original two-dimensional code. If the two-dimensional code is a physical two-dimensional code, an electronic two-dimensional code corresponding to the physical two-dimensional code can be searched, and then the found two-dimensional electronic code is processed in the above manner. Alternatively, a two-dimensional code image can be captured and then the two-dimensional code image is converted to a binary image, thereby obtaining a two-dimensional array corresponding to the binary image.

[039] A unidade de geração (520) é configurada para a geração de uma imagem utilizando a matriz bidimensional, de acordo com um padrão predefinido. O padrão predefinido é um padrão predefinido por um usuário.[039] The generation unit (520) is configured to generate an image using the two-dimensional matrix, according to a predefined pattern. The predefined pattern is a pattern predefined by a user.

[040] Em uma realização alternativa, a unidade de geração (520) inclui: uma subunidade de análise (não mostrada), uma subunidade de operação (não mostrada) e uma subunidade de geração (não mostrada). A subunidade de análise é configurada para analisar o padrão predefinido em uma imagem binária. A subunidade de operação é configurada para executar uma operação de bit em um valor de um elemento correspondente na matriz bidimensional, de acordo com um valor de pixel de cada pixel na imagem binária. A subunidade de geração é configurada para gerar a imagem, de acordo com o resultado da operação de bit.[040] In an alternative embodiment, the generating unit (520) includes: an analysis sub-unit (not shown), an operating sub-unit (not shown) and a generating sub-unit (not shown). The analysis subunit is configured to analyze the predefined pattern in a binary image. The operation sub-unit is configured to perform a bit operation on a value of a corresponding element in the two-dimensional array, according to a pixel value of each pixel in the binary image. The generation subunit is configured to generate the image, according to the result of the bit operation.

[041] Em uma realização alternativa, antes de realizar o processamento utilizando as subunidades precedentes, a unidade de geração (520) pode ser configurada para converter o tamanho do padrão predefinido para ser o mesmo que o tamanho do código bidimensional original. Se os seus tamanhos forem diferentes, o padrão predefinido pode ser ampliado ou reduzido correspondentemente.[041] In an alternative embodiment, prior to performing processing using the preceding subunits, the generating unit (520) can be configured to convert the predefined pattern size to be the same as the original two-dimensional code size. If their sizes are different, the preset pattern can be enlarged or reduced accordingly.

[042] Em uma realização alternativa, a subunidade de operação é configurada para executar a operação de bit em um valor de um elemento correspondente na matriz bidimensional, de acordo com as seguintes etapas: em um caso em que um valor de pixel de um pixel na imagem binária é 0, se o valor do elemento correspondente na matriz bidimensional for 1, alterando o valor correspondente para 0, ou se o valor do elemento correspondente na matriz bidimensional for 0, alterando o valor correspondente para nulo; e em um caso em que um valor de pixel de um pixel na imagem binária é 1, se o valor do elemento correspondente na matriz bidimensional for 1, alterando o valor correspondente para nulo, ou se o valor do elemento correspondente na matriz bidimensional for 0, alterando o valor correspondente para 1.[042] In an alternative embodiment, the operation subunit is configured to perform the bit operation on a value of a corresponding element in the two-dimensional array, according to the following steps: in a case where a pixel value of one pixel in the binary image it is 0, if the value of the corresponding element in the two-dimensional array is 1, changing the corresponding value to 0, or if the value of the corresponding element in the two-dimensional array is 0, changing the corresponding value to null; and in a case where a pixel value of a pixel in the binary image is 1, if the value of the corresponding element in the two-dimensional array is 1, changing the corresponding value to null, or if the value of the corresponding element in the two-dimensional array is 0 , changing the corresponding value to 1.

[043] Em uma realização alternativa, a subunidade de geração é configurada para a geração de um nova matriz bidimensional, de acordo com o resultado da operação de bit; e converter a nova matriz bidimensional para a imagem, de acordo com a seguinte regra: na nova matriz bidimensional, um valor 0 de um elemento representa uma cor branca, um valor nulo de um elemento representa a transparência e um valor 1 de um elemento representa uma cor preta.[043] In an alternative embodiment, the generation subunit is configured to generate a new two-dimensional array, according to the result of the bit operation; and converting the new two-dimensional array to the image, according to the following rule: in the new two-dimensional array, a value of 0 of an element represents a white color, a null value of an element represents transparency, and a value of 1 of an element represents a black color.

[044] Em uma realização alternativa, o padrão predefinido pode ser gerado pela sobreposição de valores em posições correspondentes da imagem e do código bidimensional original.[044] In an alternative embodiment, the predefined pattern can be generated by superimposing values at corresponding positions of the image and the original two-dimensional code.

[045] Em uma realização alternativa, o dispositivo de saída de imagem inclui uma unidade de saída (não mostrada). A unidade de saída pode enviar a imagem para um veículo transparente utilizando um dispositivo de saída.[045] In an alternative embodiment, the image output device includes an output unit (not shown). The output unit can send the image to a transparent vehicle using an output device.

[046] Por exemplo, após a imagem ser impressa em um material transparente utilizando o dispositivo de saída, o material impresso pode ser coberto diretamente no código bidimensional. Desta maneira, na imagem do código bidimensional, a cor em uma posição que corresponde à cor cinza correspondente a nulo não é alterada. Em outras palavras, se a cor de um pixel no código bidimensional correspondente a nulo for preto, a cor do pixel ainda será preta após a cobertura direta do material impresso, e se a cor do pixel for branca, a sua cor ainda será branca após a cobertura. A cor de uma posição que corresponde à cor branca correspondente a 0 ou a cor preta correspondente a 1 será alterada. Especificamente, se a cor de um pixel no código bidimensional correspondente à cor preta (a cor no material impresso) for branca, a cor do pixel será preta após a cobertura direta do material impresso; se a cor de um pixel no código bidimensional correspondente à cor branca (a cor do material impresso) for preta, a cor do pixel será branca após a cobertura direta do material impresso.[046] For example, after the image is printed on a transparent material using the output device, the printed material can be covered directly in the two-dimensional code. In this way, in the two-dimensional code image, the color in a position that corresponds to the gray color corresponding to null is not changed. In other words, if the color of a pixel in the two-dimensional code corresponding to null is black, the pixel color will still be black after direct coverage of the printed material, and if the pixel color is white, its color will still be white after the coverage. The color of a position that corresponds to the white color corresponding to 0 or the black color corresponding to 1 will be changed. Specifically, if the color of a pixel in the two-dimensional code corresponding to the black color (the color on the printed material) is white, the pixel color will be black after direct coverage of the printed material; if the color of a pixel in the two-dimensional code corresponding to the white color (the color of the printed material) is black, the pixel color will be white after direct coverage of the printed material.

[047] Desta maneira, o código bidimensional pode ser verificado se o padrão após a cobertura é um padrão de uma face sorridente. Por exemplo, se o padrão após a cobertura não for um padrão de uma face sorridente, isso indica que o código bidimensional foi adulterado, por exemplo, substituído ou alterado por outros. Se o padrão após a cobertura ainda for um padrão de uma face sorridente, isso indica que o código bidimensional não foi alterado.[047] In this way, the two-dimensional code can be checked if the pattern after coverage is a pattern of a smiling face. For example, if the pattern after coverage is not a smiling face pattern, this indicates that the two-dimensional code has been tampered with, for example, replaced or altered by others. If the pattern after coverage is still a smiling face pattern, this indicates that the two-dimensional code has not changed.

[048] Conforme descrito acima, o dispositivo para a geração de imagem, de acordo com a presente invenção gera uma imagem utilizando um código bidimensional original com base em um padrão predefinido, por conseguinte, verificando o código bidimensional original utilizando a imagem. Desta maneira, pode ser julgado, quando não existe rede disponível, se o código bidimensional é adulterado. A presente invenção possui cenários de utilização abundantes e não é limitada por redes ou terminais móveis.[048] As described above, the device for generating the image according to the present invention generates an image using an original two-dimensional code based on a predefined pattern, therefore checking the original two-dimensional code using the image. In this way, it can be judged, when there is no available network, whether the two-dimensional code is tampered with. The present invention has abundant usage scenarios and is not limited to mobile networks or terminals.

[049] A Figura 6 mostra um diagrama em blocos de um dispositivo eletrônico que executa um algoritmo de geração de imagem, de acordo com uma realização exemplar da presente invenção. Com referência à Figura 6, em um nível de hardware, o dispositivo eletrônico inclui um processador, um barramento interno, uma interface de rede, uma memória e um armazenamento não volátil. Definitivamente, o dispositivo eletrônico ainda pode incluir outro hardware requerido pelos serviços. O processador lê um programa de computador correspondente do armazenamento não volátil na memória e executa o programa de computador, para formar um aparelho de captura de tela de página da Web em um nível lógico. Definitivamente, além da implementação do software, a presente invenção não exclui outras realizações, tais como os dispositivos lógicos ou uma maneira combinada de software e hardware. Em outras palavras, o seguinte procedimento de processamento não se limita a ser executado por diversas unidades lógicas e, também pode ser executado por hardware ou dispositivos lógicos.[049] Figure 6 shows a block diagram of an electronic device that performs an image generation algorithm, according to an exemplary embodiment of the present invention. Referring to Figure 6, at a hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a nonvolatile storage. Definitely, the electronic device can still include other hardware required by the services. The processor reads a corresponding computer program from non-volatile memory storage and executes the computer program to form a web page screen capture apparatus at a logical level. Definitely, besides the software implementation, the present invention does not exclude other realizations, such as the logical devices or a combined way of software and hardware. In other words, the following processing procedure is not limited to being performed by several logical units, it can also be performed by hardware or logical devices.

[050] Na década de 1990, um aprimoramento em uma tecnologia pode ser claramente distinguido como um aprimoramento em hardware (por exemplo, um aprimoramento em uma estrutura de circuito tal como um diodo, um transistor e um comutador) ou um aprimoramento de software (um aprimoramento em um procedimento de método). No entanto, com o desenvolvimento de tecnologias, os aprimoramentos de diversos procedimentos de métodos atualmente podem ser considerados aprimoramentos diretos nas estruturas dos circuitos de hardware. Quase todos os projetistas programam os procedimentos aprimorados do método em circuitos de hardware para obter as estruturas de circuito de hardware correspondentes. Por conseguinte, é inadequado supor que o aprimoramento de um procedimento de método não possa ser implementado utilizando um módulo de entidade de hardware. Por exemplo, um um dispositivo lógico programável (PLD) (por exemplo, um Field Programmable Gate Array (FPGA)) é um circuito integrado)) é um circuito integrado cujas funções lógicas são determinadas por dispositivos programados por um usuário. Os projetistas executam a programação para "integrar" um sistema digital a um PLD sem exigir que um fabricante de chips projete e produza um chip de circuito integrado específico do aplicativo. Além disso, no momento, a programação é principalmente implementada utilizando o software de compilador lógico, em vez de fabricar manualmente um chip de circuito integrado. O software compilador lógico é similar a um compilador de software utilizado para desenvolver e escrever um programa, e o código original antes de compilar também precisa ser escrito utilizando uma linguagem de programação específica, que é referida como HDL (Hardware Description Language). Existem muitos tipos de HDLs, tais como o Advanced Boolean Expression Language (ABEL), Altera Hardware Description Language), Confluence (AHDL), Cornell University Programming Language (CUPL), HDCal, Java Hardware Description Language (JHDL), Lava, Lola, MyHDL, PALASM e Ruby Hardware Description Language (RHDL), entre os quais o Very-High-Speed Integrated Circuit Hardware Description Language (VHDL) e Verilog são mais utilizados atualmente. Os técnicos no assunto também devem entender que um circuito de hardware para implementar o procedimento de método lógico pode ser facilmente obtido programando ligeiramente logicamente o procedimento de método utilizando as diversas linguagens de descrição de hardware acima e programando em um circuito integrado.[050] In the 1990s, an improvement in a technology can be clearly distinguished as an improvement in hardware (for example, an improvement in a circuit structure such as a diode, a transistor and a switch) or a software improvement ( an improvement on a method procedure). However, with the development of technologies, improvements in various method procedures can now be considered direct improvements in the structures of hardware circuits. Almost all designers program the method's enhanced procedures into hardware circuits to obtain the corresponding hardware circuit structures. Therefore, it is inappropriate to assume that the enhancement of a method procedure cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (eg a Field Programmable Gate Array (FPGA)) is an integrated circuit) is an integrated circuit whose logic functions are determined by devices programmed by a user. Designers perform programming to "integrate" a digital system into a PLD without requiring a chip manufacturer to design and produce an application-specific integrated circuit chip. Furthermore, at present, programming is mainly implemented using logic compiler software rather than manually fabricating an integrated circuit chip. Software logic compiler is similar to a software compiler used to develop and write a program, and the original code before compiling also needs to be written using a specific programming language, which is referred to as HDL (Hardware Description Language). There are many types of HDLs, such as Advanced Boolean Expression Language (ABEL), Altera Hardware Description Language (AHDL), Cornell University Programming Language (CUPL), HDCal, Java Hardware Description Language (JHDL), Lava, Lola, MyHDL, PALASM and Ruby Hardware Description Language (RHDL), among which the Very-High-Speed Integrated Circuit Hardware Description Language (VHDL) and Verilog are most used today. Those skilled in the art should also understand that a hardware circuit to implement the logical method procedure can be easily obtained by slightly logically programming the method procedure using the above various hardware description languages and programming on an integrated circuit.

[051] Um controlador pode ser implementado de qualquer maneira adequada. Por exemplo, o controlador pode estar na forma de, por exemplo, um microprocessador ou um processador e um meio de leitura legível por computador que armazena o código de programa legível por computador (por exemplo, o software ou firmware) que pode ser executado pelo (micro)processador, uma porta lógica, um comutador, um circuito integrado específico do aplicativo (ASIC), um controlador lógico programável e um microcontrolador incorporado. Os exemplos do controlador incluem, mas não estão limitados aos seguintes microcontroladores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 e Silicone Labs C8051F320. Um controlador de memória também pode ser implementado como parte da lógica de controle de uma memória. Os técnicos no assunto também sabem que, o controlador pode ser implementado utilizando o código de programa puro legível por computador e, além disso, as etapas do método podem ser logicamente programadas para possibilitar que o controlador implemente a mesma função na forma de uma porta lógica, um comutador, um circuito integrado específico da aplicação, um controlador lógico programável e um microcontrolador incorporado. Por conseguinte, este tipo de controlador pode ser considerado como um componente de hardware, e os aparelhos incluídos nele para implementar diversas funções também podem ser considerados como estruturas dentro do componente de hardware. Ou, os aparelhos utilizados para implementar diversas funções podem até ser considerados como módulos de software para implementar o método e estruturas dentro do componente de hardware.[051] A controller can be implemented in any suitable way. For example, the controller may be in the form of, for example, a microprocessor or a processor and a computer-readable medium that stores computer-readable program code (e.g., software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Controller examples include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. A memory controller can also be implemented as part of a memory's control logic. Those skilled in the art also know that the controller can be implemented using pure computer-readable program code and, in addition, the method steps can be logically programmed to enable the controller to implement the same function in the form of a logic gate , a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller. Therefore, this type of controller can be considered as a hardware component, and the devices included in it to implement various functions can also be considered as structures within the hardware component. Or, the devices used to implement various functions can even be considered as software modules to implement the method and structures within the hardware component.

[052] O sistema, aparelho, módulo ou unidade ilustrados nas realizações acima podem ser implementados especificamente utilizando um chip de computador ou uma entidade, ou um produto que possua uma função determinada. Um dispositivo de implementação típico é um computador. Especificamente, o computador pode ser, por exemplo, um computador pessoal, um computador portátil, um telefone celular, um telefone com câmera, um telefone inteligente, um assistente digital pessoal, um reprodutor de mídia, um dispositivo de navegação, um dispositivo de e-mail, um console de jogos, um computador tablet, um dispositivo vestível ou uma combinação de qualquer um desses dispositivos.[052] The system, apparatus, module or unit illustrated in the above embodiments can be implemented specifically using a computer chip or an entity, or a product that has a particular function. A typical deployment device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop, a cell phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, a computer device, e-mail, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[053] Para a facilidade de descrição, quando o aparelho está descrito, ele é dividido em diversas unidades em termos de funções para as respectivas descrições. Certamente, quando a presente invenção é implementada, as funções das unidades podem ser implementadas na mesma ou em múltiplas partes de software e/ou hardware.[053] For ease of description, when the apparatus is described, it is divided into several units in terms of functions for the respective descriptions. Of course, when the present invention is implemented, the functions of the units can be implemented in the same or multiple pieces of software and/or hardware.

[054] Os técnicos no assunto devem compreender que as realizações da presente invenção podem ser fornecidas como um método, um sistema ou um produto de programa de computador. Por conseguinte, a presente invenção pode ser implementada como uma realização de hardware completa, uma realização de software completa ou uma realização combinando o software e hardware. Além disso, a presente invenção pode ser um produto de programa de computador implementado em um ou mais meios de armazenamento utilizáveis em computador (incluindo, mas não limitado a uma memória de disco magnético, um CD-ROM, uma memória ótica e similares) incluindo o código de programa utilizável pelo computador.[054] Those skilled in the art should understand that embodiments of the present invention may be provided as a method, a system or a computer program product. Therefore, the present invention can be implemented as a complete hardware embodiment, a complete software embodiment, or an embodiment combining the software and hardware. Furthermore, the present invention may be a computer program product implemented on one or more computer usable storage media (including, but not limited to, a magnetic disk memory, a CD-ROM, an optical memory and the like) including the program code usable by the computer.

[055] A presente invenção está descrita com referência aos fluxogramas e/ou diagramas em blocos do método, ao dispositivo (sistema) e ao produto de programa de computador de acordo com as realizações da presente invenção. Deve ser entendido que uma instrução de programa de computador pode ser utilizada para implementar cada processo e/ou bloco nos fluxogramas e/ou diagramas em blocos e combinações de processos e/ou blocos nos fluxogramas e/ou diagramas em blocos. Estas instruções de programas de computador podem ser fornecidas para um computador de propósito geral, um computador de propósito especial, um processador embutido ou um processador de qualquer outro dispositivo de processamento de dados programável para a geração de uma máquina, de maneira que as instruções executadas por um computador ou processador de qualquer outro dispositivo de processamento de dados programável gera um aparelho para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas em blocos.[055] The present invention is described with reference to the flowcharts and/or block diagrams of the method, the device (system) and the computer program product according to the embodiments of the present invention. It should be understood that a computer program instruction can be used to implement each process and/or block in the flowcharts and/or block diagrams and combinations of processes and/or blocks in the flowcharts and/or block diagrams. These computer program instructions can be provided to a general purpose computer, a special purpose computer, an embedded processor or a processor of any other programmable data processing device for generating a machine so that the instructions are executed. by a computer or processor of any other programmable data processing device generates an apparatus for implementing a specified function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.

[056] Essas instruções de programas de computador também podem ser armazenadas em uma memória legível por computador que pode instruir o computador ou qualquer outro dispositivo de processamento de dados programável para funcionar de uma maneira especial, de maneira que as instruções armazenadas na memória de computador gerem um artefato que inclui um aparelho de instrução. O aparelho de instrução implementa uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas em blocos.[056] These computer program instructions can also be stored in computer readable memory which can instruct the computer or any other programmable data processing device to function in a special way so that the instructions stored in the computer memory generate an artifact that includes an instructional apparatus. The instruction apparatus implements a specified function in one or more processes in flowcharts and/or in one or more blocks in block diagrams.

[057] Estas instruções de programas de computador também podem ser carregadas em um computador ou outro dispositivo de processamento de dados programável, de tal maneira que uma série de etapas de operação seja executada no computador ou outro dispositivo programável, por conseguinte, gerando o processamento implementado por computador. Por conseguinte, as instruções executadas no computador ou no outro dispositivo programável fornecem as etapas para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas em blocos.[057] These computer program instructions can also be loaded into a computer or other programmable data processing device, in such a way that a series of operating steps are performed on the computer or other programmable device, therefore generating the processing computer implemented. Therefore, instructions executed on the computer or other programmable device provide the steps to implement a specified function in one or more processes in flowcharts and/or in one or more blocks in block diagrams.

[058] Em uma realização, um dispositivo de computação inclui uma ou mais unidades centrais de processamento (CPUs), uma interface de E/S, uma interface de rede e uma memória.[058] In one embodiment, a computing device includes one or more central processing units (CPUs), an I/O interface, a network interface, and a memory.

[059] A memória pode incluir os meios legíveis por computador, tais como uma memória volátil, uma memória de acesso aleatório (RAM) e/ou memória não volátil, por exemplo, a memória somente de leitura (ROM) ou memória flash. A memória é um exemplo de um meio legível por computador.[059] Memory may include computer readable media such as volatile memory, random access memory (RAM) and/or non-volatile memory, for example read-only memory (ROM) or flash memory. Memory is an example of a computer-readable medium.

[060] O meio legível por computador inclui os meios não voláteis e voláteis, bem como os meios móveis e não móveis, e pode implementar o armazenamento de informações por meio de qualquer método ou tecnologia. A informação pode ser uma instrução legível por computador, uma estrutura de dados e um módulo de um programa ou outros dados. Um meio de armazenamento de um computador inclui, por exemplo, mas não está limitado à memória de acesso aleatório de parâmetro (PRAM), memória de acesso aleatório estática (SRAM), memória de acesso aleatório dinâmica (DRAM), outros tipos de RAMs, um ROM., uma memória de apenas leitura programável e apagável eletricamente (EEPROM), uma memória flash ou outras tecnologias de memória, uma memória de leitura em disco compacto (CD-ROM), um disco versátil digital (DVD) ou outros dispositivos de armazenamento ótico, uma fita cassete magnética, um armazenamento de fita magnética / disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio de não transmissão, e pode ser utilizado para armazenar as informações acessadas pelo dispositivo de computação. De acordo com a definição deste texto, o meio legível por computador não inclui os meios transitórios legíveis, tal como um sinal de dados modulado e um veículo.[060] Computer readable media includes non-volatile and volatile media, as well as mobile and non-mobile media, and may implement information storage by any method or technology. The information can be a computer-readable instruction, a data structure, and a program module or other data. A computer storage medium includes, for example, but is not limited to parameter random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of RAMs, a ROM., an electrically erasable programmable read-only memory (EEPROM), a flash memory or other memory technologies, a compact disk read-only memory (CD-ROM), a digital versatile disk (DVD) or other storage devices. optical storage, a magnetic cassette tape, a magnetic tape storage/magnetic disk or other magnetic storage devices, or any other non-transmission medium, and may be used to store the information accessed by the computing device. As defined in this text, computer readable media does not include readable transient media such as a modulated data signal and a vehicle.

[061] Ainda deve ser observado que, o termo "incluir", "compreender" ou outras suas variações se destinam a abranger uma inclusão não exclusiva, de maneira que um processo, método, mercadoria ou dispositivo incluindo uma série de elementos não apenas inclua os elementos, mas também inclua outros elementos não expressamente listados, ou ainda inclui os elementos inerentes ao processo, método, mercadoria ou dispositivo. Em um caso sem mais limitações, um elemento definido por "incluindo um / um.." não exclui que o processo, método, mercadoria ou dispositivo incluindo o elemento possua outros elementos idênticos.[061] It should also be noted that the term "include", "comprise" or other variations thereof are intended to encompass a non-exclusive inclusion, so that a process, method, commodity or device including a series of elements does not only include the elements, but also includes other elements not expressly listed, or even includes elements inherent to the process, method, commodity or device. In a case without further limitations, an element defined by "including a / a..." does not exclude that the process, method, commodity or device including the element has other identical elements.

[062] Os técnicos no assunto devem entender que as realizações da presente invenção podem ser fornecidas como um método, um sistema ou um produto de programa de computador. Por conseguinte, a presente invenção pode ser implementada como uma realização de hardware completa, uma realização de software completa ou uma realização que combina o software e hardware. Além disso, a presente invenção pode estar na forma de um produto de programa de computador implementado em um ou mais meios de armazenamento utilizáveis em computador (incluindo, mas não limitado a uma memória de disco magnético, um CD-ROM, uma memória ótica e similares) incluindo o código de programa utilizável por computador.[062] Those skilled in the art should understand that embodiments of the present invention may be provided as a method, a system or a computer program product. Therefore, the present invention can be implemented as a complete hardware embodiment, a complete software embodiment, or an embodiment that combines software and hardware. Furthermore, the present invention may be in the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, a magnetic disk memory, a CD-ROM, an optical memory, and similar) including computer-usable program code.

[063] A presente invenção pode ser descrita no contexto geral de instruções executáveis por computador executadas por um computador, por exemplo, um módulo de programa. Em geral, o módulo do programa inclui uma rotina, um programa, um objeto, um componente, uma estrutura de dados, e similares, para realizar uma tarefa específica ou implementar um tipo de dados abstrato específico. A presente invenção também pode ser praticada em ambientes de computação distribuída, e nos ambientes de computadores distribuídos, uma tarefa é executada utilizando os dispositivos de processamento remoto conectados através de uma rede de comunicações. No ambiente de computação distribuída, o módulo do programa pode estar localizado no meio de armazenamento do computador local e remoto, incluindo um dispositivo de armazenamento.[063] The present invention can be described in the general context of computer executable instructions executed by a computer, for example, a program module. In general, the program module includes a routine, a program, an object, a component, a data structure, and the like, to perform a specific task or implement a specific abstract data type. The present invention can also be practiced in distributed computing environments, and in distributed computing environments, a task is performed using remote processing devices connected through a communications network. In the distributed computing environment, the program module can be located on the local and remote computer storage medium, including a storage device.

[064] As realizações na especificação estão descritas progressivamente, as partes idênticas ou similares das realizações podem ser obtidas com referência uma à outra, e cada realização enfatiza uma parte diferente de outras realizações. Em especial, a realização do sistema é basicamente similar à realização do método, de maneira que está descrita simplesmente, e para a partes relacionadas, pode ser feita referência às descrições das partes na realização do método.[064] The realizations in the specification are described progressively, identical or similar parts of the realizations can be obtained with reference to each other, and each realization emphasizes a different part of the other realizations. In particular, the realization of the system is basically similar to the realization of the method, in that it is simply described, and for related parties, reference can be made to the descriptions of the parties in carrying out the method.

[065] As descrições acima são apenas realizações da presente invenção e não se destinam a limitar a presente invenção. Para os técnicos no assunto, a presente invenção pode realizar diversas modificações e realizações. Qualquer modificação, substituição equivalente, aprimoramento ou similar realizado sem se afastar do escopo e princípio da presente invenção, estará no escopo das reivindicações da presente invenção.[065] The above descriptions are only embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention can carry out various modifications and realizations. Any modification, equivalent replacement, improvement or the like made without departing from the scope and principle of the present invention will be within the scope of the claims of the present invention.

[066] A Figura 7 é um fluxograma que ilustra um exemplo de um método (700) implementado por computador para a geração de um padrão de imagem para verificar um código 2D, de acordo com uma realização da presente invenção. Para clareza de apresentação, a descrição que se segue, em geral,descreve o método (700) no contexto das outras Figuras nesta descrição. No entanto, será entendido que o método (700) pode ser executado, por exemplo, por qualquer sistema, ambiente, software e hardware, ou uma combinação de sistemas, ambientes, software e hardware, conforme adequado. Em algumas implementações, diversas etapas do método (700) podem ser executadas em paralelo, em combinação, em enlaces ou em qualquer ordem.[066] Figure 7 is a flowchart illustrating an example of a computer-implemented method (700) for generating an image pattern for verifying a 2D code, in accordance with an embodiment of the present invention. For clarity of presentation, the following description generally describes method (700) in the context of the other Figures in this description. However, it will be understood that method (700) can be performed, for example, by any system, environment, software and hardware, or a combination of systems, environments, software and hardware, as appropriate. In some implementations, several steps of method (700) can be performed in parallel, in combination, in links, or in any order.

[067] No (710), um código 2D é analisado para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos. Por exemplo, a Figura 2A mostra um exemplo de código 2D. Os pixels em preto e branco podem ser representados por quadrados em preto e branco mostrados na Figura 2A. A partir de (710), o método (700) prossegue para o (720).[067] At (710), a 2D code is analyzed to identify a plurality of black pixels and a plurality of white pixels. For example, Figure 2A shows an example of 2D code. Black and white pixels can be represented by the black and white squares shown in Figure 2A. From (710), the method (700) proceeds to (720).

[068] No (720), a pluralidade de pixels pretos e a pluralidade de pixels brancos do código 2D são convertidos em uma primeira pluralidade de matrizes binárias, em que a pluralidade de pixels pretos e a pluralidade de pixels brancos correspondem a diferentes dígitos binários com base em uma regra predeterminada. Por exemplo, uma primeira regra predeterminada pode converter os pixels pretos para o dígito binário “1” e converter os pixels brancos para o dígito binário “0”. Uma segunda regra predeterminada pode converter os pixels pretos para o dígito binário “0” e converter os pixels brancos para o dígito binário “1”. Utilizando a primeira regra predeterminada como exemplo, o código 2D mostrado na Figura 2A pode ser convertido nas seguintes matrizes binárias: [1,0,1,0] [1,0,0,1], [0,0,1,0] e [0,1,0,0].[068] At (720), the plurality of black pixels and the plurality of white pixels of the 2D code are converted into a first plurality of binary arrays, wherein the plurality of black pixels and the plurality of white pixels correspond to different binary digits based on a predetermined rule. For example, a first predetermined rule might convert black pixels to binary digit “1” and convert white pixels to binary digit “0”. A second predetermined rule can convert black pixels to binary digit “0” and convert white pixels to binary digit “1”. Using the first predetermined rule as an example, the 2D code shown in Figure 2A can be converted into the following binary matrices: [1,0,1,0] [1,0,0,1], [0,0,1,0 ] and [0.1,0.0].

[069] Em alguns casos, cada matriz binária pode corresponder a uma linha de pixels no código 2D e cada dígito binário na matriz binário pode possuir uma correspondência um-para-um com o pixel correspondente no código 2D. A partir de (720), o método (700) prossegue para o (730).[069] In some cases, each binary matrix may correspond to a row of pixels in the 2D code and each binary digit in the binary matrix may have a one-to-one correspondence with the corresponding pixel in the 2D code. From (720), the method (700) proceeds to (730).

[070] No (730), uma imagem alvo é analisada para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos. Uma imagem alvo pode ser uma imagem que inclui um padrão predeterminado que é facilmente reconhecível, tal como uma letra, uma face sorridente ou outros formatos regulares. Em alguns casos, o número total de pixels identificados pela análise da imagem alvo é o mesmo que o número de pixels no código 2D. Em alguns casos, o número total de pixels identificados pela análise da imagem alvo pode ser diferente do número de pixels no código 2D. Os pixels na imagem alvo podem ser convertidos para cima ou convertidos para baixo para corresponder ao número de pixels no código 2D. Por exemplo, se o código 2D for composto de 5 x 5 pixels, mas a imagem alvo é composta por 25 x 25 pixels, a imagem alvo pode ser convertida para baixo para um padrão similar composto por 5 x 5 pixels. A partir de (730), o método (700) prossegue para o (740).[070] At (730), a target image is analyzed to identify a plurality of black pixels and a plurality of white pixels. A target image can be an image that includes a predetermined pattern that is easily recognizable, such as a letter, a smiling face, or other regular shapes. In some cases, the total number of pixels identified by target image analysis is the same as the number of pixels in the 2D code. In some cases, the total number of pixels identified by target image analysis may differ from the number of pixels in the 2D code. Pixels in the target image can be up-converted or down-converted to match the number of pixels in the 2D code. For example, if the 2D code is composed of 5 x 5 pixels, but the target image is composed of 25 x 25 pixels, the target image can be down-converted to a similar pattern composed of 5 x 5 pixels. From (730) the method (700) proceeds to (740).

[071] No (740), a pluralidade de pixels pretos e a pluralidade de pixels brancos da imagem alvo são convertidos em uma segunda pluralidade de matrizes binárias com base na regra predeterminada. Em outras palavras, a pluralidade de pixels pretos da imagem alvo é convertida em um mesmo dígito binário, uma vez que a pluralidade de pixels pretos do código 2D e a pluralidade de pixels brancos da imagem são convertidos em um mesmo dígito binário que a pluralidade de pixels brancos do código 2D com base na regra predeterminada. Utilizando a imagem mostrada na Figura 2B como exemplo da imagem alvo (200b), a imagem possui um padrão predeterminado de 4 x 4 pixels em preto e branco. Suponha que a regra predeterminada seja converter os pixels pretos no dígito binário “1” e converter os pixels brancos no dígito binário “0”, os pixels da imagem são convertidos para as seguintes matrizes binárias: [0,0,1,0] [0,0,1,0] [0,0,1,0] e [1,1,1,1].[071] At (740), the plurality of black pixels and the plurality of white pixels of the target image are converted into a second plurality of binary arrays based on the predetermined rule. In other words, the plurality of black pixels of the target image is converted to the same binary digit, since the plurality of black pixels of the 2D code and the plurality of white pixels of the image are converted to the same binary digit as the plurality of white pixels of 2D code based on predetermined rule. Using the image shown in Figure 2B as an example of the target image (200b), the image has a predetermined pattern of 4 x 4 pixels in black and white. Suppose the default rule is to convert black pixels to binary digit “1” and convert white pixels to binary digit “0”, the image pixels are converted to the following binary matrices: [0,0,1,0] [ 0.0.1.0] [0.0.1.0] and [1.1,1.1].

[072] As matrizes binárias convertidas da imagem alvo são utilizadas para a geração de uma imagem de autenticação que pode ser utilizada para verificar a autenticidade do código 2D. A partir de (740), o método (700) prossegue para o (750).[072] The converted binary matrices of the target image are used to generate an authentication image that can be used to verify the authenticity of the 2D code. From (740) the method (700) proceeds to (750).

[073] No (750), pelo menos, uma parte da primeira pluralidade de matrizes binárias e uma parte da segunda pluralidade de matrizes binárias são comparadas. Por exemplo, as matrizes binárias convertidas a partir do código 2D (200a), conforme mostrado na Figura 2A podem ser comparadas com as matrizes binárias convertidas a partir da imagem alvo (200b) mostrada na Figura 2B. A comparação pode ser bit a bit. Isto é, cada dígito binário nas matrizes binárias convertidas de (200a) é comparado com um dígito binário correspondente na mesma posição nas matrizes binárias convertidas a partir de (200b). Por exemplo, considerando ambas as matrizes binárias como matriz 4 x 4, por conseguinte, cada elemento na primeira matriz é comparado com um elemento correspondente na segunda matriz que possui o mesmo número de linha e coluna.[073] At (750), at least a part of the first plurality of binary matrices and a part of the second plurality of binary matrices are compared. For example, binary matrices converted from 2D code (200a) as shown in Figure 2A can be compared with binary matrices converted from the target image (200b) shown in Figure 2B. The comparison can be bit by bit. That is, each binary digit in the converted binary matrices from (200a) is compared with a corresponding binary digit at the same position in the converted binary matrices from (200b). For example, considering both binary matrices as a 4 x 4 matrix, therefore, each element in the first matrix is compared with a corresponding element in the second matrix that has the same row and column number.

[074] No (750), uma primeira pluralidade de dígitos binários de, pelo menos, uma parte da primeira pluralidade de matrizes binárias que são diferentes dos dígitos binários correspondentes de, pelo menos, uma parte da segunda pluralidade de matrizes binárias são alteradas para os mesmos dígitos binários que os dígitos binários correspondentes de, pelo menos, uma parte da segunda pluralidade das matrizes binárias e os dígitos binários alterados são convertidas em uma pluralidade de pixels pretos e uma pluralidade de pixels brancos com base na regra predeterminada. Para a geração de uma imagem de autenticação para autenticar o código 2D, uma matriz de dados pode ser derivada de primeiras matrizes binárias correspondentes ao código 2D comparando com as segundas matrizes binárias correspondentes à imagem alvo. Se um dígito binário nas primeiras matrizes binárias for diferente do dígito binário correspondente nas segundas matrizes binárias, o dígito binário nas primeiras matrizes binárias será alterado para o mesmo que o dígito binário correspondente nas segundas matrizes binárias. Em alguns casos, as matrizes de dados correspondentes à imagem de autenticação podem ser geradas diretamente comparando as primeiras matrizes binárias com as segundas matrizes binárias. Nesses casos, quando um dígito binário nas primeiras matrizes binárias é diferente de um dígito binário correspondente nas segundas matrizes binárias, o dígito binário nas segundas matrizes binárias é adotado para preencher a posição correspondente nas matrizes de dados. A partir de (750), o método (700) prossegue para o (760).[074] At (750), a first plurality of binary digits of at least a part of the first plurality of binary matrices that are different from the corresponding binary digits of at least a part of the second plurality of binary matrices are changed to the same binary digits as the corresponding binary digits of at least a part of the second plurality of binary arrays and the altered binary digits are converted to a plurality of black pixels and a plurality of white pixels based on the predetermined rule. For generating an authentication image to authenticate the 2D code, a data matrix can be derived from first binary matrices corresponding to the 2D code by comparing with second binary matrices corresponding to the target image. If a binary digit in the first binary matrices is different from the corresponding binary digit in the second binary matrices, the binary digit in the first binary matrices will change to the same as the corresponding binary digit in the second binary matrices. In some cases, data matrices corresponding to the authentication image can be generated directly by comparing the first binary matrices with the second binary matrices. In such cases, when a binary digit in the first binary matrices is different from a corresponding binary digit in the second binary matrices, the binary digit in the second binary matrices is adopted to fill the corresponding position in the data matrices. From (750), the method (700) proceeds to (760).

[075] No (760), uma segunda pluralidade de dígitos binários de, pelo menos, uma parte da primeira pluralidade de matrizes binárias que são mesmos que os dígitos binários correspondentes de, pelo menos, uma parte da segunda pluralidade de matrizes binárias são convertidas em uma pluralidade de pixels transparentes. Em alguns casos, quando um dígito binário nas primeiras matrizes binárias é o mesmo que um dígito binário correspondente nas segundas matrizes binárias, a posição correspondente nas matrizes de dados pode ser preenchida com um valor "nulo", que por sua vez, pode ser convertido em um pixel transparente. Em outras palavras, se um pixel no código 2D possuir a mesma cor do pixel correspondente na imagem alvo, o pixel poderá ser convertido em um pixel transparente na imagem de autenticação. A partir de (760), o método (700) prossegue para o (770).[075] At (760), a second plurality of binary digits of at least a part of the first plurality of binary matrices that are same as the corresponding binary digits of at least a part of the second plurality of binary matrices are converted in a plurality of transparent pixels. In some cases, when a binary digit in the first binary matrices is the same as a corresponding binary digit in the second binary matrices, the corresponding position in the data matrices can be filled with a "null" value, which in turn can be converted on a transparent pixel. In other words, if a pixel in the 2D code has the same color as the corresponding pixel in the target image, the pixel can be converted to a transparent pixel in the authentication image. From (760) the method (700) proceeds to (770).

[076] No (770), uma imagem de autenticação é formada utilizando a pluralidade de pixels pretos, a pluralidade de pixels brancos e a pluralidade de pixels transparentes. A imagem de autenticação formada pela pluralidade de pixels pretos, brancos e transparentes pode possuir o mesmo número de pixels que o código 2D. Cada pixel na imagem de autenticação pode possuir uma correspondência um-para-um com o código 2D. Pode ser entendido que a imagem de autenticação pode ser diretamente coberta ou sobreposta no código 2D. A imagem sobreposta é a imagem alvo (ou uma imagem alvo convertida para cima ou convertida para baixo que corresponda aos pixels do código 2D), se o código 2D não estiver adulterado. Caso contrário, o código 2D pode ser adulterado ou modificado. Por conseguinte, a imagem de autenticação pode ser utilizada para autenticar o código 2D.[076] At (770), an authentication image is formed using the plurality of black pixels, the plurality of white pixels, and the plurality of transparent pixels. The authentication image formed by the plurality of black, white and transparent pixels can have the same number of pixels as the 2D code. Each pixel in the authentication image can have a one-to-one correspondence with the 2D code. It can be understood that the authentication image can be directly overlayed or overlaid on the 2D code. The overlay image is the target image (or an up-converted or down-converted target image that matches the 2D code pixels), if the 2D code is not tampered with. Otherwise, the 2D code may be tampered with or modified. Therefore, the authentication image can be used to authenticate the 2D code.

[077] Se o código 2D estiver em formato eletrônico, a imagem de autenticação pode ser gerada eletronicamente e aplicada ao código 2D para revelar a sobreposição de imagem a um visualizador. Se o código 2D estiver em uma forma impressa, uma cópia física da imagem de autenticação pode ser fornecida a um usuário e coberta diretamente no código 2D para revelar a imagem sobreposta. Uma vez que a imagem alvo é selecionada para possuir um padrão facilmente reconhecível, um usuário pode identificar facilmente se o código 2D está adulterado recuperando a imagem alvo utilizando a imagem de autenticação. O processo de autenticação pode ser realizado online ou offline. Após o (770), o processo (700) termina.[077] If the 2D code is in electronic form, the authentication image can be electronically generated and applied to the 2D code to reveal the image overlay to a viewer. If the 2D code is in a printed form, a physical copy of the authentication image can be provided to a user and overlaid directly onto the 2D code to reveal the overlay image. Once the target image is selected to have an easily recognizable pattern, a user can easily identify if the 2D code is tampered with by retrieving the target image using the authentication image. The authentication process can be performed online or offline. After the (770), the process (700) ends.

[078] Embora esta especificação contenha muitos detalhes específicos de realização, estes não devem ser interpretados como limitações no escopo de qualquer conceito inventivo ou no escopo do que pode ser reivindicado, mas como descrições de recursos que podem ser específicos para as implementações específicas de conceitos inventivos específicos. Determinados recursos descritos nesta especificação no contexto de implementações separadas também podem ser implementados, em combinação, em uma única realização. Por outro lado, diversos recursos descritos no contexto de uma única realização também podem ser implementados em diversas implementações, separadamente ou em qualquer subcombinação. Além disso, embora os recursos descritos anteriormente possam ser descritos como atuando em determinadas combinações e até mesmo inicialmente reivindicados como tal, um ou mais recursos de uma combinação reivindicada, em alguns casos, podem ser extirpados da combinação, e a combinação reivindicada pode ser direcionada a uma combinação. subcombinação ou variação de uma subcombinação.[078] Although this specification contains many specific realization details, these should not be interpreted as limitations on the scope of any inventive concept or on the scope of what can be claimed, but as descriptions of features that may be specific to specific implementations of concepts specific inventions. Certain features described in this specification in the context of separate implementations can also be implemented, in combination, in a single realization. On the other hand, several features described in the context of a single realization can also be implemented in several implementations, separately or in any subcombination. Furthermore, although the features described above may be described as acting in certain combinations and even initially claimed as such, one or more features of a claimed combination, in some cases, may be excised from the combination, and the claimed combination may be targeted to a combination. sub-combination or variation of a sub-combination.

[079] As implementações específicas do assunto foram descritas. Outras implementações, alterações e permutações das implementações descritas estão dentro do escopo das reivindicações seguintes, como serão evidentes para os técnicos no assunto. Embora as operações sejam representadas nos desenhos ou reivindicações em uma ordem específica, isso não deve ser entendido como exigindo que tais operações sejam executadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam executadas (algumas operações podem ser consideradas opcionais), para alcançar os resultados desejados. Em determinadas circunstâncias, o processamento multitarefa ou paralelo (ou uma combinação de processamento multitarefa e paralelo) pode ser vantajoso e executado conforme adequado.[079] Subject-specific implementations have been described. Other implementations, changes and permutations of the described implementations are within the scope of the following claims, as will be apparent to those skilled in the art. Although the operations are represented in the drawings or claims in a specific order, this is not to be understood as requiring that such operations be carried out in the specific order shown or in sequential order, or that all illustrated operations be carried out (some operations may be considered optional ), to achieve the desired results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) can be beneficial and performed as appropriate.

[080] Além disso, a separação ou integração de diversos módulos e componentes do sistema nas implementações descritas anteriormente não deve ser entendida como exigindo tal separação ou integração em todas as implementações, e deve ser entendido que os componentes e sistemas do programa descritos, em geral, podem ser integrados em conjunto em um único produto de software ou embalados em diversos produtos de software.[080] In addition, the separation or integration of various system modules and components in the implementations described above should not be understood as requiring such separation or integration in all implementations, and it should be understood that the program components and systems described in Generally, they can be integrated together in a single software product or packaged in several software products.

[081] Consequentemente, as implementações de exemplo descritas anteriormente não definem ou restringem a presente invenção. Outras alterações, substituições e alterações também são possíveis sem se afastar do escopo da presente invenção.[081] Consequently, the example implementations described above do not define or restrict the present invention. Other alterations, substitutions and alterations are also possible without departing from the scope of the present invention.

[082] Além disso, qualquer realização reivindicada é considerada aplicável a, pelo menos, um método implementado por computador; um meio não transitório, legível por computador, que armazena as instruções legíveis por computador para executar o método implementado por computador; e um sistema de computador que compreende uma memória de computador interoperacionalmente acoplada a um processador de hardware configurado para executar o método implementado por computador ou as instruções armazenadas no meio não transitório, legível por computador.[082] Furthermore, any claimed realization is considered applicable to at least one computer-implemented method; a computer-readable, non-transient medium that stores the computer-readable instructions for performing the computer-implemented method; and a computer system comprising computer memory interoperably coupled to a hardware processor configured to execute the computer-implemented method or instructions stored on the non-transient, computer-readable medium.

[083] As realizações do assunto e as operações descritas nesta especificação podem ser implementadas em circuitos eletrônicos digitais, ou em software, firmware ou hardware de computador, incluindo as estruturas descritas nesta especificação e seus equivalentes estruturais, ou em combinações de um ou mais deles. As realizações do assunto descritas nesta especificação podem ser implementadas como um ou mais programas de computador, isto é, um ou mais módulos de instruções de programas de computador, codificados em mídia de armazenamento de computador não transitória para a execução por ou para controlar a operação de aparelho de processamento de dados. De maneira alternativa ou adicional, as instruções do programa podem ser codificadas em um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico, ótico ou eletromagnético gerado pela máquina, que é gerado para codificar a informação para a transmissão para o aparelho receptor adequado para a execução por um aparelho de processamento de dados. Um meio de armazenamento de computador pode ser ou ser incluído em um dispositivo de armazenamento legível por computador, em um substrato de armazenamento legível por computador, em um dispositivo ou matriz de memória de acesso aleatório ou em série, ou em uma combinação de um ou mais deles. Além disso, enquanto um meio de armazenamento de computador não é um sinal propagado, um meio de armazenamento de computador pode ser uma fonte ou um destino de instruções de programas de computador codificadas em um sinal propagado gerado artificialmente. O meio de armazenamento do computador também pode ser ou ser incluído em um ou mais componentes físicos separados ou meio (por exemplo, diversos Discos Compactos (CDs), Discos de Vídeo Digital (DVD), discos magnéticos ou outros dispositivos de armazenamento).[083] The subject realizations and operations described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures described in this specification and their structural equivalents, or in combinations of one or more of them . The subject realizations described in this specification may be implemented as one or more computer programs, i.e., one or more computer program instruction modules, encoded on non-transient computer storage media for execution by or for controlling operation of data processing apparatus. Alternatively or additionally, program instructions may be encoded in an artificially generated propagated signal, for example, an electrical, optical or electromagnetic signal generated by the machine, which is generated to encode the information for transmission to the appropriate receiving apparatus for execution by a data processing apparatus. A computer storage medium may be or be included in a computer readable storage device, a computer readable storage substrate, a random or serial access memory device or array, or a combination of one or more of them. Furthermore, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer's storage medium may also be or be included in one or more separate physical components or media (for example, multiple Compact Discs (CDs), Digital Video Discs (DVD), magnetic discs, or other storage devices).

[084] As operações descritas nesta especificação podem ser implementadas como operações realizadas por um aparelho de processamento de dados em dados armazenados em um ou mais dispositivos de armazenamento legíveis por computador ou recebidos de outras fontes.[084] The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored in one or more computer-readable storage devices or received from other sources.

[085] O termo “tempo-real”, “tempo real”, “temporeal”, “tempo real (rápido) (RFT)”, “quase(tempo) em tempo real (NRT)”, “quase em tempo real” ou termos similares (conforme entendido por um técnico no assunto), significa que uma ação e uma resposta estão temporalmente próximas de tal maneira que um indivíduo percebe a ação e a resposta ocorrendo substancialmente simultaneamente. Por exemplo, a diferença de tempo de uma resposta para a exibição (ou para o início de exibição) de dados após a ação do indivíduo para acessar os dados pode ser inferior a 1 milissegundo (ms), inferior a 1 segundo (s) ou inferior a 5 s. Embora os dados solicitados não precisem ser exibidos (ou iniciados para a exibição) instantaneamente, eles são exibidos (ou iniciados para a exibição) sem nenhum atraso intencional, levando em conta as limitações de processamento de um sistema de computação descrito e o tempo necessário, por exemplo, para reunir, medir com precisão, analisar, processar, armazenar ou transmitir os dados.[085] The term "real-time", "real-time", "real-time", "real-time (fast) (RFT)", "almost(time) real-time (NRT)", "almost real-time" or similar terms (as understood by one skilled in the art), means that an action and a response are temporally close in such a way that an individual perceives the action and the response occurring substantially simultaneously. For example, the time difference of a response to display (or start displaying) data after the individual takes action to access the data may be less than 1 millisecond (ms), less than 1 second (s) or less than 5 s. Although the requested data does not need to be displayed (or started for display) instantly, it is displayed (or started for display) without any intentional delay, taking into account the processing limitations of a described computing system and the time required, for example, to gather, accurately measure, analyze, process, store or transmit data.

[086] Os termos “aparelho de processamento de dados”, “computador” ou “dispositivo de computação” abrangem todos os tipos de aparelhos, dispositivos e máquinas para o processamento de dados, incluindo, por exemplo, um processador programável, um computador, um sistema em um chip ou chips múltiplos, ou combinações dos precedentes. O aparelho pode incluir os circuitos lógicos com propósitos especiais, por exemplo, uma unidade central de processamento (CPU), um FPGA (field programmable gate array), ou um ASIC (application specific integrated circuit). O aparelho também pode incluir, além do hardware, o código que cria um ambiente de execução para o programa de computador em questão, por exemplo, código que constitui o firmware do processador, pilha de protocolo, sistema de gerenciamento de banco de dados, sistema operacional (por exemplo, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, outro sistema operacional ou uma combinação de sistemas operacionais), um ambiente de tempo de execução de plataforma cruzada, uma máquina virtual ou uma combinação de um ou mais deles. O ambiente do aparelho e execução pode realizar diversas infraestruturas de modelos de computação diferentes, tais como os serviços da Web, computação distribuída e infraestruturas de computação em grade.[086] The terms "data processing apparatus", "computer" or "computing device" encompass all types of apparatus, devices and machines for data processing, including, for example, a programmable processor, a computer, a system on one chip or multiple chips, or combinations of the foregoing. The apparatus may include special purpose logic circuits, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). The apparatus may also include, in addition to hardware, code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, protocol stack, database management system, system (for example, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, another operating system or a combination of operating systems), a cross-platform runtime environment, a virtual machine, or a combination of one or more of them . The appliance and execution environment can realize various infrastructures of different computing models, such as web services, distributed computing and grid computing infrastructures.

[087] Um programa de computador (também conhecido como programa, software, aplicativo de software, módulo de software, unidade de software, script ou código) pode ser escrito em qualquer forma de linguagem de programação, incluindo as linguagens compiladas ou interpretadas, linguagens declarativas ou procedimentais, e pode ser implantado de qualquer forma, incluindo tal como um programa independente ou como um módulo, componente, sub-rotina, objeto ou outra unidade adequada para a utilização em um ambiente de computação. Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma parte de um arquivo que contém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão ou em diversos arquivos coordenados (por exemplo, os arquivos que armazenam um ou mais módulos, subprogramas ou partes do código). Um programa de computador pode ser implantado para ser executado em um computador ou em diversos computadores localizados em um local ou distribuídos em diversos locais e interconectados por uma rede de comunicação.[087] A computer program (also known as a program, software, software application, software module, software unit, script or code) may be written in any form of programming language, including compiled or interpreted languages, languages declarative or procedural, and may be deployed in any form, including such as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program can, but need not, match a file on a file system. A program can be stored in a part of a file that contains other programs or data (for example, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in several coordinated files ( for example, files that store one or more modules, subprograms, or pieces of code). A computer program can be deployed to run on one computer or on multiple computers located in one location or distributed in multiple locations and interconnected by a communication network.

[088] Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, os microprocessadores de utilização geral e especial, e qualquer um ou mais processadores de qualquer tipo de computador digital. Em geral, um processador receberá as instruções e dados de uma memória somente leitura ou de uma memória de acesso aleatório ou de ambos. Os elementos essenciais de um computador são um processador para executar as ações de acordo com as instruções e um ou mais dispositivos de memória para armazenar as instruções e dados. Em geral, um computador também irá incluir, ou estará operacionalmente acoplado para receber os dados ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenamento de dados, por exemplo, os discos magneto- óticos, magnéticos ou discos óticos. No entanto, um computador não precisa possuir esses dispositivos. Além disso, um computador pode ser incorporado em outro dispositivo, por exemplo, um dispositivo móvel, um assistente digital pessoal (PDA), um console de jogos, um receptor de sistema de posicionamento global (GPS) ou um dispositivo de armazenamento portátil (por exemplo, um uma unidade flash de barramento serial universal (USB)), para citar apenas alguns. Os dispositivos adequados para armazenar as instruções e dados de programas de computador incluem todas as formas de memória não volátil, mídia e dispositivos de memória, incluindo, por exemplo, os dispositivos de memória semicondutores, por exemplo, a memória de leitura programável apagável (EPROM), uma memória de apenas leitura programável e apagável eletricamente (EEPROM) e dispositivos de memória flash; discos magnéticos, por exemplo, os discos rígidos internos ou discos removíveis; discos magneto- óticos; e discos de CD-ROM e DVD-ROM. O processador e a memória podem ser complementados por, ou incorporados em circuitos lógicos de propósito especial.[088] Processors suitable for executing a computer program include, by way of example, general and special purpose microprocessors, and any one or more processors of any type of digital computer. In general, a processor will receive instructions and data from read-only memory or random access memory, or both. The essential elements of a computer are a processor to perform actions according to instructions and one or more memory devices to store instructions and data. In general, a computer will also include, or be operatively coupled to receive data or transfer data to, or both, one or more mass storage devices for data storage, for example, magneto-optical, magnetic disks or disks. optics. However, a computer does not need to have these devices. In addition, a computer can be embedded in another device, for example, a mobile device, a personal digital assistant (PDA), a game console, a global positioning system (GPS) receiver, or a portable storage device (by example, a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including, for example, semiconductor memory devices, for example, erasable programmable read memory (EPROM ), an electrically erasable, programmable read-only memory (EEPROM) and flash memory devices; magnetic disks, for example internal hard disks or removable disks; magneto-optical discs; and CD-ROM and DVD-ROM discs. Processor and memory can be supplemented by, or incorporated into, special purpose logic circuitry.

[089] Os dispositivos móveis podem incluir os telefones celulares (por exemplo, os smartphones), tablets, dispositivos portáteis (por exemplo, os relógios inteligentes, óculos inteligentes, tecidos inteligentes, joias inteligentes), dispositivos implantados no corpo humano (por exemplo, os biossensores, marca-passos inteligentes, implantes cocleares) ou outros tipos de dispositivos móveis. Os dispositivos móveis podem se comunicar sem fio (por exemplo, utilizando os sinais de radiofrequência (RF)) para diversas redes de comunicação (descritas abaixo). Os dispositivos móveis podem incluir os sensores para determinar as características do ambiente atual do dispositivo móvel. Os sensores podem incluir as câmeras, microfones, sensores de proximidade, sensores GPS, sensores de movimento, acelerômetros, sensores de luz ambiente, sensores de umidade, giroscópios, bússolas, barômetros, sensores de impressão digital, sistemas de reconhecimento facial, sensores RF (por exemplo, Wi-Fi e rádios celulares), sensores térmicos ou outros tipos de sensores. Por exemplo, as câmeras podem incluir uma câmera voltada para frente ou para trás com lentes móveis ou fixas, um flash, um sensor de imagem e um processador de imagem. A câmera pode ser uma câmera megapixel capaz de capturar os detalhes para reconhecimento de face e/ou de íris. A câmera, em conjunto com um processador de dados e informações de autenticação armazenadas na memória ou acessadas remotamente, podem formar um sistema de reconhecimento facial. O sistema de reconhecimento facial ou um ou mais sensores, por exemplo, os microfones, sensores de movimento, acelerômetros, sensores de GPS ou sensores de RF, podem ser utilizados para a autenticação do usuário.[089] Mobile devices can include cell phones (eg smartphones), tablets, handheld devices (eg smart watches, smart glasses, smart fabrics, smart jewelry), devices implanted in the human body (eg, biosensors, smart pacemakers, cochlear implants) or other types of mobile devices. Mobile devices can communicate wirelessly (for example, using radio frequency (RF) signals) over various communication networks (described below). Mobile devices can include sensors to determine the characteristics of the mobile device's current environment. Sensors can include cameras, microphones, proximity sensors, GPS sensors, motion sensors, accelerometers, ambient light sensors, humidity sensors, gyroscopes, compasses, barometers, fingerprint sensors, facial recognition systems, RF sensors ( for example, Wi-Fi and cellular radios), thermal sensors or other types of sensors. For example, cameras can include a forward-facing or backward-facing camera with moving or fixed lenses, a flash, an image sensor, and an image processor. The camera may be a megapixel camera capable of capturing details for face and/or iris recognition. The camera, together with a data processor and authentication information stored in memory or accessed remotely, can form a facial recognition system. The facial recognition system or one or more sensors, eg microphones, motion sensors, accelerometers, GPS sensors or RF sensors, can be used for user authentication.

[090] Para fornecer a interação com um usuário, as realizações do assunto descrito nesta especificação podem ser implementadas em um computador que possui um dispositivo de visualização e um dispositivo de entrada, por exemplo, uma exibição de cristal líquido (LCD) ou díodo orgânico emissor de luz (OLED) / realidade virtual (VR) / realidade aumentada (AR) exibição para exibir as informações para o usuário e uma tela sensível ao toque, teclado e um dispositivo apontador, por exemplo, um mouse ou um trackball, pelo qual o usuário pode fornecer entrada para o computador. Outros tipos de dispositivos também podem ser utilizados para fornecer a interação com um usuário; por exemplo, o feedback fornecido ao usuário pode ser qualquer forma de feedback sensorial, por exemplo, o feedback visual, feedback auditivo ou feedback tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo a entrada acústica, oral ou tátil. Além disso, um computador pode interagir com um usuário enviando os documentos e recebendo os documentos de um dispositivo utilizado pelo usuário; por exemplo, enviando as páginas da web para um navegador da web no dispositivo cliente de um usuário em resposta às solicitações recebidas do navegador da web.[090] To provide interaction with a user, the subject realizations described in this specification can be implemented on a computer that has a display device and an input device, for example, a liquid crystal display (LCD) or organic diode light-emitting (OLED) / virtual reality (VR) / augmented reality (AR) display to display information to the user and a touch screen, keyboard and pointing device, eg a mouse or a trackball, by which the user can provide input to the computer. Other types of devices can also be used to provide interaction with a user; for example, the feedback provided to the user can be any form of sensory feedback, eg visual feedback, auditory feedback or tactile feedback; and user input can be received in any form, including acoustic, oral, or tactile input. In addition, a computer can interact with a user by sending documents and receiving documents from a device used by the user; for example, sending web pages to a web browser on a user's client device in response to requests received from the web browser.

[091] As realizações do assunto descrito nesta especificação podem ser implementadas utilizando os dispositivos de computação interconectados por qualquer forma ou meio de comunicação de dados digital com fio ou sem fio (ou combinação dos mesmos), por exemplo, uma rede de comunicação. Os exemplos de redes de comunicação incluem uma rede local (LAN), uma rede de acesso de rádio (RAN), uma rede de área metropolitana (MAN) e uma rede de longa distância (WAN). A rede de comunicação pode incluir toda ou parte da Internet, outra rede de comunicação ou uma combinação de redes de comunicação. As informações podem ser transmitidas na rede de comunicação de acordo com diversos protocolos e padrões, incluindo a Interoperabilidade Mundial para Acesso às Microondas (WIMAX), Long Term Evolução de Longa Distância (LTE), Acesso Múltiplo por Divisão de Código (CDMA), protocolos 5G, Protocolos IEEE 802.11 a/b/g/n ou 802.20 (ou uma combinação de 802.11xe 802.20 ou outros protocolos consistentes com a presente invenção), Protocolo de Internet (IP), quadros Frame Relay, Modo de Transferência Assíncrona (ATM), ETHERNET ou outros protocolos ou combinações de protocolos. A rede de comunicação pode transmitir a voz, vídeo, dados biométricos ou de autenticação ou outras informações entre os dispositivos de computação conectados.[091] The realizations of the subject matter described in this specification may be implemented using computing devices interconnected by any form or means of wired or wireless digital data communication (or combination thereof), eg, a communication network. Examples of communication networks include a local area network (LAN), a radio access network (RAN), a metropolitan area network (MAN), and a wide area network (WAN). The communication network can include all or part of the Internet, another communication network or a combination of communication networks. Information can be transmitted over the communications network in accordance with a variety of protocols and standards, including Worldwide Interoperability for Microwave Access (WIMAX), Long Term Evolution, Long Distance (LTE), Code Division Multiple Access (CDMA), protocols 5G, IEEE 802.11 a/b/g/n or 802.20 Protocols (or a combination of 802.11x and 802.20 or other protocols consistent with the present invention), Internet Protocol (IP), Frame Relay frames, Asynchronous Transfer Mode (ATM) , ETHERNET or other protocols or combinations of protocols. The communication network can transmit voice, video, biometric or authentication data, or other information between connected computing devices.

[092] As realizações do assunto descrito nesta especificação podem ser implementadas utilizando os clientes e servidores interconectados por uma rede de comunicação. Um cliente e um servidor, em geral, são remotos entre si e, em geral, interagem através de uma rede de comunicação. A relação de cliente e servidor surge em virtude de programas de computador em execução nos respectivos computadores e possui um relacionamento cliente- servidor entre si. Um cliente, por exemplo, um dispositivo móvel, pode realizar as transações em si, com um servidor ou através de um servidor, por exemplo, realizando as transações de compra, venda, pagamento, entrega, envio ou empréstimo, ou autorizando o mesmo.[092] The realizations of the subject described in this specification can be implemented using clients and servers interconnected by a communication network. A client and a server are usually remote from each other and usually interact through a communication network. The client and server relationship arises by virtue of computer programs running on the respective computers and has a client-server relationship with each other. A customer, for example, a mobile device, can carry out the transactions itself, with a server or through a server, for example, carrying out the purchase, sale, payment, delivery, shipment or loan transactions, or by authorizing the same.

[093] Embora esta especificação contenha muitos detalhes específicos de realização, estes não devem ser interpretados como limitações ao escopo da descrição e a que é reivindicado. Determinados recursos descritos nesta especificação no contexto de implementações separadas também podem ser implementados, em combinação, em uma única realização. Por outro lado, diversos recursos descritos no contexto de uma única realização também podem ser implementados em diversas implementações, separadamente ou em qualquer subcombinação adequada. Embora as operações sejam descritas e reivindicadas em uma ordem específica, isso não deve ser entendido como exigindo que tais operações sejam executadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam executadas (algumas operações podem ser consideradas opcionais). Conforme adequado, a multitarefa ou o processamento paralelo (ou uma combinação de multitarefa e processamento paralelo) podem ser executados.[093] Although this specification contains many specific realization details, these should not be construed as limitations on the scope of the description and what is claimed. Certain features described in this specification in the context of separate implementations can also be implemented, in combination, in a single realization. On the other hand, several features described in the context of a single realization can also be implemented in several implementations, separately or in any suitable subcombination. Although operations are described and claimed in a specific order, this should not be understood as requiring that such operations be performed in the specific order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional). As appropriate, multitasking or parallel processing (or a combination of multitasking and parallel processing) can be performed.

Claims (20)

1. MÉTODO (700) IMPLEMENTADO POR COMPUTADOR PARA A GERAÇÃO DE IMAGEM, caracterizado por compreender as etapas de: analisar (710) um código bidimensional para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos; converter (720) a pluralidade de pixels pretos e a pluralidade de pixels brancos do código bidimensional em uma primeira pluralidade de matrizes binárias, em que a pluralidade de pixels pretos e a pluralidade de pixels brancos correspondem a diferentes dígitos binários; analisar (730) uma imagem alvo para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos, em que a imagem alvo inclui um padrão predeterminado; converter (740) a pluralidade de pixels pretos e a pluralidade de pixels brancos da imagem alvo em uma segunda pluralidade de matrizes binárias com base em uma regra predeterminada; comparar pelo menos uma porção da primeira pluralidade de matrizes binárias e uma porção da segunda pluralidade de matrizes binárias, compreendendo: gerar (750) pixels pretos em uma imagem de autenticação para locais que são pretos na imagem alvo, mas brancos no código bidimensional, gerar pixels brancos na imagem de autenticação para locais que são brancos na imagem alvo, mas pretos no código bidimensional, e gerar (760) pixels transparentes na imagem de autenticação para locais com cores correspondentes na imagem alvo e no código bidimensional; e gerar (770) a imagem de autenticação com base na comparação da porção da primeira pluralidade de matrizes binárias e a porção da segunda pluralidade de matrizes binárias.1. COMPUTER IMPLEMENTED METHOD (700) FOR IMAGE GENERATION, characterized in that it comprises the steps of: analyzing (710) a two-dimensional code to identify a plurality of black pixels and a plurality of white pixels; converting (720) the plurality of black pixels and the plurality of white pixels of the two-dimensional code into a first plurality of binary arrays, wherein the plurality of black pixels and the plurality of white pixels correspond to different binary digits; analyzing (730) a target image to identify a plurality of black pixels and a plurality of white pixels, the target image including a predetermined pattern; converting (740) the plurality of black pixels and the plurality of white pixels of the target image into a second plurality of binary arrays based on a predetermined rule; comparing at least a portion of the first plurality of binary arrays and a portion of the second plurality of binary arrays, comprising: generating (750) black pixels in an authentication image to locations that are black in the target image but white in the two-dimensional code, generating white pixels in the authentication image for locations that are white in the target image but black in the two-dimensional code, and generating (760) transparent pixels in the authentication image for locations with corresponding colors in the target image and the two-dimensional code; and generating (770) the authentication image based on comparing the portion of the first plurality of binary matrices and the portion of the second plurality of binary matrices. 2. MÉTODO (700), de acordo com a reivindicação 1, caracterizado pela regra predeterminada incluir converter cada pixel preto para dígito binário 1 e converter cada pixel branco para dígito binário 0.2. METHOD (700), according to claim 1, characterized in that the predetermined rule includes converting each black pixel to binary digit 1 and converting each white pixel to binary digit 0. 3. MÉTODO (700), de acordo com a reivindicação 1, caracterizado por cada matriz binária da primeira pluralidade de matrizes binárias corresponder a uma linha de pixels no código bidimensional.3. METHOD (700), according to claim 1, characterized in that each binary matrix of the first plurality of binary matrices corresponds to a row of pixels in the two-dimensional code. 4. MÉTODO (700), de acordo com a reivindicação 1, caracterizado por um número de pixels identificados a partir da imagem alvo ser o mesmo que um número de pixels identificados a partir do código bidimensional.4. METHOD (700) according to claim 1, characterized in that a number of pixels identified from the target image is the same as a number of pixels identified from the two-dimensional code. 5. MÉTODO (700), de acordo com a reivindicação 1, caracterizado por um número de pixels identificados a partir da imagem alvo ser diferente de um número de pixels identificados a partir do código bidimensional e o número de pixels identificados a partir da imagem alvo ser convertido para ser o mesmo que o número de pixels identificados a partir do código bidimensional.5. METHOD (700) according to claim 1, characterized in that a number of pixels identified from the target image is different from a number of pixels identified from the two-dimensional code and the number of pixels identified from the target image be converted to be the same as the number of pixels identified from the two-dimensional code. 6. MÉTODO (700), de acordo com a reivindicação 1, caracterizado por compreender ainda as etapas de: sobrepor a imagem de autenticação com o código bidimensional para formar uma imagem sobreposta; determinar que o código bidimensional não seja modificado se a imagem sobreposta incluir o padrão predeterminado; e determinar o código bidimensional seja modificado se a imagem sobreposta não incluir o padrão predeterminado.6. METHOD (700), according to claim 1, further comprising the steps of: superimposing the authentication image with the two-dimensional code to form an overlaid image; determining that the two-dimensional code is not modified if the overlay image includes the predetermined pattern; and determining the two-dimensional code to be modified if the overlaid image does not include the predetermined pattern. 7. MÉTODO (700), de acordo com a reivindicação 6, caracterizado pela imagem de autenticação ser impressa em um papel transparente e sobreposta no código bidimensional impresso em um papel para formar a imagem sobreposta.7. METHOD (700), according to claim 6, characterized in that the authentication image is printed on a transparent paper and superimposed on the two-dimensional code printed on a paper to form the superimposed image. 8. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, caracterizado por compreender uma ou mais instruções executáveis por um sistema de computador para realizar operações de um método (700), compreendendo as etapas de: analisar (710) um código bidimensional para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos; converter (720) a pluralidade de pixels pretos e a pluralidade de pixels brancos do código bidimensional em uma primeira pluralidade de matrizes binárias, em que a pluralidade de pixels pretos e a pluralidade de pixels brancos correspondem a diferentes dígitos binários; analisar (730) uma imagem alvo para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos, em que a imagem alvo inclui um padrão predeterminado; converter (740) a pluralidade de pixels pretos e a pluralidade de pixels brancos da imagem alvo em uma segunda pluralidade de matrizes binárias com base em uma regra predeterminada; comparar pelo menos uma porção da primeira pluralidade de matrizes binárias e uma porção da segunda pluralidade de matrizes binárias, compreendendo: gerar (750) pixels pretos em uma imagem de autenticação para locais que são pretos na imagem alvo, mas brancos no código bidimensional, gerar pixels brancos na imagem de autenticação para locais que são brancos na imagem alvo, mas pretos no código bidimensional, e gerar (760) pixels transparentes na imagem de autenticação para locais com cores correspondentes na imagem alvo e no código bidimensional; e gerar (770) a imagem de autenticação com base na comparação da porção da primeira pluralidade de matrizes binárias e a porção da segunda pluralidade de matrizes binárias.8. COMPUTER-READABLE NON TRANSIENT MEDIUM, characterized in that it comprises one or more instructions executable by a computer system to perform operations of a method (700), comprising the steps of: analyzing (710) a two-dimensional code to identify a plurality of pixels black and a plurality of white pixels; converting (720) the plurality of black pixels and the plurality of white pixels of the two-dimensional code into a first plurality of binary arrays, wherein the plurality of black pixels and the plurality of white pixels correspond to different binary digits; analyzing (730) a target image to identify a plurality of black pixels and a plurality of white pixels, the target image including a predetermined pattern; converting (740) the plurality of black pixels and the plurality of white pixels of the target image into a second plurality of binary arrays based on a predetermined rule; comparing at least a portion of the first plurality of binary arrays and a portion of the second plurality of binary arrays, comprising: generating (750) black pixels in an authentication image to locations that are black in the target image but white in the two-dimensional code, generating white pixels in the authentication image for locations that are white in the target image but black in the two-dimensional code, and generating (760) transparent pixels in the authentication image for locations with corresponding colors in the target image and the two-dimensional code; and generating (770) the authentication image based on comparing the portion of the first plurality of binary matrices and the portion of the second plurality of binary matrices. 9. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 8, caracterizado pela regra predeterminada incluir converter cada pixel preto para dígito binário 1 e converter cada pixel branco para dígito binário 0.9. COMPUTER-READABLE NON TRANSIENT MEDIUM according to claim 8, characterized in that the predetermined rule includes converting each black pixel to binary digit 1 and converting each white pixel to binary digit 0. 10. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 8, caracterizado por cada matriz binária da primeira pluralidade de matrizes binárias corresponder a uma linha de pixels no código bidimensional.10. NON TRANSIENT COMPUTER-READABLE MEDIUM, according to claim 8, characterized in that each binary matrix of the first plurality of binary matrices corresponds to a line of pixels in the two-dimensional code. 11. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 8, caracterizado por um número de pixels identificados a partir da imagem alvo ser o mesmo que um número de pixels identificados a partir do código bidimensional.11. COMPUTER-READABLE NON TRANSIENT MEDIUM according to claim 8, characterized in that a number of pixels identified from the target image is the same as a number of pixels identified from the two-dimensional code. 12. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 8, caracterizado por um número de pixels identificados a partir da imagem alvo ser diferente de um número de pixels identificados a partir do código bidimensional e o número de pixels identificados a partir da imagem alvo ser convertido para ser o mesmo que o número de pixels identificados a partir do código bidimensional.12. COMPUTER-READABLE NON- TRANSIENT MEDIUM according to claim 8, characterized in that a number of pixels identified from the target image is different from a number of pixels identified from the two-dimensional code and the number of pixels identified from the Target image be converted to be the same as the number of pixels identified from the two-dimensional code. 13. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 8, caracterizado por compreender ainda as etapas de: sobrepor a imagem de autenticação com o código bidimensional para formar uma imagem sobreposta; determinar que o código bidimensional não seja modificado se a imagem sobreposta incluir o padrão predeterminado; e determinar o código bidimensional seja modificado se a imagem sobreposta não incluir o padrão predeterminado.13. COMPUTER-READABLE NON TRANSIENT MEDIUM according to claim 8, further comprising the steps of: superimposing the authentication image with the two-dimensional code to form an overlaid image; determining that the two-dimensional code is not modified if the overlay image includes the predetermined pattern; and determining the two-dimensional code to be modified if the overlaid image does not include the predetermined pattern. 14. MEIO NÃO TRANSITÓRIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 13, caracterizado pela imagem de autenticação ser impressa em um papel transparente e sobreposta no código bidimensional impresso em um papel para formar a imagem sobreposta.14. COMPUTER-READABLE NON TRANSIENT MEDIUM according to claim 13, characterized in that the authentication image is printed on a transparent paper and superimposed on the two-dimensional code printed on a paper to form the superimposed image. 15. SISTEMA IMPLEMENTADO POR COMPUTADOR, caracterizado por compreender: um ou mais computadores; e um ou mais dispositivos de memória de computador interoperacionalmente acoplados com os um ou mais computadores e tendo um meio tangível, não transitório, legível por máquina, compreendendo uma ou mais instruções que, quando executadas por um ou mais computadores, realizam uma ou mais operações compreendendo as etapas de: analisar (710) um código bidimensional para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos; converter (720) a pluralidade de pixels pretos e a pluralidade de pixels brancos do código bidimensional em uma primeira pluralidade de matrizes binárias, em que a pluralidade de pixels pretos e a pluralidade de pixels brancos correspondem a diferentes dígitos binários; analisar (730) uma imagem alvo para identificar uma pluralidade de pixels pretos e uma pluralidade de pixels brancos, em que a imagem alvo inclui um padrão predeterminado; converter (740) a pluralidade de pixels pretos e a pluralidade de pixels brancos da imagem alvo em uma segunda pluralidade de matrizes binárias com base em uma regra predeterminada; comparar pelo menos uma porção da primeira pluralidade de matrizes binárias e uma porção da segunda pluralidade de matrizes binárias, compreendendo: gerar (750) pixels pretos em uma imagem de autenticação para locais que são pretos na imagem alvo, mas brancos no código bidimensional, gerar pixels brancos na imagem de autenticação para locais que são brancos na imagem alvo, mas pretos no código bidimensional, e gerar (760) pixels transparentes na imagem de autenticação para locais com cores correspondentes na imagem alvo e no código bidimensional; e gerar (770) a imagem de autenticação com base na comparação da porção da primeira pluralidade de matrizes binárias e a porção da segunda pluralidade de matrizes binárias.15. COMPUTER IMPLEMENTED SYSTEM, characterized by comprising: one or more computers; and one or more computer memory devices interoperably coupled with the one or more computers and having a tangible, non-transient, machine-readable medium comprising one or more instructions which, when executed by one or more computers, perform one or more operations comprising the steps of: analyzing (710) a two-dimensional code to identify a plurality of black pixels and a plurality of white pixels; converting (720) the plurality of black pixels and the plurality of white pixels of the two-dimensional code into a first plurality of binary arrays, wherein the plurality of black pixels and the plurality of white pixels correspond to different binary digits; analyzing (730) a target image to identify a plurality of black pixels and a plurality of white pixels, the target image including a predetermined pattern; converting (740) the plurality of black pixels and the plurality of white pixels of the target image into a second plurality of binary arrays based on a predetermined rule; comparing at least a portion of the first plurality of binary arrays and a portion of the second plurality of binary arrays, comprising: generating (750) black pixels in an authentication image to locations that are black in the target image but white in the two-dimensional code, generating white pixels in the authentication image for locations that are white in the target image but black in the two-dimensional code, and generating (760) transparent pixels in the authentication image for locations with corresponding colors in the target image and the two-dimensional code; and generating (770) the authentication image based on comparing the portion of the first plurality of binary matrices and the portion of the second plurality of binary matrices. 16. SISTEMA, de acordo com a reivindicação 15, caracterizado pela regra predeterminada incluir converter cada pixel preto para dígito binário 1 e converter cada pixel branco para dígito binário 0.16. SYSTEM according to claim 15, characterized in that the predetermined rule includes converting each black pixel to binary digit 1 and converting each white pixel to binary digit 0. 17. SISTEMA, de acordo com a reivindicação 15, caracterizado por cada matriz binária da primeira pluralidade de matrizes binárias corresponder a uma linha de pixels no código bidimensional.17. SYSTEM according to claim 15, characterized in that each binary matrix of the first plurality of binary matrices corresponds to a row of pixels in the two-dimensional code. 18. SISTEMA, de acordo com a reivindicação 15, caracterizado por um número de pixels identificados a partir da imagem alvo ser o mesmo que um número de pixels identificados a partir do código bidimensional.System, according to claim 15, characterized in that a number of pixels identified from the target image is the same as a number of pixels identified from the two-dimensional code. 19. SISTEMA, de acordo com a reivindicação 15, caracterizado por um número de pixels identificados a partir da imagem alvo ser diferente de um número de pixels identificados a partir do código bidimensional e o número de pixels identificados a partir da imagem alvo ser convertido para ser o mesmo que o número de pixels identificados a partir do código bidimensional.19. System according to claim 15, characterized in that a number of pixels identified from the target image is different from a number of pixels identified from the two-dimensional code and the number of pixels identified from the target image is converted to be the same as the number of pixels identified from the two-dimensional code. 20. SISTEMA, de acordo com a reivindicação 15, caracterizado por compreender ainda as etapas de: sobrepor a imagem de autenticação com o código bidimensional para formar uma imagem sobreposta; determinar que o código bidimensional não seja modificado se a imagem sobreposta incluir o padrão predeterminado; e determinar o código bidimensional seja modificado se a imagem sobreposta não incluir o padrão predeterminado.20. The system of claim 15, further comprising the steps of: overlaying the authentication image with the two-dimensional code to form an overlaid image; determining that the two-dimensional code is not modified if the overlay image includes the predetermined pattern; and determining the two-dimensional code to be modified if the overlaid image does not include the predetermined pattern.
BR112019013877-3A 2017-02-13 2018-02-13 COMPUTER IMPLEMENTED METHOD FOR IMAGE GENERATION, COMPUTER-READABLE NON TRANSITIONAL MEDIUM AND COMPUTER IMPLEMENTED SYSTEM BR112019013877B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710076533.1 2017-02-13
CN201710076533.1A CN107025480B (en) 2017-02-13 2017-02-13 Image generation method and apparatus thereof
PCT/US2018/018021 WO2018148735A1 (en) 2017-02-13 2018-02-13 Image generation method and device

Publications (2)

Publication Number Publication Date
BR112019013877A2 BR112019013877A2 (en) 2020-03-03
BR112019013877B1 true BR112019013877B1 (en) 2021-09-08

Family

ID=59525921

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019013877-3A BR112019013877B1 (en) 2017-02-13 2018-02-13 COMPUTER IMPLEMENTED METHOD FOR IMAGE GENERATION, COMPUTER-READABLE NON TRANSITIONAL MEDIUM AND COMPUTER IMPLEMENTED SYSTEM

Country Status (16)

Country Link
US (2) US10635959B2 (en)
EP (1) EP3568799B1 (en)
JP (1) JP6746007B2 (en)
KR (1) KR102120023B1 (en)
CN (1) CN107025480B (en)
AU (1) AU2018219964B2 (en)
BR (1) BR112019013877B1 (en)
CA (1) CA3050746C (en)
MX (1) MX2019008446A (en)
MY (1) MY197315A (en)
PH (1) PH12019501850A1 (en)
RU (1) RU2713859C1 (en)
SG (1) SG11201907170TA (en)
TW (1) TWI715814B (en)
WO (1) WO2018148735A1 (en)
ZA (1) ZA201905311B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025480B (en) 2017-02-13 2020-02-04 阿里巴巴集团控股有限公司 Image generation method and apparatus thereof
CN109583894A (en) * 2018-11-28 2019-04-05 阿里巴巴集团控股有限公司 Offer, verification method and the device of two dimensional code
US11303450B2 (en) * 2018-12-19 2022-04-12 Visa International Service Association Techniques for securely performing offline authentication
CN109558927A (en) * 2018-12-26 2019-04-02 上海钦轩网络科技有限公司 A kind of art two-dimensional code generation method and device
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
WO2022072279A1 (en) 2020-09-30 2022-04-07 United States Postal Service System and method for extracting a region of interest from a captured image of a mailpiece or parcel label
EP4256460A1 (en) * 2020-12-04 2023-10-11 United States Postal Service System and method for extracting a computer readable code from a captured image of a distribution item
JP2022097928A (en) * 2020-12-21 2022-07-01 株式会社リコー Imaging apparatus, imaging method, and program

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222517A (en) 1998-11-27 2000-08-11 Denso Corp Method and device for reading two-dimensional code, and recording medium
US20090293112A1 (en) 2004-12-03 2009-11-26 Stephen James Moore On-line generation and authentication of items
JP4374331B2 (en) * 2005-03-25 2009-12-02 環境化学株式会社 Image generating apparatus, program, and recording medium
EP1847945B1 (en) * 2006-04-19 2017-04-12 A · T Communications Co., Ltd. Two-dimensional code with a logo
CN104318203B (en) 2006-06-01 2018-04-20 先进追踪和寻踪公司 Method and apparatus for protecting file
JP4629788B1 (en) 2009-11-20 2011-02-09 進 辻 Article with display code, display code generation device, and information transmission method
JP5445060B2 (en) 2009-11-20 2014-03-19 大日本印刷株式会社 Secret sharing method of character information and printed material used therefor
EP2737438A4 (en) * 2011-07-25 2015-08-05 Koji Sakahashi Device and its use for creation, output and management of 2d barcodes with embedded images
EP2740071A4 (en) 2011-08-02 2015-04-08 Crane Merchandising Sys Inc Quick response (qr) code generation in vending machines or kiosks for customer engagement
US9152903B2 (en) * 2011-11-04 2015-10-06 Ebay Inc. Automated generation of QR codes with embedded images
US8948445B2 (en) 2012-05-03 2015-02-03 The Hong Kong University Of Science And Technology Embedding visual information in a two-dimensional bar code
US8807434B1 (en) * 2012-08-08 2014-08-19 Google Inc. Techniques for generating customized two-dimensional barcodes
CN103198344B (en) * 2013-03-01 2015-09-09 重庆市远大印务有限公司 Tax control secure two-dimensional code coding, decoding processing method
CN103415007B (en) * 2013-07-09 2016-06-01 南京邮电大学 A kind of mobile phone two-dimension code safe handling method based on Information hiding
CN103763178B (en) * 2014-01-03 2016-10-05 腾讯科技(深圳)有限公司 A kind of information-pushing method, server, user terminal and system
WO2015171450A1 (en) * 2014-05-09 2015-11-12 Graphiclead LLC System and method for embedding of a two dimensional code with an image
JP6409242B2 (en) * 2014-07-25 2018-10-24 リンテック株式会社 Anti-tamper labels and methods for determining whether tamper-proof labels are reused
JP6512706B2 (en) 2014-08-01 2019-05-15 国立大学法人 鹿児島大学 Watermarked two-dimensional code, authentication system, authentication method, and program
US9390358B1 (en) * 2015-04-15 2016-07-12 Facebook, Inc. Systems and methods for personalizing QR codes
CN105095939A (en) * 2015-09-07 2015-11-25 郑州普天信息技术有限公司 Two-dimensional code vision optimization method
CN106529633B (en) * 2015-09-10 2019-11-15 阿里巴巴集团控股有限公司 Generation method, coding/decoding method and the device of two dimensional code
TWI571803B (en) * 2015-12-28 2017-02-21 元智大學 Generation? method? of? color? qr? code
CN106097239A (en) * 2016-06-15 2016-11-09 常熟理工学院 A kind of Quick Response Code watermark encrypting parallelization quickly embeds and extracting method
CN106372560B (en) * 2016-08-30 2018-03-27 腾讯科技(深圳)有限公司 A kind of detection method and device, terminal of Quick Response Code detection figure
CN106228219A (en) * 2016-09-27 2016-12-14 厦门壹码通科技有限责任公司 System and method based on mobile phone self external device offline secure identification Quick Response Code
CN107025480B (en) 2017-02-13 2020-02-04 阿里巴巴集团控股有限公司 Image generation method and apparatus thereof

Also Published As

Publication number Publication date
US10635959B2 (en) 2020-04-28
US20200257951A1 (en) 2020-08-13
TWI715814B (en) 2021-01-11
BR112019013877A2 (en) 2020-03-03
KR20190107696A (en) 2019-09-20
WO2018148735A1 (en) 2018-08-16
EP3568799B1 (en) 2021-08-04
CA3050746A1 (en) 2018-08-16
MY197315A (en) 2023-06-13
RU2713859C1 (en) 2020-02-07
US20180232611A1 (en) 2018-08-16
JP2020509480A (en) 2020-03-26
CA3050746C (en) 2020-09-29
PH12019501850A1 (en) 2020-07-13
CN107025480B (en) 2020-02-04
ZA201905311B (en) 2021-05-26
US10796211B2 (en) 2020-10-06
AU2018219964B2 (en) 2020-08-27
SG11201907170TA (en) 2019-09-27
AU2018219964A1 (en) 2019-07-18
CN107025480A (en) 2017-08-08
TW201830290A (en) 2018-08-16
KR102120023B1 (en) 2020-06-08
JP6746007B2 (en) 2020-08-26
MX2019008446A (en) 2019-09-09
EP3568799A1 (en) 2019-11-20

Similar Documents

Publication Publication Date Title
BR112019013877B1 (en) COMPUTER IMPLEMENTED METHOD FOR IMAGE GENERATION, COMPUTER-READABLE NON TRANSITIONAL MEDIUM AND COMPUTER IMPLEMENTED SYSTEM
US10789356B2 (en) Method, apparatus, and system for service data processing and verification
KR102377347B1 (en) Blockchain-based data processing method and device
AU2020201662B2 (en) Face liveness detection method and apparatus, and electronic device
ES2809205T3 (en) Login information processing method and device
KR102192885B1 (en) Consensus node selection method and apparatus, and server
US11003879B2 (en) Two-dimensional code generation and processing
US11328459B2 (en) Method and apparatus for realizing color tween animation
US20190018830A1 (en) Mixed view display method and device
JP2020509674A (en) Two-dimensional code generation method and device, and two-dimensional code recognition method and device
US10686610B2 (en) Method and apparatus for publishing work in network
ITUB20156909A1 (en) SYSTEM FOR THE INTERACTIVE CONTROL AND VISUALIZATION OF MULTIMEDIA CONTENT
KR20230122376A (en) Electronic apparatus and control method thereof

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

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 13/02/2018, OBSERVADAS AS CONDICOES LEGAIS.