Fiducial marker and method of fabricating the same

The optically encoded fiducial marker addresses inefficiencies in existing fiducial markers by using photonic structures to encode data at high density, enabling efficient and compact data storage for microscale and nanoscale applications.

WO2026115248A1PCT designated stage Publication Date: 2026-06-04NANOMATION LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NANOMATION LTD
Filing Date
2025-11-25
Publication Date
2026-06-04

Smart Images

  • Figure GB2025052582_04062026_PF_FP_ABST
    Figure GB2025052582_04062026_PF_FP_ABST
Patent Text Reader

Abstract

A fiducial marker is provided. The fiducial marker is suitable for use in microscale or nanoscale applications. The fiducial marker comprises one or more data symbols comprising a photonic structure configured to generate a predetermined optical response optically encoding marker data.
Need to check novelty before this filing date? Find Prior Art

Description

FIDUCIAL MARKER AND METHOD OF FABRICATING THE SAMEField of the Invention

[0001] The present disclosure relates generally to a fiducial marker and methods relating to the fabrication thereof. Background

[0002] Fiducial markers may be used in microscale or nanoscale applications to provide points of reference identifying particular positions on a substrate. Such points of reference may be useful for locating features of interest during the fabrication of microscale or nanoscale devices on said substrate, or for locating and inspecting such devices once fabricated. Fiducial markers may also be used in such applications to encode machine-readable instructions indicating, for example, a position on a substrate at which a component is to be placed or formed as part of an automated manufacturing process.Summary

[0003] According to a first aspect of the disclosure, there is provided a fiducial marker. The fiducial marker may be for use in microscale or nanoscale applications. The fiducial marker comprises: one or more data symbols comprising a photonic structure configured to generate a predetermined optical response optically encoding marker data.

[0004] The marker data may be optically encoded by a spectral content (e.g. colour) of the predetermined optical response generated by each of the one or more data symbols. The fiducial marker may encode position data indicative of a position of the fiducial marker on a substrate on which it is disposed. The marker data may comprise the position data. Alternatively, the fiducial marker may not comprise the position data and other features of the fiducial marker may encode the position data.

[0005] The one or more data symbols may be configured to form an m-ary representation of the marker data, m may be a positive integer corresponding to a number base. A value of m may be greater than or equal to 3.

[0006] Each photonic structure may comprise a predetermined photonic pattern configured to generate its respective predetermined optical response.

[0007] The predetermined photonic pattern of each respective photonic structure may be configured to topographically encode the marker data.

[0008] Each predetermined photonic pattern may be configured to topographically encode second marker data, different from the marker data.

[0009] Each predetermined photonic pattern may comprise any one or more of: a plurality of metal elements disposed in a predetermined arrangement; a plurality of dielectric elements disposed in a predetermined arrangement; a plurality of semiconductor elements disposed in a predetermined arrangement; a plurality of polymer elements.

[0010] Each predetermined photonic pattern may comprise any one or more of: diffusive reflective structures configured to preferentially scatter selected wavelengths of light; one or more gratings configured to preferentially diffract selected wavelengths of light; one or more interference structures configured to cause destructive interference of selected wavelengths of light; plasmonic structures configured to have a selected plasmonic wavelength; fluorescent structures configured to have a selected emission wavelength; one or more photonic crystal lattices configured to filter selected wavelengths of light.

[0011] The one or more data symbols may comprise a plurality of data symbols. The combination of predetermined optical responses of the plurality of data symbols may exhibit a combined optical response of the fiducial marker encoding the marker data.

[0012] The plurality of data symbols may comprise: a first data symbol having a first predetermined photonic pattern configured to generate a first predetermined optical response; and a second data symbol having a second predetermined photonic pattern, different from the first predetermined photonic pattern, configured to generate a second predetermined optical response, different from the first predetermined optical response. The first predetermined optical response may have a first spectral content, and the second predetermined optical response may have a second spectral content, different from the first spectral content. The first spectral content may correspond to a first colour of light and the second spectral content may correspond to a second colour of light, different from the first colour of light. A combination of the spectral content of the first predetermined optical response and the spectral content of the second predetermined optical response may encode some or all of the marker data.

[0013] The first spectral content of the first predetermined optical response may encode a first portion of the marker data and the second spectral content of the second predetermined optical response may encode a second portion of themarker data, different from the first portion of the marker data. A data content of the first portion of the marker data may be different from a data content of the second portion of the marker data.

[0014] The first spectral content of the first predetermined optical response may encode a first m-ary digit of the marker data, and the second spectral content of the second predetermined optical response may encode a second m-ary digit of the marker data, different from the first m-ary digit. A value of the first m-ary digit may be different from a value of the second m-ary digit.

[0015] A spatial distribution of the predetermined photonic patterns of the photonic structures of the data symbols may topographically encode the marker data. Additionally or alternatively, a spatial distribution of the predetermined photonic patterns of the photonic structures of the data symbols may topographically encode second marker data different from the marker data.

[0016] The data symbols may be disposed at respective predetermined positions such that the marker data is optically encoded by the respective predetermined positions and the combined optical response.

[0017] The marker data may be topographically encoded by the respective predetermined positions and the respective predetermined photonic patterns of the photonic structures of the data symbols.

[0018] Second marker data, different from the marker data, may be topographically encoded by the respective predetermined positions and the respective predetermined photonic patterns of the data symbols.

[0019] The marker data may comprise one or more error correcting codes.

[0020] The marker data may comprise scrambled marker data. The scrambled marker data may comprise data generated in dependence on a pseudorandom binary sequence Additionally or alternatively, the scrambled marker data may be encrypted. For example, the scrambled marker data may comprise one or more ciphertexts.

[0021] The marker data may comprise position data. The position data may comprise coordinate data. The coordinate data may comprise one or both of: marker position coordinate data indicative of a position of the fiducial marker; offset position coordinate data indicative of an offset position relative to the fiducial marker.

[0022] The above fiducial marker may further comprise one or more alignment features for aligning to the fiducial marker.

[0023] The one or more data symbols of the above fiducial marker may be disposed at respective predetermined positions in relation to the one or more alignment features.

[0024] The one or more alignment features may comprise one or more of the one or more data symbols of the above fiducial marker.

[0025] According to a second aspect of the disclosure, there is provided an integrated circuit structure comprising: a substrate; and one or more of the above fiducial markers.

[0026] The one or more fiducial markers may comprise a plurality of fiducial markers disposed in an array.

[0027] According to a third aspect of the disclosure, there is provided a method of generating a layout for fabricating one or more optically encoded data symbols of a machine-readable fiducial marker. The method comprises: obtaining marker data; determining, in accordance with a predetermined optical coding scheme, a configuration of one or more optically encoded data symbols for encoding the marker data; and generating a layout comprising one or more photonic structures defining the one or more optically encoded data symbols according to the determined configuration.

[0028] Each of the one or more photonic structures may be configured to provide a predetermined optical response for encoding the marker data.

[0029] Each of the one or more photonic structures may comprise a predetermined photonic pattern configured to topographically encode the marker data.

[0030] The marker data may comprise position data. The position data may comprise coordinate data. The coordinate data may comprise one or both of: marker position coordinate data indicative of a position of the fiducial marker; offset position coordinate data indicative of an offset position relative to the fiducial marker.

[0031] Obtaining the marker data may comprise: obtaining first coordinate data; obtaining second coordinate data; and combining the first coordinate data and the second coordinate data to obtain the marker data.

[0032] The combining the first coordinate data and the second coordinate data to obtain the marker data may comprise interleaving the first coordinate data and the second coordinate data.

[0033] The first coordinate data may comprise x-coordinate data, and the second coordinate data may comprise y- coordinate data. Additionally or alternatively, the first coordinate data may comprise radial polar coordinate data, and the second coordinate data may comprise angular polar coordinate data.

[0034] The determining the configuration of the one or more optically encoded data symbols for encoding the marker data may comprise: generating scrambled marker data depending on the marker data in dependence on a predetermined scrambling function; and determining, in accordance with the predetermined optical coding scheme, the configuration of the one or more optically encoded data symbols depending on the generated scrambled marker data.

[0035] The scrambled marker data may be generated in dependence on a pseudorandom binary sequence. Additionally or alternatively, the scrambled marker data may be encrypted. For example, the scrambled marker data may comprise one or more ciphertexts.

[0036] The determining the configuration of the one or more optically encoded data symbols for encoding the marker data may comprise: generating an error correcting code depending on the marker data (or depending on the scrambled marker data) in dependence on a predetermined error correcting coding scheme; and determining, in accordance with the predetermined optical coding scheme, the configuration of the one or more optically encoded data symbols depending on the generated error correcting code.

[0037] The predetermined photonic pattem(s) may be configured to topographically encode second marker data, different from the marker data.

[0038] The method of the third aspect may further comprise fabricating one or more lithography masks depending on the generated layout.

[0039] The method of third aspect may further comprise fabricating a fiducial marker comprising one or more optically encoded data symbols depending on the generated layout.

[0040] According to a fourth aspect of the disclosure, there is provided a computer program product comprising machine-readable instructions which, when executed, cause performance of the method of third aspect.

[0041] According to a fifth aspect of the disclosure, there is provided a (e.g. non-transitory) computer-readable medium comprising executable instructions which, when executed, cause performance of the method according to the third aspect.

[0042] According to a sixth aspect of the disclosure, there is provided a method of decoding data from a fiducial marker of the third aspect of the disclosure. The method comprises: obtaining configuration data indicative of a configuration of the one or more data symbols of the fiducial marker; and decoding the marker data depending on the obtained configuration data in accordance with a predetermined coding scheme.

[0043] The configuration data may be indicative of the predetermined optical response(s) of the one or more data symbols.

[0044] The configuration data may be indicative of the predetermined photonic pattem(s) of the one or more data symbols.

[0045] According to a seventh aspect of the disclosure, there is provided a method of fabricating a fiducial marker for use in microscale or nanoscale applications. The method comprises: providing a substrate; and forming one or more data symbols on the substrate, the one or more data symbols comprising a photonic structure configured to generate a predetermined optical response optically encoding marker data.

[0046] According to an eighth aspect of the disclosure, there is provided a fiducial marker comprising: an alignment pattern; and a plurality of data symbols encoding position data, wherein said position data comprises scrambled coordinate data indicative of one or more coordinate values.

[0047] The scrambled coordinate data may be generated in dependence on a pseudorandom binary sequence.

[0048] The scrambled coordinate data may be encrypted. For example, the scrambled coordinate data may be indicative of (e.g. may comprise) one or more ciphertexts corresponding to the one or more coordinate values.

[0049] The position data may comprise one or more error correcting codes associated with (e.g. indicative of) the scrambled coordinate data.

[0050] The one or more coordinate values may comprise coordinate values indicative of a position of the fiducial marker.

[0051] The one or more coordinate values may comprise coordinate values indicative of an offset position relative to the fiducial marker.

[0052] The alignment pattern may comprise a plurality of non-contiguous reference features for aligning to the fiducial marker, wherein the alignment pattern is configured to have at least two-fold rotational symmetry.

[0053] According to a ninth aspect of the disclosure, there is provided a method of generating a layout for fabricating a fiducial marker. The method comprises: obtaining one or more coordinate values; generating scrambled coordinate data depending on the one or more coordinate values; determining a spatial configuration of a plurality of data symbols to encode the scrambled coordinate data; and generating a layout comprising the determined spatial configuration of the plurality of data symbols.

[0054] The generating the scrambled coordinate data may comprise generating one or more cipher texts depending on the one or more coordinate values. Additionally or alternatively, the generating the scrambled coordinate data may comprise generating a pseudorandom binary sequence depending on the one or more coordinate values and a predetermined binary sequence or a pseudorandomly generated binary sequence.

[0055] The method of the ninth aspect may further comprise: generating one or more error correcting codes depending on the scrambled coordinate data; and determining the spatial configuration of the plurality of data symbols to encode the one or more error correcting codes.

[0056] Each of the one or more error correcting codes may be one of: a Hamming code; a Reed-Solomon code; a Golay code; a low -density parity check code.

[0057] The one or more coordinate values may comprise coordinate values indicative of a position of the fiducial marker.

[0058] The one or more coordinate values may comprise coordinate values indicative of an offset position relative to the fiducial marker.

[0059] The method of the ninth aspect may further comprise fabricating one or more lithography masks depending on the generated layout.

[0060] The method of the ninth aspect may further comprising fabricating a fiducial marker comprising a plurality of data symbols depending on the generated layout.

[0061] According to a tenth aspect of the disclosure, there is provided a method of fabricating a fiducial marker. The method comprises: providing a substrate; forming, on the substrate, an alignment pattern; and forming, on the substrate, a plurality of data symbols encoding position data, said position data comprising scrambled coordinate data indicative of one or more coordinate values.

[0062] The scrambled coordinate data may be encrypted. For example, the scrambled coordinate data may comprise one or more ciphertexts. Additionally or alternatively, the scrambled coordinate data may be generated in dependence on a pseudorandom binary sequence.

[0063] According to an eleventh aspect of the disclosure, there is provided a method of decoding data from a fiducial marker. The method comprises: obtaining an image of the fiducial marker disposed on a substrate; determining a configuration of one or more data symbols of the fiducial marker depending on the obtained image; obtaining scrambled coordinate data depending on the obtained configuration of the one or more data symbols; and applying an inverse of a predetermined scrambling function to the scrambled coordinate data to obtain de-scrambled coordinate data.

[0064] According to a twelfth aspect of the disclosure, there is provided a fiducial marker comprising: an alignment pattern; and one or more data symbols encoding position data comprising one or more error correcting codes indicative of coordinate data indicative of (e.g. comprising) one or more coordinate values.

[0065] The one or more coordinate values may comprise coordinate values indicative of a position of the fiducial marker. Additionally or alternatively, the one or more coordinate values may comprise coordinate values indicative of an offset position relative to the fiducial marker.

[0066] The alignment pattern of the fiducial marker of the twelfth aspect may comprise a plurality of non-contiguous reference features for aligning to the fiducial marker, wherein the alignment pattern is configured to have at least two-fold rotational symmetry.

[0067] According to a thirteenth aspect of the disclosure, there is provided a method of generating a layout for fabricating a fiducial marker. The method comprises: obtaining one or more coordinate values; generating position data comprising one or more error correcting codes depending on the one or more coordinate values; determining a spatial configuration of a plurality of data symbols to encode the position data; and generating a layout comprising the determined spatial configuration of the plurality of data symbols.

[0068] According to a fourteenth aspect of the disclosure, there is provided a method of fabricating a fiducial marker. The method comprises: providing a substrate; forming, on the substrate, an alignment pattern; and forming, on the substrate, one or more data symbols encoding position data, said position data comprising one or more error correcting codes indicative of one or more coordinate values.

[0069] According to a fifteenth aspect of the disclosure, there is provided a method of decoding data from a fiducial marker. The method comprises: obtaining an image of the fiducial marker disposed on a substrate; determining a configuration of one or more data symbols of the fiducial marker depending on the obtained image; obtaining position data comprising one or more error correcting codes depending on the obtained configuration of the one or more data symbols, the one or more error correcting codes indicative of coordinate data; determining if the coordinate data is valid depending on the one or more error correcting codes; and generating corrected coordinate data if the coordinate data is determined to be invalid.

[0070] According to a sixteenth aspect of the disclosure, there is provided a fiducial marker for use in microscale and nanoscale applications. The fiducial marker comprises: a data region encoding position data; and an alignment pattern comprising a plurality of non-contiguous reference features for aligning to the fiducial marker, wherein the alignment pattern is configured to have at least two-fold rotational symmetry.

[0071] At least a shape of the alignment pattern may be invariant to the position data encoded by the data region.

[0072] The position data may have a single valid read orientation. For example, the position data may comprise one or more data integrity codes such that the position data is validly readable in a single orientation. The one or more data integrity codes may comprise: one or more error detecting codes; or one or more error correcting codes.

[0073] According to a seventeenth aspect of the disclosure, there is provided an apparatus comprising: a substrate; and one or more of the fiducial markers described above. The apparatus may be an integrated circuit structure. The one or more fiducial markers may comprise a plurality of fiducial markers disposed in an array.

[0074] Each of the plurality of fiducial markers may be a fiducial marker according to the first aspect of the disclosure. For each fiducial marker, the marker data may encode a position of the respective fiducial marker within the array.

[0075] According to an eighteenth aspect of the disclosure, there is provided a computer program product comprising machine-readable instructions which, when executed, cause performance of any one of the methods described above.

[0076] According to a nineteenth aspect of the disclosure, there is provided a (e.g. non-transitory) computer-readable medium comprising executable instructions which, when executed, cause performance of any one of the methods described above.

[0077] Throughout this specification the word "comprise", or variations such as "comprises" or "comprising", will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.Brief Description of Drawings

[0078] Embodiments of the invention will now be described, strictly by way of example only, with reference to the accompanying drawings, of which:

[0079] Figure 1 is a schematic diagram of an example fiducial marker;

[0080] Figures 2a to 2b schematically illustrate an optical image and a scanning electron microscope image of an example fiducial marker;

[0081] Figures 3a to 3c are schematic diagrams of various arrays of example fiducial markers;

[0082] Figure 4 is an example flowchart illustrating a method of generating a layout for fabricating one or more optically encoded data symbols of a fiducial marker;

[0083] Figure 5 is an example flowchart illustrating a method of fabricating a fiducial marker;

[0084] Figure 6 is an example flowchart illustrating a method of decoding data from a fiducial marker;

[0085] Figures 7a and 7b are schematic diagrams of another example fiducial marker;

[0086] Figures 8a and 8b are schematic diagrams of various examples of position data encoded by a fiducial marker;

[0087] Figure 9 is an example flow chart illustrating a method of generating a layout for fabricating binary data symbols of a fiducial marker;

[0088] Figure 10 is an example flow chart illustrating another method of decoding data from a fiducial marker;

[0089] Figure 11 is an example flow chart illustrating another method of fabricating a fiducial marker; and

[0090] Figure 12 is an example flowchart illustrating another method of fabricating a fiducial marker.Detailed Description

[0091] The following describes various example fiducial markers, each of which may be suitable for use in microscale and / or nanoscale applications. However, it is to be understood that this is a non-limiting use case and each of the fiducial markers disclosed herein may be suitable for use in other applications. The term “microscale applications” may refer to applications relating to technologies having a critical dimension or a minimum feature size in the microscale range e.g. in the range between about 1 pm to about 1000 pm. Examples of microscale applications may include, but are not limited to, applications relating to the fabrication or inspection of microscale devices or circuit elements relating thereto, such as microelectronic devices, micro-optoelectronic devices, micro-electromechanical systems (MEMs), microfluidic devices, or associated circuit elements thereof. The term “nanoscale applications” may refer to applications relating to technologies having a critical dimension or a minimum feature size in the nanoscale range e.g. in the range between about 1 nm to about 1000 nm. Examples of nanoscale applications may include, but are not limited to, applications relating to the fabrication or inspection of nanoscale devices or circuit elements relating thereto, such as nanoelectronic devices, nano -optoelectronic devices, nano-electromechanical systems (NEMs), or associated circuit elements thereof.

[0092] As noted above, it is known to use fiducial markers in microscale or nanoscale applications as points of reference identifying particular positions on a substrate. Such points of reference may be useful for locating features of interest during the fabrication of microscale or nanoscale devices, or for locating and inspecting such devices once fabricated. Fiducial markers may also be used in such applications to encode machine-readable instructions indicating, for example, a position on a substrate at which a component is to be placed or formed as part of an automated manufacturing process, or other types of data.

[0093] Existing fiducial markers typically encode information in a way that is not optimally efficient, thereby limiting the size of data that can be encoded, or requiring such fiducial markers to occupy large areas of valuable substrate real estate.

[0094] Certain embodiments of the present disclosure aim to address or at least ameliorate one or more of the above disadvantages of known fiducial markers with the provision of a novel optically encoded fiducial marker operable to encode marker data at a relatively high data density compared to known fiducial markers. As such, the fiducial markers disclosed herein may provide for large amounts of data to be efficiently encoded.

[0095] Fig. 1 is a schematic diagram of an example fiducial marker 100 which may be disposed on a substrate 102. The substrate 102 may comprise one or more semiconductors (e.g. a semiconductor wafer), dielectric materials, metals, or a combination thereof. The substrate 102 may comprise or be incorporated into an integrated circuit. The substrate 102 may comprise a microscopy coverslip.

[0096] The fiducial marker 100 comprises one or more data symbols 110. Each data symbol 110 comprises a photonic structure 112 configured to generate (e.g. by way of reflection or emission) a respective predetermined optical response. Each photonic structure 112 may be formed from any suitable structure configured to generate the respective predetermined optical response. Where multiple data symbols 110 are provided, as shown in Figure 1, each data symbol 110 may comprise the same or a different photonic structure 112 to the other data symbols 110.

[0097] Each photonic structure 112 is configured to exhibit an optical response which optically encodes marker data in accordance with a predetermined optical coding scheme. Accordingly, each of the one or more data symbols 110 is optically encoded and thus may be referred to as an optically encoded data symbol.

[0098] The fiducial marker 100 may additionally comprises an alignment pattern 120. In the example in Figure 1, the alignment pattern 120 comprises a rectangular box enclosing the one or more data symbols 110. Embodiments of the present disclosure are not, however, limited to such an alignment pattern and alternative alignment patterns are discussed in more detail below. For example, the alignment pattern 120 of the fiducial marker 100 may comprise the alignment pattern 710 discussed below in relation to Figs. 7a-b and 8a-b.

[0099] The fiducial marker 100 (and all fiducial markers disclosed herein) may be machine-readable, such as by a computer vision system. Accordingly, the fiducial marker 100 may be suitable for use in fully or partially automated manufacturing processes.

[0100] The fiducial marker 100 may be configured to encode position data indicative of a position of the fiducial marker 100 on the substrate 102. The position data may comprise coordinate data, in accordance with any example discussed further below. As will be discussed further below, the marker data optically encoded by the data symbol(s) 110 may comprise said position data. Alternatively, the fiducial marker 100 may be configured to optically encode said positiondata by way of any other suitable features, such as one or more further (e.g. optically encoded or non-optically encoded) data symbols. In such examples, the one or more further data symbols may encode the position data in any suitable way. For example, the one or more further data symbols may be configured to form a binary representation of the position data. Alternatively, the one or more further data symbols may be configured to encode said position data in any other conceivable way.

[0101] Marker data optically encoded by data symbol(s) 110 of the fiducial marker 100 may comprise any conceivable data. For example, the marker data may comprise position data, such as coordinate data. Coordinate data may comprise marker position coordinate data indicative of a position of the fiducial marker 100 on the substrate 102. Such marker position coordinate data may be utilised, for example, as a point of reference by a computer vision system for locating features of interest on the substrate 102 (e.g. semiconductor features grown by a bottom -up approach, or any other features of interest). Additionally or alternatively, the coordinate data may comprise offset position coordinate data indicative of an offset position relative to the fiducial marker 100 (e.g. relative to a predetermined reference feature of the fiducial marker 100, such as a centroid of the fiducial marker 100 or any other suitable predetermined reference feature thereof). The coordinate data may be utilised, for example, by a computer vision system to identify a position or location of interest relative to the fiducial marker 100. Such a position of interest may be a position at which a component is to be placed or formed during a manufacturing process. Such a position of interest may be a position at which a component or feature of interest is already present on the substrate 102. This may be the case where the component or feature of interest is present on the substrate 102 before the fiducial marker is deposited or otherwise placed on the substrate.

[0102] The coordinate data may be represented by way of cartesian coordinates (i.e. by an x coordinate and a y coordinate (and optionally a z coordinate)), polar coordinates (i.e. by a radial distance and an angle), a combination of both, and / or using any other conceivable coordinate or positioning system.

[0103] The marker data may comprise instructions, for example instructions to be followed by an automated process (e.g. by a computer). Additionally, or alternatively, the marker data may comprise one or more unique identifiers. For example, for each die or device in a manufacturing run, an optically encoded marker or set of markers may be provided to track manufacturing processes. Unique identifiers may be used for anti-counterfeiting purposes, for example to label high value objects. The marker data may comprise, for example, a security encryption key, such as a private key of a privatepublic key pair. As such, the marker 100 may be configured to hold digital currency keys at nanoscale for safe keeping. Additionally, or alternatively, marker data may comprise information concerning regions of interest, for example in microscopy, biomedical imaging, and the like. Additionally, or alternatively, marker data may be used in (e.g. microscopic) augmented reality to enable a computer vision system to overlay a particular image at a certain point on the substrate when the marker 100 is in view.

[0104] The marker data (or at least one or more portions thereof, such as one or more portions comprising instructions) may be compressed, for example using one or more lossless compression techniques.

[0105] As noted above, marker data may be optically encoded by each of the one or more data symbols 110 in various ways. For example, where the fiducial marker 100 comprises a single data symbol 110, the optical response generated by the photonic structure of that single data symbol 110 may optically encode all of the marker data associated with the fiducial marker. Conversely, where the fiducial marker 100 comprises a plurality of data symbols 110, the marker data of the fiducial marker 100 may be encoded by the optical responses of the plurality of data symbols 110. In such cases, the marker data may be encoded by a combined optical response of the plurality of data symbols 110 of the fiducial marker 100.

[0106] The marker data of the fiducial marker 100 may be encoded by the spectral content of an optical response of the marker 100, which may include a spatial distribution of such spectral content. For example, where the fiducial marker 100 comprises a single data symbol 110, the marker data of the fiducial marker 100 may be encoded by the spectral content (e.g. colour) of the predetermined optical response generated by the single data symbol 110. As another example, where the fiducial marker 100 comprises a plurality of data symbols 110, the marker data 100 may be encoded by the spectral content (e.g. colour) of the predetermined optical responses generated by the plurality of data symbols 110. For example, the spectral content of the predetermined optical response generated by each of the plurality of data symbols 110 may encode a respective portion of the marker data.

[0107] The optical response of each data symbol 110 may be responsive to its photonic structure being illuminated (e.g. by suitable wavelength(s) of light). The optical response may comprise spectral content at wavelengths in one or more of:the visible spectrum; the ultraviolet spectrum; and the infrared spectrum. For example, it may be that the fiducial marker 100 is intended to be optically read using a camera sensitive to the visible spectrum. In such a case, each of the one or more data symbols 110 may be configured to generate a respective optical response in the visible wavelength range. As another example, the fiducial marker 100 may be intended to be optically read using a hyperspectral camera having a spectral range encompassing visible and non-visible wavelengths such as ultraviolet and / or infrared wavelengths. In such a case, each of the one or more data symbols 110 may be configured to generate respective optical responses comprising spectral content in the range detectable by such a hyperspectral camera.

[0108] The optical response of a given photonic structure may be dependent, at least partially, on the spectral content of incident light. As such, in addition to the photonic structure of a given data symbol 110, the spectral content of light used to illuminate that data symbol 110 may affect the spectral content of the data symbol 110’s optical response. Thus, in some embodiments, different sets of marker data may be encoded at different spectral ranges of incident light.

[0109] As noted above, the photonic structure 112 of the one or more data symbols 110 at least partially affects its predetermined (or characteristic) optical response. Such photonic structures 112 may be realised in a manner of different ways. For example, the photonic structure 112 may be a fabricated structure (e.g. fabricated by way of microfabrication or nanofabrication techniques) configured to generate a predetermined optical response. For example, the photonic structure 112 may comprise an integrated circuit structure (e.g. a structure formed as part of an integrated circuit). The term “integrated circuit” may encompass integrated circuits comprising one or both of integrated electronic devices and integrated optoelectronic devices.

[0110] As discussed herein, the geometry of the photonic structures 112 making up the fiducial marker 100 determines the optical response. As such, the success or quality of manufacturing steps used to create the fiducial marker 100 may be analysed by comparing the actual optical response of the marker 100 to an expected optical response. For example, before manufacturing, the desired nano- or microstructure geometry / topography of the marker 100 and the desired optical response are known. After manufacturing the actual nano- or microstructure geometry / topography and the actual optical response can be measured. Using this known and measured data, a determination can be made regarding deviations either in the measured optical response compared to the modelled optical response, or a deviation between the measured geometry / topography and the desired geometry / topography. This information may be used to determine whether the manufacturing process is producing the correct geometry / topography e.g. particle sizes, of changes in periodicity etc.

[0111] As noted above, marker data may be optically encoded using a predetermined optical coding scheme. As noted above, marker data may be represented in the fiducial marker 100 by spectral content of an optical response of the one or more data symbols 110 (or combination of data symbols 110), such as by the colour of the one or more data symbols 110. This spectral information may be mapped to the marker data using a predetermined optical coding scheme.

[0112] The predetermined optical coding scheme may define a mapping between respective ones of a plurality of distinct spectral codes and corresponding data (e.g. respective binary strings). Data optically encoded in accordance with the predetermined optical coding scheme may be encoded in one or more units of said spectral codes.

[0113] A given spectral code may be defined by one or more wavelengths (or wavelength ranges) or one or more groups of wavelengths (or wavelength ranges). For example, each distinct spectral code may be defined by a respective wavelength range corresponding to a distinct colour of light. As an example, a predetermined optical coding scheme may define a first distinct spectral code such that its spectral content consists of a first wavelength range corresponding to a first colour of light (e.g. red) and a second distinct spectral code such that its spectral content consists of a second wavelength range corresponding to a second colour of light, different from the first colour of light (e.g. blue). However, it is to be understood that this example is merely for illustrative purposes and that the present disclosure is not so limited. The particular wavelength(s) included in each spectral code may depend on the intended application of the fiducial marker 100.

[0114] The photonic structure(s) 112 of the one or more data symbols 110 of the fiducial marker 100 may be configured to generate respective predetermined optical responses optically encoding the marker data. Each of the predetermined optical responses may have a spectral content which corresponds to one or more distinct spectral code(s) defined in a predetermined optical coding scheme. With knowledge of the spectral content of the optical response and the optical coding scheme, marker data associated with the one or more data symbols 110 may be obtained.

[0115] As an example, a predetermined optical coding scheme may map:• a first spectral code defined by red wavelengths of light (e.g. wavelengths of light in the range between about 620 to about 750 nm) to the binary string “00”;• a second spectral code defined by blue wavelengths of light (e.g. wavelengths of light in the range between about 450 to about 495 nm) to the binary string “01”;• a third spectral code defined by green wavelengths of light (e.g. wavelengths of light in the range between about 495 to about 570 nm) to the binary string “10”; and• a fourth spectral code to yellow wavelengths light (e.g. wavelengths of light in the range between 570 to 585 nm) to the binary string “11”.

[0116] Accordingly, the fiducial marker 100 may optically encode marker data consisting of the binary string “10” by way of a single data symbol 110 having a photonic structure configured to generate a blue optical response (e.g. having a spectral content comprising a wavelength or wavelengths within the blue wavelength range, as defined above). As another example, the fiducial marker 100 may optically encode marker data consisting of the binary string “1000” by way of a first data symbol 110 having a first photonic structure configured to generate a blue optical response to thereby optically encode the most significant bits “10” of the marker data, and by way of a second data symbol 110 comprising a second photonic structure configured to generate a red optical response (e.g. having a spectral content comprising a wavelength or wavelengths within the red wavelength range, as defined above) optically encoding the least significant bits “00” of the marker data.

[0117] It is to be understood that the above examples are merely for illustrative purposes and the present disclosure is not so limited. The fiducial marker 100 may comprise any number of data symbols 110 whose respective photonic structures 112 may be configured to generate predetermined optical response(s) optically encoding the marker data in accordance with any suitable predetermined optical coding scheme (e.g. defining any suitable number of distinct spectral codes).

[0118] The amount of marker data represented by each data symbol 110 is dependent on the number, n, of distinct spectral codes defined in a particular optical coding scheme. For example, each spectral code may be operable to represent log2(n) bits of data. By increasing the number n of spectral codes in the optical coding scheme, the density of marker data optically encoded by the fiducial marker 100 may be increased. Conversely, by decreasing the number n of spectral codes, the density of marker data optically encoded by the fiducial marker 100 may be decreased. It will be appreciated that an increase in the number n of spectral codes may lead to increased complexity in decode (i.e. reading the fiducial marker 100). This may be due to the total spectrum of interest being larger, or due to the spectral codes being close to one another and therefore requiring higher spectral granularity when imaging and / or reading the fiducial markers 100. A trade off may therefore be made between marker data density and read complexity.

[0119] Referring again to Figure 1, each of the respective photonic structure(s) 112 of the one or more data symbols 110 may exhibit its corresponding predetermined optical response in any suitable way.

[0120] For example, it may be that each of the photonic structure(s) 112 comprises a respective predetermined photonic pattern configured to exhibit the predetermined optical response of that photonic structure 112. As used herein, a predetermined photonic pattern may refer to a predetermined pattern comprising any one or more of: a plurality of metal elements (e.g. disposed in a predetermined arrangement); a plurality of dielectric and / or polymer elements (e.g. disposed in a predetermined arrangement); and a plurality of semiconductor elements (e.g. disposed in a predetermined arrangement).

[0121] Each of said plurality of metal elements may comprise any suitable metal, including but not limited to: gold (Au); silver (Ag); aluminium (Al); copper (Cu); chromium (Cr).

[0122] Each of said plurality of dielectric or polymer elements may comprise any suitable dielectric or polymer, including but not limited to: silicon dioxide (SiO?); silicon nitride (Sisl k); aluminium oxide (ALOs); magnesium fluoride (MgF2); polymethyl methacrylate (PMMA); any suitable photoresist; any suitable fluorescent polymer.

[0123] Each of said plurality of semiconductor elements may comprise any suitable semiconductor, including but not limited to: any group IV semiconductor, such as silicon (Si) or germanium (Ge); any III-V compound semiconductor including but not limited to gallium arsenide (GaAs), aluminium gallium arsenide (AlGaAs), indium phosphide (InP), indium arsenide (InAs), gallium nitride (GaN); silicon carbide (SiC); tellurium (Te); Molybdenum disulfide (M0S2); tungsten disulfide (WS2); cadmium sulfide (CdS); lead sulfied (PbS); zinc oxide (ZnO); titanium dioxide (TiO?).

[0124] For ease of the explanation, the following description of the fiducial marker 100 assumes that each of the respective photonic structure(s) 112 of the one or more data symbols 110 of the fiducial marker 100 comprises a predetermined photonic pattern configured to exhibit the predetermined optical response of that photonic structure 112.However, it is to be understood that the present disclosure is not so limited. For example, it may be that one, some, or all of the photonic structure(s) 112 of the one or more data symbols 110 of the fiducial marker 100 comprise a single fluorescent polymer layer configured to generate the predetermined optical response of that photonic structure 112.

[0125] The configuration of each of the predetermined photonic pattem(s) of the photonic structure(s) 112 of the one or more data symbols 110 of the fiducial marker 100 (hereinafter, predetermined photonic pattem(s)) may be chosen to exhibit a particular optical response to thereby optically encode marker data.

[0126] One or more of the predetermined photonic patterns may comprise one or more diffusive reflective structures configured to preferentially scatter (e.g. by way of Mie scattering or by way of resonant scattering) selected wavelengths of light (e.g. relative to scattering of wavelengths of light included in the predetermined optical response to be generated by that photonic pattern). In this way, the one or more diffusive reflective structures may be configured to selectively reflect wavelengths of light included in the respective predetermined optical response and selectively scatter (e.g. at least some) wavelengths of light not in included in said optical response. The one or more diffusive reflective structures may comprise any one or more: (nano)spheres, (nano)wires, nanoparticles, each of which may be formed from any suitable dielectric(s), metal(s), and / or semiconductor(s). The diameter of each of said spheres, wires or nanoparticles may be selected to provide the selective scattering and / or reflection described above. For example, the diameter of such features may be substantially similar to or smaller than a wavelength of light to be selectively reflected by each diffusive reflective structure.

[0127] Additionally or alternatively, one or more of the predetermined photonic patterns may comprise one or more gratings configured to preferentially diffract selected wavelengths of light (e.g. relative to a diffraction of wavelengths of light included in the predetermined optical response to be generated by that photonic pattern). Such grating(s) may be configured to selectively reflect wavelengths of light included in the respective predetermined optical response and selectively diffract (e.g. at least some) wavelengths of light not in included in said optical response. Each of the one or more gratings may comprise a one-dimensional or two-dimensional grating comprising any suitable dielectric(s), metal(s), semiconductor(s), or combinations thereof. The periodicity, dimensions and / or material composition of said gratings may be selected to provide for the selective scattering and reflection described above. Such gratings may comprise any suitable type of gratings, including but not limited to Bragg gratings.

[0128] Additionally or alternatively, one or more of the predetermined photonic patterns may comprise one or more interference structures (e.g. such as a Bragg reflector, or any other suitable type of interference structure) configured to preferentially cause destructive interference of selected wavelengths of light (e.g. relative to a destructive interference of wavelengths of light included in the predetermined optical response generated by that photonic pattern). Such interference structures may be configured to selectively reflect wavelengths of light included in the respective predetermined optical response and selectively destructively interfere (e.g. at least some) wavelengths of light not in included in said optical response. As an example, a given interference structure may comprise a multi-layer coating comprising two or more dielectric and / or semiconductor layers with different refractive indices. As another example, a given interference structure may comprise a metal-dielectric-metal interference structure comprising a stack of metal -dielectric-metal layers (e.g. such as an Ag-SiCh-Ag stack). In the above examples, the thickness and / or refractive index of each layer may be selected to provide the selective reflection described above.

[0129] Additionally or alternatively, one or more of the predetermined photonic patterns may comprise one or more plasmonic structures having respective plasmonic wavelength(s) suitable for generating or contributing to the generation of the predetermined optical response of the associated data symbol 110. Such plasmonic structures may include, but are not limited to: metallic nanostructures that exhibit surface plasmon resonances, hole arrays in metal films, and metaldielectric interfaces.

[0130] Additionally or alternatively, one or more of the predetermined photonic patterns may comprise one or more fluorescent structures configured to have an emission wavelength(s) suitable for generating or contributing to the generation of the predetermined optical response of that photonic structure. Such fluorescent structures may include but are not limited to: individual quantum dots or arrays thereof (e.g. wherein the diameter of the quantum dot may be selected to provide for the desired fluorescent wavelength), fluorescent polymers, fluorescent nanobeads, fluorescent nanoparticles.

[0131] Additionally or alternatively, the one or more predetermined photonic patterns may comprise one or more photonic crystal lattices configured to preferentially filter selected wavelengths of light (e.g. relative to a fdtering of wavelengths of light included in the predetermined optical response generated by that photonic pattern). Such photoniccrystal lattice(s) may be configured to selectively reflect wavelengths of light included in the respective predetermined optical response and selectively filter (e.g. at least some) wavelengths of light not in included in said optical response.

[0132] The marker data optically encoded by the optical response(s) generated by the photonic structure(s) 110 may be read both optically (e.g. based on said optical response(s)) and non-optically (e.g. topographically). To read the fiducial marker 100 (or components thereof) non-optically, the marker data may be decoded by non-optical (e.g. direct) analysis (such as a topographical analysis) of the predetermined photonic pattem(s) of the photonic structure(s) themselves as opposed to the corresponding optical response. Such decoding may be in accordance with a predetermined non-optical coding scheme, as opposed to the optical coding schemes discussed above. Examples of such optical and non-optical coding will now be described with reference to Figs. 2a and 2b.

[0133] Figs. 2a and 2b schematically illustrate an optical image (Fig. 2a) of an example instance of the fiducial marker 100 and a scanning electron microscopy (SEM) image (Fig. 2b) of the same example instance of the fiducial marker 100. The fiducial marker 100 shown in Figs. 2a and 2b comprises a first data symbol 110-1 and a second data symbol 110-2. When viewed optically, for example with the naked eye or under a microscope, the first and second data symbols 110-1, 110-2 exhibit first and second optical responses, the first data symbol 110-1 appearing red and the second data symbol 110-2 appearing blue. These optical responses provide a first (optical) way of decoding marker data associated with the fiducial marker 100. The optical response of each of the first and second data symbols 110-1, 110-2 is due, at least in part, to their differing photonic structures which may not be visible optically (e.g. by the naked eye or using an optical microscope) but which is visible using an SEM as shown in the right of Figure 2. Thus, using an SEM, the respective first and second photonic structures 112-1, 112-2 may be analysed to determine the marker data.

[0134] In more detail, the first and second data symbols 110-1, 110-2 are configured to generate respective first and second optical responses encoding marker data comprising the binary string “0001” in accordance with a predetermined optical coding scheme. In addition, the first and second data symbols 110-1, 110-2 comprise photonic structures 112-1, 112-2 readable using an SEM which encode the same marker data comprising the binary string “0001” in accordance with a predetermined non-optical coding scheme.

[0135] The predetermined optical coding scheme defines a mapping between: a first spectral code defined by red wavelengths and the binary string “00”; and a second spectral code defined by blue wavelengths of light and the binary string “01”. The first data symbol 110-1 comprises a first photonic structure 112-1 configured to generate the first (red) optical response corresponding to the first spectral code when suitably illuminated to thereby optically encode the two most significant bits of the marker data (i.e. “00”). The second data symbol 110-2 comprises a second photonic structure 112-2 configured to generate a second (blue) optical response corresponding to the second optical code when suitably illuminated to thereby optically encode the two least significant bits of the marker data (i.e. “01”). The first and second photonic structures 112-1, 112-2 are illustrated schematically with diagonal lines. It will be appreciated that the patterns of the photonic structures 112-1, 112-2 may differ in structure and appearance in an SEM image of the fiducial marker 100.

[0136] A predetermined non-optical coding scheme may define a mapping between: the (e.g. topography of the) first photonic structure 112-1 (e.g. its photonic pattern) and the binary string “00”; and the (e.g. topography of the) second photonic structure 112-2 (e.g. its photonic pattern) and the binary string “01”.

[0137] As schematically illustrated in Fig. 2a, the optical image of the example instance of the fiducial marker 100 contains spectral data 114-1, 114-2 indicative of the optical responses of the first and second data symbols 110-1, 110-2. Accordingly, marker data can be read optically by mapping the optical response associated with each of the first and second data symbols 110 to the respective binary strings according to the predetermined optical coding scheme. This process is indicated by the arrow 210.

[0138] As schematically illustrated in Fig. 2b, the SEM image of the example instance of the fiducial marker 100 contains topographical data indicative of the predetermined photonic structures 112-1, 112-2 of the first and second data symbols 110-1, 110-2. Accordingly, the marker data can be read non-optically (e.g. topographically) by mapping the patterns associated with each of the first and second data symbols 110-1, 110-2 to the respective binary strings according to the predetermined non-optical coding scheme. This process is indicated by the arrow 220.

[0139] Accordingly, the predetermined photonic structures 112-1, 112-2 of the fiducial marker 100 may non-optically (e.g. topographically) encode the same marker data as that which is optically encoded by the optical response(s) said photonic structures 112-1, 112-2. Thus, the fiducial marker 100 may be implemented as a multi-modal marker operable toencode marker data that can be read both optically and non-optically. Such multi-modal capabilities may advantageously enable a given instance of the fiducial marker 100 to be easily located when inspected by both optical instruments (such as an optical microscope) and non-optical instruments (such as an SEM or AFM), which may be required or may be advantageous for certain fabrication processes.

[0140] In the example described above, the same marker data is encoded optically as is encoded non-optically. For example, the first data symbol 110-1 is optically encoded with the binary string “00” and is also non-optically (topographically) encoded with the binary string “00”. Similarly, the second data symbol 110-1 is optically encoded the binary string “01” and is also non-optically (topographically) encoded with the binary string “01”. Thus, as described, in this example, the fiducial marker encodes the marker data “0001” both optically and non-optically.

[0141] In other examples, marker data encoded optically by the one or more data symbols 110 of the fiducial marker 100 may be different to marker data encoded by the same data symbols 110 non-optically. For example, the fiducial marker 100 may optically encode first marker data, and non-optically encode second marker data, different from the first marker data (e.g. in accordance with a non-optical coding scheme).

[0142] Alternatively, marker data encoded non-optically by the one or more data symbols 110 of the fiducial marker 100 may include the (first) marker data encoded optically by the same data symbol(s) 110 and may further include second marker data, different from the (first) marker data. This is explained further below with reference to Fig. 2b.

[0143] While not schematically depicted, the photonic structure 112-1 shown in Fig. 2b may be a first photonic structure 112-la selected from a first group comprising first and second photonic structures 112-la, 112-lb, each comprising respective predetermined photonic patterns. Similarly, the photonic structures 112-2 shown in Fig. 2b may be a third photonic structure 112-2a selected from a second group of comprising third and fourth photonic structures 112-2a, 112- 2b, each comprising respective predetermined photonic patterns. Each of the photonic structures of the first group may be configured to generate the same optical response (i.e. red) and may therefore optically encode the same data. Similarly, each of the photonic structures of the second group may be configured to generate the same optical response (i.e. blue) and may therefore optically encode the same data.

[0144] As regards non-optical encoding, a non-optical coding scheme may define a first mapping between: the (e.g. topography of the) first and second photonic structures 112-la, 112-lb of the first group (e.g. their respective photonic patterns) and the binary string “00”; and the (e.g. topography of the) third and fourth photonic structures 112-2a, 112-2b of the second group (e.g. their respective photonic patterns) and the binary string “01”. Thus, according to the first mapping of the predetermined non-optical coding scheme, the first and second photonic structures 112-la, 112- lb of the first group both non-optically encode the same data as optically encoded thereby. Similarly, the third and fourth photonic structures 112-2a, 112-2b of the second group both non-optically encode the same data as optically encoded thereby.

[0145] The predetermined non-optical coding scheme may additionally define a second mapping between: each of the first and second photonic structures 112-la,l 12-lb of the first group to different data from each other (e.g. to a “1” or a “0” respectively); and each of the third and fourth photonic structures 112-2a, 112-2b of the second group to different data from each other (e.g. to a “1” or a “0” respectively). Accordingly, by selecting a particular one of the first and second photonic structures 112-la, 112-lb from the first group as the photonic structure 112-1 shown in Fig. 2b, and a particular one of the third and fourth photonic structures 112-2a, 112-2b from the second group as the photonic structure 112-2 shown in Fig. 2b, the photonic structures 112-1, 112-2 may non-optically encode and optically encode first marker data (according to the first mapping of the predetermined non-optical coding scheme), and may additionally non-optically encode second marker data, different from the first marker data (according to the second mapping of the predetermined non-optical coding scheme).

[0146] More generally, each of the one or more data symbols 110 of the fiducial marker 100 may comprise a photonic structure selected from a respective group of photonic structures configured to generate the same optical response. According to the predetermined optical coding scheme and a first mapping of a predetermined non-optical coding scheme, each predetermined photonic pattern of each photonic structure of the said group encodes the same data. According to a second mapping of the predetermined non-optical coding scheme, each predetermined photonic pattern of each photonic structure of the said group encodes different data from each other. Accordingly, each of the photonic structures and respective predetermined photonic patterns of the one or more data symbols 110 of the fiducial marker 100 may be selected such that said predetermined photonic patterns optically and non-optically encode first marker data (according to the predetermined optical coding scheme and a first mapping of a predetermined non-optical coding scheme), and such thatsaid predetermined photonic patterns additionally non-optically encode second marker data, different from the first marker data (according to a second mapping of the predetermined non-optical coding scheme).

[0147] The number of data symbols 110 that the fiducial marker 100 can accommodate may be predetermined. For example, it may be that fiducial marker 100 comprises a predetermined number of one or more positions at which individual data symbols 110 may be selectively disposed. The location(s) of the one or more predetermined positions may be predetermined (e.g. in relation to a reference feature of the fiducial marker 100, such as a centroid of the fiducial marker 100, or any other suitable reference feature). It may be that each such position corresponds to a predetermined group of bits of the marker data, the value of which may be optically encoded by way of the predetermined optical response of the data symbol 110 at that position.

[0148] For example, one or more data symbols 110 (or more specifically the predetermined optical response(s) they exhibit) may be considered to form an m-ary representation of the marker data (e.g. where m is a positive integer corresponding to a number base, i.e. wherein m=2 corresponds binary, m=3 corresponds to ternary, and so on). For example, each of the positions described above may correspond to a predetermined m-ary digit of the marker data, the value of which may be optically encoded by way of the predetermined optical coding scheme. The number base, m, of an m-ary digit represented by a given data symbol 110 may depend on the number of spectral codes defined in the predetermined optical coding scheme according to which the marker data is optically encoded. For example, the number base, m, may be equal to the number of spectral codes, n, defined in the predetermined optical coding scheme (e.g. because a given data symbol 110 may be configured generate one of n optical responses). Accordingly, it may be that each optical response exhibited by the one or more data symbols 110 optically encodes a respective m-ary digit. The number base m may be any suitable positive integer, such as any positive integer greater than or equal to 2, any positive integer greater than or equal to 3, or any other suitable positive integer.

[0149] The marker data may comprise scrambled data. For example, the marker data may comprise a scrambled variant of any of the types of data disclosed herein. The scrambled data may have been generated by way of a predetermined scrambling function, in accordance with any examples disclosed herein. The predetermined scrambling function may be configured to receive input data and to output a scrambled variant thereof. The predetermined scrambling function may be deterministic and reversable. Accordingly, in examples wherein the marker data comprises scrambled data, the marker data may be decodable by reading the scrambled marker data and applying the inverse of the scrambling function.

[0150] The configuration of the scrambling function may depend on an application of the marker 100. In some examples, the scrambling function may be configured to generate a pseudorandom or pseudorandom -like binary sequence in dependence on the marker data to be scrambled and a predetermined or a pseudorandomly generated binary sequence. For example, the scrambling function may be configured to receive as input the said marker data to be scrambled and perform (e.g. among other operations) a bitwise exclusive OR (XOR) operation between the said data and a predetermined binary sequence or a pseudorandomly generated binary sequence. In the latter case, the pseudorandomly generated binary sequence may be generated by a deterministic pseudorandom number generator, including but not limited to a linear feedback shift register (LFSR), such as the Consultative Committee for Space Data Systems (CCSDS) pseudo-randomiser.

[0151] In some examples, the scrambled marker data may comprise encrypted data (e.g. one or more ciphertexts). In such examples, the predetermined scrambling function may be configured to encrypt the marker data to generate the encrypted data by way of any suitable encryption algorithm. Such examples may advantageously improve the security of the fiducial marker 100 and may prevent or inhibit third parties from decoding the marker data. There are several examples of marker data which may benefit from encryption. For example, the fiducial marker 100 may be used to incorporate additional information about a substrate, such as a batch number (as part of marker data encoded by the data symbols 110). In another example, marker data may comprise a security tag or key for use in validating that a product has been made by a known or accredited manufacturer. In another example, an authentication process may be tied to a given substrate or another visible feature that is encoded. In such examples, encryption of marker data may enable detection or counterfeiting. As used herein, a ciphertext may comprise any suitable composition or form of encrypted data. For example, a ciphertext is not limited such that it necessarily comprises text. For example, a ciphertext may comprise numerical data only. Alternatively, a ciphertext may comprise numerical data, text (e.g. in the form of ASCII codes, which may be represented by binary), combinations thereof, or any other conceivable type or form of encrypted data.

[0152] Additionally or alternatively, the marker data may comprise one or more checksums (such as one or more cyclic redundancy check (CRC) checksums or any other suitable type of checksum) associated with one or more blocks of the marker data. Advantageously, such checksums may enable errors in the reading of the marker data to be detected.

[0153] Additionally or alternatively, the marker data may comprise one or more error correcting codes (e.g. such as any type of error correcting code disclosed herein, such as Hamming codes or Golay codes). The one or more error correcting codes may be associated with (e.g. indicative of) any one or any combination of the types of marker data or scrambled marker data disclosed herein. For example, the one or more error correcting codes may comprise one or more blocks of data corresponding to any of the types of marker data (or scrambled marker data) disclosed herein and a respective group or groups of error correcting parity bits associated therewith. The one or more error correcting codes may be generated in accordance with a predetermined error correcting algorithm. Such error correcting algorithms are known to the person skilled in the art. Advantageously, such examples may provide not only for errors to be identified, but also for such errors to be corrected. Examples of such errors include errors in manufacturing the fiducial marker 100, which may result in one or more erroneous data symbols 110 and corresponding erroneous optical responses, and reading errors when reading the marker data from the fiducial marker, such as by a computer vision system.

[0154] As an illustrative example, it may be that the marker data comprises coordinate data (such as marker position coordinate data or offset position coordinate data) represented by cartesian coordinates, in accordance with examples disclosed herein. In such examples, it may be that each of the x coordinate and the y coordinate of the coordinate data are encoded by respective error correcting codes. Alternatively, it may be that the x coordinate and y coordinate are encoded by way of a single error correcting code. For example, the x coordinate and the y coordinate may be combined (e.g. appended, interleaved, or otherwise combined) to form a single block of data and said single block of data may have one or more error correcting parity bits associated therewith, wherein said single block of data and said parity bits form said single error correcting code.

[0155] In general, the efficiency of error correcting codes may increase with increasing number of data bits. As an illustrative example, a Hamming code with n parity bits may be operable to detect and correct an error for up to 2n-n-l data bits. As such, a Hamming code with 4 parity bits can provide for error checking capabilities for up to 11 data bits, a Hamming code with 5 parity bits can provide for error checking capabilities for up to 26 data bits, and so on. In the first example, the 4 parity bits correspond to -26.67 % of the total Hamming code size (i.e. including both data and parity bits), whereas in the second example, the 5 parity bits correspond to -16.13% of the total Hamming code size. Thus, with respect to the total code length, the overhead associated with the parity bits of an error correcting code may typically decrease with increasing data size. Accordingly, encoding both the x and y coordinate of the above example by way of a single error correcting code may be more efficient than encoding respective error correcting codes for the x coordinate and the y coordinate separately.

[0156] As another illustrative example, it may be that the marker data comprises coordinate data (such as marker position coordinate data or offset position coordinate data) represented by polar coordinates, in accordance with examples disclosed herein. In such examples, it may be that the each of the radial distance and the angle are encoded by respective error correcting codes. Alternatively, it may be that the said radial distance and angle are encoded by way of a single error correcting code. For example, said radial distance and said angle may be combined (e.g. appended, interleaved, or otherwise combined) to form a single block of data and said single block of data may have one or more error correcting parity bits associated therewith, wherein said single block of data and said parity bits form said single error correcting code. For the reasons discussed above, encoding both the radial distance and the angle of the above example by way of a single error correcting code may be more efficient than encoding respective error correcting codes for the radial distance and the angle separately.

[0157] As noted above with reference to Figure 1, the fiducial marker 100 may comprise the alignment pattern 120. The alignment pattern 120 may comprise any suitable predetermined pattern operable to provide for the alignment thereto (e.g. operable to be located by a computer vision system e.g. utilising image processing techniques such as cross-correlation, convolution or any other suitable technique). For example, the alignment pattern 120 may comprise a predetermined arrangement of one or more alignment features, such as one or more squares, one or more crosses, one or more circles, or any other suitable shapes of alignment feature(s). The alignment pattern 120 may comprise any suitable material or materials (e.g. that can be discriminated from the surface of the substrate on which the fiducial marker 100 is disposed e.g. at least by way of imaging modalities intended to be used to read the fiducial marker 100). As an illustrative and non-limiting example, the alignment pattern 120 may comprise one or more metals formed on said substrate by way of conventional lithographic patterning and metal deposition techniques. While the alignment pattern 120 is schematically depicted as enclosing the one or more data symbols 110, it is to be understood that this is merely for illustrative purposes and the present disclosure is not so limited. The alignment pattern 120 may disposed in any suitable location in relation to the one or more data symbols 110. In some examples, the alignment pattern 120 may comprise or consist of the alignment pattern 710 discussed further below.

[0158] One or more of the one or more data symbols 110 may be disposed on or integrally formed with the alignment pattern 120 (e.g. disposed on or integrally formed with one or more of the one or more alignment features of the alignment pattern 120). Alternatively, each of the one or more data symbols 110 may be located separately from the alignment pattern 120.

[0159] In some examples, a plurality of fiducial markers, such as the fiducial marker 100 may be disposed on a single substrate. For example, a fiducial marker may be provided to identify cells for device fabrication. Examples of layouts of multiple fiducial markers on a substrate will now be described with reference to Figs. 3a, 3b and 3c.

[0160] While it is described in relation to Figs. 2a and 2b that the first and second fiducial markers 110-1, 110-2 exhibit particular optical responses, and that these optical responses may encode particular binary strings, it will be appreciated that these are merely illustrative examples and the present disclosure is not so limited. More generally, the first data symbol 110-1 may be configured to generate a first predetermined optical response and the second data symbol 110-2 may be configured to generate a second predetermined optical response, different from the first predetermined optical response. The first data symbol 110-1 may comprise a first predetermined photonic pattern configured to generate the first predetermined optical response. The second data symbol 110-2 may comprise a second predetermined photonic pattern, different from the first predetermined photonic pattern, configured to generate the second predetermined optical response. The first predetermined optical response may have a first spectral content (e.g. colour) and the second predetermined optical response may have a second spectral content (e.g. colour), different from the first spectral content. In combination, the first spectral content of the first predetermined optical response and the second spectral content of the second predetermined optical response may encode some or all of the marker data encoded by the fiducial marker 100. For example, the spectral content of the first predetermined optical response may encode a first portion of the marker data and the spectral content of the second predetermined optical response may encode a second portion of the marker data, different from the first portion of the marker data. A data content of the first portion of the marker data may be different from a data content of the second portion of the marker data. In various examples, the spectral content of the first predetermined optical response may encode a first m-ary digit of the marker data and the spectral content of the second predetermined optical response may encode a second m-ary digit of the marker data, different from the first m-ary digit of the marker data. A value of the first m-ary digit may be different from a value of the second m-ary digit.

[0161] Fig. 3a is a schematic diagram of an array of fiducial markers 300-1 :300-n disposed on a substrate 310. Each of the fiducial markers 300-1 :300-n may be substantially similar to the fiducial marker 100 described above with reference to Figs. 1, 2a and 2b. Alternatively, each of the fiducial markers 300-1 :300-n may be substantially similar to the fiducial marker 700 described below with reference to Figs. 7 to 12. The substrate 310 may comprise a substrate for a roll-to-roll process, or any other suitable type of substrate.

[0162] The plurality of fiducial markers 300-1 : 100-n are arranged in a row. The spacing between adjacent markers 300- l:300-n in the row may be regular or irregular. Spacing may be provided to accommodate devices or components of differing sizes. Each one of the fiducial markers 300-1 :300-n may be configured to optically encode marker data comprising marker position coordinate data indicative of a position of that fiducial marker. For example, the marker position coordinate data encoded by a given fiducial marker may comprise an index of that fiducial marker indicating its relative position within said row. Alternatively, the marker position coordinate data may comprise cartesian coordinates or polar coordinates indicative of an absolute position of that fiducial marker on the substrate.

[0163] Fig. 3b is a schematic diagram of a two-dimensional array of fiducial markers 320-1 :320-n disposed on a substrate 330. Each of the fiducial markers 320-1 :320-n may be substantially similar to the fiducial marker 100 described above with reference to Figures 1, 2a and 2b. Alternatively, each of the fiducial markers 320-1 :320-n may be substantially similar to the fiducial marker 700 described below with reference to Figs. 7 to 12.

[0164] The substrate 330 may comprise any suitable substrate, such as those described herein.

[0165] The array of fiducial markers 320-1 :320-n may comprise any suitable number of rows and columns. The spacing between adjacent rows and / or adjacent columns of the array may be regular or irregular. Spacing may be provided to accommodate devices or components of differing sizes. Each fiducial marker 320-1 :320-n may be configured to optically encode respective marker data comprising marker position coordinate data indicative of a position that fiducial marker. For example, it may be that said marker position coordinate data comprises an array index comprising x and y coordinates (e.g. integers) indicative of a relative position of that fiducial marker within the array. Alternatively, the marker position coordinate data may comprise cartesian or polar coordinates indicative of an absolute position of that fiducial marker on the substrate 330.

[0166] Fig. 3c is a schematic diagram of a polar array 340 of fiducial markers 350-1 :350-n disposed on a substrate 360. Each of the fiducial markers 350-1 :350-n may be substantially similar to the fiducial marker 100 described above with reference to Figures 1, 2a and 2b. Alternatively, each of the fiducial markers 350-1 :350-n may be substantially similar to the fiducial marker 700 described below with reference to Figs. 7 to 12. The substrate 360 may comprise any suitable type of substrate, such as those disclosed herein. The polar array 340 may comprise any number of fiducial markers 350-1:350- n. The fiducial markers 350-1 :350-n may be aligned concentrically in the polar array 340 at set distances from the centre of the polar array 340. For example, one or more of the fiducial markers 350-1 :350-n may be arranged at a first distance from the centre of the array 340 (i.e. a first orbit 362), one or more fiducial markers 350-1 :350-n may be arranged at a second distance from the centre of the array 340 (e.g. a second orbit 364), and one or more of the fiducial markers 350- l:350-n may be arranged at a third distance from the centre of the array 340 (i.e. a third orbit 366). The array 340 may have any number of orbits. The spacing between adjacent circumferences or orbits of the polar array 340 may be regular or irregular. Such spacing may be provided to accommodate devices or components of differing sizes. In the example shown in Fig. 3c, it may be that each fiducial marker 100 is configured to optically encode respective marker data comprising marker position coordinate data indicative of a position of that fiducial marker within the polar array 340. For example, it may be that said marker position coordinate data comprises polar coordinates indicative of a relative (e.g. array index) or absolute position of that fiducial marker within the polar array 340.

[0167] Figure 4 depicts a flow chart 400 schematically illustrating a method of generating a layout for fabricating the one or more data symbols 110 of the fiducial markers 100, 300, 320, or 350 discussed herein. The method may be a computer-implemented method. In such examples, the flow chart 400 may be carried out by computer program instructions executed by general purpose processing circuitry. In such examples, the layout generated by said method may comprise layout data. Said layout data may be in any suitable format, including but not limited to the Graphic Design System (GDSII) format.

[0168] At block 410, marker data is obtained, for example by way of user input. The marker data may comprise first data (e.g. such as coordinate data, in accordance with examples disclosed herein) to be optically encoded by the fiducial marker 100. The first data may be processed, for example by a predetermined scrambling function, in accordance with examples disclosed herein. Additionally or alternatively, one or more checksums may be generated depending on said first data (or the scrambled (e.g. encrypted) variant thereof), in accordance with examples disclosed herein. Generated checksum(s) may be combined with the first data to generate marker data for further processing. Alternatively, one or more error correcting codes may be generated depending on said first data. For example, one or more error correcting parity bits of one or more error correcting codes may be generated depending on the first data (or the scrambled (e.g. encrypted) variant thereof). The generated error correcting parity bit(s) may be combined with the first data (or the scrambled variant thereof) to generate marker data comprising one or more error correcting codes for further processing.

[0169] At block 420, a configuration of the one or more data symbols 110 for optically encoding the marker data in accordance with a predetermined optical coding scheme is determined depending on the marker data obtained and / or processed at block 410. The predetermined optical coding scheme may define a mapping between respective ones of plurality of distinct spectral codes and corresponding data (e.g. binary strings), as described herein. Determining said configuration of the one or more data symbols 110 may comprise determining a configuration of photonic structure(s) 112 operable to generate respective optical response(s) optically encoding the marker data in accordance with the predetermined optical coding scheme. Said configuration of said photonic structure(s) 112 may be determined in any suitable way. For example, said configuration of said photonic structure(s) may be selected from a predetermined database comprising a plurality of predetermined photonic structure configurations and their respective optical responses. Such a database may have been generated by way of simulating the light-matter interactions of various photonic patterns.

[0170] In examples wherein each of the photonic structure(s) 112 of the one or more data symbols 110 comprise respective predetermined photonic patterns, determining the configuration of the one or more data symbols 110 may comprise determining the configuration of predetermined photonic pattem(s) operable to generate respective optical response(s) optically encoding the obtained marker data in accordance with the predetermined optical coding scheme. In such examples, it may be that the predetermined photonic patterns non-optically (e.g. topographically) encode the marker data in accordance with a predetermined non-optical coding scheme, as described herein. These photonic patterns may be determined in any suitable way. For example, the predetermined photonic pattem(s) may be selected from a predetermined database comprising a plurality of predetermined photonic patterns and their respective optical response. Such a database may have been generated by way of simulating the light-matter interactions of various photonic patterns.

[0171] Where the predetermined photonic pattem(s) of the photonic structure(s) 112 of the fiducial marker 100 non- optically encode second marker data different from first marker data optically encoded thereby (e.g. in addition to or instead of the first marker data), the marker data obtained at block 410 may comprise both first and second marker data. The configuration of said predetermined photonic pattem(s) may depend on both the first and second marker data in accordance with a predetermined non-optical coding scheme. For example, determining the configuration of predetermined photonic pattem(s) may comprise selecting (e.g. from a predetermined database) predetermined photonic pattem(s) operable to: generate respective optical responses optically encoding the first marker data in accordance with the predetermined optical coding scheme; and non-optically encode the first marker data and / or the second marker data in accordance with the predetermined non-optical coding scheme.

[0172] At block 430, a layout is generated comprising the configuration of photonic structure(s) determined at block 420, wherein said configuration defines the one or more data symbols 110 of the fiducial marker 100.

[0173] Optionally, at block 430, one or more (e.g. photo) lithography masks are fabricated depending on the generated layout. For example, each of the one or more lithography masks may define a respective lithographic pattern suitable for fabricating the one or more data symbols 110 of the fiducial marker 100, or a respective portion thereof.

[0174] Optionally, at block 430, the fiducial marker 100 is fabricated depending on the generated layout. For example, fabricating the fiducial marker 100 depending generated layout may comprise (in addition to other process steps, such as etch or deposition processing steps) lithographically patterning a substrate depending on said generated layout to form the one or more data symbols 110 of the fiducial marker thereon.

[0175] While not depicted in Fig. 4 for ease of illustration, the method illustrated by the flow chart 400 may further comprise fabricating one or more data symbols 110 of a plurality of arrayed instances of the fiducial marker 300, 320, or 350 (e.g. in accordance with the example fiducial marker arrays discussed in relation to Figs. 3a-3c). In such examples, the flow chart 400 may additionally comprise repeating blocks 410-420 for each arrayed instance of the fiducial marker 300, 320, or 350. In such examples, the layout generated at block 430 may comprise a configuration of the photonic structure(s) defining one or more data symbols 110 for each arrayed instance of the fiducial marker 300, 320, or 350.

[0176] Figure 5 depicts a flow chart 500 schematically illustrating a method of fabricating the fiducial marker 100, 300, 320, or 350 as described herein.

[0177] At block 510, a substrate is provided. The substrate may comprise any suitable substrate. As an illustrative example, the substrate may be a semiconductor substrate (e.g. such as wafer) for fabricating electronic and / or optoelectronic devices thereon.

[0178] At block 520, the one or more data symbols 110 of the fiducial marker 100 are formed on the substrate. The one or more data symbols may may comprise a respective photonic structure configured to generate a predetermined optical response optically encoding marker data. Each of the one or more data symbols may be formed by way of any suitable technique, including but not limited to any suitable microfabrication or nanofabrication processing technique. For example, the one or more data symbols may be formed by way of conventional lithographic patterning, etch, and deposition techniques. The layout of the one or more data symbols and their respective configurations (e.g. their respective predetermined photonic patterns, where applicable) may have been determined as described above in relation to Fig. 4.

[0179] Optionally, at block 520, the alignment pattern 120 of the fiducial marker 100 is formed on the substrate. The alignment pattern may comprise or correspond to any suitable alignment pattern, in accordance with examples disclosed herein. The alignment pattern 120 may be formed by way of any suitable technique, including but not limited to any suitable microfabrication or nanofabrication processing technique. The features of the alignment pattern 120 and each of the one or more data symbols 110 of the fiducial marker 100 may be formed contemporaneously or in any suitable order.

[0180] While not depicted Fig. 5 for ease of illustration, the method illustrated by the flow chart 500 may further comprise fabricating a plurality of arrayed instances of the fiducial marker 300, 320, or 350 (e.g. in accordance with the example fiducial marker arrays discussed in relation to Figs. 3a-3c). In such examples, the flow chart 500 may additionally comprise repeating block 520 for each arrayed instance of the fiducial marker 300, 320, or 350.

[0181] Figure 6 depicts a flow chart 600 schematically illustrating a method of decoding the marker data from the fiducial marker 100 described herein. It may be that said method is a computer-implemented method. In such examples, the flow chart 600 may be carried out by computer program instructions executed by general purpose processing circuitry.

[0182] At block 610, configuration data indicative of a configuration of the one or more data symbols 110 of the fiducial marker 100 is obtained.

[0183] The configuration data may comprise optical data indicative of the predetermined optical response(s) generated by the one or more data symbols 110. For example, the configuration data may comprise optical image data corresponding to an optical image of the fiducial marker 100. In such examples, it may be that said optical image data comprises spectral data indicative of the predetermined optical response(s) generated by the one or more data symbols 110.

[0184] Alternatively, the configuration data may be indicative of the predetermined photonic pattem(s) of the photonic structure(s) 112 of the one or more data symbols 110. For example, the configuration data may comprise non -optical image data corresponding to a non-optical image, including but not limited to an SEM image or an AFM image, of the fiducial marker 100. In such examples, it may be that said non-optical image data comprises topographical data, which may be indicative of the predetermined optical response(s) generated by the one or more data symbols 110.

[0185] At block 620, the marker data is decoded depending on the configuration data obtained at block 610 in accordance with a predetermined coding scheme.

[0186] For example, where the configuration data comprises optical image data, the marker data may be decoded depending on: the spectral content in the optical image data corresponding to the optical response(s) generated by the one or more data symbols 110; and the predetermined optical coding scheme according to which the predetermined optical response(s) of the one or more data symbols 110 optically encode the marker data.

[0187] Alternatively, in examples wherein the configuration data comprises non-optical image data, the marker data may be decoded depending on: the predetermined photonic pattem(s) of the photonic structure(s) of the one or more data symbols indicated by the topographical data of the non-optical image data; and a predetermined non-optical coding scheme, in accordance with examples disclosed herein.

[0188] In examples wherein the predetermined photonic pattem(s) of the photonic structure(s) 112 of the fiducial marker 100 non -optically encode second marker data different from first marker data optically encoded thereby(e.g. in addition to or instead of the first marker data) in accordance with a predetermined non-optical encoding scheme, block 620 may additionally comprises decoding the second marker data depending on the on the non-optical image data of the fiducial marker 100 obtained at block 610. For example, the second marker data may be decoded depending on: the predetermined photonic pattem(s) of the photonic structure(s) 112 of the one or more data symbols 110 indicated by topographical data of the non-optical image data; and the predetermined non-optical coding scheme, in accordance with examples disclosed herein.

[0189] In examples wherein the marker data is scrambled marker data, decoding the marker data at block 620 may comprise obtaining scrambled marker data depending on the configuration data obtained at block 610 and applying, to the obtained scrambled marker data, an inverse of the predetermined scrambling function with which the marker data was scrambled to obtain de-scrambled marker data.

[0190] Figures 7a and 7b are schematic diagrams of an example fiducial marker 700.

[0191] Such a fiducial marker 700 may be suitable for use in microscale or nanoscale applications, in accordance with examples disclosed herein. However, it is to be understood that the fiducial marker 700 is not limited to this use case and may be suitable for use in other applications. As will be discussed further below, the fiducial marker 700 may be disposed in an array of like or similar fiducial markers (e.g. in accordance with the example fiducial marker arrays discussed in relation to Figs. 3a-3c).

[0192] The fiducial marker 700 comprises an alignment pattern 710 and a data region 715 (denoted by dashed line in Fig. 7b) comprising one or more data symbols 720 (shown in Fig. 7a). The fiducial marker 700 may be disposed on a substrate 730 which may comprise any suitable substrate, such as those described herein.

[0193] Figure 7a schematically illustrates an instance of the fiducial marker 700 encoding specific data using the one or more data symbols 720 which are located at a subset of respective predetermined symbol locations 740 within the data region 715. Figure 7b schematically illustrates every possible predetermined symbol location 740 within the data region 715 of the fiducial marker 700. In the example shown, there are 24 symbol locations 740 in the data region 715 labelled 1 to 24. In other embodiments, however, that there may be more or fewer symbol locations. It will be appreciated that the symbol location labels (1 to 24) are provided in Figures 7a and 7b purely for explanatory purposes and are not physically present in physical implementations of the fiducial marker 700. So, in the example instance of the fiducial marker 700 of Figure 7a, eight data symbols 720 are provided at symbol locations 4, 5, 8, 10, 12, 16, 17, and 19. In Figure 7b, the data region 715 is denoted by a broken line. It will be appreciated that this dashed line is provided in Figure 7b purely to denote the region 715 in which data symbols 720 may be found and is not physically present in the fiducial marker 710.

[0194] The alignment pattern 710 is provided for aligning the fiducial marker 700. For example, the alignment pattern 710 may be a predetermined pattern based on which a position and / or an orientation of the fiducial marker 700 (e.g. within an image thereof) may be identified and aligned to (e.g. by way of a computer vision system). The alignment pattern 710 (or at least a shape of thereof) may be invariant to the position data encoded by the fiducial marker 700. Accordingly, the alignment pattern 710 may be identifiable without prior knowledge of the position data encoded in the data region 715.

[0195] The alignment pattern 710 may comprise any suitable material or materials (e.g. that can be discriminated from the surface of the substrate 730 on which the fiducial marker 700 is disposed e.g. at least by way of imaging modalities intended to be used to read the fiducial marker 700). As an illustrative and non-limiting example, the alignment pattern 710 may comprise one or more metals formed on the substrate 730 by way of conventional lithographic patterning and metal deposition techniques.

[0196] The alignment pattern 710 may comprise or consist of a plurality of non-contiguous reference features 710a:710d. In the example shown in Figures 7a and 7b, the plurality of non-contiguous reference features comprises an upper triangle 710a, a lower triangle 710b, a left chevron 710c, and right chevron 710d. Thus, in this example, the plurality of features 710a:710d forms the shape of a diamond. While a particular configuration of the non-contiguous reference features of the alignment pattern 710 is shown in Figs. 7a and 7b, it is to be understood that the present disclosure is not so limited. The alignment pattern 710 may comprise any suitable number of non-contiguous features, each of which may have any suitable shape, and the combination of which may form any suitable shape.

[0197] The plurality of non-contiguous reference features 710a:710d of the alignment pattern 710 may define a shape, such as the diamond in the illustrated example. The plurality of non-contiguous reference features 710a:710d of the alignment pattern 710 may be disposed such that they are located on the perimeter of said shape. It may be that said shape encloses or defines the data region 715. Whilst in the illustrative example, the plurality of non-contiguous reference features defines a diamond, any other suitable shape is conceivable.

[0198] A benefit of providing the plurality of non-contiguous features 710a:710d instead of a single contiguous feature is an improvement in lithographic compatibility since the need to pattern enclosed empty spaces, which may be problematic due to the proximity effect, can be avoided.

[0199] The alignment pattern 710 may be configured to have at least two-fold rotational symmetry. By being arranged to have at least two-fold rotational symmetry, the alignment pattern 710’s location within an image of the fiducial marker 700 may be efficiently identified by way of template-based image processing techniques, such as cross-correlation and convolution.

[0200] Template-based image processing techniques may identify the location of particular feature(s) within a target image by passing a template corresponding to the particular feature(s) over the target image and generating a similarity value at each position. For a given position, the similarity value may indicate the extent of the similarity between the pixel values of the template and the corresponding pixel values of the target image at that position (i.e. the pixel values of the target image overlapped by the template at that position). The position of the feature(s) within the target image can then be determined based on peaks present in the generated similarity values.

[0201] Such template-based image processing techniques may be sensitive to differences between the orientation of the template and the orientation of the corresponding feature(s) within the target image. For example, it may be not possible to locate feature(s) within the target image with sufficient certainty if the orientation of the template and the orientation of said feature(s) within the target image differ by more than a certain amount (e.g. 10°).

[0202] Accordingly, in the context of fiducial markers, if the orientation of a fiducial marker in an image thereof is not known, then identifying the position of the fiducial marker within said image may require repeatedly passing a template of an alignment pattern of the fiducial marker over said image at various different orientations. Such a process may be inefficient and expensive in terms of time and computer resources. This would be particularly the case if the alignment pattern of the fiducial marker in question were to have no rotational symmetry because, in the worst case, the template would need to be rotated -360° to be sufficiently aligned with the corresponding alignment pattern in the image. The maximum range through which a template may need to be rotated in this context may be referred to as the search space.

[0203] By having at least two-fold rotational symmetry, the alignment pattern 710 of the fiducial marker 700 reduces the search space and therefore reduces the associated expense in terms of time and computer resources. For example, in examples where the alignment pattern has two-fold rotational symmetry, the search space required may be reduced to 180°. In examples where the alignment pattern 710 has three-fold rotational symmetry, the search space required may be reduced to 120°. Thus, increasing the order of rotational symmetry of the alignment pattern 710 may advantageously reduce the number of different template orientations required to accurately determine the location of the alignment pattern within an image thereof.

[0204] While the alignment pattern 710 schematically illustrated in Figs. 7a and 7b has two-fold rotational symmetry, it is to be understood that this is merely of illustrative purposes and that the present disclosure is not so limited. The alignment pattern 710 may be configured to have any suitable order of rotational symmetry. For example, the alignment pattern 710 may be arranged such it has any one of: two-fold rotational symmetry; three-fold rotational symmetry; fourfold rotational symmetry; five-fold rotational symmetry; six-fold rotational symmetry; seven-fold rotational symmetry, eight fold-rotational symmetry; or higher orders of rotational symmetry.

[0205] While, due to its at least two-fold rotational symmetry, the absolute orientation of the alignment pattern 710 (e.g. whether it is pointing upwards or downwards) may not be determinable by way of applying template-based image processing techniques alone, the absolute orientation of the alignment pattern 710 may be determinable in various other ways, some of which are discussed below.

[0206] For example, the one or more data symbols 720 may be configured to encode data having a single valid read orientation. In such examples, the one or more data symbols 720 may encode data comprising one or more data integrity codes such as one or more error detecting codes (such as checksum-based error detecting codes) or one or more error correcting codes (such as those described elsewhere herein). Each of the one or more data integrity codes may comprise one or more parity bits. In such examples, the data encoded by the data symbol(s) may have a single valid read orientation because an attempt to read the data from the one or more data symbols 720 when incorrectly orientated (i.e. when not orientated in the single valid read orientation) would result in the parity bit(s) of the data integrity code(s) being misidentified, and the erroneously identified parity bit(s) would likely indicate the data to contain errors and to be invalid. In contrast, if the one or more data symbols 720 were read when correctly orientated (i.e. when orientated in the single valid read orientation), the parity bit(s) would be correctly identified and would likely indicate the data to be valid (e.g. assuming the absence of other errors). Attempting to read data from the one or more data symbols 720 in different orientations may be less computationally expensive than repeatedly performing the above-discussed template-based image processing techniques at different orientations to identify the alignment pattern 710. Accordingly, the reduction in computational expense associated with the reduced search space for identifying the alignment pattern 710 due to its at least two-fold rotational symmetry may outweigh any computational expense incurred due to searching for the single valid read orientation of the data encoded by the data symbol(s) 720.

[0207] Additionally or alternatively, one or more of the reference features 710a:710d of the alignment pattern 710 may comprise a perturbation indicative of an absolute orientation of said reference feature(s). Such a perturbation may be sufficiently small such that its impact on a template-based image processing technique for identifying the alignment pattern 710 may be negligible. For example, by having at least two-fold rotational symmetry, the alignment pattern 710 has at least two corresponding orientations in which the alignment pattern 710 at least nominally looks the same. The perturbation in the alignment pattern 710 may be sufficiently small such that a single template can be used by way of any of the abovediscussed template-based image processing techniques to identify with sufficient certainty any one of these at least two orientations of the alignment pattern 710.

[0208] Accordingly, while the inclusion of such a perturbation in the alignment pattern 710 may strictly render the alignment pattern 710 not rotationally-symmetric, it is to be understood that the expression “at least two fold rotationalsymmetry” used in relation to the alignment pattern 710 may be used to mean that the alignment pattern 710 has at least two-fold rotational symmetry at least to the extent that any one the at least two corresponding orientations in which the alignment pattern 710 nominally looks the same can be sufficiently identified by way of a template-based image processing technique using a single template.

[0209] In examples wherein the fiducial marker 700 is disposed in an array of like or similar fiducial markers, the absolute orientation of the fiducial marker 700 may otherwise be determinable by way of reading the data encoded by neighbouring markers in the array and determining the orientation in which the progression of their data is as expected.

[0210] The one or more data symbols 720 may be configured to encode position data, which may be indicative of one or more coordinate values. As will be discussed further below, the position data may be indicative of a position of the fiducial marker 700 (e.g. within an array of like or similar fiducial markers, such as the arrays described in Figs. 3a-3c) and / or an offset position relative to the fiducial marker 700. The one or more data symbols 720 may be configured to form a binary representation of the position data. For example, the data region 715 may comprise a plurality of predetermined symbol locations 740 (shown in Fig. 7b) at which respective data symbols 720 (e.g. metal dots) may be selectively disposed. The predetermined symbol locations 740 may be defined in relation to the alignment pattern 710. Each of the predetermined symbol locations 740 may correspond to a respective binary digit of the binary representation of the position data. The presence of a data symbol 720 at a given predetermined symbol location 740 may indicate that the corresponding binary digit of the position data has a first binary value, and the absence of a data symbol 720 at a given predetermined symbol location 740 may indicate that the corresponding binary digit has a second binary value. The first binary value may be a binary “1” and the second binary value may be a binary “0”, or vice versa. Accordingly, the position data may be read from the fiducial marker 700 (e.g. by a computer vision system) by locating each of the predetermined symbol locations 740, and for each location 740, determining that the binary digit of the position data corresponding to that symbol location 740 has the first binary value if a data symbol 720 is present and the second binary value if a data symbol 720 is absent.

[0211] It may be possible for the fiducial marker 700 to encode position data indicative of one or more coordinate values by configuring the data symbol(s) 720 to form a direct binary representation of said coordinate value(s) only. However, encoding position data in this way may be non-optimal.

[0212] For example, there may be no way to determine whether a read of position data encoded in this way is valid. Furthermore, unauthorised third parties may be able to freely read the position data from the fiducial marker 700 without impediment.

[0213] As another example, if the position data of the fiducial marker 700 were to comprise coordinate value(s) indicative of a position of the fiducial marker 700 within an array of like or similar fiducial markers in accordance with examples disclosed herein, configuring the data symbol(s) 720 of the fiducial marker 700 to form a direct binary representation of such coordinate value(s) may result in neighbouring instances of the fiducial marker 700 in the array having highly similar configurations of their respective data symbol(s) 720, which may be undesirable in some cases.

[0214] For example, it may be more difficult to reliably fabricate instances of the fiducial marker 700 using lithographic techniques (such as lift-off) where a significant majority of their predetermined symbol locations 740 are intended to be “full” (i.e. occupied by a data symbol 720). This is because such instances of the fiducial marker 700 (which may be referred to as “symbol-dense” instances of the fiducial marker 700) may be more susceptible to proximity effect related issues during lithographic processing relative to fiducial marker instances having fewer and less densely spaced data symbols.

[0215] Furthermore, symbol-dense instances of the fiducial marker 700 may in some cases be difficult to read optically because their relatively densely disposed data symbols 720 may be difficult to discriminate from each other (e.g. may blur together) if out of focus.

[0216] Should a particular symbol-dense instance of the fiducial marker 700 disposed in an array be difficult to read due to the above issues (e.g. due to its data symbols 720 being difficult to discriminate optically or e.g. due to one or more erroneously absent data symbols 720 due to fabrication issues), it may be desirable to read a neighbouring marker in the array and to infer the position in the array of the difficult to read marker therefrom. However, if the neighbouring marker was also a symbol-dense instance of the fiducial marker 700, it may be likely to suffer from similar issues.

[0217] Accordingly, in examples where the fiducial marker 700 is part of an array of like or similar fiducial markers, each of which encodes respective coordinate value(s) indicative of their respective positions in the array, it may be desirable to mitigate against clusters of neighbouring symbol-dense instances of the fiducial marker 700.

[0218] The following describes various example configurations of position data that may address or at least ameliorate one or more of the above-discussed issues. In each example, the position data may comprise coordinate data indicative of one or more coordinate values. As will be discussed further below, the coordinate data may be scrambled data, which, as will be discussed further below, may advantageously mitigate against the clustering of symbol-dense instances of the fiducial marker 700 when arrayed as discussed above. Additionally, the scrambled data may be encrypted data to prevent or inhibit unauthorised third parties from reading the fiducial marker 700. Additionally or alternatively, the position data may comprise one or more error correcting codes to enable an erroneous read of the position data to be detected and corrected for.

[0219] Example configurations of the position data encoded by the fiducial marker 700 are now discussed with reference to Figures 8a to 8b.

[0220] Figure 8a schematically illustrates various example configurations of position data 800, corresponding to the position data encoded by the fiducial marker 700 discussed above. The position data 800 comprises coordinate data 810 indicative of (as indicated by the arrow 814) one or more coordinate values 812. The position data 800 may comprise one or more error correcting codes indicative of the coordinate data 810. For example, the position data 800 may comprise one or more groups of error correcting parity bits 820 associated with the coordinate data 810. The one or more groups of error correcting parity bits 820 may be generated in dependence on the coordinate data 810 and a predetermined error correcting scheme or algorithm. Accordingly, the combination of the one or more groups of error correcting parity bits 820 and the coordinate data 810 may form one or more error correcting codes. While the one or more groups of error correcting parity bits 820 are schematically illustrated as being separate from the coordinate data, it is to be understood that this is merely for ease of illustration and the present disclosure is not so limited. Each of the error correcting parity bits 820 may be separate from or distributed throughout the coordinate data 810, depending on the particular type of error correcting code implemented.

[0221] The coordinate value(s) 812 may depend on the application of the fiducial marker 700. The position data 800 may be indicative of a position of the fiducial marker 700. In such examples, the coordinate value(s) 812 may comprise any one of: a single value corresponding to a row index of the fiducial marker 700 when disposed within a single row of like fiducial markers, such as in the example shown in Fig. 3a; cartesian coordinate values (i.e. x coordinate and y coordinate values) corresponding to a position of the fiducial marker 700, wherein such cartesian coordinate values may correspond to an array index of the fiducial marker 700 when disposed within a cartesian array of like fiducial markers, such as the cartesian array shown in Fig. 3b, or an absolute position of the fiducial marker 700 on the substrate 730; polar coordinate values (i.e. radial distance and angle values) corresponding to a position of the fiducial marker 700, wherein such polar coordinate values may correspond to an array index of the fiducial marker 700 when disposed within a polar array of like fiducial markers, such as the polar array shown in Fig. 3c, or an absolute position of the fiducial marker 700 on the substrate 730.

[0222] Additionally or alternatively, the position data 800 may be indicative of an offset position relative to the fiducial marker 700, in accordance with examples disclosed herein. In such examples, the coordinate value(s) 812 may comprise cartesian or polar coordinate values corresponding to an offset distance relative to the fiducial marker 700.

[0223] Figure 8b schematically illustrates various example configurations 822, 824 of the coordinate data 810 shown in Figure 8a, in addition to the relationship between these various example configurations. The coordinate data 810 of the position data 800 shown in Figure 8a may correspond to (e.g. comprise or consist of) either or both of the example coordinate data configurations 822, 824 shown in Figure 8b.

[0224] A first example coordinate data configuration 822 may comprise the one or more coordinate values 812. Accordingly, in examples wherein the coordinate data 810 of the position data 800 shown in Figure 8a corresponds to the coordinate data configuration 822 shown in Figure 8b, the coordinate data 810 may (e.g. directly) comprise the one or more coordinate values 812. In examples where the one or more coordinate values 812 comprises a plurality of coordinate values (such as x coordinate and y coordinate values of cartesian coordinate values, or a radial distance value and an angle value of polar coordinate values, in accordance with any examples disclosed herein), the first coordinate data configuration 822 may comprise any suitable combination of the plurality of coordinate values 812. For example, each of said values may be appended, interleaved, or otherwise combined.

[0225] A second example coordinate data configuration 824 (which may be referred to as scrambled coordinate data configuration 824) may comprise a scrambled variant of the coordinate value(s) 812 (as indicated by the arrow 830). Thescrambled coordinate data configuration 824 may correspond to the first coordinate data configuration 822 with one or more of the bits “flipped” (e.g. inverted). For example, the scrambled coordinate data configuration 824 may comprise a deterministically generated pseudorandom or pseudorandom-like binary sequence generated in dependence on the coordinate value(s) 812 of the first example coordinate data configuration 822. As will be discussed further below, the scrambled coordinate data configuration 824 may be generated in dependence on the coordinate value(s) 812 by way of a predetermined scrambling function, which may be deterministic and reversable. Accordingly, the coordinate value(s) 812 may be decodable by reading the scrambled coordinate data configuration 824 of the fiducial marker 700 and applying the inverse of the scrambling function.

[0226] A benefit of the fiducial marker 700 encoding the scrambled coordinate data configuration 824 may be that the clustering of symbol-dense instances of the fiducial marker 700 in arrays as described above is reduced.

[0227] For example, in examples where the fiducial marker 700 is disposed in an array of similar or like fiducial markers and wherein the position data 800 of each marker in the array encodes the respective position of the fiducial marker 700 within the array, encoding the scrambled coordinate data configuration 824 by each of the fiducial markers in the array instead of the (unscrambled) coordinate data configuration 822 may (e.g. on average) increase the difference (i.e. the Hamming distance) between the position data 800 of a given fiducial marker 700 in the array and the position data 800 of one or more of its neighbouring markers. This may in turn reduce the number of instances of neighbouring fiducial markers in the array having highly similar data symbol configurations and may thereby mitigate against the clustering of symbol- dense instances of fiducial marker 700 in the array.

[0228] Another benefit of encoding the scrambled coordinate data configuration 824 may be to inhibit or prevent unauthorised third parties from reading the coordinate value(s) 812.

[0229] The scrambled coordinate data configuration 824 may be generated in dependence on the coordinate value(s) 812 by way of a predetermined scrambling function. The scrambling function may be configured to receive as input coordinate value(s) 812 (e.g. corresponding to a particular position in an array of fiducial markers) and output a scrambled variant thereof. The scrambling function may be configured to deterministically and reversibly convert or transform the binary representation of the coordinate value(s) 812 of the coordinate data configuration 822 into the scrambled variant thereof.

[0230] The configuration of the scrambling function may depend on the application of the fiducial marker 700.

[0231] For example, in examples wherein the fiducial marker 700 encodes the scrambled coordinate data configuration 824 for the purposes of mitigating against the clustering of symbol-dense instances of the fiducial marker 700 in an array of markers as described above (and e.g. not for security purposes), the scrambling function may comprise any suitable function operable to (e.g. on average) reduce the similarity of (i.e. increase the Hamming distance) between neighbouring coordinate values in the array.

[0232] For example, the scrambling function may comprise a predetermined mapping between coordinate values for all positions in the array and corresponding scrambled variants of said coordinate values such that the scrambled variants of the coordinate values corresponding to neighbouring positions in the array are (e.g. on average) more different that their non-scrambled counterparts.

[0233] In other examples, the scrambling function may be configured to generate a pseudorandom or pseudorandomlike sequence in dependence on a binary representation of the coordinate value(s) 812 and a predetermined or a pseudorandomly generated binary sequence. For example, the scrambling function may be configured to receive as input the binary representation of the coordinate value(s) 812 and perform (e.g. among other operations) a bitwise exclusive OR (XOR) operation between the binary represention of the coordinate value(s) 812 and a predetermined binary sequence or a pseudorandomly generated binary sequence. In the latter case, the pseudorandomly generated binary sequence may be generated by a deterministic pseudorandom number generator, including but not limited to a linear feedback shift register (LFSR), such as the Consultative Committee for Space Data Systems (CCSDS) pseudo-randomiser. In such examples, the scrambled coordinate data configuration 824 may have approximately 50% of its bits “flipped” (i.e. inverted) by the scrambling function relative to the non-scrambled coordinate data configuration 822.

[0234] The above example predetermined scrambling functions (which may be referred to as non-cryptographic scrambling functions) may be particularly suitable for applications of the fiducial marker 700 where security is not a particular priority. In other examples, such as wherein the fiducial marker 700 encodes the scrambled coordinate data 824 for the purposes of preventing or inhibiting unauthorised third parties from the reading the position data 800, the scramblingfunction may be a cryptographic scrambling function configured to encrypt the coordinate value(s) 812 in accordance with a predetermined encryption scheme. In such examples, the scrambled coordinate data configuration 824 may comprise one or more ciphertext(s) corresponding to the coordinate value(s) 812. For example, the one or more ciphertext(s) may be generated in dependence on the coordinate value(s) 812 in accordance with the predetermined encryption algorithm and a predetermined encryption key. The one or more cipher text(s) may comprise a single ciphertext corresponding to the coordinate value(s), or respective ciphertexts corresponding to the coordinate value(s) 812.

[0235] In some examples, the scrambled coordinate data configuration 824 may comprise a scrambled variant (e.g. scrambled by way of any one of the non-cryptographic scrambling functions described above) of one or more ciphertext(s) generated by way of the cryptographic scrambling function described above.

[0236] Returning to Figure 8a, the position data 800 may additionally comprise one or more groups of error correcting parity bits 820 such that that position data comprises one or more error correcting codes, as described above. The one or more groups of parity bits 820 may be associated with the coordinate data 810. For example, each of said groups of error correcting parity bits 820 may be generated in accordance with a predetermined error correcting scheme in dependence on the coordinate data 810. That is, in examples wherein the coordinate data 810 corresponds to the first coordinate data configuration 822 shown in Figure 8b, the error correcting parity bits 820 may be generated in dependence on that first coordinate data configuration 822. In examples wherein the coordinate data 810 corresponds to the scrambled coordinate data configuration 824 shown in Figure 8b, the error correcting parity bits 820 may be generated in dependence on that second coordinate data configuration 824.

[0237] Each of the error correcting codes formed by way of the one or more groups of parity bits 820 and the coordinate data 810 may comprise any suitable type of error correcting code, including but not limited to: a Hamming code; a Reed- Solomon code; a Golay code; a low-density parity check (LDPC) code, such as LDPC (3 / 4).

[0238] In examples where the position data 800 comprises x coordinate and y coordinate values of cartesian coordinate values, the position data 800 may encode a single error correcting code associated with (e.g. indicative of) both of said x coordinate and y coordinate values. For example, the coordinate data 810 may comprise both of said x coordinate and y coordinate values and the one or more groups of parity bits 820 may comprise a single group of parity bits associated with both of said x and y coordinate values of the coordinate data 810. As discussed herein, in general, the efficiency of error correcting codes may increase with an increasing number of data bits. Accordingly, this may be more efficient than the position data 800 encoding respective error correcting codes for x and y coordinate values separately. However, it is to be understood that the present disclosure is not so limited. In other examples, the position data 800 may encode a first error correcting code associated with (e.g. indicative of) an x coordinate value of cartesian coordinate values and a second error correcting code associated with (e.g. indicative of) a y coordinate value of cartesian coordinate values. For example, the coordinate data 810 may encode x and y coordinate values separately and the one or more groups of parity bits 820 may comprise a first group of error correcting parity bits associated with the x coordinate value of the coordinate data 810 and a second group of error correcting parity bits associated with the y coordinate value of the coordinate data 810.

[0239] In examples where the position data 800 comprises polar coordinate values comprising a radial distance value and an angle value, the position data 800 may encode a single error correcting code associated with (e.g. indicative of) both of said radial distance and angle values. For example, the coordinate data 810 may comprise both of said radial distance and angle values and the one or more groups of parity bits 820 may comprise a single group of parity bits associated with both of said radial distance and angle values the coordinate data 810. For the reasons discussed above, this may be more efficient than the position data 800 encoding respective error correcting codes for radial distance and angle values separately. However, it is to be understood that the present disclosure is not so limited. In other examples, the position data 800 may encode a first error correcting code associated with (e.g. indicative of) a radial distance value of polar coordinate values and a second error correcting code associated with (e.g. indicative of) an angle value of polar coordinate values. For example, the coordinate data 810 may encode radial distance and angle values separately and the one or more groups of parity bits 820 may comprise a first group of parity bits associated with the radial distance value of the coordinate data 810 and a second group of parity bits associated with the angle value of the coordinate data 810.

[0240] Returning to Figures 7a and 7b, while the alignment pattern 710 shown in Figure 7a and 7b is schematically illustrated to have a particular configuration, it is to be understood that this is merely for illustrative purposes and that the present disclosure is not so limited. The alignment pattern 710 may comprise any suitable alignment pattern, such as those described elsewhere herein.

[0241] While the one or more data symbols 720 are schematically illustrated as being circular, it is to be understood that the present disclosure is not so limited and that each of the one or more data symbols 720 may have any suitable shape. Each of the one or more data symbols 720 may comprise any suitable material or materials (e.g. that can be discriminated from the surface of the substrate 730 on which the fiducial marker 700 is disposed e.g. at least by way of imaging modalities intended to be used to read the fiducial marker 700). As an illustrative and non-limiting example, each of the one or more data symbols 720 may comprise one or more metals formed on the substrate 730 by way of conventional lithographic patterning and metal deposition techniques.

[0242] While the fiducial marker 700 schematically illustrated in Fig. 7b has 24 predetermined symbol locations 740, it is to be understood that the present disclosure is not so limited and that the fiducial marker 700 may comprise any suitable number of predetermined symbol locations 740.

[0243] In addition to or as an alternative to being configured to encode position data, the one or more data symbols 720 may be configured to encode further marker data. The further marker data may comprise any type or any combination of marker data disclosed herein. For example, the further marker data may comprise, instructions, for example instructions to be followed by an automated process (e.g. by a computer). Additionally, or alternatively, the further marker data may comprise one or more unique identifiers. For example, for each die or device in a manufacturing run, an optically encoded marker or set of markers may be provided to track manufacturing processes. Unique identifiers may be used for anticounterfeiting purposes, for example to label high value objects. The further marker data may comprise, for example, a security encryption key, such as a private key of a private-public key pair. As such, the marker 700 may be configured to hold digital currency keys at nanoscale for safe keeping. Additionally, or alternatively, the further marker data may comprise information concerning regions of interest, for example in microscopy, biomedical imaging, and the like. Additionally, or alternatively, further marker data may be used in (e.g. microscopic) augmented reality to enable a computer vision system to overlay a particular image at a certain point on the substrate when the marker 700 is in view.

[0244] The further marker data may be compressed, for example using one or more lossless compression techniques.

[0245] The further marker data may be scrambled in accordance with examples disclosed herein. For example, the further marker data may be scrambled by way of any one or any combination of the predetermined scrambling functions disclosed herein.

[0246] The further marker data may comprise one or more error correcting codes, in accordance with examples disclosed herein.

[0247] Figure 9 depicts a flow chart 900 schematically illustrating a method of generating a layout for fabricating the data symbols 720 discussed herein. It may be that said method is a computer-implemented method. In such examples, the flowchart 900 may be carried out by computer program instructions executed by general purpose processing circuitry. In such examples, the layout generated by said method may be layout data. Said layout data may be in any suitable format, such as those described herein.

[0248] At block 910 one or more coordinate values are obtained, for example, by way of user input. The one or more coordinate values may be in accordance with examples disclosed herein. Optionally, at block 910, further marker data in accordance with examples disclosed herein is additionally obtained.

[0249] Optionally, at block 920, scrambled coordinate data may be generated in dependence on the obtained coordinate value(s), in accordance with examples disclosed herein. For example, the scrambled coordinate data may be generated in dependence on the obtained coordinate value(s) and a predetermined scrambling function, in accordance with examples disclosed herein. In some examples, the scrambled coordinate data may comprise one or more ciphertext(s) corresponding to the obtained coordinate value(s), in accordance with examples disclosed herein. In some examples, the scrambled coordinate data may comprise (non-cryptographically) scrambled variants of the one or more ciphertext(s), in accordance with examples disclosed herein. In examples wherein further marker data is obtained at block 910, at block 920 the further marker data may additionally be scrambled in accordance with examples disclosed herein. For example, the further marker data may be scrambled to generate scrambled further marker data by way of any one or any combination of the predetermined (e.g. cryptographic and / or non-cryptographic) scrambling functions disclosed herein.

[0250] Optionally, at block 930, one or more groups of error correcting parity bits are generated in dependence on the coordinate value(s), in accordance with examples disclosed herein. In examples wherein block 920 is performed, the one or more groups of error correcting parity bits may be generated depending on the scrambled coordinate data generated atblock 920. Alternatively, in examples wherein block 920 is not performed, the one or more groups of error correcting parity bits may be generated directly on the coordinate value(s) obtained at block 910.

[0251] In examples wherein further marker data is obtained at block 910, at block 930 one or more additional groups of error correcting parity bits may be generated in dependence on the further marker data, in accordance with examples disclosed herein. In examples wherein the further marker data is scrambled at block 920, the one or more additional groups of error correcting parity bits may be generated in dependence on the scrambled further marker data. Alternatively, in examples wherein the further marker data is not scrambled at block 920, the one or more additional groups of error correcting parity bits may be generated directly on the further marker data obtained at block 910.

[0252] At block 940, position data is generated. The position data comprises coordinate data. The coordinate data may comprise the coordinate value(s) obtained at block 910. Alternatively, the coordinate data may comprise the scrambled coordinate data generated at block 920. In examples wherein block 930 is performed, the position data may additionally comprise the one or more groups of error correcting parity bits generated at block 930. In such examples, the coordinate data and the one or more groups of parity bits may collectively form one or more error correcting codes.

[0253] In examples wherein the further marker data is obtained at block 910 and wherein one or more groups of additional error correcting parity bits are generated at block 930, block 940 may additionally comprise generating one or more error correcting codes associated with the further marker data, said one or more error correcting codes comprising the further marker data (or the scrambled further marker data if generated) and the one or more additional error correcting parity bits generated depending thereon at block 930.

[0254] At block 950, a layout is generated comprising a spatial configuration of one or more data symbols disposed at respective predetermined symbol locations configured to form a binary representation of the position data generated at block 940. In examples wherein further marker data is obtained at block 910, the spatial configuration of the one or more data symbols may further form a binary representation of any one of: the further marker data obtained at block 910; the scrambled further marker data generated at block 920 (when generated); the one or more error correcting codes associated with the further marker data generated at block 940 (when generated).

[0255] The layout may additionally comprise the alignment pattern 710 described herein.

[0256] Optionally, at block 950, one or more (e.g. photo) lithography masks are fabricated depending on the generated layout. For example, each of the one or more lithography masks may define a respective lithographic pattern corresponding to the generated layout or a respective portion thereof.

[0257] Optionally, at block 950, the fiducial marker 700 is fabricated depending on the generated layout. For example, fabricating the fiducial marker 700 depending on the generated layout may comprise (in addition to other process steps, such as etch or deposition processing steps) lithographically patterning a substrate depending on said generated layout to form the one or more data symbols 720 (and e.g. the alignment pattern 710) of the fiducial marker 700 thereon.

[0258] Figure 10 depicts a flow chart 1000 schematically illustrating a method of decoding the position data from the fiducial marker 700 described herein. It may be that said method is a computer-implemented method. In such examples, the flow chart 1000 may be carried out by computer program instructions executed by general purpose processing circuitry.

[0259] At block 1010, an image of the fiducial marker 700 disposed on the substrate 730 is obtained. The image may be an optical image, an SEM image, an AFM image, or any other suitable type of image.

[0260] At block 1020, a configuration of the data symbol(s) 720 is determined depending on the obtained image. For example, each of the predetermined symbol locations 740 within the obtained image may be identified e.g. by way of a computer vision system identifying a position of the alignment pattern 710 within the image and determining the positions of the predetermined symbol locations 740 in relation thereto. The configuration of the data symbols 720 may then be determined by, for each of the determined symbol locations 740, determining if a data symbol 720 is present or absent. Position data may be obtained from the obtained configuration of the data symbol(s) 720 by mapping, for each symbol location 740, a present data symbol 720 to a first binary value and an absent data symbol to a second binary value, in accordance with examples disclosed herein.

[0261] In examples wherein the fiducial marker additionally encodes further marker data, at block 1020, further marker data may be additionally obtained from the configuration of the data symbol(s) 720 based on the above mapping.

[0262] At block 1030, coordinate data is obtained from the determined position data (e.g. based on a predetermined format of the position data).

[0263] In examples in which the position data comprises one or more error correcting codes associated with (e.g. indicative of) the coordinate data, optionally, at block 1040, the error correcting code(s) are evaluated to determine if the coordinate data is valid or if an error has been detected. If an error is detected and the error is correctable, block 1040 may further comprise generating corrected coordinate data depending on the error correcting code(s), in accordance with the predetermined error correcting scheme used to generated said code(s). In examples where the fiducial marker 700 additionally encodes further marker data by way of one or more error correcting codes associated therewith, optionally, at block 1040, the error correcting code(s) are evaluated to determine if the further marker data is valid or if an error has been detected. If an error is detected and the error is correctable, block 1040 may further comprise generating corrected further marker data depending on the error correcting code(s), in accordance with the predetermined error correcting scheme used to generated said code(s).

[0264] In examples wherein the position data comprises scrambled coordinate data, optionally, at block 1050, descrambled coordinate data is generated depending on the predetermined scrambling function used to generate the scrambled coordinate data. For example, in examples where the scrambled coordinate data is generated by way of a non- cryptographic scrambling function, de-scrambling the coordinate data may comprise applying an inverse of the predetermined scrambling function to the scrambled coordinate data. In examples, wherein the scrambled coordinate data is generated by way of a cryptographic scrambling function, de-scrambling the coordinate data may comprise decrypting the scrambled coordinate data depending on the predetermined encryption algorithm and predetermined key by which the data was encrypted.

[0265] In examples wherein the fiducial marker 700 additionally encodes scrambled further marker data, optionally, at block 1050, de-scrambled further marker datamay be generated depending on the predetermined scrambling function used to generate the scrambled further marker data, in accordance with examples disclosed herein.

[0266] Figure 11 depicts a flow chart 1100 schematically illustrating a method of fabricating the fiducial marker 700 as described herein.

[0267] At block 1110, the substrate 730 is provided. The substrate 730 may comprise any suitable substrate. As an illustrative example, the substrate may be a semiconductor substrate (e.g. such as wafer) for fabricating electronic and / or optoelectronic devices thereon.

[0268] At block 1120, the one or more data symbols 720 of the fiducial marker 700 are formed on the substrate 730. Each of the one or more data symbols 720 may be formed by way of any suitable technique, including but not limited to any suitable microfabrication or nanofabrication processing technique. For example, the one or more data symbols 720 may be formed by way of conventional lithographic patterning and deposition techniques. The layout of the one or more data symbols 720 may have been determined as described above in relation to Fig. 10.

[0269] Optionally, at block 1130, the alignment pattern 710 of the fiducial marker 700 is formed on the substrate 730. The alignment pattern 710 may comprise or correspond to any suitable alignment pattern, in accordance with examples disclosed herein. The alignment pattern 710 may be formed by way of any suitable technique, including but not limited to any suitable microfabrication or nanofabrication processing technique. While the formation of the alignment pattern 710 is schematically illustrated in Fig. 11 to occur subsequent to the formation of the one or more data symbols 720 at block 1120, it is to be understood that the present disclosure is not so limited. The features of the alignment pattern 710 and each of the one or more data symbols 720 of the fiducial marker 700 may be formed contemporaneously or in any suitable order.

[0270] It will be appreciated that the step of forming the data symbol(s) at block 1120 and the step of forming the alignment pattern at block 1130 may be performed at the same time or in a different order to that shown in Figure 11.

[0271] While not depicted in Fig. 11 for ease of illustration, the method illustrated by the flow chart 1100 may further comprise fabricating a plurality of arrayed instances of the fiducial marker 700 (e.g. in accordance with the example fiducial marker arrays discussed in relation to Figs. 3a-3c). In such examples, blocks 1120 and 1130 may be repeated for each arrayed instance of the fiducial marker 700.

[0272] Figure 12 depicts a flow chart 1200 schematically illustrating a further method of fabricating the fiducial marker 700 as described herein.

[0273] At block 1210, the substrate 730 is provided.

[0274] At block 1220, the data region 715 of the fiducial marker 700 is formed on the substrate 730. The data region 715 may be formed by way of any suitable technique, including but not limited to any suitable microfabrication ornanofabrication processing technique. For example, the data region 715 may be formed by way of conventional lithographic patterning and deposition techniques.

[0275] At block 1230, the alignment pattern 710 of the fiducial marker 700 is formed on the substrate 730. The alignment pattern 710 may be formed by way of any suitable technique, including but not limited to any suitable microfabrication or nanofabrication processing technique. While the formation of the alignment pattern 710 is schematically illustrated in Fig. 12 to occur subsequent to the formation of data region at block 1220, it is to be understood that the present disclosure is not so limited. The features of the data region 715 and of the alignment pattern 710 may be formed contemporaneously or in any suitable order.

[0276] While not depicted in Fig. 12 for ease of illustration, the method illustrated by the flow chart 1200 may further comprise fabricating a plurality of arrayed instances of the fiducial marker 700 (e.g. in accordance with the example fiducial marker arrays discussed in relation to Figs. 3a-3c). In such examples, blocks 1220 and 1230 may be repeated for each arrayed instance of the fiducial marker 700.

[0277] The present disclosure relates to optically encoded fiducial markers suitable for use in microscale or nanoscale applications. Advantageously, by way of the disclosed optical encoding technique, the fiducial markers disclosed herein may enable marker data to be encoded at a relatively high data density relative to known fiducial markers. As such, the fiducial markers disclosed herein may provide for large amounts of data to efficiently encoded.

[0278] Additionally, the present disclosure relates to various ways by which a fiducial marker may encode position data. Advantageously, the ways described may provide for several benefits, including improved security, improved reliability, and improved readability, among others.

[0279] Additionally, the present disclosure relates to an example alignment pattern for a fiducial marker that may provide for the particularly efficient detection thereof.

[0280] The skilled person will recognise that some aspects of the above-described apparatus and methods may be embodied as processor control code, for example on a non-volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog TM or VHDL (V ery high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.

[0281] This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, or component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Accordingly, modifications, additions, or omissions may be made to the systems, apparatuses, and methods described herein without departing from the scope of the disclosure. For example, the components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses disclosed herein may be performed by more, fewer, or other components and the methods described may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. As used in this document, “each” refers to each member of a set or each member of a subset of a set.

[0282] Although exemplary embodiments are illustrated in the figures and described below, the principles of the present disclosure may be implemented using any number of techniques, whether currently known or not. The present disclosureshould in no way be limited to the exemplary implementations and techniques illustrated in the drawings and described above.

[0283] Unless otherwise specifically noted, articles depicted in the drawings are not necessarily drawn to scale.

[0284] All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the disclosure and the concepts contributed by the inventor to furthering the art, and are construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the disclosure.

[0285] Although specific advantages have been enumerated above, various embodiments may include some, none, or all of the enumerated advantages. Additionally, other technical advantages may become readily apparent to one of ordinary skill in the art after review of the foregoing figures and description.

[0286] It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single feature or other unit may fulfil the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope.

Claims

CLAIMS1. A fiducial marker for use in microscale or nanoscale applications, the fiducial marker comprising: one or more data symbols comprising a photonic structure configured to generate a predetermined optical response optically encoding marker data.

2. The fiducial marker of claim 1, wherein the marker data is optically encoded by a colour of the predetermined optical response generated by each of the one or more data symbols.3 The fiducial marker of claim 1 or claim 2, wherein the one or more data symbols are configured to form an m-ary representation of the marker data.4 The fiducial marker of any one of the preceding claims, wherein each photonic structure comprises a predetermined photonic pattern configured to generate its respective predetermined optical response.5 The fiducial marker of claim 4, wherein the predetermined photonic pattern of each respective photonic structure is configured to topographically encode the marker data.6 The fiducial marker of claim 4 or claim 5, wherein each predetermined photonic pattern is configured to topographically encode second marker data, different from the marker data.7 The fiducial marker of any one of claims 4 to 6, wherein each predetermined photonic pattern comprises any one or more of: a plurality of metal elements disposed in a predetermined arrangement; a plurality of dielectric elements disposed in a predetermined arrangement; a plurality of semiconductor elements disposed in a predetermined arrangement; a plurality of polymer elements.8 The fiducial marker of any one preceding claim, wherein each predetermined photonic pattern comprises any one or more of: diffusive reflective structures configured to preferentially scatter selected wavelengths of light; one or more gratings configured to preferentially diffract selected wavelengths of light; one or more interference structures configured to cause destructive interference of selected wavelengths of light; plasmonic structures configured to have a selected plasmonic wavelength; fluorescent structures configured to have a selected emission wavelength; one or more photonic crystal lattices configured to filter selected wavelengths of light.9 The fiducial marker of any one preceding claim, wherein the one or more data symbols comprise a plurality of data symbols, the combination of predetermined optical responses of the plurality of data symbols exhibiting a combined optical response of the fiducial marker encoding the marker data.10 The fiducial marker of claim 9 when dependent through claim 4, wherein a spatial distribution of the predetermined photonic patterns of the photonic structures of the data symbols topographically encodes the marker data11 The fiducial marker of claims 9 or 10 when dependent through claim 4, wherein a spatial distribution of the predetermined photonic patterns of the photonic structures of the data symbols topographically encodes second marker data different from the marker data.

12. The fiducial marker of any one of claims 9 to 11, wherein the data symbols are disposed at respective predetermined positions such that the marker data is optically encoded by the respective predetermined positions and the combined optical response.

13. The fiducial marker of claim 12 when dependent through claim 4, wherein the marker data is topographically encoded by the respective predetermined positions and the respective predetermined photonic patterns of the photonic structures of the data symbols.

14. The fiducial marker of claims 12 or 13 when dependent through claim 4, wherein second marker data, different from the marker data, is topographically encoded by the respective predetermined positions and the respective predetermined photonic patterns of the data symbols.

15. The fiducial marker of any one preceding claim, wherein the marker data comprises one or more error correcting codes.

16. The fiducial marker of any one preceding claim, wherein the marker data comprises scrambled marker data.

17. The fiducial marker of claim 16, wherein the scrambled marker data comprises data generated in dependence on a pseudorandom binary sequence.

18. The fiducial marker of claim 17, wherein the scrambled marker data comprise one or more ciphertexts.

19. The fiducial marker of any one preceding claim, wherein the marker data comprises position data.

20. The fiducial marker of claim 19, wherein the marker data comprises coordinate data.

21. The fiducial marker of claim 20, wherein the coordinate data comprises one or both of: marker position coordinate data indicative of a position of the fiducial marker; offset position coordinate data indicative of an offset position relative to the fiducial marker.

22. The fiducial marker of any one of the preceding claims, further comprising one or more alignment features for aligning to the fiducial marker.

23. The fiducial marker of claim 22, wherein the one or more data symbols are disposed at respective predetermined positions in relation to the one or more alignment features.

24. The fiducial marker of claim 22 or claim 23, wherein the one or more alignment features comprise one or more of the one or more data symbols.

25. The fiducial marker of claim 1, wherein the one or more data symbols comprise: a first data symbol having a first predetermined photonic pattern configured to generate a first predetermined optical response; and a second data symbol having a second predetermined photonic pattern, different from the first predetermined photonic pattern, configured to generate a second predetermined optical response, different from the first predetermined optical response.

26. The fiducial marker of claim 25, wherein the first predetermined optical response has a first spectral content and the second predetermined optical response has a second spectral content, different from the first spectral content; wherein the first spectral content encodes a first portion of the marker data; wherein the second spectral content encodes a second portion of the marker data, different from the first portion of the marker data; and wherein a data content of the first portion of the marker data is different from a data content of the second portion of the marker data.

27. The fiducial marker of claim 26, wherein the first spectral content corresponds to a first colour of light and the second spectral content corresponds to a second colour of light, different from the first colour of light; wherein the first colour of light encodes the first portion of the marker data; and wherein the second colour of light encodes the second portion of the marker data.

28. An apparatus comprising: a substrate; and one or more fiducial markers according to the fiducial marker of any one preceding claim.

29. The integrated circuit structure of claim 28, wherein the one or more fiducial markers comprise a plurality of fiducial markers disposed in an array.

30. A method of generating a layout for fabricating one or more optically encoded data symbols of a machine- readable fiducial marker, the method comprising: obtaining marker data; determining, in accordance with a predetermined optical coding scheme, a configuration of one or more optically encoded data symbols for encoding the marker data; and generating a layout comprising one or more photonic structures defining the one or more optically encoded data symbols according to the determined configuration.

31. The method of claim 30, wherein each of the one or more photonic structures is configured to provide a predetermined optical response for encoding the marker data.

32. The method of claim 30 or claim 31, wherein each of the one or more photonic structures comprises a predetermined photonic pattern configured to topographically encode the marker data.

33. The method of any one of claims 30 to 32, wherein the marker data comprises position data.

34. The method of claim 33, wherein the marker data comprises coordinate data.

35. The method of claim 34, wherein the coordinate data comprises one or both of: marker position coordinate data indicative of a position of the fiducial marker; offset position coordinate data indicative of an offset position relative to the fiducial marker.

36. The method of any one of claims 33 to 35, wherein the obtaining the marker data comprises: obtaining first coordinate data; obtaining second coordinate data; and combining the first coordinate data and the second coordinate data to obtain the marker data.

37. The method of claim 36, wherein the combining the first coordinate data and the second coordinate data to obtain the marker data comprises interleaving the first coordinate data and the second coordinate data.

38. The method of claim 36 or claim 37, wherein the first coordinate data comprises x-coordinate data, and wherein the second coordinate data comprises y-coordinate data.

39. The method of claim 36 or claim 37, wherein the first coordinate data comprises radial polar coordinate data, and wherein the second coordinate data comprises angular polar coordinate data.

40. The method of any one of claims 30 to 39, wherein the determining the configuration of the one or more optically encoded data symbols for encoding the marker data comprises: generating scrambled marker data depending on the marker data in dependence on a predetermined scrambling function; and determining, in accordance with the predetermined optical coding scheme, the configuration of the one or more optically encoded data symbols depending on the generated scrambled marker data.

41. The method of claim 40, wherein the scrambled marker data is generated in dependence on a pseudorandom binary sequence.

42. The method of claim 40 or claim 41, wherein the scrambled marker data comprises one or more ciphertexts.

43. The method of any one of claims 30 to 42, wherein the determining the configuration of the one or more optically encoded data symbols for encoding the marker data comprises: generating an error correcting code depending on the marker data in dependence on a predetermined error correcting coding scheme; and determining, in accordance with the predetermined optical coding scheme, the configuration of the one or more optically encoded data symbols depending on the generated error correcting code.

44. The method of any one of claims 32 to 43, wherein the predetermined photonic pattem(s) are configured to topographically encode second marker data, different from the marker data.

45. The method of any one of claims 30 to 44, further comprising fabricating one or more lithography masks depending on the generated layout.

46. The method of any one of claims 30 to 45, further comprising fabricating a fiducial marker comprising one or more optically encoded data symbols depending on the generated layout.

47. A computer program product comprising machine-readable instructions which, when executed, cause performance of the method according to any one of claims 30 to 46.

48. A computer-readable medium comprising executable instructions which, when executed, cause performance of the method according to any one of claims 30 to 46.

49. A method of decoding data from a fiducial marker as defined in any one of claims 1 to 27, the method comprising: obtaining configuration data indicative of a configuration of the one or more data symbols of the fiducial marker; anddecoding the marker data depending on the obtained configuration data in accordance with a predetermined coding scheme.

50. The method of claim 49, wherein the configuration data is indicative of the predetermined optical response(s) of the one or more data symbols.

51. The method of claim 50, wherein the configuration data is indicative of the predetermined photonic pattem(s) of the one or more data symbols.

52. A method of fabricating a fiducial marker for use in microscale or nanoscale applications, the method comprising: providing a substrate; and forming one or more data symbols on the substrate, the one or more data symbols comprising a photonic structure configured to generate a predetermined optical response optically encoding marker data.