# US 9,437,046 B2 · Anchors for location-based navigation and augmented reality applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,437,046 B2
- Document ID: US9437046B2
- Status: Granted
- Kind: B2
- Application number: 14/404,641
- Filed: 2013-06-02
- Published: 2015-04-30
- Granted: 2016-09-06
- Earliest claimed: 2012-06-06
- Assignees: Sodyo Ltd.
- Applicants: Sodyo Ltd.
- Inventors: Alex Alon; Irina Alon; Yariv Haddad; Yoav Yadin
- Web page: https://patentgrep.com/patent/US9437046B2

## CPC

- B23K 9/092: {characterised by the shape of the pulses produced}
- H04W 4/02: Services making use of location information
- B23K 9/073: Stabilising the arc
- B23K 9/095: Monitoring or automatic control of welding parameters
- B23K 9/0953: {using computing means}
- B23K 9/0956: {using sensing means, e.g. optical}
- G01C 21/206: {specially adapted for indoor navigation}
- G06K 7/12: using a selected wavelength, e.g. to sense red marks and ignore blue marks
- G06K 7/1417: {2D bar codes}
- G06K 19/0614: {the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR (methods or arrangements for sensing record carriers using a selected wavelength, see G06K7/12)}
- G06T 7/90: Determination of colour characteristics
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- H04W 4/024: Guidance services
- B23K: SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method for encoding information includes specifying a digital value and providing a symbol (28, 70, 80, 90, 100) comprising a plurality of polygons (72, 82, 92, 94, 102) meeting at a common vertex (74, 84, 96, 98, 104) and having different, respective colors selected so as to encode the specified digital value.

## Claims

### Claim 1

A method for encoding information, comprising:
specifying a digital value; and
providing a symbol comprising a plurality of polygons meeting at a common vertex and having different, respective colors that do not include black and white and are selected so as to encode the specified digital value,
wherein the digital value is encoded by assigning to each color a three-bit code comprising respective binary values representing three primary color components of the colors of the polygons, and combining the digital codes to give the specified digital value, and
wherein the colors of the polygons are selected such that none of the binary values is constant over all of the polygons meeting at the common vertex.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the symbol comprises a tessellation having multiple vertices encoding multiple, respective digital values depending on the colors of the polygons that meet at each of the vertices, wherein the colors of the polygons meeting at each of the multiple vertices are selected such that none of the binary values is constant over all of the polygons meeting at any given vertex, and
wherein the symbol encodes an extended digital value generated by combining the multiple, respective digital values encoded by the multiple vertices.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the colors of the polygons are selected from a color group consisting of red, green, blue, cyan, magenta and yellow, and having three-bit codes (1,0,0), (0,1,0), (0,0,1), (0,1,1), (1,0,1) and (1,1,0), respectively.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the symbol is provided without any dedicated registration marks.

### Claim 5 (depends on 1)

The method according to claim 1, and comprising capturing an image of the symbol, and decoding the symbol by probing the colors in the image at probe locations disposed at multiple angles around the common vertex.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the probe locations are all disposed at the same distance from the common vertex.

### Claim 7

An information system, comprising:
multiple symbols, each symbol comprising a plurality of polygons meeting at a common vertex and having different, respective colors that do not include black and white and are selected so that the symbols encode respective digital values,
wherein the digital value is encoded by assigning to each color a three-bit code comprising respective binary values representing three primary color components of the colors of the polygons, and combining the digital codes to give the specified digital value, and
wherein the colors of the polygons are selected such that none of the binary values is constant over all of the polygons meeting at the common vertex; and
a server, configured to receive a message from a client device indicating a digital value decoded by the client device upon capturing and analyzing an image containing one of the symbols, and to provide to the client device, in response to the message, an item of information corresponding to the digital value.

### Claim 8 (depends on 7)

The system according to claim 7, wherein the multiple symbols are distributed at different, respective locations within an environment, and wherein the server is configured to ascertain a location of the client device responsively to the digital value and to provide the item responsively to the location.

### Claim 9 (depends on 8)

The system according to claim 8, wherein the item comprises a graphical element configured to be overlaid by the client device on a display of the image containing the one of the symbols.

### Claim 10

A computer software product, comprising a tangible, non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a computing device, cause the device to capture an image of a symbol comprising a plurality of polygons meeting at a common vertex and having different, respective colors selected so as to encode a specified digital value,
wherein the digital value is encoded by assigning to each color a three-bit code comprising respective binary values representing three primary color components of the colors of the polygons, and combining the digital codes to give the specified digital value, and
wherein the colors of the polygons do not include black and white and are selected such that none of the binary values is constant over all of the polygons meeting at the common vertex, and
wherein the instructions cause the computing device to process the image so as to decode the digital value.

### Claim 11 (depends on 10)

The product according to claim 10, wherein the instructions cause the computing device to decode the symbol by probing the colors in the image at probe locations disposed at multiple angles around the common vertex.

### Claim 12 (depends on 10)

The product according to claim 10, wherein the symbol comprises a tessellation having multiple vertices encoding multiple, respective digital values depending on the colors of the polygons that meet at each of the vertices, and wherein the instructions cause the computing device to decode an extended digital value encoded by the symbol by decoding and combining the multiple, respective digital values encoded by the multiple vertices.

### Claim 13 (depends on 10)

The product according to claim 10, wherein the instructions cause the computing device to decode the digital value by assigning the digital code to each color, and combining the digital codes to give the specified digital value.

### Claim 14

A computing device, comprising:
an image sensor, configured to capture an image containing a symbol comprising a plurality of polygons meeting at a common vertex and having different, respective colors selected so as to encode a specified digital value,
wherein the digital value is encoded by assigning to each color a three-bit code comprising respective binary values representing three primary color components of the colors of the polygons, and combining the digital codes to give the specified digital value, and
wherein the colors of the polygons do not include black and white and are selected such that none of the binary values is constant over all of the polygons meeting at the common vertex; and
a processor, which is configured to process the image so as to decode the digital value.

### Claim 15 (depends on 14)

The device according to claim 14, and comprising a display, which is coupled to display the image captured by the image sensor, wherein the processor is configured to superimpose a graphical element on the display responsively to the digital value.

### Claim 16 (depends on 15)

The device according to claim 15, and comprising a communication interface, wherein the processor is configured to send a message containing the digital value over a network to a server via the communication interface, and to receive the graphical element from the server in response to the message.

### Claim 17

A method for encoding information, comprising:
specifying a digital value; and
producing a symbol that encodes the specified digital value in a set of color elements having different, respective colors, to be identified in an image of the symbol as red, green, blue, cyan, magenta and yellow color elements, respectively,
wherein the symbol is produced by applying cyan, magenta and yellow pigments to a substrate so as to produce the color elements, such that the color elements exhibit the following red, green, and blue intensity characteristics when measured in an sRGB color space:
for the red color elements, the red intensity is greater than twice the blue and green intensities;
for the green color elements, the green intensity is greater than twice the red and blue intensities;
for the blue color elements, the blue intensity is greater than twice the red and green intensities;
for the cyan color element, the blue and green intensities are both greater than twice the red intensity;
for the magenta color element, the red and blue intensities are both greater than twice the green intensity; and
for the yellow color element, the red and green intensities are both greater than twice the blue intensity.

### Claim 18 (depends on 17)

The method according to claim 17, wherein the color elements comprise polygons, and wherein the symbol comprises a plurality of the polygons meeting at a common vertex.

### Claim 19

A method for encoding information, comprising:
specifying a digital value; and
producing a symbol that encodes the specified digital value in a set of color elements having different, respective colors, to be identified in an image of the symbol as red, green, blue, cyan, magenta and yellow color elements, respectively,
wherein the symbol is produced by applying cyan, magenta and yellow pigments to a substrate so as to produce the color elements, such that the color elements exhibit red, green, and blue intensity characteristics when measured in an sRGB color space that satisfy a relation:
⁢
(
1
-
H
C
0
-
L
C
0
L
C
1
-
L
C
0
-
H
C
1
-
L
C
1
H
C
1
-
H
C
0
)
>
0.8
for each color c=red, green, blue,
wherein H1c and L1c are the highest and lowest observed values, respectively, of the color c among the color elements that are expected to contain the color c, while H0c and L0c are the highest and lowest observed values of the color c among the color elements that are expected not to contain the color c.
