编码方法、装置、计算机设备和存储介质与流程

文档序号:23552276发布日期:2021-01-05 21:11阅读:118来源:国知局
编码方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种编码方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,越来越多的基于移动系统平台的应用需要进行视、音频编码,例如视频会议、线上课堂、线上面试等。但是,当多个业务同时需要进行编码时,移动系统平台的编码处理能力可能无法满足需求,限制了移动系统平台中视、音频业务的发展。怎样调高移动系统平台的编码能力,成为迫切需要解决的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高移动系统平台编码能力的编码方法、装置、计算机设备和存储介质。

一种编码方法,所述方法包括:

当编码业务被触发时,创建系统编码器;

通过所述系统编码器向扩展编码器芯片发送消息,以使所述扩展编码器芯片开启辅助编码器;

利用所述辅助编码器对多媒体数据进行硬编码,得到编码码流;

将所述编码码流保存至与所述系统编码器对应的数据队列中;

响应于回调接口指令,从所述数据队列中取出对应的编码码流以进行相应的业务处理。

在一个实施例中,所述创建系统编码器之后,所述方法还包括:

设置回调接口函数的参数;所述回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;

所述响应于回调接口指令,从所述数据队列中取出对应的编码码流以进行相应的业务处理包括:

响应于回调接口指令,执行所述回调接口函数,以根据所述缓存区指针从所述数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

在一个实施例中,所述创建系统编码器之后,所述方法还包括:

设置所述系统编码器的参数;

所述通过所述系统编码器向扩展编码器芯片发送消息,以使所述扩展编码器芯片开启辅助编码器之后,所述方法还包括:

从所述消息中提取所述系统编码器的参数;

根据所述系统编码器的参数设置所述辅助编码器的参数。

在一个实施例中,所述设置所述系统编码器的参数包括:

显示编码参数选择界面;

接收在所述编码参数选择界面中触发的编码参数选择指令;

从所述编码参数选择指令中提取编码参数;

根据所述编码参数设置所述系统编码器的参数。

在一个实施例中,所述多媒体数据为视频数据,对应的所述编码码流为视频编码码流;所述方法还包括:

对所述视频编码码流进行解码;

将解码得到的视频在应用界面的预览框中显示;

根据所述视频在所述预览框中的显示效果调整所述辅助编码器的参数。

在一个实施例中,所述通过所述系统编码器向扩展编码器芯片发送消息,以使所述扩展编码器芯片开启辅助编码器包括:

通过所述系统编码器触发消息发送指令,以使系统芯片根据所述消息发送指令向所述扩展编码器芯片发送消息;所述消息中包括所述多媒体数据的类型;

通过所述扩展编码器芯片开启与所述多媒体数据的类型对应的辅助编码器。

在一个实施例中,所述将所述编码码流保存至与所述系统编码器对应的数据队列中包括:

将所述编码码流存储至所述辅助编码器对应的第一缓存队列中;

将所述第一缓存队列中的所述编码码流传输至系统芯片对应的第二缓存队列中;

将所述第二缓存队列中的所述编码码流复制到所述系统编码器对应的数据队列中。

一种编码装置,所述装置包括:

创建模块,当编码业务被触发时,用于创建系统编码器;

发送模块,用于通过所述系统编码器向扩展编码器芯片发送消息,以使所述扩展编码器芯片开启辅助编码器;

硬编码模块,用于利用所述辅助编码器对多媒体数据进行硬编码,得到编码码流;

保存模块,用于将所述编码码流保存至与所述系统编码器对应的数据队列中;

取出模块,用于响应于回调接口指令,从所述数据队列中取出对应的编码码流以进行相应的业务处理。

在一个实施例中,所述装置还包括:

设置模块,用于设置回调接口函数的参数;所述回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;

所述取出模块,还用于:

响应于回调接口指令,执行所述回调接口函数,以根据所述缓存区指针从所述数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

在一个实施例中,所述装置还包括:

所述设置模块,还用于设置所述系统编码器的参数;

提取模块,用于从所述消息中提取所述系统编码器的参数;

所述设置模块,还用于根据所述系统编码器的参数设置所述辅助编码器的参数。

在一个实施例中,所述设置模块,还用于:

显示编码参数选择界面;

接收在所述编码参数选择界面中触发的编码参数选择指令;

从所述编码参数选择指令中提取编码参数;

根据所述编码参数设置所述系统编码器的参数。

在一个实施例中,所述多媒体数据为视频数据,对应的所述编码码流为视频编码码流;所述装置还包括:

解码模块,用于对所述视频编码码流进行解码;

显示模块,用于将解码得到的视频在应用界面的预览框中显示;

调整模块,用于根据所述视频在所述预览框中的显示效果调整所述辅助编码器的参数。

在一个实施例中,所述发送模块,还用于:

通过所述系统编码器触发消息发送指令,以使系统芯片根据所述消息发送指令向所述扩展编码器芯片发送消息;所述消息中包括所述多媒体数据的类型;

通过所述扩展编码器芯片开启与所述多媒体数据的类型对应的辅助编码器。

在一个实施例中,所述保存模块,还用于:

将所述编码码流存储至所述辅助编码器对应的第一缓存队列中;

将所述第一缓存队列中的所述编码码流传输至系统芯片对应的第二缓存队列中;

将所述第二缓存队列中的所述编码码流复制到所述系统编码器对应的数据队列中。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述编码方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述编码方法的步骤。

上述实施例中,当编码业务被触发时,移动终端创建系统编码器,通过系统编码器向扩展编码器芯片发送消息,以打开扩展编码器芯片中的辅助编码器,然后利用辅助编码器对多媒体数据进行硬编码,扩展了移动系统平台的编码能力,使移动系统平台能够满足更多的视、音频业务需求。

附图说明

图1为一个实施例中编码方法的流程示意图;

图2为另一个实施例中编码方法的流程示意图;

图3为一个实施例中编码方法的时序图;

图4为一个实施例中编码装置的结构框图;

图5为另一个实施例中编码装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的编码方法,当编码业务被触发时,移动终端创建系统编码器,通过系统编码器向扩展编码器芯片发送消息,以打开扩展编码器芯片中的辅助编码器,然后利用辅助编码器对多媒体数据进行硬编码,得到编码码流。

其中,移动终端可以但不限于是各种智能手机、平板电脑和便携式可穿戴设备。

在一个实施例中,如图1所示,提供了一种编码方法,以该方法应用移动终端为例进行说明,包括以下步骤:

s102,当编码业务被触发时,移动终端创建系统编码器。

其中,编码业务是指移动终端的移动系统平台提供的编码服务。编码业务可以是移动系统平台的软件客户端触发的,也可以是移动终端中的硬件设备(例如,摄像头、麦克风)等触发的。例如,当视频会议客户端开启视频会议时,会触发对视频数据以及音频数据进行编码的编码业务。例如,当线上课堂客户端显示文本文件时,会触发对文本文件进行编码的编码业务。例如,当摄像头采集到视频数据时,会触发对视频数据进行编码的编码业务。

其中,系统编码器是移动系统平台自身提供的编码器。系统编码器设置在系统芯片中。系统芯片是有专用目标的集成电路,其上嵌入了移动系统平台的操作系统。例如,系统芯片可以采用rk3399芯片。

系统编码器可以提供对各种类型的多媒体数据进行编码的编码服务。例如,视频数据、音频数据、图片数据、文本数据、超文本数据等。

s104,移动终端通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器。

其中,扩展编码器芯片是在系统芯片上外接的芯片,其上嵌入了辅助编码器等软件模块。例如,扩展编码器芯片可以采用hisi3531d芯片。

其中,辅助编码器用于对各种类型的多媒体数据进行编码。例如,视频数据、音频数据、图片数据、文本数据、超文本数据等。辅助编码器支持的多媒体数据的类型以及辅助编码器的参数可以和系统编码器相同,也可以和系统编码器不同。

s106,移动终端利用辅助编码器对多媒体数据进行硬编码,得到编码码流。

其中,多媒体数据是在编码业务被触发后,移动系统平台获取的待编码的数据,多媒体数据的类型可以是系统编码器和辅助编码器支持的各种多媒体数据类型。

其中,硬编码是移动终端通过调用移动系统平台底层的硬件模块进行编码。

其中,编码码流是移动终端在对多媒体数据进行硬编码后得到的压缩码流。对于不同类型的多媒体数据,可以使用不同的编码标准进行编码,得到不同格式的编码码流。例如,对于视频数据,可以使用mpeg2(movingpictureexpertsgroup,运动图像专家组2)、mpeg4(movingpictureexpertsgroup,运动图像专家组4)、h.264等不同的编码标准进行编码,分别得到mpeg2、mpeg4、h.264格式的编码码流。例如,对于音频数据,可以使用mp3(movingpictureexpertsgroupaudiolayer,运动图像专家组音频层3)、id3v2、aac(advancedaudiocoding,高级音频编码)等不同的编码标准进行编码,分别得到mp3、id3v2、aac格式的编码码流。

s108,移动终端将编码码流保存至与系统编码器对应的数据队列中。

其中,数据队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表,是一种先进先出的数据结构。数据队列包括顺序队列和循环队列。移动终端为系统编码器分配专门的缓存区,在缓存区中以数据队列的数据结构存储编码码流。

移动终端可以将编码码流直接保存至与系统编码器对应的数据队列中,也可以先将编码码流暂存至缓存区,然后再将编码码流保存至与系统编码器对应的数据队列中。

s110,移动终端响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理。

其中,回调接口指令用于指示移动终端从数据队列取出编码码流。回调接口指令可以是系统编码器触发的,系统编码器可以对数据队列中的编码码流的数据包进行检测,当数据队列中存储了预设数量的数据包后,触发回调接口指令。例如,在对视频数据进行编码时,系统编码器可以在检测到数据队列中存储了一帧数据的数据包时触发回调接口指令。

当回调接口指令被触发后,移动终端按照数据队列中的数据排列顺序从数据队列中取出对应的编码码流。

其中,进行相应的业务处理是指根据移动系统平台中的应用层的业务需求进行相应的处理。例如,如果应用层的客户端正在进行视频会议的业务,则移动终端通过客户端将编码码流发送至视频会议中的其他节点。例如,如果应用层的客户端正在视频分享平台中分享拍摄的短视频,则移动终端将编码码流上传至视频分享平台。

上述实施例中,当编码业务被触发时,移动终端创建系统编码器,通过系统编码器向扩展编码器芯片发送消息,以打开扩展编码器芯片中的辅助编码器,然后利用辅助编码器对多媒体数据进行硬编码,扩展了移动系统平台的编码能力,使移动系统平台能够满足更多的视、音频业务需求。并且,移动终端在使用辅助编码器进行编码器时,创建系统编码器的过程和仅使用系统编码器进行编码时的创建过程相同,即使同时使用系统编码器和辅助编码器进行编码,也不会增加创建编码器的复杂度。

在一个实施例中,移动终端创建系统编码器之后,还包括:设置回调接口函数的参数;回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;响应于回调接口指令,移动终端从数据队列中取出对应的编码码流以进行相应的业务处理包括:响应于回调接口指令,移动终端执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

其中,回调接口函数用于执行从数据队列中取出对应的编码码流并发送至移动系统平台的应用层进行业务处理。

其中,回调数据类型是通过回调接口函数从数据队列中取出的数据的数据类型。数据类型是在数据结构中定义的数值的集合以及定义在这个数值集合上的操作。回调数据类型可以是原始类型、多元组、记录单元、代数数据类型、抽象数据类型等。

其中,回调数据的缓存区指针指向回调数据的缓存区地址。移动终端在通过回调接口函数取出数据后,对回调数据的缓存区指针进行相应的改变,以使该指针指向剩余数据的地址。

在一个实施例中,移动终端创建系统编码器之后,还包括:设置系统编码器的参数;通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器之后,还包括:从消息中提取系统编码器的参数;根据系统编码器的参数设置辅助编码器的参数。

其中,系统编码器的参数包括码率、比特率、编码格式、幅型比、色彩空间等。

系统编码器向扩展编码器芯片发送的消息中包括系统编码器的参数,系统编码器通过向扩展编码器芯片发送消息将系统编码器的参数传递至辅助编码器。辅助编码器使用和系统编码器相同的参数进行编码,得到的编码码流和直接使用系统编码器进行编码得到的编码码流相同。

在一个实施例中,辅助编码器的参数也可以和系统编码器的参数不同。移动终端可以根据辅助编码器的编码能力对辅助编码器的参数进行调整,以得到更高质量的编码码流。例如,如果系统编码器不支持h.264的编码格式,而辅助编码器支持h.264编码格式,那么移动终端可以提示是否将编码格式改变为h.264,如果收到改变的指令,则将辅助编码器的参数中的编码格式设置为h.264编码格式。

在一个实施例中,移动终端设置系统编码器的参数包括:显示编码参数选择界面;接收在编码参数选择界面中触发的编码参数选择指令;从编码参数选择指令中提取编码参数;根据编码参数设置系统编码器的参数。

移动终端在编码参数选择界面中提示对编码参数进行选择。

其中,编码参数选择指令可以是通过外接输入设备(例如,键盘、麦克风等)触发的,也可以是通过触摸屏等可接收输入信号的显示设备触发的。

移动终端显示编码参数选择界面,使用户可以对编码参数进行选择,并根据用户的选择进行编码,以满足各种不同的业务需求。

在一个实施例中,多媒体数据为视频数据,对应的编码码流为视频编码码流;方法还包括:对视频编码码流进行解码;将解码得到的视频在应用界面的预览框中显示;根据视频在预览框中的显示效果调整辅助编码器的参数。

当多媒体数据为视频数据时,为了预览通过辅助编码器进行编码的编码效果,移动终端对编码码流进行解码,然后将解码后得到的视频在应用界面的预览框中显示,以指示用户根据视频在预览框中的显示效果触发对辅助编码器的参数进行调整的指令。移动终端在接收到对辅助编码器的参数进行调整的参数调整指令后,根据指令对辅助编码器的参数进行调整。

例如,如果辅助编码器的参数中的码率设置的过小,那么对编码码流进行解码后得到的视频可能会出现模糊或者马赛克等现象,所以移动终端根据预览框中的显示效果对码率进行调整,以提高解码后得到的视频质量。

例如,如果辅助编码器的参数中幅型比设置的为4:3,移动终端可以根据参数调整指令将幅型比调整为16:9。

移动终端将解码后得到的视频在应用界面的预览框中显示可以验证通过辅助编码器编码得到的编码码流的显示效果是否能够满足业务需求,并在显示效果不能满足业务需求时,根据参数调整指令对辅助编码器的参数进行调整。

在一个实施例中,移动终端通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器包括:通过系统编码器触发消息发送指令,以使系统芯片根据消息发送指令向扩展编码器芯片发送消息;消息中包括多媒体数据的类型;通过扩展编码器芯片开启与多媒体数据的类型对应的辅助编码器。

系统编码器触发消息发送指令后,移动系统平台产生控制信令,系统芯片将控制信令发送至扩展编码器芯片,以使扩展编码器芯片根据控制信令开启辅助编码器。

其中,系统芯片和扩展编码器芯片间通过芯片间互联标准进行通信。例如,hsic(highspeedinterchip,高速芯片间互联)标准,his(highspeedsynchronousserialinterface,同步串行接口)标准等。

扩展编码器芯片接收到系统芯片发送的消息后,从消息中提取多媒体数据的类型,并根据多媒体数据的类型开启对应的辅助编码器对多媒体数据进行编码。

在一个实施例中,移动终端将编码码流保存至与系统编码器对应的数据队列中包括:移动终端将编码码流存储至辅助编码器对应的第一缓存队列中;将第一缓存队列中的编码码流传输至系统芯片对应的第二缓存队列中;然后将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

其中,第一缓存队列存储在扩展编码器芯片中的存储区,用于存储辅助编码器编码后输出的编码码流。

其中,第二缓存队列存储在系统芯片中的存储区。

移动终端可以通过pci-e(peripheralcomponentinterconnect-express,外接单元连接标准-专业版)高速串行计算机扩展总线接口,将第一缓存队列中的编码码流发送至第二缓存队列中。或者可以通过cpu间网络将第一缓存队列中的编码码流发送至第二缓存队列中。

系统编码器通过触发队列数据填充函数将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

在一个实施例中,当编码业务被触发时,移动终端创建系统编码器,并通过扩展编码器芯片开启辅助编码器之后,将待编码的多媒体数据分为两部分。一部分通过系统编码器进行编码,另一部分通过辅助编码器进行编码。

移动终端可以根据待编码的多媒体数据的类型将其分为两部分。例如,移动终端可以通过系统编码器对视频数据进行编码,通过辅助编码器对音频数据进行编码。移动终端也可以根据触发编码业务的客户端的不同选择编码器。例如,当客户端1触发编码业务时,通过系统编码器对多媒体数据进行编码;当客户端2触发编码业务时,通过辅助编码器对多媒体数据进行编码。移动终端通过系统编码器和辅助编码器同时进行编码,提高了编码的速度。

在一个实施例中,当编码业务被触发时,移动终端首先创建系统编码器,通过系统编码器对多媒体数据进行编码。当系统编码器的编码能力无法满足业务需求时,通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器,并通过辅助编码器进行编码,以便能在系统编码器的编码能力无法满足多个同时进行的编码业务时,通过辅助编码器进行编码,使移动终端能够同时进行更多的编码业务。

在一个实施例中,当编码业务被触发时,移动终端首先创建系统编码器,通过系统编码器对多媒体数据进行编码。在系统编码器的编码能力能够满足业务需求,但是系统编码器不支持多媒体数据的类型,或者不支持编码参数选择指令中提取的编码参数时,移动终端通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器,并通过辅助编码器进行编码。

在一个实施例中,如图2所示,移动终端对多媒体数据进行编码的流程包括如下步骤:

s202,当编码业务被触发时,移动终端创建系统编码器。

s204,移动终端设置系统编码器的参数。

s206,移动终端设置回调接口函数的参数;回调接口函数的参数包括回调数据类型和回调数据的缓存区指针。

s208,移动终端通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器。

s210,移动终端从消息中提取系统编码器的参数。

s212,移动终端根据系统编码器的参数设置辅助编码器的参数。

s214,移动终端利用辅助编码器对多媒体数据进行硬编码,得到编码码流

s216,移动终端将编码码流存储至辅助编码器对应的第一缓存队列中。

s218,移动终端将第一缓存队列中的编码码流传输至系统芯片对应的第二缓存队列中。

s220,移动终端将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

s222,响应于回调接口指令,移动终端执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

上述s202至s222的具体内容可以参考上文所述的具体实现过程。

在一个实施例中,如图3所示,在编码业务被触发时,移动终端的移动系统平台的应用层创建系统编码器,然后设置系统编码器参数,最后设置回调接口函数的参数。应用层触发消息发送指令,通过调用移动系统平台的框架层的接口向扩展编码器芯片发送消息,通知扩展编码器芯片开启辅助编码器,以通过辅助编码器对多媒体数据进行编码。辅助编码器对多媒体数据进行编码后,将编码码流存储至第一缓存队列中,然后将编码码流发送至系统芯片,系统芯片将编码码流存储至第二缓存队列中,然后再将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。最后响应于回调接口指令,移动终端执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流并发送至应用层进行相应的业务处理。

应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种编码装置,包括:创建模块402、发送模块404、硬编码模块406、保存模块408和取出模块410,其中:

创建模块402,当编码业务被触发时,用于创建系统编码器;

发送模块404,用于通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器;

硬编码模块406,用于利用辅助编码器对多媒体数据进行硬编码,得到编码码流;

保存模块408,用于将编码码流保存至与系统编码器对应的数据队列中;

取出模块410,用于响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理。

上述实施例中,当编码业务被触发时,移动终端创建系统编码器,通过系统编码器向扩展编码器芯片发送消息,以打开扩展编码器芯片中的辅助编码器,然后利用辅助编码器对多媒体数据进行硬编码,扩展了移动系统平台的编码能力,使移动系统平台能够满足更多的视、音频业务需求。

在一个实施例中,如图5所示,装置还包括:

设置模块412,用于设置回调接口函数的参数;回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;

取出模块410,还用于:

响应于回调接口指令,执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

在一个实施例中,装置还包括:

设置模块412,还用于设置系统编码器的参数;

提取模块414,用于从消息中提取系统编码器的参数;

设置模块412,还用于根据系统编码器的参数设置辅助编码器的参数。

在一个实施例中,设置模块412,还用于:

显示编码参数选择界面;

接收在编码参数选择界面中触发的编码参数选择指令;

从编码参数选择指令中提取编码参数;

根据编码参数设置系统编码器的参数。

在一个实施例中,多媒体数据为视频数据,对应的编码码流为视频编码码流;装置还包括:

解码模块416,用于对视频编码码流进行解码;

显示模块418,用于将解码得到的视频在应用界面的预览框中显示;

调整模块420,用于根据视频在预览框中的显示效果调整辅助编码器的参数。

在一个实施例中,发送模块404,还用于:

通过系统编码器触发消息发送指令,以使系统芯片根据消息发送指令向扩展编码器芯片发送消息;消息中包括多媒体数据的类型;

通过扩展编码器芯片开启与多媒体数据的类型对应的辅助编码器。

在一个实施例中,保存模块408,还用于:

将编码码流存储至辅助编码器对应的第一缓存队列中;

将第一缓存队列中的编码码流传输至系统芯片对应的第二缓存队列中;

将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

关于编码装置的具体限定可以参见上文中对于编码方法的限定,在此不再赘述。上述编码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种编码方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当编码业务被触发时,创建系统编码器;通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器;利用辅助编码器对多媒体数据进行硬编码,得到编码码流;将编码码流保存至与系统编码器对应的数据队列中;响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:设置回调接口函数的参数;回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理包括:响应于回调接口指令,执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:设置系统编码器的参数;从消息中提取系统编码器的参数;根据系统编码器的参数设置辅助编码器的参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:显示编码参数选择界面;接收在编码参数选择界面中触发的编码参数选择指令;从编码参数选择指令中提取编码参数;根据编码参数设置系统编码器的参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:多媒体数据为视频数据,对应的编码码流为视频编码码流;方法还包括:对视频编码码流进行解码;将解码得到的视频在应用界面的预览框中显示;根据视频在预览框中的显示效果调整辅助编码器的参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过系统编码器触发消息发送指令,以使系统芯片根据消息发送指令向扩展编码器芯片发送消息;消息中包括多媒体数据的类型;通过扩展编码器芯片开启与多媒体数据的类型对应的辅助编码器。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将编码码流存储至辅助编码器对应的第一缓存队列中;将第一缓存队列中的编码码流传输至系统芯片对应的第二缓存队列中;将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当编码业务被触发时,创建系统编码器;通过系统编码器向扩展编码器芯片发送消息,以使扩展编码器芯片开启辅助编码器;利用辅助编码器对多媒体数据进行硬编码,得到编码码流;将编码码流保存至与系统编码器对应的数据队列中;响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:设置回调接口函数的参数;回调接口函数的参数包括回调数据类型和回调数据的缓存区指针;响应于回调接口指令,从数据队列中取出对应的编码码流以进行相应的业务处理包括:响应于回调接口指令,执行回调接口函数,以根据缓存区指针从数据队列中取出与回调数据类型对应的编码码流进行相应的业务处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:设置系统编码器的参数;从消息中提取系统编码器的参数;根据系统编码器的参数设置辅助编码器的参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:显示编码参数选择界面;接收在编码参数选择界面中触发的编码参数选择指令;从编码参数选择指令中提取编码参数;根据编码参数设置系统编码器的参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:多媒体数据为视频数据,对应的编码码流为视频编码码流;方法还包括:对视频编码码流进行解码;将解码得到的视频在应用界面的预览框中显示;根据视频在预览框中的显示效果调整辅助编码器的参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过系统编码器触发消息发送指令,以使系统芯片根据消息发送指令向扩展编码器芯片发送消息;消息中包括多媒体数据的类型;通过扩展编码器芯片开启与多媒体数据的类型对应的辅助编码器。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将编码码流存储至辅助编码器对应的第一缓存队列中;将第一缓存队列中的编码码流传输至系统芯片对应的第二缓存队列中;将第二缓存队列中的编码码流复制到系统编码器对应的数据队列中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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