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

文档序号:10512639阅读:322来源:国知局
低功率多核解码器系统及方法
【专利摘要】本发明涉及低功率多核解码器系统及方法。便携数据终端包括具有至少第一核和第二核的多核处理器、至少一个照明组件和至少一个成像组件和被配置为存储多个程序指令的数据存储装置,该程序指令包括至少一个一维解码器和至少一个二维解码器。
【专利说明】低功率多核解码器系统及方法
[0001]本申请是于2010年9月30日提交的、发明名称为“低功率多核解码器系统及方法”的中国专利申请N0.201010537775.4的分案申请。
技术领域
[0002]本发明涉及便携数据终端,以及更特别地,涉及被配置为捕捉图像以及解码任何包含在该图像中的条形码的便携数据终端。
【背景技术】
[0003]例如激光标记读取设备、光学标记读取设备、条形码扫描器和条形码读取器的便携数据终端(PDT)通常读取由打印标记所表示的数据,所述标记诸如符号、符号体系、以及条形码。一种符号是矩形条和间隔的阵列,其被以特定方式排列为以机器可读方式表示数据元素。光学标记读取设备典型地发送光至符号上并且接收从条形码符号或标记散射和/或反射回去的光。接收到的光被图像处理器解析以提取由符号代表的数据。激光标记读取设备典型地利用所发送的激光。一维(ID)光学条形码读取器特征在于读取沿着单轴以条和间隔的宽度所编码的数据,使得在用足够高的分辨率对符号成像的情况下,此类符号可通过沿着该轴的单扫描而被读取。
[0004]为了在单条形码符号中允许编码更大数量的数据,开发出许多一维(ID)堆栈条形码符号体系,其将编码数据分成多个行,每一行包含相应的ID条形码样式,其全部或大部分必须被扫描和解码,然后链接到一起来形成完整的消息。扫描仅在一维仍需要相对较高的分辨率,但是为了读取整个符号需要多重线性扫描。
[0005]作为二维(2D)矩阵符号体系而被知晓的一类条形码符号体系被开发出来,相较于ID符号体系,其提供免定向扫描和更高的数据密度和容量。2D矩阵码在正多边形矩阵中将数据编码为深色或浅色数据元素,这同时使用了图形查找器、定向及参考结构。
[0006]按照惯例,PDT包含中央处理器,其直接控制安装在TOT中的各个电子元件的操作。例如,中央处理器控制键区输入的检测、显示特征、无线通信功能、触发检测以及条形码读取和解码功能。更具体地,中央处理器典型地与照明组件和成像组件通信,照明组件被配置为照亮目标,例如条形码,成像组件被配置为接收目标图像并生成指示其中光学编码的数据的电输出信号。
[0007]输出信号通常代表由成像组件的图像传感器发送的像素数据。因为像素数据的质量可能不足以高到使得处理器可靠地解码图像中的条形码,PDT通常连续地捕获图像或者图像帧,直到完成可靠解码。进一步地,在被解码的条形码在ID和2D符号体系间变化的情况下,PDT通常顺序对多个符号体系执行解码算法。该过程可以是时间密集的,因为处理器在其能够访问数据以执行解码算法之前必须等待像素数据被保存在存储器中,并且之后在第二解码算法能够执行之前必须进一步等待解码算法完成。更进一步地,在许多环境下,例如仓库、购物中心、航运中心以及许多其他的环境下,PDT被用来以串行方式解码条形码,使得更快的解码操作通常增加吞吐量。
[0008]已经做出了尝试尤其是通过多线程来增加解码速度。多线程,或者超线程,允许多个线程通过如下方式使用单个处理单元,即例如当一个线程遭遇诸如缓存丢失等的延迟时提供处理器周期给另外一个线程,当片外存储器被访问时,所述延迟将导致处理器遭遇若干周期的空闲时间。使用多线程,中央处理器空闲时间被最小化但上未被充分并行化。更进一步地,线程间的背景(context)转换可显著地增加开销,因为一个处理/线程的状态被保存而另一个被加载,从而进一步最小化任何效率增益。
[0009]因此,PDT系统构架的现有技术中存在将允许更快的、充分并行的条形码解码操作的需要。
【附图说明】
[0010]本发明参照附图被公开,其中:
图1为两个示例性I3DT的俯视图和侧透视图。
[0011 ]图2a为根据本发明的示例性TOT的示意性方框图。
[0012]图2b为根据本发明的示例性TOT的示意性方框图。
[0013]图3为根据本发明的示例性多核处理器的示意性方框图。
[0014]图4为根据本发明的示例性双端口存储器模块的示意性方框图。
[0015]图5为根据本发明的示例性多核处理器的示意性方框图。
[0016]需认识到,为明确起见且在认为是适当的情况下,参考标记在图中被重复来指示相应特征。
【具体实施方式】
[0017]参考图1A和1B,示出用来读取/扫描打印标记的两个示例性I3DT 1013PDT外壳可成形为使用手柄部件104以适于舒服地拿在人手中,并且可包括可手指起动的扫描/捕获或者触发按钮101以及用于输入数据和命令的键区102,电源按钮,以及用于方便与例如本地或远程主处理器通信的天线。PDT还包括显示器103,诸如LCD或OLED显示器,例如用于向用户显示信息。如果显示器103是触摸屏,也可包含手写笔(未示出)以便与触摸屏交互。包含外壳中的孔,使得照明光学部件108和成像光学部件109具有足够无阻塞的通路到达目标114。PDT也可以包含用于接收功率供给的功率端口,以及一个或多个通信端口以便于与网络接口 134的有线或无线通信。尽管本发明是关于PDT来描述的,该发明也可用于例如任何条形码扫描器、移动设备、移动计算机或个人数字助理。
[0018]参考图2a和2b,示出了根据本发明一起构成Η)Τ105的基本结构的示意性方框图。roT105包括用于照亮目标114的照明组件108,例如条形码,以及用于接收目标114的图像并生成指示其中光学编码的像素数据的电子输出信号的成像组件109。照明组件108包括至少一个光源112以及照明光学部件110,诸如一个或多个反射体,以用于从光源在目标114的方向上引导光。光源112可包括至少一个被配置为发射在近红外范围内的光的LED和/或至少一个被配置为发射在可见光范围内的光的LED。成像组件102包括2D图像传感器106,例如CCD、CM0S、NM0S、PM0S、CID或者CMD固态成像传感器,连同用来接收和聚焦目标114的图像到图像传感器106上的成像光学部件107。
[0019]仍参考图2a和2b,PDT105进一步包括处理构架115,其通过执行其从数据存储装置122接收的程序指令来控制roT105的操作。更特别的,处理构架115被配置为接收、输出以及处理数据,包括图像/像素数据,操作成像组件109和照明组件108,以及在其他操作中与系统总线138通信。进一步地,处理构架115可被配置为控制光源112的照明、图像传感器106的定时、模数转换、通过网络接口 134——例如RS-232、RS-485、USB、以太网、W1-F1、蓝牙?、IrDA以及Zigbee接口一一将数据发送到读取器外部的远程计算机136的处理器以及从该处理器接收数据,控制用户输入接口以管理与扫描/触发按钮101和/或键区102的用户交互,以及通过显示器接口 132控制输出设备103,例如IXD或OLED显示器。处理构架115包括至少一个如下参照图3和5详细描述的多核处理器116,但是可选地可包含诸如(多个)VLSI或ASIC集成电路微处理器的(多个)附加处理器或(多个)微处理器。在图2a所示的一个实施例中,数据存储装置122a包含至少一个双端口存储器模块160,诸如RAM,例如这在下面参照图4描述,但是可选地可包含附加存储器模块,诸如本地的、可网络访问的、可移动的和/或不可移动的存储器,诸如RAM、R0M和/或闪存。在图2b所示的另一实施例中,数据存储装置122b包含至少一个单端口存储器模块163,诸如RAM,如后面进一步所述那样与直接存储器访问(DMA)控制器161通信。数据存储装置122被示为包含诸如操作系统的应用125、ID解码器127、2D解码器129。解码器127和129包括程序指令,当由多核处理器116执行时,这些程序指令如现有技术中那样检索图像像素数据,并解码包含在图像中的任何条形码。尽管解码器127和129在图2a中被示出为与双端口存储器160分离,但是在另一实施例中解码器127和129的程序指令存储在双端口存储器160中。PDT105还包括一个或多个电源128,例如一个或多个电池和/或用来接收交流电的电路,以及用来从用户输入设备102接收数据的用户输入接口 130,例如键盘、键区和/或触摸屏。图2a和2b中示出的Η)Τ105结构优选地由一个或多个印刷电路板(未示出)支撑。
[0020]参考图3,根据本发明的多核处理器116示出为具有第一核140和第二核142的双核处理器116a。这些核也可以共享一个缓存,或者在多级缓存构架中,每一个核使用其自己的缓存(例如LI)并且共享另一个缓存(例如L2)或者其任何组合。在图3所示的实施例中,第一级缓存144被示出为对于每个核140和142具有指令和数据缓存,第二级缓存146被示出为在核140和142之间被共享。如在现有技术中公知的那样,核140和142可被集成在相同的集成电路管芯中,或者它们可被集成到相同的集成电路封装中的多个管芯上。进一步地,处理器116也可包括一个或多个独立的或共享的总线接口,诸如共享总线接口 148,用来与系统总线和/或数据存储装置122通信。每个核140和142具有其自己的处理单元并且能够发布通过总线接口发送给总线的指令以及同时执行操作。
[0021 ] 参考图2a和4示出的一个实施例,双端口存储器160被示出为包括第一端口 162和第二端口 164。该双端口存储器的至少一部分一一如在图4中被标识为帧缓冲器166的那部分一一被配置为存储从图像传感器接收的图像帧数据。双端口存储器一一例如通过引用结合于此的颁发给Sugita的美国专利N0.5,276,842中所述的双端口存储器——优选地配置为被双核以相同时钟同时访问。争用问题优选地由本领域公知的仲裁系统或仲裁逻辑来处理,作为仲裁系统的一个示例性实施方式同样记载在该‘ 842专利中。双端口存储器也可使用单端口存储器核而被执行,该单端口存储器核如Balasubramanian等在通过引用结合于此的美国专利N0.7,349,285中教导的那样,由此访问请求在存储器时钟周期的高和低逻辑状态上被处理。
[0022]在示例操作中,处理构架115通过系统总线138从数据存储装置122a检索程序指令,该构架执行这些程序指令以控制照明组件108聚焦光线到包含条形码的目标114上,以及控制成像组件109接收反射光。然后图像传感器106发送代表所捕获图像的像素数据的输出信号到双端口存储器164的第一端口 162,在那里其被存储在帧缓冲器166中。第一核140和第二核142中的每个能够随即访问帧缓冲器166并检索像素数据。为了允许并行解码,第一核140能被配置为执行ID解码器的程序指令,第二核142可被配置为执行2D解码器的程序指令。从而,不论图像是否包含ID或2D条形码,解码都可基本上同时发生,从而减少成功解码所要求的时间。进一步地,当图像像素/帧数据被第一核140和/或第二核142检索,图像像素/帧数据可以相同的时钟周期被存储在双端口存储器160内。PDT105可被配置为持续对目标114成像并且在帧缓冲器中存储像素数据或每个帧,以及核140和142可并行地持续处理图像帧数据,直到成功的解码事件发生。在成功的解码情况下,解码数据可选地被发送到数据存储装置122,在那里解码数据可被例如应用125访问。
[0023]在另一实施例中,第一核被配置为执行存储在数据存储装置122中的图像质量滤波器程序指令以及ID解码器127程序指令。,当被第一核140执行时,图像质量滤波器程序指令实时分析由该核从帧缓冲器检索的像素数据/每个帧例如相对于对比度的质量。然后帧可被指派图像质量分值,该图像质量分值可计入关于选择在帧缓冲器中可得到的最高图像质量分值帧的解码算法决策。进一步地,如果具备更高图像质量分值的帧/图像被捕获,图像质量滤波器程序指令可被配置以中断现有的正在解码具有低图像质量分值的帧/图像的解码127过程。
[0024]然而在另一实施例中,第一核140被配置为执行图像质量滤波器程序指令,或任何其他涉及图像处理的程序指令,例如,存储在数据存储装置122中的程序指令,且第二核142被配置为执行ID解码器127程序指令及2D解码器程序指令129。
[0025]参考图5,示出另一实施例,其中多核处理器为四核处理器,进一步包括第三核和一第四核,以及第一缓存级178,第二共享缓存级180以及以总线接口 182。四核处理器116b通常涉及制作在相同集成电路上的四个处理单元或核170,172,174及176。该实施例中,第三核174可被配置为执行图像质量滤波器的程序指令且第四核176可以执行涉及与网络接口 134通信的程序指令。因此,用户无需等待直到第一或第二核执行了通信例程来发送解码结果一一例如通过网络接口 134到远程计算机136—一后才再次拉动触发器或按下扫描按钮,因为第四核176可以处理与网络接口 134间的通信,并行地第一和/或第二核促使PDT105捕获新的图像并开始新的解码任何包含在图像中的条形码的处理。
[0026]参考附图2b,尽管本发明迄今被描述为包括双端口存储器模块,但是在另一实施例中数据存储装置122b包含被配置用来存储帧缓冲器的单端口存储器163。在该实施例中,优选地DMA控制器161被包含为与成像组件109、处理构架115以及数据存储装置122b进行通信。DMA控制器161可在不包括包含在多核处理器116中的处理构架115的情况下通过从图像传感器106直接传送像素数据至单端口存储器163来卸载处理器。因此,否则将被用于管理帧缓冲器的处理器周期可替代地被用于运行解码127,129算法和/或否则如上所述。尽管本发明充分减少成功解码所需的时间,其同样可有效管理供应给每个核的系统时钟和/或功率来减少总体功率消耗。尤其在大部分由电池供电的PDT中,要考虑功率损耗,因为消耗的功率越大,剩余电池寿命减少得越快。因此,如图3和5所示,时钟管理模块/逻辑150和/或功率管理模块/逻辑150可被用于管理由多核处理器116b消耗的资源,其中时钟管理模块/逻辑150被配置为基于每个核的工作负荷/使用动态改变由每个相应的核接收的时钟速度,功率管理模块/逻辑150被配置为动态改变由每个核的至少一部分接收的电压。一种功率管理的方法在通过引用结合于此的颁发给Borkar等人的美国专利申请N0.11/238,489中描述,包含取决于包括活动、核温度、瞬时电流消耗以及可靠性的多个因素而为每个核或核的部分供应功率的调压器。Kim在美国专利申请11/424,080中描述了另一种功率管理的方法,该美国专利申请通过引用结合于此,其包括取决于多个因素将处理器模式调制为单核或多核,该多个因素包括PDT是否连接至AC或电池功率、剩下的电池水平、可用存储器以及存储器使用。Naveh等人在美国专利申请N0.10/899,674中公开了一种示例性时钟管理模块,该美国专利申请通过引用结合于此,其中时钟管理模块为每个核使用独立的时钟调节(throttle)设定,诸如重排序缓冲器和保留状态表的一个或多个核的内部构架的不同功能模块的独立时钟调节,以及缩放多核处理器用来与系统部件进行通信的总线的时钟频率。
【主权项】
1.一种条形码读取器,包括: 至少一个照明组件和至少一个成像组件; 双端口存储器,被配置成被双核以相同时钟同时访问; 数据存储装置,被配置成存储多个程序指令,所述程序指令包括至少一个一维解码器和至少一个二维解码器;以及 多核处理器,具有第一核和第二核; 其中所述多核处理器的第一核执行图像质量滤波器,以及第二核执行一维解码器和二维解码器,其中一维解码器和二维解码器并行运行,并且其中当图像像素数据被所述第一核和/或第二核检索时,所述图像像素数据能够以相同的时钟周期被存储在所述双端口存储器中。2.如权利要求1的条形码读取器,其中数据存储装置进一步包括具有至少第一端口和第二端口的至少一个多端口存储器模块,所述至少一个多端口存储器模块被配置为从所述成像组件接收输出信号以及与所述多核处理器进行通信。3.如权利要求1的条形码读取器,进一步包括电源、至少一个系统总线、网络接口、显示器接口、系统总线以及用户输入接口。4.如权利要求1的条形码读取器,其中所述成像组件进一步包括成像光学部件和图像传感器,所述照明组件进一步包括照明光学部件和至少一个光源。5.如权利要求1的条形码读取器,进一步包括至少一个管理模块,该管理模块从包含时钟管理模块和功率管理模块的组中选出,所述时钟管理模块被配置为基于每个核的工作负载动态改变由每个相应的核接收的时钟速度,所述功率管理模块被配置为动态改变由每个核的至少一部分接收的电压。6.如权利要求2的条形码读取器,其中所述第一端口被配置为从所述成像组件接收至少一个输出信号,所述输出信号代表由图像传感器发送的像素数据,以及所述第二端口被配置为与所述多核处理器通信。7.如权利要求1的条形码读取器,其中所述多核处理器进一步包含总线接口和至少一个缓存级。8.权利要求7的条形码读取器,进一步包括第一缓存级和第二缓存级,对于每个核所述第一缓存级包含指令缓存和数据缓存,且所述第二缓存级在所有核中共享。9.如权利要求1的条形码读取器,其中所述多核处理器进一步包括第三核和第四核,其中所述多核处理器的第四核与网络接口通信。10.权利要求1的条形码读取器,进一步包括与所述成像组件、多核处理器和数据存储装置通信的直接存储器访问控制器,且其中所述数据存储装置进一步包括至少一个单端口存储器模块。11.一种解码条形码的方法,包括: 提供具有多端口存储器和多核处理器的条形码读取器; 捕获目标图像; 发送图像像素数据至所述多端口存储器的一个端口;以及 在所述多核处理器的第一核上执行存储在所述多端口存储器中的程序指令,以便针对图像质量分析像素数据,并且在所述多核处理器的第二核上同时执行存储在多端口存储器中的程序指令,以便解码由像素数据表示的任意一维条形码,和解码由像素数据表示的任意二维条形码,其中针对图像质量分析像素数据以及解码所述任意一维条形码和解码所述任意二维条形码同步地并行运行。12.如权利要求11所述的方法,其中执行步骤进一步包括在多核处理器的第三核上执行存储在所述多端口存储器中的程序指令,以便与网络接口通信。
【文档编号】G06K7/10GK105868668SQ201610206928
【公开日】2016年8月17日
【申请日】2010年9月30日
【发明人】Y.P.王
【申请人】手持产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1