掌桥专利:专业的专利平台
掌桥专利
首页

一种蓝牙设备数据快速传输方法

文献发布时间:2023-06-19 19:30:30


一种蓝牙设备数据快速传输方法

技术领域

本发明涉及数据压缩传输技术领域,具体涉及一种蓝牙设备数据快速传输方法。

背景技术

在蓝牙设备进行数据传输时,由于带宽影响,数据传输速度较慢,则使用一段时间就会导致数据严重堆积,进而影响蓝牙设备的数据传输效率,因此需要对蓝牙设备的待传输数据进行压缩,从而提高传输速度,避免数据严重堆积的问题。

现有压缩方法中采用LZ77编码对待传输数据进行压缩,传统的LZ77编码中字典窗口大小的设置是压缩过程中的重要参数,对不同的数据进行压缩采用相同大小的字典窗口时,会使得压缩效果存在差异,因此需要根据数据中字符及字符组合的分布,来获取自适应的字典窗口大小,进而对待传输数据进行LZ77压缩,从而提高数据的压缩率,进而使数据的传输速度增大,达到蓝牙设备数据快速传输的目的。

发明内容

本发明提供一种蓝牙设备数据快速传输方法,以解决现有的LZ77压缩采用固定大小字典窗口导致数据压缩效果较差的问题,所采用的技术方案具体如下:

本发明一个实施例提供了一种蓝牙设备数据快速传输方法,该方法包括以下步骤:

获取蓝牙设备的待传输数据;获取每个字符在待传输数据中的出现频数,将出现频数与待传输数据中总字符数的比值作为每个字符的第一出现频率;

根据第一出现频率获取若干重要字符,根据重要字符获取若干不同长度的初始字符组合,根据每个重要字符在待传输数据中的分布获取每个重要字符的字符游程序列,根据每个初始字符组合在待传输数据中的分布,获取每个初始字符组合的组合游程序列及第二出现频率,根据第二出现频率与第一出现频率获取重要字符组合;

根据每个重要字符组合的组合游程序列,获取每个重要字符在每个重要字符组合中每个游程的有效次数,将每个重要字符在每个重要字符组合中每个游程的有效次数,与对应字符游程序列中对应游程的元素的比值,作为每个重要字符在每个重要字符组合中每个游程的有效游程占比,根据第二出现频率与有效游程占比获取每个重要字符组合的适应程度;

将长度相同的重要字符组合的适应程度进行累加,得到每个长度下字典窗口的适应率,将其中适应率最大的长度作为最佳窗口大小;

根据最佳窗口大小对待传输数据进行压缩,完成蓝牙设备数据快速传输。

可选的,所述根据重要字符获取若干不同长度的初始字符组合,包括的具体方法为:

获取重要字符的数量,将重要字符的数量作为字符组合的最大长度,最小长度即为2,获取最小长度与最大长度之间每个长度对应的若干字符块,所述字符块由不同的重要字符组成;

根据每种字符块中包含的重要字符,通过不同排列得到每种字符块对应的若干字符组合,记为初始字符组合。

可选的,所述根据每个重要字符在待传输数据中的分布获取每个重要字符的字符游程序列,包括的具体方法为:

获取每个重要字符在待传输数据中不同游程的出现次数,将出现次数按照游程从小到大的顺序排列,得到每个重要字符的字符游程序列。

可选的,所述获取每个初始字符组合的组合游程序列及第二出现频率,包括的具体方法为:

获取每个初始字符组合在待传输数据中不同游程的出现次数,将出现次数按照游程从小到大的顺序排列,得到每个初始字符组合的组合游程序列;

将组合游程序列中每个游程与对应元素的乘积之和作为每个初始字符组合的第二出现频数,将总字符数与字符组合长度的比值作为每个长度下的总组合量;将每个初始字符组合的第二出现频数与字符组合对应长度下的总组合量的比值,作为每个初始字符组合的第二出现频率。

可选的,所述获取每个重要字符在每个重要字符组合中每个游程的有效次数,包括的具体方法为:

获取任意一个重要字符组合作为目标字符组合,获取目标字符组合的组合游程序列,将重要字符组合的游程记为组合游程,重要字符的游程记为字符游程,获取任意一个组合游程作为目标组合游程,目标组合游程在组合游程序列中的对应元素记为目标次数,表示待传输数据中存在目标次数个字符串,所述字符串由目标组合游程数量的目标字符组合首尾拼接而成,将由目标组合游程数量的目标字符组合首尾拼接而成的字符串,记为目标字符组合在目标组合游程的游程字符串;

获取目标字符组合在每个组合游程的游程字符串,将目标字符组合在目标组合游程的游程字符串记为目标字符串;获取目标字符组合包含的每个重要字符,在目标字符串中每个字符游程的出现次数;将目标字符组合包含的每个重要字符在目标字符串中每个字符游程的出现次数,与目标字符串在待传输数据中的出现次数,即目标次数的乘积,记为目标字符组合包含的每个重要字符在目标字符串对应的目标组合游程下,每个字符游程的出现次数;获取目标字符组合包含的每个重要字符,在目标字符组合每个组合游程下每个字符游程的出现次数;

获取目标字符组合包含的任意一个重要字符作为目标字符,获取任意一个字符游程作为目标字符游程;将目标字符在目标字符组合的不同组合游程下,目标字符游程的出现次数之和作为目标字符在目标字符组合中目标字符游程的有效次数;

获取每个重要字符在每个重要字符组合中每个游程的有效次数。

可选的,所述根据第二出现频率与有效游程占比获取每个重要字符组合的适应程度,包括的具体方法为:

其中,

本发明的有益效果是:本发明通过字符的第一出现频率获取重要字符并得到初始字符组合,根据初始字符组合的第二出现频率获取重要字符组合,减少了出现频率较小的字符及字符组合后续适应程度的计算,避免了冗余程度小的字符及字符组合对不同长度下字典窗口适应率的影响;通过获取重要字符的字符游程序列以及重要字符组合的组合游程序列,进而得到有效游程占比,并结合重要字符组合的第二出现频率获取适应程度,通过适应程度表征了不同重要字符组合在待传输数据中的可匹配字符串数量以及冗余程度,相应得到了压缩性能的大小;结合相同长度下所有重要字符组合的适应程度获取适应率并得到最佳窗口大小,有助于提高数据的整体压缩率,进而降低待传输数据的数据量,提高蓝牙设备数据传输的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例所提供的一种蓝牙设备数据快速传输方法流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明一个实施例所提供的一种蓝牙设备数据快速传输方法流程图,该方法包括以下步骤:

步骤S001、获取蓝牙设备的待传输数据,获取待传输数据中每个字符的第一出现频率。

本实施例的目的是对蓝牙设备中的数据进行快速传输,因此首先需要获取蓝牙设备中的待传输数据;蓝牙设备中的数据由若干字符组成,统计获取每个字符在待传输数据中的出现频数,将出现频数与待传输数据中总字符数的比值作为每个字符的第一出现频率。

至此,获取到了待传输数据中每个字符的第一出现频率。

步骤S002、根据第一出现频率获取若干重要字符,根据重要字符获取若干不同长度的初始字符组合,根据重要字符在待传输数据中的分布获取每个重要字符的字符游程序列,获取每个初始字符组合的组合游程序列以及第二出现频率,根据第二出现频率与第一出现频率获取重要字符组合。

需要说明的是,在LZ77压缩过程中,第一出现频率较大的字符在字典窗口滑动过程中会经常出现,进而应更多地考虑第一出现频率较大的字符,从而提高压缩率。

具体的,将每个字符按照第一出现频率从小到大的顺序进行排列,以排列的序数为横坐标,纵坐标为第一出现频率,得到对于字符的频率直方图;通过OTSU阈值分割算法对频率直方图进行阈值分割,得到频率分割阈值,将第一出现频率大于频率分割阈值的字符记为重要字符,则可以得到若干重要字符。

进一步需要说明的是,重要字符由于第一出现频率较大,因此根据这些重要字符组成若干字符组合,再通过字符组合在待传输数据中的分布,进而量化不同字符组合在待传输数据中的冗余程度以及连续分布程度,从而更多地参考第一出现频率较大的字符,来提高压缩率。

具体的,获取重要字符的数量,将重要字符的数量作为字符组合的最大长度,最小长度即为2,获取最小长度与最大长度之间每个长度对应的若干字符块,字符块由不同的重要字符组成;例如重要字符有a、b、c和d,则长度为2的字符块有(a,b)、(a,c)、(a,d)、(b,c)、(b,d)、(c,d)六种,长度为3的字符块有(a,b,c)、(a,b,d)、(a,c,d)和(b,c,d)四种,长度为4的字符块有(a,b,c,d)一种;每种字符块包含了多个不同的重要字符,而不同的排列会得到不同的字符组合,同时由于待传输数据中会出现连续字符的分布,因此以字符块abc为例,其字符组合中三个位置都可以是a、b或c中的任意一个字符,因此长度为3的字符块会得到相应的

进一步的,获取每个重要字符在待传输数据中不同游程的出现次数,将出现次数按照游程从小到大的顺序排列,则得到了每个重要字符的字符游程序列;例如一个字符串为aaabcdaacadbabcaab,则对于此字符串字符a的字符游程序列为{2,2,1},即a的1游程在字符串中出现了两次,2游程出现了两次,3游程出现了一次;通过游程的出现次数统计,获取每个重要字符的字符游程序列。

进一步的,获取每个初始字符组合在待传输数据中不同游程的出现次数,将出现次数按照游程从小到大的顺序排列,则得到了每个初始字符组合的组合游程序列;例如初始字符组合aba在待传输数据中,1游程出现了20次,2游程出现了10次,3游程出现了50次,则初始字符组合aba的组合游程序列为{20,10,50};获取到每个初始字符组合的组合游程序列后,将每个游程与对应元素的乘积之和作为每个初始字符组合的第二出现频数,将总字符数与字符组合长度的比值作为每个长度下的总组合量,其中总组合量向下取整;将每个初始字符组合的第二出现频数与字符组合对应长度下的总组合量的比值,作为每个初始字符组合的第二出现频率,获取每个初始字符组合中每个重要字符的第一出现频率;以任意一个初始字符组合为例,若其第二出现频率小于第一预设阈值与该初始字符组合中最小第一出现频率的乘积,则表明该初始字符组合虽然由重要字符组成,但在待传输数据中出现频数过少,不再进行后续计算;若第二出现频率大于等于第一预设阈值与该初始字符组合中最小第一频率的乘积,则记该初始字符组合为重要字符组合,本实施例第一预设阈值采用0.2进行计算;按照上述方法对每个初始字符组合进行判断,则得到了若干重要字符组合,同时重要字符组合对应的初始字符组合的组合游程序列,也记为每个重要字符组合的组合游程序列。

至此,获取到了若干重要字符以及每个重要字符的字符游程序列,并根据重要字符获取了若干重要字符组合以及每个重要字符组合的组合游程序列。

步骤S003、根据每个重要字符在每个重要字符组合中的分布,以及字符游程序列与组合游程序列,获取每个重要字符在每个重要字符组合中每个游程的有效游程占比,根据有效游程占比及第二出现频率获取每个重要字符组合的适应程度。

需要说明的是,获取到字符游程序列以及组合游程序列后,需要根据每个重要字符在每个重要字符组合的分布,结合两种游程序列,获取每个重要字符组合中每个重要字符的有效游程占比;有效游程占比反映了每种重要字符组合在待传输数据中,出现包含的重要字符时的冗余程度,即出现重要字符时是否与该重要字符组合相同,进而通过有效游程占比结合第二出现频率获取每个重要字符组合的适应程度,第二出现频率越大,包含的重要字符的有效游程占比累加越大,说明该重要字符组合在待传输数据中可匹配的字符串数量越多,作为字典进行压缩可以使得压缩率越大。

具体的,根据每个重要字符组合的组合游程序列,获取每个重要字符在每个重要字符组合中每个游程的有效次数;以任意一个重要字符组合的组合游程序列为例,组合游程序列记为

获取该重要字符组合在每个组合游程的游程字符串,对于该重要字符组合在组合游程q的游程字符串,获取该重要字符组合包含的每个重要字符,在该游程字符串中每个字符游程的出现次数;例如游程字符串为abaaba时,a的1游程出现2次,a的2游程出现1次,b的1游程出现2次;将该重要字符组合包含的每个重要字符在该游程字符串中每个字符游程的出现次数,与该游程字符串在待传输数据中的出现次数的乘积,记为该重要字符组合包含的每个重要字符在该游程字符串对应的组合游程下,每个字符游程的出现次数;例如重要字符组合为aba,且

按照上述方法获取该重要字符组合包含的每个重要字符,在该重要字符组合每个组合游程下每个字符游程的出现次数;将任意一个重要字符在该重要字符组合不同组合游程下,任意一个字符游程的出现次数之和作为该重要字符在该重要字符组合该字符游程的有效次数;按照上述方法获取每个重要字符在每个重要字符组合中每个游程的有效次数;例如重要字符组合aba的组合游程序列为{20,10,50},则aba的1游程共出现了20次,则a的1游程为

进一步的,将每个重要字符在每个重要字符组合中每个游程的有效次数,与对应字符游程序列中对应游程的元素的比值,作为每个重要字符在每个重要字符组合中每个游程的有效游程占比;例如字符a在重要字符组合aba中的1游程的有效次数为160次,2游程的有效次数为110次,而a的字符游程序列为{400,200,50,10}次,则字符a在重要字符组合aba中1游程的有效游程占比为0.4,2游程的有效游程占比为0.55,3游程和4游程的有效游程占比为0;按照上述方法获取每个重要字符在每个重要字符组合中每个游程的有效游程占比,用于后续每个重要字符组合适应程度的计算。

进一步的,以重要字符组合aba为例,该重要字符组合的适应程度

其中,

此时,重要字符组合的第二出现频率越大,将该重要字符组合作为字典在待传输数据中可匹配的字符串数量越大,压缩效果越好,则适应程度越大;重要字符组合中重要字符的有效游程占比的累加和越大,作为字典时冗余程度越大,需要重新编码的其他字符数量越少,相应的压缩效果越好,则适应程度越大;按照上述方法获取每种重要字符组合的适应程度。

至此,获取到了每种重要字符组合的重要程度,可以表征每种重要字符组合在待传输数据中可匹配的字符串数量以及冗余程度,为获取最佳窗口大小提供参考。

步骤S004、根据组合适应程度获取每个长度下字典窗口的适应率,得到最佳窗口大小,根据最佳窗口大小对待传输数据进行压缩,完成蓝牙设备数据快速传输。

需要说明的是,获取到每个重要字符组合的适应程度后,由于LZ77是以固定窗口大小来获取字典并进行压缩,因此相同长度的重要字符组合的适应程度累加后,可以表征该长度的字典窗口的在压缩时可匹配的字符串数量,可匹配的字符串数量越多,压缩率就会越大,压缩效果越好,进而就可以得到待传输数据自适应的最佳窗口大小。

具体的,将长度相同的重要字符组合的适应程度进行累加,得到每个长度下字典窗口的适应率,将其中适应率最大的长度作为最佳窗口大小;例如将长度为2的所有重要字符组合的适应程度累加,得到长度为2的字典窗口的适应率,同理获取长度为3以及长度为4的字典窗口的适应率,此时重要字符一共有四个,则字典组合的长度仅有2、3和4,其中长度为4的字典窗口的适应率最大,则最佳窗口大小的长度为4。

进一步的,根据获取到的最佳窗口大小,通过LZ77压缩算法对待传输数据进行压缩;将压缩后的数据再通过蓝牙设备进行传输,则完成了蓝牙设备数据的快速传输。

至此,通过分析字符及字符组合在待传输数据中的分布,获取到了待传输数据自适应的最佳窗口大小,根据最佳窗口大小,通过LZ77压缩算法进行压缩,得到压缩后的数据再进行传输;避免了固定窗口大小会导致待传输数据的压缩效果较差,同时传输压缩后的数据可以提高数据传输速度,避免数据严重堆积导致蓝牙设备数据传输效果较差。

需要说明的是,本实施例中获取字符及字符组合的出现频率以及游程,需要判断相同字符,采用字符串识别及匹配技术获取相同字符或字符组合,字符串匹配及识别技术为现有技术,本实施例不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 蓝牙数据加密传输方法、蓝牙设备及计算机可读存储介质
  • 用于低功耗蓝牙接收端设备的数据传输方法及接收端设备
  • 一种蓝牙数据交互方法及蓝牙设备
  • 一种数据传输方法、通信设备和数据传输系统
  • 低功耗蓝牙数据传输方法及电子设备
  • 一种适用于低功耗蓝牙设备的非配对快速数据传输方法
  • 一种适用于低功耗蓝牙设备的非配对快速数据传输方法
技术分类

06120115934365