CN105989844B - 一种音频传输的自适应方法及装置 - Google Patents
一种音频传输的自适应方法及装置 Download PDFInfo
- Publication number
- CN105989844B CN105989844B CN201510047890.6A CN201510047890A CN105989844B CN 105989844 B CN105989844 B CN 105989844B CN 201510047890 A CN201510047890 A CN 201510047890A CN 105989844 B CN105989844 B CN 105989844B
- Authority
- CN
- China
- Prior art keywords
- strategy
- audio
- audio stream
- coding
- transmission
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
Abstract
本发明公开了一种音频传输的自适应方法及装置,其方法包括:获取与流媒体客户端之间的当前网络的传输速率;根据待传输的音频流在预定编码策略下的音频帧的比特数与传输速率,计算音频帧的传输时间;判断传输时间是否超出一预设的传输时延阈值;若未超出,按照预定编码策略,对音频流进行编码后并发送至向流媒体客户端;若超出,则调整预定编码策略,降低音频流编码后的音频帧的比特数,并将编码后的音频流发送至流媒体客户端。本发明通过网络的当前传输速率与预设的传输时延阈值的关系,来调整音频流的编码策略,以使音频传输适应当前网络的传输速率,解决了因网络抖动或网络不稳定而造成的高于标准要求的时延,进而影响设备之间配合异常的问题。
Description
技术领域
本发明涉及流媒体传输领域,尤其涉及一种音频传输的自适应方法及装置。
背景技术
目前流媒体传输已成为网络通信中的一常用功能,在流媒体传输的框架中,存在某些对于音频流的限制,其中一个比较普遍的问题是对于音频流时延的要求。音频流时延包括:网络传输时延和编码设备时延,为了降低音频流时延通常由两个方向入手:一是降低网络时延,优化网络结构,例如建立端到端的直接物理连接,采用高效传输控制协议,以及优化网络环境等;一是优化设备处理效率,提高设备的运算速率,优化处理逻辑,提高程序效率。
虽然以上两种方式可以在很大程度上解决音频流时延的问题,但均不能解决网络环境的随机性问题。现有技术中,无论物理层基于何种网络拓扑结构,何种网络介质,网络抖动、网络不稳定都无法避免,在这样的情况下,可能出现高于标准要求的时延,从而可能导致设备之间配合异常。
发明内容
为了解决上述技术问题,本发明提供了一种音频传输的自适应方法及装置,解决了当网络抖动时,音频流时延超标的问题。
依据本发明的一个方面,提供了一种音频传输的自适应方法,应用于流媒体服务器端,包括:
获取与流媒体客户端之间的当前网络的传输速率;
根据待传输的音频流在预定编码策略下的音频帧的比特数与传输速率,计算音频帧的传输时间;
判断传输时间是否超出一预设的传输时延阈值;
若未超出,按照预定编码策略对音频流进行编码,并发送至向流媒体客户端;
若超出,则调整预定编码策略,降低音频流编码后的音频帧的比特数,并将编码后的音频流发送至流媒体客户端。
其中,获取与流媒体客户端之间的当前网络的传输速率的步骤包括:
向流媒体客户端发送网络探测消息,其中,网络探测消息携带有发送网络探测消息的第一时间;
接收流媒体客户端响应网络探测消息后发送的探测响应消息,其中,探测响应消息携带有流媒体客户端接收到网络探测消息的第二时间;
根据第二时间与第一时间的时间差,以及网络探测消息的比特数,计算与流媒体客户端之间的传输速率。
其中,调整预定编码策略,降低编码后的音频帧的比特数的步骤包括:
检测编码特性是否支持第一编码策略;
若支持,则根据第一编码策略降低音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则检测编码特性是否支持第二编码策略;
若不支持,则检测编码特性是否支持第二编码策略;若不支持第二编码策略,则丢弃音频流编码后的音频帧中的部分帧;若支持第二编码策略,则根据第二编码策略降低音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则丢弃音频流编码后的音频帧中的部分帧;
第一编码策略为分帧策略和多码率策略中的一种,第二编码策略为另一种。
其中,第一编码策略为分帧策略,分帧策略包括多种帧长;根据第一编码策略降低音频流编码后的音频帧的比特数的步骤包括:
将音频流分为多个第一音频流,并按照当前编码码率对第一音频流进行编码,其中,第一音频流的长度为分帧策略中的最短帧长。
其中,第二编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;根据第二编码策略降低音频流编码后的音频帧的比特数的步骤包括:
采用编码码率集合中低于当前编码码率的编码码率对第一音频流重新编码。
其中,第一编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;根据第一编码策略降低音频流编码后的音频帧的比特数的步骤包括:
采用编码码率集合中低于当前编码码率的编码码率对音频流重新编码。
其中,第二编码策略为分帧策略,分帧策略包括多种帧长,根据第二编码策略降低音频流编码后的音频帧的比特数的步骤包括:
将编码后的音频帧分为多个第一音频帧,第一音频帧的长度为分帧策略中的最短帧长。
依据本发明的另一个方面,还提供了一种音频传输的自适应装置,应用于流媒体服务器端,包括:
获取模块,用于获取与流媒体客户端之间的当前网络的传输速率;
计算模块,用于根据待传输的音频流在预定编码策略下的音频帧的比特数与传输速率,计算音频帧的传输时间;
判断模块,用于判断是否超出一预设的;
第一调整模块,用于当传输时间未超出传输时延阈值时,按照预定编码策略对音频流进行编码,并发送至向流媒体客户端;
第二调整模块,用于当传输时间超出传输时延阈值时,调整预定编码策略,降低音频流编码后的音频帧的比特数,并将编码后的音频流发送至流媒体客户端。
其中,获取模块包括:
发送单元,用于向流媒体客户端发送网络探测消息,其中,网络探测消息携带有发送网络探测消息的第一时间;
接收单元,用于接收流媒体客户端响应网络探测消息后发送的探测响应消息,其中,探测响应消息携带有流媒体客户端接收到网络探测消息的第二时间;
计算单元,用于根据第二时间与第一时间的时间差,以及网络探测消息的比特数,计算与流媒体客户端之间的传输速率。
其中,第二调整模块包括:
第一检测单元,用于检测编码特性是否支持第一编码策略;
第一调整单元,用于当支持第一编码策略时,根据第一编码策略降低音频流编码后的音频帧的比特数;
第一判断单元,用于判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则检测编码特性是否支持第二编码策略;
第二检测单元,用于当不支持第一编码策略时,检测编码特性是否支持第二编码策略;
第二调整单元,用于当不支持第二编码策略时,丢弃音频流编码后的音频帧中的部分帧;当支持第二编码策略时,根据第二编码策略降低音频流编码后的音频帧的比特数;
第二判断单元,用于判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则丢弃音频流编码后的音频帧中的部分帧;
其中,第一编码策略为分帧策略和多码率策略中的一种,第二编码策略为另一种。
其中,第一编码策略为分帧策略,分帧策略包括多种帧长;第一调整单元包括:
第一调整子单元,用于将音频流分为多个第一音频流,并按照当前编码码率对第一音频流进行编码,其中,第一音频流的长度为分帧策略中的最短帧长。
其中,第二编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;第二调整单元包括:
第二调整子单元,用于采用编码码率集合中低于当前编码码率的编码码率对第一音频流重新编码。
其中,第一编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;第一调整单元还包括:
第三调整子单元,用于采用编码码率集合中低于当前编码码率的编码码率对音频流重新编码。
其中,第二编码策略为分帧策略,分帧策略包括多种帧长,第二调整单元还包括:
第四调整子单元,用于将编码后的音频帧分为多个第一音频帧,第一音频帧的长度为分帧策略中的最短帧长。
本发明的实施例的有益效果是:一种音频传输的自适应方法及装置,通过发送网络探测消息的方式,计算当前网络的传输速率,根据待传输音频流在预定编码策略下的音频帧的比特数与传输速率,计算该音频帧的传输时间,再判断得到的传输时间是否超出了预设的传输时延阈值,若未超出,则按照预定编码策略对该音频流进行编码并发送至流媒体客户端,若超出,则调整预定编码策略,降低音频流编码后的比特数,并将编码后的音频流发送至流媒体客户端。根据当前网络传输速率与预设传输时延阈值的关系,来调整音频流的编码策略,以使音频传输适应当前网络的传输速率,解决了因网络抖动或网络不稳定而造成的高于标准要求的时延,进而影响设备之间配合异常的问题。
附图说明
图1表示本发明的音频传输的自适应方法的流程图;
图2表示本发明的实施例一的流程图;
图3表示本发明的实施例二的流程图;
图4表示本发明的音频传输的自适应装置的模块示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
随着流媒体传输功能的发展与普及,对流媒体传输过程中的时延要求越来越高,而当前情况下,无论是物理层基于何种网络拓扑结构,何种网络介质,都无法避免网络抖动和网络不稳定的问题,这样即使优化了设备处理效率,优化了网络拓扑结构,仍然可能出现高于标准要求的时延,从而导致设备之间配合异常。为了解决上述问题,如图1所示,本发明的实施例提供了一种音频传输的自适应方法,应用于流媒体服务器端,根据当前网络状态来调整音频流的编码策略,其方法主要包括:
步骤10:获取与流媒体客户端之间的当前网络的传输速率。
流媒体服务器通过向流媒体客户端发送一网络探测消息,其中,该网络探测消息中携带有流媒体服务器发送该网络探测消息的第一时间,当流媒体客户端收到该网络探测消息后对该消息进行响应,并将探测响应消息反馈至流媒体服务器,其中,该探测响应消息中携带有流媒体客户端接收到网络探测消息的第二时间,以及反馈探测响应消息的第三时间。由第二时间与第一时间的时间差可计算出该网络探测消息的下行传输时间,由于网络探测消息的字节数或比特数是确定的,根据网络探测消息的数据量与计算出的传输时间的比值,计算出当前网络的下行传输速率。其中,网络探测消息根据网络协议的类型而定,本实施例中以RTSP消息为例。由于RTSP消息携带的比特数很少,为了得到准确的传输速率,优选地可选用发送多个RTSP消息,取多次RTSP探测消息传输速率的平均数,作为权衡网络下行传输速率的依据。虽然RTSP消息携带的比特数很少,但频繁发送仍会对网络造成一定的负荷,故设定每隔预定时间对网络状况进行一次探测,并根据当时网络状况对音频流的编码策略进行调整。
步骤20:根据待传输的音频流在预定编码策略下的音频帧的比特数与传输速率,计算音频帧的传输时间。
在配置流媒体服务器时,会对流媒体服务器端的编码器进行初始配置,例如配置编码器的:编码码率,编码帧长等,这样流媒体服务器端有一预定编码策略。根据待传输的音频流在该预定编码策略下的编码比特数,与上述计算得到的传输速率的比值,计算该音频流的传输时间,即在当前网络情况下,传输该音频流所需要的传输时间。
步骤30:判断传输时间是否超出一预设的传输时延阈值。
预设的传输时延阈值的具体计算方法如下,标准要求时延为:建立传输通道的时间、流媒体服务器端的处理时间、流媒体客户端的处理时间以及传输音频流的时间,故传输时延阈值的上限即为标准要求时延减去建立传输通道的时间,再减去流媒体服务器端的处理时间和流媒体客户端的处理时间,例如:标准要求时延为40ms,流媒体服务器端和流媒体客户端之间建立传输通道的时间为20ms,流媒体服务器端和流媒体客户端的处理一帧音频信号的时间均为3ms,则传输一帧音频信号的时间的传输时延阈值为14ms。
步骤40:若未超出,按照预定编码策略对音频流进行编码,并发送至向流媒体客户端;若超出,则调整预定编码策略,降低音频流编码后的音频帧的比特数,并将编码后的音频流发送至流媒体客户端。
若步骤20中计算出的传输时间未超出传输时延阈值,说明当前网络状态良好,按照初始设置的预定编码策略对待传输的音频流进行编码即可实现音频流的可靠传输。
若步骤20中计算出的传输时间已超出传输时延阈值,说明当前网络状态较差或网络状态不稳定,则需要调整音频流的编码策略,以降低音频流编码后的音频帧的比特数,以使得每一音频帧能够可靠传输。
其中,调整预定编码策略,降低编码后的音频帧的比特数的具体包括以下步骤:
检测流媒体服务器端自身的编码特性是否支持第一编码策略;
若支持第一编码策略,则根据第一编码策略降低音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出传输时延阈值,若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则检测自身编码特性是否支持第二编码策略;
若不支持第一编码策略,则检测自身编码特性是否支持第二编码策略;
若不支持第二编码策略,则丢弃音频流编码后的音频帧中的部分帧;
若支持第二编码策略,则根据第二编码策略降低音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出传输时延阈值,若未超过,则将编码后的音频流发送至流媒体客户端;若超出,则丢弃音频流编码后的音频帧中的部分帧。
第一编码策略为分帧策略和多码率策略中的一种,第二编码策略为另一种。其中,支持分帧策略的编码器包括现有的可变帧长编码器,例如典型代表AMR-WB+编码器,其特点在于编码器提供了多种帧长模式,包括:20ms帧长、40ms帧长和80ms帧长等,20ms帧长为将2ms的音频流封装为一帧,即一帧音频帧携带20ms的音频信号。支持多码率策略的编码器包括现有的编码码率可变编码器,例如典型代表:AMR-NB和AMR-WB等,其特点在于虽然每帧音频帧携带的音频信号时间长度不可变,但对于每帧音频帧的编码比特数可变,例如AMR-WB有多种编码码率,每帧音频帧的编码比特数为477、461、397和365等。无论是采用较短帧长的方式,还是采用较低编码码率的方式,都是为了降低每帧音频帧的比特数,以缩短每帧音频帧的传输时间,使得音频流在当前网络状态下可靠传输。
其中,由于发生网络抖动或网络不稳定的时间很短,故只对待传输音频流的当前帧进行调整编码策略,即仅音频流的第一帧按照第一编码策略或第二编码策略进行编码,音频流的第二帧则采用预定编码策略进行编码;其中,丢弃音频流编码后的音频帧中的部分帧,指的是丢弃音频流的第一帧,从第二帧开始进行编码传输。因为通常一音频帧的长度不超过100ms,改变一帧音频信号的编码策略或丢弃一帧音频信号并不会对音频质量在感知上造成任何影响,因此该自适应方法对于音频流质量的影响可忽略不计,而且使得在网络抖动或网络不稳定时保证了音频流的可靠传输。
其中,当第一编码策略为分帧策略,第二编码策略为多码率策略时,分帧策略包括多种帧长,多码率策略包括所支持的编码码率集合。该音频传输的自适应方法的具体实现方式可参照图2所示,
获取当前网络的传输速率,即通过流媒体服务端向流媒体客户端发送网络探测消息对当前网络的下行传输速率进行探测。
是否超过预设传输时延阈值,检测计算得到的当前网络的传输速率是否超过了预设传输时延阈值。
若未超过,按照预定编码策略对音频流进行编码,并发送至流媒体客户端。
若超过,则检测流媒体服务器端的编码器的编码特性是否支持分帧策略;
若支持,则将音频流按照最短帧长进行分流,并按照当前编码码率进行编码,然后再检测编码后的音频流的每帧音频帧的传输时间是否超过预设传输时延阈值;若未超过,则将编码后的音频流发送至流媒体客户端,若超过,则检测编码特性是否支持多码率策略;若不支持,则丢弃音频流编码后的音频帧中的部分帧,若支持,则采用低于当前编码码率的编码码率对分流后的音频流进行编码,然后再检测编码后的音频流的每帧音频帧的传输时间是否超过了预设传输时延阈值,若未超过,则将编码后的音频流发送至流媒体客户端;若经过两次编码策略调整后的音频帧的传输时间仍超过了传输时延阈值,则丢弃音频流编码后的音频帧中的部分帧。
若不支持分帧策略,则检测编码器的编码特性是否支持多码率策略;若不支持,则丢弃音频流编码后的音频帧中的部分帧,若支持,则采用低于当前编码码率的编码码率对分流后的音频流进行编码,然后再检测编码后的音频帧的传输时间是否超过预设传输时延阈值,若未超过,则将编码后的音频流发送至流媒体客户端;若经编码策略调整后的音频帧的传输时间仍超过了传输时延阈值,则丢弃音频流编码后的音频帧中的部分帧。
本实施例中,根据当前网络传输速率与预设传输时延阈值的关系,来调整音频流的编码策略,若在当前网络传输速率下,当前音频帧的传输时间未超出传输时延阈值,则按照预定编码策略对音频流进行编码,并将编码后的音频帧传输至流媒体客户端。若在当前网络传输速率下,当前音频帧的传输时间超出了传输时延阈值,则依次检测是否支持分帧策略和多码率策略,并按照相应编码策略对音频流进行编码,以使音频传输适应当前网络的传输速率,解决了因网络抖动或网络不稳定而造成的高于标准要求的时延,进而影响设备之间配合异常的问题。
实施例二
其中,当第一编码策略为多码率策略,第二编码策略为分帧策略时,多码率策略包括所支持的编码码率集合,分帧策略包括多种帧长。该音频传输的自适应方法的具体实现方式可参照图3所示,
获取当前网络的传输速率,即通过流媒体服务端向流媒体客户端发送网络探测消息对当前网络的下行传输速率进行探测。
是否超过预设传输时延阈值,检测计算得到的当前网络的传输速率是否超过了预设传输时延阈值。
若未超过,按照预定编码策略对音频流进行编码,并发送至流媒体客户端。
若超过,则检测流媒体服务器端的编码器的编码特性是否支持多码率策略;
若支持,则将音频流采用低于当前编码码率的编码码率对音频流进行编码,优选地可采用最低编码码率对音频流进行编码,然后再检测编码后的音频流的每帧音频帧的传输时间是否超过预设传输时延阈值;若未超过,则将编码后的音频流发送至流媒体客户端,若超过,则检测编码特性是否支持分帧策略;若不支持,则丢弃音频流编码后的音频帧中的部分帧,若支持,则将音频流按照最短帧长进行分流,并按照当前编码码率进行编码,即按照最短帧长和最低编码码率对音频流进行编码,然后再检测编码后的音频流的每帧音频帧的传输时间是否超过了预设传输时延阈值,若未超过,则将编码后的音频流发送至流媒体客户端;若经过两次编码策略调整后的音频帧的传输时间仍超过了传输时延阈值,则丢弃音频流编码后的音频帧中的部分帧。
若不支持多码率策略,则检测编码器的编码特性是否支持分帧策略;若不支持,则丢弃音频流编码后的音频帧中的部分帧,若支持,则将音频流按照最短帧长进行分流,并按照当前编码码率进行编码,然后再检测编码后的音频帧的传输时间是否超过预设传输时延阈值,若未超过,则将编码后的音频流发送至流媒体客户端;若经编码策略调整后的音频帧的传输时间仍超过了传输时延阈值,则丢弃音频流编码后的音频帧中的部分帧。
本实施例中,根据当前网络传输速率与预设传输时延阈值的关系,来调整音频流的编码策略,若在当前网络传输速率下,当前音频帧的传输时间未超出传输时延阈值,则按照预定编码策略对音频流进行编码,并将编码后的音频帧传输至流媒体客户端。若在当前网络传输速率下,当前音频帧的传输时间超出了传输时延阈值,则依次检测是否支持多码率策略和分帧策略,并按照相应编码策略对音频流进行编码,以使音频传输适应当前网络的传输速率,解决了因网络抖动或网络不稳定而造成的高于标准要求的时延,进而影响设备之间配合异常的问题。
如图4所示,本发明的实施例中还提供了一种音频传输的自适应装置,应用于流媒体服务器端,包括:
获取模块,用于获取与流媒体客户端之间的当前网络的传输速率;
计算模块,用于根据待传输的音频流在预定编码策略下的音频帧的比特数与传输速率,计算音频帧的传输时间;
判断模块,用于判断是否超出一预设的;
第一调整模块,用于当传输时间未超出传输时延阈值时,按照预定编码策略对音频流进行编码,并发送至向流媒体客户端;
第二调整模块,用于当传输时间超出传输时延阈值时,调整预定编码策略,降低音频流编码后的音频帧的比特数,并将编码后的音频流发送至流媒体客户端。
其中,获取模块包括:
发送单元,用于向流媒体客户端发送网络探测消息,其中,网络探测消息携带有发送网络探测消息的第一时间;
接收单元,用于接收流媒体客户端响应网络探测消息后发送的探测响应消息,其中,探测响应消息携带有流媒体客户端接收到网络探测消息的第二时间;
计算单元,用于根据第二时间与第一时间的时间差,以及网络探测消息的比特数,计算与流媒体客户端之间的传输速率。
其中,第二调整模块包括:
第一检测单元,用于检测编码特性是否支持第一编码策略;
第一调整单元,用于当支持第一编码策略时,根据第一编码策略降低音频流编码后的音频帧的比特数;
第一判断单元,用于判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则检测编码特性是否支持第二编码策略;
第二检测单元,用于当不支持第一编码策略时,检测编码特性是否支持第二编码策略;
第二调整单元,用于当不支持第二编码策略时,丢弃音频流编码后的音频帧中的部分帧;当支持第二编码策略时,根据第二编码策略降低音频流编码后的音频帧的比特数;
第二判断单元,用于判断降低比特数后的音频帧的传输时间是否超出传输时延阈值;若未超出,则将编码后的音频流发送至流媒体客户端;若超出,则丢弃音频流编码后的音频帧中的部分帧;
其中,第一编码策略为分帧策略和多码率策略中的一种,第二编码策略为另一种。
其中,第一编码策略为分帧策略,分帧策略包括多种帧长;第一调整单元包括:
第一调整子单元,用于将音频流分为多个第一音频流,并按照当前编码码率对第一音频流进行编码,其中,第一音频流的长度为分帧策略中的最短帧长。
其中,第二编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;第二调整单元包括:
第二调整子单元,用于采用编码码率集合中低于当前编码码率的编码码率对第一音频流重新编码,并向流媒体客户端告知当前的编码码率。
其中,第一编码策略为多码率策略,多码率策略包括:所支持的编码码率集合;第一调整单元还包括:
第三调整子单元,用于采用编码码率集合中低于当前编码码率的编码码率对音频流重新编码,并向流媒体客户端告知当前的编码码率。
其中,第二编码策略为分帧策略,分帧策略包括多种帧长,第二调整单元还包括:
第四调整子单元,用于将编码后的音频帧分为多个第一音频帧,第一音频帧的长度为分帧策略中的最短帧长。
需要说明的是,该装置是与上述音频传输的自适应方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (14)
1.一种音频传输的自适应方法,应用于流媒体服务器端,其特征在于,包括:
获取与流媒体客户端之间的当前网络的传输速率;
根据待传输的音频流在预定编码策略下的音频帧的比特数与所述传输速率,计算所述音频帧的传输时间;
判断所述传输时间是否超出一预设的传输时延阈值;
若未超出,按照所述预定编码策略对所述音频流进行编码,并发送至所述流媒体客户端;
若超出,则调整所述预定编码策略,降低所述音频流编码后的音频帧的比特数,并将编码后的音频流发送至所述流媒体客户端,其中,预定编码策略包括第一编码策略和第二编码策略,第一编码策略为多码率策略,第二编码策略为分帧策略时,多码率策略包括所支持的编码码率集合,分帧策略包括多种帧长。
2.根据权利要求1所述的音频传输的自适应方法,其特征在于,获取与流媒体客户端之间的当前网络的传输速率的步骤包括:
向所述流媒体客户端发送网络探测消息,其中,所述网络探测消息携带有发送所述网络探测消息的第一时间;
接收所述流媒体客户端响应所述网络探测消息后发送的探测响应消息,其中,所述探测响应消息携带有所述流媒体客户端接收到所述网络探测消息的第二时间;
根据所述第二时间与所述第一时间的时间差,以及所述网络探测消息的比特数,计算与所述流媒体客户端之间的传输速率。
3.根据权利要求1或2所述的音频传输的自适应方法,其特征在于,调整所述预定编码策略,降低编码后的音频帧的比特数的步骤包括:
检测所述编码特性是否支持第一编码策略;
若支持,则根据所述第一编码策略降低所述音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出所述传输时延阈值;若未超出,则将编码后的音频流发送至所述流媒体客户端;若超出,则检测所述编码特性是否支持第二编码策略;
若不支持,则检测所述编码特性是否支持第二编码策略;若不支持所述第二编码策略,则丢弃所述音频流编码后的音频帧中的部分帧;若支持所述第二编码策略,则根据所述第二编码策略降低所述音频流编码后的音频帧的比特数,并判断降低比特数后的音频帧的传输时间是否超出所述传输时延阈值;若未超出,则将编码后的音频流发送至所述流媒体客户端;若超出,则丢弃所述音频流编码后的音频帧中的部分帧;
所述第一编码策略为分帧策略和多码率策略中的一种,所述第二编码策略为另一种。
4.根据权利要求3所述的音频传输的自适应方法,其特征在于,根据所述第一编码策略降低所述音频流编码后的音频帧的比特数的步骤包括:
将所述音频流分为多个第一音频流,并按照当前编码码率对所述第一音频流进行编码,其中,第一音频流的长度为所述分帧策略中的最短帧长。
5.根据权利要求4所述的音频传输的自适应方法,其特征在于,根据所述第二编码策略降低所述音频流编码后的音频帧的比特数的步骤包括:
采用所述编码码率集合中低于当前编码码率的编码码率对所述第一音频流重新编码。
6.根据权利要求3所述的音频传输的自适应方法,其特征在于,所述第一编码策略为多码率策略,所述多码率策略包括:所支持的编码码率集合;根据所述第一编码策略降低所述音频流编码后的音频帧的比特数的步骤包括:
采用所述编码码率集合中低于当前编码码率的编码码率对所述音频流重新编码。
7.根据权利要求6所述的音频传输的自适应方法,其特征在于,所述第二编码策略为分帧策略,所述分帧策略包括多种帧长,根据所述第二编码策略降低所述音频流编码后的音频帧的比特数的步骤包括:
将编码后的音频帧分为多个第一音频帧,所述第一音频帧的长度为所述分帧策略中的最短帧长。
8.一种音频传输的自适应装置,应用于流媒体服务器端,其特征在于,包括:
获取模块,用于获取与流媒体客户端之间的当前网络的传输速率;
计算模块,用于根据待传输的音频流在预定编码策略下的音频帧的比特数与所述传输速率,计算所述音频帧的传输时间;
判断模块,用于判断是否超出一预设的;
第一调整模块,用于当所述传输时间未超出所述传输时延阈值时,按照所述预定编码策略对所述音频流进行编码,并发送至向所述流媒体客户端;
第二调整模块,用于当所述传输时间超出所述传输时延阈值时,调整所述预定编码策略,降低所述音频流编码后的音频帧的比特数,并将编码后的音频流发送至所述流媒体客户端,其中,预定编码策略包括第一编码策略和第二编码策略,第一编码策略为多码率策略,第二编码策略为分帧策略时,多码率策略包括所支持的编码码率集合,分帧策略包括多种帧长。
9.根据权利要求8所述的音频传输的自适应装置,其特征在于,所述获取模块包括:
发送单元,用于向所述流媒体客户端发送网络探测消息,其中,所述网络探测消息携带有发送所述网络探测消息的第一时间;
接收单元,用于接收所述流媒体客户端响应所述网络探测消息后发送的探测响应消息,其中,所述探测响应消息携带有所述流媒体客户端接收到所述网络探测消息的第二时间;
计算单元,用于根据所述第二时间与所述第一时间的时间差,以及所述网络探测消息的比特数,计算与所述流媒体客户端之间的传输速率。
10.根据权利要求8或权利要求9所述的音频传输的自适应装置,其特征在于,所述第二调整模块包括:
第一检测单元,用于检测所述编码特性是否支持第一编码策略;
第一调整单元,用于当支持所述第一编码策略时,根据所述第一编码策略降低所述音频流编码后的音频帧的比特数;
第一判断单元,用于判断降低比特数后的音频帧的传输时间是否超出所述传输时延阈值;若未超出,则将编码后的音频流发送至所述流媒体客户端;若超出,则检测所述编码特性是否支持第二编码策略;
第二检测单元,用于当不支持所述第一编码策略时,检测所述编码特性是否支持第二编码策略;
第二调整单元,用于当不支持所述第二编码策略时,丢弃所述音频流编码后的音频帧中的部分帧;当支持所述第二编码策略时,根据所述第二编码策略降低所述音频流编码后的音频帧的比特数;
第二判断单元,用于判断降低比特数后的音频帧的传输时间是否超出所述传输时延阈值;若未超出,则将编码后的音频流发送至所述流媒体客户端;若超出,则丢弃所述音频流编码后的音频帧中的部分帧;
其中,所述第一编码策略为分帧策略和多码率策略中的一种,所述第二编码策略为另一种。
11.根据权利要求10所述的音频传输的自适应装置,其特征在于,所述第一调整单元包括:
第一调整子单元,用于将所述音频流分为多个第一音频流,并按照当前编码码率对所述第一音频流进行编码,其中,第一音频流的长度为所述分帧策略中的最短帧长。
12.根据权利要求11所述的音频传输的自适应装置,其特征在于,所述第二调整单元包括:
第二调整子单元,用于采用所述编码码率集合中低于当前编码码率的编码码率对所述第一音频流重新编码。
13.根据权利要求10所述的音频传输的自适应装置,其特征在于,所述第一编码策略为多码率策略,所述多码率策略包括:所支持的编码码率集合;所述第一调整单元还包括:
第三调整子单元,用于采用所述编码码率集合中低于当前编码码率的编码码率对所述音频流重新编码。
14.根据权利要求13所述的音频传输的自适应装置,其特征在于,所述第二编码策略为分帧策略,所述分帧策略包括多种帧长,所述第二调整单元还包括:
第四调整子单元,用于将编码后的音频帧分为多个第一音频帧,所述第一音频帧的长度为所述分帧策略中的最短帧长。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047890.6A CN105989844B (zh) | 2015-01-29 | 2015-01-29 | 一种音频传输的自适应方法及装置 |
PCT/CN2015/099813 WO2016119560A1 (zh) | 2015-01-29 | 2015-12-30 | 音频传输的自适应方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047890.6A CN105989844B (zh) | 2015-01-29 | 2015-01-29 | 一种音频传输的自适应方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105989844A CN105989844A (zh) | 2016-10-05 |
CN105989844B true CN105989844B (zh) | 2019-12-13 |
Family
ID=56542364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510047890.6A Active CN105989844B (zh) | 2015-01-29 | 2015-01-29 | 一种音频传输的自适应方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105989844B (zh) |
WO (1) | WO2016119560A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106688233A (zh) * | 2016-12-08 | 2017-05-17 | 深圳市大疆创新科技有限公司 | 用于传输图像的方法、设备和无人机 |
CN107122159B (zh) * | 2017-04-20 | 2020-04-17 | 维沃移动通信有限公司 | 一种在线音频的品质切换方法及移动终端 |
CN108417219B (zh) * | 2018-02-22 | 2020-10-13 | 武汉大学 | 一种适应于流媒体的音频对象编解码方法 |
CN111245769B (zh) * | 2018-11-28 | 2022-09-30 | 深圳技威时代科技有限公司 | 一种音视频传输方法、装置和存储介质 |
CN110364170B (zh) * | 2019-05-29 | 2024-01-30 | 平安科技(深圳)有限公司 | 语音传输方法、装置、计算机装置及存储介质 |
CN113314133A (zh) * | 2020-02-11 | 2021-08-27 | 华为技术有限公司 | 音频传输方法及电子设备 |
CN113645177A (zh) * | 2020-05-11 | 2021-11-12 | 同响科技股份有限公司 | 可靠传输网络中维持实时音讯串流播放延迟的方法及系统 |
GB2596107A (en) * | 2020-06-18 | 2021-12-22 | Nokia Technologies Oy | Managing network jitter for multiple audio streams |
CN112087627A (zh) * | 2020-08-04 | 2020-12-15 | 西安万像电子科技有限公司 | 图像的编码控制方法、装置、设备及存储介质 |
CN113365143B (zh) * | 2021-05-31 | 2024-03-19 | 努比亚技术有限公司 | 一种音频爆音的消除方法及相关设备 |
CN114006890B (zh) * | 2021-10-26 | 2024-02-06 | 深圳Tcl新技术有限公司 | 一种数据传输方法、设备及存储介质和终端设备 |
CN115102931B (zh) * | 2022-05-20 | 2023-12-19 | 阿里巴巴(中国)有限公司 | 自适应调整音频延迟的方法及电子设备 |
CN117527771B (zh) * | 2024-01-05 | 2024-03-29 | 深圳旷世科技有限公司 | 音频传输方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387086A (zh) * | 2011-12-09 | 2012-03-21 | 西安电子科技大学 | 具有QoS保障的深空网络路由方法 |
CN103152497A (zh) * | 2013-03-29 | 2013-06-12 | 贵阳朗玛信息技术股份有限公司 | 手机VoIP系统中动态比特率的实现方法、装置及系统 |
CN103915097A (zh) * | 2013-01-04 | 2014-07-09 | 中国移动通信集团公司 | 一种语音信号处理方法、装置和系统 |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、系统及相关设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917612A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种流媒体视频编码方法及装置 |
CN101800697A (zh) * | 2010-01-27 | 2010-08-11 | 深圳市宇速科技有限公司 | 一种自适应网络带宽实时视频传输方法 |
CN103248884B (zh) * | 2012-02-14 | 2016-08-10 | 华为技术有限公司 | 一种控制视频速率的系统、基站及方法 |
WO2013125375A1 (ja) * | 2012-02-21 | 2013-08-29 | ソニー株式会社 | 映像送信装置、映像送信方法、及びプログラム |
CN103560862B (zh) * | 2013-10-18 | 2017-01-25 | 华为终端有限公司 | 移动终端及其编码速率控制方法 |
-
2015
- 2015-01-29 CN CN201510047890.6A patent/CN105989844B/zh active Active
- 2015-12-30 WO PCT/CN2015/099813 patent/WO2016119560A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387086A (zh) * | 2011-12-09 | 2012-03-21 | 西安电子科技大学 | 具有QoS保障的深空网络路由方法 |
CN103915097A (zh) * | 2013-01-04 | 2014-07-09 | 中国移动通信集团公司 | 一种语音信号处理方法、装置和系统 |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、系统及相关设备 |
CN103152497A (zh) * | 2013-03-29 | 2013-06-12 | 贵阳朗玛信息技术股份有限公司 | 手机VoIP系统中动态比特率的实现方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105989844A (zh) | 2016-10-05 |
WO2016119560A1 (zh) | 2016-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989844B (zh) | 一种音频传输的自适应方法及装置 | |
US8964115B2 (en) | Transmission capacity probing using adaptive redundancy adjustment | |
JP6420006B2 (ja) | ビデオ電話における遅延の低減 | |
JP3740113B2 (ja) | ネットワークに適応したリアルタイムマルチメディアストリーミングシステム及びその方法 | |
US8811167B2 (en) | Shaping multimedia stream bit-rates to adapt to network conditions | |
RU2009116472A (ru) | Динамическая модификация свойств видео | |
CN109150876A (zh) | 一种视频无线传输的qos方法、装置及系统 | |
US20160165058A1 (en) | Codec selection based on offer | |
US10506004B2 (en) | Advanced comfort noise techniques | |
US10469630B2 (en) | Embedded RTCP packets | |
JP4320024B2 (ja) | 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置 | |
US9729287B2 (en) | Codec with variable packet size | |
US20160164942A1 (en) | Decoupled audio and video codecs | |
CN110996103A (zh) | 一种根据网络情况对视频编码码率进行调节的方法 | |
US9538132B2 (en) | Methods, devices, and systems for controlling audio and video transmission | |
CN103238349B (zh) | 用于无线通信中的信道适配的方法和装置 | |
JP5434570B2 (ja) | ストリーム配信装置 | |
KR20100007368A (ko) | 스트리밍 서비스의 비트 레이트를 제어하기 위한 시스템 및그 방법 | |
CN108062041B (zh) | 一种针对电力无线业务的RaptorQ编码参量动态调整方法及装置 | |
CN106982166B (zh) | 一种解决网络拥塞的方法和装置 | |
CN109698928B (zh) | 一种调节视频会议系统中视频流的方法及装置 | |
CN105472304A (zh) | 电网应急通信视频编解码动态适配方法和系统 | |
US9584759B2 (en) | Determination of bit rate request | |
WO2010000910A1 (en) | Transmission capacity probing using adaptive redundancy adjustment | |
CN103581767A (zh) | 视频质量调节系统、终端及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |