KR102104246B1 - 화면 분할을 이용한 이미지 병렬 검색 시스템 - Google Patents

화면 분할을 이용한 이미지 병렬 검색 시스템 Download PDF

Info

Publication number
KR102104246B1
KR102104246B1 KR1020200018816A KR20200018816A KR102104246B1 KR 102104246 B1 KR102104246 B1 KR 102104246B1 KR 1020200018816 A KR1020200018816 A KR 1020200018816A KR 20200018816 A KR20200018816 A KR 20200018816A KR 102104246 B1 KR102104246 B1 KR 102104246B1
Authority
KR
South Korea
Prior art keywords
image
screen
bitmap
target image
field image
Prior art date
Application number
KR1020200018816A
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 KR1020200018816A priority Critical patent/KR102104246B1/ko
Application granted granted Critical
Publication of KR102104246B1 publication Critical patent/KR102104246B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 화면 분할을 이용한 이미지 병렬 검색 시스템에 관한 것으로, 검색할 목표 이미지(target image)를 입력 받는 파일 서버(FpServer); 및 디스플레이 화면을 캡쳐하여 비트맵 필드 이미지를 생성하는 화면 캡쳐기(screen capture)와, 상기 비트맵 필드 이미지를 복수의 영역으로 분할하여 복수의 분할 필드 이미지를 생성하는 비트맵 분할기(bitmap splitter)와, 복수의 스레드(thread)를 이용하여 상기 파일 서버가 전송한 목표 이미지를 상기 복수의 분할 필드 이미지에서 병렬로 동시에 검색하는 검색기(searcher)와, 적어도 하나의 상기 분할 필드 이미지에서 상기 목표 이미지가 검색되면 검색된 목표 이미지의 위치정보를 생성하는 화면 위치 맵퍼(screen position mapper)를 포함하는 검색 단말(BotPC)을 포함할 수 있다.

Description

화면 분할을 이용한 이미지 병렬 검색 시스템{IMAGE SEARCH SYSTEM USING SCREEN SEGMENTAION}
본 발명은 화면 분할을 이용한 이미지 병렬 검색 시스템에 관한 것으로, 디스플레이된 화면을 복수의 영역으로 분할하고, 각각의 분할 영역에서 병렬로 동시에 목표 이미지를 검색하는 이미지 병렬 검색 시스템에 관한 것이다.
자동화 기술의 발달로 인해 자동화 기술을 접목한 다양한 서비스가 제공되고 있으며, 그 중 대표적인 예에는 검색 서비스가 있다. 검색 서비스는 검색하고자 하는 방법과 목적에 따라 크게 텍스트 검색과 이미지 검색 두 가지로 구분된다.
그 중 이미지 검색은 검색을 하고자 할 이미지 파일을 입력하고, 이미지 파일을 분석해서 검색 배경이 되는 이미지 상에서 입력된 이미지를 검색하여 동일한 이미지를 찾아내는 것이다.
그러나 이와 같은 이미지 검색의 경우 단어 검색보다 데이터의 처리 과정이 복잡하기 때문에 높은 성능의 처리장치를 필요로 한다.
즉, 이미지의 검색 과정 중 CPU 등 컴퓨터의 핵심 부품의 사용률이 높아지게 되고 이미지 검색 처리 과정의 속도가 저하되는 문제가 발생할 수 있다.
따라서, 처리 장치의 부하를 최소화하면서 이미지의 검색이 가능한 이미지 검색 서비스가 필요한 실정이다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 도출된 것으로서, 본 발명은 디스플레이된 화면을 복수의 영역으로 분할하고, 각각의 분할 영역에서 병렬로 동시에 목표 이미지를 검색할 수 있는 화면 분할을 이용한 이미지 병렬 검색 시스템을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이하에 서술되는 실시예를 통하여 더욱 명확해질 것이다.
본 발명의 일 측면에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템은 검색할 목표 이미지(target image)를 입력 받는 파일 서버(FpServer); 및 디스플레이 화면을 캡쳐하여 비트맵 필드 이미지를 생성하는 화면 캡쳐기(screen capture)와, 상기 비트맵 필드 이미지를 복수의 영역으로 분할하여 복수의 분할 필드 이미지를 생성하는 비트맵 분할기(bitmap splitter)와, 복수의 스레드(thread)를 이용하여 상기 파일 서버가 전송한 목표 이미지를 상기 복수의 분할 필드 이미지에서 병렬로 동시에 검색하는 검색기(searcher)와, 적어도 하나의 상기 분할 필드 이미지에서 상기 목표 이미지가 검색되면 검색된 목표 이미지의 위치정보를 생성하는 화면 위치 맵퍼(screen position mapper)를 포함하는 검색 단말(BotPC)을 포함할 수 있다.
상기 비트맵 분할기는, 가용한 CPU(Central Processing Unit)의 코어 개수를 기초로 분할 영역의 개수를 결정할 수 있다.
상기 비트맵 분할기는, 상기 비트맵 필드 이미지를 복수의 영역으로 균등 분할한 균등 필드 이미지를 생성한 후, 상기 균등 필드 이미지의 분할면을 상기 목표 이미지의 너비 및 높이에 대응하는 크기로 확장하여 분할 필드 이미지를 생성할 수 있다.
상기 화면 위치 맵퍼는, 상기 검색된 목표 이미지에 대한 분할 필드 이미지 상의 제1 위치정보를 생성하고, 상기 제1 위치정보를 상기 비트맵 필드 이미지 상의 제2 위치정보로 변환하여 목표 이미지의 위치정보로 출력할 수 있다.
상기 어느 하나의 분할 필드 이미지에서 상기 목표 이미지가 검색되고, 검색된 목표 이미지의 위치정보가 생성되면, 검색 프로세스를 즉시 중단하는 스레드 그룹 중단기(thread group abort)를 더 포함할 수 있다.
검색할 목표 이미지(target image)를 입력 받는 단계; 디스플레이 화면으로부터 비트맵 필드 이미지를 생성하는 단계; 상기 비트맵 필드 이미지를 복수의 영역으로 분할하여 분할 필드 이미지를 생성하는 단계; 상기 복수의 분할 필드 이미지를 병렬로 동시에 검색하여 상기 목표 이미지의 포함 여부를 결정하는 단계; 및 적어도 하나의 상기 분할 필드 이미지에서 상기 목표 이미지가 검색되면 검색된 목표 이미지의 위치정보를 생성하는 단계를 포함할 수 있다.
상기 분할 필드 이미지 생성 단계는, 가용한 CPU(Central Processing Unit)의 코어 개수를 기초로 분할 영역의 개수를 결정할 수 있다.
상기 분할 필드 이미지 생성 단계는, 상기 비트맵 필드 이미지를 복수의 영역으로 균등 분할한 복수의 균등 필드 이미지를 생성하는 단계; 및 상기 균등 필드 이미지의 분할면을 상기 목표 이미지의 너비 및 높이에 대응하는 크기로 확장하여 분할 필드 이미지를 생성하는 단계를 포함할 수 있다.
상기 위치정보 생성 단계는, 상기 검색된 목표 이미지에 대한 분할 필드 이미지 상의 제1 위치정보를 생성하는 단계; 및 상기 제1 위치정보를 상기 비트맵 필드 이미지 상의 제2 위치정보로 변환하는 단계: 및 상기 제2 위치정보를 최종 위치정보로 출력하는 단계를 포함할 수 있다.
상기 비트맵 필드 이미지는, 상기 디스플레이 화면에 포함된 웹 페이지를 대상으로 생성될 수 있다.
본 발명에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템은 다음과 같은 효과를 제공한다.
본 발명은 디스플레이된 화면을 복수의 영역으로 분할하고, 각각의 분할 영역에서 병렬로 동시에 목표 이미지를 검색하기 때문에 가용 CPU의 부하를 최소화하여 CPU 효율을 높일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 모식도.
도 2는 도 1에 예시된 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 블록도.
도 3은 도 1에 예시된 화면 분할을 이용한 이미지 병렬 검색 시스템의 분할 필드 이미지의 생성을 예시한 도면.
도 4는 도 1에 예시된 확장된 분할 필드 이미지를 예시한 도면.
도 5는 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 흐름도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 기재한 모듈(MODULE)이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합을 의미할 수 있다.
또한 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템에 대하여 도 1 내지 도 4를 참조하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 모식도이고, 도 2는 도 1에 예시된 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 블록도이며, 도 3은 도 1에 예시된 화면 분할을 이용한 이미지 병렬 검색 시스템의 분할 필드 이미지의 생성을 예시한 도면이다. 그리고 도 4는 도 1에 예시된 확장된 분할 필드 이미지를 예시한 도면이다.
도 1 내지 도 4를 참조하면, 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템은 파일 서버(100) 및 검색 단말(200)을 포함할 수 있다.
파일 서버(100)는 검색하여 찾기 위한 목표 이미지(10)(target image)를 입력 받는다. 파일 서버(100)에 입력된 목표 이미지(10)는 검색 단말(200)로 제공되고, 검색 단말(200)은 디스플레이된 화면(201) 상에서 목표 이미지(10)가 포함되어 있는지를 검색한다.
다시 말해서, 목표 이미지(10)는 검색 단말(200)에 디스플레이된 화면(201) 상에서 찾고 싶은 이미지이며, 검색 단말(200)은 디스플레이된 화면(201) 상에서 목표 이미지(10)와 동일한 이미지가 있는지를 검색하는 역할을 하고, 파일 서버(100)는 검색 단말(200)에게 검색 스케쥴을 명령하는 역할을 한다.
파일 서버(100)가 목표 이미지(10)를 입력 받는 방식은 어느 하나로 한정하지 않는다. 예를 들어, 파일 서버(100)는 사용자가 소유하고 있는 별도의 통신 단말(미도시) 또는 PC를 통해서도 목표 이미지(10)를 입력 받을 수 있다.
파일 서버(100)는 비트맵 이미지 형태의 데이터로 목표 이미지(10)를 입력 받을 수 있다. 파일 서버(100)에 입력 받는 비트맵 형태의 목표 이미지(10)에는 목표 이미지(10)의 상세 정보들이 포함될 수 있다. 예를 들어, 목표 이미지(10)의 상세 정보에는 목표 이미지(10)의 픽셀 정보가 포함될 수 있다.
본 실시예에서, 파일 서버(100)에 입력 받는 목표 이미지(10)의 형태는 비트맵 이미지로 한정하지 않는다.
검색 단말(200)(BotPC)은 파일 서버(100)로부터 목표 이미지(10)를 수신받고, 파일 서버(100)의 명령에 따라 디스플레이된 화면(201) 상에서 목표 이미지(10)가 포함되어 있는지를 검색한다.
참고로, 검색 단말(200)에서 디스플레이된 화면(201)은 검색 단말(200)과 연결된 모니터(201) 또는 검색 단말(200)과 일체로 형성된 모니터(201)일 수 있다. 검색 단말(200)에서 디스플레이된 화면(201)은 모니터(201)로 한정하지 않으나, 이하에서는 설명의 편의를 위해 검색 단말(200)에서 디스플레이된 화면(201)을 모니터(201)로 정의하여 설명한다.
검색 단말(200)은 화면 캡쳐기(210), 비트맵 분할기(220), 검색기(230), 화면 위치 맵퍼(240)를 포함하며, 스레드 그룹 중단기(250)를 더 포함할 수 있다.
화면 캡쳐기(210)(screen capture)는 모니터(201)에 출력된 화면을 캡쳐하여 비트맵 필드 이미지(211)를 생성g한다. 화면 캡쳐기(210)에서 생성된 비트맵 필드 이미지(211)는 목표 이미지(10)와 동일하게 비트맵 형태로 생성될 수 있다. 만약, 목표 이미지(10)가 다른 형태의 이미지 데이터라면 비트맵 필드 이미지(211) 역시 그 명칭에도 불구하고 비트맵 형태가 아닌 목표 이미지(10)와 동일한 종류의 이미지 데이터로 생성될 수 있다.
참고로, 비트맵(bitmap)은 2차원적인 사각 평면을 작은 격자로 나누고 그 위에 이미지가 표현된다고 했을 때, 비트맵은 0과 1로 된 격자(grid)이다. 이 격자를 컴퓨터가 픽셀로 변환시켜 표현하는 것으로 컴퓨터 그래픽에서 글자 혹은 이미지를 표현하는 픽셀(pixel)의 집합이라고 할 수 있다.
즉, 전술한 비트맵의 특성으로 인해 목표 이미지(10)와 비트맵 필드 이미지(211)가 동일한 형태의 비트맵 형태로 형성되면 비트맵 필드 이미지(211) 상에서 목표 이미지(10)를 정확하게 비교하여 검색할 수 있다.
화면 캡쳐기(210)는 모니터(201)에 출력된 화면을 캡쳐하여 비트맵 필드 이미지(211)를 생성한다. 모니터 화면은 오퍼레이팅 시스템의 배경화면(wallpaper), 특정 애플리케이션 프로그램이 실행 중인 경우 해당 실행 화면, 웹 서핑 애플리케이션이 실행 중이라면 웹 페이지 화면 등 다양한 화면(screen)이 될 수 있다. 특히 모니터 화면이 웹 페이지 화면이라면, 현재 모니터 상에 보이는 영역의 웹 페이지만을 캡쳐할 수도 있고, 현재 화면에 보이는 웹 페이지의 일부가 아닌 웹 페이지 전체의 화면을 스크롤 캡쳐할 수도 있다.
또한, 화면 캡쳐기(210)는 모니터(201) 출력된 화면이 모니터(201)에 한번에 출력할 수 없는 PDF 파일, 워드 파일, 엑셀파일 등의 문서 파일일 경우에도 각각의 파일 1페이지부터 마지막 페이지까지 모두 포함하는 전체 화면을 캡쳐하여 비트맵 필드 이미지(211)로 생성할 수 있다.
비트맵 분할기(220)(bitmap splitter)는 비트맵 필드 이미지(211)를 복수의 영역으로 분할하여 복수의 분할 필드 이미지(221 내지 224)를 생성한다.
비트맵 분할기(220)는 검색 단말(200)의 가용한 CPU(Central Processing Unit)의 코어 개수를 획득하고, 획득된 CPU의 개수를 기초로 분할 영역의 개수를 결정할 수 있다. 예컨대, 도 3에 도시된 바와 같이 검색 단말(200)의 가용한 CPU의 코어 개수가 4 개수(Quad Core) 라면 비트맵 분할기(220)를 비트맵 필드 이미지(211)를 4 개수로 분할된 분할 필드 이미지들(221 내지 224)을 생성할 수 있다. 다만 반드시 CPU의 코어 개수에 다라 분할 영역의 개수가 결정될 필요는 없으며 단일의 CPU라도 자원의 가용 범위 내라면 처리 가능한 만큼 분할 개수를 가변적으로 결정할 수도 있다.
이하에서는 설명의 편의를 위해 4 개수의 분할 필드 이미지들(221 내지 224)을 좌측 상단부터 우측 하단까지 순서대로 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)로 정의하여 설명하기로 한다. 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224) 각각은 이후에 설명할 검색기(230)에서 목표 이미지(10)를 검색하기 위한 각각의 개별적인 검색 영역이다.
한편, 도 4에 도시된 바와 같이, 비트맵 분할기(220)는 분할 필드 이미지(221, 222, 223, 224)를 목표 이미지(10)의 너비 및 높이에 대응하는 크기로 확장하여 재생성할 수 있다.
참고로, 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)는 모두 동일한 방식으로 확장될 수 있으며, 이하에서는 설명의 편의를 위해 제1 분할 필드 이미지(221)가 확장되는 방식을 대표로 설명하기로 한다.
전술한 바와 같이, 비트맵 분할기(220)는 비트맵 필드 이미지(211)를 CPU 코어 개수를 기초로 4 등분하여 4 개수의 균등 필드 이미지를 생성할 수 있다. 참고로, 이하에서는 위에서 언급한 바와 같이 제1 분할 필드 이미지(221)의 확장을 설명하기 위한 제1 균등 필드 이미지(225)를 기준으로 설명하기로 한다.
비트맵 분할기(220)는 제1 균등 필드 이미지(225)의 분할면에서 목표 이미지(10)의 너비 및 높이에 대응하는 크기의 확장 영역(221-1)을 추가할 수 있다. 예를 들어, 비트맵 분할기(220)는 목표 이미지(10)의 너비(가로) 및 높이(세로)의 픽셀(pixel)이 각각 100 픽셀일 경우 제1 균등 필드 이미지(225)의 분할면의 너비를 목표 이미지(10)의 너비와 동일한 픽셀로 확장하고, 마찬가지로 제1 균등 필드 이미지(225) 분할면의 높이를 목표 이미지(10)의 높이와 동일한 픽셀로 확장하여 제1 분할 필드 이미지(221)를 재생성 할 수 있다. 즉, 확장된 제1 분할 필드 이미지(221)는 제1 균등 필드 이미지(225)와 확장 영역(221-1)이 합해진 크기의 이미지이다.
이와 같이 제1 분할 필드 이미지(221)를 목표 이미지(10)에 대응하는 크기로 확장시켜 재생성하는 이유는 만약, 제1 분할 필드 이미지(221)가 확장 되지 않을 경우 목표 이미지(10)와 동일한 이미지가 제1 분할 필드 이미지(221)와 다른 분할 필드 이미지(222, 223 또는 224)와의 경계선 상에 위치될 경우 검색이 불가능할 수 있기 때문이다.
좀 더 자세하게 설명하면, 도 3에 도시된 바와 같이 목표 이미지(10)와 동일한 이미지가 비트맵 필드 이미지(211) 상에서 제1 분할 필드 이미지(221)와 제2 분할 필드 이미지(222)의 경계선 상에 놓일 경우 제1 분할 필드 이미지(221) 상에는 목표 이미지(10)와 동일한 이미지의 일부분만 포함되기 때문에 검색기(230)가 제1 분할 필드 이미지(221) 상에서 목표 이미지(10)를 검색하는 것이 불가능할 수 있다.
이때, 도 4에 도시된 바와 같이, 제1 분할 필드 이미지(221)가 목표 이미지(10)에 대응하는 너비 및 높이로 확장된 경우 목표 이미지(10)와 동일한 이미지가 확장된 제1 분할 필드 이미지(221)의 내부에 포함될 수 있다.
검색기(230)(searcher)는 복수의 스레드(thread)를 이용하여 파일 서버(100)가 전송한 목표 이미지(10)를 복수의 분할 필드 이미지(221 내지 224) 상에서 병렬로 동시에 검색할 수 있다.
예를 들어, CPU가 4개수로 이루어져 비트맵 필드 이미지(211)가 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)로 분할되어 생성된 경우 검색기(230)는 4개수의 스레드를 통해 각각의 분할 필드 이미지(221 내지 224) 상에서 목표 이미지(10)를 병렬로 동시에 검색할 수 있다.
다시 말해서, 어느 하나의 스레드는 제1 분할 필드 이미지(221) 상에서 목표 이미지(10)를 검색하고, 이와 같은 방식으로 다른 스레드들 역시 각각 어느 하나의 분할 필드 이미지(222, 223 또는 224) 상에서 목표 이미지(10)를 검색하여 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)를 병렬로 동시에 검색할 수 있다.
따라서, 검색기(230)는 복수의 스레드(thread)를 이용하여 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)를 병렬로 동시에 검색하기 때문에, 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)를 순차적으로 검색하는 것에 비해 빠른 속도로 검색이 가능하고, 복수의 스레드를 각각의 분할 필드 이미지(221 내지 224)에 분배하여 검색하기 때문에 CPU의 부하를 감소시키고 효율적인 운용이 가능할 수 있다.
검색기(230)는 만약 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)에 목표 이미지(10)가 검색되지 않는다면 사용자에게 검색되지 않음을 알린 후 종료될 수 있다.
화면 위치 맵퍼(240)(screen position mapper)는 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224) 중 적어도 하나의 분할 필드 이미지에서 목표 이미지(10)가 검색되면 검색된 목표 이미지(10)의 위치정보를 생성한다.
먼저, 화면 위치 맵퍼(240)는 검색된 목표 이미지(10)가 포함된 복수의 분할 필드 이미지(221 내지 224) 중 해당 분할 필드 이미지 상에서의 제1 위치 정보를 생성한다. 예를 들어, 검색된 목표 이미지(10)가 제1 분할 필드에 위치된 경우, 제1 분할 필드 이미지(221) 상에서의 목표 이미지(10)가 위치된 좌표를 제1 위치정보로 생성할 수 있다.
이어서, 화면 위치 맵퍼(240)는 제1 위치정보를 분할되기 전 상태인 비트맵 필드 이미지(211) 상에서의 제2 위치정보로 변환하여 사용자가 확인할 수 있도록 출력한다.
따라서, 화면 위치 맵퍼(240)는 목표 이미지(10)의 위치를 비트맵 필드 이미지(211)가 분할된 상태의 분할 필드 이미지(221 내지 224) 상에서의 위치정보가 아닌 분할되기 전 상태의 비트맵 필드 이미지(211) 상에서의 위치정보로 변환하여 사용자에게 출력하기 때문에 사용자는 목표 이미지(10)의 위치를 보다 용이하게 식별할 수 있다.
스레드 그룹 중단기(250)(thread group abort)는 어느 하나의 분할 필드 이미지(221 내지 224)에서 목표 이미지(10)가 검색되고, 검색된 목표 이미지(10)의 위치정보가 생성되면, 검색 프로세스를 즉시 중단할 수 있다.
예를 들어, 스레드 그룹 중단기(250)는 제1 분할 필드 이미지(221)에서 목표 이미지(10)가 검색되면, 나머지 제2 분할 필드 이미지(222) 내지 제4 분할 필드 이미지(224)에 검색을 중단하도록 제어하여 CPU의 운용 효율을 높일 수 있다.
이하 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 방법에 대하여 도 5를 참조하여 상세히 설명한다.
도 5는 본 발명의 실시예에 따른 화면 분할을 이용한 이미지 병렬 검색 시스템을 예시한 흐름도이다.
도 5를 참조하면 본 발명의 화면 분할을 이용한 이미지 병렬 검색 방법은 이미지를 입력 받는 단계(S100), 비트맵 필드 이미지(211)를 생성하는 단계(S200), 분할 필드 이미지를 생성하는 단계(S300), 목표 이미지(10)의 포함 여부를 결정하는 단계(S400) 및 목표 이미지(10)의 위치정보를 생성하는 단계(S500)를 포함한다.
이미지를 입력 받는 단계(S100)는 검색하고자 하는 목표 이미지(10)를 입력 받는다. 예컨대, 이미지를 입력 받는 단계(S100)에서는 사용자가 소유하고 있는 별도의 통신 단말(미도시) 또는 PC 등을 통해 목표 이미지(10)를 입력 받을 수 있다. 이미지를 입력 받는 단계(S100)에서 입력된 목표 이미지(10)는 비트맵 이미지 형태로 입력 받을 수 있나 이미지의 형태는 어느 하나로 한정하지 않는다.
비트맵 필드 이미지를 생성하는 단계(S200)는 디스플레이된 화면(201)을 캡쳐하여 비트맵 필드 이미지(211)로 생성할 수 있다. 여기서 디스플레이된 화면(201)은 모니터와 같은 영상 출력 장치일 수 있다.
즉, 비트맵 필드 이미지를 생성하는 단계(S200)는 모니터와 같은 영상 출력 장치에 출력된 화면(201)을 캡쳐하여 비트맵 형태의 필드 이미지(211)를 생성할 수 있다.
비트맵 필드 이미지를 생성하는 단계(S200)는 만약, 모니터에 출력된 화면(201)이 웹 페이지라면 현재 화면에 보이는 웹 페이지의 일부가 아닌 웹 페이지 전체의 화면을 캡쳐하여 비트맵 필드 이미지(211)로 생성할 수 있다.
비트맵 필드 이미지를 생성하는 단계(S200)는 모니터(201)에 출력된 화면을 캡쳐하여 비트맵 필드 이미지(211)를 생성한다. 모니터 화면은 오퍼레이팅 시스템의 배경화면(wallpaper), 특정 애플리케이션 프로그램이 실행 중인 경우 해당 실행 화면, 웹 서핑 애플리케이션이 실행 중이라면 웹 페이지 화면 등 다양한 화면(screen)이 될 수 있다. 특히 모니터 화면이 웹 페이지 화면이라면, 현재 모니터 상에 보이는 영역의 웹 페이지만을 캡쳐할 수도 있고, 현재 화면에 보이는 웹 페이지의 일부가 아닌 웹 페이지 전체의 화면을 스크롤 캡쳐할 수도 있다.
또한, 비트맵 필드 이미지를 생성하는 단계(S200)는 모니터(201) 출력된 화면이 모니터(201)에 한번에 출력할 수 없는 PDF 파일, 워드 파일, 엑셀파일 등의 문서 파일일 경우에도 각각의 파일 1페이지부터 마지막 페이지까지 모두 포함하는 전체 화면을 캡쳐하여 비트맵 필드 이미지(211)로 생성할 수 있다.
분할 필드 이미지를 생성하는 단계(S300) 비트맵 필드 이미지(211)를 생성하는 단계(S200)에서 생성된 비트맵 필드 이미지(211)를 복수의 영역으로 분할하여 복수의 분할 필드 이미지(221 내지 224)를 생성한다.
분할 필드 이미지를 생성하는 단계(S300)는 가용한 CPU(Central Processing Unit)의 코어 개수를 획득하고, 획득된 CPU의 개수를 기초로 분할 영역의 개수를 결정할 수 있다. 여기서 가용한 CPU라 함은 이미지를 검색하기 위한 컴퓨터 장치(미도시)일 수 있다.
예컨대, 분할 필드 이미지를 생성하는 단계(S300)에서는 가용한 CPU의 코어 개수가 4 개수(Quad Core)일 경우 비트맵 필드 이미지(211)를 4 개수의 분할 필드 이미지(221 내지 224)를 생성할 수 있다.
한편, 분할 필드 이미지를 생성하는 단계(S300)는 균등 필드 이미지를 생성하는 단계 및 확장하여 분할 필드 이미지를 생성하는 단계를 포함할 수 있다.
균등 필드 이미지를 생성하는 단계는 비트맵 필드 이미지(211)를 복수의 영역으로 균등 분할하여 복수의 균등 필드 이미지(예를 들어 도 4의 225)를 생성할 수 있다.
확장하여 분할 필드 이미지를 생성하는 단계는 균등 필드 이미지(예를 들어 도 4의 225)를 목표 이미지(10)의 너비 및 높이에 대응하는 크기로 확장시킬 수 있다. 예를 들어, 확장하여 분할 필드 이미지를 생성하는 단계는 목표 이미지(10)의 너비(가로) 및 높이(세로)의 픽셀(pixel)이 각각 100 픽셀일 경우 복수의 균등 필드 이미지 각각의 너비 및 높이를 목표 이미지(10)의 너비 및 높이와 동일한 픽셀로 확장시킬 수 있다.
목표 이미지의 포함 여부를 결정하는 단계(S400)는 복수의 스레드(thread)를 이용하여 서버로부터 전송 받은 이미지를 복수의 분할 필드 이미지(221 내지 224) 상에서 병렬로 동시에 검색할 수 있다.
예를 들어, 목표 이미지의 포함 여부를 결정하는 단계(S400)는 CPU가 4개수로 이루어져 비트맵 필드 이미지(211)가 제1 분할 필드 이미지(221) 내지 제4 분할 필드 이미지(224)로 분할되어 생성된 경우 4개수의 스레드를 통해 각각의 분할 필드 이미지(221 내지 224) 상에서 목표 이미지(10)를 병렬로 동시에 검색할 수 있다.
목표 이미지(10)의 포함 여부를 결정하는 단계(S400)에서 목표 이미지(10)의 검색 완료되면 목표 이미지(10)의 위치정보를 생성하는 단계(S500)가 수행될 수 있다.
목표 이미지(10)의 위치정보를 생성하는 단계(S500)는 복수의 분할 필드 이미지(221 내지 224) 중 적어도 하나의 분할 필드 이미지에서 목표 이미지(10)가 검색되면 검색된 목표 이미지(10)의 위치정보를 생성할 수 있다.
목표 이미지(10)의 위치정보를 생성하는 단계는 제1 위치정보를 생성하는 단계, 제2 위치정보로 변환하는 단계 및 제2 위치정보를 최종 위치정보로 출력하는 단계를 포함할 수 있다.
제1 위치정보를 생성하는 단계는 검색된 목표 이미지(10)가 제1 분할 필드(221)에 위치된 경우, 제1 분할 필드 이미지(221) 상에서 목표 이미지(10)가 위치된 좌표를 산출하여 제1 위치정보로 생성할 수 있다.
이어서, 제2 위치정보로 변환하는 단계는 제1 위치정보를 분할되기 전 상태인 비트맵 필드 이미지(211) 상에서의 좌표인 제2 위치정보로 변환할 수 있다.
그리고 제2 위치정보를 최종 위치정보로 출력하는 단계는 제2 위치정보를 사용자가 확인할 수 있는 최종 위치 정보로 출력할 수 있다.
이상에서 설명한 이미지 검색 시스템 및 이미지 검색 방법의 전체 또는 부분적 기능들은 일련의 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 기계어로 번역한 소프트웨어로 구현되거나, 그러한 소프트웨어가 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수 있음을 당업자가 쉽게 이해할 수 있을 것이다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 외에도, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
또한 이상에서는 본 발명에 관한 몇 가지 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 파일 서버
200: 검색 단말
210: 화면 캡쳐기
220: 비트맵 분할기
230: 검색기
240: 화면 위치 맵퍼
250: 스레드 그룹 중단기

Claims (10)

  1. 검색할 목표 이미지(target image)를 입력 받는 파일 서버(FpServer); 및
    디스플레이 화면을 캡쳐하여 비트맵 필드 이미지를 생성하는 화면 캡쳐기(screen capture)와,
    상기 비트맵 필드 이미지를 복수의 영역으로 분할하여 복수의 분할 필드 이미지를 생성하는 비트맵 분할기(bitmap splitter)와,
    복수의 스레드(thread)를 이용하여 상기 파일 서버가 전송한 목표 이미지를 상기 복수의 분할 필드 이미지에서 병렬로 동시에 검색하는 검색기(searcher)와,
    적어도 하나의 상기 분할 필드 이미지에서 상기 목표 이미지가 검색되면 검색된 목표 이미지의 위치정보를 생성하는 화면 위치 맵퍼(screen position mapper)를 포함하는 검색 단말(BotPC)를 포함하고,
    상기 비트맵 분할기는,
    상기 비트맵 필드 이미지를 복수의 영역으로 균등 분할한 균등 필드 이미지를 생성한 후,
    상기 균등 필드 이미지의 분할면을 상기 목표 이미지의 너비 및 높이에 대응하는 크기로 확장하여 분할 필드 이미지를 생성하는
    화면 분할을 이용한 이미지 병렬 검색 시스템.
  2. 제1항에 있어서,
    상기 비트맵 분할기는,
    가용한 CPU(Central Processing Unit)의 코어 개수를 기초로 분할 영역의 개수를 결정하는 화면 분할을 이용한 이미지 병렬 검색 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 화면 위치 맵퍼는,
    상기 검색된 목표 이미지에 대한 분할 필드 이미지 상의 제1 위치정보를 생성하고, 상기 제1 위치정보를 상기 비트맵 필드 이미지 상의 제2 위치정보로 변환하여 목표 이미지의 위치정보로 출력하는 화면 분할을 이용한 이미지 병렬 검색 시스템.
  5. 제1항에 있어서,
    상기 어느 하나의 분할 필드 이미지에서 상기 목표 이미지가 검색되고, 검색된 목표 이미지의 위치정보가 생성되면, 검색 프로세스를 즉시 중단하는 스레드 그룹 중단기(thread group abort)를 더 포함하는 화면 분할을 이용한 이미지 병렬 검색 시스템.
  6. 파일 서버와 검색 단말을 포함하는 이미지 병렬 검색 시스템의 검색 방법에 있어서,
    파일 서버가 검색할 목표 이미지(target image)를 입력 받는 단계;
    검색 단말의 화면 캡쳐기가 디스플레이 화면으로부터 비트맵 필드 이미지를 생성하는 단계;
    상기 검색 단말의 비트맵 분할기가 상기 비트맵 필드 이미지를 복수의 영역으로 분할하여 분할 필드 이미지를 생성하는 단계;
    상기 검색 단말의 검색기가 상기 복수의 분할 필드 이미지를 병렬로 동시에 검색하여 상기 파일 서버로부터 전송 받은 목표 이미지의 포함 여부를 결정하는 단계; 및
    상기 검색 단말의 화면 위치 맵퍼가 적어도 하나의 상기 분할 필드 이미지에서 상기 목표 이미지가 검색되면 검색된 목표 이미지의 위치정보를 생성하는 단계를 포함하고,
    상기 분할 필드 이미지를 생성하는 단계는,
    상기 비트맵 분할기가 상기 비트맵 필드 이미지를 복수의 영역으로 균등 분할한 복수의 균등 필드 이미지를 생성하는 단계; 및
    상기 비트맵 분할기가 상기 균등 필드 이미지의 분할면을 상기 목표 이미지의 너비 및 높이에 대응하는 크기로 확장하여 분할 필드 이미지를 생성하는 단계
    를 포함하는 화면 분할을 이용한 이미지 병렬 검색 방법.
  7. 제6항에 있어서,
    상기 분할 필드 이미지 생성 단계는,
    상기 비트맵 분할기가 가용한 CPU(Central Processing Unit)의 코어 개수를 기초로 분할 영역의 개수를 결정하는 화면 분할을 이용한 이미지 병렬 검색 방법.
  8. 삭제
  9. 제6항에 있어서,
    상기 위치정보 생성 단계는,
    상기 화면 위치 맵퍼가 상기 검색된 목표 이미지에 대한 분할 필드 이미지 상의 제1 위치정보를 생성하는 단계;
    상기 화면 위치 맵퍼가 상기 제1 위치정보를 상기 비트맵 필드 이미지 상의 제2 위치정보로 변환하는 단계; 및
    상기 화면 위치 맵퍼가 상기 제2 위치정보를 최종 위치정보로 출력하는 단계
    를 포함하는 화면 분할을 이용한 이미지 병렬 검색 방법.
  10. 제6항에 있어서,
    상기 비트맵 필드 이미지는,
    상기 디스플레이 화면에 포함된 웹 페이지를 대상으로 생성되는 화면 분할을 이용한 이미지 병렬 검색 방법.
KR1020200018816A 2020-02-17 2020-02-17 화면 분할을 이용한 이미지 병렬 검색 시스템 KR102104246B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200018816A KR102104246B1 (ko) 2020-02-17 2020-02-17 화면 분할을 이용한 이미지 병렬 검색 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200018816A KR102104246B1 (ko) 2020-02-17 2020-02-17 화면 분할을 이용한 이미지 병렬 검색 시스템

Publications (1)

Publication Number Publication Date
KR102104246B1 true KR102104246B1 (ko) 2020-04-24

Family

ID=70466093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200018816A KR102104246B1 (ko) 2020-02-17 2020-02-17 화면 분할을 이용한 이미지 병렬 검색 시스템

Country Status (1)

Country Link
KR (1) KR102104246B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100270461B1 (ko) * 1994-09-20 2000-11-01 아끼구사 나오유끼 국소영역 화상 추적장치
JP2008046795A (ja) * 2006-08-14 2008-02-28 Fuji Xerox Co Ltd 画像処理装置、画像処理方法及びプログラム
KR20120058538A (ko) * 2009-08-07 2012-06-07 구글 인코포레이티드 시각 질의에 응답하기 위한 아키텍처
KR20120078579A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 전자 장치 및 이의 오브젝트 검색 방법
JP2012149895A (ja) * 2011-01-17 2012-08-09 Hitachi High-Technologies Corp 欠陥検査装置及び欠陥検査方法
KR20140118646A (ko) * 2013-03-28 2014-10-08 주식회사 오비고 웹 페이지 제공 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
JP6632709B2 (ja) * 2016-03-24 2020-01-22 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100270461B1 (ko) * 1994-09-20 2000-11-01 아끼구사 나오유끼 국소영역 화상 추적장치
JP2008046795A (ja) * 2006-08-14 2008-02-28 Fuji Xerox Co Ltd 画像処理装置、画像処理方法及びプログラム
KR20120058538A (ko) * 2009-08-07 2012-06-07 구글 인코포레이티드 시각 질의에 응답하기 위한 아키텍처
KR20120078579A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 전자 장치 및 이의 오브젝트 검색 방법
JP2012149895A (ja) * 2011-01-17 2012-08-09 Hitachi High-Technologies Corp 欠陥検査装置及び欠陥検査方法
KR20140118646A (ko) * 2013-03-28 2014-10-08 주식회사 오비고 웹 페이지 제공 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
JP6632709B2 (ja) * 2016-03-24 2020-01-22 富士ゼロックス株式会社 画像処理装置、画像処理方法、及び画像処理プログラム

Similar Documents

Publication Publication Date Title
JP5183392B2 (ja) 画像処理装置、画像処理方法およびプログラム
EP1435053B1 (en) Section extraction tool for pdf documents
CN108108342B (zh) 结构化文本的生成方法、检索方法及装置
US8782617B2 (en) Apparatus and method for translating open vector graphic application program interface
US9436882B2 (en) Automated redaction
US11934774B2 (en) Systems and methods for generating social assets from electronic publications
CN112882782B (zh) 页面生成方法、装置、计算机设备和存储介质
JP7038218B2 (ja) 代表イメージの生成
JP2021163482A (ja) 画像内の文字色と背景色を抽出して提供する方法、システム、およびコンピュータプログラム
CN111222314B (zh) 版式文档的比对方法、装置、设备及存储介质
CN114936269A (zh) 文档搜索平台、搜索方法、装置、电子设备及存储介质
JP2006260570A (ja) 画像形成装置
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
KR102104246B1 (ko) 화면 분할을 이용한 이미지 병렬 검색 시스템
CN107146245B (zh) 图像匹配方法和装置
CN112766470B (zh) 特征数据处理方法、指令序列生成方法、装置及设备
CN104866297A (zh) 一种优化核函数的方法和装置
US6609250B1 (en) Software generating device
CN106548501B (zh) 一种图像绘制方法及设备
CN114154006A (zh) 一种图像搜索方法及相关装置
US20200104342A1 (en) Content providing system that provides document as reference for editing, content providing method, information processing apparatus, and storage medium
CN112612427A (zh) 一种车辆停靠点数据处理方法、装置、存储介质及终端
KR102566934B1 (ko) 병렬 처리 기반의 문서 포맷 변환을 수행하는 전자 장치 및 그 동작 방법
KR102591607B1 (ko) 열화상 이미지에 대한 리버스 엔지니어링을 통해 추출된 메타데이터를 이용한 이미지 처리 방법 및 시스템
CN110750569A (zh) 数据提取方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant