CN116708931B - 图像处理方法及电子设备 - Google Patents

图像处理方法及电子设备 Download PDF

Info

Publication number
CN116708931B
CN116708931B CN202211418256.5A CN202211418256A CN116708931B CN 116708931 B CN116708931 B CN 116708931B CN 202211418256 A CN202211418256 A CN 202211418256A CN 116708931 B CN116708931 B CN 116708931B
Authority
CN
China
Prior art keywords
pixel
image
pixel points
compensated
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211418256.5A
Other languages
English (en)
Other versions
CN116708931A (zh
Inventor
陈书
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211418256.5A priority Critical patent/CN116708931B/zh
Publication of CN116708931A publication Critical patent/CN116708931A/zh
Application granted granted Critical
Publication of CN116708931B publication Critical patent/CN116708931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例提供了一种图像处理方法及电子设备。在该方法中,针对预测帧图像中空白区域的每个待补像素点,电子设备在与预测帧图像对应的掩膜图像中搜索与待补像素点间距最小的静态像素点,并根据该静态像素点在预测帧图像中的像素值计算待补像素点的像素值,以对预测帧图像空白区域进行像素值填充。这样,基于与待补像素点间距最小的静态像素点计算得到的待补像素值更加真实可靠,使得补全后的预测帧图像与真实帧图像的差距更小,提升了预测帧图像的画面质量,进而提升了用户的视觉体验。

Description

图像处理方法及电子设备
技术领域
本申请涉及智能终端技术领域,尤其涉及一种图像处理方法及电子设备。
背景技术
视频插帧技术旨在提高视频的帧率和流畅度,让视频看起来更加“丝滑”。只要在相邻的原始视频帧(或称真实视频帧)之间插入一个预测帧(或称中间帧、过渡帧等),视频的帧率就可以提高一倍,而预测帧的画质直接关系着视频的流畅程度。
其中,通过相邻两帧图像信息计算出图像中各物体的移动方向和速度,并将图像中各物体进行相应的移动即可得到预测帧。然而,由于图像中各物体的移动速度不同,预测帧中会出现图像信息缺失的情况。因此,如何快速补全预测帧中缺失信息提高预测帧的画质,是亟待解决的问题。
发明内容
为了解决上述技术问题,本申请实施例提供一种图像处理方法及电子设备。在该方法中,针对预测帧图像中空白区域的每个待补像素点,电子设备在与预测帧图像对应的掩膜图像中搜索与待补像素点间距最小的静态像素点,并根据该静态像素点在预测帧图像中的像素值计算待补像素点的像素值,以对预测帧图像空白区域进行像素值填充,提升预测帧图像的画面质量。
第一方面,本申请实施例提供一种图像处理方法。该方法包括:电子设备获取第一图像和第二图像,第一图像和第二图像为原始帧图像;电子设备根据第一图像和第二图像,得到第一预测帧图像,以及与第一预测帧图像对应的掩膜图像;其中,掩膜图像中的像素点包括待补像素点和静态像素点;针对每个待补像素点,电子设备在掩膜图像中确定与待补像素点对应的目标静态像素点,并根据目标静态像素点在第一预测帧图像中的像素值,确定待补像素点的像素值;其中,在静态像素点中,目标静态像素点与待补像素点的间距最小;电子设备根据各个待补像素点的像素值对第一预测帧图像进行填充,得到第二预测帧图像。
其中,第一图像和第二图像可以为视频源中相邻的两帧原始帧图像。
示例性的,第一图像和第二图像中可以仅包括图像信息,也可以既包括图像信息又包括用户界面信息。
其中,待补像素点为预测帧图像空白区域中的像素点,需要进行像素值的填充。静态像素点为图像中与非运动对象对应的像素点,其像素值可以用于计算待补像素点的像素值。
这样,基于与待补像素点间距最小的静态像素点计算得到的待补像素值更加真实可靠,使得补全后的预测帧图像与真实帧图像的差距更小,提升了预测帧图像的画面质量,进而提升了用户的视觉体验。
根据第一方面,目标静态像素点的数量为一个或多个;当目标静态像素点的数量为多个时,每个目标静态像素点与待补像素点的间距相等。
在本申请实施例提供的方案中,假设距离待补像素点越近的静态像素点,其像素值越接近于待补像素点的真实像素值。由此,电子设备在与预测帧图像对应的掩膜图像中搜索与待补像点最近的一个或多个静态像素点作为目标静态像素点,以使根据目标静态像素的像素值计算得到的待补像素点像素值更加接近于真实值,使得补全后的预测帧图像与真实帧图像的差距更小,提升了预测帧图像的画面质量。
根据第一方面,或者以上第一方面的任意一种实现方式,目标静态像素点的数量小于等于第一数量阈值。
其中,相比于随机选取大量静态像素点对待补像素点进行像素值补全,仅将多个目标静态像素点的像素值进行加权平均以得到待补像素点的像素值,不会使静态像素点的特征信息被削弱,也就不会削弱待补像素点的有效信息,使得待补像素点的有效信息极大程度地被保留,补全后的像素值更接近真实值。然而,即使是与待补像素点的距离是最小且相等的多个目标静态像素点,目标静态像素点的数量越多,通过像素值加权平均处理也会在一定程度上削弱像素点特征信息,故此处设置有效静态像素点的数量上限,能够进一步提高待补像素点有效信息被保留的程度。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备在掩膜图像中确定与待补像素点对应的目标静态像素点,包括:以待补像素点为中心,在待补像素点的四周,电子设备按照与待补像素点的间距递增的方式依次确定与待补像素点对应的多组像素点;其中,在每组像素点中,每个像素点与待补像素点的间距相等;电子设备按照距离待补像素点由近及远的顺序,依次选取一组像素点作为目标组像素点;如果目标组像素点中存在静态像素点,则电子设备将静态像素点作为目标静态像素点。
这样,电子设备在掩膜图像中能够快速搜索到与待补像素点间距最小的一个或多个静态像素点,用于对待补像素点的像素值进行补全处理。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备确定与待补像素点对应的一组像素点,包括:以待补像素点为起点,电子设备在掩膜图像中偏移整数倍的像素单位,以得到与待补像素点对应的一组像素点;其中,像素单位为1/Width或1/Height,Height为图像高度像素,Width为图像宽度像素。
这样,电子设备在掩膜图像中能够快速搜索到与待补像素点间距最小且相等的一组像素点。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在每次确定与待补像素点对应的N组像素点之后,电子设备根据扩增系数确定与N组像素点对应的N组扩增像素点;N为自然数;其中,电子设备依次选取一组像素点作为目标组像素点,包括:电子设备依次选取一组扩增像素点作为目标组像素点。
示例性的,N=6。
这样,电子设备基于多组扩增像素点搜索与待补像素点对应的有效静态像素点,能够有效提升目标静态像素点的搜索效率。
根据第一方面,或者以上第一方面的任意一种实现方式,不同的N组像素点对应的扩增系数不同。
示例性的,第一个N组像素点对应的扩增系数为第一值,第二个N组像素点对应的扩增系数为第二值;第一值不等于第二值。
根据第一方面,或者以上第一方面的任意一种实现方式,第一个N组像素点对应的扩增系数为第一值,第二个N组像素点对应的扩增系数为第二值;第一个N组像素点与待补像素点的间距,小于第二个N组像素点与待补像素点的间距,第一值小于第二值。
这样,能够进一步有效提升目标静态像素点的搜索效率。
根据第一方面,或者以上第一方面的任意一种实现方式,与待补像素点对应的每组像素点的数量相等,数量为第二数量阈值。
这样,设置了在待补像素点周围搜索的一组像素点的数量上限,也就设置了目标静态像素点的数量上限。
根据第一方面,或者以上第一方面的任意一种实现方式,在掩膜图像中还包括动态像素点;其中,动态像素点的灰度值为第一灰度值,静态像素点的灰度值为第二灰度值,待补像素点的灰度值为第三灰度值;第一灰度值、第二灰度值和第三灰度值互不相等;其中,目标组像素点中存在静态像素点,包括:电子设备根据像素点的灰度值判断目标组像素点中是否存在静态像素点。
其中,动态像素点为图像中与运动对象对应的像素点,其像素值不可以用于计算待补像素点的像素值。
在与预测帧图像对应的掩膜图像中,动态像素点、静态像素点和待补像素点可以通过灰度值进行区分,三类像素点的灰度值不同。这样,便于电子设备确定待补像素点以及搜索与待补像素点对应的目标静态像素点。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备根据目标静态像素点在第一预测帧图像中的像素值,确定待补像素点的像素值,包括:电子设备获取目标静态像素点在第一预测帧图像中的像素值;电子设备将目标静态像素点的像素值的加权平均值,作为待补像素点的像素值。
在与待补像素点对应的目标像素点的数量为多个时,将目标静态像素点的像素值的加权平均值作为待补像素点的像素值,能够提高待补像素点的像素值的准确性。
根据第一方面,或者以上第一方面的任意一种实现方式,针对每个待补像素点,电子设备在掩膜图像中确定与待补像素点对应的目标静态像素点,并根据目标静态像素点在第一预测帧图像中的像素值,确定待补像素点的像素值,包括:针对每个待补像素点,电子设备通过GPU在掩膜图像中确定与待补像素点对应的目标静态像素点,并根据目标静态像素点在第一预测帧图像中的像素值,确定待补像素点的像素值。
这样,通过GPU并行地计算多个待补像素点的像素值,能够有效提升预测帧图像的补全效率。
根据第一方面,或者以上第一方面的任意一种实现方式,第一图像和第二图像为已渲染的图像。
由于第一图像和第二图像为已渲染的图像,基于二者计算得到的预测帧图像也为已渲染图像,能够实现同帧率下渲染减半,从而大幅度降低电子设备功耗,减少电子设备的发热。
根据第一方面,或者以上第一方面的任意一种实现方式,电子设备获取第一图像和第二图像,包括:电子设备获取第一资源图像,并在第一资源图像中分离UI信息,得到第一图像;电子设备获取第二资源图像,并在第二资源图像中分离UI信息,得到第二图像;其中,在电子设备得到第二预测帧图像之后,该方法还包括:电子设备将第二预测帧图像和UI信息进行融合,得到目标预测帧图像。
其中,资源图像中包括图像信息和UI信息。
其中,在第一资源图像中分离的UI信息与在第二资源图像中分离的UI信息可以相同也可以不同。
在第一资源图像中分离的UI信息与在第二资源图像中分离的UI信息不同时,电子设备将第二预测帧图像和与第二资源图像对应的UI信息进行融合,得到目标预测帧图像。其中,第二资源图像为当前帧资源图像,第一资源图像为当前帧资源图像的前一帧资源图像。
这样,电子设备在资源图像中分离UI信息后再进行预测帧图像计算,能够有效降低图像数据处理量,也能提升预测帧图像信息的准确性。
根据第一方面,或者以上第一方面的任意一种实现方式,第一资源图像和第二资源图像为游戏应用中的资源图像。
在游戏插帧场景中,图像场景大多比较复杂,且图像场景可能会出现大角度的变化,本申请实施例提供的方案能够准确且快速地对预测帧图像中空白区域进行补全,提升了用户的游戏体验。
第二方面,本申请实施例提供一种电子设备。该电子设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面以及第一方面中任意一项的图像处理方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种计算机可读存储介质。该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面以及第一方面中任意一项的图像处理方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面中任意一项的图像处理方法。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚和该处理电路通过内部连接通路互相通信,该处理电路执行如第一方面或第一方面中任意一项的图像处理方法。以控制接收管脚接收信号,以控制发送管脚发送信号。
第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为示例性示出的电子设备的硬件结构示意图;
图2为示例性示出的电子设备的软件结构示意图;
图3a为示例性示出的插帧模式示意图;
图3b为示例性示出的预测帧插帧示例图;
图4为示例性示出的预测帧图像补全示例图;
图5为本申请实施例提供的图像处理方法流程示意图;
图6为示例性示出的待补全预测帧图像示例以及相应的掩膜图像;
图7为本申请实施例提供的搜索有效静态像素点的流程示意图;
图8为示例性示出的像素点搜索示意图;
图9a-图9b为示例性示出的像素点分组划分示意图;
图10为示例性示出的像素点搜索示意图;
图11为本申请实施例提供的搜索有效静态像素点的流程示意图;
图12为示例性示出的像素点加速搜索示意图;
图13为示例性示出的有效静态像素点的搜索示意图;
图14为示例性示出的预测帧图像补全示例图;
图15为示例性示出的预测帧图像补全效果对比示意图;
图16为示例性示出的针对游戏场景的图像处理流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
如图1所示为电子设备100的结构示意图。可选地,电子设备100可以为终端,也可以称为终端设备,终端可以为蜂窝电话(cellular phone)或平板电脑(pad)等设备,本申请不做限定。应该理解的是,图1所示的电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,加速度传感器,温度传感器,运动传感器,气压传感器,磁传感器,距离传感器,接近光传感器,指纹传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
在本申请实施例中,GPU可以在视频插帧场景中用于对预测帧进行图像补全处理,达到快速补全预测帧图像的效果。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理,例如使得电子设备100实现本申请实施例中的图像处理方法。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。在一些实施例中,电子设备100可以设置多个扬声器170A。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。
陀螺仪传感器可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。
加速度传感器可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时加速度传感器可检测出重力的大小及方向。加速度传感器还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。
按键190包括开机键(或称电源键),音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android Runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括游戏、视频、相机、图库、WLAN、蓝牙、通话、日历、地图、导航等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知信息被用于告知下载完成,消息提醒等。通知信息还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。通知信息例如还可以是在状态栏提示的文本信息,电子设备发出的提示音、振动,指示灯的闪烁等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL),图像提取模块、图像合成模块、预测帧生成模块、预测帧补全模块等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
在本申请实施例中,预测帧生成模块可以用于基于相邻的两帧图像信息生成预测帧图像以及与预测帧图像对应的掩膜图像。其中,在掩膜图像中划分有静态像素点区域、动态像素点区域以及与预测帧图像对应的待补全像素点区域。
预测帧补全模块可以用于根据掩膜图像对预测帧图像中的空白区域进行补全处理,得到图像补全处理后的预测帧图像。
图像提取模块可以用于在资源图像帧中分离图像信息和UI(User Interface,用户界面)信息,得到图像帧,该图像帧用于进行中间帧预测。
其中,图像提取模块也可以集成于三维图形处理库中,本实施例对此不做限定。
图像合成模块可以用于将图像补全处理后的预测帧图像和UI信息进行融合,得到待送显的预测帧。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,音频驱动,Wi-Fi驱动,传感器驱动等。其中,硬件至少包括处理器、显示屏、Wi-Fi模块、传感器等。
可以理解的是,图2示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
可以理解的是,电子设备为了实现本申请实施例中的图像处理方法,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
随着电子技术的发展,智能终端屏幕的刷新率越来越高,视频源的帧率也越来越高,在智能终端中的内存占用和渲染功耗也会随之增加。然而,由于智能终端功耗或CPU、GPU的能力限制,高刷新率和高帧率往往会使智能终端出现发热或卡顿的现象,从而影响用户的使用体验。由此,为了提升用户的使用体验,开发者往往会降低视频源的帧率,再通过视频插帧技术提高视频帧率,实现同帧率下渲染减半,从而大幅度降低智能终端功耗,减少智能终端的发热。
视频插帧技术旨在提高视频的帧率和流畅度,让视频看起来更加“丝滑”。只要在相邻的视频帧之间插入一个预测帧(或称中间帧、过渡帧等),视频的帧率就可以提高一倍。而预测帧的画质直接关系着视频的流畅程度。其中,通过相邻两帧图像信息计算出图像中各物体的移动方向和速度,并将图像中各物体进行相应的移动即可得到预测帧。
参照图3a所示,视频插帧方式可以分为预测帧内插和预测帧外插。在预测帧内插方式中,如图3a中(1)所示,根据相邻的两帧原始帧图像计算出预测帧图像,并将预测帧图像插帧这两帧原始帧图像之间,以此提高视频帧率。在预测帧外插方式中,如图3a中(2)所示,根据相邻的两帧原始帧图像计算出预测帧图像,并将预测帧图像插帧这两帧原始帧图像之后作为下一帧图像,以此提高视频帧率。
以预测帧内插方式为例,参照图3b所示:根据原始帧1和原始帧2计算出预测帧1,并将预测帧1插入原始帧1和原始帧2之间;根据原始帧2和原始帧3计算出预测帧2,并将预测帧2插入原始帧2和原始帧3之间;根据原始帧3和原始帧4计算出预测帧3,并将预测帧3插入原始帧3和原始帧4之间;以此类推。这样,通过预测帧内插的方式提高了视频的帧率,使视频中物体(或人物)运动过渡更加平滑,画面更加流畅。
然而,由于图像中各物体的移动速度不同,预测帧中会出现图像信息缺失的情况。参照图4中(1)所示的预测帧图像,图像中白色区域(或称空白区域)即为图像信息缺失的部分,需要进行图像补全处理。类似的,参照图4中(3)所示的预测帧图像,图像中白色区域(或称空白区域)即为图像信息缺失的部分,需要进行图像补全处理。
需要指出的是,在本申请附图中,各示例性展示的图像均以灰度图的形式展示,下文不再强调。
因此,只有将预测帧图像中的缺失部分补全,才能实现基于预测帧提高视频帧率,达到同帧率下渲染减半使得智能终端功耗降低的效果。
在一种实现方式中,可以采用深度学习网络将预测帧图像中的缺失部分补全,图像补全效果也比较好,但基于深度学习网络进行图像补全的计算量太大,无法将深度学习网络配置在低功耗、低延迟的移动终端中。
在另一种实现方式中,可以采用传统的图像修复操作将预测帧图像中的缺失部分补全,但该图像修复方式在图像修补过程中需要进行大量的循环迭代,耗时巨大。
目前,大多采用图像模糊算法对预测帧图像中的缺失部分进行补全。在图像模糊算法中,针对待补像素点,采用多重泊松采样的方式确定与该待补像素点对应的大量(可能为几十个甚至上百个)静态像素点,并对这多个静态像素点的像素值加权平均以得到待补像素点的像素值。
其中,基于泊松采样方式确定的静态像素点位置随机且数量过多,通常距离待补像素点较远,使得这些静态像素点用于确定待补像素点像素值的可信度较低。
而且,大量静态像素点的像素值加权平均,使得静态像素点的特征信息被削弱,也就会极大地削弱待补像素点的有效信息。进而,在采用图像模糊算法完成对预测帧图像的补全操作后,补全区域画面会模糊一片,与真实帧图像相差较大。
示例性的,如图4中(1)和(2)所示,采用图像模糊算法完成对如图4中(1)所示的预测帧图像完成图像补全后,可以得到如图4中(2)所示的预测帧图像。其中,在图4中(1)所示的预测帧图像中,区域11中空白部分补全后,可以如图4中(2)中区域12所示,但区域12中补全区域比较模糊,无法重现台阶的图像纹路,与真实帧图像相差较大。
又示例性的,如图4中(3)和(4)所示,采用图像模糊算法完成对如图4中(3)所示的预测帧图像完成图像补全后,可以得到如图4中(4)所示的预测帧图像。其中,在图4中(3)所示的预测帧图像中,区域21中空白部分补全后,可以如图4中(4)中区域22所示,但区域22中补全区域比较模糊,无法重现地砖的图像纹路,与真实帧图像相差较大。
这样,采用图像模糊算法填补得到的预测帧图像与真实帧图像相差较大,画质较差,一旦将这种画质的预测帧图像插入原始帧图像之间以提高视频帧率,无疑会出现视频画面闪烁卡顿的情况,影响用户使用体验。而且,图像模糊算法在GPU上运行的速度也较慢,无法适用于低延迟的应用场景,例如游戏场景。
需要指出的是,在游戏插帧场景中,图像场景大多比较复杂,且图像场景可能会出现大角度的变化。一旦预测帧图像中空白区域的补全效果不佳,使得预测帧图像与真实帧图像相差较大,用户均会明显感知到。故而,在游戏插帧场景中,如何准确且快速地对预测帧图像中空白区域进行补全显得尤为重要。
为了解决上述问题,本申请实施例提了一种图像处理方法,以实现对预测帧图像的快速补全处理,提升预测帧图像的画质。其中,本申请实施例提供的图像处理方法可以应用于游戏插帧场景中,也可以应用于其他的图像插帧场景中,例如视频插帧场景、桌面插帧场景、动画插帧场景等。
在本申请实施例提供的技术方案中,针对预测帧图像中空白区域的每个像素点进行像素值补全时,均选用与该像素点最近且距离相等的一些静态像素点,并根据这些静态像素点在预测帧图像中的像素值对该像素点进行像素值补全,以使得预测帧图像中空白区域的每个像素点的像素值更加真实。其中,静态像素点指的是图像中与非运动对象对应的像素点。
这样,由于图像补全处理后的预测帧图像与真实帧图像相差不大,将预测帧图像插入原始帧图像之间以提高视频帧率时,能够解决视频画面闪烁卡顿的问题,提升了用户使用体验。其中,针对游戏插帧场景,采用本申请实施例提供的技术方案能够达到较好的效果,使得预测帧图像与真实帧图像相差不大,进而使得用户的游戏体验得到很大提升。
下述以一帧预测帧图像为例,对本申请实施例提供的图像处理方法的流程进行详细解释说明。
如图5所示,在本申请实施例提供的图像处理方法中,对一帧预测帧图像进行图像补全的流程具体包括:
S301,电子设备获取第一原始视频帧图像和第二原始视频帧图像。
其中,原始视频帧图像,可以简称为原始帧图像或者真实帧图像,为视频源中的一帧图像。也就是说,原始帧图像是在图像处理时可以直接获取到的帧图像,并非是通过计算或预测等手段而得到的。示例性的,以游戏应用为例,原始帧图像可以游戏应用资源中可以直接获取到的一帧图像,该帧图像可以是游戏应用开发人员绘制而生成的。又示例性的,以视频应用为例,原始帧图像可以是视频播放源中的一帧图像,该帧图像可以是通过图像采集设备(例如摄像机等)采集而生成的。
需要指出的是,此处提及的原始帧图像中可以仅包括图像信息,也可以既包括图像信息和UI信息,本申请实施例对此不做限定。其中,UI信息,指的是对软件的人机交互、操作逻辑、界面美观的整体设计信息。示例性的,以游戏应用为例,UI信息可以是应用界面上的操作控件等。
在一种具体的实施方式中,第一原始视频帧图像和第二原始视频帧图像可以是相邻的两帧原始视频帧图像。其中,电子设备基于相邻的第一原始视频帧图像和第二原始视频帧图像计算预测帧图像,并基于预测帧图像进行插帧操作时,能够使得插帧后的视频更加流畅。
当然,第一原始视频帧图像和第二原始视频帧图像也可以是不相邻的两帧原始视频帧图像,本实施例对此不做限定。
S302,电子设备根据第一原始视频帧图像和第二原始视频帧图像,得到第一预测帧图像,以及与第一预测帧图像对应的掩膜图像。
电子设备通过计算第一原始视频帧图像和第二原始视频帧图像的运动矢量(Motion Vector,MV),并基于该运动矢量计算得到相应的预测帧图像(即第一预测帧图像)。其中,预测帧图像是基于运动估计和运动补偿技术生成的,关于预测帧图像的生成方式可以参照已有技术,在此不做赘述。
由于在原始视频中各个物体的移动速度不同,电子设备基于运动矢量计算得到的预测帧图像会出现图像信息覆盖和图像信息缺失的情况。也即,第一预测帧图像为待图像补全的预测帧图像。
示例性的,参照如图6中(1)所示的预测帧图像,在每个运动对象(即处于运动状态的对象)的附近存在空白区域(图中的白色背景区域),需要进行图像补全处理。其中,该空白区域就是运动对象移动后留下的。
与此同时,电子设备还可以计算出与该预测帧图像对应的掩膜图像。
掩膜(mask)是用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。其中,用于覆盖的特定图像称为掩模掩膜图像。在数字图像处理中,掩膜图像为二维矩阵数组,有时也用多值图像进行表示。
其中,掩膜图像可以用于提取感兴趣区域,以及屏屏蔽图像中的某些区域等。通常,掩膜图像可以以灰度图的形式示出。例如,在掩膜图像中将感兴趣区域像素点的灰度值设置为第一灰度值(如1),将屏蔽区域像素点的灰度值设置为第二灰度值(如0)。在本申请实施例中,感兴趣区域像素点可以为与运动对象对应的像素点,屏蔽区域像素点可以为与非运动对象对应的像素点。示例性的,在如图4所示的场景中,人为运动对象,台阶地面等背景为非运动对象。
作为一种可选的实施方式,电子设备根据与第一原始视频帧图像对应的第一掩膜图像,与第二原始视频帧图像对应的第二掩膜图像,以及第一原始视频帧图像和第二原始视频帧图像的运动矢量,可以计算得到与预测帧图像对应的掩膜图像。
其中,在第一掩膜图像以及第二掩膜图像中,与运动对象对应的像素点的灰度值为第一灰度值(如1),与非运动对象对应的像素点的灰度值为第二灰度值(如0)。
电子设备根据第一原始视频帧图像中运动对象的标注信息确定与运动对象对应的像素点,并在第一掩膜图像中将这些像素点的灰度值设置为第一灰度值,然后在第一掩膜图像中将其余像素点(即为与非运动对象对应的像素点)的灰度值设置为第二灰度值,以此得到与第一原始视频帧图像对应的第一掩膜图像。类似的,电子设备也可以得到与第二原始视频帧图像对应的第二掩膜图像。
在得到与第一原始视频帧图像对应的第一掩膜图像,以及与第二原始视频帧图像对应的第二掩膜图像之后,电子设备即可根据第一掩膜图像、第二掩膜图像,以及第一原始视频帧图像和第二原始视频帧图像的运动矢量,计算得到与预测帧图像对应的掩膜图像。其中,电子根据第一掩膜图像、第二掩膜图像,以及运动矢量计算与预测帧图像对应的掩膜图像的流程,与电子设备根据第一原始视频帧图像、第二原始视频帧图像,以及运动矢量计算预测帧图像的流程是相同的,也可以参照已有技术,在此不做赘述。
与预测帧图像相同,由于在原始视频中各个物体的移动速度不同,电子设备基于运动矢量计算得到的与预测帧图像对应的掩膜图像也会出现图像信息覆盖和图像信息缺失的情况。也即,与预测帧图像对应的掩膜图像中也会存在空白区域,空白区域的像素点即为待补全像素值的像素点区域。
在本实施例中,在与预测帧图像对应的掩膜图像中,电子设备可以将空白区域的像素点的灰度值设置为第三灰度值(如0.5)。也即,在与预测帧图像对应的掩膜图像中,待补全像素值的像素点的灰度值为第三灰度值。
由此,在与预测帧图像对应的掩膜图像中,包括三类像素点,一类是待补像素点,一类是静态像素点,一类是动态像素点。其中,待补像素点指的是预测帧图像中需要进行像素值补全的像素点,也即运动对象附近空白区域中的像素点;静态像素点指的是与图像中非运动对象所对应的像素点,其像素值可以用于确定待补像素点的像素值;动态像素点指的是与图像中运动对象所对应的像素点,其像素值不可以用于确定待补像素点的像素值。
也即,静态像素点是用于对待补像素点进行像素值补全的有效参考点,动态像素点是用于对待补像素点进行像素值补全的无效参考点。
在与预测帧图像对应的掩膜图像中,如上三类像素点可以通过灰度值进行区分,三类像素点的灰度值不同。动态像素点的灰度值为第一灰度值,静态像素点的灰度值为第二灰度值,待补像素点的灰度值为第三灰度值。其中,第一灰度值、第二灰度值和第三灰度值互不相等。示例性的,动态像素点的灰度值为1,静态像素点的灰度值为0,待补像素点的灰度值为0.5。
关于图6中(1)所示的预测帧图像,图6中(2)示例性的示出了与其对应的掩膜图像。如图6中(2)所示的掩膜图像中,黑色区域(灰度值为0)的像素点即为静态像素点,白色区域(灰度值为1)的像素点即为动态像素点,灰色区域(灰度值为0.5)的像素点即为待补像素点。
S303,针对掩膜图像中的每个待补像素点,电子设备在掩膜图像中确定与待补像素点对应的一组有效静态像素点,并基于这组有效静态像素点在第一预测帧图像中的像素值确定待补像素点的像素值。
其中,与某个待补像素点对应的一组有效静态像素点,与这个待补像素点的像素间距相等。而且,与其他静态像素点(可以称之为无效静态像素点)相比,这组有效静态像素点与这个待补像素的像素间距最小。
在本申请实施例中,假设距离待补像素点越近的静态像素点,其像素值越接近于待补像素点的真实像素值。因此,针对每个待补像素点,电子设备需要选取与其间距最近的静态像素点作为有效静态像素点,用于对待补像素点的像素值进行修补。
针对每个待补像素点,电子设备确定与其对应的一组静态像素点之后,获取这组静态像素点在第一预测帧图像中的像素值,并将这些像素值加权平均后作为待补像素点的像素值。
其中,与某个待补像素点对应的一组有效静态像素点可以是一个像素点,也可以是多个像素点。但是,一组有效静态像素点的数量不大于预设数量阈值。示例性的,预设数量阈值为4。这样,用于对任意一个待补像素点进行像素修补的有效静态像素点数量较少,且这些有效静态像素点与待补像素点的距离是最小且相等的,由此这些有效像素点用于进行像素值补全的可信度是极高的。
相比于随机选取大量静态像素点对待补像素点进行像素值补全,仅将这些少量有效静态像素点的像素值进行加权平均以得到待补像素点的像素值,不会使静态像素点的特征信息被削弱,也就不会削弱待补像素点的有效信息,使得待补像素点的有效信息极大程度地被保留,补全后的像素值更接近真实值。然而,即使是与待补像素点的距离是最小且相等的多个有效静态像素点,有效静态像素点的数量越多,通过像素值加权平均处理也会在一定程度上削弱像素点特征信息,故此处设置有效静态像素点的数量上限,能够进一步提高待补像素点有效信息被保留的程度。
下述以一个待补像素点为例,对电子设备如何在掩膜图像中确定与其对应的有效静态像素点进行详细解释说明。如图7所示,电子设备在掩膜图像中确定与待补像素点对应的有效静态像素点的流程,包括:
S3031,电子设备以待补像素点为中心,在待补像素点的四周按照与待补像素点间距递增的方式依次确定与待补像素点对应的多组像素点。
其中,在每一组像素点中,每个像素点与待补像素点的间距相等,且这些像素点以待补像素点为中心呈中心对称状分布。
在一种可选的实施方式中,每组像素点的数量相等,每组像素点的数量为4个,均匀分布在以待补像素点为圆心的圆周上。
示例性的,如图8所示:以待补像素点为起点,分别偏移(1,0)、(0,1)、(-1,0)、(0,-1),得到第一组像素点,即标号为n1的像素点;以待补像素点为起点,分别偏移(1,1)、(-1,1)、(-1,-1)、(1,-1),得到第二组像素点,即标号为n2的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第三组像素点,即标号为n3的像素点。
需要指出的是,针对尺寸为Height*Width的图像,在图像宽度方向上像素偏移的一个像素单位为1/Width,在图像高度方向上像素偏移的一个像素单位为1/Height。其中,Height为图像高度像素,Width为图像宽度像素。另外,需要指出的是,上述提及的像素点也可以理解为图像中的像素位置、像素坐标等。
在本实施例中,在确定与待补像素点对应的一组像素点时,以待补像素点为起点,在掩膜图像中偏移整数倍像素单位以得到与其间距相等的多个像素点。也即,像素点的像素坐标是整数倍的像素单位(1/Width或1/Height)。
通常情况下,在以待补像素点为圆心的同一个圆周上,只存在4个像素点与待补像素点的距离相同,如标号为n1的像素点,或者标号为n2、n3的像素点。然后,在一些情况下,在以待补像素点为圆心的同一个圆周上,与待补像素点的距离相同的像素点可能多于4个。
参照图9a所示,按照与待补像素点间距递增的方式继续查找像素点时,可能存在8个像素点与待补像素点的距离相同,如像素点m1-m8所示。此时,可以将这8个像素点间隔划分为两组,每组包括的4个像素点均匀分布在以待补像素点为圆心的圆周上。例如,将像素点m1、m3、m5、m7作为一组像素点,将m2、m4、m6、m8作为另一组像素点。
参照图9b所示,按照与待补像素点间距递增的方式继续查找像素点时,可能存在12个像素点与待补像素点的距离相同,如像素点m1-m12所示。此时,可以将这12个像素点间隔划分为三组,每组包括的4个像素点均匀分布在以待补像素点为圆心的圆周上。例如,将像素点m1、m4、m7、m10作为一组像素点,将m2、m5、m8、m11作为另一组像素点,将m3、m6、m9、m11作为又一组像素点。
类似的,按照与待补像素点间距递增的方式继续查找像素点时,还可能存在更多的像素点与待补像素点的距离相同,此时均可以将这些像素点间隔划分为多组,每组包括4个像素点,且这4个像素点均匀分布在以待补像素点为圆心的圆周上。对此,本申请实施例不再赘述。
其中,将与待补像素点的距离相同的像素点划分为多组时,这多组像素点的排序先后可以是预先设置的,本申请实施例不做限定。
继续参照图8:以待补像素点为起点,分别偏移(1,2)、(2,-1)、(-1,-2)、(-2,1),得到第四组像素点,即标号为n4的像素点;以待补像素点为起点,分别偏移(2,1)、(1,-2)、(-2,-1)、(-1,2),得到第五组像素点,即标号为n5的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第六组像素点,即标号为n6的像素点。
以此类推,可以在待补像素点的四周按照与待补像素点间距递增的方式,依次确定与待补像素点对应的多组像素点,可以参照图10所示。每组像素点包括4个像素点,且这4个像素点均匀分布在以待补像素点为圆心的圆周上。
在另一种可选的实施方式中,每组像素点的数量不一定相等,每组像素点的数量取决于该组像素点与待补像素点的间距。
示例性的,如图8所示:以待补像素点为起点,分别偏移(1,0)、(0,1)、(-1,0)、(0,-1),得到第一组像素点,即标号为n1的像素点;以待补像素点为起点,分别偏移(1,1)、(-1,1)、(-1,-1)、(1,-1),得到第二组像素点,即标号为n2的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第三组像素点,即标号为n3的像素点;以待补像素点为起点,分别偏移(1,2)、(2,-1)、(-1,-2)、(-2,1)、(2,1)、(1,-2)、(-2,-1)、(-1,2),得到第四组像素点,即标号为n4和n5的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第五组像素点,即标号为n6的像素点。
以此类推,可以在待补像素点的四周按照与待补像素点间距递增的方式,依次确定与待补像素点对应的多组像素点,此时也可以参照图10所示,只是每组像素点的数量不一定相同。其中,每组像素点的数量,即为以待补像素点为中心的圆周上分布的像素点数量。需要注意的是,此处提及的像素点均是以待补像素点为起点,在掩膜图像中偏移整数倍像素单位而得到的。
S3032,电子设备按照像素点距离待补像素点由近及远的排序,依次选取一组像素点作为目标组像素点。
继续参照图8,标号为n1的一组像素点,标号为n2的一组像素点,标号为n3的一组像素点,与待补像素点之间的距离由近及远,以此类推。
其中,标号为n4的一组像素点,以及标号为n5的一组像素点,与待补像素点之间的距离是相等的,本实施例不对这两组像素点的排序进行限定。示例性的,针对一个待补像素点,如果存在多组像素点与其距离相等,则可以预先设置这多组像素点的排序。
示例性的,如图8所示的多组像素点的排序为:标号为n1的一组像素点,标号为n2的一组像素点,标号为n3的一组像素点,标号为n4的一组像素点,标号为n5的一组像素点,标号为n6的一组像素点,以此类推。
S3033,电子设备判断在目标组像素点中是否存在静态像素点,若是,则执行S3034,若否,则执行S3032。
电子设备根据像素点的灰度值依次对目标组像素点中的每个像素点进行判断。如果像素点的灰度值为第二灰度值(如灰度值为0),则该像素点为静态像素点;如果像素点的灰度值为第三灰度值,则该像素点为动态像素点(如灰度值为1);如果像素点的灰度值为第一灰度值(如灰度值为0.5),则该像素点为待补像素点。
如果电子设备判断出目标组像素点中不存在静态像素点,则继续执行S3032,以对下一组像素点进行判断,直至在某一组像素点中判断出存在静态像素点。
S3034,电子设备将目标组像素点中的静态像素点作为有效静态像素点。
如果电子设备判断出目标组像素点中存在静态像素点,则将目标组像素点中的所有静态像素点作为有效静态像素点。
其中,在目标组像素点中确定的有效静态像素点的数量可以为1-4中的任意一个。
需要指出的是,在电子设备执行S3031每确定一组像素点之后,电子设备即可按照像素点距离由近及远的顺序进行该组像素点中是否存在静态像素点的判断。在电子设备执行S3032-S3033的过程中,电子设备会继续执行S3031以按照像素点间距递增的方式确定与待补像素点对应的多组像素点,直至电子设备判断出与待补像素点对应的一组像素点中存在静态像素点时结束。示例性的,电子设备通过一个线程A执行S3031,通过另外一个线程B执行S3032-S3034。当线程B执行至S3034时,通知线程A,以使线程A销毁不再执行S3031。
电子设备在执行完成S3034之后,确定与一个待补像素点对应的有效静态像素点的流程结束,此时电子设备也不会继续执行“在待补像素点的四周按照与待补像素点间距递增的方式查找像素点”的操作,也即电子设备不会继续执行S3031的操作。
为了提升预测帧图像的补全效率,针对每个待补像素点,电子设备可以提升确定与其对应的有效静态像素点的效率。如图11所示,电子设备在掩膜图像中确定与待补像素点对应的有效静态像素点的流程,包括:
S3031’,电子设备以待补像素点为中心,在待补像素点的四周按照与待补像素点间距递增的方式依次确定与待补像素点对应的多组像素点。
其中,在每一组像素点中,每个像素点与待补像素点的间距相等,且这些像素点以待补像素点为中心呈中心对称状分布。
在一种可选的实施方式中,每组像素点的数量相等,每组像素点的数量为4个,均匀分布在以待补像素点为圆心的圆周上。
示例性的,如图8所示:以待补像素点为起点,分别偏移(1,0)、(0,1)、(-1,0)、(0,-1),得到第一组像素点,即标号为n1的像素点;以待补像素点为起点,分别偏移(1,1)、(-1,1)、(-1,-1)、(1,-1),得到第二组像素点,即标号为n2的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第三组像素点,即标号为n3的像素点。
继续参照图8:以待补像素点为起点,分别偏移(1,2)、(2,-1)、(-1,-2)、(-2,1),得到第四组像素点,即标号为n4的像素点;以待补像素点为起点,分别偏移(2,1)、(1,-2)、(-2,-1)、(-1,2),得到第五组像素点,即标号为n5的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第六组像素点,即标号为n6的像素点。
以此类推,可以在待补像素点的四周按照与待补像素点间距递增的方式,依次确定与待补像素点对应的多组像素点,可以参照图10所示。每组像素点包括4个像素点,且这4个像素点均匀分布在以待补像素点为圆心的圆周上。
在另一种可选的实施方式中,每组像素点的数量不一定相等,每组像素点的数量取决于该组像素点与待补像素点的间距。
示例性的,如图8所示:以待补像素点为起点,分别偏移(1,0)、(0,1)、(-1,0)、(0,-1),得到第一组像素点,即标号为n1的像素点;以待补像素点为起点,分别偏移(1,1)、(-1,1)、(-1,-1)、(1,-1),得到第二组像素点,即标号为n2的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第三组像素点,即标号为n3的像素点;以待补像素点为起点,分别偏移(1,2)、(2,-1)、(-1,-2)、(-2,1)、(2,1)、(1,-2)、(-2,-1)、(-1,2),得到第四组像素点,即标号为n4和n5的像素点;以待补像素点为起点,分别偏移(2,0)、(0,2)、(-2,0)、(0,-2),得到第五组像素点,即标号为n6的像素点。
以此类推,可以在待补像素点的四周按照与待补像素点间距递增的方式,依次确定与待补像素点对应的多组像素点,此时也可以参照图10所示,只是每组像素点的数量不一定相同。
S3032’,电子设备在每次确定与待补像素点对应的N组像素点之后,根据扩增系数确定与这N组像素点对应的N组扩增像素点。
其中,扩增系数(或称像素坐标扩增系数)用于调整像素点的像素位置,使得该像素点与待补像素的间距增大。
示例性的,某个像素点的像素位置为(x,y),扩增系数为a,则相应的扩增像素点的位置为(ax,ay)。需要指出的是,在扩增前像素点的像素坐标是整数倍的像素单位(1/Width或1/Height),由于扩增系数不一定为整数,则在扩增后像素点的像素坐标大多为非整数倍的像素单位。
在本实施例中,N组像素点作为一个整体(或称一个大组),基于同一个扩增系数进行像素位置调整,以使得这些像素点与待补像素的间距增大,且间距增大的倍数相同。
示例性的,N可以设置为6。
电子设备在确定第一个N组像素点之后,根据扩增系数确定与第一个N组像素点对应的第一个N组扩增像素点,并在确定第二个N组像素点之后,根据扩增系数确定与第二个N组像素点对应的第二个N组扩增像素点,以此类推。
在一种可选的实施方式中,针对不同的N组像素点,均采用相同的扩增系数进行像素位置的调整。
在另一种可选的实施方式中,针对不同的N组像素点,采用不同的扩增系数进行像素位置的调整。
其中,与待补像素点的间距越大,与N组像素点对应的扩增系数越大,这样能进一步提升有效静态像素点的搜索效率。示例性的,相比于第一个N组像素点,第二个N组像素点与待补像素点的间距更大,与第一个N组像素点对应的扩增系数为a1,与第二个N组像素点对应的扩增系数为a2,a1小于a2。
可选的,与第x个N组像素点对应的扩增系数Stype可以基于如下公式确定:
x=x+0.5,Stype=Stype+x*(1/Height);
其中,Height为图像的高度像素,x的初始值为1,Stype的初始值为0。
在每次确定与待补像素点对应的一个N组像素点之后,电子设备可以根据上述公式计算与这个N组像素点对应的扩增系数,并根据该扩增系数对这个N组像素点进行像素位置的调整,以得到相应的N组扩增像素点。
图12示例性的示出了与待补像素点对应的多组扩增像素点。如图12所示,围绕为待补像素点周围的像素点均为扩增像素点。继续参照图12,相比于扩增前的多组像素点,这多组扩增像素点与待补像素点的间距更大,在待补像素点周围覆盖的区域面积更大。此时,电子设备基于这多组扩增像素点搜索与待补像素点对应的有效静态像素点,能够有效提升有效静态像素点的搜索效率。
在另一种可选的实施方式中,电子设备在每确定与待补像素点对应的一组像素点之后,根据扩增系数确定与这组像素点对应的一组扩增像素点。
可选的,针对不同组的像素点,均采用相同的扩增系数进行像素位置的调整。
可选的,针对不同组的像素点,采用不同的扩增系数进行像素位置的调整。其中,其中,与待补像素点的间距越大,与该组像素点对应的扩增系数越大。示例性的,与第一组像素点对应的扩增系数为b1,与第二组像素点对应的扩增系数为b2,b1小于b2。
S3033’,电子设备按照扩增像素点距离待补像素点由近及远的排序,依次选取一组扩增像素点作为目标组像素点。
需要指出的是,按照距离待补像素点由近及远排序时,每组扩增像素点的排序与扩增前相应的一组像素点的排序是相同的。例如,在像素位置扩增前各组像素点按照距离待补像素点由近及远的排序为:第一组像素点,第二组像素点,第三组像素,…,第N组像素。与第一组像素点,第二组像素点,第三组像素,…,第N组像素分别对应的扩增像素组分别为:第一组扩增像素点,第二组扩增像素点,第三组扩增像素,…,第N组扩增像素。则在像素位置扩增后各组扩增像素点按照距离待补像素点由近及远的排序为:第一组扩增像素点,第二组扩增像素点,第三组扩增像素,…,第N组扩增像素。
S3034’,电子设备判断在目标组像素点中是否存在静态像素点,若是,则执行S3035’,若否,则执行S3033’。
S3035’,电子设备将目标组像素点中的静态像素点作为有效静态像素点。
这样,电子设备将各组像素点进行像素位置扩增,并基于扩增后的像素组搜索与待补像素点对应的有效静态像素点,能够有效提高搜索有效静态像素点的效率,进而能够提高预测帧图像的补全效率。
在确定与某个待补像素点对应的一组有效静态像素点之后,电子设备即可根据这组有效静态像素点在第一预测帧图像中的像素值,确定待补像素点的像素值。其中,将这些有效静态像素点在第一预测帧图像中的像素值进行加权平均,即可得到待补像素点的像素值。
示例性的,假设与某个待补像素点对应的有效静态像素点的数量2。如图13所示,在与某个待补像素点对应的一组像素点中,像素点p1和p2为有效静态像素点。假设像素点p1在第一预测帧图像中的像素值为(r1,g1,b1),像素点p2在第一预测帧图像中的像素值为(r2,g2,b2),则这个待补像素点在第一预测帧图像中的像素值应该为((r1+r2)/2,(g1+g2)/2,(b1+b2)/2)。其中,r、g、b分别代表像素点的R值、G值和B值。
又示例性的,假设与某个待补像素点对应的有效静态像素点的数量4,分别为像素点p1、p2、p3、p4。假设像素点p1在第一预测帧图像中的像素值为(r1,g1,b1),像素点p2在第一预测帧图像中的像素值为(r2,g2,b2),像素点p3在第一预测帧图像中的像素值为(r3,g3,b3),像素点p4在第一预测帧图像中的像素值为(r4,g4,b4),则这个待补像素点在第一预测帧图像中的像素值应该为((r1+r2+r3+r4)/2,(g1+g2+g3+g4)/2,(b1+b2+b3+b4)/2)。
这样,依旧上述流程确定的有效静态像素点,是距离待补像素点最近的静态像素点,且这些有效静态像素点与待补像素点之间的距离相等。在确定待补像素点的像素值时,这些有效静态像素点的像素值的可信度较高。而且,有效静态像素点的数量较少,像素值的加权平均也能够极大地保留待补像素点的有效信息。
S304,电子设备根据各个待补像素点的像素值对第一预测帧图像进行像素值填充,得到第二预测帧图像。
第二预测帧图像,即为对第一预测帧图像完成图像补全处理后得到的预测帧图像。
其中,电子设备可以在每次确定一个待补像素点的像素值之后,随即根据这个待补像素点的像素值对第一预测帧图像进行像素值填充,也可以在确定完所有待补像素点的像素值之后,再根据这些待补像素点的像素值对第一预测帧图像进行像素值填充,本实施例对此不做限定。
图14示例性的示出了一个预测帧图像补全示例。图14中(1)和(2)分别示出了待补全的预测帧图像,以及与其对应的掩膜图像。根据上述流程,电子设备根据掩膜图像对预测帧图像进行补全,可以快速得到如图14中(3)所示的已完成图像补全的预测帧图像。
针对掩膜图像中的多个待补像素点,电子设备可以基于GPU并行地确定与这多个待补像素点分别对应的一组有效静态像素点,并基于每组有效静态像素点在第一预测帧图像中的像素值确定各个待补像素点的像素值,进而将各个待补像素点的像素值填充至第一预测帧图像中。
其中,电子设备可以并行处理的待补像素点数量与GPU的性能有关。
这样,电子设备基于GPU搜索与各个待补像素点对应的有效静态像素点,并计算各个待补像素点的像素值,能够有效提升图像补全处理的效率,达到快速补全预测帧图像的效果。
在本实施例中,作为待补像素点的修补依据的静态像素点,其距离待补像素点的间距最小,使得基于这些静态像素点确定待补像素点像素值的可信度较高。而且,由于这些静态像素点的数量较少,这些静态像素点的像素值加权平均,极大地保留了待补像素点的有效信息。进而,在采用本实施例方案完成对预测帧图像的补全操作后,补全区域像素不会模糊一片,预测帧图像画质较好,极大地还原了真实场景。
图15示例性的示出了预测帧图像补全对比示意图。针对如图15中(1)所示的待补全的预测帧图像,采用图像模糊算法对预测帧图像中的缺失部分进行补全,得到的已补全的预测帧图像如图15中(2)所示,采用本实施例方案对预测帧图像中的缺失部分进行补全,得到的已补全的预测帧图像如图15中(3)所示。针对预测帧图像中的缺失部分,图15中(2)中补全部分区域比较模糊,无法重现台阶的图像纹路,与真实帧图像相差较大。然而,针对预测帧图像中的缺失部分,图15中(3)中补全部分区域相对比较清晰,在一定程度上重现了台阶的图像纹路,与真实帧图像相差不大,画质效果较好。
本实施例提供的图像处理方法可以应用于任意需要对预测帧图像进行图像补全的应用场景中,例如游戏插帧场景、视频插帧场景、桌面插帧场景、动画插帧场景等。
下述以游插帧戏场景为例,对本申请实施例提供的图像处理方法的应用进行解释说明。
如图16所示,本申请实施例提供的图像处理方法的流程,具体包括:
S401,游戏APP向三维图形处理库发送资源图像。
资源图像,指的是在游戏APP的图像数据,旨在游戏APP界面中显示的图像。其中,资源图像中包括图像信息和UI信息。其中,UI信息,指的是对软件的人机交互、操作逻辑、界面美观的整体设计信息。
S402,三维图像处理库对游戏APP的资源图像进行渲染。
关于三维图像处理库对资源图像进行渲染的流程可以参照已有技术,在此不再赘述。
S403,图像提取模块拦截渲染后的资源图像,在资源图像中提取原始帧图像和UI信息,并将原始帧图像和UI信息进行存储。
其中,在大多情形下,UI信息不会发生变化,在每帧画面中的显示位置也是固定的,不会发生变化。示例性的,在游戏应用界面中,UI信息可以包括用户操作控件等。
在电子设备基于相邻的原始帧图像预测中间帧图像时,由于界面UI信息不会发生变化,则可以首先通过图像提取模块将图像信息和UI信息分离,只基于图像信息进行中间帧预测,以此降低图像数据的处理量,并提高中间帧图像预测的准确性。
在一些特殊情形下,UI信息可能会发生变化,电子设备也可以通过图像提取模块先将图像信息和UI信息分离,并基于图像信息进行中间帧预测,在得到中间帧图像之后再将其与当前帧图像的UI信息进行融合即可,本实施例对此不做限定。
图像提取模块在渲染后的资源图像中通过特征识别出原始帧图像(即游戏场景图像)和UI信息,并将原始帧图像绘制到私有的图像帧缓存中。
同时,图像提取模块也将匹配的UI信息对应进行存储。示例性的,UI信息可以包括但不限于UI图像内容以及UI图像的显示位置信息等。
S404,预测帧生成模块获取相邻的两帧原始帧图像,根据相邻的两帧原始帧图像生成第一预测帧图像和其掩膜图像,并将第一预测帧图像和其掩膜图像发送至预测帧补全模块。
其中,预测帧生成模块在图像帧缓存中读取相邻的两帧原始帧图像,通常为当前原始帧图像以及当前原始帧图像的前一原始帧图像。预测帧生成模块通过计算相邻的两帧原始帧图像的运动矢量,并基于该运动矢量计算得到相应的预测帧图像(即第一预测帧图像)。其中,预测帧图像是基于运动估计和运动补偿技术生成的,关于预测帧图像的生成方式可以参照已有技术,在此不做赘述。
由于在原始视频中各个物体的移动速度不同,预测帧生成模块基于运动矢量计算得到的预测帧图像会出现图像信息覆盖和图像信息缺失的情况。也即,第一预测帧图像为待图像补全的预测帧图像,例如图14中(1)所示的预测帧图像。
与此同时,预测帧生成模块还可以计算出与第一预测帧图像对应的掩膜图像。其中,掩膜图像通常以灰度图的形式示出,例如图14中(2)所示的掩膜图像。
在与预测帧图像对应的掩膜图像中,包括三类像素点,一类是待补像素点,一类是静态像素点,一类是动态像素点。其中,待补像素点指的是预测帧图像中需要进行像素值补全的像素点,也即运动对象附近空白区域中的像素点;静态像素点指的是与图像中非运动对象所对应的像素点,其像素值可以用于确定待补像素点的像素值;动态像素点指的是与图像中运动对象所对应的像素点,其像素值不可以用于确定待补像素点的像素值。
如图14中(2)所示的掩膜图像中,黑色区域(灰度值为0)的像素点即为静态像素点,白色区域(灰度值为1)的像素点即为动态像素点,灰色区域(灰度值为0.5)的像素点即为待补像素点。
S405,预测帧补全模块根据掩膜图像对第一预测帧图像进行图像补全,得到第二预测帧图像,并将第二预测帧图像发送至图像合成模块。
针对掩膜图像中的每个待补像素点,预测帧补全模块在掩膜图像中确定与待补像素点对应的一组有效静态像素点,并基于这组有效静态像素点在第一预测帧图像中的像素值确定待补像素点的像素值。进而,预测帧补全模块根据各个待补像素点的像素值对第一预测帧图像进行像素值填充,得到第二预测帧图像。
第二预测帧图像,即为对第一预测帧图像完成图像补全处理后得到的预测帧图像。
其中,关于预测帧补全模块在掩膜图像中确定与待补像素点对应的有效静态像素点的流程可以参照如图7或图11所示的流程,在此不再赘述。
S406,图像合成模块将第二预测帧图像与UI信息合成,得到目标预测帧图像,并将目标预测帧图像送显。
其中,图像合成模块将第二预测帧图像和与当前原始帧图像对应的UI信息合成,以得到目标预测帧图像。
这样,在对预测帧图像完成补全处理后,将其与UI信息进行图像合成,即可得到目标预测帧图像,进而可以将目标预测帧图像输出至电子设备显示屏进行显示。
需要指出的是,上述流程仅以处理一帧预测帧图像为例进行解释说明,针对每帧预预测帧图像进行处理的流程亦是如此,不再赘述。关于目标预测帧图像的送显顺序,与预测帧图像的插帧方式有关,可以参照已有技术,在此不再赘述。关于本流程未尽详细解释之处也可以参照已有技术,在此不再赘述。
对于高刷新率的游戏在移动平台上往往由于功耗或CPU、GPU能力的限制容易出现发热或卡顿现象,从而影响用户体验,游戏开发者为了增强游戏流畅性体验,往往会使用降低原始刷新率,再在图像空间生成预测帧,实现同帧率下渲染操作减半,从而大幅度降低智能终端功耗,减少智能终端的发热。
针对预测帧图像存在图像信息缺失的情况,采用本申请实施例提供的图像处理方法不仅能快速地将图像缺失部分进行补全,也能显著提升预测帧图像的画质,在渲染帧数减半的情况下确保游戏的流畅性不变,也能降低智能终端功耗,减少智能终端的发热,从而提升了用户的使用体验。
在其他插帧应用场景中,也可以采用本申请实施例提供的图像处理方法对预测帧图像进行快速补全处理,对此不再赘述。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的图像处理方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的图像处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的图像处理方法。
其中,本实施例提供的电子设备(如手机等)、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (17)

1.一种图像处理方法,其特征在于,包括:
获取第一图像和第二图像,所述第一图像和所述第二图像为原始帧图像;
计算所述第一图像和所述第二图像的运动矢量,并根据所述运动矢量得到第一预测帧图像;
根据与所述第一图像对应的第一掩膜图像、与所述第二图像对应的第二掩膜图像以及所述运动矢量,得到与所述第一预测帧图像对应的目标掩膜图像;其中,所述目标掩膜图像中的像素点包括待补像素点和静态像素点;
针对每个所述待补像素点,在所述目标掩膜图像中确定与所述待补像素点对应的目标静态像素点,并根据所述目标静态像素点在所述第一预测帧图像中的像素值,确定所述待补像素点的像素值;其中,在所述静态像素点中,所述目标静态像素点与所述待补像素点的间距最小;
根据各个所述待补像素点的像素值对所述第一预测帧图像进行填充,得到第二预测帧图像。
2.根据权利要求1所述的方法,其特征在于,所述目标静态像素点的数量为一个或多个;
当所述目标静态像素点的数量为多个时,每个所述目标静态像素点与所述待补像素点的间距相等。
3.根据权利要求2所述的方法,其特征在于,所述目标静态像素点的数量小于等于第一数量阈值。
4.根据权利要求1所述的方法,其特征在于,在所述目标掩膜图像中确定与所述待补像素点对应的目标静态像素点,包括:
以所述待补像素点为中心,在所述待补像素点的四周,按照与所述待补像素点的间距递增的方式依次确定与所述待补像素点对应的多组像素点;其中,在每组像素点中,每个像素点与所述待补像素点的间距相等;
按照距离所述待补像素点由近及远的顺序,依次选取一组像素点作为目标组像素点;
如果所述目标组像素点中存在静态像素点,则将所述静态像素点作为所述目标静态像素点。
5.根据权利要求4所述的方法,其特征在于,确定与所述待补像素点对应的一组像素点,包括:
以所述待补像素点为起点,在所述目标掩膜图像中偏移整数倍的像素单位,以得到与所述待补像素点对应的一组像素点;
其中,像素单位为1/Width或1/Height,Height为图像高度像素,Width为图像宽度像素。
6.根据权利要求4所述的方法,其特征在于,还包括:
在每次确定与所述待补像素点对应的N组像素点之后,根据扩增系数确定与所述N组像素点对应的N组扩增像素点;N为自然数;
所述依次选取一组像素点作为目标组像素点,包括:
依次选取一组扩增像素点作为所述目标组像素点。
7.根据权利要求6所述的方法,其特征在于,不同的N组像素点对应的扩增系数不同。
8.根据权利要求6所述的方法,其特征在于,第一个N组像素点对应的扩增系数为第一值,第二个N组像素点对应的扩增系数为第二值;
所述第一个N组像素点与所述待补像素点的间距,小于所述第二个N组像素点与所述待补像素点的间距,所述第一值小于所述第二值。
9.根据权利要求4所述的方法,其特征在于,与所述待补像素点对应的每组像素点的数量相等,所述数量为第二数量阈值。
10.根据权利要求4所述的方法,其特征在于,在所述目标掩膜图像中还包括动态像素点;其中,所述动态像素点的灰度值为第一灰度值,所述静态像素点的灰度值为第二灰度值,所述待补像素点的灰度值为第三灰度值;所述第一灰度值、所述第二灰度值和所述第三灰度值互不相等;
所述目标组像素点中存在静态像素点,包括:
根据像素点的灰度值判断所述目标组像素点中是否存在静态像素点。
11.根据权利要求1所述的方法,其特征在于,根据所述目标静态像素点在所述第一预测帧图像中的像素值,确定所述待补像素点的像素值,包括:
获取所述目标静态像素点在所述第一预测帧图像中的像素值;
将所述目标静态像素点的像素值的加权平均值,作为所述待补像素点的像素值。
12.根据权利要求1所述的方法,其特征在于,针对每个所述待补像素点,在所述目标掩膜图像中确定与所述待补像素点对应的目标静态像素点,并根据所述目标静态像素点在所述第一预测帧图像中的像素值,确定所述待补像素点的像素值,包括:
针对每个所述待补像素点,通过GPU在所述目标掩膜图像中确定与所述待补像素点对应的目标静态像素点,并根据所述目标静态像素点在所述第一预测帧图像中的像素值,确定所述待补像素点的像素值。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述第一图像和所述第二图像为已渲染的图像。
14.根据权利要求13所述的方法,其特征在于,所述获取第一图像和第二图像,包括:
获取第一资源图像;在所述第一资源图像中分离用户界面UI信息,得到所述第一图像;
获取第二资源图像;在所述第二资源图像中分离UI信息,得到所述第二图像;
在得到第二预测帧图像之后,还包括:
将所述第二预测帧图像和UI信息进行融合,得到目标预测帧图像。
15.根据权利要求14所述的方法,其特征在于,所述第一资源图像和所述第二资源图像为游戏应用中的资源图像。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-15中任一项所述的图像处理方法。
17.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-15中任一项所述的图像处理方法。
CN202211418256.5A 2022-11-14 2022-11-14 图像处理方法及电子设备 Active CN116708931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211418256.5A CN116708931B (zh) 2022-11-14 2022-11-14 图像处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211418256.5A CN116708931B (zh) 2022-11-14 2022-11-14 图像处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN116708931A CN116708931A (zh) 2023-09-05
CN116708931B true CN116708931B (zh) 2024-03-15

Family

ID=87832791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211418256.5A Active CN116708931B (zh) 2022-11-14 2022-11-14 图像处理方法及电子设备

Country Status (1)

Country Link
CN (1) CN116708931B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621693A (zh) * 2009-07-31 2010-01-06 重庆大学 一种结合目标分割和不规则块补偿的帧频提升方法
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置
CN113014846A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种视频采集控制方法、电子设备、计算机可读存储介质
CN113452921A (zh) * 2020-03-26 2021-09-28 华为技术有限公司 图像处理方法和电子设备
WO2021223577A1 (zh) * 2020-05-08 2021-11-11 腾讯科技(深圳)有限公司 一种视频处理的方法、相关装置、存储介质及程序产品
WO2022108472A1 (en) * 2020-11-20 2022-05-27 Huawei Technologies Co., Ltd Device and method for optimizing power consumption during frames rendering
WO2022217610A1 (zh) * 2021-04-16 2022-10-20 Oppo广东移动通信有限公司 残差编码方法及设备、视频编码方法及设备、存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2214137B1 (en) * 2009-01-29 2024-04-03 Vestel Elektronik Sanayi ve Ticaret A.S. A method and apparatus for frame interpolation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置
CN101621693A (zh) * 2009-07-31 2010-01-06 重庆大学 一种结合目标分割和不规则块补偿的帧频提升方法
CN113014846A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种视频采集控制方法、电子设备、计算机可读存储介质
CN113452921A (zh) * 2020-03-26 2021-09-28 华为技术有限公司 图像处理方法和电子设备
WO2021223577A1 (zh) * 2020-05-08 2021-11-11 腾讯科技(深圳)有限公司 一种视频处理的方法、相关装置、存储介质及程序产品
WO2022108472A1 (en) * 2020-11-20 2022-05-27 Huawei Technologies Co., Ltd Device and method for optimizing power consumption during frames rendering
WO2022217610A1 (zh) * 2021-04-16 2022-10-20 Oppo广东移动通信有限公司 残差编码方法及设备、视频编码方法及设备、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于 GPU 平台的图像后处理算法实现研究;姜旭;《中国优秀硕士学位论文全文数据信息科技辑》;1-76 *

Also Published As

Publication number Publication date
CN116708931A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN115473957B (zh) 一种图像处理方法和电子设备
CN114205522B (zh) 一种长焦拍摄的方法及电子设备
CN113747085B (zh) 拍摄视频的方法和装置
CN109191549B (zh) 显示动画的方法及装置
CN113254120B (zh) 数据处理方法和相关装置
KR20150077646A (ko) 이미지 처리 장치 및 방법
WO2022007862A1 (zh) 图像处理方法、系统、电子设备及计算机可读存储介质
CN112328130A (zh) 显示处理方法及电子设备
CN113709355B (zh) 滑动变焦的拍摄方法及电子设备
CN115689963B (zh) 一种图像处理方法及电子设备
CN113409427A (zh) 动画播放方法、装置、电子设备及计算机可读存储介质
CN116055857A (zh) 拍照方法及电子设备
CN114756184A (zh) 协同显示方法、终端设备及计算机可读存储介质
CN116708931B (zh) 图像处理方法及电子设备
CN114283195B (zh) 生成动态图像的方法、电子设备及可读存储介质
CN115150542B (zh) 一种视频防抖方法及相关设备
CN116263971A (zh) 图像帧的预测方法、电子设备及计算机可读存储介质
WO2024103872A1 (zh) 图像处理方法及电子设备
CN117082295B (zh) 图像流处理方法、设备及存储介质
CN116688494B (zh) 生成游戏预测帧的方法和电子设备
CN116757963B (zh) 图像处理方法、电子设备、芯片系统及可读存储介质
CN116048323B (zh) 图像处理方法及电子设备
CN115460343B (zh) 图像处理方法、设备及存储介质
CN116672707B (zh) 生成游戏预测帧的方法和电子设备
WO2022228196A1 (zh) 一种视频处理方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant