KR20180071156A - 동영상을 필터링하는 방법 및 장치 - Google Patents

동영상을 필터링하는 방법 및 장치 Download PDF

Info

Publication number
KR20180071156A
KR20180071156A KR1020170131643A KR20170131643A KR20180071156A KR 20180071156 A KR20180071156 A KR 20180071156A KR 1020170131643 A KR1020170131643 A KR 1020170131643A KR 20170131643 A KR20170131643 A KR 20170131643A KR 20180071156 A KR20180071156 A KR 20180071156A
Authority
KR
South Korea
Prior art keywords
next frame
data
hazard
unit
frame
Prior art date
Application number
KR1020170131643A
Other languages
English (en)
Other versions
KR102384878B1 (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 US15/813,752 priority Critical patent/US10349126B2/en
Priority to CN201780086358.2A priority patent/CN110291794B/zh
Priority to EP23186994.2A priority patent/EP4280612A1/en
Priority to PCT/KR2017/012974 priority patent/WO2018117428A1/en
Priority to CN202110560400.8A priority patent/CN113411665B/zh
Priority to EP17883839.7A priority patent/EP3545685B1/en
Publication of KR20180071156A publication Critical patent/KR20180071156A/ko
Priority to US16/376,711 priority patent/US10631045B2/en
Priority to US16/843,400 priority patent/US11470385B2/en
Application granted granted Critical
Publication of KR102384878B1 publication Critical patent/KR102384878B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • 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
    • G06V20/47Detecting features for summarising video content
    • 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/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
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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
    • H04N21/4542Blocking scenes or portions of the received content, e.g. censoring scenes
    • 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
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • H04N21/45452Input to filtering algorithms, e.g. filtering a region of the image applied to an object-based stream, e.g. MPEG-4 streams
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 구체적으로, 디바이스가 동영상을 필터링하는 방법에 있어서, 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임(Current Frame) 이전의 이전 프레임들(Previous Frames) 중 적어도 하나를 선택하고, 선택된 이전 프레임에 관한 메타데이터를 생성하고, 생성된 메타데이터에 기초하여 현재 프레임이 재생된 이후에 디바이스에서 디스플레이될 적어도 하나의 다음 프레임(Next Frame)의 유해성을 예측하며, 예측된 유해성에 기초하여, 다음 프레임을 필터링하는 방법이 개시된다.

Description

동영상을 필터링하는 방법 및 장치 {METHOD AND APPARATUS FOR FILTERING VIDEO}
본 개시는 동영상을 필터링하는 방법 및 장치를 제공한다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
디바이스를 이용하여 동영상에 포함된 유해 영상을 필터링하는데도 딥 러닝이 이용될 수 있으며, 이에 따라 사용자가 시청을 원하지 않는 유해 영상을 효과적으로 필터링할 수 있는 딥 러닝 기술이 요구되고 있다.
동영상을 필터링하는 방법 및 장치를 제공하는데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 1 측면은, 상기 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임(Current Frame) 이전의 이전 프레임들(Previous Frames) 중 적어도 하나를 선택하는 단계; 상기 선택된 이전 프레임에 관한 메타데이터를 생성하는 단계; 상기 생성된 메타데이터에 기초하여, 상기 현재 프레임이 재생된 이후에 상기 디바이스에서 디스플레이될 적어도 하나의 다음 프레임(Next Frame)의 유해성을 예측하는 단계; 및 상기 예측된 유해성에 기초하여, 상기 다음 프레임을 필터링하는 단계;를 포함하는, 디바이스가 동영상을 필터링하는 방법을 제공할 수 있다.
본 개시의 2 측면은, 상기 동영상을 디스플레이하는 디스플레이; 적어도 하나의 프로그램이 저장되는 메모리; 및 상기 메모리에 저장된 상기 적어도 하나의 프로그램을 실행하는 프로세서를 포함하고, 상기 적어도 하나의 프로그램은, 상기 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임 이전의 이전 프레임들 중 적어도 하나를 선택하는 단계; 상기 선택된 이전 프레임에 관한 메타데이터를 생성하는 단계; 상기 생성된 메타데이터에 기초하여, 상기 현재 프레임이 재생된 이후에 상기 디바이스에서 디스플레이될 적어도 하나의 다음 프레임의 유해성을 예측하는 단계; 및 상기 예측된 유해성에 기초하여, 상기 다음 프레임을 필터링하는 단계;를 실행하는 명령어들을 포함하는, 디바이스를 제공할 수 있다.
본 개시의 3 측면은, 제 1측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
도 1은 일 실시예에 따른, 디바이스가 동영상을 필터링하는 예시를 설명하는 도면이다.
도 2는 일 실시예에 따른, 디바이스가 동영상을 필터링하는 방법의 흐름도이다.
도 3은 일 실시예에 따른, 이전 프레임들에 관한 메타데이터를 설명하는 도면이다.
도 4은 일 실시예에 따른, 유해성 수준과 필터링 수준을 비교하여 동영상을 필터링하는 예시를 설명하는 도면이다.
도 5a 내지 도 5c는 일 실시예에 따른, 필터링 수준을 설정하는 예시를 설명하는 도면이다.
도 6은 일 실시예에 따른, 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 비교하는 방법의 흐름도이다.
도 7은 일 실시예에 따른, 이전 프레임의 유해 영역에 관한 메타데이터를 생성하는 예시를 설명하는 도면이다.
도 8은 일 실시예에 따른, 메타데이터에 기초하여 다음 프레임을 필터링하는 예시를 설명하는 도면이다.
도 9 및 10은 일 실시예에 따른 디바이스의 블록도이다.
도 11은 일 실시예에 따른 제어부의 블록도이다.
도 12는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 13은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 14는 일 실시예에 따른 디바이스 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른, 디바이스가 동영상을 필터링하는 예시를 설명하는 도면이다.
도 1을 참조하면, 디바이스(10)는 디바이스(10)에서 재생 중인 동영상(110)에 포함된 프레임들 중에서, 유해 컨텐츠가 포함된 프레임을 필터링할 수 있다. 일 실시예에서, 디바이스(10)의 사용자는 어떤 종류의 유해 컨텐츠 (예를 들어, 폭력성, 선정성 및 공포성) 를 어느 수준으로 필터링할지 미리 설정할 수 있으며, 디바이스(10)는 필터링될 유해 컨텐츠의 종류 및 유해 컨텐츠의 종류 별 필터링 수준에 기초하여 현재 재생 중인 프레임이 재생된 이후에 디스플레이될 프레임의 유해성을 예측하여 필터링할 수 있다.
예를 들어, 사용자가 동영상(110)의 선정적인 장면을 시청하는 것을 원하지 않는 경우, 선정적인 장면이 쉽게 필터링될 수 있도록 사용자는 '선정성' 카테고리에 대한 필터링 수준을 낮게 설정할 수 있으며, 디바이스(10)는 현재 재생 중인 프레임이 재생된 이후에 디스플레이될 프레임이 선정적인 장면을 포함할 것으로 판단되는 경우, 디스플레이될 프레임을 필터링할 수 있다.
일 실시예에서 프레임을 필터링하는 것은 프레임에 포함된 유해 컨텐츠의 가시성을 낮추는 것으로서, 이미지 필터를 이용하여 프레임을 처리하는 것을 포함할 수 있다. 예를 들어, 디바이스(10)는 프레임 전체 영역 또는 유해 컨텐츠가 디스플레이되는 일부 영역을 흐리게(blur) 처리하거나 어둡게 처리함으로써 유해 컨텐츠가 포함된 프레임을 필터링할 수 있다.
한편, 일 실시예에서 동영상(110)에 포함된 프레임들은 디바이스(10)에서 현재 재생 중인 현재 프레임(Current Frame)(112), 현재 프레임(112) 이전에 디바이스(10)에서 디스플레이된 적어도 하나의 이전 프레임(Previous Frame)(111) 및 현재 프레임(112)이 재생된 이후에 디바이스(10)에서 디스플레이될 적어도 하나의 다음 프레임(Next Frame)(113)으로 구분될 수 있다. 그러나, 프레임들의 구분 기준은 이에 제한되지 않는다.
디바이스(10)는 이전 프레임들(111)을 분석함으로써, 현재 프레임(112)이 재생된 이후에 디바이스(10)에서 디스플레이될 다음 프레임(113)의 유해성을 예측할 수 있다. 일 실시예에서 유해성과 관련된 복수의 카테고리(121) 별로 다음 프레임(113)의 유해성이 예측될 수 있다. 예를 들어, 복수의 카테고리(121)는 '폭력성', '선정성' 및 '공포성'을 포함할 수 있으며, 디바이스(10)는 다음 프레임(113)의 유해성을 '폭력성', '선정성' 및 '공포성' 카테고리 별로 예측할 수 있다.
일 실시예에서, 디바이스(10)는 다음 프레임(113)의 예측된 유해성의 수준(미도시)이 기설정된 필터링 수준(120)을 비교함으로써 다음 프레임(113)을 필터링할 수 있다. 유해성 수준(미도시)은 다음 프레임(113)에 유해한 콘텐츠가 포함되어있는 정도를 나타내며, 예를 들어, 유해성 수준(미도시)은 0 내지 10 사이의 정수 값으로 설정될 수 있고, 다음 프레임(113)의 유해성이 가장 높다고 판단되는 경우 디바이스(10)는 다음 프레임(113)의 유해성 수준(미도시)을 10으로 예측할 수 있다. 또한, 필터링 수준(120)은 다음 프레임(113)에 어느 수준의 유해한 콘텐츠가 포함되었을 때 다음 프레임(113)을 필터링할 것인지를 나타내며, 유해성 수준(미도시)이 설정될 수 있는 값의 범위와 유사한 범위 내에서 필터링 수준(120)이 설정될 수 있다. 예를 들어, 유해성 수준(미도시)이 0 내지 10 사이의 정수 값으로 설정될 수 있는 경우, 필터링 수준(120) 역시 0 내지 10 사이의 정수 값으로 설정될 수 있다. 필터링 수준(12)이 7로 설정된 경우 유해성 수준(미도시)이 7 내지 10으로 결정되어야 다음 프레임(113)을 필터링하는 것을 의미할 수 있다.
한편, 일 실시예에서 다음 프레임(113)의 유해성이 복수의 카테고리(121) 별로 예측된 경우, 디바이스(10)는 동일한 카테고리에 대한 유해성 수준(미도시) 및 필터링 수준(120)을 비교함으로써 다음 프레임(113)을 필터링할 수 있다.
일 실시예에서, 디바이스(10)는 다음 프레임(113)의 예측된 유해성 수준(미도시)이 기설정된 필터링 수준(120) 이상인 경우, 디바이스(10)는 다음 프레임(113)을 필터링할 수 있다. 예를 들어, '선정성' 카테고리에 대한 다음 프레임(113)의 유해성 수준이 9로 예측되어, 8로 설정된 '선정성' 카테고리에 대한 필터링 수준(120)보다 높은 경우, 디바이스(10)는 다음 프레임(113)을 필터링할 수 있다.
디바이스(10)는, 예를 들어, 스마트폰, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 웨어러블 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(10)는, 전자 칠판, 터치 테이블 등과 같이 터치 입력을 수신할 수 있는 다양한 장치를 포함할 수 있다. 또한, 디바이스(10)는, 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지일 수 있다.
도 2는 일 실시예에 따른, 디바이스가 동영상을 필터링하는 방법의 흐름도이다.
단계 S210에서 디바이스(10)는 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임 이전의 이전 프레임들 중 적어도 하나를 선택할 수 있다. 일 실시예에서 디바이스(10)는 동영상에 포함된 인접한 이전 프레임들 간의 데이터 변화량에 기초하여, 유사성 있는 복수의 인접한 이전 프레임들을 선택할 수 있다. 한편, 디바이스(10)는 외부 디바이스 또는 서버로부터 동영상을 수신할 수 있다. 또한, 디바이스(10)는 디바이스(10)의 카메라 등을 통해 동영상을 입력 받을 수 있다.
단계 S220에서 디바이스(10)는 선택된 이전 프레임에 관한 메타데이터를 생성할 수 있다. 메타데이터는 다음 프레임의 유해성을 판단하기 위한 정보를 포함할 수 있다. 일 실시예에서 디바이스(10)는 선택된 이전 프레임에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 메타데이터를 생성할 수 있다.
예를 들어, 디바이스(10)는 선택된 이전 프레임의 영상 특징을 추출하고, 선택된 이전 프레임에 포함된 음성을 인식하고, 이전 프레임이 포함된 동영상의 시나리오 정보를 이용함으로써, 이전 프레임에 포함된 사람의 수, 사람의 성별, 사람의 동작, 사람의 표정, 사람의 감정 상태 및 피부색 노출 정도에 관한 정보를 메타데이터로서 생성할 수 있다. 그러나, 메타데이터의 종류는 이에 제한되지 않는다.
또한, 일 실시예에서 디바이스(10)는 선택된 이전 프레임의 일부 영역을 유해 컨텐츠가 포함된 유해 영역으로 결정할 수 있다. 디바이스(10)는 이전 프레임의 일부 영역인 유해 영역에 대한 메타데이터를 생성할 수 있다. 디바이스(10)는 선택된 이전 프레임의 유해 영역의 영상 특징을 추출함으로써 메타데이터를 생성할 수 있다.
단계 S230에서 디바이스(10)는 생성된 메타데이터에 기초하여, 현재 프레임이 재생된 이후에 디바이스에서 디스플레이될 적어도 하나의 다음 프레임의 유해성을 예측할 수 있다.
일 실시예에서 디바이스(10)는 유해성과 관련된 복수의 카테고리 별로 다음 프레임의 유해성을 예측할 수 있다. 예를 들어, 복수의 카테고리는 '폭력성', '선정성' 및 '공포성'을 포함할 수 있으며, 디바이스(10)는 다음 프레임의 유해성을 '폭력성', '선정성' 및 '공포성' 카테고리 별로 예측할 수 있다.
단계 S240에서 디바이스(10)는 예측된 유해성에 기초하여, 다음 프레임을 필터링할 수 있다. 일 실시예에서, 디바이스(10)는 다음 프레임의 예측된 유해성의 수준과 기설정된 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 또한, 다음 프레임의 유해성이 복수의 카테고리 별로 예측된 경우, 디바이스(10)는 동일한 카테고리에 대한 유해성 수준 및 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 일 실시예에서, 다음 프레임의 예측된 유해성 수준이 기설정된 필터링 수준 이상인 경우, 디바이스(10)는 다음 프레임을 필터링할 수 있다.
일 실시예에서 디바이스(10)는 이미지 필터를 이용하여 다음 프레임을 필터링할 수 있다. 예를 들어, 디바이스(10)는 다음 프레임의 전체 영역 또는 유해 컨텐츠가 디스플레이되는 일부 영역을 흐리게(blur) 처리하거나 어둡게 처리함으로써 다음 프레임을 필터링할 수 있다.
한편, 디바이스(10)는 필터링된 다음 프레임을 디바이스(10)에서 디스플레이할 수 있다. 또한, 디바이스(10)는 외부 디바이스 또는 외부 서버로 필터링된 다음 프레임을 전송할 수 있다.
도 3은 일 실시예에 따른, 이전 프레임들에 관한 메타데이터를 설명하는 도면이다.
도 3을 참조하면, 이전 프레임들(310)에 관한 메타데이터(320)는 다음 프레임의 유해성을 판단하기 위한 정보를 포함할 수 있다. 일 실시예에서 디바이스(10)는 선택된 이전 프레임에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 메타데이터(320)를 생성할 수 있다. 다만, 도 3에 도시된 메타데이터(320)는 설명의 편의상 제공된 것일 뿐이며, 디바이스(10)가 생성한 메타데이터(320)의 내용은 이에 제한되지 않는다.
한편, 디바이스(10)는 선택된 이전 프레임들(310)에 관한 메타데이터(320)를 생성하기 위해, 이전 프레임들(310)의 영상 특징을 추출하는 방법으로 자기상관(autocorrelation), SIFT(scale-invariant feature method) 및 SURF(speeded up robust features) 알고리즘을 이용할 수 있다. 또한, 디바이스(10)는 선택된 이전 프레임들(310)에 관한 메타데이터를 생성하기 위해 DTW (Dynamic Time Warping), HMM (hidden Markov modelling), Neural Network 등의 음성 인식 알고리즘을 사용할 수 있다. 또한, 디바이스(10)는 동영상에 관한 시나리오 및 대본 정보를 이용하여 메타데이터(320)를 생성할 수 있다. 그러나, 이에 제한 되지 않으며, 프레임에 포함된 영상 특징을 나타낼 수 있으며 영상 간의 속성을 구별하기 위하여 이용될 수 있는 데이터는 메타데이터에 포함될 수 있다.
일 실시예에서, 디바이스(10)는 이전 프레임들(310)의 영상 특징을 추출하고, 이전 프레임들(310)에 포함된 음성을 인식하고, 이전 프레임들(310)이 포함된 동영상의 시나리오 정보를 이용함으로써, 이전 프레임들(310)에 포함된 사람의 수, 사람의 성별, 사람의 동작, 사람의 표정, 사람의 감정 상태 및 피부색 노출 정도에 관한 정보를 메타데이터로서 생성할 수 있다.
예를 들어, 이전 프레임들(310)이 샤워하려고 준비하는 장면을 나타내는 경우, 디바이스(10)는 이전 프레임들(310)에 관한 메타데이터(320)로서, '성별, 인원수: 여자 1명, 피부색 노출 정도: 75%, 동작: 옷을 벗는 중, 기분: 행복, 음성 정보: "따뜻하다", 시나리오 정보: 샤워하는 장면'를 생성할 수 있다.
한편, 일 실시예에서 디바이스(10)는 이전 프레임들(310)의 일부 영역을 유해 컨텐츠가 포함된 유해 영역(311)으로 결정할 수 있다. 디바이스(10)는 유해 영역(311)의 유해성을 판단하기 위한 메타데이터(320)를 생성할 수 있다.
도 4은 일 실시예에 따른, 유해성 수준과 필터링 수준을 비교하여 동영상을 필터링하는 예시를 설명하는 도면이다.
도 4을 참조하면, 디바이스(10)에서 재생된 프레임(410)은 이전 프레임들(411a) 및 현재 재생 중인 현재 프레임(412)을 포함할 수 있다.
디바이스(10)는 현재 프레임(412) 이전의 이전 프레임들(411a) 중 적어도 하나를 선택할 수 있다. 일 실시예에서 디바이스(10)는 인접한 이전 프레임들(411a) 간의 데이터 변화량에 기초하여, 유사성 있는 복수의 인접한 이전 프레임들(411b)을 선택할 수 있다.
디바이스(10)는 선택된 이전 프레임들(411b)에 관한 메타데이터(420)를 생성할 수 있다. 일 실시예에서 디바이스(10)는 선택된 이전 프레임들(411b)에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 메타데이터(420)를 생성할 수 있다.
디바이스(10)는 선택된 이전 프레임들(411b)의 영상 특징을 추출함으로써, 이전 프레임에 포함된 사람의 수, 사람의 성별, 사람의 동작, 사람의 표정 및 피부색 노출 정도에 관한 정보를 메타데이터로서 생성할 수 있다. 예를 들어, 디바이스(10)는 선택된 이전 프레임들(411b)에 관한 메타데이터(420)로서, '여자 1명, 피부색 노출 정도 80%, 샤워하는 중, 행복한 표정'이란 정보를 생성할 수 있다.
디바이스(10)는 생성된 메타데이터(420)에 기초하여, 적어도 하나의 다음 프레임(413)의 유해성을 예측할 수 있다. 일 실시예에서 디바이스(10)는 유해성과 관련된 복수의 카테고리(431) 별로 다음 프레임(413)의 유해성을 예측할 수 있다. 일 실시예에서, 복수의 카테고리(431)는 '폭력성', '선정성' 및 '공포성'을 포함할 수 있으며, 디바이스(10)는 다음 프레임(413)의 유해성을 '폭력성', '선정성' 및 '공포성' 카테고리 별로 예측할 수 있다. 예를 들어, 선택된 이전 프레임들(411b)에 관한 메타데이터(420)가 '여자 1명, 피부색 노출 정도 80%, 샤워하는 중, 행복한 표정'으로서, 선정성을 나타내는 정보를 포함하고 있으나 폭력적이거나 공포스러움을 나타내는 정보를 포함하고 있지는 않은 경우, 디바이스(10)는 다음 프레임(413)의 유해성의 수준을 카테고리 별로 '폭력성:0, 선정성: 8, 공포성: 3'으로 예측할 수 있다.
디바이스(10)는 예측된 유해성 수준(430)과 기설정된 필터링 수준(440)을 비교함으로써 다음 프레임(413)을 필터링할지 여부를 결정할 수 있다. 일 실시예에서 다음 프레임(413)의 유해성이 복수의 카테고리(431) 별로 예측된 경우, 디바이스(10)는 동일한 카테고리에 대한 유해성 수준(430) 및 필터링 수준(440)을 비교함으로써 다음 프레임(413)을 필터링할 수 있다. 예를 들어, '선정성' 카테고리에 대한 다음 프레임(413)의 유해성 수준(430)이 8로 예측되고, '선정성' 카테고리에 대한 필터링 수준(440)이 3으로 설정된 경우라면, 유해성 수준(430)이 필터링 수준(440)을 넘어섰으므로 디바이스(10)는 다음 프레임(413)을 필터링할 수 있다.
한편, 디바이스(10)는 사용자 입력에 기초하여 기설정된 유해성 관련 카테고리 이외에 새로운 카테고리를 추가할 수 있다. 유해성을 예측하는 카테고리가 새롭게 추가된 경우, 디바이스(10)는 새롭게 추가된 카테고리에 대한 다음 프레임(413)의 유해성 수준(430) 및 필터링 수준(34)을 비교함으로써 다음 프레임(413)을 필터링할 수 있다.
또한, 디바이스(10)는 사용자 입력에 기초하여 카테고리 별로 필터링 수준(440)을 변경할 수 있다. 일 실시예에서 특정 카테고리의 필터링 수준(440)이 사용자 입력에 의해 변경된 경우, 디바이스(10)는 특정 카테고리의 유해성 수준(430) 및 변경된 필터링 수준(440)을 비교함으로써 다음 프레임(413)을 필터링할 수 있다.
디바이스(10)는 다음 프레임(413)에 대한 예측된 유해성 수준(430)과 기설정된 필터링 수준(440)을 비교함으로써, 다음 프레임(413)을 필터링할 수 있다. 예를 들어, 디바이스(10)는 다음 프레임(413)의 전체 영역을 흐리게 처리함으로써 다음 프레임(413)을 필터링할 수 있다.
한편, 일 실시예에서 디바이스(10)는 기설정된 수만큼의 다음 프레임들을 필터링할 수 있다. 예를 들어, 디바이스(10)는 기설정된 수만큼의 다음 프레임들을 흐리게 처리함으로써 다음 프레임들을 필터링할 수 있다.
도 5a 내지 도 5c는 일 실시예에 따른, 필터링 수준을 설정하는 예시를 설명하는 도면이다.
도 5a 내지 도 5c를 참조하면, 디바이스(10)는 다음 프레임의 유해성을 예측하기 위해 카테고리를 설정하는 GUI(510a, 410b 및 520)를 제공할 수 있다.
도 5a를 참조하면, 디바이스(10)는 다음 프레임의 유해성을 예측하기 위해 유해성의 카테고리를 설정하기 위한 사용자 입력(511)을 GUI(510a)를 통해 수신할 수 있다.
도 5b를 참조하면, 디바이스(10)는 유해성의 카테고리를 설정하기 위한 사용자 입력(511)에 대응하여 GUI(520)를 제공할 수 있다. 일 실시예에서 디바이스(10)는 기설정된 카테고리들 및 새롭게 추가할 수 있는 카테고리의 목록을 GUI(520)를 통해 제공할 수 있다. 예를 들어, 기설정된 카테고리들인 '폭력성', '선정성' 및 '공포성' 카테고리 이외에, 디바이스(10)는 '혈흔'이라는 새로운 카테고리를 GUI(520)를 통해 제공할 수 있다.
일 실시예에서 디바이스(10)는 '혈흔' 카테고리를 새롭게 추가하는 사용자 입력(521)을 수신할 수 있다. 한편, 일 실시예에서 디바이스(10)는 유해성을 예측하는 기설정된 카테고리들을 제외하는 사용자 입력(미도시)을 GUI(520)를 통해 수신할 수 있다.
도 5c를 참조하면, 디바이스(10)는 카테고리를 새롭게 추가하는 사용자 입력(521)에 대응하여 GUI(410b)를 제공할 수 있다. 예를 들어, 디바이스(10)는 '혈흔' 카테고리를 새롭게 추가하는 사용자 입력(521)에 대응하여, '혈흔' 카테고리(512)를 유해성을 예측하기 위한 카테고리에 추가할 수 있다. 디바이스(10)는 기설정된 '폭력성', '선정성' 및 '공포성' 카테고리와 새롭게 추가된 '혈흔' 카테고리(512)의 목록을 GUI(410b)를 통해 제공할 수 있다.
또한, 디바이스(10)는 사용자 입력(513)에 기초하여 카테고리의 기설정된 필터링 수준을 변경할 수 있다. 예를 들어, 디바이스(10)는 '폭력성' 카테고리의 필터링 수준을 '5'에서 '0'으로 변경하는 사용자 입력(513)을 수신할 수 있다.
한편, 디바이스(10)는 새롭게 추가된 카테고리에 대한 다음 프레임의 유해성 수준 및 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 또한, 디바이스(10)는 특정 카테고리의 변경된 필터링 수준 및 특정 카테고리의 유해성 수준을 비교함으로써 다음 프레임을 필터링할 수 있다.
도 6은 일 실시예에 따른, 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 비교하는 방법의 흐름도이다.
단계 S602에서 디바이스(10)는 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 비교할 수 있다. 일 실시예에서 디바이스(10)는 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 비교할 때, 유해성과 관련된 복수의 카테고리 별로 비교할 수 있다. 예를 들어, 디바이스(10)는 '선정성' 카테고리에 대한 다음 프레임의 예측된 유해성 수준 및 '선정성' 카테고리에 대한 기설정된 필터링 수준을 비교할 수 있다.
한편, 다음 프레임의 예측된 유해성 수준은 카테고리 별로 상이할 수 있으며, 기설정된 필터링 수준 또한 카테고리 별로 상이할 수 있다. 예를 들어, 사용자가 동영상의 선정적인 장면을 시청하는 것을 원하지 않는 경우, 사용자는 '선정성' 카테고리에 대한 필터링 수준을 낮게 설정할 수 있으며, '폭력성' 및 '공포성' 카테고리에 대한 필터링 수준은 높게 설정할 수 있다.
또한, 이전 프레임들을 이용하여 생성한 메타데이터에 기초하여 다음 프레임에 대한 유해성 수준이 결정될 수 있다. 예를 들어, 생성된 메타데이터로서 '여자 1명, 피부색 노출 정도 80%, 샤워하는 중, 행복한 표정'이란 정보가 생성된 경우, 디바이스(10)는 다음 프레임에 대한 '선정성' 카테고리의 유해성 수준은 높게 결정하고, '폭력성' 및 '공포성' 카테고리에 대한 유해성 수준은 낮게 설정할 수 있다.
단계 S604에서 디바이스(10)는 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높은지 판단할 수 있다. 디바이스(10)에서 재생될 다음 프레임의 유해성 수준 예측 결과, '선정성' 카테고리의 유해성 수준이 '선정성' 카테고리의 필터링 수준보다 높은 경우, 단계 S608로 진행할 수 있따. 또한, 예측된 '선정성' 카테고리의 유해성 수준이 '선정성' 카테고리의 필터링 수준보다 높지 않은 경우, 단계 S606으로 진행할 수 있다.
한편, 단계 S604에서, 디바이스(10)는 2개 이상의 카테고리들에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높거나, 임의로 조합된 카테고리들에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높은지 판단할 수 있다. 예를 들어, 디바이스(10)는 '폭력성' 및 '공포성' 카테고리 모두 대한 유해성 수준이 필터링 수준보다 높은 경우에 다음 프레임을 필터링할 수 있다.
단계 S604에서의 판단 결과, 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높지 않다고 판단된 경우, 단계 S606으로 진행하여 디바이스(10)는 다음 프레임을 필터링하지 않을 수 있다.
단계 S604에서의 판단 결과, 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높다고 판단된 경우, 단계 S608로 진행하여 디바이스(10)는 다음 프레임을 필터링할 수 있다.
도 7은 일 실시예에 따른, 이전 프레임의 유해 영역에 관한 메타데이터를 생성하는 예시를 설명하는 도면이다.
이하에서 도 4와 중복되는 내용은 편의상 생략하기로 한다.
도 7을 참조하면, 디바이스(10)는 선택된 이전 프레임들(711)의 일부 영역을 유해 컨텐츠가 포함된 유해 영역(710a)으로 결정할 수 있다. 일 실시예에서 디바이스(10)는 선택된 이전 프레임들(711)의 영상 특징을 추출함으로써, 선택된 이전 프레임들(711)의 일부 영역을 유해 컨텐츠가 포함된 유해 영역(710a)으로 결정할 수 있다.
또한, 유해성과 관련된 복수의 카테고리가 설정된 경우, 디바이스(10)는 복수의 카테고리가 나타내는 유해 컨텐츠가 포함된 이전 프레임들(711)의 일부 영역을 유해 영역(710a)으로 결정할 수 있다. 예를 들어, 복수의 카테고리로서 '선정성' 및 '공포성' 카테고리가 설정된 경우, 디바이스(10)는 '선정성' 및 '공포성'과 연관된 유해 컨텐츠가 포함된 이전 프레임들(711)의 일부 영역을 유해 영역(710a)으로 결정할 수 있다. 한편, 디바이스(10)는 설정된 복수의 카테고리들의 종류에 따라 유해 컨텐츠가 포함되어있다고 인정되는 유해 영역(710a)을 상이하게 결정할 수 있다.
디바이스(10)는 다음 프레임(713)에 대한 유해성을 예측하기 위해, 이전 프레임들(711)의 전체 영역에 대한 메타데이터가 아닌, 유해 영역(710a)에 대한 메타데이터(720)를 생성할 수 있다. 디바이스(10)는 생성된 메타데이터(720)에 기초하여 다음 프레임(713)에 대응하는 유해 영역(710b)의 유해성 수준(730)을 예측할 수 있으며, 예측된 유해성 수준(730)과 필터링 수준(740)을 비교할 수 있다. 일 실시예에서 디바이스(10)는 동일한 카테고리에 대한 예측된 유해성 수준(730) 및 필터링 수준(740)을 비교할 수 있다.
한편, 다음 프레임(713)에 대응하는 유해 영역(710b)에 대한 예측된 유해성 수준(730)이 필터링 수준(740)보다 높은 경우, 디바이스(10)는 다음 프레임(713) 전체를 필터링하거나, 다음 프레임(713)에 대응하는 유해 영역(710b)을 필터링할 수 있다. 예를 들어, 디바이스(10)는 다음 프레임(713)의 전체 영역 또는 유해 영역(710b)을 흐리게 처리하거나 어둡게 처리함으로써 다음 프레임(713)을 필터링할 수 있다.
도 8은 일 실시예에 따른, 메타데이터에 기초하여 다음 프레임을 필터링하는 예시를 설명하는 도면이다.
상술한 내용과 중복되는 내용은 생략하기로 한다.
도 8을 참조하면, 일 실시예에서 디바이스(10)에 재생되는 동영상에는 잔인한 내용이 포함된 제 1 프레임 그룹(810) 및 선정적인 내용이 포함된 제 2 프레임 그룹(820)이 포함될 수 있다. 제 1 및 제 2 프레임 그룹 (810 및 820) 은 동영상에 포함된 인접한 이전 프레임들 간의 데이터 변화량에 기초하여 선택된, 유사성 있는 복수의 인접한 이전 프레임들일 수 있다. 한편, '선정성' 카테고리에 대한 필터링 수준(830)은 낮게 설정되고, '폭력성' 및 '공포성' 카테고리에 대한 필터링 수준(830)은 높게 설정될 수 있다. 예를 들어, 필터링 수준(830)의 각 카테고리는 0 내지 10의 정수 값으로 설정될 수 있는 경우, 필터링 수준(830)은 '폭력성: 10, 선정성: 3, 공포성: 10'으로 설정될 수 있다. 이 경우 '선정성' 카테고리의 유해성 수준(813 및 823)이 3 내지 10으로 결정되거나, '폭력성' 및 '공포성' 카테고리의 유해성 수준(813 및 823)이 10으로 결정되어야 다음 프레임(814 및 824)을 필터링하는 것을 의미할 수 있다.
일 실시예에서 디바이스(10)는 제 1 프레임 그룹(810)에 포함된 제 1 이전 프레임들(811)에 관한 제 1 메타데이터(812)를 생성할 수 있다. 또한, 디바이스(10)는 제 2 프레임 그룹(820)에 포함된 제 2 이전 프레임들(821)에 관한 제 2 메타데이터(822)를 생성할 수 있다.
예를 들어, 잔인한 내용이 포함된 제 1 이전 프레임들(811)에 관한 제 1 메타데이터(812)로서, '성별, 인원수: 여자 2명, 남자 1명, 피부색 노출 정도: 15%, 동작: 남자가 여자의 머리를 잡고 있음, 기분: 남자-화남, 여자-두려움, 음성 정보: 남자-“말해!” 여자- “살려주세요"' 등의 정보가 생성될 수 있다. 또한, 선정적인 내용이 포함된 제 2 이전 프레임들(821)에 관한 제 2 메타데이터(822)로서, '성별, 인원수: 여자 1명, 피부색 노출 정도: 75%, 동작: 샤워 중, 기분: 행복, 음성 정보: "따뜻하다"' 등의 정보가 생성될 수 있다.
일 실시예에서 디바이스(10)는 생성된 제 1 및 제 2 메타데이터(812 및 822)에 기초하여, 제 1 및 제 2 다음 프레임(814 및 824)의 유해성을 예측할 수 있다. 일 실시예에서 디바이스(10)는 '선정성', '폭력성' 및 '공포성' 카테고리 별로 제 1 및 제 2 다음 프레임(814 및 824)의 유해성을 예측할 수 있다.
예를 들어, 제 1 메타데이터(812)에 기초하여, 잔인한 내용이 포함된 제 1 프레임 그룹(810)의 제 1 유해성 수준(813)을 카테고리 별로 '폭력성: 9, 선정성: 1, 공포성: 6'으로 예측할 수 있다. 또한, 제 2 메타데이터(822)에 기초하여, 선정적인 내용이 포함된 제 2 프레임 그룹(820)의 제 2 유해성 수준(823)을 카테고리 별로 '폭력성: 0, 선정성: 7, 공포성: 0'으로 예측할 수 있다.
디바이스(10)는 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 카테고리 별로 비교함으로써 다음 프레임을 필터링할지 여부를 결정할 수 있다. 일 실시예에서 디바이스(10)는 제 1 다음 프레임(814)의 예측된 제 1 유해성 수준(813)과 기설정된 필터링 수준(830)을 카테고리 별로 비교할 수 있다. 또한, 디바이스(10)는 제 2 다음 프레임(824)의 예측된 제 2 유해성 수준(823)과 기설정된 필터링 수준(830)을 카테고리 별로 비교할 수 있다.
예를 들어, 제 1 유해성 수준(813)이 '폭력성: 9, 선정성: 1, 공포성: 6'으로 예측되어 기설정된 필터링 수준(830)인 '폭력성: 10, 선정성: 7, 공포성: 10'보다 모든 유해성 카테고리에 대응하는 값이 더 작은 경우, 디바이스(10)는 제 1 다음 프레임(814)을 필터링하지 않을 수 있다. 또한, 제 2 유해성 수준(823)이 '폭력성: 0, 선정성: 7, 공포성: 0'으로 예측되어 기설정된 필터링 수준(830)과 비교하여 '선정성' 카테고리에 대응하는 값이 더 큰 경우, 디바이스(10)는 제 2 다음 프레임(824)을 필터링할 수 있다.
한편, 제 2 이전 프레임들(821)의 일부 영역이 유해 영역(825a)으로 결정된 경우, 디바이스(10)는 제 2 다음 프레임(824)에 대응하는 유해 영역(825b)을 필터링할 수 있다.
일 실시예에서 디바이스(10)는 제 2 다음 프레임(824)의 전체 영역 또는 유해 영역(825b)을 흐리게 처리하거나 어둡게 처리함으로써 다음 프레임(824)을 필터링할 수 있다.
도 9 및 10은 일 실시예에 따른 디바이스의 블록도이다.
도 9에 도시된 바와 같이, 일 실시예에 따른 디바이스(10)는, 사용자 제어부(910), 출력부(920) 및 메모리(930)를 포함할 수 있다. 그러나, 도 9에 도시된 구성 요소 모두가 디바이스(10)의 필수 구성 요소인 것은 아니다. 도 9에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(10)가 구현될 수도 있고, 도 9에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(10)가 구현될 수도 있다.
예를 들어, 도 8에 도시된 바와 같이, 일부 실시예에 따른 디바이스(10)는, 사용자 제어부(1300) 및 출력부(1200) 이외에 입력부(1100), 통신부(1500), 센싱부(1400), 및 A/V 입력부(1600)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(10)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1100)는, 기설정된 유해성 관련 카테고리를 설정하는 사용자 입력 및 카테고리 별 필터링 수준을 변경하는 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(10)에서 처리되는 정보를 표시한다. 예를 들어, 디스플레이부(1210)는, 디바이스(10)에 입력된 동영상에 포함된 프레임들을 디스플레이할 수 있고, 필터링된 다음 프레임을 디스플레이할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 디바이스(10)의 구현 형태에 따라 디바이스(10)는 디스플레이부(1210)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(1210)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 디바이스(10)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(1220)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
제어부(1300)는, 통상적으로 디바이스(10)의 전반적인 동작을 제어한다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다.
제어부(1300)는 도 1 내지 8 및 후술할 도 11 내지 14에 개시된 디바이스(10)의 동작을 수행할 수 있다.
구체적으로, 제어부(1300)는 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임 이전의 이전 프레임들 중 적어도 하나를 선택할 수 있다. 일 실시예에서 제어부(1300)는 동영상에 포함된 인접한 이전 프레임들 간의 데이터 변화량에 기초하여, 유사성 있는 복수의 인접한 이전 프레임들을 선택할 수 있다.
제어부(1300)는 선택된 이전 프레임에 관한 메타데이터를 생성할 수 있다. 일 실시예에서 제어부(1300)는 선택된 이전 프레임에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 메타데이터를 생성할 수 있다.
또한, 일 실시예에서 제어부(1300)는 선택된 이전 프레임의 일부 영역을 유해 컨텐츠가 포함된 유해 영역으로 결정할 수 있다. 제어부(1300)는 이전 프레임의 일부 영역인 유해 영역에 대한 메타데이터를 생성할 수 있다.
제어부(1300)는 생성된 메타데이터에 기초하여, 현재 프레임이 재생된 이후에 디바이스에서 디스플레이될 적어도 하나의 다음 프레임의 유해성을 예측할 수 있다.
제어부(1300)는 예측된 유해성에 기초하여, 다음 프레임을 필터링할 수 있다. 일 실시예에서, 제어부(1300)는 다음 프레임의 예측된 유해성의 수준과 기설정된 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 또한, 다음 프레임의 유해성이 복수의 카테고리 별로 예측된 경우, 제어부(1300)는 동일한 카테고리에 대한 유해성 수준 및 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 일 실시예에서, 다음 프레임의 예측된 유해성 수준이 기설정된 필터링 수준 이상인 경우, 제어부(1300)는 다음 프레임을 필터링할 수 있다.
제어부(1300)는 다음 프레임의 유해성을 예측하기 위해 카테고리를 설정하는 GUI를 제공할 수 있다. 또한, 제어부(1300)는 사용자 입력에 기초하여 카테고리의 기설정된 필터링 수준을 변경할 수 있다. 한편, 제어부(1300)는 는 새롭게 추가된 카테고리에 대한 다음 프레임의 유해성 수준 및 필터링 수준을 비교함으로써 다음 프레임을 필터링할 수 있다. 또한, 제어부(1300)는 는 특정 카테고리의 변경된 필터링 수준 및 특정 카테고리의 유해성 수준을 비교함으로써 다음 프레임을 필터링할 수 있다.
제어부(1300)는 다음 프레임의 예측된 유해성 수준과 기설정된 필터링 수준을 비교할 수 있다. 일 실시예에서 제어부(1300)는 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높은지 판단할 수 있다. 판단 결과, 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높지 않다고 판단된 경우, 제어부(1300)는 다음 프레임을 필터링하지 않을 수 있다. 또한, 판단 결과, 적어도 하나의 카테고리에 대한 예측된 유해성 수준이 기설정된 필터링 수준보다 높다고 판단된 경우, 제어부(1300)는 다음 프레임을 필터링할 수 있다.
센싱부(1400)는, 디바이스(10)의 상태 또는 디바이스(10) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 디바이스(10)와 외부 디바이스(미도시) 또는 외부 서버(미도시) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 제 1 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신부(1500)는, 다음 프레임의 유해성을 예측하기 위해 필요한 정보를, HMD 장치(2000), 서버(4000) 및 주변 기기(3000)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(10)로 입력되거나 디바이스(10)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 제 1 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다.
근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730)은 제 1 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 제 1 디바이스(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 11은 일 실시예에 따른 제어부의 블록도이다.
도 11을 참조하면, 일 실시예에 따른 제어부(1300)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.
데이터 학습부(1310)는 적어도 하나의 다음 프레임의 유해성을 예측하는 기준을 학습할 수 있다. 일 실시예에서 데이터 학습부(1310)는 데이터 학습부(1310)에 입력된 학습(train) 동영상을 이용하여 소정의 기준을 학습할 수 있다. 데이터 학습부(1310)는 다음 프레임의 유해성을 예측하기 위하여 학습 동영상에 포함된 어떤 데이터를 이용할지, 데이터를 이용하여 다음 프레임의 유해성을 어떻게 판단할지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 다음 프레임의 유해성을 예측하는 기준을 학습할 수 있다.
데이터 인식부(1320)는 데이터에 기초하여 다음 프레임의 유해성을 예측할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 다음 프레임의 유해성을 예측할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용함으로써, 소정의 데이터에 기초하여 다음 프레임의 유해성을 예측할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.
한편, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 12는 일 실시예에 따른 데이터 학습부(1310)의 블록도이다.
도 12를 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다.
데이터 획득부(1310-1)는 다음 프레임의 유해성을 예측하는데 필요한 데이터를 획득할 수 있다.
데이터 획득부(1310-1)는 소정의 데이터를 획득하는데 이용될 학습 동영상을 입력 받을 수 있다. 학습 동영상은 복수의 이미지(또는, 프레임(frame))들로 구성될 수 있다. 일 예로, 데이터 획득부(1310-1)는 데이터 학습부(1310)를 포함하는 전자 장치의 카메라, 또는 데이터 학습부(1310)를 포함하는 전자 장치와 통신 가능한 외부의 카메라(예로, CCTV 또는 블랙박스 등)를 통하여 동영상을 입력 받을 수 있다. 여기서, 카메라는 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
예컨대, 데이터 획득부(1310-1)는 학습 동영상에 포함된 음성 데이터, 영상 데이터, 텍스트 데이터 또는 생체신호 데이터 등을 획득할 수 있다. 일 예로, 데이터 획득부(1310-1)는 전자 장치의 입력 기기(예: 마이크로폰, 카메라 또는 센서 등)를 통해 데이터를 입력 받을 수 있다. 또는, 데이터 획득부(1310-1)는 전자 장치와 통신하는 외부 장치를 통해 데이터를 획득할 수 있다.
전처리부(1310-2)는 다음 프레임의 유해성을 예측하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 유해성을 예측하기 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
예를 들어, 전처리부(1310-2)는 입력된 학습 동영상에 포함된 음성 데이터, 영상 데이터, 텍스트 데이터 또는 생체신호 데이터 등을 추출하여 구별하고, 입력된 데이터로부터 추출된 특성과 결과 값을 누적하여 학습함으로써 다음 프레임의 유해성을 예측하는 기준을 학습할 수 있다. 이 경우, 전처리부(1310-2)는 학습 동영상에 포함된 인접한 이전 프레임들 간의 데이터 변화량에 기초하여, 유사성 있는 인접한 이전 프레임들의 음성 데이터, 영상 데이터, 텍스트 데이터 또는 생체힌호 데이터 등을 추출하여 구별할수 있다. 또한, 전처리부(1310-2)는 입력된 학습 동영상에 포함된 이전 프레임들의 일부 영역인 유해 영역에 관한 음성 데이터, 영상 데이터, 텍스트 데이터 또는 생체신호 데이터 등을 추출하여 구별할 수 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 다음 프레임의 유해성을 예측하기 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기설정된 기준에 따라 데이터를 선택할 수도 있다.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 다음 프레임의 유해성을 예측할 수 있는 데이터를 선택할 수 있다. 유해성과 관련된 카테고리가 기설정된 경우, 학습 데이터 선택부(1310-3)는 기설정된 카테고리 별로 다음 프레임의 유해성을 예측할 수 있는 데이터를 선택할 수 있다.
모델 학습부(1310-4)는 학습 데이터에 기초하여 다음 프레임의 유해성을 어떻게 예측할지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 다음 프레임의 유해성을 예측하기 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 기준을 학습할 수도 있다.
예를 들어, 유해성과 관련된 복수의 카테고리가 설정된 경우, 모델 학습부(1310-4)는 '선정성', '공포성', '폭력성' 등의 카테고리에 어떠한 경우에 속하는지에 대한 기준 및 특정 유해성 카테고리에 속하는 경우 특정 유해성 카테고리에서의 유해성 수준은 어느 정도인지에 대한 기준을 학습할 수 있다.
또한, 모델 학습부(1310-4)는 다음 프레임의 유해성을 예측하는데 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 단어 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도없이 다음 프레임의 유해성을 예측하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 다음 프레임의 유해성을 예측하기 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 다음 프레임의 유해성 예측 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
또한, 평가 데이터는 사용자의 코멘트 입력으로부터 도출될 수 있다. 예를 들어, 사용자는 출력되는 인식 결과에 대한 만족 또는 불만족을 나타내는 코멘트 메시지를 입력할 수 있다. 코멘트 입력은 출력되는 인식 결과에 대한 사용자의 피드백 정보를 포함할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 13은 일 실시예에 따른 데이터 인식부의 블록도이다.
도 13을 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다.
데이터 획득부(1320-1)는 다음 프레임의 유해성을 예측하기 위해 필요한 데이터를 획득할 수 있으며, 전처리부(1320-2)는 다음 프레임의 유해성을 예측하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4) 다음 프레임의 유해성을 예측하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1320-3)는 전처리된 데이터 중에서 다음 프레임의 유해성을 예측하는데 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는 다음 프레임의 유해성을 예측하기 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(1320-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 다음 프레임의 유해성을 예측할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
예를 들어, 동영상의 인식 결과는 텍스트, 음성, 동영상, 이미지 또는 명령어(예로, 어플리케이션 실행 명령어, 모듈 기능 실행 명령어 등) 등으로 제공될 수 있다. 인식 결과는, 예로, '선정성', '공포성', '폭력성' 등의 동영상에 포함된 다음 프레임에 대한 정보를 텍스트, 음성, 동영상, 이미지 또는 명령어 등으로 제공할 수 있다.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 14는 일 실시예에 따른 디바이스 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 14를 참조하면, 서버(20)는 다음 프레임의 유해성을 예측하기 위한 기준을 학습할 수 있으며, 디바이스(10)는 서버(20)에 의한 학습 결과에 기초하여 다음 프레임의 유해성을 예측할 수 있다.
이 경우, 서버(20)의 모델 학습부(2340)는 도 11에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(20)의 모델 학습부(2340)는 소정의 다음 프레임의 유해성을 예측하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 다음 프레임의 유해성을 어떻게 예측할지 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 다음 프레임의 유해성을 예측하기 위한 기준을 학습할 수 있다.
또한, 디바이스(10)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(20)에 의해 생성된 데이터 인식 모델에 적용하여 다음 프레임의 유해성을 예측할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(20)에게 전송하고, 서버(20)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여 다음 프레임의 유해성을 예측할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(20)에 의해 예측된 다음 프레임의 유해성에 관한 정보를 서버(20)로부터 수신할 수 있다.
예를 들어, 디바이스(10)는 이전 프레임에 관한 메타데이터를 생성하여 서버(20)에 전송할 수 있다. 또한, 디바이스(10)는 예측된 다음 프레임의 유해성에 관한 정보를 서버(20)로부터 수신할 수 있다.
또는, 디바이스(10)의 인식 결과 제공부(1320-4)는 서버(20)에 의해 생성된 인식 모델을 서버(20)로부터 수신하고, 수신된 인식 모델을 이용하여 다음 프레임의 유해성을 예측할 수 있다. 이 경우, 디바이스(10)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(20)로부터 수신된 데이터 인식 모델에 적용하여 다음 프레임의 유해성을 예측할 수 있다.
일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (19)

  1. 디바이스가 동영상을 필터링하는 방법에 있어서,
    상기 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임(Current Frame) 이전의 이전 프레임들(Previous Frames) 중 적어도 하나를 선택하는 단계;
    상기 선택된 이전 프레임에 관한 메타데이터를 생성하는 단계;
    상기 생성된 메타데이터에 기초하여, 상기 현재 프레임이 재생된 이후에 상기 디바이스에서 디스플레이될 적어도 하나의 다음 프레임(Next Frame)의 유해성을 예측하는 단계; 및
    상기 예측된 유해성에 기초하여, 상기 다음 프레임을 필터링하는 단계;
    를 포함하는 방법.
  2. 제 1항에 있어서,
    상기 다음 프레임의 유해성을 예측하는 단계는,
    상기 유해성을 예측하기 위한 복수의 카테고리 별로, 상기 다음 프레임의 유해성을 예측하는 단계;
    를 더 포함하는, 방법.
  3. 제 2항에 있어서,
    상기 다음 프레임의 유해성을 예측하는 단계는,
    상기 유해성을 예측하기 위한 카테고리를 설정하기 위한 GUI(Graphical User Interface)를 제공하는 단계;
    상기 제공된 GUI에 대한 사용자 입력을 수신하는 단계; 및
    상기 수신된 입력에 따라 새로운 유해성 관련 카테고리를 설정하는 단계;
    를 더 포함하는, 방법.
  4. 제 1항에 있어서,
    상기 필터링하는 단계는,
    상기 예측된 유해성의 수준 및 기설정된 필터링 수준을 비교하는 단계; 및
    상기 비교 결과에 기초하여 상기 다음 프레임을 필터링하는 단계;
    를 포함하는, 방법.
  5. 제 4항에 있어서,
    사용자 입력에 기초하여 상기 기설정된 필터링 수준을 변경하는 단계;
    를 더 포함하며,
    상기 비교하는 단계는,
    상기 예측된 유해성의 수준 및 상기 변경된 필터링 수준을 비교하는 단계;
    를 포함하는, 방법.
  6. 제 1항에 있어서,
    상기 메타데이터를 생성하는 단계는,
    상기 선택된 이전 프레임의 일부 영역을 유해(harmful) 컨텐츠가 포함된 유해 영역으로 결정하는 단계; 및
    상기 유해 영역의 유해성을 판단하기 위한 메타데이터를 생성하는 단계;
    를 포함하는, 방법.
  7. 제 1항에 있어서,
    상기 메타데이터를 생성하는 단계는,
    상기 선택된 이전 프레임에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 상기 메타데이터를 생성하는 단계;
    를 포함하는, 방법.
  8. 제 1항에 있어서,
    상기 이전 프레임들 중 적어도 하나를 선택하는 단계는,
    상기 동영상에 포함된 인접한 상기 이전 프레임들 간의 데이터 변화량에 기초하여, 유사성 있는 인접한 상기 이전 프레임들을 선택하는 단계;
    를 포함하는 방법.
  9. 제 1항에 있어서,
    상기 필터링하는 단계는,
    상기 다음 프레임 또는 상기 다음 프레임의 일부 영역의 가시성을 낮추는 단계;
    를 포함하는, 방법.
  10. 동영상을 필터링하는 디바이스에 있어서,
    상기 동영상을 디스플레이하는 디스플레이;
    적어도 하나의 인스트럭션을 저장하기 위한 메모리; 및
    상기 메모리에 저장된 상기 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 동영상에 포함된 프레임들 중에서 현재 재생 중인 현재 프레임 이전의 이전 프레임들 중 적어도 하나를 선택하고,
    상기 선택된 이전 프레임에 관한 메타데이터를 생성하고,
    상기 생성된 메타데이터에 기초하여, 상기 현재 프레임이 재생된 이후에 상기 디바이스에서 디스플레이될 적어도 하나의 다음 프레임의 유해성을 예측하고,
    상기 예측된 유해성에 기초하여, 상기 다음 프레임을 필터링하는, 디바이스.
  11. 제 10항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 유해성을 예측하기 위한 복수의 카테고리 별로, 상기 다음 프레임의 유해성을 예측하는, 디바이스.
  12. 제 11 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 유해성을 예측하기 위한 카테고리를 설정하기 위한 GUI를 제공하고,
    상기 제공된 GUI에 대한 사용자 입력을 수신하고,
    상기 수신된 입력에 따라 새로운 유해성 관련 카테고리를 설정하는, 디바이스.
  13. 제 10항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 예측된 유해성의 수준 및 기설정된 필터링 수준을 비교하고,
    상기 비교 결과에 기초하여 상기 다음 프레임을 필터링하는, 디바이스.
  14. 제 13항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    사용자 입력에 기초하여 상기 기설정된 필터링 수준을 변경하고,
    상기 예측된 유해성의 수준 및 상기 변경된 필터링 수준을 비교하는, 디바이스.
  15. 제 10에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 선택된 이전 프레임의 일부 영역을 유해(harmful) 컨텐츠가 포함된 유해 영역으로 결정하고,
    상기 유해 영역의 유해성을 판단하기 위한 메타데이터를 생성하는, 디바이스.
  16. 제 10항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 선택된 이전 프레임에 포함된 이미지 정보, 음성 정보 및 텍스트 정보 중 적어도 하나에 기초하여 상기 메타데이터를 생성하는, 디바이스.
  17. 제 10항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 동영상에 포함된 인접한 상기 이전 프레임들 간의 데이터 변화량에 기초하여, 유사성 있는 인접한 상기 이전 프레임들을 선택하는, 디바이스.
  18. 제 10항에 있어서,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 다음 프레임 또는 상기 다음 프레임의 일부 영역의 가시성을 낮추는, 디바이스.
  19. 제 1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170131643A 2016-12-19 2017-10-11 동영상을 필터링하는 방법 및 장치 KR102384878B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US15/813,752 US10349126B2 (en) 2016-12-19 2017-11-15 Method and apparatus for filtering video
CN201780086358.2A CN110291794B (zh) 2016-12-19 2017-11-16 用于对视频进行过滤的方法和设备
EP23186994.2A EP4280612A1 (en) 2016-12-19 2017-11-16 Method and apparatus for filtering video
PCT/KR2017/012974 WO2018117428A1 (en) 2016-12-19 2017-11-16 Method and apparatus for filtering video
CN202110560400.8A CN113411665B (zh) 2016-12-19 2017-11-16 提供视频信息的计算装置和方法
EP17883839.7A EP3545685B1 (en) 2016-12-19 2017-11-16 Method and apparatus for filtering video
US16/376,711 US10631045B2 (en) 2016-12-19 2019-04-05 Method and apparatus for filtering video
US16/843,400 US11470385B2 (en) 2016-12-19 2020-04-08 Method and apparatus for filtering video

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160173624 2016-12-19
KR1020160173624 2016-12-19

Publications (2)

Publication Number Publication Date
KR20180071156A true KR20180071156A (ko) 2018-06-27
KR102384878B1 KR102384878B1 (ko) 2022-04-11

Family

ID=62789878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170131643A KR102384878B1 (ko) 2016-12-19 2017-10-11 동영상을 필터링하는 방법 및 장치

Country Status (3)

Country Link
EP (1) EP3545685B1 (ko)
KR (1) KR102384878B1 (ko)
CN (1) CN110291794B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021033853A1 (en) * 2019-08-21 2021-02-25 Samsung Electronics Co., Ltd. Method and system for processing content having sensitive portion
CN113542867A (zh) * 2020-04-20 2021-10-22 声音猎手公司 媒体播放设备中的内容过滤
KR102395846B1 (ko) * 2021-11-19 2022-05-10 ㈜노웨어소프트 디지털 콘텐츠의 필터링 시스템 및 필터링 제어방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111372116B (zh) * 2020-03-27 2023-01-03 咪咕文化科技有限公司 视频播放提示信息处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051711A (ko) * 2013-11-05 2015-05-13 한국전자통신연구원 유해 콘텐츠 영상 차단을 위한 피부 영역 추출 장치 및 방법
KR20160104826A (ko) * 2015-02-26 2016-09-06 한국전자통신연구원 유해 동영상 판단 방법 및 장치
KR20160107734A (ko) * 2015-03-05 2016-09-19 한국전자통신연구원 동영상의 시간정보를 이용한 유해 동영상 분류방법 및 장치
KR20160116585A (ko) * 2015-03-30 2016-10-10 한국전자통신연구원 동영상 유해 영역 차단 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100490532C (zh) * 2006-04-30 2009-05-20 华为技术有限公司 一种视频码流过滤方法和过滤节点
US20090288112A1 (en) * 2008-05-13 2009-11-19 Porto Technology, Llc Inserting advance content alerts into a media item during playback
US9355406B2 (en) * 2013-07-18 2016-05-31 GumGum, Inc. Systems and methods for determining image safety
GB201315859D0 (en) * 2013-09-05 2013-10-23 Image Analyser Ltd Video analysis method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051711A (ko) * 2013-11-05 2015-05-13 한국전자통신연구원 유해 콘텐츠 영상 차단을 위한 피부 영역 추출 장치 및 방법
KR20160104826A (ko) * 2015-02-26 2016-09-06 한국전자통신연구원 유해 동영상 판단 방법 및 장치
KR20160107734A (ko) * 2015-03-05 2016-09-19 한국전자통신연구원 동영상의 시간정보를 이용한 유해 동영상 분류방법 및 장치
KR20160116585A (ko) * 2015-03-30 2016-10-10 한국전자통신연구원 동영상 유해 영역 차단 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021033853A1 (en) * 2019-08-21 2021-02-25 Samsung Electronics Co., Ltd. Method and system for processing content having sensitive portion
CN113542867A (zh) * 2020-04-20 2021-10-22 声音猎手公司 媒体播放设备中的内容过滤
EP3901785A1 (en) * 2020-04-20 2021-10-27 SoundHound, Inc. Content filtering in media playing devices
US11736769B2 (en) 2020-04-20 2023-08-22 SoundHound, Inc Content filtering in media playing devices
KR102395846B1 (ko) * 2021-11-19 2022-05-10 ㈜노웨어소프트 디지털 콘텐츠의 필터링 시스템 및 필터링 제어방법

Also Published As

Publication number Publication date
CN110291794B (zh) 2021-09-28
CN110291794A (zh) 2019-09-27
EP3545685B1 (en) 2023-09-13
EP3545685A1 (en) 2019-10-02
EP3545685A4 (en) 2019-10-02
KR102384878B1 (ko) 2022-04-11

Similar Documents

Publication Publication Date Title
US11470385B2 (en) Method and apparatus for filtering video
KR102659288B1 (ko) 전자 장치 및 그 동작 방법
US11222413B2 (en) Method for correcting image by device and device therefor
KR102359391B1 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
US20200118010A1 (en) System and method for providing content based on knowledge graph
KR20180089855A (ko) 상품을 추천하는 디바이스 및 방법
KR102530045B1 (ko) 전자 장치 및 그 동작 방법
US11508364B2 (en) Electronic device for outputting response to speech input by using application and operation method thereof
KR20180055708A (ko) 이미지를 처리하는 전자 장치 및 방법
KR102304701B1 (ko) 사용자의 음성 입력에 대한 답변을 제공하는 방법 및 장치
KR102420567B1 (ko) 음성 인식 장치 및 방법
US20160224591A1 (en) Method and Device for Searching for Image
KR102384878B1 (ko) 동영상을 필터링하는 방법 및 장치
CN111656438A (zh) 电子装置及其控制方法
KR20190096752A (ko) 컨텐츠에 대한 텍스트 코멘트를 생성하는 방법 및 전자 장치
KR20180074562A (ko) 전자 장치 및 이의 제어 방법
US20210004702A1 (en) System and method for generating information for interaction with a user
KR20200084395A (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
US11617957B2 (en) Electronic device for providing interactive game and operating method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant