具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
液晶电视的插帧倍频技术的原理都是采用动态映像系统,在传统的两帧图像之间加插一帧运动补偿帧,将普通平板电视的60Hz刷新率提升到120Hz,这样运动画面会更加清晰流畅。例如,原本的一副视频画面的帧序列是1-2-3-4-5,通过MEMC技术的分区块处理,在水平和垂直两个方向上对图像的运动趋势加以分析后在原来的各帧之间插入一个中间帧,插帧后的帧序列变为:1-1C-2-2C-3-3C-4-4C-5-5C。当然,通过MEMC算法,也可以在各帧之间插入多个中间帧,这取决于运动估算与运动补偿的效果级别(level)参数的设置,一般现有的处理芯片都是将level默认为2,且无法改变。
然而,考察现有的FRC控制方式,尽管都是基于MEMC算法进行控制,但之所以在某些场景会发生算法失效,主要是由于无法做到针对不同场景对算法进行调整。在MEMC算法中,对插帧效果起到重要作用的是运动估算与运动补偿的效果级别(level)参数,但现有的FRC控制是默认以level=2进行转换,且固定不变,这就造成在视频场景下,补偿效果明显,但在非视频场景,例如UI(用户界面)场景下,由于UI场景画面不太固定,规律性较差,如果仍然使用level2进行插帧,则造成显示效果混乱的可能性就会大增。
基于此,本发明的核心思路即在于根据不同的显示场景,自适应的调整level参数,使得FRC始终以适当的插帧效果进行运算。
为实现这一目的,本发明实施例提供一种帧率转换控制方法,如图1所示,首先,接收并判断当前数据帧的场景类型(步骤101);然后,根据预设规则,确定与所述数据帧的场景类型相对应的运动估算与运动补偿的效果级别(步骤102);最后,根据所述运动估算与运动补偿的效果级别进行帧率转换(步骤103)。
其中,对于场景类型的判断,可以通过数据帧中各层数据的属性信息来判断。具体来说,如图2所示,首先,接收当前数据帧,读取该数据帧中各层数据的属性(步骤201);然后,根据当前数据帧中各层数据的属性信息,确定该数据帧的场景类型(步骤202)。
举例来说,我们所看到的一帧图像,可能是由有多层(layer)数据叠加而成,每层数据都由一个属性值来标识该层数据的类型,所述数据的属性包括代表视频的属性,例如视频(video)层,或代表非视频的属性,例如UI层,等等。在判断出视频和非视频场景后,即可分别对应不同的运动估算与运动补偿效果级别,由于非视频场景(例如UI)的规律性差,因此不能采用与视频场景相同的运动估算与运动补偿效果级别进行插帧。
当然,对于场景类型的判断还可以采用其他方式,例如基于内容相关性的判断,或基于多颜色空间和统计直方图等方式,本发明对此不做限制。
在本发明的实施例中,在读取获得各层数据的类型属性后,即可根据预设规则来确定整帧数据的场景类型。
举例来说,可参考图3,首先,根据当前数据帧中各层数据的属性信息,确定当前数据帧中具有视频属性的数据层数(步骤301);如果具有视频属性的数据层数大于等于1,则确定该数据帧的场景类型为视频,否则,确定该数据帧的场景类型为非视频(步骤302)。
换句话说,在组成当前数据帧的各层数据中,只要有一层是video数据,那么就可以判定该数据帧的场景类型为视频,否则就是非视频。
当然,也可以采用其他预设规则,例如,可以限制具有视频属性的数据层数只有超过1时才认为整帧数据的场景类型是视频,具体规则的适用,本发明不做任何限制。
尽管图3所示的本发明实施例给出了一种较为简便的场景分类方法,其仅采用非此即彼的二分法来判断具体场景,并进而简便的确定运动估算与运动补偿的效果级别。但实际上,应用本发明的实施例,还可以做更加细致的场景分类,例如,当前数据帧中包含video层,但video层的数量小于UI层的数量,这时可以将该帧数据判定为弱视频场景,而当video层的数量大于UI层的数量时,则可以将该帧数据判定为强视频场景,等等,甚至还可以根据video层的具体数量而设定场景分类,根据更加细致的场景分类划分,可适当的对应细致的运动估算与运动补偿效果级别。
设定场景分类的目的在于更加智能的匹配运动估算与运动补偿的效果级别,因为在不同的场景下,所需要的插帧效果是不一样的,这对MEMC算法的执行起到至关重要的作用。
下面请参考图4,为本发明实施例所述的确定运动估算与运动补偿的效果级别的流程示意图。首先,如果所述数据帧的场景类型为视频,则设置所述相对应的运动估算与运动补偿的效果级别为2(步骤401);如果所述数据帧的场景类型为非视频,则设置所述相对应的运动估算与运动补偿的效果级别为0(步骤402)。
图4所示实施例也是一种较为简便的实施方式,仅针对视频和非视频场景进行切换,对应的运动估算与运动补偿的效果级别为2和0。当然,并非限制只能是2和0,一般来说,对于场景类型为视频的数据帧,设置的所述运动估算与运动补偿的效果级别大于场景类型为非视频的数据帧,即可满足基本要求。在实际的插帧效果上,则表现为对视频场景进行插帧的频率要高于对UI场景进行插帧的频率,使得视频场景的表现效果保持流畅,而UI场景的表现效果更为稳定。
当然,如果对场景进行了更细致的划分,则也可以对运动估算与运动补偿的效果级别进行更细致的对应,例如,可以针对强视频场景所对应的运动估算与运动补偿的效果级别对应为3,对于弱视频场景所对应的运动估算与运动补偿的效果级别对应为1。这样,就可以将插帧处理动作进行更细致的划分,以对应不同场景下的合适的效果呈现。
如图5所示,为根据本发明实施例所述的帧率转换控制装置示意图,包括场景判断模块501,级别确定模块502,控制执行模块503,其中:
场景判断模块501,用于接收并判断当前数据帧的场景类型;
级别确定模块502,用于根据预设规则,确定与所述数据帧的场景类型相对应的运动估算与运动补偿的效果级别;
控制执行模块503,根据所述运动估算与运动补偿的效果级别进行帧率转换。
同样的,对于所述场景判断模块501来说,可用于接收当前数据帧,读取该数据帧中各层数据的属性,并根据当前数据帧中各层数据的属性信息,确定该数据帧的场景类型。
其中,对于场景类型的判断,可以通过数据帧中各层数据的属性信息来判断。例如,所述数据的属性信息可以是包括代表视频的属性和代表非视频的属性。
当然,场景判断模块501对场景类型的判断还可以采用其他方式,例如基于内容相关性的判断,或基于多颜色空间和统计直方图等方式,本发明对此不做限制。
在本发明的实施例中,在读取获得各层数据的类型属性后,即可根据预设规则来确定整帧数据的场景类型。
具体来说,所述场景判断模块501可以用于根据当前数据帧中各层数据的属性信息,确定当前数据帧中具有视频属性的数据层数;如果具有视频属性的数据层数大于等于1,则确定该数据帧的场景类型为视频,否则,确定该数据帧的场景类型为非视频。
同样,应用本发明的实施例,场景判断模块501可以做更加细致的场景分类,例如,当前数据帧中包含video层,但video层的数量小于UI层的数量,这时可以将该帧数据判定为弱视频场景,而当video层的数量大于UI层的数量时,则可以将该帧数据判定为强视频场景,等等,甚至还可以根据video层的具体数量而设定场景分类。
而所述级别确定模块502,在确定所述数据帧的场景类型为视频后,则设置所述相对应的运动估算与运动补偿的效果级别为2;而如果确定所述数据帧的场景类型为非视频,则设置所述相对应的运动估算与运动补偿的效果级别为0。
当然,如果对场景进行了更细致的划分,则所述级别确定模块502也可以对运动估算与运动补偿的效果级别进行更细致的对应,例如,可以针对强视频场景所对应的运动估算与运动补偿的效果级别对应为3,对于弱视频场景所对应的运动估算与运动补偿的效果级别对应为1。这样,就可以将插帧处理动作进行更细致的划分,以对应不同场景下的合适的效果呈现。
在具体实施上,可参考图6,可用于执行场景判断的模块或芯片目前有很多,例如Qcom芯片601,可读出当前数据帧的各层数据属性,例如,假设当前数据帧包含两层数据,通过对属性信息的读取可知,其中,第一层是UI层,第二层是video层,则级别确定模块602根据收到的属性信息,在预设的规则表中进行查询,假设预设规则为只要有一层数据是video层,则将当前数据帧的运动估计与运动补偿的效果级别确定为2,则模块602选通级别2,这样,FRC芯片则以级别2作为运动估计与运动补偿的效果参数进行帧率转换。
而如果当前数据帧包含的两层数据都是UI层,则说明当前数据帧场景为UI,则级别确定模块602根据收到的属性信息,在预设的规则表中进行查询,假设预设规则为如果各层数据都是UI层,则将当前数据帧的运动估计与运动补偿的效果级别确定为0,则模块602选通级别0,这样,FRC芯片则以级别0作为运动估计与运动补偿的效果参数进行帧率转换。同样,本发明并限制具体的级别,一般来说,对于场景类型为视频的数据帧,设置的所述运动估算与运动补偿的效果级别大于场景类型为非视频的数据帧,即可满足基本要求。
当然,预设规则表中还可以记载更为细致的处理规则,例如,可以规定,当video层的数量大于UI层的数量时(强视频场景),则将当前数据帧的运动估计与运动补偿的效果级别确定为3;当video层的数量小于UI层的数量时(弱视频场景),则将当前数据帧的运动估计与运动补偿的效果级别确定为1,同样通过模块602进行选通,这样,FRC芯片则以对应的级别作为运动估计与运动补偿的效果参数进行帧率转换。
通过上述方法以及装置实施例的描述,可以清楚的看出,由于对场景类型进行了判断和划分,由此可以确定出合适的运动估算与运动补偿效果级别,并根据该效果级别可动态的控制FRC以不同的状态进行帧率转换,自适应的调整了MEMC算法参数,避免了MEMC算法失效,使得画面呈现更加优异。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请的实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。