KR20170033360A - 자막 및 더빙에 대한 선호도의 자동 검출 - Google Patents

자막 및 더빙에 대한 선호도의 자동 검출 Download PDF

Info

Publication number
KR20170033360A
KR20170033360A KR1020177004089A KR20177004089A KR20170033360A KR 20170033360 A KR20170033360 A KR 20170033360A KR 1020177004089 A KR1020177004089 A KR 1020177004089A KR 20177004089 A KR20177004089 A KR 20177004089A KR 20170033360 A KR20170033360 A KR 20170033360A
Authority
KR
South Korea
Prior art keywords
language
audio
preferred
subtitle
server computer
Prior art date
Application number
KR1020177004089A
Other languages
English (en)
Other versions
KR102392497B1 (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 KR20170033360A publication Critical patent/KR20170033360A/ko
Application granted granted Critical
Publication of KR102392497B1 publication Critical patent/KR102392497B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7834Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using audio features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • G06F17/275
    • G06F17/289
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • 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/26291Content 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 providing content or additional data updates, e.g. updating software modules, stored at the client
    • 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
    • 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/439Processing of audio elementary 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/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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/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/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/4722End-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 requesting additional data associated with the 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/485End-user interface for client configuration
    • H04N21/4856End-user interface for client configuration for language selection, e.g. for the menu or subtitles
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Abstract

접근법에서, 서버 컴퓨터는 클라이언트 컴퓨터로부터 사용자에 대한 콘텐츠를 지정하는 요청을 수신하고, 콘텐츠는 원래 언어와 연관된다. 요청을 수신한 것에 응답하여, 서버 컴퓨터는 데이터베이스의 레코드에 기초하여 콘텐츠에 대한 선호 오디오 언어 및 선호 자막 언어를 선택한다. 서버 컴퓨터는 클라이언트 컴퓨터가 콘텐츠 전달 네트워크(CDN)로부터 선호 오디오 언어 및 선호 자막 언어를 사용하여 콘텐츠를 획득하는 데 사용하는 데이터를 리턴한다. 서버 컴퓨터는 사용자에게 제시되었던 제시된 오디오 언어 및 제시된 자막 언어를 식별하는 메시지를 클라이언트 컴퓨터로부터 수신한다. 제시된 오디오 언어가 선호 오디오 언어와 상이하거나 제시된 자막 언어가 선호 자막 언어와 상이하다는 결정에 응답하여, 서버 컴퓨터는 특정 레코드를 업데이트한다.

Description

자막 및 더빙에 대한 선호도의 자동 검출{AUTOMATIC DETECTION OF PREFERENCES FOR SUBTITLES AND DUBBING}
본 발명은 일반적으로 자막 및 더빙에 대한 사용자 선호도들의 자동 검출의 양태들에 관한 것이다.
이 섹션에서 설명된 접근법들은 추구될 수 있는 접근법들이지만, 반드시 이전에 상상했거나 추구되었던 접근법들은 아니다. 그러므로, 다르게 지시되지 않는 한, 이 섹션에서 설명된 접근법들 중 어떤 것도 단지 그것들이 이 섹션에 포함된 것에 의해 종래 기술로 간주된다고 추정되어서는 안 된다.
시간이 지남에 따라 콘텐츠 제공자는 그들의 콘텐츠가 점점 더 다양해지는 시청자들에게 액세스 가능하게 하는 기술을 고안하도록 압력을 받고 있다. 예를 들어, 영어는 여전히 미국에서 우세한 언어이지만, 스페인어 사용자의 인구는 여러 해 동안 증가해 왔다. 따라서, 콘텐츠 제공자가 더 넓은 청중을 확보하고 추가 고객을 유치하기를 원하는 경우, 그들의 콘텐츠를 영어뿐만 아니라 스페인에에도 사용 가능하게 하는 것이 유리하다. 대부분의 지역에서 사람들이 시간이 지남에 따라 더 이질적이 되는 경향이 있기 때문에 이 같은 문제는 전 세계에 걸쳐 또한 적용된다. 그러나 영화와 같은 멀티미디어 작품이 출시될 때, 그 작품은 원래 한 언어로만 종종 제작됨으로 인해 잠재 시청자를 제한한다.
콘텐츠(즉, 자막 및 더빙)에 대한 타겟 청중을 확대하기 위해 두 가지 기술이 사용되어 왔다. 자막은 전형적으로 영화, 텔레비전 프로그램, 비디오 게임 등에서 대화 또는 주석의 대본(transcript) 또는 시나리오(screenplay)로부터 도출되며, 대개 콘텐츠의 오디오 트랙을 미러링하는 화면의 하단에 표시된다. 자막은 외국어 대화의 서면 번역이나 청각 장애인을 보조하기 위해 자주 사용되는 대화의 서면 렌더링의 형태일 수 있다. 채택된 기술에 따라, 자막을 위한 인코딩 방법은 비디오로 사전 렌더링되거나 그래픽 또는 텍스트 중 어느 하나로 분리되어 수신기에 의해 렌더링되고 오버레이될 수 있다. 더빙은 배우의 녹음(recording)을 다른 언어를 사용하는 동일 또는 다른 배우가 수행한 녹음으로 대체하는 사후 제작 프로세스이다. 채택되는 기술에 따라, 더빙된 오디오가 녹음으로 사전 렌더링될 수 있거나 또는 별도의 스트림이 비디오 트랙 및 오디오 트랙에 대해 유지될 수 있어, 다수의 오디오 트랙이 동일한 비디오에 대해 전환되도록 할 수 있다.
현재, 주어진 비디오 및 사용자에 대해 어떤 오디오 언어 및/또는 자막을 표시할지를 결정하기 위해 채택된 기술들은 사용자에 의한 수동 선택 또는 사용자의 출신 국가의 주 언어에 기초하는 가정을 필요로 한다. 그러나 특정 사용자가 많은 영화 또는 기타 프로그램을 시청할 수 있는 온라인 프로그램 전달 서비스의 콘텍스트에서, 사용자는 수동 및 반복적으로 각각의 비디오의 오디오 트랙 및 자막 설정을 선택하도록 강요 받고, 이는 매우 지루할 수 있다. 더욱이, 점점 더 다양해지는 시청자들로 인해, 사용자의 출신 국가에 대한 선택 근거는 시간이 지남에 따라 정확도가 떨어지게 된다.
또 다른 문제점은 사용자가 재생을 위해 선택된 콘텐츠에 기초하여 오디오 언어 및/또는 자막의 매우 특정한 선호도를 가질 때 발생한다. 예를 들어, 이중 언어 사용자는 영어 더빙 및 자막이 있는 프랑스 영화를 시청하길 선호할 수 있지만, 자막이 없는 원래 언어로 된 스페인어 영화를 시청할 것이다. 따라서, 사용자는 자신의 선호도에 따라 오디오 언어 및/또는 자막 설정을 지속적으로 업데이트하도록 강요받을 수 있다. 현재의 기술은 자막 및 더빙에 대한 사용자 선호도를 편리하게 또는 효율적으로 처리할 수 없다.
도 1은 일 실시예가 구현될 수 있는 예시적인 동작 환경을 도시한다.
도 2는 일 실시예에 따른 오디오 및 자막 언어 선호도에 대한 데이터 포맷을 도시한다.
도 3은 일 실시예에 따른 오디오 및 자막 언어에 대한 선호도를 검출하고 선택하기 위한 프로세스를 도시한다.
도 4는 본 발명의 실시예가 구현될 수 있는 컴퓨터 시스템을 도시하는 블록도이다.
설명을 위한 다음의 기술에서는, 본 발명에 대한 완전한 이해를 제공하기 위해 다수의 특정한 세부사항이 제시된다. 그러나 본 발명은 이 특정한 세부사항 없이도 실시될 수 있음이 자명할 것이다. 다른 경우에서는, 잘 알려진 구조들 및 디바이스들이 본 발명을 필요없이 불명료하게 하는 것을 방지하기 위해 블록도 형태로 도시된다.
본 명세서에서는 이하의 개요에 따라 실시예가 설명된다:
1.0 일반 개요
2.0 예시적 동작 환경
3.0 오디오 및 자막 선택
4.0 구현 메커니즘들 - 하드웨어 개요
5.0 확장 및 대안
6.0 추가 공개
---
1.0 일반 개요
자막 및 더빙에 대한 선호도의 자동 검출 기술이 설명된다. 일 실시예에서, 방법은, 서버 컴퓨터에 의해, 특정 계정에 대한 특정 콘텐츠를 지정하는 요청을 클라이언트 컴퓨터로부터 수신하는 단계 - 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 원래 오디오 언어 및 특정 계정을 선호 오디오 언어 및 선호 자막 언어와 연관시키는 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 선호 오디오 언어 및 선호 자막 언어를 선택하는 단계; 서버 컴퓨터로부터 클라이언트 컴퓨터로, 특정 콘텐츠, 선호 오디오 언어 및 선호 자막 언어와 연관된 자산에 대한 자산 식별 데이터를 제공하는 단계; 새로운 오디오 언어 또는 새로운 자막 언어를 지정하는 입력에 응답하여, 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계; 서버 컴퓨터에 의해, 특정 콘텐츠와 관련하여 특정 사용자에게 제시되었던 제시된 오디오 언어 및 제시된 자막 언어를 식별하는 하나 이상의 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 제시된 오디오 언어가 선호 오디오 언어와 상이하거나 또는 제시된 자막 언어가 선호 자막 언어와 상이하다는 결정에 응답하여, 서버 컴퓨터가 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계를 포함한다.
일 실시예에서, 상기 방법은, 클라이언트 컴퓨터로의 특정 비디오의 스트리밍 동안, 서버 컴퓨터에 의해, 새로운 오디오 언어 또는 새로운 자막 언어를 요청하는 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 클라이언트 컴퓨터로부터 메시지를 수신한 것에 응답하여, 서버 컴퓨터가 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계를 더 포함한다.
일 실시예에서, 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계는 선호 오디오 언어를 제시된 오디오 언어로 업데이트하거나 또는 선호 자막 언어를 제시된 자막 언어로 업데이트하고, 상기 방법은, 서버 컴퓨터에 의해, 클라이언트 컴퓨터로부터 특정 계정에 대한 제2 특정 콘텐츠를 지정하는 제2 요청을 수신하는 단계 - 제2 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 제2 선호 오디오 언어 및 제2 선호 자막 언어를 선택하는 단계; 서버 컴퓨터에 의해, 제2 특정 콘텐츠, 제2 선호 오디오 언어 및 제2 선호 자막 언어와 연관된 제2 자산에 대한 제2 자산 식별 데이터를 제공하는 단계를 더 포함한다.
일 실시예에서, 서버 컴퓨터는, 제시된 오디오 언어가 특정 임계 기간 또는 시간 백분율보다 더 많은 동안 제시되었다는 결정 또는 제시된 자막 언어가 제2 특정 임계 기간 또는 제2 시간 백분율보다 많은 동안 제시되었다는 결정에 응답하여 특정 레코드를 업데이트한다.
일 실시예에서, 특정 레코드는, 특정 연령 그룹, 특정 기간 또는 디바이스 볼륨 설정 중 하나 이상을 포함하는 하나 이상의 팩터를 지정하고, 서버 컴퓨터는 하나 이상의 팩터에 기초하여 선호 오디오 언어 및 선호 자막 언어를 선택한다.
일 실시예에서, 상기 방법은 선호 오디오 언어 또는 선호 자막 언어가 스트리밍에 사용 가능하지 않다는 결정에 응답하여, 선호 오디오 언어 또는 선호 자막 언어 대신에 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어를 선택하는 단계를 더 포함한다.
일 실시예에서, 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어는 특정 계정의 출신 국가에 기초한다.
일 실시예에서, 사용 가능한 백업 오디오 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 오디오 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 다른 레코드에 기초한다.
일 실시예에서, 사용 가능한 백업 자막 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 자막 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 레코드에 기초한다.
일 실시예에서, 특정 레코드는 선호 오디오 언어들의 순서화된 리스트 또는 선호 자막 언어들의 순서화된 리스트 중 하나 이상을 지정하고, 사용 가능한 백업 오디오 언어는 선호 오디오 언어들의 순서화된 리스트에 기초하여 선택되거나, 또는 사용 가능한 백업 자막 언어는 선호 자막 언어들의 순서화된 리스트에 기초하여 선택된다.
일 실시예에서, 선호 자막 언어는 자막이 없다.
본 명세서에 설명된 기술의 결과로서, 서버 컴퓨터는 콘텐츠가 재생될 때 사용자 계정과 연관된 자막 또는 더빙 선호도 데이터의 구성을 적응시킬 수 있고, 사용자 또는 계정 선호도들의 조합 변경에 기초하여 언어들을 바꿀 때 자산, 자막 및/또는 더빙의 상이한 조합들을 제안할 수 있다; 시스템은 또한 시각, 계정 프로파일 또는 사용자, 콘텐츠의 속성 및 기타 팩터들로부터 발생하는 선호도에서의 변경에 적응할 수 있다.
다른 실시예에서, 본 발명은 전술한 단계들을 수행하도록 구성된 컴퓨터 장치, 컴퓨터 시스템 및 컴퓨터 판독 가능 매체를 포함한다.
2.0 예시적인 동작 환경
도 1은 일 실시예가 구현될 수 있는 예시적인 동작 환경을 도시한다. 도 1에서, 클라이언트 컴퓨터(100), 클라이언트 컴퓨터(101) 및 클라이언트 컴퓨터(102)(통칭하여 "클라이언트들")는 네트워크(103)를 통해 서버 컴퓨터(104) 및 콘텐츠 분배 네트워크("CDN")(105)에 통신 가능하게 결합된다. 서버 컴퓨터(104)는 계정 레코드 데이터베이스(107)에 통신 가능하게 결합된다. 계정 레코드 데이터베이스(107)는 계정 프로파일 데이터(108), 계정 재생 이력(109) 및 계정 선호도들(110)를 포함하는 다수의 계정 레코드를 저장한다.
도 1이 특정 수의 요소만을 도시할지라도, 실제 환경은 수백 또는 수천 개의 각각의 도시된 요소를 포함할 수 있다. 또한, 실제 환경은 예시를 모호하게 하는 것을 피하기 위해 도 1에서 생략된 추가 컴포넌트를 포함할 수 있다. 예를 들어, 계정 레코드 데이터베이스(107)는 하나 이상의 추가 네트워크를 통해 또는 네트워크(103)에 의해 서버 컴퓨터(104)에 통신 가능하게 접속되거나 이에 의해 액세스 가능할 수 있다. 또한, 다른 실시예는 도 1에 도시된 것과 상이한 수의 데이터베이스를 포함할 수 있다. 예를 들어, 계정 프로파일 데이터(108), 계정 재생 이력(109) 및 계정 선호도들(110)는 계정 레코드 데이터베이스(107) 내에 통합되기보다는 별도의 데이터베이스에 저장될 수 있다. 또한, 이하의 설명에서, 서버 컴퓨터(104)는 클라이언트로부터 다양한 정보 및/또는 메트릭을 수집하는 것으로 설명될 것이다. 그러나 다른 실시예에서, 데이터 수집은 클라이언트들과 서버 컴퓨터(104) 사이의 중개자 역할을 하는 별도의 메트릭 수집 컴퓨터에 의해 수행될 수 있고 그 정보를 계정 레코드 데이터베이스(107)에 저장한다.
일 실시예에서, 클라이언트들은 퍼스널 컴퓨터, 워크스테이션, 랩톱, 넷북, 태블릿 컴퓨터, 게임 콘솔, 셋톱 박스, 디지털 비디오 레코더, 스마트폰 등과 같은 하나 이상의 컴퓨팅 디바이스를 나타낸다. 일 실시예에서, 클라이언트들은 서버 컴퓨터(104)로부터 서비스에 액세스하도록 구성된다. 예를 들어, 서버 컴퓨터(104)가 웹 서비스를 실행하면, 클라이언트들은 HTTP 요청들을 서버 컴퓨터(104)에 전송하는 브라우저 애플리케이션들을 실행할 수 있다. 일 실시예에서, 클라이언트들은 서버 컴퓨터(104)에 의해 실행되는 비디오 스트리밍 서비스에 액세스하는 애플리케이션을 실행하고, 클라이언트들 또는 다른 관련 디바이스들 상에서 재생하기 위한 하나 이상의 비디오의 선택을 가능하게 한다. 선택은 사용자 입력, 프로그램 입력 또는 다른 데이터 소스를 통해 일어날 수 있다. 예를 들어, 클라이언트들은 텔레비전과 같은 멀티미디어 디바이스에 접속된 셋톱 박스를 나타낼 수 있고, 계정 또는 사용자가 멀티미디어 디바이스 상에서의 재생을 위해 비디오 스트리밍 서비스를 통해 비디오를 선택하게 할 수 있다. 또한, 피처들이 "계정" 레벨에서 설명될 수 있을지라도, 이 경우의 계정은 그 계정이 한 명의 개별 사용자 또는 다수의 사용자를 커버하는 모든 경우에 적용된다. 따라서, 본 명세서에서 계정에 관한 데이터에 대한 모든 언급은 전체적으로 개별 사용자들뿐만 아니라 다수의 사용자에 관한 것일 수도 있다.
일 실시예에서, 네트워크(103)는 하나 이상의 로컬 네트워크, 광역 네트워크 또는 인터네트워크의 임의의 조합을 나타낸다. 네트워크를 통해 교환되는 데이터는 IP(Internet Protocol), MPLS(Multiprotocol Label Switching), ATM(Asynchronous Transfer Mode) 및 프레임 릴레이와 같은 네트워크 계층 프로토콜들의 임의의 수를 사용하여 전송될 수 있다. 또한, 네트워크가 다수의 서브 네트워크의 조합을 나타내는 실시예에서, 상이한 네트워크 계층 프로토콜들은 기저 서브 네트워크들(underlying sub-networks)의 각각에서 사용될 수 있다.
일 실시예에서, 서버 컴퓨터(104)는 서비스를 클라이언트에 제공하도록 구성된 컴퓨팅 디바이스를 나타낸다. 예를 들어, 서버 컴퓨터(104)는 스트리밍 미디어 서비스, 렌털 서비스, 스트리밍 미디어 이외의 기술을 이용하는 영화 또는 다른 시청각 프로그램에 대한 전달 서비스, 온라인 게임 서비스, 광고 서비스, 웹 사이트, 또는 임의의 다른 타입의 서비스를 실행하는 백엔드 서버를 나타낼 수 있다. 명확한 예를 설명하기 위해, 서버 컴퓨터(104)에 의해 제공되는 서비스는 비디오 스트리밍 서비스로서 본 명세서에서 설명될 수 있다. 그러나, 서버 컴퓨터(104)에 의해 제공되는 정확한 서비스는 본 명세서에 설명된 기술에 중요하지 않다. 또한, 일부 실시예에서, 서버 컴퓨터(104)는 서버 클러스터와 같은 다수의 컴퓨팅 디바이스를 나타낼 수 있다.
CDN(105)은 디지털 매체에 대한 다운로드 또는 스트림 요청을 서빙하도록 구성된 하나 이상의 컴퓨터 시스템을 나타낸다. 다른 실시예에서, CDN(105)은 클라우드 스토리지 또는 다른 적용 가능한 환경으로 구현될 수 있다. 명확한 예를 설명하기 위해, 도 1에서, CDN(105)은 서버 컴퓨터(104)와 연관해서 도시되어 있지만, 다른 실시예에서 CDN(105)은 서버 컴퓨터(104)에 대해 원격으로 배치되고 다수의 서버, 저장 시스템 등에 걸쳐 분포될 수 있다. 일 실시예에서, 콘텐츠 분배 네트워크(105)는 멀티미디어 자산이 저장되는 저장 디바이스들의 집합을 포함한다. 일 실시예에서, CDN(105)은 특정 멀티미디어 콘텐츠의 경우, 상이한 사용 가능한 오디오 언어에 대응하는 하나 이상의 사전 렌더링된 비디오를 저장한다. 예를 들어, 특정 영화의 경우, CDN(105)은 영어에 대응하는 자산, 프랑스어에 대응하는 자산, 스페인어에 대응하는 자산 등을 저장할 수 있다.
동작 시, 클라이언트들 중 임의의 클라이언트는 서버 컴퓨터(104)로부터 특정 영화 또는 TV 쇼와 같은 특정 프로그램 타이틀을 요청할 수 있다. 이에 응답하여, 서버 컴퓨터는 요청 클라이언트에 스트리밍될 수 있는 요청된 프로그램의 인코딩을 나타내는 하나 이상의 파일 또는 자산이 분배되는 CDN(105) 내의 위치를 결정한다. 서버 컴퓨터(104)는 CDN(105)에 대한 위치 식별자를 요청 클라이언트에 리턴한다. 요청 클라이언트는 CDN(105)에 대한 접속을 확립하고, 프로그램의 스트리밍 전달에서 서버 컴퓨터(104)를 수반하지 않고 그 위치로부터 데이터 스트림을 획득한다. 그러나, 다른 실시예들에서, 서버 컴퓨터(104)는 클라이언트들과 CDN(105) 사이에서 요청들 및 콘텐츠를 수신 및 전송하는 중개자의 역할을 할 수 있다.
CDN(105)에서, 자산은 비디오의 품질 또는 오디오의 비트레이트에 기초하여 추가로 분류될 수 있다. 예를 들어, 클라이언트들은, 기저 네트워크(103)의 속도, 대역폭 및 신뢰도와 같은 팩터들에 기초하여 그들이 요청한 자산을 자동으로 조정할 수 있다. 네트워크(103)가 혼잡할 때의 시간 동안, 클라이언트들은, 대부분의 경우 네트워크(103)를 통해 전송되는 데이터가 더 적어지게 하는 더 낮은 비디오 또는 오디오 품질로 자동 조정할 수 있다. 따라서, 예를 들어, CDN(105)은 스트리밍하는 동안 클라이언트들이 자동으로 전환할 수 있는 상이한 비디오 품질 및/또는 오디오 비트레이트에 대응하는 주어진 영화, TV 쇼, 다큐멘터리 등에 대한 다수의 동일 언어 자산을 저장할 수 있다. 또한, CDN(105)은 상이한 언어에 대한 자막에 대응하는 각 영화에 대한 하나 이상의 자막 인코딩을 저장할 수 있다. 따라서, 멀티미디어 자산들 중 하나가 클라이언트로 스트리밍될 때, 자막 인코딩은 스트림과 함께 전송되어 클라이언트가 제시되고 있는 미디어 자산과 함께 자막을 표시하게 할 수 있다. 그러나, 다른 실시예에서, 자막 인코딩은 미디어로 사전 렌더링되어, 자막 언어에 기초하여 추가 카테고리의 자산을 생성할 수 있다. 자산의 정확한 형태는 본 명세서에 설명된 기술에 중요하지 않다.
또 다른 실시예에서, CDN(105)은 타이틀을 위한 별도의 비디오 트랙, 오디오 트랙 및/또는 자막 인코딩을 저장한다. 예를 들어, CDN(105)은 서버 컴퓨터(104)가 비디오 스트리밍 서비스를 위해 제공하는 각각의 비디오에 대해, 비디오에 대한 하나 이상의 자막 인코딩 및/또는 하나 이상의 오디오 트랙을 저장할 수 있다. 일 실시예에서, 오디오 트랙은 오디오 트랙의 비트레이트 및/또는 언어에 기초하여 분류된다. 예를 들어, 특정 비디오는 스페인어 및 중국어 더빙에 해당하는 오디오 트랙뿐만 아니라 더 낮은 품질 및 더 높은 품질의 비트레이트에 대응하는 두 개의 해당하는 영어 오디오 트랙을 가질 수 있다. 따라서, 클라이언트들이 비디오를 요청할 때, CDN(105)은 비디오 트랙을 선택된 오디오 트랙 및 자막 인코딩과 동기화하고 그 조합을 스트림으로 클라이언트들에 전송한다. 다른 실시예에서, CDN(105)은 클라이언트들이 최종 사용자에게 제시하기 위해 즉석에서(on the fly) 결합하기 위한 2개 이상의 개별 채널에서 비디오 트랙, 오디오 트랙 및 인코딩 정보를 전송할 수 있다. 그런 실시예에서, 다수의 컴포넌트로부터 형성될지라도, 이하의 설명은 여전히 컴포넌트의 조합을 "자산(asset)"으로 언급할 것이다.
일부 실시예에서, CDN(105)은 자산의 언어, 미디어의 원래 제작 언어, 자산의 길이, 비디오의 품질, 오디오의 비트레이트 등을 지정하는 것과 같은 멀티미디어 자산에 대한 메타데이터를 포함한다.
계정 레코드 데이터베이스(107)는 서버 컴퓨터(104)에 의해 제공되는 서비스를 이용하는 특정 사용자 또는 계정에 관한 레코드가 저장된 저장 디바이스들의 집합을 나타낸다. 예를 들어, 계정 레코드 데이터베이스(107)는 하나 이상의 하드 드라이브 디스크, 랜덤 액세스 메모리 디바이스, 클라우드 저장 디바이스, 테이프 드라이브, 데이터 웨어하우스 등의 집합을 제시할 수 있다. 일 실시예에서, 계정 레코드 데이터베이스(107)는 계정 프로파일 데이터(108), 계정 재생 이력(109) 및 계정 선호도들(110)를 저장한다. 일부 실시예에서, 계정 레코드 데이터베이스(107)는 관계형 데이터베이스로서 구현되고, 이 경우 계정 프로파일 데이터(108), 계정 재생 이력(109) 및 계정 선호도들(110) 각각은 관계형 데이터베이스에서 테이블을 나타낸다. 그러나, 계정 레코드 데이터베이스(107)의 정확한 구현은 본 명세서에 설명된 기술에 중요하지 않다. 명확한 예를 설명하기 위해, 본 명세서의 특정 섹션은 사용자와 관련하여 특정 액션을 수행하는 것을 언급할 수 있다; 이런 콘텍스트에서 "사용자"라는 용어는 사용자 계정, 사용자에 관한 메타데이터, 및 사용자, 이들의 계정 또는 가정과 연관된 컴퓨터를 광범위하게 포함하고, 그래서 자연인과의 직접적인 상호 작용이 필요하지 않으며 임의의 적절한 기술적 수단이 사용될 수 있다.
일 실시예에서, 계정 프로파일 데이터(108)는 이름, 패스워드, 이메일, 가입 모델, 청구 정보, 출신 국가, 디폴트 언어 선호도 등과 같은 주어진 사용자 또는 계정에 대한 프로파일 정보를 지정한다. 실시예에 따라, 프로파일 정보의 일부는 계정 또는 사용자가 서버 컴퓨터(104)와 확립될 때 획득될 수 있고; 예시적 데이터는 사용자 또는 계정 식별자 및 패스워드를 포함한다. 다른 정보는 추론, 메타데이터 또는 다른 사용 가능한 데이터에 기초하여 서버 컴퓨터(104)에 의해 자동으로 획득되거나 업데이트될 수 있다. 예를 들어, 출신 국가 및/또는 디폴트 언어 선호도는 로그인의 생성 시 또는 로그인의 최종 장소에서 사용자 또는 계정과 연관된 컴퓨터의 IP 주소에 기초하여 결정될 수 있다.
일 실시예에서, 계정 프로파일 데이터(108)는 서버 컴퓨터(104)에 의해 사용되어, 최종 사용자에 의해 조작될 수 있는 클라이언트 컴퓨터 상의 인터페이스 또는 포털의 제시에 의해 계정 프로파일 데이터(108)를 수정하거나, 재생을 위해 비디오를 선택하거나, 재생 전, 재생 중 또는 재생 후에 오디오/자막 설정을 수정하게 한다. 예를 들어, 포털을 제시하기 위해 사용된 언어는 계정 프로파일 데이터(108)에 설정된 출신 국가 또는 디폴트 언어 선호도에 기초하여 결정될 수 있다. 그러나, 특정 비디오의 재생에 대한 오디오 및/또는 자막 설정은 오히려 계정 선호도들(110)에 의해 결정될 수 있다. 일부 실시예에서, 서버 컴퓨터(104)는 동일한 계정에 대해 다수의 사용자 프로파일이 생성되게 할 수 있다. 예를 들어, 계정은 다수의 사람을 포함하는 가정에 속할 수 있고, 이들 각각은 계정 프로파일 데이터(108)에서 상이한 프로파일과 연관될 수 있다. 실시예에 따라, 동일한 계정과 연관된 사용자는 하나 이상의 특성, 예를 들어 동일한 로그인 및 패스워드를 공유할 수 있다. 결과적으로, 클라이언트들은, 사용자가 계정에 로그인할 때 어느 프로파일을 현재 세션에 사용할지를 지정할 수 있는 사용자 인터페이스 또는 포털을 제공할 수 있다. 대안적으로, 각 사용자는 주어진 계정에 대해 별도로 "로그인"할 수 있으므로 각 프로파일에 대한 별도의 로그인 이름 및 패스워드와 연관될 수 있다. 프로파일을 확립하기 위한 예시적인 기술은 미국 특허 제7,958,529호에 설명되어 있다.
일 실시예에서, 계정 재생 이력(109)은 서버 컴퓨터(104)에 의해 제공되는 서비스의 하나 이상의 사용자 또는 계정에 대한 재생 이력을 지정한다. 예를 들어, 비디오 스트리밍 서비스의 콘텍스트에서, 계정 재생 이력(109)은 선택된 비디오, 비디오의 원래 언어, 선택된 오디오 언어, 자막이 인에이블되었는지의 여부, 자막이 설정된 언어, 비디오 재생의 시작 및 종료 시간, 오디오 재생의 시작 및 종료 시간, 특정 자막 인코딩이 사용되었을 때에 대한 시작 및 종료 시간, 재생의 날짜 등을 지정할 수 있다. 계정 또는 사용자가 재생 중에 오디오 및/또는 자막 설정을 변경하는 경우, 계정 재생 이력(109)은 설정이 변경되는 동안 재생의 각 세그먼트에 대해 전술한 정보를 지정할 수 있다.
일부 실시예에서, 서버 컴퓨터(104)는 클라이언트 컴퓨터들(100, 101, 102)로부터, 특정 시청각 프로그램에 대해 클라이언트에 의해 제시되는 비디오, 오디오 및 자막을 서버 컴퓨터(104)에게 알리는 "하트 비트(heart beat)" 메시지를 주기적으로 수신한다. 예를 들어, "하트 비트" 메시지는 설정된 기간마다, 또는 사용자의 재생에 대한 변경(예를 들어, 비디오 일시 중지, 다른 장면으로 건너뛰기, 자막/오디오 설정의 변경 등)과 같은 특정 이벤트 동안에 전송될 수 있다. 그 후, 서버 컴퓨터(104)는 계정 레코드 데이터베이스(107)의 계정 재생 이력(109)에 비디오, 오디오 및 자막 정보를 저장한다. 다른 실시예에서, 주기적인 하트 비트 메시지를 전송하는 대신에 또는 전송하는 것에 더하여, 클라이언트들은 "하트 비트" 메시지에 포함될 동일한 정보를 포함하는 "재생 종료" 메시지를 재생 종료시에 전송하도록 구성된다. 예를 들어, 재생은 미디어가 결말에 도달하거나 사용자가 미디어의 제시에서 나가는 것에 의해 종료될 수 있다. 따라서, 이러한 실시예에서, 서버 컴퓨터(104)는 계정 재생 이력(109)에 저장하기 위한 레코드를 생성하기 위해 재생의 결말에 전송되는 로그만을 요구할 수 있다. 일부 실시예에서, 계정 재생 이력(109)에 레코드들을 저장하기 이전에, 서버 컴퓨터(104)는 레코드들에 대한 필터링을 수행하여 결말이 확실치 않을 수 있는 데이터를 제거한다. 예를 들어, 서버 컴퓨터(104)는 특정 오디오 및/또는 자막 언어가 임계 기간(예를 들어, 1분)보다 작은 기간 동안 사용되는 임의의 레코드를 필터링할 수 있다. 결과적으로, 서버 컴퓨터(104)는 사용자가 실수로 옵션을 선택하고 다른 옵션으로 신속하게 정정하는 것에 기초하여 선호도가 결정되는 것을 방지한다.
일 실시예에서, 계정 선호도들(110)는 특정 콘텍스트가 주어진 특정 언어 및 자막 옵션에 대한 하나 이상의 계정 또는 사용자의 선호도를 지정한다. 예를 들어, 콘텍스트는 비디오의 원래 언어에 기초할 수 있다. 다른 실시예에서, 콘텍스트는 비디오가 요청된 시각과 같은 비언어 팩터에 의존할 수 있다. 예를 들어, 사용자는 상당히 이른 시간에 잠자리에 드는 어린 아이를 가질 수 있다. 아이들을 깨우지 않으려면, 사용자는 배우가 무엇을 말하고 있는지 이해하기 위해 자막에 사운드가 요구되지 않거나 매우 적은 사운드가 요구되는 비디오를 시청하는 것을 선택할 수 있다. 따라서, 예를 들어, 계정 선호도들(110)는 영어 비디오(또는 임의의 비디오)가 8PM과 8AM 사이에서 재생될 때 비디오가 영어 자막으로 재생되어야 한다고 지정할 수 있다. 콘텍스트는 계정, 사용자, 미디어의 원래 언어, 디바이스 볼륨, 연령 그룹, 및/또는 비디오가 재생되는 시각과 같은 차원에 의해 정의될 수 있다. 그러나, 본 명세서에 설명된 기술들은 전술한 차원들에 의해 콘텍스트를 정의하는 것으로 제한되지 않으며, 실시예가 콘텍스트를 정의하기 위해 선택하는 정확한 입상도(exact granularity)는 중요하지 않다. 일부 실시예에서, 계정 선호도들(110)은 또한 각 콘텍스트에 대한 오디오 및/또는 자막 선호도들의 순서화된 리스트를 지정한다. 따라서, 선호 오디오 언어 및/또는 자막이 주어진 비디오 선택에 사용 가능하지 않을 때, 서버 컴퓨터(104)는 CDN(105)에서 사용 가능한 자산에 기초하여 공급될 수 있는 백업 선호도들 중에서 가장 높은 옵션을 선택할 수 있다.
일 실시예에서, 계정 선호도들(110)은 각 계정 또는 사용자에 대한 계정 프로파일 데이터(108)에 기초한 디폴트에 의해 확립된다. 예를 들어, 서버 컴퓨터(104)는 각 나라에 대해 가장 대중적인 언어를 지정하는 메타 데이터에 대한 액세스를 가질 수 있다. 그 후, 서버 컴퓨터(104)는 계정 프로파일 데이터(108)에 지정된 사용자의 출신 국가에 기초하여 어느 언어가 사용자에게 익숙할 것 같은지에 관한 메타 데이터를 근사화하고 이에 따라 계정 선호도들(110)에 대한 디폴트를 채운다. 다른 실시예에서, 계정 선호도들(110)는 클라이언트에 의해 표시된 포털을 통해 사용자에 의해 수동으로 설정될 수 있다. 그러나 계정 선호도들(110)에 대한 초기 디폴트 값을 설정하는 데 사용된 정확한 기술은 본 명세서에 설명된 기술에 중요하지 않다.
도 2는 일 실시예에 따른 계정 선호도들(110)에 대한 예시적인 포맷을 도시한다.
도 2에서, 계정 선호도들(110)은 다수의 선호도 레코드(204)를 포함하고, 이들 각각은 주어진 계정 이름(200) 및 원래 오디오(201)에 대해 계정의 선호 오디오(202) 및 선호 자막(203)을 식별한다. 예를 들어, 도시된 실시예에서, 선호도 레코드들(204)은 계정 A가 영어 오디오가 있고 자막이 없는 영어 영화, 영어 더빙 및 영어 자막이 있는 스페인 영화, 프랑스어 오디오 및 영어 자막이 있는 프랑스 영화를 시청하길 선호한다고 지정한다. 실제 환경에서, 계정 선호도들(110)은 각 사용자에 대해 모든 사용 가능한 언어에 대한 레코드를 포함할 수 있지만, 불필요한 혼란을 피하기 위해 서브세트만이 도시되어 있다.
그러나 공간을 절약하기 위해, 일 실시예는 해당 콘텍스트가 실제로 발생했을 때만 주어진 콘텍스트에 대한 선호도 레코드들(204)에 레코드를 생성할 수 있다. 예를 들어, 계정 A가 네덜란드 영화를 시청할 때의 선호도를 지정하는 레코드는, 계정 A가 실제로 네덜란드 영화를 요청할 때에만 생성되어 채워질 수 있다. 또한, 상술한 바와 같이, 다른 실시예들은, 예를 들어 제시의 시간 프레임을 나타내는 추가 열을 추가함으로써, 구체적인 입상도로 콘텍스트를 정의할 수 있다. 또한, 다른 실시예는 단일 선호도 대신에 선호 오디오(202) 및/또는 선호 자막(203)의 각 셀에 선호도들의 순서화된 리스트를 포함할 수 있다. 또한, 다른 실시예들은 계정을 이용하는 개별 사용자들에 기초하여 선호도 레코드들(204)에 기술된 계정들을 세분할 수 있다.
일부 실시예에서, 선호도 레코드들(204)은 비디오를 제시할 디바이스의 타입에 적어도 부분적으로 기초하는 콘텍스트를 정의한다. 예를 들어, 휴대 전화에서 비디오를 재생할 때 주변 환경은 주위 배경 잡음(예를 들어, 체육관, 공항, 버스 정류장 등)으로 인해 오디오를 듣기 어렵게 만들 수 있다. 결과적으로, 오디오 대신 또는 오디오에 더하여 자막이 있는 비디오를 제시하는 것이 이러한 상황에 적절할 수 있다. 그러나 계정 소유자의 집에 위치할 가능성이 높은 디바이스(예를 들어, TV, 게임 콘솔, 셋톱 박스 등)로부터 비디오를 제시할 때, 배경 잡음은 자막이 필요 없을 만큼 작을 수 있다. 일부 경우에, 클라이언트 디바이스는 주변 환경의 주위 잡음 레벨을 검출할 수 있는 센서(예를 들어, 마이크로폰)를 구비할 수 있다. 따라서, 일부 실시예에서, 콘텍스트는 비디오가 재생되고 있는 위치의 주위 잡음 레벨을 고려한다. 예를 들어, 클라이언트가 서버 컴퓨터(104)로부터 비디오를 요청할 때, 클라이언트는 특정 잡음 레벨(예를 들어, 데시벨 또는 다른 측정치)을 나타내는 값을 전송할 수 있다. 실시예에 따라, 선호도 레코드들(204)은 클라이언트에 의해 검출된 잡음 레벨에 대한 적절한 자막 및/또는 더빙 설정을 결정하기 위해 서버 컴퓨터(104)에 의해 사용되는 상이한 레벨 또는 범위에 대응하는 콘텍스트를 정의할 수 있다. 일부 실시예에서, 콘텍스트는 클라이언트의 오디오 출력 디바이스를 고려한다. 예를 들어, 클라이언트 디바이스가 개인 오디오 출력 디바이스(예를 들어, 헤드폰, 이어 버드, 헤드셋 등)를 통해 오디오를 제공하도록 구성될 때, 콘텍스트는 원래 오디오 또는 더빙이 선호됨을 나타낼 수 있다. 그러나, 클라이언트들이 보다 넓은 범위를 갖는 오디오 출력 디바이스(예를 들어, 스피커)를 사용하도록 구성될 때, 콘텍스트는 오히려 자막이 선호됨을 나타낼 수 있다.
또 다른 실시예에서, 선호도 레코드들(204)은 비디오를 제시하는 디바이스의 ID에 기초하는 콘텍스트를 정의한다. 예를 들어, 계정 소유자는 게임 콘솔을 통해 비디오를 시청하는 애들을 가질 수 있으며 애들은 더빙된 오디오가 사용 가능할 때 이를 선호한다. 그러나 계정 소유자는 전형적으로 원래 오디오를 갖고 자막이 없는 셋톱 박스를 통해 비디오를 시청할 수 있다. 계정 소유자 및 애들이 동일한 계정 및/또는 프로파일을 공유하는 경우에, 추가 입상도는 서버 컴퓨터(104)가, 각 시청자 그룹이 전형적으로 비디오를 시청하는데 사용할 디바이스에 기초하여 맞춤형 경험을 여전히 제공할 수 있게 한다.
도 2에서, 선호도 레코드들(204)은 테이블 포맷으로 도시되고, 각각의 선호도 레코드는 행으로 표현되고, 각각의 선호도 레코드의 속성들은 열로 표현된다. 예를 들어, 도 2의 테이블 포맷은, 계정 레코드 데이터베이스(107)가 관계형 데이터베이스로서 구성되는 실시예들에 사용될 수 있다. 그러나 계정 레코드 데이터베이스(107) 내의 데이터의 정확한 포맷은 본 명세서에 설명된 기술에 중요하지 않다. 다른 실시예에서, 계정 레코드 데이터베이스(107) 내의 데이터는 오브젝트 접근법, 마크업 언어(XML) 포맷, 또는 클라우드 스토리지를 위한 특수화된 포맷을 사용하여 저장될 수 있다. 예를 들어, 각각의 선호도 레코드들(204)은 다음과 같이 포맷될 수 있다:
Figure pct00001
3.0 오디오 및 자막 선택
도 3은 일 실시예에 따른 블록도 형태의 오디오 및 자막 선호도들을 검출하고 선택하기 위한 프로세스를 도시한다. 명확한 예를 설명하기 위해, 서버 컴퓨터(104)는, CDN(105)이 클라이언트 컴퓨터(100)에 스트리밍 미디어를 제공하는 동안 도 3에 도시된 프로세스를 수행한다고 가정할 것이다. 그러나 동일한 프로세스는 클라이언트들 중 어느 하나에 스트리밍 미디어를 제공하는 콘텍스트에서 수행될 수 있다. 또한, 클라이언트 컴퓨터(100)는 서버 컴퓨터(104)에 의해 구현된 임의의 인증 또는 보안 측정치들에 기초하여 계정("특정 계정"으로 지칭됨)에 대해 이미 "로그인"되었다고 가정될 것이다. 그러나 서버 컴퓨터(104)에 의해 구현된 인증 및/또는 보안 측정치들은 본 명세서에 설명된 기술에 중요하지 않다. 또한, "특정 계정"이라는 용어가 다음의 설명에서 사용될 수 있지만, 동일한 피처들은 계정당 다수의 사용자를 허용하는 실시예에 대한 계정의 특정 사용자의 레벨에서도 적용 가능하다.
블록(300)에서, 서버 컴퓨터(104)는 클라이언트 컴퓨터(100)로부터, 특정 계정에 대한 특정 콘텐츠를 지정하는 요청을 수신한다. 일 실시예에서, 클라이언트 컴퓨터(100)는, 특정 계정이 스트리밍에 사용 가능한 타이틀을 검색하고 선택할 수 있게 하도록 구성된 특정 계정에 대한 포털을 표시한다. 특정 콘텐츠를 선택하는 입력을 수신한 것에 응답하여, 클라이언트 컴퓨터(100)는 특정 콘텐츠를 요청하는 하나 이상의 메시지를 서버 컴퓨터(104)에 전송한다.
블록(301)에서, 서버 컴퓨터(104)는 클라이언트 컴퓨터(100)에 제공되는 자산들에서 사용될 오디오 언어 및 자막 언어를 선택한다. 일 실시예에서, CDN(105)은 상이한 오디오 언어 및 자막 언어 선택에 대응하는 각각의 콘텐츠 아이템에 대한 하나 이상의 자산을 저장한다. 명확하게 하기 위해, "자막 없음"을 표시하기 위한 선택은 자막 "언어"인 것으로 정의된다. 블록(301)에서 클라이언트 컴퓨터(100)로부터 요청을 수신한 것에 응답하여, 서버 컴퓨터(104)는 현재 콘텍스트에 대응하는 계정 선호도들(110)에서 선호도 레코드들(204)의 레코드를 획득한다. 이 경우, 콘텍스트는 특정 콘텐츠의 계정 이름(200) 및 원래 오디오(201)에 대응한다. 서버 컴퓨터(104)가 적절한 레코드를 위치 지정하면, 서버 컴퓨터(104)는 그 레코드에 기초하여 대응하는 선호 오디오(202) 및 선호 자막(203)을 결정한다.
일부 실시예에서, 서버 컴퓨터(104)는 계정 선호도들(110)에 지정된 선택을 바로 가기(shortcut) 하는 추가 규칙을 저장한다. 예를 들어, 서버 컴퓨터(104)는 디폴트로, 계정 선호도들(110)에 의해 지정된 원래 오디오 또는 자막 선택과 일치하는 더빙된 콘텐츠를 갖는 "아이들을 위한" 것으로 태그된 콘텐츠를 항상 제시하도록 구성될 수 있다. 아이들은 서면 대화와는 달리 구어에 더 익숙하기 때문에, 그러한 설정은 사용자가 자신의 자녀와 함께, 단독이 아니거나 또는 비슷한 시청자의 구성원과 함께 제시를 시청하는 상황에 적합할 수 있다.
일 실시예에서, 서버 컴퓨터(104)는, CDN(105)이 특정 계정의 현재 콘텐츠 선택을 위해 선호 오디오(202) 및 선호 자막(203)에 대응하는 자산을 갖는지를 결정하기 위해 추가적인 체크를 수행한다. CDN(105)이 대응하는 자산을 갖는다는 결정에 응답하여, 서버 컴퓨터(104)는 블록(302)으로 진행하여 대응하는 자산을 저장하는 CDN(105) 내의 위치를 클라이언트 컴퓨터(100)로 리턴한다. 상기 위치는 URL, 파라미터화된 URL, 또는 지정된 자산을 보유하는 CDN(105) 내의 네트워크 위치를 식별하기에 충분한 다른 데이터일 수 있다. 이에 응답하여, 클라이언트 컴퓨터(100)는 CDN(105)에 대한 접속을 확립하고 서버 컴퓨터(104)가 식별한 특정 자산을 요청한다. 그 결과, CDN(105)은 자산을 클라이언트 컴퓨터(100)로 스트리밍하기 시작한다. CDN(105)이 대응하는 자산을 갖지 않는다는 결정에 응답하여, 서버 컴퓨터(104)는 백업 선호도, 및 백업 선호도를 만족시키는 CDN (105) 내의 위치 또는 자산을 검색한다.
각 콘텍스트에 대한 선호도들의 순서화된 리스트를 저장하는 실시예에서, 서버 컴퓨터(104)는 사용 가능한 자산이 위치 지정될 때까지 오디오 언어 및/또는 자막 언어에 대한 각각의 선호도를 순서대로 체크한다. 그러나 백업 선호도들의 순서화된 리스트를 저장하지 않는 실시예에서, 또는 선호도들의 리스트가 사용 가능한 자산을 위치 지정하는 데 실패한 경우에, 서버 컴퓨터(104)는 동일한 계정이지만 상이한 원래 오디오(201)에 대응하는 레코드들의 선호 자막(203) 및 선호 오디오(202)를 검색한다.
예를 들어, 서버 컴퓨터(104)가 선택된 콘텐츠에 대한 계정의 선호 오디오 언어 및/또는 자막 언어에 대한 레코드들을 갖지 않을지라도, 서버 컴퓨터(104)는 계정의 사용자 또는 사용자들이 상이한 원래 오디오(201)에 대응하는 레코드들에 기초하여 이해할 수 있는 다른 언어를 결정할 수 있다. 따라서, 서버 컴퓨터(104)는 선호 오디오 또는 자막 언어가 사용 가능하지 않은 경우 백업으로 이들 다른 언어를 사용할 수 있다. 예를 들어, 도 2에서, 계정 A의 선호 오디오(202)는 영어와 프랑스어를 모두 포함한다. 그러므로 합리적인 가정은 계정 A의 사용자가 두 언어를 모두 이해한다는 것이다. 결과적으로, 스페인어 원래 오디오(201) 제작을 위해 영어 더빙을 사용할 수 없다면, 서버 컴퓨터(104)는 사용 가능한 프랑스어 더빙을 백업 선호도로서 대체할 수 있다. 다른 실시예에서, 서버 컴퓨터(104)는 사용자의 출신 국가에 기초하여 백업 오디오 또는 자막 언어를 선택한다. 예를 들어, 서버 컴퓨터(104)는 계정의 출신 국가에서 가장 인기있는 언어에 대응하는 자산을 선택할 수 있다.
일부 실시예에서, 서버 컴퓨터(104)는 오디오 및/또는 비디오 품질에 대응하는 각각의 오디오 언어 및/또는 자막 언어에 대한 다수의 자산의 레코드들을 유지한다. 이러한 실시예에서, 서버 컴퓨터(104)는 대기 시간, 대역폭, 드롭된 패킷들의 수, 또는 신뢰성 및 속도의 다른 표시와 같은 네트워크 상태에 기초하여 자산을 선택할 수 있다. 그러나 다른 실시예들에서, 서버 컴퓨터(104)는 가장 낮은 오디오 및/또는 비디오 품질에 대응하는 자산을 초기에 선택할 수 있고, 네트워크 상태가 불합리한 버퍼링 없이 고품질의 스트림을 운반하기에 안정적이고 충분하다고 결정되면 스트림을 즉석에서 조정하기 위해 클라이언트에 의존한다. 그러나 다른 실시예에서, 서버 컴퓨터(104)는 상이한 레벨의 비디오 또는 오디오 품질에 대응하는 다수의 자산을 CDN(105) 내의 위치에 제공할 수 있고, 어떤 자산을 요청할지를 결정하기 위해 클라이언트에 의존할 수 있다.
블록(302)에서, 서버 컴퓨터(104)는 선택된 오디오 언어 및 자막 언어에 대응하는 자산의 위치를 클라이언트 컴퓨터(100)에 제공한다. 예를 들어, 서버 컴퓨터(104)는 자산의 각 카테고리에 대해, CDN (105) 내의 자산의 위치를 지정하는 인덱스를 저장할 수 있다. 일부 실시예에서, CDN(105)은 인덱스에 대한 업데이트를 서버 컴퓨터(104)에 주기적으로 공급하거나 또는 특정 자산의 위치가 CDN(105) 내에서 변경되는 것에 응답하여 그 업데이트를 공급할 수 있다.
일 실시예에서, 클라이언트 컴퓨터(100)는 위치를 지정하는 요청을 CDN(105)에 전송함으로써 위치를 수신하는 것에 응답한다. 일 실시예에서, CDN(105)은 그 위치에 대응하는 자산을 클라이언트 컴퓨터(100)에 스트리밍함으로써 응답한다. 일 실시예에서, 클라이언트 컴퓨터(100)는 스트림을 수신한 것에 응답하여 자산이 시청을 위해 표시되게 한다. 자산을 스트리밍하기 위해 CDN(105)에 의해 사용되는 정확한 기술은 본 명세서에 설명된 기술에 중요하지 않으며, 본 기술분야의 통상의 기술자는 거의 모든 스트리밍 메커니즘이 이러한 목적을 위해 사용될 수 있다는 것을 인식할 것이다. 그러나 몇 가지 예로서, 스트림은 MPEG-2 오디오 계층 Ⅲ(MP3), 보비스(Vorbis), AAC(Advanced Audio Coding), H.264 또는 VP8과 같은 다양한 코덱을 사용하여 오디오 및 비디오를 압축함으로써 미리 준비될 수 있다. 인코딩된 비디오 및 오디오는 MPEG-4(MP4), FLV(Flash Video), WebM, ASF(Advanced Systems Format) 또는 ISMA(Internet Streaming Media Alliance)와 같은 컨테이너 비트스트림으로 어셈블될 수 있으며, 그 후 CDN(105)에 의해 MMS(Microsoft Media Server) 또는 RTP(Real-time Transport Protocol)와 같은 전송 프로토콜을 사용하여 클라이언트 컴퓨터(100)에 전달될 수 있다.
일부 실시예에서, 클라이언트 컴퓨터(100)는 스트림의 중간 재생시에 상이한 자산으로 자동으로 전환할 수 있다. 예를 들어, 클라이언트 컴퓨터(100)는 네트워크 상태가 개선되었고 더 높은 품질의 비디오 또는 오디오 설정에서 스트림을 표시하기에 지금 충분하다고 결정할 수 있다. 결과적으로, 클라이언트 컴퓨터(100)는 (잠재적으로 버퍼 내의 프레임들을 고려하여) 표시되고 있는 자산의 현재 프레임을 결정하고, CDN(105)이 사실상 방해받지 않는 시각적 사용자 경험을 제공하기 위해 동일한 프레임 번호에서 시작하는 다른 자산을 스트리밍하기 시작하도록 유발하는 요청을 CDN(105)에 전송할 수 있다.
다른 실시예에서, 클라이언트 컴퓨터(100)는 제시되고 있는 자산에 대한 그래픽 오버레이와 같은 인터페이스를 제공하고, 인터페이스는 제시의 품질, 오디오 언어 또는 자막 언어를 수동으로 변경하기 위한 옵션을 제공하도록 구성된다. 선택된 품질, 오디오 언어 또는 자막 언어에 대응하는 다른 자산으로 자산을 변경하기 위한 입력을 수신한 것에 응답하여, 클라이언트 컴퓨터(100)는 요청된 자산의 특성을 지정하는 요청을 서버 컴퓨터(104)에 전송한다. 서버 컴퓨터(104)는 그 특성들에 대응하는 CDN(105) 내의 자산의 위치 식별자, 레코드 식별자 또는 다른 자산 식별자를 리턴한다. 위치 식별자, 레코드 식별자 또는 다른 자산 식별자에 기초하여, 클라이언트 컴퓨터(100)는 CDN(105)에 접속하고, 스트리밍되고 있는 자산을 자동으로 전환하는 것과 관련하여 전술한 바와 같은 동일한 방식으로 CDN(105)으로부터 지정된 자산을 스트리밍하기 시작한다. 그러나 다른 실시예에서, 클라이언트 컴퓨터(100)는 중개자로서 서버 컴퓨터(104)를 사용하지 않고 CDN(105)으로부터 업데이트된 자산을 직접 요청할 수 있다.
블록(303)에서, 서버 컴퓨터(104)는 클라이언트 컴퓨터(100)로부터 재생 메시지의 종료를 수신한다. 재생 메시지의 종료는 클라이언트 컴퓨터(100)가 특정 프로그램의 재생을 종료했음을 나타내며, 이는 스트림이 종료할 때 또는 프로그램이 스트림의 종료 이전에 종료될 때 일어날 수 있다. 일 실시예에서, 재생 메시지의 종료는 사용자의 현재 세션에 대해, 선택된 비디오, 비디오의 원래 언어, 선택된 오디오 언어, 자막이 인에이블되었는지의 여부, 자막이 설정되는 언어, 비디오 재생의 시작 및 종료 시간, 오디오 재생의 시작 및 종료 시간, 특정 자막 인코딩이 사용되었을 때에 대한 시작 및 종료 시간, 재생의 날짜, CDN(105) 내의 위치 등 중 하나 이상을 지정한다.
일부 실시예에서, 클라이언트 컴퓨터(100)가 재생 중에 오디오 및/또는 자막 언어를 변경한 경우, 재생 메시지의 종료는 오디오 언어 및 자막 언어가 사용되었던 콘텐츠의 각 세그먼트에 대해 전술한 정보를 지정한다. 일부 실시예에서, 클라이언트 컴퓨터(100)는, 마지막 "하트 비트" 메시지 이후 기간 동안 동일한 정보를 포함하는 주기적인 "하트 비트" 메시지를 전송할 수 있다. 이러한 실시예에서, 서버 컴퓨터(104)는 전체 세션에 대한 데이터를 획득하기 위해 "하트 비트" 메시지에 정보를 어셈블링할 수 있다.
블록(304)에서, 서버 컴퓨터(104)는 블록(303)에서 수신된 재생 메시지의 종료를 통해 획득된 재생 정보를 계정 레코드 데이터베이스(107)의 계정 재생 이력(109)에 저장한다. 일 실시예에서, 재생 이력(109)의 각각의 레코드는 사용자 또는 계정 재생 세션들의 각각에 대한 재생 메시지의 종료와 관련하여 상술한 동일한 정보를 지정한다. 그러나 일부 실시예에서, 서버 컴퓨터(104)는 특정 계정에 제시된 오디오 및 자막 언어에 기초하여 분류된 레코드들을 획득하기 위해 재생 메시지의 종료시 지정된 정보를 처리할 수 있다.
따라서, 재생 이력(109)은, 클라이언트 디바이스가 특정 계정에 대한 특정 오디오 언어 및/또는 자막 언어를 제시하는 시작 및 종료 시간을 각각의 재생 세션에 대해 지정할 수 있다. 일부 실시예에서, 서버 컴퓨터(104)는 재생 이력(109)에 해당 데이터를 저장하기 전에 재생 메시지의 종료로부터 획득된 재생 정보를 필터링할 수 있다. 예를 들어, 서버 컴퓨터(104)는 오디오 언어 및/또는 자막 언어 제시들에 대응하는 레코드만을 저장할 수 있으며, 그 제시는 1분과 같은 특정 임계치를 초과한다. 일 실시예에서, 복수의 자산이 동일한 오디오 및/또는 자막 언어이지만 상이한 비디오 또는 오디오 품질에 대응하는 특정 계정에 제시되는 경우, 서버 컴퓨터(104)는 이러한 자산에 대한 레코드들을 결합하여 오디오 언어 및/또는 자막 언어의 제시를 위한 완전한 레코드를 결정한다.
블록(305)에서, 서버 컴퓨터(104)는 특정 계정에 대한 계정 선호도들(110)을 업데이트한다. 일 실시예에서, 서버 컴퓨터(104)는 재생 중에 제시된 오디오 언어 및 자막 언어가 계정 선호도들(110)에서 지정된 설정과 상이한지를 콘텐츠 및 특정 계정의 원래 언어에 대해 결정한다. 그렇지 않다면, 서버 컴퓨터(104)는 동일한 계정 선호도들(110)을 유지한다. 그러나 재생 중에 제시된 오디오 언어 및/또는 자막 언어가 계정 선호도들(110)에 지정된 설정과 상이하다는 결정에 응답하여, 서버 컴퓨터(104)는 계정 선호도들(110)을 업데이트한다.
일 실시예에서, 서버 컴퓨터(104)는, 오디오 언어 및/또는 자막 언어가 제시되는 시청 시간의 양 및/또는 백분율, 계정 또는 사용자에게 오디오 언어 및/또는 자막 언어를 제시했던 이력 시청 시간의 양 또는 이력 시청 시간의 백분율, 레코드에 대응하는 재생이 얼마나 최근에 발생했는지 등을 포함하는 하나 이상의 팩터에 기초하여 계정 선호도들(110)을 업데이트한다. 예를 들어, 서버 컴퓨터(104)는, 제시 시간이 임계 수(예를 들어, 5분) 및/또는 임계 백분율(예를 들어, 재생 세션의 절반을 초과함)을 초과하면 가장 최근의 재생에 대한 오디오 언어 및/또는 자막 언어를 지정하도록 계정 선호도들(110)을 업데이트할 수 있다.
그러나 다른 실시예에서, 서버 컴퓨터(104)는 사용자 또는 계정이 주어진 콘텍스트에 대한 오디오 언어 및/또는 자막 언어로 제시되고 있는 시청 이력의 최근 윈도우 또는 전체 시청 이력에 걸쳐 소비한 시간의 양을 또한 고려할 수 있다. 예를 들어, 서버 컴퓨터(104)는, 스트림의 오디오 언어 및/또는 자막 언어가 사용자 또는 계정에 대해 계정 재생 이력(109)으로부터 결정된 바와 같이, 지난달에 걸친 콘텍스트에 대한 총 재생 시간의 절반을 초과할 때, 계정 선호도들(110)을 업데이트하도록 구성될 수 있다. 또한, 서버 컴퓨터(104)는 일부 실시예에서, 레코드와 연관된 재생보다 최근의 레코드에 더 많은 가중치를 두는 가중치 방식(weighting scheme)을 구현할 수 있다. 따라서, 1주일 전부터의 재생에 대응하는 레코드는, 1년 전부터의 재생에 대응하는 레코드보다 더 많은 가중치를 둘 수 있다. 계정 선호도들(110)이 각각의 콘텍스트에 대해 다수의 랭킹된 선호도를 저장하는 실시예에서, 계정 선호도들(110)은 전술한 팩터들 중 임의의 것에 기초하여 오디오 및/또는 자막 언어를 랭킹하도록 업데이트될 수 있다.
일부 실시예에서, 블록(300)에서의 요청 이전 또는 블록(303)에서의 재생 종료 후에, 서버 컴퓨터(104)는 하나 이상의 타이틀을 추천하고 이들 타이틀이 클라이언트 컴퓨터(100)에 의해 특정 계정 또는 사용자에게 표시되게 한다. 이러한 목적을 위해 사용될 수 있는 추천 시스템의 일례는, 2013년 3월 14일에 출원된 미국 특허 출원 제13/829,064호(Carlos Gomez-Uribe 등의 "Personalized Markov Chains")이며, 그 전체 내용은 본 명세서에 완전히 기술된 것처럼 모든 목적을 위해 참고로 본 명세서에 포함된다. 일 실시예에서, 서버 컴퓨터(104)는 선호 오디오(202) 및/또는 선호 자막(203)이 사용 가능한 타이틀에 가중치를 둠으로써 계정 선호도들(110)에 대한 추천을 기반으로 한다. 또한, 일부 실시예에서, 서버 컴퓨터(104)는 추천 프로세스 동안 계정 선호도들(110)에 기초하여 사용자가 선호하는 언어들 중 하나에 대응하는 원래 언어를 갖는 타이틀에 더 많은 가중치를 둔다.
4.0 구현 메커니즘들 - 하드웨어 개요
일 실시예에 따르면, 본 명세서에 설명된 기술들은 하나 이상의 특수 목적 컴퓨팅 디바이스에 의해 구현된다. 특수 목적 컴퓨팅 디바이스들은 그 기술들을 수행하도록 하드-와이어드(hard-wired) 될 수 있거나, 그 기술들을 수행하도록 영구적으로 프로그래밍되는 하나 이상의 주문형 집적 회로(application-specific integrated circuits)(ASICs) 또는 필드 프로그래머블 게이트 어레이(field programmable gate arrays)(FPGAs)와 같은 디지털 전자 디바이스들을 포함할 수 있거나, 또는 펌웨어, 메모리, 다른 스토리지 또는 조합에서 프로그램 명령어들에 따라 그 기술들을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 그런 특수 목적 컴퓨팅 디바이스들은 커스텀 하드-와이어드 로직(custom hard-wired logic), ASIC들 또는 FPGA들을 커스텀 프로그래밍과 결합하여 그 기술들을 달성할 수도 있다. 특수 목적 컴퓨팅 디바이스들은 데스크톱 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드 디바이스들, 네트워킹 디바이스들, 또는 그 기술들을 구현하기 위해 하드-와이어드 및/또는 프로그램 로직을 통합하는 임의의 다른 디바이스일 수 있다.
예를 들어, 도 4는 본 발명의 일 실시예가 구현될 수 있는 컴퓨터 시스템(400)을 나타내는 블록도이다. 컴퓨터 시스템(400)은 정보를 통신하기 위한 버스(402) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(402)와 결합된 하드웨어 프로세서(404)를 포함한다. 하드웨어 프로세서(404)는, 예를 들어 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(400)은 또한 프로세서(404)에 의해 실행될 정보 및 명령어들을 저장하기 위해 버스(402)에 결합되는 메인 메모리(406), 예를 들어, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스를 포함한다. 메인 메모리(406)는 또한 명령어들의 실행 동안 프로세서(404)에 의해 실행될 임시 변수들 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 이러한 명령어들은, 프로세서(404)에 액세스 가능한 비일시적인 저장 매체에 저장될 때, 컴퓨터 시스템(400)을 명령어들에서 지정된 동작들을 수행하도록 맞춤화되는 특수 목적 머신으로 렌더링한다.
컴퓨터 시스템(400)은 프로세서(404)에 대한 정적 정보 및 명령어들을 저장하기 위해 버스(402)에 결합된 판독 전용 메모리(ROM)(408) 또는 다른 정적 저장 디바이스를 더 포함한다. 자기 디스크 또는 광학 디스크와 같은 저장 디바이스(410)가 정보 및 명령어들을 저장하기 위해 제공되어 버스(402)에 결합된다.
컴퓨터 시스템(400)은 컴퓨터 사용자에게 정보를 표시하기 위해 음극선관(CRT)과 같은 디스플레이(412)에 버스(402)를 통해 결합될 수 있다. 영숫자 키 및 다른 키를 포함하는 입력 디바이스(414)는 정보 및 커맨드 선택들을 프로세서(404)에 통신하기 위해 버스(402)에 결합된다. 또 다른 타입의 사용자 입력 디바이스는, 방향 정보 및 커맨드 선택을 프로세서(404)에 통신하기 위한 그리고 디스플레이(412) 상에서 커서 움직임을 제어하기 위한 커서 제어(416), 예를 들어, 마우스, 트랙볼, 또는 커서 방향키이다. 이런 입력 디바이스는 전형적으로 2개의 축, 즉 제1 축(예를 들면, x) 및 제2 축(예를 들면, y)에서 2개의 자유도를 가지며, 이는 그 디바이스가 한 평면에서 위치들을 지정하도록 허용한다.
컴퓨터 시스템(400)은 컴퓨터 시스템과 결합하여 컴퓨터 시스템(400)이 특수 목적 머신이 되게 하거나 프로그래밍하는 맞춤화된 하드-와이어 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 프로그램 로직을 사용하여 본 명세서에 기술된 기술들을 구현할 수 있다. 일 실시예에 따르면, 본 명세서의 기술들은 프로세서(404)가 메인 메모리(406)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 것에 응답하여 컴퓨터 시스템(400)에 의해 수행된다. 이러한 명령어들은 저장 디바이스(410)와 같은 다른 저장 매체로부터 메인 메모리(406) 내로 판독될 수 있다. 메인 메모리(406)에 포함된 명령어들의 시퀀스의 실행은 프로세서(404)가 본 명세서에 설명된 프로세스 단계들을 수행하게 한다. 대안적인 실시예에서는, 소프트웨어 명령어 대신에 또는 이와 결합한 하드-와이어드 회로가 사용될 수 있다.
본 명세서에 사용된 용어 "저장 매체"는 머신이 특정 방식으로 동작하게 하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적인 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는, 예를 들어 저장 디바이스(410)와 같은 광학 또는 자기 디스크들을 포함한다. 휘발성 매체는 메인 메모리(406)와 같은 동적 메모리를 포함한다. 저장 매체의 일반적인 형태는, 예를 들어 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 홀의 패턴들을 갖는 임의의 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩, 또는 카트리지를 포함한다.
저장 매체가 송신 매체와는 구별되지만 송신 매체와 함께 사용될 수도 있다. 송신 매체들은 저장 매체들 사이에서 정보를 전송하는데 참여한다. 예를 들어, 송신 매체는 버스(402)를 포함하는 와이어들을 포함하는, 동축 케이블, 구리 와이어 또는 광섬유를 포함한다. 송신 매체는 또한 무선파(radio wave) 및 적외선 데이터 통신 동안에 생성된 것들과 같은 음파 또는 광파의 형태를 취할 수 있다.
타겟 디바이스에 제어 디바이스를 안전하게 접속
다양한 형태의 매체는 실행을 위해 프로세서(404)에 하나 이상의 명령어의 하나 이상의 시퀀스를 운반하는데 수반될 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 명령어들을 그것의 동적 메모리에 로딩하고 명령어들을 모뎀을 이용하여 전화선을 통해 전송할 수 있다. 컴퓨터 시스템(400)에 대해 로컬인 모뎀은 전화선 상에서 데이터를 수신하고, 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기는 적외선 신호에 운반된 데이터를 수신할 수 있고, 적절한 회로가 그 데이터를 버스(402)에 배치할 수 있다. 버스(402)는 그 데이터를 메인 메모리(406)에 운반하고, 메인 메모리(406)로부터 프로세서(404)가 명령어들을 검색하여 실행한다. 메인 메모리(406)에 의해 수신된 명령어들은, 프로세서(404)에 의한 실행 전 또는 후에 저장 디바이스(410) 상에 선택적으로 저장될 수 있다.
컴퓨터 시스템(400)은 또한 버스(402)에 결합된 통신 인터페이스(418)를 포함한다. 통신 인터페이스(418)는 로컬 네트워크(422)에 접속되는 네트워크 링크(420)에 양방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(418)는 통합 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 타입의 전화선에 데이터 통신 접속을 제공하기 위한 모뎀일 수 있다. 또 다른 예로서, 통신 인터페이스(418)는 호환 가능한 로컬 영역 네트워크(LAN)에 데이터 통신 접속을 제공하기 위한 LAN 카드일 수 있다. 무선 링크들이 구현될 수도 있다. 임의의 이러한 구현에서, 통신 인터페이스(418)는 다양한 타입들의 정보를 표현하는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광학 신호들을 전송 및 수신한다.
네트워크 링크(420)는 일반적으로 하나 이상의 네트워크를 통해 데이터 통신을 다른 데이터 디바이스에 제공한다. 예를 들어, 네트워크 링크(420)는 인터넷 서비스 제공자(ISP)(426)에 의해 운용되는 데이터 장비에 또는 호스트 컴퓨터(424)에 로컬 네트워크(422)를 통해 접속을 제공할 수 있다. ISP(426)는 현재 일반적으로 "인터넷"(428)으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(422) 및 인터넷(428) 둘 모두는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광학 신호들을 사용한다. 디지털 데이터를 컴퓨터 시스템(400)으로 그리고 컴퓨터 시스템(400)으로부터 운반하는, 다양한 네트워크들을 통한 신호들과, 네트워크 링크(420) 상의 그리고 통신 인터페이스(418)를 통한 신호들은 송신 매체들의 예시적인 형태들이다.
컴퓨터 시스템(400)은 네트워크(들), 네트워크 링크(420) 및 통신 인터페이스(418)를 통해 메시지를 전송하고 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷의 예에서, 서버(430)는 인터넷(428), ISP(426), 로컬 네트워크(422) 및 통신 인터페이스(418)를 통해 응용 프로그램에 대한 요청된 코드를 송신할 수 있다.
수신된 코드는 그것이 수신될 때에 프로세서(404)에 의해 실행될 수도 있고, 및/또는 더 이후의 실행을 위하여 저장 디바이스(410) 또는 다른 비휘발성 스토리지에 저장될 수 있다.
전술한 명세서에서, 본 발명의 실시예들은 구현마다 다를 수 있는 수많은 특정 세부 사항을 참조하여 설명되었다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인이 본 발명의 범위가 되도록 의도한 것은, 본 출원에서 특정한 형태로 발행되는 청구항들의 세트의 문자 그대로의 등가 범위이며, 그런 청구항들의 특정 형태는 임의의 후속 보정을 포함한다.
5.0 확장 및 대안
전술한 명세서에서, 본 발명의 실시예들은 구현에 따라 다를 수 있는 수많은 구체적인 세부 사항을 참조하여 설명되었다. 따라서, 무엇이 본 발명이고 출원인에 의해 본 발명이라고 의도된 것인지를 나타내는 유일한 독점적인 지표는 본 명세서에서 나오는 청구항들의 세트이며, 이들 청구항에서 나오는 특정한 형태는 임의의 차후 보정을 포함한다. 이러한 청구항들에 포함되는 용어들에 대한 본 명세서에 명확히 기술되는 임의의 정의들은 청구항들에서 사용되는 이러한 용어들의 의미를 결정할 것이다. 따라서, 청구항에 명확하게 언급되지 않은 어떤 제한, 요소, 특성, 피처, 이점, 또는 속성도 이러한 청구항의 범위를 결코 제한해서는 안 된다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다.
6.0 추가 공개
본 명세서에 설명된 주제의 양태들은 다음의 번호가 매겨진 항에서 제시된다:
1. 방법은, 서버 컴퓨터에 의해, 특정 계정에 대한 특정 콘텐츠를 지정하는 요청을 클라이언트 컴퓨터로부터 수신하는 단계 - 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 원래 오디오 언어 및 특정 계정을 선호 오디오 언어 및 선호 자막 언어와 연관시키는 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 선호 오디오 언어 및 선호 자막 언어를 선택하는 단계; 서버 컴퓨터로부터 클라이언트 컴퓨터로, 특정 콘텐츠, 선호 오디오 언어 및 선호 자막 언어와 연관된 자산에 대한 자산 식별 데이터를 제공하는 단계; 새로운 오디오 언어 또는 새로운 자막 언어를 지정하는 입력에 응답하여, 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계; 서버 컴퓨터에 의해, 특정 콘텐츠와 관련하여 특정 사용자에게 제시되었던 제시된 오디오 언어 및 제시된 자막 언어를 식별하는 하나 이상의 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 제시된 오디오 언어가 선호 오디오 언어와 상이하거나 또는 제시된 자막 언어가 선호 자막 언어와 상이하다는 결정에 응답하여, 서버 컴퓨터가 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계를 포함한다.
2. 1항의 방법에서, 서버 컴퓨터에 의해, 클라이언트 컴퓨터로의 특정 비디오의 스트리밍 동안, 새로운 오디오 언어 또는 새로운 자막 언어를 요청하는 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 클라이언트 컴퓨터로부터 메시지를 수신한 것에 응답하여, 서버 컴퓨터가 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계를 더 포함한다.
3. 1항 또는 2항 중 어느 한 항의 방법에서, 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계는 선호 오디오 언어를 제시된 오디오 언어로 업데이트하거나 또는 선호 자막 언어를 제시된 자막 언어로 업데이트하고, 서버 컴퓨터에 의해, 클라이언트 컴퓨터로부터 특정 계정에 대한 제2 특정 콘텐츠를 지정하는 제2 요청을 수신하는 단계 - 제2 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 제2 선호 오디오 언어 및 제2 선호 자막 언어를 선택하는 단계; 서버 컴퓨터에 의해, 제2 특정 콘텐츠, 제2 선호 오디오 언어 및 제2 선호 자막 언어와 연관된 제2 자산에 대한 제2 자산 식별 데이터를 제공하는 단계를 더 포함한다.
4. 1항 내지 3항의 방법에서, 서버 컴퓨터가, 제시된 오디오 언어가 특정 임계 기간 또는 시간 백분율보다 더 많은 동안 제시되었다는 결정, 또는 제시된 자막 언어가 제2 특정 임계 기간 또는 제2 시간 백분율보다 많은 동안 제시되었다는 결정에 응답하여 특정 레코드를 업데이트하는 단계를 더 포함한다.
5. 1항 내지 4항의 방법에서, 특정 레코드는, 특정 연령 그룹, 특정 기간 또는 디바이스 볼륨 설정 중 하나 이상을 포함하는 하나 이상의 팩터를 지정하고, 서버 컴퓨터는 하나 이상의 팩터에 기초하여 선호 오디오 언어 및 선호 자막 언어를 선택한다.
6. 1항 내지 5항의 방법에서, 선호 오디오 언어 또는 선호 자막 언어가 스트리밍에 사용 가능하지 않다는 결정에 응답하여, 선호 오디오 언어 또는 선호 자막 언어 대신에 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어를 선택하는 단계를 더 포함한다.
7. 6항의 방법에서, 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어는 특정 계정의 출신 국가에 기초한다.
8. 6항 또는 7항 중 어느 한 항의 방법에서, 사용 가능한 백업 오디오 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 오디오 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 다른 레코드에 기초한다.
9. 6항 내지 8항 중 어느 한 항의 방법에서, 사용 가능한 백업 자막 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 자막 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 레코드에 기초한다.
10. 6항 내지 9항 중 어느 한 항의 방법에서, 특정 레코드는 선호 오디오 언어들의 순서화된 리스트 또는 선호 자막 언어들의 순서화된 리스트 중 하나 이상을 지정하고, 사용 가능한 백업 오디오 언어는 선호 오디오 언어들의 순서화된 리스트에 기초하여 선택되거나, 또는 사용 가능한 백업 자막 언어는 선호 자막 언어들의 순서화된 리스트에 기초하여 선택된다.
11. 1항 내지 10항 중 어느 한 항의 방법에서, 선호 자막 언어는 자막이 없다.
12. 하나 이상의 명령어를 저장하는 비일시적인 컴퓨터 판독 가능 저장 매체로서, 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 특정 계정에 대한 특정 콘텐츠를 지정하는 요청을 클라이언트 컴퓨터로부터 수신하는 단계 - 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 원래 오디오 언어 및 특정 계정을 선호 오디오 언어 및 선호 자막 언어와 연관시키는 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 선호 오디오 언어 및 선호 자막 언어를 선택하는 단계; 서버 컴퓨터로부터 클라이언트 컴퓨터로, 특정 콘텐츠, 선호 오디오 언어 및 선호 자막 언어와 연관된 자산에 대한 자산 식별 데이터를 제공하는 단계; 새로운 오디오 언어 또는 새로운 자막 언어를 지정하는 입력에 응답하여, 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계; 서버 컴퓨터에 의해, 특정 콘텐츠와 관련하여 특정 사용자에게 제시되었던 제시된 오디오 언어 및 제시된 자막 언어를 식별하는 하나 이상의 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 제시된 오디오 언어가 선호 오디오 언어와 상이하거나 또는 제시된 자막 언어가 선호 자막 언어와 상이하다는 결정에 응답하여, 서버 컴퓨터가 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계를 수행하게 한다.
13. 12항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 상기 단계들은, 서버 컴퓨터에 의해, 클라이언트 컴퓨터로의 특정 비디오의 스트리밍 동안, 새로운 오디오 언어 또는 새로운 자막 언어를 요청하는 메시지를 클라이언트 컴퓨터로부터 수신하는 단계; 클라이언트 컴퓨터로부터 메시지를 수신한 것에 응답하여, 서버 컴퓨터가 특정 콘텐츠 및 새로운 오디오 언어 또는 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계를 더 포함한다.
14. 12항 또는 13항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 선호도 데이터베이스에서 특정 레코드를 업데이트하는 단계는 선호 오디오 언어를 제시된 오디오 언어로 업데이트하거나 또는 선호 자막 언어를 제시된 자막 언어로 업데이트하고, 상기 단계들은, 서버 컴퓨터에 의해, 클라이언트 컴퓨터로부터 특정 계정에 대한 제2 특정 콘텐츠를 지정하는 제2 요청을 수신하는 단계 - 제2 특정 콘텐츠는 원래 오디오 언어와 연관됨 - ; 요청을 수신한 것에 응답하여, 서버 컴퓨터에 의해, 선호도 데이터베이스의 특정 레코드에 기초하여 특정 콘텐츠에 대한 제2 선호 오디오 언어 및 제2 선호 자막 언어를 선택하는 단계; 서버 컴퓨터에 의해, 제2 특정 콘텐츠, 제2 선호 오디오 언어 및 제2 선호 자막 언어와 연관된 제2 자산에 대한 제2 자산 식별 데이터를 제공하는 단계를 더 포함한다.
15. 12항 내지 14항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 서버 컴퓨터가, 제시된 오디오 언어가 특정 임계 기간 또는 시간 백분율보다 더 많은 동안 제시되었다는 결정, 또는 제시된 자막 언어가 제2 특정 임계 기간 또는 제2 시간 백분율보다 많은 동안 제시되었다는 결정에 응답하여 특정 레코드를 업데이트하는 단계를 더 포함한다.
16. 12항 내지 15항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 특정 레코드는, 특정 연령 그룹, 특정 기간 또는 디바이스 볼륨 설정 중 하나 이상을 포함하는 하나 이상의 팩터를 지정하고, 서버 컴퓨터는 하나 이상의 팩터에 기초하여 선호 오디오 언어 및 선호 자막 언어를 선택한다.
17. 12항 내지 16항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 상기 단계들은, 선호 오디오 언어 또는 선호 자막 언어가 스트리밍에 사용 가능하지 않다는 결정에 응답하여, 선호 오디오 언어 또는 선호 자막 언어 대신에 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어를 선택하는 단계를 더 포함한다.
18. 17항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어는 특정 계정의 출신 국가에 기초한다.
19. 17항 또는 18항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 사용 가능한 백업 오디오 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 오디오 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 다른 레코드에 기초한다.
20. 17항 내지 19항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 사용 가능한 백업 자막 언어는 상이한 원래 오디오 언어 및 특정 계정을 사용 가능한 백업 자막 언어와 연관시키는 선호도 데이터베이스의 하나 이상의 레코드에 기초한다.
21. 17항 내지 20항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 특정 레코드는 선호 오디오 언어들의 순서화된 리스트 또는 선호 자막 언어들의 순서화된 리스트 중 하나 이상을 지정하고, 사용 가능한 백업 오디오 언어는 선호 오디오 언어들의 순서화된 리스트에 기초하여 선택되거나, 또는 사용 가능한 백업 자막 언어는 선호 자막 언어들의 순서화된 리스트에 기초하여 선택된다.
22. 12항 내지 21항 중 어느 한 항의 비일시적인 컴퓨터 판독 가능 저장 매체에서, 선호 자막 언어는 자막이 없다.

Claims (13)

  1. 방법으로서,
    서버 컴퓨터에 의해, 특정 계정에 대한 특정 콘텐츠를 지정하는 요청을 클라이언트 컴퓨터로부터 수신하는 단계 - 상기 특정 콘텐츠는 원래 오디오 언어(original audio language)와 연관됨 - ;
    상기 요청을 수신한 것에 응답하여, 상기 서버 컴퓨터에 의해, 상기 원래 오디오 언어 및 상기 특정 계정을 선호 오디오 언어 및 선호 자막 언어와 연관시키는 선호도 데이터베이스의 특정 레코드에 기초하여 상기 특정 콘텐츠에 대한 상기 선호 오디오 언어 및 상기 선호 자막 언어를 선택하는 단계;
    상기 서버 컴퓨터로부터 상기 클라이언트 컴퓨터로, 상기 특정 콘텐츠, 상기 선호 오디오 언어 및 상기 선호 자막 언어와 연관된 자산(asset)에 대한 자산 식별 데이터를 제공하는 단계;
    새로운 오디오 언어 또는 새로운 자막 언어를 지정하는 입력에 응답하여, 상기 특정 콘텐츠 및 상기 새로운 오디오 언어 또는 상기 새로운 자막 언어와 연관된 상이한 자산 식별 데이터를 제공하는 단계;
    상기 서버 컴퓨터에 의해, 상기 특정 콘텐츠와 관련하여 특정 사용자에게 제시되었던 제시된 오디오 언어 및 제시된 자막 언어를 식별하는 하나 이상의 메시지를 상기 클라이언트 컴퓨터로부터 수신하는 단계;
    상기 제시된 오디오 언어가 상기 선호 오디오 언어와 상이하거나 또는 상기 제시된 자막 언어가 상기 선호 자막 언어와 상이하다는 결정에 응답하여, 상기 서버 컴퓨터가 상기 선호도 데이터베이스에서 상기 특정 레코드를 업데이트하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 서버 컴퓨터에 의해, 상기 클라이언트 컴퓨터로의 상기 특정 비디오의 스트리밍 동안, 상기 새로운 오디오 언어 또는 상기 새로운 자막 언어를 요청하는 메시지를 상기 클라이언트 컴퓨터로부터 수신하는 단계;
    상기 클라이언트 컴퓨터로부터 상기 메시지를 수신한 것에 응답하여, 상기 서버 컴퓨터가 상기 특정 콘텐츠 및 상기 새로운 오디오 언어 또는 상기 새로운 자막 언어와 연관된 상기 상이한 자산 식별 데이터를 제공하는 단계
    를 더 포함하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 선호도 데이터베이스에서 상기 특정 레코드를 업데이트하는 단계는 상기 선호 오디오 언어를 상기 제시된 오디오 언어로 업데이트하거나 또는 상기 선호 자막 언어를 상기 제시된 자막 언어로 업데이트하고,
    상기 서버 컴퓨터에 의해, 상기 클라이언트 컴퓨터로부터 상기 특정 계정에 대한 제2 특정 콘텐츠를 지정하는 제2 요청을 수신하는 단계 - 상기 제2 특정 콘텐츠는 상기 원래 오디오 언어와 연관됨 - ;
    상기 요청을 수신한 것에 응답하여, 상기 서버 컴퓨터에 의해, 상기 선호도 데이터베이스의 특정 레코드에 기초하여 상기 특정 콘텐츠에 대한 제2 선호 오디오 언어 및 제2 선호 자막 언어를 선택하는 단계;
    상기 서버 컴퓨터에 의해, 상기 제2 특정 콘텐츠, 상기 제2 선호 오디오 언어 및 상기 제2 선호 자막 언어와 연관된 제2 자산에 대한 제2 자산 식별 데이터를 제공하는 단계
    를 더 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 서버 컴퓨터가, 상기 제시된 오디오 언어가 특정 임계 기간 또는 시간 백분율보다 더 많은 동안 제시되었다는 결정, 또는 상기 제시된 자막 언어가 제2 특정 임계 기간 또는 제2 시간 백분율보다 많은 동안 제시되었다는 결정에 응답하여 상기 특정 레코드를 업데이트하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 특정 레코드는, 특정 연령 그룹, 특정 기간 또는 디바이스 볼륨 설정 중 하나 이상을 포함하는 하나 이상의 팩터를 지정하고, 상기 서버 컴퓨터는 상기 하나 이상의 팩터에 기초하여 상기 선호 오디오 언어 및 상기 선호 자막 언어를 선택하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 선호 오디오 언어 또는 상기 선호 자막 언어가 스트리밍에 사용 가능하지 않다는 결정에 응답하여, 상기 선호 오디오 언어 또는 상기 선호 자막 언어 대신에, 사용 가능한 백업 오디오 언어 또는 사용 가능한 백업 자막 언어를 선택하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 사용 가능한 백업 오디오 언어 또는 상기 사용 가능한 백업 자막 언어는 상기 특정 계정의 출신 국가(country of origin)에 기초하는 방법.
  8. 제6항 또는 제7항에 있어서, 상기 사용 가능한 백업 오디오 언어는 상이한 원래 오디오 언어 및 상기 특정 계정을 상기 사용 가능한 백업 오디오 언어와 연관시키는 상기 선호도 데이터베이스의 하나 이상의 다른 레코드에 기초하는 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 사용 가능한 백업 자막 언어는 상이한 원래 오디오 언어 및 상기 특정 계정을 상기 사용 가능한 백업 자막 언어와 연관시키는 상기 선호도 데이터베이스의 하나 이상의 레코드에 기초하는 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 특정 레코드는 상기 선호 오디오 언어들의 순서화된 리스트 또는 상기 선호 자막 언어들의 순서화된 리스트 중 하나 이상을 지정하고, 상기 사용 가능한 백업 오디오 언어는 상기 선호 오디오 언어들의 순서화된 리스트에 기초하여 선택되거나, 또는 상기 사용 가능한 백업 자막 언어는 상기 선호 자막 언어들의 순서화된 리스트에 기초하여 선택되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 선호 자막 언어는 자막 없음인 방법.
  12. 명령어들을 저장하는 하나 이상의 컴퓨터 판독 가능 매체로서, 상기 명령어들은 하나 이상의 컴퓨팅 디바이스에 의해 실행될 때, 제1항 내지 제11항 중 어느 한 항에 기재된 단계들의 수행을 야기하는 하나 이상의 컴퓨터 판독 가능 매체.
  13. 제1항 내지 제11항 중 어느 한 항에 기재된 단계들을 구현하도록 구성된, 컴퓨팅 하드웨어에 의해 적어도 부분적으로 구현되는 컴포넌트들을 포함하는 하나 이상의 컴퓨팅 디바이스를 포함하는 시스템.
KR1020177004089A 2014-07-15 2015-07-14 자막 및 더빙에 대한 선호도의 자동 검출 KR102392497B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/332,287 2014-07-15
US14/332,287 US9571870B1 (en) 2014-07-15 2014-07-15 Automatic detection of preferences for subtitles and dubbing
PCT/US2015/040363 WO2016011016A1 (en) 2014-07-15 2015-07-14 Automatic detection of preferences for subtitles and dubbing

Publications (2)

Publication Number Publication Date
KR20170033360A true KR20170033360A (ko) 2017-03-24
KR102392497B1 KR102392497B1 (ko) 2022-04-29

Family

ID=53801159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004089A KR102392497B1 (ko) 2014-07-15 2015-07-14 자막 및 더빙에 대한 선호도의 자동 검출

Country Status (9)

Country Link
US (2) US9571870B1 (ko)
EP (1) EP3170311B1 (ko)
KR (1) KR102392497B1 (ko)
AU (2) AU2015289869B2 (ko)
CA (1) CA2955363C (ko)
DK (1) DK3170311T3 (ko)
MX (1) MX363980B (ko)
SG (1) SG11201700338UA (ko)
WO (1) WO2016011016A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571870B1 (en) 2014-07-15 2017-02-14 Netflix, Inc. Automatic detection of preferences for subtitles and dubbing
US10390059B2 (en) * 2014-09-04 2019-08-20 Comcast Cable Communications, Llc Latent binding of content based on user preference
US10134386B2 (en) 2015-07-21 2018-11-20 Rovi Guides, Inc. Systems and methods for identifying content corresponding to a language spoken in a household
US10659845B2 (en) 2015-08-06 2020-05-19 Google Llc Methods, systems, and media for providing video content suitable for audio-only playback
KR20180104679A (ko) * 2016-02-29 2018-09-21 샤프 가부시키가이샤 서비스 고지에서의 컴포넌트 표시
US10575058B2 (en) * 2016-03-16 2020-02-25 Mrityunjay Patiĺ Method and a system for enabling an user to consume a video or audio content understandable with respect to a preferred language
US11206461B2 (en) * 2016-07-05 2021-12-21 Sharp Kabushiki Kaisha Systems and methods for communicating user settings in conjunction with execution of an application
EP3319331B1 (en) 2016-11-04 2020-01-29 Nagravision S.A. Transmission of audio streams
US10678855B2 (en) * 2018-04-20 2020-06-09 International Business Machines Corporation Generating descriptive text contemporaneous to visual media
CN108833991A (zh) * 2018-06-29 2018-11-16 北京优酷科技有限公司 视频字幕显示方法及装置
US10638201B2 (en) * 2018-09-26 2020-04-28 Rovi Guides, Inc. Systems and methods for automatically determining language settings for a media asset
US11178465B2 (en) * 2018-10-02 2021-11-16 Harman International Industries, Incorporated System and method for automatic subtitle display
US10950254B2 (en) 2018-10-25 2021-03-16 International Business Machines Corporation Producing comprehensible subtitles and captions for an effective group viewing experience
CN109361958A (zh) * 2018-11-05 2019-02-19 侯清元 多语字幕制作方法、装置、介质及电子设备
WO2020188101A1 (en) * 2019-03-20 2020-09-24 Piksel, Inc A method and system for content internationalization & localisation
US11140434B1 (en) * 2020-04-29 2021-10-05 Rovi Guides, Inc. Systems and methods for providing personalized actionable items for content items
CN113628626A (zh) * 2020-05-09 2021-11-09 阿里巴巴集团控股有限公司 语音识别方法、装置和系统以及翻译方法和系统
US11212587B1 (en) 2020-11-05 2021-12-28 Red Hat, Inc. Subtitle-based rewind for video display
CN112995728A (zh) * 2021-03-05 2021-06-18 深圳市亿联智能有限公司 一种机顶盒预约加载字幕及音频的方法
US11700430B2 (en) * 2021-04-30 2023-07-11 Rovi Guides, Inc. Systems and methods to implement preferred subtitle constructs
US11934438B2 (en) 2021-06-28 2024-03-19 Rovi Guides, Inc. Subtitle rendering based on the reading pace
US20220414132A1 (en) * 2021-06-28 2022-12-29 Rovi Guides, Inc. Subtitle rendering based on the reading pace
CN115914768A (zh) * 2021-08-11 2023-04-04 脸萌有限公司 视频播放方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100033625A1 (en) * 2008-07-02 2010-02-11 Eun Hae Choi Apparatus and method for managing output of media information
US20100045866A1 (en) * 2008-08-20 2010-02-25 Verizon Corporate Services Group, Inc. Methods and systems for providing auxiliary viewing options
WO2011146059A1 (en) * 2010-05-19 2011-11-24 Ericsson Television Inc. Preferred language for video on demand & cable tv and audio

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0798921B1 (en) * 1996-03-29 2004-12-29 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus for television signals and program display method
US7051360B1 (en) * 1998-11-30 2006-05-23 United Video Properties, Inc. Interactive television program guide with selectable languages
US6661466B1 (en) 2000-09-18 2003-12-09 Sony Corporation System and method for setting default audio and subtitling language preferences for a video tuner
JP3862222B2 (ja) * 2002-08-30 2006-12-27 パイオニア株式会社 情報再生装置および情報再生方法
KR100811167B1 (ko) * 2002-11-04 2008-03-07 삼성전자주식회사 디지털 방송 수신장치의 오디오 언어 선택 방법
US20040197087A1 (en) * 2003-04-07 2004-10-07 Lg Electronics Inc. Method for displaying available languages supported by the content recorded on a recording medium
EP1569236A1 (en) * 2004-02-27 2005-08-31 Orion Electric Company, Ltd. DVD reproducing apparatus including language setting apparatus and language setting method executed by DVD reproducing apparatus
JP4339206B2 (ja) * 2004-08-19 2009-10-07 ソニー株式会社 再生装置、再生方法および再生プログラム、ならびに、記録媒体
US7631323B1 (en) 2005-12-07 2009-12-08 Netflix, Inc. Method of sharing an item rental account
KR100771624B1 (ko) * 2006-03-06 2007-10-30 엘지전자 주식회사 텔레비전 수신기의 언어 설정 장치 및 방법
JP2008211425A (ja) * 2007-02-26 2008-09-11 Funai Electric Co Ltd 情報記録再生装置
JP5100746B2 (ja) * 2007-03-22 2012-12-19 三菱電機株式会社 映像再生装置および映像再生方法
JP4989271B2 (ja) * 2007-03-28 2012-08-01 キヤノン株式会社 放送受信機及び表示方法
KR101358224B1 (ko) * 2007-06-19 2014-02-05 엘지전자 주식회사 다중언어를 지원하는 단말장치 및 방법
US8239767B2 (en) * 2007-06-25 2012-08-07 Microsoft Corporation Audio stream management for television content
CN101453589A (zh) * 2007-12-04 2009-06-10 深圳Tcl新技术有限公司 支持多语言应用环境的装置与方法
JP4946874B2 (ja) * 2008-01-09 2012-06-06 ソニー株式会社 再生装置および再生方法
US7487096B1 (en) * 2008-02-20 2009-02-03 International Business Machines Corporation Method to automatically enable closed captioning when a speaker has a heavy accent
US20110023079A1 (en) * 2008-03-20 2011-01-27 Mark Alan Schultz System and method for processing priority transport stream data in real time in a multi-channel broadcast multimedia system
EP2469845B1 (en) * 2008-06-27 2015-04-01 Kabushiki Kaisha Toshiba Television receiver and method of controlling the receiver
US20100011405A1 (en) 2008-07-10 2010-01-14 Sony Corporation Method and Apparatus for Audio Selection
US20100106482A1 (en) * 2008-10-23 2010-04-29 Sony Corporation Additional language support for televisions
US20100265397A1 (en) * 2009-04-20 2010-10-21 Tandberg Television, Inc. Systems and methods for providing dynamically determined closed caption translations for vod content
WO2010143224A1 (ja) 2009-06-08 2010-12-16 三菱電機株式会社 再生装置
US20110164175A1 (en) * 2010-01-05 2011-07-07 Rovi Technologies Corporation Systems and methods for providing subtitles on a wireless communications device
US9253539B2 (en) * 2010-09-30 2016-02-02 Disney Enterprises, Inc. Systems and methods for settings management across multiple titles
US8914276B2 (en) * 2011-06-08 2014-12-16 Microsoft Corporation Dynamic video caption translation player
US8812295B1 (en) * 2011-07-26 2014-08-19 Google Inc. Techniques for performing language detection and translation for multi-language content feeds
US9762944B2 (en) * 2012-11-28 2017-09-12 Rovi Guides, Inc. Systems and methods for presenting content simultaneously in different forms based on parental control settings
US8954313B2 (en) * 2012-12-11 2015-02-10 Disney Enterprises, Inc. Media content presentation in a selected language
JP6150405B2 (ja) * 2013-01-15 2017-06-21 ヴィキ, インク.Viki, Inc. メディアにキャプションを付けるシステム及び方法
CN104427357A (zh) * 2013-09-04 2015-03-18 中兴通讯股份有限公司 语言种类设置方法和装置
US20150149146A1 (en) * 2013-11-22 2015-05-28 Jay Abramovitz Systems for delivery of audio signals to mobile devices
US9571870B1 (en) 2014-07-15 2017-02-14 Netflix, Inc. Automatic detection of preferences for subtitles and dubbing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100033625A1 (en) * 2008-07-02 2010-02-11 Eun Hae Choi Apparatus and method for managing output of media information
US20100045866A1 (en) * 2008-08-20 2010-02-25 Verizon Corporate Services Group, Inc. Methods and systems for providing auxiliary viewing options
WO2011146059A1 (en) * 2010-05-19 2011-11-24 Ericsson Television Inc. Preferred language for video on demand & cable tv and audio

Also Published As

Publication number Publication date
US9571870B1 (en) 2017-02-14
CA2955363C (en) 2022-09-27
KR102392497B1 (ko) 2022-04-29
EP3170311A1 (en) 2017-05-24
SG11201700338UA (en) 2017-02-27
AU2019204595A1 (en) 2019-07-18
DK3170311T3 (da) 2020-10-26
MX363980B (es) 2019-04-10
WO2016011016A1 (en) 2016-01-21
AU2015289869A1 (en) 2017-02-02
CA2955363A1 (en) 2016-01-21
MX2017000677A (es) 2017-07-26
EP3170311B1 (en) 2020-08-19
AU2015289869B2 (en) 2019-03-28
US10321174B1 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
KR102392497B1 (ko) 자막 및 더빙에 대한 선호도의 자동 검출
US11468917B2 (en) Providing enhanced content
US20230171443A1 (en) Systems and methods for providing a slow motion video stream concurrently with a normal-speed video stream upon detection of an event
JP5836278B2 (ja) オンラインソーシャルネットワークによる自動メディア資産アップデート
US20180211556A1 (en) Systems and methods for adjusting display lengths of subtitles based on a user's reading speed
US11853338B2 (en) Systems and methods for correcting a voice query based on a subsequent voice query with a lower pronunciation rate
US11425460B1 (en) Selective streaming based on dynamic parental rating of content
US20220248089A1 (en) Selective streaming based on dynamic parental rating of content
JP2009194767A (ja) ビデオ評価装置及び方法、並びにビデオ提供装置
US11659243B2 (en) Methods and systems to provide a playlist for simultaneous presentation of a plurality of media assets
EP3205087A1 (en) Electronic program guide displaying media service recommendations
US20240134896A1 (en) Systems and methods for correcting a voice query based on a subsequent voice query with a lower pronunciation rate

Legal Events

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