KR20180020203A - 스트리밍 미디어 프레젠테이션 시스템 - Google Patents

스트리밍 미디어 프레젠테이션 시스템 Download PDF

Info

Publication number
KR20180020203A
KR20180020203A KR1020187000255A KR20187000255A KR20180020203A KR 20180020203 A KR20180020203 A KR 20180020203A KR 1020187000255 A KR1020187000255 A KR 1020187000255A KR 20187000255 A KR20187000255 A KR 20187000255A KR 20180020203 A KR20180020203 A KR 20180020203A
Authority
KR
South Korea
Prior art keywords
media
media stream
user
stream
viewing
Prior art date
Application number
KR1020187000255A
Other languages
English (en)
Other versions
KR102399210B1 (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 KR20180020203A publication Critical patent/KR20180020203A/ko
Application granted granted Critical
Publication of KR102399210B1 publication Critical patent/KR102399210B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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
    • H04L65/605
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management

Abstract

본 명세서의 하나 이상의 실시예는 미디어 프레젠테이션 시스템의 사용자에게 미디어 프레젠테이션을 제공하기 위한 시스템 및 방법을 제공한다. 미디어 프레젠테이션은 일반적으로 미디어 프레젠테이션 시스템의 하나 이상의 캡처 사용자에 의해 제공되는 하나 이상의 미디어 스트림을 포함한다. 하나 이상의 실시예로, 미디어 프레젠테이션 시스템의 사용자는 시청 사용자와 미디어 프레젠테이션을 공유할 수 있다. 미디어 프레젠테이션 시스템은 미디어 프레젠테이션 내에 미디어 스트림을 생성하기 위한 다수의 특징을 제공한다.

Description

스트리밍 미디어 프레젠테이션 시스템
하나 이상의 실시예는 다수의 사용자들에게 스트리밍 미디어 컨텐츠를 제공하기 위한 시스템 및 방법에 관한 것이다. 더 구체적으로는, 본 발명의 하나 이상의 실시예는 다수의 사용자들 사이에서 스트리밍 미디어 컨텐츠를 배포하기 위한 시스템 및 방법에 관한 것이다.
컴퓨팅 장치와 컴퓨팅 기술에서의 진보는 사용자들에게 다른 사용자들과 사용자-생성된 미디어를 공유하는 능력을 제공한다. 이와 같이, 사용자들은 점점 다양한 컴퓨팅 장치를 사용하여 미디어를 캡처하고 공유하고 있다. 예시적으로, 현대 모바일 장치는 사용자들에게 사진, 비디오, 오디오 및 텍스트와 같은 미디어를 캡처하도록 허용한다. 사진, 비디오, 오디오 및 텍스트를 공유하는 것에 추가로, 일부 종래의 시스템은 사용자들이 미디어 컨텐츠를 다른 사용자들에게 스트리밍하는 것을 허용한다. 예컨대, 사용자는 미디어 스트림을 통해 다른 사용자들에게 캡처된 미디어를 스트리밍할 수 있다. 추가로, 사용자가 실시간 컨텐츠를 캡처하고 있다면, 사용자는 다른 사용자들과 실시간 컨텐츠를 갖는 미디어 스트림을 공유할 수 있다. 예컨대, 사용자는 다양한 통신 시스템(예컨대, IM, 텍스트 또는 소셜 네트워크)을 통해 친구들의 그룹과 사용자-생성된 미디어를 공유할 수 있다.
기술의 진보에도 불구하고, 다수의 단점이 다른 사용자들과 사용자-생성된 미디어를 공유하기를 희망하는 사용자에게 존재한다. 예컨대, 종래의 시스템은 직관적이고 효율적인 방식으로 비디오를 배포하거나 공유하지 않는다. 따라서, 사용자가 사용자-생성된 스트리밍 미디어를 공유하기를 원할 때, 종래의 시스템은 오로지 사용자가 선택한 시청 사용자에게만 사용자-생성된 스트리밍 미디어를 정적으로 배포한다. 또한, 다수의 사용자들이 동일한 이벤트(예컨대, 콘서트)의 사용자-생성된 미디어 스트림을 캡처하고 있을 때, 종래의 시스템은 별개로 각각의 미디어 스트림을 스트리밍하여, 시청 사용자들이 동일한 이벤트의 관련 미디어 스트림에 비해 탐색, 발견 및 즐기기가 어려운 다수의 관련되지 않은 미디어 스트림을 발생시킨다.
시청 사용자의 관점에서, 다수의 종래의 시스템은 시청 사용자의 관심사를 반영하지 않으며, 따라서 시청 사용자는 수신 사용자가 관심을 가지는 스트림을 발견하기 위해 시도하면서 몇몇 미디어 스트림을 통해 탐색해야 할 수 있으며, 이는 시간이 많이 걸리고 불만스럽게 한다. 예컨대, 시청 사용자가 동일한 이벤트의 2개의 미디어 스트림 사이에서 전환(switch)하길 원하는 경우 시청 사용자는 다른 미디어 스트림을 재배치하기 위해 다수의 내비게이션 단계들을 수행해야 할 수 있다. 추가로, 미디어 스트림 내의 컨텐츠가 실시간인 경우, 시청 사용자는 원하는 미디어 스트림을 찾기 위해 몇몇 미디어 스트림을 탐색하는데 시간을 소비하여 실시간 컨텐츠의 대부분을 놓치게 된다.
비슷한 선상에서 다수의 종래의 시스템에서, 종종 사용자들은 공유되는 사용자-생성된 스트리밍 미디어의 품질이나 성질에 무관하게 사용자-생성된 스트리밍 미디어를 공유한다. 결국, 종래의 시스템은 종종 시청 사용자들에게 낮은 품질의 사용자-생성된 미디어 스트림을 제공하고, 열악한 시청 경험을 발생시킨다. 예컨대, 종래의 시스템은 종종 흔들리는 비디오 및/또는 길고 지루한 일시 정지를 포함하는 사용자-생성된 미디어를 제공한다. 또한, 종래의 시스템은 좋은 품질 또는 저품질 미디어 스트림 사이를 구별하지 않기 때문에 시청 사용자들은, 고품질 미디어 스트림을 발견하기 위해 다양한 사용자-생성된 미디어 스트림을 통해 탐색하는 동안 품질이 좋지 않거나 지루한 미디어 스트림의 부분들을 시청해야 한다.
추가적인 문제로서, 종래의 시스템은 사용자-생성된 스트리밍 미디어의 시청 경험을 쉽게 제어하는 능력을 시청 사용자에게 제공하지 않는다. 예컨대, 대부분의 종래의 시스템은 시청 사용자가 사용자-생성된 미디어 스트림 내에서 일시 정지하거나, 재생하거나 아니면 내비게이션하는 것을 허용함이 없이 시청 사용자에게 단순히 사용자-생성된 미디어 스트림을 제공한다. 결국, 종래의 시스템에서, 이벤트가 시작한 후에 이벤트의 라이브 사용자-생성된 미디어 스트림에 참여하는 시청 사용자는, 오로지 현재 미디어 스트림 위치로부터 앞으로 이벤트를 볼 수 있고, 따라서 사용자-생성된 미디어 스트림의 완전한 컨텍스트를 이해하고 경험하는 시청 사용자의 능력을 감소시킨다. 자주, 종래의 시스템이 시청 사용자가 사용자-생성된 미디어 스트림의 실시간 위치를 "따라 잡을"수 있도록 허용하지 못하는 무능력은 사용자-생성된 미디어 스트림의 어떤 것도 경험하지 않기로 선택하는 정도까지 시청 사용자를 좌절시킬 수 있다.
따라서 사용자-생성 스트리밍 미디어를 제작, 공유, 배포 및 소비하는 것과 관련하여 사용자 경험을 향상시키는 데 몇 가지 고려할 사항이 있다.
본 명세서에 기술된 하나 이상의 실시예는 사용자 사이에서 집합적인 스트리밍 미디어 컨텐츠를 캡처하고 공유하는 시스템 및 방법에 있어서의 전술되거나 또는 다른 방법 중 하나 이상을 해결하거나 및/또는 이점을 제공한다. 예컨대, 본 명세서에 기술된 하나 이상의 원리는 직관적이고 효율적인 방식으로 스트리밍 미디어를 지능적으로 공유할 뿐만 아니라 조직화하는 시스템 및 방법을 제공한다. 추가로, 본 명세서에 기술된 하나 이상의 원리는 다수의 관련 사용자-생성된 미디어 스트림을 포함할 수 있는 더 높은 품질의 스트리밍 미디어 프레젠테이션을 제공하는 강화된 스트리밍 미디어를 사용자가 쉽게 생성할 수 있도록 하는 도구를 생성 또는 제공하는 시스템 및 방법을 제공한다. 또한, 본 명세서에 기술된 하나 이상의 원리는 사용자가 실시간 사용자-생성된 미디어 스트림의 미디어 프레젠테이션 중에 실시간 사용자-생성된 미디어 스트림 내에서 내비게이션할 수 있도록 하는 시스템 및 방법을 제공한다.
예시를 위해, 본 명세서에 기술된 하나 이상의 실시예는 다른 사용자들과 미디어 스트림을 공유하는데 사용자를 돕는 다수의 특징을 제공하는 시스템 및 방법을 제공한다. 예컨대, 본 명세서에 기술된 시스템 및 방법은 미디어 스트림의 하나 이상의 미디어 특성을 결정하고, 결정된 미디어 특성에 기반하여, 미디어 스트림을 공유할 하나 이상의 사용자(예컨대, 배포 대상(audience))을 식별한다. 일부 예시적 실시예로, 시스템 및 방법은 미디어 스트림의 하나 이상의 미디어 특성의 변화를 동적으로 감지하고, 하나 이상의 미디어 특성에 대한 변화에 기반하여, 시스템 및 방법은 미디어 스트림의 배포 대상을 수정한다. 예컨대, 미디어 스트림에 대한 특성 변화에 기반하여, 시스템 및 방법은 미디어 스트림이 공유되는 사용자 대상의 크기를 증가 또는 감소시킬 수 있다.
추가로, 일부 예시적 실시예로, 시스템 및 방법은 미디어 스트림의 품질을 향상시킨다. 특히, 미디어 스트림의 미디어 특성에 기반하여, 시스템 및 방법은 미디어 스트림의 품질을 향상시키기 위해 미디어 스트림에 프로덕션 편집(production edit)을 적용할 수 있다. 예컨대, 시스템 및 방법은 미디어 스트림의 비디오 품질을 향상시킬 수 있다(예컨대, 미디어 스트림의 흔들림에 대해 보정하거나, 임의의 행위를 포함하지 않는 비디오 긴 부분을 제거할 수 있다). 다른 예로, 시스템 및 방법은 노이즈 필터링, 등화 및 볼륨 조정을 사용하여 미디어 스트림의 오디오 품질을 향상시킬 수 있다.
추가 또는 대안의 예시적 실시예로, 시스템 및 방법은 다수의 미디어 스트림을 프로덕션 미디어 스트림으로 혼합한다. 더욱 구체적으로는, 시스템 및 방법은 (예컨대, 동일한 이벤트의 상이한 각도를 제공하기 위해 둘 이상의 미디어 스트림 사이에서 전환하는 것과 같이) 동일한 주제의 미디어 스트림을 제공하는 다수의 사용자에 기반하여 프로덕션 미디어 스트림을 - 사용자가 쉽게 프로듀싱할 수 있도록 하는 - 도구를 제공하거나 - 프로듀싱할 수 있다. 추가 실시예로, 시스템 및 방법은 각 미디어 스트림의 하나 이상의 특성에 기반하여, 시청 사용자에게 제공되는 프로덕션 미디어 스트림 내에서 어떤 미디어 스트림을 제시할 지를 결정할 수 있다. 예컨대, 시스템 및 방법은 프로덕션 미디어 스트림 내에 제시하도록 미디어 스트림을 선택할 때 특성, 가령 일정성, 이미지 품질, 오디오 품질 및/또는 얼굴 인식에 가중치를 할당할 수 있다. 또한, 각 미디어 스트림의 특성이 변화함에 따라, 시스템 및 방법은 시청 사용자에게 제공되는 프로덕션 미디어 스트림 내에서 어떤 미디어가 사용될 지를 동적으로 업데이트할 수 있다.
또 다른 예시로, 본 명세서에 기술되는 시스템 및 방법은 시청 사용자가 실시간 컨텐츠를 제공하는 미디어 스트림 내에서 탐색하도록 허용할 수 있다. 예컨대, 시스템 및 방법은 실시간 미디어 스트림의 이전의 부분으로부터 주목할 만한 순간을 시청 사용자가 지나치거나 및/또는 재생하도록 허용할 수 있다. 예컨대, 시청 사용자가 실시간 이벤트의 중간에 있는 미디어 스트림을 시청하기를 시작할 때, 시스템 및 방법은 미디어 스트림의 시작 및 시청 사용자가 액세스하는 미디어 스트림 사이에서 발생하는 주목할 만한 순간, 가령 하이라이트를 시청 사용자에게 제공한다. 추가로, 예컨대, 시스템 및 방법은 미디어 스트림의 시청과 주목할 만한 순간 사이에서 빠르고 쉽게 내비게이션하기 위한 내비게이션 도구를 시청 사용자에게 제공할 수 있다. 이와 같이, 시청 사용자는, 심지어 이벤트의 시작 한참 후에 미디어 스트림에 액세스할 때에도 미디어 스트림의 현재 컨텍스트에 대해 빠르게 불러 드려지고 이해할 수 있다.
본 발명의 추가적인 특징과 장점은 후술되는 설명에 포함될 것이고, 부분적으로 설명으로부터 명백하거나 그러한 예시적 실시예의 실행에 의하여 학습될 수 있다. 그러한 실시예의 특징 및 장점은 첨부된 청구항에서 특히 언급된 기구의 수단 및 조합에 의해 실현되고 얻어질 수 있다. 이들 및 다른 특징은 후술되는 설명 및 첨부된 청구항으로부터 더 완전히 분명해질 것이고, 또는 아래에 제시되는 예시적인 실시예의 실행에 의해 인식될 수 있다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 형식상의 이유를 위해 선택되었을 뿐이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
본 발명에 따른 일실시예로, 방법은:
통신 시스템의 캡처하는 사용자와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하는 단계;
적어도 하나의 프로세서에 의해, 미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하는 단계;
하나 이상의 미디어 특성에 기반하여, 미디어 스트림을 시청 사용자들의 그룹에 전송하는 것을 결정하는 단계;
미디어 스트림을 시청 사용자들의 그룹에 전송하는 단계;
하나 이상의 미디어 특성의 변화를 감지하는 단계;
하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하는 단계; 및
수정된 시청 사용자들의 그룹에 미디어 스트림을 전송하는 단계를 포함한다.
본 발명에 따른 일실시예에서, 방법은 미디어 스트림에 대응하는 이벤트를 식별하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은:
시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 대응하는 미디어 스트림을 각각 포함하는 복수의 미디어 프레젠테이션을 제공하는 단계;
대응하는 미디어 스트림 프레젠테이션 각각에 대한 하나 이상의 미디어 특성을 결정하는 단계; 및
대응하는 미디어 스트림 각각에 대해 결정된 하나 이상의 미디어 특성에 기반하여 미디어 프레젠테이션 피드 내에 복수의 미디어 프레젠테이션을 우선순위화하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은 하나 이상의 추가 시청 사용자와 미디어 스트림을 공유하기 위해 시청 사용자들의 그룹 중 하나의 시청 사용자로부터 요청을 수신하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은:
요청의 수신에 응답하여, 미디어 스트림으로의 링크를 포함하는 메시지를 생성하는 단계; 및
하나 이상의 추가 시청 사용자에게 메시지를 전송하는 단계를 포함할 수 있다.
하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 및 메타데이터 특성을 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은 시청 사용자들의 그룹에게 미디어 스트림을 전송하도록 결정하기 전에 하나 이상의 미디어 특성에 가중치를 부여하는 단계를 포함할 수 있다.
시청 사용자들의 그룹을 수정하는 것은 시청 사용자들의 그룹에 시청 사용자들을 추가하는 것을 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은 하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세스하는 시청 사용자의 수가 임계수에 도달했다고 결정하는 단계를 포함할 수 있다.
시청 사용자들의 그룹을 수정하는 것은 시청 사용자들을 시청 사용자들의 그룹으로부터 제거하는 것을 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은:
통신 시스템의 추가 캡처하는 사용자와 연관된 추가 클라이언트 장치로부터 추가 미디어 스트림을 수신하는 단계;
추가 미디어 스트림을 시청 사용자들의 그룹에게 전송하는 것을 결정하는 단계; 및
미디어 스트림 및 추가 미디어 스트림을 포함하는 미디어 프레젠테이션의 일부로서 추가 미디어 스트림을 시청 사용자들의 그룹으로 전송하는 단계를 포함할 수 있다.
본 발명에 따른 실시예로, 방법은 시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션을 제공하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은 미디어 스트림을 시청 사용자들의 그룹으로 전송하기 전에 미디어 스트림에 프로덕션 편집을 적용하는 것을 포함할 수 있다.
프로덕션 편집을 적용하는 것은 정사각형 크롭핑(cropping)을 미디어 스트림에 적용하는 것을 포함할 수 있다.
프로덕션 편집을 적용하는 것은 클라이언트 장치로부터 수신된 자이로스코프 정보에 기반하여 미디어 스트림을 안정화하는 것을 포함할 수 있다.
본 발명에 따른 일실시예로, 시스템은:
적어도 하나의 프로세서; 및
명령어를 저장하는 적어도 하나의 비-일시적 컴퓨터 판독가능한 저장 매체를 포함할 수 있고, 상기 명령어는, 적어도 하나의 프로세서에 의해 실행시, 시스템으로 하여금:
통신 시스템의 캡처하는 사용자와 연관된 클라이언트 장치로부터 미디어 스트림을 수신하고;
미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
하나 이상의 미디어 특성에 기반하여, 미디어 스트림을 시청 사용자들의 그룹에 전송하도록 결정하고;
시청 사용자들의 그룹에게 미디어 스트림으로의 액세스를 제공하고;
하나 이상의 미디어 특성의 변화를 감지하고;
하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여, 시청 사용자들의 그룹을 수정하고; 및
수정된 시청 사용자들의 그룹에게 미디어 스트림으로의 액세스를 제공하도록 야기한다.
시청 사용자들의 그룹을 수정하는 것은 시청 사용자들의 그룹에 시청 사용자들을 추가하는 것을 포함할 수 있다.
본 발명에 따른 일실시예로, 시스템은 적어도 하나의 프로세서에 의해 실행시 시스템으로 하여금, 하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세스하는 시청 사용자의 수가 임계수에 도달했다고 결정하도록 야기하는 명령어를 포함할 수 있다.
하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 및 메타데이터 특성을 포함할 수 있다.
본 발명에 따른 일실시예로, 비-일시적 컴퓨터 판독가능한 매체는 명령어를 저장할 수 있고, 상기 명령어는, 적어도 하나의 프로세서에 의해 실행시 컴퓨터 시스템으로 하여금:
통신 시스템의 캡처하는 사용자와 연관된 클라이언트 장치로부터 미디어 스트림을 수신하고;
미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
하나 이상의 미디어 특성에 기반하여, 미디어 스트림을 시청 사용자들의 그룹에 전송하도록 결정하고;
시청 사용자들의 그룹에게 미디어 스트림으로의 액세스를 제공하고;
하나 이상의 미디어 특성의 변화를 감지하고;
하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여, 그룹을 수정하고; 및
수정된 시청 사용자들의 그룹에게 미디어 스트림으로의 액세스를 제공하도록 야기한다.
본 발명에 따른 일실시예로, 방법은:
대응하는 복수의 캡처하는 사용자와 연관된 복수의 클라이언트 장치로부터 복수의 관련 미디어 스트림을 수신하는 단계;
복수의 미디어 스트림들로부터의 컨텐츠를 포함하는 시청 사용자와 연관된 클라이언트 장치에 미디어 프레젠테이션을 전송하는 단계;
적어도 하나의 프로세서에 의해, 각각의 미디어 스트림에 대한 시간-기반 미디어 특성의 데이터 스트림을 생성하는 단계;
데이터 스트림 내의 시간-기반 미디어 특성에 기반하여, 미디어 프레젠테이션 내에 제공하기 위해 복수의 미디어 스트림으로부터 제1 미디어 스트림을 선택하는 단계; 및
데이터 스트림 내의 업데이트된 시간-기반 미디어 특성에 기반하여, 미디어 프레젠테이션을 갖는 제1 미디어 스트림을 제공하는 것으로부터 미디어 프레젠테이션 내의 복수의 미디어 스트림으로부터 제2 미디어 스트림을 제공하는 것으로 전환하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 방법은:
복수의 캡처하는 사용자로부터 이벤트에 대응하는 복수의 미디어 스트림을 수신하는 단계;
적어도 하나의 프로세서에 의해, 복수의 미디어 스트림 중 적어도 하나의 미디어 스트림에 의해 캡처된 이벤트로부터의 복수의 주목할만한 순간들을 식별하는 단계;
식별된 복수의 주목할 만한 순간들에 대응하는 복수의 미디어 세그먼트들을 생성하는 단계;
시청 사용자의 하나 이상의 프로파일 속성들에 기반하여, 복수의 미디어 세그먼트들로부터 하나 이상의 미디어 세그먼트들을 식별하는 단계; 및
시청 사용자와 연관된 클라이언트 장치에 하나 이상의 미디어 세그먼트를 제공하는 단계를 포함할 수 있다.
본 발명에 따른 추가 실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장매체는 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작가능한 소프트웨어를 포함한다.
본 발명에 따른 추가 실시예로, 시스템은 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의해 실행가능한 명령어들을 포함하는 적어도 하나의 메모리를 포함하며, 상기 프로세서는 명령어들을 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명에 따른 추가 실시예로, 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품이 데이터 처리 시스템에서 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명의 내용 중에 포함되어 있다.
하나 이상의 실시예의 전술한 것 및 다른 이점과 특징이 획득될 수 있는 방식을 서술하기 위해, 더 특정적인 설명이 첨부되는 도면에서 도시되는 구체적인 실시예를 참조하여 이루어질 것이다. 도면은 축척대로 도시된 것이 아니며, 유사한 구조 또는 기능의 구성요소는 일반적으로 도면 전체에 걸쳐 예시적인 목적을 위해 동일한 참조 번호로 표시된다는 점에 유의해야 한다. 이들 도면은 오로지 전형적인 실시예를 도시하는 것이며, 따라서 그것의 범위를 제한하는 것으로 고려되지 않는다. 따라서, 다양한 실시예가 첨부 도면을 사용하여 추가적인 구체성 및 세부사항과 함께 서술되고 설명될 것이다.
도 1은 본 명세서에 서술되는 하나 이상의 실시예에 따른 통신 시스템의 개략도를 도시한다.
도 2는 본 명세서에 서술되는 하나 이상의 실시예에 따른 하나 이상의 클라이언트 장치와 통신하는 미디어 프레젠테이션 시스템의 개략도를 도시한다.
도 3a-3b는 하나 이상의 실시예에 따른 미디어 프레젠테이션 시스템의 시퀀스 흐름도를 도시한다.
도 4a-4c는 하나 이상의 실시예에 따른 시청 사용자와 다수의 캡처하는 클라이언트 장치와 통신하는 미디어 프레젠테이션 시스템을 보여주는 시퀀스 흐름도를 도시한다.
도 5는 하나 이상의 실시예에 따라 미디어 프레젠테이션의 다수의 사용자들이 이벤트의 미디어 스트림을 캡처할 수 있는 이벤트 장소(venue)를 도시한다.
도 6은 하나 이상의 실시예에 따른 도 5의 이벤트에서 사용자들과 연관되는 캡처하는 클라이언트 장치에 의해 제공되는 예시적인 미디어 스트림을 도시한다.
도 7은 하나 이상의 실시예에 따른 프로덕션 미디어 스트림을 생성하기 위한 방법을 도시하는 시퀀스 흐름도를 도시한다.
도 8은 하나 이상의 실시예에 따른 하나 이상의 사용자에게 미디어 스트림을 동적으로 제공하기 위한 방법의 흐름도를 도시한다.
도 9는 하나 이상의 실시예에 따른 복수의 관련 미디어 스트림으로부터 미디어 스트림을 프로듀싱하기 위한 방법의 흐름도를 도시한다.
도 10은 하나 이상의 실시예에 따른 미디어 스트림의 주목할 만한 순간들을 식별하고 제공하기 위한 방법의 흐름도를 도시한다.
도 11은 하나 이상의 실시예에 따른 클라이언트 장치의 블록도를 도시한다.
도 12는 본 명세서에 서술되는 하나 이상의 실시예에 따른 소셜 네트워킹 시스템의 네트워크 흐름도를 도시한다.
도 13은 본 명세서에 서술되는 하나 이상의 실시예에 따른 소셜 네트워킹 시스템의 예시적인 소셜 그래프를 도시한다.
본 명세서에 개시된 실시예는 미디어 스트림을 공유하고 시청하기 위한 사용자의 경험을 향상시키는 미디어 프레젠테이션 시스템에 있어서 해당 분야의 전술되거나 또는 다른 문제점들 중 하나 이상을 해결하거나 및/또는 이점을 제공한다. 특히, 미디어 프레젠테이션 시스템은 직관적이고 효율적인 방식으로 미디어 스트림을 지능적으로 생성, 조직화 및 공유한다. 일부 실시예로, 예컨대, 미디어 프레젠테이션 시스템은 사용자가 하나 이상의 다른 사용자(예컨대, 시청 사용자)와 공유하고자 하는 미디어 스트림(예컨대, 비디오 미디어 스트림)을 캡처하고 제공하는 능력을 클라이언트 장치를 통해 사용자에게 제공한다. 추가로, 사용자, 시청 사용자 및/또는 미디어 스트림의 다양한 특징, 선호도 및/또는 특성에 기반하여, 미디어 프레젠테이션 시스템은 어떻게 미디어 스트림을 배포할지(예컨대, 비디오 스트림을 공유할 시청 사용자를 식별할지)를 동적으로 결정할 수 있다. 또한, 하나 이상의 실시예로, 미디어 프레젠테이션 시스템은 시청 사용자에게 제공하기 위해 더 즐거운 미디어 스트림을 생성하도록 하나 이상의 미디어 스트림 특성을 수정하거나 및/또는 다수의 미디어 스트림을 조합할 수 있다. 추가로, 미디어 프레젠테이션 시스템의 하나 이상의 예시는 사용자가 미디어 스트림의 시청 경험을 맞춤화할 것을 허용하는 다양한 내비게이션 특징을 미디어 스트림의 프레젠테이션 동안에 제공한다.
간략히 전술한 바와 같이, 하나 이상의 실시예에서, 미디어 프레젠테이션 시스템은 가령, 특정 시청 사용자, 시청 사용자들의 특정 그룹, 및/또는 특정 속성을 갖는 시청 사용자에게 미디어 스트림을 지능적으로 배포할 수 있다. 특히, 미디어 프레젠테이션 시스템은 특정 미디어 스트림에 대한 배포 대상을 동적으로 결정하기 위해 캡처하는 사용자, 시청 사용자, 및/또는 미디어 스트림에 관련되는 다양한 타입의 데이터를 분석한다. 예컨대, 미디어 프레젠테이션 시스템은 미디어 스트림의 특성에 기반하여 배포 대상을 식별할 수 있다. 예컨대, 미디어 프레젠테이션 시스템은 미디어 스트림에 대응하는 품질 레벨의 결정에 기반하여, 배포 대상의 크기를 결정할 수 있다(예컨대, 미디어 스트림이 흔들리는 비디오 및/또는 낮은 오디오 품질을 가진다면, 미디어 프레젠테이션 시스템은 대상 크기를 제한할 수 있다). 미디어 스트림의 특성이 변화함에 따라, 미디어 프레젠테이션 시스템은 배포 대상의 크기를 수정할 수 있다.
추가로, 미디어 프레젠테이션 시스템은 미디어 스트림에 대응하는 시청 사용자로부터 상호작용 및 피드백을 모니터할 수 있고, 상호작용과 피드백에 기반하여, 배포 대상을 수정할 수 있다(예컨대, 미디어 프레젠테이션 시스템은 긍정 또는 부정적인 피드백에 응답하여, 미디어 스트림의 배포를 확대하거나 감소시킬 수 있다). 미디어 프레젠테이션 시스템은 또한, 이하에서 더 서술되는 바와 같이, 다양한 다른 미디어 스트림 특성에 기반하여 미디어 스트림에 대한 배포 대상을 결정할 수 있다. 또한, 미디어 스트림의 미디어 특성에 기반하여 미디어 스트림을 배포하는 것에 추가로, 미디어 프레젠테이션 시스템은 또한, 시청 사용자의 프로필 속성 및 선호도(예컨대, 지리적 위치, 사용자 관심사, 맞춤형 대상)에 기반하여 배포 대상을 결정할 수 있다.
일부 예시적인 실시예로, 미디어 프레젠테이션 시스템은 다수의 사용자들이 관련 미디어 스트림(예컨대, 동일한 이벤트에서 캡처된 미디어 스트림)을 캡처하고 공유하고 있다고 감지할 수 있다. 이에 응답하여, 미디어 프레젠테이션 시스템은 관련 미디어 스트림을 사용하여 프로덕션 미디어 스트림을 프로듀싱할 수 있다. 예컨대, 관련 미디어 스트림 각각에 대해, 미디어 프레젠테이션 시스템은 각도 및/또는 관점(예컨대, 클로즈-업 대 파노라마 광각), 캡처되는 대상물, 얼굴 인식, 미디어 스트림이 표시된 시간의 길이, 오디오-품질, 미디어 스트림이 중복인지 여부, 시청 개수, 좋아요, 공유하기 등을 고려할 수 있다. 추가로, 미디어 프레젠테이션 시스템은 가장 높은 오디오 품질을 포함하는 단일 미디어 스트림으로부터의 오디오를 사용하면서, 혼합된 미디어 스트림, 가령 3개의 미디어 스트림 사이에서 전환하는 비디오의 전체 품질을 향상시키도록 다수의 미디어 스트림의 다양한 양태로 혼합할 수 있다.
추가로, 하나 이상의 실시예에서, 미디어 프레젠테이션 시스템은 미디어 프레젠테이션 내에서 컨텐츠를 쉽게 내비게이션하는 능력을 시청 사용자에게 제공할 수 있어서, 시청 사용자가 그들의 시청 경험을 맞춤화할 수 있도록 한다. 예컨대, 시청 사용자는 미디어 스트림이 시작한 후 미디어 스트림의 시청을 시작할 수 있다. 이러한 경우, 미디어 프레젠테이션 시스템은 시청 사용자가 이벤트로부터의 주목할 만한 순간을 재생 및/또는 실시간 행위로 따라가도록 허용하는 이벤트의 이전 미디어 세그먼트를 제공할 수 있다. 또한, 일부 예시적 실시예로, 미디어 프레젠테이션 시스템은 시청 사용자의 관심사 및/또는 선호도에 대응하는 미디어 스트림의 과거 부분을 식별할 수 있다.
따라서, 미디어 프레젠테이션 시스템의 하나 이상의 실시예는 사용자가 미디어를 효율적으로 캡처하고 하나 이상의 시청 사용자와 미디어의 미디어 스트림을 공유할 수 있도록 함으로써 종래 시스템의 하나 이상의 단점을 극복한다. 추가로, 미디어 프레젠테이션 시스템은 시청 사용자에게 가장 관련있고 가장 높은 품질의 미디어 스트림을 제공함으로써 시청 사용자에게 즐거운 사용자 경험을 제공하는 한편, 사용자의 내비게이션하는 능력을 향상시키거나 및/또는 아니면 미디어 스트림을 경험하도록 하는 다양한 컨트롤 특징을 시청 사용자에게 또한, 제공한다. 추가적인 세부사항 및 이점이 이하에서 서술된다.
본 명세서에서 사용되는 용어 "미디어"는 통신 네트워크를 통해 송신될 수 있는 디지털 데이터를 지칭한다. 미디어의 예시는 디지털 사진, 디지털 비디오, 디지털 오디오, 및/또는 다른 타입의 디지털 데이터를 포함하지만 이들로 제한되지 않는다. 따라서, 미디어는 이미지, 비디오, 오디오, 텍스트, 문서, 애니메이션, 스크린 공유, 또는 통신 네트워크를 통해 송신될 수 있는 임의의 다른 오디오/시각 데이터를 지칭할 수 있다. 일반적으로, 미디어는 캡처된 미디어 컨텐츠 또는 단순히 컨텐츠를 포함한다. 이와 같이, 미디어는 컨텐츠, 가령 사용자-생성된 컨텐츠(예컨대, 사용자가 미디어 캡처 장치 가령 스마트폰 또는 디지털 카메라를 사용하여 캡처한 컨텐츠)뿐만 아니라 사용자가 생성하지 않은 미디어(예컨대, 엔티티 또는 제3자에 의해 생성된 컨텐츠)를 포함할 수 있다. 추가로, 미디어는 다양한 타입의 기술을 사용하여 다양한 형태로 송신될 수 있다. 추가로, 미디어 프레젠테이션 시스템은 별개의 파일의 형태로 미디어를 송신할 수 있거나, 또는 추가로 미디어 프레젠테이션 시스템은 스트리밍 디지털 컨텐츠(예컨대, 미디어 스트림)의 형태로 미디어를 전송할 수 있다.
본 명세서에서 사용되는 용어 "미디어 스트림"은 일반적으로 시간에 걸쳐 제공되는 미디어의 흐름을 지칭한다. 미디어 스트림의 예시는 하나의 컴퓨팅 장치로부터 하나 이상의 다른 컴퓨팅 장치로 향하는 실시간, 근-실시간(near-live), 또는 반-실시간(semi-live) 미디어의 스트림을 포함할 수 있다. 일부 예시에서, 미디어 스트림은 이전에 캡처된 컨텐츠를 방송한다. 미디어 스트림은 하나의 컴퓨팅 장치로부터 다른 컴퓨팅 장치로 데이터의 패킷을 송신하는 것을 포함할 수 있다. 일반적으로, 미디어 스트림은 컴퓨팅 장치 간에 이미지, 비디오, 및/또는 오디오를 전송하는 것을 포함한다. 게다가, 컴퓨팅 장치가 미디어 스트림을 전송할 때, 컴퓨팅 장치는 미디어 스트림을 하나 이상의 다른 컴퓨팅 장치로 송신하기 전에 미디어 스트림을 인코딩하거나 및/또는 암호화할 수 있다.
본 명세서에서 사용되는 용어 "미디어 세그먼트"는 미디어의 개별 부분을 일반적으로 지칭한다. 예컨대, 미디어 세그먼트는 미디어 스트림을 형성하는 미디어를 포함하는 이미지 부분, 비디오 부분 및/또는 오디오 부분을 포함할 수 있다. 예컨대, 미디어 스트림을 전송하거나 수신하는 컴퓨팅 장치는 미디어 스트림의 부분을 미디어 세그먼트로 저장할 수 있다. 이와 같이, 미디어 세그먼트는 미디어 스트림으로부터 취해진 비디오 클립 및/또는 오디오 클립을 포함할 수 있다. 일부 예시적인 실시예로, 미디어 세그먼트는 미디어 스트림으로부터 획득되지 않는 개별 미디어의 부분, 가령 사용자에 의해 디지털 생성된 미디어 세그먼트(예컨대, 애니메이션된 비디오)를 포함할 수 있다.
본 명세서에 사용되는 바와 같이, "미디어 프레젠테이션"이라는 용어는 하나 이상의 미디어 스트림 및/또는 미디어 세그먼트의 정의된 세트를 지칭한다. 예컨대, 미디어 프레젠테이션은 복수의 관련 미디어 스트림 및/또는 미디어 세그먼트를 포함할 수 있다. 따라서, 하나 이상의 실시예로, 미디어 프레젠테이션은 미디어 스트림 및/또는 미디어 세그먼트의 모음(compilation)을 포함할 수 있다. 예컨대, 미디어 프레젠테이션은 공통 위치 또는 이벤트에서 다수의 사용자에 의해 제공되는 관련 미디어 스트림을 포함할 수 있다. 일부의 경우, 미디어 프레젠테이션은 사용자에 의해 제공되고 다른 사용자와 공유되는 단일 미디어 스트림을 포함할 수 있다. 일반적으로, 미디어 프레젠테이션 시스템은 미디어 프레젠테이션 피드 내에 시청 사용자에게 하나 이상의 미디어 프레젠테이션을 제공할 것이고, 시청 사용자는 미디어 프레젠테이션에 대응하는 하나 이상의 미디어 스트림 및/또는 미디어 세그먼트에 액세스하기 위해 미디어 프레젠테이션을 선택할 수 있다. 추가로, 본 명세서에 사용되는 바와 같이, 용어 "미디어 프레젠테이션 피드"는 시청 사용자에게 표시되는 하나 이상의 미디어 프레젠테이션의 집합(collection)을 일반적으로 지칭한다. 예컨대, 클라이언트 장치는 다수의 미디어 프레젠테이션을 포함하는 미디어 프레젠테이션 피드를 시청 사용자에게 제시할 수 있고, 각각의 미디어 프레젠테이션은 시간순서, 또는 토픽, 사용자, 채널, 및/또는 추가 조직 그룹화에 따라 조직화된다.
용어 "미디어 특성"은 미디어, 가령 미디어 스트림이나 미디어 세그먼트 내의 미디어와 연관되는 특징 및 속성을 지칭한다. 미디어 특성은 미디어 자체의 속성뿐만 아니라 미디어와 연관된 메타데이터 둘 모두를 포함할 수 있다. 미디어 특성의 예시는, 오디오/비디오 품질, 미디어 스트림을 제공하는데 사용되는 통신 네트워크로의 연결 강도, 얼굴 및 사물 인식, 각도 및 관점, 지리적 위치, 시간, 반복성 등을 포함하지만 이들로 제한되지 않는다. 또한, 미디어 특성은 암시적인 상호작용(예컨대, 시청 개수) 및 명시적인 피드백(예컨대, 좋아요, 코멘트, 공유하기 등)을 포함하는 시청 사용자로부터의 상호작용 및 피드백을 포함할 수 있다. 미디어 특성에 관한 추가적인 세부사항 및 예시는 아래의 상세한 설명에서 제공된다.
본 명세서에서 사용되는 바와 같이, 용어 "상호작용" 또는 "상호작용하기"는 사용자와 클라이언트 장치 사이의 임의의 타입의 인터페이스 활동을 일반적으로 지칭한다. 하나 이상의 실시예로, 상호작용은 사용자가 미디어를 캡처하거나 시청하거나, 브라우징하거나, 액세싱하거나 및/또는 그렇지 않다면 미디어를 경험하는 것을 포함할 수 있다. 또한, 상호작용은 클라이언트 장치에 의해 제공되는 그래픽 사용자 인터페이스 상의 그래픽 요소를 선택하는 것, 가령 미디어를 액세스하기 위해 메뉴 옵션이나 그래픽 버튼을 선택하는 것, 미디어 스트림에 액세스하는 것, 미디어 스트림으로부터 미디어 세그먼트를 재생하는 것, 캡처된 미디어 세그먼트를 승인하는 것, 미디어 프레젠테이션에 캡처된 미디어 세그먼트가 추가되도록 요청하는 것, 또는 다른 추가 행위를 포함할 수 있다. 하나 이상의 실시예로, 사용자는 하나 이상의 사용자 입력 장치, 가령 터치 스크린, 터치패드, 키보드, 또는 마우스를 사용하여 클라이언트 장치와 상호작용할 수 있다.
도 1은 본 명세서에 기술되는 하나 이상의 실시예에 따른 통신 시스템(100) (또는 단순히 "시스템(100)")의 예시적인 실시예를 도시한다. 도시되는 것처럼, 시스템(100)은 네트워크(106)를 통해 통신가능하게 결합된 미디어 프레젠테이션 시스템(102), 시청 클라이언트 장치(104) 및 캡처 클라이언트 장치(105)를 포함하는 하나 이상의 서버(들)(101)를 포함할 수 있다. 도 1은 미디어 프레젠테이션 시스템(102), 시청 클라이언트 장치(104), 캡처 클라이언트 장치(105) 및 네트워크(106)의 특정 배치를 도시하지만, 다양한 추가 배치가 가능하다. 예컨대, 시청 클라이언트 장치(104) 및/또는 캡처 클라이언트 장치(105)는 네트워크(106)를 우회하여 미디어 프레젠테이션 시스템(102)과 직접 통신할 수 있다.
선택적으로, 시스템(100)은 소셜 네트워킹 시스템(108)을 포함하는 하나 이상의 서버(들)(107)를 포함할 수 있다. 시스템(100)이 소셜 네트워킹 시스템(108)을 포함하는 경우, 소셜 네트워킹 시스템(108)의 사용자는 소셜 네트워킹 시스템(108)을 통해 본 명세서에 기술되는 바와 같이 미디어 프레젠테이션 시스템(102)의 특징과 기능을 사용할 수 있다. 일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 소셜 네트워킹 시스템(108)의 일부이거나 그에 직접 연결될 수 있다. 다른 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 소셜 네트워킹 시스템(108)과 분리되지만, 소셜 네트워킹 시스템(108)의 사용자들은 소셜 네트워킹 시스템(108)을 통해 미디어 프레젠테이션 시스템(102)에 액세스할 수 있다.
미디어 프레젠테이션 시스템(102)이 소셜 네트워킹 시스템(108)과 인터페이싱하는 경우, 시청 사용자(110) 및/또는 캡처 사용자(112)는 소셜 네트워킹 시스템(108)과 연관될 수 있다. 예컨대, 캡처 사용자(112)는 캡처 사용자(112)에 관한 정보, 가령 사용자의 프로필, 소셜 네트워크 행동, 소셜 네트워킹 연락처, 및 각 소셜 네트워킹 연락처에 대한 친밀도를 획득하기 위해 소셜 네트워킹 시스템(108)에 미디어 프레젠테이션 시스템(102)이 액세스하도록 인가할 수 있다. 미디어 프레젠테이션 시스템(102)은 또한, 미디어 프레젠테이션 시스템(102)의 사용자들 사이에서 미디어 프레젠테이션을 공유하기 위해 소셜 네트워킹 시스템(108)을 사용할 수 있다. 예컨대, 캡처 사용자(112)는 미디어를 캡처하고, 캡처된 미디어를 미디어 프레젠테이션과 연관시키고, 미디어 프레젠테이션을 소셜 네트워킹 시스템(108)에 전송할 수 있다. 추가로, 소셜 네트워킹 시스템(108)은 소셜 네트워킹 시스템(108)을 통해 시청 사용자(110)에게 미디어 프레젠테이션을 제공할 수 있다.
소셜 네트워킹 시스템(108)의 존재와 무관하게, 하나 이상의 서버(들)(101), 시청 클라이언트 장치(104), 캡처 클라이언트 장치(105) 및 하나 이상의 선택적 서버(들)(107)을 포함하는 시스템(100)의 컴포넌트는 네트워크(106)를 통해 통신할 수 있다. 네트워크(106)는 하나 이상의 네트워크를 포함할 수 있고, 데이터 및/또는 통신 신호를 송신하기 위해 적절한 하나 이상의 통신 플랫폼 또는 기술을 사용할 수 있다. 네트워크(106)와 관련된 추가 세부사항은 도 12-13을 참조하여 아래에서 설명된다.
도 1에 추가로 도시되는 것처럼, 시청 사용자(110)는 시청 클라이언트 장치(104)와 상호작용할 수 있고, 캡처 사용자(112)는 캡처 클라이언트 장치(105)와 상호작용할 수 있다. 시청 사용자(110)와 캡처 사용자(112)는 각각 개인(즉, 인간 사용자), 사업체, 그룹 또는 임의의 다른 엔티티일 수 있다. 설명의 목적을 위해, 도 1은 오로지 하나의 시청 사용자(110) 및 하나의 캡처 사용자(112)만을 도시하지만, 시스템(100)은 하나 이상의 대응하는 클라이언트 장치를 사용하여 시스템(100)과 상호작용하는 임의의 수의 시청 사용자 및/또는 캡처 사용자를 포함할 수 있음이 인식되어야 한다. 유사하게, 용어들 "시청 사용자" 및 "캡처 사용자"는 일반적으로 설명의 목적을 위해 사용되는 것이며, 시청 사용자(110) 및 캡처 사용자(112) 둘 모두는 미디어 프레젠테이션 시스템(102)의 사용자들이며, 둘 모두는 미디어 프레젠테이션 시스템(102)을 사용하여 미디어를 캡처, 공유, 및 액세스할 수 있음을 인식해야 한다.
전술한 바와 같이, 시청 사용자(110) 및 캡처 사용자(112)는 미디어 프레젠테이션 시스템(102) 및/또는 소셜 네트워킹 시스템(108)과 각각 통신하기 위해 시청 클라이언트 장치(104) 및 캡처 클라이언트 장치(105)와 상호작용할 수 있다. 설명의 목적을 위해, 시청 클라이언트 장치(104) 및 캡처 클라이언트 장치(105)는 때로는 집합적으로 "클라이언트 장치들"로 지칭된다. 클라이언트 장치는 다양한 타입의 클라이언트 장치를 표현할 수 있다. 예컨대, 클라이언트 장치는 모바일 장치, 가령 휴대전화, 스마트폰, PDA, 태블릿 또는 랩탑을 포함할 수 있다. 또한, 클라이언트 장치는 비-휴대 장치, 가령 데스크탑이나 서버를 포함할 수 있다. 추가로, 클라이언트 장치는 디스플레이 장치, 가령 텔레비전, LCD 디스플레이, LED 디스플레이, 모니터, 프로젝터 등을 포함할 수 있다. 일반적으로, 본 명세서에서 사용되는 바와 같이 클라이언트 장치는 임의의 타입의 컴퓨팅 장치를 포함할 수 있다. 클라이언트 장치에 관한 추가적인 세부사항 및 예시가 도 11과 관련하여 이하에서 논의된다.
일반적으로, 클라이언트 장치는 사용자(예컨대, 시청 사용자(110))가 예컨대, 미디어 프레젠테이션 피드의 일부로서 하나 이상의 미디어 프레젠테이션을 시청하도록 할 수 있다. 예컨대, 클라이언트 장치는 프로세싱 컴포넌트와 사용자가 미디어 스트림을 시청하도록 할 수 있는 디스플레이 스크린을 포함한다. 추가로, 클라이언트 장치는 또한, 미디어를 캡처할 뿐만 아니라 캡처된 미디어를 다른 컴퓨팅 장치로 전송하기 위한 컴포넌트를 포함할 수 있다. 예컨대, 클라이언트 장치는 사용자가 미디어를 캡처하고 캡처된 미디어를 미디어 스트림 내에 제공하도록 허용하는 비디오 및/또는 오디오 캡처 컴포넌트, 가령 카메라 및/또는 마이크를 포함한다. 추가로, 클라이언트 장치는 또한, 다른 장치로부터 캡처된 미디어를 수신하기 위한 컴포넌트를 포함할 수 있다. 대안으로, 일부 클라이언트 장치는 오로지 시청 기능을 제공하거나 오로지 캡처 기능을 제공하는 것으로 제한될 수 있다.
시스템(100)의 특정 컴포넌트 또는 컴포넌트의 배치와 무관하게, 미디어 프레젠테이션 시스템(102)은 일반적으로 시스템의 사용자가 미디어 프레젠테이션을 캡처, 제작, 배포 및/또는 액세스/시청하도록 허용한다. 비-제한적인 전체 예시로서, 캡처 사용자(112)는 미디어를 캡처하고 캡처 클라이언트 장치(105)를 사용하여 미디어 스트림을 제공(예컨대, 실시간 디지털 비디오를 제공)할 수 있다. 제공된 미디어 스트림의 미디어 특성에 기반하여, 미디어 프레젠테이션 시스템(102)은 배포 대상에 포함시킬 시청 사용자들의 그룹을 결정한다. 미디어 프레젠테이션 시스템(102)은 미디어 특성을 모니터할 수 있고, 미디어 특성의 변화에 기반하여, 미디어 프레젠테이션 시스템(102)은 배포 대상을 동적으로 업데이트할 수 있다. 배포 대상에 속하는 시청 사용자(110)는 미디어 프레젠테이션의 일부로서 미디어 스트림을 시청하기 위해 시청 클라이언트 장치(104)를 사용한다. 추가로, 시청 사용자(110)가 미디어 프레젠테이션의 누락된 부분을 시청하기를 요청한다면, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션으로부터 시청 사용자(110)가 관심을 가질 미디어 세그먼트를 식별할 수 있고, 미디어 프레젠테이션의 일부로서 시청 사용자(110)에게 미디어 세그먼트를 제시할 수 있다. 미디어 프레젠테이션 시스템에 관한 추가적인 세부사항은 이하에서 더 상세히 설명될 것이다.
특히, 도 2는 하나 이상의 클라이언트 장치(204)와 통신하는 미디어 프레젠테이션 시스템(102)을 포함하는 하나 이상의 서버(들)의 개략도를 도시한다. 도 2의 미디어 프레젠테이션 시스템(102)은 도 1을 참조하여 전술된 미디어 프레젠테이션 시스템(102)의 하나 이상의 실시예를 표현할 수 있다. 유사하게, 도 2에 도시된 클라이언트 장치(204)는 도 1을 참조하여 전술한 시청 클라이언트 장치(204) 및/또는 캡처 클라이언트 장치(105)의 하나 이상의 실시예를 표현할 수 있다. 예컨대, 도 2의 미디어 프레젠테이션 시스템(102)과 클라이언트 장치(204)는 도 1에 도시된 통신 시스템(100)의 일부일 수 있다.
도 2에 도시되는 바와 같이, 미디어 프레젠테이션 시스템(102)은 미디어 스트림 관리자(208), 미디어 특성 평가기(210), 미디어 프레젠테이션 프로듀서(212), 배포 관리자(214), 미디어 프레젠테이션 데이터베이스(216) 및 사용자 프로필 데이터베이스(218)를 포함하지만 이들로 제한되지 않는다. 일반적으로, 미디어 스트림 관리자(208)는 클라이언트 장치(204)에 의해 캡처되고 제공되는 미디어 스트림을 수신하고 인식할 수 있다. 미디어 특성 평가기(210)는 미디어 특성에 대해 미디어 스트림을 정기적으로 평가하고, 해당 미디어 특성을 미디어 프레젠테이션 관리자(212)로 제공할 수 있다. 미디어 프레젠테이션 관리자(212)는 하나 이상의 시청 사용자에 대한 미디어 프레젠테이션 내에 포함시킬 미디어 스트림을 선택하기 위해 미디어 특성을 사용할 수 있다. 또한, 미디어 특성에 기반하여, 예컨대 배포 관리자(214)는 프로덕션 미디어 스트림을 분포할 시청 사용자의 배포 대상을 결정하는 것뿐만 아니라 미디어 특성에 대한 변화에 기반하여 언제 배포 대상을 업데이트할 수 있다. 미디어 프레젠테이션 데이터베이스(216)는 복수의 미디어 프레젠테이션 및/또는 미디어 세그먼트를 관리할 수 있고, 사용자 프로필 데이터베이스(218)는 미디어 프레젠테이션 시스템(102)의 사용자에 대한 사용자 정보를 관리할 수 있다.
미디어 프레젠테이션 시스템(102)의 각각의 컴포넌트는 미디어 프레젠테이션 시스템(102)으로 하여금 본 명세서에 기술된 프로세스를 수행하도록 야기하는 명령어를 실행하는 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치를 사용하여 구현될 수 있다. 일부 실시예로, 미디어 프레젠테이션 시스템(102)의 컴포넌트는 단일 서버 장치에 의해 또는 다수의 서버 장치들에 걸쳐 구현될 수 있다. 특정 수의 컴포넌트들이 도 2에 도시되지만, 미디어 프레젠테이션 시스템(102)은 더 많은 컴포넌트를 포함할 수 있거나 특정 실시예에 대해 원하는 바에 따라 더 작은 수의 컴포넌트(가령, 단일 컴포넌트)로 컴포넌트들을 조합할 수 있다.
도 2에 도시되는 바와 같이 그리고 미디어 프레젠테이션 시스템(102)의 상기 개요에서 간단히 언급된 바와 같이 미디어 프레젠테이션 시스템(102)은 미디어 스트림 관리자(208)를 포함한다. 미디어 스트림 관리자(208)는 일반적으로 미디어 스트림을 관리한다. 더 구체적으로는, 클라이언트 장치, 가령 캡처 클라이언트 장치가 미디어 스트림을 미디어 프레젠테이션 시스템(102)으로 제공하는 경우, 미디어 스트림 관리자(208)는 유입되는 미디어 스트림을 수신, 인식 및 프로세싱한다.
미디어 스트림을 인식하는 부분으로서, 미디어 스트림 관리자(208)는 미디어 스트림에 대응하는 정보를 식별할 수 있다. 예컨대, 미디어 스트림 관리자(208)는 미디어 스트림과 연관된 캡처 사용자의 신원을 식별할 수 있다. 미디어 스트림 관리자(208)는 또한, 미디어 스트림과 연관된 임의의 설명 데이터를 식별할 수 있다. 예컨대, 캡처 사용자는 미디어 스트림에 대한 제목, 토픽 또는 다른 설명을 제공할 수 있고, 미디어 스트림 관리자(208)는 미디어 스트림을 조직화하고 배포하기 위한 목적으로 설명 데이터를 캡처할 수 있다. 추가로, 미디어 스트림 관리자는 미디어 스트림과 연관된 다른 데이터, 가령 미디어 스트림과 연관된 위치, 미디어 스트림이 실시간 컨텐츠를 포함하는지 여부 및/또는 수신된 미디어 스트림과 연관될 수 있는 임의의 다른 데이터를 식별할 수 있다.
하나 이상의 실시예로, 미디어 스트림 관리자(208)는 다수의 캡처 사용자로부터 다수의 미디어 스트림을 수신한다. 다수의 미디어 스트림의 수신에 기반하여, 미디어 스트림 관리자(208)는 임의의 미디어 스트림이 서로 관련되는지 여부를 결정할 수 있다. 특히, 미디어 스트림 관리자(208)는 언제 둘 이상의 미디어 스트림이 동일한 시간에 공통의 위치로부터 컨텐츠를 제공하는지 및/또는 동일한 주제를 캡처하는지를 결정할 수 있다. 예컨대, 미디어 스트림 관리자(208)는 동일한 콘서트에서 동일한 시간에 동일한 음악 공연의 미디어를 제공하는 두 미디어 스트림이 서로 관련된다고 결정할 수 있다.
미디어 스트림 관리자(208)는 다수의 인자에 기반하여 둘 이상의 미디어 스트림이 관련된다고 결정할 수 있다. 예컨대, 미디어 스트림 관리자(208)는 관계를 결정하기 위해 둘 이상의 미디어 스트림으로부터 오디오 또는 비디오 패턴(예컨대, 콘서트에서의 광 플래시 또는 오디오 주파수)을 매칭할 수 있다. 다른 예로, 미디어 스트림 관리자(208)는 두 미디어 스트림이 서로에 대한 임계 근접도 내에 있는, 가령 동일한 이벤트, 장소, 위치 등에 있는 클라이언트 장치로부터 수신된다고 결정할 수 있다. 일부의 경우, 미디어 스트림 관리자(208)는 둘 이상의 미디어 스트림이 관련되는지 여부를 결정하기 위해 둘 이상의 미디어 스트림과 연관되는 라벨이나 태그를 매칭할 수 있다. 미디어 스트림이 관련되는지 여부의 결정에 관한 추가 세부사항은 이하에서 제공된다.
미디어 스트림 관리자(208)에 추가로, 그리고 도 2에 도시되는 바와 같이, 미디어 프레젠테이션 시스템(102)은 미디어 특성 평가기(210)를 포함한다. 미디어 특성 평가기(210)는 일반적으로 수신된 미디어 스트림에 대한 하나 이상의 미디어 특성을 결정한다. 더 구체적으로는, 미디어 특성 평가기(210)는 미디어 스트림과 연관된 미디어 특성을 식별하기 위해 캡처 클라이언트 장치로부터 수신된 미디어 스트림을 분석한다. 추가로, 미디어 스트림의 미디어 특성은 지속적으로 변화할 수 있기 때문에 미디어 특성 평가기(210)는 미디어 프레젠테이션 시스템(102)이 미디서 스트림을 수신하는 기간에 걸쳐 각 미디어 스트림에 대한 미디어 특성을 동적으로 모니터, 분석 및 식별할 수 있다.
미디어 특성 평가기(210)는 미디어 스트림에 대한 다수의 미디어 특성, 가령 비디오 특성, 오디오 특성 및/또는 메타데이터 특성을 결정할 수 있다. 설명을 위해, 미디어 특성 평가기(210)는 미디어 스트림에 대한 비디오 특성, 가령 비디오 해상도, 종횡비, 초당 프레임, 새로고침 빈도, 비디오 품질 등을 식별할 수 있다. 유사하게, 미디어 특성 평가기(210)는 미디어 스트림과 연관된 비디오 데이터로부터 취해진 비디오 특성을 식별할 수 있다. 예컨대, 미디어 특성 평가기(210)는 미디어 스트림으로부터 하나 이상의 비디오 특성(예컨대, 흐려짐, 흔들림, 초점, 색 구개음, 밝기, 콘트라스트 등)을 식별하기 위해 미디어 스트림을 분석할 수 있다.
비디오 특성에 추가로, 미디어 특성 평가기(210)는 미디어 스트림의 오디오 특성, 가령 오디오 품질, 선명도, 사운드 레벨, 노이즈 레벨, 간섭, 에코, 피드백 등을 식별 및/또는 감지할 수 있다. 추가로, 미디어 특성 평가기(210)는 미디어 스트림을 분석하고 미디어 스트림 내의 오디오의 전체 품질을 표현하는 복합 오디오 특성을 결정할 수 있다. 예컨대, 미디어 특성 평가기(210)가 미디어 스트림으로부터 오디오를 분석함에 따라 미디어 특성 평가기(210)는 복합 오디오 특성을 허용가능한 복합 오디오 특성을 정의하는 임계치와 비교한다. 대안으로 또는 추가로, 미디어 특성 평가기(210)는 개별 오디오 특성을 분석하고 이를 각 개별 오디오 특성과 관련되는 개별 임계 레벨과 비교할 수 있다.
또한 전술한 바와 같이, 미디어 특성 평가기(210)는 메타데이터 특성을 식별한다. 메타 데이터 특성의 예시는 미디어 스트림에 관한 정보, 가령 미디어 스트림이 실시간, 거의 실시간, 또는 반-실시간(예컨대, 2초, 5초, 10초를 넘어서서 지연 등)인지 여부, 미디어 스트림이 (예컨대, GPS, Wi-Fi, 삼각측량법을 통해) 캡처되는 위치나 장소, 미디어 스트림과 연관된 라벨 및 태그, 미디어 스트림을 제공하는 캡처 클라이언트 장치의 주방향(예컨대, 캡처 클라이언트 장치 상의 카메라의 방향), 캡처 클라이언트 장치에 대응하는 자이로스코프 정보(예컨대, 어떻게 캡처 클라이언트 장치가 3차원 공간 내에서 기울어지고, 롤링하고 아니면 이동하는지), 영향력 있는 사람이나 스폰서가 미디어 스트림을 제공하는지 여부 등을 포함한다. 메타데이터 특성의 추가 예시는 미디어 스트림의 타이밍(예컨대, 언제 미디어 스트림이 시작했는지), 미디어 스트림의 지속시간뿐만 아니라 미디어 스트림의 시청, 좋아요 등의 수를 포함한다.
일부 실시예로, 미디어 특성 평가기(210)는 또한, 미디어 스트림 내의 컨텐츠와 관련되는 미디어 특성을 결정할 수 있다. 예컨대, 미디어 특성 평가기(210)는 미디어 스트림이 식별가능한 특징, 가령 랜드마크, 잘 알려진 객체, 브랜드, 심볼, 동물 등을 포함하는지 여부를 결정하기 위해 객체나 특징 인식을 사용할 수 있다. 유사하게, 미디어 특성 평가기(210)는 미디어 스트림 내의 문자 및 단어를 인식하기 위해 광학 문자 인식(OCR)을 사용할 수 있다. 다른 예로, 미디어 특성 평가기(210)는 미디어 스트림이 하나 이상의 사람을 포함하는지 여부, 특히 미디어 스트림이 잘 알려진 사람, 가령 유명인이나 다른 영향력 있는 사람을 포함하는지 여부를 결정하기 위해 얼굴 인식을 사용할 수 있다. 또한, 일부 예시에서 미디어 특성 평가기(210)는 특정 소리나 사람(예컨대, 아나운서, 가수, 배우 등으로서)이 미디어 스트림 내에 캡처되는지 여부를 결정하기 위해 음성 인식을 사용할 수 있다.
일부 실시예로, 미디어 특성 평가기(210)는 미디어 스트림을 캡처하는 캡처 클라이언트 장치의 카메라 각도를 결정하기 위해 미디어 스트림 내의 컨텐츠를 분석한다. 예컨대, 미디어 특성 평가기(210)는 하나의 캡처 클라이언트 장치는 클로즈업 샷을 제공하는 한편 다른 캡처 클라이언트 장치는 동일한 대상물의 와이드-앵글 샷을 제공한다고 결정한다. 추가로, 미디어 특성 평가기(210)는 두 미디어 스트림이 양자 모두 동일한 방향을 가리키거나 및/또는 동일한 대상물의 클로즈업 샷을 제공하며 두 미디어 스트림이 대상물의 상이한 각도를 제공한다고 결정할 수 있다. 미디어 특성 평가기(210)는 이하의 설명에서 보다 명확해 지는 바와 같이 다양한 다른 타입의 미디어 특성을 평가한다.
미디어 특성 평가기(201)는 도 2에 도시되는 바와 같이 미디어 프레젠테이션 프로듀서(212)로 데이터를 제공할 수 있다. 미디어 프레젠테이션 프로듀서(212)는 하나 이상의 시청 사용자와 공유될 미디어 프레젠테이션 내에 포함시킬 프로덕션 미디어 스트림을 생성할 수 있다. 일반적으로, 미디어 프레젠테이션 프로듀서(212)는 하나 이상의 캡처 클라이언트 장치로부터 수신된 하나 이상의 미디어 스트림을 사용하여 프로덕션 미디어 스트림을 생성하며, 미디어 특성 평가기(210)에 의해 제공된 하나 이상의 미디어 스트림의 미디어 특성을 감안한다. 하나의 예시로, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림과 연관된 미디어 특성에 기반하여 미디어 프레젠테이션 내에 제공하기 위해 프로덕션 미디어 스트림을 생성하도록 미디어 스트림을 선택하고, 다른 예시에서, 미디어 프레젠테이션 프로듀서(212)는 둘 이상의 미디어 스트림과 연관된 미디어 특성에 기반하여 프로덕션 미디어 스트림을 생성하기 위해 둘 이상의 미디어 스트림을 선택 및 조합하거나 아니면 혼합할 수 있다.
미디어 프레젠테이션 프로듀서(212)가 미디어 스트림을 선택 및/또는 프로덕션 미디어를 생성하는 방식은 몇몇 인자에 기반하여 하나의 실시예에서 다음 실시예에 이르기 까지 다양할 수 있다. 하나 이상의 실시예로, 미디어 프레젠테이션 프로듀서(212)는, 하나 이상의 시청 사용자와 공유하기 위한 프로덕션 미디어 스트림을 생성하기 전에 미디어 스트림이 최소 프로덕션 기준에 맞추어지는지 여부를 결정하기 위해 가중된 알고리즘 내에서 미디어 스트림의 다수의 미디어 특성을 분석할 수 있다. 예컨대, 비디오를 포함하는 미디어 스트림이 너무 흔들리거나, 오디오가 너무 많은 배경 노이즈를 포함하거나, 또는 미디어 스트림을 제공하는 통신 신호가 약하다면, 미디어 프레젠테이션 프로듀서(212)는 미디어 프레젠테이션에 미디어 스트림을 포함하지 않는 것으로 결정할 수 있다. 이 경우, 미디어 프레젠테이션 프로듀서(212)는 미디어 프레젠테이션 내에 미디어 스트림을 공유하기 전에 미디어 스트림을 프로덕션 편집으로 강화하도록 결정할 수 있다. 추가로, 가중된 알고리즘을 사용하여, 미디어 프레젠테이션 프로듀서(212)는 양질의 미디어 스트림을 선택하고 프로덕션 편집이 아주 적거나 없는 양질의 미디어 스트림을 배포하도록 결정할 수 있다.
가중 알고리즘은 가치를 거의 갖지 않는 미디어 스트림을 배포하지 않음으로써 시청 사용자가 즐길 미디어 스트림을 배포하는 미디어 프레젠테이션 시스템의 능력을 최적화시킬 수 있다. 예컨대, 가중 알고리즘은 미디어 특성의 다른 타입에 비하여 더 높은 중요도를 비디오 품질 및 오디오 품질에 할당할 수 있다. 반면에 가중 알고리즘은 매우 높은 중요도를 캡처 사용자에 기반하여 할당할 수 있다. 예컨대, 유명한 캡처 사용자가 미디어 스트림을 제공한다면, 심지어 비디오 및/또는 오디오 품질이 낮은 경우더라도 사용자가 미디어 스트림에서 가치를 찾을 확률이 증가한다. 따라서, 각 미디어 특성에는 가중 알고리즘 내에 우선순위가 할당되어서 미디어 프레젠테이션 시스템이 시청 사용자에 대한 가치를 갖는 미디어 스트림을 배포하도록 할 수 있다. 하나 이상의 실시예로, 시청 사용자는 어떻게 미디어 프레젠테이션 프로듀서(212)가 특정 시청 사용자를 위해 미디어 프레젠테이션을 선택하고 생성하는 지를 맞춤화하기 위해 하나 이상의 미디어 특성에 우선순위를 설정할 수 있다.
전술한 바와 같이, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림의 프로덕션 품질을 향상시키기 위해 다수의 프로덕션 편집을 미디어 스트림에 적용할 수 있다. 일예시로, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림 내의 비디오의 흔들림을 감소시키기 위해 이미지 안정화 기술을 적용한다. 예컨대, 일부의 경우, 미디어 프레젠테이션 프로듀서(212)는 비디오를 평형상태로 유지하고 안정화시키기 위해 캡처 장치의 움직임을 표시하는 자이로스코프 정보를 사용한다. 다른 예로, 미디어 프레젠테이션 프로듀서(212)는 노이즈를 감소시키거나, 특정 주파수를 이퀄라이징하거나 및/또는 미디어 스트림 내의 음성의 볼륨을 증가시키기 위해 오디오 필터를 적용한다. 미디어 프레젠테이션 프로듀서(212)는 또한, 미디어 스트림의 프로덕션 품질을 향상시키기 위해 다른 편집 및 필터링 기술을 적용할 수 있다.
다른 예시로, 미디어 프레젠테이션 프로듀서(212)는 프로덕션 편집의 일부로서 미디어 스트림을 크롭핑할 수 있다. 예시적으로 미디어 프레젠테이션 프로듀서(212)는 정사각형 크롭핑을 미디어 스트림에 적용할 수 있다. 따라서, 미디어 프레젠테이션 프로듀서(212)가 16:9 종횡비의 미디어 스트림을 수신한다면, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림을 9:9 또는 1:1 종횡비로 크롭핑한다. 미디어 스트림을 크롭핑할 때, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림 내의 관련 컨텐츠에 계속 초점을 맞추기 위해 각 프레임에서 미디어 스트림 내에 크롭의 위치를 동적으로 조정할 수 있다. 예컨대, 미디어 스트림이 미디어 스트림 내에서 좌에서 우로 이동하는 스포츠 플레이를 캡처한다면, 크롭의 중심은 또한, 좌에서 우로 이동하여 스포츠 플레이를 캡처할 수 있다(예컨대, 비디오에서 풋볼을 따라간다).
추가로, 미디어 프레젠테이션 프로듀서(212)는 시청 클라이언트 장치의 능력 및/또는 배향에 기반하여 미디어 스트림을 크롭핑할지 여부를 결정할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 초기에 시청 사용자에게 정사각형 미디어 스트림을 제공할 수 있다. 미디어 스트림에 사용자가 초점을 맞추거나(예컨대, 미디어 스트림을 전체화면으로 만드는 사용자 입력을 제공하거나) 및/또는 그들의 시청 클라이언트 장치의 디스플레이를 길이방향으로 배향하면, 미디어 프레젠테이션 시스템(102)은 더 넓은 각도의 덜 크롭핑된 미디어 스트림을 시청 사용자에게 제공한다.
또한, 미디어 프레젠테이션 프로듀서(212)는 미디어 프레젠테이션 시스템(102)이 (예컨대, 미디어 특성 및/또는 미디어 스트림의 분석에 기반하여) 미디어 스트림에서 드래그를 감지한다면, 미디어 스트림으로부터 절단하여 미디어 스트림을 추가 컨텐츠로 보충할 수 있다. 예컨대, 미디어 프레젠테이션 프로듀서(212)가 미디어 스트림에서 장기간의 침묵 또는 지연(이벤트가 없는 컨텐츠 기간)을 감지하면, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림으로부터 하나 이상의 주목할 만한 순간을 재생할 수 있다. 예컨대, 미디어 스트림이 콘서트에 관한 것이고, 미디어 프레젠테이션 프로듀서(212)가 공연하는 예술가들 사이에서 휴기를 감지한다면, 미디어 프레젠테이션 프로듀서(212)는 아마도 상이한 각도를 보여주는 상이한 미디어 스트림으로부터의 하이라이트와 같은 이전의 예술가의 공연으로부터 하이라이트를 재생할 수 있다. 대안으로, 미디어 프레젠테이션 프로듀서(212)는 스폰서로부터의 미디어 스트림, 가령 광고를 삽입하거나 재생을 스폰서와 연관(예컨대, 이 재생은 스폰서에 의해 제공됩니다)시킬 수 있다.
그러나, 일부의 경우 심지어 미디어 프레젠테이션 프로듀서(212)가 미디어 스트림에 프로덕션 편집을 적용한 후에도 미디어 스트림 또는 미디어 스트림의 부분들은 여전히 미디어 스트림을 미디어 프레젠테이션에 추가하기 위한 최소 프로덕션 표준이나 품질 수준을 충족하지 못할 수 있다. 이러한 경우, 미디어 프레젠테이션 프로듀서(212)는 미디어 스트림의 품질이 너무 낮다고 캡처 사용자에게 알릴 수 있다. 추가로, 미디어 프레젠테이션 프로듀서(212)는 알림의 일부로서, 최소 표준을 충족시키지 못한 미디어 특성(들)을 제공할 수 있다(예컨대, 신호 강도가 너무 낮다는 알림). 대안으로, 프레젠테이션 프로듀서(212)는 미디어 스트림을 미디어 프레젠테이션에 추가할 수 있고 프로덕션 품질 레벨에 무관하게 미디어 프레젠테이션을 배포 관리자(214)에게 제공할 수 있다.
전술한 바와 같이, 하나 이상의 실시예에서 미디어 프레젠테이션 프로듀서(212)는 다수의 미디어 스트림을 사용함으로써 프로덕션 미디어 스트림을 생성한다. 예로서, 다수의 사용자가 동일한 이벤트에서 캡처되는 미디어 스트림을 제공한다면, 미디어 프레젠테이션 프로듀서(212)는 다수의 미디어 스트림 각각으로부터의 부분을 포함하는 이벤트의 프로덕션 미디어 스트림을 생성할 수 있다. 즉, 미디어 프레젠테이션 프로듀서(212)는 이벤트의 프로덕션 미디어 스트림을 생성하기 위해 다수의 미디어 스트림 각각 사이를 전환하거나 삭제할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 시청 사용자와 연관되는 클라이언트 장치와 미디어 스트림 연결을 확립할 수 있고, 미디어 프레젠테이션 프로듀서(212)는 클라이언트 장치와의 미디어 스트림 연결을 통해 다수의 미디어 스트림 각각을 제공하는 것을 교대할 수 있다.
프로덕션 미디어 스트림 생성시 어떤 미디어 스트림을 다수의 미디어 스트림으로부터 사용할 지를 결정함에 있어서 미디어 프레젠테이션 프로듀서(212)는 각 미디어 스트림의 미디어 특성을 고려할 수 있다. 예컨대, 두 캡처 사용자는 각각 콘서트에서 공연자의 미디어 스트림을 제공할 수 있다. (미디어 특성 평가기(210)와 관련하여 전술한) 미디어 스트림 각각에 대한 미디어 특성에 기반하여, 미디어 프레젠테이션 프로듀서(212)는 프로덕션 미디어 스트림을 위해 어떤 미디어 스트림을 사용할지를 결정한다. 예컨대, 미디어 프레젠테이션 프로듀서(212)는 두 미디어 스트림이 유사한 미디어 특성을 갖고 가령 미디어 프레젠테이션 프로듀서(212)가 두 미디어 스트림 각각의 사용을 주기적으로 전환한다고 결정할 수 있다.
다른 예시로, 미디어 프레젠테이션 프로듀서(212)는 제1 미디어 스트림이 제1 기간에 대해 더 나은 미디어 특성을 가지고, 제2 미디어 스트림이 제2 기간에 대해 더 나은 미디어 특성을 가진다고 결정할 수 있다. 이와 같이, 미디어 프레젠테이션 프로듀서(212)는 제1 기간 동안 제1 미디어 스트림을 사용하고 제2 기간에 대해 제2 미디어 스트림으로 전환한다. 추가로, 미디어 프레젠테이션 프로듀서(212)는 제1 미디어가 다시 제3 기간에 더 나은 미디어 특성을 가짐을 감지한다면, 미디어 프레젠테이션 프로듀서(212)는 제3 기간 동안 제1 미디어 스트림을 사용하는 것으로 다시 전환할 수 있다.
유사하게, 미디어 프레젠테이션 프로듀서(212)는 각 미디어 스트림에 대해 미디어 특성 평가기(210)로부터의 데이터 스트림 내에 제공되는 미디어 특성을 연속적으로 모니터할 수 있다. 데이터 스트림을 사용하여, 미디어 프레젠테이션 프로듀서(212)는 실시간 또는 근-실시간으로 프로덕션 미디어 스트림 내에 제공할 더 우수한 미디어 특성을 갖는 미디어 스트림을 선택할 수 있다. 따라서, 미디어 프레젠테이션 프로듀서(212)가 관련 미디어 스트림 사이에서 미디어 특성의 변화를 감지하는 경우, 미디어 프레젠테이션 프로듀서(212)는 현재 미디어 스트림이 계속 제공되어야 하는지 여부 또는 미디어 프레젠테이션 프로듀서(212)가 다른 미디어 스트림을 선택해야 하는지 여부를 동적으로 결정할 수 있다.
미디어 프레젠테이션 프로듀서(212)는 프로덕션 미디어 스트림 내에 제공하기 위해 하나의 미디어 스트림에서 다른 미디어 스트림으로 전환할지 여부를 결정할 때 다수의 인자를 고려할 수 있다. 일부 예시적 실시예로, 프로덕션 미디어 스트림 내에 제공하기 위해 관련 미디어 스트림의 그룹으로부터 미디어 스트림을 자동으로 선택하는 대신에 미디어 프레젠테이션 프로듀서(212)는 사용자가 프로덕션 미디어 스트림에 사용할 미디어 스트림을 선택하게 할 수 있다. 예컨대, 미디어 프레젠테이션 프로듀서(212)는 사용자와 연관된 클라이언트 장치로 다수의 관련 미디어 스트림의 표시를 제공할 수 있다. 이후 미디어 프레젠테이션 프로듀서(212)는 사용자가 시청할 미디어 스트림을 선택하도록 허용한다. 사용자 선택시에 미디어 프레젠테이션 프로듀서(212)는 선택된 미디어 스트림을 프로덕션 미디어 스트림으로 제공할 뿐만 아니라 선택된 미디어 스트림의 표시를 사용자에게 제공할 수 있다(예컨대, 특정 색상으로 선택된 미디어 스트림의 이미지를 아웃라인하거나 또는 다른 미디어 스트림의 크기에 대하여 선택된 미디어 스트림의 크기를 증가시킬 수 있다). 추가로, 사용자가 미디어 스트림을 선택한 후 미디어 프레젠테이션 프로듀서(212)는 클라이언트 장치로 미디어 스트림 각각을 계속 제공하여 사용자가 프로덕션 미디어 스트림에 사용할 다른 미디어 스트림으로 전환할 수 있도록 한다.
미디어 프레젠테이션이 단일 미디어 스트림 또는 다수의 미디어 스트림에 기반하는지 여부와 무관하게 하나 이상의 실시예로, 미디어 프레젠테이션 프로듀서(212)는 미디어 프레젠테이션과 연관된 미디어 스트림으로부터 주목할 만한 순간을 식별할 수 있다. 미디어 프레젠테이션 프로듀서(212)가 일단 미디어 스트림으로부터 주목할 만한 순간을 식별하면, 미디어 프레젠테이션 프로듀서(212)는 식별된 주목할 만한 순간을 캡처하는 미디어 세그먼트를 생성할 수 있다. 예시로, 미디어 프레젠테이션 프로듀서(212)는 동일한 축구 경기에서 세 명의 캡처 사용자로부터 세 개의 관련 미디어 스트림을 수신할 수 있다. 스포츠 이벤트 동안에 선수가 골을 넣는다면, 미디어 프레젠테이션 프로듀서(212)는 그 점수를 주목할 만한 이벤트로 식별하고 골을 캡처하는 각 미디어 스트림으로부터 미디어 세그먼트를 생성할 수 있다(예컨대, 각 미디어 스트림으로부터 하나씩 3개의 미디어 스트림을 생성할 수 있다). 후술되는 바와 같이, 미디어 프레젠테이션 프로듀서(212)는 리플레이나 하이라이트로서 미디어 프레젠테이션 내에 골을 보여주는 하나 이상의 미디어 세그먼트를 포함시킬 수 있다.
미디어 프레젠테이션 프로듀서(212)는 다양한 기술을 사용하여 주목할 만한 순간을 식별할 수 있다. 예컨대, 하나 이상의 실시예로, 미디어 프레젠테이션 프로듀서(212)는 이벤트 데이터 피드(예컨대, 스포츠 게임 점수 피드)를 모니터하고 주목할 만한 순간이 언제 발생하는지 감지할 수 있다. 예컨대, 미디어 프레젠테이션 프로듀서(212)는 이벤트 데이터 피드에 기반하여 홈런을 맞은 시간 프레임을 결정한다. 결정된 시간 프레임을 사용하여, 미디어 프레젠테이션 프로듀서(212)는 이후 동일한 시간 프레임과 연관된 미디어 스트림의 부분을 식별할 수 있다. 추가로 또는 대안으로, 캡처 사용자는 컨텐츠를 캡처하는 동안 주목할 만한 순간을 표시할 수 있고 캡처 사용자의 클라이언트 장치로부터 제공된 미디어 스트림은 주목할 만한 순간을 식별하는 메타데이터를 포함할 수 있다.
주목할 만한 순간을 식별하면, 미디어 프레젠테이션 프로듀서(212)는 해당 미디어 세그먼트를 생성할 수 있다. 각 미디어 세그먼트를 생성함에 있어서 미디어 프레젠테이션 프로듀서(212)는 미디어 프레젠테이션 데이터베이스(216)에 미디어 세그먼트뿐만 아니라 라벨을 저장할 수 있거나 및/또는 각 미디어 세그먼트를 분류할 수 있다. 이후, 시청 사용자는 특정 주목할 만한 순간의 시청을 요청할 수 있고, 미디어 프레젠테이션 프로듀서(212)는 시청 사용자에게 제공하기 위해 미디어 프레젠테이션 내의 특정 주목할만한 순간에 대응하는 하나 이상의 저장된 미디어 세그먼트를 식별할 수 있다.
하나 이상의 실시예로, 미디어 프레젠테이션 프로듀서(212)는 시청 사용자의 사용자 선호도 및/또는 프로필 속성에 기반하여 시청 사용자와 공유할 미디어 세그먼트를 식별한다. 예컨대, 시청 사용자가 특정 운동선수에게 관심이 있다면, 미디어 프레젠테이션 프로듀서(212)는 특정 운동선수를 특징으로 하는 미디어 세그먼트를 식별할 수 있다. 이러한 방식으로, 미디어 프레젠테이션 프로듀서(212)는 특정 미디어 스트림에 액세스를 요청하는 각 시청 사용자의 선호도에 따라 상이한 시청 사용자에 대한 상이한 미디어 세그먼트를 식별할 수 있다.
다시 도 2를 참조하면 전술한 바와 같이, 도 2는 미디어 프레젠테이션 시스템(102)이 배포 관리자(214)를 포함하는 것으로 도시한다. 초기 개요로서, 배포 관리자(214)는 미디어 프레젠테이션을 공유할 하나 이상의 시청 사용자를 포함하는 배포 대상을 결정한다. 일단 배포 관리자(214)가 배포 대상을 결정하면, 배포 관리자(214)는 배포 대상의 각 시청 사용자에 대응하는 하나 이상의 클라이언트 장치에 미디어 프레젠테이션을 제공한다. 추가로, 배포 관리자(214)는 이하에서 후술될 바와 같이 미디어 스트림 및/또는 미디어 프레젠테이션과 관련된 다양한 인자 및 특성에 기반하여 배포 대상을 동적으로 수정 또는 업데이트할 수 있다.
간략히 전술한 바와 같이, 배포 관리자(214)는 미디어 프레젠테이션에 대한 배포 대상을 결정한다. 일부 예시적인 실시예로, 배포 관리자(214)는 미디어 프레젠테이션의 하나 이상의 미디어 스트림의 미디어 특성 및/또는 미디어 프레젠테이션의 특성에 기반하여 배포 대상에 포함시킬 시청 사용자를 식별한다. 예컨대, 미디어 프레젠테이션 내의 프로덕션 미디어 스트림에 대한 미디어 특성이 낮은 품질의 미디어 스트림을 표시한다면, 배포 관리자(214)는 미디어 프레젠테이션의 배포를 제한할 수 있다. 예컨대, 배포 관리자(214)는 미디어 스트림을 캡처한 사용자와 가깝게 연결된 시청 사용자들만으로 미디어 프레젠테이션의 공유를 제한하거나, 또는 미디어 프레젠테이션이 다수의 관련 미디어 스트림으로부터 선택된 프로덕션 미디어 스트림을 포함한다면, 배포 관리자(214)는 미디어 프레젠테이션과 연관된 임의의 캡처 사용자와 가깝게 연결된 시청 사용자들로 미디어 프레젠테이션의 공유를 제한할 수 있다.
반면에 미디어 프레젠테이션 내의 미디어 스트림에 대한 미디어 특성이 수용가능한 품질 레벨을 표시한다면, 배포 관리자(214)는 배포 대상 내의 시청 사용자의 수를 증가시킬 수 있다. 예컨대, 배포 관리자(214)는 캡처 사용자 사이에서 다수의 이격도를 갖는 시청 사용자들에게 미디어 스트림을 제공할 수 있거나, 또는 일부 예시에서 배포 관리자는 캡처 사용자와의 연결을 갖지 않는 시청 사용자를 배포 대상에 포함시킬 수 있다.
품질 타입 미디어 특성에 추가로 배포 관리자(214)는 다양한 다른 타입의 미디어 특성에 기반하여 배포 대상에 포함시킬 사용자를 식별할 수 있다. 하나 이상의 실시예로, 배포 관리자(214)는 미디어 프레젠테이션에 대응하는 특정 기준을 충족하는 시청 사용자를 식별함으로써 배포 대상을 결정한다. 예컨대, 배포 관리자(214)는 미디어 스트림과 연관되는 지리적 위치의 정의된 근접도 내에 지리적으로 위치하는 시청 사용자들(예컨대, 동일한 장소에 있는 시청 사용자들)을 식별할 수 있다. 추가로, 배포 관리자(214)는 시청 사용자가 정의된 연령 범위 내에 있음, 캡처 사용자와 동일하거나 유사한 관심사와 연관됨, 미디어 프레젠테이션과 연관된 특정 미디어 프레젠테이션 채널을 구독함 및/또는 사용자 선호도에 기반하여 배포 대상에 포함시킬 시청 사용자를 식별할 수 있다.
미디어 스트림에 대한 미디어 특성이 시간에 따라 변화함에 따라 배포 관리자(214)는 어떤 시청 사용자가 배포 대상에 포함될 지를 동적으로 변경할 수 있다. 예컨대, 미디어 특성의 변화에 기반하여, 배포 관리자(214)는 특정 미디어 프레젠테이션에 대한 배포 대상 내의 시청 사용자의 수를 증가시킬 수 있다. 유사하게, 미디어 특성의 변화에 기반하여 배포 관리자(214)는 특정 미디어 프레젠테이션에 대한 배포 대상 내의 시청 사용자의 수를 감소시킬 수 있다. 하지만, 배포 관리자(214)가 배포 대상의 크기를 감소시키는 경우에 배포 관리자(214)는 항상 활발하게 미디어 프레젠테이션을 경험하는 시청 사용자를 식별할 수 있고, 배포 대상 내에 미디어 프레젠테이션을 활발하게 경험하는 식별된 시청 사용자를 유지할 수 있다.
배포 대상의 크기를 증가시키기 위해 배포 관리자(214)는 다양한 방법에 기반하여 추가 시청 사용자를 식별할 수 있다. 하나 이상의 실시예로, 예컨대, 배포 관리자(214)는 미디어 프레젠테이션을 경험하는 각 시청 사용자와 연관되는 사용자를 식별함으로써 추가 시청 사용자를 식별할 수 있다. 예컨대, 특정 시청 사용자가 미디어 프레젠테이션을 경험하면, 배포 관리자(214)는 특정 시청 사용자와 연결되는 추가 사용자를 식별하고 추가할 수 있다. 따라서, 더 많은 시청 사용자가 미디어 프레젠테이션을 경험함에 따라 배포 대상은 자연스럽게 커나간다. 시청 사용자가 컨텐츠를 경험하는 것에 기반하여 배포 대상에 추가 사용자를 추가하는 것에 추가하여 배포 관리자(214)는 또한, 연령 범위를 수정하거나, 관심사 카테고리를 확장하거나 아니면 더 많은 시청 사용자가 배포 대상 내에 속할 기회를 증가시킬 수 있다.
예컨대, 일부 예시적 실시예로, 배포 관리자(214)는 미디어 프레젠테이션에 현재 액세스하는 사용자로부터 수신된 피드백 및 상호작용에 기반하여 배포 대상 내에 어떤 사용자를 포함시킬 지를 결정한다. 상호작용 및 피드백은 미디어 프레젠테이션 또는 미디어 프레젠테이션 내의 미디어 스트림의 시청, 좋아요, 코멘트, 업 또는 다운 투표 등을 포함할 수 있다. 예시적으로, 미디어 프레젠테이션이 제공된 시청 사용자의 절반이 넘는 수가 미디어 프레젠테이션을 "좋아요"한다고 보고한다면, 배포 관리자(214)는 일반적으로 시청 사용자가 미디어 프레젠테이션에 관심이 있을 것이라고 결정할 수 있다. 결과적으로 배포 관리자(214)는 미디어 프레젠테이션을 추가 시청 사용자에게 제공할 수 있다. 따라서, 미디어 프레젠테이션으로의 액세스를 갖는 시청 사용자로부터의 피드백에 기반하여 배포 관리자(214)는 미디어 프레젠테이션에 액세스할 수 있는 시청 사용자의 수를 증가, 감소 또는 유지시킬 지를 결정할 수 있다.
하나 이상의 실시예로, 배포 관리자(214)는 특정 미디어 프레젠테이션이 미디어 프레젠테이션 시스템(102)의 거의 모든 사용자에게 관심이 있을 것이라고 예측한다. 따라서, 배포 관리자(214)는 배포 대상이 특정 미디어 프레젠테이션을 경험할 수 있는 모든 시청 사용자를 필수적으로 포함한다고 결정할 수 있다(예컨대, 연령/컨텐츠 제한에 기반하여, 시스템 상의 모든 시청 사용자는 예측된 레벨의 관심도와 무관하게 배포 대상의 일부가 아닐 수 있다). 이러한 방식으로, 미디어 프레젠테이션 시스템(102)은 특정 미디어 프레젠테이션의 스트리밍 동안에 가능한 한 많은 시청 사용자에게 매우 흥미롭고 관련성이 있는 컨텐츠를 배포할 수 있다.
시청 사용자에게 미디어 프레젠테이션을 제공할 때, 배포 관리자(214)는 다양한 배포 채널을 통해 미디어 프레젠테이션을 배포할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)의 사용자에게 미디어 프레젠테이션을 배포하는 것에 추가하여 일부 실시예로, 배포 관리자(214)는 다른 시스템 또는 애플리케이션 가령, 소셜 네트워킹 시스템, 메시징 애플리케이션 및/또는 다른 시스템이나 애플리케이션으로 미디어 프레젠테이션을 배포한다. 예컨대, 배포 관리자(214)는 (예컨대, 소셜 네트워킹 시스템을 통해 직접 또는 소셜 네트워킹 시스템 내에 미디어 프레젠테이션 시스템(102)을 통합하는 플러그인을 통해) 캡처 사용자와 연결된 하나 이상의 소셜 네트워킹 사용자들에게 소셜 네트워킹 시스템을 통해 미디어 프레젠테이션을 배포할 수 있다. 일부의 경우, 배포 관리자(214)는 소셜 네트워킹 시스템을 통해 하나 이상의 소셜 네트워킹 사용자들의 뉴스피드 상에 미디어 프레젠테이션을 게시할 수 있다.
도 2에 도시되는 것처럼, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 데이터베이스(216)를 포함한다. 미디어 프레젠테이션 데이터베이스(216)는 미디어 스트림과 미디어 세그먼트를 포함하는 미디어 프레젠테이션을 저장할 수 있다. 미디어 프레젠테이션 데이터베이스(216)는 또한, 미디어 프레젠테이션과 연관된 메타데이터, 가령 각 미디어 프레젠테이션에 액세스하거나 이를 시청한 사용자들의 수, 각 미디어 프레젠테이션과 연관된 캡처 사용자, 날짜 정보, 인가 정보, 사용자 선호도 정보, 및 미디어 프레젠테이션과 연관된 임의의 다른 정보를 저장할 수 있다.
미디어 프레젠테이션 데이터베이스(216)에 추가로 도 2에 도시되는 바와 같이, 미디어 프레젠테이션 시스템(102)은 사용자 프로필 데이터베이스(218)를 포함한다. 미디어 프로필 데이터베이스(218)는 미디어 프레젠테이션 시스템(102)의 각 사용자에 대응하는 사용자 정보를 저장할 수 있다. 사용자 프로필 데이터베이스(218)는 미디어 프레젠테이션 시스템(102)의 각 사용자에 대한 사용자 프로필을 포함할 수 있다. 사용자 프로필은 인명 정보, 인구학적 정보, 행동 정보, 소셜 정보, 또는 가령 이력, 학력, 취미 또는 선호도, 관심사, 친밀도, 및/또는 위치와 같은 다른 타입의 기술적 정보를 포함할 수 있으나 이들로 제한되지 않는다. 전술한 바와 같이, 사용자 프로필 정보는 소셜 네트워킹 시스템에 의해 저장된 사용자에 대한 대응하는 프로필 정보로 링크될 수 있다.
또한, 사용자 프로필 데이터베이스(218)는 각 사용자와 연관되는 선호도 설정 정보를 저장할 수 있다. 예컨대, 미디어 프레젠테이션 시스템은 사용자가 디폴트 선호도를 (예컨대, 사용자 선호도 설정 인터페이스를 통해) 설정하도록 허용할 수 있다. 예시적인 사용자 선호도 설정은 사용자가 캡처하는 미디어 프레젠테이션에 적용하기 위한 사용자-정의된 디폴트 공유 선호도와 관련될 수 있다. 하나 이상의 실시예로, 예컨대, 사용자는 시청 사용자의 하나 이상의 특성, 가령 연령, 성별, 관심사 등에 기반하여 미디어 프레젠테이션에 적용할 디폴트 선호도를 정의할 수 있다.
도 2로 돌아가서, 미디어 프레젠테이션 시스템(102)은 임의의 수의 클라이언트 장치(들)(204)과 통신할 수 있다. 설명의 목적을 위해, 오로지 하나의 클라이언트 장치(204)가 기술될 것이지만, 기술되는 원리는 임의의 수의 사용자들과 연관된 복수의 클라이언트 장치에 적용될 수 있다. 추가로, 도 2에 도시된 클라이언트 장치(204)는 시청 클라이언트 장치 또는 캡처 클라이언트 장치를 표현할 수 있다. 즉, 도 2와 관련하여 기술된 클라이언트 장치(204)는 미디어를 캡처하고, 미디어 스트림 내의 캡처된 미디어를 사용자에 대한 미디어 프레젠테이션으로 제공하는 것뿐만 아니라 미디어 프레젠테이션을 사용자에게 제시하고 수신하는 능력을 가진다.
도 2에 도시되는 바와 같이, 클라이언트 장치(204)는 사용자 입력 감지기(220), 사용자 인터페이스 관리자(222), 미디어 캡처기(224), 미디어 프레젠테이션 관리자(226) 및 저장 관리자(228)를 포함할 수 있으나, 이들로 제한되지 않는다. 저장 관리자(228)는 미디어 프레젠테이션(230) 및 사용자 선호도(232)를 포함할 수 있다. 클라이언트 장치(204)의 각 컴포넌트는 클라이언트 장치(204)로 하여금 본 명세서에 기술된 프로세스를 수행하도록 야기하는 명령어를 실행하는 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치를 사용하여 구현될 수 있다. 하나 이상의 실시예로, 다양한 컴포넌트는 클라이언트 장치(204) 상에 설치되고 실행되는 하나 이상의 애플리케이션을 사용하여 구현된다. 일부 실시예로, 클라이언트 장치(204)의 컴포넌트는 클라이언트 장치 단독으로 구현되거나 또는 다수의 컴퓨팅 장치들에 걸쳐 구현될 수 있다. 특정 수의 컴포넌트들이 도 2에 도시되지만, 클라이언트 장치(204)는 더 많은 컴포넌트를 포함할 수 있거나 특정 구현에 대해 원하는 바에 따라 더 작은 수의 컴포넌트(가령, 단일 컴포넌트)로 컴포넌트들을 조합할 수 있다.
전술한 바와 같이, 클라이언트 장치(204)는 사용자 입력 감지기(220)를 포함한다. 사용자 입력 감지기(220)는 사용자 입력을 결정하기 위해 사용자 인터페이스와의 사용자 상호작용을 감지할 수 있다(예컨대, 사용자 인터페이스의 상호작용형 요소에 대응하는 터치 스크린 상의 터치 제스처를 감지할 수 있다). 더 구체적으로는, 사용자 입력 감지기(220)는 사용자 상호작용을 감지, 식별 및/또는 수신할 수 있고, 사용자 상호작용을 사용자 입력(예컨대, 사용자 명령이나 요청)으로 변환할 수 있다. 본 명세서에서 언급된 바와 같이, "사용자 상호 작용"은 하나 이상의 입력 장치를 통해 사용자로부터 수신된 단일 상호작용 또는 상호작용들의 조합을 의미한다. 일부 실시예로, 사용자 입력 감지기(220)는 사용자 상호작용들의 조합을 단일 사용자 입력으로 변환하거나 및/또는 단일 사용자 상호작용을 다수의 사용자 입력으로 변환할 수 있다.
예컨대, 사용자 입력 감지기(220)는 키보드, 마우스, 터치 스크린 또는 임의의 다른 입력 장치로부터 사용자 상호작용을 감지할 수 있다. 터치 스크린이 입력 장치로 사용되는 경우 사용자 입력 감지기(220)는 사용자가 터치 스크린으로 제공하는 하나 이상의 터치 제스처(예컨대, 스와이프 제스처, 탭 제스처, 핀치 제스처, 또는 역-핀치 제스처)를 감지할 수 있다. 하나 이상의 실시예로, 사용자는 터치 스크린 상에 제시되는 사용자 인터페이스의 하나 이상의 그래픽 객체, 아이템 또는 요소와 관련되거나 및/또는 이들로 향하는 하나 이상의 터치 제스처를 제공할 수 있다. 사용자 입력 감지기(220)는 추가적으로 또는 대안으로, 사용자 상호 작용을 나타내는 데이터를 수신할 수 있다. 예컨대, 사용자 입력 감지기(220)는 사용자로부터의 하나 이상의 사용자 구성가능한 파라미터, 사용자로부터의 하나 이상의 사용자 명령 및/또는 임의의 다른 적절한 사용자 입력을 수신할 수 있다.
전술한 바와 같이, 클라이언트 장치(204)는 사용자 인터페이스 관리자(222)를 포함할 수 있다. 하나 이상의 실시예로, 사용자 인터페이스 관리자(222)는 사용자 인터페이스의 사용을 관리, 제어 및/또는 용이화하기 위해 사용자 (또는 사용자 입력을 시뮬레이션하는 입력)으로부터 수신된 사용자 입력 및/또는 다른 데이터를 이용할 수 있다. 일반적으로, 사용자 인터페이스 관리자(222)는 사용자가 미디어 프레젠테이션 시스템(102)의 특징 및 이점에 액세스하도록 허용하기 위한 목적으로 그래픽 사용자 인터페이스 (또는 단순히 "사용자 인터페이스")의 프레젠테이션을 (예컨대, 클라이언트 장치(204)와 연관된 디스플레이 스크린에 의해) 용이하게 만들 수 있다. 특히, (예컨대, 사용자 인터페이스 감지기(220)에 의해 감지된) 사용자 입력에 응답하여, 사용자 인터페이스 관리자(222)는 사용자가 사용자 인터페이스를 제어하여 미디어 프레젠테이션을 시청, 내비게이션, 브라우징, 검색, 편집, 기여, 공유, 재-공유 및/또는 그렇지 않다면 경험하도록 허용할 수 있다. 또한, 사용자 인터페이스 관리자(222)는 사용자가 미디어 프레젠테이션 피드 내의 미디어 프레젠테이션 사이에서 내비게이션할 뿐만 아니라 미디어 프레젠테이션 내에 포함시킬 미디어를 캡처하기 위해 상호작용하는 그래픽 요소를 디스플레이할 수 있다.
캡처 사용자의 관점에서, 일부 예시적 실시예로, 인터페이스 관리자(222)는 클라이언트 장치(204)에 의해 현재 캡처되고 미디어 프레젠테이션 시스템으로 미디어 스트림으로서 제공되는 미디어를 디스플레이할 수 있다. 예컨대, 사용자가 미디어 스트림에 대한 미디어를 캡처할 때, 인터페이스 관리자(222)는 미디어가 캡처됨에 따라 미디어를 제시할 수 있다. 인터페이스 관리자(222)는 미디어 스트림의 제공과 연관되는 추가 그래픽 요소, 가령 미디어 스트림에 대한 개인정보 레벨의 선택, 캡처된 미디어 컨텐츠로의 하나 이상의 미디어 강화사항의 적용 등을 더 제공할 수 있다.
시청 사용자의 관점에서, 인터페이스 관리자(222)는 또한, 미디어 스트림에 대한 미디어를 캡처하는 사용자와 연계하여 디스플레이 상에 사용자 인터페이스 요소를 디스플레이할 수 있다. 예시적으로, 사용자 인터페이스 관리자(222)는 클라이언트 장치(204)(예컨대, 디스플레이 스크린)상에 하나 이상의 미디어 프레젠테이션 및/또는 그래픽 요소의 디스플레이를 용이하게 만드는 사용자 인터페이스를 제공할 수 있다. 하나 이상의 실시예로, 사용자 인터페이스 관리자(222)는 사용자가 미디어 프레젠테이션 피드 내에서 내비게이션함에 따라 사용자 인터페이스를 제시할 수 있다. 추가로, 사용자 인터페이스 관리자(222)는, 전술한 바와 같이 하나 이상의 스와이프 제스처를 터치 스크린으로 제공함으로써, 사용자가 미디어 프레젠테이션 피드를 통해 스크롤링함에 따라 사용자 인터페이스의 디스플레이를 변경할 수 있다.
하나 이상의 실시예로, 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션으로 표현하기 위해 미디어 프레젠테이션의 썸네일이나 프리뷰를 디스플레이할 수 있다. 예컨대, 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션으로부터의 이미지(예컨대, 표현 프레임), 가령 미디어 프레젠테이션을 표현하기 위한 미디어 프레젠테이션 내의 미디어 스트림의 제1 이미지를 디스플레이할 수 있다. 대안으로, 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션이 진행함에 따라 더 최신의 프레임으로 썸네일을 업데이트하여 썸네일이 미디어 스트림 내의 현재 미디어를 더 잘 표현하도록 할 수 있다.
일부 예시적 실시예로, 사용자는 미디어 프레젠테이션 피드를 향하는 하나 이상의 스와이프 제스처를 사용자 인터페이스를 디스플레이하는 터치 스크린을 통해 제공함으로써 미디어 프레젠테이션 피드와 상호작용한다. 사용자가 하나 이상의 스와이프 제스처를 제공하는 것에 응답하여, 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션 피드 내에서 다수의 미디어 프레젠테이션을 통해 내비게이션할 수 있다. 대안적 실시예로, 사용자 인터페이스 관리자(222)는 사용자가 다른 내비게이션 기술, 가령 미디어 프레젠테이션을 통해 뒤집는 것(예컨대, 상이한 미디어 프레젠테이션에 대응하는 각 페이지로 페이지의 그래픽 표현을 돌리는 것)을 사용하여 미디어 프레젠테이션 피드를 내비게이션하도록 허용할 수 있다.
사용자가 미디어 프레젠테이션 피드를 수동으로 내비게이션 또는 브라우징하도록 허용하는 것에 추가로, 하나 이상의 실시예에서 사용자 인터페이스 관리자(222)는 사용자에게 미디어 프레젠테이션을 제시한다. 특히, 사용자 인터페이스 관리자(222)는 클라이언트 장치(204)의 디스플레이 상에 하나 이상의 미디어 스트림을 포함하는 미디어 프레젠테이션을 재생할 수 있다. 예컨대, 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션 피드 내의 미디어 프레젠테이션과 관련하여 사용자가 선택(예컨대, 탭 터치 제스처를 제공)하는 것에 응답하여 미디어 프레젠테이션을 제시할 수 있다. 본 명세서에 기술되는 것처럼, 미디어 프레젠테이션 관리자(226)는 사용자 인터페이스 관리자(222)가 시청 사용자에게 제시하기 위한 하나 이상의 미디어 스트림 및/또는 하나 이상의 미디어 세그먼트를 포함하는 미디어 프레젠테이션을 제공할 수 있다.
하나 이상의 실시예로, 사용자 인터페이스 관리자(222)는 클라이언트 장치(204)로 하여금 사용자가 미디어 프레젠테이션과 연관된 미디어 특성과 관련될 수 있는 다양한 사용자 입력에 기반하여 특정 미디어 프레젠테이션에 대해 검색하도록 허용하는 검색 인터페이스를 제시하도록 야기할 수 있다. 하나 이상의 실시예로, 예컨대, 사용자는 캡처 사용자(예컨대, 사용자이름, 연락처 정보, 전화번호, 이메일 주소, 또는 다른 식별자), 미디어 프레젠테이션 컨텐츠(예컨대, 프레젠테이션 내에 태그된 사용자, 프레젠테이션의 주제), 미디어 프레젠테이션의 제목, 미디어 프레젠테이션과 연관된 위치 및/또는 미디어 프레젠테이션의 임의의 다른 식별가능한 미디어 특성에 기반하여 미디어 프레젠테이션을 검색할 수 있다. 예컨대, 사용자 인터페이스 관리자(222)는 질의 입력 필드, 제안된 검색 용어의 디스플레이를 제공할 수 있거나 및/또는 사용자의 검색 질의에 응답하여 식별된 결과 미디어 프레젠테이션에 기반하여 미디어 프레젠테이션의 피드를 제공할 수 있다.
사용자가 미디어 프레젠테이션 피드 내에 복수의 미디어 프레젠테이션을 브라우징, 검색 또는 내비게이션하도록 허용하는 것에 추가로, 일부 예시적 실시예에서 사용자 인터페이스 관리자(222)는 미디어 프레젠테이션이 게시되거나 업데이트될 때 사용자에게 알림을 제시할 수 있다. 인터페이스 관리자(222)는 알림을 경고, 메시지, 배너, 아이콘, 소리 등으로 제시할 수 있다. 추가로, 인터페이스 관리자(222)는 제한된 수의 알림만을 디스플레이할 수 있을 뿐만 아니라 오로지 특정 미디어 프레젠테이션, 가령 사용자가 참여 중이거나 사용자가 팔로우하는 캡처 사용자들로부터의 미디어 프레젠테이션 등에 대해서만 알림을 디스플레이할 수 있다.
도 2에 도시되는 것처럼 그리고 전술한 바와 같이 클라이언트 장치(204)는 미디어 캡처기(224)를 포함한다. 일반적으로, 미디어 캡처기(224)는 사용자가 미디어를 캡처하거나 아니면 획득하고 캡처된 미디어를 미디어 스트림을 통해 다른 컴퓨팅 장치로 제공하는 것을 돕는다. 예컨대, 미디어 캡처기(224)는 미디어를 캡처하고 캡처된 미디어를 미디어 스트림에서 미디어 프레젠테이션 시스템(102)으로 제공하기 위해 클라이언트 장치(204)의 하나 이상의 컴포넌트를 사용한다. 특히, 미디어를 캡처하기 위해 미디어 캡처기(224)는 이미지, 비디오 및/또는 오디오를 캡처하기 위해 클라이언트 장치(204) 상의 카메라 및/또는 마이크 (존재한다면)를 사용할 수 있다. 예컨대, 미디어 캡처기(224)는 사용자가 클라이언트 장치(204)를 사용하여 오디오를 갖는 비디오를 캡처하고 이후 오디오를 갖는 비디오를 미디어 스트림을 통해 미디어 프레젠테이션 시스템(102)에 제공하도록 허용할 수 있다.
일부 예시적인 실시예로, 미디어 캡처기(224)는 사용자에게 캡처 설정 또는 미디어 캡처를 위한 선호도를 수정하는 능력을 제공할 수 있다. 예컨대, 미디어 캡처기(224)는 사용자가 줌을 변경하거나, 비디오를 캡처하는 동안 정지 이미지를 취하거나, 오디오를 음소거/일시정지 하거나, 일정한 특징을 적용하는 등을 허용할 수 있다. 편집의 추가적인 예시는 테마 적용, 색칠, 텍스트나 그래픽의 추가 등을 포함한다. 예시적으로, 미디어 캡처기(224)는 사용자가 미디어 세그먼트에 텍스트를 추가하도록 하기 위한 하나 이상의 옵션을 용이하게 만들 수 있다. 미디어가 캡처됨에 따라 사용자가 미디어에 적용할 수 있는 편집의 추가 예시가 이하에서 설명된다.
미디어를 캡처한 후 미디어 캡처기(224)는 미디어 스트림을 통해 미디어 프레젠테이션 시스템(102)으로 미디어를 제공할 수 있다. 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 수신하거나, 미디어 스트림에 대한 미디어 특성을 결정하거나, 미디어 스트림을 미디어 프레젠테이션 내에 포함시키거나, 배포 대상을 식별하거나, 및/또는 미디어 프레젠테이션을 배포 대상 내의 시청 사용자들에게 배포할 수 있다. 예컨대, 미디어 캡처기(224)는 도 12를 참조하여 이하에서 설명되는 하나 이상의 통신 기술 또는 프로토콜을 사용하여 미디어 프레젠테이션 시스템(102)으로 미디어 스트림의 송신을 용이하게 만들거나 그렇지 않으면 미디어 스트림을 제공할 수 있다. 추가로, 하나 이상의 실시예로, 미디어 캡처기(224)는 미디어 캡처기(224)가 미디어 스트림을 제공하는 효율 및/또는 속도를 증가시키기 위해 미디어 스트림의 전송 전 미디어를 압축, 인코딩, 변경하거나 그렇지 않다면 수정할 수 있다. 추가로, 클라이언트 장치(204)는 클라이언트 장치(204)에 가령, 미디어 프레젠테이션 데이터베이스(216) 내에 미디어 스트림의 사본을 저장할 수 있다.
미디어 캡처기(224)에 추가로, 도 2는 클라이언트 장치(204)가 미디어 프레젠테이션 관리자(226)를 포함하는 것으로 또한, 도시한다. 일반적으로, 미디어 프레젠테이션 관리자(226)는 미디어 프레젠테이션 피드 내의 미디어 프레젠테이션을 조직화한다. 추가로, 미디어 프레젠테이션 관리자(226)는 사용자 입력에 응답하여 사용자로의 하나 이상의 미디어 프레젠테이션의 제시를 용이하게 만든다. 추가로, 미디어 프레젠테이션 관리자(226)는 사용자가 미디어 프레젠테이션 내에서 내비게이션하는 것을 돕는다. 예컨대, 미디어 프레젠테이션 관리자(226)는 사용자가 단일 미디어 프레젠테이션 내에 제공되는 다수의 미디어 스트림을 시청하는 것들 사이에서 선택하거나 및/또는 미디어 프레젠테이션으로부터의 이전의 미디어 세그먼트를 시청하는 것을 가능하게 할 수 있다. 미디어 프레젠테이션 관리자(226)에 관한 부가적인 세부사항이 이제 제공될 것이다.
하나 이상의 실시예로, 미디어 프레젠테이션 관리자(226)는 미디어 프레젠테이션 시스템(102)으로부터 수신된 정보에 기반하여 미디어 프레젠테이션 피드 내의 미디어 프레젠테이션을 조직화한다. 예컨대, 미디어 프레젠테이션 관리자(226)는 각 미디어 프레젠테이션의 타임스탬프(예컨대, 생성 날짜, 최근 수정 시간 등)에 따라, 가령 프레젠테이션 리스트로 미디어 프레젠테이션 피드 내의 미디어 프레젠테이션을 정렬할 수 있다. 예시적으로, 새로운 미디어 프레젠테이션이 사용자와 공유되는 경우 미디어 프레젠테이션 관리자(226)는 더 오래된 미디어 프레젠테이션 이전에 미디어 프레젠테이션을 디스플레이하기 위해 미디어 프레젠테이션 피드를 정렬할 수 있다. 대안으로, 미디어 프레젠테이션 관리자(226)는 다른 기준, 가령 미디어 프레젠테이션 제목, 카테고리, 미디어 프레젠테이션의 연령, 프레젠테이션 길이, 기여자(예컨대, 캡처 사용자), 즐겨찾기로서의 사용자 표시 등에 기반하여 미디어 프레젠테이션 피드를 정렬하거나 또는 순위화할 수 있다. 일부 예시적인 실시예로, 미디어 프레젠테이션 관리자(226)는 사용자가 사용자 선호도를 통해 어떻게 미디어 프레젠테이션 관리자(226)가 미디어 프레젠테이션 피드를 조직화하거나, 정렬하거나, 및/또는 순위화할 지를 정의하도록 할 수 있다.
미디어 프레젠테이션 관리자(226)는 일반적으로 단일 미디어 프레젠테이션 피드를 제공하는 한편, 대안의 실시예에서, 미디어 프레젠테이션 관리자(226)는 클라이언트 장치(204)에서 다수의 미디어 프레젠테이션 피드를 제공할 수 있다. 예컨대, 미디어 프레젠테이션 관리자(226)는 친구들 사이에서 공유되는 미디어 프레젠테이션 피드 및 가족들 사이에서 공유되는 미디어 프레젠테이션 피드를 제시할 수 있다. 추가로, 미디어 프레젠테이션 관리자(226)는 카테고리, 테마, 토픽, 생성자, 기여자, 생성 날짜 등에 의해 정렬되는 다수의 미디어 프레젠테이션 피드를 제공할 수 있다. 하나 이상의 실시예로, 미디어 프레젠테이션 관리자(226)는 각각 사용자가 구독하기를 선택한 미디어 프레젠테이션 채널을 표현하는 다수의 미디어 프레젠테이션 피드를 제공할 수 있다.
적어도 일부 예시에서, 미디어 프레젠테이션 관리자(226)는 한번에 하나의 미디어 프레젠테이션을 사용자에게 제시(예컨대, 재생)할 수 있다. 예컨대, 미디어 프레젠테이션 관리자(226)는 한번에 사용자에게 하나의 미디어 프레젠테이션을 완전히 디스플레이할 수 있고, 따라서 완전히 디스플레이되는 미디어 프레젠테이션을 재생한다. 하지만, 일부 예시적 실시예에서 미디어 프레젠테이션 관리자(226)는 하나보다 많은 미디어 프레젠테이션을 사용자에게 디스플레이할 수 있다. 이러한 실시예에서, 미디어 프레젠테이션 관리자(226)는 어떤 미디어 프레젠테이션(들)을 재생할지를 결정하거나 또는 사용자가 어떤 프레젠테이션(들)을 재생할지를 표시하도록 허용할 수 있다.
예컨대, 사용자가 미디어 프레젠테이션 피드로부터 미디어 프레젠테이션 선택하는 것에 기반하여, 미디어 프레젠테이션 관리자(226)는 미디어 프레젠테이션을 사용자에게 제공할 수 있다. 더 구체적으로는, 미디어 프레젠테이션 관리자(226)는 미디어 스트림, 가령 프로덕션 미디어 스트림으로부터의 미디어를 사용자에게 제시할 수 있다. 다수의 경우 프로덕션 미디어 스트림은 실시간 컨텐츠를 제공하는 실시간 미디어 스트림일 것이다. 상술한 바와 같이, 미디어 스트림은 일반적으로 실시간 미디어 스트림, 반-실시간 미디어 스트림, 또는 근-실시간 미디어 스트림을 지칭하며, 뒤의 두 개의 후자는 프로세싱, 송신 및 프로덕션상의 이유로 인해 다소 지연된 미디어 스트림들의 예시가 된다. 예컨대, 근-실시간 또는 반-실시간 미디어 스트림은 실시간 행위가 실제로 발생한 때로부터 2초 내지 10초 또는 그 이상 지연될 수 있다.
사용자에게 미디어 프레젠테이션을 제공함에 있어서, 미디어 프레젠테이션 관리자(226)는 내비게이션 도구를 사용자에게 제공할 수 있다. 예컨대, 미디어 프레젠테이션 관리자(226)는 사용자가 미디어 프레젠테이션으로부터 주목할만한 순간을 액세스하고 시청하도록 하기 위한 선택가능한 옵션을 제공한다. 사용자가 주목할 만한 순간에 액세스하고 시청하는 옵션을 선택할 때, 클라이언트 장치(204)는 선택된 주목할 만한 순간에 대응하는 하나 이상의 미디어 세그먼트를 사용자에게 제공하기 위한 요청을 미디어 프레젠테이션 시스템(102)으로 전송할 수 있다. 이에 응답하여, 미디어 프레젠테이션 시스템(102)은 클라이언트 장치(204)에 미디어 프레젠테이션의 일부(예컨대 미디어 스트림의 일부 또는 별개의 파일)로서 하나 이상의 미디어 세그먼트를 제공할 수 있고, 클라이언트 장치(204)는 미디어 세그먼트를 사용자에게 제공할 수 있다.
주목할 만한 순간에 대응하는 미디어 세그먼트를 요청하고 수신하는 것에 추가로 사용자가 미디어 프레젠테이션을 선택할 때, 미디어 프레젠테이션 관리자(226)는 사용자에게 이용가능하다면, 미디어 프레젠테이션으로부터의 하나 이상의 미디어 스트림을 시청하기 위한 선택가능한 옵션을 제공할 수 있다. 예시적으로, 미디어 프레젠테이션 관리자(226)는 미디어 프레젠테이션의 일부로서 사용자에게 프로덕션 미디어 스트림을 제공할 수 있고, 여기서 프로덕션 미디어 스트림은 둘 이상의 캡처 사용자 클라이언트 장치로부터 제공된 둘 이상의 미디어 스트림 사이에서 전환한다. 프로덕션 미디어 스트림을 시청하는 대신 사용자는 특정 미디어 스트림을 시청하기를 선호할 수 있다. 이와 같이, 미디어 프레젠테이션 관리자(226)는 사용자가 프로덕션 미디어 스트림 대신에 단일 미디어 스트림을 시청하는 것을 허용하기 위해 사용자에게 하나 이상의 선택가능한 옵션을 제공할 수 있다. 추가로, 사용자가 단일 미디어 스트림을 시청하고 있는 때, 미디어 프레젠테이션 관리자(226)는 사용자가 프로덕션 미디어 스트림을 시청하는 것으로 되돌아가는 것을 허용하는 옵션을 제공할 수 있다.
일부의 경우 사용자가 미디어 프레젠테이션의 일부로서 다른 미디어 스트림을 시청하는 옵션을 선택하면, 미디어 프레젠테이션 관리자(226)는 다른 미디어 스트림에 액세스하기 위해 미디어 프레젠테이션 시스템(102)과 통신해야 할 수 있다. 예컨대, 사용자가 다른 미디어 스트림에 액세스하는 옵션을 선택하면, 미디어 프레젠테이션 관리자(226)는 다른 미디어 스트림 또는 이들의 부분을 사용자에게 제공하기 위해 요청할 수 있다. 일부 실시예로, 초기 요청 및/또는 사용자 선택에 대해 알려지면 클라이언트 장치(204)로 미디어 프레젠테이션 시스템(102)이 제공하는 각 미디어 스트림의 양(예컨대, 길이) 및/또는 해상도는 이용가능한 대역폭에 의존한다. 대안으로 일부 실시예에서, 사용자가 미디어 프레젠테이션을 선택할 때 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션에 대응하는 다수의 미디어 스트림의 전체 해상도 미디어 스트림을 클라이언트 장치(204)에 제공할 수 있다.
사용자가 미디어 프레젠테이션 내에서 미디어 스트림 사이에서 내비게이션하거나 선택하도록 허용하는 것에 추가로, 하나 이상의 실시예에서 미디어 프레젠테이션 관리자(226)는 사용자 입력에 응답하여 선택된 미디어 프레젠테이션의 부분의 재생, 일시정지, 건너뛰기 및/또는 반복을 용이하게 만들 수 있다. 구체적으로, 미디어 프레젠테이션 관리자(226)가 터치 제스처를 감지하는 것에 응답하여, 미디어 프레젠테이션 관리자(226)는 감지된 터치 제스처에 기반하여 내비게이션 특징을 제공할 수 있다. 예컨대, 사용자가 우에서 좌로 가는 스와이프 제스처를 제공한다면, 미디어 프레젠테이션 관리자(226)는 이전에 재생된 미디어 세그먼트를 반복할 수 있다. 다른 예로, 사용자가 주목할만한 순간의 미디어 세그먼트를 시청하고 탭 제스처를 제공한다면, 미디어 프레젠테이션 관리자(226)는 재생중인 미디어 세그먼트의 잔존하는 부분을 건너뛰고 다음의 주목할 만한 순간을 제공하거나 또는 미디어 스트림의 제공으로 되돌아갈 수 있다.
추가적인 예시적 실시예로, 사용자가 더블 탭 제스처를 제공하는 것에 응답하여, 미디어 프레젠테이션 관리자(226)는 미디어 프레젠테이션을 일시정지할 수 있다. 또 다른 예시에서, 사용자가 좌에서 우로 가는 스와이프 제스처를 제공한다면, 미디어 프레젠테이션 관리자(226)는 현재 미디어 스트림 또는 미디어 프레젠테이션에 관한 정보 페이지를 제공할 수 있다. 위의 예시적인 제스처는 오로지 예시로서 제공되는 것이며, 하나 이상의 실시예는 본 명세서에 기술되는 바와 같이 동일하거나 다른 기능과 연관되는 동일하거나 추가적인 제스처를 포함할 수 있다.
사용자 인터페이스 관리자(222)와 관련하여 전술한 바와 같이 미디어 프레젠테이션 시스템(102)은 사용자가 현재 사용자와 공유되지 않는 미디어 프레젠테이션을 검색하거나 발견하도록 허용하는 검색 기능을 제공한다. 예컨대, 미디어 프레젠테이션 관리자(226)는 사용자가 미디어 프레젠테이션 시스템(102)의 사용자가 공공의 것으로 만든 인기 있거나, 트렌디하거나 특징적인 미디어 프레젠테이션을 발견할 수 있도록 만들 수 있다. 예컨대, 미디어 프레젠테이션 관리자(226)는 사용자가 하나 이상의 인기 있거나, 트렌디하거나, 또는 특징적인 미디어 프레젠테이션을 시청하기를 선택할 수 있는 "발견 탭"을 인에이블할 수 있다. 다른 예시로, 미디어 프레젠테이션 관리자(226)는 사용자가 상이한 카테고리의 미디어 프레젠테이션, 가령 코메디, 스포츠, 뉴스, 예술, 음악, 문화 등을 발견하도록 허용하는 채널을 제공할 수 있다. 추가로, 미디어 프레젠테이션 관리자(226)는 사용자가 생성자 인구통계정보(연령, 주거지, 국적, 토픽, 채널, 카테고리, 생성 날짜, 수정 날짜, 인기도(예컨대, 시청자의 수), 트렌드(예컨대, 최근 한 시간, 12시간, 24시간, 또는 다른 특정된 양의 시간 이내), 위치, 관심사 등에 의해 다른 미디어 프레젠테이션을 발견하도록 허용할 수 있다.
사용자가 다른 공중이 이용가능한 미디어 프레젠테이션을 검색하고 발견하는 것을 허용하는 것에 추가로, 일부 예시적 실시예로 미디어 프레젠테이션 관리자(226)는 사용자가 사용자의 특정된 근접도에 있는 미디어 프레젠테이션 시스템(102)의 다른 사용자의 미디어 프레젠테이션을 발견하도록 가능하게 만들 수 있다. 예컨대, 사용자가 이벤트에 있다면, 미디어 프레젠테이션 관리자(226)는 사용자가 이벤트에 있는 다른 사용자로부터 미디어 프레젠테이션을 발견하도록 허용할 수 있다. 추가로, 미디어 프레젠테이션 관리자(226)는 사용자가 특정 위치, 가령 공원, 학교, 관심지점, 퍼레이드, 랠리 등에 있는 미디어 프레젠테이션에 미디어 스트림을 기여하거나 이러한 장소에 있는 다른 사용자들을 발견할 수 있게 만들 수 있다. 시청 사용자에게 미디어 프레젠테이션을 제공하는 것에 관한 추가적인 세부사항은 도 3a 내지 도 10을 참조하여 이하에서 기술될 것이다.
도 2는 또한, 저장 관리자(228)를 도시한다. 저장 관리자(228)는 미디어 프레젠테이션(230) 및 사용자 선호도(232)를 포함할 수 있다. 예컨대, 저장 관리자(228)는 캡처된 미디어뿐만 아니라 미디어 스트림 및 미디어 세그먼트의 부분을 포함하는 클라이언트 장치(204)로 제공된 미디어 프레젠테이션을 저장한다. 저장 관리자(228)는 미디어 프레젠테이션 시스템(102)으로부터 미디어 프레젠테이션을 수신하기 위해 미디어 프레젠테이션 시스템(102)과 통신할 수 있다. 예컨대, 저장 관리자(228)는 미디어 프레젠테이션 데이터베이스(216)로부터 하나 이상의 미디어 스트림을 수신한다. 유사하게, 저장 관리자(228)는 미디어 프레젠테이션 시스템(102) 상에서 사용자 프로필 데이터베이스(218)로 사용자 선호도를 전송할 수 있다.
도 3a-3b는 미디어 프레젠테이션 시스템(102) 및 다수의 클라이언트 장치, 가령 하나 이상의 캡처 클라이언트 장치(105), 또는 하나 이상의 시청 클라이언트 장치(104)(예컨대, 하나 이상의 연락 클라이언트 장치(305), 및 하나 이상의 추가 시청 클라이언트 장치(315))를 포함하는 하나 이상의 서버(들)(101) 사이의 상호작용을 보여주는 시퀀스 흐름도를 도시한다. 캡처 클라이언트 장치(105), 하나 이상의 연락 클라이언트 장치(305) 및 하나 이상의 추가 시청 클라이언트 장치(315)는 도 2와 관련하여 기술된 클라이언트 장치(들)(204)의 예시적인 실시예일 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 본 명세서에 기술되는 미디어 프레젠테이션 시스템에 대응할 수 있다.
도 3a-3b는 특정 미디어 스트림에 대응하는 특정 미디어 프레젠테이션에 대한 배포 대상을 자동으로 결정하는 하나의 예시를 표현한다. 특히, 전술한 바와 같이 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 분석하고 배포 대상에 포함시킬 하나 이상의 시청 사용자를 식별할 수 있다. 추가로, 미디어 스트림에 관한 업데이트된 정보(예컨대, 미디어 특성)에 기반하여, 미디어 프레젠테이션 시스템(102)은 추가 시청 사용자를 포함하도록 배포 대상을 수정할 수 있다.
하나 이상의 실시예로 도 3a의 단계(302)에 도시되는 것처럼, 캡처 클라이언트 장치(105)는 이벤트의 미디어를 캡처하기 시작한다. 예컨대, 캡처 클라이언트 장치(105)와 연관되는 캡처 사용자는 그 또는 그녀가 참석하는 콘서트의 실시간 비디오를 캡처 클라이언트 장치(105)의 비디오 카메라 및 마이크를 사용하여 캡처한다. 일실시예로, 클라이언트 장치는 미디어 프레젠테이션 시스템과 연관되는 애플리케이션을 사용하여 비디오 카메라 및 마이크 기능을 액세스/제어하여 캡처 사용자가 캡처되는 미디어를 공유할 것을 쉽게 결정할 수 있도록 한다. 대안으로 전술한 바와 같이, 클라이언트 장치는 위에서 설명되는 것과 같은 소셜 네트워크와 연관되는 애플리케이션을 사용하여 비디오 카메라 및 마이크 기능을 액세스/제어할 수 있다.
미디어를 캡처한 후 캡처 클라이언트 장치(105)는 도 3a가 단계(304)에서 도시하는 바와 같이 하나 이상의 서버(들)(101)에서 호스팅되는 미디어 프레젠테이션 시스템(102)으로 미디어 스트림 내의 미디어를 전송할 수 있다. 더 구체적으로, 캡처 클라이언트 장치(105)는 실시간 또는 근-실시간으로 미디어 프레젠테이션 시스템(102)으로 이벤트의 캡처된 미디어를 스트리밍할 수 있다. 일부 예시적 실시예로, 캡처 클라이언트 장치(105)는 미디어 스트림을 둘러싸는 컨텍스트, 가령 사용자가 제공한 정보(예컨대, 미디어 스트림의 제목, 미디어 스트림의 태깅이나 라벨링 등)를 미디어 프레젠테이션 시스템(102)에 제공할 수 있다. 추가 또는 대안의 실시예로, 미디어 프레젠테이션 시스템(102)은 이하에서 기술하는 바와 같이 미디어 스트림으로부터 컨텍스트를 자동으로 결정할 수 있다.
도 3a의 단계(306)에 도시되는 것처럼 미디어 스트림을 수신한 후 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 특성을 결정한다. 특히, 미디어 프레젠테이션 시스템(102)은 미디어 특성, 가령 비디오 특성, 오디오 특성, 및 미디어 스트림에 대한 다른 특성을 식별하기 위해 미디어 스트림을 분석할 수 있다. 예컨대, 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 비디오 해상도, 정의 타입, 종횡비, 초당 프레임, 새로고침 레이트, 색상 팔레트, 밝기, 음성 레벨, 노이즈 레벨, 오디오 범위, 위치, 주방향, 신호 강도 등을 식별할 수 있다. 특히, 미디어 프레젠테이션 시스템(102)은 비디오 품질(예컨대, 비디오 안정성/흔들림, 비디오 각도와 관점 및 프레임) 및 오디오 품질(예컨대, 음악 선명도 및 배경 노이즈/간섭의 양)에 기반하여 특성을 결정할 수 있다.
일부 예시적 실시예로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림 내에 식별된 컨텐츠에 기반하여 특성을 결정한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 미디어 스트림 내에 포함된 얼굴 및/또는 음성, 사람, 장소, 위치 또는 객체를 인식할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 캡처 사용자의 친구의 얼굴을 인식할 수 있고, 이에 응답하여 미디어 스트림과 연관시키기 위해 캡처 사용자의 친구에 대응하는 미디어 특성을 생성할 수 있다. 따라서, 미디어 프레젠테이션 시스템(102)은 배포 대상 내에 포함시킬 시청 사용자(예컨대, 캡처 사용자의 친구, 캡처 사용자의 친구의 친구 등)를 식별하기 위해 사용자의 친구에 대응하는 미디어 특성을 사용할 수 있다. 동일한 방식으로, 미디어 프레젠테이션 시스템(102)이 장소, 위치, 랜드마크 또는 객체를 인식할 때, 미디어 프레젠테이션 시스템은 미디어 특성을 생성하고 미디어 스트림과 연관시킬 수 있고, 이는 이후 배포 대상을 결정하는데 사용될 수 있다.
미디어 프레젠테이션 시스템의 사용자들을 단순히 인식하는 것에 추가로, 하나 이상의 실시예에서 미디어 프레젠테이션 시스템(102)은 영향력 있는 사람을 인식한다. 특히, 영향력있는 사람은 가령 유명인과 같은 영향력을 갖는 개인이다. 미디어 스트림 내의 영향력이 있는 사람을 인식하는 것에 기반하여, 미디어 프레젠테이션 시스템(102)은 미디어 스트림이 영향력이 있는 사람을 포함함을 표시하기 위해 하나 이상의 특성을 수정하거나 (또는 하나 이상의 특성을 생성할 수 있다). 예컨대, 심지어 영향력이 있는 사람은 음악 그룹의 구성원이다. 미디어 프레젠테이션 시스템은 영향력 있는 사람의 신원, 음악 그룹의 이름, 및 음악 그룹에 의해 연주되는 음악의 장르를 식별하는 미디어 특성을 생성할 수 있다. 이러한 미디어 특성에 기반하여, 미디어 프레젠테이션 시스템(102)은 배포 대상에 포함시킬 미디어 스트림에 대해 관심 있는 사용자들을 식별할 수 있다.
유사하게, 미디어 프레젠테이션 시스템(102)은 이벤트와 연관되는 미디어 스트림 프레젠테이션 내에 스폰서 미디어 스트림을 포함시킬 수 있다. 예컨대, 기업은 자격이 있는 시청 사용자(예컨대, 프리미엄을 지불하거나, 광고를 보거나 또는 제품을 좋아요하거나 공유하는 등의 시청 사용자)에게 제공되는 "백스테이지(back stage)" 또는 "더그 아웃(dug out)" 미디어 스트림을 스폰서할 수 있다. 예컨대, 사용자는 스폰서된 미디어 스트림을 프리뷰할 수 있고, 시청 사용자가 더 많은 스폰서된 미디어 스트림을 시청하기를 희망한다면, 시청 사용자는 미디어 프레젠테이션을 통해 액세스를 요청할 수 있다. 대안으로, 스폰서된 미디어 스트림은 브랜드, 가령 "SPRITE front row media stream"과 연계하여 제시될 수 있다. 미디어 프레젠테이션 시스템(102)은 전술한 바와 같이 스폰서된 미디어 스트림을 이벤트와 연관되는 미디어 프레젠테이션으로 혼합할 수 있다.
하나 이상의 미디어 특성을 결정한 후 도 3a의 단계(308)는 미디어 프레젠테이션 시스템(102)이 미디어 특성에 기반하여 어떤 연락처(들)(예컨대, 시청 사용자)로 미디어 스트림을 전송할 지를 결정하는 것을 도시한다. 하나 이상의 실시예로, 미디어 프레젠테이션 시스템(102)은 캡처 사용자의 하나 이상의 연락처(예컨대, 친구)에게 미디어 프레젠테이션으로의 액세스를 제공할 것이다. 일부의 경우, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)의 추가 시청 사용자들에게 미디어 프레젠테이션을 전송할 수 있다. 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 하나 이상의 특성에 기반하여 어떤 사용자에게 미디어 프레젠테이션을 전송할지를 결정할 수 있다.
예시적으로, 하나 이상의 실시예에서 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 품질이 최소 품질 수준보다 높은지 여부를 결정한다. 미디어 프레젠테이션 시스템(102)이 미디어 특성에 기반하여 미디어 스트림의 품질이 최소 품질 레벨보다 높다고 결정하는 경우 미디어 프레젠테이션 시스템(102)은 배포 대상의 일부로서 미디어 프레젠테이션을 수신하기 위한 하나 이상의 연락처를 식별할 수 있다. 대안으로, 미디어 프레젠테이션 시스템(102)이 미디어 스트림이 최소 품질 레벨을 충족하는데 실패했다고 결정한다면, 미디어 프레젠테이션 시스템(102)은 다른 사용자에게 미디어 스트림을 배포하지 않도록 결정할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 캡처 클라이언트 장치(105)로부터의 신호 강도가 미디어 스트림을 유지하기에 너무 약하거나 비디오가 다른 사용자에게 전송되기에 너무 흔들린다고 결정한다.
일부 예시적인 실시예로, 미디어 스트림의 품질이 최소 품질 레벨보다 높다면, 미디어 프레젠테이션 시스템(102)은 여전히 미디어 스트림의 미디어 특성에 기반하여 어떤 사용자에게 미디어 스트림을 전송할지를 결정할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 배포 대상에 포함시킬 연락처를 식별할 때에 미디어 특성, 가령 비디오 품질, 오디오 품질, 위치, 태그 및 라벨 등에 가중치를 부여할 수 있다. 예컨대, 미디어 스트림이 Beyonce 콘서트라면, 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 다른 특성이 나쁘더라도 Beyonce, R&B, 또는 소울 음악에 관심이 있는 캡처 사용자의 하나 이상의 연락처를 식별할 수 있다. 다른 예시로, 미디어 스트림의 비디오 및 오디오 품질이 평균보다 높다면, 미디어 프레젠테이션 시스템(102)은 캡처 사용자의 모든 연락처로 미디어 스트림을 전송하도록 결정할 수 있다.
배포 대상에 포함시킬 시청 사용자를 식별한 후 미디어 프레젠테이션 시스템(102)은 도 3a에서 단계(310)에 도시되는 바와 같이 배포 대상에 포함되는 시청 사용자와 연관된 연락 클라이언트 장치(305)로 미디어 프레젠테이션 내의 미디어 스트림을 전송한다. 일부 예시적 실시예로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 연락 클라이언트 장치(305)로 제공하기 전에 우선 알림 또는 미디어 스트림의 일부를 전송할 수 있다. 예컨대, 연락 클라이언트 장치는 캡처 사용자가 Beyonce 콘서트로부터 비디오를 스트리밍하고 있다는 알림을 수신한다. 연락 클라이언트 장치와 연관되는 연락처가 Beyonce 콘서트에 대응하는 알림을 선택하면, 미디어 프레젠테이션 시스템(102)은 Beyonce 콘서트의 미디어 스트림을 갖는 미디어 프레젠테이션을 연락 클라이언트 장치(305)로 전송할 수 있다.
전술한 바와 같이, 연락 클라이언트 장치(305)는 도 3a의 단계(312)에 도시되는 것처럼 대응하는 연락처로 미디어 프레젠테이션 내의 미디어 스트림을 제시할 수 있다. 추가로 단계(314)에 도시되는 바와 같이, 연락처(예컨대, 시청 사용자들의 제1 그룹)는 미디어 프레젠테이션과 상호작용하고 명시적인 피드백, 가령 미디어 스트림에 대한 좋아요하기, 공유하기 및/또는 코멘트하기를 제공할 수 있다. 예컨대, 단계(314)는 연락 클라이언트 장치(305)가 시청 사용자로부터 피드백을 수신할 수 있다고 도시한다. 대응하는 연락 클라이언트 장치(305)는 또한, 미디어 프레젠테이션과 상호작용하는 연락처로부터 암시적인 피드백을 캡처할 수 있다. 예컨대, 연락처가 미디어 프레젠테이션에 액세스할 때, 연락 클라이언트 장치(305)는 시청 정보(시청 개수, 시청된 지속시간, 재생된 세그먼트, 내비게이션 입력 등)를 캡처할 수 있다. 게다가, 도 3a의 단계(316)에 더 도시되는 것처럼 연락 클라이언트 장치(305)는 캡처된 피드백을 미디어 프레젠테이션 시스템(102)으로 전송할 수 있다.
일부 예시적인 실시예로, 명시적인 피드백은 미디어 프레젠테이션 시스템(102)과는 독립적인 시청 사용자에 의해 전송된 통신을 포함할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 시청 사용자가 미디어 스트림 또는 미디어 스트림 내의 컨텐츠로 링크하는 소셜 미디어 메시지를 게시한다고 감지할 수 있다. 예컨대, 시청 사용자는 미디어 스트림 내에 포함된 컨텐츠에 대한 시청 사용자의 감상을 표시하는 단문 메시지를 공개적으로 개시할 수 있고, 미디어 프레젠테이션 시스템(102)은 게시물을 감지하고, 게시물로부터 피드백을 추출하며, 피드백을 미디어 스트림과 연관되는 하나 이상의 특성 및/또는 미디어 특성으로 변환할 수 있다.
이제 도 3b를 참조하면, 미디어 프레젠테이션 시스템(102)은 하나 이상의 연락 클라이언트 장치(305)로부터 피드백을 수신하고 피드백을 프로세싱할 수 있다. 특히, 미디어 프레젠테이션 시스템(102)은 피드백을 통합하고 미디어 스트림의 미디어 특성을 수정 및/또는 생성할 수 있다. 즉, 미디어 프레젠테이션 시스템(102)은 피드백 정보로 미디어 스트림에 대해 결정된 미디어 특성을 보충할 수 있다. 도 3b의 단계(318)에 도시되는 것처럼, 미디어 프레젠테이션 시스템(102)은 연락 클라이언트 장치(305)로부터 피드백을 수신한 후 미디어 스트림의 미디어 특성을 업데이트한다. 미디어 프레젠테이션 시스템(102)이 추가 피드백을 수신함에 따라 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 특성을 계속 업데이트할 수 있다.
미디어 스트림과 연관된 업데이트된 미디어 특성은 추가 시청 사용자가 미디어 스트림 및/또는 미디어 프레젠테이션에 관심이 있을 수 있다고 표시하는 추가 정보를 제공할 수 있다. 따라서, 도 3b의 단계(320)에 도시되는 것처럼, 미디어 프레젠테이션 시스템(102)은 업데이트된 특성에 기반하여 미디어 스트림을 전송할 추가 시청 사용자를 식별할 수 있다(예컨대, 미디어 프레젠테이션 시스템은 배포 대상의 사용자를 수정할 수 있다). 예컨대, 비율적으로 원래의 배포 대상의 연락처보다 높은 수가 미디어 프레젠테이션을 공유하거나 좋아요하는 경우 미디어 프레젠테이션 시스템(102)은 배포 대상에 포함시킬 다수의 추가 시청 사용자들을 결정할 수 있다. 반면에 매우 적은 수의 원래의 배포 대상의 연락처가 임계 시간(예컨대, 10초)보다 적게 미디어 스트림을 시청한다면, 미디어 프레젠테이션 시스템(102)은 어떠한 추가 시청 사용자들에게도 미디어 프레젠테이션을 전송하지 않도록 결정할 수 있다.
일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 잠재적인 시청 사용자의 속성 정보에 기반하여 미디어 스트림을 전송할 추가 시청 사용자를 결정할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 사용자의 관심사에 기반하여 시청 사용자, 가령 Beyonce를 좋아요하는 시청 사용자를 식별할 수 있다. 다른 예시로, 미디어 프레젠테이션 시스템(102)은 특정 연령 그룹, 인구통계, 교육, 또는 라이프스타일의 시청 사용자에게 미디어 프레젠테이션을 전송한다. 추가 예시로, 미디어 프레젠테이션 시스템(102)은 정의된 지리적 경계 내에 있는 시청 사용자(예컨대, 동일한 콘서트 또는 장소, 동일한 도시나 주, 또는 캡처 클라이언트 장치로부터 정의된 거리 내에 있는 사용자 등)에게 미디어 프레젠테이션을 전송한다. 또한, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션을 전송할 추가 사용자로서 뉴스 아울렛, 스폰서 및/또는 미디어 스트림 채널을 식별할 수 있다. 예컨대, 일단 미디어 스트림이 임계 대중에 도달하면, 미디어 프레젠테이션 시스템(102)은 인기있거나 트렌디한 미디어 스트림에 의해 분류되는 공개 리스팅에 미디어 스트림을 추가할 수 있다. 이와 같이 시청 사용자는 미디어 스트림을 발견할 수 있다.
미디어 프레젠테이션 시스템(102)이 배포 대상에 포함시킬 추가 시청 사용자를 결정하면, 미디어 프레젠테이션 시스템(102)은 추가 시청 사용자에게 미디어 스트림을 전송하거나 아니면 미디어 스트림으로의 액세스를 제공할 수 있다. 특히, 도 3b의 단계(322)가 도시하는 바와 같이, 미디어 프레젠테이션 시스템(102)은 식별된 시청 사용자와 연관된 하나 이상의 추가 시청 클라이언트 장치(315)로 미디어 프레젠테이션 내의 미디어 스트림을 전송한다. 일부 예시적인 실시예로, 미디어 프레젠테이션의 전송은 추가 시청 클라이언트 장치(315)를 통해 미디어 프레젠테이션으로의 액세스를 시청 사용자에게 제공하는 것을 수반한다(예컨대, 미디어 프레젠테이션은 추가 시청 사용자의 미디어 프레젠테이션 피드 내에 나타난다).
미디어 프레젠테이션을 수신하면, 하나 이상의 추가 시청 클라이언트 장치(315)는 도 3b의 단계(324)에 도시되는 것처럼 하나 이상의 추가 시청 사용자에게 미디어 프레젠테이션 내의 미디어 스트림을 제시할 수 있다. 위의 설명과 유사하게, 식별된 시청 사용자와 연관되는 하나 이상의 추가 시청 클라이언트 장치(315)는 추가 시청 사용자가 미디어 프레젠테이션 및 미디어 스트림과 상호작용함에 따라 암시적 및 명시적인 피드백을 수신, 캡처, 및 전송할 수 있다. 따라서, 단계(326)에 도시되는 것처럼, 하나 이상의 추가 시청 클라이언트 장치(315)는 하나 이상의 추가 시청 사용자로부터 피드백을 수신하고, 단계(328)에 도시되는 것처럼 하나 이상의 추가 시청 클라이언트 장치(315)는 피드백을 미디어 프레젠테이션 시스템(102)으로 전송할 수 있다. 피드백을 수신하면, 미디어 프레젠테이션 시스템(102)은 미디어 스트림에 대한 미디어 특성을 업데이트하고, 배포 대상을 수정하며, 업데이트된 배포 대상 내의 시청 사용자들에게 미디어 스트림으로의 액세스를 제공하고, 업데이트된 배포 대상의 사용자들로부터 피드백을 수신하며 피드백을 수신하기 위해 (도 3b에서 파선 화살표로 표시되는 것과 같은) 단계들(318 내지 328)을 반복할 수 있다.
즉, 시청 사용자가 피드백을 제공함에 따라 미디어 프레젠테이션 시스템(102)은 최신의 피드백에 기반하여 어떤 추가 시청 사용자에게 미디어 스트림을 전송할 지를 계속적으로 재평가하고 결정에 기반하여 어떤 시청 사용자가 미디어 스트림으로의 액세스를 가질지를 조정함으로써 단계들(318-322)을 반복할 수 있다. 예시적으로, 미디어 프레젠테이션 시스템(102)이 미디어 스트림이 인기도를 얻고 있다고 결정함에 따라 미디어 프레젠테이션 시스템(102)은 배포 대상으로 추가할 추가 시청의 수를 점차적으로 증가시킬 수 있다. 미디어 스트림이 새로운 임계-대중 레벨에 도달할 때마다, 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 식별하고 추가 시청 사용자들에게 전송할 수 있다. 반면에, 미디어 스트림의 인기도가 감소하기 시작한다면, 미디어 프레젠테이션 시스템(102)은 추가 시청 사용자의 수를 감소시킬 수 있다. 추가로, 전술한 바와 같이 미디어 프레젠테이션 시스템(102)은 또한, 미디어 특성, 가령 오디오 품질과 비디오 품질을 배포 대상에 포함시키거나 배제시킬 추가 시청 사용자의 수를 결정할 때에 고려할 수 있다.
추가로, 일부 실시예에서 미디어 프레젠테이션 시스템(102)은 언제 미디어 스트림이 다음 임계-대중 레벨에 도달할지를 예측할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 다른 인자, 가령 위치, 이벤트, 트렌디함, 소셜 버즈(social buzz) 등과 연계하여 미디어 스트림의 인기도를 고려할 수 있다. 결국, 미디어 스트림이 아직 큰 팔로우를 갖지 않더라도 미디어 프레젠테이션 시스템(102)은 미디어 스트림에 대한 성장을 예견할 수 있고, 예견된 정보를 배포 대상에 포함시킬 추가 시청 사용자를 결정하는데에 사용할 수 있다.
도 4a-4c는 미디어 프레젠테이션 시스템(102) 및 다수의 클라이언트 장치, 가령 시청 클라이언트 장치(104) 및 캡처 클라이언트 장치(405)를 포함하는 하나 이상의 서버(들)(101) 사이의 상호작용을 도시하는 시퀀스 흐름도를 도시한다. 개요로서, 도 4a는 미디어 프레젠테이션 시스템(102)이 캡처 클라이언트 장치(405)로부터 다수의 관련 미디어 스트림을 수신하는 것, 관련 미디어 스트림으로부터 프로덕션 미디어 스트림을 생성하는 것, 및 미디어 프레젠테이션의 일부로서 시청 클라이언트 장치(104)로 프로덕션 미디어 스트림을 제시하는 것을 도시한다. 도 4b는 도 4a로부터 시퀀스 흐름도를 계속하며, 미디어 프레젠테이션으로부터 추가 및/또는 대안의 미디어 스트림을 요청하기 위해 시청 클라이언트 장치(104)가 미디어 프레젠테이션 시스템(102)과 통신하는 것을 도시한다. 도 4c는 또한, 도 4a로부터 시퀀스 흐름도를 계속하며, 시청 클라이언트 장치(104) 상에서 미디어 프레젠테이션의 주목할 만한 순간에 대응하는 미디어 세그먼트를 스킴(skim)하기 위해 시청 클라이언트 장치(104)가 미디어 프레젠테이션과 통신하는 것을 도시한다.
도 4a의 단계(402)에 도시되는 것처럼, 다수의 캡처 클라이언트 장치(405)에 대응하는 다수의 캡처 사용자는 이벤트에서 미디어를 캡처하기를 시작한다. 예컨대, 동일한 이벤트(예컨대, 랠리, 콘서트, 컨테스트, 연설, 수상식, 시위, 모금 행사 등)에 있는 다수의 캡처 사용자는 각각 미디어를 캡처할 수 있다. 각 캡처 클라이언트 장치(405)는 캡처된 미디어를 포함하는 미디어 스트림을 미디어 프레젠테이션 시스템(102)으로 전송할 수 있다. 더 구체적으로는, 각 캡처 사용자와 연관되는 캡처 클라이언트 장치(405)는 도 4a의 단계(404)에 도시되는 것처럼 미디어 프레젠테이션 시스템(102)으로 다수의 미디어 스트림을 전송한다. 하나 이상의 실시예로, 캡처 클라이언트 장치(405)는 단순히 동일한 시간에 이벤트에서 관련 미디어를 캡처하고 있다. 즉, 캡처 클라이언트 장치(405)가 동일한 시간에 미디어 캡처를 시작하거나 미디어 스트림을 전송해야 한다는 요구사항이 없다(예컨대, 미디어 프레젠테이션 시스템은 이하에서 후술되는 바와 같이 다수의 미디어 스트림 각각의 미디어 특성을 수신하고 비교할 때 다수의 미디어 스트림이 관련된다고 결정할 것이다).
도 4a의 단계(406)에서 더 도시되는 것처럼, 미디어 프레젠테이션 시스템(102)은 다수의 미디어 스트림이 관련된다고 결정한다. 일반적으로, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템에 걸쳐 캡처 클라이언트 장치(405)로부터 복수의 미디어 스트림을 수신한다. 대부분의 경우, 다수의 관련 미디어 스트림을 제공하는 캡처 클라이언트 장치(405)는 서로 협력하여 작동하지 않고, 그 대신에 캡처 사용자들은 개별적으로 미디어 스트림을 캡처하고 다른 시청 사용자와 이를 공유하며, 미디어 프레젠테이션 시스템(102)은 캡처 사용자가 개별 미디어 스트림을 공유하고 있다고 감지한다. 따라서, 미디어 프레젠테이션 시스템(102)은 공유된 미디어 스트림 사이에 관계가 존재하는지 여부를 결정한다.
특히, 미디어 프레젠테이션 시스템(102)이 캡처 사용자 클라이언트 장치(405)로부터 미디어 스트림을 수신할 때, 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 서로와 비교하여 어떤 미디어 스트림들이 관련되는지를 식별할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 미디어 스트림들이 서로 관련되는지 여부를 결정하기 위해 타임스탬프, 지리적 정보(예컨대, 캡처 사용자가 정의된 지오펜스 영역 내에 있음), 라벨, 태그, 식별된 특징(예컨대, 이미지 인식을 사용함) 등을 비교할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 미디어 스트림 각각이 동일한 이벤트에서 유래되었고 매칭되는 오디오를 갖기 때문에 다수의 미디어 스트림이 서로 관련된다고 결정할 수 있다.
일부 실시예로, 미디어 프레젠테이션 시스템(102)은 다수의 미디어 스트림이 관련되는지 여부를 결정하기 위해 외부 정보를 사용한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 이벤트 및/또는 이벤트에서의 사용자들에 관한 정보를 수집하기 위해 소셜 네트워킹 시스템 또는 다른 시스템과 통신하고 이 정보를 사용하여 두 미디어 스트림이 관련되는지를 결정한다. 예컨대, 소셜 네트워킹 시스템은 미디어 프레젠테이션 시스템(102)에 이벤트가 어디서 언제 발생하는지, 이벤트의 이름, 미디어 스트림을 제공하는 캡처 사용자를 포함하여 이벤트에 있거나 있을 참석자들을 표시할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 소셜 네트워킹 시스템 또는 다른 상태-방송 시스템(예컨대, FACEBOOK, INSTAGRAM 등) 상에서 하나 이상의 캡처 사용자의 상태에 기반하여 이벤트 및 사용자 정보를 획득할 수 있다.
단계(408)에서 미디어 프레젠테이션 시스템(102)은 미디어 특성에 대해 관련 미디어 스트림을 분석한다. 특히, 미디어 프레젠테이션 시스템(102)은 미디어 특성, 가령 위에서 상세히 전술된 것과 같은 비디오 특성, 오디오 특성, 및 다른 특성을 식별하기 위해 각 관련 미디어 스트림을 분석한다. 일부의 경우 미디어 프레젠테이션 시스템(102)은 다수의 관련 미디어 스트림이 식별된 후까지 관련 미디어 스트림의 분석을 지연한다. 예컨대, 오로지 미디어 프레젠테이션 시스템(102)이 서로 관련되는 3, 4, 또는 5개의 미디어 스트림을 식별한 후에만 미디어 프레젠테이션 시스템(102)은 관련 미디어 스트림을 분석한다. 즉, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 개별 캡처 사용자가 전체 목적을 공유한다고 결정하기 전에 최소 수의 캡처 사용자가 동일한 주제에 대해 능동적으로 캡처할 수 있게 대기할 수 있다.
전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 각 수신된 미디어 스트림에 대해 비디오 품질 및 오디오 품질 미디어 특성을 식별한다. 일부의 경우 미디어 프레젠테이션 시스템102)은 비디오 특성, 오디오 특성 및/또는 미디어 특성의 조합에 기반하여 각 미디어 스트림을 순위화하거나 우선순위화할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 어떤 미디어 스트림을 프로덕션 미디어 스트림 내에 제공할 지를 식별하기 위해 미디어 특성을 사용할 수 있다. 예컨대, 단계(410)에 도시되는 것처럼 미디어 프레젠테이션 시스템(102)은 각 미디어 스트림에 대응하는 미디어 특성의 평가에 기반하여 제1 미디어 스트림을 선택한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 제1 미디어 스트림이 코미디 쇼의 클로즈-업 카메라 각도와 명료한 오디오 피드를 제공하기 때문에 제1 미디어 스트림을 선택한다.
단계(412)에서 도 4a에 도시되는 것처럼 미디어 프레젠테이션 시스템(102)은 제1 미디어 스트림을 시청 클라이언트 장치(104)로 제공한다. 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 내에 프로덕션 미디어 스트림의 일부로서 선택된 제1 미디어 스트림을 제공할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 선택된 제1 미디어 프레젠테이션을 쇼케이스로 삼는 프로덕션 미디어 스트림을 포함하는 미디어 프레젠테이션을 시청 클라이언트 장치(104)로 전송할 수 있다. 이에 응답하여, 시청 클라이언트 장치(104)는 프로덕션 미디어 스트림의 일부로서 시청 사용자에게 제1 미디어 스트림을 제시할 수 있다.
제1 미디어 스트림을 시청 클라이언트 장치(104)로 제공한 후 미디어 프레젠테이션 시스템(102)은 다수의 캡처 클라이언트 장치(405)로부터 관련 미디어 스트림을 수신하기를 계속할 수 있다. 또한, 추가 캡처 사용자는 코미디 쇼의 추가 미디어 스트림을 제공하기를 시작할 수 있고, 미디어 프레젠테이션 시스템(102)은 추가 미디어 스트림을 감지할 수 있다. 유사하게, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)으로 미디어 스트림을 이전에 제공한 캡처 사용자가 탈퇴했고 더 이상 미디어 스트림을 미디어 프레젠테이션 시스템(102)으로 전송하지 않는다는 것을 감지할 수 있다.
도 4a의 단계(414)는 미디어 프레젠테이션 시스템(102)이 관련 미디어 스트림의 미디어 특성의 변화를 감지하는 것을 도시한다. 예컨대, 미디어 스트림과 연관된 미디어 특성은 시간에 걸쳐 변화할 가능성이 크다. 예컨대, 미디어 스트림은 흔들리거나, 신호 강도가 감쇠하거나, 오디오 품질이 저하되는 등이 될 수 있다. 반대로, 미디어 스트림의 비디오 품질 및 오디오 선명도는 시간에 걸쳐 향상될 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 각 관련 미디어 스트림에 대한 업데이트된 미디어 특성에 기반하여 관련 미디어 스트림의 비디오 및/또는 오디오 품질의 변화를 감지할 수 있다. 다른 예로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림에 대한 순위 또는 우선순위가 업데이트된 미디어 특성을 감지할 때 변화했다고 발견할 수 있다.
일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림이 시청 사용자에게 제공되는 시간을 모니터한다. 예컨대, 일단 미디어 프레젠테이션 시스템(102)이 시청 사용자에게 제공할 미디어 스트림을 선택하면, 미디어 프레젠테이션 시스템(102)은 미디어 스트림이 시청 클라이언트 장치(104)로 제공되는 지속시간을 추적할 수 있다. 따라서, 전술한 바와 같이 시청 사용자는 지루하지 않은 컨텐츠 경험을 선호한다. 흥미롭고 자극적이게 컨텐츠 경험을 유지하기 위해, 상업적인 프로덕션, 가령 전문적으로 프로듀싱된 영화 및 텔레비전 쇼가 카메라 각도 및 관점 사이에서 빈번하게 전환한다. 결국 시청 사용자들은 상이한 각도와 관점들 사이에서 전환하는 컨텐츠를 감상하게 된다. 또한, 단일 미디어 스트림으로부터의 긴 편집은 시청 사용자에게 비전문적이고 정제되지 않은 느낌을 전달할 뿐만 아니라 시청 사용자로 하여금 미디어 스트림의 품질의 불완전성을 식별하도록 한다. 예컨대, 시청 사용자는 미디어 스트림으로부터의 빠른 컷이 흔들리거나 저품질의 조명을 갖는다는 것을 알아채지 않을 수 있지만, 미디어 스트림이 연장된 기간 동안 시청 사용자에게 제공된다면, 미디어 스트림의 불완전성이 시청 사용자에게 강조될 수 있다. 전술한 바에 비추어 볼 때, 일부의 경우 미디어 프레젠테이션 시스템(102)은 기결정된 스케줄(예컨대, 2-4초, 12초, 30초 등)에 따라 하나의 미디어 스트림을 시청 사용자에게 제공하는 것에서 다른 관련 미디어 스트림을 시청 사용자에게 제공하는 것으로 자동으로 전환할 수 있다.
일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 시청 사용자에게 다른 관련 미디어 스트림을 언제 제공할 지를 결정하기 위한 인자로서 미디어 스트림이 시청 사용자가 제공된 경과 시간의 길이를 표시하는 미디어 특성을 사용할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 선택된 미디어 스트림이 더 오래 제공될 수록 선택된 미디어 스트림의 하나 이상의 다른 미디어 특성에 주어지는 가중치를 감소시킬 수 있다. 이후 임의의 시점에서, 선택된 미디어 스트림의 하나 이상의 미디어 특성이 다른 관련 미디어 스트림과 비교할 때 얼마나 우월한지와는 무관하게 미디어 프레젠테이션 시스템(102)은 다른 미디어 스트림을 선택하도록 결정할 것이다. 이러한 방식으로, 미디어 프레젠테이션 시스템(102)은 시청 사용자에게 상이한 관련 미디어 스트림 사이에서 상이한 컷을 제공할 것을 보장할 수 있다. 또한, 미디어 프레젠테이션 시스템(102)은 더 좋지 않은 미디어 특성을 갖는 미디어 스트림보다 긴 지속시간 동안 더 나은 미디어 특성을 갖는 미디어 스트림을 제공할 수 있지만, 미디어 프레젠테이션 시스템(102)은 여전히 시청 사용자에게 다양성을 제공하기 위해 상이한 미디어 스트림 사이에서 전환할 수 있다.
하나 이상의 실시예로, 미디어 프레젠테이션 시스템(102)은 관련 미디어 스트림으로부터 다른 미디어 스트림으로 커트하기 전에 선택된 미디어 스트림을 시청 사용자에게 제공하기 위한 시간의 길이를 결정할 때 프로덕션 템플릿을 따를 수 있다. 일반적으로, 프로덕션 템플릿은 프로덕션 미디어 스트림의 모양과 느낌을 결정하는 데 도움이 되는 디폴트 프로덕션 속성을 포함한다. 예컨대, 미디어 프레젠테이션 시스템(102)이 영화 트레일러 타입의 템플릿을 사용한다면, 미디어 프레젠테이션 시스템(102)은 일반적으로 매 수초마다 미디어 스트림 사이를 커트할 수 있다. 미디어 프레젠테이션 시스템(102)이 스포츠 프로덕션 템플릿을 사용한다면, 미디어 프레젠테이션 시스템(102)은 다른 관련 미디어 스트림뿐만 아니라 선택된 미디어 스트림으로부터의 리플레이에 의해 후속되는 동일한 미디어 스트림으로부터의 더 긴 연속적인 샷을 사용할 수 있다. 아래에서 논의되는 것처럼, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 시청 사용자에게 선택된 미디어 스트림을 제공해야 하는 최적의 시간을 결정함에 있어서 다수의 프로덕션 템플릿을 이용할 수 있다.
또한, 다수의 경우에 미디어 프레젠테이션 시스템(102)이 선택하는 프로덕션 템플릿은 관련 미디어 스트림이 대응되는 컨텐츠 및 주제에 기반할 수 있다. 예로서, 미디어 프레젠테이션 시스템(102)이 관련 미디어 스트림이 스포츠 경기에 대응한다고 감지한다면, 미디어 프레젠테이션 시스템(102)은 스포츠 프로덕션 템플릿 또는 특정 스포츠-타입 템플릿(예컨대, 풋볼 경기, 테니스 경기, 야구 경기, 농구 경기 등을 위해 설계된 템플릿)을 사용할 수 있다. 다른 예로서, 다수의 미디어 스트림이 콘서트에 관한 것이라고 결정하면, 미디어 프레젠테이션 시스템(102)은 콘서트에서 공연자의 클로즈-업 샷을 포함하는 미디어 스트림으로부터 더 긴 컷을 제공하도록 명시하거나 공연의 현재 상태(예컨대, 공연자가 솔로로 공연하는지 여부)에 기반하여 미디어 스트림들 사이에서 전환하도록 명시하는 콘서트 프로덕션 템플릿을 선택할 수 있다.
도 4a로 돌아가면, 단계(416)에서 미디어 프레젠테이션 시스템(102)은 업데이트된 미디어 특성에 기반하여 시청 사용자에게 제공할 제2 미디어 스트림을 선택하는 선택을 업데이트한다. 특히, 미디어 프레젠테이션 시스템이 관련 미디어 스트림의 미디어 특성의 변화를 감지할 때, 미디어 프레젠테이션 시스템(102)은 제2 미디어 스트림의 미디어 특성이 제1 미디어 스트림보다 우수하게 수행된다고 결정할 수 있다. 결국, 미디어 프레젠테이션 시스템(102)은 제2 미디어 스트림으로 전환한다. 다른 가능성으로서, 제1 미디어 스트림의 미디어 특성이 제2 미디어 스트림보다 동등하거나 더 나은 미디어 특성을 계속 가질 수 있지만, 미디어 프레젠테이션 시스템(102)은, 미디어 프레젠테이션 시스템(102)이 시청 사용자에게 제1 미디어 스트림을 제공해온 경과된 시간에 기반하여 전술한 바와 같이 제2 미디어 스트림으로 선택을 변경할 것을 결정할 수 있다.
제2 미디어 스트림으로 선택을 전환하면, 미디어 프레젠테이션 시스템(102)은 제2 미디어 스트림을 시청 사용자에게 제공할 수 있다. 특히, 단계(418)는 미디어 프레젠테이션 시스템(102)이 제2 미디어 스트림을 시청 클라이언트 장치(104)로 제공하는 것을 도시한다. 예컨대, 제2 미디어 스트림을 선택하면, 미디어 프레젠테이션 시스템(102)은 프로덕션 미디어 스트림 내에 제1 미디어 스트림을 제공하는 것에서 프로덕션 미디어 스트림 내에 제2 미디어 스트림을 제공하는 것으로 전환한다.
미디어 프레젠테이션 시스템(102)이 시청 클라이언트 장치(104)로 제2 미디어 스트림을 전송하면, 시청 클라이언트 장치는 선택된 제2 미디어 스트림을 시청 사용자에게 제시할 수 있다. 예컨대, 시청 클라이언트 장치(104)가 시청 사용자에게 프로덕션 미디어 스트림을 제시하고 있다면, 프로덕션 미디어 스트림은 시청 클라이언트 장치(104) 상에서 제1 미디어 스트림에서 제2 미디어 스트림으로 자동으로 전환할 수 있다. 즉, 시청 클라이언트 장치(104)의 관점에서 시청 클라이언트 장치(104)는, 미디어 프레젠테이션 시스템(102)이 프로덕션 미디어 스트림 내에서 제1 미디어 스트림을 제공하는 것에서 제2 미디어 스트림을 제공하는 것으로 전환하더라도 프로덕션 미디어 스트림을 계속 시청 사용자에게 제공한다.
이제 도 4b를 참조하면, 일부 예시적 실시예에서 시청 사용자는 미디어 프레젠테이션과 연관되는 하나 이상의 추가 미디어 스트림을 시청할 것을 희망할 수 있다. 예컨대, 시청 사용자가 프로덕션 미디어 스트림을 시청하고 있다면, 시청 사용자는 하나 이상의 추가 미디어 스트림을 시청하기를 요청할 수 있다. 예컨대, 시청 사용자는 추가 각도 및/또는 관점에 액세스하기 위한 그래픽 사용자 인터페이스 옵션을 선택할 수 있다. 따라서, 도 4b의 단계(420)에 도시되는 것처럼, 시청 클라이언트 장치(104)는 이벤트에 대한 추가 미디어 스트림을 시청하기 위한 요청을 수신한다. 도 4b의 단계(422)에 도시되는 것처럼, 시청 클라이언트 장치(104)는 추가 미디어 스트림에 대한 요청을 미디어 프레젠테이션 시스템(102)으로 전송한다. 대안적 실시예로, 시청 클라이언트 장치(104)는 이미 이벤트의 하나 이상의 추가 미디어 스트림에 액세스하고 있을 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 프로덕션 미디어 스트림을 포함하여, 미디어 프레젠테이션의 일부로서 이벤트에 관한 각 미디어 스트림을 전송하고 있을 수 있다. 이와 같이 요청을 수신하면, 시청 클라이언트 장치(104)는 추가 미디어 스트림을 단계(428)에 도시되는 것처럼 시청 사용자에게 제시할 수 있다.
미디어 프레젠테이션 시스템(102)이 미디어 프레젠테이션 시스템(102)으로 추가 미디어 스트림을 제공하기 위한 요청을 시청 클라이언트 장치(104)로부터 수신하는 경우 미디어 프레젠테이션 시스템(102)은 하나 이상의 관련 미디어 스트림을 시청 클라이언트 장치(104)로 제공할 수 있다. 특히, 도 4b의 단계(424)가 도시하는 것처럼, 미디어 프레젠테이션 시스템(102)은 각 미디어 스트림(424)의 미디어 특성에 기반하여 추가 미디어 스트림을 선택한다. 일부 예시로, 미디어 프레젠테이션 시스템(102)은 시청 클라이언트 장치(104)로 제공하기 위한 기결정된 수의 추가 미디어 스트림을 선택할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 전술한 바와 같이 프로덕션 편집을 적용하기 전에 또는 그 후에 임계 품질 표준을 충족하는 미디어 스트림만을 선택할 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 전술한 바와 같이 미디어 스트림을 품질과 미디어 스트림의 품질 레벨에 기반하여 미디어 스트림을 전송할지 여부를 결정하기 위해 각 추가 미디어 스트림의 미디어 특성을 평가할 수 있다.
일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 시청 클라이언트 장치(104)가 제한된 디스플레이 능력을 가진다고 식별할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 시청 클라이언트 장치가 동시에 4개의 미디어 스트림보다 많이 편안하게 디스플레이할 수 없음을 식별할 수 있다. 따라서, 미디어 프레젠테이션 시스템(102)은 제공되는 미디어 스트림의 수를 4이하로 제한할 수 있다. 대안으로, 미디어 프레젠테이션 시스템(102)은 시청 클라이언트 장치의 기능을 무시할 수 있고 시청 클라이언트 장치가 미디어 프레젠테이션 시스템(102)이 시청 클라이언트 장치로 제공하는 다수의 미디어 스트림의 디스플레이를 어떻게 처리할 지를 결정하도록 허용할 수 있다.
도 4b에 도시되는 것처럼, 단계(426)에서 미디어 프레젠테이션 시스템(102)은 추가 미디어 스트림을 시청 클라이언트 장치(104)로 제공한다. 일부의 경우 미디어 프레젠테이션은 추가 미디어 스트림의 감소된 버전을 제공하거나 추가 미디어 스트림으로부터의 부분들을 선택할 수 있다. 예컨대, 대역폭이 제한된다면 미디어 프레젠테이션 시스템(102)은 낮은 품질 해상도의 추가 미디어 스트림을 제공할 수 있다. 추가로 또는 대안으로, 미디어 프레젠테이션 시스템(102)은 추가 미디어 스트림의 제공시에 하나 이상의 미디어 스트림에 대한 오디오를 보류할 수 있다.
단계(428)에 도시되는 것처럼 시청 클라이언트 장치(104)는 시청 사용자에게 추가 미디어 스트림을 제시할 수 있다. 예컨대, 시청 클라이언트 장치(104)는 한번에 가령, 그리드 레이아웃으로 하나 이상의 추가 미디어 스트림을 시청 사용자에게 디스플레이할 수 있다. 대안으로, 시청 클라이언트 장치(104)는 한번에 추가 미디어 스트림 중 하나를 디스플레이하고 시청 사용자가 추가 미디어 스트림을 통해 스크롤링하거나 순환하도록 허용할 수 있다.
하나 이상의 실시예로, 시청 클라이언트 장치(104)는 추가 미디어 스트림을 시청 사용자에게 제시할 때 추가 미디어 스트림의 크기를 다양하게 할 수 있다. 예컨대, 시청 클라이언트 장치(104)는 현재 제시되는 미디어 스트림, 가령 제2 미디어 스트림이나 프로덕션 미디어 스트림의 부분에 걸쳐(예컨대, 사진-내의-사진) 하나 이상의 추가 미디어 스트림을 디스플레이할 수 있다. 다른 예로, 시청 클라이언트 장치(104)는 제2 미디어 스트림의 크기를 감소시킬 수 있고 가령 대칭적인 그리드 레이아웃으로 제2 미디어 스트림에 인접한 하나 이상의 추가 미디어 스트림을 디스플레이할 수 있다. 통상의 기술자는 시청 클라이언트 장치(104)가 다양한 방법과 레이아웃을 사용하여 추가 미디어 스트림을 시청 사용자에게 제시할 수 있음을 인식할 것이다.
시청 클라이언트 장치(104)는 시청 사용자가 하나 이상의 추가 미디어 스트림을 선택하도록 허용할 수 있다. 따라서, 도 4b의 단계(430)가 도시하는 바와 같이 시청 클라이언트 장치(104)는 하나 이상의 추가 미디어 스트림의 선택을 수신한다. 이에 응답하여, 시청 클라이언트 장치(104)는 단계(432)에 도시되는 바와 같이 선택된 미디어 스트림을 시청 사용자에게 제시한다. 시청 클라이언트 장치(104)는 선택된 미디어 스트림으로 제2 미디어 스트림을 대체할 수 있다. 대안으로, 시청 클라이언트 장치(104)는 가령, 나란히 또는 하나가 다른 것을 오버레이하는 것과 같이 제2 미디어 스트림에 추가하여 선택된 미디어 스트림을 제시할 수 있다.
일부 예시적인 실시예로, 시청 클라이언트 장치(104)는 미디어 프레젠테이션 시스템(102)으로부터 더 높은 해상도의 선택된 미디어 스트림을 요청할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)이 시청 사용자가 선택한 추가 미디어 스트림의 저 해상도 또는 절단된 부분을 전송했다면, 시청 클라이언트 장치(104)는 미디어 프레젠테이션 시스템(102)이 시청 클라이언트 장치(104)로 하여금 시청 사용자에게 제시하기 위해 더 높은 해상도의 선택된 미디어 스트림을 전송하라고 요청할 수 있다.
게다가, 하나 이상의 실시예로, 시청 사용자는 시청 사용자가 상이한 미디어 스트림으로부터 별도로 비디오 및 오디오를 선택할 것을 허용할 수 있다. 예컨대, 시청 사용자는 관련 미디어 스트림에 대응하는 다양한 카메라 각도 사이에서 전환할 수 있지만, 가장 명료한 오디오 트랙을 갖는 미디어 스트림으로부터 제공되는 동일한 오디오 채널에 남아있을 수 있다. 또한, 일부의 경우 시청 사용자는 상이한 미디어 스트림으로부터 오디오를 함께 혼합하여 시청 사용자가 다수의 미디어 스트림에 대응하는 오디오를 청취할 수 있도록 할 수 있다. 다른 경우, 시청 사용자는 프로덕션 미디어 스트림을 시청하는 것에 만족할 수 있지만, 영어 오디오 스트림이 아닌 스페인어 또는 불어 오디오 스트림으로 전환하는 것과 같이 상이한 오디오 스트림 사이에서 변경하기를 희망할 수 있다.
전술한 바와 같이 도 4c는 시청 사용자가 이전의 주목할 만한 순간에 대해 미디어 프레젠테이션을 스키밍하는 대안의 실시예를 제공한다. 특히, 도 4c의 단계들(440-452)은 도 4a의 단계(418) 후에 발생할 수 있고, 여기서 미디어 프레젠테이션 시스템(102)은 제2 미디어 스트림을 시청 클라이언트 장치(104)로 제공한다. 즉, 도 4c와 관련하여 기술된 실시예에서 단계는 시청 사용자에게 이벤트에 대응하는 미디어 프레젠테이션이 제공된 후 발생할 수 있다. 특히, 도 4c의 단계(440)에 도시되는 것처럼 미디어 프레젠테이션 시스템(102)은 관련 미디어 스트림으로부터 주목할 만한 순간을 식별한다. 이하에서 추가적인 세부사항으로 설명되는 바와 같이, 미디어 프레젠테이션 시스템(102)은 이벤트에 대응하는 다수의 관련 미디어 스트림으로부터 주목할만한 순간을 식별할 수 있다. 추가로, 후술될 바와 같이, 미디어 프레젠테이션 시스템(102)은 시청 사용자의 사용자 프로필에 기반할 뿐만 아니라 다른 시청 사용자로부터의 소셜 데이터에 기반하여 주목할 만한 순간을 식별할 수 있다.
일반적으로, 주목할 만한 순간은 시청 사용자가 관심이 있을 미디어 스트림의 부분들을 포함할 수 있다. 주목할 만한 순간의 예시는 이벤트의 주목 받을 만한 부분, 하이라이트, 또는 중요한 부분을 포함한다. 예컨대, 주목할 만한 순간은 스포츠 플레이, 컨테스트 수상자(예컨대, 리얼리티 쇼 수상자, 수상자, 로또 당첨자)의 발표, 예술가에 의한 노래 연주, 정치인의 연설, 사람이나 객체의 이미지 등일 수 있다.
미디어 프레젠테이션 시스템(102)은 관련 미디어 스트림 각각으로부터 주목할 만한 순간을 식별할 수 있다. 많은 경우 관련 미디어 스트림은 동일한 컨텐츠 및/또는 주제를 제공하지만 상이한 각도에서 제공한다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 주목할 만한 순간이 다수의 관점으로부터 캡처된다고 식별할 수 있다. 다른 경우 미디어 프레젠테이션 시스템(102)은 단일 미디어 스트림 상에서만 제공되는 관련 미디어 스트림 내에서 주목할 만한 순간을 식별할 수 있다. 예컨대, 캡처 사용자는 동일한 이벤트에서 다른 캡처 사용자는 제공하지 않는, 가령 이벤트에서의 유명인 카메오, 특정 운동 선수의 행위만을 캡처하는 미디어 스트림 상에서 주제를 제공할 수 있다.
전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 또한, 시청 사용자의 사용자 프로필 속성에 기반하여 특정 시청 사용자 특유의 주목할 만한 순간을 식별할 수 있다. 전술한 바와 같이, 사용자(예컨대, 시청 사용자)에 대한 사용자 프로필 속성은 사용자 프로필 정보, 가령 인명 정보, 인구통계 정보, 행동 정보, 소셜 정보, 또는 다른 타입의 기술적 정보를 포함할 수 있다. 추가로, 사용자 프로필 속성은 사용자 행위, 가령 사용자가 생성한 좋아요, 코멘트, 게시물, 공유하기 등을 포함할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 특정 토픽이나 주제에 관한 시청 사용자 코멘트에 기반하여 시청 사용자에게 특정적인 주목할 만한 순간을 식별할 수 있다. 따라서, 시청 사용자의 사용자 프로필 속성을 사용함에 의해 미디어 프레젠테이션 시스템(102)은 시청 사용자에게 특정적으로 관심이 될 수 있는 주목할 만한 순간을 식별할 수 있다.
예시적으로 미디어 프레젠테이션 시스템(102)은 이벤트가 다양한 예술가로부터의 공연을 포함하는 록(rock) 콘서트라고 결정할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 시청 사용자가 특정 록 예술가를 좋아한다고 식별할 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 시청 사용자가 가장 좋아하는 예술가가 록 콘서트에서 공연하는 하나 이상의 주목할 만한 순간을 식별할 수 있다.
미디어 프레젠테이션 시스템(102)은 또한, 소셜 데이터에 기반하여 주목할 만한 순간을 식별할 수 있다. 예컨대, 임계 수의 시청 사용자가 미디어 스트림으로부터 세그먼트를 재생할 때, 미디어 프레젠테이션 시스템(102)은 세그먼트를 주목할 만한 순간으로 식별할 수 있다(예컨대, 미디어 프레젠테이션 시스템(102)은 주목할 만한 순간을 식별하기 위해 미디어 스트림의 가장 많이 시청되고 재생된 부분들을 표시하는 히트-맵(heat-map)을 생성한다). 추가로, 미디어 프레젠테이션 시스템(102)은 세그먼트를 재생하는 시청 사용자로부터 공통의 사용자 프로필 속성을 식별할 수 있다(예컨대, 이 세그먼트를 시청하는 대부분의 시청 사용자는 Pink Floyd 팬들이다). 추가로, 미디어 프레젠테이션 시스템(102)은 주목할 만한 순간을 식별하기 위해 다른 사람들에 의해 공유되는 소셜 미디어로부터의 표시(예컨대, 게시물, 공유하기, 좋아요, 코멘트, 트윗, 메시지 등)를 사용할 수 있다.
일부 실시예로, 미디어 프레젠테이션 시스템(102)은 특정 시청 사용자를 위해 주목할 만한 순간을 우선순위화할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)이 시청 사용자가 미디어 프레젠테이션 시스템(102)이 다수의 주목할 만한 순간을 식별한 스포츠 팀을 선호한다고 감지한다면, 미디어 프레젠테이션 시스템(102)은 식별된 주목할 만한 순간들을 순위화할 수 있다. 미디어 프레젠테이션 시스템(102)은 이후 시청 사용자에게 하나 이상의 미디어 세그먼트를 제공할 때 주목할 만한 순간들의 우선순위를 사용할 수 있다(예컨대, 언제 주목할 만한 순간이 발생했는지와 무관하게 시청 사용자에게 가장 높은 우선순위의 주목할 만한 순간들을 먼저 제공한다).
미디어 프레젠테이션 시스템(102)이 하나의 시청 사용자를 위해 주목할 만한 순간을 식별할 수 있는 것과 같이 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)의 각 시청 사용자를 위해 주목할 만한 순간을 식별할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 모든 시청 사용자를 위해 모든 가능한 주목할 만한 순간을 식별한다. 다음으로, 미디어 프레젠테이션 시스템(102)은 각 시청 사용자의 프로필 속성을 식별된 주목할 만한 순간에 매칭시킨다. 이후, 시청 사용자가 주목할 만한 순간을 시청하기를 요청할 때 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 그 시청 사용자를 위해 이전에 식별하고 매칭한 주목할 만한 순간들 중 하나 이상을 시청 사용자에게 제공할 수 있다.
추가로 또는 대안으로, 미디어 프레젠테이션 시스템(102)은 주목할 만한 순간이 발생함에 따라 또는 주목할 만한 순간이 발생한 후 이벤트에 대한 잠재적인 주목할 만한 순간을 식별할 수 있지만, 주목할 만한 순간을 어떠한 시청 사용자와도 연관시키지 않을 수 있다. 이후 시청 사용자가 주목할 만한 순간을 시청하기를 요청할 때 미디어 프레젠테이션 시스템(102)은 시청 사용자의 프로필 속성 및/또는 소셜 데이터에 기반하여 시청 사용자에게 제공할 하나 이상의 주목할 만한 순간을 식별할 수 있다. 추가로, 시청 사용자가 다양한 주목할 만한 순간을 시청하고 추가 프로필 속성을 나타낼 때(예컨대, 특정 운동선수에 의한 스포츠 플레이를 재생, 특정 예술가에 의한 주목할 만한 순간을 건너뜀, 주목할 만한 순간을 좋아요함 등), 미디어 프레젠테이션 시스템(102)은 추가적인 주목할만한 순간을 식별하거나 및/또는 시청 사용자를 위해 식별된 주목할 만한 순간을 다시 우선순위화할 수 있다. 게다가, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 시청 사용자의 상호작용으로부터 수집된 피드백에 기반하여 시청 사용자를 위해 이전에 식별한 하나 이상의 주목할 만한 순간을 업데이트 및/또는 제거할 수 있다. 예컨대, 시청 사용자가 특정 타입의 주목할 만한 순간을 건너뛴다면, 미디어 프레젠테이션 시스템(102)은 시청 사용자를 위해 식별된 유사한 주목할 만한 순간의 우선순위를 제거하거나 감소시킬 수 있다.
도 4c로 돌아가면 단계(422)에서 미디어 프레젠테이션 시스템(102)은 관련 미디어 스트림으로부터 식별된 주목할 만한 순간으로부터 미디어 세그먼트를 생성한다. 더 구체적으로는, 미디어 프레젠테이션 시스템(102)은 각 식별된 주목할 만한 순간에 대해 미디어 세그먼트를 생성한다. 미디어 프레젠테이션 시스템(102)은 이벤트에 대응하는 미디어 스트림으로부터 세그먼트를 추출 및/또는 복사함으로써 미디어 세그먼트를 생성할 수 있다. 전술한 바와 같이 일부 예시에서, 미디어 프레젠테이션 시스템(102)은 단일 주목할 만한 순간으로부터 다수의 미디어 세그먼트를 생성한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 주목할 만한 순간이 다수의 관련 미디어 스트림에 의해 캡처된다는 것을 식별한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 농구 영역을 통한 상이한 위치에서 3개의 미디어 스트림이 동일한 버저-비터 샷(buzzer-beater shot)을 캡처한다고 식별할 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 3개의 상이한 미디어 스트림에 대해 다수의 미디어 세그먼트를 생성하고, 이들 각각은 상이한 각도 및/또는 관점에서 버저-비터 샷을 캡처한다. 하나 이상의 실시예로, 미디어 프레젠테이션 시스템(102)은 동일 주목할 만한 순간의 상이한 관점들을 포함하는 조합 미디어 세그먼트를 생성하기 위해 둘 이상의 미디어 세그먼트를 조합할 수 있다.
도 4c는, 시청 클라이언트 장치(104)가 미디어 프레젠테이션을 스키밍하기 위한 요청을 수신하는 단계(444)를 도시한다. 더 구체적으로는, 시청 사용자는 미디어 프레젠테이션 시스템(102)을 스키밍하도록 요청하기 위해 시청 클라이언트 장치(104)와 상호작용할 수 있다. 미디어 프레젠테이션의 스키밍은 시청 사용자가 전술한 바와 같이 놓치거나 재생하고자 하는 미디어 프레젠테이션으로부터의 주목할 만한 순간들을 다시보거나 및/또는 재생하도록 허용한다. 이와 같이, 미디어 프레젠테이션으로부터 이전의 컨텐츠를 스키밍함으로써 시청 사용자는 이벤트에 대한 실시간 액션으로 빠르게 "따라잡을 수 있다(catch up)". 게다가, 스키밍은 시청 사용자가 미디어 프레젠테이션으로부터 놓친 순간들을 즐기거나 및/또는 사용자에게 특정 관심사가 되는 하이라이트를 다시 경험하도록 허용한다.
미디어 프레젠테이션을 스키밍하기 위한 요청을 수신하면, 시청 클라이언트 장치(104)는 도 4c의 단계(446)에 도시되는 것처럼 미디어 프레젠테이션 시스템(102)으로 스키밍하기 위한 요청을 전송한다. 일부 실시예로, 시청 클라이언트 장치(104)는 또한, 미디어 프레젠테이션 시스템(102)이 전술한 바와 같이 시청 사용자에게 제공하기 위한 하나 이상의 미디어 세그먼트를 식별함에 있어서 돕기 위해 시청 사용자에 관한 사용자 프로필 정보를 제공할 수 있다. 또한, 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 미디어 프레젠테이션 시스템(102)이 시청 사용자를 위해 식별한 주목할 만한 순간을 업데이트하기 위해 사용자의 프로필 정보 및 상호작용을 사용할 수 있다.
시청 사용자가 미디어 프레젠테이션을 스키밍하기 위한 요청을 수신함에 응답하여, 미디어 프레젠테이션 시스템(102)은 단계(448)가 도 4c에 도시하는 바와 같이 시청 클라이언트 장치(104)로 하나 이상의 미디어 세그먼트를 제공한다. 미디어 프레젠테이션 시스템(102)은 데이터 스트림으로 미디어 세그먼트를 시청 클라이언트 장치(104)에 제공할 수 있다. 대안으로, 미디어 프리젠테이션 시스템(102)은 이산 데이터 파일의 형태로 미디어 세그먼트를 제공할 수 있다. 단계(450)에서, 시청 클라이언트 장치(104)는 미디어 세그먼트를 시청 사용자에게 제시한다. 일예시로, 시청 클라이언트 장치(104)는 미디어 프레젠테이션 시스템(102)으로부터 대응하는 미디어 세그먼트를 수신하면 미디어 세그먼트의 재생을 시작한다. 또한, 시청 클라이언트 장치(104)는 452에 도시되는 바와 같이 시청 사용자가 미디어 세그먼트들을 통해 내비게이션할 수 있게 만든다. 예컨대, 시청 클라이언트 장치(104)는 시청 사용자에게 전술한 바와 같이 주목할 만한 순간에 대응하는 미디어 세그먼트를 일시정지, 재생, 건너뛰기, 다시재생, 재생 속도 변경 등을 하기 위한 옵션을 제공할 수 있다. 추가로, 시청 클라이언트 장치(104)는 사용자가 (예컨대, 그라인드 레이아웃으로 디스플레이되는) 복수의 미디어 세그먼트를 시청하고 미디어 세그먼트 중 하나를 재생할 것을 선택하도록 허용하는 내비게이션 도구를 제공할 수 있다.
예로서 단계(444-452)를 보여주기 위해, Jane이란 이름의 시청 사용자는 콘서트 중간에 Beyonce 콘서트의 미디어 프레젠테이션에 액세스한다. 합류하면 시청 클라이언트 장치(104)는 Beyonce 공연의 관련 미디어 스트림들 사이에서 커트하는 Beyonce 콘서트의 프로덕션 미디어 스트림을 Jane에게 제시한다. 합류한 후 Jane은 Beyonce 콘서트로부터 놓친 순간, 가령 Beyonce가 Jane의 가장 좋아하는 노래 중 하나를 연주한 순간을 시청하기를 요청할 수 있다. 이와 같이, 시청 클라이언트 장치(104)는 요청을 미디어 프레젠테이션 시스템(102)으로 전송할 수 있다. 이에 응답하여, 미디어 프레젠테이션 시스템(102)은 콘서트 동안에 발생한 하나 이상의 주목할 만한 순간에 대응하는 미디어 세그먼트를 시청 클라이언트 장치(104)로 전송하며, 이들의 일부 또는 전부는 가령, Jane의 가장 좋아하는 Beyonce 노래와 같은 Jane에게 특별한 관심이 되는 것일 수 있다. 또한, Jane은 예컨대, 덜 흥미로운 순간을 건너뛰고 실시간 공연으로 되돌리는 것과 같이 상이한 미디어 세그먼트를 통해 내비게이션 할 수 있다.
도 5 내지 7은 본 명세서에 기술되는 미디어 프레젠테이션 시스템(102)으로 이벤트(예컨대, 야구 경기)로부터의 미디어 스트림을 다수의 사용자들이 제공하고, 미디어 프레젠테이션 시스템(102)은 하나 이상의 미디어 스트림을 적어도 하나의 시청 사용자에게 제공하는 예시적인 예들을 제공한다. 특히, 도 5는 미디어 프레젠테이션 시스템의 다수의 사용자들이 야구 경기의 미디어 스트림을 제공하는 야구 경기장을 도시한다. 도 6은 도 5의 야구 경기의 캡처 사용자들에 의해 제공되는 예시적인 미디어 스트림을 도시한다. 추가로, 도 7은 야구 경기에서 캡처 사용자들에 의해 제공되는 미디어 스트림으로부터 혼합된 미디어 스트림(예컨대, 프로덕션 미디어 스트림)을 생성하기 위한 방법을 보여주는 시퀀스 흐름도를 도시한다.
전술한 바와 같이, 도 5는 야구 경기를 주최하는 야구 경기장(500)을 도시한다. 미디어 프레젠테이션 시스템(102)의 하나 이상의 캡처 사용자는 야구 경기장(500)에서의 야구 경기에 참석하고 있을 수 있다. 도 5가 도시하는 바와 같이, 캡처 사용자들은 경기장 전체에 걸쳐 상이한 위치에서 배치된다. 캡처 사용자는 Jake(512a), Sue(512b), Mark(512c), Lisa(512d), Rob(512e) 및 Ryan(512f)(이하, 집합적으로 "캡처 사용자(512)"라 함)을 포함한다. 각 캡처 사용자(512)는 미디어 프레젠테이션 시스템(102)으로 미디어 스트림을 제공할 수 있는 클라이언트 장치(예컨대, 캡처 클라이언트 장치)와 연관된다.
하나 이상의 실시예로, 클라이언트 장치는 미디어 프레젠테이션 시스템(102)으로 클라이언트 장치의 위치를 자동으로 보고하는 능력을 포함할 수 있다. 예컨대, 일부 클라이언트 장치는 그들의 위치를 식별하기 위해 GPS 및/또는 WI-FI를 사용할 수 있다. 대안으로, 캡처 사용자는 수동으로 그의 또는 그녀의 위치를 입력할 수 있다. 예컨대, 캡처 사용자는 경기장 지도 상에 그 또는 그녀가 야구 경기장 내에 앉아 있는 곳을 식별할 수 있다. 다른 예로, 캡처 사용자는 장소 및 자리 위치(예컨대, 섹션, 열, 자리)를 제공할 수 있다. 어떻게 클라이언트 장치가 그것의 위치를 결정하는 지와 무관하게 클라이언트 장치는 미디어 프레젠테이션 시스템(102)으로 그것의 위치 또는 위치 정보를 보고할 수 있다. 각 사용자의 위치에 기반하여, 미디어 프레젠테이션 시스템(102)은 야구 경기장(500) 및 다른 캡처 사용자(512)에 대한 각 사용자의 위치를 보여주는 위치 지도 또는 도식을 채울 수 있다. 예컨대, 도 5에 도시된 바와 같이, Jake(512a) 및 Sue(512b)는 좌측 필드 옆에 위치하며, Mark(512c)는 홈 플레이트 뒤에 있고, Lisa(512d) 및 Ryan(512f)은 제1 베이스 라인을 따르고, Robert(512d)는 대형 스크린(514)의 앞에 그리고 센터 필드를 바로 넘어서는 스탠드 내에 위치한다.
야구 경기 중에 하나 이상의 캡처 사용자(512)는 전술한 바와 같이 각각 미디어 프레젠테이션 시스템(102)으로 미디어 스트림을 제공하고 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 시청 사용자에게 제공할 수 있다. 예컨대, Mark(512c)는 그의 클라이언트 장치를 사용하여, 가령 대형 타자가 타석에 있을 때, 홈 플레이트에서 플레이가 있을 때, 투수의 마운드에서 회의가 있을 때 등의 야구 경기 중 상이한 시간에 홈 플레이트 뒤로부터 미디어 스트림을 제공한다. 다른 캡처 사용자(512)는 또한, 야구 경기장(500) 내의 그들 각각의 위치로부터 미디어 스트림을 제공할 수 있다. 캡처 사용자(512)가 야구 경기장(500) 내에서 펼쳐져 있기 때문에 하나 보다 많은 캡처 사용자(512)가 미디어를 캡처하고 동시에 미디어 스트림을 제공하는 경우 미디어 프레젠테이션 시스템(102)은 이벤트의 미디어 프레젠테이션을 시청하는 시청 사용자에게 어떤 미디어 스트림을 제공할 지를 결정할 수 있다. 또한, 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 다양한 캡처 사용자(512)의 클라이언트 장치로부터 다양한 미디어 스트림 사이에서 전환함으로써 야구 경기의 상이한 각도 및 관점을 시청 사용자에게 제공할 수 있다.
미디어 프레젠테이션 시스템(102)으로 캡처 사용자(512)가 미디어 스트림을 캡처하고 제공하는 것에 추가로, 미디어 프레젠테이션 시스템(102)은 또한, 제3자, 가령 방송국, 뉴스 크루, 텔레비전 네트워크, 라디오 아나운서, 전문 사진가, 또는 야구 경기를 캡처하는 다른 엔티티로부터 미디어 스트림을 획득할 수 있다. 하나의 예시로, 미디어 프레젠테이션 시스템(102)은 스포츠 중계자가 제공한 오디오를 캡처 사용자(512)가 제공한 비디오 미디어 스트림과 혼합할 수 있다. 이와 같이 미디어 프레젠테이션 시스템(102)은 스포츠 아나운서로부터의 동기화된 오디오와 페어링되는 야구 경기에서 캡처 사용자(512)에 의해 제공되는 비디오 스트림을 시청 사용자에게 제공할 수 있다.
유사한 방식으로, 하나 이상의 제3자는 야구 경기에서 캡처된 하나 이상의 미디어 스트림에 액세스하기 위해 미디어 프레젠테이션 시스템(102)과 통신할 수 있다. 예컨대, 스포츠 네트워크는 야구 경기에서 캡처 사용자(512) 중 하나에 의해 제공되는 하나 이상의 미디어 스트림으로부터의 클립(clip)을 방송할 수 있다. 다른 예로, 도 5는 야구 경기장에서 경기의 실시간 액션과 리플레이를 보여주는 큰 비디오 스크린 또는 "대형 스크린"(514)을 도시한다. 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 경기장 프로덕션 크루에게 제공할 수 있고, 경기장 프로덕션 크루는 대형 스크린(514) 상에 미디어 스트림 중 하나를 디스플레이한다(예컨대, 대형 스크린(514)은 Lisa(512d)가 제공한 미디어 스트림을 보여준다).
일부 예시적 실시예로, 다수의 캡처 사용자(512)는 동일한 위치, 카메라 각도, 또는 동일한 관점으로부터 미디어 스트림을 캡처할 수 있다. 이러한 실시예에서, 미디어 프레젠테이션 시스템(102)은 사용자가 중복되는 미디어 스트림을 제공한다는 알림을 캡처 사용자(512) 중 하나에게 제공할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 미디어 특성을 비교하는 것에 기반하여 어떤 미디어 스트림이 중복되는지를 결정할 수 있다. 예컨대, 도 5에 도시되는 것처럼 Jake(512a)와 Sue(512b)는 서로 가깝게 위치한다. 미디어 프레젠테이션 시스템(102)은 Jake(512a)에 의해 제공되는 미디어 스트림보다 유사한 관점으로부터 Sue(512b)로부터의 미디어 스트림이 전체적으로 더 낫다고 결정할 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 Jake(512b)에게 그의 미디어 스트림이 그 시간에 필요하지 않다고 알릴 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 Jake(512a)가 다른 위치로 이동하도록 추천하거나, 또는 Jake(512a)에게 Sue(512b)가 야구 경기의 미디어 스트림을 더 이상 제공하지 않는다고 알릴 수 있다.
야구 경기에서 캡처 사용자(512)가 경기의 미디어 스트림을 제공하는 것에 추가로, 야구 경기에서의 시청 사용자는 미디어 프레젠테이션 시스템(102)을 통해 하나 이상의 미디어 스트림을 시청할 수 있다. 예컨대, 야구 경기에서의 시청 사용자는 경기의 상이한 각도를 시청하기 위해 미디어 프레젠테이션 시스템(102)을 사용할 수 있다. 다른 예시로, 주목할 만한 순간이 경기에서 발생한 후 시청 사용자는 전술된 시스템 및 방법을 사용하여 주목할 만한 순간의 리플레이를 시청하기 위해 경기에서 캡처된 미디어 스트림에 액세스할 수 있다.
일부의 경우, 미디어 프레젠테이션 시스템(102)은, 가령 정의된 지오펜스 영역(즉, 실제 세상의 지리적 영역에 대한 가상의 경계) 내에 시청 사용자가 있는 것에 기반하여 및/또는 시간 윈도우로 액세스를 부여하는 것과 같이 경기에 있는 사용자들로만 야구 경기에서 캡처된 실시간 미디어 스트림의 배포를 제한할 수 있다. 예컨대, Mark(512c), Lisa(512d) 및 Rob(512e)이 제공하는 미디어 스트림은 가령 Jake(512a)와 Sue(512b)와 같은 경기에 있는 다른 사용자들에게만 오로지 시청가능하다. 대안으로 또는 추가로, 미디어 프레젠테이션 시스템(102)은 야구 경기에 있지 않은 미디어 프레젠테이션 시스템(102)의 다른 시청 사용자들에게 미디어 스트림을 제공할 수 있다. 일부의 경우, 미디어 프레젠테이션 시스템(102)은 경기가 종료한 후에만, 또는 실시간 스트리밍 미디어 세그먼트가 제공된 이후 임계 기간이 경과한 후(예컨대, 2시간의 지연)에만 미디어 세그먼트로의 다른 액세스를 허용할 수 있다.
하나 이상의 실시예로, 사용자의 클라이언트 장치의 능력에 따라, 캡처 사용자는 미디어 스트림을 제공하는 동안 이와 동시에 미디어 스트림을 시청할 수 있다. 예컨대, 클라이언트 장치는 사용자가 야구 경기의 영상을 캡처하면서 동시에 다수의 미디어 세그먼트를 시청하도록 허용하는 분할 스크린을 제공할 수 있다. 다른 예시로, 클라이언트 장치는 야구 경기에 있는 다른 사용자(512)에 의해 제공되는 미디어 스트림의 이미지 위에 미디어 스트림의 더 작은 이미지(예컨대, 사진 내의 사진)를 제공할 수 있다.
추가 설명을 위해, 도 6은 도 5에 도시되는 캡처 사용자들(512b-f)에 의해 제공되는 야구 경기의 다양한 미디어 스트림(620b-f)을 도시한다. 일반적으로, 도 6은 야구 경기에서 캡처 사용자들(512b-f)에 의해 제공되는 상이한 각도 및 관점을 도시한다. 특히, Sue(512b)는 제2 미디어 스트림(620b)을 제공하는데, 이는 좌측 필드 위의 스탠드로부터 야구 경기를 보여준다. Mark(512c)는 제3 미디어 스트림(620c)을 제공하는데, 이는 홈 플레이트의 뒤쪽으로부터 경기의 뷰를 보여준다. Lisa(512d)는 제4 미디어 스트림(620d)을 제공하는데, 이는 마운드에서의 투수의 뷰를 보여준다. Rob(512e)은 제5 미디어 스트림(620e)을 제공하는데, 이는 외야로부터의 경기의 뷰를 보여준다. 마지막으로, Ryan(512f)은 제6 미디어 스트림(620f)을 제공하는데, 이는 그의 손목시계의 이미지를 보여준다. 주목할 것은, Jake(512a)로부터의 제1 미디어 스트림은, Jake의 미디어 스트림이 Sue가 제공하는 제2 미디어 스트림에 비추어 볼 때 중복되거나 및/또는 Jake가 현재 미디어 스트림을 미디어 프레젠테이션 시스템(102)에 제공하지 않기 때문에 도시되지 않는다는 것이다.
일부 예시적인 실시예에서 도 6에 도시되는 것처럼, 미디어 스트림을 제공하는 캡처 사용자의 이름 및/또는 이미지가 미디어 스트림의 좌측 하단 코너에 보여진다. 이와 같이, 시청 사용자가 미디어 스트림을 시청할 때, 캡처 사용자의 이름 및/또는 이미지가 미디어 스트림 내에서 시청 사용자에게 디스플레이된다. 예컨대, Mark의 사진이 도 6에서 제3 미디어 스트림(520c)의 좌측 하단 코너에 보여진다. 추가로, 캡처 사용자의 미디어 스트림이 대형 스크린(514) 상에 디스플레이될 때, 대형 스크린(514)은 캡처 사용자의 이름 및/또는 이미지를 디스플레이하여 경기장에 있는 팬들이 누가 미디어 스트림을 제공하는 지를 볼 수 있도록 한다. 일부 실시예로, 미디어 스트림은 미디어 스트림이 특정 엔티티 또는 회사에 의해 스폰서됨을 표시하는 브랜드(예컨대, 로고)를 디스플레이할 수 있다.
일부 예시로, 미디어 프레젠테이션 시스템(102)은 시청 사용자로부터의 정보 및/또는 캡처 사용자의 사진을 숨기거나 초기에 은폐할 수 있다. 시청 사용자가 정보에 액세스하기를 요청하면, 미디어 프레젠테이션 시스템(102)은 메뉴 또는 다른 디스플레이 인터페이스에 대응하는 정보를 캡처 사용자에게 제공할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 어떤 캡처 사용자가 미디어 스트림을 제공하는 지를 표시하는 크레딧 디스플레이를 제시할 수 있다.
간략히 전술한 바와 같이, 도 7은 혼합된 미디어 스트림(예컨대, 프로덕션 미디어 스트림)을 생성하기 위한 방법(700)을 보여주는 시퀀스 흐름도를 도시한다. 설명의 목적으로, 도 5에 도시된 캡처 사용자들(512b-f)에 의해 제공되는 도 6에 도시된 미디어 스트림(620b-f)을 참조할 것이다. 따라서, 미디어 프레젠테이션 시스템(102)은 도 5-6에 대응하는 야구 경기에서 캡처 사용자(512b-f)에 의해 제공되는 미디어 스트림을 사용하여 혼합된 미디어 스트림(예컨대, 프로덕션 미디어 스트림)을 생성할 수 있다.
도 7에 도시되는 것처럼, 미디어 프레젠테이션 시스템(102)을 갖는 하나 이상의 서버(101)는 시청 클라이언트 장치(104) 및 다수의 캡처 클라이언트 장치(705)와 통신한다. 시청 클라이언트 장치(104) 및 하나 이상의 연락 클라이언트 장치(705)는 도 2와 관련하여 기술된 클라이언트 장치(들)(204)의 예시적인 실시예일 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 본 명세서에 기술되는 미디어 프레젠테이션 시스템에 대응할 수 있다.
단계(710)에 도시되는 것처럼, 다수의 클라이언트 장치(705)는 이벤트에서 미디어를 캡처한다. 특히, 캡처 사용자(512b-f)(예컨대, Sue(512b), Mark(512c), Lisa(512d), Rob(512e) 및 Ryan(512f))은 야구 경기의 영상을 캡처하기 위해 다수의 캡처 클라이언트 장치들(705)을 사용한다. 야구 경기로부터 컨텐츠를 캡처하면, 도 7의 단계(712)에 도시되는 것처럼 캡처 사용자(512b-f)는 각각 미디어 스트림(예컨대, 미디어 스트림(620b-f))을 미디어 프레젠테이션 시스템(102)으로 전송한다.
다수의 미디어 스트림(620b-f)을 수신하면, 미디어 프레젠테이션 시스템(102)은 단계(714)에 도시되는 것처럼 각 미디어 스트림에 대한 미디어 특성을 결정한다. 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 미디어 스트림과 연관되거나 및/또는 미디어 스트림 내에 나타나는 하나 이상의 미디어 특성을 식별하기 위해 미디어 스트림을 분석할 수 있다. 예로서, 미디어 프레젠테이션 시스템(102)은 미디어 특성을 식별하기 위해 Sue(620b)에 의해 제공되는 제2 미디어 스트림(620b)을 분석할 수 있다. 도시되는 것처럼, 제2 미디어 스트림(620b)은 좌측 필드 근처로부터의 Sue의 관점에서 제3 베이스 라인을 따라 야구 필드를 보여준다. 제2 미디어 스트림(620b)에 기반하여, 미디어 프레젠테이션 시스템(102)은 Sue의 캡처 클라이언트 장치의 신호 강도, 제2 미디어 스트림(620b)의 해상도 및/또는 프레임 레이트, 제2 미디어 스트림(620b)의 흔들림, Sue의 경기장 위치(예컨대, Sue의 경기장 내의 장소), 및 Sue의 클라이언트 장치가 향하고 있는 방향(예컨대, 자이로스코프를 사용하여 Sue의 클라이언트 장치가 필드를 마주보고 있는지 감지 및/또는 확인)과 같은 미디어 특성을 식별할 수 있다.
추가로, 미디어 프레젠테이션 시스템(102)은 제2 미디어 스트림(620b) 자체로부터 추가 미디어 특성, 가령 제2 미디어 스트림(620b)의 각도 및 관점(예컨대, 파노라마, 와이드 앵글, 클로즈-업, 극도의 클로즈-업 등), Sue와 필드 상의 액션 사이의 근접도(예컨대, 액션이 Sue에게 가까운 곳에서 발생하고 있는지 여부)를 식별할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 오디오 특성에 대응하는 미디어 특성, 가령 제2 미디어 스트림(620b)이 인식가능한 오디오, 노이즈의 양 및 간섭, 어떤 주파수가 가장 두드러지는지, 및 볼륨 레벨을 식별할 수 있다.
일부의 경우, 미디어 프레젠테이션 시스템(102)은 추가 미디어 특성을 식별하기 위해 이미지 인식을 사용할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 투수의 얼굴 및/또는 투수의 이름이나 그의 유니폼 번호를 인식하는 것에 기반하여 제4 미디어 스트림(620d)이 특정 야구 투수를 도시한다고 결정한다. 유사하게, 미디어 프레젠테이션 시스템(102)은 미디어 특성을 감지하기 위해 오디오 인식을 사용할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 특정 선수가 언제 타석에 있는지를 식별하기 위해 오디오 인식을 사용한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 경기장에서 아나운서가 "Next up, Bryce Harper."라고 언제 말하는지를 감지한다.
일부 실시예로, 미디어 프레젠테이션 시스템(102)은 제3자 소스로부터 메타데이터를 사용하여 미디어 스트림에 대한 미디어 특성을 식별할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 경기에 있는 분석가로부터 경기 통계 및 데이터를 수신할 수 있다. 예컨대, 경기 통계는 언제 각 선수가 타석에 있고 언제 선수가 주목할 만한 플레이를 하는지, 언제 점수가 변하는지 등을 미디어 프레젠테이션 시스템(102)에 알릴 수 있다. 이 정보를 사용하여, 미디어 프레젠테이션 시스템(102)은 미디어 스트림(620b-f) 각각에 대해 하나 이상의 컨텍스트 미디어 특성을 생성할 수 있다. 즉, 선수가 타석에 들어서거나 플레이를 할 때마다 미디어 프레젠테이션 시스템(102)은 미디어 특성을 하나 이상의 다수의 미디어 스트림(620b-f)과 연관시킬 수 있어서, 선수의 활동 및 활동이 발생한 시간 간격을 표시한다. 미디어 프레젠테이션 시스템(102)은 이후 주목할 만한 순간들을 식별할 때 컨텍스트 정보 및/또는 미디어 특성을 사용할 수 있다.
추가 세부사항으로 이하에서 후술되는 바와 같이, 미디어 프레젠테이션 시스템(102)은 다수의 미디어 스트림(620b-f)으로부터 혼합된 미디어 스트림을 생성한다. 특히, 미디어 프레젠테이션 시스템(102)이 각 미디어 스트림에 대한 미디어 특성을 결정하면, 미디어 프레젠테이션 시스템(102)은 혼합된 미디어 스트림을 위해 사용하도록 하나 이상의 미디어 스트림 사이에서 선택할 수 있다. 또한, 미디어 프레젠테이션 시스템(102)은 각 미디어 스트림의 미디어 특성을 감안하는 것에 추가로 언제 컷을 할지 또는 하나의 미디어 스트림에서 다른 미디어 스트림으로 전환할 지를 결정하기 위해 다양한 프로덕션 템플릿 또는 비디오 포맷을 사용할 수 있다.
예시를 위해, 단계(716)에서 미디어 프레젠테이션 시스템(102)은 미디어 특성에 기반하여 가장 좋은 비디오 품질을 갖는 미디어 스트림을 미디어 스트림들(620b-f)로부터 선택한다(예컨대, 미디어 프레젠테이션 시스템(102)은 비디오 품질로 미디어 스트림으로부터 비디오 스트림을 선택한다). 예컨대, 미디어 프레젠테이션 시스템(102)은 어떤 미디어 스트림이 최선의 안정도, 카메라 각도, 줌 레벨, 얼굴 인식, 이미지 인식, 캡처 클라이언트 장치의 위치, 액션의 커버리지 등을 제공하는지를 결정한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 Lisa(512d)로부터의 제4 미디어 스트림(620d)이 가장 좋은 비디오 품질을 제공한다고 결정한다. 추가로, 미디어 프레젠테이션 시스템(102)은, Ryan(512f)으로부터의 제6 미디어 스트림(620f)이 야구 경기로부터 전송됨에도 불구하고 제6 미디어 스트림(620f)이 손목시계를 보여주고 야구 경기와 관련되지 않기 때문에 제6 미디어 스트림(620f)이 가장 좋은 비디오 품질을 제공하지 않는다고 결정한다.
단계(718)에서, 미디어 프레젠테이션 시스템(102)은 결정된 미디어 특성에 기반하여 가장 좋은 오디오 품질을 갖는 가장 좋은 미디어 스트림(들)을 다수의 미디어 스트림들(620b-f)로부터 선택한다(예컨대, 미디어 프레젠테이션 시스템(102)은 오디오 품질로 미디어 스트림으로부터 오디오 스트림을 선택한다). 예컨대, 미디어 프레젠테이션 시스템(102)은 가장 명료한 오디오 및 가장 적은 간섭을 갖는 미디어 스트림을 선택한다. 일실시예로, 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 제3자로부터 제공되는, 가령 스포츠 방송 시스템으로부터 직접 제공되는 오디오 피드를 사용한다. 따라서, 미디어 프레젠테이션 시스템(102)이 하나의 미디어 스트림에서 비디오를 선택하고 다른 미디어 스트림에서 오디오를 선택한다면, 미디어 프레젠테이션 시스템(102)은 상이한 선택된 미디어 스트림으로부터의 비디오 스트림과 오디오 스트림을 함께 혼합할 수 있다. 일부 예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 다수의 미디어 스트림으로부터의 오디오를 함께 혼합한다. 예컨대, 미디어 프레젠테이션 시스템(102)이 콘서트에 대한 혼합된 미디어 스트림을 제공하고 있다면, 미디어 프레젠테이션 시스템(102)은 아마도 보조 마이크 및/또는 스테레오 녹음 장치를 사용하여 정면 근처에 있는 캡처 사용자로부터 제공되는 오디오를 주로 사용할 수 있다. 미디어 프레젠테이션 시스템(102)은 또한, 이벤트에 있는 다양한 다른 캡처 클라이언트 장치로부터의 오디오의 부분들을 추가할 수 있다.
단계(720)에서 미디어 프레젠테이션 시스템(102)은 선택적으로 비디오 편집을 수행할 수 있다. 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 비디오 편집, 가령 이미지 크롭핑, 이미지 안정화, 적목 감소, 크기조정, 회전, 트리밍, 리터칭(retouching) 등을 수행할 수 있다. 추가로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림의 오디오 트랙에 오디오 필터를 적용할 수 있다. 이와 같이, 미디어 프레젠테이션 시스템(102)은 혼합된 미디어 스트림을 생성하고 혼합된 미디어 스트림을 시청 사용자에게 제공하기 전에 각 선택된 미디어 스트림의 전체 품질을 향상시킬 수 있다. 예컨대, 일부 예시적 실시예로, 미디어 프레젠테이션 시스템(102)은 다양한 편집 효과, 가령 텍스트, 스티커, 소리/음악, 음성 필터 및 시각 필터를 추가할 수 있다. 예시적으로, 미디어 프레젠테이션 시스템(102)은 동적으로 스마트 텍스트를 미디어 스트림에 추가할 수 있다. 일반적으로, 스마트 텍스트는 컨텍스트적으로 관련된 텍스트, 가령 미디어 스트림 내에 감지된 객체와 연관되는 텍스트를 포함한다. 추가로, 스마트 텍스트는 스티커 또는 다른 비-텍스트 그래픽, 가령 이디오그램(ideogram), 스마일, 그림문자, 프레임 또는 미디어 스트림 주변의 경계, 또는 미디어 스트림 내의 미디어와 시각적으로 상호작용하는 다른 그래픽을 포함할 수 있다.
일부 예시적인 실시예로, 스마트 텍스트는 미디어 스트림 내에 식별된 특징에 고정될 수 있다. 이와 같이, 스마트 텍스트는 식별된 특징과 연계하여 미디어 스트림 내에서 이동할 수 있다. 예시적으로, 풋볼 선수의 이름이 풋볼 선수 옆에 디스플레이된다면, 풋볼 선수가 풋볼 필드를 가로질러 이동함에 따라, 미디어 프레젠테이션 시스템(102)은 이미지 내에서 풋볼 선수와 연계하여 라벨을 이동시킬 수 있다. 유사하게, 미디어 프레젠테이션 시스템(102)은 상이한 각도로부터 풋볼 필드를 보여주는 미디어 스트림들 사이에서 전환한다면, 미디어 프레젠테이션 시스템(102)은 스마트 텍스트를 동적으로 재배치하여 풋볼 선수와 재정렬되도록 할 수 있다.
추가로, 미디어 스트림 내에서 컨텐츠를 감지하는 것에 기반하여 미디어 스트림에 추가된 스마트 텍스트와 연계하여, 미디어 프레젠테이션 시스템(102)은 식별된 컨텐츠의 형상이나 궤적에 매칭하도록 스마트 텍스트를 추가할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)이 미디어 스트림 내에서 곡선 객체를 감지한다면, 미디어 프레젠테이션 시스템(102)은 곡선 객체의 곡선 가장자리를 따라 스마트 텍스트를 디스플레이할 수 있다. 유사하게, 미디어 프레젠테이션 시스템(102)은 감지된 객체의 형상이나 아웃라인이 변화함에 따라 스마트 텍스트의 형상이 변화하도록 할 수 있다. 예컨대, 미디어 스트림이 피사체를 확대하면 피사체와 연관된 텍스트 레이블의 크기가 또한, 증가할 수 있다.
예시적인 실시예로, 미디어 프레젠테이션 시스템(102)은 (예컨대, 이미지 인식을 통해 감지된) 미디어 스트림 내의 컨텐츠에 기반하여 및/또는 미디어 스트림과 연관된 메타데이터(예컨대, 위치, 시간, 태그 등)에 기반하여 어떤 스마트 텍스트를 추가할 지를 제안할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 미디어 스트림이 특정 테마(예컨대, 바다, 산, 파티)와 관련된다고 감지할 수 있고, 그리하여 식별된 테마와 연관되는 스마트 텍스트를 추천할 수 있다. 추가로, 일부 실시예로, 미디어 프레젠테이션 시스템(102)은 컨텍스트적으로 관련되는 스마트 텍스트, 가령 무대 위의 가수 또는 리플레이에서 보여지는 중요한 플레이를 수행한 운동선수의 이름을 자동으로 추가할 수 있다.
미디어 프레젠테이션 시스템(102)이 비디오 편집을 수행하는지와 무관하게, 미디어 프레젠테이션 시스템(102)은 단계(722)에서 도시되는 것처럼 혼합된 미디어 스트림을 생성하기 위해 선택된 미디어 스트림들을 함께 혼합한다. 특히, 미디어 프레젠테이션 시스템(102)은 혼합된 미디어 스트림을 생성하기 위해 가장 좋은 비디오 품질을 갖는 선택된 미디어 스트림을 가장 좋은 오디오 품질을 갖는 선택된 미디어 스트림(들)과 조합한다. 미디어 프레젠테이션 시스템(102)은 이벤트에 대응하는 미디어 프레젠테이션 내에 혼합된 미디어 스트림을 포함시킬 수 있다.
일반적으로 다수의 미디어 스트림(620b-f)들을 함께 혼합, 조합 및 그들 사이에서 커팅할 때에 미디어 프레젠테이션 시스템(102)은 다양한 미디어 스트림들을 함께 동기화하여 하나의 미디어 스트림에서 다른 미디어 스트림으로 전환하는 것이 시청 사용자에게 매끄럽게 나타나도록 할 수 있다. 하나 이상의 실시예로, 미디어 프레젠테이션 시스템(102)은 둘 이상의 미디어 스트림을 동기화하기 위해 오디오 큐들을 사용할 수 있다. 예컨대, 미디어 프레젠테이션 시스템(102)은 동일한 주파수 변화를 감지하고 미디어 스트림들을 함께 정렬할 수 있다. 추가로 또는 대안의 실시예로, 미디어 프레젠테이션 시스템(102)은 미디어 스트림을 함께 정렬하기 위해 각 미디어 스트림과 연관된 타임스탬프를 사용할 수 있다. 일부 실시예로, 미디어 프레젠테이션 시스템(102)은 비디오 큐들, 가령 광 플래시의 패턴을 사용하여 다양한 미디어 스트림을 동기화할 수 있다.
도 7에 도시된 단계(724)에서 미디어 프레젠테이션 시스템(102)은 혼합된 미디어 스트림을 시청 사용자와 연관된 시청 클라이언트 장치(104)로 제공한다. 예컨대, 미디어 프레젠테이션 시스템(102)은 시청 사용자가 시청 클라이언트 장치 상에서 이벤트와 연관되는 미디어 프레젠테이션에 액세스하기 위한 옵션을 선택함에 응답하여 혼합된 미디어 스트림을 제공할 수 있다. 혼합된 미디어 스트림을 수신하면, 시청 사용자는 시청 클라이언트 장치(104)를 사용하여 혼합된 미디어 스트림을 시청 및/또는 청취할 수 있다. 혼합된 미디어 스트림을 시청 클라이언트 장치(104)로 초기에 전송한 후에 미디어 프레젠테이션 시스템(102)은 단계(726)에 도시되는 것처럼 각 미디어 스트림의 미디어 특성을 업데이트한다. 전술한 바와 같이, 미디어 프레젠테이션 시스템(102)은 각 미디어 스트림에 대한 변화를 감안하기 위해 각 미디어 스트림의 미디어 특성을 계속적으로 재평가할 수 있다. 결과로서, 미디어 프레젠테이션 시스템(102)은 다시 미디어 특성, 가령 비디오 품질, 오디오 품질, 신호 강도, 카메라 각도, 과거 사용자 성과, 이전의 시청/좋아요의 수 등을 결정한다. 요약하자면, 미디어 프레젠테이션 시스템(102)은 시퀀스 흐름 방법(700)의 단계들(716-726)을 반복할 수 있다.
상술한 바 이외에, 본 발명의 실시예들은 또한 특정 결과를 달성하는 방법 내 행위들 및 단계들을 포함하는 흐름도의 관점에서 기술될 수 있다. 예컨대, 아래에 기술되는 도 8 내지 10은 본 발명의 하나 이상의 실시예에 따른 예시적인 방법들의 흐름도를 도시한다. 도 8 내지 10에 관하여 서술된 방법은 적거나 많은 단계/행위로 수행될 수 있거나 단계/행위는 상이한 순서로 수행될 수 있다. 나아가, 본 명세서에 서술된 단계/행위는 반복되거나 서로 병행하여 또는 동일하거나 유사한 단계/행위의 다른 인스턴스와 병행하여 수행될 수 있다.
도 8은 본 명세서에 기술되는 하나 이상의 실시예에 따른 하나 이상의 사용자에게 미디어 스트림을 동적으로 제공하는 방법(800)의 흐름도를 도시한다. 일부 예시적 실시예로, 방법(800)은 미디어 프레젠테이션 시스템, 가령 이전의 도면들에 서 상기에 개시된 미디어 프레젠테이션 시스템(102)에 의해 수행될 수 있다. 방법(800)은 미디어 스트림을 수신하는 행위(802)를 포함한다. 특히, 행위(802)는 통신 시스템(102)의 캡처 사용자(112)와 연관되는 클라이언트 장치(104)로부터 미디어 스트림을 수신하는 것을 수반할 수 있다. 미디어 스트림은 오디오(예컨대, 오디오 스트림), 비디오(예컨대, 비디오 스트림), 또는 오디오 및 비디오의 조합을 포함할 수 있다. 추가로, 행위(802)는 이벤트에 있는 하나 이상의 캡처 사용자에 대응하는 하나 이상의 미디어 스트림을 수신하는 것을 수반할 수 있다. 유사하게, 방법(800)은 미디어 스트림에 대응하는 이벤트를 식별하는 행위를 포함할 수 있다.
방법(800)은 미디어 스트림에 대한 특성을 결정하는 행위(804)를 또한, 포함한다. 특히, 행위(804)는 미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하는 것을 수반할 수 있다. 예컨대, 행위(804)는 미디어 특성, 가령 비디오 특성, 오디오 특성, 신호 강도 특성, 및/또는 메타데이터 특성을 식별하기 위해 미디어 스트림을 분석하는 것을 수반할 수 있다. 일부의 경우, 방법(800)은 시청 사용자들의 그룹으로 미디어 스트림을 전송하도록 결정하기 전에 하나 이상의 미디어 특성에 가중치를 부과하는 행위를 포함할 수 있다.
방법(800)은 시청 사용자들의 그룹으로 미디어 스트림을 전송하도록 결정하는 행위(806)를 포함한다. 특히, 행위(806)는 하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하도록 결정하는 것을 수반할 수 있다. 예컨대, 행위(806)는 미디어 스트림이 다른 사람들과 공유하기 전에 최소 품질 표준을 충족하는지 여부를 결정하는 것을 수반할 수 있다. 예컨대, 행위(806)는 비디오 품질 및/또는 오디오 품질에 대응하는 미디어 스트림의 미디어 특성이 임계 레벨 이상이라고 결정하는 것을 더 수반할 수 있다.
추가로, 방법(800)은 시청 사용자들의 그룹으로 미디어 스트림을 전송하는 행위(808)를 포함한다. 특히, 행위(808)는 미디어 스트림 특성이 다른 사람들과 미디어 스트림을 공유하는 것이 유리할 때 시청 사용자들의 그룹으로 미디어 스트림을 전송하는 것을 수반할 수 있다. 사용자들의 그룹으로 미디어 스트림을 전송하면 시청 사용자들의 그룹으로부터의 하나 이상의 캡처 사용자들의 그룹으로부터 피드백을 수신하는 것을 이끌어낼 수 있다. 예컨대, 시청 사용자들의 그룹 내의 시청 사용자는 미디어 스트림에 코멘트하거나, 좋아요하거나, 감상하거나, 공유할 수 있다.
방법(800)은 특성의 변화를 감지하는 행위(810)를 더 포함한다. 특히, 행위(810)는 하나 이상의 미디어 특성 내의 변화를 감지하는 것을 수반할 수 있다. 일부 예시로, 하나 이상의 미디어 특성의 변화를 감지하는 행위(810)는 미디어 스트림에 액세스하거나 및/또는 이와 상호작용하는 시청 사용자들의 그룹 내의 시청 사용자들의 수를 감지하는 것을 수반할 수 있다. 또한, 행위(810)는 미디어 스트림의 비디오 품질, 오디오 품질, 또는 다른 미디어 특성의 변화를 감지하는 것을 수반할 수 있다. 추가로, 방법(800)은 하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세스하는 시청 사용자들의 수가 임계 숫자에 도달했다고 결정하는 행위를 포함할 수 있다.
방법(800)은 감지된 변화에 기반하여 그룹을 수정하는 행위(812)를 더 포함한다. 특히, 행위(812)는 하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하는 것을 수반할 수 있다. 일부 예시적인 실시예로, 행위(812)는 시청 사용자들을 시청 사용자들의 그룹으로 추가하거나, 대체하거나, 또는 제거하는 것을 수반할 수 있다.
방법(800)은 수정된 시청 사용자들의 그룹으로 미디어 스트림을 전송하는 행위(814)를 더 포함한다. 추가로 방법(800)은 시청 사용자와 연관되는 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에, 복수의 미디어 프레젠테이션을 제공하고, 각각의 대응하는 미디어 스트림 프레젠테이션에 대한 하나 이상의 미디어 특성을 결정하며, 각 대응하는 미디어 스트림에 대해 결정된 하나 이상의 미디어 특성에 기반하여 미디어 프레젠테이션 피드 내의 복수의 미디어 프레젠테이션을 우선순위화하는 행위를 포함할 수 있고, 복수의 미디어 프레젠테이션 각각은 미디어 스트림에 대응한다.
일부 예시적인 실시예로, 방법(800)은 미디어 스트림을 하나 이상의 추가 시청 사용자와 공유하기 위해 시청 사용자들의 그룹의 시청 사용자로부터 요청을 수신하는 행위를 포함할 수 있다. 추가로, 요청에 응답하여, 방법(800)은 메시지 스트림으로의 링크를 포함하는 메시지를 생성하고 링크를 갖는 메시지를 하나 이상의 추가 시청 사용자에게 전송하는 행위를 포함할 수 있다. 하나 이상의 실시예로, 방법(800)은 통신 시스템의 추가 캡처 사용자와 연관된 추가 클라이언트 장치로부터 추가 미디어 스트림을 수신하고, 사용자들의 그룹으로 추가 미디어 스트림을 전송하도록 결정하고 미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션의 일부로서 시청 사용자들의 그룹으로 추가 미디어 스트림을 전송하는 행위를 포함할 수 있다. 방법(800)은 또한, 시청 사용자와 연관되는 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 미디어 프레젠테이션을 제공하는 행위를 포함할 수 있고, 미디어 프레젠테이션은 미디어 스트림과 추가 미디어 스트림을 포함한다.
추가적인 실시예로, 방법(800)은 미디어 스트림을 시청 사용자들의 그룹으로 전송하기 전에 미디어 스트림에 프로덕션 편집을 전용하는 행위를 포함할 수 있다. 일부의 경우 프로덕션 편집의 적용은 정사각형 크롭핑을 미디어 스트림에 적용하는 것을 포함할 수 있다. 추가로 일부의 경우, 프로덕션 편집의 적용은 클라이언트 장치로부터 수신된 자이로스코프 정보에 기반하여 미디어 스트림을 안정화시키는 것을 포함한다.
도 9는 본 명세서에 기술되는 하나 이상의 실시예에 따라 복수의 관련 미디어 스트림으로부터 미디어 스트림을 생성하는 방법(900)의 흐름도를 도시한다. 일부 예시적인 실시예로, 방법(900)은 미디어 프레젠테이션 시스템, 가령 이전의 도면들과 관련하여 위에서 논의된 미디어 프레젠테이션 시스템(102)에 의해 수행될 수 있다.
방법(900)은 캡처 사용자들로부터 관련 미디어 스트림을 수신하는 행위(902)를 포함한다. 특히, 행위(902)는 해당하는 복수의 캡처 사용자들과 연관되는 복수의 클라이언트 장치로부터 복수의 관련 미디어 스트림을 수신하는 것을 수반할 수 있다. 예컨대, 행위(902)는 공통의 이벤트, 가령 콘서트, 스포츠 경기, 연설, 공연 등에서 다수의 캡처 사용자로부터 다양한 미디어 스트림을 수신하는 것을 수반할 수 있다.
방법(900)은 또한, 미디어 프레젠테이션을 시청 사용자에게 전송하는 행위(904)를 포함한다. 특히, 행위(904)는 복수의 미디어 스트림으로부터의 컨텐츠를 포함하는 미디어 프레젠테이션을 시청 사용자(110)와 연관된 클라이언트 장치(104)로 전송하는 것을 수반할 수 있다. 예컨대, 행위(904)는 미디어 프레젠테이션을 생성하기 위해 관련 미디어 스트림으로부터 하나 이상의 미디어 스트림을 혼합하고 미디어 프레젠테이션을 시청 사용자에게 전송하는 것을 수반할 수 있다. 일부 예시적인 실시예로, 미디어 프레젠테이션은 공통의 위치에서 캡처된 하나 이상의 미디어 스트림의 표현일 수 있다. 예컨대, 일부 실시예로, 행위(904)는 미디어 스트림이 가상으로 정의된 지리적 경계를 갖는 이벤트인 공통의 위치에서 캡처 사용자에 의해 제공된다고 결정하는 것을 수반할 수 있다.
방법(900)은 각 미디어 스트림에 대한 특성의 데이터 스트림을 생성하는 행위(906)를 더 포함한다. 특히, 행위(906)는 각 미디어 스트림에 대한 시간-기반의 미디어 특성의 데이터 스트림을 생성하는 것을 수반할 수 있다. 행위(906)는 각 미디어 스트림에 대한 미디어 특성을 결정하는 것을 수반할 수 있다. 결정된 미디어 특성을 사용하여, 행위(906)는 데이터 스트림 내에 결정된 미디어 특성을 전송하는 것을 수반할 수 있다. 추가로, 미디어 특성이 업데이트됨에 따라 행위(906)는 업데이트된 미디어 특성을 데이터 스트림 내에 전송하는 것을 수반할 수 있다.
방법(900)은 미디어 프레젠테이션 내에 제공하기 위한 제1 미디어 스트림을 선택하는 행위(908)를 추가로 포함한다. 특히, 행위(908)는 데이터 스트림 내의 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션 내에 제공하기 위해 복수의 미디어 스트림으로부터 제1 미디어 스트림을 선택하는 것을 수반할 수 있다. 예컨대, 행위(908)는 다른 데이터 스트림들에 비해 가장 좋은 또는 적어도 평균 이상의 미디어 특성을 갖는 제1 미디어 스트림에 기반하여 제1 미디어 스트림을 선택하는 것을 수반할 수 있다.
방법(900)은 미디어 프레젠테이션 내에 제1 미디어 스트림을 제공하는 것에서 제2 미디어 스트림을 제공하는 것으로 전환하는 행위(910)를 포함한다. 특히, 행위(910)는, 데이터 스트림 내의 업데이트된 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션을 갖는 제1 미디어 스트림을 제공하는 것에서 미디어 프레젠테이션 내에 복수의 미디어 스트림으로부터의 제2 미디어 스트림을 제공하는 것으로 전환하는 것을 수반할 수 있다. 예컨대, 행위(910)는 데이터 스트림 내의 업데이트된 시간-기반의 미디어 특성에 기반하여, 제2 미디어 스트림이 제1 미디어 스트림보다 현재 더 나은 미디어 특성을 가진다는 것을 감지하는 것을 수반할 수 있다.
방법(900)은 또한, 제1 미디어 스트림과 제2 미디어 스트림 둘 모두가 공통의 주제를 캡처한다고 식별하고, 제1 미디어 스트림과 제2 미디어 스트림이 공통의 주제의 상이한 관점을 제공한다고 감지하는 행위를 포함할 수 있고, 제1 미디어 스트림의 선택은 제1 미디어 스트림에 의해 제공되는 관점에 부분적으로 기반하여 제1 미디어 스트림을 선택하는 것을 포함한다.
일부 예시적 실시예로, 방법(900)은 복수의 미디어 스트림으로부터 제3 미디어 스트림을 식별하고, 데이터 스트림 내의 시간-기반의 미디어 특성에 기반하여, 제3 미디어 스트림으로부터 오디오를 선택하며, 미디어 프레젠테이션 내에 제1 미디어 스트림을 제공하기 전에 제3 미디어 스트림으로부터의 오디오를 제1 미디어 스트림 내에 혼합하는 행위를 포함할 수 있다. 추가로, 방법(900)은 미디어 프레젠테이션 내에 제2 미디어 스트림을 제공할 때 제2 미디어 스트림으로 제3 미디어 스트림으로부터의 오디오를 혼합하는 행위를 포함할 수 있다. 다른 실시예로, 방법(900)은 제1 미디어 스트림 내의 영향력 있는 인물의 얼굴을 감지하고, 제1 미디어 스트림 내에서 영향력 있는 인물의 얼굴을 감지하는 것에 기반하여 제1 미디어 스트림과 연관된 미디어 특성을 업데이트하는 행위를 포함할 수 있다.
일부 실시예로, 방법(900)은 미디어 프레젠테이션 내에 제공되는 제2 미디어 스트림에서의 오디오 정적의 기간을 감지하고, 제1 미디어 스트림으로부터 이전의 세그먼트를 식별하며, 제2 미디어 스트림을 제공하는 것에서 미디어 프레젠테이션 내에 제1 미디어 스트림으로부터 식별된 이전의 세그먼트를 제공하는 것으로 전환하는 행위를 포함할 수 있고, 제1 미디어 스트림으로부터 이전의 세그먼트를 식별하는 것은 시청 사용자로부터 수신된 피드백에 기반하여 제1 미디어 스트림으로부터 이전의 세그먼트를 식별하는 것을 포함한다.
추가로, 하나 이상의 실시예에서, 방법(900)은 프로듀싱 사용자와 연관된 클라이언트 장치로 관련 미디어 스트림을 제공하고, 프로듀싱 사용자와 연관된 클라이언트 장치로 미디어 프레젠테이션 내에 실시간 관련 미디어 스트림들 중 어떤 미디어 스트림을 제공할 지에 대한 컨트롤을 전달하고, 프로듀싱 사용자와 연관된 클라이언트 장치로부터, 미디어 프레젠테이션 내에 포함시킬 관련 미디어 스트림 중 미디어 스트림의 선택을 수신하는 행위를 포함할 수 있다. 추가로, 방법(900)은 프로듀싱 사용자와 연관된 클라이언트 장치로부터, 어떤 캡처 사용자가 미디어 스트림을 제공할 수 있는지의 표시를 수신하는 행위를 포함할 수 있고, 여기서 일부의 경우, 프로듀싱 사용자는 영향력 있는 인물이다. 방법(900)은 또한, 데이터 스트림 내의 시간-기반의 미디어 특성에 기반하여, 프로듀싱 사용자가 미디어 프레젠테이션 내에 제공하도록 선택하기 위한 미디어 스트림을 추천하는 행위를 포함할 수 있다.
일부 실시예로, 방법(900)은 또한, 제2 미디어 스트림 내의 객체를 감지하고, 식별된 객체에 대응하는 텍스트를 식별하며, 텍스트를 객체 옆에 있는 제2 미디어 스트림에 추가하고, 추가된 텍스트를 갖는 제2 실시간 미디어 스트림 내의 식별된 객체를 추적하는 행위를 포함할 수 있다.
도 10은 본 명세서에 기술되는 하나 이상의 실시예에 따른 미디어 스트림의 주목할 만한 순간을 식별하고 제공하기 위한 방법(1000)의 흐름도를 도시한다. 일부 예시적인 실시예로, 방법(1000)은 미디어 프레젠테이션 시스템, 가령 이전의 도면들에서 앞서 논의된 미디어 프레젠테이션 시스템(102)에 의해 수행될 수 있다.
방법(1000)은 이벤트에 대응하는 캡처 사용자로부터의 미디어 스트림을 수신하는 행위(1002)를 포함한다. 특히, 행위(1002)는 복수의 캡처 사용자로부터 복수의 미디어 스트림을 수신하는 것을 수반할 수 있고, 여기서 복수의 미디어 스트림은 이벤트에 대응한다. 예컨대, 행위(1002)는 공통의 이벤트, 가령 콘서트, 스포츠 경기, 연설, 공연 등에 있는 다수의 캡처 사용자로부터 다양한 미디어 스트림을 수신하는 것을 수반할 수 있다. 행위(1002)는 또한, 시청 사용자와 연관되는 클라이언트 장치로 이벤트와 연관되고 미디어 스트림을 포함하는 미디어 프레젠테이션을 제공하는 것을 수반할 수 있고, 하나 이상의 미디어 세그먼트를 제공하는 것은 미디어 프레젠테이션 내에 하나 이상의 미디어 세그먼트를 제공하는 것을 포함한다. 일부의 경우 하나 이상의 미디어 세그먼트는 미디어 스트림 내에 시청 사용자와 연관되는 클라이언트 장치로 제공된다. 다른 실시예로, 하나 이상의 미디어 세그먼트는 미디어 스트림 내에서 시청 사용자와 연관된 클라이언트 장치로 제공된다.
방법(1000)은 이벤트로부터 주목할 만한 순간을 식별하는 행위(1004)를 또한, 포함한다. 특히, 행위(1004)는 복수의 미디어 스트림 중 적어도 하나의 미디어 스트림에 의해 캡처된 이벤트로부터의 복수의 주목할 만한 순간을 식별하는 것을 수반할 수 있다. 예컨대, 행위(1004)는 이벤트에 대응하는 소셜 데이터에 기반하여 복수의 미디어 세그먼트로부터 하나 이상의 미디어 세그먼트를 식별하는 것을 수반할 수 있고, 여기서 일부의 경우 이벤트에 대응하는 소셜 데이터는 각 주목할 만한 순간의 뷰들을 포함한다.
하나 이상의 실시예로, 방법(1000)은 또한, 복수의 미디어 스트림에 의해 캡처된 이벤트로부터의 주목할 만한 순간을 식별하고, 식별된 주목할 만한 순간에 대응하는 다수의 미디어 세그먼트를 생성하고, 시청 사용자와 연관된 클라이언트 장치로, 식별된 주목할 만한 순간에 대응하는 다수의 주목할 만한 순간들 중 하나 이상을 제공하는 행위를 포함할 수 있고, 각 미디어 세그먼트는 복수의 미디어 스트림 중 상이한 미디어 스트림으로부터 생성된다.
추가로, 방법(1000)은 식별된 주목할 만한 순간에 대응하는 미디어 세그먼트를 생성하는 행위(1006)를 포함한다. 특히, 행위(1006)는 식별된 복수의 주목할 만한 순간에 대응하는 복수의 미디어 세그먼트를 생성하는 것을 수반할 수 있다. 예컨대, 행위(1006)는 이벤트에서 발생한 식별된 주목할 만한 순간에 대응하는 미디어 세그먼트를 생성 및 저장하는 것을 수반할 수 있다.
방법(1000)은 시청 사용자의 프로필 속성에 기반하여 미디어 세그먼트를 식별하는 행위(1008)를 포함한다. 특히, 행위(1008)는 시청 사용자의 하나 이상의 프로필 속성에 기반하여 복수의 미디어 세그먼트로부터 하나 이상의 미디어 세그먼트를 식별하는 것을 수반할 수 있다. 일부의 경우 시청 사용자의 프로필 속성은 시청 사용자의 관심사, 시청 사용자에 의한 코멘트, 또는 시청 사용자에 의한 공유를 포함할 수 있다.
방법(1000)은 시청 사용자에게 미디어 세그먼트를 제공하는 행위(1010)를 포함한다. 특히, 행위(1010)는 시청 사용자와 연관된 클라이언트 장치로 하나 이상의 미디어 세그먼트를 제공하는 것을 수반할 수 있다. 예컨대, 행위(1010)는 시청 사용자와 연관된 클라이언트 장치로부터 시청 사용자와 연관된 클라이언트 장치로 하나 이상의 미디어 세그먼트를 제공하기 위한 요청을 수신하는 것을 수반할 수 있다.
일부 예시적인 실시예로, 방법(1000)은 복수의 캡처 사용자로부터의 복수의 미디어 스트림으로부터 미디어 스트림을 생성하고, 시청 사용자와 연관된 클라이언트 장치로 복수의 미디어 스트림으로부터 생성된 미디어 스트림을 제공하며, 복수의 미디어 스트림으로부터의 컨텐츠의 지연을 감지하고, 미디어 스트림 내에 선택된 하나 이상의 미디어 세그먼트를 제공하며, 복수의 미디어 스트림으로부터의 컨텐츠 내의 지연의 완료를 감지하고, 미디어 스트림 내에 복수의 미디어 스트림으로부터의 컨텐츠를 제공하는 행위를 포함할 수 있다.
방법(1000)은 또한, 시청 사용자와 연관된 클라이언트 장치로부터, 다음 주목할 만한 순간으로 내비게이션하기 위한 사용자 입력을 수신하고, 다음 주목할 만한 순간으로 내비게이션하기 위한 요청에 응답하여, 시청 사용자와 연관된 클라이언트 장치로 다음의 식별된 주목할 만한 순간을 제공하는 행위를 포함할 수 있다. 추가로, 방법(1000)은 시청 사용자가 시청 사용자와 연관된 클라이언트 장치로 제공된 하나 이상의 다수의 주목할 만한 순간 중 하나를 다시 재생하는 것을 감지하고, 시청 사용자와 연관된 클라이언트 장치로, 식별된 주목할 만한 순간에 대응하는 다수의 주목할 만한 순간 중 다른 주목할 만한 순간을 제공하는 행위를 포함할 수 있다.
하나 이상의 실시예로, 방법(1000)은 시청 사용자의 프로필 속성의 변화를 감지하고, 시청 사용자의 프로필 속성의 변화에 기반하여 복수의 미디어 세그먼트로부터 하나 이상의 추가 미디어 세그먼트를 식별하며, 시청 사용자와 연관된 클라이언트 장치로 하나 이상의 추가 미디어 세그먼트를 제공하는 행위를 포함할 수 있다.
본 명세서의 실시예는 이하에서 더 상세히 논의되는 바와 같이 컴퓨터 하드웨어, 가령 예컨대, 하나 이상의 프로세서 및 시스템 메모리를 포함하는 특수 목적용 또는 범용 컴퓨터를 포함하거나 이용할 수 있다. 본 명세서의 범위 내의 실시예들은 또한 컴퓨터 실행가능한 명령어 및/또는 데이터 구조를 실행하거나 저장하기 위한 물리적 및 다른 컴퓨터 판독가능한 매체를 포함한다. 특정한, 본 명세서에 서술되는 하나 이상의 프로세스는 적어도 부분적으로 컴퓨터 판독가능한 비-일시적 저장매체에 포함되고 하나 이상의 컴퓨팅 장치(예컨대, 본 명세서에 서술되는 임의의 매체 컨텐츠 접근 장치)에 의해 실행가능한 명령어로서 구현될 수 있다. 일반적으로, 프로세서(예컨대, 마이크로프로세서)는 컴퓨터 판독가능한 비-일시적 저장매체(예컨대, 메모리, 기타 등등)으로부터 명령어를 수신하고, 그들 명령어를 실행하고, 그럼으로써 본 명세서에 서술되는 하나 이상의 프로세스를 포함하는 하나 이상의 프로세스를 수행한다.
컴퓨터 판독가능한 매체는 일반 목적 또는 특수 목적용 컴퓨터 시스템에 의해 접근될 수 있는 임의의 사용가능한 미디어일 수 있다. 컴퓨터-실행가능한 명령어를 저장하는 컴퓨터-판독가능한 매체는 비-일시적 컴퓨터-판독가능한 저장 매체(장치들)이다. 컴퓨터-실행가능한 명령어를 수행하는 컴퓨터 판독가능한 매체는 전송 매체이다. 따라서, 예로서 제한 없이, 본 명세서의 실시예는 적어도 2개의 구별되는 상이한 종류의 컴퓨터-판독가능한 매체: 비-일시적 컴퓨터-판독가능한 저장 매체(장치들) 및 전송 매체를 포함할 수 있다.
비-일시적 컴퓨터-판독가능한 저장 매체(장치들)는 RAM, ROM, EEPROM, CD-ROM, SSDs(solid state drives)(예컨대, RAM 기반), 플래시 메모리, PCM(phase-change memory), 다른 타입의 메모리, 다른 광디스크 저장소, 자기 디스크 저장소나 다른 자기 저장 장치, 또는 컴퓨터-실행가능한 명령어나 데이터 구조의 형태로 소정의 프로그램 코드 수단을 저장하는데 사용될 수 있고, 범용 또는 특수목적용 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
"네트워크"는 컴퓨터 시스템 및/또는 모듈 및/또는 다른 전자 장치 사이에서 전자 데이터의 운반을 가능하게 하는 하나 이상의 데이터 링크로 정의된다. 정보가 네트워크 또는 다른 통신 연결(유선, 무선, 또는 유선이나 무선의 조합)을 거쳐 컴퓨터로 전송되거나 제공되면, 컴퓨터는 적절하게 연결을 전송 매체로서 볼 수 있다. 전송 매체는 소정의 프로그램 코드 수단을 컴퓨터 실행가능한 명령어 또는 데이터 구조의 형태로 옮기고 일반 목적 또는 특수 목적용 컴퓨터에 의해 접근가능한 네트워크 및/또는 데이터 링크를 포함할 수 있다. 상기의 조합 또한 컴퓨터 판독가능한 매체의 범위에 포함되어야 한다.
나아가, 다양한 컴퓨터 시스템 구성요소에 이르러, 컴퓨터 실행가능한 명령어 또는 데이터 구조의 형태의 프로그램 코드 수단은 자동으로 전송 매체에서 비-일시적 컴퓨터 판독가능한 저장 매체(장치)로 전송될 수 있다(또는 그 반대). 예컨대, 네트워크나 데이터 링크 상에서 수신된 컴퓨터-실행가능한 명령어나 데이터 구조는 네트워크 인터페이스 모듈(예컨대, "NIC") 내의 RAM에서 버퍼링될 수 있고, 이후 컴퓨터 시스템에서 컴퓨터 시스템 RAM 및/또는 적은 휘발성의 컴퓨터 저장 매체(장치들)로 결국 전달될 수 있다. 그러므로, 비-일시적 컴퓨터 판독가능한 저장 매체(장치)는 전송 매체 또한(또는 주로) 이용하는 컴퓨터 시스템 구성요소에 포함될 수 있음이 이해될 것이다.
컴퓨터 실행가능한 명령어는 예컨대 프로세서에 의해 실행될 때, 일반 목적 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 프로세싱 장치가 특정한 기능 또는 기능의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다. 일부 실시예에서, 컴퓨터 실행가능한 명령어는 일반 목적용 컴퓨터에서 실행되어 일반 목적용 컴퓨터를 본 명세서의 요소를 구현하는 특수 목적용 컴퓨터로 바꿀 수 있다. 컴퓨터 실행가능한 명령어는, 예컨대 이진수, 어셈블리 언어와 같은 중간 형태 명령어 또는 소스 코드일 수 있다. 주제가 구조적 특징 및/또는 방법론적 행위 특유의 언어로 서술됐지만, 첨부된 청구항에 정의된 주제는 상술한 특징 또는 행위에 반드시 제한되지 않는다는 것이 이해될 것이다. 오히려, 서술된 특징 및 행위는 청구항을 구현하는 예시적인 형태로서 개시된 것이다.
통상의 기술자는 본 명세서가 개인용 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 메시지 프로세서, 휴대용 장치, 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 기기, 네트워크 PC, 미니 컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 태블릿, 페이저, 라우터, 스위치 등등의 많은 타입의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실현됨을 이해할 것이다. 본 명세서는 또한 네트워크를 통해 연결된(유선 데이터 링크, 무선 데이터 링크 또한 유선과 무선 데이터 링크의 조합에 의하여) 로컬 및 원격 컴퓨터 시스템 양자가 작업을 수행하는 분산형 시스템 환경에서 실현될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 양자에 저장될 수 있다.
본 명세서의 실시예는 또한, 클라우드 컴퓨팅 환경에서 구현될 수 있다. 본 설명에서, "클라우드 컴퓨팅"은 구성가능한 컴퓨팅 자원들의 공유된 풀로의 온-디맨드 네트워크 액세스를 가능하게 하기 위한 모델로 정의된다. 예를 들어, 클라우드 컴퓨팅은 유비쿼터스와 구성가능한 컴퓨팅 장원의 공유된 풀에 편리한 주문형 네트워크 접근을 제안하는 마켓플레이스에 채용될 수 있다. 구성가능한 컴퓨팅 자원의 공유된 풀은 신속하게 가상화를 통해 제공되고 낮은 관리 노력 또는 서비스 제공자 상호작용으로 방출될 수 있고, 그 후 따라 조정될 수 있다.
클라우드 컴퓨팅 모델은 예컨대, 주문형 셀프 서비스, 넓은 네트워크 접근, 자원 풀링, 신속한 탄력성, 계산된 서비스, 기타 등등과 같은 다양한 특징으로 이루어질 수 있다. 클라우드-컴퓨팅 모델은 또한, 다양한 서비스 모델, 가령 예컨대, SaaS(Software as a Service), PaaS(Platform as a Service), 및 IaaS(Infrastructure as a Service)를 노출시킬 수 있다. 클라우드 컴퓨팅 모델은 또한 개인형 클라우드, 커뮤니티 클라우드, 공공 클라우드, 하이브리드 클라우드, 기타 등등과 같은 상이한 배치 모델을 사용하여 배치될 수 있다. 본 설명 및 청구범위에서, "클라우드-컴퓨팅 환경"은 클라우드 컴퓨팅이 이용되는 환경이다.
도 11은 앞서 기술된 하나 이상의 프로세스를 수행하도록 구성될 수 있는 예시적인 컴퓨팅 장치(1100)의 블록도를 도시한다. 통상의 기술자는 하나 이상의 컴퓨팅 장치, 가령 컴퓨팅 장치(1100)가 시스템(102) 및/또는 컴퓨팅 장치들(104, 105, 204, 104, 305, 15, 405 및 705)을 구현할 수 있음을 인식할 것이다. 도 11에 도시되는 것처럼, 컴퓨팅 장치(1100)는, 통신 인프라구조(1112)에 의해 통신가능하게 연결될 수 있는 프로세서(1102), 메모리(1104), 저장 장치(1106), I/O 인터페이스(1108) 및 통신 인터페이스(1110)를 포함할 수 있다. 예시적인 컴퓨팅 장치(1100)가 도 11에 도시되나, 도 11에 도시된 구성요소는 제한하는 의도가 아니다. 추가 또는 대안적 컴포넌트들이 다른 실시예에서 사용될 수 있다. 나아가, 특정 실시예에서, 컴퓨팅 장치(1100)는 도 11에 도시된 것보다 적은 구성요소를 포함할 수 있다. 도 11에 도시된 컴퓨팅 장치(1100)의 컴포넌트들은 이제 추가적으로 상세히 기술될 것이다.
하나 이상의 실시예에서, 프로세서(1102)는 명령어, 가령 컴퓨터 프로그램을 구성하는 것들을 실행하기 위한 하드웨어를 포함한다. 예로서 제한 없이, 명령어를 실행하기 위해, 프로세서(들)(1102)는 내부 레지스터, 내부 캐시, 메모리(1104) 또는 저장 장치(1106)로부터 명령어를 검색(또는 페치(fetch))할 수 있고, 명령어를 디코딩하고 실행할 수 있다. 하나 이상의 실시예에서, 프로세서(1102)는 데이터, 명령어 또는 주소를 위한 하나 이상의 내부 캐시를 포함할 수 있다. 예로서 제한 없이, 프로세서(1102)는 하나 이상의 명령어 캐시, 하나 이상의 데이터 캐시, 및 하나 이상의 TLBs(translation lookaside buffers)를 포함할 수 있다. 명령어 캐시에 저장된 명령어들은 메모리(1104)나 저장소(1106) 내 명령어들의 사본일 수 있다.
메모리(1104)는 데이터, 메타데이터, 프로세서(들)에 의한 실행을 위한 프로그램을 저장하기 위해 사용될 수 있다. 메모리(1104)는 하나 이상의 휘발성 및 비휘발성 메모리, 예컨대 랜덤 액세스 메모리("RAM")상태 디스크("SSD"), 플래시, 상변화 메모리("PCM") 또는 다른 타입의 데이터 저장소를 포함할 수 있다. 메모리(1104)는 내부 또는 분산형 메모리일 수 있다.
저장 장치(1106)는 데이터나 명령어를 저장하기 위한 저장소를 포함한다. 예로서 제한 없이, 저장 장치(1106)는 상술한 비-일시적 저장 매체를 포함할 수 있다. 저장 장치(1106)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광디스크, 자기-광학 디스크, 자성 테이프, 또는 USB(Universal Serial Bus) 드라이브나 둘 이상의 이들의 조합을 포함할 수 있다. 적절한 경우, 저장 장치(1106)는 착탈식 또는 비-착탈식(또는 고정식) 매체를 포함할 수 있다. 저장 장치(1106)는 컴퓨팅 장치(1100)에 내부 또는 외부에 있을 수 있다. 하나 이상의 실시예로, 저장 장치(1106)는 비휘발성, 고체-상태(solid-state) 메모리이다. 다른 실시예로, 저장 장치(1106)는 읽기 전용 메모리(ROM)을 포함한다. 적절한 경우, 이 ROM은 마스크 프로그램된(mask programmed) ROM, 프로그램가능한 ROM(PROM), 삭제가능한 PROM(EPROM), 전기적으로 삭제가능한 PROM(EEPROM), 전기적으로 변경가능한 ROM(EAROM)이나 플래시 메모리 또는 둘 이상의 이들의 조합일 수 있다.
I/O 인터페이스(1108)는 사용자가 입력을 제공하고, 출력을 수신하고, 다르게 컴퓨팅 장치(1100)와 데이터를 주고받을 수 있게 한다. I/O 장치/인터페이스(1108)는 마우스, 키패드 또는 키보드, 터치 스크린, 카메라, 광학식 스캐너, 네트워크 인터페이스, 모뎀, 기타 알려진 I/O 장치 또는 이러한 I/O 인터페이스의 조합을 포함할 수 있다. I/O 인터페이스(1108)는 그래픽 엔진, 디스플레이(예컨대, 디스플레이 스크린), 하나 이상의 출력 드라이버(예컨대, 디스플레이 드라이버), 하나 이상의 오디오 스피커, 및 하나 이상의 오디오 드라이버를 포함하지만 이들로 제한되지 않는 사용자에게 출력을 제시하기 위한 하나 이상의 장치를 포함할 수 있다. 특정 실시예에서, I/O 인터페이스(1108)는 사용자에게 표시하기 위하여 디스플레이에 그래픽 데이터를 제공하도록 구성된다. 그래픽 데이터는 특정 구현을 제공할 수 있는 하나 이상의 그래픽 사용자 인터페이스 및/또는 임의의 다른 그래픽 컨텐츠를 표현할 수 있다.
통신 인터페이스(1110)는 하드웨어, 소프트웨어 또는 양자를 포함할 수 있다. 어떤 경우에도, 통신 인터페이스(1110)는 컴퓨팅 장치(1100)와 하나 이상의 다른 컴퓨팅 장치나 네트워크 사이의 통신(가령, 예컨대 패킷-기반 통신)을 위한 하나 이상의 인터페이스를 제공할 수 있다. 예로서 제한 없이, 통신 인터페이스(1110)는 이더넷이나 다른 유선-기반 네트워크로 통신하기 위한 네트워크 인터페이스 제어장치(NIC)나 네트워크 어댑터 또는 가령 WI-FI와 같이 무선 네트워크로 통신하기 위한 무선 NIC(WNIC)나 무선 어댑터를 포함할 수 있다.
추가로 또는 대안으로, 통신 인터페이스(1110)는 애드 혹 네트워크, PAN(personal area network), LAN(local area network), WAN(wide area network), MAN(metropolitan area network)이나 하나 이상의 인터넷의 부분들 또는 둘 이상의 이들의 조합으로 통신을 용이하게 할 수 있다. 하나 이상의 이런 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예컨대, 통신 인터페이스(1110)는 무선 PAN(WPAN)(가령 예컨대, BLUETOOTH WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(가령 예컨대, GSM(Global System for Mobile Communications) 네트워크)나 다른 적절한 무선 네트워크 또는 이들의 조합으로 통신을 용이하게 할 수 있다.
추가로, 통신 인터페이스(1110)는 다양한 통신 프로토콜을 사용하여 통신을 용이하게 할 수 있다. 사용될 수 있는 통신 프로토콜의 예는, 데이터 전송 매체, 통신 장치, Transmission Control Protocol("TCP"), Internet Protocol("IP"), File Transfer Protocol("FTP"), Telnet, Hypertext Transfer Protocol("HTTP"), Hypertext Transfer Protocol Secure("HTTPS"), Session Initiation Protocol("SIP"), Simple Object Access Protocol("SOAP"), Extensible Mark-up Language("XML")와 그 변형, Simple Mail Transfer Protocol("SMTP"), Real-Time Transport Protocol("RTP"), User Datagram Protocol("UDP"), Global System for Mobile Communications("GSM") 기술, Code Division Multiple Access("CDMA") 기술, Time Division Multiple Access("TDMA") 기술, Short Message Service("SMS"), Multimedia Message Service("MMS"), radio frequency("RF") 신호 기술, Long Term Evolution("LTE") 기술, 무선 통신 기술, 인-밴드 및 아웃-오브-밴드 신호 기술, 및 다른 적절한 통신 네트워크와 기술을 포함하지만 이들로 제한되지 않는다.
통신 인프라구조(1112)는 컴퓨팅 장치(1100)의 컴포넌트들을 서로 결합하는 하드웨어, 소프트웨어 또는 둘 모두를 포함할 수 있다. 예로서 제한 없이, 통신 인프라구조(1112)는 AGP(Accelerated Graphics Port)나 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, FSB(front-side bus), HT(HYPERTRANSPORT) 상호연결, ISA(Industry Standard Architecture) 버스, INFINIBAND 상호연결, LPC(low-pin-count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCIe(PCI-Express) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standards Association local) 버스나 다른 적절한 버스 또는 이들의 조합을 포함할 수 있다.
전술한 바와 같이, 통신 시스템(100)은 소셜 네트워킹 시스템을 포함할 수 있다. 소셜 네트워킹 시스템은 사용자들(가령 사람이나 단체)이 시스템 및 서로와 상호작용하는 것을 가능하게 할 수 있다. 소셜 네트워킹 시스템은 사용자로부터의 입력으로 사용자와 연관된 사용자 프로필을 생성하고 소셜 네트워킹 시스템에 저장할 수 있다. 사용자 프로필은 사용자의 인구학적 정보, 통신-채널 정보 및 개인 관심사에 대한 정보를 포함할 수 있다. 소셜 네트워킹 시스템은 또한, 사용자로부터의 입력으로, 소셜 네트워킹 시스템의 다른 사용자들과의 사용자의 관계의 기록을 생성하고 저장할 뿐만 아니라, 사용자들 간의 소셜 상호작용을 용이하게 하기 위한 서비스(예컨대, 담벼락 게시물, 사진-공유, 온라인 달력 및 이벤트 조직화, 메시징, 게임, 또는 광고)를 제공할 수 있다. 또한, 소셜 네트워킹 시스템은 사용자들이 사용자의 프로필 페이지(통상적으로 "담벼락 게시물" 또는 "타임라인 게시물로 알려짐) 또는 사진 앨범에 사진과 다른 멀티미디어 컨텐츠 아이템들을 게시하도록 하고, 이들 양자는 사용자의 구성된 개인정보 설정에 따라 소셜 네트워킹 시스템의 다른 사용자들에게 액세스가능할 수 있다.
도 12는 소셜 네트워킹 시스템의 예시적인 네트워크 환경(1200)을 도시한다. 네트워크 환경(1200)은 네트워크(1204)를 통해 서로 연결되는 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202) 및 제3자 시스템(1208)을 포함한다. 도 12는 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 제3자 시스템(1208) 및 네트워크(1204)의 특정한 구성을 도시하지만, 본 명세서는 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 제3자 시스템(1208) 및 네트워크(1204)의 임의의 적절한 구성을 고려한다. 예로서 제한 없이, 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202) 및 제3자 시스템(1208) 중 둘 이상은 네트워크(1204)를 우회하여 서로 직접적으로 연결될 수 있다. 또 다른 예로서, 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202) 및 제3자 시스템(1208) 중 둘 이상은 전체적으로 또는 부분적으로 서로 물리적으로 또는 논리적으로 같은 장소에 배치될 수 있다. 게다가, 도 12는 특정한 수의 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 제3자 시스템(1208) 및 네트워크(1204)를 도시하지만, 본 명세서는 임의의 적절한 수의 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 제3자 시스템(1208) 및 네트워크(1204)를 고려한다. 예로서 제한 없이, 네트워크 환경(1200)은 다수의 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 제3자 시스템(1208) 및 네트워크(1204)를 포함할 수 있다.
본 명세서는 임의의 적절한 네트워크(1204)를 고려한다. 예로서 제한 없이, 네트워크(1204)의 하나 이상의 부분은 애드 혹 네트워크(ad hoc network), 인트라넷, 엑스트라넷, 가상 사설 네트워크(VPN), 근거리 네트워크(LAN), 무선 LAN(WLAN), 광역 네트워크(WAN), 무선 WAN(WWAN), 대도시 네트워크(MAN), 인터넷의 일부, 공중 전화망(PSTN)의 일부, 셀룰러 전화 네트워크, 또는 2 이상의 이들의 조합을 포함할 수 있다. 네트워크(1204)는 하나 이상의 네트워크(1204)를 포함할 수 있다.
링크는 통신 네트워크(1204)에 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202) 및 제3자 시스템(1208)을 연결하거나 서로 연결할 수 있다. 본 명세서는 임의의 적절한 링크를 고려한다. 특정 실시예에서, 하나 이상의 링크는 하나 이상의 유선(가령, DSL(Digital Subscriber Line) 또는 DOCSIS(Data Over Cable Service Interface Specification)), 무선(가령, Wi-Fi 또는 WiMax(Worldwide Interoperability for Microwave Access)), 광학(가령, SONET(Synchronous Optical Network) 또는 SDH(Synchronous Digital Hierarchy)) 링크를 포함한다. 특정 실시예에서, 하나 이상의 링크 각각은 애드혹 네트워크, 인트라넷, 익스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 부분, PSTN의 부분, 셀룰러 기술-기반 네트워크, 위성 통신 기술-기반 네트워크, 다른 링크 또는 이런 링크의 2 이상의 조합을 포함한다. 링크는 네트워크 환경(1200) 전체에 걸쳐 반드시 동일할 필요는 없다. 하나 이상의 제1 링크는 하나 이상의 제2 링크와 하나 이상의 측면에서 상이할 수 있다.
특정 실시예로, 클라이언트 시스템(1206)은 하드웨어, 소프트웨어 또는 임베디드 로직 컴포넌트나 이들의 2 이상의 컴포넌트의 조합을 포함하고 클라이언트 시스템(1206)에 의해 구현되거나 지원되는 적절한 기능을 수행할 수 있는 전자식 장치일 수 있다. 예로서 제한 없이, 클라이언트 시스템(1206)은 위의 도면들에 기술된 임의의 클라이언트 장치 또는 시스템을 포함할 수 있다. 클라이언트 시스템(1206)은 클라이언트 시스템(1206)에서 네트워크 사용자가 네트워크(1204)에 액세스하도록 할 수 있다. 클라이언트 시스템(1206)은 그것의 사용자가 다른 클라이언트 시스템들(1206)에서 다른 사용자들과 통신하게 할 수 있다.
특정 실시예로, 클라이언트 시스템(1206)은 웹 브라우저, 가령 MICROSOFT INTERNET EXPLORER, GOOGLE CHROME 또는 MOZILLA FIREFOX를 포함할 수 있고, 하나 이상의 애드-온, 플러그-인, 또는 다른 확장자, 가령 TOOLBAR 또는 YAHOO TOOLBAR를 가질 수 있다. 클라이언트 시스템(1206)에서 사용자는 웹 브라우저를 특정 서버(가령 서버 또는 제3자 시스템(1208)과 관련된 서버)로 연결하는 URL(Uniform Resource Locator) 또는 다른 주소를 입력할 수 있고, 웹 브라우저는 HTTP(Hyper Text Transfer Protocol) 요청을 생성하고 그 HTTP 요청을 서버로 통신할 수 있다. 서버는 HTTP 요청을 수락하고 HTTP 요청에 응답하여 하나 이상의 HTML(Hyper Text Markup Language) 파일을 클라이언트 시스템(1206)으로 통신할 수 있다. 클라이언트 시스템(1206)은 사용자에게 표시하기 위해 서버로부터 HTML 파일에 기초한 웹페이지를 렌더링할 수 있다. 본 명세서는 임의의 적절한 웹페이지 파일을 고려한다. 예로서 제한 없이, 웹페이지는 특정한 필요에 따라 HTML 파일, 확장형 하이퍼텍스트 마크업 언어(XHTML) 파일 또는 확장형 마크업 언어(XML) 파일로부터 렌더링할 수 있다. 또한, 이런 페이지는, 예로서 제한 없이 JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, 가령 AJAX(비동기식 JAVASCRIPT 및 XML)와 같은 마크업 언어와 스크립트의 조합 등과 같은 스크립트를 실행할 수 있다. 본 명세서에서, 웹페이지에 대한 언급은 적절한 경우 (브라우저가 웹페이지를 렌더링하는데 사용할 수 있는) 하나 이상의 해당 웹페이지 파일 및 그 반대의 경우를 포괄한다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 온라인 소셜 네트워크를 호스팅할 수 있는 네트워크-주소화 컴퓨팅 시스템일 수 있다. 소셜 네트워킹 시스템(1202)은 소셜 네트워킹 데이터, 가령 예컨대, 사용자-프로필 데이터, 컨셉-프로필 데이터, 소셜 그래프 정보, 또는 온라인 소셜 네트워크와 관련된 다른 적절한 데이터를 생성, 저장, 수신, 및 전송할 수 있다. 소셜 네트워킹 시스템(1202)은 직접 또는 네트워크(1204)를 통해 네트워크 환경(1200)의 다른 컴포넌트들에 의해 액세스될 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 하나 이상의 서버를 포함할 수 있다. 각각의 서버는 일체형 서버 또는 다수의 컴퓨터 또는 다수의 데이터센터로 확장되는 분산형 서버일 수 있다. 서버는 다양한 타입, 가령 예로서 제한 없이, 웹 서버, 뉴스 서버, 메일 서버, 메시지 서버, 광고 서버, 파일 서버, 애플리케이션 서버, 교환 서버, 데이터베이스 서버, 프록시 서버, 본 명세서에 기술된 기능 또는 프로세스를 수행하기에 적절한 다른 서버, 또는 이들의 임의의 조합일 수 있다. 특정 실시예로, 각 서버는 하드웨어, 소프트웨어 또는 임베디드 논리 구성요소들 또는 서버에 의해 지원되거나 구현되는 적절한 기능을 수행하기 위한 이러한 구성요소들 둘 이상의 조합을 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 하나 이상의 데이터 스토어를 포함할 수 있다. 데이터 스토어는 다양한 타입의 정보를 저장하는데 사용될 수 있다. 특정 실시예로, 데이터 스토어에 저장된 정보는 특정 데이터 구조에 따라 조직화될 수 있다. 특정 실시예로, 각각의 데이터 스토어는 관계형, 컬럼형, 상관관계형, 또는 다른 적절한 데이터베이스일 수 있다. 본 명세서는 특정 타입의 데이터베이스를 기술 또는 도시하지만, 본 명세서는 임의의 적절한 타입의 데이터베이스를 고려한다. 특정 실시예는 클라이언트 시스템(1206), 소셜 네트워킹 시스템(1202), 또는 제3자 시스템(1208)이 데이터 스토어에 저장된 정보를 관리, 검색, 수정, 추가 또는 삭제하도록 할 수 있는 인터페이스를 제공할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 하나 이상의 데이터 스토어에 하나 이상의 소셜 그래프를 저장할 수 있다. 특정 실시예로, 소셜 그래프는 다수의 사용자 노드(각각은 특정 사용자에 해당함) 또는 다수의 컨셉 노드(각각은 특정 컨셉에 해당함)를 포함할 수 있는 다수의 노드 및 노드를 연결하는 다수의 에지를 포함할 수 있다. 소셜 네트워킹 시스템(1202)은 온라인 소셜 네트워크의 사용자에게 다른 사용자들과 통신하고 상호작용하는 능력을 제공할 수 있다. 특정 실시예로, 사용자는 소셜 네트워킹 시스템(1202)을 통해 온라인 소셜 네트워크에 가입할 수 있고, 이후 연결되고자 하는 소셜 네트워킹 시스템(1202)의 다수의 다른 사용자들로의 연결(예컨대, 관계)을 추가할 수 있다. 본 명세서에서, 용어 "친구"는 사용자가 소셜 네트워킹 시스템(1202)을 통해 연결, 연관, 또는 관계를 형성한 소셜 네트워킹 시스템(1202)의 임의의 다른 사용자를 의미할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 소셜 네트워킹 시스템(1202)에 의해 지원되는 다양한 타입의 아이템 또는 객체에 대한 행위를 취하는 능력을 사용자에게 제공할 수 있다. 예로서 제한 없이, 아이템 및 객체는 소셜 네트워킹 시스템(1202)의 사용자들이 속할 수 있는 그룹 또는 소셜 네트워크, 사용자가 관심 있을 수 있는 이벤트나 캘린더 엔트리, 사용자가 사용할 수 있는 컴퓨터-기반 애플리케이션, 사용자가 서비스를 통해 아이템을 사고 팔 수 있도록 하는 거래, 사용자가 수행할 수 있는 광고와의 상호작용, 또는 다른 적절한 아이템이나 객체를 포함할 수 있다. 사용자는 소셜 네트워킹 시스템(1202)으로부터 분리되고 소셜 네트워킹 시스템(1202)에 네트워크(1204)를 통해 연결된 제3자 시스템(1208)의 외부 시스템이나 소셜 네트워킹 시스템(1202)에서 표현될 수 있는 어떠한 것과도 상호작용할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 다양한 엔티티들을 링크할 수 있다. 예로서 제한 없이, 소셜 네트워킹 시스템(1202)은 사용자들이 서로와 상호작용하도록 할 뿐만 아니라 제3자 시스템(1208)이나 다른 엔티티로부터 컨텐츠를 수신하도록 하거나, 사용자들이 애플리케이션 프로그래밍 인터페이스(API)나 다른 통신 채널을 통해 이러한 엔티티들과 상호작용하도록 할 수 있다.
특정 실시예로, 제3자 시스템(1208)은 하나 이상의 타입의 서버, 하나 이상의 데이터 스토어, APIs를 포함하지만 이로 제한되지 않는 하나 이상의 인터페이스, 또는 예컨대, 서버가 통신을 할 수 있는 임의의 다른 적절한 컴포넌트를 포함할 수 있다. 제3자 시스템(1208)은 소셜 네트워킹 시스템(1202)을 동작하는 엔티티와는 상이한 엔티티에 의해 동작될 수 있다. 하지만, 특정 실시예로, 소셜 네트워킹 시스템(1202) 및 제3자 시스템(1208)은 소셜 네트워킹 시스템(1202) 또는 제3자 시스템(1208)의 사용자들에게 소셜 네트워킹 서비스를 제공하기 위해 서로 연계하여 동작할 수 있다. 이러한 관점에서, 소셜 네트워킹 시스템(1202)은 다른 시스템, 가령 제3자 시스템(1208)이 인터넷상에서 사용자에게 소셜 네트워킹 서비스 및 기능을 제공하는데 사용할 수 있는 플랫폼 또는 백본을 제공할 수 있다.
특정 실시예로, 제3자 시스템(1208)은 제3자 컨텐츠 객체 제공자를 포함할 수 있다. 제3자 컨텐츠 객체 제공자는, 클라이언트 시스템(1206)으로 통신될 수 있는 하나 이상의 컨텐츠 객체의 소스를 포함할 수 있다. 예로서 제한 없이, 컨텐츠 객체는 가령 영화 쇼타임, 영화 리뷰, 레스토랑 리뷰, 레스토랑 메뉴, 제품 정보와 리뷰 또는 다른 적절한 정보와 같이 사용자가 관심 있는 사물이나 활동에 관한 정보를 포함할 수 있다. 다른 예로서 제한 없이, 컨텐츠 객체는 인센티브 컨텐츠 객체, 가령 쿠폰, 할인 티켓, 상품권, 또는 다른 적절한 인센티브 객체를 포함할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 또한, 소셜 네트워킹 시스템(1202)과의 사용자 상호작용을 강화할 수 있는 사용자-생성된 컨텐츠 객체를 포함한다. 사용자-생성된 컨텐츠는 사용자가 소셜 네트워킹 시스템(1202)에 추가, 업로드, 전송, 또는 "게시"할 수 있는 어떠한 것도 포함할 수 있다. 예로서 제한 없이, 사용자는 클라이언트 시스템(1206)으로부터 소셜 네트워킹 시스템(1202)으로 게시물을 통신한다. 게시물은 데이터, 가령 상태 업데이트나 다른 텍스트 데이터, 위치 정보, 사진, 비디오, 링크, 음악이나 다른 유사 데이터 또는 미디어를 포함할 수 있다. 컨텐츠는 또한, "통신 채널", 가령 뉴스피드 또는 스트림을 통해 제3자에 의해 소셜 네트워킹 시스템(1202)에 추가될 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 다양한 서버, 서브-시스템, 프로그램, 모듈, 로그, 및 데이터 스토어를 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은: 웹 서버, 행위 로거, API-요청 서버, 관련도 및 순위화 엔진, 컨텐츠-객체 분류기, 알림 컨트롤러, 행위 로그, 제3자 컨텐츠 객체 노출 로그, 추론 모듈, 인증/개인정보 서버, 검색 모듈, 광고-타겟팅 모듈, 사용자-인터페이스 모듈, 사용자-프로필 스토어, 연결 스토어, 제3자 컨텐츠 스토어, 또는 위치 스토어 중 하나 이상을 포함할 수 있다. 소셜 네트워킹 시스템(1202)은 또한, 적절한 컴포넌트, 가령 네트워크 인터페이스, 보안 메커니즘, 부하 균형기, 장애복구 서버, 관리-및-네트워크 운영 콘솔, 다른 적절한 컴포넌트, 또는 이들의 임의의 적절한 조합을 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 사용자 프로필을 저장하기 위한 하나 이상의 사용자 프로필 스토어를 포함할 수 있다. 사용자 프로필은 예컨대, 인명 정보, 인구학적 정보, 행동 정보, 소셜 정보, 또는 가령 이력, 학력, 취미 또는 선호도, 관심사, 친밀도, 또는 위치와 같은 다른 타입의 기술적 정보를 포함할 수 있다. 관심사 정보는 하나 이상의 카테고리와 관련된 관심사를 포함할 수 있다. 카테고리는 일반적이거나 구체적일 수 있다. 예로서 제한 없이, 사용자가 신발 브랜드에 관한 기사를 "좋아한다"면, 카테고리는 그 브랜드일 수 있거나 "신발" 또는 "옷"의 일반 카테고리일 수 있다. 연결 스토어는 사용자들에 관한 연결 정보를 저장하기 위해 사용될 수 있다. 연결 정보는 유사하거나 공통된 이력, 그룹 멤버쉽, 취미, 학력을 갖거나 또는 임의의 방식으로 관련되거나 공통의 속성을 공유하는 사용자들을 표시할 수 있다. 연결 정보는 또한, 상이한 사용자들 및 컨텐츠(내부 및 외부 둘 다) 사이의 사용자-정의된 연결을 포함할 수 있다. 웹 서버는 소셜 네트워킹 시스템(1202)을 네트워크(1204)를 통해 하나 이상의 클라이언트 시스템(1206) 또는 하나 이상의 제3자 시스템(1208)으로 링크하는데 사용될 수 있다. 웹 서버는 소셜 네트워킹 시스템(1202) 및 하나 이상의 클라이언트 시스템(1206) 사이에서 메시지를 수신하고 라우팅하기 위한 메일 서버 또는 다른 메시징 기능을 포함할 수 있다. API-요청 서버는 제3자 시스템(1208)이 하나 이상의 APIs를 호출함으로써 소셜 네트워킹 시스템(1202)으로부터 정보를 액세스하게 할 수 있다. 행위 로거는 소셜 네트워킹 시스템(1202) 내부나 외부에서의 사용자의 행위에 대한 웹 서버로부터의 통신을 수신하는데 사용될 수 있다. 행위 로그와 함께, 제3자 컨텐츠 객체 로그에서는 제3자 컨텐츠 객체에 대한 사용자 노출이 관리될 수 있다. 알림 컨트롤러는 컨텐츠 객체와 관련된 정보를 클라이언트 시스템(1206)으로 제공할 수 있다. 정보는 알림으로서 클라이언트 시스템(1206)으로 푸시되거나, 또는 정보는 클라이언트 시스템(1206)으로부터 수신된 요청에 응답하여 클라이언트 시스템(1206)으로부터 풀링될 수 있다. 인증 서버는 소셜 네트워킹 시스템(1202)의 사용자의 하나 이상의 개인정보 설정을 강제하는데 사용될 수 있다. 사용자의 개인정보 설정은 어떻게 사용자와 관련된 특정 정보가 공유될 수 있는지를 결정한다. 인증 서버는, 가령 예컨대, 적절한 개인정보 설정을 설정함으로써, 사용자가 소셜 네트워킹 시스템(1202)에 의해 그들의 행위가 로그되는 것 또는 다른 시스템(예컨대, 제3자 시스템(1208))과 공유되는 것에 참여하거나 참여하지 않게 할 수 있다. 제3자 컨텐츠 객체 스토어는 제3자, 가령 제3자 시스템(1208)으로부터 수신된 컨텐츠 객체를 저장하는데 사용될 수 있다. 위치 스토어는 클라이언트 시스템(1206)으로부터 수신되고 사용자와 관련되는 위치 정보를 저장하기 위해 사용될 수 있다. 광고 가격결정 모듈은 소셜 정보, 현재시간, 위치 정보 또는 다른 적절한 정보를 결합하여 알림의 형태로 사용자에게 관련 광고를 제공할 수 있다.
도 13은 예시적인 소셜 그래프(1300)를 도시한다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 하나 이상의 데이터 스토어에 하나 이상의 소셜 그래프(1300)를 저장할 수 있다. 특정 실시예로, 소셜 그래프(1300)는 다수의 사용자 노드(1302)나 다수의 컨셉 노드(1304)를 포함할 수 있는 다수의 노드 및 노드를 연결하는 다수의 에지(1306)를 포함할 수 있다. 도 13에 도시된 예시적인 소셜 그래프(1300)는 훈시적 목적상 2차원 시각적 지도 표현으로 도시된다. 특정 실시예로, 소셜 네트워킹 시스템(1202), 클라이언트 시스템(1206) 또는 제3자 시스템(1208)은 소셜 그래프(1300) 및 적절한 애플리케이션에 대한 관련 소셜-그래프 정보에 접근할 수 있다. 소셜 그래프(1300)의 노드 및 에지는 예컨대, 데이터 스토어(가령, 소셜 그래프 데이터베이스)에 데이터 객체로서 저장될 수 있다. 이런 데이터 스토어는 소셜 그래프(1300)의 노드 또는 에지의 하나 이상의 검색가능하거나 질의가능한 인덱스를 포함할 수 있다.
특정 실시예로, 사용자 노드(1302)는 소셜 네트워킹 시스템(1202)의 사용자에 해당할 수 있다. 예로서 제한 없이, 사용자는 개인(사람인 사용자), 엔티티(예컨대, 기업, 사업체 또는 제3자 애플리케이션) 또는 소셜 네트워킹 시스템(1202)과 상호작용하거나 소셜 네트워킹 시스템에서 통신하는 (예컨대, 개인 또는 엔티티의) 그룹일 수 있다. 특정 실시예로, 사용자가 소셜 네트워킹 시스템(1202)에서 계정을 등록하면, 소셜 네트워킹 시스템(1202)은 사용자에 해당하는 사용자 노드(1302)를 생성할 수 있고, 하나 이상의 데이터 스토어에 사용자 노드(1302)를 저장할 수 있다. 적절한 경우, 본 명세서에 기술되는 사용자들 및 사용자 노드들(1302)은 등록 사용자들 및 등록 사용자들과 관련된 사용자 노드들(1302)을 지칭할 수 있다. 추가로 또는 대안으로, 본 명세서에 기술되는 사용자들 및 사용자 노드들(1302)은 적절한 경우 소셜 네트워킹 시스템(1202)에 등록되지 않은 사용자들을 말할 수 있다. 특정 실시예로, 사용자 노드(1302)는 사용자가 제공한 정보 및 소셜 네트워킹 시스템(1202)을 포함하는 다양한 시스템이 수집한 정보와 관련될 수 있다. 예로서 제한 없이, 사용자는 그들의 이름, 프로필 사진, 연락처, 생일, 성별, 혼인 여부, 가족 관계, 직장, 학력, 기호, 관심사 또는 다른 신상 정보를 제공할 수 있다. 소셜 그래프의 각각의 사용자 노드는 해당 웹 페이지(통상적으로 프로필 페이지로 알려짐)를 가질 수 있다. 사용자 이름을 포함하는 요청에 응답하여, 소셜 네트워킹 시스템은 사용자 이름에 해당하는 사용자 노드에 액세스할 수 있고, 사용자와 관련된 이름, 프로필 사진, 및 다른 정보를 포함하는 프로필 페이지를 구성할 수 있다. 제1 사용자의 프로필 페이지는 제1 사용자에 의한 하나 이상의 개인정보 설정 및 제1 사용자와 제2 사용자 간의 관계에 기반하여 제1 사용자의 정보의 전부 또는 일부를 제2 사용자에게 디스플레이할 수 있다.
특정 실시예로, 컨셉 노드(1304)는 컨셉에 해당할 수 있다. 예로서 제한 없이, 컨셉은 장소(가령, 예컨대, 영화관, 레스토랑, 명소 또는 도시); 웹사이트(가령, 예컨대, 소셜 네트워크 시스템(1202)과 관련된 웹사이트 또는 웹-애플리케이션 서버와 관련된 제3자 웹사이트); 엔티티(가령, 예컨대, 사람, 사업체, 그룹, 스포츠 팀 또는 유명인사); 소셜 네트워킹 시스템(1202) 또는 가령 웹-애플리케이션 서버와 같은 외부 서버에 위치할 수 있는 자원(가령, 예컨대, 오디오 파일, 비디오 파일, 디지털 사진, 텍스트 파일, 구조화된 문서 또는 애플리케이션); 물적 재산권 또는 지적 재산권(가령, 예컨대, 조각품, 미술품, 영화, 게임, 노래, 아이디어, 사진 또는 저서); 게임; 활동; 아이디어나 이론; 또 다른 적절한 컨셉; 또는 2 이상의 이런 컨셉들에 해당할 수 있다. 컨셉 노드(1304)는 사용자에 의해 제공된 컨셉의 정보 또는 소셜 네트워킹 시스템(1202)을 포함하는 다양한 시스템에 의해 수집된 정보와 관련될 수 있다. 예로서 제한 없이, 컨셉의 정보는 이름이나 제목; 하나 이상의 이미지(예컨대, 책의 커버 페이지의 이미지); 위치(예컨대, 주소 또는 지리적 위치); (URL과 연관될 수 있는) 웹사이트; 연락 정보(예컨대, 전화번호 또는 이메일 주소); 다른 적절한 컨셉 정보; 또는 이런 정보의 임의의 적절한 조합을 포함할 수 있다. 특정 실시예로, 각각의 컨셉 노드(1304)는 컨셉 노드(1304)와 관련된 정보에 해당하는 하나 이상의 데이터 객체와 관련될 수 있다. 특정 실시예로, 각각의 컨셉 노드(1304)는 웹페이지에 해당할 수 있다.
특정 실시예로, 소셜 그래프(1300)에서 노드는 ("프로필 페이지"라고 할 수 있는) 웹페이지를 표현하거나, 그 웹페이지로 표현될 수 있다. 프로필 페이지는 소셜 네트워킹 시스템(1202)에 의해 호스트될 수 있거나, 접근될 수 있다. 또한, 프로필 페이지는 제3자 서버(1208)와 관련된 제3자 웹사이트에 호스트될 수 있다. 예로서 제한 없이, 특정한 외부 웹페이지에 해당하는 프로필 페이지는 특정한 외부 웹페이지일 수 있고, 이런 프로필 페이지는 특정 컨셉 노드(1304)에 해당할 수 있다. 프로필 페이지는 모든 또는 선택된 서브세트의 다른 사용자들에 의해 시청될 수 있다. 예로서 제한 없이, 사용자 노드(1302)는 해당 사용자가 컨텐츠를 추가할 수 있고, 선언을 할 수 있으며, 그렇지 않으면 그들 자신을 표현할 수 있는 해당 사용자 프로필-페이지를 가질 수 있다. 또 다른 예로서 제한 없이, 컨셉 노드(1304)는 특히 컨셉 노드(1304)에 해당하는 컨셉과 관련하여 하나 이상의 사용자들이 컨텐츠를 추가할 수 있거나, 선언을 할 수 있거나, 그들 자신을 표현할 수 있는 해당 컨셉-프로필 페이지를 가질 수 있다.
특정 실시예로, 컨셉 노드(1304)는 제3자 시스템(1208)에 의해 호스팅된 제3자 웹페이지 또는 자원을 표현할 수 있다. 제3자 웹페이지 또는 자원은 다른 요소들 중에서 행위 또는 활동을 표현하는 (예컨대, JavaScript, AJAX 또는 PHP 코드로 구현될 수 있는) 컨텐츠, 선택가능하거나 다른 아이콘 또는 상호작용가능한 객체를 포함할 수 있다. 예로서 제한 없이, 제3자 웹페이지는 가령 "좋아요", "체크인", "식사하기(eat)", "추천하기" 또는 다른 적절한 행위나 활동과 같은 선택가능한 아이콘을 포함할 수 있다. 제3자 웹페이지를 시청 사용자는 아이콘들 중 하나(예컨대, "식사하기")를 선택하여 행위를 수행할 수 있고, 클라이언트 시스템(1206)이 사용자의 행위를 표시하는 메시지를 소셜 네트워킹 시스템(1202)으로 전송하게 할 수 있다. 그 메시지에 응답하여, 소셜 네트워킹 시스템(1202)은 사용자에 해당하는 사용자 노드(1302)와 제3자 웹페이지 또는 자원에 해당하는 컨셉 노드(1304) 사이의 에지(예컨대, "식사하기" 에지)를 생성할 수 있고, 하나 이상의 데이터 스토어에 에지(1306)를 저장할 수 있다.
특정 실시예로, 소셜 그래프(1300)에서 노드 쌍은 하나 이상의 에지(1306)에 의해 서로 연결될 수 있다. 노드 쌍을 연결하는 에지(1306)는 노드 쌍 사이의 관계를 표현할 수 있다. 특정 실시예로, 에지(1306)는 노드 쌍 사이의 관계에 해당하는 하나 이상의 데이터 객체나 속성을 포함하거나 표현할 수 있다. 예로서 제한 없이, 제1 사용자는 제2 사용자가 제1 사용자의 "친구"라고 표시할 수 있다. 이런 표시에 응답하여, 소셜 네트워킹 시스템(1202)은 "친구 요청"을 제2 사용자에게 전송할 수 있다. 제2 사용자가 "친구 요청"을 확인하면, 소셜 네트워킹 시스템(1202)은 소셜 그래프(1300)에서 제1 사용자의 사용자 노드(1302)와 제2 사용자의 사용자 노드(1302)를 연결하는 에지(1306)를 생성할 수 있고, 하나 이상의 데이터 스토어에 소셜-그래프 정보로서 에지(1306)를 저장할 수 있다. 도 13의 예에서, 소셜 그래프(1300)는 사용자 "A"와 사용자 "B"의 사용자 노드(1302)들 사이의 친구 관계를 표시하는 에지(1306)를 그리고 사용자 "C"와 사용자 "B"의 사용자 노드(1302) 사이의 친구 관계를 표시하는 에지를 포함한다. 본 명세서가 특정 사용자 노드(1302)를 연결하는 특정 속성을 가진 특정 에지(1306)를 기술하거나 도시하지만, 본 명세서는 사용자 노드(1302)를 연결하는 임의의 적절한 속성을 가진 임의의 적절한 에지(1306)를 고려한다. 예로서 제한 없이, 에지(1306)는 친구관계, 가족관계, 사업이나 고용 관계, 팬 관계, 팔로워 관계, 방문자 관계, 구독자 관계, 상위/하위 관계, 호혜 관계, 비-상호 관계, 또 다른 적절한 타입의 관계 또는 2 이상의 이런 관계들을 표현할 수 있다. 게다가, 본 명세서는 일반적으로 노드들이 연결되는 것을 기술하지만, 본 명세서는 또한 사용자 또는 컨셉이 연결되는 것을 기술한다. 본 명세서에서, 사용자 또는 컨셉이 연결되는 것에 대한 언급은 적절한 경우 이들 사용자 또는 컨셉에 해당하는 노드가 하나 이상의 에지(1306)에 의해 소셜 그래프(1300)에서 연결되는 것을 지칭할 수 있다.
특정 실시예로, 사용자 노드(1302)와 컨셉 노드(1304) 사이의 에지(1306)는 컨셉 노드(1304)와 관련된 컨셉에 대해 사용자 노드(1302)의 사용자가 수행한 특정 행위 또는 활동을 표현할 수 있다. 예로서 제한 없이, 도 13에 도시된 바와 같이, 사용자는 컨셉을 "좋아요(like)", "참여했음(attended)", "실행했음(played)", "청취했음(listened)", "요리했음(cooked)", "근무했음(worked at)", 또는 "시청했음(watched)"을 할 수 있고, 이들 각각은 에지 타입이나 서브타입에 해당할 수 있다. 컨셉 노드(1304)에 해당하는 컨셉-프로필 페이지는 예컨대 선택가능한 "체크인" 아이콘(가령, 예컨대, 클릭가능한 "체크인" 아이콘) 또는 선택가능한 "즐겨찾기에 추가(add to favorites)" 아이콘을 포함할 수 있다. 마찬가지로, 사용자가 이런 아이콘을 클릭한 후, 소셜 네트워킹 시스템(1202)은 각각의 행위에 해당하는 사용자의 행위에 응답하여 "즐겨찾기" 에지 또는 "체크인" 에지를 생성할 수 있다. 또 다른 예로서 제한 없이, 사용자(사용자 "C")는 특정 애플리케이션(온라인 음악 애플리케이션인 SPOTIFY)을 사용하여 특정 노래("Ramble On")를 들을 수 있다. 이 경우, 소셜 네트워킹 시스템(1202)은 사용자에 해당하는 사용자 노드(1302)와 노래 및 애플리케이션에 해당하는 컨셉 노드(1304) 사이에 "청취했음(listened)" 에지(1306) 및 "사용했음(used)" 에지(도 13에 도시)를 생성하여, 사용자가 그 노래를 들었고 그 애플리케이션을 사용했음을 표시할 수 있다. 게다가, 소셜 네트워킹 시스템(1202)은 노래와 애플리케이션에 해당하는 컨셉 노드(1304) 사이에 "실행했음(played)" 에지(1306)(도 13에 도시)를 생성하여 특정 노래가 특정 애플리케이션에 의해 실행되었음을 표시할 수 있다. 이 경우, "실행했음(played)" 에지(1306)는 외부 오디오 파일(노래 "Imagine")에 대해 외부 애플리케이션(SPOTIFY)이 수행한 행위에 해당한다. 본 명세서는 사용자 노드(1302)와 컨셉 노드(1304)를 연결하는 특정 속성을 가진 에지(1306)를 기술하지만, 본 명세서는 사용자 노드(1302)와 컨셉 노드(1304)를 연결하는 임의의 적절한 속성을 가진 임의의 적절한 에지(1306)를 고려한다. 게다가, 본 명세서는 단일의 관계를 표현하는 사용자 노드(1302)와 컨셉 노드(1304) 사이의 에지를 기술하지만, 본 명세서는 하나 이상의 관계를 표현하는 사용자 노드(1302)와 컨셉 노드(1304) 사이의 에지를 고려한다. 예로서 제한 없이, 에지(1306)는 사용자가 특정 컨셉에서 좋아요 하고 사용했음을 모두 표현할 수 있다. 대안으로, 또 다른 에지(1306)는 사용자 노드(1302)와 컨셉 노드(1304) 사이(도 13에 도시된 바와 같이, 사용자 "E"에 대한 사용자 노드(1302)와 "SPOTIFY"에 대한 컨셉 노드(1304) 사이)의 각 타입의 관계(또는 다수의 단일 관계)를 표현할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 소셜 그래프(1300)에서 사용자 노드(1302)와 컨셉 노드(1304) 사이의 에지(1306)를 생성할 수 있다. 예로서 제한 없이 (가령, 예컨대, 사용자의 클라이언트 시스템(1206)에 의해 호스팅되는 웹 브라우저 또는 특수목적 애플리케이션을 사용하여) 사용자가 컨셉-프로필 페이지를 시청하는 것은 사용자가 "좋아요" 아이콘을 클릭하거나 선택하여 컨셉 노드(1304)가 표현한 컨셉을 좋아함을 나타낼 수 있는데, "좋아요" 아이콘은 사용자의 클라이언트 시스템(1206)이 컨셉-프로필 페이지와 관련된 컨셉을 사용자가 좋아요 했다고 표시한 메시지를 소셜 네트워킹 시스템(1202)으로 전송하게 할 수 있다. 그 메시지에 응답하여, 소셜 네트워킹 시스템(1202)은 사용자와 컨셉 노드(1304) 사이의 "좋아요" 에지(1306)로 도시된 바와 같이 사용자와 관련된 사용자 노드(1302)와 컨셉 노드(1304) 사이의 에지(1306)를 생성할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 하나 이상의 데이터 스토어에 에지(1306)를 저장할 수 있다. 특정 실시예로, 에지(1306)는 특정 사용자 행위에 응답하여 소셜 네트워킹 시스템(1202)에 의해 자동 형성될 수 있다. 예로서 제한 없이, 제1 사용자가 사진을 업로드하거나, 영화를 시청하거나, 노래를 듣는다면, 에지(1306)는 제1 사용자에 해당하는 사용자 노드(1302)와 이런 컨셉에 해당하는 컨셉 노드(1304) 사이에 형성될 수 있다. 본 명세서는 특정 방식으로 특정 에지(1306)를 형성하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 임의의 적절한 에지(1306)를 형성하는 것을 고려한다.
특정 실시예로, 광고는 텍스트(HTML-링크될 수 있음), 하나 이상의 이미지(HTML-링크될 수 있음), 하나 이상의 비디오, 오디오, 하나 이상의 ADOBE FLASH 파일, 이들의 적절한 조합, 또는 사용자에 의해 요청되는 검색 결과와 연계하여 또는 하나 이상의 이메일 내에서 하나 이상의 웹페이지 상에 제시되는 임의의 적절한 디지털 포맷인 임의의 다른 적절한 광고일 수 있다. 추가로 또는 대안으로, 광고는 하나 이상의 스폰서된 소식(예컨대, 소셜 네트워킹 시스템(1202)상의 뉴스-피드나 티커 아이템)일 수 있다. 스폰서된 소식은, 광고주가 예컨대, 소셜 행위를 사용자의 프로필 페이지나 다른 페이지의 기-결정된 영역 내에 제시되게 하거나, 광고주와 관련된 추가 정보와 함께 제시되거나, 다른 사용자들의 뉴스 피드나 티커 내에 범프-업되거나 아니면 하이라이트됨으로써 프로모션하거나, 아니면 다른 방식으로 프로모션되는 사용자에 의한 소셜 행위(가령, 페이지를 "좋아요"하는 것, 페이지 상의 게시물에 코멘트하거나 "좋아요"하는 것, 페이지와 관련된 이벤트에 RSVP하는 것, 페이지에 게시된 질문에 투표하는 것, 장소로 체크인하는 것, 애플리케이션을 사용하거나 게임을 플레이하는 것, 웹사이트를 "좋아요"하거나 공유하는 것)일 수 있다. 광고주는 소셜 행위가 프로모션되도록 금전을 지불할 수 있다. 예로서 제한 없이, 광고는 검색-결과 페이지의 검색 결과들 사이에 포함될 수 있고, 여기서 스폰서된 컨텐츠는 스폰서되지 않은 컨텐츠에 비해서 프로모션된다.
특정 실시예로, 광고는 소셜 네트워킹 시스템 웹페이지, 제3자 웹페이지, 또는 다른 페이지 내에 디스플레이하기 위해 요청될 수 있다. 광고는 페이지의 전용 부분, 가령 페이지의 상단의 배너 영역, 페이지의 측면의 칼럼, 페이지의 GUI, 팝-업 윈도우, 드롭-다운 메뉴, 페이지의 입력 필드, 페이지의 컨텐츠의 상단 위에, 또는 페이지와 관련된 다른 곳에서 디스플레이될 수 있다. 추가로 또는 대안으로, 광고는 애플리케이션 내에 디스플레이될 수 있다. 광고는 사용자가 페이지에 접근하거나, 애플리케이션을 이용할 수 있기 전에 광고를 상호작용하거나 광고를 시청하도록 사용자에게 요구하는 전용 페이지 내에 디스플레이될 수 있다. 사용자는 예컨대, 광고를 웹 브라우저를 통해 볼 수 있다.
사용자는 임의의 적절한 방식으로 광고와 상호작용할 수 있다. 사용자는 광고를 클릭하거나 아니면 선택할 수 있다. 광고를 선택함으로써, 사용자는 광고와 관련된 페이지로 (또는, 사용자가 사용하는 브라우저 또는 다른 애플리케이션)를 인도될 수 있다. 광고와 관련된 페이지에서, 사용자는 가령 광고와 관련된 제품이나 서비스를 구매하기, 광고와 관련된 정보를 수신하기 또는 광고와 관련된 뉴스레터를 구독하기와 같은 추가의 행위들을 행할 수 있다. 오디오 또는 비디오를 가진 광고는 광고의 컴포넌트를 선택("실행 버튼"을 좋아요)함으로써 실행될 수 있다. 대안으로, 광고를 선택함으로써, 소셜 네트워킹 시스템(1202)은 사용자의 특정 행위를 실행하거나 수정할 수 있다.
광고는 또한, 사용자가 상호작용할 수 있는 소셜 네트워킹 시스템 기능을 포함할 수 있다. 예로서 제한 없이, 광고는 사용자가 보증과 관련된 아이콘이나 링크를 선택함으로써 광고를 "좋아요"하거나 아니면 보증하게 할 수 있다. 다른 예로서 제한 없이, 광고는 사용자가 (예컨대, 질의를 실행함으로써) 광고주와 관련된 컨텐츠에 대해 검색하도록 할 수 있다. 유사하게, 사용자는 (예컨대, 소셜 네트워킹 시스템(1202)을 통해) 광고를 다른 사용자와 공유하거나, 또는 광고와 관련된 이벤트에 (예컨대, 소셜 네트워킹 시스템(1202)을 통해) RSVP할 수 있다. 추가로 또는 대안으로, 광고는 사용자에 관한 소셜 네트워킹 시스템 컨텍스트를 포함할 수 있다. 예로서 제한 없이, 광고는 광고의 주제와 관련된 행위를 수행한 소셜 네트워킹 시스템(1202) 내의 사용자의 친구에 관한 정보를 디스플레이할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 서로에 대해 다양한 소셜 그래프 엔티티의 소셜 그래프 친밀성(본 명세서에서는 "친밀성"이라고 할 수 있음)을 결정할 수 있다. 친밀성은 사용자, 컨셉, 컨텐츠, 행위, 광고, 온라인 소셜 네트워크와 연관된 다른 객체, 또는 이들의 임의의 적절한 조합과 같이 온라인 소셜 네트워크와 연관된 특정 객체들 사이의 관계의 강도 또는 관심의 정도를 표현할 수 있다. 또한, 친밀성은 제3자 시스템(1208)이나 다른 적절한 시스템들과 관련된 객체에 대하여 결정될 수 있다. 각 사용자에 대한 소셜 그래프 엔티티, 주제 또는 컨텐츠의 타입에 대한 총 친밀성이 확립될 수 있다. 전체 친밀성은 소셜 그래프 엔티티와 연관된 행위 또는 관계에 대한 지속적인 모니터링에 기초하여 변경될 수 있다. 본 명세서는 특정 방식으로 특정 친밀성을 결정하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 임의의 적절한 친밀성을 결정하는 것을 기술한다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 친밀성 계수(본 명세서에서는 "계수"라고 할 수 있음)를 사용하여 소셜 그래프 친밀성을 측정하거나 수량화할 수 있다. 계수는 온라인 소셜 네트워크와 연관된 특정 객체 사이의 관계의 강도를 표현하거나 수량화할 수 있다. 계수는 또한, 행위에 대한 사용자의 관심에 기초하여 사용자가 특정 행위를 수행할 예측된 확률을 측정하는 확률 또는 함수를 표현할 수 있다. 이러한 방식으로, 사용자의 미래의 행위는 사용자의 과거의 행위에 기초하여 예측될 수 있고, 여기서 계수는 사용자의 행위의 이력에 적어도 부분적으로 기초하여 계산될 수 있다. 계수는 온라인 소셜 네트워크 내부 또는 외부일 수 있는 임의의 개수의 행위를 예측하는데 사용될 수 있다. 예로서 제한 없이, 이런 행위들은 가령 메시지를 송신하기, 컨텐츠를 게시하기 또는 컨텐츠에 대해 코멘트하기와 같은 다양한 타입의 통신들; 가령 프로필 페이지, 미디어 또는 다른 적절한 컨텐츠에 접근하거나 시청하는 것과 같은 다양한 타입의 관찰 행위들; 가령 동일한 그룹에 있기, 동일한 사진에 태그하기, 동일한 위치에 체크인하기 또는 동일한 이벤트에 참여하기와 같은 다양한 타입의 하나 이상의 소셜 그래프 엔티티에 대한 일치 정보(coincidence information); 또는 다른 적절한 행위들을 포함할 수 있다. 본 명세서는 특정 방식으로 친밀성을 측정하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 친밀성을 측정하는 것을 고려한다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 다양한 인자를 사용하여 계수를 계산할 수 있다. 이러한 인자는 예컨대, 사용자 행위, 객체, 위치 정보, 다른 적절한 인자, 또는 이들의 임의의 조합을 포함할 수 있다. 특정 실시예로, 상이한 인자는 계수를 계산할 때 다른 가중치가 적용될 수 있다. 각각의 인자에 대한 가중치는 일정하거나, 또는 가중치는 예컨대, 사용자, 관계의 타입, 행위의 타입, 사용자의 위치 등에 따라 변경될 수 있다. 인자에 대한 등급(rating)은 사용자를 위한 전체 계수를 결정하기 위해 그들의 가중치에 따라 조합될 수 있다. 예로서 제한 없이, 특정 사용자 행위에는 등급 및 가중치 모두가 할당되는 한편, 특정 사용자 행위와 연관된 관계에는 등급 및 상관 가중치(예컨대, 가중치가 총 130%가 됨)가 할당된다. 특정 객체를 향하는 사용자의 계수를 계산하기 위해, 사용자의 행위에 할당된 등급은 예컨대, 전체 계수의 60%를 포함할 수 있는 한편, 사용자 및 객체 사이의 관계는 전체 계수의 40%를 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은, 예컨대 정보에 접근한 이후의 시간, 감쇠 인자(decay factors), 접근 빈도, 정보에 대한 관계 또는 정보에 접근한 객체에 대한 관계, 객체와 연결된 소셜 그래프 엔티티에 대한 관계, 사용자 행위의 단기적 또는 장기적 평균, 사용자 피드백, 다른 적절한 변수들 또는 이들의 임의의 조합과 같이, 계수를 계산하는데 사용되는 다양한 인자들에 대한 가중치를 결정할 때 다양한 변수를 고려할 수 있다. 예로서 제한 없이, 더 최근의 행위가 계수를 계산할 때 더 관련되도록, 계수는 특정 행위가 제공한 신호의 세기가 시간에 따라 감쇠하게 하는 감쇠 인자를 포함할 수 있다. 등급 및 가중치는 계수가 기초로 하는 행위에 대한 지속적인 추적에 기초하여 연속으로 업데이트될 수 있다. 임의의 타입의 프로세스 또는 알고리즘은 각 인자에 대한 평점 및 인자에 할당된 가중치를 할당, 결합, 평균화 등을 하는데 이용될 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 이력 행위 및 과거 사용자 응답 또는 다양한 옵션에 사용자를 노출시키고 응답을 측정하여 사용자로부터 파밍된(farmed) 데이터에 대하여 훈련되는 기계-학습 알고리즘을 사용하여 계수를 결정할 수 있다. 본 명세서는 특정 방식으로 계수를 계산하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 계수를 계산하는 것을 고려한다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 사용자의 행위에 기초하여 계수를 계산할 수 있다. 소셜 네트워킹 시스템(1202)은 온라인 소셜 네트워크에서, 제3자 시스템(1208)에서, 다른 적절한 시스템들에서 또는 이들의 임의의 조합에서 이런 행위들을 모니터할 수 있다. 임의의 타입의 사용자 행위가 추적되거나 모니터링될 수 있다. 전형적인 사용자 행위는 프로필 페이지 보기, 컨텐츠 생성 또는 게시, 컨텐츠와 상호작용, 그룹에 가입, 이벤트의 참석을 리스팅하고 확인하기, 위치에 체크인하기, 특정 페이지를 좋아하기, 페이지를 생성하기, 및 소셜 행위를 용이하게 하는 다른 작업을 수행하기를 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 특정 타입의 컨텐츠를 가진 사용자의 행위에 기초하여 계수를 계산할 수 있다. 컨텐츠는 온라인 소셜 네트워크, 제3자 시스템(1208), 또는 다른 적절한 시스템과 연관될 수 있다. 컨텐츠는 사용자, 프로필 페이지, 게시물, 뉴스 소식, 헤드라인, 인스턴트 메시지, 채팅방 대화, 이메일, 광고, 사진, 비디오, 음악, 다른 적절한 객체, 또는 이들의 임의의 조합을 포함할 수 있다. 소셜 네트워킹 시스템(1202)은 하나 이상의 행위들이 주제, 컨텐츠, 다른 사용자들 등에 대한 친밀성을 표시하는지를 결정하도록 사용자의 행위를 분석할 수 있다. 예로서 제한 없이, 사용자가 "커피" 또는 그 유사물에 관한 컨텐츠를 빈번히 게시할 수 있다면, 소셜 네트워킹 시스템(1202)은 컨셉 "커피"에 대하여 사용자가 높은 계수를 가진다고 결정할 수 있다. 특정 행위 또는 행위 타입은 다른 행위들보다 더 높은 가중치 및/또는 평점을 할당받을 수 있으며, 이는 계산되는 총 계수에 영향을 줄 수 있다. 예로서 제한 없이, 제1 사용자가 제2 사용자에게 이메일 하는 경우, 그 행위에 대한 가중치 또는 평점은 제1 사용자가 제2 사용자에 대한 사용자 프로필 페이지를 단순히 시청한 경우보다 더 높을 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 특정 객체들 사이의 관계의 타입에 기초하여 계수를 계산할 수 있다. 소셜 그래프(1300)를 참조하면, 소셜 네트워킹 시스템(1202)은 계수를 계산할 때 특정 사용자 노드(1302)와 컨셉 노드(1304)를 연결하는 에지(1306)의 수 및/또는 타입을 분석할 수 있다. 예로서 제한 없이, (2명의 사용자가 결혼했음을 표현하는) 배우자-타입 에지(spouse-type edge)로 연결되는 사용자 노드(1302)는 친구-타입 에지로 연결되는 사용자 노드(1302)보다 더 높은 계수를 할당받을 수 있다. 즉, 특정 사용자에 대한 행위 및 관계에 할당된 가중치에 따라, 총 친밀성은 사용자의 친구에 대한 컨텐츠보다 사용자의 배우자에 대한 컨텐츠에 대하여 더 높도록 결정될 수 있다. 특정 실시예로, 사용자가 또 다른 객체와 맺은 관계는 그 객체에 대한 계수를 계산할 때 사용자의 행위의 가중치 및/또는 평점에 영향을 줄 수 있다. 예로서 제한 없이, 사용자가 제1 사진에 태그되지만 단지 제2 사진만을 좋아한다면, 컨텐츠와 태그-타입(tagged-in-type) 관계를 가지는 것이 컨텐츠와 좋아요-타입 관계를 가지는 것보다 더 높은 가중치 및/또는 평점을 할당받을 수 있기 때문에, 소셜 네트워킹 시스템(1202)은 사용자가 제2 사진보다 제1 사진에 대하여 더 높은 계수를 가진다고 결정할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 한 명 이상의 제2 사용자가 특정 객체와 맺은 관계에 기초하여 제1 사용자에 대한 계수를 계산할 수 있다. 즉, 다른 사용자가 객체에 대해 갖는 연결 및 계수는 제1 사용자의 객체에 대한 계수에 영향을 줄 수 있다. 예로서 제한 없이, 제1 사용자가 하나 이상의 제2 사용자들에 연결되거나 그들에 대한 높은 계수를 갖고, 이들 제2 사용자가 특정 객체와 연결되거나 특정 객체에 대해 높은 계수를 갖는다면, 소셜 네트워킹 시스템(1202)은 제1 사용자가 또한, 특정 객체에 대해 상대적으로 높은 계수를 가져야 한다고 결정할 수 있다. 특정 실시예로, 계수는 특정 객체 사이의 이격도에 기초할 수 있다. 임의의 2개의 노드들 사이의 이격도는 하나의 노드로부터 다른 노드로 소셜 그래프를 횡단하는데 요구되는 최소 개수의 홉(hop)으로 정의된다. 2개의 노드들 사이의 이격도는 소셜 그래프에서 2개의 노드에 의해 표현되는 사용자 또는 컨셉 사이의 관련도로 간주될 수 있다. 예컨대, 에지에 의해 직접 연결되는 사용자 노드들(즉, 1차 노드들)을 갖는 2명의 사용자는 "연결된 사용자들" 또는 "친구들"로 기술될 수 있다. 유사하게, 오로지 다른 사용자 노드를 통해서만 연결되는 사용자 노드들(즉, 2차 노드들)을 갖는 2명의 사용자는 "친구의 친구들"로 기술될 수 있다. 더 낮은 계수는 제1 사용자가 소셜 그래프(1300)에서 제1 사용자와 간접적으로 연결되는 사용자의 컨텐츠 객체에 대한 관심을 공유할 가능성이 감소함을 표현할 수 있다. 예로서 제한 없이, 소셜 그래프(1300)에서 더 가까운(즉, 더 적은 이격도의) 소셜 그래프 엔티티들은 소셜 그래프(1300)에서 더 멀리 떨어져 있는 엔티티들보다 더 높은 계수를 가질 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 위치 정보에 기초하여 계수를 계산할 수 있다. 서로 지리적으로 더 가까운 객체들은 더 먼 객체들보다 서로 더 관련이 있거나 더 관심이 있다고 간주될 수 있다. 특정 실시예로, 특정 객체에 대한 사용자의 계수는 사용자와 관련된 현재 위치(또는 사용자의 클라이언트 시스템(1206)의 위치)에 대한 객체의 위치의 근접성을 기초로 할 수 있다. 제1 사용자는 제1 사용자와 더 가까운 다른 사용자들이나 컨셉들에 더 관심이 있을 수 있다. 예로서 제한 없이, 사용자가 공항으로부터는 1마일 그리고 주유소로부터는 2마일 떨어져 있다면, 소셜 네트워킹 시스템(1202)은 사용자와 공항의 근접성에 기초하여 사용자가 주유소보다 공항에 대해 더 높은 계수를 가진다고 결정할 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 계수 정보에 기초하여 사용자에 대해 특정 행위를 수행할 수 있다. 계수는 사용자의 행위에 대한 관심에 기초하여 사용자가 특정 행위를 수행할 것인지 여부를 예측하는데 사용될 수 있다. 계수는, 사용자에 대해 임의의 타입의 객체 가령, 광고, 검색 결과, 뉴스 소식, 미디어, 메시지, 알림, 또는 다른 적절한 객체들을 생성 또는 제시할 때 사용될 수 있다. 계수는 또한, 적절한 경우 이러한 객체들을 순위화하고 정렬하는데 이용될 수 있다. 이 방식으로, 소셜 네트워킹 시스템(1202)은 사용자의 관심 및 현재 상황과 관련이 있는 정보를 제공할 수 있고, 사용자들이 관심을 가질 이런 정보를 찾을 가능성을 증가시킨다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 계수 정보에 기초하여 컨텐츠를 생성할 수 있다. 컨텐츠 객체는 사용자 고유의 계수에 기초하여 제공되거나 선택될 수 있다. 예로서 제한 없이, 계수는 사용자를 위한 미디어를 생성하는데 사용될 수 있으며, 여기서 사용자에게는, 사용자가 미디어 객체에 관해 높은 전체 계수를 갖는 미디어가 제시될 수 있다. 또 다른 예로서 제한 없이, 계수는 사용자에 대한 광고를 생성하는데 사용될 수 있는데, 이때 사용자는 사용자가 광고된 객체에 대해 높은 총 계수를 가지는 광고를 제시받을 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 계수 정보에 기초하여 검색 결과를 생성할 수 있다. 특정 사용자에 대한 검색 결과는 질의중인 사용자에 대하여 검색 결과와 관련된 계수에 기초하여 점수화되거나 순위화될 수 있다. 예로서 제한 없이, 더 높은 계수를 갖는 객체에 대응하는 검색 결과는 더 낮은 계수를 갖는 객체에 대응하는 결과보다 검색-결과 페이지에서 더 높게 순위화될 수 있다.
특정 실시예로, 소셜 네트워킹 시스템(1202)은 특정 시스템이나 프로세스로부터의 계수에 대한 요청에 응답하여 계수를 계산할 수 있다. 사용자가 소정의 상황에서 행할 수 있는(주제일 수 있는) 가능한 행위를 예측하기 위해, 임의의 프로세스는 사용자에 대해 계산된 계수를 요청할 수 있다. 요청은 또한, 계수를 계산하는데 사용되는 다양한 인자를 위해 사용할 가중치의 세트를 포함할 수 있다. 이 요청은 온라인 소셜 네트워크에서 실행하는 프로세스로부터, (예컨대, API 또는 다른 통신 채널을 통해) 제3자 시스템(1208)으로부터 또는 다른 적절한 시스템으로부터 비롯될 수 있다. 그 요청에 응답하여, 소셜 네트워킹 시스템(1202)은 계수를 계산(또는 이미 계산되고 저장되었다면 계수 정보에 접근)할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(1202)은 특정 프로세스에 대한 친밀성을 측정할 수 있다. (온라인 소셜 네트워크 내부와 외부 모두의) 다른 프로세스들은 특정 객체 또는 객체들의 세트에 대한 계수를 요청할 수 있다. 소셜 네트워킹 시스템(1202)은 친밀성의 측정을 요청한 특정 프로세스에 관련되는 친밀성의 측정을 제공할 수 있다. 이 방식으로, 각 프로세스는 프로세스가 친밀도를 사용하는 다른 컨텍스트에 대하여 맞춤화되는 친밀도를 수신한다.
소셜 그래프 친밀성 및 친밀성 계수와 관련하여, 특정 실시예들은 참조로 각각 통합되는: 2006년 8월 8일자로 출원된 미국특허출원 제11/503093호, 2010년 12월 22일자로 출원된 미국특허출원 제12/977027호, 2010년 12월 11일자로 출원된 미국특허출원 제12/978265호 및 2012년 10월 1일자로 출원된 미국특허출원 제13/632869호에 개시되는 하나 이상의 시스템, 컴포넌트, 구성요소, 기능, 방법, 동작 또는 단계를 이용할 수 있다.
특정 실시예로, 온라인 소셜 네트워크의 하나 이상의 컨텐츠 객체는 개인정보 설정과 관련될 수 있다. 객체에 대한 개인정보 설정 (또는 "액세스 설정)은, 가령 예컨대 객체과 관련하여, 인증 서버에서 인덱스에, 임의의 적절한 방식으로, 또는 이들의 임의의 조합과 같은 임의의 적절한 방식으로 저장될 수 있다. 객체의 프라이버시 설정은 객체(또는 객체와 관련된 특정 정보)가 온라인 소셜 네트워크를 사용하여 어떻게 접근(예컨대, 시청 또는 공유)될 수 있는지를 명시할 수 있다. 객체에 대한 프라이버시 설정이 특정 사용자가 그 객체에 접근할 수 있게 하는 경우, 객체는 그 사용자에 대하여 "보이는 것(visible)"으로 기술될 수 있다. 예로서 제한 없이, 온라인 소셜 네트워크의 사용자는 사용자 프로필 페이지에서 경력 정보에 접근할 수 있는 사용자 세트를 식별하는 사용자 프로필 페이지에 대한 프라이버시 설정을 특정할 수 있고, 따라서 다른 사용자들이 정보에 접근하는 것을 배제할 수 있다. 특정 실시예로, 프라이버시 설정은 객체와 관련된 임의의 정보를 접근하도록 허용되지 않아야 하는 사용자의 "차단 리스트(blocked list)"를 명시할 수 있다. 즉, 차단 리스트는 객체가 가시적이지 않은 한 명 이상의 사용자들 또는 엔티티들을 특정할 수 있다. 예로서 제한 없이, 사용자는 사용자와 관련된 사진 앨범을 액세스할 수 없는 사용자들의 세트를 특정할 수 있고, 그럼으로써 그 사용자들이 사진 앨범에 액세스하는 것을 배제하는 (한편, 가능하다면 사용자들의 세트 내에 있지 않은 특정 사용자들이 사진 앨범에 액세스하는 것을 허용할 수 있다). 특정 실시예로, 개인정보 설정은 특정 소셜 그래프 요소와 관련될 수 있다. 소셜 그래프 요소, 가령 노드 또는 에지의 개인정보 설정은, 어떻게 소셜 그래프 요소, 소셜 그래프 요소와 관련된 정보, 또는 소셜 그래프 요소와 관련된 컨텐츠 객체가 온라인 소셜 네트워크를 사용하여 액세스될 수 있는지를 특정할 수 있다. 예로서 제한 없이, 특정 사진에 해당하는 특정 컨셉 노드(1304)는 사진이 사진에 태그된 사용자 및 그들의 친구들에 의해서만 액세스될 수 있다고 특정하는 개인정보 설정을 가질 수 있다. 특정 실시예로, 개인정보 설정은 사용자들이 그들의 행위가 소셜 네트워킹 시스템(1202)에 의해 로그되거나 다른 시스템(예컨대, 제3자 시스템(1208))에 의해 공유되는 것에 참여하거나 참여하지 않도록 허용할 수 있다. 특정 실시예로, 객체와 관련된 프라이버시 설정은 임의의 적절하게 세분화된 접근 허용 또는 접근 거절을 명시할 수 있다. 예로서 제한 없이, 접근 또는 접근의 거절은 특정 사용자들(예컨대, 오직 자신만, 나의 동거인 및 나의 상사), 특정 이격도 내의 사용자들(예컨대, 친구 또는 친구의 친구), 사용자 그룹(예컨대, 게임 그룹, 나의 가족), 사용자 네트워크(예컨대, 특정 회사의 사원들, 특정 대학의 학생들이나 동창생들), 모든 사용자("공개(public)"), 사용자 없음("비밀(private)"), 제3자 시스템(1208)의 사용자, 특정 애플리케이션(예컨대, 제3자 애플리케이션, 외부 웹사이트), 다른 적절한 사용자나 엔티티 또는 이들의 임의의 조합에 대해 명시될 수 있다. 본 명세서는 특정 방식으로 특정 개인정보 설정을 사용하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 임의의 적절한 개인정보 설정을 사용하는 것을 고려한다.
특정 실시예로, 하나 이상의 서버는 개인정보 설정을 강제하기 위한 인증/개인정보 서버일 수 있다. 데이터 스토어에 저장된 특정 객체에 대한 사용자 (또는 다른 엔티티)로부터의 요청에 응답하여, 소셜 네트워킹 시스템(1202)은 객체에 대한 요청을 데이터 스토어로 전송할 수 있다. 요청은, 요청과 연관된 사용자를 식별할 수 있고, 인증 서버가 객체와 연관된 개인정보 설정에 기반하여 사용자가 객체에 액세스하는 것이 인증된다고 결정한다면 오로지 그 사용자 (또는 그 사용자의 클라이언트 시스템(1206))으로만 전송될 수 있다. 요청중인 사용자가 객체에 접근하도록 인증되지 않는다면, 인증 서버는 요청된 객체가 데이터 스토어로부터 검색되는 것을 차단하거나, 요청된 객체가 사용자에게 송신되는 것을 차단할 수 있다. 검색 질의 컨텍스트에서, 객체는 질의하는 사용자가 객체에 액세스하는 것이 인증되는 경우에만 검색 결과로 생성될 수 있다. 즉, 객체는 질의하는 사용자에게 가시적인 가시성(visibility)을 가져야만 한다. 객체가 사용자에게 보이지 않는 가시성을 가진다면, 객체는 검색 결과로부터 배제될 수 있다. 본 명세서는 특정 방식으로 개인정보 설정을 강제하는 것을 기술하지만, 본 명세서는 임의의 적절한 방식으로 개인정보 설정을 강제하는 것을 고려한다.
전술한 명세서는 그것의 구체적이고 예시적인 실시예를 참조하여 기술된다. 본 명세서의 다양한 실시예 및 양태는 본 명세서에서 논의되는 세부사항을 참조하여 기술되며, 첨부되는 도면들은 다양한 실시예를 도시한다. 상기의 설명 및 도면은 예시적인 것이며, 제한하려는 것으로 해석되지 않는다. 많은 수의 구체적인 세부사항들은 다양한 실시예의 완전한 이해를 제공하기 위해 기술된다.
추가적 또는 대안적 실시예는 그것의 정신이나 필수적인 특징으로부터 벗어남이 없는 다른 구체적인 형태로 실현될 수 있다. 기술된 실시예는 모든 관점에 있어서 오로지 예시적인 것이며 제한적이지 않는 것으로 간주된다. 따라서, 본 발명의 범위는 전술한 설명에 의하는 것이 아니라 첨부되는 청구범위에 의해 나타난다. 청구범위의 균등물의 의미 및 범위 내에 속하는 모든 변경은 그들의 범위 내에서 포괄될 것이다.

Claims (36)

  1. 통신 시스템의 캡처 사용자(capturing user)와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하는 단계;
    적어도 하나의 프로세서에 의해, 미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하는 단계;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자(viewing user)들의 그룹으로 미디어 스트림을 전송하기로 결정하는 단계;
    시청 사용자들의 그룹으로 미디어 스트림을 전송하는 단계;
    하나 이상의 미디어 특성의 변화를 감지하는 단계;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하는 단계; 및
    시청 사용자들의 수정된 그룹으로 미디어 스트림을 전송하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    미디어 스트림에 대응하는 이벤트를 식별하는 단계를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 복수의 미디어 프레젠테이션을 제공하는 단계;
    대응하는 미디어 스트림 프레젠테이션 각각에 대한 하나 이상의 미디어 특성을 결정하는 단계; 및
    대응하는 미디어 스트림 각각에 대해 결정된 하나 이상의 미디어 특성에 기반하여 미디어 프레젠테이션 피드 내의 복수의 미디어 프레젠테이션을 우선순위화하는 단계를 더 포함하고,
    복수의 미디어 프레젠테이션 각각은 대응하는 미디어 스트림을 포함하는 방법.
  4. 제 1 항에 있어서,
    하나 이상의 추가 시청 사용자들과 미디어 스트림을 공유하기 위한 요청을 시청 사용자들의 그룹의 시청 사용자로부터 수신하는 단계를 더 포함하는 방법.
  5. 제 4 항에 있어서,
    요청의 수신에 응답하여, 미디어 스트림으로의 링크를 포함하는 메시지를 생성하는 단계; 및
    하나 이상의 추가 시청 사용자들에게 메시지를 전송하는 단계를 더 포함하는 방법.
  6. 제 1 항에 있어서,
    하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 및 메타데이터 특성을 포함하는 방법.
  7. 제 1 항에 있어서,
    시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하기 전에 하나 이상의 미디어 특성에 가중치를 부여하는 단계를 더 포함하는 방법.
  8. 제 1 항에 있어서,
    시청 사용자들의 그룹을 수정하는 단계는 시청 사용자들의 그룹에 시청 사용자들을 추가하는 단계를 포함하는 방법.
  9. 제 8 항에 있어서,
    하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세싱하는 시청 사용자들의 수가 임계 숫자에 도달했다고 결정하는 단계를 더 포함하는 방법.
  10. 제 1 항에 있어서,
    시청 사용자들의 그룹을 수정하는 단계는 시청 사용자들의 그룹에 대해 시청 사용자들을 제거하는 단계를 포함하는 방법.
  11. 제 1 항에 있어서,
    통신 시스템의 추가 캡처 사용자와 연관된 추가 클라이언트 장치로부터 추가 미디어 스트림을 수신하는 단계;
    시청 사용자들의 그룹으로 추가 미디어 스트림을 전송하기로 결정하는 단계; 및
    미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션의 일부로서 시청 사용자들의 그룹으로 추가 미디어 스트림을 전송하는 단계를 더 포함하는 방법.
  12. 제 11 항에 있어서,
    시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션을 제공하는 단계를 더 포함하는 방법.
  13. 제 1 항에 있어서,
    시청 사용자들의 그룹으로 미디어 스트림을 전송하기 전에 미디어 스트림에 프로덕션 편집을 적용하는 단계를 더 포함하는 방법.
  14. 제 13 항에 있어서,
    프로덕션 편집을 적용하는 단계는 미디어 스트림에 정사각형 크롭핑을 적용하는 단계를 포함하는 방법.
  15. 제 13 항에 있어서,
    프로덕션 편집을 적용하는 단계는 클라이언트 장치로부터 수신된 자이로스코프 정보에 기반하여 미디어 스트림을 안정화시키는 단계를 포함하는 방법.
  16. 적어도 하나의 프로세서; 및
    명령어를 저장하는 적어도 하나의 비-일시적 컴퓨터 판독가능한 저장 매체를 포함하는 시스템으로서,
    상기 명령어는, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금:
    통신 시스템의 캡처 사용자와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하고;
    미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하고;
    시청 사용자들의 그룹에 미디어 스트림으로의 액세스를 제공하고;
    하나 이상의 미디어 특성의 변화를 감지하고;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하고; 및
    시청 사용자들의 수정된 그룹에 미디어 스트림으로의 액세스를 제공하도록 야기하는 시스템.
  17. 제 16 항에 있어서,
    시청 사용자들의 그룹을 수정하는 것은 시청 사용자들의 그룹에 시청 사용자들을 추가하는 것을 포함하는 시스템.
  18. 제 17 항에 있어서,
    적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금:
    하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세싱하는 시청 사용자들의 수가 임계 숫자에 도달했다고 결정하도록 야기하는 명령어를 더 포함하는 시스템.
  19. 제 16 항에 있어서,
    하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 또는 메타데이터 특성을 포함하는 시스템.
  20. 적어도 하나의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금:
    통신 시스템의 캡처 사용자와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하고;
    미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하고;
    시청 사용자들의 그룹에 미디어 스트림으로의 액세스를 제공하고;
    하나 이상의 미디어 특성의 변화를 감지하고;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 그룹을 수정하고; 및
    시청 사용자들의 수정된 그룹에 미디어 스트림으로의 액세스를 제공하도록 야기하는 명령어를 저장하는 비-일시적 컴퓨터 판독가능한 매체.
  21. 대응하는 복수의 캡처 사용자와 연관된 복수의 클라이언트 장치로부터 복수의 관련 미디어 스트림을 수신하는 단계;
    시청 사용자와 연관된 클라이언트 장치로 복수의 미디어 스트림으로부터의 컨텐츠를 포함하는 미디어 프레젠테이션을 전송하는 단계;
    적어도 하나의 프로세서에 의해, 미디어 스트림 각각에 대한 시간-기반의 미디어 특성의 데이터 스트림을 생성하는 단계;
    데이터 스트림 내의 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션 내에 제공하기 위해 복수의 미디어 스트림으로부터 제1 미디어 스트림을 선택하는 단계; 및
    데이터 스트림 내의 업데이트된 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션으로 제1 미디어 스트림을 제공하는 것에서 미디어 프레젠테이션 내에서 복수의 미디어 스트림으로부터 제2 미디어 스트림을 제공하는 것으로 전환(switch)하는 단계를 포함하는 방법.
  22. 복수의 캡처 사용자로부터 이벤트에 대응하는 복수의 미디어 스트림을 수신하는 단계;
    적어도 하나의 프로세서에 의해, 복수의 미디어 스트림 중 적어도 하나의 미디어 스트림에 의해 캡처된 이벤트로부터의 복수의 주목할 만한 순간을 식별하는 단계;
    식별된 복수의 주목할 만한 순간에 대응하는 복수의 미디어 세그먼트를 생성하는 단계;
    시청 사용자의 하나 이상의 프로필 속성에 기반하여 복수의 미디어 세그먼트로부터 하나 이상의 미디어 세그먼트를 식별하는 단계; 및
    시청 사용자와 연관된 클라이언트 장치로 하나 이상의 미디어 세그먼트를 제공하는 단계를 포함하는 방법.
  23. 통신 시스템의 캡처 사용자와 연관된 클라이언트 장치로부터 미디어 스트림을 수신하는 단계;
    적어도 하나의 프로세서에 의해, 미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하는 단계;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하는 단계;
    시청 사용자들의 그룹으로 미디어 스트림을 전송하는 단계;
    하나 이상의 미디어 특성의 변화를 감지하는 단계;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하는 단계; 및
    시청 사용자들의 수정된 그룹으로 미디어 스트림을 전송하는 단계를 포함하는 방법.
  24. 제 23 항에 있어서,
    미디어 스트림에 대응하는 이벤트를 식별하는 단계를 더 포함하고,
    제 23 항 또는 제 24 항에 따른 방법은:
    시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 복수의 미디어 프레젠테이션을 제공하는 단계;
    대응하는 미디어 스트림 프레젠테이션 각각에 대한 하나 이상의 미디어 특성을 결정하는 단계; 및
    대응하는 미디어 스트림 각각에 대해 결정된 하나 이상의 미디어 특성에 기반하여 미디어 프레젠테이션 피드 내의 복수의 미디어 프레젠테이션을 우선순위화하는 단계를 더 포함하고,
    복수의 미디어 프레젠테이션 각각은 대응하는 미디어 스트림을 포함하는 방법.
  25. 제 23 항 내지 제 25 항 중 어느 한 항에 있어서,
    하나 이상의 추가 시청 사용자와 미디어 스트림을 공유하기 위한 요청을 시청 사용자들의 그룹의 시청 사용자로부터 수신하는 단계를 더 포함하고,
    바람직하게는:
    요청의 수신에 응답하여, 미디어 스트림으로의 링크를 포함하는 메시지를 생성하는 단계; 및
    하나 이상의 추가 시청 사용자들에게 메시지를 전송하는 단계를 더 포함하는 방법.
  26. 제 23 항 내지 제 26 항 중 어느 한 항에 있어서,
    하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 및 메타데이터 특성을 포함하는 방법.
  27. 제 23 항 내지 제 27 항 중 어느 한 항에 있어서,
    시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하기 전에 하나 이상의 미디어 특성에 가중치를 부여하는 단계를 더 포함하는 방법.
  28. 제 23 항 내지 제 28 항 중 어느 한 항에 있어서,
    시청 사용자들의 그룹을 수정하는 단계는 시청 사용자들의 그룹에 시청 사용자들을 추가하는 단계를 포함하고;
    바람직하게는, 하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세싱하는 시청 사용자들의 수가 임계 숫자에 도달했다고 결정하는 단계; 및/또는
    시청 사용자들의 그룹을 수정하는 단계는 시청 사용자들의 그룹에 대해 시청 사용자들을 제거하는 단계를 더 포함하는 방법.
  29. 제 23 항 내지 제 29 항 중 어느 한 항에 있어서,
    통신 시스템의 추가 캡처 사용자와 연관된 추가 클라이언트 장치로부터 추가 미디어 스트림을 수신하는 단계;
    시청 사용자들의 그룹으로 추가 미디어 스트림을 전송하기로 결정하는 단계; 및
    미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션의 일부로서 시청 사용자들의 그룹으로 추가 미디어 스트림을 전송하는 단계를 더 포함하고;
    바람직하게는, 시청 사용자와 연관된 클라이언트 장치 상의 미디어 프레젠테이션 피드 내에 미디어 스트림과 추가 미디어 스트림을 포함하는 미디어 프레젠테이션을 제공하는 단계를 더 포함하는 방법.
  30. 제 23 항 내지 제 30 항 중 어느 한 항에 있어서,
    시청 사용자들의 그룹으로 미디어 스트림을 전송하기 전에 미디어 스트림에 프로덕션 편집을 적용하는 단계를 더 포함하고;
    바람직하게는,프로덕션 편집을 적용하는 단계는 미디어 스트림에 정사각형 크롭핑을 적용하는 단계를 포함하고; 및/또는
    바람직하게는, 프로덕션 편집을 적용하는 단계는 클라이언트 장치로부터 수신된 자이로스코프 정보에 기반하여 미디어 스트림을 안정화시키는 단계를 포함하는 방법.
  31. 적어도 하나의 프로세서; 및
    명령어를 저장하는 적어도 하나의 비-일시적 컴퓨터 판독가능한 저장 매체를 포함하는 시스템으로서,
    상기 명령어는, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금 제 23 항 내지 제 31 항 중 어느 한 항에 따른 방법을 수행하도록 야기하고, 바람직하게는:
    통신 시스템의 캡처 사용자와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하고;
    미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하고;
    시청 사용자들의 그룹에 미디어 스트림으로의 액세스를 제공하고;
    하나 이상의 미디어 특성의 변화를 감지하고;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 시청 사용자들의 그룹을 수정하고; 및
    시청 사용자들의 수정된 그룹에 미디어 스트림으로의 액세스를 제공하도록 야기하는 시스템.
  32. 제 32 항에 있어서,
    시청 사용자들의 그룹을 수정하는 것은 시청 사용자들의 그룹에 시청 사용자들을 추가하는 것을 포함하고;
    바람직하게는, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금, 하나 이상의 미디어 특성의 감지된 변화에 기반하여, 미디어 스트림에 액세싱하는 시청 사용자들의 수가 임계 숫자에 도달했다고 결정하도록 야기하는 명령어를 더 포함하는 시스템.
  33. 제 32 항 또는 제 33 항에 있어서,
    하나 이상의 미디어 특성은 비디오 특성, 오디오 특성, 신호 강도 특성 또는 메타데이터 특성을 포함하는 시스템.
  34. 적어도 하나의 프로세서에 의해 실행될 때, 컴퓨터 시스템으로 하여금 제 23 항 내지 제 31 항 중 어느 한 항에 따른 방법을 수행하도록 야기하고, 바람직하게는:
    통신 시스템의 캡처 사용자와 연관된 클라이언트 장치로부터, 미디어 스트림을 수신하고;
    미디어 스트림에 대한 하나 이상의 미디어 특성을 결정하고;
    하나 이상의 미디어 특성에 기반하여, 시청 사용자들의 그룹으로 미디어 스트림을 전송하기로 결정하고;
    시청 사용자들의 그룹에 미디어 스트림으로의 액세스를 제공하고;
    하나 이상의 미디어 특성의 변화를 감지하고;
    하나 이상의 미디어 특성에 대한 감지된 변화에 기반하여 그룹을 수정하고; 및
    시청 사용자들의 수정된 그룹에 미디어 스트림으로의 액세스를 제공하도록 야기하는 명령어를 저장하는 비-일시적 컴퓨터 판독가능한 매체.
  35. 바람직하게는 제 23 항 내지 제 31 항 중 어느 한 항에 있어서,
    대응하는 복수의 캡처 사용자와 연관된 복수의 클라이언트 장치로부터 복수의 관련 미디어 스트림을 수신하는 단계;
    시청 사용자와 연관된 클라이언트 장치로 복수의 미디어 스트림으로부터의 컨텐츠를 포함하는 미디어 프레젠테이션을 전송하는 단계;
    적어도 하나의 프로세서에 의해, 미디어 스트림 각각에 대한 시간-기반의 미디어 특성의 데이터 스트림을 생성하는 단계;
    데이터 스트림 내의 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션 내에 제공하기 위해 복수의 미디어 스트림으로부터 제1 미디어 스트림을 선택하는 단계; 및
    데이터 스트림 내의 업데이트된 시간-기반의 미디어 특성에 기반하여, 미디어 프레젠테이션으로 제1 미디어 스트림을 제공하는 것에서 미디어 프레젠테이션 내에서 복수의 미디어 스트림으로부터 제2 미디어 스트림을 제공하는 것으로 전환(switch)하는 단계를 포함하는 방법.
  36. 바람직하게는 제 23 항 내지 제 31 항 중 어느 한 항에 있어서,
    복수의 캡처 사용자로부터 이벤트에 대응하는 복수의 미디어 스트림을 수신하는 단계;
    적어도 하나의 프로세서에 의해, 복수의 미디어 스트림 중 적어도 하나의 미디어 스트림에 의해 캡처된 이벤트로부터의 복수의 주목할 만한 순간을 식별하는 단계;
    식별된 복수의 주목할 만한 순간에 대응하는 복수의 미디어 세그먼트를 생성하는 단계;
    시청 사용자의 하나 이상의 프로필 속성에 기반하여 복수의 미디어 세그먼트로부터 하나 이상의 미디어 세그먼트를 식별하는 단계; 및
    시청 사용자와 연관된 클라이언트 장치로 하나 이상의 미디어 세그먼트를 제공하는 단계를 포함하는 방법.
KR1020187000255A 2015-06-23 2015-12-10 스트리밍 미디어 프레젠테이션 시스템 KR102399210B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562183612P 2015-06-23 2015-06-23
US62/183,612 2015-06-23
US14/964,333 US10462524B2 (en) 2015-06-23 2015-12-09 Streaming media presentation system
US14/964,333 2015-12-09
PCT/US2015/065066 WO2016209310A1 (en) 2015-06-23 2015-12-10 Streaming media presentation system

Publications (2)

Publication Number Publication Date
KR20180020203A true KR20180020203A (ko) 2018-02-27
KR102399210B1 KR102399210B1 (ko) 2022-05-19

Family

ID=57585273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187000255A KR102399210B1 (ko) 2015-06-23 2015-12-10 스트리밍 미디어 프레젠테이션 시스템

Country Status (10)

Country Link
US (1) US10462524B2 (ko)
EP (3) EP4033768A3 (ko)
JP (1) JP6730335B2 (ko)
KR (1) KR102399210B1 (ko)
CN (6) CN112383567A (ko)
AU (1) AU2015400184B2 (ko)
CA (1) CA2987578A1 (ko)
IL (1) IL255953A (ko)
MX (1) MX2017016208A (ko)
WO (1) WO2016209310A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10456686B2 (en) 2012-09-05 2019-10-29 Zynga Inc. Methods and systems for adaptive tuning of game events
US10561944B2 (en) 2014-09-10 2020-02-18 Zynga Inc. Adjusting object adaptive modification or game level difficulty and physical gestures through level definition files
US9675889B2 (en) 2014-09-10 2017-06-13 Zynga Inc. Systems and methods for determining game level attributes based on player skill level prior to game play in the level
US10462524B2 (en) 2015-06-23 2019-10-29 Facebook, Inc. Streaming media presentation system
US9917870B2 (en) 2015-06-23 2018-03-13 Facebook, Inc. Streaming media presentation system
US10565259B2 (en) * 2015-09-18 2020-02-18 Unreel Entertainment LLC Advertisement placement and engagement supported video indexing, search and delivery platforms, methods, systems and apparatuses
US10187666B2 (en) * 2016-01-26 2019-01-22 Twitter, Inc. Live video streaming services using one or more external devices
WO2018027237A1 (en) * 2016-08-05 2018-02-08 Sportscastr.Live Llc Systems, apparatus, and methods for scalable low-latency viewing of broadcast digital content streams of live events
US10341737B2 (en) * 2016-09-23 2019-07-02 DISH Technologies L.L.C. Integrating broadcast media streams with user media streams
US10219009B2 (en) 2016-11-18 2019-02-26 Twitter, Inc. Live interactive video streaming using one or more camera devices
SE540666C2 (en) * 2017-04-11 2018-10-09 Znipe Esports AB Methods and nodes for providing multi perspective video of match events of interest
US20190188320A1 (en) * 2017-12-14 2019-06-20 Facebook, Inc. Systems and methods for providing ephemeral content items created from live stream videos
CN108769535B (zh) * 2018-07-04 2021-08-10 腾讯科技(深圳)有限公司 图像处理方法、装置、存储介质和计算机设备
CN109982003A (zh) * 2019-03-12 2019-07-05 北京城建设计发展集团股份有限公司 流程并发型信息编播设备及方法
US11416461B1 (en) 2019-07-05 2022-08-16 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience sizes of media using deduplication based on binomial sketch data
US11561942B1 (en) 2019-07-05 2023-01-24 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience sizes of media using deduplication based on vector of counts sketch data
CN112351289B (zh) * 2019-08-08 2022-06-10 腾讯科技(深圳)有限公司 直播互动方法、装置、计算机设备和存储介质
WO2021055647A1 (en) * 2019-09-17 2021-03-25 Streamlayer Inc. Method and system for providing interactive content delivery and audience engagement
US11743220B2 (en) * 2019-11-09 2023-08-29 Promptu Systems Corporation User notification for digital content access systems per mutable or fixed selection criteria
JP7365212B2 (ja) 2019-12-03 2023-10-19 株式会社ソニー・インタラクティブエンタテインメント 動画再生装置、動画再生システム、および動画再生方法
US20210406232A1 (en) * 2020-06-30 2021-12-30 The Nielsen Company (Us), Llc Methods and apparatus to estimate audience sizes of media using deduplication based on multiple vectors of counts
US11778011B2 (en) * 2020-09-18 2023-10-03 Infrared5, Inc. Live streaming architecture with server-side stream mixing
US11736545B2 (en) * 2020-10-16 2023-08-22 Famous Group Technologies Inc. Client user interface for virtual fan experience
EP4271492A1 (en) * 2020-12-30 2023-11-08 Sony Interactive Entertainment Inc. Recommending game streams for spectating based on recognized or predicted gaming activity
US11679328B2 (en) * 2020-12-30 2023-06-20 Sony Interactive Entertainment Inc. Recommending game streams for spectating based on recognized or predicted gaming activity
KR20220106499A (ko) 2021-01-22 2022-07-29 삼성전자주식회사 개인화된 미디어 컨텐츠를 제공하는 방법 및 이를 이용한 전자 장치
US20220393896A1 (en) * 2021-06-08 2022-12-08 International Business Machines Corporation Multi-user camera switch icon during video call
US11418557B1 (en) * 2021-06-16 2022-08-16 Meta Platforms, Inc. Systems and methods for automatically switching between media streams
US20230143133A1 (en) * 2021-11-10 2023-05-11 Meta Platforms, Inc. Intelligently enhancing media content items
US11589129B1 (en) * 2021-11-18 2023-02-21 Rovi Guides, Inc. Methods and systems for operating a group watching session
CN114189696B (zh) * 2021-11-24 2024-03-08 阿里巴巴(中国)有限公司 一种视频播放方法及设备
WO2023122511A1 (en) * 2021-12-21 2023-06-29 Canon U.S.A., Inc. Apparatus and method for controlling an online meeting
US20230319346A1 (en) * 2022-04-05 2023-10-05 Rovi Guides, Inc. Systems and methods for automatically generating content items from identified events
CN115174943B (zh) * 2022-07-08 2023-10-31 叠境数字科技(上海)有限公司 一种边云协同及客户端自适应的自由视角播放方法及系统
US11954402B1 (en) * 2022-11-29 2024-04-09 Henk B. Rogers Talk story system and apparatus
JP7311123B1 (ja) 2022-12-23 2023-07-19 タッチスポット株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262530A1 (en) * 2004-05-24 2005-11-24 Siemens Information And Communication Networks, Inc. Systems and methods for multimedia communication
US20150020106A1 (en) * 2013-07-11 2015-01-15 Rawllin International Inc. Personalized video content from media sources

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346698B2 (en) 2000-12-20 2008-03-18 G. W. Hannaway & Associates Webcasting method and system for time-based synchronization of multiple, independent media streams
US6907570B2 (en) * 2001-03-29 2005-06-14 International Business Machines Corporation Video and multimedia browsing while switching between views
JP2003169309A (ja) * 2001-12-04 2003-06-13 Nippon Hoso Kyokai <Nhk> コンテンツ特徴量抽出装置及びそのプログラム並びにコンテンツ認証データ生成装置及びそのプログラム並びにコンテンツ認証方法
KR100986401B1 (ko) * 2002-04-12 2010-10-08 미쓰비시덴키 가부시키가이샤 콘텐츠 처리 방법
JP2004013424A (ja) * 2002-06-05 2004-01-15 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信装置、コンテンツ配信方法およびコンテンツ配信プログラム
JP2005149193A (ja) * 2003-11-17 2005-06-09 Matsushita Electric Ind Co Ltd 情報処理装置およびプログラム
US20060026638A1 (en) * 2004-04-30 2006-02-02 Vulcan Inc. Maintaining a graphical user interface state that is based on a selected type of content
JP4341503B2 (ja) * 2004-08-10 2009-10-07 ソニー株式会社 情報信号処理方法、情報信号処理装置及びプログラム記録媒体
US20070011237A1 (en) * 2005-05-11 2007-01-11 Mockett Gregory P Interactive, rich-media, delivery over IP network using synchronized unicast and multicast
WO2007084870A2 (en) * 2006-01-13 2007-07-26 Yahoo! Inc. Method and system for recording edits to media content
JP2006187034A (ja) * 2006-02-13 2006-07-13 Toshiba Corp ユーザのプリファレンスに応じて映像オブジェクトの表示方法の変更を支援する映像呈示装置および方法ならびにプログラム
US8620699B2 (en) * 2006-08-08 2013-12-31 Napo Enterprises, Llc Heavy influencer media recommendations
US20080127272A1 (en) * 2006-11-28 2008-05-29 Brian John Cragun Aggregation of Multiple Media Streams to a User
US8812637B2 (en) * 2006-11-28 2014-08-19 International Business Machines Corporation Aggregation of multiple media streams to a user
JP2008191768A (ja) 2007-02-01 2008-08-21 Hitachi Ltd 推薦情報処理システム及び推薦情報処理方法
EP1975866A1 (en) * 2007-03-31 2008-10-01 Sony Deutschland Gmbh Method and system for recommending content items
US8275764B2 (en) * 2007-08-24 2012-09-25 Google Inc. Recommending media programs based on media program popularity
US20090132924A1 (en) * 2007-11-15 2009-05-21 Yojak Harshad Vasa System and method to create highlight portions of media content
JP4971210B2 (ja) 2007-12-21 2012-07-11 株式会社タイトー サービス提供システム、サービス提供方法、及びコンピュータプログラム
JP5232495B2 (ja) * 2008-02-19 2013-07-10 Kddi株式会社 コンテンツ配信制御装置及びコンピュータプログラム
US20090254862A1 (en) * 2008-03-03 2009-10-08 Kidzui, Inc Method and apparatus for user interface for child oriented computer network
US8200819B2 (en) 2008-03-14 2012-06-12 Industrial Technology Research Institute Method and apparatuses for network society associating
US9003051B2 (en) * 2008-04-11 2015-04-07 Mobitv, Inc. Content server media stream management
JP2010041535A (ja) * 2008-08-07 2010-02-18 Hitachi Ltd データ配信装置
US9374617B2 (en) * 2008-10-30 2016-06-21 Taboola.Com Ltd System and method for the presentation of alternative content to viewers video content
CN101459976B (zh) * 2008-11-24 2011-04-06 华为技术有限公司 一种流媒体播放控制方法、设备及系统
US20120114312A1 (en) * 2009-03-25 2012-05-10 Eloy Technology, Llc Method and system for determining the availability of a media controller
JP2010268128A (ja) * 2009-05-13 2010-11-25 Olympus Corp 制御装置、撮像装置、撮像システム、画像取得方法、及びプログラム
US8489774B2 (en) 2009-05-27 2013-07-16 Spot411 Technologies, Inc. Synchronized delivery of interactive content
EP2446623A4 (en) * 2009-06-24 2014-08-20 Vidyo Inc SYSTEM AND METHOD FOR ACTIVE VIDEO ELECTRONIC PROGRAMMING GUIDE
US9049472B2 (en) * 2009-08-27 2015-06-02 Adobe Systems Incorporated Systems and methods for dynamic media players utilizing media traits
BR112012010267A2 (pt) * 2009-11-03 2016-03-29 Ericsson Telefon Ab L M métodos para difusão contínua de dados em uma rede de comunicação móvel, e para receber difusão contínua de dados em um terminal móvel, componente de rede, e, terminal móvel
US20110112909A1 (en) * 2009-11-10 2011-05-12 Alcatel-Lucent Usa Inc. Multicasting personalized high definition video content to consumer storage
US20110191677A1 (en) * 2010-01-29 2011-08-04 Robert Paul Morris Methods, systems, and computer program products for controlling play of media streams
EP2403267A3 (en) * 2010-07-02 2012-12-26 Harman Becker Automotive Systems GmbH Media content playback
US8270684B2 (en) * 2010-07-27 2012-09-18 Google Inc. Automatic media sharing via shutter click
US10102208B2 (en) 2010-10-29 2018-10-16 Microsoft Technology Licensing, Llc Automatic multimedia slideshows for social media-enabled mobile devices
KR101175719B1 (ko) 2010-12-08 2012-08-24 주식회사 차후 무선단말기와 지피에스를 이용한 다자간 위치정보 공유시스템
US20120159527A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Simulated group interaction with multimedia content
WO2012145561A1 (en) * 2011-04-19 2012-10-26 Qwiki, Inc. Systems and methods for assembling and/or displaying multimedia objects, modules or presentations
CN102790923B (zh) * 2011-05-19 2015-11-25 华为终端有限公司 用户评论信息共享的方法、即时消息服务器及用户终端
WO2013051014A1 (en) * 2011-06-10 2013-04-11 Tata Consultancy Services Limited A method and system for automatic tagging in television using crowd sourcing technique
US8966513B2 (en) 2011-06-29 2015-02-24 Avaya Inc. System and method for processing media highlights
US8195665B1 (en) * 2011-07-29 2012-06-05 Google Inc. Dynamic bitwise sharding of live stream comment groups
US20130103814A1 (en) 2011-10-25 2013-04-25 Cbs Interactive Inc. System and Method for a Shared Media Experience
US9280545B2 (en) * 2011-11-09 2016-03-08 Microsoft Technology Licensing, Llc Generating and updating event-based playback experiences
US20130259447A1 (en) * 2012-03-28 2013-10-03 Nokia Corporation Method and apparatus for user directed video editing
KR20130111868A (ko) 2012-04-02 2013-10-11 삼성전자주식회사 콘텐트 공유 방법 및 이를 위한 이동 단말기
US20130266290A1 (en) * 2012-04-05 2013-10-10 Nokia Corporation Method and apparatus for creating media edits using director rules
US10565598B2 (en) * 2012-07-10 2020-02-18 Facebook, Inc. Sponsored advertisement ranking and pricing in a social networking system
US8732802B2 (en) * 2012-08-04 2014-05-20 Facebook, Inc. Receiving information about a user from a third party application based on action types
US20140082645A1 (en) * 2012-09-14 2014-03-20 Peter Stern Apparatus and methods for providing enhanced or interactive features
US9294787B2 (en) * 2012-11-16 2016-03-22 Yahoo! Inc. Ad hoc collaboration network for capturing audio/video data
KR20150100795A (ko) * 2012-12-19 2015-09-02 팬픽스, 엘엘씨 그룹 이벤트에서의 영상 캡처, 처리 및 전달
US9497234B2 (en) * 2012-12-27 2016-11-15 Facebook, Inc. Implicit social graph connections
US20140245334A1 (en) * 2013-02-26 2014-08-28 Rawllin International Inc. Personal videos aggregation
US9113208B2 (en) 2013-03-18 2015-08-18 Squaredon Co Ltd Personalized video channel control
US20140359014A1 (en) * 2013-06-03 2014-12-04 Seahorse, Inc. Systems and methods for content management
US20150002688A1 (en) 2013-06-26 2015-01-01 James A. Baldwin Automated camera adjustment
WO2015025309A1 (en) * 2013-08-20 2015-02-26 Smarter Tv Ltd. System and method for real-time processing of ultra-high resolution digital video
US10235509B2 (en) * 2013-08-22 2019-03-19 Staton Techiya, Llc Methods and systems for a voice ID verification database and service in social networking and commercial business transactions
EP3534318A1 (en) * 2013-09-26 2019-09-04 Mark W. Publicover Providing targeted content based on a user´s moral values
WO2015058309A1 (en) * 2013-10-25 2015-04-30 Sysomos L.P. Systems and methods for determining influencers in a social data network
US20150127418A1 (en) * 2013-11-01 2015-05-07 Facebook, Inc. Notifying an advertiser of high engagement posts in a social networking system
US20150149305A1 (en) * 2013-11-26 2015-05-28 Jack Ke Zhang Triggered presentation of third-party interactive content channels on electronic devices
CN103888850B (zh) * 2014-03-26 2018-01-26 深圳市九洲电器有限公司 一种网络视频播放方法及终端
US10306128B2 (en) 2014-06-12 2019-05-28 Ebay Inc. Synchronized media capturing for an interactive scene
US10804958B2 (en) 2015-02-24 2020-10-13 Comcast Cable Communications, Llc Multi-bitrate video with dynamic blocks
US9917870B2 (en) 2015-06-23 2018-03-13 Facebook, Inc. Streaming media presentation system
US10462524B2 (en) 2015-06-23 2019-10-29 Facebook, Inc. Streaming media presentation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262530A1 (en) * 2004-05-24 2005-11-24 Siemens Information And Communication Networks, Inc. Systems and methods for multimedia communication
US20150020106A1 (en) * 2013-07-11 2015-01-15 Rawllin International Inc. Personalized video content from media sources

Also Published As

Publication number Publication date
CN112383570A (zh) 2021-02-19
CN112383569A (zh) 2021-02-19
CN112383567A (zh) 2021-02-19
MX2017016208A (es) 2018-03-07
IL255953A (en) 2018-01-31
US10462524B2 (en) 2019-10-29
EP4024873A1 (en) 2022-07-06
JP2018523386A (ja) 2018-08-16
AU2015400184B2 (en) 2020-03-05
CN112383568A (zh) 2021-02-19
CN112383568B (zh) 2023-04-18
JP6730335B2 (ja) 2020-07-29
WO2016209310A1 (en) 2016-12-29
EP4033768A2 (en) 2022-07-27
CN107852399B (zh) 2020-12-29
CN112383566A (zh) 2021-02-19
AU2015400184A1 (en) 2017-12-14
CN112383566B (zh) 2023-07-04
CA2987578A1 (en) 2016-12-29
CN107852399A (zh) 2018-03-27
EP4020997A1 (en) 2022-06-29
US20160381109A1 (en) 2016-12-29
EP4033768A3 (en) 2022-10-26
KR102399210B1 (ko) 2022-05-19

Similar Documents

Publication Publication Date Title
US11563997B2 (en) Streaming media presentation system
KR102399210B1 (ko) 스트리밍 미디어 프레젠테이션 시스템
US11582182B2 (en) Multi-user media presentation system
US11323753B2 (en) Live video classification and preview selection
EP3110157A2 (en) Streaming media presentation system
Mate Automatic Mobile Video Remixing and Collaborative Watching Systems

Legal Events

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