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

编码、解码方法、装置、介质和电子设备与流程

2022-02-24 14:18:22 来源:中国专利 TAG:


1.本技术涉及计算机及通信技术领域,具体而言,涉及一种编码、解码方法、装置、介质和电子设备。


背景技术:

2.前向纠错也称之为前向纠错码(forward error correction,简称fec),是增加数据通讯可信度的方法,具体是利用数据传输冗余信息,当传输中出现错误时,允许接收器根据冗余信息进行数据重建。可见,fec对于数据传输的可靠性起到非常重要的作用,因此如何能够利用fec技术提高数据传输的可靠性是亟待解决的技术问题。


技术实现要素:

3.本技术的实施例提供了一种编码、解码方法、装置、介质和电子设备,进而至少在一定程度上可以实现对编码帧中包含的前向纠错编码帧数量的灵活调整,进而可以在网络状态较差时保证数据传输的可靠性。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种解码方法,包括:获取待解码的第i帧编码帧,若所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位,则对所述第i帧编码帧进行拆解处理,其中,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;获取对所述第i帧编码帧进行拆解处理得到的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理;对所述第i帧信号帧的编码结果进行解码处理,得到所述第i帧信号帧。
6.根据本技术实施例的一个方面,提供了一种转码方法,包括:获取第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的编码结果;根据所述前n帧信号帧分别对应的编码结果,生成所述前n帧信号帧分别对应的前向纠错编码结果;将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
7.根据本技术实施例的一个方面,提供了一种转码方法,包括:获取第i帧编码帧;若所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位,则对所述第i帧编码帧进行拆解处理,其中,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;获取对所述第i帧编码帧进行拆解处理得到的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理;基于所述第i帧信号帧的编码结果,
生成所述第i帧编码帧转码后的码流。
8.根据本技术实施例的一个方面,提供了一种编码方法,包括:获取待编码的信号帧;对第i帧信号帧进行编码处理,得到所述第i帧信号帧对应的编码结果,对所述第i帧信号帧的前n帧信号帧分别进行前向纠错编码,得到所述前n帧信号帧分别对应的前向纠错编码结果;将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
9.根据本技术实施例的一个方面,提供了一种解码装置,包括:第一获取单元,配置为获取待解码的第i帧编码帧;第一拆解单元,配置为在所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位时,对所述第i帧编码帧进行拆解处理,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;解码单元,配置为获取对所述第i帧编码帧进行拆解处理的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理,对所述第i帧信号帧的编码结果进行解码处理,得到所述第i帧信号帧。
10.在本技术的一些实施例中,基于前述方案,所述解码单元还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧是获取到的距离所述第j帧编码帧最近的帧,则对所述第i帧编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成所述第j帧信号帧。
11.在本技术的一些实施例中,基于前述方案,所述解码单元还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧不是获取到的距离所述第j帧编码帧最近的帧,则确定获取到的距离所述第j帧编码帧最近的目标编码帧,对所述目标编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成所述第j帧信号帧。
12.在本技术的一些实施例中,基于前述方案,所述第i帧编码帧中还包含有与所述前n帧信号帧中的各个信号帧对应的指示位和第一字段,所述各个信号帧对应的指示位用于指示所述各个信号帧对应的前向纠错编码结果的长度,所述各个信号帧对应的第一字段用于记录所述各个信号帧对应的前向纠错编码结果;所述第一拆解单元配置为:根据所述第i帧编码帧中包含的所述各个信号帧对应的指示位和第一字段,获取所述各个信号帧对应的前向纠错编码结果。
13.在本技术的一些实施例中,基于前述方案,所述第i帧编码帧中还包含有与所述第i帧信号帧对应的第二字段,所述第二字段用于记录所述第i帧信号帧对应的编码结果;所述第一拆解单元配置为:根据所述第i帧编码帧中包含的所述第二字段获取所述第i帧信号帧对应的编码结果。
14.在本技术的一些实施例中,基于前述方案,所述n是根据网络状态确定的,所述n与所述网络状态成反相关关系。
15.根据本技术实施例的一个方面,提供了一种转码装置,包括:第二获取单元,配置为获取第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的编码结
果;第一生成单元,配置为根据所述前n帧信号帧分别对应的编码结果,生成所述前n帧信号帧分别对应的前向纠错编码结果;第二生成单元,配置为将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
16.在本技术的一些实施例中,基于前述方案,所述第一生成单元配置为:对所述前n帧信号帧分别对应的编码结果进行解码处理,得到所述前n帧信号帧分别对应的解码结果;对所述前n帧信号帧分别对应的解码结果进行重新量化处理,得到所述前n帧信号帧分别对应的量化结果;对所述前n帧信号帧分别对应的量化结果进行编码处理,生成所述前n帧信号帧分别对应的前向纠错编码结果。
17.在本技术的一些实施例中,基于前述方案,所述第一生成单元配置为:对所述前n帧信号帧分别对应的编码结果进行熵解码处理,以及对所述前n帧信号帧分别对应的量化结果进行熵编码处理。
18.在本技术的一些实施例中,基于前述方案,对所述前n帧信号帧分别对应的编码结果进行解码处理得到的解码结果中包含有子帧增益和激励信号能量;所述第一生成单元配置为:增加所述子帧增益的值,并对等降低所述激励信号能量;基于所述激励信号能量进行量化处理得到数据比特数;统计所述数据比特数,若单位时间的数据比特数小于目标码率,则停止增加所述子帧增益的值并停止降低所述激励信号能量,将所述子帧增益的实时值和实时激励信号能量作为所述量化结果。
19.在本技术的一些实施例中,基于前述方案,所述第二生成单元还配置为:根据所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前1帧信号帧对应的前向纠错编码结果,生成所述第i帧信号帧对应的指定编码帧,所述指定编码帧中不包含所述标志位。
20.根据本技术实施例的一个方面,提供了一种转码装置,包括:第三获取单元,配置为获取第i帧编码帧;第二拆解单元,配置为在所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位时,对所述第i帧编码帧进行拆解处理,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;第三生成单元,配置为获取对所述第i帧编码帧进行拆解处理得到的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理,基于所述第i帧信号帧的编码结果,生成所述第i帧编码帧转码后的码流。
21.在本技术的一些实施例中,基于前述方案,所述第三生成单元还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧是获取到的距离所述第j帧编码帧最近的帧,则根据所述第i帧编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果,生成所述第j帧编码帧转码后的码流。
22.在本技术的一些实施例中,基于前述方案,所述第三生成单元还配置为:若所述第i帧编码帧不是获取到的距离所述第j帧编码帧最近的帧,则确定获取到的距离所述第j帧编码帧最近的目标编码帧,根据所述目标编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果,生成所述第j帧编码帧转码后的码流。
23.在本技术的一些实施例中,基于前述方案,所述第二拆解单元还配置为在所述第i
帧编码帧中未包含有用于指示前向纠错编码帧的数量n的标志位时,跳过对所述第i帧编码帧的转码处理。
24.根据本技术实施例的一个方面,提供了一种编码装置,包括:第四获取单元,配置为获取待编码的信号帧;编码单元,配置为对第i帧信号帧进行编码处理,得到所述第i帧信号帧对应的编码结果,对所述第i帧信号帧的前n帧信号帧分别进行前向纠错编码,得到所述前n帧信号帧分别对应的前向纠错编码结果;第四生成单元,配置为将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
25.在本技术的一些实施例中,基于前述方案,所述编码单元还配置为根据网络状态确定所述第i帧信号帧的前向纠错编码帧的数量n。
26.在本技术的一些实施例中,基于前述方案,所述数量n与所述网络状态成反相关关系。
27.在本技术的一些实施例中,基于前述方案,所述第i帧信号帧对应的编码结果的码率大于所述前n帧信号帧分别对应的前向纠错编码结果的码率。
28.在本技术的一些实施例中,基于前述方案,所述第i帧信号帧对应的编码结果的码率和所述前n帧信号帧分别对应的前向纠错编码结果的码率按照由后往前的顺序依次递减。
29.在本技术的一些实施例中,基于前述方案,所述第四获取单元还配置为获取编码帧的接收端反馈的接收状态信息,所述接收状态信息中包含有丢包反馈信息;所述编码单元还配置为根据所述丢包反馈信息调整所述前n帧信号帧分别对应的前向纠错编码结果的码率。
30.根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述编码方法、解码方法或转码方法。
31.根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的编码方法、解码方法或转码方法。
32.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的编码方法、解码方法或转码方法。
33.在本技术的一些实施例所提供的技术方案中,通过对第i帧信号帧进行编码处理,并对第i帧信号帧的前n帧信号帧分别进行前向纠错编码,然后将第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成第i帧信号帧对应的编码帧,并在编码帧中包含有用于指示所述n值的标志位,使得编码端可以根据实际情况(比如网络状态等)在编码帧中设置前向纠错编码帧的数量,实现了对前向纠错编码帧数量的灵活调整,进而可以在网络状态较差时保证数据传输的可靠性,并且也可
以在网络状态较优时降低对传输带宽的占用。此外,解码端也可以根据编码帧中的标志位来确定前向纠错编码帧的数量,进而可以根据该数量实现对编码帧进行解码处理,并通过前向纠错编码帧重建未接收到的数据帧,提高了数据传输的可靠性。
34.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
35.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
36.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图;
37.图2示出视频编码装置和视频解码装置在流式传输系统中的放置方式示意图;
38.图3示出了根据本技术的一个实施例的编码方法的流程图;
39.图4示出了根据本技术的一个实施例的转码方法的流程图;
40.图5示出了根据本技术的一个实施例的转码方法的流程图;
41.图6示出了根据本技术的一个实施例的解码方法的流程图;
42.图7示出了根据本技术的一个实施例的音频信号传输系统的示意图;
43.图8示出了根据本技术的一个实施例的音频信号传输系统的示意图;
44.图9示出了图7和图8中所示的采集客户端的处理过程示意图;
45.图10示出了根据本技术的一个实施例的编码帧的结构示意图;
46.图11示出了图7和图8中所示的上行媒体代理的处理过程示意图;
47.图12示出了图7和图8中所示的下行媒体代理的处理过程示意图;
48.图13示出了图7和图8中所示的播放客户端的处理过程示意图;
49.图14示出了根据本技术的一个实施例的解码装置的框图;
50.图15示出了根据本技术的一个实施例的转码装置的框图;
51.图16示出了根据本技术的一个实施例的转码装置的框图;
52.图17示出了根据本技术的一个实施例的编码装置的框图;
53.图18示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
54.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
55.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
56.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
57.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
58.需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
59.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
60.如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
61.举例来说,第一终端装置110可对视频数据(例如由终端装置110采集的视频图片流)进行编码以通过网络150传输到第二终端装置120,已编码的视频数据以一个或多个已编码视频码流形式传输,第二终端装置120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。当然,第一终端装置110也可以对音频数据(例如由终端装置110采集的音频信号流)进行编码以通过网络150传输到第二终端装置120,已编码的音频数据以一个或多个已编码音频码流形式传输,第二终端装置120可从网络150接收已编码音频数据,对已编码音频数据进行解码以恢复音频数据,并根据恢复的音频数据播放音频信号。
62.在本技术的一个实施例中,系统架构100可以包括执行已编码视频数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对视频数据(例如由终端装置采集的视频图片流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,并可根据恢复的视频数据在可访问的显示装置上显示视频图片。当然,第三终端装置130和第四终端装置140之间也可以进行已编码音频数据的双向传输,比如发生voip(voice over internet protocol,基于ip的语音传输)期间。
63.在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本技术公开的原理可不限于此。本技术公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本技术的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本技术公开的操作来说可能是无关紧要的。
64.在本技术的一个实施例中,图2示出编码装置和解码装置在流式传输系统中的放置方式。该编码装置和解码装置可以是对视频数据进行的编码和解码,也可以是对音频数据进行的编码和解码。本技术实施例的技术方案适用于支持视频或音频传输的应用场景,包括例如视频会议、数字tv(television,电视机)、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等等,并且也适用于音频数据的传输场景,比如通过网络进行语音通话的场景。
65.流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等视频源201,视频源201创建未压缩的视频图片流202。在实施例中,视频图片流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流204),视频图片流202被描绘为粗线以强调高数据量的视频图片流,视频图片流202可由电子装置220处理,电子装置220包括耦接到视频源201的编码装置203。编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流202,已编码的视频数据204(或已编码的视频码流204)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流204),其可存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码装置210。解码装置210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出视频图片流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。
66.应注意,图2中所示的电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括解码装置,且电子装置230还可包括编码装置。此外,图2中所示的编码装置和解码装置也可以是对音频数据进行的编码和解码。
67.以下对本技术实施例的技术方案的实现细节进行详细阐述:
68.图3示出了根据本技术的一个实施例的编码方法的流程图,该编码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或者服务器来执行。参照图3所示,该编码方法至少包括步骤s310至步骤s330,详细介绍如下:
69.在步骤s310中,获取待编码的信号帧。
70.在本技术的一个实施例中,待编码的信号帧可以是未进行编码处理的多媒体信号帧,比如音频信号帧、视频信号帧、图片信号帧等。具体而言,可以通过采集设备来获取待编码的信号帧或者由计算机来生成信号帧,比如通过麦克风采集音频信号帧,通过摄像头采集视频信号帧和图像信号帧等。待编码的信号帧可以是需要传送给接收方的信号帧,也可以是需要编码压缩之后进行存储的信号帧。
71.在步骤s320中,对第i帧信号帧进行编码处理,得到第i帧信号帧对应的编码结果,对第i帧信号帧的前n帧信号帧分别进行前向纠错编码,得到第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果。
72.在本技术的一个实施例中,对第i帧信号帧进行编码处理可以是按照设定的编码策略进行编码处理,比如可以通过opus编码器对音频信号帧进行编码处理;可以通过基于h.264、vp8等标准的视频编码器来对视频信号帧进行编码处理等。对第i帧信号帧的前n帧
信号帧分别进行前向纠错编码的过程与对第i帧信号帧进行编码的过程类似。
73.在本技术的一个实施例中,n可以是任意非0的自然数,比如可以是1、2、3等,理论上n也可以为0,但是在这种情况下当前编码帧中不包含之前信号帧的fec编码结果。可选地,n可以是大于或等于2的值。
74.在步骤s330中,将第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成第i帧信号帧对应的编码帧,该编码帧中包含有用于指示n值的标志位。
75.在本技术的一个实施例中,将第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果进行合成处理的过程可以是:按照信号帧的顺序来将第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果进行排列组合,以确保生成的第i帧信号帧对应的编码帧中包含有第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果。并且需要在得到的编码帧中设置标志位来指示n值,以向解码端指示其中包含的前向纠错编码帧的数量。
76.在本技术的一个实施例中,可以根据网络状态来设定n值的大小,其中,n值与网络状态成反相关关系。具体地,若网络状态较好,丢包率较小,那么可以将n设置为较小的值;相反地,若网络状态较差,丢包率较大,那么可以将n设置为较大的值。
77.在本技术的一个实施例中,第i帧编码帧中还可以包含有与第i帧信号帧的前n帧信号帧中的各个信号帧对应的指示位和第一字段,各个信号帧对应的指示位用于指示各个信号帧对应的前向纠错编码结果的长度,各个信号帧对应的第一字段用于记录各个信号帧对应的前向纠错编码结果。并且第i帧编码帧中还可以包含有与第i帧信号帧对应的第二字段,该第二字段用于记录第i帧信号帧对应的编码结果。
78.在本技术的一个实施例中,由于编码帧在传输过程中丢包是概率性事件,不丢包是很可能发生的,但是不管是否丢包,至少需要保证当前传输的第i帧信号帧的编码结果的质量,因此可以针对第i帧信号帧的编码结果采用较高的码率,而由于第i帧信号帧的前n帧信号帧对应的前向纠错编码结果在不丢包的情况下是不需要的,因此可以采用较低的码率,从而使其占用较少的比特,保证带宽资源获得合理利用。
79.在本技术的一个实施例中,可以设置第i帧信号帧对应的编码结果的码率大于第i帧信号帧的前n帧信号帧对应的前向纠错编码结果的码率,而第i帧信号帧的前n帧信号帧对应的前向纠错编码结果的码率可以根据实际情况动态调整。可选地,第i帧信号帧对应的编码结果的码率和前n帧信号帧分别对应的前向纠错编码结果的码率按照由后往前的顺序依次递减,比如将第i帧信号帧对应的编码结果的码率设置为16kbps,将第i-1帧信号帧对应的前向纠错编码结果的编码设置为14kbps,将第i-2帧信号帧对应的前向纠错编码结果的编码设置为10kbps等。
80.在本技术的一个实施例中,还可以根据编码帧的接收端反馈的接收状态信息来确定丢包反馈信息,进而根据该丢包反馈信息调整第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果的码率。比如,若接收端反馈的丢包信息表示丢包率较大,则可以提高第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果的码率,以通过增加传输的数据量来保证数据传输的可靠性;相反地,若接收方反馈的丢包信息表示丢包率较小,则可以降低第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果的码率,以降低对传输带宽的占
用。
81.图3所示实施例的技术方案使得可以通过新的编码帧结构动态指示编码帧中包含的fec编码结果所对应的前向信号帧数量,实现了对前向纠错编码帧数量的灵活调整,并且可以基于网络状态对编码帧进行灵活调整,从而可以在网络状态较差时保证数据传输的可靠性,在网络状态较优时降低对传输带宽的占用。
82.图4示出了根据本技术的一个实施例的转码方法的流程图,该转码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或者服务器来执行。参照图4所示,该转码方法至少包括步骤s410至步骤s440,详细介绍如下:
83.在步骤s410中,获取第i帧编码帧。
84.在本技术的一个实施例中,第i帧编码帧可以是图3所示的实施例生成的编码帧,具体的生成过程和第i帧编码帧的结构可以参照前述实施例的技术方案,不再赘述。当然,在本技术的其它实施例中,第i帧编码帧也可以是采用现有标准生成的编码帧。
85.在步骤s420中,若第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位,则对第i帧编码帧进行拆解处理,该标志位用于指示第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果。
86.在本技术的一个实施例中,当获取到第i帧编码帧之后,可以先确定第i帧编码帧中是否包含有用于指示前向纠错编码帧的数量n的标志位,比如该标志位可以位于第i帧编码帧的帧头中,那么可以先对第i帧编码帧的帧头进行解码来确定是否包含有该标志位。如果第i帧编码帧中不包含该标志位,那么可以不采用图4所示的方法对第i帧编码帧进行转码处理,即可以直接跳过对第i帧编码帧的转码处理。
87.需要说明的是:如果第i帧编码帧中不包含该标志位,但是第i帧编码帧中包含有前1帧信号帧的前向纠错编码结果,那么也可以将第i帧编码帧转码为不包含任何前向纠错编码结果的码流。
88.在步骤s430中,获取对第i帧编码帧进行拆解处理得到的第i帧信号帧的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果分别用于对前n帧信号帧进行纠错处理。
89.在本技术的一个实施例中,第i帧编码帧中包含有与前n帧信号帧中的各个信号帧对应的指示位和第一字段,各个信号帧对应的指示位用于指示各个信号帧对应的前向纠错编码结果的长度,各个信号帧对应的第一字段用于记录各个信号帧对应的前向纠错编码结果,在这种情况下,在对第i帧编码帧进行拆解处理时可以根据第i帧编码帧中包含的各个信号帧对应的指示位和第一字段,获取各个信号帧对应的前向纠错编码结果。
90.在本技术的一个实施例中,第i帧编码帧中包含有与第i帧信号帧对应的第二字段,该第二字段用于记录第i帧信号帧对应的编码结果,在这种情况下,在对第i帧编码帧进行拆解处理时可以根据第i帧编码帧中包含的第二字段获取第i帧信号帧对应的编码结果。
91.在步骤s440中,基于第i帧信号帧的编码结果,生成第i帧编码帧转码后的码流。
92.在本技术的一个实施例中,可以直接将第i帧信号帧的编码结果作为第i帧编码帧转码后的码流;或者也可以对第i帧信号帧的编码结果进行解码处理,得到第i帧信号帧,然后再采用期望得到的码流所对应的协议重新对第i帧信号帧进行编码处理得到转码后的码流。
93.在本技术的一个实施例中,如果未获取到前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,那么可以根据第j帧信号帧对应的前向纠错编码结果来恢复出第j帧信号帧的编码结果。在本技术的实施例中,由于n可以是大于或等于2的值,因此第j帧编码帧之后可能有多个编码帧中都包含有第j帧信号帧对应的前向纠错编码结果,为了保证恢复出的第j帧信号帧的编码结果的效果,可以选择距离第j帧编码帧最近的编码帧来恢复出第j帧信号帧的编码结果。
94.具体而言,如果第i帧编码帧是获取到的距离第j帧编码帧最近的帧,那么可以根据第i帧编码帧拆解得到的第j帧信号帧对应的前向纠错编码结果,生成第j帧编码帧转码后的码流。比如可以直接将第j帧信号帧对应的前向纠错编码结果作为第j帧编码帧转码后的码流;或者也可以对第j帧信号帧对应的前向纠错编码结果进行解码处理,然后再采用期望得到的码流所对应的协议重新进行编码处理得到转码后的码流。
95.如果第i帧编码帧不是获取到的距离第j帧编码帧最近的帧,则可以先确定获取到的距离第j帧编码帧最近的目标编码帧,然后根据目标编码帧拆解得到的第j帧信号帧对应的前向纠错编码结果,生成第j帧编码帧转码后的码流。当然,这里的目标编码帧中是需要包含有第j帧信号帧对应的前向纠错编码结果的。
96.图4所示实施例的技术方案可以实现对图3所示的实施例中得到的编码帧进行转码处理,进而可以提供给不能对图3所示的实施例中的编码帧进行解码的设备,提高了系统的兼容性。
97.图5示出了根据本技术的一个实施例的转码方法的流程图,该转码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或者服务器来执行。参照图5所示,该转码方法至少包括步骤s510至步骤s530,详细介绍如下:
98.在步骤s510中,获取第i帧信号帧的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的编码结果。
99.在本技术的一个实施例中,信号帧同样可以是多媒体信号帧,比如音频信号帧、视频信号帧、图片信号帧等。第i帧信号帧的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的编码结果可以是不包含前向纠错编码信息的标准码流。比如通过opus编码器对音频信号帧进行编码处理得到的编码结果,通过基于h.264、vp8等标准的视频编码器对视频信号帧进行编码处理得到的编码结果等。
100.在步骤s520中,根据第i帧信号帧的前n帧信号帧分别对应的编码结果,生成第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果。
101.在本技术的一个实施例中,可以将第i帧信号帧的前n帧信号帧分别对应的编码结果作为这前n帧信号帧分别对应的前向纠错编码结果,但是这种方式会导致最后生成的编码帧在传输时占用较大的带宽。因此可以对这前n帧信号帧分别对应的编码结果进行重新量化处理,具体地,可以对这前n帧信号帧分别对应的编码结果进行解码处理,得到前n帧信号帧分别对应的解码结果,然后对这前n帧信号帧分别对应的解码结果进行重新量化处理,得到前n帧信号帧分别对应的量化结果,最后再对前n帧信号帧分别对应的量化结果进行编码处理,生成前n帧信号帧分别对应的前向纠错编码结果。可选地,重新量化过程前后的解码处理和编码处理可以是正常的解码和编码处理,比如通过opus编解码器进行的解码和编码处理,但是这种方式的复杂度较高,因此重新量化过程前后的解码处理和编码处理可以
采用熵解码和熵编码处理,这样可以有效提高解码和编码的速率,并且可以降低复杂度。
102.在本技术的一个实施例中,对前n帧信号帧分别对应的编码结果进行解码处理得到的解码结果中包含有子帧增益和激励信号能量,在这种情况下,对前n帧信号帧分别对应的解码结果进行重新量化处理的过程可以是增加子帧增益的值,并对等降低激励信号能量,然后基于激励信号能量进行量化处理得到数据比特数,当单位时间的数据比特数小于目标码率时,停止增加子帧增益的值并停止降低激励信号能量,此时将子帧增益的实时值和实时激励信号能量作为量化结果。这种方式可以有效降低最后生成的编码帧所占用的下行带宽。
103.在步骤s530中,将第i帧信号帧对应的编码结果和第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成第i帧信号帧对应的编码帧,该编码帧中包含有用于指示n值的标志位。
104.在本技术的一个实施例中步骤s530的具体细节与前述实施例中图3所示步骤s330的处理细节类似,不再赘述。
105.在本技术的一个实施例中,也可以根据第i帧信号帧的编码结果,以及第i帧信号帧的前1帧信号帧对应的前向纠错编码结果,生成第i帧信号帧对应的指定编码帧,该指定编码帧即为现有标准中只包含前1帧信号帧的前向纠错编码结果的编码帧,在这种情况下,可以在该编码帧中不设置前述的标志位,实现了对现有系统的前向兼容。
106.图5所示实施例的技术方案可以将普通码流(如标准码流)转换为图3所示实施例中的编码帧,同样可以提高系统的兼容性。
107.图6示出了根据本技术的一个实施例的解码方法的流程图,该解码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或者服务器来执行。参照图6所示,该解码方法至少包括步骤s610至步骤s640,详细介绍如下:
108.在步骤s610中,获取待解码的第i帧编码帧。
109.在本技术的一个实施例中,第i帧编码帧可以是图3所示的实施例生成的编码帧,也可以图5所示实施例转码得到的编码帧。具体的生成过程、转码过程和第i帧编码帧的结构可以参照前述实施例的技术方案,不再赘述。当然,在本技术的其它实施例中,第i帧编码帧也可以是采用现有标准生成的编码帧。
110.在步骤s620中,若第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位,则对第i帧编码帧进行拆解处理,该标志位用于指示第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果。
111.在本技术的一个实施例中步骤s620的具体细节与前述实施例中图4所示步骤s420的处理细节类似,不再赘述。
112.在步骤s630中,获取对第i帧编码帧进行拆解处理得到的第i帧信号帧的编码结果,以及第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果分别用于对前n帧信号帧进行纠错处理。
113.在本技术的一个实施例中步骤s630的具体细节与前述实施例中图4所示步骤s430的处理细节类似,不再赘述。
114.在步骤s640中,对第i帧信号帧的编码结果进行解码处理,得到第i帧信号帧。
115.在本技术的一个实施例中,可以根据对第i帧信号帧进行编码时所采用的标准协
议来对第i帧信号帧的编码结果进行解码处理。比如第i帧信号帧通过opus编码器进行编码,那么可以通过opus解码器对第i帧信号帧的编码结果进行解码处理。
116.在本技术的一个实施例中,如果未获取到前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,那么可以根据第j帧信号帧对应的前向纠错编码结果来恢复出第j帧信号帧。在本技术的实施例中,由于n可以是大于或等于2的值,因此第j帧编码帧之后可能有多个编码帧中都包含有第j帧信号帧对应的前向纠错编码结果,为了保证恢复出的第j帧信号帧的效果,可以选择距离第j帧编码帧最近的编码帧来恢复出第j帧信号帧。
117.具体而言,如果第i帧编码帧是获取到的距离第j帧编码帧最近的帧,那么可以对第i帧编码帧拆解得到的第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成第j帧信号帧。比如可以直接解码处理结果作为第j帧编码帧。
118.如果第i帧编码帧不是获取到的距离第j帧编码帧最近的帧,则可以先确定获取到的距离第j帧编码帧最近的目标编码帧,然后对目标编码帧拆解得到的第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成第j帧信号帧。当然,这里的目标编码帧中是需要包含有第j帧信号帧对应的前向纠错编码结果的。
119.图6所示实施例的技术方案使得解码端可以根据编码帧中的标志位来确定前向纠错编码帧的数量,进而可以根据该数量实现对编码帧进行解码处理,并通过前向纠错编码帧重建未接收到的数据帧,提高了数据传输的可靠性。
120.以下结合图7至图13,以对音频信号在传输过程中的编解码过程为例对本技术实施例的技术方案的实现细节进行详细阐述:
121.在本技术的一个应用场景中,当进行voip通话时,如果网络状态较差导致接收端不能正常收包,那么会导致无法完整恢复出语音,进而会造成voip音质损伤、引起卡顿等异常情况。为了解决这个问题,可以引入fec技术,具体地,发送端在将当前音频信号帧(以下简称当前信号帧)打包发送后,在下一个数据包中,仍然分配一定带宽对当前信号帧进行打包发送,即在其它数据包中引入“冗余包”,这样就在发送端建立了当前信号帧的额外数据冗余。在传输过程中,一旦当前信号帧丢失,那么可以等待“冗余包”到达接收端后,通过“冗余包”恢复出丢失包的内容。其中,在本技术的一个实施例中,音频信号的传输系统可以如图7所示,主要包括:采集客户端701、上行媒体代理702、后台服务器703、下行媒体代理704和播放客户端705。
122.其中,采集客户端701也可以称之为发送客户端,其中包含有编码器,主要是将采集到音频信号进行编码并封装成数据包进行发送。
123.上行媒体代理702也称之为上行转录器,其是上行的媒体网关,主要作用是在接收到采集客户端701发送的采用新版本协议的码流(本技术实施例中所涉及的新版本协议的码流会在下面内容中进行介绍)转换成老版本协议的码流(本技术实施例中的老版本协议的码流可以是不包含fec信息的标准码流),这样采用老版本协议的播放客户端可以正常解码,实现了前向兼容。当然,如果上行媒体代理702收到的是老版本协议的码流,则可以直接转发给后台服务器703。
124.后台服务器703包含有协议接口,由于voip通信系统可能需要互通不同的协议,比如voip协议、pstn(public switched telephone network,公共交换电话网络)协议等。因此,后台服务器703也可以实现多种协议的互通。具体地,后台服务器703也可以引入转码器
完成互通。比如协议1的码流向协议2的码流进行转码的过程包括:调用协议1对应的解码器,恢复出语音帧,然后再调用协议2对应的编码器对语音帧进行编码,输出对应于协议2的码流。当然,在本技术的实施例中,如果上行媒体代理702已经对发送给后台服务器703的码流进行了转码处理,且后台服务器703中的码流都是相同协议版本的码流,那么后台服务器703无需进行转码处理,但是后台服务器703可以进行诸如混音等处理。
125.下行媒体代理704对称于上行媒体代理702,主要功能是将后台服务器703下发的采用老版本协议的码流转换为新版本协议的码流,然后发送给播放客户端705。具体地,下行媒体代理704如果确定播放客户端705采用的是老版本协议,那么下行媒体代理704在接收到后台服务器703下发的采用老版本协议的码流之后,直接转发给播放客户端705;如果确定播放客户端705采用的是新版本协议,那么下行媒体代理704在接收到后台服务器703下发的采用老版本协议的码流之后,将其转换为新版本协议的码流,然后转发给播放客户端705。
126.在图7所示的系统架构中,上行媒体代理702经后台服务器703到下行媒体代理704之间的网段中的码流协议可以保持为老版本协议,这样可以实现前向兼容性管理。需要说明的是,图7中所示的上行媒体代理702、后台服务器703和下行媒体代理704的组合只是一种实现方式,在本技术的实施例中也可以通过其它方式来保证在端到端的传输过程中存在一个可以传输老版本协议码流的网段。
127.针对图7所示的系统架构,在一个具体应用场景中,如图8所示,上行媒体代理702与后台服务器703之间,以及后台服务器703与下行媒体代理704之间都是通过业务方的内网进行传输的;而采集客户端701与上行媒体代理702之间,以及下行媒体代理704与播放客户端705之间都是通过外网传输的。在图8所示的应用场景中,可以在业务方的内网中形成一个传输老版本协议码流的网段,进而可以支持采用不同版本协议的客户端进行音频数据的传输。
128.需要说明的是,如果参与通信的采集客户端和播放客户端所采用的协议版本是相同的,即不存在兼容问题,那么在图7和图8中也可以不设置上行媒体代理702和下行媒体代理704。
129.以下对采集客户端701、上行媒体代理702、下行媒体代理704和播放客户端705的处理过程进行详细阐述:
130.在本技术的一个实施例中,采集客户端701也可以称为发送端,主要是将音频信号通过编码器压缩成码流。本技术的实施例中采集客户端可以通过新版本协议对应的编码器流程来对输入的音频信号帧进行编码,具体如图9所示,假设当前信号帧输入的音频信号为pcm_cur,当前信号帧的前一帧输入的音频信号为pcm_prev1,当前信号帧之前的第二帧输入的音频信号为pcm_prev2(假设当前信号帧为第i帧,那么当前信号帧的前一帧为第i-1帧,当前信号帧之前的第二帧为第i-2帧),那么可以将当前信号帧pcm_cur通过编码器901进行编码,得到的编码结果为enc_cur;当前信号帧的前一帧pcm_prev1通过fec编码器902进行编码,得到的编码结果为enc_prev1;当前信号帧之前的第二帧pcm_prev2通过fec编码器903进行编码,得到的编码结果为enc_prev2。然后将enc_cur、enc_prev1与enc_prev2一起输入新码流生成模块904,得到当前信号帧对应的新码流(新码流即为根据新版本协议生成的码流)编码帧frame_cur。需要说明的是:编码器901可以是常用的对音频信号进行编码
的编码器,比如可以是opus编码器;fec编码器902与fec编码器903在进行编码时的处理流程与编码器901的处理流程可以是一致的。
131.采用图9所示的编码方法得到的新码流中的编码帧包含了当前信号帧的前两个信号帧的fec编码结果,为了便于标识新码流中的编码帧,在本技术的一个实施例中,新码流中的编码帧结构可以如图10所示:其中,编码帧结构中的第1个字节中的字段flag用于标识可恢复的帧数,其可以用来区分传统码流和本技术实施例中提出的新码流,比如对于图9所示的实施例,flag指示的值是2;编码帧结构中的第2字节的字段“prev-2长度”用来记录当前信号帧之前的第二帧信号帧pcm_prev2的fec编码结果的长度;第2字节之后的一段prev-2长度的字节用来指示当前信号帧之前的第二帧信号帧pcm_prev2的fec编码结果;编码帧结构中接下来用1个字节的字段“prev-1长度”记录当前信号帧的前一帧信号帧pcm_prev1的fec编码结果的长度,并用一段prev-1长度的字节指示当前信号帧的前一帧信号帧pcm_prev1的fec编码结果;编码帧结构中还包含了用于指示当前信号帧的编码结果的cur字段。
132.在本技术的一个实施例中,还可以对码流enc_cur、enc_prev1、以及enc_prev2的码率进行调整。具体地,以opus编码器为例,16khz采样率的信号在16kbps的码率下质量已经非常好了,考虑到实际丢包情况,enc_cur、enc_prev1和enc_prev2应该采用不同的码率。比如,enc_cur可以采用较高的码率,enc_prev1和enc_prev2使用相对较低的码率,这样配置的好处是:由于丢包是概率性事件,不丢包是很可能发生的,但是不管是否丢包,至少需要保证enc_cur的质量,因此可以针对enc_cur采用较高的码率,而由于enc_prev1和enc_prev2在不丢包的情况下是不需要的,因此可以采用较低的码率,从而使其占用较少的比特,保证带宽资源获得合理利用。更具体地,在一个实施例中,可以将enc_cur的码率设置为16kbps,将enc_prev1和enc_prev2的码率均设置为12kbps,或者可以将enc_cur的码率设置为16kbps,将enc_prev1的码率设置为14kbps,将enc_prev2的码率设置为10kbps。
133.在本技术的一个实施例中,编码端(如图7和图8中所示的采集客户端701)也可以根据编码帧的接收方(如图7和图8中所示的播放客户端705)反馈的丢包信息(该丢包信息可以位于接收方发送的接收反馈信息中)来调整enc_prev1和enc_prev2的码率,比如若接收方反馈的丢包信息表示丢包率较大,则可以提高enc_prev1和enc_prev2的码率;相反地,若接收方反馈的丢包信息表示丢包率较小,则可以降低enc_prev1和enc_prev2的码率。
134.需要说明的是,图9和图10是以当前编码帧中包含有当前信号帧的前两个信号帧的fec编码结果为例进行的阐述,在本技术的其它实施例中,当前编码帧中可以包含当前信号帧之前的任意n(n可以是任意非0的自然数,比如可以是1、2、3等,理论上n也可以为0,但是在这种情况下当前编码帧中不包含之前信号帧的fec编码结果)个信号帧的fec编码结果,其中,n值需要通过当前编码帧中的flag字段来进行标识。作为本技术的一个实施例中,编码端(如图7和图8中的采集客户端701)可以根据网络状态来设定n值的大小,比如若网络状态较好,丢包率较小,那么可以将n设置为较小的值;相反地,若网络状态较差,丢包率较大,那么可以将n设置为较大的值。可见,本技术实施例中通过设计新的编码帧结构,使得可以通过新的编码帧结构动态指示编码帧中包含的fec编码结果所对应的前向信号帧数量,进而可以基于网络状态对编码帧进行灵活调整,从而可以在网络状态较差时保证语音通话质量。
135.以下继续以当前编码帧中包含有当前信号帧的前两个信号帧的fec编码结果为例
进行阐述:
136.在本技术的一个实施例中,图7和图8中所示的上行媒体代理702主要是将采用新版本协议的码流转换成老版本协议的码流,该实施例中的新版本协议的码流即为采用图9所示的编码方法生成的具有图10所示结构的码流,老版本协议的码流可以是目前的标准码流。具体地,如图11所示,新码流(新码流即为根据新版本协议生成的码流)的当前编码帧frame_cur输入到新码流拆解模块1101得到enc_cur、enc_prev1和enc_prev2共计3帧信息的标准码流。其中,新码流拆解模块1101可以基于新码流的结构(即图10所示的结构)来进行拆解处理,enc_cur是当前信号帧pcm_cur的编码结果,enc_prev1是当前信号帧的前一帧pcm_prev1的fec编码结果,enc_prev2是当前信号帧之前的第二帧pcm_prev2的fec编码结果。然后调用转码模块1102输出标准码流enc_trans,具体而言:
137.如果当前编码帧的前两帧编码帧全部收到,则意味着enc_prev1和enc_prev2属于无用信息,可以丢弃,此时转码模块1102输出的转码结果enc_trans包含了enc_cur。
138.如果当前编码帧的前一帧编码帧丢失、而当前编码帧之前的第二帧编码帧正常收到,则意味着bit_prev2属于无用信息,可以丢弃,此时转码模块1102输出的转码结果enc_trans包含了enc_cur和enc_prev1两个部分;其中,enc_cur是当前编码帧对应的标准码流(该标准码流中不含fec编码信息),enc_prev1作为当前编码帧的前一编码帧对应的标准码流,两者可以分别进行传输。
139.如果当前编码帧的前一帧编码帧正常收到、而当前编码帧之前的第二帧编码帧丢失,则意味着bit_prev1属于无用信息,可以丢弃,此时转码模块1102输出的转码结果enc_trans包含了enc_cur和enc_prev2两个部分;其中,enc_cur是当前编码帧对应的标准码流,enc_prev2作为当前编码帧之前的第二个编码帧对应的标准码流,两者可以分别进行传输。
140.如果当前编码帧的前两个编码帧均丢失,则意味着enc_prev1和enc_prev2均是有用信息。在这种情况下,转码模块1102输出的转码结果enc_trans包含了enc_cur、enc_prev1、enc_prev2三个部分,其中,enc_cur是当前编码帧对应的标准码流,enc_prev1作为当前编码帧的前一编码帧对应的标准码流,enc_prev2作为当前编码帧之前的第二个编码帧对应的标准码流,三者可以分别进行传输。
141.需要说明的是,如果某个编码帧j丢失,而这个编码帧j之后的多个编码帧均正常接收,且这多个编码帧中都包含有编码帧j对应的fec编码信息,那么可以根据距离编码帧j最近的那个编码帧来生成编码帧j对应的标准码流。比如编码帧j丢失,编码帧j 1和编码帧j 2都正常收到,且编码帧j 1和编码帧j 2中都包含有编码帧j对应的fec编码信息,那么此时可以根据编码帧j 1中的fec编码信息来恢复出编码帧j对应的标准码流,这种通过最近编码帧来恢复的方式可以保证得到的标准码流的连贯性,进而可以确保最终解码得到的音频信号的连续性。
142.当经过上行媒体代理702处理之后,可以保证采用新版本协议的码流以标准码流的形式存在,并传输至下一个节点,实现了前向兼容。
143.在本技术的一个实施例中,图7和图8中所示的下行媒体代理704输入的是老版本协议的码流(该实施例中老版本协议的码流即为标准码流),然后可以根据需要下发到的播放客户端705的属性选择合适的转码策略。具体地,如果需要下发到的播放客户端705采用的是标准码流,那么下行媒体代理704可以直接将标准码流转发至播放客户端705。如果需
要下发到的播放客户端705采用的是新版本协议的码流(该实施例中的新版本协议的码流即为采用图9所示的编码方法生成的具有图10所示结构的码流),那么下行媒体代理704需要对输入的标准码流进行转码处理。
144.在本技术的一个实施例中,下行媒体代理704对输入的标准码流进行转码处理的过程如图12所示:假设下行媒体代理704当前接收到的第n帧不包含fec编码信息的标准码流为enc_cur,第n-1帧标准码流为enc_prev1,第n-2帧标准码流为enc_prev2。那么enc_cur直接输入到新码流生成模块1201中;enc_prev1经过熵解码器1202进行熵解码得到若干编码参数,然后将这些编码参数输入至重新量化模块1203中进行重新量化,然后再输入到熵编码器1204中得到处理后的码流enc_new1;enc_prev2经过熵解码器1205进行熵解码得到若干编码参数,然后将这些编码参数输入至重新量化模块1206中进行重新量化,然后再输入到熵编码器1207中得到处理后的码流enc_new2;最后enc-new2、enc-new1和enc_cur在新码流生成模块1201中生成新码流的编码帧frame_cur。
145.在本技术的一个实施例中,图12中之所以要对enc_prev1和enc_prev2进行处理得到enc-new1和enc-new2之后再输入至新码流生成模块1201,主要原因在于:假设下行媒体代理704接收到的enc_cur、enc_prev1和enc_prev2对应的码率均是16kbps,如果将连续的三帧码流直接进行组合后发送给播放客户端,那么码率是16-16-16,这样会导致下行带宽增加,因此可以对enc_prev1和enc_prev2进行二次量化(即重新量化)和编码,以降低对下行带宽的占用。本技术实施例中提出的一种方案如下:
146.通过熵解码器(即熵解码器1202和1205)对enc-prev1和enc-prev2进行解码,获得相关的参数集,该参数集可以包括:子帧增益、lsf(line spectral frequency,线谱频率)、pitch(音高)和ltp(long term prediction,长期预测)、激励信号能量等参数。从量化失真的角度考虑,增大子帧增益、同时降低激励信号能量,可以降低比特消耗。因此本技术实施例中的重新量化逻辑(即重新量化模块1203和1206的处理逻辑)可以是:增加当前子帧增益(假定增加量为delta),同时对等降低激励信号能量(降低量为delta),在这个过程中对降低后的激励信号能量进行重新量化并统计单位时间的比特数,如果单位时间的比特数小于目标码率,则中止这个过程;否则进一步增加子帧增益,同时对等降低激励信号能量,重复上述操作,直到单位时间的比特数小于目标码率为止。
147.在对子帧增益和激励信号能量进行重新量化之后,通过熵编码器(即熵编码器1204和1207)对重新量化之后的子帧增益和激励信号进行编码,同时将原lsf、pitch和ltp的码流进行合并生成enc-new1和enc-new2。本技术实施例中提出的重新量化操作可以有效降低根据enc-new1和enc-new2生成的新码流所占用的下行带宽。
148.需要说明的是:图12中通过采用熵解码器(即熵解码器1202和1205)和熵编码器(即熵编码器1204和1207)可以有效提高解码和编码的速率,并且对下行媒体代理704的性能要求也较低。当然,在本技术的其它实施例中,图12中的熵解码器和熵编码器也可以替换为常用的标准解码器和编码器(如opus)来进行解码和编码处理。
149.在图12所示的实施例中,enc-new2和enc-new1可以分别作为当前信号帧的前两个信号帧的fec编码结果,那么下行媒体代理704最终输出的新码流中的编码帧中包含了当前信号帧的前两个信号帧的fec编码结果(即图12中的enc-new2、enc-new1),在这种情况下,可以采用图10所示的编码帧结构来标识新码流中的编码帧,具体可参照前述实施例的技术
方案,不再赘述。
150.在本技术的一个实施例中,图7和图8中所示的播放客户端705的主要作用是在接收到码流之后,对码流进行解码播放。如果播放客户端705接收到的是标准码流,那么播放客户端705可以按照正常的解码方式进行解码处理。如果播放客户端705接收到的是采用新版本协议的码流(该实施例中的新版本协议的码流即为采用图9所示的编码方法生成的具有图10所示结构的码流),那么播放客户端705的处理过程可以参照图13所示:假设播放客户端705接收到的当前编码帧为frame_cur,那么会检测frame_cur是否为新版本协议的码流(该实施例中的新版本协议的码流即为采用图9所示的编码方法生成的具有图10所示结构的码流),如果检测到frame_cur是不包含fec编码信息的标准码流,那么直接通过解码器1305进行解码处理得到当前信号帧pcm_cur。如果检测到frame_cur是新版本协议的码流,则将frame_cur输入到新码流拆解模块1301中得到enc_cur、enc_prev1和enc_prev2共计3帧信息的标准码流。
151.其中,新码流拆解模块1301可以基于新码流的结构(即图10所示的结构)来进行拆解处理,其中,enc_cur是当前信号帧pcm_cur的编码结果,enc_prev1是当前信号帧的前一帧pcm_prev1的fec编码结果,enc_prev2是当前信号帧之前的第二帧pcm_prev2的fec编码结果。在得到enc_cur、enc_prev1和enc_prev2之后,将enc_cur输入至解码器1302中得到当前信号帧pcm_cur。而对于enc_prev1和enc_prev2的处理,分如下几种情况:
152.如果当前编码帧frame_cur的前一帧编码帧(即prev1)丢失,则将enc_prev1输入至fec解码器1303,将解码器1303的输出结果作为当前信号帧pcm_cur的前一信号帧pcm_prev1;当然,如果当前编码帧frame_cur的前一帧编码帧(即prev1)正常收到,则可以丢弃enc_prev1。
153.如果当前编码帧frame_cur之前的第二帧编码帧(即prev2)丢失,则将enc_prev2输入至fec解码器1304,将解码器1304的输出结果作为当前信号帧pcm_cur之前的第二帧信号帧pcm_prev2;当然,如果当前编码帧frame_cur之前的第二帧编码帧(即prev2)正常收到,则可以丢弃enc_prev2。
154.需要说明的是:解码器1302可以是常用的解码器,比如可以是opus解码器;fec解码器1303与fec解码器1304在进行解码时的处理流程与解码器1302的处理流程可以是一致的。
155.在本技术的一个实施例中,如果某个编码帧j丢失,而这个编码帧j之后的多个编码帧均正常接收,且这多个编码帧中都包含有编码帧j对应的fec编码信息,那么可以根据距离编码帧j最近的那个编码帧来生成编码帧j对应的信号帧。比如编码帧j丢失,编码帧j 1和编码帧j 2都正常收到,且编码帧j 1和编码帧j 2中都包含有编码帧j对应的fec编码信息,那么此时可以根据编码帧j 1中的fec编码信息来解码得到编码帧j对应的信号帧,这种通过最近编码帧来恢复的方式可以保证解码得到的音频信号的连续性。
156.本技术上述实施例的技术方案是以对音频信号在传输过程中的编解码过程为例进行的说明,但是本技术实施例的技术方案也可以推广至对其它多媒体数据的处理,比如可以通过本技术上述实施例的技术方案实现对视频信号在传输过程中的编解码,进而使得可以通过新的编码帧结构动态指示编码帧中包含的fec编码结果所对应的前向信号帧数量,并且也可以基于网络状态对编码帧进行灵活调整,从而可以在网络状态较差时保证数
据传输的可靠性。
157.以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的方法。对于本技术装置实施例中未披露的细节,请参照本技术上述的方法实施例。
158.图14示出了根据本技术的一个实施例的解码装置的框图,该解码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或者服务器内。
159.参照图14所示,根据本技术的一个实施例的解码装置1400,包括:第一获取单元1402、第一拆解单元1404和解码单元1406。
160.其中,第一获取单元1402配置为获取待解码的第i帧编码帧;第一拆解单元1404配置为在所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位时,对所述第i帧编码帧进行拆解处理,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;解码单元1406配置为获取对所述第i帧编码帧进行拆解处理的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理,对所述第i帧信号帧的编码结果进行解码处理,得到所述第i帧信号帧。
161.在本技术的一些实施例中,基于前述方案,解码单元1406还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧是获取到的距离所述第j帧编码帧最近的帧,则对所述第i帧编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成所述第j帧信号帧。
162.在本技术的一些实施例中,基于前述方案,解码单元1406还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧不是获取到的距离所述第j帧编码帧最近的帧,则确定获取到的距离所述第j帧编码帧最近的目标编码帧,对所述目标编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果进行解码处理,根据解码处理的结果生成所述第j帧信号帧。
163.在本技术的一些实施例中,基于前述方案,所述第i帧编码帧中还包含有与所述前n帧信号帧中的各个信号帧对应的指示位和第一字段,所述各个信号帧对应的指示位用于指示所述各个信号帧对应的前向纠错编码结果的长度,所述各个信号帧对应的第一字段用于记录所述各个信号帧对应的前向纠错编码结果;第一拆解单元1404配置为:根据所述第i帧编码帧中包含的所述各个信号帧对应的指示位和第一字段,获取所述各个信号帧对应的前向纠错编码结果。
164.在本技术的一些实施例中,基于前述方案,所述第i帧编码帧中还包含有与所述第i帧信号帧对应的第二字段,所述第二字段用于记录所述第i帧信号帧对应的编码结果;第一拆解单元1404配置为:根据所述第i帧编码帧中包含的所述第二字段获取所述第i帧信号帧对应的编码结果。
165.在本技术的一些实施例中,基于前述方案,所述n是根据网络状态确定的,所述n与所述网络状态成反相关关系。
166.图15示出了根据本技术的一个实施例的转码装置的框图,该转码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或者服务器内。
167.参照图15所示,根据本技术的一个实施例的转码装置1500,包括:第二获取单元
1502、第一生成单元1504和第二生成单元1506。
168.其中,第二获取单元1502配置为获取第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的编码结果;第一生成单元1504配置为根据所述前n帧信号帧分别对应的编码结果,生成所述前n帧信号帧分别对应的前向纠错编码结果;第二生成单元1506配置为将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
169.在本技术的一些实施例中,基于前述方案,第一生成单元1504配置为:对所述前n帧信号帧分别对应的编码结果进行解码处理,得到所述前n帧信号帧分别对应的解码结果;对所述前n帧信号帧分别对应的解码结果进行重新量化处理,得到所述前n帧信号帧分别对应的量化结果;对所述前n帧信号帧分别对应的量化结果进行编码处理,生成所述前n帧信号帧分别对应的前向纠错编码结果。
170.在本技术的一些实施例中,基于前述方案,第一生成单元1504配置为:对所述前n帧信号帧分别对应的编码结果进行熵解码处理,以及对所述前n帧信号帧分别对应的量化结果进行熵编码处理。
171.在本技术的一些实施例中,基于前述方案,对所述前n帧信号帧分别对应的编码结果进行解码处理得到的解码结果中包含有子帧增益和激励信号能量;第一生成单元1504配置为:增加所述子帧增益的值,并对等降低所述激励信号能量;基于所述激励信号能量进行量化处理得到数据比特数;统计所述数据比特数,若单位时间的数据比特数小于目标码率,则停止增加所述子帧增益的值并停止降低所述激励信号能量,将所述子帧增益的实时值和实时激励信号能量作为所述量化结果。
172.在本技术的一些实施例中,基于前述方案,第二生成单元1506还配置为:根据所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前1帧信号帧对应的前向纠错编码结果,生成所述第i帧信号帧对应的指定编码帧,所述指定编码帧中不包含所述标志位。
173.图16示出了根据本技术的一个实施例的转码装置的框图,该转码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或者服务器内。
174.参照图16所示,根据本技术的一个实施例的转码装置1600,包括:第三获取单元1602、第二拆解单元1604和第三生成单元1606。
175.其中,第三获取单元1602配置为获取第i帧编码帧;第二拆解单元1604配置为在所述第i帧编码帧中包含有用于指示前向纠错编码帧的数量n的标志位时,对所述第i帧编码帧进行拆解处理,所述标志位用于指示所述第i帧编码帧中包含有第i帧信号帧对应的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果;第三生成单元1606配置为获取对所述第i帧编码帧进行拆解处理得到的所述第i帧信号帧的编码结果,以及所述第i帧信号帧的前n帧信号帧分别对应的前向纠错编码结果,所述前n帧信号帧分别对应的前向纠错编码结果分别用于对所述前n帧信号帧进行纠错处理,基于所述第i帧信号帧的编码结果,生成所述第i帧编码帧转码后的码流。
176.在本技术的一些实施例中,基于前述方案,第三生成单元1606还配置为:若未获取到所述前n帧信号帧中的第j帧信号帧对应的第j帧编码帧,且所述第i帧编码帧是获取到的距离所述第j帧编码帧最近的帧,则根据所述第i帧编码帧拆解得到的所述第j帧信号帧对
应的前向纠错编码结果,生成所述第j帧编码帧转码后的码流。
177.在本技术的一些实施例中,基于前述方案,第三生成单元1606还配置为:若所述第i帧编码帧不是获取到的距离所述第j帧编码帧最近的帧,则确定获取到的距离所述第j帧编码帧最近的目标编码帧,根据所述目标编码帧拆解得到的所述第j帧信号帧对应的前向纠错编码结果,生成所述第j帧编码帧转码后的码流。
178.在本技术的一些实施例中,基于前述方案,第二拆解单元1604还配置为在所述第i帧编码帧中未包含有用于指示前向纠错编码帧的数量n的标志位时,跳过对所述第i帧编码帧的转码处理。
179.图17示出了根据本技术的一个实施例的编码装置的框图,该编码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或者服务器内。
180.参照图17所示,根据本技术的一个实施例的编码装置1700,包括:第四获取单元1702、编码单元1704和第四生成单元1706。
181.其中,第四获取单元1702配置为获取待编码的信号帧;编码单元1704配置为对第i帧信号帧进行编码处理,得到所述第i帧信号帧对应的编码结果,对所述第i帧信号帧的前n帧信号帧分别进行前向纠错编码,得到所述前n帧信号帧分别对应的前向纠错编码结果;第四生成单元1706配置为将所述第i帧信号帧对应的编码结果和所述前n帧信号帧分别对应的前向纠错编码结果进行合成处理,生成所述第i帧信号帧对应的编码帧,所述编码帧中包含有用于指示所述n值的标志位。
182.在本技术的一些实施例中,基于前述方案,编码单元1704还配置为根据网络状态确定所述第i帧信号帧的前向纠错编码帧的数量n。
183.在本技术的一些实施例中,基于前述方案,所述数量n与所述网络状态成反相关关系。
184.在本技术的一些实施例中,基于前述方案,所述第i帧信号帧对应的编码结果的码率大于所述前n帧信号帧分别对应的前向纠错编码结果的码率。
185.在本技术的一些实施例中,基于前述方案,所述第i帧信号帧对应的编码结果的码率和所述前n帧信号帧分别对应的前向纠错编码结果的码率按照由后往前的顺序依次递减。
186.在本技术的一些实施例中,基于前述方案,第四获取单元1702还配置为获取编码帧的接收端反馈的接收状态信息,所述接收状态信息中包含有丢包反馈信息;编码单元1704还配置为根据所述丢包反馈信息调整所述前n帧信号帧分别对应的前向纠错编码结果的码率。
187.图18示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
188.需要说明的是,图18示出的电子设备的计算机系统1800仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
189.如图18所示,计算机系统1800包括中央处理单元(central processing unit,cpu)1801,其可以根据存储在只读存储器(read-only memory,rom)1802中的程序或者从存储部分1808加载到随机访问存储器(random access memory,ram)1803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 1803中,还存储有系统操作所需的各种程序和数据。cpu 1801、rom 1802以及ram 1803通过总线1804彼此相连。输
入/输出(input/output,i/o)接口1805也连接至总线1804。
190.以下部件连接至i/o接口1805:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至i/o接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。
191.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被中央处理单元(cpu)1801执行时,执行本技术的系统中限定的各种功能。
192.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
193.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
194.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
195.作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
196.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
197.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
198.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
199.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献