本申请根据35U.S.C.§119要求(1)2008年2月12日提交的标题为“从多个方位形成物体的多个部分的合成图像的系统和方法”的美国临时申请No.61/028,164和(2)2008年12月26日提交的标题为“用于获取物体的多个视图的具有紧凑结构的光学代码读取器”美国临时申请No.61/140,093的优先权。上述两个申请在此以其整体通过引用并入。
具体实施方式
参照以上列出的附图,这一部分描述具体实施方式及其详细构造和操作。此处描述的实施方式仅仅通过例示阐述而不限制。本领域技术人员将认识到鉴于此处的教导,存在此处描述的示范实施方式的一系列等价物。最值得注意的是其它实施方式是可能的,可对此处描述的实施方式进行修改,以及可能存在对组成所描述的实施方式的部件、部分、或步骤的等价物。例如,尽管此处描述的主要是固定的扫描器,此处的教导可等同地应用于演示或手持扫描器。
为了清楚和简要,特定实施方式的部件的特定方面或步骤背呈现没有过度的细节,其中鉴于此处的教导这种细节对本领域技术人员将是明显的,和/或这种细节将使实施方式的更恰当的方面的理解模糊。
I.概述
此处描述各种基于成像器的光学代码读取器和相关方法。
此处描述的各种基于成像器的光学代码读取器尝试模仿基于激光器的扫描器(例如图1的扫描器100)的性能而没有激光器(例如激光器115)或运动部件(例如电机128和多角镜125),但是利用诸如相机的电子成像装置。例如这个目的可以通过从不同方位采取查看观察视场范围的不同的窄的条带形状的视图实现,诸如具有针对每个扫描线165A-185D(或其子集合)的不同视图,以及引导或投影这些视图到成像装置的成像面的不同部分。此多方面成像的结果是多个不同部分的合成图像,诸如图4中通过示例例示的条带。
图4示出由多个堆叠区域组成的合成图像400,其为图像上的水平图像片段或条带410。每个条带410对应于观察视场范围的不同视图。一个或更多个图像条带410理想地能够经过光学代码的至少一部分,诸如条码图像420,由此提供足够解码的代码的至少一部分的图像,如从图400的顶部向下的第三图像条带410通过示例方式例示。取决于条码在观察视场范围中的位置和角度朝向,一个或更多个图像条带410应当包含可解码的图像。图4中的合成图像400包含20个图像条带410,仅仅通过例示方式。更多个或更少个图像条带是可能的,以及图像条带可以比所示的更高或更短。图像条带不需要全部具有均匀高度或宽度,总体上大小适合被读取的光学代码。图像条带可以朝向不同于水平的方向,诸如竖直或具有其它形状,尽管类似条带的形状自然地适合线性光学代码。根据本示例,条带410被分组为5个不同的区域430,每组4个条带410。其它分组是可能的。
能够产生合成图像400的装置的一个示例能够从基于激光器的扫描器100(图1-图2)导出:成像器被放置在激光器的扫描器中接近应该布置激光光源(例如激光器115)或光收集系统,以及一组反射镜被布置在接近旋转多角镜(例如多角镜125)应布置的。另外,其它反射镜,诸如模式反射镜,能够被布置在区域,诸如反射镜135-155在扫描器100中的位置。更具体地,参照图7(立体图)和图6(顶视图),成像器508透过位于一组“标志杆”或转向反射镜520-540的透镜510,其以类似于小面轮的方式将水平片的视场从成像器的视场向模式反射镜的多个集合550-590转向。然而,转向反射镜520-540空间地分离视场(一次全部),而不是如用小片轮的时域地(一次一个)。在图5-图6中,存在5个转向反射镜520-540以将视场分离为5个不同的粗略或大规模的角度,以及每个角度存在4个平行模式反射镜以在激光扫描器中设定被称为“线分离”。例如,模式反射镜组570包含反射镜570A、570B、570C、和570D-均朝向略微不同方向以在大致平行的观察条带之间的偏移。整体结果是观察视场范围中的5个组的4个平行观察条带(类似于基于激光器的扫描器的扫描线)。在成像器508,结果是成像器的视场被划分为堆叠的20个水平片或条带410,每一个对应于激光扫描器中的扫描线将对准的,例如,如图4所示。转向反射镜520-540将成像器508的视场划分为5个不同区域,以及模式反射镜将每个区域划分为4个条带。
换句话说,反射镜520-590将相机的视场分裂、划分、分割、或分片为多个非连续或不相交的片段、分段、或部分以提供观察视场范围中的不同观察、地位、或方位。换句话说,反射镜520-540创建万花筒,将多个分散观察(例如20个片或条带)投影到同一成像器上。该到观察视场范围中的万花筒观察可以配置为具有与基于激光器的扫描器相同或可比较的方位分散度(例如查看物体的更多个侧面的能力)同时允许成像器的使用,以及其伴随的优点。这种类型的多方位或万花筒方案能够用单个成像器实现方位分散度,因此比如果使用多个成像器能够以更低的开销和复杂度。
图7示出根据图5-图6例示的实施方式的“伪扫描线模式”700的一个概念示例,其为观察条带的模式。伪扫描线模式700是基于激光器的扫描器的扫描线的成像模拟(例如如图3所示)为了进行观察视场范围中的覆盖分析。图7中的标记的观察条带770C对应于图5中例示的模式反射镜570C的折叠平面599。沿着条带770C的观察视场范围中的场景在图4中的中间标记的图像条带410(从上到下第11个)中作为图像数据收集。
设计者能够使用与基于激光器的扫描器相同的原理针对伪扫描线模式选择期望的布局。例如,相邻的扫描或伪扫描线之间的间隔能够被基于光学代码的假设高度设定。由此,随着代码的位置被转换到平行于读取器的窗口的平面,在移出另一视野之前或随着移动到不能被读取的程度,代码将移动到一个视野到充分程度以便读取。作为另一示例,不同集合的扫描线之间的角度可以被设定以在平行于读取器的窗口的平面的在角度朝向上给出可接受的读取能力覆盖,以及扫描或位扫描线发出的方向能够被选择以给出物体在观察视场范围中期望的多侧面可视性。由此,随着代码被转动,在另一视野变为不可读之前或随着在另一视野变为不可读,在一个视野中变为可读。基于期望的伪扫描线模式,设计者能够适当地放置反射镜以实现期望的模式。
照明可以被可选地提供以帮助成像,如果环境光不充分。如果期望,额外的照明可以与成像同步。额外的照明可以是在观察视场范围中的大部分或全部的宽范围,或照明可以被仅仅引导到其中视野为了成像被采取的部分。例如,额外的照明可以用定位在靠近透镜510的光源提供,对准转向反射镜520-540以及覆盖成像器的视场。在该示例中,转向反射镜520-540的动作将照明分离为窄条带,其效仿对观察者的激光线。换句话说,读取器中的相同的反射镜可以用于引导场景到成像器以及引导照明到场景上。该照明产生可视的(假设照明是可见光谱)伪扫描线模式,非常类似图7所示的,以及从观察者的角度是基于激光器的扫描器的扫描线的模拟。
成像器508可以是例如通常廉价的滚动复位CMOS(互补金属氧化物半导体晶体管)型成像器、全局快门成像器、CCD(电荷耦合器件)成像器、或另一类型的相机。如此处描述的基于成像器的读取器可以没有运动部件的完全固态,以及能够消除涉及电机和激光器的缺点,同时在方位分散度上实现可与基于激光器的扫描器相比的性能,尽管不是全部实施方式均实现这些优点。
II.合成成像
这一部分通过示例描述基于成像器的读取器800的一个设计的细节。该设计总体上在图8-图13中例示。图8是位于可以例如由塑料、金属、和/或任何其它合适材料形成外壳802中的基于成像器的读取器800的等距图。外壳802包括透明窗口804,其可以是例如玻璃。窗口804可以具有滤光属性以滤除特定光波长以免进入系统。观察视场范围(还可以被称为扫描或伪扫描视场范围)在读取器800外部,在一侧与窗口804接壤。当携带光学代码的物体在观察视场范围中以及光学代码总体上朝向窗口804到充分程度时,读取器800“看见”该物体,以及理想地能够解码之上的光学代码。读取器800可以被方便地定位使得窗口804竖直、水平、取向,或在其它取向。
在窗口804之后,读取器800包括多个部件,包括相机806,其通常包括成像器808和透镜810。随后在本文件中更详细描述相机806。
另外在窗口804之后,读取器800还包括筐体812,其可以从图9-图10明显看到,即成像器800的内部部件的两个不同等距图,而没有外壳802。其它内部部件包括用于转向反射镜的安装块814,以及用于模式反射镜组的安装块815-819。安装块814-819可以是廉价或固定到筐体812的可分离片,或可以是整体形成在筐体812上或作为其一部分。安装块814-819被定形、定位,和定向以将反射镜定位在适当位置以实现期望的工作特性。
安装到安装块814的是转向反射镜820、825、830、835、和840。每个转向反射镜820、825、830、835、和840被定向以反射模式反射镜850、860、870、880和890之一到相机的成像平面的期望部位。这些反射镜可以从任何合适的镜面或反射材料构成。例如,反射图层可以被涂覆在反射镜块814的相关面上,或物理地分离的反射镜片(由例如划片的涂覆硅晶圆片)可以被粘接于之上。根据一个示例,转向反射镜820-840可以是具有36mmx4.2mm尺寸的矩形形状的硅反射镜。如所示出的,转向反射镜820被引导向模式反射镜组870,转向反射镜825被引导向模式反射镜组860,转向反射镜830被引导向模式反射镜组880,转向反射镜835被引导向模式反射镜组890,以及转向反射镜840被引导向模式反射镜组850。转向反射镜820、825、830、835、和840的其它顺序或排列,以及转向反射镜与模式反射镜组的其它配对是可能的。转向反射镜的期望排列提供每组模式反射镜的不遮挡的视野,如从成像器可见。总体而言,取决于排列,有可能一个或更多个转向反射镜或其安装可以阻隔经过其它转向反射镜的视野。一些部分阻隔是容许的,只要足够的部分阻隔的视野通过成像器808使得能够充分地通常足够地成功解码从该观察点看到的光学代码。通常如图8-图11所示的读取器应当具有可接受的被安装块814和转向反射镜820、825、830、835、和840造成的自阻隔。其它设计可以更多或更少地容许自阻隔。
图11是所选择的读取器800的内部部件的没有外壳802或筐体812的等距图。在图11中,组850、860、870、880和890中的模式反射镜850A和850B;860A、860B、860C、以及860D;870A、870B、870C、以及870D;880A、880B、880C、以及880D;以及890A和890B分别是单独地标记。在此实施方式中,每个反射镜组860、870、和880具有4个模式反射镜,而组850和890均具有2个模式反射镜。每组中的模式反射镜的数量在诸如产生的伪扫描线覆盖模式的接受度或期望度、阻隔问题、以及最小条带高度的限制内是任意的,导致可解码的图像部位(例如充分高度以适合二维光学代码,如果其为应用)。图像数据的可解码性可以反过来取决于相机的分辨率、所采用的解码算法、以及其它因素。根据一个示例,模式反射镜可以是具有43mmx1.7mm尺寸的矩形形状的硅反射镜。
作为平坦平面转向反射镜820-840的替代,能够利用菲涅耳棱镜,如图12A-12C例示。图12A示出位于左侧的三个转向反射镜820、825、和830,以及标记为820′、825′、和830′的替代菲涅耳棱镜。平坦平面转向反射镜820-840相关的可能的缺点是其能够彼此阻隔视场。例如,转向反射镜825的右部,如所示出的,出现在上方的转向反射镜820的视场的一部分中。尽管这种阻隔或遮蔽可以通过转向反射镜阵列的仔细设计最小化或避免,阻隔问题能够通过使用菲涅耳棱镜明显减轻。如图12A的左侧所示,每个菲涅耳棱镜由排成一行以及指向公共方向的更小的反射镜1210组成。换句话说,更大的转向反射镜820被分裂为朝向相同方向的多个小面1220;这些小面1220以其组成菲涅耳棱镜820′,其大致地重复转向反射镜820的功能。类似地,由小面1225组成的菲涅耳棱镜825′类似于转向反射镜825工作,以及由小面1230组成的菲涅耳棱镜830′类似于转向反射镜825工作。每个部位的遮蔽通常可以忽略,以及任何遮蔽从小面到小面是共同的,引起总效率的降低,而不是图像的大部位的遮蔽。此外,菲涅耳反射镜是薄的,趋于低成本制造。
图12B例示用于代替一个转向反射镜的另一替代菲涅耳棱镜820″,通过示例,诸如转向反射镜820。不同于水平划分的菲涅耳棱镜820′,菲涅耳棱镜820″被水平和竖直地分裂为小面1240。
相信用于菲涅耳棱镜的小面的最优化大小是位于反射镜阵列的位置的投影的成像器像素的约一半大小。如果小面大小大于所投影的像素大小,则一些小面将转向来自具有高效率的多个像素的图像,但是有小面的边缘的台阶变化引起的具有低效率的像素。如果小面大小小于投影的像素大小,则每个像素将以更低的效率反射,但是效率将在整个阵列上恒定。恒定效率是优选的。作为棱镜节距(即小面的大小)变得更小,效率变得更差,以及衍射效应也开始出现。作为示例,布置在相机的视场内的菲涅耳棱镜将具有20μm宽的投影像素大小,其中图像是25.6mm宽,以及成像器的分辨率是1280x1024像素。扩展像素的一半的棱镜将是10μmx10μm。衍射光学制造商能够制造比它更小的尺寸。例如,Huntsville,Alabama的MEMS Optical,Inc.能够制造3μm灰阶尺寸,以及Charlotte,North Carolina的Tessera(以前为Digital Optics Corp.)能够实现0.5μm尺寸大小的二进制到64相位阶。
另一替代菲涅耳棱镜820″′在图12C中例示。菲涅耳棱镜820″′包括指向第一公共方向的竖直对准的小面1250A的列、指向从第一方向略微偏移的第二公共方向的竖直对准的小面1250A的列等,如所示出的。不同于菲涅耳棱镜820′和820″,菲涅耳棱镜820″′将视场转动。通过菲涅耳棱镜820″′成像的来自相机的图像的水平片在对角线取向区域中看出。菲涅耳棱镜820″′进行图像转动而没有畸变,不同于相接的反射镜,其可以类似于螺旋定形而将使图像畸变。
图13A和图13B分别示出来自成像器800的伪扫描线模式1300A和1300B。图13A中的伪扫描线模式1300A位于窗口804,而图13B中的伪扫描线模式1300B位于平行于窗口804以及距离其4英寸的平面。图13A和图13B中的每个伪扫描线用针对该观察部位的反射镜的序列标记,从成像器808开始。例如,标记“840-850B”的伪扫描线依次被转向反射镜840和模式反射镜850B产生。如图可见,伪扫描线随着从窗口804的距离增加而彼此展开,由于在透过窗口804的非正交角度采取。图13A和图13B还示出来自反射镜850和反射镜890的伪扫描线交叉。该交叉是由于这两个反射镜从读取器的大致相对侧指向交叉观察视场范围。
图13C是成像器808的成像平面或面400的平面或正视图,其为相机806的一部分,包括成像器808和透镜810(或相机806产生的图像400)。成像面400被划分为多个条带,其在此情况下水平地延伸经过成像面。图13C中的每个条带用附图标记标记,其代表被每个部位“看到”的反射镜的序列号。例如,在第一(如所例示的最顶部)条带中,相机806看见转向反射镜820和其在第一水平条带来自模式反射镜870A的组成反射,以及该条带因此用附图标记“820-870B”标记。接下来三个条带分别看见在更低的四分之三转向反射镜820中模式反射镜870B、870C、和870D的反射。在其下方,在接下来四个条带中,相机810看见转向反射镜825和模式反射镜860A-860D。在其下方,在接下来四个条带中,相机806看见转向反射镜830和模式反射镜880A-880D。接着,模式反射镜890A和890B的反射被经过转向反射镜825投影到接下来的两个条带。最终,模式反射镜850A和850B的反射被位于堆叠的转向反射镜的底部的转向反射镜840依次转向到最终的两个条带。图13C中底部四个条带在竖直方向上比之上的条带大,主要是由于这些模式反射镜的高度。透镜810和转向反射镜之间的距离,以及转向反射镜及其模式反射镜之间的距离也能够影响成像器808的面400上的条带的高度。
图14是用于对基于成像器的读取器800进行减晕分析的光学轨迹图1400。作为分析的起点,可以假设水平伪扫描线的期望长度(例如诸如图12B中的820-870A之一,类似于图3的扫描线175D)是约2.5″(英寸)或65mm(毫米或10-3米)。基于针对外壳802的给定设计规范的相机的成像器808和透镜810、转向反射镜820、以及模式反射镜组870的位置的粗略估计,从窗口804通过这些反射镜到透镜810的总路径长度是大约7.2″或180mm。使用已知的三角函数关系,其产生20°(度)全视场。在成像器808具有每个为5.2μm(微米或10-6米)平方的1280像素x1024像素的情况下,如被Boise,Idaho的Micron Tech.,Inc.制造的模型MT9M001CMOS成像器的情况,成像面积是6.66mmx5.32mm。后焦距将是18.4mm以实现此几何形状。相机的视场在转向反射镜820-840上将是26mmx21mm,因此5个转向反射镜820-840将每个是26mm宽x4.2mm高,每个对应于约3.2°。如果倾斜,转向反射镜可以更宽。因为具有比需要的略宽的转向反射镜总体上不是问题,模式反射镜可以制造为大致相同尺寸以简化。在此情况下,模式反射镜可以被制成43mmx1.7mm的大致大小的4个窄的反射镜组。
透镜810能够被设计为用于最大收集以及针对10mil标记(即单位宽度为10mil或10个千分之一英寸)从位于窗口804的近场距离开始,即距离透镜810为180mm,6″(约150mm)景深。透镜810可以急剧聚焦(例如具有球差、色差或其它像差)。假设焦点位置在距离窗口3″(距透镜810为255mm),薄透镜等式产生17.2mm焦距共轭(255mm和18.4mm)。此配置在图14中示出,包括一阶渐晕分析,其揭示限制孔径是位于模式反射镜平面。4mm透镜孔径是避免渐晕的大致最大大小,为f/4.3,在此处的假设下。不同的假设那个改变分析及其结果。透镜孔径的期望范围(不考虑渐晕)是在约f/4和约f/8之间以实现期望的景深。市场可得的一种合适的镜头是型号UKA227镜头,可从Universe Kogaku America,Oyster Bay,New York得到,具有f=17.65mm的焦距和3.16mm的孔径直径,在图像共轭产生f/6的f数以实现合适的聚焦(19mm和250mm)。更好的调制可以用f/8系统实现(透镜孔径为2.375mm),其还减少渐晕效应但是减少所收集的信号。
读取器800仅仅是一个示例,具有5个转向反射镜和每个模式反射镜组4个或2个模式反射镜,每个图像片段被2个反射镜的反射产生。在读取器800中,5个转向反射镜820-840将成像器的视场划分为5个取向。模式反射镜850-890将每个成像器的视场针对每个转向反射镜进一步划分为正交方向上的2个或4个不同取向。存在可以实现有用结果的多个不同的反射镜排列。成像器的视场可以被划分为更少或更多个部分,如果合适。每个部分可以被单个反射镜产生,或被多个反射镜产生,或甚至没有反射镜(诸如反射镜之间的间隙)。反射镜可以反射多个部分,如用转向反射镜820-840示出,或整个视场(如需要制造更紧凑的单元),或可以反射单个部分,诸如模式反射镜850-890。读取器800示出转向反射镜820-840引导成像器的观察方向的总体上左和右的部分。或者,反射镜可以引导成像器的观察方向的总体上的上和下的部分,可能防止其它图像部分的遮挡。可以说每个转向反射镜对应于到观察视场范围中的一个视角,而组中的每个模式反射镜在该视角处、周围、或附近产生到观察视场范围中的不同的偏移的伪扫描线。换句话说,每个转向反射镜对应于到观察视场范围中的粗或大规模视角,而不同的模式反射镜总体上造成多个伪随机扫描线大致上从相同的粗视角分散。组内的模式反射镜的略微不同的取向在到观察视场范围中的视角上造成一些差异。不管这些差异(在给定的设计中可以或不可以被忽略),取决于期望多少个到观察视场范围中的粗视角转向反射镜的数量可以更多或更少。另外,组中的模式反射镜的数量可以改变以针对给定的粗观察/成像角提供期望数量的伪扫描线。最终,从观察视场范围到成像器的光路可以包含额外的中间反射镜,仅仅单个反射镜,或甚至没有反射镜。
读取器800也仅仅是基于成像器的读取器的物理布局的一个示例。部件的其它排列是可能的。
III.照明
这一部分描述能够被可选地添加到多方位基于成像器的读取器的照明功能的一个示例。这一部分描述的示例建构在上一部分描述的示例成像器800上。
在一些应用中,环境光可能对于成像是充足的。在其它应用中,额外的照明能够被添加以增强成像和/或解码性能。引入的照明的波长或频率可以是可见或不可见的,以及可以是单色、双色、或多色的。例如,美国专利No.7224540中教导的双频率照明技术,在此通过引用并入,能够用于此处公开的基于成像器的读取器。添加或人工的照明能够具有各种方向属性。例如,添加的照明可以是到观察视场范围的全部或实质部分的宽场或聚焦到整个观察视场范围的一些子集,诸如仅仅进行观察的伪扫描线区域或其中的具体行线。可能期望同步添加的照明和成像器的时序,使得照明在当成像器的相关像素曝光的几乎同一时间被选通。在全局复位成像器的情况下,当成像器曝光时,整个观察视场范围或全部伪扫描线区域能够被一起照明。在滚动复位成像器的情况下,照明能够被闪烁到观察视场范围的部分中或附近,其中观察被引导到在闪烁时被曝光的成像器的特定部分。
图15是根据一个实施方式的成像和照明部件的排列的等距图,以及图16是相同部件的正视图。这些部件包括背板1505,其可以是电路板。粘接到电路板1505的是成像器808和多个光源。在此示例中,光源是LED(发光二极管)1510-1519,其中5个在成像器808的每侧相接。由于以下讨论的原因,LED 1510-1519如图所示竖直地交错。在每个LED 1510-1519的前面,是圆杆透镜1520-1529,以及在每个圆杆透镜组1510-1514和1515-1519前面分别是圆柱透镜1540和1550。任何合适类型的LED能够被用于LED 1510-1519;一种合适类型的LED是可从OSRAM Opto Semiconductors GmbH,Regensburg,Germany得到的模型LR G6SP。
理想的圆杆透镜或圆柱透镜将光聚焦为线,或均等地放大点光源到圆杆或圆柱的轴的方向上的条带。因为LED 1510-1519是无透镜的,每个LED在其朝向的半球中全方向地发射光。每个圆杆透镜1520-1529将LED的光聚焦到沿着圆杆1520-1529的长度的列状条带。LED沿着圆杆的轴向竖直交错以匹配转向反射镜组的不同部分。圆柱透镜1540和1550均在经过其轴的方向(如图15-16所示的竖直地)上提供放大以提供期望的视场发散。圆柱透镜1540和1550还可以改变照明模式为总体上更水平地条带形状,以更好地匹配转向反射镜的形状或关心的图像数据被找到的相关部分(例如提取虚拟扫描线之处)。圆杆1520-1529的长度和圆柱透镜1540和1550的大小和形状能够协作使得来自每个LED的照明光近似地匹配转向被引导的位于距离圆杆特定距离处的反射镜的高度。例如,提取LED 1510、圆杆透镜1520、以及圆柱透镜1540,圆杆和圆柱透镜用作交叉圆柱排列,也称为变形透镜系统。圆杆透镜1520设定LED 1510的水平放大。圆柱透镜1540设定LED 1510的竖直放大。两个透镜被近似聚焦到成像设备的远场距离,以提供LED发射器的相当锐利的图像,以将照明强度最大化。LED发射器1510的图像将是矩形的,由于圆杆透镜1520和圆柱透镜1540的不同放大。LED 1510-1519优选地成对开启以照明对应于转向反射镜820-840之一的视场。LED图像的高度通过一个转向反射镜设定为对应成像器的视场的高度。LED图像的宽度设定为成像器的视场的宽度的近似一半,使得LED对将照明整个视场的宽度。LED1514和1515照明转向反射镜820的视场,以及LED 1513和1516照明转向反射镜825。类似地。LED 1512和1517照明转向反射镜830,LED 1511和1518照明转向反射镜835,以及LED 1510和1519照明转向反射镜840。LED在竖直和水平位置的偏移(如图16所示)允许LED的图像照明视场的适当部分,以及由此将照明对准适当位置。不同的LED的排列和LED到成像器的不同视场的分配是可能的,以及可以引起效率增加。
图17是根据一个实施方式的一组圆杆透镜1525-1529和圆柱透镜1550的俯视光线追迹图。在本实施方式中,不同于图5-6、8-11、以及14-16中例示的实施方式,成像透镜是定位在朝向成像器808的多片透镜组811,但是透镜组的出口孔径(未示出)总体上位于靠近圆柱透镜1550的轴。图17例示来自每个LED 1515-1519的光如何通过各个圆杆透镜1525-1529和圆柱透镜1550聚焦。
取决于空间和光学设计,位于成像器808一侧的LED可以照明转向反射镜的一部分(例如左或右半个)(例如LED 1515照明转向反射镜540或840的左侧),而LED 1514照明同一转向反射镜的另一部分(例如转向反射镜540或840的右侧),如从转向反射镜被照明的方向观察。或者,横跨针对给定转向反射镜的成像器808的每对中的两个LED可以照明其转向反射镜的整个宽度,或可以照明与LED所处之处相对的一侧的视场。
LED不需要以图15和16所示的对称模式交错。例如,在替换实施方式中,交错可以是随着到成像器的距离增加单调向下,或以一些非单调方式变化。另外,LED的排列不需要关于成像器对称,如图所示。下面列表的是LED到转向反射镜的有用的分配。
在一个版本中,LED和透镜的可调节性能够被改善。例如,LED1510-1519能够固定(例如通过粘合或粘接装置)到各个圆杆透镜1520-1529,以及圆杆透镜1520-1529能够旋转(例如通过螺丝接合到圆杆的顶部或底部,或通过其它装置)以提供调节LED照明指向的方向的机构。指向方向的变化可以被从例如图17的俯视图中看到。另外,通过向上或向下竖直地平移圆杆的可调节性能够被提供。为了帮助圆杆和LED的运动,LED不是物理地安装在电路板上而仅仅经过其引线电连接。可调节性,诸如这些类型的可调节性,对于对准部件以便适当操作,特别是在原型设备中,是特别有用的。在生产设备中,这种可调节性可能不是必须或期望的,尽管不一定总是如此。
圆杆透镜1520-20和圆柱透镜1540和1550组成LED 1511-1519的透镜的一个示例。总体而言,将按照期望成形、聚焦、和/或放大LED的照明模式的任何合适的透镜(例如为了匹配具体转向反射镜,具体模式反射镜、或其中具体部分,诸如对应于从成像器读取的具体线段的窄狭缝)可以本示例版本的用于具有照明功能的基于成像器的读取器。其它版本的基于成像器的读取器当然可以具有不同的照明聚焦需求。其它设计可以包括LED发射器阵列,接合到公共基板上,其中透镜阵列固定于LED发射器上方。透镜阵列能够是模制部件,例如由丙烯酸或聚碳酸酯塑料制成。LED发射器和透镜阵列能够被设计为使得不需要进一步的对准。
图18是透镜固定件1800的一个示例中的圆杆透镜1520-1529和圆柱透镜1540和1550的等距图。透镜固定件1800可以包括两个半侧透镜固定部件1810和1820,其可以是分离片,可分离地或集成地彼此形成,固定件1800提供用于保持圆柱透镜1540和1550的空间,以及可以提供使圆柱透镜1540和1550向前或向后移动以便调节的能力。类似地,固定件1800提供用于保持圆杆透镜1520-1529的空间,以及可以提供旋转圆杆和/或向上或向下平移的自由。
图19是根据一个实施方式的透镜固定件1800以及相机固定件1830和筐连接固定件1840的等距图。相机固定件1830保持透镜810和/或组成的透镜组。相机固定件1830还可以配置为保持成像器808在左侧处或附近,如图19所示。相机固定件1830优选地直接或间接地连接到透镜固定件1800以保持照明透镜于相对于相机的期望位置。笼连接固定件1840能够用于将透镜固定件1800和/或相机固定件1830连接到笼或读取器的框、机箱或外壳的其它部件。
图20-23是根据一个示例的具有照明功能的基于成像器的读取器的内部部件的各个等距图。本示例类似于图8-11例示的读取器,但是添加照明部件及其支撑固定件。从图20到图23的演进连续示出添加的部件,以清楚地例示具有照明的多方位合成成像读取器的结构。
图24是用于图20-23的成像器的伪装扫描线照明模式2400的图。在此图中,伪扫描线条带可以通过其关联的照明被看见。即,照明模式被例示。因为本示例中的照明模式2400是使用与成像相同的反射镜产生的,以及因为照明光源与成像器近似并置(或以能够被补偿的方式移置),照明模式2400近似地匹配成像模式。这种类型的支持照明的基于成像器的读取器利用相同反射镜或多个反射镜以引导被成像的场景到成像器以及引导照明到场景。
尽管方便地从用于相机成像的观察点处或附近提供光源,如图15-24中例示的光源可以位于其它位置。例如,光源的其它可能的位置包括转向反射镜820-840处或附近以及指向模式反射镜,或模式反射镜处或附近以及指向其朝向的方向。在照明光源位于相机附近的情况下,照明光源可以不同于图15-24中所示的排列来排列。其它示例排列包括竖直地对准而不是水平和围绕相机。
通过使用具有与目标照明区域相同的形状因数的LED或其它光源可以增强照明效率。订制的LED芯片可以提供期望的形状因数。订制的LED芯片2510以及LED透镜2540以及成像器808和透镜810的示例在图25中例示。例如,LED透镜2540可以是高数值孔径球形透镜。LED透镜2540可以是分离片或与LED芯片2510集成。一个替换排列是在成像器808的相对侧具有两个相同的订制LED芯片。根据本示例,LED透镜2540处于与成像透镜810相同的平面。
订制的LED芯片2510可以被划分为多个不同的扇区。根据一个配置,每个转向镜存在一个扇区。例如,参照转向反射镜820-840,存在5个LED芯片2510扇区,以及这些5个扇区可以以重复序列一次一个地驱动。根据另一配置,每个伪扫描线存在一个扇区。例如,在图13C中,每个模式反射镜或每个图像条带将存在一个扇区。照明区域的高度可以是模式反射镜的整个高度或比在对应于每个条带内从成像器808读取的特定线的区域检测的高度低。
如果使用全局复位成像器代替滚动复位成像器作为成像器808,则可以采取简化照明途径。全局复位成像器的一个示例是Micron
MT9V022 WVGA成像器。因为成像器的不同形式参数,相比于MT9M001成像器,方便地容纳4个区域以及由此4个转向反射镜。能够使用具有3.3mm高度的转向反射镜和具有1.4mm高度的模式反射镜。作为成像透镜810,f/6孔径的Computar
12mm透镜实现令人满意的景深和视场。整个视场的照明能够使用具有2.5mm球透镜的一个或更多个LED提供。能够选择LED的数量以提供适当的照明程度。例如,如图26所示,能够使用10个LED 2610,诸如OSRAM
LRG6SP LED,每一个具有球透镜2640,使得任何LED接触或由于其它基于几何的原因的遮挡效果在照明区域的4个角落分布。
IV.电子和图像处理
图27是根据一个实施方式能够使用的电子硬件系统2700的一个示例的框图。电子硬件系统2700包括以上描述的成像器808或其它相机,以及可选地照明LED 1520-29或其它光源。为了方便,电子硬件系统2700将参照成像器808和照明LED 1510-19描述,但应理解能够采用其它相机装置或光源。电子硬件系统2700还包括DSP(数字信号处理器)2710和照明LED驱动器2720。DSP 2710可以例如是真实的DSP架构,诸如来自Analog Devices,Norwood,Massachusetts的Blackfin
处理器族,或微控制器,诸如来自ARM Ltd.,Cambridge,United Kingdom的高速ARM
处理器族。DSP 2710以从成像器读取图像数据的方式与成像器808接口。简要地,DSP 2710处理图像数据以尝试解码任意一个成像器的扇区中的可读条码图像。DSP 2710可以额外或替换地进行或辅助其它功能,诸如记录图像数据的帧以便随后分析或测试。图像处理和解码的额外细节将在下面描述。照明LED驱动器2720施加信号到照明LED 1510-19以按照期望时刻选通LED或在一定时间段内持续点亮LED。照明时序的额外细节将在下面描述。
DSP 2710和照明LED驱动器2720连接到控制器2730,其可以是例如处理器、微处理器、控制器、微控制器等。连接可以经过总线2740或其它通信机制,诸如串行并行或其它类型的直接连接。控制器2730总体地控制和协调其连接的其它装置的操作,包括成像器808、DSP2710、照明LED驱动器2720、蜂鸣器驱动器2750、以及“良好读取”LED驱动器2760中的一个或更多个。蜂鸣器驱动器2750可以可选地被包括以当光学代码被成功读取时驱动蜂鸣器2755(或蜂音器、扬声器、或其它听觉指示器)以产生听觉“蜂鸣”或其它指示,和/或良好读取LED驱动器2760可以可选地被包括以当代码被成功读取时驱动LED 2765或其它视觉指示器。未视出的其它装置或子系统,诸如收银机或电子称,也可以连接到控制器2730。另外,DSP 2710、控制器2730和/或总线2740可以与诸如收银机系统或结帐终端的其它控制器或计算机接口。
电学硬件系统2700还包括一个或更多个电源2770,其经过未视出的电源连接向系统2700的各个部件提供电力。
电学硬件系统2700可以可选地设置延伸以作为多成像器读取器的一部分的连接到相同或类似系统中的一个或更多个的功能。例如,图28视出多成像器读取器的电学硬件结构2800的简化框图,其中针对每个成像器通道设置单独的DSP 2710A、2710B、和2710C(如图所示对应于各个成像器808A、808B、和808C)。在本示例中相互连接经过DSP 2710A、2710B、和2710C。DSP 2170A、2710B、和2710C例如可以经过串行端口通道连接。处理负载可以按照不同方式在DSP 2170A、2710B、和2710C之间分配。例如,每个DSP 2170A、2710B、和2710C能够进行自身成像器通道的本地解码,而DSP 2710B进行其自身的成像器通道的本地解码以及选择最佳解码结果或可以在称为标签缝合的处理中将来自不同成像通道的结果合并。例如,UPCA条码符号能够解码为片段(诸如标签的左侧和右侧),其能够合并到一起以经过标签缝合将标签解码。来自不同相机的标签片段能够被合并,由此减轻对任何一个成像器看到整个条码标签的需要。作为另一示例,单个DSP可以足以对多个成像器工作。例如,能够在同一DPS上设置多个不同的成像器接口,或单个接口可以在多个成像器之间时间共享,诸如经过复用器。
电气硬件系统2700或2800可以在一个电路板或多个电路板上。例如,参照电气硬件系统2700,成像器808和DSP 2700可以在第二电路板上,而其它部件在第一电路板上。
参照图27,例如,将更详细地描述成像器808和DSP 2710之间的接口。存储器(未例示)可以作为DSP 2710的一部分在芯片上并入或可以是物理地独立的装置,以存储来自成像器808的图像数据。能够利用直接存储器存取(DMA)方案以捕捉来自成像器808的图像数据以及接着存储和/或处理数据。
为了便于例示,考虑其中基于成像器的读取器800或2000工作于100Hz帧率(即每秒100帧)。假设成像器每行具有1280个像素,以及每行存在244个空白像素。以48MPS(兆像素每秒)的数据捕捉率,则捕捉一行要求的时间是31.75μs,按照以下计算。
48MPS/(1280像素/行+244空白像素/行)=31.75μs/行
进一步假设该成像器具有1024个行,以及可以在每4行被读取,每读出一帧产生256个行的模式下工作。如果可能利用成像器,更快和更有效地仅仅读取将被解码的行(例如将用作虚拟扫描线的特定行);然而,使用全部成像器是不可能的。在根据本示例每4行捕捉的模式是可用的情况下,为了实现10ms的帧捕捉时间,对应于100Hz的帧率,能够按照以下选择竖直空白行的数量:
31.75μs/行x(1024/4行+59空白行)=10ms.
捕捉的图像被模式反射镜划分为不同的视场。针对视场的最小的成像器扇区是成像器高度的约二十分之一。因为256个行被读出,以及256/20<<13,存在从成像器808读出的约13个行对应于相同的模式反射镜。这些行中仅仅需要选择一个(尽管如果期望,可以考虑更多)。换句话说,DSP 2710需要仅仅处理从成像器808读出的第十三行。其产生每秒2.56兆像素的处理率,按照以下计算:
(1280像素/行)x(20行/帧)x(100帧/秒)=2.56x106像素/秒
每个像素的位的数量可以是10,例如,以两个字节存储在存储器中。对于读取二进制或单色光学代码,单色或灰阶成像是充分的,在此情况下给定像素的位将强度或亮度信息编码。先前提到的Micron
MT9M001成像器与此示例中进行的假设一致。如果需要读取彩色信息,则能够利用彩色成像器。
进一步继续此示例,能够采用DMA方案以捕捉来自成像器808的20行的每一个到存储器缓冲器中。因为要求的小量的存储器(20行x1280像素/行x2字节/像素=51kB),可以使用DSP 2170中的片上缓存存储器,消除对外部存储器的需要。或者,如果期望可以将整个256个行读入到存储器中。或者,单个感兴趣的行可以在下一行到达之前被实时存储和处理,显著地降低存储器要求,因为不需要帧缓冲器。DSP 2710能够执行中断服务例程(ISR),其每13行产生中断。根据一个实施方式,例如,能够利用两个缓冲器:捕捉缓冲器,捕捉每帧的256行的每一个,以及工作缓冲器,来自捕捉缓冲器的每第13个行被复制到其中。根据此实施方式,随着每个行被捕捉,ISR中的计数器递增。当计数器达到13时,行数据被传递到工作缓冲器,信号发送到DSP 2710中的解码器模块或例程以表示新行将被处理,以及计数器被复位。计数器还可以在竖直同步时(即在帧的末端)清零。
从成像器808的一行捕获的数据与从单行成像器捕获的数据(诸如从手持CCD扫描器捕获的数据)具有类似的特性。结果,适于线性成像信号的任何图像处理和解码算法可以适用于来自成像器808的信号。例如,可以利用边缘检测处理一行,接下来进行低级和高级解码。如果期望的话,可以在边缘检测器中使用去模糊滤波器或均衡器,连同透镜810中设计的色差(球差、彩差或其他)以增加视场的深度,如美国专利7,215,493所公开的内容,该专利的全部内容通过引用并入本文。
更具体地,DSP 2710的软件架构2900的功能框图如图29所示,其适于处理线性光学代码。根据此软件架构2900,图像数据捕获模块2910捕获成像器808的帧内的所有像素或其子集(例如,每第n行)。虚拟扫描线生成器模块2920为图像的每个部分生成至少一条扫描线。在这些部分跨越成像器808的多行的情况下,扫描线生成器模块2920可以和行拾取器或行平均器或行求和器一样简易。例如,在简易行拾取器的情形中,针对每个条带拾取的行可以是可编程参数,其可存储在表格中。例如,可以凭借经验或者凭借分析将每个条带的好的行拾取选择确定为照明最好的、聚焦更好的或其组合的行。对于读取器800或2000,例如,可以选择20行,这些行接近于穿过成像器808的高度而均匀间隔开。假设每第四行被成像器801读出,虚拟线生成器2920从成像器808读出的256行中选择每第13行。行拾取器参数可以由适应性或学习算法在安装、配置、使用或类似的模式下确定,其中针对各种测试读取尝试每行的解码。可以选择最通常产生成功解码的行。可替代地,也可以偶尔解码或定期解码除了选择的行以外的行以测试较好的选择是否可用。
将投射到成像器808上的各种图像的高度设计成不同的高度是有利的。如图13所示,例如,图像835-890A比图像820-870A高。解码堆叠条码是可能的,例如PDF-417或甚至矩阵条码,例如图像的小2-D窗口内的数据矩阵,图像诸如图像835-890A。如果期望读取这些类型的条码,则成像器801上的图像可以做成足够高以允许对这些类型的符号的解码。因此,可以实现高速扫描线性条码的优点同时还读取堆叠和矩阵代码。
虚拟扫描线可以被传递给解码器模块2930,如上所述,解码器模块2930可以是适于解码线性矩阵图像中的条码的任何类型。解码模块2930的一个示例如图30所示,包括去模糊的均衡滤波器2940、边缘检测器2950、低级解码器2960和高级解码器2970。
照明可以添加到前述示例。假设,通过示例的方式,期望对穿过查看体积的物体提供100英寸/秒的扫过速度,并且进一步假设光学代码的最小特性尺寸为10密耳,则照明选通的持续时间应当不少于100μs,以确保光斑在曝光时间内不小于条码的最小元件的宽度。提供脉冲给LED 1510-1519的一种便利的方式是计算成像器808的行数。根据之前的示例,三行捕获时间接近于100μs最大(确切地,3x31.75μs=95.25μs)。当特定行被成像器808读取时,LED被开启,而当已经自该点经过预定数量的行数时LED被关闭。驱动LED的电流的量可以基于LED的占空因数(duty cycle)及其最大电流等级(rating)设定。当LED被提供脉冲接近其最大允许的脉冲电流时,LED脉冲宽度被最小化,并且因此扫过速度被最大化。
与照明脉冲宽度有关的是成像器曝光时间的概念。在成像器808是卷帘复位或卷帘快门成像器的情形下,曝光时间可以表示为行的数量,其中行被曝光或以从顶部到底部的顺序有序地集成光,之后重复。例如,如果曝光时间设定为十行,则成像器808的第一行将在到时间读取该行之前开始曝光十行。第二行将在第一行开始之后开始曝光一行并且就在第一行被读取之后被读取。在这些行都被集成(在集成期间有九行)的期间内,如果LED在某处被提供脉冲一行时间,则这些行都将均等地曝光于LED脉冲。如果LED脉冲持续3行时间,则有7行时期这些行可均等地曝光,等等。利用成像器的“捕获每第四行”模式,每帧有315行被读取(256个有效行加59个空白行)。对于单LED脉冲,曝光成像器的所有行,曝光时间必须设定为至少256行(成像器的整个范围)加LED脉冲在其上的行的数量但少于315,行加空白的总数被读取或者帧速率将改变以提供曝光的其他行。但是这样的长时间曝光会产生环境光敏感度问题。降低曝光时间可避免由于环境光的饱和。如果曝光时间降低到256/5≈51行,例如以减少环境光敏感度,则可以看到帧时间期间的单LED脉冲将仅曝光图像的五分之一。在帧时间期间将需要五个LED脉冲以曝光成像器的所有行,并且环境光敏感度将被减少五分之一。更多的光有效方案可以是帧时间期间脉冲5个不同LED,每个LED将照明视场范围的五分之一,对应于在该时间周期期间被集成的成像器部分。环境光公差的进一步改进可以通过使用更多LED获得,诸如20个LED以便每帧20个LED脉冲。然后成像器曝光时间可以被设置为256/20=13行,从而获得环境光不必比全帧曝光好二十分之一。对应于这些数目的曝光的行的曝光时间被制成如下表格,假设3行LED脉冲。环境光敏感度将取决于相机透镜的焦距(f/#)和选择的曝光时间。
曝光行 |
时间 |
脉冲/帧 |
256+2=258 |
8.2ms |
1 |
256/5+2=53 |
1.7ms |
5 |
256/20+2=15 |
0.5ms |
20 |
在照明硬件为图15-23中所描绘的情况下,可以如下与成像器808的曝光相应地完成LED 1510-1519的闪光的排序。每个LED对(例如1512和1517)以脉冲激励三行时间,每帧一次。成像器的曝光时间被设置为63行或2ms,使得对应于给定的重定向镜面(例如镜面820-840中的一个)的所有行被一个LED脉冲相等地曝光-因为LED对指向那个镜面。这个曝光对应于上面表的中间行的情况。脉冲在一个重定向镜面视场中所有成像器行的重叠周期期间发生。可以例如用软件查找表完成那个脉冲激励,该软件查找表当上面所描述的ISR中的行计数器遇到计数值Y时打开LED对Z(这里Z=1、2、3、4或5)。可以在开发期间调整表值(Y),以确保所有LED在合适的时间脉冲激励。该基于表的脉冲触发方案的结果是LED的每个对以100Hz(该频率在临界闪变频率之上)脉冲激励,并且5组LED每帧排序一次。照明强度等效于使用具有每帧脉冲激励一次的所有10个LED 1510-1519的全局快门CMOS成像器。
图31参照成像器808的面400(或得到的图像)图示描绘了上面所描述的照明和成像器曝光的时序。滑动曝光窗口3110在概念上可以被视为在成像器面400之前。在上面的示例中,曝光窗口3110每31.75us移下一行。在该示例中,曝光窗口为53行高,对应于曝光时间。该曝光-读出方案可以被视为曝光窗口3110的顶部边缘预示着那个行的像素曝光的开始,而曝光窗口3110的底部行是被读出的行。读出行表示为行数X,其每31.75us递增。因此,曝光窗口3110可以被定义为从行数X-52到行数X范围的53个连续的行。行计数器变量X从-52到最大数(例如255)循环并且重复。X的负值对应于在之前的帧的垂直熄灭时间期间的行。
当曝光窗口3110覆盖对应于一个重定向镜面的成像器面400的一部分(例如较暗的实水平线之间的部分)时,定向在那个重定向镜面的所有像素被同时曝光。在图31中,Y1、Y2、Y3、Y4和Y5代表闪光开始时的时间。每个闪光持续一段时间,其可以是整个数目的行时间(例如上面示例中的三行时间),由开始于Y1、Y2、Y3、Y4和Y5中的每一个的短符号表示。因此,当X=Y1、Y1+1和Y1+2时,根据上面的示例,启用定向到第一重定向镜面的照明;当X=Y2、Y2+1和Y2+2时,根据上面的示例,启用定向到第二重定向镜面的照明;以此类推。
图32是根据一个实施例的方法3200的流程图。方法3200特别适用于使用成像器和一组固定的、静态的或非移动的镜面来为视体中的物体上的一维光码产生可解码的图像数据(即为最终解码而可以处理的图像数据)。方法3200通常可以以N个并行路径进行,这里N是取自视体内的物体的不同局部图像的数目。典型地,N对应于到视体内的不同视角的数目,虽然从同一视角分开考虑多个视图是可能的。在每个路径上,方法3200可选地照明得到局部图像的视体内的各个区域,如步骤3210-1、3210-2、…。3210-N所示,可以例如同时或顺序执行。通常,同时照明更适合于全局复位图像,而顺序照明对于滚动复位成像器有优势。
方法还将视体(或其中的物体,取决于其尺寸和位置)的局部图像从视角投射到成像器的一部分上,并且也是N个时间,如步骤3220-1、3220-2、…、3220-N所示。该部分可以是跨过成像器的带状或具有其他形状。从其投射视图或图像的视角可以与照明从其定向到视体的视角相同。可以在与其对应的照明步骤3210-1、3210-2、…、3210-N大约相同的时间执行投射步骤3220-1、3220-2、…、3220-N中的每一个,虽然投射步骤可以在照明步骤开始之前或之后开始。与照明步骤一样,例如可以同时或顺序执行投射步骤3220-1、3220-2、…、3220-N。同时投射更适合于全局复位图像,而顺序投射对于滚动复位成像器有优势。投射步骤3220-1、3220-2、…、3220-N中的一些或所有可以包括从两个或更多个镜面反射图像,该镜面可以是用来将照明定向到视体的同一镜面。投射步骤3220-1、3220-2、…、3220-N中的一些或所有还可以包括将局部图像聚焦在成像器上。
此时,在投射步骤3220-1、3220-2、…、3220-N之后,方法3200已经产生可解码、可处理或有用的图像数据。可选地,方法3200可以继续处理图像数据并且最终对其中的光码进行解码,如所示并且接下来所描述的。在光码是线性光码的情况下,所继续的处理可以包含选择、确定或生成虚拟扫描线。在光码是二维或堆叠码的情况下,可以将其他合适的解码技术应用到局部图像。在那种情况下,期望每个局部图像的高度足够大,以配合二维或堆叠码,并且提供存储器为每个局部图像存储足够数目的行,以对整个二维或堆叠码进行解码。合适的二维或堆叠解码技术例如可以包括多个虚拟扫面线。
出于示例,假设虚拟扫描线将被提取,则方法3200可以生成虚拟扫面线,如步骤3230-1、3230-2、…、3230-N所示。在成像器的不同部分是跨过成像器的一个或多个行的条纹的情况下,生成步骤3230-1、3230-2、…、3230-N可以简单到将条纹内的一个或多个行挑选为虚拟扫描线。在较复杂的情况下,生成步骤3230-1、3230-2、…、3230-N可以包含逐个像素平均行的强度,以产生表示条纹平均值的虚拟扫描线,可以包含逐个像素添加行的强度,以增加信噪比,或可以包含连带地处理若干行的数据。如果光码可以被假设为当条纹中的行被曝光时是足够静止的,则平均可以是合适的。在较通常的情况下,考虑到在条纹的长方向上的运动的可能性,条纹内的不同行可以被关联以确定水平偏移,并且接着可以平均偏移补偿线。
然而为了提取光学代码中的信息,产生虚拟扫描线,然后3200然后解码那些虚拟扫描线,如步骤3240-1、3240-2、3240-3……3240-N所示。在方法3200的一个变体中,每个虚拟扫描线产生步骤3230均为成像器的对应视场或片段产生一个虚拟扫描线。并且该单个虚拟扫描线被单独解码。在另一变体中,虚拟扫描线产生步骤3230产生多个虚拟扫描线。,每个都被单独或联合解码。例如,来自相同视场或图像的多个扫描线可以被独立解码,以确保被正确解码。不同解码操作可以采用相同或不同解码算法。用不同方法解码相同片段的不同虚拟扫描线可以增强在相同情况下成功读取的可能性。
不管解码是怎样获取的,方法3200都可以执行选择步骤3250用以选择采用哪个解码作为整体结果。根据到视场体积(viewing volume)的多种透视的数量和他们之间的空间关系,仅解码步骤中的一个或少数可以获取成功解码。选择步骤3250可以如同第一次成功解码一样简单。为了保险起见,选择步骤3250可以可选地检验其他成功解码。这样,在一个或多于一个的解码步骤3240-1、3240-2、……、3240-N产生少于整体光学代码的部分解码,然后选择步骤可以尝试组合部分解码,以在已知的拼接(stitching)过程生成整体光学代码的完整解码,其中该拼接过程详细描述在例如第5,929,421号美国专利中,该专利全文通过参考合并于此。
来自选择步骤3250对一帧图像数据的全部结果输出可以是不完全的解码,在这种情况下,拼接技术可以用于几个连续帧的全部结果,以获得完全的解码代码。
在一个实施例中,基于面到面或部分图像到部分图像的方式顺序执行这些步骤(即,按照以下顺序步骤:3210-1、3220-1、3230-1、3240-1、3210-2、3220-2、3230-2、3240-2、……、3210-N、3220-N、3230-N、3240-N。)在其他实施例中,相同类型的N个步骤可以组合在一起并且联合执行。例如,从投影步骤3220-1、3220-2、……、3220-N得到的部分图像可以被联合处理,以产生一个或多于一个的虚拟扫描线。例如,图像拼接技术可以用于按照需要将多个部分图像拼接在一起。如另一示例,解码步骤3240-1、3240-2、……、3240-N可以作为联合解码过程的一部分一起执行,一般与选择步骤3250结合执行。其他结合是可能的。
虽然方法3200可以在每帧交替执行任意整数次,但通常每帧图像数据只执行一次方法3200。方法3200可以包括在方法3200每次迭代/重复开始或结束时或者接近开始或结束时重置图像器,或者可以包括在执行每次迭代时基于逐渐滚动的方式重置图像器。
图33是根据一个实施例的另一方法3300的流程图。方法3300适合于读取视场体积中物体上的线性光学代码。方法3300将图像器平面划分为多个条带状片段(步骤3310)。由于执行方法3300的读取器的设计,划分步骤3310可以固有执行,可以在启动、初始化或其他脱机时间时执行,或者可以在读取光学代码的过程中执行。方法3300还可以从位置和/或方向不同的多个视角观察该物体(步骤3320)。方法3300可以可选地以任何适当的或期望的方式照射物体(步骤3300)。可以从可以观察到物体的相同的多个视角提供这样的照射,在照射到的区域上可以进行多个观察操作,并且照射与观察操作同时进行。接下来,步骤3300在图像平面内分别对应于多个视角形成多个条带状图像(步骤3340)。因此,方法3300产生包括来自多个视角的数据的合成图像。
此时(在形成步骤3340完成之后),方法3300生成用于读取光学代码的有用的图像数据。可选地,方法3300可以包括解码或试图解码嵌入在图像数据中的光学代码。特别地,根据一个实施例,方法3300可以产生覆盖至少一个条带中的一些或全部的一个或多于一个虚拟扫描线(步骤3350)并且解码这些虚拟扫描线以确定光学代码(3360)。在方法3300的一个变体中,图像包括按横行纵列排布的像素矩形阵列,图像器是行方向的滚动重置图像器,条带状片段是N(N≥1)个邻近像素行。在这一变体中,形成步骤3340可以包括在N个邻近像素行的连续组上顺序形成条带状图像。可选地,每帧可以重复形成步骤整数次。
另一变体是同时或可替代地试图从两个或两个以上取景面上读取的多面读取器。可接合并且利用在此说明的两个或两个以上基于单窗成像器的成像器,例如在图8-图11中说明的成像器800一起来制作多面(例如,双光学或两窗式)读取器。典型的双光学装置具由两个窗,其中一个窗的一个边缘靠近另一窗的一个边缘并且其中与这些窗的大约公共边缘成期望的角度关系(例如,90度)。例如,在美国专利7,198,195中,其整体在此被结合作为参考,说明了具有两个扫描面或窗的基于激光的扫描仪。图35还说明了具有水平取景窗804A和垂直取景窗804B的双光学读取器3500。相同或相似的多面设计可通过使用在此说明的基于成像器的读取器来完成。三个或三个以上读取器的组合也是可能的。
另一变体是使用单成像器的双光学读取器,其视野被分为两个部分-读取器的其中之一窗-并且被进一步分为从每个窗处产生的多个假性扫描线。图36A-图36G说明这种类型的基于单成像器的双光学读取器3600的示例,其具有与图35中相同的形成因素。图36A是读取器3600的侧视切面图,其具有成像器808、透镜810、双光学镜3620,以及一些典型样式镜和/或引导镜360-3680。双光学分裂镜3620被设置为重新引导呈箱体的一般视野至读取器3600的水平窗804A部分,而成像器视野的另一半用于垂直窗804B。在图36B和图36C中说明了垂直和水平假性扫描线样式的示例。在图36D-图36G中以不同方式说明了图36C中的样式镜位移以产生水平假性扫描线样式的示例。
在受让人的美国专利申请11/765,345中公开了为读取光学代码目的的带有成像器的固定镜设置的示例,其在2007年6月19日提交并且标题为“带有多成像区域的成像扫描仪”,其整体作为引用结合在此。
以上使用的术语和说明仅以说明方式并且不意味着作为限制而被展示。本领域的技术人员将认识到,在不偏离本发明的原则下可对以上说明实施例的细节做出多种变体。因此,本发明的范围应该仅通过权利要求和它们的等同物被确定。