发明内容
本发明的主要目的是提供一种序列索引号的生成方法、序列索引号的生成装置及计算机可读存储介质,旨在通过一次遍历即完成对整个“Z扫描”序列索引号的生成,防止出现堆栈溢出现象,从而提高系统稳定性。
本发明提供一种序列索引号的生成方法,所述序列索引号的生成方法包括以下步骤:
获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值;
根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息;
根据所述坐标位宽信息,生成与所述元素对应的序列索引号。
优选地,根据所述坐标位宽信息,生成与所述元素对应的序列索引号的步骤包括:
获取所述元素的坐标最大位宽值n;
将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号;
将所述第一预设进制编码的序列索引号转为第二预设进制编码的序列索引号。
优选地,所述获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值的步骤包括:
获取所述矩阵中的元素的横坐标和纵坐标;
分别将所述横坐标和纵坐标转为第一预设进制编码的横纵坐标值。
优选地,所述将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号的步骤包括:
转为第一预设进制编码的横纵坐标,形成所述第一预设进制编码的序列;
按照先纵坐标后横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
优选地,所述获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值的步骤包括:
获取所述矩阵中的元素的横坐标、纵坐标以及竖坐标;
分别将所述横坐标、纵坐标以及竖坐标转为第一预设进制编码的横纵竖坐标值。
优选地,所述将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号的步骤包括:
转为第一预设进制编码的横纵竖坐标,形成所述第一预设进制编码的序列;
按照先竖坐标后纵坐标和横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
优选地,所述第一预设进制为二进制,所述第二预设进制为十进制。
为实现上述目的,本发明还提供一种序列索引号的生成装置,所述序列索引号的生成装置包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的序列索引号的生成程序,所述序列索引号的生成程序被所述处理器执行时实现如上所述的序列索引号的生成方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有序列索引号的生成程序,所述序列索引号的生成程序被处理器执行实现如上所述的序列索引号的生成方法的步骤。
本发明提供的序列索引号的生成方法、序列索引号的生成装置及计算机可读存储介质,通过获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值,然后根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息,最后根据所述坐标位宽信息,生成与所述元素对应的序列索引号。如此,通过一次遍历即完成对整个“Z扫描”序列索引号的生成,即可防止出现堆栈溢出现象,从而提高系统稳定性。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,所述序列索引号的生成装置包括:处理器1001,例如CPU,用户接口1002,存储器1003,通信总线1004。其中,通信总线1004用于实现这些组件之间的连接通信。用户接口1002可以包括显示屏(Display)、输入单元比如遥控器。存储器1003可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的序列索引号的生成装置结构并不构成对序列索引号的生成装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1003中可以包括操作系统、网络通信模块、用户接口模块以及序列索引号的生成程序。
在图1所示的序列索引号的生成装置中,用户接口1002主要用于接收用户通过触摸显示屏或在输入单元输入指令触发用户指令;处理器1001用于调用存储器1003中存储的序列索引号的生成程序,并执行以下操作:
获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值;
根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息;
根据所述坐标位宽信息,生成与所述元素对应的序列索引号。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
获取所述元素的坐标最大位宽值n;
将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号;
将所述第一预设进制编码的序列索引号转为第二预设进制编码的序列索引号。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
获取所述矩阵中的元素的横坐标和纵坐标;
分别将所述横坐标和纵坐标转为第一预设进制编码的横纵坐标值。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
转为第一预设进制编码的横纵坐标,形成所述第一预设进制编码的序列;
按照先纵坐标后横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
获取所述矩阵中的元素的横坐标、纵坐标以及竖坐标;
分别将所述横坐标、纵坐标以及竖坐标转为第一预设进制编码的横纵竖坐标值。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
转为第一预设进制编码的横纵竖坐标,形成所述第一预设进制编码的序列;
按照先竖坐标后纵坐标和横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
进一步地,处理器可以调用存储器中存储的序列索引号的生成程序,还执行以下操作:
所述第一预设进制为二进制,所述第二预设进制为十进制。
参照图2,在第一实施例中,本发明提供一种序列索引号的生成方法,包括:
步骤S1、获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值;
本实施例中,所述第一预设进制包括二进制、八进制、十进制、十六进制以及二十四进制等,本优选实施例中,所述第一预设进制可以选择二进制方式。例如,当获取矩阵中某一元素的坐标为P(4,2)时,则将其转为第一预设进制如二进制编码时,所述坐标值为P(100,010)。
步骤S2、根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息;
本实施例中,如上举例,当将坐标转为第一预设进制编码的坐标值如:P(100,010)时,获取该元素的坐标位宽信息,主要包括坐标的最大位宽值,当然,还可以包括各位上的数值等信息。
步骤S3、根据所述坐标位宽信息,生成与所述元素对应的序列索引号。
本实施例中,可以根据元素的坐标位宽信息,如坐标的最大位宽值、各位上的数值等信息,按照各分坐标的预设顺序生成与所述元素对应的序列索引号。具体地,在所述坐标为二维坐标时,所述各分坐标的预设顺序可以为先纵坐标后横坐标的顺序,也可以为先横坐标后纵坐标的顺序;在所述坐标为三维坐标时,所述各分坐标的预设顺序可以为先竖坐标后纵坐标和横坐标的顺序,还可以为先竖坐标后横坐标和纵坐标的顺序,还可以为先纵坐标后横坐标和竖坐标的顺序,还可以为先纵坐标后竖坐标和横坐标的顺序,还可以为先横坐标后纵坐标和竖坐标的顺序,还可以为先横坐标后竖坐标和纵坐标的顺序。
当然,所述序列索引号可以直接为第一预设进制编码,为了便于查找和索引,所述序列索引号可以转为常用的第二预设进制编码如十进制编码。
本实施例中,只需对矩阵的各元素进行一次遍历即可以完成整个“Z扫描”序列的生成,相对于现有方案,本发明的运算速度更快,且空间复杂度极大的降低。
本发明提供的序列索引号的生成方法,通过获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值,然后根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息,最后根据所述坐标位宽信息,生成与所述元素对应的序列索引号。如此,通过一次遍历即完成对整个“Z扫描”序列索引号的生成,即可防止出现堆栈溢出现象,从而提高系统稳定性。
在第二实施例中,参照图3,基于第一实施例,所述步骤S3包括:
步骤S31、获取所述元素的坐标最大位宽值n;
本实施例中,假设矩阵中的元素的坐标值为P(100,010),则该元素的坐标最大位宽值n=3。应理解,上述坐标值P以及最大位宽值n的具体值仅用于帮助理解本发明方案,并不起限定作用。
步骤S32、将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号;
本实施例中,针对二维坐标、三维坐标甚至多维坐标可以根据各分坐标设置不同的预设排列顺序,具体如上所述,此处不再赘述。将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,从而生成与所述元素对应的第一预设进制编码的序列索引号。
步骤S33、将所述第一预设进制编码的序列索引号转为第二预设进制编码的序列索引号。
本实施例中,所述第一预设进制优选为二进制,所述第二预设进制优选为便于查找和索引的十进制。当然,在其他实施例中,也可以根据实际需要合理设置第一和第二预设进制的具体进制方式。
在第三实施例中,参照图4,基于第二实施例,所述步骤S1包括:
步骤S11、获取所述矩阵中的元素的横坐标和纵坐标;
步骤S12、分别将所述横坐标和纵坐标转为第一预设进制编码的横纵坐标值。
本实施例中,所述坐标为二维坐标,也即所述矩阵中的元素的坐标包括横坐标和纵坐标。在获取到所述横坐标和纵坐标的具体数值时,将所述横坐标和纵坐标的具体数值分别转为第一预设进制编码的横纵坐标值。例如,当获取矩阵中某一元素的坐标为P(4,2)时,则将其转为第一预设进制如二进制编码时,所述坐标值为P(100,010)。
在第四实施例中,参照图5,基于第三实施例,所述步骤S32包括:
步骤S321、转为第一预设进制编码的横纵坐标,形成所述第一预设进制编码的序列;
步骤S322、按照先纵坐标后横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
本实施例中,转为第一预设进制编码的横纵坐标,形成所述第一预设进制编码的序列,如序列(100,010)。
假设矩阵的某一元素坐标为(x,y),将横纵坐标x,y分别转为第一预设进制如二进制编码,记为bx,by后,取n为bx,by的最大位宽,设定bs为by,bx的交错位流,则可表示为:
bs=by[n-1]bx[n-1]...by[0]bx[0];
举一具体实例,如图6所示,该8*8矩阵为Z扫描生成的序列索引号。当某一元素的坐标为P(4,2)时,则将其转为第一预设进制如二进制编码时,所述坐标值为P(100,010),在其按照上述公式进行排列时,得到bs=011000。
最后,将所述第一预设进制编码的序列索引号转为第二预设进制编码的序列索引号,如将所述第一预设进制如二进制转为便于查找和索引的所述第二预设进制如十进制,则最终的序列索引号为bs的十进制表示值。也即bs=011000=24,对应图6中的序列索引号24。
在第五实施例中,参照图7,基于第二实施例,所述步骤S1包括:
步骤S13、获取所述矩阵中的元素的横坐标、纵坐标以及竖坐标;
步骤S14、分别将所述横坐标、纵坐标以及竖坐标转为第一预设进制编码的横纵竖坐标值。
本实施例中,所述坐标为三维坐标,也即所述矩阵中的元素的坐标包括横坐标、纵坐标和竖坐标。在获取到所述横坐标、纵坐标和竖坐标的具体数值时,将所述横坐标、纵坐标以及竖坐标的具体数值分别转为第一预设进制编码的横纵竖坐标值。例如,当获取矩阵中某一元素的坐标为P(4,2,2)时,则将其转为第一预设进制如二进制编码时,所述坐标值为P(100,010,010)。
在第六实施例中,参照图8,基于第五实施例,所述步骤S32包括:
步骤S323、转为第一预设进制编码的横纵竖坐标,形成所述第一预设进制编码的序列;
步骤S324、按照先竖坐标后纵坐标和横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
本实施例中,转为第一预设进制编码的横纵竖坐标,形成所述第一预设进制编码的序列,如序列(100,010,010)。
假设矩阵的某一元素坐标为(x,y,z),将横纵坐标x,y,z分别转为第一预设进制如二进制编码,记为bx,by,bz后,取n为bx,by,bz的最大位宽,设定bs为bz,by,bx的交错位流,则可表示为:
bs=bz[n-1]by[n-1]bx[n-1]...bz[0]by[0]bx[0]。
此处不再具体举实例,方法同上。
本发明还提供一种序列索引号的生成装置,所述序列索引号的生成装置包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的序列索引号的生成程序,所述序列索引号的生成程序被所述处理器执行时实现如上所述的序列索引号的生成方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有序列索引号的生成程序,所述序列索引号的生成程序被处理器执行实现如上所述的序列索引号的生成方法的步骤。
所述序列索引号的生成程序配置为实现如上所述的序列索引号的生成方法的步骤。
所述计算机可读存储介质上存储有序列索引号的生成程序,所述序列索引号的生成程序被处理器执行时实现如下操作:
获取矩阵中的元素的坐标,并将所述坐标转为第一预设进制编码的坐标值;
根据所述第一预设进制编码的坐标值,获取所述元素的坐标位宽信息;
根据所述坐标位宽信息,生成与所述元素对应的序列索引号。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
获取所述元素的坐标最大位宽值n;
将所述元素的各分坐标按预设顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号;
将所述第一预设进制编码的序列索引号转为第二预设进制编码的序列索引号。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
获取所述矩阵中的元素的横坐标和纵坐标;
分别将所述横坐标和纵坐标转为第一预设进制编码的横纵坐标值。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
转为第一预设进制编码的横纵坐标,形成所述第一预设进制编码的序列;
按照先纵坐标后横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
获取所述矩阵中的元素的横坐标、纵坐标以及竖坐标;
分别将所述横坐标、纵坐标以及竖坐标转为第一预设进制编码的横纵竖坐标值。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
转为第一预设进制编码的横纵竖坐标,形成所述第一预设进制编码的序列;
按照先竖坐标后纵坐标和横坐标的顺序,依次从第n-1位排列至第0位,生成与所述元素对应的第一预设进制编码的序列索引号。
进一步地,所述序列索引号的生成程序被处理器执行时还实现如下操作:
所述第一预设进制为二进制,所述第二预设进制为十进制。
所述序列索引号的生成程序被处理器执行时的具体实施例参照上文描述,此处不再赘述。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。