CN106095536B - 基于多核mpu的多线程解码方法及系统 - Google Patents
基于多核mpu的多线程解码方法及系统 Download PDFInfo
- Publication number
- CN106095536B CN106095536B CN201610457821.7A CN201610457821A CN106095536B CN 106095536 B CN106095536 B CN 106095536B CN 201610457821 A CN201610457821 A CN 201610457821A CN 106095536 B CN106095536 B CN 106095536B
- Authority
- CN
- China
- Prior art keywords
- sub
- image
- thread
- decoding
- decoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
Abstract
本发明公开了一种基于多核MPU的多线程解码方法及系统,包括:主线程采集条码图像,并将图像分派到所有空闲子线程同时解码;子线程识别所述图像后进行解码,并广播解码结束信息;根据解码结束信息,所有子线程停止解码当前帧图像。通过上述方式,本发明能加快条码图像的解码速度,从而提高帧的处理速度,让扫码支付交易的速度更快。
Description
技术领域
本发明涉及软解码技术领域,尤其是涉及一种基于多核MPU的多线程解码方法及系统。
背景技术
条码技术由于其识别快速、准确,使用便捷等优点,广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域。
随着互联网和金融信息业的不断结合,智能手机的不断普及,支付宝支付、微信支付等扫码支付方案不断推广,使得扫码支付相对于其他移动支付使用更加便捷。
目前,对条码图像的解码过程基本都是采用串行方式进行,往往是首先传输一帧图像,并对该帧图像进行解码,在解码完成后,传输下一帧图像,对下一帧图像进行解码,传输与解码过程是间断进行,造成了时间上的浪费。
现有的条码解码过程往往需要对连续输入的多帧条码图像进行解码,以提高解码的正确率。这就需要提高摄像头的帧率(30fps-120fps),但系统如果来不及处理会丢失许多帧数据,降低了解码的正确率,同时会导致POS主机的扫码支付交易速度缓慢。
安卓系统的MPU(Micro Processor Unit,微处理器)多核技术发展的比较成熟,且应用比较广泛,可以充分利用其多核的优点来提高多线程软件的性能。多核MPU能将多线程任务分派到不同的核进行运算,加快线程的处理速度。通过提高摄像头的帧率(30fps-120fps),可以提高扫码支付的速度,但如果系统无法匹配摄像头的帧率,来不及处理图像会丢失许多帧数据,可能会导致POS主机的扫码支付交易失败。
发明内容
本发明所要解决的技术问题是:提供基于多核MPU多线程的软解码方案,实现多个解码子线程并行执行,能加快条码图像的解码速度,从而提高帧的处理速度,让扫码支付交易的处理速度更快。
为了解决上述技术问题,本发明采用的技术方案为:提供一种基于多核MPU的多线程解码方法,包括:
主线程采集条码图像,并将图像分派到所有空闲子线程同时解码;
子线程识别所述图像后进行解码,并广播解码结束信息;
根据解码结束信息,所有子线程停止解码当前帧图像。
为解决上述问题,本发明还提供一种基于多核MPU的多线程解码系统,包括:
图像采集模块,用于主线程采集条码图像,并将图像分派到所有空闲子线程同时解码;
图像处理模块,用于子线程识别所述图像后进行解码,并广播解码结束信息;以及用于根据解码结束信息,所有子线程停止解码当前帧图像。
本发明的有益效果在于:区别于现有技术,本发明通过主线程采集条码图像,并分派到子线程同时解码;子线程成功解码后,广播解码结束信息,剩余子线程停止解码,继续处理下一帧图像。通过上述方式,本发明能加快条码图像的解码速度,从而提高帧的处理速度,让扫码支付交易的速度更快。
附图说明
图1为本发明具体实施例中基于多核MPU多线程软解码方案的示意框图;
图2为本发明具体实施例中基于多核MPU多线程软解码方案的流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:采集条码图像后,分派到子线程同时解码,在任一子线程成功解码后,剩余的解码子线程停止解码当前帧,并继续处理下一帧图像。
本发明实施例一提供一种基于多核MPU的多线程解码方法,包括:
主线程采集条码图像,并将图像分派到所有空闲子线程同时解码;
子线程识别所述图像后进行解码,并广播解码结束信息;
根据解码结束信息,所有子线程停止解码当前帧图像。
区别于现有技术,本发明通过主线程采集条码图像,并分派到所有空闲子线程同时解码;子线程成功解码后,广播解码结束信息,其他子线程停止解码,所有空闲的解码子线程继续读取下一帧图像进行解码。通过上述方式,本发明能加快条码图像的解码速度,从而提高帧的处理速度,让扫码支付交易的处理速度更快。
具体地,在实施上述步骤之前,还包括:
主线程创建多个子线程;
通过系统调度,分别将子线程运行在对应的多个处理器核心上。
则主线程采集条码图像,并将图像分派到子线程中的步骤具体为:
主线程持续采集条码图像;
主线程监听所有子线程,确定空闲子线程;
主线程将图像分派到所有空闲子线程中。
子线程识别所述图像后进行解码,并广播解码结束信息的步骤具体为:
所有空闲子线程在对应的处理器核心上对所述图像进行识别、解码;
解码成功的子线程发送结束事件消息到其他的子线程,剩余的几个子线程则停止解码;
若所有子线程均解码失败,则所有空闲子线程继续对下一帧图像进行解码。
对应地,本发明实施例二提供一种基于多核MPU的多线程解码系统,包括:
图像采集模块,用于主线程采集条码图像,并将图像分派到所有空闲子线程同时解码;
图像处理模块,用于子线程识别所述图像后进行解码,并广播解码结束信息;以及用于根据解码结束信息,所有子线程停止解码当前帧图像。
具体地,所述图像采集模块还用于:
主线程创建多个子线程;
通过系统调度,分别将子线程运行在对应的多个处理器核心上。
所述图像采集模块具体用于:
主线程持续采集条码图像;
主线程监听所有子线程,确定空闲子线程;
主线程将图像分派到所有空闲子线程中。
所述图像处理模块具体用于:
所有空闲子线程在对应的处理器核心上对所述图像进行识别、解码;
解码成功的子线程发送结束事件消息到其他的子线程,则其他子线程停止解码;
若所有子线程均解码失败,则所有子线程继续处理下一帧图像。
为方便理解,以下结合附图1~2,通过一个具体实施例进行说明。
如图1所示,是本发明实施例的一种基于多核MPU多线程安卓系统软解码方案示意框图。
在本发明实施例中,以高通Cortex A7四核处理器为例,软解码方案包括图像采集模块和图像处理模块,图像处理模块创建三个解码子线程参与图像解码工作,采集模块将采集到的图像数据传给处理模块,三个子线程由系统调度,分别运行在处理器核心1~3上进行解码运算,而图像采集模块运行在剩余的一个处理器核心上,同时采集模块继续采集下一帧图像。
如图2所示,图2为基于上述框图的具体解码流程图。
主线程负责连续采集条码图像并监听所有参与解码工作的子线程,每采集到一帧图像,即通知所有空闲的解码子线程,并将图像发送至所有空闲的解码子线程,每个空闲解码子线程获得图像数据后,开始对当前图像进行解码,与此同时主线程继续采集下一帧图像。当有一个子线程解码成功,其他解码子线程立即结束解码,加快了条码图像的解码速度,实现了图像采集和图像解码的并行操作。
本发明实施例具体实施步骤如下:
1.主线程创建3个解码子线程,由系统调度分别运行在3个处理器核心上;
2.主线程从摄像头持续采集条码图像;
3.主线程监听所有解码子线程,判断是否有空闲子线程,若有,则通知所有空闲的子线程,将一帧条码图像分派给这几个子线程;
4.所有空闲子线程分别在不同的处理器核心上对同一帧图像进行识别、解码;
5.当有其中一个子线程成功完成解码时发送结束事件,通知其他参与本图像解码的子线程,结束对此条码图像的解码,所有参与此条码图像解码的子线程停止解码;
6.若所有参与此条码图像解码的子线程均解码失败,则继续处理下一帧图像。
本发明提供的基于多核MPU多线程软解码方案中,多核MPU能将多线程任务分派到不同的核进行运算,加快线程的处理速度。通过提高摄像头的帧率(30fps-120fps),可以提高扫码支付的速度,因而本发明提高摄像头的帧率,主线程采集图像,创建多个子线程,同时对同一帧条码图像进行解码,有一个线程解码成功即返回,实现多个解码子线程并行执行,能加快条码图像的解码速度,适应了比较快的帧率,从而提高帧的处理速度,让扫码支付交易的处理速度更快。
因此本发明的有益效果是:1)采用连续解码,短时间内对同一个条码的多帧图像进行了解码,提高了解码的正确率;2)采用多核多线程技术,解码过程分为几个子线程并行执行,能加快帧的处理速度,从而提高条码图像的解码速度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于多核MPU的多线程解码方法,其特征在于,包括:
主线程采集条码图像,并将图像分派到所有空闲子线程同时解码,每一空闲子线程解码的条码图像是一样的;
子线程识别所述图像后进行解码,并广播解码结束信息;
根据解码结束信息,所有子线程停止解码当前帧图像。
2.根据权利要求1所述基于多核MPU的多线程解码方法,其特征在于,还包括:
主线程创建多个子线程;
通过系统调度,分别将子线程运行在对应的多个处理器核心上。
3.根据权利要求2所述基于多核MPU的多线程解码方法,其特征在于,主线程采集条码图像,并将图像分派到子线程中的步骤具体为:
主线程持续采集条码图像;
主线程监听所有子线程,确定空闲子线程;
主线程将图像分派到所有空闲子线程中。
4.根据权利要求3所述基于多核MPU的多线程解码方法,其特征在于,子线程识别所述图像后进行解码,并广播解码结束信息的步骤具体为:
所有空闲子线程在对应的处理器核心上对所述图像进行识别、解码;
解码成功的子线程发送结束事件消息到其他的子线程,其他子线程停止解码;
若所有子线程均解码失败,则停止处理当前帧,继续处理下一帧图像。
5.一种基于多核MPU的多线程解码系统,其特征在于,包括:
图像采集模块,用于主线程采集条码图像,并将图像分派到所有空闲子线程同时解码,每一空闲子线程解码的条码图像是一样的;
图像处理模块,用于子线程识别所述图像后进行解码,并广播解码结束信息;以及用于根据解码结束信息,所有子线程停止解码当前帧图像。
6.根据权利要求5所述基于多核MPU的多线程解码系统,其特征在于,所述图像采集模块还用于:
主线程创建多个子线程;
通过系统调度,分别将子线程运行在对应的多个处理器核心上。
7.根据权利要求6所述基于多核MPU的多线程解码系统,其特征在于,所述图像采集模块具体用于:
主线程持续采集条码图像;
主线程监听所有子线程,确定空闲子线程;
主线程将图像分派到所有空闲子线程中。
8.根据权利要求7所述基于多核MPU的多线程解码系统,其特征在于,所述图像处理模块具体用于:
所有空闲子线程在对应的处理器核心上对所述图像进行识别、解码;
解码成功的子线程发送结束事件消息到其他的子线程,其他解码子线程则停止解码;
若所有子线程均解码失败,则所有空闲子线程继续处理下一帧图像。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610457821.7A CN106095536B (zh) | 2016-06-22 | 2016-06-22 | 基于多核mpu的多线程解码方法及系统 |
PCT/CN2016/092075 WO2017219441A1 (zh) | 2016-06-22 | 2016-07-28 | 基于多核 mpu 的多线程解码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610457821.7A CN106095536B (zh) | 2016-06-22 | 2016-06-22 | 基于多核mpu的多线程解码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095536A CN106095536A (zh) | 2016-11-09 |
CN106095536B true CN106095536B (zh) | 2019-06-11 |
Family
ID=57238985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610457821.7A Active CN106095536B (zh) | 2016-06-22 | 2016-06-22 | 基于多核mpu的多线程解码方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106095536B (zh) |
WO (1) | WO2017219441A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537085A (zh) * | 2018-03-07 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种扫码图像识别方法、装置以及设备 |
CN109544439B (zh) * | 2018-10-23 | 2021-06-08 | 百富计算机技术(深圳)有限公司 | 一种基于多核处理器的解码方法、终端设备及存储介质 |
CN111507116A (zh) * | 2019-01-31 | 2020-08-07 | 北京骑胜科技有限公司 | 扫码方法、装置、扫码设备及计算机可读存储介质 |
CN112001199A (zh) * | 2019-05-27 | 2020-11-27 | 深圳市优博讯科技股份有限公司 | 一种多线程动态条码识别方法及装置 |
CN110555326B (zh) * | 2019-09-19 | 2022-10-21 | 福州符号信息科技有限公司 | 基于多核处理器的条码解码方法及其系统 |
US11537429B2 (en) | 2019-12-19 | 2022-12-27 | Red Hat, Inc. | Sub-idle thread priority class |
CN111881698A (zh) * | 2020-06-11 | 2020-11-03 | 上海祥承通讯技术有限公司 | 一种基于安卓系统的扫码头模组多线程扫码处理方法 |
CN112488906B (zh) * | 2020-11-30 | 2023-10-31 | 中科院计算所西部高等技术研究院 | 基于多线程的图像处理方法、计算机设备和存储介质 |
CN112487976B (zh) * | 2020-11-30 | 2023-10-24 | 中科院计算所西部高等技术研究院 | 基于图像识别的监测方法、装置和存储介质 |
CN112926352A (zh) * | 2021-04-07 | 2021-06-08 | 上海商米科技集团股份有限公司 | 一种基于多解码库自学习的条码识读方法 |
CN113297863B (zh) * | 2021-05-17 | 2021-12-24 | 苏州视印智能系统有限公司 | 基于冗余调度的全帧解码固定式工业读码器 |
CN115146664B (zh) * | 2022-09-06 | 2022-12-23 | 无锡盈达聚力科技有限公司 | 图像采集方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833639A (zh) * | 2010-05-25 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种支持多程序并行处理的条码解码装置 |
CN105592314A (zh) * | 2015-12-17 | 2016-05-18 | 清华大学 | 并行解码方法和并行解码装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201859454U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种支持多图像并行处理的条码解码装置 |
CN101840491A (zh) * | 2010-05-25 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一种支持多图像并行处理的条码解码装置 |
CN101840495A (zh) * | 2010-05-25 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一种支持图像并行处理的条码解码装置 |
CN101840493A (zh) * | 2010-05-25 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一种支持多步并行处理的条码解码装置 |
CN201859455U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种支持多程序并行处理的条码解码装置 |
CN201859456U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种条码边界判断装置 |
CN201820241U (zh) * | 2010-05-25 | 2011-05-04 | 福建新大陆电脑股份有限公司 | 一种支持多步并行处理的条码解码装置 |
CN101840492B (zh) * | 2010-05-25 | 2013-11-06 | 福建新大陆电脑股份有限公司 | 一种支持多码制并行处理的条码解码装置 |
CN201859457U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种条码解码芯片 |
CN201859452U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种支持多码制并行处理的条码解码装置 |
CN101840494B (zh) * | 2010-05-25 | 2015-07-01 | 福建新大陆电脑股份有限公司 | 一种条码边界判断装置 |
CN201859453U (zh) * | 2010-05-25 | 2011-06-08 | 福建新大陆电脑股份有限公司 | 一种支持图像并行处理的条码解码装置 |
CN101859365B (zh) * | 2010-05-25 | 2012-07-25 | 福建新大陆电脑股份有限公司 | 一种条码解码芯片 |
US9513910B2 (en) * | 2012-12-18 | 2016-12-06 | International Business Machines Corporation | Requesting shared variable directory (SVD) information from a plurality of threads in a parallel computer |
CN105635740B (zh) * | 2014-10-27 | 2019-05-28 | 阿里巴巴集团控股有限公司 | 对图像进行解码的方法及装置 |
-
2016
- 2016-06-22 CN CN201610457821.7A patent/CN106095536B/zh active Active
- 2016-07-28 WO PCT/CN2016/092075 patent/WO2017219441A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833639A (zh) * | 2010-05-25 | 2010-09-15 | 福建新大陆电脑股份有限公司 | 一种支持多程序并行处理的条码解码装置 |
CN105592314A (zh) * | 2015-12-17 | 2016-05-18 | 清华大学 | 并行解码方法和并行解码装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017219441A1 (zh) | 2017-12-28 |
CN106095536A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095536B (zh) | 基于多核mpu的多线程解码方法及系统 | |
CN101675441B (zh) | 用于改进符号读取的双任务解码器 | |
CN106020948B (zh) | 一种流程调度方法及装置 | |
CN109918141B (zh) | 线程执行方法、装置、终端及存储介质 | |
CN106934318B (zh) | 扫码处理方法、装置及系统 | |
CN105654383A (zh) | 基于流水线架构的低时延fast行情解码装置和方法 | |
CN109544439B (zh) | 一种基于多核处理器的解码方法、终端设备及存储介质 | |
CN103297767A (zh) | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 | |
CN110555326B (zh) | 基于多核处理器的条码解码方法及其系统 | |
CN109389306B (zh) | 一种用户订单的同步方法和装置 | |
US20110137764A1 (en) | Method of Applying Multi-Threaded Framework on Online Charging Network Service | |
CN113286174A (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN105354778A (zh) | 一种候诊叫号方法、装置以及候诊叫号机 | |
CN101833639B (zh) | 一种支持多程序并行处理的条码解码装置 | |
CN201859454U (zh) | 一种支持多图像并行处理的条码解码装置 | |
CN109933394A (zh) | 单屏幕多窗口低延迟编码方法和相关装置 | |
CN101840495A (zh) | 一种支持图像并行处理的条码解码装置 | |
CN112541429B (zh) | 一种智能抓图方法、装置、电子设备以及存储介质 | |
CN101859365B (zh) | 一种条码解码芯片 | |
CN115002541A (zh) | 一种降低客户端云串流渲染的系统 | |
CN104700305A (zh) | 一种安卓平台下任意输入框中获取二维码数据的方法 | |
CN110677715B (zh) | 一种解码方法、解码器、电子设备及存储介质 | |
CN109618207B (zh) | 视频帧的处理方法、装置、存储介质及电子装置 | |
CN201859455U (zh) | 一种支持多程序并行处理的条码解码装置 | |
CN201820241U (zh) | 一种支持多步并行处理的条码解码装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |