JP6630463B2 - クライアントデバイスによって得られたビデオデータをレンダリング中に1つまたは複数のエフェクトで拡張するための構成 - Google Patents

クライアントデバイスによって得られたビデオデータをレンダリング中に1つまたは複数のエフェクトで拡張するための構成 Download PDF

Info

Publication number
JP6630463B2
JP6630463B2 JP2019516425A JP2019516425A JP6630463B2 JP 6630463 B2 JP6630463 B2 JP 6630463B2 JP 2019516425 A JP2019516425 A JP 2019516425A JP 2019516425 A JP2019516425 A JP 2019516425A JP 6630463 B2 JP6630463 B2 JP 6630463B2
Authority
JP
Japan
Prior art keywords
video data
client device
information
edits
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019516425A
Other languages
English (en)
Other versions
JP2019537298A (ja
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 JP2019537298A publication Critical patent/JP2019537298A/ja
Application granted granted Critical
Publication of JP6630463B2 publication Critical patent/JP6630463B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/47205End-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 manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/172Classification, e.g. identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/8133Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)

Description

本開示は、概して、クライアントデバイスによるビデオデータの取得に関し、より具体的には、取得されたビデオデータがレンダリングされるときにクライアントデバイスによって取得されたビデオデータを追加のコンテンツで拡張するための構成に関する。
クライアントデバイスのユーザは、様々なクライアントデバイスに含まれる画像キャプチャデバイスによりビデオデータを増加傾向でキャプチャし、キャプチャしたビデオを他のユーザと共有する。例えば、クライアントデバイス上で実行されるオンラインシステムに関連するアプリケーションを介して、クライアントデバイスのユーザは、クライアントデバイスによりキャプチャされた、またはそれ以外にクライアントデバイスにより取得されたビデオデータをオンラインシステムの他のユーザに配信する。ユーザの関与を促進するために、多くのアプリケーションによって、クライアントデバイスのユーザがクライアントデバイスによって取得されたビデオデータを編集し、その後編集されたビデオデータを提示することが可能である。
例えば、様々なアプリケーションによって、ユーザが、クライアントデバイスによって取得されたビデオデータにフィルタを適用すること、またはクライアントデバイスによって取得されたビデオデータの一部上にテキストまたは画像をオーバーレイすることが可能である。しかしながら、ビデオデータを編集するための従来のアプリケーションは、ビデオデータがレンダリングされるときにビデオデータに対する編集を受け取り、ビデオデータから情報を抽出して編集を実行する。例えば、ビデオデータ内で検出された顔に画像をオーバーレイするために、従来のアプリケーションは、ビデオデータがレンダリングされる間にビデオデータに1つまたは複数の検出方法を適用して、顔が検出されたビデオデータの領域に画像をオーバーレイすることによってビデオデータを編集する。ビデオデータから情報を抽出する方法は計算量が多いので、ビデオデータをレンダリングする間に情報を抽出すること、および編集を実行することは、クライアントデバイスのバッテリまたは他の電源に蓄積される電力などのクライアントデバイスのリソースがより急速に消耗し得る。
スマートフォンまたはタブレットコンピュータなどのクライアントデバイスは、ビデオデータをキャプチャするように構成された画像キャプチャデバイスを含む。クライアントデバイス上で実行されるビデオエフェクトアプリケーションは、キャプチャされたビデオデータを受信し、キャプチャされたビデオデータがクライアントデバイスのディスプレイデバイスによって提示されるときにキャプチャされたデータを拡張するか、またはビデオデータを編集する。例えば、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータを提示するときに、キャプチャされたビデオデータ上に追加の画像またはテキストをオーバーレイする。ビデオエフェクトアプリケーションは、ビデオデータがキャプチャされたときにビデオデータを拡張するか、またはそれ以外に編集してもよく、またはビデオデータがキャプチャされた時期に続く時期にビデオデータを編集してもよい。
ビデオデータに対して様々な編集を実行するために、ビデオエフェクトアプリケーションは、多くはキャプチャされたビデオデータから情報を抽出し、抽出された情報を使用してキャプチャされたビデオデータを編集する。例えば、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータ内の1つまたは複数の顔を検出し、キャプチャされたビデオデータの幾つかのフレーム内の検出された顔の位置に基づいてテキストまたは画像をビデオデータに貼り付ける。クライアントデバイスのバッテリをより効率的に使用するために、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。様々な実施形態において、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステムに提供して、オンラインシステムが引き続きキャプチャされたビデオデータおよび関連付けられたメタデータをレンダリングのために他のクライアントデバイスに提供することができるようにする。例えば、クライアントデバイスのユーザは、クライアントデバイスによりビデオをキャプチャし、キャプチャされたビデオおよび関連付けられたメタデータをオンラインシステムに伝達するようにビデオエフェクトアプリケーションに命令を提供する。ユーザは、またキャプチャされたビデオデータおよび関連付けられたメタデータを受信するためのオンラインシステムの1人または複数の他のユーザをオンラインシステムに対して指定し、オンラインシステムはキャプチャされたビデオデータおよび関連付けられたメタデータを他のユーザに関連するクライアントデバイスに伝達する。ビデオエフェクトアプリケーションは、キャプチャされたビデオデータをレンダリングするときに実行されるべき、キャプチャされたビデオデータに対する編集を特定する情報をも記憶する。例えば、キャプチャされたビデオデータに対する1つまたは複数の編集を特定する情報は、編集が実行されるべきときのキャプチャされたビデオデータの時刻に関連して記憶される。1つまたは複数の編集を記述する情報は、オンラインシステムに提供されてもよく、オンラインシステムは、その後、1つまたは複数の編集を記述する情報をキャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータとともに他のユーザに関連付けられたクライアントデバイスに提供し得る。
キャプチャされたビデオデータが続いて提示のためにレンダリングされるとき、ビデオエフェクトアプリケーションは、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する1つまたは複数の編集を特定する情報をレンダラに提供する。キャプチャされたビデオデータに関連付けられたメタデータおよびキャプチャされたビデオデータに対する特定された1つまたは複数の編集に基づいて、レンダラは、キャプチャされたビデオデータが表示のためにレンダリングされるときに、キャプチャビデオデータに対して1つまたは複数の編集を行う。例えば、レンダラは、キャプチャされたビデオデータに関連付けられたメタデータ内に含まれる検出された顔または他のオブジェクトの1つまたは複数のフレーム内の位置に基づいて、ビデオデータの1つまたは複数の特定された時刻に対応するキャプチャされたビデオデータの1つまたは複数のフレームにテキストまたはグラフィックをオーバーレイする。
キャプチャされたビデオデータおよび関連付けられたメタデータがオンラインシステムに伝達されると、オンラインシステムは、キャプチャされたビデオデータおよび関連付けられたメタデータをオンラインシステムの他のユーザに関連する追加のクライアントデバイスに伝達し得る。オンラインシステムの他のユーザは、追加のクライアントデバイスのビデオエフェクトアプリケーションまたはレンダラに1つまたは複数の編集を記述する情報を提供して、追加のクライアントデバイスのレンダラまたはビデオエフェクトアプリケーションがキャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータに対して記述された編集を実行し、編集されたキャプチャされたビデオデータをクライアントデバイスの他のユーザに提示することができるようにする。追加のクライアントデバイスのレンダラまたはビデオエフェクトアプリケーションがキャプチャされたビデオデータから情報を抽出することなく、キャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータに対して編集を実行することにより、追加のクライアントデバイスの計算および電力リソースが節約される。
キャプチャされたビデオデータから情報を別個に抽出し、ビデオデータに対して編集を実行することにより、クライアントデバイスがそのバッテリをより効率的に使用することが可能となる。キャプチャされたビデオデータから情報を抽出する方法は計算量が多いため、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャビデオデータに関連付けられたメタデータとして記憶することによって、キャプチャビデオデータに関連付けられたメタデータはキャプチャされたビデオデータと共に他のクライアントデバイスに提供することができ、これにより、他のクライアントデバイスは、キャプチャされたビデオデータから情報を再度抽出して提示中にビデオデータを編集するのではなく、提示中にビデオデータを編集するときにキャプチャされたビデオデータに関連付けられたメタデータを利用することができる。さらに、キャプチャされたビデオデータから抽出された情報を記憶し、提示中にキャプチャされたビデオデータを編集するために記憶された情報を使用することにより、より高品質の編集されたキャプチャされたビデオデータの提示が可能となる。例えば、キャプチャされたビデオデータから抽出された記憶された情報を使用してキャプチャされたビデオデータを編集することにより、キャプチャされたビデオデータへの編集がキャプチャされたビデオデータを圧縮することによる圧縮アーチファクトのないようにすることが可能となる。さらに、キャプチャされたビデオデータから抽出された記憶された情報に基づいてキャプチャされたビデオデータを編集することにより、ビデオエフェクトアプリケーションがキャプチャされたビデオデータが編集される間にキャプチャされたビデオデータから情報が抽出される場合よりもキャプチャされたビデオデータに対してより複雑な編集を行うことが可能となる。
本発明による実施形態は、特に、方法およびコンピュータプログラム製品に向けられた添付の請求項に開示され、ある請求項のカテゴリ、たとえば方法、で述べる特徴は別の請求項のカテゴリ、たとえば、コンピュータプログラム製品、システム、記憶媒体においても同様に請求することができる。添付の請求項の従属または後方参照は単に形式的理由のために選ばれている。ただし、任意の先行請求項への意図的な後方参照(特に多数項従属)により得られる任意の主題も同様に請求できるので、請求項とその特徴のあらゆる組合せが開示され、添付の請求項で選ばれる従属に関係なく請求することができる。請求できる主題は、添付の請求項に記載される通りの特徴の組合せだけでなく、請求項の特徴のあらゆる他の組合せも含み、請求項で述べられる各特徴はあらゆる他の特徴または請求項の他の特徴の組合せと組み合わせることができる。また、本明細書で説明または図示される実施形態および特徴のいずれも、個々の請求項および/または本明細書で説明もしくは図示されるあらゆる実施形態もしくは特徴、もしくは添付の請求項の特徴のいずれかとのあらゆる組合せで請求することができる。
本発明による一実施形態において、方法、特にコンピュータが実施する方法は、
クライアントデバイスにおいてビデオデータを取得するステップと、
クライアントデバイスにおいてビデオデータが取得されたときに、クライアントデバイスがビデオデータに1つまたは複数の処理を適用することによってビデオデータから情報を抽出するステップと、
抽出した情報をビデオデータに関連付けられたメタデータとして記憶するステップと、
ビデオデータに対する1つまたは複数の編集を特定する情報を受信するステップと、
ビデオデータに対する編集を特定する受信した情報をビデオデータに関連付けて記憶するステップと、
ビデオデータがクライアントデバイスによってレンダリングされるときに、受信した情報によって特定された編集を実行することによってビデオデータを編集するステップであって、1つまたは複数の編集がビデオデータに関連付けられたメタデータを使用して実行される、編集するステップと、
クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示するステップとを含む。
本発明による一実施形態において、方法は、ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムに提供するステップを含み得る。
ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムに提供するステップは、オンラインシステムのユーザの識別子をオンラインシステムにビデオデータおよびビデオデータに関連付けられたメタデータに関連付けて伝達することを含み得る。
本発明による一実施形態において、方法は、ビデオデータに対する編集を特定する受信した情報をオンラインシステムにビデオデータおよびビデオデータに関連付けられたメタデータに関連付けて提供するステップを含み得る。
ビデオデータに関連付けられたメタデータは、1つまたは複数のオブジェクトを含むビデオデータの1つまたは複数の一部を特定し得る。
ビデオデータを編集するステップは、
ビデオデータの1つまたは複数の一部に含まれるオブジェクトに基づいてビデオデータの1つまたは複数の一部を編集することを含み得る。
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集するステップは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスのユーザから受信した1つまたは複数の入力に基づいてビデオデータの一部を編集することを含み得る。
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集するステップは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスの1つまたは複数の構成要素によってキャプチャされた情報に基づいてビデオデータの一部を編集することを含み得る。
クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択され得る。
受信した情報によって特定された編集を実行することによってビデオデータを編集するステップであって、1つまたは複数の編集がビデオデータに関連付けられたメタデータに基づいて実行される、編集するステップは、
ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定されたビデオデータの一部に1つまたは複数の画像をオーバーレイし、ビデオデータの一部の間のビデオデータのオーディオデータを編集することを含み得る。
受信した情報によって特定された編集を実行することによってビデオデータを編集するステップは、
ビデオデータに関連付けられたメタデータによって特定されたビデオデータの一部の1つまたは複数の特性に基づいてビデオデータの一部に対して複数の編集を実行することを含み得る。
クライアントデバイスにおいてビデオデータを取得するステップは、
クライアントデバイスに含まれる画像キャプチャデバイスによりビデオデータをキャプチャすることを含み得る。
クライアントデバイスにおいてビデオデータを取得するステップは、
他のクライアントデバイスからビデオデータを受信することを含み得る。
クライアントデバイスにおいてビデオデータが取得されるときにビデオデータに適用されるプロセスは、ビデオデータに含まれる1つまたは複数のオブジェクトを特定し得る。
ビデオデータに含まれるオブジェクトは顔を含み得る。
本発明による一実施形態において、方法は、
オンラインシステムにおいて、オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
オンラインシステムにおいて、クライアントデバイスによってビデオデータに関連付けられたメタデータを受信するステップと、メタデータは、クライアントデバイスがビデオデータを取得したときにクライアントデバイスによってビデオデータから抽出された情報を含み、
オンラインシステムにおいて、ビデオデータをメタデータと関連付けて記憶するステップと、
ビデオデータおよびビデオデータに関連付けられたメタデータを、オンラインシステムの追加のユーザに関連する追加のクライアントデバイスに提供するステップとを含み得る。
オンラインシステムにおいて、クライアントデバイスによってビデオデータに関連付けられたメタデータを受信するステップは、
クライアントデバイスによってビデオデータに関連付けられたメタデータと、クライアントデバイスによって受信されたビデオデータに対する1つまたは複数の編集を記述する情報とを受信することを含み得る。
ビデオデータおよびビデオデータに関連付けられたメタデータを追加のクライアントデバイスに提供するステップは、
ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み得、追加のクライアントデバイスは、ビデオデータをレンダリングするときにビデオデータに対する1つまたは複数の編集を実行するように構成されている。
ビデオデータに対する1つまたは複数の編集を記述する情報は、ビデオデータに関連付けられたメタデータによって識別された、ビデオデータの一部の1つまたは複数の特性に基づいてビデオデータの一部に対する複数の編集を特定し得る。
ビデオデータに対する1つまたは複数の編集を記述する情報は、ビデオデータの一部に対応する期間中に追加のクライアントデバイスによって受信された1つまたは複数の入力に基づいてビデオデータの一部に対する編集を特定し得る。
本発明による一実施形態において、コンピュータプログラム製品は、符号化された命令を有する非一時的コンピュータ可読記憶媒体を好ましくは備え、命令は、プロセッサによる実行時に、プロセッサに、
クライアントデバイスにおいて、ビデオデータおよびビデオデータに関連付けられたメタデータを取得すること、メタデータは、追加のクライアントデバイスによってビデオデータに関連付けられ、
クライアントデバイスにおいて、ビデオデータに対する1つまたは複数の編集を特定する情報を受信すること、
クライアントデバイスによりビデオデータがレンダリングされるときに受信した情報により特定された編集を実行することによってビデオデータを編集すること、1つまたは複数の編集は、ビデオデータに関連付けられたメタデータを使用して行われ、
クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる。
ビデオデータに対する編集はビデオデータの一部を特定し得、ビデオデータを編集することは、
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報に基づいてビデオデータの一部を編集することを含み得る。
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報は、ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスのユーザから受信された1つまたは複数の入力を含み得る。
ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスによって取得された情報は、ビデオデータの一部がクライアントデバイスによってレンダリングされる期間中にクライアントデバイスの1つまたは複数の構成要素によってキャプチャされた情報を含み得る。
ビデオデータおよび追加のクライアントデバイスによってビデオデータに関連付けられたメタデータを取得することは、
ビデオデータおよびビデオデータに関連付けられたメタデータをオンラインシステムから受信することを含み得る。
本発明による一実施形態において、1つまたは複数のコンピュータ可読非一時的記憶媒体は、本発明による方法または前述の実施形態のいずれかを実施するために実行されたときに動作可能であるソフトウェアを具体化し得る。
本発明による一実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに連結されて、プロセッサにより実行可能な命令を含む少なくとも1つのメモリとを備え得、前記プロセッサは、命令を実行したときに、本発明による方法または前述の実施形態のいずれかを実施するように動作可能である。
本発明による一実施形態において、コンピュータ可読非一時的記憶媒体は符号化された命令を有し、該命令は、プロセッサによる実行時、該プロセッサに、本発明による方法または前述の実施形態のいずれかを実施させることが可能であり得る。
一実施形態によるオンラインシステムが動作するシステム環境のブロック図である。 一実施形態によるオンラインシステムのブロック図である。 一実施形態によるクライアントデバイスのブロック図である。 一実施形態によるクライアントデバイスによって取得されたビデオデータを編集するための方法のフローチャートである。 一実施形態による、クライアントデバイスによって取得されたビデオデータを編集するための構成のプロセスフロー図である。 一実施形態による、クライアントデバイスによって取得されたビデオデータおよびビデオデータに対する編集を追加のクライアントデバイスに提供し、追加のクライアントデバイスが編集を実行し、編集されたビデオデータを提示するための方法の相互作用図である。
図は、例示のみの目的でさまざまな実施形態を示している。本明細書において記述されている原理から逸脱することなく、本明細書において示されている構造および方法の代替実施形態が採用されることが可能であるということを当業者であれば以降の論考から容易に認識するであろう。
システム構成
図1は、オンラインシステム140のためのシステム環境100のブロック図である。図1によって示されているシステム環境100は、1つまたは複数のクライアントデバイス110と、ネットワーク120と、1つまたは複数のサードパーティシステム130と、オンラインシステム140とを備える。代替構成においては、異なる構成要素および/または更なる構成要素がシステム環境100内に含まれ得る。例えば、オンラインシステム140は、ソーシャルネットワーキングシステム、コンテンツ共有ネットワーク、メッセージングサーバ、またはコンテンツをユーザに提供する別のシステムである。
クライアントデバイス110は、ユーザ入力を受け取ること、ならびにネットワーク120を通じてデータを送信することおよび/または受け取ることが可能な1つまたは複数のコンピューティングデバイスである。一実施形態においては、クライアントデバイス110は、デスクトップまたはラップトップコンピュータなど、従来のコンピュータシステムである。あるいは、クライアントデバイス110は、携帯情報端末(PDA)、モバイル電話、スマートフォン、スマートウオッチ、または別の適切な機器など、コンピュータ機能を有する機器であり得る。クライアントデバイス110は、ネットワーク120を通じて通信を行うように構成されている。一実施形態においては、クライアントデバイス110は、クライアントデバイス110のユーザがオンラインシステム140とインタラクションすることを可能にするアプリケーションを実行する。たとえば、クライアントデバイス110は、ネットワーク120を通じたクライアントデバイス110とオンラインシステム140との間におけるインタラクションを可能にするためにブラウザアプリケーションを実行する。別の実施形態においては、クライアントデバイス110は、IOS(登録商標)またはANDROID(登録商標)など、クライアントデバイス110のネイティブオペレーティングシステム上で稼働するアプリケーションプログラミングインターフェース(API)を通じてオンラインシステム140とインタラクションする。
図3に関連して以下にさらに説明されるように、各種実施形態において、クライアントデバイス110は、ビデオデータをキャプチャすることができる画像キャプチャデバイスと、キャプチャされたビデオデータを編集するためのアプリケーションとを含む。例えば、クライアントデバイス110上で実行されるアプリケーションは、クライアントデバイス110のユーザが、画像キャプチャデバイスによってキャプチャされるか、またはそれ以外にクライアントデバイス110によって取得されたビデオデータの一部に画像またはテキストをオーバーレイすることを可能にする。いくつかの実施形態において、ビデオデータを編集するためのアプリケーションは、追加機能を提供する。例えば、アプリケーションは、ユーザがオンラインシステム140の他のユーザとコンテンツ(例えば、メッセージ)を交換することを可能にする。あるいは、追加のアプリケーションは、ユーザがオンラインシステム140のユーザと通信することを可能にし、追加のアプリケーションは、ビデオデータを編集したアプリケーションから編集後のビデオデータを取得する。リソース(例えば、電源リソース)を節約しつつ取得したビデオデータを編集するために、アプリケーションは、ビデオデータが取得されたときにビデオデータから情報を抽出し、抽出された情報を記述するメタデータをビデオデータに関連付けて格納する。ビデオデータに対する1つまたは複数の編集を記述する情報を受信した後、アプリケーション(または別のアプリケーション)は、ビデオデータに関連付けられたメタデータを使用して、記述された1つまたは複数の編集を実行する。これにより、ビデオデータが受信されたときおよびビデオデータが編集されるときに、ビデオデータから情報を抽出することなく、ビデオデータを編集することが可能になる。例示的なクライアントデバイス110は、図3に関連して以下でさらに説明され、ビデオデータからの情報の抽出およびビデオデータの編集は、図4および5に関連して以下でさらに説明される。
クライアントデバイス110は、ネットワーク120を通じて通信を行うように構成されており、ネットワーク120は、有線通信システムおよび/または無線通信システムの両方を使用する、ローカルエリアネットワークおよび/またはワイドエリアネットワークの任意の組合せを含むことができる。一実施形態においては、ネットワーク120は、標準的な通信技術および/またはプロトコルを使用する。たとえば、ネットワーク120は、イーサネット(登録商標)、802.11、ワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス(WiMAX)、3G、4G、符号分割多元接続(CDMA)、デジタルサブスクライバーライン(DSL)等などの技術を使用する通信リンクを含む。ネットワーク120を通じて通信するために使用されるネットワーキングプロトコルの例としては、マルチプロトコルラベルスイッチング(MPLS)、トランスミッションコントロールプロトコル/インターネットプロトコル(TCP/IP)、ハイパーテキストトランスポートプロトコル(HTTP)、シンプルメールトランスファープロトコル(SMTP)、およびファイルトランスファープロトコル(FTP)が含まれる。ネットワーク120を通じて交換されるデータは、ハイパーテキストマークアップ言語(HTML)または拡張マークアップ言語(XML)などの任意の適切なフォーマットを使用して表現され得る。いくつかの実施形態においては、ネットワーク120の通信リンクのうちのすべてまたはいくつかは、任意の適切な1つまたは複数の技術を使用して暗号化され得る。
1つまたは複数のサードパーティシステム130はオンラインシステム140と通信するためのネットワーク120に統合されることが可能であり、オンラインシステム140については、以下に図2と併せてさらに説明される。一実施形態においては、サードパーティシステム130は、クライアントデバイス110によって実行するためのアプリケーションについて記述する情報を伝達するアプリケーションプロバイダ、またはクライアントデバイス上で実行されるアプリケーションによって使用するためのデータをクライアントデバイス110に対して伝達するアプリケーションプロバイダである。他の実施形態においては、サードパーティシステム130は、クライアントデバイス110を通じて提示するためのコンテンツまたは他の情報を提供する。サードパーティシステム130は、情報、たとえば、サードパーティシステム130によって提供される広告、コンテンツ、またはアプリケーションに関する情報をオンラインシステム140に対して伝達し得る。
各種サードパーティシステム130は、オンラインシステム140のユーザにコンテンツを提供する。例えば、サードパーティシステム130は、オンラインシステム140のユーザがクライアントデバイス110上で実行する1つまたは複数のアプリケーションを介してアクセスし得るコンテンツのページを維持する。サードパーティシステム130は、オンラインシステム130によって提供されるコンテンツを特定するコンテンツアイテムをオンラインシステム140に提供して、サードパーティシステム130によって提供されるコンテンツをオンラインシステム140のユーザに通知し得る。例えば、サードパーティシステム130によってオンラインシステム140に提供されるコンテンツアイテムは、コンテンツのページを取得するためのネットワークアドレスを指定する、オンラインシステム140によって提供されるコンテンツのページを特定する。
図2は、オンラインシステム140の構成のブロック図である。図2において示されているオンラインシステム140は、ユーザプロフィールストア205、コンテンツストア210、アクションロガー215、アクションログ220、エッジストア225、コンテンツ選択モジュール230、およびウェブサーバ235を含む。その他の実施形態においては、オンラインシステム140は、各種アプリケーションに関するさらなる、より少ない、または異なる構成要素を含み得る。ネットワークインターフェース、セキュリティー機能、ロードバランサ、フェイルオーバサーバ、管理およびネットワークオペレーションコンソール等などの従来の構成要素は、このシステム構成の詳細をわかりにくくすることのないように、示されていない。
オンラインシステム140の各ユーザは、ユーザプロフィールストア205に記憶されているユーザプロフィールに関連付けられている。ユーザプロフィールは、ユーザが明白的にシェアしたユーザに関する宣言的情報を含み、かつオンラインシステム140によって推定されるプロフィール情報も含み得る。一実施形態においては、ユーザプロフィールは、対応するソーシャルネットワーキングシステムのユーザの1つまたは複数の属性をそれぞれ記述する複数のデータフィールドを含む。ユーザプロフィールに記憶される情報の例には、職歴、学歴、性別、趣味やプリファレンス、ロケーション等など、人物、人口統計学的およびその他のタイプの記述的情報が含まれる。ユーザプロフィールは、ユーザが提供する他の情報、たとえば、画像やビデオを記憶することもできる。ある実施形態においては、ユーザの画像を、画像に表示されるソーシャルネットワーキングシステムのユーザを特定する情報、ユーザがユーザのユーザプロフィールにタグ付けして記憶した画像を特定する情報でタグ付けすることが可能である。ユーザプロフィールストア205内のユーザプロフィールは、コンテンツストア210内のコンテンツアイテムに対して行われてアクションログ220に記憶される、対応するユーザによるアクションへの参照を維持することもできる。
各ユーザプロフィールは、オンラインシステム140が個々のユーザプロフィールに対応するユーザを一意に識別することを可能にするユーザ識別情報を含む。例えば、各ユーザプロフィールは電子メール(「Eメール」)アドレスを含み、オンラインシステム140がそれらのEメールアドレスに基づいて個々のユーザを識別することが可能となる。しかしながら、ユーザプロフィールは、オンラインシステム140が個々のユーザを識別することを可能にする、オンラインシステム140によってユーザに関連付けられた任意の適切なユーザ識別情報を含み得る。
ユーザプロフィールストア205内のユーザプロフィールは、しばしば個人に関連付けられて、個人がオンラインシステム140を通じて互いにインタラクションすることを可能にするが、ユーザプロフィールは企業や組織などのエンティティについても記憶することができる。これによりエンティティは、オンラインシステム140上で、他のソーシャルネットワーキングシステムのユーザとつながり、かつコンテンツを交換するためにプレゼンスを確立することが可能である。エンティティは、自社についての情報、自社製品についての情報を投稿し、またはエンティティのユーザプロフィールに関連付けられているブランドページを使用してオンラインシステム140のユーザに他の情報を提供することができる。オンラインシステム140の他のユーザは、ブランドページとつながって、ブランドページに投稿された情報を受け取るか、またはブランドページからの情報を受け取ることができる。ブランドページに関連付けられているユーザプロフィールは、そのエンティティに関する背景または情報データをユーザに提供する、エンティティ自体に関する情報を含み得る。
コンテンツストア210は、様々なタイプのコンテンツを各々が表す複数のオブジェクトを記憶する。オブジェクトによって表されるコンテンツの例には、ページ投稿、ステータスの更新、写真、ビデオ、リンク、共有コンテンツアイテム、ゲームアプリケーションの達成度、地域のビジネスにおけるチェックインイベント、ブランドページ、または他のタイプのコンテンツが含まれる。オンラインシステムのユーザは、ステータスの更新、オンラインシステム140内の他のオブジェクトに関連付けるためにユーザがタグ付けした写真、イベント、グループ、またはアプリケーションなど、コンテンツストア210によって記憶されるオブジェクトを作成することができる。いくつかの実施形態においては、オブジェクトはサードパーティアプリケーション、またはオンラインシステム140とは別のサードパーティアプリケーションから受け取られる。一実施形態においては、コンテンツストア210内のオブジェクトは、1つのコンテンツ、または複数のコンテンツ「アイテム」を表す。そのため、オンラインシステムのユーザは、様々な通信チャネルを通してテキストや様々なタイプの媒体のコンテンツアイテムをオンラインシステム140に投稿することによって、互いに通信するよう促される。これによりユーザ同士のインタラクションの量が増え、オンラインシステム140内でユーザがインタラクションする頻度が増す。
様々な実施形態において、コンテンツストア210は、クライアントデバイス110によってキャプチャされたビデオデータと、クライアントデバイス110によってビデオデータに関連付けられたメタデータとを含む。図3〜図5に関連して以下でさらに説明されるように、クライアントデバイス110は、キャプチャされたビデオデータから情報を抽出し、キャプチャされたビデオデータに関連付けてメタデータを格納する。クライアントデバイス110は、ビデオデータおよび関連のメタデータをオンラインシステム140に伝達し、オンラインシステム140は、ビデオデータおよび関連のメタデータをコンテンツストア210に格納する。様々な実施形態において、オンラインシステム140はオンラインシステム140のユーザを識別する情報をビデオデータおよび関連のメタデータと共に受信し、ユーザを識別する情報をビデオデータおよびビデオデータに関連付けられたメタデータと関連して格納する。図4に関連して以下にさらに説明されるように、オンラインシステム140は、ビデオデータをオンラインシステム140に提供したユーザから他のユーザにビデオデータを提供するための要求を受信したことに応答して、コンテンツストア210からビデオデータおよびビデオデータに関連付けられたメタデータを取得し、オンラインシステムの他のユーザに関連するクライアントデバイス110にビデオデータおよび関連のメタデータを提供し得る。
コンテンツストア210に含まれる1つまたは複数のコンテンツアイテムは、ユーザに提示するためのコンテンツと入札額とを含む。コンテンツは、テキスト、画像、オーディオ、ビデオ、またはユーザに提示される他の適切なデータである。様々な実施形態において、コンテンツはまた、コンテンツのページを特定する。例えば、コンテンツアイテムは、コンテンツアイテムがアクセスされたときにユーザを対象とするコンテンツのページのネットワークアドレスを指定するランディングページを含む。入札額は、ユーザによってコンテンツアイテムに含まれ、かつ入札額は、コンテンツアイテム内のコンテンツがユーザに提示された場合、提示されたときにコンテンツアイテム内のコンテンツがユーザインタラクションを受け取った場合、またはコンテンツアイテム内のコンテンツがユーザに提示されたときに何らかの適切な条件が満たされた場合に、広告主によってオンラインシステム140に提供される金銭的補償等の期待値を決定するために使用される。例えば、コンテンツアイテムに含まれる入札額は、コンテンツアイテム内のコンテンツが表示された場合に、コンテンツアイテムをオンラインシステム140に提供したユーザからオンラインシステム140が受け取る金額を指定する。いくつかの実施形態では、コンテンツアイテムからコンテンツを提示することのオンラインシステム140への期待値は、入札額に、コンテンツアイテムのコンテンツがユーザによってアクセスされる確率を乗算することによって決定され得る。
様々なコンテンツアイテムは、コンテンツアイテムに関連するユーザが、そのコンテンツアイテムに含まれるコンテンツが提示されたときに他のユーザが実行することを所望するインタラクションを識別する目標を含み得る。例示的な目標は、コンテンツアイテムに関連するアプリケーションのインストール、コンテンツアイテムに対するプリファレンスの指示、他のユーザとのコンテンツアイテムの共有、コンテンツアイテムに関連付けられたオブジェクトとのインタラクション、または他の適切なインタラクションの実行を含む。コンテンツアイテムからのコンテンツがオンラインシステムのユーザに提示されると、オンラインシステム140は、提示されたユーザとコンテンツアイテムまたはコンテンツアイテムに関連するオブジェクトとの間のインタラクションを記録する。さらに、オンラインシステムユーザがコンテンツアイテムに含まれる目標を満たす、コンテンツアイテムとのインタラクションを実行したときに、オンラインシステム140は、コンテンツアイテムに関連するユーザから補償金を受け取る。
さらに、コンテンツアイテムは、コンテンツアイテムをオンラインシステム140に提供したユーザによって指定された1つまたは複数のターゲティング基準を含み得る。コンテンツアイテム要求に含まれるターゲティング基準は、コンテンツアイテムと共に提示されるのに適したユーザの1つまたは複数の特徴を指定する。例えば、ターゲティング基準は、少なくとも1つのターゲティング基準を満たすユーザプロフィール情報、エッジ、またはアクションを有するユーザを識別するために使用される。したがって、ターゲティング基準は、ユーザが特定の特性を有するユーザを識別することを可能にし、その後の個々のユーザへのコンテンツの配信を簡略化する。
一実施形態では、ターゲティング基準は、ユーザと他のユーザまたはオンラインシステム140のオブジェクトとの間のアクションまたは接続タイプを指定し得る。ターゲティング基準は、ユーザと、サードパーティシステム130上などのオンラインシステム140の外部で実行されるオブジェクトとの間のインタラクションも指定し得る。例えば、ターゲティング基準は、他のユーザへのメッセージの送信、アプリケーションの使用、グループへの参加、グループからの離脱、イベントへの参加、イベントの説明の生成、オンラインマーケットプレイスを使用した製品またはサービスの購入または検討、サードパーティシステム130からの情報の要求、アプリケーションのインストール、または他の任意の適切なアクション等の特定のアクションを行ったユーザを識別する。アクションをターゲティング基準に含めることで、ユーザはコンテンツアイテムの提示に適したユーザをさらに絞り込むことができる。別の例として、ターゲティング基準は、他のユーザまたはオブジェクトへの接続を有するか、または他のユーザまたはオブジェクトへの特定のタイプの接続を有するユーザを識別する。
アクションロガー215は、オンラインシステム140の内部および/または外部のユーザアクションに関する通信を受け取って、ユーザアクションに関する情報をアクションログ220に投入する。アクションの例には、別のユーザへのつながりを追加すること、別のユーザにメッセージを送信すること、画像をアップロードすること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられているコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席することが含まれる。さらに、多数のアクションがオブジェクトおよび1人または複数人の特定のユーザを伴うことがあるため、これらのアクションも特定のユーザに関連付けられて、アクションログ220に記憶される。
アクションログ220は、オンラインシステム140が、オンラインシステム140上でのユーザアクション、および、オンラインシステム140に情報を伝達するサードパーティシステム130上でのアクションを追跡するために使用することができる。ユーザはオンラインシステム140上のさまざまなオブジェクトとインタラクションすることができ、これらのインタラクションについて記述する情報がアクションログ220に記憶される。オブジェクトとのインタラクションの例には、投稿に対してコメントすること、リンクをシェアすること、クライアントデバイス110を通じて実際のロケーションにチェックインすること、コンテンツアイテムにアクセスすること、および他の適切なインタラクションが含まれる。アクションログ220に含められるオンラインシステム140上のオブジェクトとのインタラクションのさらなる例には、フォトアルバムに対してコメントすること、ユーザと通信すること、オブジェクトとのつながりを確立すること、イベントに参加すること、グループに参加すること、イベントを作成すること、アプリケーションを認証すること、アプリケーションを使用すること、オブジェクトに関するプリファレンスを表現すること(そのオブジェクトに「いいね!」を表明すること)、および、トランザクションに関わることが含まれる。さらに、アクションログ220は、オンラインシステム140上の広告およびオンラインシステム140上で動作する他のアプリケーションとの、ユーザのインタラクションを記録することができる。いくつかの実施形態においては、アクションログ220からのデータは、ユーザの関心またはプリファレンスを推測するために使用されて、ユーザのユーザプロフィールに含まれる関心を強化し、ユーザのプリファレンスをさらに完全に理解できるようにする。
アクションログ220は、外部ウェブサイトなどのサードパーティシステム130上で行われてオンラインシステム140に伝達されるユーザアクションを記憶することもできる。たとえば、電子商取引のウェブサイトはソーシャルプラグインを通じてオンラインシステム140のユーザを認識することができるので、電子商取引のウェブサイトがオンラインシステム140のユーザを識別することが可能である。オンラインシステム140のユーザは一意に識別できるため、前述の例におけるように、電子商取引のウェブサイトは、オンラインシステム140外のユーザのアクションに関する情報を、ユーザに関連付けるためにオンラインシステム140に伝達することができる。そのため、アクションログ220は、ウェブページの閲覧履歴、関わった広告、行った購入、および買い物や購買からの他のパターンなどを含む、ユーザがサードパーティシステム130上で行うアクションに関する情報を記録することができる。さらに、サードパーティシステム130に関連付けられ、かつクライアントデバイス110上で実行するアプリケーションを介してユーザが実行するアクションは、アクションログ220内の記録およびユーザとの関連付けのためにアプリケーションによってアクションロガー215に伝達され得る。
一実施形態においては、エッジストア225は、ユーザとオンラインシステム140上の他のオブジェクトとのつながりについて記述する情報をエッジとして記憶する。いくつかのエッジはユーザによって定義されることができ、ユーザが他のユーザとの関係を指定することが可能である。たとえば、ユーザは、友達、同僚、パートナーなど、ユーザの実生活の関係に即した他のユーザとのエッジを生成することができる。オンラインシステム140上のあるページへの関心を表明すること、オンラインシステム140の他のユーザとリンクをシェアすること、および、オンラインシステム140の他のユーザが行った投稿にコメントすることなど、ユーザがオンラインシステム140でオブジェクトとインタラクションするとき、他のエッジが生成される。
エッジは、ユーザ同士のインタラクション、ユーザとオブジェクトのインタラクション、またはオブジェクト同士のインタラクションの特性をそれぞれ表す様々な特徴を含むことができる。たとえば、エッジに含まれる特徴は、2人のユーザ間のインタラクションの割合、2人のユーザが互いにインタラクションしたのがどれくらい最近であったか、あるユーザがオブジェクトに関して取得した情報の割合もしくは量、またはユーザがオブジェクトに関して投稿したコメントの数とタイプを記述する。特徴は、ある特定のオブジェクトまたはユーザについて記述する情報を表すこともできる。たとえば、特徴は、ある特定のトピックに対してユーザがもつ関心のレベル、ユーザがオンラインシステム140にログインしている割合、またはユーザに関する人口統計学的情報について記述する情報を表すことができる。各特徴は、ソースオブジェクトまたはユーザ、ターゲットオブジェクトまたはユーザ、および特徴値に関連付けることができる。特徴は、ソースオブジェクトまたはユーザ、ターゲットオブジェクトまたはユーザについて、またはソースオブジェクトまたはユーザとターゲットオブジェクトまたはユーザとの間におけるインタラクションについて記述する値に基づいた式として指定され得る。そのため、エッジは1つまたは複数の特徴式として表され得る。
エッジストア225は、オブジェクト、関心、および他のユーザについてのアフィニティ(affinity)スコアなど、エッジに関する情報も記憶する。オンラインシステム140によって経時的にアフィニティスコア、または、「アフィニティ」が計算されて、ユーザが行うアクションに基づいて、オンラインシステム140内のオブジェクトまたは別のユーザへのユーザの関心を見積ることができる。オンラインシステム140によって経時的にユーザのアフィニティが計算されて、ユーザが行うアクションに基づいてオンラインシステム140内のオブジェクト、トピック、または別のユーザへのユーザの関心を見積ることができる。アフィニティの計算については、2010年12月23日に出願された米国特許出願第12/978,265号、2012年11月30日に出願された米国特許出願第13/690,254号、2012年11月30日に出願された米国特許出願第13/689,969号、および2012年11月30日に出願された米国特許出願第13/690,088号にさらに記述されており、一実施形態においては、ユーザと特定のオブジェクトとの間における複数のインタラクションを、1つのエッジとしてエッジストア225内に記憶することができる。あるいは、ユーザと特定のオブジェクトとの間における各インタラクションを別個のエッジとして記憶する。いくつかの実施形態においては、ユーザ間のつながりをユーザプロフィールストア205に記憶することができ、またはユーザプロフィールストア205がユーザ間のつながりを決定するためにエッジストア225にアクセスすることができる。
コンテンツ選択モジュール230は、1つまたは複数のコンテンツアイテムをユーザに提示されるべくクライアントデバイス110への伝達のために選択する。ユーザへの提示に適したコンテンツアイテムは、視聴ユーザへの提示のためにコンテンツアイテムのうちの1つまたは複数を選択するコンテンツ選択モジュール230によって、コンテンツストア210から、または別のソースから取得される。ユーザへの提示に適したコンテンツアイテムは、ユーザの特性によって満たされる少なくともしきい値数のターゲティング基準に関連付けられたコンテンツアイテムであるか、またはターゲティング基準に関連付けられていないコンテンツアイテムである。様々な実施形態において、コンテンツ選択モジュール230は、ユーザに提示するための一組のコンテンツアイテムを特定する1つまたは複数の選択プロセスにおいてユーザに提示するのに適したコンテンツアイテムを含む。例えば、コンテンツ選択モジュール230は、オンラインシステム140によってユーザに関連付けられた特性に基づいて、かつ個々のコンテンツアイテムに対するユーザのアフィニティに基づいて、ユーザに対する様々なコンテンツアイテムの関連性の度合いを決定する。関連性の度合いに基づいて、コンテンツ選択モジュール230は、ユーザに提示するためのコンテンツアイテムを選択する。追加の例として、コンテンツ選択モジュール230は、ユーザへの提示のために、最も高い関連性の度合いを有するコンテンツアイテム、または少なくともしきい値の関連性の度合いを有するコンテンツアイテムを選択する。代替的に、コンテンツ選択モジュール230は、その関連する関連性の度合いに基づいてコンテンツアイテムをランク付けし、ランク付けにおいて最上位位置にあるコンテンツアイテム、またはランク付けにおいて少なくともしきい値位置にあるコンテンツアイテムをユーザへの提示のために選択する。
ユーザへの提示に適したコンテンツアイテムは、入札額に関連するコンテンツアイテムを含み得る。コンテンツ選択モジュール230は、ユーザに提示するためのコンテンツを選択するときに広告要求に関連する入札額を使用する。様々な実施形態において、コンテンツ選択モジュール230は、それらの入札額に基づいて様々なコンテンツアイテムに関連付けられた期待値を決定し、最大期待値に関連付けられたコンテンツアイテム、または少なくとも提示のためのしきい値期待値に関連付けられたコンテンツアイテムを選択する。コンテンツアイテムに関連付けられた期待値は、コンテンツアイテムを提示することに関するオンラインシステム140への期待補償額を表す。例えば、コンテンツアイテムに関連付けられた期待値は、広告要求の入札額と、ユーザがコンテンツアイテムとインタラクションする可能性との乗算値である。コンテンツ選択モジュール230は、コンテンツアイテムに関連付けられた入札額に基づいてコンテンツアイテムをランク付けし、ランク付けにおいて少なくともしきい値位置にあるコンテンツアイテムをユーザへの提示のために選択し得る。いくつかの実施形態では、コンテンツ選択モジュール230は、入札額およびコンテンツアイテムに関連する関連性の度合いに基づいて、入札額に関連しないコンテンツアイテムおよび入札額に関連するコンテンツアイテムの両方を統一したランキングでランク付けする。統一したランキングに基づいて、コンテンツ選択モジュール230は、ユーザに提示するためのコンテンツを選択する。統一したランクキングを通じて入札額に関連するコンテンツアイテムと入札額に関連しないコンテンツアイテムを選択することは、2012年7月10日に出願された米国特許出願第13/545,266号にさらに記載されており、この特許出願を参照によりその全体を本明細書に組み込む。
例えば、コンテンツ選択モジュール230は、オンラインシステム140のユーザにコンテンツのフィードを提示する要求を受け取る。フィードは、入札額に関連付けられた1つまたは複数のコンテンツアイテム、およびユーザに接続している他のオンラインシステムの複数のユーザに関連付けられた複数のアクションを記述するストーリーなどの、入札額に関連付けられていない他のコンテンツアイテムを含み得る。コンテンツ選択モジュール230は、ユーザについての情報を取得するために、ユーザプロフィールストア205、コンテンツストア210、アクションログ220、およびエッジストア225のうちの1つまたは複数にアクセスする。例えば、ユーザに接続されている他の複数のユーザに関連付けられている複数のアクションを記述する情報、またはユーザに接続されている複数のユーザに関連付けられている他のデータが取得される。コンテンツストア210からのコンテンツアイテムは、コンテンツ選択モジュール230によって取得および分析されて、ユーザへの提示に適した候補コンテンツアイテムを特定する。例えば、ユーザに接続されていない複数のユーザに関連するコンテンツアイテム、またはユーザに対するアフィニティがしきい値未満の複数のユーザに関連するストーリーは、候補コンテンツアイテムとして破棄される。様々な基準に基づいて、コンテンツ選択モジュール230は、識別されたユーザに提示するための候補コンテンツアイテムとして特定された1つまたは複数のコンテンツアイテムを選択する。選択されたコンテンツアイテムは、ユーザに提示されるコンテンツのフィードに含まれる。例えば、コンテンツのフィードは、オンラインシステム140を介してユーザに接続された複数のユーザに関連付けられたアクションを記述する少なくともしきい値数のコンテンツアイテムを含む。
様々な実施形態において、コンテンツ選択モジュール230は、ユーザへの提示のために選択された複数のコンテンツアイテムを含むニュースフィードを介してユーザにコンテンツを提示する。1つまたは複数のコンテンツアイテムもフィードに含めることができる。コンテンツ選択モジュール230は、選択されたコンテンツアイテムがフィードを介して提示される順序も決定し得る。例えば、コンテンツ選択モジュール230は、ユーザが様々なコンテンツアイテムとインタラクションする可能性に基づいてフィード内のコンテンツアイテムを順序付ける。
ウェブサーバ235は、ネットワーク120を通じてオンラインシステム140を1つまたは複数のクライアントデバイス110へ、ならびに1つまたは複数のサードパーティシステム130へリンクさせる。ウェブサーバ240は、ウェブページ、およびその他のコンテンツ、たとえば、JAVA(登録商標)、FLASH(登録商標)、XMLなどを供給する。ウェブサーバ240は、オンラインシステム140とクライアントデバイス110との間におけるメッセージ、たとえば、インスタントメッセージ、キューに入れられたメッセージ(例、電子メール)、テキストメッセージ、ショートメッセージサービス(SMS)のメッセージ、またはその他の適切なメッセージング技術を使用して送信されるメッセージを受け取って回送することができる。ユーザは、コンテンツストア210に記憶される情報(例、画像またはビデオ)をアップロードするよう求める要求をウェブサーバ240に送信することができる。加えて、ウェブサーバ240は、IOS(登録商標)、ANDROID(登録商標)、WEBOS(登録商標)、またはBlackberry(登録商標)OSなどのネイティブクライアントデバイスオペレーティングシステムに対してデータを直接送信するためのアプリケーションプログラミングインターフェース(API)機能を提供することができる。
クライアントデバイス構成
図3は、一実施形態のクライアントデバイス110の構成のブロック図である。図3に示されるクライアントデバイス110は、画像キャプチャデバイス305、ビデオエフェクトアプリケーション310、レンダラ315、およびディスプレイデバイス320を含む。他の実施形態では、クライアントデバイス110は、様々な用途に対して追加の、より少ない、または別個の構成要素を含み得る。さらに、クライアントデバイス110の様々な構成要素は、いくつかの実施形態において以下でさらに説明される機能の様々な組み合わせを提供し得る。
画像キャプチャデバイス305は、画像またはビデオデータをキャプチャすることが可能な任意のデバイスである。例示的な画像キャプチャデバイス305は、1つまたは複数のカメラ、1つまたは複数のビデオカメラ、または画像データをキャプチャすることが可能な任意の他のデバイスを含む。いくつかの実施形態では、画像キャプチャデバイス305は1つまたは複数のフィルタを含む。同様に、画像キャプチャデバイス305は、様々な実施形態において画像データまたはビデオデータを生成するために使用される光を変化させるための光学系を含み得る。別個のクライアントデバイス110は、別個の特性(例えば、キャプチャされた画像データの解像度、シャッター制御、フレームレート、焦点距離、ビデオデータまたは画像データを生成するための光をキャプチャする入射瞳の直径)を有する画像キャプチャデバイス305を有し得る。図3は単一の画像キャプチャデバイス305を有するクライアントデバイス110を示しているが、様々な実施形態において、クライアントデバイス110は複数の画像キャプチャデバイス305を含み得る。
ビデオエフェクトアプリケーション310は、クライアントデバイス110のプロセッサによる実行時に、画像キャプチャデバイス305または他の適切なソースから受信したビデオデータから情報を抽出する命令を含む。ビデオデータから情報を抽出するために、ビデオエフェクトアプリケーション310は、ビデオデータから1つまたは複数の方法をビデオデータに対して適用することができ、様々な方法は、ビデオデータから別個の情報を抽出する。たとえば、ビデオエフェクトアプリケーション310によって適用される1つまたは複数の方法は、ビデオデータの幾つかのフレームから顔などのオブジェクトを検出する。別の例として、ビデオエフェクトアプリケーション310によって適用される1つまたは複数の方法は、ビデオデータの幾つかのフレームに基づいて、ビデオデータのオブジェクトまたは他の構成要素の動きを記述するオプティカルフローベクトルを決定する。様々な実施形態において、ビデオエフェクトアプリケーション310はビデオデータから任意の適切な情報を抽出し得る。他の例では、ビデオデータから抽出された情報は、(例えば、ビデオデータへの1つまたは複数の粒子フィルタの適用を通して)ビデオデータの幾つかのフレームに亘る1つまたは複数のオブジェクトを追跡するか、またはビデオデータにおいて検出された1つまたは複数のオブジェクトの変化(例えば、ビデオデータにおいて検出された顔の表情の変化)を識別する。さらに、ビデオエフェクトアプリケーション310によってビデオデータから抽出された情報は、クライアントデバイス110のユーザによって指定された設定に基づいて、ビデオエフェクトアプリケーション310によって指定された情報に基づいて、クライアントデバイス110上で実行されている別のアプリケーションによって指定された情報に基づいて、または任意の他の適切なソースからの情報に基づいて決定され得る。これにより、様々な実施形態においてビデオエフェクトアプリケーションによってビデオデータから抽出された情報のカスタマイズが可能となる。図4に関連して以下でさらに説明するように、ビデオエフェクトアプリケーション310は、ビデオデータから抽出された情報をビデオデータに関連付けられたメタデータとして記憶する。
さらに、ビデオエフェクトアプリケーション310は、ビデオデータに対する編集を特定する情報を受信する。ビデオデータに対する編集を特定する情報は、ユーザから受信されても、他のアプリケーションから受信されても、オンラインシステム140から受信されても、またはサードパーティシステム130から受信されてもよい。ビデオエフェクトアプリケーション310に対して特定されるビデオデータへの編集の例は、ビデオデータへの1つまたは複数のフィルタの適用、ビデオデータの1つまたは複数の一部上へのテキストのオーバーレイ、ビデオデータの1つまたは複数の一部上の画像のオーバーレイ、ビデオデータの再生速度の変更、ビデオデータの1つまたは複数の一部に含まれるオーディオの編集、ビデオデータ内のオブジェクトの動きの識別、ビデオデータの1つまたは複数のフレームのシェーディングまたはカラーリングの修正、ビデオデータ内のオブジェクトの追跡(例えば、粒子フィルタの適用)、ビデオデータ内の1つまたは複数のオブジェクトにおける変化の識別(例えば、1つの変化の識別)、および任意の他の適切な編集を含む。ビデオデータに対する1つまたは複数の編集は、ビデオデータがどのように編集されたかに影響を及ぼす、クライアントデバイス110によってビデオデータが提示されるときに取得されるデータを識別し得る。例えば、ビデオデータに対する編集は、ビデオデータが提示されるときにクライアントデバイス110によって受信される1つまたは複数の入力と、受信された1つまたは複数の入力に基づいて、ビデオデータにオーバーレイされる画像またはテキストデータを変更するための命令とを識別する。他の例では、クライアントデバイス110の加速度計から、クライアントデバイス110の位置センサから、クライアントデバイス110のマイクロフォンから、またはクライアントデバイス110の任意の他の適切な構成要素からのデータを識別し、かつ使用してクライアントデバイス110によって提示されるときにビデオデータがどのように編集されるかを決定し得る。さらに、ビデオデータに対する編集を特定する情報は、編集を実行するためのビデオデータに関連付けられたメタデータの1つまたは複数の特性を指定し得る。例えば、ビデオデータに対する編集を記述する情報は、特定のオブジェクトに対する類似性のしきい値の度合いを指定して、メタデータによって識別されたオブジェクトが特定のオブジェクトに対する少なくとも類似性のしきい値の度合いを有する場合、特定された編集が行われ、メタデータによって識別されたオブジェクトが特定のオブジェクトに対する類似性のしきい値の度合いよりも小さい場合、特定された編集は行われないようにし得る。様々な実施形態において、ビデオデータに対する別個の編集をビデオエフェクトアプリケーション310に対して識別することができ、ビデオエフェクトアプリケーション310の別個の実施態様はビデオデータに対する別個の編集を特定し得る。図4に関連して以下でさらに説明するように、ビデオエフェクトアプリケーション310は、ビデオデータに関連してビデオデータに対する1つまたは複数の編集を特定する情報を記憶する。
レンダラ315は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオエフェクトアプリケーション110からビデオデータに対する編集を記述する情報を受信する。説明の目的のために、図3は、レンダラ315をビデオエフェクトアプリケーション310とは別に示している。しかしながら、様々な実施形態において、レンダラ315およびビデオエフェクトアプリケーション310は、単一の構成要素に組み合わされてもよい。図4に関連して以下でさらに説明するように、ビデオデータをレンダリングするとき、レンダラ315は、情報によって記述された編集を実行することによってビデオデータを編集し、編集されたビデオデータをレンダリングする。ビデオデータに対する1つまたは複数の編集を実行するために、レンダラ315は、メタデータにアクセスし、ビデオデータから抽出され、かつメタデータによって記述された情報を使用する。例えば、ビデオデータへの編集がビデオデータ内のオブジェクト(例えば、ビデオデータ内の顔)上にオーバーレイする画像を識別する場合、レンダラ315は、メタデータからオブジェクトを含むビデオデータのフレームを識別し、オブジェクトを有する識別されたフレーム内の位置を特定し、オブジェクトを有する識別されたフレーム内の位置に画像をオーバーレイする。従って、レンダラ315は、ビデオデータから情報を再度抽出することなく、ビデオデータから抽出された情報を記述するメタデータを利用して、引き続きビデオデータを編集する。
クライアントデバイス110に含まれるディスプレイデバイス320は、画像データまたはビデオデータをクライアントデバイス110のユーザに提示する。ディスプレイデバイス320の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス液晶ディスプレイ(AMLCD)、または任意の他の適切なデバイスを含む。別個のクライアントデバイス110は、別個の特性を有するディスプレイデバイス320を有し得る。
例えば、別個のクライアントデバイス320は、別個の表示領域、別個の解像度、または他の別個の特性を有するディスプレイデバイス320を有する。
ビデオデータから抽出された情報に基づくクライアントデバイスによって取得されたビデオデータの編集
図4は、クライアントデバイス110によって取得されたビデオデータを編集するための一実施形態の方法のフローチャートである。他の実施形態では、方法は、図4に示すものとは異なるステップおよび/または追加のステップを含み得る。さらに、方法のステップは、様々な実施形態において図4に関連して説明された順序とは異なる順序で実行されてもよい。
クライアントデバイス110に含まれる画像キャプチャデバイス305は、ビデオデータをキャプチャする(405)。例えば、クライアントデバイス110に含まれるカメラは、ビデオデータをキャプチャする(405)。様々な実施形態において、405で画像キャプチャデバイス305によってキャプチャされたビデオデータは、任意の適切な解像度または任意の他の適切な特性を有する。他の実施形態では、クライアントデバイス110は任意の適切なソースからビデオデータをキャプチャする(405)。例えば、クライアントデバイス110によってキャプチャされたビデオデータは、クライアントデバイス110がオンラインシステム140から、サードパーティシステム130から、別のクライアントデバイス110から、または任意の他の適切なソースから受信するビデオデータである。
クライアントデバイス110上で実行されているビデオエフェクトアプリケーション310は、405でクライアントデバイス110の画像キャプチャデバイス305によってキャプチャされたビデオデータを受信し、キャプチャされたビデオデータから情報を抽出する(410)。様々な実施形態において、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータから任意の適切な情報を抽出する(410)。キャプチャされたビデオデータから情報を抽出し(410)、抽出された情報を使用してキャプチャされたビデオデータを編集する。例えば、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータに1つまたは複数の処理を適用して、キャプチャされたビデオデータに含まれる顔などのオブジェクトを検出する。ビデオエフェクトアプリケーション310は、検出されたオブジェクトのビデオデータの1つまたは複数のフレーム内の場所を識別し得る。別の例として、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータに1つまたは複数の処理を適用して、キャプチャされたビデオデータ内のオブジェクトまたは他の適切な構成要素の動きを記述するオプティカルフローベクトルを決定する。様々な実施形態において、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータの任意の適切な特徴またはキャプチャされたビデオデータに関する情報を抽出し得る(410)。
ビデオエフェクトアプリケーション310は、410でキャプチャされたビデオデータから抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する(415)。様々な実施形態において、抽出された情報は、キャプチャされたビデオデータと関連して任意の適切なフォーマットで記憶されてもよい(415)。例えば、抽出された情報がキャプチャされたビデオデータ内で検出されたオブジェクトを含む場合、415でキャプチャされたビデオデータに関連して記憶されるメタデータは、幾つかのオブジェクトのビデオデータ内の時刻を含むか、または幾つかのオブジェクトが検出されたオブジェクトの識別子と共に検出されたビデオデータのフレームの識別子を含み、オブジェクトが検出された幾つかのフレーム内の位置もまた、記憶されたメタデータに含まれてもよい。別の例として、幾つかのフレームから決定されたオプティカルフローベクトルは、オプティカルフローベクトルが決定されたキャプチャされたビデオデータのフレームの識別子に関連して記憶される(415)。
いくつかの実施形態では、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステム140に伝達する。いくつかの実施形態では、オンラインシステム140は、クライアントデバイス110からのキャプチャされたビデオデータと、キャプチャされたビデオデータに関連付けられたメタデータとを記憶する。例えば、クライアントデバイス110上で実行されるビデオエフェクトアプリケーション310は、キャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータに関連してクライアントデバイス110に関連付けられたオンラインシステム140のユーザを識別する情報をオンラインシステム140に伝達し、オンラインシステム140は、キャプチャされたビデオデータおよび関連付けられたメタデータをユーザと関連付けて記憶する。別の例として、クライアントデバイス110は、オンラインシステム140の追加の複数のユーザの識別子、キャプチャされたビデオデータ、およびキャプチャされたビデオデータに関連付けられたメタデータをオンラインシステム140に伝達し、オンラインシステム140は、識別子に対応する追加の複数のユーザに関連する追加の複数のクライアントデバイス110にビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータを伝達する。
さらに、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータに対する1つまたは複数の編集を特定する情報を受信し(420)、キャプチャされたビデオデータに対する編集を特定する受信された情報をキャプチャされたビデオデータに関連付けて記憶する(425)。例えば、ビデオエフェクトアプリケーション310は、ユーザからのキャプチャされたビデオデータに適用するフィルタの識別子を、フィルタが適用されるキャプチャされたビデオデータの1つまたは複数の一部の識別子(例えば、フレームの識別子、時間間隔)と共に受信し(420)、フィルタの識別子と、フィルタが適用されるキャプチャされたビデオデータの1つまたは複数の一部の識別子とをキャプチャされたビデオデータと関連付けて記憶する(425)。別の例として、ビデオエフェクトアプリケーション310は、キャプチャされたデータの1つまたは複数の一部にオーバーレイするためのテキストデータまたは画像データを受信し(420)、テキストデータまたは画像データをテキストまたは画像データがオーバーレイされるキャプチャされたビデオデータの1つまたは複数の一部の識別子(例えば、フレームの識別子、時間間隔)と関連付けて記憶する(425)。いくつかの実施形態では、420で受信された情報は、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータから検出されたオブジェクトを識別し得る。いくつかの実施形態では、キャプチャされたビデオデータに対する編集を特定する情報は、クライアントデバイス110からオンラインシステム140に伝達される。例えば、オンラインシステム140は、キャプチャされたビデオデータに対する編集を特定する情報と共にオンラインシステム140のユーザを識別する情報を受信し、オンラインシステム140は、編集を特定する情報をユーザに関連付けて、かつキャプチャされたビデオデータおよびキャプチャされたビデオデータに関連付けられたメタデータに関連付けて記憶する。別の例として、オンラインシステム140は、キャプチャされたビデオデータに対する編集を特定する情報と共に、クライアントデバイス110から追加の複数のユーザの識別子を受信し、オンラインシステム140は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報を追加の複数のユーザに関連する追加の複数のクライアントデバイス110に伝達する。
425で記憶された1つまたは複数の編集を特定する情報に基づいてキャプチャされたデータを編集するために、キャプチャされたビデオデータが後で提示されるとき、ビデオエフェクトアプリケーション305は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する1つまたは複数の編集を特定する情報をレンダラ315に提供する。いくつかの実施形態では、レンダラ315はビデオエフェクトアプリケーション310の構成要素である。代替的に、レンダラ315はクライアントデバイス110の別個の構成要素である。例えば、レンダラ315は、クライアントデバイス110上で実行される別個のアプリケーションであるか、またはクライアントデバイス110のハードウェアコンポーネントまたはファームウェアコンポーネントである。キャプチャされたビデオデータが提示または記憶されると、レンダラ315は、特定された1つまたは複数の編集およびキャプチャされたビデオデータに関連付けられたメタデータに基づいてキャプチャされたビデオデータを編集する(430)。例えば、キャプチャされたビデオデータに関連付けられた情報は、テキストまたは画像がオーバーレイされるキャプチャされたビデオデータの一部を識別し、したがって、レンダラ315は、キャプチャされたビデオデータの識別された一部がクライアントデバイス110のディスプレイデバイス320による提示のためにレンダリングされるか、あるいはクライアントデバイス110による、オンラインシステム140による、またはサードパーティシステム130による記憶のためにレンダリングされる場合に、テキストまたは画像をキャプチャされたビデオデータの識別された一部にオーバーレイする。キャプチャされたビデオデータに対する特定された編集が、編集されるべきビデオデータ内のオブジェクトを識別する場合、レンダラ315は、キャプチャされたビデオデータに関連付けられたメタデータから識別されたオブジェクトを含むビデオデータの一部を識別し、識別されたオブジェクトを含むビデオデータの一部が提示される場合に情報によって指定されたようにオブジェクトを編集する。従って、レンダラ315は、提示のためにキャプチャされたビデオデータをレンダリングするときに、キャプチャされたビデオデータに関連付けられたメタデータを使用して、記憶された情報に基づいて編集されるキャプチャされたビデオデータの一部を識別し、キャプチャされたビデオデータの識別された一部を編集する。
キャプチャされたビデオデータに関連して410でキャプチャされたビデオデータから抽出された情報を記述するメタデータを記憶し、続いて、キャプチャされたビデオデータを提示または記憶するときにキャプチャされたビデオデータに関連付けられたメタデータを利用してキャプチャされたビデオデータを430で編集することにより、クライアントデバイス110がより効率的に電力を消費することが可能となり、クライアントデバイス110がキャプチャされたビデオデータを編集するときにバッテリまたは他の電源からの電力の使用を低減することができる。キャプチャされたビデオデータから情報を抽出する方法410は計算量が多いことから、キャプチャされたビデオデータから情報を抽出し(410)、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する(415)ことによって、キャプチャされたビデオデータを受信する別のクライアントデバイス110によるキャプチャされたビデオデータのその後の編集が、クライアントデバイス110またはオンラインシステム140からキャプチャされたビデオデータを受信した後にキャプチャされたビデオデータから情報を再度抽出するのではなく、編集されたキャプチャされたビデオデータをレンダリングするときにキャプチャされたビデオデータに関連付けられたメタデータを利用してキャプチャされたビデオデータを編集することができる。加えて、キャプチャされたビデオデータから抽出された情報を415で記憶し、提示または記憶の間に記憶された情報を使用してキャプチャされたビデオデータを430で編集することにより、キャプチャされたビデオデータに対する編集の品質が向上する。例えば、キャプチャされたビデオデータに関連する記憶されたメタデータを使用してキャプチャされたビデオデータを430で編集することにより、キャプチャされたビデオデータに対する編集がキャプチャされたビデオデータを圧縮することによるアーチファクトがないようにすることが可能となる。
さらに、キャプチャされたビデオデータから抽出された情報を記述する記憶されたメタデータに基づいてキャプチャされたビデオデータを430で編集することにより、キャプチャされたビデオデータが編集されている間に、キャプチャされたビデオデータから情報が抽出される場合よりも、キャプチャされたビデオデータのより複雑な編集が可能となり得る。例えば、キャプチャされたビデオデータに関連付けられたメタデータに基づいてキャプチャされたビデオデータを430で編集することにより、編集されたキャプチャされたビデオデータが提示されるときに、キャプチャされたビデオデータに対する1つまたは複数の編集がクライアントデバイス110によって取得されたデータを考慮することが可能となる。一例として、キャプチャされたビデオデータを430で編集するクライアントデバイス110は、クライアントデバイス110がキャプチャされたビデオデータを提示する一方で、クライアントデバイス110のユーザからの異なる入力(例えば、キャプチャされたビデオデータが提示されるときのクライアントデバイス110の入力デバイスとのインタラクション)に基づいて、またはクライアントデバイス110の1つまたは複数の構成要素(たとえば、加速度計、位置センサなど)によってキャプチャされた異なる情報に基づいてビデオデータを異なるように編集する。従って、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報が追加のクライアントデバイス110に提供される場合、別個の追加のクライアントデバイス110は、キャプチャされたビデオデータの提示中に別個の追加のクライアントデバイス110によって取得されたデータの差異に基づいてキャプチャされたビデオデータに対して提示中に1つまたは複数の編集を別個に実行し得る。さらに、キャプチャされたビデオデータに関連付けられたメタデータを使用してキャプチャされたビデオデータを430で編集することにより、キャプチャされたビデオデータの一部に関連付けられたメタデータに基づいてキャプチャされたビデオデータの一部に対する複数の編集が可能となる。例えば、キャプチャされたビデオデータに関連付けられたメタデータが特定のオブジェクトを含むビデオデータの一部を識別するか、または特定のオブジェクトに対する変更を行う場合、1つまたは複数の画像がキャプチャされたビデオデータの識別された一部にオーバーレイされ、キャプチャされたビデオデータのオーディオが識別された一部の間に編集される。キャプチャされたビデオデータに関連付けられたメタデータを使用することにより、キャプチャされたビデオデータの幾つかの部分の特性または内容に基づいてキャプチャされたビデオデータの幾つかの部分に対する複数の編集の実行が単純化される。
図4は、クライアントデバイスの画像キャプチャデバイス305によって405でキャプチャされたビデオデータからの情報の抽出を説明しているが、図4に関連して上述した方法は、任意の適切なソースからクライアントデバイス110によって取得されたビデオデータに適用され得る。例えば、上述したように、クライアントデバイス110は、他のクライアントデバイス110から、オンラインシステム140から、またはサードパーティシステム130からビデオデータを受信し、ビデオエフェクトアプリケーション310は、ビデオデータから情報を抽出し(410)、抽出した情報をビデオデータに関連付けられたメタデータとして記憶する(415)。ビデオエフェクトアプリケーション310は、ビデオデータに対する1つまたは複数の編集を記述する情報を受信し(420)、受信した情報をビデオデータに関連付けて記憶する(425)。さらに上述したように、ビデオデータが続いて提示または記憶されるとき、レンダラは、ビデオデータに関連付けられたメタデータに基づいて、受信した情報によって指定されるビデオデータを編集する。従って、クライアントデバイス110によって画像キャプチャデバイス305から取得されるか、または任意の適切なソースから取得されたビデオデータは、図4に関連して上述したように編集され得る。
図5は、クライアントデバイス110によって取得されたビデオデータを編集するための一実施形態の構成のプロセスフロー図である。図5の例では、クライアントデバイス110の画像キャプチャデバイス305はビデオデータをキャプチャし、キャプチャされたビデオデータをクライアントデバイス110上で実行されているビデオエフェクトアプリケーション310に提供する(505)。図4に関連して上述したように、ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータから情報を抽出し、抽出された情報をキャプチャされたビデオデータに関連付けられたメタデータとして記憶する。さらに、ビデオエフェクトアプリケーション310は、図4に関連してさらに上で説明したように、キャプチャされたビデオデータに対する1つまたは複数の編集を特定する情報を受け取り、キャプチャされたビデオデータに対する編集を特定する受信した情報をキャプチャされたビデオデータに関連付けて記憶する。ビデオエフェクトアプリケーション310は、キャプチャされたビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびキャプチャされたビデオデータに対する編集を特定する情報をレンダラ315に提供する。
レンダラ315は、受信した情報によって特定されたキャプチャされたビデオデータの一部に対して、受信された情報によって指定された編集を実行することによってキャプチャされたビデオデータを編集する。キャプチャされたビデオデータを編集するとき、レンダラ315は、キャプチャされたビデオデータに関連付けられたメタデータにアクセスし、キャプチャされたビデオデータから抽出され、かつメタデータによって記述された情報を使用して1つまたは複数の編集を実行する。レンダラ315は、編集されたキャプチャされたビデオデータを提示のためにクライアントデバイス110のディスプレイデバイス320に、または記憶のためにクライアントデバイス110に含まれるストレージデバイスに提供する。従って、図5に関連して説明した構成は、キャプチャされたビデオデータからの情報の抽出を抽出された情報に基づくキャプチャされたビデオデータの編集から分離し、キャプチャされたビデオデータの編集がクライアントデバイス110による電力消費を低減することが可能となる。
図6は、クライアントデバイス110によって取得されたビデオデータおよびそのビデオデータに対する編集を他のクライアントデバイス110に提供し、他のクライアントデバイス110が編集を実行し編集されたビデオデータを提示する一実施形態の方法の相互作用図である。他の実施形態では、方法は、図6に示すものとは異なるステップおよび/または追加のステップを含み得る。さらに、方法のステップは、様々な実施形態において図6に関連して説明された順序とは異なる順序で実行されてもよい。
クライアントデバイス110Aは、ビデオデータを取得し(605)、605でビデオデータが取得されると、ビデオデータから情報を抽出する(610)。図4に関連して上述したように、ビデオデータは、クライアントデバイス110Aに含まれる画像キャプチャデバイス305によってキャプチャされるか、他のクライアントデバイス110から受信されるか、サードパーティシステム130から受信されるか、オンラインシステム140から受信されるか、クライアントデバイス110Aに含まれるストレージデバイスから取得されるか、または任意の他の適切なソースから取得される(605)。クライアントデバイス110Aがビデオデータを取得する間に(605)、クライアントデバイス110Aはビデオデータから情報を抽出する(610)。図4に関連して上述したように、クライアントデバイス110Aは、1つまたは複数のプロセスをビデオデータに適用してビデオデータから任意の適切な情報(例えば、オブジェクト、オプティカルフローベクトル、1つまたは複数のオブジェクトに対する変更、オブジェクトのビデオデータの1つまたは複数のフレーム内の位置等)を抽出する。クライアントデバイス110Aは、抽出された情報をビデオデータに関連付けられたメタデータとして記憶する(615)。例えば、抽出された情報がキャプチャされたビデオデータ内で検出されたオブジェクトを含む場合、ビデオデータに関連して615で記憶されたメタデータは、幾つかのオブジェクトが、検出されるオブジェクトの識別子と共に検出されたビデオデータ内の時間またはビデオデータのフレームの識別子を含み、オブジェクトが検出された幾つかのフレーム内の位置もまた記憶されたメタデータに含まれてもよい。
さらに、クライアントデバイス110Aは、ビデオデータに対する1つまたは複数の編集を特定する情報を受信し、記憶する(620)。例えば、クライアントデバイス110Aは、キャプチャされたビデオデータに適用するフィルタの識別子を、フィルタが適用されるキャプチャされたビデオデータの1つまたは複数の一部の識別子(例えば、フレームの識別子、時間間隔)と共にユーザから受信する(620)。別の例として、クライアントデバイス110Aは、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータのキャプチャされたデータ(例えば、フレームの識別子、時間間隔)の1つまたは複数の一部にオーバーレイするためにテキストデータまたは画像データを620で受信する。いくつかの実施形態では、受信した情報は、テキストデータまたは画像データがオーバーレイされるキャプチャされたビデオデータから検出されたオブジェクトを識別し得る。図4に関連して上述したように、受信した情報は、1つまたは複数のオブジェクトを含むか、または1つまたは複数の特性を有するビデオデータの一部に対して1つまたは複数の編集を実行するために、ビデオデータの1つまたは複数の一部の1つまたは複数のオブジェクトまたは特性を識別し得る。
クライアントデバイス110Aは、ビデオデータ、キャプチャされたビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報をオンラインシステム140に提供する(625)。オンラインシステム140は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報を記憶する(630)。例えば、クライアントデバイス110Aは、ビデオデータと関連付けられたクライアントデバイス110Aと関連付けられたオンラインシステム140のユーザを識別する情報と、ビデオデータに関連付けられたメタデータと、1つまたは複数の編集を特定する情報とをオンラインシステム140に提供し(625)、オンラインシステム140は、ビデオデータ、関連付けられたメタデータ、およびユーザに関連してビデオデータに対する1つまたは複数の編集を特定する情報を記憶する(630)。
オンラインシステム140は、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報を追加のクライアントデバイス110Bに提供する(635)。様々な実施形態において、追加のクライアントデバイス110Bは、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報と共にオンラインシステム140に625で提供されたオンラインシステム140のユーザに関連付けられる。代替的に、オンラインシステム140は、クライアントデバイス110Aに関連するユーザからオンラインシステム140の追加のユーザを識別する情報を受信し、オンラインシステム140が追加のユーザについて維持する情報から追加のユーザに関連する追加のクライアントデバイス110Bを識別し、ビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報を追加のクライアントデバイス110Bに提供する(635)。
追加のクライアントデバイス110Aがビデオデータ、ビデオデータに関連付けられたメタデータ、およびビデオデータに対する1つまたは複数の編集を特定する情報を受信すると、追加のクライアントデータは、メタデータを使用してビデオデータをレンダリングしつつビデオデータに対して1つまたは複数の特定された編集を実行し(640)、ディスプレイデバイス325を介して編集されたビデオデータを提示する(645)。ビデオデータのレンダリング中にビデオデータに関連付けられたメタデータを使用して1つまたは複数の特定された編集を640で実行することにより、追加のクライアントデバイス110Bがビデオデータを編集するときにバッテリまたは他の電源からの電力の使用を低減することができる。図4に関連して上述したように、ビデオデータから情報を抽出することは計算量が多いことから、メタデータを使用してビデオデータに対して1つまたは複数の編集を640で実行することにより、追加クライアントデバイス110Bがビデオデータに関連付けられたメタデータを利用して、キャプチャされたビデオデータを受信した後、ビデオデータから編集を実行するための情報を再度抽出することなく、レンダリング中にビデオデータを編集することが可能となる。
結び
実施形態についての前述の説明は、例示の目的で提示されており、すべてを網羅すること、または開示されている厳密な形態に特許権を限定することは意図されていない。上述の開示に照らせば、多くの変更形態および変形形態が可能であるということを当業者であれば理解することができる。
この説明のいくつかの部分は、情報に関するオペレーションのアルゴリズムおよびシンボル表示という点から本発明の実施形態について記述している。これらのアルゴリズム的な記述および表示は一般に、データ処理技術分野における技術者たちによって、それらの技術者たちの作業の実体を他の当業者たちに対して効果的に伝達するために使用されている。これらのオペレーションは、機能的に、計算処理的に、または論理的に記述されているが、コンピュータプログラムまたは均等な電気回路、マイクロコードなどによって実施されるということがわかる。さらに、一般性を失うことなく、モジュールとしてオペレーションのこれらの構成に言及することが時として好都合であることもわかっている。記述されているオペレーションおよびそれらの関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具体化されることが可能である。
本明細書において記述されている工程、オペレーション、またはプロセスのうちのいずれも、1つもしくは複数のハードウェアモジュールもしくはソフトウェアモジュールを用いて、単独で、またはその他のデバイスと組み合わせて実行または実施されることが可能である。一実施形態においては、ソフトウェアモジュールは、記述されている工程、オペレーション、またはプロセスのうちの任意のものまたはすべてを実行するためにコンピュータプロセッサによって実行されることが可能であるコンピュータプログラムコードを含むコンピュータ可読媒体とともに実装される。
実施形態は、本明細書におけるオペレーションを実行するための装置に関連することも可能である。この装置は、求められている目的のために特別に構築されることが可能であり、および/または、コンピュータ内に記憶されているコンピュータプログラムによって選択的にアクティブ化もしくは再構成される汎用コンピューティングデバイスを備えることができる。そのようなコンピュータプログラムは、コンピュータシステムバスへ結合されることが可能である非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適している任意のタイプのメディア内に記憶されることが可能である。さらに、本明細書において言及されているあらゆるコンピューティングシステムは、シングルプロセッサを含むことができ、またはコンピューティング機能を高めるためにマルチプロセッサ設計を採用している構成であることが可能である。
実施形態は、本明細書において記述されているコンピューティングプロセスによって製造される製品に関連することも可能である。そのような製品は、コンピューティングプロセスから生じる情報を備えることができ、それらの情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、本明細書において記述されているコンピュータプログラム製品またはその他のデータの組合せの任意の実施形態を含むことができる。
最後に、本明細書において使用されている言葉は、主として読みやすさおよび教示上の目的で選択されており、特許権の線引きまたは画定を行うために選択されてはいない場合がある。したがって、特許権の範囲は、この詳細な説明によってではなく、本明細書に基づく出願上で生じるあらゆる請求項によって限定されるということが意図されている。したがって、実施形態の開示は、特許権の範囲を例示するものであり、特許権の範囲を限定するものではないということが意図されており、特許権の範囲は、添付の特許請求の範囲において示されている。

Claims (25)

  1. 方法であって、
    クライアントデバイスにおいてビデオデータを取得するステップと、
    前記クライアントデバイスにおいてビデオデータが取得されたときに、前記クライアントデバイスが前記ビデオデータに1つまたは複数の処理を適用することによって前記ビデオデータから情報を抽出するステップと、
    抽出した情報を前記ビデオデータに関連付けられたメタデータとして記憶するステップと、
    前記ビデオデータに対する1つまたは複数の編集を特定する情報を受信するステップと、
    前記ビデオデータに対する編集を特定する受信した情報を前記ビデオデータに関連付けて記憶するステップと、
    前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の1つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
  2. 前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムに提供するステップをさらに含む、請求項1に記載の方法。
  3. 前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータを前記オンラインシステムに提供するステップは、
    前記オンラインシステムのユーザの識別子を前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて前記オンラインシステムに伝達することを含む、請求項2に記載の方法。
  4. 前記ビデオデータに対する編集を特定する前記受信した情報を前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータに関連付けて前記オンラインシステムに提供するステップをさらに含む、請求項2に記載の方法。
  5. 前記ビデオデータに関連付けられた前記メタデータは、1つまたは複数のオブジェクトを含む前記ビデオデータの1つまたは複数の一部を特定する、請求項1に記載の方法。
  6. 前記ビデオデータを編集するステップは、
    前記ビデオデータの前記1つまたは複数の一部に含まれるオブジェクトに基づいて前記ビデオデータの1つまたは複数の一部を編集することを含む、請求項5に記載の方法。
  7. 前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
    前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信した1つまたは複数の入力に基づいて前記ビデオデータの一部を編集することを含む、請求項1に記載の方法。
  8. 前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集するステップは、
    前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの1つまたは複数の構成要素によってキャプチャされた情報に基づいて前記ビデオデータの一部を編集することを含む、請求項1に記載の方法。
  9. 前記クライアントデバイスの構成要素は、加速度計、位置センサ、およびそれらの任意の組み合わせからなる群から選択される、請求項8に記載の方法。
  10. 前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップであって、1つまたは複数の編集が前記ビデオデータに関連付けられた前記メタデータに基づいて実行される、前記編集するステップは、
    前記ビデオデータに関連付けられたメタデータによってオブジェクトを含むと特定された前記ビデオデータの一部に1つまたは複数の画像をオーバーレイし、前記ビデオデータの一部の間の前記ビデオデータのオーディオデータを編集することを含む、請求項1に記載の方法。
  11. 前記受信した情報によって特定された編集を実行することによって前記ビデオデータを編集するステップは、
    前記ビデオデータに関連付けられた前記メタデータによって特定された前記ビデオデータの一部の1つまたは複数の特性に基づいて前記ビデオデータの一部に対して複数の編集を実行することを含む、請求項1に記載の方法。
  12. 前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
    前記クライアントデバイスに含まれる画像キャプチャデバイスにより前記ビデオデータをキャプチャすることを含む、請求項1に記載の方法。
  13. 前記クライアントデバイスにおいて前記ビデオデータを取得するステップは、
    他のクライアントデバイスから前記ビデオデータを受信することを含む、請求項1に記載の方法。
  14. 前記クライアントデバイスにおいて前記ビデオデータが取得されるときに前記ビデオデータに適用される処理は、前記ビデオデータに含まれる1つまたは複数のオブジェクトを特定する、請求項1に記載の方法。
  15. 前記ビデオデータに含まれるオブジェクトは顔を含む、請求項14に記載の方法。
  16. 方法であって、
    オンラインシステムにおいて、前記オンラインシステムのユーザに関連付けられたクライアントデバイスからビデオデータを受信するステップと、
    前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータを受信するステップと、前記メタデータは、前記クライアントデバイスが前記ビデオデータを取得したときに前記クライアントデバイスによって前記ビデオデータから抽出された情報を含み、
    前記オンラインシステムにおいて、前記ビデオデータを前記メタデータと関連付けて記憶するステップと、
    前記ビデオデータ、前記メタデータ、および特定された編集を表示のために複数のクライアントデバイスに提供するステップとを含み、前記複数のクライアントデバイスの各々は、前記複数のクライアントデバイスの各々の1つまたは複数の構成要素によってキャプチャされたデータにおける差異に基づいて前記ビデオデータの提示中に前記ビデオデータを異なるように編集するように構成され、前記複数のクライアントデバイスのうちのあるクライアントデバイスによる前記ビデオデータに対する編集は、前記複数のクライアントデバイスのうちの前記あるクライアントデバイスのディスプレイデバイスによる提示のために前記複数のクライアントデバイスのうちの前記あるクライアントデバイスにおいて前記ビデオデータがレンダリングされるときに実行される、方法。
  17. 前記オンラインシステムにおいて、前記クライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを受信するステップは、
    前記クライアントデバイスによって前記ビデオデータに関連付けられたメタデータと、
    前記クライアントデバイスによって受信されたビデオデータに対する1つまたは複数の編集を記述する情報とを受信することを含む、請求項16に記載の方法。
  18. 前記ビデオデータおよび前記ビデオデータに関連付けられたメタデータを前記追加のクライアントデバイスに提供するステップは、
    前記ビデオデータ、前記ビデオデータに関連付けられた前記メタデータ、および前記ビデオデータに対する1つまたは複数の編集を記述する情報を追加のクライアントデバイスに提供することを含み、前記追加のクライアントデバイスは、前記ビデオデータをレンダリングするときに前記ビデオデータに対する1つまたは複数の編集を実行するように構成されている、請求項17に記載の方法。
  19. 前記ビデオデータに対する1つまたは複数の編集を記述する情報は、前記ビデオデータに関連付けられた前記メタデータによって識別された、前記ビデオデータの一部の1つまたは複数の特性に基づいて前記ビデオデータの一部に対する複数の編集を特定する、請求項17に記載の方法。
  20. 前記ビデオデータに対する1つまたは複数の編集を記述する情報は、前記ビデオデータの一部に対応する期間中に前記追加のクライアントデバイスによって受信された1つまたは複数の入力に基づいて前記ビデオデータの一部に対する編集を特定する、請求項17に記載の方法。
  21. 符号化された命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによる実行時に、前記プロセッサに、
    クライアントデバイスにおいて、ビデオデータおよび前記ビデオデータに関連付けられたメタデータを取得すること、前記メタデータは、追加のクライアントデバイスによって前記ビデオデータに関連付けられ、
    前記クライアントデバイスにおいて、前記ビデオデータに対する1つまたは複数の編集を特定する情報を受信すること、
    表示のための前記ビデオデータのレンダリング中に受信した情報により特定された編集を実行することによって前記ビデオデータを編集すること、1つまたは複数の編集は、前記ビデオデータに関連付けられたメタデータを使用して行われ、前記1つまたは複数の編集は、前記クライアントデバイスの1つまたは複数の構成要素によりキャプチャされたデータに基づき、
    前記クライアントデバイスのディスプレイデバイスにより編集されたビデオデータを提示することを行わせる、コンピュータ可読記憶媒体
  22. 前記ビデオデータに対する編集は前記ビデオデータの一部を特定し、前記ビデオデータを編集することは、
    前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報に基づいて前記ビデオデータの一部を編集することを含む、請求項21に記載のコンピュータ可読記憶媒体
  23. 前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスのユーザから受信された1つまたは複数の入力を含む、請求項22に記載のコンピュータ可読記憶媒体
  24. 前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスによって取得された情報は、前記ビデオデータの一部が前記クライアントデバイスによってレンダリングされる期間中に前記クライアントデバイスの1つまたは複数の構成要素によってキャプチャされた情報を含む、請求項22に記載のコンピュータ可読記憶媒体
  25. 前記ビデオデータおよび前記追加のクライアントデバイスによって前記ビデオデータに関連付けられた前記メタデータを取得することは、
    前記ビデオデータおよび前記ビデオデータに関連付けられた前記メタデータをオンラインシステムから受信することを含む、請求項21に記載のコンピュータ可読記憶媒体
JP2019516425A 2016-10-01 2017-09-28 クライアントデバイスによって得られたビデオデータをレンダリング中に1つまたは複数のエフェクトで拡張するための構成 Active JP6630463B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/283,292 US10291678B2 (en) 2016-10-01 2016-10-01 Architecture for augmenting video data obtained by a client device with one or more effects during rendering
US15/283,292 2016-10-01
PCT/US2017/054197 WO2018064429A1 (en) 2016-10-01 2017-09-28 Architecture for augmenting video data obtained by a client device with one or more effects during rendering

Publications (2)

Publication Number Publication Date
JP2019537298A JP2019537298A (ja) 2019-12-19
JP6630463B2 true JP6630463B2 (ja) 2020-01-15

Family

ID=61759171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019516425A Active JP6630463B2 (ja) 2016-10-01 2017-09-28 クライアントデバイスによって得られたビデオデータをレンダリング中に1つまたは複数のエフェクトで拡張するための構成

Country Status (11)

Country Link
US (2) US10291678B2 (ja)
EP (1) EP3360338A4 (ja)
JP (1) JP6630463B2 (ja)
KR (1) KR102155490B1 (ja)
CN (1) CN109792557B (ja)
AU (1) AU2017335976B2 (ja)
BR (1) BR112019005452A2 (ja)
CA (1) CA3037585C (ja)
IL (1) IL265184B (ja)
MX (1) MX2019003746A (ja)
WO (1) WO2018064429A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018194273A1 (en) * 2017-04-21 2018-10-25 Samsung Electronics Co., Ltd. Image display apparatus and method
US10848687B2 (en) * 2018-10-05 2020-11-24 Facebook, Inc. Modifying presentation of video data by a receiving client device based on analysis of the video data by another client device capturing the video data
US11347381B2 (en) * 2019-06-13 2022-05-31 International Business Machines Corporation Dynamic synchronized image text localization
US11481941B2 (en) 2020-08-03 2022-10-25 Google Llc Display responsive communication system and method
US11763496B2 (en) 2021-09-30 2023-09-19 Lemon Inc. Social networking based on asset items

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016380A (en) * 1992-09-24 2000-01-18 Avid Technology, Inc. Template-based edit decision list management system
US20040133924A1 (en) * 2000-12-15 2004-07-08 Wilkins David C. Techniques for syncronizing any of a plurality of associated multimedia assets in a distributed system
KR100486709B1 (ko) * 2002-04-17 2005-05-03 삼성전자주식회사 객체기반 대화형 동영상 서비스 시스템 및 그 방법
US7212730B2 (en) * 2002-06-27 2007-05-01 International Business Machines Corporation System and method for enhanced edit list for recording options
JP2005130356A (ja) * 2003-10-27 2005-05-19 Matsushita Electric Ind Co Ltd テレビ電話システム及びその通信方法、並びに通信端末
CN102905166B (zh) * 2005-07-18 2014-12-31 汤姆森许可贸易公司 使用元数据来处理多个视频流的方法和设备
US8180826B2 (en) 2005-10-31 2012-05-15 Microsoft Corporation Media sharing and authoring on the web
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
WO2007103883A2 (en) * 2006-03-07 2007-09-13 Sony Computer Entertainment America Inc. Dynamic replacement and insertion of cinematic stage props in program content
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US8208762B1 (en) * 2008-08-12 2012-06-26 Adobe Systems Incorporated Optimizing the performance of an image editing system in a client-server environment
JP2010066844A (ja) * 2008-09-09 2010-03-25 Fujifilm Corp 動画コンテンツの加工方法及び装置、並びに動画コンテンツの加工プログラム
US9502073B2 (en) * 2010-03-08 2016-11-22 Magisto Ltd. System and method for semi-automatic video editing
US8520088B2 (en) 2010-05-25 2013-08-27 Intellectual Ventures Fund 83 Llc Storing a video summary as metadata
KR101763887B1 (ko) * 2011-01-07 2017-08-02 삼성전자주식회사 디바이스간 동기화된 인터랙션을 제공하는 콘텐츠 동기화 장치 및 방법
US9003289B2 (en) 2012-02-23 2015-04-07 Google Inc. Automatic detection of suggested video edits
KR101909030B1 (ko) * 2012-06-08 2018-10-17 엘지전자 주식회사 비디오 편집 방법 및 이를 위한 디지털 디바이스
KR101449838B1 (ko) * 2013-03-18 2014-10-13 그림소프트 주식회사 멀티미디어 콘텐츠 시공간 정보 획득 시스템 및 방법
US9467750B2 (en) 2013-05-31 2016-10-11 Adobe Systems Incorporated Placing unobtrusive overlays in video content
US20180011627A1 (en) * 2014-06-16 2018-01-11 Siracusano Meeting collaboration systems, devices, and methods
US9811933B2 (en) * 2014-06-20 2017-11-07 Google Inc. Image editing using selective editing tools
CN105100869B (zh) * 2015-07-13 2018-09-04 腾讯科技(深圳)有限公司 弹幕显示方法及装置
WO2017077751A1 (ja) * 2015-11-04 2017-05-11 ソニー株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
IL265184A (en) 2019-05-30
CA3037585A1 (en) 2018-04-05
CN109792557B (zh) 2020-06-16
CA3037585C (en) 2019-11-12
BR112019005452A2 (pt) 2019-06-18
JP2019537298A (ja) 2019-12-19
US20190238610A1 (en) 2019-08-01
WO2018064429A1 (en) 2018-04-05
MX2019003746A (es) 2019-08-12
AU2017335976A1 (en) 2019-04-11
KR102155490B1 (ko) 2020-09-14
AU2017335976B2 (en) 2019-05-02
US20180097866A1 (en) 2018-04-05
EP3360338A4 (en) 2019-03-27
EP3360338A1 (en) 2018-08-15
US10977847B2 (en) 2021-04-13
IL265184B (en) 2019-10-31
KR20190039617A (ko) 2019-04-12
CN109792557A (zh) 2019-05-21
US10291678B2 (en) 2019-05-14

Similar Documents

Publication Publication Date Title
US20200286000A1 (en) Sentiment polarity for users of a social networking system
JP6630463B2 (ja) クライアントデバイスによって得られたビデオデータをレンダリング中に1つまたは複数のエフェクトで拡張するための構成
US10693828B2 (en) Presenting contacts to a social networking system user based on user interactions with additional users and with groups
JP6615189B2 (ja) ビデオ・データに関連してユーザに対して提示される、アクションを行うためのプロンプトの決定
US20170109796A1 (en) Presenting content selected by an online system via content presented by an application along with additional content presented by the application
US10027765B2 (en) Recommending objects to a social networking system user based in part on topics associated with the objects
EP3913565A1 (en) Including content created by an online system user in a page associated with an entity and/or adding data to the content based on a measure of quality of an image included in the content
US10956525B1 (en) Personalizing content associated with a third party system for presentation to an online system user based on interactions performed by the user with content from the third party system
US10986384B2 (en) Modifying video data captured by a client device based on a request received by a different client device receiving the captured video data
US20180012131A1 (en) Predicting an effect of a set of modifications to an appearance of content included in a content item on a performance metric associated with the content item
US20190200059A1 (en) Accounting for locations of a gaze of a user within content to select content for presentation to the user
US10277642B2 (en) Composer interface for providing content to a social network
US10812616B2 (en) Transferring an exchange of content to a receiving client device from a client device authorized to transfer a content exchange to the receiving client device
US10803494B2 (en) Creating a sequence of images for presentation in a content item presented by an online system from content associated with the content item
EP3901885A1 (en) Providing an entity with an option to select an online system user to create content on behalf of the entity based on content associated with the entity previously created by the user
US10057362B2 (en) Maintaining information describing interactions performed by users of an online system on third party systems on the online system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190326

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190326

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190326

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191206

R150 Certificate of patent or registration of utility model

Ref document number: 6630463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250