[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102584712B1 - 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템 - Google Patents

인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102584712B1
KR102584712B1 KR1020220118318A KR20220118318A KR102584712B1 KR 102584712 B1 KR102584712 B1 KR 102584712B1 KR 1020220118318 A KR1020220118318 A KR 1020220118318A KR 20220118318 A KR20220118318 A KR 20220118318A KR 102584712 B1 KR102584712 B1 KR 102584712B1
Authority
KR
South Korea
Prior art keywords
audio
sound source
information
input audio
neural network
Prior art date
Application number
KR1020220118318A
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 KR1020220118318A priority Critical patent/KR102584712B1/ko
Application granted granted Critical
Publication of KR102584712B1 publication Critical patent/KR102584712B1/ko

Links

Classifications

    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • 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
    • 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/18Speech 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 spectral information of each sub-band
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일실시예에 따르면, 장치에 의해 수행되는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법에 있어서, 제1 입력 오디오가 획득되면, 상기 제1 입력 오디오에 대한 파형 분석을 통해, 상기 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 생성하는 단계; 상기 제1 이미지를 인코딩하여 제1 입력 신호를 생성하는 단계; 상기 제1 입력 신호를 복수의 원천 오디오를 통해 미리 학습된 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호에 기초하여, 상기 복수의 원천 오디오 중에서 상기 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인하는 단계; 상기 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득하는 단계; 상기 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 상기 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출하는 단계; 상기 제1 특징 정보 및 상기 제2 특징 정보를 비교하여, 상기 제1 입력 오디오 및 상기 제1 원천 오디오 간의 유사도를 산출하는 단계; 및 상기 유사도가 미리 설정된 기준치 보다 낮은 것으로 확인되면, 상기 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 상기 제1 블록을 블록체인 네트워크 상에 등록하는 단계를 포함하는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법이 제공된다.

Description

인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR STORING AND MANAGING SOUND SOURCE INDEXING INFORMATION BASED ON BLOCKCHAIN AND JUDGING SOUND SOURCE SIMILARITY BASED ON ARTIFICIAL INTELLIGENCE}
아래 실시예들은 인공지능을 기반으로 음원 유사를 판단하고, 블록체인을 기반으로 음원 인덱싱 정보를 저장 및 관리하기 위한 기술에 관한 것이다.
작곡, 즉, 음원을 생성하는 것은 인간의 가장 대표적인 창작적 활동 중의 하나로서, 음악을 창조해내는 행위이다.
이러한 작곡은, 작곡가 섭외 및 받은 음원에 대한 편곡 허용 범위 협의, 표절 여부 확인 등 복잡한 과정이 필요하고, 음원 수급 과정에서 많은 시간과 비용이 발생하는 특수성이 있다.
또한, 음원 의뢰 및 작곡 완성 기간을 일정하게 특정하기 어렵고, 작곡 분야는 음악 전문 지식과 작곡 Tool에 대한 지식이 필요하여 음악 창작 활동에 대한 허들이 높은 문제가 있다.
따라서, 이러한 작곡, 즉, 음원 생성에 있어서 컴퓨팅 디바이스를 이용한 음원 생성기술에 대한 개발이 이루어지고 있다.
특히, 최근에 인공지능과 블록체인 기술 등이 발전되면서, 인공지능 및 블록체인을 이용하여 음원의 유사성을 판단하고 음원의 인덱싱 정보를 저장하여 관리하고자 하는 요구가 증대되고 있어, 이와 관련된 기술에 대한 연구가 요구된다.
한국등록특허 제10-2418232호 한국등록특허 제10-2128153호 한국등록특허 제10-2313549호 한국등록특허 제10-1620866호
일실시예에 따르면, 제1 입력 오디오가 획득되면, 제1 입력 오디오에 대한 파형 분석을 통해, 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 생성하고, 제1 이미지를 인코딩하여 제1 입력 신호를 생성하고, 제1 입력 신호를 복수의 원천 오디오를 통해 미리 학습된 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득하고, 제1 출력 신호에 기초하여, 복수의 원천 오디오 중에서 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인하고, 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득하고, 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출하고, 제1 특징 정보 및 제2 특징 정보를 비교하여, 제1 입력 오디오 및 제1 원천 오디오 간의 유사도를 산출하고, 유사도가 미리 설정된 기준치 보다 낮은 것으로 확인되면, 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 제1 블록을 블록체인 네트워크 상에 등록하는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템을 제공하기 위한 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
일실시예에 따르면, 장치에 의해 수행되는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법에 있어서, 제1 입력 오디오가 획득되면, 상기 제1 입력 오디오에 대한 파형 분석을 통해, 상기 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 생성하는 단계; 상기 제1 이미지를 인코딩하여 제1 입력 신호를 생성하는 단계; 상기 제1 입력 신호를 복수의 원천 오디오를 통해 미리 학습된 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호에 기초하여, 상기 복수의 원천 오디오 중에서 상기 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인하는 단계; 상기 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득하는 단계; 상기 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 상기 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출하는 단계; 상기 제1 특징 정보 및 상기 제2 특징 정보를 비교하여, 상기 제1 입력 오디오 및 상기 제1 원천 오디오 간의 유사도를 산출하는 단계; 및 상기 유사도가 미리 설정된 기준치 보다 낮은 것으로 확인되면, 상기 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 상기 제1 블록을 블록체인 네트워크 상에 등록하는 단계를 포함하는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법이 제공된다.
상기 제1 특징 정보 및 상기 제2 특징 정보를 추출하는 단계는, 상기 제1 입력 오디오에 대한 MFCC 값인 제1 특징값을 추출하고, 상기 제1 원천 오디오에 대한 MFCC 값인 제2 특징값을 추출하는 단계; 상기 제1 특징값을 미리 학습된 제2 뉴럴 네트워크에 입력하여, 상기 제2 뉴럴 네트워크의 Bottleneck Layer로부터 상기 제1 입력 오디오에 대한 특징을 나타내는 제1-1 특징 정보를 획득하고, 상기 제2 특징값을 상기 제2 뉴럴 네트워크에 입력하여, 상기 제2 뉴럴 네트워크의 Bottleneck Layer로부터 상기 제1 원천 오디오에 대한 특징을 나타내는 제2-1 특징 정보를 획득하는 단계; 상기 제1 이미지를 미리 학습된 제3 뉴럴 네트워크에 입력하여, 상기 제3 뉴럴 네트워크부터 상기 제1 입력 오디오에 대한 특징을 나타내는 제1-2 특징 정보를 획득하고, 상기 제2 이미지를 상기 제3 뉴럴 네트워크에 입력하여, 상기 제3 뉴럴 네트워크로부터 상기 제1 원천 오디오에 대한 특징을 나타내는 제2-2 특징 정보를 획득하는 단계; 및 상기 제1-1 특징 정보 및 상기 제1-2 특징 정보를 결합하여 상기 제1 특징 정보를 추출하고, 상기 제2-1 특징 정보 및 상기 제2-2 특징 정보를 결합하여 상기 제2 특징 정보를 추출하는 단계를 포함할 수 있다.
상기 제1 블록은, 상기 제1 입력 오디오의 유사성 체크를 위한 딥러닝 모형 주소, 상기 제1 특징 정보를 가지고 있는 주소, 상기 제1 입력 오디오 원본 여부 점수, 상기 제1 입력 오디오가 저장된 주소, 상기 제1 입력 오디오의 오디오 시그니쳐 해시값 및 상기 제1 입력 오디오의 음원 파일 해시값을 포함하는 것을 특징으로 할 수 있다.
일실시예에 따르면, 제1 입력 오디오가 획득되면, 제1 입력 오디오에 대한 파형 분석을 통해, 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 생성하고, 제1 이미지를 인코딩하여 제1 입력 신호를 생성하고, 제1 입력 신호를 복수의 원천 오디오를 통해 미리 학습된 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득하고, 제1 출력 신호에 기초하여, 복수의 원천 오디오 중에서 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인하고, 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득하고, 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출하고, 제1 특징 정보 및 제2 특징 정보를 비교하여, 제1 입력 오디오 및 제1 원천 오디오 간의 유사도를 산출하고, 유사도가 미리 설정된 기준치 보다 낮은 것으로 확인되면, 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 제1 블록을 블록체인 네트워크 상에 등록함으로써, 인공지능 및 블록체인을 이용하여 음원의 유사성을 판단하고 음원의 인덱싱 정보를 저장하여 관리할 수 있는 효과가 있다.
한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 시스템의 기술 구성도를 나타낸 도면이다.
도 3은 일실시예에 따른 스펙트로그램 생성 기술을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 업샘플링을 통해 생성된 스펙트로그램을 나타낸 도면이다.
도 5는 일실시예에 따른 스펙트로그램을 통해 음원의 특징을 추출하는 과정을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 입력 음원의 특징을 추출하는 과정을 설명하기 위한 도면이다.
도 7은 일실시예에 따른 특징 정보를 추출하는데 사용되는 뉴럴 네트워크를 도시한 도면이다.
도 8은 일실시예에 따른 오디오를 통해 생성된 블록을 나타낸 도면이다.
도 9는 일실시예에 따른 블록체인을 활용한 오디오 시그니쳐 및 음원 파일을 저장하는 과정을 설명하기 위한 순서도이다.
도 10은 일실시예에 따른 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법을 설명하기 위한 순서도이다.
도 11은 일실시예에 따른 오디오에서 특징 정보를 추출하는 과정을 설명하기 위한 순서도이다.
도 12는 일실시예에 따른 제1 블록을 블록체인 네트워크 상에 등록하기 위해 구역 별로 음원 정보를 추출하여 결정하는 과정을 설명하기 위한 순서도이다.
도 13은 일실시예에 따른 입력 오디오에서 가장 많이 언급된 키워드가 제품명으로 확인된 경우, 제품과 공급업체의 정보를 제공하는 과정을 설명하기 위한 순서도이다.
도 14는 일실시예에 따른 제품을 공급할 공급업체를 선정하는 과정을 설명하기 위한 순서도이다.
도 15는 일실시예에 따른 뉴럴 네트워크의 학습을 설명하기 위한 도면이다.
도 16은 일실시예에 따른 장치의 구성의 예시도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
실시예에서 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 시스템은 사용자 단말(100) 및 장치(200)를 포함할 수 있다.
먼저, 사용자 단말(100)과 장치(200)는 통신망을 통해 연결될 수 있으며, 통신망은 유선 및 무선 등과 같이 그 통신 양태를 가리지 않고 구성되어, 서버와 서버 간의 통신과 서버와 단말 간의 통신이 수행되도록 다양한 형태로 구현될 수 있다.
사용자 단말(100)은 통신 기능을 갖춘 연산 장치로 구현될 수 있으며, 예를 들면, 휴대전화기, 데스크톱 PC, 랩탑 PC, 태블릿 PC, 스마트폰 등으로 구현될 수 있으나, 이에 제한되지는 않으며, 외부 서버와 연결될 수 있는 다양한 형태의 통신 장치로 구현될 수도 있다.
사용자 단말(100)은 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 사용자 단말(100)은 장치(200)와 유무선으로 통신하도록 구성될 수 있다.
사용자 단말(100)은 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 운영하는 웹 페이지에 접속되거나, 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 개발·배포한 애플리케이션이 설치될 수 있다. 사용자 단말(100)은 웹 페이지 또는 애플리케이션을 통해 장치(200)와 연동될 수 있다.
장치(200)는 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(200)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(200)는 추론 기능을 수행하는 적어도 하나 이상의 인공 신경망을 구비할 수 있다.
장치(200)는 사용자 단말(100)과 유무선으로 통신하도록 구성될 수 있으며, 사용자 단말(100)의 동작을 제어하고, 사용자 단말(100)의 화면에 어느 정보를 표시할 것인지에 대해 제어할 수 있다.
한편, 설명의 편의를 위해 도 1에서는 사용자 단말(100) 만을 도시하였으나, 단말의 수는 실시예에 따라 얼마든지 달라질 수 있다. 장치(200)의 처리 용량이 허용하는 한, 단말들의 수는 특별한 제한이 없다.
일실시예에 따르면, 장치(200)는 인공지능을 기반으로 음원 유사를 판단할 수 있다. 이를 위해, 장치(200)는 기계 학습 알고리즘의 수행을 위하여 미리 학습된 다수의 인공 신경망을 포함할 수 있다.
본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.
기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.
인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망(Artificial Neural Network), 컨볼루션 신경망(Convolution Neural Network: CNN), 심층 신경망(Deep Neural Network: DNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.
이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.
일실시예에 따르면, 장치(200)는 블록체인을 기반으로 음원 인덱싱 정보를 저장하고 관리할 수 있다.
블록체인은 통신망을 통해 서로 통신 가능한 복수의 노드와 복수의 노드를 연결하고 있는 네트워크로 구성될 수 있다.
구체적으로, 블록체인에 대해 설명해보면, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, peer)들의 디지털 장비에 정보를 분산시켜 저장함으로써, 참여자로 선정된 복수의 노드에서 보안이 필요한 정보를 공동으로 관리할 수 있다.
블록체인의 기본 구조는 블록(block)을 잇따라 연결한(chain) 모음의 형태로, 일정 시간 동안 반수 이상의 참여자들이 보안이 필요한 정보를 서로 교환해 확인하고 승인하는 과정을 거쳐, 승인된 정보만 하나의 블록으로 만든 후, 새로 만들어진 블록을 이전 블록에 연결하고, 그 사본을 만들어 각 참여자들의 장치에 분산시켜 저장함으로써, 보안이 필요한 정보가 분산 저장되어 복수의 노드 간에 공유될 수 있다.
즉, 블록체인이란 블록에 데이터를 담아 체인 형태로 연결하고, 동시에 수많은 장치에 이를 복제해 저장하는 분산형 데이터 저장 기술로, 공공 거래 장부라고 할 수 있으며, 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 참여자에게 거래 내역을 보내주고, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 되어 있다.
블록체인은 중앙 집중형 서버에 거래 기록을 보관, 관리하지 않고 거래에 참여하는 개별적인 장치들이 모여 네트워크를 유지 및 관리하는데, 이 개별적의 각각의 장치, 즉 참여자를 노드라고 한다. 중앙 관리자가 없기 때문에 블록을 배포하는 노드의 역할이 중요하며, 참여하는 노드들 가운데 절반 이상의 동의가 있어야 새 블록이 생성된다. 노드들은 블록체인 네트워크를 통해 서로 연결될 수 있으며, 일부 노드가 해킹을 당해 기존 내용에 오류가 발생해도 다수의 노드에 데이터가 남아 있어 계속적으로 데이터를 보존할 수 있다.
일실시예에 따르면, 복수의 노드를 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드 각각은 단말 형태로 구현될 수 있고, 서버 형태로 구현될 수도 있다.
도 2는 일실시예에 따른 시스템의 기술 구성도를 나타낸 도면이다.
도 2를 참조하여, 유사 오디오 검출 모형을 학습하는 과정과 음원 인덱싱 정보를 블록체인 네트워크에 저장하는 과정을 자세히 설명하기로 한다.
먼저, 원천 오디오와 입력 오디오가 각각 입력될 수 있다. 여기서, 원천 오디오는 음원에 대한 저작자가 정해져 있는 오디오 파일로, 음원의 유사 판단 시 비교 대상으로 사용되기 위해 다수의 원천 오디오가 사전에 입력되어 데이터베이스에 저장될 수 있다. 입력 오디오는 음원의 유사 판단을 통해 표절인지 여부를 확인하기 위해 입력된 오디오 파일로, 원천 오디오와의 비교를 통해 음원의 유사도가 판단될 수 있다.
원천 오디오가 입력되면, 원천 오디오에 대한 파형 분석을 통해, 원천 오디오에 대한 스펙트로그램을 생성할 수 있고, 입력 오디오가 입력되면, 입력 오디오에 대한 파형 분석을 통해, 입력 오디오에 대한 스펙트로그램을 생성할 수 있다. 스펙트로그램(spectrogram) 생성과 관련된 자세한 설명은 도 3을 참조하여 후술하기로 한다.
원천 오디오에 대한 스펙트로그램이 생성되면, 생성된 스펙트로그램을 심층 신경망(Deep Neural Network, DNN)에 입력하여 유사 스펙트로그램을 생성할 수 있고, 유사 스펙트로그램에 대한 재강화 학습을 통해 유사 오디오 검출 모형을 학습할 수 있다. 유사 학습용 오디오 데이터 생성과 관련된 자세한 설명은 도 4를 참조하여 후술하기로 한다.
원천 오디오에 대한 스펙트로그램과 입력 오디오에 대한 스펙트로그램이 각각 생성되면, 생성된 스펙트로그램들을 기반으로 특징 추출 과정을 수행할 수 있다. 특징 추출(feature extraction & descriptor)과 관련된 자세한 설명은 도 5 내지 도 7을 참조하여 후술하기로 한다.
블록체인 노드에서는 특징 추출 결과를 이용하여 블록을 생성할 수 있고, 생성된 블록은 블록체인 네트워크 상에 등록되어 저장될 수 있다. 여기서, 블록은 음원 정보에 접근하기 위해 필요한 음원의 인덱싱(indexing) 정보를 포함하여 생성될 수 있다. 블록과 관련된 자세한 설명은 도 8 내지 도 9를 참조하여 후술하기로 한다.
도 3은 일실시예에 따른 스펙트로그램 생성 기술을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 입력된 오디오를 기반으로, 파형(waveform)과 스펙트럼(spectrum)의 특징이 조합된 스펙트로그램(Spectrogram)과 멜스펙트로그램(Melspectrogram)이 생성될 수 있다.
스펙트로그램과 멜스펙트로그램은 오디오 합성, 다중 음원 소스 분리, 음성 인식, 멜로디 추출 등 여러 신호처리 응용에서 기본적인 데이터형으로 사용될 수 있고, orchaudio, librosa 등 오디오 분석을 위한 대부분의 공개 라이브러리에서 스펙트로그램과 멜스펙트로그램을 지원할 수 있다.
멜스펙트로그램은 스펙트로그램 보다 크기가 작아서 모형의 학습 속도 등에서 유리한 것으로 알려져 있다.
도 3에 도시된 이미지는 동일 오디오에 대한 스펙트로그램과 멜스펙트로그램을 보여주는 것으로, 멜스펙트로그램이 스펙트로그램 보다 해상력이 우수한 것을 파악할 수 있다.
본 발명에서 스펙트로그램은 스펙트로그램을 지칭하는 의미로 사용될 수 있고, 실시예에 따라 멜스펙트로그램을 지칭하는 의미로 사용될 수도 있다. 즉, 응용에 따라 스펙트로그램이 멜스펙트로그램 보다 적합한 경우도 있고, 멜스펙트로그램이 스펙트로그램 보다 적합한 경우도 있으므로, 스펙트로그램과 멜스펙트로그램이 모두 고려될 수 있다.
도 4는 일실시예에 따른 업샘플링을 통해 생성된 스펙트로그램을 나타낸 도면이다.
일실시예에 따르면, 유사 학습용 오디오 데이터 생성을 위해 유사 오디오 검출 모형에서 사용되는 심층 신경망은 신호처리를 포함한 다양한 분야에서 기존 기술의 한계를 뛰어넘는 매우 우수한 모형 성능을 보여주고 있다.
본 발명에서는 원천 오디오 대비 음고(pitch) 변화, 멜로디 부분 변화 등과 같은 단순 변화로부터 강인한 유사도 측정 모형을 개발하기 위하여 원천 오디오와 전역적 특징(global feature)은 유사하지만 서로 다른 지역적 특징(local feature)을 가지는 학습용 오디오 셋을 DNN을 이용하여 생성할 수 있다.
구글 AI 랩에서 운영 중인 Magenta 프로젝트에서는 머신러닝 기술을 이용하여 새로운 오디오를 생성하는 것을 목적으로 연구가 진행 중이고, 이외에도 오디오 생성을 위한 다양한 연구들이 진행되고 있다.
특히, 오디오 생성을 위해 2019년에 발표된 “MelNet : A Generative Model for Audio in the Frequency Domain"을 참조하면, MelNet은 오디오에 대한 기존 생성 모델이 주로 시간 영역 파형을 직접 모델링하는 것을 목표로 했던 반면에 오디오 신호의 주파수 콘텐츠를 모델링할 수 있다. 주파수 표현은 오디오 신호 내의 톤과 피치가 시간에 따라 어떻게 변하는지 강조하며, 이것은 음악과 같은 데이터를 모델링하는 데 도움이 될 수 있다.
본 발명에서는 단순한 분포 시퀀스 모델링을 시작으로 복잡한 고차원 분포를 모델링하는 자기회귀모형(Autoregressive Model)을 사용할 수 있다. 일반적으로 자기회귀모형은 시간에 따라 변하는 특정 프로세스를 설명하는 데 주로 사용된다. coarse-to-fine 순서로 스펙트로그램을 생성하는 다중 스케일 모델이 도입될 수 있고, 높은 수준의 구조를 캡처하는 저해상도 스펙트로그램이 처음에 생성된 후 고해상도 세부 정보를 추가하기 위한 반복적인 업샘플링 과정을 수행될 수 있다.
도 4에 도시된 이미지는 업샘플링 과정에서 생성된 스펙트로그램을 보여주는 것으로, 반복적인 업샘플링을 통해 고해상도의 이미지가 획득될 수 있다.
도 5는 일실시예에 따른 스펙트로그램을 통해 음원의 특징을 추출하는 과정을 설명하기 위한 도면이다.
일실시예에 따르면, 데자뷰(Dejavu)는 파이썬으로 개발된 오픈소스 프로젝트로써, 입력된 음원에 대해 일련의 처리 과정을 거친 후 각 음원만의 특징을 지닌 오디오 시그니쳐를 추출하도록 한다. 각 음원마다 추출된 오디오 시그니쳐들의 비교를 통해 서로 동일한 음원인지의 여부 판별이 가능하다. 음원의 특징 추출을 위해 데자뷰에 입력된 음원은 고속 푸리에 변환(Fast Fourier Transform)을 통해 파형의 형태를 지닌 스펙트로그램으로 변환된다. 도 5의 (a)에 도시된 그림은 고속 푸리에 변환 후 음원 파일의 스펙트로그램 추출 예시를 보여준다. 다음으로, 변환된 스펙트로그램에서 각 파형의 피크(최고점)를 검출하여 (시간, 주파수)의 쌍으로 나타낸다. 도 5의 (b)에 도시된 그림은 스펙트로그램에서 추출한 피크들을 도식적으로 나타낸 결과이다.
계산된 피크값들을 나열 후, 해시함수를 적용하면 해당 음원의 오디오 시그니쳐를 추출할 수 있다. 데자뷰에서는 이렇게 얻은 해시값들에 이진화 과정을 한 번 더 진행함으로써 최종적으로 이전 해시값에 비해 크기가 감소된 오디오 시그니쳐를 추출한다.
도 6은 일실시예에 따른 입력 음원의 특징을 추출하는 과정을 설명하기 위한 도면이다.
일실시예에 따르면, 원천 음원의 저작권 보호를 위해서는 유사 음원에 대한 검출 과정이 반드시 필요하며, 이를 위해서는 외부 노이즈에 강하면서도 잘 표현할 수 있는 입력 음원의 특징 정보를 추출해야 한다.
도 6의 (a)에 도시된 그림은 전통적인 오디오 특징 정보 추출 기술의 발전 방향을 보여주는 것으로, 도 6의 (a)에 도시된 바와 같이, 최근에는 딥러닝 기술을 활용하여 오디오로부터 특징 정보를 추출하는 기술들이 주류를 이루고 있다.
본 발명에서는 전반적으로 우수한 성능을 보여주는 딥러닝 기반 오디오 특징 정보를 이용할 수 있다. 이를 위해, 도 6의 (b)에 도시된 바와 같이, 처음에 입력 음원으로부터 MFCC(Mel-Frequency Cepstral Coefficient) 값을 추출할 수 있다. 즉, 음원(아날로그)을 벡터화할 수 있다.
도 7은 일실시예에 따른 특징 정보를 추출하는데 사용되는 뉴럴 네트워크를 도시한 도면이다.
도 7의 (a)에 도시된 바와 같이, 앞서 추출한 MFCC 값을 입력으로 하는 DNN이 구축되면, DNN의 Bottleneck Layer로부터 오디오의 특징 정보를 추출할 수 있다.
한편, 스펙트로그램과 멜스펙트로그램이 오디오 데이터를 시각화한 형태이기 때문에, 이미지 특징 정보 추출 알고리즘인 D2-Net을 통해 오디오의 특징 정보를 추출할 수 있다.
D2-Net에서는 이미지로부터 특징 정보를 추출하기 위하여 도 7의 (b)에 도시된 바와 같이, 단일 합성곱 신경망(Convolutional Neural Network, CNN)으로 구성될 수 있다.
도 8은 일실시예에 따른 오디오를 통해 생성된 블록을 나타낸 도면이다.
블록체인 네트워크를 구성하는 최소 단위를 ‘노드’라고 하며, 하나의 ‘노드’는 블록체인 네트워크를 구성하는 모든 블록을 포함할 수 있다.
블록체인 네트워크는 우수한 보안성능과 탈중앙화 특징으로 인해 금융시장을 포함한 여러 분야에서 기간망으로서 폭넓게 도입이 되고 있다.
이러한 블록체인의 특성을 활용하기 위하여 영상 파일 포맷 표준화 단체인 JPEG에서는 최근에 블록체인 적용 논의가 활발히 이루어지고 있다.
특히, ISO/IEC 19566-4 JPEG Privacy and Security 프로젝트를 통해 블록체인 기반의 이미지 파일 관리 시스템에 대한 표준화를 진행 중인 상태이다.
이에 따라, 본 발명에서는 음원 저작권 보호를 위한 기간망으로 블록체인을 사용할 수 있으며, 하나의 블록은 도 8에 도시된 바와 같이, 다양한 정보를 포함하도록 구성될 수 있다.
예를 들어, 블록은 유사성 체크를 위한 딥러닝 모형 주소, 해당 음원의 특징 정보를 가지고 있는 주소, 입력 음원의 원본 여부 점수, 해당 음원이 저장된 주소 등의 정보를 포함할 수 있다.
블록 생성 시, 유사성 체크를 위한 딥러닝 모형 주소, 해당 음원의 특징 정보를 가지고 있는 주소 및 해당 음원이 저장된 주소는 미리 정해진 주소를 통해 자동으로 설정될 수 있고, 입력 음원의 원본 여부 점수는 적어도 하나의 노드에 의해 자동으로 산출될 수 있다.
도 9는 일실시예에 따른 블록체인을 활용한 오디오 시그니쳐 및 음원 파일을 저장하는 과정을 설명하기 위한 순서도이다.
일실시예에 따르면, 비트코인 상의 거래는 트랜잭션에 작성된 스크립트(script)의 실행을 통해 이루어진다. 스크립트는 잠금 스크립트(Locking script)와 해제 스크립트(Unlocking script)로 구분할 수 있다. 잠금 스크립트는 거래를 위해 충족되어야 하는 요건들이 작성된 스크립트로써, 거래대상자의 정보, 실제 진행되어야 하는 거래의 내용 등이 작성되어 있다. 잠금 스크립트에 작성된 거래조건을 확인하여 실제 거래를 실행 하기 위해서는 잠금 스크립트에서 요구하는 알맞은 값을 해제 스크립트에서 제시하여 해당거래의 소유자인지를 검증해야 한다. 일반적으로 잠금 스크립트에는 거래대상자의 공개키(public key)를 활용하기 때문에, 거래를 위해서는 개인키(private key)를 활용한 해제 스크립트를 제시하여 상호 검증과정을 거쳐야한다. 하지만, 이 방법은 거래에 참여한 대상자가 여럿인 경우, 각 참여자의 공개키를 모두 포함하는 잠금 스크립트를 작성해야 하기 때문에, 그 크기가 커진다는 단점이 있다.
이를 해결하기 위해 P2SH(Pay to Script Hash)에서는 먼저 각 참여자의 공개 키들을 모아 하나의 교환 스크립트(redeem script)로 생성한다. 이렇게 작성된 교환 스크립트에 해시 과정을 거쳐 20bytes 고정크기의 잠금 스크립트를 생성한다. 이렇게 생성된 잠금 스크립트는 거래 참여자의 공개키를 모두 나열하는 기존의 방법에 비해 훨씬 효율적인 공간의 활용이 가능하다. 도 9의 (a)에 도시된 그림에서는 n개의 공개키를 사용하여 작성한 교환 스크립트와 해시를 활용한 잠금 스크립트 및 해제 스크립트의 작성 예시를 보여준다.
앞서 설명한 P2SH에서의 방법을 활용하여 20bytes의 축소된 오디오 시그니쳐 값을 얻을 수 있다. 축소된 오디오 시그니쳐는 블록 트랜잭션 데이터로 포함시키기에 충분한 크기를 만족한다.
이를 활용하면 블록체인 트랜잭션 데이터만의 비교를 통해 단순한 형태의 음원 저작권 검증은 가능하다. 하지만, 원본 음원 파일이나 오디오 시그니쳐에 대한 요청 등을 통한 비교 검증이 어렵기 때문에 음원 저작권의 검증에 필요한 저장 방법이라 할 수 없다. 음원 및 음원의 오디오 시그니쳐와 같은 원본 파일들에 대한 저장을 위해 분산파일시스템(IPFS)의 사용이 필요하다.
IPFS(Inter Planetary File System)는 Torrent로 대표되는 P2P기반의 분산파일저장 방법으로써, 하나의 파일을 여러 개의 조각으로 나누어 관리하도록 하는 방법이다. IPFS는 먼저 원본데이터 파일의 위·변조가 불가능하도록 일련의 암호화과정을 거친다. 이후 암호화된 파일은 보다 작은 크기의 여러 개의 샤드(Shard)로 분할하고, IPFS에 연결된 여러 노드들에 분산되어 저장된다.
여러 노드에 분산 저장된 데이터들은 DHT(Distributed Hash Table)라는 구조를 통해 관리된다. 분할된 노드들은 각각 키(key)와 대응값(value) 쌍의 구조를 지니며, 각 노드를 구별할 수 있는 고유의 해시 값을 키로 나타낸다. 대응값에는 해당 노드가 저장된 위치나 자신과 관련이 있는 노드의 정보가 담겨있다.
도 9의 (b)에 도시된 예시에서 70MB크기의 파일을 IPFS를 사용하여 3개의 노드로 분할하였다. 분할된 노드들은 DHT를 통해 관리되기 때문에 각각 키와 대응값을 갖는다. 각 노드들은 원본 파일의 해시 값(9627)에 특정 문자나 숫자를 추가하여(A9627, B9627, C9627) 키로 사용한다. 이는 분할된 각 노드들이 9627의 해시 값을 갖는 원본파일로부터 분할되었다는 것을 의미한다. 분할된 각 노드들은 대응값으로 자신이 저장된 저장소의 위치를 갖고 있기 때문에 원본 파일로의 통합이나 관리가 가능하다.
일실시예에 따르면, P2SH에서 교환 스크립트의 크기를 20bytes의 고정 크기로 축소시킨 해시 함수를 추출한 오디오 시그니쳐와 원본 음원 파일에 적용한다. 생성된 오디오 시그니쳐와 음원 파일의 20bytes 해시 값을 블록 트랜잭션 데이터에 추가하여 블록체인에 포함시킨다. 이 때, 해시되기 이전의 오디오 시그니쳐와 음원 파일은 IPFS를 활용하여 별도의 노드로 분할하여 관리한다. IPFS의 노드들은 DHT구조를 통해 관리되기 때문에, 블록 트랜잭션 데이터에 포함된 오디오 시그니쳐의 해시값과 음원 파일의 해시값을 참조하여 IPFS에 분산 저장된 원본 데이터로의 접근이 가능하다.
도 9의 (c)에 도시된 바와 같이, 추출한 오디오 시그니쳐와 원본 음원 파일에 해시함수를 적용하여 각각 20bytes 크기의 해시값(2FB9C7AA, C74DFA2B)을 추출한다. 이렇게 얻은 해시값은 블록 트랙잭션 데이터에 추가되어 블록체인에 포함시킨다. 오디오 시그니쳐 파일과 원본 음원 파일은 IPFS를 통해 여러 노드로 분할하여 관리한다. 이 때, 블록 트랜잭션 데이터에 포함시킨 각각의 해시값(2FB9C7AA, C74DFA2B)에 특정 문자나 숫자를 포함시켜 분할된 각 노드의 키값으로 구성한다. 도 9의 (c)에 도시된 그림의 예에서는 오디오 시그니쳐 노드의 경우 각각 a2FB9C7AA, b2FB9C7AA, c2FB9C7AA의 해시값을 키로 갖고, 음원 파일의 노드의 경우 aC74DFA2B, bC74DFA2B, cC74DFA2B의 해시값을 키로 갖는다. 이를 통해 추후 오디오 시그니쳐 파일이나 원본 음원 파일에 대한 접근이 가능하다.
즉, 블록체인 네트워크 상에 등록될 블록에는 오디오 시그니쳐를 비롯한 음원의 해시값이 직접적으로 포함될 수 있다. 따라서 블록체인 네트워크의 탐색을 통해 트랜잭션 데이터를 비교하여 음원에 대한 저작권 검증이 가능하다. 나아가 P2SH에서 교환 스크립트 작성에 활용한 해시 방법을 적용하여 트랜잭션 데이터에 포함되는 데이터의 크기를 축소시켜 블록 내 포함되는 데이터의 크기를 감소시킬 수 있다.
도 10은 일실시예에 따른 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, 먼저, S1001 단계에서, 장치(200)는 제1 입력 오디오가 획득되면, 제1 입력 오디오에 대한 파형 분석을 통해, 제1 입력 오디오에 대한 스펙트로그램(spectrogram)인 제1 이미지를 생성할 수 있다.
구체적으로, 장치(200)는 사용자 단말(100)로부터 제1 입력 오디오를 수신하여 제1 입력 오디오를 획득할 수 있고, 획득된 제1 입력 오디오에 대한 파형 분석을 수행한 후, 파형 분석 결과를 기반으로 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 생성할 수 있다. 오디오에서 스펙트로그램을 생성할 때, 공지된 다양한 기술이 적용될 수 있다.
S1002 단계에서, 장치(200)는 제1 이미지를 인코딩하여 제1 입력 신호를 생성할 수 있다.
S1003 단계에서, 장치(200)는 제1 입력 신호를 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득할 수 있다. 여기서, 제1 뉴럴 네트워크는 복수의 원천 오디오를 통해 미리 학습될 수 있으며, 도 2에 도시된 심층 신경망(Deep Neural Network: DNN)로 구성될 수 있다.
구체적으로, 장치(200)는 미리 학습된 제1 뉴럴 네트워크를 포함할 수 있다. 제1 뉴럴 네트워크는 스펙트로그램을 통해 생성된 제1 입력 신호를 입력 받은 후, 스펙트로그램 비교를 통해 가장 유사한 것으로 추론되는 원천 오디오를 검출하고, 검출된 원천 오디오를 지시하는 출력값을 제1 출력 신호로 출력하는 알고리즘일 수 있다.
S1004 단계에서, 장치(200)는 제1 출력 신호에 기초하여, 복수의 원천 오디오 중에서 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인할 수 있다.
예를 들어, 장치(200)는 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지에 기초하여 생성된 제1 입력 신호를 제1 뉴럴 네트워크에 입력하여, 제1 뉴럴 네트워크로부터 제1 출력 신호를 획득할 수 있으며, 제1 출력 신호를 통해 확인된 출력값이 1로 확인되면, 복수의 원천 오디오 중에서 제1 입력 오디오와 가장 유사한 것으로 검출된 원천 오디오를 제1 원천 오디오로 확인할 수 있고, 제1 출력 신호를 통해 확인된 출력값이 2로 확인되면, 복수의 원천 오디오 중에서 제1 입력 오디오와 가장 유사한 것으로 검출된 원천 오디오를 제2 원천 오디오로 확인할 수 있다.
제1 뉴럴 네트워크는 입력 오디오와 복수의 원천 오디오 간의 스펙트로그램 비교를 통해, 복수의 원천 오디오 중에서 입력 오디오와 가장 유사한 원천 오디오를 검출하여 분석하도록 학습될 수 있다. 이를 위해, 제1 뉴럴 네트워크는 복수의 원천 오디오 각각에 대한 스펙트로그램을 통해 미리 학습되어 있는 상태이며, 이를 통해, 제1 뉴럴 네트워크는 입력 오디오의 스펙트로그램과 복수의 원천 오디오들의 스펙트로그램을 각각 비교하여, 복수의 원천 오디오 중에서 입력 오디오와 가장 유사한 원천 오디오를 선별하여 검출할 수 있고, 검출된 원천 오디오를 지시하는 출력값을 출력할 수 있다.
S1005 단계에서, 장치(200)는 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득할 수 있다. 이때, 장치(200)는 데이터베이스에 저장된 복수의 원천 오디오에 대한 스펙트로그램을 조회하여 제2 이미지를 획득할 수 있고, 제1 뉴럴 네트워크에 등록되어 있는 복수의 원천 오디오에 대한 스펙트로그램을 조회하여 제2 이미지를 획득할 수도 있다.
S1006 단계에서, 장치(200)는 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출할 수 있다. 오디오에서 특징 정보를 추출하는 과정에 대한 자세한 설명은 도 11을 참조하여 후술하기로 한다.
S1007 단계에서, 장치(200)는 제1 특징 정보 및 제2 특징 정보를 비교하여, 제1 입력 오디오 및 제1 원천 오디오 간의 유사도를 산출할 수 있다.
예를 들어, 제1 특징 정보 및 제2 특징 정보가 도 5의 (b)에 도시된 각 파형의 피크에 대한 시간 및 주파수 값을 포함하고 있는 경우, 장치(200)는 제1 특징 정보 및 제2 특징 정보를 비교하여, 각 파형의 피크에 대한 시간 및 주파수가 얼마나 많이 일치하는지 확인하여, 제1 입력 오디오 및 제1 원천 오디오 간의 유사도를 산출할 수 있다.
S1008 단계에서, 장치(200)는 제1 입력 오디오 및 제1 원천 오디오 간의 유사도가 기준치 보다 낮은지 여부를 확인할 수 있다. 여기서, 기준치는 실시예에 따라 상이하게 설정될 수 있다.
S1008 단계에서 유사도가 기준치 보다 낮은 것으로 확인되면, S1009 단계에서, 장치(200)는 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 제1 블록을 블록체인 네트워크 상에 등록할 수 있다.
일실시예에 따르면, 제1 블록은 제1 입력 오디오의 유사성 체크를 위한 딥러닝 모형 주소, 제1 특징 정보를 가지고 있는 주소, 제1 입력 오디오 원본 여부 점수, 제1 입력 오디오가 저장된 주소, 제1 입력 오디오의 오디오 시그니쳐 해시값 및 상기 제1 입력 오디오의 음원 파일 해시값을 포함할 수 있다.
즉, 제1 블록은 도 8에 도시된 유사성 체크를 위한 딥러닝 모형 주소, 해당 음원의 특징 정보를 가지고 있는 주소, 입력 음원의 원본 여부 점수, 해당 음원이 저장된 주소를 포함할 수 있고, 도 9에 도시된 오디오 시그니쳐 해시값, 원본 음원 파일의 해시값을 더 포함할 수 있다.
제1 블록은 제1 입력 오디오에 대한 음원 인덱싱 정보로, 제1 블록이 블록체인 네트워크 상에 등록됨에 따라, 블록체인을 기반으로 음원 인덱싱 정보를 저장하고 관리할 수 있다.
일실시예에 따르면, 제1 블록은 다른 블록과 연결되어 블록체인 네트워크 상에 등록될 수 있다.
예를 들어, 제1 원천 오디오와 대응하는 제2 블록이 블록체인 네트워크 상에 이미 등록되어 있는 상태인 경우, 제1 블록이 블록체인 네트워크 상에 등록될 때, 제1 블록은 제2 블록과 연결되어 블록체인 네트워크 상에 등록될 수 있다.
한편, S1008 단계에서 유사도가 기준치 보다 높은 것으로 확인되면, S1010 단계에서, 장치(200)는 제1 입력 오디오에 대한 유사 오디오 검출 알림 메시지를 사용자 단말(100)로 전송할 수 있다. 여기서, 제1 입력 오디오에 대한 유사 오디오 검출 알림 메시지는 제1 입력 오디오의 유사 판단을 통해 매우 유사한 오디오가 검출된 것을 알려주는 알림 메시지로, 제1 원천 오디오에 대한 정보를 포함할 수 있다.
도 11은 일실시예에 따른 오디오에서 특징 정보를 추출하는 과정을 설명하기 위한 순서도이다.
도 11을 참조하면, 먼저, S1101 단계에서, 장치(200)는 제1 입력 오디오에 대한 MFCC(Mel-Frequency Cepstral Coefficient) 값인 제1 특징값을 추출하고, 제1 원천 오디오에 대한 MFCC 값인 제2 특징값을 추출할 수 있다.
MFCC는 오디오 신호에서 추출할 수 있는 feature로, 소리의 고유한 특징을 나타내는 수치이기 때문에, 제1 특징값은 제1 입력 오디오의 고유한 소리 특징을 나타내는 수치이고, 제2 특징값은 제1 원천 오디오의 고유한 소리 특징을 나타내는 수치일 수 있다.
S1102 단계에서, 장치(200)는 제1 입력 오디오에 대한 파형 분석을 통해, 제1 입력 오디오에 대한 스펙트로그램(spectrogram)인 제1 이미지를 생성할 수 있고, 제1 원천 오디오에 대한 파형 분석을 통해, 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 생성할 수 있다.
스펙트로그램은 소리나 파동을 시각화하여 파악하기 위한 도구로, 파형과 스펙트럼의 특징이 조합되어 있기 때문에, 제1 이미지는 제1 입력 오디오의 파형과 스펙트럼의 특징을 시각화하여 나타낼 수 있고, 제2 이미지는 제1 원천 오디오의 파형과 스펙트럼의 특징을 시각화하여 나타낼 수 있다.
S1103 단계에서, 장치(200)는 제1 특징값을 제2 뉴럴 네트워크에 입력하여, 제2 뉴럴 네트워크로부터 제1-1 특징 정보를 획득할 수 있고, 제2 특징값을 제2 뉴럴 네트워크에 입력하여, 제2 뉴럴 네트워크로부터 제2-1 특징 정보를 획득할 수 있다. 여기서, 제2 뉴럴 네트워크는 복수의 오디오를 통해 미리 학습될 수 있으며, 도 7의 (a)에 도시된 심층 신경망(Deep Neural Network: DNN)로 구성될 수 있다.
구체적으로, 장치(200)는 미리 학습된 제2 뉴럴 네트워크를 포함할 수 있다. 제2 뉴럴 네트워크는 MFCC 값을 입력 받은 후, MFCC 값의 분석을 통해 오디오에 대한 특징을 나타내는 특징 정보를 출력하는 알고리즘일 수 있다.
즉, 장치(200)는 제1 입력 오디오에 대한 MFCC 값인 제1 특징값을 제2 뉴럴 네트워크에 입력한 경우, 제2 뉴럴 네트워크의 Bottleneck Layer로부터 제1 입력 오디오에 대한 특징을 나타내는 제1-1 특징 정보를 획득할 수 있다.
또한, 장치(200)는 제1 원천 오디오에 대한 MFCC 값인 제2 특징값을 제2 뉴럴 네트워크에 입력한 경우, 제2 뉴럴 네트워크의 Bottleneck Layer로부터 제1 원천 오디오에 대한 특징을 나타내는 제2-1 특징 정보를 획득할 수 있다.
제2 뉴럴 네트워크는 MFCC 값을 통해 오디오의 특징을 분석하도록 학습될 수 있다. 이를 위해, 제2 뉴럴 네트워크는 다수의 오디오에 대한 MFCC 값을 통해 미리 학습되어 있는 상태이며, 이를 통해, 제2 뉴럴 네트워크는 MFCC 값을 통해 오디오의 특징을 분석하여, 분석된 특징을 나타내는 특징 정보가 Bottleneck Layer를 통해 외부로 출력되도록 처리할 수 있다.
S1104 단계에서, 장치(200)는 제1 이미지를 제3 뉴럴 네트워크에 입력하여, 제3 뉴럴 네트워크로부터 제1-2 특징 정보를 획득할 수 있고, 제2 이미지를 제3 뉴럴 네트워크에 입력하여, 제3 뉴럴 네트워크로부터 제2-2 특징 정보를 획득할 수 있다. 여기서, 제3 뉴럴 네트워크는 복수의 오디오를 통해 미리 학습될 수 있으며, 도 7의 (b)에 도시된 합성곱 신경망(Convolutional Neural Network, CNN)으로 구성될 수 있다.
구체적으로, 장치(200)는 미리 학습된 제3 뉴럴 네트워크를 포함할 수 있다. 제3 뉴럴 네트워크는 스펙트로그램을 입력 받은 후, 스펙트로그램 분석을 통해 오디오에 대한 특징을 나타내는 특징 정보를 출력하는 알고리즘일 수 있다.
즉, 장치(200)는 제1 입력 오디오에 대한 스펙트로그램인 제1 이미지를 제3 뉴럴 네트워크에 입력한 경우, 제3 뉴럴 네트워크의 출력값으로부터 제1 입력 오디오에 대한 특징을 나타내는 제1-2 특징 정보를 획득할 수 있다.
또한, 장치(200)는 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 제3 뉴럴 네트워크에 입력한 경우, 제3 뉴럴 네트워크의 출력값으로부터 제1 원천 오디오에 대한 특징을 나타내는 제2-2 특징 정보를 획득할 수 있다.
제3 뉴럴 네트워크는 스펙트로그램을 통해 오디오의 특징을 분석하도록 학습될 수 있다. 이를 위해, 제3 뉴럴 네트워크는 다수의 오디오에 대한 스펙트로그램을 통해 미리 학습되어 있는 상태이며, 이를 통해, 제3 뉴럴 네트워크는 스펙트로그램을 통해 오디오의 특징을 분석하여, 분석된 특징을 나타내는 특징 정보가 출력값으로 출력되도록 처리할 수 있다.
S1105 단계에서, 장치(200)는 제1-1 특징 정보 및 제1-2 특징 정보를 결합하여 제1 특징 정보를 추출하고, 제2-1 특징 정보 및 제2-2 특징 정보를 결합하여 제2 특징 정보를 추출할 수 있다.
도 12는 일실시예에 따른 제1 블록을 블록체인 네트워크 상에 등록하기 위해 구역 별로 음원 정보를 추출하여 결정하는 과정을 설명하기 위한 순서도이다.
도 12를 참조하면, 먼저, S1201 단계에서, 장치(200)는 제1 입력 오디오 및 제1 원천 오디오 간의 유사도가 기준치 보다 낮은 것으로 확인되면, 제1 입력 오디오에서 제1 구역의 음원인 제1 음원 정보를 추출할 수 있다. 이를 위해, 제1 입력 오디오는 복수의 구역으로 구분될 수 있고, 각 구역의 길이는 동일하게 설정될 수 있다.
S1202 단계에서, 장치(200)는 제1 음원 정보를 분석하여, 제1 구역을 음성 구간인 제1 구간과 호흡 구간인 제2 구간으로 구분할 수 있다. 이때, 장치(200)는 제1 음원 정보를 분석하여, 제1 구역 내에서 사용자 음성이 재생되는 음성 구간을 제1 구간으로 구분하고, 제1 구역 내에서 사용자 음성이 재생되지 않는 호흡 구간을 제2 구간으로 구분할 수 있다.
S1203 단계에서, 장치(200)는 제1 구간의 길이를 제1 구역의 길이로 나눈 값을 통해, 제1 비율을 산출할 수 있다.
예를 들어, 제1 구역의 길이가 5초이고, 제1 구간의 길이가 4초인 경우, 장치(200)는 4를 5로 나눈 값을 통해, 제1 비율을 80%로 산출할 수 있다.
S1204 단계에서, 장치(200)는 제1 비율이 제1 기준 비율 보다 높은지 여부를 확인할 수 있다. 여기서, 제1 기준 비율은 실시예에 따라 상이하게 설정될 수 있다.
S1204 단계에서 제1 비율이 제1 기준 비율 보다 높은 것으로 확인되면, S1210 단계에서, 장치(200)는 제1 구역의 음원 정보를 제1 음원 정보로 결정할 수 있다.
S1204 단계에서 제1 비율이 제1 기준 비율 보다 낮은 것으로 확인되면, S1205 단계에서, 장치(200)는 제1 비율이 제2 기준 비율 보다 높은지 여부를 확인할 수 있다. 여기서, 제2 기준 비율은 제1 기준 비율 보다 작은 값으로 설정될 수 있다.
S1205 단계에서 제1 비율이 제2 기준 비율 보다 높은 것으로 확인되면, S1206 단계에서, 장치(200)는 제1 입력 오디오에서 제1 구역을 확장한 제2 구역의 사운드인 제2 음원 정보를 추출할 수 있다.
예를 들어, 제1 입력 오디오에서 2초 동안 녹음된 구역인 제1 구역의 음원인 제1 음원 정보가 추출된 경우, 장치(200)는 제1 비율이 제2 기준 비율 보다 높은 것으로 확인되면, 제1 입력 오디오에서 제1 구역을 앞뒤로 1초씩 확장하여 4초 동안 녹음된 구역인 제2 구역의 사운드인 제2 음원 정보를 추출할 수 있다.
S1207 단계에서, 장치(200)는 제2 음원 정보를 분석하여, 제2 구역을 음성 구간인 제3 구간과 호흡 구간인 제4 구간으로 구분할 수 있다. 이때, 장치(200)는 제2 음원 정보를 분석하여, 제2 구역 내에서 사용자 음성이 재생되는 음성 구간을 제3 구간으로 구분하고, 제2 구역 내에서 사용자 음성이 재생되지 않는 호흡 구간을 제4 구간으로 구분할 수 있다.
S1208 단계에서, 장치(200)는 제3 구간의 길이를 제2 구역의 길이로 나눈 값을 통해, 제2 비율을 산출할 수 있다.
S1209 단계에서, 장치(200)는 제2 비율이 제1 기준 비율 보다 높은지 여부를 확인할 수 있다.
S1209 단계에서 제2 비율이 제1 기준 비율 보다 높은 것으로 확인되면, S1211 단계에서, 장치(200)는 제1 구역의 음원 정보를 제2 음원 정보로 결정할 수 있다.
한편, S1205 단계에서 제1 비율이 제2 기준 비율 보다 낮은 것으로 확인되거나, S1209 단계에서 제2 비율이 제1 기준 비율 보다 낮은 것으로 확인되면, S1212 단계에서, 장치(200)는 제1 구역의 음원 정보가 없는 것으로 결정할 수 있다.
제1 입력 오디오가 복수의 구역으로 구분되어 있는 경우, 제1 구역의 음원 정보가 결정되는 방식과 동일한 과정을 통해, 다른 구역의 음원 정보도 결정될 수 있다.
장치(200)는 제1 입력 오디오에서 각 구역 별로 음원 정보가 결정되면, 구역 별로 결정된 음원 정보를 취합하여, 제1 입력 오디오를 갱신할 수 있다.
예를 들어, 제1 입력 오디오가 제1 구역, 제2 구역 및 제3 구역으로 구분되어 있고, 제1 구역의 음원 정보가 제1 음원 정보로 결정되고, 제2 구역의 음원 정보가 제2 음원 정보로 결정되고, 제3 구역의 음원 정보가 없는 것으로 결정된 경우, 장치(200)는 제1 음원 정보 및 제2 음원 정보를 취합하여 결합한 것으로, 제1 입력 오디오를 갱신할 수 있다.
장치(200)는 제1 입력 오디오가 갱신되면, 갱신된 제1 입력 오디오와 대응하는 제1 블록을 생성할 수 있다.
도 13은 일실시예에 따른 입력 오디오에서 가장 많이 언급된 키워드가 제품명으로 확인된 경우, 제품과 공급업체의 정보를 제공하는 과정을 설명하기 위한 순서도이다.
도 13을 참조하면, 먼저 S1301 단계에서, 장치(200)는 제1 입력 오디오에서 각 구역 별로 음원 정보가 결정되면, 구역 별로 결정된 음원 정보에서 음성 인식을 통해 키워드를 확인하고, 구역 별로 확인된 키워드를 기반으로, 키워드 리스트를 생성할 수 있다.
S1302 단계에서, 장치(200)는 키워드 리스트에서 가장 많이 중복된 것으로 검출된 제1 키워드를 확인할 수 있다.
예를 들어, 제1 입력 오디오가 제1 구역, 제2 구역 및 제3 구역으로 구분되어 있고, 제1 구역의 음원 정보가 제1 음원 정보로 결정되고, 제2 구역의 음원 정보가 제2 음원 정보로 결정되고, 제3 구역의 음원 정보가 제3 음원 정보로 결정된 경우, 장치(200)는 제1 음원 정보에서 음성 인식을 통해 제1 키워드 및 제2 키워드를 확인할 수 있고, 제2 음원 정보에서 음성 인식을 통해 제1 키워드 및 제3 키워드를 확인할 수 있고, 제3 음원 정보에서 음성 인식을 통해 제1 키워드 및 제4 키워드를 확인할 수 있고, 구역 별로 확인된 제1 키워드 및 제2 키워드, 제1 키워드 및 제3 키워드, 제1 키워드 및 제4 키워드를 취합하여, 키워드 리스트를 생성할 수 있으며, 생성된 키워드 리스트에 제1 키워드가 3번 포함되어 있으므로, 제1 키워드가 키워드 리스트에서 가장 많이 중복된 것으로 검출할 수 있다.
장치(200)는 제1 키워드가 제1 제품에 대한 제품명으로 확인된 경우, 제1 제품의 정보를 획득할 수 있다. 여기서, 제1 제품의 정보는 데이터베이스 또는 외부 서버를 통해 획득될 수 있으며, 제1 제품의 명칭, 제1 제품의 기능, 제1 제품의 브랜드 등을 포함하는 제1 제품에 관한 정보이다.
S1303 단계에서, 장치(200)는 제1 키워드가 제1 제품에 대한 제품명으로 확인되면, 복수의 공급업체들의 창고들에 보관되어 있는 제1 제품의 재고량을 획득할 수 있다.
구체적으로, 장치(200)는 공급업체들의 창고에 부착되어 있는 카메라를 통해 제1 제품의 재고량을 확인할 수 있고, 공급업체들의 재고 데이터베이스를 통해 제1 제품의 재고량을 확인할 수도 있다.
S1304 단계에서, 장치(200)는 제1 제품을 구비하고 있는 공급업체가 존재하는지 여부를 판단할 수 있다.
S1304 단계에서 제1 제품을 구비하고 있는 공급업체가 존재하는지 여부를 판단한 결과 제1 제품을 구비하고 있는 공급업체가 제1 공급업체로 판단되면, S1305 단계에서, 장치(200)는 제1 제품을 공급할 공급업체를 제1 공급업체로 선정할 수 있다.
S1304 단계에서 제1 제품을 구비하고 있는 공급업체가 존재하는지 여부를 판단한 결과 제1 제품을 구비하고 있는 공급업체가 없는 것으로 판단되면, S1306 단계에서, 장치(200)는 제1 제품을 공급한 경험이 있는 공급업체가 존재하는지 여부를 판단할 수 있다.
S1306 단계에서 제1 제품을 공급한 경험이 있는 공급업체가 존재하는지 여부를 판단한 결과 제1 제품을 공급한 경험이 있는 공급업체가 제2 공급업체로 판단되면, S1307 단계에서, 장치(200)는 제1 제품을 공급할 공급업체를 제2 공급업체로 선정할 수 있다.
S1306 단계에서 제1 제품을 공급한 경험이 있는 공급업체가 존재하는지 여부를 판단한 결과 제1 제품을 공급한 경험이 있는 공급업체가 없는 것으로 판단되면, S1308 단계에서, 장치(200)는 제1 제품의 브랜드인 제1 브랜드 정보를 획득할 수 있다. 여기서, 제1 브랜드 정보는 데이터베이스 또는 외부 서버를 통해 획득될 수 있다.
S1309 단계에서, 장치(200)는 제1 브랜드 정보를 기초로, 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체를 분석할 수 있다.
구체적으로, 장치(200)는 제1 브랜드 정보를 기초로, 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체 중 어느 공급업체가 제1 브랜드와 친밀한지 등을 분석할 수 있다.
S1310 단계에서, 장치(200)는 분석 결과를 기초로, 제1 제품을 공급할 공급업체를 선정할 수 있다.
구체적으로, 장치(200)는 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체 중 공급 소요 기간일 짧은 공급업체를 제1 브랜드와 친밀하다고 판단하여 해당 공급업체를 제1 제품을 공급할 공급업체로 선정할 수 있고, 제1 브랜드에 포함된 제품을 많이 공급한 공급업체를 제1 브랜드와 친밀하다고 판단하여 해당 공급업체를 제1 제품을 공급할 공급업체로 선정할 수 있다.
S1311 단계에서, 장치(200)는 제1 제품을 공급할 공급업체가 선정되면, 제1 제품의 정보 및 제1 제품을 공급할 공급업체로 선정된 공급업체의 정보를 사용자 단말(100)로 전송할 수 있다.
도 14는 일실시예에 따른 제품을 공급할 공급업체를 선정하는 과정을 설명하기 위한 순서도이다.
도 14를 참조하면, 먼저, S1401 단계에서 장치(200)는 공급업체들 중 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체를 제1 업체 그룹으로 분류할 수 있다.
구체적으로, 장치(200)는 제1 제품의 브랜드인 제1 브랜드 정보를 획득할 수 있고, 제1 브랜드 정보를 기초로, 제1 브랜드로 판매되는 제품들을 확인하여 제1 브랜드에 포함된 제품을 추출할 수 있다. 장치(200)는 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체를 추출하여 제1 업체 그룹으로 분류할 수 있다.
S1402 단계에서, 장치(200)는 제1 업체 그룹으로 분류된 공급업체들의 제1 브랜드에 대응하는 공급 경험 데이터를 획득할 수 있다.
즉, 장치(200)는 제1 업체 그룹으로 분류된 공급업체들의 공급 경험 데이터를 획득할 수 있고, 획득된 데이터를 기초로 제1 브랜드에 대응하는 공급 경험 데이터를 추출할 수 있다. 여기서, 제1 브랜드에 대응하는 공급 경험 데이터는 제1 브랜드로 판매되는 제품을 얼마나 많이 공급하였는지, 제1 브랜드로 판매되는 제품의 주문을 획득한 시점부터 공급 완료 시점까지 얼마나 소요되었는지, 제1 브랜드로 판매되는 제품을 공급받은 사용자의 만족도 등의 제1 브랜드로 판매되는 제품과 관련된 공급 경험 데이터이다.
S1403 단계에서, 장치(200)는 제1 브랜드에 대응하는 공급 경험 데이터들에서 주문 시작 시점부터 공급 완료 시점 까지의 공급 소요 기간들을 생성할 수 있다.
즉, 장치(200)는 제1 브랜드에 대응하는 공급 경험 데이터들에서 사용자로부터 제1 브랜드로 판매되는 제품의 공급을 요청받은 주문 시작 시점부터 사용자가 제1 브랜드로 판매되는 제품을 수령한 공급 완료 시점까지의 공급 소요 기간을 생성할 수 있다.
예를 들어, 제1 업체 그룹으로 분류된 공급업체인 제1 공급업체의 공급 경험 데이터를 확인한 결과, 제1 사용자로부터 제1 브랜드로 판매되는 제품에 대한 공급 요청을 4월 1일에 수신하고 제1 사용자가 해당 제품을 수령한 날짜가 4월 15일인 경우, 장치(200)는 공급 소요 기간을 14일로 생성할 수 있다.
S1404 단계에서, 장치(200)는 공급 소요 기간들을 기초로, 제1 업체 그룹으로 분류된 공급업체들 각각에 대응하는 평균 공급 소요 기간들을 생성할 수 있다.
구체적으로, 장치(200)는 제1 업체 그룹으로 분류된 공급업체들의 제1 브랜드로 판매되는 제품의 공급 소요 기간들을 추출할 수 있고, 각 공급업체마다 공급 소요 기간들의 평균을 산출하여 평균 공급 소요 기간을 생성할 수 있다.
예를 들어, 제1 업체 그룹으로 분류된 공급업체인 제1 공급업체의 공급 소요 기간들을 확인한 결과 각각 14일, 6일, 10일인 경우, 장치(200)는 제1 공급업체의 평균 공급 소요 기간을 10일로 생성할 수 있다.
S1405 단계에서, 장치(200)는 평균 공급 소요 기간이 미리 정의된 임계 기간보다 짧은 경우, 공급업체를 선정하기 위한 기준 내 가중치들 중에서 소요 기간에 대한 가중치를 평균 공급 소요 기간에 반비례하여 높일 수 있다.
구체적으로, 장치(200)는 제1 업체 그룹으로 분류된 공급업체들의 평균 공급 소요 기간을 생성하고, 생성된 평균 공급 소요 기간이 미리 정의된 임계 기간보다 짧은 공급업체들을 추출하고, 해당 공급업체들의 공급업체를 선정하기 위한 기준 내 가중치들 중에서 소요 기간에 대한 가중치를 평균 공급 소요 기간에 반비례하여 높일 수 있다.
예를 들어, 제1 업체 그룹으로 분류된 공급업체인 제1 공급업체의 평균 공급 소요 기간이 10일이고, 제2 공급업체의 평균 공급 소요 기간이 6일이고, 제3 공급업체의 평균 공급 소요 기간이 12일이고, 제4 공급업체의 평균 공급 소요 기간이 17일이고, 미리 정의된 임계 기간이 14일인 경우, 장치(200)는 제4 공급업체의 경우 평균 공급 소요 기간인 17일이 임계 기간인 14일 보다 길기 때문에 소요 기간에 대한 가중치를 부여하지 않고, 제2 공급업체에게 소요 기간에 대한 가중치를 10점 부여하고, 제1 공급업체에게 소요 기간에 대한 가중치를 6점 부여하고, 제3 공급업체에게 소요 기간에 대한 가중치를 5점 부여할 수 있다.
S1406 단계에서, 장치(200)는 가중치를 적용하여, 제1 제품을 공급할 공급업체를 선정할 수 있다.
도 15는 일실시예에 따른 뉴럴 네트워크의 학습을 설명하기 위한 도면이다.
일실시예에 따르면, 뉴럴 네트워크는 제1 뉴럴 네트워크, 제2 뉴럴 네트워크 및 제3 뉴럴 네트워크 중 어느 하나일 수 있다.
도 15를 참조하면, 일실시예에 따른 장치(200)는 입력 레이어(202), 뉴럴 네트워크(204) 및 출력 레이어(206)을 포함할 수 있다.
도 15에 도시한 바와 같이, 장치(200)는 학습을 위해 필요한 정보를 입력하여 뉴럴 네트워크(204)를 학습시킬 수 있다. 뉴럴 네트워크(204)를 학습시키는 학습 장치는 장치(200)와 다른 별개의 주체일 수 있지만, 이에 제한되는 것은 아니다.
뉴럴 네트워크(204)는 트레이닝 샘플들이 입력되는 입력 레이어(202)와 트레이닝 출력들을 출력하는 출력 레이어(206)를 포함하고, 트레이닝 출력들과 레이블들 사이의 차이에 기초하여 학습될 수 있다. 여기서, 레이블들은 뉴럴 네트워크를 통해 도출되는 출력값에 기초하여 정의될 수 있다.
뉴럴 네트워크(204)는 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다.
장치(200)는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 뉴럴 네트워크(204)를 학습시킬 수 있다. 장치(200)는 뉴럴 네트워크(204)의 출력들 및 레이블들 의해 설계된 손실 함수(Loss Function)를 이용할 수 있다.
장치(200)는 미리 정의된 손실 함수를 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 뉴럴 네트워크(204) 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.
장치(200)는 역전파(Backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 뉴럴 네트워크(204) 내 노드들 사이의 관계들이다. 장치(200)는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 장치(200)는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱신할 수 있다.
장치(200)는 뉴럴 네트워크(204)가 제1 뉴럴 네트워크인 경우, 입력 레이어(202)에 트레이닝 스펙트로그램 샘플들을 입력한 후, 출력 레이어(206)에서 출력되는 트레이닝 출력들과 레이블들 사이의 차이에 기초하여 학습될 수 있다.
장치(200)는 뉴럴 네트워크(204)가 제2 뉴럴 네트워크인 경우, 입력 레이어(202)에 트레이닝 MFCC 값 샘플들을 입력한 후, 출력 레이어(206)에서 출력되는 트레이닝 출력들과 레이블들 사이의 차이에 기초하여 학습될 수 있다.
장치(200)는 뉴럴 네트워크(204)가 제3 뉴럴 네트워크인 경우, 입력 레이어(202)에 트레이닝 스펙트로그램 샘플들을 입력한 후, 출력 레이어(206)에서 출력되는 트레이닝 출력들과 레이블들 사이의 차이에 기초하여 학습될 수 있다.
도 16은 일실시예에 따른 장치의 구성의 예시도이다.
일실시예에 따른 장치(200)는 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 도 1 내지 도 15를 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 15를 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(200)를 이용하는 자 또는 단체는 도 1 내지 도 15를 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.
메모리(220)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(210)는 프로그램을 실행하고, 장치(200)를 제어할 수 있다. 프로세서(210)에 의하여 실행되는 프로그램의 코드는 메모리(220)에 저장될 수 있다. 장치(200)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.
장치(200)는 인공 신경망을 학습시키거나, 학습된 인공 신경망을 이용하는데 사용될 수 있다. 메모리(220)는 학습 중인 또는 학습된 인공 신경망을 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 인공 신경망 알고리즘을 학습시키거나 실행시킬 수 있다. 인공 신경망을 학습시키는 장치(200)와 학습된 인공 신경망을 이용하는 장치(200)는 동일할 수도 있고 개별적일 수도 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (3)

  1. 장치에 의해 수행되는, 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법에 있어서,
    제1 입력 오디오가 획득되면, 상기 제1 입력 오디오에 대한 파형 분석을 통해, 상기 제1 입력 오디오에 대한 스펙트로그램(spectrogram)인 제1 이미지를 생성하는 단계;
    상기 제1 이미지를 인코딩하여 제1 입력 신호를 생성하는 단계;
    상기 제1 입력 신호를 복수의 원천 오디오를 통해 미리 학습된 제1 뉴럴 네트워크에 입력하여 제1 출력 신호를 획득하는 단계;
    상기 제1 출력 신호에 기초하여, 상기 복수의 원천 오디오 중에서 상기 제1 입력 오디오와 가장 유사한 것으로 검출된 제1 원천 오디오를 확인하는 단계;
    상기 제1 원천 오디오에 대한 스펙트로그램인 제2 이미지를 획득하는 단계;
    상기 제1 입력 오디오에 대한 특징을 나타내는 제1 특징 정보를 추출하고, 상기 제1 원천 오디오에 대한 특징을 나타내는 제2 특징 정보를 추출하는 단계;
    상기 제1 특징 정보 및 상기 제2 특징 정보를 비교하여, 상기 제1 입력 오디오 및 상기 제1 원천 오디오 간의 유사도를 산출하는 단계; 및
    상기 유사도가 미리 설정된 기준치 보다 낮은 것으로 확인되면, 상기 제1 입력 오디오와 대응하는 제1 블록을 생성하고, 상기 제1 블록을 블록체인 네트워크 상에 등록하는 단계를 포함하고,
    상기 제1 블록을 블록체인 네트워크 상에 등록하는 단계는,
    상기 유사도가 상기 기준치 보다 낮은 것으로 확인되면, 복수의 구역으로 구분되어 있고 각 구역의 길이가 동일하게 설정되어 있는 상기 제1 입력 오디오에서 제1 구역의 음원인 제1 음원 정보를 추출하는 단계;
    상기 제1 음원 정보를 분석하여, 상기 제1 구역 내에서 음성이 재생되는 음성 구간인 제1 구간과 음성이 재생되지 않는 호흡 구간인 제2 구간을 구분하는 단계;
    상기 제1 구간의 길이를 상기 제1 구역의 길이로 나눈 값을 통해, 제1 비율을 산출하는 단계;
    상기 제1 비율이 미리 설정된 제1 기준 비율 보다 높은지 여부를 확인하는 단계;
    상기 제1 비율이 상기 제1 기준 비율 보다 높은 것으로 확인되면, 상기 제1 구역의 음원 정보를 상기 제1 음원 정보로 결정하는 단계;
    상기 제1 비율이 상기 제1 기준 비율 보다 낮은 것으로 확인되면, 상기 제1 비율이 미리 설정된 제2 기준 비율 보다 높은지 여부를 확인하는 단계;
    상기 제1 비율이 상기 제2 기준 비율 보다 높은 것으로 확인되면, 상기 제1 입력 오디오에서 상기 제1 구역을 앞뒤로 미리 정해진 시간씩 확장한 제2 구역의 음원인 제2 음원 정보를 추출하는 단계;
    상기 제2 음원 정보를 분석하여, 상기 제2 구역 내에서 음성이 재생되는 음성 구간인 제3 구간과 음성이 재생되지 않는 호흡 구간인 제4 구간을 구분하는 단계;
    상기 제3 구간의 길이를 상기 제2 구역의 길이로 나눈 값을 통해, 제2 비율을 산출하는 단계;
    상기 제2 비율이 상기 제1 기준 비율 보다 높은지 여부를 확인하는 단계;
    상기 제2 비율이 상기 제1 기준 비율 보다 높은 것으로 확인되면, 상기 제1 구역의 음원 정보를 상기 제2 음원 정보로 결정하는 단계;
    상기 제1 비율이 상기 제2 기준 비율 보다 낮거나, 상기 제2 비율이 상기 제1 기준 비율 보다 낮은 것으로 확인되면, 상기 제1 구역의 음원 정보가 없는 것으로 결정하는 단계;
    상기 제1 입력 오디오에서 각 구역 별로 음원 정보가 결정되면, 상기 구역 별로 결정된 음원 정보를 취합하여, 상기 제1 입력 오디오를 갱신하는 단계; 및
    상기 갱신된 제1 입력 오디오와 대응하는 상기 제1 블록을 생성하는 단계를 포함하고,
    상기 제1 입력 오디오에서 각 구역 별로 음원 정보가 결정되면, 상기 구역 별로 결정된 음원 정보에서 음성 인식을 통해 키워드를 확인하고, 상기 구역 별로 확인된 키워드를 기반으로, 키워드 리스트를 생성하는 단계;
    상기 키워드 리스트에서 가장 많이 중복된 것으로 검출된 제1 키워드를 확인하는 단계;
    상기 제1 키워드가 제1 제품에 대한 제품명으로 확인되면, 복수의 공급업체들의 창고들에 보관되어 있는 상기 제1 제품의 재고량을 획득하는 단계;
    상기 제1 제품을 구비하고 있는 공급업체가 있는지 여부를 판단하는 단계;
    상기 제1 제품을 구비하고 있는 공급업체가 제1 공급업체로 판단되면, 상기 제1 제품을 공급할 공급업체를 상기 제1 공급업체로 선정하는 단계;
    상기 제1 제품을 구비하고 있는 공급업체가 없는 것으로 판단되면, 상기 제1 제품을 공급한 경험이 있는 공급업체가 있는지 여부를 판단하는 단계;
    상기 제1 제품을 공급한 경험이 있는 공급업체가 제2 공급업체로 판단되면, 상기 제1 제품을 공급할 공급업체를 상기 제2 공급업체로 선정하는 단계;
    상기 제1 제품을 공급한 경험이 있는 공급업체가 없는 것으로 판단되면, 상기 제1 제품의 브랜드인 제1 브랜드 정보를 획득하는 단계;
    상기 제1 브랜드 정보를 기초로, 상기 제1 브랜드에 포함된 제품을 공급한 경험이 있는 공급업체를 분석하고, 상기 분석 결과를 기초로, 상기 제1 제품을 공급할 공급업체를 선정하는 단계; 및
    상기 제1 제품의 정보 및 상기 제1 제품을 공급할 공급업체로 선정된 공급업체의 정보를 사용자 단말로 전송하는 단계를 더 포함하고,
    상기 제1 특징 정보 및 상기 제2 특징 정보를 추출하는 단계는,
    상기 제1 입력 오디오에 대한 MFCC(Mel-Frequency Cepstral Coefficient) 값인 제1 특징값을 추출하고, 상기 제1 원천 오디오에 대한 MFCC 값인 제2 특징값을 추출하는 단계;
    상기 제1 특징값을 미리 학습된 제2 뉴럴 네트워크에 입력하여, 상기 제2 뉴럴 네트워크의 Bottleneck Layer로부터 상기 제1 입력 오디오에 대한 특징을 나타내는 제1-1 특징 정보를 획득하고, 상기 제2 특징값을 상기 제2 뉴럴 네트워크에 입력하여, 상기 제2 뉴럴 네트워크의 Bottleneck Layer로부터 상기 제1 원천 오디오에 대한 특징을 나타내는 제2-1 특징 정보를 획득하는 단계;
    상기 제1 이미지를 미리 학습된 제3 뉴럴 네트워크에 입력하여, 상기 제3 뉴럴 네트워크부터 상기 제1 입력 오디오에 대한 특징을 나타내는 제1-2 특징 정보를 획득하고, 상기 제2 이미지를 상기 제3 뉴럴 네트워크에 입력하여, 상기 제3 뉴럴 네트워크로부터 상기 제1 원천 오디오에 대한 특징을 나타내는 제2-2 특징 정보를 획득하는 단계; 및
    상기 제1-1 특징 정보 및 상기 제1-2 특징 정보를 결합하여 상기 제1 특징 정보를 추출하고, 상기 제2-1 특징 정보 및 상기 제2-2 특징 정보를 결합하여 상기 제2 특징 정보를 추출하는 단계를 포함하고,
    상기 제1 뉴럴 네트워크는,
    입력 오디오와 복수의 원천 오디오 간의 스펙트로그램 비교를 통해, 복수의 원천 오디오 중에서 입력 오디오와 가장 유사한 원천 오디오를 검출하여 분석하도록 학습되어 있는 상태이고, 입력 오디오의 스펙트로그램과 복수의 원천 오디오들의 스펙트로그램을 각각 비교하여, 복수의 원천 오디오 중에서 입력 오디오와 가장 유사한 원천 오디오를 선별하여 검출하고, 검출된 원천 오디오를 지시하는 출력값을 출력하고,
    상기 제2 뉴럴 네트워크는,
    MFCC 값을 통해 오디오의 특징을 분석하도록 학습되어 있는 상태이고, MFCC 값을 통해 오디오의 특징을 분석하여, 분석된 특징을 나타내는 특징 정보가 Bottleneck Layer를 통해 외부로 출력되도록 처리하고,
    상기 제3 뉴럴 네트워크는,
    스펙트로그램을 통해 오디오의 특징을 분석하도록 학습되어 있는 상태이고, 스펙트로그램을 통해 오디오의 특징을 분석하여, 분석된 특징을 나타내는 특징 정보가 출력값으로 출력되도록 처리하고,
    상기 제1 블록은,
    상기 제1 입력 오디오의 유사성 체크를 위한 딥러닝 모형 주소, 상기 제1 특징 정보를 가지고 있는 주소, 상기 제1 입력 오디오의 원본 여부 점수, 상기 제1 입력 오디오가 저장된 주소, 상기 제1 입력 오디오의 오디오 시그니쳐 해시값 및 상기 제1 입력 오디오의 음원 파일 해시값을 포함하고,
    상기 제1 원천 오디오와 대응하는 제2 블록이 상기 블록체인 네트워크 상에 이미 등록되어 있는 상태인 경우, 상기 제1 블록이 상기 블록체인 네트워크 상에 등록될 때, 상기 제1 블록은 상기 제2 블록과 연결되어 상기 블록체인 네트워크 상에 등록되는 것을 특징으로 하는,
    인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법.
  2. 삭제
  3. 삭제
KR1020220118318A 2022-09-20 2022-09-20 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템 KR102584712B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220118318A KR102584712B1 (ko) 2022-09-20 2022-09-20 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220118318A KR102584712B1 (ko) 2022-09-20 2022-09-20 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR102584712B1 true KR102584712B1 (ko) 2023-10-05

Family

ID=88293623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220118318A KR102584712B1 (ko) 2022-09-20 2022-09-20 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR102584712B1 (ko)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100512143B1 (ko) * 2002-02-08 2005-09-02 엘지전자 주식회사 멜로디 기반 음악 검색방법과 장치
KR101620866B1 (ko) 2014-12-17 2016-05-13 서울대학교산학협력단 학습 기법을 적용한 사전 학습 알고리즘 기반의 음원 분리 방법
JP2017067813A (ja) * 2015-09-28 2017-04-06 本田技研工業株式会社 音声処理装置及び音声処理方法
KR102128153B1 (ko) 2017-12-28 2020-06-29 한양대학교 산학협력단 기계 학습을 이용한 음악 소스 검색 장치 및 그 방법
KR20210031344A (ko) * 2019-09-11 2021-03-19 넷마블 주식회사 시동어 인식 기술을 제공하기 위한 컴퓨터 프로그램
KR102244568B1 (ko) * 2021-01-26 2021-04-26 주식회사 쉬즈본 수요 공급 예측을 통한 물류 관리 방법, 장치 및 시스템
KR102313549B1 (ko) 2020-12-29 2021-10-15 주식회사 업보트엔터 음원 생성 방법 및 음원 생성 시스템
KR20220050038A (ko) * 2020-10-15 2022-04-22 김태훈 상호협업 기반 음악 콘텐츠 제작 서비스 제공 시스템
KR102418232B1 (ko) 2020-09-29 2022-07-07 미디어젠(주) 보이스 유사도 평가 방법 및 그 장치
KR102445457B1 (ko) * 2022-06-15 2022-09-20 주식회사 벨시온 물품 구매 요청에 대한 판매 제안 방식을 기반으로 한 구매자 및 판매자 매칭 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102466020B1 (ko) * 2022-04-14 2022-11-10 주식회사 에루샤 인공지능 기반 명품 정보 및 셀러의 자동 매칭 방법, 장치 및 시스템

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100512143B1 (ko) * 2002-02-08 2005-09-02 엘지전자 주식회사 멜로디 기반 음악 검색방법과 장치
KR101620866B1 (ko) 2014-12-17 2016-05-13 서울대학교산학협력단 학습 기법을 적용한 사전 학습 알고리즘 기반의 음원 분리 방법
JP2017067813A (ja) * 2015-09-28 2017-04-06 本田技研工業株式会社 音声処理装置及び音声処理方法
KR102128153B1 (ko) 2017-12-28 2020-06-29 한양대학교 산학협력단 기계 학습을 이용한 음악 소스 검색 장치 및 그 방법
KR20210031344A (ko) * 2019-09-11 2021-03-19 넷마블 주식회사 시동어 인식 기술을 제공하기 위한 컴퓨터 프로그램
KR102418232B1 (ko) 2020-09-29 2022-07-07 미디어젠(주) 보이스 유사도 평가 방법 및 그 장치
KR20220050038A (ko) * 2020-10-15 2022-04-22 김태훈 상호협업 기반 음악 콘텐츠 제작 서비스 제공 시스템
KR102313549B1 (ko) 2020-12-29 2021-10-15 주식회사 업보트엔터 음원 생성 방법 및 음원 생성 시스템
KR102244568B1 (ko) * 2021-01-26 2021-04-26 주식회사 쉬즈본 수요 공급 예측을 통한 물류 관리 방법, 장치 및 시스템
KR102466020B1 (ko) * 2022-04-14 2022-11-10 주식회사 에루샤 인공지능 기반 명품 정보 및 셀러의 자동 매칭 방법, 장치 및 시스템
KR102445457B1 (ko) * 2022-06-15 2022-09-20 주식회사 벨시온 물품 구매 요청에 대한 판매 제안 방식을 기반으로 한 구매자 및 판매자 매칭 플랫폼 서비스 제공 방법, 장치 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Gunawan, A. A., & Suhartono, D, Music recommender system based on genre using convolutional recurrent neural networks, Procedia Computer Science, 2019* *
이은지, 조철호, 택배서비스품질의 고객만족에 관한 메타분석에 관한 연구, 서비스경영학회지 17.1, 2016* *

Similar Documents

Publication Publication Date Title
Benchaji et al. Enhanced credit card fraud detection based on attention mechanism and LSTM deep model
Farnadi et al. User profiling through deep multimodal fusion
Gulli et al. Deep learning with Keras
Zhang et al. Deep Learning over Multi-field Categorical Data: –A Case Study on User Response Prediction
CN110785767B (zh) 紧凑的无语言面部表情嵌入和新颖三元组的训练方案
Jermsittiparsert et al. Pattern recognition and features selection for speech emotion recognition model using deep learning
JP2022529863A (ja) アイデンティティ検証方法、アイデンティティ検証装置、コンピュータ機器、及びコンピュータプログラム
KR102447549B1 (ko) Nft 기반 아트워크와 연계된 쥬얼리 거래 서비스 제공 방법, 장치 및 시스템
US20200134455A1 (en) Apparatus and method for training deep learning model
KR102586799B1 (ko) 인공지능 모델을 활용한 웹소설 기반 웹북 생성 자동화 처리 방법, 장치 및 시스템
KR102470154B1 (ko) 블록체인 기반 의료기기 거래 및 공유 플랫폼 서비스 제공 방법, 장치 및 시스템
KR20220122741A (ko) 이미지의 진위성 검증
US11654366B2 (en) Computer program for performing drawing-based security authentication
Rungta et al. A deep learning based approach to measure confidence for virtual interviews
Wu et al. Hyperparameter optimization through context-based meta-reinforcement learning with task-aware representation
Nayak et al. Optimizing a higher order neural network through teaching learning based optimization algorithm
KR102584712B1 (ko) 인공지능을 기반으로 한 음원 유사 판단 및 블록체인을 기반으로 한 음원 인덱싱 정보 저장 및 관리 방법, 장치 및 시스템
KR102564182B1 (ko) 인공지능 모델을 활용하여 영상 데이터 기반 얼굴 표정 영상 추출 및 이를 활용한 콘텐츠 생성 방법, 장치 및 시스템
Karim Java Deep Learning Projects: Implement 10 real-world deep learning applications using Deeplearning4j and open source APIs
KR102552856B1 (ko) 커머스 연계 콘텐츠 제공 플랫폼 서비스를 위한 키워드 추출 및 콘텐츠 템플릿 생성 자동화 방법, 장치 및 시스템
KR102513420B1 (ko) 사용자 의도 분석 기반 인공지능 모델 추천 플랫폼 제공 방법, 장치 및 시스템
KR102700884B1 (ko) 인공지능 모델 기반 음원 채널 별 유통 및 마케팅 자동화를 통한 음원 콘텐츠 엑셀러레이팅 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102453919B1 (ko) 인공지능 기반 문화 콘텐츠 관련 가이드 음원의 검증 방법, 장치 및 시스템
KR102618066B1 (ko) 군인 기반 커뮤니티 애플리케이션에서 자연어 처리 및 이미지 대조를 기반으로 하여 군사 보안을 강화하는 방법, 장치 및 시스템
KR102623424B1 (ko) 사용자 맞춤형 보컬 평가 보고서 제공 방법

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant