CN108353127A - 基于深度相机的图像稳定 - Google Patents
基于深度相机的图像稳定 Download PDFInfo
- Publication number
- CN108353127A CN108353127A CN201680062217.2A CN201680062217A CN108353127A CN 108353127 A CN108353127 A CN 108353127A CN 201680062217 A CN201680062217 A CN 201680062217A CN 108353127 A CN108353127 A CN 108353127A
- Authority
- CN
- China
- Prior art keywords
- frame
- block
- overlapping
- described image
- people
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
- H04N23/611—Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/684—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
- H04N23/6845—Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time by combination of a plurality of images sequentially taken
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio 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/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio 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/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
处理设备收集源设备向目标设备提供的视频流的图像序列中的帧的深度数据作为通信会话的一部分。深度数据由源设备的深度感知相机创建。处理设备使用深度数据来将帧中的对象的特征的特征位置映射到其他帧中的所述对象的所述特征的特征位置,使用所映射的特征位置确定帧之间的重叠帧区块,基于重叠帧区块在图像序列中修改与帧对应的图像集合,以创建视频流的稳定图像流,并且在视频流中提供稳定图像流作为通信会话的一部分。
Description
技术领域
本公开的方面和实施方式涉及图像稳定,并且更具体地涉及基于深度相机的图像稳定。
背景技术
录制视频并与朋友分享视频已成为当今社交传播领域的公认准则。诸如手机、眼镜等各种手持设备都配备了视频相机,其可让用户录制视频并与他们的朋友和家人分享该视频。视频相机也可用于通过互联网实现视频协作(例如,视频聊天、视频会议、远程医疗等)。然而,通常用户记录的视频内容的质量是非最佳的。例如,视频相机可能摇晃并导致视频中可见的帧间抖动。
发明内容
以下呈现本公开的各个方面的简化发明内容以便提供对这些方面的基本理解。本发明内容并非所有考虑方面的广泛概述,并且意欲既不在于识别关键或重要要素,也不描述这些方面的范围。其目的是以简化的形式呈现本公开的一些概念来作为稍后呈现的更详细的描述的前序。
在本公开的一个方面,由处理设备收集源设备向目标设备提供的视频流的图像序列中的各帧的深度数据作为所述源设备的用户与所述目标设备的用户之间的通信会话的一部分。所述深度数据由所述源设备的深度感知相机创建。使用所述深度数据来将所述图像序列中的帧中的对象的一个或多个特征的特征位置映射到在所述图像序列中的至少一个其他帧中的所述对象的所述一个或多个特征的特征位置。使用所映射的特征位置确定在所述帧与所述至少一个其他帧之间的一个或多个重叠帧区块。基于所述重叠帧区块在所述图像序列中修改与所述帧和所述至少一个其他帧相对应的图像集合,以针对所述视频流创建稳定图像流。在所述视频流中提供稳定图像流作为所述通信会话的一部分。所述处理设备可以是包括在源设备中的处理器,其可以是包括在目标设备中的处理器,或者其可以是包括在与源设备和目标设备分离的设备中的处理器。
在一个实施方式中,所述对象包括面部或面部特征的至少一部分。只有在收到来自用户的明确授权后,才能执行对用户的面部或面部特征的辨识。在一个实施方式中,所述处理设备修改所述图像集合包括:将所述图像中的人识别为前景对象;将所述图像集合中除所述人以外的一个或多个对象识别为背景对象;以及,去除所述各帧中与包含所述背景对象的所述图像集合对应的一个或多个区块。
在一个实施方式中,处理设备将使用所映射的特征位置来对齐所述帧和所述至少一个其他帧;以及,将所述帧的前景部分中的一个或多个区块和所述至少一个其他帧的前景部分中的一个或多个区块识别为所述重叠帧区块,所述至少一个其他帧包括相同对象或对象的相同部分中的至少一个。
在一个实施方式中,所述重叠帧区块包括人的至少一部分,并且处理设备通过下述方式来修改所述图像集合以创建所述稳定图像流:裁剪所述帧的所述重叠帧区块和所述至少一个其他帧的所述重叠帧区块;创建所述帧和所述至少一个其他帧的副本;在不修改所述帧的背景部分和所述至少一个其他帧的背景部分的情况下用所述重叠帧区块替换所述帧的副本中包含所述人的所述部分的区块在一个实施方式中,所述通信会话是经由移动设备的视频聊天(例如,提供视频流的源设备可以是移动设备)。
还描述了一种提供基于深度相机的图像稳定的装置。所述装置包括收集源设备向目标设备提供的视频流的图像序列中的各帧的深度数据作为所述源设备的用户与所述目标设备的用户之间的通信会话的一部分的装置。所述深度数据由所述源设备的深度感知相机创建。所述装置包括:用于使用所述深度数据来将所述图像序列中的帧中的对象的一个或多个特征的特征位置映射到在所述图像序列中的至少一个其他帧中的所述对象的所述一个或多个特征的特征位置的装置;用于使用所映射的特征位置确定在所述帧与所述至少一个其他帧之间的一个或多个重叠帧区块的装置;用于基于所述重叠帧区块在所述图像序列中修改与所述帧和所述至少另一帧相对应的图像集合,以针对所述视频流创建稳定图像流的装置;以及,用于在所述视频流中提供稳定图像流作为所述通信会话的一部分的装置。
在一个实施方式中,对象是面部或面部特征的至少一部分。只有在收到来自用户的明确授权后,才能执行对用户的面部或面部特征的辨识。在一个实施方式中,用于修改所述图像集合的装置包括:用于将图像中的人物识别为前景对象的装置;将所述图像集合中除所述人以外的一个或多个对象识别为背景对象的装置;以及,去除所述各帧中与包含所述背景对象的所述图像集合对应的一个或多个区块的装置。
在一个实施方式中,用于确定一个或多个重叠帧区块的装置包括:用于使用所映射的特征位置来对齐所述帧和所述至少一个其他帧的装置;以及,用于将所述帧的前景部分中的一个或多个区块和所述至少一个其他帧的前景部分中的一个或多个区块识别为所述重叠帧区块的装置,所述至少一个其他帧包括相同对象或对象的相同部分中的至少一个。
在一个实施方式中,所述重叠区块包括人的至少一部分,并且用于修改所述图像集合以创建稳定图像流的装置包括:用于裁剪所述帧的所述重叠帧区块和所述至少一个其他帧的所述重叠帧区块的装置;用于创建所述帧和所述至少一个其他帧的副本的装置;以及,用于在不修改所述帧的背景部分和所述至少一个其他帧的背景部分的情况下用所述重叠帧区块替换所述帧的副本中包含所述人的所述部分的区块的装置。
在另外的实施方式中,还实现用于执行上述实施方式的操作的计算设备。另外,在本公开的实施方式中,计算机可读存储介质可以存储用于执行本文描述的实施方式的操作的指令。计算机可读存储介质可以是非暂时性计算机可读存储介质。将意识到,各方面和实施方式可以被组合,并且在一个方面或实施方式的场境中描述的特征可以在其他方面或实施方式的场境中实现。
附图说明
根据以下给出的详细描述以及本公开的各个方面和实施方式的附图,将更全面地理解本公开的方面和实施方式,然而,本公开的各个方面和实施方式不应被视为将本公开限制为特定方面或实施方式,但仅用于解释和理解。
图1描绘了根据本公开的一个实施方式的说明性系统架构。
图2描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧。
图3描绘了根据本公开的一个实施方式的用于在通信会话期间使用基于深度相机的数据来稳定用于视频通信的图像的方法的方面的流程图。
图4描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧。
图5描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧。
图6描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧。
图7描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧。
图8描绘了根据本公开的一个实施方式的用于在通信会话期间使用基于深度相机的数据来映射视频的帧集合中的对象的特征的方法的各方面的流程图。
图9描绘了根据本公开的一个或多个方面操作的示例计算设备的框图。
具体实施方式
本公开的方面和实施方式涉及基于深度相机的图像稳定。捕捉视频的图像序列的相机可能不稳定,并可以导致视频中可见的帧到帧抖动。视频帧是组成运动画面(以下称为“视频”)的许多静止图像之一。抖动指的是组件中的振动或例如,捕捉视频的源设备的用户的不稳定手导致的结果。
因此,本文在各种实施方式中描述的是能够实现实时基于深度相机的图像稳定的技术。例如,所公开的实施方式可以被应用到例如,通过视频消息应用、音频和/或视频会议、音频和/或视频聊天、音频和/或视频会议室、音频和/或视频聊天室等进行的在用户之间的视频通信,其中,视频通信由一个或多个用户的设备实时发送和/或接收。视频通信可以包括例如,视频聊天中、视频消息中和视频会议中的视频通信。术语“实时”表示操作发生在指定的时间限制内(例如,在50微秒以内)。例如,从发送者到接收者的视频通信的实时传输发生在距记录内容的指定时间限制(例如,在50微秒以内),并且/或者,通过接收器对于视频通信的实时接收在距视频通信传输的指定时间限制内(例如,在50微秒以内)发生。
发送方用户可能正在使用移动设备来与接收方用户进行视频聊天,并且发送方用户和/或移动设备可能在视频聊天期间正在移动,这可能导致出现向接收方用户呈现抖动视频的一系列图像。本公开的实施方式从在源移动设备上的深度感知相机收集深度数据,并使用该深度数据来创建在接收方用户的目标设备上呈现稳定视频的实时图像序列。本公开的实施方式使用深度数据来消除或至少实质上减少在视频通信中的帧到帧抖动。
图1图示了根据本公开的一个实施方式的用于实时通信会话中的视频通信中的基于深度相机的图像稳定的系统架构100的示例。系统架构100包括客户端设备110A到110Z、网络105、数据存储106、协作平台155、社交网络平台160和移动平台150。
在一个实施方式中,网络105可以包括公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))、有线网络(例如,以太网网络)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
在一个实施方式中,数据存储106可以是存储器(例如,随机存取存储器)、高速缓存、驱动器(例如,硬盘驱动器)、闪存驱动器、数据库系统或能够存储数据的另一类型的组件或者设备。数据存储106还可以包括也可以跨越多个计算设备(例如,多个服务器计算机)的多个存储组件(例如,多个驱动器或多个数据库)。数据存储106可以是能够存储数据的永久性存储器。永久性存储器可以是本地存储单元或远程存储单元。永久性存储器可以是磁存储单元、光存储单元、固态存储单元、电子存储单元(主存储器)或类似的存储单元。永久性存储器可以是单片设备或分布的设备集合。这里使用的“集合”是指任何正整数个项目。
协作平台155可以使用例如,流视频或IP语音(VoIP)技术、蜂窝技术、LAN和/或WAN技术来实现协作服务,例如,视频聊天、视频消息收发以及音频和/或视频会议(例如,设备110A-110Z的用户之间)),并可用于个人、娱乐、商业、教育或学术导向的交互。协作平台155可以提供视频会议服务或者可以提供视频会议服务以及包括例如,新闻服务、社交网络服务和/或内容托管服务的其他服务。例如,协作平台155可以允许用户观看视频剪辑或新闻文章,并在观看视频剪辑或新闻文章的同时开始视频会议。在另一个示例中,协作平台155可以允许用户在访问社交网站或视频内容托管站点时开始视频会议。
移动平台150可以是和/或包括一个或多个计算设备(例如,服务器)、数据存储、网络(例如,电话网络、蜂窝网络、局域网、互联网和/或网络的组合)、可用于允许用户使用一个或多个移动设备(例如,电话、平板电脑、膝上型计算机、可佩戴计算设备等)连接到、共享信息和/或与彼此交互的软件组件和/或硬件组件和/或任何其他合适的设备。例如,移动平台150可以实现电话通信、短消息服务(SMS)消息收发、多媒体消息服务(MMS)消息收发、文本聊天和/或用户之间的任何其他通信。移动平台150可以通过视频消息、视频聊天和/或视频会议来支持用户通信。
社交网络平台160可以是一个或多个计算设备(诸如机架安装服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板电脑、台式计算机等)、数据存储(例如,硬盘、存储器,、数据库)、网络、软件组件和/或可用于提供用户之间的通信的硬件组件。例如,社交网络平台160可以允许用户通过视频消息传输、视频聊天和/或视频会议进行通信。
客户端设备110A至110Z可以是诸如个人计算机(PC)、膝上型计算机的计算设备、诸如移动电话、智能手机、平板电脑、上网本计算机等的移动设备。在一些实施方式中,客户端设备110A至110Z也可以被称为“用户设备”。
每个客户端设备可以包括通信应用115。在一个实施方式中,通信应用115可以是允许用户通过协作平台155、移动平台150、社交网络平台160和/或网络105和/或平台和/或网络的组合实时在用户之间组成、发送和接收视频通信的应用。例如,通信应用115可以是视频消息收发应用、视频聊天应用和/或视频会议应用或这些应用的任何组合。视频通信可以是视频流、视频/音频流和/或内容流、视频聊天消息、视频消息等。客户端设备中的通信应用115可以在一个或多个通信会话中向用户渲染、显示和/或提供一个或多个视频通信。例如,通信应用115可以提供一个或多个用户界面以提示客户端设备110的用户发起和/或参与通信会话并发送和/或接收视频通信(例如,视频会议通信、视频消息、视频聊天消息等)。
在一个实施方式中,通信应用115可以是允许用户使用客户端设备之间的对等连接在用户之间通过网络105实时组成、发送和接收视频通信的应用。在对等连接中,客户端设备可以独立于服务提供商的服务彼此通信。
一个或多个客户端设备110A-110Z可以包括深度感知相机105。深度感知相机可以使用RGB(红、绿、蓝)颜色空间或YUV颜色空间。YUV是一个亮度色度系统,为通过一个亮度值和两个色度值定义颜色。Y表示作为辉度(brightness)或光亮度(lightness)的“luma(亮度)”。U和V表示颜色信息,并且分别是蓝色减亮度(B-Y)和红色减亮度(R-Y)的“色差”信号。在一个实施方式中,深度感知相机可以产生可以转换成RGB-D(红、绿、蓝-深度)格式或YUV-D格式的输出数据。在一个实施方式中,深度感知相机可以直接产生RGB-D输出数据或YUV-D输出数据。在本文档中,使用RGB颜色空间的RGB-D深度感知相机作为示例深度感知相机。例如,深度感知相机105可以是可以捕捉RGB图像以及每像素深度信息的感测系统。RGB图像可以包括用于组成视频的RGB图像序列。序列中的各个RGB图像在下文中被称为“帧”。深度感知相机105可以捕捉处于深度感知相机140的范围内的一个或多个对象和/或部分对象,以例如,为视频通信的视频流创建内容。内容可以是一个或多个对象的一系列RGB图像。例如,一个人(例如,用户104)可能沿着街道行走,并且在该人后面有建筑物、路牌、信号灯、其他人、树木、车辆等。对象可以包括用户104、街道、建筑物等。用户104、街道、建筑物等的部分可以在深度感知相机105的范围120内。深度感知相机105可以捕获用户104的一部分、建筑物的一部分、街道的一部分等的RGB图像(例如,RGB图像108),以创建用于视频通信的视频流的RGB图像序列的帧。例如,深度感知相机105可以捕捉用户104的头部、面部和肩部以及部分建筑物的RGB图像。来自捕捉用户104的头部、面部和肩部和部分建筑物的图像的深度感知相机140的深度数据可以例如,由客户端设备110A-110Z中的通信应用115使用,以标识对象的一个或多个特征点并且为视频通信创建稳定视频流,如下面结合图3-8更详细描述的。
深度感知相机105可以创建用于在相机105的范围120中捕捉的一个或多个对象(例如,用户104、建筑物、街道等)和/或对象的部分的深度数据。深度数据可以存储在数据存储(例如,数据存储180)中。数据存储180可以是能够存储数据的永久性存储器。永久性存储器可以是本地存储单元或远程存储单元。永久性存储器可以是磁存储单元、光存储单元、固态存储单元、电子存储单元(主存储器)或类似的存储单元。永久性存储器可以是单片设备或分布的设备集合。这里使用的“集合”是指任何正整数个项目。
视频流中的RGB图像序列中的每个帧可以具有由相应帧中的一个或多个对象定义的前景部分和背景部分。例如,帧中的一个或多个对象可以被定义为前景对象,并且帧中的一个或多个对象可以被定义为背景对象。前景对象可以定义帧的前景部分,并且背景对象可以定义帧的背景部分。例如,人(例如,用户104)可以是定义帧的前景部分的前景对象,并且建筑物和街道可以是定义帧的背景部分的背景对象。通信应用115可以基于存储在数据存储(例如,数据存储180、数据存储106)中的配置数据来指定对象和/或对象的部分为前景对象或背景对象。配置数据可以是预定的并且可以指定例如,具有面部特征的帧中的任何对象是前景对象,并且该帧中的任何其他对象是背景对象。只有在收到用户的明确授权后才能执行对用户的面部或面部特征的辨识。
图2描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧200。这些帧(例如,帧210-260)可以表示用户205、街道206和建筑物201-204。深度感知相机105可以移动或振动,并且随着深度感知相机105的范围与深度感知相机105一起移动,RGB图像序列中的帧210-260可以捕捉对象的不同部分。例如,序列中的帧210、帧220和帧260包括用户205的头部全部和两个建筑物202、203的部分。与帧210相比,帧220包括较少的建筑物203和更多的建筑物202。帧230、帧240和帧250包括用户205头部的一部分以及建筑物202、203或不同建筑物的不同部分。例如,帧240包括用户205的右眼和用户205的左眼的一部分,并且帧250仅包括用户205的右眼。帧250还包括三个建筑物(例如,建筑物201、202、203)的一部分。
当顺序呈现帧时,在帧210-260中捕捉的对象中的差异可导致RGB图像序列中的可见帧到帧抖动并导致设备呈现不稳定的视频。参考图1,通信应用115可以使用来自深度感知相机105的深度数据来(i)创建视频流的帧的一个或多个对象和/或一个或多个对象的部分的一个或多个实时模型,(ii)在帧的模型中执行对象的特征检测和特征分析,并且(iii)使用特征检测/分析来稳定视频流。
实时模型可以是三维(3D)模型。实时模型可以是由深度感知相机105捕捉的对象和/或对象的部分的表示。例如,通信应用115可以创建用户104头部、面部、肩部以及用户104后面的建筑物和街道的实时模型。如下面将更详细地讨论的,通信应用115可以基于对应于特定帧的深度数据为特定帧中的对象创建实时模型。通信应用115可以为对应的帧创建模型。通信应用115可以为多于一个帧创建模型。例如,参考图2,通信应用115可以创建帧210的用户205和/或建筑物的模型、帧220的用户205和/或建筑物的模型、帧230的用户205和/或建筑物的模型、帧240的用户205和/或建筑物的模型、帧250的用户205和/或建筑物的模型以及帧260的用户205和/或建筑物的模型。
参考图1,对象可以有一个或多个特征。特征可以属于一个对象的一部分或整个对象本身。例如,人(例如,用户104)的特征可以包括并且不限于面部特征和身体特征。只有在收到用户的明确授权后才能执行对用户的面部或面部特征的辨识。在另一个例子中,建筑物的特征可以包括墙壁、窗户和门。通信应用115可以检测实时模型中的对象的一个或多个特征并且使用该特征来创建图像的稳定视频流(也被称为“稳定视频流”),如下面结合图3-8更详细描述的。
在一个实施方式中,稳定视频流在本地被渲染。例如,用户104可以使用源设备(例如,客户端设备110A)在访问社交网站或视频内容托管站点时通过一个或多个目标设备(例如,客户端设备110Z)与一个或多个其他用户建立包括稳定视频流的通信会话(例如,视频会议)。
通信应用115可以在源设备(例如,客户端设备110A)处本地渲染稳定视频流,并且将稳定视频流作为通信会话的一部分提供给在目标设备(例如,客户端设备110Z)处的一个或多个其他通信应用115。稳定视频流可以替换作为通信会话一部分的一个或多个视频流。一个或多个目标设备可以向一个或多个接收方用户呈现稳定视频流。在一个实施方式中,通信应用115将稳定视频流传输到平台(例如,移动平台150、协作平台155、社交网络平台160)中的服务器计算机器上的图像稳定组件140,并且图像稳定组件140可以将所渲染的稳定图像流发送到目标客户端设备(例如,客户端设备110Z)。
在另一实施方式中,稳定视频流由平台(例如,移动平台150、协作平台155、社交网络平台160)中的服务器计算机器和/或目标客户端设备(例如,客户端设备110Z)处的图像稳定组件140远程渲染。例如,源设备(例如,客户端设备110A)中的通信应用115可以使用压缩来将稳定视频流的姿势表示整体或部分地发送到服务器计算机器上的图像稳定组件140和/或目标设备(例如,客户端设备110Z),目标设备然后可以远程地渲染稳定视频流。位置和取向的组合被称为对象的姿态。姿态表示可以包括表示对象的特征的位置的数据(例如,位置数据)。
一个或多个用户可以分别使用客户端设备110A-110Z作为源设备来为对应的用户创建稳定视频流。一个或多个客户端设备110A-110Z上的通信应用115可以将对应发送方用户的稳定视频流作为与接收方用户的通信会话(例如,视频会议)的一部分与目标设备共享。
为了简化说明,本公开的方法被描绘和描述为一系列动作。然而,根据本公开的动作可以以各种顺序和/或并发地发生,并且可以与本文未提供和描述的其他动作一起发生。此外,并非所有示出的动作都可能需要实施根据所公开的主题的方法。此外,本领域的技术人员将理解并认识到,这些方法可以替代地通过状态图或事件被表示为一系列相互关联的状态。此外,应该理解的是,本说明书中公开的方法能够存储在制品上以便于将这些方法传输和传送到计算设备。这里使用的术语“制品”旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。
图3描绘了根据本公开的一个实施方式的用于在通信会话期间使用基于深度相机的数据来稳定用于视频通信的图像的方法300的各方面的流程图。该方法由可包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)或两者的组合的处理逻辑来执行。在一个实施方式中,该方法由图1的客户端设备110A-110Z中的通信应用115执行,而在一些其他实施方式中,图3的一个或多个块可以由另一台机器执行。例如,在各种替代实施方式中,所述方法的至少一部分可以通过图1的服务器计算机器中的图像稳定组件140来执行/或在图像稳定组件140处执行。在一个实施方式中,如图1所示的客户端设备110A-110Z的处理设备执行方法300。
在框310处,当视频流正由源设备提供给目标设备时,处理设备收集视频流的图像序列中的各帧的深度数据。深度数据指的是每个帧中各个像素的深度测量值。该视频是源设备的用户与目标设备的用户之间的通信会话的一部分。源设备的深度感知相机捕捉帧并为视频的帧创建深度数据。视频可以包括视频流,该视频流可以是从深度感知相机创建的视觉和音频表示,该深度感知相机通过电子方式捕获、记录、处理、存储、传输和重建表示运动场景的静止RGB图像序列中的帧。在由深度感知相机捕获的图像序列中的每个帧中的每个像素处,存在颜色的RGB测量和深度(D)测量。可以使用深度感知相机来使用与对象相关联的像素的深度测量值确定对象(例如,用户)距相机多远。
在框320处,处理设备使用深度数据来将帧中的对象的一个或多个特征的特征位置映射到在至少一个其他帧中的该对象的该一个或多个特征的特征位置。该对象可以是诸如源设备的用户或者由源设备的深度感知相机捕获的任何其他人之类的人。该特征可以是人的特征,例如,面部特征。例如,在一个帧(例如,图2中的帧220)中的用户左眼的开始的特征位置可以被映射到另一个帧(例如,在图2中的帧210)中的左眼的开始的特征位置。在另一示例中,帧中左眼末端的特征位置可被映射到另一帧中左眼末尾的特征位置。这些帧可以是在图像序列中的连续帧。下面结合图8更详细地描述将帧中的对象的特征位置映射到另一帧中的该对象的特征位置的一种实施方式。一帧中的特征位置可以映射到多个帧。具有被映射的一个或多个特征的帧的数量可以是预定的并且是用户可配置的。例如,处理设备可以将帧中的特征位置映射到两个其他帧中的特征位置。例如,参考图2,帧220中用户的嘴巴右侧的开始的特征位置可以被映射到帧210和帧230中的用户的嘴巴的右侧的开始的特征位置。
参考图3,在框330处,处理设备使用映射的特征位置来对齐该帧和至少一个其它帧。例如,在该帧中用户右眼的开始的特征位置与至少一个其他帧中的右眼开始的特征位置对齐。来自深度数据的深度测量结果可以用于创建对象的特征的坐标(例如,X、Y和Z坐标)。处理设备可以使用特征的坐标来对齐帧。图4描绘了根据本公开的一个实施方式的用于使用基于深度相机的数据的视频通信的图像序列中的示例帧400。帧(例如,帧410-460)可以表示用户、街道和建筑物。对齐的帧数可以预先确定并且可由用户配置。多个帧集合可以对齐。例如,对于一个帧集合,处理设备可以使用帧420中用户的右眼的开始的特征位置与在帧410和帧430中右眼的开始的特征位置将帧420与帧410和帧430对齐。在另一个示例中,对于另一个帧集合,处理设备可以使用帧450中用户的右眼的开始的特征位置与在帧440和帧460中右眼开始的特征位置将帧450与帧440和帧460对齐。
参考图3,在框340处,处理设备确定该帧与与该帧对齐的至少一个其他帧之间的一个或多个重叠帧区块。帧之间的重叠帧区块指的是作为每个帧的一部分并且跨越帧具有高相似度的帧区块。例如,重叠帧区块可以包含在帧上的相同特征、特征的部分、对象和/或对象的部分。例如,参考图4,当比较帧420与帧410和帧430时,帧420、帧410和帧430包含重叠帧区块470。在帧410、420和430中的每一个中,重叠帧区块470包含用户头部、眼睛、眉毛、嘴巴、肩膀部分的相同部分和建筑物部分的相同部分。在另一示例中,当比较帧450与帧440和帧460时,帧450、帧440和帧460包含重叠帧区块480。重叠帧区块480包含用户头部、眼睛、眉毛、嘴部、肩膀的部分和建筑物的部分的相同部分。在一个实施方式中,处理设备首先确定哪些帧区块包含用户的重叠特征,例如,面部特征。只有在收到用户的明确授权后才能执行对用户的面部或面部特征的辨识。
处理设备还可以确定在对齐的帧之间不重叠的帧区块。帧之间的非重叠帧区块不包含在集合中被比较的所有帧中都是相同的任何特征、特征的部分、对象和/或对象的部分。例如,当比较帧420与帧410和帧430时,存在四个非重叠帧区块。在帧410中有非重叠帧区块472,在帧420中有非重叠帧区块473,在帧420中有非重叠帧区块477,并且在帧423中有非重叠帧区块475。在另一个帧集合的另一个示例中,当将帧450与帧440和帧460比较时,存在三个非重叠帧区块。在帧440中存在非重叠帧区块483,在帧450中存在非重叠帧区块485,并且在帧460中存在非重叠帧区块487。
参考图3,在框350处,处理设备在图像序列中修改与帧集合相对应的图像集合以针对视频流创建稳定图像流。在一个实施方式中,处理设备从帧集合的原始图像中裁剪重叠帧区块以创建新图像以替换相应的帧集合。图5描绘了根据本公开的一个实施方式的用于创建使用基于深度相机的视频通信的稳定的图像序列的示例新图像500。处理设备可以从图4中的帧410-430裁剪重叠帧区块470以创建相应的新图像505、510、515。处理设备可以从图4中的帧440-460裁剪重叠帧区块480,以创建相应的新图像520、525、530。新图像505、510、515可替换用于视频通信的图像序列中的帧410-430,并且新图像520、525、530可替换用于视频通信的图像序列中的帧440-460以消除RGM图像的序列中的帧到帧抖动并使设备呈现稳定图像流。
在一个实施方式中,替换相应帧的新图像仅包含前景对象。例如,处理设备可以将帧中的人(例如,源设备的用户)标记为前景对象,并且可以将帧中除了源设备的人之外的一个或多个对象标记为背景对象。处理设备然后从原始图像中移除包含背景对象的帧的一个或多个区块以创建新图像。图6描绘了根据本公开的一个实施方式的用于创建使用基于深度相机的数据的视频通信的稳定图像序列的示例性新图像600。新图像600不包含任何背景对象(例如,建筑物、街道)。处理设备可以从用于帧集合(例如,图4中的帧集合410-430和帧集合440-460)的原始图像中移除背景对象(例如,建筑物、街道)并且从所述图像集合裁剪在原始图像中的重叠的帧区块(例如,图4中的区块470),以创建仅包含前景对象(例如,用户)的对应新图像605、610、615、620、625、630以替换稳定视频流的帧(例如,图4中的帧410-460)。
在另一实施方式中,新图像包含前景对象(例如,人)的相同重叠帧区块(例如,图4中的重叠帧区块470)并且将原始背景对象保留在包括在相应的原始图像中的背景帧区块中。图7描绘了根据本公开的一个实施方式的创建用于使用基于深度相机的数据的视频通信的稳定的图像序列的示例性新图像700。新图像700包含来自相应帧(例如,图4中的帧410-460)的原始图像的背景对象(例如,建筑物、街道)。处理设备可以从帧的原始图像中保留背景对象(例如,建筑物),并将包含用户的图像中的原始区块替换为用户的重叠帧区块(例如,图4中的区块470或区块480),以创建相应的新图像705、710、715、720、725、730以替换稳定视频流的帧(例如,图4中的帧410-460)。在一个实施方式中,处理设备为帧(例如,图4中的帧410-460)创建原始图像的副本,并用包含前景图像的重叠帧区块替换包含前景对象(例如,用户)的图像区块以创建稳定图像流。
在框360处,处理设备在视频流中提供稳定图像流作为通信会话的一部分。创建的稳定图像可以在客户端设备或服务器处被渲染。渲染的稳定图像实时提供在视频流中。所渲染的稳定图像可以替代意图用于另一用户(例如,在视频会议中的另一参与用户)的视频流的至少一部分。所渲染的稳定图像还可以替换旨在供目标设备的用户使用的视频流的至少一部分。
在一个实施方式中,框360由在客户端设备中的通信应用执行。例如,通信应用可以用渲染的稳定图像替换视频流的至少一部分。在另一个实施方式中,通信应用将渲染的稳定图像发送到服务器计算机器中的图像稳定组件,并且图像稳定组件可以用渲染的稳定图像替换视频流的至少一部分。
如本文所描述的,多个内容流(例如,视频流)可以由服务器计算机处的图像稳定组件从各种客户端设备110A-110Z接收,并且图像稳定组件可以将视频流替换为用于相应的参与者的渲染的稳定视频流。然后,图像稳定组件可以生成包括稳定视频流的合成内容/媒体流,并且将合成内容/媒体流提供给通信会话(例如,视频会议)中的各个参与者。这样的合成内容/媒体流可以将各种内容流安排在不同的呈现区段(region)中,使得视频会议中的用户/参与者可以在单个界面/屏幕内同时观看一些或全部内容流。
图8描绘了根据本公开的一个实施方式的用于基于来自深度感知相机的数据将帧中的对象的特征位置映射到另一帧中的该对象的特征位置的方法800的各方面的流程图。(如上所述,这是图3的框320的一个可能的实施方式。)该方法由处理逻辑执行,该处理逻辑可以包括硬件(电路、专用逻辑等)、软件(例如,在通用计算机系统或专用机器中运行)或两者的组合。在一个实施方式中,该方法由图1的客户端设备110A-110Z中的通信应用115执行,而在一些其他实施方式中,图8的一个或多个框可以由另一台机器执行。例如,在各种替代实施方式中,所述方法的至少一部分可以由/在图1的服务器计算机器中的图像稳定组件140执行。在一个实施方式中,如图1所示的客户端设备110A-110Z的处理设备执行方法800。
在块810处,处理设备使用对象的帧的深度数据(例如,针对各个像素的深度测量)来在图像序列中的该帧中构建该对象的实时模型。该对象可以包括由深度感知相机捕捉的人(例如,源设备的用户)的一个或多个部分(例如,头部、面部、肩部等),该深度感知相机将人的视频提供给目标设备的用户。
在一个实施方式中,基于每像素数据的深度建立密集三维(3D)点云。点云是坐标系中的数据点集合。在三维坐标系中,这些点由X、Y和Z坐标定义。来自深度感知相机的深度测量可以表示对象(例如,人的头部、面部和肩部)表面上的点,并且可以用来输出点云为数据文件。在一个实施方式中,3D点云被转换成3D网格。网格可以包括通过边和面连接的顶点,以为3D对象或3D环境提供窗体的视觉外观。在一个实施方式中,3D网格是与对应于该帧的RGB图像映射的纹理,以创建对象的实时3D模型(例如,人的头部、面部和肩部)。可以例如在通信会话(例如,视频聊天)期间实时创建对象的实时3D模型。
处理设备可以使用多个对象的帧的深度数据来构建该帧中的该多个对象的实时模型。该多个对象可以包括该帧中的所有对象。例如,该多个对象可以包括人的头部、面部和肩部、建筑物、街道、路牌、车辆、树木等。
在框820处,处理设备使用该对象的另一帧的深度数据构建在图像序列中的另一帧中的该对象的第二实时模型。在一个实施方式中,3D点云基于来自另一帧的每像素数据的深度而被构建,并且被转换成3D网格。3D网格是与对应于另一个帧的RGB图像映射的纹理,用于创建对象的实时3D模型(例如,人的头部、面部和肩部)。例如,在通信会话(例如,视频聊天)期间,可以实时创建另一帧中的对象的实时3D模型。
在框830,处理设备在第一实时模型和第二实时模型中提取该对象的一个或多个特征的特征位置,以确定该对象的特征(例如,面部特征、身体特征)位于每个模型中何处。例如,定位人的面部的面部特征(例如,眼睛、鼻子、嘴巴、嘴唇、眉毛、前额等)。在另一个例子中,用户的身体特征(例如,耳朵、肩膀、脖子等)也被定位。只有在收到用户的明确授权后才能执行对用户的面部或面部特征的辨识。在一个实施方式中,使用尺度不变特征变换(SIFT)算法来检测和描述特征位置。
在框840处,处理设备将该帧的第一实时模型中的该对象的特征位置映射到该另一帧的第二实时模型中的该对象的特征位置。可以创建代表特征位置的映射的变换函数(变换)。例如,第一实时模型中左眼开始的特征位置被映射到第二实时模型中左眼开始的特征位置,在第一实时模型中左眼末端的特征位置被映射到第二实时模型中的左眼末尾的特征位置,等等。映射可以包括例如并且不限于左眉毛的左侧、左眉毛的右侧、右眉毛的左侧、右眉毛的右侧、嘴角、上唇的开始/结束、下唇的开始/结束、下巴等。
图9示出了根据本公开的一个实施方式的计算机系统900的示例形式的机器的图,在计算机系统900内,可以执行用于使机器执行这里讨论的任何一个或多个方法的指令集合。计算机系统900可以是图1中的客户端设备110A-110Z。或者,计算机系统900可以是图1中的平台(例如,移动平台150、协作平台155、社交网络平台160)中的服务器计算机器。在替代实施方式中,该机器可以连接(例如,联网)到LAN、内联网、外联网或互联网中的其他机器。该机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力运行,或者在对等(或分布式)网络环境中作为对等机器运行。该机器可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或者能够执行(顺序或其他)指令集合的任何机器,这些指令指定了该机器要采取的动作。此外,尽管仅示出单个机器,但术语“机器”也应被理解为包括单独或联合执行指令集合以执行本文讨论的任何一种或多种方法的任何机器集合。
示例计算机系统900包括处理设备(处理器)902、主存储器904(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)、双倍数据速率(DDR SDRAM)或DRAM(RDRAM)的动态随机存取存储器(DRAM))等)、静态存储器906(例如,闪存、静态随机存取存储器(SRAM)等)以及数据存储设备918,它们彼此经由总线930进行通信。
处理器(处理设备)902表示一个或多个通用处理设备,诸如微处理器或中央处理单元等。更具体地说,处理器902可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或者实现其他指令集的处理器或实现指令集组合的处理器。处理器902还可以是一个或多个专用处理设备,例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或网络处理器等。处理器902被配置为执行用于执行这里讨论的操作和步骤的指令922。
计算机系统900还可以包括网络接口设备908。计算机系统900还可以包括视频显示单元910(例如,液晶显示器(LCD)或阴极射线管(CRT))、输入设备912(例如,键盘和字母数字键盘、运动感测输入设备、触摸屏)、光标控制设备914(例如,鼠标)和信号生成设备916(例如,扬声器)。计算机系统900还可以包括相机917,用于记录可以直接存储、传输到另一位置或两者的图像。这些图像可以是照片或诸如视频或电影的运动图像。相机917可以是能够捕捉RGB图像以及每像素深度信息的深度感知相机。
数据存储设备918可以包括非临时性计算机可读存储介质928,其上存储体现本文描述的方法或功能的任何一个或多个的一个或多个指令集922(例如,软件)。指令922还可以在计算机系统900对其执行期间完全或至少部分地驻留在主存储器904内和/或处理器902内,主存储器904和处理器902也构成计算机可读存储介质。指令922可以进一步经由网络接口设备908在网络920上被发送或接收。
在一个实施方式中,指令922包括用于通信应用(例如,图1中的通信应用115)的指令和/或包含调用该通信应用的方法的软件库。在一个实施方式中,指令922包括用于图像稳定组件(例如,图1中的图像稳定组件140)的指令和/或包含调用媒体处理引擎的方法的软件库。尽管计算机可读存储介质928(机器可读存储介质)在示例性实施方式中被示出为单个介质,但是术语“计算机可读存储介质”应被理解为包括单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器),其存储一个或多个指令集合。术语“计算机可读存储介质”还应被理解为包括能够存储、编码或携带由机器执行的指令集合并且使得机器执行本公开的任何一种或多种方法的任何介质。因此,术语“计算机可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁性介质。
在前面的描述中,阐述了许多细节。然而,对于受益于本公开的本领域普通技术人员而言显而易见的是,可以在没有这些具体细节的情况下实践本公开。在一些情况下,为了避免混淆本公开,以框图形式而不是详细地示出了公知的结构和设备。
已经在对计算机存储器内的数据位的操作的算法和符号表示上呈现详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。算法在这里并且通常被认为是导致期望结果的自我一致的步骤序列。这些步骤是需要对物理量进行物理操纵的步骤。通常,虽然不一定,这些量采用能够被存储、传输、组合、比较和否则操纵的电或磁信号的形式。由于常见用法的原因,有时将这些信号称为比特、值、元素、符号、字符、术语或数字等被证明是方便的。
然而,应该记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是适用于这些量的方便的标签。除非特别声明,否则如从下面的讨论中显而易见的那样,应该理解,在整个说明书中,利用诸如“收集”、“映射”、“确定”、“修改”、“提供”、“识别”、“去除“、”对齐“或”裁剪“等的讨论是指计算机系统或类似的电子计算设备的动作和过程,该计算机系统或类似的电子计算设备操纵在计算机系统的寄存器和存储器内表示为物理(例如,电子)量的数据,并且将其转换为类似地被表示为在计算机系统存储器或寄存器或其他这样的信息存储、传输和显示设备内的物理量的其他数据。
为了简化说明,这里将方法描绘和描述为一系列动作。然而,根据本公开的动作可以以各种顺序和/或并发地发生,并且可以与本文未提供和描述的其他动作一起发生。此外,并非所有示出的行为都会需要实施根据所公开的主题的方法。此外,本领域的技术人员将理解并认识到,这些方法可以替代地通过状态图或事件被表示为一系列相互关联的状态。此外,应该理解的是,本说明书中公开的方法能够存储在制品上以便于将这些方法传输和传送到计算设备。这里使用的术语“制品”旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。
本公开的某些实施方式还涉及用于执行这里的操作的装置。该装置可以被构建俩用于意欲的目的,或者它可以包括通过计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于:任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘;只读存储器(ROM);随机存取存储器(RAM);EPROM;EEPROM;磁卡或光卡;或适用于存储电子指令的任何类型的介质。
贯穿本说明书对“一个实施方式”或“实施方式”的引用意味着结合该实施方式描述的特定特征、结构或特性被包括在至少一个实施方式中。因此,贯穿本说明书中各处出现的短语“在一个实施方式中”或“在实施方式中”不一定都指代相同的实施方式。另外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。此外,在这里使用词语“示例”或“示例性”来表示用作示例、实例或例证。本文描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。相反,使用词“示例”或“示例性”旨在以具体的方式呈现概念。
应该理解,以上描述旨在是说明性的而非限制性的。在阅读和理解以上描述后,许多其他实施方式对于本领域技术人员将是显而易见的。因此,本公开的范围应该参考所附权利要求以及这些权利要求的等同物的全部范围来确定。
在这里讨论的方法和系统收集关于用户的个人信息或利用个人信息的情况下,向用户提供下述机会:控制程序或特征是否收集用户信息(例如,用户的生物计量信息、在用户的面部或面部组件上的面部识别或视觉信息、关于用户的社交网络的信息、社交动作、职业、用户的偏好或用户的当前位置);以及控制是否以及如何从内容服务器接收可能与用户更相关的内容。此外,某些数据在其被存储或使用之前会以一种或多种方式处理,使得删除个人身份信息。例如,可以对用户的身份进行处理,以使得不能为用户确定个人可识别信息,或者可以在获得位置信息(例如到城市、邮政编码或州的级别)的情况下将用户的地理位置泛化,以至于不能确定用户的具体位置。只有在用户明确授权收集、记录、分析或使用后,才能收集、记录、分析或使用任何用户生物信息。因此,用户可以控制如何收集关于用户的信息并由内容服务器使用。
Claims (17)
1.一种方法,包括:
由处理设备收集源设备向目标设备提供的视频流的图像序列中的各帧的深度数据作为所述源设备的用户与所述目标设备的用户之间的通信会话的一部分,所述深度数据由所述源设备的深度感知相机创建;
使用所述深度数据来将所述图像序列中的帧中的对象的一个或多个特征的特征位置映射到在所述图像序列中的至少一个其他帧中的所述对象的所述一个或多个特征的特征位置;
使用所映射的特征位置确定在所述帧与所述至少一个其他帧之间的一个或多个重叠帧区块;
基于所述重叠帧区块在所述图像序列中修改与所述帧和所述至少另一帧相对应的图像集合,以针对所述视频流创建稳定图像流;以及
在所述视频流中提供所述稳定图像流作为所述通信会话的一部分。
2.根据权利要求1所述的方法,其中,所述对象包括面部或面部特征的至少一部分。
3.根据权利要求1或2所述的方法,其中,修改所述图像集合包括:
将所述图像中的人识别为前景对象;
将所述图像集合中除所述人以外的一个或多个对象识别为背景对象;以及
去除所述各帧中与包含所述背景对象的所述图像集合对应的一个或多个区块。
4.根据权利要求1、2或3所述的方法,其中,确定所述一个或多个重叠帧区块包括:
使用所映射的特征位置来对齐所述帧和所述至少一个其他帧;以及
将所述帧的前景部分中的一个或多个区块和所述至少一个其他帧的前景部分中的一个或多个区块识别为所述重叠帧区块,所述至少一个其他帧包括相同对象或对象的相同部分中的至少一个。
5.根据权利要求4所述的方法,其中,所述重叠帧区块包括人的至少一部分,并且修改所述图像集合以创建所述稳定图像流包括:
裁剪所述帧的所述重叠帧区块和所述至少一个其他帧的所述重叠帧区块;
创建所述帧和所述至少一个其他帧的副本;
在不修改所述帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述帧的所述副本中包含所述人的所述部分的区块;以及
在不修改所述至少一个其他帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述至少一个其他帧的所述副本中包含所述人的所述部分的区块。
6.根据权利要求1所述的方法,其中,所述视频流是由移动源设备提供的。
7.一种系统,包括:
存储器;以及
耦合到所述存储器的处理设备,被适配来:
收集源设备向目标设备提供的视频流的图像序列中的各帧的深度数据作为所述源设备的用户与所述目标设备的用户之间的通信会话的一部分,所述深度数据由所述源设备的深度感知相机创建;
使用所述深度数据来将所述图像序列中的帧中的对象的一个或多个特征的特征位置映射到在所述图像序列中的至少一个其他帧中的所述对象的所述一个或多个特征的特征位置;
使用所映射的特征位置确定在所述帧与所述至少一个其他帧之间的一个或多个重叠帧区块;
基于所述重叠帧区块在所述图像序列中修改与所述帧和所述至少另一帧相对应的图像集合,以针对所述视频流创建稳定图像流;以及
在所述视频流中提供稳定图像流作为所述通信会话的一部分。
8.根据权利要求7所述的系统,其中,所述对象包括面部或面部特征的至少一部分。
9.根据权利要求7或8所述的系统,其中,为了修改所述图像集合,所述处理设备被适配来:
将所述图像中的人识别为前景对象;
将所述图像集合中除所述人以外的一个或多个对象识别为背景对象;以及
去除所述各帧中与包含所述背景对象的所述图像集合对应的一个或多个区块。
10.根据权利要求7、8或9所述的系统,其中,为了确定所述一个或多个重叠帧区块,所述处理设备:
使用所映射的特征位置来对齐所述帧和所述至少一个其他帧;以及
将所述帧的前景部分中的一个或多个区块和所述至少一个其他帧的前景部分中的一个或多个区块识别为所述重叠帧区块,所述至少一个其他帧包括相同对象或对象的相同部分中的至少一个。
11.根据权利要求10所述的系统,其中,所述重叠帧区块包括人的至少一部分,并且为了修改所述图像集合以创建所述稳定图像流,所述处理设备被适配来:
裁剪所述帧的所述重叠帧区块和所述至少一个其他帧的所述重叠帧区块;
创建所述帧和所述至少一个其他帧的副本;
在不修改所述帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述帧的所述副本中包含所述人的所述部分的区块;以及
在不修改所述至少一个其他帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述至少一个其他帧的所述副本中包含所述人的所述部分的区块。
12.根据权利要求7所述的系统,其中,所述视频流是由移动源设备提供的。
13.一种其上存储有指令的计算机可读介质,所述指令在由处理设备执行时使所述处理设备执行操作,所述操作包括:
由所述处理设备收集源设备向目标设备提供的视频流的图像序列中的各帧的深度数据作为所述源设备的用户与所述目标设备的用户之间的通信会话的一部分,所述深度数据由所述源设备的深度感知相机创建;
使用所述深度数据来将所述图像序列中的帧中的对象的一个或多个特征的特征位置映射到在所述图像序列中的至少一个其他帧中的所述对象的所述一个或多个特征的特征位置;
使用所映射的特征位置确定在所述帧与所述至少一个其他帧之间的一个或多个重叠帧区块;
基于所述重叠帧区块在所述图像序列中修改与所述帧和所述至少另一帧相对应的图像集合,以针对所述视频流创建稳定图像流;以及
在所述视频流中提供所述稳定图像流作为所述通信会话的一部分。
14.根据权利要求13所述的计算机可读介质,其中,所述对象包括面部或面部特征的至少一部分。
15.根据权利要求13或14所述的计算机可读介质,其中,修改所述图像集合包括:
将所述图像中的人识别为前景对象;
将所述图像集合中除所述人以外的一个或多个对象识别为背景对象;以及
去除所述各帧中与包含所述背景对象的所述图像集合对应的一个或多个区块。
16.根据权利要求13、14或15所述的非暂时性计算机可读介质,其中,确定所述一个或多个重叠帧区块包括:
使用所映射的特征位置来对齐所述帧和所述至少一个其他帧;以及
将所述帧的前景部分中的一个或多个区块和所述至少一个其他帧的前景部分中的一个或多个区块识别为所述重叠帧区块,所述至少一个其他帧包括相同对象或对象的相同部分中的至少一个。
17.根据权利要求16所述的计算机可读介质,其中,所述重叠帧区块包括人的至少一部分,并且修改所述图像集合以创建所述稳定图像流包括:
裁剪所述帧的所述重叠帧区块和所述至少一个其他帧的所述重叠帧区块;
创建所述帧和所述至少一个其他帧的副本;
在不修改所述帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述帧的所述副本中包含所述人的所述部分的区块;以及
在不修改所述至少一个其他帧的所述副本的背景部分的情况下,用所述重叠帧区块替换所述至少一个其他帧的所述副本中包含所述人的所述部分的区块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/935,092 US10033926B2 (en) | 2015-11-06 | 2015-11-06 | Depth camera based image stabilization |
US14/935,092 | 2015-11-06 | ||
PCT/US2016/060707 WO2017079679A1 (en) | 2015-11-06 | 2016-11-04 | Depth camera based image stabilization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108353127A true CN108353127A (zh) | 2018-07-31 |
CN108353127B CN108353127B (zh) | 2020-08-25 |
Family
ID=57539598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680062217.2A Active CN108353127B (zh) | 2015-11-06 | 2016-11-04 | 基于深度相机的图像稳定 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10033926B2 (zh) |
EP (2) | EP3739870B1 (zh) |
CN (1) | CN108353127B (zh) |
WO (1) | WO2017079679A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574892B2 (en) | 2015-11-06 | 2020-02-25 | Google Llc | Depth camera based image stabilization |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109285122B (zh) * | 2017-07-20 | 2022-09-27 | 阿里巴巴集团控股有限公司 | 一种进行图像处理的方法和设备 |
US10657695B2 (en) * | 2017-10-30 | 2020-05-19 | Snap Inc. | Animated chat presence |
CN109874026B (zh) * | 2019-03-05 | 2020-07-07 | 网易(杭州)网络有限公司 | 数据处理方法与装置、存储介质、电子设备 |
CN111698421B (zh) * | 2020-06-09 | 2021-12-17 | 展讯通信(上海)有限公司 | 一种图像处理方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053844A1 (en) * | 2007-06-28 | 2009-04-29 | Panasonic Corporation | Image processing device, image processing method, and program |
CN102184009A (zh) * | 2010-04-26 | 2011-09-14 | 微软公司 | 跟踪系统中的手位置后处理精炼 |
CN102484715A (zh) * | 2009-08-21 | 2012-05-30 | 日本电气株式会社 | 运动图像编码设备 |
WO2013058735A1 (en) * | 2011-10-18 | 2013-04-25 | Hewlett-Packard Development Company, L.P. | Depth mask assisted video stabilization |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359923C (zh) | 2001-09-07 | 2008-01-02 | 英特图形软件技术公司 | 使用颜色匹配的图像稳定化 |
JP4961850B2 (ja) * | 2006-06-15 | 2012-06-27 | ソニー株式会社 | 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置 |
KR101547151B1 (ko) * | 2008-12-26 | 2015-08-25 | 삼성전자주식회사 | 영상 처리 방법 및 장치 |
JP5226600B2 (ja) | 2009-04-28 | 2013-07-03 | 富士フイルム株式会社 | 画像変形装置およびその動作制御方法 |
US8818028B2 (en) * | 2010-04-09 | 2014-08-26 | Personify, Inc. | Systems and methods for accurate user foreground video extraction |
US8488010B2 (en) | 2010-09-21 | 2013-07-16 | Hewlett-Packard Development Company, L.P. | Generating a stabilized video sequence based on motion sensor data |
US8971611B2 (en) * | 2012-02-08 | 2015-03-03 | JVC Kenwood Corporation | Image process device, image process method, and image process program |
KR101930235B1 (ko) | 2012-05-15 | 2018-12-18 | 삼성전자 주식회사 | 디지털 이미지 안정화 방법, 장치 및 시스템 |
US9098911B2 (en) * | 2012-11-01 | 2015-08-04 | Google Inc. | Depth map generation from a monoscopic image based on combined depth cues |
KR20140137893A (ko) * | 2013-05-24 | 2014-12-03 | 한국전자통신연구원 | 객체 추적 방법 및 장치 |
US9619884B2 (en) * | 2013-10-03 | 2017-04-11 | Amlogic Co., Limited | 2D to 3D image conversion device and method |
US9754416B2 (en) * | 2014-12-23 | 2017-09-05 | Intel Corporation | Systems and methods for contextually augmented video creation and sharing |
US9369689B1 (en) * | 2015-02-24 | 2016-06-14 | HypeVR | Lidar stereo fusion live action 3D model video reconstruction for six degrees of freedom 360° volumetric virtual reality video |
WO2016182502A1 (en) * | 2015-05-14 | 2016-11-17 | Medha Dharmatilleke | Multi purpose mobile device case/cover integrated with a camera system & non electrical 3d/multiple video & still frame viewer for 3d and/or 2d high quality videography, photography and selfie recording |
US10003786B2 (en) * | 2015-09-25 | 2018-06-19 | Intel Corporation | Method and system of 3D image capture with dynamic cameras |
US10791285B2 (en) * | 2015-10-05 | 2020-09-29 | Woncheol Choi | Virtual flying camera system |
US10033926B2 (en) | 2015-11-06 | 2018-07-24 | Google Llc | Depth camera based image stabilization |
US10706890B2 (en) * | 2017-08-24 | 2020-07-07 | Intel Corporation | Cinematic space-time view synthesis for enhanced viewing experiences in computing environments |
US10422648B2 (en) * | 2017-10-17 | 2019-09-24 | AI Incorporated | Methods for finding the perimeter of a place using observed coordinates |
-
2015
- 2015-11-06 US US14/935,092 patent/US10033926B2/en active Active
-
2016
- 2016-11-04 EP EP20183970.1A patent/EP3739870B1/en active Active
- 2016-11-04 WO PCT/US2016/060707 patent/WO2017079679A1/en unknown
- 2016-11-04 CN CN201680062217.2A patent/CN108353127B/zh active Active
- 2016-11-04 EP EP16809566.9A patent/EP3371966B1/en active Active
-
2018
- 2018-06-18 US US16/011,270 patent/US10574892B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053844A1 (en) * | 2007-06-28 | 2009-04-29 | Panasonic Corporation | Image processing device, image processing method, and program |
CN102484715A (zh) * | 2009-08-21 | 2012-05-30 | 日本电气株式会社 | 运动图像编码设备 |
CN102184009A (zh) * | 2010-04-26 | 2011-09-14 | 微软公司 | 跟踪系统中的手位置后处理精炼 |
WO2013058735A1 (en) * | 2011-10-18 | 2013-04-25 | Hewlett-Packard Development Company, L.P. | Depth mask assisted video stabilization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574892B2 (en) | 2015-11-06 | 2020-02-25 | Google Llc | Depth camera based image stabilization |
Also Published As
Publication number | Publication date |
---|---|
US10033926B2 (en) | 2018-07-24 |
US20180302565A1 (en) | 2018-10-18 |
US10574892B2 (en) | 2020-02-25 |
EP3371966A1 (en) | 2018-09-12 |
US20170134656A1 (en) | 2017-05-11 |
EP3739870B1 (en) | 2022-07-06 |
CN108353127B (zh) | 2020-08-25 |
EP3739870A1 (en) | 2020-11-18 |
EP3371966B1 (en) | 2020-08-05 |
WO2017079679A1 (en) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102469295B1 (ko) | 깊이를 사용한 비디오 배경 제거 | |
CN104170358B (zh) | 用于化身管理和选择的系统和方法 | |
CN112243583B (zh) | 多端点混合现实会议 | |
CN108353127A (zh) | 基于深度相机的图像稳定 | |
CN107113396B (zh) | 视频通话期间在用户终端处实现的方法、用户终端及计算机可读存储介质 | |
EP3198559B1 (en) | Modifying video call data | |
CN113168231A (zh) | 用于跟踪真实世界对象的移动以改进虚拟对象定位的增强技术 | |
CN112042182B (zh) | 通过面部表情操纵远程化身 | |
CN105493501A (zh) | 虚拟视觉相机 | |
CN106961621A (zh) | 使用化身的通信 | |
KR102045575B1 (ko) | 스마트 미러 디스플레이 장치 | |
CN105874506A (zh) | 具有细节保留的图像模糊 | |
US11949848B2 (en) | Techniques to capture and edit dynamic depth images | |
CN100505840C (zh) | 一种人脸合成视频传输的方法及装置 | |
CN110536095A (zh) | 通话方法、装置、终端及存储介质 | |
CN105138763A (zh) | 一种增强现实中实景与现实信息叠加的方法 | |
EP3764326A1 (en) | Video lighting using depth and virtual lights | |
CN108958571B (zh) | 三维会话数据展示方法、装置、存储介质和计算机设备 | |
US20230298143A1 (en) | Object removal during video conferencing | |
KR102034277B1 (ko) | 행사 실시간 스트리밍 방송 시스템 | |
US20230289919A1 (en) | Video stream refinement for dynamic scenes | |
US12010157B2 (en) | Systems and methods for enabling user-controlled extended reality | |
US20230319221A1 (en) | Systems and methods for enabling user-controlled extended reality | |
US20230319120A1 (en) | Systems and methods for enabling user-controlled extended reality | |
Chen et al. | Stereo camera system and its application in networked virtual environment |
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 |