KR102420887B1 - 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들 - Google Patents

비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들 Download PDF

Info

Publication number
KR102420887B1
KR102420887B1 KR1020217031190A KR20217031190A KR102420887B1 KR 102420887 B1 KR102420887 B1 KR 102420887B1 KR 1020217031190 A KR1020217031190 A KR 1020217031190A KR 20217031190 A KR20217031190 A KR 20217031190A KR 102420887 B1 KR102420887 B1 KR 102420887B1
Authority
KR
South Korea
Prior art keywords
video
media item
videos
display area
client device
Prior art date
Application number
KR1020217031190A
Other languages
English (en)
Other versions
KR20210120143A (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 구글 엘엘씨
Priority to KR1020227023756A priority Critical patent/KR20220103816A/ko
Publication of KR20210120143A publication Critical patent/KR20210120143A/ko
Application granted granted Critical
Publication of KR102420887B1 publication Critical patent/KR102420887B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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
    • 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/43074Synchronising 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 the same device, e.g. of EPG data or interactive icon with 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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
    • 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
    • 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/482End-user interface for program selection
    • 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/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

디바이스는 메타데이터와 오버레이되도록 예약된 기본 비디오의 프레임들 내의 영역을 포함하는 기본 비디오를 수신한다. 디바이스는 특정 사용자에 대해 다음에 재생될 제1 비디오 세트를 결정한다. 제1 비디오 세트의 선택은 특정 사용자에 연관된 제2 비디오 세트에 기초한다. 디바이스는 제1 비디오 세트에 대한 메타데이터 콘텐츠를 수신하고, 추출된 메타데이터의 세트로 기본 비디오에 대한 실행가능한 프리젠테이션 템플릿을 채운다. 디바이스는 기본 비디오를 재생하고, 채워진 프리젠테이션 템플릿의 실행을 기본 비디오의 재생과 동기화하여, 다음에 재생될 비디오들에 관해 특정 사용자에게 알리는 커스텀 인터스티셜 트랜지션 비디오를 생성하기 위해 프레임들의 예약된 영역을 메타데이터의 세트와 오버레이한다.

Description

비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들{DYNAMIC CUSTOM INTERSTITIAL TRANSITION VIDEOS FOR VIDEO STREAMING SERVICES}
본 개시내용의 양태들 및 구현들은 비디오 스트리밍에 관한 것으로, 더 구체적으로는 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들(dynamic custom interstitial transition videos)에 관한 것이다.
비디오 스트리밍 서비스들은 인터넷을 통해 사용자들에게 비디오들을 제공한다. 전형적인 비디오 스트리밍 서비스들은 비디오가 종료된 때 비디오를 갑자기 중지하고, 다음 비디오를 갑자기 시작한다. 일부 서비스들은 사용자가 비디오 재생을 시작하지 않으면 다음 비디오를 시작하지 않는다. 일부 종래의 비디오 스트리밍 서비스들은 재생될 다음 비디오에 대한 정적 정보를 디스플레이한다. 전통적인 텔레비전(TV) 방송 시스템에서, TV 프로그램이 종료될 때, 일부 전통적인 텔레비전 네트워크들은 시청자에게 다가오는 프로그램을 알리기 위해 광고 타입 세그먼트를 방송한다.
본 개시내용의 양태들은 인터스티셜 트랜지션 비디오를 실시간으로 동적으로 생성 및 프리젠테이션함으로써 미디어 트랜지션 기술을 개선한다. 인터스티셜 트랜지션 비디오들은 비디오들 사이에 재생될 수 있는 트랜지션 비디오들이다. 비디오들은 플레이리스트 내에 있을 수 있거나, 재생되도록 스케줄링된 비디오들일 수 있다. 인터스티셜 비디오들은 다가오는 비디오의 정보를 포함할 수 있다. 인터스티셜 트랜지션 비디오들은 서버 또는 헤드엔드 방송 시스템이 아닌 사용자 디바이스(예를 들어, 개인용 컴퓨터, 스마트 폰, 태블릿 등)에 의해 생성되고 프리젠테이션된다.
본 개시내용의 일 양태에 따르면, 방법으로서, 클라이언트 디바이스에 의해, 클라이언트 디바이스에 의해 재생될 기본 비디오(base video)를 수신하는 단계 - 기본 비디오는 메타데이터 항목들의 세트와 오버레이되도록 예약된 기본 비디오의 프레임들 내의 영역을 포함함 - ; 특정 사용자에 대해 다음에 재생될 제1 비디오 세트를 결정하는 단계 - 제1 비디오 세트의 선택은 특정 사용자에 연관된 제2 비디오 세트에 기초함- ; 제1 비디오 세트에 대한 메타데이터 콘텐츠를 수신하는 단계; 제1 비디오 세트에 대한 메타데이터 콘텐츠로부터 추출된 메타데이터 항목들의 세트로 기본 비디오에 대한 실행가능한 프리젠테이션 템플릿을 채우는 단계; 클라이언트 디바이스에 의해, 클라이언트 디바이스에 연결된 디스플레이 상에서 기본 비디오를 재생하는 단계; 및 기본 비디오의 프레임들의 예약된 영역을 메타데이터 항목들의 세트와 오버레이하기 위해, 클라이언트 디바이스에 의해, 채워진 프리젠테이션 템플릿의 실행을 디스플레이 상에서의 기본 비디오의 재생과 동기화하는 단계 - 동기화는 다음에 재생될 제1 비디오 세트에 관해 특정 사용자에게 알리는 커스텀 인터스티셜 트랜지션 비디오(custom interstitial transition video)를 생성함 - 를 포함하는 방법이 제공된다.
다음에 재생될 제1 비디오 세트를 결정하는 단계는 메인 비디오가 클라이언트 디바이스 상에서의 재생을 완료했음을 결정하고, (메인 비디오 후에 재생될) 다음에 재생될 비디오(들)를 실시간으로 선택 또는 결정하는 단계를 포함할 수 있다.
채워진 프리젠테이션 템플릿의 실행은 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션을 야기할 수 있고, 디스플레이 상에서 재생되는 기본 비디오의 프레임들의 예약된 영역은 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션과 오버레이된다.
동기화는: 기본 비디오에 대한 타임 코드들의 세트를 수신하는 단계 - 타임 코드들은 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행하기 위한 하나 이상의 시점을 지정함 - ; 및 타임 코드들의 세트에 따라, 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행하는 단계를 포함할 수 있다.
타임 코드들의 세트는 디스플레이 상에서 각각의 메타데이터 항목에 대한 제1 타입의 애니메이션을 실행하기 위한 제1 시점, 및 디스플레이 상에서 각각의 메타데이터 항목에 대한 제2 타입의 애니메이션을 실행하기 위한 제2 시점을 포함할 수 있다.
방법은 클라이언트 디바이스에 연결된 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하기 위한 구성 파라미터들을 수신하는 단계 - 구성 파라미터들은 폰트 스타일, 폰트 크기, 폰트 컬러, 텍스트 위치, 또는 애니메이션의 타입 중 적어도 하나를 포함함 - ; 및 구성 파라미터들에 기초하여, 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하는 단계를 더 포함할 수 있다.
메타데이터 항목들의 세트는 제1 비디오 세트 내의 각각의 비디오들에 대한 타이틀, 작성자, 채널, 하나 이상의 키워드, 또는 제1 비디오 세트 내의 각각의 비디오들에 대한 통계 중 적어도 하나를 포함할 수 있다.
제1 비디오 세트를 결정하는 단계는: 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정하는 단계; 추천 서버로부터, 복수의 추천 비디오에 대한 시간 데이터를 수신하는 단계; 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이를 결정하는 단계; 및 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이, 및 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양에 기초하여, 복수의 추천 비디오 내의 하나 이상의 비디오를 선택하는 단계를 포함할 수 있다.
방법은 제1 비디오 세트를 포함하는 필러 플레이리스트(filler playlist)를 생성하는 단계 - 필러 플레이리스트는 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지 재생됨 - ; 및 필러 플레이리스트 내의 비디오들의 재생 중간에 커스텀 인터스티셜 트랜지션 비디오를 재생하는 단계를 더 포함할 수 있다.
본 개시내용의 다른 양태에 따르면, 시스템으로서, 메모리; 및 메모리에 연결된 처리 디바이스를 포함하고, 처리 디바이스는: 기본 비디오를 수신하고 - 기본 비디오는 메타데이터 항목들의 세트와 오버레이되도록 예약된 기본 비디오의 프레임들 내의 영역을 포함함 - ; 특정 사용자에 대해 다음에 재생될 제1 비디오 세트를 결정하고 - 제1 비디오 세트의 선택은 특정 사용자에 연관된 제2 비디오 세트에 기초함- ; 제1 비디오 세트에 대한 메타데이터 콘텐츠를 수신하고; 제1 비디오 세트에 대한 메타데이터 콘텐츠로부터 추출된 메타데이터 항목들의 세트로 기본 비디오에 대한 실행가능한 프리젠테이션 템플릿을 채우고; 디스플레이 상에서 기본 비디오를 재생하고; 기본 비디오의 프레임들의 예약된 영역을 메타데이터 항목들의 세트와 오버레이하기 위해, 채워진 프리젠테이션 템플릿의 실행을 디스플레이 상에서의 기본 비디오의 재생과 동기화하기 위한 - 동기화는 다음에 재생될 제1 비디오 세트에 관해 특정 사용자에게 알리는 커스텀 인터스티셜 트랜지션 비디오를 생성함 - 것인, 시스템이 제공된다.
채워진 프리젠테이션 템플릿의 실행은 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션을 야기할 수 있고, 디스플레이 상에서 재생되는 기본 비디오의 프레임들의 예약된 영역은 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션과 오버레이된다.
동기화를 위해, 처리 디바이스는: 기본 비디오에 대한 타임 코드들의 세트를 수신하고 - 타임 코드들은 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행하기 위한 하나 이상의 시점을 지정함 - ; 및 타임 코드들의 세트에 따라, 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행할 수 있다.
타임 코드들의 세트는 디스플레이 상에서 각각의 메타데이터 항목에 대한 제1 타입의 애니메이션을 실행하기 위한 제1 시점, 및 디스플레이 상에서 각각의 메타데이터 항목에 대한 제2 타입의 애니메이션을 실행하기 위한 제2 시점을 포함할 수 있다.
처리 디바이스는 또한: 클라이언트 디바이스에 연결된 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하기 위한 구성 파라미터들을 수신하고 - 구성 파라미터들은 폰트 스타일, 폰트 크기, 폰트 컬러, 텍스트 위치, 또는 애니메이션의 타입 중 적어도 하나를 포함함 - ; 및 구성 파라미터들에 기초하여, 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이할 수 있다.
메타데이터 항목들의 세트는 제1 비디오 세트 내의 각각의 비디오들에 대한 타이틀, 작성자, 채널, 하나 이상의 키워드, 또는 제1 비디오 세트 내의 각각의 비디오들에 대한 통계 중 적어도 하나를 포함할 수 있다.
제1 비디오 세트를 결정하기 위해, 처리 디바이스는: 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정하고; 추천 서버로부터, 복수의 추천 비디오에 대한 시간 데이터를 수신하고; 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이를 결정하고; 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이, 및 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양에 기초하여, 복수의 추천 비디오 내의 하나 이상의 비디오를 선택할 수 있다.
처리 디바이스는 또한: 제1 비디오 세트를 포함하는 필러 플레이리스트를 생성하고 - 필러 플레이리스트는 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지 재생됨 - ; 및 필러 플레이리스트 내의 비디오들의 재생 중간에 커스텀 인터스티셜 트랜지션 비디오를 재생할 수 있다.
본 개시내용의 다른 양태에 따르면, 사용자 디바이스의 처리 디바이스에 의해 실행될 때, 처리 디바이스로 하여금 위에서 설명된 방법을 수행하게 하는 명령어들이 저장된 비일시적 컴퓨터 판독가능한 매체가 제공된다.
본 개시내용의 양태들 및 구현예들은 아래에 주어진 상세한 설명 및 본 개시내용의 다양한 양태들 및 구현예들의 첨부 도면들로부터 더 완전하게 이해될 것이지만, 이는 본 개시내용을 특정 양태들 또는 구현예들로 제한하는 것으로 받아들여져서는 안 되고, 오직 설명 및 이해만을 위한 것이다.
도 1은 본 개시내용의 일 구현예에 따른, 스트리밍되는 비디오들의 예시적인 타임라인을 도시한다.
도 2는 본 개시내용의 일 구현예에 따른, 인터스티셜 트랜지션 비디오의 프리젠테이션의 예시적인 프레임 시계열을 도시한다.
도 3은 본 개시내용의 일 구현예에 따른, 인터스티셜 트랜지션 비디오의 기본 비디오 컴포넌트를 재생하는 것의 예시적인 프레임 시계열을 도시한다.
도 4는 본 개시내용의 일 구현예에 따른, 트랜지션 비디오의 동적 메타데이터 오버레이 컴포넌트의 예시적인 프레임 시계열을 도시한다.
도 5는 본 개시내용의 구현예들을 위한 예시적인 시스템 아키텍처를 도시한다.
도 6a - 도 6e는 본 개시내용의 일 구현예에 따른, 기본 비디오를 재생하고, 사용자를 위한 커스텀 트랜지션 비디오를 동적으로 생성하기 위해 기본 비디오의 재생에 메타데이터의 애니메이션화된 프리젠테이션의 오버레이를 디스플레이하는 것의 예시적인 프레임 시계열을 도시한다.
도 7은 본 개시내용의 일 구현예에 따른, 커스텀 인터스티셜 트랜지션 비디오를 동적으로 제공하기 위한 방법의 양태들의 흐름도를 도시한다.
도 8은 본 개시내용의 일 구현예에 따른, 스트리밍되고 재생될 비디오들의 인터렉티브 스케줄을 디스플레이하는 비디오 스트리밍 사용자 인터페이스의 예를 도시한다.
도 9는 본 개시내용의 일 구현예에 따른, 커스텀 필러 비디오 플레이리스트를 동적으로 제공하기 위한 방법의 양태들의 흐름도를 도시한다.
도 10은 본 개시내용의 일 구현예에 따른, 필러 플레이리스트 내의 비디오의 시각적 표현을 디스플레이하는 비디오 스트리밍 사용자 인터페이스의 예를 도시한다.
도 11은 본 개시내용의 일 구현예에 따른, 커스텀 트랜지션 비디오들을 동적으로 제공하기 위한 시스템 아키텍처의 예를 도시한다.
도 12는 본 개시내용의 하나 이상의 양태에 따라 동작하는 예시적인 컴퓨팅 디바이스의 블록도를 도시한다.
본 개시내용의 양태들 및 구현들은 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들에 관한 것이다. 인터스티셜 트랜지션 비디오는 2개의 비디오 사이에서 재생되는 비디오를 지칭한다. 일 구현예에서, 인터스티셜 트랜지션 비디오들은 다음에 재생될 비디오(들)에 관한 정보를 포함한다. 일 구현예에서, 비디오(들)에 관한 이러한 정보는 애니메이션화된다. 인터스티셜 트랜지션 비디오들은 플레이리스트 내의 비디오들 사이에서, 또는 재생되도록 스케줄링된 비디오들 사이에서 재생될 수 있다. 비디오 스트리밍 서비스는 비디오, TV 쇼, 영화 및 기타 스트리밍 미디어의 주문형 온라인 소스일 수 있다. 전통적인 비디오 스트리밍 서비스들을 사용하면, 비디오가 완료된 때, 비디오가 갑자기 중지된다. 예를 들어, 비디오가 종료되면, 정적 이미지가 즉시 디스플레이되고, 다음 비디오가 재생되기 시작할 때까지 최대 몇 초(예를 들어, 8초)까지의 시간 지연이 있다. 시간 지연 동안, 다음 비디오의 타이틀 및 시간 지연(예를 들어, 8초)의 카운트다운이 정지 이미지와 함께 디스플레이될 수 있다. 전통적인 비디오 스트리밍 서비스들은 비디오들 사이에 정적 이미지 또는 광고들을 제공하며, 사용자들에게 다가오는 비디오들을 알려주는 트랜지션 비디오들을 제공하지 않는다.
전통적인 텔레비전(TV) 방송 시스템들에서, TV 프로그램이 종료될 때, 광고 타입 세그먼트는 시청자에게 다가오는 프로그램을 알리기 위한 트랜지션(transition)으로서 방송된다. 세그먼트는 TV 네트워크 로고, 및 다음 TV 프로그램의 타이틀을 포함할 수 있다. 세그먼트는 일반적으로 방송 헤드엔드 시스템에 의해 생성된 후, 디바이스(예를 들어, 텔레비전)에 의해 디스플레이된다. 세그먼트의 콘텐츠는 모든 시청자에게 동일하다. 일반적으로, 방송 헤드엔드 시스템은 개별 시청자들에 대한 커스텀 세그먼트들을 생성하지 않는다.
본 개시내용의 양태들은 디바이스(예를 들어, 사용자 디바이스) 상에서 실시간으로 사용자를 위한 커스텀 인터스티셜 트랜지션 비디오를 동적으로 생성함으로써 미디어 트랜지션 기술을 개선한다. 본 명세서에서 사용될 때, 실시간이라는 용어는 예를 들어 불필요한 지연 없이 원인(cause)에 시간적으로 근접하여 발생하는 이벤트들을 나타내기 위해 사용된다. 예를 들어, 인터스티셜 트랜지션 비디오의 실시간 생성은 현재 비디오의 재생 동안 다음 비디오에 대한 데이터를 수집하고, 현재 비디오의 재생이 완료된 후, 사용자 디바이스에 의해 다음 비디오에 대한 데이터를 즉시(예를 들어, 0.1초 또는 0.1초 미만과 같이, 미리 정의된 시간 제한 내에) 디스플레이하는 것을 수반한다.
따라서, 다양한 구현예들에서, 사용자 디바이스 상에서 실시간으로 인터스티셜 트랜지션 비디오들을 제공함으로써 트랜지션 세그먼트들을 생성하는 데에 있어서 증가된 유연성을 제공하는 기술들이 여기에 설명된다. 본 개시내용의 구현예들은 인터스티셜 트랜지션 비디오에서 프리젠테이션되고 있는 정보를 실시간으로 변경할 수 있다. 다음에 재생될 비디오들은 특정 사용자에 대해 선택될 수 있고, 본 개시내용의 구현예들은 특정 사용자에 대한 인터스티셜 트랜지션 비디오에 프리젠테이션되고 있는 정보를 커스터마이즈할 수 있다. 비디오들 사이에서 인터스티셜 트랜지션 비디오를 재생함으로써, 본 개시내용의 구현예들은 비디오들의 재생 사이에서 더 부드러운 트랜지션으로 덜 거슬리는 효과를 제공함으로써 사용자 경험을 개선한다. 인터스티셜 트랜지션 비디오의 커스텀 특성은 인터스티셜 트랜지션 비디오를 재생하는 것에 연관된 디바이스 컴퓨팅 리소스들(예를 들어, 메모리 및/또는 처리)이 디바이스의 특정 사용자와 관련된 정보를 프리젠테이션할 때 초래된다. 따라서, 실시예들은 네트워크 환경에서 사용자에게 비디오를 전달하는 것에 연관된 문제들을 해결할 수 있다.
도 1은 본 개시내용의 일 구현예에 따른, 스트리밍되는 비디오들의 예시적인 타임라인을 도시한다. 스트리밍 미디어는 인터넷을 통해 송신되며 하드 드라이브에 저장되지 않고서 즉시 재생되는 비디오 또는 오디오 콘텐츠이다. 스트리밍 미디어를 사용하면, 사용자는 비디오를 재생하기 위해 비디오 파일의 다운로드를 기다릴 필요가 없다. 비디오에 대한 데이터가 디바이스에 도착하면, 디바이스는 스트리밍 비디오를 실시간으로 재생할 수 있다. 비디오의 실시간 스트리밍은 비디오 스트림의 대응 부분들이 수신되자마자 비디오의 부분들을 디스플레이하는 것을 수반한다.
축(101)은 시간을 표현한다. 비디오 스트리밍 서비스는 비디오 콘텐츠의 주요 부분[여기서, 메인 비디오(들)라고 지칭됨] 및 콘텐츠의 인터스티셜 부분(여기서, 인터스티셜 트랜지션 비디오 또는 트랜지션 비디오라고 지칭됨)와 같은 다양한 타입의 비디오를 스트리밍할 수 있다. 메인 비디오들의 예는 콘텐츠 공유 플랫폼의 콘텐츠 제공자들로부터의 비디오들, 네트워크 텔레비전 제공자들로부터의 비디오들, 비디오 스트리밍 서비스 제공자들로부터의 비디오들을 포함할 수 있다. 메인 비디오 1(102), 메인 비디오 2(110), 메인 비디오 3(118) 및 메인 비디오 4(126)는 메인 비디오의 예이다. 메인 비디오들은 개별 비디오 스트림일 수 있다.
어느 메인 비디오들이 스트리밍되고 재생될지에 관한 선택은 미리 정의된 스케줄에 기초할 수 있고/거나 동적으로 결정될 수 있다. 일 구현예에서, 메인 비디오들은 특정 사용자에 대해 실시간으로 동적으로 선택될 수 있다. 본 명세서에서 사용될 때, 다음에 재생될 하나 이상의 비디오의 실시간 선택 또는 실시간 결정은 메인 비디오가 재생을 완료했음을 결정하고, 사용자에 연관된(예를 들어, 사용자에 의해 재생된, 사용자에 의해 링크된, 사용자에 의해 공유된 등) 비디오 세트의 분석에 기초하여 다음에 재생될 비디오(들)를 실시간으로(예를 들어, 메인 비디오 완료의 0.1초 또는 0.5초와 같은 미리 정의된 시간 제한 내에) 선택 또는 결정을 하는 것을 지칭한다. 일 구현예에서, 어느 메인 비디오들이 스트리밍되고 재생될지의 선택은 사용자가 보고, 링크하고, 공유하고, 플레이리스트에 추가하고, 댓글을 달고, (채널 구독의 일부로서 또는 개별적으로) 구독하는 등의 비디오에 기초한다.
예를 들어, 사용자는 유타에서 스노우보드 타기에 관한 비디오인 메인 비디오 1(102)을 보고 있을 수 있다. 추천 시스템은 스트리밍 및 재생될 다음 메인 비디오로서 콜로라도에서 스노우보드 타기에 관한 비디오일 수 있는 메인 비디오 2(110)를 실시간으로 선택할 수 있다. 선택의 일부로서, 추천 시스템은 또한 다음 비디오 이후에 재생될 메인 비디오로서 캐나다에서 스노우보드 타기에 관한 비디오일 수 있는 메인 비디오 3(118)을 실시간으로 선택할 수 있다.
트랜지션 비디오들은 메인 비디오들 사이에서 재생되어, 다음에 스트리밍되고 재생될 메인 비디오들에 관한 정보를 제공할 수 있다. 트랜지션 비디오 1(106), 트랜지션 비디오 2(114) 및 트랜지션 비디오 3(122)은 트랜지션 비디오들의 예들이다. 트랜지션 비디오들은 개별 비디오 스트림들일 수 있다. 일 구현예에서, 트랜지션 비디오는 다음에 스트리밍되고 재생될 다음 메인 비디오에 대한 정보를 제공한다. 다른 구현예에서, 트랜지션 비디오는 다음에 스트리밍되고 재생될 다음 2개의 메인 비디오에 대한 정보를 제공한다. 예를 들어, 재생 시에, 트랜지션 비디오 1(106)은 8초의 지속 시간을 가질 수 있고, 다가오는 메인 비디오 2(110)에 관한 정보(예를 들어, 타이틀 "Snowboarding in Utah") 및 다가오는 메인 비디오 3(118)에 대한 정보(예를 들어, 타이틀 "Snowboarding in Colorado")의 애니메이션을 디스플레이할 수 있다.
도 2는 본 개시내용의 일 구현예에 따른, 인터스티셜 트랜지션 비디오의 프리젠테이션의 예시적인 프레임 시계열을 도시한다. 트랜지션 비디오는 예를 들어 도 1의 트랜지션 비디오 1(106)일 수 있다. 트랜지션 비디오 1(106)은 8초의 지속 시간을 가질 수 있고, 메인 비디오 1(102) 이후에, 그리고 메인 비디오 2(110) 이전에 재생될 수 있다. 시계열은 타임스탬프 00:00:00에서 시작하여 타임스탬프 00:00:07까지 계속된다.
타임스탬프 00:00:00에서, 메인 비디오[예를 들어, 도 1의 메인 비디오 1(102)]의 재생이 완료되면, 트랜지션 비디오가 재생을 시작한다. 트랜지션 비디오는 텍스트, 그래픽 및 하나 이상의 채널 식별자와 같은 요소들을 포함할 수 있다. 채널은 공통 소스로부터 입수가능한 데이터 콘텐츠, 또는 공통 주제 또는 테마를 갖는 데이터 콘텐츠일 수 있다. 데이터 콘텐츠는 사용자에 의해 선택된 디지털 콘텐츠, 사용자에 의해 이용가능하게 되는 디지털 콘텐츠, 사용자에 의해 업로드된 디지털 콘텐츠, 콘텐츠 제공자에 의해 선택된 디지털 콘텐츠, 방송국에 의해 선택된 디지털 콘텐츠 등일 수 있다. 채널 식별자들은 텍스트 및/또는 이미지(들)를 포함할 수 있다. 예를 들어, 채널 식별자는 텍스트(201) "ACME CHANNEL" 및 이미지(203) 일 수 있다. 이미지(203)는 ACME 채널에 대한 로고일 수 있다. 일 구현예에서, 트랜지션 비디오는 채널과 연관되지 않으며, 임의의 채널 식별자를 포함하지 않는다. 예를 들어, 트랜지션 비디오는 텍스트 "COMING UP ON ACME CHANNEL"이 아니라 텍스트 "COMING UP"을 포함할 수 있다.
트랜지션 비디오 내의 요소들은 애니메이션화될 수 있다. 요소들은 페이드 인 및 페이드 아웃(fading in and out), 바운스 인(bouncing in), 스핀 인(spinning in), 플로팅 인 및 플로트 아웃(floating in and out) 등과 같은 애니메이션 피쳐들을 가질 수 있다. 예를 들어, 타임스탬프 00:00:00에서, 텍스트 "UP", "ACME" 및 "CHANNEL"은 개별적으로 왼쪽으로부터 뷰 내로 플로팅 인될 수 있다. 다른 예에서, 이미지(203)는 뷰 내로 스핀할 수 있고, 헤더 텍스트(205) "Next"는 바닥으로부터 뷰 내로 플로팅 인하기 시작할 수 있다.
타임스탬프 00:00:01에서, 더 많은 텍스트(204)가 개별적으로 플로팅 인될 수 있고, 이미지(202)가 계속해서 뷰 내로 스핀하고, 헤더 텍스트 "Next"가 위치(206)에 도달할 때까지 계속해서 플로팅 인되고, 헤더 텍스트(207) "After"는 지정된 위치에 도달할 때까지 바닥으로부터 플로팅 인한다.
타임스탬프 00:00:02에서, 추가 텍스트(212)가 뷰 내로 플로팅되고, 타이틀 텍스트 "Show 1"(209)은 헤더 텍스트(208) "Next" 아래에 위치된 뷰에 페이드 인되고, 타이틀 텍스트 "Show 2"(211)도 헤더 텍스트(210) "After" 아래에 위치된 뷰에 페이드 인된다. 헤더 텍스트들(208, 210)은 각각의 헤더 텍스트 근처(예를 들어, 아래, 위)에 나타날 정보의 타입을 나타낸다. 예를 들어, 헤더 텍스트(208) "Next"는 헤더 텍스트(208) 아래에 나타나는 정보(예를 들어, 타이틀 "Show 1")가 다음에 재생될 비디오를 위한 것임을 나타낸다. 헤더 텍스트(210) "After"는 헤더 텍스트(210) 아래에 나타나는 정보(예를 들어, 타이틀 "Show 2")는 다음 비디오 이후에 재생될 비디오를 위한 것임을 나타낸다. 타임스탬프 00:00:02에서, 타이틀 텍스트 "Show 1"(209) 및 타이틀 텍스트 "Show 2"(211)는 페이드 인 애니메이션에 대한 특정 투명도 값(예를 들어, 75%)을 갖도록 구성될 수 있다.
타임스탬프 00:00:03에서, 타이틀 텍스트 "Show 1"(213) 및 타이틀 텍스트 "Show 2"(215)는 완전히 페이드 인될 수 있고, 어떠한 투명도도 갖지 않을 수 있다. 타임스탬프 00:00:05에서, 텍스트 "COMING UP ON ACME CHANNEL"(217), 이미지(223), 헤더 텍스트 "AFTER"(219), 및 타이틀 텍스트 "Show 2"(221)는 뷰로부터 페이드 아웃될 수 있으며, 각각 특정 투명도 값(예를 들어, 80%)을 갖도록 구성될 수 있다. 타임스탬프 00:00:07에서, 텍스트 "COMING UP ON ACME CHANNEL"(217), 이미지(223), 헤더 텍스트 "AFTER"(219), 및 타이틀 텍스트 "Show 2"(221)가 완전히 페이드 아웃되었다. 예를 들어, 타임스탬프 00:00:08에서 트랜지션 비디오가 끝나면, "Show 1"이라는 타이틀의 다음 비디오가 재생되기 시작한다.
트랜지션 비디오는 미리 정의된 기본 비디오 컴포넌트와 동적 메타데이터 오버레이 컴포넌트의 합성물(composite)이다. 도 3은 본 개시내용의 일 구현예에 따른, 인터스티셜 트랜지션 비디오의 기본 비디오 컴포넌트를 재생하는 예시적인 프레임 시계열을 도시한다. 기본 비디오 컴포넌트(이하, "기본 비디오"라고 함)는 다음에 재생될 실제 메인 비디오들에 대한 정보를 포함하지 않는다. 기본 비디오는 기본 비디오의 프레임들 내에, 다음에 재생되도록 동적으로 선택된 메인 비디오를 설명하는 메타데이터의 오버레이를 위해 예약된 영역(302)을 포함하는 미리 정의된 비디오이다. 기본 비디오는 다음 메인 비디오 이후에 재생되도록 동적으로 선택된 다른 메인 비디오를 설명하는 메타데이터의 오버레이를 위해 예약된 하나 이상의 다른 영역[예를 들어, 영역(304)]을 기본 비디오의 프레임들에 포함할 수 있다. 일 구현예에서, 기본 비디오는 특정 채널을 위한 것이며 채널 소유자에 의해 제공될 수 있다. 기본 비디오의 작성자는 기본 비디오의 프레임들에서 메타데이터의 오버레이를 위해 예약될 하나 이상의 영역을 지정할 수 있다.
도 4는 본 개시내용의 일 구현예에 따른, 트랜지션 비디오의 동적 메타데이터 오버레이 컴포넌트의 예시적인 프레임 시계열을 도시한다. 메인 비디오들이 예를 들어 특정 사용자에 대해 동적으로 선택될 때, 트랜지션 비디오에 프리젠테이션될 정보(예를 들어, 비디오의 타이틀, 비디오의 채널, 비디오의 작성자, 비디오의 통계)가 또한 동적으로 실시간으로 결정되고, 동적 메타데이터 오버레이 컴포넌트의 일부로서 클라이언트 디바이스에 의해 프리젠테이션된다.
동적 메타데이터 오버레이 컴포넌트(이하 "메타데이터 오버레이"라 칭함)는 메타데이터의 표현을 지칭한다. 프리젠테이션은 애니메이션화될 수 있다. 메타데이터는 재생되도록 동적으로 선택된 하나 이상의 메인 비디오에 대한 것일 수 있다. 메타데이터는, 예를 들어 비디오의 타이틀, 비디오의 작성자, 비디오의 채널, 비디오에 연관된 하나 이상의 키워드, 및 비디오에 대한 통계를 포함할 수 있다. 통계의 예들은 조회 수(a number of views), 좋아요 횟수(a number of likes), 싫어요 횟수(a number of dislikes), 공유 횟수(a number of shares), 비디오를 포함한 플레이리스트의 수, 및 댓글 수(a number of comments)를 포함할 수 있다. 메타데이터 오버레이는 디스플레이 상에서의 투명 또는 반투명 층인 부분들을 갖는 층 상의 메타데이터의 프리젠테이션일 수 있다. 메타데이터 오버레이는 디스플레이 상의 프리젠테이션된 전경 층일 수 있고, 기본 비디오의 재생은 디스플레이 상의 배경 층일 수 있다.
메타데이터 오버레이는 실행가능한 프리젠테이션 템플릿으로부터 생성될 수 있다. 실행가능한 프리젠테이션 템플릿은 특정 메타데이터에 할당된 필드들 및/또는 플레이스홀더들을 포함하는 실행가능한 코드 또는 실행가능한 스크립트를 포함할 수 있다. 예를 들어, 프리젠테이션 템플릿은 비디오 타이틀을 위한 텍스트 필드, 및 비디오에 연관된 채널을 위한 다른 텍스트 필드를 포함할 수 있다. 프리젠테이션 템플릿 내의 필드들 및/또는 플레이스홀더들은 도 5와 관련하여 아래에서 더 상세히 설명되는 바와 같이 대응하는 메타데이터로 실시간으로 채워질 수 있다. 프리젠테이션 템플릿은, 채워지고 실행될 때 프레임 시계열에 도시된 바와 같이 메타데이터의 하나 이상의 애니메이션을 디스플레이 상에 프리젠테이션한다. 예를 들어, 재생될 다음 비디오의 타이틀을 위한 텍스트 필드는 메타데이터 "Show 1"로 채워질 수 있고, 다음 비디오 이후에 재생될 비디오의 타이틀을 위한 텍스트 필드는 메타데이터 "Show 2"로 채워질 수 있다. 타임스탬프 00:00:02에서, 메타데이터(401) "Show 1"의 애니메이션과 메타데이터(403) "Show 2"의 애니메이션이 뷰에 페이드 인된다.
도 5는 본 개시내용의 구현예들을 위한 예시적인 시스템 아키텍처(500)를 도시한다. 시스템 아키텍처(500)는 하나 이상의 네트워크(510)를 통해 서로 연결된 하나 이상의 클라이언트 디바이스(501), 하나 이상의 서버(515, 517, 519), 및 하나 이상의 데이터 저장소(513)를 포함할 수 있다. 네트워크(510)는 공용 네트워크(예를 들어, 인터넷), 사설 네트워크[예를 들어, 근거리 통신망(LAN) 또는 광역 네트워크(WAN)], 또는 이들의 조합일 수 있다. 서버들(515, 517, 519)은 이에 제한되는 것은 아니지만 랙마운트 서버, 개인용 컴퓨터, 데스크탑 컴퓨터, 미디어 센터, 또는 상술한 것들의 임의의 조합과 같은 머신들에 호스팅될 수 있다.
데이터 저장소들(513)은 미디어 항목들, 예컨대 스트리밍 및 재생을 위한 메인 비디오들을 저장할 수 있다. 미디어 항목들은 디지털 비디오, 디지털 영화, 디지털 사진, 디지털 음악, 웹사이트 콘텐츠, 소셜 미디어 업데이트, 전자 책(ebooks), 전자 잡지, 디지털 신문, 디지털 오디오 북, 전자 저널, 웹 블로그, RSS(real simple syndication) 피드, 전자 만화책, 소프트웨어 애플리케이션 등을 포함할 수 있지만, 그에 제한되지 않는다. 데이터 저장소(513)는 데이터를 저장할 수 있는 영구 저장소일 수 있다. 본 기술분야의 통상의 기술자가 알 수 있는 바와 같이, 일부 구현예들에서 데이터 저장소(513)는 네트워크 접속 파일 서버일 수 있는 한편, 다른 구현예들에서 데이터 저장소(513)는 객체 지향 데이터베이스, 관계형 데이터베이스 등과 같은 소정의 다른 타입의 영구 저장소일 수 있다.
비디오 스트리밍 서버(515)는 하나 이상의 클라이언트 디바이스(501)에 비디오 스트리밍 서비스를 제공할 수 있다. 비디오 스트리밍 서버(515)는 비디오들(예를 들어, 메인 비디오들, 기본 비디오들)을 클라이언트 디바이스들(501)에 스트리밍할 수 있다. 일 구현예에서, 비디오 스트리밍 서버(515)는 도 11과 관련하여 아래에서 더 상세히 설명되는 콘텐츠 공유 플랫폼(1120)과 같은 콘텐츠 공유 플랫폼의 일부이다. 일 구현예에서, 비디오 스트리밍 서버(515)는 도 11과 관련하여 아래에 더 상세히 설명되는 콘텐츠 제공자 플랫폼(1195)과 같은 콘텐츠 제공자 플랫폼의 일부이다.
클라이언트 디바이스들(501)은 미디어 항목들(예를 들어, 비디오들)을 재생하기 위한 애플리케이션(503)을 포함할 수 있다. 애플리케이션(503)은 예를 들어 비디오 스트리밍 서버(515)에 의해 서빙되는 콘텐츠에 액세스할 수 있는 웹 브라우저 일 수 있다. 다른 예에서, 애플리케이션(503)은 비디오 스트리밍 서버(515)에 의해 서빙되는 콘텐츠에 액세스할 수 있는 애플리케이션(예를 들어, 모바일 애플리케이션, 스마트 TV 애플리케이션)일 수 있다. 클라이언트 디바이스들(501)은 개인용 컴퓨터(PC), 랩탑, 모바일 폰, 스마트 폰, 태블릿 컴퓨터, 넷북 컴퓨터, 네트워크 연결 텔레비전 등과 같은 컴퓨팅 디바이스들일 수 있다.
일 구현예에서, 비디오 스트리밍 서버(515)는 미리 정의된 스케줄에 따라 비디오들을 스트리밍한다. 일 구현예에서, 스케줄링 서버(519)는 스트리밍될 비디오들의 스케줄을 생성하고, 스케줄을 비디오 스트리밍 서버(515)에 의해 액세스될 수 있는 데이터 저장소(513)에 저장한다.
일 구현예에서, 비디오 스트리밍 서버(515)는 추천 서버(517)에 의해 이루어진 비디오들의 동적 선택에 따라 비디오들을 스트리밍한다. 추천 서버(517)는 비디오 스트리밍 서버(515)에 의해 제공된 비디오 스트리밍 서비스에서 다음에 재생할 하나 이상의 비디오를 실시간으로 선택할 수 있다. 일 구현예에서, 추천 서버(517)는 도 11과 관련하여 아래에서 더 상세히 설명되는 추천 플랫폼(1157)과 같은 추천 플랫폼의 일부이다.
클라이언트 디바이스(501)는 비디오 스트리밍 서버(515)로부터 메인 비디오(550)의 비디오 스트림을 수신할 수 있고, 클라이언트 디바이스(501) 상의 애플리케이션(503)은 클라이언트 디바이스(501)에 연결된 디스플레이 상에서 메인 비디오(550)를 재생할 수 있다. 일 구현예에서, 클라이언트 디바이스(501)는 비디오 스트리밍 서버(515)로부터 메인 비디오(550)에 대한 URI(universe resource identifier)[예를 들어, URL(universe resource locator)]를 수신할 수 있고, 클라이언트 디바이스(501)는 네트워크(510)를 통한 인터넷 연결을 통해 메인 비디오(550)를 획득하기 위해 URI를 사용될 수 있다. 클라이언트 디바이스(501)는 메인 비디오(550) 스트림의 부분들을 수신하고, 그 부분들을 그것들이 수신된 대로 재생한다.
메인 비디오의 재생이 완료되면, 클라이언트 디바이스(501)는 재생될 하나 이상의 다가오는 비디오의 통지로서 트랜지션 비디오를 즉시 재생할 수 있다. 트랜지션 비디오는 미리 정의된 기본 비디오 컴포넌트[예를 들어, 기본 비디오(557)]와 동적 메타데이터 오버레이 컴포넌트(예를 들어, 실행가능한 프리젠테이션 템플릿)의 합성물이다. 트랜지션 비디오를 재생하는 것은 디스플레이 상의 배경 층에서 기본 비디오를 재생하는 것 및 디스플레이 상의 전경 층에 메타데이터 항목을 프리젠테이션하기 위해 프리젠테이션 템플릿을 실행하는 것을 포함할 수 있다. 예를 들어, 메인 비디오는 비디오가 그것의 끝에 도달한 경우, 사용자가 비디오의 끝으로 전진한 경우, 또는 사용자가 비디오의 재생을 건너뛰는 경우에 완료될 수 있다.
클라이언트 디바이스(501)는 커스텀 트랜지션 비디오들을 동적으로 생성하고 재생하기 위해 인터스티셜 컴포넌트(505)를 포함할 수 있다. 인터스티셜 컴포넌트(505)는 애플리케이션(503)과 통신하거나 그것의 일부일 수 있다.
인터스티셜 컴포넌트(505)는 비디오 스트리밍 서버(515)로부터 기본 비디오(557), 및 기본 비디오(557)에 대한 구성 파라미터들(553)을 수신할 수 있다. 기본 비디오(557) 및 구성 파라미터들(553)은 인터스티셜 컴포넌트(505)가 액세스할 수 있는 데이터 저장소(513)에 저장될 수 있다. 일 구현예에서, 인터스티셜 컴포넌트(505)는 비디오 스트리밍 서버(515)로부터 기본 비디오 식별자(예를 들어, URI)를 수신하고, URI를 사용하여 네트워크(510)를 통한 인터넷 연결을 통해 기본 비디오(557)를 획득한다. 구성 파라미터들(553)은 기본 비디오(557)에 대응하는 특정 프리젠테이션 템플릿(507)을 실행할 때 메타데이터 항목들을 언제 어떻게 디스플레이할지를 지정한다. 구성 파라미터들(553)은 프리젠테이션 템플릿(507) 내의 필드들 및/또는 플레이스홀더들에 대한 타임 코드들의 세트, 폰트 스타일, 폰트 크기, 폰트 컬러, 위치 및 애니메이션 타입, 및/또는 필드들 및/또는 플레이스홀더들을 채우고 있는 메타데이터 항목들을 포함할 수 있다. 일 구현예에서, 각각의 타임 코드는 각각의 타임 코드에서 어느 메타데이터 항목(들)이 디스플레이될지, 각각의 타임 코드에서 지정된 메타데이터 항목(들)을 디스플레이하기 위해 사용될 대응하는 폰트 스타일, 대응하는 폰트 컬러, 대응하는 위치 및 대응하는 애니메이션 타입을 나타내는 하나 이상의 대응하는 메타데이터 식별자를 갖는다.
동적 메타데이터 오버레이 컴포넌트는 기본 비디오(557)에 대응하는 실행가능한 프리젠테이션 템플릿(507)을, 다음에 재생되도록 선택된 비디오들에 대한 메타데이터(551)로 채우고, 채워진 프리젠테이션 템플릿을 실행함으로써 생성될 수 있다. 인터스티셜 컴포넌트(505)는 트랜지션 비디오를 생성하기 위해 사용할 실행가능한 프리젠테이션 템플릿(507)을 선택할 수 있다. 실행가능한 프리젠테이션 템플릿(507)의 선택은 도 7과 관련하여 아래에서 더 상세히 설명된다. 클라이언트 디바이스(501)는 하나 이상의 실행가능한 프리젠테이션 템플릿(507)을 국소적으로 저장할 수 있거나, 데이터 저장소(513)에 저장된 하나 이상의 실행가능한 프리젠테이션 템플릿(507)에 액세스할 수 있다. 실행가능한 프리젠테이션 템플릿들(507)은 비디오 스트리밍 서버(515) 및/또는 콘텐츠 제공자들(예를 들어, 채널 소유자들)에 의해 제공될 수 있다.
추천 서버(517)는 다음에 재생되도록 선택된 비디오들에 대한 메타데이터(551)를 제공할 수 있다. 데이터 저장소들(513)은 미디어 항목들(예를 들어, 비디오들)에 대한 메타데이터(551)를 저장할 수 있다. 메타데이터(551)는 예를 들어 미디어 항목의 타이틀, 미디어 항목의 작성자, 미디어 항목의 채널, 미디어 항목에 연관된 하나 이상의 키워드, 및 미디어 항목에 대한 통계를 포함할 수 있다. 통계의 예들은 조회수, 좋아요 횟수, 싫어요 횟수, 공유 횟수, 미디어 항목을 포함하는 플레이리스트들의 수, 및 미디어 항목에 대해 행해진 댓글의 수를 포함할 수 있다.
메타데이터 오버레이는 하나 이상의 특정 기본 비디오에 대응하고, 메타데이터 오버레이의 프리젠테이션은 도 6a 내지 도 6e와 관련하여 아래에 더 상세히 설명되는 바와 같이, 대응하는 기본 비디오의 재생과 동기화된다.
클라이언트 디바이스(501)는 다음 비디오가 재생될 때까지의 기간(예를 들어, 7분)을 채우기 위해 특정 사용자에 대한 비디오들의 커스텀 필러 플레이리스트(custom filler playlist)를 동적으로 생성하기 위한 플레이리스트 컴포넌트(506)를 포함할 수 있다. 플레이리스트 컴포넌트(506)는 도 8 내지 도 10과 관련하여 아래에서 더 상세히 설명된다.
트랜지션 비디오는 기본 비디오(557)의 재생과 메타데이터(551)로부터의 메타데이터 항목들로 채워진 실행가능한 프리젠테이션 템플릿(507)의 실행의 합성물이다. 프리젠테이션 템플릿의 실행은 디스플레이 상의 전경 층 내에 메타데이터 항목들을 프리젠테이션하는 애니메이션들을 야기할 수 있고, 기본 비디오의 재생은 디스플레이 상의 배경 층 내에 있을 수 있다. 도 6a - 도 6e는 본 개시내용의 일 구현예에 따라, 사용자를 위한 커스텀 트랜지션 비디오를 동적으로 생성하기 위해, 디스플레이 상의 배경 층에서 기본 비디오(557)를 재생하는 것, 및 디스플레이 상의 전경 층에 애니메이션화된 메타데이터 프리젠테이션을 놓는 것의 예시적인 프레임 시계열을 도시한다.
도 6a는 특정 시점 00:00:00을 도시한다. 프레임(602)은 시점 00:00:00에서의 기본 비디오의 재생 시작을 도시한다. 프레임(604)은 기본 비디오에 대응하고 메타데이터 항목들로 채워진 실행가능한 프리젠테이션 템플릿을 실행한 결과를 도시한다. 채워진 프리젠테이션 템플릿을 실행하면, 시점 00:00:00에서는 여전히 메타데이터 항목들이 디스플레이되지 않는다. 프레임(606)은 특정 사용자에 대해 시점 00:00:00에 커스텀 트랜지션 비디오를 생성하기 위해 프레임(604)을 프레임(602) 상에 오버레이한 것으로부터의 합성물을 도시한다. 프레임(604)은 디스플레이(608) 상의 전경 층 내에 있을 수 있고, 프레임(602)은 디스플레이(608) 상의 배경 층 내에 있을 수 있다. 시점 00:00:00에서, 메타데이터 애니메이션의 프레임(604)은 어떠한 메타데이터도 프리젠테이션하지 않는다. 클라이언트 디바이스[예를 들어, 클라이언트 디바이스(501)]는 디스플레이(608) 상에 메타데이터를 언제 어떻게 프리젠테이션할지를 지정하는 구성 파라미터들(예를 들어, 타임 코드들)을 수신할 수 있다. 디스플레이(608) 상의 전경 층에서의 메타데이터의 출현 및 소멸을 디스플레이(608) 상의 배경 층에서의 기본 비디오의 재생과 동기화하기 위해, 클라이언트 디바이스는 타임 코드들에 기초한 특정 시점들에서 메타데이터의 애니메이션을 실행할 수 있다. 예를 들어, 기본 비디오 내의 헤더 텍스트(603) "Next"는 디스플레이(608)의 바닥으로부터 플로팅되어, 결국에는 나중 시점에 디스플레이(608) 내의 특정 위치[예를 들어, 위치(605)]에 도달한다. 도 6b에 도시된 바와 같이, 기본 비디오에 대한 타임 코드들은 헤더 텍스트(603) "Next"에 대응하는 메타데이터가 헤더 텍스트(603) "Next"가 위치(605)에 도달하는 시점까지 디스플레이(608) 상에 프리젠테이션되지 않아야 한다고 명시할 수 있다.
도 6b는 시점 00:00:02에서 재생되는 기본 비디오의 프레임(624), 및 동일한 시점에서의 메타데이터 애니메이션의 프레임(630)을 도시한다. 프레임(632)은 동일한 시점에서 커스텀 트랜지션 비디오를 생성하기 위해 프레임(630)을 프레임(624) 상에 오버레이하는 것으로부터의 합성물을 도시한다. 프레임(624)에서, 헤더 텍스트(620) "Next" 및 헤더 텍스트(622) "After" 각각은 각자의 특정 위치에 도달한다. 동일한 시점에서, 프레임(630)에서, 타이틀 텍스트(626) "Show 1" 및 타이틀 텍스트(628) "Show 2"가 뷰에 페이드 인된다. 기본 비디오는 기본 비디오에 대한 실행가능한 프리젠테이션 템플릿이 실행될 때 메타데이터 항목이 디스플레이 상에 어떻게 프리젠테이션될지를 지정하는 구성 파라미터들을 가질 수 있다. 구성 파라미터들은 기본 비디오의 재생 시작으로부터 2초를 나타내며 프레임(630)에 도시된 바와 같이 타이틀 텍스트(626) "Show 1" 및 타이틀 텍스트(628) "Show 2"에 대한 특정 타입의 애니메이션(예를 들어, 페이드 인)의 실행을 트리거하는 특정 타임 코드, 예를 들어 00:00:02를 지정할 수 있다. 구성 파라미터들은 또한 이러한 특정 타임 코드 및 이러한 특정 텍스트에 대한 투명도 값(예를 들어, 75%)을 지정할 수 있다. 합성물의 프레임(632)에서, 타이틀 텍스트(634) "Show 1"의 애니메이션(예를 들어, 페이드 인) 및 타이틀 텍스트(637) "Show 2"의 애니메이션(예를 들어, 페이드 인)은 전경 층에 있으며, 이는 배경 층에서의 기본 비디오 재생의 앞에 있거나 그것의 오버레이이다.
도 6c는 시점 00:00:03에서 재생되는 기본 비디오의 프레임(640), 및 동일한 시점에서의 메타데이터 애니메이션의 프레임(645)을 도시한다. 프레임(650)은 동일한 시점에서 커스텀 트랜지션 비디오를 생성하기 위해 프레임(645)을 프레임(640) 상에 오버레이하는 것으로부터의 합성물을 도시한다. 프레임(645)에서, 타이틀 텍스트(641) "Show 1" 및 타이틀 텍스트(643) "Show 2"는 각각 완전히 뷰에 페이드 인되었다. 구성 파라미터들은 이러한 특정 타임 코드 및 이러한 특정 텍스트에 대한 투명도 값(예를 들어, 0%)을 지정할 수 있다. 예를 들어, 합성물의 프레임(650)에서, 타이틀 텍스트(636) "Show 1" 및 타이틀 텍스트(638) "Show 2" 각각이 전체 뷰로 나타난다(즉, 투명도 없음).
도 6d는 시점 00:00:05에서 재생되는 기본 비디오의 프레임(660), 및 동일한 시점에서의 메타데이터 애니메이션의 프레임(665)을 도시한다. 프레임(670)은 동일한 시점에 커스텀 트랜지션 비디오를 생성하기 위해 프레임(665)을 프레임(660) 상에 오버레이하는 것으로부터의 합성물을 도시한다. 프레임(660)에서, 텍스트(661) "COMING UP ON ACME CHANNEL", ACME 채널에 대한 로고의 이미지(662), 및 헤더 텍스트(663) "After" 각각은 기본 비디오의 재생 동안 뷰로부터 페이드 아웃되기 시작한다. 텍스트(661), 이미지(662) 및 헤더 텍스트(663)는 아래에서 도 6e의 시점 00:00:07에서의 프레임(680)에 도시된 바와 같이 기본 비디오가 재생됨에 따라 계속하여 사라진다.
도 6d를 참조하면, 프레임(665)에서, 메타데이터 애니메이션의 타이틀 텍스트(663) "Show 2"가 뷰로부터 페이드 아웃되기 시작한다. 구성 파라미터들은 이러한 특정 타임 코드, 예를 들어 기본 비디오의 재생 시작으로부터 5초를 나타내는 00:00:05가 타이틀 텍스트(663)에 대한 특정 타입의 애니메이션(예를 들어, 페이드 아웃)의 실행을 트리거하도록 지정할 수 있다. 구성 파라미터들은 이러한 특정 타임 코드 및 이러한 특정 텍스트에 대한 투명도 값(예를 들어, 80%)을 지정할 수 있다. 아래에서 도 6e의 시점 00:00:07에서의 프레임(685)에 도시된 바와 같이, 타이틀 텍스트(663)는 클라이언트 디바이스가 메타데이터 애니메이션을 계속하여 실행함에 따라 계속하여 사라진다. 도 6d를 참조하면, 합성물의 프레임(670)은 헤더 텍스트(667) "Next" 및 타이틀 텍스트(669) "Show 1"이 여전히 전체 뷰로 나타나는 것을 도시한다(즉, 페이드 아웃되지 않음, 투명도 없음).
도 6e는 시점 00:00:07에서 재생되는 기본 비디오의 프레임(680), 및 동일한 시점에서의 메타데이터 애니메이션의 프레임(685)을 도시한다. 프레임(690)은 동일한 시점에서 커스텀 트랜지션 비디오를 생성하기 위해 프레임(685)을 프레임(680) 상에 오버레이하는 합성물을 도시한다. 합성물의 프레임(690)은 헤더 텍스트(687) "Next" 및 타이틀 텍스트(689) "Show 1"이 나타나는 트랜지션 비디오의 유일한 요소들임을 나타낸다. 트랜지션 비디오는 시점 00:00:08에서 종료되고, 클라이언트 디바이스는 다음 비디오 "Show 1"을 재생하기 시작할 수 있다.
도 7은 본 개시내용의 일 구현예에 따른, 커스텀 인터스티셜 트랜지션 비디오를 동적으로 제공하기 위한 방법(700)의 양태들의 흐름도를 도시한다. 방법(700)은 하드웨어(회로, 전용 로직 등), 소프트웨어(예컨대, 범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 것), 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현예에서, 방법은 도 5의 클라이언트 디바이스(501)에서 인터스티셜 컴포넌트(505)에 의해 수행된다. 일 구현예에서, 클라이언트 디바이스의 처리 디바이스는 방법(700)을 수행한다.
블록(710)에서, 처리 디바이스는 클라이언트 디바이스에 의해 재생될 기본 비디오를 수신한다. 일 구현예에서, 처리 디바이스는 기본 비디오 식별자(예를 들어, URI)를 수신한다. URI는 기본 비디오의 파일의 위치를 식별하고, 처리 디바이스는 URI를 사용하여 기본 비디오에 대한 파일을 획득한다. 디스플레이에서 재생될 때, 기본 비디오는 기본 비디오의 프레임들 내에서 메타데이터 항목들의 세트와 오버레이되도록 예약된 하나 이상의 영역[예를 들어, 도 3의 영역들(302, 304)]을 포함한다. 기본 비디오 및/또는 기본 비디오 식별자는 비디오 스트리밍 서버[예를 들어, 도 5의 비디오 스트리밍 서버(515)]로부터 수신될 수 있다.
블록(720)에서, 처리 디바이스는 특정 사용자에 대해 다음에 재생될 비디오 세트를 결정한다. 비디오 세트는 하나 이상의 비디오를 포함할 수 있다. 비디오 세트의 선택은 예를 들어, 사용자에 의해 이전에 재생되고, 사용자가 좋아하고, 사용자에게 추천되고, 사용자에 의해 공유되고, 사용자에 의해 댓글이 달리고, 사용자에 의해 플레이리스트에 추가된 비디오 세트, 및/또는 사용자에 의해 구독된 채널들에 기초할 수 있다. 일 구현예에서, 비디오 세트의 선택은 특정 사용자에 연관된 다른 비디오 세트에 기초할 수 있다. 일 구현예에서, 선택은 추천 서버에 의해 이루어질 수 있고, 추천 서버는 클라이언트 디바이스에게 비디오 세트의 선택을 통지한다. 다른 구현예에서, 비디오 세트의 선택은 스케줄링 서버에 의해 이루어지고, 스케줄링 서버는 클라이언트 디바이스에게 비디오 세트의 선택을 통지한다. 한 사용자를 위한 비디오들의 선택은 다른 사용자를 위한 비디오들의 선택과 다를 수 있다. 또 다른 구현예에서, 클라이언트 디바이스는 다음에 재생될 비디오 세트를 동적으로 선택한다. 처리 디바이스는 도 8 및 도 9와 관련하여 아래에서 더 상세히 설명되는 바와 같이 선택된 비디오 세트를 포함하는 커스텀 필러 플레이리스트를 생성할 수 있다.
블록(730)에서, 처리 디바이스는 비디오 세트에 대한 메타데이터 콘텐츠를 수신한다. 메타데이터 콘텐츠는 추천 서버 또는 스케줄링 서버로부터 수신될 수 있다. 기본 비디오가 수신되는 것과 동시에 메타데이터 콘텐츠가 수신될 수 있다. 일 구현예에서, 비디오 스트리밍 서버는 메타데이터 콘텐츠를 클라이언트 디바이스에 송신하기 위한 명령어를 추천 서버 또는 스케줄링 서버에 송신한다.
블록(740)에서, 처리 디바이스는 선택된 비디오 세트에 대한 메타데이터 콘텐츠로부터 추출된 메타데이터 항목들의 세트로 기본 비디오에 대한 프리젠테이션 템플릿을 채운다. 프리젠테이션 템플릿은 실행가능한 코드일 수 있고, 이는 실행될 때 처리 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션을 초래한다. 메타데이터 항목들의 세트는 선택된 비디오 세트 내의 각각의 비디오들에 대한 타이틀, 작성자, 채널, 하나 이상의 키워드, 또는 통계 중 적어도 하나를 포함할 수 있다.
처리 디바이스는 기본 비디오 식별자를 사용하여 기본 비디오 식별자에 대응하는 프리젠테이션 템플릿을 선택할 수 있다. 일 구현예에서, 처리 디바이스는 기본 비디오 식별자들을 프리젠테이션 템플릿들에 맵핑하는, 데이터 저장소에 저장된 맵핑 데이터에 액세스한다. 예를 들어, 비디오 스트리밍 서비스는 익스트림 스포츠 테마를 갖는 데이터 콘텐츠를 갖는 익스트림 스포츠 채널을 포함할 수 있고, 원예 테마를 갖는 데이터 콘텐츠를 갖는 원예 채널을 포함할 수 있다. 익스트림 스포츠 채널에 대한 기본 비디오 식별자는 익스트림 스포츠 채널에 대한 프리젠테이션 템플릿에 맵핑될 수 있고, 원예 채널에 대한 기본 비디오 식별자는 원예 채널에 대한 프리젠테이션 템플릿에 맵핑될 수 있다.
블록(750)에서, 처리 디바이스는 클라이언트 디바이스에 연결된 디스플레이 상에서 기본 비디오를 재생한다. 일 구현예에서, 디스플레이는 미러링 및/또는 캐스팅 기술을 지원하는 스트리밍 디바이스에 연결된다. 기본 비디오는 오디오(예를 들어, 음악)를 포함할 수 있다. 일 구현예에서, 디스플레이는 클라이언트 디바이스의 디스플레이이다. 예를 들어, 디스플레이는 스마트 폰 또는 태블릿 컴퓨터의 디스플레이일 수 있다. 다른 구현예에서, 디스플레이는 미러링 및/또는 캐스팅 기술을 지원하는 스트리밍 디바이스에 연결된다. 스트리밍 디바이스 및 클라이언트 디바이스는 동일한 네트워크(예를 들어, 무선 네트워크)에 연결될 수 있고, 클라이언트 디바이스는 스트리밍 디바이스에 연결된 디스플레이 상에서 기본 비디오를 재생할 수 있다. 일 구현예에서, 처리 디바이스는 기본 비디오를 재생하기 위해 미디어 플레이어를 실행한다.
블록(760)에서, 처리 디바이스는 기본 비디오의 프레임들의 예약된 영역을 메타데이터 항목들의 세트와 오버레이하기 위해, 디스플레이 상에서의 기본 비디오의 재생과 채워진 프리젠테이션 템플릿의 실행을 동기화한다. 채워진 프리젠테이션 템플릿이 실행될 때, 디스플레이 상에서 재생되는 기본 비디오의 프레임들의 예약된 영역은 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목들의 애니메이션과 오버레이된다. 동기화는 특정 사용자에게 다음에 재생될 비디오 세트에 관해 알리는 커스텀 트랜지션 비디오를 생성한다. 기본 비디오의 재생과 동기화된 채워진 프리젠테이션 템플릿의 실행의 종료 직후에, 처리 디바이스는 다음에 재생되도록 선택된 비디오 세트 내의 비디오를 재생할 수 있다.
동기화를 위해, 처리 디바이스는 비디오 스트리밍 서버로부터, 채워진 프리젠테이션 템플릿 내에 있는 메타데이터 항목들을 처리 디바이스에 연결된 디스플레이에 디스플레이하기 위한 구성 파라미터들을 수신할 수 있다. 구성 파라미터들은 타임 코드들의 세트, 및 폰트 스타일, 폰트 크기, 폰트 컬러, 위치 또는 애니메이션 타입 중 하나 이상을 포함할 수 있다. 처리 디바이스는 구성 파라미터들을 사용하여, 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하고, 메타데이터 항목들의 디스플레이를 기본 비디오의 재생과 동기화할 수 있다. 예를 들어, 폰트 관련 파라미터들은 특정 메타데이터 항목을 디스플레이하기 위해 어느 폰트 스타일, 폰트 크기, 및 폰트 컬러가 사용되어야 하는지를 지정할 수 있다. 위치 파라미터는 디스플레이 상에 특정 메타데이터 항목을 위치시키기 위한 X-Y 좌표를 지정할 수 있다. 애니메이션 파라미터는 특정 메타데이터 항목을 디스플레이하기 위해 어느 애니메이션 타입을 실행할지를 지정할 수 있다. 구성 파라미터들은 특정 기본 비디오에 대응한다. 예를 들어, 익스트림 스포츠 채널에 대한 기본 비디오에 대한 구성 파라미터들은 원예 채널에 대한 기본 비디오에 대한 구성 파라미터들과 상이할 수 있다.
처리 디바이스가 채워진 프리젠테이션 템플릿을 실행할 때, 하나 이상의 특정 메타데이터 항목이 타임 코드들의 세트에 기초한 특정 시점에서 디스플레이 상에 프리젠테이션될 수 있다. 타임 코드들은 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들의 세트 내의 하나 이상의 특정 메타데이터 항목의 애니메이션을 실행하기 위한 하나 이상의 시점을 지정할 수 있다. 채워진 프리젠테이션 템플릿의 실행과 기본 비디오의 재생의 동기화는 기본 비디오를 재생하기 위한 시작 시간에 기초할 수 있다. 일 구현예에서, 처리 디바이스는 기본 비디오가 재생을 시작한 시간의 타임스탬프를 결정할 수 있고, 타임스탬프를 타임 코드들에 대한 기준 시간으로서 사용할 수 있다. 타임 코드들은 초로 표현될 수 있다.
채워진 프리젠테이션 템플릿의 실행은 타임 코드들의 세트에 따라 디스플레이 상에서 특정 메타데이터 항목의 애니메이션을 실행한다. 타임 코드들의 세트는 디스플레이 상에서 각각의 메타데이터 항목에 대한 제1 타입의 애니메이션을 실행하는 제1 시점, 및 디스플레이 상에서 각각의 메타데이터 항목에 대한 제2 타입의 애니메이션을 실행하는 제2 시점을 포함할 수 있다. 예를 들어, 처리 디바이스는 타임 코드 00:00:02를 수신할 수 있고, 채워진 프리젠테이션 템플릿이 실행될 때, 2개의 비디오 타이틀의 페이드 인 애니메이션은 기본 비디오가 재생을 시작한 시간으로부터 2초 후에 실행되어, 도 6b의 프레임(630)에 도시된 바와 같이 2개의 비디오 타이틀의 페이드 인 애니메이션을 디스플레이하고, 시점 00:00:05는 도 6d의 프레임(665)에 도시된 바와 같이 비디오 타이틀들 중 하나의 페이드 아웃 애니메이션을 트리거할 수 있다. 애니메이션의 타입은 예를 들어 페이드 인(fading in), 페이드 아웃(fading out), 바운스 인(bouncing in), 바운스 아웃(bouncing out), 스핀 인(spinning in), 스핀 아웃(spinning out), 플로트 인(floating in), 및 플로트 아웃(floating out)을 포함할 수 있지만 이에 제한되지는 않는다.
도 8은 본 개시내용의 일 구현예에 따라, 스트리밍되고 재생될 비디오들의 인터랙티브 스케줄을 디스플레이하는 비디오 스트리밍 사용자 인터페이스(800)의 예를 도시한다. 스케줄은 예를 들어 스케줄링 서버[예를 들어, 도 5의 스케줄링 서버(515)]에 의해 미리 정의될 수 있다. 사용자 인터페이스(800)는 그래픽 사용자 인터페이스일 수 있다.
사용자 인터페이스는 비디오들을 재생하기 위한 스케줄에 대한 시간 마커들(예를 들어, "9.00", "9.30", "10.00", "10.30")을 포함하는 타임라인(808)을 포함할 수 있다. 일 구현예에서, 타임라인(808) 내의 마커들 사이의 기간들은 동일하다. 일 구현예에서, 기간들은 30분 시간 블록들이다. 사용자 인터페이스(800)는 스케줄링된 비디오들 각각에 대한 시각적 표현들을 포함할 수 있다. 일 구현예에서, 스케줄링된 비디오의 시각적 표현은 대응하는 스케줄링된 비디오의 비디오 식별자(예를 들어, 비디오 타이틀)를 디스플레이하는 셀[예를 들어, 셀(804)]이다. 예를 들어, 셀(804)은 타이틀 "Horror Show"를 포함한다. 스케줄링된 비디오들 중 하나 이상은 콘텐츠 제공자에 연관될 수 있다. 예를 들어, 비디오 "Horror Show" 및 비디오 "Zombie Show"는 콘텐츠 제공자 "ACME"에 연관될 수 있다.
비디오들은 30분 시간 블록들의 간격들 또는 배수들에서, 예를 들어 정시에 또는 30분에 재생되도록 스케줄링될 수 있다. 비디오 스트리밍 서비스 제공자는 채널들을 콘텐츠 제공자에게 할당할 수 있고, 콘텐츠 제공자들의 비디오들은 각각의 채널을 통해 스케줄에 따라 재생될 수 있다. 예를 들어, 비디오 "Horror Show"는 ACME 채널에서 오후 9시에 재생되도록 스케줄링되고, 비디오 "Zombie Show"는 ACME 채널에서 오후 9시 30분에 재생되도록 스케줄링된다.
사용자는 스케줄에 따라 ACME 채널 상에서 재생되고 있는 특정 비디오를 시청하기 위해 비디오 스트리밍 사용자 인터페이스로부터 ACME 채널 또는 특정 비디오(예를 들어, Horror Show)를 선택할 수 있다. 사용자는 비디오 "Horror Show"가 종료되기 전에 재생될 비디오가 7분의 기간(812)을 갖는 시점[예를 들어, 시점(806)]에서 비디오 "Horror Show"를 선택할 수 있다. 시점(806)에서, 다음 비디오 "Zombie Show"가 ACME 채널에서 재생되기 전에 "Horror Show" 비디오에 7분이 남아 있다.
클라이언트 디바이스[예를 들어, 도 5의 클라이언트 디바이스(501)]는 다음 비디오(예를 들어, "Zombie Show")가 재생될 때까지의 기간(806)(예를 들어, 7분)을 채우기 위해 특정 사용자에 대한 비디오들의 커스텀 필러 플레이리스트를 동적으로 생성하기 위한 플레이리스트 컴포넌트[예를 들어, 도 5의 플레이리스트 컴포넌트(506)]를 포함할 수 있다. 필러 플레이리스트는 하나 이상의 비디오를 포함할 수 있다. 일 구현예에서, 재생될 다음 비디오(들)를 사용자에게 통지하기 위해, 필러 플레이리스트 내의 비디오들 사이에서 커스텀 트랜지션 비디오가 재생될 수 있다. 일 구현예에서, 필러 플레이리스트를 위해 선택된 비디오들은 사용자가 선택한 현재 채널에 연관된다. 다른 구현예에서, 필러 플레이리스트를 위해 선택된 비디오들은 사용자가 선택한 현재 채널에 연관되지 않는다. 일 구현예에서, 커스텀 필러 플레이리스트를 위한 비디오들의 선택은 사용자가 보고, 좋아하고, 공유하고, 플레이리스트에 추가하고, 댓글을 달고, 채널 구독 등을 한 비디오들에 기초한다
도 9는 본 개시내용의 일 구현예에 따른, 커스텀 필러 비디오 플레이리스트를 동적으로 제공하기 위한 방법(900)의 양태들의 흐름도를 도시한다. 방법(900)은 하드웨어(회로, 전용 로직 등), 소프트웨어(예컨대, 범용 컴퓨터 시스템 또는 전용 머신 상에서 실행됨), 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현예에서, 방법은 클라이언트 디바이스에서 플레이리스트 컴포넌트[예를 들어, 도 5의 플레이리스트 컴포넌트(506)]에 의해 수행된다. 일 구현예에서, 클라이언트 디바이스의 처리 디바이스는 방법(900)을 수행한다.
블록(910)에서, 처리 디바이스는 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정한다. 현재 시점은 사용자가 비디오 스트리밍 사용자 인터페이스의 인스턴스를 실행하는 시간, 또는 사용자가 비디오 스트리밍 사용자 인터페이스를 통해 채널 또는 비디오를 선택하는 시간일 수 있다. 처리 디바이스는 다음 스케줄링된 비디오에 대한 시작 시간을 결정하기 위해 스케줄 데이터에 액세스할 수 있다. 스케줄 데이터는 데이터 저장소[예를 들어, 도 5의 데이터 저장소(513)] 내에 저장될 수 있다.
블록(920)에서, 처리 디바이스는 추천 서버[예를 들어, 도 5의 추천 서버(517)]로부터 추천 비디오들의 세트에 대한 시간 데이터를 수신한다. 비디오 세트는 추천 서버에 의해 선택될 수 있다. 일 구현예에서, 비디오 세트는 사용자가 보았거나 좋아했거나 공유했거나 플레이리스트에 추가했거나 댓글을 달았거나 채널 구독을 한 비디오들에 기초하여, 사용자가 선택한 채널에 기초하여, 및/또는 현재 재생 중인 비디오에 기초하여 선택된다.
블록(930)에서, 처리 디바이스는 추천 비디오 세트 내의 각각의 비디오들에 대한 시간 길이를 결정한다. 시간 데이터는 각각의 비디오의 시간 길이를 포함할 수 있다. 블록(940)에서, 처리 디바이스는 추천 비디오 세트로부터 하나 이상의 비디오를 선택하여 필러 비디오 플레이리스트를 생성한다. 처리 디바이스는 비디오들의 시간 길이, 및 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양에 기초하여 비디오(들)를 선택할 수 있다. 예를 들어, 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양은 7분일 수 있고, 처리 디바이스는 필러 플레이리스트를 위해, 추천 비디오 세트로부터 7분의 시간 길이를 갖는 단일 비디오를 선택할 수 있다. 다른 예에서, 처리 디바이스는 필러 플레이리스트를 위해, 3분 길이의 제1 비디오, 1.3분 길이의 제2 비디오, 및 2.7분 길이의 제3 비디오를 선택할 수 있다.
일 구현예에서, 처리 디바이스는 필러 비디오 플레이리스트 내의 제1 비디오를 자동으로 재생한다. 다른 구현예에서, 처리 디바이스는 비디오 스트리밍 사용자 인터페이스에서 필러 비디오 플레이리스트 내의 제1 비디오의 시각적 표현(예를 들어, 썸네일)을 디스플레이한다. 사용자는 제1 비디오의 재생을 시작하기 위해 사용자 인터페이스에서 제1 비디오의 시각적 표현을 선택할 수 있다.
도 10은 본 개시내용의 일 구현예에 따른, 필러 플레이리스트 내의 비디오의 시각적 표현(1010)을 디스플레이하는 비디오 스트리밍 사용자 인터페이스(1000)의 예를 도시한다. 비디오 표현(1010)은 필러 플레이리스트 내의 제1 비디오의 것일 수 있다. 비디오 표현(1010)은 비디오의 썸네일, 비디오의 타이틀, 비디오의 시간 길이, 비디오의 작성자 또는 소유자, 및 비디오에 대한 통계 중 하나 이상을 포함할 수 있다. 비디오 표현(1010)은 대화식일 수 있다. 예를 들어, 사용자는 비디오 재생을 트리거하기 위해 비디오 표현(1010)을 선택할 수 있다.
도 11은 본 개시내용의 일 구현예에 따라, 커스텀 트랜지션 비디오들을 동적으로 제공하기 위한 시스템 아키텍처(1100)의 예를 도시한다. 시스템 아키텍처(1100)는 사용자 디바이스들(1110A 내지 1110Z), 하나 이상의 네트워크(1105), 하나 이상의 데이터 저장소(1106), 하나 이상의 서버(1130) 및 하나 이상의 플랫폼[예를 들어, 콘텐츠 공유 플랫폼(1120), 추천 플랫폼(1157), 광고 플랫폼(1165), 모바일 플랫폼(1150), 소셜 네트워크 플랫폼(1160), 검색 플랫폼(1145), 콘텐츠 제공자 플랫폼(1195) 및 협업 플랫폼(1155)]을 포함한다. 플랫폼들은 하나 이상의 컴퓨팅 디바이스(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소들(예를 들어, 하드 디스크, 메모리 및 데이터베이스), 네트워크, 소프트웨어 컴포넌트들 및/또는 하드웨어 컴포넌트들일 수 있다.
하나 이상의 네트워크(1105)는 하나 이상의 공용 네트워크(예를 들어, 인터넷), 하나 이상의 사설 네트워크[예를 들어, 근거리 통신망(LAN) 또는 하나 이상의 광역 네트워크(WAN)], 하나 이상의 유선 네트워크(예를 들어, 이더넷 네트워크), 하나 이상의 무선 네트워크(예를 들어, 802.11 네트워크 또는 Wi-Fi 네트워크), 하나 이상의 셀룰러 네트워크[예를 들어, LTE(Long Term Evolution) 네트워크], 라우터, 허브, 스위치, 서버 컴퓨터 및/또는 이들의 조합을 포함할 수 있다. 일 구현예에서, 아키텍처(1100)의 일부 컴포넌트들은 서로 직접 연결되지 않는다. 일 구현예에서, 아키텍처(1100)는 개별 네트워크들(1105)을 포함한다.
하나 이상의 데이터 저장소(1106)는 메모리(예를 들어, 랜덤 액세스 메모리), 캐시, 드라이브(예를 들어, 하드 드라이브), 플래시 드라이브, 데이터베이스 시스템, 또는 데이터를 저장할 수 있는 다른 타입의 컴포넌트 또는 디바이스일 수 있다. 하나 이상의 데이터 저장소(1106)는 복수의 컴퓨팅 디바이스(예를 들어, 다수의 서버 컴퓨터)에 걸쳐있을 수 있는 복수의 저장 컴포넌트(예를 들어, 복수의 드라이브 또는 복수의 데이터베이스)를 포함할 수 있다. 데이터 저장소들(1106)은 데이터를 저장할 수 있는 영구 저장소일 수 있다. 영구 저장소는 로컬 저장 유닛 또는 원격 저장 유닛일 수 있다. 영구 저장소는 자기 저장 유닛, 광학 저장 유닛, 고체 상태 저장 유닛, 전자 저장 유닛(메인 메모리) 또는 유사한 저장 유닛일 수 있다. 영구 저장소는 모놀리식 디바이스 또는 분산 디바이스 세트일 수 있다. 본 명세서에서 사용될 때, '세트'는 임의의 양의 정수의 항목을 지칭한다.
콘텐츠 항목들(1121)은 하나 이상의 데이터 저장소(1106)에 저장될 수 있다. 데이터 저장소들(1106)은 하나 이상의 플랫폼의 일부일 수 있다. 콘텐츠 항목(1121)의 예들은 디지털 비디오, 디지털 영화, 애니메이션 이미지, 디지털 사진, 디지털 음악, 디지털 오디오, 웹사이트 콘텐츠, 소셜 미디어 업데이트, 전자 책, 전자 잡지, 디지털 신문, 디지털 오디오 북, 전자저널, 웹 블로그, RSS(real simple syndication) 피드, 전자 만화책, 소프트웨어 애플리케이션 등을 포함할 수 있지만 이에 제한되지 않는다. 콘텐츠 항목(1121)은 미디어 항목으로도 지칭된다. 간결하고 간단하게 하기 위해, 온라인 비디오(이하, 비디오라고도 지칭됨)는 본 문서 전체에 걸쳐 콘텐츠 항목(1121)의 예로서 사용된다. 콘텐츠 항목들(1121)은 메인 비디오들[예를 들어, 도 1의 메인 비디오들(102, 110, 118, 126)] 및 인터스티셜 트랜지션 비디오들[예를 들어, 도 1의 인터스티셜 트랜지션 비디오들(106, 114, 122)]을 포함할 수 있다.
콘텐츠 항목들(1121)은 콘텐츠 제공자들에 의해 제공될 수 있다. 콘텐츠 제공자는 사용자, 회사, 조직 등일 수 있다. 콘텐츠 제공자는 비디오 광고들인 콘텐츠 항목들(1121)을 제공할 수 있다. 이하에서, 비디오 광고들을 제공하는 콘텐츠 제공자는 광고주라고 지칭된다. 예를 들어, 콘텐츠 항목(1121)은 자동차 광고주에 의해 제공되는 자동차에 대한 비디오 광고일 수 있다. 서비스 제공자는 예를 들어 서비스 제공자가 사용자에 의해 시청되도록 광고들을 사용자 디바이스(1110A-1110Z)에 제공할 때 광고주에게 요금을 청구할 수 있다.
사용자 디바이스들(1110A-1110Z)은 스마트 폰, 셀룰러 전화기, 개인 휴대 정보 단말기(PDA), 휴대용 미디어 플레이어, 넷북, 랩탑 컴퓨터, 전자 책 리더, 태블릿 컴퓨터, 데스크탑 컴퓨터, 셋톱 박스, 게임 콘솔, 텔레비전 등과 같은 디바이스들을 포함할 수 있다. 사용자 디바이스들(1110A-1110Z)은 클라이언트 디바이스들[예를 들어, 도 5의 클라이언트 디바이스(501)]일 수 있다.
개별 사용자 디바이스들(1110A-1110Z)은 통신 애플리케이션(1115)을 포함할 수 있다. 콘텐츠 항목(1121)은 통신 애플리케이션(1115), 인터넷 등을 통해 소비될 수 있다. 본 명세서에서 사용될 때, "미디어", "미디어 항목", "온라인 미디어 항목", "디지털 미디어", "디지털 미디어 항목", "콘텐츠" 및 "콘텐츠 항목"은 콘텐츠 항목을 프리젠테이션하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 사용하여 실행되거나 로딩될 수 있는 전자 파일을 포함할 수 있다. 일 구현예에서, 통신 애플리케이션들(1115)은 사용자들이 플랫폼[예를 들어, 콘텐츠 공유 플랫폼(1120), 추천 플랫폼(1157), 광고 플랫폼(1165), 모바일 플랫폼(1150), 소셜 네트워크 플랫폼(1160), 검색 플랫폼(1145), 협업 플랫폼(1155) 및 콘텐츠 제공자 플랫폼(1195)], 및/또는 플랫폼들 및/또는 네트워크들의 조합을 통해 콘텐츠 항목들(1121)(예를 들어, 비디오들)을 구성, 송신 및 수신하는 것을 허용하는 애플리케이션일 수 있다.
예를 들어, 통신 애플리케이션(1115)은 소셜 네트워킹 애플리케이션, 비디오 공유 애플리케이션, 비디오 스트리밍 애플리케이션, 주문형 비디오 애플리케이션, 사진 공유 애플리케이션, 채팅 애플리케이션, 콘텐츠 제공자의 모바일 애플리케이션 또는 이러한 애플리케이션들의 임의의 조합일 수 있다. 사용자 디바이스 내의 통신 애플리케이션(1115)은 하나 이상의 사용자에게 하나 이상의 콘텐츠 항목(1121)(예를 들어, 비디오)을 렌더링, 디스플레이 및/또는 프리젠테이션할 수 있다. 예를 들어, 통신 애플리케이션(1115)은 비디오들을 송신, 수신 및/또는 재생하기 위해 사용자 디바이스의 디스플레이에 렌더링될 하나 이상의 사용자 인터페이스(예를 들어, 그래픽 사용자 인터페이스)를 제공할 수 있다.
일 구현예에서, 개별 사용자 디바이스들(1110A-1110Z)은 콘텐츠 항목들(221)(예를 들어, 비디오)을 하나 이상의 사용자에게 렌더링, 디스플레이 및/또는 프리젠테이션하기 위한 콘텐츠 뷰어(1113)[예를 들어, 도 5의 애플리케이션(503)]를 포함한다. 일 구현예에서, 콘텐츠 뷰어(1113)는 애플리케이션[예를 들어, 통신 애플리케이션(1115)]에 임베드된다. 다른 구현예에서, 콘텐츠 뷰어(1113)는 사용자들이 비디오, 이미지, 문서(예를 들어, 웹 페이지) 등과 같은 콘텐츠 항목들(1121)을 소비(예를 들어, 재생, 디스플레이)하는 것을 허용하는 통신 애플리케이션(1115)과 같은 독립형 애플리케이션(예를 들어, 모바일 애플리케이션, 데스크탑 애플리케이션, 게임 콘솔 애플리케이션, 텔레비전 애플리케이션 등)일 수 있다. 예를 들어, 콘텐츠 뷰어(1113)는 플랫폼의 웹 서버에 의해 서빙되는 콘텐츠[예를 들어, HTML(Hyper Text Markup Language) 페이지와 같은 웹페이지들, 디지털 미디어 항목들 등]를 액세스, 검색, 프리젠테이션 및/또는 네비게이션할 수 있는 웹 브라우저일 수 있다. 다른 예에서, 콘텐츠 뷰어(1113)는 문서(예를 들어, 웹 페이지)에 임베드된 임베디드 미디어 플레이어(예를 들어, Flash® 플레이어 또는 HTML5 플레이어)를 디스플레이할 수 있다.
콘텐츠 뷰어들(1113)은 서버(1130) 및/또는 플랫폼에 의해 사용자 디바이스들(1110A-1110Z)에 제공될 수 있다. 예를 들어, 콘텐츠 뷰어들(1113)은 콘텐츠 공유 플랫폼(1120)에 의해 제공된 문서들(예를 들어, 웹 페이지들)에 임베드된 임베디드 미디어 플레이어일 수 있다. 다른 예에서, 콘텐츠 뷰어들(1113)은 플랫폼[예를 들어, 콘텐츠 공유 플랫폼(1120), 추천 플랫폼(1157), 광고 플랫폼(1165), 모바일 플랫폼(1150), 소셜 네트워크 플랫폼(1160), 검색 플랫폼(1145), 협업 플랫폼(1155) 및 콘텐츠 제공자 플랫폼(1195)]으로부터 다운로드되는 애플리케이션들일 수 있다. 다른 예에서, 콘텐츠 뷰어들(1113)은 사용자 디바이스들(1110A-1110Z)에 사전 설치된 독립형 애플리케이션들일 수 있다.
일 구현예에서, 개별 사용자 디바이스들(1110A-1110Z)은 커스텀 트랜지션 비디오들을 동적으로 생성하고 재생하기 위해 인터스티셜 컴포넌트(1114)[예를 들어, 도 5의 인터스티셜 컴포넌트(505)]를 포함한다. 일 구현예에서, 개별 사용자 디바이스들(1110A-1110Z)은 다음 비디오가 재생될 때까지의 기간(예를 들어, 7분)을 채우기 위해, 특정 사용자에 대한 비디오들의 커스텀 필러 플레이리스트를 동적으로 생성하기 위한 플레이리스트 컴포넌트(1112)[예를 들어, 도 5의 플레이리스트 컴포넌트(503)]를 포함한다.
콘텐츠 제공자 플랫폼(1195)은 서비스를 제공할 수 있고, 콘텐츠 제공자는 서비스 제공자일 수 있다. 예를 들어, 콘텐츠 제공자는 콘텐츠 제공자 플랫폼(1195)을 통해 사용자들이 사용자 디바이스들(1110A-1110Z) 상에서 비디오, TV 쇼, 비디오 클립, 오디오, 오디오 클립 및 영화를 재생하도록, 통신 애플리케이션(1115)을 통해 미디어 스트리밍 서비스를 제공하는 비디오 스트리밍 서비스 제공자일 수 있다.
소셜 네트워크 플랫폼(1160)은 온라인 소셜 네트워킹 서비스를 제공할 수 있다. 소셜 네트워크 플랫폼(1160)은 사용자들이 프로파일들을 생성하고 그들의 프로파일로 활동을 수행하도록 하기 위해 통신 애플리케이션(1115)을 제공할 수 있다. 활동은 프로파일링을 업데이트하는 것, 다른 사용자들과 메시지를 교환하는 것, 상태 업데이트, 사진, 비디오 등을 게시하여 다른 사용자들과 공유하는 것, 상태 업데이트, 사진, 비디오 등을 평가(예를 들어, 좋아요, 댓글, 공유, 추천)하는 것, 및 다른 사용자 활동에 대한 통지들을 수신하는 것을 포함할 수 있다.
모바일 플랫폼(1150)은 사용자들이 하나 이상의 모바일 디바이스(예를 들어, 전화, 태블릿 컴퓨터, 랩탑 컴퓨터, 웨어러블 컴퓨팅 디바이스 등) 및/또는 임의의 다른 적절한 디바이스를 사용하여 서로 연결, 정보 공유 및/또는 상호작용하는 것을 허용하기 위해 사용될 수 있는 하나 이상의 컴퓨팅 디바이스(예를 들어, 서버), 데이터 저장소, 네트워크(예를 들어, 전화 네트워크, 셀룰러 네트워크, 근거리 네트워크, 인터넷, 및/또는 네트워크들의 조합), 소프트웨어 컴포넌트, 및/또는 하드웨어 컴포넌트들일 수 있고/거나 그것들을 포함할 수 있다. 예를 들어, 모바일 플랫폼(1150)은 전화 통신, 단문 메시지 서비스(Short Message Service, SMS) 메시징, 멀티미디어 메시지 서비스(Multimedia Message Service, MMS) 메시징, 문자 채팅 및/또는 사용자들 사이의 임의의 다른 통신을 가능하게 할 수 있다. 모바일 플랫폼(1150)은 화상 메시징, 화상 채팅 및/또는 화상 회의를 통한 사용자 통신을 지원할 수 있다.
협업 플랫폼(1155)은 예를 들어 스트리밍 비디오 또는 VoIP(Voice over IP)기술, 셀룰러 기술, LAN 및/또는 WAN 기술을 사용하여 [예를 들어, 디바이스들(1110A-1110Z)의 사용자들 사이의) 화상 채팅, 화상 메시징, 및 오디오 및/또는 화상 회의와 같은 협업 서비스를 가능하게 할 수 있고, 개인, 엔터테인먼트, 비즈니스, 교육 또는 학술 지향의 상호작용을 위해 사용될 수 있다.
추천 플랫폼(1157)은 콘텐츠 추천(예를 들어, 기사, 비디오, 게시물, 뉴스, 게임 등)을 생성하고 제공하기 위해 사용될 수 있는 하나 이상의 컴퓨팅 디바이스(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소(예를 들어, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트, 및/또는 하드웨어 컴포넌트들일 수 있다. 추천 플랫폼(1157)은 하나 이상의 추천 서버[예를 들어, 도 5의 추천 서버(517)]를 포함할 수 있다.
검색 플랫폼(1145)은 사용자들이 하나 이상의 데이터 저장소(206) 및/또는 하나 이상의 플랫폼에 질의하고 질의 결과들을 수신하는 것을 허용하기 위해 사용될 수 있는 하나 이상의 컴퓨팅 디바이스(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소(예를 들어, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트, 및/또는 하드웨어 컴포넌트들일 수 있다.
광고 플랫폼(1165)은 비디오 광고를 제공하기 위해 사용될 수 있는 하나 이상의 컴퓨팅 디바이스(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소(예를 들어, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트, 및/또는 하드웨어 컴포넌트들일 수 있다.
콘텐츠 공유 플랫폼(1120)은 하나 이상의 사용자에게 콘텐츠 항목들(1121)에 대한 액세스를 제공하고/하거나 하나 이상의 사용자에게 콘텐츠 항목들(1121)을 제공하기 위해 사용될 수 있는 하나 이상의 컴퓨팅 디바이스(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소(예를 들어, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트, 및/또는 하드웨어 컴포넌트들일 수 있다. 예를 들어, 콘텐츠 공유 플랫폼(1120)은 사용자들이 콘텐츠 항목들(1121)을 소비, 업로드, 다운로드 및/또는 검색하도록 허용할 수 있다. 다른 예에서, 콘텐츠 공유 플랫폼(1120)은 사용자들이 콘텐츠 항목들(1121)에 대한 승인("좋아요"), 싫어요, 추천, 공유, 등급, 및/또는 댓글과 같이, 콘텐츠 항목들(1121)을 평가하는 것을 허용할 수 있다. 다른 예에서, 콘텐츠 공유 플랫폼(1120)은 사용자들이 콘텐츠 항목들(1121)을 편집하는 것을 허용할 수 있다. 콘텐츠 공유 플랫폼(1120)은 또한 하나 이상의 사용자에게, 예를 들어 사용자 디바이스들(1110A-1110Z)을 통해 콘텐츠 항목들(1121)에 대한 액세스를 제공하기 위해 사용될 수 있는 웹사이트(예를 들어, 하나 이상의 웹 페이지) 및/또는 하나 이상의 애플리케이션[예를 들어, 통신 애플리케이션(1115)]를 포함할 수 있다. 콘텐츠 공유 플랫폼(1120)은 콘텐츠 항목들(1121)에 대한 액세스를 제공하는 임의의 타입의 콘텐츠 전달 네트워크를 포함할 수 있다.
콘텐츠 공유 플랫폼(1120)은 복수의 채널[예를 들어, 채널 A(1125) 내지 채널 Z(1129)]을 포함할 수 있다. 채널은 공통 소스로부터 입수가능한 데이터 콘텐츠, 또는 공통 주제 또는 테마를 갖는 데이터 콘텐츠일 수 있다. 데이터 콘텐츠는 사용자에 의해 선택된 디지털 콘텐츠, 사용자에 의해 이용가능하게 된 디지털 콘텐츠, 사용자에 의해 업로드된 디지털 콘텐츠, 콘텐츠 제공자에 의해 선택된 디지털 콘텐츠, 방송국에 의해 선택된 디지털 콘텐츠 등일 수 있다. 예를 들어, 채널 A(1125)는 비디오 Y 및 Z를 포함할 수 있다. 채널은 채널에 대한 액션들을 수행할 수 있는 사용자인 소유자에 연관될 수 있다. 데이터 콘텐츠는 하나 이상의 콘텐츠 항목(1121)일 수 있다. 콘텐츠 공유 플랫폼의 하나의 구현예로서 채널들이 기술되어 있지만, 본 개시내용의 구현예들은 채널 모델을 통해 콘텐츠 항목들(1121)을 제공하는 콘텐츠 공유 플랫폼들로 제한되지 않는다.
설명의 간략화를 위해, 본 개시내용의 방법들은 일련의 동작들로서 도시되고 설명된다. 그러나, 본 개시내용에 따른 동작들은 다양한 순서로 및/또는 동시에, 그리고 본 명세서에 제시되고 설명되지 않은 다른 동작들과 함께 발생할 수 있다. 또한, 개시된 주제에 따른 방법들을 구현하기 위해, 도시된 모든 동작이 요구되는 것은 아닐 수 있다. 추가적으로, 본 기술분야의 통상의 기술자는 방법들이 상태도를 통한 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있음을 이해하고 인식할 것이다. 추가적으로, 본 명세서에 개시된 방법들은 그러한 방법들을 컴퓨팅 디바이스들에 전송 및 전달하는 것을 용이하게 하기 위해 제조 물품 상에 저장될 수 있음을 이해해야 한다. 본 명세서에서 사용될 때, "제조 물품"이라는 용어는 임의의 컴퓨터 판독가능한 디바이스 또는 저장 매체로부터 액세스가능한 컴퓨터 프로그램을 포괄하도록 의도된다.
도 12는 컴퓨터 시스템(1200)의 예시적인 형태로 된 머신의 도면을 도시하며, 이 머신 내에서 본 개시내용의 일 구현예에 따라 머신으로 하여금 본 명세서에서 논의된 방법론들 중 어느 하나 이상을 수행하게 하기 위한 명령어들의 세트가 실행될 수 있다. 컴퓨터 시스템(1200)은 도 5의 클라이언트 디바이스(501)일 수 있다. 머신은 클라이언트-서버 네트워크 환경 내의 클라이언트 머신의 용량 내에서, 또는 피어-투-피어(또는 분산) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신은 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 정보 단말기(PDA), 셀룰러 전화기, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 그 머신에 의해 취해질 조치들을 지정하는 명령어들의 세트(순차적 또는 기타)를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일 머신만이 도시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들의 세트(또는 복수의 세트)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 컬렉션을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨터 시스템(1200)은 버스(1230)를 통해 서로 통신하는 처리 디바이스(프로세서)(1202), 메인 메모리(1204)[예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기 DRAM(SDRAM), 더블 데이터 레이트(DDR SDRAM) 또는 DRAM(RDRAM) 등과 같은 동적 랜덤 액세스 메모리(DRAM)], 정적 메모리(1206)[예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등], 및 데이터 저장 디바이스(1218)를 포함한다.
프로세서(처리 디바이스)(1202)는 마이크로프로세서, 중앙 처리 장치, 또는 그와 유사한 것과 같은 하나 이상의 범용 처리 디바이스를 표현한다. 더 구체적으로, 프로세서(1202)는 복합 명령어 세트 컴퓨팅(complex instruction set computing, CISC) 마이크로프로세서, 축소 명령어 세트 컴퓨팅(reduced instruction set computing, RISC) 마이크로프로세서, 매우 긴 명령어 워드(very long instruction word, VLIW) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(1202)는 또한 주문형 집적 회로(application specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array, FPGA), 디지털 신호 프로세서(Digital Signal Processor, DSP), 네트워크 프로세서, 또는 그와 유사한 것 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 프로세서(1202)는 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령어들(1222)을 실행하도록 구성된다.
컴퓨터 시스템(1200)은 네트워크 인터페이스 디바이스(1208)를 더 포함할 수 있다. 컴퓨터 시스템(1200)은 또한 비디오 디스플레이 유닛(1210)[예를 들어, 액정 디스플레이(LCD) 또는 음극선 관(CRT)], 입력 디바이스(1212)(예를 들어, 키보드 및 영숫자 키보드, 모션 감지 입력 디바이스, 터치 스크린), 커서 제어 디바이스(1214)(예를 들어, 마우스) 및 신호 생성 디바이스(1216)(예를 들어, 스피커)를 포함할 수 있다.
데이터 저장 디바이스(1218)는 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 하나 이상의 명령어 세트(1222)(예를 들어, 소프트웨어)가 저장되는 비일시적 컴퓨터 판독가능한 저장 매체(1228)를 포함할 수 있다. 명령어들(1222)은 또한 컴퓨터 시스템(1200)에 의한 실행 동안 메인 메모리(1204) 내에 및/또는 프로세서(1202) 내에 완전하게 또는 적어도 부분적으로 상주할 수 있고, 메인 메모리(1204) 및 프로세서(1202)도 컴퓨터 판독가능한 저장 매체를 구성한다. 명령어들(1222)은 네트워크 인터페이스 디바이스(1208)를 경유하여 네트워크(1220)를 통해 더 전송되거나 수신될 수 있다.
일 구현예에서, 명령어들(1222)은 인터스티셜 컴포넌트[예를 들어, 도 5의 인터스티셜 컴포넌트(505)]에 대한 명령어들, 및/또는 인터스티셜 컴포넌트를 호출하는 메소드들을 포함하는 소프트웨어 라이브러리를 포함한다. 일 구현예에서, 명령어들(1222)은 플레이리스트 컴포넌트[예를 들어, 도 5의 플레이리스트 컴포넌트(506)] 및/또는 플레이리스트 컴포넌트를 호출하는 메소드들을 포함하는 소프트웨어 라이브러리에 대한 명령어들을 포함한다. 컴퓨터 판독가능한 저장 매체(1228)(머신 판독가능한 저장 매체)는 예시적인 구현예에서 단일 매체인 것으로 도시되어 있지만, "컴퓨터 판독가능한 저장 매체"라는 용어는 하나 이상의 명령어 세트를 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 간주되어야 한다. "컴퓨터 판독가능한 저장 매체"라는 용어는 또한 머신에 의한 실행을 위한 명령어 세트를 저장, 인코딩 또는 운반할 수 있고, 머신이 본 개시내용의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. "컴퓨터 판독가능한 저장 매체"라는 용어는 이에 따라 고체 상태 메모리, 광학 매체, 및 자기 매체를 포함하지만 이에 제한되지는 않는 것으로 간주되어야 한다.
상술한 설명에서, 많은 세부사항이 제시된다. 그러나, 본 개시내용의 혜택을 받는 본 기술분야의 통상의 기술자에게는 본 개시내용이 이러한 특정 세부사항들 없이도 실시될 수 있음이 명백할 것이다. 일부 사례들에서, 잘 알려진 구조물들 및 디바이스들은 본 개시내용을 모호하게 하는 것을 피하기 위해, 상세하게 보여지지 않고 블록도 형태로 보여진다.
상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘 및 기호적 표현들의 관점에서 제시되었다. 이러한 알고리즘적 설명들 및 표현들은 데이터 처리 기술분야의 통상의 기술자들이 그 기술분야의 다른 통상의 기술자들에게 그들의 작업 내용을 가장 효과적으로 전달하는 데에 사용되는 수단이다. 여기서 알고리즘은 일반적으로, 요구되는 결과를 도출하는 단계들의 자체 일관된 시퀀스인 것으로 생각된다. 단계들은 물리적 수량들의 물리적 조작을 요구하는 것들이다. 통상적으로, 반드시 그런 것은 아니지만, 이러한 수량들은 저장, 전송, 결합, 비교 및 다르게 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 때로는 일반적인 사용의 이유로, 이러한 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 숫자들, 또는 그와 유사한 것으로서 지칭하는 것이 편리한 것으로 입증되었다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리적 수량들과 연관되어야 하고 이러한 수량들에 적용되는 편리한 라벨일 뿐임을 명심해야 한다. 이하의 논의로부터 명백하게 달리 명시되지 않는 한, 설명 전반에 걸쳐, "수신", "결정", "채우기", "동기화", "재생", "선택", "생성", 또는 그와 유사한 것과 같은 용어들을 이용한 논의는 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(예를 들어, 전자적) 수량으로 표현된 데이터를 조작하여, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적 수량들로서 유사하게 표현되는 다른 데이터로 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작들 및 프로세스들을 지칭한다.
설명의 단순화를 위해, 방법들은 일련의 동작들로서 본 명세서에 도시되고 설명된다. 그러나, 본 개시내용에 따른 동작들은 다양한 순서들로 및/또는 동시에, 그리고 본 명세서에 제시되고 설명되지 않은 다른 동작들과 함께 발생할 수 있다. 또한, 개시된 주제에 따른 방법들을 구현하기 위해 도시된 모든 동작들이 요구되는 것은 아닐 수 있다. 추가적으로, 본 기술분야의 통상의 기술자들은 방법들이 상태도를 통한 일련의 상호관련된 상태들 또는 이벤트들로 대안적으로 표현될 수 있음을 이해하고 인식할 것이다. 추가적으로, 본 명세서에 개시된 방법들은 그러한 방법들을 컴퓨팅 디바이스들에 전송 및 전달하는 것을 용이하게 하기 위해 제조 물품 상에 저장될 수 있음을 알아야 한다. 본 명세서에서 사용될 때, "제조 물품"이라는 용어는 임의의 컴퓨터 판독가능한 디바이스 또는 저장 매체로부터 액세스가능한 컴퓨터 프로그램을 포괄하도록 의도된다.
본 개시내용의 특정 구현예들은 또한 본 명세서에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 의도된 목적들을 위해 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크, 광학 디스크, CD-ROM 및 자기-광학 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드를 포함하는 임의의 타입의 디스크, 또는 전자 명령어들을 저장하기에 적합한 임의의 타입의 매체와 같은, 그러나 그에 제한되지는 않은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
본 명세서 전체에서 "일 구현예" 또는 "구현예"에 대한 언급은 그 구현예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 적어도 하나의 구현예에 포함됨을 의미한다. 따라서, 본 명세서 전체의 다양한 장소들에서 "일 구현예에서" 또는 "구현예에서"라는 문구의 출현이 반드시 모두 동일한 구현예를 지칭하는 것은 아니다. 추가적으로, 용어 "또는"은 배타적인 "또는"이 아니라 포괄적인 "또는"을 의미하는 것으로 의도된다. 더욱이, "예" 또는 "예시적인"이라는 단어는 본 명세서에서 예, 사례 또는 실례의 역할을 함을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 것으로 설명된 임의의 양태 또는 설계는 반드시 다른 양태들 또는 설계들보다 바람직하거나 유리한 것으로 해석되어서는 안 된다. 오히려, "예" 또는 "예시적인"이라는 단어의 사용은 개념들을 구체적인 방식으로 제시하도록 의도된 것이다.
상기 설명은 제한이 아니라 예시로 의도된 것임이 이해되어야 한다. 상술한 설명을 읽고 이해하면, 본 기술분야의 통상의 기술자들에게 다수의 다른 구현이 명백할 것이다. 그러므로, 본 개시내용의 범위는 첨부된 청구항들을, 그러한 청구항들에 부여되는 등가물의 전체 범위와 함께 참조하여 결정되어야 한다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 개인 정보를 이용할 수 있는 상황들에서, 사용자들은 프로그램들 또는 피쳐들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위들 또는 활동들, 직업, 사용자의 선호도들, 또는 사용자의 현재 위치에 관한 정보)를 수집할지 여부를 제어하거나, 사용자에게 더 관련이 있을 수 있는 콘텐츠 서버로부터 콘텐츠를 수신할지 여부 및/또는 그를 위한 방법을 제어하기 위한 기회를 제공받을 수 있다. 추가적으로, 특정 데이터는 개인 식별 정보가 제거되도록 저장 또는 사용 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대한 개인 식별 정보가 결정되지 못하도록 처리될 수 있거나, 위치 정보가 획득되는 사용자의 지리적 위치가 (예컨대, 도시, 우편 번호, 또는 주 수준으로) 일반화될 수 있고, 그에 의해 사용자의 특정 위치가 결정될 수 없게 된다. 따라서, 사용자는 사용자에 관한 정보가 수집되고 콘텐츠 서버에 의해 사용되는 방법에 대한 제어권을 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 개인 정보를 이용할 수 있는 상황들에서, 사용자들은 프로그램들 또는 피쳐들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위들 또는 활동들, 직업, 사용자의 선호도들, 또는 사용자의 현재 위치에 관한 정보)를 수집할지 여부를 제어하거나, 사용자에게 더 관련이 있을 수 있는 콘텐츠 서버로부터 콘텐츠를 수신할지 여부 및/또는 그를 위한 방법을 제어하기 위한 기회를 제공받을 수 있다. 추가적으로, 특정 데이터는 개인 식별 정보가 제거되도록 저장 또는 사용 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대한 개인 식별 정보가 결정되지 못하도록 처리될 수 있거나, 위치 정보가 획득되는 사용자의 지리적 위치가 (예컨대, 도시, 우편 번호, 또는 주 수준으로) 일반화될 수 있고, 그에 의해 사용자의 특정 위치가 결정될 수 없게 된다. 따라서, 사용자는 사용자에 관한 정보가 수집되고 콘텐츠 서버에 의해 사용되는 방법에 대한 제어권을 가질 수 있다.
일 구현예에서, 필러 플레이리스트 내의 비디오가 부분적으로만 재생되는 경우, 클라이언트 디바이스는 필러 플레이리스트 내의 비디오 세트를 업데이트한다. 예를 들어, 사용자가 비디오를 정지했기 때문에 3분 비디오의 0.5분만이 재생되는 경우, 처리 디바이스는 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양을 재계산하고, 재계산에 기초하여 필러 플레이리스트 내의 비디오 세트를 수정한다.
커스텀 인터스티셜 트랜지션 비디오를 동적으로 제공하기 위한 장치가 또한 설명된다. 일 구현예에서, 장치는 클라이언트 디바이스에 의해 재생될 기본 비디오를 수신하기 위한 수단을 포함한다. 기본 비디오는 메타데이터 항목들의 세트와 오버레이되도록 예약된 기본 비디오의 프레임들 내의 영역을 포함한다. 장치는 클라이언트 디바이스에 의해, 특정 사용자에 대해 다음에 재생될 제1 비디오 세트를 결정하기 위한 수단을 포함한다. 제1 비디오 세트의 선택은 특정 사용자에 연관된 제2 비디오 세트에 기초한다.
장치는 클라이언트 디바이스에 의해 서버로부터 제1 비디오 세트에 대한 메타데이터 콘텐츠를 수신하기 위한 수단, 및 클라이언트 디바이스에 의해 제1 비디오 세트에 대한 메타데이터 콘텐츠로부터 추출된 메타데이터 항목들의 세트로 기본 비디오에 대한 실행가능한 프리젠테이션 템플릿을 채우기 위한 수단을 포함한다.
장치는 클라이언트 디바이스에 의해, 클라이언트 디바이스에 연결된 디스플레이 상에서 기본 비디오를 재생하기 위한 수단, 및 기본 비디오의 프레임의 예약된 영역을 메타데이터 항목들의 세트와 오버레이하기 위해, 클라이언트 디바이스에 의해, 채워진 프리젠테이션 템플릿의 실행을 디스플레이 상에서의 기본 비디오의 재생과 동기화하기 위한 수단을 포함한다. 동기화는 다음에 재생될 제1 비디오 세트에 관해 특정 사용자에게 알리는 커스텀 인터스티셜 트랜지션 비디오를 생성한다.
채워진 프리젠테이션 템플릿의 실행은 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션을 야기하고, 디스플레이 상에서 재생되는 기본 비디오의 프레임들의 예약된 영역은 메타데이터 항목들의 세트 내의 하나 이상의 개별 메타데이터 항목의 애니메이션과 오버레이된다. 장치는 기본 비디오에 대한 타임 코드들의 세트를 수신하기 위한 수단을 포함한다. 타임 코드들은 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행하기 위한 하나 이상의 시점을 지정하고, 타임 코드들의 세트에 따라, 클라이언트 디바이스에 연결된 디스플레이 상에서 메타데이터 항목들의 세트 내의 각각의 메타데이터 항목의 애니메이션을 실행하기 위한 수단이 더 제공된다. 타임 코드들의 세트는 디스플레이 상에서 각각의 메타데이터 항목에 대한 제1 타입의 애니메이션을 실행하기 위한 제1 시점, 및 디스플레이 상에서 각각의 메타데이터 항목에 대한 제2 타입의 애니메이션을 실행하기 위한 제2 시점을 포함한다.
장치는 클라이언트 디바이스에 연결된 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하기 위한 구성 파라미터들을 수신하기 위한 수단을 포함한다. 구성 파라미터들은 폰트 스타일, 폰트 크기, 폰트 컬러, 텍스트 위치, 또는 애니메이션의 타입 중 적어도 하나를 포함한다. 장치는 구성 파라미터들에 기초하여, 디스플레이 상에서 채워진 프리젠테이션 템플릿 내의 메타데이터 항목들을 디스플레이하기 위한 수단을 포함한다.
일 구현예에서, 메타데이터 항목들의 세트는 제1 비디오 세트 내의 각각의 비디오들에 대한 타이틀, 작성자, 채널, 하나 이상의 키워드, 또는 제1 비디오 세트 내의 각각의 비디오들에 대한 통계 중 적어도 하나를 포함한다.
일 구현예에서, 장치는 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정하고, 추천 서버로부터, 복수의 추천 비디오에 대한 시간 데이터를 수신하고, 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이를 결정하고, 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이, 및 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 시간의 양에 기초하여, 복수의 추천 비디오 내의 하나 이상의 비디오를 선택하기 위한 수단을 포함한다.
일 구현예에서, 장치는 제1 비디오 세트를 포함하는 필러 플레이리스트를 생성하기 위한 수단을 포함한다. 필러 플레이리스트는 현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지 재생된다. 장치는 필러 플레이리스트 내의 비디오들의 재생 중간에 커스텀 인터스티셜 트랜지션 비디오를 재생하기 위한 수단을 포함한다.

Claims (20)

  1. 방법으로서,
    사용자의 클라이언트 디바이스에 의해, 비디오 스트리밍 서비스의 서버로부터 기본 미디어 항목을 수신하는 단계 - 상기 기본 미디어 항목은 디스플레이 영역을 포함하고, 상기 디스플레이 영역은 상기 클라이언트 디바이스 상에서 재생될 제1 비디오와 상기 클라이언트 디바이스 상에서 다음에 재생될 적어도 하나의 제2 비디오 간의 트랜지션(transition)을 제공하기 위해 상기 사용자에 대해 커스터마이즈되고, 상기 기본 미디어 항목은 다음에 재생될 상기 제2 비디오에 대한 정보가 초기에 없으며, 상기 제1 비디오 및 상기 적어도 하나의 제2 비디오는 비디오 시리즈 내에서 순차적으로 관련됨 - ;
    상기 클라이언트 디바이스에 의해, 상기 클라이언트 디바이스에 연결된 디스플레이 상에서 상기 제1 비디오를 재생하는 단계;
    상기 제1 비디오의 재생 중에, 상기 기본 미디어 항목의 상기 디스플레이 영역을 자동으로 커스터마이즈하여 상기 기본 미디어 항목을 다음에 재생될 상기 제2 비디오에 대한 정보를 나타내는 커스텀 트랜지션 미디어 항목(custom transition media item)으로 변환하는 단계 - 상기 디스플레이 영역을 커스터마이즈하는 단계는:
    상기 클라이언트 디바이스에 의해, 상기 비디오 시리즈에 기초하여 상기 사용자에 대해 다음에 재생될 상기 제2 비디오를 결정하는 단계; 및
    상기 클라이언트 디바이스에 의해, 다음에 재생될 상기 제2 비디오에 대한 정보를 포함하는 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 단계
    를 포함함 - ;
    상기 서버로부터 상기 제2 비디오를 수신하는 단계; 및
    상기 서버로부터 수신된 상기 제2 비디오를 재생하기 전에 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 단계 - 상기 커스터마이즈된 디스플레이 영역은 상기 제2 비디오에 대한 정보를 포함하는 상기 메타데이터 콘텐츠와 오버레이됨 -
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 디스플레이 영역을 커스터마이즈하는 것은, 상기 사용자에 대해 상기 제2 비디오 후에 재생될 제3 비디오를 결정하고 상기 제2 비디오 후에 재생될 상기 제3 비디오에 대한 정보를 포함하는 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 것을 더 포함하고, 상기 제3 비디오는 상기 비디오 시리즈에 기초하는, 방법.
  3. 제1항에 있어서, 상기 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 단계는:
    상기 기본 미디어 항목에 대한 실행가능한 프리젠테이션 템플릿을 상기 메타데이터 콘텐츠로 채우는 단계
    를 포함하는, 방법.
  4. 제3항에 있어서, 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 단계는:
    상기 클라이언트 디바이스에 의해, 상기 채워진 실행가능한 프리젠테이션 템플릿의 실행을 상기 디스플레이 상에서 상기 기본 미디어 항목의 제시와 동기화하여 상기 기본 미디어 항목의 상기 커스터마이즈된 디스플레이 영역을 상기 메타데이터 콘텐츠와 오버레이하는 단계 - 상기 동기화는 상기 사용자에게 다음에 재생될 상기 제2 비디오에 대해 알리는 커스텀 인터스티셜 트랜지션 미디어 항목(custom interstitial transition media item)을 생성함 -
    를 포함하는, 방법.
  5. 제4항에 있어서, 상기 채워진 실행가능한 프리젠테이션 템플릿의 실행은 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 메타데이터 콘텐츠의 애니메이션을 야기하고, 상기 기본 미디어 항목의 상기 디스플레이 영역은 상기 메타데이터 콘텐츠의 상기 애니메이션과 오버레이되는, 방법.
  6. 제1항에 있어서,
    상기 기본 미디어 항목의 상기 디스플레이 영역에서 상기 메타데이터 콘텐츠를 디스플레이하기 위한 구성 파라미터들을 수신하는 단계 - 상기 구성 파라미터들은 폰트 스타일, 폰트 크기, 폰트 컬러, 텍스트 위치, 또는 애니메이션의 타입 중 적어도 하나를 포함함 - ; 및
    상기 구성 파라미터들에 기초하여, 상기 기본 미디어 항목의 상기 디스플레이 영역에서 상기 메타데이터 콘텐츠를 디스플레이하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 제2 비디오를 결정하는 단계는:
    현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정하는 단계;
    추천 서버로부터, 복수의 추천 비디오에 대한 시간 데이터를 수신하는 단계;
    상기 복수의 추천 비디오 내의 각각의 비디오들에 대한 그리고 상기 기본 미디어 항목에 대한 시간 길이를 결정하는 단계; 및
    상기 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이, 및 상기 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 상기 시간의 양에 기초하여, 상기 복수의 추천 비디오로부터 상기 제2 비디오를 선택하는 단계 - 상기 제2 비디오의 시간 길이는 상기 현재 시점으로부터 상기 다음 스케줄링된 비디오의 시작까지의 시간의 양에서 상기 기본 미디어 항목의 시간 길이를 뺀 것보다 크지 않음 -
    를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제2 비디오를 포함하는 필러 플레이리스트(filler playlist)를 생성하는 단계 - 상기 필러 플레이리스트는 상기 현재 시점으로부터 상기 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지 재생됨 - ; 및
    상기 필러 플레이리스트 내의 비디오들의 재생 중간에 상기 커스텀 트랜지션 미디어 항목을 제시하는 단계
    를 더 포함하는 방법.
  9. 제7항에 있어서, 상기 제1 비디오는 상기 미리 정의된 비디오 스케줄 내의 스케줄링된 비디오인, 방법.
  10. 사용자의 클라이언트 디바이스를 위한 시스템으로서,
    메모리 및
    상기 메모리에 연결되고 동작들을 수행하는 처리 디바이스를 포함하고, 상기 동작들은:
    비디오 스트리밍 서비스의 서버로부터 기본 미디어 항목을 수신하는 동작 - 상기 기본 미디어 항목은 디스플레이 영역을 포함하고, 상기 디스플레이 영역은 상기 클라이언트 디바이스 상에서 재생될 제1 비디오와 상기 클라이언트 디바이스 상에서 다음에 재생될 적어도 하나의 제2 비디오 간의 트랜지션을 제공하기 위해 상기 사용자에 대해 커스터마이즈되고, 상기 기본 미디어 항목은 다음에 재생될 상기 제2 비디오에 대한 정보가 초기에 없으며, 상기 제1 비디오 및 상기 적어도 하나의 제2 비디오는 비디오 시리즈 내에서 순차적으로 관련됨 - ;
    상기 클라이언트 디바이스에 연결된 디스플레이 상에서 상기 제1 비디오를 재생하는 동작;
    상기 제1 비디오의 재생 중에, 상기 기본 미디어 항목의 상기 디스플레이 영역을 자동으로 커스터마이즈하여 상기 기본 미디어 항목을 다음에 재생될 상기 제2 비디오에 대한 정보를 나타내는 커스텀 트랜지션 미디어 항목으로 변환하는 동작 - 상기 디스플레이 영역을 커스터마이즈하는 동작은:
    상기 비디오 시리즈에 기초하여 상기 사용자에 대해 다음에 재생될 상기 제2 비디오를 결정하는 동작; 및
    다음에 재생될 상기 제2 비디오에 대한 정보를 포함하는 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 동작
    을 포함함 - ;
    상기 서버로부터 상기 제2 비디오를 수신하는 동작; 및
    상기 서버로부터 수신된 상기 제2 비디오를 재생하기 전에 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 동작 - 상기 커스터마이즈된 디스플레이 영역은 상기 제2 비디오에 대한 정보를 포함하는 상기 메타데이터 콘텐츠와 오버레이됨 -
    을 포함하는, 시스템.
  11. 제10항에 있어서, 상기 사용자에 대해 다음에 재생될 상기 제2 비디오는 상기 사용자와 연관된 비디오들의 세트에 기초하여 선택되는, 시스템.
  12. 제10항에 있어서, 상기 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 동작은:
    상기 기본 미디어 항목에 대한 실행가능한 프리젠테이션 템플릿을 상기 메타데이터 콘텐츠로 채우는 동작
    을 포함하는, 시스템.
  13. 제12항에 있어서, 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 동작은:
    상기 클라이언트 디바이스에 의해, 상기 채워진 실행가능한 프리젠테이션 템플릿의 실행을 상기 디스플레이 상에서 상기 기본 미디어 항목의 재생과 동기화하여 상기 기본 미디어 항목의 상기 커스터마이즈된 디스플레이 영역을 상기 메타데이터 콘텐츠와 오버레이하는 동작 - 상기 동기화는 상기 사용자에게 다음에 재생될 상기 제2 비디오에 대해 알리는 커스텀 인터스티셜 트랜지션 미디어 항목을 생성함 -
    을 포함하는, 시스템.
  14. 제13항에 있어서, 상기 채워진 실행가능한 프리젠테이션 템플릿의 실행은 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 메타데이터 콘텐츠의 애니메이션을 야기하고, 상기 기본 미디어 항목의 상기 디스플레이 영역은 상기 메타데이터 콘텐츠의 상기 애니메이션과 오버레이되는, 시스템.
  15. 제10항에 있어서, 상기 제2 비디오를 결정하는 동작은:
    현재 시점으로부터 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지의 시간의 양을 결정하는 동작;
    추천 서버로부터, 복수의 추천 비디오에 대한 시간 데이터를 수신하는 동작;
    상기 복수의 추천 비디오 내의 각각의 비디오들과 상기 기본 미디어 항목에 대한 시간 길이를 결정하는 동작; 및
    상기 복수의 추천 비디오 내의 각각의 비디오들에 대한 시간 길이, 및 상기 현재 시점으로부터 다음 스케줄링된 비디오의 시작까지의 상기 시간의 양에 기초하여, 상기 복수의 추천 비디오로부터 상기 제2 비디오를 선택하는 동작 - 상기 제2 비디오의 시간 길이는 상기 현재 시점으로부터 상기 다음 스케줄링된 비디오의 시작까지의 시간의 양에서 상기 기본 미디어 항목의 시간 길이를 뺀 것보다 크지 않음 -
    을 포함하는, 시스템.
  16. 제15항에 있어서, 상기 동작들은,
    상기 제2 비디오를 포함하는 필러 플레이리스트를 생성하는 동작 - 상기 필러 플레이리스트는 상기 현재 시점으로부터 상기 미리 정의된 비디오 스케줄 내의 다음 스케줄링된 비디오의 시작까지 재생됨 - ; 및
    상기 필러 플레이리스트 내의 비디오들의 재생 중간에 상기 커스텀 트랜지션 미디어 항목을 제시하는 동작
    을 더 포함하는 시스템.
  17. 명령어들이 저장된 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 사용자의 클라이언트 디바이스의 처리 디바이스에 의해 실행될 때, 상기 처리 디바이스로 하여금 동작들을 수행하게 하고, 상기 동작들은:
    비디오 스트리밍 서비스의 서버로부터 기본 미디어 항목을 수신하는 동작 - 상기 기본 미디어 항목은 디스플레이 영역을 포함하고, 상기 디스플레이 영역은 상기 클라이언트 디바이스 상에서 재생될 제1 비디오와 상기 클라이언트 디바이스 상에서 다음에 재생될 적어도 하나의 제2 비디오 간의 트랜지션을 제공하기 위해 상기 사용자에 대해 커스터마이즈되고, 상기 기본 미디어 항목은 다음에 재생될 상기 제2 비디오에 대한 정보가 초기에 없으며, 상기 제1 비디오 및 상기 적어도 하나의 제2 비디오는 비디오 시리즈 내에서 순차적으로 관련됨 - ;
    상기 클라이언트 디바이스에 연결된 디스플레이 상에서 상기 제1 비디오를 재생하는 동작;
    상기 제1 비디오의 재생 중에, 상기 기본 미디어 항목의 상기 디스플레이 영역을 자동으로 커스터마이즈하여 상기 기본 미디어 항목을 다음에 재생될 상기 제2 비디오에 대한 정보를 나타내는 커스텀 트랜지션 미디어 항목으로 변환하는 동작 - 상기 디스플레이 영역을 커스터마이즈하는 동작은:
    상기 비디오 시리즈에 기초하여 상기 사용자에 대해 다음에 재생될 상기 제2 비디오를 결정하는 동작; 및
    다음에 재생될 상기 제2 비디오에 대한 정보를 포함하는 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 동작
    을 포함함 - ;
    상기 서버로부터 상기 제2 비디오를 수신하는 동작; 및
    상기 서버로부터 수신된 상기 제2 비디오를 재생하기 전에 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 동작 - 상기 커스터마이즈된 디스플레이 영역은 상기 제2 비디오에 대한 정보를 포함하는 상기 메타데이터 콘텐츠와 오버레이됨 -
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제17항에 있어서, 상기 사용자에 대해 다음에 재생될 상기 제2 비디오는 상기 사용자와 연관된 비디오들의 세트에 기초하여 선택되는, 비일시적 컴퓨터 판독가능 매체.
  19. 제17항에 있어서, 상기 메타데이터 콘텐츠로 상기 기본 미디어 항목의 상기 디스플레이 영역을 채우는 동작은:
    상기 기본 미디어 항목에 대한 실행가능한 프리젠테이션 템플릿을 상기 메타데이터 콘텐츠로 채우는 동작
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  20. 제19항에 있어서, 상기 클라이언트 디바이스에 연결된 상기 디스플레이 상에서 상기 기본 미디어 항목을 상기 커스터마이즈된 디스플레이 영역으로 제시하는 동작은:
    상기 클라이언트 디바이스에 의해, 상기 채워진 실행가능한 프리젠테이션 템플릿의 실행을 상기 디스플레이 상에서 상기 기본 미디어 항목의 재생과 동기화하여 상기 기본 미디어 항목의 상기 커스터마이즈된 디스플레이 영역을 상기 메타데이터 콘텐츠와 오버레이하는 동작 - 상기 동기화는 상기 사용자에게 다음에 재생될 상기 제2 비디오에 대해 알리는 커스텀 인터스티셜 트랜지션 미디어 항목을 생성함 -
    을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020217031190A 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들 KR102420887B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227023756A KR20220103816A (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/629,618 2017-06-21
US15/629,618 US10694223B2 (en) 2017-06-21 2017-06-21 Dynamic custom interstitial transition videos for video streaming services
PCT/US2018/025532 WO2018236452A1 (en) 2017-06-21 2018-03-30 DYNAMIC CUSTOMIZED INTERSTITIAL TRANSITION VIDEOS FOR VIDEO CONTINUOUS BROADCAST SERVICES
KR1020197032169A KR102308840B1 (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032169A Division KR102308840B1 (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023756A Division KR20220103816A (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Publications (2)

Publication Number Publication Date
KR20210120143A KR20210120143A (ko) 2021-10-06
KR102420887B1 true KR102420887B1 (ko) 2022-07-15

Family

ID=62028133

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227023756A KR20220103816A (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들
KR1020197032169A KR102308840B1 (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들
KR1020217031190A KR102420887B1 (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020227023756A KR20220103816A (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들
KR1020197032169A KR102308840B1 (ko) 2017-06-21 2018-03-30 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들

Country Status (6)

Country Link
US (3) US10694223B2 (ko)
EP (3) EP3603088B1 (ko)
JP (3) JP6983911B2 (ko)
KR (3) KR20220103816A (ko)
CN (2) CN110574385B (ko)
WO (1) WO2018236452A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102574273B1 (ko) 2022-10-31 2023-09-06 국방과학연구소 비디오 동작 검출 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606073B2 (en) * 2010-05-12 2013-12-10 Woodman Labs, Inc. Broadcast management system
DK201870353A1 (en) * 2018-05-07 2019-12-04 Apple Inc. USER INTERFACES FOR RECOMMENDING AND CONSUMING CONTENT ON AN ELECTRONIC DEVICE
CN110248115B (zh) * 2019-06-21 2020-11-24 上海摩象网络科技有限公司 图像处理方法、装置及存储介质
CN114730580A (zh) 2019-11-11 2022-07-08 苹果公司 基于时间段的精选播放列表的用户界面
US11818413B2 (en) 2019-12-17 2023-11-14 Infosys Limited System and method for dynamic generation of charts in a personalized video
US11166061B2 (en) * 2019-12-17 2021-11-02 Infosys Limited System and method for dynamic generation of personalized video content through a browser embedded video player
US11785271B2 (en) 2019-12-17 2023-10-10 Infosys Limited System and method for personalized video content in conversational interface
CN111107392B (zh) * 2019-12-31 2023-02-07 北京百度网讯科技有限公司 视频处理方法、装置和电子设备
CN111294641B (zh) * 2020-03-10 2022-10-21 北京奇艺世纪科技有限公司 视频播放方法、系统、装置、电子设备及可读存储介质
US11418554B2 (en) 2020-07-17 2022-08-16 Spotify Ab Systems and methods for dynamic media content streaming
US11526912B2 (en) 2020-08-20 2022-12-13 Iris.TV Inc. Managing metadata enrichment of digital asset portfolios
CN112102449B (zh) * 2020-09-14 2024-05-03 北京百度网讯科技有限公司 虚拟人物的生成方法、展示方法及装置、设备和介质
US11804291B2 (en) * 2021-01-05 2023-10-31 Rovi Guides, Inc. Systems and methods for recommending physical activity associated with media content
EP4090038A1 (en) * 2021-05-10 2022-11-16 Infosys Limited System and method for personalized video content in conversational interface
CN114286181B (zh) * 2021-10-25 2023-08-15 腾讯科技(深圳)有限公司 一种视频优化方法、装置、电子设备和存储介质
CN116915933B (zh) * 2023-09-11 2023-11-28 苏州视达讯远电子科技有限公司 基于地铁lcd显示屏同步成像驱动显示系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199295A1 (en) * 2009-02-02 2010-08-05 Napo Enterprises Dynamic video segment recommendation based on video playback location
US20150143413A1 (en) * 2012-07-09 2015-05-21 Cisco Technology, Inc. Method and system for automatically generating interstitial material related to video content
US20150373385A1 (en) * 2013-02-07 2015-12-24 Thomson Licensing Method for providing targeted content in image frames of a video and corresponding device

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2153234C2 (ru) * 1992-12-09 2000-07-20 Дискавери Коммьюникейшнз, Инк. Устройство для использования в головной станции системы кабельного телевидения (варианты) и способ распределения программ абонентам в системе кабельного телевидения
US20050005308A1 (en) * 2002-01-29 2005-01-06 Gotuit Video, Inc. Methods and apparatus for recording and replaying sports broadcasts
CA2527388C (en) * 2003-06-02 2013-09-17 Disney Enterprises, Inc. System and method of interactive video playback
US20050022245A1 (en) * 2003-07-21 2005-01-27 Ramesh Nallur Seamless transition between video play-back modes
CN101099139A (zh) * 2004-04-07 2008-01-02 塞思·哈伯曼 增强的视频选择的系统和方法
CN101194505B (zh) * 2005-03-30 2016-09-14 乐威指南公司 用于富视频导航的系统和方法
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
JP4702743B2 (ja) * 2005-09-13 2011-06-15 株式会社ソニー・コンピュータエンタテインメント コンテンツ表示制御装置およびコンテンツ表示制御方法
JP4816266B2 (ja) * 2006-06-07 2011-11-16 ソニー株式会社 記録システム、記録方法
US7970922B2 (en) * 2006-07-11 2011-06-28 Napo Enterprises, Llc P2P real time media recommendations
US20090100362A1 (en) * 2007-10-10 2009-04-16 Microsoft Corporation Template based method for creating video advertisements
JP5219501B2 (ja) * 2007-12-27 2013-06-26 三菱電機株式会社 画面生成装置および画面レイアウト共有システム
US8544044B2 (en) * 2008-01-25 2013-09-24 Sony Corporation Up next video guide for TV video player
US8631453B2 (en) * 2008-10-02 2014-01-14 Sony Corporation Video branching
US20120072957A1 (en) * 2010-09-20 2012-03-22 Google Inc. Providing Dynamic Content with an Electronic Video
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US9525900B2 (en) * 2011-09-15 2016-12-20 Google Inc. Video management system
CN102647626B (zh) * 2012-02-13 2014-08-06 深圳市龙视传媒有限公司 在时移节目中实现广告插播的方法和系统
CN103024480B (zh) * 2012-12-28 2016-06-01 杭州泰一指尚科技有限公司 一种在视频中嵌入广告的方法
US20140325568A1 (en) * 2013-04-26 2014-10-30 Microsoft Corporation Dynamic creation of highlight reel tv show
US9557896B1 (en) 2013-08-22 2017-01-31 Google Inc. Cloud-based tool for creating video interstitials
WO2015047246A1 (en) 2013-09-25 2015-04-02 Intel Corporation Dynamic product placement in media content
CN103533439A (zh) * 2013-09-30 2014-01-22 乐视网信息技术(北京)股份有限公司 一种多媒体文件推荐方法及电子设备
US10180776B2 (en) 2013-10-01 2019-01-15 Ambient Consulting, LLC Image grouping with audio commentaries system and method
CN103501449A (zh) * 2013-10-08 2014-01-08 十分(北京)信息科技有限公司 与电视节目关联的视频源推荐方法及推荐装置
CN103647988A (zh) * 2013-11-15 2014-03-19 乐视致新电子科技(天津)有限公司 一种智能电视的信号源节目预告方法及装置
GB2520334B (en) * 2013-11-18 2015-11-25 Helen Bradley Lennon A video broadcast system and a method of disseminating video content
CA3125558C (en) 2014-02-14 2023-09-26 Pluto Inc. Methods and systems for generating and providing program guides and content
EP3213518A1 (en) 2014-10-31 2017-09-06 Piksel, Inc. Personalised channel
US20160381437A1 (en) * 2015-04-22 2016-12-29 Curious.Com, Inc. Library streaming of adapted interactive media content
US20170168697A1 (en) * 2015-12-09 2017-06-15 Shahar SHPALTER Systems and methods for playing videos

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199295A1 (en) * 2009-02-02 2010-08-05 Napo Enterprises Dynamic video segment recommendation based on video playback location
US20150143413A1 (en) * 2012-07-09 2015-05-21 Cisco Technology, Inc. Method and system for automatically generating interstitial material related to video content
US20150373385A1 (en) * 2013-02-07 2015-12-24 Thomson Licensing Method for providing targeted content in image frames of a video and corresponding device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102574273B1 (ko) 2022-10-31 2023-09-06 국방과학연구소 비디오 동작 검출 장치 및 방법

Also Published As

Publication number Publication date
EP3603088B1 (en) 2023-05-10
US11388452B2 (en) 2022-07-12
EP4221237A1 (en) 2023-08-02
US20180376178A1 (en) 2018-12-27
KR20220103816A (ko) 2022-07-22
JP2020523810A (ja) 2020-08-06
EP4221238A1 (en) 2023-08-02
CN110574385B (zh) 2022-06-03
EP3603088A1 (en) 2020-02-05
JP2023063306A (ja) 2023-05-09
CN114866817A (zh) 2022-08-05
US10694223B2 (en) 2020-06-23
WO2018236452A1 (en) 2018-12-27
KR102308840B1 (ko) 2021-10-06
KR20210120143A (ko) 2021-10-06
JP6983911B2 (ja) 2021-12-17
US20220345761A1 (en) 2022-10-27
KR20190136044A (ko) 2019-12-09
JP7230158B2 (ja) 2023-02-28
JP2022016587A (ja) 2022-01-21
US20200389682A1 (en) 2020-12-10
CN114866817B (zh) 2023-03-24
CN110574385A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
KR102420887B1 (ko) 비디오 스트리밍 서비스들을 위한 동적 커스텀 인터스티셜 트랜지션 비디오들
US11501387B2 (en) Generating playlists for a content sharing platform based on user actions
US11856254B2 (en) Dynamically adjustable electronic program guide
US11775152B2 (en) Presenting content items and performing actions with respect to content items
US9392312B1 (en) Subscriptions to channels on the web
EP3132416A1 (en) Displaying content between loops of a looping media item
JP7179194B2 (ja) 可変エンドポイントユーザインターフェースレンダリング

Legal Events

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