一种视频数据转换的方法、装置和智能电视的制作方法

文档序号:7867265阅读:199来源:国知局
专利名称:一种视频数据转换的方法、装置和智能电视的制作方法
技术领域
本发明涉及一种视频数据转换的方法、装置和智能电视。
背景技术
随着视频技术的不断发展,3D界面(UI)智能电视也逐渐成为一种趋势,给用户更加完美的电视操作体验。然而,一般的3D界面(UI)智能电视虽然界面比较绚丽,但其本质还是采用传统的静态贴图,其上面的视频以及节目的播放也是沿用以前的二维显示方式,静态贴图与视频数据之间并没有存在关联。

发明内容
本发明主要解决的技术问题是提供一种视频数据转换的方法及装置,能够将节目视频数据转换为稳定连续的动态纹理贴图,提供一种新的节目预览与播放模式。为解决上述技术问题,本发明采用的一个技术方案是提供一种视频数据转换的方法,包括截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据;将所述动态纹理数据发送至所述3D引擎,使所述3D引擎利用所述动态纹理数据生成一贴图;将所述贴图贴到3D界面(Π),得到动态纹理贴图。其中,所述截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据的步骤具体为通过一视频服务进程(Pip service)的抓图引擎截取所述视频源正在播放的视频图像,并将所述视频图像缩放至3D引擎所需大小;通过所述视频服务进程的抓图引擎获取经缩放后的所述视频图像,将经缩放后的所述视频图像转换为3D引擎所需格式的动态纹理数据。其中,所述将动态纹理数据发送至所述3D引擎的步骤具体为将所述动态纹理数据发送至摄像头服务进程(Camera service);使所述摄像头服务进程将所述动态纹理数据发送至所述3D引擎。其中,所述将动态纹理数据发送至摄像头服务进程的步骤具体为准备所述动态纹理数据,等待发送;判断所述视频服务进程的空闲序列(list)中是否有可用的缓存;如果所述视频服务进程的空闲序列中有可用的缓存,则将所述动态纹理数据复制到所述可用的缓存,否则,重新获取新的动态纹理数据等待发送;将包括所述动态纹理数据的可用的缓存移进所述视频服务进程的发送序列的末尾,调用回调函数以将所述动态纹理数据发送至所述摄像头服务进程。其中,所述使摄像头服务进程将动态纹理数据发送至3D引擎的步骤具体为使所述摄像头服务进程接收所述3D引擎发来的获取动态纹理数据的请求;使所述摄像头服务进程根据所述请求,检查摄像头服务进程内的空闲序列是否有可用的缓存;如果有可用的缓存,则将所述动态纹理数据复制到所述可用的缓存中,否则,放弃对当前的所述动态纹理数据的发送;将包含动态纹理数据的所述可用的缓存移进所述摄像头服务进程的发送序列的末尾,调用回调函数将所述动态纹理数据发送至所述3D引擎中。其中,所述使3D引擎利用所述动态纹理数据生成一帧贴图的步骤之后,还包括使所述3D引擎向所述摄像头服务进程发送释放相应缓存的请求;使所述摄像头服务进程根据所述请求释放相应的缓存。其中,所述使摄像头服务进程根据所述请求释放相应的缓存的步骤具体为使所述摄像头服务进程根据所述请求,从摄像头服务进程内的发送序列获取第一个缓存;判断所述第一个缓存是否是所述3D引擎请求释放的相应缓存;如果所述第一个缓存是所述3D引擎请求释放的相应的缓存,则使所述第一个缓存从所述发送序列转入空闲序列(list)的末尾,释放所述第一个缓存;如果所述第一缓存不是所述3D引擎请求释放的相应缓存,则报错中断。
其中,所述使摄像头服务进程根据所述请求释放相应的缓存的步骤之后,还包括使所述摄像头服务进程向所述视频服务进程发送释放相应缓存的请求;使所述视频服务进程根据所述请求释放相应的缓存。其中,所述使视频服务进程根据所述请求释放相应的缓存的步骤具体为使所述视频服务进程根据所述请求,从视频服务进程内的发送序列获取第一个缓存;判断所述第一个缓存是否是所述摄像头服务进程请求释放的相应缓存;如果所述第一个缓存是所述摄像头服务进程请求释放的相应的缓存,则使所述第一个缓存从所述发送序列转入空闲序列的末尾,释放所述第一个缓存;如果所述第一缓存不是摄像头服务进程请求释放的相应缓存,则报错中断。其中,所述使视频服务进程的抓图引擎截取所述视频源正在播放的视频图像的步骤之前,还包括使所述视频服务进程、所述摄像头服务进程、所述3D界面建立连接。其中,所述使视频服务进程、摄像头服务进程、3D界面建立连接的步骤具体为检查所述摄像头服务进程与所述视频服务进程的连接是否成功;如果所述摄像头服务进程与所述视频服务进程的连接成功,则检查所述摄像头服务进程是否支持所述3D界面需要的参数;如果所述摄像头服务进程与所述视频服务进程的连接不成功则退出;如果所述摄像头服务进程支持所述3D界面需要的参数,则设置回调函数,启动所述视频服务进程的抓图引擎,截取所述视频源正在播放的视频图像,否则,取消所述视频服务进程、所述摄像头服务进程、所述3D界面之间的连接。其中,所述将贴图贴到3D界面,得到动态纹理贴图的步骤之后,还包括使所述动态纹理贴图输出至显示屏显示。其中,所述截取视频源正在播放的视频图像的步骤之前,还包括选择数字电视(DTV)、亚洲电视(ATV)、高清晰度多媒体接口(HDMI)、视频图形阵列(VGA)、多媒体中的其中一种作为视频源。为解决上述技术问题,本发明采用的另一个技术方案是提供一种视频数据转换装置,包括截取模块、发送模块以及贴图模块,其中所述截取模块用于截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据,将所述动态纹理数据输出给所述发送模块;所述发送模块用于将所述动态纹理数据发送至所述贴图模块;所述贴图模块用于利用所述动态纹理数据生成一贴图并将所述贴图贴到3D界面,得到动态纹理贴图。其中,所述截取模块包括图像缩放单元和图像转换单元,其中所述图像缩放单元用于截取视频源正在播放的视频图像,并将所述视频图像缩放至3D引擎所需大小,将缩放后的所述视频图像发送给所述图像转换单元;所述图像转换单元用于获取经缩放后的所述视频图像,将经缩放后的所述视频图像转换为3D引擎所需格式的动态纹理数据,将所述动态纹理数据输出给所述发送模块。其中,所述发送模块包括第一发送单元和第二发送单元,其中所述第一发送单元用于将所述动态纹理数据从视频服务进程发送至摄像头服务进程;所述第二发送单元用于将所述动态纹理数据从所述摄像头服务进程发送至所述贴图模块。其中,所述装置还包括释放模块,用于所述贴图模块生成 贴图之后,使所述摄像头服务进程和所述视频服务进程释放发送所述动态纹理数据的相应的缓存。其中,所述装置还包括连接模块,用于使所述视频服务进程、所述摄像头服务进程、所述3D界面建立连接。其中,所述装置还包括显示模块,用于显示所述贴图模块得到的所述动态纹理贴图。其中,所述装置还包括视频源选择模块,用于选择视频源。为了解决上述技术问题,本发明采用的还有一技术方案是提供一种智能电视,包括上述的视频数据转换装置。本发明的有益效果是区别于现有技术的情况,本发明通过截取视频图像转换为动态纹理数据,并通过3D引擎利用动态纹理数据生成新一帧的贴图贴到3D UI,从而可以实现将视频数据转换为稳定连续的动态纹理贴图,并达到比较高的帧率,将节目视频与3D融合,给用户更好的体验效果。


图I是本发明视频数据转换的方法一实施方式的流程图;图2是本发明视频数据转换的方法一实施方式中截取视频图像,并将视频图像转换为3D引擎所需大小和格式的动态纹理数据的流程图;图3是本发明视频数据转换的方法一实施方式中使视频服务进程、摄像头服务进程、3D界面建立连接的流程图;图4是本发明视频数据转换的方法一实施方式中将动态纹理数据发送至3D引擎的流程图;图5是本发明视频数据转换的方法一实施方式中将动态纹理数据发送至摄像头服务进程的流程图;图6是本发明视频数据转换的方法一实施方式中使摄像头服务进程将动态纹理数据发送至3D引擎的流程图;图7是本发明视频数据转换的方法一实施方式中使摄像头服务进程释放相应的缓存的流程图;图8是本发明视频数据转换的方法一实施方式中使视频服务进程释放相应的缓存的流程图9是本发明视频数据转换装置一实施方式的结构示意图;图10是本发明视频数据转换装置一实施方式的截取模块的结构示意图;图11是本发明视频数据装换装置一实施方式的发送模块的结构示意图。
具体实施例方式参阅图1,本发明视频数据的转换方法一实施方式包括步骤SlOl :截取视频源正在播放的视频图像,并将视频图像转换为3D引擎所需大小和格式的动态纹理数据;一般的智能电视都支持数字电视(DTV)、亚洲电视(ATV)、高清晰度多媒体接口(HDMI)、视频图形阵列(VGA)、多媒体等视频节目源。因此,首先通过多路复用器(Mux)选 择上层指定的视频源,例如DTV。然后将视频源正在播放的视频截取下来,并转换成3D引擎所需的大小和格式的动态纹理数据,将转换得到的动态纹理数据保存在视频服务进程(Pipservice)的缓存中。步骤S102 :将动态纹理数据发送至3D引擎,使3D引擎利用动态纹理数据生成一帧贴图;当接收到获取动态纹理数据的请求时,将动态纹理数据发送至3D引擎,使3D引擎利用动态纹理数据生成一贴图。步骤S103 :将贴图贴到3D界面,得到动态纹理贴图;3D引擎生成贴图后,将贴图贴到3D界面,得到动态纹理贴图。可以将动态纹理贴图送入显示屏显示出来。通过上述实施方式的描述,本发明通过截取视频图像转换为动态纹理数据,并通过3D引擎利用动态纹理数据生成新的贴图贴到3D界面(Π),从而可以实现将视频数据转换为稳定连续的动态纹理贴图,并达到比较高的帧率,将节目视频与3D融合,给用户更好的体验效果。其中,请参阅图2,在另一实施方式中,截取视频图像,并将视频图像转换为3D引擎所需大小和格式的动态纹理数据包括以下子步骤子步骤S201 :通过一视频服务进程的抓图引擎截取视频源正在播放的视频图像,并将视频图像缩放至3D引擎所需大小;在实际应用过程中,系统启动的时候,首先使视频服务进程(Pipservice)、摄像头服务进程(Camera service)以及3D界面(UI)启动并建立连接。这样,如果上层需要动态纹理数据,可以随时向摄像头服务进程发出请求。—般的Android智能电视上,通过视频服务进程的抓图引擎(Captureengine)将视频源正在播放的视频图像截取下来,并将视频图像缩放至3D引擎所需要的大小,并将缩放后的视频图像发送至视频服务进程的图形引擎(Graphic engine)。通常,为了使视频服务进程更好的融入到Android系统架构中,可以将视频服务进程虚拟成摄像头服务进程的一个虚拟摄像头(Camera)设备。这样,摄像头服务进程除了系统默认的id为O的真实摄像头设备外,视频服务进程就成为摄像头服务进程的id为I的虚拟摄像头设备。这样视频服务进程不仅可以与Android系统实现无缝衔接,借用摄像头服务进程本身的接口又能提供更加灵活强大的功能。例如动态截屏、视频录制等。并且3D引擎也可以灵活的连接其他视频源接口,例如id为O的真实摄像头设备。子步骤S202 :通过视频服务进程的图形引擎获取经缩放后的视频图像并转换为3D引擎所需格式的动态纹理数据;视频服务进程的图形引擎从抓图引擎获取经缩放后的视频图像后,将视频图像转换为3D引擎所需格式的动态纹理数据,并将动态纹理数据保存至视频服务进程的缓存中。
其中,在另一实施方式中,请参阅图3,使视频服务进程、摄像头服务进程以及3D界面建立连接包括以下子步骤子步骤S301 :检查摄像头服务进程与视频服务进程的连接是否成功;首先检查摄像头服务进程与视频服务进程的连接是否成功,如果连接成功则进行子步骤S302,否则进行子步骤S305。子步骤S302 :检查摄像头服务进程是否支持3D界面需要的参数;当摄像头服务进程与视频服务进程连接成功时,检查摄像头服务进程是否支持3D界面需要的参数设置,如果支持,则进行子步骤S303,如果不支持,则进行子步骤S304。子步骤S303:设置回调函数,启动视频服务进程的抓图引擎,截取视频源正在播放的视频图像;当摄像头服务进程支持3D界面需要的参数设置时,设置回调函数,该回调函数是用于数据发送的回调函数,包括摄像头服务进程的回调函数和3D界面的回调函数。并且同时启动视频服务进程的抓图引擎,截取视频源正在播放的视频图像。子步骤S304 :取消视频服务进程、摄像头服务进程、3D界面之间的连接;当摄像头服务进程不支持3D界面需要的参数设置时,则使视频服务进程、摄像头服务进程以及3D界面断开连接。子步骤S305 :退出流程;当检查到摄像头服务进程与视频服务进程没有成功连接时,判断为异常,取消连接视频服务进程,进而退出流程。其中,请参阅图4,在另一实施方式中,将动态纹理数据发送至3D引擎的步骤包括以下子步骤子步骤S401 :将动态纹理数据发送至摄像头服务进程;在视频服务进程接收到来自摄像头服务进行的获取动态纹理数据的请求后,从视频服务进程的缓存中获取动态纹理数据,将动态纹理数据发送至摄像头服务进程。子步骤S402 :使摄像头服务进程将动态纹理数据发送至3D引擎;当摄像头服务进程接收到来自3D引擎的获取动态纹理数据的请求时,使摄像头服务进程将动态纹理数据发送至3D引擎。其中,请参阅图5,在另一实施方式中,将动态纹理数据发送至摄像头服务进程包括以下子步骤子步骤S501 :准备动态纹理数据,等待发送;视频服务进程接收到来自摄像头服务进程的获取动态纹理数据的请求,调用抓图引擎接口(API)等待下一帧动态纹理数据,等待发送。如果下一帧动态纹理数据还没有好,进程就会因为调用当前API而睡眠,等数据好了再唤醒。子步骤S502 :判断视频服务进程的空闲序列中是否有可用的缓存;
判断视频服务进程的空闲序列中是否有可用的缓存,如果有可用的缓存则进程子步骤S503,否则,返回子步骤S501,重新准备动态纹理数据等待发送。子步骤S503 :将动态纹理数据复制到可用的缓存;当空闲序列中有可用的缓存时,拿出该可用的缓存,将动态纹理数据复制到可用的缓存中以发送给摄像头服务进程。子步骤S504 :将包括动态纹理数据的可用的缓存移进视频服务进程的发送序列的末尾,调用回调函数以将动态纹理数据发送至摄像头服务进程;将动态纹理数据复制到当前可用的缓存后,将包含有动态纹理数据的可用的缓存移进视频服务进程的发送序列的末尾,调用回调函数将动态纹理数据发送给摄像头服务进程。
其中,请参阅图6,使摄像头服务进程将动态纹理数据发送至3D引擎包括以下子步骤子步骤S601 :使摄像头服务进程接收3D引擎发来的获取动态纹理数据的请求;当3D引擎需要动态纹理数据时,向摄像头服务进程发送获取动态纹理数据的请求,摄像头服务进程接收3D引擎发来的请求,准备动态纹理数据,等待发送。子步骤S602 :使摄像头服务进程根据请求,检查摄像头服务进程内的空闲序列是否有可用的缓存;摄像头服务进程检查其内的空闲序列是否有可用的缓存,当有可用的缓存则进行子步骤S603,否则,进行子步骤S605。子步骤S603 :将动态纹理数据复制到可用的缓存中;当摄像头服务进程的空闲序列中有可用的缓存时,拿出该缓存,将动态纹理数据复制到可用的缓存中。子步骤S604 :将包含动态纹理数据的可用的缓存移进摄像头服务进程的发送序列的末尾,调用回调函数将动态纹理数据发送至3D引擎中;将包含有动态纹理数据的可用的缓存移进摄像头服务进程的发送序列的末尾,调用3D层的回调函数将动态纹理数据发送至3D引擎中,完成动态纹理数据从摄像头服务进程到3D引擎的发送,结束当前的流程。子步骤S605 :放弃对当前的动态纹理数据的发送;如果摄像头服务进程的空闲序列中没有可用的缓存时,说明由于某些原因,例如系统非常繁忙,之前送去的缓存还没有处理完,这时就放弃对当前的动态纹理数据的发送,继续等待下一帧动态纹理数据。在实际应用过程中,视频服务进程、摄像头服务进程以及3D引擎都可以提供线程池(Thread pool),这样可以支持数据的并发访问,提高性能。视频服务进程、摄像头服务进程以及3D引擎可以并发的访问其内的2个缓存序列即空闲序列(Free list)和发送序列(Send list)。对于视频服务进程,它本身的抓图引擎和图形引擎可以并发访问其内的2个缓存序列即空闲序列(Free list)和发送序列(Send list)。而视频服务进程、摄像头服务进程以及3D引擎的2个缓存序列都用线程锁来保护,以保证在同一个进程内多线程的互斥访问。其中,当3D引擎利用动态纹理数据生成一帧贴图之后,3D引擎向摄像头服务进程发送释放相应缓存的请求,使摄像头服务进程根据请求释放相应的缓存。请参阅图7,使摄像头服务进程根据请求释放相应的缓存一实施方式包括以下子步骤子步骤S701 :使摄像头服务进程根据请求,从摄像头服务进程内的发送序列获取第一个缓存;当摄像头服务进行接收到3D引擎的释放相应缓存的请求时,从摄像头服务进程的发送序列中拿出第一个缓存。理论上,凡是3D引擎正在使用的数据,以及使用完还没来得及释放的缓存都在摄像头服务进程的发送序列中,缓存在发送序列中的顺序与数据之前发送的顺序一样。所以,每次释放的缓存都应该是发送序列中的第一个缓存。因此收到释放请求时首先调用释放缓存的接口从发送序列中拿出第一个缓存。
子步骤S702 :判断第一缓存是否是3D引擎请求释放的相应缓存;判断从摄像头服务进程的发送序列中拿出的第一个缓存是否是3D引擎请求释放的相应的缓存,如果是,则进行子步骤S703,如果不是,则进行子步骤S704。子步骤S703 :使第一个缓存从发送序列转入空闲序列的末尾,释放第一个缓存;当从摄像头服务进行的发送序列中拿出的第一个缓存是3D引擎请求释放的相应的缓存时,则将该第一个缓存从摄像头服务进程的发送序列移进空闲序列的末尾,释放该第一个缓存,完成摄像头服务进程对相应缓存的释放,结束当前的流程。子步骤S704 :报错中断;当从摄像头服务进程的发送序列中拿出的第一个缓存不是3D引擎请求释放的相应的缓存时,则发送Assert,报错中断,结束当前的流程。其中,在摄像头服务进程释放相应的缓存后,使摄像头服务进程向视频服务进程发送释放相应缓存的请求,使视频服务进程根据请求释放相应的缓存。请参阅图8,使视频服务进程根据请求释放相应的缓存一实施方式包括以下子步骤子步骤S801 :使视频服务进程根据请求,从视频服务进程内的发送序列获取第一个缓存;当摄像头服务进程根据3D引擎的请求释放相应的缓存后,摄像头服务进行向视频服务进程发送释放相应缓存的请求,视频服务进程根据请求,从其内的发送序列拿出第一个缓存。子步骤S802 :判断第一个缓存是否是摄像头服务进程请求释放的相应缓存;判断从视频服务进程的发送序列拿出的第一个缓存是否是摄像头服务进程请求释放的相应缓存,如果是则进行子步骤S803,如果不是则进行子步骤S804。子步骤S803 :使第一个缓存从发送序列转入空闲序列的末尾,释放第一个缓存;当从视频服务进程的发送序列拿出的第一个缓存是摄像头服务进程请求释放的相应的缓存时,将该第一个缓存从视频服务进程的发送序列移进空闲序列的末尾,释放当前的第一个缓存,完成视频服务进程对相应缓存的释放,结束当前的流程。在步骤S804 :报错中断;当从视频服务进程的发送序列拿出的第一个缓存不是摄像头服务进程请求释放的相应缓存时,则发送Assert,报错中断,结束当前的流程。
通过上述描述可知,动态纹理数据的发送过程,视频服务进程、摄像头服务进程以及3D引擎中的缓存将不断在发送序列和空闲序列中不断迁移。直到3D界面层调用摄像头服务进程的停止接口。这时设置回调函数为空,停止视频服务进程的抓图动作,然后断开视频服务进程摄像头服务进行以及3D引擎之间的连接。请参阅图9,本发明视频数据转换装置一实施方式包括截取模块11、发送模块12以及贴图模块13,其中截取模块11用于截取视频源正在播放的视频图像,并将视频图像转换为3D引擎所需大小和格式的动态纹理数据,将动态纹理数据输出给发送模块12 ;截取模块11主要用于从视频源比如DTV、ATV、HDMI、VGA、多媒体中的任意一种视频源中截取正在播放的视频图像,并将视频图像转换为3D引擎所需要大小和格式的动态 纹理数据。发送模块12用于将动态纹理数据发送至贴图模块13 ;发送模块12主要用于对动态纹理数据的发送。贴图模块13用于利用动态纹理数据生成一帧贴图并将贴图贴到3D界面,得到动态纹理贴图;贴图模块13用于利用发送模块12发送来的动态纹理数据生成一帧贴图,同时将贴图贴到3D界面,得到新的动态纹理贴图。其中,请参阅图10,截取模块包括图像缩放单元21和图像转换单元22,其中图像缩放单元21用于截取视频源正在播放的视频图像,并将视频图像缩放至3D引擎所需大小,将缩放后的视频图像发送给图像转换单元22 ;图像缩放单元21用于根据3D引擎的参数设置,将截取得到的视频图像缩放至3D引擎所需的大小,并将缩放后的视频图像发送给图像转换单元22。图像转换单元22用于获取经缩放后的视频图像,将经缩放后的视频图像转换为3D引擎所需格式的动态纹理数据,将动态纹理数据输出给发送模块。图像转换单元22接收到来自图像缩放单元21的经缩放后的视频图像,根据3D引擎的参数设置,将经缩放后的视频图像转换为3D引擎所需的格式的动态纹理数据。请参阅图11,发送模块包括第一发送单元31和第二发送单元32,其中第一发送单元31用于将动态纹理数据从视频服务进程发送至摄像头服务进程;第一发送单元31用于在视频服务进程接收到获取动态纹理数据的请求后,从缓存中获取动态纹理数据,将动态纹理数据发送至摄像头服务进程。第一发送单元31通过将动态纹理数据复制到视频服务进程的可用的缓存,通过调用回调函数将动态纹理数据发送至摄像头服务进程。第二发送单元32用于将动态纹理数据从摄像头服务进程发送至贴图模块。 第二发送单元32用于在摄像头服务进程接收到来自贴图模块的获取动态纹理数据的请求后,将动态纹理数据从摄像头服务进程发送至贴图模块。第二发送单元32通过将动态纹理数据复制到摄像头服务进程的可用的缓存,通过调用回调函数将动态纹理数据发送至贴图模块。其中,在另一实施方式中,视频数据转换装置还包括释放模块,用于贴图模块生成一帧贴图之后,使摄像头服务进程和视频服务进程释放发送动态纹理数据的相应的缓存。当贴图模块利用动态纹理数据生成一帧贴图之后,释放模块使摄像头服务进程释放用于发送当前动态纹理数据的相应的缓存。当摄像头服务进程释放相应的缓存之后,释放模块使视频服务进行释放用于发送当前动态纹理数据的相应的缓存。其中,在另一实施方式中,视频数据转换装置还包括连接模块,用于使视频服务进程、摄像头服务进程、3D界面建立连接。连接模块用于在系统启动后,使视频服务进程、摄像头服务进程以及3D界面建立连接,便于随时获取动态纹理数据。其中,在另一实施方式中,视频数据转换装置还包括 显示模块,用于显示贴图模块得到的动态纹理贴图。显示模块在贴图模块得到动态纹理贴图后,将动态纹理贴图输出并显示出来。其中,在另一实施方式中,视频数据转换装置还包括视频源选择模块,用于选择视频源。视频源选择模块用于通过多路复用器选择3D引擎指定的视频源,比如选择DTV、ATV、HDMI、VGA、多媒体中的任意一种作为视频源。在另一实施方式中,提供了一种智能电视,该智能电视包括上述任一实施方式所说的视频数据转换装置。区别于现有技术,本发明的优点在于通过截取视频图像转换为动态纹理数据,并通过3D引擎利用动态纹理数据生成新一帧的贴图贴到3D界面,从而可以实现将视频数据转换为稳定连续的动态纹理贴图,并达到比较高的帧率,将节目视频与3D完美融合,提供一种全新的节目预览及播放方式,给用户更好的体验效果。同时,视频数据转换过程可以实现数据的并行访问,提高了系统性能,同时也提高了视频数据转换的效率。在本发明所提供的几个实施方式中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种视频数据转换的方法,其特征在于,包括 截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据; 将所述动态纹理数据发送至所述3D引擎,使所述3D引擎利用所述动态纹理数据生成一贴图;以及 将所述贴图贴到3D界面,得到动态纹理贴图。
2.根据权利要求I所述的方法,其特征在于,所述截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据的步骤具体为 通过一视频服务进程的抓图引擎截取所述视频源正在播放的视频图像,并将所述视频图像缩放至3D引擎所需大小; 通过所述视频服务进程的图形引擎获取经过缩放后的所述视频图像,将经过缩放后的所述视频图像转换为3D引擎所需格式的动态纹理数据。
3.根据权利要求2所述的方法,其特征在于,所述将动态纹理数据发送至所述3D引擎的步骤具体为 将所述动态纹理数据发送至摄像头服务进程; 使所述摄像头服务进程将所述动态纹理数据发送至所述3D引擎。
4.根据权利要求3所述的方法,其特征在于,所述将动态纹理数据发送至摄像头服务进程的步骤具体为 准备所述动态纹理数据,等待发送; 判断所述视频服务进程的空闲序列(list)中是否有可用的缓存; 如果所述视频服务进程的空闲序列中有可用的缓存,则将所述动态纹理数据复制到所述可用的缓存,否则,重新获取新的动态纹理数据等待发送; 将包括所述动态纹理数据的可用的缓存移至所述视频服务进程的发送序列的末尾,将所述动态纹理数据发送至所述摄像头服务进程。
5.根据权利要求4所述的方法,其特征在于,所述使摄像头服务进程将动态纹理数据发送至3D引擎的步骤具体为 使所述摄像头服务进程接收所述3D引擎发来的获取动态纹理数据的请求; 使所述摄像头服务进程根据所述请求,检查摄像头服务进程内的空闲序列是否有可用的缓存; 如果有可用的缓存,则将所述动态纹理数据复制到所述可用的缓存中,否则,放弃对当前的所述动态纹理数据的发送; 将包含动态纹理数据的所述可用的缓存移至所述摄像头服务进程的发送序列的末尾,将所述动态纹理数据发送至所述3D引擎中。
6.根据权利要求I所述的方法,其特征在于,所述使3D引擎利用所述动态纹理数据生成贴图的步骤之后,还包括 使所述3D引擎向所述摄像头服务进程发送释放相应缓存的请求; 使所述摄像头服务进程根据所述请求释放相应的缓存。
7.根据权利要求6所述的方法,其特征在于,所述使摄像头服务进程根据所述请求释放相应的缓存的步骤具体为使所述摄像头服务进程根据所述请求,从摄像头服务进程内的发送序列获取第一个缓存; 判断所述第一个缓存是否是所述3D引擎请求释放的相应缓存; 如果所述第一个缓存是所述3D引擎请求释放的相应的缓存,则使所述第一个缓存从所述发送序列转入空闲序列的末尾,释放所述第一个缓存;如果所述第一缓存不是所述3D弓I擎请求释放的相应缓存,则报错中断。
8.根据权利要求6所述的方法,其特征在于,所述使摄像头服务进程根据所述请求释放相应的缓存的步骤之后,还包括 使所述摄像头服务进程向所述视频服务进程发送释放相应缓存的请求; 使所述视频服务进程根据所述请求释放相应的缓存。
9.根据权利要求8所述的方法,其特征在于,所述使视频服务进程根据所述请求释放相应的缓存的步骤具体为 使所述视频服务进程根据所述请求,从所述视频服务进程内的发送序列获取第一个缓存; 判断所述第一个缓存是否是所述摄像头服务进程请求释放的相应缓存; 如果所述第一个缓存是所述摄像头服务进程请求释放的相应的缓存,则使所述第一个缓存从所述发送序列转入空闲序列的末尾,释放所述第一个缓存;如果所述第一缓存不是所述摄像头服务进程请求释放的相应缓存,则报错中断。
10.根据权利要求2所述的方法,其特征在于,所述使视频服务进程的抓图引擎截取所述视频源正在播放的视频图像的步骤之前,还包括 使所述视频服务进程、所述摄像头服务进程、所述3D界面建立连接。
11.根据权利要求10所述的方法,其特征在于,所述使视频服务进程、摄像头服务进程、3D界面建立连接的步骤具体为 检查所述摄像头服务进程与所述视频服务进程的连接是否成功; 如果所述摄像头服务进程与所述视频服务进程的连接成功,则检查所述摄像头服务进程是否支持所述3D界面需要的参数;如果所述摄像头服务进程与所述视频服务进程的连接不成功则退出; 如果所述摄像头服务进程支持所述3D界面需要的参数,则设置回调函数,启动所述视频服务进程的抓图引擎,截取所述视频源正在播放的视频图像,否则,取消所述视频服务进程、所述摄像头服务进程、所述3D界面之间的连接。
12.根据权利要求I所述的方法,其特征在于,所述将贴图贴到3D界面,得到动态纹理贴图的步骤之后,还包括 使所述动态纹理贴图输出至显示屏显示。
13.—种视频数据转换装置,其特征在于,包括 截取模块, 发送模块,以及 贴图模块, 其中,所述截取模块用于截取视频源正在播放的视频图像,并将所述视频图像转换为3D引擎所需大小和格式的动态纹理数据,将所述动态纹理数据输出给所述发送模块;所述发送模块用于将所述动态纹理数据发送至所述贴图模块; 所述贴图模块用于利用所述动态纹理数据生成一贴图并将所述贴图贴到3D界面,得到动态纹理贴图。
14.根据权利要求13所述的装置,其特征在于,所述截取模块包括图像缩放单元和图像转换单元,其中 所述图像缩放单元用于截取视频源正在播放的视频图像,并将所述视频图像缩放至3D引擎所需大小,将缩放后的所述视频图像发送给所述图像转换单元; 所述图像转换单元用于获取经缩放后的所述视频图像,将经缩放后的所述视频图像转换为3D引擎所需格式的动态纹理数据,将所述动态纹理数据输出给所述发送模块。
15.根据权利要求14所述的装置,其特征在于,所述发送模块包括第一发送单元和第二发送单元,其中 所述第一发送单元用于将所述动态纹理数据从视频服务进程发送至摄像头服务进程; 所述第二发送单元用于将所述动态纹理数据从所述摄像头服务进程发送至所述贴图模块。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括释放模块,用于所述贴图模块生成贴图之后,使所述摄像头服务进程和所述视频服务进程释放发送所述动态纹理数据的相应的缓存。
17.根据权利要求13所述的装置,其特征在于,所述装置还包括连接模块,用于使所述视频服务进程、所述摄像头服务进程、所述3D界面建立连接。
18.根据权利要求13所述的装置,其特征在于,所述装置还包括显示模块,用于显示所述贴图模块得到的所述动态纹理贴图。
19.根据权利要求13所述的装置,其特征在于,所述装置还包括视频源选择模块,用于选择视频源。
20.一种智能电视,包括权利要求13-19任一项所述的视频数据转换装置。
全文摘要
本发明公开了一种视频数据转换的方法、装置和智能电视。其中,视频数据转换的方法包括截取视频源正在播放的视频图像,并将视频图像转换为3D引擎所需大小和格式的动态纹理数据;将动态纹理数据发送至3D引擎,使3D引擎利用动态纹理数据生成一帧贴图;将贴图贴到3D界面(UI),得到动态纹理贴图。通过上述方式,本发明能够将节目视频数据转换为稳定连续的动态纹理贴图,提供一种新的节目预览与播放模式。
文档编号H04N7/26GK102970542SQ20121050785
公开日2013年3月13日 申请日期2012年11月30日 优先权日2012年11月30日
发明者贺宏波 申请人:上海晨思电子科技有限公司, 晨星半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1