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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012795 verification Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234318—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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
Description
아래의 설명은 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
사용자의 요청은 웹 브라우저(30) 상의 플레이어를 통해 이루어지게 되며, 캐시 서버(20)는 빠른 컨텐츠 서비스를 위해 컨텐츠 서버(10)와 사용자 측의 웹 브라우저(30) 사이에 위치하게 된다.The user's request is made through the player on the
상기한 비디오 스트리밍 구조에서는 사용자의 컨텐츠 소비와 관련하여 컨텐츠 서버(10)와 캐시 서버(20) 상에서 관련 정보 수집이 가능하다.In the above-described video streaming structure, related information can be collected on the
비디오 컨텐츠를 중심으로 보면, 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
비디오 소비 정보 중개 시스템(100), 컨텐츠 서버(10), 웹 브라우저(30)가 포함된 사용자 단말 각각은 내부 구성요소로서 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 컴퓨팅 구성 요소에 해당되는 것으로 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다.Each of the user terminals including the video consumption
이하에서는 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.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
먼저, 비디오 수집부(110)의 구체적인 구성과 동작은 다음과 같다.First, the specific configuration and operation of the
비디오 수집부(110)는 컨텐츠 서버(10)와 같은 OVP(online video provider)로부터 비디오 컨텐츠를 수집하여 개별 비디오 컨텐츠 정보와 분할된 컨텐츠의 해시 테이블을 생성하는 역할을 수행한다. 컨텐츠 수집(content aggregation) 및 해시에 따른 부하를 분산하기 위해 병렬 형태의 시스템으로 구성될 수 있다.The video collecting
상세하게, 비디오 수집부(110)는 비디오 다운로드부(video downloader)(111), 비디오 임시 저장부(video temporary storage)(112), 비디오 정보 분석부(video information parser)(113), 및 해시 생성부(hash generator)(114)를 포함할 수 있다.In detail, the
비디오 다운로드부(111)는 OVP로부터 비디오 컨텐츠를 물리적인 세그먼트(chunk) 단위로 다운로드 하는 역할을 담당한다. 이때, 비디오 다운로드부(111)는 각 프로토콜의 특성에 따른 플레이리스트 형식을 지원하기 위해 DASH의 경우 MPD 기반의 플레이리스트를, HLS의 경우 m3u8 기반의 플레이리스트를 읽어 들일 수 있어야 한다. 그리고, 비디오 다운로드부(111)는 개별 컨텐츠에 대해 적응 스트리밍(adaptive streaming)과 같이 다양한 해상도를 지원하는 경우 개별 비트레이트(bitrate)에 대한 모든 세그먼트를 다운로드 할 수 있다.The
비디오 임시 저장부(112)는 비디오 다운로드부(111)가 다운로드 한 세그먼트를 임시 저장하는 역할을 수행하며, 다운로드 된 컨텐츠는 해시 생성을 끝낸 이후에는 삭제될 수 있다.The video temporary storage unit 112 temporarily stores the segment downloaded by the
비디오 정보 분석부(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
다음으로, 비디오 정보 서버(120)의 구체적인 구성과 동작은 다음과 같다.The specific configuration and operation of the
비디오 정보 서버(120)는 OVP로부터 수집한 비디오 정보 및 개별 비디오의 세그먼트 값에 대한 해시 테이블을 저장 및 관리하는 역할을 한다. 그리고, 비디오 정보 서버(120)는 정교한 비디오 정보 생성을 위해 오픈 API 기반의 외부 데이터 중개자(data broker)(40)와의 연계 기능을 제공할 수 있으며, 사용자들의 비디오 재생 관련 수집된 정보를 외부 데이터 중개자(40)에게 전달하기 위한 기능을 제공할 수 있다.The
상세하게, 비디오 정보 서버(120)는 오픈 API 연결부(open API connector)(121), 비디오 정보 관리부(video information manager)(122), 클라이언트 정보 관리부(client information manager)(123), 해시 관리부(hash manager)(124), 및 해시 저장부(hash storage)(125)를 포함할 수 있다.In detail, the
오픈 API 연결부(121)는 수집된 비디오 컨텐츠 재생 정보를 외부로 제공하기 위한 API 기능을 제공할 수 있다. 그리고, 오픈 API 연결부(121)는 외부 데이터 중개자(40)(예컨대, IMBD, OVP의 Open API 등)를 통해 비디오 컨텐츠의 정보를 보완하기 위한 API를 제공할 수 있다.The open
비디오 정보 관리부(122)는 비디오 컨텐츠에 대한 정보를 관리하며, 메타데이터를 이용하여 동일 비디오에 대한 개별 세그먼트 정보의 유사성을 판단하는 기능을 제공할 수 있다. 그리고, 비디오 정보 관리부(122)는 비디오 수집부(110)로부터 수집된 비디오 컨텐츠의 메타데이터 이외에도 외부 데이터 중개자(40)를 통한 정보를 추가적으로 연계해 컨텐츠 관련 메타데이터 정보를 업데이트할 수 있다.The video
클라이언트 정보 관리부(123)는 플레이어가 이용된 단말의 정보를 수집 및 관리하는 기능을 제공할 수 있다. 이때, 클라이언트 정보 관리부(123)는 설정에 따라 해시 값이 올라오는 브라우저 에이전트 정보(browser agent information), IP 주소 등의 정보 및 추가적인 플레이어 관련 이벤트 정보(예컨대, 재생 시간, 재생 구간 등)를 수집할 수 있다.The client
해시 관리부(124)는 비디오 컨텐츠의 세그먼트 정보에 대한 해시를 관리하는 기능을 제공할 수 있다. 이때, 해시 정보는 대상 OVP의 규모 및 컨텐츠량에 따라 결정될 수 있다.The
해시 저장부(125)는 각 비디오 별 세그먼트 정보를 해시한 값을 저장하기 위한 저장소 역할을 한다.The
다음으로, 클라이언트 해시 수신부(130)의 구체적인 구성과 동작은 다음과 같다.The specific configuration and operation of the
클라이언트 해시 수신부(130)는 사용자 플레이어 별로 해시 정보를 수신하여 컨텐츠 소비 정보를 수집하는 기능을 제공하는 모듈이다.The
상세하게, 클라이언트 해시 수신부(130)는 클라이언트 식별부(client identifier)(131), 해시 확인부(hash checker)(132), 및 해시 검사부(hash validator)(133)를 포함할 수 있다.In detail, the
클라이언트 식별부(131)는 클라이언트로부터 추가적인 정보를 수집하게 되는 경우(Opt -in/out 모든 케이스 포함) 해당 정보를 사용자 별로 관리하기 위한 기능을 제공할 수 있다. 이때, 클라이언트 식별부(131)에서 수집 가능한 정보는 비디오 플레이 관련 이벤트(예컨대, 재생, Stop, Skip 등), IP 주소, 브라우저 에이전트 정보(browser agent information) 등이 포함될 수 있다.The
해시 확인부(132)는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 비디오 정보 서버(120) 상에 존재하는지를 비교하고 존재하는 경우 해당 컨텐츠의 시청 값(즉, 소비 정보)에 반영하는 역할을 수행할 수 있다.The
해시 검사부(133)는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 유효한지 여부를 판단하기 위한 역할을 수행할 수 있다.The
따라서, 비디오 소비 정보 중개 시스템(100)은 원본 비디오 컨텐츠의 세그먼트를 해시하여 해시 테이블을 생성하고, 이후 사용자 단말의 해시 값을 해시 테이블과 비교하여 사용자가 어떠한 컨텐츠를 재생하는지를 확인할 수 있다.Accordingly, the video consumption
도 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
도 6을 참조하면, 웹 브라우저(30) 상의 플레이어는 단말의 사용자 또는 임의의 프로그램에 의한 재생 요청에 따라 실행될 수 있다(S601). 이때, 플레이어는 컨텐츠 서버(10)로 비디오의 플레이리스트를 요청할 수 있다.Referring to FIG. 6, a player on the
플레이어는 컨텐츠 서버(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
플레이어는 재생할 비디오 세그먼트를 컨텐츠 서버(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
플레이어는 비디오 세그먼트에 대한 유효성 검사(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
플레이어는 유효한 비디오 세그먼트에 대해 해시 생성부(32)를 호출할 수 있다(S607). 즉, 플레이어는 컨텐츠 서버(10)로부터 다운로드 받은 비디오 세그먼트의 정보를 해시 생성부(32)로 전달할 수 있다.The player can call the
플레이어의 해시 생성부(32)는 컨텐츠 서버(10)로부터 다운로드 받은 비디오 세그먼트를 읽어 들여 해당 세그먼트를 해싱함으로써 해싱 값을 생성할 수 있다(S608).The
해시 생성부(32)는 비디오 세그먼트에 대해 생성된 해싱 값을 클라이언트 해시 수신부(130)로 전달할 수 있다(S609).The
플레이어는 중단 알림(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
도 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
단계(S701)에서 해시 확인부(132)는 클라이언트, 즉 웹 브라우저(30) 상의 플레이어로부터 비디오 세그먼트에 대한 해시 정보를 수신할 수 있다. 다시 말해, 해시 확인부(132)는 웹 브라우저(30)에서 재생되는 비디오 세그먼트의 해시 값을 수신할 수 있다. 아울러, 해시 확인부(132)는 클라이언트로부터 수신된 HTTP 기반 정보(예컨대, IP 주소 등)를 수집할 수 있다.In step S701, the
단계(S702)에서 해시 확인부(132)는 클라이언트로부터 수신된 해시 값에 대한 유효성 검사를 수행할 수 있다. 해시의 유효성 검사를 위한 방법으로는 MD5, SHA1, SHA-224, SHA-256, SHA-384, SHA-512 등이 사용될 수 있다In step S702, the
단계(S703)에서 해시 확인부(132)는 비디오 정보 서버(120) 상의 해시 저장부(125)에 기 저장된 해시 값을 이용하여 클라이언트로부터 수신된 해시 값이 어떠한 비디오에 해당하는지를 확인할 수 있다.In step S703, the
단계(S704)에서 해시 확인부(132)는 단계(S703)의 해시 확인 과정을 통해 클라이언트로부터 수신된 해시 값이 기 저장된 해시 값과 매칭된 경우 해당 비디오에 대한 소비 정보를 업데이트 할 수 있다.In step S704, the
단계(S705)에서 해시 확인부(132)는 클라이언트로부터 수신된 HTTP 기반 정보(예컨대, IP 주소 등)를 기반으로 해당 비디오를 소비한 사용자 정보를 업데이트 할 수 있다.In step S705, the
단계(S706)에서 해시 확인부(132)는 해시 생성 과정의 중지 또는 주기(interval)에 대한 알림을 제공할 수 있다. 즉, 해시 확인부(132)는 클라이언트 단말의 해시 생성 여부에 대한 알림을 제공할 수 있다.In step S706, the
따라서, 클라이언트 해시 수신부(130)에서는 웹 브라우저(30)를 통해 사용자로부터 수신 받은 해시 값이 비디오 정보 서버(120) 상에 존재하는지를 비교하고 존재하는 경우 해당 비디오 컨텐츠에 대한 소비 정보에 반영할 수 있다. 비디오 소비 정보는 사용자의 컨텐츠 소비 패턴 분석이나 바람직한 컨텐츠 제공을 용이하게 하기 위해 시청자 측정, 시청자 행동, 소비율, 만족도 등의 평가 지표로 활용될 수 있다.Accordingly, the
이처럼 본 발명의 실시예들에 따르면, 사용자의 단말 환경에서 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 >
상기 해시 생성부는,
상기 비디오 컨텐츠의 세그먼트에 대해 유효성 검사를 수행한 후 상기 해시 테이블을 생성하는 것
을 특징으로 하는 시스템.The method according to claim 1,
Wherein the hash-
Generating a hash table after validating the segment of the video content
Lt; / RTI >
상기 적어도 하나의 프로세서는,
상기 사용자 단말로부터 수신된 해시 값에 대해 유효성 검사를 수행하는 해시 검사부
를 더 포함하는 시스템.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 >
상기 적어도 하나의 프로세서는,
상기 사용자 단말로부터 비디오 플레이 관련 이벤트, 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 >
상기 방법은,
컨텐츠 서버가 사용자 단말을 대상으로 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 >
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)
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 |
-
2017
- 2017-04-07 KR KR1020170045234A patent/KR101889220B1/en active IP Right Grant
Patent Citations (4)
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 |