图像数据的处理方法及装置与流程
本发明涉及图像处理领域,具体而言,涉及一种图像数据的处理方法及装置。
背景技术:
相关技术中,屏幕显示电路的基本原理通常是基于3基色的数据实现,终端使用的伪真彩色面板(rgb少于8-bit)价格实惠,可视角及对比度设计难度相对低,但是色彩数却大幅减少,并以灰度作为液晶面板色彩显示或者伪真彩面板低于8位数的面板,图像显示容易出现颗粒噪声以及阶越的图案,导致伪真彩面板人眼视觉效果不理想。
采用一般的误差扩散方法进行图像处理虽然可以消除一定的颗粒噪声,但是对系统时钟和计算能力要求较高,屏幕显示电路需要具有较大面积,不利于终端设备小型化,增加屏幕显示的复杂度和实现成本。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种图像数据的处理方法及装置,以至少解决现有技术中屏幕显示电路中的图像数据处理方式,存在处理复杂度和处理成本较高的技术问题。
根据本发明实施例的一个方面,提供了一种图像数据的处理方法,包括:通过高级高性能总线ahb主机获取初始图像数据;对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据。
可选的,通过上述ahb主机获取上述初始图像数据包括:通过上述ahb主机获取多个信号,其中,上述多个信号包括:地址信号、写操作信号、总线大小信号、突发方式信号、交易类型信号以及写数据信号;基于上述多个信号从存储设备获取上述初始图像数据。
可选的,上述方法还包括:将上述初始图像数据划分成多路图像数据流,并对上述多路图像数据流进行数据缓存处理,得到第一处理结果;对上述第一处理结果进行像素格式转换处理,得到第二处理结果;在图像同步时钟控制下,对上述第二处理结果进行混合处理,得到第三处理结果。
可选的,对上述初始图像数据进行去抖动处理包括:对上述第三处理结果进行去抖动处理,得到第四处理结果。
可选的,对上述第三处理结果进行去抖动处理包括:对上述第三处理结果进行区域划分,得到多个图像子区域;基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵;利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理。
可选的,基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵包括:获取第一像素位数和第二像素位数,其中,上述第一像素位数为每个图像子区域中每个像素的初始像素位数,上述第二像素位数为每个图像子区域中每个像素经过去抖动处理后的目标像素位数;采用上述第一像素位数和上述第二像素位数确定上述抖动矩阵的抖动位数。
可选的,利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理包括:将每个图像子区域中每个像素的初始像素值分别与上述抖动矩阵中对应位置上的阈值进行比较;当上述抖动矩阵中对应位置上的阈值为第一数值时,上述初始像素值保持不变;当上述抖动矩阵中对应位置上的阈值为第二数值时,将上述初始像素值减小至可显示的目标像素值。
可选的,对上述初始图像数据进行误差扩散处理包括:对上述第四处理结果进行误差扩散处理,得到上述目标图像数据。
可选的,对上述第四处理结果进行误差扩散处理,得到上述目标图像数据包括:对上述第四处理结果进行图像量化处理,得到多个被量化像素;将上述多个被量化像素中每个被量化像素的量化误差扩散至相邻像素,得到上述目标图像数据。
根据本发明实施例的另一方面,还提供了一种图像数据的处理装置,包括:获取模块,用于通过高级高性能接口ahb主机获取初始图像数据;处理模块,用于对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,上述存储介质中存储有计算机程序,其中,上述计算机程序被设置为运行时执行任一项中上述的图像数据的处理方法。
根据本发明实施例的另一方面,还提供了一种处理芯片,上述处理芯片用于运行程序,其中,上述程序被设置为运行时执行任一项中上述的图像数据的处理方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任一项中上述的图像数据的处理方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和高级高性能总线,上述存储器中存储有计算机程序,上述高级高性能总线被设置为运行上述计算机程序以执行任一项中上述的图像数据的处理方法。
在本发明实施例中,通过高级高性能总线ahb主机获取初始图像数据;对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据,达到了提高屏幕显示电路中的图像数据处理速率和效率的目的,从而实现了降低处理复杂度和处理成本的技术效果,进而解决了现有技术中屏幕显示电路中的图像数据处理方式,存在处理复杂度和处理成本较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种图像数据的处理方法的流程图;
图2是根据本发明实施例的一种可选的图像数据的处理系统的示意图;
图3是根据本发明实施例的另一种可选的图像数据的处理系统的示意图;
图4是根据本发明实施例的一种可选的抖动处理示意图;
图5是根据本发明实施例的一种可选的n-bit抖动矩阵示意图;
图6是根据本发明实施例的一种图像数据的处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种图像数据的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种图像数据的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤s102,通过高级高性能总线ahb主机获取初始图像数据;
步骤s104,对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据。
在本发明实施例中,通过高级高性能总线ahb主机获取初始图像数据;对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据,达到了提高屏幕显示电路中的图像数据处理速率和效率的目的,从而实现了降低处理复杂度和处理成本的技术效果,进而解决了现有技术中屏幕显示电路中的图像数据处理方式,存在处理复杂度和处理成本较高的技术问题。
如图2所示,本申请一种可选的实施例中,通过存储设备1和存储设备2(例如,硬件抓图缓存模块)分别用于存储初始图像数据和目标图像数据,加速屏幕显示不卡顿,不占用释放cpu资源;采用bayer算法对初始图像数据进行去抖动处理和误差扩散处理,去抖动处理和误差扩散处理的效果显著增强,解决了低于8位数伪真彩色面板的图像在液晶显示的视觉显示效果较差的问题,并且,本申请实施例提供的图像数据的处理方法,相比较传统的fs滤波器量化误差分析方法,硬件开销降低30%以上,满足电路小型化要求,实现复杂度和实现成本显著降低。
本申请实施例中,提出一种可以集成于硬件内部的高级高性能总线ahb主机(ahb_master),用于完成主动抓图的动作,即获取初始图像数据,实现在cpucpu主要负责前期的控制寄存器配置的情况下,后期采用ahb主机完成图片的剪切、旋转等动作;通过抖动算法和误差扩散算法的联合处理,得到目标图像数据。
在上述可选的实施例中,上述目标图像数据中完成量化后的误差尽最大可能扩散到与之相邻的像素点上,视觉上消除传输误差,在二值设备和多色二值设备中均可以实现图像数据的清晰再现。
在一种可选的实施例中,通过上述ahb主机获取上述初始图像数据包括:
步骤s202,通过上述ahb主机获取多个信号,其中,上述多个信号包括:地址信号、写操作信号、总线大小信号、突发方式信号、交易类型信号以及写数据信号;
步骤s204,基于上述多个信号从存储设备获取上述初始图像数据。
仍如图2所示,上述ahb主机用于主动传输数据,例如,主动获取地址信号、写操作信号、总线大小信号、突发方式信号、交易类型信号以及写数据信号等多个信号,并基于上述多个信号从存储设备(如图2所示的存储设备1、存储设备2)获取上述初始图像数据。
如图3所示,本申请实施例提供的另一种图像处理系统包括:ahb主机和显示平台(lcd显示面板),上述ahb主机包括:ahb总线接口,去抖模块(dithering,例如,bayer去抖模块),配置和状态奇寄存器,时钟生成器(图像同步时钟生成模块),数据缓存模块(fifo缓存层1和fifo缓存层2),像素格式转换模块(pfc模块),混合模块(blending)。
仍如图3所示,在一种可选的实施例中,ahb总线接口接收ahb主机发送的多个信号:地址(addr[31:0]),写操作(write),总线大小(size[2:0]),突发方式(burst[2:0]),交易类型(trans[2:0]),写数据(wdata[31:0]),ahb主机根据如上多个信号从存储设备1读取初始图像数据。
在一种可选的实施例中,上述方法还包括:
步骤s302,将上述初始图像数据划分成多路图像数据流,并对上述多路图像数据流进行数据缓存处理,得到第一处理结果;
步骤s304,对上述第一处理结果进行像素格式转换处理,得到第二处理结果;
步骤s306,在图像同步时钟控制下,对上述第二处理结果进行混合处理,得到第三处理结果。
作为一种可选的实施例,对上述初始图像数据进行去抖动处理包括:
步骤s402,对上述第三处理结果进行去抖动处理,得到第四处理结果。
在上述可选的实施例中,如图3所示,在ahb主机根据如上多个信号从存储设备1读取初始图像数据之后,将上述初始图像数据划分成多路图像数据流,将该多路图像数据流分别传送至fifo缓存层1和fifo缓存层2进行数据缓存处理,再将缓存处理得到的第一处理结果导入像素格式转换模块进行像素格式转换处理,得到第二处理结果;然后在图像同步时钟控制下,采用混合模块对上述第二处理结果进行混合处理,得到第三处理结果,接着采用去抖模块对上述第三处理结果进行去抖动处理,得到第四处理结果。
如图3所示,通过采用去抖模块,例如bayer算法去抖模块,替代现有技术中的fs滤波器进行去抖处理,可以显著增强非真彩色液晶显示屏的视觉效果,而且降低了硬件开销和功耗。
在另一种可选的实施例中,对上述第三处理结果进行去抖动处理包括:
步骤s502,对上述第三处理结果进行区域划分,得到多个图像子区域;
步骤s504,基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵;
步骤s506,利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理。
需要说明的是,数字半色调是基于人眼的视觉特性和图像的成色特性,利用数学和计算机等工具,在二值设备上面实现图像的再现的技术,将图像量化后的误差尽可能的扩散到与之相邻的像素上,使得再现图像的误差尽可能小。
在上述可选的实施例中,可以通过对上述第三处理结果进行区域划分,得到多个图像子区域;基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵;利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理。
作为一种可选的实施例,基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵包括:
步骤s602,获取第一像素位数和第二像素位数,其中,上述第一像素位数为每个图像子区域中每个像素的初始像素位数,上述第二像素位数为每个图像子区域中每个像素经过去抖动处理后的目标像素位数;
步骤s604,采用上述第一像素位数和上述第二像素位数确定上述抖动矩阵的抖动位数。
在上述可选的实施例中,可以根据每个图像子区域中每个像素的初始像素位数和每个图像子区域中每个像素经过去抖动处理后的目标像素位数;确定上述抖动矩阵的抖动位数。
本申请实施例中,bayer算法去抖模块的实质是将各个像素值与其抖动矩阵中相对应的阈值进行比较,可选的,可以根据不同抖动位数选定的抖动矩阵阵列置于图像子区域内,使得该图像子区域的每一个像素和抖动矩阵的每个阈值一一对应。
在一种可选的实施例中,利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理包括:
步骤s702,将每个图像子区域中每个像素的初始像素值分别与上述抖动矩阵中对应位置上的阈值进行比较;
步骤s704,当上述抖动矩阵中对应位置上的阈值为第一数值时,上述初始像素值保持不变;
步骤s706,当上述抖动矩阵中对应位置上的阈值为第二数值时,将上述初始像素值减小至可显示的目标像素值。
作为一种可选的实施例,如图4所示,针对2*2像素块的颜色,若像素全为0则视觉效果也是0,若全2个为红色2个为0,则视觉效果可产生5级灰度。仍如图4所示,状态1和状态4,抖动“0”表示对应位置输入不改变,“1”表示对应模块的输入值将减弱到下一个可以显示的值,若像素的低2位为“00”,“01”,“10”,“11”分别表示空白部分的像素值不变,将其降低至下一个可显示的像素值。
在一种可选的实施例中,由于2*2像素块中每个为8bit的数据,输出为6bit,考虑任意的8bit像素值0xa8(1010_1000),高6位为0x2a,若没有抖动模块,0xa9、0xaa、0xab和0xa8都是显示相同的像素值0x2a,即0xa8到0xac的值丢失了,则采用抖动模块对0xa8,0xa9,0xaa进行抖动修改。
在上述可选的实施例中,上述抖动矩阵可以包括但不限于为图5所示的n-bit抖动矩阵示意图中所示的1-位矩阵,2-位矩阵,3-位矩阵,4-位矩阵,具体将每个图像子区域中每个像素的初始像素值,分别与上述抖动矩阵中对应位置上的阈值进行比较时,可以根据每个图像子区域中每个像素的初始像素位数,每个图像子区域中每个像素经过去抖动处理后的目标像素位数,进而确定抖动矩阵的抖动位数。
作为一种可选的实施例,对上述初始图像数据进行误差扩散处理包括:
步骤s802,对上述第四处理结果进行误差扩散处理,得到上述目标图像数据。
作为另一种可选的实施例,对上述第四处理结果进行误差扩散处理,得到上述目标图像数据包括:
步骤s902,对上述第四处理结果进行图像量化处理,得到多个被量化像素;
步骤s904,将上述多个被量化像素中每个被量化像素的量化误差扩散至相邻像素,得到上述目标图像数据。
在一种可选的实施例中,由于误差扩散的半色调色算法是邻域处理的过程,单个像素点被量化,即存在误差,将影响到周围的像素点。通过对上述第四处理结果进行误差扩散处理,对上述第四处理结果进行图像量化处理,得到多个被量化像素;将上述多个被量化像素中每个被量化像素的量化误差扩散至相邻像素,得到上述目标图像数据。
作为一种可选的实施例,对于量化误差进行频谱整形的数字滤波器,对于白噪声的量化,但是彩色图像非单值量化。需要说明的是,采用全真显示的视觉效果,对比添加抖动校正后的人眼视觉效果图而言,两者显示效果相差并不大,但两者均比直接删除低2bit的视觉效果图的显示效果更好。
实施例2
根据本发明实施例,还提供了一种用于实施上述图像数据的处理方法的装置实施例,图6是根据本发明实施例的一种图像数据的处理装置的结构示意图,如图6所示,上述图像数据的处理装置,包括:获取模块60和处理模块62,其中:
获取模块60,用于通过高级高性能接口ahb主机获取初始图像数据;处理模块62,用于对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述获取模块60和处理模块62对应于实施例1中的步骤s102至步骤s104,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的图像数据的处理装置还可以包括处理器和存储器,上述获取模块60和处理模块62等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种图像数据的处理方法。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:通过高级高性能总线ahb主机获取初始图像数据;对上述初始图像数据进行去抖动处理和误差扩散处理,得到目标图像数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:通过上述ahb主机获取多个信号,其中,上述多个信号包括:地址信号、写操作信号、总线大小信号、突发方式信号、交易类型信号以及写数据信号;基于上述多个信号从存储设备获取上述初始图像数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:将上述初始图像数据划分成多路图像数据流,并对上述多路图像数据流进行数据缓存处理,得到第一处理结果;对上述第一处理结果进行像素格式转换处理,得到第二处理结果;在图像同步时钟控制下,对上述第二处理结果进行混合处理,得到第三处理结果。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述第三处理结果进行去抖动处理,得到第四处理结果。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述第三处理结果进行区域划分,得到多个图像子区域;基于上述多个图像子区域中每个图像子区域的大小确定每个图像子区域对应的抖动矩阵;利用每个图像子区域中各个像素与上述抖动矩阵之间的比较结果,对上述第三处理结果进行去抖动处理。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取第一像素位数和第二像素位数,其中,上述第一像素位数为每个图像子区域中每个像素的初始像素位数,上述第二像素位数为每个图像子区域中每个像素经过去抖动处理后的目标像素位数;采用上述第一像素位数和上述第二像素位数确定上述抖动矩阵的抖动位数。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:将每个图像子区域中每个像素的初始像素值分别与上述抖动矩阵中对应位置上的阈值进行比较;当上述抖动矩阵中对应位置上的阈值为第一数值时,上述初始像素值保持不变;当上述抖动矩阵中对应位置上的阈值为第二数值时,将上述初始像素值减小至可显示的目标像素值。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述第四处理结果进行误差扩散处理,得到上述目标图像数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述第四处理结果进行图像量化处理,得到多个被量化像素;将上述多个被量化像素中每个被量化像素的量化误差扩散至相邻像素,得到上述目标图像数据。
根据本申请实施例,还提供了一种处理芯片实施例。可选地,在本实施例中,上述处理芯片用于运行程序,其中,上述程序运行时执行上述任意一种图像数据的处理方法。
本申请实施例中的ahb_master是硬件设计的一部分,上述处理芯片作为硬件实体,是基于arm总线架构设计的,ahb_master和cpu,以及dma(直接存取设备)都是作为arm总线架构的master,可以主动发出总线的地址和控制信号,并且实现数据的搬运。
根据本申请实施例,还提供了一种电子装置实施例,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述任意一种图像数据的处理方法。
根据本申请实施例,还提供了一种电子装置实施例,包括存储器和高级高性能总线,上述存储器中存储有计算机程序,上述高级高性能总线被设置为运行上述计算机程序以执行任一项中上述的图像数据的处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除