一种视频处理方法、装置及计算机设备与流程

文档序号:11865828阅读:207来源:国知局
一种视频处理方法、装置及计算机设备与流程

本发明实施例涉及通信技术领域,具体涉及一种视频处理方法、装置及计算机设备。



背景技术:

随着智能终端(例如手机)的发展,在手机上录制视频已经成为越来越多人的爱好,用户希望对所录制的视频做特效处理以提升录制视频的趣味性。现有的对录制视频进行特效处理的方法,通常需要将视频数据轮流在中央处理器(Central Processing Unit,CPU)及图形处理器(Graphics Processing Unit,GPU)内呈现,导致数据交互量及处理量较大,数据处理效率较低,因而现有技术只能对分辨率较低的视频做特效处理,对于分辨率较高的视频,目前还没有有效的处理方法,这极大地影响了用户录制视频的兴趣。



技术实现要素:

有鉴于此,本发明实施例提供了一种视频处理方法、装置及计算机设备,能够对高分辨率的视频做特效处理,提高用户录制视频的兴趣。

本发明实施例提供的视频处理方法,包括:

在图形处理器GPU中创建纹理缓存,所述纹理缓存具有缓存地址;

对待处理视频进行解码得到图像帧数据;

根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据;

在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

本发明实施例提供的视频处理装置,包括:

创建单元,用于在图形处理器GPU中创建纹理缓存,所述纹理缓存具有缓存地址;

解码单元,用于对待处理视频进行解码得到图像帧数据;

存储单元,用于根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据;

编码单元,用于在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

本发明实施例提供的计算机设备,包括中央处理器CPU和图形处理器GPU,其中:

所述CPU用于,在所述GPU中创建纹理缓存,所述纹理缓存具有缓存地址,对待处理视频进行解码得到图像帧数据,根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内;

所述GPU用于,对所述图像帧数据做特效处理生成特效帧数据;

所述CPU还用于,在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

本发明实施例中,先在GPU中创建纹理缓存,所创建的纹理缓存具有缓存地址,在对待处理视频进行解码得到图像帧数据之后,直接根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据,最后在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。即本发明实施例中,将所有的数据都在GPU内呈现,避免了将数据轮流在CPU及GPU内呈现导致的大量数据交互及数据处理,因而能够提高数据处理效率,从而能够对分辨率较高的视频做特效处理,提高了用户录制视频的兴趣。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例所提供的视频处理方法的一个场景示意图;

图2是本发明实施例所提供的视频处理方法的一个流程示意图;

图3是本发明实施例所提供的视频处理方法的另一流程示意图;

图4是本发明实施例所提供的视频处理装置的一个结构示意图;

图5是本发明实施例所提供的计算机设备的一个结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,对视频做特效处理的方法通常如下:

1)CPU解码原视频,从原视频中取出一帧图像,以字节byte数组的形式放到CPU的内存里,图像格式为YUV;

2)CPU把YUV格式的图像数据传送给GPU,GPU创建纹理缓存texture,并把图像数据放到GPU内部的texture里;

3)GPU对texture内存储的图像数据做特效处理;

4)GPU把texture内经特效处理后的图像数据转化为RGBA格式,把RGBA格式的图像数据传送到CPU的内存;

5)CPU把RGBA格式的图像数据,转化为YUV格式;

6)CPU把YUV格式的图像数据编码压缩;

一帧处理完之后,CPU再从原视频中取出下一帧图像,按步骤1)到6)进行处理,直至处理完原视频中的所有帧。

从上面的描述可以看出,整个处理过程中,视频数据需要在CPU与GPU内轮流呈现,CPU与GPU均需要执行图像格式转换的动作,导致数据交互量及数据处理量均较大,影响了数据处理效率,因而只能对分辨率较低(例如分辨率为640*480)的视频做特效处理。因此,本发明实施例提供了一种视频处理方法、装置及计算机设备,能够对高分辨率的视频做特效处理。

如图1所示,图1为本发明视频处理方法一个具体场景图,本发明实施例提供的视频处理方法可以应用于视频处理装置中,视频处理装置可以为手机、笔记本电脑、平板电脑等终端。具体处理方法包括:视频处理装置的CPU首先在GPU中创建纹理缓存texture,所创建的纹理缓存具有缓存地址,然后解码待处理视频得到图像帧数据,由于预先创建了纹理缓存,所以接下来可以直接根据缓存地址将解码得到的图像帧数据存入GPU中创建的纹理缓存内,图像帧数据不需要在其他设备内缓存了,在GPU对其纹理缓存内存储的图像帧数据做特效处理生成特效帧数据之后,CPU可以直接在GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频,由于直接在GPU内对特效帧数据进行编码,所以不再需要进行数据格式转换,整个处理过程中,视频数据都在GPU内呈现,避免了大量数据的交互和处理,提高了数据处理效率,因而本发明实施例提供的方法能够对高分辨率的视频做特效处理,例如可以对1280*720这样分辨率的视频进行特效处理。

以下分别进行详细说明,需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

实施例一

如图2所示,本实施例的视频处理方法包括以下步骤:

步骤201、在图形处理器GPU中创建纹理缓存,所述纹理缓存具有缓存地址;

具体实现中,CPU可以利用开放图形库OpenGL,调用应用程序编程接口(Application Programming Interface,API)在GPU中创建一块纹理缓存texture,所述纹理缓存具有缓存地址,与此同时,CPU就拿到了这块纹理缓存的缓存地址。

步骤202、对待处理视频进行解码得到图像帧数据;

待处理视频即需要进行特效处理的视频,待处理视频可以是用户录制的视频,用户可以提前录制视频,录制完成后将视频存储在终端的内存内,当需要对该视频进行特效处理时,CPU从内存中读取该视频。

具体实现中,CPU可以利用硬件解码器对待处理视频进行解码,硬件解码器可以预先利用终端内的mediacodec等硬件编码接口来实现,以mediacodec为例的硬件解码器可以是硬件加速器,该解码器设置终端的主板上,与CPU、GPU通过片上系统(System on Chip,SOC)内部总线实现通信连接。

在CPU从内存中取出待处理视频之后,CPU可以将该视频导入mediacodec实现的硬件解码器中,利用mediacodec对视频进行解码,解码之后得到图像帧数据。图像帧数据即为一帧一帧的图片,因此图像帧数具有图片格式,一般情况下,视频解码得到的图像帧数据为YUV格式。

步骤203、根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据;

具体实现中,CPU可以先取出一帧图像数据,利用硬件解码器将取出的图像帧数据存入GPU中的所述纹理缓存内。即CPU可以先将在GPU中创建的纹理缓存的缓存地址发送给硬件解码器,硬件解码器在解码视频之后,直接根据所述缓存地址将图像帧数据存入所述缓存地址所指示的所述GPU中的纹理缓存内,这样图像帧数据就不再需要先缓存在CPU中,再由CPU将图像帧数据传递给GPU了。

将图像帧数据存入GPU中的纹理缓存内之后,GPU可以对该图像帧数据做特效处理。具体地,GPU可以使用OpenGL对纹理缓存内存储的图像帧数据做特效处理。OpenGL是图形硬件的一种软件接口,它本质上是一个3D图形和模型库,具有高度的可移植性和渲染速度,OpenGL已成为高性能图形和交互性场景处理的行业标准,当然GPU也可以采用其他方式对纹理缓存内存储的图像帧数据做特效处理,此处不做具体限定。

特效是设计人员给出的样式,包括但不限于旋转、平移,镜像等。可以理解的是,图像帧数据即为一个与二维坐标相关的像素值数组,在选择要添加的特效之后,可以根据特效项目及对应的特效参数来修改某些二维坐标对应的像素值数组,以添加特效。

例如平移,即将图像所有的像素坐标分别加上指定的水平偏移量和垂直偏移量。再例如镜像,镜像变换分为两种:水平镜像和垂直镜像,水平镜像以图像垂直中线为轴,将图像的像素进行对换,也就是将图像的左半部和右半部对调;垂直镜像则是以图像的水平中线为轴,将图像的上半部分和下班部分对调。GPU对所述图像帧数据做特效处理后生成特效帧数据。

步骤204、在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

具体地,CPU可以利用硬件编码器在GPU内对所述特效帧数据进行编码,硬件编码器可以预先利用终端内的mediacodec等硬件编码接口来实现,该编码器设置终端的主板上,与CPU、GPU通过片上系统(System on Chip,SOC)内部总线实现通信连接。

CPU可以将GPU中存储所述特效帧数据的纹理缓存的缓存地址发送给硬件编码器,硬件编码器直接在GPU中找到所述缓存地址所指示的纹理缓存,对所述纹理缓存内存储的所述特效帧数据进行编码,这样视频数据在GPU中就不需要进行格式转换,且GPU不需要再将视频数据回传给CPU,CPU侧也不需要进行数据格式转换了,这样就大大提高了数据处理效率。

按照上面的方法,CPU依次取待处理视频中的每一帧图像进行处理,最终得到特效视频。

可以理解的是,视频解码可以将一个视频处理成多个图像帧,而视频编码则可以将多个图像帧处理成一个视频。视频解码与视频编码都可以有软件实现和硬件实现这两种方式。例如在计算机中,可以使用计算机强大的CPU来执行相应软件算法来进行视频解码和视频编码,而本发明的方法主要用于手机、平板电脑等移动终端中,由于这些终端的CPU处理能力相对较差,因此通过软件来实现视频解码和视频编码会给终端的CPU带来较大的负担,产生运行缓慢、死机甚至烧毁等问题,因而,本实施例中,在终端内设置有硬件解码器和硬件编码器,利用硬件实现视频解码和视频编码,从而降低了CPU的运行负担,也使得视频编解码的过程更加顺畅。

本实施例中,解码操作及编码操作均由相应的硬件解码器、硬件编码器完成的,该硬件解码器和硬件编码器可以集成在同一芯片中,该芯片可以称为编解码器。

本实施例中,先在GPU中创建纹理缓存,所创建的纹理缓存具有缓存地址,在对待处理视频进行解码得到图像帧数据之后,直接根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据,最后在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。即本实施例中,将所有的数据都在GPU内呈现,避免了将数据轮流在CPU及GPU内呈现导致的大量数据交互及数据处理,因而能够提高数据处理效率,从而能够对分辨率较高的视频做特效处理。目前的智能终端已具备录制高分辨视频的能力,采用本发明的方法,将提高用户录制视频的兴趣,提高产品的竞争力。

实施例二

实施例一所描述的方法,本实施例将举例作进一步详细说明,如图3所示,本实施例的方法包括:

步骤301、在图形处理器GPU中创建纹理缓存,所述纹理缓存具有缓存地址;

具体实现中,CPU可以利用开放图形库OpenGL,调用应用程序编程接口(Application Programming Interface,API)在GPU中创建一块纹理缓存texture,所述纹理缓存具有缓存地址,与此同时,CPU就拿到了这块纹理缓存的缓存地址。

步骤302、利用硬件解码器对所述待处理视频进行解码得到图像帧数据;

硬件解码器可以预先利用终端内的mediacodec等硬件编码接口来实现,以mediacodec为例的硬件解码器可以是硬件加速器,该解码器设置终端的主板上,与CPU、GPU通过片上系统(System on Chip,SOC)内部总线实现通信连接。

待处理视频即需要进行特效处理的视频,待处理视频可以是用户录制的视频,用户可以提前录制视频,录制完成后将视频存储在终端的内存内,当需要对该视频进行特效处理时,CPU从内存中读取该视频。

在CPU从内存中取出待处理视频之后,可以将该视频导入mediacodec实现的硬件解码器中,利用mediacodec对视频进行解码,解码之后得到图像帧数据。图像帧数据即为一帧一帧的图片,因此图像帧数具有图片格式,一般情况下,视频解码得到的图像帧数据为YUV格式。

步骤303、将所述纹理缓存的缓存地址发送给所述硬件解码器;

步骤304、通过所述硬件解码器将所述图像帧数据存入所述缓存地址所指示的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据;

具体实现中,硬件编码器解码得到图像帧数据之后,可以取出一帧图像,根据CPU发送的缓存地址,将图像帧数据存入所述缓存地址所指示的所述GPU中的纹理缓存内,这样图像帧数据就不再需要先缓存在CPU中,再由CPU将图像帧数据传递给GPU了。

将图像帧数据存入GPU中的纹理缓存内之后,GPU可以对该图像帧数据做特效处理。具体地,GPU可以使用OpenGL对纹理缓存内存储的图像帧数据做特效处理。OpenGL是图形硬件的一种软件接口,它本质上是一个3D图形和模型库,具有高度的可移植性和渲染速度,OpenGL已成为高性能图形和交互性场景处理的行业标准,当然GPU也可以采用其他方式对纹理缓存内存储的图像帧数据做特效处理,此处不做具体限定。

特效是设计人员给出的样式,包括但不限于旋转、平移,镜像等。可以理解的是,图像帧数据即为一个与二维坐标相关的像素值数组,在选择要添加的特效之后,可以根据特效项目及对应的特效参数来修改某些二维坐标对应的像素值数组,以添加特效。

例如平移,即将图像所有的像素坐标分别加上指定的水平偏移量和垂直偏移量。再例如镜像,镜像变换分为两种:水平镜像和垂直镜像,水平镜像以图像垂直中线为轴,将图像的像素进行对换,也就是将图像的左半部和右半部对调;垂直镜像则是以图像的水平中线为轴,将图像的上半部分和下班部分对调。GPU对所述图像帧数据做特效处理后生成特效帧数据。

步骤305、将所述纹理缓存的缓存地址发送给所述硬件编码器;

步骤306、利用所述硬件编码器在所述GPU内对所述缓存地址所指示的所述纹理缓存内存储的所述特效帧数据进行编码得到特效视频。

硬件编码器可以预先利用终端内的mediacodec等硬件编码接口来实现,该编码器设置终端的主板上,与CPU、GPU通过片上系统(System on Chip,SOC)内部总线实现通信连接。

具体实现中,在CPU将GPU中存储所述特效帧数据的纹理缓存的缓存地址发送给硬件编码器之后,硬件编码器可以直接在GPU中找到所述缓存地址所指示的纹理缓存,对所述纹理缓存内存储的所述特效帧数据进行编码,这样视频数据在GPU中就不需要进行格式转换,且GPU不需要再将视频数据回传给CPU,CPU侧也不需要进行数据格式转换了,这样就大大提高了数据处理效率。

按照上面的方法,CPU依次取待处理视频中的每一帧图像进行处理,最终得到特效视频。

可以理解的是,视频解码可以将一个视频处理成多个图像帧,而视频编码则可以将多个图像帧处理成一个视频。视频解码与视频编码都可以有软件实现和硬件实现这两种方式。例如在计算机中,可以使用计算机强大的CPU来执行相应软件算法来进行视频解码和视频编码,而本发明的方法主要用于手机、平板电脑等移动终端中,由于这些终端的CPU处理能力较差,因此通过软件来实现视频解码和视频编码会给终端的CPU带来较大的负担,产生运行缓慢、死机甚至烧毁等问题,因而,本实施例中,在终端内设置有硬件解码器和硬件编码器,利用硬件实现视频解码和视频编码,从而降低了CPU的运行负担,也使得视频编解码的过程更加顺畅。

本实施例中,解码操作及编码操作均由相应的硬件解码器、硬件编码器完成的,该硬件解码器和硬件编码器可以集成在同一芯片中,该芯片可以称为编解码器。

本实施例中,先在GPU中创建纹理缓存,所创建的纹理缓存具有缓存地址,在对待处理视频进行解码得到图像帧数据之后,直接根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据,最后在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。即本实施例中,将所有的数据都在GPU内呈现,避免了将数据轮流在CPU及GPU内呈现导致的大量数据交互及数据处理,因而能够提高数据处理效率,从而能够对分辨率较高的视频做特效处理。目前的智能终端已具备录制高分辨视频的能力,采用本发明的方法,将提高用户录制视频的兴趣,提高产品的竞争力。

实施例三

为了更好地实施以上方法,本发明实施例还提供一种视频处理装置,如图4所示,本实施例的视频处理装包括创建单元401、解码单元402、存储单元403及编码单元404,如下:

(1)创建单元401;

创建单元401,用于在图形处理器GPU中创建纹理缓存,所述纹理缓存具有缓存地址;

具体地,可以利用开放图形库OpenGL,调用应用程序编程接口(Application Programming Interface,API)在GPU中创建一块纹理缓存texture,所述纹理缓存具有缓存地址,与此同时,创建单元401就拿到了这块纹理缓存的缓存地址。

(2)解码单元402;

解码单元402,用于对待处理视频进行解码得到图像帧数据;

待处理视频,即需要进行特效处理的视频,待处理视频可以是用户录制的视频,用户可以提前录制视频,录制完成后将视频存储在终端的内存内,当需要对该视频进行特效处理时,解码单元402从内存中读取该视频。

具体实现中,解码单元402可以利用硬件解码器对待处理视频进行解码,该硬件解码器设置终端的主板上,与CPU、GPU通过片上系统(System on Chip,SOC)内部总线实现通信连接。

在解码单元402从内存中取出待处理视频之后,可以将该视频导入硬件解码器中,利用硬件解码器对视频进行解码,解码之后得到图像帧数据。图像帧数据即为一帧一帧的图片,因此图像帧数具有图片格式,一般情况下,视频解码得到的图像帧数据为YUV格式。

(3)存储单元403;

存储单元403,用于根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据;

具体地,视频处理装置还可以包括发送单元,发送单元用于将创建单元402在GPU中创建的纹理缓存的缓存地址发送给硬件解码器,存储单元403利用硬件解码器将图像帧数据存入GPU中的所述纹理缓存内,即硬件解码器在解码视频之后,直接根据所述缓存地址将图像帧数据存入所述缓存地址所指示的所述GPU中的纹理缓存内,这样图像帧数据就不再需要先缓存在CPU中,再由CPU将图像帧数据传递给GPU了。

特效是设计人员给出的样式,包括但不限于旋转、平移,镜像等。可以理解的是,图像帧数据即为一个与二维坐标相关的像素值数组,在选择要添加的特效之后,GPU可以根据特效项目及对应的特效参数来修改某些二维坐标对应的像素值数组,以添加特效。

(4)编码单元404;

编码单元404,用于在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

另外,发送单元还可以将在GPU中创建的纹理缓存的缓存地址发送给硬件编码器,编码单元404可以利用硬件编码器在GPU内对所述特效帧数据进行编码,即硬件编码器直接在GPU中找到所述缓存地址所指示的纹理缓存,对所述纹理缓存内存储的所述特效帧数据进行编码,这样视频数据在GPU中就不需要进行格式转换,且GPU不需要再将视频数据回传给CPU,CPU侧也不需要进行数据格式转换了,这样就大大提高了数据处理效率。

以上各个单元依次处理完待处理视频中的每一帧图像,最终可以得到特效视频。

可以理解的是,视频解码可以将一个视频处理成多个图像帧,而视频编码则可以将多个图像帧处理成一个视频。视频解码与视频编码都可以有软件实现和硬件实现这两种方式。例如在计算机中,可以使用计算机强大的CPU来执行相应软件算法来进行视频解码和视频编码,而本发明主要用于手机、平板电脑等移动终端中,由于这些终端的CPU处理能力较差,因此通过软件来实现视频解码和视频编码会给终端的CPU带来较大的负担,产生运行缓慢、死机甚至烧毁等问题,因而,本实施例中,在终端内设置有硬件解码器和硬件编码器,利用硬件实现视频解码和视频编码,从而降低了CPU的运行负担,也使得视频编解码的过程更加顺畅。

本实施例中,解码操作及编码操作均由相应的硬件解码器、硬件编码器完成的,该硬件解码器和硬件编码器可以集成在同一芯片中,该芯片可以称为编解码器。

需要说明的是,上述实施例提供的视频处理装置在处理视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频处理装置与视频处理方法属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。

本实施例中,创建单元先在GPU中创建纹理缓存,所创建的纹理缓存具有缓存地址,在解码单元对待处理视频进行解码得到图像帧数据之后,存储单元直接根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据,最后编码单元在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。即本发明实施例中,将所有的数据都在GPU内呈现,避免了将数据轮流在CPU及GPU内呈现导致的大量数据交互及数据处理,因而能够提高数据处理效率,从而能够对分辨率较高的视频做特效处理。目前的智能终端已具备录制高分辨视频的能力,采用本发明的方法,将提高用户录制视频的兴趣,提高产品的竞争力。

实施例四

下面介绍本发明实施例提供的计算机设备,请参阅图5,计算机设备500包括可以包括RF(Radio Frequency,射频)电路510、包括有一个或一个以上计算机可读存储介质的存储器520、输入单元530、显示单元540、传感器550、音频电路560、WiFi(wireless fidelity,无线保真)模块570、包括有一个或者一个以上处理核心的处理器580、以及电源590等部件。

本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路510可用于收发消息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器580处理;另外,将涉及上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。

输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括触敏表面531以及其他输入设备532。触敏表面531,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面531上或在触敏表面331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面531。除了触敏表面531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元540可用于显示由用户输入的信息或提供给用户的信息以及计算机设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板541。进一步的,触敏表面531可覆盖显示面板541,当触敏表面531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触敏表面531与显示面板541是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面531与显示面板541集成而实现输入和输出功能。

计算机设备500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在计算机设备500移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别计算机设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于计算机设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路560、扬声器561,传声器562可提供用户与计算机设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一终端,或者将音频数据输出至存储器520以便进一步处理。音频电路560还可能包括耳塞插孔,以提供外设耳机与计算机设备500的通信。

WiFi属于短距离无线传输技术,计算机设备500通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于计算机设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器580是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器580可包括一个或多个处理核心;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。

计算机设备500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,计算机设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。

具体在本发明的一些实施例中,处理器580包括CPU581及GPU582,计算机设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由CPU581执行所述一个或者一个以上程序包含用于进行以下操作的指令:

在图形处理器GPU582中创建纹理缓存,所述纹理缓存具有缓存地址;

对待处理视频进行解码得到图像帧数据;

根据所述缓存地址将所述图像帧数据存入所述GPU582中的所述纹理缓存内,以使得所述GPU582对所述图像帧数据做特效处理生成特效帧数据;

在所述GPU582内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

可选地,CPU581可以通过开放图形库OpenGL的应用程序编程接口API调用在所述GPU582中创建所述纹理缓存。

可选地,CPU581可以利用硬件解码器对所述待处理视频进行解码得到图像帧数据。

可选地,在CPU581利用硬件解码器对所述待处理视频进行解码得到图像帧数据之前,CPU581可以将所述纹理缓存的缓存地址发送给所述硬件解码器;

CPU581可以通过所述硬件解码器将所述图像帧数据存入所述缓存地址所指示的所述纹理缓存内。

可选地,CPU581可以利用硬件编码器在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。

可选地,在CPU581利用硬件编码器在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频之前,CPU581可以将所述纹理缓存的缓存地址发送给所述硬件编码器;

CPU581可以利用所述硬件编码器在所述GPU内对所述缓存地址所指示的所述纹理缓存内存储的所述特效帧数据进行编码得到特效视频。

可选地,所述硬件解码器与所述硬件编码器可以通过片上系统SOC内部总线与所述CPU581及所述GPU582相连。

本实施例中,CPU先在GPU中创建纹理缓存,所创建的纹理缓存具有缓存地址,在对待处理视频进行解码得到图像帧数据之后,直接根据所述缓存地址将所述图像帧数据存入所述GPU中的所述纹理缓存内,以使得所述GPU对所述图像帧数据做特效处理生成特效帧数据,最后CPU在所述GPU内根据所述缓存地址对所述特效帧数据进行编码得到特效视频。即本实施例中,将所有的数据都在GPU内呈现,避免了将数据轮流在CPU及GPU内呈现导致的大量数据交互及数据处理,因而能够提高数据处理效率,从而能够对分辨率较高的视频做特效处理。目前的智能终端已具备录制高分辨视频的能力,采用本发明的方法,将提高用户录制视频的兴趣,提高产品的竞争力。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,单元之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上对本发明实施例所提供的一种视频处理方法、装置及计算机设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。

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