一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频图像的运动估计方法及显示设备与流程

2022-07-13 13:28:40 来源:中国专利 TAG:


1.本技术涉及视频显示领域,主要是提供一种视频图像的运动估计方法及显示设备。


背景技术:

2.运动估计运动补偿(motion estimation and motion compensation, memc)是目前广泛应用于帧率转换中的一种技术,通过估算连续运动图像中物体的运动轨迹,再结合图像数据和得到的运动矢量,插值出中间图像,从而提高视频帧率,改善视频播放时的抖动拖尾等问题。
3.随着科技的发展和人们生活水平的提高,大家对生活品质的要求也越来越高,对于显示设备而言,人们不再停留于“能看”,而是追求“看的好”,因此图像视频往往是2k,4k甚至8k,这无疑增加了图像处理的运算量和硬件成本,运动估计运动补偿系统也不例外。相关技术中,运动估计模块为了加快搜索速度以及节省硬件资源,会对接收到的原始图像进行降采样处理和灰度化处理,从而加快搜索速度,节省硬件资源,节约成本。
4.然而,经过降采样与灰度化处理后的图像与原始图像相比,存在着一定程度的图像细节丢失,彩色信息丢失。基于块匹配的运动估计算法是目前较为常规的算法,我们为每个图像块建立至少两个候选矢量,为每个候选矢量计算误差匹配准则,而误差匹配准则依赖于图像像素值或图像纹理信息,因此对于质量受损的输入图像,运动估计搜索得到的运动矢量也受到了一定的影响,即运动矢量不够准确。


技术实现要素:

5.基于背景技术中存在的问题,本技术提供了一种视频图像的运动估计方法及显示设备,能够在保证搜索速度,节约资源的同时提高运动矢量的精度,从而提高运动估计算法的准确性。
6.第一方面,本技术提供一种显示设备,包括运动估计运动补偿系统,该系统包括:获取模块:被配置为获取目标视频帧中的当前帧和参考帧,所述目标视频帧为连续多帧原始图像构成一个图像组,所述参考帧为与所述当前帧相邻的原始图像;运动估计预处理模块:被配置为对所述当前帧进行预处理得到待处理图像,所述预处理至少包括降采样处理和灰度化处理;运动估计模块:被配置为对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量;运动补偿模块:包括局部搜索模块和插帧模块,其中,所述局部搜索模块:被配置为根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计,得到所述像素点的最优运动矢量,所述像素点为所述当前帧中任意一个像素点;所述插帧模块:被配置为基于所述最优运动矢量、所述当前帧和所述参考帧进行
运动补偿;输出模块:被配置为输出经所述运动补偿模块处理的视频图像。
7.本技术一些实施例中,本技术的局部搜索模块根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,具体包括:获取所述像素点对应的横向矢量步长值和纵向矢量步长值;根据所述像素点的初次运动矢量、所述横向矢量步长值和所述纵向矢量步长值,确定所述像素点对应的运动矢量组;将所述运动矢量组内各个运动矢量指向在所述参考帧中的各像素点所围成的区域作为局部搜索区域。
8.本技术一些实施例中,本技术确定所述像素点对应的运动矢量组,具体包括:将横向上距离所述初次运动矢量在所述横向矢量步长值范围内的作为所述运动矢量组内运动矢量的横坐标范围;将纵向上距离所述初次运动矢量在所述纵向矢量步长值范围内的作为所述运动矢量组内运动矢量的纵坐标范围;将所述横坐标范围和所述纵坐标范围围成区域内所包含的各运动矢量的集合作为所述运动矢量组。
9.本技术一些实施例中,本技术的局部搜索模块根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,具体包括:获取所述像素点对应的像素点搜索步长值;将所述初次运动矢量指向在所述参考帧中的像素点作为目标像素点;将横向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的横坐标范围;将纵向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的纵坐标范围;将所述横坐标范围和所述纵坐标范围围成的区域作为所述局部搜索区域。
10.本技术一些实施例中,本技术中的运动补偿模块在得到所述像素点的最优运动矢量之后,将所述最优运动矢量的结果返回到所述运动估计模块中,作为所述运动估计模块下次进行运动估计的候选矢量。
11.本技术提供的显示设备,在获取模块获取到目标视频帧中的当前帧和参考帧之后,运动估计预处理模块对所述当前帧进行预处理得到待处理图像,运动估计模块再对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量,然后运动补偿模块中的局部搜索模块根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计得到所述像素点的最优运动矢量,最后运动补偿模块中的插帧模块再基于所述最优运动矢量进行运动补偿,输出模块将经过所述运动补偿模块处理的视频图像输出到显示器进行显示。本技术提供的显示设备,能够在保证搜索速度,节约资源的同时提高运动矢量的精度,提高运动估计算法的准确性。
12.第二方面,本技术提供一种视频图像的运动估计方法,所述方法包括:获取目标视频帧中的当前帧和参考帧,所述目标视频帧为连续多帧原始图像构成
一个图像组,所述参考帧为与所述当前帧相邻的原始图像;对所述当前帧进行预处理得到待处理图像,所述预处理至少包括降采样处理和灰度化处理;对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量;根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计,得到所述像素点的最优运动矢量,所述像素点为所述当前帧中任意一个像素点;基于所述当前帧、所述参考帧和所述最优运动矢量进行运动补偿。
13.本技术一些实施例中,本技术根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,具体包括:获取所述像素点对应的横向矢量步长值和纵向矢量步长值;根据所述像素点的初次运动矢量、所述横向矢量步长值和所述纵向矢量步长值,确定所述像素点对应的运动矢量组;将所述运动矢量组内各个运动矢量指向在所述参考帧中的各像素点所围成的区域作为局部搜索区域;其中,确定所述像素点对应的运动矢量组,具体包括:将横向上距离所述初次运动矢量在所述横向矢量步长值范围内的作为所述运动矢量组内运动矢量的横坐标范围;将纵向上距离所述初次运动矢量在所述纵向矢量步长值范围内的作为所述运动矢量组内运动矢量的纵坐标范围;将所述横坐标范围和所述纵坐标范围围成区域内所包含的各运动矢量的集合作为所述运动矢量组。
14.本技术一些实施例中,本技术根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,具体包括:获取所述像素点对应的像素点搜索步长值;将所述初次运动矢量指向在所述参考帧中的像素点作为目标像素点;将横向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的横坐标范围;将纵向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的纵坐标范围;将所述横坐标范围和所述纵坐标范围围成的区域作为所述局部搜索区域。
15.第三方面,本技术提供一种芯片,用于执行时实现如上述第二方面中任一项所述的视频图像的运动估计方法。
16.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面中任一项所述的视频图像的运动估计方法。
17.第五方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第二方面中任一项所述的视频图像的运动估计方法。
18.本技术提供的第二方面至第五面中任一种实现方式所带来的技术效果可参见前文第一方面中不同实现方式所带来的技术效果,此处不再赘述。
19.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术,描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本技术提供的一种显示设备与控制装置之间操作场景的示意图;图2为本技术提供的一种控制设备100的硬件配置框图;图3为本技术提供的一种显示设备200的硬件配置框图;图4为本技术提供的一种相关技术中的运动估计运动补偿系统架构图;图5为本技术提供的一种运动估计运动补偿系统架构图;图6-1为本技术提供的一种确定局部搜索区域的流程示意图;图6-2为本技术提供的一种确定运动矢量组的流程示意图;图7为本技术提供的基于像素点运动矢量确定在参考帧中所指像素点的示意图;图8为本技术提供的基于图6所述方法确定局部搜索区域的示例图;图9为本技术提供的另一种确定局部搜索区域的流程示意图;图10-1为本技术提供的基于图9所述方法确定局部搜索区域的示例图之一;图10-2为本技术提供的基于图9所述方法确定局部搜索区域的示例图之二;图10-3为本技术提供的基于图9所述方法确定局部搜索区域的示例图之三;图10-4为本技术提供的基于图9所述方法确定局部搜索区域的示例图之四;图11为本技术提供的一种视频图像的运动估计方法的流程示意图。
具体实施方式
22.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
23.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
24.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
25.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地
列出的或对于这些产品或设备固有的其它组件。
26.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
27.运动估计运动补偿(motion estimation and motion compensation, memc)是目前广泛应用于帧率转换中的一种技术,通过估算连续运动图像中物体的运动轨迹,再结合图像数据和得到的运动矢量,插值出中间图像,从而提高视频帧率,改善视频播放时的抖动拖尾等问题。随着科技的发展和人们生活水平的提高,大家对生活品质的要求也越来越高,对于显示设备而言,人们不再停留于“能看”,而是追求“看的好”,因此图像视频往往是2k,4k甚至8k,这无疑增加了图像处理的运算量和硬件成本,运动估计运动补偿系统也不例外。
28.相关技术中,运动估计模块为了加快搜索速度以及节省硬件资源,会对接收到的原始图像进行降采样处理和灰度化处理,从而加快搜索速度,节省硬件资源,节约成本。然而,经过降采样与灰度化处理后的图像与原始图像相比,图像细节丢失,彩色信息丢失。基于块匹配的运动估计算法是目前较为常规的算法,我们为每个图像块建立至少两个候选矢量,为每个候选矢量计算误差匹配准则,常用的误差匹配准则有mad(绝对均方误差),sad(绝对差值和)等,而误差匹配准则依赖于图像像素值或图像纹理信息,因此对于质量受损的输入图像,运动估计搜索得到的运动矢量也受到了一定的影响,即运动矢量不够准确。
29.有鉴于此,本技术提供了一种视频图像的运动估计方法、显示设备、芯片及存储介质,用以解决相关技术中运动估计算法不够准确的问题。
30.本技术的发明构思可概括为:获取模块获取到目标视频帧中的当前帧和参考帧之后,运动估计预处理模块对所述当前帧进行预处理得到待处理图像,运动估计模块再对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量,然后运动补偿模块中的局部搜索模块根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计得到所述像素点的最优运动矢量,最后运动补偿模块中的插帧模块再基于所述最优运动矢量进行运动补偿,输出模块将经过所述运动补偿模块处理的视频图像输出到显示器进行显示。
31.本技术中运动估计模块是基于待处理图像进行的运动估计,由于待处理图像是在原始图像上进行降采样和灰度化得到的,因此图像质量上会存在一定的细节丢失或色彩丢失,但若直接基于参考帧进行运动估计会占用较多的资源,因此本技术先通过运动估计模块基于待处理图像得到当前帧中各像素点的初次运动矢量,再通过运动补偿模块根据像素点的初次运动矢量在参考帧中确定再次运动估计的局部搜索范围,并在确定的局部搜索范围内再次对该像素点进行运动估计,得到该像素点的最优运动矢量,最后基于该最优运动矢量进行运动补偿。这样既能够保证搜索速度和节约资源,又可以提高运动矢量的精度,提高运动估计算法的准确性,使得输出的视频图像具有更加流畅连贯的视觉效果。
32.在介绍完本技术实施例的主要发明思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
33.首先,图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备
200。
34.在一种可能的实施方式中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
35.在一种可能的实施方式中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,ar/vr设备等中的任意一种。
36.在一种可能的实施方式中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
37.在一种可能的实施方式中,也可以使用智能设备300和显示设备200进行数据的通信。
38.在一种可能的实施方式中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
39.在一种可能的实施方式中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
40.在一种可能的实施方式中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
41.图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。 控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用户与显示设备200之间交互中介作用。
42.在一种可能的实施方式中,通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。
43.在一种可能的实施方式中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
44.下面以显示设备200为例对实施例进行具体说明。应该理解的是,图3所示显示设备200仅是一个范例,并且显示设备200可以具有比图3中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
45.图3示出了根据示例性实施例中显示设备200的硬件配置框图。
46.在一种可能的实施方式中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
47.在一种可能的实施方式中,控制器包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
48.在一种可能的实施方式中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui 界面等。
49.在一种可能的实施方式中,显示器260可为液晶显示器、oled显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
50.在一种可能的实施方式中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。
51.在一种可能的实施方式中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
52.在一种可能的实施方式中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器(图中未示出),用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
53.在一种可能的实施方式中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
54.在一种可能的实施方式中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
55.在一种可能的实施方式中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如: 响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
56.在一种可能的实施方式中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
57.在一种可能的实施方式中,控制器包括中央处理器(central processing unit,cpu),视频处理器,音频处理器,图形处理器(graphics processing unit, gpu),ram random access memory,ram),rom(read-only memory ,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
58.cpu处理器是显示设备200的控制中心,用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
59.在一种可能的实施方式中,图形处理器,用于产生各种图形对象,如:图标、操作菜
单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
60.在一种可能的实施方式中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可在显示设备200上显示或播放的信号。
61.在一种可能的实施方式中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。 显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。
62.在一种可能的实施方式中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
63.在一种可能的实施方式中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
64.在一种可能的实施方式中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。
65.在一种可能的实施方式中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
66.在一种可能的实施方式中,显示设备的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
67.本技术实施例中的显示设备200并不限定于智能电视,也可以为手机、平板电脑等电子设备。
68.图4为相关技术中运动估计运动补偿的架构示意图,如图4所示,相关技术中获取到输入视频图像之后,按照顺序输入运动估计预处理模块、运动估计模块和运动补偿模块进行处理,得到输出视频图像。
69.图5为本技术提供的一种运动估计运动补偿的架构示意图,如图5所示,相较于相
关技术,本技术在运动补偿模块中增加了局部搜索模块,在运动补偿模块进行插帧之前,运动补偿模块中的局部搜索模块首先根据像素点的初次运动矢量确定所述像素点在参考帧中再次进行运动估计的局部搜索区域,再基于所述局部搜索区域对所述像素点进行运动估计获得所述像素点的最优运动矢量,得到最优运动矢量之后,运动补偿模块中的插帧模块再基于所述最优运动矢量、所述当前帧和所述参考帧进行运动补偿,最后输出模块将经运动补偿模块处理后的视频图像输出显示。
70.下面对图5所示的运动估计运动补偿系统中的各个模块进行详细的介绍。
71.获取模块510:获取目标视频帧中的当前帧和参考帧,目标视频帧为连续多帧原始图像构成一个图像组,其中参考帧为与当前帧相邻的原始图像。
72.在一种可能的实施方式中,例如将一个图像组的3帧原始图像分别记为i_(n-1)、i_n、i_(n 1),若当前帧为图像i_n,则参考帧为图像i_(n-1)或为图像i_(n 1)。
73.运动估计预处理模块520:对所述当前帧进行预处理得到待处理图像,所述预处理至少包括降采样处理和灰度化处理。
74.需要说明的是,若当前帧大小用w0*h0*ch0表示,待处理图像大小用w1*h1*ch1表示,需满足:图像宽度w1《图像宽度w0,图像高度h1《图像高度h0,图像色彩通道数量ch1《图像色彩通道数量ch0。例如当前帧大小为1920*1080*3,待处理图像大小为960*540*1。降采样处理和灰度化处理的具体实施方式可为现有技术中的任意一种,本技术不做具体限制。
75.运动估计模块530:对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量。
76.运动补偿模块540:具体包括局部搜索模块541和插帧模块542。
77.其中,局部搜索模块541用来根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计得到所述像素点的最优运动矢量。其中,所述像素点为所述当前帧中任意一个像素点,所述参考帧由获取模块510输出获得。此外,局部搜索模块541得到最优运动矢量之后,还将该最优运动矢量的结果返回到运动估计模块530中,作为运动估计模块530下次进行运动估计的候选矢量。
78.其中,插帧模块542用来基于所述最优运动矢量、所述当前帧和所述参考帧进行运动补偿。
79.从图5可看出,本技术将局部搜索模块541设置在运动补偿模块540中,而没有设置在运动估计模块530中,因此不需要再额外增加输入参考帧的输入端到运动估计模块中,使得本技术的运动估计模块与相关技术中的相同,本技术将局部搜索模块增加到运动补偿模块中,在不改变相关技术中的系统大框架的前提下,付出极小的额外代价,提高了运动估计的准确性。
80.在一种可能的实施方式中,图6-1为根据像素点的初次运动矢量确定该像素点在参考帧中再次进行运动估计的局部搜索区域的流程示意图,该过程包括如下步骤:在步骤601中,获取所述像素点对应的横向矢量步长值和纵向矢量步长值;在步骤602中,根据所述像素点的初次运动矢量、所述横向矢量步长值和所述纵向矢量步长值,确定所述像素点对应的运动矢量组;在步骤603中,将所述运动矢量组内各个运动矢量指向在所述参考帧中的各像素
点所围成的区域作为局部搜索区域。
81.其中,步骤602确定所述像素点对应的运动矢量组的具体过程如图6-2所示,从图6-2可知,该过程包括如下步骤:步骤6021中,将横向上距离所述初次运动矢量在所述横向矢量步长值范围内的作为所述运动矢量组内运动矢量的横坐标范围;步骤6022中,将纵向上距离所述初次运动矢量在所述纵向矢量步长值范围内的作为所述运动矢量组内运动矢量的纵坐标范围;步骤6023中,将所述横坐标范围和所述纵坐标范围围成区域内所包含的各运动矢量的集合作为所述运动矢量组。
82.其中,步骤6021和步骤6022的顺序可以互换。
83.首先基于图7说明,当前帧中某个像素点如何根据其运动矢量确定指向在参考帧中的像素点。如图7-1所示,以当前帧中像素点(x,y)为例,通过运动估计得到该像素点的运动矢量为(mvx,mvy),则该像素点(x,y)基于其运动矢量(mvx,mvy)在参考帧中所指向的像素点为(x mvx,y mvy)。
84.结合图6-1和图6-2所示的方法步骤,以当前帧中的像素点(x,y)为例,根据步骤601获取像素点(x,y)对应的横向矢量步长值cx和纵向矢量步长值cy;步骤602根据像素点(x,y)的初次运动矢量(mvx,mvy)_,确定运动矢量组内运动矢量的横坐标范围(mvx-cx, mvx cx), 运动矢量组内运动矢量的纵坐标范围(mvy-cy, mvy cy),将横坐标范围和纵坐标范围围成区域内所包含的各运动矢量的集合作为像素点(x,y)的运动矢量组;步骤603将所述运动矢量组内各个运动矢量指向在所述参考帧中的各像素点所围成的区域作为局部搜索区域。
85.如图8所示,假设当前帧中的像素点为(4,4),对应的初次运动矢量为(2,2),横向矢量步长值cx为1,纵向矢量步长值cy为1。则运动矢量组内运动矢量的横坐标范围为(1, 3)、纵坐标范围为(1, 3),运动矢量组内包含的运动矢量有9个,分别为(1,1)、(1,2)、(1,3)、(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)。运动矢量组内各运动矢量指向在参考帧中的像素点也为9个,分别为(5,5)、(5,6)、(5,7)、(6,5)、(6,6)、(6,7)、(7,5)、(7,6)、(7,7)。将参考帧中这9个像素点所围成的区域作为当前帧中像素点(4,4)对应在参考帧中的局部搜索区域。
86.在另一种可能的实施方式中,图9为根据像素点的初次运动矢量确定像素点在参考帧中再次进行运动估计的局部搜索区域的另一种流程示意图,该过程包括如下步骤:在步骤801中,获取所述像素点对应的像素点搜索步长值;在步骤802中,将所述初次运动矢量指向在所述参考帧中的像素点作为目标像素点;在步骤803中,将横向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的横坐标范围;在步骤804中,将纵向上距离所述目标像素点在所述像素点搜索步长值范围内的作为所述局部搜索区域的纵坐标范围;在步骤805中,将所述横坐标范围和所述纵坐标范围围成的区域作为所述局部搜索区域。
87.本技术中,步骤803和804的顺序可以互换,也可以先确定局部搜索区域的纵坐标范围,再确定局部搜索区域的横坐标范围,本技术不做具体限制。
88.结合图9所示的步骤,以当前帧的像素点(x,y)为例,根据步骤801获取像素点(x,y)对应的像素点搜索步长值l;根据步骤802将该像素点基于其初次运动矢量(mvx,mvy)指向在所述参考帧中的像素点(x mvx,y mvy)作为目标像素点;根据步骤803将横向上距离目标像素点(x mvx,y mvy)在像素点搜索步长值l范围内的作为所述局部搜索区域的横坐标范围,即横坐标范围为(x mvx-l, x mvx l);根据步骤804将纵向上距离目标像素点(x mvx,y mvy)在像素点搜索步长值l范围内的作为所述局部搜索区域的纵坐标范围,即纵坐标范围(y mvy
ꢀ–
l,y mvy l);根据步骤805将横坐标范围和纵坐标范围围成的区域作为局部搜索区域。
89.如图10-1所示,假设当前帧中的像素点为(4,4),其对应的初次运动矢量为(2,1),对应的像素点搜索步长值l为1,根据初次运动矢量确定像素点(4,4)指向在参考帧中的目标像素点为(6,5),根据目标像素点和像素点搜索步长值确定局部搜索区域的横坐标范围为(5,7)以及纵坐标范围为(4,6),将横坐标范围为(5,7)和纵坐标范围为(4,6)所围成的区域作为当前帧中像素点(4,4)在参考帧中的局部搜索区域。
90.在一种可能的实施方式中,若目标像素点的横坐标值不大于像素点搜索步长值,即x mvx《l,将局部搜索区域横坐标范围的起点坐标设置为1。
91.如图10-2所示,假设当前帧中的像素点为(1,1),对应的初次运动矢量为(1,3),对应像素点搜索步长值l为3,根据初次运动矢量确定像素点(1,1)指向在参考帧中的目标像素点为(2,4),根据目标像素点和像素点搜索步长值确定局部搜索区域的横坐标范围为(1,5)以及纵坐标范围为(1,7),将横坐标范围为(1,5)和纵坐标范围为(1,7)所围成的区域作为当前帧中像素点(1,1)在参考帧中的局部搜索区域。
92.在一种可能的实施方式中,若目标像素点的纵坐标值不大于像素点搜索步长值,即y mvy《l,将局部搜索区域纵坐标范围的起点坐标设置为1。
93.如图10-3所示,假设当前帧中的像素点为(2,2),对应的初次运动矢量为(3,1),对应像素点搜索步长值l为4,根据初次运动矢量确定像素点(2,2)指向在参考帧中的目标像素点为(5,3),根据目标像素点和像素点搜索步长值确定局部搜索区域的横坐标范围为(1,9)以及纵坐标范围为(1,7),将横坐标范围为(1,9)和纵坐标范围为(1,7)所围成的区域作为当前帧中像素点(2,2)在参考帧中的局部搜索区域。
94.在一种可能的实施方式中,若目标像素点的横坐标值不大于像素点搜索步长值,且目标像素点的纵坐标值不大于像素点搜索步长值,即x mvx《l且y mvy《l,将局部搜索区域横坐标范围的起点坐标设置为1,且将局部搜索区域纵坐标范围的起点坐标也设置为1。
95.如图10-4所示,假设当前帧中的像素点为(2,2),对应的初次运动矢量为(0,0),对应像素点搜索步长值l为3,根据初次运动矢量确定像素点(2,2)指向在参考帧中的目标像素点为(2,2),根据目标像素点和像素点搜索步长值确定局部搜索区域的横坐标范围为(1,5)以及纵坐标范围为(1,5),将横坐标范围为(1,5)和纵坐标范围为(1,5)所围成的区域作为当前帧中像素点(2,2)在参考帧中的局部搜索区域。
96.在一种可能的实施方式中,像素点搜索步长值还可以在横向和纵向上设置不同的数值,其实现的原理与效果与横向和纵向上使用同一个像素点搜索步长值类似,本文不再
赘述。
97.继续参见图5所示的运动估计运动补偿系统, 该系统还包括输出模块550,用来将经过运动补偿模块540处理后的视频图像输出。
98.本技术提供的显示设备,其内包括的运动估计运动补偿系统在获取模块获取到目标视频帧中的当前帧和参考帧之后,运动估计预处理模块对所述当前帧进行预处理得到待处理图像,运动估计模块再对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量,然后运动补偿模块中的局部搜索模块根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计得到所述像素点的最优运动矢量,最后运动补偿模块中的插帧模块再基于所述最优运动矢量进行运动补偿,输出模块将经过所述运动补偿模块处理的视频图像输出到显示器进行显示。本技术提供的显示设备,能够在保证搜索速度,节约资源的同时提高运动矢量的精度,从而提高运动估计算法的准确性。
99.基于相同的发明构思,本技术实施例还提供一种视频图像运动估计的方法,应用在显示设备中,具体参见图11,如图11所示,该方法包括如下步骤:在步骤1001中,获取目标视频帧中的当前帧和参考帧,所述目标视频帧为连续多帧原始图像构成一个图像组,所述参考帧为与所述当前帧相邻的原始图像。
100.在步骤1002中,对所述当前帧进行预处理得到待处理图像,所述预处理至少包括降采样处理和灰度化处理。例如对图像大小为1920*1080*3的当前帧进行预处理后,得到图像大小为960*540*1的待处理图像。
101.在步骤1003中,对所述待处理图像进行运动估计,得到所述当前帧中各个像素点的初次运动矢量。
102.在步骤1004中,根据像素点的初次运动矢量确定所述像素点在所述参考帧中再次进行运动估计的局部搜索区域,在所述局部搜索区域内对所述像素点进行运动估计,得到所述像素点的最优运动矢量。其中所述像素点为所述当前帧中任意一个像素点,确定所述像素点局部搜索区域的方法可参见前文描述,此处不再赘述。
103.需要说明的是,参考帧为原始视频帧,本次运动估计是在原始视频帧的局部区域内进行的,基于的是原始图像帧,与步骤1003所基于的待处理图像不同,原始图像帧没有经过降采样和灰度化处理,具有更加丰富的图像细节和色彩信息,因此得到的运动估计结果会更加准确。
104.在步骤1005中,基于所述当前帧、所述参考帧和所述最优运动矢量进行运动补偿。
105.需要说明的是,参照图5所示的本技术的运动估计运动补偿系统图,步骤1004得到的最优运动矢量结果除了输出到插帧模块用于进行运动补偿外,同时也返回到运动估计模块中用来作为下次进行运动估计的候选矢量。对于运动估计模块而言,需要判断一下当前保存的初次运动矢量与最优运动矢量是否相同,若不同,需要将所保存的运动矢量更新为最优运动矢量。
106.本技术提供的实施例中,无论是基于待处理图像进行运动估计,还是基于参考帧的局部搜索区域进行运动估计,均采用基于图像块匹配的运动估计方法,所采用的误差匹配准则为现有技术中的任意一种,例如绝对均方误差mad、绝对差值和sad等,本技术对此不做具体限制。
107.基于相同的发明构思,本技术还提供一种芯片,用于执行实现如本技术提供的视频图像的运动估计方法的步骤。
108.基于相同的发明构思,本技术还提供一种计算机可读非易失性存储介质,包括程序代码,当所述程序代码在显示设备上运行时,所述程序代码用于使所述显示设备执行上述任意一种视频图像的运动估计方法的步骤。
109.基于相同的发明构思,本技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一种视频图像的运动估计方法的步骤。
110.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
111.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
112.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
113.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
114.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献