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

文档序号:29035008发布日期:2022-02-25 18:03阅读:107来源:国知局
图像数据处理方法、装置、计算机设备和存储介质与流程

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


背景技术:

2.随着计算机与互联网技术的不断发展,图像数据的应用越来越广,图像的深度也不断增大。在许多领域都需要对大量图像进行传输和显示,其中,一些领域对图像信息传输的速率有着较高的要求,例如医学图像和数字通讯领域,快速且无损的图像传输对一些医疗场景十分重要。然而,现有技术中的图像数据的像素数据通常是用同一类型的变量进行存储,这就会造成图像数据过大,传输效率降低,对一些带宽小、延迟要求高的场景有着较大的影响。


技术实现要素:

3.有鉴于此,本说明书多个实施方式致力于提供一种图像数据处理方法、装置、计算机设备和存储介质,以一定程度上降低图像数据占据的比特位数量,提高图像信息的传输效率。
4.本说明书实施方式提出了一种图像数据处理方法,包括:基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间;其中,所述预设区间表示像素数据的取值范围;其中,不同预设区间对应的单元数量不同;所述目标预设区间对应的单元数量为目标单元数量;将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列;其中,所述比特单元包括预设数量的比特位;以使所述比特序列的指定比特位表示所述目标单元数量。
5.本说明书实施方式提出了一种图像数据处理方法,包括:获取比特流数据;其中,所述比特流数据包括多个比特单元;其中,所述比特单元包括预设数量的比特位;基于所述比特单元的指定比特位确定目标单元数量;其中,所述目标单元数量为对应一个像素数据的比特单元的数量;将所述比特流数据中所述目标单元数量个比特单元转换成对应的像素数据。
6.本说明书实施方式提出了一种图像数据处理装置,包括:区间确定模块,基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间;其中,所述预设区间表示像素数据的取值范围;其中,不同预设区间对应的单元数量不同;所述目标预设区间对应的单元数量为目标单元数量;编码模块,将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列;其中,所述比特单元包括预设数量的比特位;以使所述比特序列的指定比特位表示所述目标单元数量。
7.本说明书实施方式提出了一种图像数据处理装置,包括:获取模块,获取比特流数据;其中,所述比特流数据包括多个比特单元;其中,所述比特单元包括预设数量的比特位;数量确定模块,基于所述比特单元的指定比特位确定目标单元数量;其中,所述目标单元数
量为对应一个像素数据的比特单元的数量;解码模块,将所述比特流数据中所述目标单元数量个比特单元转换成对应的像素数据。
8.本说明书实施方式提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述实施方式所述的方法。
9.本说明书实施方式提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实现所述实施方式所述的方法。
10.本说明书实施方式通过将不同取值的像素数据映射成包括不同目标单元数量个比特单元的比特序列,从而将低了图像数据占用的比特位的数量。
附图说明
11.图1所示为一实施方式提供的一个场景示例中不同端交互的示意图。
12.图2所示为一实施方式提供的一个场景示例中不同端交互的示意图。
13.图3所示为一实施方式提供的图像数据处理方法的流程示意图。
14.图4所示为一实施方式提供的图像数据替换方法的流程示意图。
15.图5所示为一实施方式提供的图像数据处理方法的流程示意图。
16.图6为一实施方式提供的图像数据处理装置的结构框图。
17.图7为一实施方式提供的图像数据处理装置的结构框图。
具体实施方式
18.为了使本技术领域的人员更好地理解本说明书方案,下面将结合本说明书实施方式中的附图,对本说明书实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅是本说明书一部分实施方式,而不是全部的实施方式。基于本说明书中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本说明书保护的范围。
19.请参阅图1和图2。在本说明书提供的一个场景示例中,提供了一个图像数据处理系统。所述图像数据处理系统包括多个客户端,其中一个客户端用户可能是放射科医生,需要将采集得到的医学图像通过图像数据处理系统传输给主治医生,以便于主治医生作为诊断病人病情的资料。
20.放射科医生所在的客户端上,放射科医生将拍摄得到的医学图像上传至图像数据处理系统进行传输。系统便会自动分析医学图像的信息,提取出其中的raw格式图像的像素数据。接着逐个读取每个像素数据的取值,筛选出不同的像素值构成像素数据集合,并记录不同像素值在图像中出现的频次。获取得到像素数据集合后,系统会根据每个像素值所表示的二进制的位数以及在图像中出现的频次,基于预设的权重,计算每个像素值的得分。其中得分较高的像素值表示其出现的频次和该像素值所表示二进制占用的比特位的个数都相对较高。然后,将像素数据集合中的像素值根据对应得分由高至低进行排序,得到像素数据序列。接着根据像素数据序列的顺序,建立每个像素值与正整数的对应关系,其中,第一个像素值对应正整数中的1,第二像素值对应正整数中的2,以此类推。记录下每一组对应关系构成映射序列,映射序列中包括像素值与其对应的正整数的键值对,该正整数称为映射像素数据。在得到映射序列后,系统会根据映射序列中的像素数据,将图像中相同的像素数
据替换为映射序列中对应的映射像素数据。此后,系统会基于替换后的图像数据进一步处理,将每个像素数据映射为由不同数量个字节形成的比特序列进行传输。
21.对每个像素数据的映射过程中,系统会先读取像素数据的取值。接着根据预设在系统中多个区间,判断该像素数据所属于的区间。接着获取所属区间对应的目标单元数量,目标单元数量用于确定将像素数据转化成由目标单元数量个字节形成的比特序列。其中,当像素数据的取值处于0至63中时,目标单元数量为1;当像素数据的取值处于64至16447中时,目标单元数量为2;当像素数据的取值处于16448至4210751中时,目标单元数量为3;当像素数据的取值处于4210752至1077952575中时,目标单元数量为4。确定好目标单元数量后,系统通过目标单元数量,获取预设在系统中的目标单元数量所对应的像素数据的偏移量。其中,目标单元数量为1像素数据的偏移量为0;目标单元数量为2像素数据的偏移量为16320;目标单元数量为3像素数据的偏移量为8372160;目标单元数量为4像素数据的偏移量为3217014720。将像素数据的像素值加上偏移量得到映射后比特序列所对应数值,然后将偏移数据用二进制序列表示,得到比特序列。最后系统会将每个像素数据所对应的比特序列以比特流的方式依次进行网络传输。
22.主治医生所在的客户端上,系统在接收到放射科医生端传输过来的比特流数据时,系统会先获取一个字节长度的比特数据,根据指定的比特位确定比特序列包括的字节数。其中,比特序列中第一个一字节长度的比特数据的最高两位比特位为指定比特位,当指定比特位为00时,即该比特数据所表示的数值在0至63之间时,所述比特序列的的目标单元数量为1,由一个字节形成;当指定比特位为01时,即该比特数据所表示的数值在64至127之间时,所述比特序列的的目标单元数量为2,由两个字节形成;当指定比特位为10时,即该比特数据所表示的数值在128至191之间时,所述比特序列的的目标单元数量为3,由三个字节形成;当指定比特位为11时,即该比特数据所表示的数值在192至255之间时,所述比特序列的的目标单元数量为4,所述比特序列由四个字节形成。当系统比特序列的由两个字节以上的比特数据组成时,系统继续从比特流中获取对应数量的字节,并将这些字节依照获取的顺序依次拼接,得到比特序列。其中,先获得的字节位于比特序列的高位。接着,系统会根据比特序列对应的目标单元数量,获取偏移量,然后将所述比特序列对应的值减去偏移量,得到像素数据。
23.通过比特流数据得到像素数据对应的比特序列后,系统会继续获取映射序列,并调换映射序列中每个键值对的键和值。接着将图像数据中每个像素数据的与映射序列中的键值对中的键进行比较,当像素数据与键值对中的键值相同时,则将该像素值替换为键值对中的值,至到所有的像素数据都执行完成上述步骤。此时,系统会根据每个像素数据的生成图像,并显示在主治医生端的显示界面上。
24.以上所述仅为本说明书提供的一个场景示例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
25.本说明书实施方式提供一种图像数据处理系统。所述图像数据处理系统可以包括客户端和服务器。所述客户端可以是具有网络访问能力的电子设备。具体的,例如,客户端可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智
能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
26.请参阅图3,本说明书实施方式提供了一种图像数据处理方法,所述方法包括以下步骤。
27.步骤s110:基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间;其中,所述预设区间表示像素数据的取值范围;其中,不同预设区间对应的单元数量不同;所述目标预设区间对应的单元数量为目标单元数量。
28.在本实施方式中,根据像素数据的取值,可以确定所述目标单元数量,从而根据目标单元数量对像素数据进一步处理。
29.所述图像数据表示图像的信息,可以是图像的像素数据,也可以包括图像的属性,例如分辨率、通道数、饱和度、位置信息以及生成时间等信息。所述图像数据表示的可以是灰度图,也可以是彩色图像,还可以是二值图。当然,所述图像数据所表示图像的深度并无限定,具体的,可以是8,也可以是16。此外,所述图像数据的格式也可以是任意格式,可以是jpg格式、bmp格式等常见的图像格式,也可以是raw格式、dicom格式等应用在特定领域的图像格式。
30.所述像素数据为所述图像数据中的各个像素的信息,可以包括所述图像中每个像素的像素值,也可以是部分像素的像素值。所述像素数据可以是通过像素矩阵呈现,也可以记录在一维向量中,还可以是记录在多维度的张量中。其中,所述像素数据可以由多个比特位表示,具体的,例如所述像素数据可以由8位比特位表示,也可以由16位比特位表示。当所述像素数据由8位比特位表示时,所述像素数据的取值的范围可以为0至255,当所述像素数据由16位比特位表示时,所述像素数据的取值范围可以为0至65535。在一些实施方式中,所述像素数据也可以是对图像数据的原始像素数据经过编码后的数据,例如,每个像素数据的像素值是在原始像素值基础上加上某一个固定值得到的,或者,像素数据的像素值是根据一个对应关系集合,将原始像素替换成对应关系集合中对应的值得到的。
31.所述预设区间表示一组数值的取值范围。其中,所述预设区间可以是连续的,也可以是不连续整数。例如,不连续的预设区间可以为0至63以及127至255。所述多个预设区间中所有整数的集合包含要处理的图像数据的像素数据所构成的集合。所述预设区间可以是服务器中预先存储好的,也可以是图像数据处理过程中实时计算得到的。
32.图像数据处理中,根据像素数据的取值,可以确定该值所属于的预设区间,该预设区间为目标预设区间。从而可以确定对应像素数据的目标单元数量。所述目标单元数量表示目标预设区间对应的单元数量。当不同的像素数据属于不同的预设区间时,这些像素数据所对应的目标单元数量也不同。但是,当不同的像素属于同一的预设区间时,那么这些像素所对应的目标单元数量相同。例如,有两个预设区间,第一个预设区间为0至127,对应目标单元数量为1,第二个预设区间为128至32895,对应的目标单元数量为2,当输入的像素数
据分别为64和10000时,其目标单元数量分别为1和2,当输入的像素数据为200和16383时,其分别对应的目标单元数量都为2。
33.步骤s120:将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列;其中,所述比特单元包括预设数量的比特位;以使所述比特序列的指定比特位表示所述目标单元数量。
34.确定目标单元数量后,将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列的过程,会将在服务器中通过同一类型存储的像素数据转化为包括不同比特位的比特序列,可以在保留像素数据信息的同时,丢弃同一类型存储时的一部分无效的比特位,减少像素数据占据的内存,达到压缩图像数据的效果。例如,一个14bit的图像,其中,取值为60和500的像素数据,在服务器中可以是通过uint16类型进行存储的,两个像素数据需要占用4个字节,即32个比特位。在一些实施方式中,将取值为60和500的像素数据映射成的比特序列包含的比特位数量可以分别是8个和16个。比起通过uint16类型进行存储的,减少了一个字节的空间。
35.所述比特单元基于预设数量的比特位形成,可以用于构成比特序列。所述比特单元的预设数量可以根据需求调整,可以是6个比特位,也可以8个比特位。其中,当预设比特位数量为8个时,一个比特单位为一个字节。比特单元可以表示一个数值,例如,当比特单元具有8个全为1的比特位时,所述比特单元表示的数值的二进制为1111 1111,十进制数为255;当比特单元具有8个全为0的比特位时,所述比特单元表示的二进制数为0,十进制数为0。
36.所述比特序列为通过至少一个比特单元形成的0、1序列。所述比特序列可以由一个比特单元表示,此时比特序列所包括的比特位数量为一个比特单元包括的比特位的数量。当然,比特序列也可以由多个比特单元构成,那么所述比特序列所包括的比特位数量等于所述多个比特单元包括的比特位数量之和。所述比特序列包括的多个比特单元时,不同比特单元具有的比特位数量可以是相同的,那么此时比特序列包括的比特位数量便为所述比特单元的比特位数量的整数倍。
37.在一些实施方式中,比特序列所包括的多个比特单元所具有的比特位数量也可以不同,可以预先确定比特序列中不同位置的比特单元的比特位数量。具体的,例如当比特序列包括一个比特单元时,第一个比特单元的比特位数量为8;当比特序列包括两个比特单元时,第一个比特单元的比特位数量为8,第二个比特单元的比特位数量为4;当比特序列包括三个比特单元时,第一个比特单元的比特位数量为8,第二个比特单元数量为4;第三个比特单元的比特位的数量为3。此处,所述第一、第二、第三个比特单元的顺序,可以是在比特序列中的先后顺序,可以是在比特流传输过程中比特单元被传输的先后顺序。
38.每个比特序列也可以表示一个数值。例如,一个由四个包括4个比特位的比特单元形成的比特序列,为0010 1010 1011 1101,所述比特序列表示的二进制数为10 1010 1011 1101,十进制为10941。
39.所述比特序列用于表示所述图像数据中的像素数据,其中,一个比特序列可以用于表示一个像素数据,也可以由多个比特序列共同表示一个像素数据。在一些实施方式中,一个比特序列还可以表示多个像素数据。
40.所述比特序列的指定比特位可以表示所述目标单元数量,所述目标单元数量为比
特序列包括的比特单元的数量。相应的,由于不同预设区间对应的单元数量不同,因此所述比特序列的指定比特位也能够确定所述比特序列所对应的像素数据所属于的预设区间。也就是说,目标单元数量、目标预设区间和指定比特位之间具有一一对应的关系。
41.所述比特序列的指定比特位可以用于表示所述目标单元数量,以便于在解码过程中,读取数据流时确定每个比特序列所包括的比特单元数量,并读取相应数量的比特单元构成比特序列。所述指定比特位可以只包括一个比特位,此时指定比特位至多可以表示包括了两种数量的比特单元的比特序列。具体的,例如,当指定比特位为0时,表示目标单元数量为2,比特序列由两个比特单元构成;当指定比特位为1时,表示目标单元数量为4,比特序列由四个比特单元构成。
42.当然,所述指定比特位也可以包括多个比特位,具体的,例如可以由两位比特位构成,当指定比特位为00时,表示目标单元数量为1,比特序列由一个比特单元构成;当指定比特位为01时,表示目标单元数量为2,比特序列由两个比特单元构成;当指定比特位为10时,表示目标单元数量为3,比特序列由三个比特单元构成;当指定比特位为11时,表示目标单元数量为4,比特序列由四个比特单元构成。在一些实施方式中,当指定比特位表示多个值时,例如两个比特位作为指定比特位时,指定比特位可以包括4个值。
43.所述指定比特位包括多个比特位时,各个比特位可以是相邻的,也可以是间隔的。例如,可以将比特序列的第一位和第二位作为指定比特位,也可以将比特序列的第一位和第三位作为指定比特位。当比特序列包括多个比特单元时,所述指定比特位可以是任意的比特单元的任意比特位。例如,当比特序列包括三个比特单元时,所述指定为可以是第一个比特单元的第一个比特位,也可以是第二比特单元的第二个比特位,还可以将第一个单元的全部比特位作为指定比特位。较优的,所述指定比特位可以是第一个比特单元中靠前的比特位,例如,可以将比特序列中第一个比特单元的前两个比特位作为指定比特位。
44.为使所述比特序列的指定比特位表示所述目标单元数量,可以预先确定具有该性质的比特序列与像素数据的对应关系,其中所述比特序列的指定比特位的取值和对应的目标单元数量以及比特单元包括的比特位数量已经确定。根据对应的关系,即可将所述像素数据映射成比特序列。例如,当比特单元包括8位比特位,且指定比特位为比特序列的第一个比特位,指定比特位为0表示比特序列包括一个比特单元,指定比特位为1表示比特序列包括两个比特单元的情况下,那么对应比特序列可以为0000 0000至0111 1111和1000 0000 0000 0000至1111 1111 1111 1111,所述比特序列的表示的值即为0至127和32768至65535。
45.将所述比特序列与像素数据建立关系的方法可以是根据比特序列所表示的数值自小到大对应到像素数据上,如像素数据为0的值可以对应到值为0的比特序列上面,像素数据为2的值可以对应到值为2的比特序列上面,像素数据为63的值可以对应到值为63的比特序列上面,像素数据为64的值可以对应到值为32768的比特序列上面。当然,在一些实施方式中,也可以将取值最小的像素数据,对应到数值最大的比特序列上,例如将取值为0的像素数据映射到取值为65535的比特序列上,将取值为1的像素数据映射到取值为65534的比特序列上。
46.在一些实施方式中,像素数据取值的个数会大于比特序列个数,此时则需要对比特单元的预设比特位数量或者指定比特位的数量进行调整。相应的,当比特序列的个数远
远大于像素数据取值的个数时,则可以适当调整,以保证比特序列的个数略高于或者等于像素数据取值的个数。
47.在一些实施方式中,也可以通过给像素数据添加指定比特位来构成比特序列。例如取值为64的像素数据可以对应到值为32830的比特序列上面,其中,64的二进制为0100 0000,32830对应的比特序列为1000 0000 0100000,即先将像素数据所对应的二进制高位补零,以使像素数据对应的二进制的比特位与指定比特位所对应的比特序列的比特位数量相等,然后再设置对应的指定比特位,例如对对应的比特位置1,得到比特序列。
48.当处理不同图像数据时,可以根据需要传输的图像数据的深度,对比特单元中比特位的数量、指定比特位、预设区间和对应的目标单元数量进行调整。例如,当要处理的图像深度是14bit时,像素数据便至多包括16384种不同的取值。在一些实施方式中,可以设置比特序列中的第一个比特位为指定比特位,比特单元数量设置为8。当指定比特位为0,目标单元数量为1时,比特序列由8个比特位构成,所表示的数值的范围为0至127;当指定比特位为1,目标单元数量为2时,比特单元由16个比特位构成,其所表示的数值的范围为32768至65535。此时对于14bit的图像数据中的像素数据,至多使用包括两个8位比特单元的比特序列即可表示,其中,有128种像素数据可以用8位比特单元构成。但是,如果设置比特序列中的第一个和第二个比特位为指定比特位时,当指定比特位为00,目标单元数量为1时,比特序列由8个比特位构成,所表示的数值的范围为0至63;当指定比特位为01,目标单元数量为2时,比特单元由16个比特位构成,其所表示的数值的范围为64至16447。此时对于14bit的图像数据中的像素数据,同样的,至多使用包括两个8位比特单元的比特序列即可表示,然而,只有64种像素数据可以用8位比特单元构成,比起前者,把相同的像素数据映射成将第一个和第二个比特位为指定比特位时会占用更多的空间。
49.在一些实施方式中,根据权利要求1所述的方法,所述基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间的步骤中,包括在所述像素数据属于第一预设区间的情况下,将所述目标数量确定为一个。或者,在所述像素数据属于第二预设区间的情况下,将所述目标数量确定为两个。或者,在所述像素数据属于第三预设区间的情况下,将所述目标数量确定为三个。或者,在所述像素数据属于第四预设区间的情况下,将所述目标数量确定为四个。
50.所述预设区间的范围和数量可以根据所述指定比特位、所述比特单元和所述预设区间对应的目标单元数量决定。当预设区间确定之后,便能根据像素数据所属于的预设区间,确定目标单元数量,然后基于所述目标单元数量,将所述像素数据根据预设的方法映射成能够使得指定比特位表示目标单元数量的比特序列。
51.例如,比特单元包括8个比特位,当指定比特位为比特序列中第一个第二个比特单元的第一个和第二个比特位时,所述预设区间数量可以为4,此时第一预设区间对应的目标单元数量可以设置为1,第二预设区间对应的目标单元数量可以设置为2,第三预设区间对应的目标单元数量可以设置为3,第四预设区间对应的目标单元数量可以设置为4。
52.那么属于第一预设区间的像素数据可以由首位为00、具有8个比特位的比特序列的映射得到。此时该比特序列所表示的数值的范围为0000 0000至0011 1111,即0至63。这些比对序列所能对应的像素数据至多可以包括64个。在一些实施方式中,所述比特序列可以分别用来对应取值为0至63的像素数据,即第一预设区间的范围可以是为0至63。
53.属于第二预设区间的像素数据可以由首位为01、具有16个比特位的比特序列映射得到。此时该比特序列所表示的数值的范围为0100 0000 0000 0000至0111 1111 1111 1111,即16384至32767。这些比对序列所能对应的像素数据就至多可以包括16384个。在一些实施方式中,所述比特序列可以分别用来对应64至16447的像素数据,即第一预设区间的范围可以是为64至16447。
54.属于第三预设区间的像素数据可以由首位为10、具有24个比特位的比特序列映射得到。此时该比特序列所表示的数值的范围为0100 0000 0000 0000 0000 0000至0111 1111 1111 1111 1111 1111,即8388608至12582911。这些比对序列所能对应的像素数据就至多可以包括4194304个。在一些实施方式中,所述比特序列可以分别用来对应16448至4210751的像素数据,即第一预设区间的范围可以是为16448至4210751。
55.属于第四预设区间的像素数据可以由首位为11、具有32个比特位的比特序列映射得到。此时该比特序列所表示的数值的范围为0100 0000 0000 1100 0000 0000 0000 0000至1111 1111 1111 1111 1111 1111 1111 1111,即3221225472至4294967295。这些比对序列所能对应的像素数据就至多可以包括1073741824个。在一些实施方式中,所述比特序列可以分别用来对应4210752至1077952575的像素数据,即第一预设区间的范围可以是为4210752至1077952575。
56.当所述多个预设区间和对应的目标单元数量确定后,根据像素值的取值所属于的预设区间,即可确定对应像素值的目标单元数量。当所述预设区域对应的目标单元数量过大时,虽然每个预设区域能够对应较多数量的比特序列,但是所对应的比特序列的比特位会过多,同时也有可能因比特序列的个数远大于像素数据的个数,而造成比特位的浪费。
57.为了能够使得所述像素数据在处理过程中,将单个像素数据转化为较少的比特单元以节约空间,所述目标单元数量可以是较小的连续的正整数,例如第一个预设区间对应的目标单元数量为1,第二个预设区间对应的目标单元数量为2,第三个预设区间对应的目标单元数量为3,第四个预设区间对应的目标单元数量为4。
58.在一些实施方式中,所述第一预设区间、所述第二预设区间、所述第三预设区间和所述第四预设区间,均包括偶数个整数值。
59.当目标单元数量和指定比特位确定时,比特序列可以表示的值是有限的,较优的,可以将有限个比特序列均建立与像素数据的对应关系。例如,当比特序列可以表示的范围为0000 0000至0111 1111时,那么比特序列对应的值为0至127,此时将0至127对应的比特序列都与像素数据建立对应的关系,此时每个预设区间包括的整数的个数都是偶数个。
60.在一些实施方式中,将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列的步骤中,包括确定所述像素数据的偏移量,基于所述偏移量计算所述像素数据的比特序列。其中,所述比特序列具有所述目标单元数量个比特单元。
61.所述偏移量用于将所述像素数据映射成比特序列。其中,所述偏移量可以是服务器中预先存储的,也可以是根据所述指定比特位、比特单元包括的比特位数量、预设区间以及预设区间对应的目标单元数量,计算得到的。基于所述偏移量,计算所述像素数据所对应的比特序列。
62.例如,当比特单元包括8位比特位,指定比特位为比特序列中的第一个和第二个比特位时。目标单元数量为1时,指定比特位为00。此时比特序列的值为0至63,可以分别对应
取值为0至63的像素数据,即目标单元数量为1时,偏移量为0。
63.目标单元数量为2时,指定比特位为01。此时比特序列的值为16384至32762,可以分别对应取值为64至16447的像素数据,即目标单元数量为2时,偏移量为16320。
64.目标单元数量为3时,指定比特位为10。此时比特序列的值为8388608至12582911,可以分别对应取值为16448至4210751的像素数据,即目标单元数量为3时,偏移量为8372160。
65.目标单元数量为4时,指定比特位为11。此时比特序列的值为3221225472至4294967295,可以分别对应取值为4210752至1077952575的像素数据,即目标单元数量为4时,偏移量为3217014720。
66.在一些实施方式中,基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间的步骤前,还包括以下步骤。
67.步骤s210:获取所述图像数据的映射序列;其中,所述映射序列中包括多个与所述图像数据的像素数据对应的映射像素数据;其中,所述映射像素值为不超过所述像素数据中最大像素值的正整数;其中,所述图像数据中较高重复频率的像素数据的映射像素值小于较低重复频率的像素数据的映射像素值。
68.步骤s220:基于所述映射序列,将所述像素数据替换成对应的映射像素数据。
69.一些图像数据的像素数据会包含负值的像素数据,此时可以从最小的负值开始依次建立与所述比特序列的对应关系,但是这样会导致将所述像素数据映射至比特序列的计算方法相对复杂。因此通过映射序列将像素数据全部替换成由正整数组成的映射像素数据,来简化计算。
70.此外,将像素数据映射为比特序列的过程中,为了便于计算,在一些实施方式中,会随着像素数据取值的不断增大,会依次与对应的数值不断增大的比特序列建立对应关系。例如,将取值为1的像素数据映射成0000 0001,将取值为2的像素数据映射成0000 0010,将取值为65映射成0100 0000 0000 0001等。其中,取值较小的像素数据所对应的比特序列的比特位数量会少于较大数值所对应的比特序列的比特位数量。
71.当一些图像中经常出现的像素数据的取值都是较大的数值时,而很少出现的像素数据的取值比较小时,则将像素数据映射成比特序列仍然占用较多的内存。因此可以映射序列,将所述像素数据分别进映射成所述映射像素值,目的是将较长出现的像素值,映射成较小的数值,从而编码成占用较少比特位的比特序列时。其中,图像数据中较高重复频率的像素数据的映射像素值小于较低重复频率的像素数据的映射像素值。
72.所述映射序列包括所述像素数据和对应的映射像素数据。映射序列可以是根据所述图像数据,实时计算得到的,也可以是存储在服务器内部,根据历史统计得到的。具体的,例如,服务器会统计历史中不同类别的图像数据中不同像素数据出现的频次,并根据历史统计建立对应类别图像数据的映射序列,映射序列中,所述类别的图像数据中出现频次较高的像素数据会映射成较小的映射像素值。在对图像数据处理时,可以根据所述图像的类别获取服务器中预先存储的映射序列。当然,也可以实时统计所述图像数据中的像素数据,然后构成映射序列。
73.在一些实施方案中,所述获取所述图像数据的映射序列的步骤中包括去除所述像素数据中重复的像素数据得到像素数据集合。为所述像素数据集合中的像素数据分配映射
像素值;其中,所述映射像素值不超过所述像素数据中最大像素值。
74.在一些映射序列中,所述像素数据可能存在同一个像素数据对应多个映射像素数据的情况,这样会造成映射像素数据的数量相对较多,取值会相对较大。在一些实施方式中,较大的数值的像素数据往往会映射成包括较多比特位的比特序列。因此去除所述像素数据中重复的像素数据,并通过去重后的像素数据建立与映射像素数据的对应关系,可以更好地减小将所述像素数据替换成对应的映射像素值后所占用的有效比特位数量。
75.此外,在一些图像数据中,并不会出现全部的像素信息,部分未出现的像素数据可能对应的比特序列包括的比特位数更少,通过映射序列将像素数据映射成所述部分未出现的像素数据,也可以降低像素数据的占据的空间。例如,一个14bit的图像的像素数据仅有个两个取值,分别为16382和16383。在一些实施方式中,将所述14bit的图像转化为比特序列时,所述像素数据由于取值相对较大,会被映射成具有多个比特单元的比特序列,而将所述像素数据分别映射到1和2后,便能够映射成具有一个比特单元的比特序列,从而降低了像素数据编码后占用的比特位数量。
76.为所述像素数据集合中的像素数据分配映射像素值,可以是随机取出像素数据集合中的像素数据,然后分别建立与从1开始的正整数的对应关系,直到像素数据集合中所有的像素数据均被取出。当然,分配映射像素值的方法,还可以是在所述不超过所述像素数据中最大像素值正整数构成的正整数集合中,取出与像素数据集合中个数相同的正整数建立映射像素数据集合,然后分别对像素数据集合中的像素数据和映射像素数据集合中的映射像素数据集合排序,根据排序结果依次建立像素数据和映射像素数据的对应关系,构成映射集合。
77.在一些实施方式中,为所述像素数据集合中的像素数据分配映射像素值的步骤中,包括:按照所述图像数据中像素数据重复出现的频次,将所述像素数据集合中的像素数据排序,得到像素序列。依次建立将所述像素序列的像素数据与所述映射像素值的对应关系,以实现所述图像数据中较高重复频率的像素数据的映射像素值小于较低重复频率的像素数据的映射像素值。
78.将所述图像数据中重复出现的频次较高的像素数据替换为较小的映射像素数据,则可以较好的减小图像数据有效比特位的数量。例如,图像数据的深度为14,当所述图像数据中频次出现最高的像素数据出现了100次,该像素数据的取值为16383,对应的比特序列包括了16个比特位。将该像素数据替换成取值为1的映射像素数据后,对应的比特序列只需要8个比特位,则该像素数据替换后可以减小800个比特位的存储空间。当然,即使取值为1的像素数据可能会替换成大于1的映射像素数据,但是由于其出现的频次相对较小,整体而言图像数据的像素数据占据的比特位数量还是减小的。
79.在一些实施方式中,所述按照所述像素数据集合中的像素数据在所述图像数据中重复出现的频次,将所述像素数据集合中的像素数据排序的步骤中,还包括:计算所述像素数据集合中的像素数据在所述图像数据中重复出现的频次与所述像素数据所表示二进制的有效位的数量的加权得分。根据所述得分对,将所述像素数据集合中的像素数据排序,得到像素序列。
80.只根据像素数据在图像中出现的频次对所述像素数据集合进行排序,考虑得并不充分,还可以在排序过程中加入像素数据所表示二进制的有效位的数量作为排序的参考指
标。在一些实施方式中,二进制的有效位的数量较多的像素数据,往往会映射成具有较多比特单元的比特序列。因此,通过较小的映射像素值替换所述二进制的有效位的数量较多的像素数据也可以减小像素数据占用的比特位的数量。例如,可以根据历史经验得到像素数据所表示二进制的有效位的数量和像素数据出现的频次各自对应的权重,计算加权得分,通过加权得分对像素数据进行排序。当然,对像素数据排序时,也可以根据像素数据的取值和频次计算得分。在计算像素数据出现的频次和二进制有效位的数量的加权得分前,也可以先基于像素数据的取值,确定像素数据的目标单元数量,然后根据目标单元数量和像素数据的出现的频次计算加权得分并排序。在一些实施方式中,也可以基于更多的维度计算加权得分,例如,可以考虑像素数据的取值范围、频次、二进制的有效位、像素数据取值的正负以及目标单元数量等。
81.请参阅图4,本说明书实施方式提供了一种图像数据处理方法,所述方法包括以下步骤。
82.步骤s310:获取比特流数据;其中,所述比特流数据包括多个比特单元;其中,所述比特单元包括预设数量的比特位。
83.获取比特流数据是为了将所述比特流数据解码成像素数据。所述比特流数据为一串二进制信息,包括了多个比特单元。其中,所述比特单元的比特位数是确定的。所述比特流数据可以包括协议帧头和数据部分,也可以只包括数据部分。比特流数据的数据部分用于记录像素信息。
84.步骤s320:基于所述比特单元的指定比特位确定目标单元数量;其中,所述目标单元数量为对应一个像素数据的比特单元的数量。
85.将所述比特流数据转化为像素数据之前,需要对比特流数据进行处理以便于确定每一个像素数据对应的比特序列。所述比特序列时由目标单元数量个比特单元组成的。在比特流数据处理过程中,可以根据指定比特位的状态,来确定目标单元数量。例如,在编码过程中预先定义了指定比特位与目标单元数量的对应关系。当指定比特位为0时,目标单元数量为1,当指定比特位为1时,目标单元数量为2。当获取到指定比特位的值后,便可以根据所述对应关系,确定目标单元数量。指定比特位与目标单元数量的对应关系可以是记录在比特流数据中的,可以在数据传输过程中额外传输的,也可以是预设在服务器和终端中的,当然也可以根据预设的算法计算得到的。
86.在一些实施方式中,也可以根据指定比特位所在的比特单元对应的数值确定目标单元数量,例如,所述指定比特位为比特序列中第一个比特单元的第一个和第二比特位且比特单元包括8个比特位之时,如果指定比特位已确定,所述比特单元对应的数值范围也可以确定。具体的,如果指定比特位为00,那么所述第一个比特单元的取值的范围则为0000 0000至0011 1111,即0至63。如果指定比特位为01,那么所述第一个比特单元的取值的范围则为0100 0000至0111 1111,即64至127。如果指定比特位为10,那么所述第一个比特单元的取值的范围则为1000 0000至1011 1111,即128至191。如果指定比特位为11,那么所述第一个比特单元的取值的范围则为1100 0000至1111 1111,即192至255。因此,当一个比特单元对应的数值确定时,根据数值所属于取值区间,便可以确定指定比特位的状态,即确定目标单元数量。
87.当确定目标单元数量后,便可以从比特流数据中取出目标单元数量个比特单元,
确定一个像素数据所对应的包括目标单元数量个比特单元的比特序列。重复上述操作便可以确定所有像素数据对应的比特序列,从而将所述目标单元数量个比特单元转换成对应的像素数据。
88.步骤s330:将所述比特流数据中所述目标单元数量个比特单元转换成对应的像素数据。
89.确定了包括目标单元数量个比特单元的比特序列后,就可以对所述比特序列处理,得出对应的像素数据。对比特序列处理的方式,可以基于编码方式确定。例如,编码过程中,比特序列为所述像素数据加上一个偏移量得到的,那么便可以将所述比特序列对应的数值减去所述偏移量得出像素数据。当然,在一些实施方式中,所述比特序列也可能是对所述像素数据的二进制数值添加指定比特位得到的。例如,取值为64的像素数据对应16个比特位的比特序列,且第一位和第二位为指定比特位时,将64对应的二进制1000000加上指定比特位并通过在高位补0,构成比特序列0100 0000 0100 0000。那么便可以从所述比特序列中去除所述指定比特位,或者将所述指定比特位置零,然后通过去除指定比特位后的比特序列得到像素数据。
90.在一些实施方式中,所述指定比特位处于所述目标单元数量个比特单元中的第一个比特单元内。所述第一个比特单元为比特流数据中,排序在所述目标单元数量个比特单元中的第一个。也就是说,在读取比特流数据时,所述第一个比特单元时最先被读取得到的。如果指定比特位处于所述目标单元数量个比特单元中的第二个,则表明在比特流数据中确定比特序列的确定目标单元数量时,读取时要获取两个比特单元。在一些实施方式中,这也意味着比特序列至少由两个比特单元形成,而有一部分像素数据实际上只需要包括一个比特单元的比特序列即可表示,会在一定程度上造成比特位的浪费。同时,计算也会更加复杂。因此,所述指定比特位处于所述目标单元数量个比特单元中的第一个比特单元内时,当获取到第一个比特单元后,发现目标单元数量为1时,即可根据所述一个比特单元进行解码。
91.在一些实施方式中,所述指定比特位至少包括所在比特单元的首个比特位。指定比特位在比特单元中的位置可以是任意的。但是,当指定比特位不是比特单元的首个比特位时,当指定比特位确定后,比特单元所对应的数值的取值范围便不是连续的。例如,一个8位的比特单元中,第二个比特位为指定比特位。指定比特位为1时,比特单元对应的数值取值范围为0100 0000至0111 1111以及1100 0000至1111 1111。这会提高构建将像素数据映射到比特序列的计算方法的复杂度。因此,当指定比特位至少包括所在比特单元的首个比特位时,更有利于将比特单元对应的数值取值范围确定在一个范围内。当指定比特位为多个比特位时,指定比特位可以是所在比特单元中排序靠前的相应数量的比特位。
92.在一些实施方式中,所述目标单元数量个比特单元在所述比特流数据中连续排序。在所述比特流数据中,同属于一个比特序列的目标单元数量个比特单元可以是不连续的。例如,所有比特序列中第一个比特单元连续存放,具有多个比特单元的比特序列中第二个比特单元连续存放,具有三个以上比特单元的比特序列中第三个比特单元连续存放等。
93.当所述目标单元数量个比特单元在所述比特流数据中连续排序时,更加便于在所述比特流数据中提取出不同像素数据所对应的具有目标单元数量个比特单元的比特序列。此外,在比特流数据中,读取完一个比特序列后,在读取下一个比特序列的同时,终端便能
够对已经得到比特序列进行处理,将其转化成像素数据,加快解码的速度。
94.在一些实施方式中,将所述比特流数据中所述目标单元数量个比特单元转换成对应的像素数据包括根据所述目标单元数量,确定包括目标单元数量个比特单元的比特序列的偏移量;基于所述偏移量,计算所述比特序列所对应的像素数据。
95.比特序列与像素数据具有对应关系,通过偏移量,可以将所述比特序列转化为像素数据。不同目标单元数量的比特序列对应的偏移量不同。所述偏移量可以是终端中已经存储好的,也可以是存在比特流数据中的,还可以是实时计算得到的。在将所述比特流数据中的包括目标单元数量个比特单元的比特序列转化为对应的像素数据的过程中,若指定比特位的个数和位置、比特单元包括的比特位个数和目标单元数量都已经确定,则可以根据编码过程中,像素数据和比特序列的对应关系,计算出对应的偏移量。基于所述的偏移量和比特序列,便能够计算出对应的像素数据。
96.在一些实施方式中,所述将所述比特序列解码为图像数据的步骤后还包括获取所述图像数据的映射序列;其中,所述映射序列中包括多个与所述图像数据的像素数据对应的映射值。基于所述映射序列,将所述像素数据替换成对应的映射值。
97.图像数据处理过程中,为了进一步降低编码后的比特序列占据的比特位数量。在基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间的步骤前,会将所述图像数据中的像素数据替换成一个具有对应关系的正整数。因此,在对比特流数据获得到像素数据后,还需要依照映射序列将像素数据进行还原。其中,所述映射序列中包括多个与所述图像数据的像素数据对应的映射值。在一些实施方式中,所述映射值可以表示为图像的初始像素数据。所述映射序列,可以是预设在终端内部的,例如,对不同类别图像数据的历史统计得到的。当然,所述映射序列也可以是由服务器端得到的,通过所述比特流数据传送得到的。
98.在一些实施方式中可以提供一种图像数据处理装置1000,包括:区间确定模块模块1100和编码模块1200。
99.区间确定模块1100,用于基于所述图像数据的像素数据的取值,在多个预设区间中确定所述像素数据属于的目标预设区间;其中,所述预设区间表示像素数据的取值范围;其中,不同预设区间对应的单元数量不同;其中,所述目标预设区间对应的单元数量为目标单元数量。
100.编码模块1200,用于将所述像素数据映射成所述目标单元数量个比特单元形成的比特序列;其中,所述比特单元包括预设数量的比特位;以使所述比特序列的指定比特位表示所述目标单元数量。
101.关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
102.在一些实施方式中可以提供一种图像数据处理装置2000,包括:获取模块2100、数量确定模块2200和解码模块2300。
103.获取模块2100,用于获取比特流数据。其中,所述比特流数据包括多个比特单元。
其中,所述比特单元包括预设数量的比特位。
104.数量确定模块2200,用于基于所述比特单元的指定比特位确定目标单元数量。其中,所述目标单元数量为对应一个像素数据的比特单元的数量。
105.解码模块2300,用于将所述比特流数据中所述目标单元数量个比特单元转换成对应的像素数据。
106.关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
107.在一些实施方式中可以提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述实施方式中的方法步骤。
108.在一些实施方式中可以提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述实施方式中的方法步骤。关于图像数据处理装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述图像数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
109.在一些实施方式中可以提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述实施方式中的方法步骤。
110.在一些实施方式中可以提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述实施方式中的方法步骤。
111.本领域普通技术人员可以理解实现所述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如所述各方法的实施方式的流程。其中,本说明书所提供的各实施方式中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
112.应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
113.本说明书多个实施方式之间,采用递进的方式进行描述。不同的实施方式着重于描述相较于其它实施方式不相同的部分。所属领域技术人员在阅读本说明书之后,可以获知本说明书中的多个实施方式,以及实施方式揭示的多个技术特征,可以进行更多种的组
合,为使描述简洁,未对所述实施方式中的各个技术特征所有可能的组合都进行描述。然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
114.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
115.以上所述仅为本案的实施方式而已,并不用于限制本案的权利要求保护范围。对于本领域技术人员来说,本案可以有各种更改和变化。凡在本案的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本案的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1