KR101889220B1 - Method and system for collecting video consumption information using video segment - Google Patents

Method and system for collecting video consumption information using video segment Download PDF

Info

Publication number
KR101889220B1
KR101889220B1 KR1020170045234A KR20170045234A KR101889220B1 KR 101889220 B1 KR101889220 B1 KR 101889220B1 KR 1020170045234 A KR1020170045234 A KR 1020170045234A KR 20170045234 A KR20170045234 A KR 20170045234A KR 101889220 B1 KR101889220 B1 KR 101889220B1
Authority
KR
South Korea
Prior art keywords
video
hash
content
segment
user terminal
Prior art date
Application number
KR1020170045234A
Other languages
Korean (ko)
Inventor
최준균
양진홍
박효진
오현택
안상홍
김민경
김나경
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020170045234A priority Critical patent/KR101889220B1/en
Application granted granted Critical
Publication of KR101889220B1 publication Critical patent/KR101889220B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method and system for collecting video consumption information using a video segment are disclosed. The system implemented by a computer includes at least one processor configured to execute a computer-readable command. The at least one processor includes a hash generation unit for generating a hash table by hashing the segments of video content; a hash storage unit for storing the hash table; and a hash confirming unit for confirming specific video content consumed in a user terminal by comparing a hash value received from the user terminal with the hash table. Accordingly, the video consumption information can be used in various data brokerage technology fields.

Description

비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR COLLECTING VIDEO CONSUMPTION INFORMATION USING VIDEO SEGMENT}[0001] METHOD AND SYSTEM FOR COLLECTING VIDEO CONSUMPTION INFORMATION WITH VIDEO SEGMENTS [0002]

아래의 설명은 MPEG-DASH 및 HLS 환경에서 해시된(hashed) 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 기술에 관한 것이다.The following description relates to a technique for collecting video consumption information using hashed video segments in MPEG-DASH and HLS environments.

멀티미디어 및 통신 기술의 확산으로 휴대용 인터넷 연결 장치 및 인터넷 비디오 스트리밍(video streaming) 시장이 폭발적으로 확대되고 있다.With the proliferation of multimedia and communication technologies, portable Internet connection devices and the Internet video streaming market are exploding.

현재 사용 가능한 미디어 스트리밍 기술은 많이 존재하지만, HLS(HTTP live streaming)와 MPEG(moving picture expert group)-DASH(dynamic adaptive streaming over HTTP)는 HTTP 기반이며 HTTP는 웹용 데이터 통신의 기초이므로, 대부분의 비디오 스트리밍 트래픽은 HLS 및 MPEG-DASH를 통한 동적 적응 스트리밍에서 발생한다.There are many media streaming technologies currently available, but HLS (HTTP live streaming) and MPEG (moving picture expert group) -DASH (dynamic adaptive streaming over HTTP) are HTTP based and HTTP is the basis of data communication for the Web, Streaming traffic occurs in dynamic adaptive streaming through HLS and MPEG-DASH.

상기한 두 기술은 원본 컨텐츠 소스와는 다른 비트 전송률로 일련의 작은 비디오 세그먼트를 만들고 사용자의 요청에 따라 해당 시점의 비디오 정보를 포함하는 각 세그먼트를 제공한다. 동일 컨텐츠를 미리 서로 다른 비트 전송률로 나누어 세그먼트 형태로 준비한 후 이를 각 사용자의 네트워크 및 요청에 맞춰 알맞은 비트 전송률로 스트리밍 하는 방식이다. 이를 통해, 스트리밍 비디오 컨텐츠를 사용하는 사용자 품질 경험을 향상 시킬 수 있어 널리 이용되고 있다.The two techniques create a series of small video segments at a bit rate different from that of the original content source and provide each segment that contains video information at that point in time at the request of the user. The same content is divided into different bit rates in advance and prepared in a segment form and then streamed at an appropriate bit rate according to each user's network and request. This is widely used because it can improve user quality experience using streaming video content.

데이터 시대가 도래함에 따라 데이터는 새로운 자산으로 간주되고 있다. 따라서, 많은 서비스 제공 업체는 소비자에 대한 데이터를 수집하고 분석하기 위해 엄청난 노력과 비용을 지출하고 있다. 일예로 ACR(Automatic Content Recognition)등을 이용해 대다수 스마트 TV 장치에서 사용자의 시청 이력 및 컨텐츠 노출 정보들을 수집해 광고 노출 효과 측정 및 타겟 광고를 위해 사용하고 있다. 이러한 방법에서 볼 수 있듯이 수집 당시에 유용하고 효과적인 방식으로 사용자의 행동 및 소비에 대한 데이터 수집, 소위 소비 정보 측정은 수집된 데이터를 수정하고 분석하는 것만큼이나 중요하다.As the age of the data comes, data is viewed as a new asset. Thus, many service providers spend a great deal of effort and money to collect and analyze data about consumers. For example, most of the smart TV devices use ACR (Automatic Content Recognition) or the like to collect user's viewing history and content exposure information, and use the information to measure advertisement effect and target advertisement. As can be seen in this way, data gathering of user behavior and consumption in a useful and effective way at the time of collection, so-called consumption information measurement, is as important as modifying and analyzing collected data.

소비 정보는 컨텐츠가 어떻게 그리고 누구에 의해 소비되는지를 나타낸다. 이는 각 사용자에게 컨텐츠 소비 패턴 분석 및 바람직한 컨텐츠 제공을 용이하게 함으로써 사용자 경험의 향상에 기여하는 시청자 행동, 소비율, 만족도 평가 및 기타 많은 유용한 기능의 지표를 제공한다. 이에 따라, 비디오 서비스 사업자들은 소비 정보 데이터베이스 구축에 주력하고 있다.Consumption information indicates how content is consumed and by whom. This provides an indication of viewer behavior, consumption rate, satisfaction rating, and many other useful functions that contribute to improving the user experience by facilitating content consumption pattern analysis and providing desirable content to each user. Accordingly, video service providers are focusing on building a consumption information database.

MPEG-DASH 환경에서 해시된 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집할 수 있는 방법 및 시스템을 제공한다.A method and system for collecting video consumption information using hashed video segments in an MPEG-DASH environment.

컴퓨터로 구현되는 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 비디오 컨텐츠의 세그먼트를 해싱하여 해시 테이블을 생성하는 해시 생성부; 상기 해시 테이블을 저장하는 해시 저장부; 및 사용자 단말로부터 수신된 해시 값을 상기 해시 테이블과 비교하여 상기 사용자 단말에서 소비한 특정 비디오 컨텐츠를 확인하는 해시 확인부를 포함하는 시스템을 제공한다.What is claimed is: 1. A computer-implemented system comprising: at least one processor implemented to execute computer-readable instructions, the at least one processor comprising: a hash generator for hashing a segment of video content to generate a hash table; A hash storage unit storing the hash table; And a hash verification unit comparing the hash value received from the user terminal with the hash table to identify specific video contents consumed by the user terminal.

일 측면에 따르면, 컨텐츠 서버가 상기 사용자 단말을 대상으로 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 비디오 스트리밍을 제공하는 환경에서, 상기 해시 생성부는, 상기 컨텐츠 서버로부터 각 비디오 컨텐츠를 세그먼트 단위로 다운로드 받아 상기 해시 테이블을 생성할 수 있다.According to an aspect of the present invention, in an environment in which a content server provides video streaming through HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH) to the user terminal, The hash table can be generated by downloading the contents in units of segments.

다른 측면에 따르면, 상기 적어도 하나의 프로세서는, 컨텐츠 서버로부터 상기 비디오 컨텐츠를 세그먼트 단위로 다운로드 받는 컨텐츠 다운로드부를 더 포함하고, 상기 비디오 컨텐츠의 세그먼트를 임시 저장하고 상기 임시 저장된 세그먼트에 대한 상기 해시 테이블의 생성이 완료되면 삭제할 수 있다.According to another aspect of the present invention, the at least one processor further includes a content downloading unit for downloading the video content segment by segment from the content server, wherein the at least one processor temporarily stores segments of the video content, Once created, you can delete it.

또 다른 측면에 따르면, 상기 해시 생성부는, 상기 비디오 컨텐츠를 제공하는 컨텐츠 서버의 규모를 기반으로 해시의 길이를 결정할 수 있다.According to another aspect of the present invention, the hash generation unit may determine a length of a hash based on a size of a content server providing the video content.

또 다른 측면에 따르면, 상기 해시 생성부는, 상기 비디오 컨텐츠의 세그먼트에 대해 유효성 검사를 수행한 후 상기 해시 테이블을 생성할 수 있다.According to another aspect of the present invention, the hash generation unit may generate the hash table after validating the segment of the video content.

또 다른 측면에 따르면, 상기 적어도 하나의 프로세서는, 상기 사용자 단말로부터 수신된 해시 값에 대해 유효성 검사를 수행하는 해시 검사부를 더 포함할 수 있다.According to another aspect, the at least one processor may further include a hash checker for performing a validation on the hash value received from the user terminal.

또 다른 측면에 따르면, 상기 적어도 하나의 프로세서는, 상기 사용자 단말로부터 비디오 플레이 관련 이벤트, IP 주소, 브라우저 에이전트 정보를 포함하는 사용자 정보를 수집하여 관리하는 클라이언트 식별부를 더 포함할 수 있다.According to another aspect, the at least one processor may further include a client identification unit for collecting and managing user information including a video play related event, an IP address, and browser agent information from the user terminal.

사용자 단말에 있어서, 컨텐츠 서버가 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 상기 사용자 단말로 비디오 스트리밍을 제공하는 환경에서, 상기 사용자 단말은, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 컨텐츠 서버로부터 상기 사용자 단말 상의 웹 브라우저에서 재생할 비디오 컨텐츠의 세그먼트를 다운로드 받고, 상기 다운로드 받은 비디오 컨텐츠의 세그먼트를 해싱하여 해시 값을 생성하고, 상기 생성된 해시 값을 상기 비디오 컨텐츠에 대한 비디오 소비 정보를 수집하는 시스템으로 전달하는 것을 특징으로 하는 사용자 단말을 제공한다.In a user terminal, in an environment where a content server provides video streaming to the user terminal via HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH), the user terminal is configured to execute a computer- Wherein the at least one processor is configured to download a segment of video content to be played in a web browser on the user terminal from the content server and to hash the segment of the downloaded video content to obtain a hash value And transmits the generated hash value to a system for collecting video consumption information for the video contents.

일 측면에 따르면, 상기 시스템 상에는 개별 비디오의 세그먼트 값에 대한 해시 테이블을 포함하고, 상기 생성된 해시 값이 상기 시스템 상의 해시 테이블에 존재하는 경우 상기 비디오 소비 정보에 반영될 수 있다.According to an aspect, the system includes a hash table of segment values of individual video, and may be reflected in the video consumption information if the generated hash value is present in a hash table on the system.

다른 측면에 따르면, 상기 적어도 하나의 프로세서는, 상기 컨텐츠 서버로부터 상기 비디오 컨텐츠의 플레이리스트를 다운로드 받고, 상기 플레이리스트에 따라 상기 컨텐츠 서버로 상기 비디오 컨텐츠의 세그먼트를 요청할 수 있다.According to another aspect, the at least one processor may download a playlist of the video content from the content server and request a segment of the video content to the content server according to the playlist.

컴퓨터로 구현되는 방법에 있어서, 상기 방법은, 컨텐츠 서버가 사용자 단말을 대상으로 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 비디오 스트리밍을 제공하는 환경에서, 상기 컨텐츠 서버로부터 비디오 컨텐츠를 세그먼트 단위로 다운로드 받는 단계; 상기 비디오 컨텐츠의 세그먼트를 해싱하여 해시 테이블을 생성하는 단계; 및 상기 사용자 단말로부터 수신된 해시 값을 상기 해시 테이블과 비교하여 상기 사용자 단말에서 소비한 비디오 컨텐츠를 확인하는 단계를 포함하는 방법을 제공한다.A computer-implemented method, comprising: in an environment in which a content server provides video streaming over HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH) to a user terminal, Downloading the content segment by segment; Generating a hash table by hashing the segment of the video content; And comparing the hash value received from the user terminal with the hash table to identify the video contents consumed by the user terminal.

일 측면에 따르면, 상기 확인하는 단계는, 상기 사용자 단말로부터 수신된 해시 값이 상기 해시 테이블에 존재하는 경우 상기 비디오 컨텐츠에 대한 비디오 소비 정보를 업데이트 할 수 있다.According to an aspect, the verifying step may update video consumption information for the video content if a hash value received from the user terminal is present in the hash table.

사용자 단말에서 수행되는 방법에 있어서, 상기 방법은, 컨텐츠 서버가 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 상기 사용자 단말로 비디오 스트리밍을 제공하는 환경에서, 상기 컨텐츠 서버로부터 상기 사용자 단말 상의 웹 브라우저에서 재생할 비디오 컨텐츠의 세그먼트를 다운로드 받는 단계; 상기 다운로드 받은 비디오 컨텐츠의 세그먼트를 해싱하여 해시 값을 생성하는 단계; 및 상기 생성된 해시 값을 상기 비디오 컨텐츠에 대한 비디오 소비 정보를 수집하는 시스템으로 전달하는 단계를 포함하는 방법을 제공한다.A method for performing a method in a user terminal, the method comprising the steps of: in an environment in which a content server provides video streaming to a user terminal through HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH) Downloading a segment of video content to be played in a web browser on the user terminal; Generating a hash value by hashing a segment of the downloaded video content; And delivering the generated hash value to a system for collecting video consumption information for the video content.

일 측면에 따르면, 상기 방법은, 상기 컨텐츠 서버로부터 상기 비디오 컨텐츠의 플레이리스트를 다운로드 받는 단계; 및 상기 플레이리스트에 따라 상기 컨텐츠 서버로 상기 비디오 컨텐츠의 세그먼트를 요청하는 단계를 더 포함할 수 있다.According to an aspect, the method includes downloading a playlist of the video content from the content server; And requesting a segment of the video content to the content server according to the play list.

다른 측면에 따르면, 상기 시스템 상에는 개별 비디오의 세그먼트 값에 대한 해시 테이블을 포함하고, 상기 생성된 해시 값이 상기 시스템 상의 해시 테이블에 존재하는 경우 상기 비디오 소비 정보에 반영될 수 있다.According to another aspect, the system includes a hash table for the segment value of the individual video, and may be reflected in the video consumption information if the generated hash value is present in the hash table on the system.

본 발명의 실시예들에 따르면, 사용자의 단말 환경에서 HTTP 기반으로 제공되는 비디오 스트림의 세그먼트 정보를 분석함으로써 사용자가 어떠한 비디오 컨텐츠를 소비하는지에 대한 정보를 수집할 수 있고, 더 나아가 이러한 비디오 소비 정보를 이미지 기반 시청 정보 분석 등 다양한 데이터 중개 기술 분야에서 활용할 수 있다.According to embodiments of the present invention, segment information of a video stream provided on the basis of HTTP is analyzed in a terminal environment of a user, so that information on which video content the user consumes can be collected. Further, Can be utilized in various data mediation technologies such as image-based viewing information analysis.

도 1은 일반적인 비디오 스트리밍 구조를 도시한 것이다.
도 2는 비디오 스트리밍 과정에서 비디오 세그먼트를 수신하여 영상을 재생하는 과정을 설명하기 위한 예시 도면이다.
도 3은 본 발명의 일 실시예에 있어서 비디오 소비 정보를 수집하기 위한 시스템의 주요 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 있어서 비디오 소비 정보를 수집하기 위한 전체 시스템 구성을 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 있어서 해시 생성 기능을 가진 플레이어 구조를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 있어서 플레이어의 해시 생성 과정을 도시한 순서도이다.
도 7은 본 발명의 일 실시예에 있어서 비디오 소비 정보 수집을 위한 해시 확인 과정을 도시한 순서도이다.
1 shows a general video streaming structure.
2 is an exemplary diagram illustrating a process of receiving a video segment and reproducing an image in a video streaming process.
3 is a diagram for explaining a main concept of a system for collecting video consumption information in an embodiment of the present invention.
4 is a block diagram illustrating an overall system configuration for collecting video consumption information in one embodiment of the present invention.
5 is a block diagram showing a player structure having a hash generation function in an embodiment of the present invention.
6 is a flowchart illustrating a hash generation process of a player in an embodiment of the present invention.
7 is a flowchart illustrating a hash verification process for collecting video consumption information according to an exemplary embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

비디오 스트리밍은 현재 다양한 방식을 통해 이루어지나, 대다수의 사업자들이 HTTP 환경에 최적화 된 HLS 또는 DASH 방식을 사용하고 있다. 이러한 사업자의 비디오 스트림 제공 방식은 원본 비디오 컨텐츠를 개별 분할(chunk) 단위로 잘라 저장한 후 이를 사용자의 요청(HTTP Get)에 따라 제공하는 방식이다. 다시 말해, 원본 비디오 컨텐츠는 최초 서비스를 위해 세그먼트 형태로 분할된 후 개별 사용자의 요청에 대해 분할된 컨텐츠가 사용자들에게 각각 제공되는 방식을 따른다.Video streaming is currently done in a variety of ways, but most operators are using HLS or DASH, which is optimized for HTTP. Such a provider's method of providing a video stream is a method of cutting and storing the original video contents in units of individual chunks, and providing the same in response to a user's request (HTTP Get). In other words, the original video content follows the manner in which the divided content is provided to the users for each user's request after being segmented for the initial service.

도 1은 일반적인 비디오 스트리밍 구조를 도시한 것이다.1 shows a general video streaming structure.

도 1을 참조하면, 일반적인 비디오 스트리밍(HLS/DASH)의 경우 컨텐츠 서버(10) 상에 비디오 스트림을 위한 분할된(segmented) 파일들의 정보인 플레이리스트(content playlist)와, 실제 컨텐츠의 영상 정보를 담고 있는 비디오 컨텐츠(segmented video content)로 구성될 수 있다.Referring to FIG. 1, in the case of general video streaming (HLS / DASH), a play list (content playlist), which is information of segmented files for a video stream on the content server 10, And may be composed of segmented video content.

사용자의 요청은 웹 브라우저(30) 상의 플레이어를 통해 이루어지게 되며, 캐시 서버(20)는 빠른 컨텐츠 서비스를 위해 컨텐츠 서버(10)와 사용자 측의 웹 브라우저(30) 사이에 위치하게 된다.The user's request is made through the player on the web browser 30 and the cache server 20 is positioned between the content server 10 and the web browser 30 on the user side for fast content service.

상기한 비디오 스트리밍 구조에서는 사용자의 컨텐츠 소비와 관련하여 컨텐츠 서버(10)와 캐시 서버(20) 상에서 관련 정보 수집이 가능하다.In the above-described video streaming structure, related information can be collected on the content server 10 and the cache server 20 in association with user's content consumption.

비디오 컨텐츠를 중심으로 보면, DASH 또는 HLS 형태로 비디오 스트리밍을 소비하는 개별 사용자 각각은 모두 동일한 비디오 세그먼트를 수신하여 영상을 재생한다. 도 2에 도시한 바와 같이, 비디오 컨텐츠는 분할된 후 변경 없이 지속적으로 사용되기 때문에 해당 분할된 파일이 어떠한 비디오 컨텐츠에 속하는지를 알 수 있으면 사용자가 어떠한 컨텐츠를 재생했는지에 대해서 단말 측에서 확인 가능하다.Focusing on video content, each individual user who consumes video streaming in the DASH or HLS format receives the same video segment and plays back the video. As shown in FIG. 2, since the video content is continuously used without being changed after being divided, if it is known which video content the divided file belongs to, it can be confirmed from the terminal side what content the user has reproduced .

사용자의 단말 환경에서 HTTP 기반으로 제공되는 비디오 스트림의 세그먼트 정보를 분석하여 사용자가 어떠한 컨텐츠를 시청하는지에 대한 정보를 분석할 수 있다.It is possible to analyze segment information of a video stream provided on the basis of HTTP in a user's terminal environment and analyze information about what content the user views.

도 3을 참조하면, 비디오 소비 정보 중개 시스템(100)은 컨텐츠 서버(10)에서 제공하는 원본 컨텐츠 비디오의 세그먼트 값을 기반으로 해시 테이블(hash table)을 생성할 수 있다. 이에, 비디오 소비 정보 중개 시스템(100)은 사용자 단말 측의 웹 브라우저(30)에서 세그먼트 정보를 수신하여 수신된 세그먼트를 해시한 후 앞서 생성된 해시 테이블과 비교함으로써 사용자가 어떠한 컨텐츠를 시청하는지 판단할 수 있다.Referring to FIG. 3, the video consumption information mediation system 100 may generate a hash table based on the segment value of the original content video provided by the content server 10. Accordingly, the video consumption information mediating system 100 receives the segment information from the web browser 30 on the user terminal side, hashes the received segment, and compares the received segment with the hash table generated in advance, thereby determining what content the user views .

비디오 소비 정보 중개 시스템(100), 컨텐츠 서버(10), 웹 브라우저(30)가 포함된 사용자 단말 각각은 내부 구성요소로서 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 컴퓨팅 구성 요소에 해당되는 것으로 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다.Each of the user terminals including the video consumption information mediation system 100, the content server 10, and the web browser 30 may include one or more processors as internal components. A processor may include or be part of any device that is capable of processing a sequence of instructions as being a computing component.

이하에서는 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of a method and system for collecting video consumption information using a video segment will be described.

도 4는 본 발명의 일 실시예에 있어서 비디오 소비 정보를 수집하기 위한 전체 시스템 구성을 도시한 블록도이다.4 is a block diagram illustrating an overall system configuration for collecting video consumption information in one embodiment of the present invention.

도 4에 도시한 바와 같이, 비디오 소비 정보 중개 시스템(100)은 비디오 수집부(video aggegrator)(110), 비디오 정보 서버(video information server)(120), 및 클라이언트 해시 수신부(client hash receiver)(130)를 포함할 수 있다.4, the video consumption information mediation system 100 includes a video agggator 110, a video information server 120, and a client hash receiver (not shown) 130).

먼저, 비디오 수집부(110)의 구체적인 구성과 동작은 다음과 같다.First, the specific configuration and operation of the video collecting unit 110 are as follows.

비디오 수집부(110)는 컨텐츠 서버(10)와 같은 OVP(online video provider)로부터 비디오 컨텐츠를 수집하여 개별 비디오 컨텐츠 정보와 분할된 컨텐츠의 해시 테이블을 생성하는 역할을 수행한다. 컨텐츠 수집(content aggregation) 및 해시에 따른 부하를 분산하기 위해 병렬 형태의 시스템으로 구성될 수 있다.The video collecting unit 110 collects video content from an online video provider (OVP) such as the content server 10, and generates individual video content information and a hash table of the divided content. It can be configured as a parallel type system to distribute the load according to content aggregation and hash.

상세하게, 비디오 수집부(110)는 비디오 다운로드부(video downloader)(111), 비디오 임시 저장부(video temporary storage)(112), 비디오 정보 분석부(video information parser)(113), 및 해시 생성부(hash generator)(114)를 포함할 수 있다.In detail, the video collecting unit 110 includes a video downloader 111, a video temporary storage 112, a video information parser 113, A hash generator 114 may be included.

비디오 다운로드부(111)는 OVP로부터 비디오 컨텐츠를 물리적인 세그먼트(chunk) 단위로 다운로드 하는 역할을 담당한다. 이때, 비디오 다운로드부(111)는 각 프로토콜의 특성에 따른 플레이리스트 형식을 지원하기 위해 DASH의 경우 MPD 기반의 플레이리스트를, HLS의 경우 m3u8 기반의 플레이리스트를 읽어 들일 수 있어야 한다. 그리고, 비디오 다운로드부(111)는 개별 컨텐츠에 대해 적응 스트리밍(adaptive streaming)과 같이 다양한 해상도를 지원하는 경우 개별 비트레이트(bitrate)에 대한 모든 세그먼트를 다운로드 할 수 있다.The video download unit 111 plays a role of downloading video content from the OVP in units of physical segments (chunks). At this time, the video downloading unit 111 must be able to read the MPL-based play list in case of DASH and the m3u8-based play list in case of HLS in order to support the play list format according to the characteristics of each protocol. If the video download unit 111 supports various resolutions such as adaptive streaming for individual contents, the video download unit 111 may download all segments for individual bitrates.

비디오 임시 저장부(112)는 비디오 다운로드부(111)가 다운로드 한 세그먼트를 임시 저장하는 역할을 수행하며, 다운로드 된 컨텐츠는 해시 생성을 끝낸 이후에는 삭제될 수 있다.The video temporary storage unit 112 temporarily stores the segment downloaded by the video download unit 111. The downloaded content can be deleted after the hash generation is completed.

비디오 정보 분석부(113)는 OVP가 웹 사이트(web site)나 메타데이터(metadata) 형태로 노출한 컨텐츠의 정보를 읽어 들이는 역할을 한다. OVP가 해당 정보를 직접 제공하는 경우, 비디오 정보 분석부(113)는 메타데이터 매핑(Metadata mapping)을 통해 필요한 컨텐츠 정보를 추출할 수 있다. 한편, OVP가 해당 정보를 직접 제공하지 않는 경우 비디오 정보 분석부(113)는 웹 페이지 내용을 파싱(parsing)하여 필요한 정보를 추출할 수 있다.The video information analyzing unit 113 reads the information of the content that the OVP exposes in the form of a web site or metadata. When the OVP provides the corresponding information directly, the video information analysis unit 113 can extract necessary content information through metadata mapping. On the other hand, when the OVP does not directly provide the corresponding information, the video information analyzing unit 113 can extract necessary information by parsing the contents of the web page.

해시 생성부(114)는 수집된 비디오 세그먼트에 대하여 해시 값을 생성한다. 해시 생성부(114)는 해당 사이트의 규모(방문자수, 또는 컨텐츠 수) 등을 기반으로 하여 해시의 길이를 조절할 수 있으며, 해시 생성을 위한 알고리즘을 선택적으로 적용할 수 있다. 해시 생성에 이용되는 알고리즘으로는 SHA-256, SHA-384, SHA-512 등이 사용될 수 있다.The hash generation unit 114 generates a hash value for the collected video segment. The hash generation unit 114 may adjust the length of the hash based on the size of the site (the number of visitors or the number of contents), and may selectively apply an algorithm for generating the hash. SHA-256, SHA-384, SHA-512, etc. may be used as the algorithm used for hash generation.

다음으로, 비디오 정보 서버(120)의 구체적인 구성과 동작은 다음과 같다.The specific configuration and operation of the video information server 120 will now be described.

비디오 정보 서버(120)는 OVP로부터 수집한 비디오 정보 및 개별 비디오의 세그먼트 값에 대한 해시 테이블을 저장 및 관리하는 역할을 한다. 그리고, 비디오 정보 서버(120)는 정교한 비디오 정보 생성을 위해 오픈 API 기반의 외부 데이터 중개자(data broker)(40)와의 연계 기능을 제공할 수 있으며, 사용자들의 비디오 재생 관련 수집된 정보를 외부 데이터 중개자(40)에게 전달하기 위한 기능을 제공할 수 있다.The video information server 120 stores and manages the hash table of the segment values of the video information and the individual video collected from the OVP. In addition, the video information server 120 may provide an association function with an external API-based external data broker 40 for generating sophisticated video information, and may transmit the collected information related to video playback of users to an external data intermediary (40). ≪ / RTI >

상세하게, 비디오 정보 서버(120)는 오픈 API 연결부(open API connector)(121), 비디오 정보 관리부(video information manager)(122), 클라이언트 정보 관리부(client information manager)(123), 해시 관리부(hash manager)(124), 및 해시 저장부(hash storage)(125)를 포함할 수 있다.In detail, the video information server 120 includes an open API connector 121, a video information manager 122, a client information manager 123, a hash a manager 124, and a hash storage 125.

오픈 API 연결부(121)는 수집된 비디오 컨텐츠 재생 정보를 외부로 제공하기 위한 API 기능을 제공할 수 있다. 그리고, 오픈 API 연결부(121)는 외부 데이터 중개자(40)(예컨대, IMBD, OVP의 Open API 등)를 통해 비디오 컨텐츠의 정보를 보완하기 위한 API를 제공할 수 있다.The open API connection unit 121 may provide an API function for externally providing the collected video content playback information. The open API connection unit 121 may provide an API for supplementing the information of the video content through the external data intermediary 40 (e.g., IMBD, Open API of OVP, etc.).

비디오 정보 관리부(122)는 비디오 컨텐츠에 대한 정보를 관리하며, 메타데이터를 이용하여 동일 비디오에 대한 개별 세그먼트 정보의 유사성을 판단하는 기능을 제공할 수 있다. 그리고, 비디오 정보 관리부(122)는 비디오 수집부(110)로부터 수집된 비디오 컨텐츠의 메타데이터 이외에도 외부 데이터 중개자(40)를 통한 정보를 추가적으로 연계해 컨텐츠 관련 메타데이터 정보를 업데이트할 수 있다.The video information management unit 122 manages information on video contents and can provide a function of determining the similarity of individual segment information to the same video using the metadata. The video information management unit 122 may update the content-related metadata information by additionally linking the information via the external data intermediary 40, in addition to the metadata of the video content collected from the video collection unit 110. [

클라이언트 정보 관리부(123)는 플레이어가 이용된 단말의 정보를 수집 및 관리하는 기능을 제공할 수 있다. 이때, 클라이언트 정보 관리부(123)는 설정에 따라 해시 값이 올라오는 브라우저 에이전트 정보(browser agent information), IP 주소 등의 정보 및 추가적인 플레이어 관련 이벤트 정보(예컨대, 재생 시간, 재생 구간 등)를 수집할 수 있다.The client information management unit 123 may provide a function of collecting and managing information of a terminal used by a player. At this time, the client information management unit 123 collects browser agent information, IP address information, and additional player-related event information (for example, playback time, playback interval, etc.) .

해시 관리부(124)는 비디오 컨텐츠의 세그먼트 정보에 대한 해시를 관리하는 기능을 제공할 수 있다. 이때, 해시 정보는 대상 OVP의 규모 및 컨텐츠량에 따라 결정될 수 있다.The hash management unit 124 may provide a function of managing the hash of the segment information of the video content. At this time, the hash information can be determined according to the scale of the target OVP and the content amount.

해시 저장부(125)는 각 비디오 별 세그먼트 정보를 해시한 값을 저장하기 위한 저장소 역할을 한다.The hash storage unit 125 serves as a storage for storing hash values of segment information for each video.

다음으로, 클라이언트 해시 수신부(130)의 구체적인 구성과 동작은 다음과 같다.The specific configuration and operation of the client hash receiver 130 will now be described.

클라이언트 해시 수신부(130)는 사용자 플레이어 별로 해시 정보를 수신하여 컨텐츠 소비 정보를 수집하는 기능을 제공하는 모듈이다.The client hash receiver 130 is a module for providing hash information for each user player and collecting content consumption information.

상세하게, 클라이언트 해시 수신부(130)는 클라이언트 식별부(client identifier)(131), 해시 확인부(hash checker)(132), 및 해시 검사부(hash validator)(133)를 포함할 수 있다.In detail, the client hash receiver 130 may include a client identifier 131, a hash checker 132, and a hash validator 133.

클라이언트 식별부(131)는 클라이언트로부터 추가적인 정보를 수집하게 되는 경우(Opt -in/out 모든 케이스 포함) 해당 정보를 사용자 별로 관리하기 위한 기능을 제공할 수 있다. 이때, 클라이언트 식별부(131)에서 수집 가능한 정보는 비디오 플레이 관련 이벤트(예컨대, 재생, Stop, Skip 등), IP 주소, 브라우저 에이전트 정보(browser agent information) 등이 포함될 수 있다.The client identification unit 131 may provide a function for managing the information for each user when collecting additional information from the client (including Opt-in / out all cases). At this time, the information that can be collected by the client identification unit 131 may include video play related events (e.g., playback, stop, skip, etc.), IP address, browser agent information, and the like.

해시 확인부(132)는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 비디오 정보 서버(120) 상에 존재하는지를 비교하고 존재하는 경우 해당 컨텐츠의 시청 값(즉, 소비 정보)에 반영하는 역할을 수행할 수 있다.The hash verification unit 132 compares whether the hash value received from the user via the web browser 30 exists on the video information server 120 and reflects the hash value in the view value (i.e., consumption information) Can play a role.

해시 검사부(133)는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 유효한지 여부를 판단하기 위한 역할을 수행할 수 있다.The hash check unit 133 may be operable to determine whether the hash value received from the user via the web browser 30 is valid.

따라서, 비디오 소비 정보 중개 시스템(100)은 원본 비디오 컨텐츠의 세그먼트를 해시하여 해시 테이블을 생성하고, 이후 사용자 단말의 해시 값을 해시 테이블과 비교하여 사용자가 어떠한 컨텐츠를 재생하는지를 확인할 수 있다.Accordingly, the video consumption information mediating system 100 can generate a hash table by hashing the segment of the original video contents, and then compare the hash value of the user terminal with the hash table to check what content the user plays.

도 5는 본 발명의 일 실시예에 있어서 해시 생성 기능을 가진 플레이어 구조를 도시한 블록도이고, 도 6은 본 발명의 일 실시예에 있어서 플레이어의 해시 생성 과정을 도시한 순서도이다.FIG. 5 is a block diagram illustrating a player structure having a hash generation function in an embodiment of the present invention, and FIG. 6 is a flowchart illustrating a hash generation process of a player in an embodiment of the present invention.

도 5를 참조하면, 웹 브라우저(30) 상의 플레이어는 해시 생성 기능을 수행하기 위한 구성 요소로서 플레이리스트 분석부(playlist parser)(31), 및 해시 생성부(hash generator)(32)를 포함할 수 있다.5, a player on the web browser 30 includes a playlist parser 31 and a hash generator 32 as components for performing a hash generation function .

도 6을 참조하면, 웹 브라우저(30) 상의 플레이어는 단말의 사용자 또는 임의의 프로그램에 의한 재생 요청에 따라 실행될 수 있다(S601). 이때, 플레이어는 컨텐츠 서버(10)로 비디오의 플레이리스트를 요청할 수 있다.Referring to FIG. 6, a player on the web browser 30 can be executed according to a playback request by a user of the terminal or a program (S601). At this time, the player can request a play list of video to the content server 10.

플레이어는 컨텐츠 서버(10)로부터 해당 비디오의 플레이리스트를 다운로드 받을 수 있다(S602). 이때, 플레이어는 각 프로토콜의 특성에 따라, 예를 들어 DASH의 경우 MPD 기반의 플레이리스트를, HLS의 경우 m3u8 기반의 플레이리스트를 다운로드 받을 수 있다.The player can download the playlist of the video from the content server 10 (S602). At this time, the player can download the MPL-based play list for DASH and the m3u8-based play list for HLS according to the characteristics of each protocol.

플레이어의 플레이리스트 분석부(31)는 컨텐츠 서버(10)로부터 다운로드 된 플레이리스트를 분석하는 것으로, 해당 비디오의 세그먼트 정보를 담고 있는 플레이리스트를 분석할 수 있다(S603). 플레이어는 플레이리스트의 세그먼트 정보에 따라 비디오 퀄리티(quality)를 설정할 수 있다.The play list analyzing unit 31 of the player analyzes the play list downloaded from the content server 10 and analyzes the play list containing the segment information of the video (S603). The player can set the video quality according to the segment information of the play list.

플레이어는 재생할 비디오 세그먼트를 컨텐츠 서버(10)로 요청할 수 있고(S604), 이에 HTTP 클라이언트를 통해 컨텐츠 서버(10)로부터 해당 비디오 세그먼트를 다운로드 받을 수 있다(S605).The player can request the video segment to be played back to the content server 10 (S604), and the corresponding video segment can be downloaded from the content server 10 through the HTTP client (S605).

플레이어는 비디오 세그먼트에 대한 유효성 검사(validation)를 수행할 수 있다(S606). 다시 말해, 플레이어는 컨텐츠 서버(10)로부터 다운로드 받은 비디오 세그먼트의 정상 유무를 판단할 수 있다. 예를 들어, 유효성 확인은 데이터 오류 검출 방법(CRC, cyclical redundancy check) 등을 이용할 수 있다.The player may perform validation on the video segment (S606). In other words, the player can judge whether the video segment downloaded from the content server 10 is normal or not. For example, validation can use a CRC (cyclic redundancy check) or the like.

플레이어는 유효한 비디오 세그먼트에 대해 해시 생성부(32)를 호출할 수 있다(S607). 즉, 플레이어는 컨텐츠 서버(10)로부터 다운로드 받은 비디오 세그먼트의 정보를 해시 생성부(32)로 전달할 수 있다.The player can call the hash generating unit 32 for a valid video segment (S607). That is, the player can transmit the information of the video segment downloaded from the content server 10 to the hash generation unit 32.

플레이어의 해시 생성부(32)는 컨텐츠 서버(10)로부터 다운로드 받은 비디오 세그먼트를 읽어 들여 해당 세그먼트를 해싱함으로써 해싱 값을 생성할 수 있다(S608).The hash generating unit 32 of the player can generate a hashing value by reading the downloaded video segment from the content server 10 and hashing the corresponding segment (S608).

해시 생성부(32)는 비디오 세그먼트에 대해 생성된 해싱 값을 클라이언트 해시 수신부(130)로 전달할 수 있다(S609).The hash generation unit 32 may transmit the hash value generated for the video segment to the client hash reception unit 130 (S609).

플레이어는 중단 알림(stop notification) 수신 혹은 사용자에 의한 중단/종료 요청에 따라 실행이 종료될 수 있다(S610). 이때, 플레이어는 해시 값 확인을 통한 컨텐츠 인식 시 해시 생성부(32)로 추가적인 해시 정보 생성 종료를 요청할 수 있다. 그리고, 플레이어는 단말의 사용자 요청이나 임의의 프로그램 또는 플레이리스트의 최종 파일 요청에 따라 재생을 종료할 수 있다.The player may terminate the execution according to a stop notification reception or a stop / end request by the user (S610). At this time, the player can request the hash generation unit 32 to end the generation of the additional hash information when the content is recognized by checking the hash value. Then, the player can terminate the reproduction in response to a user request of the terminal or an end file request of an arbitrary program or a play list.

도 7은 본 발명의 일 실시예에 있어서 비디오 소비 정보 수집을 위한 해시 확인 과정을 도시한 순서도이다. 도 7의 해시 확인 과정은 비디오 소비 정보 중개 시스템(100)의 구성요소인 해시 확인부(132)에 의해 실행될 수 있다.7 is a flowchart illustrating a hash verification process for collecting video consumption information according to an exemplary embodiment of the present invention. The hash verification process of FIG. 7 may be executed by the hash verification unit 132, which is a component of the video consumption information intermediary system 100. [

단계(S701)에서 해시 확인부(132)는 클라이언트, 즉 웹 브라우저(30) 상의 플레이어로부터 비디오 세그먼트에 대한 해시 정보를 수신할 수 있다. 다시 말해, 해시 확인부(132)는 웹 브라우저(30)에서 재생되는 비디오 세그먼트의 해시 값을 수신할 수 있다. 아울러, 해시 확인부(132)는 클라이언트로부터 수신된 HTTP 기반 정보(예컨대, IP 주소 등)를 수집할 수 있다.In step S701, the hash verification unit 132 may receive the hash information for the video segment from the client, that is, the player on the web browser 30. [ In other words, the hash verification unit 132 may receive the hash value of the video segment being reproduced in the web browser 30. In addition, the hash verification unit 132 may collect HTTP-based information (e.g., IP address, etc.) received from the client.

단계(S702)에서 해시 확인부(132)는 클라이언트로부터 수신된 해시 값에 대한 유효성 검사를 수행할 수 있다. 해시의 유효성 검사를 위한 방법으로는 MD5, SHA1, SHA-224, SHA-256, SHA-384, SHA-512 등이 사용될 수 있다In step S702, the hash verification unit 132 may perform a validity check on the hash value received from the client. MD5, SHA1, SHA-224, SHA-256, SHA-384, SHA-512, etc. may be used for the validation of the hash

단계(S703)에서 해시 확인부(132)는 비디오 정보 서버(120) 상의 해시 저장부(125)에 기 저장된 해시 값을 이용하여 클라이언트로부터 수신된 해시 값이 어떠한 비디오에 해당하는지를 확인할 수 있다.In step S703, the hash verification unit 132 may check which video the hash value received from the client corresponds to, using the hash value stored in the hash storage unit 125 on the video information server 120. [

단계(S704)에서 해시 확인부(132)는 단계(S703)의 해시 확인 과정을 통해 클라이언트로부터 수신된 해시 값이 기 저장된 해시 값과 매칭된 경우 해당 비디오에 대한 소비 정보를 업데이트 할 수 있다.In step S704, the hash verification unit 132 may update the consumption information on the corresponding video if the hash value received from the client matches the hash value stored in advance through the hash verification process of step S703.

단계(S705)에서 해시 확인부(132)는 클라이언트로부터 수신된 HTTP 기반 정보(예컨대, IP 주소 등)를 기반으로 해당 비디오를 소비한 사용자 정보를 업데이트 할 수 있다.In step S705, the hash verification unit 132 may update the user information that consumes the video based on the HTTP-based information (e.g., IP address, etc.) received from the client.

단계(S706)에서 해시 확인부(132)는 해시 생성 과정의 중지 또는 주기(interval)에 대한 알림을 제공할 수 있다. 즉, 해시 확인부(132)는 클라이언트 단말의 해시 생성 여부에 대한 알림을 제공할 수 있다.In step S706, the hash verification unit 132 may provide a notification of the suspension or interval of the hash generation process. That is, the hash verification unit 132 may provide a notification as to whether or not to generate the hash of the client terminal.

따라서, 클라이언트 해시 수신부(130)에서는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 비디오 정보 서버(120) 상에 존재하는지를 비교하고 존재하는 경우 해당 비디오 컨텐츠에 대한 소비 정보에 반영할 수 있다. 비디오 소비 정보는 사용자의 컨텐츠 소비 패턴 분석이나 바람직한 컨텐츠 제공을 용이하게 하기 위해 시청자 측정, 시청자 행동, 소비율, 만족도 등의 평가 지표로 활용될 수 있다.Accordingly, the client hash receiver 130 compares whether the hash value received from the user through the web browser 30 exists on the video information server 120, and reflects the hash value in the consumption information for the corresponding video content if it exists . The video consumption information can be utilized as an evaluation index for viewer measurement, viewer behavior, consumption rate, satisfaction, etc. in order to facilitate the content consumption pattern analysis or the provision of desirable contents of the user.

이처럼 본 발명의 실시예들에 따르면, 사용자의 단말 환경에서 HTTP 기반으로 제공되는 비디오 스트림의 세그먼트 정보를 분석함으로써 사용자가 어떠한 비디오 컨텐츠를 소비하는지에 대한 정보를 수집할 수 있고, 더 나아가 이러한 비디오 소비 정보를 이미지 기반 시청 정보 분석 등 다양한 데이터 중개 기술 분야에서 활용할 수 있다.As described above, according to embodiments of the present invention, by analyzing segment information of a video stream provided on the basis of HTTP in a terminal environment of a user, it is possible to collect information on which video content the user consumes, Information can be utilized in various data intermediation technologies such as image-based viewing information analysis.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be embodied in any type of machine, component, physical device, computer storage media, or device for interpretation by a processing device or to provide instructions or data to the processing device have. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. At this time, the medium may be a program that continuously stores a computer executable program, or temporarily stores the program for execution or downloading. Further, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to any computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium that is managed by a site or a server that supplies or distributes an application store or various other software is also enumerated.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (15)

컴퓨터로 구현되는 시스템에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
컨텐츠 서버가 사용자 단말을 대상으로 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 비디오 스트리밍을 제공하는 환경에서,
상기 적어도 하나의 프로세서는,
상기 컨텐츠 서버로부터 비디오 컨텐츠를 세그먼트 단위로 다운로드 받는 컨텐츠 다운로드부;
상기 비디오 컨텐츠의 세그먼트를 해싱하여 해시 테이블을 생성하는 해시 생성부;
상기 해시 테이블을 저장하는 해시 저장부; 및
상기 사용자 단말로부터 수신된 해시 값을 상기 해시 테이블과 비교하여 상기 사용자 단말에서 소비한 특정 비디오 컨텐츠를 확인하는 해시 확인부
를 포함하고,
상기 컨텐츠 다운로드부는,
각 프로토콜의 특성에 따른 플레이리스트 형식을 지원하기 위해 HLS의 경우 m3u8 기반의 플레이리스트를, DASH의 경우 MPD 형식의 플레이리스트를 읽어 들이고,
상기 컨텐츠 서버로부터 상기 비디오 컨텐츠에 대해 상기 컨텐츠 서버에서 지원하는 비트레이트 별 세그먼트를 다운로드하고,
상기 해시 생성부는,
상기 컨텐츠 서버로부터 각 비디오 컨텐츠를 세그먼트 단위로 다운로드 받아 상기 해시 테이블을 생성하되,
상기 다운로드 받은 세그먼트를 임시 저장하고 상기 임시 저장된 세그먼트에 대한 상기 해시 테이블의 생성이 완료되면 삭제하고,
상기 컨텐츠 서버에 해당되는 웹 사이트의 방문자 수 또는 컨텐츠 수를 기반으로 해시의 길이를 결정하고,
상기 해시 확인부는,
상기 사용자 단말로부터 상기 사용자 단말의 웹 브라우저에서 재생되는 비디오 세그먼트의 해시 값과 아울러 상기 사용자 단말의 HTTP 기반 정보를 수신하고,
상기 사용자 단말로부터 수신된 해시 값이 상기 해시 테이블에 존재하는 경우 상기 비디오 컨텐츠에 대한 비디오 소비 정보를 업데이트하고,
상기 사용자 단말로부터 수신된 HTTP 기반 정보를 기반으로 상기 비디오 컨텐츠를 소비한 사용자 정보를 업데이트하고,
상기 비디오 소비 정보는 컨텐츠 소비 패턴 분석이나 컨텐츠 제공을 위한 평가 지표로 이용되는 것
을 특징으로 하는 시스템.
In a computer implemented system,
At least one processor configured to execute computer readable instructions,
Lt; / RTI >
In an environment in which a content server provides video streaming through HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH) to a user terminal,
Wherein the at least one processor comprises:
A content downloading unit for downloading video content from the content server on a segment basis;
A hash generation unit for hashing a segment of the video content to generate a hash table;
A hash storage unit storing the hash table; And
A hash value confirmation unit for comparing the hash value received from the user terminal with the hash table to identify the specific video contents consumed by the user terminal,
Lt; / RTI >
The content downloading unit,
In order to support the play list format according to the characteristics of each protocol, a play list based on m3u8 is read in the case of HLS, a play list in MPD format is read in the case of DASH,
Downloading, by the content server, the segment according to the bit rate supported by the content server with respect to the video content,
Wherein the hash-
Wherein the hash table is generated by downloading each video content from the content server on a segment basis,
Temporarily storing the downloaded segment, deleting the downloaded segment when the generation of the hash table for the temporarily stored segment is completed,
Determines the length of the hash based on the number of visitors or the number of contents of the web site corresponding to the content server,
The hash-
Receiving a hash value of a video segment reproduced in the web browser of the user terminal from the user terminal and HTTP-based information of the user terminal,
Updating video consumption information for the video content if a hash value received from the user terminal exists in the hash table,
Updating the user information that consumed the video content based on the HTTP-based information received from the user terminal,
The video consumption information is used as an evaluation index for content consumption pattern analysis or content provision
Lt; / RTI >
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 해시 생성부는,
상기 비디오 컨텐츠의 세그먼트에 대해 유효성 검사를 수행한 후 상기 해시 테이블을 생성하는 것
을 특징으로 하는 시스템.
The method according to claim 1,
Wherein the hash-
Generating a hash table after validating the segment of the video content
Lt; / RTI >
제1항에 있어서,
상기 적어도 하나의 프로세서는,
상기 사용자 단말로부터 수신된 해시 값에 대해 유효성 검사를 수행하는 해시 검사부
를 더 포함하는 시스템.
The method according to claim 1,
Wherein the at least one processor comprises:
A hash check unit for performing a validity check on a hash value received from the user terminal,
≪ / RTI >
제1항에 있어서,
상기 적어도 하나의 프로세서는,
상기 사용자 단말로부터 비디오 플레이 관련 이벤트, IP 주소, 브라우저 에이전트 정보를 포함하는 사용자 정보를 수집하여 관리하는 클라이언트 식별부
를 더 포함하는 시스템.
The method according to claim 1,
Wherein the at least one processor comprises:
A client identification unit for collecting and managing user information including a video play related event, an IP address, and browser agent information from the user terminal,
≪ / RTI >
삭제delete 삭제delete 삭제delete 컴퓨터로 구현되는 방법에 있어서,
상기 방법은,
컨텐츠 서버가 사용자 단말을 대상으로 HLS(HTTP live streaming) 또는 DASH(dynamic adaptive streaming over HTTP)를 통해 비디오 스트리밍을 제공하는 환경에서,
상기 컨텐츠 서버로부터 비디오 컨텐츠를 세그먼트 단위로 다운로드 받는 단계;
상기 비디오 컨텐츠의 세그먼트를 해싱하여 해시 테이블을 생성하는 단계; 및
상기 사용자 단말로부터 수신된 해시 값을 상기 해시 테이블과 비교하여 상기 사용자 단말에서 소비한 비디오 컨텐츠를 확인하는 단계
를 포함하고,
상기 다운로드 받는 단계는,
각 프로토콜의 특성에 따른 플레이리스트 형식을 지원하기 위해 HLS의 경우 m3u8 기반의 플레이리스트를, DASH의 경우 MPD 형식의 플레이리스트를 읽어 들이고,
상기 컨텐츠 서버로부터 상기 비디오 컨텐츠에 대해 상기 컨텐츠 서버에서 지원하는 비트레이트 별 세그먼트를 다운로드하고,
상기 생성하는 단계는,
상기 컨텐츠 서버로부터 각 비디오 컨텐츠를 세그먼트 단위로 다운로드 받아 상기 해시 테이블을 생성하되,
상기 다운로드 받은 세그먼트를 임시 저장하고 상기 임시 저장된 세그먼트에 대한 상기 해시 테이블의 생성이 완료되면 삭제하고,
상기 컨텐츠 서버에 해당되는 웹 사이트의 방문자 수 또는 컨텐츠 수를 기반으로 해시의 길이를 결정하고,
상기 확인하는 단계는,
상기 사용자 단말로부터 상기 사용자 단말의 웹 브라우저에서 재생되는 비디오 세그먼트의 해시 값과 아울러 상기 사용자 단말의 HTTP 기반 정보를 수신하고,
상기 사용자 단말로부터 수신된 해시 값이 상기 해시 테이블에 존재하는 경우 상기 비디오 컨텐츠에 대한 비디오 소비 정보를 업데이트 하고,
상기 사용자 단말로부터 수신된 HTTP 기반 정보를 기반으로 상기 비디오 컨텐츠를 소비한 사용자 정보를 업데이트하고,
상기 비디오 소비 정보는 컨텐츠 소비 패턴 분석이나 컨텐츠 제공을 위한 평가 지표로 이용되는 것
을 특징으로 하는 방법.
In a computer implemented method,
The method comprises:
In an environment in which a content server provides video streaming through HTTP live streaming (HLS) or dynamic adaptive streaming over HTTP (DASH) to a user terminal,
Receiving video content from the content server in a segment unit;
Generating a hash table by hashing the segment of the video content; And
Comparing the hash value received from the user terminal with the hash table and checking the video contents consumed by the user terminal
Lt; / RTI >
Wherein the downloading comprises:
In order to support the play list format according to the characteristics of each protocol, a play list based on m3u8 is read in the case of HLS, a play list in MPD format is read in the case of DASH,
Downloading, by the content server, the segment according to the bit rate supported by the content server with respect to the video content,
Wherein the generating comprises:
Wherein the hash table is generated by downloading each video content from the content server on a segment basis,
Temporarily storing the downloaded segment, deleting the downloaded segment when the generation of the hash table for the temporarily stored segment is completed,
Determines the length of the hash based on the number of visitors or the number of contents of the web site corresponding to the content server,
Wherein the verifying step comprises:
Receiving a hash value of a video segment reproduced in the web browser of the user terminal from the user terminal and HTTP-based information of the user terminal,
Updating video consumption information for the video content if a hash value received from the user terminal exists in the hash table,
Updating the user information that consumed the video content based on the HTTP-based information received from the user terminal,
The video consumption information is used as an evaluation index for content consumption pattern analysis or content provision
≪ / RTI >
삭제delete 삭제delete 삭제delete 삭제delete
KR1020170045234A 2017-04-07 2017-04-07 Method and system for collecting video consumption information using video segment KR101889220B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170045234A KR101889220B1 (en) 2017-04-07 2017-04-07 Method and system for collecting video consumption information using video segment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170045234A KR101889220B1 (en) 2017-04-07 2017-04-07 Method and system for collecting video consumption information using video segment

Publications (1)

Publication Number Publication Date
KR101889220B1 true KR101889220B1 (en) 2018-08-16

Family

ID=63443561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170045234A KR101889220B1 (en) 2017-04-07 2017-04-07 Method and system for collecting video consumption information using video segment

Country Status (1)

Country Link
KR (1) KR101889220B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330052B1 (en) * 2012-06-01 2013-11-15 에스케이텔레콤 주식회사 Method for providing content caching service in adapted content streaming and local caching device thereof
KR101454809B1 (en) * 2013-12-26 2014-11-04 성균관대학교산학협력단 Method for scheduling transcoding tasks and transcoding system using the same
KR20150021437A (en) * 2013-08-20 2015-03-02 삼성전자주식회사 Method of managing content caching for wireless networks
KR20150046171A (en) * 2012-08-20 2015-04-29 퀄컴 인코포레이티드 Conveying state information for streaming media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330052B1 (en) * 2012-06-01 2013-11-15 에스케이텔레콤 주식회사 Method for providing content caching service in adapted content streaming and local caching device thereof
KR20150046171A (en) * 2012-08-20 2015-04-29 퀄컴 인코포레이티드 Conveying state information for streaming media
KR20150021437A (en) * 2013-08-20 2015-03-02 삼성전자주식회사 Method of managing content caching for wireless networks
KR101454809B1 (en) * 2013-12-26 2014-11-04 성균관대학교산학협력단 Method for scheduling transcoding tasks and transcoding system using the same

Similar Documents

Publication Publication Date Title
US11824946B2 (en) Systems and methods for distributing content
US8959202B2 (en) Generating statistics of popular content
US8463876B2 (en) Partial object distribution in content delivery network
US11553196B2 (en) Media storage
US8856051B1 (en) Augmenting metadata of digital objects
US20190320213A1 (en) Media management based on derived quantitative data of quality
US20130282890A1 (en) In-stream collection of analytics information in a content delivery system
US11212332B2 (en) Dynamic archiving of streaming content
US11218784B1 (en) Method and system for inserting markers in a media presentation
US11233844B2 (en) Distribution network providing customized content at delivery
WO2022057525A1 (en) Method and device for data retrieval, electronic device, and storage medium
US10506282B2 (en) Generating media signature for content delivery
KR101889220B1 (en) Method and system for collecting video consumption information using video segment
EP2378441A1 (en) Method and system for comparing media assets
CA3034846A1 (en) Real-time advertisement preparation system
KR101784131B1 (en) Method for providing video using messaging service, api server, and streaming server for providing video
US20240340478A1 (en) System and method for detecting and reporting concurrent viewership of online audio-video content
EP4307153A1 (en) Tamper-evident storage of media streams
US10854241B2 (en) Generation of media diff files
US20130301869A1 (en) Forensic marking apparatus and method for real-time content service
CN113453062A (en) Video metadata obtaining and processing method, device and system and electronic equipment
Babu et al. Real Time Implementation on Media Presentation Description for MPEG-DASH

Legal Events

Date Code Title Description
GRNT Written decision to grant