Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR MULTI-THREAD DECODING BASED ON MULTI-CORE MPU
Document Type and Number:
WIPO Patent Application WO/2017/219441
Kind Code:
A1
Abstract:
Disclosed in the present invention are a method and a system for multi-thread decoding based on a multi-core MPU. The method comprises: a main thread acquires a bar code image, and assigns the image to all idle child threads to decode at the same time; the child threads decode the image after identifying same, and broadcast decoding end information; all child threads stop, according to the decoding end information, decoding the current frame image. The present invention can increase, by means of the described means, the decoding speed of the bar code image, thereby improving the processing speed of a frame, making the speed of payment transactions made by scanning a code faster.

Inventors:
JIN DAN (CN)
WU WEIDONG (CN)
JIANG SHENGZHANG (CN)
KE TING (CN)
Application Number:
PCT/CN2016/092075
Publication Date:
December 28, 2017
Filing Date:
July 28, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJIAN LANDI COMMERCIAL EQUIP (CN)
International Classes:
G06K7/10
Foreign References:
CN101833639A2010-09-15
CN105635740A2016-06-01
CN201859455U2011-06-08
CN101840491A2010-09-22
CN201859454U2011-06-08
CN101840492A2010-09-22
CN201859452U2011-06-08
CN101840493A2010-09-22
CN201820241U2011-05-04
CN101840494A2010-09-22
CN201859456U2011-06-08
CN101840495A2010-09-22
CN201859453U2011-06-08
CN101859365A2010-10-13
CN201859457U2011-06-08
US20140173627A12014-06-19
Attorney, Agent or Firm:
BORSAM INTELLECTUAL PROPERTY(FUZHOU) (CN)
Download PDF:
Claims:
权利要求书

[权利要求 1] 一种基于多核 MPU的多线程解码方法, 其特征在于, 包括:

主线程采集条码图像, 并将图像分派到所有空闲子线程同吋解码; 子线程识别所述图像后进行解码, 并广播解码结束信息;

根据解码结束信息, 所有子线程停止解码当前帧图像。

[权利要求 2] 根据权利要求 1所述基于多核 MPU的多线程解码方法, 其特征在于, 还包括:

主线程创建多个子线程;

通过系统调度, 分别将子线程运行在对应的多个处理器核心上。

[权利要求 3] 根据权利要求 2所述基于多核 MPU的多线程解码方法, 其特征在于, 主线程采集条码图像, 并将图像分派到子线程中的步骤具体为: 主线程持续采集条码图像;

主线程监听所有子线程, 确定空闲子线程;

主线程将图像分派到所有空闲子线程中。

[权利要求 4] 根据权利要求 3所述基于多核 MPU的多线程解码方法, 其特征在于, 子线程识别所述图像后进行解码, 并广播解码结束信息的步骤具体为

所有空闲子线程在对应的处理器核心上对所述图像进行识别、 解码; 解码成功的子线程发送结束事件消息到其他的子线程, 其他子线程停 止解码;

若所有子线程均解码失败, 则停止处理当前帧, 继续处理下一帧图像

[权利要求 5] —种基于多核 MPU的多线程解码系统, 其特征在于, 包括:

图像采集模块, 用于主线程采集条码图像, 并将图像分派到所有空闲 子线程同吋解码;

图像处理模块, 用于子线程识别所述图像后进行解码, 并广播解码结 束信息; 以及用于根据解码结束信息, 所有子线程停止解码当前帧图 像。 [权利要求 6] 根据权利要求 5所述基于多核 MPU的多线程解码系统, 其特征在于, 所述图像采集模块还用于:

主线程创建多个子线程; 通过系统调度, 分别将子线程运行在对应的多个处理器核心上。

[权利要求 7] 根据权利要求 6所述基于多核 MPU的多线程解码系统, 其特征在于, 所述图像采集模块具体用于:

主线程持续采集条码图像;

主线程监听所有子线程, 确定空闲子线程;

主线程将图像分派到所有空闲子线程中。

[权利要求 8] 根据权利要求 7所述基于多核 MPU的多线程解码系统, 其特征在于, 所述图像处理模块具体用于:

所有空闲子线程在对应的处理器核心上对所述图像进行识别、 解码; 解码成功的子线程发送结束事件消息到其他的子线程, 其他解码子线 程则停止解码;

若所有子线程均解码失败, 则所有空闲子线程继续处理下一帧图像。

Description:
基于多核 MPU的多线程解码方法及系统 技术领域

[0001] 本发明涉及软解码技术领域, 尤其是涉及一种基于多核 MPU的多线程解码方法 及系统。

背景技术

[0002] 条码技术由于其识别快速、 准确, 使用便捷等优点, 广泛应用于商业、 图书管 理、 仓储、 邮电、 交通和工业控制等领域。

[0003] 随着互联网和金融信息业的不断结合, 智能手机的不断普及, 支付宝支付、 微 信支付等扫码支付方案不断推广, 使得扫码支付相对于其他移动支付使用更加 便捷。

[0004] 目前, 对条码图像的解码过程基本都是采用串行方式 进行, 往往是首先传输一 帧图像, 并对该帧图像进行解码, 在解码完成后, 传输下一帧图像, 对下一帧 图像进行解码, 传输与解码过程是间断进行, 造成了吋间上的浪费。

[0005] 现有的条码解码过程往往需要对连续输入的多 帧条码图像进行解码, 以提高解 码的正确率。 这就需要提高摄像头的帧率 (30fp S -120fps) , 但系统如果来不及 处理会丢失许多帧数据, 降低了解码的正确率, 同吋会导致 POS主机的扫码支付 交易速度缓慢。

[0006] 安卓系统的 MPU (Micro Processor Unit, 微处理器) 多核技术发展的比较成熟

, 且应用比较广泛, 可以充分利用其多核的优点来提高多线程软件 的性能。 多 核 MPU能将多线程任务分派到不同的核进行运算, 加快线程的处理速度。 通过 提高摄像头的帧率 (30fp S -120fps) , 可以提高扫码支付的速度, 但如果系统无 法匹配摄像头的帧率, 来不及处理图像会丢失许多帧数据, 可能会导致 POS主机 的扫码支付交易失败。

技术问题

[0007] 本发明所要解决的技术问题是: 提供基于多核 MPU多线程的软解码方案, 实现 多个解码子线程并行执行, 能加快条码图像的解码速度, 从而提高帧的处理速 度, 让扫码支付交易的处理速度更快。

问题的解决方案

技术解决方案

[0008] 为了解决上述技术问题, 本发明采用的技术方案为: 提供一种基于多核 MPU的 多线程解码方法, 包括:

[0009] 主线程采集条码图像, 并将图像分派到所有空闲子线程同吋解码;

[0010] 子线程识别所述图像后进行解码, 并广播解码结束信息;

[0011] 根据解码结束信息, 所有子线程停止解码当前帧图像。

[0012] 为解决上述问题, 本发明还提供一种基于多核 MPU的多线程解码系统, 包括: [0013] 图像采集模块, 用于主线程采集条码图像, 并将图像分派到所有空闲子线程同 吋解码;

[0014] 图像处理模块, 用于子线程识别所述图像后进行解码, 并广播解码结束信息; 以及用于根据解码结束信息, 所有子线程停止解码当前帧图像。

发明的有益效果

有益效果

[0015] 本发明的有益效果在于: 区别于现有技术, 本发明通过主线程采集条码图像, 并分派到子线程同吋解码; 子线程成功解码后, 广播解码结束信息, 剩余子线 程停止解码, 继续处理下一帧图像。 通过上述方式, 本发明能加快条码图像的 解码速度, 从而提高帧的处理速度, 让扫码支付交易的速度更快。

对附图的简要说明

附图说明

[0016] 图 1为本发明具体实施例中基于多核 MPU多线程软解码方案的示意框图;

[0017] 图 2为本发明具体实施例中基于多核 MPU多线程软解码方案的流程示意图。

具体实施方式

[0018] 本发明最关键的构思在于: 采集条码图像后, 分派到子线程同吋解码, 在任一 子线程成功解码后, 剩余的解码子线程停止解码当前帧, 并继续处理下一帧图 像。

[0019] 本发明实施例一提供一种基于多核 MPU的多线程解码方法, 包括:

[0020] 主线程采集条码图像, 并将图像分派到所有空闲子线程同吋解码;

[0021] 子线程识别所述图像后进行解码, 并广播解码结束信息;

[0022] 根据解码结束信息, 所有子线程停止解码当前帧图像。

[0023] 区别于现有技术, 本发明通过主线程采集条码图像, 并分派到所有空闲子线程 同吋解码; 子线程成功解码后, 广播解码结束信息, 其他子线程停止解码, 所 有空闲的解码子线程继续读取下一帧图像进行 解码。 通过上述方式, 本发明能 加快条码图像的解码速度, 从而提高帧的处理速度, 让扫码支付交易的处理速 度更快。

[0024] 具体地, 在实施上述步骤之前, 还包括:

[0025] 主线程创建多个子线程;

[0026] 通过系统调度, 分别将子线程运行在对应的多个处理器核心上 。

[0027] 则主线程采集条码图像, 并将图像分派到子线程中的步骤具体为:

[0028] 主线程持续采集条码图像;

[0029] 主线程监听所有子线程, 确定空闲子线程;

[0030] 主线程将图像分派到所有空闲子线程中。

[0031] 子线程识别所述图像后进行解码, 并广播解码结束信息的步骤具体为:

[0032] 所有空闲子线程在对应的处理器核心上对所述 图像进行识别、 解码;

[0033] 解码成功的子线程发送结束事件消息到其他的 子线程, 剩余的几个子线程则停 止解码;

[0034] 若所有子线程均解码失败, 则所有空闲子线程继续对下一帧图像进行解码 。

[0035]

[0036] 对应地, 本发明实施例二提供一种基于多核 MPU的多线程解码系统, 包括: [0037] 图像采集模块, 用于主线程采集条码图像, 并将图像分派到所有空闲子线程同 吋解码;

[0038] 图像处理模块, 用于子线程识别所述图像后进行解码, 并广播解码结束信息; 以及用于根据解码结束信息, 所有子线程停止解码当前帧图像。 [0039] 具体地, 所述图像采集模块还用于:

[0040] 主线程创建多个子线程;

[0041] 通过系统调度, 分别将子线程运行在对应的多个处理器核心上 。

[0042] 所述图像采集模块具体用于:

[0043] 主线程持续采集条码图像;

[0044] 主线程监听所有子线程, 确定空闲子线程;

[0045] 主线程将图像分派到所有空闲子线程中。

[0046] 所述图像处理模块具体用于:

[0047] 所有空闲子线程在对应的处理器核心上对所述 图像进行识别、 解码;

[0048] 解码成功的子线程发送结束事件消息到其他的 子线程, 则其他子线程停止解码

[0049] 若所有子线程均解码失败, 则所有子线程继续处理下一帧图像。

[0050]

[0051] 为方便理解, 以下结合附图 1~2, 通过一个具体实施例进行说明。

[0052] 如图 1所示, 是本发明实施例的一种基于多核 MPU多线程安卓系统软解码方案 示意框图。

[0053] 在本发明实施例中, 以高通 Cortex A7四核处理器为例, 软解码方案包括图像采 集模块和图像处理模块, 图像处理模块创建三个解码子线程参与图像解 码工作 , 采集模块将采集到的图像数据传给处理模块, 三个子线程由系统调度, 分别 运行在处理器核心 1〜3上进行解码运算, 而图像采集模块运行在剩余的一个处 理器核心上, 同吋采集模块继续采集下一帧图像。

[0054] 如图 2所示, 图 2为基于上述框图的具体解码流程图。

[0055] 主线程负责连续采集条码图像并监听所有参与 解码工作的子线程, 每采集到一 帧图像, 即通知所有空闲的解码子线程, 并将图像发送至所有空闲的解码子线 程, 每个空闲解码子线程获得图像数据后, 幵始对当前图像进行解码, 与此同 吋主线程继续采集下一帧图像。 当有一个子线程解码成功, 其他解码子线程立 即结束解码, 加快了条码图像的解码速度, 实现了图像采集和图像解码的并行 操作。 [0056] 本发明实施例具体实施步骤如下:

[0057] 1.主线程创建 3个解码子线程, 由系统调度分别运行在 3个处理器核心上;

[0058] 2.主线程从摄像头持续采集条码图像;

[0059] 3.主线程监听所有解码子线程, 判断是否有空闲子线程, 若有, 则通知所有空 闲的子线程, 将一帧条码图像分派给这几个子线程;

[0060] 4.所有空闲子线程分别在不同的处理器核心上 同一帧图像进行识别、 解码; [0061] 5.当有其中一个子线程成功完成解码吋发送结 事件, 通知其他参与本图像解 码的子线程, 结束对此条码图像的解码, 所有参与此条码图像解码的子线程停 止解码;

[0062] 6.若所有参与此条码图像解码的子线程均解码 败, 则继续处理下一帧图像。

[0063] 本发明提供的基于多核 MPU多线程软解码方案中, 多核 MPU能将多线程任务 分派到不同的核进行运算, 加快线程的处理速度。 通过提高摄像头的帧率 (30fp s-120fps) , 可以提高扫码支付的速度, 因而本发明提高摄像头的帧率, 主线程 采集图像, 创建多个子线程, 同吋对同一帧条码图像进行解码, 有一个线程解 码成功即返回, 实现多个解码子线程并行执行, 能加快条码图像的解码速度, 适应了比较快的帧率, 从而提高帧的处理速度, 让扫码支付交易的处理速度更 快。

因此本发明的有益效果是: 1) 采用连续解码, 短吋间内对同一个条码的多帧 图像进行了解码, 提高了解码的正确率; 2) 采用多核多线程技术, 解码过程分 为几个子线程并行执行, 能加快帧的处理速度, 从而提高条码图像的解码速度