一种电视终端的视频显示方法及系统与流程

文档序号:11157725阅读:810来源:国知局
一种电视终端的视频显示方法及系统与制造工艺

本发明涉及电视终端领域,尤其涉及一种电视终端的视频显示方法及系统。



背景技术:

在手机上实现视频旋转,因手机的宽高固定,通过Android原生方案即可实现横竖屏切换,目前通过多屏互动协议可以将手机上的视频推送到电视上播放,在线视频推送到电视时,会横向显示推送视频,由硬件解码实现,不需进行旋转与拉伸处理。但是,手机拍摄视频可分为横向拍摄和竖向拍摄两种拍摄模式,拍摄后的视频长宽比与电视不对应,当通过多屏互动推送手机拍摄视频到智能电视时,会出现因无法按比例缩放出现旋转后被拉伸的情况。

另外,目前市场上手机旋转视频,一般采用软件解码,获取视频中目标物体的位置信息确定出缩放前像素值与旋转后像素值间的函数关系后进行复杂的缩放旋转运算。由于缩放算法的复杂,针对视频源的分辨率进行缩放时,需针对每一帧进行缩放严重消耗智能电视的CPU,经常出现花屏,黑屏与卡顿等问题。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种电视终端的视频显示方法及系统,从而解决当前将手机录制的视频推送到的智能电视显示时,视频显示比例与智能电视不匹配,导致视频被拉伸变形;而采用软件解码时,由于缩放算法复杂,严重消耗智能电视的CPU,易出现花屏、黑屏和卡顿的问题。

本发明解决技术问题所采用的技术方案如下:

一种电视终端的视频显示方法,包括:

B、当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;

C、电视终端根据所述旋转角度,旋转当前视频得到旋转后的视频;

D、电视终端调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频。

所述的电视终端的视频显示方法,其中,所述步骤B之前还包括:

A1、增加视频播放器的消息回调类监听器注册到电视终端的系统层,用于当视频播放器预加载完成时,回调通知视频播放器解码的相关信息;

A2、增加视频播放器的视频大小改变监听类注册到电视终端的系统层,用于当视频播放大小改变时,回调通知视频播放器调整显示区域大小。

所述的电视终端的视频显示方法,其中,所述步骤B具体包括:

B1、接收用户指令控制移动终端通过多屏互动协议发送视频的URL地址给电视终端的视频播放器;

B2、当接收到所述视频的URL地址时,系统层以当前视频URL地址为视频数据源,解码当前视频的视频信息;

B3、根据解码的当前视频的视频信息,获取当前视频需要旋转的角度。

所述的电视终端的视频显示方法,其中,所述步骤C具体包括:

C1、系统层根据所述旋转角度,采用软件解码旋转当前视频得到旋转后的视频;

C2、消息回调类监听器回调采用软件解码视频通知给视频播放器;

C3、当视频播放器收到消息回调类监听器回调的采用软件解码视频通知后,保存一软解标志位;

C4、视频大小改变监听类回调调整显示区域大小通知给视频播放器。

所述的电视终端的视频显示方法,其中,所述步骤D具体包括:

D1、当视频播放器接收到视频大小改变监听类回调的调整显示区域大小通知时,检测是否保存有软解标志位;

D2、当保存有软解标志位时,视频播放器调用视频旋转显示处理算法设置视频显示区域大小;

D3、在调整大小后的视频显示区域内显示旋转后的视频。

所述的电视终端的视频显示方法,其中,所述视频旋转显示处理算法为:

获取电视终端的宽高分辨率和移动终端发送的视频的宽高;

设电视终端的宽高分辨率分别为Wt和Ht,设移动终端发送的视频的宽高分别为Wp和Hp;设视频显示区域的大小应调整到的宽高分别为Wt1和Ht1,当视频按电视终端的宽高比例缩放时,Wt/Ht = Wp/Hp,当视频被旋转90°或270°时,则变为Wt/Ht =Hp/Wp,此时按公式推算得出视频在电视终端上的宽为Wp=Ht * Hp/ Wt;按同比例缩放原则,将Ht替换为Hp,则视频显示区域的宽应调整为Wt1=Wp=Hp*Hp/Wt;而视频显示区域的高应调整为Ht1=Ht

创建一个显示区域布局对象将视频显示区域的宽高设置到布局,最后设置视频显示区域大小并居中显示。

一种电视终端的视频显示系统,包括:

视频信息提取模块,用于当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;

视频旋转模块,用于根据所述旋转角度,旋转当前视频得到旋转后的视频;

显示区域调整模块,用于调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频。

所述的电视终端的视频显示系统,其中,所述视频显示系统还包括:

第一预先设置模块,用于增加视频播放器的消息回调类监听器注册到电视终端的系统层;

第二预先设置模块,用于增加视频播放器的消息回调类视频大小改变监听类注册到电视终端的系统层。

所述的电视终端的视频显示系统,其中,所述视频信息提取模块包括:

视频URL地址发送单元,用于接收用户指令控制移动终端通过多屏互动协议发送视频的URL地址给电视终端的视频播放器;

视频信息提取单元,用于当接收到所述视频的URL地址时,以当前视频URL地址为视频数据源,解码当前视频的视频信息;

旋转角度获取单元,用于根据解码的当前视频的视频信息,获取当前视频需要旋转的角度。

所述的电视终端的视频显示系统,其中,所述视频旋转模块包括:

视频旋转单元,用于根据所述旋转角度,采用软件解码旋转当前视频得到旋转后的视频;

第一回调通知单元,用于通过消息回调类监听器回调采用软件解码视频通知给视频播放器;

软解标志位保存单元,用于当视频播放器收到消息回调类监听器回调的采用软件解码视频通知后,保存一软解标志位;

第二回调通知单元,用于通过视频大小改变监听类回调调整显示区域大小通知给视频播放器;

所述显示区域调整模块包括:

检测单元,用于当视频播放器接收到视频大小改变监听类回调的调整显示区域大小通知时,检测是否保存有软解标志位;

显示区域调整单元,用于当保存有软解标志位时,通过视频播放器调用视频旋转显示处理算法设置视频显示区域大小;

视频显示单元,用于在调整大小后的视频显示区域内显示旋转后的视频。

综上所述,本发明提供了一种电视终端的视频显示方法及系统,所述电视终端的视频显示方法,包括:当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;电视终端根据所述旋转角度,旋转当前视频得到旋转后的视频;电视终端调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频。本发明所述电视终端的视频显示方法,能够解决当视频文件画面的长宽与智能电视长宽比不对应时,播放产生的画面被拉伸变形的问题,提升了播放器的播放质量;同时本发明将缩放放在显示层计算,无需通过复杂的视频帧运算,有效避免了智能电视出现花屏、黑屏及卡顿现象。

附图说明

图1是本发明电视终端的视频显示方法较佳实施例的流程图。

图2是本发明电视终端的视频显示方法具体应用实施例的流程图。

图3是本发明电视终端的视频显示系统较佳实施例的功能原理框图。

具体实施方式

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

请参见图1,图1是本发明电视终端的视频显示方法较佳实施例的流程图。图1所示的电视终端的视频显示方法,包括:

步骤S200、当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;

步骤S300、电视终端根据所述旋转角度,旋转当前视频得到旋转后的视频;

步骤S400、电视终端调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频。

本发明实施例的电视终端为智能电视,移动终端以手机为例进行说明,目前,智能电视的播放器对视频进行解码的方法包括硬解和软解;硬解就是硬件解码,指利用GPU来代替CPU进行解码,而软解就是软件解码,指利用软件让CPU来进行解码;两者的主要区别在于:硬件解码是将原来全部交由CPU来处理的视频数据交由GPU来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载。尤其针对大文件或4K视频时软解很容易出现内存不足(out of memory)。正如以上背景技术中所述,硬解不能对视频进行旋转,而软解又容易导致视频被拉伸变形;且由于软解缩放算法复杂,严重消耗智能电视的CPU,易出现花屏、黑屏和卡顿等现象。因此本发明创造性的首先采用对视频进行旋转,再对智能电视的显示区域大小进行适应性调整,从而很好的解决了以上技术问题。

本发明在具体实施时,可以先对智能电视的视频播放器进行初始化,当用户使用多屏互动应用向视频播放器推送视频时,首先初始化视频播放器的显示区域,初始化多屏互动的服务,将视频播放控制回调类(VideoPlayControlCallback)实例绑定到多屏互动服务,用于多屏互动的推送接口。同时,本发明实施例新增视频播放器的消息回调类监听器(OnInfoListener)注册到智能电视的系统层(芯片),当视频播放器预加载完成时,智能电视的系统层会回调通知视频播放器解码相关信息;本发明实施例还新增视频播放器的视频大小改变监听类(OnVideoSizeChangedListener)注册到智能电视的系统层,当视频播放大小改变时,系统会回调通知视频播放器调整显示区域大小,而智能电视的系统层实现部分由mstar、MTK、Amlogic等厂商的芯片实现。

因此,本发明实施例中,所述步骤S200之前还包括:

S110、增加视频播放器的消息回调类监听器注册到电视终端的系统层,用于当视频播放器预加载完成时,回调通知视频播放器解码的相关信息。

S120、增加视频播放器的视频大小改变监听类注册到电视终端的系统层,用于当视频播放大小改变时,回调通知视频播放器调整显示区域大小。

在步骤S200中,当智能电视的视频播放器接收到手机发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;本发明实施例中是以URL地址作为视频数据源(DataSource),URL地址内包含有大量视频相关数据,例如,视频的长度、拍摄角度、拍摄及上传时间等,这些相关数据也即是视频信息;如果拍摄角度为0°,也就是横向拍摄,则在智能电视上播放时就不需要进行视频旋转,而当拍摄角度为90°,也就是竖向拍摄,则在智能电视上播放时必然要进行旋转。需要说明的是,硬解无法进行旋转,而软解可以,当提取出拍摄角度为90°或270°时,则当前视频播放需要旋转,也就是当前视频需要进行软解。

进一步的,所述步骤S200具体包括:

S210、接收用户指令控制移动终端通过多屏互动协议发送视频的URL地址给电视终端的视频播放器;所述的多屏互动协议为常用的多屏互动协议,例如,DLNA。

S220、当接收到所述视频的URL地址时,系统层以当前视频URL地址为视频数据源,解码当前视频的视频信息;在本发明实施例中实施时,电视终端的视频播放器接收并获取推送的URL地址,将URL地址作为视频数据源设置到系统层(芯片),调用播放方法,系统层开始解析视频信息,取得解码后的视频信息数据。

S230、根据解码的当前视频的视频信息,获取当前视频需要旋转的角度;在本发明实施例中实施时,根据解析后的视频信息数据,提取当前视频拍摄时的角度,根据拍摄角度获取当前视频需要旋转的角度。

在步骤S300中,电视终端根据所述旋转角度,旋转当前视频得到旋转后的视频;在本发明实施例中实施时,智能电视根据所述旋转角度进行旋转,旋转的角度与拍摄角度相对应,例如拍摄时是竖直拍摄,拍摄角度为90°,则视频播放时则要相应的旋转90°。

进一步的,所述步骤S300具体包括:

S310、系统层根据所述旋转角度,采用软件解码旋转当前视频得到旋转后的视频;在本发明实施例中实施时,由于拍摄的视频因为要旋转拉伸,硬解无法进行旋转,只能使用软解,因此系统层采用软件解码视频,完成视频旋转。

S320、消息回调类监听器回调采用软件解码视频通知给视频播放器;在本发明实施例中实施时,系统层对视频旋转完成的同时,回调采用软件解码视频通知给视频播放器。

S330、当视频播放器收到消息回调类监听器回调的采用软件解码视频通知后,保存一软解标志位;在本发明实施例中实施时,系统层在旋转完成的同时,会回调通知到视频播放器,此时系统层通知视频播放器此视频采用软解,并调用注册的消息回调类监听器,将软件标志位(VIDEO_DISPLAY_BY_SOFTWARE)返回到视频播放器,视频播放器收到后会保存一个软解标志位,用于标识采用软解方法解码视频。

S340、视频大小改变监听类回调调整显示区域大小通知给视频播放器;在本发明实施例中实施时,系统层在旋转完成的同时,也会回调调整显示区域大小通知给视频播放器,具体可以通过调用注册的视频大小改变监听类,回调调整显示区域大小通知给视频播放器。

在步骤S400中,电视终端调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频;其中,所述视频旋转显示处理算法(setVideoDisplayRotate)为:

获取电视终端的宽高分辨率和移动终端发送的视频的宽高;设电视终端的宽高分辨率分别为Wt和Ht,设移动终端发送的视频的宽高分别为Wp和Hp;设视频显示区域的大小应调整到的宽高分别为Wt1和Ht1,当视频按电视终端的宽高比例缩放时,Wt/Ht = Wp/Hp,当视频被旋转90°或270°时,则变为Wt/Ht =Hp/Wp,此时按公式推算得出视频在电视终端上的宽为Wp=Ht* Hp/ Wt(将手机转换为电视宽高比);按同比例缩放原则,将Ht替换为Hp,则视频显示区域的宽应调整为Wt1=Wp=Hp*Hp/Wt,而视频显示区域的高应调整为Ht1=Ht(旋转后视频视图的高应为电视的高,视频视图的宽则为计算出来的Wp);创建一个显示区域布局对象(LayoutParams )将视频显示区域的宽高设置到布局,最后设置视频显示区域大小并居中显示。

其中,所述等比例缩放原则也就是视频的宽与高的比等于智能电视分辨率宽与高的比;通过调用系统函数获取电视宽高分辨率。

简单的说,视频旋转显示处理算法(setVideoDisplayRotate),也就是先获取电视终端的宽高分辨率和移动终端发送的视频的宽高,然后根据电视终端的宽高和视频旋转后的宽高,通过等比例缩放原则,计算得到旋转后的视频在电视终端上显示所需区域的大小,最后根据计算得到的显示所需区域的大小相应设置电视终端视频显示区域的大小。

进一步的,所述步骤S400具体包括:

S410、当视频播放器接收到视频大小改变监听类回调的调整显示区域大小通知时,检测是否保存有软解标志位;在本发明实施例中实施时,是否保存有软解标志位决定了是否调用重新设置视频显示区域大小。

S420、当保存有软解标志位时,视频播放器调用视频旋转显示处理算法设置视频显示区域大小;在本发明实施例中实施时,调用算法重新适应性设置视频显示区域大小。

S430、在调整大小后的视频显示区域内显示旋转后的视频;在本发明实施例中实施时,在重新设置的视频显示区域内播放旋转后的视频。

本发明当视频显示区域的视频大小改变(VideoSizeChanged)时,调用视频旋转显示处理算法设置视频显示区域大小,通过改变视频显示区域大小,达到了视频正常显示的目的。

本发明还提供了一种电视终端的视频显示方法的具体应用实施例, 如图2所示,本具体实施例的电视终端的视频显示方法包括:

步骤S11、初始化布局区域;也即是预设视频显示区域;

步骤S12、绑定多屏互动服务;

步骤S13、初始化视频播放器;

步骤S14、注册OnInfoListener;

步骤S15、注册OnVideoSizeChangedListener;

步骤S16、解析多屏互动推送URL;

步骤S17、调用播放方法;

步骤S18、解码视频信息,即获取旋转角度;

步骤S19、判断是否软解,也即是判断旋转角度是否为零,当否,则进入步骤S20;当是则进入步骤S21;

步骤S20、硬解并拉全屏显示到播发器;

步骤S21、获取旋转角度;

步骤S22、旋转并通知播放器;

步骤S23、播放器保存软解标志位;

步骤S24、判断是否有软解标志位,当否,则进入步骤S25;当是,则进入步骤S26;

步骤S25、结束;

步骤S26、获取电视屏幕大小;

步骤S27、计算视频显示区域宽高;

步骤S28、设置到视频显示。

因此,本发明提供的电视终端的视频显示方法,当手机竖向录制视频推送到的智能电视显示而显示比例与智能电视不匹配时,通过在特定消息返回时,按算法更改视频显示视图区域大小,解决手机录制的视频推送到电视被拉伸全屏且图像里的景物和人都压得很扁问题,通过在特定回调消息中按算法改变视频显示区域大小,达到正常显示手机推送视频目的。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储与一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁盘、光盘、只读存储记忆体(Read-Only,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

基于上述方法实施例,本发明实施例还提供了一种电视终端的视频显示系统,如图3所示,所述电视终端的视频显示系统,包括:视频信息提取模块700、视频旋转模块800和显示区域调整模块900,其中,

视频信息提取模块700,用于当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;具体如上所述。

视频旋转模块800,用于根据所述旋转角度,旋转当前视频得到旋转后的视频;具体如上所述。

显示区域调整模块900,用于调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频;具体如上所述。

所述视频显示系统还包括:

第一预先设置模块,用于增加视频播放器的消息回调类监听器注册到电视终端的系统层;具体如上所述。

第二预先设置模块,用于增加视频播放器的视频大小改变监听类注册到电视终端的系统层;具体如上所述。

进一步的,所述视频信息提取模块700包括:

视频URL地址发送单元,用于接收用户指令控制移动终端通过多屏互动协议发送视频的URL地址给电视终端的视频播放器;具体如上所述。

视频信息提取单元,用于当接收到所述视频的URL地址时,以当前视频URL地址为视频数据源,解码当前视频的视频信息;具体如上所述。

旋转角度获取单元,用于根据解码的当前视频的视频信息,获取当前视频需要旋转的角度;具体如上所述。

进一步的,所述视频旋转模块800包括:

视频旋转单元,用于根据所述旋转角度,采用软件解码旋转当前视频得到旋转后的视频;具体如上所述。

第一回调通知单元,用于通过消息回调类监听器回调采用软件解码视频通知给视频播放器;具体如上所述。

软解标志位保存单元,用于当视频播放器收到消息回调类监听器回调的采用软件解码视频通知后,保存一软解标志位;具体如上所述。

第二回调通知单元,用于通过视频大小改变监听类回调调整显示区域大小通知给视频播放器;具体如上所述。

进一步的,所述显示区域调整模块900包括:

检测单元,用于当视频播放器接收到视频大小改变监听类回调的调整显示区域大小通知时,检测是否保存有软解标志位;具体如上所述。

显示区域调整单元,用于当保存有软解标志位时,通过视频播放器调用视频旋转显示处理算法设置视频显示区域大小;具体如上所述。

视频显示单元,用于在调整大小后的视频显示区域内显示旋转后的视频;具体如上所述。

综上所述,本发明提供了一种电视终端的视频显示方法及系统,所述电视终端的视频显示方法,包括:当电视终端的视频播放器接收到移动终端发送的视频URL地址时,解码当前视频的视频信息,获取当前视频需要旋转的角度;电视终端根据所述旋转角度,旋转当前视频得到旋转后的视频;电视终端调用视频旋转显示处理算法设置视频显示区域大小,并控制视频播放器在调整大小后的视频显示区域内显示旋转后的视频。本发明所述电视终端的视频显示方法,能够解决当视频文件画面的长宽与智能电视长宽比不对应时,播放产生的画面被拉伸变形的问题,提升了播放器的播放质量;同时本发明将缩放放在显示层计算,无需通过复杂的视频帧运算,有效避免了智能电视出现花屏、黑屏及卡顿现象。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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