KR20240058549A - 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법 - Google Patents

오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20240058549A
KR20240058549A KR1020220139406A KR20220139406A KR20240058549A KR 20240058549 A KR20240058549 A KR 20240058549A KR 1020220139406 A KR1020220139406 A KR 1020220139406A KR 20220139406 A KR20220139406 A KR 20220139406A KR 20240058549 A KR20240058549 A KR 20240058549A
Authority
KR
South Korea
Prior art keywords
data
layer
audio
query
processor
Prior art date
Application number
KR1020220139406A
Other languages
English (en)
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 KR1020220139406A priority Critical patent/KR20240058549A/ko
Priority to PCT/KR2023/013548 priority patent/WO2024090778A1/ko
Publication of KR20240058549A publication Critical patent/KR20240058549A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Machine Translation (AREA)
  • Traffic Control Systems (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 신경망 모델이 저장된 메모리 및 메모리와 연결되어 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하며, 프로세서는 오디오 데이터를 주파수 영역으로 변환하고, 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득하고, 인코딩 데이터를 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득하고, query 데이터를 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 attention weight를 획득하고, attention weight 및 value 데이터를 element wise product하여 context 데이터를 획득하고, context 데이터 및 query 데이터를 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득하고, 객체 분리 마스크를 시간 영역으로 변환하여 오디오 데이터에 포함된 오디오 객체를 획득하며, 주파수 영역으로 변환된 오디오 데이터는 1차원의 데이터 형태이고, 인코딩 데이터, query 데이터, key 데이터, value 데이터, scored query 데이터, attention weight 및 context 데이터는 크기가 동일한 1차원의 데이터 형태일 수 있다.

Description

오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS FOR SEPARATING AUDIO OBJECTS FROM AUDIO DATA AND CONTROL METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 오디오 데이터로부터 오디오 객체를 분리하는 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 따라 다양한 기능을 제공하는 전자 장치가 개발되고 있다. 특히, 최근에는 다양한 딥러닝 기술을 활용하여 오디오 데이터로부터 사람의 음성과 같은 오디오 객체를 분리하는 기법들이 개발되고 있다.
예를 들어, self-attentive gated RNNs을 활용하여 일정 시간의 과거 오디오 데이터로부터 실시간으로 오디오 객체를 분리할 수 있다. 다만, 네트워크 모델의 latency가 최소 138ms로 TV와 같은 매우 짧은 시간의 latency(2ms이내)가 보장되어야 하는 멀티미디어 장치에서는 적용이 어려운 문제가 있다.
또는, local self-attention을 활용하여 종래의 CNN(convolution neural network), LSTM(long short-term memory) 대비 계산량을 줄여 실시간으로 음성을 강화할 수도 있다. 다만, 29~32개의 과거 오디오 프레임들을 실시간으로 저장하고 있어야 하기 때문에 다양한 멀티미디어 장치에 적용하기에는 한계가 있다.
이상과 같이 종래의 딥러닝 기반의 고성능 오디오 객체 분리 기술은 non-casual 시스템을 기반으로 타겟 오디오 전체의 객체 분리 성능에만 초점을 맞춘 것이 대부분이다. non-casual 시스템은 현 시점보다 미래의 오디오 데이터가 필요한 구조이기 때문에 실시간 오디오 객체 분리가 구조적으로 불가능하다.
좀더 최근의 실시간성 보장을 위한 딥러닝 기반 오디오 객체 분리 기술은 일정 시간 과거 오디오 데이터를 활용하여 오디오 객체를 분리한다. 다만, 이 경우에도 일정 시간의 과거 데이터를 활용하기 위한 메모리 공간이 확보되어야 하고, 멀티미디어 장치에 따라 활용 가능한 메모리 크기가 다양하기 때문에 과거 데이터를 활용한 실시간 딥러닝 기술은 멀티미디어 장치 특성에 따라 제약이 있을 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 신경망 모델이 저장된 메모리 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하며, 상기 프로세서는 오디오 데이터를 주파수 영역으로 변환하고, 상기 주파수 영역으로 변환된 오디오 데이터를 상기 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득하고, 상기 인코딩 데이터를 상기 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득하고, 상기 query 데이터를 상기 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고, 상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 attention weight를 획득하고, 상기 attention weight 및 상기 value 데이터를 element wise product하여 context 데이터를 획득하고, 상기 context 데이터 및 상기 query 데이터를 상기 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득하고, 상기 객체 분리 마스크를 시간 영역으로 변환하여 상기 오디오 데이터에 포함된 오디오 객체를 획득하며, 상기 주파수 영역으로 변환된 오디오 데이터는 1차원의 데이터 형태이고, 상기 인코딩 데이터, 상기 query 데이터, 상기 key 데이터, 상기 value 데이터, 상기 scored query 데이터, 상기 attention weight 및 상기 context 데이터는 크기가 동일한 1차원의 데이터 형태일 수 있다.
또한, 상기 제1 레이어는 fully connected 레이어 및 제1 activation 레이어를 포함하며, 상기 프로세서는 상기 주파수 영역으로 변환된 오디오 데이터를 상기 fully connected 레이어 및 상기 제1 activation 레이어에 순차적으로 입력하여 상기 인코딩 데이터를 획득하며, 상기 제1 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
그리고, 상기 제2 레이어는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며, 상기 프로세서는 상기 인코딩 데이터를 상기 query 생성 레이어, 상기 key 생성 레이어 및 상기 value 생성 레이어 각각과 element wise product하여 상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득할 수 있다.
또한, 상기 query 데이터는 1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며, 상기 제3 레이어는 Fs×Fs의 형태이고, 상기 프로세서는 상기 query 데이터를 상기 제3 레이어에 입력하여 1×Fs의 형태의 상기 scored query 데이터를 획득하고, 상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 주파수 성분에 기초한 상기 attention weight를 획득할 수 있다.
그리고, 상기 프로세서는 상기 attention weight 및 상기 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 상기 context 데이터를 획득할 수 있다.
또한, 상기 제4 레이어는 디코딩 레이어 및 제2 activation 레이어를 포함하며, 상기 프로세서는 상기 context 데이터 및 상기 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고, 상기 결합 데이터를 상기 디코딩 레이어 및 상기 제2 activation 레이어에 순차적으로 입력하여 상기 객체 분리 마스크를 획득하며, 상기 제2 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
그리고, 통신 인터페이스를 더 포함하며, 상기 프로세서는 상기 통신 인터페이스를 통해 상기 오디오 신호가 수신되면, 상기 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 상기 주파수 영역으로 변환할 수 있다.
또한, 상기 프로세서는 상기 오디오 신호 중 상기 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 상기 주파수 영역으로 변환할 수 있다.
그리고, 상기 프로세서는 상기 오디오 데이터를 FFT(fast fourier transform)하여 상기 주파수 영역으로 변환하고, 상기 객체 분리 마스크를 inverst FFT하여 상기 시간 영역으로 변환할 수 있다.
또한, 상기 신경망 모델은 복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고, 상기 복수의 샘플 오디오 신호 각각은 상기 복수의 샘플 오디오 객체 중 상기 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 오디오 데이터를 주파수 영역으로 변환하는 단계, 상기 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득하는 단계, 상기 인코딩 데이터를 상기 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득하는 단계, 상기 query 데이터를 상기 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하는 단계, 상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 attention weight를 획득하는 단계, 상기 attention weight 및 상기 value 데이터를 element wise product하여 context 데이터를 획득하는 단계, 상기 context 데이터 및 상기 query 데이터를 상기 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득하는 단계 및 상기 객체 분리 마스크를 시간 영역으로 변환하여 상기 오디오 데이터에 포함된 오디오 객체를 획득하는 단계를 포함하며, 상기 주파수 영역으로 변환된 오디오 데이터는 1차원의 데이터 형태이고, 상기 인코딩 데이터, 상기 query 데이터, 상기 key 데이터, 상기 value 데이터, 상기 scored query 데이터, 상기 attention weight 및 상기 context 데이터는 크기가 동일한 1차원의 데이터 형태일 수 있다.
또한, 상기 제1 레이어는 fully connected 레이어 및 제1 activation 레이어를 포함하며, 상기 인코딩 데이터를 획득하는 단계는 상기 주파수 영역으로 변환된 오디오 데이터를 상기 fully connected 레이어 및 상기 제1 activation 레이어에 순차적으로 입력하여 상기 인코딩 데이터를 획득하며, 상기 제1 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
그리고, 상기 제2 레이어는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며, 상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득하는 단계는 상기 인코딩 데이터를 상기 query 생성 레이어, 상기 key 생성 레이어 및 상기 value 생성 레이어 각각과 element wise product하여 상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득할 수 있다.
또한, 상기 query 데이터는 1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며, 상기 제3 레이어는 Fs×Fs의 형태이고, 상기 scored query 데이터를 획득하는 단계는 상기 query 데이터를 상기 제3 레이어에 입력하여 1×Fs의 형태의 상기 scored query 데이터를 획득하고, 상기 attention weight를 획득하는 단계는 상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 주파수 성분에 기초한 상기 attention weight를 획득할 수 있다.
그리고, 상기 context 데이터를 획득하는 단계는 상기 attention weight 및 상기 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 상기 context 데이터를 획득할 수 있다.
또한, 상기 제4 레이어는 디코딩 레이어 및 제2 activation 레이어를 포함하며, 상기 객체 분리 마스크를 획득하는 단계는 상기 context 데이터 및 상기 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고, 상기 결합 데이터를 상기 디코딩 레이어 및 상기 제2 activation 레이어에 순차적으로 입력하여 상기 객체 분리 마스크를 획득하며, 상기 제2 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
그리고, 상기 오디오 신호를 수신하는 단계를 더 포함하며, 상기 변환하는 단계는 상기 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 상기 주파수 영역으로 변환할 수 있다.
또한, 상기 변환하는 단계는 상기 오디오 신호 중 상기 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 상기 주파수 영역으로 변환할 수 있다.
그리고, 상기 변환하는 단계는 상기 오디오 데이터를 FFT(fast fourier transform)하여 상기 주파수 영역으로 변환하고, 상기 오디오 객체를 획득하는 단계는 상기 객체 분리 마스크를 inverst FFT하여 상기 시간 영역으로 변환할 수 있다.
또한, 상기 신경망 모델은 복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고, 상기 복수의 샘플 오디오 신호 각각은 상기 복수의 샘플 오디오 객체 중 상기 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블럭도이다.
도 3은 본 개시의 일 실시 예에 따른 오디오 객체를 획득하는 방법을 전반적으로 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 인코딩 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 query 데이터, key 데이터 및 value 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 attention weight를 획득하는 방법을 종래 기술과 비교하여 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 context 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 객체 분리 마스크를 획득하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 목적은 현재 시간 구간의 단일 프레임 오디오 데이터를 이용하여 실시간으로 고성능 오디오 객체 분리가 가능한 전자 장치 및 그 제어 방법을 제공함에 있다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블럭도이다.
전자 장치(100)는 오디오 데이터로부터 오디오 객체를 획득할 수 있다. 예를 들어, 전자 장치(100)는 컴퓨터 본체, 셋탑박스(STB), 서버, AI 스피커, TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 스마트 안경, 스마트 워치 등으로 구현되어 오디오 데이터로부터 오디오 객체를 획득할 수 있다.
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 오디오 데이터로부터 오디오 객체를 획득할 수 있다면 어떠한 장치라도 무방하다.
도 2에 따르면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
메모리(110)는 프로세서(120) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(110)에는 전자 장치(100) 또는 프로세서(120)의 동작에 필요한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(120)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 또는, 메모리(110)에는 전자 장치(100) 또는 프로세서(120)의 특정 작업을 수행하는 복수의 인스트럭션이 인스트럭션 집합체(instruction set)로서 저장될 수도 있다.
메모리(110)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(110)에는 신경망 모델 등이 저장될 수 있다.
메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의해 인스트럭션, 인스트럭션 집합체 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(120)는 전자 장치(100)의 각 구성과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(120)는 메모리(110), 마이크(미도시), 통신 인터페이스(미도시) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
적어도 하나의 프로세서(120)는 CPU, GPU(Graphics Processing Unit), APU(Accelerated Processing Unit), MIC(Many Integrated Core), NPU(Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 적어도 하나의 프로세서(120)는 전자 장치(100)의 다른 구성 요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 적어도 하나의 프로세서(120)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 적어도 하나의 프로세서(120)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작, 제3 동작이 수행될 때, 제1 동작, 제2 동작 및 제3 동작 모두 제1 프로세서에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 제1 프로세서(예를 들어, 범용 프로세서)에 의해 수행되고 제3 동작은 제2 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
적어도 하나의 프로세서(120)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 적어도 하나의 프로세서(120)가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작 및 제3 동작이 수행될 때, 제1 동작, 제2 동작 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행되고 제3 동작은 멀티 코어 프로세서에 포함된 제2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 적어도 하나의 프로세서(120)는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있으며, 여기서 코어는 CPU, GPU, APU, MIC, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다. 다만, 이하에서는 설명의 편의를 위해, 프로세서(120)라는 표현으로 전자 장치(100)의 동작을 설명한다.
프로세서(120)는 오디오 데이터를 주파수 영역으로 변환할 수 있다. 예를 들어, 프로세서(120)는 오디오 데이터를 FFT(fast fourier transform)하여 주파수 영역으로 변환할 수 있다. 주파수 영역으로 변환된 오디오 데이터는 1차원의 데이터 형태일 수 있다.
여기서, 전자 장치(100)는 통신 인터페이스를 더 포함하며, 프로세서(120)는 통신 인터페이스를 통해 오디오 신호가 순차적으로 수신되면, 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 주파수 영역으로 변환할 수 있다. 예를 들어, 프로세서(120)는 512개의 오디오 데이터를 주파수 영역으로 변환할 수 있다. 오디오 신호가 44kHz인 경우, 512개의 오디오 데이터는 약 0.011초에 불과하며, 프로세서(120)는 매우 짧은 시간 구간의 오디오 데이터만을 이용하기 때문에 실시간 처리가 가능하고, 과거의 오디오 데이터를 저장하기 위한 저장 공간이 불필요하다.
프로세서(120)는 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 주파수 영역으로 변환할 수 있다. 예를 들어, 프로세서(120)는 제1 시간 구간의 512개의 오디오 데이터를 주파수 영역으로 변환하고, 제1 시간 구간 직후 256개의 오디오 데이터가 추가로 수신되면, 제1 시간 구간의 최신의 256개의 오디오 데이터와 추가로 수신된 256개의 데이터를 주파수 영역으로 변환할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 얼마든지 다양한 개수의 오디오 데이터를 주파수 영역으로 변환할 수도 있다. 또한, 프로세서(120)는 얼마든지 다양한 오버랩 비율로 오디오 데이터를 주파수 영역으로 변환할 수도 있다. 또한, 전자 장치(100)는 마이크를 더 포함하며, 프로세서(120)는 마이크를 통해 오디오 신호가 획득되면, 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 주파수 영역으로 변환할 수도 있다.
프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 메모리(110)에 저장된 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득할 수 있다. 예를 들어, 제1 레이어는 fully connected 레이어 및 제1 activation 레이어를 포함하며, 프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 fully connected 레이어 및 제1 activation 레이어에 순차적으로 입력하여 인코딩 데이터를 획득할 수 있다. 제1 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
프로세서(120)는 인코딩 데이터를 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다. 예를 들어, 제2 레이어는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며, 프로세서(120)는 인코딩 데이터를 query 생성 레이어, key 생성 레이어 및 value 생성 레이어 각각과 element wise product하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다.
프로세서(120)는 query 데이터를 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 attention weight를 획득할 수 있다. 예를 들어, query 데이터는 1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며, 제3 레이어는 Fs×Fs의 형태이고, 프로세서(120)는 query 데이터를 제3 레이어에 입력하여 1×Fs의 형태의 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 주파수 성분에 기초한 attention weight를 획득할 수 있다.
프로세서(120)는 attention weight 및 value 데이터를 element wise product하여 context 데이터를 획득할 수 있다. 예를 들어, 프로세서(120)는 attention weight 및 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 context 데이터를 획득할 수 있다.
프로세서(120)는 context 데이터 및 query 데이터를 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득할 수 있다. 예를 들어, 제4 레이어는 디코딩 레이어 및 제2 activation 레이어를 포함하며, 프로세서(120)는 context 데이터 및 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고, 결합 데이터를 디코딩 레이어 및 제2 activation 레이어에 순차적으로 입력하여 객체 분리 마스크를 획득할 수 있다. 여기서, 제2 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
프로세서(120)는 객체 분리 마스크를 시간 영역으로 변환하여 오디오 데이터에 포함된 오디오 객체를 획득할 수 있다. 예를 들어, 프로세서(120)는 객체 분리 마스크를 inverst FFT하여 시간 영역으로 변환할 수 있다.
이상에서 언급한 인코딩 데이터, query 데이터, key 데이터, value 데이터, scored query 데이터, attention weight 및 context 데이터는 크기가 동일한 1차원의 데이터 형태일 수 있다.
신경망 모델은 복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고, 복수의 샘플 오디오 신호 각각은 복수의 샘플 오디오 객체 중 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함할 수 있다. 즉, 신경망 모델에 포함된 제1 네트워크, 제2 네트워크, 제3 네트워크, 제4 네트워크는 복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체에 기초하여 학습될 수 있다.
한편, 본 개시에 따른 인공 지능과 관련된 기능은 프로세서(120)와 메모리(110)를 통해 동작될 수 있다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공 지능 모델은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공 지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공 지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN(Convolutional Neural Network), DNN (Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network), GAN(Generative Adversarial Network) 또는 심층 Q-네트워크(Deep Q-Networks) 등이 있으나, 이에 한정되는 것은 아니다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다. 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 또한, 도 2에 따르면, 전자 장치(100)는 마이크(130), 통신 인터페이스(140), 디스플레이(150), 사용자 인터페이스(160), 스피커(170), 카메라(180)를 더 포함할 수도 있다. 도 2에 도시된 구성 요소들 중 도 1에 도시된 구성 요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
마이크(130)는 사운드를 입력받아 오디오 신호로 변환하기 위한 구성이다. 마이크(130)는 프로세서(120)와 전기적으로 연결되며, 프로세서(120)의 제어에 의해 사운드를 수신할 수 있다.
예를 들어, 마이크(130)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 또는, 마이크(130)는 전자 장치(100)와는 별도의 리모컨 등에 구비될 수도 있다. 이 경우, 리모컨은 마이크(130)를 통해 사운드를 수신하고, 수신된 사운드를 전자 장치(100)로 제공할 수도 있다.
마이크(130)는 아날로그 형태의 사운드를 수집하는 마이크, 수집된 사운드를 증폭하는 앰프 회로, 증폭된 사운드를 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 마이크(130)는 사운드 센서의 형태로 구현될 수도 있으며, 사운드를 수집할 수 있는 구성이라면 어떠한 방식이라도 무방하다.
통신 인터페이스(140)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 전자 장치(100)는 통신 인터페이스(140)를 통해 컨텐츠 서버 또는 사용자 단말 장치와 통신을 수행할 수 있다.
통신 인터페이스(140)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(140)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(140)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
디스플레이(150)는 이미지를 디스플레이하는 구성으로, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(150)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
사용자 인터페이스(160)는 버튼, 터치 패드, 마우스 및 키보드 등으로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
스피커(170)는 프로세서(120)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소이다.
카메라(180)는 정지 영상 또는 동영상을 촬상하기 위한 구성이다. 카메라(180)는 특정 시점에서의 정지 영상을 촬영할 수 있으나, 연속적으로 정지 영상을 촬영할 수도 있다.
카메라(180)는 렌즈, 셔터, 조리개, 고체 촬상 소자, AFE(Analog Front End), TG(Timing Generator)를 포함한다. 셔터는 피사체에 반사된 빛이 카메라(180)로 들어오는 시간을 조절하고, 조리개는 빛이 들어오는 개구부의 크기를 기계적으로 증가 또는 감소시켜 렌즈에 입사되는 광량을 조절한다. 고체 촬상 소자는 피사체에 반사된 빛이 광전하로 축적되면, 광전하에 의한 상을 전기 신호로 출력한다. TG는 고체 촬상 소자의 픽셀 데이터를 리드아웃 하기 위한 타이밍 신호를 출력하며, AFE는 고체 촬상 소자로부터 출력되는 전기 신호를 샘플링하여 디지털화한다.
이상과 같이 전자 장치(100)는 현재 시간 구간의 단일 프레임 오디오 데이터를 이용하여 실시간으로 고성능 오디오 객체 분리가 가능하다. 또한, 전자 장치(100)는 하드웨어 특성에 대한 제약 없이 실시간으로 오디오 객체 분리가 가능하며, 제조 비용을 줄이고 연산 속도를 높일 수 있다.
이하에서는 도 3 내지 도 8을 통해 전자 장치(100)의 동작을 좀더 구체적으로 설명한다. 도 3 내지 도 8에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 3 내지 도 8의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 3은 본 개시의 일 실시 예에 따른 오디오 객체를 획득하는 방법을 전반적으로 설명하기 위한 도면이다.
프로세서(120)는 오디오 신호로부터 오디오 전처리를 수행할 수 있다(310). 예를 들어, 프로세서(120)는 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 주파수 영역으로 변환할 수 있다.
프로세서(120)는 오디오 데이터를 FFT하여 주파수 영역으로 변환할 수 있다. 다만, 이에 한정되는 것은 아니며, 오디오 데이터를 주파수 영역으로 변환할 수 있는 방법이라면 어떠한 방법이라도 무방하다.
프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 인코딩하여 인코딩 데이터를 획득할 수 있다(320). 예를 들어, 프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득할 수 있다.
프로세서(120)는 인코딩 데이터로부터 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다(330). 예를 들어, 프로세서(120)는 인코딩 데이터를 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다.
프로세서(120)는 query 데이터, key 데이터 및 value 데이터를 이용하여 attention weight 및 context 데이터를 획득할 수 있다(340). 예를 들어, 프로세서(120)는 query 데이터를 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 attention weight를 획득하고, attention weight 및 value 데이터를 element wise product하여 context 데이터를 획득할 수 있다.
프로세서(120)는 context 데이터 및 query 데이터를 이용하여 객체 분리 마스크를 획득할 수 있다(350). 예를 들어, 프로세서(120)는 context 데이터 및 query 데이터를 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 인코딩 데이터를 획득하는 방법을 설명하기 위한 도면이다.
프로세서(120)는 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 FFT하여 순차적으로 주파수 영역으로 변환할 수 있다. 예를 들어, 프로세서(120)는 오디오 신호 중 기설정된 개수(n)의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 주파수 영역으로 변환할 수 있다.
이 경우, 주파수 영역으로 변환된 오디오 데이터는 도 4에 도시된 바와 같이, n/2 길이로 변환될 수 있다. 여기서, n/2는 주파수 bin의 개수일 수 있다. 즉, 주파수 영역으로 변환된 오디오 데이터는 1×n/2의 벡터 형태일 수 있다.
프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득할 수 있다. 예를 들어, 제1 레이어는 n/2×Fs의 매트릭스 형태인 fully connected 레이어 및 제1 activation 레이어를 포함하며, 프로세서(120)는 주파수 영역으로 변환된 오디오 데이터를 fully connected 레이어에 입력하여 원하는 state 길이(Fs)로 인코딩하고, 이를 제1 activation 레이어에 입력하여 인코딩 데이터를 획득할 수 있다. 여기서, 제1 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
이 경우, 인코딩 데이터는 1×Fs의 벡터 형태일 수 있다. 여기서, 각 엘리먼트는 시간 성분이 없이 주파수 성분만을 포함하는 것으로 볼 수 있으며, 이에 대하여는 도 6에서 종래 기술과 비교하여 설명한다.
인코딩 데이터는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어의 입력값으로 이용될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 query 데이터, key 데이터 및 value 데이터를 획득하는 방법을 설명하기 위한 도면이다.
프로세서(120)는 1×Fs의 벡터 형태인 인코딩 데이터를 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다. 예를 들어, 제2 레이어는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며, 프로세서(120)는 도 5에 도시된 바와 같이, 인코딩 데이터를 query 생성 레이어, key 생성 레이어 및 value 생성 레이어 각각과 element wise product하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다. 여기서, query 생성 레이어, key 생성 레이어 및 value 생성 레이어 각각은 1×Fs의 벡터 형태일 수 있다.
element wise product로 인해, 각 데이터가 엘리먼트 간 곱해지므로, query 데이터, key 데이터 및 value 데이터 각각은 1×Fs의 벡터 형태일 수 있다.
도 6은 본 개시의 일 실시 예에 따른 attention weight를 획득하는 방법을 종래 기술과 비교하여 설명하기 위한 도면이다.
프로세서(120)는 query 데이터를 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 attention weight를 획득할 수 있다. 예를 들어, 프로세서(120)는 도 6의 하단에 도시된 바와 같이, query 데이터를 Fs×Fs의 매트릭스 형태의 제3 레이어(score weight)에 입력하여 1×Fs의 벡터 형태의 scored query 데이터를 획득하고, scored query 데이터 및 key 데이터를 element wise product하여 주파수 성분에 기초한 attention weight를 획득할 수 있다. query 데이터의 각 엘리먼트 역시 시간 성분이 없이 주파수 성분만을 포함하기 때문에 제3 레이어 및 key 데이터와의 연산 후의 attention weight 역시 각 엘리먼트는 시간 성분이 없이 주파수 성분만을 포함할 수 있다.
이를 도 6의 상단과 같은 종래 기술과 비교하면, 종래 기술은 T 시간 구간의 데이터를 이용한다. 구체적으로, 도 4 및 도 5까지의 동작은 가령, 0초부터 약 0.011초의 제1 시간 구간의 512개의 오디오 데이터를 처리한 동작일 수 있다. 이에 대해, 종래 기술은 가령, 0초부터 약 0.011초의 제1 시간 구간의 512개의 오디오 데이터, 제1 시간 구간 이후의 제2 시간 구간의 512개의 오디오 데이터, 제2 시간 구간 이후의 제3 시간 구간의 512개의 오디오 데이터, 제3 시간 구간 이후의 제4 시간 구간의 512개의 오디오 데이터를 도 4 및 도 5까지와 같은 방법으로 처리하여 도 6의 상단 좌측과 같은 매트릭스 형태의 query 데이터를 획득할 수 있다. 여기서, 도 4 및 도 5까지와 같은 방법은 선형적으로 연산 가능하여 4개 시간 구간의 오디오 데이터는 서로 영향을 미치지 않을 수 있다.
다만, 도 6의 상단에서 종래 기술의 query 데이터가 Fs×Fs의 매트릭스 형태의 제3 레이어(score weight)에 입력되면, 시간 성분이 서로 영향을 미치게 된다. 또한, 제3 레이어의 출력은 트랜스포즈된 key 데이터와 element wise product가 아닌 일반 매트릭스 곱셈 연산을 수행하게 되며, 이 경우에도 시간 성분이 서로 영향을 미치게 된다.
즉, 종래 기술은 이러한 동작을 통해 시간 성분 간의 상관(correlation)을 이용하며, 그에 따라 과거 데이터가 저장될 필요가 있다. 이에 대해, 본 개시에 의하면 시간 성분 간의 상관은 이용되지 않고, 주파수 성분 간의 상관을 이용한다. 이를 시간축 데이터의 attention이 아닌 주파수 성분의 attention을 진행한다고 표현한다.
종래 기술의 T×T의 attention weight는 가로, 세로 모두 시간 성분을 포함하는 것으로 볼 수 있으나, 본 개시의 1×Fs의 attention weight는 각 엘리먼트가 주파수 성분을 포함하는 것으로 볼 수 있다.
도 7은 본 개시의 일 실시 예에 따른 context 데이터를 획득하는 방법을 설명하기 위한 도면이다.
프로세서(120)는 attention weight 및 value 데이터를 element wise product하여 context 데이터를 획득할 수 있다. 예를 들어, 프로세서(120)는 도 7에 도시된 바와 같이, attention weight 및 value 데이터를 element wise product하여 주파수 특성의 가중치가 반영된 context 데이터를 획득할 수 있다.
종래 기술에 의하면, T×T의 attention weight 및 T×Fs의 key 데이터는 element wise product가 아닌 일반 매트릭스 곱셈 연산이 수행되며, 이 경우에도 시간 성분 간의 상관이 적용되는 것으로 볼 수 있다.
이상과 같이 본원은 시간 성분을 고려하지 않고, 주파수 성분만을 고려하여 attention weight 및 context 데이터를 생성하기 때문에 과거 데이터를 이용하지 않고도 고성능 오디오 객체 분리가 가능하다. 또한, 과거 데이터를 이용하지 않기 때문에 실시간 오디오 객체 분리가 가능한 이점이 있다.
도 8은 본 개시의 일 실시 예에 따른 객체 분리 마스크를 획득하는 방법을 설명하기 위한 도면이다.
프로세서(120)는 context 데이터 및 query 데이터를 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득할 수 있다. 예를 들어, 제4 레이어는 디코딩 레이어 및 제2 activation 레이어를 포함하며, 프로세서(120)는 도 8에 도시된 바와 같이, context 데이터 및 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고, 결합 데이터를 디코딩 레이어 및 제2 activation 레이어에 순차적으로 입력하여 객체 분리 마스크를 획득할 수 있다. 여기서, 제2 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
이 경우, 객체 분리 마스크는 1×n/2의 벡터 형태일 수 있다.
프로세서(120)는 객체 분리 마스크를 시간 영역으로 변환하여 오디오 데이터에 포함된 오디오 객체를 획득할 수 있다. 예를 들어, 프로세서(120)는 객체 분리 마스크를 inverst FFT하여 시간 영역으로 변환할 수 있다.
이 경우, 오디오 객체는 기설정된 개수(n)의 시간 축 데이터일 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 오디오 데이터를 주파수 영역으로 변환한다(S910). 그리고, 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득한다(S920). 그리고, 인코딩 데이터를 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득한다(S930). 그리고, query 데이터를 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득한다(S940). 그리고, scored query 데이터 및 key 데이터를 element wise product하여 attention weight를 획득한다(S950). 그리고, attention weight 및 value 데이터를 element wise product하여 context 데이터를 획득한다(S960). 그리고, context 데이터 및 query 데이터를 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득한다(S970). 그리고, 객체 분리 마스크를 시간 영역으로 변환하여 오디오 데이터에 포함된 오디오 객체를 획득한다(S980). 여기서, 주파수 영역으로 변환된 오디오 데이터는 1차원의 데이터 형태이고, 인코딩 데이터, query 데이터, key 데이터, value 데이터, scored query 데이터, attention weight 및 context 데이터는 크기가 동일한 1차원의 데이터 형태일 수 있다.
그리고, 제1 레이어는 fully connected 레이어 및 제1 activation 레이어를 포함하며, 인코딩 데이터를 획득하는 단계(S920)는 주파수 영역으로 변환된 오디오 데이터를 fully connected 레이어 및 제1 activation 레이어에 순차적으로 입력하여 인코딩 데이터를 획득하며, 제1 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
한편, 제2 레이어는 query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며, query 데이터, key 데이터 및 value 데이터를 획득하는 단계(S930)는 인코딩 데이터를 query 생성 레이어, key 생성 레이어 및 value 생성 레이어 각각과 element wise product하여 query 데이터, key 데이터 및 value 데이터를 획득할 수 있다.
또한, query 데이터는 1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며, 제3 레이어는 Fs×Fs의 형태이고, scored query 데이터를 획득하는 단계(S940)는 query 데이터를 제3 레이어에 입력하여 1×Fs의 형태의 scored query 데이터를 획득하고, attention weight를 획득하는 단계(S950)는 scored query 데이터 및 key 데이터를 element wise product하여 주파수 성분에 기초한 attention weight를 획득할 수 있다.
한편, context 데이터를 획득하는 단계(S960)는 attention weight 및 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 context 데이터를 획득할 수 있다.
또한, 제4 레이어는 디코딩 레이어 및 제2 activation 레이어를 포함하며, 객체 분리 마스크를 획득하는 단계(S970)는 context 데이터 및 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고, 결합 데이터를 디코딩 레이어 및 제2 activation 레이어에 순차적으로 입력하여 객체 분리 마스크를 획득하며, 제2 activation 레이어는 ReLU 및 sigmoid 중 하나로 구현될 수 있다.
한편, 오디오 신호를 수신하는 단계를 더 포함하며, 변환하는 단계(S910)는 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 주파수 영역으로 변환할 수 있다.
여기서, 변환하는 단계(S910)는 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 주파수 영역으로 변환할 수 있다.
그리고, 변환하는 단계(S910)는 오디오 데이터를 FFT(fast fourier transform)하여 주파수 영역으로 변환하고, 오디오 객체를 획득하는 단계는 객체 분리 마스크를 inverst FFT하여 시간 영역으로 변환할 수 있다.
한편, 신경망 모델은 복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고, 복수의 샘플 오디오 신호 각각은 복수의 샘플 오디오 객체 중 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 현재 시간 구간의 단일 프레임 오디오 데이터를 이용하여 실시간으로 고성능 오디오 객체 분리가 가능하다.
또한, 전자 장치는 하드웨어 특성에 대한 제약 없이 실시간으로 오디오 객체 분리가 가능하며, 제조 비용을 줄이고 연산 속도를 높일 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어로서 구현될 수도 있다. 소프트웨어 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 메모리
120 : 프로세서 130 : 마이크
140 : 통신 인터페이스 150 : 디스플레이
160 : 사용자 인터페이스 170 : 스피커
180 : 카메라

Claims (20)

  1. 전자 장치에 있어서,
    신경망 모델이 저장된 메모리; 및
    상기 메모리와 연결되어 상기 전자 장치를 제어하는 적어도 하나의 프로세서;를 포함하며,
    상기 프로세서는,
    오디오 데이터를 주파수 영역으로 변환하고,
    상기 주파수 영역으로 변환된 오디오 데이터를 상기 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득하고,
    상기 인코딩 데이터를 상기 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득하고,
    상기 query 데이터를 상기 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하고,
    상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 attention weight를 획득하고,
    상기 attention weight 및 상기 value 데이터를 element wise product하여 context 데이터를 획득하고,
    상기 context 데이터 및 상기 query 데이터를 상기 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득하고,
    상기 객체 분리 마스크를 시간 영역으로 변환하여 상기 오디오 데이터에 포함된 오디오 객체를 획득하며,
    상기 주파수 영역으로 변환된 오디오 데이터는, 1차원의 데이터 형태이고,
    상기 인코딩 데이터, 상기 query 데이터, 상기 key 데이터, 상기 value 데이터, 상기 scored query 데이터, 상기 attention weight 및 상기 context 데이터는,
    크기가 동일한 1차원의 데이터 형태인, 전자 장치.
  2. 제1항에 있어서,
    상기 제1 레이어는,
    fully connected 레이어 및 제1 activation 레이어를 포함하며,
    상기 프로세서는,
    상기 주파수 영역으로 변환된 오디오 데이터를 상기 fully connected 레이어 및 상기 제1 activation 레이어에 순차적으로 입력하여 상기 인코딩 데이터를 획득하며,
    상기 제1 activation 레이어는,
    ReLU 및 sigmoid 중 하나로 구현된, 전자 장치.
  3. 제1항에 있어서,
    상기 제2 레이어는,
    query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며,
    상기 프로세서는,
    상기 인코딩 데이터를 상기 query 생성 레이어, 상기 key 생성 레이어 및 상기 value 생성 레이어 각각과 element wise product하여 상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 query 데이터는,
    1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며,
    상기 제3 레이어는,
    Fs×Fs의 형태이고,
    상기 프로세서는,
    상기 query 데이터를 상기 제3 레이어에 입력하여 1×Fs의 형태의 상기 scored query 데이터를 획득하고,
    상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 주파수 성분에 기초한 상기 attention weight를 획득하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 attention weight 및 상기 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 상기 context 데이터를 획득하는, 전자 장치.
  6. 제1항에 있어서,
    상기 제4 레이어는,
    디코딩 레이어 및 제2 activation 레이어를 포함하며,
    상기 프로세서는,
    상기 context 데이터 및 상기 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고,
    상기 결합 데이터를 상기 디코딩 레이어 및 상기 제2 activation 레이어에 순차적으로 입력하여 상기 객체 분리 마스크를 획득하며,
    상기 제2 activation 레이어는,
    ReLU 및 sigmoid 중 하나로 구현된, 전자 장치.
  7. 제1항에 있어서,
    통신 인터페이스;를 더 포함하며,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 상기 오디오 신호가 수신되면, 상기 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 상기 주파수 영역으로 변환하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 오디오 신호 중 상기 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 상기 주파수 영역으로 변환하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 오디오 데이터를 FFT(fast fourier transform)하여 상기 주파수 영역으로 변환하고,
    상기 객체 분리 마스크를 inverst FFT하여 상기 시간 영역으로 변환하는, 전자 장치.
  10. 제1항에 있어서,
    상기 신경망 모델은,
    복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고,
    상기 복수의 샘플 오디오 신호 각각은,
    상기 복수의 샘플 오디오 객체 중 상기 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    오디오 데이터를 주파수 영역으로 변환하는 단계;
    상기 주파수 영역으로 변환된 오디오 데이터를 신경망 모델의 제1 레이어에 입력하여 인코딩 데이터를 획득하는 단계;
    상기 인코딩 데이터를 상기 신경망 모델의 제2 레이어에 입력하여 query 데이터, key 데이터 및 value 데이터를 획득하는 단계;
    상기 query 데이터를 상기 신경망 모델의 제3 레이어에 입력하여 scored query 데이터를 획득하는 단계;
    상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 attention weight를 획득하는 단계;
    상기 attention weight 및 상기 value 데이터를 element wise product하여 context 데이터를 획득하는 단계;
    상기 context 데이터 및 상기 query 데이터를 상기 신경망 모델의 제4 레이어에 입력하여 객체 분리 마스크를 획득하는 단계; 및
    상기 객체 분리 마스크를 시간 영역으로 변환하여 상기 오디오 데이터에 포함된 오디오 객체를 획득하는 단계;를 포함하며,
    상기 주파수 영역으로 변환된 오디오 데이터는, 1차원의 데이터 형태이고,
    상기 인코딩 데이터, 상기 query 데이터, 상기 key 데이터, 상기 value 데이터, 상기 scored query 데이터, 상기 attention weight 및 상기 context 데이터는,
    크기가 동일한 1차원의 데이터 형태인, 제어 방법.
  12. 제11항에 있어서,
    상기 제1 레이어는,
    fully connected 레이어 및 제1 activation 레이어를 포함하며,
    상기 인코딩 데이터를 획득하는 단계는,
    상기 주파수 영역으로 변환된 오디오 데이터를 상기 fully connected 레이어 및 상기 제1 activation 레이어에 순차적으로 입력하여 상기 인코딩 데이터를 획득하며,
    상기 제1 activation 레이어는,
    ReLU 및 sigmoid 중 하나로 구현된, 제어 방법.
  13. 제11항에 있어서,
    상기 제2 레이어는,
    query 생성 레이어, key 생성 레이어 및 value 생성 레이어를 포함하며,
    상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득하는 단계는,
    상기 인코딩 데이터를 상기 query 생성 레이어, 상기 key 생성 레이어 및 상기 value 생성 레이어 각각과 element wise product하여 상기 query 데이터, 상기 key 데이터 및 상기 value 데이터를 획득하는, 제어 방법.
  14. 제11항에 있어서,
    상기 query 데이터는,
    1×Fs의 형태이고, Fs개의 주파수 성분을 포함하며,
    상기 제3 레이어는,
    Fs×Fs의 형태이고,
    상기 scored query 데이터를 획득하는 단계는,
    상기 query 데이터를 상기 제3 레이어에 입력하여 1×Fs의 형태의 상기 scored query 데이터를 획득하고,
    상기 attention weight를 획득하는 단계는,
    상기 scored query 데이터 및 상기 key 데이터를 element wise product하여 주파수 성분에 기초한 상기 attention weight를 획득하는, 제어 방법.
  15. 제11항에 있어서,
    상기 context 데이터를 획득하는 단계는,
    상기 attention weight 및 상기 value 데이터를 element wise product하여 주파수 성분의 가중치가 반영된 상기 context 데이터를 획득하는, 제어 방법.
  16. 제11항에 있어서,
    상기 제4 레이어는,
    디코딩 레이어 및 제2 activation 레이어를 포함하며,
    상기 객체 분리 마스크를 획득하는 단계는,
    상기 context 데이터 및 상기 query 데이터를 결합하여 1×2Fs의 형태의 결합 데이터를 획득하고,
    상기 결합 데이터를 상기 디코딩 레이어 및 상기 제2 activation 레이어에 순차적으로 입력하여 상기 객체 분리 마스크를 획득하며,
    상기 제2 activation 레이어는,
    ReLU 및 sigmoid 중 하나로 구현된, 제어 방법.
  17. 제11항에 있어서,
    상기 오디오 신호를 수신하는 단계;를 더 포함하며,
    상기 변환하는 단계는,
    상기 오디오 신호 중 기설정된 개수의 시간 축 오디오 데이터를 순차적으로 상기 주파수 영역으로 변환하는, 제어 방법.
  18. 제17항에 있어서,
    상기 변환하는 단계는,
    상기 오디오 신호 중 상기 기설정된 개수의 시간 축 오디오 데이터를 50%의 비율로 오버랩하여 순차적으로 상기 주파수 영역으로 변환하는, 제어 방법.
  19. 제11항에 있어서,
    상기 변환하는 단계는,
    상기 오디오 데이터를 FFT(fast fourier transform)하여 상기 주파수 영역으로 변환하고,
    상기 오디오 객체를 획득하는 단계는,
    상기 객체 분리 마스크를 inverst FFT하여 상기 시간 영역으로 변환하는, 제어 방법.
  20. 제11항에 있어서,
    상기 신경망 모델은,
    복수의 샘플 오디오 신호 및 복수의 샘플 오디오 객체의 관계를 학습하여 획득된 모델이고,
    상기 복수의 샘플 오디오 신호 각각은,
    상기 복수의 샘플 오디오 객체 중 상기 복수의 샘플 오디오 신호 각각에 대응되는 샘플 오디오 객체 및 샘플 노이즈를 포함하는, 제어 방법.
KR1020220139406A 2022-10-26 2022-10-26 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법 KR20240058549A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220139406A KR20240058549A (ko) 2022-10-26 2022-10-26 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법
PCT/KR2023/013548 WO2024090778A1 (ko) 2022-10-26 2023-09-11 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220139406A KR20240058549A (ko) 2022-10-26 2022-10-26 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20240058549A true KR20240058549A (ko) 2024-05-03

Family

ID=90831295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220139406A KR20240058549A (ko) 2022-10-26 2022-10-26 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20240058549A (ko)
WO (1) WO2024090778A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102692670B1 (ko) * 2017-01-04 2024-08-06 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
CN111048082B (zh) * 2019-12-12 2022-09-06 中国电子科技集团公司第二十八研究所 一种改进的端到端语音识别方法
CN114694674A (zh) * 2022-03-10 2022-07-01 深圳市友杰智新科技有限公司 基于人工智能的语音降噪方法、装置、设备及存储介质
CN115131753A (zh) * 2022-04-19 2022-09-30 中山大学·深圳 一种自动驾驶场景下的异构多任务协同系统

Also Published As

Publication number Publication date
WO2024090778A1 (ko) 2024-05-02

Similar Documents

Publication Publication Date Title
KR20170033398A (ko) 자동 발화 인식을 위한 외삽 이용 프레임 스키핑 및 수요 출력 신경망
US11538278B2 (en) Electronic apparatus and control method thereof
TWI735112B (zh) 圖像生成方法、電子設備和儲存介質
CN111737516A (zh) 一种互动音乐生成方法、装置、智能音箱及存储介质
CN116030792A (zh) 用于转换语音音色的方法、装置、电子设备和可读介质
KR20220061467A (ko) 전자 장치 및 이의 오디오 신호 처리 방법
KR20220102522A (ko) 요약 영상 생성 방법 및 그 전자 장치
KR20200104773A (ko) 전자 장치 및 그 제어 방법
US20210201142A1 (en) Electronic device and control method thereof
CN117891919A (zh) 模型训练方法及装置、问答方法及装置、电子设备和介质
KR20240058549A (ko) 오디오 데이터로부터 오디오 객체를 분리하기 위한 전자 장치 및 그 제어 방법
KR20240017706A (ko) 신조어를 식별하기 위한 전자 장치 및 그 제어 방법
US20230098678A1 (en) Speech signal processing method and related device thereof
US20230133305A1 (en) Methods and devices for accelerating a transformer with a sparse attention pattern
KR20240056112A (ko) 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법
KR20240058512A (ko) 복수의 비디오를 동시에 재생하기 위한 전자 장치 및 그 제어 방법
US20240073637A1 (en) Electronic apparatus for identifying position of user and control method thereof
KR20240025372A (ko) 영상 처리를 수행하기 위한 전자 장치 및 그 제어 방법
US20240196039A1 (en) Electronic apparatus for controlling peripheral device with remote control signal and control method thereof
KR20240027364A (ko) 사용자의 위치를 식별하기 위한 전자 장치 및 그 제어 방법
KR20240119689A (ko) 신경망 모델을 양자화하기 위한 전자 장치 및 그 제어 방법
KR20210065698A (ko) 전자 장치 및 이의 제어 방법
KR20240040984A (ko) Ui 오브젝트를 포함하는 템플릿을 획득하기 위한 전자 장치 및 그 제어 방법
KR20240050111A (ko) 사용자 음성에 대응되는 동작을 수행하기 위한 전자 장치 및 그 제어 방법
US20230094993A1 (en) Electronic apparatus and controlling method thereof