KR20240060207A - 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 - Google Patents
컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20240060207A KR20240060207A KR1020220141540A KR20220141540A KR20240060207A KR 20240060207 A KR20240060207 A KR 20240060207A KR 1020220141540 A KR1020220141540 A KR 1020220141540A KR 20220141540 A KR20220141540 A KR 20220141540A KR 20240060207 A KR20240060207 A KR 20240060207A
- Authority
- KR
- South Korea
- Prior art keywords
- scene
- server
- information
- user
- request
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004458 analytical method Methods 0.000 title abstract description 83
- 230000008859 change Effects 0.000 claims description 23
- 238000013473 artificial intelligence Methods 0.000 claims description 21
- 230000009471 action Effects 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 235000019640 taste Nutrition 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241000278713 Theora Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000005406 washing Methods 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/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
-
- 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/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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/84—Generation or processing of descriptive data, e.g. content descriptors
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/147—Scene change detection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 개시는 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치에 대한 것으로, 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법에 있어서, 사용자의 북마크 생성 요청을 수신하는 단계, 상기 사용자의 북마크 생성 요청에 기반하여 장면을 분석하는 단계 및 분석한 상기 장면을 씬(Scene) 라이브러리에 저장하는 단계를 포함할 수 있다.
Description
본 개시는 컨텐츠 스트리밍 시스템에 관한 것으로, 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치에 관한 것이다.
다양한 기술의 발전 및 소비의 트랜드 변화에 따라, 컨텐츠 공급 및 소비 방식에 큰 변화가 발생하였다. 디지털 기술, 컴퓨터 기술, 인터넷/통신 기술 등의 발전은 컨텐츠의 종류 및 생산 주체에 대한 경계를 허물어지게 하였으며, 이는 컨텐츠에 대한 생산 및 소비 패턴의 큰 변화를 야기하였다. 일반인들도 컨텐츠를 창작 및 배포하는 것을 가능케 하는 플랫폼들이 생겨났다. 또한, 다양한 컨텐츠로의 접근 용이성이 확보되었고, 소비 방식에 다양한 옵션들이 제공되기 시작하였다.
이러한 컨텐츠 산업의 많은 변화들의 가운데, OTT(over the top) 서비스가 존재한다. OTT 서비스는 인터넷 및 모바일 통신 기반의 미디어 플랫폼으로서, 기존의 방송 서비스를 넘어서 별도의 셋탑 박스와 같은 장비 없이도 다양한 컨텐츠들을 소비자들에게 제공한다. OTT 서비스의 개념은 최초 영화, 텔레비전 프로그램 등을 VOD(video on demand) 방식으로 제공하는 것으로 시작하였으나, 현재 OTT 서비스 제공자의 자체 제작 컨텐츠를 제공하는 것은 물론, 모바일 플랫폼까지도 그 영역을 확대하는 등 여전히 확장 중에 있는 서비스이다.
본 개시는 컨텐츠 스트리밍 시스템에서 북마크 요청에 따른 실시간 장면 분석을 위한 방법 및 장치를 제공하기 위한 것이다.
본 개시는 컨텐츠 스트리밍 시스템에서 서버에 저장된 장면의 랭킹 산정을 위한 방법 및 장치를 제공하기 위한 것이다.
본 개시는 컨텐츠 스트리밍 시스템에서 씬 라이브러리에 저장된 장면과 유사한 장면의 랭킹 산정을 위한 방법 및 장치를 제공하기 위한 것이다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시예에 따른, 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법에 있어서, 사용자의 북마크 생성 요청을 수신하는 단계, 상기 사용자의 북마크 생성 요청에 기반하여 장면을 분석하는 단계 및 분석한 상기 장면을 씬(Scene) 라이브러리에 저장하는 단계를 포함하되 상기 장면을 분석하는 단계는 장면의 전환 시점을 판단하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 상기 장면의 전환 시점은 프레임간 유사도에 기반하여 판단되는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 상기 프레임간 유사도는 프레임간 픽셀 또는 픽셀 그룹의 유사도에 더 기반하여 판단될 수 있다.
본 개시의 일 실시예에 따르면, 상기 장면을 분석하는 단계는 학습된 AI(Artificial Intelligence) 모델을 이용하여 장면을 분석하는 단계를 더 포함하고, 상기 AI 모델은 영상 또는 장면 전환 시점 정보 중 적어도 하나를 이용하여 학습될 수 있다.
본 개시의 일 실시예에 따르면, 상기 AI 모델은 프레임 별 대응하는 적어도 하나의 테마 레이블(theme label)을 이용하여 학습될 수 있다.
본 개시의 일 실시예에 따르면, 재생시간 순으로 제1 테마 레이블을 갖는 제1 프레임에서 제2 테마 레이블을 갖는 제2 프레임으로 전환되는 경우, 상기 제2 테마 레이블을 갖는 프레임이 장면 전환 시점의 프레임으로 판단되는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 상기 테마 레이블은 오디오 데이터, 특정 배우, 특정 액션, 특정 OST, 특정 BGM 또는 특정 장소 중 적어도 하나에 기반하여 부여될 수 있다.
본 개시의 일 실시예에 따르면, 씬 라이브러리에 저장된 장면의 제1 테마 레이블을 분석하는 단계, 서버에 저장되어 있는 장면들의 제2 테마 레이블을 분석하는 단계, 제1 테마 레이블과 제2 테마 레이블을 비교하여 서버에 저장되어 있는 장면에 랭킹 스코어를 부여하는 단계, 상기 서버에 저장되어 있는 장면에 부여된 상기 랭킹 스코어를 합산하는 단계 및 합산된 상기 랭킹 스코어가 높은 장면 순으로 상기 서버에 저장되어 있는 장면을 디스플레이하는 단계를 더 포함할 수 있다.
본 개시의 일 실시예에 따르면, 인기 구간 요청을 단말로부터 수신하는 단계 및 상기 인기 구간 요청을 기반으로 인기 구간 정보를 상기 단말로 전송하는 단계를 더 포함하고, 상기 북마크 생성 요청은 상기 인기 구간 정보를 기초로 생성되고, 상기 인기 구간 정보는 장면 누적 시청 횟수 또는 장면 저장 횟수 중 적어도 하나를 기초로 결정된 인기 구간에 관한 정보인 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 장면 저장 횟수, 장면 조회수, 장면 피드백 정보 등을 기반으로 적어도 하나의 대표 장면을 결정하는 단계, 상기 북마크 생성 요청에 기반하여 장면이 분석되지 않은 경우, 상기 북마크 생성 요청에 대응하는 대표 장면을 식별하는 단계 및 상기 식별된 대표 장면을 씬(Scene) 라이브러리에 저장하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 상기 적어도 하나의 대표 장면을 결정하는 단계는, 북마크 생성 요청들을 통해 저장된 유사 장면들 중 중복된 유사 장면의 개수가 소정의 임계값 이상인 경우, 상기 대표 장면을 상기 중복된 유사 장면으로 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 분석한 상기 장면을 씬(Scene) 라이브러리에 저장하는 단계는, 분석한 상기 장면에 관한 정보를 단말로 전송하는 단계, 상기 단말로부터, 상기 장면의 시점 및 종점의 적어도 하나의 수정을 나타내는 사용자 입력에 기반한 저장 요청을 수신하는 단계 및 상기 저장 요청에 기반한 장면을 상기 씬 라이브러리에 저장하는 단계를 포함하고, 상기 저장 요청은 분석된 상기 장면의 수정된 시점 및 종점 중 적어도 하나를 나타내는 정보를 포함하는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 제1 사용자 단말에 기반한 공유 승인 신호를 수신한 제2 사용자 단말로부터, 씬 라이브러리 접근 요청을 수신하는 단계 및 상기 씬 라이브러리 접근 요청에 따라, 제1 사용자 단말의 사용자와 관련된 상기 씬 라이브러리에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 개시의 일 실시예에 따르면, 컨텐츠 스트리밍 시스템에서 장면을 저장하기 위한 방법에 있어서, 사용자의 북마크 생성 요청을 서버로 전송하는 단계, 상기 북마크 생성 요청에 기반하여 분석된 장면에 관한 정보를 상기 서버로부터 수신하는 단계 및 상기 장면에 관한 정보를 기초로, 상기 장면을 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 상기 장면에 관한 정보는 1)장면의 시점 및 2)상기 장면의 전환 시점과 관련된 상기 장면의 종점과 상기 시점 간 차이에 관한 정보를 포함하고, 상기 장면에 관한 정보를 기초로, 상기 장면을 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계는, 상기 장면에 관한 정보를 기초로, 장면의 시점과 종점 중 적어도 하나의 수정에 관한 사용자 입력을 수신하는 단계 및 상기 사용자 입력을 기초로 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 할 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 컨텐츠 스트리밍 시스템에서 씬 라이브러리에 저장되는 장면을 효과적으로 분석할 수 있다.
본 개시에 따르면, 컨텐츠 스트리밍 시스템에서 사용자의 북마크 생성 요청에 따라 실시간으로 장면 분석을 수행할 수 있다.
본 개시에 따르면, 사용자가 원하는 장면을 라이브러리에 저장할 수 있다.
본 개시에 따르면, 컨텐츠 스트리밍 시스템에서 장면 랭킹을 산정할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 일 실시예에 따른 컨텐츠 스트리밍 시스템을 도시한다.
도 2는 본 개시의 일 실시예에 따른 클라이언트 장치의 구조를 도시한다.
도 3는 본 개시의 일 실시예에 따른 서버의 구조를 도시한다.
도 4는 본 개시의 일 실시예에 따른 컨텐츠 스트리밍 서비스의 개념을 도시한다.
도 5는 본 개시의 일 실시예에 따른 인기구간 정보 수신 절차를 도시한다.
도 6a는 본 개시의 일 실시예에 따른 인기구간 정보를 도시한다.
도 6b는 본 개시의 일 실시예에 따른 분석된 장면 수정 화면을 도시한다.
도 7은 본 개시의 일 실시예에 따른 북마크 생성 요청에 의한 장면 분석 절차를 도시한다.
도 8은 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다.
도 9은 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다.
도 10는 본 개시의 일 실시예에 따른 씬 라이브러리 저장 실시예를 도시한다.
도 11은 본 개시의 일 실시예에 따른 실시간 장면 분석 실시예를 도시한다.
도 12은 본 개시의 일 실시예에 따른 이미 추출된 장면 저장 실시예를 도시한다.
도 13는 본 개시의 일 실시예에 따른 대표 장면 추출 실시예를 도시한다.
도 14은 본 개시의 일 실시예에 따른 장면 랭킹 산정 방법의 순서도를 도시한다.
도 15는 본 개시의 일 실시예에 따른 씬 라이브러리 공유 절차를 도시한다.
도 2는 본 개시의 일 실시예에 따른 클라이언트 장치의 구조를 도시한다.
도 3는 본 개시의 일 실시예에 따른 서버의 구조를 도시한다.
도 4는 본 개시의 일 실시예에 따른 컨텐츠 스트리밍 서비스의 개념을 도시한다.
도 5는 본 개시의 일 실시예에 따른 인기구간 정보 수신 절차를 도시한다.
도 6a는 본 개시의 일 실시예에 따른 인기구간 정보를 도시한다.
도 6b는 본 개시의 일 실시예에 따른 분석된 장면 수정 화면을 도시한다.
도 7은 본 개시의 일 실시예에 따른 북마크 생성 요청에 의한 장면 분석 절차를 도시한다.
도 8은 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다.
도 9은 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다.
도 10는 본 개시의 일 실시예에 따른 씬 라이브러리 저장 실시예를 도시한다.
도 11은 본 개시의 일 실시예에 따른 실시간 장면 분석 실시예를 도시한다.
도 12은 본 개시의 일 실시예에 따른 이미 추출된 장면 저장 실시예를 도시한다.
도 13는 본 개시의 일 실시예에 따른 대표 장면 추출 실시예를 도시한다.
도 14은 본 개시의 일 실시예에 따른 장면 랭킹 산정 방법의 순서도를 도시한다.
도 15는 본 개시의 일 실시예에 따른 씬 라이브러리 공유 절차를 도시한다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 개시의 실시예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 개시의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 개시의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 "개방형"의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다. 나아가 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
또한, 문맥상 명백하게 다르게 표현되지 아니하는 한, 객체에 대한 단수의 표현은 복수의 표현으로 이해될 수 있다. 본 개시에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함하는 것으로 이해될 수 있다. "제1", "제2", "제3" 등의 표현들은 해당 객체를, 순서 또는 중요도에 무관하게 수식할 수 있으며, 하나의 객체를 동종의 다른 객체와 구분하기 위해 사용될 뿐이다.
또한, 본 개시에서, "~하도록 구성된(configured to)"은, 상황에 따라, 하드웨어적 또는 소프트웨어적으로 "~에 적합한", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는", "~하도록 설계된" 중 어느 하나의 표현과 기술적으로 동등한 의미를 가지는 것으로 이해될 수 있고, 상호 대체될 수 있다. 본 개시는 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치와 장면을 저장하기 위한 방법 및 장치를 제공하기 위한 것으로, 구체적으로, 사용자가 원하는 장면을 씬 라이브러리에 저장하거나, 다른 사용자에게 공유하고, 씬 라이브러리에 저장된 장면에 기반하여 사용자의 취향에 맞는 장면을 디스플레이하기 위한 기법에 대해 설명한다. 도 1은 본 개시의 일 실시예에 따른 컨텐츠 스트리밍 시스템을 도시한다. 도 1은 컨텐츠 스트리밍, 컨텐츠 관련 정보 제공 등 컨텐츠에 관련된 서비스를 제공하기 위한 시스템 및 그 시스템에 속하는 엔티티(entity)들을 예시한다. 이하 본 개시에서, 컨텐츠에 관련된 다양한 서비스들은 '컨텐츠 서비스' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
도 1을 참고하면, 컨텐츠 스트리밍 시스템은 클라이언트(client) 장치(110) 및 서버(120)를 포함할 수 있다. 여기서, 클라이언트 장치(110)는 3개의 클라이언트 장치들(110-1 내지 110-3)의 집합으로 예시되었으나, 컨텐츠 스트리밍 시스템은 2개 이하 또는 4개 이상의 클라이언트 장치들을 포함할 수 있다. 또한, 서버(120)는 1개로 예시되었으나, 컨텐츠 스트리밍 시스템은 다양한 기능들을 분담하며 상호 작용하는 복수의 서버들을 포함할 수 있다.
클라이언트 장치(110)는 컨텐츠를 수신 및 표시한다. 클라이언트 장치(110)는 네트워크를 통해 서버(120)에 접속한 후, 서버(120)로부터 스트리밍되는 컨텐츠를 수신할 수 있다. 즉, 클라이언트 장치(110)는 서버(120)에 의해 제공되는 컨텐츠 서비스를 이용하기 위해 설계된 클라이언트 소프트웨어 또는 어플리케이션이 설치된 하드웨어이며, 설치된 소프트웨어 또는 어플리케이션을 통해 서버(120)와 상호작용할 수 있다. 클라이언트 장치(110)는 다양한 형태의 장치들로 구현될 수 있다. 예를 들어, 클라이언트 장치(110)는 이동 가능한 휴대용 장치, 이동 가능하지만 사용 중에는 고정되는 것이 일반적인 장치, 특정 위치에 고정적으로 설치되는 장치 중 하나일 수 있다.
구체적으로, 클라이언트 장치(110)는 스마트폰(110-1), 데스크탑 컴퓨터(110-2), 태블릿 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA(personal data assistant), PMP(portable multimedia player), 카메라, 또는 웨어러블 장치 중 적어도 하나의 형태로 구현될 수 있다. 여기서, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, HMD(head-mounted-device)), 의복형, 신체 부착형(예: 스킨 패드 또는 문신), 생체 이식형 회로 중 적어도 하나의 형태로 구현될 수 있다. 또한, 클라이언트 장치(110)는 가전 제품으로서, 예를 들어, 텔레비전(110-3), DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기 중 적어도 하나의 형태로 구현될 수 있다.
서버(120)는 컨텐츠 서비스를 제공하기 위한 다양한 기능들을 수행한다. 다시 말해, 서버(120)는 다양한 기능들을 이용하여 클라이언트 장치(110)에게 컨텐츠 스트리밍 및 다양한 컨텐츠에 관련된 서비스들을 제공할 수 있다. 구체적으로, 서버(120)는 컨텐츠를 스트리밍 가능하도록 데이터화하고, 네트워크를 통해 클라이언트 장치(110)에게 송신할 수 있다. 이를 위해, 서버(120)는 컨텐츠의 인코딩, 데이터에 대한 세그먼테이션(segmentation), 전송 스케줄링, 스트리밍 송신 중 적어도 하나의 기능을 수행할 수 있다. 부가적으로, 컨텐츠 이용의 편의를 위하여, 서버(120)는 컨텐츠 가이드 제공, 사용자의 계정 관리, 사용자의 선호도 분석, 선호도에 기반한 컨텐츠 추천 중 적어도 하나의 기능을 더 수행할 수 있다. 전술한 다양한 기능들 중 복수의 기능들이 제공될 수 있으며, 이를 위해, 서버(120)는 복수의 서버들로 구현될 수 있다.
클라이언트 장치(110) 및 서버(120)는 네트워크를 통해 정보를 교환하며, 교환되는 정보에 기반하여 클라이언트 장치(110)에게 컨텐츠 서비스가 제공될 수 있다. 이때, 네트워크는 단일 네트워크 또는 다양한 종류의 네트워크들의 조합일 수 있다. 네트워크는 구간에 따라 서로 다른 종류의 네트워크들이 연결된 형태로 이해될 수 있다. 예를 들어, 네트워크들은 무선 네트워크 및 유선 네트워크 중 적어도 하나를 포함할 수 있다. 구체적으로, 네트워크들은 6G(6th generation), 5G(5th generation), LTE(Long Term Evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiMAX(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나에 기반한 셀룰러 네트워크를 포함할 수 있다. 또한, 네트워크들은 무선 랜(wireless local area network), 블루투스(bluetooth), 지그비(Zigbee), NFC(near field communication), UWB(ultra wideband) 중 적어도 하나에 기반한 근거리 네트워크를 포함할 수 있다. 또한, 네트워크들은 인터넷, 이더넷(ethernet) 등의 유선 네트워크를 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따른 클라이언트 장치의 구조를 도시한다. 도 2는 클라이언트 장치(예: 도 1의 클라이언트 장치(110))의 블록 구조를 예시한다.
도 2를 참고하면, 클라이언트 장치는 디스플레이(202), 입력부(204), 통신부(206), 센싱부(208), 오디오 입출력부(210), 카메라 모듈(212), 메모리(214), 전원부(216), 외부 연결 단자(218) 및 프로세서(220)를 포함한다. 단, 장치의 종류에 따라, 도 2에 예시된 구성요소들 중 적어도 하나는 생략될 수 있다.
디스플레이(202)는 시각적으로 인식 가능한 영상, 그래픽 등의 정보를 출력한다. 이를 위해, 디스플레이(202)는 패널 및 패널을 제어하는 회로를 포함할 수 있다. 예를 들어, 패널은 LCD(liquid crystal display), LED(Light Emitting Diode), LPD(light emitting polymer display), OLED(Organic Light Emitting Diode), AMOLED(Active Matrix Organic Light Emitting Diode), FLED(Flexible LED) 중 적어도 하나를 포함할 수 있다.
입력부(204)는 사용자에 의해 발생하는 입력을 수신한다. 입력부(204)는 다양한 형태의 입력 감지 수단을 포함할 수 있다. 예를 들어, 입력부(204)는 물리 버튼, 키패드, 터치 패드 중 적어도 하나를 포함할 수 있다. 또는, 입력부(204)는 터치 패널을 포함할 수 있다. 입력부(204)가 터치 패널을 포함하는 경우, 입력부(204) 및 디스플레이(202)는 하나의 모듈로서 구현될 수 있다.
통신부(206)는 클라이언트 장치가 다른 장치와 네트워크를 형성하고, 네트워크를 통해 데이터를 송신 또는 수신하기 위한 인터페이스를 제공한다. 이를 위해, 통신부(206)는 물리적으로 신호를 처리하기 위한 회로(예: 인코더/디코더, 변조기/복조기, RF(radio frequency) 프론트 엔드 등), 통신 규격에 따라 데이터를 처리하는 프로토콜 스택(예: 모뎀) 등을 포함할 수 있다. 다양한 실시예들에 따라, 통신부(206)는 서로 다른 복수의 통신 규격을 지원하기 위해 복수의 모듈들을 포함할 수 있다.
센싱부(208)는 클라이언트 장치의 상태 또는 주변 환경에 대한 데이터를 포함하는 센싱 데이터를 수집한다. 예를 들어, 센싱부(208)는 클라이언트 장치의 작동 상태, 자세에 관련된 물리적 값 또는 값의 변화를 측정하고, 측정된 결과를 나타내는 전기적 신호로 생성할 수 있다. 또한, 센싱부(208)는 클라이언트 장치의 주변 환경에 대한 물리적 값 또는 값의 변화를 측정하고, 측정된 결과를 나타내는 전기적 신호로 생성할 수 있다. 이를 위해, 센싱부(208)는 적어도 하나의 센서 및 적어도 하나의 센서를 제어하기 위한 회로를 포함할 수 있다. 구체적으로, 센싱부(208)는 자이로 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러(color) 센서, 생체 센서, 기압 센서, 온도 센서, 습도 센서, 조도 센서, 또는 UV(ultra violet) 센서, 후각(e-nose) 센서, 제스처 센서, EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서, 지문 센서 중 적어도 하나를 포함할 수 있다.
오디오 입출력부(210)는 오디오 데이터에 기반하여 생성된 전기 신호에 따라 소리를 출력하고, 외부의 소리를 감지한다. 즉, 오디오 입출력부(210)는 소리 및 전기 신호를 상호 변환할 수 있다. 이를 위해, 오디오 입출력부(210)는 스피커, 마이크, 이들을 제어하기 위한 회로 중 적어도 하나를 포함할 수 있다.
카메라 모듈(212)은 영상(image) 및 비디오(video)를 생성하기 위한 데이터를 수집한다. 이를 위해, 카메라 모듈(212)은 렌즈, 렌즈 구동 회로, 이미지 센서, 플래쉬(flash), 이미지 처리 회로 중 적어도 하나를 포함할 수 있다. 카메라 모듈(212)은 렌즈를 통해 빛을 수집하고, 이미지 센서를 이용하여 빛의 컬러 값, 휘도 값을 표현하는 데이터를 생성할 수 있다.
메모리(214)는 클라이언트 장치가 동작하기 위해 필요한 운영체제, 프로그램, 어플리케이션, 명령어, 설정 정보 등을 저장한다. 메모리(214)는 데이터를 일시적 또는 비일시적으로 저장할 수 있다. 메모리(214)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다.
전원부(216)는 클라이언트 장치의 구성요소들의 동작을 위해 필요한 전력을 공급한다. 이를 위해, 전원부(216)는 전원을 각 구성요소에서 요구하는 크기의 전력으로 변환하는 컨버터(convertor) 회로를 포함할 수 있다. 전원부(216)는 외부 전원에 의존하거나 또는 배터리를 포함할 수 있다. 배터리를 포함하는 경우, 전원부(216)는 충전을 위한 회로를 더 포함할 수 있다. 충전을 위한 회로는 유선 충전 또는 무선 충전을 지원할 수 있다.
외부 연결 단자(218)는 클라이언트 장치를 다른 장치와 연결하기 위한 물리적 연결 수단이다. 예를 들어, 외부 연결 단자(218)는 USB(universal serial bus)단자, 오디오 단자, HDMI(high definition multimedia interface) 단자, RS-232(recommended standard-232) 단자, 적외선 단자, 광 단자, 전원 단자 등 다양한 규격의 단자들 중 적어도 하나를 포함할 수 있다.
프로세서(220)는 클라이언트 장치의 전반적인 동작을 제어한다. 프로세서(220)는 다른 구성요소들의 동작을 제어하고, 다른 구성요소들을 이용하여 다양한 기능들을 수행할 수 있다. 예를 들어, 또한, 프로세서(220)는 통신부(206)를 통해 서버에게 컨텐츠 데이터를 요청하고, 컨텐츠 데이터를 수신할 수 있다. 또한, 프로세서(220)는 수신된 컨텐츠 데이터를 디코딩함으로써 컨텐츠를 복원할 수 있다. 또한, 프로세서(220)는 디스플레이(202) 및 오디오 입출력부(210)를 통해 서버로부터 수신된 컨텐츠를 출력할 수 있다. 또한, 프로세서(220)는 입력부(204), 통신부(206), 센싱부(208), 오디오 입출력부(210), 카메라 모듈(212), 전원부(216), 외부 연결 단자(218) 중 적어도 하나에 의해 입력 또는 감지되는 정보에 기반하여 컨텐츠의 재생에 관련된 상태를 제어할 수 있다. 이를 위해, 프로세서(220)는 적어도 하나의 프로세서, 적어도 하나의 마이크로 프로세서, 적어도 하나의 DSP(digital signal processor) 중 적어도 하나를 포함할 수 있다. 특히, 프로세서(220)는 클라이언트 장치가 이하 후술되는 다양한 실시예들에 따라 동작하도록 다른 구성요소들을 제어하고, 필요한 연산을 수행할 수 있다.
도 2를 참고하여 설명한 클라이언트 장치의 구조에서, 구성요소들은 프로세서(220)에 모두 연결된 것으로 예시되었다. 도 2에 도시되지 아니하였으나, 구성요소들 중 적어도 일부는 버스(bus)를 통해 연결될 수 있다. 이 경우, 프로세서(220)의 제어에 따라, 일부 구성요소들 간 직접적인 데이터 교환이 이루어질 수 있다.
도 3는 본 개시의 일 실시예에 따른 서버의 구조를 도시한다. 도 3은 서버(예: 도 1의 서버(120))의 블록 구조를 예시한다.
도 3을 참고하면, 서버는 통신부(302), 메모리(304), 스토리지(306), 프로세서(308)를 포함한다. 단, 다양한 실시예들에 따라, 도 3에 예시된 구성요소들 중 적어도 하나는 생략될 수 있다.
통신부(302)는 서버의 다른 장치와의 통신을 위한 인터페이스를 제공한다. 이를 위해, 통신부(302)는 통신을 위해 물리적 신호를 생성 및 해석하는 회로를 포함할 수 있다. 통신부(302)에 의해 제공되는 인터페이스는 유선 통신 또는 무선 통신을 지원할 수 있다.
메모리(304)는 다양한 정보, 명령 및/또는 정보를 저장하며, 스토리지(306)에 저장된 컴퓨터 프로그램, 명령어 등을 로드(load)할 수 있다. 메모리(304)는 서버의 연산을 위해 일시적으로 데이터 및 명령어 등을 저장하며, RAM(random access memory)를 포함할 수 있다. 또는 메모리(304)는 다양한 저장 매체를 포함할 수 있다.
스토리지(306)는 서버의 동작을 위한 운영 체제, 서버의 기능 수행을 위한 프로그램, 서버의 동작을 위한 설정 정보 등을 비일시적으로 저장할 수 있다. 예를 들어, 스토리지(306)는 ROM(read only memory), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, SSD(solid state drive), 또는 본 개시가 속하는 기술 분야에서 널리 알려져 있는 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체 중 적어도 하나를 포함할 수 있다.
프로세서(308)는 서버의 전반적인 동작을 제어한다. 프로세서(308)는 다른 구성요소들의 동작을 제어하고, 다른 구성요소들을 이용하여 다양한 기능들을 수행할 수 있다. 프로세서(308)는 CPU(central processing unit), MPU(micro processer unit), MCU(micro controller unit) 또는 본 개시가 속하는 기술 분야에서 널리 알려져 있는 형태의 프로세서 중 적어도 하나를 포함할 수 있다. 특히, 프로세서(220)는 서버가 이하 후술되는 다양한 실시예들에 따라 동작하도록 다른 구성요소들을 제어하고, 필요한 연산을 수행할 수 있다.
도 3를 참고하여 설명한 클라이언트 장치의 구조에서, 구성요소들은 프로세서(308)에 모두 연결된 것으로 예시되었다. 도 3에 도시되지 아니하였으나, 구성요소들 중 적어도 일부는 버스(bus)를 통해 연결될 수 있다. 이 경우, 프로세서(308)의 제어에 따라, 일부 구성요소들 간 직접적인 데이터 교환이 이루어질 수 있다.
도 4는 본 개시에 일 실시예에 따른 컨텐츠 스트리밍 서비스의 개념을 도시한다. 도 4는 컨텐츠 스트리밍에 관련된 일부 기능들을 도식화한 것으로, 다양한 실시 예들에 따른 컨텐츠 스트리밍 서비스는 도 4에 예시된 기능들 이외에도 다양한 기능들을 더 가질 수 있다.
도 4를 참고하면, 클라이언트(410) 및 서버(420) 간 제어 데이터 및 컨텐츠 데이터가 송신 및 수신될 수 있다. 구체적으로, 클라이언트(410)에서 서버(420)로의 제어 데이터 송신, 서버(420)에서 클라이언트(410)로의 제어 데이터 송신, 서버(420)에서 클라이언트(410)로의 컨텐츠 데이터 송신이 수행될 수 있다.
서버(420)는 사용자 정보(422a), 컨텐츠 정보(422b), 컨텐츠 DB(database)(422c)를 저장한다. 사용자 정보(422a)는 사용자들의 계정 정보, 사용자들의 서비스 이용 이력에 대한 정보, 사용자들의 선호도에 대한 정보 등을 포함할 수 있다. 컨텐츠 정보(422b)는 서비스 가능한 컨텐츠에 대한 목록, 컨텐츠의 가이드 정보, 컨텐츠의 메타 정보, 컨텐츠의 소비 이력에 대한 정보 등을 포함할 수 있다. 컨텐츠 DB(422c)는 데이터화된 상태로 저장된 컨텐츠를 포함할 수 있다. 이 외, 서버(420)는 서비스를 제공하기 위해 필요한 다른 정보를 더 저장할 수 있다.
클라이언트(410)에서 서버(420)로의 제어 데이터는 사용자 로그인(log-in)에 대한 정보, 사용자의 컨텐츠 선택에 대한 정보, 사용자의 컨텐츠 제어에 대한 정보 등을 포함할 수 있다. 이를 위해, 클라이언트(410)는 사용자 입력 처리 동작(401)을 통해 사용자 입력으로부터 제어 데이터를 생성 및 송신할 수 있다. 클라이언트(410)로부터의 제어 데이터는 제어/관리 동작(403)을 통해 처리되고, 컨텐츠의 제공을 위해 사용된다. 예를 들어, 제어/관리 동작(403)에 의해 클라이언트(410)로부터의 제어 데이터에 기반하여 제어 데이터 및/또는 컨텐츠가 선택될 수 있다. 또한, 제어/관리 동작(403)에 의해 사용자의 소비 이력 및 행위를 분석함으로써 선호도를 판단하고, 판단된 선호도에 따라 추천할 컨텐츠가 선택될 수 있다.
컨텐츠가 사용자에게 제공되는 절차를 도 4를 참고하여 살펴보면 다음과 같다. 먼저, 클라이언트(410)는 사용자 입력 처리 동작(401)을 통해 사용자에 의해 입력되는 로그인 정보(예: 아이디 및 패스워드)를 포함하는 제어 데이터를 생성하고, 제어 데이터를 송신한다. 서버(420)는 클라이언트(410)로부터의 제어 데이터에 포함되는 로그인 정보를 사용자 정보(422a)에서 검색함으로써 유효한 사용자인지 여부를 판단하고, 사용자의 권한에 따라 허용되는 컨텐츠 및 서비스의 범위를 결정할 수 있다. 다만, 로그인을 필요로 하지 아니하거나, 또는 로그인 없이 제공 가능한 제한적인 서비스가 지원되는 경우, 로그인 정보의 송신 및 처리는 생략될 수 있다.
이어, 서버(420)는 제어/관리 동작(403)을 통해 컨텐츠 정보(422b)로부터 컨텐츠 가이드 정보를 추출하고, 컨텐츠 가이드 정보를 포함하는 제어 데이터를 클라이언트(410)에게 송신한다. 클라이언트(410)는 제어 데이터에 포함되는 컨텐츠 가이드 정보를 출력하고, 사용자의 선택을 확인한다. 사용자의 선택은 사용자 입력 처리 동작(401)을 통해 제어 데이터로서 서버(420)로 송신된다. 사용자의 선택에 대한 정보는 제어/관리 동작(403)에 의해 처리되고, 스트리밍될 컨텐츠의 선택에 사용된다. 서버(420)는 컨텐츠 DB(422)에서 선택된 컨텐츠를 검색하고, 검색된 컨텐츠를 인코딩 동작(407)을 통해 컨텐츠에 대한 압축 및 세그먼테이션을 수행한 후, 컨텐츠 데이터를 송신한다. 컨텐츠 데이터는 인코딩 동작(407)을 통해 미리 압축되어 저장될 수 있다. 여기서 인코딩 동작(407)은 원본 컨텐츠 영상을 압축하는 동작뿐 아니라, 압축을 통해 생성된 컨텐츠 데이터를 디코딩후, 다시 압축하는 동작을 포함할 수 있다. 이때 압축은 컨텐츠 영상의 해상도, 비트레이트 및 초당 프레임 수를 기초로 수행될 수 있다. 미리 압축되어 저장되는 경우, 압축 동작은 생략되고, 서버(420)는 컨텐츠 데이터에 대한 세그먼테이션을 수행할 수 있다. 컨텐츠 데이터는 디코딩 동작(409)을 통해 복원되고, 재생 동작(411)을 통해 사용자에게 제공될 수 있다. 이때, 압축을 위해, 다양한 비디오 코덱들 및 다양한 오디오 코덱들 중 적어도 하나가 사용될 수 있다. 예를 들어, 다양한 비디오 코덱들은 MPEG-2(Moving Picture Experts Group-2), H.264 AVC(Advanced Video Coding), H.265 HEVC(High Efficiency Video Coding), H.266 VVC(Versatile Video Coding), VP8(Video Processor 8), VP9(Video Processor 9), AV1(AOMedia Video 1), DivX, Xvid, VC-1, Theora, Daala 중 적어도 하나를 포함할 수 있다,
오디오 코덱들은 MP3(MPEG 1 Audio Layer 3), AC3(Dolby Digital AC-3), E-AC3(Enhanced AC-3), AAC(Advanced Audio Coding, MPEG 2 Audio), FLAC(Free Lossless Audio Codec), HE-AAC(High Efficiency Advanced Audio Coding), OGG Vorbis 및 OPUS 등을 포함할 수 있다.
영상의 다양한 해상도, 비트레이트 및 초당 프레임 수에 따라 컨텐츠 영상이 압축되어 복수의 컨텐츠 데이터가 미리 생성될 수 있다. 클라이언트(410)는 쓰루풋(또는 대역폭)을 측정하고, 측정된 쓰루풋(또는 대역폭)을 기초로 비트레이트를 결정할 수 있다.
클라이언트(410)는 복수의 컨텐츠 데이터에 관한 정보를 서버(420)로부터 수신할 수 있다. 수신된 정보는 복수의 컨텐츠 데이터에 대한 비트레이트, 해상도 및 초당 프레임 수 및 위치를 나타내는 정보를 포함할 수 있다.
클라이언트(410)는 비트레이트를 기초로 복수의 컨텐츠 데이터 중 적어도 하나의 컨텐츠 데이터를 결정하고, 클라이언트(410)의 캐이퍼빌리티 정보를 기초로 적어도 하나의 컨텐츠 데이터 중 재생할 수 있는 해상도 및 초당 프레임 수에 대응하는 재생 컨텐츠 데이터 및 그 위치를 결정할 수 있다. 이때, 캐이퍼빌리티 정보는 클라이언트의 최대 지원 해상도 및 최대 지원 프레임 수를 포함할 수 있으나, 이에 제한되지 않는다.
클라이언트(410)는 재생 컨텐츠 데이터의 위치를 기초로 서버(420)로 컨텐츠 요청을 전송할 수 있다. 서버(420)는 수신한 컨텐츠 요청을 기초로, 컨텐츠 요청에 대응하는 컨텐츠 데이터를 클라이언트(410)로 전송할 수 있다.
다른 실시예에 의하면, 클라이언트(410)는 영상의 해상도 및 초당 프레임 수 중 적어도 하나에 관한 사용자 입력을 수신하고, 사용자 입력에 따라 재생 컨텐츠 데이터 및 그 위치를 결정하고, 서버(420)로 컨텐츠 요청을 전송할 수 있다.본 개시는 사용자의 요청에 따른 실시간 장면 분석 기술에 관련된다. 본 개시의 다양한 실시예들에 따라, 사용자는 영상 시청 중 북마크를 생성하고, 생성된 북마크를 다른 사용자와 공유하고, 다른 사용자에 의해 생성된 북마크를 이용할 수 있다. 여기서, 북마크는 영상 내에 존재하는 특정 구간(장면)에 대한 데이터일 수 있다. 구체적으로, 북마크는 영상 내의 특정 구간의 시작 시점 및/또는 종료 시점에 대한 데이터일 수 있다. 또한, 북마크는 영상을 나타내는 데이터(예를 들어, URL과 같은 주소(위치)에 대한 데이터)를 더 포함할 수 있다. 여기서, 시작 시점 및 종료 시점은 시간 값, 프레임 번호 중 어느 하나를 이용하여 지시될 수 있으며, 본 개시는 이에 한정되지 않는다. 또한, 본 개시의 다양한 실시예들에 따르면, 대표 장면은 서버(120)에서 이미 분석되어 저장된 장면을 의미할 수 있다. 대표 장면은 여러 사용자들의 장면 저장 횟수, 조회수, 피드백(좋아요, 찜, 공유 등) 정보 등에 의해 선정될 수 있으며, 본 개시는 이에 한정되지 않는다. 또한, 본 개시의 다양한 실시예들에 따르면, 서버(120)는 장면을 분석하고, 분석한 장면을 저장할 수 있으며, 또한, 서버(120)에 저장된 장면의 랭킹을 산정할 수도 있다. 이하, 본 개시는 도면을 참고하여 다양한 실시예들을 설명한다.
도 5는 본 개시의 일 실시예에 따른 인기구간 정보 수신 절차를 도시한다. 도 5의 서버(512)는 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))로 이해될 수 있다. 또한, 인기구간 분석 서버(513)도 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))로 이해될 수 있으며, 또는 별도의 다른 서버로 이해될 수도 있다. 또한, 도 5의 단말(511)은 컨텐츠 스트리밍 시스템의 단말(예: 도 1의 단말(110))로 이해될 수 있다.
도 5를 참고하면, 본 개시의 일 실시예에 따라 인기구간 정보를 수신하기 위해서, 단말(511)은 인기구간 정보를 요청할 수 있다. 보다 구체적으로, S521 단계에서, 사용자가 시청 중인 영상에 대하여 인기구간을 요청하면, 단말(511)은 서버(512)에 인기구간 요청 정보를 전송할 수 있다. 여기서, 인기구간은 사용자들의 시청 횟수 및/또는 저장 횟수가 높은 장면을 의미한다. 도 6을 참고하면, 인기구간은 장면 별 누적 시청 횟수 그래프, 장면 저장 횟수 그래프 또는 누적 시청횟수 및 장면 저장 횟수가 모두 고려된 그래프(601)를 이용하여 표현될 수 있으며, 본 개시는 이에 한정되지 않는다. 또한, 본 개시에서 '장면'은 '구간' 또는 '영상 구간'과 동일한 의미로 이해될 수 있다.
이후, S522 단계에서, 서버(512)는 인기구간 분석 서버(513)로 인기구간 요청 정보를 전송할 수 있다. 인기구간 분석 서버(513)가 인기구간 요청 정보를 수신한 후, S523 단계에서, 인기구간 분석 서버(513)는 인기구간 분석 후 서버(512)로 인기구간 정보를 전송할 수 있다. 여기서, 인기구간 정보는 영상 내에 존재하는 대표 장면에 대한 정보일 수 있다. 구체적으로, 대표 장면에 대한 정보는 대표 장면의 시작 시점 및/또는 종료 시점을 포함할 수 있다. 여기서, 시작 시점 및 종료 시점은 시간 값, 프레임 번호 중 어느 하나를 이용하여 지시될 수 있다. 이후, S524 단계에서, 인기구간 분석 서버(513)로부터 인기구간 정보를 수신한 서버(512)는 다시 인기구간 정보를 단말(511)로 전송할 수 있다. 이후, S525 단계에서, 서버(512)로부터 인기구간 정보를 수신한 단말(511)은 수신한 인기구간 정보에 기반하여 인기구간을 노출할 수 있다.
본 개시의 다른 실시예에 따르면, 도 5의 서버(512)와 인기구간 분석 서버(513)는 같은 서버일 수 있다. 이 경우, 인기구간 분석 서버(513)는 단말(511)로부터 바로 인기구간 요청 정보를 수신할 수 있다. 또한, 인기구간 분석 서버(513)는 단말(511)로 바로 인기구간 정보를 전송할 수도 있다.
도 6a는 본 개시의 일 실시예에 따른 인기구간 정보를 도시한다. 단말은 사용자의 요청에 따라(또는 자동으로) 인기구간에 대한 정보를 누적 시청 횟수 그래프, 장면 저장 횟수 그래프 또는 시청횟수 및 장면 저장 횟수가 모두 고려된 그래프(601)로 제공할 수 있다. 사용자는 제공된 그래프(601)를 보고, 인기구간을 선택하여 시청할 수 있다. 여기서, 누적 시청 횟수 그래프, 저장 횟수 그래프 또는 시청횟수 및 장면 저장 횟수가 모두 고려된 그래프는 서버(120)를 이용하는 사용자들이 많이 시청한 구간 및/또는 사용자들이 많이 저장한 구간에 대한 정보를 제공할 수 있다. 본 개시에 따른 그래프는 연결된 그래프일 수 있으나, 이에 한정되지 않고 다른 형태의 그래프(예: 막대 그래프, 꺾은선 그래프 등)로 표현될 수도 있다.
도 6b는 본 개시의 일 실시예에 따른 분석된 장면 수정 화면을 도시한다. 도 6b를 참고하면, 단말은 사용자의 요청에 따라(또는 자동으로) 인기구간에 대한 정보를 그래프(601)로 제공할 수 있다. 그래프(601)에서 사용자가 저장하기를 원하는 특정 부분을 클릭한 경우, 단말은 해당 부분을 포함하는 장면을 디스플레이할 수 있다. 이때, 해당 부분을 포함하는 장면은 인기구간 분석 서버(513)에서 분석된 장면일 수 있다. 구체적으로, 단말은 해당 장면을 구성하는 프레임들(이하, 제1 장면)(611)을 디스플레이할 수 있다. 이때, 단말은 제1 장면(611)의 전후 프레임들 및 프레임들(611)을 포함하는 프레임들(612)까지 디스플레이할 수 있다. 이를 통해, 사용자는 제1 장면(611)을 수정할 수 있다. 예를 들어, 사용자는 제1 장면(611)의 전후 프레임을 추가하여 저장할 수 있으며, 또는 일부 프레임을 삭제하여 저장할 수도 있을 것이다. 여기서, 프레임의 추가 및 삭제는 제1 장면(611)의 시작 시점 및/또는 종료 시점을 변경함으로써 수행될 수 있다. 제1 장면(611)의 시작 시점 및/또는 종료 시점은 사용자의 조작에 의해 변경될 수 있다. 예를 들어, 화면에서 장면의 경계를 마우스 커서 또는 터치 입력으로 드래그함에 따라, 시작 시점 및/또는 종료 시점이 변경될 수 있으며, 본 개시는 이에 한정되지 않는다.
도 7은 본 개시의 일 실시예에 따른 북마크 생성 요청에 의한 장면 분석 절차를 도시한다. 도 7의 서버(512)는 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))로 이해될 수 있다. 또한, 인기구간 분석 서버(513)도 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))로 이해될 수 있으며, 또는 다른 서버로 이해될 수도 있다.
도 7을 참고하면, S721 단계에서, 단말(511)은 서버(512)로 북마크 요청 정보(예. 현재 시점 정보)를 전송할 수 있다. 도 6a를 참고하면, 북마크 요청 정보는 사용자가 단말(511)의 디스플레이에 표시된 북마크 버튼(602)을 클릭함으로써 생성될 수 있다. 북마크 요청 정보는 사용자가 시청 중인 영상의 현재 시점 정보 및/또는 시청 중인 영상의 위치를 나타내는 정보를 포함할 수 있다.
이후, S722 단계에서, 서버(512)는 북마크 요청 정보를 인기구간 분석 서버(513)로 전송할 수 있다. S723 단계에서, 서버(512)로부터 북마크 요청 정보를 수신한 인기구간 분석 서버(513)는 장면 분석을 수행할 수 있다. 즉, 인기구간 분석 서버(513)는 북마크 요청 정보에 포함된 현재 시점 정보를 이용하여 장면 분석을 수행할 수 있다. 여기서, 장면 분석은 북마크 요청 정보를 이용하여 장면을 추출하고, 이를 씬 라이브러리에 저장하기 위해 수행된다. 즉, 장면 분석은 사용자가 원하는 장면을 저장하기 위해 수행되는 동작으로서, 북마크 요청 정보에 포함되는 현재 시점 정보에 기반하여 해당 영상 컨텐츠에서 장면을 추출하기 위한 연산(예: 프레임 분석, 프레임들 간 관계 분석 등)을 포함한다. 일 실시 예에 따르면, 장면 분석은 프레임들 간의 유사도를 이용하여 수행될 수 있다. 또한, 본 개시의 다른 실시예에 따르면, 장면 분석은 학습된 AI(Artificial Intelligence) 모델을 이용하여 수행될 수 있으며, 본 개시는 이에 한정되지 않는다. 보다 구체적인 장면 분석 방법은 도 11을 통해 후술된다.
S724 단계에서, 장면 분석을 완료한 인기구간 분석 서버(513)는 추천 북마크 정보를 서버(512)로 전송할 수 있다. S725 단계에서, 추천 북마크 정보를 수신한 서버(512)는 추천 북마크 정보를 단말(511)에 전송할 수 있다. 여기서, 추천 북마크 정보는 인기구간 분석 서버(513)에 의해 분석된 구간에 대한 정보를 포함할 수 있다. 구체적으로, 추천 북마크 정보는 영상 내에 존재하는 일부 구간의 시작 시점 및/또는 종료 시점에 대한 정보를 포함할 수 있다. 예를 들어, 추천 북마크 정보는 1)구간의 시작 시점 및 2)기간(구간의 시점과 종점의 차이)에 대한 정보를 포함할 수 있다. 여기서, 시작 시점 및 종료 시점은 시간 값, 프레임 번호 중 어느 하나를 이용하여 지시될 수 있다.
S726 단계에서, 추천 북마크 정보를 수신한 단말(511)은 추천 북마크 구간을 확인 및/또는 수정할 수 있다. 보다 구체적으로, 단말(511)은 추천 북마크 정보를 확인한 후, 서버(512)에 저장 요청할 수 있다. 이 경우, S728 단계에서, 서버(512)는 단말(511)의 저장 요청에 따라 북마크 정보를 개인 라이브러리에 저장할 수 있다. 이때, 구간에 관한 영상 데이터가 저장될 수 있다. 또는, 구간에 관한 영상 데이터가 아닌 영상의 시작 시점 및/또는 종료 시점에 관한 정보(즉, 북마크 정보)가 개인 라이브러리에 저장될 수도 있다. 이 경우, 시점에 대한 정보만 저장되기 때문에, 서버(512)의 저장 공간이 효율적으로 활용될 수 있을 것이다.
본 개시의 다른 실시예에 따르면, 단말(511)은 추천 북마크 정보를 확인한 후, 추천 북마크 정보에 따른 구간을 수정할 수 있다. 예를 들어, 단말(511)은 추천 북마크 정보에 따른 구간의 시작 시점 및/또는 종료 시점을 변경하는 수정을 할 수 있다. 이 경우, 단말(511)은 구간 수정 후 서버(512)에 저장 요청할 수 있다. 저장 요청을 수신한 서버(512)는 저장 요청에 대응하여 수정된 구간을 개인 라이브러리에 저장할 수 있다(S728). 이때, 구간에 관한 영상 데이터가 저장될 수 있다. 또는, 구간에 관한 영상 데이터가 아닌 영상의 시작 시점 및/또는 종료 시점에 관한 정보(즉, 북마크 정보)가 개인 라이브러리에 저장될 수도 있다. 이 경우, 시점에 대한 정보만 저장되기 때문에, 서버(512)의 저장 공간이 효율적으로 활용될 수 있을 것이다.
본 개시의 또 다른 실시예에 따르면, 인기구간 분석 서버(513)는 장면 분석을 수행한 후(S723), 추천 북마크 정보(장면 분석 북마크 정보)를 서버(512)로 전송하지 않고 바로 분석한 장면을 개인 라이브러리에 저장할 수도 있다.
본 개시의 다른 실시예에 따르면, 도 7의 서버(512)와 인기구간 분석 서버(513)는 같은 서버일 수 있다. 이 경우, 인기구간 분석 서버(513)는 단말(511)로부터 바로 북마크 요청 정보를 수신할 수 있다. 또한, 인기구간 분석 서버(513)는 단말(511)로 추천 북마크 정보를 바로 전송할 수도 있다.도 8은 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다. 도 8의 장면 분석 절차는 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 8을 참고하면, S801 단계에서, 서버(120)는 사용자 요청을 수신할 수 있다. 여기서, 사용자 요청은 북마크 생성 요청일 수 있다. 보다 구체적으로, 사용자가 현재 시청 중인 영상의 특정 시점(예. 현재 시점)에서 북마크 생성을 요청하면, 서버(120)는 특정 시점에 대한 정보를 포함한 북마크 요청 정보를 수신할 수 있다.
S802 단계에서, 서버(120)는 장면 분석을 수행할 수 있다. 여기서, 장면 분석은 프레임들 간의 유사도를 이용하여 수행될 수 있다. 여기서, 프레임들 간의 유사도는 프레임 내에 존재하는 픽셀값들의 유사도에 기반하여 판단될 수 있다. 또한, 본 개시의 다른 실시예에 따르면, 장면 분석은 학습된 AI(Artificial Intelligence) 알고리즘을 이용하여 수행될 수 있다. 예를 들어, 장면 분석은 SIFT(Scale Invariant Feature Transform) 알고리즘에 의해 수행될 수 있다. 여기서, SIFT는 이미지의 크기와 회전에 불변하는 특징점 및 디스크립터(Descriptor)를 추출하는 알고리즘으로, SIFT 특징점의 디스크립터 비교를 통해 프레임들 간의 유사도가 결정될 수 있다. 또한, SIFT 알고리즘의 대안으로 SURF(Speed Up Robust Features) 알고리즘이 이용될 수 있다. 또는, SIFT 알고리즘의 대안으로, ORB(Oriented and Rotated Binary Robust Independent Elementary Features) 알고리즘이 이용될 수 있다. 또는 SIFT 알고리즘의 대안으로 FAST(Features From Accelerated Segment Test)알고리즘이 이용될 수 있다. 또는, 특징점을 추출하기 위한 제 1 알고리즘과 디스크립터 추출을 위한 제 2 알고리즘이 이용될 수 있다. 이때, 제 1 알고리즘 및 제 2 알고리즘은 전술한 알고리즘 중 하나일 수 있으나, 이에 제한되지 않는다. 제 1 알고리즘 및 제 2 알고리즘은 상이할 수 있다.
또 다른 예로, 서버(120)는 특징점 추출 DNN(Deep Neural Network)을 이용하여 특징점을 추출하고, 추출된 특징점에 대한 다차원(예. 128차원)의 디스크립터(전술한 알고리즘들을 이용)를 생성하고, 디스크립터 비교를 통해 프레임 간 매칭점을 추출하고, 매칭점의 비율이 소정의 임계값 이하인 경우, 장면 전환을 검출할 수 있다. 이때, DNN은 프레임의 일부를 입력 데이터로 하여 특징점의 확률을 출력 데이터로 하는 뉴럴 네트워크일 수 있다.
본 개시에 따른 장면 분석의 결과 영상 내 일부 연속된 프레임들의 집합으로 구성된 장면이 추출될 수 있다. 보다 구체적인 장면 분석 방법은 도 11을 통해 후술한다.
S803 단계에서, 서버(120)는 장면 분석 결과 추출된 장면 정보를 전송할 수 있다. 여기서, 장면 정보는 서버(120)가 분석한 영상 내 특정 장면에 대한 정보를 포함할 수 있다. 보다 구체적으로, 장면 정보는 영상 내에 존재하는 특정 장면의 시작 시간 및/또는 종료 시간에 대한 정보를 포함할 수 있다. 본 개시에서, '장면 정보'는 '추천 북마크 정보' 또는 '장면 분석 북마크 정보'와 동일한 의미로 이해될 수 있다.
S804 단계에서, 서버(120)는 추출된 장면을 씬 라이브러리에 저장할 수 있다. 보다 구체적으로, 서버(120)는 S802 단계에서 추출된 장면을 씬 라이브러리에 저장할 수 있다. 분석된 장면을 씬 라이브러리에 저장함으로써, 서버(120)는 사용자의 취향, 선호도 등에 대한 정보를 수집할 수 있다. 이에 따라, 서버(120)는 사용자의 선호도에 맞게 영상을 추천할 수도 있다. 이때, 추출된 장면은 사용자의 저장 요청과 무관하게 씬 라이브러리에 저장될 수 있다. 즉, 서버(120)가 장면 분석을 완료하면 즉시 분석된 장면을 씬 라이브러리에 저장할 수 있다. 이 경우, 사용자는 분석된 장면을 추후에 수정할 수 있으며, 본 개시는 이에 한정되지 않는다.
도 9는 본 개시의 일 실시예에 따른 장면 분석 방법의 순서도를 도시한다. 도 9의 장면 분석 절차는 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 9를 참고하면, S901 단계에서, 서버(120)는 사용자 요청을 수신할 수 있다. 여기서, 사용자 요청은 북마크 생성 요청일 수 있다. 보다 구체적으로, 사용자가 현재 시청 중인 영상의 특정 시점에서 북마크 생성을 요청하면, 서버(120)는 특정 시점에 대한 정보를 포함한 북마크 요청 정보를 수신할 수 있다.
S902 단계에서, 서버(120)는 장면 분석을 수행할 수 있다. 여기서, 장면 분석은 프레임들 간의 유사도를 이용하여 수행될 수 있다. 또한, 본 개시의 다른 실시예에 따르면, 장면 분석은 학습된 AI(Artificial Intelligence) 모델을 이용하여 수행될 수 있으며, 본 개시는 이에 한정되지 않는다. 본 개시에 따른 장면 분석의 결과 영상 내 일부 연속된 프레임들의 집합으로 구성된 장면이 추출될 수 있다. 보다 구체적인 장면 분석 방법은 도 11을 통해 후술한다.
S903 단계에서, 서버(120)는 장면 분석 결과 추출된 장면 정보를 전송할 수 있다. 여기서, 장면 정보는 서버(120)가 분석한 영상 내의 특정 장면에 대한 정보를 포함할 수 있다. 보다 구체적으로, 장면 정보는 영상 내에 존재하는 특정 장면의 시작 시간 및/또는 종료 시간에 대한 정보를 포함할 수 있다. 본 개시에서, '장면 정보'는 '추천 북마크 정보' 또는 '장면 분석 북마크 정보'와 동일한 의미로 이해될 수 있다.
S904 단계에서, 서버(120)는 추출된 장면에 대한 저장 요청을 수신할 수 있다. 구체적으로, 서버(120)는 S902 단계에서 추출된 장면의 저장 여부에 대한 정보를 사용자로부터 수신할 수 있다. 이때, 사용자는 추출된 장면을 수정한 후 저장 요청을 할 수도 있다. 예를 들어, 사용자는 추출된 장면의 시작 시점 및/또는 종료 시점을 수정할 수 있다.
S905 단계에서, 서버(120)는 추출된 장면을 씬 라이브러리에 저장할 수 있다. 보다 구체적으로, 서버(120)는 S902 단계에서 추출된 장면을 사용자의 저장 요청에 따라 씬 라이브러리에 저장할 수 있다. 사용자의 저장 요청에 따라 추출된 장면을 씬 라이브러리에 저장함으로써, 서버(120)는 사용자의 취향, 선호도 등에 대한 정보를 수집할 수 있다. 이에 따라, 서버(120)는 사용자의 선호도에 맞게 영상을 추천할 수도 있다.
도 10은 본 개시의 일 실시예에 따른 씬 라이브러리 저장 실시예를 도시한다. 구체적으로, 사용자는 영상 시청 중 저장하고자 하는 특정 시점에서 영상 플레이어의 디스플레이에 표시된 북마크 버튼(1010)을 클릭할 수 있다. 이에 따라, 서버(120)는 사용자가 북마크 버튼(1010)을 클릭한 시점(이하, 제1 시점)의 정보를 이용하여 장면을 분석할 수 있다. 서버(120)는 영상 분석 결과로 추출된 장면에 대하여 사용자의 저장 요청과 무관하게 씬 라이브러리(1020)에 저장할 수 있다. 본 개시의 다른 실시예에 따르면, 서버(120)는 영상 분석 결과로 추출된 장면에 대하여 사용자의 저장 요청에 따라 씬 라이브러리(1020)에 저장할 수 있다.
사용자별 저장한 장면은 테마별로 분류(테마 레이블 기반)되어 디스플레이되거나, 타이틀별로 디스플레이될 수 있다. 사용자는 라이브러리에 저장된 장면별로 평점을 부여할 수 있고, 이에 따라, 평점 순으로 디스플레이될 수 있다. 이에 제한되지 않고, 조회수 순으로 장면들이 디스플레이될 수 있다. 또한, 사용자가 테마를 선택하면 해당 테마에 포함된 장면들이 연속 재생될 수 있다. 각 장면들은 사용자의 요청에 따라 이미지 파일(예. GIF 파일) 형태로 단말에 저장될 수 있다.
씬 라이브러리(1020)에는 사용자별 저장한 영상("나의 라이브러리")뿐 아니라, "실시간 인기 영상" 등을 포함할 수 있다. 실시간 인기 영상 등은 실시간으로 사용자들의 피드백을 이용한 랭킹 산정에 기초하여 씬 라이브러리(1020)에 디스플레이될 수 있다. 또한 씬 라이브러리(1020)에는 "테마별 영상"을 포함할 수 있다. 테마별 영상은 사용자의 취향 및 선호도(예. 사용자가 라이브러리에 저장한 영상의 테마 레이블) 등에 기초한 랭킹 산정에 의하여 씬 라이브러리(1020)에 디스플레이될 수 있다. 이때, "실시간 인기 영상" 및 "테마별 영상"에 디스플레이되는 미리보기 장면은 다양한 요소를 고려하여 결정된 하나의 대표 장면일 수 있다. 사용자가 해당 대표 장면을 선택하면, 해당 장면과 유사한 장면(즉, 같은 영상 내 구간을 달리하는 장면)들이 랭킹 산정에 의하여 디스플레이될 수 있으나, 이에 제한되지 않고, 대표장면만이 디스플레이될 수 있다.
씬 라이브러리(1020)에는 인기 크리에이터별 영상("인기 크리에이터 영상")을 포함할 수 있다. "인기 크리에이터 영상"에 디스플레이되는 장면은 씬 라이브러리의 총 조회수/피드백 수 또는 해당 크리에이터에 대한 관심도(팔로워수) 둥을 기초로 결정될 수 있다.
씬 라이브러리(1020)에 제공되는 미리보기 영상은 시점과 종점 내 I-프레임들만으로 동적으로 구성될 수 있다.
씬 라이브러리(1020)에 저장된 장면이 재생되는 경우, 장면 시점 및 종점을 나타내는 표시자가 디스플레이될 수 있고, 장면 외 구간을 나타내는 표시자가 함께 디스플레이될 수 있다. 장면 외 구간을 선택하는 경우, 사용자는 장면 외 구간의 영상을 시청할 수 있다. 이때, 시청 범위는 자동으로 전체 영상 범위로 변경될 수 있다. 다른 실시예에 의하면, 사용자가 해당 영상을 시청하는 경우에 자신의 라이브러리에 저장된 장면 부분이 별도로 표시자에 의해 표시될 수 있다.
씬 라이브러리(1020)의 장면들은 검색 기능을 이용하여 검색될 수 있다. 이 경우, 검색어와 장면의 메타데이터 간 유사도를 기반으로 장면들이 검색될 수 있고, 장면의 메타데이터는 해당 장면에 부여된 테마 레이블을 기반으로 미리 결정될 수 있다.도 11은 본 개시의 일 실시예에 따른 실시간 장면 분석 실시예를 도시한다. 도 11의 장면 분석은 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 11을 참고하면, 서버(120)는 북마크 요청 정보를 수신할 수 있다(S1110). 이때, 북마크 요청 정보는 사용자의 북마크 버튼 클릭에 의해 생성될 수 있다. 북마크 요청 정보는 제1 시점에 대한 정보를 포함할 수 있다. 북마크 요청 정보를 수신한 후, 서버(120)는 북마크 요청 정보에 포함된 정보를 이용하여, 제1 시점의 프레임(1101) 및 제1 시점을 기준으로 전/후의 프레임들(이하, 제1 프레임들)(1102, 1103)을 확인할 수 있다. 이후, 서버(120)는 각 프레임들(1101, 1102, 1103)을 비교할 수 있다. 각 프레임들(1101, 1102, 1103)의 비교는 프레임 간의 유사도를 기준으로 수행될 수 있다. 여기서, 프레임 간의 유사도는 각 프레임의 픽셀들 또는 픽셀 그룹들의 유사도에 기반하여 판단될 수 있다. 여기서, 픽셀 그룹은 복수의 픽셀을 포함하고, 예를 들어, 픽셀 그룹은 KxK(K는 1보다 큰 정수)의 블록일 수 있다.
제1 시점의 프레임(1101)과 제1 프레임들의 유사도를 비교한 결과, 유사도가 소정의 임계값보다 작은 경우, 각 프레임들(1101, 1102, 1103)은 서로 유사한 프레임으로 판단될 수 있다. 이 경우, 서버(120)는 다시 제1 프레임들에 인접한 제2 프레임들(1104, 1105)을 확인할 수 있다. 제2 프레임들을 확인한 후, 서버(120)는 제1 시점의 프레임(1101)과 제2 프레임들을 다시 비교할 수 있다. 제1 시점의 프레임(1101)과 제2 프레임들의 유사도를 비교한 결과, 유사도가 소정의 임계값보다 큰 경우, 각 프레임들(1101, 1104, 1105)은 서로 비유사한 프레임으로 판단될 수 있다. 이때, 서버(120)는 비유사한 프레임으로 판단된 시점을 기준으로 장면이 전환되었다고 판단할 수 있으며, 장면 전환 시점(1106, 1107)(또는 시점 직전/직후의 프레임)을 지시하는 정보를 북마크 정보로 저장할 수 있다. 본 개시에 따르면, 제1 시점을 기준으로 전/후의 장면 전환 시점 판단은 각각 독립적으로 수행될 수 있으며, 본 개시는 이에 한정되지 않는다. 또한, 본 개시에 따르면 장면 분석은 실시간으로 수행될 수 있다. 또한, 본 개시에 따른 소정의 임계값은 서버(120)가 임의로 정할 수 있으며, 본 개시는 이에 한정되지 않는다.
본 개시의 다른 실시예에 따르면, 서버(120)는 인기구간을 이용하여 장면 분석을 수행할 수 있다. 구체적으로, 서버(120)는 그래프로 표현된 인기구간(601)을 이용하여 피크(peak) 지점을 기준으로 장면 분석을 수행할 수 있다. 이 때, 일 예에 따르면, 피크 지점을 이용한 장면 분석은 소정의 수학식을 이용할 수 있으며, 본 개시는 이에 한정되지 않는다.
본 개시의 다른 실시예에 따르면, 서버(120)는 북마크 시점을 기준으로 일정 시간 전후로 장면 분석을 수행할 수 있다. 즉, 서버(120)는 장면 분석이 어려운 경우, 사용자 또는 서버(120)가 임의로 정한 단위 시간을 기준으로 장면을 자를 수 있다. 예를 들어, 제1 시점을 기준으로 한 장면 분석이 어려운 경우, 서버(120)는 제1 시점을 기준으로 R초 전 및 R초 후로 장면을 자를 수 있다. 여기서, R은 실수(real number)를 의미한다.
본 개시의 다른 실시예에 따르면, 장면 분석은 학습된 AI(Artificial Intelligence) 모델을 이용하여 수행될 수 있다. 즉, 서버(120)는 장면 전환 시점을 AI 모델을 이용하여 감지할 수 있다. 이때, AI 모델은 영상 및 해당 영상의 장면 전환 시점을 지시하는 정보를 이용하여 학습될 수 있다. 즉, AI 모델을 학습시키기 위하여, 학습 데이터로 특정 영상 및 특정 영상 내의 장면 전환 시점을 지시하는 정보가 이용될 수 있다. 이에 따라 만들어진 제1 알고리즘을 이용하여, 서버(120)는 정확한 장면 분석을 수행할 수 있다. 여기서, 장면 전환 시점을 지시하는 정보는 시간 값, 프레임 번호 중 어느 하나를 이용하여 지시될 수 있다.
또한, AI 모델의 학습은 영상 별로 부여된 테마 레이블(theme label)을 통해 수행될 수 있다. 즉, 서버(120)는 영상 내의 프레임별로 장면 테마를 인식하여 장면 전환 시점을 감지할 수 있다. 여기서, 테마 레이블은 특정 배우, 특정 액션(싸움, 키스, 연주 등), 특정 OST(Original Sound Track), 특정 BGM(background music), 특정 장소 등에 관한 분류 레이블일 수 있으며, 본 개시는 이에 한정되지 않는다. 본 개시에 따르면, AI 모델은 프레임별 부여된 테마 레이블을 이용하여 학습될 수 있다. 이에 따라 만들어진 제2 알고리즘을 이용하여, 서버(120)는 영상의 프레임 별로 테마 레이블을 부여할 수 있고, 부여한 테마 레이블을 이용하여 장면을 분석할 수 있다. 예를 들어, 제1 시점의 프레임이 특정 테마에 해당하는 경우, 서버(120)는 해당 프레임에 테마 레이블을 부여할 수 있다. 이후, 서버(120)는 제1 시점을 기준으로 전후 프레임의 테마 레이블을 판단할 수 있다. 이에 따라, 프레임 별 테마 레이블을 확인한 결과 특정 프레임에서 테마 레이블이 바뀌면 서버(120)는 해당 시점을 장면 전환 시점으로 판단할 수 있고, 이에 따라 장면을 분석할 수 있다.
본 개시의 일 실시예에 따르면, 서버(120)는 오디오 데이터를 이용하여 장면 분석을 할 수도 있다. 보다 정확한 장면 분석을 위해, 서버(120)는 해당 장면의 오디오 데이터를 이용하여 장면 전환 시점을 판단하고, 장면 분석을 수행할 수 있다. 구체적으로, 서버(120)는 제1 시점에 나오는 오디오 데이터가 끊기거나 바뀌는 시점을 장면 전환 시점으로 판단할 수 있다.
본 개시의 다른 실시예에 따르면, 서버(120)는 특정 배우, 특정 액션(예: 싸움, 키스, 연주 등), 특정 OST(Original Sound Track) 등을 이용하여 장면 분석을 할 수도 있다. 보다 정확한 장면 분석을 위해, AI 모델이 특정 배우가 나오는 시점, 특정 액션, 특정 OST가 나오는 시점을 인식하여 장면 전환 시점을 판단할 수 있으며, 이에 따라 장면 분석을 수행할 수 있다.
본 개시의 일 실시예에 따라, 오류로 인하여 제1 알고리즘을 이용한 장면 분석이 불가능한 경우, 서버(120)는 제2 알고리즘을 이용할 수 있으며, 알고리즘의 이용 순서는 바뀔 수 있다. 여기서, 오류는 장면 전환 시점이 아님에도 서버(120)가 장면 전환 시점으로 판단한 경우를 말하며, 본 개시는 이에 한정되지 않는다. 또한, 도 11의 프레임 간 유사도에 따른 장면 분석이 불가능한 경우에도 서버(120)는 장면 분석을 위해 제1 알고리즘, 제2 알고리즘, 오디오 데이터, 특정 배우, 특정 액션 또는 특정 OST 중 적어도 하나를 이용할 수 있으며, 본 개시에 따른 장면 분석 방법은 이에 한정되지 않는다.
도 12는 본 개시의 일 실시예에 따라 이미 추출된 장면을 저장하는 방법을 도시한다. 도 12의 이미 분석된 장면 저장은 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 12를 참고하면, 사용자는 영상 시청 중 저장하고자 하는 특정 시점에서 영상 플레이어의 디스플레이에 표시된 북마크(1201)를 클릭할 수 있다. 이때, 서버(120)는 북마크 버튼을 누른 시점(이하, 제2 시점)에 관한 정보(1202)를 확인할 수 있다. 제2 시점이 이미 분석된 대표 장면(1203)에 포함되는 경우, 서버(120)는 장면 분석의 필요 없이 바로 해당 대표 장면을 씬 라이브러리(1204)에 저장할 수 있다. 여기서, 대표 장면은 서버(120)에서 이미 분석되어 저장된 장면을 의미할 수 있다. 대표 장면은 여러 사용자들의 장면 저장 횟수, 조회수, 피드백(좋아요, 찜, 공유 등) 정보 등에 의해 선정될 수 있으며, 본 개시는 이에 한정되지 않는다. 보다 구체적인 대표 장면 추출 방법은 도 13을 참고하여 후술한다.
도 13은 본 개시의 일 실시예에 따른 대표 장면 추출 실시예를 도시한다. 도 13의 대표 장면 추출은 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 13을 참고하면, 서버(120)는 하나의 영상에서 사용자들이 북마크 생성 요청을 통해 저장한 장면들을 확인할 수 있다. 이때, 사용자들이 북마크 생성 요청을 통해 저장한 장면들을 유사 장면이라 칭할 수 있다. 이 때, 유사 장면들(1301)이 특정 시점에 집중되어 있는 경우, 서버(120)는 해당 시점에서 대표 장면(1302)을 선정함으로써 추출할 수 있다. 이때, 대표 장면(1302)을 선정하기 위하여 서버(120)는 중복되는 유사 장면의 개수를 이용할 수 있다. 즉, 서버(120)는 특정 시점에서 중복되는 유사 장면의 개수가 소정의 임계값 이상인 경우 해당 장면을 대표 장면으로 선정할 수 있다.
도 14는 본 개시의 일 실시예에 따른 장면 랭킹 산정 순서도를 도시한다. 도 14의 장면 랭킹 산정 방법은 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))에 의해 수행될 수 있다.
도 14를 참고하면, S1401 단계에서, 서버(120)는 씬 라이브러리에 저장된 장면의 테마 레이블(이하, 제1 테마 레이블)을 분석할 수 있다. 여기서, 씬 라이브러리에 저장된 장면은 사용자가 북마크 생성 요청을 한 결과 장면 분석을 통해 저장된 장면일 수 있다. 이에 따라, 서버(120)는 사용자에 의해 씬 라이브러리에 저장된 장면과 비슷한 종류의 장면들을 추천하고 랭킹 산정할 수 있다.
S1402 단계에서, 서버(120)는 서버(120)에 저장된 장면의 테마 레이블(이하, 제2 테마 레이블)을 분석할 수 있다. 여기서, 서버(120)에 저장된 장면은 본 개시에 따른 컨텐츠 스트리밍 시스템을 이용하는 다른 사용자들이 저장한 장면일 수 있으며, 본 개시는 이에 한정되지 않는다.
S1403 단계에서, 서버(120)는 랭킹 스코어(ranking score)를 부여할 수 있다. 구체적으로, 서버(120)는 제1 테마 레이블 및 제2 테마 레이블을 확인할 수 있다. 이후, 서버(120)는 S1401 단계 및 S1402 단계에서 분석한 제1 테마 레이블 및 제2 테마 레이블을 비교할 수 있다. 제1 테마 레이블과 제2 테마 레이블이 동일한 경우, 서버(120)는 해당 장면에 대해 랭킹 스코어를 부여할 수 있다. 하나의 장면에 테마 레이블은 복수 개일 수 있으며, 사용자의 씬 라이브러리에 저장된 장면과 테마 레이블이 중복될수록 해당 장면에 높은 랭킹 스코어가 부여될 수 있다. 예를 들어, 사용자의 씬 라이브러리에 저장된 장면과 비교 대상이 되는 장면에 같은 배우가 등장하면 서버(120)는 해당 장면에 랭킹 스코어 1점을 부여할 수 있다. 또한, 해당 장면에 같은 BGM이 쓰이는 경우 서버(120)는 해당 장면에 랭킹 스코어 1점을 부여할 수 있다. 이때, 랭킹 스코어로 부여하는 점수는 테마별로 다를 수 있으며, 본 개시는 이에 한정되지 않는다. 또한, 테마 레이블의 동일 여부에 기초하는 것에 제한되지 않고, 테마 레이블의 유사 여부에 기초하여 랭킹 스코어가 부여될 수 있다. 이 경우, 테마 레이블의 유사도에 대응하는 가중치를 기반으로 랭킹 스코어가 부여될 수 있다.
S1404 단계에서, 서버(120)는 랭킹 스코어를 합산할 수 있다. 구체적으로, 특정 장면에 대해 S1403 단계에서 부여한 랭킹 스코어들을 합산할 수 있다. 예를 들어, 서버(120)에 저장된 특정 장면과 사용자의 씬 라이브러리에 저장된 장면이 3개의 동일한 테마 레이블을 갖고 있는 경우, 서버(120)는 특정 장면에 부여된 랭킹 스코어를 합산하여 3점이라는 랭킹 스코어를 도출할 수 있다. 이때, 랭킹 스코어 점수는 테마 레이블 별로 달라질 수 있으며, 본 개시는 이에 한정되지 않는다.
S1405 단계에서, 서버(120)는 장면 랭킹을 산정할 수 있다. 구체적으로, S1404 단계에서 합산한 랭킹 스코어를 이용하여 장면 랭킹을 산정할 수 있다. 서버(120)는 장면별로 부여된 랭킹 스코어를 서로 비교함으로써 장면 랭킹을 산정할 수 있다. 랭킹 스코어가 클수록 해당 장면은 높은 랭킹에 해당할 수 있다. 이에 따라, 서버(120)는 랭킹 산정 결과를 이용하여 사용자의 씬 라이브러리에 랭킹 순위별로 장면을 디스플레이할 수 있다. 이러한 랭킹 산정을 통해, 서버(120)는 사용자 취향별로 장면 랭킹 산정이 가능하다.
본 개시의 다른 실시예에 따르면, 서버(120)는 실시간으로 사용자들의 피드백을 이용한 랭킹 산정이 가능하다. 이때, 사용자들의 피드백은 장면 저장 횟수, 좋아요 수, 찜 수, 조회수, 장면 공유 횟수 등을 의미한다. 구체적으로, 서버(120)는 사용자들의 피드백을 이용하여 서버(120)에 저장된 모든 장면들의 랭킹을 산정할 수 있으며, 산정된 랭킹 순위별로 씬 라이브러리에 디스플레이할 수 있다. 예를 들어, 피드백별 가중치를 부여하고, 가중합을 통해 장면의 랭킹 스코어가 산출되고, 산출된 랭킹 스코어를 기초로 랭킹이 산정될 수 있다.
본 개시의 다른 실시예에 따르면, 서버(120)는 장면의 테마 별로 랭킹 산정이 가능하다. 구체적으로, 서버(120)는 AI 모델을 이용하여 테마를 분류한 후 테마 별로 각각 랭킹을 산정할 수 있다. 이때, 랭킹은 테마 레이블 기반 랭킹 스코어 부여 방식 및/또는 사용자들의 피드백을 이용한 방식으로 산정될 수 있으며, 본 개시는 이에 한정되지 않는다.
도 15는 본 개시의 일 실시예에 따른 씬 라이브러리 공유 절차를 도시한다. 도 15의 서버(512)는 컨텐츠 스트리밍 시스템의 서버(예: 도 1의 서버(120))로 이해될 수 있다. 또한, 제1 사용자 단말 및 제2 사용자 단말은 컨텐츠 스트리밍 시스템의 클라이언트 장치(예: 도 1의 클라이언트 장치(110))로 이해될 수 있다.
도 15를 참고하면, S1521 단계에서, 제1 사용자 단말(1511)은 제2 사용자 단말(1512)로 공유 승인 신호를 송신할 수 있다. 여기서, 공유 승인 신호는 제1 사용자 단말(1511)의 씬 라이브러리에 저장된 장면을 제2 사용자 단말(1512)이 볼 수 있도록 승인하겠다는 의미를 포함하는 신호를 의미할 수 있다. 이에 따라 공유 승인 신호를 수신한 제2 사용자 단말(1512)은 서버(512)로 제1 사용자 단말의 씬 라이브러리로 접근할 수 있도록 요청할 수 있다(S1522). 이에 대응하여, 씬 라이브러리 접근 요청을 수신한 서버(512)는 제2 사용자 단말(1512)로 씬 라이브러리를 제공할 수 있다(S1523). 이때, 서버(512)가 제공하는 씬 라이브러리는 제1 사용자 단말(1511)에 존재하는 씬 라이브러리일 수 있다. 씬 라이브러리를 제공받은 제2 사용자 단말(1512)은 사용자가 해당 씬 라이브러리를 시청할 수 있도록 이를 디스플레이할 수 있다(S1524). 이러한 과정을 통해, 사용자들은 서로의 씬 라이브러리를 공유할 수 있다. 이때, 서버의 사용자 인증 절차를 거칠 수 있고, 인증된 사용자만 씬 라이브러리를 공유 받을 수 있으나, 이에 제한되지 않는다.
본 개시의 다른 실시예에 의하면, 제 1 사용자 단말(1511)은 서버(512)로 공유 승인 신호를 전송하고, 서버(512)는 제2 사용자 단말(1512)로 공유 승인 신호를 송신할 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
Claims (15)
- 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법에 있어서,
사용자의 북마크 생성 요청을 수신하는 단계;
상기 사용자의 북마크 생성 요청에 기반하여 장면을 분석하는 단계; 및
분석한 상기 장면을 씬(Scene) 라이브러리에 저장하는 단계;를 포함하는 방법.
- 제1항에 있어서,
상기 장면을 분석하는 단계는 장면의 전환 시점을 판단하는 단계를 포함하고,
상기 장면의 전환 시점은 프레임간 유사도에 기반하여 판단되는 것을 특징으로 하는 방법.
- 제2항에 있어서,
상기 프레임간 유사도는 프레임간 픽셀 또는 픽셀 그룹의 유사도에 더 기반하여 판단되는 방법.
- 제1항에 있어서,
상기 장면을 분석하는 단계는 학습된 AI(Artificial Intelligence) 모델을 이용하여 장면을 분석하는 단계를 더 포함하고,
상기 AI 모델은 영상 또는 장면 전환 시점 정보 중 적어도 하나를 이용하여 학습되는 방법.
- 제4항에 있어서,
상기 AI 모델은 프레임 별 대응하는 적어도 하나의 테마 레이블(theme label)을 이용하여 학습되는 방법.
- 제4항에 있어서,
재생시간 순으로 제 1 테마 레이블을 갖는 제 1 프레임에서 제 2 테마 레이블을 갖는 제 2 프레임으로 전환되는 경우, 상기 제 2 테마 레이블을 갖는 제 2 프레임이 장면 전환 시점의 프레임으로 판단되는 것을 특징으로 하는 방법.
- 제5항에 있어서,
상기 테마 레이블은 오디오 데이터, 특정 배우, 특정 액션, 특정 OST(Original Sound Track), 특정 BGM(Back Ground Music) 또는 특정 장소 중 적어도 하나에 기반하여 부여되는 방법.
- 제5항에 있어서,
씬 라이브러리에 저장된 장면의 제1 테마 레이블을 분석하는 단계;
서버에 저장되어 있는 장면들의 제2 테마 레이블을 분석하는 단계;
제1 테마 레이블과 제2 테마 레이블을 비교하여 서버에 저장되어 있는 장면에 랭킹 스코어를 부여하는 단계;
상기 서버에 저장되어 있는 장면에 부여된 상기 랭킹 스코어를 합산하는 단계; 및
합산된 상기 랭킹 스코어가 높은 장면 순으로 상기 서버에 저장되어 있는 장면을 디스플레이하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
인기 구간 요청을 단말로부터 수신하는 단계; 및
상기 인기 구간 요청을 기반으로 인기 구간 정보를 상기 단말로 전송하는 단계를 더 포함하고,
상기 북마크 생성 요청은 상기 인기 구간 정보를 기초로 생성되고,
상기 인기 구간 정보는 장면 누적 시청 횟수 또는 장면 저장 횟수 중 적어도 하나를 기초로 결정된 인기 구간에 관한 정보인 것을 특징으로 하는 방법.
- 제1항에 있어서,
장면 저장 횟수, 장면 조회수, 장면 피드백 정보 중 적어도 하나를 기반으로 적어도 하나의 대표 장면을 결정하는 단계;
상기 북마크 생성 요청에 기반하여 장면이 분석되지 않은 경우, 상기 북마크 생성 요청에 대응하는 대표 장면을 식별하는 단계: 및
상기 식별된 대표 장면을 씬(Scene) 라이브러리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제10항에 있어서,
상기 적어도 하나의 대표 장면을 결정하는 단계는,
북마크 생성 요청들을 통해 저장된 유사 장면들 중 중복된 유사 장면의 개수가 소정의 임계값 이상인 경우, 상기 대표 장면을 상기 중복된 유사 장면으로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,
분석한 상기 장면을 씬(Scene) 라이브러리에 저장하는 단계는,
분석한 상기 장면에 관한 정보를 단말로 전송하는 단계;
상기 단말로부터, 상기 장면의 시점 및 종점의 적어도 하나의 수정을 나타내는 사용자 입력에 기반한 저장 요청을 수신하는 단계; 및
상기 저장 요청에 기반한 장면을 상기 씬 라이브러리에 저장하는 단계를 포함하고,
상기 저장 요청은 분석된 상기 장면의 수정된 시점 및 종점 중 적어도 하나를 나타내는 정보를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서,
제1 사용자 단말에 기반한 공유 승인 신호를 수신한 제2 사용자 단말로부터, 씬 라이브러리 접근 요청을 수신하는 단계; 및
상기 씬 라이브러리 접근 요청에 따라, 제1 사용자 단말의 사용자와 관련된 상기 씬 라이브러리에 관한 정보를 상기 제2 사용자 단말로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 컨텐츠 스트리밍 시스템에서 장면을 저장하기 위한 방법에 있어서,
사용자의 북마크 생성 요청을 서버로 전송하는 단계;
상기 북마크 생성 요청에 기반하여 분석된 장면에 관한 정보를 상기 서버로부터 수신하는 단계; 및
상기 장면에 관한 정보를 기초로, 상기 장면을 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계를 포함하는 방법.
- 제14항에 있어서,
상기 장면에 관한 정보는 상기 장면의 전환 시점과 관련된 1)장면의 시점 및 2)상기 장면의 종점과 상기 시점 간 차이에 관한 정보를 포함하고,
상기 장면에 관한 정보를 기초로, 상기 장면을 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계는,
상기 장면에 관한 정보를 기초로, 장면의 시점과 종점 중 적어도 하나의 수정에 관한 사용자 입력을 수신하는 단계; 및
상기 사용자 입력을 기초로 씬 라이브러리에 저장하기 위한 요청을 상기 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220141540A KR20240060207A (ko) | 2022-10-28 | 2022-10-28 | 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 |
PCT/KR2023/015701 WO2024090851A1 (en) | 2022-10-28 | 2023-10-12 | Method and apparatus for scene analysis in content streaming system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220141540A KR20240060207A (ko) | 2022-10-28 | 2022-10-28 | 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240060207A true KR20240060207A (ko) | 2024-05-08 |
Family
ID=90831212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220141540A KR20240060207A (ko) | 2022-10-28 | 2022-10-28 | 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240060207A (ko) |
WO (1) | WO2024090851A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118397569B (zh) * | 2024-06-26 | 2024-09-27 | 杭州海康威视系统技术有限公司 | 监控点位与分析算法关联方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4146955B2 (ja) * | 1999-02-15 | 2008-09-10 | キヤノン株式会社 | 画像処理方法及び画像処理装置 |
US8051081B2 (en) * | 2008-08-15 | 2011-11-01 | At&T Intellectual Property I, L.P. | System and method for generating media bookmarks |
WO2011097254A1 (en) * | 2010-02-02 | 2011-08-11 | Kaleidescape, Inc. | Automatically bookmarking digital content |
US8799300B2 (en) * | 2011-02-10 | 2014-08-05 | Microsoft Corporation | Bookmarking segments of content |
US10452920B2 (en) * | 2017-10-31 | 2019-10-22 | Google Llc | Systems and methods for generating a summary storyboard from a plurality of image frames |
-
2022
- 2022-10-28 KR KR1020220141540A patent/KR20240060207A/ko unknown
-
2023
- 2023-10-12 WO PCT/KR2023/015701 patent/WO2024090851A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024090851A1 (en) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12079226B2 (en) | Approximate template matching for natural language queries | |
JP6735927B2 (ja) | ビデオコンテンツの要約処理 | |
CN107801096B (zh) | 视频播放的控制方法、装置、终端设备及存储介质 | |
US20170251262A1 (en) | System and Method for Segment Relevance Detection for Digital Content Using Multimodal Correlations | |
CN112464814A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US11509963B2 (en) | Systems and methods for deep recommendations using signature analysis | |
US11979641B2 (en) | Relevance-based search and discovery of media content | |
WO2013068884A1 (en) | System and method for granular tagging and searching multimedia content based on user reaction | |
US10638197B2 (en) | System and method for segment relevance detection for digital content using multimodal correlations | |
US9894414B2 (en) | Methods and systems for presenting content to a user based on the movement of the user | |
CN111095939A (zh) | 识别媒体项目的先前流传输部分以避免重复重放 | |
US10390110B2 (en) | Automatically and programmatically generating crowdsourced trailers | |
KR20240060207A (ko) | 컨텐츠 스트리밍 시스템에서 장면을 분석하는 방법 및 장치 | |
US20240340493A1 (en) | Systems and methods for increasing first user subscription | |
US20230412877A1 (en) | Systems and methods for recommending content items based on an identified posture | |
KR102711067B1 (ko) | 콘텐츠 스트리밍 시스템에서 콘텐츠를 인코딩하기 위한 방법 및 장치 | |
US20160105731A1 (en) | Systems and methods for identifying and acquiring information regarding remotely displayed video content | |
EP4066154A1 (en) | Systems and methods for deep recommendations using signature analysis | |
KR102704034B1 (ko) | 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치 | |
KR102615165B1 (ko) | 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치 | |
KR102615164B1 (ko) | 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치 | |
WO2024036979A1 (zh) | 一种多媒体资源播放方法及相关装置 | |
KR102708124B1 (ko) | 콘텐츠 스트리밍 시스템에서 콘텐츠를 검색하기 위한 방법 및 장치 | |
US11870833B2 (en) | Methods and systems for encoder parameter setting optimization | |
KR102605100B1 (ko) | 콘텐츠 스트리밍 시스템에서 콘텐츠를 검색하기 위한 방법 및 장치 |