CN111557016B - 用于生成包括模拟的运动模糊的图像的方法和设备 - Google Patents

用于生成包括模拟的运动模糊的图像的方法和设备 Download PDF

Info

Publication number
CN111557016B
CN111557016B CN201880085169.8A CN201880085169A CN111557016B CN 111557016 B CN111557016 B CN 111557016B CN 201880085169 A CN201880085169 A CN 201880085169A CN 111557016 B CN111557016 B CN 111557016B
Authority
CN
China
Prior art keywords
frames
interest
frame
motion
generating
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
CN201880085169.8A
Other languages
English (en)
Other versions
CN111557016A (zh
Inventor
A.肖哈萨尼拉什丹
A.梁
E.克拉斯尼科夫
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN111557016A publication Critical patent/CN111557016A/zh
Application granted granted Critical
Publication of CN111557016B publication Critical patent/CN111557016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20216Image averaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

公开了用于模拟运动模糊的方法、设备和系统。在某些方面,设备包括存储器和耦合到该存储器的一个或多个处理器。该一个或多个处理器可以被配置为接收多个帧、识别该多个帧内的感兴趣的物体、跟踪该多个帧内的感兴趣的物体、对准该多个帧内的感兴趣的物体,并基于混合所对准的多个帧来生成最终帧。

Description

用于生成包括模拟的运动模糊的图像的方法和设备
援引35U.S.C.§119的优先权申明
本专利申请要求于2018年1月5日提交并且受让给本受让人的标题为“MOTIONBLUR SIMULATION”的美国非临时申请No.15/863,499的优先权,并且该申请通过引用明确地并入本文。
技术领域
本公开一般而言涉及使用包括移动物体的多个帧来生成包括模拟的运动模糊的图像。
背景技术
摇摄图像是运动中的物体的图像。物体可以包括由图像捕获设备捕获的场景内的任何感兴趣的物体。在摇摄图像内,物体可以是清晰的,而场景的背景(例如,场景中除物体以外的其它方面)可以是模糊的。模糊会在摇摄图像中产生运动的视觉效果。摇摄图像通常由经验丰富的摄影师拍摄。捕获摇摄图像常常要求摄影师利用相机准确地遵循移动物体的速度。捕获摇摄图像常常还要求调整相机设置。例如,可以通过降低快门速度来拍摄摇摄图像。在这种情况下,可能难以确定或估计曝光时间。作为另一个示例,可以通过在与物体相同的运动方向上移动图像捕获设备来拍摄摇摄图像。但是,这种摇摄图像将要求稳定的手或三脚架来跟踪物体。而且,将必须控制图像捕获设备的移动速率和运动方向以匹配移动物体的移动速率和运动方向,否则摇摄图像会过度模糊。
发明内容
本公开的各方面针对用于生成包括模拟的运动模糊的图像的方法和设备。在一个方面,一种设备包括存储器和耦合到存储器的一个或多个处理器。一个或多个处理器可以被配置为接收多个帧。一个或多个处理器还可以被配置为识别多个帧内的感兴趣的物体。一个或多个处理器还可以被配置为跟踪多个帧内的感兴趣的物体。一个或多个处理器还可以被配置为对准多个帧内的感兴趣的物体。一个或多个处理器还可以被配置为基于混合所对准的多个帧来生成最终帧。
在某些方面,一个或多个处理器还可以被配置为基于所对准的多个帧的帧插值来生成一个或多个新的帧。混合所对准的多个帧可以包括混合一个或多个新的帧和所对准的多个帧。
在某些方面,跟踪多个帧内的感兴趣的物体可以包括确定多个帧内的感兴趣的物体的运动。确定感兴趣的物体的运动可以包括确定感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个。对准多个帧内的感兴趣的物体可以包括基于感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个来对准一个或多个帧。
在某些方面,对准多个帧内的感兴趣的物体可以包括对准多个帧内的、包围感兴趣的物体的界定框。
在某些方面,一个或多个处理器还可以被配置为显示用户可选择的运动模糊范围,以允许用户选择要模拟的运动模糊的量。在某些方面,一个或多个处理器还可以被配置为接收要模拟的运动模糊的量的选择。
在某些方面,一个或多个处理器还可以被配置为通过生成多个相继的最终帧来生成最终视频。
在另一方面,公开了一种方法。该方法可以包括:接收多个帧;识别多个帧内的感兴趣的物体;跟踪多个帧内的感兴趣的物体;对准多个帧内的感兴趣的物体;以及基于混合所对准的多个帧来生成最终帧。
在另一方面,公开了一种非暂态计算机可读存储介质。非暂态计算机可读存储介质可以在其上存储指令,该指令在被运行时使一个或多个处理器接收多个帧、识别多个帧内的感兴趣的物体、跟踪多个帧内的感兴趣的物体、对准多个帧内的感兴趣的物体,并基于混合所对准的多个帧来生成最终帧。
在另一方面,公开了一种设备。该设备可以包括用于接收多个帧的部件。该设备还可以包括用于识别多个帧内的感兴趣的物体的部件。该设备还可以包括用于跟踪多个帧内的感兴趣的物体的部件。该设备还可以包括用于对准多个帧内的感兴趣的物体的部件。该设备还可以包括用于基于混合所对准的多个帧来生成最终帧的部件。
一个或多个示例的细节在附图和以下描述中阐述。根据描述、附图和权利要求书,其它特征、目的和优点将是显而易见的。
附图说明
图1描绘了示例图像和具有运动模糊的示例图像。
图2A-2B描绘了包括相机的设备的示例。
图3A-3B描绘了包括多个相机的设备的示例。
图4是用于模拟运动模糊的示例设备的框图。
图5是图示用于模拟运动模糊的示例操作的流程图。
图6A是图示包括物体的多个帧的框图。
图6B是图示图6A的多个帧的框图,其中识别并跟踪感兴趣的物体。
图6C是图示图6B的多个帧的对准的框图。
图7A和7B是基于帧插值的一个或多个新生成的帧的框图。
图8描绘了显示用户界面的示例设备。
图9A是描绘具有被跟踪的感兴趣的物体的多个帧的图示。
图9B是描绘基于图9A的被跟踪的感兴趣的物体的、对准的多个帧的图示。
图10A是描绘基于混合图9A的多个帧而生成的帧的图示。
图10B是描绘基于混合图9B的对准的多个帧而生成的帧的图示。
图11A是描绘图9B的对准的多个帧的图示。
图11B是描绘基于图11A的对准的多个帧的帧插值的多个新生成的帧的图示。
图11C是描绘基于将图11A的对准的多个帧与图11B的多个新生成的帧混合而生成的帧的图示。
图12A和12B描绘了图10B与图11C之间的比较。
图13A和13B描绘了基于混合不同数量的帧而生成的帧。
具体实施方式
在下面的描述中,阐述了众多具体细节,诸如具体组件、电路和处理的示例,以提供对本公开的透彻理解。如本文所使用的,术语“耦合”是指直接连接到或通过一个或多个中间组件或电路连接。而且,在以下描述中并且出于解释的目的,阐述了具体术语以提供对本公开的透彻理解。但是,对于本领域技术人员将显而易见的是,这些具体细节并不是实践本文公开的教导所必需的。在其它情况下,以框图形式示出了众所周知的电路和设备,以避免模糊本公开的教导。下面的详细描述的某些部分以过程、逻辑块、处理和对计算机存储器内的数据位的操作的其它符号表示的方式给出。这些描述和表示是数据处理领域的技术人员用来将其工作的实质最有效地传达给本领域其他技术人员的手段。在本公开中,过程、逻辑块、处理等被认为是导致期望结果的步骤或指令的自洽序列。这些步骤是要求对物理量进行物理操纵的步骤。通常,虽然不是必需,但是这些量采取能够在计算机系统中被存储、传送、组合、比较和以其它方式进行操纵的电或磁信号的形式。
所有这些和类似术语均应当与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非另外明确指出,如从下面的讨论中显而易见的,否则应认识到的是,贯穿本申请,利用诸如“使得”、“访问”、“接收”、“发送”、“使用”、“选择”、“确定”、“归一化”、“相乘”、“求平均”、“监视”、“比较”、“应用”、“更新”、“测量”、“推导”、“估计”等之类的术语的讨论是指计算机系统或类似电子计算设备的动作和处理,这些动作和处理操纵计算机系统寄存器和存储器中表示为物理(电子)量的数据并将其变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储装置、传输或显示设备中的物理量的其它数据。
在附图中,单个方框可以被描述为执行一个或多个功能;但是,在实际的实践中,由该方框执行的一个或多个功能可以在单个组件中或跨多个组件被执行,和/或可以使用硬件、使用软件或使用硬件和软件的组合来执行。为了清楚地说明硬件和软件的这种互换性,下面在其功能方面总体上描述各种说明性组件、块、模块、电路和步骤。将这种功能性实现为硬件还是软件取决于特定应用和强加在整个系统上的设计约束。技术人员可以针对每个特定应用以变化的方式来实现所描述的功能,但是这种实现决定不应当被解释为使得脱离本公开的范围。而且,示例设备可以包括除所示组件以外的组件,包括众所周知的组件,诸如处理器、存储器、其等同物等。本公开的各方面适用于具有或耦合到一个或多个相机的任何合适的设备(诸如智能电话、平板电脑、膝上型计算机、数码相机、网络摄像头、安全系统、汽车、无人机、飞机等)。对于多个相机,相机可以包括主相机和一个或多个功能与主相机相似的辅助相机。例如,设备可以包括具有两个相机的双相机模块。(一个或多个)相机可以能够捕获和处理静止图像或视频。虽然以下关于捕获和处理图像进行描述,但是本公开的各方面适用于捕获和处理视频,并且因此不限于静止图像。
图1描绘了示例图像(例如,帧)100和包括运动模糊的示例图像(例如,帧)102。帧102看起来是使用手动摇摄技术生成的,例如,通过移动相机以使相机的视场(field ofview,FOV)中的物体(例如,帧100、102中的滑雪者)保持在FOV中的大致相同的位置,从而产生具有清晰物体(例如,滑雪者)和模糊的背景的图像。如在帧102中所示,地面(例如,雪)和背景(例如,滑雪缆车和建筑物)看起来是模糊的,而滑雪者看起来是清晰的。
如将在下面进一步详细描述的,本公开的各方面可以包括模拟摇摄图像(例如,模拟运动模糊),而不必以与移动物体相同的速度用相机跟随(例如,摇摄)移动物体和/或以长时间曝光捕获移动物体。本公开的各方面包括获得(例如,接收)两个或更多个包括移动物体的帧。帧可以包括视频或视频的一部分。可以在帧内跟踪移动物体。基于物体贯穿帧的移动,帧可以被对准(例如,移位),使得物体可以出现在每个对准的帧内相同的位置。可以基于混合(例如,求平均)对准的帧来生成包括模拟的运动模糊的最终图像。
图2A描绘了包括以第一配置布置的相机202的示例设备200,并且图2B描绘了包括以第二配置布置的相机212的示例设备210。图3A描绘了示例设备300,其包括具有以第一配置布置的第一相机302和第二相机304的双相机,并且图3B描绘了示例设备310,其包括具有以第二配置布置的第一相机312和第二相机314的双相机。在某些方面,相机中的一个(诸如相应设备300和310的第一相机302和312)可以是主相机,而另一个相机(诸如相应设备300和310的第二相机304和314)可以是辅助相机。第二相机304和314可以具有分别与第一相机302和312相同的特点和能力(诸如相同的焦距、相同的捕获速率、相同的分辨率、相同的调色板以及相同的视场或捕获场)。可替代地,第二相机304和314可以分别具有与第一相机302和312不同的特点和能力。虽然在图3A和3B中将第一相机302、312和第二相机304、314被描绘为部署在示例设备300和310的公共侧,但是应该理解的是,在某些实施方式中,可以将第一相机部署成面对与第二相机不同的方向。因此,可以使用前置相机和后置相机来实现本文公开的技术和方面。类似地,本文公开的技术和方面可以应用于具有其它相机配置的设备,例如,具有至少一个相机的360度捕获设备,该相机的视场至少部分地重叠或至少邻接第二相机的视场。可以使用相机的任何配置,并且本公开不应当限于图2A、2B、3A和3B中所示的示例。
术语“设备”不限于一个或特定数量的物理物体(诸如一个智能电话)。如本文所使用的,设备可以是具有可以实现本公开的至少某些部分的多个零件的任何电子设备。在一个示例中,设备可以是包括一个或多个集线器和一个或多个分开的相机的视频安全系统。在另一个示例中,设备可以是计算机。在另一个示例中,设备可以是包括两个相机的智能电话,诸如例如分别是图3A和3B的示例设备300和310。虽然以下描述和示例使用术语“设备”来描述本公开的各个方面,但是术语“设备”不限于物体的特定配置、类型或数量。
图4是示例设备400的框图,该示例设备400可以被用于生成看起来已经使用手动摇摄技术生成的图像,例如,通过移动相机使得相机的视场(FOV)中的物体保持在FOV中大致相同的位置,从而产生具有清晰物体和模糊背景的图像。设备400可以包括或可以耦合到相机402,并且还可以包括处理器406、存储指令410的存储器408、相机控制器412、显示器416以及多个输入/输出(I/O)组件418。示例设备400可以是能够捕获和/或存储图像或视频的任何合适的设备,包括例如有线和无线通信设备(诸如相机电话、智能电话、平板电脑、安全系统、行车记录仪、膝上型计算机、台式计算机、汽车、无人机、飞机等)、数码相机(包括静止相机、摄像机等)或任何其它合适的设备。设备400可以包括未示出的额外特征或组件。例如,可以包括用于无线通信设备的无线接口,该无线接口可以包括多个收发器和基带处理器。设备400可以包括或可以耦合到除相机402以外的额外相机。本公开不应当限于任何具体的示例或说明,包括示例设备400。
相机402可以能够捕获单个的图像帧(诸如静止图像)和/或捕获视频(诸如一系列捕获的图像帧)。相机402可以包括一个或多个图像传感器(为简单起见而未示出)和用于捕获图像帧并将捕获的图像帧提供给相机控制器412的快门。虽然示出了单个相机402,但是可以包括任何数量的相机或相机组件和/或将任何数量的相机或相机组件耦合到设备400(诸如图3A和3B)。例如,对于给定的FOV,可以增加相机的数量以实现更大的深度确定能力或更好的分辨率。
存储器408可以是存储计算机可执行指令410以执行本公开中描述的一个或多个操作的全部或一部分的非瞬时或非暂态计算机可读介质。设备400还可以包括电源420,该电源可以耦合到或集成到设备400中。
处理器406可以是能够执行存储在存储器408中的一个或多个软件程序的脚本或指令(例如,指令410)的一个或多个合适的处理器。在某些方面,处理器406可以是一个或多个通用处理器,其执行指令410以使设备400执行任何数量的功能或操作。在额外或替代方面,处理器406可以包括集成电路或其它硬件,以在不使用软件的情况下执行功能或操作。虽然在图4的示例中示出为经由处理器406彼此耦合,但是处理器406、存储器408、相机控制器412、显示器416和I/O组件418可以以各种布置彼此耦合。例如,处理器406、存储器408、相机控制器412、显示器416和/或I/O组件418可以经由一条或多条本地总线(为简单起见未示出)彼此耦合。
显示器416可以是允许用户交互和/或呈现供用户观看的项目(例如,捕获的图像和/或视频)的任何合适的显示器或屏幕。在某些方面,显示器416可以是触敏显示器。显示器416可以是设备400的一部分或在设备400的外部。显示器416可以包括LCD、LED、OLED或类似的显示器。I/O组件418可以是或可以包括任何合适的机件或接口,以从用户接收输入(诸如命令)并向用户提供输出。例如,I/O组件418可以包括(但不限于)图形用户界面、键盘、鼠标、麦克风和扬声器等。
相机控制器412可以包括图像信号处理器414,其可以是(或者可以包括)一个或多个图像信号处理器,以处理由相机402提供的捕获的图像帧或视频。例如,图像信号处理器414可以被配置为执行本文所描述的用于生成摇摄帧的各种处理操作(例如,运动模糊模拟)。图像处理操作的示例包括但不限于裁剪、缩放(例如,缩放到不同的分辨率)、图像拼接、图像格式转换、颜色插值、图像插值、颜色处理、图像过滤(例如,空间图像过滤)等。
在某些示例实施方式中,相机控制器412(诸如图像信号处理器414)可以实现各种功能,包括相机402的成像处理和/或控制操作。在某些方面,图像信号处理器414可以执行来自存储器的指令(诸如存储在存储器408中的指令410或存储在耦合到图像信号处理器414的分开的存储器中的指令)以控制图像处理和/或相机的操作402。在其它方面,图像信号处理器414可以包括用于控制相机402的图像处理和/或操作的特定硬件。图像信号处理器414可以可替代地或额外地包括特定硬件和用于执行软件指令的能力的组合。
图5是描绘用于使用多个帧(例如,图像)生成具有模拟的运动模糊的图像的方法500的示例的说明性流程图。方法500可以作为指令410存储在图4的存储器408中。方法500可以由图4的一个或多个处理器执行。
在方框502处,方法500可以接收多个帧。多个帧可以包括视频,该视频包括一系列帧(例如,图像)。多个帧可以包括至少第一帧(初始帧)和第二帧。额外的帧可以被包括在多个帧内(例如,5帧、10帧、30帧、60帧等)。可以经由图4的相机402实时地或接近实时地捕获多个帧。多个帧可以存储在存储器(例如,图4的存储器408或外部存储器)中。可以直接从相机(例如,相机402)或从存储器(例如,外部存储器、缓冲存储器、存储器408等)接收多个帧。
多个帧可以描绘FOV。描绘FOV的多个帧可以包括一个或多个物体(例如,在相机捕获FOV时,在FOV中存在一个或多个物体)。例如,图6A描绘了多个帧600,其至少包括第一帧602、第二帧604和第三帧606。这并不意味着对本公开的限制,因为在多个帧600中可以包括更多或更少的帧。例如,多个帧可以包括少至两个帧。如图6A中所示,多个帧600中的每一帧可以包括物体608和610。如图所示,物体608的位置看起来在多个帧600中的每一帧内移动。例如,物体608在第一帧602中被示为在物体610的下方并且稍左侧。在第二帧604中,物体608几乎位于物体610的正下方。在第三帧606中,物体608位于物体610的下方并且稍右侧。
返回到图5,在方框504处,方法500可以识别多个帧内的感兴趣的物体。识别感兴趣的物体可以包括识别多个帧内的一个或多个感兴趣的物体。识别感兴趣的物体可以包括经由设备(例如,图4的设备400)自动识别(例如,接收、选择等)感兴趣的物体和/或接收用户对感兴趣的物体的选择。识别感兴趣的物体可以包括识别一个或多个帧内的整个物体或识别一个或多个帧内的物体的一部分。感兴趣的物体可以包括人、动物、汽车、球和/或任何其它物体。
经由设备(例如,设备400)自动识别感兴趣的物体可以包括处理多个帧以识别在帧中描绘的满足一个或多个准则的物体。准则可以包括但不限于跨所述多个帧中的多个帧聚焦、具有特定形状、尺寸和/或颜色、处于其中一个帧的特定区域中(例如,在第一帧的边界或边缘附近)、以特定标记为特征、位于所述多个帧中的一个或多个帧的前景或背景中、所述多个帧中的多个帧内的移动位置等。经由设备(例如,设备400)自动识别感兴趣的物体可以包括使用物体检测算法。任何物体检测算法都可以被用于识别和/或检测感兴趣的物体。
接收用户对感兴趣的物体的选择可以包括基于用户输入接收识别感兴趣的物体的手动选择。例如,可以显示多个帧中的一个或多个,并且用户可以使用输入设备(例如,触摸屏、鼠标等)识别(例如,选择)多个帧内的感兴趣的物体。
识别多个帧内的感兴趣的物体可以包括:在捕获多个帧期间或在回放多个帧期间,识别感兴趣的物体。在某些实施例中,识别多个帧内的感兴趣的物体可以包括识别多个帧中的单个帧(例如,静止帧、暂停的视频的帧、视频的单个帧等)内的感兴趣的物体。识别出的(例如,所选择的)感兴趣的物体可以被存储为与多个帧相关联的元数据。
可以将多于一个物体识别为感兴趣的物体。但是,为了用在最终生成的帧中看起来清晰的两个或更多个识别出的感兴趣的物体模拟运动模糊,这两个或更多个识别出的物体可以以相同或相似的速度行进。如果它们不以相同或相似的速度行进,那么只有一个感兴趣的物体可以在最终生成的帧中看起来清晰,而另一个可以看起来模糊。
返回到图6A,如上面所描述的,物体608和/或610中的任何一个可以被或者自动或者手动地识别为感兴趣的物体。可以在多个帧600中的任何一个或多个(例如,第一帧602、第二帧604、第三帧606等)中识别感兴趣的物体。
再次参考图5,在方框506处,方法500可以跟踪多个帧内的感兴趣的物体。跟踪多个帧内的感兴趣的物体可以包括确定多个帧内的感兴趣的物体的运动。可以使用任何已知的跟踪算法来跟踪多个帧内的感兴趣的物体。如下面进一步讨论的,确定多个帧内的感兴趣的物体的运动可以包括确定多个帧内的感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个。
可以基于对多个帧中的不同帧之间的差异的分析来确定感兴趣的物体的运动。例如,在多个帧中的第一帧(或任何其它帧)与第二帧(或任何其它帧)中感兴趣的物体的位置的差异。在某些实施例中,可以基于确定感兴趣的物体的特征(例如,拐角等)的运动来确定感兴趣的物体的运动。
感兴趣的物体的运动可以包括与感兴趣的物体相关联的运动数据。与感兴趣的物体相关联的运动数据可以包括方向值和幅度值。方向值可以指定感兴趣的物体在多个帧中的第一帧和第二帧(或任何其它帧)之间的移动方向。幅度值可以表示感兴趣的物体在多个帧中的第一帧和第二帧(或任何其它帧)之间的移动量。
感兴趣的物体可以被界定框包围(例如,经由跟踪算法和/或物体检测算法)。可以基于感兴趣的物体在多个帧内的运动来确定界定框。整个感兴趣的物体可以被界定框包围,或者感兴趣的物体的一部分可以被界定框包围。如果感兴趣的物体的一部分被界定框包围,那么贯穿多个帧,感兴趣的物体的相同部分应当被界定框包围。界定框包括感兴趣的物体的(一个或多个)部分,该(一个或多个)部分将在生成摇摄图像时保持清晰。
可以或可以不经由显示器向用户显示界定框。经由显示器向用户显示界定框可以允许用户调整界定框。例如,用户可以调整界定框,使得用户想要在生成的摇摄图像内保持清晰的、感兴趣的物体的(一个或多个)部分被包括在界定框内。
例如并且参考图6B,界定框612被示为包围物体608。界定框612被示为指示物体608已经被识别为感兴趣的物体,并且物体608已经在多个帧600中的每个帧内被跟踪。例如,当物体608在每个帧(例如,第一帧602、第二帧604、第三帧606等)内移动时,界定框612可以被用于跟踪每个帧内的物体608的移动(例如,基于物体608的运动)并且包围每个帧内的物体608。
如果界定框612经由显示器被显示,那么用户可以手动改变/编辑界定框。例如,如果用户仅希望物体608的上半部分在生成的摇摄图像中看起来清晰,那么用户可以经由用户输入(例如,触摸屏、鼠标等)来手动操纵(例如,改变、编辑、选择等)界定框,以仅将物体608的上半部分包括在界定框(例如,界定框612)内。照此,图4的设备400可以从用户接收对界定框(例如,界定框612)的手动选择。
返回去参考图5,在方框508处,方法500可以对准多个帧内的感兴趣的物体。对准多个帧内的感兴趣的物体可以包括对准感兴趣的物体,使得感兴趣的物体在多个帧中的每个帧内的相同位置。对准多个帧内的感兴趣的物体可以包括对准包围感兴趣的物体的界定框,使得界定框在多个帧中的每个帧中的相同位置。
参考图6C,为了便于说明,以垂直布置示出了多个帧600。如图6C中所示,每个帧602、604、606内的感兴趣的物体608可以沿着公共轴614对准。即,包围每个帧602、604、606内的感兴趣的物体608的界定框612可以沿着公共轴614对准。为了便于说明,示出了公共轴614,并且公共轴614并不意味着是对本公开的限制。例如,对准感兴趣的物体(例如,物体608)可以包括对准多个帧600中的每个帧内的界定框(例如,界定框612)的拐角。可以使用任何合适的对准手段,使得感兴趣的物体(例如,感兴趣的物体608)和/或包括感兴趣的物体(例如,物体608)的界定框(例如,界定框612)位于每个帧内的相同位置。
多个帧内的感兴趣的物体的对准可以基于多个帧内的感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个。例如,如果多个帧中的某些或全部帧内的感兴趣的物体的运动包括平移运动,那么对准多个帧内的感兴趣的物体可以包括基于感兴趣的物体的运动来移位一个或多个帧。移位可以指将一个帧的每个位置处的每个像素映射到另一个帧的不同位置处的另一个像素。
例如,如图6C中所示,第二帧604和第三帧606可以相对于第一帧602向左移动,以便沿着公共轴614对准感兴趣的物体608(例如,对准界定框612)。这可以是感兴趣的物体608的运动包括平移运动的示例,因为感兴趣的物体608可以只是在多个帧600中从左向右移动。平移运动可以包括感兴趣的物体跨多个帧从一个点向另一个点移动。为了在每个帧602、604、606内对准界定框612,至少第二帧604和/或第三帧606内的像素可以位于偏离第一帧602内的位置的位置。该偏移可以基于运动数据的幅度和方向,和/或偏移基于感兴趣的物体(例如,608)和/或界定框(例如,界定框612)的对准的量。例如,两个帧之间的偏移量可以是10个像素,这意味着可以基于运动数据的幅度和方向将两个帧之一(或两者)偏移10个像素。在另一个示例中,另外两个帧之间的偏移量可以是14个像素,这意味着可以基于运动数据的幅度和方向将两个帧之一(或两者)移位14个像素。
多个帧内感兴趣的物体的运动可以包括非平移运动。例如,非平移运动可以包括感兴趣的物体朝着或远离相机移动,使得感兴趣的物体在多个帧中的一个帧相对于另一个帧可以看起来更大或更小,或者用相机本身放大和/或缩小。非平移运动的其它示例可以包括但不限于旋转运动(例如,感兴趣的物体在旋转和/或相机在旋转)、仿射运动等。对准多个帧内的感兴趣的物体可以基于感兴趣的物体的非平移运动的类型。例如,仿射变换或单应变换可以被用于使帧变形以对准感兴趣的物体。类似地,界定框可以经历相似的变换以补偿感兴趣的物体的非平移运动。如果感兴趣的物体的运动包括平移运动和非平移运动,那么可以将移动和/或变换的组合应用于其中一个或多个帧和/或帧内的一个或多个界定框。
如图6C中所示,现在感兴趣的物体608和/或界定框612已经在多个帧600中的每个帧内对准,那么多个帧600中的每个帧的部分看起来重叠,而多个帧600中的每个帧的部分看起来不重叠。在这些情况下,可以用来自现有像素的最后一行或最后一列的像素值填充多个帧(例如,多个帧600)的某些非重叠边缘。例如,如果移位是10个像素,那么沿着边缘的最后一个现有像素可以被重复10个像素。
在某些方面,在基于感兴趣的物体和/或包围感兴趣的物体的界定框的对准已经移位了多个帧中的一个或多个帧(可以被称为“对准的多个帧”)之后,可以基于对准的多个帧的帧插值来生成一个或多个新的帧。例如,给定已经对准的第一帧和第二帧,那么可以基于帧插值在第一帧和第二帧之间生成新的第三帧。在第一帧和第二帧之间可以生成任意数量的新的帧。例如,可以在第一帧和第二帧之间生成三个新的帧。如果在对准的多个帧内当前包括五个帧,那么帧插值可以将帧的数量增加到二十五(25)帧。这仅仅出于示例性目的,并不意味着对本公开的限制。帧插值可以将包括在对准的多个帧中的帧的数量增加到任何期望的帧的数量,使得捕获的多个帧的帧速率(例如,视频的帧速率)可以增加。经由基于对准的多个帧的插值生成新的帧意味着可以在感兴趣的物体与对准的多个帧对准的情况下生成新的帧。如将在下面讨论的,新生成的帧可以允许使用多个帧以长曝光时间对连续帧(例如,最终的帧或图像)进行逼真的模拟。
对于在生成新的(例如,额外的)帧中可以使用什么方法没有特别的限制,并且因此可以使用任何内插新的帧的方法。例如,可以使用帧插值算法和/或运动补偿帧速率转换(FRC)算法对帧进行插值,但这并不意味着对本公开的限制。虽然可以使用任何帧插值和/或FRC算法,但是帧插值和/或FRC算法会影响最终生成的帧的质量。例如,与可以生成插值伪像的算法相比,可以正确检测和处理遮挡区域、保留感兴趣的物体的边界和/或可以处理重复的图案和/或小物体的算法可以产生更高质量的最终帧。
示例帧插值算法可以包括运动估计、运动向量处理和运动补偿。运动估计可以包括生成运动向量(例如,从第一帧到第二帧的前向运动向量和/或从第二帧到第一帧的后向运动向量)。运动向量处理可以包括将运动向量投影到第一帧和第二帧之间的插值时间点。运动补偿可以包括基于投影的运动向量在插值时间点生成内插的帧(例如,第一帧和第二帧之间的第三帧)。
运动估计可以包括生成运动向量(例如,从第一帧到第二帧的前向运动向量和/或从第二帧到第一帧的后向运动向量)。为了便于描述,将讨论生成前向运动向量,但是相同的处理可以应用于生成后向运动向量。运动估计可以采用两个输入帧(例如,在时间t-1处的第一帧和在时间t+1处的第二帧),并为第一帧内的每个块生成运动向量。为了本描述的目的,输入帧可以是对准的多个帧。第一帧可以被划分为块(例如,8×8像素块、16×16像素块、32×32像素块等)。对于第一帧中的每个块,在第二帧中搜索与来自第一帧的块匹配的对应块。
可以基于来自第一帧的块和第二帧中的对应匹配块来确定匹配误差。可以选择与最低匹配误差对应的运动向量作为用于特定块的运动向量。例如,理想的匹配误差可以为零,其指示完全匹配或接近完全匹配,但并非总是可能的。可以使用不同的度量来确定匹配误差。例如,绝对差之和(例如,第一帧中的块中的每个像素与第二帧中的对应块中的每个对应像素之间的差可以被计算并相加在一起)加上平滑度成本可以用作匹配误差,但是可以使用用于确定匹配误差的任何手段。平滑度成本可以是相邻块的运动向量之间的差。在某些方面,为了提供进一步的平滑度,可以以帧的多个分辨率来执行运动估计。总平滑度成本可以基于跨多个分辨率的运动向量之间的差。
可以类似的方式生成前向运动向量和后向运动向量。例如,可以使用来自第二帧(例如,在时间t+1的第二帧)的块来生成后向运动向量,以在第一帧(例如,在时间t-1的第一帧)中找到对应的匹配块。
运动向量处理可以包括处理生成的运动向量,以便确定用于特定块的最终运动向量。运动向量处理可以包括识别离群运动向量。例如,如果前向运动向量和对应的后向运动向量不匹配,那么会存在离群运动向量。如果存在离群运动向量,那么运动向量处理可以包括基于相邻运动向量来校正离群运动向量。例如,可以对相邻运动向量的内部(inlier)运动向量进行中值滤波(例如,可以识别相邻内部运动向量的中值运动向量),或者可以使用相邻内部运动向量来执行额外搜索。可以为每个块确定最终运动向量。
在确定用于块的最终运动向量后,运动向量处理可以包括将最终运动向量投影到插值时间点(例如,时间t、在时间t-1处的第一帧与时间t+1处的第二帧之间)。可以通过对相邻内部运动向量进行中值滤波和/或使用相邻内部运动向量执行额外搜索来校正在插值时间点处运动向量场中的任何间隙和/或重叠。
运动向量处理可以包括识别包括针对每个块的遮挡和覆盖和/或未覆盖信息的区域。例如,可以识别在针对给定块的前向运动向量与后向运动向量之间的发散和/或不一致。在另一个示例中,可以识别相邻运动向量之间的不一致。如果感兴趣的物体在第二帧中位于与第一帧中不同的位置,那么遮挡、覆盖和/或未覆盖信息可以被用于确定在新生成的帧中应当如何处理块和/或像素,因为基于感兴趣的物体的移动,感兴趣的物体后面的背景可以在新生成的帧中暴露。在某些方面,可以使用分割算法,其中来自被遮挡块和/或被遮挡区域的相似块的相邻运动向量可以被用作用于被遮挡块和/或被遮挡区域的运动向量。
运动补偿可以包括基于对准的多个帧的帧插值来生成一个或多个新的帧。例如,可以基于最终运动向量以及包括针对每个块的遮挡和覆盖和/或未覆盖信息的区域来在不同的插值时间点生成一个或多个新的帧。对于新的帧中被覆盖的像素/块,来自前一帧(例如,第一帧)的像素可以被用于该特定块。对于新的帧中未被覆盖的像素/块,可以将来自未来帧(例如,第二帧)的像素用于该特定块。对于新的帧中的所有其它块,可以使用来自第一帧和第二帧的块的像素的平均值。
运动补偿可包含使用重叠的块运动补偿来生成新的帧。重叠的块运动补偿可以包括从两个输入帧(例如,第一帧或第二帧)之一获取与块相关联的运动向量和与其邻居相关联的运动向量,使得在大多数情况下,获取九个运动向量(例如,与该块相关联的运动向量和与该块的八个相邻块相关联的八个运动向量)。输出块(例如,运动补偿块)的运动向量可以包括这九个运动向量的加权平均。权重对于块的不同像素可以变动,以便确保在块之间没有阻塞(blocking)伪像的平滑过渡。可以针对前向运动向量和后向运动向量确定运动补偿块,并且可以基于覆盖和/或未覆盖信息将它们混合在一起以生成输出运动补偿块。
图7A图示了基于在第一帧和第二帧之间对准的多个帧的帧插值的、新生成的帧的框图。多个帧700可以包括在时间t-1处的第一帧710和在时间t+1处的第二帧715。第一帧710可以包括包含感兴趣的物体的块712,并且第二帧715可以包括包含感兴趣的物体的块717。可以在第二帧715中搜索与第一帧710的块712相似的块(例如,块717)。可以基于搜索结果来预测(例如,估计、确定等)运动向量730。虽然在这个示例中生成了前向运动向量730,但这仅仅出于示例性目的。可以通过执行从第二帧715到第一帧710的运动估计来生成后向运动向量。可以基于运动向量730在第一帧710和第二帧715之间生成第三帧720(例如,运动向量730预测在时间t处的第三帧720内包括感兴趣的物体的块712的位置)。包括所有感兴趣的物体的块712和/或块717仅仅出于说明性目的。块712和/或块717可以仅仅包括感兴趣的物体的一部分。
图7B图示了基于在第一帧和第二帧之间对准的多个帧的帧插值的、多个生成的帧的框图。多个帧700可以包括在时间t-1处的第一帧710和在时间t+2处的第二帧715。第一帧710可以包括包含感兴趣的物体的块712,并且第二帧715可以包括包含感兴趣的物体的块717。可以在第二帧715中搜索与第一帧710的块712相似的块(例如,块717)。可以基于搜索结果来预测(例如,估计、确定等)运动向量730。虽然在这个示例中生成了前向运动向量730,但这仅仅出于示例性目的。可以通过执行从第二帧715到第一帧710的运动预测来生成后向运动向量。可以基于运动向量730在第一帧710和第二帧715之间生成第三帧720和第四帧725(例如,运动向量730预测在时间t处的第三帧720内和在时间t+1处的第四帧725内包括感兴趣的物体的块712的位置)。以这种方式,可以在现有的对准的帧之间生成多于一个帧。图7A和7B意在图示新的帧的生成的总体概述,并且不意在限制本公开。
返回去参考图5,在方框510处,方法500可以通过混合对准的多个帧来生成最终帧。混合对准的多个帧可以包括将对准的多个帧的对应像素值求平均。例如,可以将对准的多个帧中的每个帧内的特定位置处的像素值相加在一起,并除以帧数,以确定在最终生成的帧内该位置处的平均像素值。加权平均可以被用于生成最终帧。
通过混合对准的多个帧来生成图像可以包括混合新的帧和对准的多个帧。混合新的帧(例如,经由插值生成的)和对准的多个帧可以包括将对准的多个帧和新的帧的对应像素值求平均。例如,在对准的多个帧和新的帧中的每个帧内的特定位置处的像素值可以相加在一起并且除以帧的数量(例如,对准的帧的数量和新的帧的数量)以确定在最终生成的图像内针对该位置的平均像素值。加权平均可以被用于生成最终图像。
混合(例如,求平均)包括新生成的帧在内的多个帧允许模拟长曝光时间。捕获运动模糊图像和/或帧常常要求长曝光时间。但是,在没有长时间曝光的情况下生成逼真的运动模糊图像可以要求相对高的帧速率。帧插值可以允许从原始捕获的帧(例如,视频)生成高帧速率的视频并混合所生成的高帧速率的视频的帧,以生成逼真的运动模糊帧(例如,图像)。
由于感兴趣的物体或感兴趣的物体的至少一部分已在多个帧(以及新的帧,因为新的帧是基于对准的多个帧生成的)内对准,因此感兴趣的物体或感兴趣的物体的对准的部分在混合之后的最终帧中可以看起来是清晰的。可替代地,图像的其它区域(例如,背景、感兴趣的物体周围的区域等)由于已移位帧以使其对准,因此在混合之后看起来模糊。模糊的背景可以给出运动模糊照片的外观(例如,摇摄图像或摇摄帧)。以这种方式,用户不必摇摄相机以匹配移动物体的速度和/或使用长曝光时间。以这种方式,用户可以捕获移动物体的帧并重新创建运动模糊照片,而不必移动相机并匹配移动物体的速度。
在某些实施例中,可以经由显示器(例如,图4的显示器416)显示用户界面,该用户界面包括用户可选择的运动模糊范围以允许用户选择要模拟的运动模糊的量。在此类实施例中,用户可以选择要应用于最终图像的运动模糊的量。照此,设备(例如,图4的设备400)可以接收要模拟的运动模糊的量的选择。
图8是图示经由移动设备800的示例性用户界面的图。如图8中所示,滑雪者被捕获到正在滑雪(例如,类似于图1)。如经由显示器802所示,显示用户可选择的运动模糊范围804。用户可以在不同方向(例如,在图8所示的示例中向左和/或向右)滑动条806以增加或减少要模拟的运动模糊的量。如图8中所示,用户可选择的运动模糊范围804被示为显示在所显示的帧上方,但这并不意味着对本公开的限制。用户可选择的运动模糊范围804可以覆盖在帧上。另外,虽然用户可选择的运动模糊范围804被示为水平延伸的条,但这并不意味着对本公开的限制。例如,用户可选择的运动模糊范围804可以垂直延伸,它可以是数值范围(例如,用户可以从0-5选择),等等。可以在捕获多个帧(例如,视频)期间显示用户可选择的运动模糊范围804和/或可以在捕获后查看捕获的帧和/或视频的同时显示用户可选择的运动模糊范围804。可以经由显示器802显示最终帧(例如,具有基于混合的模拟的运动模糊)。
虽然到目前为止已经讨论了生成摇摄帧(例如,从对准的帧生成包括模拟的运动模糊的帧),但是在某些实施例中,可以生成具有模拟的运动模糊的视频。例如,可以通过生成具有模拟的运动模糊的多个相继的最终帧来生成视频(例如,最终视频)。
图9A图示了示例性捕获的帧。图9B图示了对准之后图9A的捕获的帧。如图9A中所示,示出了具有滑雪者的三个帧,包括第一帧902、第二帧904和第三帧906。在滑雪者的头部和手周围示出了框(例如,经由跟踪算法确定的界定框),其指示感兴趣的物体包括滑雪者,并且更具体而言,被跟踪的感兴趣的物体包括滑雪者的头部和手。如图9A中经由界定框所示,滑雪者看起来从第一帧902到第二帧904并且从第二帧904到第三帧906从右向左移动。如基于实施例所讨论的,界定框可以被显示或可以不被显示。类似地,与图9A和9B中所示的相比,多个帧900和对准的多个帧910中可以包括更多帧。照此,出于说明的目的,仅示出了帧总数的子集。
由于已经跟踪了感兴趣的物体(例如,滑雪者的头部和手),如经由图9A的界定框所示的,因此图9B图示了基于对准感兴趣的物体而对准的多个帧910。即,对准的帧912、914、916中的界定框看起来经由公共轴对准。可替代地,可以基于界定框的拐角在多个帧910的每个帧内的相同位置来对准界定框。可以预期其它对准手段。如沿着对准的帧916的左垂直边缘可以看到的,左侧的某些像素看起来被重复(如上面所讨论的),如雪中重复的阴影所示。这是由于基于感兴趣的物体(例如,滑雪者的头部和手)从帧904到帧906的运动将帧向右移动,以便对准帧。
图10A图示了通过混合对准之前的多个帧(例如,混合/求平均图9A的多个帧900)而生成的帧。图10B图示了通过混合对准之后的多个帧(例如,混合/求平均图9B的多个帧910)而生成的最终帧。如图10A中所示,滑雪者与背景一起模糊。这是因为像素已经在帧900中的每个帧中的不同位置与感兴趣的物体混合/求平均。如图10B中所示,滑雪者的头部和手(例如,感兴趣的物体)看起来清晰,而帧的其它区域则看起来模糊。这是因为像素已经在帧910中的每个帧内的相同位置与感兴趣的物体混合/求平均。
图11A图示了图9B的对准的多个帧910。图11B图示了基于图11A的对准的帧910的帧插值的、新生成的帧1100。图11C图示了基于混合图11A的对准的多个帧910和图11B的新生成的帧1100的、最终生成的帧。
图12A和12B图示了基于混合图11A的对准的多个帧910生成的最终图像(例如,图12A,类似于图10B)与基于混合图11A的对准的多个帧910和图11B的新生成的帧1100生成的最终图像(例如,图12B)的比较。如图所示,因为与图12A相比,更多的帧被用于生成图12B的最终帧(例如,与图12A相比,更高的帧速率被用于生成图12B的最终帧),所以图12B的背景看起来包括比图12A的背景更多的运动模糊。类似地,因为与图12B相比,更少的帧被用于生成图12A的最终帧(例如,与图12B相比,更低的帧速率被用于生成图12A的最终帧),所以图12A的背景看起来包括比图12B的背景更少的运动模糊。即,图12A中的运动模糊看起来不像图12B中的运动模糊那样逼真。例如,混合了5个帧以生成图12A的最终帧,而混合了80个帧以生成图12B的最终帧。
图13A图示了使用32个混合的(例如,求平均的)帧的最终生成的帧。通过在每对原始捕获的帧之间插入15个帧来生成图13A的最终生成的帧,从而将原始捕获的视频的帧速率提高了16倍。图13B图示了使用192个混合的(例如,求平均的)帧的最终生成的帧。类似地,通过在每对原始捕获的帧对之间插入15个帧来生成图13B的最终生成的帧,从而将原始捕获的视频的帧速率提高了16倍。但是,与图13A相比,捕获和/或被用于生成图13B的最终帧的帧覆盖了更长的时间段,这导致了图13B中更多的运动模糊。
以上已经提供了本公开的某些方面和实施例。对于本领域技术人员显而易见的是,这些方面和实施例中的某些可以独立地应用,并且它们中的某些可以组合地应用。在前面的描述中,出于解释的目的,阐述了具体细节以便提供对本发明的实施例的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。更确切地说,对示例性实施例的随后描述将向本领域技术人员提供用于实现示例性实施例的使能描述。应当理解的是,在不脱离所附权利要求书所阐述的本发明的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
在以下描述中给出具体细节以提供对实施例的透彻理解。但是,本领域的普通技术人员将理解的是,可以在没有这些具体细节的情况下实践实施例。例如,电路、系统、网络、处理和其它组件可以以框图形式被示为组件,以便不以不必要的细节模糊实施例。在其它情况下,可以示出众所周知的电路、处理、算法、结构和技术而没有不必要的细节,以避免模糊实施例。
而且,应当注意的是,各个实施例可以被描述为被描绘为流程图、流图、数据流图、结构图或框图的处理。虽然流程图可以将操作描述为顺序处理,但是许多操作可以并行或并发执行。此外,可以重新安排操作的次序。当处理的操作完成时,该处理终止,但可能会有图中未包括的额外步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与该函数返回到调用函数或主函数对应。
而且,结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上面已经在其功能方面总体上描述了各种说明性组件、块、模块、电路和步骤。将这种功能实现为硬件还是软件取决于特定的应用和强加在整个系统上的设计约束。技术人员可以针对每个特定应用以变化的方式来实现所描述的功能,但是这种实现决定不应当被解释为使得脱离本公开的范围。
另外,结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以在多种设备中的任何一种中实现,诸如通用计算机、无线通信设备电话听筒(handset),或具有多种用途的集成电路设备,包括在无线通信设备电话听筒和其它设备中的应用。被描述为模块或组件的任何特征都可以在集成的逻辑设备中一起实现,或者单独作为离散但可互操作的逻辑设备实现。如果以软件实现,那么所述技术可以至少部分地由计算机可读数据存储介质来实现,所述计算机可读数据存储介质包括程序代码,所述程序代码包括在被执行时执行上述方法中的一个或多个的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、FLASH存储器、磁或光数据存储介质等。这些技术可以额外地或可替代地至少部分地通过计算机可读通信介质来实现,所述通信介质以指令或数据结构的形式携带或传达程序代码并且可以由计算机访问、读取和/或执行,诸如传播的信号或波。
程序代码可以由处理器执行,该处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路系统。这种处理器可以被配置为执行本公开中描述的任何技术。通用处理器可以是微处理器。但是在替代方案中,处理器也可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器,或任何其它这样的配置。因而,如本文所使用的,术语“处理器”可以指任何前述结构、前述结构的任意组合,或适合于实现本文所述技术的任何其它结构或装置。此外,在某些方面,本文所述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块内提供,或结合在组合的视频编码器-解码器(CODEC)中。
如所指出的,计算机可读介质可以包括诸如无线广播或有线网络传输之类的瞬时介质,或诸如硬盘、闪存驱动器、光盘、数字视频盘、蓝光光盘或其它计算机可读介质之类的存储介质(即,非暂态存储介质)。在某些示例中,网络服务器(未示出)可以例如经由网络传输从源设备接收编码的视频数据,并将编码的视频数据提供给目的地设备。类似地,诸如盘片冲压设施之类的媒体生产设施的计算设备可以从源设备接收编码的视频数据,并产生包含编码的视频数据的盘。因此,在各种示例中,计算机可读介质可以被理解为包括各种形式的一种或多种计算机可读介质。
虽然本公开示出了说明性方面,但是应当注意的是,在不脱离所附权利要求书的范围的情况下,可以在本文中进行各种改变和修改。此外,除非另外明确指出,否则根据本文所述的方面的方法权利要求的功能、步骤或动作不需要以任何特定的次序执行。此外,虽然可以以单数形式描述或陈述元件,但是除非明确声明了对单数的限制,否则复数是预期的。因而,本公开不限于所示出的示例,并且用于执行本文所述的功能的任何手段都包括在本公开的方面中。

Claims (30)

1.一种用于生成包括模拟的运动模糊的图像的设备,包括:
存储器;以及
处理器,耦合到所述存储器,所述处理器被配置为:
接收多个帧;
识别所述多个帧内的感兴趣的物体;
跟踪所述多个帧内的所述感兴趣的物体,其中所述感兴趣的物体位于所述多个帧的第一帧和第二帧中的不同位置;
对准所述多个帧内的所述感兴趣的物体;以及
基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧。
2.如权利要求1所述的设备,其中所述处理器还被配置为:
基于所对准的多个帧的帧插值来生成一个或多个额外的帧。
3.如权利要求2所述的设备,其中基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧包括基于混合所述一个或多个额外的帧和所对准的多个帧来生成包括所述模拟的运动模糊的最终帧。
4.如权利要求1所述的设备,其中跟踪所述多个帧内的所述感兴趣的物体包括确定所述多个帧内的所述感兴趣的物体的运动。
5.如权利要求4所述的设备,其中确定所述感兴趣的物体的运动包括确定所述感兴趣的物体的所述运动是否包括平移运动和非平移运动中的一个或多个。
6.如权利要求5所述的设备,其中对准所述多个帧内的所述感兴趣的物体包括基于所述感兴趣的物体的所述运动是否包括平移运动和非平移运动中的一个或多个来对准一个或多个帧。
7.如权利要求1所述的设备,其中对准所述多个帧内的所述感兴趣的物体包括对准所述多个帧内的、包围所述感兴趣的物体的界定框。
8.如权利要求1所述的设备,其中所述处理器还被配置为:
显示用户可选择的运动模糊范围,以允许用户选择要模拟的运动模糊的量。
9.如权利要求8所述的设备,其中所述处理器还被配置为:
接收要模拟的所述运动模糊的量的选择。
10.如权利要求1所述的设备,其中所述处理器还被配置为:
通过生成多个相继的最终帧来生成最终视频。
11.一种用于生成包括模拟的运动模糊的图像的方法,包括:
接收多个帧;
识别所述多个帧内的感兴趣的物体;
跟踪所述多个帧内的所述感兴趣的物体,其中所述感兴趣的物体位于所述多个帧的第一帧和第二帧中的不同位置;
对准所述多个帧内的所述感兴趣的物体;以及
基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧。
12.如权利要求11所述的方法,还包括:
基于所对准的多个帧的帧插值来生成一个或多个额外的帧。
13.如权利要求12所述的方法,其中基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧包括:基于混合所述一个或多个额外的帧和所对准的多个帧来生成包括所述模拟的运动模糊的最终帧。
14.如权利要求11所述的方法,其中跟踪所述多个帧内的所述感兴趣的物体包括确定所述多个帧内的所述感兴趣的物体的运动。
15.如权利要求14所述的方法,其中确定所述感兴趣的物体的运动包括确定所述感兴趣的物体的所述运动是否包括平移运动和非平移运动中的一个或多个。
16.如权利要求15所述的方法,其中对准所述多个帧内的所述感兴趣的物体包括基于所述感兴趣的物体的所述运动是否包括平移运动和非平移运动中的一个或多个来对准一个或多个帧。
17.如权利要求11所述的方法,其中对准所述多个帧内的所述感兴趣的物体包括对准所述多个帧内的、包围所述感兴趣的物体的界定框。
18.如权利要求11所述的方法,还包括:
显示用户可选择的运动模糊范围,以允许用户选择要模拟的运动模糊的量。
19.如权利要求18所述的方法,还包括:
接收要模拟的所述运动模糊的量的选择。
20.如权利要求11所述的方法,还包括:
通过生成多个相继的最终帧来生成最终视频。
21.一种非暂态计算机可读存储介质,其上存储有指令,所述指令在被运行时使得一个或多个处理器:
接收多个帧;
识别所述多个帧内的感兴趣的物体;
跟踪所述多个帧内的所述感兴趣的物体,其中所述感兴趣的物体位于所述多个帧的第一帧和第二帧中的不同位置;
对准所述多个帧内的所述感兴趣的物体;以及
基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧。
22.如权利要求21所述的非暂态计算机可读存储介质,其中所述指令的运行还使得所述一个或多个处理器:
基于所对准的多个帧的帧插值来生成一个或多个额外的帧。
23.如权利要求22所述的非暂态计算机可读存储介质,其中基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧包括基于混合所述一个或多个额外的帧和所对准的多个帧来生成包括所述模拟的运动模糊的最终帧。
24.如权利要求21所述的非暂态计算机可读存储介质,其中跟踪所述多个帧内的所述感兴趣的物体包括确定所述多个帧内的所述感兴趣的物体的运动。
25.如权利要求24所述的非暂态计算机可读存储介质,其中对准所述多个帧内的所述感兴趣的物体包括基于所确定的所述感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个来对准一个或多个帧。
26.一种用于生成包括模拟的运动模糊的图像的设备,包括:
用于接收多个帧的部件;
用于识别所述多个帧内的感兴趣的物体的部件;
用于跟踪所述多个帧内的所述感兴趣的物体的部件,其中所述感兴趣的物体位于所述多个帧的第一帧和第二帧中的不同位置;
用于对准所述多个帧内的所述感兴趣的物体的部件;以及
用于基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧的部件。
27.如权利要求26所述的设备,还包括:
用于基于所对准的多个帧的帧插值来生成一个或多个额外的帧的部件。
28.如权利要求27所述的设备,其中基于混合所对准的多个帧来生成包括模拟的运动模糊的最终帧包括基于混合所述一个或多个额外的帧和所对准的多个帧来生成包括所述模拟的运动模糊的最终帧。
29.如权利要求26所述的设备,其中跟踪所述多个帧内的所述感兴趣的物体包括确定所述多个帧内的所述感兴趣的物体的运动。
30.如权利要求29所述的设备,其中对准所述多个帧内的所述感兴趣的物体包括基于所确定的所述感兴趣的物体的运动是否包括平移运动和非平移运动中的一个或多个来对准一个或多个帧。
CN201880085169.8A 2018-01-05 2018-12-19 用于生成包括模拟的运动模糊的图像的方法和设备 Active CN111557016B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/863,499 2018-01-05
US15/863,499 US10600157B2 (en) 2018-01-05 2018-01-05 Motion blur simulation
PCT/US2018/066490 WO2019135916A1 (en) 2018-01-05 2018-12-19 Motion blur simulation

Publications (2)

Publication Number Publication Date
CN111557016A CN111557016A (zh) 2020-08-18
CN111557016B true CN111557016B (zh) 2021-07-30

Family

ID=65019604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880085169.8A Active CN111557016B (zh) 2018-01-05 2018-12-19 用于生成包括模拟的运动模糊的图像的方法和设备

Country Status (3)

Country Link
US (1) US10600157B2 (zh)
CN (1) CN111557016B (zh)
WO (1) WO2019135916A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519655A (zh) 2013-07-04 2018-09-11 核心光电有限公司 小型长焦透镜套件
CN108718376B (zh) 2013-08-01 2020-08-14 核心光电有限公司 具有自动聚焦的纤薄多孔径成像系统及其使用方法
US9392188B2 (en) 2014-08-10 2016-07-12 Corephotonics Ltd. Zoom dual-aperture camera with folded lens
US10230898B2 (en) 2015-08-13 2019-03-12 Corephotonics Ltd. Dual aperture zoom camera with video support and switching / non-switching dynamic control
CN111965919B (zh) 2016-05-30 2022-02-08 核心光电有限公司 旋转滚珠引导音圈电动机
CN111367039B (zh) 2016-07-07 2023-02-03 核心光电有限公司 用于折叠式光学装置的线性滚珠引导音圈电动机
US10733739B2 (en) * 2017-09-29 2020-08-04 Nanjing Avatarmind Robot Technology Co., Ltd. Method and system for displaying target image based on robot
CN113075837B (zh) 2017-11-23 2022-04-12 核心光电有限公司 摄影机及制法、移动电子设备及减小凸起占用空间的方法
CN111936908B (zh) 2018-04-23 2021-12-21 核心光电有限公司 具有扩展的两个自由度旋转范围的光路折叠元件
US11635596B2 (en) 2018-08-22 2023-04-25 Corephotonics Ltd. Two-state zoom folded camera
US10701279B2 (en) * 2018-10-02 2020-06-30 Adobe Inc. Utilizing alignment models and motion vector path blending to generate a long exposure digital image from a sequence of short exposure digital images
CN111294644B (zh) * 2018-12-07 2021-06-25 腾讯科技(深圳)有限公司 视频拼接方法、装置、电子设备及计算机可读存储介质
GB201909693D0 (en) * 2019-07-05 2019-08-21 Vaion Ltd Computer-implemented method
KR102254947B1 (ko) * 2019-07-31 2021-05-24 코어포토닉스 리미티드 카메라 패닝 또는 모션에서 배경 블러링을 생성하는 시스템 및 방법
US11288835B2 (en) 2019-09-20 2022-03-29 Beijing Jingdong Shangke Information Technology Co., Ltd. Lighttrack: system and method for online top-down human pose tracking
JP7444646B2 (ja) * 2020-03-11 2024-03-06 株式会社メガチップス ポーズデータ生成装置、cgデータ生成システム、ポーズデータ生成方法、および、プログラム
CN111416943B (zh) * 2020-04-28 2021-12-28 成都纵横自动化技术股份有限公司 相机防抖方法、装置、航测相机和计算机可读存储介质
KR102617779B1 (ko) * 2020-05-30 2023-12-22 코어포토닉스 리미티드 슈퍼 매크로 이미지를 얻기 위한 시스템 및 방법
US11637977B2 (en) 2020-07-15 2023-04-25 Corephotonics Ltd. Image sensors and sensing methods to obtain time-of-flight and phase detection information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109565551A (zh) * 2016-08-03 2019-04-02 微软技术许可有限责任公司 对齐于参考帧合成图像
CN109792485A (zh) * 2016-09-30 2019-05-21 高通股份有限公司 用于融合图像的系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006086933A (ja) 2004-09-17 2006-03-30 Canon Inc 撮像装置及び制御方法
US20090060373A1 (en) 2007-08-24 2009-03-05 General Electric Company Methods and computer readable medium for displaying a restored image
JP5179398B2 (ja) 2009-02-13 2013-04-10 オリンパス株式会社 画像処理装置、画像処理方法、画像処理プログラム
US8228400B2 (en) 2009-04-17 2012-07-24 Sony Corporation Generation of simulated long exposure images in response to multiple short exposures
US8963949B2 (en) * 2009-04-22 2015-02-24 Qualcomm Incorporated Image selection and combination method and device
US9396385B2 (en) * 2010-08-26 2016-07-19 Blast Motion Inc. Integrated sensor and video motion analysis method
US9070230B2 (en) 2013-07-23 2015-06-30 Adobe Systems Incorporated Simulating strobe effects with digital image content
US9449374B2 (en) * 2014-03-17 2016-09-20 Qualcomm Incoporated System and method for multi-frame temporal de-noising using image alignment
US9531962B2 (en) 2014-07-24 2016-12-27 Samsung Electronics Co., Ltd. Image set alignment and combination processing
US9591237B2 (en) 2015-04-10 2017-03-07 Qualcomm Incorporated Automated generation of panning shots

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109565551A (zh) * 2016-08-03 2019-04-02 微软技术许可有限责任公司 对齐于参考帧合成图像
CN109792485A (zh) * 2016-09-30 2019-05-21 高通股份有限公司 用于融合图像的系统及方法

Also Published As

Publication number Publication date
US20190213712A1 (en) 2019-07-11
WO2019135916A1 (en) 2019-07-11
CN111557016A (zh) 2020-08-18
US10600157B2 (en) 2020-03-24

Similar Documents

Publication Publication Date Title
CN111557016B (zh) 用于生成包括模拟的运动模糊的图像的方法和设备
US9591237B2 (en) Automated generation of panning shots
CN110322542B (zh) 重建真实世界3d场景的视图
CN111050210B (zh) 执行操作的方法、视频处理系统及非瞬态计算机可读介质
US11663733B2 (en) Depth determination for images captured with a moving camera and representing moving features
CN106331480B (zh) 基于图像拼接的视频稳像方法
WO2016074639A1 (en) Methods and systems for multi-view high-speed motion capture
KR20180132946A (ko) 멀티-뷰 장면 분할 및 전파
US9373187B2 (en) Method and apparatus for producing a cinemagraph
US11871127B2 (en) High-speed video from camera arrays
Gleicher et al. Re-cinematography: improving the camera dynamics of casual video
EP2862356A1 (en) Method and apparatus for fusion of images
EP3681144A1 (en) Video processing method and apparatus based on augmented reality, and electronic device
EP2545411A1 (en) Panorama imaging
US9177406B2 (en) Image mosaicing utilizing motion of scene content between successive images
CN103051916A (zh) 产生三维(3d)全景图像的设备和方法
CN111757080A (zh) 用于沉浸式视觉体验的相机视图之间的虚拟视图内插
Yeh et al. Real-time video stitching
CN115334233A (zh) 滑动变焦效果的产生方法和系统
JP6148154B2 (ja) 画像処理装置及び画像処理プログラム
Lee et al. Fast 3D video stabilization using ROI-based warping
US11328494B2 (en) Image processing apparatus, image processing method, and storage medium
Hach et al. Seamless 3D interaction of virtual and real objects in professional virtual studios
El Choubassi et al. Stabilized high-speed video from camera arrays
WO2023174546A1 (en) Method and image processor unit for processing image data

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