KR102576636B1 - 기계 학습 기반 영상 스트림 제공 방법 및 장치 - Google Patents

기계 학습 기반 영상 스트림 제공 방법 및 장치 Download PDF

Info

Publication number
KR102576636B1
KR102576636B1 KR1020210036704A KR20210036704A KR102576636B1 KR 102576636 B1 KR102576636 B1 KR 102576636B1 KR 1020210036704 A KR1020210036704 A KR 1020210036704A KR 20210036704 A KR20210036704 A KR 20210036704A KR 102576636 B1 KR102576636 B1 KR 102576636B1
Authority
KR
South Korea
Prior art keywords
video stream
event
probability value
streaming
machine learning
Prior art date
Application number
KR1020210036704A
Other languages
English (en)
Other versions
KR20220131701A (ko
Inventor
안상일
이용제
박현우
신범준
염기훈
Original Assignee
하이퍼커넥트 유한책임회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 하이퍼커넥트 유한책임회사 filed Critical 하이퍼커넥트 유한책임회사
Priority to KR1020210036704A priority Critical patent/KR102576636B1/ko
Priority to US17/651,203 priority patent/US20220303621A1/en
Priority to JP2022037802A priority patent/JP2022146903A/ja
Priority to EP22162178.2A priority patent/EP4064711A1/en
Publication of KR20220131701A publication Critical patent/KR20220131701A/ko
Application granted granted Critical
Publication of KR102576636B1 publication Critical patent/KR102576636B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

다양한 실시예에 따른 전자 장치의 기계 학습 기반 영상 스트림 제공 방법은, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계; 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하는 단계; 및 상기 이벤트 검출에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함할 수 있다. 그 외 다른 실시예들이 가능하다.

Description

기계 학습 기반 영상 스트림 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING VIDEO STREAM BASED ON MACHINE LEARNING}
본 개시는 기계 학습을 기반으로 영상 스트림을 제공하는 방법 및 장치에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, 스마트폰, 태블릿 PC, 랩탑, 또는 웨어러블 장치 등 다양한 유형의 전자 장치가 널리 보급되고 있다. 또한 이와 함께 인터넷과 같은 통신 기술이 급속도로 발전함에 따라, 전자 장치를 이용한 다양한 서비스 중 하나로서 다자간 영상 통화 서비스 또는 실시간 개인 방송 서비스를 제공하는 플랫폼이 마련되는 추세이다.
선행문헌: 대한민국 공개특허공보 2017-0000752
선행문헌은 화상 통화와 같은 상황에서 사람과 컴퓨터 상의 인터렉션을 위해 인공 지능을 사용하는 방법에 대해서 개시하고 있다. 다만 특정 사용자의 의도에 대해 확인하고 이를 확정하여 대응하는 방법에 대해서만 개시하고 있을 뿐, 통화 내용을 분석하고 이에 대한 대응을 수행하는 방법에 대해서는 개시하지 못하고 있다.
이러한 다자간 영상 통화 서비스 또는 실시간 개인 방송 서비스를 제공하는 관리자는, 사용자로 하여금 건전한 서비스 환경을 제공받도록 하기 위하여, 각각의 영상에 유해한 요소들이 포함되어 있는지 여부를 감시하고, 부적절한 영상을 전송하는 사용자에게 제재를 가할 필요가 있다.
이와 관련하여 종래에는 영상 통화 또는 개인 방송에서 부적절한 영상을 전송하는 사용자에 대한 신고가 접수되면, 누적된 신고 횟수 등에 기초하여, 해당 사용자에게 제재를 가하는 수동적인 방식이 사용되었다.
그러나 이 경우 실시간 스트리밍으로 영상을 제공받는 사용자는 이미 부적절한 영상에 노출되어 불쾌감을 느낄 수 있으며, 신고를 하지 않고 서비스 사용을 종료하는 경우도 있을 수 있으므로, 보다 적극적인 방식으로 부적절한 영상의 발생을 차단하는 방안이 고려될 필요가 있다. 이를 위하여 관리자(예: 모니터링 에이전트)가 영상 통화 또는 개인 방송에 참여하여 전체 영상을 일일이 모니터링하는 방법을 고려할 수 있으나 이는 비효율적인 측면이 크고 실질적인 적용이 어려울 수 있다.
본 실시예가 해결하고자 하는 과제는, 적어도 하나의 모델(예: 기계 학습을 통해 학습된 학습 모델)을 이용하여 실시간으로 스트리밍 전송되는 영상 스트림에 유해한 요소가 포함되어 있는지 여부를 자동으로 식별하고 해당 영상 스트림의 전송을 제한할 수 있는 방법 및 장치를 제공하는데 있다.
본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 다양한 기술적 과제들이 유추될 수 있다.
다양한 실시예에 따른 전자 장치의 기계 학습 기반 영상 스트림 제공 방법은, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계; 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하는 단계; 및 상기 이벤트 검출에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함할 수 있다.
다양한 실시예에 따른 전자 장치의 영상 스트림 제공 방법은, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계; 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하는 단계; 및 상기 이벤트 검출에 대응하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍을 제한하는 단계를 포함할 수 있다.
다양한 실시예에 따른 전자 장치는, 통신 모듈; 데이터베이스; 및 프로세서를 포함하고, 상기 프로세서는, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하고, 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여, 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하고, 및 상기 이벤트 검출에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치는, 통신 모듈; 데이터베이스; 및 프로세서를 포함하고, 상기 프로세서는, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하고, 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여 이벤트 검출 여부를 확인하고, 및 상기 이벤트 검출에 대응하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍을 제한하도록 설정될 수 있다.
다양한 실시예에 따른 기계 학습 기반 영상 스트림 제공 방법을 전자 장치에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인 기록매체로서, 상기 기계 학습 기반 영상 스트림 제공 방법은, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계; 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하는 단계; 및 상기 이벤트 검출에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함할 수 있다.
다양한 실시예에 따른 영상 스트림 제공 방법을 전자 장치에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인 기록매체로서, 상기 영상 스트림 제공 방법은, 제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계; 상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 상기 소스 영상 스트림에 대한 이벤트 검출 여부를 확인하는 단계; 및 상기 이벤트 검출에 대응하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍을 제한하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
다양한 실시예에 따르면 적어도 하나의 모델(예: 기계 학습을 통해 학습된 학습 모델)을 이용하여 실시간 스트리밍 방식으로 전송되는 영상에 유해한 요소가 포함되어 있는지 여부를 효율적인 방식으로 자동 식별하고, 해당 영상 관련 스트리밍 전송을 제한함으로써, 실시간 개인 방송 또는 다자간 영상 통화와 관련된 건전한 서비스 환경을 제공할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1a는 본 개시의 다양한 실시예에 따른 네트워크 환경을 도시한 도면이다.
도 1b는 본 개시의 다양한 실시예에 따른 전자 장치의 구성 블록도이다.
도 1c는 본 개시의 다양한 실시예에 따른 서버의 구성 블록도이다.
도 2는 본 개시의 다양한 실시예에 따른 영상 스트림 제공 방법에 대한 개략적인 흐름도이다.
도 3은 본 개시의 다양한 실시예에 따른 영상 스트림 제공 방법에 대한 개략적인 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 장치의 기계 학습 기반 영상 스트림 제공 방법에 관한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 영상 스트림의 샘플링 방법을 설명하기 위한 도면이다.
실시예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 전자 장치"는 네트워크를 통해 서버나 타 전자 장치에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
본 명세서에 기재된 스트리밍(streaming)은, 실시간으로 영상(video)을 제작 및 전송하거나 이러한 영상을 시청할 수 있도록 제공되는 서비스로 커머셜 및 컨슈머 모델로 분류되는 개념에 해당할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1a는 본 개시의 다양한 실시예에 따른 네트워크 환경을 도시한 도면이다.
도 1a를 참조하면, 본 개시의 일 실시예에 따른 네트워크 환경(1)은, 적어도 하나의 전자 장치(110), 적어도 하나의 서버(120), 및 네트워크(50)를 포함할 수 있다. 도 1a에서는 네트워크 환경(1)의 일 예로서 4개의 전자 장치(110)들과 2개의 서버(120)들이 도시되었으나, 본 발명의 다양한 실시예에 따른 네트워크 환경(1)은 이러한 전자 장치(110)의 수나 서버(120)의 수에 한정되지 않으며, 이하의 실시예들이 적용될 수 있는 다양한 형태의 네트워크 환경이 포함될 수 있다.
전자 장치(110)는, 컴퓨터 장치로 구현되는 고정형 단말 또는 이동형 단말을 포함할 수 있다. 예를 들어, 전자 장치(110)는 스마트폰, 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC, 및 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 예시적으로, 도 1a에서는 특정 전자 장치(110)를 스마트폰의 형상으로 도시하였으나, 이는 실질적으로 무선 또는 유선의 통신 방식을 이용하여 네트워크(50)를 통해 다른 전자 장치(110) 및/또는 서버(120)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치에 해당할 수 있다.
한편, 본 개시의 다양한 실시예에 따르면, 전자 장치(110) 중 적어도 하나는, 영상 스트림을 생성하여 이를 스트리밍 전송 방식으로 서버(예: 미디어 서버) 또는 다른 전자 장치(예: 영상 시청자 장치)에 전송하는 영상 공급자 장치(예: 호스트 장치, 게스트 장치)에 해당할 수 있다. 또한, 전자 장치(110) 중 다른 적어도 하나는, 상기 영상 공급자 장치에 의해 생성된 영상 스트림을 수신하여 이를 디스플레이 및/또는 스피커를 통해 출력하는 영상 시청자 장치에 해당할 수 있다. 또 다른 실시예에 따르면, 전자 장치(110)는 특정 영상 공급자 장치에서 생성된 영상 스트림에 유해한 요소가 포함되어 있는지에 관한 이벤트 발생을 모니터링하는 모니터링 에이전트에 대응하는 장치에 해당할 수도 있다.
네트워크(50)는 전자 장치(110)와 서버(120), 전자 장치(110)와 다른 전자 장치(110), 또는 서버(120)와 다른 서버(120)를 연결하는 역할을 할 수 있다. 예를 들어, 네트워크(500)는 각 장치들이 서로 연결되어 패킷 데이터를 송수신할 수 있도록 접속 경로를 제공할 수 있다. 예를 들면, 네트워크(50)는 통신망(예: 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐 아니라, 각종 근거리 무선 통신 방식으로 구현될 수 있다. 예컨대, 네트워크(50)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 적어도 하나를 포함할 수 있다. 예컨대, 네트워크(50)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적 네트워크 중 적어도 하나를 포함하는 네트워크 토폴로지 중 임의의 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.
서버(120)는, 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있으며, 다양한 정보를 웹 페이지의 형식으로 구성하여 제공할 수 있다. 예컨대, 서버(120)는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 또는 소프트웨어를 지칭할 수 있다. 이외에도 서버(120)는 네트워크 서버 상에서 동작 가능한 일련의 응용 프로그램과, 내부에 구축된 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100)는, 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다. 예컨대 서버(120)는 다른 전자 장치(110) 또는 다른 서버(120)와 네트워크(50)를 통해 통신하며 명령, 코드, 파일, 또는 콘텐츠와 같은 각종 정보를 송수신하는 컴퓨터 장치(또는 복수의 컴퓨터 장치들)로 구현될 수 있다.
다양한 실시예에 따른 서버(120)는, 특정 영상 공급자(provider) 장치(예: 호스트 장치 또는 게스트 장치)로부터 생성된 영상을 스트리밍 방식으로 수신하고, 상기 수신된 영상 스트림을 다른 복수의 전자 장치들(예: 영상 시청자 장치)로 스트리밍 전송하는 미디어 서버를 포함할 수 있다. 예컨대 상기 미디어 서버는, 수신된 영상 스트림을 큐에 저장하였다가 이를 복수의 전자 장치들에게 스트리밍 방식으로 순차적으로 전송할 수 있다.
다른 예를 들면, 서버(120)는, 미디어 서버로부터 영상 스트림을 수신하는 복수의 전자 장치들 중 어느 하나에 해당하는 기계 학습 서버를 포함할 수 있다. 기계 학습 서버는, 기계 학습을 통해 학습된 적어도 하나의 학습 모델을 포함할 수 있으며, 상기 학습 모델을 이용하여 영상 스트림에 대한 이벤트 검출 여부를 확인할 수 있다. 예컨대 기계 학습 서버는, 전술한 학습 모델을 이용하여 특정 영상 스트림에서 이벤트가 검출된 것으로 판단할 경우, 상기 영상 스트림을 제공한 영상 공급자 장치로부터의 스트리밍 전송을 제한하거나, 상기 이벤트 검출 관련 정보를 API(application programming interface) 서버를 통해 모니터링 에이전트에 대응하는 장치로 전송하여 이벤트 검출 여부를 재확인할 수 있다.
예컨대, API 서버는, 상기 기계 학습 서버로부터 수신한 이벤트 검출 관련 정보를 모니터링 에이전트(관리자)에 대응하는 특정 전자 장치(110)에 제공할 수 있으며, 모니터링 에이전트는 수신된 정보에 기초하여 상기 영상 공급자에 대응하는 전자 장치에 의한 스트리밍 전송을 선택적으로 제한할 수 있다.
도 1b는 본 개시의 다양한 실시예에 따른 전자 장치의 구성 블록도이다.
전술한 바와 같이, 다양한 실시예에 따른 전자 장치(110)는, 실시간 개인 방송 서비스(또는, 다자간 영상 통화 서비스)를 이용하는 사용자 장치로서, 영상을 제공하는 영상 공급자 장치이거나 또는 영상을 수신하여 출력하는 영상 시청자 장치 중 어느 하나에 해당할 수 있다. 한편, 상기 전자 장치는, 전자 장치를 사용하는 사용자가 영상을 공급할지 아니면 다른 장치에 의해 제작된 영상을 시청할지를 결정하는 것에 대응하여, 상황에 따라 영상 공급자 장치가 되거나 영상 시청자 장치가 될 수 있음은 물론이다. 또한, 다양한 실시예에 따른 전자 장치(110)는 특정 영상 공급자 장치에 의해 생성된 영상 콘텐츠(예: 영상 스트림)와 관련된 이벤트 발생을 관리하는 모니터링 에이전트에 대응하는 장치로서 모니터링 에이전트 장치에 해당할 수도 있다.
이하 도 1b를 참조하면, 전자 장치(11)(예: 영상 공급자 장치, 영상 시청자 장치, 모니터링 에이전트 장치 등)는, 프로세서(111), 메모리(113), 통신 모듈(115), 입력 모듈(117) 및 출력 모듈(119) 중 적어도 하나를 포함할 수 있다.
예를 들면, 전자 장치(110)의 프로세서(111)는, 입력 모듈(117)에 포함된 카메라 및/또는 마이크를 이용하여 영상 콘텐츠를 생성할 수 있으며, 통신 모듈(115)을 이용하여 상기 생성한 영상 콘텐츠를 전송하거나 타 장치로부터 특정 정보(또는 콘텐츠)를 수신할 수 있다. 또한, 프로세서(111)는, 출력 모듈(119)에 포함된 디스플레이 및/또는 스피커를 이용하여 특정 영상 콘텐츠를 출력할 수 있고, 전자 장치(110)의 동작과 관련된 일련의 명령어나 소정의 데이터를 메모리(113)를 통해 저장하거나 인출할 수 있다.
도 1c는 본 개시의 다양한 실시예에 따른 서버의 구성 블록도이다.
도 1c를 참조하면, 서버(120)(예: 미디어 서버, 기계 학습 서버, API 서버 등)는, 프로세서(121), 데이터베이스(123), 및 통신 모듈(125) 중 적어도 하나를 포함할 수 있다.
예컨대, 서버(120)의 프로세서(121)는, 통신 모듈(125)을 이용하여 특정 장치로부터 수신한 소정의 영상 콘텐츠(예: 영상 스트림)를 다른 장치로 전달하거나, 수신한 영상에 기반하여 특정 이벤트를 검출할 수 있다. 상기 프로세서(121)는, 상기 이벤트의 검출에 기반하여, 영상 콘텐츠의 전송을 유지하거나 제한할 수 있으며, 특정 장치(예: 영상 공급자 장치)에 대한 평가 정보를 제공(예: 불량(abusive) 사용자로 등록)할 수도 있다. 예컨대, 상기 프로세서(121)는, 데이터베이스(123)에 미리 저장된, 적어도 하나의 모델(예: 기계 학습을 통해 학습된 적어도 하나의 학습 모델)을 이용하여, 소정의 영상 콘텐츠(예: 영상 스트림)에 대한 이벤트의 검출 여부를 확인할 수 있으며, 특정 영상 콘텐츠에 대해 이벤트가 검출되는 경우 상기 검출된 이벤트 관련 정보를 다른 장치(예: 모니터링 에이전트 장치)로 전송할 수 있다.
프로세서(121)는, 서버(120)에서 구현되는 다양한 기능들을 처리하기 위한 일련의 동작들을 수행할 수 있으며, 일 예로서 학습 데이터(예: 이벤트에 대응하는 것으로 확인된 영상 콘텐츠 정보)를 수신하고, 해당 학습 데이터를 이용하여 기계 학습을 통해 상기 학습 모델을 학습(train)시킬 수도 있다.
데이터베이스(123)는, 서버(120)의 소정의 저장 공간에 구현된 데이터 구조로서, 데이터의 저장, 검색, 삭제, 편집, 또는 추가 등의 기능을 처리하기 위한 필드 또는 구성요소들을 가질 수 있다. 예컨대, 데이터베이스(123)는, 상기 프로세서(121)와 전기적으로 연결되며, 프로세서(121)의 동작과 관련된 명령어들을 저장할 수 있다. 또한, 서버(120)에서 사용되는 다양한 데이터들(예: 학습 데이터, 기계 학습을 위한 명령어들, 확률 값과 관련된 임계 조건 정보, 프레임 샘플링 조건 관련 정보 등)을 저장할 수 있다.
도 2 및 도 3은 본 개시의 다양한 실시예에 따른 영상 스트림 제공 방법에 대한 개략적인 흐름도이다.
도 2를 참조하면, 다양한 실시예에 따른 영상 스트림 제공 방법은, 우선 단계 210에서, 제1 전자 장치(110a)(예: 영상 공급자 장치)에서 영상 스트림이 생성될 수 있다.
예컨대, 제1 전자 장치(110a)에 대응하는 영상 공급자(provider)는 실시간 개인 방송 서비스(또는, 다자간 영상 통화 서비스)를 이용하여 영상 스트림을 제공하고자 하는 사용자에 해당할 수 있다. 예를 들면, 상기 영상 공급자는, 제1 전자 장치(110a)에 포함된 소정의 입력 모듈(예컨대, 카메라, 마이크 등)을 이용하여 소정의 영상 스트림(또는, 영상 콘텐츠)을 생성할 수 있다. 상기 영상 스트림에는 이미지 데이터 및/또는 음성 데이터가 포함될 수 있다.
다음으로, 단계 220에서, 제1 전자 장치(110a)는 상기 생성한 영상 스트림을 실시간 스트리밍 방식으로 미디어 서버(120b)에 전송할 수 있다. 또한, 단계 230에서 미디어 서버(120b)는 상기 수신된 영상 스트림을 다시 복수의 다른 장치들(예: 영상 시청자 장치)로 전송할 수 있다. 이와 같이 미디어 서버(120b)는 영상 공급자 장치와 영상 시청자 장치 사이에서 영상 스트림을 중계하는 역할을 할 수 있다. 한편 일 실시 예에서 제1 전자 장치(110a)가 생성한 영상 스트림은 다른 장치들로 스트리밍 되는바, 이를 소스 스트림이라 부를 수 있다.
한편, 미디어 서버(120b)로부터 영상 스트림을 수신하는 복수의 다른 장치들은, 제3 전자 장치(110c)(예: 영상 시청자 장치)(들) 및 기계 학습 서버(120c)를 포함할 수 있다.
예를 들면, 제3 전자 장치(110c)에 대응하는 영상 시청자는, 실시간 개인 방송 서비스(또는, 다자간 영상 통화 서비스)를 이용하여 소정의 영상 스트림을 제공받는 사용자에 해당할 수 있다. 상기 영상 시청자는, 제3 전자 장치(110c)에 마련된 출력 모듈(예컨대, 디스플레이, 스피커 등)을 이용하여 출력되는 영상을 실시간으로 확인(시청)할 수 있다. 한편, 상기 제3 전자 장치(110c)는, 상기 미디어 서버(120b)로부터 수신되는 영상 스트림을 시청하는 복수의 영상 시청자들에 대응하는 복수의 영상 시청자 장치들을 의미할 수도 있다.
기계 학습 서버(120c)는, 제3 전자 장치(110c)(즉, 영상 시청자 장치)로 부적절한 영상이 제공되는 상황(이벤트)을 단시간 내에 검출하고, 이에 대한 조치를 취하기 위해 마련된 모니터링 장치에 해당할 수 있다. 상기 기계 학습 서버(120c)는, 상기 실시간 개인 방송 서비스(또는, 다자간 영상 통화 서비스)에 참여하여 영상 스트림을 생성하는 적어도 하나의 영상 공급자(예: 호스트, 게스트)(예: 제1 전자 장치(110a))로부터 각각의 영상 스트림을 실시간으로 수신하고, 각 영상 스트림에 대해 실시간으로 이벤트 검출 여부를 확인할 수 있다.
한편, 일 실시예에서 상기 미디어 서버(120b)는, 제1 전자 장치(110a)로부터 수신한 영상 스트림을 큐에 우선 보관(저장)하였다가, 소정의 처리 방식에 따라, 스트리밍 방식으로 상기 복수의 다른 장치들에게 제공할 수도 있다.
단계 240에서, 기계 학습 서버(120c)는 미디어 서버(120b)를 통해 전달 받은 영상 스트림에 대한 이벤트 검출 여부를 확인할 수 있다.
기계 학습 서버(120c)는, 기계 학습(machine learning)을 통해 학습된 적어도 하나의 학습 모델을 데이터베이스에 미리 저장하고 있을 수 있으며, 상기 학습 모델을 이용하여, 실시간으로 전달되는 영상 스트림에서 지정된 이벤트가 발생하는지 여부를 실시간으로 확인할 수 있다.
예를 들면, 기계 학습을 통해 학습된 학습 모델은, 적어도 둘 이상의 레이어(layer)를 포함하는 뉴럴 네트워크를 포함할 수 있다. 예컨대, 상기 기계 학습을 통해 학습된 학습 모델은, 입력 레이어, 출력 레이어, 및 적어도 하나의 은닉 레이어를 포함할 수 있다. 상기 학습 모델은, 적어도 하나의 영상 데이터 또는 음성 데이터를 정상적인 요소와 비정상적인 요소(예: 유해한 요소)로 구분한 학습 데이터를 이용하여 기 학습(learn)된 분류 모델(classification model)을 포함할 수 있다.
예컨대, 상기 학습 모델은, 임의의 영상 데이터 및/또는 음성 데이터로부터 소정의 특징점(features)을 추출하고, 추출된 특징점을 입력 데이터로 사용함으로써 상기 영상 데이터 및/또는 음성 데이터에 비정상적인 요소(예: 유해한 요소)가 포함되었는지 여부(즉, 이벤트의 검출 여부)를 확인할 수 있다.
한편, 상기 학습 모델은 상기 영상 데이터 및/또는 음성 데이터에 비정상적인 요소가 포함되었거나 포함되지 않았음을 나타내는 출력 데이터(예: 이벤트의 검출 여부와 관련된 분류 정보)와 관련하여, 해당 출력 데이터의 신뢰도와 관련된 확률 값을 더 제공할 수 있다.
일 실시예에 따르면, 기계 학습 서버(120c)는, 지정된 임계값(threshold value)보다 크거나 같은 확률 값으로 출력 데이터가 제공된 경우, 해당 출력 데이터를 기반으로 제1 전자 장치(110a)로부터의 영상 스트리밍 전송을 제한하는 방식으로 영상 스트림에 대한 모니터링 결과를 직접 반영할 수 있다.
또한, 기계 학습 서버(120c)는 상기 확률 값이 상기 미리 설정된 값보다 작은 경우, 상기 출력 데이터를 무시하거나, 또는 다른 장치(예: 제2 전자 장치(110b)로 이벤트 검출에 대한 재확인 요청을 전송할 수도 있다.
한편 다른 실시예에서, 임계값은 제1 임계값 및 제2 임계값을 포함할 수 있다. 예컨대 제2 임계 값이 제1 임계값보다 크며, 확률 값이 제1 임계값 이상 제2 임계값 미만일 경우, 기계 학습 서버(120c)는 제2 전자 장치(110b)에 이벤트 검출에 대한 재확인 요청을 하고, 제2 전자 장치(110b)의 응답을 기반으로 스트리밍을 제한할 수 있다. 또한, 확률 값이 제2 임계값 이상일 경우, 상기 기계 학습 서버(120c)는 상기 확률 값 획득에 대응하여 스트리밍을 직접 제한할 수 있다.
일 실시예에 따르면 기계 학습 서버(120c)는 확률 값이 상기 지정된 임계값(예: 제2 임계값)보다 크거나 같은 경우, 지정된 시간(예: 24 시간) 동안 제1 전자 장치(110a)로부터의 영상 스트림에 대한 이벤트 포함 여부에 대한 확인 동작을 중단할 수 있다. 예컨대 기계 학습 서버(120c)는 제1 전자 장치(110a)에 대응하는 사용자를 불량 사용자로 결정할 수 있으며, 상기 제1 전자 장치(110a)로부터 제공되는 영상 스트림에 대해서는 이벤트 검출 여부에 관한 확인 작업을 생략할 수 있다. 예컨대 기계 학습 서버(120c)는 이벤트 검출 시 확인한 사용자 식별 정보를 기반으로, 제1 전자 장치(110a)에 대응하는 사용자에 의해 생성되는 영상 스트림은, 상기 영상 스트림이 스트리밍되는 방송의 식별 정보와 관계없이, 지정된 시간 동안 스트리밍 전송을 제한할 수 있다. 다음으로, 단계 250에서, 기계 학습 서버(120c)는 상기 단계 240에서 소정의 이벤트 검출을 확인한 경우, 미디어 서버(120b)로 영상 스트림의 전송을 제한하기 위한 명령을 포함하는 이벤트 관련 정보를 전송할 수 있다.
미디어 서버(120b)는, 상기 기계 학습 서버(120c)로부터 이벤트 관련 정보(예: 영상 스트림 전송 제한 명령)를 수신함에 따라, 단계 260에서, 상기 이벤트에 대응하는 영상 스트림에 대한 제3 전자 장치(110c)로의 스트리밍 전송을 중단시킬 수 있다. 또한, 도시되지 않았지만 일 실시예에 따른 미디어 서버(120b)는 상기 제3 전자 장치(110c)에게로 제1 전자 장치(110a)로부터의 영상 스트림의 제공이 중단됨을 알리는 정보를 전송할 수도 있다. 한편 일 실시예에서, 제3 전자 장치(110c)로 스트리밍 되는 스트림을 타겟 스트림이라고 지칭할 수 있고, 타겟 스트림은 적어도 하나의 소스 스트림에 대응하는 영상을 포함할 수 있다. 일 예로서, 여러 소스 스트림을 병합하여 하나의 스트림을 생성할 수 있으며, 이를 통해 복수의 사용자가 하나의 스트림을 통해 방송을 수행할 수 있다. 실시예에서 이와 같은 경우에 타겟 스트림 중 이벤트가 검출된 소스 스트림에 대응하는 부분의 전송을 제한하는 방식으로 적어도 일부의 영상 스트림 제공을 중단할 수 있다. 또한 사용자 경험 향상을 위해 이와 같이 복수 개의 소스 스트림이 포함되는 방송 중 일부의 스트림에서 상기 이벤트가 검출될 경우, 해당 타겟 스트림에 포함된 소스 스트림에 대한 이벤트 검출 여부를 보다 빈번하게 판단할 수 있으며, 및/또는 이벤트 판단을 위한 임계값 설정을 변경함으로써 이벤트 판단을 보다 엄격하게 할 수 있다.
한편, 단계 270에서, 기계 학습 서버(120c)는 상기 검출된 이벤트에 대응하는 영상 스트림을 생성한 제1 전자 장치(110a) 측으로 해당 영상 스트림으로부터 이벤트가 검출되었다는 알림 정보 및 상기 영상 스트림의 스트리밍이 제한되었다는 알림 정보 중 적어도 하나를 제공할 수 있다. 다른 예로서, 도 2에 도시된 것과 달리, 상기 기계 학습 서버(120c)로부터 영상 스트림에 대한 이벤트 검출을 확인한 미디어 서버(120b)에서 상기 제1 전자 장치(110a)에게로 상기 이벤트 검출 알림 정보 및/또는 상기 영상 스트림의 스트리밍이 제한된다는 알림 정보를 기계 학습 서버(120c)를 대신하여 전송할 수도 있다.
또한, 기계 학습 서버(120c), 미디어 서버(120b), 또는 API 서버(120a) 중 어느 하나는, 상기 검출된 이벤트에 대응하는 영상 스트림을 생성한 제1 전자 장치(110a)에 대응하는 사용자(예: 영상 공급자)를 불량(abusive) 사용자로 등록하는 방식으로, 사용자의 이벤트 검출 이력을 관리할 수도 있다.
이상 도 2를 참조하여 설명한 일 실시예에 따른 영상 스트림 제공 방법은, 기계 학습 서버(120c)에서 특정 영상 스트림으로부터 소정의 이벤트를 검출한 경우 상기 이벤트 검출의 신뢰성 지표로서 제공되는 이벤트 검출 관련 확률 값이, 지정된 임계값(threshold value)보다 크거나 같은 경우에 한하여 적용되는 방법에 해당할 수 있다. 한편, 상기 이벤트 검출 관련 확률 값이 상기 지정된 임계값보다 작은 경우에는 도 3을 참조하여 후술하는 일 실시예에 따른 영상 스트림 제공 방법이 적용될 수 있다.
다른 실시예에 따른 영상 스트림 제공 방법은, 상기 이벤트 검출 관련 확률 값이 상기 지정된 임계값보다 크거나 같은 경우에는 도 2에 도시된 각 단계에 따라 영상 스트림을 제공할 수 있으며, 임계값보다 작은 경우에는, 상기 이벤트 검출 결과(즉, 출력 데이터)를 무시하거나, 또는 영상 시청자 장치(예: 제3 전자 장치(110c))에 상기 이벤트 검출과 관련된 신고 제안 정보를 제공할 수 있다.
또 다른 실시예에 따른 영상 스트림 제공 방법은, 상기 이벤트 검출 관련 확률 값이 상기 지정된 임계값보다 작은지 여부와 관계없이, 어느 때에나 도 3에 도시된 각 단계에 따라 영상 스트림을 제공할 수도 있다.
도 3을 참조하면, 다양한 실시예에 따른 영상 스트림 제공 방법은, 단계 310에서, 제1 전자 장치(110a)에 의해 생성된 영상 스트림이 단계 320에서 미디어 서버(120b)로 전송되고, 단계 330에서 상기 영상 스트림이 상기 미디어 서버(120b)로부터 복수의 다른 장치들(예: 기계 학습 서버(120c) 및 제3 전자 장치(110c))로 스트리밍 전송될 수 있다.
또한, 단계 340에서, 기계 학습 서버(120c)는, 기계 학습을 통해 학습된 학습 모델을 이용하여, 상기 수신된 영상 스트림에서 이벤트가 검출되는지 여부를 확인할 수 있다. 이상의 단계 310 내지 단계 340은 도 2를 참조하여 설명한 단계 210 내지 단계 240와 실질적으로 동일한 단계에 해당할 수 있다.
한편, 단계 340에서, 기계 학습 서버(120c)에 의해 상기 수신된 영상 스트림에 이벤트가 검출된 것으로 확인되면, 단계 350에서, 기계 학습 서버(120c)는 API 서버(120a)로 검출된 이벤트와 관련된 정보를 전송할 수 있다.
전술한 바와 같이 일 실시예에 따른 기계 학습 서버(120c)는, 단계 340에서, 이벤트의 검출을 확인한 경우, 해당 이벤트 검출과 관련된 확률 값이 지정된 임계값보다 작은지 여부에 기초하여, 다음의 단계를 수행할 수 있다. 예컨대, 기계 학습 서버(120c)는, 단계 350에서, 이벤트 검출과 관련된 확률 값이 지정된 임계값 미만인 경우에 한하여 상기 검출된 이벤트에 대응하는 영상 스트림 관련 정보, 즉 이벤트 관련 정보를 API 서버(120a)로 전송할 수 있다. 또한, 단계 360에서, API 서버(120a)는 제2 전자 장치(110b)로 상기 이벤트 관련 정보를 전송할 수 있다.
예컨대, 제2 전자 장치(110b)는, 모니터링 에이전트(예: 관리자)에 대응하는 전자 장치로서, 기계 학습 서버(120c)에서 일차적으로 확인한 특정 영상 스트림에 대한 이벤트 검출 여부를 재확인하기 위한 소정의 정보를 수신할 수 있다.
한편, 일 실시예에 따르면, 단계 360에서 상기 API 서버(120a)가 상기 이벤트 관련 정보를 전송하는 제2 전자 장치(110b)는, 하나 이상의 외부 장치들을 지칭할 수도 있다. 예를 들어, API 서버(120a)(또는, 기계학습 서버(120c))는 확률 값의 크기에 기초하여 이벤트 관련 정보를 전송할 외부 장치의 개수를 결정할 수 있다. 예컨대 이벤트 검출과 관련된 확률 값이 제1 임계값보다 크거나 같고 제2 임계값보다 작은 경우, API 서버(120a)는 단일의 외부 장치(예: 제1 외부 장치)로 상기 이벤트 관련 정보를 전송할 수 있다. 예컨대 이벤트 검출과 관련된 확률 값이 제1 임계값보다 작은 경우, API 서버(120a)는 둘 이상의 외부 장치(예: 제1 외부 장치 및 제2 외부 장치)로 상기 이벤트 관련 정보를 전송할 수 있다. 예컨대, 제1 외부 장치와 제2 외부 장치는 각각 서로 다른 모니터링 에이전트에 대응하는 전자 장치들에 해당할 수 있다.
즉, API 서버(120a)(또는, 기계학습 서버(120c))는 이벤트 관련 확률 값이 설정된 크기보다 작은 것에 기반하여 외부 장치(들)를 통해 이벤트 검출 여부를 재확인할 수 있으며, 확률 값의 크기에 기초하여 재확인(또는, 재검열) 횟수를 2회 이상으로 설정할 수 있다.
또한, 도시되지 않았지만, 일 실시예에 따르면 기계학습 서버(120c)는 제2 전자 장치(110b)(예: 제1 외부 장치 및 제2 외부 장치 중 적어도 하나)로부터 수신된 이벤트 검출 여부에 관한 재확인 결과 정보에 기반하여 학습 모델(learning model)을 추가적으로 학습시킬 수 있다. 일 실시예에 따르면, 단계 350 및 단계 360에서 전달되는 이벤트 검출과 관련된 정보는, 상기 이벤트가 검출된 영상 스트림과 관련하여, 해당 영상 스트림에서 이벤트가 발생한 시점에 대응하는 타임 스탬프(time stamp) 정보, 상기 이벤트가 식별된 영상 스트림 부분에 대응하는 프레임 정보, 상기 영상 스트림을 생성한 제1 전자 장치(110a)에 대응하는 사용자(예: 영상 공급자) 식별 정보, 및 상기 영상 스트림 관련 방송 식별 정보(예: stream ID 또는 방송 ID) 중 적어도 하나를 포함할 수 있다. 또한 일 실시예에서, 이벤트 검출과 관련된 특정 프레임(예: 제1 프레임 정보)이 확인되면, 해당 프레임의 적어도 하나의 이전 프레임 정보(예: 제2 프레임 정보) 및 적어도 하나의 이후 프레임 정보(예: 제3 프레임 정보)를 함께 제2 전자 장치(110b)에 전송하여, 이를 기반으로 제2 전자 장치(110b)가 해당 영상의 컨텍스트를 파악하는데 도움을 줄 수 있다.
예를 들면, 본 개시의 일 실시예에 따른 실시간 개인 방송 서비스(또는, 다자간 영상 통화 서비스)에서는, 하나의 방송에서 둘 이상의 제1 전자 장치(110a)들(예: 영상 공급자 장치들)로부터 생성된 복수의 영상 스트림들이 하나의 화면 내에 할당된 각 부분 영역들을 통해 동시에 제공될 수 있다.
예컨대, 특정 방송을 신규 생성하여, 생성한 방송을 통해영상 스트림을 제공하는 영상 공급자는 호스트에 해당할 수 있고, 이미 생성된 방송에 참여하여 영상 스트림을 제공하는 다른 영상 공급자는 게스트에 해당할 수 있다.
예컨대, 상기 실시간 개인 방송 서비스를 제공하는 관리자 장치(예: API 서버(120a) 또는 미디어 서버(120b))는, 특정 호스트에 대응하는 장치(호스트 장치)에 의해 신규 방송이 생성됨에 따라 상기 방송에 대응하는 방송 식별 정보(방송 ID)를 부여할 수 있다. 또한, 상기 관리자 장치는, 상기 호스트에 대응하는 장치로부터 제공되는 영상 스트림에 대하여 상기 영상 스트림에 대응하는 스트림 식별 정보(stream ID)를 부여할 수 있다. 한편, 특정 영상 공급자가 게스트로서 기 생성된 방송에 참여하여 영상 스트림을 제공하고자 하는 경우에도, 상기 관리자 장치는, 상기 게스트에 대응하는 장치로부터 제공되는 영상 스트림에 대한 스트림 식별 정보(stream ID)를 부여할 수 있다.
본 개시의 다양한 실시예에서, 제1 전자 장치(110a)는 호스트 장치 또는 게스트 장치 중 적어도 하나에 해당할 수 있다.
다시 단계 350 및 단계 360을 참조하면, 상기 기계 학습 서버(120c)는, 특정 영상 스트림에 대한 이벤트가 검출되는 경우, 해당 영상 스트림에 대응하는 스트림 식별 정보(stream ID)와 해당 영상 스트림이 제공된 방송의 방송 식별 정보(방송 ID) 중 적어도 하나를 확인할 수 있다. 예컨대 상기 정보는 단계 330에서 미디어 서버(120b)로부터 영상 스트림의 스트리밍 전송이 개시되는 시점에 상기 미디어 서버(120b)로부터 수신된 것일 수 있다.
한 실시예에 따르면, 단계 350에서, 기계 학습 서버(120c)는, API 서버(120a) 측으로, 식별된 이벤트에 대응하는 영상 스트림의 스트림 식별 정보(stream ID)를 제공하고, 단계 360에서 API 서버(120a)는 제2 전자 장치(110b)측으로 상기 스트림 식별 정보(stream ID)와 방송 식별 정보(방송 ID)를 각각 제공할 수 있다. 예컨대, API 서버(120a)는 상기 수신한 스트림 식별 정보(stream ID)에 기초하여 상기 스트림 식별 정보(stream ID)에 대응하는 방송 식별 정보(방송 ID)를 확인하고, 상기 확인된 방송 식별 정보(방송 ID)를 상기 스트림 식별 정보(stream ID)와 함께 제2 전자 장치(110b)로 전송할 수 있다.
한편, 도 3에 도시된 것과 달리, 일 실시예에 따른 영상 스트림 제공 방법에서는, 단계 350에서 기계 학습 서버(120c)로부터 API 서버(120a)로 이벤트 관련 정보를 전송하고 단계 360에서 다시 API 서버(120a)가 제2 전자 장치(110b)로 이벤트 관련 정보를 전송하는 대신, 기계 학습 서버(120c)에서 직접적으로 제2 전자 장치(110b) 측으로 이벤트 관련 정보를 전송할 수도 있다.
또한, 또 다른 실시예에 따른 영상 스트림 제공 방법에서는, 기계 학습 서버(120c)가 미디어 서버(120b)로 이벤트 검출 관련 정보를 전송하면, 상기 미디어 서버(120b)에서 API 서버(120a)(또는 제2 전자 장치(110b)로) 상기 이벤트 검출 관련 정보를 제공할 수도 있다.
다시 도 3을 참조하면, 단계 370에서, 제2 전자 장치(110b)(예: 모니터링 에이전트 장치)는, 수신된 이벤트 관련 정보에 기반하여, 기계 학습 서버(120c)에서 확인한 이벤트에 대응하는 영상 스트림의 적어도 일부의 콘텐츠 데이터를 출력하고, 상기 영상 스트림에서 이벤트가 검출되는지 여부를 재확인하기 위한 사용자(예: 모니터링 에이전트(관리자))의 입력을 수신할 수 있다.
단계 370에서, 상기 사용자 입력에 기초하여, 상기 영상 스트림에서 이벤트가 검출됨을 재확인하는 경우, 제2 전자 장치(110b)는 단계 380에서 상기 영상 스트림의 스트리밍 전송을 제한하는 명령을 포함하는 이벤트 관련 정보를 미디어 서버(120b)로 전송할 수 있으며, 단계 385에서 미디어 서버(120b)는 상기 영상 스트림의 전송을 중단할 수 있다.
또한, 단계 390에서, 일 실시예에 따른 제2 전자 장치(110b)는, 상기 영상 스트림에서의 이벤트 검출을 재확인하는 것에 대응하여, 제1 전자 장치(110a) 측으로도 이벤트 검출 및 영상 스트림의 전송 제한에 대한 알림 정보를 제공할 수 있다.
또한, 일 실시예에 따른 제2 전자 장치(110b)는 상기 제1 전자 장치(110a)에 대응하는 사용자(예: 영상 공급자)를 불량(abusive) 사용자로 등록하는 방식으로, 사용자의 이벤트 검출 이력을 관리할 수도 있다.
나아가, 도 3에 도시되지 않았지만, 일 실시예에 따른 제2 전자 장치(110b)는, 상기 영상 스트림에서 이벤트가 검출됨을 재확인한 경우, 상기 확인 결과와 관련된 데이터를 추가적인 학습 데이터로서 기계 학습 서버(120c)에 제공할 수 있으며, 기계 학습 서버(120c)는 상기 추가 학습 데이터에 기반하여 학습 모델을 기계 학습(train)시킬 수 있다.
도 4는 본 개시의 일 실시예에 따른 장치(예: 도 2의 기계 학습 서버(120c))의 기계 학습 기반 영상 스트림 제공 방법에 관한 흐름도이다.
도 4를 참조하면, 다양한 실시예에 따른 장치는, 단계 410에서, 제1 장치(예: 도 2의 제1 전자 장치(110a))로부터 생성되어 복수의 다른 장치들(예: 도 2의 제3 전자 장치(110c))로 스트리밍 전송되는 영상 스트림을 수신할 수 있다.
예컨대, 상기 제1 장치는, 영상 스트림을 생성하여 스트리밍 전송하는 영상 공급자 장치에 대응할 수 있으며, 상기 복수의 다른 장치들은, 상기 영상 스트림을 스트리밍 방식으로 수신하는 영상 시청자 장치에 대응하는 장치를 적어도 포함할 수 있다.
한편 상기 단계 410에서, 일 실시예에 따른 장치는, 제1 장치에서 생성된 영상 스트림을 상기 제1 장치로부터 직접 수신하거나, 상기 영상 스트림을 수신한 후 상기 장치 및 상기 복수의 다른 장치들로 전송하는 매개 장치(예컨대, 도 2의 미디어 서버(120b))를 통해 간접적으로 수신할 수도 있다.
단계 420에서, 상기 장치는, 기계 학습을 통해 학습된 적어도 하나의 학습 모델을 이용하여, 단계 410에서 실시간으로 수신하는 영상 스트림에서 소정의 이벤트가 검출되는지 여부를 확인할 수 있다.
다양한 실시예에 따르면, 상기 이벤트는, 욕 제스처, 모욕 제스처, 인종 차별 제스처, 성적 콘텐츠, 알몸 노출(nudity), 성기, 성행위, 비위생적 콘텐츠, 배설물, 배설 행위, 반사회적 콘텐츠, 반인륜적 콘텐츠, 기타 불법 행위, 범죄 행위, 폭력 행위, 학대 행위, 자해 행위, 무기, 마약, 반사회적 심볼, 혐오성 콘텐츠, 위협성 콘텐츠, 공포증 유발 콘텐츠, 또는 혈액 중 적어도 하나에 대응하는 영상(예: 이미지 데이터 및/또는 오디오 데이터)의 포함 여부에 관한 것일 수 있다. 일 실시예에 따른 장치는, 상기 이벤트를 복수의 이벤트 유형들로 구분하여 획득한 학습 데이터로 상기 학습 모델을 미리 학습시킬 수 있으며, 특정 영상 스트림이 상기 구분된 복수의 이벤트 유형들 중 적어도 하나에 해당하는지 여부를 확인하는 방식으로 구현될 수도 있다.
한편, 다양한 실시예에 따르면, 상기 학습 모델은, 딥 러닝(deep learning) 알고리즘을 이용하여 학습될 수 있다. 예컨대, 상기 학습 모델은, 심층 신경망(deep neural network,DNN), 합성곱 신경망(convolutional neural network, CNN), 순환 신경망(recurrent neural network, RNN), R-CNN(region-based convolutional neiural networks), 심층 신뢰 신경망(deep belief network, DBN), 또는 심층 큐 네트워크(deep Q-networks) 중 적어도 하나를 포함하는 알고리즘을 이용하여 학습될 수 있다.
한편 본 명세서에서는 기계 학습을 통해 학습된 학습 모델을 이용하여 이벤트를 검출하는 것으로 기재하였으나, 다양한 실시예에 따른 장치는, 다양한 방식의 로직 모델을 이용하여 영상 스트림을 제공하거나 영상 스트림의 스트리밍을 제한할 수 있다. 예를 들어, 다양한 실시예에 따른 장치는 본 명세서에서 기계 학습 모델을 이용하여 수행되는 것으로 설명한 각종 동작들 중 적어도 일부를 소정의 디시젼 트리로 구성된 모델을 통해 구현할 수 있다.
한편, 상기 단계 420에서, 다양한 실시예에 따른 장치는, 상기 이벤트 검출을 효율적으로 처리하기 위하여, 상기 제1 장치로부터 수신된 영상 스트림으로부터 지정된 조건에 따라 적어도 일부의 프레임을 샘플링하고 상기 샘플링된 적어도 일부의 데이터(예: 적어도 일부 프레임)에 기반하여 이벤트의 검출 여부를 확인할 수 있다.
도 5는 본 개시의 일 실시예에 따른 영상 스트림의 샘플링 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 장치는, 수신된 영상 스트림에 포함된 프레임들(422) 중 일부의 프레임(424)을 지정된 조건에 따라 샘플링할 수 있다. 예를 들면, 상기 장치는, 영상 스트림에 포함된 프레임들(422) 중 적어도 일부를 지정된 시간 단위마다 추출하여 샘플 프레임(424)을 획득하거나, 또는 상기 프레임들(422) 중 적어도 일부를 지정된 프레임 개수 단위마다 추출하여 샘플 프레임(424)을 획득할 수 있다.
다양한 실시예에 따르면, 장치는, 상기 샘플링 조건을 제어함에 따라, 장치의 연산 부하를 조절하거나 선택적으로 이벤트 검출의 정확도를 조절할 수 있다.
예컨대, 일 실시예에 따른 장치는, 영상 스트림을 제공하는 제1 장치(예: 영상 공급자 장치)에 대응하는 사용자 식별 정보에 기반하여, 상기 샘플링 조건을 제어할 수 있다. 예를 들면, 장치는, 특정 영상 공급자(예: 호스트, 게스트)의 기존 이벤트 발생 이력(또는, 누적 처벌 이력, 누적 신고 이력 등)에 기초하여, 상기 영상 공급자가 제공하는 영상 스트림에서 이벤트 검출 가능성이 높다고 판단되는 소정 기준에 부합하는 경우, 상기 영상 공급자에 대응하는 제1 장치로부터 제공되는 영상 스트림에 대해서는, 상대적으로 짧은 시간 주기 또는 작은 프레임 개수 주기로 프레임을 샘플링하도록 설정할 수 있다. 이와 반대로, 특정 영상 공급자가 다수의 방송 이력에도 불구하고 해당 영상 공급자로부터 제공된 영상 스트림에서의 이벤트 발생 이력이 없거나 현저히 적은 경우에는, 상기 영상 공급자에 대응하는 제1 장치로부터 제공되는 영상 스트림은 상대적으로 긴 시간 주기 또는 많은 프레임 개수 주기로 프레임을 샘플링하도록 설정할 수 있다.
다른 실시예에 따른 장치는, 상기 장치의 이벤트 검출과 관련된 연산량에 기반하여, 장치의 부하가 과도하게 큰 경우, 예컨대 이벤트 검출 여부를 확인해야 하는 영상 스트림의 수가 일시적으로 늘어난 경우, 상기 샘플링 조건을 짧은 시간 주기 또는 적은 수의 프레임 개수 주기마다 프레임을 샘플링하도록 설정하는 방식으로 연산 부하를 제어할 수 있다.
다시 도 4를 참조하면, 단계 430에서, 장치는, 단계 420에서의 이벤트 검출에 기반하여, 상기 이벤트가 검출된 영상 스트림에 대응하는 영상 공급자 장치인 제1 장치로부터의 영상 스트림 제공을 제한할 수 있다.
예컨대, 일 실시예에 따른 장치는, 상기 이벤트가 검출된 것으로 판단될 경우, 직접 상기 제1 장치로부터의 영상 스트림의 스트리밍 전송을 제한할 수 있다. 일 실시예에 따르면, 장치는, 상기 이벤트가 검출된 경우, 상기 이벤트가 검출된 소스 스트림에 대응하는 사용자가 설정된 시간 동안 방송을 수행하지 못하도록 차단하거나 상기 사용자에 의해 기 생성된 다른 소스 스트림의 스트리밍을 (각 스트리밍의 방송 식별 정보와 관계없이) 모두 제한하고, 상기 사용자에 의해 생성되는 소스 스트림에 대한 이벤트 검출 동작을 지정된 시간 동안 중단할 수도 있다.
한편 다른 실시예에 따른 장치는, 상기 장치(예: 장치에 저장된 기계 학습을 통해 학습된 학습 모델)에 의해 획득한 이벤트 검출 관련 확률 값에 기반하여, 해당 확률 값이 지정된 임계값 미만이면, 상기 장치가 바로 상기 제1 장치로부터의 스트리밍 전송을 제한하는 대신, 추가적으로 이벤트 검출 여부를 재확인하기 위하여, 상기 이벤트에 대응하는 영상 스트림 관련 정보를 제2 장치(예: 도 2의 제2 전자 장치(110b))(예: 모니터링 에이전트 장치)로 전송할 수 있다. 예컨대, 상기 장치는, 상기 이벤트에 대응하는 영상 스트림 관련 정보를, 모니터링 에이전트 장치로 직접 전달하거나, 또는 API 서버(예: 도 2의 API 서버(120a))를 통해 간접적으로 상기 모니터링 에이전트 장치에 상기 정보(영상 스트림 관련 정보)를 전달할 수 있다. 예컨대 상기 제2 장치는, 하나 이상의 외부 장치들을 포함할 수 있으며, 상기 하나 이상의 외부 장치들의 개수는 이벤트 검출 관련 확률 값의 크기에 기초하여 결정될 수 있다. 예를 들면, 상기 확률 값(예: 이벤트 검출의 신뢰도 관련 확률 값)이 제1 임계값(예: 0.8) 이상이고 제2 임계값(예: 0.95) 미만인 경우, 상기 장치는 하나의 외부 장치(예: 제1 모니터링 에이전트 장치)에 상기 정보를 전송하고 이벤트 검출 관련 결과 정보를 수신함으로써 이벤트 검출 여부를 재확인할 수 있다. 예를 들어 상기 확률 값이 제1 임계값(예: 0.8) 미만인 경우(또는, 제3 임계값(예: 0.3) 이상 제1 임계값(예: 0.8) 미만인 경우), 상기 장치는 서로 다른 두 개의 외부 장치(예: 제1 모니터링 에이전트 장치 및 제2 모니터링 에이전트 장치)에 각각 상기 정보를 전송하고 각각으로부터 이벤트 검출 관련 결과 정보를 수신하여 이벤트 검출 여부를 재확인할 수 있다. 예컨대, 장치는 상기 확률 값이 제3 임계값 미만인 경우 상기 정보를 3개 이상의 외부 장치에 전송하여 이벤트 검출 여부를 3회 이상 재확인할 수 있으며, 또는 상기 확률 값에 대응하는 이벤트 검출 관련 데이터를 무시할 수도 있다.
예컨대, 상기 장치는, 상기 이벤트에 대응하는 영상 스트림 관련 정보로서, 이벤트에 대응하는 타임 스태프 정보, 이벤트에 대응하는 프레임 정보, 제1 장치에 대응하는 사용자 식별 정보, 및 영상 스트림 관련 방송 식별 정보(예: 스트림 식별 정보(stream ID) 및/또는 방송 식별 정보(방송 ID)) 중 적어도 하나를 상기 제2 장치에 전송할 수 있다. 일 예에서, 장치는, 상기 이벤트에 대응하는 프레임 정보로서, 이벤트가 검출된 프레임뿐 아니라 상기 프레임의 직전 프레임(들)(및, 상기 프레임의 직후 프레임(들))을 함께 전달할 수 있다.
이에 따라, 상기 제2 장치는, 상기 영상 스트림에서 이벤트가 검출되는지 여부에 관한 사용자(관리자) 입력 정보를 수신할 수 있고, 이를 통해 상기 확률 값이 지정된 임계값 미만인 이벤트 검출 케이스에 대한 실제 이벤트 해당 여부를 확인할 수 있다. 또한, 상기 장치는, 제2 장치로부터 수신되는 이벤트 검출과 관련된 재확인 결과 정보를 기반으로 학습 모델(learning model)을 추가적으로 학습시킬 수도 있다.
한편, 본 개시의 다양한 실시예에 따르면, 장치는, 상기 확률 값과 비교되는 임계값을 지정함에 있어서, 상기 제1 장치에 대응하는 사용자 식별 정보에 기반하여 상기 제1 장치에 대응하는 사용자(영상 공급자)의 기존 이벤트 검출 이력이 존재하는 경우에는 상기 임계값을 상대적으로 큰 값으로 지정하여 보다 엄격한 기준으로 영상 스트림에 대한 이벤트 발생 여부를 식별할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
전술한 실시예들에 따른 전자 장치 또는 서버는, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (15)

  1. 전자 장치의 기계 학습 기반 영상 스트림 제공 방법에 있어서,
    제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계;
    상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여 상기 소스 영상 스트림에 대한 이벤트 검출 여부와 관련된 확률 값을 획득하는 단계; 및
    상기 확률 값에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함하고,
    상기 스트리밍 제한 여부를 결정하는 단계는,
    상기 확률 값이 지정된 임계값 미만인 경우,
    상기 이벤트에 대응하는 영상 스트림 관련 정보를 하나 이상의 외부 장치들로 전송하는 단계; 및
    상기 하나 이상의 외부 장치들로부터 획득된 정보에 기초하여 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 스트리밍 제한 여부를 결정하는 단계는,
    상기 확률 값이 상기 임계값 이상인 경우, 상기 확률 값의 획득에 대응하여 상기 소스 영상 스트림의 스트리밍을 제한하도록 결정하는 단계를 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  4. 제 1 항에 있어서,
    상기 확률 값이 상기 임계값 이상인 경우, 지정된 시간 동안 상기 제1 장치로부터의 소스 영상 스트림에 대한 이벤트 검출 여부의 확인을 중지하는 단계를 더 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 영상 스트림 관련 정보를 전송할 상기 외부 장치들의 개수는 상기 확률 값의 크기를 기반으로 결정되는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  7. 제 1 항에 있어서,
    상기 하나 이상의 외부 장치로부터 획득된 정보에 기반하여 상기 학습 모델을 추가 학습시키는 단계를 더 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  8. 제 1 항에 있어서,
    상기 임계값은, 상기 제1 장치에 대응하는 사용자 식별 정보에 기반하여 결정되는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  9. 제 1 항에 있어서,
    상기 하나 이상의 외부 장치들로 전송하는 단계는,
    상기 확률 값이 제1 임계값 이상이고 제2 임계값 미만인 경우, 상기 이벤트에 대응하는 영상 스트림 관련 정보를 제1 외부 장치에 전송하는 단계; 및
    상기 확률 값이 상기 제1 임계값 미만인 경우, 상기 이벤트에 대응하는 영상 스트림 관련 정보를 상기 제1 외부 장치 및 제2 외부 장치에 각각 전송하는 단계를 포함하고,
    상기 스트리밍 제한 여부를 결정하는 단계는,
    상기 확률 값이 상기 제2 임계값 이상인 경우, 상기 확률 값의 획득에 대응하여 상기 소스 영상 스트림의 스트리밍을 제한하는 단계를 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  10. 제 1 항에 있어서,
    상기 영상 스트림 관련 정보는,
    상기 이벤트 검출에 대응하는 제1 프레임 정보, 상기 이벤트 검출에 대응하는 상기 제1 프레임 이전의 적어도 하나의 제2 프레임 정보, 및 상기 이벤트 검출에 대응하는 상기 제1 프레임 이후의 적어도 하나의 제3 프레임 정보를 포함하는, 전자 장치의 기계 학습 기반 영상 스트림 제공 방법.
  11. 전자 장치에 있어서,
    통신 모듈;
    데이터베이스; 및
    프로세서를 포함하고, 상기 프로세서는,
    제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하고,
    상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여, 상기 소스 영상 스트림에 대한 이벤트 검출 여부와 관련된 확률 값을 획득하고, 및
    상기 확률 값에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하도록 설정되고,
    상기 스트리밍 제한 여부를 결정하기 위하여, 상기 프로세서는,
    상기 확률 값이 지정된 임계값 미만인 경우,
    상기 이벤트에 대응하는 영상 스트림 관련 정보를 하나 이상의 외부 장치들로 전송하고,
    상기 하나 이상의 외부 장치들로부터 획득된 정보에 기초하여 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하도록 설정된, 전자 장치.
  12. 삭제
  13. 삭제
  14. 제 11 항에 있어서,
    상기 프로세서는,
    상기 확률 값이 제1 임계값 이상이고 제2 임계값 미만인 경우, 상기 이벤트에 대응하는 영상 스트림 관련 정보를 제1 외부 장치에 전송하고,
    상기 확률 값이 상기 제1 임계값 미만인 경우, 상기 이벤트에 대응하는 영상 스트림 관련 정보를 상기 제1 외부 장치를 포함하는 복수의 외부 장치들에 전송하고,
    상기 확률 값이 상기 제2 임계값 이상인 경우, 상기 확률 값의 획득에 대응하여 상기 소스 영상 스트림의 스트리밍을 제한하도록 설정된, 전자 장치.
  15. 기계 학습 기반 영상 스트림 제공 방법을 전자 장치에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인 기록매체로서, 상기 기계 학습 기반 영상 스트림 제공 방법은,
    제1 장치로부터 적어도 하나의 다른 장치들로 스트리밍되는 소스 영상 스트림을 수신하는 단계;
    상기 소스 영상 스트림의 적어도 하나의 프레임에 기초하여, 기계 학습을 통해 학습된 학습 모델을 이용하여 상기 소스 영상 스트림에 대한 이벤트 검출 여부와 관련된 확률 값을 획득하는 단계; 및
    상기 확률 값에 기반하여 상기 제1 장치로부터의 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함하고,
    상기 스트리밍 제한 여부를 결정하는 단계는,
    상기 확률 값이 지정된 임계값 미만인 경우,
    상기 이벤트에 대응하는 영상 스트림 관련 정보를 하나 이상의 외부 장치들로 전송하는 단계; 및
    상기 하나 이상의 외부 장치들로부터 획득된 정보에 기초하여 상기 소스 영상 스트림의 스트리밍 제한 여부를 결정하는 단계를 포함하는, 비일시적 기록매체.
KR1020210036704A 2021-03-22 2021-03-22 기계 학습 기반 영상 스트림 제공 방법 및 장치 KR102576636B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210036704A KR102576636B1 (ko) 2021-03-22 2021-03-22 기계 학습 기반 영상 스트림 제공 방법 및 장치
US17/651,203 US20220303621A1 (en) 2021-03-22 2022-02-15 Method and Apparatus for Providing Video Stream Based on Machine Learning
JP2022037802A JP2022146903A (ja) 2021-03-22 2022-03-11 機械学習基盤の映像ストリーム提供方法および装置
EP22162178.2A EP4064711A1 (en) 2021-03-22 2022-03-15 Method and apparatus for providing video stream based on machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210036704A KR102576636B1 (ko) 2021-03-22 2021-03-22 기계 학습 기반 영상 스트림 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220131701A KR20220131701A (ko) 2022-09-29
KR102576636B1 true KR102576636B1 (ko) 2023-09-11

Family

ID=80781033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210036704A KR102576636B1 (ko) 2021-03-22 2021-03-22 기계 학습 기반 영상 스트림 제공 방법 및 장치

Country Status (4)

Country Link
US (1) US20220303621A1 (ko)
EP (1) EP4064711A1 (ko)
JP (1) JP2022146903A (ko)
KR (1) KR102576636B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11810343B2 (en) * 2021-05-11 2023-11-07 Asio Advanced Control Solutions Ltd Artificial intuition based visual data extraction for distributed systems
CN116363686B (zh) * 2023-06-02 2023-08-11 深圳大学 一种在线社交网络视频平台来源检测方法及其相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190122258A1 (en) 2017-10-23 2019-04-25 Adbank Inc. Detection system for identifying abuse and fraud using artificial intelligence across a peer-to-peer distributed content or payment networks
US20200154078A1 (en) 2017-05-27 2020-05-14 Hyperconnect, Inc. Video communication device and video communication method
KR102169073B1 (ko) 2019-09-30 2020-10-22 광운대학교 산학협력단 동영상 유해성 분석 결과 기반 실시간 스트리밍 차단 시스템 및 방법
KR102225100B1 (ko) 2020-10-29 2021-03-09 주식회사 지란지교데이터 인공지능을 이용한 dna 기반 음란 영상 차단 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510252B1 (en) * 2007-12-07 2013-08-13 Google, Inc. Classification of inappropriate video content using multi-scale features
KR101062672B1 (ko) * 2010-01-05 2011-09-06 (주)필링크 유해 동영상 검출장치 및 그 방법
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
US10528712B2 (en) * 2016-12-28 2020-01-07 Motorola Solutions, Inc. Detection of unauthorized user assistance of an electronic device based on the detection of spoken words
KR101932844B1 (ko) * 2017-04-17 2018-12-27 주식회사 하이퍼커넥트 영상 통화 장치, 영상 통화 방법 및 영상 통화 중개 방법
KR102104397B1 (ko) * 2017-12-05 2020-04-24 이원 유해물 관리 방법, 이를 실행하는 컴퓨팅 장치 및 컴퓨터 프로그램
US10791353B2 (en) * 2018-02-13 2020-09-29 Ernest Huang Systems and methods for content management of live or streaming broadcasts and video publishing systems
US20190373322A1 (en) * 2018-05-29 2019-12-05 Sony Interactive Entertainment LLC Interactive Video Content Delivery
US11430238B1 (en) * 2019-06-26 2022-08-30 Apple Inc. Generating a contextual information vector for improved scene understanding
WO2021150033A1 (en) * 2020-01-23 2021-07-29 Samsung Electronics Co., Ltd. Electronic device and controlling method of electronic device
US20220124407A1 (en) * 2020-10-21 2022-04-21 Plantronics, Inc. Content rated data stream filtering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200154078A1 (en) 2017-05-27 2020-05-14 Hyperconnect, Inc. Video communication device and video communication method
US20190122258A1 (en) 2017-10-23 2019-04-25 Adbank Inc. Detection system for identifying abuse and fraud using artificial intelligence across a peer-to-peer distributed content or payment networks
KR102169073B1 (ko) 2019-09-30 2020-10-22 광운대학교 산학협력단 동영상 유해성 분석 결과 기반 실시간 스트리밍 차단 시스템 및 방법
KR102225100B1 (ko) 2020-10-29 2021-03-09 주식회사 지란지교데이터 인공지능을 이용한 dna 기반 음란 영상 차단 방법 및 장치

Also Published As

Publication number Publication date
US20220303621A1 (en) 2022-09-22
EP4064711A1 (en) 2022-09-28
KR20220131701A (ko) 2022-09-29
JP2022146903A (ja) 2022-10-05

Similar Documents

Publication Publication Date Title
US11363452B2 (en) Systems and methods for real-time remote control of mobile applications
US10902842B2 (en) System and method for cognitive intervention on human interactions
KR102576636B1 (ko) 기계 학습 기반 영상 스트림 제공 방법 및 장치
US10313219B1 (en) Predictive intelligent processor balancing in streaming mobile communication device data processing
US10380867B2 (en) Alert management within a network based virtual collaborative space
US20130283330A1 (en) Architecture and system for group video distribution
CN111796997A (zh) 日志信息处理方法、装置和电子设备
US9800473B2 (en) Network based virtual collaborative problem solving space
CN112671897A (zh) 分布式系统的访问方法、装置、存储介质、设备和产品
US10373515B2 (en) System and method for cognitive intervention on human interactions
US20180198883A1 (en) Content Customization Based On Status With Network Operator
CN111913850A (zh) 数据异常检测方法、装置、设备和存储介质
US10721192B2 (en) Visual media file transmission method and user terminal
RU2669172C2 (ru) Способ и система мониторинга согласованности веб-сайта
CN115314426A (zh) 数据采集方法、系统、电子设备和存储介质
US20220229529A1 (en) Determining user engagement in content based on scrolling events
CN114297017A (zh) 异常处理方法、装置、电子设备和存储介质
CN107562599A (zh) 一种参数检测方法及装置
CN113033475A (zh) 目标对象追踪方法、相关装置及计算机程序产品
US10922091B2 (en) Distributed realtime edge-core analytics with feedback
US11902038B2 (en) Securing data presented during videoconferencing
EP4084443A2 (en) Method and apparatus for detecting live streaming jitter, device, and medium
US11310296B2 (en) Cognitive content multicasting based on user attentiveness
US20240078310A1 (en) Calendar-Based Device Security
US20220383089A1 (en) Intelligent meeting hosting using artificial intelligence algorithms

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant