KR101760189B1 - 신호 처리 방법 및 신호 처리 장치 - Google Patents

신호 처리 방법 및 신호 처리 장치 Download PDF

Info

Publication number
KR101760189B1
KR101760189B1 KR1020150170945A KR20150170945A KR101760189B1 KR 101760189 B1 KR101760189 B1 KR 101760189B1 KR 1020150170945 A KR1020150170945 A KR 1020150170945A KR 20150170945 A KR20150170945 A KR 20150170945A KR 101760189 B1 KR101760189 B1 KR 101760189B1
Authority
KR
South Korea
Prior art keywords
bit
grid
signal processing
obtaining
input signal
Prior art date
Application number
KR1020150170945A
Other languages
English (en)
Other versions
KR20170064912A (ko
Inventor
서상태
김철환
한우진
이창원
이교구
김재훈
한윤창
강하림
원상희
김연화
정일영
Original Assignee
주식회사 엘지유플러스
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스, 서울대학교산학협력단 filed Critical 주식회사 엘지유플러스
Priority to KR1020150170945A priority Critical patent/KR101760189B1/ko
Publication of KR20170064912A publication Critical patent/KR20170064912A/ko
Application granted granted Critical
Publication of KR101760189B1 publication Critical patent/KR101760189B1/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
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

신호 처리 방법이 개시된다. 일 실시예는 입력 신호의 주파수 특성을 기초로 상기 입력 신호의 특성 세트(feature set)를 획득하고, 상기 특성 세트 및 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 상기 입력 신호의 비트(beat) 속도를 결정하며, 상기 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득하고, 상기 조정 비트 그리드의 자기 유사성(self-similarity)을 획득하고, 상기 자기 유사성을 기초로 비트를 추출하며, 상기 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별하고, 상기 다운 비트 인덱스를 기초로 상기 입력 신호의 화성적 특징(harmonic characteristics)의 변화 포인트를 결정하는 단계를 포함한다.

Description

신호 처리 방법 및 신호 처리 장치{METHOD OF TRANSMITTING DATA AND TRANSMISSION PROCESSING AGENT}
아래 실시예들은 신호 처리 방법 및 신호 처리 장치에 관한 것이다.
동영상은 시각적 컨텐츠 및 청각적 컨텐츠를 포함하고, 청각적 컨텐츠는 배경 음악을 포함할 수 있다. 배경 음악의 비트(beat)는 배경 음악의 리듬을 구성하는 기본 단위로 배경 음악의 빠르기(Tempo)를 결정하고 주기성을 가진다.
음악의 다양한 특성 중 하나인 다운 비트는 음악의 마디 또는 박자의 센박이나 강박을 나타낸다. 배경 음악의 다운 비트에 맞게 화면이 전환되는 경우, 시청자는 동영상을 보다 자연스럽게 시청할 수 있다.
관련 선행기술로, 한국 등록특허공보 제10-0380947호(발명의 명칭: 오디오 신호 분석 방법 및 컴퓨터와 기록매체, 출원인: 인터내셔널 비지네스 머신즈 코포레이션)가 있다. 등록특허공보에는 한 개 이상의 세그먼트의 시계열 시퀀스(temporal sequence)를 각각 포함하는, 오디오 신호의 한 개 이상의 간격 내의 오디오 이벤트를 검출하는 단계, 상기 오디오 이벤트를 분석하여 관련된 음성 신뢰도로 음성 경계부를 식별하는 단계, 정확도를 개선하기 위해, 발견적으로 결정된 규칙을 이용하여 상기 음성 경계부 및 신뢰도에 기초하여 상기 오디오 신호를 색인하는 단계, 재현 능력(recall)을 개선하기 위해, 관련된 가중과 함께 상기 오디오 신호 내의 적어도 하나의 워드의 대안을 색인하는 단계, 및 상기 오디오 신호의 색인을 이용하여 상기 오디오 신호의 워드 스폿팅, 요약 및 스키밍 중 하나 이상을 행하는 단계를 포함하는 컴퓨터로 구현하는 오디오 신호 분석 방법이 개시된다.
일 측에 따른 신호 처리 방법은 입력 신호의 주파수 특성을 기초로 상기 입력 신호의 특성 세트(feature set)를 획득하는 단계; 상기 특성 세트 및 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 상기 입력 신호의 비트(beat) 속도를 결정하는 단계; 상기 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득하는 단계; 상기 조정 비트 그리드의 자기 유사성(self-similarity)을 획득하고, 상기 자기 유사성을 기초로 비트를 추출하는 단계; 상기 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별하는 단계; 및 상기 다운 비트 인덱스를 기초로 상기 입력 신호의 화성적 특징(harmonic characteristics)의 변화 포인트를 결정하는 단계를 포함한다.
상기 자기 유사성을 기초로 비트를 추출하는 단계는, 상기 조정 비트 그리드에 대응하는 자기 유사성 행렬(self-similarity matrix)을 획득하는 단계; 상기 자기 유사성 행렬에 미리 정의된 함수를 적용하여 상기 조정 비트 그리드의 비트 각각의 상관도(correlation)를 획득하는 단계; 및 상기 상관도가 미리 정해진 범위에 속하는 상기 비트를 추출하는 단계를 포함할 수 있다.
상기 미리 정의된 함수는, 가우시안 커널을 포함할 수 있다.
상기 다운 비트 인덱스를 식별하는 단계는, 상기 추출된 비트의 비트 인덱스를 미리 정해진 숫자로 나눠서 나머지(residual)를 획득하는 단계; 상기 나머지를 기준으로 상기 추출된 비트의 개수를 카운트(count)하는 단계; 및 상기 추출된 비트의 개수의 최대값에 대응하는 나머지를 상기 다운 비트 인덱스로 결정하는 단계를 포함할 수 있다.
상기 조정 비트 그리드를 획득하는 단계는, 상기 결정된 비트 속도에 대응하는 비트 그리드를 8 비트(beat)에 대응되게 조정하여 상기 조정 비트 그리드를 획득하는 단계를 포함할 수 있다.
상기 입력 신호의 특성 세트를 획득하는 단계는, 상기 입력 신호로부터 스펙트로그램(spectrogram)을 획득하는 단계; 상기 스펙트로그램을 멜(mel) 주파수 스펙트로그램으로 변환하는 단계; 및 상기 멜 주파수 스펙트로그램의 피크값을 이용하여 상기 특성 세트를 획득하는 단계를 포함할 수 있다.
상기 미리 정의된 복수의 그리드 각각은, 복수의 비트 속도 각각에 대응하는 것일 수 있다
상기 입력 신호의 비트 속도를 결정하는 단계는, 상기 특성 세트와 상기 미리 정의된 복수의 비트 그리드 사이의 상관도(correlation)를 획득하는 단계; 상기 획득된 상관도 중에서 최대값을 확인하고, 상기 최대값에 대응하는 비트 그리드를 획득하는 단계; 및 상기 획득된 비트 그리드에 대응하는 비트 속도를 상기 입력 신호의 비트 속도로 결정하는 단계를 포함할 수 있다.
상기 입력 신호의 화성적 특징의 변화 포인트를 결정하는 단계는, 상기 다운 비트 인덱스를 이용하여 다운 비트 그리드를 생성하는 단계; 상기 다운 비트 그리드에 대응하는 타임 비트 템플릿을 획득하는 단계; 및 상기 타임 비트 템플릿을 이용하여 상기 변화 포인트를 결정하는 단계를 포함할 수 있다.
상기 변화 포인트에 대응하는 타임 스탬프를 획득하는 단계를 더 포함할 수 있다.
일 측에 따른 신호 처리 장치는 입력 신호의 주파수 특성을 기초로 상기 입력 신호의 특성 세트(feature set)를 획득하는 특성 세트 획득부; 상기 특성 세트 및 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 상기 입력 신호의 비트(beat) 속도를 결정하는 비트 속도 결정부; 상기 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득하는 조정 비트 그리드 획득부; 상기 조정 비트 그리드의 자기 유사성(self-similarity)을 획득하고, 상기 자기 유사성을 기초로 비트를 추출하는 비트 추출부; 상기 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별하는 다운 비트 인덱스 식별부; 및 상기 다운 비트 인덱스를 기초로 상기 입력 신호의 화성적 특징의 변화 포인트를 결정하는 변화 포인트 결정부를 포함한다.
상기 비트 추출부는, 상기 조정 비트 그리드에 대응하는 자기 유사성 행렬(self-similarity matrix)을 획득하고, 상기 자기 유사성 행렬에 미리 정의된 함수를 적용하여 상기 조정 비트 그리드의 비트 각각의 상관도(correlation)를 획득하며, 상기 상관도가 미리 정해진 범위에 속하는 상기 비트를 추출할 수 있다.
상기 미리 정의된 함수는, 가우시안 커널을 포함할 수 있다.
상기 다운 비트 인덱스 식별부는, 상기 추출된 비트의 비트 인덱스를 미리 정해진 숫자로 나눠서 나머지(residual)를 획득하고, 상기 나머지를 기준으로 상기 추출된 비트의 개수를 카운트(count)하며, 상기 추출된 비트의 개수의 최대값에 대응하는 나머지를 상기 다운 비트 인덱스로 결정할 수 있다.
상기 조정 비트 그리드 획득부는, 상기 결정된 비트 속도에 대응하는 비트 그리드를 8 비트(beat)에 대응되게 조정하여 상기 조정 비트 그리드를 획득할 수 있다.
상기 특성 세트 획득부는, 상기 입력 신호로부터 스펙트로그램(spectrogram)을 획득하고, 상기 스펙트로그램을 멜(mel) 주파수 스펙트로그램으로 변환하며, 상기 멜 주파수 스펙트로그램의 피크값을 이용하여 상기 특성 세트를 획득할 수 있다.
상기 미리 정의된 복수의 그리드 각각은, 복수의 비트 속도 각각에 대응하는 것일 수 있다.
상기 비트 속도 결정부는, 상기 특성 세트와 상기 미리 정의된 복수의 비트 그리드 사이의 상관도(correlation)를 획득하고, 상기 획득된 상관도 중에서 최대값을 확인하고, 상기 최대값에 대응하는 비트 그리드를 획득하며, 상기 획득된 비트 그리드에 대응하는 비트 속도를 상기 입력 신호의 비트 속도로 결정할 수 있다.
상기 변화 포인트 결정부는, 상기 다운 비트 인덱스를 이용하여 다운 비트 그리드를 생성하고, 상기 다운 비트 그리드에 대응하는 타임 비트 템플릿을 획득하며, 상기 타임 비트 템플릿을 이용하여 상기 변화 포인트를 결정할 수 있다.
상기 변화 포인트에 대응하는 타임 스탬프를 획득하는 타임 스탬프 획득부를 더 포함할 수 있다.
실시예들은 음악 신호의 음의 높낮이 변화에서 나타나는 패턴의 주기성을 추출 및 추적하여 음악 신호의 센박 또는 강박을 나타내는 다운 비트를 검출할 수 있다. 또한, 실시예들은 스펙트로그램(또는, 인간의 청각적 특성이 반영된 멜 주파수 스펙트로그램)과 음악 신호의 구조적 특성을 이용하여 빠른 속도와 높은 확률로 다운 비트를 검출할 수 있다.
도 1은 일 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 입력 신호의 주파수 특성의 분석을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 입력 신호의 비트 속도의 결정을 설명하기 위한 도면이다.
도 4a 내지 도 4b는 일 실시예에 따른 자기 유사성을 이용하여 입력 신호의 구조의 분석을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 입력 신호의 타임 스탬프의 획득을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 신호 처리 방법을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따른 신호 처리 장치를 설명하기 위한 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 신호 처리 방법을 설명하기 위한 도면이다.
일 실시예에 따른 신호 처리 방법은 신호 처리 장치에 의해 수행될 수 있다. 신호 처리 장치는 입력 신호의 주파수 특성을 분석할 수 있고(110), 주파수 특성을 기초로 입력 신호의 비트 속도를 결정할 수 있다(120). 또한, 신호 처리 장치는 입력 신호에 포함된 비트(beat)의 자기 유사성을 이용하여 입력 신호의 구조를 분석할 수 있고(130), 입력 신호의 구조의 분석을 기초로 입력 신호의 화성적 특징이 변화하는 시점에 대응하는 타임 스탬프를 획득할 수 있다(140). 이하, 신호 처리 방법에 대해 상세히 설명한다.
<주파수 특성 분석>
주파수 특성 분석에 대하여 도 2를 참조하면서 설명한다.
도 2는 일 실시예에 따른 입력 신호의 주파수 특성의 분석을 설명하기 위한 도면이다.
도 2를 참조하면, 복수의 신호가 도시된다. 신호 처리 장치는 도 2(a)에 도시된 입력 신호를 입력 받을 수 있다. 입력 신호는, 예를 들어, 음악 신호와 같은 오디오 신호를 포함할 수 있다. 도 2(a)에 도시된 입력 신호에서 시간의 변화에 따른 입력 신호의 세기 변화가 나타난다.
신호 처리 장치는 입력 신호의 주파수 특성을 분석할 수 있다. 보다 구체적으로, 신호 처리 장치는 입력 신호를 스펙트로그램(spectrogram)으로 변환할 수 있다. 신호 처리 장치는 도 2(a)에 도시된 입력 신호를 도 2(b)에 도시된 스펙트로그램으로 변환할 수 있다. 도 2(b)에 도시된 스펙트로그램에서 시간 변화 및 주파수 변화에 따른 진폭 차이가 나타난다.
신호 처리 장치는 도 2(b)에 도시된 스펙트로그램을 도 2(c)에 도시된 멜(mel) 스펙트로그램 또는 멜 주파수 스텍트로그램으로 변환할 수 있다. 멜 스펙트로그램은 스펙트로그램의 주파수 대역을 인간이 인지 가능한 주파수 대역으로 변환한 것일 수 있다.
신호 처리 장치는 멜 스펙트로그램을 이용하여 입력 신호의 특성 세트(feature set)를 획득할 수 있다. 예를 들어, 신호 처리 장치는 멜 스펙트로그램의 피크를 추출하여 특성 세트를 획득할 수 있다. 신호 처리 장치가 획득한 특성 세트는 도 2(d)에 도시된다.
신호 처리 장치는 입력 신호의 주파수 특성을 분석하여 입력 신호로부터 특성 세트를 획득할 수 있다.
<비트 속도의 결정>
신호 처리 장치는 획득된 특성 세트와 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 입력 신호의 비트 속도를 결정할 수 있다. 여기서, 비트 속도는 bpm(beat per minute)일 수 있다. 이하, 도 3을 참조하면서 설명한다.
도 3은 일 실시예에 따른 입력 신호의 비트 속도의 결정을 설명하기 위한 도면이다.
도 3(a)에는 미리 정의된 복수의 비트 그리드가 도시된다. 비트 속도 별로 비트 그리드가 생성될 수 있다. 즉, 복수의 비트 그리드 각각은 복수의 비트 속도 각각과 대응할 수 있다. 예를 들어, 제1 비트 그리드는 60bpm에 대응할 수 있고, 제2 비트 그리드는 70bpm에 대응할 수 있다. 도 3(a)에는 60bpm 부터 150bpm 각각에 대응하는 비트 그리드가 도시된다.
신호 처리 장치는 특성 세트와 복수의 비트 그리드 각각 사이의 상관도(correlation)를 획득할 수 있다. 예를 들어, 신호 처리 장치는 특성 세트와 제1 비트 그리드 사이의 상관도를 획득할 수 있고, 특성 세트와 제2 비트 그리드 사이의 상관도를 획득할 수 있다.
신호 처리 장치는 획득된 상관도 중에서 최대값을 확인할 수 있다. 도 3(c)에 도시된 것과 같이, 특성 세트와 특정 비트 그리드 사이의 상관도가 높을 수 있다. 도 3(c)에서 y축 값은 상관도를 나타내고, x축 값은 bpm을 나타낸다. 도 3(c)에 도시된 예의 경우, 107 bpm에서 상관도가 가장 높다. 신호 처리 장치는 특성 세트와 상관도가 가장 높은 비트 그리드를 획득할 수 있다. 획득된 비트 그리드는 도 3(b)에 도시된다. 신호 처리 장치는 획득된 비트 그리드에 대응하는 비트 속도를 입력 신호의 비트 속도로 결정할 수 있다. 전술한 예에서, 신호 처리 장치는 입력 신호의 비트 속도를 107 bpm으로 결정할 수 있다.
입력 신호의 비트 속도가 결정된 경우, 신호 처리 장치는 획득된 비트 그리드로부터 조정 비트 그리드를 획득할 수 있다. 예를 들어, 신호 처리 장치는 획득된 비트 그리드를 8 비트(beat)에 대응되게 조정하여 조정 비트 그리드를 획득할 수 있다. 조정 비트 그리드는 도 3(d)에 도시된다. 도 3(b)와 도 3(d)를 비교할 때, 도 3(d)의 조정 비트 그리드에서 비트 그리드와 비트 그리드 사이의 간격이 더 좁다.
<자기 유사성을 이용하여 입력 신호의 구조를 분석>
조정 비트 그리드가 획득된 경우, 신호 처리 장치는 조정 비트 그리드의 자기 유사성을 획득할 수 있고, 자기 유사성을 기초로 입력 신호의 구조를 분석할 수 있다. 이하, 도 4a 내지 도 4b를 참조하면서 설명한다.
도 4a 내지 도 4b는 일 실시예에 따른 자기 유사성을 이용하여 입력 신호의 구조의 분석을 설명하기 위한 도면이다.
도 4a에는 조정 비트 그리드에 대응하는 자기 유사성 행렬(self-similarity matrix)이 도시된다. 신호 처리 장치는 조정 비트 그리드에 대응하는 자기 유사성 행렬을 획득할 수 있다. 신호 처리 장치는 자기 유사성 행렬에 미리 정의된 함수를 적용하여 조정 비트 그리드의 비트의 자기 상관도(autocorrleation)를 획득할 수 있다. 미리 정의된 함수는, 예를 들어, 가우시안 커널 함수일 수 있다. 조정 비트 그리드의 비트의 자기 상관도는 도 4b에 도시된다. 도 4b를 참조하면서 설명한다.
도 4b의 (a)는 도 4a에 도시된 자기 유사성 행렬과 동일하므로, 상세한 설명을 생략한다.
도 4b의 (b)를 참조하면, 비트 인덱스에 따른 자기 상관도가 도시된다.
신호 처리 장치는 비트의 자기 상관도를 이용하여 비트를 추출할 수 있다. 보다 구체적으로, 신호 처리 장치는 비트의 자기 상관도가 미리 정해진 범위에 속하는 비트를 추출할 수 있다. 예를 들어, 신호 처리 장치는 획득된 자기 상관도에 피크 픽킹(peak picking) 알고리즘을 적용하여 자기 상관도가 피크인 비트를 추출할 수 있다.
신호 처리 장치는 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별할 수 있다. 보다 구체적으로, 신호 처리 장치는 추출된 비트의 비트 인덱스를 미리 정해진 숫자로 나눠서 나머지(residual)를 획득할 수 있다. 예를 들어, 신호 처리 장치는 추출된 비트의 비트 인덱스를 8로 나눈 나머지를 획득할 수 있다. 추출된 비트의 비트 인덱스가 5인 경우, 신호 처리 장치는 5를 8로 나눈 나머지인 5를 획득할 수 있고, 추출된 비트의 비트 인덱스가 14인 경우, 신호 처리 장치는 14를 8로 나눈 나머지인 6을 획득할 수 있다. 신호 처리 장치가 비트 인덱스를 8로 나눴을 때 획득 가능한 나머지는 1부터 8이다. 도 4b의 (c)를 참조하면, 신호 처리 장치는 추출된 비트를 나머지를 기준으로 분류할 수 있다. 도 4b의 (c)의 y축 값은 추출된 비트의 비트 인덱스를 8로 나눈 나머지이고, x축 값은 추출된 비트의 개수를 나타낸다.
신호 처리 장치는 나머지를 기준으로 추출된 비트의 개수를 카운트할 수 있다. 신호 처리 장치는 나머지가 0인 비트 인덱스를 갖는 비트가 몇 개인지 카운트할 수 있다. 마찬가지로, 신호 처리 장치는 나머지가 1인 비트 인덱스를 갖는 비트가 몇 개인지 카운트할 수 있다. 도 4b의 (d)를 참조하면, 나머지를 기준으로 추출된 비트의 개수가 도시된다. 도 4b의 (d)의 y축 값은 비트의 개수를 나타내고, x축 값은 비트 인덱스를 8로 나눈 나머지이다. 도 4b의 (d)에 도시된 예에서, 나머지가 5인 비트 인덱스를 갖는 비트가 가장 많다. 비트 인덱스의 나머지가 미리 정해진 조건에 매칭되는 비트가 다운 비트로 결정될 수 있다. 신호 처리 장치는 추출된 비트의 개수의 최대값에 대응하는 나머지를 다운 비트 인덱스로 결정할 수 있다.
<타임 스탬프의 획득>
다운 비트 인덱스가 결정된 경우, 신호 처리 장치는 다운 비트 인덱스를 기초로 입력 신호의 화성적 특징(harmonic characteristics)의 변화 포인트를 결정할 수 있고, 변화 포인트를 기초로 입력 신호의 타임 스탬프를 획득할 수 있다. 이하, 도 5를 참조하면서 설명한다.
도 5는 일 실시예에 따른 입력 신호의 타임 스탬프의 획득을 설명하기 위한 도면이다. 도 5(a)에는 입력 신호가 도시된다. 도 5(a)의 입력 신호는 위에서 설명한 도 2(a)의 입력 신호이다.
신호 처리 장치는 다운 비트 인덱스를 이용하여 다운 비트 그리드를 생성할 수 있다. 위에서 설명한 예에서, 조정 비트 그리드가 8 비트에 대응되게 조정되었으므로, 신호 처리 장치는 다운 비트 인덱스를 이용하여 8 비트에 대응되는 다운 비트 그리드를 생성할 수 있다. 신호 처리 장치는 다운 비트 인덱스에 7을 반복적으로 더하여 다운 비트 그리드를 생성할 수 있다. 도 4를 통해 설명한 예에서, 신호 처리 장치는 비트 인덱스를 8로 나눈 나머지가 5에 대응하는 다운 비트 그리드를 생성할 수 있다.
신호 처리 장치는 다운 비트 그리드에 대응하는 타임 비트 템플릿을 획득할 수 있다. 신호 처리 장치는 다운 비트 그리드를 초 단위로 변환하여 타임 비트 템플릿을 획득할 수 있다. 타임 비트 템플릿은 도 5(b)에 도시된다.
신호 처리 장치는 타임 비트 템플릿을 이용하여 입력 신호의 변화 포인트를 결정할 수 있다. 신호 처리 장치는 도 5(b)에 도시된 타임 비트 템플릿에서 x축의 시간 값들을 변화 포인트로 결정할 수 있고, 변화 포인트에 대응하는 타임 스탬프로 결정할 수 있다. 결국, 신호 처리 장치는 타임 비트 템플릿으로부터 입력 신호의 타임 스탬프를 획득할 수 있다.
도 6은 일 실시예에 따른 신호 처리 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 신호 처리 장치는 입력 신호의 주파수 특성을 기초로 입력 신호의 특성 세트를 획득한다(610).
신호 처리 장치는 특성 세트 및 미리 정의된 복수의 비트 그리드를 이용하여 입력 신호의 비트 속도를 결정한다(620).
신호 처리 장치는 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득한다(630).
신호 처리 장치는 조정 비트 그리드의 자기 유사성을 획득하고, 상기 자기 유사성을 기초로 비트를 추출한다(640).
신호 처리 장치는 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별한다(650).
신호 처리 장치는 다운 비트 인덱스를 기초로 입력 신호의 화성적 특징의 변화 포인트를 결정한다(660).
도 1 내지 도 5를 통해 기술된 사항들은 도 6을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 7은 일 실시예에 따른 신호 처리 장치를 설명하기 위한 블록도이다.
도 7을 참조하면, 일 실시예에 따른 신호 처리 장치(700)는 특성 세트 획득부(710), 비트 속도 결정부(720), 조정 비트 그리드 획득부(730), 비트 추출부(740), 다운 비트 인덱스 식별부(750), 및 변화 포인트 결정부(760)를 포함한다.
특성 세트 획득부(710)는 입력 신호의 주파수 특성을 기초로 입력 신호의 특성 세트를 획득한다.
비트 속도 결정부(720)는 특성 세트 및 미리 정의된 복수의 비트 그리드를 이용하여 입력 신호의 비트 속도를 결정한다.
조정 비트 그리드 획득부(730)는 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득한다.
비트 추출부(740)는 조정 비트 그리드의 자기 유사성을 획득하고, 자기 유사성을 기초로 비트를 추출한다.
다운 비트 인덱스 식별부(750)는 추출된 비트의 비트 인덱스를 이용하여 미리 정해진 조건에 매칭되는 다운 비트 인덱스를 식별한다.
변화 포인트 결정부(760)는 다운 비트 인덱스를 기초로 입력 신호의 화성적 특징의 변화 포인트를 결정한다.
다양한 음악적 특성(features) 중 화면 전환 지점과 가장 잘 동기화되는 특성이 다운 비트(downbeat)일 수 있다. 다운 비트는 입력 신호의 센박 또는 강박을 나타내는 것으로, 위에서 설명한 입력 신호의 화성적 특징의 변화 포인트이다. 일 실시예에 따른 신호 처리 장치는 인간의 청각적 특성이 반영된 멜 스펙트로그램과 입력 신호의 구조적 특성을 이용하여 빠른 속도와 높은 확률로 다운 비트를 결정할 수 있다.
도 8은 일 실시예에 따른 신호 처리 장치를 포함하는 단말을 설명하기 위한 도면이다.
도 8을 참조하면, 단말(800)은 메모리(810), 프로세서(820), 및 디스플레이(830)를 포함한다.
메모리(810)는 입력 신호를 저장한다. 예를 들어, 메모리(810)는 사용자가 다운 받은 음악 컨텐츠를 저장할 수 있다. 프로세서(820)는 일 실시예에 따른 신호 처리 장치를 포함할 수 있다. 도 7에서 설명한 특성 세트 획득부(710), 비트 속도 결정부(720), 조정 비트 그리드 획득부(730), 비트 추출부(740), 다운 비트 인덱스 식별부(750), 및 변화 포인트 결정부(760)는 프로세서(820)에 의해 구현될 수 있다. 프로세서(820)는 음악 컨텐츠의 센박 또는 강박을 나타내는 다운 비트에 대응하는 타임 스탬프를 획득할 수 있고, 타임 스탬프를 메모리(810)에 저장할 수 있다.
도 1 내지 도 7를 통해 기술된 사항들은 도 8에 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 입력 신호의 주파수 특성을 기초로 상기 입력 신호의 특성 세트(feature set)를 획득하는 단계;
    상기 특성 세트 및 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 상기 입력 신호의 비트(beat) 속도를 결정하는 단계;
    상기 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득하는 단계;
    상기 조정 비트 그리드의 자기 유사성(self-similarity)을 획득하고, 상기 자기 유사성을 기초로 비트들을 추출하는 단계;
    상기 추출된 비트들 각각의 비트 인덱스를 미리 정해진 값으로 나눈 나머지 중 어느 하나를 다운 비트 인덱스로 결정하는 단계; 및
    상기 다운 비트 인덱스를 기초로 상기 입력 신호의 센박 또는 강박을 나타내는 다운 비트를 결정하는 단계
    를 포함하는,
    신호 처리 방법.
  2. 제1항에 있어서,
    상기 자기 유사성을 기초로 비트를 추출하는 단계는,
    상기 조정 비트 그리드에 대응하는 자기 유사성 행렬(self-similarity matrix)을 획득하는 단계;
    상기 자기 유사성 행렬에 미리 정의된 함수를 적용하여 상기 조정 비트 그리드의 비트 각각의 상관도(correlation)를 획득하는 단계; 및
    상기 상관도가 미리 정해진 범위에 속하는 상기 비트를 추출하는 단계
    를 포함하는,
    신호 처리 방법.
  3. 제2항에 있어서,
    상기 미리 정의된 함수는,
    가우시안 커널을 포함하는,
    신호 처리 방법.
  4. 제1항에 있어서,
    상기 다운 비트 인덱스로 결정하는 단계는,
    상기 나머지를 기준으로 상기 추출된 비트들의 개수를 카운트(count)하는 단계; 및
    상기 추출된 비트들의 개수의 최대값에 대응하는 나머지를 상기 다운 비트 인덱스로 결정하는 단계
    를 포함하는,
    신호 처리 방법.
  5. 제1항에 있어서,
    상기 조정 비트 그리드를 획득하는 단계는,
    상기 결정된 비트 속도에 대응하는 비트 그리드를 8 비트(beat)에 대응되게 조정하여 상기 조정 비트 그리드를 획득하는 단계
    를 포함하는,
    신호 처리 방법.
  6. 제1항에 있어서,
    상기 입력 신호의 특성 세트를 획득하는 단계는,
    상기 입력 신호로부터 스펙트로그램(spectrogram)을 획득하는 단계;
    상기 스펙트로그램을 멜(mel) 주파수 스펙트로그램으로 변환하는 단계; 및
    상기 멜 주파수 스펙트로그램의 피크값을 이용하여 상기 특성 세트를 획득하는 단계
    를 포함하는,
    신호 처리 방법.
  7. 제1항에 있어서,
    상기 미리 정의된 복수의 그리드 각각은,
    복수의 비트 속도 각각에 대응하는 것인,
    신호 처리 방법.
  8. 제7항에 있어서,
    상기 입력 신호의 비트 속도를 결정하는 단계는,
    상기 특성 세트와 상기 미리 정의된 복수의 비트 그리드 사이의 상관도(correlation)를 획득하는 단계;
    상기 획득된 상관도 중에서 최대값을 확인하고, 상기 최대값에 대응하는 비트 그리드를 획득하는 단계; 및
    상기 획득된 비트 그리드에 대응하는 비트 속도를 상기 입력 신호의 비트 속도로 결정하는 단계
    를 포함하는,
    신호 처리 방법.
  9. 제1항에 있어서,
    상기 다운 비트를 결정하는 단계는,
    상기 다운 비트 인덱스를 이용하여 다운 비트 그리드를 생성하는 단계;
    상기 다운 비트 그리드에 대응하는 타임 비트 템플릿을 획득하는 단계; 및
    상기 타임 비트 템플릿을 이용하여 상기 다운 비트를 결정하는 단계
    를 포함하는,
    신호 처리 방법.
  10. 제9항에 있어서,
    상기 다운 비트에 대응하는 타임 스탬프를 획득하는 단계
    를 더 포함하는,
    신호 처리 방법.
  11. 입력 신호의 주파수 특성을 기초로 상기 입력 신호의 특성 세트(feature set)를 획득하는 특성 세트 획득부;
    상기 특성 세트 및 미리 정의된 복수의 비트 그리드(beat grid)를 이용하여 상기 입력 신호의 비트(beat) 속도를 결정하는 비트 속도 결정부;
    상기 결정된 비트 속도에 대응하는 비트 그리드로부터 조정 비트 그리드를 획득하는 조정 비트 그리드 획득부;
    상기 조정 비트 그리드의 자기 유사성(self-similarity)을 획득하고, 상기 자기 유사성을 기초로 비트들을 추출하는 비트 추출부;
    상기 추출된 비트들 각각의 비트 인덱스를 미리 정해진 값으로 나눈 나머지 중 어느 하나를 다운 비트 인덱스로 결정하는 다운 비트 인덱스 식별부; 및
    상기 다운 비트 인덱스를 기초로 상기 입력 신호의 센박 또는 강박을 나타내는 다운 비트를 결정하는 변화 포인트 결정부
    를 포함하는,
    신호 처리 장치.
  12. 제11항에 있어서,
    상기 비트 추출부는,
    상기 조정 비트 그리드에 대응하는 자기 유사성 행렬(self-similarity matrix)을 획득하고, 상기 자기 유사성 행렬에 미리 정의된 함수를 적용하여 상기 조정 비트 그리드의 비트 각각의 상관도(correlation)를 획득하며, 상기 상관도가 미리 정해진 범위에 속하는 상기 비트를 추출하는,
    신호 처리 장치.
  13. 제12항에 있어서,
    상기 미리 정의된 함수는,
    가우시안 커널을 포함하는,
    신호 처리 장치.
  14. 제11항에 있어서,
    상기 다운 비트 인덱스 식별부는,
    상기 나머지를 기준으로 상기 추출된 비트들의 개수를 카운트(count)하고, 상기 추출된 비트들의 개수의 최대값에 대응하는 나머지를 상기 다운 비트 인덱스로 결정하는,
    신호 처리 장치.
  15. 제11항에 있어서,
    상기 조정 비트 그리드 획득부는,
    상기 결정된 비트 속도에 대응하는 비트 그리드를 8 비트(beat)에 대응되게 조정하여 상기 조정 비트 그리드를 획득하는,
    신호 처리 장치.
  16. 제11항에 있어서,
    상기 특성 세트 획득부는,
    상기 입력 신호로부터 스펙트로그램(spectrogram)을 획득하고, 상기 스펙트로그램을 멜(mel) 주파수 스펙트로그램으로 변환하며, 상기 멜 주파수 스펙트로그램의 피크값을 이용하여 상기 특성 세트를 획득하는,
    신호 처리 장치.
  17. 제11항에 있어서,
    상기 미리 정의된 복수의 그리드 각각은,
    복수의 비트 속도 각각에 대응하는 것인,
    신호 처리 장치.
  18. 제17항에 있어서,
    상기 비트 속도 결정부는,
    상기 특성 세트와 상기 미리 정의된 복수의 비트 그리드 사이의 상관도(correlation)를 획득하고, 상기 획득된 상관도 중에서 최대값을 확인하고, 상기 최대값에 대응하는 비트 그리드를 획득하며, 상기 획득된 비트 그리드에 대응하는 비트 속도를 상기 입력 신호의 비트 속도로 결정하는,
    신호 처리 장치.
  19. 제11항에 있어서,
    상기 변화 포인트 결정부는,
    상기 다운 비트 인덱스를 이용하여 다운 비트 그리드를 생성하고, 상기 다운 비트 그리드에 대응하는 타임 비트 템플릿을 획득하며, 상기 타임 비트 템플릿을 이용하여 상기 다운 비트를 결정하는,
    신호 처리 장치.
  20. 제19항에 있어서,
    상기 다운 비트에 대응하는 타임 스탬프를 획득하는 타임 스탬프 획득부
    를 더 포함하는,
    신호 처리 장치.
KR1020150170945A 2015-12-02 2015-12-02 신호 처리 방법 및 신호 처리 장치 KR101760189B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150170945A KR101760189B1 (ko) 2015-12-02 2015-12-02 신호 처리 방법 및 신호 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150170945A KR101760189B1 (ko) 2015-12-02 2015-12-02 신호 처리 방법 및 신호 처리 장치

Publications (2)

Publication Number Publication Date
KR20170064912A KR20170064912A (ko) 2017-06-12
KR101760189B1 true KR101760189B1 (ko) 2017-07-20

Family

ID=59219706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150170945A KR101760189B1 (ko) 2015-12-02 2015-12-02 신호 처리 방법 및 신호 처리 장치

Country Status (1)

Country Link
KR (1) KR101760189B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095409A (ja) * 2009-10-28 2011-05-12 Kawai Musical Instr Mfg Co Ltd グリッド検出装置及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095409A (ja) * 2009-10-28 2011-05-12 Kawai Musical Instr Mfg Co Ltd グリッド検出装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jonathan Foote, et al. Audio Retrieval by Rhythmic Similarity. The International Society of Music Information Retrieval(ISMIR). 2002.*

Also Published As

Publication number Publication date
KR20170064912A (ko) 2017-06-12

Similar Documents

Publication Publication Date Title
US9313359B1 (en) Media content identification on mobile devices
JP5662276B2 (ja) 音響信号処理装置および音響信号処理方法
US8680386B2 (en) Signal processing device, signal processing method, and program
US8831942B1 (en) System and method for pitch based gender identification with suspicious speaker detection
US8494668B2 (en) Sound signal processing apparatus and method
US11736762B2 (en) Media content identification on mobile devices
US9704505B2 (en) Audio signal processing apparatus and method
KR102212225B1 (ko) 오디오 보정 장치 및 이의 오디오 보정 방법
JPWO2006004050A1 (ja) 特定音響信号含有区間検出システム及びその方法並びにプログラム
EP2499579B1 (en) Domain identification and separation for precision measurement of waveforms
CN106528706B (zh) 音乐检索方法及装置
US20210098008A1 (en) A method and system for triggering events
CN113722543A (zh) 一种视频相似性比对方法、***及设备
CN107481738B (zh) 实时音频比对方法及装置
US20170249957A1 (en) Method and apparatus for identifying audio signal by removing noise
EP4250291A1 (en) Audio detection method and apparatus, computer device and readable storage medium
CN107210029B (zh) 用于处理一连串信号以进行复调音符辨识的方法和装置
KR101808810B1 (ko) 음성/무음성 구간 검출 방법 및 장치
US8108164B2 (en) Determination of a common fundamental frequency of harmonic signals
US11205407B2 (en) Song analysis device and song analysis program
KR101760189B1 (ko) 신호 처리 방법 및 신호 처리 장치
CN106910494B (zh) 一种音频识别方法和装置
Wan et al. Automatic piano music transcription using audio‐visual features
JP5772957B2 (ja) 音響処理装置、音響処理システム、ビデオ処理システム、制御方法および制御プログラム
US6907367B2 (en) Time-series segmentation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right