KR20200143435A - 서술적 모델들에 기초한 자동화된 결정들 - Google Patents

서술적 모델들에 기초한 자동화된 결정들 Download PDF

Info

Publication number
KR20200143435A
KR20200143435A KR1020207032417A KR20207032417A KR20200143435A KR 20200143435 A KR20200143435 A KR 20200143435A KR 1020207032417 A KR1020207032417 A KR 1020207032417A KR 20207032417 A KR20207032417 A KR 20207032417A KR 20200143435 A KR20200143435 A KR 20200143435A
Authority
KR
South Korea
Prior art keywords
environment
person
video communication
communication session
user
Prior art date
Application number
KR1020207032417A
Other languages
English (en)
Other versions
KR102630902B1 (ko
Inventor
제이슨 프란시스 해리슨
에릭 더블유. 황
라훌 날라모쑤
샤히드 라짜크
Original Assignee
페이스북, 인크.
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 페이스북, 인크. filed Critical 페이스북, 인크.
Publication of KR20200143435A publication Critical patent/KR20200143435A/ko
Application granted granted Critical
Publication of KR102630902B1 publication Critical patent/KR102630902B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/155Conference systems involving storage of or access to video conference sessions
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • H04N21/45455Input to filtering algorithms, e.g. filtering a region of the image applied to a region of the image
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • H04N5/23219
    • H04N5/23222
    • H04N5/23296
    • 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
    • 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
    • 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/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/406Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Otolaryngology (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

하나의 실시예에서, 방법은 하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하는 단계를 포함한다. 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함한다. 입력 데이터에 기초하여, (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 환경 내부에 있는 한 명 이상의 사람들, 또는 (3) 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성한다. 방법은 또한, 하나 이상의 서술적 특성들에 기초하는 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하는 단계; 및 하나 이상의 카메라들 및 하나 이상의 마이크들과 연관된 컴퓨팅 장치로 하나 이상의 명령들을 전송하는 단계를 포함한다.

Description

서술적 모델들에 기초한 자동화된 결정들
우선권
본 출원은 35 U.S.C. § 119(e) 하에서, 2018년 10월 5일에 출원된 미국 특허 출원 번호 제 16/153,613 호 및 2018년 4월 10일에 출원된 미국 가 특허 출원 번호 제 62/655,751 호의 이득을 주장하고, 이는 본 명세서에 참조로써 통합된다.
본 발명은 일반적으로 화상 회의에 관한 것이다.
소셜 네트워킹 웹사이트를 포함할 수 있는 소셜 네트워킹 시스템은 그 이용자들(사람들 또는 조직들과 같은)이 그것과 상호작용하게 할 수 있고 그것을 통해 서로 상호작용하는 것을 가능하게 할 수 있다. 소셜 네트워킹 시스템은 이용자로부터의 입력으로, 소셜 네트워킹 시스템에서 이용자와 연관된 이용자 프로파일(user profile)을 생성하고 저장할 수 있다. 이용자 프로파일은 이용자가 입력한 정보를 포함할 수 있다. 정보는 이용자의 프라이버시 설정들에 의존하여 공개 또는 비공개일 수 있고, 인구 통계학적 정보, 통신 채널 정보, 및 이용자의 개인적인 관심사들에 관한 정보를 포함할 수 있다. 소셜 네트워킹 시스템은 또한, 이용자들 사이에 또는 이용자들 사이의 사회적 상호작용을 용이하게 하기 위해 이용자로부터의 입력 및 허가로, 소셜 네트워킹 시스템의 다른 이용자들과의 이용자의 관계들의 기록을 생성하고 저장할 뿐만 아니라, 서비스들(예로서, 월 게시물(wall post)들, 사진 공유, 이벤트 구성, 메시징, 게임들, 또는 광고들)을 제공할 수 있다.
소셜 네트워킹 시스템은 하나 이상의 네트워크 콘텐트 또는 그것의 서비스들과 연관된 메시지들을 이용자의 모바일 또는 다른 컴퓨팅 장치에 전송할 수 있다. 이용자는 또한, 소셜 네트워킹 시스템 내의 이용자의 이용자 프로파일 및 다른 데이터에 액세스하기 위해 이용자의 모바일 또는 다른 컴퓨팅 장치에 소프트웨어 애플리케이션들을 설치할 수 있다. 소셜 네트워킹 시스템은 이용자에 연결된 다른 이용자들의 집계된 스토리들의 뉴스피드(newsfeed)와 같은, 이용자에게 디스플레이할 개인화된 세트의 콘텐트 객체들을 생성할 수 있다.
스마트폰, 태블릿 컴퓨터, 또는 랩톱 컴퓨터와 같은 - 모바일 컴퓨팅 장치는 - GPS 수신기, 나침반, 자이로스코프, 또는 가속도계와 같은, 그것의 위치, 방향, 또는 방위를 결정하기 위한 기능을 포함할 수 있다. 이러한 장치는 또한, 블루투스 통신, 근거리 무선통신(near-field communication; NFC), 또는 적외선(IR) 통신 또는 무선 근거리 통신망들(WLANs) 또는 셀룰러 전화 네트워크와의 통신과 같은, 무선 통신을 위한 기능을 포함할 수 있다. 이러한 장치는 또한, 하나 이상의 카메라들, 스캐너들, 터치스크린들, 마이크들, 또는 스피커들을 포함할 수 있다. 모바일 컴퓨팅 장치들은 또한, 게임들, 웹 브라우저들, 또는 소셜 네트워킹 애플리케이션들과 같은, 소프트웨어 애플리케이션들을 실행할 수 있다. 소셜 네트워킹 애플리케이션들로, 이용자들은 그들의 소셜 네트워크들에서 다른 이용자들과 연결, 통신, 및 정보를 공유할 수 있다.
지능형 통신 장치는 실시간 또는 비디오 채팅들 또는 미리 기록된 오디오/시각 프레젠테이션들과 같은, 오디오/시각 통신들을 위해 이용될 수 있다. 지능형 통신 장치는 이용자의 집이나 사무실에 상주하는 전용 통신 장치일 수 있다. 지능형 통신 장치는 터치에 민감한 디스플레이 스크린, 스피커들, 하나 이상의 카메라들, 및 하나 이상의 마이크들을 가질 수 있다. 장치는 장치의 소유자 및 장치의 시야 내에 있는 각각의 이용자에 의해 명시된 프라이버시 설정들에 따라 이용자 정보에 액세스할 수 있다. 예를 들면, 장치 소유자는 어떤 상황들 하에서도 장치가 소셜 네트워킹 시스템에 의해 저장되는 어느 누구에 관한 정보에 액세스할 수 없도록 명시할 수 있다. 이 시나리오에서, 장치는 임의의 유형의 이용자 정보와 관련하여 원격 서버들과 통신하지 않을 것이다. 또 다른 예로서, 장치 소유자는 장치가 이용자의 경험을 증진하기 위해 소셜 네트워킹 시스템에 의해 저장된 정보에 액세스할 수 있음을 명시할 수 있다(하기에서 논의될 바와 같이). 이 시나리오에서, 장치는 장치 소유자의 소셜 네트워킹 데이터와 관련하여 소셜 네트워킹 시스템과 통신할 수 있지만, 장치는 다른 이용자의 소셜 네트워킹 데이터에 액세스하기 위한 허가를 계속 확인할 것이다. 예를 들면, 장치 소유자가 소셜 네트워킹 데이터 액세스에 참여했지만, 장치 소유자의 친구가 옵트 인(opt in)하지 않았으면, 장치는 친구의 소셜 네트워킹 데이터에 액세스하지 않을 것이다.
지능형 통신 장치는 그것이 인간이 행할 영화적 결정들을 모방하는 자동화된 영화적 결정들을 행하는 것을 가능하게 하는 내부 프로세싱을 가질 수 있다. 이러한 영화적 결정들은 인간 디렉터가 카메라(들) 및 마이크(들)을 제어하는 경우(예로서, 영화적 컷들을 생성함)에 그녀가 행할 임의의 선택, 뿐만 아니라 비디오 편집자에 의해 이용가능할 수 있는 임의의 결정(예로서, 즉석에서 시각적 효과들을 적용하도록 선택함)을 포함할 수 있다. 이러한 선택들은 단일의 사람이 말하고 있고 그녀가 장치가 자신을 줌인하는 것을 허용함을 명시한 경우(예로서, 소셜 네트워킹 시스템과 연관된 프라이버시 설정 인터페이스에서) 그 사람에 대한 줌인, 또 다른 사람에 대한 패닝(panning) 또는 자르기, 활동이 많은 장면에 대한 축소, 장치 소유자 및 음원(들)이 이러한 기능을 허용하는 경우에 특정한 음원에 대해 마이크를 빔포밍(beamforming)하고, 다른 적합한 결정들을 포함할 수 있다. 이러한 결정들을 행하기 위해, 지능형 디렉터는 2명 이상의 이용자들 사이에서 현재 오디오-비주얼 통신 세션("AV 통신 세션")의 서술적 모델에 액세스할 수 있다. 지능형 디렉터는 지능형 통신 장치에 상주할 수 있거나 그것은 원격 서버에 상주할 수 있다. 서술적 모델은 장치 소유자들 및 관련 이용자들의 각각의 프라이버시 설정들에 따라, (1) 전송 지능형 통신 장치가 위치되는 환경과 관련된 비 식별 정보; (2) 전송 장치의 환경에 위치된 한 명 이상의 사람들; (3) 수신자의 지능형 통신 장치가 위치되는 환경과 관련된 비 식별 정보; (4) 수신자 장치의 환경에 위치된 한 명 이상의 사람들; 및 (5) 현재 오디오-비디오 통신 세션을 둘러싼 콘텍스트(context)을 포함할 수 있다. 장치가 원격 서버로부터 그 이용자에 관한 정보의 검색을 트리거링하는 경우 이용자는 관련 이용자일 수 있다. 이들 입력들 뿐만 아니라, 임의의 참여하는 이용자로부터의 다른 수동 입력들 및 캡쳐된 이용자들 중 임의의 이용자에 의한 프라이버시 설정들로부터, 지능형 디렉터는 시각적 타겟들(예로서, 특히 한명의 사람이 허용된 줌인들을 갖는 경우 그 사람의 줌인), 오디오 타겟들(예로서, 음원이 허용된 사운드 증폭을 갖는 경우 다른 음원들에 비해 특정한 음원을 증폭함), 또는 스타일(예로서, 시각적 타겟들 사이의 부드러운 전환 대 빠른 전환)과 관련된 영화적 결정들을 행할 수 있다.
특정한 실시예들에서, 오디오-비주얼 통신 세션에 참여한 장치들에 전송되는 시각적 데이터는 적어도 3개의 유형들의 시각적 프로세싱 중 하나 이상을 경험할 수 있다: (1) 배경/전경 모델링; (2) 사람 재식별; 및 (3) 중첩하는 사람들을 명확하게 함. 배경/전경 모델링은 실시간 다중 사람 2D 포즈 추정 데이터에 기초하여 인간 골격들에 대한 경계 박스를 이용하는 것 및 경계 박스들 외부의 영역들에 대해서만 배경 데이터를 수집하는 것을 포함할 수 있다. 사람의 재식별은 하나 이상의 인간 골격들을 식별하는 것 및 각각의 인간 골격에 관한 하나 이상의 서술적 특성들을 생성하는 것을 수반할 수 있다. 장치 소유자 및 관련 이용자(들)가 이 기능에 옵트 인하면, 서술적 특성들은 인간 골격에 대응하는 사람의 컬러 히스토그램, 현재 위치 및 궤적, 및 인간 골격(예로서, 엉덩이 대 어깨 비)과 연관된 비들의 세트를 포함할 수 있다. 인간 골격을 재식별할 필요가 있으면, 시스템은 인간 골격을 재식별하기 위해 서술적 특성들에 의존할 수 있다. 재식별은 장치 또는 백엔드 시스템이 인간 골격과 연관된 사람의 신원을 결정하는 실제 식별이 아닐 수 있지만, 오히려 대응하는 사람의 신원이 발견되지 않는 "골격 A"의 더 양성인 비 식별적인 식별일 수 있다. 중첩하는 사람을 명확하게 하는 것은 인간 골격들이 동일한 경계 박스를 공유하거나 경계 박스들이 중첩하는 사람을 분리하는 것을 목표로 한다. 그것은 무엇보다도, 각각의 사람의 얼굴을 설정된 안면 구조에 매핑하는 것 및 매핑에 기초하여 "인간 트리(human tree)"를 구축하는 것을 수반한다. 이들 및 다른 실시예들은 하기에 더 상세하게 설명될 것이다.
본 명세서에 개시된 실시예들은 단지 예들이고, 본 발명의 범위는 그것들에 제한되지 않는다. 특정한 실시예들은 상기 개시된 실시예들의 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들의 전부, 일부를 포함할 수 있거나, 그들 중 어느 것도 포함하지 않을 수 있다. 본 발명에 따른 실시예들은 특히, 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구항들에 개시되고, 하나의 청구항 범주 예로서, 방법에 언급된 임의의 특징은 다른 청구항 범주 예로서, 시스템에서 또한 청구될 수 있다. 첨부된 청구항들의 종속성들 또는 역 참조들은 단지 공식적인 이유들로 인해 선택된다. 그러나, 임의의 이전 청구항들(특히 다중 종속성들)에 대한 고의적인 역 참조로부터 발생하는 임의의 주체가 또한 청구될 수 있어서, 청구항들과 그 특징들의 임의의 조합이 개시되게 하고 첨부된 청구항들에서 선택된 종속성들에 관계없이 청구될 수 있게 한다. 청구될 수 있는 주체는 첨부된 청구항들에서 제시된 바와 같이 특징들의 조합들 뿐만 아니라 청구항들의 특징들의 임의의 다른 조합을 포함하고, 청구항들에 언급된 각각의 특징은 청구항들의 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 또한, 본 명세서에서 설명되거나 묘사된 실시예들 및 특징들 중 임의의 것은 별개의 청구항에서 및/또는 본 명세서에서 설명되거나 묘사된 임의의 실시예 또는 특징과 또는 첨부된 청구항들의 특징들 중 임의의 것과의 임의의 조합으로 청구될 수 있다.
일 실시예에서, 방법은:
하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하는 단계로서, 상기 입력 소스들은 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하는, 상기 입력 데이터에 액세스하는 단계;
상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하는 단계로서, 상기 현재 오디오-비디오 통신 세션은 (1) 상기 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는, 상기 현재 서술적 모델을 생성하는 단계;
상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하는 단계; 및
상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하는 단계를 포함할 수 있다.
현재 오디오-비디오 통신 세션과 연관된 환경에 관한 하나 이상의 서술적 특성들은:
환경 내의 하나 이상의 벽들의 각각에 대한 위치;
환경 내의 하나 이상의 문들의 각각에 대한 위치;
환경의 범주; 및
환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함할 수 있다.
한 명 이상의 사람들에 관한 하나 이상의 서술적 특성들은 한 명 이상의 사람들의 각각의 사람에 대해:
현재 오디오-비디오 통신 세션과의 참여 메트릭(engagement metric); 및
사람과 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도(affinity)를 포함할 수 있다.
한 명 이상의 사람들의 각각의 사람에 대한 참여 메트릭은 사람이 말한 단어들의 수, 사람과 컴퓨팅 장치 사이의 물리적 거리, 현재 오디오-비디오 통신 시스템 동안 사람이 환경에 있었던 시간의 양, 또는 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초할 수 있다.
일 실시예에서, 방법은 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하는 단계를 포함할 수 있으며, 하나 이상의 서술적 특성들은 이력 서술적 모델에 적어도 부분적으로 기초할 수 있다.
하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르기 위한 명령들을 포함할 수 있다.
현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들은 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 현재 오디오-비디오 통신 세션의 데이터, 또는 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함할 수 있다.
일 실시예에서, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는:
하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 입력 소스들은 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하며;
입력 데이터에 기초하여, (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 환경 내의 한 명 이상의 사람들, 또는 (3) 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하며;
하나 이상의 서술적 특성들에 기초하는 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하며;
하나 이상의 카메라들 및 하나 이상의 마이크들과 연관된 컴퓨팅 장치로 하나 이상의 명령들을 전송하기 위해 실행될 때 동작가능한 소프트웨어를 구현할 수 있다.
현재 오디오-비디오 통신 세션과 연관된 환경에 관한 하나 이상의 서술적 특성들은:
환경 내의 하나 이상의 벽들의 각각에 대한 위치;
환경 내의 하나 이상의 문들(doors)의 각각에 대한 위치;
환경의 범주; 및
환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함할 수 있다.
한 명 이상의 사람들에 관한 하나 이상의 서술적 특성들은 한 명 이상의 사람들의 각각의 사람에 대해:
현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
사람과 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함할 수 있다.
한 명 이상의 사람들의 각각의 사람에 대한 참여 메트릭은 사람이 말한 단어들의 수, 사람과 컴퓨팅 장치 사이의 물리적 거리, 현재 오디오-비디오 통신 시스템 동안 사람이 환경에 있었던 시간의 양, 또는 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초할 수 있다.
일 실시예에서, 소프트웨어는 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하기 위해 실행될 때 동작가능할 수 있으며, 하나 이상의 서술적 특성들은 이력 서술적 모델에 적어도 부분적으로 기초할 수 있다.
하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르기 위한 명령들을 포함할 수 있다.
현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들은 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 현재 오디오-비디오 통신 세션의 데이터, 또는 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함할 수 있다.
일 실시예에서, 시스템은:
하나 이상의 프로세서들; 및
하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하고, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는 프로세서들 중 하나 이상에 결합되고 시스템으로 하여금:
하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 입력 소스들은 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하며;
입력 데이터에 기초하여, (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 환경 내의 한 명 이상의 사람들, 또는 (3) 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고;
하나 이상의 서술적 특성들에 기초하는 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하며;
하나 이상의 카메라들 및 하나 이상의 마이크들과 연관된 컴퓨팅 장치로 하나 이상의 명령들을 전송하도록 하기 위해 프로세서들 중 하나 이상에 의해 실행될 때 동작가능한 명령들을 포함한다.
현재 오디오-비디오 통신 세션과 연관된 환경에 관한 하나 이상의 서술적 특성들은:
환경 내의 하나 이상의 벽들의 각각에 대한 위치;
환경 내의 하나 이상의 문들의 각각에 대한 위치;
환경의 범주; 및
환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함할 수 있다.
한 명 이상의 사람들에 관한 하나 이상의 서술적 특성들은 한 명 이상의 사람들의 각각의 사람에 대해:
현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
사람과 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함할 수 있다.
한 명 이상의 사람들의 각각의 사람에 대한 참여 메트릭은 사람이 말한 단어들의 수, 사람과 컴퓨팅 장치 사이의 물리적 거리, 현재 오디오-비디오 통신 시스템 동안 사람이 환경에 있었던 시간의 양, 또는 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초할 수 있다.
일 실시예에서, 프로세서들은 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하기 위한 명령들을 실행할 때 동작가능할 수 있으며, 하나 이상의 서술적 특성들은 이력 서술적 모델에 적어도 부분적으로 기초할 수 있다.
하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르기 위한 명령들을 포함할 수 있다.
일 실시예에서, 방법은 컴퓨팅 장치에 의해:
오디오-비디오 통신 세션 동안 제 1 시간에서:
제 1 참가자가 오디오-비디오 통신 세션과 연관된 환경에 위치된다고 결정하는 단계;
제 1 참가자의 제 1 신체 영역의 위치를 찾는 단계;
제 1 신체 영역의 제 1 컬러 히스토그램을 생성하는 단계로서, 제 1 컬러 히스토그램은 제 1 신체 영역의 하나 이상의 컬러들의 제 1 분포를 표현하는, 상기 제 1 컬러 히스토그램을 생성하는 단계;
오디오-비디오 통신 동안 제 2 시간에서:
제 2 참가자가 환경에 위치된다고 결정하는 단계;
제 1 신체 영역과 동일한 제 2 참가자의 제 2 신체 영역의 위치를 찾는 단계;
제 2 신체 영역의 제 2 컬러 히스토그램을 생성하는 단계로서, 제 2 컬러 히스토그램은 제 2 신체 영역의 하나 이상의 컬러들의 제 2 분포를 표현하는, 상기 제 2 컬러 히스토그램을 생성하는 단계;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다고 결정하는 단계;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다는 결정에 기초하여, 제 1 참가자가 제 2 참가자와 동일하다고 결정하는 단계를 포함할 수 있다.
제 1 컬러 히스토그램 및 제 2 컬러 히스토그램은 각각 다수의 픽셀 버킷들을 포함할 수 있으며, 픽셀 버킷들은 컬러 값이 각각의 픽셀 버킷과 연관된 범위 내에 있는 픽셀들을 포함할 수 있다.
일 실시예에서, 방법은 제 1 참가자를 식별하는 단계 및 제 1 참가자와 연관된 소셜 그래프에 제 1 컬러 히스토그램을 저장하는 단계를 포함할 수 있다.
일 실시예에서, 방법은 제 1 참가자 및 제 2 참가자에 대한 하나 이상의 신체 비들을 결정하는 단계를 포함할 수 있으며, 신체 비들은 어깨 대 몸통 비 또는 머리 대 몸통 비를 포함하며, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 하나 이상의 신체 비들에 기초할 수 있다.
일 실시예에서, 방법은:
제 1 참가자에 대한 제 1 현재 위치 및 제 1 참가자에 대한 제 1 궤적을 결정하는 단계;
제 2 참가자에 대한 제 2 현재 위치 및 제 2 참가자에 대한 제 2 궤적을 결정하는 단계를 포함할 수 있고, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 제 1 위치, 제 1 궤적, 제 2 위치, 및 제 2 궤적에 또한 기초한다.
일 실시예에서, 방법은 제 1 궤도, 제 2 궤도, 제 1 위치, 제 2 위치, 제 1 컬러 히스토그램, 및 제 2 컬러 히스토그램에 복수의 가중치들을 할당하는 단계를 포함할 수 있으며, 복수의 가중치들 중 제 1 가중치는 복수의 가중치들 중 제 2 가중치보다 크다.
제 1 신체 영역 및 제 2 신체 영역은 몸통 영역일 수 있다.
일 실시예에서, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는:
오디오-비디오 통신 세션 동안 제 1 시간에서:
제 1 참가자가 오디오-비디오 통신 세션과 연관된 환경에 위치된다고 결정하며;
제 1 참가자의 제 1 신체 영역의 위치를 찾으며;
제 1 신체 영역의 제 1 컬러 히스토그램을 생성하고, 제 1 컬러 히스토그램은 제 1 신체 영역의 하나 이상의 컬러들의 제 1 분포를 표현하며;
오디오-비디오 통신 동안 제 2 시간에서:
제 2 참가자가 환경에 위치된다고 결정하며;
제 1 신체 영역과 동일한 제 2 참가자의 제 2 신체 영역의 위치를 찾으며;
제 2 신체 영역의 제 2 컬러 히스토그램을 생성하고, 제 2 컬러 히스토그램은 제 2 신체 영역의 하나 이상의 컬러들의 제 2 분포를 표현하며;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다고 결정하며;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다는 결정에 기초하여, 제 1 참가자가 제 2 참가자와 동일하다고 결정하기 위해 실행될 때 동작가능할 수 있는 소프트웨어를 구현할 수 있다.
제 1 컬러 히스토그램 및 제 2 컬러 히스토그램은 각각 다수의 픽셀 버킷들을 포함할 수 있으며, 픽셀 버킷들은 컬러 값이 각각의 픽셀 버킷과 연관된 범위 내에 있는 픽셀들을 포함할 수 있다.
일 실시예에서, 소프트웨어는 제 1 참가자를 식별하고 제 1 참가자와 연관된 소셜 그래프에 제 1 컬러 히스토그램을 저장하기 위해 실행될 때 동작가능할 수 있다.
일 실시예에서, 소프트웨어는 제 1 참가자 및 제 2 참가자에 대한 하나 이상의 신체 비들을 결정하기 위해 실행될 때 동작가능할 수 있고, 신체 비들은 어깨 대 몸통 비 또는 머리 대 몸통 비를 포함하며, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 하나 이상의 신체 비들에 기초할 수 있다.
일 실시예에서, 소프트웨어는:
제 1 참가자에 대한 제 1 현재 위치 및 제 1 참가자에 대한 제 1 궤적을 결정하고;
제 2 참가자에 대한 제 2 현재 위치 및 제 2 참가자에 대한 제 2 궤적을 결정하기 위해 실행될 때 동작가능할 수 있고, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 제 1 위치, 제 1 궤적, 제 2 위치, 및 제 2 궤적에 또한 기초한다.
일 실시예에서, 소프트웨어는 제 1 궤도, 제 2 궤도, 제 1 위치, 제 2 위치, 제 1 컬러 히스토그램, 및 제 2 컬러 히스토그램에 복수의 가중치들을 할당하기 위해 실행될 때 동작가능할 수 있고, 복수의 가중치들 중 제 1 가중치는 복수의 가중치들 중 제 2 가중치보다 클 수 있다.
제 1 신체 영역 및 제 2 신체 영역은 몸통 영역일 수 있다.
일 실시예에서, 시스템은:
하나 이상의 프로세서들; 및
하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하고, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는 프로세서들 중 하나 이상에 결합되고 시스템으로 하여금:
오디오-비디오 통신 세션 동안 제 1 시간에서:
제 1 참가자가 오디오-비디오 통신 세션과 연관된 환경에 위치된다고 결정하고;
제 1 참가자의 제 1 신체 영역의 위치를 찾고;
제 1 신체 영역의 제 1 컬러 히스토그램을 생성하고, 제 1 컬러 히스토그램은 제 1 신체 영역의 하나 이상의 컬러들의 제 1 분포를 표현하며;
오디오-비디오 통신 동안 제 2 시간에서:
제 2 참가자가 환경에 위치된다고 결정하고;
제 1 신체 영역과 동일한 제 2 참가자의 제 2 신체 영역의 위치를 찾고;
제 2 신체 영역의 제 2 컬러 히스토그램을 생성하고, 제 2 컬러 히스토그램은 제 2 신체 영역의 하나 이상의 컬러들의 제 2 분포를 표현하며;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다고 결정하고;
제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다는 결정에 기초하여, 제 1 참가자가 제 2 참가자와 동일하다고 결정하게 하기 위해 프로세서들 중 하나 이상에 의해 실행될 때 동작가능한 명령들을 포함한다.
제 1 컬러 히스토그램 및 제 2 컬러 히스토그램은 각각 다수의 픽셀 버킷들을 포함할 수 있으며, 픽셀 버킷들은 컬러 값이 각각의 픽셀 버킷과 연관된 범위 내에 있는 픽셀들을 포함할 수 있다.
일 실시예에서, 프로세서들은 제 1 참가자를 식별하고 제 1 참가자와 연관된 소셜 그래프에 제 1 컬러 히스토그램을 저장하기 위한 명령들을 실행할 때 동작가능할 수 있다.
일 실시예에서, 프로세서들은 제 1 참가자 및 제 2 참가자에 대한 하나 이상의 신체 비들을 결정하기 위한 명령들을 실행할 때 동작가능할 수 있고, 신체 비들은 어깨 대 몸통 비 또는 머리 대 몸통 비를 포함하며, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 하나 이상의 신체 비들에 기초할 수 있다.
일 실시예에서, 프로세서들은:
제 1 참가자에 대한 제 1 현재 위치 및 제 1 참가자에 대한 제 1 궤적을 결정하고;
제 2 참가자에 대한 제 2 현재 위치 및 제 2 참가자에 대한 제 2 궤적을 결정하기 위한 명령들을 실행할 때 동작가능할 수 있고, 제 1 참가자가 제 2 참가자와 동일하다는 결정은 제 1 위치, 제 1 궤적, 제 2 위치, 및 제 2 궤적에 또한 기초한다.
일 실시예에서, 프로세서들은 제 1 궤도, 제 2 궤도, 제 1 위치, 제 2 위치, 제 1 컬러 히스토그램, 및 제 2 컬러 히스토그램에 복수의 가중치들을 할당하기 위한 명령들을 실행할 때 동작가능할 수 있고, 복수의 가중치들 중 제 1 가중치는 복수의 가중치들 중 제 2 가중치보다 클 수 있다.
일 실시예에서, 방법은 컴퓨팅 장치에 의해:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트로부터 사람의 안면 특징에 대응하는 좌표 지점을 식별하는 단계;
사람의 얼굴에 대한 안면 구조를 생성하는 단계로서, 안면 구조는:
사람의 복수의 안면 특징들을 커버하고;
미리 결정된 안면 구조와 실질적으로 매칭하는, 상기 안면 구조를 생성하는 단계;
사람에 대한 신체 골격 구조를 생성하는 단계로서, 신체 골격 구조는 미리 결정된 신체 골격 구조와 실질적으로 매칭하고 2차원 좌표 평면의 적어도 하나의 차원에서 생성된 안면 구조와 실질적으로 정렬하는, 상기 신체 골격 구조를 생성하는 단계;
생성된 신체 골격 구조 및 안면 구조를 환경에 있는 사람과 연관시키는 단계; 및
생성된 신체 골격 구조 및 안면 구조에 기초하여 카메라, 마이크, 스피커, 또는 디스플레이 스크린에 대한 하나 이상의 명령들을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 방법은 생성된 안면 구조에 대한 매칭 점수를 결정하는 단계를 포함할 수 있으며, 매칭 점수는 안면 구조가 미리 결정된 안면 구조와 얼마나 가깝게 매칭하는지를 나타낼 수 있다.
일 실시예에서, 방법은 매칭 점수가 임계 점수 미만이면 생성된 안면 구조에 패널티를 주는 단계를 포함할 수 있다.
일 실시예에서, 안면 구조가 제 1 안면 구조인 방법은,
제 1 안면 구조를 컴퓨팅 장치에 의해 생성된 제 2 안면 구조와 비교하는 단계;
제 1 안면 구조가 제 2 안면 구조와 동일하다고 결정하는 단계; 및
제 2 안면 구조를 환경에 있는 사람과 연관시키는 단계를 포함할 수 있다.
환경에 있는 사람은 오디오-비디오 통신 세션에서의 참가자일 수 있다.
일 실시예에서, 안면 구조가 제 1 안면 구조인 방법은,
제 1 안면 구조에 대한 제 1 위치를 결정하는 단계;
제 2 안면 구조에 대한 제 2 위치를 결정하는 단계;
제 1 위치 및 제 2 위치가 동일하다고 결정하는 단계; 및
제 1 위치 및 제 2 위치가 동일하다는 결정에 기초하여 제 2 안면 구조를 폐기하는 단계를 포함할 수 있다.
하나 이상의 명령들은 생성된 안면 구조를 줌인하는 것을 포함할 수 있다.
일 실시예에서, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트로부터 사람의 안면 특징에 대응하는 좌표 지점을 식별하고;
사람의 얼굴에 대한 안면 구조를 생성하고, 상기 안면 구조는:
사람의 복수의 안면 특징들을 커버하고;
미리 결정된 안면 구조와 실질적으로 매칭하고;
사람에 대한 신체 골격 구조를 생성하고, 신체 골격 구조는 미리 결정된 신체 골격 구조와 실질적으로 매칭하고 2차원 좌표 평면의 적어도 하나의 차원에서 생성된 안면 구조와 실질적으로 정렬하며;
생성된 신체 골격 구조 및 안면 구조를 환경에 있는 사람과 연관시키고;
생성된 신체 골격 구조 및 안면 구조에 기초하여 카메라, 마이크, 스피커, 또는 디스플레이 스크린에 대한 하나 이상의 명령들을 결정하기 위해 실행될 때 동작가능한 소프트웨어를 구현할 수 있다.
일 실시예에서, 소프트웨어는 생성된 안면 구조에 대한 매칭 점수를 결정하기 위해 실행될 때 동작가능할 수 있고, 매칭 점수는 안면 구조가 미리 결정된 안면 구조와 얼마나 가깝게 매칭하는지를 나타낼 수 있다.
일 실시예에서, 소프트웨어는 매칭 점수가 임계 점수 미만이면 생성된 안면 구조에 패널티를 주기 위해 실행될 때 동작가능할 수 있다.
안면 구조가 제 1 안면 구조인 매체들의 일 실시예에서, 소프트웨어는:
제 1 안면 구조를 컴퓨팅 장치에 의해 생성된 제 2 안면 구조와 비교하고;
제 1 안면 구조가 제 2 안면 구조와 동일하다고 결정하며;
제 2 안면 구조를 환경에 있는 사람과 연관시키기 위해 실행될 때 동작가능할 수 있다.
환경에 있는 사람은 오디오-비디오 통신 세션에서의 참가자일 수 있다.
안면 구조가 제 1 안면 구조인 매체들의 일 실시예에서, 소프트웨어는:
제 1 안면 구조에 대한 제 1 위치를 결정하고;
제 2 안면 구조에 대한 제 2 위치를 결정하고;
제 1 위치 및 제 2 위치가 동일하다고 결정하며;
제 1 위치 및 제 2 위치가 동일하다는 결정에 기초하여 제 2 안면 구조를 폐기하기 위해 실행될 때 동작가능할 수 있다.
하나 이상의 명령들은 생성된 안면 구조를 줌인하는 것을 포함할 수 있다.
일 실시예에서, 시스템은:
하나 이상의 프로세서들; 및
하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하고, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는 프로세서들 중 하나 이상에 결합되고 시스템으로 하여금:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트로부터 사람의 안면 특징에 대응하는 좌표 지점을 식별하고;
사람의 얼굴에 대한 안면 구조를 생성하며, 안면 구조는:
사람의 복수의 안면 특징들을 커버하고;
미리 결정된 안면 구조와 실질적으로 매칭하며;
사람에 대한 신체 골격 구조를 생성하고, 신체 골격 구조는 미리 결정된 신체 골격 구조와 실질적으로 매칭하고 2차원 좌표 평면의 적어도 하나의 차원에서 생성된 안면 구조와 실질적으로 정렬하며;
생성된 신체 골격 구조 및 안면 구조를 환경에 있는 사람과 연관시키며;
생성된 신체 골격 구조 및 안면 구조에 기초하여 카메라, 마이크, 스피커, 또는 디스플레이 스크린에 대한 하나 이상의 명령들을 결정하게 하기 위해 프로세서들 중 하나 이상에 의해 실행될 때 동작가능한 명령들을 포함한다.
일 실시예에서, 프로세서들은 생성된 안면 구조에 대한 매칭 점수를 결정하기 위한 명령들을 실행할 때 동작가능할 수 있고, 매칭 점수는 안면 구조가 미리 결정된 안면 구조와 얼마나 가깝게 매칭하는지를 나타낼 수 있다.
일 실시예에서, 프로세서들은 매칭 점수가 임계 점수 미만이면 생성된 안면 구조에 패널티를 주기 위한 명령들을 실행할 때 동작가능할 수 있다.
안면 구조가 제 1 안면 구조인 매체들의 일 실시예에서, 프로세서들은:
제 1 안면 구조를 컴퓨팅 장치에 의해 생성된 제 2 안면 구조와 비교하고;
제 1 안면 구조가 제 2 안면 구조와 동일하다고 결정하며;
제 2 안면 구조를 환경에 있는 사람과 연관시키기 위한 명령들을 실행할 때 동작가능할 수 있다.
환경에 있는 사람은 오디오-비디오 통신 세션에서의 참가자일 수 있다.
안면 구조가 제 1 안면 구조인 매체들의 일 실시예에서, 프로세서들은:
제 1 안면 구조에 대한 제 1 위치를 결정하고;
제 2 안면 구조에 대한 제 2 위치를 결정하고;
제 1 위치 및 제 2 위치가 동일하다고 결정하며;
제 1 위치 및 제 2 위치가 동일하다는 결정에 기초하여 제 2 안면 구조를 폐기하기 위한 명령들을 실행할 때 동작가능할 수 있다.
일 실시예에서, 방법은 컴퓨팅 장치에 의해:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트를 포함하는 전경 시각적 데이터에 액세스하는 단계;
좌표 지점들의 세트에 대한 경계 박스를 생성하는 단계로서, 경계 박스는 좌표 지점들의 세트의 모든 좌표 지점을 포함하는, 상기 경계 박스를 생성하는 단계;
경계 박스 외부에 있는 환경의 영역에 대한 배경 시각적 데이터를 수집하기 위한 명령들을 제공하는 단계; 및
컴퓨팅 장치와 연관된 지능형 디렉터에게 전경 시각적 데이터 및 배경 시각적 데이터를 제공하는 단계를 포함할 수 있다.
일 실시예에서, 방법은 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하는 단계를 포함할 수 있다.
경계 박스 내부의 좌표 지점들의 세트는 규칙적인 간격들로 업데이트될 수 있다.
일 실시예에서, 방법은 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하는 단계를 포함할 수 있으며, 전경 태그는 경계 박스가 환경 밖으로 이동할 때까지 경계 박스에 할당된 채로 남아있을 수 있다.
배경 시각적 데이터는 복수의 픽셀들을 포함할 수 있으며, 각각의 픽셀은:
적색/녹색/청색(RGB) 컬러 값을 포함하고;
환경 내의 고유 위치에 대응한다.
일 실시예에서, 방법은 배경 시각적 데이터를 수집하기 위한 명령들을 제공하기 전에, 복수의 픽셀들의 각각의 픽셀에 무작위로 생성된 RGB 컬러 값을 할당하는 단계를 포함할 수 있다.
일 실시예에서, 방법은:
이용자가 경계 박스에 대응하는 지능형 통신 장치의 디스플레이 스크린의 위치를 탭했음을 나타내는 이용자 입력을 수신하는 단계;
디스플레이 스크린에 디스플레이하기 위한 사람을 렌더링하기 위해 배경 시각적 데이터의 적어도 일부를 자르기 위한 명령들을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트를 포함하는 전경 시각적 데이터에 액세스하고;
좌표 지점들의 세트에 대한 경계 박스를 생성하는 것으로서, 경계 박스는 좌표 지점들의 세트의 모든 좌표 지점을 포함하는, 상기 경계 박스를 생성하고;
경계 박스 외부에 있는 환경의 영역에 대한 배경 시각적 데이터를 수집하기 위한 명령들을 제공하며;
컴퓨팅 장치와 연관된 지능형 디렉터에게 전경 시각적 데이터 및 배경 시각적 데이터를 제공하기 위해 실행될 때 동작가능한 소프트웨어를 구현할 수 있다.
일 실시예에서, 소프트웨어는 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하기 위해 실행될 때 동작가능할 수 있다.
경계 박스 내부의 좌표 지점들의 세트는 규칙적인 간격들로 업데이트될 수 있다.
일 실시예에서, 소프트웨어는 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하기 위해 실행될 때 동작가능할 수 있고, 전경 태그는 경계 박스가 환경 밖으로 이동할 때까지 경계 박스에 할당된 채로 남아 있을 수 있다.
배경 시각적 데이터는 복수의 픽셀들을 포함할 수 있으며, 각각의 픽셀은:
적색/녹색/청색(RGB) 컬러 값을 포함하고;
환경 내의 고유 위치에 대응한다.
일 실시예에서, 소프트웨어는 배경 시각적 데이터를 수집하기 위한 명령들을 제공하기 전에, 복수의 픽셀들의 각각의 픽셀에 무작위로 생성된 RGB 컬러 값을 할당하기 위해 실행될 때 동작가능할 수 있다.
일 실시예에서, 소프트웨어는:
이용자가 경계 박스에 대응하는 지능형 통신 장치의 디스플레이 스크린의 위치를 탭했음을 나타내는 이용자 입력을 수신하고;
디스플레이 스크린에 디스플레이하기 위한 사람을 렌더링하기 위해 배경 시각적 데이터의 적어도 일부를 자르기 위한 명령들을 제공하기 위해 실행될 때 동작가능할 수 있다.
일 실시예에서, 시스템은:
하나 이상의 프로세서들; 및
하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하고, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는 프로세서들 중 하나 이상에 결합되고 시스템으로 하여금:
환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트를 포함하는 전경 시각적 데이터에 액세스하고;
좌표 지점들의 세트에 대한 경계 박스를 생성하는 것으로서, 경계 박스는 좌표 지점들의 세트의 모든 좌표 지점을 포함하는, 상기 경계 박스를 생성하고;
경계 박스 외부에 있는 환경의 영역에 대한 배경 시각적 데이터를 수집하기 위한 명령들을 제공하며;
컴퓨팅 장치와 연관된 지능형 디렉터에게 전경 시각적 데이터 및 배경 시각적 데이터를 제공하게 하기 위해 프로세서들 중 하나 이상에 의해 실행될 때 동작가능한 명령들을 포함한다.
프로세서들은 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하기 위한 명령들을 실행할 때 동작가능할 수 있다.
경계 박스 내부의 좌표 지점들의 세트는 규칙적인 간격들로 업데이트될 수 있다.
프로세서들은 전경 태그를 경계 박스에 할당하고 배경 태그를 배경 시각적 데이터에 할당하기 위한 명령들을 실행할 때 동작가능할 수 있고, 전경 태그는 경계 박스가 환경 밖으로 이동할 때까지 경계 박스에 할당된 채로 남아있을 수 있다.
시스템의 일 실시예에서, 배경 시각적 데이터는 복수의 픽셀들을 포함할 수 있으며, 각각의 픽셀은:
적색/녹색/청색(RGB) 컬러 값을 포함하고;
환경 내의 고유 위치에 대응할 수 있다.
프로세서들은 배경 시각적 데이터를 수집하기 위한 명령들을 제공하기 전에, 복수의 픽셀들의 각각의 픽셀에 무작위로 생성된 RGB 컬러 값을 할당하기 위한 명령들을 실행할 때 동작가능할 수 있다.
본 발명에 따른 일 실시예에서, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체는 상기 언급된 실시예들 중 임의의 것 또는 본 발명에 따른 방법을 수행하기 위해 실행될 때 동작가능한 소프트웨어를 구현할 수 있다.
본 발명에 따른 일 실시예에서, 시스템은 하나 이상의 프로세서들; 및 프로세서들에 결합되고 프로세서들에 의해 실행가능한 명령들을 포함하는 적어도 하나의 메모리를 포함할 수 있고, 프로세서들은 상기 언급된 실시예들 중 임의의 것 또는 본 발명에 따른 방법을 수행하기 위한 명령들을 실행할 때 동작가능하다.
본 발명에 따른 일 실시예에서, 바람직하게 컴퓨터-판독가능 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품은 상기 언급된 실시예들 중 임의의 것 또는 본 발명에 따른 방법을 수행하기 위해 데이터 처리 시스템에서 실행될 때 동작가능할 수 있다.
도 1은 일 예시적인 거실 설정에서의 일 예시적인 지능형 통신 장치를 도시한 도면.
도 2는 예시적인 구성요소들을 갖는 일 예시적인 지능형 통신 장치를 도시한 도면.
도 3a 및 도 3b는 일 예시적인 지능형 통신 장치와의 일 예시적인 이용자 상호작용을 도시한 도면들.
도 4는 시각적 및 오디오 선택을 위한 일 예시적인 시각화를 도시한 도면.
도 5는 일 예시적인 지능형 통신 장치에 의해 행해진 예시적인 입력들 및 결정들의 일 예시적인 블록도.
도 6은 일 예시적인 지능형 통신 장치와 연관된 시각적 데이터에 대한 일 예시적인 블록도.
도 7은 지능형 통신 장치에 의해 전경/배경 모델링을 수행하기 위한 일 예시적인 시각화를 도시한 도면.
도 8은 지능형 통신 장치에 의해 사람들을 재식별하기 위한 일 예시적인 시각화를 도시한 도면.
도 9는 2명의 중첩하는 사람들로부터 발생하는 문제의 일 예시적인 시각화를 도시한 도면.
도 10a 및 도 10b는 2명의 중첩하는 사람들로부터 발생하는 또 다른 문제의 일 예시적인 시각화를 도시한 도면들.
도 11은 지능형 통신 장치에 의해 중첩하는 사람들을 명확하게 하기 위한 일 예시적인 시각화를 도시한 도면.
도 12는 환경의 서술적 모델에 기초하여 영화적 결정들을 결정하기 위한 일 예시적인 방법을 도시한 도면.
도 13은 오디오-비디오 통신 세션 동안 전경 및 배경 설명을 결정하기 위한 일 예시적인 방법을 도시한 도면.
도 14는 오디오-비디오 통신 세션 동안 사람들을 재식별하기 위한 일 예시적인 방법을 도시한 도면.
도 15는 오디오-비디오 통신 세션 동안 중첩하는 사람들을 명확하게 하기 위한 일 예시적인 방법을 도시한 도면.
도 16은 소셜 네트워킹 시스템과 연관된 일 예시적인 네트워크 환경을 도시한 도면.
도 17은 일 예시적인 소셜 그래프를 도시한 도면.
도 18은 일 예시적인 컴퓨터 시스템을 도시한 도면.
지능형 통신 장치는 실시간 또는 비디오 채팅들 또는 미리 기록된 오디오/시각 프레젠테이션들과 같은, 오디오/시각 통신들을 위해 이용될 수 있다. 지능형 통신 장치는 이용자의 집이나 사무실에 상주하는 전용 통신 장치일 수 있다. 지능형 통신 장치는 터치에 민감한 디스플레이 스크린, 스피커들, 하나 이상의 카메라들, 및 하나 이상의 마이크들을 가질 수 있다. 지능형 통신 장치는 그것이 인간이 행할 영화적 결정들을 모방하는 자동화된 영화적 결정들을 행하는 것을 가능하게 하는 내부 프로세싱을 가질 수 있다. 이러한 영화적 결정들은 인간 디렉터가 카메라(들) 및 마이크(들)을 제어하는 경우(예로서, 영화적 컷들을 생성함)에 그녀가 행할 임의의 선택, 뿐만 아니라 비디오 편집자에 의해 이용가능할 수 있는 임의의 결정(예로서, 즉석에서 시각적 효과들을 적용하도록 선택함)을 포함할 수 있다. 이러한 선택들은 단일의 사람이 말하고 있고 그녀가 장치가 자신을 줌인하는 것을 허용함을 명시한 경우(예로서, 소셜 네트워킹 시스템과 연관된 프라이버시 설정 인터페이스에서) 그 사람에 대한 줌인, 또 다른 사람에 대한 패닝 또는 자르기, 활동이 많은 장면에 대한 축소, 장치 소유자 및 음원(들)이 이러한 기능을 허용하는 경우에 특정한 음원에 대해 마이크를 빔포밍, 및 다른 적합한 결정들을 포함할 수 있다. 이러한 결정들을 행하기 위해, 지능형 디렉터는 2명 이상의 이용자들 사이에서 현재 오디오-비주얼 통신 세션("AV 통신 세션")의 서술적 모델에 액세스할 수 있다. 지능형 디렉터는 지능형 통신 장치에 상주할 수 있거나 그것은 원격 서버에 상주할 수 있다. 서술적 모델은 장치 소유자들 및 관련 이용자들의 각각의 프라이버시 설정들에 따라, (1) 전송 지능형 통신 장치가 위치되는 환경과 관련된 비 식별 정보; (2) 전송 장치의 환경에 위치된 한 명 이상의 사람들; (3) 수신자의 지능형 통신 장치가 위치되는 환경과 관련된 비 식별 정보; (4) 수신자 장치의 환경에 위치된 한 명 이상의 사람들; 및 (5) 현재 오디오-비디오 통신 세션을 둘러싼 콘텍스트를 포함할 수 있다. 장치가 원격 서버로부터 그 이용자에 관한 정보의 검색을 트리거링하는 경우 이용자는 관련 이용자일 수 있다. 이들 입력들 뿐만 아니라, 임의의 참여하는 이용자로부터의 다른 수동 입력들 및 캡쳐된 이용자들 중 임의의 이용자에 의한 프라이버시 설정들로부터, 지능형 디렉터는 시각적 타겟들(예로서, 특히 한명의 사람이 허용된 줌인들을 갖는 경우 그 사람의 줌인), 오디오 타겟들(예로서, 음원이 허용된 사운드 증폭을 갖는 경우 다른 음원들에 비해 특정한 음원을 증폭함), 또는 스타일(예로서, 시각적 타겟들 사이의 부드러운 전환 대 빠른 전환)과 관련된 영화적 결정들을 행할 수 있다.
특정한 실시예들에서, 오디오-비주얼 통신 세션에 참여한 장치들에 전송되는 시각적 데이터는 적어도 3개의 유형들의 시각적 프로세싱 중 하나 이상을 경험할 수 있다: (1) 배경/전경 모델링; (2) 사람 재식별; 및 (3) 중첩하는 사람들을 명확하게 함. 배경/전경 모델링은 실시간 다중 사람 2D 포즈 추정 데이터에 기초하여 인간 골격들에 대한 경계 박스를 이용하는 것 및 경계 박스들 외부의 영역들에 대해서만 배경 데이터를 수집하는 것을 포함할 수 있다. 사람의 재식별은 하나 이상의 인간 골격들을 식별하는 것 및 각각의 인간 골격에 관한 하나 이상의 서술적 특성들을 생성하는 것을 수반할 수 있다. 장치 소유자 및 관련 이용자(들)가 이 기능에 옵트 인하면, 서술적 특성들은 인간 골격에 대응하는 사람의 컬러 히스토그램, 현재 위치 및 궤적, 및 인간 골격(예로서, 엉덩이 대 어깨 비)과 연관된 비들의 세트를 포함할 수 있다. 인간 골격을 재식별할 필요가 있으면, 시스템은 인간 골격을 재식별하기 위해 서술적 특성들에 의존할 수 있다. 재식별이 장치 또는 백엔드 시스템이 인간 골격과 연관된 사람의 신원을 결정하는 실제 식별이 아닐 수 있지만, 오히려 대응하는 사람의 신원이 발견되지 않는 "골격 A"의 더 양성인 비 식별적인 식별일 수 있다. 중첩하는 사람을 명확하게 하는 것은 인간 골격들이 동일한 경계 박스를 공유하거나 경계 박스들이 중첩하는 사람을 분리하는 것을 목표로 한다. 그것은 무엇보다도, 각각의 사람의 얼굴을 설정된 안면 구조에 매핑하는 것 및 매핑에 기초하여 "인간 트리"를 구축하는 것을 수반한다. 이들 및 다른 실시예들은 하기에 더 상세하게 설명될 것이다.
도 1은 일 예시적인 거실 설정에서의 일 예시적인 지능형 통신 장치를 도시한다. "지능형 통신 시스템(130)"이 또한, 본 명세서에서 "클라이언트 시스템(130)"으로서 언급될 수 있으며, 이들 용어들이 본 발명의 전반에 걸쳐 상호교환적으로 이용될 수 있음에 유의한다. 도 1이 거실 환경 설정으로서의 예시적인 환경을 도시할지라도, 이것은 지능형 통신 장치가 위치될 수 있는 곳의 일례일 뿐이다. 지능형 통신 장치(130)가 부엌, 침실들, 복도들, 뒤뜰들, 공원들, 해변, 또는 임의의 다른 환경을 포함하는, 실내 또는 실외의 임의의 적합한 설정에 위치될 수 있음이 고려된다. 환경(100)은 지능형 통신 장치(130) 및 사람(120), 및 텔레비전(110)을 포함하는 가구를 포함하는, 많은 상이한 유형들의 객체들을 포함할 수 있다. 객체들은 환경의 배경 또는 전경을 구성할 수 있다. 배경 객체들은 AV 통신 세션의 지속기간에 걸쳐 실질적으로 변경되지 않은 상태로 유지되는 그들 객체들일 수 있다. 배경 객체들은 전형적으로, 벽들, 가구, 가전 제품들, 문들, 출입구들, 천장 선풍기들, 샹들리에들 등을 포함한다. 전경 객체들은 주위를 이동하고/거나 사운드들을 방출한다. 전경 객체들은 일반적으로 사람 및 애완 동물들을 포함한다. 특정한 실시예들에서, 전경 객체들은 또한, 텔레비전 또는 라디오, 또는 장난감들(예로서, RC 경주용 자동차)과 같은, 무생물 객체들을 포함할 수 있다. 적절한 영화적 결정들을 행하기 위해, 지능형 디렉터는 배경 객체들과 전경 객체들 사이를 구별할 필요가 있을 수 있다. 그 방식으로, 지능형 디렉터는 전경에서 이동하는 사람들 및 다른 객체들을 적절하게 식별할 수 있다. 이 프로세스는 도 7을 참조하여 하기에 더 상세하게 설명된다.
도 2는 예시적인 구성요소들을 갖는 일 예시적인 지능형 통신 장치(130)를 도시한다. 예시적인 구성요소들은 스마트 오디오 구성요소(131), 지능형 디렉터(132), 스마트 비디오 구성요소(133), 모델 생성기(134), 및 소셜 네트워킹 인터페이스(135)를 포함한다. 구성요소들의 각각은 본 발명에서 논의된 기능들을 수행하기 위해 필요한 프로세싱 및 저장 유닛들을 갖거나 이용한다. 모델 생성기(134) 및 그 연관된 모듈들과 그들의 기능의 다음 논의는 (1) 지능형 통신 장치(130)의 소유자, 및 (2) 지능형 통신 장치(130)의 시각적 또는 오디오 공간 내에 있는 각각의 이용자의 프라이버시 설정들에 영향을 받을 수 있다. 예를 들면, 장치 소유자는 어떤 상황 하에서 장치가 소셜 네트워킹 시스템에 의해 저장되는 어느 누구에 관한 정보에 액세스할 수 없음을 명시할 수 있다. 이 시나리오에서, 장치는 임의의 유형의 이용자 정보와 관련하여 원격 서버들과 통신하지 않을 것이다. 또 다른 예로서, 장치 소유자는 장치가 이용자의 경험을 증진하기 위해 소셜 네트워킹 시스템에 의해 저장된 정보에 액세스할 수 있음을 명시할 수 있다(하기에 논의될 바와 같음). 이 시나리오에서, 장치는 장치 소유자의 소셜 네트워킹 데이터와 관련하여 소셜 네트워킹 시스템과 통신할 수 있지만, 장치는 다른 이용자의 소셜 네트워킹 데이터에 액세스하기 위한 허가를 계속 확인할 것이다. 예를 들면, 장치 소유자가 소셜 네트워킹 데이터 액세스에 참여했지만, 장치 소유자의 친구가 옵트 인하지 않은 경우, 장치는 친구의 소셜 네트워킹 데이터에 액세스하지 않을 것이다. 최소한, 장치는 이용자가 자신의 소셜 네트워킹 정보 또는 다른 식별 정보에 대한 액세스를 허용하는지의 여부를 결정하는 제한된 목적을 위해 이용자를 식별할 수 있다. 이용자가 이러한 액세스를 허용하지 않으면, 장치는 임의의 다른 목적을 위해 이용자를 식별하지 않을 것이다. 이러한 프라이버시 설정들은 본 명세서에서 논의되는 바와 같이, 온라인 소셜 네트워크의 이용자의 계정과 연관된 설정 인터페이스에서 이용자에 의해 구성될 수 있다.
모델 생성기(134)는 3개의 모듈들: 환경 모듈(220), 사람 모듈(230), 및 콘텍스트 모듈(240)을 포함할 수 있다. 환경 모듈(220)은 지능형 통신 장치(130)가 위치되는 환경에 관한 정보를 생성할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 환경 모듈(220)은 그것의 환경이 실내라고 결정할 수 있고, 또한 벽들, 통로들, 및 가구의 위치들과 같은, 환경의 다양한 특성들을 결정할 수 있다. 이 정보는 지능형 디렉터(132)가 더 지능적인 영화적 결정들을 행하는 것을 가능하게 함으로써 참가자들을 뷰잉하는 뷰잉 경험을 증진하기 위해 수집될 수 있다. 예를 들면, 환경 모듈(220)이 벽이 특정 위치에 존재한다는 정보를 포함하면, 지능형 디렉터는 어떠한 이용자도 벽을 통과하지 않을 것이기 때문에, 카메라에 벽보다 더 멀리 패닝하지 않도록 명령할 수 있다. 이 정보는 서술적 모델에 포함되며, 이는 하기에 도 5를 참조하여 더 상세하게 논의된다. 사람 모듈(230)은 환경에 있는 사람에 관한 정보를 생성할 수 있다. 장치 소유자 및 관련 이용자들이 그들의 정보(예로서, 신원들 및 소셜 네트워킹 정보)를 공유하는 것에 참여한 경우, 사람들에 대한 정보는 그들의 신원들, 그들의 위치들, 그들이 현재 오디오-비디오 통신에 참여하는 정도(하기에 논의된 "참여 메트릭"으로서 정량화됨), 각각의 사람의 비 식별 컬러 히스토그램, 그들의 말하는 스타일(예로서, 빠름, 느림), 사람이 하는 제스처들, 및 다른 적합한 정보를 포함할 수 있다. 사람 모듈(230)은 서술적 모델에 대한 정보를 생성할 수 있으며, 이는 하기에 도 5를 참조하여 더 상세하게 논의된다. 장치 소유자 및 관련 이용자들이 그들의 정보(예로서, 신원들 및 소셜 네트워킹 정보)를 공유하는 것에 참여한 경우, 콘텍스트 모듈(240)은 AV 통신 세션의 날짜 또는 시간, AV 통신 세션이 발생하고 있는 방, AV 통신 세션의 참가자들의 수, 각각의 지능형 통신 장치의 방위, 또는 AV 통신 세션 참가자들(예로서, 배우자들, 동료들, 학교친구들) 사이의 관계와 같은, 특정한 AV 통신 세션의 콘텍스트에 관한 정보를 생성할 수 있다. 특정한 실시예들에서, 이용자들이 소셜 네트워킹 정보를 공유하는데 옵트 인한 경우, 콘텍스트 모듈(240)은 소셜 네트워킹 시스템 인터페이스(135)를 통해 소셜 네트워킹 시스템으로부터 AV 통신 세션에 참가하는 이용자들에 관한 소셜 네트워킹 정보를 수신할 수 있다.
특정한 실시예들에서, AV 통신 세션은 지능형 통신 장치(130) 및 적어도 하나의 다른 장치를 수반할 수 있으며, 적어도 하나의 다른 장치는 또 다른 지능형 통신 장치(130) 또는 스마트폰, 랩톱 컴퓨터, 태블릿, 또는 VR 장치와 같은 임의의 다른 통신 장치일 수 있다. AV 통신 세션 동안, 각각의 참가 지능형 통신 장치는 (1) 오디오 및 시각적 데이터를 다른 참가 장치들에 전송하고, (2) 다른 참가 장치들로부터 오디오 및 시각적 데이터를 수신할 수 있다. 따라서, 각각의 참가 지능형 통신 장치는 전송 장치 및 수신 장치 둘 모두일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, AV 통신 세션은 4명의 상이한 이용자들 사이에 4개의 지능형 통신 장치들을 포함할 수 있다. 그들 장치들의 각각은 다른 3개의 장치들로 오디오 및 시각적 데이터를 전송할 수 있고 다른 3개의 장치들로부터 오디오 및 시각적 데이터를 수신할 수 있다. 본 발명이 용어들("전송 장치", "전송 이용자", "수신 장치", 및 "수신 이용자")을 이용할지라도, 본 발명은 AV 통신 세션에서, 모든 장치들이 정보를 전송하고 수신하기 때문에, 각각의 장치 및 이용자가 전송자 및 수신자 둘 모두임을 고려한다.
도 3a 및 도 3b는 일 예시적인 지능형 통신 장치와의 일 예시적인 이용자 상호작용을 도시한다. 도 3a에서, 지능형 통신 장치는 서로 및 지능형 통신 장치(130)와 연관된 이용자 참가자에 말하고 있는 2명의 사람들에게 장면을 디스플레이하고 있다. 지능형 통신 장치(130)는 이용자가 디스플레이 스크린의 특정한 객체 또는 사람에 탭하고 그 사람 또는 객체를 줌인하는 것을 포함하는 다양한 방식들로 그것과 상호작용하는 것을 허용한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 박스(310) 내부의 사람을 줌인하고자 하는 경우 이용자는 박스(310) 내부의 어딘가를 탭할 수 있다. 도 3b는 이용자가 박스(310)를 탭하는 것으로부터 발생할 수 있는 것을 도시한다. 이용자가 박스(310) 내부를 탭한 후에, 지능형 통신 장치(130)는 박스(310) 내부의 공간을 디지털로 줌인할 수 있다. 특정한 실시예들에서, 제 1 이용자가 그 자신이 "팔로우 특징"을 허용함을 명시한 경우, 제 2 이용자는 제 1 이용자에 대응하는 위치에 있는 장치의 스크린을 탭할 수 있고, 제 2 이용자의 탭은 지능형 통신 장치로 하여금, 제 2 이용자의 조밀하고 줌인된 뷰를 여전히 유지하면서 그가 환경 주위를 이동할 때 제 2 이용자를 따르게 할 수 있다. 제 2 이용자가 이러한 기능에 옵트 인한 경우, 제 1 이용자의 탭은 또한, 사람으로부터 나오는 오디오로 하여금 환경의 다른 잡음들에 비해 증폭되게 할 수 있다.
도 4는 시각적 및 오디오 선택을 위한 일 예시적인 시각화를 도시한다. 특정한 실시예들에서, 지능형 통신 장치(130)는 그것의 환경을 몇몇 "슬라이스(slice)들"로 분할할 수 있다. 도시된 예에서, 8개의 슬라이스들(A 내지 H)이 존재하지만, 본 발명은 임의의 적합한 수의 슬라이스들을 고려한다. 스마트 오디오 구성요소(131)는 각각의 오디오 소스가 어느 슬라이스로부터 나오는지를 결정할 수 있다. 마찬가지로, 스마트 비디오 구성요소(133)는 각각의 시각적 객체가 어느 슬라이스에 위치되는지를 결정할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 2명의 사람들(420)은 사운드 슬라이스(B)에서 대화를 나눌 수 있고 텔레비전 세트(410)는 사운드 슬라이스(H)에서 재생하고 있다. 사람(420) 및 텔레비전(410)의 각각은 동시에 사운드를 방출하고 있을 수 있다. 스마트 오디오 구성요소(131)는 2개의 음원들을 식별하고 그들이 현재 위치되는 슬라이스를 결정할 수 있다. 마찬가지로, 스마트 비디오 구성요소(133)는 2개의 시각적 객체들을 식별하고 그들이 현재 위치되는 슬라이스를 결정할 수 있다. 특정한 실시예들에서, 음원 또는 시각적 객체는 하나보다 많은 슬라이스를 점유할 수 있다. 예를 들면, 사람은 슬라이스들(C 및 D)에 걸쳐 있을 수 있다. 이 경우, 스마트 오디오 구성요소 및 스마트 비디오 구성요소는 사운드 및 시각적 객체(예로서, 사람)가 슬라이스(C) 및 슬라이스(D)의 에지에 위치될 수 있다고 결정할 수 있다.
도 5는 일 예시적인 지능형 통신 장치에 의해 행해진 예시적인 입력들(510) 및 결정들의 일 예시적인 블록도(500)를 도시한다. 특정한 실시예들에서, 지능형 통신 장치(130)는 하나 이상의 입력 소스들로부터 입력 데이터에 액세스할 수 있다. 입력 소스들은 하나 이상의 카메라들, 하나 이상의 마이크들, 하나 이상의 메타데이터 요소들(예로서, 전송 또는 수신 환경에서 참가자들의 수), 및 현재 AV 통신 세션과 연관된 하나 이상의 콘텍스트 요소들일 수 있다. 카메라(들)는 시각적 데이터(511)를 제공할 수 있고, 마이크(들)은 오디오 데이터(512)를 제공할 수 있으며, 콘텍스트 요소들은 소셜 네트워킹 데이터(513)로부터 발생할 수 있다. 특정한 실시예들에서, 시각적 데이터(511) 및 오디오 데이터(512)는 지능형 통신 장치(130)의 하나 이상의 컴퓨팅 구성요소들에 의해 프로세싱될 수 있다. 특정한 실시예들에서, 시각적 데이터는 2D 포즈 데이터일 수 있다. 2D 포즈 데이터는 환경에 있는 사람의 골격들을 포함할 수 있다. 2D 포즈 데이터는 특정한 프레임 레이트(예로서, 초당 10 회)로 업데이트될 수 있다. 지능형 디렉터(132)는 프레임 레이트(예로서, 초당 10 회)로 2D 포즈 데이터에 액세스할 수 있고 2D 포즈 데이터로부터 얻어진 정보에 기초하여 카메라 구성요소들 및 오디오 구성요소들에 명령할 수 있다. 일례로서, 2D 포즈 데이터가 참가자가 좌측으로 이동하고 있음을 나타내는 경우, 지능형 디렉터(132)는 카메라 구성요소들에 디스플레이를 좌측으로 패닝하고 참가자가 방을 가로질러 이동할 때 참가자를 추적하도록 명령할 수 있다. 특정한 실시예들에서, 2D 포즈 데이터는 프레임 레이트를 더 빠르게 보이게 하기 위해 추론들로 보충될 수 있다. 이들 추론들을 행하기 위해, 지능형 디렉터(132)는 참가자의 궤적들을 추정하여 그들이 가까운 장래에 있을 곳을 예측할 수 있다. 예를 들면, 참가자가 현재 환경을 가로질러 좌측으로 이동 중인 경우, 참가자가 지금부터 1초 후에 여전히 좌측으로 이동할 가능성이 있다. 지능형 디렉터(132)는 참가자의 위치 및 궤적에 관한 예측을 할 수 있고 그에 따라 카메라 구성요소에 명령할 수 있다. 예를 들면, 지능형 디렉터(132)가 참가자가 위치(A)에 있고 속도(B)로 좌측으로 이동할 것이라고 예측하면, 그것은 카메라 구성요소에 현재 디스플레이, 참가자의 위치, 및 참가자의 속도에 기초하는 특정한 레이트로 좌측으로 패닝하도록 명령할 수 있다.
이용자가 2D 포즈 신체 트레이싱에 옵트 인한 경우, 2D 포즈 데이터는 사람의 신체 부위들이 환경에 위치되는 곳을 나타내는 지점들의 세트를 제공할 수 있다. 이용자가 프라이버시 설정 인터페이스의 특정한 기능에 동의한 경우, 2D 포즈 데이터는 이용자의 눈들, 입, 턱, 및 귀들이 위치되는 곳에 관한 지점들을 제공할 만큼 충분히 상세할 수 있다. 지능형 디렉터는 이 데이터를 다양한 방식들로 이용할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 그것은 사람이 찾고 있는 곳을 결정하기 위해 2D 포즈 데이터를 이용할 수 있다. 지능형 디렉터는 그 다음, 영화적 결정들을 행할 수 있다(예로서, 카메라가 지향될 곳, 카메라를 가깝게 줌인할 정도). 예를 들면, 3명의 사람들이 제 4 사람을 보고 있으면, AI 디렉터는 카메라에 제 4 사람을 줌인하도록 명령할 수 있다. 시각적 데이터의 프로세싱은 하기의 도 6 내지 도 10을 참조하여 더 상세하게 논의된다.
특정한 실시예들에서, 오디오 데이터(512)는 스마트 오디오 구성요소(131)에 의해 프로세싱될 수 있다. 프로세싱된 후에, 오디오 데이터(512)는 환경으로부터 발생하는 각각의 음원에 관한 정보를 포함할 수 있다. 이 정보는 (1) 지능형 통신 장치(130)에 비해 사운드가 발생하는 방향, 및 (2) 사운드의 분류일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 텔레비전 세트는 농구 경기를 재생할 수 있다. 스마트 오디오 구성요소(131)는 음원을 식별하고, 그것을 텔레비전 오디오로서 분류하며, 그것이 지능형 통신 장치(130)의 좌측으로 25도로부터 발생하고 있다고 결정할 수 있다. 스마트 오디오 구성요소(131)는 그 다음, 이 정보를 오디오 데이터(512)로서 지능형 디렉터(132)에 제공할 수 있다. 지능형 디렉터(132)는 오디오에 관한 결정들을 행하기 위해 이 정보를 이용할 수 있다. 예를 들면, 지능형 디렉터(132)는 환경의 다른 사운드들에 비해 텔레비전 오디오를 약화시킬 수 있어서 수신 참가자가 전송 참가자의 음성을 더 명확하게 들을 수 있게 한다.
특정한 실시예들에서, 지능형 통신 장치(130)의 컴퓨팅 구성요소 또는 소셜 네트워킹 시스템과 연관된 원격 컴퓨팅 장치는 입력 데이터에 기초하여 현재 서술적 모델을 생성할 수 있다. 현재 서술적 모델은 장치 소유자 및 관련 이용자들의 각각의 프라이버시 설정들에 따라 (1) 환경, (2) 환경 내의 사람들, 및 (3) 현재 AV 통신 세션의 콘텍스트에 관한 서술적 특성들(예로서, 서술적 요소들)을 포함할 수 있다. 지능형 통신 장치가 현재 위치되는 환경의 설명은 지능형 디렉터가 AV 통신 세션 동안 영화적 결정들을 행하기 위해 정보를 이용할 수 있기 때문에 지능형 디렉터에 대해 중요할 수 있다. 예를 들면, 지능형 디렉터가 특정한 위치에 벽이 존재함을 인식하면, 그것은 어떠한 사람도 결코 단단한 벽을 지나 이동하지 않을 것이기 때문에, 카메라에 벽보다 더 멀리 패닝하지 않도록 명령할 수 있다. 환경과 관련된 메트릭은 환경의 차원들일 수 있다.
또 다른 메트릭은 일반적으로 환경에 있는 활동의 레벨 및 유형일 수 있다. 예를 들면, 환경이 집으로 들어가는 입구처럼, 많은 사람들이 지나가는 방입니까? 이 유형의 정보는 지능형 디렉터에 의해 패닝 속도, 개인들을 가깝게 줌인하고 자르기할 정도, 또는 장면들 또는 사람들 사이를 자르는 빈도를 결정하기 위해 이용될 수 있다. 예를 들면, 환경이 활동이 많은 방(예로서, 거실 또는 입구)인 경우, 지능형 디렉터는 카메라에 일반 정도보다 크게 축소하도록 명령할 수 있다. 또 다른 피스의 정보는 몰딩들이나 벽 에지들과 같은, 벽에 나타나는 라인들일 수 있다. 이들은 굽은 라인들을 곧게 펴는 렌더링에 이용될 수 있다. 카메라 렌즈는 가능한 한 많은 환경을 캡쳐하는 광각 렌즈일 수 있다. 결과적인 이미지는 왜곡되거나 "어안(fish-eye)"으로 나타날 수 있다. 이것은 직선들로 하여금 뷰어에게 굽은 것으로 보이게 한다. 지능형 디렉터는 렌더링 시에 이미지를 곧게 펴기 위한 명령들을 제공할 수 있어서 실제 생활에서 직선으로 나타나는 라인들이 수신 지능형 통신 장치의 스크린에 똑바로 나타나게 한다. 또 다른 메트릭은 방의 조명일 수 있다. 예를 들면, 방이 어두우면(예로서, 휘도가 미리 결정된 임계 레벨 미만임), 지능형 디렉터는 카메라의 노출을 증가시킴으로써 방을 밝게 하거나 시각적 데이터를 사후 프로세싱하고 출력 비디오를 밝게하기로 결정할 수 있다. 또 다른 메트릭은 방의 현재 컬러일 수 있다. 예를 들면, 램프는 방을 오렌지색 색조로 비출 수 있다. 지능형 디렉터는 이 데이터에 액세스하고 방의 컬러를 정정하기 위한 명령들을 제공할 수 있다.
특정한 실시예들에서, 현재 서술적 모델은 사람 모듈(522)에 의해 도시된 바와 같이, 환경 내의 사람들의 서술적 특성들을 포함할 수 있다. 특정한 실시예들에서, 서술적 특성들은 식별되지 않을 수 있다. 비 식별 특성들은 사람의 위치, 방위, 동작들, 참여 레벨 및 "앵커(anchor)들"을 포함할 수 있다. 사람이 개인 정보의 공유에 옵트 인한 경우, 서술적 특성들은 사람의 신원 및 소셜 네트워킹 정보를 더 포함할 수 있다. 특정한 실시예들에서, 액세스된 정보는 AV 통신 세션이 종료된 후에 소거되거나 제거될 수 있다. 따라서, 장치는 하나의 통신 세션으로부터 다음 통신 세션으로 사람에 관한 정보를 저장하지 않을 수 있다. 사람의 위치는 그들이 환경에서 위치되는 곳일 수 있다. 지능형 디렉터는 사람의 위치에 기초하여 영화적 결정들을 행할 수 있다. 예를 들면, 사람이 지능형 통신 장치로부터 멀리 떨어져 위치되지만 말하고 있는 경우, 지능형 디렉터는 사람을 줌인하기로 결정할 수 있다. 사람의 방위는 또한, 지능형 디렉터의 영화적 결정들에 영향을 미칠 수 있다. 예를 들면, 사람이 지능형 통신 장치로부터 멀리 대면하는 경우, 지능형 디렉터는 카메라에 어딘가에 초점을 맞추도록 명령할 수 있다. 사람이 자신의 신원을 공유하는데 옵트 인한 경우, 사람의 신원은 또한, 지능형 디렉터의 영화적 결정들에 영향을 미칠 수 있다. 지능형 통신 장치(130)는 안면 또는 음성 인식, 또는 임의의 다른 적합한 유형의 인식을 이용하여 그들의 신원을 공유하는데 옵트 인한 방에 있는 사람들을 식별할 수 있다. 사람이 AV 통신 세션에서 자주 및/또는 두드러지게 나타나는 경우, 지능형 디렉터는 그녀가 AV 통신 세션의 다른 참가자들에게 중요하다고 결정할 수 있다. 그녀는 심지어, 지능형 통신 장치의 소유자일 수 있다. 따라서, 지능형 디렉터는 카메라 및 마이크에 덜 자주 또는 덜 눈에 띄게 나타날 수 있는 방에 있는 다른 사람들보다 그녀에게 더 초점을 맞추도록 명령할 수 있다.
사람의 동작들은 또한, 지능형 디렉터의 영화적 결정들에 영향을 미칠 수 있다. 사람의 동작들은 사람이 현재 행하고 있는 움직임들(예로서, 사람이 점핑 잭을하고 있습니까?), 사람의 안면 표정들, 사람의 제스처들, 및 또한, 사람의 움직임들의 스타일(예로서, 사람이 주위로 많이 움직입니까? 그녀는 말할 때 손짓을 많이 이용합니까?)을 포함할 수 있다. 지능형 디렉터는 사람이 현재 취하고 있는 움직임들에 기초한 규칙들을 가질 수 있다. 일반적으로, 사람이 활동적인 경우(예로서, 방 주위를 빠르게 움직이고, 점프하고, 그의 팔을 흔듦), 지능형 디렉터는 카메라를 활동적인 사람의 중심에 두고 축소하기로 결정할 수 있어서 사람의 움직임들이 빠르고 갑작스러운 카메라 움직임들 없이 볼 수 있게 할 수 있다. 사람이 활동하지 않으면, 지능형 디렉터는 사람의 얼굴이나 상체 및 머리를 줌인하기로 결정할 수 있다. 지능형 디렉터는 또한, 사람이 행하는 안면 표정들에 기초한 규칙들을 가질 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 사람이 웃고 있는 경우, 지능형 디렉터는 그 사람을 자르고 그녀의 얼굴이나 상체 및 머리를 가까이 자르기 위한 명령들을 제공할 수 있어서 뷰어가 사람이 웃는 것을 볼 수 있게 할 수 있다. 지능형 디렉터는 또한, 사람이 행하는 제스처들에 기초한 규칙들을 가질 수 있다. 제스처들은 손 흔들기로부터, 포옹, 고개 끄덕임, 부엌에서 야채 자르기까지의 무엇이든 포함할 수 있다. 제스처에 의존하여, 지능형 디렉터는 카메라에 상이한 것들을 행하도록 명령할 수 있다. 예를 들면, 손을 흔들거나 포옹하는 것은 지능형 디렉터로 하여금 카메라에 손을 흔들거나 또 다른 사람을 포옹하는 사람을 자르게 하도록 명령하게 할 수 있다. 그러나, 야채들을 자르는 제스처는 지능형 디렉터로 하여금 사람의 손들을 줌인하기 위한 명령들을 제공하게 할 수 있다. 지금까지, 이 논의는 시각적 데이터를 수신 참가자에 전송하고 있는 참가자의 동작들에 초점을 맞췄다. 그러나 지능형 통신 장치는 또한, 수신 이용자가 장치가 안면 표정들을 모니터링하는 것을 허용한 경우, 수신 이용자의 동작들(예로서, 안면 제스처들)을 고려할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 참가자인 엘리스가 친구인 벳시, 및 벳시의 친구 캐롤라인과 AV 통신 세션을 가질 수 있다. 캐롤라인이 엘리스의 스마트 통신 장치에서 시야에 들어올 때, 엘리스는 미소를 지으며 "안녕 캐롤라인! 만나서 반가워요!"와 같은 무언가를 말할 수 있다. 엘리스의 스마트 통신 장치는 엘리스로부터 이 반응을 포착하여 미래의 통신 세션들에 대한 것이 아닌, 통신 세션의 지속기간 동안 캐롤라인에 대한 증가된 친화도로서 이것을 저장할 수 있다. 결과적으로, 지능형 디렉터는 엘리스에 대한 영화적 결정들을 개인화할 수 있고, 따라서 다른 사람들이나 객체들에보다 캐롤라인에 카메라의 초점을 더 맞추기 위한 명령들을 제공할 수 있다.
특정한 실시예들에서, 사람의 참여 레벨은 지능형 디렉터에 의해 행해진 결정들에 영향을 미칠 수 있다. 특정한 실시예들에서, 관련 이용자들이 그들의 소셜 네트워킹 데이터를 공유하는데 옵트 인한 경우, 지능형 통신 장치와 연관된 하나 이상의 프로세서들은 전송 장치가 위치되는 환경에서 각각의 사람 또는 객체(이하에서 "주체"로서 언급됨)에 대한 참여 메트릭을 산출할 수 있다. 참여 메트릭은 수신 이용자가 장치가 그녀의 소셜 네트워킹 데이터에 액세스하는 것을 허용하는데 옵트 인한 것을 고려할 때, 연관된 주체에 대한 수신 이용자의 관심 레벨을 근사화할 수 있다. 객체들의 예들은 텔레비전 세트들, 애완 동물들, 장난감들, 예술품, 등을 포함한다. 일반적으로, 참가하는 이용자들이 주로 다른 사람과 의사 소통하는데 관심이 있고 객체들을 뷰잉하거나 그들을 청취하는데 관심이 없기 때문에 객체들은 매우 낮은 참여 메트릭을 가질 수 있다. 주어진 주체(i)에 대한 수신 이용자의 참여 메트릭(I)은 공식(Ix = Ax + By +...Cz)을 이용하여 산출될 수 있고, 여기서 A, B,...C는 주체와 연관된 특징들이고 x, y,...z는 각각의 특징에 할당될 수 있는 가중치들이다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특징(A)은 스마트 비디오 구성요소(133) 또는 스마트 오디오 구성요소(131)에 의해 설명된 바와 같이, 주체의 분류, 또는 둘의 조합일 수 있다. 주체가 인간이면, A에는 1의 특징 값이 할당될 수 있다. 주체가 인간이 아니면,(예로서, 애완 동물 또는 텔레비전) A에는 0의 값이 할당될 수 있다. A에 할당된 가중치(x)는 임의의 적합한 가중치일 수 있다. 예를 들면, 가중치는 0과 1 사이의 일부 값일 수 있다. 일반적인 규칙으로서, 특징이 중요할수록 가중치가 높아질 수 있다. 수신 이용자는 거의 항상 인간이 아닌 인간과 의사 소통하는데 더 관심이 있기 때문에 주체 분류가 중요한 특징이 될 수 있다. 따라서, x에는 다른 가중치들에 비해 무거운 가중치가 할당될 수 있다. 예를 들면, x에는 0.75의 가중치가 할당될 수 있다.
특정한 실시예들에서, 참여 메트릭 산출의 유일한 특징은 주체의 분류일 수 있다. 따라서, 특정한 실시예들에서, 참여 메트릭을 산출하기 위해 지능형 디렉터에 의해 이용된 공식은 Ii = Ax일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자 앨리는 지능형 통신 장치를 이용하여 그녀의 엄마 벳시와 화상 채팅을 할 수 있다. 앨리는 전송 이용자일 수 있고 벳시는 수신 이용자일 수 있다. 단지 이 논의의 목적들을 위해 이용자 둘 모두가 전송 및 수신 이용자들 둘 모두임에 유의한다(오디오-비디오 통신 세션 동안 정보가 모두 전송되고 수신되기 때문에). 앨리는 전송 이용자일 수 있고 벳시는 수신 이용자일 수 있다. 또한, 앨리와 함께 개가 있을 수 있다. 개가 주위를 움직이면서 짖거나 다른 잡음들을 낼 수 있다. 지능형 디렉터는 2개의 참여 메트릭들: 앨리에 대해 하나, 및 앨리의 개에 대해 하나를 결정할 수 있다. 결정을 행하기 위해, 지능형 디렉터는 먼저 시각적 데이터(511) 또는 오디오 데이터(512)를 이용하여 각각의 주체를 분류할 수 있고, 앨리를 인간으로서 그리고 앨리의 개를 비 인간으로서 분류할 수 있다. 지능형 디렉터는 그 다음, 앨리에 대한 참여 메트릭을 0.75(x = 0.75로 가정함)인 것으로서 산출할 수 있고 개에 대한 참여 메트릭은 0일 수 있다(A가 개에 대해 0을 할당받았으므로). 결과적으로, 지능형 디렉터는 앨리에게 카메라 및 마이크들의 초점을 맞추고 심지어 개가 짖거나 다른 움직임들을 하는 경우에 개를 무시하기 위한 명령들을 제공할 수 있다. 특정한 실시예들에서, 참가자의 동작들이 지능형 디렉터의 결정들을 무시하는 것이 적절하다고 여겨지면 이 결정이 무시될 수 있다. 예를 들면, 참가자들이 개가 재미있는 어떤 것(예로서, 속임수 수행)을 하고 있기 때문에 개를 보고 웃기 시작하면, 지능형 디렉터가 앨리로부터 개를 향해 멀리 패닝하기 위한 명령들을 제공할 수 있다.
특정한 실시예들에서, 다른 특징들은 지능형 통신 장치(130)와 주체 사이의 거리(더 작은 거리들에 더 큰 특징 값이 할당됨), 지능형 통신 장치(130)에 대한 주체의 위치(사운드들은 더 큰 가중치가 할당되는 장치(130) 정면에 위치됨), 관련 이용자들이 비디오 채팅의 양단에 있는 이용자들 사이에 그들의 소셜 네트워킹 데이터를 공유하는데 옵트 인했음을 고려할 때, 소셜 그래프 거리 친화도 점수(더 큰 친화도 점수들에는 더 큰 가중치가 할당됨), 오디오-비디오 통신 세션 동안 사람이 환경에 존재한 시간의 양, 오디오-비디오 통신 세션 동안 사람이 말한 단어들의 수, 참가자가 지능형 통신 장치와 눈을 마주친 시간의 길이, 및 콘텍스트 단서들을 포함할 수 있다. 예를 들면, 방에 있는 대다수의 사람들이 방의 우측을 향해 바라보고 있다면, 그것은 방의 그 부분에서 흥미로운 일이 일어나고 있음을 나타낼 수 있다. 방의 그 부분에 주체가 존재하면, 그 주체도 흥미로울 수 있다. 따라서, 참여 메트릭은 그에 따라 그 주체에 대해 조정될 수 있다. 이와 관련하여 질문해야 할 이분법적인 질문은 "환경에서 적어도 절반의 사람들의 시선이 주체를 향하고 있는가?"일 수 있다. 대답이 예인 경우, 지능형 디렉터는 그 기능에 1을 할당할 수 있다. 콘텍스트 단서의 또 다른 예는 이전에 논의한 것과 같이, 특정한 주체가 고려되는 동안, 수신 이용자가 이용자 경험을 증진하기 위해 안면 표정들을 이용하여 시스템에 옵트 인한 경우, 수신 이용자의 안면 표정일 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 2명의 이용자들, 앨리 및 벳시는 지능형 통신 장치(130)와 화상 채팅을 하고 있다. 앨리는 전송 이용자일 수 있고 벳시는 수신 이용자일 수 있다. 벳시가 AV 통신 세션들 동안 그녀의 이용자 경험을 증진하기 위해 그녀의 안면 표정들을 이용하여 시스템에 대해 이전에 동의했다고 가정한다(예로서, 프라이버시 설정 인터페이스를 통해). 스마트 비디오 구성요소(132)는 벳시의 안면 표정들을 등록할 수 있거나 벳시의 지능형 통신 장치에서 다양한 주체들이 보이는 동안 벳시가 보이는 곳을 단순히 등록할 수 있다. 예를 들면, 앨리 및 벳시가 대화를 나눌 수 있고, 앨리의 남편이 환경에 진입하고 대화를 중단하여 앨리에게 질문할 수 있다. 앨리의 남편이 말하는 동안, 벳시는 자신의 전화를 확인하거나 일부 다른 작업을 하기 위해 지능형 통신 장치(130)를 외면할 수 있다. 이 멀리 보는 것은 벳시가 앨리의 남편이 하는 말에 특히 관심이 없음을 나타낼 수 있다. 따라서, 이것은 앨리의 남편이 말하는 동안 앨리가 그를 보는지의 여부, 앨리의 남편이 말하는 양, 그의 음성의 볼륨, 앨리의 남편과 지능형 통신 장치(130) 사이의 거리, 또는 임의의 다른 적합한 메트릭과 같은 다른 메트릭들에 의해 결정될 수 있는 바와 같이, 앨리의 남편이 실제로 대화에 참여하고 있지 않는 한 앨리의 남편으로부터 발생하는 오디오를 약화시키고 앨리의 중심에 카메라를 유지하라는 시스템에 대한 표시일 수 있다.
참여 메트릭이 산출되는 방법의 또 다른 예로서, 제 1 환경에 참가자 알렉스, 및 오하이오 주와 미시간 사이에서 NCAA 농구 경기를 재생하는 텔레비전이라는 2개의 주체들이 있는 AV 통신 세션을 고려한다. 제 2 환경에서는 참가자 베키이다. 알렉스 및 베키가 AV 통신 세션들 동안 그들의 이용자 경험을 증진하기 위해 그들의 소셜 네트워킹 데이터를 이용하여 시스템에 대해 이전에 및 독립적으로 동의했다고 가정한다(예로서, 프라이버시 설정 인터페이스를 통해). 지능형 디렉터는 제 1 환경의 2개의 주체들에 대한 베키의 관심을 근사화하는 2개의 참여 메트릭들을 산출할 수 있다: 제 1 참여 메트릭은 알렉스에 대한 것이고 제 2 참여 메트릭은 텔레비전에 대한 것이다. 참여 메트릭 산출은 3개의 특징들을 고려할 수 있다: (1) 주체의 등급; (2) 베키와 주체 사이의 소셜 그래프 친화도; 및 (3) 지능형 통신 장치(130)에 대한 주체의 위치. 상기 특징들에는 각각 .75, .50 및 .25의 가중치가 부여될 수 있다. 이 예시적인 산출의 목적들을 위해, (1) 알렉스 및 베키가 교제 중이고; (2) 베키의 소셜 그래프는 그녀가 미시간 대학에 다녔음을 나타내며; (3) 알렉스는 텔레비전보다 지능형 통신 장치(130)에 더 가깝게 위치함을 가정한다. 알렉스에 대한 베키의 관심에 대한 참여 메트릭은 IB = Ax + By + Cz로서 표현될 수 있으며, 텔레비전에 대한 베키의 관심에 대한 참여 메트릭은 IH = Ax + By + Cz로서 표현될 수 있다. 따라서, 알렉스에 대한 베키의 관심은 IA = (1)(0.75) + (1)(0.50) + (1)(0.25) = 1.5일 수 있다. 이것은 알렉스가 인간으로서 분류되고 따라서, 지능형 디렉터가 특징("A")에 1의 점수를 할당했을 수 있기 때문일 수 있다. 또한, 베키 및 알렉스가 교제 중이기 때문에 그들은 서로에 대한 강한 소셜 그래프 친화도를 가질 가능성이 높으며, 따라서 "B"는 또한 1의 점수를 받을 수 있다. 그리고 알렉스가 지능형 통신 장치(130)에 가깝게(예로서, 임계 거리 내에) 위치되기 때문에, "C"는 또한 1의 점수를 받을 수 있다. 텔레비전 세트에 대해, 참여 메트릭은 IT = (0)(0.75) + (1)(0.50) + (0)(0.25) = 0.5IH = (0)(.75) + (1)(0.50) + (0)(0.25) = 0.5로서 산출될 수 있다. 이것은 텔레비전이 인간으로서 분류되지 않았기 때문일 수 있고, 따라서 A는 "0"을 할당받을 수 있다. 베키가 미시간 대학교를 다녔고 텔레비전에서 재생하는 미시간 게임이 존재하기 때문에, 베키는 미시간 농구에 대해 강한 친화도(예로서, 임계 친화도를 초과함)를 가질 수 있다. 따라서 B는 "1"을 할당받을 수 있다. 지능형 디렉터가 미시간 농구가 이미지/오디오 인식을 통해 또는 온라인 텔레비전 가이드에 액세스함으로써 텔레비전에서 재생됐었다고 결정했을 수 있다. 지능형 디렉터는 장치 소유자가 소유자를 대신하여 인터넷에 액세스하도록 지능형 통신 장치에 권한을 부여한 경우에만 미시간 농구가 재생 중이었다고 단지 결정할 수 있다. 마지막으로, 텔레비전이 임계 거리 밖에 위치되기 때문에, C는 "0"을 할당받을 수 있다. 따라서 알렉스에 대한 참여 메트릭은 텔레비전에 대한 참여 메트릭보다 높을 수 있다. 결과적으로, 지능형 디렉터는 알렉스의 중앙에 카메라를 두고 방 주위에서 알렉스를 따라가며 알렉스의 음성에 비해 텔레비전 사운드를 약화하기 위한 명령들을 제공할 수 있다.
특정한 실시예들에서, 지능형 디렉터는 수신 이용자와 연관된 소셜 그래프에 포함된 정보에 기초하여 주체에 대한 참여 메트릭을 증가시킬 수 있다. 하기에 논의된 바와 같이, 소셜 그래프는 노드들 및 노드들을 연결하는 에지들을 포함할 수 있다. 2개의 노드들을 연결하는 각각의 에지는 2개의 노드들 사이의 관계를 표현할 수 있다. 예를 들면, 제 1 이용자인 알렉스가 베일러 대학교의 대학에 다녔으면, 소셜 그래프는 알렉스에(또는 온라인 소셜 네트워크의 알렉스 프로파일에) 대응하는 제 1 노드 및 베일러 대학교에(또는 베일러 대학교의 온라인 리소스에) 대응하는 제 2 노드를 가질 수 있다. 소셜 그래프는 부가적으로 제 1 노드와 제 2 노드 사이에 에지 연결을 가질 수 있다. 에지 연결은 에지 유형을 가질 수 있다. 에지 유형은 "참석함"일 수 있다. 부가적으로, 알렉스가 베일러 대학교와 관련하여 온라인 소셜 네트워크에서 다른 동작들을 수행한 경우, 알렉스의 노드와 베일러 대학교에 대한 노드 사이에 다른 에지들이 있을 수 있다. 예를 들면, 알렉스는 온라인 소셜 네트워크에서 베일러 대학교 개체 페이지를 좋아했을 수 있다. 이것은 제 1 노드와 제 2 노드 사이에 "좋아요"의 에지 유형을 갖는 또 다른 에지 연결을 생성했을 수 있다. 베일러 대학교와 연관된 비디오 시청, 댓글 달기, 그룹 가입, 및 다른 유사 동작들은 모두 알렉스의 노드와 베일러 대학교에 대한 노드 사이에 에지 연결들을 부가할 수 있다. 이들 동작들은 또한, 하기에 논의된 바와 같이 알렉스와 베일러 대학교 사이의 친화도 계수를 증가시키는 역할을 할 수 있다. 알렉스가 AV 통신 세션들 동안 그의 이용자 경험을 증진하기 위해 그의 소셜 네트워킹 데이터를 이용하는 시스템에 대해 이전에 동의했다고 가정한다(예로서, 프라이버시 설정 인터페이스를 통해). 지능형 디렉터는 알렉스의 프라이버시 설정들(하기에 더 상세하게 논의된 바와 같음)에 따라 소셜 그래프에 액세스할 수 있으며 이용자와 주어진 개체 사이의 친화도 또는 에지에 기초하여 참여 메트릭을 증가시킬 수 있다. 상기 예를 계속하기 위해, 알렉스는 도 4의 사람들(420)과 같은 또 다른 이용자와의 비디오 채팅에 참가할 수 있다. 텔레비전(410)은 베일러 축구 게임을 재생하고 있을 수 있다. 스마트 오디오 구성요소(131)는 사운드들을 인식함으로써(예로서, TV가 단어들("베일러 축구에 다시 오신 것을 환영합니다")을 재생할 수 있음), 또는 텔레비전 가이드 및 텔레비전의 현재 채널에 액세스함으로써, 또는 임의의 다른 적합한 수단에 의해 베일러 축구 게임이 텔레비전(1610)에서 재생하고 있다고 결정했을 수 있다. 스마트 오디오 구성요소(131)는 알렉스에 대한 소셜 그래프에 액세스할 수 있고 알렉스와 베일러 대학교 사이에, 및 구체적으로 베일러 축구에 대해 높은 친화도 계수가 존재한다고 결정할 수 있다. 이 결정에 기초하여, 지능형 디렉터는 알렉스가 축구 경기를 보는 데 관심이 있을 가능성이 높기 때문에, 텔레비전에 대한 참여 메트릭을 증가시킬 수 있다.
특정한 실시예들에서, 사람은 "앵커"와 연관될 수 있다. 앵커는 사람이 벗어나지 않는 사람의 신체에 있는 지점일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 사람이 서 있는 경우, 사람의 앵커는 발이나, 하체에 위치될 수 있다. 이것은 심지어 사람이 팔을 움직이거나, 허리를 구부리거나, 머리를 움직일지라도, 앵커가 움직일 가능성이 낮기 때문이다. 앵커들은 주체를 따라가기 위해 카메라를 패닝할 정도를 결정하기 위해 이용된다. 일반적으로 카메라 샷에 너무 많은 움직임이 있는 것은 바람직하지 않다. 뷰잉 참가자는 약간의 움직임이나 부드러운 움직임을 원할 수 있다. 카메라 샷을 움직일 가능성이 없는 사람의 신체의 지점에 고정함으로써, 지능형 디렉터는 카메라 샷이 가능한 한 적게 움직임을 보장할 수 있다. 이를 더 완전하게 이해하기 위해, 앵커가 사람의 손에 있다고 상상해보자. 사람이 자신의 손을 움직일 때마다, 카메라 샷이 따라올 것이다. 이것은 뷰잉 참가자에게 매우 성가실 수 있다. 따라서, 앵커는 발이나 엉덩이와 같은 사람의 신체에서 더 낮을 수 있다. 카메라가 특정한 주체의 중앙에 있는 경우, 지능형 디렉터는 앵커가 움직일 때만 카메라를 이동시키기 위한 명령들을 제공할 수 있다. 각각의 주체는 앵커를 가질 수 있다. 앵커는 그것이 지능형 디렉터에 전송되기 전이나 그 후에 2D 포즈 데이터로부터 결정될 수 있다.
특정한 실시예들에서, AV 통신 세션의 콘텍스트는 현재 서술적 모델에 포함될 수 있다. 콘텍스트는 AV 통신 세션의 날짜, 시간, 또는 날짜 및 시간을 둘러싸는 이벤트들과 같은, AV 통신 세션에 관한 임의의 정보일 수 있다. 지능형 통신 장치(130)는 관련 이용자들의 프라이버시 설정들 중 임의의 것에 액세스하고 이용자들 중 한명이 그들의 소셜 네트워킹 데이터를 지능형 통신 장치(130)와 공유하는데 옵트 인했는지를 결정할 수 있다. 그렇다면, 지능형 디렉터(132)는 AV 통신 세션 동안 이용자들의 경험을 증진하기 위해 이러한 정보를 이용할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, AV 통신 세션은 참가자의 생일에 발생할 수 있다. 조던이라는 참가자는 AV 통신 세션의 당일에 28세가 될 수 있다. 지능형 통신 장치(130)는 소셜 네트워킹 시스템 인터페이스 구성요소(135)를 통해 이 정보에 액세스할 수 있다. 지능형 디렉터는 AV 통신 세션 동안 카메라에 요르단을 따르거나 장면을 요르단으로 더 자주 자르도록 명령하기로 결정할 수 있는데, 이는 다른 참가자들(예로서, 조부모들, 친구들)이 조던의 생일에 조던의 환경에 있는 다른 참가자들보다 조던과 의사 소통하고 조던을 보는데 더 관심이 있을 가능성이 있기 때문이다.
특정한 실시예들에서, 지능형 디렉터는 하나 이상의 시각적 타겟들(531), 하나 이상의 오디오 타겟들(532), 또는 하나 이상의 스타일들(533)을 식별하기 위해 현재 서술적 모델의 정보를 이용할 수 있다. 시각적 타겟들(531)은 지능형 디렉터가 결정한 것이 본 명세서에서 논의된 바와 같이 따를 만한 가치가 있는 임의의 적합한 주체일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 상기 예로부터의 조던은 시각적 타겟일 수 있다. 시각적 타겟은 AV 통신 세션 동안 사람마다 빠르게 변경될 수 있다. 예를 들면, 말하는 각각의 사람은 그 자신이 말하는 동안 시각적 타겟이 될 수 있다. 특정한 실시예들에서, 시각적 타겟은 오디오 타겟들(533)에 단단히 결합될 필요가 없다. 지능형 통신 장치(130)는 비디오로부터 오디오를 분리할 수 있다. 이것은 수신 이용자가 하나의 객체를 뷰잉하고 상이한 음원을 청취하는 것을 허용할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 상기 예에서 수신 이용자는 도 4의 슬라이스(B)에서 일어나는 대화를 청취할 수 있지만(대화에 참가하는 모든 이용자들이 이전에 지능형 통신 장치(130)가 그들의 대화들을 증폭하는 것을 허용하는데 옵트 인했음을 고려할 때) 슬라이스(H)에서 텔레비전(1610)에 나오는 게임을 시청할 수 있다. 이용자는 음성 명령들을 포함하는, 임의의 적합한 이용자 설정 구성을 통해 이것을 뷰잉하기 위해 선택할 수 있다. 지능형 통신 장치(130)는 또한, 하나의 객체를 뷰잉하고 상이한 음원을 청취하고자 하는 이용자의 욕구를 추론할 수 있다. 이것은 이용자 선호도 설정들을 포함하는 임의의 적합한 수단을 이용하여 달성될 수 있다. 예를 들면, 비디오에 대한 아이콘 및 오디오에 대한 아이콘이 제공될 수 있다. 이용자는 비디오를 선택하고 비디오 타겟이 될 주체를 탭할 수 있다. 이용자는 그 다음, 오디오를 선택하고 오디오 타겟이 될 상이한 주체를 탭할 수 있다. 이것은 특정한 주체(예로서, 신생아)를 뷰잉하고 싶지만 상이한 주체(예로서, 신생아의 부모들)와 대화하려는 이용자에게 효과적일 수 있다. 특정한 실시예들에서, 지능형 디렉터는 특정한 스타일에 따라 카메라 및 마이크에 명령하기로 결정할 수 있다. 스타일은 빠른 카메라 이동들 및 컷들 대 느린 카메라 이동들 및 컷들만큼 단순할 수 있다. 빠른 이동들을 통해, 카메라는 주위를 빠르게 이동하고 상이한 이동들 및 사운드들에 매우 빠르게 반응할 수 있다. 느린 이동들을 통해, 카메라는 더 여유롭게 접근하여 주체 사이를 느리게 이동할 수 있다. 특정한 실시예들에서, 스타일은 특정한 할리우드 디렉터로부터 채택될 수 있다. 예를 들면, 지능형 디렉터는 쿠엔틴 타란티노, 스탠리 큐브릭, 또는 웨스 엔더슨의 연출 스타일을 모방하는 결정들을 행할 수 있다.
일반적으로, 지능형 통신 장치(130)는 미래의 통신 세션들에서 이용하기 위해 또는 임의의 다른 목적을 위해 주어진 AV 통신 세션 동안 수집된 정보를 저장하지 않을 수 있다. 이것은 참가자들의 프라이버시를 보호하고 원치 않는 데이터의 공유를 방지하기 위한 역할을 할 수 있다. 특정한 실시예들에서, 이용자 또는 이용자들의 그룹은 그들의 정보로 하여금 장치(130)에 로컬로 저장하하게 하고 미래의 통신 세션들 동안 이용하게 하기를 원할 수 있다. 미래의 이용을 위해 정보를 저장하는 것은 컴퓨팅 리소스들을 절약하고 또한, 증진된 이용자 경험을 제공할 수 있다. 특정한 실시예들에서, 장치(130)는 환경 내에서 발생한 과거 AV 통신 세션들에 기초하는 이력 서술적 모델을 생성할 수 있다. 지능형 디렉터는 이력 서술적 모델이 결정들을 행할 때 그것에 액세스할 수 있다. 이력 서술적 모델은 이전 AV 통신 세션들 동안 생성된 이전 서술적 모델들에 의해 형성될 수 있다. 이것은 지능형 디렉터가 단순히 결정들을 행하기 위해 이력 서술적 모델에 액세스할 수 있기 때문에 컴퓨팅 리소스들을 절약할 수 있다. 이것은 현재의 서술적 모델이 이전 서술적 모델들로부터 취해진 일부 서술적 요소들을 포함할 수 있음을 의미할 수 있다. 예를 들면, 모든 AV 통신 세션에 대한 방의 치수 추정치들을 결정하는 대신에, 현재 서술적 모델은 이전 AV 통신 세션으로부터의 치수들을 이용할 수 있다. 이것은 그것이 새로운 정보를 산출하는 것보다 저장된 정보(예로서, 방 치수들)에 액세스하는 것이 더 빠를 수 있기 때문에 시간을 절약할 수 있다.
특정한 실시예들에서, 지능형 디렉터는 수신 참가자 또는 전송 참가자에 의해 입력된 하나 이상의 수동 입력들(550)에 기초하여 영화적 결정들을 행할 수 있다. 특정한 실시예들에서, 참가자들에 의해 입력된 수동 입력들은 지능형 디렉터의해 행해진 임의의 결정들을 무시할 수 있다. 특정한 실시예들에서, 참가자가 시스템에 입력할 수 있는 입력들은 지능형 통신 장치의 디스플레이 스크린의 방위(예로서, 세로 또는 가로), 탭하여 따르기 명령, 및 다양한 이용자 선호도들을 포함할 수 있다. 디스플레이 스크린의 방위에 기초하여, 지능형 디렉터는 상이한 영화적 결정들을 행할 수 있다. 예를 들면, 디스플레이 스크린이 가로 모드로 지향되면, 지능형 디렉터는 주체의 얼굴 앞에 공간을 남겨 두도록 카메라에 명령할 수 있어서, 주체가 디스플레이 스크린의 뒤쪽의 1/3에 위치되게 한다. 디스플레이 스크린이 세로 모드로 지향되면, 지능형 디렉터는 카메라에 디스플레이 스크린의 상부의 1/3에 주체의 얼굴을 배치하도록 명령할 수 있다. 이들은 단지 예들이다: 본 발명은 디스플레이 스크린의 방위에 적어도 부분적으로 기초하는 임의의 적합한 결정들을 고려한다. 이용자는 또한, 주체가 이전에 장치(130)가 이용자를 줌인하고 그가 주변을 이동할 때 그와 패닝하는 것을 허용하는데 옵트 인했음을 고려할 때, 주체를 탭하여 그 주체를 따를 수 있다. 지능형 통신 장치에 대한 기본 모드는 주체들의 대부분이 디스플레이 스크린의 뷰잉 공간 내에 있는 그룹 뷰잉 모드일 수 있다. 참가자가 특정한 주체를 탭하면, 디스플레이 스크린이 그 주체를 줌인할 수 있어서, 주체가 이전에 이 특징에 옵트 인했음을 고려할 때, 참가자가 주체의 클로즈업을 다시 보게 한다. 참가자는 또한, 다양한 프라이버시 선호도들을 설정할 수 있다. 예를 들면, 참가자는 지능형 통신 장치가 참가자의 화장실의 시각적 데이터(지능형 통신 장치에 의해 보일 수 있음)를 결코 전송하지 않음을 명시할 수 있다. 또 다른 예로서, 참가자는 지능형 디렉터가 소셜 네트워킹 데이터를 이용하여 또는 임의의 다른 수단에 의해 자신을 결코 식별하지 않음을 명시할 수 있다. 참가자는 소셜 네트워킹 시스템 인터페이스(135)가 소셜 그래프의 이용자와 관련된 정보에 액세스하는 것을 차단하도록 선택할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 지능형 통신 장치가 뒤따를 온라인 소셜 네트워크로 프라이버시 선호도들을 설정할 수 있다. 예를 들면, 이용자는 그녀가 임의의 지능형 통신 장치가 자신의 소셜 그래프 정보에 액세스하는 것을 원하지 않음을 온라인 소셜 네트워크를 통해 명시할 수 있다. 이용자는 그 다음, 지능형 통신 장치가 있는 그녀의 친구의 집으로 이동할 수 있고 그들은 또 다른 참가자와 AV 통신 세션에 참가할 수 있다. 지능형 통신 장치는 온라인 소셜 네트워크가 이용자의 소셜 그래프에 액세스하기 위한 허가를 갖는지의 여부를 결정하기 위해 이용자를 식별하고 온라인 소셜 네트워크의 그녀의 프라이버시 설정들에 액세스할 수 있다. 허가가 승인되지 않으면, 지능형 통신 장치는 이용자의 소셜 네트워킹 정보에 액세스하지 않을 것이다.
일단 지능형 디렉터(530)가 서술적 모델(520)의 정보에 액세스했으면, 그것은 카메라 및 마이크가 따를 계획(540)을 생성할 수 있다. 계획은 카메라 명령들(541) 및 마이크 명령들(542)을 포함할 수 있다. 카메라 명령들은 주체를 줌인하고, 축소하고, 패닝하고, 카메라를 특정한 위치의 중앙에 두고, 환경 내의 상이한 장면으로 자르고, 매끄럽거나 갑작스러운 이동들, 또는 임의의 다른 적합한 동작을 위한 명령들과 같은, 카메라에 대한 임의의 적합한 명령들일 수 있다. 마이크 명령들은 다른 사운드들에 비해 특정한 사운드를 약화시키거나, 다른 사운드들에 비해 특정한 사운드를 증폭하기 위한 명령들, 또는 임의의 다른 적합한 명령을 포함하는, 임의의 적합한 마이크 명령들일 수 있다.
도 6은 일 예시적인 지능형 통신 장치와 연관된 시각적 데이터에 대한 일 예시적인 블록도를 도시한다. 시각적 데이터는 2D 포즈 데이터(610) 및 하나 이상의 유형들의 사후 프로세싱 데이터(620)를 포함할 수 있다. 2D 포즈 데이터(610)는 환경에 있는 사람의 2차원 위치를 표현하는 데이터일 수 있다. 그것은 환경에 있는 각각의 사람에 대해, 사람의 복수의 표면 지점들에 대응하는 지점들의 세트를 포함할 수 있다. 예를 들면, 지점들의 세트는 사람의 주요 신체 부위들을 나타낼 수 있다. 예를 들면, 2D 포즈 데이터는 다음의 신체 부위들: 머리 꼭대기, 턱, 좌측 귀, 우측 귀, 좌측 눈, 우측 눈, 코, 좌측 어깨, 우측 어깨, 좌측 엉덩이, 우측 엉덩이, 좌측 팔꿈치, 우측 팔꿈치, 왼손, 오른손, 좌측 무릎, 우측 무릎, 왼발, 및 오른발의 각각에 대한 19 x, y 좌표를 포함할 수 있다. 지점들의 세트는 본 명세서에서 "인간 골격"으로서 언급되는 것을 구성할 수 있다. 인간 골격들의 2개의 예들은 도 7의 경계 박스들(720) 내에 도시된다. 지점들의 세트 외에도, 2D 포즈 데이터는 또한, 지점들의 세트를 포함하는 경계 박스를 포함할 수 있다. 경계 박스는 지점 세트의 모든 지점을 포함할 수 있을 만큼 충분히 클 수 있다. 2D 포즈 데이터에 관한 더 많은 정보는 본 명세서에 참조로써 통합되는, 2018년 3월 15일에 출원되고 발명의 명칭이 "객체 사례 분할(Object Instance Segmentation)"인 미국 출원 번호 제 15/922,734 호에서 발견될 수 있다. 특정한 실시예들에서, 지능형 컴퓨팅 장치(130)의(또는 대안적으로 온라인 소셜 네트워킹 시스템과 연관된 원격 서버의) 하나 이상의 프로세서들은 지능형 디렉터에 의해 이용하기 위해 2D 포즈 데이터를 프로세싱할 수 있다. 3개의 유형들의 프로세싱은 배경/전경 검출(621), 재식별(622), 및 중첩하는 사람들(623)을 포함한다. 배경/전경 검출이 달성되는 프로세스는 도 7을 참조하여 하기에 논의된다. 재식별이 달성되는 프로세스는 도 8을 참조하여 하기에 논의된다. 중첩하는 사람들이 취급되는 프로세스는 도 9 및 도 10을 참조하여 하기에 논의된다.
도 7은 지능형 통신 장치에 의해 전경/배경 모델링을 수행하기 위한 일 예시적인 시각화(700)를 도시한다. 예시적인 시각화(700)는 지능형 컴퓨팅 장치가 위치될 수 있는 환경의 표현을 포함할 수 있다. 환경의 표현은 경계 박스들(720)에 위치된 사람들의 표현들 뿐만 아니라 배경 객체들(710)을 포함할 수 있다. 배경 객체들은 가구, 벽들, 책장들, 테이블들, 의자들, 카펫, 천장들, 샹들리에들, 및 움직이지 않고 환경에 남아있는 임의의 다른 객체를 포함할 수 있다. 지능형 디렉터는 적절한 영화적 결정들을 행하기 위해 전경과 배경 사이를 구별할 필요가 있을 수 있다. 전통적인 배경 모델링은 환경에서 배경이 무엇인지 그리고 환경에서 전경이 무엇인지를 결정하기 위해 주기적인 컬러 및 픽셀 정보를 이용할 수 있다. 픽셀들 중 일부가 주기적으로 이동하는 경우(예로서, 컬러 또는 세기 변경), 그들 픽셀들이 전경의 일부라고 결정될 수 있다. 일부 픽셀들이 임계 시간 기간 동안 변경되지 않은 상태로 유지되는 경우, 기존 방법들은 그들 픽셀들이 배경의 일부라고 결정할 수 있다. 그러나, 이 방법은 전경 픽셀들이어야 하는 픽셀들이 객체가 움직이지 않고, 따라서 배경으로 "페이드"되는 것으로 인해 장시간 기간 동안 변경되지 않은 상태로 유지될 때 문제들을 야기한다. 전통적인 방법은 적절하게 전경이어야 하는 픽셀들을 배경으로서 착각할 수 있다. 예를 들면, 사람이 환경으로 이동하는 경우, 전통적인 방법은 처음에 사람의 대응하는 픽셀들을 전경으로서 분류할 수 있다. 이것은 적절하다. 그러나, 사람은 소파에 누워 3시간 동안 낮잠을 잘 수 있다. 결국, 사람은 전통적인 방법이 사람에 대응하는 픽셀들을 배경으로서 분류할 만큼 충분히 오랫동안 움직이지 않은 상태를 유지할 것이다. 이것은 실수이며 지능형 디렉터에 의한 잘못된 결정들로 이어질 수 있다. 화상 채팅 동안 사람이 몇 분 동안 움직이지 않은 상태를 유지하는 경우, 유사한 문제가 발생할 수 있다. 이것은 또한, 지능형 디렉터에 의한 잘못된 결정들로 이어질 수 있다. 예를 들면, 지능형 디렉터는 오랫동안 움직이지 않은 사람이 여전히 AV 통신 세션에 참가하고 있다는 것을 인식할 수 없고, 사람으로부터 멀리 패닝하기 위한 명령들을 잘못 제공할 수 있다.
상기 상황들을 회피하기 위해, 지능형 디렉터는 배경 모델링을 2D 포즈 데이터와 조합할 수 있다. 배경 생성기는 사람이 위치되는 위치들을 제외하고 환경의 모든 부분들에 대한 배경 데이터를 수집할 수 있다. 지능형 디렉터는 환경에 있는 각각의 사람의 위치들을 배경 생성기에 제공할 수 있다. 지능형 디렉터는 2D 포즈 데이터로부터 이 정보를 얻을 수 있다. 지능형 디렉터 또는 또 다른 구성요소는 각각의 사람에 대한 2D 포즈 데이터를 둘러싸는 경계 박스(예로서, 경계 박스(720))를 생성할 수 있다. 경계 박스(720)는 환경에 있는 각각의 개인에 대해 생성될 수 있다. 지능형 디렉터는 각각의 객체가 행하는 이동을 측정함으로써 움직이는 객체들(예로서, 사람, 동물들)과 무생물들(예로서, 사진들, 옷걸이들, 벽 예술품) 사이를 구별할 수 있다. 일반적으로 말하면, 움직이는 객체들은 무생물 객체들보다 훨씬 더 많이 움직일 것이다. 지능형 디렉터는 각각의 객체의 이동을 모니터링할 수 있으며, 객체가 임계 양보다 많이 이동하면, 객체는 움직이는 것으로서 분류될 수 있다. 또는 특정한 실시예들에서, 그것의 연관된 2D 포즈 데이터가 사람의 2D 포즈 데이터와 일치함을 고려할 때, 사람으로서 분류될 수 있다. 객체가 단지 조금만 움직일지라도, 이것은 객체를 사람으로서 분류하기에 충분할 수 있다. 예를 들면, 누군가가 소파에서 자고 있다면, 그의 유일한 움직임은 그가 숨을 쉴 때 그의 가슴이 오르락 내리락하는 것일 수 있다. 지능형 디렉터는 이것을 검출할 수 있고 그 객체가 사람이라고 결정할 수 있다. 지능형 디렉터는 경계 박스들의 영역들을 제외하고 환경의 모든 지점들에 대한 배경 데이터를 수집하고 업데이트하기 위한 명령들을 제공할 수 있다. 경계 박스 영역들에 대한 오래된 배경 정보는 따라서, 변경되지 않은 상태로 유지된다. 이것은 도 7의 경계 박스들(720)이 어떠한 배경도 보여주지 않는 이유이다 -- 이것은 경계 박스들 내부의 영역에 관해 어떠한 새로운 배경 정보도 수집되지 않음을 도시하는 것이다 - 이전 프레임들로부터의 오래된 데이터는 여전히 유지될 수 있다. 배경(700)은 정적으로 초기화될 수 있다. 정적은 값들이 균일하지 않은 픽셀들을 포함할 수 있고 예로서, RGB 이미지들에 대해, 이것은 균일하지 않은(적색, 녹색, 청색) 값들을 의미할 것이다. 본 발명은 픽셀 간 및 픽셀 내 둘 모두의 불균일성을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 본 발명은 (0, 50, 150), (0, 50, 150) 또는 (50, 50, 50), (100, 100, 100)의 RGB 값들을 갖는 2개의 인접한 픽셀들을 고려한다. 다른 실시예들에서, 컬러 공간은 그레이스케일 또는 HSV 등일 수 있다. 그러나, 도면들에서 단순성의 목적들을 위해, 경계 박스들(720)은 백색 픽셀들을 보여준다. 특정한 실시예들에서, 각각의 픽셀은 환경 내의 특정한 위치에 대응한다. 각각의 픽셀은 모든 다른 픽셀과 상이한 x, y 좌표 값을 가질 수 있다. 예를 들면, 환경의 렌더링의 좌측 하부 코너에 있는 픽셀은 (0,0)의 x, y 좌표 값을 가질 수 있다. 각각의 픽셀은 또한, 특정한 RGB 컬러 값을 가질 수 있다. 예를 들면, 백색 픽셀은 255, 255, 255의 RGB 컬러 값을 가질 수 있다. 검은 픽셀은 0, 0, 0의 RGB 컬러 값을 가질 수 있다. 녹색 픽셀은 0, 255, 0의 RGB 컬러 값을 가질 수 있다. 오렌지색 픽셀은 255, 128, 0의 RGB 컬러 값을 가질 수 있다.
특정한 실시예들에서, 배경 데이터를 수집하는 것은 배경 요소들(예로서, 의자들, 천장, 바닥, 샹들리에들, 등)과 연관된 픽셀들에 대한 RGB 컬러 값이 배경으로서 기록되고 태그됨을 의미할 수 있다. 특정한 실시예들에서, 깊이 정보는 부가적으로 수집될 수 있다. 따라서, 각각의 픽셀은 RGB 값 뿐만 아니라, D(깊이에 대한) 값을 가질 수 있다. 이것은 장치에 더 가까운 객체들에 대응하는 픽셀들이 전경일 가능성이 더 높고 장치로부터 멀리 떨어진 객체들이 배경일 가능성이 더 높음을 고려할 때, 지능형 디렉터가 어떤 픽셀들이 전경을 표현하고 어떤 픽셀들이 배경을 표현하는지를 결정하는데 도움이 될 수 있다. 이러한 방식으로 배경 시각적 데이터를 수집하는 것은 2가지 목적들에 적합할 수 있다. 첫째, RGB 컬러 값들은 조명 및 컬러 정정 목적들을 위해 환경의 이력 RGB 컬러 값들과 비교될 수 있다. 예를 들면, RGB 컬러 값들이 방에 오렌지색 색조가 존재함을 나타내면, 지능형 디렉터는 수신 지능형 통신 장치에서 렌더링된 이미지를 컬러 정정하기 위한 명령들을 제공할 수 있다. 둘째, 배경 데이터로서 태그된 시각적 데이터는 전경(예로서, 사람)을 배경으로부터 구별하기 위해 이용될 것이다. 환경에 있는 사람들이 환경의 주위를 움직일 때, 경계 박스들(720)은 사람들과 함께 움직일 수 있고, 전경의 태그는 사람들이 환경 밖으로 이동할 때까지 경계 박스들(720)과 함께 남을 수 있다. 따라서, 사람이 이미지의 영역 밖으로 이동하면, 배경 생성기는 최근 비워진 영역에 관한 배경 정보를 수집하는 것을 시작할 수 있다. 특정한 실시예들에서, 좌표 지점들의 세트는 주기적으로(예로서, 초당 30 회) 업데이트되어, 사람들의 움직임들이 2D 포즈 데이터를 이용하여 추적될 수 있게 한다. 이것은 지점들의 세트의 포지셔닝(positioning)으로 하여금 사람들이 방에서 이동함에 따라 변경되게 할 수 있다. 경계 박스들(720)은 또한, 인간 골격들과 함께 방 주위를 이동할 수 있다. 본 발명이 RGB 컬러 공간 내에서 동작하는 것을 논의할지라도, 본 발명은 임의의 적절한 컬러 공간을 포함한다.
특정한 실시예들에서, 배경 생성기는 시간에 걸친 픽셀들의 컬러 및/또는 세기의 변동을 추적할 수 있다. 지능형 통신 장치가 이동(회전 또는 병진이동)되면, 카메라 이미지의 픽셀들이 배경/전경 모델에 저장된 정보와 더 이상 1:1 대응이 되지 않을 수 있다. 따라서, 배경 생성기는 픽셀 컬러 및/또는 대응하는 픽셀들의 세기의 큰 변화를 검출할 수 있다. 이것은 배경 및 전경이 실제로 변경되지 않았기 때문에 문제를 제기할 수 있다 - 지능형 통신 장치의 이동으로 인해 방의 감지된 조명만 변경되었다. 또 다른 상황에서, 실내 조명들을 켜거나 끄는 것은 배경/전경 모델에 이미 저장된 픽셀들과 비교할 때 카메라 이미지의 들어오는 픽셀들에 큰 차를 야기할 수 있다. 따라서, 모든 픽셀들은 "이동하는"것으로 간주되고 전경으로서 태그될 수 있다. 이들 문제점들을 극복하기 위해, 특정한 실시예들에서, 지능형 통신 장치(130)는 장치에 설치된 센서들을 이용하여 이러한 이벤트들(장치 회전/병진이동 또는 큰 조명 변화들)을 검출할 수 있다. 특정한 실시예들에서, 장치(130)는 단순히 모든 또는 거의 모든 픽셀들이 하나의 프레임으로부터 다음 프레임으로 변경되었음을 검출함으로써 장치 회전/병진이동 또는 주요 조명 변화들을 검출할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, AV 통신 세션 동안 제 1 순간에서, 픽셀들의 40%가 전경으로서 태그될 수 있고 픽셀들의 60%가 배경으로서 태그될 수 있다. AV 통신 세션 동안 제 2 순간에서, 장치(130)는 픽셀들의 100%가 전경으로서 태그될 수 있음을 검출할 수 있다. 전경 픽셀들의 이러한 큰 변화는 장치(130)가 이동되거나 큰 조명 변화(예로서, 방의 조명들을 켜거나 끄는 것) 없이 일어날 가능성이 매우 낮다. 따라서, 픽셀들의 임계 수 또는 비율이 배경으로부터 전경으로 시프트할 때마다, 장치(130)는 글로벌 이벤트가 발생했다고(예로서, 장치(130)가 이동되었고, 환경에서 조명이 크게 변경된 것으로서) 결정할 수 있다.
글로벌 이벤트가 검출될 때, 2가지 단계들이 발생할 수 있다. 먼저, 지능형 디렉터(132)는 글로벌 이벤트가 발생하기 전에 캡쳐된 디스플레이 스냅샷을 결정하기 위해 저장 유닛에 액세스할 수 있다. 디스플레이 스냅샷은 수신 지능형 통신 장치(130)에 디스플레이되고 있던 환경의 일부를 보여줄 수 있다. 둘째, 지능형 통신 장치(130)는 배경/전경 모델링 프로세스의 재설정을 트리거링할 수 있다. 이것은 배경 생성기가 디스플레이 스냅샷에 포함된 환경의 부분을 재학습하는 것을 허용할 것이다. 이것은 지능형 디렉터(132)가 카메라가 캡쳐하는 모든 것을 재학습할 필요가 없을 수 있기 때문에 시간을 절약할 수 있다 -- 수신 장치(130)에 디스플레이된 부분만. 들어오는 카메라 픽셀들은 이후에, 새로 학습된 배경/전경 모델과 비교될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, AV 통신 세션 동안 제 1 순간에서, 지능형 디렉터(132)는 특정한 참가자를 줌인하기 위한 명령들을 제공할 수 있다. 이 제 1 시간에, 디스플레이 스크린은 참가자의 줌인된 뷰를 보여줄 수 있다. 이것은 디지털 줌일 수 있음에 유의한다; 송신 장치의 카메라는 실제로 수신 장치에 디스플레이된 것보다 많은 것을 캡쳐할 수 있다. 제 1 시간에, 디스플레이 스냅샷은 수신 장치에 디스플레이되고 있는 것일 수 있다(예로서, 참가자의 줌인된 뷰). 그것은 전송 장치의 카메라에 의한 캡쳐된 영역의 단지 50%를 포함할 수 있다. 제 2 순간에서, 지능형 디렉터는 픽셀들의 임계 퍼센티지가 변경되었기 때문에(예로서, 100%) 글로벌 이벤트를 검출할 수 있다. 지능형 디렉터(132)는 글로벌 이벤트 전에(예로서, 이 예에서 제 1 순간 동안) 캡쳐된 디스플레이 스냅샷에 액세스할 수 있다. 지능형 디렉터(132)는 그 다음, 전경/배경 모델링을 재설정하고 디스플레이 스냅샷 내의 영역에 대한 학습을 시작하기 위한 명령들을 제공할 수 있다. 일단 그 전경/배경 모델링이 실질적으로 완료되면, 나머지 환경은 전경 및 배경에 대해 모델링될 수 있다.
특정한 실시예들에서, AV 통신 세션 동안, 참가자는 참가자가 AV 통신 세션에서 또 다른 참가자 또는 객체(예로서, 애완 동물)를 줌인하기를 원한다는 것을 나타내기 위해 디스플레이 스크린을 탭할 수 있다. 응답하여, 지능형 디렉터는 배경으로서 태그된 픽셀들 중 일부를 자르기 위한 명령들을 제공할 수 있다. 배경으로서 태그되는 픽셀들은 참가자에게 매우 흥미롭지 않을 수 있고, 따라서 지능형 디렉터는 배경 픽셀들을 자르기 위한 명령들을 제공할 가능성이 더 높을 수 있다.
도 8은 지능형 통신 장치에 의해 사람들을 재식별하기 위한 일 예시적인 시각화를 도시한다. 시각화는 예시적인 몸통 영역(820), 예시적인 컬러 히스토그램(830), 예시적인 위치 및 궤적 박스(840), 및 예시적인 비 박스(850)를 갖는 일 예시적인 사람(810)을 포함할 수 있다. 특정한 실시예들에서, 오디오 통신 세션 동안 제 1 시간에서, 지능형 통신 장치와 또는 원격 서버와 연관된 프로세서들은 제 1 참가자가 지능형 통신 장치의 환경 내에 위치된다고 결정할 수 있다. 예를 들면, 프로세서는 참가자(810)가 환경 내에 있다고 결정할 수 있다. 프로세서는 제 1 신체 영역(예로서, 몸통 영역(820))의 위치를 찾을 수 있다. 프로세서는 또한, 제 1 신체 영역에 대한 제 1 컬러 히스토그램을 생성할 수 있다. 컬러 히스토그램은 이미지에서 컬러들의 분포의 표현일 수 있다. 디지털 이미지들에 대해, 컬러 히스토그램은 이미지의 컬러 공간, 모든 가능한 컬러들의 세트에 걸쳐 있는 고정된 목록의 컬러 범위들의 각각에 있는 컬러들을 갖는 픽셀들의 수를 표현한다. 예를 들면, 컬러 히스토그램은 컬러 히스토그램(830)일 수 있다. 컬러 히스토그램은 얼마나 많은 적색, 녹색, 청색(RGB) 픽셀들이 신체 영역에 있는지를 나타낼 수 있다. 컬러 히스토그램은 몇몇 픽셀 버킷들로 분할될 수 있고, 여기서 각각의 열은 컬러의 RGB 범위(예로서, 0 내지 255)의 일부에 걸쳐 있는 픽셀들을 표현한다. 예를 들면, 히스토그램(531)에서 1 내지 10으로 라벨링된 열들은 각각 상이한 범위들의 컬러들(예로서, 0 내지 25, 26 내지 50, 등)의 청색 픽셀들을 표현할 수 있다. 프로세서는 각각의 픽셀의 값을 결정하고 그것을 적절한 열에 할당할 수 있다. 이것은 히스토그램(830)에 의해 도시된 바와 같이, 각각의 RBG 채널에 대해 별개로 행해질 수 있다. 각각의 참가자는 고유하지만 비 식별 컬러 히스토그램을 가질 수 있으며 지능형 디렉터는 그들의 각각의 컬러 히스토그램들을 참조함으로써 참가자들을 추적할 수 있다. 특정한 실시예들에서, 지능형 디렉터는 참가자를 이름으로 식별할 수 없지만 단순히 참가자들을 추적하기 위해 각각의 참가자의 컬러 히스토그램을 이용할 수 있다. 이 방식으로, 지능형 디렉터는 동일한 AV 통신 세션에서 한명의 참가자를 또 다른 참가자로 착각하지 않을 것이다.
특정한 실시예들에서, 프로세서는 제 1 신체 영역(예로서, 몸통 영역)과 동일한 제 2 참가자의 제 2 신체 영역의 위치를 찾을 수 있다. 프로세서는 제 2 신체 영역의 제 2 컬러 히스토그램을 생성할 수 있으며, 제 2 컬러 히스토그램은 제 2 신체 영역의 하나 이상의 컬러들의 제 2 분포를 표현한다. 프로세서는 그 다음, 제 1 컬러 히스토그램을 제 2 컬러 히스토그램과 비교할 수 있다. 어떠한 2개의 컬러 히스토그램들도 2명의 상이한 사람들에 대해 정확히 동일하지 않을 것이기 때문에, 프로세서가 2개의 컬러 히스토그램이 동일하다고 결정하면, 프로세서는 컬러 히스토그램들 둘 모두가 동일한 사람을 표현한다고 결정할 수 있다. 특정한 실시예들에서, 프로세서는 규칙적인 간격들로 모든 참가자들에 대한 새로운 컬러 히스토그램(예로서, 참가자당 초당 10개의 컬러 히스토그램들)을 생성할 수 있다.
특정한 실시예들에서, 프로세서는 또한, 참가자와 연관된 하나 이상의 비들을 결정할 수 있다. 각각의 참가자는 장치(130)가 위치되는 환경에 있는 다른 이용자들에 비해 고유 신체 비율들을 가질 수 있다. 따라서, 프로세서들은 그것이 컬러 히스토그램들을 이용하는 것과 유사한 방식으로 참가자들을 추적하기 위해 이들 신체 비율들을 이용할 수 있다. 예시적인 신체 비율들은 비 박스(840)에서 제공된다. 본 발명은 임의의 적합한 신체 비를 고려한다. 부가적으로, 프로세서는 참가자의 현재 위치 및 현재 궤적을 결정할 수 있다. 이들 메트릭들은 참가자들을 추적하기 위해 이용될 수 있다. 예를 들면, 제 1 참가자가 제 1 시간에 위치(x)에 위치되고 좌측으로 이동하는 경우, 동일한 참가자가 제 1 시간프레임 직후에 위치(x)의 우측에 위치될 가능성이 거의 없다. 프로세서가 제 1 시간프레임 직후에 위치(x)의 우측에 있는 제 2 참가자를 검출하면, 그것은 제 2 참가자가 제 1 참가자와 상이하다고 결정할 수 있다.
특정한 실시예들에서, 장치(130)는 환경에 있는 참가자들을 추적하기 위해 비 식별 안면 인식을 수행할 수 있다. 이것은 익명의 로컬 안면 인식으로서 언급될 수 있는데 - 이는 참가자들이 실제로 식별되지 않고, 어떠한 데이터도 원격 서버에 전송되지 않기 때문이다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 장치(130)는 2명의 참가자들이 환경에 위치된다고 결정할 수 있다. 장치(130)는 이들 참가자들을 이름으로 식별할 수 없지만 대신에 그들을 추적하기 위해 필명들을 이용할 수 있다. 예를 들면, 그것은 제 1 참가자에게 "이용자 A"를 라벨링하고 제 2 참가자에게 "이용자 B"를 라벨링할 수 있다. 이용자 A 및 이용자 B는 각각 그들 자신의 매너리즘들 및 말하고 움직이는 스타일을 가질 수 있으며, 이는 지능형 디렉터(132)로 하여금 각각의 이용자에 대해 상이한 영화적 결정들을 행하게 할 수 있다. 따라서, 어떤 참가자가 이용자 A이고 어떤 참가자가 이용자 B인지 추적하는 것이 중요할 수 있다. 이용자 A가 이용자 B의 경로를 가로지르면, 지능형 디렉터(132)는 이들 2명의 참가자들에 대한 레이블들을 실수로 바꿀 수 있다. 이것을 정정하기 위해, 지능형 디렉터(132)는 어느 참가자가 이용자 A이고 어느 참가자가 이용자 B인지를 결정하기 위해 안면 인식 엔진에 액세스할 수 있다. 이것은 장치(130)가 AV 통신 세션의 시작에서 그들의 얼굴 프로파일을 국부적으로 저장하도록 요구할 수 있다. 상기 기능은 참가자들 중 한명이 잠시 환경을 떠났다가 그 다음, 환경에 재진입하는 경우(예로서, 5분 동안 떠난 후에 재진입함) 적용될 수 있다. 시스템은 참가자가 이전에 라벨링되었음을 빠르게 인식할 수 있으며(예로서, 그들의 컬러 히스토그램, 안면 프로파일, 및/또는 비들로부터, 시스템은 참가자가 "이용자 A"라고 결정할 수 있음), 참가자와 연관된 이전에 저장된 데이터를 검색할 수 있다. 특정한 실시예들에서, 임의의 참가자에 대한 저장된 데이터는 참가자가 시간의 임계 양 동안 AV 통신 세션을 떠난 후에(예로서, 5분 이상 방을 떠남) 삭제될 수 있다.
특정한 실시예들에서, 프로세서는 이들 요소들: 컬러 히스토그램, 비 메트릭, 및 현재 위치와 궤적 메트릭의 각각에 가중치들을 할당할 수 있다. 요소들에는 시스템 관리자의 요구에 따라 상이하게 가중치가 부여될 수 있다. 가중치들 및 요소들은 각각의 참가자에 대한 재식별 점수를 산출하기 위해 이용될 수 있다. 재식별 점수는 참가자가 이전에 결정된 특정한 참가자일 가능성일 수 있다. 예를 들면, 시스템은 제 1 참가자를 식별하고 그녀에게 참가자 A를 라벨링할 수 있다. 잠시 후에, 시스템은 제 2 참가자를 식별하고 그녀에게 참가자 B를 라벨링할 수 있다. 시스템은 그 다음, 참가자들 A 및 B의 재식별 점수들을 비교할 수 있고, 그들이 임계 범위 내에 있다면, 프로세서는 참가자 B가 실제로 참가자 A라고 결정할 수 있다(즉, 그들은 동일한 사람임).
도 9는 2명의 중첩하는 사람들로부터 발생하는 문제의 일 예시적인 시각화를 도시한다. 도 9는 남자 및 여자라는 2명의 사람들이 있는 경계 박스를 포함할 수 있다. 2D 포즈 데이터는 서로 너무 가까이에 위치되는 2명의 상이한 사람들 사이를 구별하지 못할 수 있다. 여자 및 남자가 동일한 공간에 있기 때문에, 2D 포즈 데이터는 2명의 사람들에게 동일한 경계 박스를 할당할 수 있다. 이것은 지능형 디렉터가 경계 박스 안에 단일의 사람만 있다고 생각할 수 있으므로 문제가 될 수 있다. 이것은 지능형 디렉터가 잘못된 신체 부위들에 라벨들을 할당하는 것을 야기할 수 있다(예로서, 도 9에 도시된 바와 같이). 이것은 지능형 디렉터로 하여금 부적절한 결정들을 행하게 할 수 있다. 이 문제에 대한 해결책은 도 11에 도시된다.
도 10a 및 도 10b는 2명의 중첩하는 사람들로부터 발생하는 또 다른 문제의 일 예시적인 시각화를 도시한다. 이 시나리오에서, 2명의 사람들은 단지 부분적으로 중첩하고 있고, 따라서 그들의 경계 박스들(1010 및 1020)은 단지 부분적으로 중첩하고 있다(도 9에 도시된 것과 동일한 경계 박스를 공유하는 것과 반대로). 도 10a 및 도 10b의 좌측에 있는 여성은 경계 박스(1010)에 대응할 수 있다. 우측의 남자는 경계 박스(1020)에 대응할 수 있다. 가장 단순한 경우에, 각각의 사람은 그 자신의 경계 박스에 대응할 것이고 경계 박스들 중 어느 것도 중첩하지 않을 것이다. 따라서, 각각의 경계 박스는 경계 박스 내의 인간 골격에 대응하는 2개의 눈들, 2개의 귀들, 2개의 팔들, 2개의 다리들, 등을 가질 것이다. 이 더 복잡한 시나리오에서, 2명의 사람들이 중첩하고 있다. 이것은 그럼에도 불구하고 지능형 디렉터(132)에 의해 취급될 필요가 있을 수 있는 일부 불규칙성들을 야기할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 경계 박스(1020)는 하나의 눈(1022)을 단지 포함할 수 있고, 경계 박스(1010)는 3개의 눈들(1011, 1012, 및 1021)을 포함할 수 있다. 부가적으로, 경계 박스(1020)는 2개의 팔들(1023 및 1014)을 포함할 수 있지만, 팔들 중 단지 하나가 경계 박스(1020)에 대응하는 인간 골격(예로서, 우측의 남자)에 적절하게 대응할 수 있다. 신체 부위들을 적절한 인간 골격에 귀속시키기 위해, 지능형 디렉터(132)는 하기의 도 11 및 도 15를 참조하여 논의된 프로세스를 이용할 수 있다. 게다가, 지능형 디렉터는 적절한 연관들을 행하기 위해 하나 이상의 통계 모델들을 이용할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 지능형 디렉터(132)는 인간 골격이 3개의 눈들을 소유하는 것이 통계적으로 불가능하다고 결정할 수 있다. 따라서, 그것은 눈들(1011, 1012, 및 1021) 중 하나가 경계 박스(1010)의 인간 골격에 적절하게 대응하지 않을 수 있다고 결정할 수 있다. 지능형 디렉터(132)는 눈들(1011, 1012, 및 1021)의 각각의 사이의 거리를 측정할 수 있다. 그것은 눈들(1011 및 1012)이 눈(1021)이 눈(1011 또는 1012)이라기보다 함께 더 가깝다고 결정할 수 있다. 통계적으로, 눈들(1011 및 1012)이 동일한 사람에 속하고 눈(1021)이 그들의 상대적 거리들에 기초하여, 상이한 사람에 속할 가능성이 더 크다. 따라서, 그것은 눈들(1011 및 1012)이 한명의 사람에 속하고, 눈(1021)이 경계 박스가 경계 박스(1010)와 중첩하고 있는 또 다른 사람에 속한다고 결정할 수 있다. 특정한 실시예들에서, 얼굴 검출은 또한, 중첩하는 사람들을 명확하게 하는 역할을 할 수 있다. 본 발명이 특정한 방식으로 신체 부위들을 인간 골격에 연관시키는 것을 설명할지라도, 본 발명은 임의의 특정한 방식으로 신체 부위들을 인간 골격들에 연관시키는 것을 고려한다.
도 11은 지능형 통신 장치에 의해 중첩하는 사람들을 명확하게 하기 위한 일 예시적인 시각화를 도시한다. 중복하고 있고 따라서, 동일한 경계 박스를 공유하는 이용자들을 명확하게 하기 위해, 프로세서는 환경(예로서, 2D 포즈 데이터)에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트로부터, 사람의 안면 특징에 대응하는 좌표 지점을 식별할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 사람은 사람(1110) 및/또는 사람(1120)일 수 있다. 안면 특징은 사람의 좌측 눈일 수 있다. 프로세서는 그 다음, 사람의 얼굴에 대한 안면 구조(1130)를 생성할 수 있다. 안면 구조(1030)는 사람의 얼굴의 안면 특징들을 매핑하려고 시도할 수 있다. 그것은 사람의 복수의 안면 특징들을 커버할 수 있다. 안면 구조(1130)는 또한, 미리 결정된 안면 구조와 실질적으로 매칭할 필요가 있을 수 있다. 이것은 거의 모든 얼굴들이 동일한 상대적 위치들: 눈들 사이와 아래의 코, 눈들의 외부와 약간 아래의 귀들에서 특징들을 갖기 때문이다. 프로세서가 미리 결정된 안면 구조와 매칭하는 안면 구조를 2D 포즈 데이터의 안면 지점들에 매핑할 수 있다면, 안면 구조와 연관된 단일의 사람이 존재한다고 결정하는 것에 더 확신이 있을 수 있다. 일단 안면 구조가 매핑되었으면, 프로세서는 사람에 대한 신체 골격 구조(1140)를 생성할 수 있다. 대부분의 사람들의 신체들이 머리 아래의 몸통, 몸통의 주변에 있는 팔들 및 다리들과 같은 유사한 신체 구조들을 가질 수 있기 때문에, 신체 골격 구조는 미리 결정된 신체 골격 구조와 실질적으로 매칭할 필요가 있을 수 있다. 생성된 골격 신체 구조가 미리 결정된 구조와 실질적으로 매칭하지 않으면, 지능형 디렉터는 생성된 신체 골격 구조가 단일의 사람에 대응할 가능성을 감소시킬 수 있다. 특정한 실시예들에서, 신체 골격 구조는 또한, 적어도 하나의 차원에서(예로서, 안면 구조(1130) 및 신체 구조(1140)에 의해 도시된 바와 같이 수직으로) 안면 구조와 정렬할 수 있다. 이것이 사실이면, 그것은 생성된 신체 골격 구조가 단일의 사람에 대응할 가능성을 증가시킬 수 있다.
특정한 실시예들에서, 생성된 신체 골격 구조가 단일의 사람에 대응할 가능성이 임계치를 초과하는 경우, 프로세서는 생성된 신체 골격 구조 및 안면 구조를 환경에 있는 특정한 사람과 연관시킬 수 있다. 프로세서는 이름으로 사람을 식별할 수 없지만 대신에, 2D 포즈 데이터의 좌표 지점들의 세트가 단일의 사람에 대응한다고 결정할 수 있다. 이 결정에 기초하여, 지능형 디렉터는 생성된 신체 골격 구조 및 안면 구조에 기초하여 카메라, 마이크, 스피커, 또는 디스플레이 스크린에 대한 하나 이상의 명령들을 결정할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 지능형 디렉터는 안면 구조에 의해 결정된 바와 같이 특정한 얼굴에 가깝게 줌인하기 위한 명령들을 제공할 수 있다. 이것은 지능형 디렉터가 임의의 안면 또는 신체 골격 구조들을 2D 포즈 데이터에 매핑하지 않고 단지 2D 포즈 데이터에 의존하는 경우와 같이, 디스플레이 스크린이 2개의 얼굴들 대신에 가깝게 잘린 얼굴을 보여주는 것을 허용할 수 있다. 도 12는 환경의 서술적 모델에 기초하여 영화적 결정들을 결정하기 위한 일 예시적인 방법(1200)을 도시한다. 방법은 단계(1210)에서 시작할 수 있으며, 여기서 컴퓨팅 장치는 하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스할 수 있고, 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함한다. 단계(1220)에서, 컴퓨팅 장치는 입력 데이터에 기초하고 장치(130) 소유자 및 모든 관련 이용자들의 프라이버시 설정들에 따라, (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 환경 내의 한 명 이상의 사람들, 또는 (3) 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성할 수 있다. 단계(1230)에서, 컴퓨팅 장치는 하나 이상의 서술적 특성들에 기초하는 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성할 수 있다. 단계(1240)에서, 컴퓨팅 장치는 하나 이상의 카메라들 및 하나 이상의 마이크들과 연관된 컴퓨팅 장치로 하나 이상의 명령들을 전송할 수 있다.
도 13은 오디오-비디오 통신 세션 동안 전경 및 배경 설명을 결정하기 위한 일 예시적인 방법을 도시한다. 단계(1310)에서, 컴퓨팅 장치는 환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트를 포함하는 전경 시각적 데이터에 액세스할 수 있다. 단계(1320)에서, 컴퓨팅 장치는 좌표 지점들의 세트에 대한 경계 박스를 생성할 수 있으며, 경계 박스는 좌표 지점들의 세트의 모든 좌표 지점을 포함한다. 단계(1330)에서, 컴퓨팅 장치는 경계 박스 외부에 있는 환경의 영역에 대한 배경 시각적 데이터를 수집하기 위한 명령들을 제공할 수 있다. 단계(1340)에서, 컴퓨팅 장치는 컴퓨팅 장치와 연관된 지능형 디렉터에게 전경 시각적 데이터 및 배경 시각적 데이터를 제공할 수 있다.
도 14는 오디오-비디오 통신 세션 동안 사람들을 재식별하기 위한 일 예시적인 방법을 도시한다. 단계들(1410 내지 1430)은 제 1 시간에 수행될 수 있고, 단계들(1440 내지 1380)은 제 1 시간 이후인 제 2 시간에 수행될 수 있다. 단계(1410)에서, 컴퓨팅 장치는 제 1 참가자가 오디오-비디오 통신 세션과 연관된 환경에 위치된다고 결정할 수 있다. 단계(1420)에서, 컴퓨팅 장치는 제 1 참가자의 제 1 신체 영역의 위치를 찾을 수 있다. 단계(1430)에서, 컴퓨팅 장치는 제 1 신체 영역의 제 1(및 특정 실시예에서, 비 식별) 컬러 히스토그램을 생성할 수 있으며, 제 1 비 식별 컬러 히스토그램은 제 1 신체 영역의 하나 이상의 컬러들의 제 1 분포를 표현한다. 단계(1440)에서, 컴퓨팅 장치는 제 2 참가자가 환경에 위치된다고 결정할 수 있다. 단계(1450)에서, 컴퓨팅 장치는 제 1 신체 영역과 동일한 제 2 참가자의 제 2 신체 영역의 위치를 찾을 수 있다. 단계(1460)에서, 컴퓨팅 장치는 제 2 신체 영역의 제 2(및 특정한 실시예들에서, 비 식별) 컬러 히스토그램을 생성할 수 있으며, 제 2 컬러 히스토그램은 제 2 신체 영역의 하나 이상의 컬러들의 제 2 분포를 표현한다. 단계(1470)에서, 컴퓨팅 장치는 제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다고 결정할 수 있다. 단계(1480)에서, 컴퓨팅 장치는 제 1 컬러 히스토그램이 제 2 컬러 히스토그램과 동일하다는 결정에 기초하여, 제 1 참가자가 제 2 참가자와 동일하다고 결정할 수 있다.
도 15는 오디오-비디오 통신 세션 동안 중첩하는 사람들을 명확하게 하기 위한 일 예시적인 방법을 도시한다. 단계(1510)에서, 컴퓨팅 장치는 환경에 있는 사람의 복수의 표면 지점들에 대응하는 좌표 지점들의 세트로부터, 사람의 안면 특징에 대응하는 좌표 지점을 식별할 수 있다. 단계(1520)에서, 컴퓨팅 장치는 사람의 얼굴에 대한 안면 구조를 생성할 수 있으며, 안면 구조는 사람의 복수의 안면 특징들을 커버하고 미리 결정된 안면 구조와 실질적으로 매칭한다. 단계(1530)에서, 컴퓨팅 장치는 사람에 대한 신체 골격 구조를 생성할 수 있으며, 신체 골격 구조는 미리 결정된 신체 골격 구조와 실질적으로 매칭하고 2차원 좌표 평면의 적어도 하나의 차원에서 생성된 안면 구조와 실질적으로 정렬한다. 단계(1540)에서, 컴퓨팅 장치는 생성된 신체 골격 구조 및 안면 구조를 환경에 있는 사람과 연관시킬 수 있다. 단계(1550)에서, 컴퓨팅 장치는 생성된 신체 골격 구조 및 안면 구조에 기초하여 카메라, 마이크, 스피커, 또는 디스플레이 스크린에 대한 하나 이상의 명령들을 결정할 수 있다.
특정 실시예들은 적절한 경우, 도 12 내지 도 15의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정한 순서로 발생하는 것으로서 도 12 내지 도 15의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 12 내지 도 15의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 12 내지 도 15의 방법의 특정한 단계들을 포함하는 일 예시적인 방법들을 설명하고 도시할지라도, 본 발명은 적절한 경우, 도 12 내지 도 15의 방법의 단계들 중 전부, 일부를 포함할 수 있거나, 그들 중 어느 것도 포함하지 않을 수 있는 임의의 적합한 단계들을 포함하는 본 명세서에서 논의된 실시예들을 실행하기 위한 임의의 적합한 방법들을 고려한다. 또한, 본 발명이 도 12 내지 도 15의 방법의 특정한 단계들을 실행하는 특정한 구성요소들, 장치들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 12 내지 도 15의 방법의 임의의 적합한 단계들을 실행하는 임의의 적합한 구성요소들, 장치들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
도 16은 소셜 네트워킹 시스템과 연관된 일 예시적인 네트워크 환경(1600)을 도시한다. 네트워크 환경(1600)은 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 및 네트워크(1610)에 의해 서로 연결된 제 3 자 시스템(1670)을 포함한다. 도 16이 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 제 3 자 시스템(1670), 및 네트워크(1610)의 특정한 배열을 도시할지라도, 본 발명은 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 제 3 자 시스템(1670), 및 네트워크(1610)의 임의의 적합한 배열을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 및 제 3 자 시스템(1670) 중 2개 이상은 네트워크(1610)를 우회하여 서로 직접적으로 연결될 수 있다. 또 다른 예로서, 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 및 제 3 자 시스템(1670) 중 2개 이상은 물리적으로 또는 논리적으로 서로 전체적으로 또는 부분적으로 공동 위치될 수 있다. 게다가, 도 16이 특정한 수의 클라이언트 시스템들(1630), 소셜 네트워킹 시스템들(1660), 제 3 자 시스템들(1670), 및 네트워크들(1610)을 도시할지라도, 본 발명은 임의의 적합한 수의 클라이언트 시스템들(1630), 소셜 네트워킹 시스템들(1660), 제 3 자 시스템들(1670), 및 네트워크들(1610)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크 환경(1600)은 다수의 클라이언트 시스템(1630), 소셜 네트워킹 시스템들(1660), 제 3 자 시스템들(1670), 및 네트워크들(1610)을 포함할 수 있다.
본 발명은 임의의 적합한 네트워크(1610)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크(1610)의 하나 이상의 부분들은 애드 혹 네트워크(ad hoc network), 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 통신망(WAN), 무선 WAN(WWAN), 도시권 통신망(MAN), 인터넷의 일부, 공중 전화 교환망(PSTN)의 일부, 셀룰러 전화 네트워크, 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 네트워크(1610)는 하나 이상의 네트워크들(1610)을 포함할 수 있다.
링크들(1650)은 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 및 제 3 자 시스템(1670)을 통신 네트워크(1610)에 또는 서로 연결할 수 있다. 본 발명은 임의의 적합한 링크들(1650)을 고려한다. 특정한 실시예들에서, 하나 이상의 링크들(1650)은 하나 이상의 유선(예로서, 디지털 가입자 라인(DSL) 또는 DOCSIS(Data Over Cable Service Interface Specification)과 같은), 무선(예를 들면, 와이파이 또는 WiMAX(Worldwide Interoperability for Microwave Access)와 같은), 또는 광학(예를 들면, 동기식 광 통신망(Synchronous Optical Network; SONET) 또는 동기식 디지털 계층(Synchronous Digital Hierarchy; SDH)과 같은) 링크들을 포함한다. 특정한 실시예들에서, 하나 이상의 링크들(1650)은 각각, 애드 혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 일부, PSTN의 일부, 셀룰러 기술 기반 네트워크, 위성 통신 기술 기반 네트워크, 또 다른 링크(1650), 또는 2개 이상의 이러한 링크들(1650)의 조합을 포함한다. 링크들(1650)은 반드시 동일한 전체 네트워크 환경(1600)일 필요는 없다. 하나 이상의 제 1 링크들(1650)은 하나 이상의 제 2 링크들(1650)과 하나 이상의 측면들에서 상이할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(1630)은 하드웨어, 소프트웨어, 또는 내장된 로직 구성요소들 또는 2개 이상의 이러한 구성요소들의 조합을 포함하고 클라이언트 시스템(1630)에 의해 구현되거나 지원된 적절한 기능들을 실행할 수 있는 전자 장치일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(1630)은 데스크탑 컴퓨터, 노트북 또는 랩탑 컴퓨터, 넷북, 태블릿 컴퓨터, 전자책 판독기, GPS 장치, 카메라, 개인 휴대용 정보 단말기(PDA), 핸드헬드 전자 장치, 셀룰러 전화, 스마트폰, 증강/가상 현실 장치, 다른 적합한 전자 장치, 또는 그들의 임의의 적합한 조합과 같은 컴퓨터 시스템을 포함할 수 있다. 본 발명은 임의의 적합한 클라이언트 시스템들(1630)을 고려한다. 클라이언트 시스템(1630)은 클라이언트 시스템(1630)에서 네트워크 이용자가 네트워크(1610)에 액세스하는 것을 가능하게 할 수 있다. 클라이언트 시스템(1630)은 그것의 이용자가 다른 클라이언트 시스템들(1630)에서 다른 이용자들과 통신하는 것을 가능하게 할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(1630)은 마이크로소프트 인터넷 익스플로러, 구글 크롬 또는 모질라 파이어폭스와 같은, 웹 브라우저(1632)를 포함할 수 있으며, 하나 이상의 애드온(add-on)들, 플러그인들, 또는 툴바 또는 야후 툴바와 같은, 다른 확장들을 가질 수 있다. 클라이언트 시스템(1630)에서 이용자는 URL(Uniform Resource Locator) 또는 웹 브라우저(1632)를 특정한 서버(서버(1662), 또는 제 3 자 시스템(1670)와 연관된 서버)로 지향시키는 다른 주소를 입력할 수 있고, 웹 브라우저(1632)는 하이퍼 텍스트 전송 프로토콜(HTTP) 요청을 생성하고 HTTP 요청을 서버에 전달할 수 있다. 서버는 HTTP 요청을 수용하고 HTTP 요청에 응답하는 하나 이상의 하이퍼 텍스트 마크업 언어(HTML) 파일들을 클라이언트 시스템(1630)에 전달할 수 있다. 클라이언트 시스템(1630)은 이용자에게 제공하기 위해 서버로부터 HTML 파일들에 기초하여 웹페이지를 렌더링할 수 있다. 본 발명은 임의의 적합한 웹페이지 파일들을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 웹페이지들은 특정한 요구들에 따라 HTML 파일들, 확장가능한 하이퍼 텍스트 마크업 언어(XHTML) 파일들, 또는 확장가능한 마크업 언어(XML) 파일들로부터 렌더링할 수 있다. 이러한 페이지들은 또한, 예를 들면 그리고 제한 없이, 자바스크립트, 자바, 마이크로소프트 실버라이트로 기록된 스크립트들, 마크업 언어 그리고 동기식 자바스크립트 및 XML(AJAX), 등과 같은 스크립트들의 조합들과 같은 스크립트들을 실행할 수 있다. 본 명세서에서, 웹페이지에 대한 참조는 적절한 경우, 하나 이상의 대응하는 웹페이지 파일들(브라우저가 웹페이지를 렌더링하기 위해 이용할 수 있음)을 포함하고 그 반대도 마찬가지이다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 온라인 소셜 네트워크를 호스팅할 수 있는 네트워크 주소지정가능한 컴퓨팅 시스템일 수 있다. 소셜 네트워킹 시스템(1660)은 예를 들면, 이용자 프로파일 데이터, 개념 프로파일 데이터, 소셜 그래프 정보, 또는 온라인 소셜 네트워크와 관련된 다른 적합한 데이터와 같은, 소셜 네트워킹 데이터를 생성하고, 저장하고, 수신하며, 전송할 수 있다. 소셜 네트워킹 시스템(1660)은 네트워크 환경(1600)의 다른 구성요소들에 의해 직접적으로 또는 네트워크(1610)를 통해 액세스될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(1630)은 직접적으로 또는 네트워크(1610)를 통해 웹 브라우저(1632), 또는 소셜 네트워킹 시스템(1660)과 연관된 고유 애플리케이션(예로서, 모바일 소셜 네트워킹 애플리케이션, 메시징 애플리케이션, 또 다른 적합한 애플리케이션, 또는 그들의 임의의 조합)을 이용하여 소셜 네트워킹 시스템(1660)에 액세스할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 서버들(1662)을 포함할 수 있다. 각각의 서버(1662)는 다수의 컴퓨터들 또는 다수의 데이터센터들에 걸친 단일 서버 또는 분산 서버일 수 있다. 서버들(1662)은 예를 들면 그리고 제한 없이, 웹 서버, 뉴스 서버, 메일 서버, 메시지 서버, 광고 서버, 파일 서버, 애플리케이션 서버, 교환 서버, 데이터베이스 서버, 프록시 서버, 본 명세서에서 설명된 기능들 또는 프로세스들을 수행하기 위해 적합한 또 다른 서버, 또는 그들의 임의의 조합과 같은, 다양한 유형들일 수 있다. 특정한 실시예들에서, 각각의 서버(1662)는 서버(1662)에 의해 구현되거나 지원된 적절한 기능들을 실행하기 위한 하드웨어, 소프트웨어, 또는 내장된 로직 구성요소들 또는 2개 이상의 이러한 구성요소들의 조합을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 데이터 저장장치들(1664)을 포함할 수 있다. 데이터 저장장치들(1664)은 다양한 유형들의 정보를 저장하기 위해 이용될 수 있다. 특정한 실시예들에서, 데이터 저장장치들(1664)에 저장된 정보는 특정 데이터 구조들에 따라 구성될 수 있다. 특정한 실시예들에서, 각각의 데이터 저장장치(1664)는 관계, 컬럼지향(columnar), 상관, 또는 다른 적합한 데이터베이스일 수 있다. 본 발명이 특정한 유형들의 데이터베이스들을 설명하거나 도시할지라도, 본 발명은 임의의 적합한 유형들의 데이터베이스들을 고려한다. 특정한 실시예들은 클라이언트 시스템(1630), 소셜 네트워킹 시스템(1660), 또는 제 3 자 시스템(1670)이 데이터 저장장치(1664)에 저장된 정보를 관리하거나, 검색하거나, 수정하거나, 부가하거나, 삭제하는 것을 가능하게 하는 인터페이스들을 제공할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 소셜 그래프들을 하나 이상의 데이터 저장장치들(1664)에 저장할 수 있다. 특정한 실시예들에서, 소셜 그래프는 다수의 이용자 노드들(각각은 특정한 이용자에 대응함) 또는 다수의 개념 노드들(각각은 특정한 개념에 대응함)을 포함할 수 있는 다수의 노드들 및 노드들을 연결하는 다수의 에지들을 포함할 수 있다. 소셜 네트워킹 시스템(1660)은 온라인 소셜 네트워크의 이용자들에게 다른 이용자들과 통신하고 상호작용하는 능력을 제공할 수 있다. 특정한 실시예들에서, 이용자들은 소셜 네트워킹 시스템(1660)을 통해 온라인 소셜 네트워크에 참여하고 그 다음, 그들이 연결하기를 원하는 소셜 네트워킹 시스템(1660)의 다수의 다른 이용자들에게 연결들(예로서, 관계들)을 부가할 수 있다. 본 명세서에서, 용어("친구")는 이용자가 소셜 네트워킹 시스템(1660)을 통한 연결, 연관, 또는 관계를 형성한 소셜 네트워킹 시스템(1660)의 임의의 다른 이용자를 언급할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 소셜 네트워킹 시스템(1660)에 의해 지원된 다양한 유형들의 아이템들 또는 객체들에 대해 동작들을 취하는 능력을 이용자들에게 제공할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 아이템들 및 객체들은 소셜 네트워킹 시스템(1660)의 이용자들이 속할 수 있는 그룹들 또는 소셜 네트워크들, 이용자가 관심을 가질 수 있는 이벤트들 또는 캘린더 엔트리(calender entry)들, 이용자가 이용할 수 있는 컴퓨터 기반 애플리케이션들, 이용자들이 서비스를 통해 아이템들을 구매 또는 판매하는 것을 허용하는 거래들, 이용자가 수행할 수 있는 광고들과의 상호작용들, 또는 다른 적합한 아이템들 또는 객체들을 포함할 수 있다. 이용자는 소셜 네트워킹 시스템(1660)에서 또는 소셜 네트워킹 시스템(1660)과 분리되어 있고 네트워크(1610)를 통해 소셜 네트워킹 시스템(1660)에 결합되는 제 3 자 시스템(1670)의 외부 시스템에 의해 표현될 수 있는 어떤 것과 상호작용할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 다양한 개체들을 연결할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 이용자들이 서로 상호작용할 뿐만 아니라, 제 3 자 시스템들(1670) 또는 다른 개체들로부터 콘텐트를 수신하거나, 이용자들이 애플리케이션 프로그래밍 인터페이스들(API) 또는 다른 통신 채널들을 통해 이들 개체들과 상호작용하는 것을 허용하는 것을 가능하게 할 수 있다.
특정한 실시예들에서, 제 3 자 시스템(1670)은 하나 이상의 유형들의 서버들, 하나 이상의 데이터 저장장치들, API들을 포함하지만 그들로 제한되지 않는 하나 이상의 인터페이스들, 하나 이상의 웹 서비스들, 하나 이상의 콘텐트 소스들, 하나 이상의 네트워크들, 또는 예로서, 서버들이 통신할 수 있는 임의의 다른 적합한 구성요소들을 포함할 수 있다. 제 3 자 시스템(1670)은 소셜 네트워킹 시스템(1660)을 동작시키는 개체와 상이한 개체에 의해 동작될 수 있다. 특정한 실시예들에서, 그러나, 소셜 네트워킹 시스템(1660) 및 제 3 자 시스템들(1670)은 소셜 네트워킹 서비스들을 소셜 네트워킹 시스템(1660) 또는 제 3 자 시스템들(1670)의 이용자들에게 제공하기 위해 서로 결부하여 동작할 수 있다. 이러한 의미에서, 소셜 네트워킹 시스템(1660)은 제 3 자 시스템들(1670)과 같은 다른 시스템들이 인터넷을 통해 이용자들에게 소셜 네트워킹 서비스들 및 기능을 제공하기 위해 이용할 수 있는 플랫폼 또는 백본(backbone)을 제공할 수 있다.
특정한 실시예들에서, 제 3 자 시스템(1670)은 제 3 자 콘텐트 객체 제공자를 포함할 수 있다. 제 3 자 콘텐트 객체 제공자는 클라이언트 시스템(1630)에 전달될 수 있는 콘텐트 객체들의 하나 이상의 소스들을 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 콘텐트 객체들은 예를 들면, 영화 상영 시간들, 영화 리뷰들, 레스토랑 리뷰들, 레스토랑 메뉴들, 제품 정보 및 리뷰들, 또는 다른 적합한 정보와 같은, 이용자에 관심 있는 것들 또는 활동들에 관한 정보를 포함할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 콘텐트 객체들은 쿠폰들, 할인 티켓들, 상품권들, 또는 다른 적합한 인센티브 객체들과 같은, 인센티브 콘텐트 객체들을 포함할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 또한, 소셜 네트워킹 시스템(1660)과의 이용자의 상호작용들을 증진시킬 수 있는 이용자 생성 콘텐트 객체들을 포함한다. 이용자 생성 콘텐트는 이용자가 소셜 네트워킹 시스템(1660)에 부가하거나, 업로드하거나, 전송하거나, "게시"할 수 있는 무엇이든 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 클라이언트 시스템(1630)으로부터의 게시물들을 소셜 네트워킹 시스템(1660)으로 전달한다. 게시물들은 상태 업데이트들 또는 다른 텍스트 데이터, 위치 정보, 사진들, 비디오들, 링크들, 음악 또는 다른 유사한 데이터 또는 매체들과 같은 데이터를 포함할 수 있다. 콘텐트는 또한, 뉴스피드 또는 스트림과 같은, "통신 채널"을 통해 제 3 자에 의해 소셜 네트워킹 시스템(1660)에 부가될 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 다양한 서버들, 서브 시스템들, 프로그램들, 모듈들, 로그들, 및 데이터 저장장치들을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은: 웹 서버, 동작 로거, API 요청 서버, 관련성 및 순위 엔진, 콘텐트 객체 분류기, 통보 제어기, 동작 로그, 제 3 자 콘텐트 객체 노출 로그, 추론 모듈, 인가/프라이버시 서버, 검색 모듈, 광고 타겟팅 모듈, 이용자 인터페이스 모듈, 이용자 프로파일 저장장치, 연결 저장장치, 제 3 자 콘텐트 저장장치, 또는 위치 저장장치 중 하나 이상을 포함할 수 있다. 소셜 네트워킹 시스템(1660)은 또한, 네트워크 인터페이스들, 보안 메커니즘들, 로드 밸런서(load balancer)들, 장애 극복 서버(failover server)들, 관리 및 네트워크 운영 콘솔들, 다른 적합한 구성요소들, 또는 그들의 임의의 적합한 조합과 같은 적합한 구성요소들을 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 이용자 프로파일들을 저장하기 위한 하나 이상의 이용자 프로파일 저장장치들을 포함할 수 있다. 이용자 프로파일은 예를 들면, 전기 정보, 인구 통계학적 정보, 거동 정보, 소셜 정보, 또는 업무 경험, 교육 이력, 취미들, 또는 선호도들, 관심사들, 친화도들, 또는 위치와 같은, 상이한 유형들의 서술적 정보를 포함할 수 있다. 관심 정보는 하나 이상의 범주들과 관련된 관심사들을 포함할 수 있다. 범주들은 일반적이거나 구체적일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 신발들의 브랜드에 관한 기사를 "좋아하는" 경우, 범주는 브랜드, 또는 "신발들" 또는 "의류"의 일반 범주일 수 있다. 이용자들에 관한 연결 정보를 저장하기 위해 연결 저장장치가 이용될 수 있다. 연결 정보는 유사하거나 공통적인 업무 경험, 그룹 멤버십들, 취미들, 교육 이력을 갖거나, 임의의 방식으로 관련되거나 공통된 속성들을 공유하는 이용자들을 나타낼 수 있다. 연결 정보는 또한, 상이한 이용자들과 콘텐트(내부 및 외부 둘 모두) 사이의 이용자 정의된 연결들을 포함할 수 있다. 웹 서버는 소셜 네트워킹 시스템(1660)을 네트워크(1610)를 통해 하나 이상의 클라이언트 시스템들(1630) 또는 하나 이상의 제 3 자 시스템(1670)에 연결하기 위해 이용될 수 있다. 웹 서버는 소셜 네트워킹 시스템(1660)과 하나 이상의 클라이언트 시스템들(1630) 사이에 메시지들을 수신하고 라우팅하기 위한 메일 서버 또는 다른 메시징 기능을 포함할 수 있다. API 요청 서버는 제 3 자 시스템(1670)이 하나 이상의 API들을 호출함으로써 소셜 네트워킹 시스템(1660)으로부터 정보에 액세스하는 것을 허용할 수 있다. 동작 로거는 소셜 네트워킹 시스템(1660) 상에서 또는 그 외부에서 이용자의 동작들에 관한 웹 서버로부터의 통신들을 수신하기 위해 이용될 수 있다. 동작 로그와 결부하여, 제 3 자 콘텐트 객체 로그는 제 3 자 콘텐트 객체들에 대한 이용자 노출들에 대해 유지될 수 있다. 통보 제어기는 콘텐트 객체들에 관한 정보를 클라이언트 시스템(1630)에 제공할 수 있다. 정보는 통보들로서 클라이언트 시스템(1630)에 푸시될 수 있거나, 클라이언트 시스템(1630)으로부터 수신된 요청에 응답하여 클라이언트 시스템(1630)으로부터 정보가 풀링(pulling)될 수 있다. 인가 서버들은 소셜 네트워킹 시스템(1660)의 이용자들의 하나 이상의 프라이버시 설정들을 시행하기 위해 이용될 수 있다. 이용자의 프라이버시 설정은 이용자와 연관된 특정한 정보가 어떻게 공유될 수 있는지를 결정한다. 인가 서버는 이용자들이 예를 들면, 적절한 프라이버시 설정들을 설정함으로써와 같은, 소셜 네트워킹 시스템(1660)에 의해 그들의 동작들로 하여금 기록되게 하거나 다른 시스템들(예로서, 제 3 자 시스템(1670))과 공유되게 하는데 옵트 인 또는 옵트 아웃하는 것을 허용할 수 있다. 제 3 자 콘텐트 객체 저장장치들은 제 3 자 시스템(1670)과 같은, 제 3 자들로부터 수신된 콘텐트 객체들을 저장하기 위해 이용될 수 있다. 위치 저장장치들은 이용자들과 연관된 클라이언트 시스템들(1630)로부터 수신된 위치 정보를 저장하기 위해 이용될 수 있다. 광고 가격 책정 모듈들은 관련 광고들을 통보들의 형태로 이용자에 제공하기 위해 소셜 정보, 현재 시간, 위치 정보, 또는 다른 적합한 정보를 조합할 수 있다.
도 17은 예시적인 소셜 그래프(1700)를 도시한다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 소셜 그래프들(1700)을 하나 이상의 데이터 저장장치들에 저장할 수 있다. 특정한 실시예들에서, 소셜 그래프(1700)는 다수의 이용자 노드들(1702) 또는 다수의 개념 노드들(1704)을 포함할 수 있는 다수의 노드들 및 노드들을 연결하는 다수의 에지들(1706)을 포함할 수 있다. 각각의 노드는 고유 개체(즉, 이용자 또는 개념)와 연관될 수 있고, 그의 각각은 고유 번호 또는 이용자이름과 같은, 고유 식별자(ID)를 가질 수 있다. 도 16에 도시된 예시적인 소셜 그래프(1700)는 교훈적인 목적들을 위해 2차원 시각적 맵 표현으로 도시된다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660), 클라이언트 시스템(1630), 또는 제 3 자 시스템(1670)은 적합한 애플리케이션들에 대한 관련된 소셜 그래프 정보 및 소셜 그래프(1700)에 액세스할 수 있다. 소셜 그래프(1700)의 노드들 및 에지들은 예를 들면, 데이터 저장장치(소셜 그래프 데이터베이스와 같은)에 데이터 객체들로서 저장될 수 있다. 이러한 데이터 저장장치는 소셜 그래프(1700)의 에지들 또는 노드들의 하나 이상의 검색가능하거나 질의가능한 인덱스들을 포함할 수 있다.
특정한 실시예들에서, 이용자 노드(1702)는 소셜 네트워킹 시스템(1660)의 이용자에 대응할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 개인(인간 이용자), 개체(예로서, 기업, 사업체, 또는 제 3 자 애플리케이션), 또는 소셜 네트워킹 시스템(1660)과 상호작용하거나 그것과 또는 그것을 통해 통신하는 그룹(예로서, 개인들 또는 개체들의)일 수 있다. 특정한 실시예들에서, 이용자가 소셜 네트워킹 시스템(1660)에 계정을 등록할 때, 소셜 네트워킹 시스템(1660)은 이용자에 대응하는 이용자 노드(1702)를 생성하고, 하나 이상의 데이터 저장장치들에 이용자 노드(1702)를 저장할 수 있다. 본 명세서에서 설명된 이용자들 및 이용자 노드들(1702)은 적절한 경우, 등록된 이용자들 및 등록된 이용자들과 연관된 이용자 노드들(1702)을 언급할 수 있다. 게다가 또는 일 대안으로서, 본 명세서에서 설명된 이용자들 및 이용자 노드들(1702)은 적절한 경우, 소셜 네트워킹 시스템(1660)에 등록되지 않은 이용자들을 언급할 수 있다. 특정한 실시예들에서, 이용자 노드(1702)는 이용자에 의해 제공된 정보 또는 소셜 네트워킹 시스템(1660)을 포함하는 다양한 시스템들에 의해 수집된 정보와 연관될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 자신의 이름, 프로파일 사진, 연락처 정보, 생년월일, 성별, 결혼 상태, 가족 상태, 직장, 교육 배경, 선호도들, 관심사들, 또는 다른 인구 통계학적 정보를 제공할 수 있다. 특정한 실시예들에서, 이용자 노드(1702)는 이용자와 연관된 정보에 대응하는 하나 이상의 데이터 객체들과 연관될 수 있다. 특정한 실시예들에서, 이용자 노드(1702)는 하나 이상의 웹페이지들에 대응할 수 있다.
특정한 실시예들에서, 개념 노드(1704)는 개념에 대응할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 개념은 장소(예를 들면, 영화관, 식당, 랜드마크, 또는 도시와 같은); 웹사이트(예를 들면, 소셜 네트워크 시스템(1660)과 연관된 웹사이트 또는 웹 애플리케이션 서버와 연관된 제 3 자 웹사이트와 같은); 개체(예를 들면, 사람, 사업체, 그룹, 스포츠 팀, 또는 유명인과 같은); 소셜 네트워킹 시스템(1660) 내에 또는 웹 애플리케이션 서버와 같은, 외부 서버에 위치될 수 있는 리소스(예를 들면, 오디오 파일, 비디오 파일, 디지털 사진, 텍스트 파일, 구조화된 문서, 또는 애플리케이션과 같은); 실제 또는 지적 재산(예를 들면, 조각, 그림, 영화, 게임, 노래, 아이디어, 사진, 또는 서면 저작물과 같은); 게임; 활동; 아이디어나 이론; 증강/가상 현실 환경에서의 객체; 또 다른 적합한 개념; 또는 2개 이상의 이러한 개념들에 대응할 수 있다. 개념 노드(1704)는 이용자에 의해 제공된 개념의 정보 또는 소셜 네트워킹 시스템(1660)을 포함하는, 다양한 시스템들에 의해 수집된 정보와 연관될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 개념의 정보는 이름 또는 타이틀; 하나 이상의 이미지들(예로서, 책의 커버 페이지의 이미지); 위치(예로서, 주소 또는 지리적 위치); 웹사이트(URL과 연관될 수 있음); 연락처 정보(예로서, 전화 번호 또는 이메일 주소); 다른 적합한 개념 정보; 또는 이러한 정보의 임의의 적합한 조합을 포함할 수 있다. 특정한 실시예들에서, 개념 노드들(1704)는 개념 노드(1704)와 연관된 정보에 대응하는 하나 이상의 데이터 객체들과 연관될 수 있다. 특정한 실시예들에서, 개념 노드(1704)는 하나 이상의 웹페이지들에 대응할 수 있다.
특정한 실시예들에서, 소셜 그래프(1700)에서의 노드는 웹페이지("프로파일 페이지"로서 언급될 수 있음)를 표현하거나 그것에 의해 표현될 수 있다. 프로파일 페이지들은 소셜 네트워킹 시스템(1660)에 의해 호스팅되거나 그것에 액세스가능할 수 있다. 프로파일 페이지들은 또한, 제 3 자 시스템(1670)과 연관된 제 3 자 웹사이트들에서 호스팅될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특정한 외부 웹페이지에 대응하는 프로파일 페이지는 특정한 외부 웹페이지일 수 있고 프로파일 페이지는 특정한 개념 노드(1704)에 대응할 수 있다. 프로파일 페이지들은 다른 이용자들의 전부 또는 선택된 서브세트에 의해 뷰잉가능할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자 노드(1702)는 대응하는 이용자가 콘텐트를 부가하거나, 선언하거나, 그렇지 않으면 자신을 표현할 수 있는 대응하는 이용자 프로파일 페이지를 가질 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 개념 노드(1704)는 특히, 개념 노드(1704)에 대응하는 개념과 관련하여, 하나 이상의 이용자들이 콘텐트를 부가하거나, 선언하거나, 자신을 표현할 수 있는 대응하는 개념 프로파일 페이지를 가질 수 있다.
특정한 실시예들에서, 개념 노드(1704)는 제 3 자 시스템(1670)에 의해 호스팅된 제 3 자 웹페이지 또는 리소스를 표현할 수 있다. 제 3 자 웹페이지 또는 리소스는 다른 요소들 중에서도, 콘텐트, 선택가능하거나 다른 아이콘, 또는 동작 또는 활동을 표현하는 다른 상호작용가능한 객체(예를 들면, 자바스크립트, AJAX, 또는 PHP 코드들로 구현될 수 있음)를 포함할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 3 자 웹페이지는 "좋아하다(like)", "체크인하다(check-in)", "먹다(eat)", "권고하다(recommend)", 또는 또 다른 적합한 동작 또는 활동과 같은 선택가능한 아이콘을 포함할 수 있다. 제 3 자 웹페이지를 뷰잉하는 이용자는 아이콘들 중 하나(예로서, "체크인하다")를 선택함으로써 동작을 수행할 수 있어서, 클라이언트 시스템(1630)으로 하여금 이용자의 동작을 나타내는 메시지를 소셜 네트워킹 시스템(1660)으에 전송하게 한다. 메시지에 응답하여, 소셜 네트워킹 시스템(1660)은 이용자에 대응하는 이용자 노드(1702)와 제 3 자 웹페이지 또는 리소스에 대응하는 개념 노드(1704) 사이에 에지(예로서, 체크인 유형 에지)를 생성하고 에지(1706)를 하나 이상의 데이터 저장장치들에 저장할 수 있다.
특정한 실시예들에서, 소셜 그래프(1700)에서의 한 쌍의 노드들은 하나 이상의 에지들(1706)에 의해 서로 연결될 수 있다. 한 쌍의 노드들을 연결하는 에지(1706)는 한 쌍의 노드들 사이의 관계를 표현할 수 있다. 특정한 실시예들에서, 에지(1706)는 한 쌍의 노드들 사이의 관계에 대응하는 하나 이상의 데이터 객체들 또는 속성들을 포함하거나 그들을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 2 이용자가 제 1 이용자의 "친구"임을 나타낼 수 있다. 이 표시에 대응하여, 소셜 네트워킹 시스템(1660)은 "친구 요청"을 제 2 이용자에 전송할 수 있다. 제 2 이용자가 "친구 요청"을 확인하면, 소셜 네트워킹 시스템(1660)은 소셜 그래프(1700)에서 제 1 이용자의 이용자 노드(1702)를 제 2 이용자의 이용자 노드(1702)에 연결하는 에지(1706)를 생성하고 에지(1706)를 데이터 저장장치들(1664) 중 하나 이상에 소셜 그래프 정보로서 저장할 수 있다. 도 16의 예에서, 소셜 그래프(1700)는 이용자 "A" 및 이용자 "B"의 이용자 노드들(1702) 사이의 친구 관계를 나타내는 에지(1706)와 이용자 "C" 및 이용자 "B"의 이용자 노드들(1702) 사이의 친구 관계를 나타내는 에지를 포함한다. 본 발명이 특정한 이용자 노드들(1702)을 연결하는 특정한 속성들을 갖는 특정한 에지들(1706)을 설명하거나 도시할지라도, 본 발명은 이용자 노드들(1702)을 연결하는 임의의 적합한 속성들을 갖는 임의의 적합한 에지들(1706)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 에지(1706)는 우정, 가족 관계, 비즈니스 또는 고용 관계, 팬 관계(예로서, 좋아요, 등 포함함), 팔로어 관계, 방문자 관계(예로서, 액세스함, 뷰잉함, 체크인함, 공유함, 등 포함함), 가입자 관계, 상위/종속 관계, 상호 관계, 비 상호 관계, 또 다른 적합한 유형의 관계, 또는 2개 이상의 이러한 관계들을 표현할 수 있다. 게다가, 본 발명이 일반적으로, 연결되는 것으로서 노드들을 설명할지라도, 본 발명은 또한, 연결되는 것으로서 이용자들 및 개념들을 설명한다. 본 명세서에서, 연결되는 이용자들 또는 개념들에 대한 참조들은 적절한 경우, 하나 이상의 에지들(1706)에 의해 소셜 그래프(1700)에서 연결되는 그들 이용자들 또는 개념들에 대응하는 노드들을 언급할 수 있다. 2개의 노드들 각각에 의해 표현된 2개의 객체들 사이의 분리도는 소셜 그래프(1700)에서 2개의 노드들을 연결하는 최단 경로에 있는 에지들의 수이다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 그래프(1700)에서, 이용자 "C"의 이용자 노드(1702)는 예를 들면, 이용자 "B"의 이용자 노드(1702)를 직접적으로 통과하는 제 1 경로, 회사 "애크메"의 개념 노드(1704) 및 이용자 "D"의 이용자 노드(1702)를 통과하는 제 2 경로, 및 학교 "스탠포드", 이용자 "G", 회사 "애크메", 및 이용자 "D"를 표현하는 개념 노드들(1704) 및 이용자 노드들(1702)을 통과하는 제 3 경로를 포함하는 다중 경로들을 통해 이용자 "A"의 이용자 노드(1702)에 연결된다. 이용자 "C" 및 이용자 "A"는 그들의 대응하는 노드들을 연결하는 최단 경로(즉, 제 1 경로)가 2개의 에지들(1706)을 포함하기 때문에 2개의 분리도를 갖는다.
특정한 실시예들에서, 이용자 노드(1702)와 개념 노드(1704) 사이의 에지(1706)는 개념 노드(1704)와 연관된 개념을 향해 이용자 노드(1702)와 연관된 이용자에 의해 수행된 특정한 동작 또는 활동을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 도 17에 도시된 바와 같이, 이용자는 개념을 "좋아하거나", 개념에 "참석했거나", 개념을 "재생했거나", 개념을 "청취했거나", 개념을 "요리했거나", 개념 "에서 일했거나", 개념을 "시청"할 수 있으며, 그들의 각각은 에지 유형 또는 서브유형에 대응할 수 있다. 개념 노드(1704)에 대응하는 개념 프로파일 페이지는 예를 들면, 선택가능한 "체크인" 아이콘(예로서, 클릭가능한 "체크인" 아이콘과 같은) 또는 선택가능한 "즐겨찾기들에 부가" 아이콘을 포함할 수 있다. 유사하게, 이용자가 이들 아이콘들을 클릭한 후에, 소셜 네트워킹 시스템(1660)은 각각의 동작에 대응하는 이용자의 동작에 응답하여 "즐겨찾기" 에지 또는 "체크인" 에지를 생성할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자(이용자 "C")는 특정한 애플리케이션(온라인 음악 애플리케이션인 스포티파이(SPOTIFY))을 이용하여 특정한 노래("이매진")를 청취할 수 있다. 이 경우에, 소셜 네트워킹 시스템(1660)은 이용자가 노래를 청취했고 애플리케이션을 이용했음을 나타내기 위해 이용자에 대응하는 이용자 노드들(1702)과 노래 및 애플리케이션에 대응하는 개념 노드들(1704) 사이에 "청취된" 에지(1706) 및 "이용된" 에지(도 16에 도시된 바와 같이)를 생성할 수 있다. 게다가, 소셜 네트워킹 시스템(1660)은 특정한 노래가 특정한 애플리케이션에 의해 재생되었음을 나타내기 위해 노래 및 애플리케이션에 대응하는 개념 노드들(1704) 사이에 "재생된" 에지(1706)를 생성할 수 있다(도 16에 도시된 바와 같이). 이 경우에, "재생된" 에지(1706)는 외부 오디오 파일(노래 "이매진")에 대해 외부 애플리케이션(스포티파이)에 의해 수행된 동작에 대응한다. 본 발명이 이용자 노드들(1702)과 개념 노드들(1704)을 연결하는 특정한 속성들을 갖는 특정한 에지들(1706)을 설명할지라도, 본 발명은 이용자 노드들(1702)과 개념 노드들(1704)을 연결하는 임의의 적합한 속성들을 갖는 임의의 적합한 에지들(1706)을 고려한다. 게다가, 본 발명이 이용자 노드(1702)와 단일 관계를 표현하는 개념 노드(1704) 사이의 에지들을 설명할지라도, 본 발명은 이용자 노드(1702)와 하나 이상의 관계들을 표현하는 개념 노드(1704) 사이의 에지들을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 에지(1706)는 이용자가 특정한 개념을 좋아하고 특정한 개념에서 이용했음을 표현할 수 있다. 대안적으로, 또 다른 에지(1706)는 이용자 노드(1702)와 개념 노드(1704) 사이의 각각의 유형의 관계(또는 단일 관계의 배수들)를 표현할 수 있다(이용자 "E"에 대한 이용자 노드(1702)와 "스포티파이"에 대한 개념 노드(1704) 사이에서 도 16에 도시된 바와 같이).
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 소셜 그래프(1700)에서의 이용자 노드(1702)와 개념 노드(1704) 사이에 에지(1706)를 생성할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, (예를 들면, 이용자의 클라이언트 시스템(1630)에 의해 호스팅된 특수 목적 애플리케이션 또는 웹 브라우저를 이용함으로써와 같은) 개념 프로파일 페이지를 뷰잉하는 이용자는 그 자신이 "좋아함" 아이콘을 클릭하거나 선택함으로써 개념 노드(1704)에 의해 표현된 개념을 좋아함을 나타낼 수 있고, 이는 이용자의 클라이언트 시스템(1630)으로 하여금 개념 프로파일 페이지와 연관된 개념의 이용자의 기호를 나타내는 메시지를 소셜 네트워킹 시스템(1660)으에 전송하게 할 수 있다. 메시지에 응답하여, 소셜 네트워킹 시스템(1660)은 이용자와 개념 노드(1704) 사이의 "좋아함" 에지(1706)에 의해 도시된 바와 같이, 이용자와 연관된 이용자 노드(1702)와 개념 노드(1704) 사이에 에지(1706)를 생성할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 데이터 저장장치들에 에지(1706)를 저장할 수 있다. 특정한 실시예들에서, 에지(1706)는 특정한 이용자 동작에 응답하여 소셜 네트워킹 시스템(1660)에 의해 자동으로 형성될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 사진을 업로드하거나, 영화를 시청하거나, 노래를 청취하면, 에지(1706)는 제 1 이용자에 대응하는 이용자 노드(1702)와 그들의 개념들에 대응하는 개념 노드들(1704) 사이에 형성될 수 있다. 본 발명이 특정한 방식들로 특정한 에지들(1706)을 형성하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 임의의 적합한 에지들(1706)을 형성하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 서로에 대한 다양한 소셜 그래프 개체들의 소셜 그래프 친화도(본 명세서에서 "친화도"로서 언급될 수 있음)를 결정할 수 있다. 친화도는 이용자들, 개념들, 콘텐트, 동작들, 광고들, 온라인 소셜 네트워크와 연관된 다른 객체들, 또는 그들의 임의의 적합한 조합과 같은, 온라인 소셜 네트워크와 연관된 특정한 객체들 사이의 관심 있는 레벨 또는 관계의 세기를 표현할 수 있다. 친화도는 또한, 제 3 자 시스템들(1670) 또는 다른 적합한 시스템들과 연관된 객체들에 대해 결정될 수 있다. 각각의 이용자, 주제, 또는 콘텐트의 유형에 대한 소셜 그래프 개체에 대한 전체적인 친화도가 확립될 수 있다. 전체적인 친화도는 소셜 그래프 개체와 연관된 동작들 또는 관계들의 지속된 모니터링에 기초하여 변경될 수 있다. 본 발명이 특정한 방식으로 특정한 친화도들을 결정하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 임의의 적합한 친화도들을 결정하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 친화도 계수(본 명세서에서 "계수"로서 언급될 수 있음)를 이용하여 소셜 그래프 친화도를 측정하거나 정량화할 수 있다. 계수는 온라인 소셜 네트워크와 연관된 특정한 객체들 사이의 관계의 세기를 표현하거나 정량화할 수 있다. 계수는 또한, 이용자가 동작에 대한 이용자의 관심사에 기초하여 특정한 동작을 수행할 확률 또는 예측된 확률을 측정하는 함수를 표현할 수 있다. 이러한 방식으로, 이용자의 미래 동작들은 이용자의 이전 동작들에 기초하여 예측될 수 있으며, 여기서 계수는 이용자의 동작들의 이력에 대해 적어도 부분적으로 산출될 수 있다. 계수들은 온라인 소셜 네트워크 내에 또는 외부에 있을 수 있는 임의의 수의 동작들을 예측하기 위해 이용될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이들 동작들은 메시지들의 전송, 콘텐트 게시, 또는 콘텐트에 대한 댓글 달기와 같은, 다양한 유형들의 통신들; 프로파일 페이지들, 매체들, 또는 다른 적합한 콘텐트에 액세스하거나 뷰잉하는 것과 같은, 다양한 유형들의 관측 동작들; 동일한 그룹에 있거나, 동일한 사진에 태그되거나, 동일한 위치에 체크인되거나, 동일한 이벤트에 참석하는 것과 같은, 2개 이상의 소셜 그래프 개체들에 관한 다양한 유형들의 부합 정보; 또는 다른 적합한 동작들을 포함할 수 있다. 본 발명이 특정한 방식으로 친화도를 측정하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 친화도를 측정하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 계수를 산출하기 위해 다양한 인자들을 이용할 수 있다. 이러한 인자들은 예를 들면, 이용자 동작들, 객체들 사이의 관계들의 유형들, 위치 정보, 다른 적합한 인자들, 또는 그들의 임의의 조합을 포함할 수 있다. 특정한 실시예들에서, 상이한 인자들은 계수를 산출할 때 상이하게 가중될 수 있다. 각각의 인자에 대한 가중치들은 정적일 수 있거나 가중치들은 예를 들면, 이용자, 관계의 유형, 동작의 유형, 이용자의 위치, 등에 따라 변경될 수 있다. 인자들에 대한 등급들은 이용자에 대한 전체 계수를 결정하기 위해 그들의 가중치들에 따라 조합될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특정한 이용자 동작들에는 등급 및 가중치 둘 모두가 할당될 수 있고, 특정한 이용자 동작과 연관된 관계에는 등급 및 상관 가중치가 할당된다(예로서, 따라서 가중치들은 총 100%). 특정한 객체를 향한 이용자의 계수를 산출하기 위해, 이용자의 동작들에 할당된 등급은 예를 들면, 전체 계수의 60%를 포함할 수 있는 반면, 이용자와 객체 사이의 관계는 전체 계수의 40%를 포함할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 예를 들면, 정보가 액세스된 이후의 시간, 붕괴 인자들, 액세스의 빈도, 정보에 대한 관계 또는 정보에 액세스한 객체에 대한 관계, 객체에 연결된 소셜 그래프 개체들에 대한 관계, 이용자 동작들의 단기 또는 장기 평균들, 이용자 피드백, 다른 적합한 변수들, 또는 그들의 임의의 조합과 같은, 계수를 산출하기 위해 이용된 다양한 인자들에 대한 가중치들을 결정할 때 다양한 변수들을 고려할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 더 최근 동작들이 계수를 산출할 때 더 관련성이 있도록 특정한 동작들에 의해 제공된 신호의 세기로 하여금 시간에 따라 붕괴하게 하는 붕괴 인자를 포함할 수 있다. 등급들 및 가중치들은 계수가 기초하는 동작들의 지속된 추적에 기초하여 지속적으로 업데이트될 수 있다. 각각의 인자에 대한 등급들 및 인자들에 할당된 가중치들을 할당, 조합, 평균화, 등을 하기 위해 임의의 유형의 프로세스 또는 알고리즘이 이용될 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 이력 동작들 및 과거 이용자 응답들에 대해 트레이닝된 기계 학습 알고리즘들, 또는 다양한 옵션들에 이용자들을 노출시키고 응답들을 측정함으로써 이용자들로부터 파밍(farming)된 데이터를 이용하여 계수들을 결정할 수 있다. 본 발명이 특정한 방식으로 계수들을 산출하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 계수들을 산출하는 것을 고려한다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 이용자의 동작들에 기초하여 계수를 산출할 수 있다. 소셜 네트워킹 시스템(1660)은 온라인 소셜 네트워크에서, 제 3 자 시스템(1670)에서, 다른 적합한 시스템들에서, 또는 그들의 임의의 조합에서 이러한 동작들을 모니터링할 수 있다. 임의의 적합한 유형의 이용자 동작들이 추적되거나 모니터링될 수 있다. 전형적인 이용자 동작들은 프로파일 페이지들의 뷰잉, 콘텐트의 생성 또는 게시, 콘텐트와의 상호작용, 이미지들에 태그 또는 이미지들에 태그되는 것, 그룹들로의 참여, 이벤트들에서의 참석 언급 및 확인, 위치들에서의 체크인, 특정한 페이지들 좋아하기, 페이지들의 생성, 및 소셜 동작을 용이하게 하는 다른 동작들의 수행을 포함한다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 특정한 유형들의 콘텐트에 대한 이용자의 동작들에 기초하여 계수를 산출할 수 있다. 콘텐트는 온라인 소셜 네트워크, 제 3 자 시스템(1670), 또는 또 다른 적합한 시스템과 연관될 수 있다. 콘텐트는 이용자들, 프로파일 페이지들, 게시물들, 뉴스 스토리들, 헤드라인들, 인스턴트 메시지들, 대화방 대화들, 이메일들, 광고들, 사진들, 비디오, 음악, 다른 적합한 객체들, 또는 그들의 임의의 조합을 포함할 수 있다. 소셜 네트워킹 시스템(1660)은 동작들 중 하나 이상이 주제, 콘텐트, 다른 이용자들, 등에 대한 친화도를 나타내는지의 여부를 결정하기 위해 이용자의 동작들을 분석할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 "커피" 또는 그것의 변형들과 관련된 콘텐트를 빈번하게 게시하면, 소셜 네트워킹 시스템(1660)은 이용자가 개념("커피")에 대해 높은 계수를 갖는다고 결정할 수 있다. 특정한 동작들 또는 유형들의 동작들에는 다른 동작들보다 높은 가중치 및/또는 등급이 할당될 수 있으며, 이는 전체 산출된 계수에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 제 2 이용자에게 이메일을 보내면, 동작에 대한 가중치 또는 등급은 제 1 이용자가 단순히, 제 2 이용자에 대한 이용자 프로파일 페이지를 뷰잉하는 경우보다 높을 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 특정한 객체들 사이의 관계의 유형에 기초하여 계수를 산출할 수 있다. 소셜 그래프(1700)를 참조하면, 소셜 네트워킹 시스템(1660)은 계수를 산출할 때 특정한 이용자 노드들(1702) 및 개념 노드들(1704)을 연결하는 에지들(1706)의 수 및/또는 유형을 분석할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 배우자 형 에지에 의해 연결되는 이용자 노드들(1702)(2명의 이용자들이 결혼한 것을 표현함)에는 친구 유형 에지에 의해 연결되는 이용자 노드들(1702)보다 높은 계수가 할당될 수 있다. 즉, 특정한 이용자에 대한 동작들 및 관계들에 할당된 가중치들에 의존하여, 전체 친화도는 이용자의 친구에 관한 콘텐트에 대한 것보다 이용자의 배우자에 관한 콘텐트에 대해 더 높은 것으로 결정될 수 있다. 특정한 실시예들에서, 이용자가 또 다른 객체와 갖는 관계들은 그 객체에 대한 계수를 산출하는 것에 대해 이용자의 동작들의 가중치들 및/또는 등급들에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 제 1 사진에 태그되지만, 단지 제 2 사진을 좋아한다면, 소셜 네트워킹 시스템(1660)은 이용자가 제 2 사진보다 제 1 사진에 대해 더 높은 계수를 갖는다고 결정할 수 있는데, 이는 콘텐트와 태깅된 유형 관계를 갖는 것에 콘텐트와 호감 형 관계를 갖는 것보다 높은 가중치 및/또는 등급이 할당될 수 있기 때문이다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 제 2 이용자들이 특정한 객체와 갖는 관계에 기초하여 제 1 이용자에 대한 계수를 산출할 수 있다. 즉, 다른 이용자들이 객체와 갖는 연결들 및 계수들은 객체에 대한 제 1 이용자의 계수에 영향을 줄 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 하나 이상의 제 2 이용자들에 연결되거나 그들에 대한 높은 계수를 갖고, 그들 제 2 이용자들이 특정한 객체에 연결되거나 그것에 대한 높은 계수를 가지면, 소셜 네트워킹 시스템(1660)은 제 1 이용자가 또한, 특정한 객체에 대해 상대적으로 높은 계수를 가져야 한다고 결정할 수 있다. 특정한 실시예들에서, 계수는 특정한 객체들 사이의 분리도에 기초할 수 있다. 더 낮은 계수는 제 1 이용자가 소셜 그래프(1700)에서 제 1 이용자에 간접적으로 연결되는 이용자의 콘텐트 객체들에 대한 관심사를 공유할 가능성을 감소시키는 것을 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 그래프(1700)에서 더 가까운(즉, 더 적은 분리도들) 소셜 그래프 개체들은 소셜 그래프(1700)에서 더 떨어져 있는 개체들보다 더 높은 계수를 가질 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 위치 정보에 기초하여 계수를 산출할 수 있다. 지리적으로 서로 더 가까운 객체들은 더 먼 객체들보다 서로 더 관련되거나 더 관심이 있는 것으로 간주될 수 있다. 특정한 실시예들에서, 특정한 객체를 향한 이용자의 계수는 이용자와 연관된 현재 위치(또는 이용자의 클라이언트 시스템(1630)의 위치)에 대한 객체의 위치의 근접성에 기초할 수 있다. 제 1 이용자는 제 1 이용자에 더 가까운 다른 이용자들 또는 개념들에 더 관심이 있을 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 공항으로부터 1마일이고 주유소로부터 2마일이면, 소셜 네트워킹 시스템(1660)은 이용자에 대한 공항의 근접성에 기초하여 이용자가 주유소보다 공항에 대해 더 높은 계수를 갖는다고 결정할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 계수 정보에 기초하여 이용자에 대한 특정한 동작들을 수행할 수 있다. 계수들은 이용자가 동작에 대한 이용자의 관심사에 기초하여 특정한 동작을 수행할 것인지의 여부를 예측하기 위해 이용될 수 있다. 계수는 광고들, 검색 결과들, 뉴스 스토리들, 매체들, 메시지들, 통보들, 또는 다른 적합한 객체들과 같은, 임의의 유형의 객체들을 생성하거나 그들을 이용자에 제공할 때 이용될 수 있다. 계수는 또한, 적절한 경우, 이러한 객체들의 순위를 정하고 순서를 정하기 위해 활용될 수 있다. 이러한 방식으로, 소셜 네트워킹 시스템(1660)은 이용자의 관심사들 및 현재 상황들과 관련되는 정보를 제공할 수 있어서, 그들이 관심 있는 이러한 정보를 찾을 가능성을 증가시킨다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 계수 정보에 기초하여 콘텐트를 생성할 수 있다. 콘텐트 객체들은 이용자에 특정한 계수들에 기초하여 제공되거나 선택될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 이용자를 위한 매체들을 생성하기 위해 이용될 수 있고, 여기서 이용자는 이용자가 매체 객체에 대해 높은 전체 계수를 갖는 매체들을 제공받을 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 계수는 이용자에 대한 광고들을 생성하기 위해 이용될 수 있으며, 여기서 이용자는 이용자가 광고된 객체에 대해 높은 전체 계수를 갖는 광고들을 제공받을 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 계수 정보에 기초하여 검색 결과들을 생성할 수 있다. 특정한 이용자에 대한 검색 결과들은 질의하는 이용자에 대한 검색 결과들과 연관된 계수에 기초하여 점수가 매겨지거나 순위가 정해질 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 더 높은 계수들을 갖는 객체들에 대응하는 검색 결과들은 더 낮은 계수들을 가지는 객체들에 대응하는 결과들보다 검색 결과 페이지에서 더 높은 순위가 정해질 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 특정한 시스템 또는 프로세스로부터의 계수에 대한 요청에 응답하여 계수를 산출할 수 있다. 주어진 상황에서 이용자가 취할 수 있는 (또는 그 주체일 수 있는) 가능한 동작들을 예측하기 위해, 임의의 프로세스는 이용자에 대해 산출된 계수를 요청할 수 있다. 요청은 또한, 계수를 산출하기 위해 이용된 다양한 인자들을 위해 이용하기 위한 한 세트의 가중치들을 포함할 수 있다. 이 요청은 온라인 소셜 네트워크 상에서 실행되는 프로세스로부터, 제 3 자 시스템(1670)(예로서, API 또는 다른 통신 채널을 통해)으로부터, 또는 또 다른 적합한 시스템으로부터 발생할 수 있다. 요청에 응답하여, 소셜 네트워킹 시스템(1660)은 계수를 산출할 수 있다(또는 계수가 이전에 산출되고 저장되었다면 계수 정보에 액세스할 수 있다). 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 특정한 프로세스에 대한 친화도를 측정할 수 있다. 상이한 프로세스들(온라인 소셜 네트워크의 내부 및 외부 둘 모두)은 특정한 객체 또는 객체들의 세트에 대한 계수를 요청할 수 있다. 소셜 네트워킹 시스템(1660)은 친화도 측정치를 요청한 특정한 프로세스와 관련되는 친화도의 측정치를 제공할 수 있다. 이러한 방식으로, 각각의 프로세스는 프로세스가 친화도의 측정치를 이용할 상이한 콘텍스트에 맞춰지는 친화도의 측정치를 수신한다.
소셜 그래프 친화도 및 친화도 계수들과 관련하여, 특정한 실시예들은 2006년 8월 11일에 출원된 미국 특허 출원 번호 제 11/503093 호, 2010년 12월 22일에 출원된 미국 특허 출원 번호 제 12/977027 호, 2010년 12월 23일에 출원된 미국 특허 출원 번호 제 12/978265 호, 및 2012년 10월 1일에 출원된 미국 특허 출원 번호 제 13/632869 호에 개시된 하나 이상의 시스템들, 구성요소들, 요소들, 기능들, 방법들, 동작들, 또는 단계들을 활용할 수 있고, 그들의 각각은 참조로서 통합된다.
프라이버시
특정한 실시예들에서, 컴퓨팅 시스템의 하나 이상의 객체들(예로서, 콘텐트 또는 다른 유형들의 객체들)은 하나 이상의 프라이버시 설정들과 연관될 수 있다. 하나 이상의 객체들은 예를 들면, 소셜 네트워킹 시스템(1660), 클라이언트 시스템(1630), 제 3 자 시스템(1670), 소셜 네트워킹 애플리케이션, 메시징 애플리케이션, 사진 공유 애플리케이션, 또는 임의의 다른 적합한 컴퓨팅 시스템 또는 애플리케이션과 같은 임의의 적합한 컴퓨팅 시스템 또는 애플리케이션에 저장되거나 그렇지 않으면, 그와 연관될 수 있다. 본 명세서에서 논의된 예들이 온라인 소셜 네트워크의 콘텍스트에 있을지라도, 이들 프라이버시 설정들은 임의의 다른 적합한 컴퓨팅 시스템에 적용될 수 있다. 객체에 대한 프라이버시 설정들(또는 "액세스 설정들")은 예를 들면, 객체와 연관하여, 인가 서버의 인덱스에, 또 다른 적합한 방식으로, 또는 그들의 임의의 적합한 조합과 같은 임의의 적합한 방식으로 저장될 수 있다. 객체에 대한 프라이버시 설정은 온라인 소셜 네트워크 내에서 객체(또는 객체와 연관된 특정한 정보)가 어떻게 액세스되거나, 저장되거나, 그렇지 않으면 이용(예로서, 뷰잉, 공유, 수정, 복사, 실행, 표시, 또는 식별)되는지를 명시할 수 있다. 객체에 대한 프라이버시 설정들이 특정한 이용자 또는 다른 개체가 그 객체에 액세스하는 것을 허용할 때, 객체는 그 이용자 또는 다른 개체와 관련하여 "보이는" 것으로서 설명될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 온라인 소셜 네트워크의 이용자는 이용자 프로파일 페이지의 작업 경험 정보에 액세스할 수 있는 이용자들의 세트를 식별하는 이용자 프로파일 페이지에 대한 프라이버시 설정들을 명시할 수 있고, 따라서 다른 이용자들을 그 정보에 액세스하는 것으로부터 제외한다.
특정한 실시예들에서, 객체에 대한 프라이버시 설정들은 객체와 연관된 특정 정보에 액세스하도록 허용되지 않아야 하는 이용자들 또는 다른 개체들의 "차단된 목록"을 명시할 수 있다. 특정한 실시예들에서, 차단된 목록은 제 3 자 개체들을 포함할 수 있다. 차단된 목록은 객체가 보이지 않는 하나 이상의 이용자들 또는 개체들을 명시할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 이용자와 연관된 사진 앨범들에 액세스할 수 없는 이용자들의 세트를 명시할 수 있고, 따라서 그들 이용자들을 사진 앨범들에 액세스하는 것으로부터 제외할 수 있다(이용자들의 명시된 세트 내에 있지 않은 특정 이용자들이 사진 앨범들에 액세스하는 것을 또한 가능하게 허용하면서). 특정한 실시예들에서, 프라이버시 설정들은 특정한 소셜 그래프 요소들과 연관될 수 있다. 노드 또는 에지와 같은, 소셜 그래프 요소의 프라이버시 설정들은 소셜 그래프 요소, 소셜 그래프 요소와 연관된 정보, 또는 소셜 그래프 요소와 관련된 객체들이 온라인 소셜 네트워크를 이용하여 액세스될 수 있는 방법을 명시할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 특정한 사진에 대응하는 특정한 개념 노드(1704)는 사진에 태그된 이용자들 및 사진에 태그된 이용자들의 친구들에 의해서만 사진에 액세스할 수 있음을 명시하는 프라이버시 설정을 가질 수 있다. 특정한 실시예들에서, 프라이버시 설정들은 이용자들이 그들의 콘텐트, 정보, 또는 동작들로 하여금 소셜 네트워킹 시스템(1660)에 의해 저장/로그되게 하거나 다른 시스템들(예로서, 제 3 자 시스템(1670))과 공유되게 하는데 옵트 인하거나 옵트 아웃하는 것을 허용할 수 있다. 본 발명이 특정한 방식으로 특정한 프라이버시 설정들을 이용하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 임의의 적합한 프라이버시 설정들을 이용하는 것을 고려한다.
특정한 실시예들에서, 프라이버시 설정들은 소셜 그래프(1700)의 하나 이상의 노드들 또는 에지들에 기초할 수 있다. 프라이버시 설정은 소셜 그래프(1700)의 하나 이상의 에지들(1706) 또는 에지 유형들에 대해, 또는 소셜 그래프(1700)의 노드 유형들 또는 하나 이상의 노드들(1702, 1704)과 관련하여 명시될 수 있다. 2개의 노드들을 연결하는 특정한 에지(1706)에 적용된 프라이버시 설정들은 노드들에 대응하는 2개의 개체들 사이의 관계가 온라인 소셜 네트워크의 다른 이용자들에게 보이는지의 여부를 제어할 수 있다. 유사하게, 특정한 노드에 적용된 프라이버시 설정들은 노드에 대응하는 이용자 또는 개념이 온라인 소셜 네트워크의 다른 이용자들에게 보이는지의 여부를 제어할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 소셜 네트워킹 시스템(1660)에 객체를 공유할 수 있다. 객체는 에지(1706)에 의해 제 1 이용자의 이용자 노드(1702)에 연결된 개념 노드(1704)와 연관될 수 있다. 제 1 이용자는 객체의 개념 노드(1704)에 연결하는 특정한 에지(1706)에 적용되는 프라이버시 설정들을 명시할 수 있거나, 개념 노드(1704)에 연결하는 모든 에지들(1706)에 적용되는 프라이버시 설정들을 명시할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 특정한 객체 유형의 객체들의 세트(예로서, 이미지들의 세트)를 공유할 수 있다. 제 1 이용자는 특정한 프라이버시 설정을 갖는 것으로서 그 특정한 객체 유형의 제 1 이용자와 연관된 모든 객체들에 대한 프라이버시 설정들을 명시할 수 있다(예로서, 제 1 이용자에 의해 게시된 모든 이미지들이 제 1 이용자의 친구들에게 및/또는 이미지들에 태그된 이용자들에게만 보인다고 명시함).
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 하나 이상의 프라이버시 설정들을 명시하는데 있어서 제 1 이용자를 돕기 위해 "프라이버시 마법사"(예로서, 웹페이지, 모듈, 하나 이상의 대화 박스들, 또는 임의의 다른 적합한 인터페이스 내의)를 제 1 이용자에게 제공할 수 있다. 프라이버시 마법사는 명령들, 적합한 프라이버시 관련 정보, 현재 프라이버시 설정들, 프라이버시 설정들의 변경 또는 확인을 명시하는 제 1 이용자로부터 하나 이상의 입력들을 수용하기 위한 하나 이상의 입력 필드들, 또는 그들의 임의의 적합한 조합을 디스플레이할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 제 1 이용자에게 제 1 이용자의 현재 프라이버시 설정들을 디스플레이할 수 있는 "대시보드" 기능을 제 1 이용자에게 제공할 수 있다. 대시보드 기능은 임의의 적절한 시간에 제 1 이용자에게 디스플레이될 수 있다(예로서, 대시보드 기능을 소환하는 제 1 이용자로부터의 입력에 따라, 특정한 이벤트 또는 트리거 동작의 발생에 따라). 대시보드 기능은 제 1 이용자가 임의의 적합한 방식(예로서, 제 1 이용자를 프라이버시 마법사로 재지향시킴)으로, 언제든지 제 1 이용자의 현재 프라이버시 설정들 중 하나 이상을 수정하는 것을 허용할 수 있다.
객체와 연관된 프라이버시 설정들은 허가된 액세스 또는 액세스 거부의 임의의 적합한 세분성(granularity)을 명시할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 액세스 또는 액세스 거부는 특정한 이용자들(예로서, 나만, 나의 룸메이트들, 나의 상사), 특정한 분리도 내의 이용자들(예로서, 친구들, 친구들의 친구들), 이용자 그룹들(예로서, 게임 클럽, 나의 가족), 이용자 네트워크들(예로서, 특정한 고용주들의 직원들, 특정한 대학의 학생들 또는 동문들), 모든 이용자들("공개"), 이용자들 없음("비공개"), 제 3 자 시스템들(1670)의 이용자들, 특정한 애플리케이션들(예로서, 제 3 자 애플리케이션들, 외부 웹사이트들), 다른 적합한 개체들, 또는 그들의 임의의 적합한 조합에 대해 명시될 수 있다. 본 발명이 허가된 액세스 또는 액세스 거부의 특정한 세분성들을 설명할지라도, 본 발명은 허가된 액세스 또는 액세스 거부의 임의의 적합한 세분성들을 고려한다.
특정한 실시예들에서, 하나 이상의 서버들(1662)은 프라이버시 설정들을 시행하기 위한 인가/프라이버시 서버들일 수 있다. 데이터 저장장치(1664)에 저장된 특정한 객체에 대한 이용자(또는 다른 개체)로부터의 요청에 응답하여, 소셜 네트워킹 시스템(1660)은 객체에 대한 요청을 데이터 저장장치(1664)에 전송할 수 있다. 요청은 요청과 연관된 이용자를 식별할 수 있으며 인가 서버가 이용자가 객체와 연관된 프라이버시 설정들에 기초하여 객체에 액세스할 권한이 있다고 결정한 경우에 객체가 단지 이용자(또는 이용자의 클라이언트 시스템(1630))에 전송될 수 있다. 요청 이용자가 객체에 액세스할 수 있는 권한이 없는 경우, 인가 서버는 요청된 객체가 데이터 저장장치(1664)로부터 검색되는 것을 방지할 수 있거나, 요청된 객체가 이용자에 전송되는 것을 방지할 수 있다. 검색 질의 콘텍스트에서, 단지 질의하는 이용자가 객체에 액세스할 수 있는 권한이 있는 경우에, 예로서 객체에 대한 프라이버시 설정들이 그것이 질의하는 이용자에게 표시되거나, 그에 의해 발견되거나, 그렇지 않으면 그에게 보이는 것을 허용하는 경우에, 객체는 검색 결과로서 제공될 수 있다. 특정한 실시예들에서, 객체는 이용자의 뉴스피드를 통해 이용자에게 보이는 콘텐트를 표현할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 하나 이상의 객체들은 이용자의 '유행' 페이지에 보일 수 있다. 특정한 실시예들에서, 객체는 특정한 이용자에 대응할 수 있다. 객체는 특정한 이용자와 연관된 콘텐트일 수 있거나, 소셜 네트워킹 시스템(1660), 또는 다른 컴퓨팅 시스템에 저장된 정보 또는 특정한 이용자의 계정일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 온라인 소셜 네트워크의 "당신이 알 수 있는 사람" 기능을 통해, 또는 제 1 이용자의 친구들의 목록을 뷰잉함으로써 온라인 소셜 네트워크의 하나 이상의 제 2 이용자들을 뷰잉할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 그들이 그들의 뉴스피드 또는 친구 목록에서 특정한 제 2 이용자와 연관된 객체들을 보고 싶지 않다고 명시할 수 있다. 객체에 대한 프라이버시 설정들이 그것이 이용자에게 표시되거나, 그에 의해 발견되거나, 그에게 보이는 것을 허용하지 않는 경우, 객체는 검색 결과들로부터 제외될 수 있다. 본 발명이 특정한 방식으로 프라이버시 설정들을 시행하는 것을 설명할지라도, 본 발명은 임의의 적합한 방식으로 프라이버시 설정들을 시행하는 것을 고려한다.
특정한 실시예들에서, 이용자와 연관된 동일한 유형의 상이한 객체들은 상이한 프라이버시 설정들을 가질 수 있다. 이용자와 연관된 다양한 유형들의 객체들은 다양한 유형들의 프라이버시 설정들을 가질 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 1 이용자의 상태 업데이트들이 공개적임을 명시할 수 있지만, 제 1 이용자가 공유한 임의의 이미지들은 온라인 소셜 네트워크에서 제 1 이용자의 친구들에게만 보인다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 개별 이용자들, 친구들의 친구들, 팔로어들, 이용자 그룹들, 또는 기업 개체들과 같은, 상이한 유형들의 개체들에 대해 상이한 프라이버시 설정들을 명시할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 1 이용자의 고용주에게 비디오들이 보이지 않게 유지하면서, 제 1 이용자가 게시한 비디오들을 뷰잉할 수 있는 이용자들의 그룹을 명시할 수 있다. 특정한 실시예들에서, 상이한 이용자 그룹들 또는 이용자 인구 통계 자료에 대해 상이한 프라이버시 설정들이 제공될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 1 이용자와 같은 대학에 다니는 다른 이용자들이 제 1 이용자의 사진들을 뷰잉할 수 있지만, 제 1 이용자의 가족 구성원들인 다른 이용자들은 그들 동일한 사진들을 뷰잉할 수 없음을 명시할 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 특정한 객체 유형의 각각의 객체에 대한 하나 이상의 기본 프라이버시 설정들을 제공할 수 있다. 기본값으로 설정되는 객체에 대한 프라이버시 설정은 그 객체와 연관된 이용자에 의해 변경될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자가 게시한 모든 이미지들은 제 1 이용자의 친구들에게만 보이는 기본 프라이버시 설정을 가질 수 있으며, 특정한 이미지에 대해, 제 1 이용자는 친구들 및 친구들의 친구들에게 보일 이미지에 대한 프라이버시 설정을 변경할 수 있다.
특정한 실시예들에서, 프라이버시 설정들은 제 1 이용자가 소셜 네트워킹 시스템(1660)이 임의의 목적을 위해 이용자와 연관된 정보 또는 특정한 객체들을 수신, 수집, 로그, 또는 저장할 수 있는지의 여부를 명시하는 것을 허용할 수 있다(예로서, 옵트 아웃함으로써, 옵트 인하지 않음으로써). 특정한 실시예들에서, 프라이버시 설정들은 제 1 이용자가 특정한 애플리케이션들 또는 프로세스들이 이용자와 연관된 특정한 객체들 또는 정보에 액세스하거나, 그들을 저장, 또는 이용할 수 있는지의 여부를 명시하는 것을 허용할 수 있다. 프라이버시 설정들은 제 1 이용자가, 객체들 또는 정보로 하여금 특정한 애플리케이션들이나 프로세스들에 의해 액세스, 저장, 또는 이용되게 하는데 옵트 인 또는 옵트 아웃하는 것을 허용할 수 있다. 소셜 네트워킹 시스템(1660)은 소셜 네트워킹 시스템(1660)이 임의의 다른 목적들을 위해 그 정보에 액세스하지 않고 특정한 기능 또는 서비스를 제 1 이용자에게 제공하기 위해 이러한 정보에 액세스할 수 있다. 이러한 객체들 또는 정보에 액세스하거나, 그들을 저장 또는 이용하기 전에, 소셜 네트워킹 시스템(1660)은 이용자에게 어떤 애플리케이션들 또는 프로세스들이 만약에 있다면, 임의의 이러한 동작을 허용하기 이전에 객체 또는 정보에 액세스하거나, 그것을 저장 또는 이용할 수 있는지를 명시하는 프라이버시 설정들을 제공하도록 프롬프팅(prompting)할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 온라인 소셜 네트워크(예로서, 메시징 앱)와 관련된 애플리케이션을 통해 제 2 이용자로 메시지를 송신할 수 있으며, 이러한 메시지들이 소셜 네트워킹 시스템(1660)에 의해 저장되지 않아야 하는 프라이버시 설정들을 명시할 수 있다.
특정한 실시예들에서, 이용자는 제 1 이용자와 연관된 특정한 유형들의 객체들 또는 정보가 소셜 네트워킹 시스템(1660)에 의해 액세스, 저장, 또는 이용될 수 있는지의 여부를 명시할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 소셜 네트워킹 시스템(1660)을 통해 제 1 이용자에 의해 전송된 이미지들이 소셜 네트워킹 시스템(1660)에 의해 저장되지 않을 수 있음을 명시할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 1 이용자로부터 특정한 제 2 이용자에 전송된 메시지들이 소셜 네트워킹 시스템(1660)에 의해 저장되지 않을 수 있음을 명시할 수 있다. 여전히 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 특정한 애플리케이션을 통해 전송된 모든 객체들이 소셜 네트워킹 시스템(1660)에 의해 저장될 수 있음을 명시할 수 있다.
특정한 실시예들에서, 프라이버시 설정들은 제 1 이용자가 제 1 이용자와 연관된 특정한 객체들 또는 정보가 특정한 클라이언트 시스템들(1630) 또는 제 3 자 시스템들(1670)로부터 액세스될 수 있는지의 여부를 명시하는 것을 허용할 수 있다. 프라이버시 설정들은 제 1 이용자가 객체들 또는 정보로 하여금 특정한 장치(예로서, 이용자 스마트 폰의 전화번호부)로부터, 특정한 애플리케이션(예로서, 메시징 앱)으로부터, 또는 특정한 시스템(예로서, 이메일 서버)으로부터 액세스되게 하는데 옵트 인 또는 옵트 아웃하는 것을 허용할 수 있다. 소셜 네트워킹 시스템(1660)은 각각의 장치, 시스템, 또는 애플리케이션에 대한 기본 프라이버시 설정들을 제공할 수 있고/거나, 제 1 이용자는 각각의 콘텍스트에 대한 특정한 프라이버시 설정을 명시하도록 프롬프팅될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 이용자에 근접한 레스토랑들 또는 다른 장소들에 대한 권고들을 제공하기 위해 소셜 네트워킹 시스템(1660)의 위치 서비스 특징을 활용할 수 있다. 제 1 이용자의 기본 프라이버시 설정들은 소셜 네트워킹 시스템(1660)이 위치 기반 서비스들을 제공하기 위해 제 1 이용자의 클라이언트 장치(1630)로부터 제공된 위치 정보를 이용할 수 있지만, 소셜 네트워킹 시스템(1660)이 제 1 이용자의 위치 정보를 저장하거나 그것을 임의의 제 3 자 시스템(1670)에 제공하지 않을 수 있음을 명시할 수 있다. 제 1 이용자는 그 다음, 사진들을 지오 태그(geo-tag)하기 위해 위치 정보가 제 3 자 이미지 공유 애플리케이션에 의해 이용되는 것을 허용하기 위해 프라이버시 설정들을 업데이트할 수 있다.
기분 또는 감정 정보에 대한 프라이버시 설정들
특정한 실시예들에서, 프라이버시 설정들은 이용자가 이용자와 연관된 기분 또는 감정 정보가 결정될 수 있는지의 여부, 및 특정한 애플리케이션들 또는 프로세스들이 이러한 정보에 액세스하거나, 그것을 저장, 또는 이용할 수 있는지의 여부를 명시하는 것을 허용할 수 있다. 프라이버시 설정들은 이용자들이 기분 또는 감정 정보로 하여금 특정 애플리케이션들 또는 프로세스들에 의해 액세스, 저장, 또는 이용되게 하는데 옵트 인하거나 옵트 아웃하는 것을 허용할 수 있다. 소셜 네트워킹 시스템(1660)은 예를 들면, 이용자가 제공한 입력들 및 이용자에 의해 뷰잉된 페이지들 또는 콘텐트, 이용자에 의해 업로드된 게시물들 또는 다른 콘텐트와 같은 특정한 객체들과의 상호작용들, 및 온라인 소셜 네트워크의 다른 콘텐트와의 상호작용들에 기초하여 이용자와 연관된 기분 또는 감정을 예측하거나 결정할 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 현재의 기분 또는 감정을 결정하기 위해 이용자의 이전 활동들 및 산출된 기분들 또는 감정들을 이용할 수 있다. 이 기능을 가능하게 하기를 원하는 이용자는 그들의 프라이버시 설정들에 그들이 기분 또는 감정을 결정하기 위해 필요한 입력들을 수신하는 소셜 네트워킹 시스템(1660)에 옵트 인함을 나타낼 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 기본 프라이버시 설정이 소셜 네트워킹 시스템(1660)이 그렇게 행할 수 있다는 명시적 표시가 이용자로부터 존재할 때까지 기분 또는 감정을 결정하기 위해 필요한 임의의 정보를 수신하지 않는 것이다라고 결정할 수 있다. 대조적으로, 이용자가 이들 입력들을 수신하는 소셜 네트워킹 시스템(1660)에 옵트 인하지 않는 경우(또는 이들 입력들을 수신하는 소셜 네트워킹 시스템(1660)에서 긍정적으로 옵트 아웃하는 경우), 소셜 네트워킹 시스템(1660)은 이들 입력들 또는 이들 입력들과 연관된 임의의 정보를 수신, 수집, 로깅, 또는 저장하는 것으로부터 방지될 수 있다. 특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 이용자에게 권고들 또는 광고들을 제공하기 위해 예측된 기분 또는 감정을 이용할 수 있다. 특정한 실시예들에서, 이용자가 특정 목적들 또는 애플리케이션들을 위해 이 기능을 이용하기를 원하는 경우, 특정 목적들 또는 애플리케이션들을 위해 기분 또는 감정 정보를 이용하는데 옵트 인하기 위해 이용자에 의해 부가적인 프라이버시 설정들이 명시될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 이용자에게 뉴스피드 아이템들, 페이지들, 친구들, 또는 광고들을 제공하기 위해 이용자의 기분 또는 감정을 이용할 수 있다. 이용자는 그들의 프라이버시 설정들에 소셜 네트워킹 시스템(1660)이 이용자의 기분 또는 감정을 결정할 수 있음을 명시할 수 있다. 이용자는 그 다음, 이용자의 기분이나 감정이 이용될 수 있는 목적들을 나타내기 위해 부가적인 프라이버시 설정들을 제공하도록 요청받을 수 있다. 이용자는 소셜 네트워킹 시스템(1660)이 뉴스피드 콘텐트를 제공하고 페이지들을 권고하기 위해, 그러나 친구들이나 광고들을 권고하지 않기 위해 자신의 기분 또는 감정을 이용할 수 있음을 나타낼 수 있다. 소셜 네트워킹 시스템(1660)은 그 다음, 이용자 기분 또는 감정에 기초하여 뉴스피드 콘텐트 또는 페이지들을 단지 제공할 수 있으며, 프라이버시 설정들에 의해 명시적으로 금지되지 않을지라도, 임의의 다른 목적을 위해 그 정보를 이용할 수 없다.
이용자 인증 및 경험 개인화 정보에 대한 프라이버시 설정들
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 이용자 인증 또는 경험 개인화 목적들을 위해 이용자의 개인 또는 생체 정보를 입력들로서 이용할 수 있는 기능들을 가질 수 있다. 이용자는 온라인 소셜 네트워크에서 그들의 경험을 증진하기 위해 이들 기능들을 이용하기로 선택할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자는 소셜 네트워킹 시스템(1660)에 개인 또는 생체 정보를 제공할 수 있다. 이용자의 프라이버시 설정들은 이러한 정보가 인증과 같은 특정한 프로세스들을 위해서만 이용될 수 있음을 명시하고, 이러한 정보가 임의의 제 3 자 시스템(1670)과 공유되지 않거나 소셜 네트워킹 시스템(1660)과 연관된 다른 프로세스들 또는 애플리케이션들을 위해 이용될 수 없음을 더 명시할 수 있다. 또 다른 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 이용자가 온라인 소셜 네트워크에 음성 인쇄 기록들을 제공하기 위한 기능을 제공할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자가 온라인 소셜 네트워크의 이 기능을 활용하기를 원한다면, 이용자는 온라인 소셜 네트워크에서 상태 업데이트를 제공하기 위해 자신의 음성의 음성 기록을 제공할 수 있다. 음성 입력의 기록은 이용자가 말한 단어들을 결정하기 위해 이용자의 음성 인쇄와 비교될 수 있다. 이용자의 프라이버시 설정은 이러한 음성 기록이 음성 입력 목적들(예로서, 이용자를 인증하고, 음성 메시지들을 전송하고, 온라인 소셜 네트워크의 음성 동작 특징들을 이용하기 위해 음성 인식을 개선하기 위한)을 위해서만 이용될 수 있음을 명시하고, 이러한 음성 기록이 제 3 자 시스템(1670)과 공유되지 않거나 소셜 네트워킹 시스템(1660)과 연관된 다른 프로세스들 또는 애플리케이션들에 의해 이용될 수 없음을 더 명시할 수 있다. 또 다른 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 이용자가 온라인 소셜 네트워크에 참조 이미지(예로서, 안면 프로파일, 망막 스캔)를 제공하는 기능을 제공할 수 있다. 온라인 소셜 네트워크는 참조 이미지를 나중에 수신된 이미지 입력에 대해 비교할 수 있다(예로서, 이용자를 인증하기 위해, 사진들에 이용자를 태그하기 위해). 이용자의 프라이버시 설정은 이러한 음성 기록이 제한된 목적(예로서, 인증, 사진들에 이용자를 태그함)을 위해서만 이용될 수 있음을 명시하고, 이러한 음성 기록이 임의의 제 3 자 시스템(1670)과 공유되지 않거나 소셜 네트워킹 시스템(1660)과 연관된 다른 프로세스들 또는 애플리케이션들에 의해 이용될 수 없음을 더 명시할 수 있다.
프라이버시 설정들에 대한 이용자 개시 변경들
특정한 실시예들에서, 프라이버시 설정들에 대한 변경들은 소급적으로 적용될 수 있어서, 변경 이전에 공유된 객체들 및 콘텐트의 가시성에 영향을 미친다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 제 1 이용자는 제 1 이미지를 공유하고 제 1 이미지가 모든 다른 이용자들에게 공개될 것임을 명시할 수 있다. 나중에, 제 1 이용자는 제 1 이용자가 공유한 임의의 이미지들이 제 1 이용자 그룹에게만 보이게 되어야 함을 명시할 수 있다. 소셜 네트워킹 시스템(1660)은 이 프라이버시 설정이 또한, 제 1 이미지에 적용된다고 결정하고 제 1 이미지가 제 1 이용자 그룹에게만 보이게 할 수 있다. 특정한 실시예들에서, 프라이버시 설정들의 변경은 앞으로만 적용될 수 있다. 상기 예를 계속하면, 제 1 이용자가 프라이버시 설정들을 변경하고 그 다음, 제 2 이미지를 공유하는 경우, 제 2 이미지는 제 1 이용자 그룹에게만 보일 수 있지만, 제 1 이미지는 모든 이용자들에게 보이게 유지될 수 있다. 특정한 실시예들에서, 프라이버시 설정을 변경하기 위한 이용자 동작에 응답하여, 소셜 네트워킹 시스템(1660)은 이용자가 변경들을 프라이버시 설정에 소급적으로 적용하기를 원하는지의 여부를 나타내도록 이용자에게 더 프롬프팅할 수 있다. 특정한 실시예들에서, 프라이버시 설정들에 대한 이용자 변경은 하나의 객체에 특정한 일회성 변경일 수 있다. 특정한 실시예들에서, 프라이버시에 대한 이용자 변경은 이용자와 연관된 모든 객체들에 대한 글로벌 변경일 수 있다.
특정한 실시예들에서, 소셜 네트워킹 시스템(1660)은 제 1 이용자가 제 1 이용자와 연관된 트리거 동작에 응답하여 하나 이상의 프라이버시 설정들을 변경하기를 원할 수 있다고 결정할 수 있다. 트리거 동작은 온라인 소셜 네트워크에서 임의의 적합한 동작일 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 트리거 동작은 온라인 소셜 네트워크의 제 1 이용자와 제 2 이용자 사이의 관계의 변경일 수 있다(예로서, 이용자의 "친구해제", 이용자들 사이의 관계 상태의 변경). 특정한 실시예들에서, 트리거 동작이 발생했다고 결정하면, 소셜 네트워킹 시스템(1660)은 제 1 이용자에게 제 1 이용자와 연관된 객체들의 가시성에 관한 프라이버시 설정들을 변경하도록 프롬프팅할 수 있다. 프롬프트는 트리거 동작과 연관된 하나 이상의 개체들에 대한 프라이버시 설정들을 편집하기 위한 동작흐름 프로세스로 제 1 이용자를 재지향시킬 수 있다. 제 1 이용자와 연관된 프라이버시 설정들은 단지 제 1 이용자로부터의 명시적인 입력에 응답하여 변경될 수 있으며, 제 1 이용자의 승인 없이 변경될 수 없다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 동작흐름 프로세스는 제 1 이용자에게 제 2 이용자 또는 이용자들의 그룹에 대한 현재 프라이버시 설정들을 제공하는 것(예로서, 특정한 객체들로부터 제 1 이용자 또는 제 2 이용자의 태그를 해제하는 것, 제 2 이용자 또는 이용자들의 그룹에 대한 특정한 객체들의 가시성을 변경하는 것), 및 본 명세서에서 설명된 방법들 중 임의의 것에 기초하여 프라이버시 설정들을 변경하거나, 기존 프라이버시 설정들을 유지하라는 표시를 제 1 이용자로부터 수신하는 것을 포함할 수 있다.
특정한 실시예들에서, 이용자는 이용자가 온라인 소셜 네트워크에서 특정한 동작들을 수행하는 것을 허용하기 전에 프라이버시 설정의 검증을 제공하거나, 특정한 프라이버시 설정을 변경하기 전에 검증을 제공할 필요가 있을 수 있다. 특정한 동작들을 수행하거나 특정한 프라이버시 설정을 변경할 때, 이용자에게 자신의 현재 프라이버시 설정들을 상기시키고 이용자에게 특정한 동작에 대한 프라이버시 설정들을 검증하도록 요청하기 위한 프롬프트가 이용자에게 제공될 수 있다. 또한, 이용자는 특정한 동작을 진행하기 전에 확인, 이중 확인, 인증, 또는 다른 적합한 유형들의 검증을 제공할 필요가 있을 수 있고, 이러한 검증이 제공될 때까지 동작이 완료되지 않을 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자의 기본 프라이버시 설정들은 개인의 관계 상태가 모든 이용자들에게 보인다는 것을 나타낼 수 있다(즉, "공개"). 그러나, 이용자가 자신의 관계 상태를 변경하면, 소셜 네트워킹 시스템(1660)은 이러한 동작이 민감할 수 있다고 결정할 수 있고 진행하기 전에 자신의 관계 상태가 공개 상태로 유지되어야 한다는 것을 이용자가 확인하도록 프롬프팅할 수 있다. 또 다른 예로서 그리고 제한에 의한 것이 아닌 것으로서, 이용자의 프라이버시 설정들은 이용자의 게시물들이 이용자의 친구들에게만 보인다고 명시할 수 있다. 그러나, 이용자가 자신의 게시물들에 대한 프라이버시 설정을 공개로 변경하면, 소셜 네트워킹 시스템(1660)은 이용자에게 게시물들이 친구들에게만 보인다는 이용자의 현재 프라이버시 설정들의 알림, 및 이 변경이 모든 이용자의 과거의 게시물들이 대중에게 보이게 할 것이라는 경고로 이용자에게 프롬프팅할 수 있다. 이용자는 그 다음, 프라이버시 설정들의 변경을 진행하기 전에, 제 2 검증을 제공하거나, 인증 자격 증명들을 입력하거나, 상이한 유형들의 검증을 제공하도록 요구될 수 있다. 특정한 실시예들에서, 이용자는 주기적으로 프라이버시 설정의 검증을 제공할 필요가 있을 수 있다. 경과된 시간 또는 이용자 동작들의 수에 기초하여 프롬프트 또는 알림이 주기적으로 이용자에 전송될 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 6개월마다 또는 매 10개의 사진 게시물들 후에 자신의 프라이버시 설정들을 확인하기 위해 이용자에게 알람을 전송할 수 있다. 특정한 실시예들에서, 프라이버시 설정들은 또한, 이용자들이 요청별로 객체들 또는 정보에 대한 액세스를 제어하는 것을 허용할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 소셜 네트워킹 시스템(1660)은 제 3 자 시스템(1670)이 이용자와 연관된 정보에 액세스하려고 시도할 때마다 이용자에게 통보하고, 진행하기 전에 액세스가 허용되어야 한다는 검증을 이용자에게 제공하도록 요구할 수 있다.
도 18은 일 예시적인 컴퓨터 시스템(1800)을 도시한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1800)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1800)은 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1800)에서 실행되는 소프트웨어는 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들은 하나 이상의 컴퓨터 시스템들(1800)의 하나 이상의 부분들을 포함한다. 본 명세서에서, 컴퓨터 시스템에 대한 참조는 적절한 경우, 컴퓨팅 장치를 포함할 수 있으며, 그 반대도 마찬가지이다. 게다가, 컴퓨터 시스템에 대한 참조는 적절한 경우, 하나 이상의 컴퓨터 시스템들을 포함할 수 있다.
본 발명은 임의의 적합한 수의 컴퓨터 시스템들(1800)을 고려한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(1800)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1800)은 내장된 컴퓨터 시스템, 시스템 온 칩(SOC), 단일 보드 컴퓨터 시스템(SBC)(예를 들면, 컴퓨터 온 모듈(COM) 또는 시스템 온 모듈(SOM)과 같은), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템들의 메시, 모바일 전화, 개인 휴대용 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 장치, 또는 그들 중 2개 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(1800)은 하나 이상의 컴퓨터 시스템들(1800)을 포함할 수 있거나; 단일 또는 분산될 수 있거나; 다수의 위치들에 걸쳐 있을 수 있거나; 다수의 기계들에 걸쳐 있을 수 있거나; 다수의 데이터 센터들에 걸쳐 있을 수 있거나; 하나 이상의 네트워크들에 하나 이상의 클라우드 구성요소들을 포함시킬 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템들(1800)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 하나 이상의 컴퓨터 시스템들(1800)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실시간 또는 배치 모드로 수행할 수 있다. 하나 이상의 컴퓨터 시스템들(1800)은 적절한 경우, 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 상이한 시간들에서 또는 상이한 위치들에서 수행할 수 있다.
특정한 실시예들에서, 컴퓨터 시스템(1800)은 프로세서(1802), 메모리(1804), 저장장치(1806), 입력/출력(I/O) 인터페이스(1808), 통신 인터페이스(1810), 및 버스(1812)를 포함한다. 본 발명이 특정한 배열로 특정한 수의 특정한 구성요소들을 가지는 특정한 컴퓨터 시스템을 설명하고 도시할지라도, 본 발명은 임의의 적합한 배열로 임의의 적합한 수의 임의의 적합한 구성요소들을 가지는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정한 실시예들에서, 프로세서(1802)는 컴퓨터 프로그램을 구성하기 위한 명령들과 같은, 명령들을 실행하기 위한 하드웨어를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 명령들을 실행하기 위해, 프로세서(1802)는 내부 레지스터, 내부 캐시, 메모리(1804), 또는 저장장치(1806)로부터 명령들을 검색(또는 인출)하고; 그들을 디코딩하고 실행하며; 그 다음, 하나 이상의 결과들을 내부 레지스터, 내부 캐시, 메모리(1804) 또는 저장장치(1806)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(1802)는 데이터, 명령들, 또는 주소들을 위한 하나 이상의 내부 캐시들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 캐시들을 포함하는 프로세서(1802)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 프로세서(1802)는 하나 이상의 명령 캐시들, 하나 이상의 데이터 캐시들, 및 하나 이상의 변환 색인 버퍼(translation lookaside buffer; TLB)들을 포함할 수 있다. 명령 캐시들에서의 명령들은 메모리(1804) 또는 저장장치(1806)에서의 명령들의 카피들일 수 있고, 명령 캐시들은 프로세서(1802)에 의한 그들 명령들의 검색의 속도를 높일 수 있다. 데이터 캐시들에서의 데이터는 동작할 프로세서(1802)에서 실행되는 명령들을 위한 메모리(1804) 또는 저장장치(1806)에서의 데이터; 프로세서(1802)에서 실행되는 후속 명령들에 의해 액세스하기 위해 또는 메모리(1804) 또는 저장장치(1806)에 기록하기 위해 프로세서(1802)에서 실행된 이전 명령들의 결과들; 또는 다른 적합한 데이터의 카피들일 수 있다. 데이터 캐시들은 프로세서(1802)에 의한 판독 또는 기록 동작들의 속도를 높일 수 있다. TLB들은 프로세서(1802)를 위한 가상 주소 변환의 속도를 높일 수 있다. 특정한 실시예들에서, 프로세서(1802)는 데이터, 명령들, 또는 주소들을 위한 하나 이상의 내부 레지스터들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 레지스터들을 포함하는 프로세서(1802)를 고려한다. 적절한 경우, 프로세서(1802)는 하나 이상의 산술 논리 유닛(ALU)들을 포함하거나; 멀티 코어 프로세서일 수 있거나; 하나 이상의 프로세서들(1802)을 포함할 수 있다. 비록 본 발명이 특정한 프로세서를 설명하고 도시할지라도, 본 발명은 임의의 적합한 프로세서를 고려한다.
특정한 실시예들에서, 메모리(1804)는 프로세서(1802)가 실행할 명령들 또는 프로세서(1802)가 동작할 데이터를 저장하기 위한 메인 메모리를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1800)은 저장장치(1806) 또는 또 다른 소스(예를 들면, 또 다른 컴퓨터 시스템(1800))로부터 메모리(1804)로 명령들을 로드할 수 있다. 프로세서(1802)는 그 다음, 메모리(1804)로부터 내부 레지스터 또는 내부 캐시로 명령들을 로드할 수 있다. 명령들을 실행하기 위해, 프로세서(1802)는 내부 레지스터 또는 내부 캐시로부터 명령들을 검색하고 그들을 디코딩할 수 있다. 명령들의 실행 동안 또는 이후에, 프로세서(1802)는 하나 이상의 결과들(중간 또는 최종 결과들일 수 있음)을 내부 레지스터 또는 내부 캐시에 기록할 수 있다. 프로세서(1802)는 그 다음, 그들 결과들 중 하나 이상을 메모리(1804)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(1802)는 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(1806)와는 대조적으로 또는 어딘가의) 메모리(1804)에서 단지 명령들을 실행하고 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(1806)와는 대조적으로 또는 어딘가의) 메모리(1804)에서 단지 데이터에 따라 동작한다. 하나 이상의 메모리 버스들(주소 버스 및 데이터 버스를 각각 포함할 수 있음)은 프로세서(1802)를 메모리(1804)에 결합할 수 있다. 버스(1812)는 하기에 설명된 바와 같이, 하나 이상의 메모리 버스들을 포함할 수 있다. 특정한 실시예들에서, 하나 이상의 메모리 관리 유닛들(MMUs)은 프로세서(1802)와 메모리(1804) 사이에 상주하고 프로세서(1802)에 의해 요청된 메모리(1804)에 대한 액세스들을 용이하게 한다. 특정한 실시예들에서, 메모리(1804)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우, 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 게다가, 적절한 경우, 이 RAM은 단일 포트되거나 다중 포트된 RAM일 수 있다. 본 발명은 임의의 적합한 RAM을 고려한다. 메모리(1804)는 적절한 경우, 하나 이상의 메모리들(1804)을 포함할 수 있다. 본 발명이 특정한 메모리를 설명하고 도시할지라도, 본 발명은 임의의 적합한 메모리를 고려한다.
특정한 실시예들에서, 저장장치(1806)는 데이터 또는 명령들을 위한 대용량 저장장치를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 저장장치(1806)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광 자기 디스크, 자기 테이프, 또는 범용 직렬 버스(Universal Serial Bus; USB) 또는 그들 중 2개 이상의 조합을 포함할 수 있다. 저장장치(1806)는 적절한 경우, 탈착가능하거나 탈착가능하지 않은(또는 고정된) 매체들을 포함할 수 있다. 저장장치(1806)는 적절한 경우, 컴퓨터 시스템(1800)의 내부 또는 외부에 있을 수 있다. 특정한 실시예들에서, 저장장치(1806)는 비 휘발성, 고체 상태 메모리이다. 특정한 실시예들에서, 저장장치(1806)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크 프로그래밍된 ROM, 프로그래밍가능한 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 전기적으로 개조가능한 ROM(EAROM), 또는 플래시 메모리 또는 그들 중 2개 이상의 조합을 포함한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 대용량 저장장치(1806)를 고려한다. 저장장치(1806)는 적절한 경우, 프로세서(1802)와 저장장치(1806) 사이의 통신을 용이하게 하는 하나 이상의 저장장치 제어 유닛들을 포함할 수 있다. 적절한 경우, 저장장치(1806)는 하나 이상의 저장장치들(1806)을 포함할 수 있다. 본 발명이 특정한 저장장치를 설명하고 도시할지라도, 본 발명은 임의의 적합한 저장장치를 고려한다.
특정한 실시예들에서, I/O 인터페이스(1808)는 컴퓨터 시스템(1800)과 하나 이상의 I/O 장치들 사이의 통신을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 컴퓨터 시스템(1800)은 적절한 경우, 이들 I/O 장치들 중 하나 이상을 포함할 수 있다. 이들 I/O 장치들 중 하나 이상은 사람과 컴퓨터 시스템(1800) 사이의 통신을 가능하게 할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, I/O 장치는 키보드, 키패드, 마이크, 모니터, 마우스, 프린터, 스캐너, 스피커, 고정형 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 또 다른 적합한 I/O 장치 또는 이들 중 2개 이상의 조합을 포함할 수 있다. I/O 장치는 하나 이상의 센서들을 포함할 수 있다. 본 발명은 임의의 적합한 I/O 장치들 및 그들을 위한 임의의 적합한 I/O 인터페이스들(1808)을 고려한다. 적절한 경우, I/O 인터페이스(1808)는 프로세서(1802)가 이들 I/O 장치들 중 하나 이상을 구동하는 것을 가능하게 하는 하나 이상의 장치 또는 소프트웨어 구동기들을 포함할 수 있다. I/O 인터페이스(1808)는 적절한 경우, 하나 이상의 I/O 인터페이스들(1808)을 포함할 수 있다. 본 발명이 특정한 I/O 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 I/O 인터페이스를 고려한다.
특정한 실시예들에서, 통신 인터페이스(1810)는 컴퓨터 시스템(1800)과 하나 이상의 다른 컴퓨터 시스템들(1800) 또는 하나 이상의 네트워크들 사이의 통신(예를 들면, 패킷 기반 통신과 같은)을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 통신 인터페이스(1810)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 와이파이 네트워크와 같은, 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 발명은 임의의 적합한 네트워크 및 그것을 위한 임의의 적합한 통신 인터페이스(1810)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1800)은 애드 혹 네트워크, 근거리 개인 통신망(PAN), 근거리 통신망(LAN), 광역 통신망(WAN), 도시권 통신망(MAN), 또는 인터넷의 하나 이상의 부분들 또는 그들 중 2개 이상의 조합과 통신할 수 있다. 이들 네트워크들 중 하나 이상의 하나 이상의 부분들은 유선 또는 무선일 수 있다. 일례로서, 컴퓨터 시스템(1800)은 무선 PAN(WPAN)(예를 들면, 블루투스 WPAN과 같은), 와이파이 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들면, 모바일 통신을 위한 글로벌 시스템(Global System for Mobile Communications; GSM) 네트워크와 같은), 또는 다른 적합한 무선 네트워크 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(1800)은 적절한 경우, 이들 네트워크 중 임의의 것을 위한 임의의 적합한 통신 인터페이스(1810)를 포함할 수 있다. 통신 인터페이스(1810)는 적절한 경우, 하나 이상의 통신 인터페이스들(1810)을 포함할 수 있다. 본 발명이 특정한 통신 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 통신 인터페이스를 고려한다.
특정한 실시예들에서, 버스(1812)는 컴퓨터 시스템(1800)의 구성요소들을 서로 결합하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 버스(1812)는 가속화된 그래픽 포트(Accelerated Graphics Port; AGP) 또는 다른 그래픽 버스, 증진된 산업 표준 아키텍처(Enhanced Industry Standard Architecture; EISA) 버스, FSB(front-side bus), 하이퍼트랜스포트(HYPERTRANSPORT)(HT) 상호연결, 산업 표준 아키텍처(ISA) 버스, 인피니밴드 상호연결, LPC(low-pin-count) 버스, 메모리 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스, PCI-Express(PCIe) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 또 다른 적합한 버스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 버스(1812)는 적절한 경우, 하나 이상의 버스들(1812)을 포함할 수 있다. 본 발명이 특정한 버스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 버스 또는 상호연결을 고려한다.
본 명세서에서, 컴퓨터-판독가능 비-일시적 저장 매체 또는 매체들은 하나 이상의 반도체 기반 또는 다른 집적 회로들(ICs)(예를 들면, 필드 프로그래밍가능한 게이트 어레이들(FPGAs) 또는 주문형 반도체들(ASICs)과 같은), 하드 디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(HHDs), 광 디스크들, 광 디스크 드라이브들(ODDs), 광 자기 디스크들, 광 자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(FDDs), 자기 테이프들, 고체 상태 드라이브들(SSDs), RAM 드라이브들, 보안 디지털 카드들 또는 드라이브들, 임의의 다른 적합한 컴퓨터-판독가능 비-일시적 저장 매체, 또는 적절한 경우, 이들 중 2개 이상의 임의의 적합한 조합을 포함할 수 있다. 컴퓨터-판독가능 비-일시적 저장 매체는 적절한 경우, 휘발성, 비 휘발성, 또는 휘발성 및 비 휘발성의 조합일 수 있다.
본 명세서에서, "또는"은 명확하게 다르게 나타내거나 콘텍스트에 의해 다르게 나타내지 않는 한, 포괄적이고 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 명확하게 다르게 나타내거나 콘텍스트에 의해 다르게 나타내지 않는 한, "A, B, 또는 둘 모두"를 의미한다. 게다가, "및"은 명확하게 다르게 나타내거나 콘텍스트에 의해 다르게 나타내지 않는 한, 공동 및 몇몇 둘 모두이다. 따라서, 본 명세서에서, "A 및 B"는 명확하게 다르게 나타내거나 콘텍스트에 의해 다르게 나타내지 않는 한, "A 및 B, 공동으로, 또는 개별적으로"를 의미한다.
본 발명의 범위는 당업자가 이해할 본 명세서에서 설명되고 도시된 예시적인 실시예들에 대한 모든 변경들, 대체들, 변형들, 개조들, 및 수정들을 포함한다. 본 발명의 범위는 본 명세서에서 설명되고 도시된 예시적인 실시예들로 제한되지 않는다. 게다가, 본 발명이 본 명세서에서의 각각의 실시예들을 특정한 구성요소들, 요소들, 특징, 기능들, 동작들, 또는 단계들을 포함하는 것으로서 설명하고 도시할지라도, 이들 실시예들 중 임의의 것은 당업자가 이해할 본 명세서의 어딘가에서 설명하고 도시된 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 순열을 포함할 수 있다. 또한, 첨부된 청구항들에서 특정한 기능을 수행하도록 적응되거나, 배열되거나, 수행할 수 있거나, 구성되거나, 가능하게 되거나, 동작가능하거나, 동작하는 장치 또는 시스템 또는 장치 또는 시스템의 구성요소에 대한 참조는, 그 장치, 시스템, 또는 구성요소가 그렇게 적응되거나, 배열되거나, 할 수 있거나, 구성되거나, 가능하게 되거나, 동작가능하거나, 동작하는 한, 그 특정한 기능이 활성화되든, 턴 온되든, 또는 잠금해제되든 그 장치, 시스템, 구성요소를 포함한다. 부가적으로, 본 발명이 특정한 실시예들을 특정한 장점들을 제공하는 것으로서 설명하거나 도시할지라도, 특정한 실시예들은 이들 장점들을 전혀 제공하지 않거나, 그들의 일부 또는 전부를 제공할 수 있다.

Claims (35)

  1. 방법에 있어서,
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하는 단계로서, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하는, 상기 입력 데이터에 액세스하는 단계;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 서술적 모델은 (1) 상기 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들(contextual elements)에 관한 하나 이상의 서술적 특성들을 포함하는, 상기 현재 서술적 모델을 생성하는 단계;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하는 단계; 및
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들(doors)의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭(engagement metric); 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도(affinity)를 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 방법.
  5. 제 1 항에 있어서,
    상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하는 단계를 더 포함하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝(panning)하거나, 오디오 타겟에 대해 마이크를 빔포밍(beamforming)하거나, 장면을 시각적 타겟에 맞게 자르도록 하는 명령들을 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 하나 이상의 콘텍스트 요소들은 상기 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 상기 현재 오디오-비디오 통신 세션의 데이터, 또는 상기 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함하는, 방법.
  8. 소프트웨어를 구현하는 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체에 있어서,
    상기 소프트웨어는:
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하고;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 현재 서술적 모델은 (1) 상기 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하고;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하고;
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하도록 실행될 때 동작가능한, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  9. 제 8 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  10. 제 8 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각각의 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  11. 제 10 항에 있어서,
    상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  12. 제 8 항에 있어서,
    상기 소프트웨어는 상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하기 위해 실행될 때 추가로 동작가능하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  13. 제 8 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르도록 하는 명령들을 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  14. 제 8 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 하나 이상의 콘텍스트 요소들은 상기 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 상기 현재 오디오-비디오 통신 세션의 데이터, 또는 상기 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  15. 시스템에 있어서:
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 의해 실행될때 동작가능한 명령들을 포함하는 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체로서, 상기 명령들은, 상기 시스템으로 하여금,
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하고;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 현재 서술적 모델은 (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하고;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하며;
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하도록 하는, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하는, 시스템.
  16. 제 15 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 시스템.
  17. 제 15 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각각의 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함하는, 시스템.
  18. 제 17 항에 있어서,
    상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 시스템.
  19. 제 15 항에 있어서,
    상기 프로세서들은 상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하도록 상기 명령들을 실행할 때 추가로 동작가능하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 시스템.
  20. 제 15 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟에 대해 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르도록 하는, 명령들을 포함하는, 시스템.
  21. 방법에 있어서,
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하는 단계로서, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하는, 상기 입력 데이터에 액세스하는 단계;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 현재 서술적 모델은 (1) 상기 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하는, 상기 현재 서술적 모델을 생성하는 단계;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하는 단계; 및
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하는 단계를 포함하는, 방법.
  22. 제 21 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 방법.
  23. 제 21 항 또는 제 22 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함하며,
    선택적으로, 상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 방법.
  24. 제 21 항 내지 제 23 항 중 어느 한 항에 있어서,
    상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하는 단계를 더 포함하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 방법.
  25. 제 21 항 내지 제 24 항 중 어느 한 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르도록 하는 명령들을 포함하며; 및/또는
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 하나 이상의 콘텍스트 요소들은 상기 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 상기 현재 오디오-비디오 통신 세션의 데이터, 또는 상기 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함하는, 방법.
  26. 소프트웨어를 구현하는 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체에 있어서,
    상기 소프트웨어는:
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하고;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 현재 서술적 모델은 (1) 상기 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하고;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하고;
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하도록 실행될 때 동작가능한, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  27. 제 26 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  28. 제 26 항 또는 제 27 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각각의 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함하며;
    선택적으로, 상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  29. 제 26 항 내지 제 28 항 중 어느 한 항에 있어서,
    상기 소프트웨어는 상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하기 위해 실행될 때 추가로 동작가능하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  30. 제 26 항 내지 제 29 항 중 어느 한 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르도록 하는 명령들을 포함하며; 및/또는
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 하나 이상의 콘텍스트 요소들은 상기 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 상기 현재 오디오-비디오 통신 세션의 데이터, 또는 상기 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함하는, 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체.
  31. 시스템에 있어서,
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 의해 실행될때 동작가능한 명령들을 포함하는 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체로서, 상기 명령들은, 상기 시스템으로 하여금,
    하나 이상의 상이한 입력 소스들로부터 입력 데이터에 액세스하고, 상기 입력 소스들은: 하나 이상의 카메라들, 하나 이상의 마이크들, 및 소셜 네트워킹 시스템에 의해 유지된 소셜 그래프를 포함하고;
    상기 입력 데이터에 기초하여, 현재 오디오-비디오 통신 세션에 대한 현재 서술적 모델을 생성하고, 상기 현재 서술적 모델은 (1) 현재 오디오-비디오 통신 세션과 연관된 환경, (2) 상기 환경 내의 한 명 이상의 사람들, 또는 (3) 상기 현재 오디오-비디오 통신 세션과 연관된 하나 이상의 콘텍스트 요소들에 관한 하나 이상의 서술적 특성들을 포함하고;
    상기 하나 이상의 서술적 특성들에 기초하는 상기 현재 오디오-비디오 통신 세션에 대한 하나 이상의 명령들을 생성하며;
    상기 하나 이상의 카메라들 및 상기 하나 이상의 마이크들과 연관된 컴퓨팅 장치에 상기 하나 이상의 명령들을 전송하도록 하는, 상기 하나 이상의 컴퓨터-판독가능 비-일시적 저장 매체를 포함하는, 시스템.
  32. 제 31 항에 있어서,
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 환경에 관한 상기 하나 이상의 서술적 특성들은:
    상기 환경 내의 하나 이상의 벽들의 각각에 대한 위치;
    상기 환경 내의 하나 이상의 문들의 각각에 대한 위치;
    상기 환경의 범주; 및
    상기 환경 내의 하나 이상의 객체들의 각각에 대한 위치를 포함하는, 시스템.
  33. 제 31 항 또는 제 32 항에 있어서,
    상기 한 명 이상의 사람들에 관한 상기 하나 이상의 서술적 특성들은 상기 한 명 이상의 사람들의 각각의 사람에 대해:
    상기 현재 오디오-비디오 통신 세션과의 참여 메트릭; 및
    상기 사람과 상기 한 명 이상의 사람들 중 적어도 한명의 다른 사람 사이의 친화도를 포함하며;
    선택적으로, 상기 한 명 이상의 사람들의 각각의 사람에 대한 상기 참여 메트릭은 상기 사람이 말한 단어들의 수, 상기 사람과 상기 컴퓨팅 장치 사이의 물리적 거리, 상기 현재 오디오-비디오 통신 시스템 동안 상기 사람이 상기 환경에 있었던 시간의 양, 또는 상기 사람과 연관된 소셜 그래프 데이터에 적어도 부분적으로 기초하는, 시스템.
  34. 제 31 항 내지 제 33 항 중 어느 한 항에 있어서,
    상기 프로세서들은 상기 환경 내에서 발생한 복수의 과거 오디오-비디오 통신 세션들에 기초하여 이력 서술적 모델을 생성하도록 상기 명령들을 실행할 때 추가로 동작가능하고, 상기 하나 이상의 서술적 특성들은 상기 이력 서술적 모델에 적어도 부분적으로 기초하는, 시스템.
  35. 제 31 항 내지 제 34 항 중 어느 한 항에 있어서,
    상기 하나 이상의 명령들은 시각적 타겟을 줌인하거나, 시각적 타겟을 향해 패닝하거나, 오디오 타겟에 대해 마이크를 빔포밍하거나, 장면을 시각적 타겟에 맞게 자르기 위한 명령들을 포함하고 및/또는
    상기 현재 오디오-비디오 통신 세션과 연관된 상기 하나 이상의 콘텍스트 요소들은 상기 현재 오디오-비디오 통신 세션에 대한 하루 중 시간, 상기 현재 오디오-비디오 통신 세션의 데이터, 또는 상기 현재 오디오-비디오 통신 세션과 연관된 이벤트를 포함하는, 시스템.
KR1020207032417A 2018-04-10 2019-04-09 서술적 모델들에 기초한 자동화된 결정들 KR102630902B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862655751P 2018-04-10 2018-04-10
US62/655,751 2018-04-10
US16/153,613 US10659731B2 (en) 2018-04-10 2018-10-05 Automated cinematic decisions based on descriptive models
US16/153,613 2018-10-05
PCT/US2019/026685 WO2019199905A1 (en) 2018-04-10 2019-04-09 Automated decisions based on descriptive models

Publications (2)

Publication Number Publication Date
KR20200143435A true KR20200143435A (ko) 2020-12-23
KR102630902B1 KR102630902B1 (ko) 2024-02-01

Family

ID=68097256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207032417A KR102630902B1 (ko) 2018-04-10 2019-04-09 서술적 모델들에 기초한 자동화된 결정들

Country Status (6)

Country Link
US (4) US10979669B2 (ko)
EP (4) EP3777213A1 (ko)
JP (1) JP2021518593A (ko)
KR (1) KR102630902B1 (ko)
CN (4) CN112335256A (ko)
WO (4) WO2019199904A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110022454B (zh) * 2018-01-10 2021-02-23 华为技术有限公司 一种在视频会议中识别身份的方法及相关设备
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
FR3080926B1 (fr) * 2018-05-04 2020-04-24 Spoon Procede de commande d'une pluralite d'effecteurs d'un robot
US10554931B1 (en) * 2018-10-01 2020-02-04 At&T Intellectual Property I, L.P. Method and apparatus for contextual inclusion of objects in a conference
KR20200107757A (ko) * 2019-03-08 2020-09-16 엘지전자 주식회사 음향 객체 추종을 위한 방법 및 이를 위한 장치
US11341186B2 (en) * 2019-06-19 2022-05-24 International Business Machines Corporation Cognitive video and audio search aggregation
JP7358116B2 (ja) * 2019-08-21 2023-10-10 キヤノン株式会社 撮像装置、制御装置、プログラム、記憶媒体及び制御方法
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
CN111147740B (zh) * 2019-12-27 2021-07-13 青岛海信智慧家居系统股份有限公司 一种控制智能摄像头的方法及装置
US11159767B1 (en) 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
CN111556277B (zh) * 2020-05-19 2022-07-26 安徽听见科技有限公司 视频会议参会人标识处理方法、装置、设备及存储介质
US11367306B1 (en) * 2020-06-23 2022-06-21 Amazon Technologies, Inc. System to determine user engagement with autonomous mobile device
US11658835B2 (en) 2020-06-29 2023-05-23 Meta Platforms, Inc. Using a single request for multi-person calling in assistant systems
CN111739168B (zh) * 2020-06-30 2021-01-29 华东交通大学 一种样本相似度抑制的大尺度三维人脸合成方法
CN114245000A (zh) * 2020-09-09 2022-03-25 北京小米移动软件有限公司 拍摄方法和装置、电子设备、存储介质
US11580832B2 (en) * 2020-10-23 2023-02-14 Himax Technologies Limited Motion detection system and method
US11563706B2 (en) 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
TWI751866B (zh) 2020-12-29 2022-01-01 仁寶電腦工業股份有限公司 影音通訊系統及其控制方法
US11809480B1 (en) 2020-12-31 2023-11-07 Meta Platforms, Inc. Generating dynamic knowledge graph of media contents for assistant systems
US11417061B1 (en) * 2021-01-27 2022-08-16 Amazon Technologies, Inc. Three-dimensional mesh generation
CN112801020B (zh) * 2021-02-09 2022-10-14 福州大学 基于背景灰度化的行人再识别方法及系统
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US20220392081A1 (en) * 2021-06-07 2022-12-08 VergeSense, Inc. Methods and system for object path detection in a workplace
US11900678B2 (en) * 2021-06-08 2024-02-13 Patricia Hall System for tracking, locating and calculating the position of an object in a game involving moving objects
US11707663B1 (en) * 2021-06-08 2023-07-25 Matthew Hall System for tracking, locating and predicting the position of a ball in a game of baseball or similar
US11770422B2 (en) * 2021-12-18 2023-09-26 Zoom Video Communications, Inc. Real-time engagement analytics for communication sessions
WO2023167693A1 (en) * 2022-02-23 2023-09-07 Huddly Inc. Autonomous video conferencing system with virtual director assistance
WO2023186301A1 (en) * 2022-03-30 2023-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods therein, in a communications network
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140138609A (ko) * 2011-12-28 2014-12-04 구글 인코포레이티드 무제한의 다이내믹한 적극적인 참가자들과의 비디오 회의
US20170337692A1 (en) * 2015-01-27 2017-11-23 Apical Ltd Method, system and computer program product for automatically altering a video stream

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS504876B1 (ko) * 1970-02-26 1975-02-25
US5845009A (en) 1997-03-21 1998-12-01 Autodesk, Inc. Object tracking system using statistical modeling and geometric relationship
WO2000018128A1 (en) 1998-09-24 2000-03-30 The Trustees Of Columbia University In The City Of New York System and method for semantic video object segmentation
US7123745B1 (en) * 1999-11-24 2006-10-17 Koninklijke Philips Electronics N.V. Method and apparatus for detecting moving objects in video conferencing and other applications
US20020176001A1 (en) * 2001-05-11 2002-11-28 Miroslav Trajkovic Object tracking based on color distribution
US20030007703A1 (en) * 2001-07-03 2003-01-09 Roylance Eugene A. Configurable image processing logic for use in image processing devices
US7130446B2 (en) * 2001-12-03 2006-10-31 Microsoft Corporation Automatic detection and tracking of multiple individuals using multiple cues
US20050248584A1 (en) * 2004-05-10 2005-11-10 Koji Takeo Imaging system and image processing apparatus
US10078693B2 (en) * 2006-06-16 2018-09-18 International Business Machines Corporation People searches by multisensor event correlation
US8253770B2 (en) * 2007-05-31 2012-08-28 Eastman Kodak Company Residential video communication system
CN101072332A (zh) * 2007-06-04 2007-11-14 深圳市融合视讯科技有限公司 一种自动跟踪活动目标进行拍摄的方法
CN100531373C (zh) * 2007-06-05 2009-08-19 西安理工大学 基于双摄像头联动结构的视频运动目标特写跟踪监视方法
JP2009141555A (ja) * 2007-12-05 2009-06-25 Fujifilm Corp 音声入力機能付き撮像装置及びその音声記録方法
JP5004876B2 (ja) * 2008-06-03 2012-08-22 キヤノン株式会社 撮像装置
TWI382762B (zh) * 2008-11-17 2013-01-11 Ind Tech Res Inst 移動物體的追蹤方法
JP5742057B2 (ja) * 2009-03-03 2015-07-01 ディジマーク コーポレイション 公共ディスプレイからのナローキャスティングおよび関連配設
US9013750B2 (en) * 2009-06-25 2015-04-21 Canon Kabushiki Kaisha Image processing for processing image data in correspondence with each pixel of an image
US8819172B2 (en) * 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
KR101673032B1 (ko) * 2010-01-25 2016-11-04 엘지전자 주식회사 화상 통신 방법 및 그를 이용한 디지털 tv
US8864581B2 (en) * 2010-01-29 2014-10-21 Microsoft Corporation Visual based identitiy tracking
US20110211737A1 (en) * 2010-03-01 2011-09-01 Microsoft Corporation Event Matching in Social Networks
US8660355B2 (en) * 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US8523667B2 (en) * 2010-03-29 2013-09-03 Microsoft Corporation Parental control settings based on body dimensions
US8395653B2 (en) * 2010-05-18 2013-03-12 Polycom, Inc. Videoconferencing endpoint having multiple voice-tracking cameras
KR101355974B1 (ko) * 2010-08-24 2014-01-29 한국전자통신연구원 복수의 객체를 추적하는 객체 추적 방법 및 장치
US8884980B2 (en) * 2010-09-24 2014-11-11 Taaz, Inc. System and method for changing hair color in digital images
JP5820366B2 (ja) 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
JP5784299B2 (ja) * 2010-11-01 2015-09-24 オリンパス株式会社 データ処理装置および画像処理装置
CN102625077B (zh) * 2011-01-27 2015-04-22 深圳市宇恒互动科技开发有限公司 一种会议记录方法、会议摄像装置、客户机及系统
US8842152B2 (en) * 2011-05-03 2014-09-23 Mitel Networks Corporation Collaboration appliance and methods thereof
US9153031B2 (en) 2011-06-22 2015-10-06 Microsoft Technology Licensing, Llc Modifying video regions using mobile device input
US8773499B2 (en) * 2011-06-24 2014-07-08 Microsoft Corporation Automatic video framing
CN102436662B (zh) * 2011-11-29 2013-07-03 南京信息工程大学 一种非重叠视域多摄像机网络中的人体目标跟踪方法
CN102609684B (zh) * 2012-01-16 2013-12-18 宁波江丰生物信息技术有限公司 人体姿势检测方法及装置
US9495591B2 (en) * 2012-04-13 2016-11-15 Qualcomm Incorporated Object recognition using multi-modal matching scheme
JP6028453B2 (ja) 2012-08-24 2016-11-16 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
US8890923B2 (en) * 2012-09-04 2014-11-18 Cisco Technology, Inc. Generating and rendering synthesized views with multiple video streams in telepresence video conference sessions
US9245312B2 (en) * 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
CN105659286B (zh) 2013-09-18 2021-09-28 英特尔公司 自动化图像裁剪和分享
CN105357575A (zh) * 2014-08-20 2016-02-24 中兴通讯股份有限公司 一种视频图像处理装置和方法
US9350924B2 (en) * 2014-08-25 2016-05-24 John G. Posa Portable electronic devices with integrated image/video compositing
US10121256B2 (en) 2014-08-28 2018-11-06 Qualcomm Incorporated Temporal saliency map
CN105554595A (zh) * 2014-10-28 2016-05-04 上海足源科技发展有限公司 一种视频摘要智能提取与分析系统
US9584763B2 (en) * 2014-11-06 2017-02-28 Cisco Technology, Inc. Automatic switching between dynamic and preset camera views in a video conference endpoint
CA2874715C (en) * 2014-12-15 2022-03-15 Ibm Canada Limited - Ibm Canada Limitee Dynamic video and sound adjustment in a video conference
US20160182814A1 (en) * 2014-12-19 2016-06-23 Microsoft Technology Licensing, Llc Automatic camera adjustment to follow a target
CN104573652B (zh) * 2015-01-04 2017-12-22 华为技术有限公司 确定人脸图像中人脸的身份标识的方法、装置和终端
JP6589321B2 (ja) * 2015-03-24 2019-10-16 富士通株式会社 システム、検索方法およびプログラム
US20160308920A1 (en) 2015-04-16 2016-10-20 Microsoft Technology Licensing, Llc Visual Configuration for Communication Session Participants
US10139790B2 (en) * 2015-06-10 2018-11-27 Vivint, Inc. Powered faceplate integration
JP6580380B2 (ja) * 2015-06-12 2019-09-25 オリンパス株式会社 画像処理装置および画像処理方法
US9973711B2 (en) * 2015-06-29 2018-05-15 Amazon Technologies, Inc. Content-based zooming and panning for video curation
WO2017143392A1 (en) * 2016-02-22 2017-08-31 GenMe Inc. A video background replacement system
CN105812717A (zh) * 2016-04-21 2016-07-27 邦彦技术股份有限公司 多媒体会议控制方法及服务器
CN105933650A (zh) * 2016-04-25 2016-09-07 北京旷视科技有限公司 视频监控系统及方法
US10075672B2 (en) * 2016-12-20 2018-09-11 Facebook, Inc. Optimizing video conferencing using contextual information
US9942518B1 (en) * 2017-02-28 2018-04-10 Cisco Technology, Inc. Group and conversational framing for speaker tracking in a video conference system
CN106951868B (zh) * 2017-03-22 2018-08-24 海南职业技术学院 一种基于身形特征的步态识别方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140138609A (ko) * 2011-12-28 2014-12-04 구글 인코포레이티드 무제한의 다이내믹한 적극적인 참가자들과의 비디오 회의
US20170337692A1 (en) * 2015-01-27 2017-11-23 Apical Ltd Method, system and computer program product for automatically altering a video stream

Also Published As

Publication number Publication date
EP3777216A1 (en) 2021-02-17
US20190313058A1 (en) 2019-10-10
US10659731B2 (en) 2020-05-19
EP3777213A1 (en) 2021-02-17
WO2019199890A1 (en) 2019-10-17
US10523864B2 (en) 2019-12-31
CN112292866A (zh) 2021-01-29
US20190313013A1 (en) 2019-10-10
US10979669B2 (en) 2021-04-13
CN112272954A (zh) 2021-01-26
WO2019199905A1 (en) 2019-10-17
CN112335256A (zh) 2021-02-05
CN112292866B (zh) 2022-11-15
EP3777217A1 (en) 2021-02-17
CN112292865A (zh) 2021-01-29
WO2019199904A1 (en) 2019-10-17
US20190313056A1 (en) 2019-10-10
US20190311480A1 (en) 2019-10-10
CN112292865B (zh) 2023-05-26
JP2021518593A (ja) 2021-08-02
KR102630902B1 (ko) 2024-02-01
WO2019199902A1 (en) 2019-10-17
EP3777214A1 (en) 2021-02-17
US10511808B2 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
KR102630902B1 (ko) 서술적 모델들에 기초한 자동화된 결정들
US10838689B2 (en) Audio selection based on user engagement
US10425579B2 (en) Social camera for auto group selfies
US10157307B2 (en) Accessibility system
US11647147B2 (en) User-specific customization of video conferences using multimodal biometric characterization
US20190208115A1 (en) Identifying User Intent for Auto Selfies
US20220345537A1 (en) Systems and Methods for Providing User Experiences on AR/VR Systems
KR20210096695A (ko) 개선된 상호작용 및 컬래버레이션을 위한 가상 공간, 혼합 현실 공간 및 결합된 혼합 현실 공간
US11172189B1 (en) User detection for projection-based augmented reality system
US11006097B1 (en) Modeling for projection-based augmented reality system
US20240233363A9 (en) High accuracy people identification over time by leveraging re-identification
US20240135701A1 (en) High accuracy people identification over time by leveraging re-identification
US11196985B1 (en) Surface adaptation for projection-based augmented reality system
US11070792B1 (en) Surface selection for projection-based augmented reality system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right