本申请涉及图像处理技术领域,尤其涉及一种视频图像的运动估计方法及电子设备。
背景技术:
随着信息化时代的发展,网络的普及,视频图像已经成为了人们生活中不可或缺的一部分。为了辅助人们理解视频内容,减少语言等差异带来的沟通障碍,越来越多的影像内容置入了字幕,字幕通常以文本或图像的形式展现视频中对话、旁白和说明等非影像内容。随着人们网络社交的发展,内容提供商提供的视频图像中还可以展示人们对视频的评论,如弹幕。
故此,目前情况下,字幕分为固定字幕和滚动字幕。滚动字幕除了弹幕之外、在电视节目或电影结束时的滚动字幕,演员表,剧组信息,赞助商信息等等也可认为是滚动字幕。随着新兴媒体形式的出行,例如直播场景,直播间中也充斥这大量的滚动字幕。
然而,目前的大部分的运动估计方法主要针对视频中的固定字幕进行处理,对于含有滚动字幕的视频并不适用,如何提高滚动字幕的运动估计效果有待解决。
技术实现要素:
本申请实施例提供一种视频图像的运动估计方法及电子设备,用于解决相关技术中对视频图像中滚动字幕的运动估计结果不准确的问题。
第一方面,本申请一实施例提供了一种视频图像的运动估计方法,包括:
从目标图像中识别出包含字幕信息的字幕块;
若下一帧图像的候选区域内的指定图像块与所述字幕块在视频帧中的像素位置不同,则采用所述字幕块与所述指定图像块之间的位移信息作为所述字幕块的运动矢量;
其中,所述候选区域为以所述字幕块在视频帧中的像素位置为基准的指定邻域区域;所述指定图像块为所述候选区域内与所述字幕块的特征相似度最高的图像块、且所述指定图像块与所述字幕块的特征相似度高于预设阈值。
在一些可能的实施例中,所述从目标图像中识别出包含字幕信息的字幕块,包括:
对所述目标图像进行划分,并对划分得到的任一待处理图像块进行以下处理:
确定所述待处理图像块与所述待处理图像块的候选区域中的每个候选图像块之间的特征相似度,并将筛选出特征相似度最大值对应的候选图像块确定为所述指定图像块;
确定所述待处理图像块与筛选出的所述指定图像块之间的位移信息;
若所述特征相似度最大值高于所述预设阈值,且所述待处理图像块与筛选出的所述指定图像块之间的位移信息在滚动字幕的预设运动矢量范围内,则将所述待处理图像块确定为包含字幕信息的所述字幕块。
在一些可能的实施例中,所述从目标图像中识别出包含字幕信息的字幕块,包括:
将所述目标图像输入至预先训练好的神经网络模型中,得到所述神经网络模型输出所述目标图像中的字幕信息区域;
将所述字幕信息区域内的图像块确定为包含所述字幕信息的所述字幕块。
在一些可能的实施例中,所述方法还包括:
根据所述目标图像与所述下一帧图像之间的时间间隔、以及字幕信息的预设运动速度,确定所述候选区域的尺寸。
在一些可能的实施例中,所述方法还包括:
根据滚动字幕的预设运动速度以及预设误差范围,确定所述预设运动矢量范围。
在一些可能的实施例中,所述确定所述待处理图像块与所述待处理图像块的候选区域中的每个候选图像块之间的特征相似度,包括:
利用方向梯度直方图边缘特征提取方法分别提取所述待处理图像块的特征和各所述候选图像块的特征;
基于所述待处理图像块的特征和各所述候选图像块的特征,确定所述待处理图像块与各所述候选图像块之间的特征相似度。
在一些可能的实施例中,所述方法还包括:
若所述下一帧图像中所述指定图像块与所述字幕块在视频帧中的像素位置相同,则将所述字幕块的运动估计结果作为所述字幕块的运动矢量。
在一些可能的实施例中,所述方法还包括:
若所述指定图像块与所述待处理图像块的特征相似度不高于所述预设阈值,或所述待处理图像块与筛选出的所述指定图像块之间的位移信息不在所述预设运动矢量范围内,则将所述待处理图像块的运动估计结果作为所述字幕块的运动矢量,所述运动估计结果是根据以下任一运动估计方法得到的:
全局搜索算法、三步搜索算法、三维递归搜索算法、菱形搜索算法。
在一些可能的实施例中,所述候选区域的尺寸与所述滚动字幕的预设运动速度、相邻两帧的时间间隔均正相关。
第二方面,本申请一实施例提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面中任一项所述的视频图像的运动估计方法。
第三方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述第一方面中任一种方法的步骤。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据一些实施例的应用环境示意图;
图2中示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图3中示例性示出了根据一些实施例的控制装置100的硬件配置框图;
图4中示例性示出了本申请实施例提供的视频图像的运动估计方法的一种流程示意图;
图5a中示例性示出了本申请实施例提供的确定候选区域的尺寸的示意图;
图5b中示例性示出了本申请实施例提供的确定候选区域的尺寸的示意图;
图6中示例性示出了本申请实施例提供的从目标图像中识别出包含字幕信息的字幕块的一种流程示意图;
图7中示例性示出了本申请实施例提供的三步搜索算法过程中搜索模式的示意图;
图8中示例性示出了本申请实施例提供的视频图像的运动估计方法的一种流程示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unlessotherwiseindicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语″遥控器″,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(rf)信号和/或蓝牙与电子设备连接,也可以包括wifi、无线usb、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语″手势″,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端1002和控制装置1001操作显示设备200。
在一些实施例中,控制装置1001可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(ui)中为用户提供各种控制。
在一些实施例中,移动终端1002可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端1002与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端1002上,通过控制移动终端1002上用户界面,实现控制显示设备200的功能。也可以将移动终端1002上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(epg)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、oled显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(iptv)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控ui界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制设备1001或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置1001(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230中的图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可以包括声音采集器231等,如麦克风,可以用于采集语音数据,当用户通过语音方式说出指令时,麦克风能够采集到包括用户说出的指令的语音数据。示例性的,声音采集器231可以采集包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口hdmi接口、模拟或数据高清分量输入接口、复合视频输入接口、usb输入接口、rgb端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及epg数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择ui对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(randomaccessmemory,ram)、只读存储器252(read-onlymemory,rom)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(graphicsprocessingunit,gpu)、中央处理器254(centralprocessingunit,cpu)、通信接口(communicationinterface),以及通信总线256(bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,ram251用于存储操作系统或其他正在运行中的程序的临时数据。
在一些实施例中,rom252用于存储各种系统启动的指令。
在一些实施例中,rom252用于存储一个基本输入输出系统,称为基本输入输出系统(basicinputoutputsystem,bios)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时显示设备200电源开始启动,cpu运行rom252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至ram251中,以便于启动或运行操作系统。当操作系统启动完成后,cpu再将存储器中各种应用程序的临时数据拷贝至ram251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,cpu处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60hz帧率转换为120hz帧率或240hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如gpu frc(framerateconversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置1001或移动终端1002输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,″用户界面″,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和ui界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制设备1001的配置框图。如图3所示,控制设备1001包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制设备1001被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制设备1001上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制设备1001可是一种智能设备。如:控制设备1001可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端1002或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制设备1001类似功能。如:用户可以通过安装应用,在移动终端1002或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制设备1001实体按键的功能。
控制器110包括处理器112和ram113和rom114、通信接口130以及通信总线。控制器用于控制控制设备1001的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括wifi芯片131、蓝牙模块132、nfc模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制设备1001包括通信接口130和输入输出接口140中至少一者。控制设备1001中配置通信接口130,如:wifi、蓝牙、nfc等模块,可将用户输入指令通过wifi协议、或蓝牙协议、或nfc协议编码,发送至显示设备200。
存储器190,用于在控制器的控制下存储驱动和控制控制设备1001的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制设备1001各元件提供运行电力支持。可以电池及相关控制电路。
本申请实施例提供的视频图像的运动估计方法,适用于图1所示的显示设备200,也同样适用于移动终端1002。应理解的是任何支持视频内容的运动估计的电子设备均适用于本申请实施例,对此不作限定。
如背景技术所述,目前的大部分的运动估计方法主要针对视频中的固定字幕进行处理,对于含有滚动字幕的视频并不适用,如何提高滚动字幕的运动估计效果有待解决。有鉴于此,本申请实施例提供了相应解决方案。
在视频处理中,运动估计是视频编码和视频处理(例如去交织)中广泛使用的一种技术。运动估计的基本思想是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有象素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动矢量。视频压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前块。
在帧间预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者之间的空间位置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量,得到运动矢量的过程被称为运动估计。
运动矢量和经过运动匹配后得到的预测误差共同发送到解码端,在解码端按照运动矢量指明的位置,从已经解码的邻近参考帧图像中找到相应的块或宏块,和预测误差相加后就得到了块或宏块在当前帧中的位置。
通过运动估计可以去除帧间冗余度,使得视频传输的比特数大为减少,因此,运动估计是视频压缩处理系统中的一个重要组成部分。
为解决相关技术中运动估计方法不适用于滚动字幕的问题,本申请实施例中,采用基于块的匹配方法估计出各块的运动矢量。为了能够优化含有字幕块的运动估计结果,基于图像块的图像特征在相邻两帧图像中寻找同一块,如果这个块在相邻两帧图像中位置不同,说明这个块在相邻两帧图像中产生运动,如果该块为含有字幕的字幕块,那么该块可视为滚动字幕块,故此可以采用该块在相邻两帧的位移信息替换对该块的估计结果。由此,本申请实施例中在相邻两帧中寻找相同的块考虑了滚动字幕的图像特征(如字体特征),基于块的位移信息来作为该字幕块的运动矢量,相当于能够考虑字幕块的运动特征。故此,本申请实施例中,实现了基于滚动字幕的图像特征和运动特征来优化滚动区域的字幕块的运动矢量,从而提高滚动字幕块的运动估计结果。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请提供了一种视频图像的运动估计方法,例如,智能电视、移动终端可以采集视频,由智能电视、移动终端完成对视频的运动估计。相应的,进行运动估计时,视频中每帧图像都可以作为目标图像分别进行如图4所示的方法,包括:
在步骤s401中,从目标图像中识别出包含字幕信息的字幕块。
为便于理解,本申请实施例中,可提供如下两种方式从目标图像中识别出包含字幕信息的字幕块:
方式一:基于图像块的图像特征和运动速度来识别滚动字幕的字幕块:
实施时,可以先对目标图像进行划分,例如将目标图像划分为m*n个图像块。滚动字幕往往具有一定的滚动速度。故此,针对滚动字幕的每个字幕块而言,字幕块在相邻两帧图像的运动也会在一定区域内产生。故此,为了提高识别滚动字幕的字幕块的效率,避免在整帧图像区域内搜索一个图像块的相似块,本申请实施例中每个图像块在下一帧图像中都会有相应的候选区域。
该候选区域可以根据图像块在视频帧中的像素位置确定。实施时,对每个图像块而言,下一帧图像中以该图像块的像素位置为基准的指定邻域区域都可作为该图像块的候选区域。示例性地,如图5a所示,示出的是目标图像划分后的多个图像块,其中横坐标用h表示,纵坐标用v表示,针对图5a中(r,c)位置的图像块,其在下一帧图像中的候选区域,可如图5b所示,阴影部分即为该图像块的候选区域。
在另一个实施例中,为了能够合理地设置候选区域的尺寸,候选区域的尺寸可以根据实际情况确定。例如,候选区域的尺寸和滚动字幕的预设运动速度息息相关。当滚动字幕运动速度变大时,字幕块在相邻两帧图像中的位移会变大,相应的,当滚动字幕运动速度变小时,字幕块在相邻两帧图像中的位移会变小。故此,本申请实施例中,候选区域的尺寸大小与滚动字幕的预设运动速度正相关。
故此,实施时,可以获取字幕的运动速度参数,然后依据该参数和视频帧的尺寸综合来确定候选区域的尺寸。
进一步的,候选区域的尺寸也和相邻两帧图像的时间间隔有关,例如,同等运动速度情况下,相邻两帧图像时间间隔越大,同一图像块在相邻两帧图像中的位移越大。
综上而言,实施时,可按照候选区域的尺寸与滚动字幕的预设运动速度、相邻两帧的时间间隔均正相关的关系,来确定候选区域的尺寸。
在介绍了候选区域之后,以划分得到的每个图像块都可以作为待处理图像块为例,对如何确定待处理图像块是否为滚动字幕的字幕块进行说明。如图6所示,包括以下步骤:
在步骤s601,确定待处理图像块与待处理图像块的候选区域中的每个候选图像块之间的特征相似度,并将筛选出特征相似度最大值对应的候选图像块确定为指定图像块。
示例性地,假设根据目标图像与下一帧图像之间的时间间隔、以及字幕信息的预设运动速度,确定候选区域的尺寸大小为5*5的图像块,如图5a所示,示出的是目标图像划分后的多个图像块,其中横坐标用h表示,纵坐标用v表示,假设图中(r,c)所在的图像块位置为待处理图像块,则根据待处理图像块的候选区域的尺寸大小为5*5的图像块,可知如图5b所示,阴影部分的图像块即为候选区域中的各个候选图像块。
实施时,可以基于图像特征来确定图像块之间的相似度。考虑到字幕块包括字体特点,本申请实施例可选用hog特征(histogramoforientedgradient,方向梯度直方图)提取方法进行字体特征的提取。故此,实施时可基于方向梯度直方图边缘特征提取方法分别提取待处理图像块的特征和各候选图像块的特征;然后,基于待处理图像块的特征和各候选图像块的特征,确定待处理图像块与各候选图像块之间的特征相似度。
通过方向梯度直方图边缘特征提取方法对图像进行特征提取,得到图像中的有用信息并丢弃图像中的不相关信息,并且由于图像中边缘处和角点处的梯度大小是比较大的,边角比平面区域包含更多图像中字幕形状的信息,因此采用方向梯度直方图边缘特征提取方法可以得到更准确的待处理图像块与各候选图像块之间的特征相似度。
由于要寻找出同一图像块,故此本申请实施例中,需要在步骤s601中筛选出特征相似度最大值对应的候选图像块。然后经过候选的移动情况可相似度大小来综合确定该待处理图像块是否为滚动字幕的图像块。
如在步骤s602中,确定待处理图像块与筛选出的指定图像块之间的位移信息。
示例性地,假设图5a中的(r,c)所在的图像块为待处理图像块,图5b中阴影部分的右下角图像块为筛选出的指定图像块,则通过运动估计方法对待处理图像块与筛选出的指定图像块进行运动估计,将待处理图像块与筛选出的指定图像之间的运动估计结果作为二者之间的位移信息。在此并不限定具体的运动估计方法,可根据实际应用情况进行调整。
当相似度较小时,说明是同一图像块的可能较小,故此,在步骤s603中,判断特征相似度最大值是否高于预设阈值。若是,则执行步骤s604,若否,则执行步骤s606。
在步骤s604中,判断待处理图像块与筛选出的指定图像块之间的位移信息是否在滚动字幕的预设运动矢量范围内。若是,则说明待处理图像块在相邻两帧图像的运动速度符合滚动字幕的移动特点,则执行步骤s605,若否,则说明不是滚动字幕的图像块,则执行步骤s606。
这里,根据滚动字幕的预设运动速度以及预设误差范围,确定预设运动矢量范围。并且滚动字幕的预设运动速度的大小与候选区域的尺寸大小正相关。
示例性地,假设滚动字幕的预设运动速度为v,预设误差为m,则预设运动矢量范围可以是(v-m,v m)。当滚动字幕的预设运动速度较大时,候选区域的尺寸也较大,当滚动字幕的预设运动速度较小时,候选区域的尺寸也可以较小。
通过设置预设误差范围,可以得到更准确的预设运动矢量范围,进而可以更好的筛选得到包含字幕信息的字幕块。同样的,通过设置滚动字幕的预设运动速度的大小与候选区域的尺寸大小正相关,可以得到更准确的候选区域,进而可以更好的筛选得到包含字幕信息的字幕块。
在步骤s605中,将待处理图像块确定为包含字幕信息的字幕块。即该待处理图像块为滚动字幕的字幕块。
相应的,若该待处理图像块并非滚动字幕的图像块,则相关技术中的运动估计结果,适用于该图像块。故此,在可在步骤s606中,将待处理图像块的运动估计结果作为字幕块的运动矢量。
实施时,可采用全局搜索算法、三步搜索算法、三维递归搜索算法、菱形搜索算法等中的任一种运动估计方法作为非滚动字幕区域的图像块的运动估计结果。
示例性地,以三步搜索算法为例进行说明,第一步,对搜索窗口中心9*9的矩形框和3*3的矩形框的17个点进行匹配运算,如果第一步搜索中心最小sad像素点发生在搜索窗中心相邻的8个点,则第二步的搜索模式有两种可能,分别添加5个点和3个点,如图7所示,其中白点是待搜索点。第二步,根据第一步得到的最小sad值的位置决定第二步匹配的位置:(1)如果最小的sad值在搜索窗口的中心位置,则停止搜索,(2)如果最小的sad值在3*3的矩形框上得到,则搜索以此点为中心位置的3*3的窗口,并结束搜索,(3)如果最小的sad值在9*9的矩形框上得到,则以窗口中心点为中心搜索点,假设步长为4,包括周围的8个像素点,计算各点sad,根据最小sad值得到一个mbd点(minimumblockdistortion,最小块误差),共搜索9个点,然后以上一步的最佳匹配点为中心,步长为2,继续搜索周围8个像素点,计算各点sad,根据最小sad值得到mbd点,共搜索8个点,最后将步长设置为1,循环执行上一步骤后得到的mbd点就是需要的运动估计的点。第三步,以第二步得到的最佳匹配位置为中心,做最后的3*3窗口中9个点的匹配,得到最小sad值的位置,就是最佳的匹配位置,即需要的运动估计的点,从而得到运动矢量。
需要说明的是,三步搜索算法仅是举例说明运动估计方法,并不限定运动估计方法的具体实现方式,可根据实际应用情况进行调整。
由于对视频帧进行运动估计是图像中帧率转换过程中及其重要的部分,对图像的运动轨迹预测的准确与否直接决定最后得到的图像质量。因此考虑到字幕的运动速度的特征以及字幕字体的特征信息,通过计算待处理图像块与待处理图像块的候选区域中的每个候选图像块之间的特征相似度,以及确定特征相似度最大值对应的指定图像块与待处理图像块之间的位移信息在预设运动矢量范围内,筛选得到更准确的包含字幕信息的字幕块。
方式二:基于人工智能技术识别字幕块:
本申请实施例中,目标图像仍划分为多个图像块。在进行字幕区域识别时,可以将目标图像输入至预先训练好的神经网络模型中,得到神经网络模型输出目标图像中的字幕信息区域;将字幕信息区域内的图像块确定为包含字幕信息的字幕块。
其中,实施时,可以根据以下方法训练神经网络模型以实现对字幕区域的定位:
将样本图像输入至待训练的初始神经网络模型,得到初始神经网络模型输出的样本图像中预测的字幕信息区域;然后,确定样本图像中预测的字幕信息区域和样本图像中标准的字幕信息区域之间的损失值;之后,基于损失值对初始神经网络模型进行训练,得到训练好的神经网络模型。
通过将目标图像输入至预先训练好的神经网络模型中,可以提高对目标图像中字幕信息区域划分的准确度,进而可以得到更准确的包含字幕信息的字幕块。
本申请的一实施例中,若下一帧图像中指定图像块与字幕块在视频帧中的像素位置相同,则将字幕块的运动估计结果作为字幕块的运动矢量。
通过对比下一帧图像中指定图像块与字幕块在视频帧中的像素位置,进一步的提高确定字幕块的运动矢量的准确率。
s402,若下一帧图像的候选区域内的指定图像块与字幕块在视频帧中的像素位置不同,则采用字幕块与指定图像块之间的位移信息作为字幕块的运动矢量。
如前文所述类似,候选区域为以字幕块在视频帧中的像素位置为基准的指定邻域区域;指定图像块为候选区域内与字幕块的特征相似度最高的图像块、且指定图像块与字幕块的特征相似度高于预设阈值。
本申请提供的实施例考虑字幕的运动速度的特征以及字幕字体的特征信息从目标图像中识别出包含字幕信息的字幕块,然后通过将字幕块与指定图像块之间的位移信息作为字幕块的运动矢量,替换掉对目标图像进行运动估计后得到的字幕块的运动矢量,进而可以提高视频图像的运动矢量估计准确率的问题。
本申请的一实施例中,将输入的视频帧中的每帧图像分辨率设置为w*h,针对视频帧中的每帧图像来说,将目标图像划分为m*n个图像块,例如,目标图像的分辨率为1920*1080,划分为240*135个图像块。基于块匹配的运动估计算法对目标图像进行运动估计,得到各个待处理图像块的运动矢量。然后确定下一帧图像中的各待处理图像块的候选区域内候选图像块,再采用方向梯度直方图边缘特征提取方法对待处理图像块和各个候选图像块进行水平、垂直、对角线的特征提取,筛选出特征相似度最大值高于预设阈值,且待处理图像块与筛选出的指定图像块之间的位移信息在预设运动矢量范围后,将待处理图像块确定为包含字幕信息的字幕块,若下一帧图像的候选区域内的指定图像块与字幕块在视频帧中的像素位置不同,则采用字幕块与指定图像块之间的位移信息作为字幕块的运动矢量,若下一帧图像中所述指定图像块与字幕块在视频帧中的像素位置相同,则将字幕块的运动估计结果作为字幕块的运动矢量。
如图8所示,示出了一种视频图像的运动估计方法,包括以下步骤:
s801,将目标图像划分为m*n个图像块,以任一图像块为例,继续执行以下步骤;
s802,基于运动估计算法对目标图像中的图像块进行运动估计,得到图像块的运动矢量;
s803,确定该图像块与下一帧图像中该图像快对应的候选区域中各个图像块的特征相似度,并确定目标图像中的图像块与特征相似度最大值的候选图像块之间的位移信息;
s804,判断特征相似度最大值是否高于预设阈值。若是,则执行步骤s805,若否,则执行步骤s807。
s805,判断目标图像中的图像块与候选图像块之间的位移信息是否在滚动字幕的预设运动矢量范围内。若是,则执行步骤s806,若否,则执行步骤s807。
s806,将目标图像中的图像块确定为包含字幕信息的字幕块。
s807,将目标图像中的图像块的运动估计结果作为字幕块的运动矢量。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行上述设备响应的方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
1.一种视频图像的运动估计方法,其特征在于,所述方法包括:
从目标图像中识别出包含字幕信息的字幕块;
若下一帧图像的候选区域内的指定图像块与所述字幕块在视频帧中的像素位置不同,则采用所述字幕块与所述指定图像块之间的位移信息作为所述字幕块的运动矢量;
其中,所述候选区域为以所述字幕块在视频帧中的像素位置为基准的指定邻域区域;所述指定图像块为所述候选区域内与所述字幕块的特征相似度最高的图像块、且所述指定图像块与所述字幕块的特征相似度高于预设阈值。
2.根据权利要求1所述的方法,其特征在于,所述从目标图像中识别出包含字幕信息的字幕块,包括:
对所述目标图像进行划分,并对划分得到的任一待处理图像块进行以下处理:
确定所述待处理图像块与所述待处理图像块的候选区域中的每个候选图像块之间的特征相似度,并将筛选出特征相似度最大值对应的候选图像块确定为所述指定图像块;
确定所述待处理图像块与筛选出的所述指定图像块之间的位移信息;
若所述特征相似度最大值高于所述预设阈值,且所述待处理图像块与筛选出的所述指定图像块之间的位移信息在滚动字幕的预设运动矢量范围内,则将所述待处理图像块确定为包含字幕信息的所述字幕块。
3.根据权利要求1所述的方法,其特征在于,所述从目标图像中识别出包含字幕信息的字幕块,包括:
将所述目标图像输入至预先训练好的神经网络模型中,得到所述神经网络模型输出所述目标图像中的字幕信息区域;
将所述字幕信息区域内的图像块确定为包含所述字幕信息的所述字幕块。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标图像与所述下一帧图像之间的时间间隔、以及字幕信息的预设运动速度,确定所述候选区域的尺寸。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据滚动字幕的预设运动速度以及预设误差范围,确定所述预设运动矢量范围。
6.根据权利要求2所述的方法,其特征在于,所述确定所述待处理图像块与所述待处理图像块的候选区域中的每个候选图像块之间的特征相似度,包括:
利用方向梯度直方图边缘特征提取方法分别提取所述待处理图像块的特征和各所述候选图像块的特征;
基于所述待处理图像块的特征和各所述候选图像块的特征,确定所述待处理图像块与各所述候选图像块之间的特征相似度。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述下一帧图像中所述指定图像块与所述字幕块在视频帧中的像素位置相同,则将所述字幕块的运动估计结果作为所述字幕块的运动矢量。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述指定图像块与所述待处理图像块的特征相似度不高于所述预设阈值,或所述待处理图像块与筛选出的所述指定图像块之间的位移信息不在所述预设运动矢量范围内,则将所述待处理图像块的运动估计结果作为所述字幕块的运动矢量,所述运动估计结果是根据以下任一运动估计方法得到的:
全局搜索算法、三步搜索算法、三维递归搜索算法、菱形搜索算法。
9.根据权利要求5所述的方法,其特征在于,所述候选区域的尺寸与所述滚动字幕的预设运动速度、相邻两帧的时间间隔均正相关。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-9中任一项所述的视频图像的运动矢量估计方法。
技术总结