一种基于opus的语音编码方法及装置与流程

文档序号:19998738发布日期:2020-02-22 02:59阅读:393来源:国知局
一种基于opus的语音编码方法及装置与流程

本发明涉及语音编码技术领域,特别涉及一种基于opus的语音编码方法及装置。



背景技术:

目前所采用的语音编码技术中,一般是每一帧的语音编码后会带有8字节的头信息,一段语音整体编码后由多个头信息+编码后语音数据组成,但是如果采用8字节的头信息,其头信息在语音编码后字节中占据的比例较大,例如采样率为16k的,一帧20ms的语音,8倍压缩编码后的大小为80字节左右,其中头信息占了总大小的10%左右;采样率为8k的,一帧20ms的语音,8倍压缩编码后的大小为40字节左右,头信息占了总大小的16%左右,由于其头信息占据有较大的比例,因此,降低头信息的占比,来减小语音编码后的字节大小就显得尤为重要。



技术实现要素:

本发明提供一种基于opus的语音编码方法,用以通过采用opus编码技术,并基于预设字节头来表示编码后的语音帧的大小,可以有效降低头信息的占比,进而有效的减小语音编码后的字节大小。

本发明实施例提供一种基于opus的语音编码方法,包括:

步骤s1:获取预设语音段中的当前待编码语音帧;

步骤s2:基于opus编码技术,对获取的所述当前待编码语音帧进行编码,获得已编码语音帧;

步骤s3:基于预设字节头,表示并确定所获得的所述已编码语音帧的字节大小。

在一种可能实现的方式中,在执行步骤s1之前还包括:

步骤s11:获取用户输入的预设语音段;

步骤s12:按照预先设定的时间长度,对所获取的用户输入的预设语音段进行分割处理,并获得若干个待编码语音帧。

在一种可能实现的方式中,在执行步骤s3之后,还包括:

步骤s31:获取所述当前待编码语音帧的下一待编码语音帧;

步骤s32:控制所获取的所述下一待编码语音帧,执行步骤s2-s3;

步骤s33:基于预先设定的所述待编码语音帧的预设排列顺序,继续执行步骤s31-s32,直至所述预设语音段中的所有待编码语音帧全部执行结束。

在一种可能实现的方式中,在执行步骤s3之后,还包括:

步骤s41:确定所述预设字节头在所获得的所述已编码语音帧的字节大小中的比例大小;

步骤s42:判断所确定的所述比例大小是否小于预设比例大小;

若是,执行第一报警操作;

否则,确定所述预设字节头的字节大小,并判断所确定的字节大小是否小于预设字节大小,若是,执行第二报警操作;

否则,执行第三报警操作。

在一种可能实现的方式中,在执行步骤s11之后,执行步骤s12之前,还包括:

步骤s111:判断所获取的用户输入的预设语音段中是否存在空白语音,若存在,发出丢弃指令;

步骤s112:基于语音位置数据库,并根据所发出的丢弃指令,确定所述空白语音在所述预设语音段中的位置信息;

步骤s113:基于所述步骤s112所确定的位置信息,将对应的所述空白语音删除,并重组成新的预设语音段。

本发明实施例提供一种基于opus的语音编码装置,包括:

第一获取模块,用于获取预设语音段中的当前待编码语音帧;

编码模块,用于基于opus编码技术,对所述第一获取模块所获取的所述当前待编码语音帧进行编码,获得已编码语音帧;

第一确定模块,用于基于预设字节头,表示并确定所述编码模块所获得的所述已编码语音帧的字节大小。

在一种可能实现的方式中,还包括:

第二获取模块,用于在所述第一获取模块获取当前待编码语音帧之前,获取用户输入的预设语音段;

分割模块,用于按照预先设定的时间长度,对所述第二获取模块所获取的用户输入的预设语音段进行分割处理,并获得若干个待编码语音帧。

在一种可能实现的方式中,还包括:

第三获取模块,用于获取所述当前待编码语音帧的下一待编码语音帧;

第一控制模块,用于控制所述第三获取模块所获取的所述下一待编码语音帧,执行相应的后续操作;

并且,基于预先设定的所述待编码语音帧的预设排列顺序,控制所述预设语音段中的其余待编码语音帧,执行相应的后续操作。

在一种可能实现的方式中,还包括:

第二确定模块,用于确定所述预设字节头在所获得的所述已编码语音帧的字节大小中的比例大小;

第二控制模块,用于判断所述第二确定模块所确定的所述比例大小是否小于预设比例大小;

若是,控制报警模块执行第一报警操作;

否则,确定所述预设字节头的字节大小,并判断所确定的字节大小是否小于预设字节大小,若是,控制报警模块执行第二报警操作;

否则,控制报警模块执行第三报警操作。

在一种可能实现的方式中,还包括:

判断模块,用于判断所述第二获取模块所获取的用户输入的预设语音段中是否存在空白语音,若存在,发出丢弃指令;

确定模块,用于基于语音位置数据库,并根据所述判断模块所发出的丢弃指令,确定所述空白语音在所述预设语音段中的位置信息;

重组模块,用于根据所述确定模块所确定的空白语音在所述预设语音段中的位置信息,将对应的所述空白语音删除,并重组成新的预设语音段。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中一种基于opus的语音编码方法的流程图;

图2为本发明实施例中一种基于opus的语音编码装置的结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供一种基于opus的语音编码方法,如图1所示,包括:

步骤s1:获取预设语音段中的当前待编码语音帧;

步骤s2:基于opus编码技术,对获取的所述当前待编码语音帧进行编码,获得已编码语音帧;

步骤s3:基于预设字节头,表示并确定所获得的所述已编码语音帧的字节大小。

上述opus是一种声音编码格式,此处采用的opus编码技术,是为了对待编码语音帧进行压缩编码的;

上述当前待编码语音帧是预设语音段中的某一帧,该帧可以是以20ms为一帧获取的;

上述预设字节头是2个字节大小,其好处是,可有效的降低字节头在编码后的语音帧大小的占比,例如:

opus支持的采样率最大为48k,帧大小最大为60ms,对应的一帧语音大小为:采样率/1000*2*帧大小,即一帧语音的大小最大为5760字节,此时,基于预设字节头,如2个字节大小就可以表示,并确定所获得的已编码语音帧的字节大小;

并且,例如:现有技术中,假设,采样率为16k的,一帧20ms的语音,8倍压缩编码后的大小为80字节,其中头信息占编码后语音帧总大小的10%;采样率为8k的,一帧20ms的语音,8倍压缩编码后的大小为40字节,其中头信息占编码后语音帧总大小的16%,相比较,每一帧语音大小会减小6字节,则,采样率为16k的,一帧20ms的语音,8倍压缩编码后的大小为80,其中,预设字节头的占比为2-3%,预设字节头的占比相比较现有技术的头信息的占比,会减小6-7%;

同样,采样率为8k的,一帧20ms的语音,8倍压缩编码后的大小为40字节,其中,预设字节的占比为4-6%,预设字节头的占比相比较现有技术的头信息的占比,会减小10-12%;其的压缩倍数越高,预设字节头的占比相比较现有技术的头信息的占比,所减小比例越大。

上述技术方案的有益效果是:用以通过采用opus编码技术,并基于预设字节头来表示编码后的语音帧的大小,可以有效降低头信息的占比,进而有效的减小语音编码后的字节大小。

本发明实施例提供一种基于opus的语音编码方法,在执行步骤s1之前还包括:

步骤s11:获取用户输入的预设语音段;

步骤s12:按照预先设定的时间长度,对所获取的用户输入的预设语音段进行分割处理,并获得若干个待编码语音帧。

上述用户输入的预设语音段,可以是一段音频信息;

上述预先设定的时间长度,可以是小于或等于60ms的帧长度,如:20ms,因为opus支持的帧大小最大为60ms。

上述技术方案的有益效果是:通过对预设语音段分割处理,便于获取若干个待编码语音帧,为后续对待编码语音帧进行编码处理提供便利。

本发明实施例提供一种基于opus的语音编码方法,在执行步骤s3之后,还包括:

步骤s31:获取所述当前待编码语音帧的下一待编码语音帧;

步骤s32:控制所获取的所述下一待编码语音帧,执行步骤s2-s3;

步骤s33:基于预先设定的所述待编码语音帧的预设排列顺序,继续执行步骤s31-s32,直至所述预设语音段中的所有待编码语音帧全部执行结束。

上述预先设定的待编码语音帧的预设排列顺序,例如可以是,按照时间顺序对帧进行排列的。

上述技术方案的有益效果是:按照预设排雷顺序,便于对分割后的所有帧都进行处理,避免遗漏,造成信息损失。

本发明实施例提供一种基于opus的语音编码方法,在执行步骤s3之后,还包括:

步骤s41:确定所述预设字节头在所获得的所述已编码语音帧的字节大小中的比例大小;

步骤s42:判断所确定的所述比例大小是否小于预设比例大小;

若是,执行第一报警操作;

否则,确定所述预设字节头的字节大小,并判断所确定的字节大小是否小于预设字节大小,若是,执行第二报警操作;

否则,执行第三报警操作。

例如:采样率为16k的,一帧20ms的语音,8倍压缩编码后的大小为80字节,其中头信息为8字节大小,头信息占编码后语音帧总大小的10%;

或者采样率为16k的,一帧20ms的语音,8倍压缩编码后的大小为80字节,其中预设字节头为2个字节大小,预设字节头的总占比为2-3%;

其中,一帧20ms的语音即为待编码语音帧,预设比例大小为头信息占总大小的10%;比例大小为预设字节头的总占比为2-3%;

上述所确定的字节大小,是预设字节头的大小;

上述预设字节大小,可以是头信息的8字节大小;

上述第一报警操作,可以是报警表示预设字节头合格;

上述第二报警操作,可以是报警表示预设字节头的字节大小合格;

上述第三报警操作,可以是报警表示预设字节头的字节大小不合格。

上述技术方案的有益效果是:通过对预设字节头的字节大小进行判断,可避免因操作失误,对其造成表示的失误,可有效的保证是采用的合格的预设字节头进行表示的。

本发明实施例提供一种基于opus的语音编码方法,在执行步骤s11之后,执行步骤s12之前,还包括:

步骤s111:判断所获取的用户输入的预设语音段中是否存在空白语音,若存在,发出丢弃指令;

步骤s112:基于语音位置数据库,并根据所发出的丢弃指令,确定所述空白语音在所述预设语音段中的位置信息;

步骤s113:基于所述步骤s112所确定的位置信息,将对应的所述空白语音删除,并重组成新的预设语音段。

上述丢弃指令,可以是存在空白语音的指令,可以包括:空白语音的在预设语音段中开始的时间和终止的时间;

上述重组成新的预设语音段,是不包括空白语音在内的。

上述技术方案的有益效果是:通过删除空白语音,可以降低对空白语音处的编码压缩工作,提高对重组成新的预设语音段的编码压缩的效率,同时,还可节省对编码压缩后的语音段的存储空间。

本发明实施例提供一种基于opus的语音编码装置,如图2所示,包括:

第一获取模块,用于获取预设语音段中的当前待编码语音帧;

编码模块,用于基于opus编码技术,对所述第一获取模块所获取的所述当前待编码语音帧进行编码,获得已编码语音帧;

第一确定模块,用于基于预设字节头,确定所述编码模块所获得的所述已编码语音帧的字节大小。

上述技术方案的有益效果是:用以通过采用opus编码技术,并基于预设字节头来表示编码后的语音帧的大小,可以有效降低头信息的占比,进而有效的减小语音编码后的字节大小。

本发明实施例提供一种基于opus的语音编码装置,还包括:

第二获取模块,用于在所述第一获取模块获取当前待编码语音帧之前,获取用户输入的预设语音段;

分割模块,用于按照预先设定的时间长度,对所述第二获取模块所获取的用户输入的预设语音段进行分割处理,并获得若干个待编码语音帧。

上述技术方案的有益效果是:通过对预设语音段分割处理,便于获取若干个待编码语音帧,为后续对待编码语音帧进行编码处理提供便利。

本发明实施例提供一种基于opus的语音编码装置,还包括:

第三获取模块,用于获取所述当前待编码语音帧的下一待编码语音帧;

第一控制模块,用于控制所述第三获取模块所获取的所述下一待编码语音帧,执行相应的后续操作;

并且,基于预先设定的所述待编码语音帧的预设排列顺序,控制所述预设语音段中的其余待编码语音帧,执行相应的后续操作。

上述技术方案的有益效果是:按照预设排雷顺序,便于对分割后的所有帧都进行处理,避免遗漏,造成信息损失。

本发明实施例提供一种基于opus的语音编码装置,还包括:

第二确定模块,用于确定所述预设字节头在所获得的所述已编码语音帧的字节大小中的比例大小;

第二控制模块,用于判断所述第二确定模块所确定的所述比例大小是否小于预设比例大小;

若是,控制报警模块执行第一报警操作;

否则,确定所述预设字节头的字节大小,并判断所确定的字节大小是否小于预设字节大小,若是,控制报警模块执行第二报警操作;

否则,控制报警模块执行第三报警操作。

上述技术方案的有益效果是:通过对预设字节头的字节大小进行判断,可避免因操作失误,对其造成表示的失误,可有效的保证是采用的合格的预设字节头进行表示的。

本发明实施例提供一种基于opus的语音编码装置,还包括:

判断模块,用于判断所述第二获取模块所获取的用户输入的预设语音段中是否存在空白语音,若存在,发出丢弃指令;

确定模块,用于基于语音位置数据库,并根据所述判断模块所发出的丢弃指令,确定所述空白语音在所述预设语音段中的位置信息;

重组模块,用于根据所述确定模块所确定的空白语音在所述预设语音段中的位置信息,将对应的所述空白语音删除,并重组成新的预设语音段。

上述技术方案的有益效果是:通过删除空白语音,可以降低对空白语音处的编码压缩工作,提高对重组成新的预设语音段的编码压缩的效率,同时,还可节省对编码压缩后的语音段的存储空间。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1