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

数据流的编解码方法、装置及存储介质与流程

2022-07-16 12:18:11 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,尤其涉及一种数据流的编解码方法、装置及存储介质。


背景技术:

2.住宅负荷、分布式电源以及充电桩等需求响应终端参与需求响应调度时,由于需求响应终端的数量庞大且分布广,一般需求响应终端可以与基站建立通信连接,通过基站接入电力通信网。
3.然而,现有需求响应终端与基站之间传输数据流时的编解码速率较低,无法满足一些对时延要求较高的交互业务的通信需求。


技术实现要素:

4.本技术提供一种数据流的编解码方法、装置及存储介质,通过分阶段进行编码,可以使得接收端在接收编码数据包时对编码数据包进行部分解码,从而可以降低编解码速率。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种数据流的编解码方法,应用于发送端,包括:将待传输数据流划分为g个原始数据包;g为正整数;按照第一预设规则依次获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第一编码数据包和对应的编码向量发送给接收端,直至满足第一预设条件;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;第一预设条件为接收端接收到w 1个第一编码数据包,且w 1个第一编码数据包对应的位置标识符均为预设标识符;w为整数,且w∈[0,g);按照第二预设规则依次获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第二编码数据包和对应的编码向量发送给接收端,直至满足第二预设条件;第二预设条件为接收端接收到g个第二编码数据包,且g个第二编码数据包的位置标识符均不相同。
[0007]
本技术提供的技术方案中,对原始数据包进行编码的编码向量中包括有一个中心元素,且中心元素带有用于表示其在编码向量中位置的位置标识符。发送端在划分得到原始数据包后,分两个阶段对原始数据包进行编码,在第一阶段中,采用位置标识符均为预设标识符的编码向量对原始数据包进行编码,直至接收端接收到w 1个第一编码数据包。在第二阶段中,基于获取的编码向量对原始数据包进行编码,直至接收端接收到g个第二编码数据包。由于w 1个第一编码数据包的位置标识符均为预设标识符,也即是w 1个第一编码数据包对应的编码向量的中心元素的位置相同,且w 1个第一编码数据包对应的编码向量中随机元素的个数为w,所以,接收端可以基于接收到的w 1个第一编码数据包对编码数据包进行部分解码。这样,接收端在接收g个第二编码数据包的过程中,由于第一阶段已经进行
了部分解码,所以第二阶段的解码复杂度大幅度降低。可以看出,本技术通过分阶段进行编码,且在编码向量中添加带有位置标识符的中心元素,可以使得接收端先对编码数据包进行部分解码,从而可以降低整体的解码复杂度,提高解码速率,进而可以满足对时延要求较高的交互业务的通信需求。
[0008]
可选的,在一种可能的设计方式中,上述“按照第二预设规则依次获取编码向量”可以包括:
[0009]
步骤a1:确定当前标识符;当前标识符为上一次获取的编码向量的位置标识符的下一位标识符;
[0010]
步骤a2:基于当前标识符和当前丢包率获取s个编码向量;s为正整数;
[0011]
重复执行步骤a1和步骤a2,直至确定当前标识符为终止标识符;终止标识符用于表示当前获取的编码向量中包括g个位置标识符均不相同的编码向量。
[0012]
可选的,在另一种可能的设计方式中,上述“按照第一预设规则依次获取编码向量”可以包括:
[0013]
获取t个位置标识符均为预设标识符的编码向量;其中,t根据当前丢包率和w确定。
[0014]
可选的,在另一种可能的设计方式中,第一预设数值为1,第二预设数值为0,预设标识符用于表示中心元素在编码向量中的首个位置。
[0015]
可选的,在另一种可能的设计方式中,上述“将待传输数据流划分为g个原始数据包”之前,本技术提供的数据流的编解码方法还包括:
[0016]
获取待传输数据流;
[0017]
确定待传输数据流对应的业务等级高于或等于预设等级。
[0018]
第二方面,本技术提供一种数据流的编解码方法,应用于接收端,包括:步骤b1:接收发送端发送的当前编码数据包以及对应的编码向量;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;g正整数,w为整数,w∈[0,g);步骤b2:对当前编码数据包对应的位置标识符进行识别,确定已识别的编码数据包中是否存在目标编码数据包;目标编码数据包的位置标识符与当前编码数据包相同;步骤b3:若确定存在目标编码数据包,则基于预设运算规则对当前编码数据包和目标编码数据包进行运算得到简化编码数据包,对当前编码数据包对应的编码向量和目标编码数据包对应的编码向量进行运算得到简化编码向量,并将简化编码数据包插入解码数据包矩阵,将简化编码向量插入解码向量矩阵;若确定不存在目标编码数据包,则将当前编码数据包插入解码数据包矩阵,且将当前编码向量插入解码向量矩阵;重复执行步骤b1至步骤b3,直至满足第三预设条件时,基于当前解码数据包矩阵和当前解码向量矩阵进行最终解码;第三预设条件为已识别的编码数据包中包括g个位置标识符均不相同的编码数据包。
[0019]
第三方面,本技术提供一种数据流的编解码装置,应用于发送端,包括:划分模块、第一编码发送模块以及第二编码发送模块;
[0020]
划分模块,用于将待传输数据流划分为g个原始数据包;g为正整数;
[0021]
第一编码发送模块,用于按照第一预设规则依次获取编码向量,并基于获取到的
编码向量对g个原始数据包进行编码,且将得到的第一编码数据包和对应的编码向量发送给接收端,直至满足第一预设条件;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;第一预设条件为接收端接收到w 1个第一编码数据包,且w 1个第一编码数据包对应的位置标识符均为预设标识符;w为整数,且w∈[0,g);
[0022]
第二编码发送模块,用于按照第二预设规则依次获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第二编码数据包和对应的编码向量发送给接收端,直至满足第二预设条件;第二预设条件为接收端接收到g个第二编码数据包,且g个第二编码数据包的位置标识符均不相同。
[0023]
可选的,在一种可能的设计方式中,第二编码发送模块具体还用于执行如下步骤:
[0024]
步骤a1:确定当前标识符;当前标识符为上一次获取的编码向量的位置标识符的下一位标识符;
[0025]
步骤a2:基于当前标识符和当前丢包率获取s个编码向量;s为正整数;
[0026]
重复执行步骤a1和步骤a2,直至确定当前标识符为终止标识符;终止标识符用于表示当前获取的编码向量中包括g个位置标识符均不相同的编码向量。
[0027]
可选的,在另一种可能的设计方式中,第一编码发送模块具体还用于,获取t个位置标识符均为预设标识符的编码向量;其中,t根据当前丢包率和w确定。
[0028]
可选的,在另一种可能的设计方式中,第一预设数值为1,第二预设数值为0,预设标识符用于表示中心元素在编码向量中的首个位置。
[0029]
可选的,在另一种可能的设计方式中,本技术提供的数据流的编解码装置还可以包括获取模块和确定模块;
[0030]
获取模块,用于在划分模块将待传输数据流划分为g个原始数据包之前,获取待传输数据流;
[0031]
确定模块,用于确定待传输数据流对应的业务等级高于或等于预设等级。
[0032]
第四方面,本技术提供一种数据流的编解码装置,应用于接收端,包括:接收模块、识别模块、即时解码模块以及最终解码模块;
[0033]
接收模块,用于执行步骤b1:接收发送端发送的当前编码数据包以及对应的编码向量;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;g正整数,w为整数,w∈[0,g);
[0034]
识别模块,用于执行步骤b2:对当前编码数据包对应的位置标识符进行识别,确定已识别的编码数据包中是否存在目标编码数据包;目标编码数据包的位置标识符与当前编码数据包相同;
[0035]
即时解码模块,用于执行步骤b3:若确定存在目标编码数据包,则基于预设运算规则对当前编码数据包和目标编码数据包进行运算得到简化编码数据包,对当前编码数据包对应的编码向量和目标编码数据包对应的编码向量进行运算得到简化编码向量,并将简化编码数据包插入解码数据包矩阵,将简化编码向量插入解码向量矩阵;若确定不存在目标编码数据包,则将当前编码数据包插入解码数据包矩阵,且将当前编码向量插入解码向量
矩阵;
[0036]
最终解码模块,用于重复执行步骤b1至步骤b3,直至满足第三预设条件时,基于当前解码数据包矩阵和当前解码向量矩阵进行最终解码;第三预设条件为已识别的编码数据包中包括g个位置标识符均不相同的编码数据包。
[0037]
第五方面,本技术提供一种数据流的编解码装置,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据流的编解码装置运行时,处理器执行存储器存储的计算机执行指令,以使数据流的编解码装置执行如上述第一方面或第二方面提供的数据流的编解码方法。
[0038]
第六方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,使得计算机执行如第一方面或第二方面提供的数据流的编解码方法。
[0039]
第七方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或第二方面提供的数据流的编解码方法。
[0040]
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与数据流的编解码装置的处理器封装在一起的,也可以与数据流的编解码装置的处理器单独封装,本技术对此不做限定。
[0041]
本技术中第二方面至第七方面的描述,可以参考第一方面的详细描述;并且,第二方面至第七方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
[0042]
在本技术中,上述数据流的编解码装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
[0043]
本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
[0044]
图1为本技术实施例提供的一种数据流的编解码方法的流程示意图;
[0045]
图2为本技术实施例提供的另一种数据流的编解码方法的流程示意图;
[0046]
图3为本技术实施例提供的又一种数据流的编解码方法的流程示意图;
[0047]
图4为本技术实施例提供的又一种数据流的编解码方法的流程示意图;
[0048]
图5为本技术实施例提供的一种数据流的编解码装置的结构示意图;
[0049]
图6为本技术实施例提供的另一种数据流的编解码装置的结构示意图;
[0050]
图7为本技术实施例提供的另一种数据流的编解码装置的结构示意图。
具体实施方式
[0051]
下面结合附图对本技术实施例提供的数据流的编解码方法、装置及存储介质进行详细地描述。
[0052]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
[0053]
本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或
者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
[0054]
此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0055]
需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0056]
在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
[0057]
现有需求响应终端与基站之间传输数据流时的编解码速率较低,无法满足一些对时延要求较高的交互业务的通信需求。针对上述现有技术中存在的问题,本技术实施例提供了一种数据流的编解码方法,通过分阶段进行编码,且在编码向量中添加带有位置标识符的中心元素,可以使得接收端先对编码数据包进行部分解码,从而可以降低整体的解码复杂度,提高解码速率,进而可以满足对时延要求较高的交互业务的通信需求。
[0058]
本技术实施例提供的数据流的编解码方法可以应用于数据流的编解码系统,数据流的编解码系统可以包括发送端和接收端。
[0059]
本技术实施例提供的数据流的编解码方法可以应用于需求响应终端与基站之间进行通信的应用场景,其中,发送端可以为需求响应终端,接收端可以为基站。可以理解的是,在实际应用中,本技术实施例提供的数据流的编解码方法还可以应用于其他通信场景,对应的,发送端和接收端可以为其他设备,本技术实施例对此不做限定。
[0060]
示例性的,需求响应终端可以是与基站通信的手机、平板电脑、桌面型计算机、膝上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、上网本、个人数字助理(personal digital assistant,pda)、可穿戴电子设备、虚拟现实设备等不同类型的终端。
[0061]
参照图1,本技术实施例提供了一种应用于发送端的数据流的编解码方法,包括s101-s103:
[0062]
s101、将待传输数据流划分为g个原始数据包。
[0063]
其中,g为正整数。
[0064]
在一种可能的实现方式中,发送端可以根据待传输数据流的总字节长度进行原始数据包的划分,将待传输数据流划分为g个长度均为m的原始数据包,m为正整数。示例性的,g个原始数据包可以表示为m=[m1,m2,m3……
mg],其中,mi为列向量,i∈[1,g]。比如,若m=3,则m1=[m
11
,m
12
,m
13
]。
[0065]
以m=3,g=4为例,则g个原始数据包可以用表达式(1)表示:
[0066][0067]
s102、按照第一预设规则依次获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第一编码数据包和对应的编码向量发送给接收端,直至满足
第一预设条件。
[0068]
其中,编码向量可以是包括一个中心元素、w个随机元素和g-1-w个剩余元素的列向量,也即是编码向量中元素的总个数为g个。编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;第一预设条件为接收端接收到w 1个第一编码数据包,且w 1个第一编码数据包对应的位置标识符均为预设标识符;w为整数,且w∈[0,g)。
[0069]
第一预设数值和第二预设数值可以是人为事先确定的数值,预设标识符可以是人为事先确定的位置标识符。可选的,为了进一步降低编解码的复杂度,提高编解码速率,本技术实施例中,第一预设数值为1,第二预设数值为0,预设标识符用于表示中心元素在编码向量中的首个位置。
[0070]
第一预设规则可以是人为事先确定的获取规则,示例性的,第一预设规则可以是发送端依次获取位置标识符为预设标识符,且随机元素个数为w的编码向量,直至满足第一预设条件。也即是基于第一预设规则得到的编码向量,除随机元素的数值外,其他元素均相同。
[0071]
以获取编码向量c为例,可以先得到一个空向量,该空向量包括g个位置,用于插入g个元素。然后可以从有限域中随机得到w个随机元素,并确定中心元素对应的位置标识符。之后可以基于位置标识符表示的位置将中心元素插入空向量,并将w个随机元素插入中心元素之后的w个位置,再将剩余元素插入剩余的位置。
[0072]
示例性的,以g=4,w=2,第一预设数值为1,第二预设数值为0为例。发送端得到一个空向量后,可以先从有限域中随机得到2个随机元素x1和x2。若中心元素的位置为首个位置,则可以先将第一预设数值1插入空向量的首个位置,将x1和x2插入第二位和第三位,之后可以将第二预设数值0插入最后一位,得到编码向量c=[1,x1,x2,0]。
[0073]
以采用编码向量c对表达式(1)中的g个原始数据包进行编码为例,则得到的第一编码数据包x可以基于表达式(2)表示:
[0074][0075]
发送端在得到第一编码数据包x后,可以将第一编码数据包x以及与第一编码数据包x对应的编码向量c发送给接收端。之后,发送端可以基于上述方式持续得到编码向量,并采用每一次得到的编码向量对g个原始数据包进行编码后发送给接收端,直至满足第一预设条件后,第一阶段的编码和编码数据包的发送完成,可以开始第二阶段的编码和发送。
[0076]
另外,本技术实施例中,由于随机元素的个数为w,所以为了保证接收端可以成功进行部分解码,第一预设条件可以为接收端接收到w 1个第一编码数据包,也即是发送端成功向接收端发送w 1个第一编码数据包。
[0077]
可选的,由于数据传输过程中可能会存在丢包,所以,发送端在按照第一预设规则依次获取编码向量时,可以获取t个位置标识符均为预设标识符的编码向量,其中,t根据当前丢包率和w确定。这样,通过向接收端发送更多数量的第一编码数据包,可以保证在存在丢包的情况下,接收端可以成功接收到w 1个第一编码数据包。
[0078]
示例性的,t可以根据表达式确定,其中,ε表示当前丢包率。
[0079]
s103、按照第二预设规则依次获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第二编码数据包和对应的编码向量发送给接收端,直至满足第二预设条件。
[0080]
其中,第二预设条件为接收端接收到g个第二编码数据包,且g个第二编码数据包的位置标识符均不相同。
[0081]
第二预设规则可以是人为事先确定的规则,示例性的,在一种可能的实现方式中,按照第二预设规则依次获取编码向量可以是:发送端随机获取位置标识符,并获取w个随机元素,且基于随机获取的位置标识符和w个随机元素得到编码向量,重复以上步骤直至接收端接收到g个第二编码数据包。
[0082]
可选的,为了使得接收端可以快速接收到g个第二编码数据包,从而进一步提高编解码速率,在另一种可能的实现方式中,按照第二预设规则依次获取编码向量可以包括如下步骤:步骤a1:确定当前标识符;当前标识符为上一次获取的编码向量的位置标识符的下一位标识符;步骤a2:基于当前标识符和当前丢包率获取s个编码向量;s为正整数;重复执行步骤a1和步骤a2,直至确定当前标识符为终止标识符;终止标识符用于表示当前获取的编码向量中包括g个位置标识符均不相同的编码向量。
[0083]
示例性的,s可以根据表达式确定,其中,ε表示当前丢包率,k可以是大于或等于1的参数,k可以调整采用不同中心元素的编码向量编码得到的冗余包的数量。由于发送端向接收端发送的编码数据包的数量的增加,丢包率也会不断增加,为了保证接收端可以成功接收到g个位置标识符均不相同的编码向量,本技术实施例中,发送端在按照第二预设规则依次获取编码向量时,可以采用同一编码向量多次(数量为s)对g个原始数据包进行编码,然后可以向接收端持续发送同一编码数据包,直至接收端成功接收到该编码数据包。或者,可以采用同一位置标识符的编码向量多次(数量为s)对g个原始数据包进行编码,然后可以向接收端持续发送编码数据包,直至接收端成功接收到编码数据包。
[0084]
以g=4,w=2,第一预设数值为1,第二预设数值为0为例。由于第一阶段获取的编码向量的位置标识符为中心向量的首个位置,所以在满足第一预设条件后,发送端可以确定当前标识符为中心向量的第二位。示例性的,基于当前标识符确定的编码向量可以是c1=[0,1,y1,y2],y1和y2为随机元素。采用编码向量c1对表达式(1)中的g个原始数据包进行编码得到的第二编码数据包可以为x1=[0
·
m1,1
·
m2,y1
·
m3,y2
·
m4]。此时未达到第二预设条件,可以将位置标识符后移一位,得到新的当前标识符,为中心向量的第三位,基于新的当前标识符可以得到编码向量c2=[z2,0,1,z1],z1和z2为随机元素。采用编码向量c2对表达式(1)中的g个原始数据包进行编码,得到的第二编码数据包可以为x2=[z2
·
m1,0
·
m2,1
·
m3,z1
·
m4]。此时仍未达到第二预设条件,可以将位置标识符后移一位,得到新的当前标识符,为中心向量的第四位,基于新的当前标识符可以得到编码向量c3=[v1,v2,0,1],v1和v2为随机元素。采用编码向量c3对表达式(1)中的g个原始数据包进行编码,得到的第二编码数据包可以为x3=[v1
·
m1,v2
·
m2,0
·
m3,1
·
m4]。此时,当前标识符为中心向量的最后一位,也即是为终止标识符,满足第二预设条件,可以停止编码和发送。
[0085]
可以理解的是,本技术实施例中,发送端在采用任一个编码向量对原始数据包进行编码后,即可将得到编码数据包和对应的编码向量发送给接收端,不用等到所有编码结束后才进行发送。这样,便于接收端在接收编码数据包的同时可以进行即时解码,可以进一步提高编解码的速率。
[0086]
本技术实施例中,对原始数据包进行编码的编码向量中包括有一个中心元素,且中心元素带有用于表示其在编码向量中位置的位置标识符。发送端在划分得到原始数据包后,分两个阶段对原始数据包进行编码,在第一阶段中,采用位置标识符均为预设标识符的编码向量对原始数据包进行编码,直至接收端接收到w 1个第一编码数据包。在第二阶段中,基于获取的编码向量对原始数据包进行编码,直至接收端接收到g个第二编码数据包。由于w 1个第一编码数据包的位置标识符均为预设标识符,也即是w 1个第一编码数据包对应的编码向量的中心元素的位置相同,且w 1个第一编码数据包对应的编码向量中随机元素的个数为w,所以,接收端可以基于接收到的w 1个第一编码数据包对编码数据包进行部分解码。这样,接收端在接收g个第二编码数据包的过程中,由于第一阶段已经进行了部分解码,所以第二阶段的解码复杂度大幅度降低。可以看出,本技术实施例通过分阶段进行编码,且在编码向量中添加带有位置标识符的中心元素,可以使得接收端先对编码数据包进行部分解码,从而可以降低整体的解码复杂度,提高解码速率,进而可以满足对时延要求较高的交互业务的通信需求。
[0087]
综合以上描述,如图2所示,本技术实施例还提供了一种应用于发送端的数据流的编解码方法,包括s201-s207:
[0088]
s201、将待传输数据流划分为g个原始数据包。
[0089]
s202、获取位置标识符为预设标识符的编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第一编码数据包和对应的编码向量发送给接收端。
[0090]
s203、判断编码次数是否小于t。
[0091]
若编码次数小于t,则返回重新执行步骤s202;若编码次数大于或等于t,则执行步骤s204。
[0092]
s204、确定当前标识符。
[0093]
s205、基于当前标识符和当前丢包率获取编码向量,并基于获取到的编码向量对g个原始数据包进行编码,且将得到的第二编码数据包和对应的编码向量发送给接收端。
[0094]
s206、判断当前标识符是否为终止标识符。
[0095]
若当前标识符为终止标识符,则执行步骤s207;若当前标识符不是终止标识符,则返回重新步骤s204。
[0096]
s207、发送端编码发送结束。
[0097]
可选的,如图3所示,图1中的步骤s101之前,还可以包括s1001-s1002:
[0098]
s1001、获取待传输数据流。
[0099]
s1002、确定待传输数据流对应的业务等级高于或等于预设等级。
[0100]
其中,预设等级可以是人为事先确定的等级。
[0101]
本技术实施例中提供的数据流的编解码方法可以应用于对时延要求较高的需求响应业务,所以,发送端在获取到待传输数据流后,可以对业务等级进行判断,在确定业务等级为一级业务(比如,紧急控制类业务)时,可以采用本技术实施例提供的数据流的编解
码方法进行编解码,在确定业务等级为二级业务(比如,一般事件类业务)等业务时,可以采用其他数据流的编解码方法进行编解码。
[0102]
参照图4,本技术实施例还提供了一种数据流的编解码方法,应用于接收端。如图4所示,数据流的编解码方法可以包括s401-s406:
[0103]
s401、接收发送端发送的当前编码数据包以及对应的编码向量。
[0104]
s402、对当前编码数据包对应的位置标识符进行识别,确定已识别的编码数据包中是否存在目标编码数据包。
[0105]
其中,目标编码数据包的位置标识符与当前编码数据包相同。
[0106]
若确定存在目标编码数据包,则执行步骤s403;若确定不存在目标编码数据包,则执行步骤s404。在步骤s403和步骤s404之后,均执行步骤s405。
[0107]
s403、基于预设运算规则对当前编码数据包和目标编码数据包进行运算得到简化编码数据包,对当前编码数据包对应的编码向量和目标编码数据包对应的编码向量进行运算得到简化编码向量,并将简化编码数据包插入解码数据包矩阵,将简化编码向量插入解码向量矩阵。
[0108]
预设运算规则可以是人为事先确定的运算规则,示例性的,以g=4,w=2,第一预设数值为1,第二预设数值为0为例。若当前编码数据包为x

=[1
·
m1,x1

·
m2,x2

·
m3,0
·
m4],则可以识别出位置标识符为编码向量中的首位。若已识别的编码数据包中包括有x=[1
·
m1,x1
·
m2,x2
·
m3,0
·
m4],则可以确定x为目标编码数据包。可以先对x和x

做减法运算得到x-x

=[0,(x1-x1

)
·
m2,(x2-x2

)
·
m3,0],然后可以除以(x1-x1

),得到的简化编码数据包为[0,m2,(x2-x2

)/(x1-x1

)
·
m3,0]。可以看出简化编码数据包中中心元素对应的位置标识符发生了变化,简化编码数据包中有两个元素为0,相比x和x

,简化编码数据包的复杂度明显降低。同时,需要同步对x和x

分别对应的编码向量做以上运算得到简化编码向量。
[0109]
s404、将当前编码数据包插入解码数据包矩阵,且将当前编码向量插入解码向量矩阵。
[0110]
s405、判断是否满足第三预设条件。
[0111]
若确定满足第三预设条件,则执行步骤s406;若确定不满足第三预设条件,则返回执行步骤s401。
[0112]
第三预设条件为已识别的编码数据包中包括g个位置标识符均不相同的编码数据包。
[0113]
s406、基于当前解码数据包矩阵和当前解码向量矩阵进行最终解码。
[0114]
第三预设条件为已识别的编码数据包中包括g个位置标识符均不相同的编码数据包。
[0115]
本技术实施例中,接收端接收到发送端第一阶段发送的w 1个第一编码数据包对应的位置标识符均相同,则接收端可以对这w 1个第一编码数据包进行部分解码,之后再接收到第二编码数据包时,由于已经进行了部分解码,所以可以在第二阶段进行复杂度较低的即时解码。
[0116]
示例性的,以g=4,w=2,第一预设数值为1,第二预设数值为0为例。接收端接收到发送端第一阶段发送的3个第一编码数据包可以为:x=[1
·
m1,x1
·
m2,x2
·
m3,0
·
m4];x

=[1
·
m1,x1

·
m2,x2

·
m3,0
·
m4];x

=[1
·
m1,x1

·
m2,x2

·
m3,0
·
m4]。接收端在接收到x、x

和x

后,可以基于预设运算规则以及x、x

和x

分别对应的编码向量对m1、m2和m3进行解码。接收端接收到发送端第二阶段发送的第二编码数据包x1=[0
·
m1,1
·
m2,y1
·
m3,y2
·
m4],x2=[z2
·
m1,0
·
m2,1
·
m3,z1
·
m4]以及x3=[v1
·
m1,v2
·
m2,0
·
m3,1
·
m4]后,可以基于已解码的m1、m2和m3快速对m4进行解码。
[0117]
本技术实施例中作为示例,在获取到x1后即可以对m4进行解码,在实际应用中,编码数据包的个数可以更多,并且接收端接收到的第二编码数据包的顺序可以不是按照位置标识符从首位至末位的顺序。这种情况下,接收端在获取到g个位置标识符均不相同的编码数据包后,才可以进行全部解码。因此,本技术实施例中,可以将当前编码数据包或简化编码数据包插入解码数据包矩阵,且将当前编码向量或简化编码向量插入解码向量矩阵。这样,在接收第二编码数据包的同时,可以将已接收到的第二编码数据包的解码复杂度降低,在确定满足第三预设条件时,可以基于当前解码数据包矩阵和当前解码向量矩阵进行最终解码。示例性的,若当前解码数据包矩阵为x,当前解码向量矩阵为c,原始数据包为m,则可以基于m=x
·
c-1
进行最终解码,具体解码过程可以参照现有技术中的相关描述,本技术实施例对此不做限定。比如,可以采用高斯消元法进行求解。另外,在解码过程中,若运算过程中得到零向量的编码向量,则可以将对应的编码数据包丢弃。
[0118]
参照图5,本技术实施例还提供了一种数据流的编解码装置,该数据流的编解码装置可以应用于发送端,包括:划分模块11、第一编码发送模块12以及第二编码发送模块13。
[0119]
其中,划分模块11执行上述方法实施例中的s101,第一编码发送模块12执行上述方法实施例中的s102,第二编码发送模块13执行上述方法实施例中的s103。
[0120]
具体地,划分模块11,用于将待传输数据流划分为g个原始数据包;g为正整数;
[0121]
第一编码发送模块12,用于按照第一预设规则依次获取编码向量,并基于获取到的编码向量依次对g个原始数据包进行编码,且将得到的第一编码数据包和对应的编码向量发送给接收端,直至满足第一预设条件;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;第一预设条件为接收端接收到w 1个第一编码数据包,且w 1个第一编码数据包对应的位置标识符均为预设标识符;w为整数,且w∈[0,g);
[0122]
第二编码发送模块13,用于按照第二预设规则依次获取编码向量,并基于获取到的编码向量依次对g个原始数据包进行编码,且将得到的第二编码数据包和对应的编码向量发送给接收端,直至满足第二预设条件;第二预设条件为接收端接收到g个第二编码数据包,且g个第二编码数据包的位置标识符均不相同。
[0123]
可选的,在一种可能的设计方式中,第二编码发送模块13具体还用于执行如下步骤:
[0124]
步骤a1:确定当前标识符;当前标识符为上一次获取的编码向量的位置标识符的下一位标识符;
[0125]
步骤a2:基于当前标识符和当前丢包率获取s个编码向量;s为正整数;
[0126]
重复执行步骤a1和步骤a2,直至确定当前标识符为终止标识符;终止标识符用于表示当前获取的编码向量中包括g个位置标识符均不相同的编码向量。
[0127]
可选的,在另一种可能的设计方式中,第一编码发送模块12具体还用于,获取t个位置标识符均为预设标识符的编码向量;其中,t根据当前丢包率和w确定。
[0128]
可选的,在另一种可能的设计方式中,第一预设数值为1,第二预设数值为0,预设标识符用于表示中心元素在编码向量中的首个位置。
[0129]
可选的,在另一种可能的设计方式中,本技术提供的数据流的编解码装置还可以包括获取模块和确定模块;
[0130]
获取模块,用于在划分模块11将待传输数据流划分为g个原始数据包之前,获取待传输数据流;
[0131]
确定模块,用于确定待传输数据流对应的业务等级高于或等于预设等级。
[0132]
可选的,数据流的编解码装置还可以包括存储模块,存储模块用于存储该数据流的编解码装置的程序代码等。
[0133]
参照图6,本技术实施例还提供了一种数据流的编解码装置,该数据流的编解码装置可以应用于接收端,包括:接收模块21、识别模块22、即时解码模块23以及最终解码模块24。
[0134]
其中,接收模块21执行上述方法实施例中的s401,识别模块22执行上述方法实施例中的s402,即时解码模块23执行上述方法实施例中的s403和s404,最终解码模块24执行上述方法实施例中的s406。
[0135]
具体地,接收模块21,用于执行步骤b1:接收发送端发送的当前编码数据包以及对应的编码向量;编码向量包括一个中心元素、w个随机元素和g-1-w个剩余元素,且编码向量包括有位置标识符,位置标识符用于表示中心元素在编码向量中的位置;中心元素的数值为第一预设数值,剩余元素的数值为第二预设数值;g正整数,w为整数,w∈[0,g);
[0136]
识别模块22,用于执行步骤b2:对当前编码数据包对应的位置标识符进行识别,确定已识别的编码数据包中是否存在目标编码数据包;目标编码数据包的位置标识符与当前编码数据包相同;
[0137]
即时解码模块23,用于执行步骤b3:若确定存在目标编码数据包,则基于预设运算规则对当前编码数据包和目标编码数据包进行运算得到简化编码数据包,对当前编码数据包对应的编码向量和目标编码数据包对应的编码向量进行运算得到简化编码向量,并将简化编码数据包插入解码数据包矩阵,将简化编码向量插入解码向量矩阵;若确定不存在目标编码数据包,则将当前编码数据包插入解码数据包矩阵,且将当前编码向量插入解码向量矩阵;
[0138]
最终解码模块24,用于重复执行步骤b1至步骤b3,直至满足第三预设条件时,基于当前解码数据包矩阵和当前解码向量矩阵进行最终解码;第三预设条件为已识别的编码数据包中包括g个位置标识符均不相同的编码数据包。
[0139]
可选的,数据流的编解码装置还可以包括存储模块,存储模块用于存储该数据流的编解码装置的程序代码等。
[0140]
如图7所示,本技术实施例还提供一种数据流的编解码装置,包括存储器41、处理器42(42-1和42-2)、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器42与存储器41通过总线43连接;当数据流的编解码装置运行时,处理器42执行存储器41存储的计算机执行指令,以使数据流的编解码装置执行如上述实施例提供的应用于发送端或接收
端的数据流的编解码方法。
[0141]
在具体的实现中,作为一种实施例,处理器42可以包括一个或多个中央处理器(central processing unit,cpu),例如图7中所示的cpu0和cpu1。且作为一种实施例,数据流的编解码装置可以包括多个处理器42,例如图7中所示的处理器42-1和处理器42-2。这些处理器42中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0142]
存储器41可以是只读存储器41(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。
[0143]
在具体的实现中,存储器41,用于存储本技术中的数据和执行本技术的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,数据流的编解码装置的各种功能。
[0144]
通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
[0145]
总线43,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0146]
作为一个示例,结合图6,数据流的编解码装置中的接收模块实现的功能与图7中的接收单元实现的功能相同,数据流的编解码装置中的即时解码模块和最终解码模块实现的功能与图7中的处理器实现的功能相同,数据流的编解码装置中的存储模块实现的功能与图7中的存储器实现的功能相同。
[0147]
本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
[0148]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0149]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指
令,当计算机执行该指令时,使得计算机执行上述实施例提供的应用于发送端或接收端的数据流的编解码方法。
[0150]
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、rom、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0151]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献