低功率多核解码器系统及方法

文档序号:6335555阅读:187来源:国知局
专利名称:低功率多核解码器系统及方法
技术领域
本发明涉及便携数据终端,以及更特别地,涉及被配置为捕捉图像以及解码任何 包含在该图像中的条形码的便携数据终端。
背景技术
例如激光标记读取设备、光学标记读取设备、条形码扫描器和条形码读取器的便 携数据终端(PDT)通常读取由打印标记所表示的数据,所述标记诸如符号、符号体系、以及 条形码。一种符号是矩形条和间隔的阵列,其被以特定方式排列为以机器可读方式表示数 据元素。光学标记读取设备典型地发送光至符号上并且接收从条形码符号或标记散射和/ 或反射回去的光。接收到的光被图像处理器解析以提取由符号代表的数据。激光标记读取 设备典型地利用所发送的激光。一维(ID)光学条形码读取器特征在于读取沿着单轴以条 和间隔的宽度所编码的数据,使得在用足够高的分辨率对符号成像的情况下,此类符号可 通过沿着该轴的单扫描而被读取。
为了在单条形码符号中允许编码更大数量的数据,开发出许多一维(ID)堆栈条 形码符号体系,其将编码数据分成多个行,每一行包含相应的ID条形码样式,其全部或大 部分必须被扫描和解码,然后链接到一起来形成完整的消息。扫描仅在一维仍需要相对较 高的分辨率,但是为了读取整个符号需要多重线性扫描。
作为二维QD)矩阵符号体系而被知晓的一类条形码符号体系被开发出来,相较 于ID符号体系,其提供免定向扫描和更高的数据密度和容量。2D矩阵码在正多边形矩阵中 将数据编码为深色或浅色数据元素,这同时使用了图形查找器、定向及参考结构。
按照惯例,PDT包含中央处理器,其直接控制安装在PDT中的各个电子元件的操 作。例如,中央处理器控制键区输入的检测、显示特征、无线通信功能、触发检测以及条形码 读取和解码功能。更具体地,中央处理器典型地与照明组件和成像组件通信,照明组件被配 置为照亮目标,例如条形码,成像组件被配置为接收目标图像并生成指示其中光学编码的 数据的电输出信号。
输出信号通常代表由成像组件的图像传感器发送的像素数据。因为像素数据的质 量可能不足以高到使得处理器可靠地解码图像中的条形码,PDT通常连续地捕获图像或者 图像帧,直到完成可靠解码。进一步地,在被解码的条形码在ID和2D符号体系间变化的情 况下,PDT通常顺序对多个符号体系执行解码算法。该过程可以是时间密集的,因为处理器 在其能够访问数据以执行解码算法之前必须等待像素数据被保存在存储器中,并且之后在 第二解码算法能够执行之前必须进一步等待解码算法完成。更进一步地,在许多环境下,例 如仓库、购物中心、航运中心以及许多其他的环境下,PDT被用来以串行方式解码条形码,使 得更快的解码操作通常增加吞吐量。
已经做出了尝试尤其是通过多线程来增加解码速度。多线程,或者超线程,允许多 个线程通过如下方式使用单个处理单元,即例如当一个线程遭遇诸如缓存丢失等的延迟时 提供处理器周期给另外一个线程,当片外存储器被访问时,所述延迟将导致处理器遭遇若4干周期的空闲时间。使用多线程,中央处理器空闲时间被最小化但上未被充分并行化。更 进一步地,线程间的背景(context)转换可显著地增加开销,因为一个处理/线程的状态被 保存而另一个被加载,从而进一步最小化任何效率增益。
因此,PDT系统构架的现有技术中存在将允许更快的、充分并行的条形码解码操作 的需要。


本发明参照附图被公开,其中
图1为两个示例性PDT的俯视图和侧透视图。
图加为根据本发明的示例性PDT的示意性方框图。
图2b为根据本发明的示例性PDT的示意性方框图。
图3为根据本发明的示例性多核处理器的示意性方框图。
图4为根据本发明的示例性双端口存储器模块的示意性方框图。
图5为根据本发明的示例性多核处理器的示意性方框图。
需认识到,为明确起见且在认为是适当的情况下,参考标记在图中被重复来指示 相应特征。
具体实施方式
参考图IA和1B,示出用来读取/扫描打印标记的两个示例性PDT 100。PDT外壳 可成形为使用手柄部件104以适于舒服地拿在人手中,并且可包括可手指起动的扫描/捕 获或者触发按钮101以及用于输入数据和命令的键区102,电源按钮,以及用于方便与例如 本地或远程主处理器通信的天线。PDT还包括显示器103,诸如IXD或OLED显示器,例如用 于向用户显示信息。如果显示器103是触摸屏,也可包含手写笔(未示出)以便与触摸屏 交互。包含外壳中的孔,使得照明光学部件108和成像光学部件109具有足够无阻塞的通 路到达目标114。PDT也可以包含用于接收功率供给的功率端口,以及一个或多个通信端口 以便于与网络接口 134的有线或无线通信。尽管本发明是关于PDT来描述的,该发明也可 用于例如任何条形码扫描器、移动设备、移动计算机或个人数字助理。
参考图2,示出了根据本发明一起构成PDT105的基本结构的示意性方框图。 PDT105包括用于照亮目标114的照明组件108,例如条形码,以及用于接收目标114的图 像并生成指示其中光学编码的像素数据的电子输出信号的成像组件109。照明组件108包 括至少一个光源112以及照明光学部件110,诸如一个或多个反射体,以用于从光源在目标 114的方向上引导光。光源112可包括至少一个被配置为发射在近红外范围内的光的LED 和/或至少一个被配置为发射在可见光范围内的光的LED。成像组件102包括2D图像传感 器106,例如CCD、CMOS、匪OS、PMOS, CID或者CMD固态成像传感器,连同用来接收和聚焦目 标114的图像到图像传感器106上的成像光学部件107。
仍参考图2,PDT105进一步包括处理构架115,其通过执行其从数据存储装置122 接收的程序指令来控制PDT105的操作。更特别的,处理构架115被配置为接收、输出以及处 理数据,包括图像/像素数据,操作成像组件109和照明组件108,以及在其他操作中与系统 总线138通信。进一步地,处理构架115可被配置为控制光源112的照明、图像传感器106的定时、模数转换、通过网络接口 134——例如RS-232、RS-485、USB、以太网、Wi-Fi、蓝牙 、 IrDA以及Zigbee接口——将数据发送到读取器外部的远程计算机136的处理器以及从该 处理器接收数据,控制用户输入接口以管理与扫描/触发按钮101和/或键区102的用户 交互,以及通过显示器接口 132控制输出设备103,例如IXD或OLED显示器。处理构架115 包括至少一个如下参照图3和5详细描述的多核处理器116,但是可选地可包含诸如(多 个)VLSI或ASIC集成电路微处理器的(多个)附加处理器或(多个)微处理器。在图加 所示的一个实施例中,数据存储装置12 包含至少一个双端口存储器模块160,诸如RAM, 例如这在下面参照图4描述,但是可选地可包含附加存储器模块,诸如本地的、可网络访问 的、可移动的和/或不可移动的存储器,诸如RAM、ROM和/或闪存。在图2b所示的另一实 施例中,数据存储装置122b包含至少一个单端口存储器模块163,诸如RAM,如后面进一步 所述那样与直接存储器访问(DMA)控制器161通信。数据存储装置122被示为包含诸如操 作系统的应用125、ID解码器127、2D解码器129。解码器127和1 包括程序指令,当由多 核处理器116执行时,这些程序指令如现有技术中那样检索图像像素数据,并解码包含在 图像中的任何条形码。尽管解码器127和1 在图加中被示出为与双端口存储器160分 离,但是在另一实施例中解码器127和1 的程序指令存储在双端口存储器160中。PDT105 还包括一个或多个电源128,例如一个或多个电池和/或用来接收交流电的电路,以及用来 从用户输入设备102接收数据的用户输入接口 130,例如键盘、键区和/或触摸屏。图2中 示出的PDT105结构优选地由一个或多个印刷电路板(未示出)支撑。
参考图3,根据本发明的多核处理器116示出为具有第一核140和第二核142的 双核处理器116a。这些核也可以共享一个缓存,或者在多级缓存构架中,每一个核使用其 自己的缓存(例如Li)并且共享另一个缓存(例如L2)或者其任何组合。在图3所示的实 施例中,第一级缓存144被示出为对于每个核140和142具有指令和数据缓存,第二级缓存 146被示出为在核140和142之间被共享。如在现有技术中公知的那样,核140和142可 被集成在相同的集成电路管芯中,或者它们可被集成到相同的集成电路封装中的多个管芯 上。进一步地,处理器116也可包括一个或多个独立的或共享的总线接口,诸如共享总线接 口 148,用来与系统总线和/或数据存储装置122通信。每个核140和142具有其自己的处 理单元并且能够发布通过总线接口发送给总线的指令以及同时执行操作。
参考图加和4示出的一个实施例,双端口存储器160被示出为包括第一端口 162 和第二端口 164。该双端口存储器的至少一部分——如在图4中被标识为帧缓冲器166的 那部分——被配置为存储从图像传感器接收的图像帧数据。双端口存储器——例如通过引 用结合于此的颁发给Sugita的美国专利No. 5,276,842中所述的双端口存储器——优选地 配置为被双核以相同时钟同时访问。争用问题优选地由本领域公知的仲裁系统或仲裁逻辑 来处理,作为仲裁系统的一个示例性实施方式同样记载在该‘842专利中。双端口存储器也 可使用单端口存储器核而被执行,该单端口存储器核如Balasubramanian等在通过引用结 合于此的美国专利No. 7,349,285中教导的那样,由此访问请求在存储器时钟周期的高和 低逻辑状态上被处理。
在示例操作中,处理构架115通过系统总线138从数据存储装置12 检索程序指 令,该构架执行这些程序指令以控制照明组件108聚焦光线到包含条形码的目标114上,以 及控制成像组件109接收反射光。然后图像传感器106发送代表所捕获图像的像素数据的6输出信号到双端口存储器164的第一端口 162,在那里其被存储在帧缓冲器166中。第一核 140和第二核142中的每个能够随即访问帧缓冲器166并检索像素数据。为了允许并行解 码,第一核140能被配置为执行ID解码器的程序指令,第二核142可被配置为执行2D解码 器的程序指令。从而,不论图像是否包含ID或2D条形码,解码都可基本上同时发生,从而 减少成功解码所要求的时间。进一步地,当图像像素/帧数据被第一核140和/或第二核 142检索,图像像素/帧数据可以相同的时钟周期被存储在双端口存储器160内。PDT105 可被配置为持续对目标114成像并且在帧缓冲器中存储像素数据或每个帧,以及核140和 142可并行地持续处理图像帧数据,直到成功的解码事件发生。在成功的解码情况下,解码 数据可选地被发送到数据存储装置122,在那里解码数据可被例如应用125访问。
在另一实施例中,第一核被配置为执行存储在数据存储装置122中的图像质量滤 波器程序指令以及ID解码器127程序指令。,当被第一核140执行时,图像质量滤波器程序 指令实时分析由该核从帧缓冲器检索的像素数据/每个帧例如相对于对比度的质量。然后 帧可被指派图像质量分值,该图像质量分值可计入关于选择在帧缓冲器中可得到的最高图 像质量分值帧的解码算法决策。进一步地,如果具备更高图像质量分值的帧/图像被捕获, 图像质量滤波器程序指令可被配置以中断现有的正在解码具有低图像质量分值的帧/图 像的解码127过程。
然而在另一实施例中,第一核140被配置为执行图像质量滤波器程序指令,或任 何其他涉及图像处理的程序指令,例如,存储在数据存储装置122中的程序指令,且第二核 142被配置为执行ID解码器127程序指令及2D解码器程序指令129。
参考图5,示出另一实施例,其中多核处理器为四核处理器,进一步包括第三核和 一第四核,以及第一缓存级178,第二共享缓存级180以及以总线接口 182。四核处理器116b 通常涉及制作在相同集成电路上的四个处理单元或核170,172,174及176。该实施例中, 第三核174可被配置为执行图像质量滤波器的程序指令且第四核176可以执行涉及与网络 接口 134通信的程序指令。因此,用户无需等待直到第一或第二核执行了通信例程来发送 解码结果——例如通过网络接口 134到远程计算机136——后才再次拉动触发器或按下扫 描按钮,因为第四核176可以处理与网络接口 134间的通信,并行地第一和/或第二核促使 PDT 105捕获新的图像并开始新的解码任何包含在图像中的条形码的处理。
参考附图2b,尽管本发明迄今被描述为包括双端口存储器模块,但是在另一实施 例中数据存储装置122b包含被配置用来存储帧缓冲器的单端口存储器163。在该实施例 中,优选地DMA控制器161被包含为与成像组件109、处理构架115以及数据存储装置12 进行通信。DMA控制器161可在不包括包含在多核处理器116中的处理构架115的情况下 通过从图像传感器106直接传送像素数据至单端口存储器163来卸载处理器。因此,否则 将被用于管理帧缓冲器的处理器周期可替代地被用于运行解码127,129算法和/或否则如 上所述。尽管本发明充分减少成功解码所需的时间,其同样可有效管理供应给每个核的系 统时钟和/或功率来减少总体功率消耗。尤其在大部分由电池供电的PDT中,要考虑功率 损耗,因为消耗的功率越大,剩余电池寿命减少得越快。因此,如图3和5所示,时钟管理模 块/逻辑150和/或功率管理模块/逻辑150可被用于管理由多核处理器116b消耗的资 源,其中时钟管理模块/逻辑150被配置为基于每个核的工作负荷/使用动态改变由每个 相应的核接收的时钟速度,功率管理模块/逻辑150被配置为动态改变由每个核的至少一部分接收的电压。一种功率管理的方法在通过引用结合于此的颁发给Borkar等人的美国 专利申请No. 11/238,489中描述,包含取决于包括活动、核温度、瞬时电流消耗以及可靠性 的多个因素而为每个核或核的部分供应功率的调压器。Kim在美国专利申请11/424,080中 描述了另一种功率管理的方法,该美国专利申请通过引用结合于此,其包括取决于多个因 素将处理器模式调制为单核或多核,该多个因素包括PDT是否连接至AC或电池功率、剩下 的电池水平、可用存储器以及存储器使用。Naveh等人在美国专利申请No. 10/899,674中公 开了一种示例性时钟管理模块,该美国专利申请通过引用结合于此,其中时钟管理模块为 每个核使用独立的时钟调节(throttle)设定,诸如重排序缓冲器和保留状态表的一个或 多个核的内部构架的不同功能模块的独立时钟调节,以及缩放多核处理器用来与系统部件 进行通信的总线的时钟频率。
权利要求
1.一种便携数据终端,包括具有至少第一核和第二核的多核处理器;至少一个照明组件和至少一个成像组件;以及数据存储装置,被配置为存储多个程序指令,该程序指令包含至少一个一维解码器和 至少一个二维解码器。
2.如权利要求1的便携数据终端,其中数据存储装置进一步包括具有至少第一端口和 第二端口的至少一个多端口存储器模块,该至少一个多端口存储器模块被配置为从成像组 件接收输出信号以及与多核处理器进行通信。
3.如权利要求1的便携数据终端,进一步包括电源、至少一个系统总线、网络接口、显 示器接口、系统总线以及用户输入接口。
4.如权利要求1的便携数据终端,其中照明组件进一步包括成像光学部件和图像传感 器,该照明组件进一步包括照明光学部件和至少一个光源。
5.如权利要求1的便携数据终端,进一步包括至少一个管理模块,该管理模块从包含 时钟管理模块和功率管理模块的组中选出,该时钟管理模块被配置为基于每个核的工作负 载动态改变由每个相应的核接收的时钟速度,功率管理模块被配置为动态改变由每个核的 至少一部分接收的电压。
6.如权利要求2的便携数据终端,其中第一端口被配置为从成像组件接收至少一个输 出信号,该输出信号代表由图像传感器发送的像素数据,以及第二端口被配置为与多核处 理器通信。
7.如权利要求1的便携数据终端,其中多核处理器的第一核执行一维解码器且第二核 执行二维解码器。
8.如权利要求5的便携数据终端,其中至少一个输出信号的接收以及与多核处理器的 通信都以相同的时钟周期发生。
9.如权利要求1的便携数据终端,其中多核处理器进一步包含总线接口和至少一个缓 存级。
10.权利要求1的便携数据终端,进一步包括第一缓存级和第二缓存级,对于每个核该 第一级包含指令缓存和数据缓存,且该第二级在所有核中共享。
11.如权利要求1的便携数据终端,其中多核处理器进一步包括第三核和第四核,其中 存储在数据存储装置中的程序指令进一步包括图像质量滤波器且其中多核处理器的第三 核执行图像质量滤波器且多核处理器的第四核与网络接口通信。
12.权利要求1的便携数据终端,进一步包括与成像组件、多核处理器和数据存储装置 通信的直接存储器访问控制器,且其中数据存储装置进一步包括至少一个单端口存储器模 块。
13.—种解码条形码的方法,包括提供具有多端口存储器和多核处理器的PDT ;捕获目标图像;发送图像像素数据至多端口存储器的一个端口 ;以及在多核处理器的第一核上执行存储在多端口存储器中的程序指令,以便解码由像素数 据表示的任意一维条形码,并且在多核处理器的第二核上执行存储在多端口存储器中的程序指令,以便解码由像素数据表示的任意二维条形码。
14.如权利要求13所述的方法,其中执行步骤进一步包括在多核处理器的第三核上执 行存储在多端口存储器中的程序指令,以便分析像素数据的图像质量。
全文摘要
本发明涉及低功率多核解码器系统及方法。便携数据终端包括具有至少第一核和第二核的多核处理器、至少一个照明组件和至少一个成像组件和被配置为存储多个程序指令的数据存储装置,该程序指令包括至少一个一维解码器和至少一个二维解码器。
文档编号G06K7/10GK102034076SQ20101053777
公开日2011年4月27日 申请日期2010年9月30日 优先权日2009年10月1日
发明者Y·P·王 申请人:手持产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1