KR101493034B1 - 비디오 세그먼트 프리젠테이션 추적 - Google Patents

비디오 세그먼트 프리젠테이션 추적 Download PDF

Info

Publication number
KR101493034B1
KR101493034B1 KR1020147010874A KR20147010874A KR101493034B1 KR 101493034 B1 KR101493034 B1 KR 101493034B1 KR 1020147010874 A KR1020147010874 A KR 1020147010874A KR 20147010874 A KR20147010874 A KR 20147010874A KR 101493034 B1 KR101493034 B1 KR 101493034B1
Authority
KR
South Korea
Prior art keywords
video
playback
segment
data
segments
Prior art date
Application number
KR1020147010874A
Other languages
English (en)
Other versions
KR20140057407A (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 KR20140057407A publication Critical patent/KR20140057407A/ko
Application granted granted Critical
Publication of KR101493034B1 publication Critical patent/KR101493034B1/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/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/6583Acknowledgement
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

콘텐츠의 프리젠테이션을 추적하기 위한 방법, 시스템 그리고 장치가 제공되며, 여기에는 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램들이 포함된다. 일 실시형태에서, 방법이 제공되는데, 이 방법은 비디오를 둘 이상의 세그먼트들로 세그먼트화하는 것을 포함한다. 비디오의 각각의 세그먼트는 비디오의 가변적으로 선택되는 별개의 서브세트일 수 있다. 클라이언트측 비디오 플레이어는 비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했는지를 결정한다. 비디오에 대한 프리젠테이션 유형이 결정되는바, 여기서 프리젠테이션 유형은 광고 프리젠테이션 혹은 비광고 프리젠테이션 중 하나이다. 재생 데이터가 서버측 데이터 프로세싱 장치에 제공되고, 서버측 데이터 프로세싱 장치는 재생 데이터를 데이터 저장소에 저장한다. 재생 데이터는, 비디오에 대한 프리젠테이션 유형을 표시하고, 그리고 비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 표시한다.

Description

비디오 세그먼트 프리젠테이션 추적{VIDEO SEGMENT PRESENTATON TRACKING}
본 명세서는 데이터 프로세싱 및 비디오 재생 추적에 관한 것이다.
인터넷은 매우 다양한 리소스들(resources)에 대한 액세스(access)를 제공한다. 예를 들어, 비디오 및/또는 오디오 파일들, 뿐만 아니라 특정 주제 혹은 특정 뉴스 기사에 대한 웹 페이지들이 인터넷을 통해 액세스가능하다. 이러한 리소스들에 대한 액세스는 광고들이 리소스들과 함께 제공될 수 있는 기회를 제공한다. 예를 들어, 웹 페이지는 광고들이 프리젠테이션(presentation)될 수 있는 광고 슬롯(advertisement slot)들을 포함할 수 있다. 이러한 광고 슬롯들은 웹 페이지 내에서 정의될 수 있거나 혹은 웹 페이지를 통해 프리젠테이션되도록 정의될 수 있다.
비디오 광고들은 웹 페이지 내에서 정의된 광고 슬롯들에서 프리젠테이션될 수 있는 광고의 한 유형이다. 비디오 광고들은 또한 다른 유형의 광고 슬롯들에서 프리젠테이션될 수 있는바, 예를 들어, 다른 비디오들 내에서 정의된 광고 슬롯들(예를 들어, 시간의 일정 시기들)에서 프리젠테이션될 수 있다. 이러한 비디오 광고들의 성능은 (예를 들어, 비디오 광고의 재생을 개시시킴으로써) 비디오 광고의 프리젠테이션을 요청한 사용자들의 수에 근거하여 분석될 수 있다. 그러나, 비디오 광고의 프리젠테이션을 요청한 사용자들의 수만 평가하는 것은 광고자에게 충분한 성능 정보를 제공할 수 없다.
일반적으로, 본 명세서에서 설명되는 주된 내용의 일 혁신적 실시형태는 방법으로 구현될 수 있는바, 이러한 방법은: 비디오(video)를 둘 이상의 세그먼트(segment)들로 세그먼트화하는 동작과, 여기서 비디오의 각각의 세그먼트는 비디오의 가변적으로 선택되는 별개의 서브세트이고; 비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 클라이언트측 비디오 플레이어(client-side video player)에 의해 결정하는 동작과; 비디오에 대한 프리젠테이션 유형(presentation type)을 결정하는 동작과, 여기서 프리젠테이션 유형은 광고 프리젠테이션(advertisement presentation) 혹은 비광고 프리젠테이션(non-advertisement presentation) 중 하나이고; 그리고 비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 표시하는 재생 데이터(playback data)를 서버측 데이터 프로세싱 장치(server-side data processing apparatus)에 제공하는 동작을 포함하며, 여기서 재생 데이터는 또한 비디오의 프리젠테이션 유형을 특정한다. 이러한 실시형태의 다른 실시예들은 상기 방법의 동작들을 수행하도록 구성된 대응하는 시스템, 장치, 그리고 (컴퓨터 저장 디바이스 상에 인코딩되는) 컴퓨터 프로그램을 포함한다.
이러한 실시예 및 다른 실시예들은 각각 선택에 따라서는 다음과 같은 특징들 중 하나 이상의 특징을 포함할 수 있다. 비디오를 세그먼트화하는 것은, 비디오의 전체 구간(total duration)을 결정하는 것과; 그리고 세그먼트들 각각에 대한 세그먼트 끝 시간(segment end time)들을 선택하는 것을 포함할 수 있고, 각각의 세그먼트에 대한 세그먼트 끝 시간은 의사 무작위로(pseudo-randomly) 선택된다.
비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 비디오에 대한 재생 타이머(playback timer)에 의해 특정된 시간이 세그먼트 끝 시간들 중 하나와 정합(match)하는 것으로 결정하는 것을 포함할 수 있다.
이러한 방법은 또한, 세그먼트 끝 시간들 각각에 대해 세그먼트 끝 시간에 프리젠테이션되는 비디오의 프레임(frame)을 식별하는 동작을 포함할 수 있다. 비디오의 재생이 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 세그먼트들 중 하나의 세그먼트에 대한 세그먼트 끝 시간에 프리젠테이션되는 프레임이 프리젠테이션되었음을 결정하는 것을 포함할 수 있다.
비디오를 세그먼트화하는 것은 비디오를 가변적으로 선택되는 개수의 세그먼트들로 세그먼트화하는 것을 포함할 수 있다. 재생 데이터를 서버측 데이터 프로세싱 장치에 제공하는 것은 HTTP 요청을 서버측 데이터 프로세싱 장치에 전송하는 것을 포함할 수 있고, 여기서 HTTP 요청은 비디오의 재생이 세그먼트의 끝에 도달한 시간을 표시하는 타임스탬프(timestamp)를 포함한다.
이러한 방법은 또한, 비디오 분석 장치에 의해 재생 데이터를 수신하는 동작과; 그리고 재생 데이터를 데이터 저장소에 저장하는 동작을 포함할 수 있고, 여기서 재생 데이터는 비디오가 프리젠테이션된 사용자 디바이스를 표시하는 식별자(identifier) 및 비디오에 대한 참조표시(reference)와 함께 저장된다. 이러한 방법은 또한, 재생 데이터에 근거하여 비디오에 대한 시청 정도(viewership measures)를 결정하는 동작을 포함하고, 여기서 시청 정도는 세그먼트의 끝에 도달한 비디오의 프리젠테이션들의 상대적 비례수(relative number)를 표시하며, 시청 정도는 비디오의 복수의 프리젠테이션을 위한 집합 재생 데이터(aggregate playback data)에 근거하고 있다.
본 명세서에서 설명되는 주된 내용의 특정 실시예들은 다음과 같은 장점들 중 하나 이상의 장점을 실현하도록 구현될 수 있다. 재생이 비디오 내의 특정 위치에 도달했음을 표시하는 데이터가, 비디오의 그 특정 위치에 선행하는 비디오의 연속 재생을 요구함이 없이 달성될 수 있다. 예를 들어, 만약 전체 구간의 50%인 비디오 내의 포인트의 재생이 추적되고 있다면, 50% 포인트 이전에 일어난 모든 비디오는 50% 포인트에서 프리젠테이션된 정보를 획득하기 위해 프리젠테이션될 필요가 없다. 비디오의 다양한 세그먼트들에 대한 세그먼트 끝 포인트들(segment end points)은 가변적으로 선택되고(예를 들어, 시간 경과에 따라 서로 다른 위치에 끝 포인트들이 배치되도록 의사-무작위로 선택되거나 혹은 가변적으로 선택되고), 이에 따라 비디오를 추가적으로 더 세그먼트화할 필요 없이 더 미세한 시청 정도가 획득될 수 있게 된다. 예를 들어, 4개의 세그먼트들에 대한 세그먼트 끝 시간들을 변경시킴으로써, 비디오의 총 구간(full duration)에 걸쳐 5개의 포인트들(예를 들어, 0%, 25%, 50%, 75%, 및 100%)에서가 아닌, 비디오의 총 구간에 걸쳐(예를 들어, 비디오의 0-100%(증분은 1%씩)에서) 프리젠테이션 데이터가 획득될 수 있다.
본 명세서에서 설명되는 주된 내용의 하나 이상의 실시예들의 세부설명은 첨부되는 도면 및 아래의 설명에서 제시된다. 본 발명의 주된 내용의 다른 특징, 실시형태, 그리고 장점은 이러한 설명, 도면, 그리고 특허청구범위로부터 명백하게 될 것이다.
도 1은 콘텐츠 배포 시스템이 콘텐츠 아이템들의 배포를 관리하는 예시적인 환경을 나타낸 블록도이다.
도 2a는 비디오 플레이어가 비디오를 프리젠테이션하는 브라우저의 예시적인 스크린 샷이다.
도 2b는 비디오 플레이어가 비디오를 프리젠테이션하는 브라우저의 또 다른 스크린 샷이다.
도 2c는 비디오 플레이어가 비디오를 프리젠테이션하는 브라우저의 또 다른 스크린 샷이다.
도 3a 내지 도 3c는 진행바(progression bar)를 나타낸 것으로, 여기에는 다양한 지속시간의 세그먼트들이 도시되어 있다.
도 4는 비디오에 대한 예시적인 집합 시청 프로파일의 그래프이다.
도 5는 비디오 재생을 추적하기 위한 예시적인 프로세스를 나타낸 흐름도이다.
도 6은 예시적 컴퓨터 시스템의 블록도이다.
다양한 도면에서 동일한 참조번호 및 표시는 동일한 구성요소를 표시한다.
비디오 플레이어(혹은 브라우저)는 비디오의 재생이 비디오 세그먼트의 끝에 도달했음을 표시하는 재생 데이터를 제공하도록 구성된다. 비디오 세그먼트는 비디오의 일부분이고, 비디오 플레이어는 프리젠테이션을 위해 수신된 비디오들을 세그먼트화하도록 구성될 수 있다. 본 명세서 전체에 걸쳐 사용되는 바와 같이, 용어 "비디오(video)"는 달리 특정되지 않는다면 시각적 성분을 포함하지 않는 미디어를 포괄하기 위해 사용된다. 예를 들어, 비디오는, 비디오 콘텐츠를 포함하지 않는 오디오 콘텐츠를 포함할 수 있거나, 또는 오디오 및 비디오 콘텐츠를 포함할 수 있거나, 또는 오디오 콘텐츠를 포함하지 않는 비디오 콘텐츠를 포함할 수 있다.
일부 구현예들에서, 비디오 플레이어는 세그먼트 끝 시간들(예를 들어, 각각의 세그먼트들이 끝난 것으로 고려되는 시간들)을 의사-무작위로(혹은 가변적으로) 선택하고, 비디오의 재생이 세그먼트의 끝에 도달했는지 여부를 결정하기 위해 비디오의 재생을 모니터링한다. 예를 들어, 비디오 플레이어는 재생 타이머에 의해 특정된 시간이 세그먼트 끝 시간과 정합하는지 여부를 결정할 수 있거나, 혹은 세그먼트 끝 프레임(예를 들어, 세그먼트 끝 시간에 프리젠테이션되는 비디오의 프레임)이 프리젠테이션되었는지 여부를 결정할 수 있다.
비디오 플레이어는 비디오의 재생이 세그먼트의 끝에 도달했음을 결정하는 경우, 비디오 플레이어는 세그먼트의 끝에 도달했음을 표시하는 재생 데이터를 서버측 데이터 프로세싱 장치에 전송한다. 비디오 플레이어는, 비디오의 재생이 일시적으로 중단되었는지 혹은 비디오의 일부분이 사용자에 의해 스킵(skip)되었는지에 상관없이, 세그먼트의 끝에 도달한 경우 재생 데이터를 전송할 수 있다. 재생 데이터는 비디오의 다양한 부분들에 대한 시청 정도를 결정하기 위해 서버측 데이터 프로세싱 장치에 의해 사용된다.
도 1은 콘텐츠 배포 시스템(110)이 콘텐츠 아이템들의 배포를 관리하는 예시적인 환경(100)을 나타낸 블록도이다. 예시적인 환경(100)은 네트워크(102)를 포함하는바, 예를 들어, 로컬 영역 네트워크(Local Area Network, LAN), 와이드 영역 네트워크(Wide Area Network, WAN), 인터넷(Internet), 혹은 이들의 조합을 포함한다. 네트워크(102)는 웹사이트들(104), 사용자 디바이스들(106), 광고자들(108), 그리고 콘텐츠 배포 시스템(110)을 연결시킨다. 예시적인 환경(100)은 수천 개의 웹사이트들(104), 사용자 디바이스들(106), 그리고 광고자들(108)을 포함할 수 있다.
웹사이트(104)는, 도메인 명칭과 관련된 그리고 하나 이상의 서버들에 의해 호스팅(hosting)되는 하나 이상의 리소스들(105)이다. 예시적인 웹사이트는, 텍스트, 이미지들, 멀티미디어 콘텐츠, 및 프로그래밍 요소들, 예컨대 스크립트(script)들을 포함할 수 있는 하이퍼텍스트 마크업 언어(hypertext markup language, HTML)로 포맷(format)된 웹페이지들의 집합체이다. 각각의 웹사이트(104)는, 웹사이트(104)를 제어, 관리 및/또는 소유하는 엔티티(entity)인 발행자(publisher)에 의해 유지된다.
리소스(105)는 네트워크(102)를 통해 제공될 수 있는 임의의 데이터이다. 리소스(105)는 리소스(105)와 관련된 리소스 어드레스에 의해 식별된다. 리소스들은 단지 몇 가지 예를 들어 보면, HTML 페이지들, 워드 프로세싱 문서들, 그리고 휴대가능 문서 포맷(Portable Document Format, PDF) 문서들, 이미지들, 비디오, 그리고 피드 소스들(feed sources)을 포함한다. 리소스들은 단어들, 어구들, 이미지들, 사운드들과 같은 콘텐츠를 포함할 수 있고, 이들은 매립된 정보(예를 들어, 하이퍼링크(hyperlink)들에서의 메타-정보(meta-information)) 및/또는 매립된 명령들을 포함할 수 있다. 리소스들 내에(혹은 리소스들과 함께) 프리젠테이션되는 콘텐츠의 유닛(unit)들은 콘텐츠 아이템(content item)들로서 지칭되며, 콘텐츠 아이템들의 예들은, 웹 페이지와 함께 프리젠테이션되는 광고들, (예를 들어, 비디오 플레이어 내에서) 웹 페이지와 함께 프리젠테이션되는 비디오 파일들, 그리고/또는 웹 페이지와 함께 프리젠테이션되는 오디오 파일들을 포함한다.
사용자 디바이스(106)는 사용자의 제어 하에 있는 전자 디바이스이고, 네트워크(102)를 통해 리소스들을 요청 및 수신할 수 있다. 예시적인 사용자 디바이스들(106)은 개인용 컴퓨터들, 모바일 통신 디바이스들, 그리고 네트워크(102)를 통해 데이터를 전송 및 수신할 수 있는 다른 디바이스들을 포함한다. 전형적으로 사용자 디바이스(106)는 네트워크(102)를 통한 데이터의 전송 및 수신을 용이하기 하는 웹 브라우저와 같은 사용자 애플리케이션을 포함한다.
사용자 디바이스(106)는 웹사이트(104)로부터의 리소스(105)를 요청하는 리소스 요청(112)을 제출할 수 있다. 또한, 요청된 리소스(114)를 나타내는 데이터는 사용자 디바이스(106)에 의한 프리젠테이션을 위해 사용자 디바이스(106)에 제공될 수 있다. 요청된 리소스(114)는 예를 들어, 웹사이트(104)의 홈 페이지(예를 들어, 비디오 공유 사이트에 대한 홈 페이지)일 수 있거나, 검색 결과들이 프리젠테이션되는 검색 결과 페이지일 수 있거나, 또는 다른 리소스(105)일 수 있다. 요청된 리소스(114)를 나타내는 데이터는 사용자 디바이스에서 리소스 콘텐츠(116)의 프리젠테이션을 일으키는 데이터를 포함할 수 있다.
요청된 리소스(114)를 나타내는 데이터는 또한, 광고들(혹은 다른 비디오 콘텐츠 아이템들)이 프리젠테이션될 수 있는, 리소스의 일부분(예를 들어, 웹 페이지의 일부분) 또는 사용자 디스플레이의 일부분(예컨대, 웹 페이지의 슬롯의 프리젠테이션 위치)을 특정하는 데이터를 포함할 수 있다. 본 명세서 전체에 걸쳐, 리소스 혹은 사용자 디스플레이의 이러한 특정된 부분들은 광고 슬롯들로서 지칭된다. 광고 슬롯들은 또한 비디오 내에 정의될 수 있고 그리고/또는 비디오의 프리젠테이션 이전에 혹은 비디오의 프리젠테이션 이후에 정의될 수 있다. 예를 들어, 광고 슬롯은 비디오의 시작에서 혹은 끝에서 또는 비디오 내의 사전에 특정된 위치에서 삽입될 수 있고, 그리고 사용자 디바이스(106)가 광고 슬롯이 정의되어 있는 비디오의 프리젠테이션을 요청하는 경우 이러한 광고 슬롯들 내에 다른 비디오들(예를 들어, 비디오 광고들)이 프리젠테이션될 수 있다.
리소스 요청(112)이 비디오 공유 사이트의 홈 페이지에 대한 요청인 경우, 요청된 리소스(114)는 비디오 플레이어(116)의 프리젠테이션을 일으키는 데이터 그리고 비디오 플레이어(116) 내에 프리젠테이션될 수 있는 비디오들에 대한 하나 이상의 참조표시들(118)(예를 들어, V1-Vn)을 포함할 수 있다. 참조되는 비디오들은 예를 들어, 검색 쿼리(search query)에 대한 응답으로서 식별된 비디오들을 포함할 수 있다. 예를 들어, 비디오 공유 사이트는 사용자들로 하여금 관심이 있는 비디오들을 식별시키도록 하기 위해 검색 쿼리들을 제출할 수 있게 하는 검색 인터페이스를 포함할 수 있다. 비디오 검색 장치는 이러한 검색 쿼리들을 사용하여 (예를 들어, 비디오들과 관련된 라벨(label)들에 근거하여) 해당 검색 쿼리와 관련된 것으로서 식별된 비디오들을 식별할 수 있다. 또한, 비디오 검색 장치는 응답 비디오들을 특정하는 데이터를 제공할 수 있고, 그리고 비디오들에 대한 참조표시들(118)이 사용자 디바이스(106)에서 프리젠테이션될 수 있다.
비디오에 대한 각각의 참조표시는 예를 들어, 비디오를 요청하는 능동 링크(active link)일 수 있다. 예를 들어, 사용자가 비디오들에 대한 참조표시들(118) 중 하나와 상호작용하는 경우(예를 들어, 참조표시를 클릭하거나 또는 선택하는 경우), 이러한 상호작용은 참조되는 비디오에 대한 요청이 비디오 서버(115)에 전송되도록 할 수 있다. 이러한 요청을 수신함에 응답하여, 비디오 서버(115)는 요청된 비디오를 비디오 인덱스(video index)(117)로부터 식별하고, 요청된 비디오를 비디오 플레이어(116)에서의 프리젠테이션을 위해 사용자 디바이스에 제공한다.
비디오 인덱스(117)는 비디오들을 저장하는 데이터 저장소이다. 비디오들 각각은 예를 들어, 비디오를 이전에 시청한 사용자들 및/또는 비디오를 업로드(upload)한 사용자에 의해 비디오와 관련된 라벨들에 따라 인덱싱(indexing)될 수 있다. 예를 들어, 실뭉치 공을 가지고 노는 새끼 고양이의 비디오(이것은 "새끼 고양이 비디오(kitten video)"로 지칭됨)는 라벨 "새끼 고양이(kitten)", "실뭉치(yarn)"와 관련될 수 있는바, 이러한 라벨은 비디오를 이전에 시청하고 비디오에 대한 라벨 제안을 제출한 사용자들 또는 비디오를 업로드한 사용자에 의해 특정될 수 있는 것이다. 이러한 라벨들은 예를 들어, 콘텐츠 아이템 요청(예를 들어, 광고 요청)에 응답하여 프리젠테이션될 자격이 비디오들 및/또는 검색 쿼리에 대한 응답인 비디오들을 식별하기 위해 사용될 수 있다.
리소스(105)(예를 들어, 웹 페이지 및/또는 비디오)가 사용자 디바이스(106)에 의해 요청되는 경우, 콘텐츠 배포 시스템(110)은 리소스(105)에 대해 정의된 광고 슬롯 내에 제공될 광고들에 대한 요청을 수신한다. 이러한 광고들에 대한 요청은 요청된 광고가 프리젠테이션될 광고 슬롯의 특성을 포함할 수 있고, 콘텐츠 배포 시스템(110)에 제공될 수 있다.
예를 들어, 광고 슬롯이 정의된 요청된 리소스(114)(예컨대, 요청된 웹 페이지 및/또는 요청된 비디오)에 대한 참조표시(예컨대, URL), 광고 슬롯의 크기(예컨대, 시간적 크기 및/또는 공간적 크기), 그리고/또는 광고 슬롯 내에 프리젠테이션될 자격이 있는 미디어 유형들이 콘텐츠 배포 시스템(110)에 제공될 수 있다. 유사하게, 요청된 리소스와 관련된 키워드(keyword)들("리소스 키워드들(resource keywords)") 또는 요청된 비디오와 관련된 라벨들(즉, 하나 이상의 단어들의 어구들)이 또한 요청된 리소스(114)와 관련된 광고들의 식별을 용이하게 하기 위해 콘텐츠 배포 시스템(110)에 제공될 수 있다.
광고들에 대한 요청에 포함된 데이터에 근거하여, 콘텐츠 배포 시스템(110)은 요청에 응답하여 제공될 자격이 있는 광고들("적격 광고들(eligible advertisements)")을 선택한다. 예를 들어, 적격 광고들은, 광고 슬롯들의 특성들과 정합하는 특성들을 갖고 특정된 리소스 키워드들 및/또는 라벨들과 관련된 것으로서 식별되는, 광고들을 포함할 수 있다. 일부 구현예들에서, 리소스 키워드들과 정합하는 목표 키워드들(targeting keywords)을 갖는 광고가 콘텐츠 배포 시스템(110)에 의해 적격 광고들로서 선택된다.
적격 광고들은 비디오 광고들을 포함할 수 있다. 비디오 광고들은 예를 들어, 오로지 광고 슬롯들(118)에서의 프리젠테이션을 위해 생성된 비디오 콘텐츠 아이템들을 포함할 수 있거나, 또는 다수의 상이한 유형의 비디오들(예를 들어, 사용자 제공 비디오들)이 프리젠테이션될 수 있는 온라인 비디오 공유 사이트들과 같은 다른 시청 환경에서 타겟 비디오들로서 이용가능한 것으로서 광고자에 의해 식별될 뿐만 아니라 광고 슬롯들에서의 프리젠테이션을 위해 이용가능한 것으로서 광고자에 의해 식별된 다른 비디오 콘텐츠 아이템들을 포함할 수 있다. 명확한 설명을 위해, 용어 "비디오 콘텐츠 아이템"은 요청된 리소스에 대한 콘텐츠 아이템 요청(예를 들어, 광고 요청)에 응답하여 제공되는 비디오를 지칭하기 위해 사용되며, 용어 "타겟 비디오(target video)"는 리소스 요청(112)에 응답하여 제공되는 비디오를 지칭하기 위해 사용될 것이다. 비디오 콘텐츠 아이템들과 타겟 비디오들은 집합적으로 비디오들로서 지칭된다.
광고자들은 자신들의 비디오 콘텐츠 아이템들의 성능을 평가하는데 관심을 가질 수 있다. 예를 들어, 광고자들은 사용자들이 (예를 들어, 브라우저 윈도우를 클로징(closing)시킴으로써, 또는 비디오 광고를 스킵함으로써, 또는 프리젠테이션되고 있는 것을 종료시킴으로써) 비디오 광고의 프리젠테이션을 종료시키기 전에 사용자들이 시청한 비디오 광고들의 전체 구간의 일부분을 평가하기를 원할 수 있다. 유사하게, 타겟 비디오들(즉, 광고 요청에 응답하여 프리젠테이션되지 않은 비디오들)을 업로드한 사용자들은 사용자들에게 프리젠테이션된 이들의 타겟 비디오들의 일부분들을 추적하는데 관심을 가질 수 있다.
예시적 환경에는 비디오 콘텐츠 아이템들(예를 들어, 비디오 광고들)의 프리젠테이션을 추적하고 광고자들에게 광고자들이 이들의 비디오 콘텐츠 아이템들을 평가할 수 있도록 하는 정보를 제공하는 비디오 분석 장치(120)가 포함된다. 비디오 분석 장치(120)는 또한 사용자들에게 프리젠테이션되는 타겟 비디오들의 프리젠테이션을 추적할 수 있다. 비디오 분석 장치(120)가 콘텐츠 배포 시스템(110)과는 독립적으로 구현되는 것으로 도시되었지만, 비디오 분석 장치(120)는 또한, 콘텐츠 배포 시스템(110) 내에 전체적으로 구현될 수 있거나 혹은 부분적으로 구현될 수 있다.
일부 구현예들에서, 비디오 분석 장치(120)는, 비디오 콘텐츠 아이템들 및/또는 타겟 비디오들이 프리젠테이션되고 있는 비디오 플레이어(116)(혹은 브라우저)로부터 수신된 재생 데이터에 근거하여, 비디오 콘텐츠 아이템들(예컨대, 비디오 광고들) 및/또는 타겟 비디오들(즉, 광고가 아닌 비디오들)의 프리젠테이션을 추적한다. 예를 들어, 아래에서 더 상세히 설명되는 바와 같이, 비디오 플레이어(116)(혹은 브라우저)는, 비디오의 프리젠테이션이 비디오의 전체 구간 중 특정 부분의 끝에 도달하는 때를 결정하는 것, 그리고 비디오의 프리젠테이션이 그 특정 부분의 끝에 도달했음을 표시하는 재생 데이터를 발생시키는 것, 그리고 이 재생 데이터를 비디오 분석 장치(120)에 전송하는 것을 수행하도록 구성될 수 있다. 또한, 비디오 분석 장치(120)는 수신된 재생 데이터를 시청자 로그(viewer log)(119)에 저장하는바, 시청자 로그(119)는 비디오들에 대한 재생 데이터를 저장하는 데이터 저장소이다.
비디오 분석 장치(120)는 각각의 비디오에 대한 재생 데이터를 사용하여 비디오 콘텐츠 소유자들 또는 발행자들(예를 들어, 광고자들 혹은 비디오들을 업로드한 다른 사용자들)에게 해당 비디오의 성능 평가를 용이하게 하는 정보를 제공할 수 있다. 일부 구현예들에서, 비디오 분석 장치(120)는 특정 비디오(예를 들어, 특정 비디오 광고)에 대한 재생 데이터를 사용하여 비디오의 프리젠테이션이 종료되기 전에 비디오 내의 특정 위치(예를 들어, 전체 구간 중 25%인 위치)에 도달한 그 특정 비디오의 프리젠테이션들의 비율(예를 들어, 프리젠테이션들의 상대적 비례수)을 결정하게 된다. 예를 들어, 만약 특정 비디오가 100개의 서로 다른 사용자 디바이스들에서 프리젠테이션되었고 이러한 프리젠테이션들 중 25개가 전체 구간 중 25%에 도달했다면, 비디오 분석 장치(120)는 비디오의 프리젠테이션들 중 25%가 비디오의 전체 구간 중 25%에 도달했다고 결정할 수 있다. 다음의 설명은 비디오 분석 동작들을 수행하는 장치로서 비디오 분석 장치(120)를 일반적으로 설명한다. 그러나, 이러한 동작들 중 일부 혹은 모두는 사용자 디바이스에 의해 수행될 수 있거나 혹은 클라이언트 디바이스들에 의해 수행될 수 있다.
도 2a는 비디오 플레이어(116)가 비디오를 프리젠테이션하는 브라우저(200)의 예시적인 스크린 샷이다. 비디오 플레이어(116)는 비디오들이 프리젠테이션되는 비디오 프리젠테이션 영역(202)을 포함한다. 예를 들어, 비디오의 수신시, 비디오 플레이어는, 비디오의 프리젠테이션을 시작하기 전에, 비디오를 로드(load)할 수 있고(혹은 로드를 시작할 수 있고), "플레이(play)" 요소(204)와의 사용자 상호작용을 대기할 수 있다. 비디오 플레이어(116)는 대안적으로, 비디오의 사전에 특정된 부분(예를 들어, 10%)이 비디오 플레이어(116)에 의해 수신된 이후 또는 비디오의 임의의 부분을 수신할 때 즉시 그 수신된 비디오의 재생을 시작할 수 있다.
비디오 플레이어(116)에 의해 수신된 비디오를 나타내는 데이터(즉, "비디오 데이터(video data)")는 일반적으로, 그 수신되는 비디오의 전체 구간(206)을 특정하는 데이터를 포함한다. 예를 들어, 만약 특정 비디오의 길이가 1분이라면, 이러한 비디오에 대한 비디오 데이터는 비디오의 전체 구간으로서 1분을 특정하는 "전체 구간" 데이터를 포함할 수 있다. 비디오 플레이어(116)는 이러한 전체 구간 데이터를 사용하여, 비디오 플레이어에 의해 수신된 비디오의 전체 구간 중 일부분의 비율을 결정할 수 있고, 또한 비디오의 하나 이상의 서로 다른 세그먼트들이 끝난 것으로 고려되는 재생 시간들을 결정할 수 있다.
예를 들어, 비디오 플레이어(116)가 비디오를 4개의 서로 다른 세그먼트들("4분위수(quartiles)")로 세그먼트화하며, 비디오에 대한 지속시간 데이터가 비디오의 전체 구간이 1분임을 표시한다고 가정한다. 이러한 예에서, 비디오의 제 1 세그먼트는 전체 구간 중 첫 번째 15초(예를 들어, 시간 = 0초에서 시간 = 15초까지)를 포함하고, 비디오의 제 2 세그먼트는 전체 구간 중 두 번째 15초(예를 들어, 시간 = 16초에서 시간 = 30초까지)를 포함하고, 비디오의 제 3 세그먼트는 전체 구간 중 세 번째 15초(예를 들어, 시간 = 31초에서 시간 = 45초까지)를 포함하고, 비디오의 제 4 세그먼트는 전체 구간 중 마지막 15초(예를 들어, 시간 = 46초에서 시간 = 60초까지)를 포함한다.
4분위수는 본 명세서 전체에 걸쳐 예시적 목적으로 사용된 것이고, 비디오 플레이어는 비디오를 임의 개수의 서로 다른 세그먼트들로 세그먼트화할 수 있다. 예를 들어, 앞선 예에서의 비디오는 각각의 길이가 1초인 60개의 세그먼트들로 세그먼트화될 수 있다. 또한, 각각의 세그먼트는 비디오의 전체 구간의 별개의 서브세트(disjoint subset)일 수 있지만, 일부 구현예들에서, 세그먼트들은 별개의 서브세트들일 것이 요구되지 않는다. 따라서, 둘 이상의 서로 다른 세그먼트들은 전체 구간 중 중복되는 부분들을 포함하도록 허용될 수 있다. 예를 들어, 앞서의 예에서 제 2 세그먼트는 제 1 세그먼트의 일부 혹은 모두를 또한 포함하도록 정의될 수 있고, 이에 따라 제 2 세그먼트는 전체 구간 중 첫 번째와 두 번째 15초(예를 들어, 시간 = 0에서 시간 = 30초까지)를 포함할 수 있다. 비디오가 세그먼트화되는 세그먼트들의 개수는 또한 의사-무작위로 선택될 수 있다.
각각의 세그먼트는 또한 세그먼트에 포함되는 전체 구간의 퍼센티지로 특정될 수 있다. 예를 들어, 비디오 플레이어가 비디오를 4분위수로 세그먼트화할 때, 제 1 세그먼트는 전체 구간 중 25%를 포함하도록 정의될 수 있고, 제 1 세그먼트의 끝은 전체 구간 중 25%의 끝(즉, 비디오의 시작부터 25%의 끝)에 대응하는 재생 시간에 위치될 수 있다. 유사하게, 제 2 세그먼트의 끝, 제 3 세그먼트의 끝, 그리고 제 4 세그먼트의 끝은 전체 구간 중 50%, 75% 및 100%에 대응하는 재생 시간에 각각 위치될 수 있다.
비디오 플레이어(116)는 재생이 세그먼트의 끝에 도달했는지 여부를 결정하기 위해 비디오의 재생(즉, 프리젠테이션)을 모니터링하도록 구성될 수 있다. 예를 들어, 비디오의 재생이 비디오의 시작(206)(즉, 전체 구간 중 0%)에서 시작하고 타이틀 프레임(title frame)(208)은 프리젠테이션되는 첫 번째 프레임이라고 가정한다. 이러한 예에서, (예컨대, 사용자가 플레이 요소(204)와 상호작용하는 것에 응답하여 혹은 재생이 자동으로 시작하는 것에 응답하여) 비디오의 프리젠테이션이 개시되는 경우, 비디오 플레이어(116)는 비디오의 재생이 개시되었음을 특정하는 재생 데이터(209)를 비디오 분석 장치(120)에 전송할 수 있다.
재생 데이터는 다양한 재생 이벤트들(예를 들어, 재생이 시작됨, 재생이 끝남)을 특정하는 데이터이다. 재생 데이터는 예를 들어, 비디오의 재생에 관한 정보를 비디오 분석 장치(120)에 전송하는데 사용되는 HTTP GET 요청으로서 포맷될 수 있다.
재생 데이터는 사용자 디바이스에서 프리젠테이션되는 비디오를 식별시키는 비디오 식별자를 특정하는 데이터를 포함한다. 예를 들어, 각각의 비디오가 도 1의 비디오 인덱스(114)에 업로드될 때(혹은 저장될 때), 비디오는 (예를 들어, 비디오 서버(115)에 의해) 그 비디오에 할당되는 고유한 비디오 식별자와 관련될 수 있다(예를 들어, 그 고유한 비디오 식별자에 따라 인덱싱될 수 있고 그리고/또는 이에 대한 참조표시와 함께 저장될 수 있음). 그 다음에, 비디오 식별자는 비디오에 대한 참조표시로서 사용될 수 있다. 예를 들어, 비디오를 요청하기 위해 사용되는 능동 링크들은 비디오 식별자를 포함할 수 있고, 비디오 서버는 비디오 인덱스 내의 비디오의 위치를 찾기 위해 요청으로부터 이러한 비디오 식별자를 식별할 수 있다. 재생 데이터는 또한, 비디오의 프리젠테이션이 일어나는 사용자 디바이스와 관련된(예를 들어, 사용자 디바이스에 저장된) 사용자 식별자(예를 들어, 쿠키(cookie))를 포함할 수 있다.
일부 구현예들에서, 재생 데이터는 비디오가 비디오 콘텐츠 아이템으로서 프리젠테이션되었는지(예를 들어, 광고 프리젠테이션인지) 아니면 타겟 비디오로서 프리젠테이션되었는지(예를 들어, 광고가 아닌 비디오 프리젠테이션인지) 여부를 특정하는 재생-유형 표시자를 포함한다. 재생-유형 표시자는 비디오 분석 장치(120)로 하여금, 비디오가 콘텐츠 아이템(예를 들어, 비디오 광고)으로서 프리젠테이션된 경우 그리고 타겟 비디오(예를 들어, 광고가 아닌 비디오)로서 프리젠테이션된 경우, 그 특정 비디오의 프리젠테이션들에 대한 개개의 시청 정도(예를 들어, 비디오 내의 특정 위치에 도달한 프리젠테이션들의 상대적 비례수)를 결정할 수 있게 할 수 있다. 예를 들어, "광고"의 재생-유형 표시자를 포함하는 재생 데이터는 광고로서 프리젠테이션되는 경우 비디오에 대한 시청 정도를 결정하는데 사용될 수 있고, "타겟" 혹은 "광고가 아님"의 재생-유형 표시자를 포함하는 재생 데이터는 타겟 비디오(또는 광고가 아닌 비디오)로서 프리젠테이션되는 경우 비디오에 대한 시청 정도를 결정하는데 사용될 수 있다.
재생 데이터는 또한 사용자 디바이스에서 프리젠테이션된 비디오의 일부분을 특정하는 데이터를 포함할 수 있다. 예를 들어, 비디오의 재생이 제 1 세그먼트의 끝(210)(예컨대, 전체 구간 중 25%)에 도달했을 때 전송되는 재생 데이터는 비디오의 재생이 제 1 세그먼트의 끝(210)에 도달했음을 표시할 수 있다. 유사하게, 비디오의 재생이 각각의 후속 세그먼트의 끝(212, 214, 및 216)(예컨대, 전체 구간 중 50%, 75%, 및 100%)에 도달했을 때 전송되는 재생 데이터는 해당 세그먼트의 끝을 지나 재생이 진행됐던 세그먼트의 끝을 각각 특정할 수 있다.
비디오의 재생이 비디오의 특정 세그먼트의 끝을 지나 진행했는지를 결정하기 위해 비디오 플레이어(116)가 사용할 수 있는 몇 가지 기법들이 존재한다. 일부 구현예들에서, 비디오 플레이어는 재생 타이머(218)(비디오의 전체 구간에 걸쳐 시간 진행을 표시하는 타이머)에 의해 특정된 시간을 각각의 세그먼트가 끝나는 재생 시간들과 비교할 수 있다. 예를 들어, 특정 비디오의 제 1 세그먼트가 그 특정 비디오의 시작 이후 15초에서 끝난다고 가정한다. 이러한 예에서, 비디오 플레이어(116)는 재생 타이머(218)에 의해 특정되는 시간을 모니터링할 수 있고, 그리고 재생 타이머(218)에 의해 특정된 시간이 15초일 때, 비디오 플레이어(116)는 제 1 세그먼트의 끝(210)에 도달했음을 결정할 수 있다. 또한, 비디오 플레이어(116)는, 제 1 세그먼트의 끝(210)에 도달했음을 특정함과 아울러 비디오가 프리젠테이션되는 사용자 디바이스에 대한 사용자 식별자를 또한 특정하는, 재생 데이터(209)를 (예를 들어, 비디오 분석 장치(120)에) 전송할 수 있다.
비디오 플레이어(116)는 재생 타이머(218)에 의해 특정된 시간을 계속 모니터링할 수 있고, 이러한 특정된 시간이 특정 비디오의 다른 세그먼트들이 끝나는 것으로 고려되는 재생 시간들과 정합하는지 여부를 결정할 수 있다. 예를 들어, 특정 비디오의 다른 섹션들이 그 특정 비디오의 시작 이후 30초, 45초, 그리고 60초에서 각각 끝나는 것으로 고려된다고 가정한다. 이러한 예에서, 비디오 플레이어(116)는 특정 비디오의 추가적인 섹션이, 재생 타이머(218)에 의해 특정된 시간이 30초, 45초, 또는 60초일 때 프리젠테이션되었는지를 결정할 수 있다. 특정 비디오의 추가적인 섹션이 사용자 디바이스에서 프리젠테이션되었다는 결정에 응답하여, 비디오 플레이어(116)는 그 특정 비디오의 추가적인 섹션이 사용자 디바이스에서 프리젠테이션되었음을 특정하는 추가적인 비디오 재생 데이터(209)를 전송할 수 있다. 예를 들어, 재생 타이머에 의해 특정된 시간이 30초일 때, 비디오 플레이어(116)는 특정 비디오의 제 2 세그먼트가 사용자 디바이스에서 프리젠테이션되었음(즉, 비디오의 재생이 제 2 세그먼트의 끝(212)에 도달했음)을 표시하는 비디오 재생 데이터(209)를 전송할 수 있다. 유사하게, 이러한 예에서, 비디오 플레이어(116)는 재생 타이머(218)에 의해 특정된 시간이 45초이거나 혹은 60초일 때 추가적인 재생 데이터(209)를 전송할 수 있다.
일부 구현예들에서, 비디오 플레이어(116)는 특정 세그먼트의 끝에 위치하는 비디오의 프레임이 프리젠테이션되었을 때 비디오의 특정 세그먼트가 프리젠테이션되었다고 결정할 수 있다. 비디오 플레이어(116)는 예를 들어, 특정 세그먼트의 끝에 도달한 경우 프리젠테이션되는 비디오의 프레임(이것은 세그먼트 끝 프레임으로서 지칭됨)을 결정함으로써, 특정 세그먼트의 끝에 위치하는 프레임을 식별할 수 있다. 특정 세그먼트에 대한 세그먼트 끝 프레임은, 예를 들어, 특정 세그먼트의 끝이 끝난 것으로 고려되는 재생 시간(예를 들어, 비디오의 시작부터의 시간)을 결정함으로써, 그리고 그 재생 시간에서 프리젠테이션되는 비디오의 프레임을 식별함으로써, 식별될 수 있다.
예를 들어, 제 1 세그먼트의 끝(210)이 비디오의 전체 구간 중 25%가 프리젠테이션될 때 끝나는 것으로 고려된다고 가정한다. 이러한 예에서, 비디오 플레이어(116)는 (예를 들어, 비디오의 시작부터) 비디오의 25%가 프리젠테이션되는 특정 재생 시간을 결정할 수 있다. 또한, 비디오 플레이어(116)는 그 특정 재생 시간에서 프리젠테이션되는 비디오의 프레임을 비디오의 제 1 세그먼트에 대한 세그먼트 끝 프레임(220)으로서 식별할 수 있다.
비디오 플레이어(116)는 제 1 세그먼트에 대한 세그먼트 끝 프레임(220)의 프리젠테이션에 대해 비디오의 재생을 모니터링할 수 있다. 비디오 플레이어(116)가 제 1 세그먼트에 대한 세그먼트 끝 프레임(220)(혹은 또 다른 세그먼트 끝 프레임)이 프리젠테이션되었음을 결정하는 경우, 비디오 플레이어(116)는 비디오의 재생이 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터(209)를 전송할 수 있다.
비디오 플레이어(116)는 비디오의 각각의 세그먼트에 대한 세그먼트 끝 프레임들을 식별할 수 있고, 세그먼트 끝 프레임들 중 어느 것이 프리젠테이션되었는지 여부를 결정하기 위해 비디오의 재생을 모니터링할 수 있다. 예를 들어, 도 2a에 의해 예시되는 바와 같이, 비디오 플레이어(116)가 비디오를 4분위수로 세그먼트화했다고 가정한다. 이러한 예에서, 비디오 플레이어(116)는 비디오의 제 1 세그먼트가 끝난 것으로 고려되는 제 1 세그먼트 끝 프레임(220)을 식별할 수 있다. 비디오 플레이어(116)는 또한, 비디오의 제 2 세그먼트가 끝난 것으로 고려되는 제 2 세그먼트 끝 프레임(222), 비디오의 제 3 세그먼트가 끝난 것으로 고려되는 제 3 세그먼트 끝 프레임(224), 그리고 비디오의 제 4 세그먼트가 끝난 것으로 고려되는 제 4 세그먼트 끝 프레임(226)을 식별할 수 있다. 이러한 세그먼트 끝 프레임들 중 어느 하나(예를 들어, 220, 222, 224, 또는 226)가 프리젠테이션되었다는 결정에 응답하여, 비디오 플레이어(116)는 비디오의 재생이 그 대응하는 세그먼트의 끝에 도달했음을 표시하는 재생 데이터(209)를 비디오 분석 장치(120)에 전송할 수 있다.
도 2b는 비디오 플레이어(116)가 비디오를 프리젠테이션하는 브라우저(200)의 또 다른 스크린 샷(screen shot)이다. 비디오 플레이어(116)는 사용자로 하여금 진행 표시자(228)(즉, 프리젠테이션되고 있는 비디오의 일부분을 표시하는 사용자 인터페이스 요소)와의 상호작용을 행함으로써 프리젠테이션되고 있는 비디오의 일부분을 변경시킬 수 있도록 구성될 수 있다. 예를 들어, 비디오의 재생이 제 1 세그먼트의 끝(210)에 도달했고 계속해서 비디오의 제 2 세그먼트로 진행하고 있다고 가정한다. 비디오의 재생이 제 1 세그먼트 끝(210)에 도달한 경우, 비디오 플레이어(116)는 비디오의 재생이 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터(209)를 전송한다.
계속해서 이러한 예에서, 비디오의 재생이 제 2 세그먼트의 끝(212)에 도달하기 전에, 비디오 플레이어(116)가 비디오의 시작(예를 들어, 전체 구간 중 0%)으로부터 비디오의 재생을 다시 시작하도록 하는 요청을 수신한다고 더 가정한다. 이러한 요청은, 예를 들어, 진행 표시자(228)가 (예컨대, 진행 표시자(228)와의 사용자 상호작용을 통해) 비디오의 시작에 재배치되었음을 표시하는 상호작용 데이터의 형태로 수신될 수 있다. 이러한 상호작용 데이터는, 예를 들어, 사용자가 진행 표시자(228)를 클릭하여 그 위치를 변경시키는 클릭앤드래그 동작(click and drag operation)을 사용자가 수행하는 것에 응답하여, 수신될 수 있다. 이러한 상호작용 데이터는 또한, 예를 들어, 진행 표시자(228)가 위치하게 되는 진행바(progression bar)(230) 상 임의의 위치를 사용자가 클릭하는 것(혹은 확정적으로 선택하는 것)에 응답하여, 수신될 수 있다.
이러한 요청을 수신함에 응답하여, 비디오 플레이어(116)는 해당 요청에서 특정된 비디오의 그 위치에서 비디오의 재생을 시작할 수 있다. 계속해서 앞서의 예에서, 비디오 플레이어(116)는 요청에 응답하여 비디오의 시작(예를 들어, 전체 구간 중 0%)에서 재생을 시작할 수 있고, 이에 따라 비디오의 제 1 세그먼트가 다시 프리젠테이션될 수 있게 된다.
비디오의 재생이 다시 제 1 세그먼트의 끝(210)에 도달하는 경우, 비디오의 총 프리젠테이션 시간은 전체 구간 중 적어도 50%일 수 있다(예를 들어, 비디오가 서로 동일한 구간의 4분위수로 세그먼트화되었다고 가정하는 경우). 예를 들어, 비디오의 초기 재생이 제 1 세그먼트의 끝(210)에 도달하는 경우 비디오의 전체 구간 중 25%가 프리젠테이션된다. 유사하게, 비디오의 재생이 비디오의 프리젠테이션이 다시 시작된 이후 제 1 세그먼트의 끝에 다시 도달하는 경우 비디오의 전체 구간 중 25%가 다시 프리젠테이션된다. 따라서, 비디오의 총 프리젠테이션 시간은 비디오의 전체 구간 중 적어도 50%가 될 수 있다. 그러나, 이러한 예에서, 재생 동안 단지 제 1 세그먼트의 끝(210)에만 도달했고, 이에 따라 재생 데이터는 제 1 세그먼트의 끝(210)이 재생 동안 도달한 유일한 세그먼트 끝이었음을 특정하게 된다.
일부 구현예들에서, 비디오 플레이어(116)는 비디오의 재생이 특정 세그먼트의 끝에 도달했음을 그 특정 세그먼트의 끝에 도달할 때마다(즉, 해당 세그먼트의 끝에 이전에 도달했었는지 여부에 상관없이) 표시하는 재생 데이터(209)를 전송한다. 계속에서 이전 예에서, 비디오 플레이어(116)는 비디오의 초기 재생이 제 1 세그먼트의 끝(210)에 도달한 경우 먼저 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터(209)를 전송할 수 있다. 비디오 플레이어(116)는 또한, 후속 재생(즉, 비디오 내의 또 다른 위치로부터의 재생을 다시 시작하도록 하는 요청의 수신 이후 행해지는 재생)이 제 1 세그먼트의 끝(210)에 도달한 경우 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 추가적인 재생 데이터를 전송할 수 있다. 비디오 분석 장치(120)는 재생 데이터(209)의 각각의 인스턴스(instance)를 로그(log)할 수 있거나, 혹은 동일한 사용자 디바이스로부터의 동일한 재생 데이터의 복수의 인스턴스들을 필터링(filtering)할 수 있다.
도 2c는 비디오 플레이어(116)가 비디오를 프리젠테이션하는 브라우저(200)의 또 다른 스크린 샷이다. 도 2c에 의해 예시된 바와 같이, 비디오 플레이어(116)는 또한, 사용자로 하여금 비디오의 일부분을 "스킵(skip)"할 수 있도록 구성될 수 있다. 예를 들어, 비디오의 재생이 비디오의 시작(206)에시 시작하지만, 비디오의 재생이 제 1 세그먼트의 끝(210)에 도달하기 전에, 비디오 플레이어(116)가 제 2 세그먼트 내의 비디오의 임의의 위치(232)에서 재생을 다시 시작하도록 하는 요청을 수신한다고 가정하면, 이러한 요청에 따라, 포인트(234)로부터 포인트(232)로 전진한 비디오의 재생으로서 프리젠테이션되는 비디오의 일부분의 "스킵된" 프리젠테이션이 일어나게 된다.
일부 구현예들에서, 비디오 플레이어(116)는 비디오의 재생이 비디오 세그먼트의 끝에 도달하기 전에 인터럽트(interrupt)된 경우 세그먼트의 끝에 도달했음을 표시하는 재생 데이터를 전송하지 않도록 구성된다. 예를 들어, 진행 표시자(228)와의 사용자 상호작용을 통해(예를 들어, 진행 표시자(228)를 포인트(234)로부터 포인트(232)로 클릭앤드래그함으로써) 제 1 세그먼트의 끝(210)이 "스킵"된 경우, 비디오 플레이어(116)는 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터를 (즉, 포인트(232)에서 다시 시작하는 비디오의 재생에 상관없이) 전송하지 않을 수 있다. 그러나, 만약 비디오의 재생이 포인트(234)로부터 포인트(236)로 진행한다면, 비디오의 재생은 제 2 세그먼트의 끝(212)에 도달할 것이다. 따라서, 비디오 플레이어(116)는 재생 동안 제 2 세그먼트의 끝(212)에 도달했음을 표시하는 재생 데이터(209)를 전송할 수 있다.
앞서 예시된 바와 같이, 제 2 세그먼트의 끝(212)(혹은 또 다른 이후의 세그먼트의 끝, 예컨대 제 3 세그먼트의 끝 또는 제 4 세그먼트의 끝)에 도달했음을 표시하는 재생 데이터는, 비록 제 1 세그먼트의 끝(210)(혹은 또 다른 이전의 세그먼트의 끝)을 표시하는 재생 데이터가 아직 비디오 플레이어(116)에 의해 전송되지 않았을 지라도, 비디오 플레이어(116)에 의해 전송될 수 있다. 도 2b를 참조하여 앞서 설명된 바와 같이, 비디오 플레이어(116)는 사용자가 또한 비디오의 재생이 비디오의 더 앞선 부분에서 다시 시작하도록 요청할 수 있게 구성될 수 있다. 따라서, 비디오 플레이어(116)는 제 2 세그먼트의 끝(212)에 도달했음을 표시하는 재생 데이터를 이전에 전송한 이후, 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터를 전송하는 것이 가능하다.
예를 들어, 도 2c를 참조하면, 비디오의 재생이 포인트(236)에 도달한 경우, 비디오 플레이어(116)가 (25% 이전에 있는) 포인트(234)로부터의 비디오의 재생을 다시 시작하도록 하는 요청을 수신한다고 가정한다. 이러한 예에서, 만약 다시 시작된 재생이 제 1 세그먼트의 끝(210)에 도달한다면, 비디오 플레이어(116)는 제 1 세그먼트의 끝(210)에 도달했음을 표시하는 재생 데이터(209)를 전송할 수 있다(즉, 비디오 플레이어(116)가, 제 2 세그먼트의 끝(212)에 도달했음을 표시하는 재생 데이터를 이전에 전송했는지에 상관없이). 따라서, 재생 데이터(209)는 세그먼트들이 시청되는 순서에 상관없이 각각의 세그먼트의 끝에 도달하는 경우 전송될 수 있다.
앞서 설명된 바와 같이, 재생 데이터(209)는 각각의 세그먼트의 끝에 도달하는 경우 전송된다. 재생 데이터가 이러한 방식으로 제공될 때, 사용자는 재생이 해당 세그먼트의 끝에 도달하지 않아도 그 세그먼트의 대부분(예를 들어, 세그먼트 중 50% 이상)을 시청할 수 있다. 따라서, 세그먼트의 끝에 도달했음을 표시하는 재생 데이터는 비디오 플레이어(116)에 의해 전송되지 않는다. 이에 따라, 비디오 분석 장치(120)는 비디오의 이러한 특정 부분이 프리젠테이션되었음을 표시하는 데이터를 수신하지 못할 수 있고, 이것은 비디오 분석 장치(120)가 비디오의 특정 부분을 시청한 시청자들의 상대적 비례수를 결정할 때의 정확도에 영향을 미칠 수 있다.
비디오의 특정 부분을 시청한 시청자들의 상대적 비례수를 결정하는 정확도를 증가시키는 한 가지 방법은 비디오가 분할되는 세그먼트들의 개수를 증가시키는 것이다. 예를 들어, 만약 비디오 플레이어가 1분짜리 비디오를 60개의 세그먼트들로 세그먼트화한다면, 세그먼트들 각각의 길이는 1초일 수 있다(즉, 60초/(60개의 세그먼트들) = 1초/세그먼트). 따라서, 1초보다 더 큰 시간 동안 비디오의 임의의 부분을 시청한 시청자들의 상대적 비례수는 비디오 분석 장치(120)에 전송된 재생 데이터에 근거하여 결정될 수 있다. 그러나, 비디오 분석 장치(120)에 의해 수신된 재생 데이터를 관리하기 위해 필요한 컴퓨팅 리소스들은 비디오들이 세그먼트화된 세그먼트들의 개수에 비례하여 증가한다. 따라서, 이용가능한 컴퓨팅 리소스들(예를 들어, 프로세싱 리소스들, 통신 대역폭, 그리고 메모리 리소스들)에 따라, 비디오들이 세그먼트화될 수 있는 세그먼트들의 개수는 제한될 수 있으며, 추가적인 정확도가 여전히 요구될 수 있다.
비디오의 특정 부분을 시청한 시청자들의 상대적 비례수가 결정될 때의 정확도를 증가시키는 또 다른 방법은 세그먼트들 각각에 포함되는 비디오의 일부분을 변경시키는 것이다. 특정 세그먼트 내에 포함되는 비디오의 일부분을 변경시키는 것은 해당 세그먼트에 대한 세그먼트 끝 시간을 변경시키게 된다. 예를 들어, 비디오의 25%가 비디오의 제 1 세그먼트 내에 포함되는 경우, 제 1 세그먼트에 대한 세그먼트 끝 시간은 비디오의 전체 구간 중 25%에 있게 된다. 유사하게, 비디오의 33%가 제 1 세그먼트 내에 포함되는 경우, 제 1 세그먼트에 대한 세그먼트 끝 시간은 비디오의 전체 구간 중 33%에 있게 되며, 비디오의 10%가 제 1 세그먼트 내에 포함되는 경우, 제 1 세그먼트에 대한 세그먼트 끝 시간은 비디오의 전체 구간 중 10%에 있게 된다. 따라서, 특정 세그먼트에 대한 재생 데이터를 전송하기 위해 프리젠테이션돼야만 하는 비디오의 일부분이 또한 변경되게 된다.
일부 구현예들에서, 비디오 플레이어(116)는 각각의 세그먼트 내에 포함되는 비디오의 일부분을 변경시킨다. 비디오 플레이어(116)는 예를 들어, 세그먼트들 각각에 대한 세그먼트 끝 시간들을 의사-무작위로(혹은 가변적으로) 선택함으로써, 각각의 세그먼트 내에 포함되는 비디오의 일부분을 변경시킬 수 있다. 예를 들어, 비디오 플레이어(116)가 비디오들을 4개의 세그먼트들로 세그먼트화시키도록 구성된다고 가정한다. 이러한 예에서, 비디오 플레이어(116)는 4개의 세그먼트들 각각에 대한 세그먼트 끝 시간들을 의사-무작위로 선택할 수 있는바(또는 다른 선택 기법을 사용할 수 있는데, 예를 들어, 사전에 특정된 양만큼 세그먼트 끝 시간들을 증분(혹은 감분)시키는 것), 이것은 또한 세그먼트들 각각에 포함되는 비디오의 일부분을 결정하게 된다.
도 3a 내지 도 3c는 진행바(300)를 나타낸 것으로, 여기에는 다양한 지속시간의 세그먼트들이 도시되어 있다. 예를 들어, 도 3a에서 진행바(300)에 의해 예시된 바와 같이, 비디오 플레이어는 비디오를 4개의 세그먼트들로 세그먼트화했고, 여기서 제 1 세그먼트의 끝(302)은 비디오의 전체 구간 중 18%(즉, 비디오의 시작부터 18%)에 위치하고 있으며, 제 2 세그먼트의 끝(304)은 비디오의 전체 구간 중 45%에 위치하고 있으며, 제 3 세그먼트의 끝(306)은 비디오의 전체 구간 중 65%에 위치하고 있으며, 그리고 제 4 세그먼트의 끝(308)은 비디오의 전체 구간 중 100%에 위치하고 있다. 따라서, 비디오의 재생이 전체 구간 중 18%에 도달한 경우 제 1 세그먼트에 대한 재생 데이터가 전송되게 되고, 비디오의 재생이 비디오의 전체 구간 중 45%, 65%, 및 100%에 도달한 경우 제 2 세그먼트, 제 3 세그먼트, 및 제 4 세그먼트에 대한 재생 데이터가 각각 전송되게 된다.
세그먼트들 각각에 대한 재생 데이터는 비디오 분석 장치(120)로 하여금 해당 재생 데이터가 대응하고 있는 비디오의 일부분을 결정할 수 있도록 하는 세그먼트의 끝의 위치에 대한 참조표시를 포함할 수 있다. 계속해서 앞서의 예에서, 비디오 플레이어는 제 1 세그먼트의 끝이 비디오의 전체 구간 중 18%에 위치함을 특정하는 제 1 세그먼트에 대한 재생 데이터를 전송할 수 있다. 대안적으로(혹은 추가적으로), 제 1 세그먼트에 대한 재생 데이터는 제 1 세그먼트의 끝이 위치하고 있는 재생 시간을 특정하는 세그먼트 끝 시간(예를 들어, 15초)을 포함할 수 있다. 다른 세그먼트들 각각에 대한 재생 데이터도 세그먼트의 끝의 위치를 특정하는 유사한 정보를 포함할 수 있다.
사용자 디바이스에 의해 비디오가 요청될 때마다, 비디오 플레이어는 비디오에 대한 서로 다른 세그먼트 끝 시간들을 선택할 수 있다. 예를 들어, 비디오 플레이어가 특정 비디오의 제 1 요청에 대해 도 3a에 의해 예시된 세그먼트 끝 시간들을 선택했다고 가정하고, 또한 비디오 플레이어가 동일한 그 특정 비디오의 제 2 요청 및 제 3 요청에 대해 도 3b 및 도 3c에 의해 프리젠테이션된 바와 같은 세그먼트 끝 시간들을 각각 선택했다고 가정한다.
도 3b에 의해 예시되는 바와 같이, 특정 비디오의 제 2 요청에 대한 세그먼트 끝 시간들(310, 312, 314, 및 316)은 비디오의 전체 구간 중 20%, 40%, 60%, 및 100%에 각각 위치하고 있다. 도 3c에 의해 예시되는 바와 같이, 특정 비디오에 대한 세그먼트 끝 시간들(318, 320, 322, 및 324)은 비디오의 전체 구간 중 10%, 55%, 78%, 및 90%에 각각 위치하고 있다. 따라서, 제 2 요청 및 제 3 요청에 응답하여 제공될 때의 특정 비디오의 재생으로부터 나오는 재생 데이터는 제 1 요청에 응답하여 제공될 때의 비디오의 재생으로부터 나오는 재생 데이터와는 다른 정보를 특정하게 된다.
예를 들어, 제 2 요청에 응답하여 제공되는 특정 비디오에 대한 재생 데이터는 특정 비디오의 재생이 그 특정 비디오의 전체 구간 중 20%, 40%, 60%, 및/또는 100%에 도달했는지 여부를 특정하게 된다. 반면, 제 3 요청에 응답하여 제공되는 특정 비디오에 대한 재생 데이터는 특정 비디오의 재생이 그 특정 비디오의 전체 구간 중 10%, 55%, 78%, 및/또는 90%에 도달했는지 여부를 특정하게 된다.
사용자들이 특정 비디오를 요청함에 따라, 비디오 플레이어는 그 비디오에 대한 서로 다른 세그먼트 끝 시간들을 계속 선택할 수 있고, 이에 따라 복수의 요청들로부터의 집합 재생 데이터는 특정 비디오에 대한 집합 시청 프로파일(aggregate viewing profile)을 제공할 수 있게 된다. 시청 프로파일은 비디오 내의 다양한 포인트들에 도달한 비디오의 프리젠테이션들의 비율을 표시하는 데이터 세트이다. 예를 들어, 시청 프로파일은 비디오의 100%를 시청한 사용자들의 상대적 비례수(즉, 전체 구간의 끝에 도달한 프리젠테이션들의 상대적 비례수)(예를 들어, 퍼센티지(percentage))를 표시하는 하나의 값을 가질 수 있다. 이러한 시청 프로파일의 하나의 값은 비디오의 전체 구간이 얼마나 자주 프리젠테이션되는지를 결정함에 있어 유용하지만, 비디오의 보다 작은 일부분(예를 들어, 비디오의 18%)을 시청한 사용자들의 수에 관한 정보를 제공하지는 못한다.
도 4는 비디오에 대한 예시적인 집합 시청 프로파일의 그래프(400)이다. 비디오에 대한 집합 시청 프로파일은 비디오의 서로 다른 부분들(예를 들어, 서로 다른 위치들, 혹은 서로 다른 포인트들)에 대한 시청 정도 세트이다. 그래프(400)의 x-축(402)은 원점 값이 비디오의 전체 구간 중 0%이며, 전체 구간 중 100%까지 증가한다(x-축(402)은 또한 재생 시간의 절대값(absolute value)들을 나타낼 수 있음). 그래프(400)의 y-축(404)은 원점 값이 비디오의 총 프리젠테이션들의 0%이며, 비디오의 프리젠테이션들의 100%까지 증가하는 값을 갖는다(y-축은 또한 프리젠테이션들의 절대수(absolute number)들을 특정할 수 있거나, 또는 프리젠테이션들의 또 다른 상대적 분량을 특정할 수 있음). 그래프(400)는 예를 들어, 도 1의 비디오 분석 장치(120)에 의해 생성될 수 있다.
그래프(400)는, 비디오가 도 3a 내지 도 3c를 참조하여 앞서 설명된 바와 같이 세그먼트화된 경우, 비디오의 재생 동안 발생된 집합 재생 데이터에 근거하여 생성될 수 있다. 일부 구현예들에서, 의사-무작위로(혹은 가변적으로) 선택된 세그먼트 끝 시간들에 대한 재생 데이터는 통계적으로 관련된 다수의 사용자들에 걸쳐 집합되고, 비디오의 다양한 부분들을 시청한 사용자들의 상대적 비례수(즉, 다양한 세그먼트들의 끝에 도달한 프리젠테이션들의 상대적 비례수)가 그래프(400) 상에 그려질 수 있다. 예를 들어, 그래프(400)에 따르면, 비디오의 프리젠테이션들의 48%가 전체 구간 중 25%에 도달했다. 25%인 x-축 값은 예를 들어, 비디오의 전체 구간 중 25%에서 끝나는 세그먼트들을 나타낼 수 있다. 유사하게, 전체 구간 중 25%에 도달한 프리젠테이션들의 상대적 비례수는 세그먼트가 전체 구간 중 25%에서 끝나게 되는 비디오의 프리젠테이션들에 대한 재생 데이터에 근거하여 결정될 수 있다.
비디오 내의 각각의 특정 위치(예를 들어, 전체 구간 중 25%)에 도달한 프리젠테이션들의 상대적 비례수는 해당하는 그 비디오 위치에 대한 구간재생율(play-through rate)로서 지칭될 수 있다. 예를 들어, 특정 비디오의 적어도 일부분이 100개의 사용자 디바이스들에서 프리젠테이션되었고 이러한 프리젠테이션들 중 25개 프리젠테이션들의 재생이 비디오의 전체 구간 중 50%에 도달했다고 가정한다. 이러한 예에서, 50% 비디오 위치에 대한 구간재생율은 25%(예컨대, 25/100)일 수 있다.
일부 구현예들에서, 그래프(400)는 복수의 곡선들(406)을 포함할 수 있는바, 곡선들 중 하나의 곡선(예를 들어, 406a)은 "광고"의 재생-유형 표시자 값을 갖는 재생 데이터를 사용하여 컴퓨팅된 시청 정도(예를 들어, 특정 비디오 위치에 도달한 프리젠테이션들의 상대적 비례수)를 나타내고, 또 다른 곡선(예를 들어, 406b)은 "광고가 아닌 것" 혹은 "타겟 비디오"의 재생-유형 표시자를 갖는 재생 데이터를 사용하여 컴퓨팅된 시청 정도를 나타낸다.
도 5는 비디오 재생을 추적하기 위한 예시적인 프로세스(500)를 나타낸 흐름도이다. 프로세스(500)는 비디오 플레이어가 비디오를 복수의 세그먼트들로 세그먼트화하고 비디오의 재생이 세그먼트의 끝에 도달했는지 여부를 결정하기 위해 비디오의 재생을 모니터링하는 프로세스이다. 재생이 세그먼트의 끝에 도달했다는 결정에 응답하여, 비디오 플레이어는 재생 데이터를 데이터 포로세싱 장치(예를 들어, 도 1의 비디오 분석 장치(120))에 전송한다. 전송되는 재생 데이터는 재생 동안 그 도달한 세그먼트의 끝을 특정하는 데이터를 포함한다. 데이터 프로세싱 디바이스는 비디오에 대한 시청 정도(예를 들어, 비디오의 특정 포인트들에 도달한 비디오 프리젠테이션들의 상대적 분량)를 결정하고, 이러한 시청 정도를 비디오의 소유자들 혹은 발행자들에게 제공한다.
비디오가 둘 이상의 세그먼트들로 세그먼트화된다(502). 일부 구현예들에서, 비디오의 각각의 세그먼트는 비디오의 별개의 서브세트이고, 이에 따라 비디오의 두 개의 세그먼트들은 비디오의 동일한 부분을 포함하지 않는다. 예를 들어, 1분짜리 비디오는, 비디오의 제 1 세그먼트의 끝이 전체 구간 중 50%에서 끝나고 제 2 세그먼트가 전체 구간 중 50% 이후에 프리젠테이션되는 비디오의 다음 프레임으로 시작하도록, 비디오의 전체 구간 중 50%에서 세그먼트화될 수 있다. 앞서 설명된 바와 같이, 비디오는 비디오를 요청한 비디오 플레이어(혹은 또 다른 클라이언트측 애플리케이션 혹은 디바이스)에 의해 세그먼트화될 수 있다.
일부 구현예들에서, 비디오가 세그먼트화되는 세그먼트들의 개수는 의사-무작위로(혹은 가변적으로) 선택될 수 있다. 예를 들어, 비디오 플레이어가 비디오를 수신하는 경우, 비디오 플레이어는 의사-무작위 개수 발생기(pseudo-random number generator)의 출력을 획득할 수 있고, 비디오를 이러한 개수의 세그먼트들로 세그먼트화할 수 있다. 대안적으로 혹은 추가적으로, 비디오 플레이어는 또 다른 개수 선택 기법(즉, 무작위 개수 혹은 의사-무작위 개수가 아닌 개수 선택 기법)에 따라 개수들을 선택하는 개수 발생기의 출력을 획득할 수 있다.
일부 구현예들에서, 비디오는 비디오가 세그먼트화될 세그먼트들의 개수 및 비디오의 전체 구간에 근거하여 세그먼트화된다. 예를 들어, 비디오는, 비디오의 전체 구간을 (예를 들어, 비디오와 함께 수신된 데이터에 근거하여) 결정함으로써 그리고 세그먼트들 각각에 대한 세그먼트 끝 시간을 의사-무작위로 선택함으로써, 세그먼트화될 수 있다. 각각의 세그먼트에 대한 그 선택된 세그먼트 끝 시간은 0과 비디오의 전체 구간 사이에서 의사-무작위로 선택된 시간일 수 있다.
비디오의 재생이 모니터링되고(504), 비디오의 재생이 세그먼트의 끝에 도달했는지 여부가 결정된다(506). 일부 구현예들에서, 비디오의 재생은, 재생 타이머에 의해 특정된 시간이 세그먼트에 대한 세그먼트 끝 시간과 정합하는 때, 세그먼트의 끝에 도달했다고 결정된다. 예를 들어, 만약 특정 세그먼트에 대한 세그먼트 끝 시간이 비디오의 시작 이후 15초라면, 비디오의 재생은, 재생 타이머에 의해 표시된 시간이 15초일 때, 그 특정 세그먼트의 끝에 도달했다고 결정될 수 있다.
일부 구현예들에서, 비디오의 재생은, 세그먼트 끝 프레임이 비디오 플레이어에 의해 프리젠테이션될 때 세그먼트의 끝에 도달했다고 결정된다. 예를 들어, 세그먼트에 대한 세그먼트 끝 시간이 식별되면, 세그먼트 끝 시간에 프리젠테이션되는 프레임이 식별될 수 있고 이 프레임은 해당 세그먼트에 대한 세그먼트 끝 프레임(예를 들어, 세그먼트 내의 마지막 프레임)으로서 지정될 수 있다. 비디오의 재생이 진행됨에 따라, 비디오 플레이어는 세그먼트들 중 어느 하나의 세그먼트에 대한 세그먼트 끝 프레임이 프리젠테이션되었는지 여부를 결정하기 위해 재생을 모니터링할 수 있다. 세그먼트 끝 프레임이 프리젠테이션되었다는 결정에 응답하여, 비디오 플레이어는 비디오의 재생이 그 세그먼트 끝 프레임에 대응하는 세그먼트의 끝에 도달했다고 결정할 수 있다.
만약 비디오의 재생이 세그먼트의 끝에 도달하지 않았다고 결정된다면, 비디오의 재생은 계속 모니터링된다(506). 비디오의 재생이 세그먼트의 끝에 도달했다고 결정되는 경우, 재생 데이터가 제공되는바, 여기서 재생 데이터는 재생이 세그먼트의 끝에 도달했음을 표시한다(508). 일부 구현예들에서, 재생 데이터는 HTTP GET 요청을 서버측 데이터 프로세싱 장치(예를 들어, 도 1의 비디오 분석 장치(120))에 전송함으로써 제공된다.
재생 데이터는 예를 들어, 재생 동안 도달했던 특정 세그먼트 끝을 특정하는 데이터를 포함할 수 있다. 재생 데이터는 또한, 예를 들어, 서버측 데이터 프로세싱 장치로 하여금 재생 동안 서로 다른 세그먼트들의 끝들에 도달했던 순서(뿐만 아니라 재생 이벤트들(예컨대, 비디오 일시정지, 비디오 중단, 비디오 스킵, 및 비디오 반복)에 대한 발생 순서)를 결정할 수 있게 하는 타임스탬프를 포함할 수 있다. 앞서 설명된 바와 같이, 재생 데이터는 또한, 프리젠테이션되는 비디오에 대한 비디오 식별자, 그리고 비디오가 프리젠테이션되고 있는 사용자 디바이스에 대한 사용자 식별자를 포함할 수 있고, 이에 따라 서버측 데이터 프로세싱 장치는 재생 데이터를 적절하게 인덱싱 및 복원할 수 있게 된다.
재생 데이터는 또한 비디오에 대한 프리젠테이션 유형(이것은 또한 "재생-유형"으로서 지칭되기도 함)을 포함할 수 있다. 예를 들어, 재생 데이터는 비디오가 비디오 콘텐츠 아이템(예를 들어, 광고인 비디오 프리젠테이션)으로서 프리젠테이션되었는지 여부 혹은 비디오가 타겟 비디오(예를 들어, 광고가 아닌 비디오 프리젠테이션)로서 프리젠테이션되었는지 여부를 특정하는 데이터를 포함할 수 있다. 비디오의 프리젠테이션 유형은, 예를 들어, 수신시 비디오와 함께 포함된 데이터에 근거하여, 뿐만 아니라 요청에 응답하여 비디오가 제공되었던 그 요청에 근거하여, 결정될 수 있다.
예를 들어, 앞서 설명된 바와 같이, 광고 요청에 응답하여 비디오가 제공되는 경우, 비디오의 프리젠테이션 유형은 광고 프리젠테이션인 것으로서 고려될 수 있다. 그러나, 만약 광고에 대한 요청(예를 들어, 광고 서버에 제공되는 요청)이 아닌 요청에 응답하여 비디오가 제공된다면, 비디오의 프리젠테이션 유형은 광고가 아닌 것의 프리젠테이션인 것으로서 고려될 수 있다.
서버측 데이터 프로세싱 장치는 재생 데이터를 수신 및 저장한다(510). 일부 구현예들에서, 서버측 데이터 프로세싱 장치는, 비디오에 대한 참조표시, 그리고/또는 사용자 디바이스로부터 재생 데이터가 수신될 때의 그 사용자 디바이스에 대한 참조표시와 함께 재생 데이터를 저장한다. 예를 들어, 서버측 데이터 프로세싱 장치는 비디오에 대한 비디오 식별자와 사용자 디바이스에 대한 사용자 식별자 중 하나 이상 식별자에 따라 재생 데이터를 인덱싱할 수 있다. 재생 데이터는 도 1의 시청자 로그(119)와 같은 데이터 저장소에 저장될 수 있다.
비디오에 대한 시청 정도가 결정된다(512). 일부 구현예들에서, 시청 정도는 비디오 내의 다양한 포인트들에 도달한 비디오의 프리젠테이션들의 상대적 비례수를 표시한다. 예를 들어, 앞서 설명된 바와 같이, 비디오의 서로 다른 많은 프리젠테이션들로부터 집합된 재생 데이터는 시청 프로파일을 생성하는데 사용될 수 있다. 일부 구현예에서, 광고 프리젠테이션 구간과 광고가 아닌 것의 프리젠테이션 구간을 직접적으로 비교하는 것을 용이하게 하기 위해, 광고인 비디오 프리젠테이션와 광고가 아닌 비디오 프리젠테이션에 대한 개개의 시청 프로파일이 생성될 수 있다.
도 6은 앞서 설명된 동작들을 수행하기 위해 사용될 수 있는 예시적 컴퓨터 시스템(600)의 블록도이다. 시스템(600)은 프로세서(610), 메모리(620), 저장 디바이스(630), 그리고 입력/출력 디바이스(640)를 포함한다. 컴포넌트들(610, 620, 630, 및 640) 각각은, 예를 들어, 시스템 버스(650)를 사용하여, 상호연결될 수 있다. 프로세서(610)는 시스템(600) 내에서의 실행을 위한 명령들을 프로세싱할 수 있다. 일 구현예에서, 프로세서(610)는 싱글-쓰레디드 프로세서(single-threaded processor)이다. 또 다른 구현예에서, 프로세서(610)는 멀티-쓰레디드 프로세서(multi-threaded processor)이다. 프로세서(610)는 메모리(620)에 저장되거나 저장 디바이스(630) 상에 저장되는 명령들을 프로세싱할 수 있다.
메모리(620)는 시스템(600) 내의 정보를 저장한다. 일 구현예에서, 메모리(620)는 컴퓨터-판독가능 매체이다. 일 구현예에서, 메모리(620)는 휘발성 메모리 유닛이다. 또 다른 구현예에서, 메모리(620)는 비휘발성 메모리 유닛이다.
저장 디바이스(630)는 시스템(600)을 위한 대용량 저장소를 제공할 수 있다. 일 구현예에서, 저장 디바이스(630)는 컴퓨터-판독가능 매체이다. 서로 다른 다양한 구현예들에서, 저장 디바이스(630)는 예를 들어, 하드 디스크 드라이브, 광학 디스크 드바이스, 복수의 컴퓨팅 디바이스들에 의해 네트워크를 통해 공유된 저장 디바이스(예를 들어, 클라우드 저장 디바이스(cloud storage device)), 또는 어떤 다른 대용량 저장 디바이스를 포함할 수 있다.
입력/출력 디바이스(640)는 시스템(600)을 위한 입력/출력 동작들을 제공한다. 일 구현예에서, 입력/출력 디바이스(640)는, 네트워크 인터페이스 디바이스들(예를 들어, 이더넷 카드(Ethernet card)), 직렬 통신 디바이스(예를 들어, RS-232 포트) 그리고/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 또 다른 구현예에서, 입력/출력 디바이스는 입력 데이터를 수신하여 다른 입력/출력 디바이스들(예를 들어, 키보드, 프린터, 및 디스플레이 디바이스들)(660)에 출력 데이터를 전송하도록 구성되는 드라이버 디바이스들(driver devices)을 포함할 수 있다. 그러나, 다른 구현예들, 예를 들어, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들, 셋-탑 박스 텔레비젼 클라이언트 디바이스들 등이 또한 사용될 수 있다.
예시적인 프로세싱 시스템이 도 6에서 설명되었지만, 본 명세서에서 설명되는 주된 내용 및 기능적 동작들의 구현예들은 다른 타입의 디지털 전자 회로 내에서 구현될 수 있거나, 혹은 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현될 수 있는바, 여기에는 본 명세서에서 개시되는 구조들 및 그 구조적 등가물이 포함되며, 또는 이들의 하나 이상의 조합으로 구현될 수 있다.
본 명세서에서 설명되는 주된 내용 및 동작들의 실시예들은 디지털 전자 회로 내에서 구현될 수 있거나, 혹은 컴퓨터 소프트웨어, 펌웨어, 혹은 하드웨어로 구현될 수 있는바, 여기에는 본 명세서에서 개시되는 구조들 및 그 구조적 등가물이 포함되며, 또는 이들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에서 설명되는 주된 내용의 실시예들은 하나 이상의 컴퓨터 프로그램으로서 구현될 수 있는바, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 혹은 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩되는 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 혹은 추가적으로, 프로그램 명령들은 인위적으로-발생된 전파 신호에 인코딩될 수 있는바, 예를 들어, 머신에 의해 발생되는 전기적, 광학적, 혹은 전자기적 신호에 인코딩될 수 있고, 이러한 신호는 데이터 프로세싱 장치에 의한 실행을 위해서 적절한 수신기 장치로 전송하기 위해 정보를 인코딩하도록 발생된다. 컴퓨터 저장 매체는, 컴퓨터-판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 혹은 직렬 액세스 메모리 어레이 혹은 디바이스, 또는 이들의 하나 이상의 조합일 수 있거나 이들 디바이스들에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체가 전파 신호가 아닌 경우에, 컴퓨터 저장 매체는 인위적으로-발생된 전파 신호에 인코딩되는 컴퓨터 프로그램 명령들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별적인 물리적 컴포넌트들 또는 매체들(예를 들어, 복수의 CD들, 디스크들, 혹은 다른 저장 디바이스들)일 수 있거나 이들 매체에 포함될 수 있다.
본 명세서에 설명되는 동작들은 하나 이상의 컴퓨터-판독가능한 저장 디바이스에 저장되거나 또는 다른 소스로부터 수신된 데이터에 관해 데이터 프로세싱 장치에 의해 수행되는 동작들로 구현될 수 있다.
용어 "데이터 프로세싱 장치"는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신을 포괄하는바, 예를 들어, 여기에는 프로그래밍가능한 프로세서, 컴퓨터, 하나의 칩 또는 다수의 칩 상의 시스템, 또는 이들의 조합이 포함된다. 이러한 장치는 특수 목적 로직 회로, 예를 들어, FPGA(Field Programmable Gate Array) 또는 ASIC(Application-Specific Integrated Circuit)을 포함할 수 있다. 이러한 장치는, 하드웨어에 추가하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 포함할 수 있는바, 예를 들어, 프로세서 펌웨어, 프로토콜 스택(protocol stack), 데이터베이스 관리 시스템, 오퍼레이팅 시스템(operating system), 크로스-플랫폼 런타임 환경(cross-platform runtime environment), 가상 머신(virtual machine), 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 이러한 장치 및 실행 환경은 웹 서비스, 분산형 컴퓨팅 인프라스트럭처(distributed computing infrastructure) 및 그리드 컴퓨팅 인프라스트럭처(grid computing infrastructure)와 같은 여러 가지 상이한 컴퓨팅 모델 인프라스트럭처를 실현할 수 있다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로서 또한 알려진) 컴퓨터 프로그램은 컴파일링 혹은 해석된 언어들, 또는 선언 혹은 절차 언어들을 포함하는 임의 형태의 프로그래밍 언어로 기입될 수 있고, 이러한 프로그램은 임의의 형태로 배치될 수 있는바, 예를 들어, 독립 프로그램으로서 배치될 수 있거나 또는 모듈, 컴포넌트, 서브루틴, 오브젝트 혹은 컴퓨팅 환경에서의 사용에 대해 적합한 다른 유닛으로서 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내에서의 파일에 대응할 수는 있지만 반드시 대응할 필요는 없다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크업 언어 문서로 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부에 저장될 수 있거나, 해당 프로그램 전용의 단일 파일에 저장될 수 있거나, 또는 다수의 조정된 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램들, 또는 코드 부분을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 또는 다수의 사이트들에 걸쳐 분산되어 있는 그리고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되거나 또는 하나의 컴퓨터에서 실행되도록 배치될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 작용하여 출력을 발생시킴으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램들을 실행시키는 하나 이상의 프로그래밍가능한 프로세서들에 의해 수행될 수 있다. 이러한 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어, FPGA(Field Programmable Gate Array) 또는 ASIC(Application-Specific Integrated Circuit)에 의해 수행될 수 있고, 장치가 또한 이들 회로로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는데 적합한 프로세서들은, 예를 들어, 범용 및 특수 목적 마이크로프로세서들 그리고 임의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 이들 둘 모두로부터 명령 및 데이터를 수신한다. 컴퓨터의 본질적인 요소는 명령에 따라 동작을 수행하는 프로세서, 그리고 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들(예를 들어, 자기 디스크, 광자기 디스크 또는 광디스크)을 포함하거나 또는 이들 디바이스로부터 데이터를 수신하거나 또는 이들 디바이스에 데이터를 전달하거나 또는 이들 디바이스에 이러한 두 가지 동작 모두를 수행하도록 동작가능하게 결합된다. 그러나, 컴퓨터는 이러한 디바이스들을 구비할 필요가 없을 수도 있다. 더욱이, 컴퓨터는 또 하나의 다른 디바이스, 예를 들어, 단지 몇 가지 언급하면, 모바일 전화기, 개인 휴대 단말기(Personal Digital Assistant, PDA), 모바일 오디오 혹은 비디오 플레이어, 게임 콘솔(game console), 위성 위치확인 시스템(Global Positioning System, GPS) 수신기, 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(Universal Serial Bus, USB) 플래시 드라이브)에 매립될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하는데 적합한 디바이스들은 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함하는바, 여기에는 예를 들어, 반도체 메모리 디바이스, 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스; 자기 디스크, 예컨대, 내부 하드 디스크 또는 탈착가능 디스크; 광자기 디스크; 그리고 CD-ROM 및 DVD-ROM 디스크가 포함된다. 이러한 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보충될 수 있거나 혹은 특수 목적 로직 회로에 통합될 수 있다.
사용자와의 상호대화를 제공하기 위해, 본 명세서에 설명되는 주된 내용의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(Cathode Ray Tube) 또는 LCD(Liquid Crystal Display) 모니터, 그리고 사용자로 하여금 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스(pointing device), 예를 들어, 마우스 또는 트랙볼을 구비하는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들이 또한 사용자와의 상호대화를 제공하기 위해 사용될 수 있는바, 예를 들어, 사용자에게 제공되는 피드백은 임의 형태의 감각적 피드백, 예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고, 그리고 사용자로부터의 입력은 음향적, 음성적 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가적으로, 컴퓨터는, 사용자에 의해 사용되는 디바이스에 문서를 전송함으로써 그리고 사용자에 의해 사용되는 디바이스로부터 문서를 수신함으로써 사용자와 상호대화할 수 있는바, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 웹 페이지를 사용자의 클라이언트 디바이스 상의 웹 브라우저에 전송함으로써 사용자와의 상호대화를 수행할 수 있다.
본 명세서에 설명되는 주된 내용의 실시예들은 컴퓨팅 시스템으로 구현될 수 있는바, 여기서 컴퓨팅 시스템은 백-엔드 컴포넌트(back-end component)를 예를 들어, 데이터 서버로서 포함하거나, 또는 미들웨어 컴포넌트(middleware component), 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프런트-엔드 컴포넌트(front-end component), 예를 들어, 사용자가 본 명세서에 설명되는 주된 내용의 구현예와 상호대화할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비하는 클라이언트 컴퓨터를 포함하며, 또는 하나 이상의 이러한 백-엔드, 미들웨어 또는 프런트-엔드 컴포넌트들의 임의의 조합을 포함한다. 이러한 시스템의 컴포넌트들은 디지털 데이터 통신의 임의 형태 또는 매체, 예를 들어, 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크("LAN") 및 와이드 영역 네트워크("WAN"), 인터-네트워크(inter-network)(예를 들어, 인터넷) 및 피어투피어 네트워크(peer-to-peer networks)(예를 들어, 애드혹 피어투피어 네트워크(ad hoc peer-to-peer networks))를 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있고 전형적으로는 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는, 각각의 컴퓨터들 상에서 실행됨과 아울러 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들을 통해 발생한다. 일부 실시예들에서, 서버는 데이터(예를 들어, HTML 페이지)를 클라이언트 디바이스에 전송한다(예를 들어, 클라이언트에게 데이터를 디스플레이하기 위해 그리고 클라이언트 디바이스와 상호대화하는 사용자로부터 사용자 입력을 수신하기 위해). 클라이언트 디바이스에서 발생된 데이터(예를 들어, 사용자 상호대화의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서가 다수의 특정 구현예의 세부사항들을 포함하고 있지만, 이것은 임의의 발명의 범위 혹은 청구될 수 있는 것의 범위에 관한 한정적 의미로서 해석돼서는 안 되며, 오히려 이것은 특정 발명의 특정 실시예들에 특정된 특징들을 설명하는 것으로서 해석돼야 한다. 개별적 실시예들에 관해서 본 명세서에서 설명된 어떤 특징들은 또한 조합되어 단일 실시예로 구현될 수 있다. 역으로, 단일 실시예에 관해서 설명된 다양한 특징들은 또한 다수의 실시예들로 개별적으로 구현될 수 있거나 혹은 임의의 적절한 서브조합으로 구현될 수 있다. 더욱이, 이러한 특징들이 앞에서 특정 조합으로 동작하는 것으로서 설명될 수 있고, 심지어 처음에 이와 같이 기재될 수 있을지라도, 기재된 조합으로부터의 하나 이상의 특징들은 일부 경우에 있어서 이러한 조합으로부터 배제될 수 있고, 기재된 조합은 서브조합 혹은 서브조합의 변형에 관한 것일 수 있다.
마찬가지로, 도면에서는 동작들이 특정 순서로 제시되고 있지만, 이러한 동작들이 바람직한 결과를 달성하기 위해 제시된 특정 순서로 수행되어야 함 또는 순차적으로 수행되어야 함 또는 예시된 모든 동작들이 수행되어야 함을 요구하는 것으로서 이해돼서는 안 된다. 특정 상황에서는, 멀티태스킹(multitasking) 및 병렬 프로세싱(parallel processing)이 이로울 수 있다. 더욱이, 앞서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로서 이해돼서는 안 되며, 설명되는 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합될 수 있거나 혹은 다수의 소프트웨어 제품들에 패키징될 수 있음을 이해해야 한다.
이에 따라, 본 명세서의 주된 내용의 특정 실시예들이 기술되었다. 아래의 특허청구범위 내에서 다른 실시예들이 존재한다. 일부 경우에 있어서, 청구항에 기재되는 동작들은 서로 다른 순서로 수행될 수 있으며, 여전히 바람직한 결과를 달성할 수 있다. 추가적으로, 첨부되는 도면에서 제시되는 프로세스들은 바람직한 결과의 달성을 위해 그 제시된 특정 순서 혹은 순차적 순서를 반드시 요구하지 않는다. 특정 구현예들에서는, 멀티태스킹 및 병렬 프로세싱이 이로울 수 있다.

Claims (27)

  1. 데이터 프로세싱 장치(data processing apparatus)에 의해 수행되는 방법으로서,
    비디오(video)를 둘 이상의 세그먼트(segment)들로 세그먼트화하는 단계와, 여기서 상기 비디오의 각각의 세그먼트는 상기 비디오의 가변적으로 선택되는 별개의 서브세트(subset)이고;
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 클라이언트측 비디오 플레이어(client-side video player)에 의해 결정하는 단계와;
    상기 비디오에 대한 프리젠테이션 유형(presentation type)을 결정하는 단계와, 여기서 상기 프리젠테이션 유형은 광고 프리젠테이션(advertisement presentation) 혹은 비광고 프리젠테이션(non-advertisement presentation) 중 하나이고; 그리고
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 표시하는 재생 데이터(playback data)를 서버측 데이터 프로세싱 장치(server-side data processing apparatus)에 제공하는 단계를 포함하여 구성되며,
    상기 재생 데이터는 또한 상기 비디오의 상기 프리젠테이션 유형을 특정하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  2. 제1항에 있어서,
    상기 비디오를 세그먼트화하는 단계는,
    상기 비디오의 전체 구간(total duration)을 결정하는 것과; 그리고
    상기 세그먼트들 각각에 대한 세그먼트 끝 시간(segment end time)들을 선택하는 것을 포함하고,
    각각의 세그먼트에 대한 세그먼트 끝 시간은 의사 무작위로(pseudo-randomly) 선택되는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  3. 제2항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 단계는 상기 비디오에 대한 재생 타이머(playback timer)에 의해 특정된 시간이 상기 세그먼트 끝 시간들 중 하나와 정합(match)하는 것으로 결정하는 것을 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  4. 제2항에 있어서,
    상기 세그먼트 끝 시간들 각각에 대해 세그먼트 끝 시간에 프리젠테이션되는 비디오의 프레임(frame)을 식별하는 단계를 더 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  5. 제4항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 단계는 상기 세그먼트들 중 하나의 세그먼트에 대한 세그먼트 끝 시간에 프리젠테이션되는 상기 프레임이 프리젠테이션되었음을 결정하는 것을 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  6. 제1항에 있어서,
    상기 비디오를 세그먼트화하는 단계는 상기 비디오를 가변적으로 선택되는 개수의 세그먼트들로 세그먼트화하는 것을 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  7. 제1항에 있어서,
    상기 재생 데이터를 상기 서버측 데이터 프로세싱 장치에 제공하는 단계는 HTTP 요청을 상기 서버측 데이터 프로세싱 장치에 전송하는 것을 포함하고,
    상기 HTTP 요청은 상기 비디오의 재생이 세그먼트의 끝에 도달한 시간을 표시하는 타임스탬프(timestamp)를 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  8. 제1항에 있어서,
    상기 서버측 데이터 프로세싱 장치에 의해 상기 재생 데이터를 수신하는 단계와; 그리고
    상기 재생 데이터를 데이터 저장소에 저장하는 단계를 더 포함하고,
    상기 재생 데이터는 상기 비디오가 프리젠테이션된 사용자 디바이스를 표시하는 식별자(identifier) 및 상기 비디오에 대한 참조표시(reference)와 함께 저장되는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  9. 제8항에 있어서,
    상기 재생 데이터에 근거하여 상기 비디오에 대한 시청 정도(viewership measures)를 결정하는 단계를 더 포함하고,
    상기 시청 정도는 세그먼트의 끝에 도달한 상기 비디오의 프리젠테이션들의 상대적 비례수(relative number)를 표시하며, 상기 시청 정도는 상기 비디오의 복수의 프리젠테이션을 위한 집합 재생 데이터(aggregate playback data)에 근거하고 있는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
  10. 컴퓨터 프로그램으로 인코딩되어 있는 비일시적 컴퓨터 저장 매체로서, 상기 프로그램은 명령들을 포함하고, 상기 명령들은 데이터 프로세싱 장치에 의해 실행될 때 상기 데이터 프로세싱 장치로 하여금,
    비디오를 둘 이상의 세그먼트들로 세그먼트화하는 것과, 여기서 상기 비디오의 각각의 세그먼트는 상기 비디오의 가변적으로 선택되는 별개의 서브세트이고;
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 클라이언트측 비디오 플레이어에 의해 결정하는 것과;
    상기 비디오에 대한 프리젠테이션 유형을 결정하는 것과, 여기서 상기 프리젠테이션 유형은 광고 프리젠테이션 혹은 비광고 프리젠테이션 중 하나이고; 그리고
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 표시하는 재생 데이터를 서버측 데이터 프로세싱 장치에 제공하는 것을 포함하는 동작들을 수행하도록 하며,
    상기 재생 데이터는 또한 상기 비디오의 상기 프리젠테이션 유형을 특정하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  11. 제10항에 있어서,
    상기 비디오를 세그먼트화하는 것은,
    상기 비디오의 전체 구간을 결정하는 것과; 그리고
    상기 세그먼트들 각각에 대한 세그먼트 끝 시간들을 선택하는 것을 포함하고,
    각각의 세그먼트에 대한 세그먼트 끝 시간은 의사 무작위로 선택되는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  12. 제11항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 상기 비디오에 대한 재생 타이머에 의해 특정된 시간이 상기 세그먼트 끝 시간들 중 하나와 정합하는 것으로 결정하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  13. 제11항에 있어서,
    상기 명령들은 또한, 상기 데이터 프로세싱 장치로 하여금,
    상기 세그먼트 끝 시간들 각각에 대해 세그먼트 끝 시간에 프리젠테이션되는 비디오의 프레임을 식별하는 것을 포함하는 동작들을 수행하도록 하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  14. 제13항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 상기 세그먼트들 중 하나의 세그먼트에 대한 세그먼트 끝 시간에 프리젠테이션되는 상기 프레임이 프리젠테이션되었음을 결정하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  15. 제10항에 있어서,
    상기 비디오를 세그먼트화하는 것은 상기 비디오를 가변적으로 선택되는 개수의 세그먼트들로 세그먼트화하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  16. 제10항에 있어서,
    상기 재생 데이터를 상기 서버측 데이터 프로세싱 장치에 제공하는 것은 HTTP 요청을 상기 서버측 데이터 프로세싱 장치에 전송하는 것을 포함하고,
    상기 HTTP 요청은 상기 비디오의 재생이 세그먼트의 끝에 도달한 시간을 표시하는 타임스탬프를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  17. 제10항에 있어서,
    상기 명령들은 또한, 상기 데이터 프로세싱 장치로 하여금,
    상기 서버측 데이터 프로세싱 장치에 의해 상기 재생 데이터를 수신하는 것과; 그리고
    상기 재생 데이터를 데이터 저장소에 저장하는 것을 더 포함하는 동작들을 수행하도록 하며,
    상기 재생 데이터는 상기 비디오가 프리젠테이션된 사용자 디바이스를 표시하는 식별자 및 상기 비디오에 대한 참조표시와 함께 저장되는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  18. 제17항에 있어서,
    상기 명령들은 또한, 상기 데이터 프로세싱 장치로 하여금,
    상기 재생 데이터에 근거하여 상기 비디오에 대한 시청 정도를 결정하는 것을 더 포함하는 동작들을 수행하도록 하며,
    상기 시청 정도는 세그먼트의 끝에 도달한 상기 비디오의 프리젠테이션들의 상대적 비례수를 표시하며, 상기 시청 정도는 상기 비디오의 복수의 프리젠테이션을 위한 집합 재생 데이터에 근거하고 있는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  19. 사용자 디바이스 및 비디오 분석 장치를 포함하는 시스템으로서,
    상기 사용자 디바이스는 적어도 하나의 프로세서와 클라이언트측 비디오 플레이어를 포함하고, 상기 클라이언트측 비디오 플레이어는,
    비디오를 둘 이상의 세그먼트들로 세그먼트화하는 것과, 여기서 상기 비디오의 각각의 세그먼트는 상기 비디오의 가변적으로 선택되는 별개의 서브세트이고;
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 클라이언트측 비디오 플레이어에 의해 결정하는 것과;
    상기 비디오에 대한 프리젠테이션 유형을 결정하는 것과, 여기서 상기 프리젠테이션 유형은 광고 프리젠테이션 혹은 비광고 프리젠테이션 중 하나이고; 그리고
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 표시하는 재생 데이터를 제공하는 것을 포함하는 동작들을 수행하도록 되어 있으며,
    상기 재생 데이터는 또한 상기 비디오의 상기 프리젠테이션 유형을 특정하고,
    상기 비디오 분석 장치는 상기 재생 데이터를 수신 및 저장하도록 되어 있는 하나 이상의 컴퓨터들을 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 비디오를 세그먼트화하는 것은,
    상기 비디오의 전체 구간을 결정하는 것과; 그리고
    상기 세그먼트들 각각에 대한 세그먼트 끝 시간들을 선택하는 것을 포함하고,
    각각의 세그먼트에 대한 세그먼트 끝 시간은 의사 무작위로 선택되는 것을 특징으로 하는 시스템.
  21. 제20항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 상기 비디오에 대한 재생 타이머에 의해 특정된 시간이 상기 세그먼트 끝 시간들 중 하나와 정합하는 것으로 결정하는 것을 포함하는 것을 특징으로 하는 시스템.
  22. 제20항에 있어서,
    상기 클라이언트측 비디오 플레이어는 또한, 상기 세그먼트 끝 시간들 각각에 대해 세그먼트 끝 시간에 프리젠테이션되는 비디오의 프레임을 식별하는 것을 포함하는 동작들을 수행하도록 되어 있는 것을 특징으로 하는 시스템.
  23. 제22항에 있어서,
    상기 비디오의 재생이 상기 세그먼트들 중 하나의 세그먼트의 끝에 도달했음을 결정하는 것은 상기 세그먼트들 중 하나의 세그먼트에 대한 세그먼트 끝 시간에 프리젠테이션되는 상기 프레임이 프리젠테이션되었음을 결정하는 것을 포함하는 것을 특징으로 하는 시스템.
  24. 제19항에 있어서,
    상기 비디오를 세그먼트화하는 것은 상기 비디오를 가변적으로 선택되는 개수의 세그먼트들로 세그먼트화하는 것을 포함하는 것을 특징으로 하는 시스템.
  25. 제19항에 있어서,
    상기 재생 데이터를 상기 비디오 분석 장치에 제공하는 것은 HTTP 요청을 상기 비디오 분석 장치에 전송하는 것을 포함하고,
    상기 HTTP 요청은 상기 비디오의 재생이 세그먼트의 끝에 도달한 시간을 표시하는 타임스탬프를 포함하는 것을 특징으로 하는 시스템.
  26. 제19항에 있어서,
    상기 비디오 분석 장치는 또한, 상기 재생 데이터를 데이터 저장소에 저장하는 것을 포함하는 동작들을 수행하도록 되어 있으며,
    상기 재생 데이터는 상기 비디오가 프리젠테이션된 사용자 디바이스를 표시하는 식별자 및 상기 비디오에 대한 참조표시와 함께 저장되는 것을 특징으로 하는 시스템.
  27. 제26항에 있어서,
    상기 비디오 분석 장치는 또한, 상기 재생 데이터에 근거하여 상기 비디오에 대한 시청 정도를 결정하는 것을 포함하는 동작들을 수행하도록 되어 있으며,
    상기 시청 정도는 세그먼트의 끝에 도달한 상기 비디오의 프리젠테이션들의 상대적 비례수를 표시하며, 상기 시청 정도는 상기 비디오의 복수의 프리젠테이션을 위한 집합 재생 데이터에 근거하고 있는 것을 특징으로 하는 시스템.
KR1020147010874A 2011-09-23 2012-08-03 비디오 세그먼트 프리젠테이션 추적 KR101493034B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/242,818 2011-09-23
US13/242,818 US9794641B2 (en) 2011-09-23 2011-09-23 Video segment presentation tracking
PCT/US2012/049481 WO2013043265A1 (en) 2011-09-23 2012-08-03 Video segment presentaton tracking

Publications (2)

Publication Number Publication Date
KR20140057407A KR20140057407A (ko) 2014-05-12
KR101493034B1 true KR101493034B1 (ko) 2015-02-12

Family

ID=47911398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147010874A KR101493034B1 (ko) 2011-09-23 2012-08-03 비디오 세그먼트 프리젠테이션 추적

Country Status (5)

Country Link
US (1) US9794641B2 (ko)
EP (1) EP2745522A4 (ko)
KR (1) KR101493034B1 (ko)
CN (1) CN103947216B (ko)
WO (1) WO2013043265A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218756B2 (en) 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
US9336685B2 (en) * 2013-08-12 2016-05-10 Curious.Com, Inc. Video lesson builder system and method
US20160247203A1 (en) * 2015-02-21 2016-08-25 Yieldmo, Inc. Segmented Advertisement
US10616626B2 (en) * 2015-03-31 2020-04-07 The Hong Kong University Of Science And Technology Method and system for analyzing user activities related to a video
US9510036B1 (en) * 2015-10-26 2016-11-29 Google Inc. Systems and methods for providing content in a content list
US10616284B2 (en) * 2015-12-10 2020-04-07 Facebook, Inc. State-based logging for a viewing session
US10771857B2 (en) 2015-12-29 2020-09-08 Gold Line Telemanagement Inc. Video stream ad replacement
WO2018152630A1 (en) * 2017-02-21 2018-08-30 Timeplay Inc. Systems and methods for monitoring playback of recorded content
US10397291B1 (en) 2017-03-29 2019-08-27 Twitch Interactive, Inc. Session-specific streaming content replacement
US10313412B1 (en) * 2017-03-29 2019-06-04 Twitch Interactive, Inc. Latency reduction for streaming content replacement
US10326814B1 (en) 2017-03-29 2019-06-18 Twitch Interactive, Inc. Provider-requested streaming content replacement
CN106993231B (zh) * 2017-04-01 2020-02-18 锐达互动科技股份有限公司 一种视频选段播放的方法以及系统
US20190069006A1 (en) * 2017-08-29 2019-02-28 Western Digital Technologies, Inc. Seeking in live-transcoded videos
CN108399092B (zh) * 2018-02-27 2021-04-06 北京酷我科技有限公司 一种分段进度条的生成方法
CN109189957B (zh) * 2018-08-30 2022-05-31 维沃移动通信有限公司 一种媒体数据的处理方法及设备
US10820056B2 (en) * 2019-03-13 2020-10-27 Rovi Guides, Inc. Systems and methods for playback of content using progress point information
US10992992B2 (en) 2019-03-13 2021-04-27 ROVl GUIDES, INC. Systems and methods for reconciling playback using progress point information
US20210319230A1 (en) * 2020-04-10 2021-10-14 Gracenote, Inc. Keyframe Extractor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040740A1 (en) 2001-04-03 2008-02-14 Prime Research Alliance E, Inc. Alternative Advertising in Prerecorded Media
US20110110646A1 (en) 2006-06-22 2011-05-12 Smith Kevin P Creating and viewing customized multimedia segments

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1015363C2 (nl) 2000-02-29 2001-08-30 Richard Hendricus Johannes Van Werkwijze en systeem voor het beschikbaar stellen van audio- en/of videobestanden.
US20070300258A1 (en) * 2001-01-29 2007-12-27 O'connor Daniel Methods and systems for providing media assets over a network
US20050005308A1 (en) * 2002-01-29 2005-01-06 Gotuit Video, Inc. Methods and apparatus for recording and replaying sports broadcasts
US8266659B2 (en) 2003-05-16 2012-09-11 Time Warner Cable LLC Technique for collecting data relating to activity of a user receiving entertainment programs through a communications network
US20050185921A1 (en) 2004-02-20 2005-08-25 Dale Skran Systems and methods for enhanced video and audio program editing
US7806329B2 (en) * 2006-10-17 2010-10-05 Google Inc. Targeted video advertising

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080040740A1 (en) 2001-04-03 2008-02-14 Prime Research Alliance E, Inc. Alternative Advertising in Prerecorded Media
US20110110646A1 (en) 2006-06-22 2011-05-12 Smith Kevin P Creating and viewing customized multimedia segments

Also Published As

Publication number Publication date
CN103947216A (zh) 2014-07-23
CN103947216B (zh) 2018-11-09
US20130077940A1 (en) 2013-03-28
EP2745522A1 (en) 2014-06-25
US9794641B2 (en) 2017-10-17
KR20140057407A (ko) 2014-05-12
WO2013043265A1 (en) 2013-03-28
EP2745522A4 (en) 2015-04-29

Similar Documents

Publication Publication Date Title
KR101493034B1 (ko) 비디오 세그먼트 프리젠테이션 추적
US11188603B2 (en) Annotation of videos using aggregated user session data
CN104782138B (zh) 缩略图图像选择系统、方法及计算机可读介质
US8769589B2 (en) System and method to create a media content summary based on viewer annotations
CN107710199B (zh) 用于在内容列表中提供内容的系统和方法
US7930391B1 (en) Method and system for determining viewing time of an online video
US20120304223A1 (en) Ad selection and next video recommendation in a video streaming system exclusive of user identity-based parameter
US11089371B2 (en) Systems and methods for estimating user attention
US20140337147A1 (en) Presentation of Engagment Based Video Advertisement
CN113099246B (zh) 用于流传输内容的网络流量分发
JP2018531468A6 (ja) ユーザの注意を推定するためのシステムおよび方法
US9760631B1 (en) Video segment play-through reporting
US20120330758A1 (en) Segmenting ad inventory by creators, recommenders and their social status
US10846738B1 (en) Engaged view rate analysis
JP2015177526A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
EP4097986A1 (en) User interfaces for refining video group packages
US20170249658A1 (en) Displaying estimation of content viewership
CA3175544A1 (en) Digital video analysis

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180126

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190124

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 6