A method, system and software providing secure ticketing

The e-ticketing system uses a scrolling series of partial visual codes and transitional effects to validate multiple codes, addressing fraud by ensuring only authorized users access events or services within a valid timeframe.

GB2640433APending Publication Date: 2025-10-22H010 LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
GB2024005464
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-18
Publication Date
2025-10-22

AI Technical Summary

Technical Problem

Existing e-ticketing systems are vulnerable to fraud due to the ease of copying valid codes, allowing multiple users to gain unauthorized access to events or services.

Method used

A method and system that generates and validates electronic tickets as a scrolling series of images, known as a ticket image sequence, where each image contains partial visual codes and transitional effects, requiring multiple valid codes to be scanned and validated against a remote data store, incorporating error correction and time validity checks.

Benefits of technology

Enhances security by making it difficult to reproduce valid codes from screenshots, ensuring only authorized users gain access by validating multiple codes within a specified timeframe.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computer-implemented method of issuing an electronic ticket comprises accessing a data store that contains multiple stored codes and generating a ticket image sequence by: generating a first coded image 24a having: a first portion 25a corresponding to a first visual code 25 associated with a first stored code and a second portion 25b not corresponding to the first visual code; and generating a second coded image having a first portion corresponding to a second visual code associated with a second stored code, and a second portion not corresponding to the second visual code. A ticket image sequence is formed including the first coded image and second coded image. The ticket image sequence can be transmitted to a user’s device. A further device can used to read the first coded image and the second code image and derive first and second candidate codes from these images, respectively. The candidate codes can be matched against the first stored code and the second stored codes, and the ticket image sequence can be validated according to the matches. The second portion 25b of the coded image can comprise incorrect code data inserted into the coded image that error correction techniques can compensate for.
Need to check novelty before this filing date? Find Prior Art

Description

FIELD The present invention relates to a method of providing an electronic ticketing (“e-ticketing”) solution, and to a system for administering the ticketing solution, and software for the same. Particularly, but not exclusively, the invention relates to an electronic ticketing system in which a user may present a verifiable code to an administrator via a display of a smartphone or other electronic device, for scanning by a second device. BACKGROUND E-ticketing applications provide a user with an electronic ticket (“e-ticket”) for an event, and the user subsequently gains access to the event by displaying the e-ticket to an administrator. Traditional styles of e-tickets may be viewed and verified visually as being a ticket corresponding to a particular event, from the information provided by the ticket. However, in order to reduce or prevent copying or unauthorised production of tickets, visual codes have been implemented in e-tickets which may be scanned by the administrator before granting access to the event. Such codes include barcodes and QR codes. Barcodes and QR codes (and other styles of static visual code) provide data in a form that is not readily apparent to someone viewing the ticket without scanning and reading the data encoded in the image, making it difficult to generate new codes that will appear valid to the validation software scanning the images. However, it is still possible to make copies of valid e-tickets which have valid codes embedded in them, meaning that the same e-ticket might be presented multiple times at an event, by multiple users attempting to gain access. In the worst case, the system may determine that the code is valid in each case and allow admission of all users presenting the code. In other cases, the first presentation of the valid code may grant access to that user, but subsequent presentations of the code result in those users being prohibited from entering the event. In such a case, one of the users having the original valid code may be barred from entry, whereas another user with a fraudulently obtained code may be granted access. Secure ticketing systems aim to validate that a particular entity has obtained a valid ticket, and it should be understood that the specific purpose of the ticket is not relevant to the invention. We discuss the context of the system and method for validating tickets for accessing “an event”, but it should be understood that the methods and systems described herein may be used for any secure ticketing system, for purposes such as obtaining a service, obtaining a product, or the like, in addition to obtaining access to events. In other words, an e-ticketing system is used at a point of service, which may involve allowing entrance to a location or event, or alternatively provide access to a service or product, for example. Use of e-tickets is well known, and the described methods and systems are suitable for providing and administering e-tickets for any such use. It is an aim of the present invention to reduce or overcome one or more of the problems associated with prior art methods and associated systems. BRIEF DESCRIPTION OF THE INVENTION According to a first aspect of the invention, we provide a computer-implemented method of validating an electronic ticket, the method including the steps of: using a camera of a first device to scan a display of a second device to obtain first scan data, the second device displaying a ticket image sequence including: a first coded image having a first portion corresponding to a first visual code, and a second portion not corresponding to the first visual code; and a second coded image having a first portion corresponding to a second visual code, and a second portion not corresponding to the second visual code; determining from the first scan data a first candidate code; validating the first candidate code by accessing a data store containing multiple stored codes, and determining that the first candidate code matches a first stored code in the data store, using the camera of the first device, scanning the display of the second device to obtain second scan data of the second coded image; determining from the second scan data a second candidate code; validating the second candidate code by accessing the data store, and determining that the second candidate code matches a second stored code in the data store; and confirming validation of the electronic ticket. Validating the first and second candidate codes may further include determining that the first stored code and second stored code are valid, based on first validity data associated with the first stored code and second validity data associated with the second stored code. The validity data may include at least one of: a timestamp of the time the stored code was added to the data store; and a time of expiry associated with the stored code. Determining that a stored code is valid may include determining whether the time of expiry has been exceeded or whether a predetermined time has passed since the timestamp was applied to the stored code. The first and second visual codes may be generated according to a predetermined subset of allowed codes within a domain, and determining first or second candidate codes from the first or second respective scan data involves determining a closest code within the domain to the code represented in the respective scan data from the subset of allowed codes. The data store may be provided at a server remote from the first device. The ticket image sequence may include n further coded images each having a first portion corresponding to an nth visual code, and a second portion not corresponding to the nth visual code, and wherein the method may further include, prior to confirming validation of the electronic ticket, for each value of n: using the camera of the first device, scanning the display of the second device to obtain nth scan data of the nth coded image; determining from the nth scan data an nth candidate code; and validating the nth candidate code by accessing the data store, and determining that the nth candidate code matches an nth stored code. The ticket image sequence may include between each of the first, second and any further coded images, one or more transitional images. The transitional images may provide transitional effects between each consecutive pair of coded images within the ticket image sequence. The method may further include the step of determining that the transitional effect provided by the transitional images within the ticket image sequence corresponds to an expected transitional effect, prior to confirming validation of the electronic ticket. According to a second aspect of the invention we provide a computer-implemented method of issuing an electronic ticket, the method including the steps of: accessing a data store that contains multiple stored codes; generating a ticket image sequence by: generating a first coded image having: a first portion corresponding to a first visual code associated with a first stored code, and a second portion not corresponding to the first visual code; and generating a second coded image having: a first portion corresponding to a second visual code associated with a second stored code, and a second portion not corresponding to the second visual code; and forming a ticket image sequence including the first coded image and second coded image. Generating the ticket image sequence may further include generating n further coded images each having: a first portion corresponding to an nth visual code associated with an nth stored code, and a second portion not corresponding to the nth visual code. The method may further include: prior to generating a ticket image sequence, determining a subset of the stored codes that are valid based on stored validity data associated with the stored codes; and generating the ticket image sequence using only visual codes associated with stored codes in the subset of valid stored codes. The validity data may include at least one of: a timestamp of the time the stored code was added to the data store; and a time of expiry associated with the stored code. The method may further include a step of communicating the ticket image sequence to a remote device for display on a display of that device. The method may further include generating the first, second and any further visual codes based on the respective first, second and any further stored codes. The first and second and any further visual codes may be QR codes. The ticket image sequence may be stored in Graphics Interchange Format or as a video file format. The first portion of each of the first, second and any further coded images may correspond to between 50% and 99% of its respective visual code. The first portion of each of the first, second and any further coded images may correspond to between 60% and 90% of its respective visual code, and preferably between 70% and 80%. The second portion of each of the first, second and any further coded images may correspond to a different one of the first, second or any further visual codes. According to a third aspect we provide a system providing one or more processors configured to perform the steps of the first or second aspects. According to a fourth aspect we provide a system providing a processor and a storage device, the storage device providing a data store providing multiple stored codes, and the system being configured to: generate a ticket image sequence including: a first coded image having a first portion corresponding to a first visual code associated with a first stored code, and a second portion not corresponding to the first visual code; and a second coded image having a first portion corresponding to a second visual code associated with a second stored code, and a second portion not corresponding to the second visual code; communicate the ticket image sequence to a remote device; receive from a further remote device a request to validate a first candidate code and a second candidate code; determining that the first candidate code matches a first stored code in the data store, and determining that the second candidate code matches a second stored code in the data store; and communicating confirmation of validation the first and second candidate codes to the further remote device. According to a fifth aspect, we provide a computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of the first or second aspects. BRIEF DESCRIPTION OF THE FIGURES In order that the present disclosure may be more readily understood, preferable embodiments thereof will now be described, by way of example only, with reference to the accompanying drawings, in which: FIGURE 1 is an illustration of a user device for use with systems and methods of the described technology; FIGURE 2 is an illustration of first and second devices for use with systems and methods of the described technology; FIGURE 3 is a diagram illustrating an exemplary sequence of images providing a ticket image sequence according to embodiments of the described technology; FIGURE 4 is a diagram of a first and second device in combination with a server, and communications between the devices; FIGURE 5 is a diagram of a first device for use with embodiments of the described technology; FIGURE 6 is a diagram of a second device for use with embodiments of the described technology; and FIGURE 7 is a diagram of a server for use with embodiments of the described technology. DETAILED DESCRIPTION OF THE DISCLOSURE We now describe systems and methods, and software for providing an e-ticketing” solution. In broad terms, the system provides a mechanism for generating e-tickets to be provided to users via their electronic devices. Typically the user’s electronic device is a smartphone, a smartwatch, or a tablet device, but might alternatively be a laptop or any other suitable electronic device having a means of displaying a ticket. The point of service may be an entrance to a location or event, or access to a service or product, for example. Use of e-tickets is well known, and the described methods and systems are suitable for providing and administering e-tickets for any such use. With reference to Figures 1 and 2 of the drawings, the user displays the e-ticket to an administrator at a point of service. The administrator scans the presented e-ticket using another electronic device - which may be another smartphone or table, for example. We refer to the administrator’s device as a first device 10, and the user’s electronic device on which the e-ticket is displayed, as a second device 18. Any electronic device providing or connectable to a camera may provide a suitable first device 10. Having scanned the e-ticket, the administrator’s first device 10 communicates with a remote server 26 to confirm that the scanned ticket is valid, comparing the scanned data to codes stored in a data store 38 at the server 26. The administrator is presented with confirmation that the e-ticket has been validated, so that the user may be allowed into the event or to receive the product or service associated with the e-ticket. As shown in Figure 1 and with further reference to Figure 5, the first device 10 provides a display 12, and a camera 52 for scanning the display 20 of the second device 20. To ensure that the e-ticketing system is secure and to minimise or avoid e-tickets being fraudulently shared or copied, the e-ticket is formed as a scrolling series of images referred to as a ticket image sequence 22. Preferably the series of images loops, so that it repeats until its validation has been completed. The ticket image sequence 22 is preferably provided as a Graphics Interchange Format file (a ‘GIF’) or in a video format. Alternatively, the ticket image sequence 22 might be provided by a series of images stored in another format. As seen in Figures 1 and 2, the ticket image sequence is displayed on the display 20 of the second device 18, and scanned by the first device 10 to record first scan data 14 representing the images captured by the camera 52. The ticket image sequence 22 includes multiple codes to be scanned and validated. A set of currently valid codes are held on the server 26, and the ticket image sequence is formed 22 from a set of visual codes representing a subset of the valid codes. In order to make it harder for a user or for a third party to make copies of the codes included in the ticket, the ticket image sequence 22 is configured so that no single image in the sequence contains the whole of any one visual code representing the stored codes on the server 26. In that way, a screenshot or photo captured of the ticket image sequence 22 at any point in time will not provide an entire code, and therefore it is not possible to reproduce visual depictions of all codes included in the sequence. In embodiments of the described technology, and as can be seen in Figures 1 to 4, the visual codes are Quick Response (QR) codes. In other embodiments, the visual codes may be formed using other types of visual encoding systems such as barcodes, for example. In more detail, and as illustrated in Figures 3 and 4, the ticket image sequence 22 is formed as a sequence of images 24a-24f. the images including representations of visual codes. The ticket image sequence 22 provides a first coded image 24a having a first portion 25a corresponding to a first visual code 25 (i.e., the visual code representing one of the stored codes). A second portion 25b of the first coded image 24a does not corresponding to the first visual code 25. In this manner, a portion of the original first visual code 25 is missing from the first coded image 24a. The second portion 25b of the first coded image 24a may include noise or may correspond to a portion of another one of the visual codes represented in the sequence (where one or more of the visual codes are blended, for example). The ticket image sequence 22 also includes a second coded image 24b having a first portion corresponding to a second visual code, and a second portion not corresponding to the second visual code. In embodiments of the technology, the ticket image sequence 22 includes further images. In some embodiments, the ticket image sequence 22 includes further coded images 24c, 24d, 24e, 24f as shown in Figure 3. For example, the ticket image sequence 22 may include n further coded images, each having a first portion corresponding to an nth visual code, and a second portion not corresponding to the nth respective visual code. In embodiments, the ticket image sequence 22 includes coded images 24a-24f containing portions of between three and fifteen visual codes. In embodiments, the ticket image sequence 22 includes images containing portions of between five and twelve visual codes, and more preferably around ten visual codes. Once the ticket image sequence 22 has been scanned, or during the scanning process, as scan data is collected by the first device 10, the method includes determining from the scan data candidate codes represented by the images within the ticket image sequence 22. For example, after first scan data is obtained, the first device 10 determines from the first scan data a first candidate code corresponding to the first coded image 24a. The scan data is formed of the QR code (or other visual code) formed of the first portion 25a representing the first visual code 25, and the second portion 25b that does not represent the first visual code 25. Nevertheless, it cannot easily be determined which parts of the scan data correspond to the first visual code 25 and which parts do not, and so the first candidate code is formed of a portion of ‘correct’ code data, and a portion of ‘incorrect’ code data. Using the example of QR codes as the type of visual code 25 implemented, the QR code generator used to generate the visual codes 25 for use in the ticket image sequence 22 may employ Reed-Solomon codes. For example, the QR codes may incorporate “Level H” error correction, providing up to 30% error correction capability (or Level Q correction allowing up to 25% error correction, for example). In other words, using Level H correction, the scan data may capture only 70% of the underlying visual code 25, and yet using the error correction associated with the Reed-Solomon code, the code itself can be read. Equivalent methods of error correction are known for other forms of visual code, where QR codes are not implemented. In addition to including error correction techniques within the codes, each visual code 25 is generated at the outset according to a rule that defines a predetermined subset of ‘allowed codes’ within a domain. Therefore, given a sufficient degree of redundancy in the domain, the ‘allowed codes’ sparsely populating that domain, the code provided by the scan data may be sufficiently close to one of the allowed codes forthat code to be adopted as the candidate code. In other words, if a sufficient portion of the visual code is scanned, the system can estimate which of the allowed codes is resembled by that portion of the visual code. For at least a subset of the images in the ticket image sequence 22, the portion of the scan data collected that relates to the visual code is sufficiently high that nevertheless the visual code can be confirmed through the use of both error correction, and the projection of the error-corrected code into the domain to find a nearest allowed code from the subset of allowed codes. The candidate code is then validated by comparing it to the codes stored in the data store of the server, and if a match is found, it is confirmed to be valid. Taking the inbuilt error correction into account (which provides for up to 30% error correction), in addition to the sparse population of the codes within the domain, it may be possible to determine a candidate code correctly matching an underlying visual code 25 based on 50% capture of the underlying code. In other words, where the first portion 25a of the code is at or above 50%, it may be possible to determine the candidate code correctly. With reference to Figure 5, we describe the communication between the main components of the system. Using the first device 10, the administrator scans 32 the ticket image sequence 22 displayed on the display 20 of the second device 18, and collects scan data representing multiple of the coded images. From the scan data, candidate codes are estimated as outlined above (i.e., matching to the closest ‘allowed’ codes in the domain), and subsequently those candidate codes are validated. It should be understood that that ticket image sequence 22, and therefore the images captured in the scan data, may not be formed of binary codes. In other words, the pixels representing the visual codes may not be black and white; they may be formed of greyscale values or spectrums of coloured values, for example. Typically, a threshold is applied above which a pixel is considered to be black and below which a pixel is considered to be white, for the purpose of determining the candidate code based on the image. It may be that as one visual code in the sequence transitions to the next, pixels forming the first visual code remain ‘visible’ in the transitional images but have a lower greyscale value than the threshold, and are generally less visible. Therefore, it should be understood that a pixels of a given visual code 25, that are considered to form part of the second portion 25b of a particular coded image 24a-24f, may still have a greyscale value rather than entirely removed. The second portion 25b of the image could, for example, be overlaid with a noise filter, in which case some pixels may remain the same while others are changed by a small or a large amount, resulting in that second portion 25b of the image changing and no longer resembling the original visual code 25. There may be images in the ticket image sequence which do not provide candidate codes matching codes stored in the data store. In this case, those images may not be validated. For example, the ticket image sequence may include thirty images of which ten provide sufficient portions of the underlying visual codes - matching ten corresponding codes stored in the data store. In that case, candidate codes obtained from the scan data must be validated until a predetermined portion of the codes embedded in the ticket image sequence have been validated. By a ‘sufficient portion’ of the underlying visual codes, we mean that the first portion of each of the first, second and any further coded images corresponds to between 50% and 99% of its respective visual code, and more preferably between 60% and 90% of its respective visual code, and still more preferably between 70% and 80%. In embodiments of the technology no more than 90% of any specific visual code is contained within any single image of the sequence, for example. In other embodiments, no more than 80%, or 70%, of any visual code is contained within any single image of the sequence, and in yet further embodiments no more than 60%, or 50%, of any specific visual code is contained within any single image of the sequence. In embodiments of the described technology, 50% of the embedded codes in the ticket image sequence must be validated; in other embodiments, 70%, 80%, 90% or 100% of the visual codes embedded in the ticket image sequence must be validated, for the e-ticket to be confirmed as being valid. In embodiments of the technology, and as shown in Figure 5, the candidate codes are communicated 34 to the server 26 for validation. As the comparison of the candidate codes to the codes stored in the data store 38 is carried out, confirmation of validation of each candidate code is sent 36 to the first device 10. In embodiments, and as shown in Figure 1, a visual indicator 16 is provided on the display 12 of the device, indicating the proportion of codes embedded in the ticket image sequence 22 that have been successfully validated. As a further security measure, codes stored in the data store 38 of the server 26 may only be valid for a certain timeframe. In embodiments of the described technology, as codes are generated and added to the data store 38, each code is associated with stored validity data. In some embodiments, the validity data includes a timestamp of the time and / or date at which the stored code was added to the data store 38. Validating the candidate codes may further include a step of determining whether a predetermined time has passed since the timestamp was applied to the stored code. Where a code is found to have expired in this way, it is no longer deemed valid, and therefore confirming that a candidate code matches that expired code does not result in the candidate code being validated. In other embodiments, the validity data includes a time of expiry associated with the stored code. In such embodiments, where a candidate code matches stored code, but it is found that the time of expiry has been passed, that code is considered no longer to be valid. In order to create the rolling series of images forming the ticket image sequence 22, the sequence of underlying visual codes may first be established, to which a series of image transitions are then applied. For example, between a first visual code and a second visual code, a transition effect (of the types known in the art in video production for example) may be applied. Such transition effects include: dissolve, cut, wipe, fade, zoom, for example, and the transition effects may be applied from one or more of the edges (for a wipe, for example) or from a position within the image (for zoon, for example) or across the entire image at once (for dissolve, for example). Transitions may be applied between each consecutive pair of visual codes within the sequence. Where transitions have been applied in this way, additional transitional images may be included in the ticket image sequence 22. These transitional images may include portions of one or more visual codes, of the images at either end of the transition, and / or additional noise or other effects. It may be the case that the transitional images contain insufficient portions of either the first or the second visual codes associated with the start and the end of the transition, for those transitional images to produce candidate codes that are capable of being validated when scanned. In some embodiments of the technology, in addition to validating the candidate codes in the scan data, it is also required that transitional effects are identified from the sequence of scan data images captured. For example, where it is known that the ticket image sequence is generated using a wipe transition effect, it may be required that transitional images in the sequence must be identified fitting the pattern of a wipe. For example, in such a case, a line of pixels across a portion of the images scanned in sequence should exhibit a similar pattern of change between consecutive captured images. In some embodiments of the technology, the codes held in the data store 38 are encrypted. In such embodiments, a key required for decrypting the codes (i.e., in order to validate candidate codes) may be stored on the server 26, for example. In alternative embodiments, the key required to decrypt the codes may be provided within a coded image within the ticket image sequence 22. For example, the system may be configured to recognise in scan data a decryption key, or when decrypting the visual code storing the key it may become apparent that the data revealed is itself a decryption key and not a code to be used as a candidate code for validation. In some embodiments of the technology, the ordering of the visual codes 25 encoded in the ticket image sequence 22 is stored in the data store 38, for example, or otherwise in the storage device 74 of the server 26. In such embodiments, the candidate codes are validated by the first device 10 in the order in which they are determined from the scan data, and so that ordering should match the order in which the images relating to the visual codes 25 appear in the ticket image sequence 22. In addition to validating the candidate codes as they are determined, a further check may be carried out in which the order of appearance of the candidate codes - and the codes they match in the data store 38 — is checked against the stored order of visual codes. Where the order is found not to match a stored order, it may be the case that the images presented to the first device 10 for scanning, have been copied from an authentic ticket image sequence 22, and presented in a different order. Since it is difficult to establish where each visual code begins in that sequence, this makes it difficult for the sequence to be recreated by stitching together snapshots or stills of the sequence. In this way, using the method outlined above, a user’s electronic ticket can be validated by scanning the ticket image sequence displayed on the display of the user’s device. We now describe in more detail a method of issuing an electronic ticket, with reference to Figure 5 of the drawings. The method broadly involves the steps of accessing the data store 38 at the server 26, that contains multiple stored codes. The ticket image sequence 22 is generated from a subset of those codes. Where validity data is stored in the data store 38 (or is otherwise associated with the codes stored in the data store 38) then only codes deemed to be valid at the time of generation (or for a predetermined period after the time of generation) are used. A first coded image 24a is generated, having a first portion 25a corresponding to a first visual code 25 associated with a first (valid) stored code in the data store 38. As previously described, a portion of the first coded image 24a is adapted not to match the first visual code - so that a second portion 25b of the image does not correspond to the first visual code 25. A second coded image 24b in the sequence is generated having a first portion corresponding to a second visual code associated with a second (valid) stored code, and also having a second portion not corresponding to the second visual code. Typically, as before, multiple further codes are embedded in the sequence, in which case each is generated corresponding to a valid code in the data store, in the same manner. The second portions 25b of the images that are not corresponding to the respective visual codes 25 from which the first portions 25a are generated may be created by application of noise, or by application of a transition effect to the sequence as described above. In that way, where a transitional effect is applied, each visual code may blend in some way into the next in the sequence. What is important is that no complete visual code is provided within any single image in the sequence. The visual codes may be generated using known visual code generators, such as those available for producing QR codes from input data. The ticket image sequence is generated at the server 26 typically in response to a user purchasing the ticket using their user device and / or logging into an account associated with the ticketing system. In this way a request is communicated from the second device 18 to the server 26. The ticket image sequence 22 is therefore generated ‘live’ at the time is needed, and is valid for a certain time period, before the codes used to generate the ticket image sequence 22 expire, leaving the e-ticket invalid. In that case, a user who has validly obtained the ticket, may be able to regenerate the ticket on request, resulting in a new ticket image sequence being generated using current valid codes. The ticket image sequence 22 is communicated 30 to the second device 18 of the user, for display on the display 20 of that device 18. Subsequently, in use, the system receives from the first device 10 - operated by the administrator -a request 34 to validate a first candidate code and a second candidate code (and further codes where further codes are embedded in the ticket image sequence 22. As described above, the system determines whether each of the candidate codes matches a code in the data store 38 (and, if so, whether that code is valid based on its associated validity data). Where the codes are found to match valid codes in the data store 38, the system triggers a communication 36 that the candidate codes have been validated. In embodiments of the described technology, the data store 38 is on a server 26, and the validation process involving checking the candidate codes is carried out at the server 26, and subsequently the communication relating to successful validation (or otherwise) is communicated from the server 26 to the first device 10. In embodiments, the codes recorded in the data store, or the valid codes recorded in the data store, are communicated to the first device 10 so that the validation of candidate codes may be carried out locally on the first device 10. A computer program product is also provided, comprising instructions which, when executed by a computer, cause the computer to carry out the methods described above. It should be understood that while certain steps are described as being carried out on a remote server, those may alternatively be performed on the first device as discussed above. Figures 6, 7 and 8 illustrate the components of the main devices of the system. In embodiments of the technology, the first device 10 provides a display 12. The first device 10 provides a communication module 40 which may be wireless or wired, for sending and receiving data (e.g., providing WiFi connectivity, a data connection enabling 4G / 5G data transfer, or Bluetooth connectivity). The first device 10 further provides a processor 42, memory device(s) 44, storage device(s) 46, and an input device 50 (which may comprise touch screen technology associated with the display 12) for receiving user input. The first device 10 provides a power source 48 which may comprise a power cell which may be removable and / or rechargeable, or may comprise a power connector for connection to a mains supply. The first device 10 further includes a camera 52 for scanning the second device 18. The second device 18 provides a display 20 for displaying information such as the ticket image sequence 22. The second device 18 provides a communication module 56 which may be wireless or wired, for sending and receiving data (e.g., providing WiFi connectivity, a data connection enabling 4G / 5G data transfer, or Bluetooth connectivity). The second device 18 further provides a processor 58, memory device(s) 60, storage device(s) 62, and an input device 68 (which may comprise touch screen technology associated with the display 20) for receiving user input. The second device 18 provides a power source 64 which may comprise a power cell which may be removable and / or rechargeable, or may comprise a power connector for connection to a mains supply. The server 26 provides a communication module 68 which typically provides a cabled connection, for sending and receiving data. The server 26 further provides a processor 70, memory device(s) 72, storage device(s) 74, and a power source 76 which typically comprise a connection to a mains power supply. When used in this specification and claims, the terms "comprises" and "comprising" and variations thereof mean that the specified features, steps or integers are included. The terms are not to be interpreted to exclude the presence of other features, steps or components. The invention may also broadly consist in the parts, elements, steps, examples and / or features referred to or indicated in the specification individually or collectively in any and all combinations of two or more said parts, elements, steps, examples and / or features. In particular, one or more features in any of the embodiments described herein may be combined with one or more features from any other embodiment(s) described herein. Protection may be sought for any features disclosed in any one or more published documents 5 referenced herein in combination with the present disclosure. Although certain example embodiments of the invention have been described, the scope of the appended claims is not intended to be limited solely to these embodiments. The claims are to be construed literally, purposively, and / or to encompass equivalents. 10

Claims

1. A computer-implemented method of validating an electronic ticket, the method including the steps of:using a camera associated with a first device to scan a display of a second device to obtain first scan data, the second device displaying a ticket image sequence including:a first coded image having a first portion corresponding to a first visual code, and a second portion not corresponding to the first visual code; anda second coded image having a first portion corresponding to a second visual code, and a second portion not corresponding to the second visual code;determining from the first scan data a first candidate code;validating the first candidate code by accessing a data store containing multiple stored codes, and determining that the first candidate code matches a first stored code in the data store,using the camera of the first device, scanning the display of the second device to obtain second scan data of the second coded image;determining from the second scan data a second candidate code;validating the second candidate code by accessing the data store, and determining that the second candidate code matches a second stored code in the data store; andconfirming validation of the electronic ticket.

2. The method of claim 1, wherein validating the first and second candidate codes further includes determining that the first stored code and second stored code are valid, based on first validity data associated with the first stored code and second validity data associated with the second stored code.

3. The method of claim 2, wherein the validity data includes at least one of: a timestamp of the time the stored code was added to the data store; and a time of expiry associated with the stored code.

4. The method of claim 3, wherein determining that a stored code is valid includes determining whether the time of expiry has been exceeded or whether a predetermined time has passed since the timestamp was applied to the stored code.

5. The method of any preceding claim, wherein the first and second visual codes are generated according to a predetermined subset of allowed codes within a domain, and determining first or second candidate codes from the first or second respective scan data involves determining a closest code within the domain to the code represented in the respective scan data from the subset of allowed codes.

6. The method of any preceding claim, wherein the data store is provided at a server remote from the first device.

7. The method of any preceding claim, wherein the ticket image sequence includes n further coded images each having a first portion corresponding to an nth visual code, and a second portion not corresponding to the nth visual code, and wherein the method further includes, prior to confirming validation of the electronic ticket, for each value of n:using the camera of the first device, scanning the display of the second device to obtain nth scan data of the nth coded image;determining from the nth scan data an nth candidate code; andvalidating the nth candidate code by accessing the data store, and determining that the nth candidate code matches an nth stored code.

8. The method of any preceding claim, wherein the ticket image sequence includes between each of the first, second and any further coded images, one or more transitional images.

9. The method of claim 8, wherein the transitional images provide transitional effects between each consecutive pair of coded images within the ticket image sequence.

10. The method of claim 9, wherein the method further includes the step of determining that the transitional effect provided by the transitional images within the ticket image sequence corresponds to an expected transitional effect, prior to confirming validation of the electronic ticket.

11. A computer-implemented method of issuing an electronic ticket, the method including the steps of:accessing a data store that contains multiple stored codes;generating a ticket image sequence by:generating a first coded image having:a first portion corresponding to a first visual code associated with a first stored code, anda second portion not corresponding to the first visual code; andgenerating a second coded image having:a first portion corresponding to a second visual code associated with a second stored code, anda second portion not corresponding to the second visual code; andforming a ticket image sequence including the first coded image and second coded image.

12. The method of claim 11, wherein generating the ticket image sequence further includes generating n further coded images each having:a first portion corresponding to an nth visual code associated with an nth stored code, and a second portion not corresponding to the nth visual code.

13. The method of claim 11 or claim 12, further includingprior to generating a ticket image sequence, determining a subset of the stored codes that are valid based on stored validity data associated with the stored codes;and generating the ticket image sequence using only visual codes associated with stored codes in the subset of valid stored codes.

14. The method of claim 13, wherein the validity data includes at least one of: a timestamp of the time the stored code was added to the data store; and a time of expiry associated with the stored code.

15. The method of any one of claims 11 to 14, further including a step of communicating the ticket image sequence to a remote device for display on a display of that device.

16. The method of any one of claims 11 to 15, further including generating the first, second and any further visual codes based on the respective first, second and any further stored codes.

17. The method of any preceding claim, wherein the first and second and any further visual codes are QR codes.

18. The method of any preceding claim, wherein the ticket image sequence is stored in GIF or as a video file format.

19. The method of any preceding claim, wherein the first portion of each of the first, second and any further coded images corresponds to between 50% and 99% of its respective visual code.

20. The method of claim 19, wherein the first portion of each of the first, second and any further coded images corresponds to between 60% and 90% of its respective visual code, and preferably between 70% and 80%.

21. The method of any preceding claim, wherein the second portion of each of the first, second and any further coded images corresponds to a different one of the first, second or any further visual codes.

22. A system providing one or more processors configured to perform the steps of any one of claims 1 to 21.

23. A system providing a processor and a storage device, the storage device providing a data store providing multiple stored codes, and the system being configured to:generate a ticket image sequence including:a first coded image having a first portion corresponding to a first visual code associated with a first stored code, and a second portion not corresponding to the first visual code; anda second coded image having a first portion corresponding to a second visual code associated with a second stored code, and a second portion not corresponding to the second visual code;communicate the ticket image sequence to a remote device;receive from a further remote device a request to validate a first candidate code and a second candidate code;determining that the first candidate code matches a first stored code in the data store, and determining that the second candidate code matches a second stored code in the data store; and5 communicating confirmation of validation the first and second candidate codes to the furtherremote device.

24. A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 21.1021

Citation Information

Patent Citations

  • Systems and methods for an issuer certified card

    US20150269565A1

  • Using dynamic occlusion to protect against capturing barcodes for fraudulent use on mobile devices

    US20190065803A1

  • Electronic Ticket Admission Verification Anti-Counterfeiting System and Method Thereof

    US20200074356A1