KR20220157033A - Video streaming service server for displaying advertisement information related to video and operating method thereof - Google Patents
Video streaming service server for displaying advertisement information related to video and operating method thereof Download PDFInfo
- Publication number
- KR20220157033A KR20220157033A KR1020210064555A KR20210064555A KR20220157033A KR 20220157033 A KR20220157033 A KR 20220157033A KR 1020210064555 A KR1020210064555 A KR 1020210064555A KR 20210064555 A KR20210064555 A KR 20210064555A KR 20220157033 A KR20220157033 A KR 20220157033A
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- user terminal
- information
- subtitle
- keyword
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title abstract description 12
- 239000013598 vector Substances 0.000 claims description 82
- 238000013500 data storage Methods 0.000 claims description 69
- 238000007726 management method Methods 0.000 claims description 65
- 230000005540 biological transmission Effects 0.000 claims description 25
- 238000013519 translation Methods 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000001939 inductive effect Effects 0.000 abstract description 4
- 238000012790 confirmation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명은 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a video streaming service server and its operating method for displaying advertisement information related to video.
최근, 코로나 시대가 장기화되면서, 실내에서 영상 콘텐츠를 시청하는 비율이 증가하고 있는 추세이다. 이에 따라, 실시간 TV 시청량은 증가하였으며, VOD 시청 건수도 증가하였다.Recently, as the corona era is prolonged, the ratio of watching video content indoors is increasing. Accordingly, the amount of real-time TV viewing has increased, and the number of VOD views has also increased.
이렇게, 실내에서 영상 콘텐츠를 시청하는 비율이 증가하면서, 영상 스트리밍 서비스의 인기도 증가하고 있고, 이로 인해, 영상 스트리밍 서비스에서 보다 다양한 부가 기능을 지원해 줄 필요성 또한 증대되고 있다.In this way, as the ratio of watching video content indoors increases, the popularity of video streaming services is also increasing, and as a result, the need to support more various additional functions in video streaming services is also increasing.
이와 관련하여, 기존의 기술에서는 시청자가 영상 콘텐츠를 감상할 때, 영상에 연관된 광고 정보의 표시가 수행되지 않아서, 시청자들로 하여금 영상에서 노출되고 있는 콘텐츠와 관련된 제품의 구입을 유도하게 하는 것이 쉽지 않았다.In this regard, in the existing technology, when a viewer watches video content, advertisement information related to the video is not displayed, so it is not easy to induce viewers to purchase a product related to the content exposed in the video. .
만약, 시청자가 영상 콘텐츠를 감상할 때, 영상에 연관된 광고 정보의 표시가 가능하도록 함으로써, 시청자들로 하여금 영상에서 노출되고 있는 콘텐츠와 관련된 제품의 구입을 유도할 수 있도록 지원하는 기술이 도입된다면, 기업은 보다 큰 이익을 누릴 수 있을 것이다.If a technology is introduced that enables viewers to display advertising information related to video content when viewing video content, thereby inducing viewers to purchase products related to the content exposed in the video. will enjoy greater benefits.
따라서, 영상에 연관된 광고 정보의 표시가 가능하도록 지원하는 영상 스트리밍 서비스 기술에 대한 연구가 필요하다.Therefore, it is necessary to study a video streaming service technology that supports the display of advertisement information related to video.
본 발명은 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자로 하여금 영상에서 노출되고 있는 콘텐츠와 관련된 제품의 구입을 유도하게 하여 기업이 보다 큰 이익을 향유할 수 있도록 지원하고자 한다.The present invention proposes a video streaming service server and its operating method for displaying advertisement information related to video, thereby inducing users to purchase products related to content exposed in video, so that companies can enjoy greater profits. We want to help you make it happen.
본 발명의 일실시예에 따른, 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍(Streaming) 서비스 서버는 스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있는 영상 데이터 저장부, 광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있는 단어 데이터베이스, 사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치 - 상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1임 - 가 대응되어 저장되어 있는 가중치 저장부, 제1 사용자 단말로부터 제1 영상 데이터가 수신되면서, 상기 제1 사용자 단말로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인하는 분할부, 상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성하는 자막 생성부, 상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성하는 관리 테이블 생성부, 상기 관리 테이블이 생성되면, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장하는 정보 저장 처리부, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인하는 등장 빈도수 확인부, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성하는 특징 벡터 생성부, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성하는 광고 벡터 생성부, 상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산하는 매칭 점수 연산부, 상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택하는 광고 정보 선택부 및 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 상기 제2 사용자 단말로 추가 전송하는 스트리밍 전송부를 포함한다.According to an embodiment of the present invention, a video streaming service server for displaying advertisement information related to video includes a video data storage unit storing a plurality of different video data targeted for a streaming service, and advertisement selection. A word database in which different N (N is a natural number of 2 or more) words are stored, a plurality of preset different advertisement information, and a preset representation indicating the degree of association between each advertisement information and each of the N words. weight - the higher the weight, the higher the association between the advertisement information and the words, and the sum of the weights between each advertisement information and each of the N words is 1 - a weight storage unit in which correspondingly stored weights are stored, and a first user When the first video data is received from the terminal and an upload request command for the first video data is received from the first user terminal, the first video data is divided into a plurality of divisions by dividing the first video data by a first playback time interval set in advance. A segmentation unit that generates image data and checks information on the reproduction time of each of the plurality of divided image data in the entire reproduction time of the first image data, and converts the plurality of divided image data to a pre-built speech recognition model. A caption generating unit generating a plurality of subtitles corresponding to each of the plurality of divided image data by sequentially applying the input as an input and performing voice recognition, and the plurality of subtitles and the divided image corresponding to each of the plurality of subtitles. a management table generation unit for generating a management table in which information on reproduction time of data is recorded in association with each other; when the management table is generated, storing the first image data and the management table in association with each other in the image data storage unit After the first image data and the management table are associated and stored in the information storage processing unit and the image data storage unit, when a playback command for the first image data is received from a second user terminal, the image data storage unit Saved reminder management Referring to the table, an appearance frequency check unit for checking the frequency of occurrence of each of the N words in the plurality of subtitles, and the frequency of occurrence of each of the N words in the plurality of subtitles. By constructing a feature vector generator for generating an N-dimensional feature vector having as components, an N-dimensional vector having weights between each advertisement information and each of the N words for each of the plurality of pieces of advertisement information as a component, An advertisement vector generator that generates an advertisement vector corresponding to each of the plurality of advertisement pieces of advertisement information, configures an advertisement vector of each of the plurality of pieces of advertisement information as a row vector, and configures the feature vector as a column vector, and then configures the plurality of advertisements. A matching score calculation unit that calculates a matching score corresponding to each of the plurality of pieces of advertisement information by calculating a matrix multiplication between an advertisement vector corresponding to each piece of advertisement information and the feature vector for each piece of information; The first image data stored in the image data storage unit is transmitted to the second user terminal and an advertisement information selection unit that selects first advertisement information having the maximum matching score in a streaming manner, and a streaming transmission unit generating an advertisement display control command to display the first advertisement information on a preset display area of a screen on which video data is reproduced and additionally transmitting the command to the second user terminal.
또한, 본 발명의 일실시예에 따른, 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 동작 방법은 스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있는 영상 데이터 저장부를 유지하는 단계, 광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있는 단어 데이터베이스를 유지하는 단계, 사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치 - 상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1임 - 가 대응되어 저장되어 있는 가중치 저장부를 유지하는 단계, 제1 사용자 단말로부터 제1 영상 데이터가 수신되면서, 상기 제1 사용자 단말로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인하는 단계, 상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성하는 단계, 상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성하는 단계, 상기 관리 테이블이 생성되면, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장하는 단계, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인하는 단계, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성하는 단계, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성하는 단계, 상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산하는 단계, 상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택하는 단계 및 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 상기 제2 사용자 단말로 추가 전송하는 단계를 포함한다.In addition, according to an embodiment of the present invention, a method of operating a video streaming service server for displaying advertisement information related to a video includes maintaining a video data storage unit in which a plurality of different video data that are objects of a streaming service are stored. Step, maintaining a word database in which N (N is a natural number of 2 or more) preset words for advertisement selection are stored, a plurality of preset different advertisement information, each advertisement information and the N words A pre-set weight representing the degree of association between each of the above - the higher the weight, the higher the degree of association between the advertisement information and the word, and the sum of the weights between each advertisement information and each of the N words is 1 - is stored in correspondence Maintaining a weight storage unit having a weight storage unit configured to store the first image data when first image data is received from a first user terminal and an upload request command for the first image data is received from the first user terminal; Generating a plurality of divided image data by dividing them by a first reproduction time interval, and checking information about a reproduction time point of each of the plurality of divided image data in the entire reproduction time of the first image data; Generating a plurality of subtitles corresponding to each of the plurality of split image data by sequentially applying the divided image data as inputs to a pre-built speech recognition model and performing voice recognition; generating a management table in which information on reproducing time of segmented video data corresponding to each of subtitles is recorded in association with each other; when the management table is created, the first video data and the management table are stored in the video data storage unit. When a reproduction command for the first image data is received from a second user terminal after the first image data and the management table are stored in correspondence with each other in the image data storage unit, the image stored in the data storage Checking the frequency of occurrence of each of the N words in the plurality of subtitles by referring to the management table, determining the frequency of occurrence of each of the N words in the plurality of subtitles. generating an N-dimensional feature vector having as a component, constructing an N-dimensional vector having as a component a weight between each advertisement information and each of the N words for each of the plurality of pieces of advertisement information, Generating an advertisement vector corresponding to each piece of advertisement information, configuring an advertisement vector of each of the plurality of pieces of advertisement information as a row vector and configuring the feature vector as a column vector, and then for each of the plurality of pieces of advertisement information, calculating a matching score corresponding to each of the plurality of pieces of advertisement information by calculating a matrix multiplication between an advertisement vector corresponding to each piece of advertisement information and the feature vector; Selecting advertisement information and transmitting the first video data stored in the video data storage to the second user terminal in a streaming manner, wherein the first display area of the screen where the first video data is reproduced is displayed. generating an advertisement display control command for displaying the first advertisement information and additionally transmitting the command to the second user terminal.
본 발명은 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자로 하여금 영상에서 노출되고 있는 콘텐츠와 관련된 제품의 구입을 유도하게 하여 기업이 보다 큰 이익을 향유할 수 있도록 지원할 수 있다.The present invention proposes a video streaming service server and its operating method for displaying advertisement information related to video, thereby inducing users to purchase products related to content exposed in video, so that companies can enjoy greater profits. can support you to do so.
도 1은 본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 동작 방법을 도시한 순서도이다.1 is a diagram showing the structure of a video streaming service server for displaying advertisement information related to video according to an embodiment of the present invention.
2 is a flowchart illustrating an operating method of a video streaming service server for displaying advertisement information related to video according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.
도 1은 본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍(Streaming) 서비스 서버의 구조를 도시한 도면이다.1 is a diagram showing the structure of a video streaming service server for displaying advertisement information related to video according to an embodiment of the present invention.
본 발명에 따른 영상 스트리밍 서비스 서버(110)는 영상 데이터 저장부(111), 단어 데이터베이스(112), 가중치 저장부(113), 분할부(114), 자막 생성부(115), 관리 테이블 생성부(116), 정보 저장 처리부(117), 등장 빈도수 확인부(118), 특징 벡터 생성부(119), 광고 벡터 생성부(120), 매칭 점수 연산부(121), 광고 정보 선택부(122) 및 스트리밍 전송부(123)를 포함한다.The video
영상 데이터 저장부(111)에는 스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있다.The image
단어 데이터베이스(112)에는 광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있다.The
관련해서, N이 4라고 하는 경우, 단어 데이터베이스(112)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.In relation to this, when N is 4, information may be stored in the
가중치 저장부(113)에는 사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치가 대응되어 저장되어 있다.In the
여기서, 상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1이다.Here, the higher the weight, the higher the association between the advertisement information and the word, and the sum of the weights between each advertisement information and each of the N words is 1.
관련해서, N이 4라고 하는 경우, 가중치 저장부(113)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.In relation to this, when N is 4, information as shown in Table 2 below may be stored in the
분할부(114)는 제1 사용자 단말(140)로부터 제1 영상 데이터가 수신되면서, 제1 사용자 단말(140)로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인한다.When the first image data is received from the
자막 생성부(115)는 상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성한다.The
관리 테이블 생성부(116)는 상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성한다.The management
정보 저장 처리부(117)는 상기 관리 테이블이 생성되면, 영상 데이터 저장부(111)에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장한다.When the management table is generated, the information
이하에서는, 분할부(114), 자막 생성부(115), 관리 테이블 생성부(116) 및 정보 저장 처리부(117)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the
먼저, 제1 사용자 단말(140)로부터 제1 영상 데이터가 영상 스트리밍 서비스 서버(110)에 수신되면서, 제1 사용자 단말(140)로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 영상 스트리밍 서비스 서버(110)에 수신되면, 분할부(114)는 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성할 수 있다.First, while first video data is received from the
만약, 사전 설정된 제1 재생 시간 간격을 '1분'이라고 하고, 상기 제1 영상 데이터의 전체 재생 시간이 '5분'이라고 하는 경우, 분할부(114)는 상기 제1 영상 데이터를 '1분' 간격으로 분할함으로써, '1분'의 재생 시간을 갖는 복수의 분할 영상 데이터들을 '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5'로 생성할 수 있다.If the preset first playback time interval is '1 minute' and the total playback time of the first image data is '5 minutes', the
그 이후, 분할부(114)는 상기 제1 영상 데이터의 전체 재생 시간인 '5분'에서 '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5' 각각의 재생 시점인 '재생 시점 1(0초), 재생 시점 2(1분), 재생 시점 3(2분), 재생 시점 4(3분), 재생 시점 5(4분)'에 대한 정보를 확인할 수 있다.Thereafter, the
그러고 나서, 자막 생성부(115)는 '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5'를 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5' 각각에 대응되는 복수의 자막들을 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'로 생성할 수 있다.Then, the
그 이후, 관리 테이블 생성부(116)는 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'와 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5' 각각에 대응되는 분할 영상 데이터인 '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5'의 재생 시점인 '재생 시점 1(0초), 재생 시점 2(1분), 재생 시점 3(2분), 재생 시점 4(3분), 재생 시점 5(4분)'에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 하기의 표 3과 같이 생성할 수 있다.Thereafter, the management
이렇게, 관리 테이블 생성부(116)에 의해 상기 관리 테이블이 생성되면, 정보 저장 처리부(117)는 영상 데이터 저장부(111)에 상기 제1 영상 데이터와 상기 표 3과 같은 관리 테이블을 서로 대응시켜 저장할 수 있다.In this way, when the management table is generated by the management
등장 빈도수 확인부(118)는 영상 데이터 저장부(111)에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말(150)로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 영상 데이터 저장부(111)에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인한다.After the first image data and the management table are stored in correspondence with the image
특징 벡터 생성부(119)는 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성한다.The feature
광고 벡터 생성부(120)는 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성한다.The
매칭 점수 연산부(121)는 상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산한다.The matching
광고 정보 선택부(122)는 상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택한다.The advertisement
스트리밍 전송부(123)는 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 제2 사용자 단말(150)로 추가 전송한다.The
이하에서는, 등장 빈도수 확인부(118), 특징 벡터 생성부(119), 광고 벡터 생성부(120), 매칭 점수 연산부(121), 광고 정보 선택부(122) 및 스트리밍 전송부(123)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the appearance
예컨대, 전술한 예와 같이, 영상 데이터 저장부(111)에 상기 제1 영상 데이터와 상기 표 3과 같은 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말(150)로부터 상기 제1 영상 데이터에 대한 재생 명령이 영상 스트리밍 서비스 서버(110)에 수신되면, 등장 빈도수 확인부(118)는 영상 데이터 저장부(111)에 저장되어 있는 상기 표 3과 같은 관리 테이블과 상기 표 1과 같은 단어 데이터베이스(112)를 참조하여, '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'에서, '지재권, 특허, 저작권, 등록' 각각이 등장하는 등장 빈도수를 확인할 수 있다.For example, as in the above example, after the first image data and the management table shown in Table 3 are stored in correspondence with the image
이때, 등장 빈도수 확인부(118)에 의해 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'에서 '지재권, 특허, 저작권, 등록' 각각이 등장하는 등장 빈도수가 '2(회), 10(회), 1(회), 8(회)'로 확인되었다고 가정하자.At this time, the appearance frequency of each of 'intellectual property rights, patents, copyrights, and registrations' in 'caption 1, subtitle 2, subtitle 3, subtitle 4, and subtitle 5' by the appearance
이때, 특징 벡터 생성부(119)는 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'에서, '지재권, 특허, 저작권, 등록' 각각이 등장하는 등장 빈도수를 성분으로 갖는 4차원의 특징 벡터로 '[2 10 1 8]'을 생성할 수 있다.At this time, the
그러고 나서, 광고 벡터 생성부(120)는 상기 표 2와 같은 가중치 저장부(113)를 참조하여, '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대해, 각 광고 정보와 '지재권, 특허, 저작권, 등록' 각각 간의 가중치를 성분으로 갖는 4차원의 벡터를 구성함으로써, '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 광고 벡터를 생성할 수 있다.Then, the advertisement
이와 관련해서, '광고 정보 1'에 대해서는 '광고 정보 1'과 '지재권, 특허, 저작권, 등록' 간의 가중치가 '0.1, 0.45, 0, 0.45'이므로, 광고 벡터 생성부(120)는 '광고 정보 1'에 대응되는 광고 벡터로 '[0.1 0.45 0 0.45]'를 생성할 수 있다. 이러한 방식으로, 광고 벡터 생성부(120)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 광고 벡터로 '[0.1 0.45 0 0.45], [0.1 0 0.45 0.45], [0.5 0.3 0.2 0], ...'을 생성할 수 있다.In this regard, for 'advertisement information 1', since the weights between 'advertisement information 1' and 'intellectual property, patent, copyright, registration' are '0.1, 0.45, 0, 0.45', '[0.1 0.45 0 0.45]' may be generated as an advertisement vector corresponding to information 1'. In this way, the advertisement
이렇게, '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 광고 벡터가 생성되면, 매칭 점수 연산부(121)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 광고 벡터인 '[0.1 0.45 0 0.45], [0.1 0 0.45 0.45], [0.5 0.3 0.2 0], ...'을 행벡터로 '[0.1 0.45 0 0.45], [0.1 0 0.45 0.45], [0.5 0.3 0.2 0], ...'과 같이 구성하고, 상기 특징 벡터인 '[2 10 1 8]'을 열벡터로 ''과 같이 구성할 수 있다.In this way, when advertisement vectors corresponding to each of 'advertisement information 1, advertisement information 2, advertisement information 3, ...' are generated, the matching
그 이후, 매칭 점수 연산부(121)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 매칭 점수를 연산할 수 있다.After that, the matching
이와 관련해서, '광고 정보 1'에 대해서는 '광고 정보 1'에 대응되는 광고 벡터가 '[0.1 0.45 0 0.45]'이고, 상기 특징 벡터가 ''이므로, 매칭 점수 연산부(121)는 '광고 정보 1'에 대응되는 매칭 점수로 '(0.2+4.5+0+3.6=8.3)(점)'을 생성할 수 있다. 이러한 방식으로, 매칭 점수 연산부(121)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 매칭 점수로 '8.3(점), 4.25(점), 4.2(점) ...'을 생성할 수 있다.In this regard, for 'Ad information 1', the advertisement vector corresponding to 'Ad information 1' is '[0.1 0.45 0 0.45]', and the feature vector is ' ', the matching
이렇게, 매칭 점수 연산부(121)에 의해, '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 각각에 대응되는 매칭 점수로 '8.3(점), 4.25(점), 4.2(점) ...'의 연산이 완료되면, 광고 정보 선택부(122)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택할 수 있다.In this way, by the matching
만약, 상기 매칭 점수 중 '8.3(점), 4.25(점), 4.2(점) ...' 순서대로 매칭 점수가 크다고 가정하는 경우, 광고 정보 선택부(122)는 '광고 정보 1, 광고 정보 2, 광고 정보 3, ...' 중 '광고 정보 1'을 선택할 수 있다.If it is assumed that the matching scores are higher in the order of '8.3 (points), 4.25 (points), 4.2 (points) ...' among the matching scores, the
그러고 나서, 스트리밍 전송부(123)는 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 '광고 정보 1'이 표시되도록 하는 광고 표시 제어 명령을 생성하여 제2 사용자 단말(150)로 추가 전송할 수 있다.Then, the
이를 통해, 제2 사용자 단말(150)의 사용자는 상기 제1 영상 데이터를 스트리밍 방식으로 감상할 수 있을 뿐만 아니라 화면의 상기 표시 영역에 표시되는 '광고 정보 1'을 확인함으로써, 추후 관련 제품 구매 시 참조할 수 있다.Through this, the user of the
이때, 본 발명의 일실시예에 따르면, 자막 생성부(115)는 상기 복수의 분할 영상 데이터들 각각에 대해, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역 이외의 주파수 대역의 소리 성분을 모두 제거한 후, 상기 제1 주파수 대역 이외의 주파수 대역의 소리 성분이 모두 제거된 각 분할 영상 데이터를 상기 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 자막들을 생성할 수 있다.At this time, according to an embodiment of the present invention, the
예컨대, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역을 '50Hz ~ 4000Hz'라고 가정하자.For example, assume that the first frequency band preset as a frequency band corresponding to human voice is '50 Hz to 4000 Hz'.
이때, 전술한 예에 따르면, 자막 생성부(115)는 '분할 영상 데이터 1, 분할 영상 데이터 2, 분할 영상 데이터 3, 분할 영상 데이터 4, 분할 영상 데이터 5' 각각에 대해, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역인 '50Hz ~ 4000Hz' 이외의 주파수 대역의 소리 성분을 모두 제거할 수 있다.At this time, according to the above-described example, the
그 이후, 자막 생성부(115)는 상기 제1 주파수 대역인 '50Hz ~ 4000Hz' 이외의 주파수 대역의 소리 성분이 모두 제거된 각 분할 영상 데이터를 상기 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 자막들을 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'로 생성할 수 있다.Thereafter, the
본 발명의 일실시예에 따르면, 영상 스트리밍 서비스 서버(110)는 확인부(124), 추출부(125), 전송부(126) 및 스트리밍 조정부(127)를 더 포함할 수 있다. According to one embodiment of the present invention, the video
확인부(124)는 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 제2 사용자 단말(150)로부터 제1 키워드가 수신되면서, 제2 사용자 단말(150)로부터, 상기 제1 영상 데이터에서 상기 제1 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 영상 데이터 저장부(111)에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막이 존재하는지 여부를 확인한다.The
추출부(125)는 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막으로, 적어도 하나의 제1 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 자막에 대응되는 적어도 하나의 제1 재생 시점에 대한 정보를 추출한다.The
전송부(126)는 상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송한다. The
스트리밍 조정부(127)는 상기 적어도 하나의 제1 재생 시점에 대한 정보가 상기 제1 키워드에 매칭되는 검색 결과로 지정되어 제2 사용자 단말(150)로 전송된 이후, 제2 사용자 단말(150)로부터 상기 적어도 하나의 제1 재생 시점 중 어느 하나인 제2 재생 시점에 대한 선택 재생 명령이 수신되면, 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 상기 제2 재생 시점부터 스트리밍 방식으로 전송한다.After the information on the at least one first playback point is designated as a search result matching the first keyword and transmitted to the
이하에서는, 확인부(124), 추출부(125), 전송부(126) 및 스트리밍 조정부(127)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the
먼저, 스트리밍 전송부(123)에 의해 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 제2 사용자 단말(150)로부터 제1 키워드가 영상 스트리밍 서비스 서버(110)에 수신되면서, 제2 사용자 단말(150)로부터, 상기 제1 영상 데이터에서 상기 제1 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 영상 스트리밍 서비스 서버(110)에 수신되었다고 가정하자.First, while the first video data stored in the video
그러면, 확인부(124)는 영상 데이터 저장부(111)에 저장되어 있는 상기 표 3과 같은 관리 테이블을 참조하여, '자막 1, 자막 2, 자막 3, 자막 4, 자막 5' 중 상기 제1 키워드를 포함하고 있는 자막이 존재하는지 여부를 확인할 수 있다.Then, the
만약, 확인부(124)를 통해 '자막 1, 자막 2, 자막 3, 자막 4, 자막 5' 중 상기 제1 키워드를 포함하고 있는 자막으로, '자막 1, 자막 3, 자막 5'가 존재하는 것으로 확인되는 경우, 추출부(125)는 상기 표 3과 같은 관리 테이블로부터 '자막 1, 자막 3, 자막 5'에 대응되는 재생 시점인 '재생 시점 1(0초), 재생 시점 3(2분), 재생 시점 5(4분)'에 대한 정보를 추출할 수 있다.If, through the
그러고 나서, 전송부(126)는 '재생 시점 1(0초), 재생 시점 3(2분), 재생 시점 5(4분)'에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송할 수 있다.Then, the
이렇게, 전송부(126)에 의해 '재생 시점 1(0초), 재생 시점 3(2분), 재생 시점 5(4분)'에 대한 정보가 상기 제1 키워드에 매칭되는 검색 결과로 지정되어 제2 사용자 단말(150)로 전송된 이후, 제2 사용자 단말(150)로부터 '재생 시점 1(0초), 재생 시점 3(2분), 재생 시점 5(4분)' 중 어느 하나의 재생 시점인 '재생 시점 5(4분)'에 대한 선택 재생 명령이 영상 스트리밍 서비스 서버(110)에 수신되면, 스트리밍 조정부(127)는 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 '재생 시점 5(4분)'부터 스트리밍 방식으로 전송할 수 있다.In this way, information on 'playback time 1 (0 sec), playback time 3 (2 minutes), and playback time 5 (4 minutes)' is designated as a search result matching the first keyword by the
이를 통해, 제2 사용자 단말(150)의 사용자는 상기 제1 영상 데이터를 '재생 시점 5(4분)'부터 스트리밍 방식으로 감상할 수 있다.Through this, the user of the
이때, 본 발명의 일실시예에 따르면, 전송부(126)는 상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송하되, 상기 적어도 하나의 제1 자막 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막을 확인해서 상기 제2 자막에 대응되는 재생 시점에 대한 정보가 주요 재생 시점에 대한 정보임을 안내하는 안내 메시지를 제2 사용자 단말(150)로 추가 전송할 수 있다.At this time, according to an embodiment of the present invention, the
예컨대, 전술한 예에 따르면, 전송부(126)는 '재생 시점 1(0초), 재생 시점 3(2분), 재생 시점 5(4분)'에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송하되, '자막 1, 자막 3, 자막 5' 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막을 확인할 수 있다.For example, according to the above example, the
만약, 전송부(126)를 통해 '자막 1, 자막 3, 자막 5' 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막이 '자막 3'으로 확인되는 경우, 전송부(126)는 '자막 3'에 대응되는 재생 시점인 '재생 시점 3(2분)'에 대한 정보가 주요 재생 시점에 대한 정보임을 안내하는 안내 메시지를 제2 사용자 단말(150)로 추가 전송할 수 있다.If, through the
본 발명의 일실시예에 따르면, 영상 스트리밍 서비스 서버(110)는 번역 자막 생성부(128), 번역 자막 확인부(129), 재생 시점 추출부(130), 재생 시점 전송부(131) 및 번역 스트리밍 조정부(132)를 더 포함할 수 있다.According to one embodiment of the present invention, the video
번역 자막 생성부(128)는 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 제2 사용자 단말(150)로부터 제1 외국어로 구성된 제2 키워드가 수신되면서, 제2 사용자 단말(150)로부터, 상기 제1 영상 데이터에서 상기 제2 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 영상 데이터 저장부(111)에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들을 사전 구축된 번역 엔진을 통해 상기 제1 외국어로 번역함으로써, 복수의 번역 자막들을 생성한다.The translated
번역 자막 확인부(129)는 상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막이 존재하는지 여부를 확인한다.The translated
재생 시점 추출부(130)는 상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막으로, 적어도 하나의 제1 번역 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 번역 자막에 대응되는 적어도 하나의 제3 재생 시점에 대한 정보를 추출한다.When it is confirmed that at least one first translated subtitle exists as a translated subtitle including the second keyword among the plurality of translated subtitles, the playback
재생 시점 전송부(131)는 상기 적어도 하나의 제3 재생 시점에 대한 정보를 상기 제2 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송한다.The reproduction
번역 스트리밍 조정부(132)는 상기 적어도 하나의 제3 재생 시점에 대한 정보가 상기 제2 키워드에 매칭되는 검색 결과로 지정되어 제2 사용자 단말(150)로 전송된 이후, 제2 사용자 단말(150)로부터 상기 적어도 하나의 제3 재생 시점 중 어느 하나인 제4 재생 시점에 대한 선택 재생 명령이 수신되면, 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 상기 제4 재생 시점부터 스트리밍 방식으로 전송한다.After the translation
이하에서는, 번역 자막 생성부(128), 번역 자막 확인부(129), 재생 시점 추출부(130), 재생 시점 전송부(131) 및 번역 스트리밍 조정부(132)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the translated
예컨대, 전술한 예와 같이, 영상 데이터 저장부(111)에 상기 제1 영상 데이터와 상기 표 3과 같은 관리 테이블이 함께 대응되어 저장되었다고 하고, 상기 제1 영상 데이터가 '한국어' 음성으로 더빙된 영상 데이터인 관계로, 상기 표 3과 같은 관리 테이블에 기록된 복수의 자막들이 '한국어'로 구성된 자막이라고 하며, 상기 제1 외국어를 '영어'라고 가정하자.For example, as in the above example, it is assumed that the first video data and the management table shown in Table 3 are stored in correspondence with the video
이때, 스트리밍 전송부(123)에 의해 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 제2 사용자 단말(150)로부터 '영어'로 구성된 제2 키워드가 영상 스트리밍 서비스 서버(110)에 수신되면서, 제2 사용자 단말(150)로부터, 상기 제1 영상 데이터에서 상기 제2 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 영상 스트리밍 서비스 서버(110)에 수신되면, 번역 자막 생성부(128)는 영상 데이터 저장부(111)에 저장되어 있는 상기 표 3과 같은 관리 테이블을 참조하여, '자막 1, 자막 2, 자막 3, 자막 4, 자막 5'를 사전 구축된 번역 엔진을 통해 '영어'로 번역함으로써, 복수의 번역 자막들을 '번역 자막 1, 번역 자막 2, 번역 자막 3, 번역 자막 4, 번역 자막 5'로 생성할 수 있다.At this time, while the first video data stored in the video
그러고 나서, 번역 자막 확인부(129)는 '번역 자막 1, 번역 자막 2, 번역 자막 3, 번역 자막 4, 번역 자막 5' 중 상기 제2 키워드를 포함하고 있는 번역 자막이 존재하는지 여부를 확인할 수 있다.Then, the translated
만약, 번역 자막 확인부(129)를 통해 '번역 자막 1, 번역 자막 2, 번역 자막 3, 번역 자막 4, 번역 자막 5' 중 상기 제2 키워드를 포함하고 있는 번역 자막으로, '번역 자막 2, 번역 자막 4'가 존재하는 것으로 확인되는 경우, 재생 시점 추출부(130)는 상기 표 3과 같은 관리 테이블로부터 '번역 자막 2, 번역 자막 4'에 대응되는 재생 시점인 '재생 시점 2(1분), 재생 시점 4(3분)'에 대한 정보를 추출할 수 있다.If, through the translated
그 이후, 재생 시점 전송부(131)는 '재생 시점 2(1분), 재생 시점 4(3분)'에 대한 정보를 상기 제2 키워드에 매칭되는 검색 결과로 지정하여 제2 사용자 단말(150)로 전송할 수 있다.After that, the playback
이렇게, 재생 시점 전송부(131)에 의해 '재생 시점 2(1분), 재생 시점 4(3분)'에 대한 정보가 상기 제2 키워드에 매칭되는 검색 결과로 지정되어 제2 사용자 단말(150)로 전송된 이후, 제2 사용자 단말(150)로부터 '재생 시점 2(1분), 재생 시점 4(3분)' 중 어느 하나의 재생 시점인 '재생 시점 2(1분)'에 대한 선택 재생 명령이 영상 스트리밍 서비스 서버(110)에 수신되면, 번역 스트리밍 조정부(132)는 제2 사용자 단말(150)에 대해, 영상 데이터 저장부(111)에 저장되어 있는 상기 제1 영상 데이터를 '재생 시점 2(1분)'부터 스트리밍 방식으로 전송할 수 있다.In this way, information on 'playback time 2 (1 minute) and playback time 4 (3 minutes)' is designated as a search result matching the second keyword by the playback
이를 통해, 제2 사용자 단말(150)의 사용자는 상기 제1 영상 데이터를 '재생 시점 2(1분)'부터 스트리밍 방식으로 감상할 수 있다.Through this, the user of the
도 2는 본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 동작 방법을 도시한 순서도이다.2 is a flowchart illustrating an operating method of a video streaming service server for displaying advertisement information related to video according to an embodiment of the present invention.
단계(S201)에서는 스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있는 영상 데이터 저장부를 유지한다.In step S201, a video data storage unit is maintained in which a plurality of different video data objects of a streaming service are stored.
단계(S202)에서는 광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있는 단어 데이터베이스를 유지한다.In step S202, a word database in which N (N is a natural number equal to or greater than 2) different preset words for advertisement selection are stored is maintained.
단계(S203)에서는 사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치(상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1임)가 대응되어 저장되어 있는 가중치 저장부를 유지한다.In step S203, a plurality of preset different pieces of advertisement information and a preset weight indicating a degree of association between each piece of advertisement information and each of the N words (the higher the weight, the higher the degree of association between the advertisement information and the words). and maintains a weight storage unit in which the sum of weights between each advertisement information and each of the N words is 1) correspondingly and stored.
단계(S204)에서는 제1 사용자 단말로부터 제1 영상 데이터가 수신되면서, 상기 제1 사용자 단말로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인한다.In step S204, when the first video data is received from the first user terminal and an upload request command for the first video data is received from the first user terminal, the first video data is stored for a preset first playback time. A plurality of divided image data is generated by dividing the image data at intervals, and information about a reproduction time point of each of the plurality of divided image data is checked in the entire reproduction time of the first image data.
단계(S205)에서는 상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성한다.In step S205, a plurality of subtitles corresponding to each of the plurality of divided image data are generated by sequentially applying the plurality of divided image data as inputs to a pre-built voice recognition model to perform voice recognition.
단계(S206)에서는 상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성한다.In step S206, a management table is created in which the plurality of subtitles and information about reproduction time of the divided video data corresponding to each of the plurality of subtitles are recorded in correspondence with each other.
단계(S207)에서는 상기 관리 테이블이 생성되면, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장한다.In step S207, when the management table is generated, the first image data and the management table are stored in correspondence with each other in the image data storage unit.
단계(S208)에서는 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인한다.In step S208, if a reproduction command for the first image data is received from a second user terminal after the first image data and the management table are stored in correspondence with the image data storage unit, the image data storage unit With reference to the management table stored in , the number of occurrence frequencies of each of the N words in the plurality of subtitles is checked.
단계(S209)에서는 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성한다.In step S209, an N-dimensional feature vector having as a component an appearance frequency of each of the N words in the plurality of subtitles is generated.
단계(S210)에서는 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성한다.In step S210, for each of the plurality of pieces of advertisement information, an N-dimensional vector having weights between each piece of advertisement information and each of the N words as a component is constructed, so that advertisements corresponding to each of the plurality of pieces of advertisement information are constructed. create a vector
단계(S211)에서는 상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산한다.In step S211, an advertisement vector of each of the plurality of pieces of advertisement information is configured as a row vector, and the feature vector is configured as a column vector. A matching score corresponding to each of the plurality of pieces of advertisement information is calculated by calculating matrix multiplication between the feature vectors.
단계(S212)에서는 상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택한다.In step S212, the first advertisement information having the highest matching score is selected from among the plurality of advertisement information items.
단계(S213)에서는 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 상기 제2 사용자 단말로 추가 전송한다.In step S213, the first video data stored in the video data storage unit is transmitted to the second user terminal in a streaming manner, and the first video data is displayed on a preset display area of a screen where the first video data is reproduced. An advertisement display control command for displaying the first advertisement information is generated and additionally transmitted to the second user terminal.
이때, 본 발명의 일실시예에 따르면, 단계(S205)에서는 상기 복수의 분할 영상 데이터들 각각에 대해, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역 이외의 주파수 대역의 소리 성분을 모두 제거한 후, 상기 제1 주파수 대역 이외의 주파수 대역의 소리 성분이 모두 제거된 각 분할 영상 데이터를 상기 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 자막들을 생성할 수 있다.At this time, according to one embodiment of the present invention, in step S205, for each of the plurality of divided image data, sound components of a frequency band other than the first frequency band preset to be a frequency band corresponding to human voice After all of the subtitles are removed, the plurality of subtitles are generated by sequentially applying each segmented image data from which all of the sound components of the frequency band other than the first frequency band have been removed as inputs to the speech recognition model to perform speech recognition. can
또한, 본 발명의 일실시예에 따르면, 상기 영상 스트리밍 서비스 서버의 동작 방법은 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제1 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막이 존재하는지 여부를 확인하는 단계, 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막으로, 적어도 하나의 제1 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 자막에 대응되는 적어도 하나의 제1 재생 시점에 대한 정보를 추출하는 단계, 상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 단계 및 상기 적어도 하나의 제1 재생 시점에 대한 정보가 상기 제1 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제1 재생 시점 중 어느 하나인 제2 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제2 재생 시점부터 스트리밍 방식으로 전송하는 단계를 더 포함할 수 있다.Further, according to an embodiment of the present invention, the operating method of the video streaming service server may include a first video data from the second user terminal while the first video data stored in the video data storage unit is being transmitted in a streaming manner. When a search command instructing to search for a reproduction point matching the first keyword in the first image data is received from the second user terminal while a keyword is received, the management stored in the image data storage unit is received. Checking whether a subtitle including the first keyword exists among the plurality of subtitles by referring to a table; selecting at least one subtitle including the first keyword among the plurality of subtitles If it is confirmed that 1 subtitle exists, extracting information on at least one first playback time point corresponding to the at least one first subtitle from the management table; designating as a search result matching the first keyword and transmitting the information to the second user terminal, and designating the information on the at least one first playback time as a search result matching the first keyword and transmitting the information to the second user terminal. After being transmitted to the terminal, when a selection playback command for a second playback time point, which is any one of the at least one first playback time point, is received from the second user terminal, for the second user terminal, the image data storage unit The method may further include transmitting the first image data stored in the streaming method from the second reproduction time point.
이때, 본 발명의 일실시예에 따르면, 상기 제2 사용자 단말로 전송하는 단계는 상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하되, 상기 적어도 하나의 제1 자막 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막을 확인해서 상기 제2 자막에 대응되는 재생 시점에 대한 정보가 주요 재생 시점에 대한 정보임을 안내하는 안내 메시지를 상기 제2 사용자 단말로 추가 전송할 수 있다.At this time, according to an embodiment of the present invention, the transmitting to the second user terminal designates the information on the at least one first reproduction time point as a search result matching the first keyword, and the second user terminal to inform that the information on the playback time corresponding to the second subtitle is the information on the main playback time by checking the second subtitle containing the first keyword the most among the at least one first subtitle. A guide message may be additionally transmitted to the second user terminal.
또한, 본 발명의 일실시예에 따르면, 상기 영상 스트리밍 서비스 서버의 동작 방법은 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 외국어로 구성된 제2 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제2 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들을 사전 구축된 번역 엔진을 통해 상기 제1 외국어로 번역함으로써, 복수의 번역 자막들을 생성하는 단계, 상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막이 존재하는지 여부를 확인하는 단계, 상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막으로, 적어도 하나의 제1 번역 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 번역 자막에 대응되는 적어도 하나의 제3 재생 시점에 대한 정보를 추출하는 단계, 상기 적어도 하나의 제3 재생 시점에 대한 정보를 상기 제2 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 단계 및 상기 적어도 하나의 제3 재생 시점에 대한 정보가 상기 제2 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제3 재생 시점 중 어느 하나인 제4 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제4 재생 시점부터 스트리밍 방식으로 전송하는 단계를 더 포함할 수 있다.Further, according to an embodiment of the present invention, the operating method of the video streaming service server may include a first video data from the second user terminal while the first video data stored in the video data storage unit is being transmitted in a streaming manner. When a second keyword composed of a foreign language is received and a search command instructing to search for a reproduction point matching the second keyword in the first image data is received from the second user terminal, the image data storage unit generating a plurality of translated subtitles by translating the plurality of subtitles into the first foreign language through a pre-built translation engine with reference to the stored management table; and the second keyword among the plurality of translated subtitles. checking whether a translated subtitle including a subtitle exists; if it is confirmed that at least one first translated subtitle exists as a translated subtitle including the second keyword among the plurality of translated subtitles, the management extracting information on at least one third playback point of view corresponding to the at least one first translated subtitle from a table; converting the information on the at least one third playback point of view into a search result matching the second keyword; After the step of designating and transmitting to the second user terminal and the information on the at least one third playback time being designated as a search result matching the second keyword and transmitted to the second user terminal, the second user terminal When a selection playback command for a fourth playback time point, which is any one of the at least one third playback time point, is received from a terminal, the first image data stored in the image data storage unit is transmitted to the second user terminal. The method may further include transmitting from the fourth playback point in a streaming manner.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 영상 스트리밍 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 영상 스트리밍 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 영상 스트리밍 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the operating method of the video streaming service server according to an embodiment of the present invention has been described with reference to FIG. 2 . Here, since the operation method of the video streaming service server according to an embodiment of the present invention may correspond to the configuration of the operation of the video
본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating an image streaming service server for displaying advertisement information related to an image according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 따른 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operating method of the video streaming service server for displaying advertisement information related to video according to an embodiment of the present invention is implemented in the form of computer program instructions for execution through combination with a computer and recorded on a computer readable medium. can The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those 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.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art in the field to which the present invention belongs can make various modifications and variations from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the present invention. .
110: 영상에 연관된 광고 정보를 표시하기 위한 영상 스트리밍 서비스 서버
111: 영상 데이터 저장부
112: 단어 데이터베이스
113: 가중치 저장부
114: 분할부
115: 자막 생성부
116: 관리 테이블 생성부
117: 정보 저장 처리부
118: 등장 빈도수 확인부
119: 특징 벡터 생성부
120: 광고 벡터 생성부
121: 매칭 점수 연산부
122: 광고 정보 선택부
123: 스트리밍 전송부
124: 확인부
125: 추출부
126: 전송부
127: 스트리밍 조정부
128: 번역 자막 생성부
129: 번역 자막 확인부
130: 재생 시점 추출부
131: 재생 시점 전송부
132: 번역 스트리밍 조정부
140: 제1 사용자 단말
150: 제2 사용자 단말110: Video streaming service server for displaying advertisement information related to video
111: image data storage unit 112: word database
113: weight storage unit 114: division unit
115: subtitle generator 116: management table generator
117: Information storage processing unit 118: Appearance frequency confirmation unit
119: feature vector generator 120: advertisement vector generator
121: Matching score calculation unit 122: Advertisement information selection unit
123: streaming transmission unit 124: confirmation unit
125: extraction unit 126: transmission unit
127: Streaming adjustment unit 128: Translation subtitle generation unit
129: translation subtitle check unit 130: playback time extraction unit
131: playback time transmission unit 132: translation streaming control unit
140: first user terminal
150: second user terminal
Claims (12)
스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있는 영상 데이터 저장부;
광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있는 단어 데이터베이스;
사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치 - 상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1임 - 가 대응되어 저장되어 있는 가중치 저장부;
제1 사용자 단말로부터 제1 영상 데이터가 수신되면서, 상기 제1 사용자 단말로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인하는 분할부;
상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성하는 자막 생성부;
상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성하는 관리 테이블 생성부;
상기 관리 테이블이 생성되면, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장하는 정보 저장 처리부;
상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인하는 등장 빈도수 확인부;
상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성하는 특징 벡터 생성부;
상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성하는 광고 벡터 생성부;
상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산하는 매칭 점수 연산부;
상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택하는 광고 정보 선택부; 및
상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 상기 제2 사용자 단말로 추가 전송하는 스트리밍 전송부
를 포함하는 영상 스트리밍 서비스 서버.In the video streaming service server for displaying advertisement information related to video,
an image data storage unit storing a plurality of different image data objects of a streaming service;
a word database in which N (N is a natural number equal to or greater than 2) preset words for selecting advertisements are stored;
A preset weight representing a plurality of preset different pieces of advertisement information and a degree of association between each piece of advertisement information and each of the N words - the higher the weight, the higher the degree of association between the advertisement information and words, a weight storage unit in which the sum of weights between each of the N words and − is stored in correspondence with each other;
When first video data is received from the first user terminal and an upload request command for the first video data is received from the first user terminal, the first video data is divided into a first playback time interval set in advance, a segmentation unit that generates a plurality of divided image data and checks information about a reproduction point of each of the plurality of divided image data in the entire reproduction time of the first image data;
a caption generating unit generating a plurality of subtitles corresponding to each of the plurality of divided image data by sequentially applying the plurality of divided image data as inputs to a pre-built voice recognition model and performing voice recognition;
a management table generating unit generating a management table in which the plurality of subtitles and information on reproducing time of divided image data corresponding to each of the plurality of subtitles are recorded in association with each other;
an information storage processing unit configured to store the first image data and the management table in correspondence with each other in the image data storage unit when the management table is generated;
After the first image data and the management table are stored in correspondence with the image data storage unit, when a reproduction command for the first image data is received from a second user terminal, the image data storage unit stores the first image data stored in the image data storage unit. an appearance frequency check unit checking an appearance frequency count of each of the N words in the plurality of subtitles with reference to a management table;
a feature vector generating unit generating an N-dimensional feature vector having as components an appearance frequency of each of the N words in the plurality of subtitles;
An advertisement generating an advertisement vector corresponding to each of the plurality of pieces of advertisement information by constructing an N-dimensional vector having weights between each piece of advertisement information and each of the N words as components for each of the plurality of pieces of advertisement information. vector generator;
After constructing an advertisement vector of each of the plurality of pieces of advertisement information as a row vector and a feature vector as a column vector, for each of the plurality of pieces of advertisement information, a matrix between an advertisement vector corresponding to each piece of advertisement information and the feature vector. a matching score calculation unit calculating a matching score corresponding to each of the plurality of pieces of advertisement information by calculating a product;
an advertisement information selector selecting first advertisement information having the highest matching score from among the plurality of advertisement information items; and
The first video data stored in the video data storage unit is transmitted to the second user terminal in a streaming manner, and the first advertisement information is displayed in a preset display area of a screen on which the first video data is reproduced. A streaming transmission unit generating an advertisement display control command to be displayed and additionally transmitting it to the second user terminal.
A video streaming service server including a.
상기 자막 생성부는
상기 복수의 분할 영상 데이터들 각각에 대해, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역 이외의 주파수 대역의 소리 성분을 모두 제거한 후, 상기 제1 주파수 대역 이외의 주파수 대역의 소리 성분이 모두 제거된 각 분할 영상 데이터를 상기 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 자막들을 생성하는 것을 특징으로 하는 영상 스트리밍 서비스 서버.According to claim 1,
The subtitle generator
For each of the plurality of split image data, after removing all sound components in frequency bands other than the first frequency band preset as a frequency band corresponding to human voice, sound in frequency bands other than the first frequency band The video streaming service server according to claim 1 , wherein the video streaming service server generates the plurality of subtitles by sequentially applying the segmented image data from which all components have been removed as inputs to the speech recognition model to perform speech recognition.
상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제1 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막이 존재하는지 여부를 확인하는 확인부;
상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막으로, 적어도 하나의 제1 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 자막에 대응되는 적어도 하나의 제1 재생 시점에 대한 정보를 추출하는 추출부;
상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 전송부; 및
상기 적어도 하나의 제1 재생 시점에 대한 정보가 상기 제1 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제1 재생 시점 중 어느 하나인 제2 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제2 재생 시점부터 스트리밍 방식으로 전송하는 스트리밍 조정부
를 더 포함하는 영상 스트리밍 서비스 서버.According to claim 1,
While the first image data stored in the image data storage unit is being transmitted in a streaming manner, when a first keyword is received from the second user terminal, the first image data is stored in the first image data from the second user terminal. 1 When a search command instructing to search for a reproduction point matching a keyword is received, the subtitle including the first keyword among the plurality of subtitles is referred to the management table stored in the image data storage unit. a check unit for checking whether or not exists;
If it is determined that at least one first subtitle among the plurality of subtitles including the first keyword exists, at least one first reproduction corresponding to the at least one first subtitle from the management table. an extraction unit for extracting information about a viewpoint;
a transmission unit configured to designate information on the at least one first playback point as a search result matching the first keyword and transmit the information to the second user terminal; and
After the information on the at least one first reproduction time point is designated as a search result matching the first keyword and transmitted to the second user terminal, any one of the at least one first reproduction time point from the second user terminal Streaming to transmit the first image data stored in the image data storage unit in a streaming manner to the second user terminal when a selection reproduction command for a second reproduction time point is received. coordination department
A video streaming service server further comprising a.
상기 전송부는
상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하되, 상기 적어도 하나의 제1 자막 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막을 확인해서 상기 제2 자막에 대응되는 재생 시점에 대한 정보가 주요 재생 시점에 대한 정보임을 안내하는 안내 메시지를 상기 제2 사용자 단말로 추가 전송하는 것을 특징으로 하는 영상 스트리밍 서비스 서버.According to claim 3,
the transmission unit
Designating the information on the at least one first reproduction time point as a search result matching the first keyword and transmitting the information to the second user terminal, including the first keyword among the at least one first subtitle; The video streaming service server of claim 1 , further transmitting to the second user terminal a guide message informing that information on a playback time corresponding to the second subtitle is information on a main playback time by checking a second subtitle that exists.
상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 외국어로 구성된 제2 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제2 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들을 사전 구축된 번역 엔진을 통해 상기 제1 외국어로 번역함으로써, 복수의 번역 자막들을 생성하는 번역 자막 생성부;
상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막이 존재하는지 여부를 확인하는 번역 자막 확인부;
상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막으로, 적어도 하나의 제1 번역 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 번역 자막에 대응되는 적어도 하나의 제3 재생 시점에 대한 정보를 추출하는 재생 시점 추출부;
상기 적어도 하나의 제3 재생 시점에 대한 정보를 상기 제2 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 재생 시점 전송부; 및
상기 적어도 하나의 제3 재생 시점에 대한 정보가 상기 제2 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제3 재생 시점 중 어느 하나인 제4 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제4 재생 시점부터 스트리밍 방식으로 전송하는 번역 스트리밍 조정부
를 더 포함하는 영상 스트리밍 서비스 서버.According to claim 1,
While the first image data stored in the image data storage unit is being transmitted in a streaming manner, when a second keyword composed of a first foreign language is received from the second user terminal, the first keyword is received from the second user terminal. When a search command for instructing to search for a playback point matching the second keyword in video data is received, the plurality of subtitles are stored in a pre-built translation engine by referring to the management table stored in the video data storage unit. a translation subtitle generation unit that generates a plurality of translation subtitles by translating the first foreign language through;
a translated caption checking unit that checks whether or not a translated caption including the second keyword exists among the plurality of translated captions;
If it is confirmed that there is at least one first translated subtitle as a translated subtitle including the second keyword among the plurality of translated subtitles, at least one translation subtitle corresponding to the at least one first translated subtitle from the management table. a reproduction time extraction unit extracting information on a third reproduction time of the;
a reproduction time transmitting unit configured to designate information on the at least one third reproduction time as a search result matching the second keyword and transmit the information to the second user terminal; and
After the information on the at least one third reproduction time point is designated as a search result matching the second keyword and transmitted to the second user terminal, any one of the at least one third reproduction time point from the second user terminal Translation of transmitting the first video data stored in the video data storage unit in a streaming manner to the second user terminal when a selection reproduction command for a fourth reproduction time point is received Stream Coordination Department
A video streaming service server further comprising a.
스트리밍 서비스의 대상이 되는 서로 다른 복수의 영상 데이터들이 저장되어 있는 영상 데이터 저장부를 유지하는 단계;
광고 선별을 위한 사전 설정된 서로 다른 N(N은 2이상의 자연수)개의 단어들이 저장되어 있는 단어 데이터베이스를 유지하는 단계;
사전 설정된 서로 다른 복수의 광고 정보들과, 각 광고 정보와 상기 N개의 단어들 각각 간의 연관도를 나타내는 사전 설정된 가중치 - 상기 가중치가 클수록 광고 정보와 단어 간의 연관도가 높음을 의미하고, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치의 총합은 1임 - 가 대응되어 저장되어 있는 가중치 저장부를 유지하는 단계;
제1 사용자 단말로부터 제1 영상 데이터가 수신되면서, 상기 제1 사용자 단말로부터 상기 제1 영상 데이터에 대한 업로드 요청 명령이 수신되면, 상기 제1 영상 데이터를 사전 설정된 제1 재생 시간 간격으로 분할함으로써, 복수의 분할 영상 데이터들을 생성하고, 상기 제1 영상 데이터의 전체 재생 시간에서 상기 복수의 분할 영상 데이터들 각각의 재생 시점에 대한 정보를 확인하는 단계;
상기 복수의 분할 영상 데이터들을 사전 구축된 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 분할 영상 데이터들 각각에 대응되는 복수의 자막들을 생성하는 단계;
상기 복수의 자막들과 상기 복수의 자막들 각각에 대응되는 분할 영상 데이터의 재생 시점에 대한 정보를 서로 대응시켜 기록한 관리 테이블을 생성하는 단계;
상기 관리 테이블이 생성되면, 상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블을 서로 대응시켜 저장하는 단계;
상기 영상 데이터 저장부에 상기 제1 영상 데이터와 상기 관리 테이블이 함께 대응되어 저장된 이후, 제2 사용자 단말로부터 상기 제1 영상 데이터에 대한 재생 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 확인하는 단계;
상기 복수의 자막들에서, 상기 N개 단어들 각각이 등장하는 등장 빈도수를 성분으로 갖는 N차원의 특징 벡터를 생성하는 단계;
상기 복수의 광고 정보들 각각에 대해, 각 광고 정보와 상기 N개의 단어들 각각 간의 가중치를 성분으로 갖는 N차원의 벡터를 구성함으로써, 상기 복수의 광고 정보들 각각에 대응되는 광고 벡터를 생성하는 단계;
상기 복수의 광고 정보들 각각의 광고 벡터를 행벡터로 구성하고, 상기 특징 벡터를 열벡터로 구성한 후, 상기 복수의 광고 정보들 각각에 대해, 각 광고 정보에 대응되는 광고 벡터와 상기 특징 벡터 간의 행렬 곱을 연산함으로써, 상기 복수의 광고 정보들 각각에 대응되는 매칭 점수를 연산하는 단계;
상기 복수의 광고 정보들 중 상기 매칭 점수가 최대인 제1 광고 정보를 선택하는 단계; 및
상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 스트리밍 방식으로 전송하되, 상기 제1 영상 데이터가 재생되는 화면의 사전 설정된 표시 영역에 상기 제1 광고 정보가 표시되도록 하는 광고 표시 제어 명령을 생성하여 상기 제2 사용자 단말로 추가 전송하는 단계
를 포함하는 영상 스트리밍 서비스 서버의 동작 방법.A method of operating a video streaming service server for displaying advertisement information related to video,
maintaining a video data storage unit storing a plurality of different video data objects of a streaming service;
maintaining a word database in which N (N is a natural number of 2 or more) preset different words for advertisement selection are stored;
A preset weight representing a plurality of preset different pieces of advertisement information and a degree of association between each piece of advertisement information and each of the N words - the higher the weight, the higher the degree of association between the advertisement information and words, maintaining a weight storage unit in which the sum of weights between each of the N words and − is stored in correspondence with each other;
When first video data is received from the first user terminal and an upload request command for the first video data is received from the first user terminal, the first video data is divided into a first playback time interval set in advance, generating a plurality of split image data and checking information about a playback time point of each of the plurality of split image data within an entire playback time of the first image data;
generating a plurality of subtitles corresponding to each of the plurality of divided image data by sequentially applying the plurality of divided image data as inputs to a pre-built voice recognition model and performing voice recognition;
generating a management table in which the plurality of subtitles and information on reproducing time of divided image data corresponding to each of the plurality of subtitles are recorded in correspondence with each other;
if the management table is generated, storing the first image data and the management table in correspondence with each other in the image data storage unit;
After the first image data and the management table are stored in correspondence with the image data storage unit, when a playback command for the first image data is received from the second user terminal, the image data storage unit stores the first image data stored in the image data storage unit. checking an appearance frequency of each of the N words in the plurality of subtitles by referring to a management table;
generating an N-dimensional feature vector having as a component an appearance frequency of each of the N words in the plurality of subtitles;
Generating an advertisement vector corresponding to each of the plurality of pieces of advertisement information by constructing an N-dimensional vector having weights between each advertisement information and each of the N words for each of the plurality of pieces of advertisement information as components. ;
After constructing an advertisement vector of each of the plurality of pieces of advertisement information as a row vector and constructing the feature vector as a column vector, for each of the plurality of pieces of advertisement information, a matrix between an advertisement vector corresponding to each piece of advertisement information and the feature vector. calculating a matching score corresponding to each of the plurality of pieces of advertisement information by calculating a product;
selecting first advertisement information having the highest matching score from among the plurality of advertisement information items; and
The first video data stored in the video data storage unit is transmitted to the second user terminal in a streaming manner, and the first advertisement information is displayed in a preset display area of a screen on which the first video data is reproduced. Generating an advertisement display control command to be displayed and additionally transmitting it to the second user terminal
Method of operating a video streaming service server comprising a.
상기 복수의 자막들을 생성하는 단계는
상기 복수의 분할 영상 데이터들 각각에 대해, 사람의 음성에 대응되는 주파수 대역인 것으로 사전 설정된 제1 주파수 대역 이외의 주파수 대역의 소리 성분을 모두 제거한 후, 상기 제1 주파수 대역 이외의 주파수 대역의 소리 성분이 모두 제거된 각 분할 영상 데이터를 상기 음성 인식 모델에 순차적으로 입력으로 인가하여 음성 인식을 수행함으로써, 상기 복수의 자막들을 생성하는 것을 특징으로 하는 영상 스트리밍 서비스 서버의 동작 방법.According to claim 6,
The step of generating the plurality of subtitles is
For each of the plurality of split image data, after removing all sound components in frequency bands other than the first frequency band preset as a frequency band corresponding to human voice, sound in frequency bands other than the first frequency band A method of operating a video streaming service server, characterized in that the plurality of subtitles are generated by sequentially applying each segmented image data from which all components have been removed as inputs to the speech recognition model to perform speech recognition.
상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제1 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막이 존재하는지 여부를 확인하는 단계;
상기 복수의 자막들 중 상기 제1 키워드를 포함하고 있는 자막으로, 적어도 하나의 제1 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 자막에 대응되는 적어도 하나의 제1 재생 시점에 대한 정보를 추출하는 단계;
상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 단계; 및
상기 적어도 하나의 제1 재생 시점에 대한 정보가 상기 제1 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제1 재생 시점 중 어느 하나인 제2 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제2 재생 시점부터 스트리밍 방식으로 전송하는 단계
를 더 포함하는 영상 스트리밍 서비스 서버의 동작 방법.According to claim 6,
While the first image data stored in the image data storage unit is being transmitted in a streaming manner, when a first keyword is received from the second user terminal, the first image data is stored in the first image data from the second user terminal. 1 When a search command instructing to search for a reproduction point matching a keyword is received, the subtitle including the first keyword among the plurality of subtitles is referred to the management table stored in the image data storage unit. Checking whether or not exists;
If it is determined that at least one first subtitle among the plurality of subtitles including the first keyword exists, at least one first reproduction corresponding to the at least one first subtitle from the management table. extracting information about a viewpoint;
designating information on the at least one first playback point as a search result matching the first keyword and transmitting the information to the second user terminal; and
After the information on the at least one first reproduction time point is designated as a search result matching the first keyword and transmitted to the second user terminal, any one of the at least one first reproduction time point from the second user terminal transmitting, to the second user terminal, the first image data stored in the image data storage unit in a streaming manner from the second playback point in time, when a selective playback command for a second playback point in time is received;
Method of operating a video streaming service server further comprising a.
상기 제2 사용자 단말로 전송하는 단계는
상기 적어도 하나의 제1 재생 시점에 대한 정보를 상기 제1 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하되, 상기 적어도 하나의 제1 자막 중 상기 제1 키워드를 가장 많이 포함하고 있는 제2 자막을 확인해서 상기 제2 자막에 대응되는 재생 시점에 대한 정보가 주요 재생 시점에 대한 정보임을 안내하는 안내 메시지를 상기 제2 사용자 단말로 추가 전송하는 것을 특징으로 하는 영상 스트리밍 서비스 서버의 동작 방법.According to claim 8,
The step of transmitting to the second user terminal is
Designating the information on the at least one first reproduction time point as a search result matching the first keyword and transmitting the information to the second user terminal, including the first keyword among the at least one first subtitle; The video streaming service server of claim 1 , wherein a guide message notifying that information on a playback time corresponding to the second subtitle is information on a main playback time is additionally transmitted to the second user terminal by checking a second subtitle that exists. how it works.
상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터가 스트리밍 방식으로 전송되는 도중, 상기 제2 사용자 단말로부터 제1 외국어로 구성된 제2 키워드가 수신되면서, 상기 제2 사용자 단말로부터, 상기 제1 영상 데이터에서 상기 제2 키워드에 매칭되는 재생 시점을 검색할 것을 지시하는 검색 명령이 수신되면, 상기 영상 데이터 저장부에 저장되어 있는 상기 관리 테이블을 참조하여, 상기 복수의 자막들을 사전 구축된 번역 엔진을 통해 상기 제1 외국어로 번역함으로써, 복수의 번역 자막들을 생성하는 단계;
상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막이 존재하는지 여부를 확인하는 단계;
상기 복수의 번역 자막들 중 상기 제2 키워드를 포함하고 있는 번역 자막으로, 적어도 하나의 제1 번역 자막이 존재하는 것으로 확인되면, 상기 관리 테이블로부터 상기 적어도 하나의 제1 번역 자막에 대응되는 적어도 하나의 제3 재생 시점에 대한 정보를 추출하는 단계;
상기 적어도 하나의 제3 재생 시점에 대한 정보를 상기 제2 키워드에 매칭되는 검색 결과로 지정하여 상기 제2 사용자 단말로 전송하는 단계; 및
상기 적어도 하나의 제3 재생 시점에 대한 정보가 상기 제2 키워드에 매칭되는 검색 결과로 지정되어 상기 제2 사용자 단말로 전송된 이후, 상기 제2 사용자 단말로부터 상기 적어도 하나의 제3 재생 시점 중 어느 하나인 제4 재생 시점에 대한 선택 재생 명령이 수신되면, 상기 제2 사용자 단말에 대해, 상기 영상 데이터 저장부에 저장되어 있는 상기 제1 영상 데이터를 상기 제4 재생 시점부터 스트리밍 방식으로 전송하는 단계
를 더 포함하는 영상 스트리밍 서비스 서버의 동작 방법.According to claim 6,
While the first image data stored in the image data storage unit is being transmitted in a streaming manner, when a second keyword composed of a first foreign language is received from the second user terminal, the first keyword is received from the second user terminal. When a search command for instructing to search for a playback point matching the second keyword in video data is received, the plurality of subtitles are stored in a pre-built translation engine by referring to the management table stored in the video data storage unit. generating a plurality of translated subtitles by translating the first foreign language through;
checking whether a translated subtitle including the second keyword exists among the plurality of translated subtitles;
If it is confirmed that there is at least one first translated subtitle as a translated subtitle including the second keyword among the plurality of translated subtitles, at least one translation subtitle corresponding to the at least one first translated subtitle from the management table. extracting information about a third reproduction point of time;
designating information on the at least one third playback point as a search result matching the second keyword and transmitting the information to the second user terminal; and
After the information on the at least one third reproduction time point is designated as a search result matching the second keyword and transmitted to the second user terminal, any one of the at least one third reproduction time point from the second user terminal transmitting, to the second user terminal, the first image data stored in the image data storage unit in a streaming manner from the fourth playback time point, when a selective playback command for a fourth playback point in time is received;
Method of operating a video streaming service server further comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064555A KR102500735B1 (en) | 2021-05-20 | 2021-05-20 | Video streaming service server for displaying advertisement information related to video and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064555A KR102500735B1 (en) | 2021-05-20 | 2021-05-20 | Video streaming service server for displaying advertisement information related to video and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220157033A true KR20220157033A (en) | 2022-11-29 |
KR102500735B1 KR102500735B1 (en) | 2023-02-16 |
Family
ID=84235470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210064555A KR102500735B1 (en) | 2021-05-20 | 2021-05-20 | Video streaming service server for displaying advertisement information related to video and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102500735B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620198B1 (en) * | 2023-08-31 | 2024-01-02 | 주식회사 와이드테크 | Television board equipped with wireless input module and television device using the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080053763A (en) * | 2006-12-11 | 2008-06-16 | 강민수 | Advertisement providing method and system for moving picture oriented contents which is playing |
KR101674310B1 (en) * | 2015-07-31 | 2016-11-22 | 이성용 | System and method for matching advertisement for providing advertisement associated with video contents |
KR20190081622A (en) * | 2017-12-29 | 2019-07-09 | 건국대학교 산학협력단 | Method for determining similarity and apparatus using the same |
-
2021
- 2021-05-20 KR KR1020210064555A patent/KR102500735B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080053763A (en) * | 2006-12-11 | 2008-06-16 | 강민수 | Advertisement providing method and system for moving picture oriented contents which is playing |
KR101674310B1 (en) * | 2015-07-31 | 2016-11-22 | 이성용 | System and method for matching advertisement for providing advertisement associated with video contents |
KR20190081622A (en) * | 2017-12-29 | 2019-07-09 | 건국대학교 산학협력단 | Method for determining similarity and apparatus using the same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620198B1 (en) * | 2023-08-31 | 2024-01-02 | 주식회사 와이드테크 | Television board equipped with wireless input module and television device using the same |
Also Published As
Publication number | Publication date |
---|---|
KR102500735B1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230344960A1 (en) | System and methods providing supplemental content to internet-enabled devices synchronized with rendering of original content | |
US20130083036A1 (en) | Method of rendering a set of correlated events and computerized system thereof | |
KR102246305B1 (en) | Augmented media service providing method, apparatus thereof, and system thereof | |
US10176254B2 (en) | Systems, methods, and media for identifying content | |
US9558784B1 (en) | Intelligent video navigation techniques | |
US20140331246A1 (en) | Interactive content and player | |
US9564177B1 (en) | Intelligent video navigation techniques | |
CN109120990B (en) | Live broadcast method, device and storage medium | |
KR101927965B1 (en) | System and method for producing video including advertisement pictures | |
KR102500735B1 (en) | Video streaming service server for displaying advertisement information related to video and operating method thereof | |
JP2009212857A (en) | Content reproducing unit, content reproducing method, content reproducing system, program, and recording medium | |
KR20190074017A (en) | Hmd device for enabling vr-based presentation exercises and operating method thereof | |
JP6811811B1 (en) | Metadata generation system, video content management system and programs | |
KR102523813B1 (en) | Video streaming service server that enables keyword-based search for video and operating method thereof | |
JPWO2006028116A1 (en) | Appearance estimation apparatus and method, and computer program | |
RU2739262C1 (en) | Information presentation control method | |
KR101221540B1 (en) | Interactive media mapping system and method thereof | |
KR20190097961A (en) | Apparatus and method for providing service of advertisement | |
KR101977108B1 (en) | Hmd device for displaying vr-based presentation video and operating method thereof | |
KR102150049B1 (en) | Method and server for providing video content for digital signage | |
KR20230051032A (en) | Method and apparatus for editing content on a live broadcasting platform | |
KR101832464B1 (en) | Device and method for providing moving picture, and computer program for executing the method | |
KR102523814B1 (en) | Electronic apparatus that outputs subtitle on screen where video is played based on voice recognition and operating method thereof | |
US20230073093A1 (en) | Image processing apparatus, image processing method, and program | |
KR102615377B1 (en) | Method of providing a service to experience broadcasting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |