KR100920227B1 - 신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 - Google Patents
신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100920227B1 KR100920227B1 KR1020070065082A KR20070065082A KR100920227B1 KR 100920227 B1 KR100920227 B1 KR 100920227B1 KR 1020070065082 A KR1020070065082 A KR 1020070065082A KR 20070065082 A KR20070065082 A KR 20070065082A KR 100920227 B1 KR100920227 B1 KR 100920227B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- message
- buffer
- layer
- systolic array
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 계층적 구조의 BP 기반 특성을 이용하여 반복횟수가 작은 경우에 전체 메모리 크기를 줄이면서 소형 메모리를 통해 병렬로 계산하기 위한 것으로, 이를 위한 본 발명은, 좌우 영상 데이터를 입력받아 각 픽셀에 대응되는 노드에 대하여 반복횟수 축 및 스케일 레벨을 고려하여 계층적 다이나믹 베이지안 네트워크로 생성하고, 생성된 다이나믹 베이지안 네트워크상의 메시지를 MRF상의 임의의 축 방향으로 업데이트하는 방식으로 양안차값을 구한다. 따라서, 복잡한 영상처리 시스템을 고속 실시간으로 처리하면서 저가의 소형 장치로 제작할 수 있는 강력한 장점을 가질 수 있다.
BP, MRF, FBP, PE, 시스톨릭, 어레이
Description
도 1은 종래 기술에 따른 스테레오 매칭을 위한 MRF 네트워크 및 BP 업데이트 구조를 도시한 도면,
도 2는 도 1의 같은 레벨 내에서 노드별 메시지의 매 반복횟수에 대응되는 레이어 구조,
도 3a 및 도 3b는 레이어 변환된 FBP 구조 및 메시지 업데이트 시퀀스,
도 4는 계층적 BP 구조의 다이나믹 베이지안 네트워크를 도시한 도면,
도 5a, b, c, d는 레이어 변환된 계층적 구조,
도 6a, b, c, d는 도 5a, b, c, d의 다른 측면에서 본 시퀀스 도면,
도 7은 레이어 버퍼와 로컬 버퍼의 세부 억세스 구조,
도 8a, b는 레이어 변환 전 및 후 구조,
도 9는 도 5의 레이어 변환된 계층적 FBP 구조에서 데이터 코스트를 읽는 방식을 도시한 도면,
도 10은 본 발명에 따른 BP 기반 스테레오 매칭을 위한 고속 시스톨릭 어레이 장치의 상세도,
도 11은 FBP 스테레오 매칭 모듈의 시스톨릭 어레이 구조,
도 12는 PE 그룹 상세도,
도 13은 데이터 코스트 모듈 구조,
도 14는 데이터 코스트 모듈 내의 모듈 A 상세도,
도 15는 데이터 코스트 모듈 내의 모듈 B 상세도,
도 16은 PE 그룹내의 PE별 버퍼 분배 구조,
도 17은 PE 모듈의 상세도,
도 18a, b는 도 17의 PE 모듈에서 전방 프로세서를 나타낸 도면,
도 19a, b는 도 17의 PE 모듈에서 후방 프로세서를 나타낸 도면,
도 20은 FBP 스테레오 매칭 모듈의 노드상에서 FBP 스테레오 매칭 시퀀스,
도 21은 FBP 스테레오 매칭 시퀀드를 플로우차트로 도시한 도면,
도 22는 도 21의 메시지 업데이트를 위한 그룹 내에서 순차적 계산 방법을 도시한 도면,
도 23은 도 21의 메시지 업데이트를 위한 그룹 내에서 병렬 계산 방법을 도시한 도면,
도 24는 데이터 코스트 모듈 계산 시퀀스,
도 25는 도 22 및 도 23의 버퍼 업데이트를 위한 로컬 인덱스를 도시한 도면,
도 26은 다른 실시간 스테레오 매칭 시스템과 에러율 성능을 비교한 도면.
본 발명은 신념 전파(Belief Propagation, BP) 기반의 고속 시스톨릭 어레이(Systolic Array) 장치 및 그 방법에 관한 것으로, 보다 상세하게는 계층적 구조의 BP 기반 특성을 이용하여 반복횟수(iteration)가 작은 경우에 전체 메모리 크기를 줄이면서 소형 메모리를 통해 병렬 계산할 수 있는 장치 및 그 방법에 관한 것이다.
주지된 바와 같이, BP는 도 1의 스테레오 매칭을 위한 MRF(markov random field) 네트워크 및 종래의 BP 업데이트 구조에서와 같이, 영상의 픽셀에 대응되는 노드들이 규칙적(regular)으로 연결되어 있을 때, N1 by N0 크기의 2D MRF 네트워크를 확인할 수 있다.
기존 연구논문[ P.F. Felzenszwalb and D.R. Huttenlocher. Efficient belief propagation for early vision. In Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, number 1, pages I261 ∼ I268, 2004.]을 보면 MRF상에서 계층적 데이터 코스트를 사용해서 BP를 수행할 시 탁월한 낮은 에러 성능과 적은 반복횟수 시간을 갖지만, 영상 크기가 클 경우 많은 노드수로 인해 처리시간이 많이 걸리게 되며, 또한 저장해야할 메시지 메모리의 양도 매우 크다.
여기서, 2D 벡터를 엘리멘트 x0, x1을 이용하여 x=[x0 x1]T 로 표기하고, 노드 위치를 2D 벡터(vector) p=[p0 p1]T 로 표기하며, 각 노드의 히든 스테이트 dp에 대하여 데이터 코스트 Dp(dp)와, 각 에지의 히든 스테이트 dp, dq 에 대하여 에지 코스트 V(dp, dq)가 할당이 될 때, 수학식 1과 같이 MRF에서 MAP 솔루션을 구하는 즉 MRF 네트워크 전체 코스트 합을 최소화하는 스테이트에 대하여 BP를 통해 근사화(Approximation)된 솔루션으로 계산할 수 있다.
아래는 MRF상의 에너지 코스트 모델을 나타낸다.
더불어, 메시지 계산과정은 수학식 2와 같다.
여기서, Nb는 이웃한 노드들을 나타내고 Nb(p)RSLANTq는 p의 이웃한 노드들 중 q를 제외한 노드를 나타내며, mt pq(dq)는 p에서 q로 전달되는 메시지를 나타낸다.
그리고, 도 1의 BP 구조에서와 같이 메시지 mt pq(dq)는 p의 이웃한 노드들 중 q가 아닌 노드로부터 전달되는 메시지를 더하고 데이터 코스트를 더한 다음 에지 코스트를 추가하여 계산된다. 는 정규화 파라미터로서 각 노드별 메시지의 전체 스테이트 코스트들의 평균값에 해당된다. 메시지 mt pq(dq)는 매 반복횟수 마다 계산되어 p에서 q로 전달된다.
수학식 3에서와 같이 최종 T 반복횟수에서 이웃한 노드 메시지를 더하여 최소 코스트를 가지는 스테이트를 각 노드 p별로 결정하여 MAP 스테이트인 양안차값을 추정할 수 있다.
또한, 상술한 바와 같이 종래 기술에서는 전체 메시지를 메모리로 가지면서 업데이트하지 않고 MRF상에서 임의의 축 방향으로 스캐닝하면서 동일한 결과를 나타내는 시퀀스를 가진다.
즉, 도 2는 도 1의 같은 레벨 내에서 노드별 메시지의 매 반복횟수에 대응되는 레이어 구조와 같이, BP 구조에서는 각각의 노드에서 메시지 계산을 반복횟수 마다 층을 쌓아가는 다이나믹 베이지안 네트워크(Dynamic bayesian network)로 볼 수 있으며, t 반복횟수를 l 레이어로 고려한다.
l번째 반복횟수 레이어에서 각각 노드의 좌표를 p로 표현할 때 다이나믹 베이지안 네트워크를 각 반복횟수별 노드의 위치를 스캐닝 축방향 b=[1 0]T 로 기울이는 레이어 변환식은 수학식 4와 같다
상술한 수학식 4에 맞춰 p0(l) 노드들을 수직으로 재어레이하면, 도 3a 및 도 3b에 도시된 레이어 변환된 FBP 구조 및 메시지 업데이트 시퀀스와 같다.
수학식 5에서와 같이 MRF 네트워크상에서 같은 노드에 대응되는 노드 p(l)과 이전 반복횟수 레이어 노드 p(l-1)는 레이어 구조상에서 오프셋 -[1 0]T 만큼 차이가 난다.
다시 말하여, 병렬처리될 수 있는 부분을 그룹으로 묶고 이 그룹 안에서 레이어별로 병렬 처리되는 방식으로 가능하며, 같은 그룹 내에 있을 때는 이전 레이어의 로컬 버퍼 메시지를 읽어 들이고, 이웃한 그룹에서 읽어야 할 때는 이전에 처리된 그룹에서 저장된 레이어 버퍼로부터 메시지가 읽어진다.
도 3a 및 도 3b에서와 같이, 레이어 버퍼가 p0(l) 양의 축방향, 즉 오른쪽으로 이동(shift)되면서 최종 반복횟수된 메시지가 스캐닝 방식에 의해 계산된다. 다시 말하여 그룹내의 노드상에서 병렬로 메시지가 계산된 다음 로컬 버퍼에 저장되어 다음 상위 레이어 처리에 이용되고, 레이어 버퍼에 저장되어 다음 그룹에서의 메시지 처리에 이용됨에 따라 작은 크기의 레이어 버퍼와 로컬 버퍼에 의해 처리되면서 BP 방법과 동일한 출력 결과를 얻을 수 있다.
그러나, 상술한 바와 같이 종래 기술에 따른 BP 기반을 스테레오 매칭에 적용할 경우 매우 큰 반복횟수를 가지며, 고속 BP(Fast BP, FBP)의 레이어 버퍼 크기가 반복횟수 크기에 영향을 받게되나, 현재와 같이 반도체 및 정보 통신 기술이 급격하게 발달하는 환경을 고려할 때, 계층적 BP 기반의 특성을 이용해서 레이어 버퍼 크기를 줄일 수 있도록 새로운 BP 기반 스테레오 매칭을 위한 고속 시스톨릭 어레이 및 그 방법을 추가 개발해야 할 필요성이 있다.
여기서, 계층적 BP는 coarsest-to-fine 레벨로의 서로 다른 K개의 스케일 레벨의 데이터 코스트를 이용하여 coarsest 레벨부터 fine 레벨로 메시지를 반복횟수 방식으로 작은 반복횟수 시간내에서 빠른 수렴을 보인다. 이러한 계층적 구조에 의해 빠른 수렴을 보인다 하더라도 큰 크기의 메모리를 필요로 하게 되며, N0 by N1 좌우 영상 사이즈에서 각 레벨별 반복횟수를 Lk, 스테이트 수를 S, 스테이트 코스트 크기가 B 비트(bit)일 때 전체 메시지 메모리 크기는 4N1N0SB 비트가 되고 데이터 코스트 메모리는 N1N0SB 비트이며, 합한 전체 메모리 크기는 5N1N0SB 비트가 되며, 전체 계산량은 스케일 k 레벨별로 (N1/2k) by (N0/2k) 크기의 노드수를 가지므로 가 된다.
이에, 본 발명은 상술한 필요성에 의해 안출된 것으로서, 그 목적은 계층적 구조의 BP 기반 특성을 이용하여 반복횟수가 작은 경우에 전체 메모리 크기를 줄이면서 소형 메모리를 통해 병렬로 계산할 수 있는 BP 기반의 고속 시스톨릭 어레이 장치 및 그 방법을 제공함에 있다.
이러한 목적을 달성하기 위한 본 발명에서 BP 기반의 고속 시스톨릭 어레이 장치는, 좌우 영상 데이터를 입력받아 각 픽셀에 대응되는 노드로 구성되는 말콥랜덤필드(markov random field)에 대해서 BP(belief propagation)에 의해 반복할 때 마다 계산되는 노드별 메시지 값들을 누적시키고 상기 반복 시 상기 메시지 값이 누적되는 방향을 레이어라고 할 때, 상기 반복 시 일정 반복 마다 coarsest-to-fine으로 상기 메시지 값을 누적시키는 레이어일 경우, 상기 레이어를 고려하여 계층적 다이나믹 베이지안 네트워크(dynamic bayesian network)를 생성하고, 상기 생성된 계층적 다이나믹 베이지안 네트워크상의 메시지를 상기 말콥랜덤필드(MRF) 상의 임의의 축 방향으로 상기 말콥랜덤필드의 일정부분 노드의 메시지값을 업데이트하면서 동시에 최종 레이어의 양안차 값을 계산하는 것으로 이루어진 것을 특징으로 한다.
이러한 목적을 달성하기 위한 본 발명에서 BP 기반의 고속 시스톨릭 어레이 방법은, 래스터 스캔(raster scan) 방식으로 들어오는 좌우 영상 픽셀 데이터를 임시 저장 및 출력하는 단계와, 다수의 병렬 PE(processing element) 그룹으로 구성되며, 이웃한 PE 그룹으로 메시지와 출력되는 좌우 영상 픽셀 데이터를 전달하는 시스톨릭 어레이 구조를 가지면서 병렬로 메시지와 양안차를 계산하는 단계와, 계산된 양안차의 영상을 출력하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 실시 예는 다수개가 존재할 수 있으며, 이하에서 첨부한 도면을 참조하여 바람직한 실시 예에 대하여 상세히 설명하기로 한다. 이 기술 분야의 숙련자라면 이 실시 예를 통해 본 발명의 목적, 특징 및 이점들을 잘 이해하게 될 것이다.
도 4는 계층적 BP 구조의 다이나믹 베이지안 네트워크를 도시한 도면이다.
즉, coarsest 레벨에서 fine 레벨로 노드 수가 증가하면서 반복횟수 레이어가 형성되며, 각 k 레벨별 노드수는 N1 by N0 MRF 네트워크에서 N1/2k by N0/2k 크기를 가진다. (여기서, N1은 MRF의 수평방향 크기를 의미한다.)
여기서, 다이나믹 베이지안 네트워크에서 각 레벨 k별 노드 좌표를 pk로 표현하고, k레벨 반복횟수 레이어를 lk∈[0, Lk-1]로 표기할 때 각 반복횟수별 노드의 위치를 스캐닝 축방향 b=[1 0]T로 기울이는 레이어 변환식은 이전 레벨의 다른 스케일 특성을 고려할 때 수학식 6과 같다.
여기서, pk=(pk 0, pk 1)는 k 레벨에서의 노드 위치를 나타내고, 이 위치는 coarsest 레벨의 pk-1을 기준으로 해서 각 레벨별 스케일 차이로 인해 생기는 오프셋 ak에 의해 나타내어 질 수 있다.
상술한 수학식 6에 맞춰 pk 0(lk) 상의 노드들을 레이어 구조에서 수직으로 재어레이하면, 도 5a, b, c, d에 도시된 레이어 변환된 계층적 구조에서의 시퀀스와 같이 되는데, 여기서, 도 6a, b, c, d는 도 5a, b, c, d의 다른 측면에서 본 시퀀스 도면이고, 도 9는 도 5의 레이어 변환된 계층적 FBP 구조에서 데이터 코스트를 읽는 방식을 도시한 도면이다.
다음으로, 도 7의 레이어 버퍼와 로컬 버퍼의 세부 억세스 구조에서 처럼 pk 1(lk) 축 상의 모든 노드에 프로세서들를 위치시켜 그룹으로 묶고 그룹내에서 병렬로 수행함에 의해 pk 0(lk) 축 방향으로 스캐닝된다.
다시 말하여, 이전 레이어의 이웃한 메시지가 같은 그룹 내에 있을 때는 이전 레이어의 로컬 버퍼에서 읽어 들이고, 이전 라인의 그룹에서 읽을 때는 레이어 버퍼로부터 메시지가 읽어진다. 그리고, 도 5a,b,c,d에 도시된 바와 같이, 레이어 버퍼가 pk 0(lk) 양의 축방향, 즉 오른쪽으로 이동되면서 최종 반복횟수된 메시지가 스캐닝 방식에 의해 계산된다. 그리고 그룹내의 노드상에서 병렬로 메시지가 계산된 다음 로컬 버퍼에 저장되어 다음 상위 레이어 처리에 이용되고, 레이어 버퍼에 저장되어 다음 그룹에서의 메시지 처리에 이용되며, 작은 크기의 레이어 버퍼와 로컬 버퍼에 의해 처리가 되면서 결과적으로 계층적 BP 방법과 동일한 출력 결과를 얻을 수 있는 것이다.
한편, 도 10은 본 발명에 따른 BP 기반 스테레오 매칭을 위한 고속 시스톨릭 어레이 장치의 상세도이다.
즉, 도 10을 참조하면, 래스터 스캔(raster scan) 방식으로 들어오는 좌우 영상 픽셀 데이터를 받아 임시 저장하는 영상 버퍼(10)와 영상 버퍼에서 출력되는 좌우 픽셀 데이터를 이용하여 고속 병렬로 양안차 영상을 출력하는 FBP 스테레오 매칭 모듈(13)로 구성된다.
FBP 스테레오 매칭 모듈(13)은 도 11에 도시된 FBP 스테레오 매칭 모듈의 시스톨릭 어레이 구조에서와 같이 다수개의 PE(Processing Element) 그룹(group)으로 구성되어 메시지와 픽셀 데이터를 주고받는 시스톨릭 어레이 구조를 가지면서 고속 병렬로 처리되도록 한다.
여기서, PE 그룹은 도 12에 도시된 PE 그룹 상세도와 같이 픽셀 데이터를 받아 데이터 코스트를 계산하는 데이터 코스트 모듈(data cost module)(13a)과 데이터 코스트를 입력받고, 이웃한 PE그룹에서 오는 메시지들을 입력 받아 원하는 출력을 선택하는 MUX(multiplexer)(13b)와 MUX(13b)의 출력을 이용하여 새로운 메시지를 계산하는 PE(13c) 그리고 PE(13c)의 결과값을 저장하는 로컬 버퍼(13d)와 로컬 버퍼(13d)의 결과값을 다시 저장하는 레이어 버퍼(13e)로 구성된다.
여기서, PE(13c)는 데이터 코스트와 이전 레이어의 메시지들을 스테이트별로 순차적으로 읽어 들여 합하는 가산기와, 가산기의 출력을 입력받아 전방 프로세서 코스트를 출력하는 전방 프로세서와, 전방 프로세서 코스트를 입력받아 저장하는 전방 스택과, 전방 스택의 출력값을 입력받아 후방 프로세서 코스트를 출력하는 후방 프로세서와, 후방 프로세서 출력값을 저장하는 후방 스택과, 후방 스택 출력값을 입력받아 최종 메시지를 계산하는 노멀라이져와, 노멀라이져의 출력값을 저장하는 버퍼로 이루어져 있으며,
전방 프로세서는, 제 1 딜레이 버퍼를 초기화하고 매 스텝 별로 입력 코스트값을 읽어 들이면서, 이전 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 제 1 딜레이 버퍼에 저장함과 동시 출력하는 제 1 전방 프로세서와, 제 2 딜레이 버퍼를 초기화하여 제 2 딜레이 버퍼로서 입력 코스트의 최소값을 구하고 최소값에 일정한 상수값을 더해서 출력하는 제 2 전방 프로세서로 이루어져 있다.
그리고, 후방 프로세서는, 제 1 딜레이 버퍼를 초기화 후 매 스텝마다 입력 코스트값을 읽어 들여 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 제 1 딜레이 버퍼에 저장하고, 제 1 딜레이 버퍼 출력값과 전방 프로세서의 출력값과 비교하여 최소값을 출력하는 제 1 후방 프로세서와, 제 2 딜레이 버퍼를 '0'으로 초기화하고, 매 스텝마다 제 1 딜레이 버퍼 출력값을 더하여 제 2 딜레이 버퍼에 저장하고, 제 2 딜레이 버퍼값을 임의의 수만큼 쉬프트하여 출력하는 제 2 후방 프로세서로 이루어져 있다.
그리고, 노멀라이져는, 제 1 후방 프로세서의 계산된 값에서 제 2 후방 프로세서의 계산된 값을 빼서 출력하는 방식에 의해 메시지를 계산할 수 있다.
보다 상세하게 설명하면, 레벨이 K개일 경우, 도 11 및 도 12를 참조하면, PE 그룹 내 전체 개의 PE(13c)를 가짐에 따라 N1 by N0 영상에서 N1/2K-1개의 PE 그룹이 필요하다. coarsest-to-fine 스케일 특징에 의한 레벨별 노드수가 달라짐에 따라 PE 그룹내에 k레벨에서 FBP 스테레오 매칭 시퀀스가 동작 시 N1/2k개의 PE만 병렬로 동작이 되며, 도 16에 도시된 PE 그룹내의 PE별 버퍼 분배 구조에서와 같이, 해당 PE별로 레별별 로컬 버퍼와 레이어 버퍼를 각각 가지면서 이 버퍼들에 대하여 MUX를 통해서 억세스하게 된다.
도 16에 도시된 데이터 코스트 모듈은 수학식 7과 같은 기능을 수행하며, 도 13에 도시된 데이터 코스트 모듈 구조에서와 같이 데이터 코스트를 병렬로 계산하기 위한 로직(logic)이 된다.
도 13을 참조하면, 데이터 코스트 모듈내의 모듈 A는 도 14에 도시된 데이터 코스트 모듈 내의 모듈 A 상세도와 같이 좌우 픽셀 데이터 gr(p0, p1+d), gl(p0, p1)를 저장하는 레지스터들과 이 레지스터들의 절대값 차이를 계산하는 로직으로 구성되며 D, p(d)는 모듈 A의 출력값이 된다. 이때 우측 픽셀 데이터는 수학식 7의 d만큼 이웃한 레지스터로 쉬프트 로직에 의해서 각 d별 D, p(d)이 출력된다.
그리고, 데이터 코스트 모듈내의 모듈 B는 도 15에 도시된 데이터 코스트 모듈 내의 모듈 B 상세도와 같이 데이터 코스트 Dp k(d)를 구하기 위해 수학식 8
의 연산을 수행하는 로직으로서, 도 13의 각 레벨 k에 따라 이웃한 D, p(d)를 더하고, 그리고 최종 Dp k(d)가 레지스터 및 누산기(Accumulator)를 통해 2k개 라인만큼 더해져서 계산된다.
또한, 데이터 코스트 모듈 시퀀스는 도 24와 같이, 누산기 누산(Accumulation) 레지스터 Dp k(d)를 초기화하고, 각 e0 ∈[0, 2k-1]에 대응되는 좌우 스캔라인을 로드하여 수학식 9
의 값을 Dp k(d)에 누적시키는 방식으로 구해진다. 이때 d값에 대하여 각각의 데이터 코스트를 구해야 한다.
한편, N0 by N1 MRF 네트워크에서 데이터 코스트들을 이용한 FBP 스테레오 매칭 모듈내의 FBP 스테레오 매칭 시퀀스는 아래와 같다.
< FBP 스테레오 매칭 Sequence >
...
상술한 바와 같이, 도 5 및 도 6을 통해 설명했듯이 도 20에 도시된 FBP 스테레오 매칭 모듈의 노드상에서 FBP 스테레오 매칭 시퀀스와 같이, coarsest-to-fine 스케일 특징 때문에 뎁스 퍼스트 트리(depth first tree) 시퀀스를 통해 p0 k-1 노드위의 finest 레벨 노드까지 처리할 수 있다.
즉, 각 p0 k(lk)별 p1 k 축 상의 모든 노드상 프로세서들을 그룹으로 묶고 그룹 내에서 병렬 수행에 의해 뎁스 퍼스트 트리 시퀀스를 통해 메시지_업데이트 함수가 실행되고, 최종 레이어 L0에서 스테이트_추정(State_estimation) 함수가 수행되어 양안차값을 결정한다.
다음으로, 도 21은 FBP 스테레오 매칭 시퀀드를 플로우차트로 도시한 도면이고, 도 22는 도 21의 메시지 업데이트를 위한 그룹 내에서 순차적 계산 방법을 도시한 도면이며, 도 23은 도 21의 메시지 업데이트를 위한 그룹 내에서 병렬 계산 방법을 도시한 도면이다. 여기서, 도 25는 도 22 및 도 23의 버퍼 업데이트를 위한 로컬 인덱스를 도시한 도면이다.
도 21을 참조하면서, FBP 스테레오 매칭 시퀀스 내의 각 함수별 설명은 아래와 같다.
a. Message_calculation in local buffer
otherwise
b. buffer update in layer buffer, for next group processing
ㄱ) 데이터 코스트 케이스
ㄴ) 메시지 케이스
그리고, 추정된 MAP 스테이트 및 메시지 Mk hs(ds, lk)를 계산하기 위해서 필요한 것들은 에지 코스트 Vhs(dh, ds), 데이터 코스트 Dk h(dh)와 이웃한 메시지 Mk uh(dh, lk-1) 들이다.
상술한 연구논문[ P.F. Felzenszwalb and D.R. Huttenlocher. Efficient belief propagation for early vision]에서 처럼 에지 코스트 Vhs(dh, ds)는 파라미터 αv, Kv를 이용하여 불안전한 직선 함수(truncated linear function)인 를 사용하게 되면 메모리가 필요하지 않다.
각 레벨별 lk≠1일 때를 먼저 고려해 보자.
메시지_업데이트 및 스테이트_추정에서 유의할 점은 상술한 수학식 5에서와 같이, 다른 반복횟수 레이어 사이에서 기존 MRF에 동일하게 대응되는 노드가 상술 한 수학식 4의 레이어 변환에 의해 오프셋 -[1 0]T 만큼 차이가 남에 따라 레이어 변환에 의하여 Nb(h)/s는 로 바뀌어 진다.
또한, 메시지를 계산하는 메시지 계산(Message calculation) 함수에서 레이어 및 로컬 버퍼 억세스 방법은 그룹 상의 노드를 나타내는 로컬 인덱스 u가 u0≥-2, u0≤0 의 범위 값을 가지는데, 그룹 내에 있으면 즉 u0=0이면, 이전 레이어 데이터 및 메시지 값을 로컬 버퍼로부터 읽어 들이고 u0≥-2, u0〈0이면, 이전 그룹에 해당되므로 레이어 버퍼로부터 읽어 들인다. 여기서, 함수에서 계산된 메시지는 로컬 버퍼에 저장이 된다.
각 레벨별로 lk=1 일 때는 이전 레이어가 다른 스케일 레벨을 가지므로, 아래와 같이 특별하게 고려가 되어야 한다.
즉, coarsest 레벨 k=K-1이면 메시지는 0으로 초기화된다. 여기서, k≠K-1이면 이전 레벨 메시지 를 로컬 버퍼로 부터 읽어 들인다. 그리고, 데이터 코스트는 lk=1 일 때 데이터 모듈로부터 를 읽어 들인다.
다음으로, 레이어 버퍼 업데이트를 위한 버퍼 업데이트 함수는 도 24의 데이 터 코스트 모듈 계산 시퀀스에서처럼 u0=0인 로컬 버퍼는 그 다음 작은 인덱스 쪽 즉 레이어 버퍼로 쉬프트되는 방식에 의해 처리된다.
다음으로, FBP 스테레오 매칭모듈의 메모리 크기 계산은 레이어 버퍼에 억세스되는 메시지는 u0≥-2, u0〈0 일 때이고, 도 5에서 보여주는 바와 같이 u0=-1일 때는 3개의 인접한 노드로부터 오는 세 방향의 각 메시지가 총 N1 개의 노드별로 필요하고, u0=-2 일 때는 한 방향 메지시만 있으면 되므로 레이어 마다 저장이 되는 총 메시지수는 4N1이 되므로, 전체 메시지를 위한 레이어 버퍼 크기는 스테이트 수를 S개, 스테이트 코스트 크기가 B 비트일 때 가 된다.
즉, 데이터 코스트 크기는 도 6과 같이 h0=-1인 경우만 고려하면 되므로 레이어 버퍼는 비트가 되고 로컬 버퍼는 bit가 됨에 따라 전체 FBP 스테레오 매칭 모듈의 메모리 크기는 bit가 된다.
여기서, 기존의 계층적 BP 메모리 크기는 5N1N0SB 비트이므로 Lk가 충분히 작을 때, FBP 스테레오 매칭모듈의 메모리 크기는 배 만큼 작아지며, 계산량은 레벨 k별 N1 k개의 병렬 프로세서에 N1 k 배 만큼 빨라지므로, 전체 전으로 대락 N1 빠른 계산속도를 가진다.(여기서, L은 전체 레이어 수를 의미한다.)
한편, FBP 스캐닝 시퀀스는 도 8a, b에 도시된 레이어 변환 전(도 8a) 및 후(도 8b) 구조에서와 같이 VLSI로 구현되어 여러 개의 프로세서들이 이웃한 프로세서의 메시지값을 읽어 들여 병렬로 계산하거나, PC에서 메시지를 하나씩 순차적으로 읽어 들여 계산 가능하다.
다음에서는 PE 계산구조에 대해서 설명한다.
PE는 수학식 10에서와 같이, Vhs(dh, ds), msum(dh)를 이용하며 새로운 메시지 m0(ds)를 계산하는 로직이다.
즉, 메시지가 A 스테이트 크기를 가질 때, 도 17의 PE 모듈의 상세도와 같이 연구 논문 [ P.F. Felzenszwalb and D.R. Huttenlocher. Efficient belief propagation for early vision]의 디스턴스 트랜스폼(distance transform) 특성을 이용하여 전방 프로세서와 후방 프로세서, 노멀라이저에 의해서 계산량을 O(A2)에서 O(3A)로 줄일 수 있는 새로운 PE 구조를 제시한다. 또한 단순한 가산기, 뺄셈기, 쉬프터, 비교기만으로 처리되는 간단한 계산 구조를 가지므로 VLSI 구현에 적합하다.
여기서 B는 가능한 최대값을 나타낸다.
전방 프로세서:
D1(-1)=B, D2(-1)=B
For t from 0 to A-1,
후방 프로세서:
D3(-1)=B, D4(-1)=0
For t from 0 to A-1,
노멀라이저:
For t from 0 to A-1,
다시 말하여, 도 17은 PE 모듈을 나타내며, 메시지와 데이터 코스트를 합하여 msum(t)를 구하고, 전방 프로세서는 msum(t)를 mf(t)로 출력한다. 여기서, mf(t)는 스택에 저장된 후 후방 프로세서에서 이용되어 mb(t)를 출력하고, mb(t)를 입력받아 노멀라이저에 의해서 mo(t)를 계산한다.
그리고, 도 18a, b는 도 17의 PE 모듈에서 전방 프로세서를 나타낸 도면이다.
즉, 입력 코스트 msum(t)는 t가 0부터 A-1까지 값을 가지는 벡터의 순차적 입력을 나타낸다. 도 18a에 도시된 제 1 전방 프로세서에서는 딜레이 버퍼 D1(-1)=B로 초기화하고 매 스텝마다 입력 코스트값을 가산한다. 새롭게 계산된 값 D1(t)는 이전 스텝에서 계산된 D1(t-1)+C0와 비교하여 최소값을 현 스텝의 mf(t)로 계산한다. 도 18a에 도시된 제 2 전방 프로세서는 딜레이 버퍼 D2(t)로서 msum(t)의 최소값를 구하고 최소값에 Kv가 더해져서 mf(-1)이 출력된다.
그리고, 도 19a, b는 도 17의 PE 모듈에서 후방 프로세서를 나타낸 도면이 다.
즉, 도 19a에 도시된 제 1 후방 프로세서에서는 D3(-1)=B로 초기화하고 매 스텝마다 전방 코스트의 각각 스테이트값(mf(t))을 읽어 들인다. mf(t)와 이전 스텝에서 계산된 D3(t-1)+Cv와 비교하여 최소값을 현 스텝의 D3(t)로 둔다. D3(t)는 다시 입력 파라미터 mf(-1)와 비교가 되어 작은 값이 mb(t)로 계산되어 출력된다. 그리고 도 19b에 도시된 제 2 후방 프로세서에서는 D4(t)는 초기에 0으로 초기화 된 후 매 스텝마다 mb(t)를 더하고, 최종 스텝에서 D4(A-1)을 만큼 쉬프트 라이트(Shift right) 하여 출력한다.
그리고, 도 17의 PE 모듈에서의 노멀라이저는 제 1 후방 프로세서의 출력값 mb(t)에서 제 2 후방 프로세서의 출력값 mb(-1)를 빼서 최종적으로 mo(t)를 출력한다.
따라서, 미들버리 테스트(Middlebury test) 영상의 경우에서 보면 전체 스케일 레벨을 4 레벨로 하고 coarsest-to-fine으로 해서 Lk를 (5, 5, 10, 5)로 할당할 때, 도 26의 다른 실시간 스테레오 매칭 시스템과 에러율 성능을 비교한 도면에서와 같이 탁월한 에러 결과를 보여 주면서 436 by 383 영상의 경우 28배의 메모리를 줄일 수 있으며 436개의 병렬 프로세서를 통해서 436배 빠르게 계산할 수 있다.
또한, 본 발명의 사상 및 특허청구범위 내에서 권리로서 개시하고 있으므로, 본 발명은 일반적인 원리들을 이용한 임의의 변형, 이용 및/또는 개작을 포함할 수 도 있으며, 본 명세서의 설명으로부터 벗어나는 사항으로서 본 발명이 속하는 업계에서 공지 또는 관습적 실시의 범위에 해당하고 또한 첨부된 특허청구범위의 제한 범위 내에 포함되는 모든 사항은 포함한다.
이상, 상기에서 설명한 바와 같이, 본 발명은 계층적 구조의 BP 기반 특성을 이용하여 반복횟수가 작은 경우에 전체 메모리 크기를 줄이면서 소형 메모리를 통해 병렬로 계산함으로써, 메모리 축소 효과에 의해 기존의 VLSI 칩 내에 병렬 구현이 불가능한 상황을 극복하여 VLSI 내부의 소형 분산 메모리를 병렬 프로세서에 의해 억세스하고 고속처리가 가능해 지는 것이며, 작은 메모리 리소스(resource)를 사용하여 고속 병렬 처리할 수 있으며 단순한 정수(integer) 계산 구조를 가지므로, FPGA나 ASIC과 같은 적은 메모리의 소형 병렬 VLSI 칩으로 쉽게 제작할 수 있으며, 복잡한 영상처리 시스템을 고속 실시간으로 처리하면서 저가의 소형 장치로 제작할 수 있는 강력한 장점을 가지게 되는 효과가 있다.
Claims (32)
- 좌우 영상 데이터를 입력받아 각 픽셀에 대응되는 노드로 구성되는 말콥랜덤필드(markov random field)에 대해서 BP(belief propagation)에 의해 반복할 때 마다 계산되는 노드별 메시지 값들을 누적시키고 상기 반복 시 상기 메시지 값이 누적되는 방향을 레이어라고 할 때, 상기 반복 시 일정 반복 마다 coarsest-to-fine으로 상기 메시지 값을 누적시키는 레이어일 경우, 상기 레이어를 고려하여 계층적 다이나믹 베이지안 네트워크(dynamic bayesian network)를 생성하고, 상기 생성된 계층적 다이나믹 베이지안 네트워크상의 메시지를 상기 말콥랜덤필드(MRF) 상의 임의의 축 방향으로 상기 말콥랜덤필드의 일정부분 노드의 메시지값을 업데이트하면서 동시에 최종 레이어의 양안차 값을 계산하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 1 항에 있어서,상기 시스톨릭 어레이 장치는,래스터 스캔(raster scan) 방식으로 들어오는 좌우 영상 픽셀 데이터를 임시 저장 및 출력하는 영상 버퍼와,다수의 병렬 PE(processing element) 그룹으로 구성되며, 이웃한 PE 그룹으로 메시지와 상기 출력되는 좌우 영상 픽셀 데이터를 전달하는 시스톨릭 어레이 구조를 가지면서 병렬로 상기 메시지와 양안차를 계산하고, 상기 계산된 양안차의 영상을 출력하는 FBP(fast belief propagation) 스테레오 매칭 모듈을 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 삭제
- 제 2 항에 있어서,상기 다수의 병렬 PE 그룹 각각은,상기 픽셀 데이터를 받아 데이터 코스트를 계산하는 데이터 코스트 모듈과,상기 데이터 코스트를 입력받고 이웃한 PE그룹에서 오는 메시지들을 입력 받아 원하는 메시지를 선택하는 MUX(multiplexer)와,상기 MUX의 출력을 이용하여 새로운 메시지를 계산하는 PE(Processing Element)와,상기 PE의 결과값을 저장하는 로컬 버퍼와,상기 로컬 버퍼의 값을 다시 저장하는 레이어 버퍼를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 4 항에 있어서,상기 데이터 코스트 모듈은,상기 픽셀 데이터들을 일련의 레지스터들에 저장하고 우측 레지스터들을 쉬프트함에 의해 각 양안차 값에 해당되는 좌우 픽셀 데이터의 절대값 차이를 계산하는 모듈 A와,상기 모듈 A들의 출력값을 이용하여 스케일 레벨별 최종 데이터 코스트를 계산하는 모듈 B를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 5 항에 있어서,상기 모듈 A는,상기 좌우 픽셀 데이터 각각을 저장하는 좌측 레지스터 및 우측 레지스터와,상기 좌측 및 우측 레지스터의 출력값을 입력받아 절대값차이를 계산하는 로직을 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 5 항에 있어서,상기 모듈 B는,두개의 코스트들을 더하는 가산기와,상기 가산기에 의해 가산된 결과값을 저장하는 레지스터와,상기 레지스터의 출력값을 누산하는 누산기를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 4 항에 있어서,상기 데이터 코스트 모듈은,임의의 스케일 레벨에서 임의의 노드 데이터코스트를 구할 시 필요한 좌우 스캔라인들을 순차적으로 읽어 들이고 모듈 A에서 상기 좌우 스캔라인의 일련의 좌우 픽셀 데이터를 레지스터에 저장하여 절대값차이를 계산하며, 상기 임의의 스케일 레벨에 따라 이웃한 모듈 A들의 값을 더하며, 상기 더한 결과값을 스캔라인들에 대해서 누산한 레벨별 최종 데이터 코스트를 모듈 B에서 계산하도록 하는 시퀀스를 갖는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 2 항에 있어서,상기 FBP 스테레오 매칭 모듈은,다이나믹 베이지안 네트워크를 각 반복횟수별 노드의 위치를 스캐닝 축 방향으로 기울이는 방식으로 레이어 변환된 계층적 다이나믹 베이지안 네트워크에서 MRF내 축의 동일 좌표에 해당되는 라인상의 노드들을 병렬처리하면서 상기 축 방향으로 순차적으로 처리하도록 FBP 스테레오 매칭 시퀀스를 갖는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 9 항에 있어서,상기 FBP 스테레오 매칭 시퀀스는,상기 레이어 변환된 계층적 다이나믹 베이지안 네트워크를 메모리로 스캐닝하기 위해 coarsest 레벨에서 스캐닝 축의 동일좌표 상의 노드들을 병렬로 처리하면서 상위 레이어의 메시지를 뎁스 퍼스트 트리(depth-first-tree) 순서로 메시지 업데이트 함수에 의해 처리되고, 스테이트 추정함수에 의해 양안차값이 계산되는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 10 항에 있어서,상기 메시지 업데이트 함수는,레벨별로 정해진 반복횟수 레이어 수만큼 수행하여 메시지를 계산하고 로컬 버퍼에 저장된 메시지 계산 함수와 로컬 버퍼의 메시지를 네트워크 상의 다음 라인의 그룹을 처리하기 위해 레이어 버퍼에 저장된 버퍼 업데이트 함수를 이용하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 11 항에 있어서,상기 메시지 계산 함수에서 읽어 들이는 이전 레이어의 메시지와 데이터 코스트는, 레이어 변환에 의해서 이전 레이어 또는 이전 라인의 그룹에서 처리된 메시지만이 되도록 하는 방식인 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 11 항에 있어서,상기 메시지 계산 함수는, 이전 레이어의 메시지나 데이터 코스트가 그룹 내에서 읽기가 가능하면 로컬 버퍼를 억세스하고, 그룹밖에 있으면 레이어 버퍼를 억세스하는 방식인 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 11 항에 있어서,상기 메시지 계산 함수는, 각 레벨별 첫 번째 레이어의 메시지 계산시 이전 레이어의 메시지에 대해 coarsest 레벨에서는 코스트가 '0'인 메시지를 읽어 들이고 그렇지 않을 시 이전 coarsest 레벨의 로컬버퍼에서 메시지를 읽어 들이며, 상기 첫 번째 레이어의 메시지 계산 시 데이터 코스트는 데이터 코스트 모듈로부터 읽어 들이는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 11 항에 있어서,상기 버퍼 업데이트 함수는,상기 다이나믹 베이지안 네트워크의 다음 라인의 그룹에서 메시지 계산함수를 수행 시 현재 그룹 메시지 및 데이터 코스트를 레이어 버퍼로 억세스하는 것을 가능하도록 로컬버퍼에 있는 메시지 및 데이터 코스트를 레이어 버퍼로 저장하는 기능을 갖는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 10 항에 있어서,상기 스테이트 추정 함수는, finest 레벨에서 최종 반복횟수 후에 로컬 버퍼와 레이어 버퍼로부터 메시지와 데이터 코스트를 읽어 들여 각 스테이트 별로 합한 다음, 최소 코스트에 해당되는 스테이트를 양안차값으로 결정하는 방식인 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 2 항에 있어서,상기 PE 그룹은, 레벨이 K개일 때, 전체 2k-1개의 PE를 가지며, k 레벨에서 FBP 스테레오 매칭 시퀀스에서 N1/2k개(여기서, N1은 MRF의 수평방향 크기를 의미함)의 PE들이 병렬로 동작되며, 해당 PE별로 각 레벨별 로컬 버퍼와 레이어 버퍼를 가지면서 상기 버퍼들을 MUX를 통해 억세스하면서 수행하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 4 항에 있어서,상기 로컬 버퍼는, 그룹 내의 현재 계산된 메시지들를 저장하여 다음 레이어의 메시지 계산에서 이전 레이어 메시지를 억세스 가능하게 하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 4 항에 있어서,상기 레이어 버퍼는, 네트워크상에서 다음 라인의 그룹계산에서 필요한 현재 그룹의 메시지들을 각 레이어 별로 저장하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 2 항에 있어서,상기 FBP 스테레오 매칭 모듈은, 하나의 프로세서에서 로컬 버퍼와 레이어 버퍼를 순차적으로 억세스하여 FBP 스테레오 매칭 시퀀스를 순차적으로 수행하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 4 항에 있어서,상기 PE는,상기 데이터 코스트와 이전 레이어의 메시지들을 스테이트별로 순차적으로 읽어 들여 합하는 가산기와,상기 가산기의 출력을 입력받아 전방 프로세서 코스트를 출력하는 전방 프로세서와,상기 전방 프로세서 코스트를 입력받아 저장하는 전방 스택과,상기 전방 스택의 출력값을 입력받아 후방 프로세서 코스트를 출력하는 후방 프로세서와,상기 후방 프로세서 출력값을 저장하는 후방 스택과,상기 후방 스택 출력값을 입력받아 최종 메시지를 계산하는 노멀라이져와,상기 노멀라이져의 출력값을 저장하는 버퍼를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 21 항에 있어서,상기 전방 프로세서는,제 1 딜레이 버퍼를 초기화하고 매 스텝 별로 입력 코스트값을 읽어 들이면서, 이전 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 상기 제 1 딜레이 버퍼에 저장함과 동시 출력하는 제 1 전방 프로세서와,제 2 딜레이 버퍼를 초기화하여 상기 제 2 딜레이 버퍼로서 입력 코스트의 최소값을 구하고 상기 최소값에 일정한 상수값을 더해서 출력하는 제 2 전방 프로세서를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 21 항에 있어서,상기 후방 프로세서는,제 1 딜레이 버퍼를 초기화 후 매 스텝마다 입력 코스트값을 읽어 들여 상기 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 상기 제 1 딜레이 버퍼에 저장하고, 상기 제 1 딜레이 버퍼 출력값과 전방 프로세서의 출력값과 비교하여 최소값을 출력하는 제 1 후방 프로세서와,제 2 딜레이 버퍼를 '0'으로 초기화하고, 매 스텝마다 상기 제 1 딜레이 버퍼 출력값을 더하여 상기 제 2 딜레이 버퍼에 저장하고, 상기 제 2 딜레이 버퍼값을 임의의 수만큼 쉬프트하여 출력하는 제 2 후방 프로세서를 포함하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 21 항 또는 제 23 항에 있어서,상기 노멀라이져는,상기 제 1 후방 프로세서의 계산된 값에서 상기 제 2 후방 프로세서의 계산된 값을 빼서 출력하는 방식에 의해 메시지를 계산하는 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- 제 2 항에 있어서,상기 FBP 스테레오 매칭 모듈은,시스톨릭 어레이 구조와 멀티플렉서, 정수 연산의 가산기, 감산기, 비교기, 쉬프터의 연산만으로 동작이 되는 VLSI인 것을 특징으로 하는 BP 기반의 고속 시스톨릭 어레이 장치.
- (a)래스터 스캔(raster scan) 방식으로 들어오는 좌우 영상 픽셀 데이터를 임시 저장 및 출력하는 단계와,(b)다수의 병렬 PE(processing element) 그룹으로 구성되며, 이웃한 PE 그룹으로 메시지와 상기 출력되는 좌우 영상 픽셀 데이터를 전달하는 시스톨릭 어레이 구조를 가지면서 병렬로 상기 메시지와 양안차를 계산하는 단계와,(c)상기 계산된 양안차의 영상을 출력하는 단계를 포함하는 BP(belief propagation) 기반의 고속 시스톨릭 어레이 방법.
- 삭제
- 제 27 항에 있어서,상기 다수의 병렬 PE 그룹 각각에서는,(a1)상기 픽셀 데이터를 받아 데이터 코스트를 계산하는 단계와,(b1)상기 (a1)단계에서 계산된 데이터 코스트를 입력받고 이웃한 PE그룹에서 오는 메시지들을 입력 받아 원하는 메시지를 선택하는 단계와,(c1)상기 (b1)단계에서 선택된 메시지에 대하여 PE를 이용하여 계산하는 단계와,(d1)상기 (c1)단계에서 계산된 결과값을 로컬 버퍼에 저장하는 단계와,(e1)상기 (d1)단계에서 저장된 결과값을 다시 레이어 버퍼에 저장하는 단계를 포함하는 BP 기반의 고속 시스톨릭 어레이 방법.
- 제 29 항에 있어서,상기 (c1)단계에서의 PE는,(c11)상기 데이터 코스트와 이전 레이어의 메시지들을 스테이트별로 순차적으로 읽어 들여 합하는 단계와,(c12)상기 (c11)단계에서 합산된 값을 입력받아 전방 프로세서 코스트를 출력하는 단계와,(c13)상기 (c12)단계에서 출력되는 전방 프로세서 코스트를 입력받아 전방 스택에 저장하는 단계와,(c14)상기 전방 스택의 출력값을 입력받아 후방 프로세서 코스트를 출력하는 단계와,(c15)상기 (c14)단계에서의 출력값을 후방 스택에 저장하는 단계와,(c16)상기 후방 스택의 출력값을 입력받아 최종 메시지를 계산하는 단계와,(c17)상기 (c16)단계에서 계산된 출력값을 버퍼에 저장하는 단계를 더 포함하는 BP 기반의 고속 시스톨릭 어레이 방법.
- 제 30 항에 있어서,상기 (c12)단계는,제 1 딜레이 버퍼를 초기화하고 매 스텝 별로 입력 코스트값을 읽어 들이면서, 이전 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 상기 제 1 딜레이 버퍼에 저장함과 동시 출력하는 단계와,제 2 딜레이 버퍼를 초기화하여 상기 제 2 딜레이 버퍼로서 입력 코스트의 최소값을 구하고 상기 최소값에 일정한 상수값을 더해서 출력하는 단계를 더 포함하는 BP 기반의 고속 시스톨릭 어레이 방법.
- 제 30 항에 있어서,상기 (c14)단계는,제 1 딜레이 버퍼를 초기화 후 매 스텝마다 입력 코스트값을 읽어 들여 상기 제 1 딜레이 버퍼값에 일정한 상수값을 가산한 값과 비교하여 최소값을 상기 제 1 딜레이 버퍼에 저장하고, 상기 제 1 딜레이 버퍼 출력값과 전방 프로세서의 출력값과 비교하여 최소값을 출력하는 단계와,제 2 딜레이 버퍼를 '0'으로 초기화하고, 매 스텝마다 상기 제 1 딜레이 버퍼 출력값을 더하여 상기 제 2 딜레이 버퍼에 저장하고, 상기 제 2 딜레이 버퍼값을 임의의 수만큼 쉬프트하여 출력하는 단계를 더 포함하는 BP 기반의고속 시스톨릭 어레이 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070065082A KR100920227B1 (ko) | 2007-06-29 | 2007-06-29 | 신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 |
PCT/KR2008/003280 WO2009014314A1 (en) | 2007-06-29 | 2008-06-12 | Belief propagation based fast systolic array and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070065082A KR100920227B1 (ko) | 2007-06-29 | 2007-06-29 | 신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090001026A KR20090001026A (ko) | 2009-01-08 |
KR100920227B1 true KR100920227B1 (ko) | 2009-10-05 |
Family
ID=40281534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070065082A KR100920227B1 (ko) | 2007-06-29 | 2007-06-29 | 신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100920227B1 (ko) |
WO (1) | WO2009014314A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101094896B1 (ko) | 2010-02-16 | 2011-12-15 | 한국과학기술원 | 멀티미디어 인식 장치 및 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877129B (zh) * | 2010-06-08 | 2012-05-23 | 浙江工业大学 | 基于最小和缓存加速策略的泛化置信度传播的双目立体视觉匹配方法 |
KR101875532B1 (ko) | 2011-11-23 | 2018-07-11 | 엘지이노텍 주식회사 | 계층적 스테레오 매칭 장치 및 방법 |
CN104966303B (zh) * | 2015-07-21 | 2018-02-06 | 兰州理工大学 | 一种基于马尔可夫随机场的视差图精化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020007894A (ko) * | 2000-07-19 | 2002-01-29 | 정명식 | 실시간 입체 영상 정합 시스템 |
KR20060023714A (ko) * | 2004-09-10 | 2006-03-15 | 학교법인 포항공과대학교 | 영상 정합 시스템 및 영상 정합 방법 |
KR20070063063A (ko) * | 2005-12-14 | 2007-06-19 | 주식회사 제이앤에이치테크놀러지 | 스테레오 비전 시스템 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100375708B1 (ko) * | 2000-10-28 | 2003-03-15 | 전자부품연구원 | 3차원 입체영상을 위한 다시점 비디오 시스템 및영상제조방법 |
-
2007
- 2007-06-29 KR KR1020070065082A patent/KR100920227B1/ko not_active IP Right Cessation
-
2008
- 2008-06-12 WO PCT/KR2008/003280 patent/WO2009014314A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020007894A (ko) * | 2000-07-19 | 2002-01-29 | 정명식 | 실시간 입체 영상 정합 시스템 |
KR20060023714A (ko) * | 2004-09-10 | 2006-03-15 | 학교법인 포항공과대학교 | 영상 정합 시스템 및 영상 정합 방법 |
KR20070063063A (ko) * | 2005-12-14 | 2007-06-19 | 주식회사 제이앤에이치테크놀러지 | 스테레오 비전 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101094896B1 (ko) | 2010-02-16 | 2011-12-15 | 한국과학기술원 | 멀티미디어 인식 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2009014314A1 (en) | 2009-01-29 |
KR20090001026A (ko) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063825B (zh) | 卷积神经网络加速装置 | |
CN108416327B (zh) | 一种目标检测方法、装置、计算机设备及可读存储介质 | |
US8427524B2 (en) | Message propagation-based stereo image matching system | |
KR100920227B1 (ko) | 신념 전파 기반의 고속 시스톨릭 어레이 장치 및 그 방법 | |
Li et al. | High throughput hardware architecture for accurate semi-global matching | |
CN113449612B (zh) | 一种基于子流型稀疏卷积的三维目标点云识别的方法 | |
JP2010134546A (ja) | 視体積交差法による3次元形状復元装置、3次元形状復元方法および3次元形状復元プログラム | |
Park et al. | Real-time stereo vision FPGA chip with low error rate | |
Dehnavi et al. | FPGA based real-time on-road stereo vision system | |
JP6567381B2 (ja) | 演算装置、方法及びプログラム | |
KR20100088586A (ko) | 분할된 도메인들의 중요 샘플링을 위한 시스템, 방법 및 컴퓨터 판독가능 기록 매체 | |
KR100920229B1 (ko) | Bp의 고속 시스톨릭 어레이 시스템과 이를 이용한 메시지처리 방법 | |
CN117201323A (zh) | 链接非对称时的无人机持久编队通信拓扑生成方法和系统 | |
KR100971148B1 (ko) | 밝기 조절을 통한 영상 정합을 위한 병렬 구조의 영상 처리장치 및 방법 | |
CN108347549B (zh) | 一种基于视频帧的时间一致性来改善视频抖动的方法 | |
Park et al. | VLSI architecture for MRF based stereo matching | |
Hurkat et al. | Fast hierarchical implementation of sequential tree-reweighted belief propagation for probabilistic inference | |
CN111626368B (zh) | 一种基于量子算法的图像相似度识别方法、装置及设备 | |
Normand et al. | Minimal-delay distance transform for neighborhood-sequence distances in 2D and 3D | |
Sharaiha et al. | A graph-theoretic approach to distance transformations | |
KR100950048B1 (ko) | 정규 그래프 상의 반복 연산 장치 및 그 방법 | |
Strand et al. | Generating distance maps with neighbourhood sequences | |
Trieu et al. | Real-time image segmentation based on a parallel and pipelined watershed algorithm | |
JP3978614B2 (ja) | 画像領域分割方法および画像領域分割装置 | |
KR20000032857A (ko) | 움직임 추정장치 |
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 | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |