KR102144527B1 - Method and apparatus for server based advertisement provision - Google Patents

Method and apparatus for server based advertisement provision Download PDF

Info

Publication number
KR102144527B1
KR102144527B1 KR1020190023066A KR20190023066A KR102144527B1 KR 102144527 B1 KR102144527 B1 KR 102144527B1 KR 1020190023066 A KR1020190023066 A KR 1020190023066A KR 20190023066 A KR20190023066 A KR 20190023066A KR 102144527 B1 KR102144527 B1 KR 102144527B1
Authority
KR
South Korea
Prior art keywords
segment
client player
video
advertisement
request
Prior art date
Application number
KR1020190023066A
Other languages
Korean (ko)
Inventor
김현호
Original Assignee
주식회사 솔박스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 솔박스 filed Critical 주식회사 솔박스
Priority to KR1020190023066A priority Critical patent/KR102144527B1/en
Application granted granted Critical
Publication of KR102144527B1 publication Critical patent/KR102144527B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file

Abstract

Provided are a server-based advertisement providing method capable of avoiding advertisement blocking, and a device therefor. The advertisement providing device transmits a segment list that combines a list of advertisement image segments and a list of video segments in response to an image request from a client player, transmits an advertisement image segment when receiving a segment request first from the client player, and after all advertisement image segments are transmitted, transmits a corresponding video segment in response to a video segment request from the client player to the client player.

Description

서버 기반 광고 제공 방법 및 장치{Method and apparatus for server based advertisement provision}Server-based advertisement provision method and apparatus TECHNICAL FIELD [Method and apparatus for server based advertisement provision]

본 발명은 광고 제공 방법에 관한 것으로, 더욱 상세하게 말하자면 서버 기반으로 광고를 제공하는 방법 및 장치에 관한 것이다. The present invention relates to a method for providing advertisements, and more particularly, to a method and apparatus for providing advertisements based on a server.

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

근래에 인터넷 OTT(Over-The-Top) 서비스의 주요한 수익 모델로 광고를 포함하는 동영상(AVoD: Advertisement based VoD) 서비스가 활성화되고 있다. AVoD 서비스는 콘텐츠 제공자가 사용자에게 광고를 포함한 무료 동영상을 제공하고, 콘텐츠 제공자는 광고주로부터 광고수익을 얻는 서비스이다. 현재는 AVoD 서비스를 제공하기 위한 방법으로 클라이언트 기반의 광고 삽입 기술이 사용되고 있다. 클라이언트 기반의 광고 삽입 기술은 사용자가 동영상을 시청할 때, 사용자 단의 클라이언트 플레이어가 직접 서버에 영상을 요청하고, 서버로부터 제공되는 각각의 광고 영상과 콘텐츠 영상을 수신하고, 수신된 영상들을 연속으로 재생하는 방식이다.Recently, the AVoD (Advertisement based VoD) service is being activated as a major revenue model for the Internet Over-The-Top (OTT) service. AVoD service is a service where a content provider provides free videos including advertisements to users, and a content provider obtains advertising revenue from advertisers. Currently, a client-based advertisement insertion technology is used as a method for providing AVoD services. In the client-based ad insertion technology, when a user watches a video, a client player at the user end directly requests a video from the server, receives each advertisement video and content video provided from the server, and plays the received video continuously. This is the way to do it.

그러나 최근에 사용자단에 광고 차단 프로그램을 설치하여 클라이언트 플레이어의 광고 영상 재생을 차단하는 기술이 보급되고 있다. 클라이언트 기반의 광고 삽입 기술에서, 사용자 단의 클라이언트 플레이어가 광고 영상과 동영상을 각각 HTTP(HyperText Transfer Protocol) Request 메시지로 각각의 영상을 요청하는데, 이때, 사용자 단에 설치한 광고 차단 프로그램이, 클라이언트 플레이어가 광고 서버로 보내는 광고 요청 HTTP Request 메시지를 분석하여 해당 메시지를 차단함으로써, 손쉽게 광고 재생을 차단할 수 있다. 이에 따라 AVoD 서비스의 광고 수익을 저하시키는 문제가 발생하고 있다. However, in recent years, a technology for blocking the playback of advertisement video by a client player by installing an advertisement blocking program at the user level has been spreading. In the client-based ad insertion technology, a client player at the user end requests each image as an HTTP (HyperText Transfer Protocol) request message, respectively, and the ad blocking program installed at the user end is the client player. By analyzing the advertisement request HTTP Request message sent to the advertisement server and blocking the message, advertisement playback can be easily blocked. Accordingly, there is a problem of lowering the advertising revenue of AVoD service.

본 발명이 해결하고자 하는 과제는 광고 차단을 회피할 수 있는 서버 기반의 광고 제공 방법 및 장치를 제공하는 것이다. The problem to be solved by the present invention is to provide a server-based advertisement providing method and apparatus capable of avoiding advertisement blocking.

본 발명의 실시 예에 따른 방법은, 스트리밍 서비스에서 광고를 제공하는 방법으로서, 광고 제공 장치가, 클라이언트 플레이어로부터의 영상 요청에 따라 광고 영상 세그먼트들의 리스트와 동영상 세그먼트들의 리스트를 조합한 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하는 단계; 상기 광고 제공 장치가, 상기 클라이언트 플레이어로부터 첫번째로 세그먼트 요청을 수신하는 경우, 광고 영상 세그먼트를 전송하는 단계; 및 상기 광고 제공 장치가, 광고 영상 세그먼트가 모두 전송된 다음에, 상기 클라이언트 플레이어로부터 동영상 세그먼트 요청에 대응하여 해당하는 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계를 포함한다. A method according to an embodiment of the present invention is a method of providing an advertisement in a streaming service, wherein the advertisement providing device generates a segment list in which a list of advertisement video segments and a list of video segments are combined according to a video request from a client player. Transmitting to the client player; Transmitting an advertisement video segment when the advertisement providing device first receives a segment request from the client player; And transmitting, by the advertisement providing device, a corresponding video segment to the client player in response to a video segment request from the client player after all advertisement video segments have been transmitted.

상기 광고 영상 세그먼트를 전송하는 단계는, 상기 클라이언트 플레이어로부터 첫번째로 수신된 세그먼트 요청이 동영상 세그먼트 요청이어도, 해당하는 동영상 세그먼트 대신에 광고 영상 세그먼트를 전송할 수 있다. In the transmitting of the advertisement video segment, even if the segment request first received from the client player is a video segment request, an advertisement video segment may be transmitted instead of a corresponding video segment.

또한, 상기 광고 영상 세그먼트를 전송하는 단계는, 상기 클라이언트 플레이어로부터 첫번째로 수신된 세그먼트 요청이 동영상 세그먼트 또는 광고 영상 세그먼트 요청인지에 상관없이, 광고 영상 세그먼트들 중 첫번째 광고 영상 세그먼트를 전송할 수 있다. In addition, in the transmitting of the advertisement video segment, the first advertisement video segment among advertisement video segments may be transmitted regardless of whether the segment request first received from the client player is a video segment or an advertisement video segment request.

상기 방법은, 상기 광고 영상 세그먼트를 전송하는 단계 이후에, 상기 클라이언트 플레이어로부터의 세그먼트 요청마다 광고 영상 세그먼트를 순서대로 전송하는 단계를 더 포함할 수 있다. The method may further include, after transmitting the advertisement video segment, sequentially transmitting advertisement video segments for each segment request from the client player.

또한, 상기 방법은, 상기 광고 제공 장치가 상기 클라이언트 플레이어에 세션 ID를 할당하는 단계를 더 포함할 수 있으며, 클라이언트 플레이어별로 할당되는 세션 ID가 상이할 수 있다. In addition, the method may further include the step of allocating, by the advertisement providing device, a session ID to the client player, and session IDs allocated for each client player may be different.

한편, 상기 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하는 단계는, 상기 클라이언트 플레이어에 할당한 세션 ID를 추가적으로 전송할 수 있으며, 상기 클라이언트 플레이어로부터 수신되는 세그먼트 요청은 상기 할당된 세션 ID를 포함할 수 있다. Meanwhile, the transmitting of the segment list to the client player may additionally transmit a session ID allocated to the client player, and the segment request received from the client player may include the allocated session ID.

또한, 상기 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계는, 광고 영상 세그먼트가 모두 전송된 다음에, 불연속 태그를 상기 클라이언트 플레이어에 전송하는 단계; 및 상기 불연속 태그를 전송한 다음에 상기 클라이언트 플레이어로부터 동영상 세그먼트 요청에 대응하여 해당하는 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계를 포함할 수 있다. Further, the transmitting of the video segment to the client player may include transmitting a discontinuous tag to the client player after all advertisement video segments are transmitted; And transmitting a corresponding video segment to the client player in response to a video segment request from the client player after transmitting the discontinuous tag.

상기 불연속 태그를 상기 클라이언트 플레이어에 전송하는 단계는, 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트가 EXT-X-DISCONTINUITY 태그 이후에 리스팅되는 세그먼트 리스트를 상기 클라이언트 플레이어로 전송할 수 있다. In the transmitting of the discontinuous tag to the client player, a segment list in which a first segment of a video and a subsequent video segment are listed after an EXT-X-DISCONTINUITY tag may be transmitted to the client player.

본 발명의 다른 실시 예에 따른 장치는, 스트리밍 서비스에서 광고를 제공하는 장치로서, 클라이언트 플레이어와의 송수신을 수행하는 송수신부; 및 상기 송수신부를 통해 수신되는 상기 클라이언트 플레이어로부터의 영상 요청에 따라 광고 영상을 제공하도록 구성되는 프로세서를 포함하며, 상기 프로세서는 상기 영상 요청에 따라 광고 영상 세그먼트들의 리스트와 동영상 세그먼트들의 리스트를 조합한 세그먼트 리스트를 생성하여 상기 송수신부를 통해 상기 클라이언트 플레이어로 전송하도록 구성되는 리스트 생성부; 및 상기 송수신부를 통해 상기 클라이언트 플레이어로부터 첫번째로 세그먼트 요청을 수신하는 경우, 광고 영상 세그먼트를 상기 송수신부를 통해 전송하고, 광고 영상 세그먼트가 모두 전송된 다음에 상기 송수신부를 통해 수신하는 상기 클라이언트 플레이어로부터 동영상 세그먼트 요청에 대응하여 해당하는 동영상 세그먼트를 상기 송수신부를 통해 상기 클라이언트 플레이어로 전송하도록 구성되는 세그먼트 제공 처리부를 포함하도록 구성된다. According to another embodiment of the present invention, an apparatus for providing advertisements in a streaming service includes: a transmitting/receiving unit for transmitting/receiving to/from a client player; And a processor configured to provide an advertisement video according to a video request from the client player received through the transmission/reception unit, wherein the processor combines a list of advertisement video segments and a list of video segments according to the video request. A list generation unit configured to generate a list and transmit it to the client player through the transmission/reception unit; And when a segment request is first received from the client player through the transmission/reception unit, an advertisement video segment is transmitted through the transmission/reception unit, and a video segment from the client player receiving through the transmission/reception unit after all of the advertisement video segments are transmitted. And a segment providing processing unit configured to transmit a corresponding video segment to the client player through the transmission/reception unit in response to a request.

상기 세그먼트 제공 처리부는, 상기 클라이언트 플레이어로부터 첫번째로 수신된 세그먼트 요청이 동영상 세그먼트 또는 광고 영상 세그먼트 요청인지에 상관없이, 광고 영상 세그먼트들 중 첫번째 광고 영상 세그먼트를 상기 송수신부를 통해 전송하고, 상기 클라이언트 플레이어로부터의 세그먼트 요청마다 광고 영상 세그먼트를 순서대로 전송하도록 구성될 수 있다. Regardless of whether the segment request first received from the client player is a video segment or an advertisement video segment request, the segment providing processing unit transmits a first advertisement video segment among advertisement video segments through the transmission/reception unit, and from the client player It may be configured to sequentially transmit advertisement video segments for each segment request.

상기 프로세서는, 상기 클라이언트 플레이어에 세션 ID를 할당하도록 구성되는 세션 관리부를 더 포함하도록 구성될 수 있으며, 클라이언트 플레이어별로 할당되는 세션 ID가 상이할 수 있다. The processor may be configured to further include a session management unit configured to allocate a session ID to the client player, and session IDs allocated for each client player may be different.

상기 세션 관리부는 상기 클라이언트 플레이어에 할당한 세션 ID를 상기 세그먼트 리스트에 추가하여 전송하도록 구성될 수 있으며, 상기 클라이언트 플레이어로부터 수신되는 세그먼트 요청은 상기 할당된 세션 ID를 포함할 수 있다. The session management unit may be configured to transmit a session ID assigned to the client player to the segment list, and the segment request received from the client player may include the assigned session ID.

상기 세그먼트 제공 처리부는 추가로, 광고 영상 세그먼트가 모두 전송된 다음에, 불연연속 태그를 상기 클라이언트 플레이어에 전송하도록 구성될 수 있다. The segment providing processing unit may be further configured to transmit a discontinuous tag to the client player after all advertisement video segments are transmitted.

또한, 상기 세그먼트 제공 처리부는 구체적으로, 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트는 EXT-X-DISCONTINUITY 태그 이후에 리스팅되는 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하도록 구성될 수 있다. In addition, the segment providing processing unit may be specifically configured to transmit a segment list listing after the EXT-X-DISCONTINUITY tag to the client player in the first segment of the video and the subsequent video segment.

본 발명의 실시 예에 따르면, 사용자 단의 클라이언트 플레이어로부터의 동영상 요청시, 광고 제공 장치가 광고 영상과 동영상을 하나의 영상으로 결합하여 사용자에게 스트리밍함으로써, 광고차단 프로그램에 의한 광고영상요청 차단을 무력화시킨다. According to an embodiment of the present invention, when a video request is requested from a client player of a user, the advertisement providing device combines the advertisement video and the video into a single video and streams it to the user, thereby neutralizing the blocking of the advertisement video request by the advertisement blocking program. Let it.

특히, 클라이언트 플레이어로부터의 첫번째로 수신되는 세그먼트 요청에 대응하여 광고 영상 세그먼트를 전송하고, 광고 영상 세그먼트를 모두 전송한 다음에 클라이언트 플레이어가 요청하는 동영상의 세그먼트 전송을 시작함으로써, 클라이언트 플레이어에서 항상 광고 영상이 먼저 재생된 다음에 동영상 재생이 이루어진다. In particular, in response to the first segment request received from the client player, the advertisement video segment is transmitted, and after all the advertisement video segments are transmitted, the video segment requested by the client player starts to be transmitted. This is played first, followed by video playback.

따라서 클라이언트 플레이어에서의 광고차단 프로그램에 의한 광고 차단을 무력화하고, 콘텐츠 제공자의 광고수익을 보전할 수 있다. Therefore, it is possible to disable advertisement blocking by the advertisement blocking program in the client player, and to preserve the advertisement revenue of the content provider.

도 1은 스트리밍 서비스에서 서버측 광고 제공 과정을 나타낸 도이다.
도 2는 서버 기반 VoD 동영상 광고 삽입 방식이 HTTP 기반 스트리밍 방식을 이용하여 동영상 세그먼트에 광고 영상 세그먼트를 삽입하여 서비스하는 절차를 나타낸 흐름도이다.
도 3은 본 발명의 실시 예에 따른 서버 기반 광고 제공 방법의 흐름도이다.
도 4는 발명의 실시 예에 따른 광고 제공 장치의 구조를 나타낸 도이다.
1 is a diagram illustrating a server-side advertisement provision process in a streaming service.
FIG. 2 is a flow chart illustrating a procedure in which a server-based VoD video advertisement insertion method inserts an advertisement video segment into a video segment using an HTTP-based streaming method to serve.
3 is a flowchart of a server-based advertisement providing method according to an embodiment of the present invention.
4 is a diagram showing the structure of an advertisement providing apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various different forms, and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.Expressions described in the singular in the present specification may be interpreted as the singular or plural unless an explicit expression such as "one" or "single" is used.

또한, 본 발명의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first and second used in the embodiments of the present invention may be used to describe the elements, but the elements should not be limited by terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

이하, 도면을 참조하여 본 발명의 실시 예에 따른 서버 기반 광고 제공 방법 및 장치에 대하여 설명한다. Hereinafter, a server-based advertisement providing method and apparatus according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 스트리밍 서비스에서 서버측 광고 제공 과정을 나타낸 도이다. 1 is a diagram illustrating a server-side advertisement provision process in a streaming service.

HTTP(HyperText Transfer Protocol)를 사용한 HLS(Http Live Streaming) 등의 프로토콜을 사용하여 스트리밍 서비스를 제공하는 경우, 동영상 광고는, 클라이언트 기반 광고 삽입(Client Side Ad Insertion) 방식 또는 서버 기반 광고 삽입(Server Side Ad Insertion) 방식을 통해 제공된다. When a streaming service is provided using a protocol such as Http Live Streaming (HLS) using HTTP (HyperText Transfer Protocol), the video advertisement is a client-based ad insertion method or a server-based ad insertion method. Ad Insertion) method.

서버 기반 광고 삽입 방식에 따라 광고가 제공되는 경우, 도 1에서와 같이, 클라이언트 플레이어(player)로부터의 동영상 콘텐츠 요청에 따라, 광고 결합 플랫폼에서 광고 서버로부터 제공되는 광고 영상과 동영상을 하나의 파일 또는 스트림으로 처리하여 클라이언트로 제공하며, 클라이언트 플레이어는 광고 영상과 동영상을 재생한다. When advertisements are provided according to the server-based advertisement insertion method, as shown in FIG. 1, in accordance with a video content request from a client player, the advertisement image and video provided from the advertisement server in the advertisement combining platform are stored in one file or It is processed as a stream and provided to the client, and the client player plays the advertisement image and video.

HTTP 기반의 스트리밍 기술은 전체 동영상을 수초의 작은 청크 단위의 세그먼트(segment)로 잘게 쪼개서 전송하는 특징을 가진다. HTTP 라이브 스트리밍(HTTP Live Streaming, HLS라고도 명명함) 방식은, 동영상에 대응하는 미디어 파일을 예를 들어, 10초(일반적으로 5초~15초 사용) 정도의 작은 길이를 가지는 파일(예를 들어, MPEG-2 Transport Stream 파일)로 조각화한다. 조각화된 파일 즉, 세그먼트는 예를 들어, MPEG-2 TS(Transport Stream) 파일로 구성된다. 세그먼트들의 메타 정보인 재생목록 파일(재생목록(playlist) 파일 또는 매니피스트(manifest) 파일이라고 하며, 이하에서는 세그먼트 리스트라고 함)을 클라이언트 플레이어로 제공한다. 클라이언트 플레이어가 동영상 콘텐츠를 요청하는 경우, 동영상 서버가 세그먼트 리스트를 클라이언트 플레이어에게 전송하고, 클라이언트 플레이어는 수신된 세그먼트 리스트에 기록된 동영상의 세그먼트들을 순차적으로 동영상 서버에 요청하여 영상을 재생한다. The HTTP-based streaming technology has the characteristic of transmitting the entire video by breaking it into segments in small chunk units of several seconds. In the HTTP Live Streaming (HTTP Live Streaming, also called HLS) method, a media file corresponding to a video is stored, for example, as a file having a small length of about 10 seconds (usually 5 to 15 seconds). , MPEG-2 Transport Stream file). The fragmented file, that is, a segment, is composed of, for example, an MPEG-2 Transport Stream (TS) file. A playlist file (called a playlist file or a manifest file, hereinafter referred to as a segment list), which is meta information of segments, is provided to a client player. When a client player requests video content, the video server transmits a segment list to the client player, and the client player sequentially requests segments of the video recorded in the received segment list to the video server to play the video.

HTTP 라이브 스트리밍 방식에서 광고를 제공할 수 있으며, 일반적으로 동영상의 세그먼트에 광고 영상의 세그먼트를 삽입하는 방식으로 클라이언트 플레이어에 광고를 포함한 동영상을 전송한다. 그런데, 기존의 VoD 영상 광고 삽입에서 사용되는 세그먼트 리스트 생성 방식을 라이브 영상 전송에 사용할 경우 광고 영상의 세그먼트가 손실될 수 있다. Advertisements can be provided in the HTTP live streaming method. In general, a video including advertisements is transmitted to a client player by inserting an advertisement video segment into a video segment. However, when the segment list generation method used in the existing VoD video advertisement insertion is used for live video transmission, segments of the advertisement video may be lost.

도 2는 서버 기반 VoD 동영상 광고 삽입 방식이 HTTP 기반 스트리밍 방식을 이용하여 동영상 세그먼트에 광고 영상 세그먼트를 삽입하여 서비스하는 절차를 나타낸 흐름도이다. FIG. 2 is a flow chart illustrating a procedure in which a server-based VoD video advertisement insertion method inserts an advertisement video segment into a video segment using an HTTP-based streaming method to serve.

기존의 서버 기반 VoD 동영상 광고 삽입 방식이 HTTP 기반 스트리밍 방식을 이용하여 동영상 세그먼트에 광고 영상 세그먼트를 삽입하여 서비스하는 경우, 첨부한 도 2에서와 같이, 사용자가 동영상 재생버튼을 클릭하면, 사용자단의 클라이언트 플레이어가 동영상 서버에게 동영상을 요청하며, 이를 위해, HTTP Request 메시지를 동영상 서버로 전송한다(S100). When the existing server-based VoD video ad insertion method uses an HTTP-based streaming method to insert an advertisement video segment into a video segment and serves, as shown in FIG. 2, when a user clicks the video play button, the user end The client player requests a video from the video server, and for this, transmits an HTTP Request message to the video server (S100).

동영상 서버는 클라이언트 플레이어로부터의 HTTP Request 메시지를 수신하면, 삽입할 광고 영상을 광고 서버에게 요청한다(S110). 광고 서버는 삽입할 광고 영상을 동영상 서버로 제공한다(S120).When the video server receives the HTTP Request message from the client player, it requests an advertisement video to be inserted from the advertisement server (S110). The advertisement server provides an advertisement image to be inserted to the video server (S120).

동영상 서버는 제공할 동영상을 복수의 세그먼트로 조각화하고, 광고 영상을 복수의 세그먼트로 조각화하며, 이러한 동영상을 구성하는 세그먼트들의 리스트와 광고 영상을 구성하는 세그먼트들의 리스트를 조합한 하나의 세그먼트 리스트 파일을 생성한다(S130). 그리고 동영상 서버는 세그먼트 리스트 파일을 포함하는 HTTP response 메시지를 클라이언트 플레이어에게 전송한다(S140).The video server fragments the video to be provided into a plurality of segments, fragments the advertisement video into a plurality of segments, and creates a segment list file that combines the list of segments constituting the video and the list of segments constituting the advertisement video. Generate (S130). Then, the video server transmits an HTTP response message including a segment list file to the client player (S140).

클라이언트 플레이어는 세그먼트 리스트 파일에 명시된 순서대로 동영상 서버에 광고 영상 세그먼트와 동영상 세그먼트를 요청하여 수신하고 이를 순차적으로 재생한다(S150~S160). The client player requests and receives an advertisement video segment and a video segment from the video server in the order specified in the segment list file, and sequentially plays them (S150 to S160).

이때, 라이브 동영상의 경우, 단계(S150~S160)에서 클라이언트 플레이어의 종류에 따라 동영상이 순차적으로 재생되지 못해 광고 영상이 유실되는 문제점이 발생할 수 있다. 예를 들어, 클라이언트 플레이어가 받은 세그먼트 리스트 파일에서의 재생 순서가 #1660.ts, #1661.ts, #1662.ts, … 이라고 할 경우, 클라이언트 플레이어에 따라 #1662.ts 파일부터 요청할 수 있다. 이 경우 #1660.ts 부터가 광고 영상이라면 광고 영상 일부가 재생되지 못할 수 있으며, 경우에 따라 광고 영상 전체가 재생되지 못할 수 있다. 특히, 이러한 문제는 라이브 동영상에 대한 선행 광고(Pre-roll) 즉, 광고 영상의 파일이 제공된 다음에 동영상의 파일이 제공되는 형태에서 빈번히 발생한다.In this case, in the case of a live video, the video cannot be sequentially played according to the type of the client player in steps S150 to S160, and thus an advertisement video may be lost. For example, the playback order in the segment list file received by the client player is #1660.ts, #1661.ts, #1662.ts,… In the case of, depending on the client player, you can request from the #1662.ts file. In this case, if it is an advertisement video from #1660.ts, part of the advertisement video may not be played, and in some cases, the entire advertisement video may not be played. In particular, this problem frequently occurs in the form of a pre-roll for a live video, that is, a video file is provided after an advertisement video file is provided.

본 발명의 실시 예에서는 클라이언트 플레이어로부터의 첫번째 세그먼트 요청을 수신하면 광고 영상 세그먼트를 제공하여 클라이언트 플레이어가 광고 영상을 재생하도록 한다. 이에 따라, VoD 영상 광고 삽입에서 사용되는 세그먼트 리스트 생성 방식을 라이브 영상 전송에 사용할 경우 클라이언트 플레이어에 따라 선행 광고(Pre-roll)를 재생할 수 없는 문제를 해결할 수 있다. In an embodiment of the present invention, upon receiving a first segment request from a client player, an advertisement video segment is provided so that the client player plays the advertisement video. Accordingly, when the segment list generation method used in VoD video advertisement insertion is used for live video transmission, it is possible to solve a problem in that pre-roll cannot be played depending on the client player.

도 3은 본 발명의 실시 예에 따른 서버 기반 광고 제공 방법의 흐름도이다. 3 is a flowchart of a server-based advertisement providing method according to an embodiment of the present invention.

여기서, 동영상은 라이브로 서비스되는 원본 영상 즉, 콘텐츠 영상을 나타낸다. 서버기반 동영상 광고삽입 기술이 HTTP 기반 스트리밍을 이용하여 동영상 세그먼트에 광고영상 세그먼트를 삽입하여 라이브 동영상을 서비스하는 경우, 첨부한 도 3에서와 같이, 사용자가 동영상 재생버튼을 클릭하면, 사용자단의 클라이언트 플레이어(1)가 스트리밍 서버(2)에게 동영상을 요청하며, 이를 위해, HTTP Request 메시지를 스트리밍 서버(2)로 전송한다(S300). Here, the video represents an original video serviced live, that is, a content video. When the server-based video ad insertion technology provides a live video by inserting an advertisement video segment into a video segment using HTTP-based streaming, as shown in FIG. 3, when the user clicks the video play button, the user's client The player 1 requests a video from the streaming server 2, and for this, transmits an HTTP Request message to the streaming server 2 (S300).

스트리밍 서버(2)는 클라이언트 플레이어(1)로부터의 HTTP Request 메시지를 수신하면, 광고 서버(3)에 삽입할 광고 영상을 요청한다(S310). 광고 서버(3)는 삽입할 광고 영상을 스트리밍 서버(2)로 제공한다(S320).When the streaming server 2 receives the HTTP Request message from the client player 1, it requests an advertisement video to be inserted into the advertisement server 3 (S310). The advertisement server 3 provides an advertisement image to be inserted to the streaming server 2 (S320).

스트리밍 서버(2)는 제공할 동영상을 복수의 세그먼트로 조각화하고, 광고 영상을 복수의 세그먼트로 조각화하며, 이러한 동영상을 구성하는 세그먼트들의 리스트와 광고 영상을 구성하는 세그먼트들의 리스트를 조합한 영상 재생 리스트 즉, 하나의 세그먼트 리스트 파일을 생성하고 보관한다(S330). 본 발명의 실시 예에서는 클라이언트 플레이어별로 상이한 세션 ID를 할당하고, 요청에 세션 ID를 포함하여 요청하도록 한다. 동일 요청이라도 클라이언트 플레이어 별로 서로 다른 세그먼트(광고 영상 세그먼트 혹은 동영상 세그먼트)가 나가야 하기 때문에 이를 구분하기 위해, 클라이언트 플레이어 별로 상이한 세션 ID를 할당하고 요청에 세션 ID를 포함해서 요청하도록 한다. 스트리밍 서버(2)는 클라이언트 플레이어별로 할당한 세션 ID를 관리한다. The streaming server 2 fragments the video to be provided into a plurality of segments, fragments the advertisement video into a plurality of segments, and a video playlist that combines a list of segments constituting the video and a list of segments constituting the advertisement video. That is, one segment list file is created and stored (S330). In an embodiment of the present invention, a different session ID is allocated for each client player, and the request includes the session ID. Even with the same request, different segments (advertising video segments or video segments) must be sent out for each client player. To distinguish this, a different session ID is assigned to each client player, and the request includes a session ID. The streaming server 2 manages session IDs allocated for each client player.

스트리밍 서버(2)는 세그먼트 리스트 파일을 포함하는 HTTP response 메시지를 클라이언트 플레이어(1)에 전송한다(S340). 이때, 예를 들어, HTTP response 메시지에 클라이언트 플레이어에 할당된 세션 ID를 포함하여 전송한다. The streaming server 2 transmits an HTTP response message including a segment list file to the client player 1 (S340). At this time, for example, the HTTP response message includes the session ID assigned to the client player and transmits.

세그먼트 리스트 파일을 포함하는 HTTP response 메시지를 수신한 클라이언트 플레이어(1)는, 수신된 세그먼트 리스트 파일에 명시된 순서를 기반으로 스트리밍 서버(2)에 세그먼트를 요청한다(S350). 이때, 예를 들어, 클라이언트 플레이어는 세그먼트 요청에 세션 ID를 포함하여 스트리밍 서버(2)로 전송한다. Upon receiving the HTTP response message including the segment list file, the client player 1 requests a segment from the streaming server 2 based on the order specified in the received segment list file (S350). At this time, for example, the client player transmits the segment request to the streaming server 2 including the session ID.

스트리밍 서버(2)는 클라이언트 플레이어(1)로부터 첫번째 세그먼트 요청을 수신하면, 요청된 세그먼트를 광고 영상 세그먼트로 변경하여 클라이언트 플레이어(1)에 전송한다(S360). 예를 들어, 도 3에서와 같이, 광고 영상 세그먼트가 media_1660.ts~media_1664.ts이고, 동영상 세그먼트가 media_1665.ts 부터인 경우, 클라이언트 플레이어(1)로부터 첫번째로 수신된 세그먼트 요청이 " media_1662.ts"임에도 불구하고, 스트리밍 서버(2)는 광고 영상 세그먼트인 media_1660.ts 를 전송한다. When the streaming server 2 receives the first segment request from the client player 1, it converts the requested segment into an advertisement video segment and transmits it to the client player 1 (S360). For example, as shown in FIG. 3, when the advertisement video segment is media_1660.ts~media_1664.ts and the video segment is from media_1665.ts, the segment request first received from the client player 1 is “media_1662.ts”. "Even though, the streaming server 2 transmits the advertisement video segment media_1660.ts.

스트리밍 서버(2)는 광고 영상 세그먼트를 전부 전송할 때까지 클라이언트 플레이어(1)가 요청한 세그먼트를 광고 영상 세그먼트로 바꿔서 클라이언트 플레이어(1)에 전송한다. 스트리밍 서버(2)는 모든 광고 영상 세그먼트의 전송이 완료된 다음에(S370), 클라이언트 플레이어(1)가 요청하는 영상의 세그먼트 전송을 시작한다. 예를 들어, 클라이언트 플레이어(1)로부터 첫번째로 수신된 세그먼트 요청 " media_1662.ts"부터 광고 영상 세그먼트인 media_1660.ts 를 전송하기 시작하여, 광고 영상 세그먼트 media_1660.ts~media_1664.ts를 모두 전송한 다음에, 클라이언트 플레이어(1)로부터 수신된 세그먼트 요청 " media_1667.ts"에 대응하여 동영상 세그먼트 media_1667.ts를 전송한다(S380, S390). The streaming server 2 converts the segment requested by the client player 1 into an advertisement video segment and transmits it to the client player 1 until all advertisement video segments are transmitted. After all the advertisement video segments are transmitted (S370), the streaming server 2 starts transmitting the video segments requested by the client player 1. For example, from the segment request "media_1662.ts" first received from the client player 1, the advertisement video segment media_1660.ts is started to be transmitted, and all advertisement video segments media_1660.ts~media_1664.ts are transmitted, and then all of the advertisement video segments media_1660.ts~media_1664.ts are transmitted. In response to the segment request "media_1667.ts" received from the client player 1, the video segment media_1667.ts is transmitted (S380, S390).

이때, 스트리밍 서버(2)는 EXT-X-DISCONTINUITY 태그를 전송한 다음에 동영상 세그먼트 media_1667.ts를 전송할 수 있다. EXT-X-DISCONTINUITY 태그는 광고 영상 세그먼트와 동영상 세그먼트를 구분하기 위한 불연속 태그를 나타낸다. 클라이언트 플레이어(1)는 EXT-X-DISCONTINUITY 태그를 기준으로 이전에 기술된 세그먼트와 이후에 기술되는 세그먼트가 불연속하는 세그먼트인 것으로 인식할 수 있으며, 이 경우, EXT-X_DISCONTINUITY 이후 수신되는 TS 파일을 재생하기 전에 플레이어를 재설정해서 영상을 재생할 수도 있다. At this time, the streaming server 2 may transmit the video segment media_1667.ts after transmitting the EXT-X-DISCONTINUITY tag. The EXT-X-DISCONTINUITY tag represents a discontinuous tag for distinguishing an advertisement video segment and a video segment. Based on the EXT-X-DISCONTINUITY tag, the client player 1 can recognize that the previously described segment and the later described segment are discontinuous segments, and in this case, play the TS file received after EXT-X_DISCONTINUITY. You can also reset the player before playing the video.

동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트는 세그먼트 리스트 파일의 EXT-X-DISCONTINUITY 태그 이후에 리스팅 되어 전달될 수 있다. The first segment of the video and subsequent video segments may be listed and delivered after the EXT-X-DISCONTINUITY tag of the segment list file.

한편, 스트리밍 서버(2)는 클라이언트 플레이어로부터의 세그먼트 요청에 포함된 세션 ID를 토대로 해당 세션을 확인하고, 해당 세션의 세그먼트 리스트 파일에 따라 위에 기술된 바와 같이, 광고 영상 세그먼트를 모두 전송한 다음에 동영상 세그먼트를 전송할 수 있다. On the other hand, the streaming server 2 checks the session based on the session ID included in the segment request from the client player, and transmits all advertisement video segments as described above according to the segment list file of the session. You can send video segments.

클라이언트 플레이어(1)는 세그먼트 리스트 파일에 명시된 순서대로 스트리밍 서버(2)에 동영상 세그먼트를 요청하여 순차적으로 재생한다. The client player 1 requests video segments from the streaming server 2 in the order specified in the segment list file and sequentially plays them.

위에 기술된 바와 같은 본 발명의 실시 예에서, 스트리밍 서버가 클라이언트 플레이어로부터 첫번째 세그먼트 요청을 수신하는 경우 요청된 세그먼트를 광고 영상 세그먼트로 변경하여 전송하는 과정을 보다 구체적으로 설명한다. In the embodiment of the present invention as described above, when the streaming server receives a first segment request from a client player, a process of converting the requested segment to an advertisement video segment and transmitting it will be described in more detail.

여기서, HTTP 라이브 스트리밍(HLS)의 청크(chunk, TS 파일을 나타내며, 세그먼트에 대응함)의 세그먼트 듀레이션(segment duration)과 광고의 GOP(Group of Pictures)는 동일하거나, 세그먼트 듀레이션이 GOP의 배수이어야 한다. Here, the segment duration of the HTTP Live Streaming (HLS) chunk (representing a TS file, corresponding to the segment) and the  GOP (Group of Pictures) of the advertisement must be the same, or the segment duration must be a multiple of GOP. .

HLS 클라이언트 플레이어는 VOD(리스트에 EXT-X-ENDLIST 태그가 있음)의 경우 세그먼트 리스트에서 첫번째 세그먼트부터 요청을 하지만, 라이브(리스트에 EXT-X-ENDLIST 태그가 없음)의 경우 플레이어에 따라 세그먼트 리스트에 있는 어떤 세그먼트를 요청할지를 알 수 없다. 이를 고려하여, 본 발명의 실시 예에서는 클라이언트 플레이어로부터 첫번째로 수신되는 세그먼트 요청을 기준으로 광고 영상을 매핑하여 제공한다. 그리고 원본의 세그먼트 리스트를 고치지 않고 클라이언트에게 전달하며, 첫번째로 세그먼트 요청을 수신하면 광고 영상 세그먼트를 클라이언트 플레이어에게 제공하며, 광고 영상 세그먼트 모두가 전송되고 동영상 세그먼트가 전송되는 시점에서, 불연속 태그인 EXT-X-DISCONTINUITY를 사용한다. HLS client player requests from the first   segment in the segment list in case of VOD (there is an EXT-X-ENDLIST tag in the list), but in case of  live (there is no EXT-X-ENDLIST tag in the list), the segment list is displayed according to the player. There is no way to know which segment to request. In consideration of this, in an embodiment of the present invention, an advertisement image is mapped and provided based on a segment request first received from a client player. In addition, the original segment list is delivered to the client without modification, and when the segment request is first received, the advertisement video segment is provided to the client player. Use X-DISCONTINUITY.

예를 들어, 세그먼트의 간격이 2초이고, 광고 영상이 10초인 경우, 광고 영상은 5개의 세그먼트로 구성된다. 구성되는 TS 파일인 광고 영상 세그먼트가 ad1.ts ~ad5.ts 라고 하자. 이러한 광고 영상 세그먼트의 목록을 포함하는 세그먼트 리스트가 클라이언트 플레이어에게 제공된다. 제공된 세그먼트 리스트가 하기의 표 1과 같을 수 있다. For example, if the interval of segments is 2 seconds and the advertisement video is 10 seconds, the advertisement video is composed of 5 segments. Let the ad video segment, which is a composed TS file, be ad1.ts ~ad5.ts. A segment list including a list of such advertisement video segments is provided to the client player. The provided segment list may be as shown in Table 1 below.

Figure 112019020584474-pat00001
Figure 112019020584474-pat00001

이러한 세그먼트 리스트를 토대로 클라이언트 플레이어가 세그먼트를 요청하는데, 클라이언트 플레이어에 따라 세그먼트 리스트의 첫번째 세그먼트인 media_16671.ts를 요청할 수 있으며 또는 임의 번째 세그먼트인 media_16672.ts를 요청할 수도 있다. Based on this segment list, a client player requests a segment. Depending on the client player, the first segment of the segment list, media_16671.ts, may be requested, or the arbitrary segment, media_16672.ts, may be requested.

클라이언트  플레이어가 예를 들어, 첫번째로 요청한 세그먼트가 "media_16672.ts"인 경우, 동영상 서버는 이를 광고의 시작 지점으로 보고 광고 영상 세그먼트를 전송한다. 즉, 첫번째로 요청한 세그먼트인 media_16672.ts 대신에 광고 영상 세그먼트인 ad1.ts를 전송한다. When the client     player   For example, if the first requested segment is "media_16672.ts", the video server sees this as the starting point of the advertisement and transmits the advertisement video segment. That is, instead of the first requested segment, media_16672.ts , ad1.ts, an advertisement video segment, is transmitted.

이후 세그먼트 리스트에 따라 클라이언트  플레이어로부터 media_16673.ts가 요청되면 스트리밍 서버는 ad2.ts를 전송하고, media_16674.ts가 요청되면 ad3.ts를 전송하며, media_16675.ts가 요청되면 ad4.ts를 전송하고, media_16676.ts가 요청되면 ad5.ts를 전송하는 방식으로, 광고 영상 세그먼트 ad1.ts ~ad5.ts를 전송한다. After that, according to the  segment list, when media_16673.ts is requested from the client  player, the streaming server transmits ad2.ts, when media_16674.ts is requested, ad3.ts is transmitted, and ad4.ts is transmitted when media_16675.ts is requested, and ad4.ts is transmitted. When media_16676.ts is requested, ad5.ts is transmitted, and advertisement video segments ad1.ts ~ad5.ts are transmitted.

클라이언트  플레이어로부터의 첫번째 세그먼트 요청을 수신한 다음부터 광고 영상 세그먼트를 전송하기 시작하고 클라이언트  플레이어로부터의 세그먼트 요청에 따라 광고 영상 세그먼트 전부를 전송한 다음에, 동영상 세그먼트를 전송한다. 즉, media_16676.ts 요청에 따라 ad5.ts가 전송되어 광고 영상 세그먼트가 모두 클라이언트 플레이어로 전송된 다음에, media_16677.ts가 요청되면, 스트리밍 서버는 동영상 세그먼트 media_16677.ts를 그대로 전송한다. After receiving the first segment request from the client    player, the advertisement video segment starts to be transmitted, and all advertisement video segments are transmitted according to the segment request from the client    player, and then the video segment is transmitted. That is, ad5.ts is transmitted according to the request of media_16676.ts, and all advertisement video segments are transmitted to the client player. Then, if media_16677.ts is requested, the streaming server transmits the video segment  media_16677.ts as it is.

이때, 스트리밍 서버는 EXT-X-DISCONTINUITY를 전송해서, 광고 영상 스트림에서 동영상 스트림으로 바뀌었음을 클라이언트 플레이어에 알려준다.At this time, the streaming server transmits EXT-X-DISCONTINUITY to inform the client player that the advertisement video stream has been changed to a video stream.

예를 들어, 하기의 표 2와 같이, media_16676.ts 요청에 대응하여 ad5.ts를 전송한 다음에 EXT-X-DISCONTINUITY를 전송해서 이후에 전송되는 세그먼트는 불연속 세그먼트 즉, 다른 스트림인 동영상의 세그먼트임을 알려준다. For example, as shown in Table 2 below, after ad5.ts is transmitted in response to the media_16676.ts request, EXT-X-DISCONTINUITY is transmitted, and the segment transmitted later is a discontinuous segment, that is, a segment of a video that is another stream. It tells you that.

Figure 112019020584474-pat00002
Figure 112019020584474-pat00002

예를 들어, 광고 영상 세그먼트를 모두 전송한 다음에, 위의 표 2와 같이 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트는 EXT-X-DISCONTINUITY 태그 이후에 리스팅되는 세그먼트 리스트를 클라이언트 플레이어로 전송한 다음에, 세그먼트 요청에 따라 동영상 세그먼트를 전송할 수 있다. For example, after transmitting all advertising video segments, as shown in Table 2 above, the first and subsequent video segments of the video transmit the list of segments listed after the EXT-X-DISCONTINUITY tag to the client player. , The video segment may be transmitted according to the segment request.

한편, 다른 유형의 클라이언트  플레이어는 위의 예시와는 달리, 첫번째로 요청한 세그먼트가 "media_16674.ts"일 수 있다. 이 경우 스트리밍 서버는 이를 광고의 시작 지점으로 보고 광고 영상 세그먼트를 전송하며, 이에 따라 클라이언트 플레이어로부터의 "media_16674.ts" 부터 "media_16678.ts"까지의 요청에 대응하여 광고 영상 세그먼트 ad1.ts ~ad5.ts를 전송하고, 클라이언트 플레이어로부터의 "media_16679.ts" 요청부터, 대응하는 동영상 세그먼트 "media_16679.ts"를 전송한다. Meanwhile, in the case of other types of client    players, unlike the above example, the segment requested first may be "media_16674.ts". In this case, the streaming server sees this as the starting point of the advertisement and transmits the advertisement video segment, and accordingly, the advertisement video segment ad1.ts ~ad5 in response to the request from "media_16674.ts" to "media_16678.ts" from the client player. The .ts is transmitted, and the corresponding video segment "media_16679.ts" is transmitted from the "media_16679.ts" request from the client player.

동일 요청이라도 클라이언트 플레이어 별로 서로 다른 세그먼트(광고 혹은 동영상)가 나가야 하기 때문에(예를 들어, 제1 클라이언트 플레이어의 "media_16677.ts"에 응답하여 동영상 세그먼트를 전송하는 반면, 제2 클라이언트 플레이어의 "media_16677.ts"에 응답하여 광고 영상 세그먼트를 전송함), 클라이언트 플레이어별로 상이한 세션 ID를 할당하고, 이를 토대로 세션을 구분하여 세그먼트 전송을 수행한다. 그리고, 클라이언트 플레이어는 세그먼트 요청에 세션 ID를 포함하여 요청한다. 이를 위해, 스트리밍 서버는 클라이언트 플레이어별로 할당된 세션 ID에 대응하여 해당 클라이언트 플레이어에 전송한 세그먼트 리스트 파일을 관리하며, 세션 ID에 대응하여 세그먼트 요청에 따라 전송된 세그먼트 내역을 기록할 수 있다. 이에 따라 세션별로 세그먼트 요청에 따라 광고 영상 세그먼트 또는 동영상 세그먼트가 전송된다. Even with the same request, different segments (advertising or video) must be sent for each client player (for example, in response to "media_16677.ts" of the first client player, a video segment is transmitted, while "media_16677 of the second client player" In response to ".ts", an advertisement video segment is transmitted), a different session ID is allocated for each client player, and a segment is transmitted by classifying a session based on this. Then, the client player requests a segment request including a session ID. To this end, the streaming server manages a segment list file transmitted to a corresponding client player in response to a session ID allocated for each client player, and records the segment details transmitted according to a segment request in response to the session ID. Accordingly, an advertisement video segment or a video segment is transmitted according to a segment request for each session.

위에 기술된 실시 예에 따르면, 클라이언트 플레이어로부터 첫번째로 수신된 세그먼트 요청이 동영상 세그먼트 또는 광고 영상 세그먼트 요청인지에 상관없이, 광고 영상 세그먼트들 중 첫번째 광고 영상 세그먼트를 전송하고, 이후 광고 영상 세그먼트를 모두 전송한 다음에 클라이언트 플레이어가 요청하는 동영상의 세그먼트 전송을 시작할 수 있다. 따라서, 클라이언트 플레이어에서 항상 광고 영상이 먼저 재생된 다음에 동영상 재생이 이루어지며, 이에 따라 클라이언트 플레이어에서의 광고 차단을 회피할 수 있다. According to the above-described embodiment, regardless of whether the segment request first received from the client player is a video segment or an advertisement video segment request, the first advertisement video segment among the advertisement video segments is transmitted, and then all advertisement video segments are transmitted. After that, you can start sending segments of the video that the client player requests. Accordingly, an advertisement video is always played first in a client player, and then a video is played back, thereby avoiding advertisement blocking in the client player.

도 4는 발명의 실시 예에 따른 광고 제공 장치의 구조를 나타낸 도이다. 4 is a diagram showing the structure of an advertisement providing apparatus according to an embodiment of the present invention.

첨부한 도 4에 도시되어 있듯이, 본 발명의 실시 예에 따른 광고 제공 장치(200)는 프로세서(210), 메모리(220) 및 송수신부(230)를 포함한다. 이러한 광고 제공 장치(200)는 스트리밍 서버에 포함되는 형태로 구현될 수 있다. As shown in the accompanying FIG. 4, the advertisement providing apparatus 200 according to an embodiment of the present invention includes a processor 210, a memory 220, and a transmission/reception unit 230. The advertisement providing device 200 may be implemented in a form included in a streaming server.

프로세서(210)는 위의 도 3을 토대로 설명한 방법 및 동작을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(210)는 세그먼트 처리부(211), 리스트 생성부(212), 세션 관리부(213), 세그먼트 제공 처리부(214)를 포함한다. The processor 210 may be configured to implement the method and operation described based on FIG. 3 above. For example, the processor 210 includes a segment processing unit 211, a list generation unit 212, a session management unit 213, and a segment provision processing unit 214.

세그먼트 처리부(211)는 광고 서버(3)로부터 제공되는 광고 영상과 스트리밍 서비스를 위한 콘텐츠 영상인 동영상을 복수의 조각 파일인 세그먼트로 조각화하도록 구성된다. The segment processing unit 211 is configured to segment an advertisement image provided from the advertisement server 3 and a video, which is a content image for a streaming service, into a plurality of segment files.

리스트 생성부(212)는 광고 영상 세그먼트들의 리스트와 동영상 세그먼트들의 리스트를 포함한 영상 재생 리스트인 세그먼트 리스트 파일을 생성하도록 구성된다. The list generation unit 212 is configured to generate a segment list file, which is a video play list including a list of advertisement video segments and a list of video segments.

세션 관리부(213)는 클라이언트 플레이어별로 세션 ID를 할당하고, 할당된 세션 ID에 대응하는 세그먼트 리스트 파일 및 세그먼트 전송 내역들을 저장 및 관리하도록 구성된다. The session management unit 213 is configured to allocate a session ID for each client player, and to store and manage a segment list file and segment transmission details corresponding to the assigned session ID.

세그먼트 제공 처리부(214)는 클라이언트 플레이어(1)로부터의 세그먼트 요청에 따라 해당 조각 파일 즉, 세그먼트를 제공하도록 구성된다. 구체적으로, 세그먼트 제공 처리부(214)는, 클라이언트 플레이어(1)로부터 첫번째로 세그먼트 요청을 수신하면, 요청된 세그먼트를 광고 영상 세그먼트로 변경하여 클라이언트 플레이어(1)에 제공하며, 광고 영상 세그먼트를 전부 전송할 때까지 클라이언트 플레이어(1)가 요청한 세그먼트를 광고 영상 세그먼트로 바꿔서 클라이언트 플레이어(1)에 제공한다. 모든 광고 영상 세그먼트의 전송이 완료된 다음에 클라이언트 플레이어(1)가 요청하는 동영상의 세그먼트 전송을 시작한다. 또한, 세그먼트 제공 처리부(214)는 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트는 세그먼트 리스트 파일의 EXT-X-DISCONTINUITY 태그 이후에 리스팅 되어 전달될 수 있도록 한다. The segment providing processing unit 214 is configured to provide a corresponding piece file, that is, a segment according to a segment request from the client player 1. Specifically, when receiving a segment request from the client player 1 for the first time, the segment providing processing unit 214 converts the requested segment into an advertisement video segment and provides it to the client player 1, and transmits all advertisement video segments. Until then, the segment requested by the client player 1 is replaced with an advertisement video segment and provided to the client player 1. After all the advertisement video segments have been transmitted, the client player 1 starts transmitting the video segment requested. In addition, the segment providing processing unit 214 allows the first segment of the video and subsequent video segments to be listed and delivered after the EXT-X-DISCONTINUITY tag of the segment list file.

메모리(220)는 프로세서(210)와 연결되고 프로세서(210)의 동작과 관련한 다양한 정보를 저장한다. 메모리(220)는 프로세서(210)에서 수행하기 위한 동작을 위한 명령어(instructions)를 저장하고 있거나 저장 장치(도시하지 않음)로부터 명령어를 로드하여 일시 저장할 수 있다. 메모리(220)는 예를 들어, 광고 영상 및 동영상을 저장하는 별도의 저장 장치를 포함하도록 구성될 수 있다. The memory 220 is connected to the processor 210 and stores various information related to the operation of the processor 210. The memory 220 may store instructions for an operation to be performed by the processor 210 or may temporarily store an instruction by loading it from a storage device (not shown). The memory 220 may be configured to include, for example, a separate storage device that stores an advertisement image and a video.

프로세서(210)는 메모리(220)에 저장되어 있거나 로드된 명령어를 실행할 수 있다. 프로세서(210)와 메모리(220)는 버스(도시하지 않음)를 통해 서로 연결되어 있으며, 버스에는 입출력 인터페이스(도시하지 않음)도 연결되어 있을 수 있다. The processor 210 may execute an instruction stored or loaded in the memory 220. The processor 210 and the memory 220 are connected to each other through a bus (not shown), and an input/output interface (not shown) may also be connected to the bus.

송수신부(230)는 프로세서(210)의 처리 결과를 출력하거나, 수신되는 데이터를 프로세서(210)로 제공하도록 구성된다. 송수신부(230)는 예를 들어, 광고 서버(2)와의 송수신을 수행하여 광고 영상을 프로세서(210)에 제공할 수 있으며, 또는 클라이언트 플레이어(1)와의 송수신을 수행하여 클라이언트 플레이어(1)로부터의 세그먼트 요청을 프로세서(210)로 전달하고, 프로세서(210)로부터 전달되는 세그먼트를 클라이언트 플레이어(1)로 전송하도록 구성될 수 있다. The transmission/reception unit 230 is configured to output a result of processing by the processor 210 or provide received data to the processor 210. The transmission/reception unit 230 may, for example, transmit/receive with the advertisement server 2 to provide an advertisement image to the processor 210, or perform transmission/reception with the client player 1 to transmit/receive from the client player 1 It may be configured to transmit the segment request of the processor 210 and transmit the segment transmitted from the processor 210 to the client player 1.

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

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (14)

스트리밍 서비스에서 광고를 제공하는 방법으로서,
광고 제공 장치가, 클라이언트 플레이어로부터의 영상 요청에 따라 광고 영상 세그먼트들의 리스트와 동영상 세그먼트들의 리스트를 조합한 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하는 단계;
상기 광고 제공 장치가, 상기 세그먼트 리스트를 전송한 이후에 상기 클라이언트 플레이어로부터 첫번째로 세그먼트 요청을 수신하는 경우, 상기 세그먼트 리스트에서 상기 첫번째로 수신된 세그먼트 요청에 대응하는 순서의 세그먼트가 아닌, 광고 영상 세그먼트들 중 첫번째 광고 영상 세그먼트부터 상기 클라이언트 플레이어로 전송하기 시작하는 단계; 및
상기 광고 제공 장치가, 상기 광고 영상 세그먼트들이 모두 전송된 다음에, 상기 클라이언트 플레이어로부터 수신되는 동영상 세그먼트 요청에 대응하여 상기 세그먼트 리스트에서 해당하는 순서의 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계
를 포함하는 광고 제공 방법.
As a method of providing advertisements in a streaming service,
Transmitting, by an advertisement providing apparatus, a segment list obtained by combining a list of advertisement video segments and a list of video segments to the client player according to a video request from the client player;
When the advertisement providing device first receives a segment request from the client player after transmitting the segment list, the advertisement video segment is not a segment in the order corresponding to the first received segment request in the segment list Starting to transmit to the client player from the first advertisement video segment among them; And
After all of the advertisement video segments have been transmitted, by the advertisement providing device, transmitting a video segment in a corresponding order from the segment list to the client player in response to a video segment request received from the client player.
Advertising providing method comprising a.
제1항에 있어서,
상기 클라이언트 플레이어로 전송하기 시작하는 단계는,
상기 클라이언트 플레이어로부터 첫번째로 수신된 세그먼트 요청이 동영상 세그먼트 요청이어도, 해당하는 동영상 세그먼트 대신에 광고 영상 세그먼트를 전송하는, 광고 제공 방법.
The method of claim 1,
The step of starting to transmit to the client player,
Even if the segment request first received from the client player is a video segment request, an advertisement video segment is transmitted instead of a corresponding video segment.
삭제delete 제1항 또는 제2항에 있어서,
상기 클라이언트 플레이어로 전송하기 시작하는 단계는,
상기 첫번째 광고 영상 세그먼트를 전송한 다음에, 상기 클라이언트 플레이어로부터의 세그먼트 요청마다 광고 영상 세그먼트를 순서대로 전송하는 단계
를 포함하는, 광고 제공 방법.
The method according to claim 1 or 2,
The step of starting to transmit to the client player,
After transmitting the first advertisement video segment, sequentially transmitting advertisement video segments for each segment request from the client player
Containing, advertising providing method.
제1항 또는 제2항에 있어서,
상기 광고 제공 장치가 상기 클라이언트 플레이어에 세션 ID를 할당하는 단계
를 더 포함하고,
클라이언트 플레이어별로 할당되는 세션 ID가 상이한, 광고 제공 방법.
The method according to claim 1 or 2,
Allocating, by the advertisement providing device, a session ID to the client player
Including more,
A method of providing advertisements in which session IDs allocated for each client player are different.
제5항에 있어서,
상기 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하는 단계는, 상기 클라이언트 플레이어에 할당한 세션 ID를 추가적으로 전송하며,
상기 클라이언트 플레이어로부터 수신되는 세그먼트 요청은 상기 할당된 세션 ID를 포함하는, 광고 제공 방법.
The method of claim 5,
Transmitting the segment list to the client player includes additionally transmitting a session ID assigned to the client player,
The segment request received from the client player includes the assigned session ID.
제1항 또는 제2항에 있어서,
상기 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계는,
광고 영상 세그먼트가 모두 전송된 다음에, 불연속 태그를 상기 클라이언트 플레이어에 전송하는 단계; 및
상기 불연속 태그를 전송한 다음에 상기 클라이언트 플레이어로부터 동영상 세그먼트 요청에 대응하여 해당하는 동영상 세그먼트를 상기 클라이언트 플레이어로 전송하는 단계
를 포함하는, 광고 제공 방법.
The method according to claim 1 or 2,
Transmitting the video segment to the client player,
Transmitting a discontinuous tag to the client player after all advertisement video segments have been transmitted; And
After transmitting the discontinuous tag, transmitting a corresponding video segment to the client player in response to a video segment request from the client player
Containing, advertising providing method.
제7항에 있어서,
상기 불연속 태그를 상기 클라이언트 플레이어에 전송하는 단계는, 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트가 EXT-X-DISCONTINUITY 태그 이후에 리스팅되는 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하는, 광고 제공 방법.
The method of claim 7,
The step of transmitting the discontinuous tag to the client player includes transmitting a segment list in which a first segment of a video and a subsequent video segment are listed after an EXT-X-DISCONTINUITY tag to the client player.
스트리밍 서비스에서 광고를 제공하는 장치로서,
클라이언트 플레이어와의 송수신을 수행하는 송수신부; 및
상기 송수신부를 통해 수신되는 상기 클라이언트 플레이어로부터의 영상 요청에 따라 광고 영상을 제공하도록 구성되는 프로세서
를 포함하며,
상기 프로세서는
상기 영상 요청에 따라 광고 영상 세그먼트들의 리스트와 동영상 세그먼트들의 리스트를 조합한 세그먼트 리스트를 생성하여 상기 송수신부를 통해 상기 클라이언트 플레이어로 전송하도록 구성되는 리스트 생성부; 및
상기 세그먼트 리스트를 전송한 다음에, 상기 송수신부를 통해 상기 클라이언트 플레이어로부터 첫번째로 세그먼트 요청을 수신하는 경우, 상기 세그먼트 리스트에서 상기 첫번째로 수신된 세그먼트 요청에 대응하는 순서의 세그먼트가 아닌, 광고 영상 세그먼트들 중 첫번째 광고 영상 세그먼트부터 상기 송수신부를 통해 상기 클라이언트 플레이어로 전송하기 시작하고, 상기 광고 영상 세그먼트들이 모두 전송된 다음에 상기 송수신부를 통해 수신하는 상기 클라이언트 플레이어로부터의 동영상 세그먼트 요청에 대응하여, 상기 세그먼트 리스트에서 해당하는 순서의 동영상 세그먼트를 상기 송수신부를 통해 상기 클라이언트 플레이어로 전송하도록 구성되는 세그먼트 제공 처리부
를 포함하도록 구성되는, 광고 제공 장치.
As a device that provides advertisements in a streaming service,
A transmission/reception unit for performing transmission/reception with a client player; And
Processor configured to provide an advertisement image according to an image request from the client player received through the transmission/reception unit
Including,
The processor is
A list generation unit configured to generate a segment list in which a list of advertisement video segments and a list of video segments are combined according to the video request and transmit it to the client player through the transmission/reception unit; And
After transmitting the segment list, when a segment request is first received from the client player through the transmission/reception unit, advertisement video segments are not in the order corresponding to the segment request first received in the segment list. In response to a request for a video segment from the client player, which starts transmitting from the first advertisement video segment to the client player through the transmission/reception unit, and after all the advertisement video segments are transmitted, the segment list The segment providing processing unit configured to transmit the video segment in the corresponding order to the client player through the transceiver
Is configured to include, advertisement providing device.
제9항에 있어서,
상기 세그먼트 제공 처리부는, 상기 첫번째 광고 영상 세그먼트를 전송한 이후에, 상기 클라이언트 플레이어로부터의 세그먼트 요청마다 광고 영상 세그먼트를 순서대로 전송하도록 구성되는, 광고 제공 장치.
The method of claim 9,
The segment providing processing unit, after transmitting the first advertisement video segment, is configured to sequentially transmit advertisement video segments for each segment request from the client player.
제9항에 있어서,
상기 프로세서는, 상기 클라이언트 플레이어에 세션 ID를 할당하도록 구성되는 세션 관리부를 더 포함하도록 구성되고,
클라이언트 플레이어별로 할당되는 세션 ID가 상이한, 광고 제공 장치.
The method of claim 9,
The processor is configured to further include a session management unit configured to allocate a session ID to the client player,
An advertisement providing apparatus, in which session IDs allocated for each client player are different.
제11항에 있어서,
상기 세션 관리부는 상기 클라이언트 플레이어에 할당한 세션 ID를 상기 세그먼트 리스트에 추가하여 전송하도록 구성되며,
상기 클라이언트 플레이어로부터 수신되는 세그먼트 요청은 상기 할당된 세션 ID를 포함하는, 광고 제공 장치.
The method of claim 11,
The session management unit is configured to add and transmit the session ID allocated to the client player to the segment list,
The segment request received from the client player includes the assigned session ID.
제9항에 있어서,
상기 세그먼트 제공 처리부는 추가로, 광고 영상 세그먼트가 모두 전송된 다음에, 불연속 태그를 상기 클라이언트 플레이어에 전송하도록 구성되는, 광고 제공 장치.
The method of claim 9,
The segment providing processing unit is further configured to transmit a discontinuous tag to the client player after all advertisement video segments are transmitted.
제13항에 있어서,
상기 세그먼트 제공 처리부는 구체적으로, 동영상의 첫번째 세그먼트 및 이후의 동영상 세그먼트는 EXT-X-DISCONTINUITY 태그 이후에 리스팅되는 세그먼트 리스트를 상기 클라이언트 플레이어로 전송하도록 구성되는, 광고 제공 장치.

















The method of claim 13,
The segment providing processing unit is specifically configured to transmit a segment list listed after an EXT-X-DISCONTINUITY tag to the client player in the first segment of the video and the subsequent video segment.

















KR1020190023066A 2019-02-27 2019-02-27 Method and apparatus for server based advertisement provision KR102144527B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190023066A KR102144527B1 (en) 2019-02-27 2019-02-27 Method and apparatus for server based advertisement provision

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190023066A KR102144527B1 (en) 2019-02-27 2019-02-27 Method and apparatus for server based advertisement provision

Publications (1)

Publication Number Publication Date
KR102144527B1 true KR102144527B1 (en) 2020-08-13

Family

ID=72043562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190023066A KR102144527B1 (en) 2019-02-27 2019-02-27 Method and apparatus for server based advertisement provision

Country Status (1)

Country Link
KR (1) KR102144527B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180001001A (en) * 2016-06-24 2018-01-04 주식회사 솔박스 Method and apparatus for tracking video playing of client
KR20180026287A (en) * 2016-09-02 2018-03-12 주식회사 솔박스 Method and apparatus for providing playing list to force viewers to watch video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180001001A (en) * 2016-06-24 2018-01-04 주식회사 솔박스 Method and apparatus for tracking video playing of client
KR20180026287A (en) * 2016-09-02 2018-03-12 주식회사 솔박스 Method and apparatus for providing playing list to force viewers to watch video

Similar Documents

Publication Publication Date Title
US8375140B2 (en) Adaptive playback rate with look-ahead
US8775655B2 (en) System and method for presenting streaming media content
US9721254B2 (en) Method and apparatus for providing streaming media programs and targeted advertisements using multiple advertisement version segments
US9648359B2 (en) Method and system for advertisement multicast pre-delivery caching
US7930449B2 (en) Method and system for data transmission
CN105379295A (en) Streaming of segmented content
US20100198977A1 (en) Automatic live stream trees
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
JP5752231B2 (en) Method and apparatus for providing time shift service in digital broadcasting system and system thereof
US20220394360A1 (en) Real-time ad tracking proxy
JP2015525013A (en) Method and system for uniformly marking and identifying placement opportunity locations to facilitate accelerated decision resolution
EP3099069B1 (en) Method for processing video, terminal and server
JP2004088315A (en) Content distribution system, edge server, and terminal
KR101841259B1 (en) Method and apparatus for tracking video playing of client
US10893338B1 (en) Method for unified ad delivery to consumer devices within service provider networks
US20150026711A1 (en) Method and apparatus for video content distribution
KR102144527B1 (en) Method and apparatus for server based advertisement provision
KR101936384B1 (en) Method and apparatus for providing playing list to force viewers to watch video
JP2004159057A (en) System and method for distributing play-back information
US11659213B2 (en) Fast video stream startup
KR102057478B1 (en) Method and apparatus for server based advertisement provision
CN112449202B (en) Video live broadcasting method
US10965984B1 (en) Minimization of video re-buffering using local animation
KR101073667B1 (en) Targeting Information Service System between Home Terminal and mobile Terminal
US20110225240A1 (en) Method and apparatus for managing transaction of iptv

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant