KR101599810B1 - 바둑 복기 시스템 - Google Patents

바둑 복기 시스템 Download PDF

Info

Publication number
KR101599810B1
KR101599810B1 KR1020150013579A KR20150013579A KR101599810B1 KR 101599810 B1 KR101599810 B1 KR 101599810B1 KR 1020150013579 A KR1020150013579 A KR 1020150013579A KR 20150013579 A KR20150013579 A KR 20150013579A KR 101599810 B1 KR101599810 B1 KR 101599810B1
Authority
KR
South Korea
Prior art keywords
image
background image
unit
pixel
frame
Prior art date
Application number
KR1020150013579A
Other languages
English (en)
Inventor
변재형
신미연
조혜수
조태훈
Original Assignee
한국기술교육대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국기술교육대학교 산학협력단 filed Critical 한국기술교육대학교 산학협력단
Priority to KR1020150013579A priority Critical patent/KR101599810B1/ko
Application granted granted Critical
Publication of KR101599810B1 publication Critical patent/KR101599810B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • A63F3/022Recording or reproducing chess games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 바둑 복기 시스템에 관한 것이다. 이러한 바둑 복기 시스템은 바둑판을 촬영하여 영상 데이터를 생성하는 영상 촬영부, 그리고 상기 영상 촬영부와 연결되어 상기 영상 데이터를 전달받고, 시간적 중간치법을 이용하여 상기 영상 데이터로부터 배경영상을 추출하는 배경영상추출부 및 상기 배경영상추출부로부터 추출된 상기 배경영상을 이용하여 상기 바둑판 위에 바둑돌이 새로 놓이거나 내려진 부분을 탬플릿 이미지와 비교하는 탬플릿매칭부를 포함하며, 상기 바둑판 위에 바둑돌이 놓이거나 내려진 모션으로부터 복기 데이터를 생성하는 영상 처리부를 포함한다. 이로 인해, 시간적 중간치법을 이용하여 배경영상을 생성하고, 촬영된 영상의 프레임들로부터 화소 값 변화를 탐지하여 효율적으로 바둑돌의 모션을 감지할 수 있으며, 탬플릿 이미지와 매칭시켜 촬영된 영상으로부터 정확한 정보를 추출할 수 있다.

Description

바둑 복기 시스템{REPLAYING SYSTEM FOR BADUK}
본 발명은 바둑 복기 시스템에 관한 것이다.
바둑판 위에 흑돌과 백돌을 두는 게임인 바둑의 진행할 때, 바둑돌이 놓인 순서를 되돌려보는 복기를 수행하여 바둑의 내용을 재확인 할 수 있다.
이러한 복기는 일반적으로 대국을 두는 사람의 기억에 의존하여 이루어지나, 인터넷으로 바둑을 두는 경우에는 복기 내역을 저장하는 시스템이 이미 구축되어 있다.
그러나, 기원, 바둑학원이나 바둑 대회같이 오프라인 상에서 바둑을 둘 때는 여전히 기억에 의존하여 복기 내역을 저장해야 한다는 불편함이 있다.
대한민국 등록특허공보 제10-0472102, 바둑 기보 생성 방법 및 장치를 참고로 하는 한 예에서, 바둑판의 영상을 촬영하고 이를 이용하여 기보 데이터를 생성하는 장치에 대해 언급하고 있으나, 전술한 선행특허의 경우 두 프레임 사이의 차이를 이용하여 모션을 추출하는 원리의 차신호 기법을 이용하여 영상을 처리함에 따라, 그림자나 조명에 의해 영상에 노이즈가 발생하는 문제점이 있다.
본 발명이 이루고자 하는 과제는 대국 영상을 촬영한 영상을 처리하여 바둑 복기를 생성하되, 시간적 중간치법을 이용하여 배경영상을 생성하고, 촬영된 영상의 프레임들로부터 화소 값 변화를 탐지하여 바둑돌을 감지하며, 탬플릿과 매칭시켜 촬영된 영상으로부터 정확한 정보를 추출하기 위한 것이다.
본 발명의 한 실시예에 따른 바둑 복기 시스템은 바둑판을 촬영하여 영상 데이터를 생성하는 영상 촬영부, 그리고 상기 영상 촬영부와 연결되어 상기 영상 데이터를 전달받고, 시간적 중간치법을 이용하여 상기 영상 데이터로부터 배경영상을 추출하는 배경영상추출부 및 상기 배경영상추출부로부터 추출된 상기 배경영상을 이용하여 상기 바둑판 위에 바둑돌이 새로 놓이거나 내려진 부분을 탬플릿 이미지와 비교하는 탬플릿매칭부를 포함하며, 상기 바둑판 위에 바둑돌이 놓이거나 내려진 모션으로부터 복기 데이터를 생성하는 영상 처리부를 포함한다.
상기 영상 처리부에서 생성된 상기 복기 데이터를 저장하는 데이터 저장부를 더 포함하는 것이 좋다.
상기 배경영상처리부는 상기 영상 데이터에서 상기 바둑판의 네 귀퉁이 좌표를 입력받고, 입력받은 상기 바둑판의 네 귀퉁이 좌표를 이용하여 상기 바둑판의 모든 교차점에 대한 좌표를 생성하는 전처리를 수행하는 것이 좋다.
상기 영상 처리부는 상기 복기 데이터를 상기 바둑판의 좌표에 매칭시켜, 상기 복기 데이터를 텍스트 형태로 생성하는 것이 좋다.
상기 배경영상추출부는 연속하는 복수의 프레임에서 화소의 빈도가 높은 화소 값을 배경영상의 화소 값으로 지정함으로써 배경영상을 추출하고, 상기 배경영상의 화소 값은 아래의 식으로부터 산출되는 것이 좋다.
[식 1]
Figure 112015009466050-pat00001
(여기서, B n(x)는 n번째 프레임의 배경영상에서 임의의 화소 x에 대한 화소 값이고, I n(x)는 n번째 프레임에서의 임의의 화소 x에 대한 밝기이며, n은 자연수임.)
이러한 특징에 따르면, 영상 처리부는 영상 촬영부에서 촬영된 영상으로부터 배경영상을 추출하고, 새 프레임과 추출된 배경영상을 비교하여 배경영상의 화소 값을 조정하며, 탬플릿과 매칭시켜 촬영된 영상으로부터 바둑돌이 놓인 것을 감지하고 이를 이용하여 바둑 복기 정보를 생성하므로, 촬영된 영상으로부터 노이즈로 인한 데이터 오류 없이 정확한 복기 정보를 생성할 수 있다.
도 1은 본 발명의 한 실시예에 따른 바둑 복기 시스템의 구조를 나타낸 블록도이다.
도 2는 본 발명의 한 실시예에 따른 바둑 복기 시스템에서 배경영상추출부가 산출하는 배경영상의 화소 값의 변화를 나타낸 그래프이다.
도 3은 본 발명의 한 실시예에 따른 바둑 복기 시스템에 탬플릿매칭부가 참조하는 탬플릿 이미지의 예를 나타낸 도면이다.
도 4는 본 발명의 한 실시예에 따른 바둑 복기 시스템에서 탬플릿매칭부가 배경영상으로부터 이미지 일부분을 추출하는 예시를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
먼저, 도 1을 참고로 하여 본 발명의 한 실시예에 따른 바둑 복기 시스템의 구조를 설명한다.
바둑 복기 시스템은 바둑판 부분을 촬영하여 영상 데이터를 얻는 영상 촬영부(100), 영상 촬영부(100)로부터 영상 데이터를 전달받아 처리하여 복기 데이터를 생성하는 영상 처리부(200), 영상 처리부(200)에서 생성된 복기 데이터를 저장하는 데이터 저장부(300), 입력부(500)로부터 발생한 데이터 요청신호에 따라 데이터 저장부(300)에서 요청된 데이터를 탐색하여 출력부(600)로 전달하는 제어부(400)를 포함한다.
영상 촬영부(100)는 바둑이 진행되는 바둑판의 영상을 촬영하여 영상 데이터를 출력한다.
이때, 영상 촬영부(100)는 카메라로서, 적어도 바둑판에 형성된 선들 중 가장 바깥 부분을 따라 형성된 사각 형상의 선이 영상에 포함되도록 영상을 촬영한다.
한 예에서, 바둑판의 상부면이 지면으로부터 수직하는 방향을 향하도록 형성된 경우, 영상 촬영부(100)는 바둑판의 상부보다 높은 위치에 형성된다.
예로써, 영상 촬영부(100)는 바둑판이 위치하는 밀폐된 공간, 예를 들면 기원, 바둑 학원 또는 바둑 대회가 열리는 장소의 천장에 설치되거나, 천장으로부터 수직하는 방향을 따라 형성된 구조물의 단부에 연결되는 구조로 설치되어 영상 촬영부(100)가 바둑판으로부터 너무 멀지 않은 곳에서 바둑판의 영상을 촬영하도록 할 수 있다.
이때, 천장에 설치되는 영상 촬영부(100)는 바둑판의 영상을 정확하게 촬영할 수 있도록, 바둑판의 위치로부터 정확하게 수직하는 방향으로 바둑판과 일대응 대응되도록 설치되어 바둑판의 영상을 촬영하는 것이 좋다.
영상 촬영부(100)가 위와 같은 형태로 설치됨에 따라, 영상 촬영부(100)가 바둑판으로부터 비스듬하게 설치된 경우 바둑판의 비스듬하게 촬영한 영상을 얻고 이로부터 반듯한 영상을 추출하기 위해 필요한 별도의 영상처리 작업을 필요로 하는 것을 막을 수 있다.
그리고, 다른 한 예에서, 영상 촬영부(100)는 바둑판에 연결된 거치대의 한 단부에 연결된 형태로 위치할 수 있다.
거치대는 도면에 도시하지는 않았으나, 바둑판의 상부 중앙 부분에 영상 촬영부(100)를 연결할 수 있도록 바둑판으로부터 연결되는 구조물인 것이 좋다.
한 예에서, 거치대는 ‘ㄷ’자 형상으로 형성되어 바둑판의 측면으로부터 수평한 방향으로 뻗어져 나와 바둑판의 상부로부터 수직하는 방향으로 1차적으로 꺾인 다음, 다시 바둑판의 상부와 수평하는 방향으로 2차적으로 꺾인 형태로 형성된 형상으로 형성됨으로써, 바둑판의 측면과 연결되는 단부가 아닌 다른 한 단부가 영상 촬영부(100)와 연결될 수 있다.
거치대의 한 단부에 영상 촬영부(100)를 연결하기 위해서, 거치대는 영상 촬영부(100)를 고정시키는 구조를 포함하여 형성될 수 있다.
영상 처리부(200)는 도 1에 도시한 것처럼, 영상 촬영부(100)에서 촬영된 영상 데이터를 전달받고, 전달받은 영상 데이터로부터 배경영상을 추출하고, 영상의 밝기를 탐지하여 영상 데이터로부터 데이터를 추출하며, 추출된 데이터를 탬플릿 매칭시켜 텍스트 형태의 데이터를 생성하여 출력한다.
영상 처리부(200)는 영상 촬영부(100)와 케이블을 통해 연결되어, 영상 촬영부(100)에서 출력한 영상 데이터를 실시간으로 전달받아 처리한다.
그리고, 다른 한 예에서, 영상 처리부(200)는 영상 촬영부(100)와 케이블 형태의 연결을 구비하지 않고, 영상 촬영부(100)에서 출력한 영상 데이터를 무선통신을 통해 실시간으로 전달받는 형태로 구성될 수 있다.
이때, 영상 처리부(200)와 영상 촬영부(100)가 무선통신을 통해 영상 데이터를 송수신하기 위해서, 영상 촬영부(100) 및 영상 처리부(200)는 무선통신 모듈을 각각 포함하여 형성되어야 하고, 영상 촬영부(100)는 생성한 영상 데이터를 무선통신을 통해 송신 가능한 형태로 변환하는 변조부를, 영상 처리부(200)는 영상 촬영부(100)로부터 수신한 데이터를 처리하기 위한 복조부를 각각 더 포함할 수 있다.
그리고 한 실시예에서, 영상 처리부(200)와 영상 촬영부(100)는 인터넷 서버(미도시)를 사이에 두고, 영상 촬영부(100)에서 생성된 영상 데이터가 인터넷 서버를 통해 영상 처리부(200)로 전달되는 구조로 형성될 수 있다.
이때, 영상 촬영부(100)는 생성된 영상 데이터를 인터넷 서버로 전송하기 위한 데이터 통신 모듈을 유선 또는 무선 형태로 구비하고, 영상 처리부(200)는 인터넷 서버에 직접 연결되어 위치하거나, 인터넷 서버에 클라이언트 형태로 연결되어 인터넷 서버로부터 영상 데이터를 전달받는 구조를 가질 수 있다.
이러한 영상 처리부(200)는 배경영상추출부(210) 및 탬플릿매칭부(220)를 포함하며, 배경영상추출부(210)는 영상처리 알고리즘 중 배경 차이법, 그 중에서도 시간적 중간치법(temporal median)을 이용하여 영상 촬영부(100)로부터 전달받은 영상 데이터를 처리한다.
배경영상추출부(210)는 영상 촬영부(100)로부터 전달받은 영상 데이터에서 복수개의 이전 프레임과 현재 프레임을 비교하여 배경영상을 추출하고, 추출된 배경영상이 변경됨에 따라 영상의 변화를 감지한다.
배경영상추출부(210)에서 사용하는 시간적 중간치법은 모션 추출 알고리즘 중 차신호 기법과 배경 차이법에서, 배경 차이법에 속하는 것으로서, 차신호 기법은 연속하는 두 개의 프레임으로부터 차영상을 생성하고 이로부터 모션을 추출하는 방법이고, 배경 차이법은 다수의 프레임들로부터 배경 영상을 추출하여 현재 프레임과 배경 영상을 비교하고 이로부터 모션을 추출하는 방법이다.
이러한 배경 차이법은 시간적 평활법과 시간적 중간치법이 있는데, 시간적 평활법은 이전 프레임들의 화소값을 평균내어 배경영상을 생성하는 것이고, 시간적 중간치법은 이전 프레임들에서 나타는 값들 중 빈도가 높은 값을 배경영상으로 생성하는 것이다.
따라서, 시간적 중간치법을 이용하여 배경영상을 추출하는 본 발명의 배경영상추출부(210)는 복수개의 프레임으로부터 화소의 빈도가 높은 값을 배경영상으로서 추출한다.
이러한 배경영상추출부(210)는 영상 데이터를 전처리하여 바둑판의 좌표 및 화소를 구한다.
배경영상추출부(210)는 영상 데이터를 참조하여 입력된 입력신호로부터 바둑판의 네 귀퉁이에 대한 좌표를 생성하고, 생성된 좌표를 이용하여 바둑판에 형성된 361개의 교차점의 좌표를 각각 산출하는 전처리를 수행한다.
전처리의 수행으로부터 산출된 361의 교차점에 대한 좌표는 추후 영상처리 정보를 데이터저장부(300)에 저장할 때 사용된다.
그리고, 배경영상추출부(210)는 산출된 361개의 좌표를 이용하여, 영상 데이터로부터 연속하는 프레임의 각 좌표에 대한 화소의 빈도를 감지하여 배경영상을 추출한다.
이때, 배경영상추출부(210)는 다음의 식을 이용하여 n번째 프레임의 한 좌표에 해당하는 임의의 화소 x에 대한 배경영상의 화소 값을 산출하고, 자세하게는, 복수개의 프레임에서 임의의 화소 x가 반복적으로 나타나는 경우 배경영상의 화소 값이 변화되는 밝기 변화 추이를 감지하되, 밝기가 꾸준히 변화하는 경우 빈도가 높은 화소로 판단하여 이를 배경영상으로서 사용한다.
[식 1]
Figure 112015009466050-pat00002
위의 식 1에서, B n(x)는 n번째 프레임의 배경영상에서 임의의 화소 x에 대한 화소 값이고, I n(x)는 n번째 프레임에서의 임의의 화소 x에 대한 밝기이며, 배경영상추출부(210)는 B n(x)와 I n(x)를 비교하여 B n(x)에 1을 증가시키거나 1을 감소시켜서 여 n+1번째 프레임의 배경영상에서 임의의 화소 x에 대한 화소 값을 구한다.
배경영상추출부(210)가 영상 데이터의 두 번째 프레임의 임의의 화소 x1에 백돌이 놓인 경우의 임의의 화소 x1에 대한 화소 값의 산출하는 과정과, 영상 데이터의 세 번째 프레임의 임의의 화소 x2에 흑돌이 놓인 임의의 화소 x2에 대한 화소 값의 산출하는 과정을 각각 첫 번째 내지 네 번째 프레임을 예로 들어 설명하고, 산출된 화소 값으로부터 화소 값 변화를 판단하는 과정을 설명한다.
예로써, 시간적 중간치법을 사용하는 배경영상추출부(210)는 0에서 255까지의 밝기 값을 갖는 흑백 이미지를 이용하여 배경영상을 생성하는데, 이때, 흑백 이미지에서도 검은 색은 0의 값을 갖고 흰 색은 255의 값을 갖는다.
따라서, 본 발명의 한 예에서 배경영상추출부(210)는 0~25의 범위에 해당하는 밝기를 갖는 경우 흑돌로 간주하고, 80~100의 범위에 해당하는 밝기를 갖는 경우 바둑판의 교차점으로 간주하며, 190~255의 범위에 해당하는 밝기를 갖는 경우 백돌로 간주합니다.
배경영상추출부(210)에서 프레임의 특정 화소에 대한 밝기에 따라 흑돌, 백돌 또는 교차점으로 간주하는 한 예에서, 배경영상추출부(210)는 밝기를 간주하는 범위를 각각 임계값(threshold)로 설정할 수 있고, 임계값은 설정 변경될 수 있다.이처럼, 임계값을 참조하여 프레임의 배경영상을 추출하는 배경영상추출부(210)에서, 화소 x1에 백돌이 놓이는 경우의 첫 번째 내지 네 번째 프레임의 임의의 x1에 대한 배경영상 화소 값 산출을 설명하면, 첫 번째 프레임의 임의의 화소 x1에는 흑돌 또는 백돌이 올려져 있지 않은 상태로 바둑판의 교차점만이 나타나고, 이때, 첫 번째 프레임의 임의의 화소 x1에 대한 배경영상은 존재하지 않으므로 B 1(x 1)는 0이다.
이때, 바둑판의 교차점의 밝기를 갖는 첫 번째 프레임의 임의의 화소 x1에 대한 밝기인 I 1(x 1)는 바둑판의 교차점의 밝기인 80~100 사이의 값을 가지므로, I 1(x 1)와 B 1(x 1)를 비교하는 위의 식 1로부터, 두 번째 프레임의 배경영상의 화소 값 B 2(x 1)은 B 1(x 1)(이때, B 1(x 1)는 0)로부터 1 증가된 값인 1의 값을 갖게 된다.
그리고, 두 번째 프레임에서 화소 x1에 백돌이 올려지므로, 두 번째 프레임의 임의의 화소 x1에 대한 밝기인 I 2(x 1)는 백돌의 밝기인 190~255 사이의 밝기를 갖고, 세 번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값 B 3(x 1)을 구하기 위해 B 2(x 1)와 I 2(x 1)을 비교하면, 백돌의 밝기인 I 2(x 1)가 B 2(x 1)(이때, B 2(x 1)은 1)보다 큰 값을 가지므로, B 3(x 1)은 B 2(x 1)로부터 1 증가된 값인 2의 값을 갖게 된다.
계속해서 설명하면, 세 번째 프레임에서 임의의 화소 x1는 여전히 백돌이 올려진 상태이므로 세 번째 프레임에서 임의의 화소 x1의 밝기인 I 3(x 1)은 백돌의 밝기를 갖고, 네 번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값 B 4(x 1)를 구하기 위해 B 3(x 1)과 I 3(x 1)를 비교하면, 백돌의 밝기인 I 3(x 1)가 B 3(x 1)(이때, B 3(x 1)는 2)보다 큰 값을 가지므로, 네 번째 프레임의 배경영상의 화소 값 B 4(x 1)은 B 3(x 1)로부터 1 증가된 값인 3의 값을 갖게 된다.
또한, 네 번째 프레임에서도 임의의 화소 x1에 여전히 백돌이 올려진 상태이므로, 네 번째 프레임의 임의의 화소 x1의 밝기인 I 4(x 1)은 백돌의 밝기(190~255)를 갖고, 배경영상추출부(210)는 위의 식 1을 이용하여 다섯 번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값 B 5(x 1)을 B 4(x 1)(이때, B 4(x 1)는 3)에서 1 증가된 값인 4로 산출한다.
이때, 바둑 게임의 특성 상, 두 번째 프레임에서 임의의 화소 x 1에 백돌이 올려진 이후에는 백돌이 죽은 돌이 되어 바둑판으로부터 내려지기 전까지는 세 번째 및 네 번째 프레임의 임의의 화소 x1에서도 백돌은 계속 바둑판 위에 올려진 상태로 위치하므로, 현재 프레임의 백돌의 밝기와 배경영상의 화소 값이 동일해지는 n번째 프레임까지 연속하는 프레임에 있어서, 배경영상의 화소 값 B n(x 1)은 B 5(x 1)로부터 계속해서 1씩 증가하게 된다.
그리고 이때, 현재 프레임의 백돌의 밝기와 배경영상의 화소 값이 동일해지는 n번째 프레임부터는, n번째 프레임의 임의의 화소 x1에 대한 밝기인 I n(x 1)와 n번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값인 B n(x 1)를 비교하여 둘이 같거나 B n(x 1)가 더 큰 값을 갖는 경우, n+1번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값인 B n + 1(x 1)는 B n(x 1)에서 1 감소된 값을 갖는다.
그런 다음, n+2번째 프레임의 임의의 화소 x1에 대한 배경영상의 화소 값인 B n+2(x 1)를 구하기 위해 B n +1(x 1)과 I n+1(x 1)을 비교하면, n+1번째 프레임의 임의의 화소 x1에 대한 밝기 I n+1(x 1)가 B n(x 1)로부터 1 감소된 값, 즉 B n +1(x 1)보다 큰 값을 가지므로, B n +2(x 1)는 B n +1(x 1)에서 1 증가된 값을 갖게 된다. 여기서, 백돌의 밝기인 I n+ 1(x 1)는 백돌의 화소 값으로부터 1 감소된 B n +1(x 1)보다 크기 때문에 B n +2(x 1)가 B n +1(x 1)보다 1 증가된다.
따라서, 임의의 화소 x1에 백돌이 올려진 경우, 임의의 화소 x1에 대한 배경영상의 화소 값은, 현재 프레임의 배경영상의 화소 값이 현재 프레임의 백돌의 화소 값과 같은 값을 갖게 될 때까지 1씩 증가하다가 그 후로는 1만큼 작아졌다가 커졌다 하는 양상으로 배경영상의 화소 값이 변하게 된다.
위에서 설명한 것처럼, 배경영상의 화소 값이 현재 프레임의 백돌의 화소 값과 같아진 이후로는 위의 식 1에 의해 1만큼 작아지고, 그 다음 프레임에서는 다시 1 증가될 수 있으나 영상 데이터의 밝기변화 등의 이유로 인해 현재 프레임의 백돌 화소 값이 배경 프레임의 화소 값보다 계속해서 작아져서 새로 산출된 배경영상의 화소 값이 2회 이상의 연속적인 형태로 1씩 감소될 수도 있다.
그러나, 프레임 단위로 촬영되는 영상 데이터에서, 배경영상의 화소 값이 현재 프레임의 화소 값과 동일한 값을 갖기 이전의 화소 값 변동과 같은 꾸준한 증가 양상은 배경영상의 화소 값이 현재 프레임의 화소 값과 동일해진 이후로는 나타나지 않는 양상이므로, 배경영상추출부(210)는 배경영상의 화소 값 변동이 꾸준히 증가하는 것을 화소의 빈도가 높다고 판단하여, 백돌이 놓인 것을 배경영상으로 추출한다.
그리고 이때, 배경영상추출부(210)는 백돌이 죽은돌이 되어 현재 프레임에서 사라지게 되어 바둑판의 교차점이 남는 경우, 바둑판의 교차점의 밝기와 배경영상인 백돌의 화소 값을 비교하여 배경영상의 화소 값이 바둑판의 교차점에 대한 밝기와 동일한 값을 가질 때까지 배경영상의 화소 값을 1씩 계속적으로 감소(현재 프레임의 바둑판의 교차점에 대한 밝기(80~100)이 배경영상인 백돌의 밝기(190~255)보다 작으므로)시키며, 배경영상추출부(210)는 배경영상의 화소 값 변동이 꾸준히 감소되는 것을 화소의 빈도가 높다고 판단하여, 바둑판의 교차점을 배경영상으로서 추출한다.
이러한 배경영상추출부(210)가 영상 데이터로부터 프레임 수가 증가함에 따라 배경영상의 화소 값을 산출하고, 산출된 화소 값의 변화로부터 배경영상을 추출하는 것을 도 2를 참고로 하여 설명하면, 도 2의 도표에 굵은 선으로 도시된 그래프 1(이하, 백돌 그래프라 함)는 프레임수가 증가함에 따라 배경영상의 화소 값이 계속해서 증가하는데, 이때, n1번째 프레임의 영상에서 현재 프레임(n1번째 프레임)의 밝기와 배경영상의 화소 값(B n1(x 1))이 같아짐에 따라 백돌 그래프의 배경영상의 화소 값은 비교적 일정한 값으로 오르내리락 하는 그래프 형태를 갖게 된다.
즉, 백돌 그래프는 n1번째 프레임 이후로 배경영상의 화소 값이 1만큼 증가하거나 1만큼 감소하는 형태로 변화하며, n1번째 프레임까지 꾸준히 증가하는 양상의 변화는 나타나지 않는다.
따라서, 이러한 백돌 그래프의 변화 추이로부터 배경영상추출부(210)는 임의의 화소 x1에 대한 화소 값(B n(x 1))이 n1번째 프레임에서 제1피크(peak) 값에 도달했다고 판단하여 백돌의 화소 값인 B n1(x 1)를 배경영상의 화소 값으로서 추출한다.
이때, 백돌 그래프에서 백돌이 바둑판 위에 올려진 시점은 첫 번째 프레임부터 n1번째 프레임에 이르는 연속하는 프레임들 중 어느 한 프레임일 수 있다.
그리고, n1번째 프레임 이후로, 배경영상의 화소 값 변동이 꾸준하지 않은 백돌 그래프는 n2번째 프레임부터 n3번째 프레임에 이를 때까지 프레임수가 증가함에 따라 배경영상의 화소 값이 계속해서 감소하는데, 이는 n2번째 프레임에서 백돌이 바둑판으로부터 내려져서 현재 프레임에서는 바둑판의 교차점에 대한 화소 값을 갖게 됨에 따른 변화로서, 배경영상의 화소 값이 바둑판의 교차점에 대한 밝기와 동일한 값을 갖게 될 때까지 배경영상의 화소 값이 꾸준히 감소하며, 배경영상의 화소 값이 바둑판의 교차점에 대한 밝기와 같아진 n3번째 프레임 이후에는 배경영상의 화소 값은 1만큼 증가하거나 1만큼 감소하는 형태로 변화한다.
여기서, n3번째 프레임 이후에는, 첫 번째 프레임부터 n1번째 프레임까지 꾸준히 증가하는 양상의 변화나 n2번째 프레임부터 n3번째 프레임까지 꾸준히 감소하는 양상의 변화와 같은 변화 추이는 나타나지 않는다.
따라서, 이러한 백돌 그래프의 변화 추이로부터 배경영상추출부(210)는 임의의 화소 x1에 대한 화소 값(B n(x 1))이 n3번째 프레임에서 제2피크 값에 도달했다고 판단하여 바둑판의 교차점의 화소 값인 (B n2(x 1))를 배경영상의 화소 값으로서 추출한다.
도 2를 참고로 하는 위의 설명에서, 프레임 수를 나타내는 변수인 n1, n2, n3는 임의의 자연수로서 이를 한정하지 않으며, 서로 연속하지 않을 수도 있다.
계속해서, 배경영상추출부(210)에서 화소 x2에 흑돌이 놓이는 경우의 첫 번째 내지 네 번째 프레임의 임의의 화소 x2에 대한 배경영상 화소 값 산출과, 산출된 화소 값으로부터 화소 값 변화를 판단하는 과정을 설명한다.
먼저, 첫 번째 프레임의 임의의 화소 x1에는 흑돌 또는 백돌이 올려져 있지 않은 상태로 바둑판의 교차점만이 나타나고, 이때, 첫 번째 프레임의 임의의 화소 x2에 대한 배경영상은 존재하지 않으므로 B 1(x 2)는 0이다.
이때, 바둑판의 교차점의 밝기를 갖는 첫 번째 프레임의 임의의 화소 x2의 밝기인 I 1(x 2)는 80~100이므로, I 1(x 2)와 B 1(x 2)를 비교하는 위의 식 1에 따라, 두 번째 프레임의 배경영상의 화소 값 B 2(x 2)은 B 1(x 2)(이때, B 1(x 2)는 0)로부터 1만큼 증가된 값인 1의 값을 갖게 된다.
그리고, 두 번째 프레임에서 화소 x2는 여전히 바둑판의 교차점만이 나타나므로, 임의의 화소 x2에 대한 두 번째 프레임의 밝기 I 2(x 2)과 두 번째 프레임의 배경영상의 화소 값인 B 2(x 2)를 비교했을 때, 80~100의 값을 갖는 I 2(x 2)가 B 2(x 2)보다 크므로, 위의 식 1로부터 세 번째 프레임의 배경영상의 화소 값 B 3(x 2)은 B 2(x 2)(이때, B 2(x 2)는 1)로부터 1만큼 증가된 값인 2의 값을 갖게 된다.
다음으로, 세 번째 프레임에서 화소 x2에 흑돌이 올려지므로, 세 번째 프레임의 임의의 화소 x2에 대한 밝기 I 3(x 2)는 흑돌의 밝기인 0~25의 값을 갖고, I 3(x 2)와 B 3(x 2)을 비교했을 때, 흑돌의 밝기는 세 번째 프레임의 배경영상의 화소 값인 B 3(x 2)보다 작으므로, 위의 식 1로부터 네 번째 프레임의 배경영상의 화소 값 B 4(x 2)는 B 3(x 2)(이때, B 3(x 2)는 2)로부터 1만큼 감소된 값인 1의 값을 갖게 된다.
그런 다음, 네 번째 프레임에서 화소 x2에는 여전히 흑돌이 올려져 있으므로, 네 번째 프레임의 임의의 화소 x2에 대한 밝기 I 4(x 2)는 흑돌의 화소 값이고, I 4(x 2)와 네 번째 프레임의 배경영상의 화소 값 B 4(x 2)를 비교했을 때, I 4(x 2)는 B 4(x 2)보다 작으므로, 배경영상추출부(210)는 위의 식 1에 따라 다섯 번째 프레임의 배경영상의 화소 값 B 5(x 2)을 B 4(x 2)로부터 1만큼 감소된 값인 1의 값으로 산출한다.
이때, 임의의 화소 x2에 올려진 흑돌이 죽은 돌이 되어 바둑판으로부터 내려지기 전까지는, 흑돌은 계속 바둑판 위에 올려진 상태로 위치하므로, 현재 프레임의 흑돌의 밝기와 배경영상의 화소 값이 동일해지는 n번째 프레임까지 연속하는 프레임에 있어서 k번째 프레임까지 연속하는 프레임에 있어서, 배경영상의 화소 값 B k(x 2)는 B 5(x 2)로부터 계속해서 1씩 감소하게 된다.
그리고 이때, 현재 프레임의 흑돌의 밝기와 배경영상의 화소 값이 동일해지는 k번째 프레임부터는, k번째 프레임의 임의의 화소 x2에 대한 밝기인 I k(x 2)과 k번째 프레임의 임의의 화소 x2에 대한 배경영상의 화소 값인 B k(x 2)가 동일하거나 또는 영상 데이터의 밝기변화 등의 이유로 인해 I k(x 2)이 B k(x 2)보다 커질 수 있고, 이때, B k +1(x 2)은 B k(x 2)보다 1 증가된 값을 갖는다.
그런 다음, k+2번째 프레임의 임의의 화소 x2에 대한 배경영상의 화소 값인 B k+2(x 2)를 구하기 위해 B k + 1(x 2)와 I k + 1(x 2)를 비교하면, k+1번째 프레임의 임의의 화소 x2에 대한 밝기 I k +1(x 2)가 B k(x 2)로부터 1 증가된 값, 즉 B k +1(x 2)보다 작은 값을 가지므로, B k +2(x 2)는 B k +1(x 2)에서 1 감소된 값을 갖게 된다. 여기서, 흑돌의 밝기인 I k + 1(x 2)는 흑돌의 화소 값으로부터 1 증가된 B k +1(x 2)보다 작기 때문에 B k +2(x 2)가 B k +2(x 2)보다 1 감소된다.
따라서, 임의의 화소 x2에 흑돌이 올려진 경우, 임의의 화소 x2에 대한 배경영상의 화소 값은, 현재 프레임의 배경영상의 화소 값이 현재 프레임의 흑돌의 밝기와 같은 값을 갖게 될 때까지 1씩 감소하다가 그 후로는 1만큼 커졌다가 작아졌다 하는 양상으로 배경영상의 화소 값이 변하게 된다.
이처럼, 배경영상의 화소 값이 현재 프레임의 밝기와 동일한 값을 갖기 이전의 화소 값 변동과 같은 꾸준한 감소 양상은 배경영상의 화소 값이 현재 프레임의 밝기와 동일해진 이후로는 나타나지 않는 양상이므로, 배경영상추출부(210)는 배경영상의 화소 값 변동이 꾸준히 감소하는 것을 화소의 빈도가 높다고 판단하여, 흑돌이 놓인 것을 배경영상으로 추출한다.
그리고 이때, 배경영상추출부(210)는 흑돌이 죽은돌이 되어 현재 프레임에서 사라지게 되어 바둑판의 교차점이 남는 경우, 바둑판의 교차점의 밝기와 배경영상의 흑돌의 화소 값을 비교하여 배경영상의 화소 값이 바둑판의 교차점의 밝기와 동일한 값을 가질 때까지 배경영상의 화소 값을 1씩 계속적으로 증가(현재 프레임의 바둑판의 교차점에 대한 화소 값(80~100)이 배경영상인 흑돌의 화소 값보다 크므로)시키며, 배경영상추출부(210)는 배경영상의 화소 값 변동이 꾸준히 증가하는 것을 화소의 빈도가 높다고 판단하여, 바둑판의 교차점을 배경영상으로서 추출한다.
흑돌이 놓였다가 내려지는 경우의 배경영상의 화소 값의 변화를 도 2의 도표에서 빗금 선으로 도시된 그래프2(이하, 흑돌 그래프라 함)를 참고로 하여 설명하면, 도 2에 도시된 흑돌 그래프에서 프레임수가 증가함에 따라 배경영상의 화소가 바둑판의 교차점 밝기가 될 때까지 배경영상의 화소 값이 계속해서 증가하다가, k1번째 프레임에서 흑돌이 올려진 이후로는, 배경영상의 화소 값이 흑돌의 밝기와 동일한 값을 가질 때까지, k1번째 프레임부터 k2번째 프레임까지 배경영상의 화소 값이 계속적으로 감소한다.
그리고, 배경영상의 화소 값이 흑돌의 밝기와 동일해진 k2번째 프레임 이후에는, k2번째 프레임부터 k3번째 프레임까지는 배경영상의 화소 값은 비교적 일정한 값으로 오르내리락 하는 그래프 형태를 갖게 된다.
즉, 흑돌 그래프는 k2번째 프레임 이후로 배경영상의 화소 값이 1만큼 증가하거나 1만큼 감소하는 형태로 변화하며, 첫 번째 프레임부터 k1번째 프레임까지의 꾸준한 배경영상 화소 값 증가 양상이나 k1번째 프레임부터 k2번째 프레임까지 꾸준한 배경영상 화소 값 감소 양상의 변화는 나타나지 않는다.
따라서, 이러한 흑돌 그래프의 변화 추이로부터 배경영상추출부(210)는 임의의 화소 x2에 대한 화소 값(B k(x 2))이 k2번째 프레임에서 제3 피크 값에 도달했다고 판단하여 흑돌의 배경영상의 화소 값인 B k1(x 2)를 배경영상의 화소 값으로서 추출한다.
그리고, k2번째 프레임 이후로, 배경영상의 화소 값 변동이 꾸준하지 않은 흑돌 그래프는 k3번째 프레임부터 k4번째 프레임에 이를 때까지 프레임수가 증가함에 따라 배경영상의 화소 값이 계속해서 증가하는데, 이는 k3번째 프레임에서 흑돌이 바둑판으로부터 내려져서 현재 프레임에서는 바둑판의 교차점에 대한 밝기를 갖게 됨에 따른 변화로서, 배경영상의 화소 값이 바둑판의 교차점에 대한 밝기와 동일한 값을 갖게 될 때까지 배경영상의 화소 값이 꾸준히 증가하며, 배경영상의 화소 값이 바둑판의 교차점에 대한 화소 값과 같아진 k4 프레임 이후에는 배경영상의 화소 값은 1만큼 증가하거나 1만큼 감소하는 형태로 변화한다.
여기서, k4번째 프레임 이후에는, 첫 번째 프레임부터 k1번째 프레임까지 꾸준히 증가하는 양상의 변화나, k1번째 프레임부터 k2번째 프레임까지 꾸준히 감소하는 양상의 변화, 혹은 k3번째 프레임부터 k4번째 프레임까지 꾸준히 증가하는 양상의 변화와 같은 변화 추이는 나타나지 않는다.
따라서, 이러한 흑돌 그래프의 변화 추이로부터 배경영상추출부(210)는 임의의 화소 x2에 대한 화소 값(B k(x 2))이 k4번째 프레임에서 제4피크 값에 도달했다고 판단하여 바둑판의 교차점의 화소 값인 (B k2(x 2))를 배경영상의 화소 값으로 추출한다.
도 2를 참고로 하는 위의 설명에서, 프레임 수를 나타내는 변수인 k1, k2, k3, k4 임의의 자연수로서 이를 한정하지 않으며, 서로 연속하지 않을 수도 있다.
식 1 및 도 2를 참고로 하여 설명한 것처럼, 배경영상추출부(210)는 복수개의 연속하는 프레임에서 빈도가 높은 화소를 배경영상으로서 추출하고, 연속하는 복수개의 프레임에서 움직이는 물체의 화소 값은 정지한 상태의 바둑돌의 화소 값 변화보다 큰 폭으로 화소 값이 변하게 되므로, 이처럼 화소 값 변동이 심한 화소 값은 배경영상으로 추출하지 않게 된다.
따라서, 배경영상추출부(210)는 제1 내지 제4 피크 값을 기준으로 바둑판의 교차점, 새로 놓인 바둑돌, 바둑돌이 죽은돌이 되서 바둑판에서 내려짐에 따라 나타난 바둑판의 교차점임을 판단하여 배경영상으로서 추출한다.
이처럼, 배경영상추출부(210)가 시간적 중간치법을 이용하여 배경영상을 추출함에 따라, 서로 다른 두 프레임의 차영상으로부터 모션을 검출하는 차신호 기법의 경우에서 발생할 수 있는 움직이는 물체에 의해 노이즈가 발생과 같은 단점을 극복하고 효율적으로 배경영상을 추출할 수 있다.
다음으로, 도 1을 참고로 해서 영상 처리부(200)의 탬플릿매칭부(220)에 대해 설명하면, 탬플릿매칭부(220)는 비교 대상 탬플릿(template) 이미지를 이용하고 있고, 배경영상추출부(210)에서 추출된 배경영상을 전달받아 탬플릿 이미지와 비교(matching)하여 영상처리의 정확도를 높인다.
이때, 탬플릿매칭부(220)가 이용하는 탬플릿 이미지는 바둑 복기 시스템에 포함된 저장부에 저장된 이미지로서, 탬플릿매칭부(220)는 저장부를 참조하여 탬플릿 매칭을 수행한다.
한 예에서, 탬플릿 이미지가 저장되는 저장부는 데이터 저장부(300)일 수 있다.
그리고 이때, 저장부에 저장되어 탬플릿매칭부(220)가 참조하는 탬플릿 이미지는 도 3에 도시한 것처럼 흑돌 탬플릿 이미지(3100), 백돌 탬플릿 이미지(3200) 및 바둑판의 교차점 탬플릿 이미지(3300)가 있다.
탬플릿매칭부(220)가 배경영상추출부(210)로부터 전달받은 배경영상은 배경영상으로서 추출된 프레임, 즉 연속하는 프레임이거나 연속하지 않는 상태로서 떨어진 프레임인 배경영상 이미지일 수 있고, 바둑판의 네 꼭지점이 보이도록 촬영된 배경영상 이미지이며, 배경영상추출부(210)의 전처리를 바둑판 상의 361개의 교차점에 부여된 좌표 이외에도 바둑판 상부 전체를 포함하는 이미지이다.
이때, 탬플릿매칭부(220)는 배경영상추출부(210)로부터 전달받은 배경영상 이미지로부터, 두 개의 연속하는 배경영상 이미지를 비교하고 새로운 배경영상 이미지에서 새로운 바둑돌이 놓이는 경우로부터 바둑돌이 놓인 것을 판단하고, 이전 배경영상 이미지에 놓여있던 바둑돌이 새로운 배경영상 이미지에서는 사라진 경우로부터 바둑돌이 내려진 것을 판단하며, 판단된 각각의 상황에서 이미지의 변동이 발생한 해당 부분만을 탬플릿 이미지와 비교하는 탬플릿 이미지 매칭을 수행한다.
예로서, 이미지의 변동이 발생한 부분을 탬플릿 이미지와 비교하기 위해서, 도 4에 도시한 것처럼 흑돌 부분, 백돌 부분, 그리고 교차점 부분을 부분적으로 사용할 수 있고, 바람직한 한 예에서, 각각의 이미지는 교차점을 중심으로 생성된 정사각형 형태의 이미지일 수 있으며, 인접하는 서로 다른 바둑돌에 의해 영향을 받지 않을 정도의 크기로 추출된 이미지인 것이 좋다.
도 3 및 도 4를 참고로 하면, 탬플릿매칭부(220)가 배경영상 이미지를 판별하여 새로운 바둑돌이 놓인 것을 판단할 때, 새로 놓인 바둑돌이 흑돌인 경우 배경영상 이미지에서 흑돌이 놓인 부분의 이미지만을 일정 부분(4100) 추출하여 흑돌 탬플릿 이미지(3100)와 비교함으로써, 흑돌이 놓인 것을 확정한다.
또는, 새로 놓인 바둑돌이 백돌인 경우, 탬플릿매칭부(220)는 배경영상 이미지에서 백돌이 놓인 부분의 이미지만을 일정 부분(4200) 추출하여 백돌 탬플릿 이미지(3200)와 비교함으로써, 백돌이 놓인 것을 확정한다.
한 예에서, 탬플릿매칭부(220)는 흑돌 탬플릿 이미지(3100)와 일정 부분(4100)을 비교하는 매칭 또는 백돌 탬플릿 이미지(3200)와 일정 부분(4200)을 비교하는 매칭의 수행에 있어서, 80 퍼센트 이상 매칭되는 경우 흑돌 또는 백돌이 놓였음을 각각 확정한다.
그리고, 탬플릿매칭부(220)가 배경영상 이미지를 판별하여 놓였던 바둑돌이 내려진 것으로 판단할 때, 배경영상 이미지에서 바둑판의 교차점 부분에 대한 이미지만을 일정 부분(4300) 추출하여 바둑판의 교차점 탬플릿 이미지(3300)와 비교함으로써, 돌이 죽었음을 확정한다.
이때, 바둑판의 교차점 부분에 대한 이미지의 일정 부분(4300)과 바둑판의 교차점 탬플릿 이미지(3300)를 비교하는 과정에서, 탬플릿매칭부(220)는 소벨 에지(sobel edge) 검출법을 적용하여 매칭의 정확도를 향상시키고, 바둑판의 교차점 탬플릿 이미지(3300)와 일정 부분(4300)을 비교하는 매칭의 수행에 있어서, 60~70 퍼센트 이상인 경우 바둑판 교차점임을 확정한다.
한 예에서, 탬플릿 매칭부(220)가 두 이미지를 비교하여 흑돌, 백돌 또는 바둑판의 교차점으로 확정하기 위한 최소 매칭 퍼센트는 설정에 따라 변경될 수 있다.
이러한 탬플릿매칭부(220)는 위에서 설명한 것처럼, 배경영상추출부(210)에서 처리된 배경영상을 전달받아 탬플릿 매칭을 수행할 수 있으나, 배경영상추출부(210)에서 처리중인 배경영상에 탬플릿 매칭을 수행하여, 배경영상추출부(210)와 탬플릿매칭부(220)를 병행하여 영상 처리를 수행함으로써, 영상처리에 소요되는 시간을 단축시킬 수 있다.
이때, 탬플릿매칭부(220)는 배경영상추출부(210)에서 처리중인 배경영상의 화소 값이 설정된 임계 값에 도달하면 탬플릿 매칭을 시작하여 배경영상추출부(210)의 배경영상 추출 처리와 탬플릿매칭부(220)의 탬플릿 매칭을 병행 처리하는 것이 좋다.
예로써, 탬플릿 매칭부(220)는 배경영상추출부(210)에서 처리중인 배경영상의 화소 값이 증가하다가 80의 값에 도달하는 경우 80~100의 범위를 갖는 밝기, 즉 바둑판 교차점의 임계 값에 진입했다고 판단하여 배경영상의 화소 값과 바둑판의 교차점 탬플릿 이미지(3300)를 비교하는 탬플릿 매칭의 수행을 시작하고, 다른 한 예로써, 탬플릿 매칭부(220)는 배경영상추출부(210)에서 처리중인 배경영상의 화소 값이 증가하다가 190의 값에 도달하는 경우 190~255의 범위를 갖는 밝기, 즉 백돌의 임계 값에 진입했다고 판단하여 배경영상의 화소 값과 백돌 탬플릿 이미지(3200)를 비교하는 탬플릿 매칭의 수행을 시작한다.
또한, 다른 한 예에서, 탬플릿 매칭부(220)는 배경영상추출부(210)에서 처리중인 배경영상의 화소 값이 감소하다가 25의 값에 도달하는 경우 0~25의 범위를 갖는 밝기, 즉 흑돌의 임계 값에 진입했다고 판단하여 배경영상의 화소 값과 흑돌 탬플릿 이미지(3100)를 비교하는 탬플릿 매칭의 수행을 시작한다.
배경영상추출부(210) 및 탬플릿매칭부(220)를 포함하는 영상 처리부(200)는 시간적 중간치법을 이용하여 배경영상을 추출하고, 탬플릿 이미지와 매칭을 수행하여 바둑돌의 놓이고 내려지는 것을 판단하며, 판단된 바둑돌의 좌표 정보를 추출하여 복기 데이터로서 데이터 저장부(300)로 전달한다.
이때, 바둑돌의 좌표는 배경영상추출부(210)에서 전처리로 수행된 좌표를 이용한다.
한 예에서, 영상 처리부(200)는 배경영상추출부(210) 및 탬플릿매칭부(220)에서 처리된 바둑돌의 지점을 배경영상추출부(210)에서 생성한 좌표 정보와 비교하여, 해당 좌표 정보를 텍스트 형태(x, y)로 순서대로 출력한다.
데이터 저장부(300)는 영상 처리부(200)로부터 전달받은 텍스트 형태의 복기 데이터와, 탬플릿매칭부(220)에서 사용할 탬플릿 이미지들을 저장한다.
입력부(500)는 입력신호를 발생하는 장치로서, 마우스나 키보드와 같은 입력장치일 수 있고, 입력신호를 발생하여 제어부(400)로 전달한다.
한 예에서, 입력부(500)는 현재 복기 데이터 출력, 저장된 복기 데이터 출력, 복기 시작, 복기 종료 중 적어도 하나를 선택하는 입력신호를 발생할 수 있다.
제어부(400)는 입력부(500)로부터 전달받은 입력신호를 이용하여 데이터 저장부(300)에 저장된 복기 데이터를 가공하여 가공된 데이터를 출력부(600)에 출력한다.
제어부(400)는 데이터베이스부(300)에 저장된 텍스트 형태의 복기 데이터를 이용하여 출력부(600)에 출력되는 바둑판 화면에 복기 영상을 출력하거나, 복기 영상의 시작 또는 종료를 제어하고, 입력신호에 따라 데이터베이스부(300)에 저장된 몇 번째 복기 데이터를 출력할 지를 제어한다.
또한, 제어부(400)는 복기 데이터를 가공하여 흑돌의 죽은 돌 개수나 백돌의죽은 돌 개수 또는 바둑돌이 놓인 순서에 순번을 매겨서 출력하도록 제어할 수 있으며, 이러한 내용은 인터넷 바둑 프로그램에서 이미 제공하는 일반적인 내용이므로, 본 명세서에서는 이를 자세하게 기술하지 않는다.
출력부(600)는 복기 영상을 출력하는 출력장치로서, 모니터 등의 디스플레이부를 포함할 수 있다.
바둑 복기 시스템에서, 영상 처리부(200), 데이터 저장부(300) 및 제어부(400)는 컴퓨터로서 구성될 수 있고, 입력부(500) 및 출력부(600)는 컴퓨터에 연결된 입력장치 및 출력장치의 형태로 구성될 수 있으며, 이를 한정하지는 않는다.
도 1 내지 도 4를 참고로 하여, 본 발명의 한 실시예에 따른 바둑 복기 시스템을 이용한 바둑 복기 데이터 생성 동작 및 바둑 복기의 동작에 대해서 설명하면, 먼저, 영상 촬영부(100)가 바둑판을 촬영한 영상 데이터를 생성하여 영상 처리부(200)로 전달하기 시작하고, 영상 처리부(200)의 배경영상추출부(210)는 전달받은 영상 데이터로부터 바둑판의 네 귀퉁이를 이용하여 바둑판의 좌표를 생성하는 전처리를 수행한다.
이때, 영상 촬영부(100)에서 생성된 영상 데이터가 출력부(600)에 출력되고, 사용자가 출력부(600에 출력된 영상 데이터를 모니터링하며 입력부(500)를 통해 직접 바둑판의 네 귀퉁이를 지정함으로써 배경영상추출부(210)의 영상 전처리를 보조한다.
그런 다음, 배경영상추출부(200)는 전달받은 영상 데이터를 프레임 단위로 비교하는데, 식 1을 이용하여 배경영상의 화소 값을 산출하여 도 2와 같은 그래프를 얻으며, 배경영상의 화소 값 변화가 꾸준히 증가하거나 꾸준히 감소하는 것으로부터 배경영상의 화소 빈도가 높다고 판단하여 화소 값을 배경영상으로서 추출한다.
이때, 배경영상추출부(200)는 영상 처리 방법 중 배경 차이법, 그 중에서도 시간적 중간치법을 이용하여 배경영상을 추출하므로, 두 프레임 사이의 차영상을 구하는 차영상 기법을 사용할 때 움직이는 물체로 인해 노이즈가 발생할 수 있는 단점을 극복할 수 있다.
그리고, 영상 처리부(200)의 탬플릿매칭부(220)는 배경영상추출부(210)에서 추출된 배경영상으로부터 새로 놓인 바둑돌 또는 내려진 바둑돌을 감지하고, 감지된 부분을 탬플릿 이미지와 비교하여 바둑판에 나타난 변화 감지의 정확성을 향상시킨다.
배경영상추출부(210) 및 탬플릿매칭부(220)에서 배경영상 추출 및 탬플릿 매칭이 수행된 다음, 영상 처리부(200)는 배경영상추출부(210)에서 전처리를 수행함으로부터 얻은 바둑판의 좌표를 이용하여 바둑판에 올려진 바둑돌 및 내려진 바둑돌의 위치를 텍스트 형태의 좌표로서 출력하고, 출력된 텍스트 형태의 좌표는 복기 데이터로서 데이터 저장부(300)에 저장된다.
데이터 저장부(300)에 저장된 복기 데이터는 출력부(600)에 바로 출력될 수 있지만, 복수개의 복기 데이터를 저장하고 있다가, 입력부(500)로부터 입력된 입력신호에 따라 저장된 복기 데이터 중 어느 하나를 출력할 수도 있다.
또한, 출력부(600)를 통해 복기 데이터가 출력되는 동안, 사용자는 입력부(500)을 통해 복기 영상의 시작 및 종료를 제어하는 입력신호를 발생할 수 있고, 제어부(400)는 입력신호로부터 복기 영상의 시작 및 종료를 제어하여 출력부(600)에 출력한다.
그리고, 제어부(600)는 복기 데이터로부터 바둑의 죽은 돌 개수를 세어 출력부(600)에 출력하도록 제어하거나, 복기 데이터를 이용하여 바둑돌이 놓인 순번을 매겨 출력부(600)가 이를 포함하여 출력하도록 제어하는 동작을 수행한다.
이로부터, 사용자는 출력부(600)를 통해 복기 영상을 확인할 수 있고, 입력부(500)를 이용하여 입력신호를 발생함에 따라 출력부(600)에 출력되는 복기 영상을 제어할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 영상 촬영부 200 : 영상 처리부
210 : 배경영상추출부 220 : 탬플릿매칭부
300 : 데이터 저장부 400 : 제어부

Claims (5)

  1. 바둑판을 촬영하여 영상 데이터를 생성하는 영상 촬영부,
    상기 영상 촬영부와 연결되어 상기 영상 데이터를 전달받고, 시간적 중간치법을 이용하여 상기 영상 데이터로부터 복수 개의 이전 프레임과 현재 프레임을 비교하여 배경영상을 추출하고, 추출된 배경영상이 변경됨에 따라 영상의 변화를 감지하는 배경영상추출부와, 상기 배경영상추출부로부터 추출된 상기 배경영상을 이용하여 상기 바둑판 위에 바둑돌이 새로 놓이거나 내려진 부분을 탬플릿 이미지와 비교하는 탬플릿매칭부와, 상기 바둑판 위에 바둑돌이 놓이거나 내려진 모션으로부터 복기 데이터를 생성하는 영상 처리부, 그리고
    상기 영상 처리부에서 생성된 상기 복기 데이터를 저장하는 데이터 저장부를 포함하고,
    상기 배경영상추출부는 상기 영상 데이터를 참조하여 입력된 입력신호로부터 바둑판의 네 귀퉁이에 대한 좌표를 생성하고, 생성된 좌표를 이용하여 바둑판에 형성된 361개의 교차점의 좌표를 각각 산출하는 전처리를 수행하고, 산출된 361개의 좌표를 이용하여 영상 데이터로부터 연속하는 프레임의 각 좌표에 대한 화소의 빈도를 감지하여 배경영상을 추출하고, 복수개의 프레임에서 임의의 화소가 반복적으로 나타나는 경우 배경영상의 화소 값이 변화되는 밝기 변화 추이를 감지하되, 밝기가 꾸준히 변화하는 경우 빈도가 높은 화소로 판단하여 배경영상으로 사용하고,
    상기 배경영상의 화소 값은 아래의 식으로부터 산출되는 것을 특징으로 하는 바둑 복기 시스템.
    [식 1]
    Figure 112015098338089-pat00008

    (여기서, B n(x)는 n번째 프레임의 배경영상에서 임의의 화소 x에 대한 화소 값이고, I n(x)는 n번째 프레임에서의 임의의 화소 x에 대한 밝기이며, n은 자연수임.)
  2. 삭제
  3. 삭제
  4. 제1항에서,
    상기 영상 처리부는 상기 복기 데이터를 상기 바둑판의 상기 좌표에 매칭시켜, 상기 복기 데이터를 텍스트 형태로 생성하는 바둑 복기 시스템.
  5. 삭제
KR1020150013579A 2015-01-28 2015-01-28 바둑 복기 시스템 KR101599810B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150013579A KR101599810B1 (ko) 2015-01-28 2015-01-28 바둑 복기 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150013579A KR101599810B1 (ko) 2015-01-28 2015-01-28 바둑 복기 시스템

Publications (1)

Publication Number Publication Date
KR101599810B1 true KR101599810B1 (ko) 2016-03-04

Family

ID=55536079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150013579A KR101599810B1 (ko) 2015-01-28 2015-01-28 바둑 복기 시스템

Country Status (1)

Country Link
KR (1) KR101599810B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030081732A (ko) * 2002-04-12 2003-10-22 (주)유라비젼 바둑 기보 생성 방법 및 장치
KR20050018026A (ko) * 2003-08-12 2005-02-23 조승호 인터넷을 통한 경기중계 시스템 및 방법과 그 프로그램소스를 저장한 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030081732A (ko) * 2002-04-12 2003-10-22 (주)유라비젼 바둑 기보 생성 방법 및 장치
KR20050018026A (ko) * 2003-08-12 2005-02-23 조승호 인터넷을 통한 경기중계 시스템 및 방법과 그 프로그램소스를 저장한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
조태훈 외 1명, 다중 배경 분포를 이용한 움직임 검출. 한국정보처리학회. 정보처리학회논문지B, 2001.08., 제8-B권, 제4호, pp.381-388.* *

Similar Documents

Publication Publication Date Title
US9460337B2 (en) Information processor and information processing method
WO2014064870A1 (ja) 画像処理装置および画像処理方法
US10771761B2 (en) Information processing apparatus, information processing method and storing unit
CN108965839B (zh) 一种自动调整投影画面的方法及装置
JPWO2009113231A1 (ja) 画像処理装置および画像処理方法
JP2008113071A (ja) 自動追尾装置
JP2010086336A (ja) 画像制御装置、画像制御プログラムおよび画像制御方法
JP2007087345A (ja) 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体
US20080089588A1 (en) Rotation angle detection apparatus, and control method and control program of rotation angle detection apparatus
JP5300694B2 (ja) 検出装置
US10198868B2 (en) Information processing apparatus, method for controlling information processing apparatus, image processing system and non-transitory computer-readable storage medium
TW201428689A (zh) 光學導航方法以及相關裝置
JP2008259161A (ja) 目標追尾装置
JP7106296B2 (ja) 画像処理装置、画像処理方法及びプログラム
WO2021192906A1 (ja) 算出方法
JP6336935B2 (ja) 移動物体追跡装置
JP2017212638A (ja) 表示装置、表示装置の制御方法、及びプログラム
US9323981B2 (en) Face component extraction apparatus, face component extraction method and recording medium in which program for face component extraction method is stored
KR101599810B1 (ko) 바둑 복기 시스템
US11763596B2 (en) Image capturing support apparatus, image capturing support method, and computer-readable recording medium
WO2018155269A1 (ja) 画像処理装置および方法、並びにプログラム
US11954865B2 (en) Image processing apparatus, image processing method, and storage medium for foreground extraction
JP2009245200A (ja) 煙検出装置
CN113167568B (zh) 坐标计算装置、坐标计算方法和计算机可读记录介质
CN111277752A (zh) 提示方法、装置、存储介质及电子设备

Legal Events

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

Payment date: 20190305

Year of fee payment: 4