KR20210046393A - 단말기 및 그것의 동작 방법 - Google Patents

단말기 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20210046393A
KR20210046393A KR1020190130044A KR20190130044A KR20210046393A KR 20210046393 A KR20210046393 A KR 20210046393A KR 1020190130044 A KR1020190130044 A KR 1020190130044A KR 20190130044 A KR20190130044 A KR 20190130044A KR 20210046393 A KR20210046393 A KR 20210046393A
Authority
KR
South Korea
Prior art keywords
terminal
voice
user
voice keyword
feature map
Prior art date
Application number
KR1020190130044A
Other languages
English (en)
Other versions
KR102315211B1 (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 KR1020190130044A priority Critical patent/KR102315211B1/ko
Priority to US17/013,391 priority patent/US11854536B2/en
Publication of KR20210046393A publication Critical patent/KR20210046393A/ko
Application granted granted Critical
Publication of KR102315211B1 publication Critical patent/KR102315211B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

단말기는 제1 음성을 수신하는 입출력 인터페이스, 영상 통화 세션을 통해, 제1 음성을 상대방 단말기에 전송하고, 상대방 단말기에 의해 획득되는 제2 음성을 수신하는 통신 인터페이스, 제2 음성을 검열하기 위한 음성 키워드 추출 모델을 준비하는 프로세서를 포함하고, 프로세서는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하고, 판단 결과에 기초하여 상대방 단말기의 사용자를 신고하도록 유도하는 메시지를 생성할지 여부를 결정할 수 있다.

Description

단말기 및 그것의 동작 방법{MOBILE AND OPERATING METHOD THEREOF}
기재된 실시 예는 상대방과 영상 통화 중인 사용자가 상대방으로부터의 부적절한(abusive) 음성에 노출되는 것을 방지할 수 있는 단말기 및 그것의 동작 방법에 관한 것이다.
통신 기술이 발전하고 전자 장치가 소형화됨에 따라 개인용 단말기는 일반 소비자에게 널리 보급되고 있다. 특히 최근에는 스마트폰 또는 스마트 태블릿과 같은 휴대용 개인 단말기가 널리 보급되고 있다. 단말기의 대부분은 통신 기능을 포함하고 있다. 사용자는 단말기를 이용하여 인터넷에서 검색을 수행하거나 다른 사용자와 메시지를 주고받을 수 있다.
또한, 소형 카메라 기술, 소형 마이크 기술, 소형 디스플레이 기술 및 소형 스피커 기술의 발전에 따라 스마트폰과 같은 대부분의 단말기에는 카메라, 마이크, 디스플레이 및 스피커가 포함되어 있다. 사용자는 단말기를 이용하여 음성을 녹음하거나 음성이 포함된 동영상을 촬영할 수 있다. 사용자는 단말기에 포함된 스피커를 통해 녹음된 음성을 확인하거나 디스플레이를 통해 촬영된 동영상을 확인할 수 있다.
또한, 사용자는 단말에 의해 현재 녹음되고 있는 음성 또는 현재 촬영되고 있는 동영상을 실시간으로 다른 사용자에게 전송할 수 있다. 또한, 다른 사용자는 자신의 단말기에 의해 현재 녹음되고 있는 음성 또는 현재 촬영되고 있는 동영상을 실시간으로 사용자에게 전송할 수 있다. 사용자의 단말기에 포함된 디스플레이는 사용자의 단말기에 의해 현재 촬영되고 있는 동영상 및 다른 사용자의 단말기에 의해 현재 촬영되고 있는 동영상을 동시에 표시할 수 있다. 또한, 사용자의 단말기에 포함된 스피커는 다른 사용자의 단말에 의해 현재 녹음되고 있는 음성을 동시에 재생할 수 있다. 다시 말해서, 사용자 및 다른 사용자는 각자의 단말기를 이용하여 서로 영상 통화(video call)를 할 수 있다.
사용자 및 다른 사용자는 서로 이미 아는 관계일 수도 있고, 서로 모르는 관계일 수도 있다. 사용자의 단말기 및 다른 사용자의 단말기를 포함한 복수의 단말기는 서버에 연결될 수 있다. 서버는 사용자의 단말 및 다른 사용자의 단말기 사이를 중개할 수 있다. 따라서, 사용자 및 다른 사용자는 서로 모르는 관계였다고 하더라도 서버의 중개를 통해 서로 영상 통화를 할 수 있다.
사용자가 상대방과 서로 영상 통화를 하는 도중에, 사용자는 상대방으로부터의 부적절한 음성에 노출될 수 있다. 예를 들어, 상대방의 단말기에 의해 상대방의 욕설과 같은 부적절한 음성이 사용자의 단말기에 수신될 수 있다. 사용자의 단말기가 수신된 음성을 출력함으로써 사용자는 부적절한 음성에 노출될 수 있다. 사용자가 자신이 원하지 않는 음성을 듣는 경우 사용자는 성적 수치심 또는 불쾌함을 느낄 수 있다.
기재된 실시예에 따르면 상대방과 영상 통화를 하는 사용자가 상대방으로부터의 음란한 영상에 노출되는 것을 보다 효과적으로 방지할 수 있는 단말기 및 그것의 동작 방법이 제공될 수 있다.
또한, 상대방과 영상 통화를 하는 사용자가 상대방으로부터의 영상에 의해 느낄 수 있는 성적 수치심 또는 불쾌함을 방지할 수 있는 단말기 및 그것의 동작 방법이 제공될 수 있다.
또한, 사용자 간의 건전한 영상 통화를 유도할 수 있는 단말기 및 그것의 동작 방법이 제공될 수 있다.
본 발명의 실시예에 따른 단말기의 동작 방법은 제1 단말기와 제2 단말기 사이의 영상 통화 세션을 수립하는 단계, 제1 단말기가 제2 단말기로부터 음성을 수신하는 단계, 제1 단말기가 음성을 검열하기 위한 음성 키워드 추출 모델을 준비하는 단계, 제1 단말기가 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하는 단계, 및 제1 단말기가 판단 결과에 기초하여 제2 단말기의 사용자를 신고하도록 유도하는 메시지를 생성할지 여부를 결정하는 단계를 포함할 수 있다.
몇몇 실시예로서, 음성 키워드의 추출 여부를 판단하는 단계에서는, 음성으로부터 입력 피처 맵(Input Feature Map)을 획득하고, 입력 피처 맵과 동일한 채널 길이를 갖되 폭이 입력 피처 맵의 폭보다 작은 n개의 서로 다른 필터들 각각에 대하여 입력 피처 맵과 제1 컨볼루션(convolution) 연산을 수행하고, 입력 피처 맵과 동일한 채널 길이를 갖는 서로 다른 필터들 각각에 대하여 제1 컨볼루션 연산의 결과와의 제2 컨볼루션 연산을 수행하고, 제1 컨볼루션 연산 및 제2 컨볼루션 연산의 결과를 출력 피처 맵(Output Feature Map)으로 생성할 수 있다.
몇몇 실시예로서, 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하는 단계에서는, 출력 피처 맵에 풀링 레이어(Pooling Layer), 풀 커넥트 레이어(Full-Connect Layer), 및 소프트맥스(Softmax) 연산을 수행하여 결과 데이터를 생성할 수 있다.
몇몇 실시예로서, 제1 컨볼루션 연산의 스트라이드(stride) 값은 1이다.
몇몇 실시예로서, 음성 키워드의 추출 여부를 판단하는 단계에서 음성에서 음성 키워드가 추출되지 않은 것으로 판단되면, 메시지를 생성할지 여부를 결정하는 단계에서는 메시지를 생성하지 않고, 제2 단말기와의 영상 통화 세션을 유지할 수 있다.
몇몇 실시예로서, 음성 키워드의 추출 여부를 판단하는 단계에서 음성에서 음성 키워드가 추출된 것으로 판단되면, 메시지를 생성할지 여부를 결정하는 단계에서는 제2 단말기의 사용자를 신고하도록 유도하는 메시지를 제1 단말기의 사용자에게 출력하고, 제1 단말기의 사용자가 제2 단말기의 사용자에 대해 신고 요청을 하는 경우, 제1 단말기와 제2 단말기 사이의 영상 통화 세션은 중단될 수 있다.
몇몇 실시예로서, 단말기의 동작 방법은 제1 단말기가 제1 단말기의 사용자로부터 제2 단말기의 사용자에 대한 신고 요청을 수신하는 단계를 더 포함할 수 있다.
몇몇 실시예로서, 단말기의 동작 방법은 음성 키워드 추출 모델을 통해 출력된 결과 데이터를 분석하는 단계, 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 음성 키워드로 분류하는 단계, 및 음성 키워드로 분류된 음성을 이용하여 음성 키워드 추출 모델을 업데이트하는 단계를 더 포함하고, 음성 키워드로 분류된 음성은 음성 키워드의 추출 여부를 판단하는 단계에서 음성 키워드로 추출되지 않은 음성일 수 있다.
본 발명의 실시예에 따른 단말기는 제1 음성을 수신하는 입출력 인터페이스, 영상 통화 세션을 통해, 제1 음성을 상대방 단말기에 전송하고, 상대방 단말기에 의해 획득되는 제2 음성을 수신하는 통신 인터페이스, 제2 음성을 검열하기 위한 음성 키워드 추출 모델을 준비하는 프로세서를 포함하고, 프로세서는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하고, 판단 결과에 기초하여 상대방 단말기의 사용자를 신고하도록 유도하는 메시지를 생성할지 여부를 결정할 수 있다.
몇몇 실시예로서, 프로세서는 제2 음성으로부터 입력 피처 맵(Input Feature Map)을 획득하고, 입력 피처 맵과 동일한 채널 길이를 갖되 폭이 입력 피처 맵의 폭보다 작은 n개의 서로 다른 필터들 각각에 대하여 입력 피처 맵과 제1 컨볼루션 연산을 수행하고, 입력 피처 맵과 동일한 채널 길이를 갖는 서로 다른 필터들 각각에 대하여 제1 컨볼루션 연산의 결과와의 제2 컨볼루션 연산을 수행하고, 제1 컨볼루션 연산 및 제2 컨볼루션 연산의 결과를 출력 피처 맵으로 생성하고, 출력 피처 맵에 풀링 레이어, 풀 커넥트 레이어, 및 소프트맥스 연산을 수행하여 결과 데이터를 생성할 수 있다.
몇몇 실시예로서, 단말기는 출력 피처 맵 및 결과 데이터를 저장하는 메모리를 더 포함할 수 있다.
몇몇 실시예로서, 프로세서는 제2 음성에서 음성 키워드가 추출되지 않는 경우, 메시지를 생성하지 않고, 상대방 단말기와의 영상 통화 세션을 유지할 수 있다.
몇몇 실시예로서, 프로세서는 제2 음성에서 음성 키워드가 추출되지 않았지만, 단말기의 사용자로부터 신고 요청이 수신되는 경우, 신고 요청이 수신되기 이전에 음성 키워드 추출 모델을 통해 출력된 결과 데이터를 분석하고, 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 음성 키워드로 분류할 수 있다.
몇몇 실시예로서, 프로세서는 제2 음성에서 음성 키워드가 추출되는 경우, 상대방 단말기의 사용자를 신고하도록 유도하는 메시지를 단말기의 사용자에게 출력하고, 단말기의 사용자가 상대방 단말기의 사용자에 대해 신고 요청을 하는 경우, 상대방 단말기와의 영상 통화 세션은 중단할 수 있다.
기재된 실시예에 따르면 사용자 간의 보다 건전한 영상 통화를 유도할 수 있는 단말기 및 그것의 동작 방법이 제공될 수 있다.
또한, 영상 통화 중인 사용자가 상대방으로부터의 부적절한 음성에 노출되는 것을 방지할 수 있는 단말기 및 그것의 동작 방법이 제공될 수 있다.
또한, 영상 통화 중인 사용자가 상대방의 음성에 의해 느낄 수 있는 성적 수치심 또는 불쾌함을 방지할 수 있는 단말기 및 그것의 동작 방법법이 제공될 수 있다.
도 1은 본 발명의 실시예에 따른 전자 장치가 동작하는 환경을 나타내는 시스템 구성도이다.
도 2는 본 발명의 실시예에 따른 단말기의 구성을 나타내는 블록도이다.
도 3은 본 발명의 제2 단말기로부터 수신된 음성을 보여주는 그래프이다.
도 4는 본 발명의 실시예에 따라서 제2 단말기로부터 수신되는 음성으로부터 생성되는 입력 피처 맵(Input Feature Map)과 컨볼루션 필터(K)을 보여주는 도면이다.
도 5는 도 4에서 설명된 입력 데이터(X1d)와 가중치 데이터(W1d) 사이에 컨볼루션 연산의 결과로 획득되는 출력 피처 맵(Output Feature Map)을 보여주는 도면이다.
도 6은 본 발명의 실시예에 따른 음성 키워드 추출 알고리즘을 이용하여 음성 키워드를 추출하는 방법을 보여주는 순서도이다.
도 7은 본 발명의 실시예에 따른 음성 키워드 추출 방법을 이용하여 영상 통화 중 음성을 검열하는 방법을 보여주는 순서도이다.
도 8 및 도 9는 음성 키워드의 추출 여부에 따른 단말기의 동작 방법을 보여주는 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 음성 키워드 추출 방법을 이용하여 영상 통화 중 음성을 검열하는 방법을 보여주는 순서도이다.
도 11은 본 발명의 다른 실시예에 따른 음성 키워드 추출 모델을 업데이트하는 방법을 보여주는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1구성요소는 본 발명의 기술적 사상 내에서 제2구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 실시예에 따른 전자 장치가 동작하는 환경을 나타내는 시스템 구성도이다.
도 1을 참조하면, 복수의 전자 장치(100, 200)가 동작하는 시스템 환경은 서버(300) 및 복수의 전자 장치(100, 200)를 포함할 수 있다. 예를 들어, 복수의 전자 장치(100, 200)가 동작하는 환경은 적어도 하나 이상의 서버를 포함할 수 있다.
복수의 전자 장치(100, 200) 각각은 서버(300)를 매개로 연결될 수 있다. 본 발명의 설명의 편의를 위해, 도 1에서 두 개의 전자 장치가 도시되어 있다. 하지만, 전자 장치의 개수는 두 개로 한정되지 않는다. 복수의 전자 장치(100, 200) 각각은 데스크탑 컴퓨터, 랩 탑 컴퓨터, 스마트폰, 스마트 태블릿, 스마트 워치, 이동 단말기, 디지털 카메라, 웨어러블 디바이스(wearable device), 또는 휴대용 전자기기 중 하나로써 구현될 수 있다. 복수의 전자 장치(100, 200) 각각은 프로그램 또는 애플리케이션을 실행할 수 있다.
복수의 전자 장치(100, 200) 각각은 통신망에 연결될 수 있다. 복수의 전자 장치(100, 200) 각각은 통신망을 통해 서로 연결되거나 서버(300)와 연결될 수 있다. 복수의 전자 장치(100, 200) 각각은 서로 연결된 다른 장치에 데이터를 출력하거나 다른 장치로부터 데이터를 수신할 수 있다.
복수의 전자 장치(100, 200) 각각에 연결된 통신망은 유선 통신망, 무선 통신망, 또는 복합 통신망을 포함할 수 있다. 통신망은 3G, LTE, 또는 LTE-A 등과 같은 이동 통신망을 포함할 수 있다. 통신망은 와이파이(Wi-Fi), UMTS/GPRS, 또는 이더넷(Ethernet) 등과 같은 유선 또는 무선 통신망을 포함할 수 있다.
통신망은 마그네틱 보안 출력(MST, Magnetic Secure Transmission), RFID(Radio Frequency Identification), NFC(Near Field Communication), 지그비(ZigBee), Z-Wave, 블루투스(Bluetooth), 저전력 블루투스(BLE, Bluetooth Low Energy), 또는 적외선 통신(IR, InfraRed communication) 등과 같은 근거리 통신망을 포함할 수 있다.
통신망은 근거리 네트워크(LAN, Local Area Network), 도시권 네트워크(MAN, Metropolitan Area Network), 또는 광역 네트워크(WAN, Wide Area Network) 등을 포함할 수 있다.
복수의 전자 장치(100, 200) 사이에 다양한 형태의 통신 세션이 수립될 수 있다. 예를 들어, 복수의 전자 장치(100, 200) 중 적어도 두 개의 전자 장치들은 서로 메시지, 파일, 음성 데이터, 영상, 또는 동영상 등을 주고받을 수 있다. 예를 들어, 적어도 두 개의 전자 장치들은 TCP(Transmission Control Protocol), UDP(User Datagram Protocol), 또는 WebRTC(Web Real-Time Communication) 등을 이용하여 음성 통화 세션 또는 영상 통화(video call) 세션을 수립할 수 있다.
영상 통화 세션은 적어도 두 개의 전자 장치들 사이에 직접 수립될 수 있다. 다른 실시예에 따르면, 적어도 하나 이상의 다른 장치를 경유하여 적어도 두 개의 전자 장치들 사이에 영상 통화 세션이 수립될 수 있다. 예를 들어, 영상 통화 세션은 제1 전자 장치(100)와 서버(300) 사이에 수립된 세션 및 서버(300)와 제2 전자 장치(200) 사이에 수립된 세션을 포함할 수 있다.
서버(300)는 복수의 전자 장치(100, 200)가 서로 통신을 수행할 수 있도록 연결시킬 수 있다. 예를 들어, 서버(300)는 복수의 전자 장치(100, 200) 각각으로부터 매치 요청을 수신할 수 있다. 매치 요청에 응답하여, 서버(300)는 복수의 전자 장치(100, 200) 중 적어도 두 개의 전자 장치들을 매칭할 수 있다.
이하에서, 발명의 설명의 편의를 위해, 전자 장치 및 단말기는 동일한 의미로 사용될 수 있다.
도 2는 본 발명의 실시예에 따른 단말기의 구성을 나타내는 블록도이다. 도 2를 참조하면, 제1 단말기(100)는 입출력 인터페이스(110), 디스플레이(111), 메모리(130), 통신 인터페이스(140), 및 프로세서(150)를 포함할 수 있다. 도 1에 도시된 제2 단말기(200)는 제1 단말기(100)와 유사 또는 동일하게 구현될 수 있다.
입출력 인터페이스(110)는 외부로부터 신호를 수신할 수 있다. 입출력 인터페이스(110)는 제1 단말기(100)의 사용자로부터 신호를 수신할 수 있다. 또한, 입출력 인터페이스(110)는 외부 장치로부터 신호를 수신할 수 있다. 입출력 인터페이스(110)는 예를 들어, 마이크, 카메라, 키보드, 마우스, 트랙볼, 터치스크린, 버튼, 스위치, 센서, 네트워크 인터페이스, 또는 기타 입력 장치 등을 포함할 수 있다. 또한, 입출력 인터페이스(110)는 스피커와 같은 출력 장치를 포함할 수 있다.
입출력 인터페이스(110)는 입출력 인터페이스(110)에 포함된 마이크(미도시)를 통해 외부로부터 음성을 수신할 수 있다. 또한, 입출력 인터페이스(110)는 입출력 인터페이스(110)에 포함된 스피커(미도시)를 통해 마이크를 통해 수신된 음성 또는 통신 인터페이스(140)에 수신된 음성을 출력할 수 있다.
또한, 입출력 인터페이스(110)는 입출력 인터페이스(110)에 포함된 카메라(미도시)로부터 촬영된 이미지 또는 영상을 수신하거나, 단말기(100)의 사용자로부터 제스처를 수신할 수 있다. 몇몇 실시 예로서, 입출력 인터페이스(110)에서 촬영되는 영상을 수신할 수 있다. 입출력 인터페이스(110)에서 촬영되는 영상에는 제1 단말기(100)의 사용자의 영상이 포함될 수 있다. 입출력 인터페이스(110)에서 촬영되는 영상은 제1 단말기(100)의 사용자의 영상으로 한정되지 않고, 입출력 인터페이스(110)에서 촬영된 다양한 영상을 포함할 수 있다.
입출력 인터페이스(110)는 디스플레이(111)를 포함할 수 있다. 예를 들어, 디스플레이(111)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), 또는 PDP(Plasma Display Panel) 등의 평판 표시 장치를 포함할 수 있다. 디스플레이(111)는 곡면 디스플레이 또는 플렉서블 디스플레이(flexible display)를 포함할 수 있다. 디스플레이(111)는 터치스크린을 포함할 수 있다. 디스플레이(111)가 터치스크린을 포함하는 경우, 디스플레이(111)는 제1 단말기(100)의 사용자로부터 터치 입력을 수신할 수 있다.
디스플레이(111)는 데이터를 표시할 수 있다. 또는, 디스플레이(111)는 프로세서(150)에 의해 수행된 연산 결과를 표시할 수 있다. 또는, 디스플레이(111)는 메모리(130)에 저장된 데이터를 표시할 수 있다. 디스플레이(111)는 입출력 인터페이스(110)를 통해 수신되는 데이터 또는 통신 인터페이스(140)에 의해 수신된 데이터를 표시할 수 있다.
디스플레이(111)는 데이터를 표시할 수 있다. 디스플레이(111)는 프로세서(150)에서 수행된 연산 결과를 표시하고, 메모리(130)에 저장된 데이터를 표시할 수 있다. 디스플레이(111)는 통신 인터페이스(140)에 수신된 데이터를 표시할 수 있다. 예를 들어, 디스플레이(111)는 서버(300) 또는 제2 단말기 (200)로부터 수신되는 영상을 표시할 수 있다. 다른 예로서, 디스플레이(111)는 입출력 인터페이스(110)에 수신되는 영상을 표시할 수 있다.
메모리(130)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 메모리(130)는 예를 들어, 플래시(flash) 메모리, ROM(Read Only Memory), RAM(Random Access Memory), EEROM(Electrically Erasable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 하드디스크 드라이브(HDD, Hard Disk Drive), 또는 레지스터(register) 중 적어도 하나를 포함할 수 있다. 메모리(130)는 예를 들어, 파일 시스템, 데이터베이스, 또는 임베디드 데이터베이스 등을 포함할 수 있다.
메모리(130)는 데이터를 저장할 수 있다. 메모리(130)는 입출력 인터페이스(110)로부터 수신된 음성 데이터, 이미지 데이터 또는 사용자의 프로필 정보를 저장할 수 있다. 그리고, 메모리(130)는 프로세서(150)에 의해 수행된 연산 결과를 저장할 수 있다. 예를 들어, 메모리(130)는 프로세서(150)에 의해 인코딩된 음성을 저장할 수 있다. 메모리(130)는 통신 인터페이스(140)를 통해 외부에 출력할 데이터를 저장하거나 통신 인터페이스(140)를 통해 외부로부터 수신된 데이터를 저장할 수 있다.
메모리(130)는 소프트웨어 또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(130)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. 메모리(130)는 프로세서(150)에 의해 실행 가능한 명령어들을 저장할 수 있다.
통신 인터페이스(140)는 예를 들어, 3G 모듈, LTE 모듈, LTE-A 모듈, Wi-Fi 모듈, 와이기그(WiGig) 모듈, UWB(Ultra Wide Band) 모듈, 또는 랜카드 등과 같은 원거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신 인터페이스(140)는 마그네틱 보안 출력(MST) 모듈, 블루투스 모듈, NFC 모듈, RFID 모듈, 지그비(ZigBee) 모듈, Z-Wave 모듈, 또는 적외선 모듈 등과 같은 근거리용 네트워크 인터페이스를 포함할 수 있다. 또한, 통신 인터페이스(140)는 기타 네트워크 인터페이스를 포함할 수 있다.
통신 인터페이스(140)는 단말기(100)의 외부에 데이터를 출력하거나 외부로부터 데이터를 수신할 수 있다. 통신 인터페이스(140)는 서버(300) 또는 외부 장치에 데이터를 출력할 수 있다. 통신 인터페이스(140)는 서버(300) 및 외부 장치로부터 데이터를 수신할 수 있다. 통신 인터페이스(140)는 프로세서(150)에 의해 수행된 연산 결과를 외부에 출력할 수 있다.
몇몇 실시 예로서, 제1 단말기(100)에서 영상 통화 세션을 제공하는 어플리케이션이 실행되는 경우, 통신 인터페이스(140)는 제1 단말기(100)의 사용자로부터 촬영된 제1 영상 또는 제1 단말기(100)의 사용자의 제1 음성을 제2 단말기(200)에 전송할 수 있다.
또는, 제1 단말기(100)에서 영상 통화 세션을 제공하는 어플리케이션이 실행되는 경우, 통신 인터페이스(140)는 제2 단말기(200)로부터 제2 영상 또는 제2 음성을 수신할 수 있다.
프로세서(150) 또는 프로세서(150)에 포함된 구성 요소들 각각은 소프트웨어(software) 또는 하드웨어(hardware) 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계코드, 펌웨어 코드(firmware code), 임베디드 코드(embedded code), 및 애플리케이션(application) 등과 같은 프로그램 실행 명령어들로써 구현될 수 있다. 하드웨어는 전기 전자 회로, 프로세서, 컴퓨터, 압력 센서, 관성 센서, MEMS(microelectromechanical system), 수동 소자들, 또는 그것들의 조합일 수 있다.
프로세서(150)는 단말기(100)의 동작을 제어할 수 있다. 프로세서(150)는 단말기(100)에 포함된 각각의 구성요소와 서로 연결될 수 있고, 단말기(100)에 포함된 각각의 구성요소의 동작을 제어할 수 있다. 프로세서(150)는 입출력 인터페이스(110)에 의해 수신된 신호에 대한 응답으로, 단말기(100)의 동작을 제어할 수 있다.
몇몇 실시 예로서, 제1 단말기(100)의 프로세서(150)에 의해 영상 통화 세션을 제공하는 어플리케이션이 실행되는 경우, 프로세서(150)는 입출력 인터페이스(110)를 통해 수신되는 제1 단말기(100)의 사용자의 제1 음성 및 통신 인터페이스(140)를 통해 수신되는 제2 단말기(200)의 사용자의 제2 음성을 인식할 수 있다.
몇몇 실시예로서, 프로세서(150)는 준비된 기계학습 모델(Machine Learning Model)을 이용하여 제2 단말기(200)로부터 수신된 제2 음성에서 음성 키워드를 추출할 수 있다. 예를 들어, 음성 키워드는 욕설, 협박성(intimidatory) 발언, 혐오성 발언, 반사회적 발언, 반인류적 발언, 성적인 발언, 범죄성(criminality) 발언 또는 모욕적인 발언 중 적어도 하나에 대응할 수 있다.
제2 단말기(200)로부터 수신된 제2 음성에서 음성 키워드가 추출되면, 프로세서(150)는 제2 단말기(200)의 사용자의 신고를 유도하는 메시지를 디스플레이(111)에 출력할 수 있다. 또는, 제2 단말기(200)로부터 수신된 제2 음성에서 음성 키워드가 추출되지 않았지만, 제1 단말기(100)의 사용자로부터 신고 요청이 수신되는 경우, 프로세서(150)는 신고 요청의 수신 이전에 기계학습 모델을 통해 출력된 결과 데이터를 분석하여 기계학습 모델을 업데이트할 수 있다.
복수의 단말기(100, 200) 및 서버(300)의 자세한 동작 방법은 도 3 내지 도 11을 참조하여 설명될 수 있다.
도 3은 본 발명의 제2 단말기로부터 수신된 음성을 보여주는 그래프이다.
도 3을 참조하면, 제2 단말기(200)로부터 수신된 제2 음성을 그래프로 나타내면, 가로 축은 시간(time, t), 세로 축은 피쳐(feature, f)를 나타낼 수 있다. 제2 단말기(200)로부터 수신된 제2 음성이 음성 신호이므로, 피쳐(f)는 주파수(frequency)를 의미할 수 있다. 도 3에 도시된 그래프는 일 예로서, 시간의 흐름에 따라 일정한 크기를 갖는 주파수(f)를 도시하고 있으나, 제2 단말기(200)로부터 수신된 제2 음성의 주파수(f)의 크기는 음성에 따라 다양하게 변화할 수 있다.
본 발명의 실시예로서, 도 3에 도시된 그래프는 제2 단말기(200)로부터 수신된 제2 음성에 대하여 MFCC(Mel Frequency Cepstral Coefficient) 처리된 결과일 수 있다. MFCC는 소리의 특징을 추출하는 기법으로서, 입력된 소리를 일정 구간씩 나누어 각 구간에 대한 스펙트럼 분석을 통해 특징을 추출하는 기법이다.
도 4는 본 발명의 실시예에 따라서 제2 단말기로부터 수신되는 음성으로부터 생성되는 입력 피처 맵(Input Feature Map)과 컨볼루션 필터(K)을 보여주는 도면이다.
입력 피처 맵은 도 3에 도시되는 MFCC 데이터로부터 생성될 수 있는데, 도 4에 도시되는 바와 같이, 폭(w, width)×높이(h, height)×채널(c, channel) 방향 기준으로 t×1×f 크기로 생성될 수 있다. 본 발명의 실시예에 따른 필터(K)의 채널 방향의 길이는 입력 피처 맵의 채널 방향의 길이와 동일하다. 따라서, 하나의 필터(K)만으로도 입력 피처 맵에 포함된 모든 주파수 데이터를 커버할 수 있다.
본 발명의 실시예에 따른 입력 피처 맵, 및 필터(K)에 대응하는 입력 데이터(X1d)와 가중치 데이터(W1d)는 각각 다음과 같이 표현될 수 있다.
Figure pat00001
Figure pat00002
입력 피처 맵과 필터(K)의 채널 방향 길이가 동일하므로 필터(K)는 폭(w) 방향으로만 이동하면서 컨볼루션 연산을 수행하면 되므로, 컨볼루션 연산은 1차원 연산일 수 있다.
입력 피처 맵의 높이 또는 채널 방향의 길이가 1일 수 있으므로, 본 발명의 실시예에 따른 필터(K)는 폭 방향 길이를 제외한 나머지 방향의 길이가 입력 피처 맵에 대응하는 방향의 길이와 일치할 수 있다.
입력 데이터(X1d)와 상기 가중치 데이터(W1d) 사이에 컨볼루션 연산을 수행하게 되면 연산 횟수는 3×1×f×t×1 로 표현될 수 있다. 그리고, 필터(K)의 개수가 c` 개라고 가정하면, 연산 횟수는 3×1×f×t×1×c` 로 표현될 수 있다.
도 5는 도 4에서 설명된 입력 데이터(X1d)와 가중치 데이터(W1d) 사이에 컨볼루션 연산의 결과로 획득되는 출력 피처 맵(Output Feature Map)을 보여주는 도면이다.
도 4에서, 필터(K)의 개수를 c`개로 가정하였으므로 출력 피처 맵의 채널 방향 길이는 c`가 될 수 있다. 따라서, 출력 피처 맵에 대응하는 데이터는 다음과 같이 표현할 수 있다.
Figure pat00003
본 발명에 따른 필터(K)의 크기가 종래기술에서 사용되던 필터의 크기보다 더 크고 하나의 필터로 컨볼루션 연산이 수행되는 데이터의 개수도 더 많다. 따라서, 본 발명에 따른 컨볼루션 연산은 종래기술에 비하여 더 적은 수의 필터만으로도 컨볼루션 연산을 수행할 수 있다.
도 3 내지 도 5를 참조하여 설명된 제2 단말기(200)로부터 수신된 제2 음성에 대한 MFCC 처리 동작 및 MFCC 처리된 음성으로 입력 피처 맵 및 출력 피처 맵을 획득하는 동작은 프로세서(150)에서 수행될 수 있다.
도 6은 본 발명의 실시예에 따른 음성 키워드 추출 알고리즘을 이용하여 음성 키워드를 추출하는 방법을 보여주는 순서도이다.
S110 단계에서, 제1 단말기(100)의 프로세서(150)는 제2 단말기(200)로부터 수신된 제2 음성으로부터 입력 피처 맵을 획득할 수 있다. 몇몇 실시 예로서, 프로세서(150)는 제2 단말기(200)로부터 수신된 제2 음성에 대하여 MFCC 처리된 결과로부터 t×1×f (폭×높이×채널) 크기의 입력 피처 맵을 획득할 수 있다. 여기서, t는 시간, f는 주파수를 의미할 수 있다. 입력 피처 맵은 일정 시간(t) 동안 획득된 입력 음성을 시간(t)에 대한 주파수(f)로 표현할 수 있다. 그리고, 입력 피처 맵에서 각각의 주파수 데이터는 플로팅 포인트(floating point)로 표현될 수 있다.
S120 단계에서, 제1 단말기(100)의 프로세서(150)는 입력 피처 맵과 동일한 채널(channel) 길이를 갖는 n개의 서로 다른 필터들 각각에 대하여 입력 피처 맵과의 제1 컨볼루션 연산을 수행할 수 있다. n개의 서로 다른 필터는 각각 서로 다른 음성을 판별할 수 있으며, 필터의 폭은 w1으로 정의될 수 있다.
제1 컨볼루션 연산에서는 '1'의 스트라이드(stride) 값이 적용될 수 있다. 스트라이드는 컨볼루션 연산에서 필터가 입력 데이터를 건너뛰는 간격을 의미하는데, 스트라이드 값으로 '1' 이 적용되면 건너뛰는 데이터 없이 모든 입력 데이터와 컨볼루션 연산을 수행하는 것으로 이해할 수 있다.
S130 단계에서, 제1 단말기(100)의 프로세서(150)는 입력 피처 맵과 동일한 채널 길이를 갖는 서로 다른 필터들 각각에 대하여 제1 컨볼루션 연산의 결과와의 제2 컨볼루션 연산을 수행할 수 있다. 제2 컨볼루션 연산에 사용되는 필터의 개수는 m개일 수 있으며, 필터의 폭은 w2로 정의될 수 있다.
이 때, 제2 컨볼루션 연산에 사용되는 필터의 폭(w2)과 제1 컨볼루션 연산에 사용되는 필터의 폭(w1)은 서로 같을 수도 있고, 서로 다를 수도 있다. 또한, 제2 컨볼루션 연산에 사용되는 m 개의 서로 다른 필터는, 각각 서로 다른 음성을 판별할 수 있다.
S140 단계에서, 제1 단말기(100)의 프로세서(150)는 제2 컨볼루션 연산의 결과를 출력 피처 맵으로 저장할 수 있다. 출력 피처 맵은 음성 키워드를 추출하기 전에 최종적으로 획득되는 결과로서, 도 5와 같은 형태를 가질 수 있다. 출력 피처 맵은 제1 단말기(100)의 메모리(130)에 저장될 수 있다.
S150 단계에서, 제1 단말기(100)의 프로세서(150)는 출력 피처 맵으로부터 음성 키워드를 추출할 수 있다. 예를 들어, 프로세서(150)는 출력 피처 맵에 풀링 레이어(Pooling Layer), 풀 커넥트 레이어(Full-Connect Layer), 소프트맥스(Softmax) 연산을 수행함으로써 결과 데이터를 생성할 수 있다. 프로세서(150)는 결과 데이터에서 음성 키워드를 추출할 수 있다. 몇몇 실시예로서, 프로세서(150)는 결과 데이터의 확률값이 임계값 이상이면, 음성 키워드로서 추출하고, 결과 데이터의 확률값이 임계값 미만이면 음성 키워드를 추출하지 못할 수 있다. 예를 들어, 확률값은 결과 데이터가 음성 키워드로 분류될 수 있는 확률을 의미할 수 있다.
본 발명의 실시예에 따른 제1 단말기(100)는 도 6을 참조하여 설명된 음성 키워드 추출 방법을 이용하여 제1 단말기(100)의 사용자가 영상 통화 중 상대방으로부터 부적절한 음성에 노출되는 것을 방지할 수 있고, 이에 대한 설명은 도 7 내지 도 11을 참조하여 자세히 설명될 수 있다.
도 7은 본 발명의 실시예에 따른 음성 키워드 추출 방법을 이용하여 영상 통화 중 음성을 검열하는 방법을 보여주는 순서도이다.
S210 단계에서, 제1 단말기(100)는 제2 단말기(200)와 영상 통화 세션을 수립할 수 있다. 몇몇 실시예로서, 제1 단말기(100)의 프로세서(150)는 영상 통화 세션을 제공하는 어플리케이션을 실행하고, 어플리케이션을 통해 제2 단말기(200)와 매치될 수 있다.
S220 단계에서, 제1 단말기(100)의 프로세서(150)는 제2 단말기(200)로부터 수신되는 음성을 겸열하기 위한 음성 키워드 추출 모델을 준비할 수 있다. 몇몇 실시예로서, 음성 키워드 추출 모델은 인공지능(Artificial Intelligence, AI) 시스템을 통해 생성될 수 있고, 도 6을 참조하여 설명된 음성 키워드 추출 알고리즘을 포함할 수 있다.
S230 단계에서, 제1 단말기(100)의 프로세서(150)는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단할 수 있다. 프로세서(150)는 음성 키워드의 추출 여부에 따라 후속 동작을 수행할 수 있다. 음성 키워드의 추출 여부를 판단하는 방법은 도 6을 참조하여 설명된 음성 키워드 추출 방법과 유사 또는 동일할 수 있다.
도 8 및 도 9는 음성 키워드의 추출 여부에 따른 단말기의 동작 방법을 보여주는 순서도이다.
도 7 및 도 8을 참조하면, S231 단계에서, 제1 단말기(100)의 프로세서(150)는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에 음성 키워드가 포함되지 않은 것으로 판단할 수 있다. 몇몇 실시예로서, 프로세서(150)는 결과 데이터의 확률값이 임계값 미만인 경우, 결과 데이터에 음성 키워드가 포함되지 않은 것으로 판단할 수 있다. 예를 들어, 확률값은 결과 데이터가 음성 키워드로 분류될 수 있는 확률을 의미할 수 있다.
S233 단계에서, 프로세서(150)는 제2 단말기(200)와의 영상 통화 세션을 유지할 수 있다. 제1 단말기(100) 및 제2 단말기(200) 사이의 영상 통화 세션은 제1 단말기(100)의 사용자 또는 제2 단말기(200)의 사용자 중 한 명에 의해 중단 요청이 수신되기 전까지 유지될 수 있다.
도 7 및 도 9를 참조하면, S232 단계에서, 제1 단말기(100)의 프로세서(150)는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에 음성 키워드가 포함된 것으로 판단할 수 있다. 몇몇 실시예로서, 프로세서(150)는 결과 데이터의 확률값이 임계값 이상인 경우, 결과 데이터에 음성 키워드가 포함된 것으로 판단할 수 있다.
S234 단계에서, 제1 단말기(100)의 프로세서(150)는 제2 단말기(200)의 사용자를 신고하도록 유도하는 메시지를 디스플레이(111)에 표시할 수 있다. 제1 단말기(100)의 사용자가 제2 단말기(200)의 사용자를 신고하는 경우, 제2 단말기(200)의 사용자는 부적절한 사용자로 서버(300)에 저장될 수 있고, 제1 단말기(100)와 제2 단말기(200) 사이의 영상 통화 세션은 중단될 것이다.
도 10은 본 발명의 다른 실시예에 따른 음성 키워드 추출 방법을 이용하여 영상 통화 중 음성을 검열하는 방법을 보여주는 순서도이다.
S310 단계에서, 제1 단말기(100)는 제2 단말기(200)와 영상 통화 세션을 수립할 수 있다. 몇몇 실시예로서, 제1 단말기(100)의 프로세서(150)는 영상 통화 세션을 제공하는 어플리케이션을 실행하고, 어플리케이션을 통해 제2 단말기(200)와 매치될 수 있다.
S320 단계에서, 제1 단말기(100)의 프로세서(150)는 제2 단말기(200)로부터 수신되는 음성을 겸열하기 위한 음성 키워드 추출 모델을 준비할 수 있다. 몇몇 실시예로서, 음성 키워드 추출 모델은 도 6을 참조하여 설명된 음성 키워드 추출 알고리즘을 포함할 수 있다.
S330 단계에서, 제1 단말기(100)의 프로세서(150)는 음성 키워드 추출 모델을 통해 출력된 결과 데이터에 음성 키워드가 포함되지 않은 것으로 판단할 수 있다. 몇몇 실시예로서, 프로세서(150)는 결과 데이터의 확률값이 임계값 미만인 경우, 결과 데이터에 음성 키워드가 포함되지 않은 것으로 판단할 수 있다.
S340 단계에서, 제1 단말기(100)의 프로세서(150)가 음성 키워드 추출 모델을 통해 출력된 결과 데이터에 음성 키워드가 포함되지 않은 것으로 판단했지만, 제1 단말기(100)의 사용자로부터 신고 요청을 수신할 수 있다.
즉, 음성 키워드 추출 모델을 통해 음성 키워드를 검출하지 못했지만, 제1 단말기(100)의 사용자가 제2 단말기(200)의 사용자로부터 부적절한 음성을 들었을 경우, 제1 단말기(100)는 제1 단말기(100)의 사용자로부터 신고 요청을 수신할 수 있다. 제1 단말기(100)의 프로세서(150)는 수신된 신고 요청에 기초하여 음성 키워드 추출 모델을 업데이트할 수 있고, 이에 대해서 도 11을 참조하여 자세히 설명될 수 있다.
도 11은 본 발명의 다른 실시예에 따른 음성 키워드 추출 모델을 업데이트하는 방법을 보여주는 순서도이다.
도 10 및 도 11을 참조하면, S410 단계에서, 제1 단말기(100)의 프로세서(150)는 신고 요청이 수신되기 이전에 음성 키워드 추출 모델을 통해 출력된 결과 데이터를 분석할 수 있다.
S420 단계에서, 제1 단말기(100)의 프로세서(150)는 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 음성 키워드로 분류할 수 있다. 좀 더 구체적으로, 프로세서(150)는 결과 데이터에서 임계값 이상의 확률값을 갖는 데이터가 없더라도 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 음성 키워드로 분류할 수 있다.
S430 단계에서, 제1 단말기(100)의 프로세서(150)는 음성 키워드로 분류된 음성 이용하여 음성 키워드 추출 모델을 업데이트할 수 있다. 제1 단말기(100)는 업데이트된 음성 키워드 추출 모델을 서버(300)에 전송할 수 있다.
몇몇 실시예로서, 프로세서(150)는 업데이트된 음성 키워드 추출 모델을 이용해서 제1 단말기(100)가 영상 통화를 수행하는 동안 상대 단말기로부터 수신되는 음성을 검열할 수 있다. 프로세서(150)가 수신된 음성에 업데이트된 음성 키워드 추출 모델을 적용하여 음성 키워드를 검출하고, 신고를 유도하는 메시지를 표시하지만, 제1 단말기(100)의 사용자로부터 신고 요청이 수신되지 않을 수 있다. 이와 같은 경우, 프로세서(150)는 업데이트된 음성 키워드 추출 모델의 정확도가 기존의 음성 키워드 추출 모델의 정확도보다 낮다고 판단하고, 업데이트된 음성 키워드 추출 모델 대신 기존의 음성 키워드 추출 모델을 사용하여 음성을 검열할 수 있다.
도 1 내지 도 11을 참조하여 설명한 바와 같이, 복수의 단말기(100, 200) 각각의 사용자는 영상 통화 세션을 제공하는 어플리케이션을 통해 상대방과 영상 통화를 수행할 때, 상대방으로부터의 부적절한 음성에 노출되는 것이 방지될 수 있다.
또한, 복수의 단말기(100, 200) 각각의 사용자는 영상 통화 세션을 제공하는 어플리케이션을 통해 상대방과 영상 통화를 수행할 때, 상대방으로부터의 부적절한 음성에 의해 느낄 수 있는 성적 수치심 또는 불쾌함을 피할 수 있다.
복수의 단말기(100, 200)는 영상 통화 세션을 제공하는 어플리케이션을 통해 사용자 간의 건전한 영상 통화를 유도할 수 있다.
이상에서 설명된 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다.
또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 또는 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 출력 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 제1 단말기와 제2 단말기 사이의 영상 통화 세션을 수립하는 단계;
    상기 제1 단말기가 상기 제2 단말기로부터 음성을 수신하는 단계;
    상기 제1 단말기가 상기 음성을 검열하기 위한 음성 키워드 추출 모델을 준비하는 단계;
    상기 제1 단말기가 상기 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하는 단계; 및
    상기 제1 단말기가 상기 판단 결과에 기초하여 상기 제2 단말기의 사용자를 신고하도록 유도하는 메시지를 생성할지 여부를 결정하는 단계를 포함하는 단말기의 동작 방법.
  2. 제 1 항에 있어서,
    상기 음성 키워드의 추출 여부를 판단하는 단계에서는,
    상기 음성으로부터 입력 피처 맵(Input Feature Map)을 획득하고,
    상기 입력 피처 맵과 동일한 채널 길이를 갖되 폭이 상기 입력 피처 맵의 폭보다 작은 n개의 서로 다른 필터들 각각에 대하여 상기 입력 피처 맵과 제1 컨볼루션(convolution) 연산을 수행하고,
    상기 입력 피처 맵과 동일한 채널 길이를 갖는 서로 다른 필터들 각각에 대하여 상기 제1 컨볼루션 연산의 결과와의 제2 컨볼루션 연산을 수행하고,
    상기 제1 컨볼루션 연산 및 상기 제2 컨볼루션 연산의 결과를 출력 피처 맵(Output Feature Map)으로 생성하는 단말기의 동작 방법.
  3. 제 2 항에 있어서,
    상기 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하는 단계에서는,
    상기 출력 피처 맵에 풀링 레이어(Pooling Layer), 풀 커넥트 레이어(Full-Connect Layer), 및 소프트맥스(Softmax) 연산을 수행하여 상기 결과 데이터를 생성하는 단말기의 동작 방법.
  4. 제 2 항에 있어서,
    상기 제1 컨볼루션 연산의 스트라이드(stride) 값은 1인 단말기의 동작 방법.
  5. 제 1 항에 있어서,
    상기 음성 키워드의 추출 여부를 판단하는 단계에서 상기 음성에서 상기 음성 키워드가 추출되지 않은 것으로 판단되면,
    상기 메시지를 생성할지 여부를 결정하는 단계에서는,
    상기 메시지를 생성하지 않고, 제2 단말기와의 상기 영상 통화 세션을 유지하는 단말기의 동작 방법.
  6. 제 1 항에 있어서,
    상기 음성 키워드의 추출 여부를 판단하는 단계에서 상기 음성에서 상기 음성 키워드가 추출된 것으로 판단되면,
    상기 메시지를 생성할지 여부를 결정하는 단계에서는,
    상기 제2 단말기의 사용자를 신고하도록 유도하는 메시지를 상기 제1 단말기의 사용자에게 출력하고,
    상기 제1 단말기의 사용자가 상기 제2 단말기의 사용자에 대해 신고 요청을 하는 경우, 상기 제1 단말기와 상기 제2 단말기 사이의 상기 영상 통화 세션은 중단되는 단말기의 동작 방법.
  7. 제 1 항에 있어서,
    상기 제1 단말기가 상기 제1 단말기의 사용자로부터 상기 제2 단말기의 사용자에 대한 신고 요청을 수신하는 단계를 더 포함하는 단말기의 동작 방법.
  8. 제 7 항에 있어서,
    상기 음성 키워드 추출 모델을 통해 출력된 상기 결과 데이터를 분석하는 단계;
    상기 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 상기 음성 키워드로 분류하는 단계; 및
    상기 음성 키워드로 분류된 음성을 이용하여 상기 음성 키워드 추출 모델을 업데이트하는 단계를 더 포함하고,
    상기 음성 키워드로 분류된 음성은 상기 음성 키워드의 추출 여부를 판단하는 단계에서 음성 키워드로 추출되지 않은 음성인 단말기의 동작 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  10. 제1 음성을 수신하는 입출력 인터페이스;
    영상 통화 세션을 통해, 상기 제1 음성을 상대방 단말기에 전송하고, 상기 상대방 단말기에 의해 획득되는 제2 음성을 수신하는 통신 인터페이스;
    상기 제2 음성을 검열하기 위한 음성 키워드 추출 모델을 준비하는 프로세서를 포함하고;
    상기 프로세서는 상기 음성 키워드 추출 모델을 통해 출력된 결과 데이터에서 음성 키워드의 추출 여부를 판단하고, 상기 판단 결과에 기초하여 상기 상대방 단말기의 사용자를 신고하도록 유도하는 메시지를 생성할지 여부를 결정하는 단말기.
  11. 제 10 항에 있어서,
    상기 프로세서는
    상기 제2 음성으로부터 입력 피처 맵(Input Feature Map)을 획득하고, 상기 입력 피처 맵과 동일한 채널 길이를 갖되 폭이 상기 입력 피처 맵의 폭보다 작은 n개의 서로 다른 필터들 각각에 대하여 상기 입력 피처 맵과 제1 컨볼루션 연산을 수행하고,
    상기 입력 피처 맵과 동일한 채널 길이를 갖는 서로 다른 필터들 각각에 대하여 상기 제1 컨볼루션 연산의 결과와의 제2 컨볼루션 연산을 수행하고,
    제1 컨볼루션 연산 및 제2 컨볼루션 연산의 결과를 출력 피처 맵으로 생성하고,
    상기 출력 피처 맵에 풀링 레이어, 풀 커넥트 레이어, 및 소프트맥스 연산을 수행하여 상기 결과 데이터를 생성하는 단말기.
  12. 제 11 항에 있어서,
    상기 출력 피처 맵 및 상기 결과 데이터를 저장하는 메모리를 더 포함하는 단말기.
  13. 제 10 항에 있어서,
    상기 프로세서는,
    상기 제2 음성에서 상기 음성 키워드가 추출되지 않는 경우,
    상기 메시지를 생성하지 않고, 상대방 단말기와의 상기 영상 통화 세션을 유지하는 단말기.
  14. 제 10 항에 있어서,
    상기 프로세서는,
    상기 제2 음성에서 상기 음성 키워드가 추출되지 않았지만, 상기 단말기의 사용자로부터 신고 요청이 수신되는 경우,
    상기 신고 요청이 수신되기 이전에 상기 음성 키워드 추출 모델을 통해 출력된 상기 결과 데이터를 분석하고,
    상기 결과 데이터 중 확률값이 제일 높은 데이터에 대응하는 음성을 상기 음성 키워드로 분류하는 단말기.
  15. 제 10 항에 있어서,
    상기 프로세서는,
    상기 제2 음성에서 상기 음성 키워드가 추출되는 경우,
    상기 상대방 단말기의 사용자를 신고하도록 유도하는 메시지를 상기 단말기의 사용자에게 출력하고,
    상기 단말기의 사용자가 상기 상대방 단말기의 사용자에 대해 신고 요청을 하는 경우, 상기 상대방 단말기와의 상기 영상 통화 세션은 중단하는 단말기.
KR1020190130044A 2019-09-06 2019-10-18 단말기 및 그것의 동작 방법 KR102315211B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190130044A KR102315211B1 (ko) 2019-10-18 2019-10-18 단말기 및 그것의 동작 방법
US17/013,391 US11854536B2 (en) 2019-09-06 2020-09-04 Keyword spotting apparatus, method, and computer-readable recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190130044A KR102315211B1 (ko) 2019-10-18 2019-10-18 단말기 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20210046393A true KR20210046393A (ko) 2021-04-28
KR102315211B1 KR102315211B1 (ko) 2021-10-21

Family

ID=75721102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130044A KR102315211B1 (ko) 2019-09-06 2019-10-18 단말기 및 그것의 동작 방법

Country Status (1)

Country Link
KR (1) KR102315211B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090015678A (ko) * 2007-08-09 2009-02-12 한국과학기술원 언어청정로봇
KR20190007934A (ko) * 2017-07-14 2019-01-23 주식회사 하이퍼커넥트 통신 장치, 서버 및 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090015678A (ko) * 2007-08-09 2009-02-12 한국과학기술원 언어청정로봇
KR20190007934A (ko) * 2017-07-14 2019-01-23 주식회사 하이퍼커넥트 통신 장치, 서버 및 동작 방법

Also Published As

Publication number Publication date
KR102315211B1 (ko) 2021-10-21

Similar Documents

Publication Publication Date Title
KR102311603B1 (ko) 단말기 및 그것의 동작 방법
US10701315B2 (en) Video communication device and video communication method
US20220310095A1 (en) Speech Detection Method, Prediction Model Training Method, Apparatus, Device, and Medium
TW202105199A (zh) 資料更新方法、電子設備和儲存介質
US11606397B2 (en) Server and operating method thereof
KR102282963B1 (ko) 단말기, 서버 및 그것의 동작 방법
KR20180028341A (ko) 단말 및 그 제어 방법
US20210243407A1 (en) Terminal and operating method thereof
US20180103234A1 (en) Device and method of displaying images
CN110532956B (zh) 图像处理方法及装置、电子设备和存储介质
KR102454515B1 (ko) 네트워크 최적화 방법 및 장치, 이미지 처리 방법 및 장치, 및 기억 매체
CN110659690B (zh) 神经网络的构建方法及装置、电子设备和存储介质
US11553157B2 (en) Device and method of displaying images
KR101989842B1 (ko) 단말기 및 그것의 영상 처리 방법
CN111242303A (zh) 网络训练方法及装置、图像处理方法及装置
JP2022137114A (ja) 端末機及びその動作方法
KR102293416B1 (ko) 통신 장치, 서버 및 그것의 통신 방법
KR102219781B1 (ko) 서버 및 그것의 동작 방법
KR102315211B1 (ko) 단말기 및 그것의 동작 방법
KR102051828B1 (ko) 영상 통화 방법 및 영상 통화 중개 장치
US20200410605A1 (en) Mobile, server and operating method thereof
KR101677622B1 (ko) 영상 표시 방법 및 그 장치
CN112437279B (zh) 视频分析方法及装置
CN111479060B (zh) 图像采集方法、装置、存储介质及电子设备
US20240163362A1 (en) Method for modifying a parameter of a first device, and electronic device associated thereto

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right