KR101841259B1 - Method and apparatus for tracking video playing of client - Google Patents

Method and apparatus for tracking video playing of client Download PDF

Info

Publication number
KR101841259B1
KR101841259B1 KR1020160079471A KR20160079471A KR101841259B1 KR 101841259 B1 KR101841259 B1 KR 101841259B1 KR 1020160079471 A KR1020160079471 A KR 1020160079471A KR 20160079471 A KR20160079471 A KR 20160079471A KR 101841259 B1 KR101841259 B1 KR 101841259B1
Authority
KR
South Korea
Prior art keywords
file
client
playlist
playlist file
request
Prior art date
Application number
KR1020160079471A
Other languages
Korean (ko)
Other versions
KR20180001001A (en
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 KR1020160079471A priority Critical patent/KR101841259B1/en
Publication of KR20180001001A publication Critical patent/KR20180001001A/en
Application granted granted Critical
Publication of KR101841259B1 publication Critical patent/KR101841259B1/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Abstract

클라이언트의 동영상 시청 트래킹 방법 및 장치가 제공된다. 클라이언트로부터 VOD(video on demand) 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들 중에서 설정 개수의 조각 파일들의 리스트를 포함하는 제1 재생 목록 파일을 클라이언트로 제공한다. 이후, 클라이언트로부터 재생 목록 요청이 입력되면, 클라이언트의 상기 조각 파일들의 재생 상태를 예측하고, 예측 결과를 토대로 설정 개수의 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 클라이언트로 제공한다. A video viewing and tracking method and apparatus of a client are provided. A first playlist file including a set number of fragmented files among all the fragmented files constituting the VOD file corresponding to the video on demand (VOD) request from the client is provided to the client. Then, when a playlist request is input from the client, the playback state of the fragmented files of the client is predicted, and a second playlist file including a list of pieces of fragmented files of the set number is generated based on the prediction result and provided to the client.

Description

클라이언트의 동영상 시청 트래킹 방법 및 장치{Method and apparatus for tracking video playing of client}TECHNICAL FIELD [0001] The present invention relates to a video tracking method and apparatus for a client,

본 발명은 트래킹 방법에 관한 것으로, 더욱 상세하게 말하자면 서버단에서 클라이언트의 광고 등의 동영상 시청을 트래킹하는 방법 및 장치에 관한 것이다. The present invention relates to a tracking method, and more particularly, to a method and apparatus for tracking video watching of a client, such as a client, at a server terminal.

네트워크 관련 기술의 발전에 따라 네트워크를 통하여 다양한 형태의 컨텐츠를 제공하고 있으며, 컨텐츠 이외에도 광고를 제공하고 있다. 네트워크상에서 광고는 다양한 형태의 노출 방식을 이용하여 제공되고 있다. In accordance with the development of network related technology, various types of contents are provided through a network, and advertisements are provided in addition to contents. Advertisements on the network are provided using various types of exposure schemes.

멀티미디어 데이터를 실시간으로 재생해 주는 라이브 스트리밍(live streaming) 서비스의 경우 라이브 영상 중간(예: 프로그램과 프로그램 사이, 야구에서의 공수 교대)에 광고를 제공하고 있다. 스트리밍 서비스에서 동영상 광고는, 클라이언트측 광고삽입(Client Side Ad Insertion) 방법과 서버측 광고 삽입(Server Side Ad Insertion) 방법을 통해 제공할 수 있다. 라이브 스트리밍의 경우, 사용자는 지나간 화면을 돌려 볼 수 없다. 이러한 문제점 해결을 위해, 서버에 지나간 영상을 실시간으로 백업하면서 사용자에게 VOD(Video on Demand) 서비스를 제공하고 있다.In the case of live streaming services that play multimedia data in real time, advertisements are provided in the middle of live video (for example, between programs and programs, and airborne alternatives in baseball). In the streaming service, the video advertisement can be provided through a client side advertisement insertion (client side ad insertion) method and a server side advertisement insertion (server side ad insertion) method. In the case of live streaming, the user can not view the past screen. In order to solve such a problem, a VOD (Video on Demand) service is provided to the user while backing up the image to the server in real time.

VOD 서비스는 VOD 파일을 생성하여 저장하고, 사용자로부터의 요청에 따라 해당하는 VOD 파일을 사용자에게 제공한다. The VOD service generates and stores a VOD file, and provides a corresponding VOD file to the user according to a request from the user.

라이브 스트리밍 서비스에서는 스트리밍 서버와, 실시간 스트리밍 인코더가 사용되고, VOD 서비스에서는 스트리밍 서버와 동영상 파일이 사용된다. 예를 들어, 스트리밍 서버에서 광고 영상을 노출시키기 위하여, 인코딩 전 단계에서 동영상에 광고 영상을 미리 포함시킨다. 구체적으로 인코딩 이전에 LIVE/VOD 영상과 광고 영상을 결합하여 하나의 영상으로 처리하고, 처리된 하나의 영상을 하나의 스트리밍 세션을 통하여 클라이언트에게 제공한다. 또는 LIVE/VOD 영상과 광고 영상을 별도로 각각 인코딩하고, LIVE/VOD 영상과 광고 영상을 별도의 스트리밍 세션을 통하여 제공할 수 있다. In a live streaming service, a streaming server and a real-time streaming encoder are used. In a VOD service, a streaming server and a video file are used. For example, in order to expose the advertisement image on the streaming server, the advertisement image is previously included in the moving image in the encoding step. Specifically, the LIVE / VOD image and the advertisement image are combined into one image before the encoding, and the processed one image is provided to the client through one streaming session. Alternatively, the LIVE / VOD image and the advertisement image may be separately encoded, and the LIVE / VOD image and the advertisement image may be provided through separate streaming sessions.

VOD 서비스는 성공적인 유료화 모델과 광고 모델을 통하여 새로운 수익을 창출하고 있다. 서비스 제공자는 광고 영상을 제공하면서 이에 대한 비용을 광고주에게 비용을 청구할 수 있는데, 이를 위해서는 사용자가 광고를 어디까지 보았는지가 중요하다. 일반적으로 사용자 장치에서 사용되는 플레이어나 웹브라우저가 광고 영상의 재생에 따른 트래킹(tracking) 정보를 서버로 제공하며, 서버는 이러한 트래킹 정보를 토대로 광고 영상의 재생 정보를 수집하며, 수집된 재생 정보는 비용 청구의 근거로 사용된다. The VOD service is generating new revenue through a successful monetization and advertising model. The service provider can charge the advertiser for the cost of providing the advertisement image. For this purpose, it is important for the service provider to see the advertisement. In general, a player or a web browser used in a user apparatus provides tracking information according to reproduction of an advertisement image to a server. The server collects reproduction information of the advertisement image based on the tracking information, It is used as a basis for charging.

VOD 서비스의 경우, 사용자 장치에서 사용하는 플레이어에 따라 버퍼의 크기가 다르기 때문에, 클라이언트에서 위와 같은 별도의 정보를 주지 않는 한, 서버측에서는 클라이언트로 전송한 데이터만으로 플레이어의 재생 위치를 정확하게 알기 어렵다. In the case of the VOD service, since the size of the buffer varies depending on the player used in the user apparatus, it is difficult for the server to precisely know the reproduction position of the player by only the data transmitted to the client, unless the client gives such additional information.

본 발명이 해결하고자 하는 과제는 클라이언트로부터의 정보 없이, 서버에서 사용자의 광고 등의 동영상 시청 상태를 트래킹할 수 있는 방법 및 그 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for tracking a video viewing state of a user's advertisement or the like on a server without information from a client.

본 발명의 특징에 따른 방법은, 클라이언트에서의 동영상 시청을 트래킹하는 방법에서, 상기 클라이언트로부터 VOD(video on demand) 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들 중에서 설정 개수의 조각 파일들의 리스트를 포함하는 제1 재생 목록 파일을 상기 클라이언트로 제공하는 단계; 상기 클라이언트로부터 재생 목록 요청이 입력되면, 상기 클라이언트의 상기 조각 파일들의 재생 상태를 예측하는 단계; 상기 예측 결과를 토대로 설정 개수의 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계; 및 상기 제2 재생 목록 파일을 상기 클라이언트로 제공하는 단계를 포함한다. A method according to an aspect of the present invention is a method of tracking video watching on a client, comprising the steps of: receiving, from a client, a list of fragmented files of a set number of all fragmented files constituting a VOD file corresponding to a video on demand Providing a first playlist file to the client; Predicting a playback state of the fragmented files of the client when a playlist request is input from the client; Generating a second playlist file including a list of pieces of pieces of pieces of files based on the prediction result; And providing the second playlist file to the client.

상기 예측하는 단계는, 상기 제1 재생 목록 파일을 제공한 이후부터 추가적인 재생 목록 요청이 입력되기까지의 시간인 요청 입력 시간을 산출하는 단계; 및 상기 요청 입력 시간과 상기 조각 파일의 재생 시간에 대응하는 세그먼트 간격을 토대로 상기 클라이언트의 상기 제1 재생 목록 파일에 포함된 조각 파일들의 재생 상태를 예측하는 단계를 포함할 수 있다. Wherein the predicting step comprises: calculating a request input time, which is a time from when the first playlist file is provided until an additional playlist request is input; And predicting a playback state of the fragmented files included in the first playlist file of the client based on the request input time and the segment interval corresponding to the playback time of the fragmented file.

상기 제2 재생 목록 파일을 생성하는 단계는, 상기 요청 입력 시간과 설정 간격을 비교하는 단계; 상기 요청 입력 시간이 상기 설정 간격보다 작은 경우에는, 상기 예측 결과를 토대로 이전에 제공한 재생 목록 파일인 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과, 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계; 및 상기 요청 입력 시간이 상기 설정 간격보다 크거나 같은 경우에는, 상기 예측 결과를 토대로 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계를 포함할 수 있다. Wherein the generating the second playlist file comprises: comparing the request input time with a set interval; Wherein when the request input time is shorter than the set interval, a fragmented file that has not yet been reproduced from the fragmented files included in the first playlist file, which is a playlist file previously provided based on the prediction result, Generating a second playlist file including a list of fragment files corresponding to the order in which the last fragment file included in the list file should be played; And, if the request input time is greater than or equal to the setting interval, generating a list of fragmented files corresponding to the order in which the last fragment file included in the first playlist file is to be reproduced 2 < / RTI > playlist file.

여기서, 상기 설정 간격은 재생 목록 파일에 포함된 모든 조각 파일들의 세그먼트 간격의 합으로, 상기 재생 목록 파일에 포함된 모든 조각 파일들이 재생되는데 소요되는 시간에 대응할 수 있다. Here, the setting interval may be a sum of segment intervals of all the fragmented files included in the playlist file, and may correspond to a time required to reproduce all the fragmented files included in the playlist file.

상기 방법은, 상기 제2 재생 목록 파일을 상기 클라이언트로 제공하는 단계 이전에, 상기 VOD 파일의 마지막 조각 파일이 상기 제2 재생 목록 파일에 포함되는 경우, 마지막 조각 파일임을 표시하는 태그를 상기 제2 재생 목록 파일에 포함시키는 단계를 더 포함할 수 있다. The method may further comprise the step of, when a last slice file of the VOD file is included in the second playlist file before providing the second playlist file to the client, Into the playlist file.

상기 방법은, 상기 재생 목록 파일에 포함되는 조각 파일의 경로 뒤에 세션을 구분할 수 있는 ID를 인수(argument)로 포함시켜 제공할 수 있으며, 상기 ID를 토대로 세션 관리가 수행될 수 있다. The method may include providing, as an argument, an ID capable of identifying a session after the path of the fragment file included in the playlist file, and session management may be performed based on the ID.

상기 VOD 영상은 광고 영상일 수 있다. The VOD image may be an advertisement image.

본 발명의 다른 특징에 따른 장치는, 클라이언트에서의 동영상 시청을 트래킹하는 장치에서, 네트워크를 통하여 신호를 송수신하는 신호 송수신부; 그리고 상기 송수신부와 연결되고, 동영상 제공 처리를 수행하는 프로세서를 포함하며, 상기 프로세서는, 상기 클라이언트로부터 VOD(video on demand) 요청 및 재생 목록 요청을 수신하도록 구성되는 요청 수신부; 상기 클라이언트의 상기 조각 파일들의 재생 상태를 예측하도록 구성되는 재생 예측부; 상기 재생 예측부의 예측 결과를 토대로, 상기 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들 중에서 설정 개수의 조각 파일들의 리스트를 포함하는 재생 목록 파일을 생성하도록 구성되는 재생 목록 생성부; 및 상기 재생 목록 파일을 상기 송수신부를 통하여 상기 클라이언트로 제공하도록 구성되는 재생 목록 제공부를 포함하고, 상기 클라이언트로부터 재생 목록 요청시마다 상기 재생 목록 파일이 제공된다. According to another aspect of the present invention, there is provided an apparatus for tracking video watching on a client, comprising: a signal transmitting / receiving unit for transmitting / receiving signals through a network; And a processor connected to the transceiver and performing a moving picture providing process, the processor comprising: a request receiver configured to receive a video on demand (VOD) request and a playlist request from the client; A playback predictor configured to predict a playback state of the fragmented files of the client; A playlist generation unit configured to generate a playlist file including a list of pieces of fragmented files of all the fragmented files constituting the VOD file corresponding to the request, based on the prediction result of the reproduction predictor; And a playlist providing unit configured to provide the playlist file to the client through the transceiver, wherein the playlist file is provided every time a playlist is requested from the client.

상기 재생 예측부는, 상기 제1 재생 목록 파일을 제공한 이후부터 추가적인 재생 목록 요청이 입력되기까지의 시간인 요청 입력 시간을 산출하며, 상기 요청 입력 시간과 상기 조각 파일의 재생 시간에 대응하는 세그먼트 간격을 토대로 상기 클라이언트로 이전에 제공한 재생 목록 파일에 포함된 조각 파일들의 재생 상태를 예측할 수 있다. Wherein the reproduction predicting unit calculates a request input time which is a time from when the first playlist file is provided until when an additional playlist request is input, and when the request input time and the segment interval The playback state of the fragmented files included in the playlist file previously provided to the client can be predicted.

상기 재생 목록 생성부는, 상기 요청 입력 시간이 상기 설정 간격보다 작은 경우에는, 상기 예측 결과를 토대로 이전에 제공한 재생 목록 파일인 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과, 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하도록 구성되고; 상기 요청 입력 시간이 상기 설정 간격보다 크거나 같은 경우에는, 상기 예측 결과를 토대로 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하도록 구성될 수 있다. The playlist generation unit may generate a playlist file that is not yet played back from the fragmented files included in the first playlist file, which is a playlist file previously provided based on the prediction result, And to generate a second playlist file including a list of fragment files corresponding to the order that should be played after the last fragment file contained in the first playlist file; A second playlist file including a list of fragmented files corresponding to a sequence of playing back after the last fragment file included in the first playlist file based on the prediction result, if the request input time is greater than or equal to the setting interval, May be configured to generate a playlist file.

상기 설정 간격은 재생 목록 파일에 포함된 모든 조각 파일들의 세그먼트 간격의 합으로, 상기 재생 목록 파일에 포함된 모든 조각 파일들이 재생되는데 소요되는 시간에 대응할 수 있다. The setting interval may be a sum of segment intervals of all the fragmented files included in the playlist file, and may correspond to a time required to reproduce all the fragmented files included in the playlist file.

상기 장치는, 상기 재생 예측부의 예측 결과와 상기 재생 목록 제공부에 의해 클라이언트로 제공한 재생 목록 파일을 토대로, 상기 클라이언트가 VOD 파일에 대응하는 조각 파일들을 어느 정도 재생하였는지를 트래킹하는 트래킹 처리부를 더 포함할 수 있다. The apparatus further includes a tracking processing unit for tracking to what extent the client reproduces the fragmented files corresponding to the VOD file based on the prediction result of the reproduction prediction unit and the playlist file provided to the client by the playlist providing unit can do.

본 발명의 실시 예에 따르면, 서버에서 광고를 제공하는 경우, 클라이언트로부터의 정보 없이, 서버가 클라이언트의 광고 등의 동영상 시청 여부 및 시청 상태를 트래킹할 수 있다. 따라서 클라이언트로부터의 정보 없이 정확한 광고 등의 동영상 시청 트래킹이 가능하고, 트래킹된 정보를 토대로 광고 비용 산출이 정확하게 이루어질 수 있다. According to an embodiment of the present invention, when providing an advertisement in a server, a server can track whether or not to watch a video, such as an advertisement of a client, and a viewing state, without information from a client. Therefore, video viewing and tracking such as accurate advertisement can be performed without information from the client, and the advertisement cost can be accurately calculated based on the tracked information.

도 1은 VOD 서비스에서 광고를 제공하는 것을 나타낸 예시도이다.
도 2는 본 발명의 실시 예에 따른 동영상 시청 트래킹 방법의 흐름도이다.
도 3은 본 발명의 실시 예에 따른 재생 목록 파일의 예시도이다.
도 4는 본 발명의 실시 예에 따른 동영상 시청 트래킹 장치의 구조를 나타낸 도이다.
1 is an exemplary diagram illustrating an advertisement provided by a VOD service.
2 is a flowchart of a moving picture viewing tracking method according to an embodiment of the present invention.
3 is an illustration of a playlist file according to an embodiment of the present invention.
4 is a diagram illustrating a structure of a moving picture viewing and tracking apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조하여 본 발명의 실시 예에 따른 동영상 시청 트래킹 방법 및 장치에 대하여 설명한다. Hereinafter, a moving picture viewing tracking method and apparatus according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 VOD 서비스에서 광고를 제공하는 것을 나타낸 예시도이다. 1 is an exemplary diagram illustrating an advertisement provided by a VOD service.

첨부한 도 1에서와 같이, 웹 서버에 구축된 웹페이지를 통하여 사용자에게 스트리밍 서비스가 가능한 미디어 데이터의 목록을 클라이언트로 제공하며, 클라이언트는 원하는 미디어 데이터에 대한 서비스를 요청하고, 스트리밍 서버는 디스크에 저장되어 있는 미디어 데이터들 중에서 클라이언트의 요청에 대응하는 미디어 데이터를 가지고 와서 스트리밍 서비스를 제공한다. 미디어 데이터는 컨텐츠 동영상 또는 광고 영상일 수 있다. 클라이언트는 네트워크를 통하여 미디어 데이터(동영상 등)를 수신하고 재생할 수 있는 기능을 가지는 사용자 장비(user equipment)를 나타낸다. 1, a list of media data that can be streamed to a user is provided to a client through a web page built in the web server, the client requests a service for the desired media data, Media data corresponding to a client's request among the stored media data is provided to provide a streaming service. The media data may be a content video or an advertisement video. A client represents a user equipment having a function of receiving and reproducing media data (video, etc.) through a network.

VOD 서비스는 클라이언트가 요청하는 대로 서버가 데이터를 주는 방식이다. 이러한 경우, 클라이언트에서 사용하는 플레이어에 따라 버퍼의 크기가 다르기 때문에, 클라이언트에 전송한 데이터만으로 서버가 플레이어의 재생 위치를 알 수 없다. The VOD service is a method by which the server provides data as requested by the client. In this case, since the size of the buffer varies depending on the player used by the client, the server can not know the playback position of the player only by the data transmitted to the client.

본 발명의 실시 예에서는 서버가 클라이언트의 동영상 재생을 예측해서 해당하는 재생 목록을 제공한다. 이에 따라 클라이언트로부터의 별도 정보 없이, 서버가 자체적으로 클라이언트에서의 동영상 재생이 어느 정도 이루어졌는지를 트래킹할 수 있다. 여기서, 동영상 중 광고 영상에 대해 트래킹을 하는 것을 예로 들어 설명하지만, 본 발명은 반드시 광고 영상에 한정되는 아니며, 트래킹이 요구되는 모든 미디어 데이터에 적용될 수 있다. In the embodiment of the present invention, the server predicts the video playback of the client and provides the corresponding playlist. Accordingly, without any additional information from the client, it is possible to track how much the video playback of the client is performed by the server itself. Here, the tracking of the advertisement image in the moving image will be described as an example. However, the present invention is not limited to the advertisement image, but can be applied to all media data requiring tracking.

스트리밍 서버가 미디어 데이터를 클라이언트로 제공하는 경우, 미디어 데이터를 예를 들어, 10초(일반적으로 5초~15초 사용) 정도의 작은 길이를 가지는 파일(예를 들어, MPEG-2 Transport Stream(TS) 파일)로 조각화하고, 조각 파일들의 메타 정보인 재생목록 파일을 클라이언트로 제공한다. 재생목록 파일은 XML (Extensible Markup Language)의 일종인 SMIL(Synchronized Multimedia Integration Language) 문법을 사용하는 M3U8 파일을 사용할 수 있으며, 매니피스트(manifest) 파일이라고도 한다. 하나의 영상 조각파일 즉, 하나의 TS 파일은 188 바이트 크기를 가지는 다수의 TS 패킷으로 구성되며, 하나의 TS 패킷은 헤더(header)와 페이로드(payload)를 포함하며, 헤더는 다양한 정보를 포함한다. 예를 들어, TS 패킷의 페이로드에 보내지는 데이터를 구분하는 PID(packet Identifier)와 CC(continuity counter)를 포함할 수 있다. When the streaming server provides the media data to the client, the media data is recorded in a file having a small length (for example, MPEG-2 Transport Stream (TS), for example, 10 seconds ) File), and provides a playlist file, which is meta information of the fragmented files, to the client. The playlist file can use an M3U8 file that uses SMIL (Synchronized Multimedia Integration Language) syntax, which is a type of XML (Extensible Markup Language), and is also referred to as a manifest file. One video fragment file, i.e., one TS file, is composed of a plurality of TS packets each having a size of 188 bytes. One TS packet includes a header and a payload. The header includes various information do. For example, it may include a PID (packet identifier) and a CC (continuity counter) for distinguishing data to be sent to the payload of the TS packet.

본 발명의 실시 예에서, 동영상 시청 트래킹 장치 즉, 서버는 클라이언트로부터의 VOD 요청을 수신한 경우, VOD 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들에 대한 재생 목록 파일을 한번에 클라이언트로 제공하지 않고, 클라이언트의 VOD 요청시마다 클라이언트에서의 재생 상황을 예측해서 해당 개수에 대응하는 조각 파일들의 재생 목록 파일을 제공한다. 재생 목록 파일에는 조각 파일들(TS 파일들)의 리스트 즉, 청크(Chunk) 목록이 포함된다. In the embodiment of the present invention, when the VOD request from the client is received, the moving picture viewing tracking device, i.e., the server, provides the playlist file for all fragmented files constituting the VOD file corresponding to the VOD request to the client at one time Predicts the playback situation in the client at every VOD request of the client, and provides the playlist file of the fragmented files corresponding to the number. The playlist file includes a list of pieces of files (TS files), i.e., a list of chunks.

도 2는 본 발명의 실시 예에 따른 동영상 시청 트래킹 방법의 흐름도이다. 2 is a flowchart of a moving picture viewing tracking method according to an embodiment of the present invention.

첨부한 도 2에 도시된 바와 같이, 서버는 클라이언트로부터의 VOD 요청을 수신한 경우, VOD 요청에 대응하는 VOD 파일을 저장 장치(도시하지 않음)로부터 획득한다. 이 경우, 광고 노출을 위하여 광고 영상에 대응하는 VOD 파일을 먼저 클라이언트로 제공하고 이후에 VOD 요청에 대응하는 VOD 파일을 제공할 수 있다. 광고 영상에 대한 VOD 파일을 제공하는 순서가 이것에 한정되지는 않는다. 2, when the server receives the VOD request from the client, it obtains the VOD file corresponding to the VOD request from the storage device (not shown). In this case, the VOD file corresponding to the advertisement image may be first provided to the client for advertisement exposure, and then the VOD file corresponding to the VOD request may be provided. The order of providing the VOD file for the advertisement image is not limited to this.

광고 영상에 대한 VOD 파일을 제공하는 경우, 서버는 광고 영상에 대한 VOD 파일을 구성하는 모든 조각 파일의 리스트를 포함하는 재생 목록 파일을 제공하는 대신에, 먼저, 제1 설정 개수의 조각 파일들의 리스트를 포함하는 재생 목록 파일을 클라이언트로 제공한다(S100, S110). 예를 들어, 제1 설정 개수는 "3"일 수 있으며, 서버는 먼저, 3개의 조각 파일들의 리스트를 포함하는 재생 목록 파일을 클라이언트로 제공한다. 제1 설정 개수는 플레이어의 특성 등에 따라 달라질 수 있다. In case of providing the VOD file for the advertisement image, instead of providing the playlist file including the list of all the fragment files constituting the VOD file for the advertisement image, the server first sets the list of the fragment files of the first set number To the client (S100, S110). For example, the first set number may be "3 ", and the server first provides the client with a playlist file that contains a list of three fragmented files. The first set number may vary depending on the characteristics of the player and the like.

서버는 재생 목록 파일을 제공한 이후, 다시 클라이언트로부터 재생 목록 요청이 입력되면(S120), 다음에 재생된 조각 파일들의 리스트를 포함하는 재생 목록 파일을 클라이언트로 제공한다. 설명의 편의상, 이전에 제공한 재생 목록 파일을 "제1 재생 목록 파일"이라고 명명하고, 현재 재생 목록 요청에 따라 제공하는 재생 목록 파일을 "재생 목록 파일"이라고 명명한다. After the server provides the playlist file, if the playlist request is input from the client again (S120), the server provides the playlist file containing the list of played back fragmented files to the client. For convenience of description, a previously provided playlist file is referred to as a " first playlist file ", and a playlist file provided according to the current playlist request is referred to as a "playlist file ".

서버는 제1 재생 목록 파일을 제공한 이후 클라이언트의 재생 상태를 예측하고 이를 토대로 재생 목록 파일을 제공한다. 구체적으로, 제1 재생 목록 파일을 제공한 이후부터 추가적인 재생 목록 요청이 입력되기까지의 시간(설명의 편의상 요청 입력 시간이라고 명명함)을 산출하고 이를 토대로, 제2 재생 목록 파일을 생성한다(S130). After providing the first playlist file, the server predicts the playback state of the client and provides a playlist file based on the predicted playback state. Specifically, the time from when the first playlist file is provided to the time when an additional playlist request is input (which is called a request input time for convenience of explanation) is calculated and a second playlist file is generated based on the calculated time ).

재생 목록 파일에 포함되는 조각 파일들의 간격을 나타내는 세그먼트 간격과 요청 입력 시간과의 관계를 토대로 클라이언트에서 제1 재생 목록 파일에 포함된 조각 파일들이 어디까지 재생되었는지를 예측할 수 있다. 예를 들어, 세그먼트 간격이 "1초"이고, 제1 재생 목록 파일에서 3개의 조각 파일들의 리스트 즉, 1TS, 2TS, 3TS의 리스트를 전송하였다고 가정한다. 이러한 상태에서, 2초가 지나서 새로운 재생 목록 요청이 입력된 경우, 즉, 제1 재생 목록 파일을 제공한 이후부터 새로운 재생 목록 요청이 입력되기까지의 시간 즉, 요청 입력 시간이 "2초"인 경우, 클라이언트가 제1 재생 목록 파일에 포함된 1TS, 2TS는 재생을 한 상태인 것으로 예측한다(S140). It is possible to predict to what extent the fragment files included in the first playlist file are reproduced by the client based on the relationship between the segment interval indicating the interval of the fragment files included in the playlist file and the request input time. For example, assume that the segment interval is "1 second" and that a list of three fragmented files, i.e., 1TS, 2TS, 3TS, is transmitted in the first playlist file. In this state, when a new playlist request is input after 2 seconds, that is, a time from when the first playlist file is provided until a new playlist request is input, that is, when the request input time is "2 seconds & , The client 1TS and 2TS included in the first playlist file are predicted to be in a playback state (S140).

서버는 요청 입력 시간이 설정 간격보다 작은 경우에는, 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 클라이언트로 제공한다(S150, S160). 여기서, 설정 간격은 제1 재생 목록 파일에 포함된 모든 조각 파일들의 세그먼트 간격의 합으로, 제1 재생 목록 파일에 포함된 모든 조각 파일들이 재생되는데 소요되는 시간에 대응한다고 할 수 있다. If the request input time is smaller than the setting interval, the server determines whether or not the fragment file that has not yet been reproduced among the fragment files included in the first playlist file and the sequence that should be played after the last fragment file included in the first playlist file And provides the second playlist file to the client (S150, S160). Here, the setting interval corresponds to the sum of the segment intervals of all the fragment files included in the first play list file, and corresponds to the time required to reproduce all the fragment files included in the first play list file.

예를 들어, 세그먼트 간격이 "1초"이고, 3개의 TS 파일들의 리스트가 제공된 경우, 설정 간격은 "3초"일 수 있다. 요청 입력 시간이 예를 들어, 2초로서, 설정 간격보다 작은 경우에, 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일 3TS와, 이후에 재생되어야 하는 순서에 해당하는 4TS, 5TS의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 제공한다. 만약, 요청 입력 시간이 "1초"인 경우에는 2TS, 3TS, 4TS의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 제공한다. For example, if the segment interval is "1 second " and a list of three TS files is provided, the setting interval may be" 3 seconds ". If the request input time is, for example, 2 seconds and smaller than the setting interval, the piece file 3TS that has not yet been reproduced among the fragment files included in the first play list file, 4TS, and 5TS, and provides the second playlist file. If the request input time is "1 second ", a second playlist file including a list of 2TS, 3TS, and 4TS is generated and provided.

한편, 요청 입력 시간이 설정 간격보다 같거나 큰 경우에는, 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 클라이언트로 제공한다(S170). 예를 들어, 요청 입력 시간이 "3초"인 경우에는 4TS, 5TS, 6TS의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 제공한다. 그리고 요청 입력 시간이 "3초"보다 큰 "8초"인 경우에도 4TS, 5TS, 6TS의 리스트를 포함하는 제2 재생 목록 파일을 생성하여 제공한다. On the other hand, if the request input time is equal to or larger than the set interval, a second playlist file including a list of fragmented files corresponding to the order to be played after the last fragmented file included in the first playlist file is generated To the client (S170). For example, when the request input time is "3 seconds ", a second playlist file including a list of 4TS, 5TS, and 6TS is generated and provided. If the request input time is "8 seconds" larger than "3 seconds ", a second playlist file including a list of 4TS, 5TS and 6TS is generated and provided.

제2 재생 목록 파일에 포함되는 조각 파일들의 개수를 제2 설정 개수라고 할 경우, 제1 설정 개수와 제2 설정 개수는 동일하지만, 서로 다를 수도 있다. 재생 목록 파일에 포함되는 조각 파일들의 개수가 많은 경우에는, 클라이언트가 재생 목록 파일에 있는 조각 파일들을 최대한 빨리 가져 가려고 할 수 있으며, 이 경우, 서버에서 클라이언트의 재생 상태를 측정하는데 청크 목록만큼의 오차가 발생할 수 있으므로, 제1 및 제2 설정 개수는 적절하게 선택될 수 있으며, 본 발명의 실시 예에서는 클라이언트의 플레이어가 정상적으로 재생 동작을 수행할 수 있으며 버퍼링을 최소화할 수 있는 최소 조각 파일 수(예를 들어, 3개)를 토대로, 제1 및 제2 설정 개수를 설정할 수 있다. If the number of fragmented files included in the second playlist file is a second set number, the first set number and the second set number are the same, but may be different from each other. If the number of fragment files included in the playlist file is large, the client may try to retrieve the fragment files in the playlist file as soon as possible. In this case, The first and second set numbers can be appropriately selected. In the embodiment of the present invention, the number of the minimum fragmented files that can perform normal playback operation of the client and minimize the buffering For example, three), the first and second set numbers can be set.

위와 같은 방식으로, 광고 영상에 대한 VOD 파일을 구성하는 조각 파일들에 대한 재생 목록 파일을 클라이언트로부터의 요청시마다 제공하면서, 클라이언트의 재생 상태를 예측한 결과를 토대로 해당 순서에 해당하는 조각 파일들의 리스트를 포함하는 재생 목록 파일을 제공한다. In the above manner, while providing a play list file for fragment files constituting the VOD file for the advertisement video for each request from the client, the list of fragment files corresponding to the order And a playlist file.

재생 목록 파일 생성시, 광고 영상에 대한 VOD 파일의 마지막 조각 파일이 포함되는 경우(S180), 서버는 리스트의 마지막 부분에 "EXT-X-ENDLIST" 태그를 추가하여 마지막 조각 파일임을 표시하여 재생 목록 파일을 제공한다(S190). VOD 파일의 마지막 조각 파일이 포함되지 않는 경우에는 "EXT-X-ENDLIST" 태그 없이 해당 재생 목록 파일을 제공한다(S200). When generating the playlist file, if the last fragment file of the VOD file for the advertisement image is included (S180), the server adds the tag "EXT-X-ENDLIST" to the end of the list to indicate that it is the last fragment file, A file is provided (S190). If the last fragmented file of the VOD file is not included, the corresponding playlist file is provided without the "EXT-X-ENDLIST" tag (S200).

예를 들어, 요청된 VOD 파일의 모든 조각 파일들의 수가 100개라고 가정했을 경우, 기존에는 재생 목록 요청에 따라 100개의 조각 파일들 모두의 리스트(리스트의 마지막 부분에 EXT-X-ENDLIST가 있음)를 포함하는 재생 목록 파일을 한번 제공하는데 반하여, 본 발명의 실시 예에서는 재생 목록 요청시마다, 3개의 조각 파일들의 리스트만 제공하고, 100번째 조각 파일의 리스트를 주는 시점에 EXT-X-ENDLIST 태그를 추가하여 해당 재생 목록 파일을 제공한다. For example, assuming that the number of all fragmented files in the requested VOD file is 100, there is a list of all 100 fragmented files (EXT-X-ENDLIST at the end of the list) The EXT-X-ENDLIST tag is provided at the time of providing the list of the 100th fragmented file. In this case, And provides the corresponding playlist file.

한편, 서버는 클라이언트가 재생 목록 파일을 토대로 조각 파일을 요청하면 해당 조각 파일을 클라이언트로 제공함으로써, 클라이언트에서의 조각 파일 재생이 이루어진다. On the other hand, when the client requests the fragment file based on the play list file, the server provides the fragment file to the client, thereby playing back the fragment file on the client.

이와 같이 본 발명의 실시 예에서는 클라이언트의 VOD 요청에 대응하여 재생 목록 파일을 클라이언트의 재생 목록 요청시마다 제공함으로써, 클라이언트에서 재생이 어느 정도 진행되고 있는 지를 용이하게 트래킹할 수 있다. 또한, 일반적인 클라이언트의 플레이어에서는 라이브 스트리밍으로 인식되면 재생창에 탐색바(seek bar)를 디스플레이하지 않는 경우가 많아서, 클라이언트에서의 탐색(seeking)이 이루어지지 않게 된다. 플레이어에 따라 탐색 바가 디스플레이되는 경우에도, 재생목록 요청시마다 설정 개수(3개)의 조각 파일들(예를 들어 3초 분량의 파일들)의 리스트만 주기 때문에, 플레이어에서는 최대 3초만큼만 탐색을 할 수 있을 뿐이다. 탐색이 되더라도 서버에서는 주기적으로 플레이어에 전달되는 재생 목록을 재생 시간에 맞춰서 전달하게 되므로, 플레이어는 탐색한 만큼 기다리게 되어, 플레이어에서의 탐색을 정상적으로 하지 못하도록 할 수 있다. As described above, according to the embodiment of the present invention, it is possible to easily track how much playback is proceeding in the client by providing the playlist file in response to the VOD request of the client for each playlist request of the client. In addition, when a player of a general client recognizes a live streaming, seek bars are not displayed in the playback window, and seeking by the client is not performed. Even if the navigation bar is displayed according to the player, the player only searches for a maximum of 3 seconds since the player list only the set number (3) of fragmented files (for example, 3 seconds of files) I can only. Even if the search is performed, the server periodically transmits the play list delivered to the player in accordance with the playback time, so that the player waits for the search and can not normally search the player.

한편, 서버는 재생 목록 파일 제공시, 조각 파일 경로 뒤에 세션을 구분할 수 있는 ID를 인수(argument)로 전달하여, 이후의 클라이언트의 조각 파일 요청시 서버에서 해당 인수를 통해 세션을 관리할 수 있도록 한다. 클라이언트가 조각 파일을 받을 때마다 새로운 연결을 하기 때문에 특정 클라이언트의 요청이 있었을 때 처음 요청한 시점에 대한 이력관리를 하기 위해서 세션 관리를 수행한다. 여기서, 세션을 구분하기 위하여, 세션 ID를 사용하지만, 반드시 이에 한정되는 것은 아니다. On the other hand, when providing the playlist file, the server transmits an ID that can identify the session after the fragment file path as an argument so that the server can manage the session through the corresponding argument when requesting the fragment file of the subsequent client . When a client receives a fragment file, it performs a new connection. Therefore, when a specific client makes a request, the session management is performed to manage the history of the first requested time. Here, the session ID is used to identify the session, but the present invention is not limited thereto.

도 3은 본 발명의 실시 예에 따른 재생 목록 파일의 예시도이다. 3 is an illustration of a playlist file according to an embodiment of the present invention.

재생 목록 파일은 도 3에 예시된 바와 같이, 해당 파일이 M3U8 포맷을 사용한다는 것을 나타내는 지시어(#EXTM3U), 제일 먼저 재생해야 하는 파일의 일련 번호를 나타내는 지시어(#EXT-X-MEDIA-SEQUENCE), 목록 파일에 나열되는 각 파일의 최대 재생 시간을 나타내는 지시어(#EXT-X_TARGETDURATION), 해당 지시어의 다음에 나오는 TS 파일의 재생 시간을 나타내는 지시어(#EXTINF)를 포함할 수 있다. 또한, 재생 목록 파일의 호환 가능 버전을 나타내는 지시어(#EXT-X-VERSION)와, 조각 파일(청크 파일)의 캐싱 허용 여부를 나타내는 지시어(#EXT-X-ALLOW-CACHE)를 더 포함할 수 있다. 또한, 선택적으로 목록 파일에서 더 이상 재생할 파일이 없음을 나타내는 지시어(#EXT-X- ENDLIST)를 더 포함할 수 있다. The playlist file includes a directive (# EXTM3U) indicating that the file uses the M3U8 format, a directive (# EXT-X-MEDIA-SEQUENCE) indicating the serial number of the file to be played first, A directive (# EXT-X_TARGETDURATION) indicating the maximum playback time of each file listed in the list file, and a directive (#EXTINF) indicating the playback time of the TS file next to the directive. (# EXT-X-ALLOW-CACHE) indicating whether or not to permit caching of fragmented files (chunk files) can be further included have. In addition, it may further include a directive (# EXT-X-ENDLIST) indicating that no more files are to be reproduced in the list file.

도 3에 예시된 재생 목록 파일에 따르면, 재생할 조각 파일(TS 파일)들이 "media0.ts, media1.ts, media2.ts"이 있고, 각 TS 파일들의 재생 시간은 "1초"이며, 목록에 포함된 재생 시간은 "3초"인, VOD 영상에 관련된 파일들의 목록임을 알 수 있다. 또한, 세션 관리를 위하여, " solsessionid=1157801080"와 같은 ID를 제공한다. According to the playlist file exemplified in Fig. 3, there are " media0.ts, media1.ts, media2.ts "pieces of fragmented files (TS files) to be played back, the playback time of each TS file is" And the included reproduction time is "3 seconds ", which is a list of files related to the VOD image. Also, for session management, an ID such as "solsessionid = 1157801080" is provided.

도 4는 본 발명의 실시 예에 따른 동영상 시청 트래킹 장치의 구조를 나타낸 도이다. 4 is a diagram illustrating a structure of a moving picture viewing and tracking apparatus according to an embodiment of the present invention.

본 발명의 실시 예에 따른 동영상 시청 트래킹 장치(100)는, 도 4에서와 같이, 프로세서(11), 메모리(12) 및 송수신부(13)를 포함한다. 프로세서(11)는 위의 도 1 내지 도 3을 토대로 설명한 방법들을 구현하도록 구성될 수 있다. The moving picture viewing and tracking apparatus 100 according to the embodiment of the present invention includes a processor 11, a memory 12 and a transceiver 13 as shown in FIG. The processor 11 may be configured to implement the methods described above based on Figs.

이를 위하여, 프로세서(11)는 요청 수신부(110), 재생 예측부(120), 재생 목록 생성부(130), 재생 목록 제공부(140), 트래킹 처리부(150), 그리고 파일 제공부(160)를 포함할 수 있다. The processor 11 includes a request receiving unit 110, a reproduction predicting unit 120, a playlist generating unit 130, a playlist providing unit 140, a tracking processing unit 150, and a file providing unit 160, . ≪ / RTI >

요청 수신부(110)는 클라이언트로의 VOD 요청 및 재생 목록 요청을 수신하도록 구성된다. The request receiver 110 is configured to receive a VOD request and a playlist request to the client.

재생 예측부(120)는 클라이언트로 이전에 재생 목록 파일을 제공한 이후부터 현재 재생 목록 요청이 입력되기까지의 요청 입력 시간을 산출하고, 요청 입력 시간과 세그먼트 간격들을 토대로 클라이언트가 이전에 제공한 재생 목록 파일에 포함된 조각 파일들을 어느 정도 재생하였는지를 예측하도록 구성된다. The reproduction predicting unit 120 calculates a request input time from when the client previously provided the playlist file to when the current playlist request is input to the client, And predicts to what extent the fragmented files included in the list file have been reproduced.

재생 목록 생성부(130)는 요청 입력 시간과 설정 간격 그리고 재생 예측부(120)의 예측 결과를 토대로, 현재 재생 목록 요청에 대응하는 재생 목록 파일을 생성하도록 구성된다. 구체적으로, 재생 목록 생성부(130)는 요청 입력 시간이 설정 간격보다 작은 경우에는, 이전에 제공한 재생 목록 파일인 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성한다. 한편, 요청 입력 시간이 설정 간격보다 같거나 큰 경우에는, 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성한다. The playlist generation unit 130 is configured to generate a playlist file corresponding to the current playlist request based on the request input time, the setting interval, and the prediction result of the play prediction unit 120. [ Specifically, when the request input time is shorter than the set interval, the playlist generating unit 130 generates a playlist file that has not yet been played back among the fragment files included in the first playlist file, Generates a second playlist file including a list of fragment files corresponding to the order to be played after the last fragment file included in the first playlist file. On the other hand, if the request input time is equal to or larger than the setting interval, a second playlist file including a list of fragment files corresponding to the order to be played after the last fragment file included in the first playlist file is generated .

재생 목록 제공부(140)는 재생 목록 생성부(130)에 의해 전달되는 재생 목록 파일을 클라이언트로 제공하도록 구성된다. The playlist providing unit 140 is configured to provide the playlist file delivered by the playlist creating unit 130 to the client.

트래킹 처리부(150)는 재생 예측부(120)의 예측 결과와 재생 목록 제공부(140)에 의해 클라이언트로 제공한 재생 목록 파일과 제공된 조각 파일을 토대로, 클라이언트가 VOD 파일에 대응하는 조각 파일들을 어느 정도 재생하였는지를 트래킹하도록 구성된다. 재생 목록 파일을 클라이언트에 전달하였어도, 실제 클라이언트로부터 재생 목록에 포함된 조각 파일의 요청이 없었다면, 클라이언트가 마지막으로 요청하였던 조각 파일까지만 클라이언트에서 재생된 것으로 판단할 수 있다. 예를 들어, 전달된 재생 목록 파일에 11.TS, 12.TS, 13.TS이 있지만, 클라이언트에 의해 마지막으로 요청된 조각 파일이 10.TS인 경우, 10.TS까지만 재생된 것으로 판단한다. 이러한 트래킹을 토대로, 예를 들어, 추후 클라이언트로 제공한 광고 영상 등에 대한 비용 청구가 이루어질 수 있다. The tracking processing unit 150 may be configured to determine whether or not a piece of the fragmented files corresponding to the VOD file is to be reproduced by the client based on the prediction result of the reproduction prediction unit 120 and the playlist file provided to the client by the playlist providing unit 140, Is reproduced . Even if the playlist file is delivered to the client, if there is no request of the fragmented file included in the playlist from the actual client, it can be determined that only the fragmented file requested last by the client has been played back on the client. For example, if there is 11.TS, 12.TS, and 13.TS in the transferred playlist file but the last requested piece file is 10.TS, it is judged that only 10.TS has been played. Based on such tracking, for example, a charge for a commercial image or the like provided to a client in the future can be made.

파일 제공부(160)는 클라이언트로부터의 조각 파일 요청에 따라, 해당하는 조각 파일을 클라이언트로 제공하도록 구성된다. The file providing unit 160 is configured to provide the corresponding fragment file to the client according to the fragment file request from the client.

메모리(12)는 프로세서(11)와 연결되고 프로세서(11)의 동작과 관련한 다양한 정보를 저장한다. 송수신부(13)는 프로세서(11)와 연결되며 네트워크를 통하여 클라이언트와의 신호 송수신을 수행한다. The memory 12 is connected to the processor 11 and stores various information related to the operation of the processor 11. [ The transmission / reception unit 13 is connected to the processor 11 and transmits / receives signals to / from the client via the network.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.The embodiments of the present invention are not limited to the above-described apparatuses and / or methods, but may be implemented through a program for realizing functions corresponding to the configuration of the embodiment of the present invention, a recording medium on which the program is recorded And such an embodiment can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.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, It belongs to the scope of right.

Claims (12)

클라이언트에서의 동영상 시청을 트래킹하는 방법에서,
상기 클라이언트로부터 VOD(video on demand) 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들 중에서 설정 개수의 조각 파일들의 리스트를 포함하는 제1 재생 목록 파일을 상기 클라이언트로 제공하는 단계;
상기 클라이언트로부터 재생 목록 요청이 입력되면, 상기 클라이언트의 상기 조각 파일들의 재생 상태를 예측하는 단계;
상기 예측 결과를 토대로 설정 개수의 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계; 및
상기 제2 재생 목록 파일을 상기 클라이언트로 제공하는 단계
를 포함하고,
상기 제2 재생 목록 파일을 생성하는 단계는,
상기 제1 재생 목록 파일을 제공한 이후부터 추가적인 재생 목록 요청이 입력되기까지의 시간인 요청 입력 시간과 설정 간격을 비교하는 단계;
상기 요청 입력 시간이 상기 설정 간격보다 작은 경우에는, 상기 예측 결과를 토대로 이전에 제공한 재생 목록 파일인 상기 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과, 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계; 및
상기 요청 입력 시간이 상기 설정 간격보다 크거나 같은 경우에는, 상기 예측 결과를 토대로 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하는 단계
를 포함하는, 트래킹 방법.
In a method for tracking video watching on a client,
Providing a first playlist file to the client, the first playlist file including a set number of pieces of fragmented files among all fragmented files constituting a VOD file corresponding to a video on demand (VOD) request from the client;
Predicting a playback state of the fragmented files of the client when a playlist request is input from the client;
Generating a second playlist file including a list of pieces of pieces of pieces of files based on the prediction result; And
Providing the second playlist file to the client
Lt; / RTI >
Wherein the generating the second playlist file comprises:
Comparing a request input time and a setting interval, which is a time from when the first playlist file is provided until an additional playlist request is input;
A fragmented file that has not yet been reproduced from fragmented files included in the first playlist file, which is a playlist file previously provided based on the prediction result, when the request input time is smaller than the set interval, Generating a second playlist file including a list of fragment files corresponding to the order in which the first fragment file included in the first playlist file is to be reproduced; And
A second playlist file including a list of fragmented files corresponding to a sequence of playing back after the last fragment file included in the first playlist file based on the prediction result, if the request input time is greater than or equal to the setting interval, Steps to create a playlist file
. ≪ / RTI >
제1항에 있어서
상기 예측하는 단계는,
상기 요청 입력 시간을 산출하는 단계; 및
상기 요청 입력 시간과 상기 조각 파일의 재생 시간에 대응하는 세그먼트 간격을 토대로 상기 클라이언트의 상기 제1 재생 목록 파일에 포함된 조각 파일들의 재생 상태를 예측하는 단계
를 포함하는, 트래킹 방법.
The method of claim 1, wherein
Wherein the predicting comprises:
Calculating the request input time; And
Predicting a playback state of the fragmented files included in the first playlist file of the client based on the request input time and the segment interval corresponding to the playout time of the fragmented file
. ≪ / RTI >
삭제delete 제1항에 있어서
상기 설정 간격은 재생 목록 파일에 포함된 모든 조각 파일들의 세그먼트 간격의 합으로, 상기 재생 목록 파일에 포함된 모든 조각 파일들이 재생되는데 소요되는 시간에 대응하는, 트래킹 방법.
The method of claim 1, wherein
Wherein the setting interval corresponds to a sum of segment intervals of all fragmented files included in the playlist file, and corresponds to a time required for all the fragmented files included in the playlist file to be reproduced.
제1항에 있어서
상기 제2 재생 목록 파일을 상기 클라이언트로 제공하는 단계 이전에,
상기 VOD 파일의 마지막 조각 파일이 상기 제2 재생 목록 파일에 포함되는 경우, 마지막 조각 파일임을 표시하는 태그를 상기 제2 재생 목록 파일에 포함시키는 단계
를 더 포함하는, 트래킹 방법.
The method of claim 1, wherein
Prior to providing the second playlist file to the client,
If the last piece file of the VOD file is included in the second playlist file, including a tag indicating the last piece file in the second playlist file
≪ / RTI >
제1항에 있어서
상기 재생 목록 파일에 포함되는 조각 파일의 경로 뒤에 세션을 구분할 수 있는 ID를 인수(argument)로 포함시켜 제공하며, 상기 ID를 토대로 세션 관리가 수행되는, 트래킹 방법.
The method of claim 1, wherein
Providing an ID that can identify a session after the path of the fragment file included in the playlist file as an argument, and performing session management based on the ID.
제1항에 있어서
상기 VOD 영상은 광고 영상인, 트래킹 방법.
The method of claim 1, wherein
Wherein the VOD image is an advertisement image.
클라이언트에서의 동영상 시청을 트래킹하는 장치에서,
네트워크를 통하여 신호를 송수신하는 신호 송수신부; 그리고
상기 송수신부와 연결되고, 동영상 제공 처리를 수행하는 프로세서를 포함하며,
상기 프로세서는,
상기 클라이언트로부터 VOD(video on demand) 요청 및 재생 목록 요청을 수신하도록 구성되는 요청 수신부;
상기 클라이언트의 조각 파일들의 재생 상태를 예측하도록 구성되는 재생 예측부;
상기 재생 예측부의 예측 결과를 토대로, 상기 요청에 대응하는 VOD 파일을 구성하는 모든 조각 파일들 중에서 설정 개수의 조각 파일들의 리스트를 포함하는 재생 목록 파일을 생성하도록 구성되는 재생 목록 생성부; 및
상기 재생 목록 파일을 상기 송수신부를 통하여 상기 클라이언트로 제공하도록 구성되는 재생 목록 제공부
를 포함하고,
상기 재생 목록 생성부는,
제1 재생 목록 파일을 제공한 이후부터 추가적인 재생 목록 요청이 입력되기까지의 시간인 요청 입력 시간이 설정 간격보다 작은 경우에는, 상기 예측 결과를 토대로 이전에 제공한 재생 목록 파일인 제1 재생 목록 파일에 포함된 조각 파일들 중에서 아직 재생이 되지 않은 조각 파일과, 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하도록 구성되고; 그리고
상기 요청 입력 시간이 상기 설정 간격보다 크거나 같은 경우에는, 상기 예측 결과를 토대로 상기 제1 재생 목록 파일에 포함된 마지막 조각 파일 이후에 재생되어야 하는 순서에 해당하는 조각 파일들의 리스트를 포함하는 제2 재생 목록 파일을 생성하도록 구성되며,
상기 클라이언트로부터 재생 목록 요청시마다 상기 재생 목록 파일이 제공되는, 트래킹 장치.
In a device for tracking video viewing on a client,
A signal transmitting / receiving unit for transmitting / receiving a signal through a network; And
And a processor connected to the transceiver unit and performing a moving image providing process,
The processor comprising:
A request receiver configured to receive a video on demand (VOD) request and a playlist request from the client;
A reproduction predicting unit configured to predict a reproduction state of the fragment files of the client;
A playlist generation unit configured to generate a playlist file including a list of pieces of fragmented files of all the fragmented files constituting the VOD file corresponding to the request, based on the prediction result of the reproduction predictor; And
A playlist providing unit configured to provide the playlist file to the client through the transceiver unit;
Lt; / RTI >
Wherein the playlist generation unit comprises:
If the request input time, which is the time from when the first play list file is provided until the additional play list request is input, is smaller than the set interval, the first play list file And a second playlist file including a list of fragmented files corresponding to the order to be played after the last fragmented file included in the first playlist file ≪ / RTI > And
A second playlist file including a list of fragmented files corresponding to a sequence of playing back after the last fragment file included in the first playlist file based on the prediction result, if the request input time is greater than or equal to the setting interval, And to generate a playlist file,
Wherein the playlist file is provided for each playlist request from the client.
제8항에 있어서,
상기 재생 예측부는, 상기 요청 입력 시간을 산출하며, 상기 요청 입력 시간과 상기 조각 파일의 재생 시간에 대응하는 세그먼트 간격을 토대로 상기 클라이언트로 이전에 제공한 재생 목록 파일에 포함된 조각 파일들의 재생 상태를 예측하는, 트래킹 장치.
9. The method of claim 8,
Wherein the reproduction prediction unit calculates the request input time and determines a playback state of the fragmented files included in the playlist file previously provided to the client based on the request input time and the segment interval corresponding to the playback time of the fragmented file Tracking device.
삭제delete 제8항에 있어서
상기 설정 간격은 재생 목록 파일에 포함된 모든 조각 파일들의 세그먼트 간격의 합으로, 상기 재생 목록 파일에 포함된 모든 조각 파일들이 재생되는데 소요되는 시간에 대응하는, 트래킹 장치.
The method of claim 8, wherein
Wherein the setting interval corresponds to a sum of segment intervals of all fragmented files included in the playlist file, and corresponds to a time required for all the fragmented files included in the playlist file to be reproduced.
제9항에 있어서
상기 재생 예측부의 예측 결과와 상기 재생 목록 제공부에 의해 클라이언트로 제공한 재생 목록 파일을 토대로, 상기 클라이언트가 VOD 파일에 대응하는 조각 파일들을 어느 정도 재생하였는지를 트래킹하는 트래킹 처리부
를 더 포함하는, 트래킹 장치.
The method of claim 9, wherein
A tracking processing unit for tracking to what extent the client reproduces the fragmented files corresponding to the VOD file based on the prediction result of the reproduction prediction unit and the playlist file provided to the client by the playlist providing unit,
Further comprising:
KR1020160079471A 2016-06-24 2016-06-24 Method and apparatus for tracking video playing of client KR101841259B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160079471A KR101841259B1 (en) 2016-06-24 2016-06-24 Method and apparatus for tracking video playing of client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160079471A KR101841259B1 (en) 2016-06-24 2016-06-24 Method and apparatus for tracking video playing of client

Publications (2)

Publication Number Publication Date
KR20180001001A KR20180001001A (en) 2018-01-04
KR101841259B1 true KR101841259B1 (en) 2018-03-22

Family

ID=60998220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160079471A KR101841259B1 (en) 2016-06-24 2016-06-24 Method and apparatus for tracking video playing of client

Country Status (1)

Country Link
KR (1) KR101841259B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057478B1 (en) * 2018-02-27 2019-12-19 주식회사 솔박스 Method and apparatus for server based advertisement provision
KR102144527B1 (en) * 2019-02-27 2020-08-13 주식회사 솔박스 Method and apparatus for server based advertisement provision
US20230269417A1 (en) * 2020-08-28 2023-08-24 Lg Electronics Inc. Signal processing device and image display apparatus including same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383910B1 (en) * 2012-11-30 2014-04-17 주식회사 솔박스 Method and apparatus for maintaining session in connectionless streaming service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383910B1 (en) * 2012-11-30 2014-04-17 주식회사 솔박스 Method and apparatus for maintaining session in connectionless streaming service

Also Published As

Publication number Publication date
KR20180001001A (en) 2018-01-04

Similar Documents

Publication Publication Date Title
US20230319229A1 (en) System and method for modifying media streams using metadata
KR101750049B1 (en) Method and apparatus for adaptive streaming
KR101837687B1 (en) Method and apparatus for adaptive streaming based on plurality of elements determining quality of content
KR101737084B1 (en) Method and apparatus for streaming by inserting another content to main content
KR101786050B1 (en) Method and apparatus for transmitting and receiving of data
US10616297B2 (en) Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
US9462302B2 (en) Efficient delineation and distribution of media segments
US20080255943A1 (en) Refreshing advertisements in offline or virally distributed content
US20120272281A1 (en) Method and apparatus for transmitting media data, and method and apparatus for receving media data
KR20110053180A (en) Method and apparatus for data providing and receiving
KR20140097580A (en) Audio splitting with codec-enforced frame sizes
US20190373296A1 (en) Content streaming system and method
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
KR102085192B1 (en) Rendering time control
KR101841259B1 (en) Method and apparatus for tracking video playing of client
KR101936384B1 (en) Method and apparatus for providing playing list to force viewers to watch video
US10904588B1 (en) Stitching content streams together
KR101940973B1 (en) System for event based target advertising
KR20130059259A (en) Method and apparatus for providing advertisement into streaming service
KR101397183B1 (en) Method and apparatus for managing playlist file in streaming service
KR102659489B1 (en) Information processing devices, information processing devices and programs
KR102144527B1 (en) Method and apparatus for server based advertisement provision
KR101983005B1 (en) Method for providing target ad contents by broadcasting receiver type
KR102057478B1 (en) Method and apparatus for server based advertisement provision

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant