CN113473181B - 视频处理方法和装置、计算机可读存储介质及计算机设备 - Google Patents

视频处理方法和装置、计算机可读存储介质及计算机设备 Download PDF

Info

Publication number
CN113473181B
CN113473181B CN202111033199.4A CN202111033199A CN113473181B CN 113473181 B CN113473181 B CN 113473181B CN 202111033199 A CN202111033199 A CN 202111033199A CN 113473181 B CN113473181 B CN 113473181B
Authority
CN
China
Prior art keywords
frame
target object
video frame
video
intermediate cache
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
CN202111033199.4A
Other languages
English (en)
Other versions
CN113473181A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202111033199.4A priority Critical patent/CN113473181B/zh
Publication of CN113473181A publication Critical patent/CN113473181A/zh
Application granted granted Critical
Publication of CN113473181B publication Critical patent/CN113473181B/zh
Priority to PCT/CN2022/115009 priority patent/WO2023030176A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开实施例提供一种视频处理方法和装置、计算机可读存储介质及计算机设备,所述方法包括:从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象。

Description

视频处理方法和装置、计算机可读存储介质及计算机设备
技术领域
本公开涉及视频处理技术领域,尤其涉及视频处理方法和装置、计算机可读存储介质及计算机设备。
背景技术
在以往的特效渲染中,通常采用背景分割来将视频帧中的目标对象和背景区域分开,并将视频帧中的背景信息进行替换,上述处理方式较为单调,处理结果的显示效果比较单一。因此,有必要对视频中的特效渲染方式进行改进。
发明内容
第一方面,本公开实施例提供一种视频处理方法,所述方法包括:从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象。
本公开实施例将第一视频帧中的目标对象绘制到中间缓存帧上,并将中间缓存帧与位于所述目标视频帧中的第一视频帧之后的多帧第二视频帧进行合成,能够在各个合成帧中均同时显示本体和分身。其中,本体是指第二视频帧在合成之前就包括的目标对象,分身是指中间缓存帧包括的目标对象。由于各个合成帧中的分身均来自同一个第一视频帧,因此各个合成帧中分身的动作保持不变。在各个第二视频帧中本体动作动态变化的情况下,本公开实施例能够生成多帧包括固定不变的分身以及动态变化的本体的分身渲染特效。相比于相关技术中简单替换背景区域的方式,本公开的视频处理方式能够提高特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述生成包括所述第一视频帧中的目标对象的中间缓存帧之前,还包括:检测到满足渲染条件包括以下至少一者:已渲染到所述中间缓存帧的目标对象的总数满足设定的数量条件;所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔满足设定的帧数间隔条件;所述第一视频帧中的目标对象的动作与上一次渲染到所述中间缓存帧的目标对象的动作之间的相似度满足设定的相似度条件;所述第一视频帧中的目标对象与上一次渲染到所述中间缓存帧的目标对象之间的重叠度满足设定的重叠度条件;将目标对象渲染到所述中间缓存帧的次数满足设定的次数条件。本公开实施例能够基于渲染条件自动触发用于生成分身渲染特效的视频处理流程。
在一些实施例中,所述在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,还包括:检测到已渲染到所述中间缓存帧的目标对象的总数小于设定的数量阈值的,确定所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔,且所述帧间隔等于设定帧数。
在一些实施例中,所述方法还包括:在检测到所述第二视频帧中的背景区域与所述第一视频帧中的背景区域之间的相似度不符合设定的相似度条件的情况下,从新的第一视频帧中获取目标对象,并返回生成包括所述第一视频帧中的目标对象的中间缓存帧的步骤。通过本实施例,用于与符合相似度条件的多个第二视频帧进行合成的中间缓存帧中的目标对象来自同一帧第一视频帧,从而使这些符合相似度条件的多个第二视频帧合成得到的合成帧中包括相同的分身,而不符合相似度条件的多个第二视频帧合成得到的合成帧中包括不同的分身。
在一些实施例中,在将所述中间缓存帧分别与每帧所述第二视频帧进行合成之前,所述方法还包括:对所述中间缓存帧中的目标对象进行预处理,得到预处理后的目标对象,预处理后的目标对象的属性不同于所述中间缓存帧中的目标对象的属性。通过本实施例,能够使分身获得不同的属性,从而在合成帧中使分身展示出不同的展示效果,进一步提高了特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述方法还包括:确定所述合成帧中包括的目标对象中的第一目标对象的动作类别;基于所述第一目标对象的动作类别,为所述第一目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述方法还包括:识别所述第一视频帧中的字幕信息;基于所述字幕信息,为所述合成帧中包括的所述中间缓存帧中的目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述第一视频帧中包括的目标对象为所述第一视频帧中预设位置范围内的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中占据像素数量大于预设数量的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中与预设对象相似度大于预设相似度阈值的对象。
在一些实施例中,所述从视频中的第一视频帧中获取目标对象,包括:对所述第一视频帧进行目标检测,得到检测结果;基于所述检测结果对所述第一视频帧进行背景分割,得到所述第一视频帧中目标对象的掩膜;基于所述第一视频帧中目标对象的掩膜,对所述第一视频帧进行蒙版处理,基于蒙版处理结果从所述视频帧中分割出目标对象。通过进行目标检测,无需依赖绿幕进行特效渲染,提高了背景分割的准确性,同时便于用户通过手机等终端设备随时随地实现视频处理。
在一些实施例中,所述生成包括所述第一视频帧中的目标对象的中间缓存帧,包括:在清除所述中间缓存帧上的指定对象之后,将所述第一视频帧中的目标对象渲染到中间缓存帧。
在一些实施例中,所述指定对象包括所述中间缓存帧上已渲染的全部目标对象,或者所述指定对象包括最早渲染到所述中间缓存帧上的目标对象,或者所述指定对象包括渲染到所述中间缓存帧上的时长大于预设时长的目标对象。
第二方面,本公开实施例提供一种视频处理装置,所述装置包括:生成模块,用于从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;获取模块,用于获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;合成模块,用于将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象。
本公开实施例将第一视频帧中的目标对象绘制到中间缓存帧上,并将中间缓存帧与位于所述目标视频帧中的第一视频帧之后的多帧第二视频帧进行合成,能够在各个合成帧中均同时显示本体和分身。其中,本体是指第二视频帧在合成之前就包括的目标对象,分身是指中间缓存帧包括的目标对象。由于各个合成帧中的分身均来自同一个第一视频帧,因此各个合成帧中分身的动作保持不变。在各个第二视频帧中本体动作动态变化的情况下,本公开实施例能够生成多帧包括固定不变的分身以及动态变化的本体的分身渲染特效。相比于相关技术中简单替换背景区域的方式,本公开的视频处理方式能够提高特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述生成模块还用于:在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,检测到满足渲染条件包括以下至少一者:已渲染到所述中间缓存帧的目标对象的总数满足设定的数量条件;所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔满足设定的帧数间隔条件;所述第一视频帧中的目标对象的动作与上一次渲染到所述中间缓存帧的目标对象的动作之间的相似度满足设定的相似度条件;所述第一视频帧中的目标对象与上一次渲染到所述中间缓存帧的目标对象之间的重叠度满足设定的重叠度条件;将目标对象渲染到所述中间缓存帧的次数满足设定的次数条件。本公开实施例能够基于渲染条件自动触发用于生成分身渲染特效的视频处理流程。
在一些实施例中,所述生成模块还用于:在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,检测到已渲染到所述中间缓存帧的目标对象的总数小于设定的数量阈值的,确定所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔,且所述帧间隔等于设定帧数。
在一些实施例中,所述装置还包括:目标对象获取模块,用于在检测到所述第二视频帧中的背景区域与所述第一视频帧中的背景区域之间的相似度不符合设定的相似度条件的情况下,从新的第一视频帧中获取目标对象,并返回执行生成模块的功能。通过本实施例,用于与符合相似度条件的多个第二视频帧进行合成的中间缓存帧中的目标对象来自同一帧第一视频帧,从而使这些符合相似度条件的多个第二视频帧合成得到的合成帧中包括相同的分身,而不符合相似度条件的多个第二视频帧合成得到的合成帧中包括不同的分身。
在一些实施例中,所述装置还包括:预处理模块,用于对所述中间缓存帧中的目标对象进行预处理,得到预处理后的目标对象,预处理后的目标对象的属性不同于所述中间缓存帧中的目标对象的属性。通过本实施例,能够使分身获得不同的属性,从而在合成帧中使分身展示出不同的展示效果,进一步提高了特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述装置还包括:动作类别确定模块,用于确定所述合成帧中包括的目标对象中的第一目标对象的动作类别;第一关联对象渲染模块,用于基于所述第一目标对象的动作类别,为所述第一目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述装置还包括:字幕信息识别模块,用于识别所述第一视频帧中的字幕信息;第二关联对象渲染模块,用于基于所述字幕信息,为所述合成帧中包括的所述中间缓存帧中的目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述第一视频帧中包括的目标对象为所述第一视频帧中预设位置范围内的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中占据像素数量大于预设数量的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中与预设对象相似度大于预设相似度阈值的对象。
在一些实施例中,所述生成模块包括:视频检测单元,用于对所述第一视频帧进行目标检测,得到检测结果;背景分割单元,用于基于所述检测结果对所述第一视频帧进行背景分割,得到所述第一视频帧中目标对象的掩膜;蒙版处理单元,用于基于所述第一视频帧中目标对象的掩膜,对所述第一视频帧进行蒙版处理,基于蒙版处理结果从所述视频帧中分割出目标对象。通过进行目标检测,无需依赖绿幕进行特效渲染,提高了背景分割的准确性,同时便于用户通过手机等终端设备随时随地实现视频处理。
在一些实施例中,所述生成模块用于:在清除所述中间缓存帧上的指定对象之后,将所述第一视频帧中的目标对象渲染到中间缓存帧。
在一些实施例中,所述指定对象包括所述中间缓存帧上已渲染的全部目标对象,或者所述指定对象包括最早渲染到所述中间缓存帧上的目标对象,或者所述指定对象包括渲染到所述中间缓存帧上的时长大于预设时长的目标对象。
第三方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。
第四方面,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是相关技术中的视频处理方式的示意图。
图2是本公开实施例的视频处理方法的流程图。
图3是本公开实施例的确定分身渲染条件的示意图。
图4A和图4B分别是本公开实施例的中间缓存帧的示意图。
图5是本公开实施例的中间缓存帧与视频帧的对应关系的示意图。
图6A和图6B分别是本公开实施例的基于动作渲染关联对象的示意图。
图7是本公开实施例的基于字幕信息渲染关联对象的示意图。
图8是本公开实施例的确定目标对象的示意图。
图9A是本公开实施例的背景分割的示意图。
图9B是本公开实施例的蒙版处理的示意图。
图10是本公开实施例的合成后的多帧第二视频帧的示意图。
图11是本公开实施例的视频处理装置的框图。
图12是本公开实施例的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
在相关技术中,一般通过采用背景分割来将视频帧中的目标对象和背景区域分开,并将视频帧中的背景区域进行替换。如图1所示,视频帧101中包括主体区域101a和背景区域101b,其中,主体区域101a是指包括目标对象的区域,所述目标对象可以是人物、动物或者其他特定对象,也可以是人物或动物的某一部分,例如,人脸。通过对视频帧101中的背景区域进行替换,可以得到视频帧102,其中,视频帧102的主体区域102a与视频帧101的主体区域101a相同,视频帧102的背景区域102b与视频帧101的背景区域101b不同。然而,上述处理方式较为单调,常常难以满足用户的创作需求。
基于此,本公开实施例提供一种视频处理方法,如图2,所述方法可包括:
步骤201:从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;
步骤202:获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;
步骤203:将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象。
本公开实施例的方法既可以用于对实时采集的视频进行处理,也可以用于对预先采集并缓存的视频进行处理。所述视频中的视频帧可以包括连续采集得到的视频帧,也可以包括不连续的视频帧,所述不连续可以是由视频裁剪、视频拼接等处理而导致的。该方法可应用于具有视频处理能力的终端设备或者服务器。所述终端设备可以包括但不限于手机、平板电脑、个人电脑(Personal Computer,PC)等设备。所述服务器可以是单台服务器设备,或者是由多台服务器设备构成的服务器集群。在一些实施例中,可以在终端设备上安装用于进行视频处理的应用程序(APP)、小程序或者web客户端等软件产品,并由这些软件产品执行本公开实施例的方法。
在一种可能的应用场景下,上述软件产品可以是直播类软件产品。主播用户可以在手机上安装客户端(称为主播客户端),通过主播客户端执行本公开实施例的方法以得到合成帧,并将合成帧上传至直播服务器,由直播服务器将合成帧发送至观看直播的用户的客户端(称为观众客户端)。在另一种可能的应用场景下,上述软件产品可以是美颜类软件产品。用户可以在手机上安装客户端,客户端调用手机摄像头采集视频帧,通过客户端对视频帧执行本公开实施例的方法以得到合成帧,并输出合成帧。本领域技术人员可以理解,上述应用场景仅为示例性说明,并非用于限制本公开。
本公开实施例将第一视频帧中的目标对象绘制到中间缓存帧上,并将中间缓存帧与位于所述目标视频帧中的第一视频帧之后的多帧第二视频帧进行合成,能够在各个合成帧中均同时显示本体和分身。其中,本体是指第二视频帧在合成之前就包括的目标对象,分身是指中间缓存帧包括的目标对象。由于各个合成帧中的分身均来自同一个第一视频帧,因此各个合成帧中分身的动作保持不变。在各个第二视频帧中本体动作动态变化的情况下,本公开实施例能够生成多帧包括固定不变的分身以及动态变化的本体的分身渲染特效。相比于相关技术中简单替换背景区域的方式,本公开的视频处理方式能够提高特效渲染过程中的趣味性和特效渲染结果的多样性。
在步骤201中,可以将首次检测到的包括目标对象的视频帧作为第一视频帧,也可以将在接收到视频处理指令之后首次检测到的包括目标对象的视频帧作为第一视频帧,还可以将指定编号范围内检测到的包括目标对象的视频帧作为第一视频帧,或者基于其他条件确定第一视频帧。第一视频帧可以在满足一定条件的情况下更新,也可以始终将同一帧视频帧作为第一视频帧。第一视频帧的数量可以大于或等于1。
在获取到第一视频帧之后,可以从第一视频帧中获取目标对象,并将获取的目标对象渲染到中间缓存帧上,从而生成包括所述第一视频帧中的目标对象的中间缓存帧。其中,目标对象在中间缓存帧中的渲染位置与目标对象在第一视频帧中的位置可以相同,也可以不同。目标对象可以是人物、动物等活体,也可以是桌子、椅子等非活体,还可以是活体的一个部位,例如,人脸、四肢等。在一种应用场景下,目标对象为人物,所述视频为通过拍摄人物执行一系列动作得到的动作视频。第一视频帧中可以包括一个或多个目标对象,任意两个目标对象可以完全相同,也可以互不相同。在第一视频帧中包括多个目标对象的情况下,不同的目标对象可以绘制到同一帧中间缓存帧中,也可以绘制到不同的中间缓存帧中。
在一些实施例中,生成包括所述第一视频帧中的目标对象的中间缓存帧之前,可以先检测渲染条件。只有在渲染条件满足的情况下,才执行步骤101,否则不执行步骤101。具体来说,可以在从视频中的第一视频帧中获取目标对象之前检测渲染条件。如果不满足渲染条件,则不执行从视频中的第一视频帧中获取目标对象的操作。或者,也可以在从视频中的第一视频帧中获取目标对象之后,且在生成包括所述第一视频帧中的目标对象的中间缓存帧之前检测渲染条件,如果不满足渲染条件,则不执行生成包括所述第一视频帧中的目标对象的中间缓存帧的步骤。
在一些实施例中,所述渲染条件可以基于已渲染到中间缓存帧的目标对象的总数确定。在已渲染到所述中间缓存帧的目标对象的总数满足设定的数量条件的情况下,确定满足渲染条件;否则确定不满足渲染条件。所述数量条件可以是所述总数小于预设数量阈值,也可以是所述总数等于预设数量集合中的其中一个数值,或者所述总数等于随机数,或者是其他数量条件。可以采用计数器对已渲染到中间缓存帧的目标对象的总数进行计数,每将一个目标对象渲染到中间缓存帧,将计数器的计数值加1。以数量条件是所述总数小于预设数量阈值为例,在计数值小于预设数量阈值的情况下,判定满足所述渲染条件,否则判定不满足所述渲染条件。
在一些实施例中,所述渲染条件可以基于所述第一视频帧F1与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔确定。在所述帧间隔满足设定的帧数间隔的情况下,确定满足渲染条件;否则确定不满足渲染条件。所述设定的帧数间隔条件可以是所述帧间隔大于或等于预设帧数,也可以是所述帧间隔等于预设帧数集合中的其中一个数值,或者帧间隔等于随机数,或者是其他条件。以所述设定的帧数间隔条件是所述帧间隔大于或等于预设帧数为例,假设上一次渲染到所述中间缓存帧的目标对象所属的视频帧为第m帧视频帧,所述预设帧数为k,所述第一视频帧F1为第n帧视频帧,则在n-m≥k的情况下,判定满足所述渲染条件,否则判定不满足所述渲染条件。
在一些实施例中,所述渲染条件可以基于所述第一视频帧F1中的目标对象的动作与上一次渲染到所述中间缓存帧的目标对象的动作之间的相似度确定。在所述相似度满足设定的相似度条件的情况下,确定满足渲染条件;否则确定不满足渲染条件。所述相似度条件可以是所述相似度处于预设的第一相似度范围内,或者所述相似度等于某个预设的相似度值。所述第一相似度范围可以根据实际需要设置。例如,在希望渲染到中间缓存帧中的各个目标对象尽可能相同的情况下,所述第一相似度范围为大于第一相似度阈值的范围。又例如,在希望渲染到中间缓存帧中的各个目标对象具有一定的区分度的情况下,所述第一相似度范围为小于第二相似度阈值的范围。在上述例子中,第一相似度阈值大于或等于第二相似度阈值。可以对目标对象进行关键点检测,以确定目标对象的关键点位置,并基于两个目标对象的关键点位置之间的差异,确定两个目标对象的动作之间的相似度。
在一些实施例中,中间缓存帧中目标对象的位置与第一视频帧中目标对象的位置相同。所述渲染条件可以基于所述第一视频帧F1中的目标对象与上一次渲染到所述中间缓存帧的目标对象之间的重叠度确定。在所述重叠度满足设定的重叠度条件的情况下,确定满足渲染条件;否则确定不满足渲染条件。所述重叠度条件可以是所述重叠度处于预设的重叠度范围内,也可以是所述重叠度等于指定的重叠度值。所述重叠度范围可以是小于预设重叠度阈值的范围。通过将重叠度条件设置为小于预设重叠度阈值的范围,便于区分合成帧中的各个分身,防止因各个分身过度重叠而影响视觉效果。
在一些实施例中,所述渲染条件可以基于将目标对象渲染到所述中间缓存帧的次数确定。在将目标对象渲染到所述中间缓存帧的次数满足设定的次数条件的情况下,确定满足渲染条件;否则确定不满足渲染条件。所述次数条件可以是所述次数小于预设的次数阈值,也可以是所述次数达到指定的次数值,或者是其他条件。
在实际应用中,渲染条件可以包括上述一个或多个条件,在渲染条件包括多个条件的情况下,可以仅在多个条件中的每个条件都得到满足的情况下,才判定满足渲染条件;在多个条件中的任意一个条件不满足的情况下,判定不满足渲染条件。如图3所示,是将已渲染到所述中间缓存帧的目标对象的总数以及所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔共同作为渲染条件的实施例。
在步骤301中,可以输入第一视频帧F1。
在步骤302中,确定已渲染到中间缓存帧的目标对象的总数是否小于预设数量阈值N。如果是,执行步骤303,否则执行步骤305。
在步骤303中,确定第一视频帧F1与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔是否小于预设帧数 N f 。如果是,执行步骤304,否则执行步骤305。
在步骤304中,将第一视频帧F1中的目标对象渲染到中间缓存帧中,并执行步骤305。
在步骤305中,输出中间缓存帧。
应当说明的是,上述实施例中各步骤的执行顺序不限于此,例如,步骤303可以在步骤302之前执行。除了上述实施例所示的情况之外,还可以将其他两个或两个以上条件的组合作为所述渲染条件,此处不再赘述。
在一些实施例中,可以保留中间缓存帧中已有的目标对象,并直接将第一视频帧F1中的目标对象渲染到中间缓存帧。如图4A所示,假设t1时刻中间缓存帧中包括目标对象P1,在t2时刻需要将目标对象P2渲染到中间缓存帧中,则可以保留中间缓存帧中的P1,并将P2渲染到中间缓存帧中,得到包括P1和P2的中间缓存帧。同理,在t3时刻需要将目标对象P3渲染到中间缓存帧中,则可以保留中间缓存帧中的P1和P2,并将P3渲染到中间缓存帧中,得到包括P1、P2和P3的中间缓存帧。
在另一些实施例中,也可以先从中间缓存帧中清除部分或全部已渲染的目标对象,再将第一视频帧F1中的目标对象渲染到中间缓存帧。清除的对象可以是中间缓存帧中的指定对象,所述指定对象可以包括中间缓存帧中的全部对象,或者包括渲染到所述中间缓存帧上的时长大于预设时长的目标对象,或者包括最早渲染到所述中间缓存帧上的目标对象。还可以基于其他方式确定所需清除的对象,本公开对此不再一一列举。可以为渲染到中间缓存帧的每个目标对象设置一个标识信息,用于唯一标识该目标对象,并将目标对象的标识信息与该目标对象渲染到中间缓存帧的渲染时间和/或渲染时长相关联。然后,通过查询渲染时间和/或渲染时长,并基于查找到的信息确定所需清除的目标对象的标识信息,从而可以基于标识信息清除对应的目标对象。
如图4B所示,假设t1时刻中间缓存帧中包括目标对象P1和P2,在t2时刻需要将目标对象P3渲染到中间缓存帧中,则可以从中间缓存帧中清除部分目标对象(例如P1),并将P3渲染到中间缓存帧中,得到包括P2和P3的中间缓存帧。在t3时刻需要将目标对象P4渲染到中间缓存帧中,则可以从中间缓存帧中清除全部已渲染的目标对象(即P2和P3),并将P4渲染到中间缓存帧中,得到包括P4的中间缓存帧。
可以在不满足渲染条件的情况下从中间缓存帧中清除部分或全部已渲染的目标对象,以使渲染条件得到满足。或者,也可以在指令触发下,或者在满足其他条件的情况下从中间缓存帧中清除部分或全部已渲染的目标对象。
在一些实施例中,中间缓存帧中目标对象的属性与该目标对象在第一视频帧F1中的属性相同。所述属性可包括但不限于目标对象的位置、尺寸、色彩、透明度、阴影、角度、朝向、动作等中的至少一者。在另一些实施例中,中间缓存帧中目标对象的属性与该目标对象在第一视频帧F1中的属性也可以不同。可以通过预处理来更改中间缓存帧中的目标对象的属性。所述预处理包括但不限于以下至少一者:位移、旋转、翻转、缩放、色彩处理、透明度处理、阴影处理、缓存。具体来说,可以先对第一视频帧F1中的目标对象进行预处理,再将预处理后的目标对象渲染到所述中间缓存帧。或者,也可以在将目标对象渲染到所述中间缓存帧之后,再对中间缓存帧中的目标对象进行预处理。预处理后的目标对象的属性不同于所述中间缓存帧中的目标对象的属性,从而可以通过预处理使分身呈现出各种不同的展示效果。
在步骤202中,可以获取至少一帧第二视频帧F2。第二视频帧F2在视频中的位置位于第一视频帧F1之后,例如,第一视频帧F1是视频中的第1帧视频帧,则可以将视频中的第2帧、第3帧、第4帧等视频帧作为第二视频帧F2。进一步地,第二视频帧F2可以是位于第一视频帧F1之后,且与第一视频帧F1之间间隔一定帧数的视频帧。例如,可以将与第一视频帧F1间隔5帧及以上的视频帧作为第二视频帧F2,假设第一视频帧F1是视频中的第1帧视频帧,则可以将视频中的第6帧、第7帧、第8帧等视频帧作为第二视频帧F2。在第二视频帧的数量大于1的情况下,多帧所述第二视频帧可以是连续的视频帧,例如多帧所述第二视频帧包括上述实施例中所述的第2帧、第3帧、第4帧,也可以是不连续的视频帧,例如,多帧所述第二视频帧包括视频中的第2帧、第5帧、第7帧等。
第二视频帧F2中也包括目标对象,该目标对象是第二视频帧F2中本身就存在的,第二视频帧F2中的目标对象与第一视频帧F1中的目标对象为同一对象,但可能具有不同的属性,例如,执行不同的动作、具有不同的大小、处于不同的位置等。各个第二视频帧F2中包括的目标对象可以具有相同的属性,也可以具有不同的属性。为了便于区分第二视频帧F2中本身存在的目标对象与从中间缓存帧合成到第二视频帧F2中的目标对象,可以将第二视频帧F2中本身存在的目标对象称为本体,将中间缓存帧中的目标对象称为分身。
在一些实施例中,基于第一视频帧中的目标对象生成的中间缓存帧可以与多个第二视频帧进行合成。所述多个第二视频帧可以是满足预设条件的视频帧。所述预设条件可以是第二视频帧的背景区域与第一视频帧的背景区域的相似度条件。在背景区域之间的相似度满足设定的相似度条件(例如,大于预设的第三相似度阈值)的情况下,确定满足预设条件;否则确定不满足预设条件。或者,所述预设条件也可以是已与基于第一视频帧中的目标对象生成的中间缓存帧进行合成的第二视频帧的数量条件。在已与基于第一视频帧中的目标对象生成的中间缓存帧进行合成的第二视频帧的数量满足数量条件(例如,小于或等于预设数量阈值)的情况下,确定满足预设条件;否则确定不满足预设条件。本领域技术人员可以理解,上述相似度条件和数量条件不限于上述列举的条件,所述预设条件也不限于上述相似度条件和数量条件。
每获取到一帧第二视频帧,可以判断该第二视频帧与已获取的第一视频帧是否满足所述预设条件,如果满足所述预设条件,则从所述第一视频帧中获取目标对象;如果不满足所述预设条件,则获取新的第一视频帧,并生成包括新的第一视频帧中的目标对象的中间缓存帧。
在预设条件包括相似度条件,且所述相似度条件为所述相似度大于预设的第三相似度阈值的情况下,在所述第二视频帧中的背景区域与所述第一视频帧中的背景区域之间的相似度在预设的第三相似度阈值内的情况下,可以对所述中间缓存帧与所述第二视频帧进行合成。本实施例的方案可以用于存在场景切换的视频中,以便使第一视频帧F1中的目标对象仅作为与第一视频帧F1处于相同场景的第二视频帧F2中本体的分身。
如图5所示,假设在t1时刻获取到第一视频帧F1,并从第一视频帧F1中截取出目标对象P1,从而得到包括P1的中间缓存帧。在t2时刻获取到第二视频帧F2,且t2时刻的第二视频帧F2中的背景区域与第一视频帧F1中的背景区域的相似度大于第三相似度阈值,则保留中间缓存帧中的P1,并将P1作为t2时刻的第二视频帧F2中的本体P2的分身。在t3时刻获取到第二视频帧F2,且t3时刻的第二视频帧F2中的背景区域与第一视频帧F1中的背景区域的相似度小于第三相似度阈值,则清除中间缓存帧中的P1,从而P1不作为t3时刻的第二视频帧F2中的本体P3的分身。当然,可以理解的是,虽然并未将P1作为P3的分身,但若此时中间缓存帧中存在从视频帧F1’中获取的目标对象,且为t3时刻的第二视频帧F2与视频帧F1’的相似度大于第三相似度阈值,则可以将中间缓存帧中视频帧F1’对应的目标对象作为P3的分身(图中未示出)。
在步骤203中,可以分别将中间缓存帧与各个第二视频帧F2进行合成。在第二视频帧的数量大于1的情况下,多帧第二视频帧F2可以是连续的多帧视频帧,也可以是不连续的多帧视频帧。
在一些实施例中,可以为合成帧中的目标对象渲染关联对象。可选地,可以确定所述合成帧中包括的目标对象中的第一目标对象的动作类别;基于所述第一目标对象的动作类别,为所述第一目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。所述第一目标对象可以包括本体和/或至少一个分身。所述关联对象可以是与第一目标对象的动作相关的道具。如图6A所示,第一目标对象包括分身602。在识别到分身602执行的动作为踢球动作的情况下,可以为分身602添加足球道具603。当然,在第一目标对象可以包括本体601的情况下,还可以为本体601添加关联道具(图中未示出)。在第一目标对象的数量大于1的情况下,也可以随机地为不同的第一目标对象渲染不同的关联对象,以便对各个第一目标对象进行区分。所述关联对象是服饰,包括但不限于帽子、衣服、耳环、手镯、鞋子、胡须、眼镜等中的一种或多种。如图6B所示,可以为不同的第一目标对象分别添加帽子604、眼镜605、胡须606等关联对象。
在一些实施例中,由于字幕往往与视频中目标对象的信息相关,还可以识别所述第一视频帧中的字幕信息;基于所述字幕信息,为所述合成帧中包括的所述中间缓存帧中的目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。具体来说,可以识别出字幕信息中的关键词,所述关键词可以是预先加入关键词库的词语。可以建立所述关键词与关联对象之间的关联关系,在识别到关键词的情况下,基于所述关联关系从存储关联对象的数据库中查找对应的关联对象。如图7所示,第一视频帧F1中包括目标对象702,且在第一视频帧F1中识别出的字幕信息701中包括关键词“扇子”,第二视频帧F2中包括分身703和本体704,分身703是从第一视频帧F1中获取的目标对象,则可以为分身703渲染关联对象扇子705,以使合成帧Fc中包括分身703、本体704以及扇子705。
在上述渲染关联对象的实施例中,可以将关联对象也渲染到中间缓存帧中,并在进行视频帧合成时将渲染有关联对象的中间缓存帧与第二视频帧F2进行合成。或者,也可以在将未渲染关联对象的中间缓存帧与第二视频帧F2进行合成之后,将关联对象渲染到合成帧中,还可以将关联对象渲染到未渲染目标对象的缓存帧中,并将中间缓存帧、渲染有关联对象的缓存帧以及第二视频帧进行合成。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,第一视频帧F1中可能包括一个以上的对象,可以将其中的部分对象确定为目标对象。例如,可以将第一视频帧F1中预设位置范围内的对象确定为目标对象,所述预设位置范围可以是第一视频帧F1中的中心区域,所述中心区域的范围可以预先指定。如图8所示,虚线框所围成的区域S为中心区域,因此,可以将位于中心区域S内的对象801确定为目标对象,而不将中心区域S以外的对象802确定为目标对象。还可以基于图像的构图方式确定预设位置范围。在构图方式为对角线构图的情况下,由于被摄主体一般被安排在图像中的对角线上,因此,可以将对角线附近的区域确定为预设位置范围。在九宫格构图方式中,被摄主体一般放在图像中九宫格交叉点的位置,因此,可以将包括九宫格交叉点的区域确定为预设位置范围。除了以上列举的方式之外,预设位置范围还可以采用其他方式确定,此处不再赘述。
又例如,可以将第一视频帧F1中占据像素数量大于预设数量的对象确定为目标对象。所述预设数量可以基于第一视频帧F1中的总像素数量确定,例如,将第一视频帧F1中的总像素数量的60%确定为所述预设数量。
再例如,可以将第一视频帧F1中与预设对象相似度大于预设相似度阈值的对象确定为目标对象。所述预设对象可以是用户指定的对象,也可以是最近一次被确定为目标对象的对象等。
通过上述方式,可以从第一视频帧F1中包括的多个对象中自动筛选出目标对象。在旅游景点等场景中,拍摄到的视频中可能包括较多不相关的对象。通过上述方式,能够减少将不相关的对象确定为目标对象的概率,提高了确定目标对象的准确性。
下面结合附图对本公开实施例的整体流程进行说明。
首先,进行背景分割。可以对第一视频帧F1进行目标检测,得到检测结果。基于所述检测结果对所述第一视频帧进行背景分割,得到所述第一视频帧中目标对象的掩膜。如图9A所示,第一视频帧F1中的目标对象901对应掩膜902。再基于所述第一视频帧中目标对象的掩膜(mask),对所述第一视频帧进行蒙版处理,基于蒙版处理结果从所述视频帧中分割出目标对象,蒙版处理结果如图9B所示。目标对象的掩膜用于从目标视频帧中提取目标对象,一般与目标对象具有相同尺寸和形状。在进行蒙版处理时,可以在目标视频帧上覆盖一层图层,图层包括透明区域和不透明区域,可以将目标对象的掩膜对应的区域设置为透明区域,将除目标对象的掩膜之外的区域设置为不透明区域。将透明区域截取出来,即可得到目标对象。
相关技术中的背景分割一般需要通过设置绿幕,基于视频帧中各个像素点的颜色,对视频帧进行前景(目标对象)和背景的分割。这种背景分割方式容易因为目标对象自身的绿色像素点而导致分割错误,分割准确性较低,且无法实现随时随地的视频特效制作。本公开实施例通过目标检测实现前景和背景的分割,无需设置绿幕,提高了分割准确性,同时便于用户通过手机等终端设备随时随地实现视频处理。
通过蒙版处理能够获得视频帧中目标对象的信息。然后,可以依据不同效果的不同需求和参数,对获取到的目标对象进行各种操作,如位移、缩放、缓存,并将处理的结果渲染到中间缓存帧中。本步骤的具体操作内容会根据特效的不同而有所变化。但主要思路就是在对截取出的主体人物图像进行操作来实现不同的效果。通过对这些操作的修改,将来也可以创造出更多不同的渲染特效。
将中间缓存帧和原图进行合成,得到最终的分身特效结果。可以每隔几帧对主体人物当前的姿态进行“截图”,并持续渲染在背景上,最后得到的渲染效果是一个活动的“本体”和几个固定位置和姿势的“分身”同时存在于屏幕上。多帧合成帧如图10所示。从第一视频帧F1中截取出目标对象1001,并将人物1001渲染到中间缓存帧。然后,分别将中间缓存帧与不同的第二视频帧F2进行合成。假设各个第二视频帧F2中分别包括本体1002、本体1003和本体1004,则合成后的视频帧Fc-1、Fc-2以及Fc-3如图所示。可以看出,每个合成帧中都包括原第二视频帧F2中的本体以及第一视频帧F1中的目标对象1001对应的分身d。各个合成帧中本体是动态变化的,即本体的动作可能各不相同,但各个合成帧中的分身是固定不变的,都与第一视频帧F1中的目标对象的动作相同。
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
如图11所示,本公开实施例还提供一种视频处理装置,所述装置包括:
生成模块1101,用于从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;
获取模块1102,用于获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;
合成模块1103,用于将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象。
本公开实施例将第一视频帧中的目标对象绘制到中间缓存帧上,并将中间缓存帧与位于所述目标视频帧中的第一视频帧之后的多帧第二视频帧进行合成,能够在各个合成帧中均同时显示本体和分身。其中,本体是指第二视频帧在合成之前就包括的目标对象,分身是指中间缓存帧包括的目标对象。由于各个合成帧中的分身均来自同一个第一视频帧,因此各个合成帧中分身的动作保持不变。在各个第二视频帧中本体动作动态变化的情况下,本公开实施例能够生成多帧包括固定不变的分身以及动态变化的本体的分身渲染特效。相比于相关技术中简单替换背景区域的方式,本公开的视频处理方式能够提高特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述生成模块还用于:在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,检测到满足渲染条件包括以下至少一者:已渲染到所述中间缓存帧的目标对象的总数满足设定的数量条件;所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔满足设定的帧数间隔条件;所述第一视频帧中的目标对象的动作与上一次渲染到所述中间缓存帧的目标对象的动作之间的相似度满足设定的相似度条件;所述第一视频帧中的目标对象与上一次渲染到所述中间缓存帧的目标对象之间的重叠度满足设定的重叠度条件;将目标对象渲染到所述中间缓存帧的次数满足设定的次数条件。本公开实施例能够基于渲染条件自动触发用于生成分身渲染特效的视频处理流程。
在一些实施例中,所述生成模块还用于:在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,检测到已渲染到所述中间缓存帧的目标对象的总数小于设定的数量阈值的,确定所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔,且所述帧间隔等于设定帧数。
在一些实施例中,所述装置还包括:目标对象获取模块,用于在检测到所述第二视频帧中的背景区域与所述第一视频帧中的背景区域之间的相似度不符合设定的相似度条件的情况下,从新的第一视频帧中获取目标对象,并返回执行生成模块的功能。通过本实施例,用于与符合相似度条件的多个第二视频帧进行合成的中间缓存帧中的目标对象来自同一帧第一视频帧,从而使这些符合相似度条件的多个第二视频帧合成得到的合成帧中包括相同的分身,而不符合相似度条件的多个第二视频帧合成得到的合成帧中包括不同的分身。
在一些实施例中,所述装置还包括:预处理模块,用于对所述中间缓存帧中的目标对象进行预处理,得到预处理后的目标对象,预处理后的目标对象的属性不同于所述中间缓存帧中的目标对象的属性。通过本实施例,能够使分身获得不同的属性,从而在合成帧中使分身展示出不同的展示效果,进一步提高了特效渲染过程中的趣味性和特效渲染结果的多样性。
在一些实施例中,所述装置还包括:动作类别确定模块,用于确定所述合成帧中包括的目标对象中的第一目标对象的动作类别;第一关联对象渲染模块,用于基于所述第一目标对象的动作类别,为所述第一目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述装置还包括:字幕信息识别模块,用于识别所述第一视频帧中的字幕信息;第二关联对象渲染模块,用于基于所述字幕信息,为所述合成帧中包括的所述中间缓存帧中的目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。通过渲染关联对象,可以使合成后的视频帧显示更加丰富的特效,从而进一步提高视频处理结果的多样性和趣味性。
在一些实施例中,所述第一视频帧中包括的目标对象为所述第一视频帧中预设位置范围内的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中占据像素数量大于预设数量的对象;或者所述第一视频帧中包括的目标对象为所述第一视频帧中与预设对象相似度大于预设相似度阈值的对象。
在一些实施例中,所述生成模块包括:视频检测单元,用于对所述第一视频帧进行目标检测,得到检测结果;背景分割单元,用于基于所述检测结果对所述第一视频帧进行背景分割,得到所述第一视频帧中目标对象的掩膜;蒙版处理单元,用于基于所述第一视频帧中目标对象的掩膜,对所述第一视频帧进行蒙版处理,基于蒙版处理结果从所述视频帧中分割出目标对象。通过进行目标检测,无需依赖绿幕进行特效渲染,提高了背景分割的准确性,同时便于用户通过手机等终端设备随时随地实现视频处理。
在一些实施例中,所述生成模块用于:在清除所述中间缓存帧上的指定对象之后,将所述第一视频帧中的目标对象渲染到中间缓存帧。
在一些实施例中,所述指定对象包括所述中间缓存帧上已渲染的全部目标对象,或者所述指定对象包括最早渲染到所述中间缓存帧上的目标对象,或者所述指定对象包括渲染到所述中间缓存帧上的时长大于预设时长的目标对象。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述任一实施例所述的方法。
图12示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1201、存储器1202、输入/输出接口1203、通信接口1204和总线1205。其中处理器1201、存储器1202、输入/输出接口1203和通信接口1204通过总线1205实现彼此之间在设备内部的通信连接。
处理器1201可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。处理器1201还可以包括显卡,所述显卡可以是Nvidia titan X显卡或者1080Ti显卡等。
存储器1202可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1202可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1202中,并由处理器1201来调用执行。
输入/输出接口1203用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1204用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1205包括一通路,在设备的各个组件(例如处理器1201、存储器1202、输入/输出接口1203和通信接口1204)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1201、存储器1202、输入/输出接口1203、通信接口1204以及总线1205,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (14)

1.一种视频处理方法,其特征在于,所述方法包括:
从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;
获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;
将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象;
各个合成帧中包括的所述中间缓存帧中包括的目标对象是来自于同一所述第一视频帧的,且动作是固定不变的。
2.根据权利要求1所述的方法,其特征在于,所述生成包括所述第一视频帧中的目标对象的中间缓存帧之前,还包括:
检测到满足渲染条件包括以下至少一者:
已渲染到所述中间缓存帧的目标对象的总数满足设定的数量条件;
所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔满足设定的帧数间隔条件;
所述第一视频帧中的目标对象的动作与上一次渲染到所述中间缓存帧的目标对象的动作之间的相似度满足设定的相似度条件;
所述第一视频帧中的目标对象与上一次渲染到所述中间缓存帧的目标对象之间的重叠度满足设定的重叠度条件;
将目标对象渲染到所述中间缓存帧的次数满足设定的次数条件。
3.根据权利要求1所述的方法,其特征在于,在生成包括所述第一视频帧中的目标对象的中间缓存帧之前,还包括:
检测到已渲染到所述中间缓存帧的目标对象的总数小于设定的数量阈值的,确定所述第一视频帧与上一次渲染到所述中间缓存帧的目标对象所属的视频帧之间的帧间隔,且所述帧间隔等于设定帧数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述第二视频帧中的背景区域与所述第一视频帧中的背景区域之间的相似度不符合设定的相似度条件的情况下,从新的第一视频帧中获取目标对象,并返回生成包括所述第一视频帧中的目标对象的中间缓存帧的步骤。
5.根据权利要求1所述的方法,其特征在于,在将所述中间缓存帧分别与每帧所述第二视频帧进行合成之前,所述方法还包括:
对所述中间缓存帧中的目标对象进行预处理,得到预处理后的目标对象,预处理后的目标对象的属性不同于所述中间缓存帧中的目标对象的属性。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述合成帧中包括的目标对象中的第一目标对象的动作类别;
基于所述第一目标对象的动作类别,为所述第一目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
识别所述第一视频帧中的字幕信息;
基于所述字幕信息,为所述合成帧中包括的所述中间缓存帧中的目标对象渲染关联对象,并在所述合成帧中显示所述关联对象。
8.根据权利要求1所述的方法,其特征在于,所述第一视频帧中包括的目标对象为所述第一视频帧中预设位置范围内的对象;或者
所述第一视频帧中包括的目标对象为所述第一视频帧中占据像素数量大于预设数量的对象;或者
所述第一视频帧中包括的目标对象为所述第一视频帧中与预设对象相似度大于预设相似度阈值的对象。
9.根据权利要求1所述的方法,其特征在于,所述从视频中的第一视频帧中获取目标对象,包括:
对所述第一视频帧进行目标检测,得到检测结果;
基于所述检测结果对所述第一视频帧进行背景分割,得到所述第一视频帧中目标对象的掩膜;
基于所述第一视频帧中目标对象的掩膜,对所述第一视频帧进行蒙版处理,基于蒙版处理结果从所述视频帧中分割出目标对象。
10.根据权利要求1所述的方法,其特征在于,所述生成包括所述第一视频帧中的目标对象的中间缓存帧,包括:
在清除所述中间缓存帧上的指定对象之后,将所述第一视频帧中的目标对象渲染到中间缓存帧。
11.根据权利要求10所述的方法,其特征在于,所述指定对象包括所述中间缓存帧上已渲染的全部目标对象,或者
所述指定对象包括最早渲染到所述中间缓存帧上的目标对象,或者
所述指定对象包括渲染到所述中间缓存帧上的时长大于预设时长的目标对象。
12.一种视频处理装置,其特征在于,所述装置包括:
生成模块,用于从视频中的第一视频帧中获取目标对象,生成包括所述第一视频帧中的目标对象的中间缓存帧;
获取模块,用于获取所述视频中的至少一帧第二视频帧,每帧所述第二视频帧位于所述第一视频帧之后,且也包括所述目标对象;
合成模块,用于将所述中间缓存帧分别与每帧所述第二视频帧进行合成,得到每帧所述第二视频帧对应的合成帧,其中,一帧第二视频帧对应的合成帧中包括所述第二视频帧中包括的目标对象以及所述中间缓存帧中包括的目标对象;
各个合成帧中包括的所述中间缓存帧中包括的目标对象是来自于同一所述第一视频帧的,且动作是固定不变的。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11任意一项所述的方法。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至11任意一项所述的方法。
CN202111033199.4A 2021-09-03 2021-09-03 视频处理方法和装置、计算机可读存储介质及计算机设备 Active CN113473181B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111033199.4A CN113473181B (zh) 2021-09-03 2021-09-03 视频处理方法和装置、计算机可读存储介质及计算机设备
PCT/CN2022/115009 WO2023030176A1 (zh) 2021-09-03 2022-08-26 视频处理方法、装置、计算机可读存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111033199.4A CN113473181B (zh) 2021-09-03 2021-09-03 视频处理方法和装置、计算机可读存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN113473181A CN113473181A (zh) 2021-10-01
CN113473181B true CN113473181B (zh) 2021-12-31

Family

ID=77867357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111033199.4A Active CN113473181B (zh) 2021-09-03 2021-09-03 视频处理方法和装置、计算机可读存储介质及计算机设备

Country Status (2)

Country Link
CN (1) CN113473181B (zh)
WO (1) WO2023030176A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113473181B (zh) * 2021-09-03 2021-12-31 北京市商汤科技开发有限公司 视频处理方法和装置、计算机可读存储介质及计算机设备
CN116173496A (zh) * 2021-11-26 2023-05-30 华为技术有限公司 一种图像帧的渲染方法及相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5293587B2 (ja) * 2009-12-16 2013-09-18 ソニー株式会社 表示制御装置、表示制御方法、プログラム
JP2011176748A (ja) * 2010-02-25 2011-09-08 Sony Corp 画像処理装置および方法、並びにプログラム
KR101960305B1 (ko) * 2012-07-04 2019-03-20 엘지전자 주식회사 터치 스크린을 포함하는 디스플레이 장치 및 그 제어 방법
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端
CN107295265A (zh) * 2017-08-01 2017-10-24 珠海市魅族科技有限公司 拍摄方法及装置、计算机装置和计算机可读存储介质
CN110324663A (zh) * 2019-07-01 2019-10-11 北京奇艺世纪科技有限公司 一种动态图像的生成方法、装置、电子设备和存储介质
CN111327840A (zh) * 2020-02-27 2020-06-23 努比亚技术有限公司 一种多帧特效视频获取方法、终端及计算机可读存储介质
CN113473181B (zh) * 2021-09-03 2021-12-31 北京市商汤科技开发有限公司 视频处理方法和装置、计算机可读存储介质及计算机设备

Also Published As

Publication number Publication date
WO2023030176A1 (zh) 2023-03-09
CN113473181A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US11238644B2 (en) Image processing method and apparatus, storage medium, and computer device
US11094131B2 (en) Augmented reality apparatus and method
US10956967B2 (en) Generating and providing augmented reality representations of recommended products based on style similarity in relation to real-world surroundings
Goferman et al. Context-aware saliency detection
CN113490050B (zh) 视频处理方法和装置、计算机可读存储介质及计算机设备
CN113473181B (zh) 视频处理方法和装置、计算机可读存储介质及计算机设备
WO2016122973A1 (en) Real time texture mapping
CN106663196A (zh) 视频中的计算机显著人物识别
CN111241340A (zh) 视频标签确定方法、装置、终端及存储介质
WO2023030177A1 (zh) 视频处理方法、装置、计算机可读存储介质及计算机设备
US11914836B2 (en) Hand presence over keyboard inclusiveness
CN114402355A (zh) 个性化自动视频裁切
CN114092670A (zh) 一种虚拟现实显示方法、设备以及存储介质
Lobo et al. Animation plans for before-and-after satellite images
JP2013195725A (ja) 画像表示システム
JP7438690B2 (ja) 情報処理装置、画像認識方法及び学習モデル生成方法
CN113570615A (zh) 一种基于深度学习的图像处理方法、电子设备及存储介质
CN111651054A (zh) 音效控制方法、装置、电子设备及存储介质
CN112955851A (zh) 基于场境线索选择增强现实对象以供显示
JP5962383B2 (ja) 画像表示システムおよび画像処理装置
CN116862920A (zh) 一种人像分割方法、装置、设备及介质
Vairamani Analyzing DeepFakes videos by face warping artifacts
CN109829847B (zh) 图像合成方法及相关产品
CN116958854A (zh) 视频封面的确定方法、装置、设备、介质和程序产品
CN115529484A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40055256

Country of ref document: HK