KR100576736B1 - 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 - Google Patents
시스톨릭 배열 구조를 가지는 미지 신호 분리 장치 Download PDFInfo
- 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
Links
- 238000000926 separation method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 46
- 239000013598 vector Substances 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
- G10L21/028—Voice signal separating using properties of sound source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2134—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/7715—Feature 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
도 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이 성립된다.
여기서, h
ij,p 는 j번째 음성 및 i번째 마이크 사이의 임펄스 응답(room impulse response)이며, 음성 데이터 벡터의 갯수보다는 마이크의 갯수가 많아야 한다. 즉 m > n이다. 수학식 1에서 n=2인 경우에 대해서 z-변환을 수행하면 다음 수학식 2를 얻는다.
궤환
네트워크의 포워드
프로세스부
(FORWARD PROCESS OF FEEDBACK NETWORK)
다음으로, 콘볼루션 믹싱되어 있는 신호를 궤환 네트워크를 이용하여 미지 신호 분리하기 위한 알고리즘에 대해서 설명하면 다음과 같다. 입력되는 신호들의 지연(delay)를 L번째까지로 제한하고 궤환 네트워크의 i번째 출력을 yi(t)라고 하면 다음 수학식 3을 얻는다.
수학식 3에서 wij,p 는 yi(t) 및 yj(t-p)의 가중치이다. 수학식 3을 행렬 형태로 표현하면 다음 수학식 4를 얻는다.
설명의 간략화를 위하여 수학식 4에서 n=2라고 가정하고 z-변환을 수행하면 다음 수학식 5를 얻는다.
수학식 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의 관계를 만족하게 된다.
그러므로 H(z) 값을 구하면 가중치를 구할 수 있다. 그러나, 음성이 처음에 어떤 방식으로 합성되었는지는 알 수 없으므로 H(z) 값을 알 수 없다. 그러므로, 각각의 음성 신호들이 서로 독립이라는 가정으로부터 출발하여 학습 알고리즘을 통해 가중치 W(z)를 구하여야 한다. 본 발명의 일 측면에 의한 미지 신호 분리 장치에 적용되는 학습 알고리즘에 대해서 설명하면 다음과 같다.
궤환
네트워크의
업데이트
프로세스부
(UPDATE PROCESS OF FEEDBACK NETWORK)
Jutten-Herault 알고리즘은 음성 신호들이 콘볼루션 믹싱된 것이 아니라 순간적 믹싱(instantaneous mixing) 되었다고 가정하여 학습을 수행한다. 반면에, 전술한 바와 같은 확장된 Jutten-Herault 알고리즘은 음성 신호들이 콘볼루션 믹싱된 것으로 가정하여 학습을 수행한다.
가중치 W의 학습 알고리즘은 다음 수학식 7과 같이 표현된다.
수학식 7에서 알 수 있는 바와 같이, 및 의 연관성(correlation)이 0이 될 때 학습 알고리즘이 수렴한다. 두 변수의 연관성이 0이 된다는 의미는 yi(t) 및 yj(t)의 의존성(dependence)이 최소화되어 출력 신호가 상호 독립이 된다는 것을 뜻한다.
또한, 수학식 7에 이용되는 함수 로는 비선형 함수가 이용된다. 본 발명의 일 측면에 의한 미지 신호 분리 장치에서는 함수 로서 부호 함수, 즉 또는 하이퍼볼릭 탄젠트 함수인 이 사용되는 것이 바람직하다. 본 발명에서는 하드웨어로 구현하는 것이 목적이므로, 비교적 구현이 간단한 부호함수(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을 다시 쓰면 다음과 같다.
상기 수학식 9를 이용하면, 수학식 8은 다음과 같다.
포워드 프로세스부(300)에서는 수학식 10을 수행한다.
포워드 프로세스부(300)의 하드웨어 아키텍처를 설명하기 위하여 포워드 프로세스부(300)의 프로세싱 엘리먼트(PE)의 코스트를 다음과 같이 정의한다.
수학식 10을 수학식 11을 이용하여 풀어쓰면 다음과 같다.
도 5는 포워드 프로세스의 병렬 어레이(array) 구조를 가지는 아키텍쳐이다. 아키텍쳐는 (L+1)개의 프로세싱 엘리먼트(PE: Processing Element)로 구성되어 있다. 모든 PE는 간단한 구조를 가지면서 동일한 구조를 가지고 있고, 이 PE들은 서로 이웃하는 PE들과 병렬로 연결되어 있다. 이와 같은 구조는 칩의 공간에 따라 PE의 개수를 늘려 성능을 높일 수 있는 장점이 있다. PE의 개수가 많을수록 음원의 더 많은 지연 시간을 고려할 수 있게 된다.
도 5를 참조하면, p=1,2,...,L 부분에서는 p번째 PE는 입력으로 yj(t-p), 와 앞의 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를 풀어 쓰면 다음과 같다.
도 7은 본 발명의 일 측면에 의한 미지 신호 분리 장치에 포함되는 업데이트 프로세스부의 동작을 설명하기 위한 도면이다.
도 7에서 볼 수 있듯이 분리하고자 하는 신호의 개수를 n개라고 하면 열의 개수인 D는 (n2+n)/2가 되고 행의 개수는 지연을 나타내는 L이 된다. 업데이트 프로세스부는 도 3의 포워드 프로세스부(300)와 같이 간단한 구조를 가지면서 동일한 구조를 가지고 있고, 이 UE들은 서로 이웃하는 UE들과 병렬로 연결되어 있다.
또한 UE는 홀수 번째 시간에서는 홀수 번째만, 짝수 번째 시간에서는 짝수 번째만 작동을 하여야 한다. 한편, UE 코스트를 다음과 같이 정의한다.
(여기서 [x]는 x를 넘지 않는 최대 정수를 의미한다.)
이와 같이 구한 프로세싱 엘리먼트의 코스트는 다음과 같은 가중치값으로 업데이트된다.
도 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 가중치들을 입력받아 상기 미지 신호 분리 알고리즘에 적용 가능한 제2 가중치들 및 계수들로 변환하기 위한 일반적인 행렬 연산구조를 가지는 가중치 프로세스부;를 포함하며,상기 포워드 프로세스부는 시스톨릭 어레이 구조로 연결되는 (L+1)개(L은 입력되는 미지 신호 벡터들의 순차적인 지연 횟수)의 동일한 구조를 가지는 프로세싱 엘리먼트들(PEs)을 포함하고,상기 업데이트 프로세스부는 시스톨릭 어레이 구조로 연결되는 (N2+N)/2 ×(2L+1)개(N은 입력되는 미지 신호 벡터들의 수)의 동일한 구조를 가지는 업데이터 엘리먼트들(UEs)을 포함하며,상기 프로세싱 엘리먼트들(PEs) 및 상기 업데이트 엘리먼트들(UEs)의 코스트 각각은 동작 초기 단계에서 0으로 초기화되는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
- 제1항에 있어서, 상기 포워드 프로세스부에 포함되는 프로세싱 엘리먼트들(PEs) 각각은상기 출력 신호 벡터들의 성분 각각을 수신하고 소정 시간 지연시켜 출력하기 위한 제1 입력부;상기 소정 시간 지연된 출력 신호 벡터들과 승산하기 위한 제2 가중치들을 상기 가중치 프로세스부로부터 입력받는 제2 입력부;소정의 수식에 따라 상기 제1 입력부 및 상기 제2 입력부의 출력으로부터 코 스트를 계산하기 위한 계산부; 및계산된 상기 코스트를 소정의 프로세싱 엘리먼트의 코스트로 갱신하도록 하는 제어부;를 포함하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
- 제2항에 있어서, 상기 제1 입력부 및 상기 제2 입력부는선입선출(FIFO; First In First Out) 형식의 구조를 가지는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
- 제3항에 있어서, 상기 프로세싱 엘리먼트(PE)는상기 프로세싱 엘리먼트(PE)에 포함된 단지 하나의 승산기를 반복적으로 사용하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
- 제1항에 있어서, 상기 업데이트 엘리먼트들 각각은상기 출력 신호 벡터의 성분 각각을 수신하고, 수신된 상기 출력 신호 벡터의 성분 중 하나에 소정 함수를 적용한 결과 및 나머지 성분들을 승산하기 위한 승산기;상기 코스트를 소정 시간 지연시키기 위한 레지스터; 및지연된 코스트에 상기 승산기의 출력을 합산하여 코스트를 계산하기 위한 가산기;를 포함하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분 리 장치.
- 제5항에 있어서, 상기 업데이트 엘리먼트들은,우수 번째 클록에 동기되어 동작되는 우수 번째 업데이트 엘리먼트들; 및기수 번째 클록에 동기되어 동작되는 기수 번째 업데이트 엘리먼트들로 분리되어 동작하는 것을 특징으로 하는 시스톨릭 배열 구조를 가지는 미지 신호 분리 장치.
- 제5항에 있어서, 상기 출력 신호 벡터중 하나에 적용되는 소정 함수를 부호 함수(signum function)인 것을 특징으로 하는 시스톨릭 배열구조를 가지는 미지 신호 분리 장치.
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)
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)
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)
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 |
-
2004
- 2004-08-21 KR KR1020040066168A patent/KR100576736B1/ko not_active IP Right Cessation
- 2004-11-17 US US10/989,430 patent/US7483530B2/en not_active Expired - Fee Related
Patent Citations (3)
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 |