本技术实施例涉及编解码领域,尤其涉及一种编码方法及电子设备。
背景技术:
1、随着高清音视频以及三维(3-dimension,3d)音视频的发展,人们对音视频质量的需求越来越高,随之而来的是媒体应用中音视频数据量的迅猛增长;这也使得音视频压缩成为媒体通信和媒体广播等媒体应用中不可或缺的环节。
2、传统的音视频压缩技术都是基于信号处理的基本原理,在时间、空间上利用信号的相关性对原始的音视频数据进行压缩,减少数据量,使其便于传输或存储。随着人工智能(artificial intelligence,ai)技术的不断发展和成熟,ai技术也被引入到音视频编解码领域,带来编码性能的提升。
3、通常,编码标准完成标准化后,一般不会再对涉及的ai模型进行更新迭代,从而影响编码标准的长期演进和性能优化。
技术实现思路
1、鉴于此,本技术提供一种编码方法及电子设备。
2、第一方面,本技术实施例提供一种应用于第一电子设备的编码方法,该方法包括:首先,获取待编码信号;接着,生成第一码流,第一码流包括第二码流和模型标识,第二码流是基于编码模型对待编码信号进行编码得到的,模型标识的值为预设标识值,预设标识值用于指示第二电子设备获取解码模型的模型信息,解码模型与编码模型对应。
3、这样,第一电子设备通过将第一码流中的模型标识的值设置为预设标识值,来指示第二电子设备获取解码模型的模型信息;在第一码流传输到第二电子设备之后,第二电子设备可以根据预设标识值,来获取解码模型的模型信息,实现第二电子设备的解码模型与第一电子设备的编码模型的同步更新,或者实现第二电子设备用于解码的解码模型与第一电子设备用于编码的编码模型的同步切换。从而,有利于编码标准的长期演进和编码性能优化。
4、示例性的,编码模型和解码模型均可以通过神经网络实现;因此,编码模型也可以称为ai编码模型,解码模型也可以称为ai解码模型。
5、一种可能的方式中,编码模型和解码模型为两个独立的模型;此时,编码模型和解码模型可以联合训练。一种可能的方式中,编码模型和解码模型是一个模型的两个部分。
6、应该理解的是,当编码模型和解码模型是一个模型的两个部分时,预设标识值可以用于指示第二电子设备获取编码模型的模型信息和解码模型的模型信息;这样,第二电子设备可以根据编码模型的模型信息重构编码模型,以及根据解码模型的模型信息重构解码模型。本技术以编码模型和解码模型为两个独立的模型为例进行说明。
7、一种可能的方式中,可以在第一码流中新增一个标识(即flag)或新增一个字段,作为模型标识。一种可能的方式中,可以复用第一码流中已有的字段,将该已有的字段作为模型标识,本技术对此不作限制。当复用第一码流中已有字段,将该已有的字段作为模型标识时,本技术无需改变解码语法,即在实现后向兼容的条件下,实现模型更新或切换。
8、示例性的,待编码信号可以包括但不限于:音频信号、图像和视频信号。
9、根据第一方面,第一码流还包括第三码流,第三码流是基于解码模型的模型信息生成的。其中,预设标识值可以用于表征第一码流中包含第三码流。这种情况中,预设标识值可以用于指示第二电子设备从第一码流中获取解码模型的模型信息。这样,第一电子设备可以将解码模型的模型信息传输至第二电子设备中,以便于第二电子设备基于解码模型的模型信息,重构用于解码的解码模型。
10、根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:基于解码模型的模型信息,生成第三码流;生成第一码流,包括:封装第二码流和第三码流,以得到第一码流。
11、根据第一方面,或者以上第一方面的任意一种实现方式,第一码流还包括解码模型的模型信息对应的索引信息。其中,预设标识值用于表征第一码流包括解码模型的模型信息对应的索引信息。这种情况下,预设标识值可以用于指示第二电子设备根据从第一码流中解析出的索引信息,从第三电子设备中获取解码模型的模型信息。
12、这样,第一电子设备仅需传输解码模型的模型信息对应的索引信息即可,相对于传输解码模型的模型信息而言,码率开销更小,且能够降低带宽需求。
13、示例性的,索引信息可以是统一资源定位符(uniform resource locator,url),本技术对此不作限制。
14、根据第一方面,或者以上第一方面的任意一种实现方式,生成第一码流,包括:基于第二码流和解码模型的模型信息对应的索引信息,以得到第一码流。
15、根据第一方面,或者以上第一方面的任意一种实现方式,预设标识值还用于表征解码模型的模型信息存储于第三设备的预设存储位置。这种情况下,预设标识值可以用于指示第二电子设备从第三电子设备的预设存储位置获取解码模型的模型信息;其中,预设存储位置可以是第一电子设备和第二电子设备预先约定的位置。
16、这样,第一电子设备无需传输解码模型的模型信息对应的索引信息,也无需传输解码模型的模型信息;进而码率开销更小,且带宽需求更低。
17、需要说明的是,假设,将第二电子设备从第一码流中获取模型信息的方式,称为第一方式;将第二电子设备根据从第一码流中获取模型信息对应索引信息,获取模型信息的方式,称为第二方式;将第二电子设备从第三电子设备的预设存储位置获取模型信息的方式,称为第三方式。一种可能的方式中,第一电子设备和第二电子设备可以预先约定第二电子设备获取解码模型的模型信息的方式。在编解码过程中,当第一电子设备和第二电子设备约定第一方式时,第一电子设备可以基于解码模型的模型信息,生成第三码流;以及封装第二码流和第三码流,以得到第一码流。在编解码过程中,当第一电子设备和第二电子设备约定第二方式时,第一电子设备可以基于第二码流和解码模型的模型信息对应的索引信息,生成第一码流。在编解码过程中,当第一电子设备和第二电子设备约定第三方式时,第一电子设备可以采用第二码流生成第一码流。
18、一种可能的方式中,在编解码过程中,第一电子设备可以从第一方式、第二方式和第三方式中选取一种方式,作为目标方式。当目标方式为第一方式时,第一电子设备可以基于解码模型的模型信息,生成第三码流;以及封装第二码流和第三码流,以得到第一码流。当目标方式为第二方式时,第一电子设备可以基于第二码流和解码模型的模型信息对应的索引信息,生成第一码流。当目标方式为第三方式时,第一电子设备可以采用第二码流生成第一码流。
19、根据第一方面,或者以上第一方面的任意一种实现方式,模型标识为基本流(elementary stream,es)的字段。
20、示例性的,es的封装格式可以包括多个字段,es的字段可以是指es的封装格式所包括的字段。或者说,数据按照es的封装格式封装后可以得到es包,es包可以包括多个字段,es的字段可以是指es包中的字段。
21、根据第一方面,或者以上第一方面的任意一种实现方式,当第一码流的目标码流类型为按照目标容器格式封装的码流类型或按照目标传输协议封装的码流类型时,模型标识为目标容器格式的字段。这样,第二电子设备无需解析es包即可获取到模型标识的值。
22、示例性的,目标容器格式包括但不限于传输流(transport stream,ts)格式、mp4格式等等,本技术对此不作限制。
23、示例性的,目标容器格式可以包括多个字段,目标容器格式的字段可以是指目标容器格式所包括的字段。或者说,数据按照目标容器格式封装后可以得到封装包,该封装包可以包括多个字段,目标容器格式的字段可以是指按照目标容器格式封装所得到的封装包中的字段。例如,当目标容器格式为ts格式/mp4格式时,目标容器格式的字段可以是指ts包中的字段。
24、示例性的,目标传输协议可以包括多种,例如基于流媒体的传输协议(http livestreaming,hls)、实时传输协议(real-time transport protocol,rtp)等,本技术对此不作限制。
25、根据第一方面,或者以上第一方面的任意一种实现方式,当第一码流的目标码流类型为按照目标传输协议封装的码流类型时,模型标识为目标传输协议的字段。这样,第二电子设备无需按照目标容器格式对第一码流进行解封装也无需解析es包,即可以获取到模型标识的值。
26、示例性的,目标传输协议的封装格式可以包括多个字段,目标传输协议的字段可以是指目标传输协议的封装格式所包括的字段。或者说,数据按照目标传输协议的封装格式封装后可以得到封装包,该封装包可以包括多个字段,目标传输协议的字段可以是指按照目标传输协议封装所得到的封装包中的字段。
27、根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:判断解码模型是否为更新后的解码模型;当解码模型为更新后的解码模型时,将模型标识的值设置为预设标识值。此时,预设标识值用于指示第二电子设备获取更新后的解码模型的模型信息。这种情况中,编码模型可以不更新,仅更新解码模型(如优化解码模型);此时,更新后的解码模型与编码模型对应。
28、一种可能的情况中,编码模型和解码模型均更新;则该方法还包括:判断编码模型和解码模型是否均更新;基于编码模型对待编码信号进行编码,以得到第二码流,包括:当确定编码模型和解码模型均更新时,基于更新后的编码模型对待编码信号进行编码,以得到第二码流;此时,预设标识值用于指示第二电子设备获取更新后的解码模型的模型信息,更新后的解码模型与更新后的编码模型对应。
29、一种可能的情况中,第一电子设备包括多个编码模型和多个解码模型(编码模型与解码模型一一对应),该方法还包括:判断是否切换用于编码的编码模型;当确定切换了用于编码的编码模型时,基于切换后的编码模型对待编码信号进行编码,以得到第二码流;此时,预设标识值用于指示第二电子设备获取切换后的解码模型的模型信息,切换后的解码模型与切换后的编码模型对应。
30、应该理解的是,无论第一电子设备中的编码模型和解码模型是否更新(或者无论解码模型是否更新),以及无论第一电子设备中编码器是否切换用于编码的编码模型,第一电子设备均可以将第一码流中模型标识的值设置为预设标识值。这种情况下,预设标识值可以用于表征解码模型(或编码模型)的类型;对应的,第二电子设备在获取到预设标识值后,判断第二电子设备是否存在预设标识值对应类型的解码模型;当不存在预设标识值对应类型的解码模型时,再获取解码模型的模型信息。
31、根据第一方面,或者以上第一方面的任意一种实现方式,封装第二码流和第三码流,以得到第一码流,包括:按照目标码流类型封装第二码流和第三码流,以得到第一码流。
32、需要说明的是,一种可能的方式中,第一电子设备和第二电子设备可以预先约定目标码流类型,这样,第一电子设备按照目标码流类型封装第二码流和第三码流,以及第二电子设备按照目标码流类型解封装第一码流。
33、一种可能的方式中,在编码过程中,第一电子设备可以按照需求从多种码流类型中,选取一种码流类型作为目标码流类型;对应的,第二电子设备通过识别出第一码流的码流类型(即目标码流类型),然后根据目标码流类型,来对第一码流进行解封装。
34、根据第一方面,或者以上第一方面的任意一种实现方式,目标码流类型为es类型,按照目标码流类型封装第二码流和第三码流,以得到第一码流,包括:将第三码流和第二码流封装为第一es包,将第一es包作为第一码流。也就是说,第一码流为es流,将第二码流和第三码流封装在同一个es包中传输。这样,在得到es包之后,可以直接传输es包,无需再按照目标容器格式或目标传输协议对es包进行封装,能够减少码率开销,以及降低带宽需求。此外,将第二码流和第三码流封装在同一个es包,可以在同一个通道发送第二码流和第三码流,能够降低传输复杂度。
35、根据第一方面,或者以上第一方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型,按照目标码流类型封装第二码流和第三码流,以得到第一码流,包括:将第三码流和第二码流封装为第二es包;按照目标容器格式封装第二es包,以得到第一码流。其中,可以将es包划分为多个小包之后再按照目标容器格式进行封装,这样,有利于码流分发设备进行码流分发以及音视频同步控制。
36、示例性的,当目标容器格式为ts格式时,第一码流为ts流,可以将第二码流和第三码流封装在同一个es包,并将该es包封装为一个ts流传输。当目标容器格式mp4格式,第一码流为mp4流,将第二码流和第三码流封装在同一个es包,并将该es包封装为mp4的一个ts流。
37、根据第一方面,或者以上第一方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型,按照目标码流类型封装第二码流和第三码流,以得到第一码流,包括:将第三码流封装为第三es包,以及将第二码流作为第四es包;按照目标容器格式封装第三es包和第四es包,并将第三es包的类型设置为预设类型以及将第四es包的类型设置为媒体类型,以得到第一码流。也就是说,将第二码流和第三码流封装为不同的es包传输。这样,相对于将第二码流和第三码流封装在同一个es包中而言,第二电子设备无需对es包进行拆分来解析出第二码流和第三码流,降低解析过程的复杂度。
38、示例性的,媒体类型可以包括但不限于:音频类型、视频类型和图像类型。
39、根据第一方面,或者以上第一方面的任意一种实现方式,预设类型为元数据类型。也就是说,将第三码流作为元数据封装。
40、根据第一方面,或者以上第一方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型,按照目标码流类型封装第二码流和第三码流,以得到第一码流,包括:将第三码流封装为第五es包,以及将第二码流作为第六es包;按照目标容器格式封装第五es包并将第五es包的类型设置为预设类型,以得到第四码流;按照目标容器格式封装第六es包并将第六es包的类型设置为媒体类型,以得到第五码流;组合第四码流和第五码流,以得到第一码流。也就是说,按照目标容器格式分别封装第二码流和第三码流,例如,将第二码流和第三码流封装为两个ts流。这样,相对于将第二码流和第三码流封装在同一个ts流中而言,第二电子设备无需对ts流进行拆分来解析出第二码流和第三码流,降低了解析过程的复杂度。
41、需要说明的是,组合第四码流和第五码流,可以被理解为仅采用第四码流和第五码流进行组合。
42、根据第一方面,或者以上第一方面的任意一种实现方式,目标码流类型为按照目标传输协议封装的码流类型,按照目标码流类型封装第二码流和第三码流,以得到第一码流,包括:将第三码流封装为第七es包,以及将第二码流作为第八es包;按照目标容器格式封装第七es包并将第七es包的类型设置为预设类型,以得到第六码流;按照目标容器格式封装第八es包并将第八es包的类型设置为媒体类型,以得到第七码流;按照目标传输协议封装第六码流和第七码流,以得到第一码流。也就是说,在按照目标容器格式分别封装第二码流和第三码流之后,再按照目标传输协议封装。其中,可以生成重建精度不同的第二码流(可以理解为解码第二码流得到的重建信号的精度);这样,有利于码流分发设备根据带宽分发包含重建精度不同的第二码流的第一码流,保证重建信号播放的流畅性。
43、需要说明的是,组合第四码流和第五码流所得到的第一码流,仅包括第四码流和第五码流;而按照目标传输协议封装第四码流和第五码流所得到的第一码流,除了包括第六码流和第七码流之外,还包括目标传输协议的封装格式所包含的字段。
44、根据第一方面,或者以上第一方面的任意一种实现方式,第一码流还包括索引文件,索引文件包括第六码流的索引信息以及第七码流的索引信息,索引文件中第六码流的索引信息位于第七码流的索引信息之前。这样,第二电子设备可以先获取到用于重构解码模型的模型信息,能够缩短解码各帧信号对应的第二码流的时延。
45、示例性的,目标码流类型为按照hls封装的码流类型,第一码流可以为hls。
46、根据第一方面,或者以上第一方面的任意一种实现方式,第一码流还包括索引文件,索引文件中初始化标签的属性信息包括第六码流的索引信息。这样,能够保证解码器可以在确定解码模型重构完成并在读取到解码模型之后(即解码器的初始化),再对第二码流进行解码。
47、示例性的,目标码流类型为按照hls封装的码流类型,第一码流可以为hls。
48、根据第一方面,或者以上第一方面的任意一种实现方式,待编码信号为m帧,第二码流为m条,模型信息包括n个信息组,第三码流包括n条子码流,n个信息组与n条子码流一一对应,第一es包包括n个第九es包和m-n个第十es包,m和n为正整数,m大于或等于n;将第三码流和第二码流封装为第一es包,包括:将n条子码流与n条第二码流封装为n个第九es包,将其他m-n条第二码流作为m-n个第十es包;其中,第九es包包括一条子码流和一条第二码流,第十es包包括一条第二码流。
49、其中,一条第二码流为基于编码模型对一帧待编码信号进行编码得到的。n可以根据模型信息(或模型信息的编码数据)的数据量、网络带宽和音频信号的编码数据来确定;这样,能够保证第二电子设备播放的重建信号的流畅性。
50、根据第一方面,或者以上第一方面的任意一种实现方式,第一码流还包括索引文件,索引文件包括解码模型的模型信息对应的索引信息。
51、示例性的,目标码流类型为按照hls封装的码流类型,第一码流可以为hls。
52、根据第一方面,或者以上第一方面的任意一种实现方式,基于第二码流和解码模型的模型信息对应的索引信息,得到第一码流,包括:基于解码模型的模型信息对应的索引信息,生成第八码流;封装第二码流和第八码流,以得到第一码流。这与封装第二码流和第三码流,以得到第一码流的方式类似,在此不再赘述。
53、根据第一方面,或者以上第一方面的任意一种实现方式,第三码流包括模型信息的描述信息和模型信息,或者,第三码流包括模型信息的描述信息和模型信息的编码数据。
54、根据第一方面,或者以上第一方面的任意一种实现方式,模型信息包括模型结构信息或模型参数。
55、其中,模型结构信息可以是指神经网络的网络结构信息,网络结构信息可以包括网络层和网络层之间的连接关系。其中,解码模型可以包括多种类型(例如,卷积层、全连接层、rnn(recurrent neural network,循环神经网络)层、激活层等)的网络层,每种类型的网络层可以是一个或多个。
56、示例性的,模型参数可以是指神经网络的网络参数,网络参数可以是指网络层对应的权重矩阵和偏置矩阵;其中,权重矩阵由多个网络层的权重向量组成,偏置矩阵由多个网络层的偏置向量组成。其中,每个网络层可以由一个或多个神经元构成,该网络层的权重向量中的一个值表示该网络层中一个神经元的权重值,该网络层的偏置向量中的一个值表示该网络层中一个神经元的偏置值。
57、一种可能的方式中,解码模型的模型信息可以是解码模型的模型文件,即包括解码模型的所有网络层之间的连接和所有网络层的网络参数。
58、一种可能的方式中,解码模型的模型信息可以是解码模型的更新的网络层之间的连接和/或更新的网络层的网络参数。
59、根据第一方面,或者以上第一方面的任意一种实现方式,预设标识值还用于表征解码模型的类型。这样,便于第二电子设备获知是否需要获取解码模型的模型信息并进行模型重构。
60、第二方面,本技术实施例提供一种解码方法,该解码方法包括:首先,接收第一码流,第一码流包括模型标识和第二码流,第二码流是基于经编码信号生成的;当模型标识的值为预设标识值时,获取模型信息;随后,基于模型信息进行模型重构,以得到解码模型;之后,基于解码模型对第二码流进行解码,以得到重建信号。
61、其中,该解码方法可以应用于第二电子设备,这样,第二电子设备在确定模型标识为预设标识值时,获取模型信息并进行模型重构,实现解码模型与第一电子设备的编码模型的同步更新,或者实现用于解码的解码模型与第一电子设备用于编码的编码模型的同步切换。从而,有利于编码标准的长期演进和编码性能优化。
62、示例性的,重建信号可以包括但不限于重建音频信号、重建图像或重建视频信号。
63、根据第二方面,当模型标识的值为预设标识值时,第一码流还包括第三码流,第三码流是基于解码模型的模型信息生成的;获取模型信息,包括:从第一码流中解析出第三码流;基于第三码流,获取解码模型的模型信息。
64、根据第二方面,或者以上第二方面的任意一种实现方式,当模型标识的值为预设标识值时,第一码流还包括解码模型的模型信息对应的索引信息;获取模型信息,包括:从第一码流中解析出解码模型的模型信息对应的索引信息;基于解码模型的模型信息对应的索引信息,获取解码模型的模型信息。
65、根据第二方面,或者以上第二方面的任意一种实现方式,预设标识值用于表征解码模型的模型信息存储于远端电子设备的预设存储位置;获取模型信息,包括:从远端电子设备中预设存储位置,获取解码模型的模型信息。
66、其中,远端电子设备也可以是指上述的第三电子设备。
67、根据第二方面,或者以上第二方面的任意一种实现方式,模型标识为es的字段;该方法还包括:对第一码流中模型标识对应的字段进行解析,以得到模型标识的值。
68、根据第二方面,或者以上第二方面的任意一种实现方式,第一码流的目标码流类型为按照目标容器格式封装的码流类型或按照目标传输协议封装的码流类型,模型标识为目标容器格式的字段;该方法还包括:按照目标容器格式对第一码流进行解封装,以得到模型标识对应的字段;对模型标识对应的字段进行解析,以得到模型标识的值。
69、根据第二方面,或者以上第二方面的任意一种实现方式,第一码流的目标码流类型为按照目标传输协议封装的码流类型,模型标识为目标传输协议的字段;该方法还包括:按照目标传输协议对第一码流进行解封装,以得到模型标识对应的字段;对模型标识对应的字段进行解析,以得到模型标识的值。
70、根据第二方面,或者以上第二方面的任意一种实现方式,模型标识用于表征解码模型的类型,该方法还包括:当模型标识的值为预设标识值时,判断是否存在与预设标识值对应类型的解码模型;基于模型信息进行模型重构,以得到解码模型,包括:当不存在与预设标识值对应类型的解码模型时,基于模型信息进行模型重构,以得到预设标识值对应类型的解码模型。
71、根据第二方面,或者以上第二方面的任意一种实现方式,从第二码流中解析出第三码流,包括:按照第一码流的目标码流类型解析第一码流,以得到第三码流。
72、根据第二方面,或者以上第二方面的任意一种实现方式,目标码流类型为es类型,第一码流还包括第一es包,第一es包包括第二码流、第三码流和模型标识;按照第一码流的目标码流类型解析第一码流,以得到第三码流,包括:从第一es包中读取第三码流;该方法还包括:从第一es包中读取第二码流。
73、示例性的,本技术不限制从第一码流中解析出第二码流,与,从第一码流中解析出模型标识的值的执行顺序;也不限制从第一码流中解析出第二码流,与从第一码流中解析出第三码流的执行顺序。
74、根据第二方面,或者以上第二方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型;按照第一码流的目标码流类型解析第一码流,以得到第三码流,包括:按照目标容器格式解封装第一码流,以得到第二es包;从第二es包中读取第三码流;该方法还包括:从第二es包中读取第二码流。
75、根据第二方面,或者以上第二方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型;按照第一码流的目标码流类型解析第一码流,以得到第三码流,包括:按照目标容器格式解封装第一码流,以得到第三es包、第四es包、第三es包的类型、以及第四es包的类型;从第三es包中读取第三码流;其中,第三es包的类型为预设类型;该方法还包括:从第四es包中读取第二码流;其中,第四es包的类型为媒体类型。
76、根据第二方面,或者以上第二方面的任意一种实现方式,预设类型为元数据类型。
77、根据第二方面,或者以上第二方面的任意一种实现方式,目标码流类型为按照目标容器格式封装的码流类型,第一码流还包括第四码流和第五码流,第五码流包括第二码流,第四码流包括第三码流,模型标识位于第四码流或第五码流中;按照第一码流的目标码流类型解析第一码流,以得到第三码流,包括:按照目标容器格式解封装第四码流,以得到第五es包和第五es包的类型;从第五es包中读取第三码流,其中,第五es包的类型为预设类型;该方法还包括:按照目标容器格式解封装第五码流,以得到第六es包和第六es包的类型;从第六es包中读取第二码流,其中,第六es包的类型为媒体类型。
78、根据第二方面,或者以上第二方面的任意一种实现方式,目标码流类型为按照目标传输协议封装的码流类型,第一码流还包括第六码流和第七码流,第七码流包括第二码流,第六码流包括第三码流,模型标识位于第六码流或第七码流中;按照第一码流的目标码流类型解析第一码流,以得到第三码流,包括:按照目标传输协议解封装第一码流,以得到第六码流;按照目标容器格式解封装第六码流,以得到第七es包和第七es包的类型;从第七es包中读取第三码流,其中,第七es包的类型为预设类型;该方法还包括:按照目标容器格式对从第一码流中解封装出的第七码流进行解封装,以得到第八es包和第八es包的类型;从第八es包中读取第二码流,其中,第八es包的类型为媒体类型。
79、根据第二方面,或者以上第二方面的任意一种实现方式,第一码流还包括索引文件,索引文件包括第六码流的索引信息以及第七码流的索引信息,第六码流的索引信息位于第七码流的索引信息之前;按照目标传输协议解封装第一码流,以得到第六码流,包括:按照目标传输协议解封装第一码流,以得到索引文件和多条码流;从索引文件中读取第六码流的索引信息,根据第六码流的索引信息从多条码流中确定第六码流。
80、根据第二方面,或者以上第二方面的任意一种实现方式,第一码流还包括索引文件,索引文件中初始化标签的属性信息包括第六码流的索引信息;按照目标传输协议解封装第一码流,以得到第六码流,包括:按照目标传输协议解封装第一码流,以得到索引文件和多条码流;从索引文件的初始化标签的属性信息中读取第六码流的索引信息,根据第六码流的索引信息从多条码流中确定第六码流。
81、根据第二方面,或者以上第二方面的任意一种实现方式,重建信号为m帧,第一es包为m个,m个第一es包包括n个第九es包和m-n个第十es包,第九es包包括一条子码流和一条第二码流,第十es包包括一条第二码流,m和n为正整数,m大于或等于n;从第一es包中读取第三码流,包括:从n个第九es包中读取n条子码流;拼接n条子码流,以得到第三码流;从第一es包中读取第二码流,包括:从n个第九es包中读取n条第二码流,以及将m-n个第十es包作为m-n条第二码流。
82、根据第二方面,或者以上第二方面的任意一种实现方式,第一码流还包括索引文件,索引文件包括解码模型的模型信息对应的索引信息;从第一码流中解析出解码模型的模型信息对应的索引信息,包括:按照目标传输格式解封装第一码流,以得到索引文件;从索引文件中读取解码模型的模型信息对应的索引信息。
83、根据第二方面,或者以上第二方面的任意一种实现方式,基于第三码流,确定模型信息,包括:从第三码流中解析出模型信息;或,从第三码流中解析出模型信息的编码数据,对模型信息的编码数据进行解码以得到模型信息。
84、根据第二方面,或者以上第二方面的任意一种实现方式,模型信息包括模型结构信息或模型参数。
85、第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
86、第三方面,本技术提供一种应用于第一电子设备的编码装置,该装置包括:
87、信号获取模块,用于获取待编码信号;
88、编码模块,用于生成第一码流;其中,第一码流包括第二码流和模型标识,第二码流是基于编码模型对待编码信息进行编码得到的,模型标识的值为预设标识值,预设标识值用于指示第二电子设备获取解码模型的模型信息,解码模型与编码模型对应。
89、应该理解的是,编码装置可以执行上述第一方面及第一方面任意一种实现的方式的步骤,在此不再赘述。
90、第四方面,本技术提供一种解码装置,该装置包括:
91、码流接收模块,用于接收第一码流,第一码流包括模型标识和第二码流,第二码流是基于经编码信号生成的;
92、解封装模块,用于当模型标识的值为预设标识值时,获取模型信息;
93、解封装模块,还用于基于模型信息进行模型重构,以得到解码模型;
94、解码器,用于基于解码模型对第二码流进行解码,以得到重建信号。
95、示例性的,解码装置可以应用于第二电子设备。
96、应该理解的是,解码装置可以执行上述第二方面及第二方面任意一种实现的方式的步骤,在此不再赘述。
97、第五方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由处理器执行时,使得电子设备执行第一方面或第一方面的任意可能的实现方式中第一电子设备所执行的编码方法。
98、第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
99、第六方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由处理器执行时,使得电子设备执行第二方面或第二方面的任意可能的实现方式中第二电子设备所执行的解码方法。
100、第六方面以及第六方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第六方面以及第六方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
101、第七方面,本技术实施例提供一种芯片,包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,使得第一方面或第一方面的任意可能的实现方式中的编码方法的步骤被执行。
102、第七方面以及第七方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第七方面以及第七方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
103、第八方面,本技术实施例提供一种芯片,包括一个或多个接口电路和一个或多个处理器;一个或多个处理器通过一个或多个接口电路接收或发送数据,当一个或多个处理器执行计算机指令时,使得第二方面或第二方面的任意可能的实现方式中的解码方法的步骤被执行。
104、第八方面以及第八方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第八方面以及第八方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
105、第九方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序运行在计算机或处理器上时,使得计算机或处理器执行第一方面或第一方面的任意可能的实现方式中的编码方法。
106、第九方面以及第九方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第九方面以及第九方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
107、第十方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序运行在计算机或处理器上时,使得计算机或处理器执行第二方面或第二方面的任意可能的实现方式中的解码方法。
108、第十方面以及第十方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第十方面以及第十方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
109、第十一方面,本技术实施例提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令被计算机或处理器执行时,使得计算机或处理器执行第一方面或第一方面的任意可能的实现方式中的编码方法。
110、第十一方面以及第十一方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第十一方面以及第十一方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
111、第十二方面,本技术实施例提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令被计算机或处理器执行时,使得计算机或处理器执行第二方面或第二方面的任意可能的实现方式中的解码方法。
112、第十二方面以及第十二方面的任意一种实现方式分别与第二方面以及第二方面的任意一种实现方式相对应。第十二方面以及第十二方面的任意一种实现方式所对应的技术效果可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
113、第十三方面,本技术实施例提供一种码流生成方法,可以根据第一方面以及第一方面的任意一种实现方式的编码方法生成。
114、第十三方面以及第十三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第十三方面以及第十三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
115、第十四方面,本技术实施例提供一种存储码流的装置,该装置包括:接收器和至少一个存储介质,接收器用于接收码流;至少一个存储介质用于存储码流;码流是根据第一方面以及第一方面的任意一种实现方式生成的第一码流。
116、第十四方面以及第十四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第十四方面以及第十四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
117、第十五方面,本技术实施例提供一种传输码流的装置,该装置包括:发送器和至少一个存储介质,至少一个存储介质用于存储码流,码流是根据第一方面以及第一方面的任意一种实现方式生成的第一码流;发送器用于从存储介质中获取码流并将码流通过传输介质发送给端侧设备。
118、第十五方面以及第十五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第十五方面以及第十五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
119、第十六方面,本技术实施例提供一种分发码流的系统,该系统包括:至少一个存储介质,用于存储至少一个码流,至少一个码流是根据第一方面以及第一方面的任意一种实现方式生成的第一码流,流媒体设备,用于从至少一个存储介质中获取目标码流,并将目标码流发送给端侧设备,其中,流媒体设备包括内容服务器或内容分发服务器。
120、第十六方面以及第十六方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第十六方面以及第十六方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
121、第十七方面,本技术实施例提供了一种压缩系统,该压缩系统包括编码端和解码端,其中,
122、编码端,用于获取待编码信号;生成第一码流,第一码流包括第二码流和模型标识,第二码流是基于编码模型对待编码信号进行编码得到的,模型标识的值为预设标识值,预设标识值用于指示第二电子设备获取解码模型的模型信息,解码模型与编码模型对应;
123、解码端,用于接收第一码流;当模型标识的值为预设标识值时,获取模型信息;基于模型信息进行模型重构,以得到解码模型;基于解码模型对第二码流进行解码,以得到重建信号。
124、第十七方面以及第十七方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应,以及分别与第二方面以及第二方面的任意一种实现方式相对应。第十七方面以及第十七方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,以及可参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
1.一种应用于第一电子设备的编码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求1或4所述的方法,其特征在于,所述生成第一码流,包括:
6.根据权利要求1所述的方法,其特征在于,所述预设标识值还用于表征所述解码模型的模型信息存储于第三电子设备的预设存储位置。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述模型标识为基本流es的字段。
8.根据权利要求1至6任一项所述的方法,其特征在于,当所述第一码流的目标码流类型为按照目标容器格式封装的码流类型或按照目标传输协议封装的码流类型时,所述模型标识为所述目标容器格式的字段。
9.根据权利要求1至6任一项所述的方法,其特征在于,当所述第一码流的目标码流类型为按照目标传输协议封装的码流类型时,所述模型标识为所述目标传输协议的字段。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求3所述的方法,其特征在于,所述封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
12.根据权利要求11所述的方法,其特征在于,所述目标码流类型为es类型,所述按照目标码流类型封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
13.根据权利要求11所述的方法,其特征在于,所述目标码流类型为按照目标容器格式封装的码流类型,所述按照目标码流类型封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
14.根据权利要求11所述的方法,其特征在于,所述目标码流类型为按照目标容器格式封装的码流类型,所述按照目标码流类型封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
15.根据权利要求14所述的方法,其特征在于,所述预设类型为元数据类型。
16.根据权利要求11所述的方法,其特征在于,所述目标码流类型为按照目标容器格式封装的码流类型,所述按照目标码流类型封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
17.根据权利要求11所述的方法,其特征在于,所述目标码流类型为按照目标传输协议封装的码流类型,所述按照目标码流类型封装所述第二码流和所述第三码流,以得到所述第一码流,包括:
18.根据权利要求17所述的方法,其特征在于,
19.根据权利要求17所述的方法,其特征在于,
20.根据权利要求12所述的方法,其特征在于,所述待编码信号为m帧,所述第二码流为m条,所述第一es包为m个,所述模型信息包括n个信息组,所述第三码流包括n条子码流,所述n个信息组与所述n条子码流一一对应,m个第一es包包括n个第九es包和m-n个第十es包,m和n为正整数,m大于或等于n;
21.根据权利要求2或3或11至20中任一项所述的方法,其特征在于,
22.根据权利要求1至21任一项所述的方法,其特征在于,
23.根据权利要求1至22任一项所述的方法,其特征在于,所述预设标识值还用于表征所述解码模型的类型。
24.一种应用于第一电子设备的编码装置,其特征在于,所述装置包括:
25.一种电子设备,其特征在于,包括:
26.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述一个或多个处理器通过所述一个或多个接口电路接收或发送数据,当所述一个或多个处理器执行计算机指令时,使得如权利要求1至权利要求23中任一项所述的方法的步骤被执行。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序运行在计算机或处理器上时,使得所述计算机或所述处理器执行如权利要求1至权利要求23中任一第一电子设备所执行的编码方法。
28.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机指令,当所述计算机指令被计算机或处理器执行时,使得如权利要求1至权利要求23任一项所述的方法的步骤被执行。
29.一种存储码流的装置,其特征在于,所述装置包括:接收器和至少一个存储介质,
30.一种传输码流的装置,其特征在于,所述装置包括:发送器和至少一个存储介质,
31.一种分发码流的系统,其特征在于,所述系统包括: