KR100576736B1 - 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 - Google Patents

시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 Download PDF

Info

Publication number
KR100576736B1
KR100576736B1 KR1020040066168A KR20040066168A KR100576736B1 KR 100576736 B1 KR100576736 B1 KR 100576736B1 KR 1020040066168 A KR1020040066168 A KR 1020040066168A KR 20040066168 A KR20040066168 A KR 20040066168A KR 100576736 B1 KR100576736 B1 KR 100576736B1
Authority
KR
South Korea
Prior art keywords
unknown
processor
update
unknown signal
weights
Prior art date
Application number
KR1020040066168A
Other languages
English (en)
Other versions
KR20060017703A (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 KR1020040066168A priority Critical patent/KR100576736B1/ko
Priority to US10/989,430 priority patent/US7483530B2/en
Publication of KR20060017703A publication Critical patent/KR20060017703A/ko
Application granted granted Critical
Publication of KR100576736B1 publication Critical patent/KR100576736B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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
    • G10L21/028Voice signal separating using properties of sound source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

멀티입력의 미지 신호들을 받아 멀티출력을 구하는 하드웨어 아키텍처가 개시된다. 상기 하드웨어 아키텍처는 미지 신호들을 분리하기 위한 장치에 있어서, 다수의 미지 신호 벡터들을 수신하고, 소정의 미지 신호 분리 알고리즘을 적용하여 다수의 출력 신호 벡터들을 출력하기 위한 포워드 프로세스부; 상기 다수의 출력 신호 벡터들을 입력받고 소정의 학습 알고리즘에 따라 상기 미지 신호 분리 알고리즘에 사용되기 위한 제1 가중치들을 학습하기 위한 업데이트 프로세스부; 및 상기 학습된 제1 가중치들을 입력받아 상기 미지 신호 분리 알고리즘에 적용 가능한 제2 가중치들 및 계수들로 변환하기 위한 일반적인 행렬 연산구조를 가지는 가중치 프로세스부;를 포함하며, 상기 포워드 프로세스부는 시스톨릭 어레이 구조로 연결되는 (L+1)개(L은 입력되는 미지 신호 벡터들의 순차적인 지연 횟수)의 동일한 구조를 가지는 프로세싱 엘리먼트들(PEs)을 포함하고, 상기 업데이트 프로세스부는 시스톨릭 어레이 구조로 연결되는 (N2+N)/2 ×(2L+1)개(N은 입력되는 미지 신호 벡터들의 수)의 동일한 구조를 가지는 업데이터 엘리먼트들(UEs)을 포함하며, 상기 프로세싱 엘리먼트들(PEs) 및 상기 업데이트 엘리먼트들(UEs)의 코스트 각각은 동작 초기 단계에서 0으로 초기화되는 것을 특징으로 한다.

Description

시스톨릭 배열 구조를 가지는 미지 신호 분리 장치{Device for blind source separation having plurality of the same coupled in parallel configuration}
도 1은 하드웨어 내의 병렬 데이터 처리를 설명하기 위한 도면이다.
도 2는 시스톨릭 방식의 데이터 처리 기법을 나타내는 블록도이다.
도 3은 본 발명의 일 태양에 의한 미지 신호 분리 장치를 개념적으로 나타내는 블록도이다.
도 4는 본 발명에 적용되는 미지 신호 분리 알고리즘을 간략화여 설명하기 위한 도면이다.
도 5는 본 발명의 일 태양에 의한 미지 신호 분리 장치에 포함되는 포워드 프로세스부의 동작을 설명하기 위한 도면이다.
도 6은 도 5에 도시된 포워드 프로세스부에 포함되는 프로세싱 엘리먼트 중 하나의 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일 태양에 의한 미지 신호 분리 장치에 포함되는 업데이트 프로세스부의 동작을 설명하기 위한 도면이다.
도 8은 도 7에 도시된 업데이트 프로세스부에 포함되는 업데이트 엘리먼트 중 하나의 동작을 설명하기 위한 도면이다.
본 발명은 디지털 신호 처리 장치에 관한 것으로서, 특히 멀티입력의 미지 신호를 분리하기 위한 시스톨릭 배열 구조를 가지는 하드웨어 장치에 관한 것이다.
전자 공학이 발달되면서, 고속으로 디지털 신호를 처리하기 위한 다양한 기법이 개발되었다. 21세기 멀티미디어 시대를 맞아 정보의 디지털화가 급격히 진행되고, 이에 따른 정보 처리 기술은 그 적용분야의 필요에 따라 발전하고 있다.
디지털 신호 처리 분야에서의 눈부신 발전으로 디지털 영상 통신의 응용 분야가 급속하게 확산되어 멀티미디어 분야와 동영상 처리 분야의 기술 발전이 더욱 가속화되어 가고 있다. 여전히 영상 신호를 다루는 데는 많은 정보를 처리해야 하므로 디지털 통신의 효율적인 영상 전송이나 저장을 위해서는 많은 제약 조건이 따르게 된다. 최근 정보 통신과 멀티미디어, 인터넷이 통합되어 가는 추세에 있고, 이에 따라서 영상 통신 분야도 규격화 및 통합된다. 특히, 최근에는 양질의 멀티미디어 서비스는 물론이고 영상, 음성, 데이터 정보를 다원적으로 활용하는 것이 가능해졌다.
영상 정보 등의 멀티미디어 정보를 처리하는데 있어서 사용되는 영상 처리 기술은 움직임 보상 프레임간 DCT(Discrete Cosine Transform: 이산여현변환) 알고리즘을 기본으로 하고 있다. DCT는 영상 정보를 주파수 영역의 계수 데이터로 변환시켜 낮은 주파수 대역으로 에너지를 집중시켜 압축이 쉬운 형태로 변환하여 응용 시스템의 압축 효율을 크게 상승시킨다. 그러므로, HDTV는 물론 데이터의 압축을 필요로 하는 시스템에 광범위하게 사용될 수 있다. 또한, 영상 신호 처리 장치를 소형화할 수 있으므로 HDTV등 응용 제품의 소형화에도 유리하다.
DCT와 같은 다양한 디지털 데이터 처리 기법을 구현하기 위하여 다양한 기술이 개발되어 왔다. 이러한 기술에는 분산 연산(Distributed Arithmetic) 방법, ROM을 이용한 방법 및 일반 곱셈기를 이용하는 방법 등이 포함된다. 그 중 일반 곱셈기를 이용하는 방법은 2차원 DCT/IDCT(Inverse Discrete Cosine Transform; 역이산여현변환)의 계산식으로부터 고속 알고리즘을 유도하는 방법이다. 곱셈기 이용 방식에서 데이터 처리 속도를 향상시키기 위하여는 연산에 필요한 곱셈 연산의 수를 줄이거나 동시에 처리되는 연산의 개수를 늘리는 것이 중요하다.
도 1은 하드웨어 내의 병렬 데이터 처리를 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 다수 개의 프로세싱 엘리먼트들(PE1, PE2, PEn)이 동시에 소정 연산을 수행하기 때문에 하나 하나의 연산을 개별적으로 수행하는 것에 비하여 연산의 처리 속도가 향상된다. 그러므로, 도 1에 도시된 바와 같은 병렬 데이터 처리 장치가 디지털 신호 처리의 속도를 향상시키는데 이용될 수 있다.
곱셈기 이용 방식이 구현되는 구조에는 버터플라이 구조와 시스톨릭(systolic) 어레이 구조가 있다. 버터플라이 구조에서는 회로 전체에 걸쳐 데이터 교환이 소요되므로 연산 시간이 증가하고, 하드웨어로 구현한 경우 회로의 면적이 증가된다. 반면, 시스톨릭 어레이 구조는 병렬 수행 방법을 이용하여 특정한 알고리즘의 수행 속도를 향상시킬 수 있으며 ASIC에 주로 사용된다. 시스톨릭 어레이 구조의 특징으로는 모듈성, 규칙성, 국부적 연결성 및 동기화된 다중처리 등을 들 수 있다.
도 2는 시스톨릭 방식의 데이터 처리 기법을 나타내는 블록도이다.
도 2에 도시된 바와 같이, 입력된 자료는 상호 연결되어 동작된다. 시스톨릭 방식은 신호 처리 및 화상 처리와 같은 특별한 응용 분야에 맞도록 개발되었으며, 비용 및 성능에서 우수하다. 시스톨릭 방식에서는 데이터 흐름 및 제어 흐름이 규칙적인 특징을 가지며 장치들이 병렬로 연결되어 제어 흐름 및 데이터 흐름이 동일한 방향으로 진행한다. 시스톨릭 방식은 파이프라인 벡터 프로세서 및 배열 프로세서의 특징을 종합한 방식이다.
이와 같은 시스톨릭 방식이 적용되는 응용 분야의 예를 들면 입력된 신호로부터 미지 신호(Blind Source)를 분리하기 위한 미지 신호 분리 알고리즘을 들 수 있다.
음성 인식 시스템이 실생활에서 사용될 수 있으려면, 음성 인식 시스템을 사용하는 사용자의 음성을 다른 사람의 음성 또는 주변 잡음과 분리하는 과정이 필요하다. 음성 인식 시스템을 잡음이 없는 무음실에서 테스트할 경우 매우 높은 음성 인식률을 보이지만, 실생활에서 사용될 때는 주변 잡음의 영향으로 인식률이 현저히 저하된다. 이러한 미지 신호 분리 과정을 통하여, 음성 인식 시스템의 인식률을 향상시킬 수 있을 뿐만 아니라, 불필요한 신호 처리에 소요되는 시간 낭비를 줄일 수 있다. 미지 신호를 분리하는 연구는 1990년대 초부터 본격적으로 연구되어 왔다.
그런데, 종래 기술에 의한 음성 인식 시스템은 알고리즘에 대한 이론적 연구 에 치중한다. 또한, 이러한 알고리즘을 구현할 수 있는 소프트웨어는 개발되었으나 칩 형태로 구현되는 하드웨어에 대한 연구는 빈약하다. 음성 인식 시스템이 실제 생활에 응용되기 위하여는 하드웨어적 구현이 필수적이다.
그러므로, 하드웨어적으로 미지 신호를 분리할 수 있는 장치가 절실히 요구된다.
본 발명의 목적은 저전력 및 저비용의 미지 신호를 분리할 수 있는 하드웨어 장치를 제공하는데 있다.
본 발명의 다른 목적은 멀티입력의 미지 신호들을 받아 멀티출력을 구하는 하드웨어 아키텍처를 제공하는데 있다.
상기와 같은 목적들을 달성하기 위한 본 발명은 미지 신호들을 분리하기 위한 장치에 있어서,
다수의 미지 신호 벡터들을 수신하고, 소정의 미지 신호 분리 알고리즘을 적용하여 다수의 출력 신호 벡터들을 출력하기 위한 포워드 프로세스부;
상기 다수의 출력 신호 벡터들을 입력받고 소정의 학습 알고리즘에 따라 상기 미지 신호 분리 알고리즘에 사용되기 위한 제1 가중치들을 학습하기 위한 업데이트 프로세스부; 및
상기 학습된 제1 가중치들을 입력받아 상기 미지 신호 분리 알고리즘에 적용 가능한 제2 가중치들 및 계수들로 변환하기 위한 일반적인 행렬 연산구조를 가지는 가중치 프로세스부;를 포함하며, 상기 포워드 프로세스부는 시스톨릭 어레이 구조로 연결되는 (L+1)개(L은 입력되는 미지 신호 벡터들의 순차적인 지연 횟수)의 동일한 구조를 가지는 프로세싱 엘리먼트들(PEs)을 포함하고, 상기 업데이트 프로세스부는 시스톨릭 어레이 구조로 연결되는 (N2+N)/2 ×(2L+1)개(N은 입력되는 미지 신호 벡터들의 수)의 동일한 구조를 가지는 업데이터 엘리먼트들(UEs)을 포함하며, 상기 프로세싱 엘리먼트들(PEs) 및 상기 업데이트 엘리먼트들(UEs)의 코스트 각각은 동작 초기 단계에서 0으로 초기화되는 것을 특징으로 한다.
바람직하게는, 상기 포워드 프로세스부에 포함되는 프로세싱 엘리먼트들(PEs) 각각은 상기 출력 신호 벡터들의 성분 각각을 수신하고 소정 시간 지연시켜 출력하기 위한 제1 입력부; 상기 소정 시간 지연된 출력 신호 벡터들과 승산하기 위한 제2 가중치들을 상기 가중치 프로세스부로부터 입력받는 제2 입력부; 소정의 수식에 따라 상기 제1 입력부 및 상기 제2 입력부의 출력으로부터 코스트를 계산하기 위한 계산부; 및 계산된 상기 코스트를 소정의 프로세싱 엘리먼트의 코스트로 갱신하도록 하는 제어부;를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 제1 입력부 및 상기 제2 입력부는 선입선출(FIFO; First In First Out) 형식의 구조를 가지며, 상기 프로세싱 엘리먼트(PE)는 상기 프로세싱 엘리먼트(PE)에 포함된 단지 하나의 승산기를 반복적으로 사용하는 것을 특징으로 한다.
바람직하게는, 상기 업데이트 엘리먼트들 각각은 상기 출력 신호 벡터의 성 분 각각을 수신하고, 수신된 상기 출력 신호 벡터의 성분 중 하나에 소정 함수를 적용한 결과 및 나머지 성분들을 승산하기 위한 승산기; 상기 코스트를 소정 시간 지연시키기 위한 레지스터; 및 지연된 코스트에 상기 승산기의 출력을 합산하여 코스트를 계산하기 위한 가산기를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 업데이트 엘리먼트들은 우수 번째 클록에 동기되어 동작되는 우수 번째 업데이트 엘리먼트들; 및 기수 번째 클록에 동기되어 동작되는 기수 번째 업데이트 엘리먼트들;로 분리되어 동작하는 것을 특징으로 한다.
바람직하게는, 상기 출력 신호 벡터중 하나에 적용되는 소정 함수를 부호 함수(signum function)인 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다.
도 3은 본 발명의 일 측면에 의한 미지 신호 분리 장치를 개념적으로 나타내는 블록도로, 포워드 프로세스부(300), 가중치 프로세스부(310), 및 업데이트 프로세스부(320)를 포함하여 이루어진다.
도 3을 참조하면, 기본적으로는 n개의 입력(xi r(t), ..., xj r (t))을 받아 n개 의 출력(yi r(t),...,yj r(t))을 구하는 방식으로, 포워드 프로세스부(300)는 이하에서 기술될 수학식 3과 같이 입력을 받고, 받은 입력에 제2 가중치를 승산하여 출력(yi r(t) 내지 yj r(t))을 구한다. 업데이트 프로세스부(320)는 이하에서 기술될 수학식 7과 같이 확장된 Herault-Jutten 방법을 이용하여 제1 가중치를 구한다.
한편, 가중치 프로세스부(310)에서는 실제 포워드 프로세스부(300)에서 적용 가능한 제2 가중치를 구하기 위해 상기 업데이트 프로세스부(320)에서 구한 제1 가중치를 다시 계산한다. 상기 과정들은 가중치가 수렴할 때까지 반복적으로 수행된다. 도 3에서, 첨자 r은 현재 값을 나타내며, r-1은 현재 값을 이전 값으로 하여 입력됨을 나타낸다.
도 3에 도시된 미지 신호 분리 장치에 적용되는 알고리즘은 "궤환 네트워크(feedback network)" 알고리즘이다.
미지 신호 분리(BSS, blind source separation)란 서로 독립인 미지의 신호들이 혼합되어 있을 경우, 원래 신호나 혼합 방법 등에 대해서 아무런 정보가 주어지지 않은 상태에서, 혼합된 신호로부터 원래의 신호를 복원하는 기술을 의미한다. 이 문제는 1991년 Jutten 및 Herault가 고안한 알고리즘을 이용하면 간단한 신호의 분리가 가능하다는 것이 밝혀진 후 많은 당업자들에 의하여 연구되어 왔다.
본 발명에서는 콘볼루션 믹싱(convolutive mixing)되어 있는 독립된 신호를 분리하는 방법으로 K. Torkkola가 제안한 궤환 네트워크 및 학습 알고리즘으로서 점진적 강하법(gradient descent method)을 사용하여, Herault-Jutten의 방법을 확장한 확장된 Herault-Jutten 방법을 이용할 수 있다. 확장된 Herault-Jutten 방법은 T. Nomura에 의하여 제안되었으며 고속 병렬 구조를 가진다.
확장된 Herault-Jutten 방법을 구현하기 위한 하드웨어 아키텍처에는 "포워드 프로세스부(forward process recurrent network)" 및 "업데이트 프로세스부(update recurrent network)"가 포함되는데, 두 가지 모두 간단한 구조를 가지는 프로세싱 엘리먼트(processing element, PE) 및 업데이트 엘리먼트(update element, UE)를 병렬로 연결하는 방식으로 설계되기 때문에 그 효율이 높고, 실시간으로 미지 신호를 분리할 수 있다.
이하, 본 발명의 일 측면에 의한 미지 신호 분리 장치에 적용되는 알고리즘을 상세히 설명한다.
믹싱 모델(MIXING MODEL)
우선, 미지 신호 분리를 수행하기 이전에, 서로 독립된 신호가 콘볼루션 믹싱되어 마이크를 통해 들어오는 믹싱 모델을 고려한다. 즉, 마이크를 통해 수신되는 각 음성 신호는 서로 독립이며, 시간적으로 바로 들어오는 음성 및 벽에 반사되어 들어오는 음성 신호들이 혼합된다고 가정한다. 이러한 가정은 실생활을 모델링하는 것으로서, 본 발명이 적용될 수 있는 기술 분야를 한정하는 것이 아님은 명백하다. 실제 음성 데이터 벡터를 s(t)=[s1(t), s2(t), ..., sn(t)] T라고 정의하고, 마 이크를 통해 들어오는 신호 벡터를 x(t)=[x1(t), x2(t), ..., xm (t)]T 라고 정의하면 다음 수학식 1이 성립된다.
Figure 112004037504423-pat00001
여기서, h ij,p 는 j번째 음성 및 i번째 마이크 사이의 임펄스 응답(room impulse response)이며, 음성 데이터 벡터의 갯수보다는 마이크의 갯수가 많아야 한다. 즉 m > n이다. 수학식 1에서 n=2인 경우에 대해서 z-변환을 수행하면 다음 수학식 2를 얻는다.
Figure 112004037504423-pat00002
궤환 네트워크의 포워드 프로세스부 (FORWARD PROCESS OF FEEDBACK NETWORK)
다음으로, 콘볼루션 믹싱되어 있는 신호를 궤환 네트워크를 이용하여 미지 신호 분리하기 위한 알고리즘에 대해서 설명하면 다음과 같다. 입력되는 신호들의 지연(delay)를 L번째까지로 제한하고 궤환 네트워크의 i번째 출력을 yi(t)라고 하면 다음 수학식 3을 얻는다.
Figure 112004037504423-pat00003
수학식 3에서 wij,p 는 yi(t) 및 yj(t-p)의 가중치이다. 수학식 3을 행렬 형태로 표현하면 다음 수학식 4를 얻는다.
Figure 112004037504423-pat00004
설명의 간략화를 위하여 수학식 4에서 n=2라고 가정하고 z-변환을 수행하면 다음 수학식 5를 얻는다.
Figure 112004037504423-pat00005
수학식 5의 결과를 하드웨어적으로 구현하면 도 4를 얻는다. 도 4에 도시된 궤환 네트워크 알고리즘은, 각각 입력 신호 벡터의 성분인 X1(z) 및 X2(z)를 수신하여, 출력 신호 벡터 성분인 Y1(z) 및 Y2(z)를 연산한다. 출력 신호 벡터 성분 Y 1(z) 및 Y2(z)는 각각 X2(z) 및 X1(z)에 W21(z) 및 W12 (z)의 가중치를 가지고 궤환된다.
도 4에서, 궤환 네트워크를 이용하여 음성 신호가 완전히 분리되었다고 가정하면 Y(z)=S(z)의 관계가 만족된다. 그러므로, 가중치들은 수학식 2 및 수학식 5로부터 다음 수학식 6의 관계를 만족하게 된다.
Figure 112004037504423-pat00006
그러므로 H(z) 값을 구하면 가중치를 구할 수 있다. 그러나, 음성이 처음에 어떤 방식으로 합성되었는지는 알 수 없으므로 H(z) 값을 알 수 없다. 그러므로, 각각의 음성 신호들이 서로 독립이라는 가정으로부터 출발하여 학습 알고리즘을 통해 가중치 W(z)를 구하여야 한다. 본 발명의 일 측면에 의한 미지 신호 분리 장치에 적용되는 학습 알고리즘에 대해서 설명하면 다음과 같다.
궤환 네트워크의 업데이트 프로세스부 (UPDATE PROCESS OF FEEDBACK NETWORK)
Jutten-Herault 알고리즘은 음성 신호들이 콘볼루션 믹싱된 것이 아니라 순간적 믹싱(instantaneous mixing) 되었다고 가정하여 학습을 수행한다. 반면에, 전술한 바와 같은 확장된 Jutten-Herault 알고리즘은 음성 신호들이 콘볼루션 믹싱된 것으로 가정하여 학습을 수행한다.
가중치 W의 학습 알고리즘은 다음 수학식 7과 같이 표현된다.
Figure 112004037504423-pat00007
수학식 7에서
Figure 112004037504423-pat00008
는 학습률을 나타내며 상수이다.
수학식 7에서 알 수 있는 바와 같이,
Figure 112004037504423-pat00009
Figure 112004037504423-pat00010
의 연관성(correlation)이 0이 될 때 학습 알고리즘이 수렴한다. 두 변수의 연관성이 0이 된다는 의미는 yi(t) 및 yj(t)의 의존성(dependence)이 최소화되어 출력 신호가 상호 독립이 된다는 것을 뜻한다.
또한, 수학식 7에 이용되는 함수
Figure 112004037504423-pat00011
로는 비선형 함수가 이용된다. 본 발명의 일 측면에 의한 미지 신호 분리 장치에서는 함수
Figure 112004037504423-pat00012
로서 부호 함수, 즉
Figure 112004037504423-pat00013
또는 하이퍼볼릭 탄젠트 함수인
Figure 112004037504423-pat00014
이 사용되는 것이 바람직하다. 본 발명에서는 하드웨어로 구현하는 것이 목적이므로, 비교적 구현이 간단한 부호함수(signum function)를 사용하였다.
이제부터, 전술된 바와 같은 궤환 네트워크 알고리즘을 하드웨어적으로 구현 하기 위한 구성이 상세히 후술된다.
전체 구조(ENTIRE ARCHITECTURE)
도 3은 본 발명의 일 측면에 의한 미지 신호 분리 장치를 개념적으로 나타내는 블록도로, 포워드 프로세스부(300), 가중치 프로세스부(310), 및 업데이트 프로세스부(320)를 포함하여 이루어진다. 도시된 바와 같이, 우리가 분리하고자 하는 음성(S1(t), S2(t), ..., Sn(t))은 마이크(X1(t), X2 (t), ..., Xn(t))로 들어오기까지는 콘볼루션 믹싱(convolution mixing)이 된다.
도 3을 참조하면, 기본적으로는 n개의 입력을 받아 n개의 출력을 구하는 방식으로, 포워드 프로세스부(300)는 수학식 3과 같이 입력을 받고, 받은 입력에 가중치를 승산하여 출력(yi r(t) 내지 yj r(t))을 구한다. 업데이트 프로세스부(320)는 이하에서 기술될 수학식 7과 같이 확장된 Herault-Jutten 방법을 이용하여 제1 가중치를 구한다. 한편, 가중치 프로세스부(310)에서는 실제 포워드 프로세스부(300)에서 적용 가능한 제2 가중치를 구하기 위해 상기 업데이트 프로세스부(320)에서 구한 제1 가중치를 다시 계산한다. 상기 과정들은 가중치가 수렴할 때까지 반복적으로 수행된다. 도 3에서, 첨자 r은 현재 값을 나타내며, r-1은 현재 값을 이전 값으로 하여 입력됨을 나타낸다.
포워드 프로세스부의 하드웨어 아키텍처 (HARDWARE ARCHITECTURE OF FORWARD PREOCESS )
도 5는 본 발명의 일 측면에 의한 미지 신호 분리 장치에 포함되는 포워드 프로세스부(300)의 동작을 설명하기 위한 도면이다. 도면부호 500은 도 3의 가중치 프로세스부를 의미한다. 편의상 수학식 4을 다시 쓰면 다음과 같다.
Figure 112004037504423-pat00015
수학식 8에서 입력신호벡터의 수를 n이라 하고,
Figure 112004037504423-pat00016
라고 정의하고, 이때의 원소를 cij라고 하자. 그러면 수학식 8은 다음과 같이 표현될 수 있다.
Figure 112004037504423-pat00017
상기 수학식 9를 이용하면, 수학식 8은 다음과 같다.
Figure 112004037504423-pat00018
포워드 프로세스부(300)에서는 수학식 10을 수행한다.
한편, 가중치 프로세스부(310)에서는 계수
Figure 112004037504423-pat00019
과 제2 가중치인
Figure 112004037504423-pat00020
를 계산하며, 이 경우에 일반적인 행렬 연산 구조를 사용하므로, 본 명세서에서는 이에 대한 설명을 생략하기로 한다.
포워드 프로세스부(300)의 하드웨어 아키텍처를 설명하기 위하여 포워드 프로세스부(300)의 프로세싱 엘리먼트(PE)의 코스트를 다음과 같이 정의한다.
Figure 112004037504423-pat00021
수학식 10을 수학식 11을 이용하여 풀어쓰면 다음과 같다.
Figure 112004037504423-pat00022
도 5는 포워드 프로세스의 병렬 어레이(array) 구조를 가지는 아키텍쳐이다. 아키텍쳐는 (L+1)개의 프로세싱 엘리먼트(PE: Processing Element)로 구성되어 있다. 모든 PE는 간단한 구조를 가지면서 동일한 구조를 가지고 있고, 이 PE들은 서로 이웃하는 PE들과 병렬로 연결되어 있다. 이와 같은 구조는 칩의 공간에 따라 PE의 개수를 늘려 성능을 높일 수 있는 장점이 있다. PE의 개수가 많을수록 음원의 더 많은 지연 시간을 고려할 수 있게 된다.
도 5를 참조하면, p=1,2,...,L 부분에서는 p번째 PE는 입력으로 yj(t-p),
Figure 112004037504423-pat00023
와 앞의 PE에서 fi,p -1(t)를 받아 수학식 11과 같이 코스트 fi,p(t)를 계산하여 뒤의 PE으로 보내게 된다. 마지막 PE인 L+1번째 PE는 식(12)와 같이 x(t)와 cij 입력을 받아 출력 값을 계산하게 된다. 이와 같이 식(10)를 구현하고 위해 식(11)과 같이 프로세싱 엘리먼트의 코스트를 정의하고 이를 반복적으로 계산하게 된다.
한편, 도 6는 도 5의 프로세싱 엘리먼트의 내부 구조를 그린 그림이다. 엘리먼트 내부는 신호 입력부, 가중치 입력부, 계산부, 제어부의 4부분으로 나누어져 있다. 신호 입력부는 전 단계의 엘리먼트에서 y(t)를 받아 레지스터를 통하여 y(t-1)을 구하고 이를 계산부와 다음 엘리먼트로 각각 보낸다. 가중치 입력부는 업데이트 부분에서 학습된 가중치를 계산부로 보내는 일을 한다. 이때 두 입력부는 선입선출(FIFO: First Input First Output) 큐로 구성되어 순서대로 계산부로 들어가게 된다. 이때 y는 각각의 가중치에 맞추어야 하기 때문에 그림과 같이 N번 들어가게 된다. 계산부는 승산기, 가산기, 및 레지스터로 이루어지며, 수학식 (11)에 따른 계산을 수행한다. 승산기는 하드웨어로 구현이 복잡하고 많은 gate가 필요하기 때문에 한 개의 곱셈기를 반복적으로 사용하는 구조로 이루어져 있다. 한편, 제어부는 계산부에서 계산한 값을 적절한 프로세싱 엘리먼트에 업데이트하며, 또한 n번마다 계산부의 레지스터를 리셋시킨다.
업데이트 프로세스부의 하드웨어 아키텍처 (HARDWARE ARCHITECTURE OF UPDATE PREOCESS )
여기서는 앞 단원에서 사용되는 가중치를 학습하는 부분의 하드웨어 아키텍쳐에 대해서 알아보겠다. 상기 아키텍쳐 또한 동일한 동작을 하는 프로세싱 엘리먼 트가 병렬로 연결되어 있는 구조를 가지고 있다. 앞의 포워드 프로세서부의 프로세싱 엘리먼트와 구별하기 위해 업데이트 프로세서부에서 사용되는 프로세싱 엘리먼트는 업데이팅 엘리먼트(UE: Updating Element)로 명명하기로 한다.
우선 수학식 7를 풀어 쓰면 다음과 같다.
Figure 112004037504423-pat00024
도 7은 본 발명의 일 측면에 의한 미지 신호 분리 장치에 포함되는 업데이트 프로세스부의 동작을 설명하기 위한 도면이다.
도 7에서 볼 수 있듯이 분리하고자 하는 신호의 개수를 n개라고 하면 열의 개수인 D는 (n2+n)/2가 되고 행의 개수는 지연을 나타내는 L이 된다. 업데이트 프로세스부는 도 3의 포워드 프로세스부(300)와 같이 간단한 구조를 가지면서 동일한 구조를 가지고 있고, 이 UE들은 서로 이웃하는 UE들과 병렬로 연결되어 있다.
또한 UE는 홀수 번째 시간에서는 홀수 번째만, 짝수 번째 시간에서는 짝수 번째만 작동을 하여야 한다. 한편, UE 코스트를 다음과 같이 정의한다.
Figure 112004037504423-pat00025
(여기서 [x]는 x를 넘지 않는 최대 정수를 의미한다.)
이와 같이 구한 프로세싱 엘리먼트의 코스트는 다음과 같은 가중치값으로 업데이트된다.
Figure 112004037504423-pat00026
도 8은 도 7에 도시된 업데이트 프로세스부에 포함되는 업데이트 엘리먼트 중 하나의 동작을 설명하기 위한 도면이다. 도 8을 참조하면, 예컨대 입력으로서, yi = y1([1/2(t-p-L)])와 yj = y2([1/2(t+p-L)])이 들어오면 그 중 하나를 f(y1([1/2(t-p-L)]))와 같이 함수를 취하며, 본 아키텍쳐에서 f((y1([1/2(t-p-L)])) = sign((y1([1/2(t-p-L)]))으로 부호함수(signum function)를 사용한다. 부호함수는 y1([1/2(t-p-L)]가 양수이면 1을 음수이면 -1가 된다. 따라서 y2([1/2(t+p-L)]값과 곱은 부호만 바꾸면 된다. 이렇게 계산된 값은 이전의 UE 코스트값을 갱신하게 된다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들면, 본 발명의 전체적인 설명은 음성 신호의 경우에 한정되어 있으나, 본 발명은 이에 한정되지 않으며 본 발명에 따른 알고리즘 및 하드웨어 장치는 미지 신호 분리 기법이 적용되는 모든 응용 분야에 적용될 수 있음은 물론이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의하여 ASIC 및 FPGA 기반의 칩 개발 기술로 적합한 최적화 알고리즘 및 하드웨어 아키텍처를 이용하여 저전력 및 저비용으로 미지 신호를 분리할 수 있다.
또한, 본 발명에 의하면 음성 인식 시스템에서 전처리 부분인 다수의 미지 음성신호들을 분리할 수 있는 멀티입력 멀티출력의 하드웨어 아키텍처를 제공할 수 있다.

Claims (7)

  1. 미지 신호들을 분리하기 위한 장치에 있어서,
    다수의 미지 신호 벡터들을 수신하고, 소정의 미지 신호 분리 알고리즘을 적용하여 다수의 출력 신호 벡터들을 출력하기 위한 포워드 프로세스부;
    상기 다수의 출력 신호 벡터들을 입력받고 소정의 학습 알고리즘에 따라 상기 미지 신호 분리 알고리즘에 사용되기 위한 제1 가중치들을 학습하기 위한 업데이트 프로세스부; 및
    상기 학습된 제1 가중치들을 입력받아 상기 미지 신호 분리 알고리즘에 적용 가능한 제2 가중치들 및 계수들로 변환하기 위한 일반적인 행렬 연산구조를 가지는 가중치 프로세스부;를 포함하며,
    상기 포워드 프로세스부는 시스톨릭 어레이 구조로 연결되는 (L+1)개(L은 입력되는 미지 신호 벡터들의 순차적인 지연 횟수)의 동일한 구조를 가지는 프로세싱 엘리먼트들(PEs)을 포함하고,
    상기 업데이트 프로세스부는 시스톨릭 어레이 구조로 연결되는 (N2+N)/2 ×(2L+1)개(N은 입력되는 미지 신호 벡터들의 수)의 동일한 구조를 가지는 업데이터 엘리먼트들(UEs)을 포함하며,
    상기 프로세싱 엘리먼트들(PEs) 및 상기 업데이트 엘리먼트들(UEs)의 코스트 각각은 동작 초기 단계에서 0으로 초기화되는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
  2. 제1항에 있어서, 상기 포워드 프로세스부에 포함되는 프로세싱 엘리먼트들(PEs) 각각은
    상기 출력 신호 벡터들의 성분 각각을 수신하고 소정 시간 지연시켜 출력하기 위한 제1 입력부;
    상기 소정 시간 지연된 출력 신호 벡터들과 승산하기 위한 제2 가중치들을 상기 가중치 프로세스부로부터 입력받는 제2 입력부;
    소정의 수식에 따라 상기 제1 입력부 및 상기 제2 입력부의 출력으로부터 코 스트를 계산하기 위한 계산부; 및
    계산된 상기 코스트를 소정의 프로세싱 엘리먼트의 코스트로 갱신하도록 하는 제어부;를 포함하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
  3. 제2항에 있어서, 상기 제1 입력부 및 상기 제2 입력부는
    선입선출(FIFO; First In First Out) 형식의 구조를 가지는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
  4. 제3항에 있어서, 상기 프로세싱 엘리먼트(PE)는
    상기 프로세싱 엘리먼트(PE)에 포함된 단지 하나의 승산기를 반복적으로 사용하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
  5. 제1항에 있어서, 상기 업데이트 엘리먼트들 각각은
    상기 출력 신호 벡터의 성분 각각을 수신하고, 수신된 상기 출력 신호 벡터의 성분 중 하나에 소정 함수를 적용한 결과 및 나머지 성분들을 승산하기 위한 승산기;
    상기 코스트를 소정 시간 지연시키기 위한 레지스터; 및
    지연된 코스트에 상기 승산기의 출력을 합산하여 코스트를 계산하기 위한 가산기;를 포함하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분 리 장치.
  6. 제5항에 있어서, 상기 업데이트 엘리먼트들은,
    우수 번째 클록에 동기되어 동작되는 우수 번째 업데이트 엘리먼트들; 및
    기수 번째 클록에 동기되어 동작되는 기수 번째 업데이트 엘리먼트들로 분리되어 동작하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
  7. 제5항에 있어서, 상기 출력 신호 벡터중 하나에 적용되는 소정 함수를 부호 함수(signum function)인 것을 특징으로 하는 시스톨릭 배열구조를 가지는 미지 신호 분리 장치.
KR1020040066168A 2004-08-21 2004-08-21 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 KR100576736B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040066168A KR100576736B1 (ko) 2004-08-21 2004-08-21 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치
US10/989,430 US7483530B2 (en) 2004-08-21 2004-11-17 Apparatus for separating blind source signals having systolic array structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040066168A KR100576736B1 (ko) 2004-08-21 2004-08-21 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치

Publications (2)

Publication Number Publication Date
KR20060017703A KR20060017703A (ko) 2006-02-27
KR100576736B1 true KR100576736B1 (ko) 2006-05-03

Family

ID=36263173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040066168A KR100576736B1 (ko) 2004-08-21 2004-08-21 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치

Country Status (2)

Country Link
US (1) US7483530B2 (ko)
KR (1) KR100576736B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875081B2 (en) 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
US10853448B1 (en) 2016-09-12 2020-12-01 Habana Labs Ltd. Hiding latency of multiplier-accumulator using partial results
US10482904B1 (en) 2017-08-15 2019-11-19 Amazon Technologies, Inc. Context driven device arbitration
US10713214B1 (en) * 2017-09-27 2020-07-14 Habana Labs Ltd. Hardware accelerator for outer-product matrix multiplication
US11321092B1 (en) 2017-11-08 2022-05-03 Habana Labs Ltd. Tensor-based memory access
US10915297B1 (en) 2017-11-15 2021-02-09 Habana Labs Ltd. Hardware accelerator for systolic matrix multiplication
KR102441747B1 (ko) * 2018-11-30 2022-09-14 한국전자통신연구원 시스톨릭 어레이 구조를 가지는 뉴럴 네트워크 가속기
US11138290B2 (en) * 2019-03-30 2021-10-05 Intel Corporation Discrete cosine transform/inverse discrete cosine transform (DCT/IDCT) systems and methods
KR102272518B1 (ko) * 2020-03-13 2021-07-05 인천대학교 산학협력단 시스톨릭 어레이 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002964B1 (ko) * 1993-12-24 1997-03-13 대우전자 주식회사 영상신호의 시간축 내삽필터
KR100382148B1 (ko) 2000-10-25 2003-05-01 한국전자통신연구원 상관행렬의 역행렬 계산을 위한 시스톨릭 어레이 구조와이를 적용한 공간-시간 배열 수신시스템
KR20050076847A (ko) * 2004-01-24 2005-07-28 학교법인 포항공과대학교 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 및병렬로 연결된 미지 신호 분리 장치를 포함하는 하드웨어장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3482532D1 (de) * 1983-07-06 1990-07-19 Secr Defence Brit Prozessor mit zwangseinstellung.
US5357251A (en) * 1988-03-23 1994-10-18 Central Institute For The Deaf Electronic filters, signal conversion apparatus, hearing aids and methods
US6127973A (en) * 1996-04-18 2000-10-03 Korea Telecom Freetel Co., Ltd. Signal processing apparatus and method for reducing the effects of interference and noise in wireless communication systems
US6639537B1 (en) * 2000-03-31 2003-10-28 Massachusetts Institute Of Technology Highly linear analog-to-digital conversion system and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002964B1 (ko) * 1993-12-24 1997-03-13 대우전자 주식회사 영상신호의 시간축 내삽필터
KR100382148B1 (ko) 2000-10-25 2003-05-01 한국전자통신연구원 상관행렬의 역행렬 계산을 위한 시스톨릭 어레이 구조와이를 적용한 공간-시간 배열 수신시스템
KR20050076847A (ko) * 2004-01-24 2005-07-28 학교법인 포항공과대학교 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 및병렬로 연결된 미지 신호 분리 장치를 포함하는 하드웨어장치

Also Published As

Publication number Publication date
KR20060017703A (ko) 2006-02-27
US7483530B2 (en) 2009-01-27
US20060095258A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
KR100576736B1 (ko) 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치
CN113033794B (zh) 基于深度可分离卷积的轻量级神经网络硬件加速器
Zhang et al. A pipeline VLSI architecture for high-speed computation of the 1-D discrete wavelet transform
KR100670766B1 (ko) 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 및병렬로 연결된 미지 신호 분리 장치를 포함하는 하드웨어장치
Arredondo-Velazquez et al. A streaming architecture for Convolutional Neural Networks based on layer operations chaining
El-Banna et al. An efficient implementation of the 1D DCT using FPGA technology
Datta et al. FPGA Implementation of Symmetric Systolic FIR Filter using Multi-channel Technique
Chen et al. A Reconfigurable Accelerator Design for Quantized Depthwise Separable Convolutions
Madanayake et al. A review of 2D/3D IIR plane-wave real-time digital filter circuits
Ghosh et al. FPGA implementation of MAC unit for double base ternary number system (DBTNS) and its performance analysis
CN116741202B (zh) 一种语音信号处理方法、装置和可读存储介质
KR100189195B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 2차원 dct/dst/dht의 수행장치
Yildiz et al. A new control structure for the pipelined CNN processor arrays
Smyth et al. Toward a real-time waveguide mesh implementation
Paul et al. A novel VLSI architecture for image compression
CN117130577A (zh) 基于近似复数乘法器的计算电路及近似复数乘法器
CN117610618A (zh) 计算方法、装置和计算机设备
Cheng et al. Implementation of signal power estimation methods
Wu et al. AI-ISP Accelerator with RISC-VISA Extension for Image Signal Processing
JPH0951275A (ja) 逆離散コサイン変換装置
Kim AN ARCHITECTURE OF BLIND SEPARATION AND REAL TIME IMPLEMENTATION H. Jeong Department of Electronic and Electrical Engineering Pohang University of Science and Technology
Niras et al. Systolic variable length architecture for discrete Fourier transform in Long Term Evolution
Vijay et al. A novel approach for and efficient implementation of 2 Level 2D DWT using ASIC and FPGA
Chowdary et al. DST-VII based Multiple Transform Selection Algorithms for Versatile Video Coding

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090420

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee