KR102219844B1 - 자동 재생 콘텐츠의 클릭 투 플레이 콘텐츠로의 서버-기반 변환 - Google Patents
자동 재생 콘텐츠의 클릭 투 플레이 콘텐츠로의 서버-기반 변환 Download PDFInfo
- Publication number
- KR102219844B1 KR102219844B1 KR1020187031365A KR20187031365A KR102219844B1 KR 102219844 B1 KR102219844 B1 KR 102219844B1 KR 1020187031365 A KR1020187031365 A KR 1020187031365A KR 20187031365 A KR20187031365 A KR 20187031365A KR 102219844 B1 KR102219844 B1 KR 102219844B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- content item
- original
- converted
- item
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/7837—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/738—Presentation of query results
- G06F16/739—Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
- G06F16/4393—Multimedia presentations, e.g. slide shows, multimedia albums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
변환된 컨텐츠를 생성및 제공하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들 및 장치. 하나의 양태에서, 시스템은 콘텐츠 데이터베이스, 상기 콘텐츠 데이터베이스는, 콘텐츠 제공자들로부터 콘텐츠를 수신하고 오리지널 콘텐츠와 연관된 변환된 콘텐츠와 애니메이팅 콘텐츠를 포함하는 오리지널 콘텐츠를 저장하며; 변환기 시스템, 상기 변환기 시스템은 오리지널 콘텐츠를 콘텐츠 데이터베이스로부터 수신하고; 변환된 콘텐츠 아이템들을 생성하고, 상기 아이템들을 생성하는 것은: 특정한 오리지널 콘텐츠에 대해, 특정한 오리지널 콘텐츠로부터 정적 표현을 식별하고 추출하는 것; 사용자 엘리먼트들로 정적 표현을 오버레이하는 것; 및 사용자 엘리먼트들로 오버레이된 정적 표현을 포함하는 특정한 변환된 콘텐츠를 저장하는 것을 포함하고; 및 변환된 콘텐츠를 콘텐츠 데이터베이스로 전송하며; 및 콘텐츠 배포 시스템을 포함하고, 상기 콘텐츠 배포 시스템은: 콘텐츠에 대한 요청을 수신하고; 콘텐츠 데이터베이스로부터 제1 오리지널 콘텐츠를 식별하고; 제1 오리지널 콘텐츠와 연관된 제1 변환된 콘텐츠를 수신하며; 및 제1 변환된 콘텐츠 아이템을 제공한다.
Description
본 명세서는 데이터 프로세싱 및 콘텐츠 변환과 관련된 것이다.
인터넷은 다양한 리소스들에 대한 액세스를 제공한다. 예를 들어, 비디오 및/또는 오디오 파일들뿐만 아니라 특정한 주제들 또는 특정한 뉴스 기사들에 대한 웹 페이지들은 인터넷을 통해 액세스 할 수 있다.
콘텐츠는 이미지 콘텐츠, Flash®콘텐츠, 비디오 콘텐츠 및 HTML 콘텐츠와 같은 다양한 형태들로 제시될 수 있다. Flash®콘텐츠, 비디오 콘텐츠 및 HTML 콘텐츠는 종종 사용자 인터랙션 없이 애니메이션으로 애니메이팅(animate)되는 자동 재생 콘텐츠로 제시된다.
일반적으로, 본 명세서에 기술된 발명의 하나의 혁신적인 양태는 시스템에 구현될 수 있으며, 상기 시스템은: 콘텐츠 데이터베이스, 상기 콘텐츠 데이터베이스는, 하나 이상의 콘텐츠 제공자들과 통신함에 있어서, 상기 하나 이상의 콘텐츠 제공자들로부터 콘텐츠를 수신하고 복수의 오리지널(original) 콘텐츠 아이템들과 연관된 복수의 변환된 콘텐츠 아이템들 및 자동 재생 콘텐츠를 포함하는 상기 복수의 오리지널 콘텐츠 아이템들을 저장하며; 하나 이상의 프로세서들을 포함하는 변환기 시스템, 상기 변환기 시스템은 상기 콘텐츠 데이터베이스와 통신함에 있어서: 상기 복수의 오리지널 콘텐츠 아이템들을 상기 콘텐츠 데이터베이스로부터 수신하고; 상기 복수의 오리지널 콘텐츠 아이템들로부터 상기 복수의 변환된 콘텐츠 아이템들을 생성하고, 이 생성은; 특정한 오리지널 콘텐츠 아이템에 대해, 상기 특정한 오리지널 콘텐츠 아이템으로부터 관련 정적 표현을 식별하는 것; 상기 특정한 오리지널 콘텐츠 아이템으로부터 상기 관련 정적 표현을 추출하는 것; 상기 특정한 오리지널 콘텐츠 아이템의 재생과 연관된 하나 이상의 사용자 인터페이스 엘리먼트들로 상기 관련 정적 표현을 오버레이(overlay)하는 것; 및 상기 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이된 상기 관련 정적 표현을 포함하는 특정한 변환된 콘텐츠 아이템을 저장하는 것에 의함이며; 및 상기 복수의 변환된 콘텐츠 아이템들을 상기 콘텐츠 데이터베이스로 전송하며; 및 하나 이상의 프로세서들을 포함하는 콘텐츠 배포(distribution) 시스템을 포함하고, 상기 콘텐츠 배포 시스템은 상기 콘텐츠 데이터베이스와 통신함에 있어서: 원격 클라이언트 디바이스로부터 콘텐츠에 대한 요청을 수신하고; 상기 콘텐츠에 대한 요청에 응답하여, 상기 콘텐츠 데이터베이스에 저장된 상기 복수의 오리지널 콘텐츠 아이템들로부터 제1 오리지널 콘텐츠 아이템을 식별하고; 상기 콘텐츠 데이터베이스로부터 상기 제1 오리지널 콘텐츠 아이템과 연관된 제1 변환된 콘텐츠 아이템을 수신하며; 및 상기 제1 오리지널 콘텐츠 아이템과 연관된 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공한다. 변환된 콘텐츠 아이템은 연관된 오리지널 콘텐츠 아이템과 상이하다. 예를 들어, 변환된 콘텐츠 아이템은 전체적으로 정적 콘텐츠를 포함할 수 있거나, 대부분이 정적인 콘텐츠를 포함할 수 있거나 또는 초기에 정적인 콘텐츠 ("초기에 정적"은 콘텐츠 아이템이 재생될 때, 디스플레이되는 초기 콘텐츠가 정적인 콘텐츠임을 의미한다)를 포함할 수 있다. 오리지널 콘텐츠 아이템은 자동 재생 콘텐츠 아이템일 수 있다. 양태의 다른 실시예들은 컴퓨터 저장 디바이스들 상에 인코딩된, 방법들의 액션들을 수행하도록 구성된 대응하는 방법들, 장치 및 컴퓨터 프로그램들을 포함한다.
이들 및 다른 실시예들은 각각 다음 구성들 중 하나 이상을 선택적으로 포함할 수 있다. 콘텐츠 배포 시스템은 상기 원격 클라이언트 디바이스로부터, 상기 제1 변환된 콘텐츠 아이템과 관련된 자동 재생 콘텐츠를 시청하기 위한 사용자 요청을 더 수신하고; 및 자동 재생 콘텐츠를 시청하기 위한 상기 사용자 요청을 수신함에 응답하여, 상기 제1 오리지널 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 더 제공할 수 있다. 상기 복수의 오리지널 콘텐츠 아이템들은 자동 재생 HTML 콘텐츠를 포함하고, 상기 복수의 변환된 콘텐츠 아이템들은 클릭 투 플레이(click-to-play) 콘텐츠를 더 포함할 수 있다. 상기 변환기 시스템은 상기 콘텐츠 데이터베이스의 오리지널 콘텐츠 아이템들을 더 분석하고 변환 가능한 오리지널 콘텐츠 아이템들을 더 식별할 수 있다. 변환 가능한 오리지널 콘텐츠 아이템들을 식별하는 것은 임계치치 파일 크기보다 큰 오리지널 콘텐츠 아이템들을 식별하는 것을 포함할 수 있다. 상기 관련 정적 표현을 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이하는 것은 상기 하나 이상의 사용자 인터페이스 엘리먼트들 및 상기 하나 이상의 인터페이스 엘리먼트들의 상대적 포지션(position)들을 정의하는 템플릿을 식별하는 것을 포함할 수 있다. 상기 템플릿은 불투명(opacity) 레벨 또는 그레이스케일(grayscale) 레벨 중 적어도 하나를 추가로 정의할 수 있다. 상기 하나 이상의 사용자 인터페이스 엘리먼트들은 재생 버튼 및 상기 오리지널 콘텐츠를 제공했던 콘텐츠 제공자의 웹 페이지에 액세스하는 것과 연관된 버튼 중 적어도 하나를 포함할 수 있다. 상기 변환된 콘텐츠는 상기 오리지널 콘텐츠보다 작은 파일 크기를 가질 수 있다.
일부 구현예들에서, 상기 콘텐츠 배포 시스템은 콘텐츠에 대한 상기 요청을 수신하고 상기 변환된 콘텐츠를 상기 클라이언트 디바이스 상의 네이티브 어플리케이션(native application) 또는 웹 브라우저 중 하나에 제공한다. 일부 구현예들에서, 상기 콘텐츠 데이터베이스는 상기 복수의 변환된 콘텐츠 아이템들 각각을 대응하는 오리지널 콘텐츠 아이템과 연관시켜 저장한다. 기 복수의 변환된 콘텐츠 아이템들은 실질적으로 정적인 콘텐츠를 포함할 수 있다. 상기 원격 클라이언트 디바이스로부터의 콘텐츠에 대한 요청은 콘텐츠를 애니메이팅하기 위한 요청을 포함할 수 있다.
일부 구현예들에서, 상기 콘텐츠 배포 시스템은, 상기 제1 오리지널 콘텐츠 아이템을 식별한 후에, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 더 결정한다. 일부 구현예들에서, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 결정하는 것은: 상기 제1 오리지널 콘텐츠 아이템의 파일 크기 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 결정하는 것; 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기와 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 임계치치 파일 크기와 비교함에 기초하여, 상기 제1 변환된 콘텐츠 아이템을 선택하는 것을 포함한다.
본 명세서에 기술된 발명의 다른 혁신적인 양태는 방법들에서 구현될 수 있으며, 상기 방법들은 콘텐츠 데이터베이스에 의해 하나 이상의 콘텐츠 제공자들로부터, 자동 재생 콘텐츠를 포함하는 복수의 오리지널 콘텐츠 아이템들을 수신하는 단계; 하나 이상의 프로세서들에 의해, 상기 복수의 오리지널 콘텐츠 아이템들로부터 복수의 변환된 콘텐츠 아이템들을 생성하는 단계, 상기 생성하는 단계는; 특정한 오리지널 콘텐츠 아이템에 대해, 상기 특정한 오리지널 콘텐츠 아이템으로부터 관련 정적 표현을 식별하는 단계; 상기 특정한 오리지널 콘텐츠 아이템으로부터 상기 관련 정적 표현을 추출하는 단계; 상기 특정한 오리지널 콘텐츠 아이템의 재생과 연관된 하나 이상의 사용자 인터페이스 엘리먼트들로 상기 관련 정적 표현을 오버레이 하는 단계; 및 상기 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이된 상기 관련 정적 표현을 포함하는 특정한 변환된 콘텐츠 아이템을 저장하는 단계를 포함하며; 및 상기 콘텐츠 데이터베이스에 의해, 상기 복수의 변환된 콘텐츠 아이템 각각을 대응하는 오리지널 콘텐츠 아이템과 연관시켜 저장하는 단계; 원격 클라이언트로부터 콘텐츠에 대한 요청을 수신하는 단계; 상기 콘텐츠에 대한 요청에 응답하여, 상기 콘텐츠 데이터베이스에 저장된 상기 복수의 오리지널 콘텐츠 아이템들로부터 제1 오리지널 콘텐츠 아이템을 식별하는 단계; 상기 콘텐츠 데이터베이스로부터 상기 제1 오리지널 콘텐츠 아이템과 연관된 제1 변환된 콘텐츠 아이템을 수신하는 단계; 및 상기 제1 오리지널 콘텐츠 아이템과 연관된 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 단계를 포함한다.
일부 구현예들은 상기 원격 클라이언트 디바이스로부터, 상기 제1 변환된 콘텐츠 아이템과 관련된 자동 재생 콘텐츠를 시청하기 위한 사용자 요청을 수신하는 단계; 및 자동 재생 콘텐츠를 시청하기 위한 상기 사용자 요청을 수신함에 응답하여, 상기 제1 오리지널 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 단계를 더 포함한다. 일부 구현예들에서, 상기 복수의 오리지널 콘텐츠 아이템들은 자동 재생 HTML 콘텐츠를 포함하고, 상기 복수의 변환된 콘텐츠 아이템들은 클릭 투 플레이 콘텐츠를 포함한다. 일부 구현예들에서, 상기 방법들은 상기 제1 오리지널 콘텐츠 아이템을 식별한 후에, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 결정하는 단계를 더 포함하며, 상기 결정하는 단계는: 상기 제1 오리지널 콘텐츠 아이템의 파일 크기 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 결정하는 단계; 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기와 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 임계치치 파일 크기와 비교함에 기초하여, 상기 제1 변환된 콘텐츠 아이템을 선택하는 단계를 더 포함할 수 있다. 일부 구현예들에서, 상기 방법들은 상기 제1 변환된 콘텐츠 아이템을 제공한 후에, 상기 제1 오리지널 콘텐츠 아이템에 대한 상기 원격 클라이언트로부터의 요청을 수신하는 단계 및 상기 요청에 응답하여 상기 제1 오리지널 콘텐츠 아이템을 제공하는 단계를 더 포함할 수 있다. 다른 구현예들에서, 상기 방법들은 제1 변환된 콘텐츠 아이템과 함께 또는 그 직후에 상기 제1 오리지널 콘텐츠 아이템을 제공하는 단계를 더 포함할 수 있으며 - 이러한 구현예들에서, 상기 제1 오리지널 콘텐츠 아이템에 대한 원격 클라이언트로부터의 요청이 없는 경우에 상기 제1 오리지널 콘텐츠 아이템은 제공될 수 있다.
본 명세서에서 기술된 발명의 또 다른 혁신적인 양태는 컴퓨터 판독 가능 매체에서 구현될 수 있으며, 상기 컴퓨터 판독 가능 매체는 명령어들을 저장하고 있으며, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행시, 본 명세서에 기술된 임의의 양태 또는 구현예에 따른 방법을 포함하는 동작들의 수행하게 하는 것으로서, 상기 컴퓨터 판독 가능 매체는 비 일시적인 컴퓨터 판독가능 매체 일 수 있지만, 이 양태는 이에 제한되는 것은 아니다.
본 명세서에서 기술된 발명의 또 다른 혁신적인 양태는 시스템에서 구현될 수 있고, 상기 시스템은 하나 이상의 프로세서들 및 컴퓨터 판독가능 매체를 포함하고 있으며, 상기 컴퓨터 판독가능 매체는 명령어들을 저장하고 있으며, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행시, 하나 이상의 프로세서들로 하여금 본 명세서에 기술된 임의의 양태 또는 구현예에 따른 방법을 포함하는 동작들의 수행하게 하는 것으로서, 상기 컴퓨터 판독 가능 매체는 비 일시적인 컴퓨터 판독가능 매체 일 수 있지만, 이 양태는 이에 제한되는 것은 아니다.
본 명세서에서 사용된 것처럼, 자동 재생 콘텐츠는 로딩 후 사용자 인터랙션 없이 자동으로 애니메이팅되는 콘텐츠를 지칭한다. 자동 재생 콘텐츠의 예시들은 Flash®콘텐츠, 동영상 콘텐츠, HTML 콘텐츠 및 다른 애니메이팅 콘텐츠를 포함한다. 자동 재생 콘텐츠는 클릭 투 플레이 콘텐츠로 변환될 수 있다. 클릭 투 플레이 콘텐츠는 자동으로 일시 정지되거나 정적으로 되었던 콘텐츠를 지징하며 재생 또는 애니메이팅을 위해 클릭이나 다른 입력을 요청한다.
본 명세서에 기술된 발명의 특정한 구현예들은 다음 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 동적 콘텐츠를 초기에 정적인 콘텐츠 또는 대부분이 정적인 콘텐츠로 변환 (예를 들어, 자동 재생 콘텐츠 아이템을 클릭 투 플레이 콘텐츠 아이템으로 변환)함으로써, 사용자가 콘텐츠로 하여금 애니메이팅되도록 클릭할 때까지 콘텐츠가 가벼운 형태 (즉, 비디오 보다는 이미지들과 같은 오리지널 데이터 양에 비해 감소된 양의 데이터)로 클라이언트 디바이스에 제공되기 때문에 기술은 감소된 콘텐츠 전달 지연을 제공한다. 콘텐츠는 가벼운 형태로 제시되기 때문에, 디바이스는 더 적은 바이트들을 로딩하도록 요청되고, 이미지 로딩이 빨라지며 브라우저들은 콘텐츠를 렌더링하는 데 더 적은 시간을 필요로한다. 가벼운 콘텐츠는 재생되지 않기 때문에 가벼운 형태의 콘텐츠는 더 적은 디바이스의 배터리 사용량을 결과로 하고, 이로써 디바이스에 의해 사용되는 프로세싱 리소스들이 줄어들며, 디바이스는 풀 모션 비디오 보다는 이미지들 및 정적 HTML 만을 초기에 렌더링하도록 요청된다. 정적인 콘텐츠는 모든 애니메이션 프레임에 작업을 도입(introduce)하지 않으며, 사용자 디바이스 상의 전반적인 부하(load)를 줄이고 웹 환경 (예를 들어, 스크롤)을 개선한다. 변환된 콘텐츠는 오리지널 자동 재생 콘텐츠와 여전히 유사하며 사용자가 애니메이션을 시청하길 원하는 경우 애니메이팅될 수 있으며, 따라서 콘텐츠 제시는 콘텐츠 제공자가 "원 클릭" (예를 들어, 사용자가 콘텐츠를 애니메이팅하기 위해 플레이 버튼을 클릭)바로 뒤에 있는 시청자들을 위한 전체 사용자 기능을 유지한다. 이 접근법은 콘텐츠 배포 시스템들이 어떤 콘텐츠를 제시할지, 어떻게 그것이 제시 되는지 및 언제 클라이언트 디바이스들에 제시되어야 하는지를 선택함으로써 사용자 경험의 제어를 유지할 수 있게 한다.
추가로, 브라우저 보다는 서버에서 콘텐츠 변환을 수행함으로써 클라이언트 디바이스에 불필요한 부하를 가하거나 및 리소스들을 사용하는 것을 방지한다. 이 기술은 사용자가 시청하고 싶은 콘텐츠의 양을 제어하도록 하여 서버로부터 클라이언트 디바이스로 다운로드되는 콘텐츠의 양을 제어하도록 한다. 사용자에게는 충분한 콘텐츠가 제시되어, 사용자는 콘텐츠를 더 많이 시청하고 싶은지 여부를 결정할 수 있어 사용자는 콘텐츠와 또한 인터랙팅한다. 예를 들어, 사용자는 정지 이미지를 볼 수 있으며, 정지 이미지 시청에 기초하여 사용자는 전체 애니메이션 콘텐츠를 시청하길 원한다고 표시할 수 있다. 대안적으로 사용자는 정지 이미지를 보고서 애니메이션 시청 없이 콘텐츠와 연관된 웹 사이트를 시청하고자 하며 버튼을 직접 클릭하여 웹 사이트로 이동(navigate)하기를 원한다고 결정할 수 있다. 이것은 사용자가 콘텐츠와 인터랙팅 할 수 있는 개선된 사용자 친화적 인터페이스를 제공한다. 특히 이것은 - 사용자가 콘텐츠와 연관된 랜딩 페이지(landing page)에 도달하기 위해 콘텐츠를 적어도 두 번 클릭하여 재생을 시작한 다음 다른 페이지로 이동해야 하는 - 브라우저 측 구현예들보다 개선된 것이다.
이 기술은 재생 중에 즉시 또는 초기에 애니메이션이 다운로드되고 중지(stop)되는 시나리오들에 비해 다른 이점을 제공한다. 이러한 경우들에서, 애니메이션이 중지된 후의 정적 콘텐츠는 전체 콘텐츠를 표현하지 않을 수 있다. 대조적으로, 본 명세서에 기술된 기술은 완전한 콘텐츠의 보다 대표적인 디스플레이를 제공하는 방법을 제시한다.
일부 구현예들에서, 자동 재생 콘텐츠 아이템의 일부는 클릭 투 플레이 콘텐츠가 제공되는 때와 동시에 클라이언트 디바이스에 제공될 수 있다. 그 후, 사용자가 클릭 투 플레이 콘텐츠와 연관된 애니메이션을 시청하기를 원하는 경우, 자동 재생 콘텐츠로부터의 일부 데이터는 이미 클라이언트 디바이스에 다운로드 되었었으므로 나머지 자동 재생 콘텐츠를 다운로드하는 데 필요한 시간이 줄어들고 클라이언트 디바이스에 의해 경험된 비디오 콘텐츠를 제시함에 있어서 대응하는 지연이 유사하게 감소된다.
또한, 원격 클라이언트 디바이스를 콘텐츠 배포 시스템에 연결하는 통신 네트워크 (예를 들어, 로컬 영역 네트워크, 광역 네트워크, 무선 네트워크 및/또는 인터넷)의 대역폭은 네트워크가 사용자 디바이스들에 전달하는 데이터의 양을 줄임으로써 보존될 수 있다. 예를 들어, 사용자에게는 클릭 투 플레이 콘텐츠가 제시되지만 애니메이션을 보려는 의도를 사용자가 결코 표시하지 않는 경우, 자동 재생 콘텐츠와 연관된 추가 데이터를 전달해야 하는 부담이 없다. 일부 경우들에서, 이것은 평균적으로, 네트워크 용량이 사용자들 집단의 활동들에 의해 압도 당하지 않음을 보장하기 위해, 개별 사용자들이 소비하는 대역폭의 양이 엄격하게 규제되는 무선 및 셀룰러 데이터 네트워크들에 특히 중요할 수 있다. 스트리밍 비디오 및 다른 애니메이팅된 콘텐츠는 (예를 들어, 텍스트, 정지 이미지들 또는 일부 다른 콘텐츠 유형들과 비교하여) 상대적으로 많은 대역폭을 필요로 하므로 네트워크에서 전송되는 콘텐츠의 양을 줄이는 것은 네트워크 성능에 상당한 영향을 줄 수 있다.
일부 구현예들에서, 자동 재생 콘텐츠로부터 클릭 투 플레이 콘텐츠를 생성하는 본 명세서에 기술된 기법들은 사용자들의 컴퓨팅 디바이스들의 양태들을 또한 개선할 수 있다. 클라이언트 디바이스들 상에 비디오 또는 다른 애니메이팅 콘텐츠를 다운로드, 스트리밍 및 재생하는 것은 일반적으로 계산 비용이 많이 드는 활동들이다. 이 비용 중 일부는 사용자들이 시청에 관심이 없는 콘텐츠의 다운로드, 스트리밍 및/또는 비디오 재생 또는 애니메이팅을 피함으로써 감소될 수 있다. 또한 모바일 디바이스들 및 다른 배터리 구동 컴퓨팅 디바이스들의 컨텍스트에서, 계산 비용을 절약하는 것은 전력을 보존하고 디바이스 상의 배터리 소모를 줄여 디바이스의 배터리 수명을 연장할 수 있다.
본 명세서에 기술된 발명의 하나 이상의 구현예들의 세부 사항들은 첨부 도면들 및 이하의 설명에서 설명된다. 발명의 다른 구성들, 양태들 및 이점들은 상세한 설명, 도면들 및 청구항들로부터 명백해질 것이다. 하나의 양태 또는 구현예와 관련하여 기술된 구성은 다른 양태들 및/또는 구현예들에서 제공될 수 있음을 이해해야 한다.
도 1은 콘텐츠 배포 시스템이 콘텐츠 아이템들의 변환 및 배포를 관리하는 예시적인 환경의 블록도이다.
도 2는 자동 재생 콘텐츠를 프로세싱하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 HTML 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 자동 재생 및 클릭 플레이 콘텐츠를 서비스하기 위한 지연들을 도시한 것이다.
도 5a 내지 도 5c는 클릭 투 플레이 콘텐츠 표현들의 예시를 도시한다.
도 6은 클릭 투 플레이 콘텐츠 및 자동 재생 콘텐츠를 서비스하기 위한 예시적인 프로세스의 흐름도이다.
도 7은 본 명세서에 기술된 컴퓨터로 구현되는 방법들 및 다른 기법들을 구현하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예시이다.
다양한 도면들에서 동일한 참조 번호들 및 명칭들은 동일한 엘리먼트들을 표시한다.
도 2는 자동 재생 콘텐츠를 프로세싱하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 HTML 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 자동 재생 및 클릭 플레이 콘텐츠를 서비스하기 위한 지연들을 도시한 것이다.
도 5a 내지 도 5c는 클릭 투 플레이 콘텐츠 표현들의 예시를 도시한다.
도 6은 클릭 투 플레이 콘텐츠 및 자동 재생 콘텐츠를 서비스하기 위한 예시적인 프로세스의 흐름도이다.
도 7은 본 명세서에 기술된 컴퓨터로 구현되는 방법들 및 다른 기법들을 구현하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예시이다.
다양한 도면들에서 동일한 참조 번호들 및 명칭들은 동일한 엘리먼트들을 표시한다.
HTML 자동 재생 콘텐츠는 게시자 웹 사이트들에 자동으로 로딩되어 리소스들이 다운로드되고, 코드가 실행되며 다른 사용자가 볼 수 있는 효과들 (예를 들어, CSS 애니메이션)을 야기한다. 이 HTML 자동 재생 콘텐츠 제공자들은 (예를 들어, 정적인 콘텐츠로 제공되는 것보다) 풍부한 사용자 경험을 제공하지만 부정적인 영향들을 또한 야기할 수 있다. 첫째, 콘텐츠는 브라우징 경험을 느리게 할 수 있고, 모바일 디바이스와 같은 배터리 구동 디바이스의 경우, (예를 들어, 사용자 디바이스 프로세싱 전력을 더 이용함으로써) 사용자 디바이스의 배터리 수명에 영향을 미친다. 자동 재생 콘텐츠는 동일한 웹 사이트 또는 어플리케이션에 디스플레이되는 다른 콘텐츠에 또한 영향을 미칠 수 있다. 또한 내용을 로딩하는 동안 사용자에게 빈(blank) 필러(filler)를 보여줘 콘텐츠를 로딩하는 데 오랜 시간이 걸릴 수 있다. 마지막으로 콘텐츠가 지나치게 산만(distracting)해져 콘텐츠와 연관된 콘텐츠 제공자 또는 콘텐츠를 제시하는 콘텐츠 게시자의 나쁜 인상을 사용자에게 남길 수 있다.
브라우저 기반 콘텐츠 차단기들 (예를 들어, 광고 차단기들)의 등장으로, 브라우저들은 자동으로 로딩되거나 요청된 것으로부터 인터넷 상의 다양한 형태의 콘텐츠를 중지하려고 시도하는 경향이 있다. 일부 브라우저 기반 콘텐츠 차단기들은 자동 재생 콘텐츠가 자동으로 재생되는 것을 예방할 수 있지만, 이러한 브라우저 기반 콘텐츠 차단기들은 콘텐츠가 자동 재생되지 않도록 하기 전에 컴퓨팅 디바이스가 먼저 모든 콘텐츠 - 통상적으로 대용량 데이터를 포함하는 - (예를 들어, 애니메이팅 콘텐츠, Flash®콘텐츠)를 다운로드 할 것을 여전히 요청한다. 즉, 이러한 브라우저 기반 콘텐츠 차단기들은 일반적으로 클라이언트 디바이스에게 애니메이팅된 콘텐츠의 자동 재생을 차단하기 전에 전체 애니메이팅된 콘텐츠를 먼저 다운로드 할 것을 요청한다. 일부 경우들에서, 브라우저는 재생을 중지하기 전에 애니메이팅된 콘텐츠의 일부를 디스플레이한다. 어느 쪽이든, 클라이언트 디바이스는 사용자가 콘텐츠로부터 단일 이미지만을 시청하는 경우에도 전체 콘텐츠를 다운로드한다. 브라우저 기반 접근법은 따라서 자동 재생 콘텐츠를 중지하기 위해 클라이언트 리소스들을 사용한다.
다른 콘텐츠 차단기들은 콘텐츠 요청이 이루어지기 전에 콘텐츠를 차단한다. 이러한 콘텐츠 차단기들은, 그러나, 사용자에게 콘텐츠의 일부를 시청할 수 있는 옵션의 제시 없이 사용자가 보고자 하는 콘텐츠를 차단할 수 있다.
이 어플리케이션은 서버 기반 콘텐츠 변환기들을 논의한다. 이러한 서버 기반 콘텐츠 변환기들은 자동 재생 콘텐츠 또는 애니메이션을 갖는 다른 콘텐츠를 서버에서 식별하고 콘텐츠가 클라이언트 디바이스의 브라우저에서 수신되기 전에 서버에서 자동 재생 콘텐츠를 클릭 투 플레이 콘텐츠로 변환한다. 이 접근법의 경우, 본질적으로, 콘텐츠 서버는 시청자가 볼 것을 요청하는 만큼 많은 콘텐츠를 서비스할 수 있다. 예를 들어, HTML 자동 재생 콘텐츠를 서비스하기 보다는, 콘텐츠 서버는 사용자가 (예를 들어, 정적 콘텐츠와 함께 디스플레이 된 재생 버튼과 상호 작용함으로써) HTML 자동 재생 콘텐츠의 애니메이션을보고 싶어 함을 나타낼 수있게하는 사용자 인터페이스 엘리먼트들을 정적 콘텐츠에만 제공한다. 사용자가 재생 버튼을 클릭하면, 이것은 사용자가 애니메이션을 시청하기를 원함을 표시하며 콘텐츠 서버는 HTML 자동 재생 콘텐츠를 제공한다. 이 솔루션은 브라우저 측 보다는 서버 측에서 오리지널 콘텐츠 (예를 들어, HTML 자동 재생 콘텐츠)를 변환하여 달성될 수 있다.
브라우저에서 콘텐츠를 수신하기 전에 서버에서 내용을 변환하는 것은 다양한 이점들을 제공한다. 첫째, 서버가 브라우저보다 콘텐츠 유형(예를 들어, 애니메이팅 또는 비 애니메이팅 콘텐츠)을 쉽게 결정할 수 있다. 이는 주로 클라이언트 디바이스가 모든 콘텐츠가 문서 오브젝트 모델에 로딩된 후에 일반적으로 콘텐츠 유형을 결정할 수 있고, 그렇게 함으로써 지연 및 지연과 연관된 다른 문제들이 발생하기 때문이다. 결과적으로, 광고 차단기들을 구현하는 브라우저들은 예를 들어, 종종 두 가지 유형의 콘텐츠 모두를 차단한다. 다음으로, 서버는 신속하게 로딩될 수 있는 콘텐츠와 로딩을 위한 리소스들을 많이 차지하는 콘텐츠를 구별할 수 있다. 서버는 예를 들어, 실험적 설정에서의 오프라인 배출(ejection) 또는 콘텐츠 또는 이전 실행(run)들에서 수집한 데이터의 휴리스틱(heuristic) 분석 (예를 들어, 콘텐츠의 Javascript®의 양) 에 의해 콘텐츠 유형들을 구별할 수 있다. 추가로, 콘텐츠 변환을 수행하는 서버는 다양한 클릭 연결 옵션들을 제공할 수 있다. 예를 들어, 사용자가 콘텐츠와 연관된 애니메이션의 시청 없이 콘텐츠 제공자의 웹 사이트를 방문하기를 원한다고 표시한 경우, 이것은 사용자가 먼저 재생 버튼을 클릭하고 애니메이션을 시청하기 보다는, 사용자를 콘텐츠 제공자의 웹 사이트로 유도하는 사용자 인터페이스 엘리먼트 상의 유도(directing)를 클릭함으로써 이루어질 수 있다.
자동 재생 콘텐츠는 HTML 콘텐츠 형태로 서버에 제시될 수 있다.
서버는 이 콘텐츠를 완전한(pure) 정적인 콘텐츠 (예를 들어, 정지 이미지) 또는 자동 재생 콘텐츠의 정적인 부분들만을 (예를 들어, 사용자 인터페이스 엘리먼트들이 있는 정지 이미지) 표현하는 매우 단순한(simple) HTML 콘텐츠로 변환할 수 있다. 변환된 콘텐츠는, 일부 구현예들에서, 애니메이팅된 콘텐츠의 스닙된(snipped) 부분을 포함할 수 있다. 완전하게 정적인 콘텐츠 또는 대부분 정적인 콘텐츠의 경우, 정적인 콘텐츠의 파일 크기는 일반적으로 (예를 들어, 제한된 JS 스크립트들만 로딩되는) 애니메이팅된 콘텐츠의 파일 크기보다 작기 때문에, 사용자의 디바이스는 애니메이팅된 콘텐츠를 로딩하는 데 걸리는 시간보다 빠르게 콘텐츠를 로딩할 것이다. 단순한 HTML 콘텐츠로, 사용자는 자동 재생 콘텐츠로부터 추출된 정지 이미지를 시청할 수 있지만, 사용자는 애니메이션을 시청하기 위해 사용자 인터페이스 엘리먼트들을 통해 콘텐츠와 또한 인터랙팅 할 수 있다. 단순한 HTML 콘텐츠의 제시는 고품질의 콘텐츠를 제시하면서 사용자의 컴퓨팅 디바이스 상의 신속한 콘텐츠 로딩을 결과로 할 것이다.
도 1은 HTML 자동 재생 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하고 이 콘텐츠들 각각을 서비스하기 위한 예시적인 환경(100)의 개략도이다. 일부 구현예들에서, 예시적인 환경은 자동 재생 콘텐츠로부터 관련 정지 이미지를 추출함으로써 클릭 투 플레이 콘텐츠를 생성하고, 추출된 정지 이미지를 자동 재생 콘텐츠의 재생을 시작하는데 사용될 수 있는 하나 이상의 사용자 인터페이스(UI) 엘리먼트들로 오버레이한다.
예시적인 환경(100)은 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷, 또는 이들의 조합과 같은 데이터 통신 네트워크(102)를 포함한다. 네트워크(102)는 다수의 전자 디바이스들 및 시스템들 간의 데이터 통신을 가능 하게 한다. 특히, 네트워크(102)는 사용자(104)와 클라이언트 디바이스(106), 콘텐츠 배포 시스템(108), 콘텐츠 데이터베이스(110), 변환기 시스템(112) 및 복수의 콘텐츠 제공자들(114)을 연결한다. 네트워크의 통신 링크들은 유선 또는 무선 링크 또는 둘 모두일 수 있다. 클라이언트 디바이스(106)는 사용자의 제어 하에 있고 네트워크(102)를 통해 리소스들을 요청하고 수신할 수 있는 전자 디바이스다. 예시적인 클라이언트 디바이스들(106)은 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 온라인 비디오 콘텐츠를 스트리밍 할 수 있는 텔레비전 디바이스들, 모바일 통신 디바이스들(예를 들어, 스마트 폰들, 태블릿 컴퓨팅 디바이스들, 넷북들, 노트북 컴퓨터들 또는 웨어러블 디바이스들) 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 다른 디바이스들을 포함한다.
클라이언트 디바이스(106)는 네트워크(102)를 통해 데이터의 송수신을 용이하게 하기 위해 게시자 웹 사이트(116)를 디스플레이할 수 있는 웹 브라우저 또는 네이티브 어플리케이션 (예를 들어, 비디오 게임, 뉴스 어플리케이션, 문자 어플리케이션) (도시되지 않음)과 같은 사용자 어플리케이션을 통상적으로 포함한다. 콘텐츠 배포 시스템(108), 콘텐츠 데이터베이스(110) 및 변환기 시스템(112)은 랩탑들, 데스크탑들, 워크 스테이션들, PDA들, 서버들, 블레이드 서버들, 메인 프레임들 및 다른 적절한 컴퓨터들을 포함할 수 있다. 서버들은 일반적으로 하나 이상의 컴퓨터들의 집합을 포함할 수 있고, 하나 이상의 지리적으로 별개인 위치들에서 하나 이상의 컴퓨터들에 걸친 프로세싱을 수행할 수 있다.
많은 경우들에서, 콘텐츠 제공자들(114)은 다른 사람들과 공유하기 위해 자신의 애니메이팅 콘텐츠를 유기적으로 제작(creat)했던 당사자들을 포함할 수 있지만, 콘텐츠 제공자들(114)는 하나 이상의 다른 당사자들에 의해 실제로 제작되었었지만 첫 번째 당자가 공유하기를 원하는 콘텐츠를 업로드 하는 당사자를 또한 지칭할 수 있다. 콘텐츠 제공자들(114)은 오리지널 애니메이팅 콘텐츠를 콘텐츠 데이터베이스(110)에 업로드 할 수 있다. 콘텐츠 데이터베이스(110)는 일반적으로 배포를 위해 사용 가능하게된 콘텐츠를 저장, 유지 및 인덱싱하는 역할을 한다.
콘텐츠 배포 시스템(108), 콘텐츠 데이터베이스(110) 및 변환기 시스템(112) 각각은 일반적으로 도 7과 관련하여 기술된 컴퓨터들과 같은 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들의 하드웨어 및 소프트웨어의 조합으로서 구현될 수 있다. 콘텐츠 배포 시스템(108), 콘텐츠 데이터베이스(110) 및 변환기 시스템(112) 각각은 네트워크 통신을 가능하게 하는 각각의 네트워크 인터페이스를 포함할 수 있다.
일부 구현예들에서, 클라이언트 디바이스(106)는 네트워크를 통해 콘텐츠에 대한 요청을 제출한다. 클라이언트 디바이스(106)의 사용자(104)는 클라이언트 디바이스(106) 상의 웹 브라우저에서 예를 들어, HTML 페이지들, 전자 문서들, 이미지 파일들, 비디오 파일들 및 오디오 파일들과 같은 콘텐츠를 브라우징 할 수 있다. 예를 들어, 요청된 웹 페이지는 콘텐츠 배포 시스템(108)으로부터 요청된 특정한 HTML 콘텐츠를 포함할 수 있다. 대안적으로, 사용자(104)는 클라이언트 디바이스(106) 상에서 작동하는 네이티브 어플리케이션 (예를 들어, 비디오 게임 또는 뉴스 어플리케이션)을 또한 사용할 수 있다. 예를 들어, 콘텐츠는 어플리케이션 내부의 웹뷰 (즉, 작은 윈도우) 내부에 렌더링될 수 있다.
콘텐츠 배포 시스템(108)은 콘텐츠에 대한 요청을 수신하고, 요청에 응답하여 클라이언트 디바이스(106)에 제공하기 위한 자동 재생 콘텐츠를 식별할 수 있다. 콘텐츠 배포 시스템(108)은 콘텐츠 데이터베이스(110)에 저장된 다양한 콘텐츠로부터 자동 재생 콘텐츠를 식별할 수 있다. 일부 콘텐츠 배포 환경들에서, 콘텐츠 배포 시스템(108)이 클라이언트 디바이스(106)에 제공할 자동 재생 콘텐츠를 식별한 후에, 콘텐츠 배포 시스템(108)은 예를 들어, 클라이언트 디바이스(106)에서 실행중인 웹 브라우저 또는 미디어 플레이어서, 콘텐츠 디바이스 상에 로딩 및 디스플레이하기 위한 전체 자동 재생 콘텐츠를 클라이언트 디바이스(106)에 서비스한다.
도 1에 도시된 예시적 환경(100)에서, 콘텐츠 배포 시스템(108)은 식별된 자동 재생 콘텐츠 또는 식별된 자동 재생 콘텐츠로부터 생성되었던 클릭 투 플레이 콘텐츠를 서비스할지 여부를 결정한다. 생성된 클릭 투 플레이 콘텐츠는 콘텐츠 제공자에 의해 제공된 오리지널 콘텐츠와 대도적으로 변환된 콘텐츠로써 본 명세서에 때때로 지칭된다. 본 명세서에 지칭된 바와 같은, “애니메이팅된 콘텐츠”라는 문구는 자동 재생 또는 대응하는 클릭 투 플레이 콘텐츠가 사용자 디바이스에서 재생되는 경우에 재생되는 시청각(audiovisual) 콘텐츠를 지칭한다.
도 2는 클릭 투 플레이 콘텐츠를 생성하기 위한 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)의 각 단계들은 콘텐츠 데이터베이스(110) 또는 변환기 시스템(112)의 조합에 의해 수행될 수 있다.
(202)에서, 콘텐츠 데이터베이스(110)는 자동 재생 콘텐츠를 포함하는 콘텐츠를 하나 이상의 콘텐츠 제공자들(114)로부터 수신한다. 콘텐츠는 다양한 자산(asset)들을 포함하는 압축 파일 형태 (예를 들어, HTML 콘텐츠, Javascript®이미지 파일들, 동영상 파일들 등)일 수 있다. 콘텐츠 데이터베이스(110)는 그 후 콘텐츠를 압축 풀기를 한다. 콘텐츠 데이터베이스(110)는 일반적으로 배포를 위해 사용 가능하게된 인덱싱된 콘텐츠를 저장하는 역할을 한다. 자동 재생 콘텐츠 아이템은 예를 들어, 비디오 클립이 브라우저 또는 미디어 플레이어에 부분적으로 또는 전체적으로 로딩되었을 때 재생을 시작하는 비디오 클립일 수 있다. 자동 재생 콘텐츠는 실제 디지털화된 비디오 자체 및 디지털화된 비디오에 대한 관련 메타데이터를포함할 수 있다. 콘텐츠 데이터베이스(110)는 제목, 짧은 텍스트 설명 및 주어진 콘텐츠 아이템에 대한 제작자 ID를 포함하는 모든 콘텐츠의 인덱스를 포함할 수 있다.
일부 구현예들에서, 환경은 콘텐츠 제공자들(114)이 그들의 콘텐츠를 서비스하기 위한 선택 규칙들을 정의할 수 있게 하는 콘텐츠 관리 시스템을 포함한다. 선택 규칙들은 시청자 또는 디바이스에 관련 콘텐츠를 제공하기 위해 특정한 비디오 시청자 또는 특정한 요청 디바이스의 특성들을 고려할 수 있다. 예시적 선택 규칙들은 키워드들과 일치(match)하는 단어들 또는 문구들이 검색 쿼리들, 비디오들 또는 비디오 콘텐츠 메타데이터에 존재할 때, 콘텐츠 배포에 기여 (또는 제어)하는 키워드들을 포함한다. 콘텐츠 요청에 포함된 문구와 일치하는 키워드들과 연관된 콘텐츠 아이템들은 비디오 콘텐츠와 연관된 콘텐츠 슬롯들 내의 디스플레이를 위해 선택될 수 있다. 예를 들어, 콘텐츠는 사용자 디바이스에서 재생 중인 비디오 근처 또는 사용자 디바이스에서 재생 중인 비디오의 일부 위에 배너 형태로 제시될 수 있다.
(204)에서, 변환기 시스템(112)은 콘텐츠 데이터베이스 내의 자동 재생 콘텐츠에 액세스하고 자동 재생 콘텐츠 내의 정지 이미지 (예를 들어, 단일 프레임)을 식별한다. 예를 들어, 정지 이미지는 비디오 클립으로부터의 스크린샷 일 수 있다. 정지 이미지 또는 스크린샷은 생성된 클릭 투 플레이 콘텐츠 아이템 내의 콘텐츠 아이템의 미리보기로 사용된다. 이런 식으로, 사용자는 정지 이미지를 시청하고 클릭 투 플레이 콘텐츠 아이템과 연관된 전체 애니메이션 (예를 들어, 비디오 클립)이 무엇인지에 대한 아이디어를 얻을 수 있다. 다양한 구현예들은 정지 이미지를 선택하기 위해 상이한 프로세스들을 활용할 수 있다. 예를 들어, 일부 프로세스들은 정지 이미지로서 애니메이션 (예를 들어, 비디오 클립)의 제1 프레임을 사용한다. 그러나 일부 경우들에서는, 애니메이션 (예를 들어, 비디오 클립)의 제1 프레임 이외의 프레임들이 애니메이션 (예를 들어, 비디오 클립)에 대해 보다 유용하고 보다 관련된 정보를 제공할 수 있다.
정지 이미지를 생성하는 접근법들에는 여러 가지가 있다. 하나의 구현예에서, 변환기 시스템(112)은 짧은 기간 동안 자동 재생 콘텐츠를 재생한 후에 정지 이미지를 생성한다. 대안적인 구현예에서, 변환기 시스템(112)은 애니메이팅된 콘텐츠의 가장 먼저 렌더링된 프레임의 정지 이미지를 생성한다. 사용자에게 가장 먼저 렌더링된 프레임이 정지 이미지로 먼저 제시되고 이어서 정지 이미지에서 애니메이팅된 콘텐츠까지 보다 매끄러운(seamless) 애니메이팅된 콘텐츠의 재생이 제시되기 때문에, 콘텐츠가 재생되면 연속성 효과가 발생한다. 또 다른 구현예에서, 변환기 시스템(112)은 애니메이팅된 콘텐츠가 30초 (또는 소정의 다른 특정 시간)동안 재생된 후에 애니메이션팅된 콘텐츠의 스크린샷을 생성한다. 정지 이미지가 애니메이션팅된 콘텐츠의 재생 없이 추출될 수 있다. 예를 들어, 변환기 시스템(112)은 정지 이미지 (예를 들어, 제1 프레임, 중간 프레임, 마지막 프레임)에 대한 특정한 시간 또는 위치를 선택할 수 있다. 후술되는 바와 같이, 일부 구현예들에서, 변환기 시스템(112)은 정지 이미지 이상을 추출한다. 그러한 경우들에서, 변환기 시스템(112)은 자동 재생 콘텐츠로부터 모든 정적 콘텐츠 (또는 다수의 연속적인 프레임들의 조각(snippet))를 추출할 수 있다.
(206)에서, 변환기 시스템(112)은 자동 재생 콘텐츠로부터 정지 이미지를 추출한다. 변환기 시스템(112)은 정지 이미지를 추출하기 위해 다양한 기법들을 사용할 수 있다. 예를 들어, 변환기 시스템(112)은 정지 이미지로 사용될 가장 정보 밀도가 높은 프레임을 발견하기 위해 광학 문자 인식(OCR)을 사용할 수 있다. 일부 구현예들에서, 변환기 시스템(112)은 정지 이미지를 추출하기 위한 프레임들의 에지(edge)들의 압축률을 분석한다. 일부 구현예들에서, 추출 된 콘텐츠는 반드시 정지 이미지는 아니지만 다른 형태의 데이터 일 수 있다. 예를 들어 추출된 콘텐츠는 PNG 파일, JPEG 파일 또는 HTML 콘텐츠 형태일 수 있다.
하나의 예시에서, 콘텐츠 데이터베이스(110)는 콘텐츠 제공자(114)로부터 수신된 자동 재생 콘텐츠를 변환기 시스템(112)에 전송할 수 있다. 변환기 시스템(112)은 헤드리스 브라우저(headless browser) (즉, 서버상에서 작동중인 브라우저의 버전)를 작동시키는 서버를 포함할 수 있다. 헤드리스 브라우저는 그 후 자동 재생 콘텐츠 (비디오 콘텐츠 및 임의의 HTML 또는 Javascript®포함)를 로딩하고 일정 기간 (예를 들어, 30초)동안 콘텐츠를 재생한 다음 (예를 들어, 30초에) 콘텐츠로부터 정지 이미지를 생성한다. 정지 이미지는 콘텐츠의 (예를 들어, 30 초에서의) 상태를 표현하는 PNG 또는 JPEG 파일일 수 있다. 일부 대안적인 구현예들에서, 자동 재생 콘텐츠로부터 정적 이미지 (예를 들어, 정지 이미지)를 추출하기보다는, 변환기 시스템(112)은 자동 재생 콘텐츠로부터 정적 HTML을 생성한다. 정적 HTML은 자동 재생 콘텐츠 (및 애니메이션을 야기하는 추가 HTML 또는 Javascript®와 동일한 리소스들로 링크하지만, 복잡한 코드 (예를 들어, Javascript®를 실행하지 않으며 정적 코드만 생성된 콘텐츠에 포함된다. 예를 들어, 오리지널 콘텐츠가 이미지와 오버레이된 대화형 텍스트 (예를 들어, 하이퍼링크들) 모두를 포함한 경우, 생성된 정적 HTML 콘텐츠는 이미지와 오버레이된 대화형 텍스트 둘 모두를 포함한다. 대조적으로, 정지 영상 만이 비디오로부터 추출되는 경우, 오버레이된 대화형 텍스트 (예를 들어, 하이퍼링크들)는 손실될 것이다. 이 접근법은 정적 이미지가 저화질이고 해상도가 낮은 경우 특히 유용할 수 있다. 예를 들어, 콘텐츠 제공자의 웹 페이지와 관련된 텍스트를 갖는 저화질 스크린샷은 판독이 어려울 수 있어, 더 나은 사용자 환경을 위해 정적 HTML 콘텐츠를 제공하는 것이 더 유리할 수 있다. 추가로, 이 접근법은 사용자가 정적 HTML 콘텐츠를 시청하고 연관된 애니메이션을 시청하길 원하는 경우에 유용할 수 있다. 이러한 시나리오들에서, 사용자가 (예를 들어, 재생 버튼을 클릭함으로써) 애니메이팅 콘텐츠를 시청하고자 하는 희망(desire)을 표현한 후에, 모든 정적인 콘텐츠가 이미 콘텐츠 서버에 의해 제공 되었기 때문에 사용자가 애니메이팅 콘텐츠를 시청할 수 있도록 비 정적 콘텐츠만 사용자의 컴퓨팅 디바이스에 제공될 필요가 있다.
(208)에서, 변환기 시스템(112)은 추출된 정지 이미지를 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이한다. 하나 이상의 사용자 인터페이스 엘리먼트들은 예를 들어, 재생 버튼 또는 자동 재생 콘텐츠와 연관된 랜딩 페이지 (예를 들어, 광고자 또는 비디오 제작자 웹 사이트)에 액세스하기 위한 버튼을 포함할 수 있다. 예를 들어, 자동 재생 콘텐츠가 비디오인 경우, 정지 이미지는 비디오로 하여금 재생을 시작하게 하는 재생 버튼과 비디오와 연관된 랜딩 페이지로 이동(navigate)하기 위한 버튼으로 오버레이될 수 있다. 브라우저 기반 콘텐츠 변환기들에서, 사용자는 랜딩 페이지로 이동하기 위해 - 처음에는 재생을 시작하고 두번째는 랜딩 페이지를 방문하도록 - 콘텐츠를 두 번 클릭함이 요청된다. 랜딩 페이지로 이동하기 위한 버튼을 포함하는, 다수의 사용자 인터페이스 엘리먼트들은 사용자가 단일 클릭으로 랜딩 페이지를 방문할 수 있도록 한다. 비디오를 포함하는 예시에서, 이것은 사용자가 콘텐츠를 한 번만 클릭하면되므로 전환 통계들을 개선하는 데 도움을 준다. 두 번의 클릭을 필요로 하는 초기 접근법들에서, 사용자는 한 번 비디오를 클릭할 수 있지만, 그 또는 그녀는 비디오를 두 번 클릭하기 전에 산만해지고 비디오에 대한 랜딩 페이지를 결코 방문하지 않는다. 콘텐츠 제공자의 관점에서 볼 때, 이것은 콘텐츠 제공자의 웹 사이트를 방문하기 위해 사용자에 의한 더 많은 노력이 필요하기 때문에 부정적인 경험을 제시한다.
일부 구현예들에서, 추출된 정지 이미지를 오버레이하는 것은 미리 정의된 템플릿을 사용하는 것을 포함할 수 있다. 예를 들어, 변환기 시스템(112)은 복수의 템플릿들을 저장할 수 있으며, 각각의 템플릿들은 사용자 인터페이스 엘리먼트들의 레이아웃 및/또는 사용자 인터페이스 엘리먼트들의 상대적 포지션들을 정의한다. 일부 예시적인 템플릿들에서, 재생 버튼은 오버레이 중간에 포함될 수 있지만, 다른 예시적인 템플릿들에서는 재생 버튼이 오버레이의 주변에 포함되어 방해(intrusive)가 적을 수 있다. 일부 구현예들에서, 템플릿은 그레이스케일 레벨 또는 불투명도 레벨 중 적어도 하나를 정의할 수 있다. 예를 들어, 추출된 정지 이미지가 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이될 때, 정지 이미지 자체는 외관상 변할 수 있다. 일부 구현예들에서, 사용자 인터페이스 엘리먼트들이 컬러로 보여지는 반면에, 정지 이미지는 흑백 (예를 들어, 그레이스케일)으로 디스플레이된다. 대안적인 구현예들에서, 사용자 인터페이스 엘리먼트들은 템플릿 오버레이의 높은 불투명도로 인해 정지 이미지 상에 오버레이되어 정지 이미지로 하여금 더 어둡게 나타나게 하는 동안, 정지 이미지는 컬러로 보여진다. 일부 구현예들에서, 생성된 콘텐츠의 다수 버전들을 생성하기 위해 다수의 템플릿들이 사용된다. 이러한 방식으로, 콘텐츠 배포 시스템(108)은 원격 클라이언트 디바이스(106)에 서비스하기 위해 변환된 콘텐츠의 다수 버전들 중에서 선택할 수 있다. 예시적 HTML 템플릿 코드는 다음과 같다:
<!DOCTYPE html>
<html>
<head>
// Load minimal ad related scripts.
</head>
<body>
<div id="root_template_div" style="position:absolute;overflow:hidden;">
<iframe id="main-content" src="about:blank" width="300" height="250"></iframe>
<img id='preview' src='preview-3.jpg' style='position:absolute;left:0px;top:0px'></img>
<div id='link' style='position:absolute;left:4px;bottom:4px;color:white;cursor:pointer;'>
<a onclick='goToLanding()' style='font-family: sans-serif;'>Visit advertisers website <img src='callout.svg' style='width:12px'></img></a>
</div>
</div>
<script>
var divElement = document.getElementById('preview');
divElement.onclick = function() {
// load main content into "main-content" div.
document.getElementById('preview').style.display = 'none';
};
var goToLanding = function() {
// Trigger ad click event.
}
</script>
</body>
</html>
일부 구현예들에서, 변환된 콘텐츠의 다양한 버전들이 변환기 시스템(112)에 의해 생성되고, 콘텐츠 배포 시스템(108)은 변환된 콘텐츠의 적절한 버전을 콘텐츠 요청 및/또는 요청 디바이스의 디바이스 특성들에 기초하여 선택할 수 있다 (예를 들어, 디바이스의 유형, 디바이스의 해상도, 연결 속도 등).
단계(208)는 사용자가 콘텐츠와 인터랙팅할 수 있는 새로운 방법들을 도입한다. 브라우저 기반 콘텐츠 차단기들과는 대조적으로 사용자는 차단된 콘텐츠를 재생할 수 있다. 그러나, 단계(208)는 사용자가 콘텐츠를 먼저 재생할 필요 없이 콘텐츠 제공자의 웹 사이트로 이동할 수 있게 해주는 버튼 또는 사용자가 다른 콘텐츠를 시청할 수 있게 해주는 버튼과 같은, 정지 이미지 상에 다양한 다른 사용자 인터페이스 컴포넌트들을 중첩되도록 하며, 그 중 일부는 오리지널 콘텐츠에 대한 주제와 관련될 수 있다.
(210)에서, 변환기 시스템(112)은 오버레이된 정지 이미지를 클릭 투 플레이 콘텐츠의 일부로서 저장한다. 일부 구현예들에서, 변환기 시스템(112)은 클릭 투 플레이 콘텐츠가 생성되는 자동 재생 콘텐츠와 관련하여 클릭 투 플레이 콘텐츠를 저장한다. 일부 구현예들에서, 변환기 시스템(112)은 변환된 콘텐츠가 오리지널 콘텐츠와 함께 저장되는 콘텐츠 데이터베이스(110)로 클릭 투 플레이 콘텐츠를 전송한다.
일부 구현예들에서, 단계들(202-210) 중 하나 이상은 콘텐츠 데이터베이스(110), 변환기 시스템(112) 및 콘텐츠 배포 시스템(108)의 상이한 조합에 의해 수행될 수 있다. 예를 들어, 일부 구현예들에서, 콘텐츠 데이터베이스(110)는 먼저 콘텐츠 제공자(114)로부터 자동 재생 콘텐츠를 수신한다. 그 후, 콘텐츠 데이터베이스(110)는 자동 재생 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하기 위해 자동 재생 콘텐츠를 변환기 시스템(112)에 전송한다. 변환기 시스템(112)은 자동 재생 콘텐츠를 수신하고, 자동 재생 콘텐츠(204)에서 관련 정지 이미지을 식별하고, 자동 재생 콘텐츠(206)로부터 정지 이미지를 추출하고, 정지 이미지를 하나 이상의 사용자 인터페이스 엘리먼트들(208)로 오버레이한다. (210)에서, 콘텐츠 데이터베이스는 오버레이된 정지 이미지를 클릭 투 플레이 콘텐츠로서 저장한다. 클릭 투 플레이 콘텐츠는 클릭 투 플레이 콘텐츠가 생성되었던 자동 재생 콘텐츠와 연관하여 저장될 수 있다.
일부 구현예들에서, 변환기 시스템(112)은 한번에 다수의 클릭 투 플레이 콘텐츠 아이템들을 생성하기 위해 다수의 자동 재생 콘텐츠 아이템들의 배치(batch) 변환을 수행한다. 일부 구현예들에서, 변환기 시스템(112)은 자동 재생 콘텐츠 아이템으로부터 정적 HTML 콘텐츠 (예를 들어, 정지 이미지)를 추출하지만 템플릿 및/또는 하나 이상의 사용자 인터페이스 엘리먼트들을 선택하지 않는다. 오히려, 콘텐츠 배포 시스템(108)이 요청하는 원격 클라이언트 디바이스에 자동 재생 콘텐츠 아이템 보다는 정적 HTML 콘텐츠를 제공하기로 선택한 경우, 콘텐츠 배포 시스템(108)은 런타임(run time)에 특정한 템플릿 및/또는 하나 이상의 사용자 인터페이스 엘리먼트들을 요청한다. 런타임에, 콘텐츠 배포 시스템(108)은 콘텐츠 데이터베이스(110)로부터 변환된 콘텐츠 (예를 들어, 정적 HTML 콘텐츠)를 획득하고, 원격 클라이언트 디바이스 상에 렌더링하기 위한 특정한 템플릿 및/또는 하나 이상의 사용자 인터페이스 엘리먼트들을 선택한다. 이러한 구현예들에서, 이 작업들 중 하나 이상은 렌더링 서버에 의해 수행될 수 있다.
상술한 바와 같이, 일부 구현예들에서, 변환기 시스템(112)은 자동 재생 콘텐츠로부터 클릭 투 플레이 콘텐츠를 생성한다. 일부 구현예들에서, 변환기 시스템(112)은 클릭 투 플레이 콘텐츠 아이템들로 변환될 후보들로서 콘텐츠 데이터베이스(110)에 저장된 자동 재생 콘텐츠 항목들을 특정적으로(specifically) 식별한다. 즉, 콘텐츠 제공자들(114)은 콘텐츠 데이터베이스(110)에 많은 유형의 콘텐츠를 제공할 수 있다. 일부 경우들에서, 콘텐츠는 나쁜 사용자 경험들을 야기할 수 있고 및/또는 콘텐츠가 너무 느리게 로딩될 수 있다. 많은 경우들에서, 콘텐츠 제공자들은 부정적인 경험을 야기하도록 의도하지 않으므로 본 명세서에 기술된 시스템들 및 방법들은 콘텐츠 제공자들에 의해 제공되는 콘텐츠의 로딩 지연을 줄임으로써 콘텐츠 표현 및 사용자 경험을 개선할 수 있다. 부정적인 사용자 경험들을 야기하는 콘텐츠는 적어도 일부 자동 재생 콘텐츠를 포함한다. 그러나, 일부 상황들에서, 모든 HTML 자동 재생 콘텐츠가 부정적인 사용자 경험들을 야기하는 것은 아니다. 따라서, 일부 구현예들에서, 변환기 시스템(112)은 어떤 자동 재생 콘텐츠가 부정적인 사용자 경험을 야기할 수 있는지를 결정하고 부정적인 사용자 경험에 기여하는 것으로 결정된 (예를 들어, 로딩 시간이 길기 때문에) 자동 재생 콘텐츠로부터만 클릭 투 플레이 콘텐츠를 생성한다.
도 3은 HTML 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하기 위한 예시적 프로세스의 흐름도이다. 콘텐츠 데이터베이스(110)가 변환을 수행하는 환경들에서, 도 3의 프로세스들 각각은 콘텐츠 데이터베이스(110)에 의해 수행될 것이다. 이 프로세스서, HTML 콘텐츠가 분석되어(304), 콘텐츠가 클릭 투 플레이 콘텐츠(306)로 변환되어야 하는지 여부를 결정한다. 변환기 시스템(112)이 특정한 HTML 콘텐츠가 최적화가 불가능함을 결정하면, 추가 콘텐츠는 생성되지 않는다. 그러나 변환기 시스템(112)이 특정한 HTML 콘텐츠(302)가 최적화 가능함을 결정하면, 변환기 시스템(112)은 HTML 콘텐츠(302)를 클릭 투 플레이 콘텐츠(306)로 변환한다. 그 후, 콘텐츠는 (308)에서 저장된다. 최적화 가능한 콘텐츠는 변환될 수 있는 콘텐츠 또는 변환으로부터 이점을 얻는 콘텐츠를 지칭할 수 있는 반면에, 최적화가 불가능한 콘텐츠는 변환될 수 없는 콘텐츠 또는 변환으로부터 이점을 얻지 않는 콘텐츠를 지칭할 수 있다.
최적화가 불가능한 콘텐츠는 예를 들어, 완전한 정적인 콘텐츠 또는 대부분 정적인 콘텐츠 (예를 들어, 어떤 애니메이팅 콘텐츠도 포함하지 않는 HTML 콘텐츠)를 포함할 수 있다. 최적화 가능한 콘텐츠는 예를 들어, HTML 자동 재생 콘텐츠 또는 JS 라이브러리들을 사용하여 무거운 그래픽 애니메이션들을 수행하는 HTML 콘텐츠를 포함할 수 있다. 일부 구현예들에서, HTML 자동 재생 콘텐츠가 반드시 최적화 가능하다고 고려되지는 않는다. 오히려 변환기 시스템(112)은 HTML 자동 재생 콘텐츠의 크기를 결정하고, 크기가 임계치치 크기보다 크면 HTML 자동 재생 콘텐츠가 최적화 가능하다고 고려되어 클릭 투 플레이 콘텐츠(306)로 변환된다. 일부 구현예들에서, 콘텐츠가 최적화 가능한지 또는 최적화 불가능한지를 결정하기 위해 콘텐츠를 분석하는 단계(304)는 콘텐츠(302)가 임의의 애니메이션들 또는 과도한 애니메이션들 (예를 들어, 임계치 애니메이션 지속기간 이상)을 포함하는지 여부를 결정하는 것을 포함한다. 일부 구현예들에서, 콘텐츠(302)가 최적화 가능한지 또는 최적화 불가능한지를 결정하기 위해 콘텐츠를 분석하는 단계(304)는 콘텐츠(302)가 (예를 들어, 네트워크 속도, 클라이언트 디바이스 프로레싱 능력들 또는 클라이언트 디바이스 저장 능력들에 기초하여) 클라이언트 디바이스 상에 로딩하는데 임계치치 시간보다 많은 시간을 야기할 것인지 여부를 결정하는 것을 포함한다. 즉, 변환기 시스템(112)이 콘텐츠가 클라이언트 디바이스 상에서 너무 느리게 로딩될 것이라는 것임을 결정하면 (예를 들어, 로딩하는데 특정된 시간 보다 오래 걸릴 것임), 콘텐츠는 최적화가 가능하며 정적 콘텐츠로 변환된 것으로 간주된다.
콘텐츠 데이터베이스(110) 또는 변환기 시스템(112) 중 하나가 HTML 콘텐츠(302)를 분석하여 콘텐츠가 클릭 투 플레이 콘텐츠로 변환되어야 함을 결정하면, 각각의 서버는 그 후 HTML 콘텐츠로부터 클릭 투 플레이 콘텐츠를 생성한다. 논의의 목적으로, 클릭 투 플레이 콘텐츠를 생성하기 위한 프로세스들은 변환기 시스템(112)과 관련하여 하기에 기술될 것이지만, 일부 구현예들에서, 콘텐츠 배포 시스템(108) 및 콘텐츠 데이터베이스(110) 프로세스 또한 이 프로세스들을 수행할 수 있다. 클릭 투 플레이 콘텐츠를 생성하기 위해, 변환기 시스템(112)은 자동 재생 콘텐츠 아이템으로부터 스크린 샷 또는 정지 이미지를 식별하여 클릭 투 플레이 콘텐츠 아이템에 대한 정지 이미지로 사용한다. 정지 이미지를 생성하기 위해 여러 접근법들이 사용될 수 있다. 일부 구현예들에서, 변환기 시스템(112)은 단시간 동안 자동 재생 콘텐츠를 재생한 후에 정지 이미지를 생성한다. 일부 구현예들에서, 변환기 시스템(112)은 콘텐츠가 재생되거나 애니메이팅되면 연속성 효과를 위해 가장 먼저 렌더링된 프레임에서 정지 이미지를 생성한다. 이 접근법은 그러나, 자동 재생 콘텐츠 아이템과 관련하여 관련성이 낮은 정보를 제공하는 정지 이미지를 결과로 할 수 있다. 예를 들어, 자동 재생 콘텐츠 아이템이 검은색 화면으로 시작되면, 그 후 추출된 정지 이미지는 검은색 화면이 될 것이며, 상기 검은색 화면은 궁극적으로 자동 재생 콘텐츠 아이템에 대한 어떤 유용한 정보도 보여주지 않는다. 일부 구현예들에서, 변환기 시스템(112)은 자동 재생 콘텐츠 아이템이 더 이상 애니메이팅하지 않는 포인트 이후의 설정된 시간 기간 (예를 들어, 30초) 동안 자동 재생 콘텐츠 아이템을 재생한 후에 정지 이미지를 생성한다. 이 접근법은 자동 재생 콘텐츠 항목에 대해 관련성이 더 높은 정보를 포함하는 프레임을 제공한다는 이점이 있다.
변환기 시스템(112)이 정지 이미지를 추출한 후에, 그것은 자동 재생 콘텐츠의 재생을 위한 하나 이상의 사용자 인터페이스 엘리먼트들을 제공한다. 통상적으로, 사용자 인터페이스 엘리먼트들은 정지 이미지 상에 오버레이되어, 사용자에게는 클릭 투 플레이 콘텐츠로부터 관련 프레임이 보여지고, 클릭 투 플레이 콘텐츠와 연관된 애니메이션을 야기할 수 있는 메커니즘이 제공된다. 이것은 애니메이션팅된 콘텐츠를 사용자에게 제공하면서 대역폭을 사용하여 애니메이션 콘텐츠를 다운로드하지 않거나 또는 애니메이팅된 콘텐츠를 시청하지 않으려는 사용자를 산만하게한다. 그러나, 사용자가 애니메이팅된 콘텐츠를 시청하기를 원한다면, 사용자 인터페이스 엘리먼트들은 사용자에게 애니메이팅된 콘텐츠를 시청할 수 있는 명확한 방식을 제공한다.
일부 구현예들에서, 변환기 시스템(112)은 콘텐츠 아이템이 컴퓨팅 디바이스에 의해 낮은 성능을 야기하기 때문에 변환할 특정한 자동 재생 콘텐츠 아이템을 선택한다. 예를 들어, 변환기 시스템(112)은 통상적으로 특정한 컴퓨팅 디바이스 상에서 30초 후에 애니메이팅을 시작하는 자동 재생 콘텐츠를 선택한다. 이 예시에서, 컴퓨팅 디바이스에 다운로드되는 데이터 양의 절감(saving)들은 무시할 만하지만, 특정한 컴퓨팅 디바이스의 브라우징 경험 및 배터리 수명에 대한 이점은 상당할 수 있다. 콘텐츠 아이템이 자동 재생 콘텐츠 아이템에서 클릭 투 플레이 콘텐츠 아이템으로 변환되면 - 이미지 다운로드와 마찬가지로 - 클릭 투 플레이 콘텐츠를 다운로드하기 위해 브라우저에 약간의 비용이 들지만, 콘텐츠 아이템은 사용자가 클릭 투 플레이 콘텐츠와 연관된 애니메이션을 시청하기 위해 클릭하지 않는 한 또는 클릭 할 때까지 콘텐츠 아이템이 컴퓨팅 디바이스 상의 다른 콘텐츠의 렌더링을 방해하지 않는다.
자동 재생 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하는 코드의 예시는 다음과 같다:
<!DOCTYPE html>
<html>
<head>
// Load minimal ad related scripts.
@keyframes background-fade-in {
from {opacity: 0;}
to {opacity: 1;}
}
@keyframes title-slide-in {
from {top: -100px;}
to {top: 200px;}
}
</head>
<body>
<div id="root_template_div" style="position:absolute;overflow:hidden;">
<iframe id="main-content" src="about:blank" width="300" height="250"></iframe>
<div id='preview' style='position:absolute;left:0px;top:0px;width:300px;height:250px'>
<img src="background.jpg" style='animation-name:background-fade-in;animation-duration:5s'></img>
<div id='title' style='animation-name:title-slide-in;animation-duration:5s'></div>
<div id='more_info'></div>
</div>
<div id='link' style='position:absolute;left:4px;bottom:4px;color:white;cursor:pointer;'>
<a onclick='goToLanding()' style='font-family: sans-serif;'>Visit advertisers website <img src='callout.svg' style='width:12px'></img></a>
</div>
</div>
<script>
var divElement = document.getElementById('preview');
divElement.onclick = function() {
// load main content into "main-content" div.
document.getElementById('preview').style.display = 'none';
};
var goToLanding = function() {
// Trigger ad click event.
}
</script>
</body>
</html>
일부 구현예들에서, 변환기 시스템(112)은 특정한 콘텐츠가 지연 이슈(issue)들을 야기하기 때문에 변환할 특정한 콘텐츠를 선택한다. 일부 경우들에서, 지연 이슈들은 특정한 콘텐츠 아이템과 컴퓨팅 디바이스의 특정한 특정들 또는 특정 운영 체제의 조합으로 인해 야기된다. HTML 자동 재생 콘텐츠를 클릭 투 플레이 콘텐츠로 변환하는 것은, 도 4에 도시된 바와 같이, 이 인스턴스들에서 더 나은 인터랙션들을 제공한다.
본 명세서에서 논의된 기술들의 이점들 중 하나는 예를 들어, 이미지를 로딩하는 데 걸릴 시간에, 로딩 지연이 큰 콘텐츠는 브라우저 상에서 빠르게 로딩되는 클릭 투 플레이 콘텐츠로 대체될 수 있다는 것이다. 도 4는 이러한 기법들이 지연 시간을 감소시키고 원하지 않는 콘텐츠의 다운로드를 선점(preempt)할 수 있는 방법을 도시한다. 타임라인(410)은 애니메이션을 포함하는 오리지널 HTML 자동 재생 콘텐츠가 사용자에게 제시되는 시나리오를 도시한다. 이 시나리오들에서, HTML 자동 재생 콘텐츠가 사용자에게 제공되며 애니메이팅 콘텐츠는 자동으로 로딩을 시작한다. (410)에 도시된 바와 같이, 오리지널의 콘텐츠는 시간=0s에서 로딩하기 시작하지만, 애니메이션(440)은 시간=0.8s까지 재생을 시작하지 않는다. 따라서 콘텐츠 로딩 및 콘텐츠 재생 시작에 후속하여 상당한 지연이 있다. 추가로, 이 시나리오에서, 사용자가 전혀 재생 콘텐츠를 비디오화하지 않고 즉시 HTML 자동 재생 콘텐츠의 재생을 중단하기를 원했었던 경우, 불필요한 리소스들이 소모되었었다. 즉, 사용하는 각 HTML 자동 재생 콘텐츠는 콘텐츠 배포 시스템에서 CPU 주기들을 소모하고 네트워크 대역폭을 소모하며 사용자의 디바이스가 원치 않는 콘텐츠를 다운로드하고 사용자가 관심 없는 애니메이팅된 콘텐츠의 일부를 시청하기 때문에 사용자 디바이스 상의 배터리 소모에 기여한다.
타임라인(420)은 애니메이션을 포함하는 원래의 HTML 자동 재생 콘텐츠가 클릭 투 플레이 콘텐츠(442)로 변환되었었고, 그 클릭 투 플레이 콘텐츠(442)가 사용자에게 제시되는 시나리오를 도시한다. 이 시나리오에서, 사용자는 클릭 투 플레이 콘텐츠(442)가 로딩된 후에 (예를 들어, 콘텐츠를 클릭함으로써 애니메이팅을 야기하기 위해) 클릭 투 플레이 콘텐츠(442)와 인터랙팅하지 않는다. 클릭 투 재생 콘텐츠(442)는 시간=0s에서 로딩하기 시작하고, 시간=0.2s에서 사용자에게 제시된다. 따라서 타임라인(410)과 타임라인(420)을 비교함으로써, HTML 콘텐츠(440)는 클릭 투 플레이 콘텐츠(442)보다 로딩이 0.6초 길어져 상당한 지연을 결과로한다. 타임라인(420)에서, 사용자는 클릭 투 플레이 콘텐츠를 클릭하지 않기 때문에, 더 이상의 콘텐츠는 로딩되지 않는다.
타임라인(430)은 시나리오를 보여주며, 상기 시나리오에서 애니메이션을 포함하는 오리지널 HTML 자동 재생 콘텐츠가 클릭 투 플레이 콘텐츠(442)로 변환되었었고, 그 클릭 투 플레이 콘텐츠(442)가 사용자에게 제시되며, 사용자는 클릭 투 플레이 콘텐츠(442)를 클릭하여 HTML 콘텐츠(440)를 시청할 수 있다. 타임라인(420)에서와 같이, 타임라인(430)에서, 클릭 투 플레이 콘텐츠(442)는 시간=0s에서 로딩하기 시작하고, 시간=0.2s에서 사용자에게 제시된다. 시스템은 그 후, 사용자가 클릭 투 플레이 콘텐츠(442)의 재생 버튼을 클릭하는 0.7s에 클릭 이벤트를 휴지(idle)한다. HTML 콘텐츠(440)는 그 후 시간=0.7s에서 로딩을 시작하고 시간=1.4s에서 재생을 시작한다.
도 4에 도시된 예시적인 타임라인들(410, 420, 430)에는 몇 가지 이점들이 있다. 첫째, 클릭 투 플레이 콘텐츠가 애니메이팅 콘텐츠보다 빠르게로딩된다. 다음으로, 지연 이슈들을 야기할 수 있는 애니메이팅 콘텐츠를 자동으로 로딩하지 않음으로써, 브라우저는 다른 동작들을 수행하거나 다른 콘텐츠를 다운로드하기 위한 리소스들을 확보하였다. 추가로, 클릭 플레이 콘텐츠는 예를 들어, (예를 들어, 타임라인(430)에 도시된 바와 같이) 사용자가 추가로 콘텐츠를 클릭하는 것과 같이 콘텐츠를 추가로 이용(engage)하지 않는 한, (타임라인(420)에 도시된 바와 같이) 로딩 후에 사용자 리소스들을 소모하지 않는다.
일부 구현예들에서, 클릭 투 플레이 콘텐츠(442)가 디스플레이되는 동안, HTML 콘텐츠(440)는 클라이언트 디바이스 상에 다운로드될 수 있다. 이는 클릭 투 플레이 콘텐츠(442)가 HTML 콘텐츠(440)가 로딩되는 동안 사용자에 대한 프리뷰로서 행동(act)한다는 이점을 갖는다. 그 후, 사용자가 HTML 콘텐츠를 재생하기 위해 사용자 인터페이스 엘리먼트를 클릭하는 경우, 콘텐츠(440)가 이미 다운로드 되었었기 때문에 HTML 콘텐츠 애니메이션(440)은 보다 매끄러운 방식으로 디스플레이한다. 다른 구현예들에서, HTML 콘텐츠(440)는 예를 들어, 클릭 투 플레이 콘텐츠와 연관된 사용자 인터페이스 엘리먼트를 (예를 들어, 재생 버튼) 클릭함으로써 그 또는 그녀가 애니메이션을 시청하기를 원함을 사용자가 표시할 때까지 다운로드되지 않는다. 이것은 재생되지 않은 콘텐츠를 빠르게 로딩하고 불필요한 리소스들을 사용하지 않아도 되는 이점을 갖는다. 그러나, 브라우저가 HTML 콘텐츠(440)로 하여금 사용자 입력 없이 다운로드되지 않도록 하고 재생을 시작하기 위해 HTML 콘텐츠(440) 및 다른 리소스들을 다운로드 해야 하기 때문에, 사용자 인터페이스 엘리먼트를 클릭 한 경험은 HTML 콘텐츠(440)의 더 느린 재생을 결과로 할 수 있다.
일부 구현예들에서, 변환기 시스템(112)은 실제 리소스들 및 콘텐츠와 관련된 HTML 코드를 사용하여 정지 이미지 또는 프리뷰를 생성할 수 있다. 이것은 실제 콘텐츠 애니메이션을 재생을 위해 필요한 리소스들을 미리 로딩할 수 있는 이점을 제공한다.
도 5a 내지 도 5c는 사용자 인터페이스 엘리먼트들을 갖는 스크린 샷들의 다양한 예시들을 도시한다. 도 5a에 도시된 기본적인 접근법에서, 애니메이팅 콘텐츠는 스크린샷(510) 및 스크린샷(510)을 오버레이하는 재생 버튼(512)을 디스플레이 하는 클릭 투 플레이 콘텐츠로 변환되었었다. 사용자가 클릭 투 플레이 콘텐츠와 연관된 애니메이팅 콘텐츠를 시청하기를 원하는 경우, 사용자는 재생 버튼(512)을 선택하며, 상기 재생 버튼(512)는 브라우저로 하여금 클릭 투 플레이 콘텐츠와 연관된 HTML 자동 재생 콘텐츠를 요청하게 하고 애니메이팅 콘텐츠를 포함한다. 브라우저는 HTML 자동 재생 콘텐츠를 수신하고 애니메이션 콘텐츠는 애니메이팅을 시작한다. 일부 구현예들에서, 사용자가 콘텐츠를 두 번 클릭하면, 콘텐츠와 연관된 타겟 웹사이트가 로딩될 것이다 (예를 들어, 사용자는 타겟 웹사이트로 재 유도될 것이다).
또 다른 접근법이 도 5b에 도시되어 있으며, 클릭 투 플레이 콘텐츠는 스크린샷(520) 및 오버레이된 재생 버튼(522)으로 디스플레이되며, 콘텐츠 제공자의 웹사이트 ("방문 콘텐츠 제공자의 웹사이트")(524)를 방문하기 위한 버튼과 함께 디스플레이된다. 이 예시에서, 사용자가 재생 버튼(522)을 클릭하면, 콘텐츠는 도 5a와 유사한 방식으로 애니메이팅을 시작할 것이다. 즉, 사용자가 재생 버튼(522)을 클릭하면, 브라우저는 클릭 투 플레이 콘텐츠와 연관되고 애니메이팅 콘텐츠를 포함한 HTML 자동 재생 콘텐츠를 콘텐츠 배포 시스템으로부터 요청한다. 브라우저는 그 후 HTML 자동 재생 콘텐츠를 수신하고 애니메이팅 콘텐츠가 애니메이팅을 시작한다. 그러나, 사용자가 애니메이션을 시청하기를 원하지 않고 콘텐츠 제공자의 웹사이트를 방문하기를 원할 경우, 사용자는 "콘텐츠 제공자의 웹 사이트 방문"버튼(524)을 클릭함으로써, 타겟 웹사이트로 재 유도되기 위해 한 번만 콘텐츠를 클릭하면 된다. 즉, 사용자는 타겟 웹사이트를 방문하기 위해 클릭하기 전에 먼저 클릭하여 재생할 필요가 없다.
도 5c는 스크린샷(530)을 갖는 대안적인 접근법을 도시하며, 상기 스크린샷(530)에서 재생 버튼(532) 및 콘텐츠 제공자의 웹 사이트(534)를 방문하기 위한 버튼은 덜 침입(intrusive)적이다. 특히, 재생 버튼(532)은 스크린샷의 중간이 아닌 스크린 샷(530)의 모서리에 위치된다.
도 6은 클릭 투 플레이 콘텐츠 및 자동 재생 콘텐츠를 서비스하기 위한 예시적 프로세스(600)의 흐름도이다. 예시적 프로세스(600)의 단계들은 도 2의 프로세스(200) 이후에 발생할 수 있으며, 이곳에서 클릭 투 플레이 콘텐츠가 자동 재생 콘텐츠로부터 생성되었었다. (602)에서, 콘텐츠 배포 시스템(108)은 원격 클라이언트 디바이스로부터 콘텐츠 요청을 수신한다. 요청된 콘텐츠에는 HTML 자동 재생 콘텐츠를 포함할 수 있는 HTML 콘텐츠를 포함할 수 있다. (604)에서, 콘텐츠 요구에 응답하여, 콘텐츠 배포 시스템(108)은 콘텐츠 데이터베이스(110) 상에 저장된 복수의 HTML 콘텐츠 아이템들로부터 HTML 콘텐츠 아이템을 식별한다. HTML 콘텐츠는 변환된 클릭 투 플레이 콘텐츠가 아니라, 예를 들어, 콘텐츠 제공자(114)가 생성하여 콘텐츠 데이터베이스(110)에 보내졌던 자동 재생 콘텐츠라는 점에서 오리지널 콘텐츠이다.
(604)에서, 콘텐츠 배포 시스템(108)은 HTML 콘텐츠 아이템과 연관된 클릭 투 플레이 콘텐츠 아이템을 콘텐츠 데이터베이스(110)로부터 수신한다. 클릭 투 플레이 콘텐츠 아이템은 예를 들어, 도 2의 프로세스(200)에서 HTML 콘텐츠 아이템으로부터 생성된다.
(606)에서, 콘텐츠 배포 시스템(108)은 원격 클라이언트 디바이스에 HTML 콘텐츠 아이템과 연관된 클릭 투 플레이 콘텐츠 아이템을 제공한다. 제공된 클릭 투 플레이 콘텐츠 아이템은 예를 들어,도 5a 내지 도 5c에 도시된 임의의 예시적인 클릭 투 플레이 콘텐츠 아이템과 유사할 수 있다. 도 4의 타임라인(430)에 도시된 바와 같이, 클릭 투 플레이 콘텐츠 아이템(442)은 시간= 0s에서 로딩을 시작할 수 있고 시간= 0.2s에서 디스플레이될 수 있다. 시간=0.2s에서, 원격 클라이언트 디바이스는 추가 사용자 입력이 있을 때까지 휴지하기 시작한다. 일부 구현예들에서, 클릭 투 플레이 콘텐츠는 웹 브라우저 또는 원격 클라이언트 디바이스의 네이티브 어플리케이션에 제공된다.
(608)에서, 콘텐츠 배포 시스템(108)은 클릭 투 플레이 콘텐츠와 관련된 애니메이션을 시청하기 위한 사용자 요청을 수신한다. 도 4의 타임라인(430)을 다시 참조하면, 시간=0.7s에서, 콘텐츠 배포 시스템(108)은 클릭 이벤트를 인식한다. 콘텐츠 배포 시스템(108)은 그 후 콘텐츠 데이터베이스(110)로부터 클릭 투 플레이 콘텐츠와 연관된 HTML 콘텐츠를 검색한다.
(610)에서, 콘텐츠 배포 시스템(108)은 클릭 투 플레이 콘텐츠와 연관된 HTML 자동 재생 콘텐츠를 클라이언트 디바이스에 제공한다. 다시 도 4의 타임라인(430)을 참조하면, 시간=0.7s에서, 콘텐츠 배포 시스템(108)은 클릭 이벤트를 인식하고 HTML 콘텐츠(440)의 전송을 시작한다. 시간=1.4s에서, 원격 클라이언트 디바이스는 HTML 콘텐츠(440)의 로딩을 끝냈었고, HTML 콘텐츠(440)는 애니메이션의 재생을 시작한다.
일부 구현예들에서, 콘텐츠 배포 시스템(108)이 콘텐츠 데이터베이스(110) 상에 저장된 복수의 HTML 콘텐츠 아이템들로부터 HTML 콘텐츠 아이템을 식별한 후에, 콘텐츠 배포 시스템(108)은 HTML 콘텐츠 아이템 또는 HTML 콘텐츠와 연관된 클릭 투 플레이 콘텐츠를 원격 클라이언트 디바이스에 제공이 가능한지 여부를 결정한다. 이 결정은 HTML 콘텐츠의 파일 크기 및 클릭 투 플레이 콘텐츠의 파일 크기를 결정하는 것을 포함할 수 있다. 그 후, HTML 콘텐츠 및 클릭 투 플레이 콘텐츠의 파일 크기와 임계치 파일 크기의 비교에 기초하여, 콘텐츠 배포 시스템(108)은 어떤 콘텐츠를 서비스 할지 결정한다. 예를 들어, HTML 콘텐츠 및 클릭 투 플레이 콘텐츠 둘 모두가 임계치 파일 크기보다 작다면, 콘텐츠 배포 시스템(108)은 서비스 할 HTML 콘텐츠를 선택할 수 있다. 그러나 HTML 콘텐츠가 임계치 파일 크기보다 크고 클릭 투 플레이 콘텐츠가 임계치 파일 크기보다 작은 경우, 콘텐츠 배포 시스템(108)은 원격 클라이언트 디바이스에 서비스하기 위한 클릭 투 플레이 콘텐츠를 선택할 수 있다. 일부 구현예들에서, 콘텐츠 배포 시스템(108)은 HTML 콘텐츠 또는 클릭 투 플레이 콘텐츠를 제공할지 여부를 선택할 때 HTML 콘텐츠를 로딩하는 것과 연관된 지연의 양에 관한 결정을 한다. 지연에 관한 이 결정은 HTML 콘텐츠 그 자체, 원격 클라이언트 디바이스의 연결 속도 및/또는 원격 클라이언트 디바이스의 디바이스 구성들에 기초할 수 있다.
도 7은 본 명세서에 기술된 컴퓨터로 구현되는 방법 및 다른 기법들을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(700) 및 모바일 컴퓨팅 디바이스의 예시를 도시한다. 컴퓨팅 디바이스(700)는 랩탑들, 데스크탑들, 워크스테이션들, PDA들, 서버들, 블레이드 서버들, 메인프레임들 및 다른 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터들을 표현하기 위한 것이다. 모바일 컴퓨팅 디바이스는 PDA들, 셀룰러 전화기들, 스마트 폰들 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스를 표현하기 위한 것이다. 본 명세서에 나타낸 컴포넌트들, 이들의 연결들 및 관계들, 및 그들의 기능들은 단지 예시적인 것을 의미하며, 본 명세서에 기재된 및/또는 청구된 발명들의 구현예들을 제한함을 의미하지 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 다수의 고속 확장 포트(710)에 연결한 고속 인터페이스(708) 및 저속 확장 포트(714) 및 저장 디바이스(706)에 연결한 저속 인터페이스(712)를 포함한다. 프로세서(702), 메모리(704), 저장 디바이스(706), 고속 인터페이스(708), 고속 확장 포트(710) 및 저속 인터페이스(712) 각각은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더보드 상에 또는 다른 적절한 방식으로 마운트(mount)될 수 있다. 프로세서(702)는 GUI에 대한 그래픽 정보를 고속 인터페이스(708)에 결합된 디스플레이(716)와 같은 외부 입력/출력 디바이스에 디스플레이 하도록, 메모리(704) 또는 저장 디바이스(706)에 저장된 명령어들을 포함하는 컴퓨팅 디바이스(700) 내의 실행을 위한 명령어들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 메모리들 및 메모리의 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 각각의 디바이스가 필요한 동작들의 부분들을 제공하면서(예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 멀티 프로세서 시스템으로서), 다수의 컴퓨팅 디바이스들이 연결될 수 있다.
메모리(704)는 컴퓨팅 디바이스(700) 내의 정보를 저장한다. 일부 구현예들에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현예들에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한 자기 또는 광학 디스크와 같은, 컴퓨터 판독 가능 매체의 다른 형태일 수 있다.
저장 디바이스(706)는 컴퓨팅 디바이스(700)를 위한 대용량 저장소를 제공할 수 있다. 일부 구현예들에서, 저장 디바이스(706)는 저장 영역 네트워크 또는 다른 컴포넌트들 내의 디바이스들을 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이(array)와 같은 컴퓨터 판독 가능 매체일 수 있거나 컴퓨터 판독 가능 매체를 내포할 수 있다. 컴퓨터 프로그램 물은, 실행될 때, 상술된 바와 같은 하나 이상의 방법들을 수행하는 명령어들을 또한 내포할 수 있다. 컴퓨터 프로그램 물은 또한 메모리(704), 저장 디바이스(706), 또는 프로세서(702)상의 메모리와 같은, 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체에 명백히 수록될 수 있다.
고속 인터페이스(708)는 컴퓨팅 디바이스(700)에 대한 대역폭-집중적인 동작들을 관리하고, 반면에 저속 인터페이스(712)는 저 대역폭-집중적인 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예들에서, 고속 인터페이스(708)는 메모리(704), 디스플레이(716) (예를 들어, 그래픽들 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(710))에 결합되어 있다. 구현예에서, 저속 인터페이스(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 결합된다. 다양한 통신 포트들 (예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는, 저속 확장 포트(714)는 예를 들어, 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스들에 네트워크 어댑터를 통하여 결합될 수 있다.
컴퓨팅 디바이스(700)는, 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 스탠다드 서버(720)로서 또는 그러한 서버들의 그룹에서 여러번 구현될 수 있다. 게다가, 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터에서 구현될 수 있다. 또한, 그것은 랙 서버 시스템(724)의 일부로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(700)로부터의 컴포넌트들은 모바일 컴퓨팅 디바이스(750)와 같은, 모바일 디바이스(도시되지 않음)내의 다른 컴포넌트들과 묶어질 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(700) 및 모바일 컴퓨팅 디바이스(750) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들로 구성될 수 있다.
모바일 컴퓨팅 디바이스(750)는 다른 컴포넌트들 중에서 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입/출력 디바이스, 통신 인터페이스(766) 및 송수신기들(768)을 포함한다. 모바일 컴퓨팅 디바이스(750)에는 추가 저장소를 제공하기 위해, 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 또한 제공될 수 있다. 프로세서(752), 메모리(764), 디스플레이(754), 통신 인터페이스(766), 및 송수신기들(768) 각각은 다양한 버스들을 사용하여 상호연결되며, 몇몇 컴포넌트들은 공통 마더보드 상에 또는 적절하게 다른 방식들로 마운트될 수 있다.
프로세서(752)는 메모리(764)에 저장된 명령어들을 포함하여, 모바일 컴퓨팅 디바이스(750) 내의 명령어들을 실행할 수 있다. 프로세서(752)는 별개의 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩의 칩셋으로서 구현될 수 있다. 예를 들어, 프로세서(752)는 사용자 인터페이스들의 제어, 모바일 컴퓨팅 디바이스(750)에 의해 동작하는 어플리케이션들 및 모바일 컴퓨팅 디바이스(750)에 의한 무선 통신들과 같은, 모바일 컴퓨팅 디바이스(750)의 다른 컴포넌트들의 조정을 제공한다.
프로세서(752)는 제어 인터페이스(758) 및 디스플레이(754)에 연결된 디스플레이 인터페이스(756)를 통해 사용자와 통신할 수 있다. 예를 들어, 디스플레이(754)는, TFT(Thin-Film-Semiconductor Liquid Crystal Display)디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(756)는 사용자에게 그래픽적 및 다른 정보를 제시하기 위해 디스플레이(754)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(758)는 사용자로부터 지령들을 수신할 수 있고 프로세서(752)에 제출하기 위해 그들을 변환할 수 있다. 게다가, 외부 인터페이스(762)는 프로세서(752)와의 통신을 제공하여, 모바일 컴퓨팅 디바이스(750)의 다른 디바이스들과의 근거리 통신을 가능하게할 수 있다. 예를 들어, 외부 인터페이스(762)는 일부 구현예들에서 유선 통신을, 또는 다른 구현예들에서 무선 통신을 가능하게 할 수 있으며, 다수의 인터페이스들이 또한 사용될 수 있다.
메모리(764)는 모바일 컴퓨팅 디바이스(750) 내의 정보를 저장한다. 메모리(764)는 컴퓨터 판독 가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비 휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(774)는 확장 인터페이스(772)를 통해 모바일 컴퓨팅 디바이스(750)에 제공되고 연결될 수 있으며, 그것은 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있다. 확장 메모리(774)는 모바일 컴퓨팅 디바이스(750)에 대한 여분의 저장 공간을 제공할 수 있거나, 또는 어플리케이션들 또는 모바일 컴퓨팅 디바이스(750)에 대한 다른 정보를 또한 저장할 수 있다. 특히, 확장 메모리(774)는 전술한 프로세스들을 수행하거나 보충하기 위해 명령어들을 포함할 수 있으며, 그리고 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(774)는 모바일 컴퓨팅 디바이스(750)에 대한 보안 모듈로서 제공될 수 있고, 그리고 모바일 컴퓨팅 디바이스(750)의 보안 사용을 허용하는 명령어들로 프로그래밍 될 수 있다. 게다가, 보안 어플리케이션들은 SIMM 카드에 식별 정보를 해킹할 수 없게 두는 것처럼, 추가 정보와 함께, SIMM 카드들을 통해 제공될 수 있다.
메모리는 예를 들어, 이하에서 논의되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리(비 휘발성 랜덤 액세스 메모리)를 포함할 수 있다. 컴퓨터 프로그램 물은, 실행될 때 위에 기술된 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 컴퓨터 프로그램 물은 메모리(764), 확장 메모리(774), 또는 프로세서(752) 상의 메모리와 같은, 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체일 수 있다. 일부 구현예들에서, 컴퓨터 프로그램 물은 예를 들어, 송수신기(768) 또는 외부 인터페이스(762)를 통해 전파된 신호로 수신될 수 있다.
모바일 컴퓨팅 디바이스(750)는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있으며, 필요한 경우 디지털 신호 프로세싱 회로망을 포함할 수 있다. 통신 인터페이스(766)는 다양한 모드들 또는 GSM 음성 통화(모바일 통신을 위한 글로벌 시스템), SMS, EMS, 또는 MMS 메시징(멀티미디어 메시징 서비스), CDMA(코드 분할 다중 액세스), TDMA(시분할 다중 액세스), PDC(개인 디지털 셀룰러), WCDMA, CDMA2000, 또는 GPRS(일반 패킷 라디오 서비스), 등과 같은 프로토콜들 하에서 통신들을 제공한다. 이러한 통신은 예를 들어, 라디오주파수를 사용하는 송수신기(768)를 통해 발생할 수 있다. 추가로, 블루투스, WiFi, 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 게다가, GPS수신기 모듈(770)은 추가적인 네비게이션 및 위치 관련 무선 데이터를 모바일 컴퓨팅 디바이스(750)에 제공할 수 있으며, 상기 데이터는 모바일 컴퓨팅 디바이스(750)상에서 동작하는 어플리케이션들에 의해 적절한 만큼 사용될 수 있다.
모바일 컴퓨팅 디바이스(750)는 또한 오디오 코덱(760)을 사용하여 청각적으로 통신할 수 있으며, 사용자로부터 음성 정보를 수신하여 그것을 이용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(760)은 마찬가지로, 예를 들어, 모바일 컴퓨팅 디바이스(750)의 수화기에 있는 스피커와 같은 것을 통해 사용자를 위한 가청 소리를 생성할 수 있다. 이러한 소리는 음성 전화 호출들로부터의 소리를 포함할 수 있고, 기록된 소리(예를 들어, 음성 메시지들, 음악 파일들 등)를 포함할 수 있으며, 그리고 또한 모바일 컴퓨팅 디바이스(750) 상에서 동작하는 어플리케이션들에 의해 생성된 소리를 포함할 수 있다.
모바일 컴퓨팅 디바이스(750)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 셀룰러폰(780)으로 구현될 수 있다. 또한, 그것은 스마트폰(782), PDA, 또는 다른 유사한 모바일 디바이스의 일부로 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특별히 디자인된 ASIC들(응용 주문형 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은, 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들 내의 구현을 포함할 수 있으며, 상기 구현은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 데이터 및 명령어들을 전송하고 이들로부터 데이터 및 명령어들을 수신하도록 결합된, 전용적이고 범용적인 목적일 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 어플리케이션들 또는 코드로도 알려져 있음)은 프로그램가능한 프로세서에 대한 기계 명령어들을 포함하고, 그리고 고레벨의 절차적 및/또는 객체 지향적 프로그래밍, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 것처럼, 기계 판독 가능 매체 및 컴퓨터 판독 가능 매체라는 용어들은 임의의 컴퓨터 프로그램 물, 장치 및/또는 프로그램가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하기 위해 사용되는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그램 가능 논리 디바이스(PLD))를 지칭하며, 판독 가능 신호로서 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함한다. 기계 판독 가능 신호라는 용어는 기계 명령어들 및/또는 데이터를 프로그램가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
사용자와의 인터랙션을 제공하기 위해, 여기에 기술된 시스템들 및 기법들은 사용자에게 정보를 보이기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(액정 디스플레이) 모니터), 및 키보드와 사용자가 컴퓨터에 입력을 제공 할 수 있는 포인팅 디바이스 (예를 들어, 마우스 또는 트랙볼)를 가지는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들은 역시 사용자와의 인터랙션을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공된 피드백은 임의 형태의 감각적 피드백 (예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있다; 그리고 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 시스템들 및 기법들은 백 엔드(back end) 컴포넌트(예를 들어, 데이터 서버 같은)를 포함하거나, 미들웨어(middleware) 컴포넌트(예를 들어, 어플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터, 그것을 통하여 사용자는 여기에 기술된 시스템들 및 기법들의 구현과 인터랙팅할 수 있다), 또는 그러한 백 엔드, 미들웨어 또는 프론트 엔드의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 디지털 데이터 통신(예를 들어, 통신 네트워크)의 매체에 의해 상호접속될 수 있다. 통신 네트워크들의 예시들은 근거리 네트워크(LAN), 광역 네트워크(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 인터랙팅 한다. 클라이언트와 서버의 관계는 컴퓨터 프로그램들 때문에 생기며, 상기 프로그램들은 각각의 컴퓨터들에서 동작하고 서로 클라이언트-서버 관계를 갖는다.
시스템들, 방법들, 디바이스들, 및 다른 기법들이 사용자에 관한 개인 정보(예를 들어, 콘텍스트 데이터)를 수집하거나, 개인 정보를 이용할 수 있는 상황에서, 사용자들은 프로그램들이나 특징들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들, 또는 사용자의 현재 위치에 대한 정보)를 수집하는지 여부를 제어할 수 있는 기회를 제공받을 수 있으며, 또는 사용자와 더 관련이 있을 수 있는 콘텐츠를 콘텐츠 서버로부터 수신할 지 여부를 제어하고 및/또는 어떻게 수신할 지를 제어할 수 있는 기회를 제공받을 수 있다. 게다가, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방법들로 처리될 수 있고, 이로써 개인 식별 정보가 제거된다. 예를 들어, 사용자의 신원이 처리되어 사용자에 대해 개인 식별 정보가 결정될 수 없거나, 또는 사용자의 지리적 위치가 위치 정보가 획득된 곳(예를 들어, 도시, 우편 번호 또는 주 수준)으로 일반화될 수 있어, 사용자의 특정 위치가 결정되지 못할 수 있다. 따라서, 사용자는 사용자에 관한 정보가 콘텐츠 서버에 의해 어떻게 수집되고 사용되는지를 제어할 수 있다.
다양한 구현들이 상술되었을지라도, 다른 수정들이 가능하다. 게다가, 도면들에 도시된 논리 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적 순서를 요구하지 않는다. 추가로, 다른 단계들이 제공되거나, 기술된 흐름들로부터 단계들이 제거될 수 있으며, 그리고 기술된 시스템들에 다른 컴포넌트들이 추가되거나 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.
Claims (20)
- 시스템으로서:
콘텐츠 데이터베이스, 상기 콘텐츠 데이터베이스는, 하나 이상의 콘텐츠 제공자들과 통신함에 있어서, 상기 하나 이상의 콘텐츠 제공자들로부터 콘텐츠를 수신하고 복수의 오리지널(original) 콘텐츠 아이템들과 연관된 복수의 변환된 콘텐츠 아이템들 및 자동 재생 콘텐츠를 포함하는 상기 복수의 오리지널 콘텐츠 아이템들을 저장하며;
하나 이상의 프로세서들을 포함하는 변환기 시스템, 상기 변환기 시스템은 상기 콘텐츠 데이터베이스와 통신함에 있어서:
상기 복수의 오리지널 콘텐츠 아이템들을 상기 콘텐츠 데이터베이스로부터 수신하고;
상기 복수의 오리지널 콘텐츠 아이템들로부터 상기 복수의 변환된 콘텐츠 아이템들을 생성하고, 상기 아이템들을 생성하는 것은;
특정한 오리지널 콘텐츠 아이템에 대해, 상기 특정한 오리지널 콘텐츠 아이템으로부터 관련 정적 표현을 식별하는 것;
상기 특정한 오리지널 콘텐츠 아이템으로부터 상기 관련 정적 표현을 추출하는 것;
상기 특정한 오리지널 콘텐츠 아이템의 재생과 연관된 하나 이상의 사용자 인터페이스 엘리먼트들로 상기 관련 정적 표현을 오버레이(overlay)하는 것; 및
상기 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이된 상기 관련 정적 표현을 포함하는 특정한 변환된 콘텐츠 아이템을 저장하는 것에 의함이며; 및
상기 복수의 변환된 콘텐츠 아이템들을 상기 콘텐츠 데이터베이스로 전송하며; 및
하나 이상의 프로세서들을 포함하는 콘텐츠 배포(distribution) 시스템을 포함하고, 상기 콘텐츠 배포 시스템은 상기 콘텐츠 데이터베이스와 통신함에 있어서:
원격 클라이언트 디바이스로부터 콘텐츠에 대한 요청을 수신하고;
상기 콘텐츠에 대한 요청에 응답하여, 상기 콘텐츠 데이터베이스에 저장된 상기 복수의 오리지널 콘텐츠 아이템들로부터 제1 오리지널 콘텐츠 아이템을 식별하고;
상기 콘텐츠 데이터베이스로부터 상기 제1 오리지널 콘텐츠 아이템과 연관된 제1 변환된 콘텐츠 아이템을 수신하며; 및
상기 제1 오리지널 콘텐츠 아이템과 연관된 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 것을 특징으로 하는 시스템. - 청구항 1에 있어서, 상기 콘텐츠 배포 시스템은:
상기 원격 클라이언트 디바이스로부터, 상기 제1 변환된 콘텐츠 아이템과 관련된 자동 재생 콘텐츠를 시청하기 위한 사용자 요청을 수신하고; 및
자동 재생 콘텐츠를 시청하기 위한 상기 사용자 요청을 수신함에 응답하여, 상기 제1 오리지널 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 것을 더 포함하는 것을 특징으로 하는 시스템. - 청구항 1 또는 2에 있어서, 상기 복수의 오리지널 콘텐츠 아이템들은 자동 재생 HTML 콘텐츠를 포함하고, 상기 복수의 변환된 콘텐츠 아이템들은 클릭 투 플레이(click-to-play) 콘텐츠를 포함하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 변환기 시스템은 상기 콘텐츠 데이터베이스의 오리지널 콘텐츠 아이템들을 더 분석하고 변환 가능한 오리지널 콘텐츠 아이템들을 더 식별하는 것을 특징으로 하는 시스템.
- 청구항 4에 있어서, 변환 가능한 오리지널 콘텐츠 아이템들을 식별하는 것은 임계치 파일 크기보다 큰 오리지널 콘텐츠 아이템들을 식별하는 것을 포함하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 관련 정적 표현을 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이하는 것은:
상기 하나 이상의 사용자 인터페이스 엘리먼트들 및 상기 하나 이상의 인터페이스 엘리먼트들의 상대적 포지션(position)들을 정의하는 템플릿을 식별하는 것을 포함하는 것을 특징으로 하는 시스템. - 청구항 6에 있어서, 상기 템플릿은 불투명(opacity) 레벨 또는 그레이스케일(grayscale) 레벨 중 적어도 하나를 추가로 정의하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 하나 이상의 사용자 인터페이스 엘리먼트들은 재생 버튼 및 상기 오리지널 콘텐츠를 제공했던 콘텐츠 제공자의 웹 페이지에 액세스하는 것과 연관된 버튼 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 변환된 콘텐츠는 상기 오리지널 콘텐츠보다 작은 파일 크기를 갖는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 콘텐츠 배포 시스템은 콘텐츠에 대한 상기 요청을 수신하고 상기 변환된 콘텐츠를 상기 클라이언트 디바이스 상의 네이티브 어플리케이션(native application) 또는 웹 브라우저 중 하나에 제공하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 콘텐츠 데이터베이스는 상기 복수의 변환된 콘텐츠 아이템들 각각을 대응하는 오리지널 콘텐츠 아이템과 연관시켜 저장하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 복수의 변환된 콘텐츠 아이템들은 실질적으로 정적인 콘텐츠를 포함하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 원격 클라이언트 디바이스로부터의 콘텐츠에 대한 요청은 자동 재생 콘텐츠에 대한 요청을 포함하는 것을 특징으로 하는 시스템.
- 청구항 1에 있어서, 상기 콘텐츠 배포 시스템은, 상기 제1 오리지널 콘텐츠 아이템을 식별한 후에, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 더 결정하는 것을 특징으로 하는 시스템.
- 청구항 14에 있어서, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 결정하는 것은:
상기 제1 오리지널 콘텐츠 아이템의 파일 크기 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 결정하는 것; 및
상기 제1 변환된 콘텐츠 아이템의 파일 크기와 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 임계치 파일 크기와 비교함에 기초하여, 상기 제1 변환된 콘텐츠 아이템을 선택하는 것에 의해 구성됨을 특징으로 하는 시스템. - 컴퓨터로 구현되는 방법으로서:
콘텐츠 데이터베이스에 의해 하나 이상의 콘텐츠 제공자들로부터, 자동 재생 콘텐츠를 포함하는 복수의 오리지널 콘텐츠 아이템들을 수신하는 단계;
하나 이상의 프로세서들에 의해, 상기 복수의 오리지널 콘텐츠 아이템들로부터 복수의 변환된 콘텐츠 아이템들을 생성하는 단계, 상기 아이템들을 생성하는 단계는;
특정한 오리지널 콘텐츠 아이템에 대해, 상기 특정한 오리지널 콘텐츠 아이템으로부터 관련 정적 표현을 식별하는 단계;
상기 특정한 오리지널 콘텐츠 아이템으로부터 상기 관련 정적 표현을 추출하는 단계;
상기 특정한 오리지널 콘텐츠 아이템의 재생과 연관된 하나 이상의 사용자 인터페이스 엘리먼트들로 상기 관련 정적 표현을 오버레이 하는 단계; 및
상기 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이된 상기 관련 정적 표현을 포함하는 특정한 변환된 콘텐츠 아이템을 저장하는 단계를 포함하며; 및
상기 콘텐츠 데이터베이스에 의해, 상기 복수의 변환된 콘텐츠 아이템 각각을 대응하는 오리지널 콘텐츠 아이템과 연관시켜 저장하는 단계;
원격 클라이언트로부터 콘텐츠에 대한 요청을 수신하는 단계;
상기 콘텐츠에 대한 요청에 응답하여, 상기 콘텐츠 데이터베이스에 저장된 상기 복수의 오리지널 콘텐츠 아이템들로부터 제1 오리지널 콘텐츠 아이템을 식별하는 단계;
상기 콘텐츠 데이터베이스로부터 상기 제1 오리지널 콘텐츠 아이템과 연관된 제1 변환된 콘텐츠 아이템을 수신하는 단계; 및
상기 제1 오리지널 콘텐츠 아이템과 연관된 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 청구항 16에 있어서,
상기 원격 클라이언트 디바이스로부터, 상기 제1 변환된 콘텐츠 아이템과 관련된 자동 재생 콘텐츠를 시청하기 위한 사용자 요청을 수신하는 단계; 및
자동 재생 콘텐츠를 시청하기 위한 상기 사용자 요청을 수신함에 응답하여, 상기 제1 오리지널 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 청구항 16 또는 17에 있어서, 상기 복수의 오리지널 콘텐츠 아이템들은 자동 재생 HTML 콘텐츠를 포함하고, 상기 복수의 변환된 콘텐츠 아이템들은 클릭 투 플레이 콘텐츠를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
- 청구항 16에 있어서,
상기 제1 오리지널 콘텐츠 아이템을 식별한 후에, 상기 제1 오리지널 콘텐츠 아이템 또는 상기 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공할지 여부를 결정하는 단계를 더 포함하며, 상기 결정하는 단계는:
상기 제1 오리지널 콘텐츠 아이템의 파일 크기 및 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 결정하는 단계; 및
상기 제1 변환된 콘텐츠 아이템의 파일 크기와 상기 제1 변환된 콘텐츠 아이템의 파일 크기를 임계치 파일 크기와 비교함에 기초하여, 상기 제1 변환된 콘텐츠 아이템을 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법. - 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행시, 동작들을 수행하게 하며, 상기 동작들은:
하나 이상의 콘텐츠 제공자들로부터, 자동 재생 콘텐츠를 포함하는 복수의 오리지널 콘텐츠 아이템들을 수신하는 동작;
상기 복수의 오리지널 콘텐츠 아이템들로부터 복수의 변환된 콘텐츠 아이템들을 생성하는 동작, 상기 생성하는 동작은;
특정한 오리지널 콘텐츠 아이템에 대해, 상기 특정한 오리지널 콘텐츠 아이템으로부터 관련 정적 표현을 식별하는 동작;
상기 특정한 오리지널 콘텐츠 아이템으로부터 상기 관련 정적 표현을 추출하는 동작;
상기 특정한 오리지널 콘텐츠 아이템의 재생과 연관된 하나 이상의 사용자 인터페이스 엘리먼트들로 상기 관련 정적 표현을 오버레이 하는 동작; 및
상기 하나 이상의 사용자 인터페이스 엘리먼트들로 오버레이된 상기 관련 정적 표현을 포함하는 특정한 변환된 콘텐츠 아이템을 저장하는 동작을 포함하며; 및
상기 복수의 변환된 콘텐츠 아이템 각각을 대응하는 오리지널 콘텐츠 아이템과 연관시켜 저장하는 동작;
원격 클라이언트로부터 콘텐츠에 대한 요청을 수신하는 동작;
상기 콘텐츠에 대한 요청에 응답하여, 콘텐츠 데이터베이스에 저장된 상기 복수의 오리지널 콘텐츠 아이템들로부터 제1 오리지널 콘텐츠 아이템을 식별하는 동작;
상기 제1 오리지널 콘텐츠 아이템과 연관된 제1 변환된 콘텐츠 아이템을 상기 원격 클라이언트 디바이스에 제공하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/180,749 US10289732B2 (en) | 2016-06-13 | 2016-06-13 | Server-based conversion of autoplay content to click-to-play content |
US15/180,749 | 2016-06-13 | ||
PCT/US2016/065748 WO2017218038A1 (en) | 2016-06-13 | 2016-12-09 | Server-based conversion of autoplay content to click-to-play content |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180125003A KR20180125003A (ko) | 2018-11-21 |
KR102219844B1 true KR102219844B1 (ko) | 2021-02-24 |
Family
ID=57681769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187031365A KR102219844B1 (ko) | 2016-06-13 | 2016-12-09 | 자동 재생 콘텐츠의 클릭 투 플레이 콘텐츠로의 서버-기반 변환 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10289732B2 (ko) |
EP (1) | EP3278250B1 (ko) |
JP (1) | JP6678773B2 (ko) |
KR (1) | KR102219844B1 (ko) |
CN (2) | CN114065010A (ko) |
WO (1) | WO2017218038A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9832519B2 (en) | 2012-04-18 | 2017-11-28 | Scorpcast, Llc | Interactive video distribution system and video player utilizing a client server architecture |
US10506278B2 (en) | 2012-04-18 | 2019-12-10 | Scorpoast, LLC | Interactive video distribution system and video player utilizing a client server architecture |
US10733225B1 (en) * | 2017-09-06 | 2020-08-04 | Snap Inc. | Scaled delivery of media content |
EP3454207B1 (en) * | 2017-09-07 | 2022-07-06 | Siemens Aktiengesellschaft | Dynamic preview generation in a product lifecycle management environment |
KR102037301B1 (ko) * | 2018-03-27 | 2019-10-29 | 주식회사 엘지유플러스 | 비디오 콘텐츠 제공 장치 및 방법 |
US11409834B1 (en) * | 2018-06-06 | 2022-08-09 | Meta Platforms, Inc. | Systems and methods for providing content |
KR20210055387A (ko) | 2019-11-07 | 2021-05-17 | 삼성전자주식회사 | 컨텍스트에 기반하여 애플리케이션을 제공하는 서버 및 그 제어 방법 |
US11432034B2 (en) * | 2020-08-08 | 2022-08-30 | Haystack TV, Inc. | Dynamic context-based video streaming overlay generation |
CN112004119B (zh) * | 2020-08-30 | 2022-05-24 | 刘田 | 一种快速响应用户数据请求的服务器平台 |
CN112004118B (zh) * | 2020-08-30 | 2022-06-21 | 青岛民航凯亚系统集成有限公司 | 一种快速响应用户数据请求的方法及系统 |
CN114785778B (zh) * | 2022-03-10 | 2023-09-01 | 聚好看科技股份有限公司 | 网关设备和内容分发方法 |
KR20240092972A (ko) * | 2022-12-15 | 2024-06-24 | 쿠팡 주식회사 | 정보를 제공하는 방법 및 장치 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US6959288B1 (en) * | 1998-08-13 | 2005-10-25 | International Business Machines Corporation | Digital content preparation system |
US7689510B2 (en) * | 2000-09-07 | 2010-03-30 | Sonic Solutions | Methods and system for use in network management of content |
US7155436B2 (en) | 2001-01-12 | 2006-12-26 | Vendaria, Inc | Method and system for generating and providing rich media presentations optimized for a device over a network |
US20030046348A1 (en) | 2001-08-29 | 2003-03-06 | Pinto Albert Gregory | System and method of converting video to bitmap animation for use in electronic mail |
US7788583B1 (en) | 2004-03-04 | 2010-08-31 | Google Inc. | In-page full screen internet video method |
US20060026162A1 (en) * | 2004-07-19 | 2006-02-02 | Zoran Corporation | Content management system |
US8255815B2 (en) * | 2006-08-04 | 2012-08-28 | Apple Inc. | Motion picture preview icons |
US20100281042A1 (en) | 2007-02-09 | 2010-11-04 | Novarra, Inc. | Method and System for Transforming and Delivering Video File Content for Mobile Devices |
CA2676705A1 (en) * | 2007-02-09 | 2008-08-21 | Novarra, Inc. | Method and system for transforming and delivering video file content for mobile devices |
US8433611B2 (en) * | 2007-06-27 | 2013-04-30 | Google Inc. | Selection of advertisements for placement with content |
EP2034487B1 (en) | 2007-09-04 | 2018-04-25 | Samsung Electronics Co., Ltd. | Method and system for generating thumbnails for video files |
CN101635826B (zh) * | 2008-07-21 | 2011-02-09 | 中国科学院计算技术研究所 | 一种获取网络音视频节目地址的方法 |
US9690866B2 (en) * | 2009-06-19 | 2017-06-27 | Microsoft Technology Licensing, Llc | Persistent media playback |
US8880623B2 (en) * | 2009-12-02 | 2014-11-04 | Redux, Inc. | Prioritization in a continuous video playback experience |
US9525900B2 (en) * | 2011-09-15 | 2016-12-20 | Google Inc. | Video management system |
US20140150029A1 (en) | 2012-04-18 | 2014-05-29 | Scorpcast, Llc | System and methods for providing user generated video reviews |
US20150012363A1 (en) * | 2013-03-15 | 2015-01-08 | Ad-Vantage Networks, Inc. | Methods and systems for processing and displaying content |
US9509596B2 (en) * | 2013-06-07 | 2016-11-29 | Fasly, Inc. | Domain name system bypass in user applications |
CN103279882B (zh) * | 2013-06-19 | 2016-08-31 | 成都智元汇数码科技有限公司 | 一种交互式信息发布物联网终端实现广告交互的方法 |
US9442944B2 (en) * | 2013-11-12 | 2016-09-13 | Dropbox, Inc. | Content item purging |
US9456237B2 (en) * | 2013-12-31 | 2016-09-27 | Google Inc. | Methods, systems, and media for presenting supplemental information corresponding to on-demand media content |
US9552342B2 (en) | 2014-01-09 | 2017-01-24 | Microsoft Technology Licensing, Llc | Generating a collage for rendering on a client computing device |
US10481870B2 (en) | 2017-05-12 | 2019-11-19 | Google Llc | Circuit to perform dual input value absolute value and sum operation |
-
2016
- 2016-06-13 US US15/180,749 patent/US10289732B2/en active Active
- 2016-12-09 KR KR1020187031365A patent/KR102219844B1/ko active IP Right Grant
- 2016-12-09 JP JP2018559741A patent/JP6678773B2/ja active Active
- 2016-12-09 EP EP16820090.5A patent/EP3278250B1/en active Active
- 2016-12-09 CN CN202111196340.2A patent/CN114065010A/zh active Pending
- 2016-12-09 WO PCT/US2016/065748 patent/WO2017218038A1/en active Application Filing
- 2016-12-09 CN CN201680085675.8A patent/CN109154943B/zh active Active
-
2019
- 2019-04-04 US US16/375,374 patent/US11269953B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10289732B2 (en) | 2019-05-14 |
US20170357655A1 (en) | 2017-12-14 |
US20190286653A1 (en) | 2019-09-19 |
EP3278250B1 (en) | 2018-10-03 |
CN109154943A (zh) | 2019-01-04 |
WO2017218038A1 (en) | 2017-12-21 |
EP3278250A1 (en) | 2018-02-07 |
JP2019526087A (ja) | 2019-09-12 |
CN109154943B (zh) | 2021-10-15 |
JP6678773B2 (ja) | 2020-04-08 |
CN114065010A (zh) | 2022-02-18 |
US11269953B2 (en) | 2022-03-08 |
KR20180125003A (ko) | 2018-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102219844B1 (ko) | 자동 재생 콘텐츠의 클릭 투 플레이 콘텐츠로의 서버-기반 변환 | |
US11438637B2 (en) | Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player | |
US9977835B2 (en) | Queryless search based on context | |
RU2632144C1 (ru) | Компьютерный способ создания интерфейса рекомендации контента | |
US8799300B2 (en) | Bookmarking segments of content | |
US9674580B2 (en) | Method and system for recording video directly into an HTML framework | |
US20170285922A1 (en) | Systems and methods for creation and sharing of selectively animated digital photos | |
US20140095328A1 (en) | Interactive reveal ad unit | |
US20150199605A1 (en) | Creating Variations when Transforming Data into Consumable Content | |
US20090259971A1 (en) | Media mashing across multiple heterogeneous platforms and devices | |
US20170295414A1 (en) | Methods and systems for multimedia content | |
US20140129919A1 (en) | Method for Embedding Captured Content from one location to a host location | |
US10694222B2 (en) | Generating video content items using object assets | |
US20240184841A1 (en) | Content creative web browser | |
US20210051122A1 (en) | Systems and methods for pushing content | |
JP2018022386A (ja) | 配信装置、配信方法、配信プログラム及び情報表示プログラム | |
US11308110B2 (en) | Systems and methods for pushing content | |
US10943380B1 (en) | Systems and methods for pushing content | |
US20180367848A1 (en) | Method and system for auto-viewing of contents | |
US11303965B1 (en) | Techniques for providing interactive video | |
Korhonen et al. | Creating Mashups with Adobe Flex and AIR | |
JP2017021869A (ja) | 表示プログラム、端末装置、表示方法及び配信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |