WU WEIDONG (CN)
JIANG SHENGZHANG (CN)
KE TING (CN)
CN101833639A | 2010-09-15 | |||
CN105635740A | 2016-06-01 | |||
CN201859455U | 2011-06-08 | |||
CN101840491A | 2010-09-22 | |||
CN201859454U | 2011-06-08 | |||
CN101840492A | 2010-09-22 | |||
CN201859452U | 2011-06-08 | |||
CN101840493A | 2010-09-22 | |||
CN201820241U | 2011-05-04 | |||
CN101840494A | 2010-09-22 | |||
CN201859456U | 2011-06-08 | |||
CN101840495A | 2010-09-22 | |||
CN201859453U | 2011-06-08 | |||
CN101859365A | 2010-10-13 | |||
CN201859457U | 2011-06-08 | |||
US20140173627A1 | 2014-06-19 |
权利要求书 [权利要求 1] 一种基于多核 MPU的多线程解码方法, 其特征在于, 包括: 主线程采集条码图像, 并将图像分派到所有空闲子线程同吋解码; 子线程识别所述图像后进行解码, 并广播解码结束信息; 根据解码结束信息, 所有子线程停止解码当前帧图像。 [权利要求 2] 根据权利要求 1所述基于多核 MPU的多线程解码方法, 其特征在于, 还包括: 主线程创建多个子线程; 通过系统调度, 分别将子线程运行在对应的多个处理器核心上。 [权利要求 3] 根据权利要求 2所述基于多核 MPU的多线程解码方法, 其特征在于, 主线程采集条码图像, 并将图像分派到子线程中的步骤具体为: 主线程持续采集条码图像; 主线程监听所有子线程, 确定空闲子线程; 主线程将图像分派到所有空闲子线程中。 [权利要求 4] 根据权利要求 3所述基于多核 MPU的多线程解码方法, 其特征在于, 子线程识别所述图像后进行解码, 并广播解码结束信息的步骤具体为 所有空闲子线程在对应的处理器核心上对所述图像进行识别、 解码; 解码成功的子线程发送结束事件消息到其他的子线程, 其他子线程停 止解码; 若所有子线程均解码失败, 则停止处理当前帧, 继续处理下一帧图像 [权利要求 5] —种基于多核 MPU的多线程解码系统, 其特征在于, 包括: 图像采集模块, 用于主线程采集条码图像, 并将图像分派到所有空闲 子线程同吋解码; 图像处理模块, 用于子线程识别所述图像后进行解码, 并广播解码结 束信息; 以及用于根据解码结束信息, 所有子线程停止解码当前帧图 像。 [权利要求 6] 根据权利要求 5所述基于多核 MPU的多线程解码系统, 其特征在于, 所述图像采集模块还用于: 主线程创建多个子线程; 通过系统调度, 分别将子线程运行在对应的多个处理器核心上。 [权利要求 7] 根据权利要求 6所述基于多核 MPU的多线程解码系统, 其特征在于, 所述图像采集模块具体用于: 主线程持续采集条码图像; 主线程监听所有子线程, 确定空闲子线程; 主线程将图像分派到所有空闲子线程中。 [权利要求 8] 根据权利要求 7所述基于多核 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) 采用多核多线程技术, 解码过程分 为几个子线程并行执行, 能加快帧的处理速度, 从而提高条码图像的解码速度
Next Patent: IMAGE PREVIEW METHOD AND APPARATUS