操作地处理彩色图像数据的方法和系统的制作方法

文档序号:6444882阅读:236来源:国知局
专利名称:操作地处理彩色图像数据的方法和系统的制作方法
操作地处理彩色图像数据的方法和系统
相关申请的交叉引用
本申请要求2011年11月16日提交的题目为"Method and System Operative to Process Color Image Data”的美国专利申请号为12/947,055的优先权。上述申请的优先权被要求权利并且其全部内容在此弓I入以供参考。技术领域
本发明通常涉及图像数据,并且具体而言涉及用于图像数据处理的方法和系统。
技术背景
已知基于图像传感器的终端被用于工业数据收集应用中。例如,基于图像传感器的标记读取终端已多年来用于解码用条形码符号编码的信息的目的。商业上可用的基于图像传感器的终端能够具有能够拍摄彩色图片的彩色图像传感器。但是,用于存储彩色图像的最后所得到的文件有时可能很大,且可以是各式各样的且有时是专有的格式,这将它们的可用性局限于需要专有硬件或软件处理它们的系统。二进制图像数据结构可用来表示颜色,但是仅限于两种颜色,典型地是黑和白。拥有一种用于存储和检索二进制格式的彩色图像的系统和方法是有用的,借此图像中的每个像素由单个二进制值表示,同时保留了初始图像中丰富的颜色信息,从而减少了存储空间需求并且促进由处理二进制文件所设计的传统系统(legacy system)处理该图像。发明内容
公开了一种用于将彩色图像表示为二进制数据的方法和系统。在一种实施例中, 该方法包括以下步骤接收彩色图像数据的帧,该彩色图像数据包括与图像中多个像素位置相对应的多个输入像素值,其中输入像素值被表示为N比特值并且其中N > 1 ;定义多个颜色范围;基于该像素位置的输入像素值分配每个像素位置给所述颜色范围其中之一;定义多个空间二进制模式,其中每个空间二进制模式是不同的;分配多个颜色范围中的每个颜色范围给空间二进制模式其中之一;以及分配输出像素值给每个像素位置,该输出像素值代表被分配给该像素位置的已分配颜色范围的空间二进制模式。在另外的实施例中,公开了一种将处理过的图像数据写成自定义或标准文件格式并随后检索该文件及再现该彩色图像的方法。在更进一步的实施例中,系统可操作实现上述方法。


这里描述的特征可参考以下描述的附图更好地进行理解。附图没有必要按比例, 相反重点通常在于说明本发明的原理。在附图中,相似的数字用来指示遍及各种视图中的相似部分。
图1是说明在一种实施例中数据收集系统的示例系统框图。
图2是在一种实施例中成像终端的示例框图,其具有可合并到数据收集系统的服务器或客户端计算机中的部件。
图3是使用彩色成像组件能够捕获的原始帧的一个实施例中的示例表示。
图4是在一种实施例中的步骤示例流程图,按照所述步骤,彩色图像可被转换及存储为二进制文件。
图5是在一种实施例中的示例彩色帧,其具有三种不同的颜色。
图6是在每个像素位置已被分配颜色范围之后在一种实施例中图5的帧的示例图形表示。
图7是在一种实施例中16个不同空间二进制模式的示例图形表示,其利用2x2像素窗口使之可能。
图8是在每个像素位置已被分配与分配给该像素位置的颜色范围的空间二进制模式相对应的输出像素值之后,在一种实施例中图5的帧的示例图形表示。
图9是在一种实施例中步骤的示例流程图,按照所述步骤,利用关于图4进行描述的步骤生成的文件可被处理以再现彩色图像。
图10是当利用带有标准观察器的计算机来再现来自由图4描述的过程创建的二进制图像文件中的彩色图像时,在一种实施例中所生成的图像的示例图形表示。
具体实施方式
公开了一种操作地处理彩色图像数据的方法和系统。彩色图像数据可例如通过图像数据的原始帧或具有自定义或标准图像文件格式的图像文件来提供。图像文件中的信息可被提取来获得彩色图像数据的帧。在一种实施例中,该方法包括以下步骤接收彩色图像数据的帧,该彩色图像数据包括与图像中多个像素位置相对应的多个输入像素值,其中输入像素值被表示为N比特值并且其中N > 1 ;定义多个颜色范围;基于该像素位置的输入像素值分配每个像素位置给所述颜色范围其中之一;定义多个空间二进制模式,其中每个空间二进制模式是不同的;分配多个颜色范围中的每个颜色范围给空间二进制模式其中之一;以及分配输出像素值给每个像素位置,该输出像素值代表被分配给该像素位置的已分配颜色范围的空间二进制模式。在另外的实施例中,公开了一种将处理过的图像数据写成自定义或标准文件格式并随后检索该文件及再现该图像的方法。在更进一步的实施例中, 系统可操作实现上述方法。
在图1中,示出了一种数据收集系统10000。在本地设备1000处,可布置多个成像读取终端100。在一种示例中,本地设备1000可由零售店提供。在另一示例中,本地设备1000可由仓库提供。在另一示例中,本地设备1000可由医疗保健设施提供。在一种示例中,本地设备1000可由个人住宅提供。在本地设备1000处,可包括在终端100外部的服务器200。
终端100和服务器200可经由网络300与远程服务器400通信,该网络例如可以是TCP/IP网络。服务器400可被设置于远离设备1000的设备4000处。
一个或多个客户端计算机500也可包括在系统10000中。一种实施例中的客户端计算机500可由例如台式个人计算机、膝上型个人计算机、或智能电话来提供,例如苹果计算机公司的ΙΡΗ0ΝΕ,或移动研究有限公司的BLACKBERRY STORM。
图2是说明终端100的示例部件的框图。在一种实施例中,终端100可以包括经由系统总线1500与存储器1085通信的CPU 1060。存储器1085可以包括系统易失性存储器1080,例如RAM ;系统非易失性存储器1082,例如ROM ;和长期存储存储器设备1084,例如硬盘、⑶、软盘和/或闪存设备中的一个或多个。存储器1080、存储器1082和存储器1084 可被视为记录介质。
参照终端100的另外方面,终端100可以包括触发器1110、指示机构1120、键盘 1130、和显示器1140。设备1110、1120、1130和1140的每一个可与系统总线1500通信地耦合,用来经由各自接口 1108、1118、1128和1138与CPU 1060通信。
参照终端100的另外元件,终端100的一种实施例可以包括I/O设备1210,用来提供与外部计算机的通信。I/O设备1210可以是有线线路通信I/O设备,例如以太网设备或 USB I/O设备;或是无线通信设备,例如IEEE 802. 11通信接口设备或蓝牙接口设备。终端 100可包括多于一个I/O设备1210。
参照终端100的另外的方面,终端100可包括一个或多个成像组件。在具体的示例中,终端100包括彩色成像组件1730。成像组件1730可包括图像传感器像素阵列1712、 彩色图像传感器1710和用于聚焦光到图像传感器像素阵列1712上的成像透镜组件1720。 成像组件1730可具有成像轴26。图像传感器1710可具有彩色图像传感器像素阵列1712, 该阵列具有多个布置在具有多个行和列的2D阵列中的彩色像素。
在一种示例中,图像传感器像素阵列1712可包括拜耳模式滤波器。其中图像传感器像素阵列1712包括拜耳模式滤波器,滤色器可应用于阵列1712中的每个像素之上。拜耳模式滤波器包括以下颜色模式,其中G是绿、B是蓝、R是红
GRGR
BGBG
GRGR
BGBG
因此,当图像传感器像素阵列1712包括拜耳模式时,在某些像素上入射的光可期望是像素滤波器(红、绿、或蓝)的窄带中的光。
图像传感器1710可被提供在图像传感器集成电路中,该集成电路具有输出处理电路,用于放大及数字化由图像传感器像素阵列1712输出的图像信号。为了捕获图像数据的帧,表示入射在阵列1712的像素上的光的图像信号可从图像传感器像素阵列1720读出、 被数字化并存储到系统易失性存储器1080中。在读出之前,阵列1720的像素可在曝光时段期间被曝光。用于控制图像传感器1710的信号,例如读出和曝光信号,可通过接口 1708 输入,接口 1708可与系统总线1500通信地耦合,用来提供与CPU 1060的通信。成像终端 100可以是可操作的使得终端100响应于触发器1110被激励来捕获图像数据的帧。在由 CPU 1060进一步处理之前被捕获到系统易失性存储器1080中的帧可被视为图像数据的原始帧。
利用彩色图像阵列1712捕获的图像数据的原始帧可具有如图3所示的格式。图像数据的原始帧可具有多个像素位置(由图3中的正方形表示),每个像素位置对应于图像传感器阵列1712的像素位置,其表示在目标空间中的具体点区域。原始帧的每个像素位置可具有关联的N比特输入像素值,N > 1,表示彩色标度(color scale)值。在特定示例中, 即N = 8,每个像素位置由8比特值表示。每个N比特输入像素值表示入射在阵列1712的某些像素上的光。
图像数据的彩色原始帧通常由去马赛克和常常调色板分配作进一步处理。在去马赛克中,许多不同的算法可在每个像素位置上执行来分配红色色标组件、绿色色标组件和蓝色色标组件给该像素位置的输入像素值。例如,在图3中,像素位置Pjri, y可接收红色色标组件25、绿色色标组件170和蓝色色标组件45,其可表示成Pjri, y (25,170,45)。同样地,在图3中,像素位置Pj^m可接收红色色标组件25、绿色色标组件50和蓝色色标组件 149,其表示为Ph,- (25, 50,149)。具有每个像素位置的RGB色标组件后,分配给每个像素位置的颜色可映射到调色板,该调色板分配每个RGB组合给分配给具体颜色的输入颜色索引值。例如,具有RGB色标组件(132,20,25)的像素位置Px,y可分配了输入颜色索引值45, 输入颜色索引值可分配给调色板中的具体颜色,例如粉色。
为了试图解码例如一维条形码符号的条形码符号,系统10000的CPU例如终端100 的CPU 1060,可处理对应于一行像素位置(例如,一行、一列或一对角线像素位置组)的帧的图像数据来确定黑和亮单元的空间模式,以及可以通过表查询把每个所确定的亮和黑单元模式转换成字符或字符串。在可解码标记表示是2D条形码符号的情况下,解码尝试包括以下步骤利用特征检测算法定位发现器(finder)模式;根据与发现器模式的预定关系, 定位与发现器模式相交的矩阵线;确定沿矩阵线的黑和亮单元的模式;并通过表查询将每个亮模式转换成字符或字符串。在一种实施例中,系统10000是可操作的以捕获图像数据的帧以及处理该帧来试图响应于激励触发器1110对该帧进行解码。在系统10000处理图像数据的彩色帧用来试图解码条形码符号的情况下,终端100可首先将彩色图像数据转换为单色图像数据。这样的转换可包括使用仅来自单通道像素位置的图像数据(例如,通过利用在绿色像素位置的像素值插入蓝色和红色像素位置的像素值,以便输出全绿色帧,这可被视为图像数据的单色帧)。
终端100是可操作的使得响应于激励触发器1110,终端100捕获图像数据的帧并使帧的图像数据经受解码尝试。并且,响应于激励触发器1110,终端100可把所捕获的帧的图像数据格式化为标准图像文件格式,例如BMP、PDF、JPG、TIF,并可以将该格式化的图像文件传送到外部计算机,例如,服务器200、服务器400、或客户端计算机500。标准图像文件格式可以是根据由标准形成实体开发的标准,可以是开放源标准,或可以是由实体开发的专有标准供第三方使用。标准图像文件格式可利用商业上其它另外公开可访问的观察器来观看或使用。
图1示出了在一种实施例中终端100的物理形式视图。参考图2描述的部件可在便携的手持外壳Iio内被支撑。参照系统10000的另一方面,服务器200、服务器400和客户端计算机500的每个可包括参照终端100描述的部件。在一些情况下,终端100、服务器 400和客户端计算机500能具有除了图2示出的那些设备之外的设备。在一些情况下,服务器200、400和客户端计算机500能具有相对于图2示出的那些被删除的部件(例如,服务器200可没有显示器1140和成像组件1730)。
由于它们至少包括结合存储器1085的中央处理单元(CPU) 1060,系统10000的终端100、服务器200、服务器400和客户端计算机500的每个可被视为“计算机”。系统 10000的每个计算机可根据TCP/IP协议被配置,从而使得系统10000的每个计算机可与系统10000的每个其他计算机进行IP网络通信。尽管在一种实施例中的系统10000被描述为具有元件100、200、300、400、500,但是系统10000可被以这样的方式实施,使得具有少于所有被指出的元件,例如仅仅被指出的元件之一。
参考系统10000的另外方面,系统10000的计算机,例如终端100、服务器200、服务器400、或客户端计算机500是可操作的以执行如参照图4和图9的流程图描述的处理。 例如,对于执行处理的计算机来说,计算机的CPU 1060能执行程序指令。多于一个计算机也能执行这里描述的处理。例如,系统10000的多个计算机能根据多计算机分布式处理方案执行所描述的处理。
图4是在本发明的一种实施例中的示例流程图,描述了一个过程,按照该过程,彩色图像可被存储为二进制文件。在步骤510中,彩色图像数据可被接收并存储到存储器 1085中。图像数据可例如由图像数据的原始帧或以自定义或标准文件格式存储的格式化彩色图像文件例如BMP或JPG来提供。例如,图像数据可以是运行时间被捕获的原始图像帧、 存储在计算机存储器中的图像或者从存储媒介加载的图像。应用此过程的图像的示例包括彩色地图、图形图表、彩色条形码、彩色插图、印刷图案、书籍封面、包装设计和类似物。特别地,代表每个像素位置的颜色信息的输入像素值可被标识和存储,即或者与每个像素位置相关联的输入颜色索引值或者每个像素位置的RGB颜色内容。如果加载的数据是RGB格式的,则可执行首先将RGB颜色组合映射到具体颜色索引的附加步骤,从而使得在步骤510的结尾,每个像素位置被映射到输入颜色索引值。步骤510的开始和图像数据的进一步处理可例如响应于激励触发器1110、自动地响应于系统10000接收文件、或在某一其他时间响应于通过用户接口建立的用户识别规则来发生。
图5示出了一种示例颜色帧600,其是20个像素位置宽乘20个像素位置高,具有四个空间区域610、620、630和640,每一个空间区域具有不同的颜色,从而使得空间区域 610表现为白色,空间区域620表现为蓝色,空间区域630表现为绿色,空间区域640表现为橙色。在步骤510之后,每个像素位置的输入颜色索引可被存储在系统易失性存储器1080 中。
再次参照图4,在步骤520中,一帧中每个像素位置的输入颜色索引值可被分组, 从而使得具有落在值的给定范围之内的输入颜色索引值的像素位置可认为是相同的颜色, 以便减少图像数据表示的颜色的总数。因此,图像数据内的输入颜色索引值可被分组成多个不同的范围,Cc^IjCV1,其中χ表示要应用于给定帧的颜色的数量。例如,彩色图像数据帧具有表示在具有16种颜色0到15的调色板中的输入颜色索引值的像素位置,该彩色图像数据帧被划分为四个颜色范围Q、C1, C2和C3,其中Ctl可被分配在范围0到3中的输入颜色索引值,C1可被分配在范围4到7中的输入颜色索引值,C2可被分配在范围8到11中的输入颜色索引值,并且C3可被分配在范围12到16中的输入颜色索引值。颜色范围的数量和分配给每个范围的值可基于不同的因素被任意地选择,例如,给定数据收集系统10000 的硬件和软件限制、在输入帧数据中的输入颜色索引值的数量和分布、或给定图像类型的已知最佳值。分配给每个颜色范围的颜色可例如由CPU 1060动态地、由系统10000根据存储在系统10000内部或外部的信息自动地、或由用户从所定义的调色板中选择手动地确定。在一种实施例中,减少图像中的颜色数量是可选的,从而使得在不进一步减少颜色数目的情况下使用每个像素位置的输入颜色索引值。减少图像中表示的颜色数目可用来移除像素信息中的噪声数据,以便例如从数据中恢复的图像将更接近于图像被拍摄的初始,或修改图像使之更适合在给定应用中作进一步处理或观看。
因此,CPU 1060可通过分配每个像素位置给颜色范围Ctl到Cjh来处理存储在存储器1085中的图像数据,该颜色范围对应于该像素位置的输入颜色索引值。图6是在每个像素位置已被分配像素值范围之后图5的示例帧的一种实施例中的示例图形表示。在这个实施例中,由于四个空间区域610、620、630和640中的每个区域是不同颜色的,因此四个不同的颜色范围已被分配给该图像中的每个像素位置。CPU 1060可将分配给每个像素位置的颜色范围存储到系统易失性存储器1080中。
再次参考图4,在步骤530中,每个颜色范围可被分配唯一空间二进制模式。因此, 可选择输出像素值,从而使得当与其它颜色范围中的像素位置的二进制序列比较时,在同一颜色范围中的像素位置的最后所得到的二进制序列生成唯一模式。在一种实施例中,二进制模式可基于各种可能在feH窗口内的二进制模式被分配,其中W代表像素的宽度,H代表像素的高度,W和H等于或大于1。例如,图7是在一种16个不同二进制模式801到816 的实施例中利用2X2像素窗口使之可能的示例图形表示。2x2像素模式可支持具有16种不同颜色的图像,用更小或更大的窗口能分别支持更少或另外的颜色。随着所使用的窗口的尺寸增大,利用空间区域可被标识和表示的分辨率降低。例如,当使用2像素x2像素的窗口考虑到代表16种不同颜色的空间二进制模式时,分配颜色给图像帧中的像素位置也由具有2像素x2像素分辨率的窗口执行。
再次参考图4,在步骤MO中,每个像素位置能基于该像素位置的分配的颜色范围 Cc^IjCjri来被分配二进制值。因此,CPU 1060将所选择的二进制模式应用于给定颜色范围内的像素位置,分配与所选二进制模式相对应的输出像素值给那些像素位置中的每个像素位置。分配具体模式给一给定颜色范围可例如由CPU 1060动态地、,根据存储在系统10000 内部或外部的信息自动地、或手动地由用户或者从一组可利用的模式选择中选择或者通过创建自定义模式确定。图8是在每个像素位置已被分配与每个像素位置的被分配像素值范围相对应的输出像素值之后图5的示例图像的示例图形表示。在这个示例中,在步骤530中已分配范围Ctl的空间区域610的所有像素位置可被分配与图7中模式801对应的值0。类似地,在步骤530中已分配了范围C2的空间区域630的所有像素位置可被分配与图7中模式816对应的值1。对于在空间区域620中的像素位置来说,可应用阴影和非阴影像素交替的垂直模式,从而使得阴影像素位置被分配值1,同时非阴影像素位置被分配值0,与图7的模式809相对应。最后,对于空间区域640中的像素位置来说,可应用阴影和非阴影像素交替的水平模式,从而使得阴影像素位置被分配值1,同时非阴影像素位置被分配值0,与图7 的模式806相对应。CPU 1060可在存储器1085中存储每个像素位置的分配的输出像素值, 数据包括图像的二进制表示从而使得每个像素位置仅仅由1或0表示,同时保存了初始图像中的颜色信息。
在已经分配输出像素值给每个像素位置之后,在步骤550中CPU 1060可利用任何标准或自定义文件格式来生成包含存储在存储器1085中的处理过的图像信息的二进制文件。例如,所述处理过的图像信息可以BMP文件格式进行存储,该文件格式包含图像数据和头部,该头部存储通用文件信息、关于图像本身的详细信息,例如每像素的比特的数目,这里等于1,和位图的宽度和高度,以及关于应用于由不同二进制模式定义的每个颜色范围的颜色信息。例如,在图5示出的四个颜色图像示例中,头部可包含关于应用于输出像素值的四个空间二进制模式的信息,和一组建立要应用于每个的颜色的值。在其它实施例中,颜色可以动态地由CPU 1060通过基于所建立的参数在若干预定颜色选项之间决策来确定,或者分配有默认颜色值。在其它实施例中,用来处理存储在文件中的二进制图像数据的信息可从系统10000内部或外部的其它地方检索。
在标准文件格式中的头部信息可默认为标准或空值,或选择来满足具体处理需求。使用标准文件格式可允许处理过的图像数据由传统系统和带有诸如标准现成 (off-the-shelf)条形码阅读器之类的能够接受和处理该文件格式的标准观察器的其它计算机来读取和处理。替代地,处理过的图像数据能可写成任何自定义文件格式。增强的功能可被置入带有被编程来读取和处理这样的自定义文件格式的定制观察器的计算机中,同时当使用标准文件格式时的处理能力可局限于与该被选择的格式相关联的信息和特征。
图9是在一种实施例中描述步骤的示例流程图,按照所述步骤,利用关于图4描述的步骤生成的文件可被处理来再现图像。在步骤710中,CPU 1060打开待处理的文件并将数据读入存储器1085中。加载的信息可包括二进制图像数据本身,以及用于处理该图像数据的文件头部信息。图像数据的随后处理可取决于是否使用带有特别被编程来再现所存储的图像的定制观察器的计算机或者是否使用带有标准观察器的计算机。由于图像数据以通用二进制格式被存储,每个像素位置由单比特数据表示,即1或0,带有能够读取和处理给定文件格式的标准观察器的计算机能够基于该图像数据甚至在没有定制处理能力的情况下再现图像表示。
例如,包括例如一个或多个终端100、服务器200、服务器400和客户端计算机500 的计算机或系统10000不具有能够通过处理如参照图4描述的文件来再现自定义图像文件格式的自定义观察器,这样的计算机或系统10000可能缺乏针对模式搜索图像数据并将那些模式转换成所选颜色的能力。然而,由于每个颜色范围由不同的二进制模式表示,因此甚至在没有自定义解码能力的情况下生成的图像可具有初始图像的可用表示。因此,在步骤 770中,图像可基于存储在文件图像数据中的二进制像素位置值来再现。图10是图像的示例图形表示,该图像由带有缺乏模式识别和关于图8描述的着色能力的标准阅读器的计算机来再现。虽然空间区域620、630和640缺少在图5中的初始图像显示的颜色,但是由应用于那些像素位置的二进制模式所创建的视觉效果生成初始图像的可用的相似性。
为了充分再现所有处理过的图像数据,可使用带有定制观察器的计算机。例如,在步骤730中,一旦来自二进制文件的处理过的图像数据被读入易失性系统存储器1080中, CPU 1060可被指示针对分配给不同颜色范围的各种模式搜索该二进制图像数据。随着模式被标识,其输出像素值构成给定模式的一部分的像素位置被指示为具体颜色范围的一部分。关于所使用的二进制模式的信息可由CPU 1060定位,例如在文件头部信息中或在系统 10000内部或外部的某个其它存储媒介中。
在步骤740中,分配给每个颜色范围的颜色可例如响应于其它处理参数或通过用户输入由CPU 1060从文件头部中的信息、从系统10000内其它地方检索到的信息中来确定。接着,在步骤750中,每个像素位置可基于该像素位置与具体颜色范围的关联来分配颜色。例如,关于图5的帧600,空间区域610中的像素位置将被分配白色,空间区域620中的像素位置将被分配蓝色,空间区域630中的像素位置将被分配绿色,并且空间区域640中的像素位置将被分配橙色。
在步骤760中,现在将每个像素位置映射到颜色的处理过的文件信息可用来再现图像,尽管初始图像已被处理成纯二进制形式、被存储和从纯二进制形式检索。由于每个像素值范围可使用任意所选颜色来重新生成,因此可在再现图像中创建不同的视觉效果来强调或不予重视图像的具体特征,以便提高最终所得到的图像的可用性和整体视觉质量。例如,不同的颜色可应用于每个像素值范围来壮大(embolden)图像中的具体特征的视觉外观。另外,数字信号处理技术和滤波器可应用到最终所得到的图像以获得不同的结果和视觉效果。
关于图4和图9描述的过程的每个步骤可独立地由图像读取终端100的CPU 1060、由服务器200、由服务器400、由客户端计算机500或由诸如在分布式计算环境中图像读取终端100的CPU 1060、服务器200、服务器400或客户端计算机500中的一个或多个之类的多个这样的计算机来执行。系统10000或系统10000的计算机例如终端100、服务器 200、服务器400或客户端计算机500是可操作地以通过利用包括存储在计算机可读媒介中的可执行程序代码的计算机程序产品执行参照图4和图9的流程图描述的处理。在一种实施例中,程序代码包含可执行指令,其使能系统10000的计算机或可替代地使能系统10000 的多个计算机来执行参照图4和图9描述的各种功能。
另外,操作地处理单色图像数据的方法和系统和众多另外的方法和设备元件在本申请的申请日提交的美国申请号[代理人案卷号.H0025014]中阐述。在美国申请号[代理人案卷号.H0025014]中描述的方法和系统元件的全部可以与这里阐述的方法和系统元件一起使用。美国申请号[代理人案卷号.H0025014]在此引入以供参考。
参考下面的例子描述系统10000的附加特征
例 1
在所公开的技术如何在系统10000上实施的一个示例中,能够实现参照图4和图 9描述的图像数据处理步骤的一组计算机指令可被配置在终端100上,从而使得指令可由 CPU 1060执行。终端100的用户然后能够利用终端100捕获图像数据的原始帧,终端100 能够接着处理该图像数据来将每个像素位置的颜色信息映射到输入颜色索引值,基于每个像素位置的输入颜色索引值标识每个像素位置所映射到的多个颜色范围,并基于与每个分配的颜色范围相关联的空间二进制模式来分配二进制输出像素值到每个像素位置。终端 100可接着生成自定义文件,自定义文件包含处理过的图像数据和关于所使用的模式和应被应用到每个范围的颜色的信息。生成的图像文件可存储在终端100中,或保存到在系统 10000内部或外部的另一数据存储媒介中。
特别地,图像文件可由设计成接受二进制文件输入的现有的传统系统来处理。由于每个像素位置被表示为单二进制值,即1或0,同时通过分配代表颜色的空间二进制模式给像素位置来保留图像中的颜色信息,因此图像文件可由传统系统存储和处理,从而便于在现代色彩终端100和传统系统之间的集成。在传统系统具有图像文件处理能力的情况下,由终端100生成的图像文件可被定制来匹配传统的格式。
如果用户随后希望观看所存储的图像,则终端100可检索处理过的图像文件。CPU 1060可接着将二进制图像数据读入存储器1085并搜索代表不同颜色范围的模式。每个像素位置可接着被分配颜色索引值,颜色索引值被分配给该像素位置的颜色范围,如果需要, 颜色索引值可转换为RGB颜色信息,并且图像可被再现在显示器1140上。如果需要,可为传统系统开发相似的处理能力以解码二进制模式和再现图像。
由于图像数据是高度压缩的,每个像素位置由仅一比特数据表示,因此相比于其它普通图像文件,处理过的图像文件的尺寸可能小。因此,该文件可或者通过某种形式的数据存储媒介或者无线或陆地线网络在不同的媒介和系统之间被容易地传输。小的文件尺寸可缩短经由不同的数据网络或在不同的数据网络之间传输图像文件所需的时间,并且也能够提高数据可靠性并导致更少的数据错误。在一些实施例中,颜色能对于每个颜色范围被初始地选择,并且之后由系统10000或由用户操作和改变来创建所选视觉效果或提高图像中内容的清晰度、质量或可见度。
这里描述的系统、方法和设备的一个小例子如下
Al. 一种将彩色图像表示为二进制数据的方法,包括以下步骤
利用一个或多个计算机接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中 N > 1 ;
利用所述一个或多个计算机定义多个颜色范围;
利用所述一个或多个计算机基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;
利用所述一个或多个计算机定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;
利用所述一个或多个计算机分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及
利用所述一个或多个计算机分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述个,所述颜色范围中的所述一个被分配给该像素位置。
A2.如Al所述的方法,其中所述输入像素值包括用于每个像素位置的RGB彩色标度分量。
A3.如A2所述的方法,其中接收彩色图像数据的步骤进一步包括步骤将用于每个像素位置的所述RGB彩色标度分量映射到用于所述每个像素位置的输入颜色索引值。
A4.如Al所述的方法,其中所述输入像素值包括用于每个像素位置的输入颜色索引值。
A5.如Al所述的方法,进一步包括步骤将所述输出像素值写到文件。
A6.如A5所述的方法,其中所述文件包括所述输出像素值和包括关于所述空间二进制模式的信息的头部。
A7.如A5所述的方法,其中所述文件包括所述输出像素值和包括关于每个所述颜色范围和分配给每个颜色范围的所述空间二进制模式的信息的头部。
A8.如A5所述的方法,其中所述文件是工业标准文件格式。
A9.如A5所述的方法,其中所述文件是自定义文件格式。
A10.如Al所述的方法,其中所述步骤由计算机响应于触发器激励来执行。
All.如Al所述的方法,其中所述步骤由计算机响应于接收彩色图像数据的所述帧来自动执行。
A12.如A5所述的方法,进一步包括步骤读取存储在所述文件中的数据并利用所述数据再现图像。
Bi. 一种用于将彩色图像转换成二进制数据的系统,包括
一个或多个计算机,可操作来
接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中N > 1 ;
定义多个颜色范围;
基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;
定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;
分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及
分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述一个,所述颜色范围中的所述一个被分配给该像素位置。
Cl. 一种用于处理图像数据的计算机程序产品,所述计算机程序产品包括
计算机可读媒介;
第一程序代码,用于接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中N > 1 ;
第二程序代码,用于定义多个颜色范围;
第三程序代码,用于基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;
第四程序代码,用于定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;
第五程序代码,用于分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及
第六程序代码,用于分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述一个,所述颜色范围中的所述一个被分配给该像素位置;
其中所述第一、第二、第三、第四、第五和第六程序代码被记录在所述计算机可读媒介上。
C2.如Cl所述的计算机程序产品,其中所述输入像素值包括用于每个像素位置的 RGB彩色标度分量。
C3.如C2所述的计算机程序产品,其中用于接收彩色图像数据的第一程序代码进一步包括将用于每个像素位置的所述RGB彩色标度分量映射到用于每个所述像素位置的输入颜色索引值的程序代码。
C4.如Cl所述的计算机程序产品,其中所述输入像素值包括用于每个像素位置的输入颜色索引值。
C5.如Cl所述的计算机程序产品,进一步包括用于将所述输出像素值写入文件的第七程序代码,其中所述第七程序代码被记录在所述计算机可读媒介上。
C6.如C5所述的计算机程序产品,其中所述文件包括所述输出像素值和包括关于所述空间二进制模式的信息的头部。
C7.如C5所述的计算机程序产品,其中所述文件包括所述输出像素值和包含关于每个所述颜色范围和分配给每个颜色范围的所述空间二进制模式的信息的头部。
C8.如C5所述的计算机程序产品,其中所述文件是工业标准文件格式。
C9.如Cl所述的计算机程序产品,其中所述第一到第七程序代码由计算机响应于触发器激励来执行。
C10.如Cl所述的计算机程序产品,其中所述第一到第七程序代码由计算机响应于接收彩色图像数据的所述帧来执行。
Cll.如C5所述的计算机程序产品,进一步包括用于处理所述文件来再现图像的第八程序代码,其中所述第八程序代码被记录在所述计算机可读媒介上。
Dl. 一种用于将彩色图像转换成二进制文件的系统,包括
一个或多个计算机,其中所述一个或多个计算机可操作地将具有表示为N比特值的输入像素值的彩色图像数据输入帧转换成利用标准阅读器程序和自定义阅读器程序可读的自定义文件格式,其中N > 1,所述一个或多个计算机具有所述标准阅读器程序和所述自定义阅读器程序;
其中在转换所述彩色图像数据的所述输入帧中,所述一个或多个计算机可操作地分配表示空间二进制模式的输出像素值给具有在给定颜色范围中的输入像素值的像素位置;
其中该系统可操作使得当利用标准阅读器读取所述自定义文件格式时,再现图像使得由所述空间二进制模式表示的像素位置表现为所述空间二进制模式;
其中该系统可操作使得当使用自定义阅读器读取所述自定义文件格式时,再现图像以便由所述空间二进制模式表示的像素位置表现为彩色且没有所述空间二进制模式。
当已参照许多具体实施例描述了本发明时,应理解的是本发明的真正精神和范围应仅仅关于本说明书能够支持的权利要求来确定。进一步地,尽管在这里的许多情况中系统、设备和方法被描述为具有一定数量的元件,但是将理解的是这样的系统、设备和方法能以少于或多于所述的一定数量的元件来实践。作为一种具体的示例,尽管术语“计算机”或 “系统”这里有时为方便而单独使用,但是应很好理解的是这些设备的每一个可指的是任意计算设备、计算系统、计算环境或其它信息处理部件,且不限于任何个别的解释。而且,尽管许多特定实施例已被描述,但是将理解的是已参照每个特定实施例描述的特征和方面可用在每个剩余的具体描述的实施例中。1权利要求
1.一种将彩色图像表示为二进制数据的方法,包括以下步骤利用一个或多个计算机接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中N > 1 ;利用所述一个或多个计算机定义多个颜色范围;利用所述一个或多个计算机基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;利用所述一个或多个计算机定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;利用所述一个或多个计算机分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及利用所述一个或多个计算机分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述一个,所述颜色范围中的所述一个被分配给该像素位置。
2.如权利要求1所述的方法,其中所述输入像素值包括用于每个像素位置的RGB彩色标度分量。
3.如权利要求2所述的方法,其中接收彩色图像数据的步骤进一步包括步骤将用于每个像素位置的所述RGB彩色标度分量映射到用于所述每个像素位置的输入颜色索引值。
4.如权利要求1所述的方法,其中所述输入像素值包括用于每个像素位置的输入颜色索引值。
5.如权利要求1所述的方法,进一步包括步骤将所述输出像素值写到文件。
6.如权利要求5所述的方法,其中所述文件包括所述输出像素值和包括关于所述空间二进制模式的信息的头部。
7.
8.如权利要求1所述的方法,其中所述步骤由计算机响应于触发器激励来执行。
9.如权利要求1所述的方法,其中所述步骤由计算机响应于接收彩色图像数据的所述帧来自动执行。
10.如权利要求5所述的方法,进一步包括步骤读取存储在所述文件中的数据并利用所述数据再现图像。
11.一种用于将彩色图像转换成二进制数据的系统,包括一个或多个计算机,可操作来接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中N > 1 ;定义多个颜色范围;基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述一个,所述颜色范围中的所述一个被分配给该像素位置。
12.一种用于处理图像数据的计算机程序产品,所述计算机程序产品包括 计算机可读媒介;第一程序代码,用于接收彩色图像数据帧,所述彩色图像数据包括与图像中的多个像素位置相对应的多个输入像素值,其中所述输入像素值被表示为N比特值并且其中N > 1 ; 第二程序代码,用于定义多个颜色范围;第三程序代码,用于基于用于所述像素位置的每个的输入像素值分配所述像素位置的每个给所述颜色范围其中之一;第四程序代码,用于定义多个空间二进制模式,其中所述空间二进制模式的每个是不同的;第五程序代码,用于分配所述多个颜色范围中的每个给所述空间二进制模式其中之一;以及第六程序代码,用于分配输出像素值给所述像素位置的每个,该输出像素值代表被分配给所述颜色范围中的所述一个的所述空间二进制模式中的所述一个,所述颜色范围中的所述一个被分配给该像素位置;其中所述第一、第二、第三、第四、第五和第六程序代码被记录在所述计算机可读媒介上。
13.如权利要求12所述的计算机程序产品,其中所述输入像素值包括用于每个像素位置的RGB彩色标度分量。
14.如权利要求12所述的计算机程序产品,其中所述输入像素值包括用于每个像素位置的输入颜色索引值。
15.一种用于将彩色图像转换成二进制文件的系统,包括一个或多个计算机,其中所述一个或多个计算机可操作地将具有表示为N比特值的输入像素值的彩色图像数据输入帧转换成利用标准阅读器程序和自定义阅读器程序可读的自定义文件格式,其中N > 1,所述一个或多个计算机具有所述标准阅读器程序和所述自定义阅读器程序;其中在转换所述彩色图像数据的所述输入帧中,所述一个或多个计算机可操作地分配表示空间二进制模式的输出像素值给具有在给定颜色范围中的输入像素值的像素位置;其中该系统可操作使得当利用标准阅读器读取所述自定义文件格式时,再现图像使得由所述空间二进制模式表示的像素位置表现为所述空间二进制模式;其中该系统可操作使得当使用自定义阅读器读取所述自定义文件格式时,再现图像以便由所述空间二进制模式表示的像素位置表现为彩色且没有所述空间二进制模式。
全文摘要
公开了一种操作地处理彩色图像数据的方法和系统。在一种实施例中,该方法可包括以下步骤接收彩色图像数据,确定应用于彩色图像数据的颜色范围,分配颜色范围给图像数据中的每个像素位置,分配不同的空间二进制模式给每个颜色范围,并分配二进制输出像素值给所述像素位置的每个,该二进制输出像素值对应分配给彩色范围的空间二进制模式,该彩色范围被分配给该像素位置。最终所得到的二进制图像数据可写入文件用作随后的存储、传输、处理或检索和再现。在其它的实施例中,可使得系统可操作实现上述方法。
文档编号G06T9/00GK102542270SQ20111045983
公开日2012年7月4日 申请日期2011年11月15日 优先权日2010年11月16日
发明者J·李, S·P·德罗奇 申请人:手持产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1