US 12,131,223 B1
Multi-threading performance improvements for recognition of optical patterns in images
Marco Biasini, Zürich (CH); Vitali Samurov, Tampere (FI); and Iciar Martinez, Madrid (ES)
Assigned to Scandit AG, Zurich (CH)
Filed by Scandit AG, Zürich (CH)
Filed on Sep. 22, 2023, as Appl. No. 18/472,876.
Application 18/472,876 is a continuation of application No. 17/837,870, filed on Jun. 10, 2022, granted, now 11,803,719.
Application 17/837,870 is a continuation of application No. 17/396,123, filed on Aug. 6, 2021, granted, now 11,403,477, issued on Aug. 2, 2022.
Application 17/396,123 is a continuation in part of application No. 17/186,898, filed on Feb. 26, 2021, granted, now 11,290,643, issued on Mar. 29, 2022.
Application 17/396,123 is a continuation in part of application No. 17/105,082, filed on Nov. 25, 2020, granted, now 11,087,105, issued on Aug. 10, 2021.
Claims priority of provisional application 63/044,635, filed on Jun. 26, 2020.
Claims priority of provisional application 63/025,850, filed on May 15, 2020.
Int. Cl. G06K 7/14 (2006.01); G06F 1/16 (2006.01); G06K 7/10 (2006.01); H04N 23/62 (2023.01); H04N 23/67 (2023.01)
CPC G06K 7/146 (2013.01) [G06F 1/1605 (2013.01); G06F 1/1626 (2013.01); H04N 23/62 (2023.01); H04N 23/67 (2023.01); G06K 2007/10524 (2013.01); G06K 7/1413 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for decoding optical patterns in a real scene using multi-threading, the system comprising:
a camera;
one or more processors; and
one or more memory devices storing instructions that, when executed, cause the one or more processors to perform the following steps:
acquiring an image of a scene using the camera of a device;
detecting hardware information of the device, wherein:
the hardware information describes a multi-core processor; and
the multi-core processor comprises first core and a second core; and
the first core is a higher-performance core than the second core;
identifying the first core;
restricting an application for optical pattern scanning to run on the first core, and not the second core, based on identifying the first core as the higher-performance core;
decoding an optical pattern in the image using the application for optical pattern scanning running on the first core, wherein the optical pattern encodes an object identifier; and
enabling the application for optical pattern scanning to run on the second core, after decoding the optical pattern in the image.