CN111128203B - 音频数据编码、解码方法、装置、电子设备及存储介质 - Google Patents

音频数据编码、解码方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111128203B
CN111128203B CN202010125568.1A CN202010125568A CN111128203B CN 111128203 B CN111128203 B CN 111128203B CN 202010125568 A CN202010125568 A CN 202010125568A CN 111128203 B CN111128203 B CN 111128203B
Authority
CN
China
Prior art keywords
audio data
audio
encoding
data
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010125568.1A
Other languages
English (en)
Other versions
CN111128203A (zh
Inventor
邢文浩
张晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010125568.1A priority Critical patent/CN111128203B/zh
Publication of CN111128203A publication Critical patent/CN111128203A/zh
Application granted granted Critical
Publication of CN111128203B publication Critical patent/CN111128203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开关于一种音频数据编码、解码方法、装置、电子设备及存储介质,以至少解决相关音频恢复技术中存在的实时音频传输质量较差的问题。该方法包括:获取已发送的第一音频数据的丢包率,该丢包率为丢包数量与第一数量的比值,丢包数量为第二数量与第一数量的差值,第一数量为发送端发送的第一音频数据的数据包数量,第二数量为接收端接收的第一音频数据的数据包数量;根据该丢包率,确定待传输的第二音频数据的编码模式;采用该编码模式,对第二音频数据编码。本公开应用于音频传输的场景中。

Description

音频数据编码、解码方法、装置、电子设备及存储介质
技术领域
本公开涉及互联网技术领域,尤其涉及音频数据编码、解码方法、装置、电子设备及存储介质。
背景技术
目前,利用互联网进行实时音频传输越来越普遍,在实时音频传输过程中,受到网络因素的影响,传输过程中可能会存在丢包现象,从而导致接收端接收到的音频信号的质量下降。
在相关技术中,为了提高接收端接收到的音频信号的质量,接收端可以使用音频丢包恢复技术(例如,前向纠错(Forward Error Correction,FEC)技术)对丢失的音频数据包进行恢复。具体的,发送端在发送音频数据包(以下称为音频数据包A)时,可以在该音频数据包A中携带之前已发送音频数据包(以下称为音频数据包B)的冗余信息,如此,当接收端检测到音频数据包B丢失时,即可通过音频数据包A中的冗余信息恢复音频数据包B。
但是,上述音频丢包恢复技术中,由于是在一个音频数据包中携带其他音频数据包的冗余信息,因此,当实时音频传输过程中丢包过多时,携带冗余信息的音频数据包也可能丢失,从而使得无法根据冗余信息恢复音频数据包,进而导致实时音频传输质量较差。
发明内容
本公开提供一种音频数据编码、解码方法、装置、电子设备及存储介质,以至少解决相关音频恢复技术中存在的实时音频传输质量较差的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,本公开实施例提供一种音频编码方法,包括:获取已发送的第一音频数据的丢包率,该丢包率为丢包数量与第一数量的比值,丢包数量为第二数量与第一数量的差值,第一数量为发送端发送的第一音频数据的数据包数量,第二数量为接收端接收的第一音频数据的数据包数量;根据该丢包率,确定待传输的第二音频数据的编码模式;采用该编码模式,对第二音频数据编码。
结合第一方面,在第一种可能的实现方式中,上述根据所述丢包率,确定待传输的第二音频数据的编码模式的步骤,具体包括:若所述丢包率小于预设阈值,则确定所述第二音频数据的编码模式为第一编码模式;或者,若所述丢包率大于或等于预设阈值,则确定所述第二音频数据的编码模式为第二编码模式;其中,所述第一编码模式中数据包携带的附加音频数据的数据量小于所述第二编码模式中数据包携带的附加音频数据的数据量,所述附加音频数据用于恢复数据包。
结合第一方面,在第二种可能的实现方式中,上述采用上述编码模式,对上述第二音频数据进行编码的过程中,包括:在上述第二音频数据的编码模式为上述第一编码模式的情况下,对于上述第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对上述一个数据包中的附加音频数据编码;或者,在上述第二音频数据的编码模式为上述第二编码模式的情况下,对于上述第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码;其中,上述第一码率大于上述第三码率,且上述第三码率大于上述第二码率。
结合第一方面,在第三种可能的实现方式中,本公开实施例提供的音频编码方法还包括:在建立音频传输连接后的第一预设时长内,采用第二编码模式对待传输的第三音频数据编码。
结合第一方面,在第四种可能的实现方式中,本公开实施例提供的音频编码方法还包括:在对待传输的第四音频数据编码的过程中,若上述丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码;在上述第二预设时长之后,若上述丢包率小于上述预设阈值,则采用第一编码模式对待传输的音频数据编码。
结合第一方面,在第五种可能的实现方式中,上述采用上述编码模式,对上述第二音频数据编码的步骤之后,还包括:发送编码后的上述第二音频数据的数据包,上述数据包包括模式标识,上述模式标识用于指示上述数据包的编码模式。
结合第一方面,在第六种可能的实现方式中,上述获取已发送的第一音频数据的丢包率,包括:从接收端接收发送的上述丢包率。
根据本公开实施例的第二方面,提供一种音频解码方法,包括:接收数据包;从该数据包中获取模式标识,该模式标识用于指示该数据包的编码模式;采用与该编码模式对应的解码模式对该数据包解码。
结合第二方面,在第一种可能的实现方式中,本公开实施例提供的音频解码方法还包括:根据已接收的第一音频数据的数据包数量和数据包序号,计算上述第一音频数据的丢包率;向发送端发送上述丢包率。
根据本公开实施例的第三方面,提供一种音频编码装置,包括:获取单元,被配置为获取已发送的第一音频数据的丢包率,该丢包率为丢包数量与第一数量的比值,该丢包数量为第二数量与第一数量的差值,第一数量为发送端发送的第一音频数据的数据包数量,第二数量为接收端接收的第一音频数据的数据包数量;确定单元,被配置为根据该丢包率,确定待传输的第二音频数据的编码模式;编码单元,被配置为采用根据确定单元确定的编码模式,对第二音频数据编码。
结合第三方面,在第一种可能的实现方式中,上述确定单元,具体被配置为若根据上述获取单元获取的上述丢包率小于预设阈值,则确定上述第二音频数据的编码模式为第一编码模式;或者,具体被配置为若根据上述获取单元获取的上述丢包率大于或等于预设阈值,则确定上述第二音频数据的编码模式为第二编码模式;其中,上述第一编码模式中数据包携带的附加音频数据的数据量小于上述第二编码模式中数据包携带的附加音频数据的数据量,上述附加音频数据用于恢复数据包。
结合第三方面,在第二种可能的实现方式中,上述编码单元,具体被配置为在根据上述确定单元确定的上述第二音频数据的编码模式为上述第一编码模式的情况下,对于上述第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对上述一个数据包中的附加音频数据编码;或者,具体被配置为在根据上述确定单元确定的上述第二音频数据的编码模式为上述第二编码模式的情况下,对于上述第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码;其中,上述第一码率大于上述第三码率,且上述第三码率大于上述第二码率。
结合第三方面,在第三种可能的实现方式中,上述编码单元还被配置为在建立音频传输连接后的第一预设时长内,采用根据上述确定单元确定的第二编码模式对待传输的第三音频数据编码。
结合第三方面,在第四种可能的实现方式中,上述编码单元还被配置为在对待传输的第四音频数据编码的过程中,若上述根据上述获取单元获取的丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码;上述编码单元,还被配置为在上述第二预设时长之后,若根据上述获取单元获取的上述丢包率小于上述预设阈值,则采用第一编码模式对待传输的音频数据编码。
结合第三方面,在第五种可能的实现方式中,本公开实施例提供的音频编码装置还包括:发送单元,被配置为发送上述编码单元编码后的上述第二音频数据的数据包,上述数据包包括模式标识,上述模式标识用于指示上述数据包的编码模式。
结合第三方面,在第六种可能的实现方式中,上述获取单元,具体被配置为从接收端接收发送的上述丢包率。
根据本公开实施例的第四方面,提供一种音频解码装置,包括:接收单元,被配置为接收数据包;获取单元,被配置为从该接收单元接收的数据包中获取模式标识,该模式标识用于指示数据包的编码模式;解码模块,采用与获取单元获取的编码模式对应的解码模式对数据包解码。
结合第四方面,在第一种可能的实现方式中,本公开实施例提供的音频编码装置还包括:计算单元,被配置为根据上述接收单元已接收的第一音频数据的数据包数量和数据包序号,计算上述第一音频数据的丢包率;发送单元,被配置为向发送端发送上述计算单元计算的上述丢包率。
根据本公开实施例的第五方面,提供一种存储介质,当该存储介质中的指令由音频编码装置的处理器执行时,使得音频编码装置能够执行如第一方面所示的音频编码方法,或者如第二方面所示的音频解码方法。
根据本公开实施例的第六方面,提供一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,该算机程序经由计算机载入并执行后能够实现第一方面所示的音频编码方法,或者实现第一方面所示的音频解码方法。
本公开实施例提供的技术方案至少带来以下有益效果:音频编码装置在获取到第一音频数据的丢包率后,可以根据该丢包率确定与待传输的第二音频数据的实际网络环境等相匹配的编码模式,并根据该编码模式对第二音频数据进行编码,从而可以避免第二音频数据由于丢包过多而造成实时音频传输过程中音质较差的问题,如此,在音频编码装置对音频数据编码时,可以根据丢包率的大小选择不同编码方式对音频数据进行编码,从而大幅提高接收端恢复音频数据包的成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实施环境的架构图;
图2是根据一示例性实施例示出的一种音频编码方法的方法流程图;
图3是根据一示例性实施例示出的一种丢包率-MOS关系曲线图;
图4是根据一示例性实施例示出的一种音频编码方法的方法流程图;
图5是根据一示例性实施例示出的一种音频编码装置的框图之一;
图6是根据一示例性实施例示出的一种音频解码装置的框图之二;
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,在本公开的实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
以下将对本公开实施例所涉及的技术名词进行解释。
1、本公开实施例中的”丢包率”
丢包率是指数据传输过程中所丢失的数据包的数量占所发送的数据包的比率。
需要说明的是,丢包是指一个数据包整体丢失,而不是该数据包的部分数据丢失。
2、本公开实施例中的”码率”
码率是指,在单位时间内传输数据的数据位数,单位为,kbps。
单位时间内,电子设备传输数据位数越多则码率越高,则恢复的文件就越丰富。以音频文件为例,码率越高,该音频文件被压缩的比例越小,音频质量损失越少。
3、本公开实施例中的”平均主观意见分(Mean Opinion Score,MOS)”
MOS可以用于评价音频数据的音频质量。
示例性的,MOS的计算方式可以为:发送端在发送音频数据前,保存一份原始音频数据,记为文件1;接收端接收到文件1的音频数据后,对该文件1的音频数据进行解码,并将该解码后的音频数据保存,将上述解码后的音频数据记为文件2。其中,文件1经网络传输至接收端后,可能会发生丢包。一般的,发送端可以根据发送端保存的文件1(即原始音频数据)和接收端保存的文件2(即解码后的音频数据)来计算MOS,从而根据MOS对接收端接收到音频质量进行评估。其中,文件2的音频数据越接近文件1的音频数据,MOS越高。
一般的,MOS可以使用主观语音质量评估(Perceptual evaluation of speechquality,PESQ)软件工具进行计算。
在对本公开实施例提供的音频编码方法及音频解码方法进行详细介绍之前,这里先对本公开实施例涉及的应用场景和实施环境进行简单介绍。
1)对本公开实施例涉及的应用场景进行简单介绍
目前,发送端向接收端发送实时音频数据时,会将音频数据变为音频数据包以方便实时传输音频数据(例如,以帧为单位将每秒钟传输的音频数据分为若干个音频数据包),但是受到网络实际环境变化的影响(例如,网络传输速度的变化),会发生音频数据包丢包的情况。在发生丢包现象后,接收端接收的音频音质会下降,且若丢包数量过多,接收端甚至无法听清音频。
相关技术中,由丢包产生的音频损失可以采用音频恢复技术进行恢复,一般的,可以采用FEC技术恢复音频,即可以通过在发送端的音频数据包中添加一部分在该音频数据包之前的音频数据包的附加音频数据信息,利用该附加音频数据恢复丢失的音频数据包。
具体的,该FEC技术可以通过以下两种模式恢复丢包数据:
模式一:使用音频编码器提取待传输音频数据包之前的音频数据包中的主要数据进行丢包数据恢复,如,当发送端需要发送第N+1个音频数据包,则可以通过音频编码器提取第N个音频数据包中的主要数据,并将该第N个音频数据包中的主要数据添加至第N+1个音频数据包中,如此,当第N个数据包发生丢包时,即可通过上述主要数据恢复。
如此,当某个音频数据包发生丢包现象时,可以恢复该音频数据包的前一个音频数据包中的主要音频数据,从而减小丢包带来的音质损失,且在这种方式下,由于编码器提取的冗余信息仅是一个音频数据包中的主要音频数据,因此,该冗余信息占用的网络带宽小,有利于节约网络资源。但是,由于该冗余信息仅为前一个音频数据包中的部分数据,若音频数据传输过程中连续丢包,就只能通过丢包补偿(PacketLossCompensation,PLC)的方式进行填充,会导致接收端接收到的音频的音质较差。
模式二:发送端发送多个音频包的备份进行丢包数据恢复
发送端可以提前拷贝第N-1个至第N-M个音频数据包(M大于1),在发送第N个音频数据包时,将上述提前拷贝的第N-1个至第N-M个音频数据包(M大于1)与该第N个音频数据包一同发送。
如此,当发生连续丢包现象时,接收端可以利用该第N-1个至第N-M个音频数据包中的数据对音频进行恢复,从而保证音质不受丢包现象的影响,但在这种方式下,会导致音频传输占用的网络带宽较大,当丢包数量少时,会造成网络资源浪费。
为此,本公开实施例提供了一种音频编码方法,可以应用于音频实时传输的场景中,也可以应用音视频实时传输的场景中,本公开对此不做限定。该方法可以通过发送端根据网络环境的的变化(例如,丢包率变化),使用不同的编码方式对音频数据进行编码
在该方法中,音频编码装置在获取到第一音频数据的丢包率后,可以根据该丢包率确定与待传输的第二音频数据的实际网络环境等相匹配的编码模式,并根据该编码模式对第二音频数据进行编码,从而可以避免第二音频数据由于丢包过多而造成实时音频传输过程中音质较差的问题,同时,发送端可以根据丢包率的大小选择合适当前网络环境的编码方式对音频数据进行编码,从而不仅大幅提高接收端恢复音频数据包的成功率,还可以在网络环境良好的情况下节约网络资源。
2)对本公开实施例涉及的实施环境进行简单介绍
图1是根据一示例性实施例示出的一种实施环境的架构图,如图1所示,下述应用功能执行方法可以应用于该实施环境中。该实施环境包括至少一个第一电子设备01、至少一个第二电子设备02和服务器03,其中,第一电子设备01和第二电子设备02可以通过有线网络或者无线网络与服务器03建立连接并通信。第一电子设备01和第二电子设备02之间可以交互数据。应注意的是,图1仅仅是一种示例,实际应用中电子设备的数量可按照实际需求设定,即图1中仅示出一个第一电子设备01和一个第二电子设备02。
示例性的,上述第一电子设备01中包括至少一个音频编码装置和至少一个音频解码装置。同理,上述第二电子设备02中包括至少一个音频编码装置和至少一个音频解码装置。
示例性的,上述第一电子设备01和第二电子设备02可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如手机、平板电脑、掌上电脑、个人计算机(Personal Computer,PC)、可穿戴设备、智能电视等。
示例性的,服务器03用于对上述第一电子设备01与至少一个第二电子设备02之间的交互数据进行管理,服务器03可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。服务器03可以包括处理器、存储器以及网络接口等。
本领域技术人员应能理解上述电子设备和服务器仅为举例,其他现有的或今后可能出现的电子设备或服务器如可适用于本公开,也应包含在本公开保护范围以内,并在此以引用方式包含于此。
下面结合附图对本公开提供的技术方案进行介绍。
图2是根据一示例性实施例示出的一种音频编码方法的流程图,如图2所示,该应用功能执行方法用于发送端,包括以下步骤S11至步骤S13。
在步骤S11中,获取已发送的第一音频数据的丢包率。
在步骤S12中,根据丢包率,确定待传输的第二音频数据的编码模式。
在步骤S13中,采用上述第二音频数据的编码模式,对上述第二音频数据编码。
本公开实施例中,该第一音频数据的丢包率为第一音频数据的丢包数量与第一数量的比值,上述第一音频数据的丢包数量为第二数量与第一数量的差值,第一数量为发送端发送的第一音频数据的数据包数量,第二数量为接收端接收的第一音频数据的数据包数量。
应注意的是,图2所示实施例中的音频编码装置为发送端的音频编码装置。示例性的,发送端在发送第一音频数据时,可以通过该发送端的编码器对第一音频数据进行编码,经过编码后的第一音频数据会被分为若干个音频数据包,发送端最终以音频数据包的方式发送上述第一音频数据。
本公开实施例中,上述第一音频数据为用于确认丢包率的音频数据。上述第一音频数据为发送端已发送至接收端的一个或多个音频数据。
在本公开实施例中,上述第二音频数据为发送端在发送第一音频数据之后所发送的音频数据。可以理解的是,发送端向接收端发送第一音频数据后,接收端可以计算该第一音频数据的丢包率,并将该丢包率反馈至发送端,发送端根据该丢包率便可为后续发送的第二音频数据确认符合当前传输环境的编码模式,从而保证接收端能够恢复出质量较好的第二音频数据。
在本公开实施例中,上述编码方式可以包括至少两种编码方式。
可选地,在本公开实施例中,上述至少两种编码方式可以包括:第一编码方式和第二编码方式。
可选地,在本公开实施例中,上述第一编码模式和上述第二编码模式均使用FEC技术对待发送的第二音频数据进行编码。
示例性的,上述第一编码模式为:使用待发送音频数据包之前的一个音频数据包中的重要数据,对该待发送音频数据包进行编码的编码方式,如此,接收端便可基于接收到的音频数据包中包含的之前音频数据包中的重要数据,来对该接收到的音频数据包进行恢复(如,上述相关FEC技术对应的模式1)。上述第二编码模式为:使用待发送音频数据包之前的多个音频数据包,对该待发送音频数据包进行编码的编码方式,如此,接收端便可基于接收到的音频数据包中包含的之前的多个音频数据包,来对该接收到的音频数据包进行恢复(如,上述相关FEC技术对应的模式2)。
可选地,在本公开实施例中,音频数据的丢包率与编码模式间存在对应关系。
示例性的,不同的丢包率对应不同编码模式,或者,不同的丢包率对应相同的编码模式,或者,相同丢包率对应不同编码模式,或者,相同丢包率对应相同编码模式。
示例性的,发送端可以通过预置一个音频数据的丢包率与编码模式间的对应关系,从而在获取到第一音频数据的丢包率后,基于上述对应关系,获取到该第一音频数据的丢包率对应的编码模式,并将获取到的编码模式作为第二音频数据的编码模式。
本公开实施例提供的音频编码方法,该发送端的音频编码装置在获取到第一音频数据的丢包率后,可以根据该丢包率确定与待传输的第二音频数据的实际网络环境等相匹配的编码模式,并根据该编码模式对第二音频数据进行编码,从而可以避免第二音频数据由于丢包过多而造成实时音频传输过程中音质较差的问题,如此,在音频编码装置对音频数据编码时,可以根据丢包率的大小选择不同编码方式对音频数据进行编码,从而大幅提高接收端恢复音频数据包的成功率。
可选地,在本公开实施例中,上述的步骤S11可以包括如下步骤S11a:
在步骤S11a中,从接收端接收发送的上述第一音频数据的丢包率。
可选地,在本公开实施例中,上述的步骤S12可以包括如下步骤S12a或者步骤S12b:
在步骤S12a中,若丢包率小于预设阈值,则确定第二音频数据的编码模式为第一编码模式。
在步骤S12b中,若丢包率大于或等于预设阈值,则确定第二音频数据的编码模式为第二编码模式。
其中,第一编码模式中数据包携带的附加音频数据的数据量小于第二编码模式中数据包携带的附加音频数据的数据量,附加音频数据用于恢复数据包。示例性的,上述附加数据信息可以用于音频数据发生丢包后音频数据的恢复。
示例性的,上述第一编码模式是指,发送端的编码器编码过程中可以提取第N个音频数据包中的主要音频数据,在对第N+1个音频数据包中的数据进行编码的过程中,将上述第N个音频数据包的主要音频信息作为附加音频数据,添加至第一音频数据的第N+1个音频数据包中。在音频传输过程中,若第N个音频数据包丢失,则可以使用第N+1个音频数据包中的冗余信息,从而恢复第N个音频数据包中的主要音频数据。其中,上述第一编码模式中的附加数据信息也可以称为冗余信息。
进一步的,上述第一编码模式中数据包携带的附加音频数据是指:第二音频数据中第N个音频数据包中的由音频编码装置从第N-1个音频数据包中提取的主要音频数据。
示例性的,上述第二编码模式是指,发送端提前拷贝第N-1个至第N-M个音频数据包(M大于1)作为附加音频数据,在发送第N个音频数据包时,将上述提前拷贝的第N-1个至第N-M个音频数据包(M大于1)与该第N个音频数据包一同发送。
进一步的,上述第二编码模式中数据包携带的附加音频数据是指:第二音频数据中第N个音频数据包中包含的第N-1至N-M个音频数据包中的所有音频数据,上述M为正整数且1<M<N。
需要说明的是,上述第N-1至N-M个音频数据包为发送端通过备份的方式备份的第N-1至N-M个音频数据包的音频数据。
示例性的,上述预设阈值是指丢包率的临界阈值。应注意的是,上述临界阈值可以预定义的,也可以按照实际应用场景灵活设定的,本公开实施例对此不作限定。
在一种示例中,该临界阈值可以通过第一对应关系(即音频数据在上述第一编码模式下的MOS与丢包率之间的对应关系),和第二对应关系(即上述第二编码模式下的MOS与丢包率之间的对应关系)的重合部分得出,该重合部分对应的丢包率即为临界阈值。其中,MOS可以用于评判该丢包率下的音频数据质量(即音质)。
需要说明的是,上述预设阈值为发送端和接收端利用特定软件工具(例如,PESQ软件工具)进行仿真实验计算得出。
示例1,如图3所示,在不同编码模式下,通过使用PESQ软件工具,计算在不同的丢包率下音频数据的MOS。由图3可知,不同丢包率下,音频数据对应不同的MOS,第一编码模式下的不同丢包率与MOS间的对应关系形成如图3中的曲线1,第二编码模式下的不同丢包率与MOS间的对应关系形成如图3中的曲线2,其中,曲线1和曲线2的交点所对应的丢包率数值(如图3中的K)即为临界阈值(即预设阈值)。
如此,发送端根据丢包率与预设阈值之间的关系,选择出适合当前实际网络环境的编码模式对后续的音频数据进行编码,在音频实时传输过程中,若发生丢包现象,接收端可以接收到足够的附加数据信息对丢包的数据进行恢复,从而保证接收端接收的音频质量。
可选地,在本公开实施例中,上述的步骤S13可以包括如下步骤S13a或者步骤S13b:
在步骤S13a中,在第二音频数据的编码模式为第一编码模式的情况下,对于第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对一个数据包中的附加音频数据编码。
在步骤S13b中,在第二音频数据的编码模式为第二编码模式的情况下,对于第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码。
其中,第一码率大于第三码率,且第三码率大于第二码率。
示例性的,上述码率为发送端提前预配置的,也即,在音频编码装置对音频数据开始编码之前,上述第一编码模式所对应的码率和上述第二编码模式所对应的码率已经由发送端进行了配置。
示例性的,上述码率可以为发送端预设的,也可以为用户自定义的,本公开实施例不作限制。
示例性的,一个音频数据包中的主音频数据是指在:该音频数据包中的原始音频数据,即该音频数据包中除其他音频数据包的附加音频数据以外的主要音频数据。
需要说明的是,在实时音频传输过程中,上述两种编码模式可以根据丢包率的变化而不断变化。
举例说明,结合示例1和图3,当丢包率小于上述临界阈值(即预设阈值)时,发送端使用第一编码模式进行编码,该发送端将主音频数据设置为较高的码率(即第一码率),例如,38kbps,将附加数据信息设置为较低的码率(即第二码率),例如,10kbps,则发送端最终实际使用38kbps+10kbps=48kbps的码率发送音频数据包。
当丢包率大于或等于上述临界阈值(即预设阈值)时,发送端使用第二编码模式进行编码,发送端将主音频数据设置为中等码率(即第二码率),例如,24kbps,将附加数据信息中的X个音频数据包中的每个音频数据包也设置为与之相同的中等码率24kbps(即第二码率),也即,在使用第二编码模式进行编码时,则发送端最终实际使用24kbps*(X+1)的码率发送音频数据包。
如此,当丢包率较低时,接收端主要采用主音频数据进行解码,偶尔使用附加音频数据进行解码,因此,使用第一编码模式进行编码后,最终接收端的音频质量优于使用第二编码模式,而当丢包率较高时,接收端需要使用大量的附加音频数据进行解码,因此,在丢包率较高的情况下使用第二编码模式进行编码,最终接收端的音频质量优于使用第一编码模式,因此,通过在不同编码模式大小使用不同的码率,可以保证在不同情况的丢包率下音频质量。
可选地,在本公开实施例中,在上述的步骤S13之后,本公开实施例提供的音频编码方法还可以包括如下步骤S14:
在步骤S14中,在建立音频传输连接后的第一预设时长内,采用第二编码模式对待传输的第三音频数据编码。
示例性的,上述第一预设时长可以为发送端预设的,也可以为用户自定义的,本公开实施例对此不作限制。
示例性的,上述第三音频数据是指:发送端在建立音频传输这一时刻后的第一预设时长内所要发送的音频数据。
示例性的,在发送端和接收端建立音频传输连接后的第一预设时长内,由于该段时长内的丢包率波动性较强,其真实度较差,且第二编码模式的附加音频数据信息较丰富,因此,在上述第一预设时长内,发送端均采用第二编码模式进行音频数据传输,从而保证接收端接收的音频数据质量。
举例说明,以发送端和接收端再建立音频传输连接后的第一预设时长内,采用第二编码模式对待传输的第三音频数据编码为例。结合上述示例1,发送端和接收端在时刻T1建立连接,在时长S1内(第一预设时长),持续使用第二编码模式对该时间段S1内的音频数据(即上述第三音频数据)进行编码,直至时刻T1+S1时。在T1+S1时刻以后,发送端根据丢包率的数值大小决定编码模式,具体的,若丢包率大于或等于临界阈值(即预设阈值),则继续采用第二编码模式对后续的音频数据进行编码,若丢包率小于临界阈值,则采用第一编码模式对后续的音频数据进行编码。
在本公开实施例中,由于发送端与接收端在刚开始建立的实时音频传输的并不稳定,因此在建立连接后的短时间内所得出的丢包率与该发送端和接收端在网络环境下稳定后的丢包率很有可能并不相符。因此,通过设定第一预设时长,使得发送端在该时长内使用第二编码模式对第三音频数据进行编码,从而保证发送端和接收端在刚建立音频传输后的短时间内音频音质良好。
可选地,在本公开实施例中,在上述的步骤S13之后,本公开实施例提供的音频编码方法还可以包括如下步骤S15和步骤S16:
在步骤S15中:在对待传输的第四音频数据编码的过程中,若丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码。
在步骤S16中:在第二预设时长之后,若丢包率小于预设阈值,则采用第一编码模式对待传输的音频数据编码。
示例性的,上述第四音频数据可以为实时音频数据传输过程中的任一一段音频数据。
示例性的,上述第二预设时长可以参照上述第一预设时长的描述,此处不再赘述。
示例性的,上述第二预设时长可以和第一预设时长相同,也可以不同,本公开实施例对此不作限制。
需要说明的是,上述发送端计算第二预设时长的起点时刻的方式,由丢包率与预设阈值的关系决定。具体的,若在第二预设时长内的某一时刻,发送端获取的丢包率大于或等于预设阈值时,则发送端将改变第二预设时长的起点时刻,以上述发送端获取的丢包率大于或等于预设阈值的时刻为起点,重新对第二预设时长进行计时。反之,若在第二预设时长内,丢包率持续小于预设阈值,则第二预设时长的起点时刻不变。
举例说明,以在对待传输的第四音频数据编码的过程中,丢包率大于或等于预设阈值为例。结合示例1,若发送端在T2时刻以前均使用第一编码模式对音频数据进行编码,在T2时刻接收到丢包率大于或等于临界阈值(即预设阈值),则发送端将会改变编码方式,在T2时刻为起点的时长S2内采用即第二编码模式对音频数据进行编码。
在T2时刻至T2+S2时刻内之间的时长S2内,若发送端获取的丢包率持续小于临界阈值,在时刻T2+S2后,若发送端获取的丢包率仍小于临界阈值,则发送端可以改变编码模式,使用第一编码模式对音频数据进行编码。在T2时刻至T2+S2时刻的T3任一时刻,若发送端获取的丢包率大于或等于临界阈值的情况下,则发送端会重新计时,保持使用第二编码模式对音频数据编码,直至时刻T3+S2后,若发送端获取的丢包率仍小于临界阈值,则发送端改变编码模式,使用第一编码模式对音频数据进行编码。
在本公开实施例中,若丢包率在预设阈值之间波动,则表明此时网络环境出现波动,为保证音频质量,若发送端获取的丢包率大于或等于预设阈值,则发送端在一定时间内采用第二编码模式发送音频数据包,从而保证音频质量良好。
可选地,在本公开实施例中,在上述的步骤S13之后,本公开实施例提供的音频编码方法还可以包括如下步骤S17。
在步骤S17中,发送编码后的第二音频数据的数据包。
其中,上述编码后的第二音频数据的数据包包括模式标识,模式标识用于指示上述编码后的第二音频数据的数据包的编码模式。
示例性的,上述模式标识为发送端对上述数据包标记的标识,例如,该模式标识可以为发送端对上述数据包标记的flag标识。
示例性的,音频编码方法不同,则发送端对上述数据包标记不同的模式标识,例如,当发送端的编码方法为第一编码模式时,采用第一模式标记进行编码;当发送端的编码方法为第二编码模式时,采用第二模式标记进行编码。
如此,通过发送端对音频数据包的编码方式进行标识,可以使得接收端准确、快速的判断出其需要使用的解码方式,从而方便接收端进行快速准确的解码。
图4是根据一示例性实施例示出的一种音频解码方法的流程图,如图4所示,该应用功能执行方法用于接收端,包括以下步骤S21至步骤S23。
在步骤S21中,接收数据包。
在步骤S22中,从数据包中获取模式标识,模式标识用于指示数据包的编码模式。
在步骤S23中,采用与编码模式对应的解码模式对数据包解码。
示例性的,接收端获取该模式标识后,可以对该模式标识进行识别,使用与该模式标识相匹配的解码模式对该数据包进行解码。
示例性的,不同的模式标识对应不同的解码方式。例如,第一模式标识对应第一解码方式,第二模式标识对应第二解码方式。
进一步的,根据模式标识的不同,接收端采用不同的解码模式对接收到的数据包解码,例如,当数据包的模式标识为第一模式标识为第一编码模式时,采用第一解码模式进行解码;当数据包的模式标识为第二模式标识为第一编码模式时,采用第二解码模式进行解码。
在本公开实施例中,发送端在发送数据包时,为该数据包标记模式标识,使得接收端通过使用该模式标识,可以快速识别该数据包的编码模式,从而采用与该编码模式相对应的解码模式进行解码。
可选地,在本公开实施例中,在上述的步骤S21之后,本公开实施例提供的音频解码方法还可以包括如下步骤S24和步骤S25:
在步骤S24中,根据已接收的第一音频数据的数据包数量和数据包序号,计算第一音频数据的丢包率。
在步骤S25中,向发送端发送该丢包率。
在本公开实施例中,接收端用于统计数据发送过程中的丢包率。
示例性的,接收端在发送第一音频数据时,实际接收到的是音频数据包形式的第一音频数据,若干个音频数据包组成第一音频数据。接收端的解码器可以通过对上述若干个音频数据包进行解码,从而还原第一音频数据。
在本公开实施例中,发送端可以将第一音频数据以数据包的形式发送至接收端。
需要说明的是,在实际应用过程中,可以使用平均丢包率来指示网络数据的丢包率。例如,一个文件中包含30个数据包,发送端每次发送10个数据包,3次丢包率分别为50%,10%,10%,则最终的丢包率可以根据这三次丢包率进行平均计算后得出。具体的平均计算方式可以有多种,例如,直接平均、平滑平均等,此处不再赘述。
示例2,以接收端接收发送端发送的第一音频数据的数据包为例。在一定时间内,发送端发送的第一音频数据的数据包个数是S,接收端实际接收到的第一音频数据的数据包个数是R,那么丢包率为(S-R)/S。接收端可以通过服务器将计算出的丢包率结果反馈至发送端。
示例性的,发送端在发送一段数据的数据包时,会给这段音频数据的每个数据包都编写数据包序号,接收端接收到数据包后,通过查询最后一个数据包序号与第一个数据包序号之间序号个数即可计算出发送端发送的数据包个数,通过查询最后一个数据包与第一个数据包之间缺少的序号个数即为丢失的数据包个数。
举例说明,结合示例2,以接收端根据已接收的第一音频数据的数据包数量和数据包序号,计算第一音频数据的丢包率为例。接收端可以根据数据包序号来计算上述S和R,接收端接收到数据包后,根据最后一个数据包序号与第一个数据包序号之间差额个数S,通过查询最后一个数据包与第一个数据包之间缺少的序号编码个数即为丢失的数据包个数R。
需要说明的是,在音频传输过程中,接收端可以以一定周期向发送端反馈丢包率。其中,上述周期可以为接收端预设的,也可以为用户自定义的。
图5是根据一示例性实施例示出的一种音频编码装置框图。参照图5,该音频编码装置200包括获取单元201,确定单元202和编码单元203,其中:获取单元201,被配置为获取已发送的第一音频数据的丢包率,丢包率为丢包数量与第一数量的比值,丢包数量为第二数量与第一数量的差值,第一数量为发送端发送的第一音频数据的数据包数量,第二数量为接收端接收的第一音频数据的数据包数量;确定单元202,被配置为根据获取单元201获取的上述丢包率,确定待传输的第二音频数据的编码模式;编码单元203,被配置为采用根据确定单元202确定的编码模式,对第二音频数据编码。
可选的,上述确定单元202,具体被配置为若根据上述获取单元获取的丢包率小于预设阈值,则确定上述第二音频数据的编码模式为第一编码模式;或者,具体被配置为若根据上述获取单元获取的丢包率大于或等于预设阈值,则确定第二音频数据的编码模式为第二编码模式;其中,第一编码模式中数据包携带的附加音频数据的数据量小于第二编码模式中数据包携带的附加音频数据的数据量,附加音频数据用于恢复数据包。
可选的,上述编码单元203,具体被配置为在根据确定单元202确定的第二音频数据的编码模式为第一编码模式的情况下,对于第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对一个数据包中的附加音频数据编码;或者,具体被配置为在根据确定单元202确定的第二音频数据的编码模式为第二编码模式的情况下,对于第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码;其中,第一码率大于第三码率,且第三码率大于第二码率。
可选的,上述编码单元203,被配置为在建立音频传输连接后的第一预设时长内,采用根据确定单元202确定的第二编码模式对待传输的第三音频数据编码。
可选的,上述编码单元203,被配置为在对待传输的第四音频数据编码的过程中,若根据上述获取单元201获取的丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码;上述编码单元203,被配置为在第二预设时长之后,若根据上述获取单元201获取的丢包率小于预设阈值,则采用第一编码模式对待传输的音频数据编码。
如图5所示,上述音频编码装置200,还包括:发送单元204;上述发送单元204,被配置为发送编码单元203编码后的第二音频数据的数据包,数据包包括模式标识,模式标识用于指示数据包的编码模式。
可选的,上述获取单元201,具体被配置为从接收端接收发送的上述丢包率。
本公开实施例提供的音频编码装置,音频编码装置在获取到第一音频数据的丢包率后,可以根据该丢包率确定与待传输的第二音频数据的实际网络环境等相匹配的编码模式,并根据该编码模式对第二音频数据进行编码,从而可以避免第二音频数据由于丢包过多而造成实时音频传输过程中音质较差的问题,如此,在音频编码装置对音频数据编码时,可以根据丢包率的大小选择不同编码方式对音频数据进行编码,从而大幅提高接收端恢复音频数据包的成功率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,如图5所示,音频编码装置200中一定包括的单元用实线框示意,如获取单元201;音频编码装置200中可以包括也可以不包括的单元用虚线框示意,如发送单元204。
图6是根据一示例性实施例示出的一种音频解码装置框图。参照图6,该音频编码装置300包括接收单元301,获取单元302和解码单元303,其中:接收单元301,被配置为接收数据包;获取单元302,被配置为从接收单元301接收的数据包中获取模式标识,模式标识用于指示数据包的编码模式;解码单元303,被配置为采用与获取单元302获取的编码模式对应的解码模式对数据包解码。
如图6所示,上述音频解码装置300,还包括:计算单元304和发送单元305;其中,计算单元304,被配置为根据接收单元已接收的第一音频数据的数据包数量和数据包序号,计算第一音频数据的丢包率;发送单元305,被配置为向发送端发送计算单元304计算的丢包率。
本公开实施例提供的音频解码装置,通过使用上述模式标识,可以快速识别该数据包的编码模式,采用与该编码模式相对应的解码模式进行解码。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,如图6所示,音频编码装置300中一定包括的单元用实线框示意,如获取单元302;音频编码装置300中可以包括也可以不包括的单元用虚线框示意,如计算单元304。
图7是根据一示例性实施例示出的一种电子设备400的框图。电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备以及计步器等。如图7所示,电子设备400包括但不限于:处理器401、存储器402、显示器403、输入单元404、输出单元405、网络单元406、接口单元407、射频单元408、电源409以及传感器410等。
其中,上述的处理器401,用于存储上述处理器可执行指令的存储器;其中,上述处理器401被配置为执行上述指令,以实现上述方法。可以理解,上述处理器401被配置为执行上述图2至图4所示实施例中任一步骤。即,上述电子设备400可以作为发送端进行音频数据的编码,也可以为接收端进行音频数据的解码。
需要说明的是,本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图7所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器401可包括一个或多个处理单元;可选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器301中。
存储器402可用于存储软件程序以及各种数据。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显示器403用于显示由用户输入的信息或提供给用户的信息。显示器403可包括显示面板,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置显示面板。
输入单元404可以用于接收音频或视频信号。输入单元404可以包括图形处理器(Graphics Processing Unit,GPU)和麦克风,图形处理器对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示器403上。经图形处理器处理后的图像帧可以存储在存储器402(或其它存储介质)中或者经由射频单元408或网络单元406进行发送。麦克风可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元408发送到移动通信基站的格式输出。
输入单元404可以为用户输入单元,可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作)。触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,接收处理器401发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,用户输入单元还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板可覆盖在显示面板上,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。触控面板与显示面板4061可以作为两个独立的部件来实现电子设备的输入和输出功能,也可以将触控面板与显示面板集成而实现电子设备的输入和输出功能,具体此处不做限定。
输出单元405可以为音频输出单元,可以将射频单元408或网络单元406接收的或者在存储器402中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元还可以提供与电子设备400执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元包括扬声器、蜂鸣器以及受话器等。
电子设备通过网络单元406为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
接口单元407为外部装置与电子设备400连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元407可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备400内的一个或多个元件或者可以用于在电子设备400和外部装置之间传输数据。
射频单元408可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器401处理;另外,将上行的数据发送给基站。通常,射频单元408包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元408还可以通过无线通信系统与网络和其他设备通信。
电源409(比如电池)可以用于为各个部件供电,可选的,电源409可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
传感器410可以包括光传感器、运动传感器以及其他传感器中的至少一个。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在电子设备400移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器410还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
另外,电子设备400包括一些未示出的功能模块(例如摄像头),在此不再赘述。
在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由电子设备400的处理器401执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由电子设备400的处理器401执行以完成上述方法。
需要说明的是,上述存储介质中的指令或计算机程序产品中的一条或多条指令被处理器401执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (18)

1.一种音频编码方法,其特征在于,包括:
获取已发送的第一音频数据的丢包率,所述丢包率为丢包数量与第一数量的比值,所述丢包数量为第二数量与所述第一数量的差值,所述第一数量为发送端发送的所述第一音频数据的数据包数量,所述第二数量为接收端接收的所述第一音频数据的数据包数量;
若所述丢包率小于预设阈值,则确定第二音频数据的编码模式为第一编码模式;或者,若所述丢包率大于或等于预设阈值,则确定第二音频数据的编码模式为第二编码模式;
所述预设阈值根据第一对应关系和第二对应关系的重合部分得出,所述第一对应关系包括所述第一编码模式下的MOS与丢包率之间的对应关系,所述第二对应关系包括第二编码模式下的MOS与丢包率之间的对应关系;
在所述第二音频数据的编码模式为所述第一编码模式的情况下,对于所述第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对所述一个数据包中的附加音频数据编码,所述第一码率大于所述第二码率。
2.根据权利要求1所述的音频编码方法,其特征在于,
所述第一编码模式中数据包携带的附加音频数据的数据量小于所述第二编码模式中数据包携带的附加音频数据的数据量,所述附加音频数据用于恢复数据包。
3.根据权利要求2所述的音频编码方法,其特征在于,所述方法还包括:在所述第二音频数据的编码模式为所述第二编码模式的情况下,对于所述第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码;
其中,所述第一码率大于所述第三码率,且所述第三码率大于所述第二码率。
4.根据权利要求1或2所述的音频编码方法,其特征在于,所述方法还包括:
在建立音频传输连接后的第一预设时长内,采用第二编码模式对待传输的第三音频数据编码。
5.根据权利要求1或2所述的音频编码方法,其特征在于,所述方法还包括:
在对待传输的第四音频数据编码的过程中,若所述丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码;
在所述第二预设时长之后,若所述丢包率小于所述预设阈值,则采用第一编码模式对待传输的音频数据编码。
6.根据权利要求1所述的音频编码方法,其特征在于,采用所述编码模式,对所述第二音频数据编码的步骤之后,所述方法还包括:
发送编码后的所述第二音频数据的数据包,所述数据包包括模式标识,所述模式标识用于指示所述数据包的编码模式。
7.根据权利要求1所述的音频编码方法,其特征在于,所述获取已发送的第一音频数据的丢包率,包括:
从接收端接收发送的所述丢包率。
8.一种音频解码方法,其特征在于,包括:
根据已接收的第一音频数据的数据包数量和数据包序号,计算所述第一音频数据的丢包率;
向发送端发送丢包率;
接收第二音频数据的数据包;
从所述数据包中获取模式标识,所述模式标识用于指示所述数据包的编码模式;
采用与所述编码模式对应的解码模式对所述第二音频数据的数据包解码;
其中,若所述丢包率小于预设阈值,则所述第二音频数据的编码模式为第一编码模式;或者,若所述丢包率大于或等于预设阈值,则所述第二音频数据的编码模式为第二编码模式;所述预设阈值根据第一对应关系和第二对应关系的重合部分得出,所述第一对应关系包括所述第一编码模式下的MOS与丢包率之间的对应关系,所述第二对应关系包括第二编码模式下的MOS与丢包率之间的对应关系;
在所述第二音频数据的数据包的编码模式为第一编码模式的情况下,所述第二音频数据中的主音频数据采用第一码率编码,所述第二音频数据中的附加音频数据采用第二码率编码,所述第一码率大于所述第二码率。
9.一种音频编码装置,其特征在于,包括:
获取单元,被配置为获取已发送的第一音频数据的丢包率,所述丢包率为丢包数量与第一数量的比值,所述丢包数量为第二数量与所述第一数量的差值,所述第一数量为发送端发送的所述第一音频数据的数据包数量,所述第二数量为接收端接收的所述第一音频数据的数据包数量;
确定单元,被配置为若根据所述获取单元获取的所述丢包率小于预设阈值,则确定第二音频数据的编码模式为第一编码模式;或者,具体被配置为若根据所述获取单元获取的所述丢包率大于或等于预设阈值,则确定第二音频数据的编码模式为第二编码模式;
所述预设阈值根据第一对应关系和第二对应关系的重合部分得出,所述第一对应关系包括所述第一编码模式下的MOS与丢包率之间的对应关系,所述第二对应关系包括第二编码模式下的MOS与丢包率之间的对应关系;
编码单元,被配置为在根据所述确定单元确定的所述第二音频数据的编码模式为所述第一编码模式的情况下,对于所述第二音频数据中的每个数据包,采用第一码率对一个数据包中的主音频数据编码,并采用第二码率对所述一个数据包中的附加音频数据编码,所述第一码率大于所述第二码率。
10.根据权利要求9所述的音频编码装置,其特征在于,
所述第一编码模式中数据包携带的附加音频数据的数据量小于所述第二编码模式中数据包携带的附加音频数据的数据量,所述附加音频数据用于恢复数据包。
11.根据权利要求10所述的音频编码装置,其特征在于,
所述编码单元,还被配置为在根据所述确定单元确定的所述第二音频数据的编码模式为所述第二编码模式的情况下,对于所述第二音频数据中的每个数据包,采用第三码率对一个数据包中的主音频数据和附加音频数据编码;
其中,所述第一码率大于所述第三码率,且所述第三码率大于所述第二码率。
12.根据权利要求9或10所述的音频编码装置,其特征在于,
所述编码单元,被配置为在建立音频传输连接后的第一预设时长内,采用根据所述确定单元确定的第二编码模式对待传输的第三音频数据编码。
13.根据权利要求9或10所述的音频编码装置,其特征在于,
所述编码单元,被配置为在对待传输的第四音频数据编码的过程中,若所述根据所述获取单元获取的丢包率大于或等于预设阈值,则在第二预设时长内采用第二编码模式对待传输的第五音频数据编码;
所述编码单元,被配置为在所述第二预设时长之后,若根据所述获取单元获取的所述丢包率小于所述预设阈值,则采用第一编码模式对待传输的音频数据编码。
14.根据权利要求9所述的音频编码装置,其特征在于,所述音频编码装置还包括:
发送单元,被配置为发送所述编码单元编码后的所述第二音频数据的数据包,所述数据包包括模式标识,所述模式标识用于指示所述数据包的编码模式。
15.根据权利要求9所述的音频编码装置,其特征在于,
所述获取单元,具体被配置为从接收端接收发送的所述丢包率。
16.一种音频解码装置,其特征在于,包括:
计算单元,被配置为根据接收单元已接收的第一音频数据的数据包数量和数据包序号,计算所述第一音频数据的丢包率;
发送单元,被配置为向发送端发送所述计算单元计算的所述丢包率;
接收单元,被配置为接收第二音频数据的数据包;
获取单元,被配置为从所述接收单元接收的所述数据包中获取模式标识,所述模式标识用于指示所述数据包的编码模式;
解码单元,被配置为采用与所述获取单元获取的所述编码模式对应的解码模式对所述第二音频数据的数据包解码;
其中,若所述丢包率小于预设阈值,则所述第二音频数据的编码模式为第一编码模式;或者,若所述丢包率大于或等于预设阈值,则所述第二音频数据的编码模式为第二编码模式;所述预设阈值根据第一对应关系和第二对应关系的重合部分得出,所述第一对应关系包括所述第一编码模式下的MOS与丢包率之间的对应关系,所述第二对应关系包括第二编码模式下的MOS与丢包率之间的对应关系;在所述第二音频数据的数据包的编码模式为第一编码模式的情况下,所述第二音频数据中的主音频数据采用第一码率编码,所述第二音频数据中的附加音频数据采用第二码率编码,所述第一码率大于所述第二码率。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的音频编码方法,或者,如权利要求8所述的音频解码方法。
18.一种存储介质,其特征在于,当所述存储介质中的指令由音频编码装置的处理器执行时,使得音频编码装置能够执行如权利要求1至7中任一项所述的音频编码方法,或者,当所述存储介质中的指令由音频解码装置的处理器执行时,使得音频解码装置能够执行如权利要求8所述的音频解码方法。
CN202010125568.1A 2020-02-27 2020-02-27 音频数据编码、解码方法、装置、电子设备及存储介质 Active CN111128203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010125568.1A CN111128203B (zh) 2020-02-27 2020-02-27 音频数据编码、解码方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010125568.1A CN111128203B (zh) 2020-02-27 2020-02-27 音频数据编码、解码方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111128203A CN111128203A (zh) 2020-05-08
CN111128203B true CN111128203B (zh) 2022-10-04

Family

ID=70493224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010125568.1A Active CN111128203B (zh) 2020-02-27 2020-02-27 音频数据编码、解码方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111128203B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111601178B (zh) * 2020-05-26 2022-09-23 维沃移动通信有限公司 视频数据处理方法、装置和电子设备
CN114374470B (zh) * 2020-10-15 2024-10-18 华为技术有限公司 数据传输方法、系统和计算机可读存储介质
CN112634868B (zh) * 2020-12-21 2024-04-05 北京声智科技有限公司 一种语音信号处理方法、装置、介质和设备
CN113409799B (zh) * 2021-06-23 2024-04-09 中移(杭州)信息技术有限公司 音频编码方法、装置、设备以及计算机可读存储介质
CN113192520B (zh) * 2021-07-01 2021-09-24 腾讯科技(深圳)有限公司 一种音频信息处理方法、装置、电子设备及存储介质
CN114301884B (zh) * 2021-08-27 2023-12-05 腾讯科技(深圳)有限公司 音频数据的发送方法、接收方法、装置、终端及存储介质
CN114978427B (zh) * 2022-05-19 2024-04-19 腾讯科技(深圳)有限公司 数据处理方法、装置、程序产品、计算机设备和介质
CN115206330A (zh) * 2022-07-15 2022-10-18 北京达佳互联信息技术有限公司 音频处理方法、音频处理装置、电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59908889D1 (de) * 1999-06-18 2004-04-22 Alcatel Sa Gemeinsame Quellen- und Kanalcodierung
CN101002391B (zh) * 2004-07-28 2012-06-20 松下电器产业株式会社 信号解码装置
EP2381580A1 (en) * 2007-04-13 2011-10-26 Global IP Solutions (GIPS) AB Adaptive, scalable packet loss recovery
CN101777960B (zh) * 2008-11-17 2013-08-14 华为终端有限公司 音频编码方法、音频解码方法、相关装置及通信系统
CN109524015B (zh) * 2017-09-18 2022-04-15 杭州海康威视数字技术股份有限公司 音频编码方法、解码方法、装置及音频编解码系统
CN109218083B (zh) * 2018-08-27 2021-08-13 广州猎游信息科技有限公司 一种语音数据传输方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于二项式概率的冗余传输策略;周仕飞等;《计算机工程》;20110105(第01期);全文 *

Also Published As

Publication number Publication date
CN111128203A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111128203B (zh) 音频数据编码、解码方法、装置、电子设备及存储介质
JP7258041B2 (ja) サイドリンクの伝送方法及び端末
CN110034876B (zh) Pucch资源指示、处理方法、网络侧设备、用户终端
CN113472480B (zh) 一种传输处理方法及设备
CN111836310B (zh) Uci传输方法、终端和网络设备
WO2020192718A1 (zh) 传输块大小确定方法和通信设备
US20210076044A1 (en) Video coding method, device, device and storage medium
CN112423076B (zh) 一种音频投屏同步控制方法、设备及计算机可读存储介质
CN111262672B (zh) 传输方法、网络设备和终端
CN111629210A (zh) 一种数据处理的方法、装置及电子设备
CN111800867B (zh) 半持续调度物理下行共享信道的反馈方法及终端设备
JP2023524158A (ja) 情報伝送方法、装置及び電子機器
WO2019137426A1 (zh) 空间关系的确定方法、终端及基站
CN109873689B (zh) 混合自动重传请求应答消息的传输方法及终端
CN112787769B (zh) 确定nfi的方法、装置、设备和存储介质
CN110062416B (zh) 资源关系的通知、确定方法、基站及终端
CN110149185B (zh) Csi资源类型的确定方法、终端和网络侧设备
CN112888024B (zh) 数据处理方法、装置、存储介质及电子设备
CN109889568B (zh) 一种数据导出方法、服务器及系统
CN113472479A (zh) 一种传输处理方法及设备
CN109165197B (zh) 一种文件处理方法、终端及服务器
CN108881775B (zh) 一种视频通信方法和移动终端
CN111970668B (zh) 一种蓝牙音频控制方法、设备及计算机可读存储介质
CN110377458B (zh) 数据恢复方法、移动终端及计算机可读存储介质
CN110933513A (zh) 一种音视频数据传输方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant