IP Library Granted Patent US 11,748,587
Granted Patent B2
US 11,748,587 · App. 17/382,535 · Granted Sep 5, 2023

Reading a graphic code

Inventors: Paul Azuelos (Courbevoie, FR); Matéo Lostanlen (Courbevoie, FR)
G06K7/1417G06K7/146
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,748,587
App. No.
17/382,535
Granted
Sep 5, 2023
Kind
B2
Abstract

The invention aims at reading, by a reading device, a 2D graphic code comprising zones including data zones encoding information based on real colours in a colour base and calibration zones presenting a predefined reference colour, the method comprising: optical acquisition of the 2D graphic code in current acquisition conditions to obtain image data, measuring of the observable colour in the calibration zones, spatial interpolation based on the observable colours in the calibration zones to estimate the theoretically observable colour for each base colour in the 2D graphic code, and classification based on the spatial interpolation for determining the real colour of analyzed data zones.

Claims (61)

1. A method carried out by a reading device for reading a 2D graphic code comprising a plurality of zones each presenting a real colour which is attributed to the zone in a base of N distinct colours, N being an integer such that N≥2,

wherein said zones comprise:

data zones encoding information based on the real colours of said data zones; and

at least 2N calibration zones at predefined positions in the 2D graphic code, the real colour of each calibration zone being a predefined reference colour in said colour base, the 2D graphic code comprising at least 2 calibration zones for each colour of the colour base,

the method comprising:

optically acquiring the 2D graphic code in current acquisition conditions to obtain image data;

measuring, based on the image data, the observable colour in the calibration zones in the current acquisition conditions;

performing a spatial interpolation, based on the observable colours measured in the calibration zones and predefined positions of said calibration zones, to produce an estimation of the theoretically observable colour in the current acquisition conditions for each colour of the colour base in the data zones as a function of the position of said data zones; and

performing a classification based on the result of the spatial interpolation for determining the real colour attributed to at least one analysed data zone, wherein said classification comprises for each analysed data zone:

comparing the observable colour measured in said analysed data zone with the theoretically observable colour estimated for each colour of the colour base at the position of said analysed data zone; and

determining, as real colour of said analysed data zone, the colour of the colour base of which the theoretically observable colour estimated at the position of said analysed data zone is the closest to the observable colour measured in said analysed data zone,

wherein the data zones are combined into frames of at least two data zones, the zones of the 2D graphic code further comprising verification zones, at least one verification zone being associated with each of said frames;

wherein the spatial interpolation is applied to the data zones and to the verification zones so as to produce an estimation of the theoretically observable colour in the current acquisition conditions for each colour of the colour base in the positions of the data zones and of the verification zones;

wherein the classification is applied to the data zones and to the verification zones so as to determine, based on the spatial interpolation, the real colour attributed to the data zones and to the verification zones of the 2D graphic code, the method comprising an iterative process including during at least one current iteration:

verifying, for each frame of the 2D graphic code, the validity of the real colours determined during the preceding classification for the data zones of said frame, based on the real colour determined during said preceding classification for said at least one verification zone of said frame;

updating of the spatial interpolation by using, as calibration zone, all or some of the zones of the frames of which the colours of the data zones have been determined as being valid during said verification of the current iteration; and

updating of the classification to determine, based on the result of the updated spatial interpolation, the real colour attributed to the data zones and to the verification zones of the 2D graphic code.

2. The method according to claim 1 , further comprising:

determining information encoded in the 2D graphic code based on the real colour determined during said classification as being attributed to each analysed data zone.

3. The method according to claim 1 , further comprising detecting the calibration zones in the 2D graphic code based on the image data and based on previously recorded position data which comprise the predefined positions of each calibration zone in the 2D graphic code.

4. The method according to claim 1 , wherein during the spatial interpolation an estimation of the theoretically observable colour in the current acquisition conditions for each colour of the colour base is produced in the position of each data zone of the 2D graphic code.

5. The method according to claim 1 , wherein the spatial interpolation is performed so as to attribute, for at least one data zone, different weights to the observable colours measured in the calibration zones as a function of the distance separating said calibration zones from said data zone.

6. The method according to claim 5 , wherein during the spatial interpolation the estimation of the theoretically observable colour (CLC) for each colour of the colour base is adapted in each data zone (ZD) such that a greater weight (W) is attributed to an observable colour measured in a first calibration zone presenting a reference colour in the colour base relative to an observable colour measured in at least one other second calibration zone presenting said reference colour if said first calibration zone is closer to said data zone than said at least one second calibration zone.

7. The method according to claim 1 , wherein said comparing comprises:

determining a deviation in respective colour between the observable colour measured in said analysed data zone and the theoretically observable colour estimated for each colour of the colour base at the position of said analysed data zone,

wherein said real colour determined as colour attributed to said analysed data zone is the colour of the colour base for which said deviation is the lowest.

8. The method according to claim 1 , wherein the calibration zones are distributed uniformly over the entire surface of the 2D graphic code.

9. The method according to claim 1 , wherein the calibration zones are distributed randomly over the surface of the 2D graphic code.

10. The method according to claim 1 , further comprising:

detecting aberration zones in the 2D graphic code;

calculating the average position and of the variance in position of the aberration zones in the 2D graphic code; and

locating an aberration region in the 2D graphic code based on the average position and of the variance in position;

wherein the spatial interpolation comprises:

verifying, for each data zone, if it is in the aberration region; and

if the data zone is in the aberration zone, performing the spatial interpolation in said data zone so as to attribute greater weights to the observable colours measured in the calibration zones located in the aberration region than to the observable colours measured in the calibration zones located outside the aberration region.

11. The method according to claim 1 , wherein during the verification the validity of each frame is verified by performing an integrity calculation on the real colours determined during said preceding classification for the data zones of the frame and by comparing the result of said integrity calculation to the real colour determined during said preceding classification for said at least one verification zone of said frame.

12. The method according to claim 11 , wherein each data zone as well as said at least one associated verification zone of each frame of which the colours of the data zones have been determined as being valid during said verification are taken into account as calibration zones during the updating of the spatial interpolation.

13. The method according to claim 11 , wherein, during the updating of the spatial interpolation, the zones of each frame, the real colours of which have been determined as being invalid during the preceding classification, are excluded from the zones taken into account as calibration zones.

14. The method according to claim 1 , wherein during updating of the classification the real colour determined as being attributed to at least one data zone is corrected based on said at least one verification zone associated with the frame of said data zone.

15. The method according to claim 1 , wherein during a current iteration of the iterative process the validity of the colours determined during the preceding classification for the data zones of each frame of the 2D graphic code is verified, prior to updating the spatial interpolation based on the result of the updated spatial interpolation.

16. The method according claim 1 , wherein the method comprises a plurality of iterations of the iterative process, said iterative process being repeated until all the frames of the 2D graphic code are determined as being valid during said verification of a current iteration, the real colours of each data zone and each verification zone being those determined during the updating of the classification of the last iteration.

17. A non-transitory computer program product comprising instructions that, when executed by a processor, cause the processor to execute a method according to claim 1 .

18. A device for reading a 2D graphic code comprising a plurality of zones each presenting a real colour which is attributed to the zone in a base of N distinct colours, N being an integer such that N≥2,

said zones comprising:

data zones encoding information based on the real colours of said data zones; and

at least 2N calibration zones at predefined positions in the 2D graphic code, the real colour of each calibration zone being a predefined reference colour in said colour base, the 2D graphic code comprising at least 2 calibration zones for each colour of the colour base,

the device comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the process to:

optically acquire the 2D graphic code in current acquisition conditions to obtain image data;

measure, based on the image data, the observable colour in the calibration zones in the current acquisition conditions;

perform a spatial interpolation based on the observable colours measured in the calibration zones and the predefined positions of said calibration zones so as to produce an estimation of the theoretically observable colour in the current acquisition conditions for each colour of the colour base in the data zones as a function of the position of said data zones; and

determine based on the result of the spatial interpolation the real colour attributed to at least one analysed data zone, including for each analysed data zone:

compare the observable colour measured in said analysed data zone with the theoretically observable colour estimated for each colour of the colour base at the position of said analysed data zone; and

determine, as real colour of said analysed data zone, the colour of the colour base of which the theoretically observable colour estimated at the position of said analysed data zone is the closest to the observable colour measured in said analysed data zone,

wherein the data zones are combined into frames of at least two data zones, the zones of the 2D graphic code further comprising verification zones, at least one verification zone being associated with each of said frames;

wherein the spatial interpolation is applied to the data zones and to the verification zones so as to produce an estimation of the theoretically observable colour in the current acquisition conditions for each colour of the colour base in the positions of the data zones and of the verification zones;

wherein the classification is applied to the data zones and to the verification zones so as to determine, based on the spatial interpolation, the real colour attributed to the data zones and to the verification zones of the 2D graphic code, the method comprising an iterative process including during at least one current iteration:

verifying, for each frame of the 2D graphic code, the validity of the real colours determined during the preceding classification for the data zones of said frame, based on the real colour determined during said preceding classification for said at least one verification zone of said frame;

updating of the spatial interpolation by using, as calibration zone, all or some of the zones of the frames of which the colours of the data zones have been determined as being valid during said verification of the current iteration; and

updating of the classification to determine, based on the result of the updated spatial interpolation, the real colour attributed to the data zones and to the verification zones of the 2D graphic code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2025
From: IDEMIA FRANCE
To: IDEMIA IDENTITY & SECURITY FRANCE
Reel/Frame 070904/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2021
From: AZUELOS, PAUL; LOSTANLEN, MATÉO
To: IDEMIA FRANCE
Reel/Frame 057581/0832 →
Priority Claims (1)
FR 20 07919 · Jul 27, 2020 · national
Continuity (1)
Related Publication 20220027593A1 · Jan 27, 2022