CN112806021A - 基于捕获视频数据的另一客户端设备对视频数据的分析修改由接收客户端设备对视频数据的呈现 - Google Patents

基于捕获视频数据的另一客户端设备对视频数据的分析修改由接收客户端设备对视频数据的呈现 Download PDF

Info

Publication number
CN112806021A
CN112806021A CN201980065662.8A CN201980065662A CN112806021A CN 112806021 A CN112806021 A CN 112806021A CN 201980065662 A CN201980065662 A CN 201980065662A CN 112806021 A CN112806021 A CN 112806021A
Authority
CN
China
Prior art keywords
client device
video data
receiving client
user
receiving
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
Application number
CN201980065662.8A
Other languages
English (en)
Other versions
CN112806021B (zh
Inventor
蒂莫·朱哈尼·阿霍宁
埃里克·W·黄
詹森·弗朗西斯·哈里森
贝尔梅·佩雷拉·加西亚·尼格里罗
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.)
Meta Platforms Inc
Original Assignee
Facebook 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 Facebook Inc filed Critical Facebook Inc
Publication of CN112806021A publication Critical patent/CN112806021A/zh
Application granted granted Critical
Publication of CN112806021B publication Critical patent/CN112806021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • H04N21/44226Monitoring of user activity on external systems, e.g. Internet browsing on social networks
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • H04N21/234372Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution for performing aspect ratio conversion
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25883Management of end-user data being end-user demographical data, e.g. age, family status or address
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64753Control signals issued by the network directed to the server or the client directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

各种客户端设备包括显示装置和被配置成捕获视频数据的一个或更多个图像捕获设备。在线系统的不同用户可以授权客户端设备交换由它们各自的图像捕获设备捕获的信息。此外,发送客户端设备捕获视频数据并将其传送到接收客户端,同时接收接收客户端设备的一个或更多个视频呈现设置。发送客户端设备将一个或更多个模型应用于捕获的视频数据,并将来自模型的输出与接收客户端设备的视频呈现设置进行比较。基于该比较,发送客户端设备向接收客户端设备提供对一个或更多个视频呈现设置的建议的修改。例如,发送客户端设备提供重新定向接收客户端设备的显示设备的建议。

Description

基于捕获视频数据的另一客户端设备对视频数据的分析修改 由接收客户端设备对视频数据的呈现
背景
本公开总体上涉及捕获视频数据,且更具体地,涉及修改由接收客户端设备对来自发送客户端设备的视频数据的呈现。
越来越多的客户端设备、在线系统和网络允许用户相互交换更多的内容。例如,在线系统允许其用户经由与用户相关联的客户端设备来交换由不同用户捕获的视频数据。在特定示例中,在线系统可以在用户和另一用户之间建立视频消息传送(messaging),允许用户实时或接近实时地交换由他们各自的客户端设备捕获的视频数据。
然而,当发送客户端设备向接收客户端设备提供捕获的视频数据时,由接收客户端设备维护的视频呈现设置可能损害接收客户端设备对视频数据的呈现。例如,当呈现来自发送客户端设备的视频数据时,发送客户端设备捕获纵向定向(portrait orientation)的视频数据,而接收客户端设备具有横向定向(landscape orientation)。视频数据的捕获和视频数据的呈现之间的纵横比的这种差异可能使与接收客户端设备的用户相关的视频数据的部分失真。作为另一个示例,当显示来自发送客户端设备的视频数据时,接收客户端设备的放大率(magnification)设置使得接收客户端设备对视频数据的呈现遗漏捕获的视频数据中的对象。传统的客户端设备无法识别发送客户端设备对视频数据的捕获与接收客户端设备随后对视频数据的呈现之间的差异,从而导致接收客户端设备对视频数据的不准确的呈现。
概述
与在线系统的用户相关联的各种客户端设备包括一个或更多个图像捕获设备。被包括在客户端设备中的图像捕获设备被配置成例如在视频呼叫期间或者当用户打开视频捕获功能时,捕获客户端设备周围的局部区域的视频数据。另外,客户端设备包括耦合到该一个或更多个图像捕获设备的控制器。控制器将一个或更多个模型应用于由图像捕获设备捕获的视频数据,并基于该一个或更多个模型的应用来修改由图像捕获设备捕获的视频数据或图像捕获设备的参数。这允许控制器基于图像捕获设备先前捕获的视频数据的特征或内容来修改捕获的视频数据。
在各种实施例中,控制器为用户和在视频数据或其他数据中捕获的其他人维护并实施一个或更多个隐私设置。例如,控制器可以具有默认隐私设置,该默认隐私设置防止控制器识别用户,直到用户手动改变隐私设置以允许控制器识别用户。默认隐私设置还可以扩展到任何捕获的视频数据、音频数据、图像数据或其他数据,使得用户可以选择是否允许图像捕获设备识别数据中的任何用户。另外,隐私设置还管理从客户端设备到另一实体(例如,另一客户端设备或第三方系统)的信息传送。各种隐私设置允许用户控制对用户的识别以及任何用户相关数据的存储和共享。隐私设置也可以针对每个人被单独实施。例如,选择加入(opt in)用户识别功能的用户不会改变可能在客户端设备周围的局部区域中偶然捕获到的其他用户的默认隐私设置。
在视频消息传送会话中或在用户已经启用发送客户端设备的视频捕获和用户识别功能的其他情况下,发送客户端设备将由发送客户端设备捕获的视频数据连同向耦合到发送客户端设备的在线系统标识接收客户端设备的信息一起传送到在线系统。随后,在线系统将由发送客户端设备捕获的视频数据传送到接收客户端设备,接收客户端设备经由显示设备呈现捕获的视频数据。另外,如果接收客户端设备的观看用户已经授权接收客户端设备向在线系统传送一个或更多个视频呈现设置,则接收客户端设备向在线系统传送一个或更多个视频呈现设置。接收客户端设备的视频呈现设置描述了接收客户端设备对视频数据的呈现。在线系统将一个或更多个视频呈现设置传送到发送客户端设备。
在各种实施例中,基于使客户端设备能够识别用户的用户隐私选择,发送客户端设备的控制器将一个或更多个机器学习模型应用于由发送客户端设备的图像捕获设备捕获的视频数据,以定位包括在捕获的视频数据中的对象,例如用户。发送客户端设备的控制器对捕获的视频数据应用的模型可以执行(二维或三维的)面部跟踪、二维姿态跟踪、三维姿态跟踪或任何其他合适的方法来识别人的面部部分或人的身体部分。发送客户端设备通过将由发送客户端设备捕获的视频数据的部分的特征与一个或更多个视频呈现设置进行比较,来生成对接收客户端设备的视频呈现设置的一个或更多个建议的修改。例如,发送客户端设备确定在由发送客户端设备捕获的视频数据中识别的至少阈值量的对象的纵横比与由接收客户端设备的视频呈现设置标识的接收客户端设备的显示设备的纵横比相差多于阈值量;因此,发送客户端设备生成对接收客户端设备的视频呈现设置的建议的修改,以将接收客户端设备的显示设备从其当前定向旋转90度。作为另一个示例,发送客户端设备确定由接收客户端设备呈现的视频数据的放大率妨碍了发送客户端设备在捕获的视频数据中识别的一个或更多个对象的呈现;因此,发送客户端设备生成对接收客户端设备的设置的建议的修改,该建议的修改推荐增大或减小由接收客户端设备呈现的视频数据的放大率。
发送客户端设备基于由发送客户端设备捕获的视频数据的部分的特征与一个或更多个视频呈现设置的比较,生成描述对接收客户端设备的一个或更多个视频呈现设置的建议的修改的消息。在各种实施例中,该消息包括用于接收客户端设备的观看用户经由与接收客户端设备的交互来执行建议的修改的指令。例如,该消息包括将接收客户端设备的显示设备从接收客户端设备的当前定向旋转90度的提示。发送客户端设备将消息传送到在线系统,在线系统将消息传送到接收客户端设备以呈现给观看用户。观看用户随后可以与接收客户端设备进行交互,以基于消息所描述的建议的修改来修改接收客户端设备的一个或更多个视频呈现设置。
根据本发明的一个方面,提供了一种方法,该方法包括:
捕获包括在发送客户端设备中的图像捕获设备的视场内的局部区域的视频数据,该视频数据包括图像捕获设备的视场中的一个或更多个对象;
将视频数据从发送客户端设备传送到接收客户端设备;
在发送客户端设备处接收从在线系统接收捕获的视频数据的接收客户端设备的一个或更多个视频呈现设置;
将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征;
在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改;
在发送客户端设备处生成包括提示的消息,该提示描述了对接收客户端设备的一个或更多个视频呈现设置的建议的修改;和
将包括描述建议的修改的提示的消息从发送客户端设备传送到接收客户端设备。
在根据本发明的方法的实施例中,将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征可以包括:
识别捕获的视频数据中包括的对象;和
确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比。
在根据本发明的方法的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;
响应于确定接收客户端设备的显示设备的纵横比与捕获的视频数据中包括的至少阈值量的识别的对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的方法的又一实施例中,对接收客户端设备的显示设备的定向的建议的修改可以包括接收客户端设备的显示设备的定向相对于接收客户端设备的显示设备的当前定向旋转九十度。
在根据本发明的方法的另一实施例中,确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比可以包括:
确定从所识别的对象中选择的感兴趣对象的纵横比,该感兴趣对象由发送客户端设备从在线系统接收的信息来识别。
在根据本发明的方法的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;
响应于确定接收客户端设备的显示设备的纵横比与感兴趣对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的方法的又一实施例中,消息中包括的描述所选修改的提示可以包括用于经由接收客户端设备执行修改的指令。
在根据本发明的方法的另一实施例中,接收客户端设备可以包括移动设备。
在根据本发明的方法的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率妨碍了捕获的视频数据中包括的识别的对象中的一个或更多个被接收客户端设备的显示设备呈现,生成标识对由接收客户端设备的显示设备呈现的视频数据的放大率的改变的建议的修改。
在根据本发明的方法的又一实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率使得包括在捕获的视频数据中并由接收客户端设备识别的感兴趣对象的呈现被呈现在接收客户端设备的显示设备的边界的阈值距离内,生成改变由接收客户端设备的显示设备呈现的视频数据的放大率的建议的修改。
根据本发明的另一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机可读存储介质或其上编码有指令的计算机可读存储介质,当由处理器执行时,该指令使处理器:
捕获包括在发送客户端设备中的图像捕获设备的视场内的局部区域的视频数据,该视频数据包括图像捕获设备的视场中的一个或更多个对象;
将视频数据从发送客户端设备传送到接收客户端设备;
在发送客户端设备处接收从在线系统接收捕获的视频数据的接收客户端设备的一个或更多个视频呈现设置;
将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征;
在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改;
在发送客户端设备处生成包括提示的消息,该提示描述了对接收客户端设备的一个或更多个视频呈现设置的建议的修改;和
将包括描述建议的修改的提示的消息从发送客户端设备传送到接收客户端设备。
在根据本发明的计算机程序产品或计算机可读介质的实施例中,将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征可以包括:
识别捕获的视频数据中包括的对象;和
确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比。
在根据本发明的计算机程序产品或计算机可读介质的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用以及所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;和
响应于确定接收客户端设备的显示设备的纵横比与捕获的视频数据中包括的至少阈值量的识别的对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的计算机程序产品或计算机可读介质的另一实施例中,对接收客户端设备的显示设备的定向的建议的修改可以包括接收客户端设备的显示设备的定向相对于接收客户端设备的显示设备的当前定向旋转九十度。
在根据本发明的计算机程序产品或计算机可读介质的另一实施例中,确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比可以包括:
确定从所识别的对象中选择的感兴趣对象的纵横比,该感兴趣对象由发送客户端设备从在线系统接收的信息来识别。
在根据本发明的计算机程序产品或计算机可读介质的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;
响应于确定接收客户端设备的显示设备的纵横比与感兴趣对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的计算机程序产品或计算机可读介质的另一个实施例中,消息中包括的描述所选修改的提示包括用于经由接收客户端设备执行修改的指令。
在根据本发明的计算机程序产品或计算机可读介质的又一实施例中,接收客户端设备包括移动设备。
在根据本发明的计算机程序产品或计算机可读介质的另一实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率妨碍了捕获的视频数据中包括的识别的对象中的一个或更多个被接收客户端设备的显示设备呈现,生成标识对由接收客户端设备的显示设备呈现的视频数据的放大率的改变的建议的修改。
在根据本发明的计算机程序产品或计算机可读介质的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率使得包括在捕获的视频数据中并由接收客户端设备识别的感兴趣对象的呈现被呈现在接收客户端设备的显示设备的边界的阈值距离内,生成改变由接收客户端设备的显示设备呈现的视频数据的放大率的建议的修改。
根据本发明的另一方面,提供了一种计算机程序产品,该计算机程序产品提供指令,当由处理器执行时,该指令使处理器:
捕获包括在发送客户端设备中的图像捕获设备的视场内的局部区域的视频数据,该视频数据包括图像捕获设备的视场中的一个或更多个对象;
将视频数据从发送客户端设备传送到接收客户端设备;
在发送客户端设备处接收从在线系统接收捕获的视频数据的接收客户端设备的一个或更多个视频呈现设置;
将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征;
在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改;
在发送客户端设备处生成包括提示的消息,该提示描述了对接收客户端设备的一个或更多个视频呈现设置的建议的修改;和
将包括描述建议的修改的提示的消息从发送客户端设备传送到接收客户端设备。
在根据本发明的计算机程序产品的实施例中,将由发送客户端设备维护的一个或更多个模型应用于捕获的视频数据的特征可以包括:
识别捕获的视频数据中包括的对象;和
确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比。
在根据本发明的计算机程序产品的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用以及所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;和
响应于确定接收客户端设备的显示设备的纵横比与捕获的视频数据中包括的至少阈值量的识别的对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的计算机程序产品的另一个实施例中,对接收客户端设备的显示设备的定向的建议的修改可以包括接收客户端设备的显示设备的定向相对于接收客户端设备的显示设备的当前定向旋转九十度。
在根据本发明的计算机程序产品的另一实施例中,确定捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比可以包括:
确定从所识别的对象中选择的感兴趣对象的纵横比,该感兴趣对象由发送客户端设备从在线系统接收的信息来识别。
在根据本发明的计算机程序产品的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得接收客户端设备的显示设备的纵横比;
响应于确定接收客户端设备的显示设备的纵横比与感兴趣对象的纵横比相差大于阈值量,生成对接收客户端设备的显示设备的定向的建议的修改。
在根据本发明的计算机程序产品的另一个实施例中,消息中包括的描述所选修改的提示包括用于经由接收客户端设备执行修改的指令。
在根据本发明的计算机程序产品的又一实施例中,接收客户端设备包括移动设备。
在根据本发明的计算机程序产品的另一实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率妨碍了捕获的视频数据中包括的识别的对象中的一个或更多个被接收客户端设备的显示设备呈现,生成标识对由接收客户端设备的显示设备呈现的视频数据的放大率的改变的建议的修改。
在根据本发明的计算机程序产品的另一个实施例中,在发送客户端设备处,基于由发送客户端设备维护的一个或更多个模型对捕获的视频数据的特征的应用和所接收的接收客户端设备的一个或更多个视频呈现设置,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改可以包括:
从接收客户端设备的一个或更多个视频呈现设置中获得由接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由接收客户端设备的显示设备呈现的视频数据的放大率使得包括在捕获的视频数据中并由接收客户端设备识别的感兴趣对象的呈现被呈现在接收客户端设备的显示设备的边界的阈值距离内,生成改变由接收客户端设备的显示设备呈现的视频数据的放大率的建议的修改。
根据本发明的另一方面,提供了一种系统,该系统包括:
一个或更多个客户端设备,
网络,
一个或更多个第三方系统,
在线系统,以及
耦合到一个或更多个客户端设备中的至少一个的控制器,该系统被配置成执行根据本发明的方法。
附图简述
图1是根据实施例的在线系统运行的系统环境的框图。
图2是根据实施例的客户端设备的框图。
图3是根据实施例的在线系统的框图。
图4是根据实施例的方法的交互图,该方法用于基于对由发送客户端设备捕获的视频数据的分析,生成对接收客户端设备的一个或更多个视频呈现设置的建议的修改,该发送客户端设备将视频数据传送到接收客户端设备。
附图仅出于说明的目的描绘了各种实施例。本领域技术人员从下面的讨论中将容易认识到,在不脱离本文描述的原理的情况下,可以采用本文示出的结构和方法的替代实施例。
详细描述
系统架构
图1是用于在线系统140的系统环境100的框图。图1所示的系统环境100包括一个或更多个客户端设备110、网络120、一个或更多个第三方系统130和在线系统140。另外,在图1所示的系统环境110中,控制器117耦合到客户端设备110。在替代配置中,系统环境100中可以包括不同和/或附加的部件。例如,在线系统140是社交网络系统、内容共享网络或向用户提供内容的另一种系统。
客户端设备110是能够接收用户输入以及经由网络120传送和/或接收数据的一个或更多个计算设备。在一个实施例中,客户端设备110是传统的计算机系统,例如台式计算机或膝上型计算机。替代地,客户端设备110可以是具有计算机功能的设备,例如个人数字助理(PDA)、移动电话、智能手机或其他合适的设备。客户端设备110被配置成经由网络120进行通信。在一个实施例中,客户端设备110执行允许客户端设备110的用户与在线系统140交互的应用。例如,客户端设备110执行浏览器应用,以使得客户端设备110和在线系统140之间能够经由网络120进行交互。在另一实施例中,客户端设备110通过运行在客户端设备110的本机(native)操作系统(例如
Figure BDA0003006066170000131
或ANDROIDTM)上的应用编程接口(API)来与在线系统140交互。如下面结合图2进一步描述的,客户端设备110包括被配置为呈现内容的显示设备115以及被配置为捕获客户端设备110周围的局部区域的图像或视频数据的一个或更多个图像捕获设备。
客户端设备110被配置成使用有线和/或无线通信系统经由网络120进行通信,网络120可以包括局域网和/或广域网的任何组合。在一个实施例中,网络120使用标准通信技术和/或协议。例如,网络120包括使用诸如以太网、802.11、全球微波接入互操作性(WiMAX)、3G、4G、码分多址(CDMA)、数字用户线路(DSL)等技术的通信链路。用于经由网络120进行通信的网络协议的示例包括多协议标签交换(MPLS)、传送控制协议/互联网协议(TCP/IP)、超文本传送协议(HTTP)、简单邮件传送协议(SMTP)和文件传送协议(FTP)。可以使用任何合适的格式(例如超文本标记语言(HTML)或可扩展标记语言(XML))来表示通过网络120交换的数据。在一些实施例中,可以使用任何合适的技术或多项技术来对网络120的所有或一些通信链路进行加密。
一个或更多个第三方系统130可以耦合到网络120,以与在线系统140进行通信,这将在下面结合图3进行进一步的描述。在一个实施例中,第三方系统130是应用提供商,其传送描述用于由客户端设备110执行的应用的信息,或者向客户端设备110传送数据以供在客户端设备上执行的应用使用。在其他实施例中,第三方系统130经由客户端设备110提供用于呈现的内容或其他信息。第三方系统130还可以向在线系统140传送信息,例如广告、内容或关于第三方系统130提供的应用的信息。
图2是客户端设备117的实施例的框图。在图2所示的实施例中,客户端设备110包括显示设备115和图像捕获设备117以及控制器210。然而,在其他实施例中,客户端设备110包括与图2所示的那些部件不同的部件或附加部件。
显示设备115可以集成到客户端设备110中或者耦合到客户端设备110。例如,集成到客户端设备110中的显示设备115是被包括在客户端设备110中的显示屏。替代地,显示设备115是耦合到客户端设备110的监视器或其他显示装置。显示设备115向用户呈现图像数据或视频数据。显示设备115呈现的图像或视频数据由在客户端设备110上执行的应用确定。不同的应用可以被包括在客户端设备110上,使得不同应用的执行改变由显示设备115呈现给用户的内容。
图像捕获设备117捕获在客户端设备110周围且在图像捕获设备117的视场内的局部区域的视频数据或图像。在一些实施例中,图像捕获设备117包括一个或更多个相机、一个或更多个摄像机或能够捕获图像数据或视频数据的任何其他设备。另外,图像捕获设备117可以包括一个或更多个滤波器(例如,用于增加信噪比)。各种参数(例如,焦距、聚焦、帧速率、ISO、传感器温度、快门速度、光圈、焦点等)配置图像捕获设备117对视频数据或图像数据的捕获。因此,修改图像捕获设备117的一个或更多个参数会在该一个或更多个参数的修改之后修改由图像捕获设备117捕获的视频数据或图像数据。虽然图2示出了被包括在客户端设备110中的单个图像捕获设备117,但是在其他实施例中,客户端设备110包括任何合适数量的图像捕获设备117。在各种实施例中,用户具有防止任何记录(视频、语音等)被本地存储在客户端设备中和/或被存储在云上的选项,并且如果记录被保存的话,还具有删除任何记录的选项。
控制器210耦合到图像捕获设备117,并且包括耦合到处理器的存储设备。在各种实施例中,控制器210还耦合到显示设备115。控制器210包括指令,当这些指令由处理器执行时将一个或更多个模型应用于由图像捕获设备117捕获的视频数据。在各种实施例中,一个或更多个模型被应用于由图像捕获设备117或者被包括在客户端设备110中的或耦合到客户端设备110的任何其他设备捕获的视频数据、音频数据、图像数据或数据的任何组合。如下面结合图4进一步描述的,由控制器210应用于捕获的视频数据的模型将一个或更多个规则应用于捕获的视频数据的特征,以识别捕获的视频数据中的对象、人、移动或任何其他合适的内容。基于模型的应用并根据一个或更多个隐私设置,控制器210修改捕获的视频数据或修改图像捕获设备117的一个或更多个参数,使得修改随后捕获的视频数据。例如,用户可以授权控制器210应用基于捕获的视频数据的特征而在捕获的视频数据中定位用户的模型,并且修改捕获的视频数据以更显著地包括被定位的用户,或者修改图像捕获设备117的一个或更多个参数(例如,捕获的视频数据的焦距、放大率或缩放、裁剪)使得附加的视频数据更显著地包括被定位的用户。附加的视频数据通过以至少一组阈值尺寸(例如,以至少阈值高度或阈值宽度)呈现被定位的人而更显著地包括被定位的人、在图像捕获设备117的至少阈值量的视场中或在捕获的视频数据的至少阈值量的帧中呈现被定位的人、或者在捕获的视频数据内的一个或更多个特定位置呈现被定位的人。然而,由控制器210应用的模型可以识别由图像捕获设备117捕获的视频数据的任何合适的组成部分,并且相应地修改图像捕获设备117的参数或者修改捕获的视频数据。
在各种实施例中,客户端设备110包括一个或更多个音频捕获设备(例如麦克风)。例如,客户端设备110包括被配置用于二维或三维波束成形的麦克风阵列。音频捕获设备从客户端设备110周围的局部区域内的不同区捕获音频信号。在各种实施例中,一个或更多个音频捕获设备耦合到控制器210,控制器210维护标识客户端设备110周围的局部区域中的不同区的信息;例如,控制器210标识客户端设备110周围的局部区域中源自客户端设备110内的点的24个15度区,从而标识客户端设备110周围的360度局部区域中的区。
一个或更多个音频捕获设备耦合到控制器210。根据用户选择的隐私设置,控制器210将一个或更多个模型(例如机器学习模型或其他声音辨识模型)应用于从客户端设备110周围的局部区域中的区捕获的音频数据。控制器210包括识别用户或对象(例如,电视、移动设备)的信息,并且将一个或更多个模型应用于从客户端设备110周围的局部区域中的区捕获的音频,以确定捕获的音频数据是否包括来自被控制器210识别的用户或对象的音频数据或环境噪声。在一些实施例中,由控制器210应用的一个或更多个模型确定由控制器210识别的特定用户或特定对象,一个或更多个音频捕获设备从该特定用户或特定对象捕获该区中的音频。在其他实施例中,客户端设备110将由一个或更多个音频设备捕获的音频数据传送到在线系统140,在线系统140应用一个或更多个模型,以确定音频数据是否包括从识别的对象或用户捕获的音频数据,或者确定从其捕获音频数据的特定识别的用户或对象。在线系统140向客户端设备110提供捕获的音频数据是否包括从识别的对象或用户捕获的音频数据的指示,或者提供指定从其捕获音频数据的特定识别的对象或用户的信息。控制器210或在线系统140类似地确定音频是否是从客户端设备110的局部区域周围的其他区捕获的。基于对从其捕获不同区中的音频数据的识别的对象或用户的确定,控制器210修改对一个或更多个音频设备的定位,以提高从一个或更多个区捕获的音频的质量。例如,控制器210重新定位一个或更多个音频捕获设备,以提高从局部区域周围的区(来自该区的音频数据是从特定用户或从特定对象捕获的)捕获的音频的质量。类似地,控制器210可以基于客户端设备110周围的局部区域中的区(来自该区的音频数据是从不同用户或对象捕获的)来重新定位图像捕获设备117或以其他方式修改图像捕获设备117的一个或更多个参数。在各种实施例中,一个或更多个音频设备和图像捕获设备117可以朝向客户端设备110周围的局部区域的不同部分。例如,图像捕获设备117朝向用户描述的对象,而控制器210使一个或更多个音频捕获设备朝向客户端设备110周围的局部区域中的区,音频数据是特定用户从该区捕获的。
在各种实施例中,在线系统140和客户端设备110的控制器210协作地或单独地维护和实施从捕获的视频数据或其他数据中识别的用户或人的一个或更多个隐私设置。用户或人的隐私设置确定可以如何共享与用户或人相关联的特定信息,并且可以与标识用户或人的信息相关联地被存储。在一些实施例中,控制器210检索由在线系统140维护的一个或更多个用户的隐私设置。在一个实施例中,隐私设置指定了与用户相关联的特定信息,并标识了可以与之共享所指定的信息的其他实体。可以与之共享信息的实体的示例可以包括其他用户、应用、第三方系统130、或可能潜在地访问信息的任何实体。可以由用户共享的信息的示例包括:包含用户或人的图像数据、包含从用户或人捕获的音频的音频数据、包含用户或人的视频数据等。
例如,在特定实施例中,隐私设置可以允许用户(例如,通过选择退出(opt out)、通过不选择加入(not opt in))指定在线系统140是否可以出于任何目的接收、收集、记录或存储与用户相关联的特定对象或信息。在特定实施例中,隐私设置可以允许用户指定特定视频捕获设备、音频捕获设备、应用或过程是否可以访问、存储或使用与用户相关联的特定对象或信息。隐私设置可以允许用户选择加入或选择退出使对象或信息被特定设备、应用或进程访问、存储或使用。在线系统140可以访问这样的信息以向用户提供特定的功能或服务,而在线系统140不能出于任何其他目的访问该信息。在访问、存储或使用这样的对象或信息之前,在线系统可以提示用户提供指定哪些应用或过程(如果有的话)可以在允许任何这样的动作之前访问、存储或使用对象或信息的隐私设置。作为示例而非限制,用户可以经由与在线社交网络相关的应用(例如,消息传送app)向另一用户传送消息,并且可以指定这样的消息不应被在线系统140存储的隐私设置。
由在线系统140或控制器210维护和实施的隐私设置可以与默认设置相关联。在各种实施例中,控制器210不在捕获的视频数据、音频数据、图像数据或其他数据内识别用户,除非控制器210从用户获得授权控制器210识别用户的隐私设置。例如,与用户相关联的隐私设置具有防止控制器210识别用户的默认设置,因此控制器210不识别用户,除非用户手动改变该隐私设置以允许控制器210识别用户。此外,在各种实施例中,替代隐私设置管理从客户端设备110向另一实体(例如,另一客户端设备110、在线系统140、第三方系统130)传送识别用户的信息。在各种实施例中,替代隐私设置具有防止传送识别用户的信息的默认设置,这防止了控制器210向其他实体传送识别用户的信息,除非用户手动修改该替代隐私设置以授权传送。控制器210为从捕获的视频数据或其他数据中识别的每个用户维护一个或更多个隐私设置,允许对每个用户的传送和识别进行用户特定的控制。在一些实施例中,当控制器210最初从捕获的数据中识别人时,控制器210提示此人提供隐私设置,并将所提供的隐私设置与识别此人的信息相关联地进行存储。
在各种实施例中,对于具有可以将用户的个人信息或生物识别信息(biometricinformation)用作输入以用于用户认证或体验个性化目的的功能的在线系统140或客户端设备110的各种部件,用户可选择利用这些功能来增强他们使用设备和在线系统的体验。作为示例而非限制,用户可以自愿向在线系统140提供个人信息或生物识别信息。用户的隐私设置可以指定这样的信息仅可以用于特定的过程(例如认证),并且进一步指定这样的信息不可以与任何第三方共享或者不可以用于与在线系统140相关联的其他过程或应用。作为另一示例而非限制,在线系统140可以为用户提供向在线系统140提供声纹(voice-print)记录的功能。作为示例而不是作为限制,如果用户希望利用在线社交网络的这一功能,则用户可以提供他或她自己声音的声音记录,以经由在线社交网络提供状态更新。声音输入的记录可以与用户的声纹进行比较,以确定用户说了什么词语。用户的隐私设置可以指定这种声音记录可以仅用于声音输入目的(例如,认证用户、发送声音消息、改进声音识别以使用在线社交网络的声音操作特征),并且还指定这种声音记录不可以与任何第三方系统130共享,或者不可以被与在线系统140相关联的其他进程或应用使用。作为另一示例而非限制,在线系统140可以为用户提供向在线系统140提供参考图像(例如,面部轮廓)的功能。在线系统140可以将参考图像与稍后接收的图像输入进行比较(例如,用于认证用户,在照片中标记用户)。用户的隐私设置可以指定这种语音记录仅可以用于有限的目的(例如,认证、在照片中标记用户),并且进一步指定这种语音记录不可以与任何第三方系统共享或者不可以由与在线系统140相关联的其他过程或应用使用。对捕获生物识别数据和/或其他个人数据的任何这样的限制也可以应用于客户端设备110。
用户可以授权以一种或更多种方式捕获数据、识别用户和/或共享和跨应用使用用户相关数据。例如,在用户使用客户端设备110的功能和/或在在线系统140中采取动作之前,用户可以预先选择各种隐私设置。在另一种情况下,当用户第一次执行动作或使用客户端设备110或在线系统140的功能时、或当用户已经一预定时间段没有执行动作或使用功能时,可以提示选择对话框。在又一个示例中,当需要用户数据的某些功能开始操作或者由于用户的选择而被禁用时,客户端设备110和在线系统140还可以向用户提供通知,以允许用户通过通知做出进一步的选择。用户进行授权的其他合适方式也是可能的。
在一些实施例中,根据用户的隐私设置,控制器210为从捕获的视频数据中识别的用户获得由在线系统140维护的或来自一个或更多个第三方系统130的信息。基于包括客户端设备110先前捕获的用户的视频数据、音频数据、图像数据或其他数据以及获得的信息,控制器210可以生成用于经由客户端设备110呈现给用户的内容。例如,控制器210叠加(overlay)来自在线系统140的、与控制器210从客户端设备110捕获的视频数据或图像数据中识别的一个或更多个对象相关联的内容项。替代地,在线系统140基于从客户端设备110接收的包括用户的视频数据、图像数据、音频数据或其他数据以及在线系统140为用户维护的信息(或在线系统140从一个或更多个第三方系统130获得的信息)来为用户生成内容,并将生成的内容提供给客户端设备110用于呈现给用户。
图3是在线系统140的架构的框图。图3所示的在线系统140包括用户简档储存器305、内容储存器310、动作记录器315、动作日志320、边储存器(edge store)325、内容选择模块330和web服务器335。在其他实施例中,在线系统140可以包括用于各种应用的附加的、更少的或不同的部件。没有示出常规部件(例如网络接口、安全功能、负载平衡器、故障转移服务器、管理和网络操作控制台等),以便不使系统架构的细节模糊。
在线系统140的每个用户与被存储在用户简档储存器305中的用户简档相关联。用户简档包括由用户明确共享的关于用户的声明性信息,并且还可以包括由在线系统140推断的简档信息。在一个实施例中,用户简档包括多个数据字段(data field),每个数据字段描述相应在线系统用户的一个或更多个属性。存储在用户简档中的信息的示例包括传记信息、人口统计信息和其他类型的描述性信息(例如工作经历、教育历史、性别、爱好或偏好、位置等)。用户简档还可以存储用户提供的其他信息,例如图像或视频。在某些实施例中,可以用标识图像中显示的在线系统用户的信息来对用户的图像进行标记,其中标识用户被标记的图像的信息存储在用户的用户简档中。用户简档储存器305中的用户简档还可以维护对相应用户在内容储存器310中的内容项上执行的并存储在动作日志320中的动作的引用。
此外,为用户维护的用户简档包括与用户相关联的一个或更多个客户端设备110的特性,允许在线系统140随后从客户端设备110提供的特性中识别用户。例如,与在线系统140相关联并在客户端设备110上执行的应用将设备标识符或唯一标识客户端设备110的其他信息与用户标识符相关联地提供到在线系统140。在线系统110在为用户维护的用户简档中存储设备标识符或唯一标识客户端设备110的其他信息,这允许随后如果在线系统140接收到设备标识符或唯一标识客户端设备110的其他信息则进行用户识别。与用户相关联的客户端设备110的其他特性可以替代地或附加地被包括在用户维护的用户简档中。例如,用户简档包括客户端设备110用来访问网络120的网络地址、在线系统140从其接收信息的客户端设备110上执行的应用的标识符、在线系统140从其接收信息的客户端设备110的类型(例如,制造商、客户端设备110的型号的标识符等)以及在线系统140从其接收信息的客户端设备110上执行的操作系统。然而,在线系统140可以在用户简档中存储客户端设备110的任何合适特性,这允许在线系统140维护关于与用户简档相对应的用户所使用的客户端设备110的信息。
虽然用户简档储存器305中的用户简档通常与个人相关联,允许个人经由在线系统140彼此进行交互,但是也可以为诸如企业或组织的实体而存储用户简档。这允许实体在在线系统140上建立存在,用于与其他在线系统用户关连并交换内容。实体可以使用与该实体的用户简档相关联的品牌页面来发布关于其自身、关于其产品的信息或者向在线系统140的用户提供其他信息。在线系统140的其他用户可以关连到品牌页面以接收被发布到品牌页面的信息或者从品牌页面接收信息。与品牌页面相关联的用户简档可以包括关于实体自身的信息,以向用户提供关于实体的背景或信息数据。
内容储存器310存储对象,这些对象各自表示各种类型的内容。对象表示的内容的示例包括页面帖子、状态更新、照片、视频、链接、共享的内容项、游戏应用成就、在本地企业处的签到(check-in)事件、品牌页面或任何其他类型的内容。在线系统用户可以创建由内容储存器310存储的对象,诸如状态更新、被用户标记为与在线系统140中的其他对象相关联的照片、事件、群组或应用。在一些实施例中,从第三方应用或独立于在线系统140的第三方应用接收对象。在一个实施例中,内容储存器310中的对象表示单条内容(single pieceof content)或内容“项目(item)”。因此,通过经由各种通信渠道(communicationchannel)将文本和各种类型的媒体的内容项发布到在线系统140来鼓励在线系统用户与彼此进行通信。这增加了用户与彼此之间的交互的量,并增加了用户在在线系统140内交互的频率。
被包括在内容储存器310中的一个或更多个内容项包括创意(creative)和出价金额(bid amount),创意是用于呈现给用户的内容。创意是呈现给用户的文本、图像、音频、视频或任何其他合适的数据。在各种实施例中,创意还指定一页内容。例如,内容项包括指定当内容项被访问时用户所朝向的内容的登录页面的网络地址的链接。如果向用户呈现内容,出价金额被用户包括在内容项中,并且如果内容项中的内容被呈现给用户、如果内容项中的内容在呈现时接收到用户交互、或者如果当内容项中的内容被呈现给用户时满足任何合适的条件,则出价金额被用来确定广告商提供给在线系统140的预期值,例如货币报酬(monetary compensation)。例如,被包括在内容项中的出价金额指定了,如果内容项中的内容被显示,在线系统140从向在线系统140提供内容项的用户接收的货币金额。在一些实施例中,对于在线系统140呈现来自内容项的内容的预期值,可以通过将出价金额乘以用户访问内容项的内容的概率来被确定。
各种内容项可以包括标识与内容项相关联的用户期望其他用户在呈现有被包括在内容项中的内容时执行的交互的意图(objective)。示例意图包括:安装与内容项相关联的应用、指示对内容项的偏好、与其他用户分享内容项、与和内容项相关联的对象进行交互、或者执行任何其他合适的交互。当来自内容项的内容被呈现给在线系统用户时,在线系统140记录在被呈现内容项的用户之间的交互或者与和内容项相关联的对象的交互。此外,当在线系统用户执行与内容项的交互,其满足内容项中包括的意图时,在线系统140从与该内容项相关联的用户接收报酬。
此外,内容项可以包括由向在线系统140提供内容项的用户指定的一个或更多个定位标准(targeting criteria)。被包括在内容项请求中的定位标准指定有资格被呈现有内容项的用户的一个或更多个特性。例如,定位标准用于识别具有满足定位标准中的至少一项的用户简档信息、边或动作的用户。因此,定位标准允许用户识别具有特定特性的用户,这简化了随后向不同用户分发内容。
在一个实施例中,定位标准可以指定用户与在线系统140的另一用户或对象之间的动作或关连的类型。定位标准还可以指定用户与在在线系统140外部(例如在第三方系统130上)执行的对象之间的交互。例如,定位标准识别已经采取特定动作(例如向另一用户发送消息、使用应用、加入群组、离开群组、加入事件、生成事件描述、使用在线市场购买或查看产品或服务、从第三方系统130请求信息、安装应用或执行任何其他合适的动作)的用户。在定位标准中包括动作允许用户进一步细分(refine)有资格被呈现有内容项的用户。作为另一示例,定位标准识别与另一用户或对象有关连或者与另一用户或对象有特定类型的关连的用户。
基于隐私设置,动作记录器315可以被授权接收关于在在线系统140内部和/或外部的用户动作的通信,用关于用户动作的信息填充动作日志320。动作的示例包括添加与另一用户的关连、向另一用户发送消息、上传图像、从另一用户读取消息、查看与另一用户相关联的内容以及参加由另一用户发布的事件。此外,许多动作可能涉及一个对象和一个或更多个特定用户,因此这些动作也与特定用户相关联并存储在动作日志320中。
基于隐私设置,动作日志320可以被用户授权为由在线系统140使用以跟踪在线系统140上的用户动作以及向在线系统140传送信息的第三方系统130上的动作。用户可以与在线系统140上的各种对象交互,并且描述这些交互的信息被存储在动作日志320中。与对象的交互的示例包括:评论帖子、分享链接、经由客户端设备110在物理位置签到、访问内容项目以及任何其他合适的交互。包括在动作日志320中的与在线系统140上的对象的交互的附加示例包括:评论相册、与用户通信、与对象建立关连、加入事件、加入群组、创建事件、授权应用、使用应用、表达对对象的偏好(“赞(like)”对象)、以及参与交易。此外,动作日志320可以记录用户与在线系统140上的广告的交互以及与在线系统140上运行的其他应用的交互。在一些实施例中,来自动作日志320的数据被用于推断用户的兴趣或偏好,增强了用户的用户简档中包括的兴趣,并允许对用户偏好的更完整的理解。
根据用户的隐私设置,动作日志320还可以存储在第三方系统130(例如外部网站)上采取的用户动作并传送给在线系统140。例如,电子商务网站可以通过使电子商务网站能够识别在线系统140的用户的社交插件(social plug-in)来辨识在线系统140的用户。因为在线系统140的用户是唯一可识别的,所以(例如在前面的示例中)电子商务网站可以将关于用户于在线系统140外部的动作的信息传送给在线系统140,用于与用户进行关联。因此,动作日志320可以记录关于用户在第三方系统130上执行的动作的信息,包括网页浏览历史、参与的广告、完成的购买以及来自购物和购买的其他模式。另外,用户经由与第三方系统130相关联的应用来执行的且在客户端设备110上执行的动作可以由该应用传送给动作记录器315,用于在动作日志320中进行记录和与用户进行关联。
在一个实施例中,边储存器325将描述用户与在线系统140上的其他对象之间的关连的信息存储为边。某些边可以由用户定义,允许用户指定他们与其他用户的关系。例如,用户可以生成平行于用户的现实生活关系(例如朋友、同事、伙伴等等)的与其他用户的边。当用户与在线系统140中的对象交互(例如表达对在线系统140上的页面的兴趣、与在线系统140的其他用户分享链接、以及对由在线系统140的其他用户制作的帖子进行评论)时,生成其他边。
边可以包括各种特征,每个特征表示用户之间的交互、用户和对象之间的交互、或者对象之间的交互的特性。例如,边中包括的特征描述了两个用户之间的交互的速率、两个用户最近如何与彼此进行交互、一个用户检索关于对象的信息的速率或量、或者用户发布的关于对象的评论的数量和类型。这些特征还可以表示描述特定对象或用户的信息。例如,特征可以表示用户对特定主题的兴趣程度、用户登录在线系统140的速率、或者描述关于用户的人口统计信息的信息。每个特征可以与源对象或用户、目标对象或用户以及特征值相关联。特征可以被指定为基于描述源对象或用户、目标对象或用户、或者源对象或用户与目标对象或用户之间的交互的值的表达式;因此,边可以被表示为一个或更多个特征表达式。
边储存器325还存储关于边的信息,例如对象、兴趣和其他用户的亲和力分数(affinity score)。在线系统140可以随时间计算亲和力分数或“亲和力”,以基于用户执行的动作来近似用户对在线系统140中的另一用户或对象的兴趣。在线系统140可以随时间计算用户的亲和力,以基于用户执行的动作来近似用户对在线系统140中的另一用户、对象或主题的兴趣。在于2010年12月23日提交的第12/978,265号美国专利申请、于2012年11月30日提交的第13/690,254号美国专利申请、于2012年11月30日提交的第13/689,969号美国专利申请和于2012年11月30日提交的第13/690,088号美国专利申请中进一步描述了亲和力的计算,这些专利申请中的每一个专利申请都在此通过引用以其整体并入。在一个实施例中,用户和特定对象之间的多个交互可以作为单条边存储在边储存器325中。替代地,用户和特定对象之间的每次交互都被存储为单独的边。在一些实施例中,用户之间的关连可以存储在用户简档储存器305中,或者用户简档储存器305可以访问边储存器325以确定用户之间的关连。
内容选择模块330选择用于传送给客户端设备110的一个或更多个内容项,以呈现给用户。内容选择模块330从内容储存器310或从另一个源检索有资格呈现给用户的内容项,内容选择模块330选择这些内容项中的一个或更多个内容项用于呈现给观看用户。有资格呈现给用户的内容项是与用户的特性所满足的至少阈值数量的定位标准相关联的内容项,或者是与定位标准不相关联的内容项。在各种实施例中,内容选择模块330包括在一个或更多个选择过程中的有资格呈现给用户的内容项,这些选择过程识别一组要呈现给用户的内容项。例如,内容选择模块330基于由在线系统140关联到用户的属性以及基于用户对不同内容项的亲和力来确定各种内容项与用户的相关性度量。内容项与用户的相关性度量是基于对用于用户的内容项的质量的度量的,这可以基于内容项中包括的创意以及由内容项中的链接标识的登录页面的内容。基于相关性度量,内容选择模块330选择内容项用于呈现给用户。作为附加示例,内容选择模块330选择具有最高相关性度量或具有至少阈值相关性度量的内容项用于呈现给用户。替代地,内容选择模块330基于其相关联的相关性度量来对内容项进行排名,并选择在排名中具有最高位置或者在排名中至少具有阈值位置的内容项用于呈现给用户。
有资格呈现给用户的内容项可以包括与出价金额相关联的内容项。当选择呈现给用户的内容时,内容选择模块330使用与内容项相关联的出价金额。在各种实施例中,内容选择模块330基于各种内容项的出价金额来确定与各种内容项相关联的预期值,并选择与最大预期值相关联或至少与阈值预期值相关联的内容项来呈现。与内容项相关联的预期值表示对用于呈现内容项给在线系统140的预期报酬量。例如,与内容项相关联的预期值是内容项的出价金额和用户与内容项交互的可能性的乘积。内容选择模块330可以基于内容项的相关出价金额来对内容项进行排名,并选择在排名中至少具有阈值位置的内容项以呈现给用户。在一些实施例中,内容选择模块330基于与内容项相关联的出价金额和相关性度量,在统一的排名中对与出价金额不相关联的内容项和与出价金额相关联的内容项进行排名。基于该统一排名,内容选择模块330选择内容以呈现给用户。在于2012年7月10日提交的第13/545,266号美国专利申请中进一步描述了通过统一排名来选择与出价金额相关联的内容项和与出价金额不相关联的内容项,该专利申请在此通过引用以其整体并入。
例如,内容选择模块330接收向在线系统140的用户呈现内容信息流(feed)的请求。该信息流包括内容项,例如描述与关连到该用户的其他在线系统用户相关联的动作的动态(stories)。内容选择模块330访问用户简档储存器305、内容储存器310、动作日志320和边储存器325中的一个或更多个,以检索关于用户的信息。例如,对描述与关连到该用户的其他用户相关联的动作或者与关连到该用户的用户相关联的其他数据的信息进行检索。内容选择模块330检索并分析来自内容储存器310的内容项,以识别有资格呈现给用户的候选内容项。例如,与未关连到该用户的用户相关联的内容项或者与该用户具有小于阈值亲和力的用户相关联的动态被舍弃用作候选内容项。基于各种标准,内容选择模块330选择一个或更多个被识别为候选内容项的内容项,用于呈现给识别的用户。所选择的内容项被包括在呈现给该用户的内容信息流中。例如,内容信息流包括至少阈值数量的内容项,其描述与经由在线系统140关连到该用户的用户相关联的动作。
在各种实施例中,内容选择模块330通过包括被选择用于呈现给用户的多个内容项的信息流来向用户呈现内容。内容选择模块330还可以确定所选择的内容项经由信息流被呈现的顺序。例如,内容选择模块330基于用户与各种内容项交互的可能性来对信息流中的内容项进行排序。
基于用户的动作或许可,内容选择模块330接收由被包括在与在线系统的用户相关联的客户端设备110中的图像捕获设备117捕获的视频数据,并且将该视频数据传送到接收客户端设备110,用于经由显示设备115呈现给观看用户。在线系统140可以从客户端设备110接收识别观看用户的请求,并且随后响应于从观看用户接收到授权,向接收客户端设备110提供来自客户端设备110的视频数据。相反,在线系统140经由接收客户端设备110接收来自观看用户的请求,并且随后响应于从用户接收到授权,向接收客户端设备110提供从客户端设备110接收的视频数据。这允许在线系统140的不同用户经由在线系统140交换由与用户相关联的客户端设备110捕获的视频数据。
此外,内容选择模块330可以经由接收客户端设备110从观看用户接收指令,并将一个或更多个指令传送到客户端设备110。基于接收到的指令,客户端设备110修改在接收到指令之后捕获的视频数据,或者基于指令修改图像捕获设备117的一个或更多个参数。因此,客户端设备110基于来自接收客户端设备110的一个或更多个指令来修改捕获的视频数据,并且将修改后的视频数据或者由图像捕获设备117使用修改后的参数捕获的视频数据传送到内容选择模块330,内容选择模块330将该视频数据传送到接收客户端设备110,这在下面结合图4进行进一步描述。这允许观看用户修改或调整由客户端设备110捕获并经由接收客户端设备110提供给观看用户的视频数据。
在各种实施例中,内容选择模块330实施在线系统140的用户的一个或更多个隐私设置。用户的隐私设置确定可以如何共享与用户相关联的特定信息,并且可以存储在用户简档储存器305中的用户的用户简档中。在一个实施例中,隐私设置指定了与用户相关联的特定信息,并标识了可以与之共享所指定的信息的其他实体。可以与之共享信息的实体的示例可以包括其他用户、应用、第三方系统130、或可能潜在地访问信息的任何实体。可以由用户共享的信息的示例包括用户简档信息(例如简档照片)、与用户相关联的电话号码、用户的关连、包括用户的视频数据、由用户采取的动作(例如添加关连)、改变用户简档信息等。在各种实施例中,在线系统140维护与用户相关联的隐私设置,该隐私设置具有防止其他实体访问或接收与用户相关联的内容的默认设置,并且允许用户修改不同的隐私设置,以允许由用户指定的其他实体访问或检索对应于修改后的隐私设置的内容。
可以以不同的粒度水平提供隐私设置规范。在一个实施例中,隐私设置可以标识要与其他用户共享的特定信息。例如,隐私设置标识电话号码或一组特定的相关信息(例如,包括简档照片、家庭电话号码以及状态的个人信息)。可选地,隐私设置可以应用于与用户相关联的所有信息。也可以以不同的粒度水平指定可以访问特定信息的该组实体的规范。可以与之共享信息的各种实体集合可以包括例如关连到该用户的所有用户、关连到该用户的一组用户、与关连到该用户的用户关连的附加用户、所有应用、所有第三方系统130、特定第三方系统130或所有外部系统。
一个实施例使用实体的枚举来指定被允许访问所标识的信息的实体或者标识呈现给不同实体的信息类型。例如,用户可以指定传送给其他用户的或传送给指定用户组的动作的类型。替代地,用户可以指定动作的类型或不发布或呈现给其他用户的其他信息的类型。
内容选择模块330包括确定与用户相关联的某些信息是否可以由经由在线系统140关连到该用户的其他用户、第三方系统130和/或其他应用和实体进行访问的逻辑。基于用户的隐私设置,内容选择模块330确定另一用户、第三方系统130、应用或另一实体是否被允许访问与该用户相关联的信息(包括关于用户采取的动作的信息)。例如,内容部分模块330使用用户的隐私设置来确定包括该用户的视频数据是否可以呈现给另一用户。这使用户的隐私设置能够指定哪些其他用户或其他实体被允许接收关于用户的动作的数据或与用户相关联的其他数据。
一个实施例使用实体的枚举来指定被允许访问所标识的信息的实体或者标识呈现给不同实体的信息类型。例如,用户可以指定传送给其他用户的或传送给指定用户组的动作的类型。替代地,用户可以指定动作的类型或不发布或呈现给其他用户的其他信息的类型。
内容选择模块330包括确定与用户相关联的某些信息是否可以由经由在线系统140关连到该用户的其他用户、第三方系统130和/或其他应用和实体进行访问的逻辑。基于用户的隐私设置,内容选择模块330确定另一用户、第三方系统130、应用或另一实体是否被允许访问与该用户相关联的信息(包括关于用户采取的动作的信息)。例如,内容部分模块230使用用户的隐私设置来确定包括该用户的视频数据是否可以呈现给另一用户。这使用户的隐私设置能够指定哪些其他用户或其他实体被允许接收关于用户的动作的数据或与用户相关联的其他数据。
web服务器335经由网络120将在线系统140链接到一个或更多个客户端设备110以及链接到一个或更多个第三方系统130。web服务器335提供网页以及其他内容,例如
Figure BDA0003006066170000291
XML等。web服务器335可以接收消息并在在线系统140和客户端设备110之间路由该消息(例如即时消息、排队消息(例如,电子邮件)、文本消息、短消息服务(SMS)消息或使用任何其他合适的消息传送技术发送的消息)。用户可以向web服务器335发送上传存储在内容储存器310中的信息(例如,图像或视频)的请求。此外,web服务器335可以提供应用编程接口(API)功能,以将数据直接发送到本机客户端设备操作系统,例如
Figure BDA0003006066170000292
ANDROIDTM或BlackberryOS。
基于发送客户端设备对捕获的视频数据的分析,建议对接收客户端设备的视频呈 现设置的修改
图4是一种方法的一个实施例的交互图,该方法用于基于对由发送客户端设备110A捕获的视频数据的分析,生成对接收客户端设备110B的一个或更多个视频呈现设置的建议的修改,该发送客户端设备110A将视频数据传送到接收客户端设备110B。在各种实施例中,可以以不同的顺序执行结合图4描述的步骤。此外,在一些实施例中,该方法可以包括与图4所示的那些步骤不同的步骤和/或附加的步骤。
如上面结合图1和图2进一步描述的,图像捕获设备117被包括在发送客户端设备110A中,并且捕获405发送客户端设备110A周围的局部区域的视频数据。由图像捕获设备117捕获的图像被传送到被包括在发送客户端设备110A中的(或者在其他实施例中耦合到发送客户端设备110A的)控制器210。另外,根据来自发送客户端设备110A的用户的授权(例如,通过预先选择的隐私设置和/或提示选择),发送客户端设备110A将由图像捕获设备117捕获的图像或视频传送410到在线系统140,在线系统140将捕获的视频数据传送415到接收客户端设备110B,接收客户端设备110B经由显示设备115向观看用户呈现420图像或视频。发送客户端设备110A的用户向发送客户端设备110A标识观看用户或接收客户端设备110B,以便发送客户端设备110A向在线系统140传送410捕获的视频数据或图像数据,以传送到接收客户端设备110B。用户可以向发送客户端设备110A说明(specify)向在线系统140标识观看用户的信息(例如,用户名、电子邮件地址、电话号码)或者向在线系统140标识接收客户端设备110B的信息(例如,设备标识符、网络地址等),以便发送客户端设备110A将捕获的视频数据传送410到在线系统140。可选地,发送客户端设备110A接收接收客户端设备110B或观看用户的标识,并将捕获的视频数据传送410到接收客户端设备110B。
在各种实施例中,用户可以(例如,通过预先选择的隐私设置和/或提示选择)授权控制器210将一个或更多个机器学习模型应用于由图像捕获设备117捕获405的视频的特征,以定位捕获的视频数据中包括的人或其他对象。在各种实施例中,控制器210修改视频数据以更显著地呈现被定位的用户,并将修改后的视频数据传送410到在线系统140。通过在视频数据中以至少一组阈值尺寸(例如,以至少阈值高度或阈值宽度)呈现、在图像捕获设备117的至少阈值量的视场中或在捕获的视频数据的至少阈值量的帧中呈现、或者在捕获的视频数据内的一个或更多个特定位置呈现,而更显著地呈现被定位的用户。例如,控制器210裁剪捕获的视频数据,以移除视频数据中不包括至少一个人的部分。作为另一示例,控制器210增加视频数据中包括人的一部分的缩放(也被称为放大率)。为了修改捕获的视频数据,控制器210可以在视频数据被图像捕获设备117捕获之后修改该视频数据,或者可以修改图像捕获设备117的一个或更多个参数以修改图像捕获设备117如何捕获405视频数据。
在各种实施例中,控制器210应用一种或更多种方法来在捕获的视频数据内定位人。然而,控制器210可以通过将一个或更多个模型应用于捕获的视频数据来类似地定位对象(例如,电器、家具、产品)。虽然以下示例涉及将模型应用于视频数据,但是一个或更多个模型可以被应用于视频数据、音频数据、图像数据、由客户端设备110捕获的任何其他数据及其任意组合。控制器210可以使用任何合适的模型或模型的组合来在由图像捕获设备117捕获405的视频数据内定位人。由控制器210应用于捕获的视频数据的模型可以执行(二维或三维的)面部跟踪、二维姿态跟踪、三维姿态跟踪或任何其他合适的方法来识别人的面部的一些部分或人的身体的一些部分。类似地,由控制器210应用的模型可以从捕获的视频数据中识别对象。在一些实施例中,基于用户的授权,控制器210与在线系统140通信,以基于从在线系统140获得的信息更具体地识别对象或人,而在其他实施例中,控制器210在本地维护模型,以从捕获的视频数据中识别不同的对象或人。
在各种实施例中,由控制器210应用的一个或更多个模型应用一个或更多个规则来修改由发送客户端设备110A的图像捕获设备117捕获405的视频数据。例如,如果控制器210还确定从视频数据中定位的人的面部朝向相机,则控制器210通过修改在此人所在的一部分视频数据上的捕获的数据的缩放,或者通过修改此人所在的一部分视频数据的裁剪以移除除此人之外的对象,来修改捕获的视频数据,以更显著地显示从视频数据中定位的人。作为示例,如果控制器210应用的一个或更多个模型确定人的面部朝向图像捕获设备117(例如,如果人的面部的一个或更多个特定特征被图像捕获设备117捕获),则控制器210修改捕获的视频数据以更显著地显示用户的面部。在另一示例中,控制器210确定视频数据内被定位的人和图像捕获设备117之间的距离,并且修改捕获的视频数据以显著地显示离图像捕获设备117具有最小确定距离的人、或者显著地显示离图像捕获设备的确定距离小于阈值距离的人。在另一示例中,当人或对象移动时,控制器210应用一个或更多个模型来重新定位图像捕获设备117,允许图像捕获设备117捕获的视频数据跟踪人或对象的移动。
由控制器210应用的一个或更多个模型可以基于考虑在捕获的视频数据中识别的多个人的位置的规则来修改捕获的视频数据。在各种实施例中,用户可以授权控制器210在捕获的视频中定位用户,控制器210将模型应用于捕获的视频,该模型确定捕获的视频数据内被识别用户的注视所朝向的位置。响应于确定至少阈值数或阈值数量的被定位用户具有朝向捕获的视频数据内包括特定人的位置的注视,控制器210修改捕获的视频数据以更显著地显示该特定人(例如,裁剪捕获的视频数据以移除除该特定人之外的内容,增加该特定人的放大率或缩放)。作为另一示例,控制器210确定在视频数据内被定位的不同人之间的距离,并修改捕获的视频数据以更显著地显示在彼此的阈值距离内的人;这允许控制器210通过裁剪或缩放一组人所在的一部分视频数据来修改捕获的视频数据。此外,控制器210可以基于捕获的视频数据内识别的对象或人而从捕获的视频数据中移除一个或更多个帧;例如,如果在捕获的视频数据内识别少于阈值数量的对象或人,或者如果在捕获的视频数据内识别的对象或人的小于阈值量的移动被确定,则控制器210在将捕获的视频数据传送410到在线系统140之前从捕获的视频数据中移除帧。在其他实施例中,如下面进一步描述的,在线系统140在向接收客户端设备110B传送415捕获的视频数据之前,使用上述标准从接收自发送客户端设备110A的视频数据中移除帧。
控制器210可以从发送客户端设备110A的其他部件接收数据,并且基于所接收的视频数据和来自发送客户端设备110A的其他部件的数据的特性来修改捕获的视频数据。例如,图像捕获设备117或客户端设备110包括音频捕获设备(例如麦克风),其被配置为从客户端设备110周围的局部区域捕获音频数据。当修改捕获的视频数据时,用户可以授权控制器210连同捕获的视频数据一起处理捕获的音频数据。在各种实施例中,控制器210将一个或更多个模型应用于捕获的音频数据,以确定捕获的视频数据内包括音频数据源的位置。控制器210将一个或更多个模型应用于捕获的视频数据内包括音频数据源的位置。响应于模型的应用确定捕获的视频数据内包括音频数据源的位置包括人,控制器210修改捕获的视频数据以更显著地呈现捕获的视频数据内包括音频数据源的位置(即,增加包括捕获的视频数据的源的位置的缩放,或者裁剪包括捕获的视频数据的源的位置,以移除除捕获的视频数据的源之外的对象),或重新定位图像捕获设备117以聚焦在音频数据源上。然而,响应于确定捕获的视频数据内包括音频数据源的位置不包括人,控制器210不修改捕获的视频数据或重新定位图像捕获设备117。作为另一示例,控制器210修改捕获的视频数据或重新定位图像捕获设备117,以更显著地呈现捕获的视频数据内被定位的、控制器210确定其是捕获的音频数据的源的人,允许捕获的视频数据更显著地显示被确定为正在说话或以其他方式提供被发送客户端设备110A的音频捕获设备捕获的音频数据的人(即,增加包括被确定为正在提供音频数据的人的位置的缩放,或者裁剪包括捕获的视频数据的源的位置,以移除除了被确定为正在提供音频数据的人之外的对象)。
在各种实施例中,用户可以(例如,基于预定的隐私设置和通过用户动作)授权发送客户端设备110A向在线系统140提供标识与控制器210在捕获的视频内定位的人相对应的一个或更多个用户的信息,该信息包括标识该一个或更多个用户的信息,其中视频数据被传送415到接收客户端设备110B。替代地,发送客户端设备110A向在线系统140标识包括控制器210定位的人的视频数据部分,在线系统140将控制器210定位的人所在的视频数据部分与所存储的标识在线系统用户的图像进行比较。基于隐私设置,在线系统140检索标识用户的信息,这些用户由被在线系统140确定为与控制器210定位的人所在的发送客户端设备110A的控制器210视频数据的部分至少具有阈值相似性的存储的图像来标识。这允许在线系统140识别被包括在从发送客户端设备110A接收的视频数据中的在线系统140的用户,如果用户选择加入这种识别特征的话。在线系统140可以将一个或更多个面部辨识过程或其他识别过程应用于接收到的视频数据中由控制器210定位的人所在的部分以及由在线系统140存储的标识用户的图像(例如,用户的用户简档中的简档图片,用标识信息标记用户的包括用户的面部的图像),以确定在接收到的视频数据的该部分中被定位的人是否是在线系统用户。例如,在线系统140增强来自发送客户端设备110A的视频数据,使得标识在线系统用户的信息(例如,名和姓、电子邮件地址)叠加在来自发送客户端设备110A的视频数据的一部分上,该视频数据的一部分包括被在线系统140识别为在线系统用户的人。在线系统140将增强的视频数据传送420到接收客户端设备110B。替代地,在线系统140生成标识与从发送客户端设备110A接收的视频数据中被定位的人相对应的在线系统用户的信息,并且将标识与视频中的人相对应的在线系统用户的信息与视频数据一起传送到接收客户端设备110B。例如,在线系统140生成与从发送客户端设备110A接收的视频数据中的人相对应的在线系统用户的名和姓的列表或者用户名的列表,用于由接收客户端设备110B结合视频数据呈现给观看用户。
在用户授权各种用户相关数据用于改善在线系统140的用户体验的一些实施例中,当生成标识与从发送客户端设备110A接收的视频数据中被定位的人相对应的在线系统用户的信息时,在线系统140可以考虑与接收客户端设备110B相关联的观看用户和从发送客户端设备110A接收的视频数据中识别的用户之间的亲和力。例如,在线系统140为从发送客户端设备110A接收的视频数据中识别的、与在线系统140维护的观看用户有关连的在线系统用户生成标识信息;在一些实施例中,在线系统140可以不为从发送客户端设备110A接收的视频数据中识别的、与观看用户没有关连的在线系统用户生成标识信息。替代地,在线系统140在视觉上将从接收的视频数据中识别的、关连到观看用户的在线系统用户的标识信息与未关连到观看用户的在线系统用户的标识信息区分开。作为另一示例,在线系统140确定观看用户对于从发送客户端设备110A接收的视频数据中识别的每个在线系统用户的亲和力,并修改从视频数据中识别的在线系统用户的标识信息的呈现。例如,在线系统140生成标识从接收到的视频数据中识别的在线系统用户的信息,该信息在视觉上区分在线系统140确定观看用户对于其具有至少阈值亲和力的所标识的在线系统用户。作为另一示例,在线系统140基于观看用户对于从接收的视频数据中识别的在线系统用户的亲和力,对标识从接收的视频数据中识别的在线系统用户的信息进行排名;在线系统140生成信息,该信息在视觉上将在排名中具有至少阈值位置的、标识从接收的视频数据中识别的在线系统用户的信息与标识从接收的视频数据中识别的其他在线系统用户的信息区分开。在另一实施例中,在线系统140基于观看用户对于从接收的视频数据中识别的在线系统用户的亲和力来生成信息,该信息呈现标识从接收的视频数据中识别的在线系统用户的信息。
接收客户端设备110B经由显示设备115呈现420来自在线系统140的视频数据,允许发送客户端设备110A向接收客户端设备110B提供用于呈现的视频数据。在一些实施例中来自在线系统140的标识在线系统140的用户的信息由接收客户端设备110B结合视频数据来呈现。在各种实施例中,观看用户可以在所呈现的视频数据中选择感兴趣对象。例如,观看用户从标识由接收客户端设备110B结合视频数据呈现的在线系统140的用户的信息中选择标识感兴趣的用户的信息,并且接收客户端设备110B将标识感兴趣对象的信息作为用户传送给在线系统140。观看用户可以从描述被包括在视频数据中的用户、且由接收客户端设备110B连同视频数据一起呈现的信息中选择标识感兴趣的用户的信息。替代地,观看用户选择所呈现的视频数据中包括人的部分,并且接收客户端设备110B向在线系统140标识所呈现的视频数据的被选择部分,在线系统140将视频数据的被选择部分的内容与存储的与用户相关联的面部或身体的图像(例如,被包括在用户简档中的图像、由在线系统140维护的其中各种用户被标识的图像)进行比较,并且将与和视频的被选择部分的内容匹配的一个或更多个存储图像相关联的用户识别为感兴趣的用户。
如果观看用户经由接收客户端设备110B识别出感兴趣对象,则接收客户端设备110B将标识感兴趣对象的信息传送到在线系统140,在线系统140将标识感兴趣对象的信息传送到发送客户端设备110A。基于标识感兴趣对象的信息和包括在由图像捕获设备117捕获405的视频数据中的对象的特征,发送客户端设备110B的控制器210修改捕获的视频数据或发送客户端设备110A的图像捕获设备117的参数,以更显著地呈现感兴趣对象。可以在关于可以如何改变捕获的视频的通知被显示在客户端设备110A上以供被捕获的用户查看和授权之后和/或基于参照控制接收客户端设备110B的预授权人员的列表(例如,通过隐私设置)对这样的改变的预授权来进行修改。修改可以包括修改图像捕获设备117的参数,以增加视频数据中包括感兴趣对象的部分的放大率,或者移除视频数据中不包括感兴趣对象的部分。在各种实施例中,发送客户端设备110A的控制器210将一个或更多个上面进一步描述的模型应用于捕获的视频数据,来修改捕获的视频数据,以更显著地呈现感兴趣对象。用于显著地呈现感兴趣对象的修改后的视频数据从发送客户端设备110A被传送410到在线系统140,在线系统140将显著地呈现感兴趣对象的视频数据传送415到接收客户端设备110B,接收客户端设备110B将修改后的视频数据呈现420给观看用户。
当接收客户端设备110B呈现420视频数据时,接收客户端设备110B向在线系统140传送425一个或更多个视频呈现设置,在线系统140向发送客户端设备110A传送430一个或更多个视频呈现设置。例如,接收客户端设备110B的视频呈现设置是指示接收客户端设备110B的显示设备115是处于横向定向还是纵向定向的值。作为另一个示例,接收客户端设备110B的视频呈现设置标识由接收客户端设备110B呈现420的视频数据的不同部分的亮度值。在另一示例中,接收客户端设备的视频呈现设置指定了所呈现的视频数据的放大率(或缩放)设置。作为另一个示例,接收客户端设备110B提取所呈现的视频数据的一组帧,并且视频呈现设置包括所提取的一组帧。然而,在各种实施例中,接收客户端设备110B包括任何合适的信息作为一个或更多个视频呈现设置。在各种实施例中,接收客户端设备110B不向在线系统140传送430一个或更多个视频呈现设置,除非观看用户明确授权客户端设备110B传送430一个或更多个视频呈现设置(例如,经由为观看用户存储的隐私设置或经由从观看用户接收明确授权);此外,为观看用户维护的一个或更多个隐私设置可以列举接收客户端设备110B被授权传送425的特定视频呈现设置,允许观看用户调节由接收客户端设备传送425的视频呈现设置。
在线系统140从接收客户端设备110B接收一个或更多个视频呈现设置,并将接收客户端设备110B的一个或更多个视频呈现设置连同接收客户端设备110B的观看用户的标识符或接收客户端设备110B的标识符传送430到发送客户端设备110A。如上面进一步描述的,发送客户端设备110B将一个或更多个模型应用435于视频数据。如上面进一步描述的,一个或更多个模型的应用识别由发送客户端设备110A的图像捕获设备117捕获405的视频数据中包括的对象或人。发送客户端设备110A随后将接收客户端设备110B的视频呈现设置与一个或更多个模型对捕获的视频数据的应用435的结果进行比较,并基于该比较生成440对接收客户端设备110B的一个或更多个视频呈现设置的建议的修改。由于发送客户端设备110A具有捕获110A视频数据的环境的更完整的信息,而接收客户端设备110B接收关于捕获的视频数据的较有限的信息,所以发送客户端设备110A能够确定更准确地呈现捕获的视频数据的视频呈现设置。例如,当生成440对接收客户端设备110B的一个或更多个视频呈现设置的建议的修改时,发送客户端设备110B利用来自发送客户端设备110B的其他部件的数据(例如,由音频捕获设备捕获的音频数据)以及附加的捕获的视频数据来增强应用于捕获的视频数据的一个或更多个模型。
例如,基于一个或更多个模型应用435于捕获的视频数据,发送客户端设备110B识别捕获的视频数据中的对象或人,并确定识别的对象或人的纵横比。发送客户端设备110B将所确定的纵横比与由接收客户端设备110B的视频呈现设置指定的接收客户端设备110B的显示设备115的纵横比进行比较,该视频呈现设置指示接收客户端设备110B的显示设备115是处于横向定向还是纵向定向。响应于至少阈值数量的对象或人的纵横比与接收客户端设备110B的显示设备115的纵横比相差超过阈值量,发送客户端设备110A生成440对接收客户端设备110B的视频呈现设置的建议的修改,以改变接收客户端设备110B的显示设备115的定向(即,将接收客户端设备110B的显示设备115从横向定向重新定向到纵向定向,或者将接收客户端设备110B的显示设备115从横向定向重新定向到纵向定向)。如果接收客户端设备110B的观看用户已经在捕获的视频数据中识别出感兴趣对象,则发送客户端设备110B将感兴趣对象的纵横比与接收客户端设备110B的显示设备115的纵横比进行比较,接收客户端设备110B的显示设备115的纵横比由接收客户端设备110B的视频呈现设置指定,指示接收客户端设备110B的显示设备115是处于横向定向还是纵向定向;响应于确定感兴趣对象的纵横比与接收客户端设备110B的显示设备115的纵横比相差大于阈值量,发送客户端设备110B生成440改变接收客户端设备110B的显示设备115的定向的建议的修改。因此,基于在捕获的视频数据中识别的对象的纵横比与接收客户端设备110B的显示设备115的纵横比的比较,发送客户端设备110A生成440通过将接收客户端设备110B的显示设备115从接收客户端设备110B的显示设备115的当前定向旋转90度来修改接收客户端设备110B的视频呈现设置的建议。
在另一示例中,发送客户端设备110B将标识由接收客户端设备110B呈现420的视频数据的不同部分的亮度值的一个或更多个视频呈现设置与由发送客户端设备110A捕获405的视频数据的相应部分的亮度值进行比较。响应于由发送客户端设备110A捕获405的视频数据的包括对象或人的部分的亮度值与由接收客户端设备110B呈现420的视频数据的相应部分的亮度值相差大于阈值差,发送客户端设备110A生成440对接收客户端设备110B的视频呈现设置的建议的修改,以改变接收客户端设备110B的一个或更多个亮度设置。作为另一个示例,发送客户端设备110B将标识由接收客户端设备110B呈现420的视频数据的放大率的一个或更多个视频呈现设置与由发送客户端设备110A捕获405的视频数据中识别的对象或人进行比较。如果前述比较确定由发送客户端设备110B捕获405的视频数据中识别的一个或更多个对象或人(或阈值数量的对象或人)未在由接收客户端设备110B呈现420的视频数据中示出,则发送客户端设备110A生成440对接收客户端设备110B的视频设置的建议的修改,该建议的修改推荐减小由接收客户端设备110B呈现420的视频数据的放大率。类似地,如果前述比较确定由发送客户端设备110B捕获405的视频数据中识别的一个或更多个对象或人(或阈值数量的对象或人)在由接收客户端设备110B呈现420的视频数据中在接收客户端设备11B的显示设备115的边界的阈值距离内,则发送客户端设备110A生成440对接收客户端设备110B的视频呈现设置的建议的修改,该建议的修改推荐减小由接收客户端设备110B呈现420的视频数据的放大率。如果已经向发送客户端设备110B标识出所捕获的视频数据中的感兴趣对象,则响应于确定感兴趣对象在接收客户端设备110B的显示设备115的边界的阈值距离内,或者响应于确定感兴趣对象不包括在由接收客户端设备110B呈现420的视频数据中,发送客户端设备生成440对由接收客户端设备110B呈现的视频数据的放大率的建议的修改。
在一些实施例中,对接收客户端设备110B的视频呈现设置的建议的修改提示观看用户向发送客户端设备110A传达指令,以重新定位发送客户端设备110A的图像捕获设备117,从而修改由发送客户端设备110A捕获405的视频数据。例如,基于一个或更多个模型对捕获的视频数据的应用435和接收客户端设备110A的视频呈现设置,发送客户端设备110B识别捕获的视频数据中的对象或人,并确定一个或更多个对象或人不包括在由接收客户端设备110B呈现420的视频数据中。随后,发送客户端设备110A生成440对接收客户端设备110B的视频呈现设置的建议的修改,该建议的修改标识如下指令:该指令供观看用户提供给接收客户端设备110B用于经由在线系统140(或直接)传送到发送客户端设备110A,以重新定位发送客户端设备110A的图像捕获设备117,从而包括一个或更多个对象或人。类似地,发送客户端设备110A生成440对接收客户端设备110B的视频呈现设置的建议的修改,该建议的修改标识如下指令:该指令供接收客户端设备110B提供给接收客户端设备110B用于经由在线系统140(或直接)传送到发送客户端设备110A,以改变发送客户端设备110A的图像捕获设备117的放大率,从而包括一个或更多个对象或人。
发送客户端设备110B生成445包括提示的消息,该提示标识对接收客户端设备110B的视频呈现设置的一个或更多个建议的修改,并将该消息传送450到在线系统140。随后,在线系统140向接收客户端设备110B传送455该消息,接收客户端设备110B向观看用户呈现460该消息。在各种实施例中,在线系统140经由任何合适的通信渠道向接收客户端设备110B传送455消息。例如,在线系统140将消息作为推送通知消息传送455,当被接收时,接收客户端设备110B通过其显示设备115呈现该消息。在其他实施例中,在线系统140将消息作为电子邮件、文本消息或任何其他合适的格式传送455。或者,发送客户端设备110B直接向接收客户端设备110B传送450包括标识对接收客户端设备110B的视频呈现设置的一个或更多个建议的修改的提示的消息(即,不将消息传送到在线系统140)。在一些实施例中,响应于确定发送客户端设备110A缺少描述接收客户端设备110B的视频呈现的一个或更多个视频呈现设置,发送客户端设备110A传送455该消息,允许接收客户端设备110B的观看用户与接收客户端设备110B交互,以基于来自发送客户端设备110A的消息修改视频数据的呈现。
消息中包括的提示包括如何对接收客户端设备110B的视频呈现设置执行一个或更多个建议的修改的描述,允许观看用户通过与接收客户端设备110B交互来执行一个或更多个建议的修改。例如,对接收客户端设备110B的视频呈现设置的建议的修改是改变接收客户端设备110B的显示设备115的定向,因此消息中包括的提示包括指示观看用户将接收客户端设备110B旋转(或将接收客户端设备110B的显示设备115旋转)90度的文本、图像、音频或视频。在另一示例中,对接收客户端设备110B的视频呈现设置的建议的修改是对所呈现的视频数据的放大率的改变,因此消息提示包括对增加或减少所呈现的视频数据的放大率的描述。消息可以包括为了实现建议的修改供观看用户对视频呈现设置执行的特定值,或者可以包括为了实现对视频呈现设置的建议的修改供观看用户执行的视频呈现设置的值从当前值的相对变化的描述(例如,增加视频呈现设置的建议或减少视频呈现设置的建议)。
在各种实施例中,发送客户端设备110B是与接收客户端设备110A不同类型的设备。例如,接收客户端设备110B是移动设备,而发送客户端设备110A是另一种类型的计算设备。在各种实施例中,发送客户端设备110A相对于接收客户端设备110B具有增加的计算资源量,因此以上结合图4描述的方法利用发送客户端设备110A的增加的计算资源来提供对接收客户端设备110B的视频呈现设置的推荐的修改,以更好地呈现由发送客户端设备110A捕获并提供给接收客户端设备110B用于呈现的视频数据。
虽然图4描述了一种实现,其中发送客户端设备110A将一个或更多个模型应用435于视频数据以识别包括在视频数据中的对象或人,并将接收客户端设备110B的视频呈现设置与一个或更多个模型应用435于捕获的视频数据的结果进行比较,以根据比较生成440对接收客户端设备110B的一个或更多个视频呈现设置的建议的修改,但在其他实施例中,在线系统140将一个或更多个模型应用于从发送客户端设备110A接收的视频数据。随后,在线系统140将接收客户端设备110的视频呈现设置与在线系统140对模型的应用435的结果进行比较。基于该比较,在线系统140生成440对接收客户端设备110B的一个或更多个视频呈现设置的建议的修改,该建议的修改被传送455到接收客户端设备110B,如上面进一步描述的。
在替代实施例中,接收客户端设备110B不向发送客户端设备110A传送一个或更多个视频呈现设置。在这样的实施例中,发送客户端设备110A将一个或更多个模型应用435于捕获的视频数据,以识别视频数据中包括的对象或人,如上面进一步描述的,并且基于一个或更多个模型的应用为视频数据生成优选视频呈现设置。发送客户端设备110A将捕获的视频数据连同描述优选视频呈现设置的信息一起传送410到在线系统140,在线系统140将捕获的视频数据和描述优选视频呈现设置的信息传送415到接收客户端设备110B(或者将捕获的视频数据和描述优选视频呈现设置的信息直接传送到接收客户端设备110B)。在一些实施例中,接收客户端设备110B生成标识优选视频呈现设置的提示并呈现该提示以及视频数据,允许观看用户与接收客户端设备110B交互以配置接收客户端设备110B的视频呈现设置。在其他实施例中,接收客户端设备110B修改一个或更多个视频呈现设置以匹配优选视频呈现设置。如果一个或更多个优选视频呈现设置与接收客户端设备110B不兼容,则接收客户端设备110B向发送客户端设备110A传送描述不兼容视频呈现设置的消息(或向在线系统140传送,从而传送到发送客户端设备110A)。
或者,发送客户端设备110A(或在线系统140)将一个或更多个模型应用435于由发送客户端设备110A捕获405的视频数据,以识别视频数据中包括的对象或人。发送客户端设备110A将元数据与标识视频数据中包括的对象或人的位置或来自一个或更多个模型的应用的其他结果的捕获的视频数据相关联,并且将捕获的视频数据和相关联的元数据传送410到在线系统140,用于传送到接收客户端设备110B(或直接传送到接收客户端设备110B)。基于与视频数据相关联的元数据和接收客户端设备110B的特性,接收客户端设备110B生成用于呈现420视频数据的优选视频呈现设置。在一些实施例中,接收客户端设备110B生成标识优选视频呈现设置的提示并呈现该提示以及视频数据,允许观看用户与接收客户端设备110B交互以配置接收客户端设备110B的视频呈现设置。在其他实施例中,接收客户端设备110B修改一个或更多个视频呈现设置以匹配优选视频呈现设置。
结论
为了说明的目的提出了实施例的前述描述;它并不旨在是无遗漏的或将专利权利限制到所公开的精确形式。相关领域中的技术人员可以认识到,按照上面的公开,许多修改和变化是可能的。
本描述的一些部分从对信息的操作的算法和符号表示方面描述了实施例。这些算法描述和表示通常被数据处理领域的技术人员用来向本领域的其他技术人员有效地传达他们工作的实质。虽然在功能上、计算上或逻辑上对这些操作进行了描述,但这些操作应被理解为由计算机程序或等效电路、微代码等来实现。此外,将操作的这些布置称为模块有时候也被证明是方便的而不失一般性。所描述的操作和它们的相关模块可以体现在软件、固件、硬件或其任何组合中。
可以利用一个或更多个硬件或软件模块单独地或与其他设备组合地来执行或实现本文描述的任何步骤、操作或过程。在一个实施例中,利用包括包含计算机程序代码的计算机可读介质的计算机程序产品来实现软件模块,计算机程序代码可以由计算机处理器执行,用于执行所描述的任何或全部步骤、操作或过程。
实施例也可以涉及用于执行本文的操作的装置。该装置可以被特别构造成用于所需的目的,和/或它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这种计算机程序可以存储在非暂时性的、有形的计算机可读存储介质、或者适于存储电子指令的任何类型的介质中,这些介质可以耦合到计算机系统总线。此外,说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的体系结构。
实施例也可以涉及由本文所述的计算过程产生的产品。这样的产品可以包括由计算过程产生的信息,其中信息被存储在非暂时性的、有形的计算机可读介质上且可以包括计算机程序产品或本文所述的其他数据组合的任何实施例。
最后,在说明书中使用的语言主要为了可读性和指导目的而被选择,并且它可以不被选择来描绘或限制专利权利。因此,意图是本专利权利的范围不受该详细描述限制,而是受在基于此的申请上所发布的任何权利要求限制。因此,实施方案的公开内容意图对本专利权利的范围是说明性的,而不是限制性的,在所附的权利要求中阐述了本专利权利的范围。

Claims (14)

1.一种方法,包括:
捕获包括在发送客户端设备中的图像捕获设备的视场内的局部区域的视频数据,所述视频数据包括所述图像捕获设备的视场中的一个或更多个对象;
将所述视频数据从所述发送客户端设备传送到接收客户端设备;
在所述发送客户端设备处接收所述接收客户端设备的一个或更多个视频呈现设置,所述接收客户端设备从在线系统接收捕获的视频数据;
将由所述发送客户端设备维护的一个或更多个模型应用于所述捕获的视频数据的特征;
在所述发送客户端设备处,基于由所述发送客户端设备维护的所述一个或更多个模型对所述捕获的视频数据的特征的应用和所接收的所述接收客户端设备的一个或更多个视频呈现设置,生成对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改;
在所述发送客户端设备处生成包括提示的消息,所述提示描述了对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改;和
将包括描述所述建议的修改的提示的消息从所述发送客户端设备传送到所述接收客户端设备。
2.根据权利要求1所述的方法,其中,将由所述发送客户端设备维护的一个或更多个模型应用于所述捕获的视频数据的特征包括:
识别所述捕获的视频数据中包括的对象;和
确定所述捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比。
3.根据权利要求2所述的方法,其中,在所述发送客户端设备处,基于由所述发送客户端设备维护的所述一个或更多个模型对所述捕获的视频数据的特征的应用和所接收的所述接收客户端设备的一个或更多个视频呈现设置,生成对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改包括:
从所述接收客户端设备的一个或更多个视频呈现设置中获得所述接收客户端设备的显示设备的纵横比;
响应于确定所述接收客户端设备的显示设备的纵横比与所述捕获的视频数据中包括的至少阈值量的所述识别的对象的纵横比相差大于阈值量,生成对所述接收客户端设备的显示设备的定向的建议的修改。
4.根据权利要求3所述的方法,其中,对所述接收客户端设备的显示设备的定向的建议的修改包括所述接收客户端设备的显示设备的定向相对于所述接收客户端设备的显示设备的当前定向旋转九十度。
5.根据权利要求2所述的方法,其中,确定所述捕获的视频数据中包括的识别的对象中的一个或更多个的纵横比包括:
确定从所述识别的对象中选择的感兴趣对象的纵横比,所述感兴趣对象根据由所述发送客户端设备从所述在线系统接收的信息来识别。
6.根据权利要求5所述的方法,其中,在所述发送客户端设备处,基于由所述发送客户端设备维护的所述一个或更多个模型对所述捕获的视频数据的特征的应用和所接收的所述接收客户端设备的一个或更多个视频呈现设置,生成对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改包括:
从所述接收客户端设备的一个或更多个视频呈现设置中获得所述接收客户端设备的显示设备的纵横比;
响应于确定所述接收客户端设备的显示设备的纵横比与所述感兴趣对象的纵横比相差大于阈值量,生成对所述接收客户端设备的显示设备的定向的建议的修改。
7.根据权利要求1所述的方法,其中,所述消息中包括的描述所选修改的提示包括用于经由所述接收客户端设备执行所述修改的指令。
8.根据权利要求1所述的方法,其中,所述接收客户端设备包括移动设备。
9.根据权利要求1所述的方法,其中,在所述发送客户端设备处,基于由所述发送客户端设备维护的所述一个或更多个模型对所述捕获的视频数据的特征的应用和所接收的所述接收客户端设备的一个或更多个视频呈现设置,生成对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改包括:
从所述接收客户端设备的一个或更多个视频呈现设置中获得由所述接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由所述接收客户端设备的显示设备呈现的视频数据的放大率妨碍了所述捕获的视频数据中包括的识别的对象中的一个或更多个被所述接收客户端设备的显示设备呈现,生成标识对由所述接收客户端设备的显示设备呈现的视频数据的放大率的改变的建议的修改。
10.根据权利要求1所述的方法,其中,在所述发送客户端设备处,基于由所述发送客户端设备维护的所述一个或更多个模型对所述捕获的视频数据的特征的应用和所接收的所述接收客户端设备的一个或更多个视频呈现设置,生成对所述接收客户端设备的一个或更多个视频呈现设置的建议的修改包括:
从所述接收客户端设备的一个或更多个视频呈现设置中获得由所述接收客户端设备的显示设备呈现的视频数据的放大率;
响应于确定由所述接收客户端设备的显示设备呈现的视频数据的放大率使得包括在所述捕获的视频数据中并由所述接收客户端设备识别的感兴趣对象的呈现被呈现在所述接收客户端设备的显示设备的边界的阈值距离内,生成改变由所述接收客户端设备的显示设备呈现的视频数据的放大率的建议的修改。
11.一种计算机程序产品,包括其上编码有指令的计算机可读存储介质,当由处理器执行时,所述指令使得所述处理器执行权利要求1至10中任一项所述的方法。
12.一种提供指令的计算机程序产品,当由处理器执行时,所述指令使得所述处理器执行权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其上编码有指令,当由处理器执行时,所述指令使得所述处理器执行权利要求1至10中任一项所述的方法。
14.一种系统,包括:
一个或更多个客户端设备,
网络,
一个或更多个第三方系统,
在线系统,以及
耦合到所述一个或更多个客户端设备中的至少一个的控制器,所述系统被配置成执行根据本发明的方法。
CN201980065662.8A 2018-10-05 2019-10-03 基于捕获视频数据的另一客户端设备对视频数据的分析修改由接收客户端设备对视频数据的呈现 Active CN112806021B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/153,667 US10848687B2 (en) 2018-10-05 2018-10-05 Modifying presentation of video data by a receiving client device based on analysis of the video data by another client device capturing the video data
US16/153,667 2018-10-05
PCT/US2019/054434 WO2020072738A1 (en) 2018-10-05 2019-10-03 Modifying presentation of video data by a receiving client device based on analysis of the video data by another client device capturing the video data

Publications (2)

Publication Number Publication Date
CN112806021A true CN112806021A (zh) 2021-05-14
CN112806021B CN112806021B (zh) 2023-04-04

Family

ID=68343448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980065662.8A Active CN112806021B (zh) 2018-10-05 2019-10-03 基于捕获视频数据的另一客户端设备对视频数据的分析修改由接收客户端设备对视频数据的呈现

Country Status (4)

Country Link
US (1) US10848687B2 (zh)
EP (1) EP3861758A1 (zh)
CN (1) CN112806021B (zh)
WO (1) WO2020072738A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189660A (zh) * 2021-12-24 2022-03-15 威艾特科技(深圳)有限公司 一种基于全向摄像头的监控方法及其系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230071585A1 (en) * 2021-08-25 2023-03-09 Nahum Nir Video compression and streaming

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630367A (zh) * 2003-11-14 2005-06-22 微软公司 受控不成比例缩放显示
EP2988517A1 (en) * 2014-08-21 2016-02-24 Facebook, Inc. Systems and methods for recipient-side image processing
CN105637472A (zh) * 2013-10-11 2016-06-01 华为技术有限公司 具有广义屏幕描述的屏幕内容共享系统的框架
US20180097866A1 (en) * 2016-10-01 2018-04-05 Facebook, Inc. Architecture for augmenting video data obtained by a client device with one or more effects during rendering

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619111B2 (en) * 2009-03-20 2013-12-31 Georgia Tech Research Corporation Methods and apparatuses for using a mobile device to provide remote assistance
JP5683144B2 (ja) * 2010-06-23 2015-03-11 キヤノン株式会社 送信装置、送信方法、プログラム
JP5980222B2 (ja) 2012-03-15 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America コンテンツ処理装置、コンテンツ処理方法およびプログラム
US20160365114A1 (en) * 2015-06-11 2016-12-15 Yaron Galant Video editing system and method using machine learning
US20180330169A1 (en) * 2017-05-12 2018-11-15 Google Inc. Methods and Systems for Presenting Image Data for Detected Regions of Interest

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1630367A (zh) * 2003-11-14 2005-06-22 微软公司 受控不成比例缩放显示
CN105637472A (zh) * 2013-10-11 2016-06-01 华为技术有限公司 具有广义屏幕描述的屏幕内容共享系统的框架
EP2988517A1 (en) * 2014-08-21 2016-02-24 Facebook, Inc. Systems and methods for recipient-side image processing
US20180097866A1 (en) * 2016-10-01 2018-04-05 Facebook, Inc. Architecture for augmenting video data obtained by a client device with one or more effects during rendering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189660A (zh) * 2021-12-24 2022-03-15 威艾特科技(深圳)有限公司 一种基于全向摄像头的监控方法及其系统

Also Published As

Publication number Publication date
CN112806021B (zh) 2023-04-04
US20200112690A1 (en) 2020-04-09
WO2020072738A1 (en) 2020-04-09
US10848687B2 (en) 2020-11-24
EP3861758A1 (en) 2021-08-11

Similar Documents

Publication Publication Date Title
US10971158B1 (en) Designating assistants in multi-assistant environment based on identified wake word received from a user
US11438644B1 (en) Synchronizing presentation of content presented by multiple client devices
US11558543B2 (en) Modifying capture of video data by an image capture device based on video data previously captured by the image capture device
US10873697B1 (en) Identifying regions of interest in captured video data objects by detecting movement within higher resolution frames of the regions
US10805521B2 (en) Modifying capture of video data by an image capture device based on video data previously captured by the image capture device
CN111316656B (zh) 一种计算机实现的方法及存储介质
US11418827B2 (en) Generating a feed of content for presentation by a client device to users identified in video data captured by the client device
US10666857B2 (en) Modifying capture of video data by an image capture device based on video data previously captured by the image capture device
US10757347B1 (en) Modifying display of an overlay on video data based on locations of regions of interest within the video data
CN112806021B (zh) 基于捕获视频数据的另一客户端设备对视频数据的分析修改由接收客户端设备对视频数据的呈现
US10721394B1 (en) Gesture activation for an image capture device
US10915776B2 (en) Modifying capture of video data by an image capture device based on identifying an object of interest within capturted video data to the image capture device
US11381533B1 (en) Intelligent determination of whether to initiate a communication session for a user based on proximity to client device
US10812616B2 (en) Transferring an exchange of content to a receiving client device from a client device authorized to transfer a content exchange to the receiving client device
US11444943B1 (en) Exchange content between client devices when a client device determines a user is within a field of view of an image capture device of the client device and authorized to exchange content
US11100330B1 (en) Presenting messages to a user when a client device determines the user is within a field of view of an image capture device of the client device

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.

GR01 Patent grant
GR01 Patent grant