一种显示设备及运动估计方法、视频处理方法与流程

文档序号:22397748发布日期:2020-09-29 18:07阅读:49来源:国知局
一种显示设备及运动估计方法、视频处理方法与流程

本申请涉及图像处理技术领域,尤其涉及一种显示设备及运动估计方法、视频处理方法。



背景技术:

运动估计运动补偿(motionestimationandmotioncompensation,memc)是广泛用于帧频率转换的一种技术,通过估算连续运动图像中物体的运动轨迹,再结合图像数据和得到运动矢量,插值出中间图像,从而提高视频帧率,改变视频播放时的抖动拖尾等问题。

基于图像块匹配的运动估计是最常用的方法,但由于图像内容错综复杂,在图像块匹配过程中难免出现不同图像层互相匹配的现象,错误的匹配结果在图像补偿时造成画面破碎,严重影响画质。

因此,需提高运动估计的准确性。



技术实现要素:

本申请提供了一种显示设备及运动估计方法、视频处理方法,用以提高运动估计准确性,进而提高视频显示质量,从而提升用户体验。

第一方面,本申请实施例提供一种视频处理方法,包括:

获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前;

分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层;

确定第一视频帧的各图像块的最优运动矢量;

根据第一视频帧的图像块、第二视频帧的图像块以及确定的最优运动矢量,生成至少一个视频帧并插入在第一视频帧和第二视频帧之间;

其中,确定第一视频帧的第一图像块的最优运动矢量,第一图像块为第一视频帧中的任一个图像块,包括:

获取第一视频帧的第一图像块的候选运动矢量;

根据第一图像块对应的图像层,从候选运动矢量中删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在的区域;

从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

可选的,分割得到的图像层的数量为多个,不同的目标对象对应不同的图像层。

可选的,所述方法还包括:

从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,若剩余候选运动矢量的数量小于设定阈值,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块。

可选的,从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量,包括:

分别确定第一图像块的各候选运动矢量的cost,其中,cost用于表征选运动矢量的可信度;

从各候选运动矢量的cost中选取cost最小的候选运动矢量,作为第一图像块的运动矢量。

第二方面,本申请实施例提供一种显示设备,包括:

显示器,用于显示视频帧;

控制器,与所述显示器耦接,被配置为:

获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前;

分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层;

确定第一视频帧的各图像块的最优运动矢量;

根据第一视频帧的图像块、第二视频帧的图像块以及确定的最优运动矢量,生成至少一个视频帧并插入在第一视频帧和第二视频帧之间;

其中,确定第一视频帧的第一图像块的最优运动矢量,第一图像块为第一视频帧中的任一个图像块,包括:

获取第一视频帧的第一图像块的候选运动矢量;

根据第一图像块对应的图像层,从候选运动矢量中删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在的区域;

从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

可选的,分割得到的图像层的数量为多个,不同的目标对象对应不同的图像层。

可选的,所述控制器被进一步配置为:

从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,若剩余候选运动矢量的数量小于设定阈值,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于对应第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块。

可选的,从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量,包括:

分别确定第一图像块的各候选运动矢量的cost,其中,cost用于评价候选运动矢量的可信度;

从各候选运动矢量的cost中选取cost最小的候选运动矢量,作为第一图像块的最优运动矢量。

第三方面,本申请实施例提供一种运动估计方法,包括:

获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前;

分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层;

获取第一视频帧的第一图像块的候选运动矢量;

根据第一图像块对应的图像层,从候选运动矢量中删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量;

从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

可选的,分割得到的图像层的数量为多个,不同的目标对象对应不同的图像层。

可选的,从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,还包括:

从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,若剩余候选运动矢量的数量小于设定阈值,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块。

可选的,从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量,包括:

分别确定所述第一图像块的各候选运动矢量的cost,其中,cost用于评价候选运动矢量的可信度;

从各候选运动矢量的cost中选取cost最小的候选运动矢量,作为所述第一图像块的最优运动矢量。

本申请的上述实施例中,对相邻的两视频帧进行图像块分割,并目标对象对两视频帧进行图像层分割,运动估计过程中,根据第一图像块对应的图像层,删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量,使得剩余候选运动矢量对应两视频帧中同一图像层的两图像块,从而提高了运动估计的准确性,在将其应用于视频播放过程中时,根据第一视频帧的图像块、第二视频帧的图像块以及确定的运动矢量,生成中间帧插入到第一视频帧和第二视频帧之间,可以使得视频帧中目标对象运动更连贯,减小了运动画面中的″拖影″、″模糊″等情况,进而提升了用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1中示例性示出了本申请实施例提供的运动估计应用场景示意图;

图2中示例性示出了本申请实施例中显示设备200的硬件配置框图;

图3中示例性示出了本申请实施例中显示设备200功能配置示意图;

图4中示例性示出了本申请实施例提供的一种视频处理方法流程示意图;

图5中示例性示出了本申请实施例提供的对视频帧进行图像层分割的示意图;

图6中示例性示出了本申请实施例提供的删除候选运动矢量的示意图;

图7中示例性示出了本申请实施例提供的添加候选运动矢量的示意图;

图8示例性示出了本申请实施例提供的一种运动估计方法流程图;

图9示例性示出了本申请实施例提供的一种显示设备的结构图;

图10示例性示出了本申请实施例提供的一种运动估计装置的结构图。

具体实施方式

为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。

此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

当前主流电影的帧率是24帧/秒(fps),电视节目的帧率一般是25fps,而目前主流的显示设备刷新频率为60赫兹(hz),在看电影、电视节目的时候,画面会通过pullup的方式增加重复帧,这种方法并没有给视频添加新的画面内容,运动画面的质量也没有得到真正的改变,在遇到高速运动场景时(比如球赛),就会出现拖影或者模糊的情况。

memc是根据前后画面的关系,计算画面运动方向,让动作更流畅,改善球赛等体育赛事或者激烈运动的画面中的拖影或模糊的情况。目前有的显示设备(如电视)具备memc功能。

基于图像块匹配的运动估计作为memc的关键技术,基本原理是从原图像块中找到与待匹配图像块最相似(误差最小)位置的方法,图像块匹配的准确性决定着运动补偿的结果以及帧率转换的结果。由于图像内容错综复杂,在图像块匹配过程中难免出现图像块的错误匹配,从而在图像补偿时造成画面破碎,严重影响画质。

针对上述问题,本申请实施例提供一种运动估计、图像插值方法及装置,基于机器学习的图像分割技术,将画面不同图像层分开,将所属的图像层相同的图像块进行匹配,从而提高运动估计的准确性。

本申请实施例中的方法可应用于具有视频播放功能的显示设备,比如智能电视、智能手机,笔记本电脑、台式机等。

图1中示例性示出了本申请实施例提供的运动估计应用场景示意图。如图所示,用户可通过移动终端300和控制装置100操作显示设备200。

其中,控制装置100可以遥控器,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(ui)中为用户提供各种控制。

示例的,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。

如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(epg)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以一组,也可以多组,可以一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。

显示设备200,可以为智能电视、智能手机等。具体智能产品类型、设备型号等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。

显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。示例的包括,网络电视、智能电视、互联网协议电视(iptv)等。

图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。如图2中示出,显示设备200中包括控制器210、调谐解调器220、通信接口230、检测器240、输入\输出接口250、视频处理器260-1,音频处理器260-2,显示器280,音频输出270、存储器290,供电电源、红外接收器。

显示器280,用于接收源自视频处理器260-1输入的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。显示器280包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。

同时,显示器280,同时显示显示设备200中产生且用于控制显示设备200的用户操控ui界面。

以及,根据显示器280类型不同,还包括用于驱动显示的驱动组件。或者,倘若显示器280为一种投影显示器,还可以包括一种投影装置和投影屏幕。

通信接口230是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信接口230可以是wifi芯片231,蓝牙通信协议芯片232,有线以太网通信协议芯片233等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器(图中未示出)。

检测器240,是显示设备200用于采集外部环境或与外部交互的信号。检测器240包括光接收器242,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。

输入/输出接口250,在控制器210的控制显示设备200与外部其他设备间数据传输。如接收外部设备的视频信号和音频信号、或命令指令等数据。

调谐解调器220,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多个无线或有线广播电视信号中解调出用户所选择电视频道频率中所携带的电视音视频信号,以及epg数据信号。

调谐解调器220,可根据用户选择,以及由控制器210控制,响应用户选择的电视信号频率以及该频率所携带的电视信号。

视频处理器260-1,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。

示例的,视频处理器260-1,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。

音频处理器260-2,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。

音频输出270,在控制器210的控制下接收音频处理器260-2输出的声音信号,如:扬声器272,以及除了显示设备200自身携带的扬声器272之外,可以输出至外接设备的发生装置的外接音响输出端子274,如:外接音响接口或耳机接口等。

供电电源,在控制器210控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。

用户输入接口,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器210。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。

示例的,用户通过遥控器100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器210响应用户的输入。

在一些实施例中,用户可在显示器280上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

控制器210,通过存储在存储器290上中各种软件控制程序,来控制显示设备200的工作和响应用户的操作。

如图2所示,控制器210包括ram213和rom214以及图形处理器216、cpu处理器212、通信接口218,如:第一接口218-1到第n接口218-n,以及通信总线。其中,ram213和rom214以及图形处理器216、cpu处理器212、通信接口218通过总线相连接。

ram213,用于存储各种系统启动的指令。如在收到开机信号时,显示设备200电源开始启动,cpu处理器212运行rom中系统启动指令,将存储在存储器290的操作系统拷贝至ram213中,以使开始运行启动操作系统。当操作系统启动完成后,cpu处理器212再将存储器290中各种应用程序拷贝至ram213中,然后,开始运行启动各种应用程序。

图形处理器216,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,产生基于运算器得到的各种对象,进行渲染的结果显示在显示器280上。

cpu处理器212,用于执行存储在存储器290中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。

在一些示例性实施例中,cpu处理器212,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于在待机模式等状态下一种操作。

控制器210可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280上显示ui对象的用户命令,控制器210便可以执行与由用户命令选择的对象有关的操作。

其中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择ui对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。

存储器290,包括存储用于驱动显示设备200的各种软件模块。如:存储器290中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。

其中,基础模块用于产后护理显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。

例如:语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器280进行显示图像内容的模块,可以用于播放多媒体图像内容和ui界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。

同时,存储器290还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。

图3中示例性示出了根据示例性实施例中显示设备200功能配置示意图。如图3所示,存储器290用于存储操作系统、应用程序、内容和用户数据等,在控制器210控制下执行驱动显示设备200的系统运行以及响应用户的各种操作。存储器290可以包括易失性和/或非易失性存储器。

存储器290,具体用于存储驱动显示设备200中控制器210的运行程序,以及存储显示设备200内置各种应用程序,以及用户从外部设备下载的各种应用程序、以及与应用相关各种图形用户界面,以及与图形用户界面相关的各种对象,用户数据信息,以及各种支持应用的内部数据。存储器290用于存储os内核、中间件和应用等系统软件,以及存储输入的视频数据和音频数据、及其他用户数据。

存储器290,具体用于存储音视频处理器260-1和260-2、显示器280、通信接口230、调谐解调器220、检测器240输入/输出接口等驱动程序和相关数据。

在一些实施例中,存储器290可以存储软件和/或程序,用于表示操作系统(os)的软件程序包括,例如:内核、中间件、应用编程接口(api)和/或应用程序。示例性的,内核可控制或管理系统资源,或其它程序所实施的功能(如所述中间件、api或应用程序),以及内核可以提供接口,以允许中间件和api,或应用访问控制器,以实现控制或管理系统资源。

示例的,存储器290,包括广播接收模块2901、频道控制模块2902、音量控制模块2903、图像控制模块2904、显示控制模块2905、音频控制模块2906、外部指令识别模块2907、通信控制模块2908、光接收模块2909、电力控制模块2910、操作系统2911、以及其他应用程序2912、浏览器模块等等。控制器210通过运行存储器290中各种软件程序,来执行诸如:广播电视信号接收解调功能、电视频道选择控制功能、音量选择控制功能、图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等其他应用。

下面结合附图对本申请实施例进行详细描述。

图4中示例性示出了本申请实施例提供的视频处理方法流程示意图,该流程可由显示设备执行。如图所示,该流程包括以下几步:

s401:获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前。

以显示设备是智能电视作为例子,该步骤中,智能电视接收网络侧发送的视频流(视频帧序列)并进行缓存,从缓存的视频帧序列中获取相邻的第一视频帧和第二视频帧,比如获取第k-1个视频帧和第k个视频帧,k为大于1的整数。

s402:分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层。

该步骤中,可按照相同图像块分割方式或设定的图像块大小,分别将第一视频帧以及第二视频帧进行图像块分割,从而分别将第一视频帧和第二视频帧分割为互不重叠的图像块(如图像块大小为16*16像素)。

一个图像层可包含一个或多个对象,比如视频帧的画面中包括汽车、人物和建筑物,则通过对该视频帧进行图像层分割,可得到3个图像层,其中图像层1中包含汽车,图像层2中包含人物,图像层3中包含建筑物。不同图像层可用不同的标记进行标注,以进行区分。

本申请的一些实施例中,可使用图像分割模型对视频帧进行图像层分割。图像分割模型可利用全卷积神经网络对收集的样本进行训练得到。

对一个视频帧进行图像分块以及图像层分割后,一个图像块通常为一个目标对象的局部画面,因此一个图像块通常属于一个图像层,由于一个目标对象通常可被分割为多个图像块,因此包含该目标对象的图像层中该目标对象所在区域包含多个图像块。

图5以具体示例示出了本申请实施例提供的对视频帧进行图像层分割的示意图。如图所示,第一视频帧划分为若干个图像块(用细虚线表示),图像分割模型识别第一视频帧包括人和汽车两个不同的目标对象(为区别描述,将人称为第一目标对象、汽车称为第二目标对象),将第一视频帧分割为两个不同的图像层1(用粗实线表示)和图像层2(用粗虚线表示)。图像层1包括第一目标对象的图像数据、图像层2包括第二目标对象的图像数据,第一图像块为第一目标对象的局部图像数据,属于图像层1,第二图像块为第二目标对象的局部图像数据,属于图像层2。汽车向前运动,得到下一时刻的第二视频帧。第二视频帧划分与第一视频帧大小相同的若干个图像块(用细虚线表示),图像分割模型识别第二视频帧包括汽车和树木两个不同的目标对象(为区别描述,分别称为第一目标对象和第三目标对象),将第一视频帧分割为两个不同的图像层1(用粗实线表示)和图像层3(用粗虚线表示)。图像层1包括第一目标对象的图像数据、图像层3包括第三目标对象的图像数据,第三图像块为第三目标对象的局部图像数据,属于图像层3。

s403:确定第一视频帧的各图像块的最优运动矢量。

该步骤中,确定第一视频帧的各图像块的最优运动矢量的过程一致,可按各图像块的位置顺序依次确定最优运动矢量,也可按目标对象确定各图像块的最优运动矢量,每一图像块的最优运动矢量的确定方法相同。

以第一视频帧中的第一图像块为例,确定第一图像块的最优动矢量的过程可包括:

根据运动估计算法,获取第一视频帧的第一图像块的候选运动矢量。

其中,一个候选运动矢量对应第二视频帧中一个与第一视频帧的第一图像块匹配的图像块,候选运动矢量对应的图像块在第二视频帧中的位置可被视为第一视频帧中的第一图像块位移后的可能位置(候选位置)。候选运动矢量可表示为(x,y),用以表示从第一视频帧到第二视频帧,第一图像块可能的位置变化。同一图像块内的所有像素点的位移相同,即,且同一图像块内的所有像素点的运动矢量相同。

在本申请的实施例中,候选运动矢量(x,y)可表示目标对象的运动方向。其中,x代表水平方向移动,正数表示向右移动,复数表示向左移动,0表示水平方向未移动;y代表垂直移动方向,正数表示向下移动,负数表示向上移动,0表示垂直方向未移动。比如,运动矢量(2,0)表示向右移动了两个位置,运动矢量(0,-3)表示向上移动3个位置。

根据第一图像块对应的图像层,从候选运动矢量中删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在的区域。具体地,根据第一图像块对应的图像层,判断候选运动矢量对应的各配对图像块是否满足第一条件,若不满足,则删除该配对的图形块对应的候选运动矢量,否则保留该配对图像块对应的候选运动矢量,从而提高运动估计的准确性。

图6以具体示例示出了本申请实施例提供的删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量的示意图。如图所示,第一视频帧和第二视频帧分别划分为图像层1和图像层2(为区分描述,图像层1用粗点画线表示,图像层2用粗实线表示),第二视频帧中的图像层2中的目标对象相对于第一视频帧中的图像层2的目标对象向右移动了两个图像块的步长。以第一视频中图像层2中的中间图像块(黑色填充的图像块)的匹配为例,通过运动估计算法获取该图像块的候选运动矢量(2,0)、(0,-2)、(1,1),并确定候选运动矢量对应的第二视频中用于与该图像块匹配的图像块,在第二视频帧中与该图像块匹配的图像块有三个(分别称为第一匹配图像块、第二匹配图像块、第三匹配图像块),候选运动矢量(2,0)对应第一匹配图像块,候选运动矢量(0,-2)对应第二匹配图像块,候选运动矢量(1,1)对应第三匹配图像块。其中,候选运动矢量(2,0)表示该图像块向右移动2个图像块,移动后的位置在第二视频帧中的图像层2,未超出第二视频帧中相应图像层中的目标对象所在区域的图像层,保留候选运动矢量(2,0);候选运动矢量(0,-2)表示该图像块向上移动2个图像块,移动后的位置在第二视频帧中的图像层1,超出第二视频帧中相应图像层中的目标对象所在区域的图像层,删除候选运动矢量(0,-2);候选运动矢量(1,1)表示该图像块向右移动1个图像块、向上移动1个图像块,移动后的位置在第二视频帧中的图像层2,未超出第二视频帧中相应图像层中的目标对象所在区域的图像层,保留候选运动矢量(1,1)。

从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

其中,可根据算法确定剩余候选运动矢量的cost,从而根据cost选择最优运动矢量。具体地,分别确定第一图像块的各候选运动矢量的cost,从各候选运动矢量的cost中选取cost最小的候选运动矢量作为第一图像块的最优运动矢量,其中,cost用于评价候选运动矢量的可信度。由于剩余候选运动矢量的个数有限,最小cost对应的候选运动矢量即为最优的候选运动矢量。

确定第一图像块的各候选运动矢量的cost,可采用绝对差之和(sumofabsolutedifferent,sad)算法,该算法可根据候选运动矢量计算两帧图像对应位置的像素差,从而根据像素差评价候选运动矢量的可信度。值得注意的是,本申请的实施例不限于sad算法,也可采用其他算法评价候选运动矢量的可信度。

下面以上述实施例为例详细描述确定一个运动矢量的过程。删除候选运动矢量后,剩余候选运动矢量对应第二视频帧中的第一匹配图像块和第三匹配图像块,根据sad算法确定候选运动矢量(2,0)对应的第一匹配图像块与第一视频帧中图像层2的中间图像块的像素差为a,候选运动矢量(1,1)对应的第三匹配图像块与第一视频帧中图像层2的中间图像块的像素差为b,且a<b,则选取第一匹配图像块对应的候选运动矢量(2,0)作为第一视频帧中图像层2的中间图像块的运动矢量。

s404:根据第一视频帧的图像块、第二视频帧的图像块以及确定的最优运动矢量,生成至少一个视频帧并插入在第一视频帧和第二视频帧之间。

该步骤中,可根据第一视频帧的各图像块、第二视频帧的各图像块以及确定的运动矢量,得到目标对象的运动曲线,曲线上各点的切线方向即为目标对象的运动方向,并根据运动方向生成至少一个视频帧并插入在第一视频帧和第二视频帧之间。

在一些实施例中,进行视频帧图像层分割时,分割得到的图像层可能只有一个,该图像层中目标对象的区域为整个视频帧,这种情况下,所有图像块均对应该图像层,由于该图像层中目标对象的区域为整个视频帧,因此对于一个图像块来说,其配对的图像块通常不会超出该图像层中的目标对象所在的区域,因此无需根据图像块对应的图像层,从候选运动矢量中删除超出相应图像层中的目标对象所在区域的图像块对应的候选运动矢量。

本申请的上述实施例中,根据不同的目标对象,利用图像分割模型将第一视频帧和第二视频帧分别分割为不同的图像层,获取第一视频帧的图像块的候选运动矢量,删除与第一视频帧的图像块的相应图像层不同的图像块对应的候选运动矢量,从剩余候选运动矢量中选取一个候选运动矢量作为第一视频帧的图像块的最优运动矢量,从而提高了运动估计的准确性,进一步的,根据第一视频帧的图像块、第二视频帧的图像块以及确定的运动矢量,生成中间帧插入到第一视频帧和第二视频帧之间,使得视频帧中目标对象运动更连贯,减小了运动画面中的″拖影″、″模糊″等情况,进而提升了用户体验。

在一些实施例中,若用于选择运动矢量的算法对候选运动矢量的数量有限制性要求,则删除候选运动矢量后还需从相应图像层中选取相应数量的图像块对应的候选运动矢量,以使得候选运动矢量的数量满足限制性要求。

具体地,可在删除候选运动矢量后,判断第一图像块的剩余候选运动矢量的数量是否小于设定阈值,若小于,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块,否则,不添加候选运动矢量。

举例来说,删除候选运动矢量(0,-2)后,剩余候选运动矢量的数量小于设定阈值3,则增加一个候选运动矢量(3,-1)(对应第二视频帧中的第四匹配图像块)替换被删除的候选运动矢量(0,-2),增加的候选运动矢量(3,-1)对应第二视频帧的相应图像层中的目标对象所在区域中的剩余区域(未包第一匹配图像块和第二匹配图像块),第四匹配图像块位于剩余区域,各候选运动矢量与各匹配块的对应关系参见图7。

本申请是上述实施例中,通过保证候选运动矢量的数量提高运动估计的准确性。

本申请实施例提供一种运动估计的方法,用以提高运动估计的准确性。

图8中示例性示出了本申请实施例提供的运动估计方法流程图,该流程可由运动估计装置执行。运动估计装置可部署在服务器中,也可部署在具有视频播放功能的显示设备中。运动估计装置可由软件实现或由硬件实现,或者采用软硬件结合的方式实现。

如图所示,该流程包括以下几步:

s801:获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前。

s802:分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层。

s803:获取第一视频帧的第一图像块的候选运动矢量。

s804:根据第一图像块对应的图像层,从候选运动矢量中删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在的区域。

s805:从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

上述图8所示的流程中的步骤,与图4中s401~s403的相关描述一致,在此不在重复。

本申请的上述实施例中,对第一视频帧、第二视频帧进行图像块分割,并根据目标对象对两视频帧进行图像层分割,运动估计过程中,删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量,从而对两视频帧中同一图像层的图像块进行匹配,进而提高了运动估计的准确性。

基于相同的技术构思,本申请实施例提供了一种显示设备,该显示设备可实现上述实施例中的功能。

参见图9,该显示设备包括:显示模块901、获取模块902、视频帧分割模块903、运动矢量确定模块904、视频帧插入模块905。

显示模块901,用于显示视频帧;

获取模块902,用于获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前;

视频帧分割模块903,用于分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层;

运动矢量确定模块904,用于确定第一视频帧的各图像块的最优运动矢量;

视频帧插入模块905,用于根据第一视频帧的图像块、第二视频帧的图像块以及确定的最优运动矢量,生成至少一个视频帧并插入在第一视频帧和第二视频帧之间;

其中,第一图像块为第一视频帧中的任一个图像块,运动矢量确定模块904,具体用于:

获取第一视频帧的第一图像块的候选运动矢量;根据第一图像块对应的图像层,从候选运动矢量删除不满足第一条件的候选运动矢量,其中,第一条件为候选运动矢量对应的图像块未超出第二视频帧中相应图像层中的目标对象所在的区域;从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

可选的,分割得到的图像层的数量为多个,不同的目标对象对应不同的图像层。

可选的,运动矢量确定模块904,还用于从候选运动矢量删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,判断剩余候选运动矢量的数量是否小于设定阈值,若小于,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块。

可选的,运动矢量确定模块904,具体用于:分别确定第一图像块的各候选运动矢量的cost,其中,cost用于评价候选运动矢量的可信度;从各候选运动矢量的cost中选取cost最小的候选运动矢量,作为第一图像块的最优运动矢量。

在此需要说明的是,本发明实施例提供的上述显示设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。

基于相同的技术构思,本申请实施例提供了一种运动估计装置,该装置可实现上述实施例中的功能。

参见图10,该装置包括:获取模块1001、视频帧分割模块1002、图像块匹配模块1003、运动矢量确定模块1004。

获取模块1001,用于获取第一视频帧以及第二视频帧,第一视频帧和第二视频帧相邻且第一视频帧的时间在前;

视频帧分割模块1002,用于分别对第一视频帧以及第二视频帧进行图像分块以及根据目标对象进行图像层分割,一个图像块对应一个图像层;

图像块匹配模块1003,用于获取第一视频帧的第一图像块的候选运动矢量;根据第一图像块对应的图像层,从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量;

运动矢量确定模块1004,用于从剩余候选运动矢量中选取一个候选运动矢量作为第一图像块的最优运动矢量。

可选的,分割得到的图像层的数量为多个,不同的目标对象对应不同的图像层。

图像块匹配模块1003,还用于从候选运动矢量中删除超出第二视频帧中相应图像层中的目标对象所在区域的图像块对应的候选运动矢量后,判断剩余候选运动矢量的数量是否小于设定阈值,若小于,则增加相应数量的候选运动矢量,其中,增加的候选运动矢量与删除的候选运动矢量的数量相同,且增加的候选运动矢量对应的图像块位于第二视频帧的相应图像层中的目标对象所在区域中的剩余区域,剩余区域未包含剩余候选运动矢量对应的图像块。

图像块匹配模块1003,具体用于:分别确定第一图像块的各候选运动矢量的cost,其中,cost用于评价候选运动矢量的可信度;从各候选运动矢量的cost中选取cost最小的候选运动矢量,作为第一图像块的最优运动矢量。

在此需要说明的是,本发明实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。

本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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