视频数据的处理方法和装置、计算机可读存储介质与流程

文档序号:16520118发布日期:2019-01-05 09:54阅读:185来源:国知局
视频数据的处理方法和装置、计算机可读存储介质与流程

本发明涉及视频技术领域,尤其涉及一种视频数据的处理方法和装置、计算机可读存储介质。



背景技术:

目前,随着移动互联网的发展,在互联网上进行视频分享已成为信息传播的新形态。为提高用户的视频体验,通常需要对待分享的视频进行特效处理。其中,对待分享的视频进行特效处理是指对视频进行编辑处理、渲染处理和/或混频处理等。

现有技术中,在对待分享的视频进行特效处理时,视频处理器需要对视频源数据进行存取操作。但是,由于视频源数据的数据量偏大,因此在对视频源数据进行存取操作时,需要大量占用视频处理器的内存资源和网络的传输资源,从而降低了视频处理器的多任务并行处理的性能。



技术实现要素:

本发明实施例提供了一种视频数据的处理方法和装置、计算机可读存储介质,能够不需要对视频源数据进行存取操作,就可以对待分享的视频进行特效处理,从而提高了视频处理器的多任务并行处理的性能。

第一方面,本发明实施例提供了一种视频数据的处理方法,包括:

获取视频源数据的地址,根据所述视频源数据的地址,对所述视频源数据进行纹理oestexture映射,得到用于索引所述视频源数据的地址的oestexture;

利用所述oestexture,读取所述视频源数据,并对所述视频源数据进行特效处理,得到特效处理后的视频数据;

对所述特效处理后的视频数据进行编码,发送编码后的视频数据。

在第一方面的一些实施例中,所述根据所述视频源数据的地址,对所述视频源数据进行oestexture映射,得到用于索引所述视频源数据的地址的oestexture,包括:

新建oestexture;

将所述视频源数据的地址写入新建的oestexture中,得到用于索引所述视频源数据的地址的oestexture。

在第一方面的一些实施例中,所述利用所述oestexture,读取所述视频源数据,包括:

从所述oestexture中,读取所述视频源数据的地址;

从所述视频源数据的地址中,读取所述视频源数据。

在第一方面的一些实施例中,所述对所述视频源数据进行特效处理,得到特效处理后的视频数据,包括:

对所述视频源数据进行编辑处理和/或渲染处理,得到编辑处理和/或渲染处理后的视频数据;

将所述编辑处理和/或渲染处理后的视频数据,作为所述特效处理后的视频数据。

在第一方面的一些实施例中,所述视频源数据包括两个或三个以上的视频的源数据;

所述对所述视频源数据进行特效处理,得到特效处理后的视频数据,包括:

分别从两个或三个以上的用于索引对应视频的源数据的地址的oestexture中,读取各个视频的源数据的地址;

分别从各个视频的源数据的地址中,读取各个视频的源数据;

将各个所述视频的源数据进行混屏处理,得到混屏处理后的视频数据,将所述混屏处理后的视频数据作为所述特效处理后的视频数据。

第二方面,本发明实施例提供了一种视频数据的处理方法,包括:

对接收的编码后的视频数据进行解码,得到解码后的视频数据;

获取所述解码后的视频数据的地址,根据所述解码后的视频数据的地址,对所述解码后的视频数据进行surfacetexture映射,得到用于索引所述解码后的视频数据的地址的surfacetexture;

利用所述surfacetexture,读取所述解码后的视频数据,并对所述解码后的视频数据进行特效处理,得到特效处理后的视频数据;

播放所述特效处理后的视频数据。

在第二方面的一些实施例中,所述根据所述解码后的视频数据的地址,对所述解码后的视频数据进行surfacetexture映射,得到用于索引所述解码后的视频数据的地址的surfacetexture,包括:

新建surfacetexture;

将所述解码后的视频数据的地址写入新建的surfacetexture中,得到用于索引所述解码后的视频数据的地址的surfacetexture。

第三方面,本发明实施例提供了一种视频数据的处理装置,包括第一映射模块、第一处理模块和编码模块。其中,

所述第一映射模块,用于获取视频源数据的地址,根据所述视频源数据的地址,对所述视频源数据进行oestexture映射,得到用于索引所述视频源数据的地址的oestexture;

所述第一处理模块,用于利用所述oestexture,读取所述视频源数据,并对所述视频源数据进行特效处理,得到特效处理后的视频数据;

所述编码模块,用于对所述特效处理后的视频数据进行编码,发送编码后的视频数据。

在第三方面的一些实施例中,所述第一映射模块包括第一新建单元和第一写入单元。其中,

所述第一新建单元,用于新建oestexture;

所述第一写入单元,用于将所述视频源数据的地址写入新建的oestexture中,得到用于索引所述视频源数据的地址的oestexture。

在第三方面的一些实施例中,所述第一处理模块包括第一读取单元、第二读取单元和第一处理单元。其中,

所述第一读取单元,用于从所述oestexture中,读取所述视频源数据的地址;

所述第二读取单元,用于从所述视频源数据的地址中,读取所述视频源数据;

所述第一处理单元,用于对所述视频源数据进行特效处理,得到特效处理后的视频数据。

在第三方面的一些实施例中,所述第一处理模块还包括编辑单元和/或渲染单元。其中,

所述编辑单元,用于对所述视频源数据进行编辑处理,得到编辑处理后的视频数据,将所述编辑处理后的视频数据作为所述特效处理后的视频数据;

所述渲染单元,用于对所述视频源数据进行渲染处理,得到渲染处理后的视频数据,将所述渲染处理后的视频数据作为所述特效处理后的视频数据。

在第三方面的一些实施例中,所述第一处理模块还包括混频单元,所述混频单元包括第一读取子单元、第二读取子单元和混频子单元;

所述第一读取子单元,用于分别从两个或三个以上的所述视频的视频源数据的oestexture中,读取属于各个所述视频的视频源数据的地址;

所述第二读取子单元,用于分别从各个视频的源数据的地址中,读取各个视频的源数据;

所述混频子单元,用于将各个所述视频的源数据进行混屏处理,得到混屏处理后的视频数据,将所述混屏处理后的视频数据作为所述特效处理后的视频数据。

在第三方面的一些实施例中,所述视频数据的处理装置还包括解码模块、第二映射模块、第二处理模块和播放模块。其中,

所述解码模块,用于对接收的编码后的视频数据进行解码,得到解码后的视频数据;

所述第二映射模块,用于获取所述解码后的视频数据的地址,根据所述解码后的视频数据的地址,对所述解码后的视频数据进行surfacetexture映射,得到用于索引所述解码后的视频数据的地址的surfacetexture;

所述第二处理模块,用于利用所述surfacetexture,读取所述解码后的视频数据,并对所述解码后的视频数据进行特效处理,得到特效处理后的视频数据;

所述播放模块,用于播放所述特效处理后的视频数据。

在第三方面的一些实施例中,所述第二映射模块包括第二新建单元和第二写入单元。其中,

所述第二新建单元,用于新建surfacetexture;

所述第二写入单元,用于将所述解码后的视频数据的地址写入新建的surfacetexture中,得到用于索引所述解码后的视频数据的地址的surfacetexture。

第四方面,本发明实施例提供了一种视频数据的处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述实施例中所述的方法。

第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述实施例中所述的方法。

根据本发明的实施例,在对待分享的视频进行特效处理时,能够通过获取视频数据的地址,并根据视频数据的地址对视频数据进行纹理oestexture映射或者surfacetexture映射的方式,得到用于索引视频数据的地址的oestexture或者surfacetexture。然后利用oestexture或者surfacetexture,就能够读取视频数据,并对读取的视频数据进行特效处理。

由上述可知,本发明实施例中传递的信息不是视频数据,而是视频数据的地址。在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,也就不需要占用视频处理器的内存资源和网络的传输资源,进而能够提高视频处理器的多任务并行处理的性能。

附图说明

从下面结合附图对本发明实施例的具体实施方式的描述中可以更好地理解本发明实施例其中,相同或相似的附图标记表示相同或相似的特征。

图1为现有技术中的在互联网上进行视频共享的示意图;

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

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

图4为本发明再一实施例提供的视频数据的处理的方法的流程示意图;

图5为本发明又一实施例提供的视频数据的处理的方法的流程示意图;

图6为本发明一个实施例提供的视频数据的处理装置的结构示意图;

图7为本发明另一实施例提供的视频数据的处理装置的结构示意图;

图8为本发明再一实施例提供的视频数据的处理装置的结构示意图;

图9为本发明又一实施例提供的视频数据的处理装置的结构示意图。

具体实施方式

下面将详细描述本发明实施例的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明实施例的全面理解。但是,对于本领域技术人员来说很明显的是,本发明实施例可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明实施例的示例来提供对本发明实施例的更好的理解。本发明实施例决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明实施例的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明实施例造成不必要的模糊。

本发明实施例中的视频数据的处理方法和装置,应用于在互联网上的视频共享操作。能够在节约视频处理器的内存资源和网络传输资源的情况下,实现对待共享的视频的特效处理。特效处理后的视频能够用于发送到网络上或者在客户端播放。

图1为现有技术中的在互联网上进行视频共享的示意图。参看图1,在一种应用场景中,用户a使用视频客户端录制了一段视频,并对录制的视频进行了特效处理,然后要将特效处理后的视频共享到网络上。在另一种应用场景中,用户b使用视频客户端对网络中的被共享的视频进行播放,在播放之前,需要先对被共享的视频进行特效处理。

下面分别针对两种应用场景,对本发明实施例中的技术方案进行详细说明。

图2为本发明一个实施例提供的视频数据的处理的方法的流程示意图。该视频数据的处理的方法用于视频发送端。如图2所示,该视频数据的处理的方法包括步骤201-步骤203。

在步骤201中,获取视频源数据的地址,根据视频源数据的地址,对视频源数据进行oestexture映射,得到用于索引视频源数据的地址的oestexture。

其中,视频源数据可以是yuv格式数据。oestexture映射是纹理映射方式的一种。oestexture能够将视频源数据的地址信息映射为纹理数据,并能够将该携带有视频源数据的地址信息的纹理数据传递到指定的位置。比如,视频处理器,以对视频源数据进行特效处理。

oestexture映射可以通过opengl(opengraphicslibrary,开放图形数据库)的opengles子集来完成。opengl是个专业的图形程序接口,定义了跨编程语言和跨平台的编程接口,可以用于三维图形,也可以用于二维图形,能够方便地对底层图形库进行调用。

在步骤202中,利用oestexture,读取视频源数据,并对视频源数据进行特效处理,得到特效处理后的视频数据。

在步骤203中,对特效处理后的视频数据进行编码,发送编码后的视频数据。

其中,编码后的视频数据可以为h264格式数据。h264格式数据通过h264数据传输协议实现网络上的视频数据共享。

根据本发明的实施例,在对待分享的视频进行特效处理时,能够通过获取视频源数据的地址,并根据映射的oestexture,得到用于索引视频源数据的地址的oestexture。然后利用oestexture,就能够读取视频源数据,并对读取的视频源数据进行特效处理。

由上述可知,本发明实施例中不是直接传递视频数据,而是视频数据的地址。在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,也就不需要占用视频处理器的内存资源和网络的传输资源,进而能够提高视频处理器的多任务并行处理的性能。

此外,由于本发明实施例中在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,因此,提高了对视频数据进行特效处理的速度。

另外,由于本发明实施例中的视频数据的处理方法需要通过opengl标准来实现,而任何的安卓系统都支持opengl标准,因此,本发明实施例中的视频数据的处理方法,能够适配于任意型号的安卓设备。

需要说明的是,本发明实施例中的视频数据的处理方法,不局限于待分享的视频,而且能够适用于任何需要处理的视频。

图3为本发明另一实施例提供的视频数据的处理的方法的流程示意图。该视频数据的处理的方法用于视频发送端。图3与图2的不同之处在于,图2中的步骤201可细化为图3中的步骤2011-2013,图2中的步骤202可细化为图3中的步骤2021-2023。

在步骤2011中,获取视频数据的源地址。

在步骤2012中,新建oestexture。

作为一种方式,将源数据的地址映射为一个二维数组,数组中的每一项称为一个纹理点(texel)。作为另一种方式,也可以将源数据的地址映射到非二维的对象上,如球体或者其他的3d对象模型上。

在步骤2013中,将视频源数据的地址写入新建的oestexture中,得到用于索引视频源数据的地址的oestexture。

在步骤2021中,从oestexture中,读取视频源数据的地址。

其中,oestexture携带有视频源数据的地址信息的纹理数据。

在步骤2021中,从视频源数据的地址中,读取视频源数据。

在步骤2022中,对视频源数据进行编辑处理和/或渲染处理,得到编辑处理和/或渲染处理后的视频数据。将编辑处理和/或渲染处理后的视频数据,作为特效处理后的视频数据。

其中,编辑处理和/或渲染处理,是特效处理的两种处理方式。关于编辑处理和/或渲染处理的处理方法,本领域技术人员可以参看相关领域的现有技术,此处不进行详细说明。

特效处理的另一种处理方式为混屏处理,通常需要对两个或三个以上的视频的源数据进行混频处理。

为对视频源数据进行特效处理,可以分别从两个或三个以上的用于索引对应视频的源数据的地址的oestexture中,读取各个视频的源数据的地址;分别从各个视频的源数据的地址中,读取各个视频的源数据;以及将各个视频的源数据进行混屏处理,得到混屏处理后的视频数据,将混屏处理后的视频数据作为特效处理后的视频数据。

图4为本发明又一实施例提供的视频数据的处理的方法的流程示意图。该视频数据的处理的方法用于视频接收端。如图4所示,该视频数据的处理的方法包括步骤401-步骤404。

在步骤401中,对接收的编码后的视频数据进行解码,得到解码后的视频数据。

在步骤402中,获取解码后的视频数据的地址,根据解码后的视频数据的地址,对解码后的视频数据进行surfacetexture映射,得到用于索引解码后的视频数据的地址的surfacetexture。

其中,surfacetexture映射也是纹理映射方式的一种。surfacetexture能够将解码后的视频数据的地址信息映射为纹理数据,并能够将该携带有解码后的视频数据的地址信息的纹理数据传递到指定的位置,比如,视频处理器,以对解码后的视频数据进行特效处理。surfacetexture映射也可以通过opengl完成。

在步骤403中,利用surfacetexture,读取解码后的视频数据,并对解码后的视频数据进行特效处理,得到特效处理后的视频数据。

在步骤404中,播放特效处理后的视频数据。

根据本发明的实施例,在对待分享的视频进行特效处理时,能够通过获取解码后的视频数据的地址,并根据映射的surfacetexture,得到用于索引解码后的视频数据的地址的surfacetexture。然后利用surfacetexture,就能够读取解码后的视频数据,并对读取的解码后的视频数据进行特效处理。

由上述可知,在对待分享的视频进行特效处理时,传递的信息不是视频数据,而是视频数据的地址。在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,也就不需要占用视频处理器的内存资源和网络的传输资源,进而能够提高视频处理器的多任务并行处理的性能。

图5为本发明另一实施例提供的视频数据的处理的方法的流程示意图。该视频数据的处理的方法用于视频接收端。图5与图4的不同之处在于,图4中的步骤401可细化为图5中的步骤4021-4023。

在步骤4021中,获取解码后的视频数据的地址。

在步骤4022中,新建surfacetexture。

在步骤4023中,将解码后的视频数据的地址写入新建的surfacetexture中,得到用于索引解码后的视频数据的地址的surfacetexture。

类似地,作为一种方式,将源数据的地址映射为一个二维数组,数组中的每一项称为一个纹理点(texel)。作为另一种方式,也可以将源数据的地址映射到非二维的对象上,如球体或者其他的3d对象模型上。

需要说明的是,视频接收端中对解码后的视频数据的特效处理也包括编辑处理和/或渲染处理。具体为对解码后的视频数据进行编辑处理和/或渲染处理,得到编辑处理和/或渲染处理后的视频数据。将编辑处理和/或渲染处理后的视频数据,作为特效处理后的视频数据。

视频接收端中对解码后的视频数据的特效处理也还包括特混屏处理,通常需要对两个或三个以上的解码后的视频数据进行混频处理。

为对解码后的视频数据进行特效处理,可以分别从两个或三个以上的用于索引对应解码后的视频数据的地址的surfacetexture中,读取各个视频的解码后的视频数据的地址;分别从各个视频的解码后的视频数据的地址中,读取各个视频的解码后的视频数据;以及将各个视频的解码后的视频数据进行混屏处理,得到混屏处理后的视频数据,将混屏处理后的视频数据作为特效处理后的视频数据。

图6为本发明一个实施例提供的视频数据的处理装置。如图6所示,视频数据的处理装置包括:第一映射模块501、第一处理模块502和编码模块503。

其中,第一映射模块501,用于获取视频源数据的地址,根据视频源数据的地址,对视频源数据进行oestexture映射,得到用于索引视频源数据的地址的oestexture。

第一处理模块502,用于利用oestexture,读取视频源数据,并对视频源数据进行特效处理,得到特效处理后的视频数据。

编码模块503,用于对特效处理后的视频数据进行编码,发送编码后的视频数据。

在对待分享的视频进行特效处理时,第一处理模块502能够通过获取第一映射模块501中视频源数据的地址,并根据映射的oestexture,得到用于索引视频源数据的地址的oestexture。然后利用oestexture,就能够读取视频源数据,并对读取的视频源数据进行特效处理。

由上述可知,本发明实施例中传递的信息不是视频数据,而是视频数据的地址。在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,也就不需要占用视频处理器的内存资源和网络的传输资源,进而能够提高视频处理器的多任务并行处理的性能。

图7为本发明另一实施例提供的视频数据的处理装置。图7与图6的不同之处在于,图6中的第一映射模块501可细化为图7中的第一新建单元5011和第一写入单元5012;图6中的第一处理模块502可细化为图7中的第一读取单元5021、第二读取单元5022、和第一处理单元5023。

其中,第一新建单元5011,用于新建oestexture。

第一写入单元5012,用于将视频源数据的地址写入新建的oestexture中,得到用于索引视频源数据的地址的oestexture。

第一读取单元5021,用于从oestexture中,读取视频源数据的地址。

第二读取单元5022,用于从视频源数据的地址中,读取视频源数据。

第一处理单元5023,用于对视频源数据进行特效处理,得到特效处理后的视频数据。

图8为本发明又一实施例提供的视频数据的处理装置。图8与图6的不同之处在于,图6中的第一处理模块502可细化为图8中的编辑单元5024、渲染单元5025、和混频单元5026。

其中,编辑单元5024,用于对视频源数据进行编辑处理,得到编辑处理后的视频数据,将编辑处理后的视频数据作为特效处理后的视频数据。

渲染单元5025,用于对视频源数据进行渲染处理,得到渲染处理后的视频数据,将渲染处理后的视频数据作为特效处理后的视频数据。

混频单元5026还包括第一读取子单元、第二读取子单元和混频子单元。

其中,第一读取子单元,用于分别从两个或三个以上的视频的视频源数据的oestexture中,读取属于各个视频的视频源数据的地址。

第二读取子单元,用于分别从各个视频的源数据的地址中,读取各个视频的源数据。

混频子单元,用于将各个视频的源数据进行混屏处理,得到混屏处理后的视频数据,将混屏处理后的视频数据作为特效处理后的视频数据。

图9为本发明另一实施例提供的视频数据的处理装置。图9与图6的不同之处在于,图9还包括位于视频接收端的视频数据的处理装置。位于视频接收端的视频数据的处理装置包括:包括解码模块504、第二映射模块505、第二处理模块506和播放模块507。

其中,解码模块504,用于对接收的编码后的视频数据进行解码,得到解码后的视频数据。

第二映射模块505,用于获取解码后的视频数据的地址,根据解码后的视频数据的地址,对解码后的视频数据进行surfacetexture映射,得到用于索引解码后的视频数据的地址的surfacetexture。

第二处理模块506,用于利用surfacetexture,读取解码后的视频数据,并对解码后的视频数据进行特效处理,得到特效处理后的视频数据。

播放模块507,用于播放特效处理后的视频数据。

在对待分享的视频进行特效处理时,第二处理模块506能够通过获取第二映射模块505中解码后的视频数据的地址,并根据映射的surfacetexture,得到用于索引解码后的视频数据的地址的surfacetexture。然后利用surfacetexture,就能够读取解码后的视频数据,并对读取的解码后的视频数据进行特效处理。

由上述可知,本发明实施例中传递的信息不是视频数据,而是视频数据的地址。在对待分享的视频进行特效处理时,根据视频数据的地址中就能够索引到待处理的视频数据,而不需要对视频数据进行存取操作,也就不需要占用视频处理器的内存资源和网络的传输资源,进而能够提高视频处理器的多任务并行处理的性能。

参看图9,第二映射模块505可细化为第二新建单元5051和第二写入单元5052。

其中,第二新建单元5051,用于新建surfacetexture。

第二写入单元5052,用于将解码后的视频数据的地址写入新建的surfacetexture中,得到用于索引解码后的视频数据的地址的surfacetexture。

需要说明的是,本发明实施例提供的视频数据的处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,处理器用于在执行程序时实现上文所述的方法。

还需要说明的是,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,程序被处理器执行时用于实现上文所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例而言,相关之处可以参见方法实施例的说明部分。本发明实施例并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本发明实施例的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明实施例的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

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