一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像数据处理方法、装置、计算机设备和存储介质与流程

2022-02-25 18:42:23 来源:中国专利 TAG:


1.本说明书涉及计算机数据处理的技术领域,具体涉及一种图像数据处理方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机与互联网技术的不断发展,图像的应用越发广泛,因此,对图像数据的储存和传输提出了较高的要求。现有技术,会通过游程编码对图像数据进行初步压缩,然后将经游程编码后得到的数据通过基于字典的压缩算法进行二次压缩,以节约图像在存储或者传输时需要占据的内存空间。然而,图像数据在经过两次压缩后并没有得到特别理想的压缩效果。


技术实现要素:

3.有鉴于此,本说明书多个实施方式致力于提供一种图像数据处理方法、装置、计算机设备和存储介质,以一定程度上优化经过游程编码处理后的图像数据的结构,以有助于提高基于字典的压缩方法的压缩性能。
4.本说明书实施方式提出了一种图像数据处理方法,所述方法包括:生成图像数据的游程编码;其中,所述游程编码包括像素值,和所述像素值的连续重复次数;提取所述游程编码中像素值,得到像素值序列;提取所述游程编码中与像素值对应的游程,得到多个游程序列;将所述像素值序列和所述游程序列拼接得到目标序列;其中,所述目标序列用于表示所述图像数据。
5.本说明书实施方式提出了一种图像数据处理方法,所述方法包括:接收数据序列;其中,所述数据序列包括像素值序列和游程序列;其中,所述像素值序列包括多个像素值;所述游程序列与像素值对应,并且,每个游程序列包括至少一个游程;按照顺序将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合,形成游程编码;依照所述游程编码,使用所述像素值形成图像数据。
6.本说明书实施方式提出了一种图像数据处理装置,所述装置包括:游程编码模块,用于生成图像数据的游程编码;其中,所述游程编码包括像素值,和所述像素值的连续重复次数;像素提取模块,用于提取所述游程编码中像素值,得到像素值序列;游程提取模块,用于提取所述游程编码中与像素值对应的游程,得到多个游程序列;拼接模块,用于将所述像素值序列和所述游程序列拼接得到目标序列;其中,所述目标序列用于表示所述图像数据。
7.本说明书实施方式提出了一种图像数据处理装置,所述装置包括:接收模块,用于接收数据序列;其中,所述数据序列包括像素值序列和游程序列;其中,所述像素值序列包括多个像素值;所述游程序列与像素值对应,并且,每个游程序列包括至少一个游程;组合模块,用于按照顺序将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合,形成游程编码;图像生成模块,用于依照所述游程编码,使用所述像素值形成图像数据。
8.本说明书实施方式提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述实施方式所述的方法。
9.本说明书实施方式提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实现所述实施方式所述的方法。
10.本说明书实施方式过将游程编码中像素值和游程分开排列,并将得到的目标序列作为输入数据,以在一定程度上提高基于字典的压缩算法的性能。
附图说明
11.图1所示为一实施方式提供的一个场景示例中不同端交互的示意图。
12.图2所示为一实施方式提供的一个场景示例中不同端交互的示意图。
13.图3所示为一实施方式提供的图像数据处理方法的流程示意图。
14.图4所示为一实施方式提供的图像数据处理方法的流程示意图。
15.图5为一实施方式提供的图像数据处理装置的结构框图。
16.图6为一实施方式提供的图像数据处理装置的结构框图。
具体实施方式
17.为了使本技术领域的人员更好地理解本说明书方案,下面将结合本说明书实施方式中的附图,对本说明书实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅是本说明书一部分实施方式,而不是全部的实施方式。基于本说明书中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本说明书保护的范围。
18.请参阅图1和图2。在本说明书提供的一个图像数据处理系统的场景示例中,用户可能是医疗领域的工作者,图像数据处理系统给用户提供了多个客户端。其中一个客户端的使用者可能是放射科医生,需要将采集得到的图像数据处理系统传输给主治医生,以便于主治医生作为诊断病人病情的资料。
19.放射科医生所使用的客户端处,医生会将拍摄得到的医学图像上传至图像数据处理系统中,希望将所述医学图像传输至主治医生所使用的客户端上。系统在获取医学图像后,会创建一个空的像素值序列和一个空的游程序列集合,接着开始逐个读取图像的像素数据。系统在读取到第一个像素数据时,会将所述像素数据的取值加入像素值序列中,并创建一个与所述像素数据取值对应的空的游程序列,加入游程序列集合中。同时,系统将取值为1的初始频次添加至所述游程序列中。此外,系统还会将所述像素数据的取值作为基准像素值。
20.接着系统会跳转至下一个像素数据,如果跳转后的像素数据的取值与基准像素值一致,系统会将基准像素值对应的游程序列中末端的频次的数值加1,并继续跳转至下一个像素数据。如果跳转后的像素数据的取值与基准像素值不一致,系统会将当前像素数据的取值添加至像素值序列末端,并在所述游程序列集合中搜索是否有所述像素数据取值对应的游程序列,如果存在,那么则在对应的游程序列末端添加取值为1的初始频次,并重复以上步骤;如果不存在,则先创建一个与所述像素数据取值对应的空的游程序列,加入游程序列集合,并在所述游程序列中加入取值为1的初始频次,然后重复以上步骤。当没有下一个
像素数据可以跳转后,即所有像素数据都经过以上处理过程后,系统会将游程序列集合中的游程序列,按照对应的像素数据的取值从小达大依次拼接,得到游程集序列。接着再将所述像素序列拼接在所述游程集序列的末端,得到目标序列。
21.随后,系统会设置一个滑动窗口和前项缓冲区,并将目标序列依次载入前项缓冲区中,对前项缓冲区中的目标序列的元素进行编码。完成编码的目标序列的元素则会依次添加进滑动窗口之中,一旦滑动窗口中的元素个数等于滑动窗口的预设的最大元素数量,并且需要添加新进的元素时,系统便会将最先加入滑动窗口中的元素移出滑动窗口,并将需要添加的新的元素添加进滑动窗口,位于滑动窗口内各个元素形成的序列的末端位置。具体编码过程中,系统会将前项缓冲区中的元素与滑动窗口内的元素进行匹配。如果匹配成功,即说明前向缓冲区中的自第一个元素起的连续多个元素构成的序列也出现在滑动窗口之中,那么就所述连续多个元素编码成短语标记,添加进编码序列中。如果匹配不成功,即说明前向缓冲区中的自第一个元素起的连续多个元素构成的序列并没有出现在滑动窗口中,那么就将前向缓冲区中的第一个元素编码成符号标记,加入编码序列中。其中,符号标记为元素本身,短语标记包括了滑动窗口中的偏移量、匹配中的元素个数、匹配结束后的前向缓冲区中的第一个元素。当目标序列全部编码完成后,得到对应的编码序列。此时,系统会将所述编码序列向主治医生端进行传输。
22.主治医生使用的客户端上,系统在收到放射科医生端传输过来的编码序列后,会依次对每个元素进行解码。首先系统会建立一个与编码端长度一致的滑动窗口和一个空的数据序列。系统会将所述编码序列逐个解码,并将解码后的元素加入滑动窗口之中。解码过程中,系统会根据标识位分辨编码过程中的是符号标记还是短语标记,如果是符号标记,那么系统就会将该元素直接加入滑动窗口之中。如果是短语标记,那么系统则会根据短语标记中所记录的偏移量和元素个数,读取滑动窗口中以偏移量为起始位置其对应个数个元素,加入滑动窗口之中,此后,系统还会将标记短语中记录的匹配结束后的前向缓冲区中的第一个元素加入滑动窗口。当滑动窗口中元素的个数等于滑动窗口的预设的最大元素数量,并且需要添加新进的元素时,系统便会将最先加入滑动窗口中的元素移出滑动窗口,加入数据序列之中。重复以上步骤,直到所有的编码序列中的元素都被解码成功,并将滑动窗口中剩余元素依次移入数据序列。
23.获得数据序列后,系统会计算所述数据序列长度,即所述数据序列包含元素的数量。然后,将所述数据序列切分成等长的两部分,其中,前半部分数据序列形成游程集序列,后半部分数据序列形成像素值序列。接着,系统会依次读取像素值序列中的每个像素数据的取值,并记录不同取值的像素数据在所述像素值序列中出现的频次。然后,将所述像素数据对应的频次,按照对应的像素数据的取值从小到大排序,得到频次序列。此后,系统会依次读取频次序列中的频次,并在所述游程集序列中,自序列的第一个元素起,提取对应频次数量个元素,形成一个游程序列。其中,所述游程序列对应的像素数据与所述频次对应的像素数据一致。重复以上步骤,直到得到所有的游程序列。
24.得到所述游程序列和所述像素值序列后,系统会根据所述游程序列和所述像素值序列生成图像。系统会从像素值序列的首端提取出一个像素数据,接着根据所述像素数据的取值在对应的游程序列中,从所述游程序列的首端提取出对应的游程,接着生成所述游程数量个所述像素值。重复以上步骤,直到像素值序列中的像素值都被选择。在生成所述游
程数量个所述像素值中,系统会根据传输来的分辨率,将所述像素值存储进二维的像素矩阵中。当获得完整的像素矩阵后,系统便会将像素矩阵对应的图像显示在终端上。
25.以上所述仅为本说明书提供的一个场景示例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
26.本说明书实施方式提供一种图像数据处理系统。所述图像数据处理系统可以包括客户端和服务器。所述客户端可以是具有网络访问能力的电子设备。具体的,例如,客户端可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
27.请参阅图3,本说明书实施方式提供了一种图像数据处理方法,所述方法包括以下步骤。
28.步骤s110:生成图像数据的游程编码;其中,所述游程编码包括像素值,和所述像素值的连续重复次数。
29.在本实施方式中,需要基于所述像素数据生成的游程编码,对所述游程编码进一步处理。
30.所述图像数据表示图像的信息,可以是图像的像素数据,也可以包括图像的属性,例如分辨率、通道数、饱和度、位置信息以及生成时间等信息。所述图像数据表示的可以是灰度图,也可以是彩色图像,还可以是二值图。当然,所述图像数据所表示图像的深度并无限定,具体的,可以是8,也可以是16。此外,所述图像数据的格式也可以是任意格式,可以是jpg格式、bmp格式等常见的图像格式,也可以是raw格式、dicom格式等应用在特定领域的图像格式。
31.所述游程编码也可以称为行程编码、运行长度编码或者rle,用于表示所述图像数据。所述游程编码可以表示所述图像中的全部数据,也可以表示所述图像中的部分数据。所述游程编码可以由标识组形成。其中,所述标识组可以包括像素值和所述像素值在图像中连续出现的频次,所述像素值在图像中连续出现的频次也可以称为游程。在一些实施方式中,所述标识组也可以在包括像素值和所述像素值在图像中连续出现的频次的基础上加入标志位。其中,所述标志位用于表示所述频次数据占据的比特位数量。具体的,例如,所述标志位可以有一个比特位表示,当所述标志位为0时,所述频次的可以由一个字节的比特位表示;当所述标志位为1时,所述频次也可以由两个字节的比特位表示。
32.所述游程编码中,所述标识组的顺序可以是按照对所述图像数据中像素数据处理的顺序决定的。例如,服务器会按照从左至右、从上至下顺序对每个像素数据进行处理,每生成一个标识组时,便会将其拼接在由已处理像素数据形成的标识组之后。当然,所述标识
组也可以根据预先设定的顺序存储。例如,可以提取图像数据中奇数行的像素数据,并将所述奇数行的像素数据编码成由至少一个标识组形成的游程编码,接着提取图像数据中偶数行的像素数据并将所述偶数行的像素数据编码成由至少一个标识组形成的游程编码,最后将奇数行像素数据和偶数行像素数据得到游程编码拼接形成表示完整图像的游程编码。
33.步骤s120:提取所述游程编码中像素值,得到像素值序列。
34.提取出所述游程编码中的像素值,用于将所述像素值和像素值对应的在图像中连续出现的频次分开排列,以得到最终的数据。
35.所述像素值序列中,所述像素值的排序顺序可以是与所述游程编码中像素值的顺序一致。例如,存在一个游程编码由三个标识组形成,分别为(1,3)(2,4)(6,9)。其中,标识组的一个数值表示像素值,第二数值表示所述像素值出现的频次,则依照游程编码中像素值的顺序形成的像素值序列为[1,3,9]。当然,所述像素值序列中,像素值的顺序可以与游程编码中像素值的顺序不同。具体的,例如,所述像素值序列中,先存放了在所述游程编码中处于奇数位置的标识组中的像素值,再存放所述游程编码中处于偶数位置的标识组中的像素值。所述像素值序列可以是通过数组形式存储的,也可是通过链表存储的。在一些实施方式中,像素值序列还可以转化为字符串进行存储。
[0036]
所述提取所述游程编码中像素值,可以是在所述游程编码中读取对应位置的像素值,也可以是在读取对应位置的像素值后将游程编码中的像素值删除。
[0037]
步骤s130:提取所述游程编码中与像素值对应的游程,得到多个游程序列。
[0038]
相同的,提出所述游程编码中的游程,也是为了将所述游程编码中游程与像素值分开排序,以获得目标序列。
[0039]
所述多个游程序列中,每个游程序列对应一个像素值取值,也就是表明,同一个游程序列中的游程,对应的像素值的取值均相同。所述游程序列中,游程的顺序可以与所述游程对应的像素在像素值序列中的顺序相对应。例如,像素值序列为[5,19,49,5,24,5],其中三个取值均为5的像素值,分别在像素值序列的第一位,第四位和第六位,对应的游程编码为(5,10)(5,20)(5,50),分别对应的游程为10、20、50。那么,将所述游程加入对应取值为5的像素值的游程序列中时,可以根据所述游程对应的像素在像素值序列中的先后关系,依次加入。所述游程序列最终可以表示为[10,20,50]。当然,在一些实施方式中,所述游程序列中,游程的顺序可以与所述游程对应的像素在像素值序列中的顺序相反,或者按照其他预设的顺序依次存入游程序列中。
[0040]
步骤s140:将所述像素值序列和所述游程序列拼接得到目标序列;其中,所述目标序列用于表示所述图像数据。
[0041]
由所述像素值序列和所述游程序列拼接得到的目标序列,经过一定的计算也能够还原所述图像数据。同时,将所述目标序列作为采用基于字典的压缩算法的输入,有助于提高相应算法压缩所述图像数据的压缩效果。其中,所述基于字典的压缩算法可以是lz77算法,可以是lz78,也可以是lzw算法。
[0042]
当采用基于字典的压缩算法时,会根据已经编码的元素生成字典。其中,字典中的短语一般由输入数据中两个以上的连续的元素构成。在一些实施方式中,例如,在lz77算法中,字典的大小与lz77算法中窗口的大小一致。若输入数据为由包括两个元素的标识组形成的游程编码,那么,字典中的短语至少也会包括一个像素值与游程。由于游程编码中相邻
的两个像素值是不同的,因为当在所述窗口中匹配短语时,在待编译的序列之前的短语无法匹配成功,这就在一定程度上减小了字典的大小,对压缩算法的性能造成一定的影响。
[0043]
此外,如果字典中短语包括了同属一个标识组的像素值和游程,那么至少表明如果要匹配成功,则在未编码的游程编码所对应的图像数据中需出现,与字典的短语中取值相同的像素值重复相同次数的情况。这在图像数据出现的概率相对较小。
[0044]
因此,将所述游程编码中的像素值和游程分别提取出来,构成目标序列,可以避免因游程编码中相邻标识组必然不同,而在一定程度上降低了基于字典的压缩算法在匹配过程中匹配成功的概率。同时,将目标序列作为基于字典的压缩算法的输入数据,当短语匹配成功时,则可以表明,待编码的相邻的不同取值的像素值在字典中也出现过,或者相邻的游程在字典中出现过,相比起通过游程编码匹配时,需要保证像素值取值相同且重复相同次数的情况,在图像中出现概率相对更高。
[0045]
将所述像素值序列和所述游程序列拼接,可以将像素值序列拼接在游程序列后面,也可以是将像素值序列拼接在游程序列之前。所述像素值序列和所述游程序列之间可以通过指定标识符进行拼接,也可以直接拼接。在一些实施方式中,将所述像素值序列和所述游程序列拼接的方式也可以是在拼接在前序列中添加指针,所述指针用于表示拼接在后的序列的首地址。
[0046]
在一些实施方式中,所述提取所述游程编码中像素值,得到像素值序列的步骤中,包括,依次提取所述游程编码中像素值;将所述像素值按照在所述游程编码中的顺序依次拼接,得到像素值序列。
[0047]
根据像素值在游程编码中的顺序,依次提取对应的像素值加入像素值序列,可以简化编码与解码的计算过程。同时,编码过程中,在获得游程编码的一个标识组信息时,即像素值和对应的像素值连续重复出现的频次时,便能将所述像素值直接添加进像素值序列。不必等到所有游程编码都获得以后,再将游程编码转化为目标序列,可以提高编码的速度。
[0048]
在一些实施方式中,所述提取所述游程编码中与像素值对应的游程,得到多个游程序列的步骤中,包括,在所述像素值序列中,选择不同取值的像素值;基于所述不同取值的像素值,在所述游程编码中依次提取与所述像素值对应的游程;将所述游程按照在所述游程编码中的顺序依次拼接,得到一个游程序列。
[0049]
依次将所述游程编码的游程加入对应的像素值的游程序列,同将所述像素值依次像素值序列的操作一样,也可以简化编码与解码的计算过程,提高编码的速度。此外,将对应的像素值取值相同的游程,加入同一游程序列,便于在解码过程中,对不同像素值对应的游程进行切分,以还原图像数据。具体的,例如,可以将多个游程序列之间通过指定标识符进行拼接,则在解码过程只需要基于所述标识符切分即可。若每个游程分散存储,那么则需要较多的标识符进行切分,会占据更多的比特位。在一些实施方式中,也会通过在每个游程序列中加入对应的像素值来进行区分,此时,将对应的像素值相同的游程加入同一游程序列,在一定程度上也能减少添加对应像素值的个数。
[0050]
在一些实施方式中,将所述像素值序列和所述游程序列拼接得到目标序列的步骤中,包括,将所述游程序列按照对应像素值的取值依次拼接,得到游程集序列;其中,所述游程集序列包括多个游程序列;将所述游程集序列与所述像素值序列拼接得到所述目标序
列。
[0051]
将所述多个游程序列依次拼接的一些实施方式中,通过指定标识符拼接,或者对所述游程序列添加对应的像素值进行区分的方法,仍然需要额外占据一定的存储空间。因此,可以将多个游程序列按照对应的像素值取值依次拼接。相应的,在解码过程中,则可以先统计像素值序列中不同取值的像素值出现频次,然后将所述频次按照对应像素值的取值排序。接着根据经过排序后的频次,将所述游程集序列划分为多个游程序列。
[0052]
此外,由于在游程编码中游程与像素值总是成对出现的,游程集序列和像素值序列包含的元素数量一定是一致。因此,只要将游程集序列和像素值序列拼接的顺序确定,得到目标序列。在划分过程中,只要根据目标序列所包含的元素的数量,取出前一半或者后一半的序列元素,就能得到像素值序列和游程集序列。
[0053]
请参阅图4,本说明书实施方式提供了一种图像数据处理方法,所述方法包括以下步骤。
[0054]
步骤s210:接收数据序列;其中,所述数据序列包括像素值序列和游程序列;其中,所述像素值序列包括多个像素值;所述游程序列与像素值对应,并且,每个游程序列包括至少一个游程。
[0055]
在接收到数据序列之后,才能对数据序列进行处理,进而还原出所述图像数据。
[0056]
所述数据序列用于解码出对应的图像数据。所述数据序列可以是由服务器传输来的序列,也可以是经过终端处理过后的序列。例如,所述数据序列可以是由lz77算法解码得到的序列。
[0057]
所述接收方式,可以是由终端向发送端发送请求后,发送端传输来数据后由终端接收数据。在一些实施方式中,也可以由终端不断查询数据的接收接口,当发现由数据发送来终端时,被动接收数据。
[0058]
步骤s220:按照顺序将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合,形成游程编码。
[0059]
基于所述数据序列,可以将其划分为多个游程序列和像素值序列。利用所述多个游程序列和像素值序列,可以获得所述图像数据的游程编码,进而还原出整张图像。具体的,例如,终端会从序列的首端依次提取出像素值序列中的像素值,接着根据所述像素值的取值,前往与所述像素值取值对应的游程序列中,提取排序在第一位的游程,并将所述像素值和所述游程组合形成游程编码。当然,在一些实施方式中,从像素值序列中提取像素值以及从游程序列中提出对应的游程的顺序,也可以根据编码过程中编码顺序进行提取。
[0060]
所述将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合的方式,可以提取出像素值序列中的像素值和对应的游程序列中的游程,将所述像素值和游程拼接,也可以是将所述像素值和游程计入一个数组。在一些实施方式中,还可以分别对像素值序列中的像素值和游程序列中的游程设置编号,编号相同的像素值和游程为同组的元素。
[0061]
步骤s230:依照所述游程编码,使用所述像素值形成图像数据。
[0062]
在获取到游程编码之后,便能根据游程编码中的多个标识组,形成所述图像数据。例如,创建一个空的像素数据序列,依次读取所述游程编码的标识组。接着根据包括像素值和游程的标识组,将对应游程数量个像素值加入像素数据序列之中。重复以上步骤,直到所
述游程编码中的标识组全部被选择。此时可以根据服务器端传输得到的图像的分辨率,将所述像素数据序列转化为具有行数和列数的像素矩阵,形成图像数据。在一些实施方式中,所述游程编码也可以是通过步骤s220不断生成的。例如,每生成包括一个标识组的游程编码,终端便会根据游程编码中像素值和游程,将对应游程数量个像素值加入像素数据序列。
[0063]
在一些实施方式中,所述按照顺序将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合的步骤前包括:将所述数据序列划分为像素值序列和包括多个游程序列的游程集序列;其中,像素值序列和游程集序列包括的元素数量相同;计算所述像素值序列中不同像素值的频次;将所述频次按照对应像素值的取值排序得到频次序列;根据所述频次序列,将所述游程集序列依次划分为多个游程序列。
[0064]
在通过所述像素值序列和所述游程序列,得到游程编码前,需要将得到数据序列进行切分成像素值序列和多个游程序列。
[0065]
在一些实施方式中,所述数据序列是由像素值序列和游程集序列拼接形成的。所述像素值序列包括了游程编码中所有的像素值,所述游程集序列包括游程编码所有的游程。游程编码中游程和像素数据总是成对出现的,因此像素值序列和游程集序列的长度是一致。此时,只需要将数据序列等分即可得到像素值序列和游程集序列。其中,像素值序列和游程集序列在拼接时是按照一定顺序拼接,例如,像素值序列在前,游程集序列在后。等分之后,也可以根据拼接的顺序得到像素值序列在前和游程集序列。所述拼接的顺序可以预定在服务器和终端两侧的,也可以是由服务器端传输至终端的。
[0066]
当得到游程集序列后,还需要对游程集序列进行切分,得到每个游程序列。在一些实施方式中,所述游程集序列是将对应不同像素值的游程序列按照像素值的取值依次拼接得到。因此,只要得到游程序列的排序方法以及不同像素值对应的游程序列中游程的数量,就可以将所述游程集序列划分成多个游程序列。其中,不同像素值对应的游程的数量可以根据像素值序列中不同像素值出现的频次得到。例如,像素值序列中取值为10的像素值出现了5次,相应的,取值为10的像素值所对应游程的数量也为5,即对应像素值为10的游程序列中游程的个数也为5。游程序列的排序方法可以是按照所述游程序列对应的像素值的取值进行排序,也可以是按照所述游程序列对应的像素值在所述游程编码中的顺序进行排序。
[0067]
在一些实施方式中,根据所述频次,将所述游程集序列依次划分为多个游程序列的步骤中,包括:将所述频次按照对应像素值的取值排序,得到频次序列;依次取出所述频次序列中的频次;基于所述频次,取出所述游程集序列中对应频次数量个游程,构成游程序列。
[0068]
游程序列的排序方法可以是按照所述游程序列对应的像素值的取值进行排序的方法,可以较为简便地切分。当多个游程序列在所述游程集序列中是按照对应像素值的取值由小到大依次拼接时,可以记录像素值序列中不同像素值的频次,并将所述频次根据对应像素值的取值由小到大排序,得到一个频次序列,然后根据频次序列对游程集序列划分。具体的,例如,游程集序列为[7,10,5,5,6,9,20,10,11],像素值序列为[3,2,4,2,3,4,3,2,3]。计算像素值序列中不同取值的像素值的频次,得到取值为2像素值出现了3次,取值为3的像素值出现了4次,取值为4的像素值出现了2次。将所述频次根据对应的像素值的取值从小到大得到频次序列为[3,4,2]。此时可以根据频次序列对所述游程集序列进行划分。首先
取出频次序列中的第一个元素3,然后再游程集序列中取出对应频次个元素,即3个元素,得到第一个游程序列,为[7,10,5]。其中,所述游程序列对应像素值即为所述频次对应的像素值2。重复以上步骤,就可以将游程集序列划分为三个游程序列,分别为[7,10,5]、[5,6,9,20]、[10,11],所述三个游程序列对应的像素值取值分别为2、3、4。将所述频次按照对应像素值的取值排序的算法中,可以是冒泡排序,也是堆排序,也可以归并排序。
[0069]
请参阅图5,在一些实施方式中可以提供一种图像数据处理装置1000,包括:接收模块1100、组合模块1200、图像生成模块1300和拼接模块。
[0070]
游程编码模块1100,用于生成图像数据的游程编码;其中,所述游程编码包括像素值,和所述像素值的连续重复次数。
[0071]
像素提取模块1200,用于提取所述游程编码中像素值,得到像素值序列。
[0072]
游程提取模块1300,用于提取所述游程编码中与像素值对应的游程,得到多个游程序列。
[0073]
拼接模块1400,用于将所述像素值序列和所述游程序列拼接得到目标序列;其中,所述目标序列用于表示所述图像数据。
[0074]
关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0075]
请参阅图6,在一些实施方式中可以提供一种图像数据处理装置2000,包括:接收模块2100、组合模块2200和图像生成模块2300。
[0076]
接收模块2100,用于接收数据序列;其中,所述数据序列包括像素值序列和游程序列;其中,所述像素值序列包括多个像素值;所述游程序列与像素值对应,并且,每个游程序列包括至少一个游程。
[0077]
组合模块2200,用于按照顺序将所述像素值序列中的像素值,与所述像素值对应的游程序列中的游程进行组合,形成游程编码。
[0078]
图像生成模块2300,用于依照所述游程编码,使用所述像素值形成图像数据。
[0079]
关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0080]
在一些实施方式中可以提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述实施方式中的方法步骤。关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0081]
在一些实施方式中可以提供了一种计算机设备,包括存储器和处理器,存储器中
存储有计算机程序,该处理器执行计算机程序时实现所述实施方式中的方法步骤。
[0082]
在一些实施方式中可以提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述实施方式中的方法步骤。
[0083]
本领域普通技术人员可以理解实现所述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如所述各方法的实施方式的流程。其中,本说明书所提供的各实施方式中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0084]
应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0085]
本说明书多个实施方式之间,采用递进的方式进行描述。不同的实施方式着重于描述相较于其它实施方式不相同的部分。所属领域技术人员在阅读本说明书之后,可以获知本说明书中的多个实施方式,以及实施方式揭示的多个技术特征,可以进行更多种的组合,为使描述简洁,未对所述实施方式中的各个技术特征所有可能的组合都进行描述。然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0086]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0087]
以上所述仅为本案的实施方式而已,并不用于限制本案的权利要求保护范围。对于本领域技术人员来说,本案可以有各种更改和变化。凡在本案的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本案的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献