Disclosure of Invention
Therefore, the present invention is directed to overcome the above-mentioned drawbacks of the prior art, and to provide an optical communication device with an anti-counterfeit function, and a corresponding anti-counterfeit method and system.
The purpose of the invention is realized by the following technical scheme:
in one aspect, the present invention provides an optical communication apparatus comprising at least one light source and a controller, the controller controlling the light source to emit different lights to communicate different information, wherein the controller is further configured to:
filling content in the identification information of the optical communication device to be issued;
providing the populated identification information as input to a predetermined transformation function;
controlling the light source to deliver the output value of the transformation function.
In the above optical communication apparatus, the content may be current time information when the identification information is distributed.
In the above optical communication apparatus, the controller may be further configured to control the light source to transfer a function identifier of the transformation function at the same time as transferring the output value of the transformation function.
In the above optical communication apparatus, the controller may be further configured to select one of a plurality of transformation functions set in advance to process the populated identification information.
In the above optical communication apparatus, the controller may fill the content in front of, behind, or across the identification information in a set manner.
In yet another aspect, the present invention provides an anti-counterfeiting system for an optical communication device, comprising the optical communication device as described above and a server, wherein the server is configured to:
receiving information obtained by image acquisition of the optical communication device through an image acquisition device;
providing the information as an input to an inverse transform function corresponding to the transform function;
removing the padded content from the output of the inverse transform function to obtain identification information of the optical communication device;
and verifying whether the identification information is legal identification information.
In the above system, the optical communication device may transfer the function identifier of the transformation function at the same time as transferring the output value of the transformation function; the server may be further configured to:
extracting a function identifier from the received information;
selecting the inverse transform function according to the function identifier.
In the above system, the optical communication apparatus may fill current time information when the identification information is issued as the content; the server may be further configured to:
and judging whether the difference value between the time information and the current time of the server exceeds a preset threshold value, and if so, determining that the received information is invalid information.
In the above system, different groups of optical communication devices or different optical communication devices may be assigned different transformation functions.
In the above system, the server may be configured to verify whether the identification information is legitimate identification information by querying a registered optical label database.
In yet another aspect, the present invention also provides an optical communication device anti-counterfeiting system comprising a server, an optical communication device, and an anti-counterfeiting device associated with the optical communication device, wherein:
the optical communication device comprises at least one light source and a controller, wherein the controller controls the light source to emit different lights to transmit different information;
the anti-counterfeiting device is configured to:
filling content in the identification information of the optical communication device to be issued;
providing the populated identification information as input to a predetermined transformation function;
providing the output value of the transformation function to the optical communication device for distribution; the server is configured to:
receiving information obtained by image acquisition of the optical communication device through an image acquisition device;
providing the information as an input to an inverse transform function corresponding to the transform function;
removing the padded content from the output of the inverse transform function to obtain identification information of the optical communication device;
and verifying whether the identification information is legal identification information.
In the optical communication device anti-counterfeiting system, the anti-counterfeiting device may be further configured to provide the output value of the transformation function to the optical communication device for issuance together with a function identifier of the transformation function; the server may be further configured to extract a function identifier from the received information and select the inverse transform function according to the function identifier.
In the optical communication device anti-counterfeiting system, the server may be configured to verify whether the identification information is legitimate identification information by querying a registered optical label database.
In yet another aspect, the present invention also provides an anti-counterfeiting method for an optical communication device, comprising:
filling content in the identification information of the optical communication device to be distributed and providing the filled identification information as input to a transformation function preset for the optical communication device;
passing the output value of the transform function through the optical communication device;
acquiring an image of the optical communication device through image acquisition equipment to obtain information transmitted by the optical communication device;
receiving, by the authentication server, the information and providing it as input to an inverse transform function corresponding to the transform function;
removing, by the authentication server, the padded content from the output of the inverse transform function, obtaining identification information of the optical communication device;
and verifying whether the identification information is legal identification information or not by the authentication server.
In the above method, further comprising passing a function identifier of the transformation function through the optical communication device; and extracting, by the authentication server, the function identifier from the information and selecting the inverse transform function according to the function identifier.
In the above method, the content may be current time information when the identification information is issued, and the method may further include: and judging whether the difference value between the time information and the current time of the authentication server exceeds a preset threshold value or not by the authentication server, and if so, determining that the received information is invalid information.
In the above method, it may further include assigning different transform functions to different groups of optical communication devices or different optical communication devices.
In the above method, the method may further include selecting one of a plurality of transformation functions set in advance for the identification information of the optical communication apparatus to be distributed to process the padded identification information.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail by embodiments with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In one embodiment of the present invention, an optical communication apparatus capable of transmitting different information by emitting different lights is provided. The optical communication device is also referred to herein as an "optical tag," both of which are used interchangeably throughout this application. The optical communication device comprises at least one light source and a controller for controlling different lights emitted by the light source to convey different information.
Wherein the controller may cause the light source to emit different light by changing a property of the light emitted by the light source. The property of light may be any property that can be perceived by an optical imaging device (e.g., a CMOS imaging device); for example, it may be a property that is perceptible to the human eye, such as intensity, color, wavelength, etc., or it may be another property that is not perceptible to the human eye, such as an intensity, color, or wavelength change of electromagnetic wavelengths outside the visible range of the human eye, or any combination of the above properties. Thus, the change in the property of the light may be a change in a single property or a change in a combination of two or more properties. When selecting the intensity of the light as the property, this can be achieved simply by selecting the light source to be switched on or off. In the following, for simplicity, the light properties are changed by switching the light source on or off, but a person skilled in the art will understand that other ways for changing the light properties are also possible.
Various forms of light sources may be used in the optical label, as long as certain properties thereof that are perceivable by the optical imaging device can be varied at different frequencies. Various common optical devices may be included in the light source, such as light guide plates, diffuser plates, diffusers, and the like. For example, the light source may be one LED lamp, an array of a plurality of LED lamps, a display screen, or a part thereof, and even an irradiation area of light (for example, an irradiation area of light on a wall) may be used as the light source. The shape of the light source may be various shapes such as a circle, a square, a rectangle, a bar, an L-shape, etc.
In one embodiment, the controller of the optical label may control the properties of the light emitted by each light source in order to convey information. For example, a "0" or a "1" of binary digital information may be represented by controlling the turning on and off of each light source, so that a plurality of light sources in the optical label may be used to represent a sequence of binary digital information. As will be appreciated by those skilled in the art, each light source may be used to represent not only a binary number, but also ternary or higher data. For example, each light source may be enabled to represent ternary or higher data by setting the intensity of light emitted by the light source to be selected from three or more levels, or by setting the color of light emitted by the light source to be selected from three or more colors, or even by employing a combination of intensity and color. Therefore, compared with the traditional two-dimensional code, the optical label can remarkably improve the data coding density.
In yet another embodiment, the controller of the optical tag may control the light source to change the properties of the light it emits at a certain frequency, and thus the optical tag of the present invention may represent different data information, e.g. different sequences of binary digital information, at different times. In this way, when the optical label of the present invention is continuously photographed using an optical imaging device (e.g., at a rate of 30 frames/second), each frame image thereof can be used to represent a set of information sequences, thereby further significantly improving the data encoding density thereof compared to the conventional static two-dimensional code.
In embodiments of the present application, the optical label may be imaged using an optical imaging device or an image acquisition device commonly known in the art, and the information transferred, for example, a binary data 1 or data 0 information sequence, is determined from each frame of image, thereby realizing information transfer of the optical label to the optical imaging device. The optical imaging device or image acquisition device may comprise an image acquisition element, a processor, a memory, etc. The optical imaging device or the image capturing device may be, for example, an intelligent mobile terminal with a shooting function, including a mobile phone, a tablet computer, smart glasses, and the like, which may include an image capturing apparatus and an image processing module. A user finds the optical label by naked eyes within a range of sight distance from the optical label, and scans the optical label and carries out information capturing and interpretation processing by enabling the mobile terminal imaging sensor to face the optical label. When the controller of the optical tag controls the light source to change the attribute of the light emitted therefrom at a certain frequency, the image capturing frequency of the mobile terminal may be set to be greater than or equal to 2 times the attribute changing frequency of the light source. By performing a decoding operation on the acquired image frames, a process of recognizing decoding may be completed. In one embodiment, to avoid duplication, omission, etc. of image frames, a sequence number, check bits, time stamps, etc. may be included in the information conveyed by the optical label. If desired, a start frame or an end frame, or both, may be provided in the plurality of image frames to indicate the start or end position of a complete cycle of the plurality of image frames, and the start frame or the end frame may be set to display a particular data combination, such as: all 0's or all 1's, or any particular combination that is not identical to the information that may actually be displayed.
Taking the CMOS imaging device as an example, when a continuous multi-frame image of the light source is photographed by the CMOS imaging device, it is controlled by the controller so that the switching time interval between the operation modes of the light source is equal to the time length of one complete frame imaging of the CMOS imaging device, thereby realizing frame synchronization of the light source and the imaging device. Assuming that each light source transmits 1 bit of information per frame, each light source can deliver 30 bits of information per second for a shooting speed of 30 frames/second, with a coding space of up to 230The information may include, for example, a start frame marker (header), an ID of an optical label, a password, a verification code, website address information, a timestamp, or various combinations thereof, and so forth. The data packet structure can be formed by setting the sequence relation of the various information according to a structuring method. Each time a complete packet structure is received, it is considered to obtain a complete set of data (one packet), which can be further subjected to data reading and verification analysis. Table 1 gives an example data packet structure according to one embodiment of the invention:
TABLE 1
Frame header
|
Attribute field (optional)
|
Data field
|
Check bit
|
Frame end |
Compared with the traditional two-dimensional code, the optical label according to the embodiment of the invention transmits information by emitting different lights, has the advantages of long distance, loose requirement on visible light conditions, strong directivity and positioning, and the information transmitted by the optical label can be rapidly changed along with time, so that large information capacity can be provided. Therefore, the optical label has stronger information interaction capability, thereby providing great convenience for users and merchants. To provide corresponding services to subscribers and merchants based on optical labels, each optical label is assigned a unique Identifier (ID) that is used to uniquely identify or identify the optical label by the manufacturer, manager, user, etc. of the optical label. In many cases, the optical label needs to issue its identifier, and the user obtains its identifier by scanning the optical label to access the service provided based on the optical label. During the period, various safety hazards caused by interception, forgery or replacement of identification information issued by the optical label can exist.
Fig. 1 shows an optical label anti-counterfeiting system according to one embodiment of the invention, which comprises an optical label 30 and an authentication server 40. The optical label 30 typically includes a controller and a light source, and the controller is used to control the light source to emit different lights to transmit different information. The user 10 may use the image capture device 20 (e.g., a cell phone) to image capture the optical label 30 to obtain the information conveyed by the optical label 30 and authenticate the legitimacy of the optical label 30 through the authentication server 40. Image capture device 20 is typically equipped with communication capabilities.
In order to prevent the optical label from being illegally forged or replaced, the optical label 30 is filled with identification information (hereinafter also referred to as an optical label identifier) according to a preset filling rule by a controller thereof every time the identification information is issued, and then the filled identification information is supplied as an input to a preset transformation function, and then the controller controls the light source to display an output value of the transformation function. Wherein the predetermined fill rules and transformation functions are visible only to the optical label 30 and the authentication server 40 and are confidential to the image capture device, the user, the merchant, and other optical label-based service providers. In this embodiment, the filling in of the identification information may cause the optical label to present different encoded information each time the identification information is issued, thereby converting static, unchanging identifier information into dynamically changing information to prevent counterfeiting or replacement of the optical label. For example, the identification information may be populated by the cursor sign controller with randomly generated content (e.g., random numbers) that may be added before, after, or in some manner across from the identification information. Preferably, the current time information when the identification information is issued may be filled in before, after, or arranged across the identification information in a manner such that the optical label displays different contents each time the identification information is issued.
In this embodiment, the specific form of the transformation function is not limited, and any function or transformation rule that can change the populated identification information may be employed. For example, the order of elements in the filled identification information is scrambled according to a certain rule, inversion processing is performed for some positions in the filled identification information, and the like. Preferably, various existing symmetric encryption or asymmetric encryption algorithms can be selected to encrypt the padded identification information. For example, the optical label encrypts the padded identification information with its key, while the authentication server can decrypt the received information with the same key. In an embodiment of the present invention, only a verifier (e.g., authentication server 40) that knows the transformation function can inverse transform the received information to obtain padded identification information of the optical label and further extract the identification information from the padded identification information to verify the legitimacy of the optical label. And f represents any transformation function, and ID represents an optical label identifier, so that the information sent by the corresponding light source is actually controlled to be f (ID + filling information) by the controller each time the optical label issues the identifier. Inverse transformation function f corresponding to f on the verification side-1Processing the received information e to obtain the optical label identifier ID ═ f-1(e) -padding information.
In this embodiment, all optical labels share the same transformation function. The authentication server 40 processes the received information using a predetermined inverse transform function corresponding to the transform function of the optical label to obtain identification information of the optical label. In other embodiments, a portion of the optical labels may be assigned one transformation function, while other optical labels may be assigned another, different transformation function. For example, all optical labels in the same region or belonging to the same service or the same organization may be assigned the same transformation function, while optical labels in different regions or belonging to different services or organizations share different transformation functions. In yet another embodiment, each optical label may also be assigned a unique transformation function. Accordingly, only when the transformation function adopted by the optical label is known, the authentication server 40 can perform corresponding inverse transformation on the received information to obtain the identification information of the optical label. Thus, in yet another embodiment, the optical label 30, while issuing its identification information each time, also issues an identifier of the transform function it uses (hereinafter simply referred to as function identifier) for a verifier, such as the authentication server 40, to select the corresponding inverse transform function according to the function identifier. Taking the packet structure given in table 1 above as an example, the packet sent by the optical tag when issuing its identification information may include a frame header, an attribute field, a data field, a check bit, and a frame trailer. Wherein the attribute field comprises a function selection bit, i.e. an identifier of a transformation function employed by the optical label; the data field contains the output value processed by the transformation function with the filled identification information as input.
With continued reference to fig. 1, in some embodiments, authentication server 40 may have an inverse transform function corresponding to one or more transform functions for the optical label and assign each transform function and its corresponding inverse transform function a unique function identifier. The above information may be stored in a function table as shown in table 2, for example.
TABLE 2
Function identifier
|
Transformation function
|
Inverse transformation function |
When the user 10 captures an image of the optical label using the image capture device 20 and decodes the image, the information conveyed by the optical label may be obtained. User 10 may communicate this information to authentication server 40 via image capture device 20. When authentication server 40 receives information from image capture device 20, it may select a corresponding inverse transform function from the function identifier in the information to inverse transform the information in the data field, extract an optical tag identifier from the inverse-transformed information based on the set padding rule, and if the optical tag identifier is an identifier of an already registered optical tag, verify it, return confirmation information or provide a service based on the optical tag.
In the embodiment where the padding information is the current time information, the validity of the optical label may be further verified by the padding information. For example, after the authentication server 40 extracts the filled time information from the received information, the time information is compared with the current time of the authentication server 40, and if the difference between the two exceeds a certain threshold (for example, a preset interval time for the optical tag to transmit the identification information), the authentication server determines that the received information is invalid and requests to retransmit the verification information. This may further prevent the optical label from being forged or replaced.
In yet another embodiment, two or more transformation functions may be assigned to each optical label. Each time the optical label distributes the identification information, the optical label can randomly select any one of the transformation functions or select the corresponding transformation functions in turn in a certain sequence to transform the information of the optical label, so that the optical label sends different coded information each time the identification information of the optical label is distributed. Preferably, each time the optical label 30 issues its identification information, the controller fills in the identification information according to a set filling rule (for example, fills in the current time information) and selects a transformation function from a plurality of transformation functions, then provides the filled identification information as an input to the selected transformation function, and then controls the light source to display an output value of the transformation function and a function identifier of the selected transformation function.
Fig. 2 is a schematic flow chart illustrating an optical label anti-counterfeiting method according to an embodiment of the invention. The anti-counterfeiting method mainly comprises the steps 201 to 208. More specifically, in step 201, when the optical label 30 issues its identification information, its controller fills the identification information according to a preset filling rule, preferably, the content of each filling is different. The filling of the identification information can make the optical label present different coded information each time the identification information is issued, so that the static unchangeable identifier information is converted into the dynamically changing information to prevent the counterfeiting or replacement of the optical label. For example, the identification information may be populated by the cursor sign controller with randomly generated content (e.g., random numbers) that may be added before, after, or in some manner across from the identification information. Preferably, the current time information when the identification information is issued may be filled in before, after, or arranged across the identification information in a manner such that the optical label displays different contents each time the identification information is issued. Where the pre-established fill rules are visible only to the optical label 30 and the verifier (e.g., authentication server 40) and are kept secret from the image capture device, user, merchant, and other optical label-based service providers.
In step 202, the padded identification information is provided as input to a predetermined transformation function for transformation. The specific form of the transformation function is not limited herein, and any function or transformation rule that can change the populated identification information may be employed. For example, the order of elements in the filled identification information is scrambled according to a certain rule, inversion processing is performed for some positions in the filled identification information, and the like. Preferably, various existing symmetric encryption or asymmetric encryption algorithms can be selected to encrypt the padded identification information. Only a verifier (e.g., authentication server 40) who knows the transformation function can inverse transform the received information to obtain the padded identification information of the optical label and further extract the identification information from the padded identification information, thereby verifying the legitimacy of the optical label.
Next, in step 203, the controller controls the light source to display the output value of the transformation function, thereby completing the issuance of the identification information. In yet another embodiment, the controller of the optical label 30 controls the light source to display the output value of the transformation function while also displaying the identifier of the transformation function it uses for a verifier, such as the authentication server 40, to select the corresponding inverse transformation function according to the function identifier. In embodiments where each optical label is assigned two or more transformation functions, the optical label may transform its optical label information by randomly selecting any one of the transformation functions or by selecting the corresponding transformation functions in turn in an order each time its identification information is issued, such that the optical label transmits a different encoded information each time its identification information is issued. In yet another embodiment, the population or transformation described above may not be performed by the optical label or its controller, but rather the population and transformation of the identification information may be performed by another device capable of communicating with the optical label 30 (e.g., a server for providing information to be displayed to the optical label 20), and then the transformed information is provided to the optical label for rendering or distribution.
As introduced above, user 10 may capture information conveyed by optical label 30 via image capture device 20 (step 204). If the user 10 needs to know and/or verify the identity of the optical label when accessing the service provided based on the optical label, or if the user 10 has a doubt about the authenticity of the optical label 30, the information collected by the image capture device 20 may be sent to an authentication server for verification (step 205). In an embodiment where all optical labels share the same transformation function, the authentication server 40 processes the received information using a preset inverse transformation function corresponding to the transformation function of the optical label, performs inverse transformation on the information (step 206), and then removes padding information from the inverse transformed information based on a preset padding rule to obtain identification information of the optical label (step 207). Next, in step 208, the authentication server determines whether the obtained identification information of the optical label is a legitimate or registered identifier. For example, the corresponding identifier may be looked up in a registered optical tag database, and if found, the identifier is determined to be a legitimate optical tag identifier. The authentication server may return a confirmation that the verification is passed to the requestor (e.g., user 10) that requires verification. The identification of the optical label may be included in the confirmation information. Conversely, if a matching identifier is not found in the optical label database, a risk prompt is sent to the user, suggesting that the optical label may be illegal or risking counterfeiting.
In some embodiments where different transform functions are assigned to different optical labels or different transform functions are used for the same optical label, when the authentication server 40 receives information collected from the image capture device 20, the information in the data field is inversely transformed by selecting a corresponding inverse transform function from the function identifier, and an optical label identifier is extracted from the inversely transformed information based on a set filling rule, and if the optical label identifier is an already registered optical label, verification is passed, and confirmation information is returned and/or identification information of the optical label is provided for subsequent service according to the ID. In the embodiment where the padding information is the current time information, the validity of the optical label may be further verified by the padding information. For example, after the authentication server 40 extracts the filled time information from the received information, the time information is compared with the current time of the authentication server 40, and if the difference between the two exceeds a certain threshold (for example, a preset interval time for the optical tag to transmit the identification information), the authentication server determines that the received information is invalid and requests to retransmit the verification information. This may further prevent the optical label from being forged or replaced.
The anti-counterfeiting method of the present invention can be applied to any optical label (or light source) that can be used to transmit information. For example, the anti-counterfeiting method of the present invention can be applied to a light source (such as the optical communication device described in chinese patent publication CN 104168060A) that transmits information through different stripes based on the rolling shutter effect of CMOS, and can also be applied to an optical label as described in patent CN 105740936A. In addition, the anti-counterfeiting method of the invention can also be applied to an array of optical labels (or light sources).
Reference in the specification to "various embodiments," "some embodiments," "one embodiment," or "an embodiment," etc., means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in some embodiments," "in one embodiment," or "in an embodiment," or the like, in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Thus, a particular feature, structure, or characteristic illustrated or described in connection with one embodiment may be combined, in whole or in part, with a feature, structure, or characteristic of one or more other embodiments without limitation, as long as the combination is not logical or operational.
In the present application, for clarity of explanation, some illustrative operational steps are described in a certain order, but one skilled in the art will appreciate that each of these operational steps is not essential and some of them may be omitted or replaced by others. It is also not necessary that these operations be performed sequentially in the manner shown, but rather that some of these operations be performed in a different order, or in parallel, as desired, provided that the new implementation is not logical or functional.
Although the present invention has been described by way of preferred embodiments, the present invention is not limited to the embodiments described herein, and various changes and modifications may be made without departing from the scope of the present invention.