输出单色图像数据和彩色图像数据的终端 相关申请交叉引用
本申请要求 2010 年 6 月 30 日提交的、 标题为 “Terminal Outputting Monochrome Image DataAnd Color Image Data” 的第 12/827,619 号美国专利申请的优先权。上述申请 的优先权被要求并全部通过引用合并于本文。
技术领域
本发明总体上涉及基于传感器的终端, 并且特别地涉及基于图像传感器的终端。 背景技术 基于图像传感器的终端已知用于工业数据收集应用。例如, 基于图像传感器的标 记读取终端多年来已经为了对编码为条码符号的编码信息进行解码的目的而使用。 为了解 码条码符号, 利用基于图像传感器的终端所捕获的被捕获图像能够被捕获并经受一个或多 个条码解码算法的应用的处理。 基于图像传感器的标记读取终端可以利用一维图像传感器
或者二维图像传感器而获得。
最近, 将彩色图像传感器包括在蜂窝电话中是流行的。 在一般可用蜂窝电话中, 图 像传感器能够被包括。 基于图像传感器的蜂窝电话可操作用于捕获图像数据的彩色帧以用 于存储在终端上和 / 或向外部终端无线传输。 发明内容 提供了一种包含图像感测和处理电路的成像终端, 该电路包括混合型单色和彩色 图像传感器像素阵列, 其具有由无彩色滤波元件 (color filter element) 的单色像素提供 的第一像素子集和由具有彩色滤波元件的彩色像素提供的第二像素子集。该终端可操作 以使得图像感测和处理电路能够输出图像数据帧, 以用于存储在 CPU 可寻址图像帧存储器 中。该图像感测和处理电路可操作以使得由图像感测和处理电路输出的用于存储在 CPU 可 寻址图像帧存储器中的图像数据帧能够包括对应于图像传感器像素阵列的彩色像素位置 的单色像素值。
附图说明
本文描述的特征可以参考以下描述的附图而更好地理解。 附图并非一定按比例绘 制, 重点总体上放在说明本发明的原理。附图内各个视图中同样的附图标记用于指示同样 的部分。
图 1 为成像终端的框图 ;
图 2 为图示了具有图像传感器像素阵列的图像传感器集成电路的透视图及附带 的示意图 ;
图 3 为成像终端的框图 ;
图 4 为图像数据帧的表示 ;图 5 为一个实施例中图像感测和处理电路的框图 ; 图 6 为另一个实施例中图像感测和处理电路的框图 ; 图 7 为图像数据帧的表示 ; 图 8 为图像感测和处理电路能够应用的掩模核 (mask kernel) 的表示 ; 图 9-17 为图像感测和处理电路能够应用的作为滤波器的各种掩模的表示 ; 图 18 为一个实施例中成像终端的物理形态的透视图 ; 图 19 为图示一个实施例中的成像终端的操作的流程图 ; 图 20 为一个实施例中包括在集成电路中的图像感测和处理电路的物理形态的透 图 21 为图示一个实施例中的成像终端的操作的流程图 ; 图 22 为图像数据帧的表示 ; 图 23 为图示一个实施例中的成像终端的操作的时序图。视图 ;
具体实施方式
提供了一种基于图像传感器的终端 1000, 包括混合型单色和彩色图像传感器像素 阵列 182, 其具有由无彩色滤波元件的单色像素提供的第一像素子集和由包括彩色滤波元 件的色敏 (color sensitive) 像素提供的第二像素子集。在一个实施例中, 图像传感器像 素阵列 182 可以被包括在集成电路 1082 中。可提供作为图像感测和处理电路 502 的一部 分的图像传感器像素阵列 182, 其可操作用于确定对应于图像传感器像素阵列 182 的彩色 像素位置的缺失的单色像素信息, 以使得初始存储于其上的 CPU 可寻址帧能够包括对应于 图像传感器像素阵列 182 的彩色像素位置的单色图像数据。终端 1000 也可包括 CPU 可寻 址图像帧存储器 1080 和 CPU 1060。
参见图 2, 基于图像传感器的终端 1000 的图像传感器像素阵列 182 可包括排列成 复数行像素的像素, 并可包括没有 ( 无 ) 彩色滤波元件的单色像素 12 的第一子集和包括彩 色滤波元件的彩色像素 14 的第二子集。此类色敏像素可布置在图像传感器像素阵列 182 的隔开的 (spaced apart) 位置, 并可布置为均匀地或基本上均匀地遍布图像传感器像素阵 列 182 的位置。在一个实施例中, 图像传感器像素阵列 182 的隔开的彩色像素尽管被隔开, 但仍可遵循一种根据 Bayer 模式 (pattern) 的模式。例如, 如果红= R, 绿= G, 蓝= B, 则 行 141 中所示的彩色像素可具有模式… GRGRGRG…, 该模式可针对行 143 和 145 进行重复。 行 142 的像素可具有模式… BGBGBGB…, 该模式可针对行 144 进行重复, 且这种模式可遍及 图像传感器像素阵列 182 进行重复。利用兼有彩色和单色像素的彩色图像传感器像素阵列 182 所捕获的图像数据的彩色帧可包括单色像素图像数据和彩色像素图像数据。在另一实 施例中, 图像传感器像素阵列 182 可仅具有彩色像素而没有单色像素。在另一实施例中, 图 像传感器像素阵列 182 可包括 Bayer 模式滤波器。在另一实施例中, 图像传感器像素阵列 182 可由无彩色滤波元件的单色图像传感器像素阵列提供。图像传感器像素阵列 182 可封 装在如图 2 所示的图像传感器集成电路中。图像传感器像素阵列 182 可包括像素的模式, 例如遍及图像传感器像素阵列 182 的某个区域重复 M×M 的块 ( 示例 M = 12)。在一个实施 例中, 模式 148 可遍及整个图像传感器像素阵列 182 重复。
在图 3 中示出了示例性成像终端 1000 的硬件框图, 其可包括图像感测和处理电路502, 其具有可组成本文所述的图像感测和处理电路 502 的一部分的图像传感器像素阵列 182。
成像终端 1000 可包括图像感测和处理电路 502, 其包括多像素的图像传感器像素 阵列 182, 具有按像素行和列排列的像素。列电路 270 和行电路 296 可关联于图像传感器 像素阵列 182。图像感测和处理电路 502 也可具有相关联的计时和控制电路 1092, 用于控 制例如图像传感器像素阵列 182 的曝光时间, 和施加于从图像传感器像素阵列 182 读出的 图像信号的增益。在一个实施例中标出的组成图像感测和处理电路 502 的电路组件或这样 的组件的子集可被封装成通用的图像传感器集成电路 1082。在一个实例中, 图像感测和处 理电路 502 可包括可从 Micron 科技公司获得的 MT9V022 图像传感器集成电路, 其被修改以 包括布置于图像传感器像素阵列的集成电路中的像素子集上的彩色滤波器, 以定义本文所 述的混合型单色和彩色图像传感器像素阵列。可供成像终端 1000 使用的附加特征在 2005 年 6 月 30 日提交的、 标题为 “Digital Picture Taking Optical Reader Having Hybrid Monochrome And Color Image Sensor Array” 的第 11/174,447 号美国专利申请中描述, 通 过引用合并入本文。可供成像终端 1000 使用的附加特征在标题为 “Image Sensor Pixel Array Having Output Response Curve Including Logarithmic Pattern For Image Sensor Based Terminal” 的第 12/421,476 号美国专利申请中公开, 通过引用合并入本文。 在终端 1000 的操作期间, 图像信号可从图像传感器像素阵列 182 读出, 被转换并 存储于系统存储器例如 RAM 1080 中。终端 1000 的存储器可包括 RAM1080、 非易失存储器 例如 EPROM 1082 以及闪存或硬盘驱动存储器等提供的存储器设备 1084 中的一个或多个。 在一个实施例中, 终端 1000 可包括 CPU 1060, 其可适配成读出存储于存储器 1080 的图像 数据以及使这种图像数据经受各种图像处理算法。终端 1000 可包括直接存储器存取单元 (DMA)1070, 用于路由从图像传感器像素阵列 182 读出的图像信息, 其已经受向 RAM 1080 的 转换。在另一实施例中, 系统总线 1500 可包括总线仲裁机构 ( 例如 PCI 总线 ), 借此减少对 中央 DMA 控制器的需求。本领域技术人员将会理解, 提供图像传感器像素阵列 182 与 RAM 1080 之间的高效数据传输的系统总线体系结构和 / 或直接存储器存取组件的其他实施例 也在本发明的范围和精神之内。
关于终端 1000 的进一步方面, 镜头组件 100 可适配成将位于衬底 1250 上视图 1240 的视场 1240 内的可解码标记 15 的图像聚焦到图像传感器像素阵列 182 上。成像光束 可沿成像轴 25 传输。镜头组件 100 可适配成能够具有多个焦距或多个最佳对焦距离。
终端 1000 也可包括照明模式 (illumination pattern) 光源库 1204 和相关联的 用于生成基本上对应于终端 1000 的视场 1240 的照明模式 1260 的光整形光学器件 1205。 库 1204 与光学器件 1205 的结合可被视为照明模式生成器 1206。终端 1000 还可包括对准 (aiming) 模式光源库 1208 和相关联的用于在衬底 1250 上生成对准模式 1270 的光整形光 学器件 1209。库 1208 与光学器件 1209 的结合可被视为对准模式生成器 1210。在使用中, 终端 1000 可由操作者以对准模式 1270 投射于可解码标记 15 的方式来相对于承载可解码 标记 15 的衬底 1250 进行定向。在图 3 的示例中, 可解码标记 15 由 1D 条码符号提供。可 解码标记 15 还可由 2D 条码符号或光学字符识别 (OCR) 字符来提供。
照明模式光源库 1204 和对准模式光源库 1208 中的每一个可包括一个或多个光 源。镜头组件 100 可利用镜头组件控制单元 1320 来控制。照明模式光源库 1204 可利用照
明光源控制单元 1220 来控制。 对准模式光源库 1208 可利用对准模式光源库控制电路 1222 来控制。镜头组件控制单元 1320 能够输出用于控制镜头组件 100 的信号, 例如用于改变镜 头组件 100 的焦距和 / 或最佳对焦距离 ( 光学焦平面 )。镜头组件控制单元 1320 能够通过 连接到系统总线 1500 的接口电路 1318 与 CPU 进行通信。照明光源库控制单元 1220 能够 输出用于控制照明模式光源库 1204 的信号, 例如用于改变照明模式光源库 1204 输出的照 明级别。对准模式光源库控制单元 1222 能够向对准模式光源库 1208 输出信号, 例如用于 改变对准模式光源库 1208 输出的照明级别。
终端 1000 还可包括多个外围设备, 包括可用于产生激活触发信号的触发器 3408, 该信号用于激活读出的帧和 / 或特定解码过程。触发器 3408 可通过接口电路 3406 耦合至 系统总线 1500。 终端 1000 可被适配成使得对触发器 3408 的激励能够激活触发信号并发起 读取尝试。特别地, 终端 1000 可操作以使得响应于触发信号的激活, 通过从图像传感器像 素阵列 182 读出图像信息并然后在转换到存储器 1080( 其能够在给定时间缓冲一系列帧中 的一个或多个 ) 之后存储图像信息, 一系列帧可被捕获。在存储于存储器 1080 中之前, 图 像信息可由图像感测和处理电路 502 来处理。 CPU 1060 可操作以使一系列帧中的一个或多 个经受读取尝试。为尝试读取条码符号, CPU 1060 能够处理对应于一行像素位置的图像数 据帧, 以确定暗和亮的单元的空间模式, 并能够将所确定的每个亮和暗的单元模式通过查 找表转换成字符或字符串, 以确定并输出消息。 终端 1000 可包括多种接口电路, 用于将多种外围设备耦合至系统地址 / 数据总线 ( 系统总线 )1500, 用于与也耦合于系统总线 1500 的 CPU 1060 进行通信。终端 1000 可包 括用于将图像传感器计时和控制电路 1038 耦合至系统总线 1500 的接口电路 1028, 用于将 光源库控制电路 1220 耦合至系统总线 1500 的接口电路 1218 和用于将对准光源库控制电 路 1222 耦合至系统总线 1500 的接口电路 1224。终端 1000 也可包括显示器 3420, 其耦合 于系统总线 1500 并与 CPU 1060 通过接口电路 3418 通信, 以及指示器机构 3410, 其与 CPU 1060 通过连接系统总线 1500 的接口电路 3414 通信, 以及键盘 3424, 其与 CPU 1060 通过连 接系统总线 1500 的接口电路 3422 通信。触发器 3408 可与 CPU 1060 通过连接系统总线 1500 的接口电路 3406 通信。
一系列能够被捕获并经受所述处理的图像数据帧可为全帧 ( 包括对应于图像传 感器像素阵列 182 的每个像素或者在另一实施例中表示在终端 1000 操作中从阵列 182 读 出的像素最大数量的阵列 182 的预定区域上的每个像素阵列的像素值 )。一系列能够被捕 获并经受所述处理的图像数据帧也可为 “加窗帧 (windowed frame)” , 其包括对应于少于图 像传感器像素阵列 182 的预定区域上的每个像素的像素值且在某些情况下少于约 50%而 在某些情况下少于图像传感器像素阵列 182 像素的 10%。 一系列能够被捕获并经受所述处 理的图像数据帧也可包括全帧和加窗帧的结合。 全帧可通过选择性寻址以读出对应于该全 帧的图像传感器像素阵列 182 的像素来捕获。加窗帧可通过选择性寻址以读出对应于该加 窗帧的图像传感器像素阵列 182 的像素来捕获。通过可操作以捕获图像数据帧, 终端 1000 可作为成像终端。
终端 1000 可以以称为帧率的速率来捕获图像数据帧。一个典型的帧率为 60 帧每 秒 (FPS), 转换成帧时间 ( 帧周期 ) 为 16.6ms。另一典型的帧率为 30 帧每秒 (FPS), 转换成 帧时间 ( 帧周期 ) 为 33.3ms 每帧。
参考图 1-3 所描述的终端 1000 的组件可包括于手持外壳中, 图 6 示出了其示例性 物理形态的视图。 包括图像传感器像素阵列 182 的图像传感器 180 可置于外壳 1014 中。 再 参见图 3 的视图, 图 3 的虚线边框标记为边框 1014, 以指示边框 1014 内的元件能够被布置 于手持外壳 1014 内。
再参见图 3 的框图, 描述了在一个实施例中图像感测和处理电路 502 的进一步方 面。图像感测和处理电路 502 可包括图像传感器像素阵列 182, 其包含以复数个像素行和 复数个像素列形成的复数个像素、 行电路 296 和列电路 270。图像传感器像素阵列 182 可 为单色或彩色, 并可具有构成于其上的物理滤波器, 其形式为 2005 年 6 月 30 日提交的、 标 题为 “Digital Picture Taking Optical Reader Having Hybrid Monochrome And Color Image Sensor Array” 的第 11/174,447 号美国专利申请中所描述的标准 RGB 滤波器或物理 滤波器, 通过引用合并入本文。列电路 270 可包括读出电路, 用于典型地以模拟电压的形式 从图像传感器像素阵列 182 的像素 180 读出图像信号。在一个实施例中, 图像传感器像素 阵列 182 为 CMOS 型图像传感器像素阵列 182。
进一步关于图像感测和处理电路 502, 图像感测和处理电路 502 可配置为在将图 像数据存储至图像帧存储器 1080 中之前实现对图像数据的处理。 图像感测和处理电路 502 可包括用于缓冲对应于图像传感器像素阵列 182 的复数行像素的图像数据的行缓冲器电 路 1102(N 行缓冲器 )、 块存取电路 1104、 计算电路 1106、 选择器电路 1108 及控制和计时电 路 1092。 为减小芯片尺寸, 行缓冲器电路 1102 可为多行的模拟采样与保持电路。行缓冲器 电路 1102 还可为数字缓冲器电路, 用于缓冲数字像素值。在行缓冲器电路 1102 为数字缓 冲器的情况下, 行缓冲器电路 1102 能够包括模数转换器 (ADC), 以用于将从图像传感器像 素阵列 182 的像素 180 通过上文提到的读出电路读出的模拟像素电压图像信号数字化为像 素密度值, “或像素值” 的形式。单个 ADC 可被包括在从列电路 270 至行缓冲器电路 1102 的 第一行缓冲器的第一管道中, 且该数字像素值能够传至行缓冲器电路 1102 的剩余行缓冲 器而无需重新数字化。行缓冲器电路 1102 所缓冲的像素值大小可为多位, 例如 8 位。在像 素 180 为单色的情况下, 对应于像素 180 的像素值可称为灰度 (gray scale) 像素值。在像 素 180 具有彩色滤波器的情况下, 对应于像素 180 的像素值可称为彩色级 (color scale) 值。行缓冲器电路 1102 能够缓冲部分图像数据行、 基本上完整的图像数据行或者完整的图 像数据行。在一个实施例中, 行缓冲器电路 1102 能够缓冲对应于并表示入射在图像传感器 像素阵列 182 的三行像素上的光的像素值。在一个实施例中, 行缓冲器电路 1102 缓冲对应 于并表示入射在阵列 N 行像素上的光的像素值。在进一步方面, 图像感测和处理电路 502 可配置为输出来自行缓冲器电路 1102 的原始像素值。图像感测和处理电路 502 可配置为 逐像素且逐行地输出来自行缓冲器电路 1102 的原始像素值直至所有组成图像数据的输出 帧的像素值都已经被输出。在一个实施例中, 图像感测和处理电路 502 可被配置以使得行 缓冲器电路 1102 不可由 CPU 1060 所寻址。
图像感测和处理电路 502 也可包括块存取电路 1104, 其从行缓冲器电路 1102 存取 图像数据块。图像感测和处理电路 502 也可包括计算电路 1106。关于块存取电路 1104 的 进一步方面, 块存取电路 1104 能够从行缓冲器电路 1102 存取图像数据并能够将像素值呈 现给计算电路 1106。 因而图像感测和处理电路 502 能够在接口 588 以每像素时钟一个像素
值的速率来输出像素值, 块存取电路 1104 可从行缓冲器电路 ( 在为数字的情况下 )1102 并 行读出复数个像素值, 如字节输出的阵列 1118 所示。相似地, 块存取电路 1104 能够将复数 个多位像素值并行地呈现给计算电路 1106, 如字节输出 1120 所示。块存取电路 1104 能够 以例如 3×3 的块或 N×N 的块来存取和呈现像素值块。
在一个实施例中, 在图像传感器像素阵列 182 为混合型单色和彩色图像传感器像 素阵列的情况下, 图像感测和处理电路 502 利用行缓冲器电路 1102(N 行缓冲器 ) 可操作用 于确定对应于彩色像素位置的缺失的单色像素值。块存取电路 1104 能够从行缓冲器电路 1102(N 行缓冲器 ) 中读出复数个像素值并可将 N×N 像素值块呈现至计算电路 1106, 其可 操作以确定 ( 例如内插 (interpolate)) 对应于彩色像素位置的缺失的单色像素值。
图 4 中, 示出了具有复数个像素位置的图像数据帧。像素位置 P21、 P41、 P23、 P43…为 对应于图像传感器像素阵列 182B 的色敏像素 205C 的缺失像素位置。参见图 4 所表示的图 像数据帧, 终端 1000 可通过对邻接于像素位置 P23 的每个像素位置以及角邻接于 (corner adjacent to) 彩色像素位置 P23 的每个像素位置的灰度值求平均来计算彩色像素位置例如 位置 P23 的灰度级像素值。例如, 参见图 4 所表示的帧, 彩色像素位置 P23 的灰度值可利用 对像素位置 P12、 P22、 P32、 P13、 P33、 P14、 P24 和 P34 的像素值求平均来进行内插。 “缺失像素” 位 置 P23 的像素值也可利用多于 8 个的相邻像素位置来内插。同样, 角邻接像素在求平均值时 可具有比两侧、 顶端或底端邻接像素更小的权重。 在一个简单的平均方法中, 仅周边的四个 像素被平均 ; 即邻接于对其内插灰度值的像素位置的顶端和底端邻接像素以及两侧邻接像 素。 在进一步的内插方法中, 仅两个像素用于求均值 ; 即邻接于该像素位置的两侧邻接像素 被内插, 或者顶端与底端邻接像素被内插。线性条码符号的二维图像表示可被期望在沿一 列具有若干个连贯的具有类似灰度值的像素位置, 如果该符号的表示以 0°或 180°的旋 转角度 ( 即该符号为正面向上或颠倒 ) 来定向。如果该符号的表示具有 90°或 280°的旋 转角度, 则在像素位置的行上若干个连贯的像素位置可被期望具有类似取值的灰度值。因 而可见, 对在符号表示中的条码方向上传播的邻接像素位置值的像素值进行内插产生了比 用所有周边像素位置进行内插更准确的边缘信息。
在本发明的一种方法中, 一对水平定向的扫描线之间的相关性与一对垂直定向的 扫描线之间的相关性一同被计算出来。随后对两个相关性的度量进行比较。如果行扫描线 更紧密地相关, 则选择列邻接像素进行内插。 如果列扫描线更紧密地相关, 则选择行邻接像 素进行内插。用于计算一对扫描线 ( 水平或垂直 ) 的一阶导数相关性的一组示例性代码如 表 1 所示。
表1
用于执行一阶导数相关性计算的示例性代码
% OneDcorelate : 将两个 1D 一阶导数信号相关以报告%相关性
%输入 a、 b: 1D 阵列
%输出 c : 一阶导数相关性
Fuction c = OneDcorrelate(a, b)
%“diff” 为一阶导数计算。
%对于输入阵列则da = diff(double(a)) ;db = diff(double(b)) ;
n = length(da) ;
c=0;
for i = 1:n
c = c+da(i)*db(i) ;
end
[ 表 1 结束 ]
表 2 显示了一组用于通过三种方法之一 ( 一阶导数相关性、 简单相关性以及简单 均值 ) 对缺失彩色像素位置值进行内插的代码, 其中 “M-set” 代表单色像素集。
表2
用于将对应与彩色像素位置的缺失像素进行内插的示例性代码
[ 表 2 结束 ]
进一步关于图像感测和处理电路 502, 该图像感测和处理电路 502 可包括控制 / 计时电路 1092、 选择器电路 1108 以及掩模数据电路 1110。响应于触发信号被激活, 控制 / 计时电路 1092 能够向图像传感器像素阵列 182 发送曝光控制、 复位和读出信号, 以实现图 像传感器像素阵列 182 的像素的图像信号读出。如从控制 / 计时电路 1092 延伸的多种控 制线所指示, 控制 / 计时电路 1092 可与行缓冲器电路 1102、 块存取电路 1104 以及计算电 路 1106 进行通信。在一个实施例中, CPU 1060 和图像感测和处理电路 502 可通过 I2C 接口 1028 进行通信。CPU1060 可通过 I2C 接口 1028 向图像感测和处理电路 502 发送多种命令, 例如复位命令、 曝光设置命令、 休眠命令等等。CPU 1060 还能够通过 I2C 接口 1028 向图像 感测和处理电路 502 发送滤波掩模核数据和其它配置数据。 终端 1000 可被配置为使得激活 的触发信号在例如当触发器 3408 被激励时、 当触发命令从由外部设备的用户启动的外部 设备接收时、 当终端 1000 上电时或当检测到图像传感器像素阵列 182 的视场中物体的存在 时被接收。终端 1000 可被配置以使触发信号例如响应于通过对与 CPU 1060 通信的触发器 3408 的手动激励所接收的启动、 响应于从外部设备的用户所启动的外部设备接收的触发命 令, 或者响应于在图像传感器像素阵列 182 的视场中检测到物体而被激活。
当将图像数据帧输出以用于存储至 CPU 可寻址图像帧存储器 1080 中时, 终端 1000 可输出对应于图像传感器像素阵列 182 中全部或少于全部像素 180 的像素值。存储于图像 帧存储器 1080 中的帧可被视为缓冲帧 ( 而图像帧存储器 1080 可被视为缓冲存储器 ), 其
中终端 1000 可操作以利用图像帧存储器 1080 的通用地址单元将一系列帧存储于图像帧存 储器 1080 中。图像传感器像素阵列 182 的像素可被选择性地寻址以用于读出, 以使得对应 于少于阵列 182 的全部像素的图像信号被读出。可通过读出对应于图像传感器像素阵列 182 的少数像素的图像信号来增加帧率 ( 并且也可减小帧周期 )。并且, 图像感测和处理电 路 502 可配置以抑制将表示从图像传感器像素阵列 182 读出的图像信号的每个像素光数字 化。在帧读出周期期间, 对应于图像传感器像素阵列 182 中全部或少于全部像素处的电荷 的图像信号可被读出。图像感测和处理电路 502 当输出一帧像素值时可输出对应于少于图 像传感器像素阵列 182 的全部像素的像素值, 例如当少于阵列的全部像素已被选择性地寻 址以读出时, 或当图像感测和处理电路 502 已被抑制产生表示已从阵列中读出的图像信号 的每个像素光的像素值时。当输出表示入射在少于阵列 182 的全部像素的光的像素值时, 图像感测和处理电路 502 仍能输出一组表示二维区域的像素值, 例如表示条码或其它设置 于衬底上的可解码标记的二维区域。该组像素值可对应于少于图像传感器像素阵列 182 的 全部像素, 但仍能对应于表示二维区域的邻近像素组。
图像传感器像素阵列 182 在此已经描述为二维图像传感器像素阵列 182。图像传 感器像素阵列 182 也可为一维图像传感器像素阵列 182, 具有例如 1280×1 或 1280×2(2 行 ) 的像素。图像感测和处理电路 502 能够将组成对应于表示 2D 区域的邻近 2D 像素组的 像素值的图像数据帧进行输出, 图像感测和处理电路 502 也能够输出组成对应于线性像素 组 ( 例如对应于一行像素或双行或一行对角线的像素值 ) 的像素值的图像数据帧。在图像 感测和处理电路 502 输出线性图像数据帧的情况下, 图像感测和处理电路 502 能够包括 1D 或 2D 图像传感器像素阵列 182。
存储于图像帧存储器 1080 的图像数据帧可包括对应于图像传感器像素阵列 182 的像素的一组像素值。图像数据帧中每个像素值可表示在图像传感器像素阵列 182 的特定 像素处的光, 而表示特定像素处的光的像素值可被视为对应于该特定像素的像素值。包括 图像帧存储器 1080 的终端 1000 可被配置为使得组成图像数据帧的该组像素值被同步地 (simultaneously) 保留 ( 存储 ) 在图像帧存储器 1080, 其可由 CPU 1060 寻址。由 CPU 可 寻址图像帧存储器 1080 同步地保留的该组像素值能够对应于比图像感测和处理电路 502 的 N 行缓冲器 1102 保存的图像信息所表示的像素阵列行数量更多的像素阵列行。图像传 感器像素阵列 182 中一组像素值所对应的像素可为邻近像素组, 即其中的每个像素都是邻 接的一组像素 ( 右侧、 左侧、 上端、 下端或角邻接该组中的至少一个其他像素 )。 对应于一邻 近像素组的一组像素值可视为像素值的邻近组。 组成图像数据帧的一组像素值可表示衬底 的 2D 区域, 例如承载可解码标记的衬底, 或者承载可解码标记的衬底的 1D 切片区域 (slice region)。表示 2D 区域的一组示例性像素值可为对应于二维图像传感器像素阵列 182 的每 个像素或对应于定义二维区域的二维图像传感器阵列的一组像素的一组像素值。 表示衬底 的 1D 切片区域的一组示例性像素值可为对应于一维或二维图像传感器像素阵列 182 的单 行像素的一组像素。
关于选择器电路 1108, 终端 1000 可被配置为使得选择器电路 1108 响应于输入至 终端 1000 的用户接口 ( 例如可为触摸屏显示器的显示器 3420 和 / 或键盘 3424 和 / 或指 示器机构 3416) 的用户发起的命令。在一个实施例中, 终端 1000 可被配置以使得用户可以 改变终端 1000 的操作配置, 实现对图像感测和处理电路 502 的操作。为使用户能够改变操作配置, 终端 1000 可被配置以使得当用户在适当的时间 ( 例如呈现菜单的状态 ) 利用用户 接口向终端 1000 输入控制信号时, CPU 1060 将适当的配置改变命令发送至配置选择器电 路 1108。如控制线 1130、 1132、 1134、 1136、 1138 所指示, 配置选择器电路 1108 响应于配置 改变命令的接收, 可重新配置控制 / 计时电路 1092、 块存取电路 1104、 计算电路 1106 和掩 模数据电路 1110 中的一个或多个。
在一个实施例中, 图像感测和处理电路 502 可将掩模滤波器应用于像素值块。关 于掩模数据电路 1110, 掩模数据电路 1110 能够存储一个或复数个候选的掩模, 例如拉普拉 斯掩模、 高斯掩模、 LoG 掩模、 具有不同参数集的 LoG 掩模等。掩模数据电路 1110 可将所 选掩模发送至计算电路 1106, 以供计算电路 1106 在计算经滤波的像素值时使用。然而, 在 某些用例中, 掩模数据电路 1110 无需发送任何掩模数据至计算电路 1106。例如, 当计算电 路 1106 被配置为其中计算电路 1106 仅用于执行均值或中值滤波的配置时, 掩模数据电路 1110 不需要发送任何掩模数据至计算电路 1106。在一个实施例中, 图像传感器像素阵列 182、 行缓冲器电路 1102、 块存取电路 1104、 计算电路 1106、 控制 / 计时电路 1092、 配置选择 器电路 1108( 选择器电路 ) 和掩模数据电路 1110 中的每一个都能够集成在单个集成电路 1082 上。并且, DMA 1070 也可包括到集成电路 1082 中。图像感测和处理电路 502 的电路 设计可利用合适的硅编译软件进行优化。
终端 1000 可被配置以使得图像感测和处理电路 502 输出多种数据, 包括存储于图 像帧存储器 1080 中的图像数据。为输出用于存储 ( 例如缓冲 ) 在图像帧存储器 1080 中的 数据, 图像感测和处理电路 502 能够将数据输出至 DMA 1070。DMA 1070 提供了直接存储器 存取 (DMA) 功能, 允许像素值或其它数据存储在图像帧存储器 1080 中。DMA 电路可缓冲图 像数据并将所缓冲的图像数据以突发形式传送至图像帧存储器 1080。在一个实施例中, 图 像帧存储器 1080 可由多端口 RAM 提供。CPU 1060 可包括到具有集成 DMA 帧抓取 (frame grabbing) 功能的微处理器 IC 芯片中。具有集成 DMA 帧抓取电路的微处理器 IC 的一个示 例为可从 Intel 获得的带有 “快速照相机接口” 的 XSCALE PXA27X 处理器。
在图 3 的实施例中, 图像感测和处理电路 502 的组件被包括在单个集成电路上 ; 即 集成电路 1082。图像感测和处理电路 502 的组件也可分布于多于一个的集成电路之中。
在图 5 的实施例中, 图像感测和处理电路 502 可包括两个集成电路 ; 即图像传感器 集成电路 1082 和集成电路 1082-2。 图像传感器集成电路 1082 可包括附加的控制和计时电 路 1092-2, 增益块 1142 和模数转换器 1144。集成电路 1082-2 可包括本文所描述的行缓冲 器电路 1102、 块存取电路 1104、 计算电路 1106、 控制 / 计时电路 1092、 配置选择器电路 1108 和掩模数据电路 1110。
在图 6 的实施例中, 图像感测和处理电路 502 可包括三个集成电路 ; 即图像传感器 集成电路 1082、 集成电路 1082-2 和集成电路 1082-3。集成电路 1082 可包括参考图 3 所描 述的组件。集成电路 1082-2 可包括行缓冲器电路 1102、 块存取电路 1104、 计算电路 1106 和附加的控制 / 计时电路 1092-3, 而集成电路 1082-3 可包括控制 / 计时电路 1092、 选择器 电路 1108 和掩模数据电路 1110。
在图 5 和图 6 的实施例中, 图像传感器集成电路 1082 可由商业上现有可用的图像 传感器集成电路来提供, 例如与可从 MICRON 公司获得类型的 TRUESNAP 全局电子快门集成 的 MT9V022 或 MT9M413( 单色或彩色 ) 图像传感器。终端 1000 已被描述为用于读取可解码标记例如条码和光学字符识别 (OCR) 字符 的标记读取装置。并且, 终端 1000 的元件的组合还能够用于标记解码之外的其它应用。能 够包括到终端 1000 中的示例性图像数据处理功能在第 10/958,779 号美国专利申请 ( 现为 第 7,293,712 号美国专利 ) 中描述, 通过引用合并入本文。
一方面, 图像感测和处理电路 502 可配置成在将组成图像数据帧的像素值存储至 图像帧存储器 1080 中之前对其进行处理。在这种处理的一个示例中, 图像感测和处理电路 502 能够确定对应于彩色像素位置的缺失单色像素值。 可选地或附加地, 原始像素值可由图 像感测和处理电路 502 输出, 以用于存储于图像帧存储器 1080 中并且在适当的程序空制下 CPU 1080 能够在存储于图像帧存储器 1080 之后以数字形式处理像素。通过配置图像感测 和处理电路 502 以在存储于图像帧存储器 1080 中之前对像素值进行处理以确定对应于彩 色像素位置的单色像素值, 解码速度可显著提高。 本文提出了一种方法, 包括提供手持成像 终端, 其具有图像传感器像素阵列、 触发器、 微处理器可寻址的图像帧存储器以及与该微处 理器可寻址的图像帧存储器相通信的微处理器, 其中该图像传感器像素阵列为混合型单色 和彩色图像传感器像素阵列, 该混合型单色和彩色图像传感器像素阵列具有第一像素子集 和第二像素子集, 该第一像素子集为无彩色滤波元件的单色像素而该第二像素子集为包括 彩色滤波元件的色敏像素子集, 第一像素子集具有单色像素位置, 第二像素子集具有彩色 像素位置 ; 激励所述触发器以启动触发信号 ; 响应于触发信号的启动, 从所述图像传感器 阵列的邻近像素组中读出图像信号, 所述图像信号包括该组的每个像素的模拟强度值, 该 每个像素的模拟强度值表示入射在该像素上的光 ; 将读出的模拟强度值数字化为像素值以 形成构成图像数据帧的一组像素值 ; 在将所述图像数据帧输出以将所述图像数据帧存储至 所述图像帧存储器中之前, 处理所述图像数据帧, 以确定对应于该第二像素子集的像素的 单色像素值 ; 将经处理的帧图像数据存储于所述图像帧存储器中, 该经处理的图像数据帧 具有对应于彩色像素位置的所述确定的单色像素值 ; 及寻址存储于所述图像帧存储器中的 所述处理的图像数据帧的像素值。
计算电路 1106 在被配置以执行数字滤波的情况下, 能够对像素值进行滤波并能 够输出经滤波的像素值。多种类型的数字滤波过程可通过应用数字掩模来实现。例如, 高 斯、 拉普拉斯和 LoG 滤波可通过将像素块与具有与像素块相等维度 (3×3, 4×4) 的预定掩 模进行卷积来实现。 在图像传感器像素阵列 182 为线性图像传感器像素阵列 182 的情况下, 线性核, 例如 N×1 个核适用滤波。当被配置成执行高斯滤波时, 计算电路 1106 能够针对电 路 1080 所输出的组成图像数据帧的每个像素值, 将接收自块存取电路 1104 的像素值块与 高斯掩模进行卷积。当被配置成执行拉普拉斯滤波时, 计算电路 1106 能够针对电路 1080 所输出的组成图像数据帧的每个像素值, 将接收自块存取电路 1104 的像素值块与拉普拉 斯掩模进行卷积。当被配置成执行 LoG 滤波时, 计算电路 1106 能够针对电路 1080 所输出 的组成图像数据帧的每个像素值, 将接收自块存取电路 1104 的像素值块使用 LoG 掩模进行 卷积。对于图 7 所示的像素位置 P22 的像素值, 将位置 P22 的像素值与图 8 所示的 3×3 核卷 积的结果可由下面的公式 1 给出
C22 = P11K11+P12K12+P13K13+P21K21+P22K22+P31K31+P32K32+P33K33
公式 1
可替换的候选高斯滤波掩模在图 9、 10 和 11 中示出。可替换的拉普拉斯滤波掩模在图 12、 13 和 14 中示出。可选的 LoG 滤波掩模在图 15、 16 和 17 中示出。
计算电路 1106 能够执行滤波过程, 例如不需要应用数字掩模 ( 掩模核 ) 的均值和 中值滤波。为执行均值滤波, 计算电路 1106 能够针对所输出的组成帧的每个像素, 对接收 自块存取电路 1104 的像素块求平均。为执行中值滤波, 计算电路 1106 能够针对所输出的 组成帧的每个像素, 将该块的像素值进行排序, 并选择中间值作为经滤波的像素输出值。
当具有不同参数集的滤波掩模在像素值存储于图像帧图像存储器 1080 中之前应 用于像素值时, 在接口 588 处输出的经滤波的像素值的动态范围预计会发生变化。终端 1000 可被配置以使得用户可通过将命令输入至终端 1000 的用户接口来调整接口 588 处 输出的图像数据的格式。随着终端 1000 被配置以使得用户可调整接口 588 处的图像数据 格式, 如果用户预期应用特定的数字滤波掩模能使一组要输出至接口 588 的像素值具有大 的动态范围, 则该用户可以将接口 588 处输出的图像数据格式调整为浮点格式, 例如 IEEE 754 的浮点格式。当图像感测和处理电路 502 调整要输出的像素值格式时, 也可以输出由 CPU 1060 读取的数据, 表示像素值格式已经改变。
在一个实施例中, 图像感测和处理电路 502 可配置以监视接口 588 处输出的一组 像素值的动态范围, 以及如果图像感测和处理电路 502 确定一组像素值的动态范围超出了 预定动态范围, 则将输出像素值的像素值格式自动调整为浮点格式, 例如 IEEE 754 的浮点 格式。当图像感测和处理电路 502 调整所输出的像素值格式时, 它也可输出由 CPU 1060 读 取的数据, 表示当前的输出像素值格式。 尽管图像感测和处理电路 502 可配置以处理像素值进而确定对应于彩色像素位 置的像素值或者对组成图像数据帧的像素值进行滤波, 图像感测和处理电路 502 无需对任 何像素值进行滤波, 且在一个实施例中, 仅在以下程度上对图像数据进行处理 : 传递像素值 以通过输出接口进行输出。在一个实施例中, 图像感测和处理电路 502 可包括用于输出原 始像素值的单个输出接口。
在另一方面, 图像感测和处理电路 502 可配置以将两个图像数据帧同时输出以存 储 ( 例如缓冲 ) 至图像帧存储器 1080 中 ; 一个原始图像数据帧和一个经处理的图像数据 帧。经处理的图像数据帧可被处理以用于确定对应于彩色像素位置的像素值, 和 / 或可通 过应用由本文提出的滤波器来进行处理。为同时输出两个图像数据帧, 图像感测和处理电 路 502 可例如同步地输出两帧, 例如使得其间在相应第一和第二接口输出帧的时段中存在 至少一定重叠, 和 / 或能够通过利用公共像素时钟输出图像数据来同步地输出图像数据, 例如组成不同的两帧的原始的和经滤波的像素值。图像数据帧可在单个帧周期内输出。在 图像感测和处理电路 502 同时输出两个图像数据帧时, 可为 CPU 1060 提供对原始和经滤波 图像数据的快速存取 ( 即寻址能力 )。图像感测和处理电路 502 可同时输出表示入射在阵 列 182 的像素上的光的原始像素值以及表示入射在阵列 182 的像素上的经数字滤波的光的 像素值。
在图 3 所示的进一步方面, 图像感测和处理电路 502 可具有双像素值输出接口 ; 即 用于输出原始像素值的第一输出接口 586 和用于输出经滤波像素值的第二输出接口 588。 图像感测和处理电路 502 能够例如通过同步地输出原始的和经处理的像素值 ( 在输出时间 上存在一定重叠 ) 和 / 或使用公共像素时钟来分别在接口 586 和接口 588 同步地按时钟输 出 (clock out) 像素值, 以在接口 586、 588 同时输出原始的和经处理的像素值。当输出图
像数据时, 接口 586、 588 可视为图像数据输出接口。图像感测和处理电路 502 可配置以连 续输出, 同时输出的原始的和经滤波的图像数据帧的并行 “对” 。接口 586、 588 中的每一个 均能够可选地被称为 “总线” 、 “端口” 、 “一组触点” (“触点组” ) 或在由一组管脚组成的情况 下为 “一组管脚” (“管脚组” )。已经提及, 接口 590 能够重复接口 586 的输出, 且接口 592 能够重复接口 588 的输出。与接口 586 和接口 588 类似, 接口 590 和 592 中的每一个均能 够可选地被称为 “总线” 、 “端口” 、 “一组触点” (“触点组” ) 或在由管脚组成的情况下为 “一 组管脚” (“管脚组” )。本文描述的 “像素值” 可为多位像素值。对于图像传感器像素阵列 182 没有彩色滤波器的像素位置, 此类像素值通常称为 “灰度” 像素值。对于图像传感器像 素阵列 182 含有彩色滤波器的像素位置, 此类像素值通常称为彩色级值, 当对应于具有物 理滤波器的像素时。
图 20 示出了接口 586、 588 的示例性物理形态的视图, 图示了一种可包括所述接口 的示例性集成电路配置。 图 20 中示出了图像传感器集成电路 1082, 其可具有由借以输出原 始像素值的一组管脚提供的第一接口 586, 以及由借以输出经处理像素值的一组管脚提供 的第二接口 588, 例如用于存储至 CPU 可寻址图像帧存储器 1080 中。
图 18 示出了在一个实施例中终端 1000 的物理形态值。终端 1000 可包括外壳 1014, 其可将元件封装在图 3 的虚线 1014( 表示外壳 1014) 之内。在一个示例中, 解码模式 可通过激励按钮 3444 而被激活, 且触发信号随后可通过激励能够设置在外壳 1014 上的触 发器 3408 而被激励。可设置于外壳 1014 上的还有显示器 3420、 指示器机构 3416 和键盘 3424。拍照模式可通过激励按钮 3442 而被激活, 且触发信号随后可通过激励触发器 3408 而被激活。在另一示例中, 按钮 3442、 3444 可配置以同步地起到模式选择器和触发信号激 活按钮的作用, 使得按钮 3442 和按钮 3444 中任一者的激励同步地选择对应于该按钮的模 式并激活触发信号。
现参见图 19 所示的流程图。在框 4002 中, 终端 1000 可确定触发信号是否是活动 的。若是, 终端 1000 可进行到框 4004、 4006 以确定标记解码模式或拍照模式是否已被选择 并且是活动的。已经参考图 18 描述了如何使解码模式和 / 或拍照模式活动的示例。如果 解码模式为活动的, 则终端 1000 可进行到框 4010、 4014。如果拍照模式为活动的, 则终端 1000 可进行到框 4020、 4024、 4028。
在框 4010 中, 终端 1000 可输出一个或多个单色帧。在一个实施例中, 所述一个或 多个帧可为一系列帧。在图像传感器像素阵列 182 为混合型单色和彩色图像传感器像素阵 列图像的情况下, 为了输出单色帧, 图像感测和处理电路 502 可确定对应于彩色像素位置 的单色像素值, 例如用参考图 4 阐述的方式。
现参见在解码操作模式期间活动的框 4010、 4014、 4018。为输出此类帧, 图像感测 和处理电路 502 可将所述帧输出至 CPU 可寻址图像帧存储器 1080。 图像帧存储器 1080 能够 同步地存储对应于图像传感器像素阵列 182 的像素行的复数行图像数据。N 行缓冲器 1102 也可同步地存储对应于图像传感器阵列的像素行的图像数据行。图像帧存储器 1080 能够 同步地存储定义图像数据全帧的图像数据, 所述图像数据可对应于比图像感测和处理电路 502 的 N 行缓冲器 1102 所缓冲的图像数据行的数量更多的图像数据行。
在框 4014 中, 终端 1000 可使一帧或多帧中的至少之一经受可解码标记的解码尝 试。为尝试解码条码符号, 例如一维条码符号, CPU 1060 能够处理对应于一条像素位置线( 例如一行、 一列或像素位置的对角线集合 ) 的一帧图像数据, 以确定暗和亮单元的空间模 式, 并可将所确定的每个亮和暗的单元模式通过查找表转换成字符或字符串。在可解码标 记表示为 2D 条码符号体系的情况下, 解码尝试可包括以下步骤 : 利用特征检测算法定位寻 像图形 (finder pattern)、 根据预定的与该寻像图形的关系来定位与寻像图形交叉的矩阵 线、 确定沿所述矩阵线的暗和亮单元的模式, 以及将每个亮模式通过查找表转换成字符或 字符串。
在框 4018 中, 终端 1000 可输出解码的消息。为输出解码的消息, 终端 1000 可将 该解码的消息输出至例如显示器 3024 和或存储器 1084 和 / 或终端 1000 外部的外部设备。
现参见拍照操作模式期间活动的框 4020、 4024、 4028。在框 4020 中, 在图像传感 器像素阵列 182 包括混合型单色和彩色像素阵列的情况下, 图像感测和处理电路 502 可输 出一帧或多帧的单色和彩色图像数据。在框 4024 的一个示例中, 图像感测和处理电路 502 可输出一个或多个原始的或经处理的图像数据帧, 包括单色图像数据和彩色图像数据这二 者。为输出此类帧, 图像感测和处理电路 502 可将所述帧输出至 CPU 可寻址图像帧存储器 1080。 图像帧存储器 1080 能够同步地存储对应于图像传感器像素阵列 182 的像素行的复数 行图像数据。 N 行缓冲器 1102 也可同步地存储对应于图像传感器阵列 182 的像素行的图像 数据行。终端 1000 可操作以使图像感测和处理电路 502 能够输出而且图像帧存储器 1080 能够同步地存储定义图像数据全帧或加窗帧的图像数据, 所述图像数据可对应于比图像感 测和处理电路 502 的 N 行缓冲器 1102 所缓冲的图像数据行的数量更多的图像数据行。本 文提出了一种装置, 包括具有混合型单色和彩色图像传感器像素阵列的图像感测和处理电 路, 该混合型单色和彩色图像传感器像素阵列具有第一像素子集和第二像素子集, 该第一 像素子集为无彩色滤波元件的单色像素而该第二像素子集为包括彩色滤波元件的色敏像 素子集, 第一像素子集具有单色像素位置, 第二像素子集具有彩色像素位置 ; 该图像感测和 处理电路具有用于缓冲对应于所述图像传感器像素阵列的 N 行像素的图像数据的 N 行缓冲 器; 其中该图像感测和处理电路可操作以输出具有对应于所述图像传感器像素阵列的 K 行 像素的图像数据的图像数据帧, 其中 K > N ; 且其中图像感测和处理电路可操作以利用该 N 行缓冲器确定对应于图像传感器像素阵列中复数个彩色像素位置的单色像素值, 因此由图 像感测和处理电路所输出的图像数据帧包括对应于图像传感器像素阵列的彩色像素位置 的复数个单色像素值。在一个实施例中, N 行缓冲器可操作以缓冲对应于少于图像传感器 像素阵列 182 的行数的百分之十 (10% ) 的图像数据。终端 1000 和 N 行缓冲器 1102 可操 作以使得对应于少于完整像素行的图像数据能够被 N 行缓冲器 1102 所缓冲。
在框 4024 中, 终端 1000 可使单色和彩色图像数据经受处理以确定至少一个去马 赛克化帧。参考图 21 描述了框 4024 的一个示例。参见图 21 的流程图, 在框 1446 中终端 1000 可生成 RGB 图像, 具有图像传感器像素阵列 182 的色敏像素子集的分辨率。为实现这 种生成, 终端 1000 可首先读取通过对图像传感器像素阵列 182 的彩色像素进行选择性寻址 而输出的所存储的加窗帧。可选地, 终端 1000 可从具有单色和彩色图像数据的被存储的帧 读取彩色图像数据。进一步地, 为执行框 4024, 终端 1000 可确定用于对应于彩色像素位置 的彩色图像数据的剩余彩色信息。
参见图 22 中所表示的帧 5204, 终端 1000 能够简单地通过读取像素位置 P32 的彩 色级值来确定红色像素位置 P32 的红色值。终端 1000 能够通过对绿色像素位置 P31、 P22、 P42和 P33 的值求平均来确定红色像素 P32 的绿色值。终端 1000 可通过对蓝色像素位置 P21、 P41、 P23 和 P43 的值求平均来对红色像素位置 P32 的蓝色值进行内插。可以看出, 每个像素位置的 红色、 绿色和蓝色值可在需要时通过内插像素值来确定。 随着处理速度的增长, 可以利用数 十个或更多的周围像素值对每个像素位置的红色、 绿色和蓝色像素进行内插。再参见图 21 的流程图, 在框 1446 中终端 1000 能够生成 RGB 图像, 具有与图像传感器像素阵列 182 的色 敏像素子集相等的分辨率。进一步关于过程 1440, 在框 1450 中终端 1000 可扩展生成于框 1446 的 RGB 图像的像素数, 使得该彩色图像的像素数等于全帧单色图像的像素数 ( 能够例 如通过处理已存储的单色和彩色帧以用于确定彩色像素位置的单色像素值, 或者通过从图 像感测和处理电路 502 输出具有由本文提出的电路 502 所执行的处理所确定的单色像素 位置的单色帧来确定全帧单色图像 )。当终端 1000 执行框 1450 时, 框 1442 中生成的单色 灰度图像与在该处理阶段的彩色图像具有相同的像素数, 使得每个像素位置, 例如单色图 像的像素, 在彩色图像中具有对应的像素位置。在图像传感器像素阵列 182 具有周期 P = 3 的情况下, 在框 1450 中终端 1000 可将每个像素扩展为 3×3 的像素块。在图像传感器像 素阵列 182B 具有周期 P = 4 的情况下, 在框 1450 中控制电路 552 将每个像素扩展为 4×4 的像素块。在框 1454 中终端 1000 计算扩展的彩色图像的每个像素位置的强度值 IC。在框 1454 中终端 1000 可根据公式 Ic = 0.299R+0.587G+0.144B( 公式 2) 计算扩展的彩色图像 的每个像素位置的强度值 Ic。
在框 1460 中终端 1000 然后计算每个像素位置的强度值增量 (delta)D(Px, Py), 在每个像素位置处利用单色图像强度值 Im 和扩展的彩色图像强度值 Ic。在框 1460 中终端 1000 可根据公式 D(Px, Py) = Im(Px, Py)-Ic(Px, Py)( 公式 3) 计算单色和扩展的彩色图像的 每个像素位置的强度值增量。
在框 1464 中终端 1000 可利用公式组 R′ (Px, Py) = R(Px, Py)+D(Px, Py)( 公式 4)、 G′ (Px, Py) = G(Px, Py)+D(Px, Py)( 公式 5) 和 B′ (Px, Py) = B(Px, Py)+D(Px, Py)( 公式 6) 来更新扩展的 RGB 彩色图像的 RGB 数据集彩色级值。
在框 1468 中终端 1000 可截取 (truncate) 大于 255( 在使用 8 位灰度的情况下 ) 的 RGB 数据集彩色级值。在终端 1000 截取大于 255 的 RGB 值之后, 终端 1000 可按图 19 的 流程图所阐述的那样输出一个或多个彩色帧。在一个实施例中, 框 1446、 1450、 1454、 1460、 1464、 1468 可以由 CPU 1060 执行。
再参见图 19 的流程图, 在框 4028 中终端 1000 能够输出图像数据的彩色帧。为输 出图像数据的彩色帧, 终端 1000 可将彩色帧输出至例如显示器 3420 和或存储器 1084 和 / 或终端 1000 外部的外部设备。输出帧可被格式化为例如 JPEG、 BMP、 TIF、 GIF 等格式化的 图像帧输出。在一个实施例中, 框 4028 中终端 1000 可输出一系列彩色帧。该系列的彩色 帧可被格式化为例如 MPEG、 MPG、 MOV、 RM、 WVM、 SWF 等格式化的视频格式。
参见图 23 的时序图, 信号 5504 为触发信号, 可通过触发器 1220 的激励来使该信 号活动, 并可通过触发器 1220 的释放来对该信号去激活。触发信号也可在超时时段之后或 在成功解码可解码标记之后变为不活动。信号 5510 为曝光信号。信号 5510 的逻辑高周期 定义了曝光周期 5320、 5322 和 5324。信号 5512 为读出信号。信号 5512 的逻辑高周期定义 了读出周期 5420、 5422 和 5424。
进一步关于图 23 的时序图, 操作者可在时刻 t0 激活触发信号 5504( 例如激励触发器 1220)。响应于触发信号 5504 被激活, 终端 1000 可曝光一系列帧。在每个曝光周期 5320、 5322 和 5324 期间, 一帧图像数据可被曝光。位于每个曝光周期 5320、 5322 和 5324 的可为读出周期 5420、 5422 和 5424。在读出周期 5420、 5422 和 5424 期间, 图像感测和处 理电路 502 能够在输出图像数据以存储至 CPU 可寻址图像帧存储器 1080 中之前以先前提 出的方式对图像数据进行处理。例如在周期 5420、 5422 和 5424 期间图像感测和处理电路 502 可确定对应于例如通过执行参考图 4 提出的内插方法所输出的输出帧彩色像素位置的 单色像素值。
关于处理周期 5520、 5522 和 5524, 标出的处理周期可表示在解码模式中活动的处 理周期, 其间终端 1000 的 CPU 1060 处理所存储 ( 例如缓冲 ) 的帧, 所述帧表示能够承载可 解码标记的衬底。这种处理可包括尝试对帧中所表示的可解码标记进行解码。关于处理周 期 6520、 6522 和 6524, 处理周期 6520、 6522 和 6524 可表示在拍照模式中活动的 CPU 1060 的处理周期, 其间终端 1000 利用单色图像数据和彩色图像数据来确定去马赛克化的图像 数据帧。在处理周期 6520、 6522 和 6524 期间, CPU 1060 可执行结合图 19 的流程图所描述 的框 4024。
关于处理周期 5520、 5522 和 5524, 本文提出的图像感测和处理电路 502 的提供能 够显著减少周期 5520、 5522 和 5524 的持续时间。在没有被配置以确定对应于彩色像素位 置的单色像素值的图像感测和处理电路 502 的情况下且在解码处理利用单色图像数据的 情况下, CPU 1060 在周期 5520、 5522 和 5524 的处理可包括确定对应于彩色像素位置 ( 在被 在周期 5520、 5522 和 5524 中处理的帧包括单色和彩色图像数据这二者的情况下 ) 的单色 像素值。对于处理周期 5520、 5522 和 5524, 通过提供本文提出的图像感测和处理电路 502 来避免用于确定对应于彩色像素位置的单色像素值的处理时间, 其能够输出具有对应于所 确定的彩色像素位置的单色像素值的单色帧。
在进一步方面, 终端 1000 可具有复数个操作者激活的操作模式。
本文所描述的系统、 方法和装置的小型示例如下所述 :
A1、 一种终端, 包括 :
具有混合型单色和彩色图像传感器像素阵列的图像感测和处理电路, 该混合型单 色和彩色图像传感器像素阵列具有第一像素子集和第二像素子集, 第一像素子集为无彩色 滤波元件的单色像素且第二像素子集为包括彩色滤波元件的色敏像素子集, 第一像素子集 具有单色像素位置, 第二像素子集具有彩色像素位置 ;
用于将图像聚焦到图像传感器像素阵列上的镜头组件 ; 及
手持外壳, 其中该终端被配置为使得该混合型单色和彩色图像传感器像素阵列被 支持在该手持外壳内 ;
中央处理单元 (CPU) ;
可由该 CPU 寻址的图像帧存储器 ;
其中该图像感测和处理电路可操作以输出 CPU 可寻址的图像数据帧以用于存储 至 CPU 可寻址图像帧存储器中, 该图像感测和处理电路可操作以确定对应于图像传感器像 素阵列中复数个彩色像素位置的单色像素值, 使得由图像感测和处理电路输出的用于存储 至图像帧存储器中的 CPU 可寻址的图像数据帧包括对应于图像传感器像素阵列的彩色像 素位置的复数个单色像素值。A2、 如 A1 所述的终端, 其中该图像感测和处理电路包括 N 行缓冲器。
A3、 如 A1 所述的终端, 其中该图像感测和处理电路包括 N 行缓冲器, 其可操作以同 步地存储对应于所述图像传感器像素阵列的 N 行像素的图像数据, 其中该图像帧存储器可 操作以同步地存储对应于所述图像传感器像素阵列的 M 行像素的图像数据, 其中 M > N。
A4、 如 A1 所述的终端, 其中该图像感测和处理电路包括 N 行缓冲器, 其可操作以同 步地存储对应于所述图像传感器像素阵列的 N 行像素的图像数据, 其中该图像帧存储器可 操作以同步地存储对应于所述图像传感器像素阵列的 M 行像素的图像数据, 其中 M > N, 且 其中 N 行缓冲器不可由 CPU 寻址。
A5、 如 A1 所述的终端, 其中该图像感测和处理电路可操作以使得 CPU 可寻址的图 像数据帧仅包括单色图像数据而没有彩色图像数据。
A6、 如 A1 所述的终端, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式。
A7、 如 A1 所述的终端, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 第一格式为单色帧格式, 第二格式为单色和彩色 帧格式。
A8、 如 A1 所述的终端, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 其中图像感测和处理电路可操作以同时输出第 一格式的帧和第二格式的帧。
A9、 如 A1 所述的终端, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 第一格式为单色帧格式, 第二格式为单色和彩色 帧格式, 其中图像感测和处理电路可操作以同时输出第一格式的帧和第二格式的帧。
A10、 如 A1 所述的终端, 其中该终端可操作以使得 CPU 利用该 CPU 可寻址帧尝试对 可解码标记进行解码。
A11、 如 A1 所述的终端, 其中该图像感测和处理电路包括与所述图像传感器像素 阵列一起包括在共同集成电路上的 N 行缓冲器。
B1、 一种装置, 包括 :
具有混合型单色和彩色图像传感器像素阵列的图像感测和处理电路, 该混合型单 色和彩色图像传感器像素阵列具有第一像素子集和第二像素子集, 该第一像素子集为无彩 色滤波元件的单色像素而该第二像素子集为包括彩色滤波元件的色敏像素子集, 该第一像 素子集具有单色像素位置, 该第二像素子集具有彩色像素位置 ;
该图像感测和处理电路具有用于将对应于所述图像传感器像素阵列的 N 行像素 的图像数据进行缓冲的 N 行缓冲器 ;
其中该图像感测和处理电路可操作以输出具有对应于所述图像传感器像素阵列 的 K 行像素的图像数据的图像数据帧, 其中 K > N ; 且其中图像感测和处理电路可操作以利 用该 N 行缓冲器确定对应于图像传感器像素阵列中复数个彩色像素位置的单色像素值, 使 得由图像感测和处理电路所输出的图像数据帧包括对应于图像传感器像素阵列的彩色像 素位置的复数个单色像素值。
B2、 如 B1 所述的装置, 其中该 N 行缓冲器可操作以缓冲对应于少于图像传感器像 素阵列的行数的 10%的图像数据。B3、 如 B1 所述的装置, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式。
B4、 如 B1 所述的装置, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 第一格式为单色帧格式, 第二格式为单色和彩色 帧格式。
B5、 如 B1 所述的装置, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 其中图像感测和处理电路可操作以同时输出第 一格式的帧和第二格式的帧。
B6、 如 B1 所述的装置, 其中该图像感测和处理电路可操作以输出第一格式的帧和 第二格式的帧, 第一格式不同于第二格式, 第一格式为单色帧格式, 第二格式为单色和彩色 帧格式, 其中图像感测和处理电路可操作以同时输出第一格式的帧和第二格式的帧。
B7、 如 B1 所述的装置, 其中 N 行缓冲器与所述图像传感器像素阵列一起包括在共 同集成电路上。
C1、 一种方法, 包括 :
提供手持成像终端, 其具有图像传感器像素阵列、 触发器、 微处理器可寻址图像帧 存储器以及与该微处理器可寻址图像帧存储器相通信的微处理器, 该图像传感器像素阵列 为混合型单色和彩色图像传感器像素阵列, 该混合型单色和彩色图像传感器像素阵列具有 第一像素子集和第二像素子集, 该第一像素子集为无彩色滤波元件的单色像素而该第二像 素子集为包括彩色滤波元件的色敏像素子集, 第一像素子集具有单色像素位置, 第二像素 子集具有彩色像素位置 ; 激励所述触发器以启动触发信号 ;
响应于触发信号的启动, 从所述图像传感器阵列的邻近像素组中读出图像信号, 所述图像信号包括该组的每个像素的模拟强度值, 每个像素的模拟强度值指示入射在该像 素上的光 ;
将读出的模拟强度值数字化为像素值以形成一组构成图像数据帧的像素值 ;
在输出所述图像数据帧以将所述图像数据帧存储于所述图像帧存储器中之前, 处 理所述图像数据帧, 以确定对应于第二像素子集的像素的单色像素值 ;
将经处理的帧图像数据存储于所述图像帧存储器中, 该经处理的图像帧具有对应 于彩色像素位置的所述确定的单色像素值 ; 及
寻址存储于所述图像帧存储器中的所述处理的图像数据帧的像素值。
C2、 如 C1 所 述 的 方 法, 其中所述确定包括利用对应于在彩色像素位置周围 (about) 的像素位置的单色像素值对单色像素值进行内插。
C3、 如 C1 所述的方法, 其中所述确定包括简单平均。
C4、 如 C1 所述的方法, 其中所述确定包括相关。
C5、 如 C 1 所述的方法, 其中所述寻址包括寻址所述像素值, 以尝试对可解码标记 进行解码。
虽然已经参考多个具体实施例对本发明进行了描述, 但应当理解, 应仅从本发明 的说明书所支持的权利要求来确定本发明的精神和范围。进一步地, 尽管本文在各种情况 下描述了具有一定数量元件的系统、 装置和方法, 然而应当理解此类系统、 装置和方法可利
用少于所提及的一定数量的元件来实现。 并且, 虽然提出了多个特定的实施例, 但应当理解 参考每个特定实施例所描述的特征和方面也可用于所特别阐述的每个其余实施例。