KR102526605B1 - Method of provding advertisement - Google Patents

Method of provding advertisement Download PDF

Info

Publication number
KR102526605B1
KR102526605B1 KR1020210019025A KR20210019025A KR102526605B1 KR 102526605 B1 KR102526605 B1 KR 102526605B1 KR 1020210019025 A KR1020210019025 A KR 1020210019025A KR 20210019025 A KR20210019025 A KR 20210019025A KR 102526605 B1 KR102526605 B1 KR 102526605B1
Authority
KR
South Korea
Prior art keywords
advertisement
time
user terminal
content
providing
Prior art date
Application number
KR1020210019025A
Other languages
Korean (ko)
Other versions
KR20220115740A (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 KR1020210019025A priority Critical patent/KR102526605B1/en
Publication of KR20220115740A publication Critical patent/KR20220115740A/en
Application granted granted Critical
Publication of KR102526605B1 publication Critical patent/KR102526605B1/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Abstract

서버가 사용자 단말기에 광고를 제공하는 방법은 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 사용자 단말기에 제공하는 단계로, 컨텐츠 재생 리스트는 스트리밍 서비스 제공을 위한 복수개의 파일 각각의 이름 정보 및 위치 정보, 재생 시간(duration) 정보를 포함하는 단계; 대체 광고 시작 신호를 수신하는 단계; 대체 광고 시작 신호를 수신하는 것에 대응하여, 컨텐츠 재생 리스트에 대체 광고 시작 시점을 특정 시간대를 기준으로 지정하여 삽입하여 컨텐츠 재생 리스트를 업데이트한 제1 업데이트된 컨텐츠 재생 리스트를 생성하는 단계; 제1 업데이트된 컨텐츠 재생 리스트를 사용자 단말기로 제공하는 단계; 대체 광고 종료 신호를 수신하는 단계; 대체 광고 종료 신호를 수신하는 것에 대응하여, 제1 업데이트된 컨텐츠 재생 리스트에 대체 광고 종료 시점을 상기 특정 시간대를 기준으로 지정하여 삽입하여 제2 업데이트된 컨텐츠 재생 리스트를 생성하는 단계; 및 제2 업데이트된 컨텐츠 재생 리스트를 사용자 단말기로 제공하는 단계를 포함한다.A method of providing an advertisement to a user terminal by a server includes providing a content playlist for providing a streaming service to the user terminal. including (duration) information; receiving a replacement advertisement start signal; In response to receiving the alternative advertisement start signal, generating a first updated content playlist by updating the content playlist by inserting a substitute advertisement start time into the content playlist by designating and inserting it based on a specific time period; providing a first updated content playlist to a user terminal; receiving a replacement advertisement end signal; generating a second updated content playlist by designating and inserting an end point of an alternative advertisement based on the specific time period into a first updated content playlist in response to receiving a substitute advertisement end signal; and providing the second updated content playlist to the user terminal.

Figure R1020210019025
Figure R1020210019025

Description

광고 제공 방법{METHOD OF PROVDING ADVERTISEMENT}Advertising provision method {METHOD OF PROVDING ADVERTISEMENT}

본 개시는 광고 제공 방법에 관한 것으로, 동영상을 시청하고 있는 사용자에게 동영상 시청 중 대체 영상으로 광고를 제공하는 방법에 관한 것이다.The present disclosure relates to a method of providing an advertisement, and relates to a method of providing an advertisement to a user who is watching a video as an alternative video while watching a video.

사용자가 영화, 드라마, TV 프로그램과 같은 동영상을 스트리밍 서비스를 통해 시청할 때, 동영상 중간에 광고가 삽입된다. 일반적으로 스트리밍 서비스에서 동영상은 복수의 일정 길이의 청크 파일이 연속하여 제공되는 것에 의해 재생되므로, 광고 직전 동영상 청크의 재생을 종료한 뒤, 광고 영상을 재생하여 제공한다. 이러한 방식의 경우, 사용자가 동영상을 시청하는 도중에 광고를 정확한 시간에 삽입하기 위해서는 광고 재생 직전의 동영상 청크의 재생 시간이 가변적으로 조절될 필요가 있다. 광고 재생 직전의 동영상 청크의 재생 시간을 가변화하기 위해서는 방송 플랫폼에서 광고 재생 직전 동영상 청크를 길이를 편집하는 청크 모듈을 개발해야 하는 문제점이 있다. 이는 개발 시간과 비용 측면에서 비효율적이며 서비스를 확대하고자 할 때 지속적인 장비 증설이 필요한 문제를 발생시킨다.When a user watches a video such as a movie, drama, or TV program through a streaming service, an advertisement is inserted in the middle of the video. In general, since a video in a streaming service is played by continuously providing a plurality of chunk files of a certain length, the advertisement video is reproduced and provided after the video chunk is played immediately before the advertisement. In this method, in order to insert an advertisement at an accurate time while a user is watching a video, it is necessary to variably adjust the playing time of a video chunk immediately before playing an advertisement. In order to vary the playback time of the video chunk immediately before the advertisement playback, there is a problem in that a broadcasting platform needs to develop a chunk module that edits the length of the video chunk immediately before the advertisement playback. This is inefficient in terms of development time and cost, and creates a problem that requires continuous equipment expansion when expanding services.

한국 공개특허 제2017-0097547호Korean Patent Publication No. 2017-0097547

본 개시의 일 실시예에 의하면, 동영상을 재생하는 단말기가 광고 전환 시간을 계산하여 동영상을 광고로 정확하게 전환시킬 수 있다.According to an embodiment of the present disclosure, a terminal playing a video can accurately convert a video into an advertisement by calculating an advertisement conversion time.

서버가 사용자 단말기에 광고를 제공하는 방법은 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 사용자 단말기에 제공하는 단계로, 상기 컨텐츠 재생 리스트는 상기 스트리밍 서비스 제공을 위한 복수개의 파일 각각의 이름 정보 및 위치 정보, 재생 시간(duration) 정보를 포함하는 단계; 대체 광고 시작 신호를 수신하는 단계; 상기 대체 광고 시작 신호를 수신하는 것에 대응하여, 상기 컨텐츠 재생 리스트에 대체 광고 시작 시점을 특정 시간대를 기준으로 지정하여 삽입하여 상기 컨텐츠 재생 리스트를 업데이트한 제1 업데이트된 컨텐츠 재생 리스트를 생성하는 단계; 상기 제1 업데이트된 컨텐츠 재생 리스트를 상기 사용자 단말기로 제공하는 단계; 대체 광고 종료 신호를 수신하는 단계; 상기 대체 광고 종료 신호를 수신하는 것에 대응하여, 상기 제1 업데이트된 컨텐츠 재생 리스트에 대체 광고 종료 시점을 상기 특정 시간대를 기준으로 지정하여 삽입하여 제2 업데이트된 컨텐츠 재생 리스트를 생성하는 단계; 및 상기 제2 업데이트된 컨텐츠 재생 리스트를 상기 사용자 단말기로 제공하는 단계를 포함한다.A method of providing an advertisement to a user terminal by a server includes providing a content playlist for providing a streaming service to a user terminal, wherein the content playlist includes name information and location information of each of a plurality of files for providing the streaming service; including play time (duration) information; receiving a replacement advertisement start signal; In response to receiving the alternative advertisement start signal, generating a first updated content playlist by updating the content playlist by designating and inserting an alternative advertisement start time into the content playlist based on a specific time period; providing the first updated content playlist to the user terminal; receiving a replacement advertisement end signal; generating a second updated content playlist by designating and inserting an end point of an alternative advertisement based on the specific time period into the first updated content playlist in response to receiving the alternative advertisement end signal; and providing the second updated content playlist to the user terminal.

일 실시예에 있어서, 상기 대체 광고 시작 신호를 수신하는 단계 및 대체 광고 종료 신호를 수신하는 단계는 동시에 수행된다.In one embodiment, the step of receiving the alternative advertisement start signal and the receiving of the alternative advertisement end signal are performed simultaneously.

일 실시예에 있어서, 상기 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 사용자 단말기에 제공하는 단계 이전에, 상기 서버는 사용자 단말기로부터 컨텐츠 요청 메시지를 수신하는 단계; 및 상기 컨텐츠 요청 메시지가 나타내는 컨텐츠를, 상기 사용자 단말기에서 재생 가능하고 재생 시간(duration)이 동일한 복수개의 파일로 분할하고, 상기 복수개의 파일 각각의 이름 정보, 위치 정보 및 상기 재생 시간 정보를 메타데이터로 하여 상기 컨텐츠 재생 리스트를 생성하는 단계를 더 포함한다.In one embodiment, prior to the step of providing the content playlist for providing the streaming service to the user terminal, the server receiving a content request message from the user terminal; and dividing the content indicated by the content request message into a plurality of files that can be reproduced in the user terminal and have the same duration, and includes name information, location information, and duration information of each of the plurality of files as metadata. and generating the content playlist by doing so.

일 실시예에 있어서, 상기 대체 광고 시작 시점 및 대체 광고 종료 시점은 상기 컨텐츠 재생 리스트의 헤더에 삽입된다.In one embodiment, the replacement advertisement start time and the replacement advertisement end time are inserted into the header of the content play list.

일 실시예에 있어서, 상기 제1 업데이트된 컨텐츠 재생 리스트를 상기 사용자 단말기로 제공받은 상기 사용자 단말기는, 상기 제1 업데이트된 컨텐츠 재생 리스트에 포함된 정보에 기초하여, 상기 제1 업데이트된 컨텐츠 재생 리스트에 포함된 상기 복수개 파일 각각의 재생 시작 시점 및 재생 종료 시점을 계산하고, 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일을 검출하고, 상기 대체 광고 시작 시점에 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일의 재생을 일시 정지하고 대체 광고를 시작한다.In one embodiment, the user terminal receiving the first updated content playlist to the user terminal, based on information included in the first updated content playlist, the first updated content playlist Calculate playback start time and playback end time of each of the plurality of files included in , detect a file having a playback period including the alternative advertisement start time, and include the alternative advertisement start time at the alternative advertisement start time Playback of a file having a playback section is paused and an alternative advertisement is started.

일 실시예에 있어서, 상기 특정 시간대는 협정세계시(Coordinated Universal Time, UTC)이다. In one embodiment, the specific time zone is Coordinated Universal Time (UTC).

일 실시예에 있어서, 상기 컨텐츠 재생 리스트는 HTTP LIVE STREAMING 규격에 호환가능한 규격으로 제공된다. In one embodiment, the content play list is provided in a standard compatible with the HTTP LIVE STREAMING standard.

본 개시의 다른 양태에서, 서버가 사용자 단말기에 광고를 제공하는 방법은 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 사용자 단말기에 제공하는 단계를 포함하며, 상기 컨텐츠 재생 리스트는 상기 스트리밍 서비스 제공을 위한 복수개의 파일 각각의 이름 정보 및 위치 정보, 재생 시간(duration) 정보, 대체 광고 시작 시간 및 대체 광고 종료 시간을 포함하고, 상기 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 제공 받은 상기 사용자 단말기는, 상기 복수개의 파일 각각의 재생 시작 시점 및 재생 종료 시점을 계산하고, 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일을 검출하고, 상기 대체 광고 시작 시점에 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일의 재생을 일시 정지하고 대체 광고를 시작하고, 상기 대체 광고 종료 시점에 상기 대체 광고를 종료하고 일시 정지된 파일을 재개하도록 하는, 광고를 제공하며, 상기 대체 광고 시작 시간 및 상기 대체 광고 종료 시간은 특정시간대를 기준으로 지정된다.In another aspect of the present disclosure, a method for providing an advertisement to a user terminal by a server includes providing a content playlist for providing a streaming service to the user terminal, wherein the content playlist includes a plurality of lists for providing the streaming service. The user terminal receiving a content play list for providing the streaming service, including name information and location information of each file, duration information, an alternative advertisement start time and an alternative advertisement end time, the plurality of files Each playback start time and playback end time are calculated, a file having a playback period including the replacement advertisement start time is detected, and a file having a playback period including the replacement advertisement start time at the replacement advertisement start time. Provides an advertisement that pauses playback and starts a replacement advertisement, ends the replacement advertisement at the end of the replacement advertisement and resumes the paused file, wherein the replacement advertisement start time and the replacement advertisement end time are specified It is specified based on time zone.

영상 스트리밍 프로토콜의 청크 리스트 파일에 동영상 재생 중 삽입할 광고의 기준 시간, 광고 시작 시점 및 광고 종료 시점을 추가하여 단말기로 송신한다. 단말기에서 청크 리스트 파일 내의 기준 시간을 기준으로 동영상 스트리밍 파일들 각각의 재생 시작 시간 및 재생 종료 시간을 계산하고, 광고 재생 시점 및 광고 종료 시점을 이용하여 광고 영상 전/후의 동영상 스트리밍 파일의 종료 시점 및 재생 시점을 계산한다. 단말기는 컨텐츠 딜리버리 네트워크(Contents Delivery Network, CDN)로부터 광고 영상을 수신하여 광고 영상 전/후의 동영상 스트리밍 파일의 종료 시점 및 재생 시점을 이용하여 광고 영상을 재생하고 종료한다. 이에 따라, 방송 플랫폼에서 별도의 청크 길이 변환 모듈을 구비할 필요가 없다. The standard time of an advertisement to be inserted during video playback, advertisement start time, and advertisement end time are added to the chunk list file of the video streaming protocol and transmitted to the terminal. The terminal calculates the playback start time and playback end time of each video streaming file based on the reference time in the chunk list file, and uses the advertisement playback time and advertisement end time to end the video streaming file before/after the advertisement video and Calculate the playback time. The terminal receives an advertisement video from a content delivery network (CDN), plays and ends the advertisement video using the end time and play time of the video streaming file before/after the advertisement video. Accordingly, there is no need to provide a separate chunk length conversion module in the broadcasting platform.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템을 나타낸 블록도이다.
도 2는 일 실시예에 따른 사용자 단말기의 구조를 설명하는 블록도이다.
도 3은 종래의 따른 광고 제공을 위한 컨텐츠 재생 리스트를 M3U8을 이용해서 제공하는 것을 나타내는 일 예이다.
도 4 내지 6은 일 실시예에 따른 광고 제공을 위한 컨텐츠 재생 리스트를 M3U8을 이용해서 제공하는 것을 나타내는 일 예이다.
도 7은 일 실시예에 따른 광고 제공 방법의 순서도이다.
도 8은 일 실시예에 따른 컨텐츠 재생 리스트를 제공하는 방법의 순서도이다.
1 is a block diagram showing a content providing system according to an embodiment of the present invention.
2 is a block diagram illustrating the structure of a user terminal according to an exemplary embodiment.
3 is an example of providing a content playlist for providing advertisements according to the prior art using M3U8.
4 to 6 are examples illustrating that a content playlist for providing advertisements is provided using M3U8 according to an embodiment.
7 is a flowchart of a method of providing advertisements according to an exemplary embodiment.
8 is a flowchart of a method of providing a content playlist according to an exemplary embodiment.

이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대해 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.Hereinafter, the present disclosure will be described in detail with reference to the drawings. In describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted. In addition, the following embodiments may be modified in many different forms, and the scope of the technical idea of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the spirit of the disclosure to those skilled in the art.

본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다.It should be understood that the techniques described in this disclosure are not intended to be limited to specific embodiments, and include various modifications, equivalents, and/or alternatives of the embodiments of this disclosure.

도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In connection with the description of the drawings, like reference numerals may be used for like elements.

본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In the present disclosure, expressions such as “has,” “can have,” “includes,” or “can include” indicate the presence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). , which does not preclude the existence of additional features. In this disclosure, expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, “A or B,” “at least one of A and B,” or “at least one of A or B” (1) includes at least one A, (2) includes at least one B, Or (3) may refer to all cases including at least one A and at least one B.

본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.Expressions such as "first," "second," "first," or "second," used in the present disclosure may modify various elements regardless of order and/or importance, and may refer to one element as It is used only to distinguish it from other components and does not limit the corresponding components.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (e.g., a first component) is "(operatively or communicatively) coupled with/to" another component (e.g., a second component); When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or connected through another component (eg, a third component). On the other hand, when an element (eg, a first element) is referred to as being “directly connected” or “directly connected” to another element (eg, a second element), the element and the above It may be understood that other components (eg, a third component) do not exist between the other components.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression “configured to (or configured to)” as used in this disclosure means, depending on the situation, for example, “suitable for,” “having the capacity to.” ," "designed to," "adapted to," "made to," or "capable of." The term "configured (or set) to" may not necessarily mean only "specifically designed to" hardware. Instead, in some contexts, the phrase "device configured to" may mean that the device is "capable of" in conjunction with other devices or components. For example, the phrase "a processor configured (or configured) to perform A, B, and C" may include a dedicated processor (eg, embedded processor) to perform the operation, or by executing one or more software programs stored in a memory device. , may mean a general-purpose processor (eg, CPU or application processor) capable of performing corresponding operations.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템(10) 및 사용자 단밀기(20)를 나타낸 블록도이다.1 is a block diagram showing a content providing system 10 and a user terminal 20 according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 일 실시예에 따른 컨텐츠 제공 시스템(10)은 방송 관리 서버(30) 및 광고 제공 서버(40)를 포함한다. 여기서, 방송 관리 서버(30) 및 광고 제공 서버(40)는 네트워크(50)를 통하여 사용자 단말기(20)와 연결될 수 있다. As shown in FIG. 1 , the content providing system 10 according to an embodiment includes a broadcast management server 30 and an advertisement providing server 40 . Here, the broadcast management server 30 and the advertisement providing server 40 may be connected to the user terminal 20 through the network 50 .

네트워크(50)는 인터넷 망뿐만 아니라 CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), LTE(Long Term Evolution), 5G 등과 같은 이동통신망, 및 와이파이(Wi-Fi), 와이브로(Wibro) 등과 같은 무선통신망을 포함하는 광의의 개념으로 정의한다. 네트워크(50)는 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들어, 네트워크는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성 통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. The network 50 includes not only the Internet network but also mobile communication networks such as Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), Long Term Evolution (LTE), 5G, and the like, and Wi-Fi and Wibro. It is defined as a broad concept that includes a wireless communication network. The network 50 is a concept encompassing both existing networks and networks that can be developed in the future. For example, the network includes a wired and wireless local area network that provides communication between various information devices within a limited area, a mobile communication network that provides communication between mobile bodies and between mobile bodies and the outside of the mobile body, and a satellite that provides communication between earth stations and earth stations. It may be a satellite communication network or any one of wired and wireless communication networks, or a combination of two or more. Meanwhile, the transmission method standards of the network are not limited to existing transmission method standards, and may include all transmission method standards to be developed in the future.

방송 관리 서버(30)는 네트워크(50)를 통하여 사용자 단말기(20)에 영상 컨텐츠를 제공한다. 일 실시예에 있어서, 방송 관리 서버(30)는 컨텐츠 정보에 대응하여 광고 영상의 저장 위치, 시작 시점 및 실행회수 중 적어도 하나를 포함하는 광고 적용 규칙을 설정하여 광고 영상의 실행 정보로 저장할 수 있다. 즉, 방송 관리 서버(30)는 영상 컨텐츠에 할당된 채널정보 및 편성정보에 대응하여 특정 광고 영상이 저장된 위치 정보(예를 들면, URL: Uniform Resource Locator)를 설정하고, 영상 컨텐츠가 재생되는 경우에 해당 영상 컨텐츠의 재생 시점부터 해당 광고 영상이 어느 시점에 시행될지를 나타내는 시작 시점을 설정하며, 해당 광고 영상이 실행될 수 있는 회수를 설정하여 광고 적용 규칙으로 저장할 수 있다. 여기서, 광고 영상의 실행 정보는 광고 영상의 저장 위치만으로 구현될 수도 있다.The broadcast management server 30 provides video content to the user terminal 20 through the network 50 . In one embodiment, the broadcasting management server 30 may set an advertisement application rule including at least one of a storage location, a start time, and the number of executions of an advertisement video corresponding to content information and store the advertisement video execution information. . That is, the broadcast management server 30 sets location information (eg, URL: Uniform Resource Locator) where a specific advertising video is stored in correspondence to channel information and programming information allocated to video contents, and when video contents are played A starting point indicating at what point in time the corresponding advertisement video will be executed is set from the playback time of the corresponding video content, and the number of times at which the corresponding advertisement video can be executed can be set and stored as an advertisement application rule. Here, the execution information of the advertising video may be implemented only with the storage location of the advertising video.

일 실시예에 있어서, 방송 관리 서버(30)는 스트리밍 서비스를 사용자 단말기에 제공하는 컨텐츠 딜러버리 네트워크(Contents Delivery 네트워크, CDN)를 포함하는 개념일 수 있다. In one embodiment, the broadcast management server 30 may be a concept including a content delivery network (CDN) that provides a streaming service to a user terminal.

광고 제공 서버(40)는 사용자 단말기(20)로부터 광고 정보를 요청받고, 요청받은 광고 정보를 사용자 단말기(20)로 전송할 수 있다. 광고 제공 서버(40)는 큐톤 정보로부터 광고 시간을 인지한 사용자 단말기(20)로부터, 광고 시간의 기 설정된 시간 이전에 광고 정보를 요청받을 수 있으며, 광고 제공 서버(40)는 광고 요청 수신 시 요청에 상응하는 광고 정보를 사용자 단말기(20)로 전송할 수 있다.The advertisement providing server 40 may receive a request for advertisement information from the user terminal 20 and transmit the requested advertisement information to the user terminal 20 . The advertisement providing server 40 may receive a request for advertisement information from the user terminal 20 recognizing the advertisement time from the Q-tone information before a preset time of the advertisement time, and the advertisement providing server 40 receives a request when receiving the advertisement request. Advertising information corresponding to may be transmitted to the user terminal 20 .

광고 제공 서버(40)가 사용자 단말기(20)로 전송하는 광고 정보에는 광고 컨텐츠 및 해당 광고 컨텐츠의 재생 정보 중 적어도 어느 하나가 포함되어 있을 수 있다. 광고 제공 서버(40)는 사용자 단말기(20)에 지역별로 상이한 광고를 제공하는 지역 광고 제공 서버이거나, 모든 지역에 대한 광고를 통합 관리하는 광고 관리 서버일 수 있다. 일 실시예에서, 광고 제공 서버(40)는 컨텐츠 딜러버리 네트워크(Contents Delivery 네트워크, CDN)일 수 있다. 일 실시예에서, 광고 제공 서버(40)는 방송 관리 서버(30)와 다른 주체 또는 동일 주체의 관리 하에 있을 수도 있다. Advertisement information transmitted from the advertisement providing server 40 to the user terminal 20 may include at least one of advertisement content and reproduction information of the corresponding advertisement content. The advertisement providing server 40 may be a regional advertisement providing server that provides different advertisements for each region to the user terminal 20 or an advertisement management server that comprehensively manages advertisements for all regions. In one embodiment, the advertisement providing server 40 may be a content delivery network (Contents Delivery Network, CDN). In one embodiment, the advertisement providing server 40 may be under the management of a different entity or the same entity as the broadcast management server 30 .

일 실시예에서, 방송 관리 서버(30) 또는 광고 제공 서버(40)는 컨텐츠 정보를 다양한 코덱, 비트 전송율, 프레임 레이트, 해상도 등을 사용하여 오디오 및 비디오를 복수의 인코딩으로 변환 코딩할 수 있다. “서버”는 일반적으로 메모리, 입력/출력 회로, 및 명령 처리 로직을 포함하는 컴퓨터를 포함하는 것으로 이해될 수 있다. 개시된 기술의 많은 측면들이 하나 이상의 컴퓨터 상에서 실행되는 소프트웨어로서 실시될 수 있다.In one embodiment, the broadcast management server 30 or the advertisement providing server 40 may convert and code audio and video into a plurality of encodings using various codecs, bit rates, frame rates, and resolutions for content information. A “server” will generally be understood to include a computer that includes memory, input/output circuitry, and command processing logic. Many aspects of the disclosed technology may be implemented as software running on one or more computers.

일 실시예에서, 컨텐츠 제공 시스템(10)은 미디어 스트리밍 기술을 이용하여 영상 컨텐츠를 제공할 수 있다. 일 실시예에서, 미디어 스트리밍 기술 중의 HLS(HTTP live streaming)와 MPEG(moving picture expert group)-DASH(dynamic adaptive streaming over HTTP)는 HTTP 기반이다. HLS와 MPEG-DASH는 원본 컨텐츠 소스를 분할하여 복수의 비디오 세그먼트(또는 청크)를 만들고 사용자의 요청에 따라 해당 시점의 비디오 정보를 포함하는 각 세그먼트를 제공한다. 예를 들어, 동일 컨텐츠를 미리 서로 다른 비트 전송률로 나누어 세그먼트 형태로 준비한 후 이를 각 사용자의 네트워크 및 요청에 맞춰 알맞은 비트 전송률로 스트리밍 할 수 있다. In one embodiment, the content providing system 10 may provide video content using media streaming technology. In one embodiment, HTTP live streaming (HLS) and moving picture expert group (MPEG)-dynamic adaptive streaming over HTTP (DASH) among media streaming technologies are based on HTTP. HLS and MPEG-DASH divide original content sources to create a plurality of video segments (or chunks) and provide each segment including video information of a corresponding point in time according to a user's request. For example, the same content may be prepared in the form of segments by dividing them into different bit rates in advance, and then streamed at an appropriate bit rate according to each user's network and request.

일 실시예에서, 청크는 TS(Transport Stream) 포맷 형식의 파일을 포함할 수 있다. 사용자 단말기(20)는 TS 파일에 대한 목록인 M3U 메시지 또는 M3U8 메시지를 이용하여 라이브 스트리밍 컨텐츠를 사용자에게 제공할 수 있다. M3U 메시지는 MP3 URL에 대한 메시지를 의미하며, M3U8 메시지는 M3U 메시지를 UTF-8로 인코딩한 메시지를 의미한다. 재생 리스트는 각 청크 파일에 대한 일련 번호와 주소 정보(예를 들면 URL 정보), 재생 시간 정보 등에 대한 정보를 포함하여 구성되는 데, 이를 확인한 사용자 단말기(20)는 해당 주소 정보로 일련 번호에 따라 순차적으로 청크 파일을 요청하고, 이를 수신하여 라이브 스트리밍 컨텐츠를 이용할 수 있게 된다. 이때, HTTP 기반 스트리밍 프로토콜에 따라 라이브 스트리밍 컨텐츠를 이용하기 위해서는 사용자 단말기(20)는 라이브 스트리밍 컨텐츠에 대한 재생 리스트를 먼저 요청하고, 이를 방송 관리 서버(30) 또는 광고 제공 서버(40)로부터 수신하여 보유하고 있어야 한다. 재생 리스트를 보유하고 있는 사용자 단말기(20)는 상기 재생 리스트에 따라 제1 청크 파일부터 제N 청크 파일을 순차적으로 방송 관리 서버(30) 또는 광고 제공 서버(40)에게 요청하고 수신하여 라이브 스트리밍 컨텐츠를 이용할 수 있게 된다In one embodiment, a chunk may include a file in a transport stream (TS) format. The user terminal 20 may provide live streaming content to the user using an M3U message or an M3U8 message that is a list of TS files. The M3U message refers to a message for an MP3 URL, and the M3U8 message refers to a message obtained by encoding an M3U message in UTF-8. The playlist is composed of serial numbers for each chunk file, address information (for example, URL information), play time information, and the like. It is possible to sequentially request chunk files, receive them, and use live streaming content. At this time, in order to use the live streaming content according to the HTTP-based streaming protocol, the user terminal 20 first requests a playlist for the live streaming content, receives it from the broadcast management server 30 or the advertisement providing server 40, and must have The user terminal 20 having a playlist sequentially requests and receives the first through Nth chunk files from the broadcasting management server 30 or the advertisement providing server 40 according to the playlist to receive live streaming content. will be available

일 실시예에서, 사용자 단말기(20)는 네트워크 접속으로부터 컨텐츠를 수신 및 디스플레이 또는 유사한 출력 장치상에 컨텐츠를 디코딩 및 렌딩(rending)할 수 있는 컴퓨터화된 장치(또한 상기 컴포넌트를 포함)를 포함한다. 예를 들어, IPTV(Internet Protocol Television), 스마트 TV(Smart TV) 및 커넥티드 TV(Connected TV), 셋톱 박스(set-top box, STB), 스마트폰 등과 같이 인터넷 회선을 이용하는 모든 종류의 TV 장치를 포함할 수 있다. 사용자 단말기(20)는 멀티미디어 스트리밍 어댑터, 멀티미디어 동글 및 OTT(Over the Top) 디바이스 등과 같은 통신 장치일 수 있으며, 사용자 단말기(20)의 종류는 이에 한정되지 않는다.In one embodiment, user terminal 20 includes a computerized device (also including the above components) capable of receiving content from a network connection and decoding and rendering content on a display or similar output device. . For example, all kinds of TV devices using Internet lines, such as IPTV (Internet Protocol Television), Smart TV and Connected TV, set-top box (STB), and smart phone can include The user terminal 20 may be a communication device such as a multimedia streaming adapter, a multimedia dongle, and an OTT (Over the Top) device, and the type of the user terminal 20 is not limited thereto.

도 2는 일 실시예에 따른 사용자 단말기(20)의 구조를 설명하는 블록도이다. 사용자 단말기(20)는 하나 이상의 데이터 버스(128)에 의해 함께 결합된 하나 이상의 프로세서(21), 메모리(22), 로컬 스토리지(24) 및 입력/출력(I/O) 인터페이스 회로(26)를 포함한다. I/O 인터페이스 회로(26)는 장치를 하나 이상의 외부 네트워크, 부가적인 스토리지 장치 또는 시스템, 및 본 기술분야에서 일반적으로 공지된 다른 입력/출력 장치에 결합시킨다. 일 실시예에서, 사용자 단말기(20)의 동작은 메모리(22) 내에 기억된 컴퓨터 프로그램 명령(소프트웨어) 및 프로세서(들)(21)에 의해 검색 및 실행된 컴퓨터 프로그램 명령(소프트웨어)을 실행될 수 있다. 2 is a block diagram illustrating the structure of a user terminal 20 according to an exemplary embodiment. User terminal 20 includes one or more processors 21, memory 22, local storage 24, and input/output (I/O) interface circuitry 26 coupled together by one or more data buses 128. include I/O interface circuitry 26 couples the device to one or more external networks, additional storage devices or systems, and other input/output devices commonly known in the art. In one embodiment, the operation of user terminal 20 may execute computer program instructions (software) stored in memory 22 and computer program instructions (software) retrieved and executed by processor(s) 21. .

사용자 단말기(20)는 단일 재생 방식(One-Player 방식) 또는 구분 재생 방식(Two-Player 방식)으로 광고를 재생하도록 구성될 수 있다. 단일 재생 방식(One-Player 방식)은 사용자 단말기(20)의 하나의 재생기(Player)에서 실시간 방송 컨텐츠와 타겟 광고 컨텐츠를 모두 재생하는 방식이다. 사용자 단말기(20)가 특정 광고 시점에서 실시간 방송에 포함되어 있는 광고 컨텐츠가 아닌 타겟 광고 컨텐츠로 대체하여 재생하고 타겟 광고 컨텐츠 재생 완료 후 원래 실시간 방송 컨텐츠를 이어서 재생하는 방식이다. 구분 재생 방식(Two-Player 방식)은 실시간 방송 컨텐츠를 재생하는 재생기(도시되지 않음)와 타겟 광고 컨텐츠를 재생하는 재생기를 분리하여 컨텐츠를 재생하는 방식이다. 실시간 방송 컨텐츠를 재생하는 재생기가 실시간 방송 컨텐츠를 재생하는 도중 특정 광고 시점에서 다른 재생기가 동작하여 실시간 방송 컨텐츠를 재생하는 재생기 화면을 다른 재생기가 타겟 광고 컨텐츠로 덮어 씌워 재생하고 타겟 광고 컨텐츠 재생 완료 후에는 실시간 방송 컨텐츠를 재생하는 재생기가 화면을 다시 차지하는 방식이다. The user terminal 20 may be configured to reproduce advertisements in a single playback method (One-Player method) or a separate playback method (Two-Player method). The single playback method (One-Player method) is a method of reproducing both real-time broadcasting content and target advertising content in one player of the user terminal 20 . This is a method in which the user terminal 20 replaces and reproduces target advertisement contents, not advertisement contents included in real-time broadcasting, at a specific advertisement time point, and then reproduces the original real-time broadcast contents after completion of reproduction of the target advertisement contents. The divisional playback method (Two-Player method) is a method of playing content by separating a player (not shown) that reproduces real-time broadcasting content and a player that reproduces target advertising content. While the player playing the real-time broadcasting content is playing the real-time broadcasting content, another player operates at a specific advertisement point in time, and another player overwrites the screen of the player playing the real-time broadcasting content with the target advertisement content and plays it, and after the target advertisement content is played. is a method in which a player playing real-time broadcasting content occupies the screen again.

도 3은 종래 기술에 따른 광고 제공을 위한 컨텐츠 재생 리스트를 M3U8을 이용해서 제공하는 것을 나타내는 일 예이다. 사용자 단말기(20)는 도 3에 도시된 M3U8을 수신하여, 이에 따라 청크를 순차적으로 재생하여 컨텐츠를 사용자에게 제공한다. 도 3에 도시된 파일명, 재생 시간(duration) 등은 예시적인 것이다. 3 is an example of providing a content playlist for providing advertisements according to the prior art using M3U8. The user terminal 20 receives the M3U8 shown in FIG. 3 and sequentially reproduces chunks accordingly to provide content to the user. The file name, playback duration, and the like shown in FIG. 3 are exemplary.

도 3을 참조하면, EXT-X-PROGRAM-DATE-TIME (2020-02-021, 14:05:29.546+09:00)은 첫번째 청크인 08011_-_181.ts 파일의 생성시간이다. 또한 #EXTINF는 해당 청크의 재생 길이이다. 여기서 9시간이 더해진 것(+9:00)은 한국 시간이 협정세계시(Coordinated Universal Time, UTC)보다 9시간이 빠르기 때문이다. EXT-X-PROGRAM-DATE-TIME이 14:05:29.546이고 08011_-_181.ts의 #EXTINF는 4이므로 08011_-_181.ts의 UTC 기준 영상 시간은 14:05:29.546~14:05:33.546이다(편의상 날짜 및 9시간의 시차는 생략하였다). 08011_-_182.ts는 08011_-_181.ts의 다음 청크이고 재생 시간이 4초이므로 UTC 기준 영상 시간은 14:05:33.546~14:05:37.546이다. 이와 같이, 14:05:29.546 + 09:00부터 4초씩 08011_-_181.ts ~ 08011_-_188.ts을 재생하고, 08011_-_189.ts를 2초 재생한 다음 EXT-X-CUE-OUT부터 EXT-X-CUE-IN까지 DURATION (4초) 동안 광고(08011_-_190.ts) 가 재생된다. 기본적인 청크의 크기는 예를 들어 4초이다. 즉, 동영상 컨텐츠를 일괄적으로 4초 길이의 복수개의 청크로 스플릿(split)하여 서비스를 제공할 수 있다. 그러나, CUE-OUT 전환을 위해, 즉 08011_-_189.ts를 2초 재생하고 광고를 제공하기 위해서는 하나의 청크(여기서는 08011_-_189.ts)를 선택하여 2초 길이로 변환해야 하고 이는 별도의 변환 모듈을 구비할 것이 요구되어 비효율적이다. Referring to FIG. 3, EXT-X-PROGRAM-DATE-TIME (2020-02-021, 14:05:29.546+09:00) is the creation time of the first chunk, the 08011_-_181.ts file. Also, #EXTINF is the playing length of the corresponding chunk. The reason why 9 hours are added here (+9:00) is because Korean time is 9 hours ahead of Coordinated Universal Time (UTC). Since EXT-X-PROGRAM-DATE-TIME is 14:05:29.546 and #EXTINF of 08011_-_181.ts is 4, UTC standard video time of 08011_-_181.ts is 14:05:29.546~14:05:33.546 (For convenience, the date and time difference of 9 hours are omitted). Since 08011_-_182.ts is the next chunk of 08011_-_181.ts and the playback time is 4 seconds, the UTC standard video time is 14:05:33.546 to 14:05:37.546. In this way, from 14:05:29.546 + 09:00, play 08011_-_181.ts to 08011_-_188.ts for 4 seconds each, play 08011_-_189.ts for 2 seconds, then play EXT-X-CUE-OUT to EXT Advertisement (08011_-_190.ts) is played for DURATION (4 seconds) until -X-CUE-IN. The default chunk size is eg 4 seconds. That is, the video content can be collectively split into a plurality of 4-second chunks to provide a service. However, for CUE-OUT conversion, that is, to play 2 seconds of 08011_-_189.ts and provide advertisements, one chunk (here 08011_-_189.ts) must be selected and converted to 2 seconds, which is a separate conversion. It is inefficient because it is required to have a module.

도 4 내지 6은 일 실시예에 따른 광고 제공을 위한 컨텐츠 재생 리스트를 M3U8을 이용해서 제공하는 것을 나타내는 일 예이다. 사용자 단말기(20)는 도 4 내지 6에 도시된 M3U8을 수신하여, M3U8에 따라 청크를 순차적으로 재생하여 컨텐츠를 사용자에게 제공한다. 컨텐츠 재생 리스트는 사용자가 요청한 컨텐츠의 청크 리스트를 포함할 수 있다. 또한, 컨텐츠 재생 리스트는 광고 재생 시작 시간 및/또는 광고 재생 종료 시간을 더 포함할 수 있다. 4 to 6 are examples illustrating that a content playlist for providing advertisements is provided using M3U8 according to an embodiment. The user terminal 20 receives M3U8 shown in FIGS. 4 to 6 and sequentially reproduces chunks according to M3U8 to provide content to the user. The content playlist may include a chunk list of content requested by the user. In addition, the content play list may further include an advertisement play start time and/or an advertisement play end time.

사용자 단말기(20)는 주기적으로 업데이트된 M3U8 컨텐츠 재생 리스트를 방송 관리 서버(30)로부터 수신하고, 업데이트에 따라 새로 추가되는 M3U8 컨텐츠 재생 리스트에 기재된 메타데이터에 따라 TS 파일들을 방송 관리 서버(30), 광고 제공 서버(40), 또는 외부의 다른 컨텐츠 딜리버리 네트워크(도시되지 않음)에게 요청하고 제공받아서 재생한다. 사용자 단말기(20)는 M3U8 컨텐츠 재생 리스트에 포함된 TS 파일들을 모두 요청하여 전송받지 않고, 사용자 단말기(20)의 재생 버퍼(도시되지 않음) 용량에 맞추어서 미리 복수개(예를 들어 1개~수개 정도)의 TS 파일들을 재생 전에 방송 관리 서버(30), 광고 제공 서버(40), 또는 외부의 다른 컨텐츠 딜리버리 네트워크(도시되지 않음)로부터 제공받을 수 있다.The user terminal 20 receives a periodically updated M3U8 content playlist from the broadcasting management server 30, and broadcasts TS files according to the metadata described in the newly added M3U8 content playlist according to the update to the broadcasting management server 30. , the advertisement providing server 40, or another external content delivery network (not shown) is requested, received, and reproduced. The user terminal 20 does not request and receive all of the TS files included in the M3U8 content playlist, but a plurality (for example, one to several) in advance according to the capacity of the playback buffer (not shown) of the user terminal 20. ) may be provided from the broadcast management server 30, the advertisement providing server 40, or another external content delivery network (not shown) prior to reproduction.

도 4를 참조하면, EXT-X-PROGRAM-DATE-TIME (2020-02-21, 14:05:29.546 + 09:00)은 첫번째 청크인 08011_-_181.ts 생성 시간이다. 또한 #EXTINF는 해당 청크의 재생 길이이다. 이에 따라, 사용자 단말기(20)는 08011_-_181.ts ~ 08011_-_191.ts을 한국시간 2020년 2월 21일 2시 5분 29.546초에 시작하여 4초씩 재생시킨다. 예를 들어, EXT-X-PROGRAM-DATE-TIME이 14:05:29.546이고 08011_-_181.ts의 #EXTINF는 4이므로 08011_-_181.ts의 UTC 기준 영상 시간은 14:05:29.546~14:05:33.546이다(편의상 날짜 및 9시간의 시차는 생략하였다). 08011_-_182.ts는 08011_-_181.ts의 다음 청크이고 재생 시간이 4초이므로 UTC 기준 영상 시간은 14:05:33.546~14:05:37.546이다. 이와 같은 방법으로 사용자 단말기(20)는 각 청크의 재생 시작 시간 및 재생 종료 시간을 계산할 수 있다.Referring to FIG. 4, EXT-X-PROGRAM-DATE-TIME (2020-02-21, 14:05:29.546 + 09:00) is the creation time of the first chunk, 08011_-_181.ts. Also, #EXTINF is the playing length of the corresponding chunk. Accordingly, the user terminal 20 reproduces 08011_-_181.ts to 08011_-_191.ts by 4 seconds starting at 2:05:29.546 on February 21, 2020, Korean time. For example, since EXT-X-PROGRAM-DATE-TIME is 14:05:29.546 and #EXTINF of 08011_-_181.ts is 4, the video time in UTC of 08011_-_181.ts is 14:05:29.546~14: 05:33.546 (for convenience, the date and time difference of 9 hours are omitted). Since 08011_-_182.ts is the next chunk of 08011_-_181.ts and the playback time is 4 seconds, the UTC standard video time is 14:05:33.546 to 14:05:37.546. In this way, the user terminal 20 can calculate the playback start time and playback end time of each chunk.

도 5는 도 4의 컨텐츠 재생 리스트로부터 8초 후에 업데이트된 컨텐츠 재생 리스트의 예이다. 8초가 지나서, EXT-X-PROGRAM-DATE-TIME 2020-02-21, 14:05:37.546 + 09:00이고 이는 08011_-_183.ts의 재생 시작 시간이다. 도 5의 컨텐츠 재생 리스트에는 대체 광고 삽입을 위한 태그가 삽입되어 있다. 즉, 도 5의 5줄은 대체 광고 삽입을 위한 태그를 나타낸다. 대체 광고 삽입을 위한 태그는 헤더에 삽입되어 있다. 예를 들어, 대체 광고는 EXT-X-ADVERTISMENT-START-TIME(대체 광고 시작 시간)은 2020년 2월 21일 14:06:07.646+9:00이다. 여기서 8초 후 업데이트는 예시적인 것으로, 업데이트 주기는 4초일 수도 있고, 사용자 단말기(20), 방송 관리 서버(30), 광고 제공 서버(40), 또는 외부의 컨텐츠 딜리버리 네트워크(도시되지 않음) 등에 의해 정해질 수 있다.FIG. 5 is an example of a content playlist updated 8 seconds after the content playlist of FIG. 4 . After 8 seconds, EXT-X-PROGRAM-DATE-TIME 2020-02-21, 14:05:37.546 + 09:00, which is the playback start time of 08011_-_183.ts. A tag for inserting an alternative advertisement is inserted into the content play list of FIG. 5 . That is, line 5 of FIG. 5 represents a tag for inserting an alternative advertisement. A tag for inserting an alternative advertisement is inserted into the header. For example, for an alternative advertisement, the EXT-X-ADVERTISMENT-START-TIME is February 21, 2020 14:06:07.646+9:00. Here, the update after 8 seconds is exemplary, and the update cycle may be 4 seconds, and the user terminal 20, the broadcast management server 30, the advertisement providing server 40, or an external content delivery network (not shown), etc. can be determined by

EXT-X-PROGRAM-DATE-TIME이 14:05:37.546이고 08011_-_183.ts의 #EXTINF는 4이므로 08011_-_183.ts의 UTC 기준 재생 시간은 14:05:37.546~14:05:41.546이다(편의상 날짜 및 9시간의 시차는 생략하였다). 08011_-_184.ts는 08011_-_183.ts의 다음 청크이고 재생 시간이 4초이므로 UTC 기준 영상 시간은 14:05:41.546~14:05:45.546이다. 이와 같은 방법으로 사용자 단말기(20)는 각 청크의 재생 시작 시간 및 재생 종료 시간을 계산할 수 있다. Since EXT-X-PROGRAM-DATE-TIME is 14:05:37.546 and #EXTINF of 08011_-_183.ts is 4, the playback time based on UTC of 08011_-_183.ts is 14:05:37.546~14:05:41.546 (For convenience, the date and time difference of 9 hours are omitted). Since 08011_-_184.ts is the next chunk of 08011_-_183.ts and the playback time is 4 seconds, the UTC standard video time is 14:05:41.546~14:05:45.546. In this way, the user terminal 20 can calculate the playback start time and playback end time of each chunk.

각 청크의 재생 시작 시간 및 종료 시간을 계산하면, 대체 광고의 시작 시간이 어떤 청크의 재생 구간에 포함되는지 알 수 있다. 예를 들어, 대체 광고 시작 시간인 14:06:07.646은 시작 시간이 14:06:05.546이고 종료 시간이 14:06:09.546인 08011_-_190.ts의 사이에 있음을 알 수 있다. 따라서, 사용자 단말기(20)는 14:06:05.546부터 14:06:07.646까지 2.1초동안 08011_-_190.ts를 재생하고 일시 정지하며, 14:06:07.646에 대체 광고를 재생한다. 일 실시예에서, 사용자 단말기(20)는 광고 제공 서버(40)로부터 14:06:07.646 전에 광고 영상 스트림 데이터를 수신하여 대체 광고 영상을 준비한다. 예를 들어, 14:06:07.646 전에 광고 영상 스트림 데이터를 수신하여 디코딩까지 완료시킬 수 있다.By calculating the playback start time and end time of each chunk, it is possible to know which chunk's playback period includes the start time of the replacement advertisement. For example, it can be seen that 14:06:07.646, which is the start time of the alternative advertisement, is between 08011_-_190.ts where the start time is 14:06:05.546 and the end time is 14:06:09.546. Accordingly, the user terminal 20 plays 08011_-_190.ts for 2.1 seconds from 14:06:05.546 to 14:06:07.646, pauses, and plays a replacement advertisement at 14:06:07.646. In one embodiment, the user terminal 20 receives advertisement video stream data from the advertisement providing server 40 before 14:06:07.646 and prepares an alternative advertisement video. For example, advertisement video stream data may be received before 14:06:07.646 and decoding may be completed.

도 6은 도 5의 컨텐츠 재생 리스트로부터 8초 후에 업데이트된 컨텐츠 재생 리스트의 예이다. 8초가 지나서, EXT-X-PROGRAM-DATE-TIME 2020-02-21, 14:05:45.546 + 09:00이고 이는 08011_-_185.ts의 재생 시작 시간이다. 도 6의 컨텐츠 재생 리스트에는 대체 광고 삽입을 위한 태그가 삽입되어 있다. 즉, 도 6의 5 ~ 6 줄은 대체 광고 삽입을 위한 태그를 나타낸다. 대체 광고 삽입을 위한 태그는 헤더에 삽입되어 있다. 예를 들어, 대체 광고를 위한 EXT-X-ADVERTISMENT-START-TIME(대체 광고 시작 시간)은 2020년 2월 21일 14:06:07.646+9:00이다. EXT-X-ADVERTISMENT-END-TIME(대체 광고 종료 시간)은 2020년 2월 21일 14:06:32.646+9:00이므로, 25초 동안 대체 광고를 재생시킨다. EXT-X-ADVERTISMENT-START-TIME 및 EXT-X-ADVERTISMENT-END-TIME은 설명을 위한 예시적인 것으로 광고 삽입자(광고 운영자, 방송 운영자)에 의해 변경 가능하다. FIG. 6 is an example of a content playlist updated 8 seconds after the content playlist of FIG. 5 . After 8 seconds, EXT-X-PROGRAM-DATE-TIME 2020-02-21, 14:05:45.546 + 09:00, which is the playback start time of 08011_-_185.ts. A tag for inserting an alternative advertisement is inserted into the content play list of FIG. 6 . That is, lines 5 and 6 of FIG. 6 represent tags for inserting alternative advertisements. A tag for inserting an alternative advertisement is inserted into the header. For example, the EXT-X-ADVERTISMENT-START-TIME for replacement advertisement is February 21, 2020 14:06:07.646+9:00. Since EXT-X-ADVERTISMENT-END-TIME is 14:06:32.646+9:00 on February 21, 2020, an alternative advertisement is played for 25 seconds. EXT-X-ADVERTISMENT-START-TIME and EXT-X-ADVERTISMENT-END-TIME are exemplary for description and can be changed by an advertisement inserter (advertisement operator, broadcast operator).

EXT-X-PROGRAM-DATE-TIME이 14:05:45.546이고 08011_-_185.ts의 #EXTINF는 4이므로 08011_-_185.ts의 UTC 기준 영상 시간은 14:05:45.546~14:05:49.546이다(편의상 날짜 및 9시간의 시차는 생략하였다). 08011_-_186.ts는 08011_-_185.ts의 다음 청크이고 재생 시간이 4초이므로 UTC 기준 영상 시간은 14:05:49.546~14:05:53.546이다. 이와 같은 방법으로 사용자 단말기(20)는 각 청크의 재생 시작 시간 및 재생 종료 시간을 계산할 수 있다. Since EXT-X-PROGRAM-DATE-TIME is 14:05:45.546 and #EXTINF of 08011_-_185.ts is 4, the video time based on UTC of 08011_-_185.ts is 14:05:45.546~14:05:49.546 (For convenience, the date and time difference of 9 hours are omitted). Since 08011_-_186.ts is the next chunk of 08011_-_185.ts and the playback time is 4 seconds, the UTC standard video time is 14:05:49.546 to 14:05:53.546. In this way, the user terminal 20 can calculate the playback start time and playback end time of each chunk.

각 청크의 재생 시작 시간 및 종료 시간을 계산하면, 대체 광고 시작 시간인 14:06:07.646은 시작 시간이 14:06:05.546이고 종료 시간이 14:06:09.546인 08011_-_190.ts의 사이에 있음을 알 수 있다. 따라서, 사용자 단말기(20)는 14:06:05.546부터 14:06:07.646까지 2.1초동안 08011_-_190.ts를 재생하고 일시 정지하며, 14:06:07.646에 대체 광고를 재생한다. 일 실시예에서, 사용자 단말기(20)는 광고 제공 서버(40)로부터 14:06:07.646 전에 광고 영상 스트림 데이터를 수신하여 대체 광고 영상을 준비한다. 예를 들어, 14:06:07.646 전에 광고 영상 스트림 데이터를 수신하여 디코딩까지 완료시킬 수 있다. 대체 광고 종료 시간은 14:06:32.646이므로, 이때 대체 광고 영상을 종료하고 08011_-_190.ts를 다시 재생한다. Calculating the playback start time and end time of each chunk, the alternative ad start time 14:06:07.646 is between 08011_-_190.ts with a start time of 14:06:05.546 and an end time of 14:06:09.546. it can be seen that there is Accordingly, the user terminal 20 plays 08011_-_190.ts for 2.1 seconds from 14:06:05.546 to 14:06:07.646, pauses, and plays a replacement advertisement at 14:06:07.646. In one embodiment, the user terminal 20 receives advertisement video stream data from the advertisement providing server 40 before 14:06:07.646 and prepares an alternative advertisement video. For example, advertisement video stream data may be received before 14:06:07.646 and decoding may be completed. Since the replacement advertisement end time is 14:06:32.646, the replacement advertisement video ends at this time and 08011_-_190.ts is played again.

도 4 내지 6의 예는 M3U8을 기준으로 설명하였으나, 일 실시예에서, 유사한 방법으로 DASH 프로토콜에 대체 광고 시작 시간 및 대체 광고 종료 시간을 삽입하여 사용자 단말기(20)에 전달하여, 사용자 단말기(20)가 일정 시간 기준(예를 들어, UTC)에 기초하여 대체 광고 전/후의 청크를 파악하고, 대체 광고 전/후의 청크를 일시 정지하여 대체 광고를 재생하고 종료하여 대체 광고를 제공할 수 있다. 본 개시는 미디어 파일을 조각화하여 HTTP 프로토콜로 전송하는 방식을 사용하는 다른 프로토콜(예를 들어 마이크로소프트사의 Smooth Streaming, 아도비(Adobe)의 HTTP Dynamic Streaming, 애플사의 HLS), 또는 CMAF(Common Media Application Format)에도 적용될 수 있다. 또, 청크리스트 파일에 시간 기준을 기입할 수 있는 모든 프로토콜에 적용 가능하며 이는 본 개시 이후에 개발되는 프로토콜에 적용될 수 있다. The examples of FIGS. 4 to 6 have been described based on M3U8, but in one embodiment, the alternative advertisement start time and alternative advertisement end time are inserted into the DASH protocol in a similar way and transmitted to the user terminal 20, and the user terminal 20 ) identifies chunks before/after the alternative advertisement based on a certain time standard (eg, UTC), pauses the chunk before/after the replacement advertisement, plays the replacement advertisement, and ends to provide the replacement advertisement. The present disclosure is directed to other protocols (eg, Microsoft's Smooth Streaming, Adobe's HTTP Dynamic Streaming, Apple's HLS), or CMAF (Common Media Application Format) that use a method of fragmenting media files and transmitting them through the HTTP protocol. ) can also be applied. In addition, it is applicable to all protocols capable of writing a time standard in a chunk list file, and it can be applied to protocols developed after the present disclosure.

도 7은 일 실시예에 따른 광고 제공 방법의 순서도이다. 도 7에 도시된 각 단계들의 순서는 변경될 수 있다. 7 is a flowchart of a method of providing advertisements according to an exemplary embodiment. The order of each step shown in FIG. 7 may be changed.

도 7를 참조하면, 사용자 단말기(20)는 컨텐츠 요청 메시지를 방송 관리 서버에 송신한다(S502). 사용자 단말기(20)는 사용자로부터 컨텐츠 시청 요청을 받고, 이에 대응하여 컨텐츠 요청 메시지를 방송 관리 서버에 송신할 수 있다.Referring to FIG. 7 , the user terminal 20 transmits a content request message to the broadcasting management server (S502). The user terminal 20 may receive a content viewing request from the user and transmit a content request message to the broadcast management server in response to the content viewing request.

방송 관리 서버(30)는 컨텐츠 재생 리스트를 작성한다(S504). 일 실시예에서, 방송 관리 서버(30)는 동영상 데이터를 조각화하여 복수의 영상 조각 파일(스트리밍 파일, 청크)들을 생성하고, 또한 생성된 스트리밍 파일에 관한 메타 데이터(예를 들어, 파일명, 파일 주소(URL), 재생 시간)를 생성한다. 방송 관리 서버(30)는 메타 데이터에 기초하여 컨텐츠 재생 리스트를 작성한다. 컨텐츠 재생 리스트는 M3U8, MPD 포맷 중 어느 하나를 포함할 수 있다. 예를 들어, 도 5에 도시된 바와 같은 컨텐츠 재생 리스트가 작성될 수 있다. 일 실시예에서, 복수의 영상 조각 파일은 동일한 재생 시간을 갖도록 생성될 수 있다.The broadcast management server 30 creates a content play list (S504). In one embodiment, the broadcast management server 30 fragments video data to generate a plurality of video fragment files (streaming files, chunks), and also generates metadata about the generated streaming files (eg, file name, file address). (URL), playback time). The broadcasting management server 30 creates a content playlist based on meta data. The content play list may include any one of M3U8 and MPD formats. For example, a content play list as shown in FIG. 5 may be created. In one embodiment, a plurality of image fragment files may be created to have the same playback time.

방송 관리 서버(30)는 컨텐츠 재생 리스트를 사용자 단말기(20)에 송신한다(S506).The broadcast management server 30 transmits the content play list to the user terminal 20 (S506).

사용자 단말기(20)는 컨텐츠 재생 리스트에 기재된 주소로 스트리밍 파일(청크)을 요청하고 수신하여 컨텐츠를 사용자에게 제공한다(S508). 일 실시예에서, 사용자 단말기(20)는 방송 관리 서버(30), 광고 제공 서버(40) 및/또는 다른 컨텐츠 딜리버리 네트워크(도시되지 않음)에게 스트리밍 파일을 요청하고 수신하여 컨텐츠를 제공할 수 있다. The user terminal 20 requests and receives a streaming file (chunk) from the address listed in the content playlist, and provides the content to the user (S508). In one embodiment, the user terminal 20 may request and receive a streaming file from the broadcast management server 30, the advertisement providing server 40, and/or other content delivery networks (not shown) to provide content. .

방송 관리 서버(30)는 대체 광고 시작 신호를 수신한다(S510). 일 실시예에서, 대체 광고 시작 신호는 방송 관리 서버(30)의 운영자로부터 입력될 수 있다. 방송 관리 서버(30)의 운영자는 실시간으로 제공되는 컨텐츠를 모니터링하여 원하는 시간에 대체 광고가 시작되도록 대체 광고 시작 신호를 생성할 수 있다. 대체 광고 시작 신호는 대체 광고가 재생되는 시점에 관한 정보를 포함할 수 있다. 예를 들어, 실시간으로 프로야구 중계를 제공하는 방송 관리 서버(30)의 운영자는 프로야구 이닝 사이에 방송사 광고를 대체하여 광고 영상을 제공하기 위해 프로야구 이닝 종료 시점에 대체 광고가 시작하도록 대체 광고 시작 신호를 입력할 수 있다. The broadcast management server 30 receives an alternative advertisement start signal (S510). In one embodiment, the alternative advertisement start signal may be input from an operator of the broadcast management server 30 . An operator of the broadcasting management server 30 may monitor content provided in real time and generate an alternative advertisement start signal so that an alternative advertisement starts at a desired time. The replacement advertisement start signal may include information about when the replacement advertisement is played. For example, the operator of the broadcasting management server 30 that provides professional baseball relay in real time replaces broadcasting company advertisements between professional baseball innings to provide advertisement images, so that alternative advertisements start at the end of professional baseball innings. You can input a start signal.

방송 관리 서버(30)는 컨텐츠 재생 리스트를 업데이트한다(S512). 일 실시예에서, 방송 관리 서버(30)는 대체 광고 시작 시간을 특정 시간대를 기준으로 하여 컨텐츠 재생 리스트에 삽입할 수 있다. 예를 들어, 도 5에 도시된 것과 같이 UTC를 기준으로 대체 광고 시작 시간을 컨텐츠 재생 리스트에 삽입할 수 있다. 일 실시예에서, 컨텐츠 재생 리스트는 주기적으로 업데이트될 수 있다. The broadcast management server 30 updates the content play list (S512). In one embodiment, the broadcasting management server 30 may insert an alternative advertisement start time into a content playlist based on a specific time zone. For example, as shown in FIG. 5 , an alternative advertisement start time based on UTC may be inserted into a content playlist. In one embodiment, the content playlist may be periodically updated.

방송 관리 서버(30)는 업데이트된 컨텐츠 재생 리스트를 사용자 단말기(20)에 송신한다(S514). The broadcasting management server 30 transmits the updated content playlist to the user terminal 20 (S514).

사용자 단말기(20)는 업데이트된 컨텐츠 재생 리스트에 기재된 주소로 스트리밍 파일을 요청하고 수신하여 컨텐츠를 제공한다(S516). 일 실시예에서, 사용자 단말기(20)는 방송 관리 서버(30), 광고 제공 서버(40) 및/또는 다른 컨텐츠 딜리버리 네트워크(도시되지 않음)에게 스트리밍 파일을 요청하고 수신하여 컨텐츠를 제공할 수 있다. 또한, 일 실시예에서, 사용자 단말기(20)는 컨텐츠를 제공하는 도중, 예를 들어 도 5 및 도 5에 관련된 설명과 같이, 업데이트된 컨텐츠 재생 리스트에 삽입된 대체 광고 시작 시간, 스트리밍 파일의 길이, 스트리밍 파일의 재생 시작 시간 적어도 하나에 기초하여 대체 광고가 어떤 스트리밍 파일이 재생되는 도중에 시작되는지 계산할 수 있다. The user terminal 20 requests and receives a streaming file from the address listed in the updated content play list and provides the content (S516). In one embodiment, the user terminal 20 may request and receive a streaming file from the broadcast management server 30, the advertisement providing server 40, and/or other content delivery networks (not shown) to provide content. . In addition, in one embodiment, while providing content, the user terminal 20, for example, as described in relation to FIGS. 5 and 5, the replacement advertisement start time inserted into the updated content playlist, and the length of the streaming file. , Based on at least one reproduction start time of the streaming file, it is possible to calculate which streaming file is started while the replacement advertisement is being played.

방송 관리 서버(30)는 대체 광고 종료 신호를 수신한다(S518). 일 실시예에서, 대체 광고 시작 신호는 방송 관리 서버(30)의 운영자로부터 입력될 수 있다. 방송 관리 서버(30)의 운영자는 실시간으로 제공되는 컨텐츠를 모니터링하여 원하는 시간에 대체 광고가 종료되도록 대체 광고 종료 신호를 생성할 수 있다. 대체 광고 종료 신호는 대체 광고가 종료되는 시점에 관한 정보를 포함할 수 있다. 예를 들어, 실시간으로 프로야구 중계를 제공하는 방송 관리 서버(30)의 운영자는 프로야구 이닝 사이에 방송사 광고를 대체하여 광고 영상을 제공하기 위해 프로야구 이닝 시작 시점에 대체 광고가 종료하도록 대체 광고 종료 신호를 입력할 수 있다. 일 실시예에서, 대체 광고 종료 신호와 대체 광고 시작 신호는 별도로 입력될 수도 있고, 실질적으로 동시에 입력될 수 있다. 예를 들어 방송 관리 서버(30)의 운영자는 대체 광고 종료 신호와 대체 광고 시작 신호를 함께 입력할 수 있다. 이 경우, 컨텐츠 재생 리스트에 도 6에 도시된 것과 같이 대체 광고 종료 신호와 대체 광고 시작 신호가 함께 입력될 수 있다. The broadcast management server 30 receives an alternative advertisement end signal (S518). In one embodiment, the alternative advertisement start signal may be input from an operator of the broadcast management server 30 . An operator of the broadcasting management server 30 may monitor content provided in real time and generate an alternative advertisement end signal so that an alternative advertisement ends at a desired time. The replacement advertisement end signal may include information about when the replacement advertisement ends. For example, the operator of the broadcasting management server 30 that provides professional baseball relay in real time replaces broadcasting company advertisements between professional baseball innings to provide advertisement images, so that replacement advertisements end at the start of professional baseball innings. End signal can be input. In one embodiment, the alternative advertisement end signal and the alternative advertisement start signal may be input separately or may be input substantially simultaneously. For example, the operator of the broadcast management server 30 may input an alternative advertisement end signal and an alternative advertisement start signal together. In this case, as shown in FIG. 6, the alternative advertisement end signal and the alternative advertisement start signal may be input to the content play list together.

방송 관리 서버(30)는 컨텐츠 재생 리스트를 업데이트한다(S520). 일 실시예에서, 방송 관리 서버(30)는 대체 광고 종료 시간을 특정 시간대를 기준으로 하여 컨텐츠 재생 리스트에 삽입할 수 있다. 예를 들어, 도 6에 도시된 것과 같이 UTC를 기준으로 대체 광고 종료 시간을 컨텐츠 재생 리스트에 삽입할 수 있다. The broadcast management server 30 updates the content play list (S520). In one embodiment, the broadcasting management server 30 may insert an alternative advertisement end time into a content playlist based on a specific time zone. For example, as shown in FIG. 6 , an alternative advertisement end time based on UTC may be inserted into a content playlist.

방송 관리 서버(30)는 업데이트된 컨텐츠 재생 리스트를 사용자 단말기(20)에 송신한다(S522).The broadcasting management server 30 transmits the updated content playlist to the user terminal 20 (S522).

사용자 단말기(20)는 업데이트된 컨텐츠 재생 리스트에 기재된 주소로 스트리밍 파일을 요청하고 수신하여 컨텐츠를 제공한다(S524). 일 실시예에서, 사용자 단말기(20)는 방송 관리 서버(30), 광고 제공 서버(40) 및/또는 다른 컨텐츠 딜리버리 네트워크(도시되지 않음)에게 스트리밍 파일을 요청하고 수신하여 컨텐츠를 제공할 수 있다. The user terminal 20 requests and receives a streaming file from the address listed in the updated content play list and provides the content (S524). In one embodiment, the user terminal 20 may request and receive a streaming file from the broadcast management server 30, the advertisement providing server 40, and/or other content delivery networks (not shown) to provide content. .

사용자 단말기(20)는 광고 제공 서버(40)로 광고 영상 데이터를 요청한다(S526). 광고 영상 데이터 요청을 위한 정보(예를 들어, 시간, 위치 등)는 업데이트된 컨텐츠 재생 리스트에 포함되어 있다. The user terminal 20 requests advertisement video data from the advertisement providing server 40 (S526). Information for requesting advertisement video data (eg, time, location, etc.) is included in the updated content playlist.

광고 제공 서버(40)는 사용자 단말기(20)의 광고 영상 데이터 요청에 응답하여 광고 영상 데이터를 사용자 단말기(20)로 송신한다(S528). The advertisement providing server 40 transmits advertisement video data to the user terminal 20 in response to the request for advertisement video data from the user terminal 20 (S528).

사용자 단말기(20)는 컨텐츠 재생 리스트에 포함된 대체 광고 시작 시점에 대체 광고를 시작한다(S530). 사용자 단말기(20)가 스트리밍 파일을 재생 중인 경우, 재생중인 스트리밍 파일의 재생을 일시 중지하고 대체 광고를 시작할 수 있다. 일 실시예에서, 사용자 단말기(20)는 구분 재생 방식(Two-Player 방식)으로 광고를 재생할 수 있다. 일 실시예에서, 사용자 단말기(20)는 스트리밍 파일을 수신하여 제공하는 도중에 광고 영상 데이터를 미리 수신하여 디코딩을 미리 할 수도 있다. 즉, 단계S524 또는 단계516이전에 단계 S526 및 S528이 수행될 수 있다. The user terminal 20 starts an alternative advertisement at the start time of an alternative advertisement included in the content play list (S530). When the user terminal 20 is playing a streaming file, playback of the streaming file being played may be paused and an alternative advertisement may be started. In one embodiment, the user terminal 20 may reproduce advertisements in a segmented playback method (Two-Player method). In one embodiment, the user terminal 20 may receive advertising video data in advance and perform decoding in advance while receiving and providing a streaming file. That is, steps S526 and S528 may be performed before step S524 or step 516.

사용자 단말기(20)는 컨텐츠 재생 리스트에 포함된 대체 광고 종료 시점에 대체 광고를 종료한다(S532).The user terminal 20 ends the replacement advertisement when the replacement advertisement included in the content play list ends (S532).

사용자 단말기(20)는 대체 광고를 종료하고 기존 컨텐츠를 제공한다(S534). 일 실시예에서, 대체 광고를 종료하고 일시 중단한 스트리밍 파일의 재생을 재개한다. 사용자 단말기(20)는 주기적으로 컨텐츠 재생 리스트를 수신하여, 컨텐츠 재생 리스트에 따라 컨텐츠를 제공한다. The user terminal 20 ends the replacement advertisement and provides the original content (S534). In one embodiment, the replacement advertisement is terminated and playback of the suspended streaming file is resumed. The user terminal 20 periodically receives a content playlist and provides content according to the content playlist.

도 8은 일 실시예에 따른 컨텐츠 재생 리스트를 제공하는 방법의 순서도이다.8 is a flowchart of a method of providing a content playlist according to an exemplary embodiment.

도 8을 참조하면, 방송 관리 서버(30)는 사용자 단말기로부터 컨텐츠 요청 메시지를 수신한다(S802). Referring to FIG. 8 , the broadcast management server 30 receives a content request message from a user terminal (S802).

방송 관리 서버(30)는 컨텐츠 요청 메시지에 대응하여 컨텐츠 재생 리스트를 작성(S804)한다. 일 실시예에서, 방송 관리 서버(30)는 동영상 데이터를 조각화하여 복수의 영상 조각 파일(스트리밍 파일, 청크, TS 파일)들을 생성하고, 또한 생성된 스트리밍 파일에 관한 메타 데이터(예를 들어, 파일명, 파일 주소(URL), 재생 시간)를 생성한다. 방송 관리 서버(30)는 메타 데이터에 기초하여 컨텐츠 재생 리스트를 작성한다. 컨텐츠 재생 리스트는 M3U8, MPD 포맷 중 어느 하나를 포함할 수 있다. 일 실시예에서, 복수의 영상 조각 파일은 동일한 재생 시간을 갖도록 생성될 수 있다. 컨텐츠 재생 리스트는 복수의 스트리밍 파일의 주소, 재생 시간, 재생 지속 시간을 포함할 수 있다. The broadcasting management server 30 creates a content playlist in response to the content request message (S804). In one embodiment, the broadcast management server 30 fragments video data to generate a plurality of video fragment files (streaming file, chunk, TS file), and also generates metadata about the generated streaming file (eg, file name , file address (URL), playback time). The broadcasting management server 30 creates a content playlist based on meta data. The content play list may include any one of M3U8 and MPD formats. In one embodiment, a plurality of image fragment files may be created to have the same playback time. The content playback list may include addresses, playback times, and playback durations of a plurality of streaming files.

방송 관리 서버(30)는 컨텐츠 재생 리스트를 사용자 단말기(20)로 송신한다(S806).The broadcast management server 30 transmits the content play list to the user terminal 20 (S806).

방송 관리 서버(30)는 대체 광고 시작 시간을 나타내는 대체 광고 시작 신호를 수신한다(S808). 대체 광고 시작 신호는 방송 관리 서버(30) 운영자에 의해 입력될 수 있다. 예를 들어, 방송 관리 서버(30) 운영자는 원하는 시간에 대체 광고를 재생시키기 위해 컨텐츠가 사용자 단말기(20)에서 재생되고 있는 도중 실시간으로 대체 광고 시작 신호를 입력할 수 있다. The broadcasting management server 30 receives an alternative advertisement start signal indicating an alternative advertisement start time (S808). The alternative advertisement start signal may be input by the operator of the broadcast management server 30 . For example, the operator of the broadcast management server 30 may input an alternative advertisement start signal in real time while content is being reproduced in the user terminal 20 in order to reproduce an alternative advertisement at a desired time.

방송 관리 서버(30)는 대체 광고 시작 신호의 수신에 대응하여 컨텐츠 재생 리스트에 대체 광고 시작 시간을 삽입하여 컨텐츠 재생 리스트를 업데이트한다(S810). 대체 광고 시작 시간은 특정 시간대, 예를 들어 UTC를 기준으로 하여 지정되어 삽입될 수 있다. 업데이트된 컨텐츠 재생 리스트는 복수의 스트리밍 파일의 주소, 재생 시간, 재생 지속 시간, 대체 광고 시작 시간을 포함할 수 있다.The broadcasting management server 30 updates the content playlist by inserting an alternative advertisement start time into the content playlist in response to reception of the substitute advertisement start signal (S810). The alternative advertisement start time may be designated and inserted based on a specific time zone, for example, UTC. The updated content play list may include addresses of a plurality of streaming files, play time, play duration, and replacement advertisement start time.

방송 관리 서버(30)는 업데이트된 컨텐츠 재생 리스트를 사용자 단말기(20)로 송신한다(S812).The broadcasting management server 30 transmits the updated content playlist to the user terminal 20 (S812).

방송 관리 서버(30)는 대체 광고 종료 시간을 나타내는 대체 광고 종료 신호를 수신한다(S814). 대체 광고 종료 신호는 방송 관리 서버(30) 운영자에 의해 입력될 수 있다. 예를 들어, 방송 관리 서버(30) 운영자는 원하는 시간에 대체 광고를 종료하기 위해 컨텐츠가 사용자 단말기(20)에서 재생되고 있는 도중 실시간으로 대체 광고 종료 신호를 입력할 수 있다. The broadcasting management server 30 receives the alternative advertisement end signal indicating the end time of the alternative advertisement (S814). The alternative advertisement termination signal may be input by the operator of the broadcast management server 30 . For example, the operator of the broadcast management server 30 may input an alternative advertisement termination signal in real time while content is being reproduced in the user terminal 20 in order to terminate the replacement advertisement at a desired time.

방송 관리 서버(30)는 대체 광고 종료 신호의 수신에 대응하여 컨텐츠 재생 리스트에 대체 광고 종료 시간을 삽입하여 컨텐츠 재생 리스트를 업데이트한다(S816). 대체 광고 종료 시간은 특정 시간대, 예를 들어 UTC를 기준으로 하여 지정되어 삽입될 수 있다 업데이트된 컨텐츠 재생 리스트는 복수의 스트리밍 파일의 주소, 재생 시간, 재생 지속 시간, 대체 광고 시작 시간, 대체 광고 종료 시간을 포함할 수 있다.The broadcasting management server 30 updates the content playlist by inserting an alternative advertisement end time into the content playlist in response to reception of the substitute advertisement end signal (S816). The alternative advertisement end time can be designated and inserted based on a specific time zone, for example, UTC. The updated content playlist includes the address of a plurality of streaming files, playback time, playback duration, alternative advertisement start time, and alternative advertisement end time. may include time.

방송 관리 서버(30)는 업데이트된 컨텐츠 재생 리스트를 사용자 단말기(20)로 송신한다(S818).The broadcasting management server 30 transmits the updated content playlist to the user terminal 20 (S818).

일 실시예에서, 대체 광고 종료 신호와 대체 광고 시작 신호는 별도로 입력될 수도 있고, 실질적으로 동시에 입력될 수 있다. 예를 들어 서버(30)의 운영자는 대체 광고 종료 신호와 대체 광고 시작 신호를 함께 입력할 수 있다. 이 경우, 도 4의 컨텐츠 재생 리스트가 컨텐츠 재생 리스트에 도 6에 도시된 것과 같이 업데이트 될 수 있다. In one embodiment, the alternative advertisement end signal and the alternative advertisement start signal may be input separately or may be input substantially simultaneously. For example, the operator of the server 30 may input an alternative advertisement end signal and an alternative advertisement start signal together. In this case, the content play list of FIG. 4 may be updated as shown in FIG. 6 in the content play list.

사용자 단말기(20)는 업데이트된 컨텐츠 재생 리스트에 포함된 정보를 이용하여 스트리밍 서비스를 제공하는 도중 지정된 대체 광고 시작 시간에 대체 광고를 재생하고 대체 광고 종료 시간에 대체 광고를 종료한다. The user terminal 20 plays a replacement advertisement at a designated replacement advertisement start time and ends the replacement advertisement at an alternative advertisement end time while providing a streaming service using information included in the updated content play list.

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

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. Computer readable media may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

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

기존 영상을 제공하는 도중 대체 광고로 전환하기 위해, 대체 광고 재생시작 및 종료 시점을 특정 시간대(예를 들어, UTC) 기준으로 청크 리스트에 명시적으로 포함시킨다. 사용자 단말기는 청크 리스트에 기초하여 광고 전환 시간을 계산하여 대체 광고를 정확하게 전환시킨다. 이에 따라, 기존의 대체 광고 송출을 위해서 영상 청크를 가변적으로 잘라야하는 비효율성을 해결한다.In order to switch to an alternative advertisement while providing an existing video, start and end times of playback of an alternative advertisement are explicitly included in the chunk list based on a specific time zone (eg, UTC). The user terminal calculates the advertisement switching time based on the chunk list to accurately convert the replacement advertisement. Accordingly, the inefficiency of having to variably cut video chunks for transmission of existing alternative advertisements is solved.

10: 컨텐츠 제공 시스템 20: 사용자 단말기
30: 방송 관리 서버 40: 광고 제공 서버
21: 프로세서 22: 메모리
24: 스토리지 26: I/O 인터페이스 회로
10: content providing system 20: user terminal
30: broadcast management server 40: advertisement providing server
21: processor 22: memory
24: storage 26: I/O interface circuit

Claims (8)

서버가 사용자 단말기에 광고를 제공하는 방법에 있어서,
스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 상기 사용자 단말기에 제공하는 단계로, 상기 컨텐츠 재생 리스트는 상기 스트리밍 서비스 제공을 위한 복수개의 파일 각각의 이름 정보 및 위치 정보, 재생 시간(duration) 정보를 포함하는 단계;
대체 광고 시작 신호를 수신하는 단계;
상기 대체 광고 시작 신호를 수신하는 것에 대응하여, 상기 컨텐츠 재생 리스트에 대체 광고 시작 시점을 특정 시간대를 기준으로 지정하여 삽입하여 상기 컨텐츠 재생 리스트를 업데이트한 제1 업데이트된 컨텐츠 재생 리스트를 생성하는 단계;
상기 제1 업데이트된 컨텐츠 재생 리스트를 상기 사용자 단말기로 제공하는 단계;
대체 광고 종료 신호를 수신하는 단계;
상기 대체 광고 종료 신호를 수신하는 것에 대응하여, 상기 제1 업데이트된 컨텐츠 재생 리스트에 대체 광고 종료 시점을 상기 특정 시간대를 기준으로 지정하여 삽입하여 제2 업데이트된 컨텐츠 재생 리스트를 생성하는 단계; 및
상기 제2 업데이트된 컨텐츠 재생 리스트를 상기 사용자 단말기로 제공하는 단계를 포함하고,
상기 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 상기 사용자 단말기에 제공하는 단계 이전에,
상기 서버가 상기 사용자 단말기로부터 컨텐츠 요청 메시지를 수신하는 단계; 및
상기 컨텐츠 요청 메시지가 나타내는 컨텐츠를, 상기 사용자 단말기에서 재생 가능하고 재생 시간(duration)이 동일한 복수개의 파일로 분할하고, 상기 복수개의 파일 각각의 이름 정보, 위치 정보 및 상기 재생 시간 정보를 메타데이터로 하여 상기 컨텐츠 재생 리스트를 생성하는 단계를 더 포함하고,
상기 복수개의 파일과 상기 제1 업데이트된 컨텐츠 재생 리스트를 제공받은 상기 사용자 단말기는, 상기 제1 업데이트된 컨텐츠 재생 리스트에 포함된 정보에 기초하여, 상기 제1 업데이트된 컨텐츠 재생 리스트에 포함된 상기 복수개 파일 각각의 재생 시작 시점 및 재생 종료 시점을 계산하고, 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일을 검출하고, 상기 대체 광고 시작 시점에 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일의 재생을 일시 정지하고 구분 재생 방식으로 대체 광고를 시작하도록 구성된,
광고를 제공하는 방법.
A method in which a server provides an advertisement to a user terminal,
Providing a content playlist for providing a streaming service to the user terminal, wherein the content playlist includes name information, location information, and duration information of each of a plurality of files for providing the streaming service. ;
receiving a replacement advertisement start signal;
In response to receiving the alternative advertisement start signal, generating a first updated content playlist by updating the content playlist by designating and inserting an alternative advertisement start time into the content playlist based on a specific time period;
providing the first updated content playlist to the user terminal;
receiving a replacement advertisement end signal;
generating a second updated content playlist by designating and inserting an end point of an alternative advertisement based on the specific time period into the first updated content playlist in response to receiving the alternative advertisement end signal; and
Providing the second updated content playlist to the user terminal;
Prior to the step of providing the content playlist for providing the streaming service to the user terminal,
receiving, by the server, a content request message from the user terminal; and
The content indicated by the content request message is divided into a plurality of files that can be reproduced in the user terminal and have the same duration, and name information, location information, and reproduction time information of each of the plurality of files are used as metadata. Further comprising the step of generating the content playlist by doing
The user terminal, having received the plurality of files and the first updated content playlist, based on the information included in the first updated content playlist, the plurality of files included in the first updated content playlist. Calculate playback start time and playback end time of each file, detect a file having a playback period including the replacement advertisement start time, and file having a playback period including the replacement advertisement start time at the replacement advertisement start time configured to pause the playback of and start an alternative advertisement in a separate playback manner;
How to serve advertisements.
제1항에 있어서,
상기 대체 광고 시작 신호를 수신하는 단계 및 대체 광고 종료 신호를 수신하는 단계는 동시에 수행되는, 광고를 제공하는 방법.
According to claim 1,
Wherein the receiving of the alternative advertisement start signal and the receiving of the alternative advertisement end signal are performed simultaneously.
삭제delete 제1항에 있어서,
상기 대체 광고 시작 시점 및 대체 광고 종료 시점은 상기 컨텐츠 재생 리스트의 헤더에 삽입되는, 광고를 제공하는 방법.
According to claim 1,
The alternative advertisement start time and the alternative advertisement end time are inserted into a header of the content playlist.
삭제delete 제1항에 있어서,
상기 특정 시간대는 협정세계시(Coordinated Universal Time, UTC)인, 광고를 제공하는 방법.
According to claim 1,
The method of providing an advertisement, wherein the specific time zone is Coordinated Universal Time (UTC).
제1항에 있어서,
상기 컨텐츠 재생 리스트는 HTTP LIVE STREAMING 규격에 호환가능한 규격으로 제공되는, 광고를 제공하는 방법.
According to claim 1,
The content playlist is provided in a standard compatible with the HTTP LIVE STREAMING standard.
서버가 사용자 단말기에 광고를 제공하는 방법에 있어서,
스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 상기 사용자 단말기에 제공하는 단계를 포함하며,
상기 컨텐츠 재생 리스트는 상기 스트리밍 서비스 제공을 위한 복수개의 파일 각각의 이름 정보 및 위치 정보, 재생 시간(duration) 정보, 대체 광고 시작 시간 및 대체 광고 종료 시간을 포함하고,
상기 복수개의 파일과 상기 스트리밍 서비스 제공을 위한 컨텐츠 재생 리스트를 제공 받은 상기 사용자 단말기는, 상기 복수개의 파일 각각의 재생 시작 시점 및 재생 종료 시점을 계산하고, 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일을 검출하고, 상기 대체 광고 시작 시점에 상기 대체 광고 시작 시점을 포함하는 재생 구간을 갖는 파일의 재생을 일시 정지하고 구분 재생 방식으로 대체 광고를 시작하고, 상기 대체 광고 종료 시점에 상기 대체 광고를 종료하고 일시 정지된 파일을 재개하도록 하는, 광고를 제공하며,
상기 대체 광고 시작 시간 및 상기 대체 광고 종료 시간은 특정시간대를 기준으로 지정되는, 광고를 제공하는 방법.
A method in which a server provides an advertisement to a user terminal,
Providing a content playlist for providing a streaming service to the user terminal;
The content play list includes name information and location information of each of a plurality of files for providing the streaming service, duration information, an alternative advertisement start time and an alternative advertisement end time,
The user terminal, having received the plurality of files and the content playlist for providing the streaming service, calculates a reproduction start time and a reproduction end time of each of the plurality of files, and sets a reproduction period including the replacement advertisement start time. Detects a file having a playback period including the start time of the replacement advertisement at the start time of the replacement advertisement, pauses playback of the file having a playback section including the start time of the replacement advertisement, starts the replacement advertisement in a segmented playback method, and starts the replacement advertisement at the end time of the replacement advertisement and provide advertisements, which cause the paused file to be resumed,
The alternative advertisement start time and the alternative advertisement end time are designated based on a specific time zone.
KR1020210019025A 2021-02-10 2021-02-10 Method of provding advertisement KR102526605B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210019025A KR102526605B1 (en) 2021-02-10 2021-02-10 Method of provding advertisement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210019025A KR102526605B1 (en) 2021-02-10 2021-02-10 Method of provding advertisement

Publications (2)

Publication Number Publication Date
KR20220115740A KR20220115740A (en) 2022-08-18
KR102526605B1 true KR102526605B1 (en) 2023-05-02

Family

ID=83112095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019025A KR102526605B1 (en) 2021-02-10 2021-02-10 Method of provding advertisement

Country Status (1)

Country Link
KR (1) KR102526605B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160138044A (en) * 2014-03-24 2016-12-02 퀄컴 인코포레이티드 Targeted advertisement insertion for streaming media data
KR102160768B1 (en) * 2016-02-18 2020-09-28 주식회사 케이티 System, broadcasting server and media play device for providing cue-tone advertisement service
KR20170097547A (en) 2016-02-18 2017-08-28 에스케이텔레콤 주식회사 Method for providing of advertisement and apparatus therefor
KR101936384B1 (en) * 2016-09-02 2019-01-08 주식회사 솔박스 Method and apparatus for providing playing list to force viewers to watch video

Also Published As

Publication number Publication date
KR20220115740A (en) 2022-08-18

Similar Documents

Publication Publication Date Title
US20220159349A1 (en) Methods and apparatus for presenting advertisements during playback of recorded television content
US11785289B2 (en) Receiving device, transmitting device, and data processing method
US8973032B1 (en) Advertisement insertion into media content for streaming
KR102090261B1 (en) Method and system for inserting content into streaming media at arbitrary time points
US20170195744A1 (en) Live-stream video advertisement system
EP2677421A1 (en) Information processing device, information processing method, and program
JP6862361B2 (en) Broadcast content redistribution and ad insertion
US20190373296A1 (en) Content streaming system and method
KR102499231B1 (en) Receiving device, sending device and data processing method
US11622136B2 (en) System and method for providing a customized manifest representing a video channel
US11545185B1 (en) Method and apparatus for frame accurate high resolution video editing in cloud using live video streams
RU2630261C2 (en) Transmission apparatus, data processing technique, programme, receiving apparatus and app interaction system
US11297356B2 (en) Interweaving media content
WO2016181901A1 (en) Contents distribution system
TWI788722B (en) Method for use in connection with a content-presentation device, non-transitory computer-readable storage medium and computing system
KR102526605B1 (en) Method of provding advertisement
US20170055024A1 (en) Receiving apparatus, receiving method, transmission apparatus, and transmission method
CN107534792B (en) Receiving apparatus, transmitting apparatus, and data processing method
US20190158898A1 (en) Hybrid transmission protocol
KR101999235B1 (en) Method and system for providing hybrid broadcast broadband service based on mmtp
KR101384740B1 (en) Subtitle processing system and method using image recognition technology
KR20140134097A (en) Method and Apparatus for providing recording service in cloud environment

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant