KR101772580B1 - 광고로서 라이브 스트림의 서빙 - Google Patents

광고로서 라이브 스트림의 서빙 Download PDF

Info

Publication number
KR101772580B1
KR101772580B1 KR1020167034496A KR20167034496A KR101772580B1 KR 101772580 B1 KR101772580 B1 KR 101772580B1 KR 1020167034496 A KR1020167034496 A KR 1020167034496A KR 20167034496 A KR20167034496 A KR 20167034496A KR 101772580 B1 KR101772580 B1 KR 101772580B1
Authority
KR
South Korea
Prior art keywords
live stream
live
stream
content
client device
Prior art date
Application number
KR1020167034496A
Other languages
English (en)
Other versions
KR20160148034A (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 KR20160148034A publication Critical patent/KR20160148034A/ko
Application granted granted Critical
Publication of KR101772580B1 publication Critical patent/KR101772580B1/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/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Abstract

콘텐트 서버는 콘텐트 서버의 사용자들에게 송신하기 위해 콘텐트 배포자로부터 라이브 스트림들을 수신한다. 한 실시예에서, 콘텐트 서버는 라이브 스트림의 부분들을 사용자들에 의해 요청된 비디오들 또는 디지털 콘텐트와 함께 콘텐트 서버의 사용자들에게 광고(ad)들로서 서브함으로써, 콘텐트 배포자로부터 수신된 라이브 스트림들을 홍보한다. 콘텐트 서버는 라이브 스트림을 버퍼링한다. 콘텐트 서버는 클라이언트 디바이스로부터 비디오에 대한 요청을 수신한다. 콘텐트 서버는 사용자에 의해 요청된 비디오를 식별하고 식별된 비디오와 연관된 메타데이터를 식별한다. 콘텐트 서버는 메타데이터에 기초하여, 사용자에 의해 요청된 비디오와 함께, 예를 들어, 프리-롤 광고로서, 라이브-스트림 광고로 클라이언트 디바이스에 서브할지를 결정한다. 콘텐트 서버는 다음에 요청된 비디오와 함께 클라이언트 디바이스에 송신하기 위해 버퍼링된 라이브-스트림 광고를 식별한다.

Description

광고로서 라이브 스트림의 서빙{SERVING A LIVE STREAM AS AN ADVERTISEMENT}
본 개시 내용은 일반적으로 라이브 미디어 또는 디지털 콘텐트를 배포하는 분야, 및 특히, 라이브 미디어 또는 디지털 콘텐트를 홍보하는 것에 관한 것이다.
미디어의 라이브 스트림들은 매일 사람들에게 방송됨으로써, 시청자들이 스포츠, 콘서트들, 및 강연들과 같은 라이브 이벤트들을 볼 수 있게 해준다. 유튜브(YOUTUBE™)와 같은 많은 플랫폼들은 플랫폼의 사용자들에게 라이브 스트림들을 스트리밍한다. 그러나, 오늘날 라이브 스트림 창작자 또는 배포자가 직면한 과제는 시청자를 라이브 스트림에 도달하게 하는 것이다. 종종 라이브 스트림 창작자들 또는 배포자들은 사용자들이 이벤트들을 알게 하고 사용자들에게 이벤트의 라이브 스트림을 보게끔 권장하기 위해 이벤트가 발생하기 전에 여러 달 그들의 이벤트를 마켓팅하는 데 막대한 예산을 들어야 한다.
콘텐트 서버는 콘텐트 서버의 사용자들이 시청 및/또는 업로드할 수 있는, 비디오, 오디오, 이미지, 애니메이션, 또는 텍스트 콘텐트를 포함하는 디지털 콘텐트를 저장한다. 예를 들어, 사용자들은 웹페이지 또는 이동 디바이스를 통해 비디오들을 보기를 요청하고 콘텐트 서버는 사용자로부터 비디오에 대한 요청을 수신할 때, 사용자에게 비디오를 제공한다. 한 실시예에서, 콘텐트 서버는 콘텐트 배포자들로부터 라이브 미디어 스트림들을 수신하여, 콘텐트 서버의 사용자들에게 라이브 스트림들을 배포한다. 라이브 스트림들은 스포츠 경기와 같은 라이브 이벤트들을 나타내는 디지털 콘텐트이고, 실시간으로 캡처된다. 콘텐트 서버는 콘텐트 배포자들에게 콘텐트 서버의 사용자들에게로의 광고로서 라이브 스트림들을 홍보하는 옵션을 제공하여, 콘텐트 서버의 사용자들이 라이브 스트림을 통해 라이브로 보게끔 콘텐트 서버의 사용자들에게 가용한 라이브 이벤트를 알게 한다.
콘텐트 서버의 사용자들은 종종 저장되어 있거나, 콘텐트 서버를 통해 가용한 하나 이상의 비디오를 보는 것을 요청한다. 라이브 이벤트들의 라이브 스트림들을 홍보하는 콘텐트 서버는, 콘텐트 서버의 사용자들이 콘텐트 서버에 의해 제공되는 라이브 스트림에 의해 캡처된 라이브 이벤트를 알게 하기 위해, 요청된 비디오들과 함께 라이브-스트림 프리-롤 광고들을 사용자들에게 제공할 수 있다. 사용자들은 예를 들어, 라이브-스트림 광고를 일시중지하는 것과 같이, 라이브-스트림 프리-롤 광고와 상호작용할 수 있거나, 사용자에 의해 초기에 요청된 비디오 대신에 콘텐트 서버를 통해 콘텐트 배포자에 의해 제공되는 라이브 스트림을 보기를 선택할 수 있다. 그러므로, 라이브 스트림의 부분들을 프리-롤 광고로서 생성하고 서브함으로써, 콘텐트 서버는 라이브 이벤트의 라이브 스트림을 보는 것에 관심이 있을 수 있는 콘텐트 서버의 사용자들이 라이브 스트림 및 라이브 스트림에 의해 캡처된 현재의 이벤트를 알게 한다.
사용자에게 라이브-스트림 프리-롤 광고를 제공하기 위해, 콘텐트 서버는 콘텐트 서버의 사용자들에게 라이브-스트림 프리-롤 광고들로서 서브될 라이브 스트림들을 수신하고 준비한다. 콘텐트 서버는 수신된 라이브 스트림들을 트랜스코드하여 상이한 비디오 호환성들을 갖는 다양한 클라이언트 디바이스들이 라이브 스트림의 버전으로 서브될 수 있다. 콘텐트 서버는 또한 라이브 스트림의 버전들을 버퍼링함으로써, 콘텐트 서버가 버퍼링된 라이브 스트림을 사용자에게 광고로서 송신하게 해줌으로써, 사용자에게 원활하고 중단되지 않는 시청 경험을 제공한다.
한 예에서, 콘텐트 서버는 콘텐트 배포자들에게 사용자 인터페이스를 제공하고, 이 인터페이스를 통해 콘텐트 배포자들은 라이브 스트림과 연관된 게시 정보를 명시할 수 있다. 또 하나의 예에서, 콘텐트 서버는 라이브 스트림 광고들이 콘텐트 서버의 사용자들에게 제시될 때 라이브-스트림 광고들과 상호작용하기 위한 사용자 인터페이스를 콘텐트 서버의 사용자들에게 제공한다.
콘텐트 서버는 클라이언트 디바이스로부터 비디오에 대한 요청을 수신한다. 콘텐트 서버는 사용자에 의해 요청된 비디오를 식별하고 식별된 비디오와 연관된 메타데이터를 식별한다. 콘텐트 서버는 메타데이터에 기초하여, 클라이언트 디바이스에 사용자에 의해 요청된 비디오와 함께, 예를 들어 프리-롤 광고로 라이브-스트림 광고를 서브할지를 결정한다. 콘텐트 서버는 요청된 비디오와 함께 클라이언트 디바이스에 송신하기 위해 버퍼링된 라이브-스트림 광고를 식별한다. 한 예에서, 콘텐트 서버는 라이브-스트림 광고와의 사용자의 상호작용들을 측정하고, 예를 들어 사용자가 (라이브-스트림 광고와 함께 사용자 인터페이스를 통해 사용자에게 서브되는) 일시중지 제어와 상호작용하는지의 상호작용들을 저장함에 의해, 라이브-스트림 광고를 일시중지한다. 또 하나의 예에서, 라이브-스트림 광고가 일정 시간 기간 동안 사용자에게 제시되고, 그 이후에 사용자에 의해 요청된 비디오가 사용자에게 제시된다.
개시된 실시예들은 상세한 설명 및 첨부한 도면으로부터 보다 쉽게 분명해질 다른 장점들 및 특징들을 갖는다. 도면들의 간단한 소개는 아래와 같다.
도 1은 한 실시예에 따른, 디지털 콘텐트를 공유하기 위한 네트워크된 환경의 블록도를 도시한다.
도 2는 한 실시예에 따른, 콘텐트 배포자로부터 콘텐트 서버의 사용자로의 라이브 스트림의 예시적인 흐름을 도시한다.
도 3은 한 실시예에 따른, 라이브 스트림들을 수신하고 버퍼링하는 예시적인 프로세스의 플로우차트이다.
도 4는 한 실시예에 따른, 버퍼링된 라이브 스트림을 광고로서 서브하는 예시적인 프로세스의 플로우차트이다.
도 5는 한 실시예에 따른, 라이브-스트림 프리-롤 광고와 함께 사용자 인터페이스를 통해 사용자에게 제시되는 예시적인 제어들을 도시한다.
도 6은 한 실시예에 따른, 콘텐트 공유 환경의 개체들을 구현하기 위해 사용할 수 있는 예시적인 컴퓨터를 도시한 블록도이다.
도면 및 다음의 설명은 단지 예시에 의한 특정한 실시예들에 관한 것이다. 다음의 논의로부터, 본 명세서에 개시된 구조들 및 방법들의 대안적 실시예들이 청구된 것의 원리들에서 벗어나지 않고서 채용될 수 있는 실행 가능한 대안들로서 쉽게 인식될 것이라는 점에 주목하여야 한다.
그 예들이 첨부 도면에 도시된 몇 개의 실시예들이 이제 상세히 참조될 것이다. 실시가능한 유사한 또는 동일한 참조 번호들이 도면에서 사용될 수 있고 유사하거나 동일한 기능성을 표시할 수 있다는 점에 주목한다. 도면은 단지 예시의 목적들을 위해 개시된 시스템(또는 방법)의 실시예들을 도시한다. 본 명세서에 도시된 구조들 및 방법들의 대안적 실시예들이 예들이 본 명세서에 설명된 원리들에서 벗어나지 않고서 채용될 수 있다.
도 1은 한 실시예에 따른, 디지털 콘텐트를 공유하기 위한 네트워크된 환경의 블록도를 도시한다. 네트워크된 환경의 개체들은 클라이언트 디바이스(110), 콘텐트 서버(120), 콘텐트 배포자(130), 및 네트워크(150)를 포함한다. 개체들의 단일의 예들이 도시되지만, 다수의 예들이 제시될 수 있다. 예를 들어, 다수의 사용자와 연관된 다수의 클라이언트 디바이스(110)가 디지털 콘텐트를 검색하여, 디지털 콘텐트를 제시할 수 있다. 개체들의 기능성들은 다수의 인스턴스들 간에 분산될 수 있다. 예를 들어, 지리적으로 분산된 위치들에 있는 서버들의 콘텐트 배포 네트워크는 서버 응답성을 증가시키고 디지털 콘텐트 로딩 시간들을 줄이도록 콘텐트 서버(120)를 구현한다.
클라이언트 디바이스(110)는 네트워크(150)를 통해 디지털 콘텐트에 액세스하고 디지털 콘텐트를 사용자에게 제시한다. 디지털 콘텐트를 제시하는 것은 이미지 또는 애니메이션을 디스플레이하는 것뿐만 아니라 비디오 또는 오디오 파일을 플레이하는 것을 포함한다. 한 실시예에서, 클라이언트 디바이스(110)는 도 4에 대해 아래에 더 설명되는 컴퓨터이다. 예시적인 클라이언트 디바이스들(110)은 데스크탑, 랩탑, 태블릿, 이동 디바이스, 스마트 텔레비전, 및 웨어러블 디바이스를 포함한다. 클라이언트 디바이스(110)를 사용하여, 사용자는 라이브 스트림들을 생성하고 클라이언트 디바이스(110)를 사용하여 캡처된 라이브 스트림들을 관리하는 것을 또한 포함하는, 콘텐트 서버(120) 상에 디지털 콘텐트를 업로드하여 관리할 수 있다. 클라이언트 디바이스(110)는 웹 브라우저 또는 콘텐트 서버(120)로부터의 디지털 콘텐트를 보기 위한 다른 애플리케이션들과 같은 소프트웨어를 포함할 수 있다. 클라이언트 디바이스(110)는 임베드된 디지털 콘텐트의 제시를 지원하기 위한 비디오 플레이어, 오디오 플레이어, 또는 애니메이션 플레이어와 같은 소프트웨어를 포함할 수 있다.
콘텐트 배포자(130)는 콘텐트 서버(120)에 하나 이상의 라이브 스트림을 제공하는 컴퓨터 시스템이다. 예시적인 콘텐트 배포자들(130)은 데스크탑, 랩탑, 스마트폰, 태블릿, 이동 디바이스, 카메라 또는 비디오 레코딩 디바이스를 포함한다. 콘텐트 배포자(130)는 미디어 콘텐트의 라이브 피드를 생성할 수 있고 라이브 스트림으로서 라이브 피드를 콘텐트 서버(120)에 송신할 수 있다. 콘텐트 배포자(130)는 예를 들어, 텔레비전 네트워크, 무선국, 콘서트 프로듀서, 라이브 미디어 콘텐트를 생성하는 개인 사용자, 또는 라이브 미디어 콘텐트를 생성하는 다른 개체에 의해 운용될 수 있다. 한 예에서, 콘텐트 배포자(130)는 또 하나의 시스템으로부터 라이브 스트림을 수신할 수 있고 콘텐트 서버(120)의 사용자들에게 배포되도록 라이브 스트림을 콘텐트 서버(120)에 전송할 수 있다.
한 실시예에서, 콘텐트 배포자(130)에 의해 콘텐트 서버(120)에 송신된 라이브 스트림에 대해, 콘텐트 배포자(130)는 또한 라이브 스트림과 연관된 게시 정보를 콘텐트 서버(120)에 송신한다. 게시 정보는 라이브 스트림의 부분들이 광고로서 사용될 수 있는지와 같은, 라이브 스트림의 배포와 관련된 지시들, 또는 콘텐트 배포자(130)가 라이브 스트림을 홍보하기를 원하는 인구 통계를 포함한다. 콘텐트 배포자(130)는 라이브 스트림을 콘텐트 서버(120)에 송신하기 전에 라이브 스트림의 게시 정보를 송신할 수 있다. 한 예에서, 콘텐트 서버(120)는 아래에 콘텐트 서버(120)와 함께 더 상세히 설명되는 바와 같이, 게시 정보 내에 포함할 다양한 지시들을 선택하기 위한 사용자 인터페이스를 콘텐트 배포자(130)에게 제공한다.
네트워크(150)는 하나 이상의 근거리 네트워크 및/또는 광역 네트워크를 통해 그들에 접속된 개체들 간의 통신들을 가능하게 한다. 한 실시예에서, 네트워크(150)는 인터넷이고 표준 유선 및/또는 무선 통신 기술들 및/또는 프로토콜들을 사용한다. 네트워크(150)는 이더넷, 802.11, 마이크로웨이브 액세스를 위한 월드와이드 상호운용성(WiMAX), 롱 텀 에볼루션(LTE), 3G, 4G, 디지털 가입자 선(DSL), 비동기 트랜스퍼 모드(ATM), 인피니밴드, 및/또는 PCI 익스프레스 어드밴스트 스위칭과 같은 기술들을 사용하는 링크들을 포함할 수 있다. 유사하게, 네트워크들(170, 160) 상에 사용되는 네트워킹 프로토콜들은 멀티프로토콜 라벨 스위칭(MPLS), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 트랜스포트 프로토콜(HTTP), 간단한 메일 트랜스퍼 프로토콜(SMTP), 및/또는 파일 트랜스퍼 프로토콜(FTP)을 포함할 수 있다.
네트워크(150)를 통해 교환되는 데이터는 하이퍼텍스트 마크업 언어(HTML), 확장가능한 마크업 언어(XML), 및/또는 자바스크립트 오브젝트 노테이션(JSON)을 포함하는 기술들 및/또는 포맷들을 사용하여 나타내질 수 있다. 또한, 송신된 데이터의 모두 또는 일부는 보안 소켓 층(SSL), 트랜스포트 층 보안(TLS), 가상 사설 네트워크들(VPN들), 및/또는 인터넷 프로토콜 보안(IPsec)과 같은 통상적인 암호화 기술들을 사용하여 암호화될 수 있다. 또 하나의 실시예에서, 개체들은 위에 설명된 것들 대신에, 또는 그에 부가하여 주문형 및/또는 전용된 데이터 통신 기술들을 사용한다.
콘텐트 서버(120)는 클라이언트 디바이스들(110)의 사용자들에 의해 업로드된 디지털 콘텐트를 저장하고 이 디지털 콘텐트를 클라이언트 디바이스들(110)의 시청 사용자들에게 서브한다. 콘텐트 서버(120)는 또한 콘텐트 소유자들(예를 들어, 프로덕션 회사들, 기록 라벨들, 게시자들)로부터 디지털 콘텐트를 취득할 수 있다. 콘텐트 서버(120)는 또한 콘텐트 배포자(130)로부터 이벤트들의 라이브 스트림들을 수신하고 콘텐트 서버(120)의 사용자들에게 라이브 스트림을 송신, 게시 또는 가용하게 한다. 한 실시예에서, 콘텐트 서버(120)는 비디오 서빙 모듈(122), 라이브 스트림 모듈(123), 비디오 탐색 모듈(124), 콘텐트 인터페이스(125), 서버(126), 광고(ad) 스토어(127), 및 콘텐트 스토어(128)를 포함한다. 예시된 컴포넌트들의 기능성은 상이한 구성의 모듈들의 간에 복제 또는 재분산될 수 있다.
콘텐트 서버(120)는 업로드된 디지털 콘텐트를 콘텐트 스토어(128) 내에 저장한다. 콘텐트 스토어(128)는 디지털 콘텐트 자체(예를 들어, 오디오 또는 비디오 파일) 또는 그에 대한 포인터를 포함할 수 있다. 콘텐트 스토어(128)는 또한 디지털 콘텐트와 연관된 메타데이터를 하우징한다. 메타데이터는 디지털 콘텐트의 소스(예를 들어, 업로더 이름, 업로더 사용자 식별자) 및/또는 속성들(예를 들어, 비디오 식별자, 타이틀, 설명, 파일 크기, 파일 유형, 프레임 속도, 해상도, 업로드 날짜)을 표시하는 디지털 콘텐트의 특성들이다.
한 예에서, 디지털 콘텐트와 연관된 메타데이터는 디지털 콘텐트의 플레이백 동안에, 그 전에 또는 후에 디스플레이될 수 있는 광고의 유형을 식별하는 광고 식별자를 포함한다. 광고들의 이들 유형은 (디지털 콘텐트의 플레이백 전에 플레이되는) 프리-롤 광고, (디지털 콘텐트의 플레이백 중에 플레이되고, 여기서 디지털 콘텐트의 플레이백은 플레이될 미드-롤 광고 동안 중지되는) 미드-롤 광고, (미디어 콘텐트의 플레이백 후에 플레이되는) 포스트-롤 광고, 및 (미디어 콘텐트의 플레이백 중에 플레이되지만, 광고가 디지털 콘텐트의 플레이백 중에 디지털 콘텐트의 부분 위에 중첩되는 애니메이션 또는 텍스트인) 오버레이 광고로서 참조된다. 또 하나의 예에서, 디지털 콘텐트와 연관된 식별자는 라이브 스트림이 디지털 콘텐트의 플레이백 전에 사용자에게 디스플레이되는 프리-롤 광고로서 플레이될 수 있는지를 명시한다.
클라이언트 디바이스(110)는 디지털 콘텐트에 대응하는 인터넷 식별자(URI), 전형적으로 인터넷 주소(URL)에 액세스함으로써 디지털 콘텐트를 요청한다. 한 실시예에서, URI는 콘텐트 서버(120)와 연관된 도메인 및 클라이언트 디바이스(110)에 의해 요청된 디지털 콘텐트를 식별하는 콘텐트 식별자를 포함한다. 콘텐트 식별자에 기초하여, 비디오 서빙 모듈(122)은 콘텐트 스토어(128))로부터 비디오들을 검색하고 그들을 예를 들어 콘텐트 인터페이스(125)를 통해, 클라이언트 디바이스(110)에 가용하게 한다.
콘텐트 인터페이스(125)는 클라이언트 디바이스(110) 상에서 실행하는 애플리케이션 또는 브라우저를 통해 클라이언트 디바이스(110)의 사용자들에게 디지털 콘텐트를 제시한다. 한 실시예에서, 콘텐트 인터페이스(125)는 사용자가 프리-롤 광고로서 사용자에게 제시되는 라이브 스트림과 상호작용할 수 있는 인터페이스로 사용자에게 제시한다. 한 실시예에서, 인터페이스는 사용자가 라이브 스트림으로 리다이렉트하게 하거나 사용자에 의해 요청된 비디오로 건너뛰어 계속하게 해주는 것뿐만 아니라, 사용자가 라이브 스트림의 플레이백을 조작하게 해주는 제어들의 세트를 포함한다. 예를 들어, 사용자 인터페이스는 사용자에게 광고로서 또는 프리-롤 광고로서 제시되는 라이브 스트림을 통해 일시중지, 리와인딩 또는 패스트 포워딩하는 제어들을 포함한다. 또 하나의 예에서, 사용자 인터페이스는 라이브-스트림 프리-롤 광고를 건너뛰어 사용자에 의해 요청된 비디오로 가는 제어를 포함할 수 있다. 한 예에서 라이브-스트림 프리-롤 광고를 건너뛰는 제어는 버퍼링된 라이브 스트림을 시간의 임계 기간 동안 사용자가 본 후에 사용자에게 가용하게 될 수 있다. 예를 들어, 사용자는 라이브-스트림 프리-롤 광고의 나머지 부분을 건너뛰어 사용자에 의해 요청된 비디오로 가게 하는 제어와 상호작용할 수 있기 전에 5초 동안 라이브-스트림 광고를 보아야 할 것이다. 사용자 인터페이스는 또한 콘텐트 배포자(130)에 의해 캡처된 라이브 이벤트의 라이브 스트림으로 사용자를 리다이렉트하는 제어를 포함할 수 있다.
한 실시예에서, 콘텐트 인터페이스(125)는 사용자 인터페이스를 콘텐트 배포자들(130)에게 제공하고, 사용자 인터페이스를 사용하여 콘텐트 배포자(130)는 콘텐트 배포자(130)에 의해 생성되거나 기록된 라이브 스트림과 포함시킬 게시 정보를 선택할 수 있다. 콘텐트 배포자(130)에 제공된 사용자 인터페이스는 콘텐트 배포자가 게시 정보 내에 포함하도록 정보를 입력하거나 정보를 명시하기 위해 선택할 수 있는 필터들의 세트, 입력 필드들 또는 옵션들을 포함할 수 있다. 게시 정보 내에 포함될 수 있는 정보의 예들은 라이브 스트림이 홍보될 수 있는 시간 기간, 콘텐트 배포자가 라이브 스트림을 제공하기를 원하는 사용자들의 인구 통계, 또는 라이브 스트림이 콘텐트 서버(120)의 사용자들에 광고 또는 프리-롤 광고로서 서브될 수 있는지 여부를 명시하는 정보를 포함한다. 사용자 인터페이스는 콘텐트 배포자가 라이브 스트림을 생성할 때, 또는 라이브 스트림이 콘텐트 서버(120)에 송신되는 임의의 시간에 콘텐트 배포자(130)에게 제공될 수 있다. 이것은 콘텐트 서버(120)로의 라이브 스트림의 송신 전이나 그 동안에, 콘텐트 배포자가 라이브 스트림과 연관된 제약들 또는 제한들을 수정하게 해준다.
비디오 탐색 모듈(124)은 사용자가 하나 이상의 명시된 기준에 맞거나, 비디오 호스팅 사이트 등에 의해 홍보된, 사용자가 보았던 다른 비디오들과 관련된 비디오들을 탐색하게 한다.
라이브 스트림 모듈(123)은 도 2, 도 3 및 도 4와 함께 아래에 더 상세히 설명되는 바와 같이, 미디어 캡처링 디바이스를 통해 콘텐트 배포자(130)로부터 라이브 스트림을 수신하고 콘텐트 서버(120)의 사용자들에게 서브되거나 콘텐트 서버(120)의 사용자들에게 광고로서 홍보되고 서브될 라이브 스트림을 준비한다. 한 실시예에서 라이브 스트림 모듈(123)은 라이브 스트림을 라이브 스트림의 다수의 트랜스코드된 버전으로 트랜스코드함으로써, 콘텐트 서버(120)가 상이한 디코딩 능력들 및 상이한 비디오 플레이어 호환성들을 갖는 클라이언트 디바이스들(110)을 갖는 사용자들에게 라이브 스트림을 송신하거나 서브하게 해준다. 라이브 스트림 모듈(120)은 사용자에게 서브될 라이브 스트림을 시간의 임계 기간 동안 버퍼링할 수 있다. 예를 들어, 버퍼링된 라이브 스트림은 사용자에게 광고로서 서브될 수 있거나, 버퍼링된 라이브 스트림은 라이브 이벤트를 보는 것에 관심이 있는 사용자들에게 서브될 수 있다. 버퍼링된 라이브 스트림은 광고 스토어(127) 또는 콘텐트 스토어(128) 내에 저장될 수 있다. 한 실시예에서, 라이브 스트림 모듈(123)은 라이브 스트림을 콘텐트 스토어(128) 내에 저장한다. 이것은 라이브 이벤트의 시간에 라이브 스트림을 볼 수 없었던 사용자들이 라이브 이벤트의 종료 후에 라이브 스트림을 검색하여 보게 해준다.
한 예에서, 라이브 스트림 모듈(123)은 콘텐트 배포자(130)로부터 수신된 게시 정보에 기초하여 라이브-스트림 광고를 생성한다. 또 하나의 예에서, 라이브 스트림 모듈(123)은 사용자에 의해 요청된 비디오를 디스플레이하기 전에 프리-롤 광고로서 라이브 스트림들을 서브한다. 라이브 스트림을 프리-롤 광고로서 서브하는 것은 콘텐트 서버(120)의 사용자들로 하여금 사용자가 보는 것에 관심이 있을 수 있는 라이브 이벤트를 알게 하고, 사용자에게 라이브-스트림 프리-롤 광고로서 디스플레이되는 시간에 발생하는 효과적인 방식이다. 또한, 사용자들은 예를 들어 라이브 스트림으로 리다이렉트하기 위해 라이브-스트림 광고와 상호작용할 수 있다. 한 실시예에서, 라이브-스트림 광고 생성기(123)는 요청된 비디오와 연관된 메타데이터에 기초하여 라이브 스트림을 프리-롤 광고로서 서브할지를 결정한다. 예를 들어, 콘텐트 서버(120)는 클라이언트 디바이스(110)로부터 비디오에 대한 요청을 수신한다. 라이브 스트림 모듈(123)은 요청된 비디오와 연관된 메타데이터를 검색하고 라이브-스트림 광고가 요청된 비디오와 함께 사용자에게 서브될 것이라는 것을 메타데이터로부터 식별한다. 라이브 스트림 모듈(123)은 다음에 광고 스토어(127) 내에 저장된 버퍼링된 라이브 스트림을 검색하고 클라이언트 디바이스(110)에의 요청된 비디오와 함께 라이브-스트림 광고로서 서브될 버퍼링된 라이브 스트림을 비디오 서빙 모듈(122)에 제공한다. 다음의 예들에서 라이브 스트림들이 프리-롤 광고들로서 서브되는 것으로서 논의되지만, 라이브 스트림들 또는 라이브 스트림들의 부분들은 또한 다른 실시예들에서 미드-롤, 포스트-롤 또는 오버레이 광고들로서 서브될 수 있다.
라이브 스트림 모듈(123)은 광고 스토어(127) 내에 라이브 스트림의 버퍼링된 부분들을 저장할 수 있다. 스트림을 버퍼링하는 것은 콘텐트 서버(120)가 프리-롤 광고로서 라이브 스트림을 보는 사용자에게 원활하고 바람직한 시청 경험을 제공하게 해준다. 버퍼링은 일정 시간 간격 동안 라이브 스트림의 부분을 저장하는 것을 의미한다. 라이브 스트림 모듈(123)은 라이브-스트림 광고로서 사용자에게 서브될 버퍼링된 라이브 스트림 또는 버퍼링된 라이브 스트림의 부분을 광고 스토어(127)로부터 검색할 수 있다. 광고 스토어(127)는 광고 창작물뿐만 아니라 상이한 종류들의 광고들을 저장한다. 광고 스토어(127)는 또한 계정 정보 및 크리덴셜들과 같은 각각의 광고자와 관련된 정보, 및 광고자가 관계되는 어떤 광고 캠페인들에 대한 캠페인 선호들을 저장한다. 한 실시예에서, 광고 스토어(127)는 광고가 프리-롤, 미드-롤, 포스트-롤 또는 오버레이 광고 중 하나 이상인지를 식별하는 각각의 광고와 연관된 메타데이터를 저장한다. 광고 스토어(127)는 또한 라이브 스트림 광고와 연관된 공개 정보를 포함하는 라이브-스트림 광고들과 연관된 메타데이터를 저장할 수 있다.
서버(126)는 콘텐트 배포자(130)에 뿐만 아니라 클라이언트 디바이스들(110)에 네트워크(150)를 통해 콘텐트 서버(120)를 링크한다. 서버(126)는 JAVA®, FLASH®, XML 등과 같은 다른 콘텐트 뿐만 아니라, 웹 페이지들, 애플리케이션 콘텐트 또는 명령어들을 서브한다. 서버(126)는 하나 이상의 클라이언트 디바이스(110)로부터 업로드된 콘텐트 아이템들을 수신할 수 있다. 부가적으로, 서버(126)는 디지털 콘텐트를 보기 위한, 그리고 클라이언트 디바이스(110)의 사용자로부터 수신된 입력을 처리하기 위한 콘텐트 인터페이스(125)로부터의 명령어들을 처리를 위해 콘텐트 서버(120)의 각각의 컴포넌트에 전달한다. 부가적으로, 서버(126)는 IOS®, ANDROID™, WEBOS® 또는 BlackberryOS와 같은 네이티브 클라이언트 디바이스 운영 체제들에 직접 데이터를 보내기 위해 애플리케이션 프로그래밍 인터페이스(API) 기능성을 제공할 수 있다. 다음의 예들에서 서버(126)는 사용자에게 디스플레이하기 위한 웹 페이지들을 클라이언트 디바이스(110)에 제공하는 것으로서 설명되지만, 서버(126)는 또한 클라이언트 디바이스(110) 상에 설치된 애플리케이션에 사용자에게 디스플레이할 콘텐트를 제공할 수 있다.
도 2는 한 실시예에 따른, 콘텐트 배포자로부터 콘텐트 서버의 사용자로의 라이브 스트림의 예시적인 흐름을 도시한다. 콘텐트 배포자(130)는 라이브 스트림을 캡처하여 콘텐트 서버(120)에 송신한다(205). 한 실시예에서, 콘텐트 배포자에 의해 캡처된 미디어는 네트워크(150) 내에서 스트리밍되고 있을 때 발생되고 있는 라이브 피드이다. 콘텐트 서버(120)는 콘텐트 배포자(130)로부터 라이브 스트림을, 그것이 캡처되고 있을 때, 수신한다. 콘텐트 서버(120)는 라이브 스트림의 다수의 버전을 생성하는 라이브 스트림을 트랜스코드한다(210). 트랜스코드된(210) 라이브 스트림은 다양한 방식들로 버퍼링 또는 저장될 수 있다.
한 예에서, 라이브 스트림 모듈(123)은 라이브-스트림 광고 버퍼(215) 내에 라이브 스트림을 버퍼링한다. 라이브-스트림 광고 버퍼(215) 내에 저장된 라이브 스트림의 부분은 구현자의 필요들에 의존하고, 예를 들어 버퍼 스토리지에 전용되는 것이 가용한 스토리지의 양에 기초하여 변화할 수 있다. 버퍼링된 라이브 스트림은 라이브-스트림 광고로서 콘텐트 서버(120)의 사용자에게 제시된다(230). 한 실시예에서, 라이브 스트림 모듈(123)은 라이브 스트림의 부분이 라이브-스트림 광고 버퍼(215) 내에 버퍼링되고, 라이브-스트림 광고로서 사용자에게의 제시가 가용하다는 것을 표시하는 표시자를 광고 스토어(127) 내에 저장한다. 또 하나의 예에서, 라이브 스트림 모듈(123)은 또한 다양한 실시예들에서 라이브-스트림 광고 버퍼(215)와 동일하거나 상이한 버퍼일 수 있고, 더 크거나 작은 크기일 수 있는, 라이브 스트림 콘텐트 버퍼(220) 내에 라이브 스트림을 버퍼링한다. 라이브 스트림 콘텐트 버퍼(220) 내에 저장된 라이브 스트림의 부분은, 그러면 라이브 이벤트가 콘텐트 배포자(205)에 의해 캡처될 때 라이브 스트림을 보는 것에 관심이 있는 사용자들에게 제시된다(235). 일부 실시예들에서, 이미 발생하였을지도 모르는 라이브 이벤트의 부분들과 같은, 라이브 스트림의 상이한 부분들을 보는 것에 관심이 있는 사용자들은 사용자들에게 제공된 사용자 인터페이스를 통해 라이브 스트림 콘텐트 버퍼(220) 내에 저장된 그들 부분을 보거나 다시 찾을 수 있다. 예를 들어, 라이브-스트림 광고를 보고 있는 사용자는 라이브-스트림 광고를 디스플레이하는 플레이어의 부분으로서 디스플레이된 제어들을 사용함으로써 2분 다시 찾기를 하기 위해 라이브-스트림 콘텐트 버퍼(220) 내의 콘텐트로 리다이렉트될 수 있다. 제3 예에서, 트랜스코드된(210) 라이브 스트림은 콘텐트 스토어(128) 내에 저장될 수 있고(225), 라이브 이벤트가 발생하였거나 종료된 후의 시간에 라이브 스트림을 보는 것에 관심이 있는 사용자들에게 제시될 수 있다(240).
도 3 및 4는 한 실시예에 따른, 라이브-스트림 광고들을 준비 및 서브하는 예시적인 프로세스의 플로우차트들을 도시한다. 도 3은 콘텐트 배포자로부터 라이브 스트림을 수신하고 콘텐트 서버(120)의 사용자에게 서브될 라이브-스트림 광고를 생성하는 예시적인 프로세스를 도시한다. 도 4는 콘텐트 서버(120)의 사용자에 의해 요청된 비디오와 함께 라이브-스트림 광고를 서브하는 예시적인 프로세스를 도시한다. 도시된 실시예에서, 디지털 콘텐트 아이템은 비디오이고 콘텐트 식별자는 비디오 식별자이지만, 본 명세서에 설명된 프로세스는 오디오 파일들, 이미지들, 애니메이션들, 또는 텍스트와 같은 다른 디지털 콘텐트에 완전히 적용가능하다. 또한, 도 3 및 도 4와 함께 설명된 기능성은 라이브 스트림 모듈(123)에 의해 수행되지만, 다른 실시예들에서, 임의의 적합한 컴포넌트 또는 컴포넌트들의 조합이 도 3 및 도 4와 함께 설명된 기능성을 수행할 수 있다. 부가적으로, 일부 실시예들에서, 도 2 및 도 3에서 식별된 것들과 상이한 및/또는 추가적인 단계들이 수행될 수 있거나 또는 도 3 및 도 4에서 식별된 단계들은 상이한 순서들로 수행될 수 있다.
도 3은 콘텐트 배포자로부터 라이브 스트림을 수신하고 콘텐트 서버(120)의 사용자에게 서브될 라이브-스트림 광고를 생성하는 예시적인 프로세스를 도시한다. 콘텐트 서버(120)는 콘텐트 배포자(130)로부터 라이브 입력 스트림을 수신한다(305). 콘텐트 배포자(130)에 의해 캡처된 라이브 입력 스트림은 네트워크(150) 내에서 스트리밍되고 있을 때 생성되고 있는 라이브 피드이다. 한 실시예에서, 콘텐트 서버(120)는 또한 라이브 스트림의 배포 및 홍보에 관한 게시 정보를 수신한다(305). 예를 들어, 게시 정보는 라이브 스트림이 홍보될 수 있는 시간 기간, 콘텐트 배포자가 라이브 스트림을 제공하고 싶은 사용자들의 인구 통계, 또는 라이브 스트림이 콘텐트 서버(120)의 사용자들에게 프리-롤 광고로서 서브될 수 있는지 여부를 명시하는 정보를 포함한다. 게시 정보는 라이브 스트림과 동시에, 또는 그 전에 수신될 수 있다. 예를 들어, 콘텐트 서버(120)가 라이브 스트림를 수신할 때, 콘텐트 서버(120)는 또한 라이브 스트림의 수신된 부분들이 사용자들에게 서브될 프리-롤 광고 내에 포함되어야 하는지를 표시하는 게시 정보를 수신할 수 있다. 이것은, 사용자들이 콘서트 중에 뮤직 밴드들이 바뀔 때나 하키 게임에서의 기간들 간에 휴식 기간이 있을 때와 같은, 라이브 이벤트 중의 중지 시간들에 보는 것에 관심이 없을 수 있기 때문에, 콘텐트 배포자가 라이브 이벤트의 액티브 기간들 동안 라이브 이벤트의 라이브 스트리밍을 홍보하게 해주므로 콘텐트 배포자에 유익하다.
라이브 스트림이 콘텐트 서버(120)에 의해 수신될 때, 콘텐트 서버(120)는 한 실시예에서 라이브 스트림를 트랜스코드하여(310), 라이브 스트림의 다수의 버전을 생성한다. 트랜스코딩은 하나의 인코딩에서 다른 인코딩으로의 변환을 의미한다. 라이브 스트림을 라이브 스트림의 다수의 트랜스코드된 버전으로 트랜스코드하는 것은 콘텐트 서버(120)가 상이한 인코딩 능력들 및 상이한 비디오 플레이어 호환성들을 갖는 클라이언트 디바이스들(110)을 갖는 사용자들에게 라이브 스트림를 송신 또는 서브하게 해준다. 상이한 포맷들의 버전들을 생성하고 또는 인코딩하는 것 외에도, 콘텐트 서버(120)는 상이한 해상도 품질을 각각 갖는 라이브 스트림의 상이한 트랜스코드된 버전을 생성할 수 있다. 예를 들어, 수신된 라이브 스트림에 대해, 콘텐트 서버(120)는 라이브 스트림의 상이한 버전들을 생성하고, 각각의 버전은 다음의 해상도 품질들: 144p, 240p, 360p, 480p, 720p, 및 1080p 중 하나 이상을 갖는다. 클라이언트 디바이스(110)의 시청 능력들에 따라, 그 후 콘텐트 서버(120)는 다양한 트랜스코드된 스트림들 중에서 디바이스에의 스트림에 콘텐트의 가장 적절한 버전을 선택할 수 있다.
콘텐트 서버(120)는 트랜스코드된 라이브 입력 스트림을 버퍼링한다(315). 스트림을 버퍼링하는 것은 콘텐트 서버(120)가 라이브 스트림을 프리-롤 광고로서 시청하는 사용자에게 원활하고 바람직한 시청 경험을 제공하게 해준다. 버퍼링은 일정 시간 간격 동안 라이브 스트림의 부분을 저장하는 것을 의미한다. 라이브 입력 스트림을 버퍼링하는 것은, 콘텐트 서버(120)가 데이터가 콘텐트 서버(120)에 의해 수신되는 속도와 트랜스코드된 라이브 입력 스트림이 클라이언트 디바이스(110)에 서브되는 속도 사이의 차이를 고려하게 해줌에 의해, 입력 스트림이 클라이언트 디바이스(110)에 송신될 때 사용자가 어떤 중단들 없이, 예를 들어 프리-롤 광고로서 라이브 입력 스트림을 보게 해준다. 한 실시예에서, 콘텐트 서버(120)는 광고 스토어(127) 내에 임계 시간 간격(예를 들어, 2분)에 걸쳐 라이브 스트림의 비디오 프레임들 또는 부분들을 저장함으로써 라이브 스트림의 각각의 트랜스코드된 버전을 버퍼링한다. 또 하나의 실시예에서, 콘텐트 서버(120)는 콘텐트 배포자로부터 라이브 입력 스트림의 새로운 프레임 또는 부분을 수신할 때 버퍼로부터 가장 오래된 버퍼링된 라이브 스트림 프레임을 제거한다.
또 하나의 실시예에서, 콘텐트 서버(120)는 콘텐트 배포자(130)에 의해 제공된 게시 정보 내에 현재 포함된 시간 정보에 기초하여 콘텐트 배포자(130)로부터의 콘텐트를 버퍼링하기 시작한다. 예를 들어, 콘텐트 배포자(130)는 라이브 스트림이 10:00 am부터 11:00 am까지 버퍼링 또는 게시된다는 것을 표시할 수 있다. 콘텐트 배포자(130)는 10:00 am에 콘텐트 배포자로부터 수신된 라이브 스트림을 버퍼링하기 시작할 수 있고 11:00 am에 라이브 스트림을 버퍼링하는 것을 중지할 수 있다. 또한, 전체 라이브 스트림 또는 라이브 스트림의 버퍼링된 부분들은 콘텐트 서버(120)에 의해 나중에 사용하기 위해 광고 스토어(127) 또는 콘텐트 스토어(128) 내에 저장될 수 있다. 예를 들어, 콘텐트 서버(120)가 사용자 인터페이스를 통해 사용자에게 제시된 제어에 대해 사용자로부터의 상호작용을 수신할 때(사용자가 라이브-스트림 광고를 볼 때), 라이브 스트림을 버퍼링하기 시작한 시간 기간 전으로 다시 가기 위해, 콘텐트 서버(120)는 콘텐트 서버(120)가 사용자에게 제시할 라이브 스트림을 버퍼링하기 시작한 시간 기간 전의 시간 간격과 연관된 라이브 스트림의 버퍼링된 버전 또는 저장된 버전을 검색한다. 콘텐트 서버(120)는 또한 사용자를, 사용자에게 제시된 라이브-스트림 광고로부터 떠나, 사용자가 볼 라이브 스트림의 검색된 저장된 버전을 디스플레이하는 인터페이스로 리다이렉트할 수 있다.
도 4는 콘텐트 서버(120)의 사용자에 의해 요청된 비디오와 함께 라이브-스트림 광고를 서브하는 예시적인 프로세스를 도시한다. 콘텐트 서버(120)는 클라이언트 디바이스(110)로부터 비디오에 대한 요청을 수신한다(405). 한 실시예에서, 콘텐트 서버는 사용자가 서버(126)를 통해 보는 것에 관심이 있는 비디오를 표시하는 요청된 URI를 수신한다(405). 수신된 URI로부터, 콘텐트 서버(120)는 사용자가 보는 것에 관심이 있는 비디오를 식별하는 비디오 식별자를 추출할 수 있다. 비디오 식별자는 URI 내에 파라미터들로서 임베드될 수 있다.
비디오 식별자에 기초하여 콘텐트 서버(120)는 콘텐트 스토어(128) 내의 요청된 비디오를 식별하고 요청된 비디오와 연관된 메타데이터를 식별한다(410). 한 실시예에서, 콘텐트 서버(120)는 프리-롤 광고가 요청된 비디오의 플레이백 전에 사용자에게 서브될 것인지, 및 프리-롤 광고가 라이브-스트림 광고일 수 있는지를 명시하는 메타데이터를 식별한다. 요청된 비디오와 함께 사용자에게 서브될 광고의 유형을 식별하는 것 외에, 콘텐트 서버(120)는 또한 비디오가 서브되어야 하는 프레임 속도와 같은 비디오와 연관된 다른 메타데이터를 식별할 수 있다.
비디오와 서브될 광고의 유형과 연관된 메타데이터에 기초하여 콘텐트 서버(120)는 프리-롤 광고로서 사용자에게 제시할 버퍼링된 라이브 스트림을 식별한다(415). 예를 들어, 콘텐트 서버(120)는 사용자의 인구 통계 또는 사용자가 관심을 표현했거나 보았던 이전의 비디오들과 같은, 사용자와 연관된 특성들에 기초하여 사용자에게 서브할 버퍼링된 라이브 스트림을 식별한다. 또 하나의 예에서, 콘텐트 서버(120)는 사용자에 의해 요청된 비디오의 유형 또는 특성들에 기초하여 사용자에게 서브할 라이브 스트림을 식별한다. 예를 들어, 콘텐트 서버(120)는 사용자에 의해 요청된 뮤직 비디오의 것과 동일한 장르의 밴드를 포함하는 라이브 이벤트의 버퍼링된 라이브 스트림을 사용자에게 서브할 수 있다. 광고로서 사용자에게 서브된 버퍼링된 라이브 스트림 부분은 콘텐트 배포자(130)에 의해 캡처된 라이브 이벤트의 가장 최신의 콘텐트를 나타낼 수 있거나 콘텐트 배포자(130)에 의해 이전에 캡처되고 콘텐트 서버(120)에 제공된 라이브 이벤트의 콘텐트를 나타낼 수 있다. 제3 예에서, 콘텐트 서버(120)는 사용자의 위치에 기초하여 요청하는 사용자에게 서브할 버퍼링된 라이브 스트림을 식별한다. 콘텐트 서버(120)는 사용자에게 프리-롤 광고로서 서브하기 위해, 사용자의 임계 거리 내의 위치에서 발생하는 라이브 이벤트의 버퍼링된 라이브 스트림을 선택할 수 있다. 콘텐트 서버(120)는 요청된 비디오와 연관된 메타데이터, 또는 라이브 스트림과 연관된 게시 정보에 의해 표시된 것과 같은 사용자의 지리적 위치에 기초하여 사용자에게 서브할 버퍼링된 라이브 스트림을 선택할 수 있다. 한 예에서, 콘텐트 서버(120)는 사용자가 미국에 있는 경우 프리-롤 광고로서 사용자에게 서브할 버퍼링된 라이브 스트림을 선택하고, 브라질에 있는 사용자에게 서브할 라이브 스트림이 아닌 프리-롤 광고를 선택한다.
제4 예에서, 콘텐트 서버(120)는 라이브 스트림과 연관된 게시 정보에 기초하여 사용자에게 서브할 버퍼링된 라이브 스트림을 식별한다. 예를 들어, 게시 정보는 버퍼링된 라이브 스트림이 사용자에게 광고로서 서브될 수 있는 시간 간격을 명시한다. 비디오에 대한 요청이 게시 정보 내에 포함된 시간 간격 동안 사용자에 의해 행해진 경우에, 단지 콘텐트 서버(120)는 요청하는 사용자에게 버퍼링된 라이브 스트림을 서브한다. 한 실시예에서, 콘텐트 서버(120)는 클라이언트 디바이스(110)로부터 비디오에 대한 요청을 수신하는 시간 간격 내에 생성되는 버퍼링된 라이브 스트림들의 세트를 식별한다. 콘텐트 서버(120)는 프리-롤 광고로서 사용자에게 제시하기 위해 버퍼링된 라이브 스트림들의 세트로부터 버퍼링된 라이브 스트림들 중 하나를 선택할 수 있다.
콘텐트 서버(120)는 한 예에서, 사용자에 의해 요청된 비디오의 플레이백 전에 프리-롤 광고로서 보여지도록, 요청하는 클라이언트 디바이스(110) 또는 사용자에게 버퍼링된 라이브 스트림을 서브한다. 한 예에서, 콘텐트 서버(120)는 콘텐트 인터페이스(125) 또는 서버(126)에 의해 생성된 웹 페이지를 통해 버퍼링된 라이브 스트림을 서브한다. 한 예에서, 프리-롤 광고로서 버퍼링된 라이브 스트림을 사용자에게 서브하는 것 외에, 콘텐트 서버(120)는 클라이언트 디바이스(110)에 사용자에게 제시할 사용자 인터페이스를 제공한다. 한 실시예에서, 사용자 인터페이스는 사용자에 의해 상호작용될 때, 버퍼링된 라이브 스트림의 플레이백에 영향을 줄 수 있는 다양한 기능들을 포함하거나 버퍼링된 라이브 스트림 또는 버퍼링된 라이브 스트림의 부분의 플레이백 동안 또는 그 후에 발생할 수 있는 이벤트들을 트리거한다. 예를 들어, 도 5에 도시한 바와 같이, 사용자 인터페이스는 버퍼링된 라이브 스트림을 통해 일시중지, 리와인딩 또는 패스트 포워딩하기 위한 제어들(510)을 포함한다. 또 하나의 예에서, 사용자 인터페이스는 라이브-스트림 프리-롤 광고를 건너뛰어 사용자에 의해 요청된 비디오로 가는 "광고 건너뛰기"(525)로 라벨된 제어와 같은, 제어를 포함할 수 있다. 한 예에서 라이브-스트림 프리-롤 광고를 건너뛰는 제어는 버퍼링된 라이브 스트림을 시간의 임계 기간 동안 사용자가 본 후에 사용자에게 가용하게 될 수 있다. 사용자 인터페이스는 또한 콘텐트 배포자(130)에 의해 캡처된 라이브 이벤트의 라이브 스트림으로 사용자를 리다이렉트하는 "라이브 스트림 보기"(520)로 라벨된 제어와 같은 제어를 포함할 수 있다. 사용자 인터페이스는 또한 이 예에서, 사용자가 보고 있는 라이브 스트림의 현재의 부분이 라이브인지를 식별하는 "라이브"로 라벨된 표시자(515)를 포함할 수 있다. 상기 예들에서 라이브 스트림들이 프리-롤 광고들로서 서브되는 것으로서 논의되지만, 라이브 스트림들 또는 라이브 스트림들의 부분들은 또한 다른 실시예들에서 미드-롤, 포스트-롤 또는 오버레이 광고들로서 서브될 수 있다.
한 실시예에서, 콘텐트 서버(120)는 라이브-스트림 프리-롤 광고 또는 라이브-스트림 프리-롤 광고와 함께 사용자에게 제시된 사용자 인터페이스와의 사용자의 상호작용들을 측정한다(425). 예를 들어, 사용자에게 라이브-스트림 광고와 상호작용하는 제어들을 제공하는 것 외에, 사용자 인터페이스는 라이브-스트림 광고에 대해 사용자에 의해 이루어진 상호작용들을 측정하고 기록할 수 있다. 예를 들어, 콘텐트 서버(120)는 사용자가 라이브-스트림 프리-롤 광고를 건너뛰는 제어와 같은, 사용자 인터페이스에 의해 제시된 제어와 상호작용했는지를 결정하고, 광고 스토어(127) 내의 버퍼링된 라이브 스트림 광고와 연관된 메타데이터로서 상호작용을 식별하는 정보를 저장한다. 그 후 콘텐트 서버(120)는 나중 시간에 다양한 기능들을 수행하기 위해 측정된 상호작용들을 사용할 수 있다. 예를 들어, 콘텐트 서버(120)는 하나 이상의 라이브-스트림 광고와의 사용자의 상호작용들에 기초하여, 사용자가 통상적인 광고들보다 라이브-스트림 광고들을 보는 것을 선호하는지, 또는 사용자가 라이브-스트림 광고들에 반응하는지를 결정한다. 예를 들어, 사용자가 라이브-스트림 프리-롤 광고들과 연관된 다양한 제어들과 이전에 상호작용했다면, 콘텐트 서버(120)는 콘텐트 서버(120)에 의해 호스트된 비디오들을 보기 위한 사용자로부터의 요청을 수신할 때 라이브-스트림 프리-롤 광고들을 사용자에게 적극적으로 서브할 수 있다.
콘텐트 서버(120)는 사용자에게 라이브-스트림 프리-롤 광고를 디스플레이한 후에, 사용자에 의해 요청된 비디오들을 보여주거나(430) 디스플레이한다. 한 실시예에서, 서버(126)는 클라이언트 디바이스에 의해 요청된 비디오가 뒤따르는 라이브-스트림 프리-롤 광고를 포함하는 웹 페이지를 사용자에게 제공하도록 구성된다. 또 하나의 실시예에서, 사용자 인터페이스로 하여금 라이브-스트림 광고를 플레이하는 것을 건너뛰게 하고 요청된 비디오를 사용자에게 디스플레이하는 것으로 진행하게 하는 라이브-스트림 광고의 사용자 인터페이스와 연관된 제어와의 상호작용을 수신할 때, 사용자에 의해 요청된 비디오는 사용자에게 즉각 플레이백된다. 또 하나의 실시예에서, 콘텐트 서버(120)는 라이브-스트림 프리-롤 광고가 임계 시간 동안 플레이한 후에 사용자에게 요청된 비디오를 디스플레이한다. 예를 들어, 라이브-스트림 프리-롤 광고는 30초 동안 플레이하고, 그 후 사용자에 의해 요청된 비디오가 사용자에게 보여진다. 한 예에서, 사용자가 라이브-스트림 광고 상에 클릭한 경우와 같이, 광고와의 사용자 상호작용을 수신할 때, 사용자는 라이브 스트림 또는 라이브 스트림을 디스플레이하는 웹 페이지로 리다이렉트될 수 있다.
클라이언트 디바이스(110), 콘텐트 서버(120), 및 콘텐트 배포자(130)는 하나 이상의 컴퓨터를 사용하여 구현될 수 있다. 도 6은 한 실시예에 따른, 콘텐트 공유 환경의 개체들을 구현하기 위해 사용할 수 있는 예시적인 컴퓨터(600)를 도시한 블록도이다.
컴퓨터(600)는 칩셋(604)에 결합된 적어도 하나의 프로세서(602)(예를 들어, 중앙 처리 장치, 그래픽 처리 장치)를 포함한다. 칩셋(604)은 메모리 제어기 허브(620) 및 입/출력(I/O) 제어기 허브(622)를 포함한다. 메모리(606) 및 그래픽 어댑터(612)는 메모리 제어기 허브(620)에 결합되고, 디스플레이(618)는 그래픽 어댑터(612)에 결합된다. 저장 디바이스(608), 키보드(610), 포인팅 디바이스(614), 및 네트워크 어댑터(616)는 I/O 제어기 허브(622)에 결합된다. 컴퓨터(600)의 다른 실시예들은 상이한 아키텍처들을 갖는다.
저장 디바이스(608)는 하드 드라이브, 컴팩트 디스크 리드-온리 메모리(CD-ROM), DVD, 또는 고체 상태 메모리 디바이스와 같은 비일시적 컴퓨터 판독가능 저장 매체이다. 메모리(606)는 프로세서(602)에 의해 사용되는 명령어들 및 데이터를 보유한다. 프로세서(602)는 명령어들을 실행하는 하나 이상의 코어를 갖는 하나 이상의 프로세서(602)를 포함할 수 있다. 포인팅 디바이스(614)는 마우스, 트랙볼, 또는 다른 유형의 포인팅 디바이스이고, 데이터를 컴퓨터(600) 내로 입력하기 위해 키보드(610)와 조합하여 사용된다. 그래픽 어댑터(612)는 디스플레이(618) 상에 디지털 콘텐트 및 다른 이미지들 및 정보를 디스플레이한다. 네트워크 어댑터(616)는 컴퓨터(600)를 하나 이상의 네트워크(예를 들어, 네트워크(150))에 결합시킨다.
컴퓨터(600)는 디지털 콘텐트, 플레이리스트 룩업, 및/또는 메타데이터 생성을 제시하는 것을 포함하는 본 명세서에 설명된 기능을 제공하는 컴퓨터 프로그램 모듈들을 실행하도록 적응된다. 본 명세서에 사용된 바와 같이, 용어 "모듈"은 특정된 기능을 제공하기 위해 사용된 컴퓨터 프로그램 로직을 말한다. 그러므로, 모듈은 하드웨어, 펌웨어, 및/또는 소프트웨어로 구현될 수 있다.
콘텐트 공유 환경의 개체들에 의해 사용된 컴퓨터들(600)의 유형들은 실시예들 및 개체에 의해 요구되는 처리 능력에 따라 변화할 수 있다. 예를 들어, 콘텐트 서버(120)는 본 명세서에 설명된 기능을 제공하도록 함께 동작하는 다수의 블레이드 서버를 포함할 수 있다. 컴퓨터들(600)은 일부 컴포넌트들의 복제들을 포함할 수 있거나 위에 설명된 컴포넌트들(예를 들어, 키보드(610), 그래픽 어댑터(612), 포인팅 디바이스(614), 디스플레이(618))의 일부가 없을 수 있다. 예를 들어, 콘텐트 서버(120)는 단일 컴퓨터(600) 또는 서버 팜 내에서와 같은 네트워크를 통해 서로 통신하는 다수의 컴퓨터(600)에서 실행한다.
전술한 설명이 주로 구체적인 예시를 제공하는 목적들을 위해 비디오들에 집중하였지만, 다양한 실시예들은 상이한 형태들의 플레이리스트들에서 상이한 유형들의 디지털 콘텐트들을 통합시킬 수 있다. 한 실시예에서, 콘텐트 서버(120)는 비디오 플레이어 대신에 오디오 플레이어를 통해 제시될 수 있는, 플레이리스트들 내에 오디오 파일들을 포함한다. 비디오들은 역시 오디오 파일들을 포함할 수 있다는 점에 주목하여야 한다. 또 하나의 실시예로서, 콘텐트 서버(120)는 플레이리스트들 대신에 앨범들 내에 구성된 이미지들 및/또는 애니메이션들을 포함한다. 비디오 또는 오디오 플레이어를 사용하기 보다는, 이들 이미지들 및/또는 애니메이션들은 자동-플레이 기능을 포함할 수 있는 슬라이드쇼에서 제시될 수 있다(예를 들어, 슬라이드쇼는 일정 시간 기간 후에 다음의 이미지 또는 애니메이션을 검색한다). 또 다른 실시예에서, 디지털 콘텐트는 텍스트 집합들(예를 들어, 책 안의 장들(chapters), 여러 편으로 된 단편 소설 시리즈, 문집 내의 시들) 내에 구성될 수 있는 텍스트를 포함한다. 디지털 콘텐트는 비디오, 오디오, 이미지들, 애니메이션들 및/또는 텍스트의 조합들을 포함할 수 있다.
상기 설명의 일부 부분들은 정보에 대한 알고리즘들 및 동작들의 상징적 표현들의 용어들로 실시예들을 설명한다. 이들 알고리즘적 설명들 및 표현들은 본 기술 분야의 다른 통상의 기술자에게 효과적으로 그들의 연구의 핵심을 전달하기 위해 데이터 처리 분야의 통상의 기술자에 의해 통상적으로 사용된다. 기능적, 계산적, 또는 논리적으로 설명되지만, 이들 동작은 컴퓨터 프로그램들 또는 등가적인 전기 회로들, 마이크로코드 등에 의해 구현되는 것으로 이해된다. 이들 동작을 구현하기 위해, 콘텐트 서버(120)는 하나 이상의 프로세서에 의해 실행가능한 명령어들로서 동작들을 저장하는 비일시적 컴퓨터 판독가능 매체를 사용할 수 있다. 본 명세서에 설명된 동작들, 프로세스들, 또는 단계들은 하나 이상의 프로세서를 사용하여 수행될 수 있다. 게다가, 때로는 동작들의 이들 배열을 일반성의 손실없이, 모듈들로서 참조하는 것이 편리하다고 또한 판명되었다. 설명된 동작들 및 그들의 연관된 모듈들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 어떤 조합들로 실시될 수 있다.
본 명세서에 사용된 바와 같이 "한 실시예" 또는 "실시예"라고 하는 것은 실시예와 연관하여 설명된 특정한 요소, 특징, 구조, 또는 특성들이 적어도 하나의 실시예 내에 포함되는 것을 의미한다. 본 명세서의 여러 군데에서의 문구 "한 실시예에서"의 출현은 반드시 동일한 실시예를 모두 참조하는 것은 아니다.
일부 실시예들은 그들의 파생어들과 함께 표현 "결합된" 및 "접속된"을 사용하여 설명될 수 있다. 이들 용어는 서로 동의어들로서 의도되는 것이 아니라는 것을 이해하여야 한다. 예를 들어, 일부 실시예들은 2개 이상의 요소들이 서로 직접 물리적 또는 전기적 접촉하는 것을 표시하기 위해 용어 "접속된"을 사용하여 설명될 수 있다. 또 하나의 예로서, 일부 실시예들은 2개 이상의 요소들이 서로 직접 물리적 또는 전기적 접촉하는 것을 표시하기 위해 용어 "결합된"을 사용하여 설명될 수 있다. 그러나, 용어 "결합된"은 또한 2개 이상의 요소들이 서로 직접 접촉하지 않지만 서로 여전히 협력하거나 상호작용한다는 것을 의미할 수 있다. 실시예들은 이 맥락에서 제한되지 않는다.
본 명세서에 사용된 바와 같이, 용어들 "구성하다", "구성하는", "포함하다", 포함하는", "갖다", "갖는" 또는 이것의 기타 변형은 비배타적 포함을 커버하는 것으로 의도된다. 예를 들어, 요소들의 리스트를 포함하는 프로세스, 방법, 물품, 또는 장치는 그들 요소에만 반드시 한정되는 것이 아니고 명확히 리스트되지 않거나 이러한 프로세스, 방법, 물품, 또는 장치에 고유한 것이 아닌 다른 요소들을 포함할 수 있다. 또한 달리 분명히 표명되지 않는다면, "또는"은 포괄적인 의미인 "또는"이고 배타적인 의미의 "또는"은 아니다. 예를 들어, 조건 A 또는 B는 다음 중 어느 하나에 의해 충족된다: A는 참이고(또는 존재하고) B는 거짓이고(존재하지 않고), A는 거짓이고(또는 존재하지 않고) B는 참이고(또는 존재하고), A와 B 둘 다가 참이다(또는 존재한다).
또한, 단수 표현의 사용은 본 명세서의 실시예의 요소들 및 컴포넌트들을 설명하기 위해 이용된다. 이것은 단지 편의성을 위한 것이고 발명의 일반적 의미를 부여하는 것이다. 본 설명은 하나 또는 적어도 하나를 포함하는 것으로 읽혀져야 하고 단수형은 또한 달리 의미하는 것이 분명하지 않다면 복수를 또한 포함한다.
추가의 대안적인 구조적 및 기능적 설계들이 콘텐트 공유 환경을 위한 시스템 및 프로세스를 위해 구현될 수 있다. 그러므로, 특정한 실시예들 및 응용들이 예시되었고 설명되었지만, 개시된 실시예들은 본 명세서에 개시된 정확한 구성 및 컴포넌트들로 한정되지 않는다는 것이 이해될 것이다. 다양한 수정들, 변화들 및 변형들이 첨부된 청구범위의 취지 및 범위에서 벗어나지 않고서 본 명세서에 개시된 방법 및 장치의 배열, 동작 및 상세들에서 이루어질 수 있다.

Claims (25)

  1. 라이브 이벤트들에 대한 광고들을 제공하는 컴퓨터 구현 방법으로서,
    콘텐트 서버 시스템에 의해 라이브 스트림을 수신하는 단계;
    상기 콘텐트 서버 시스템에 의해 상기 라이브 스트림의 부분을 저장하는 단계;
    상기 콘텐트 서버 시스템에 의해 클라이언트 디바이스로부터 비디오 콘텐트에 대한 사용자 요청을 수신하는 단계 - 상기 라이브 스트림은 상기 비디오 콘텐트를 포함하지 않음 - ;
    상기 콘텐트 서버 시스템에 의해, 라이브-스트림 광고가 상기 클라이언트 디바이스에 서브되어야 한다는 것을 결정하는 단계 - 상기 라이브-스트림 광고는 상기 라이브 스트림을 광고하고 상기 라이브 스트림의 부분을 포함함 - ;
    상기 콘텐트 서버 시스템에 의해 상기 클라이언트 디바이스에 상기 라이브- 스트림 광고를 제공하는 단계 - 상기 라이브-스트림 광고는 상기 비디오 콘텐트를 디스플레이하지 않고 상기 클라이언트 디바이스에 의해 사용자에게 디스플레이됨 - ;
    상기 콘텐트 서버 시스템에 의해 상기 클라이언트 디바이스에, 상기 클라이언트 디바이스가 상기 사용자에 의해 선택가능한 제1 제어 및 제2 제어를 상기 라이브 스트림의 부분으로 디스플레이하라는 명령어들을 제공하는 단계 - 상기 제1 제어는 상기 라이브 스트림의 부분의 디스플레이를 종료하는 것 및 상기 비디오 콘텐트의 디스플레이를 시작하는 것과 연관되고, 상기 제2 제어는 상기 비디오 콘텐트 대신에 상기 라이브 스트림을 디스플레이하는 것과 연관됨 - ; 및
    상기 사용자가 상기 제2 제어를 선택하는 것에 응답하여, 상기 콘텐트 서버 시스템에 의해 상기 클라이언트 디바이스에 상기 라이브 스트림의 콘텐트를 제공하는 단계 - 상기 라이브 스트림의 콘텐트는 상기 비디오 콘텐트 대신에 상기 사용자에게 디스플레이되고, 상기 라이브 스트림의 콘텐트는 상기 저장된 부분에 포함되지 않음 -
    를 포함하는, 방법.
  2. 제1항에 있어서, 라이브-스트림 광고가 서브되어야 한다는 결정은 상기 비디오 콘텐트와 연관된 메타데이터에 기초하는, 방법.
  3. 제1항에 있어서, 상기 클라이언트 디바이스 상의 상기 라이브 스트림의 부분의 디스플레이 후에 이어서 상기 요청된 비디오 콘텐트를 상기 클라이언트 디바이스에 제공하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 라이브 스트림의 부분은 콘텐트 배포자로부터 수신된 원래의 라이브 스트림의 복수의 트랜스코드된 버전 중에서 식별되는, 방법.
  5. 제1항에 있어서, 상기 클라이언트 디바이스에, 상기 라이브 스트림의 부분과 함께 사용자 인터페이스를 제공하는 단계를 더 포함하고, 상기 사용자 인터페이스는 상기 사용자에 의해 상호작용될 때, 상기 라이브 스트림의 플레이백을 조작하는 추가적인 제어들을 포함하도록 구성되는, 방법.
  6. 제5항에 있어서, 상기 라이브 스트림의 부분의 플레이백을 조작하는 것은 상기 라이브 스트림의 부분의 디스플레이를 일시중지하는 것, 상기 라이브 스트림의 부분을 통해 리와인딩하는 것, 상기 라이브 스트림의 부분을 리플레이하거나 상기 라이브 스트림의 부분을 통해 패스트 포워딩하는 것 중 적어도 하나를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 라이브 스트림의 부분과 함께 사용자 인터페이스를 상기 클라이언트 디바이스에 제공하는 단계 - 상기 사용자 인터페이스는 상기 사용자가 상호작용할 수 있는 추가적인 제어들을 포함하도록 구성됨 - ;
    상기 추가적인 제어들과의 상기 사용자의 상호작용들을 측정하는 단계; 및
    상기 측정된 상호작용들을 저장하는 단계를 더 포함하는, 방법.
  8. 라이브 스트림을 콘텐트 배포자로부터 수신하는 단계;
    상기 라이브 스트림을 트랜스코드함으로써 상기 라이브 스트림의 다수의 버전을 생성하는 단계;
    시간의 임계 기간 동안 상기 라이브 스트림의 상기 다수의 버전 각각을 버퍼링함으로써 상기 라이브 스트림의 상기 다수의 버전 각각에 대한 버퍼링된 라이브 스트림을 생성하는 단계;
    클라이언트 디바이스로부터 비디오 콘텐트에 대한 요청을 수신하는 단계 - 상기 비디오 콘텐트는 상기 라이브 스트림에 포함되지 않음 - ;
    상기 라이브 스트림을 광고하는 광고를 상기 클라이언트 디바이스에 제공하는 단계 - 상기 광고는 상기 다수의 버전 중 한 버전에 대해 생성된 상기 버퍼링된 라이브 스트림을 포함하고, 상기 광고는 상기 비디오 콘텐트를 디스플레이하지 않고 상기 클라이언트 디바이스에 의해 사용자에게 디스플레이됨 - ;
    상기 클라이언트 디바이스가 상기 사용자에 의해 선택가능한 제1 제어 및 제2 제어를 상기 버퍼링된 라이브 스트림으로 디스플레이하라는 명령어들을 상기 클라이언트 디바이스에 제공하는 단계 - 상기 제1 제어는 상기 버퍼링된 라이브 스트림의 디스플레이를 종료하는 것 및 상기 비디오 콘텐트의 디스플레이를 시작하는 것과 연관되고, 상기 제2 제어는 상기 비디오 콘텐트 대신에 상기 라이브 스트림을 디스플레이하는 것과 연관됨 - ; 및
    상기 사용자가 상기 제2 제어를 선택하는 것에 응답하여, 상기 광고의 상기 버퍼링된 라이브 스트림과 연관된 상기 버전으로부터 상기 라이브 스트림의 콘텐트를 상기 클라이언트 디바이스에 제공하는 단계 - 상기 라이브 스트림의 콘텐트는 상기 비디오 콘텐트 대신에 상기 사용자에게 디스플레이되고, 상기 라이브 스트림의 콘텐트는 상기 광고의 상기 버퍼링된 라이브 스트림에 포함되지 않음 -
    를 포함하는, 방법.
  9. 제8항에 있어서, 상기 라이브 스트림과 연관된 게시 정보를 수신하도록 구성된 사용자 인터페이스를 상기 콘텐트 배포자에 제공하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서, 상기 게시 정보는 상기 라이브 스트림이 사용자들에게 제시될 수 있는 시간 간격을 명시하는 정보, 상기 라이브 스트림이 광고로서 홍보될 수 있는지를 명시하는 정보 또는 상기 라이브 스트림을 광고로서 홍보하면서 타깃으로의 인구 통계를 명시하는 정보를 포함하는, 방법.
  11. 제10항에 있어서, 상기 라이브 스트림과 연관된 상기 게시 정보에 기초하여 제시할 상기 버퍼링된 라이브 스트림을 선택하는 단계를 더 포함하는, 방법.
  12. 제8항에 있어서, 상기 요청된 비디오 콘텐트와 연관된 메타데이터에 기초하여 제시할 상기 버퍼링된 라이브 스트림을 선택하는 단계를 더 포함하고, 상기 메타데이터는 상기 비디오 콘텐트와 제시될 수 있는 광고의 유형을 명시하는, 방법.
  13. 콘텐트 공유 시스템으로서,
    복수의 비디오 콘텐트 및 상기 비디오 콘텐트와 연관된 메타데이터를 저장하는 콘텐트 데이터베이스;
    복수의 라이브-스트림 광고를 저장하는 광고 데이터베이스;
    콘텐트 서버를 포함하고, 상기 콘텐트 서버는
    프로세서; 및
    실행될 때 상기 프로세서로 하여금
    라이브 스트림을 수신하는 것;
    상기 라이브 스트림의 부분을 저장하는 것;
    클라이언트 디바이스로부터 상기 복수의 비디오 콘텐트 중 한 비디오 콘텐트에 대한 사용자 요청을 수신하는 것 - 상기 라이브 스트림은 상기 요청된 비디오 콘텐트를 포함하지 않음 - ;
    상기 요청된 비디오 콘텐트와 연관된 메타데이터로부터, 상기 복수의 라이브-스트림 광고 중 한 라이브-스트림 광고가 상기 클라이언트 디바이스에 서브되어야 한다는 것을 결정하는 것 - 상기 라이브-스트림 광고는 상기 라이브 스트림을 광고하고 상기 라이브 스트림의 부분을 포함함 - ;
    상기 라이브-스트림 광고를 상기 클라이언트 디바이스에 제공하는 것 - 상기 라이브-스트림 광고는 상기 요청된 비디오 콘텐트를 디스플레이하지 않고 상기 클라이언트 디바이스에 의해 사용자에게 디스플레이됨 - ;
    상기 클라이언트 디바이스가 상기 사용자에 의해 선택가능한 제1 제어 및 제2 제어를 상기 라이브 스트림의 부분으로 디스플레이하라는 명령어들을 상기 클라이언트 디바이스에 제공하는 것 - 상기 제1 제어는 상기 라이브 스트림의 부분의 디스플레이를 종료하는 것 및 상기 요청된 비디오 콘텐트의 디스플레이를 시작하는 것과 연관되고 상기 제2 제어는 상기 요청된 비디오 콘텐트 대신에 상기 라이브 스트림을 디스플레이하는 것과 연관됨 - ; 및
    상기 사용자가 상기 제2 제어를 선택하는 것에 응답하여, 상기 라이브 스트림의 콘텐트를 상기 클라이언트 디바이스에 제공하는 것 - 상기 라이브 스트림의 콘텐트는 상기 요청된 비디오 콘텐트 대신에 상기 사용자에게 디스플레이되고, 상기 라이브 스트림의 콘텐트는 상기 저장된 부분에 포함되지 않음 -
    을 포함하는 단계들을 수행하게 하는 컴퓨터 실행가능 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체를 포함하는, 콘텐트 공유 시스템.
  14. 제13항에 있어서, 상기 클라이언트 디바이스 상의 상기 라이브 스트림의 부분의 디스플레이 후에 이어서 상기 요청된 비디오 콘텐트를 상기 클라이언트 디바이스에 제공하는 것을 더 포함하는, 콘텐트 공유 시스템.
  15. 제13항에 있어서,
    상기 라이브 스트림의 부분과 함께 사용자 인터페이스를 상기 클라이언트 디바이스에 제공하는 것 - 상기 사용자 인터페이스는 상기 사용자가 상호작용할 수 있는 추가적인 제어들을 포함하도록 구성됨 - ;
    상기 추가적인 제어들과의 상기 사용자의 상기 상호작용들을 측정하는 것; 및
    상기 측정된 상호작용들을 저장하는 것을 더 포함하는, 콘텐트 공유 시스템.
  16. 비디오 콘텐트를 보는 방법으로서,
    클라이언트 디바이스에 의해, 서버로부터의 비디오 콘텐트를 요청하는 단계;
    상기 클라이언트 디바이스에서, 라이브 스트림을 광고하는 광고를 수신하는 단계 - 상기 광고는 상기 라이브 스트림의 부분을 포함함 -;
    상기 클라이언트 디바이스에 의해, 상기 요청된 비디오 콘텐트를 디스플레이하지 않고 상기 라이브 스트림을 광고하는 상기 광고를 디스플레이하는 단계;
    상기 클라이언트 디바이스에 의해 상기 서버로부터 수신된 명령어들에 기초하여 제1 제어 및 제2 제어를 상기 라이브 스트림의 부분으로 디스플레이하는 단계;
    상기 라이브 스트림의 부분이 디스플레이되는 동안 상기 클라이언트 디바이스의 사용자가 상기 제1 제어를 선택하는 것에 응답하여, 상기 클라이언트 디바이스에 의해 상기 라이브 스트림의 부분의 디스플레이를 종료하고 상기 요청된 비디오 콘텐트의 디스플레이를 시작하는 단계; 및
    상기 라이브 스트림의 부분이 디스플레이되는 동안 상기 클라이언트 디바이스의 사용자가 상기 제2 제어를 선택하는 것에 응답하여, 상기 클라이언트 디바이스에 의해, 상기 서버로부터 상기 부분에 포함되지 않는 상기 라이브 스트림의 콘텐트를 요청하는 단계; 및
    상기 클라이언트 디바이스에 의해, 상기 서버로부터 상기 라이브 스트림의 콘텐트를 수신하는 것에 기초하여 상기 요청된 비디오 콘텐트 대신에 상기 라이브 스트림의 콘텐트를 디스플레이하는 단계
    를 포함하는, 방법.
  17. 제16항에 있어서, 상기 라이브 스트림은 콘텐트 배포자로부터 수신된 원래의 라이브 스트림의 트랜스코드된 버전인, 방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020167034496A 2014-05-08 2015-04-23 광고로서 라이브 스트림의 서빙 KR101772580B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/273,441 US9503794B2 (en) 2014-05-08 2014-05-08 Serving a live stream as an advertisement
US14/273,441 2014-05-08
PCT/IB2015/052982 WO2015170215A1 (en) 2014-05-08 2015-04-23 Serving a live stream as an advertisement

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177023522A Division KR102232152B1 (ko) 2014-05-08 2015-04-23 광고로서 라이브 스트림의 서빙

Publications (2)

Publication Number Publication Date
KR20160148034A KR20160148034A (ko) 2016-12-23
KR101772580B1 true KR101772580B1 (ko) 2017-08-29

Family

ID=54368988

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167034496A KR101772580B1 (ko) 2014-05-08 2015-04-23 광고로서 라이브 스트림의 서빙
KR1020177023522A KR102232152B1 (ko) 2014-05-08 2015-04-23 광고로서 라이브 스트림의 서빙

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177023522A KR102232152B1 (ko) 2014-05-08 2015-04-23 광고로서 라이브 스트림의 서빙

Country Status (5)

Country Link
US (3) US9503794B2 (ko)
KR (2) KR101772580B1 (ko)
CN (2) CN107979762B (ko)
AU (2) AU2015257343A1 (ko)
WO (1) WO2015170215A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9538003B2 (en) * 2009-09-18 2017-01-03 Audionow Ip Holdings, Llc System and method for interactive advertisement augmentation via a called voice connection
US20160088046A1 (en) * 2014-09-18 2016-03-24 Multipop Llc Real time content management system
US9838455B2 (en) * 2014-09-19 2017-12-05 Mobitv, Inc. Fast encoding of live streaming media content
US9380353B1 (en) 2015-05-04 2016-06-28 Google Inc. Methods, systems, and media for generating an advertisement from a video stream
US9510025B1 (en) * 2015-06-03 2016-11-29 Mobitv, Inc. Live consecutive ad insertion
CN105472401B (zh) * 2015-11-13 2019-03-12 优酷网络技术(北京)有限公司 在网络直播过程中播放广告的方法及系统
US10462531B2 (en) * 2016-01-12 2019-10-29 Google Llc Methods, systems, and media for presenting an advertisement while buffering a video
US20190116385A1 (en) * 2016-04-01 2019-04-18 Abhinav Rohatgi Methods and systems of live advertisement
US10652294B2 (en) * 2016-10-31 2020-05-12 Google Llc Anchors for live streams
JP2018163460A (ja) * 2017-03-24 2018-10-18 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US10911813B1 (en) * 2017-08-30 2021-02-02 Amazon Technologies, Inc. Providing metadata for live media streams
US11037206B2 (en) * 2017-12-27 2021-06-15 Facebook, Inc. Sponsored-content-item stories for live media items
TWI658422B (zh) * 2018-01-30 2019-05-01 大浪數位股份有限公司 結合直播之購物系統、方法以及推播程式模組產品
US10547915B1 (en) * 2019-07-19 2020-01-28 Look At Me, Inc. System and method for optimizing playlist information for ultra low latency live streaming
CN112788349B (zh) * 2019-11-01 2022-10-04 上海哔哩哔哩科技有限公司 数据流推送方法、系统、计算机设备及可读存储介质
KR102318660B1 (ko) * 2020-02-28 2021-10-28 (주)재플 방송 수신 장치와 그의 동영상 재핑 광고 제공 방법 및 동영상 재핑 광고 제공 시스템
CN111918085A (zh) * 2020-08-06 2020-11-10 腾讯科技(深圳)有限公司 直播处理方法、装置、电子设备及计算机可读存储介质
KR102479511B1 (ko) * 2022-01-12 2022-12-20 주식회사 투스라이프 스트리밍 영상을 통한 광고 제공 시스템 및 방법
WO2023234431A1 (ko) * 2022-05-30 2023-12-07 엘지전자 주식회사 디스플레이 장치 및 그 동작 방법
CN115119006B (zh) * 2022-06-24 2024-04-19 抖音视界(北京)有限公司 一种直播交互方法及投放方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115161A1 (en) 2006-10-30 2008-05-15 Google Inc. Delivering user-selected video advertisements
US20110047567A1 (en) 2007-04-03 2011-02-24 Google Inc. Advertisement transcoding and approval

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060287912A1 (en) * 2005-06-17 2006-12-21 Vinayak Raghuvamshi Presenting advertising content
US8196162B2 (en) * 2008-06-30 2012-06-05 Nokia Corporation Video media advertising metadata
US8997142B2 (en) * 2009-03-24 2015-03-31 Microsoft Technology Licensing, Llc Advertisement insertion decisions for set top box management of advertisements
CN101520878A (zh) * 2009-04-03 2009-09-02 华为技术有限公司 向用户进行广告推送的方法、装置和系统
GB2476031A (en) * 2009-12-02 2011-06-15 Nds Ltd Splicing stored media with a live media stream time slot using timecodes
CN103081461B (zh) 2010-06-28 2016-07-06 葫芦有限责任公司 用于提供流媒体节目和目标广告的方法和装置
US8832729B2 (en) * 2011-07-05 2014-09-09 Yahoo! Inc. Methods and systems for grabbing video surfers' attention while awaiting download
US20130060629A1 (en) 2011-09-07 2013-03-07 Joshua Rangsikitpho Optimization of Content Placement
CN102523533A (zh) * 2011-11-30 2012-06-27 江苏奇异点网络有限公司 视频内容关联的在线视频广告管理方法
US8566867B1 (en) 2012-04-03 2013-10-22 Google Inc. Pre-fetch ads while serving ads in live stream
US20140100966A1 (en) 2012-10-04 2014-04-10 Scott Bedard Systems and methods for interactive advertisements with distributed engagement channels
US8732745B2 (en) * 2012-10-22 2014-05-20 Sony Corporation Method and system for inserting an advertisement in a media stream
US9071798B2 (en) * 2013-06-17 2015-06-30 Spotify Ab System and method for switching between media streams for non-adjacent channels while providing a seamless user experience
CN103414940A (zh) * 2013-08-02 2013-11-27 南京邮电大学 一种互动型网络视频广告播放系统与方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115161A1 (en) 2006-10-30 2008-05-15 Google Inc. Delivering user-selected video advertisements
US20110047567A1 (en) 2007-04-03 2011-02-24 Google Inc. Advertisement transcoding and approval

Also Published As

Publication number Publication date
AU2018200443B2 (en) 2018-12-06
CN106233734A (zh) 2016-12-14
KR20170101312A (ko) 2017-09-05
US9503794B2 (en) 2016-11-22
CN107979762A (zh) 2018-05-01
KR20160148034A (ko) 2016-12-23
AU2018200443A1 (en) 2018-02-08
AU2015257343A1 (en) 2016-10-06
US9769541B2 (en) 2017-09-19
KR102232152B1 (ko) 2021-03-24
US20170034595A1 (en) 2017-02-02
CN107979762B (zh) 2021-01-12
US20180027302A1 (en) 2018-01-25
WO2015170215A1 (en) 2015-11-12
US20150326945A1 (en) 2015-11-12
CN106233734B (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
KR101772580B1 (ko) 광고로서 라이브 스트림의 서빙
US9992537B2 (en) Real-time tracking collection for video experiences
CN108702537B (zh) 用于使用服务器生成的清单的视频回放的系统
US9530452B2 (en) Video preview creation with link
US8677428B2 (en) System and method for rule based dynamic server side streaming manifest files
EP3688996B1 (en) Methods and systems for determining a video player playback position
US10831353B2 (en) Personalized timeline presentation
US20150312633A1 (en) Electronic system and method to render additional information with displayed media
JP2013541883A (ja) メディア・プログラム・メタデータのコールバック補足のための方法およびシステム
US11765442B2 (en) Information processing apparatus, information processing method, and program for presenting reproduced video including service object and adding additional image indicating the service object
US11689776B2 (en) Information processing apparatus, information processing apparatus, and program

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant