KR100485819B1 - High speed searching devece for digital data and method thereof - Google Patents

High speed searching devece for digital data and method thereof Download PDF

Info

Publication number
KR100485819B1
KR100485819B1 KR10-2001-0048069A KR20010048069A KR100485819B1 KR 100485819 B1 KR100485819 B1 KR 100485819B1 KR 20010048069 A KR20010048069 A KR 20010048069A KR 100485819 B1 KR100485819 B1 KR 100485819B1
Authority
KR
South Korea
Prior art keywords
descriptor
search
vector
minimum value
layer
Prior art date
Application number
KR10-2001-0048069A
Other languages
Korean (ko)
Other versions
KR20030013863A (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 KR10-2001-0048069A priority Critical patent/KR100485819B1/en
Publication of KR20030013863A publication Critical patent/KR20030013863A/en
Application granted granted Critical
Publication of KR100485819B1 publication Critical patent/KR100485819B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

디지털 데이터의 고속 탐색 장치 및 방법이 개시된다. 전처리부는 탐색과정에 앞서 모든 데이터들과 해당 기술자들을 L1-norm값의 올림차 순으로 정렬하여 계층별 검색테이블을 생성한다. 최소값설정부는 입력된 질의자벡터의 L1-norm과 가장 유사한 L1-norm을 갖는 기술자를 초기최적정합기술자로 선정하고 질의자벡터와의 거리를 최소값으로 설정한다. 연산부는 초기최적정합기술자의 전후방으로 번갈가며 후보 기술자벡터를 선정하여 질의자벡터와의 거리를 계산한다. 제1제거루프부 및 제2제거루프부는 설정된 제거조건에 따라 후보 기술자벡터의 제거동작을 수행하며 결정부는 최하위계층에 더이상 검색할 기술자벡터가 존재하지 않으면 현재의 최소값을 최적정합기술자로 결정하여 출력한다. 제어부는 설정된 제거조건 및 결정조건의 만족여부를 판단하며, 판단결과에 따라 각 구성요소의 동작을 제어한다. 일정한 제거조건에 해당하는 기술자벡터를 각각의 계층에 대한 검색테이블로부터 일괄적으로 제거함으로써, 검색속도의 증가 및 최하위계층에 대한 기술자벡터에 대해 수행되어야 하는 계산량이 줄어들어 최적정합자의 결정시의 시간단축이 가능하다.Disclosed are a high speed search apparatus and method for digital data. The preprocessor generates a hierarchical search table by sorting all data and corresponding descriptors in ascending order of L 1 -norm values prior to the searching process. Selecting a descriptor having the similar L 1 and L 1 -norm -norm of the minimum value setting unit input vector querying user to an initial optimum matching descriptor and sets the distance to the querying user to the minimum value vector. The calculating part alternates with the front and rear of the initial best matching descriptor and selects the candidate descriptor vector to calculate the distance from the query vector. The first elimination loop unit and the second elimination loop unit remove the candidate descriptor vector according to the set elimination condition, and the decision unit determines and outputs the current minimum value as the optimum matching descriptor if there is no descriptor vector to be searched in the lowest layer. do. The controller determines whether the set removal condition and the determination condition are satisfied, and controls the operation of each component according to the determination result. By eliminating the descriptor vectors corresponding to a certain elimination condition from the search table for each layer collectively, the increase of the search speed and the amount of computation that need to be performed on the descriptor vectors for the lowest hierarchy are reduced, which reduces the time for determining the best matcher. It is possible.

Description

디지털 데이터의 고속 전역 탐색 장치 및 방법 {High speed searching devece for digital data and method thereof}High speed searching devece for digital data and method

본 발명은 디지털 데이터의 고속 전역 탐색 장치 및 방법에 관한 것으로, 보다 상세하게는 다해상도 기술자 데이터 구조와 기술자 데이터의 평균(norm) 정렬을 이용하여 방대한 디지털 데이터베이스에서도 고속으로 문의자 데이터에 적합한 기술자 데이터에 대한 정합과정을 수행할 수 있는 디지털 데이터의 고속 전역 탐색 장치 및 방법에 관한 것이다.The present invention relates to a fast global search apparatus and method for digital data. More particularly, the present invention relates to descriptor data suitable for query data at high speed even in a large digital database by using a multi-resolution descriptor data structure and a norm alignment of descriptor data. The present invention relates to a fast global search apparatus and method for digital data that can perform a matching process.

데이터베이스에서 문의자 데이터에 대응하는 최적 정합자를 손실없이 정확하게 찾기 위한 종래의 내용기반 검색 시스템들은 전역 탐색을 필요로 한다. 전역탐색은 문자 그대로 문의자의 기술자와 데이터베이스 내의 모든 후보 데이터들의 기술자들을 일일이 비교한 후 최적 정합자를 구한다. 따라서 데이터베이스의 용량이 커질수록 이에 비례하여 막대한 계산량을 요구한다. Conventional content-based retrieval systems for finding the exact matcher corresponding to the query data in a database without loss require a global search. Global search literally compares the descriptor of the queryer with the descriptors of all candidate data in the database and then finds the best matcher. Therefore, the larger the database capacity, the greater the amount of computation required.

버먼(Berman)과 샤피로(Shapiro)는 문의자와 기술자의 완전 해상도(full resolution) 정합의 수행시 요구되는 막대한 계산량을 줄이기 위해 삼각형 부등식(Triangle Inequalities : TIE) 개념(종래기술 1)을 적용하였다. Berman and Shapiro applied the concept of Triangular Inequalities (TIE) (prior art 1) to reduce the enormous amount of computation required to perform the full resolution matching of inquirers and technicians.

종래 기술 1은 키 데이터 집합 K={K1, K2,…, KM}을 정의하고 데이터베이스에 데이터 집합 I={I1, I2,…, IN}과 함께 저장한다. 키 데이터와 후보 데이터간의 모든 거리들 d(Ii, Kj)은 미리 계산해 저장한다. 여기서, d는 L1-평균(norm)이다. 문의자 Q의 최적 정합자를 찾는다고 할 때, 임의의 후보 Ii에 대해 다음 삼각형 부등식이 항상 성립한다.Prior art 1 describes a key data set K = {K 1 , K 2 ,... , K M } and the data set I = {I 1 , I 2 ,… in the database. , I N }. All distances d (I i , K j ) between the key data and the candidate data are calculated in advance and stored. Where d is the L 1 -norm. Suppose we find the best matcher of interrogator Q, the following triangle inequality always holds for any candidate I i .

상기 [수학식 1]에서 {d(Q, Kj)| 1≤j≤M}을 계산함으로써, d(Ii, Q)의 하한점(lower band)을 얻을 수 있다. 따라서, 각 후보의 하한점이 현재까지의 최소값보다 크면 해당 후보를 손실없이 제거할 수 있다. 반대로, 하한점이 현재까지의 최소값보다 작으면, d(Ii, Q)를 계산해서 최소값과 비교하여 작으면 최소값을 새로운 값으로 갱신한다. 이러한 과정을 모든 후보에 대해 반복하면 문의자에 대한 최적 정합자를 결정할 수 있다. 일반적으로, N ≫ M이므로 상기 [수학식 1]에 의한 불필요한 후보의 제거가 적은 계산량으로 이루어 질 수 있으며, 많은 계산량을 효과적으로 줄일 수 있다.In Equation 1, {d (Q, K j ) | By calculating 1 ≦ j ≦ M}, a lower band of d (I i , Q) can be obtained. Therefore, if the lower limit of each candidate is larger than the minimum value up to now, the candidate can be removed without loss. On the contrary, if the lower limit is smaller than the minimum value up to now, d (I i , Q) is calculated and compared with the minimum value, and the minimum value is updated with the new value. Repeating this process for all candidates can determine the best matcher for the query. In general, since N >> M, elimination of unnecessary candidates by Equation 1 can be made with a small amount of calculation, and a large amount of calculation can be effectively reduced.

한편, 리(Li)와 샐러리(Salari)는 연속 제거 알고리즘(successive elimination algorithm)이라는 동영상 부호화를 위한 고속 움직임 추정 기법(종래기술 2)을 제안하였다. SEA는 현재 블록과 이전 프레임의 후보 블록간의 거리는 항상 두 블록들의 L1-norm들의 절대값의 차보다 크다는 사실을 이용하여 불필요한 후보들을 제거함으로써 전역 탐색 방법과 동일한 탐색성능을 유지하면서 고속 움직임 추정을 수행할 수 있다.Meanwhile, Li and Salari have proposed a fast motion estimation technique (prior art 2) for video coding called a successive elimination algorithm. The SEA removes unnecessary candidates by taking advantage of the fact that the distance between the current block and the candidate block of the previous frame is always greater than the difference between the absolute values of the L 1 -norms of the two blocks, thereby eliminating unnecessary candidates, thereby achieving fast motion estimation while maintaining the same search performance as the global search method. Can be done.

종래기술 2에서, 각 기술자벡터가 B(=2L)차원을 갖는다고 가정하면, 임의의 기술자벡터 의 L1-norm, 즉 ∥∥는 다음과 같이 표현된다.In the prior art 2, assuming that each descriptor vector has a B (= 2 L ) dimension, any descriptor vector L 1 -norm, ie Is expressed as follows.

상기 [수학식 2]에서 X(n)은 n번째 빈(bin)의 값을 의미한다. 상기 [수학식 2]의 정의에 근거하여 다음 부등식이 성립한다.In Equation 2, X (n) means the value of the n th bin. Based on the definition of Equation 2 above, the following inequality is established.

상기 [수학식 3]에서 d(, )는 두 기술자벡터들 간의 L1-norm 거리를 의미한다. 따라서 주어진 문의자의 기술자벡터 에 대해, 후보벡터 가 다음의 조건을 만족하면 d(, )를 계산할 필요없이 후보벡터 를 제거할 수 있다.In Equation 3, d ( , ) Are two descriptor vectors Wow L 1 -norm distance. Thus, the descriptor vector of the given queryer Candidate vector Is equal to d ( , Candidate vectors without the need to compute Can be removed.

∥-∥ ∥≥ dmin ∥≥ d min

상기 [수학식 4]에서 dmin은 현재까지의 최소값을 의미한다. 상기 [수학식 3] 및 상기 [수학식 4]의 조건을 만족하면 를 계산할 필요없이 후보 기술자 를 제거할 수 있다.In Equation 4, d min means the minimum value to date. If the condition of [Equation 3] and [Equation 4] is satisfied Candidate descriptor without the need to calculate Can be removed.

그러나, 종래기술 1은 키 데이터의 선택에 따라 성능의 변화가 심하다는 문제가 있다. 또한, 종래기술 1 및 2는 한번의 제거 과정만을 거치므로 제거되는 후보의 개수가 적어 완전 해상도상에서 계산해주어야 하는 후보의 수가 상대적으로 많게 된다. 이에 따라 종래기술 1 및 2는 계산속도의 향상에 한계가 있으며, 특히 방대한 데이터베이스에서의 데이터 검색을 위한 방법으로는 적합하지 않게 된다.However, the prior art 1 has a problem that the performance is severely changed depending on the selection of the key data. In addition, since the prior arts 1 and 2 go through only one removal process, the number of candidates to be removed is small, so that the number of candidates to be calculated at full resolution is relatively large. Accordingly, the prior arts 1 and 2 have a limitation in improving the calculation speed, and are not particularly suitable as a method for retrieving data from a large database.

본 발명이 이루고자 하는 기술적 과제는, 방대한 데이터베이스에서 원하는 데이터에 대한 검색시 데이터 검색에 필요한 계산량을 줄여 전체적인 검색시간을 단축할 수 있고 검색의 신뢰도를 향상시킬 수 있는 디지털 데이터의 고속 전역 탐색 장치 및 방법을 제공하는 데 있다.An object of the present invention is to provide a fast global search apparatus and method for digital data that can reduce the amount of calculation required for data search when searching for a desired data in a large database, thereby reducing the overall search time and improving the reliability of the search. To provide.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 디지털 데이터의 고속 탐색 장치는, 모든 데이터 및 해당 기술자벡터들을 L1-평균(norm)의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성하는 전처리부; 상기 전처리부에서 생성된 상기 검색테이블을 저장하는 제1저장부; 최상위계층에 대한 상기 검색테이블로부터 입력 질의자벡터 의 크기와 가장 유사한 L1-평균을 갖는 초기최적기술자를 결정하고 상기 질의자벡터 와 상기 초기최적기술자의 거리값을 최소값으로 설정하는 최소값설정부; 상기 최소값을 저장하는 제2저장부; 일정한 검색순서에 따라 상기 검색테이블로부터 후보 기술자벡터 를 선정하여 상기 질의자벡터 와의 [수학식 7]에 따른 거리값을 계산하는 연산부; 상기 후보 기술자벡터 가 위치하는 계층 내지 최하위계층에 대한 각각의 상기 부호테이블로부터 일정한 제거조건에 해당하는 상기 기술자벡터를 검색대상에서 제거하는 동작을 반복적으로 수행하는 제1제거루프부; 상기 제2저장부에 저장되어 있는 상기 최소값을 상기 입력 질의자벡터 에 대한 최적정합기술자로 결정하여 출력하는 결정부; 및 상기 연산부에서 계산된 상기 거리값이 [수학식 4]의 조건을 만족하면 상기 제1제거루프부로 제거동작을 수행하도록 하는 제어신호를 출력하고, 상기 최하위계층의 상기 검색테이블에서 모든 상기 후보 기술자벡터 가 제거되면 상기 결정부로 상기 최적정합기술자의 출력동작을 수행하도록 하는 제어신호를 출력하는 제어부;를 포함한다.In order to achieve the above technical problem, the high-speed search apparatus for digital data according to the present invention generates a search table for each layer by arranging all data and corresponding descriptor vectors in ascending order of L 1 -norm. A preprocessing unit; A first storage unit which stores the search table generated by the preprocessor; Input query vector from the lookup table for the highest hierarchy Determine the initial optimal descriptor with L 1 -means most similar to the size of And a minimum value setting unit for setting a distance value of the initial optimum descriptor to a minimum value. A second storage unit for storing the minimum value; Candidate descriptor vectors from the search table according to a predetermined search order Select the query vector A calculation unit for calculating a distance value according to [Equation 7] with; The candidate descriptor vector A first removal loop unit which repeatedly performs an operation of repeatedly removing the descriptor vector corresponding to a predetermined removal condition from a target object from each of the code tables for the hierarchical layer or the lowest hierarchical layer in which a code is located; The minimum query value stored in the second storage unit is the input query vector. Decision unit for determining and outputting the optimum matching descriptor for; And outputting a control signal for performing the removal operation to the first removal loop unit when the distance value calculated by the calculation unit satisfies the expression (4), and all the candidate descriptors in the search table of the lowest hierarchy. vector And a controller for outputting a control signal for performing the output operation of the optimum matching descriptor to the determiner.

바람직하게는, 상기 후보 기술자벡터 가 존재하는 상기 검색테이블에 대한 연속되는 하위계층의 상기 검색테이블로부터 후보 기술자벡터 를 선정하여 상기 연산부에서 계산된 상기 [수학식 7]에 의한 계산값을 상기 거리값으로 대치하는 동작 및 상기 최하위계층에 도달하면 상기 후보 기술자벡터 를 상기 최하위계층에 대한 상기 검색테이블로부터 제거하는 제거동작을 수행하는 제2제거루프부를 더 포함하며, 상기 제어부는, 상기 거리값이 [수학식 4]의 조건을 만족하지 않으면, 상기 제2제거루프부로 상기 거리값의 대치동작을 수행하도록 하는 제어신호를 출력하며, 상기 제2제거루프부의 동작수행중에 상기 [수학식 4]의 조건을 만족하는 계층에 도달하면 상기 제2제거루프부의 동작수행을 중지하도록 하는 제어신호 및 상기 제1제거루프부의 제거동작을 수행하도록 하는 제어신호를 출력한다.Preferably, the candidate descriptor vector A candidate descriptor vector from the lookup table of consecutive lower hierarchies for the lookup table in which Selecting and replacing the calculated value according to [Equation 7] calculated by the calculating unit with the distance value and the candidate descriptor vector when the lowest layer is reached. And a second removal loop unit which performs a removal operation for removing from the search table for the lowest layer, wherein the controller is further configured to remove the second removal if the distance value does not satisfy the condition of Equation 4; Outputs a control signal for performing the substitution operation of the distance value to the loop part, and performs operation of the second removal loop part when the layer satisfying the condition of Equation 4 is reached during the operation of the second removal loop part. And a control signal for stopping the operation and a control signal for performing the removal operation of the first removal loop portion.

바람직하게는, 상기 최소값저장부는 복수의 섹터를 가지며, 복수개의 상기 최적정합기술자를 결정하여 출력하도록 설정되어 있는 경우, 상기 제어부는 상기 제2제거루프부에 의한 최소값 갱신동작의 수행시 이전의 상기 최소값 및 새로운 상기 최소값을 상기 최소값저장부의 각 섹터에 순차적으로 저장하도록 하는 제어신호를 출력한다.Preferably, when the minimum value storing unit has a plurality of sectors and is set to determine and output a plurality of the best matching descriptors, the control unit is configured to perform the previous operation when performing the minimum value updating operation by the second removing loop unit. A control signal is output so that the minimum value and the new minimum value are sequentially stored in each sector of the minimum value storage unit.

바람직하게는, 상기 제거조건은 ∥∥≥∥∥이며, 상기 제거조건을 만족하면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 큰 L1-평균(norm)을 갖는 기술자벡터들을 검색대상에서 제거하고, 상기 제거조건을 만족하지 않으면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 작은 L1-평균(norm)을 같는 기술자벡터들을 검색대상에서 제거한다.Preferably, the removal condition is ∥≥∥ And if the elimination condition is satisfied, the candidate descriptor vector from the lookup table for each layer until the lowest layer is reached. Descriptor vectors having a larger L 1 -norm are removed from the search target, and if the elimination condition is not satisfied, the candidate descriptor vector from the search table for each layer until the lowest layer is reached. Descriptor vectors with the same L 1 -norm are removed from the search.

상기 전처리부는 각 계층에 대한 상기 검색테이블에서 동일한 기술자는 동일한 위치에 기록하며, 상기 초기값설정부는 상기 검색테이블에 대한 이진탐색을 통해 상기 초기최적기술자를 결정하고 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리는 상기 [수학식 7]에 의해 계산하며, 검색상기 연산부는 상기 초기최적기술자의 전후방을 번갈아가며 후보 기술자벡터를 검색한다.The preprocessor writes the same descriptors in the same position in the search table for each layer, and the initial value setting unit determines the initial optimal descriptor through binary search for the search table. And a distance from the initial optimal descriptor are calculated by Equation 7, and the search unit searches for candidate descriptor vectors alternately before and after the initial optimal descriptor.

바람직하게는, 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치는, 상기 입력 질의자벡터 의 크기를 계산하여 상기 연산부로 제공하는 크기계산부를 더 구비한다.Preferably, the fast global search for digital data according to the present invention, the input query vector It further includes a size calculation unit for calculating the size of the provided to the calculation unit.

한편, 본 발명에 따른 디지털 데이터의 고속 탐색 방법은, (a) 모든 데이터 및 해당 기술자들을 L1-평균(norm)의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성하는 단계; (b) 입력 질의자벡터 의 크기와 가장 유사한 L1-평균을 갖는 초기최적기술자를 결정하고 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리를 최소값으로 설정하는 단계; (c) 일정한 검색순서에 기초하여 상기 최상위계층의 상기 검색테이블에서 후보 기술자벡터 를 선택하는 단계; (d) 선택된 상기 후보 기술자벡터 에 대한 [수학식 7]에 의해 계산된 거리값이 상기 최소값에 대해 [수학식 4]를 만족하는지 여부를 판단하는 단계; (e) 상기 (d)단계에서 상기 거리값이 상기 최소값에 대해 상기 [수학식 4]를 만족하면 모든 하위계층에 대한 상기 검색테이블로부터 일정한 제거조건에 해당하는 상기 기술자를 검색대상에서 제거하는 단계; 및 (f) 상기 최하위계층에 제거되지 않은 상기 기술자가 존재하면 상기 (c)단계로 진행하고, 상기 최하위계층에 제거되지 않은 상기 기술자가 존재하지 않으면 현재의 상기 최소값을 상기 최적정합기술자로 결정하는 단계;를 포함한다.On the other hand, the high-speed search method of the digital data according to the present invention comprises the steps of: (a) generating a search table for each layer by arranging all data and the corresponding descriptors in ascending order of L 1 -norm; (b) input query vector Determine the initial optimal descriptor with L 1 -means most similar to the size of the input query vector. Setting a distance between the initial optimal descriptor and a minimum value; (c) a candidate descriptor vector in the search table of the highest hierarchy based on a predetermined search order Selecting a; (d) the candidate descriptor vector selected Determining whether the distance value calculated by Equation 7 for Equation 7 satisfies Equation 4 with respect to the minimum value; (e) if the distance value satisfies [Equation 4] with respect to the minimum value in step (d), removing the descriptor corresponding to a predetermined removal condition from the search table for all lower layers from the search target; ; And (f) proceeding to step (c) if the descriptor is not removed in the lowest layer, and determining the current minimum value as the optimal matching descriptor if the descriptor is not removed in the lowest layer. It includes; step.

상기 (d)단계에서 상기 거리값이 상기 최소값에 대해 상기 [수학식 4]를 만족하지 않는 것으로 판단되면, 상기 (d)단계는, (d1) 현재 검색중인 계층이 상기 최하위계층인가를 확인하는 단계를 포함하며, 상기 최하위계층에 대해 검색중이 아닌 것으로 확인되면, 검색중인 계층의 하위계층으로 이동하여 상기 후보 기술자벡터 에 대해 상기 (d)단계로 진행한다.If it is determined in step (d) that the distance value does not satisfy Equation 4 with respect to the minimum value, step (d) determines whether the layer currently being searched is the lowest layer. And if it is determined that the lowest layer is not being searched, moving to the lower layer of the layer being searched and the candidate descriptor vector. Proceed to step (d) above.

상기 (d1)단계에서 상기 최하위계층에 대해 검색중인 것으로 확인되면 상기 후보 기술자벡터 에 대한 상기 거리값을 상기 최소값으로 취하여 상기 최소값을 갱신하고 상기 후보 기술자벡터 를 상기 최하위계층으로부터 제거한 후 상기 (c)단계로 진행한다.If it is determined in step (d1) that the lowest layer is being searched, the candidate descriptor vector Update the minimum value by taking the distance value with respect to the minimum value and After removing from the lowest layer proceeds to step (c).

복수개의 상기 최적정합기술자를 결정하여 출력하도록 설정되어 있는 경우, 상기 (d1)단계에서 최소값 갱신동작의 수행시 이전의 상기 최소값 및 새로운 상기 최소값을 크기순으로 정렬하여 저장하며, 상기 (f)단계에서 크기순으로 정렬되어 있는 복수개의 상기 최적정합기술자를 출력한다.When the plurality of optimal matching descriptors are set to be determined and outputted, when the minimum value updating operation is performed in step (d1), the previous minimum value and the new minimum value are sorted and stored in size order, and the step (f) is performed. Outputs a plurality of the best matching descriptors arranged in size order in.

상기 (e)단계에서, 상기 제거조건은 ∥∥≥∥∥이며, 상기 제거조건을 만족하면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 큰 L1-평균(norm)을 갖는 기술자들을 검색대상에서 제거하고, 상기 제거조건을 만족하지 않으면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 작은 L1-평균(norm)을 같는 기술자들을 검색대상에서 제거한다.In the step (e), the removal condition is ∥≥∥ And if the elimination condition is satisfied, the candidate descriptor vector from the lookup table for each layer until the lowest layer is reached. If the descriptors having a larger L 1 -norm are removed from the search target and the elimination condition is not satisfied, the candidate descriptor vector from the search table for each layer is reached until the lowest hierarchy is reached. Remove descriptors equal to the smaller L 1 -norm from the search.

바람직하게는, 상기 (b)단계 전에, 상기 입력 질의자벡터 의 크기를 계산하는 단계;를 더 포함한다.Preferably, before the step (b), the input query vector Calculating the size of the; further includes.

바람직하게는 상기 (a)단계에서 각 계층에 대한 상기 검색테이블에서 동일한 기술자는 동일한 위치에 기록되며, 상기 (b)단계에서 상기 초기최적기술자는 상기 검색테이블에 대한 이진탐색을 통해 검색되어 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리는 상기 [수학식 7]에 의해 계산되며, 상기 (c)단계에서 상기 후보 기술자벡터는 상기 초기최적기술자의 전후방을 번갈아가며 검색된다.Preferably, the same descriptor is recorded in the same position in the search table for each layer in step (a), and in step (b), the initial optimal descriptor is searched through a binary search for the search table and the input is performed. Vector And the distance from the initial optimal descriptor are calculated by Equation (7), and in the step (c), the candidate descriptor vector is alternately searched before and after the initial optimal descriptor.

L1-norm 피라미드 데이터 구조에서, 각각의 데이터는 여러 계층들로 분할되며, 각 계층 데이터들은 원 데이터에 비해 낮은 해상도를 갖는다. 도 1은 L1-norm 피라미드 데이터 구조 및 L1-norm 피라미드 데이터 구조의 생성방법을 도시한 도면이다. 도 1을 참조하면, 각 기술자 벡터 에 대해, L1-norm 피라미드는 기술자 벡터열 로 정의될 수 있다. 여기서, 이며, 은 2 l 차원을 가지며, 의 해상도가 반으로 줄어든 저해상도 버전이다. 피라미드 데이터 구조는 상위 계층의 이웃한 두 원소 값들을 더하는 방식으로 이루어 진다. Xl(n)을 정의하면 다음과 같다.In the L 1 -norm pyramid data structure, each data is divided into several layers, each layer data having a lower resolution than the original data. 1 is a diagram illustrating a method of generating an L 1 -norm pyramid data structure and an L 1 -norm pyramid data structure. Referring to Figure 1, each descriptor vector For, L 1 -norm pyramid is a vector of descriptors It can be defined as. here, Is, Is 2 l Have dimensions, This is a low resolution version with half resolution. The pyramid data structure consists of adding two neighboring element values of the upper layer. If X l (n) is defined,

상기 [수학식 5]에 의해 l+1계층에서 두 기술자벡터 의 L1-평균은 다음과 같이 정의된다.Equation 5 shows two descriptor vectors in the layer l +1 Wow The L 1 -mean is defined as

상기 [수학식 6]에서, 은 2 l +1차원을 가지며, X l +1(n)은 의 n번째 빈 값을 의미한다. 한편, 상기 [수학식 5]를 이용하면, 계층 l에서의 간의 L1-평균은 다음과 같이 정의할 수 있다.In Equation 6, and Has 2 l +1 dimension, and X l +1 (n) The nth empty value of. On the other hand, when using the above Equation 5, at layer l Wow The L 1 -mean of the liver can be defined as follows.

코쉬-쉬바르쯔 부등식에 의해 |A|+|B|≥|A+B|이므로, 상기 [수학식 7]은 다음의 관계를 만족한다.Since | A | + | B | ≥ | A + B | by the Kosch-Schwartz inequality, Equation 7 satisfies the following relationship.

따라서, 상기 [수학식 6], 상기 [수학식 7] 및 상기 [수학식 8]로부터 다음의 제거조건이 유도된다.Therefore, the following removal condition is derived from Equation 6, Equation 7 and Equation 8.

이하에서 첨부된 도면들을 참조하여 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치 및 방법에 대해 상세하게 설명한다.Hereinafter, an apparatus and method for fast global search of digital data according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치에 대한 일 실시예의 구성을 나타내는 블록도이다.2 is a block diagram showing the configuration of an embodiment of a fast global search apparatus for digital data according to the present invention.

도 2를 참조하면, 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치(20)는, 전처리부(21), 검색테이블저장부(22), 최소값설정부(24), 최소값저장부(25), 연산부(23), 제1제거루프부(28), 제2제거루프부(29), 결정부(27) 및 제어부(26)를 갖는다.2, the fast global search apparatus 20 for digital data according to the present invention includes a preprocessor 21, a lookup table storage 22, a minimum value setting section 24, a minimum value storage section 25, It has a calculating part 23, the 1st removal loop part 28, the 2nd removal loop part 29, the determination part 27, and the control part 26. As shown in FIG.

전처리부(21)는 모든 데이터 및 해당 기술자들을 L1-평균(norm)의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성한다. 도 3은 전처리부에서 생성된 각 계층에 대한 검색테이블을 도시한 도면이다. 전처리부(21)는 기술자벡터 에 속하는 각 요소의 크기순으로 정렬된 최상위계층의 검색테이블 를 생성한 후 순차적으로 에 기초하여 최하위계층 에 이르기까지 각 하위계층에 대한 검색테이블을 생성한다.The preprocessor 21 sorts all data and corresponding descriptors in ascending order of L 1 -norm to generate a lookup table for each layer. 3 is a diagram illustrating a search table for each layer generated by the preprocessor. The preprocessor 21 is a technician vector Lookup table at the top level, sorted by the size of each element belonging to And then sequentially Lowest hierarchy based on Create a lookup table for each sublayer up to.

기술자벡터를 (1≤i≤N, 1≤l≤L)라 하면, 각 검색테이블의 세로방향의 구성요소의 개수는 전체 데이터의 수 N과 같으며, 각각의 세로방향의 구성요소에 대한 가로방향의 구성요소의 개수는 2L이 된다. 이러한 전처리과정에서 전처리부(21)는 각 계층에 대한 검색테이블에서 동일한 기술자는 동일한 위치에 기록한다. 전처리부(21)에서 생성된 각 계층에 대한 검색테이블은 검색테이블저장부(22)에 저장된다.Vector When La (1≤i≤N, 1≤ l ≤L), the number of components in the vertical direction of each look-up table is the same as the total number of data N, the configuration in the transverse direction of the respective component in the longitudinal direction The number of elements is 2 L. In this preprocessing, the preprocessor 21 records the same descriptors in the same position in the lookup table for each layer. The lookup table for each layer generated by the preprocessor 21 is stored in the lookup table storage 22.

최소값설정부(24)는 최상위계층에 대한 검색테이블로부터 입력 질의자벡터 의 크기와 가장 유사한 L1-평균을 갖는 초기최적기술자 을 결정하여 입력 질의자벡터와 초기최적기술자간의 거리를 최소값으로 설정한다. 최소값설정부(24)에서 설정된 최소값은 최소값저장부(25)에 저장된다. 최소값설정부(24)에서 결정된 초기최적기술자는 검색테이블에 대한 이진탐색을 통해 검색된 기술자이며, 입력 질의자벡터 와 초기최적기술자와의 거리는 상기 [수학식 6]에 의해 계산된다.The minimum value setting section 24 inputs an input query vector from the lookup table for the highest hierarchy. Initial best descriptor with L 1 -means most similar to the size of We set the distance between the input query vector and the initial optimal descriptor as the minimum value. The minimum value set by the minimum value setting unit 24 is stored in the minimum value storage unit 25. The initial optimal descriptor determined by the minimum value setting unit 24 is a descriptor searched through a binary search of a search table, and the input query vector And the distance from the initial optimal descriptor are calculated by Equation 6 above.

연산부(23)는 초기최적기술자의 전후방을 번갈아가며 검색하여 검색테이블로부터 후보 기술자벡터 를 선정하여 입력 질의자벡터 와의 상기 [수학식 7]에 따른 거리값을 계산한다. 이때, 연산부(23)는 입력 질의자벡터 및 후보 기술자벡터의 크기에 대한 계산을 수행한다. 그러나 별도의 크기계산부(도면에는 도시되어 있지 않음)에서 입력 질의자벡터 및/또는 후보 기술자벡터의 크기를 계산하여 연산부(23)에 제공하도록 할 수도 있다. 도 6에는 후보 기술자벡터 를 선정하기 위한 검색순서가 도시되어 있다.The calculation unit 23 alternately searches front and rear of the initial optimal descriptor and searches the candidate descriptor vector from the search table. Input query vector by selecting Calculate the distance value according to Equation 7 above. At this time, the calculation unit 23 calculates the size of the input query vector and the candidate descriptor vector. However, a separate size calculator (not shown) may calculate the size of the input query vector and / or candidate descriptor vector and provide the same to the operator 23. The candidate descriptor vector is shown in FIG. The search order for selecting is shown.

제1제거루프부(28)는 후보 기술자벡터 가 위치하는 계층으로부터 최하위계층에 대한 각각의 검색테이블로부터 일정한 제거조건에 해당하는 기술자를 검색대상에서 제거하는 동작을 반복적으로 수행한다. 제거조건은 ∥∥≥∥∥(1≤j≤N)로 설정되며, 제1제거루프부(28)는 연산부(23)에서 계산한 거리값이 제거조건을 만족하면, 최하위계층에 도달할 때까지 각각의 계층에 대한 검색테이블로부터 i≥j인 모든 기술자벡터 들을 검색대상에서 제거하고, 제거조건을 만족하지 않으면, 최하위계층에 도달할 때까지 각각의 계층에 대한 검색테이블로부터 i≤j인 모든 기술자벡터 들을 검색대상에서 제거한다.The first removal loop unit 28 is a candidate descriptor vector. An operation of repeatedly removing a descriptor corresponding to a predetermined elimination condition from the search target from each search table for the lowest hierarchy from the hierarchy where is located is performed. Removal condition ∥≥∥ (1 ≦ j ≦ N), and if the distance value calculated by the calculation unit 23 satisfies the removal condition, the first removal loop unit 28 searches for each layer until reaching the lowest layer. All descriptor vectors i≥j from the table All descriptor vectors with i≤j from the lookup table for each layer until the lowest layer is reached Remove them from the search.

제2제거루프부(29)는 후보 기술자벡터 가 존재하는 검색테이블에 대한 연속되는 하위계층의 검색테이블로부터 후보 기술자벡터 를 선정하여 연산부(23)에서 계산된 상기 [수학식 7]에 의한 계산값을 현재의 최소값과 비교하여 현재의 최소값이 작으면 동작을 정지한다. 한편, 현재의 최소값이 크면, 최하위계층에 도달할 때까지 비교동작을 수행하여 최하위계층에 대한 검색테이블로부터 선정된 후보 기술자벡터 에 대한 상기 [수학식 7]에 의한 계산값을 최소값으로 취하여 최소값을 갱신한 후 후보 기술자벡터 를 최하위계층에 대한 검색테이블로부터 제거한다.The second removal loop unit 29 is a candidate descriptor vector. A candidate descriptor vector from consecutive lookup tables of the lookup table for which Selects and compares the calculated value according to [Equation 7] calculated by the calculation unit 23 with the current minimum value and stops the operation when the current minimum value is small. On the other hand, if the current minimum value is large, the candidate descriptor vector selected from the lookup table for the lowest layer is performed by performing a comparison operation until reaching the lowest layer. The candidate descriptor vector after updating the minimum value by taking the calculated value according to Equation 7 above as the minimum value. Remove from the lookup table for the lowest hierarchy.

결정부(27)는 제어부(26)의 제어신호에 따라 최소값저장부(25)에 저장되어 있는 최소값을 입력 질의자벡터 에 대한 최적정합기술자로 결정하여 출력한다.The determination unit 27 inputs the minimum value stored in the minimum value storage unit 25 according to the control signal of the control unit 26. Determine and output the best matching descriptor for.

제어부(26)는 연산부(23)에서 계산된 거리값이 상기 [수학식 4]의 조건을 만족하면 제1제거루프부(28)로 제거동작을 수행하도록 하는 제어신호를 출력하고, 최하위계층의 검색테이블에서 모든 기술자가 제거되면 결정부(27)로 최적정합기술자의 출력동작을 수행하도록 하는 제어신호를 출력한다.The control unit 26 outputs a control signal for performing the removal operation to the first removal loop unit 28 when the distance value calculated by the calculation unit 23 satisfies the condition of [Equation 4]. When all descriptors are removed from the lookup table, the decision unit 27 outputs a control signal for performing the output operation of the optimum matching descriptor.

한편, 연산부(23)에서 계산된 거리값이 상기 [수학식 4]의 조건을 만족하지 않으면, 제어부(26)는 제2제거루프부(29)로 제거동작을 수행하도록 하는 제어신호를 출력하며, 제2제거루프부(29)의 동작수행중에 상기 [수학식 4]의 조건을 만족하는 계층에 도달하면 제2제거루프부(29)의 동작수행을 중지하도록 하는 제어신호 및 제1제거루프부(28)의 제거동작을 수행하도록 하는 제어신호를 출력한다. 또한 제2제거루프부(29)의 동작수행중에 상기 [수학식 4]를 만족하는 계층이 존재하지 않으면 제어부(26)는 최하위계층에 대한 제거동작을 수행했는가를 확인하여 최하위계층에 도달한 것으로 확인되면, 최하위계층에서의 후보 기술자벡터에 대한 상기 [수학식 7]에 의한 계산값을 최소값으로 취하여 최소값을 갱신한 후 해당 후보 기술자벡터를 최하위계층으로부터 제거한다.On the other hand, if the distance value calculated by the calculation unit 23 does not satisfy the condition of [Equation 4], the control unit 26 outputs a control signal for performing the removal operation to the second removal loop unit 29 When the second elimination loop unit 29 reaches the layer satisfying the condition of Equation 4 during the operation, the control signal and the first eliminating loop stop the operation of the second eliminating loop unit 29. A control signal for performing the removal operation of the unit 28 is output. In addition, if there is no layer that satisfies Equation 4 during the operation of the second removal loop unit 29, the controller 26 confirms whether the removal operation is performed on the lowest layer and reaches the lowest layer. If confirmed, the calculated value according to Equation 7 for the candidate descriptor vector in the lowest layer is taken as the minimum value, the minimum value is updated, and the candidate descriptor vector is removed from the lowest layer.

한편, 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치는, 입력 질의자벡터에 대한 최적정합기술자를 결정하여 출력하는 과정에서 단일 최적정합기술자만을 출력하지 않고 임의 개수의 상위 다수의 최적정합기술자들을 출력하도록 할 수 있다. 이 경우 최소값저장부(25)는 전체 데이터 개수에 해당하는 섹터로 구분된다. 만약 출력하고자 하는 상위 다수의 최적정합기술자들의 개수가 M(M≤전체 데이터 개수)개로 설정되어 있다면, 그 중 가장 작은값이 최소값저장부(25)의 최하위섹터에 저장된다. On the other hand, the high-speed global search apparatus for digital data according to the present invention, in the process of determining and outputting the best matching descriptor for the input interrogator vector, and outputs any number of the top number of optimal matching descriptors without outputting only a single best matching descriptor You can do that. In this case, the minimum value storage unit 25 is divided into sectors corresponding to the total number of data. If the number of the uppermost optimal matching descriptors to be output is set to M (M ≤ total data numbers), the smallest value among them is stored in the lowest sector of the minimum value storage unit 25.

제2제거루프부(29)의 동작결과에 따라 최소값이 갱신되면, 제어부(26)는 새로운 최소값을 최소값저장부(25)의 비어있는 섹터에 저장하도록 하는 제어신호를 출력한다. 새로운 최소값이 최소값저장부(25)에 저장되면 최소값저장부(25)에 저장되어 있는 최소값들은 크기순으로 정렬되어 가장 작은 최소값이 최하위섹터에 저장되며 나머지 최소값들은 순차적으로 최상위섹터의 방향으로 저장된다. 만약 M개의 최소값들이 최소값저장부(25)에 존재함에도 불구하고 새로운 최소값이 존재하면, 기저장된 최소값중에서 가장 큰 최소값이 삭제되고 새로운 최소값이 최소값저장부(25)에 저장된 후 크기순으로 정렬된다.When the minimum value is updated according to the operation result of the second removal loop unit 29, the control unit 26 outputs a control signal for storing the new minimum value in the empty sector of the minimum value storage unit 25. When the new minimum value is stored in the minimum value storage unit 25, the minimum values stored in the minimum value storage unit 25 are sorted in size order so that the smallest minimum value is stored in the lowest sector, and the remaining minimum values are sequentially stored in the direction of the highest sector. . If the M minimum values exist in the minimum value storage unit 25 but the new minimum values exist, the largest minimum value among the previously stored minimum values is deleted, and the new minimum value is stored in the minimum value storage unit 25 and then sorted in size order.

도 4는 본 발명에 따른 디지털 데이터의 고속 전역 탐색 방법에 대한 일 실시예의 흐름도이다.4 is a flowchart of an embodiment of a fast global search method of digital data according to the present invention.

도 4를 참조하면, 전처리부(21)는 데이터 및 각 데이터에 대한 기술자들을 L1-norm의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성한다(S400). 각 계층에 대한 검색테이블에서 동일한 기술자는 각 검색테이블상의 동일한 위치에 기록된다. 전처리부(21)에서 각 계층에 대해 생성된 검색테이블은 검색테이블저장부(22)에 저장된다.Referring to FIG. 4, the preprocessor 21 generates a lookup table for each layer by sorting data and descriptors for each data in ascending order of L 1 -norm (S400). The same descriptor in the lookup table for each hierarchy is recorded at the same location on each lookup table. The search table generated for each layer in the preprocessor 21 is stored in the search table storage 22.

최소값설정부(24)는 최상위계층에 대한 검색테이블에 기록되어 있는 기술자중에서 입력 질의자벡터 의 크기와 가장 유사한 초기최적기술자 를 결정하며(S410), 입력 질의자벡터 와 최기최적기술자 에 대해 상기 [수학식 7]에 의한 거리를 최소값 dmin으로 설정한다(S415). 최소값설정부(24)는 최상위계층에 대한 검색테이블이 이미 올림차 순으로 정렬되어 있으므로 초기최적기술자 을 이진탐색법에 의해 찾을 수 있다. 또한 입력 질의자벡터 와 초기최적기술자 에 대해 상기 [수학식 7]에 의한 거리는 연산부(23)에서 계산되어 최소값설정부(24)로 입력될 수 있다.The minimum value setting section 24 is the input query vector among the descriptors recorded in the lookup table for the highest hierarchy. The initial optimal descriptor most similar to the size of the (S410), input query vector And Choi Best Engineer With respect to the distance set by the above Equation 7 is set to the minimum value d min (S415). The minimum value setting section 24 is the initial optimal descriptor because the search table for the highest hierarchy is already sorted in ascending order. Can be found by binary search. Also input query vector And early optimization engineers The distance by Equation 7 may be calculated by the calculating unit 23 and input to the minimum value setting unit 24.

연산부(23)는 초기최적기술자 의 전후방을 번갈아 가며 최상위계층에 대한 검색테이블을 탐색하여 후보 기술자벡터 를 선택하고 질의자벡터 와의 거리를 상기 [수학식 7]에 의해 거리값을 계산한다(S420). 제어부(26)는 연산부(23)서 계산된 거리값이 최소값보다 크거나 같은가를 확인한다(S425). 제어부(26)는 거리값이 최소값보다 크거나 같은 것으로 확인되면, 일정한 제거조건에 따라 각각의 하위계층에 대한 검색테이블로부터 기술자들을 제거하도록 하는 제어신호를 제1제거루프부(28)로 출력한다.The calculation unit 23 is the initial optimal engineer Searching the search table for the top level by alternating front and back of the candidate descriptor vector. Select the query vector Calculate the distance value with the distance by [Equation 7] (S420). The controller 26 checks whether the distance value calculated by the calculator 23 is greater than or equal to the minimum value (S425). If it is determined that the distance value is greater than or equal to the minimum value, the controller 26 outputs a control signal to the first removal loop unit 28 to remove descriptors from the lookup table for each lower layer according to a predetermined removal condition. .

제1제거루프부(28)는 제어부(26)로부터 제거동작에 관한 제어신호를 입력받으면 후보 기술자벡터의 크기와 질의자벡터의 크기를 비교한다(S430). 후보 기술자벡터의 크기가 질의자벡터의 크기보다 크거나 같은 경우에, 제1제거루프부(28)는 각 계층에 대한 검색테이블로부터 후보 기술자벡터의 크기보다 크거나 같은 모든 기술자들을 제거한다(S435). 반대로, 후보 기술자벡터의 크기가 질의자벡터의 크기보다 작은 경우에, 제1제거루프부(28)는 각 계층에 대한 검색테이블로부터 후보 기술자벡터의 크기보다 작은 모든 기술자들을 제거한다(S440).When the first removal loop unit 28 receives a control signal for the removal operation from the control unit 26, the first removal loop unit 28 compares the size of the candidate descriptor vector with the size of the interrogator vector (S430). If the size of the candidate descriptor vector is greater than or equal to the size of the query vector, the first removal loop unit 28 removes all descriptors greater than or equal to the size of the candidate descriptor vector from the search table for each layer (S435). ). On the contrary, when the size of the candidate descriptor vector is smaller than the size of the query vector, the first removal loop 28 removes all descriptors smaller than the size of the candidate descriptor vector from the search table for each layer (S440).

제어부(26)는 제1제거루프부(28)가 상기 S435단계 또는 상기 S440단계에 의한 기술자벡터의 제거동작을 완료하면 최하위계층에 제거되지 않은 기술자벡터가 존재하는가를 확인한다(S445) 만약 최하위계층에 제거되지 않은 기술자벡터가 존재하면 제어부(28)는 상술한 후보 기술자벡터의 검색순서에 따라 최상위계층에 대한 검색테이블에서 새로운 후보 기술자벡터를 선정하도록 하는 제어신호를 출력한다. 따라서 새로운 후보 기술자벡터에 대해 상기 S420단계 내지 S445단계가 수행된다.If the first removal loop unit 28 completes the removal operation of the descriptor vector according to the step S435 or the step S440, the controller 26 checks whether there is a descriptor vector not removed in the lowest layer (S445). If there is a descriptor vector not removed in the hierarchy, the controller 28 outputs a control signal for selecting a new candidate descriptor vector from the search table for the top layer according to the above-described search order of the candidate descriptor vectors. Therefore, steps S420 to S445 are performed on the new candidate descriptor vector.

한편, 상기 S425단계에서 거리값이 최소값보다 작은 것으로 확인되면, 제어부(26)는 제2제거루프부(29)로 연속되는 다음 하위계층에 대한 검색테이블로부터 후보 기술자벡터의 제거동작을 수행하도록 하는 제어신호를 출력한다. 이 경우 연산부(23)는 현재 검색중인 후보 기술자벡터 에 해당하는 후보 기술자벡터를 다음 하위계층에 대한 검색테이블에서 선택하고 선택된 후보 기술자벡터에 대해 상기 [수학식 7]에 의한 거리값을 계산하여 제2제거루프부로 출력한다(S455). 제어부(26)는 연산부(23)에 의해 계산된 거리값이 최소값보다 크거나 같은가를 확인한다(S460).On the other hand, if it is determined in step S425 that the distance value is smaller than the minimum value, the control unit 26 performs the removal operation of the candidate descriptor vector from the search table for the next lower layer that continues to the second removal loop unit 29. Output a control signal. In this case, the calculation unit 23 is the candidate descriptor vector currently being searched for. The candidate descriptor vector corresponding to the sub-layer is selected from the search table for the next lower layer, and the distance value according to Equation 7 is calculated for the selected candidate descriptor vector and output to the second removal loop unit (S455). The controller 26 checks whether the distance value calculated by the calculator 23 is greater than or equal to the minimum value (S460).

제2제거루프부(29)는 최하위계층에 도달할 때까지 각각의 하위계층에 대한 검색테이블에서 선택된 후보 기술자벡터의 거리값이 최소값보다 작은 경우에 제거동작을 수행한다(S455 내지 S465). 최하위계층에 도달할 때까지 각각의 하위계층에 대한 검색테이블에서 선택된 후보 기술자벡터의 거리값이 최소값보다 작은 경우에 제2제거루프부(29)는 최하위계층에 대한 검색테이블로부터 후보 기술자벡터 에 대해 상기 [수학식 7]에 의해 계산된 거리값을 최소값으로 취하여 최소값을 갱신하며, 갱신된 최소값은 최소값저장부(25)에 저장된다(S470).The second removal loop unit 29 performs a removal operation when the distance value of the candidate descriptor vector selected in the search table for each lower layer is smaller than the minimum value until reaching the lowest layer (S455 to S465). When the distance value of the candidate descriptor vector selected in the lookup table for each lower layer is smaller than the minimum value until the lowest layer is reached, the second removing loop unit 29 removes the candidate descriptor vector from the lookup table for the lowest layer. The minimum value is updated by taking the distance value calculated by Equation 7 as the minimum value, and the updated minimum value is stored in the minimum value storage unit 25 (S470).

제어부(26)는 제2제거루프부(29)의 제거동작 수행중에 각각의 하위계층에 검색테이블에서 선택된 후보 기술자벡터의 거리값이 최소값보다 크거나 같은 것으로 확인되면 제2제거루프부(29)로 제거동작의 수행을 중지하도록 하는 제어신호를 출력한다. 한편, 이 경우 제어부(26)는 제1제거루프부(28)로 제거동작을 수행하도록 하는 제어신호를 출력한다. The control unit 26 determines that the distance value of the candidate descriptor vector selected in the search table in each lower layer is greater than or equal to the minimum value during the removal operation of the second removal loop unit 29. Outputs a control signal to stop the removal operation. In this case, the control unit 26 outputs a control signal for performing the removal operation to the first removal loop unit 28.

상기 S470단계의 수행 후 제어부(26)는 최하위계층에 제거되지 않은 기술자벡터가 존재하는가를 확인하여(S445) 최하위계층에 제거되지 않은 기술자벡터가 존재하는 것으로 확인되면 상술한 후보 기술자벡터의 검색순서에 따라 최상위계층에 대한 검색테이블에서 새로운 후보 기술자벡터를 선정하도록 하는 제어신호를 출력한다. 따라서 새로운 후보 기술자벡터에 대해 상기 S420단계 내지 S445단계가 수행된다.After performing step S470, the control unit 26 checks whether there is a descriptor vector not removed in the lowest layer (S445), and when it is determined that there is a descriptor vector not removed in the lowest layer, the search order of the candidate descriptor vector described above is determined. The control signal outputs a new candidate descriptor vector from the lookup table for the highest layer. Therefore, steps S420 to S445 are performed on the new candidate descriptor vector.

그러나 상술한 바와 같이 최하위계층에 제거되지 않은 기술자벡터가 존재하지 않는 것으로 확인되면 최소값저장부(25)에 저장되어 있는 현재의 최소값을 최적정합기술자로 결정하여 출력하도록 하는 제어신호를 결정부(27)로 출력한다. 결정부는 최소값저장부(25)에 저장되어 있는 현재의 최소값을 최적정합기술자로 결정하여 출력한다(S450).However, as described above, when it is confirmed that there is no descriptor vector not removed in the lowest layer, the control unit 27 determines the current minimum value stored in the minimum value storage unit 25 as the optimum matching descriptor and outputs the control signal. ) The determination unit determines and outputs the current minimum value stored in the minimum value storage unit 25 as an optimum matching descriptor (S450).

한편, 본 발명에 따른 디지털 데이터의 고속 전역 탐색 방법은, 입력 질의자벡터에 대한 최적정합기술자를 결정하여 출력하는 과정에서 단일 최적정합기술자만을 출력하지 않고 임의 개수의 상위 다수의 최적정합기술자들을 출력하도록 할 수 있다. Meanwhile, the fast global search method of digital data according to the present invention outputs any number of top-ranked optimal match descriptors without outputting only a single best match descriptor in the process of determining and outputting an optimal match descriptor for the input interrogator vector. You can do that.

도 5는 디지털 데이터 고속 검색 방법에 대한 다른 실시예의 흐름도이다.5 is a flowchart of another embodiment of a digital data fast retrieval method.

도 5를 참조하면, 사전에 출력을 원하는 최적정합기술자의 개수가 설정된다(S500). 이때, 출력을 원하는 최적정합기술자의 개수는 전체 데이터 개수이하로 설정된다. 최소값설정부(24)에 의해 설정된 최소값은 전체 데이터 개수에 해당하는 섹터로 구분된 최소값저장부(25)의 최하위섹터에 저장된다(S510).Referring to FIG. 5, the number of optimal matching descriptors to be output in advance is set (S500). At this time, the number of optimal matching descriptors to be output is set to the total number of data or less. The minimum value set by the minimum value setting unit 24 is stored in the lowest sector of the minimum value storage unit 25 divided into sectors corresponding to the total number of data (S510).

입력 질의자벡터는 일정한 순서에 따라 검색테이블로부터 선정된 후보 기술자벡터와의 거리가 계산되며, 입력 질의자벡터에 대해 계산된 값은 최소값과 비교된다(S520). 상기 S520단계는 상술한 실시예에서 설명한 바와 같은 과정을 통해 이루어지며, 제어부(26)는 새로운 최소값이 존재하는가를 확인하여(S530) 새로운 최소값이 존재하면 기존재하는 최소값과 새로운 최소값을 크기순으로 정렬하여 최소값저장부(25)에 저장한다(S540).In the input query vector, a distance from the candidate descriptor vector selected from the search table is calculated according to a predetermined order, and a value calculated for the input query vector is compared with a minimum value (S520). The step S520 is performed through the same process as described in the above-described embodiment, and the controller 26 checks whether a new minimum value exists (S530), and if a new minimum value exists, the existing minimum value and the new minimum value in order of magnitude. Aligned and stored in the minimum value storage unit 25 (S540).

제어부(26)는 상기 S530단계 또는 상기 S540단계가 수행된 후 최하위계층에 제거되지 않은 기술자벡터가 존재하는가를 확인한다(S550). 제어부(26)는 최하위계층에 제거되지 않은 기술자벡터가 존재하면 상기 S520단계 내지 상기 S550단계를 반복적으로 수행하도록 하는 제어신호를 출력한다. 이와 달리 최하위계층에 제거되지 않은 기술자벡터가 존재하지 않는 것으로 확인되면, 결정부(27)로 설정된 개수의 최적정합기술자를 출력하도록 하는 제어신호를 출력한다(S560). The controller 26 checks whether there is a descriptor vector not removed in the lowest layer after the step S530 or the step S540 is performed (S550). If there is a descriptor vector not removed in the lowest layer, the controller 26 outputs a control signal to repeatedly perform steps S520 to S550. On the other hand, if it is confirmed that there is no descriptor vector not removed in the lowest layer, the control unit outputs a control signal for outputting the number of optimal matching descriptors set by the determination unit 27 (S560).

상술한 각 실시예에서, 각 단계에서 이루어지는 비교과정은 모두 제어부(26)에서 수행하는 것으로 설명하였으나 각 비교과정은 별도의 판단부에서 행하도록 할 수 있다. 또한 입력 질의자벡터 및/또는 후보 기술자벡터의 크기계산은 별도의 크기계산부에서 수행하여 그 결과값이 연산부로 입력되도록 할 수도 있다. 또한 설명의 편의상 결정부(27)는 최적정합기술자를 출력하지만 최적정합기술자에 대응하는 최적정합자를 출력하도록 할 수도 있다. 나아가 결정부(27)에서 최적정합기술자를 출력하면 그에 대응하는 최적정합자를 추출하여 출력하는 별도의 구성요소를 구비할 수도 있다.In each of the above-described embodiments, all the comparison processes performed in each step are described as being performed by the controller 26, but each comparison process may be performed by a separate determination unit. In addition, the size calculation of the input query vector and / or candidate descriptor vector may be performed by a separate size calculator so that the result value is input to the calculator. In addition, for convenience of description, the determination unit 27 outputs the best matching descriptor, but may also output the best matching descriptor corresponding to the best matching descriptor. Furthermore, when the determination unit 27 outputs the best matching descriptor, it may be provided with a separate component for extracting and outputting the best matching match.

이하에서 본 발명에 따른 고속 전역 탐색 장치 및 방법에 의해 수행된 실험결과를 종래기술 1 및 2와 비교한다.Hereinafter, the experimental results performed by the fast global search apparatus and method according to the present invention are compared with the prior arts 1 and 2.

본 실험에서는 10,000개의 정지 영상으로 구성된 데이터베이스(N=10,000)를 사용하며, 이중 7,000개의 영상은 엠펙7의 실험 영상이며, 3,000개의 영상은 인터넷을 통해 얻은 것들이다. 자연영상, 건축 구조물, 인물영상 등 한 가지 특징에 치우치지 않도록 다양한 형태의 영상들을 실험 영상으로 사용하였다. 실험을 위해 데이터베이스에 포함되지 않은 100개의 영상들이 추가로 도입된다.In this experiment, we use a database of 10,000 still images (N = 10,000), 7,000 of which are experimental images of MPEG7, and 3,000 images obtained from the Internet. Various types of images were used as experimental images so as not to be biased to one feature such as natural image, architectural structure, and portrait image. An additional 100 images are not included in the database for the experiment.

본 실험에서는 영상에 대한 기술자로써 밝기 히스토그램(빈의 개수는 256)을 사용하며, L1-norm 평균을 거리측정자로 사용한다. 모든 영상들의 히스토그램들이 각각의 영상 크기들로 정규화되었기 때문에 최상위계층(계층 0)에서의 히스토그램은 항상 값이 1이 된다. 따라서, 최상위계층에서의 히스토그램들은 비교대상이 될 수 없으며, 도 3의 최상위계층에 대한 검색테이블도 직접 얻어질 수 없다.In this experiment, the brightness histogram (256 bins) is used as the descriptor for the image, and the L 1 -norm average is used as the distance measurer. Since the histograms of all images are normalized to their respective image sizes, the histogram at the top layer (layer 0) always has a value of 1. Therefore, histograms in the top layer cannot be compared, and a lookup table for the top layer in FIG. 3 cannot be obtained directly.

따라서, 본 실험에서는 계층 1의 히스토그램이 최하위계층이 되며, 정렬은 두번째 빈값을 기준으로 이루어진다. 즉, Xi 1[1](1≤i≤N)을 기준으로 올림차 순으로 정렬된다. 여기서, Xi 1[1]을 올림차 순으로 정렬하는 것은 Xi 1 [1]=1-Xi 1[0]이기 때문에 Xi 1[0]를 내림차 순으로 정렬하는 것과 동일하다. 따라서, 여전히 중간에 탐색을 멈출 수 있는 조건을 유지할 수 있다.Therefore, in this experiment, the histogram of layer 1 becomes the lowest layer, and the alignment is based on the second bin value. That is, they are arranged in ascending order based on X i 1 [1] (1 ≦ i ≦ N). Here, to arrange the X i 1 [1] in ascending order of difference is the same as that arranged in descending order of X i 1 [0] because the X i 1 [1] = 1 -X i 1 [0]. Thus, it is still possible to maintain the condition of stopping the search in the middle.

임의의 에 대해 |Xj 1[1]-Q1[1]|≥dmin이면, 이기 때문에 이다. 여기서, Xj 1[1]≥Q1[1]이면, i≥j인 모든 를 손실없이 제거할 수 있다는 조건을 유도할 수 있다. 이 조건에 대한 증명은 다음과 같다.random For x j 1 [1] -Q 1 [1] | ≥d min , Because to be. Where X j 1 [1] ≥Q 1 [1], then i≥j It can lead to the condition that can be removed without loss. The proof of this condition is as follows.

Xj 1[1]≥Q1[1]이면, |Xj 1[1]-Q1[1]|≥d min와 i≥j인 모든 에 대해,If X j 1 [1] ≥Q 1 [1], then | X j 1 [1] -Q 1 [1] | ≥ d min With i≥j About,

|Xi 1[1]-Q1[1]|≥|Xj 1[1]-Q1[1]|| X i 1 [1] -Q 1 [1] | ≥ | X j 1 [1] -Q 1 [1] |

또한, |Xj 1[1]|≥|Q1[1]|은 |Xi 1[0]|≤|Xj 1[0]|≤|Q1[0]|을 의미하므로,Further, | X j 1 [1] | ≥ | Q 1 [1] | means | X i 1 [0] | ≤ | X j 1 [0] | ≤ | Q 1 [0] |

따라서, |Xj 1[1]-Q1[1]|≥dmin이고 Xj 1[1]≥Q 1[1]이면, 손실없이 i≥j인 모든 Xi들을 손실없이 제거할 수 있다.Thus, if | X j 1 [1] -Q 1 [1] | ≥d min and X j 1 [1] ≥Q 1 [1], then all X i with i≥j without loss can be removed without loss. .

본 실험에서 평가척도는 속도향상비(speed-up ratio : SUR)를 사용하며 그 정의는 다음과 같다.The evaluation scale in this experiment uses the speed-up ratio (SUR) and its definition is as follows.

여기서, OESA와 OCOMP는 각각 전역 탐색법의 연산량 및 비교될 방법의 연산량을 의미한다. 본 발명에 따른 디지털 데이터의 고속 탐색 방법의 연산량 고려시 L1-norm 피라미드를 만들기 위한 연산량도 포함된다 고려되는 연산량은 두 개의 주 연산량인 덧셈과 절대치의 횟수를 더함으로써 얻어진다. 공정한 비교를 위해, 100개의 실험영상에 대해 평균 SUR(SURAVG), 최대 SUR(SURMAX) 및 최소 SUR(SURMIN )을 구한다. 또한 본 발명에 따른 디지털 데이터의 고속 탐색 방법과 종래기술 1을 비교한다. 종래기술 1을 구현할 때 50개의 키 영상을 임의로 선택하였다.Here, O ESA and O COMP mean an amount of computation of the global search method and an amount of computation of the method to be compared, respectively. In consideration of the calculation amount of the high-speed search method of the digital data according to the present invention, the calculation amount for making the L 1 -norm pyramid is also included. The calculation amount to be considered is obtained by adding two main operations, addition and the number of absolute values. For a fair comparison, the average SUR (SUR AVG ), maximum SUR (SUR MAX ), and minimum SUR (SUR MIN ) are obtained for 100 experimental images. In addition, it compares the high-speed search method of digital data according to the present invention and the prior art 1. When implementing the prior art 1, 50 key images were randomly selected.

본 발명에 따른 디지털 데이터의 고속 탐색 방법의 성능을 평가하기 위해, M이 각각 1, 5, 10, 20인 네 가지 경우에 대해 실험한다. [표 1]은 본 발명에 따른 디지털 데이터의 고속 탐색 방법과 종래기술 1의 성능을 비교한 것이다. In order to evaluate the performance of the high-speed search method of digital data according to the present invention, four cases where M is 1, 5, 10, and 20 are tested. Table 1 compares the performance of the fast searching method of digital data according to the present invention and the prior art 1.

MM 본 발명The present invention 종래기술 1Prior art 1 SURAVG SUR AVG SURMAX SUR MAX SURMIN SUR MIN SURAVG SUR AVG SURMAX SUR MAX SURMIN SUR MIN 1One 60.560.5 1098.51098.5 30.830.8 4.84.8 8.48.4 1.81.8 55 33.533.5 261.1261.1 16.516.5 3.83.8 6.76.7 1.41.4 1010 24.624.6 121.5121.5 12.312.3 3.33.3 6.36.3 1.31.3 2020 17.717.7 65.865.8 9.59.5 3.03.0 5.85.8 1.21.2

[표 1]에 기재된 바와 같이, 단일 최적정합기술자를 출력할 때, 즉 M=1일 때 본 발명에 따른 디지털 데이터의 고속 탐색 방법은 ESA보다 평균 61배 가량 빠르다. 이것은 M이 클수록 각 계층에서의 거리 계산이 더 많아지기 때문이다. 그러나, 상위 다수의 최적정합기술자를 출력할 때도 본 발명에 따른 디지털 데이터의 고속 탐색 방법은 여전히 ESA보다 빠른 속도를 유지한다. 한편, 본 발명에 따른 디지털 데이터의 고속 탐색 방법은 M의 값에 따라 종래기술 1보다 5.9배 내지 12.6배 정도 빠르다.As shown in Table 1, when outputting a single best match descriptor, that is, when M = 1, the fast search method of digital data according to the present invention is on average about 61 times faster than ESA. This is because the larger M is, the more distance calculation is in each layer. However, even when outputting a high number of optimal matching descriptors, the fast searching method of digital data according to the present invention still maintains a faster speed than the ESA. On the other hand, the high-speed search method of the digital data according to the present invention is about 5.9 to 12.6 times faster than the prior art 1 according to the value of M.

본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치 및 방법에 의하면, 일정한 제거조건에 해당하는 기술자벡터를 각각의 계층에 대한 검색테이블로부터 일괄적으로 제거함으로써 최적정합기술자의 결정에 소요되는 계산량을 감소시킬 수 있다. 또한 최상위계층으로부터 최하위계층까지 순차적으로 기술자벡터를 제거하게 되어 최하위계층에서 제거되는 기술자벡터의 수가 증가하므로 최하위계층에 대한 기술자벡터에 대해 수행되어야 하는 계산량이 줄어들어 결정시간의 단축이 가능하다.According to the apparatus and method for fast global search of digital data according to the present invention, by eliminating descriptor vectors corresponding to a certain elimination condition from the lookup table for each layer, it is possible to reduce the amount of computation required for the determination of the optimum matching descriptor. Can be. In addition, since the descriptor vectors are sequentially removed from the highest layer to the lowest layer, the number of descriptor vectors removed from the lowest layer is increased, thereby reducing the amount of calculation to be performed on the descriptor vector for the lowest layer, thereby reducing the determination time.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Although the present invention has been described in detail through the representative embodiments, those skilled in the art to which the present invention pertains can make various modifications without departing from the scope of the present invention with respect to the embodiments described above. Will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

도 1은 L1-norm 피라미드 데이터 구조 및 L1-norm 피라미드 데이터 구조의 생성방법을 도시한 도면,1 is a diagram illustrating a method of generating an L 1 -norm pyramid data structure and an L 1 -norm pyramid data structure;

도 2는 본 발명에 따른 디지털 데이터의 고속 전역 탐색 장치에 대한 일 실시예의 구성을 나타내는 블록도,2 is a block diagram showing the configuration of an embodiment of a fast global search apparatus for digital data according to the present invention;

도 3은 전처리부에서 생성된 각 계층에 대한 검색테이블을 도시한 도면,3 is a diagram illustrating a search table for each layer generated by a preprocessor;

도 4는 본 발명에 따른 디지털 데이터의 고속 전역 탐색 방법에 대한 일 실시예의 흐름도,4 is a flowchart of an embodiment of a fast global search method of digital data according to the present invention;

도 5는 디지털 데이터 고속 검색 방법에 대한 다른 실시예의 흐름도, 그리고,5 is a flowchart of another embodiment of a digital data fast retrieval method, and

도 6은 후보 기술자벡터 를 선정하기 위한 검색순서를 도시한 도면이다.6 is a candidate descriptor vector Is a diagram illustrating a search order for selecting.

Claims (19)

모든 데이터 및 해당 기술자벡터들을 L1-평균(norm)의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성하는 전처리부;A preprocessor for sorting all data and corresponding descriptor vectors in ascending order of L 1 -norm to generate a lookup table for each layer; 생성된 상기 각 계층에 대한 검색테이블을 저장하는 검색테이블저장부;A search table storage unit which stores a search table for each of the generated hierarchies; 저장된 상기 각 계층에 대한 검색테이블 중에서 최상위계층에 대한 검색테이블로부터 입력 질의자벡터 의 크기와 가장 유사한 L1-평균을 갖는 초기최적기술자를 결정하고, 상기 입력 질의자벡터 와 상기 초기최적기술자의 거리를 최소값으로 설정하는 최소값설정부;Input query vector from search table for top layer among search tables for each layer stored Determine an initial optimal descriptor with L 1 -means most similar to the size of A minimum value setting unit for setting a distance of the initial optimum descriptor to a minimum value; 상기 최소값을 저장하는 최소값저장부;A minimum value storage unit for storing the minimum value; 일정한 검색순서에 따라, 상기 최상위계층에 대한 검색테이블로부터 후보 기술자벡터 를 선정하여, 상기 입력 질의자벡터 와의 거리값을 산출하는 연산부;A candidate descriptor vector from a lookup table for the top layer according to a predetermined search order. By selecting the input query vector A calculating unit for calculating a distance value with the; 입력되는 제거동작에 관한 제어신호에 따라, 상기 후보 기술자벡터 가 위치하는 계층 내지 최하위계층에 대한 각각의 상기 검색테이블로부터 소정의 제거조건에 해당하는 상기 기술자벡터를 검색대상에서 제거하는 제거동작을 반복적으로 수행하는 제1제거루프부;The candidate descriptor vector in accordance with a control signal relating to an input removal operation; A first removal loop unit for repeatedly performing a removal operation of removing the descriptor vector corresponding to a predetermined removal condition from a search object for each of the hierarchical layers and the lowest hierarchical layers in which is located; 상기 최소값저장부에 저장되어 있는 상기 최소값을 상기 입력 질의자벡터 에 대한 최적정합기술자로 결정하여 출력하는 결정부; 및The minimum query value stored in the minimum value storage unit is the input query vector. Decision unit for determining and outputting the optimum matching descriptor for; And 상기 연산부에서 계산된 상기 거리값이 상기 최소값보다 크거나 같은 경우, 상기 제1제거루프부로 상기 제거동작을 수행하도록 하는 상기 제거동작에 관한 제어신호를 출력하고, 상기 최하위계층에 대한 검색테이블에서 모든 상기 후보 기술자벡터 가 제거되면, 상기 결정부로 상기 최적정합기술자의 출력동작을 수행하도록 하는 제어신호를 출력하는 제어부;를 포함하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.If the distance value calculated by the operation unit is greater than or equal to the minimum value, the control signal relating to the removal operation for performing the removal operation to the first removal loop unit is output, and in the search table for the lowest hierarchy, The candidate descriptor vector And a controller for outputting a control signal for performing the output operation of the optimum matching descriptor to the determination unit. 제 1항에 있어서,The method of claim 1, 상기 연산부에서, 상기 거리값의 산출 수식은,In the calculation unit, the calculation formula of the distance value is, 이며, 상기 후보 기술자벡터 가 존재하는 상기 검색테이블에 대한 연속되는 하위계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 를 선정하여, 상기 거리값의 산출 수식에 의해 계산된 거리값을 상기 초기값으로 대치하는 동작, 및 상기 최하위계층에 도달하면 상기 후보 기술자벡터 를 상기 최하위계층에 대한 상기 검색테이블로부터 제거하는 제거동작을 수행하는 제2제거루프부;를 더 포함하며,The candidate descriptor vector The candidate descriptor vector from the lookup table for successive lower hierarchies for the lookup table in which Selecting, and replacing the distance value calculated by the calculation formula of the distance value with the initial value, and when the lowest layer is reached, the candidate descriptor vector. And a second removal loop unit which performs a removal operation of removing from the search table for the lowest layer. 상기 제어부는, 상기 거리값이 상기 초기값보다 작은 경우, 상기 제2제거루프부로 상기 초기값의 대치동작을 수행하도록 하는 제어신호를 출력하며, 상기 제2제거루프부의 동작수행중에 상기 거리값이 상기 초기값보다 크거나 같은 경우에 해당하는 계층에 도달하면 상기 제2제거루프부의 동작수행을 중지하도록 하는 제어신호, 및 상기 제1제거루프부의 제거동작을 수행하도록 하는 상기 제거동작에 관한 제어신호를 출력하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.If the distance value is smaller than the initial value, the controller outputs a control signal for performing the replacement operation of the initial value to the second removal loop unit, and the distance value is changed during the operation of the second removal loop unit. A control signal for stopping the operation of the second removal loop part when reaching a layer corresponding to the same or larger than the initial value, and a control signal for the removal operation for performing the removal operation of the first removal loop part. A high-speed global search device for digital data, characterized in that for outputting. 제 2항에 있어서,The method of claim 2, 상기 최소값저장부는 복수의 섹터를 가지며,The minimum value storage unit has a plurality of sectors, 복수개의 상기 최적정합기술자를 결정하여 출력하도록 설정되어 있는 경우, 상기 제어부는 상기 제2제거루프부에 의한 상기 최소값 갱신동작의 수행시 이전의 상기 최소값 및 새로운 상기 최소값을 상기 최소값저장부의 각 섹터에 순차적으로 저장하도록 하는 제어신호를 출력하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.When the plurality of optimal matching descriptors are set to be determined and outputted, the controller is configured to transmit the previous minimum value and the new minimum value to each sector of the minimum value storage unit when the minimum value update operation is performed by the second removal loop unit. A high-speed global search device for digital data, characterized by outputting a control signal to be sequentially stored. 제2항에 있어서,The method of claim 2, 상기 제거조건은 ∥∥≥∥∥이며, 상기 제1제거루프부는,The removal condition is ∥≥∥ ∥, and the first removal loop portion is 상기 제거조건을 만족하면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 큰 L1-평균(norm)을 갖는 기술자벡터들을 검색대상에서 제거하고,If the elimination condition is satisfied, the candidate descriptor vector from the search table for each layer until the lowest layer is reached. Remove descriptors with larger L 1 -norm from search 상기 제거조건을 만족하지 않으면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 작은 L1-평균(norm)을 같는 기술자벡터들을 검색대상에서 제거하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.If the elimination condition is not satisfied, the candidate descriptor vector from the search table for each layer until the lowest layer is reached. A fast global search apparatus for digital data, characterized by removing descriptor vectors having a smaller L 1 -norm from the search target. 제2항에 있어서,The method of claim 2, 상기 전치리부는 각 계층에 대한 상기 검색테이블에서 동일한 기술자는 동일한 위치에 기록하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.And the preposition unit records the same descriptors in the same position in the search table for each layer. 제2항에 있어서,The method of claim 2, 상기 초기최적기술자는 상기 검색테이블에 대한 이진탐색을 통해 검색되는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.And the initial optimum descriptor is searched through a binary search for the search table. 제2항에 있어서,The method of claim 2, 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리는, 상기 거리값의 산출 수식에 의해 계산되는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.The input query vector And a distance between the initial optimal descriptor and the initial optimum descriptor are calculated by a calculation formula of the distance value. 제 1항에 있어서,The method of claim 1, 상기 검색순서는 상기 초기최적기술자의 전후방을 번갈아가며 검색하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.And said search order searches alternately before and after said initial optimal descriptor. 제 1항에 있어서,The method of claim 1, 상기 입력 질의자벡터 의 크기를 계산하여 상기 연산부로 제공하는 크기계산부;를 더 포함하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 장치.The input query vector And a size calculator configured to calculate a size of the size and provide the calculated size to the calculator. 전처리부, 최소값저장부, 연산부, 제1제거루프부, 및 제어부를 구비하는 디지털 데이터의 고속 전역 탐색 장치에서의 디지털 데이터의 고속 전역 탐색 방법에 있어서, A fast global search method of digital data in a fast global search apparatus for digital data, comprising a preprocessor, a minimum value storage unit, a calculation unit, a first removal loop unit, and a control unit. (a) 상기 전처리부에서 전체 데이터 및 해당 기술자들을 L1-평균(norm)의 올림차 순으로 정렬하여 각 계층에 대한 검색테이블을 생성하여 저장하는 단계;(a) generating and storing a search table for each layer by sorting the entire data and corresponding descriptors in ascending order of L 1 -norm in the preprocessor; (b) 상기 최소값설정부에서, 저장된 상기 각 계층에 대한 검색테이블 중에서 최상위계층에 대한 검색테이블로부터 입력 질의자벡터 의 크기와 가장 유사한 L1-평균을 갖는 초기최적기술자를 결정하고, 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리를 최소값으로 설정하여 저장하는 단계;(b) an input query vector from the search table for the highest layer among the stored search tables for each layer in the minimum value setting section; Determine an initial optimal descriptor with L 1 -means most similar to the size of And storing a distance between the initial optimal descriptor and a minimum value; (c) 상기 연산부가 일정한 검색순서에 기초하여 상기 최상위계층에 대한 검색테이블에서 후보 기술자벡터 를 선정하여, 상기 입력 질의자벡터 와의 거리값을 산출하는 단계;(c) a candidate descriptor vector in a search table for the highest layer based on a predetermined search order by the operation unit; By selecting the input query vector Calculating a distance value with; (d) 상기 제1제거루프부에서, 상기 연산부에서 계산된 거리값이 상기 최소값보다 크거나 같은 경우, 상기 후보 기술자벡터 가 위치하는 계층으로부터 최하위계층에 대한 상기 검색테이블로부터 소정의 제거조건에 해당하는 상기 기술자벡터를 검색대상에서 제거하는 제거하는 단계; 및(d) the candidate descriptor vector when the distance value calculated in the operation unit is greater than or equal to the minimum value in the first removal loop unit; Removing the descriptor vector corresponding to a predetermined elimination condition from the search table for the lowest hierarchy from the hierarchy where is located, from the search target; And (e) 상기 제어부에서, 상기 최하위계층에 대한 검색테이블에서 제거되지 않은 상기 후보 기술자 벡터 가 존재하면, 상기 (d)단계로 진행하고, 상기 최하위계층에서 모든 상기 후보 기술자 벡터 가 제거되면 현재의 상기 최소값을 상기 최적정합기술자로 결정하여 출력하도록 제어하는 단계;를 포함하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.(e) the candidate descriptor vector not removed from the lookup table for the lowest layer in the control unit; If is present, proceed to the step (d), and all the candidate descriptor vector in the lowest layer And removing the control unit to determine and output the current minimum value as the optimal matching descriptor. 제 10항에 있어서, The method of claim 10, 상기 거리값의 산출 수식은,The formula for calculating the distance value is, 이며,Is, 상기 (d)단계에서 상기 거리값이 상기 최소값보다 작은 경우, In the step (d), if the distance value is smaller than the minimum value, 상기 (d)단계는, (d1) 현재 검색중인 계층이 상기 최하위계층인가를 확인하는 단계를 포함하며,Step (d) includes (d1) checking whether the layer currently being searched is the lowest layer, 상기 최하위계층에 대해 검색중이 아닌 것으로 확인되면, 검색중인 계층의 하위계층으로 이동하여 상기 후보 기술자벡터 에 대해 상기 거리값을 산출하고, 상기 (d)단계로 진행하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.If it is determined that the lowest layer is not being searched, the candidate descriptor vector is moved to the lower layer of the searching layer. And calculating the distance value, and proceeding to step (d). 제 11항에 있어서,The method of claim 11, 상기 (d1)단계에서 상기 최하위계층에 대해 검색중인 것으로 확인되면, 상기 후보 기술자벡터 에 대한 상기 거리값을 상기 최소값으로 취하여 상기 최소값을 갱신하고, 상기 후보 기술자벡터 를 상기 최하위계층으로부터 제거한 후 상기 (c)단계로 진행하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.If it is determined in step (d1) that the lowest layer is being searched, the candidate descriptor vector Taking the distance value with respect to the minimum value and updating the minimum value, and the candidate descriptor vector And removing from the lowest layer, the process proceeds to step (c). 제 11항에 있어서,The method of claim 11, 복수개의 상기 최적정합기술자를 결정하여 출력하도록 설정되어 있는 경우, 상기 (d1)단계에서 최소값 갱신동작의 수행시 이전의 상기 최소값 및 새로운 상기 최소값을 크기순으로 정렬하여 저장하며,When the plurality of optimal matching descriptors are set to be determined and outputted, when the minimum value updating operation is performed in step (d1), the previous minimum value and the new minimum value are sorted and stored in order of size. 상기 (e)단계에서 크기순으로 정렬되어 있는 복수개의 상기 최적정합기술자를 출력하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.And outputting the plurality of optimal matching descriptors arranged in size order in the step (e). 제 11항에 있어서, The method of claim 11, 상기 (d)단계에서, 상기 제거조건은 ∥∥≥∥∥이며,In the step (d), the removal condition is ∥≥∥ ∥, 상기 제거조건을 만족하면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 큰 L1-평균(norm)을 갖는 기술자들을 검색대상에서 제거하고,If the elimination condition is satisfied, the candidate descriptor vector from the search table for each layer until the lowest layer is reached. Remove descriptors with a larger L 1 -norm from the search, 상기 제거조건을 만족하지 않으면, 최하위계층에 도달할 때까지 각각의 계층에 대한 상기 검색테이블로부터 상기 후보 기술자벡터 보다 작은 L1-평균(norm)을 같는 기술자들을 검색대상에서 제거하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.If the elimination condition is not satisfied, the candidate descriptor vector from the search table for each layer until the lowest layer is reached. A method for fast global search of digital data, characterized by removing descriptors having a smaller L 1 -norm from the search target. 제 11항에 있어서,The method of claim 11, 상기 (b)단계 전에, 상기 입력 질의자벡터 의 크기를 계산하는 단계;를 더 포함하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.Before the step (b), the input query vector Computing the size of the; fast global search method of the digital data comprising a. 제 11항에 있어서,The method of claim 11, 각 계층에 대한 상기 검색테이블에서 동일한 기술자는 동일한 위치에 기록되는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.The same descriptor in the lookup table for each layer is recorded at the same position. 제 11항에 있어서,The method of claim 11, 상기 초기최적기술자는 상기 검색테이블에 대한 이진탐색을 통해 검색되는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.And the initial optimal descriptor is searched through a binary search for the search table. 제 11항에 있어서,The method of claim 11, 상기 입력 질의자벡터 와 상기 초기최적기술자와의 거리는, 상기 거리값 산출 수식에 의해 계산되는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.The input query vector And a distance from the initial optimal descriptor is calculated by the distance value calculation formula. 제 10항에 있어서,The method of claim 10, 상기 검색순서는 상기 초기최적기술자의 전후방을 번갈아가며 검색하는 것을 특징으로 하는 디지털 데이터의 고속 전역 탐색 방법.The search order is a fast global search method of the digital data, characterized in that the search alternately before and after the initial optimization descriptor.
KR10-2001-0048069A 2001-08-09 2001-08-09 High speed searching devece for digital data and method thereof KR100485819B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0048069A KR100485819B1 (en) 2001-08-09 2001-08-09 High speed searching devece for digital data and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0048069A KR100485819B1 (en) 2001-08-09 2001-08-09 High speed searching devece for digital data and method thereof

Publications (2)

Publication Number Publication Date
KR20030013863A KR20030013863A (en) 2003-02-15
KR100485819B1 true KR100485819B1 (en) 2005-04-28

Family

ID=27718573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0048069A KR100485819B1 (en) 2001-08-09 2001-08-09 High speed searching devece for digital data and method thereof

Country Status (1)

Country Link
KR (1) KR100485819B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900497B1 (en) * 2007-09-19 2009-06-03 한국과학기술원 Method of Vector Quantization and Computer Program Electronic Recording Medium for the Method
KR101235256B1 (en) * 2010-09-13 2013-02-21 서울대학교산학협력단 Treatment of Neurodegenerative Diseases by Targeting a miRNA

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02231675A (en) * 1989-01-31 1990-09-13 Internatl Business Mach Corp <Ibm> Information retrieving apparatus and method
WO2000070502A1 (en) * 1999-05-19 2000-11-23 Nanogen, Inc. System and method for searching and processing databases comprising named annotated text strings
KR20020017219A (en) * 2000-08-29 2002-03-07 윤덕용 Method for optimal retrieval of multi-resolution by high speed on the great capacity database
KR20030004608A (en) * 2001-07-05 2003-01-15 삼성전자 주식회사 Searching apparatus for fast vector quantization encoding and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02231675A (en) * 1989-01-31 1990-09-13 Internatl Business Mach Corp <Ibm> Information retrieving apparatus and method
WO2000070502A1 (en) * 1999-05-19 2000-11-23 Nanogen, Inc. System and method for searching and processing databases comprising named annotated text strings
KR20020017219A (en) * 2000-08-29 2002-03-07 윤덕용 Method for optimal retrieval of multi-resolution by high speed on the great capacity database
KR20030004608A (en) * 2001-07-05 2003-01-15 삼성전자 주식회사 Searching apparatus for fast vector quantization encoding and method thereof

Also Published As

Publication number Publication date
KR20030013863A (en) 2003-02-15

Similar Documents

Publication Publication Date Title
CN108920720B (en) Large-scale image retrieval method based on depth hash and GPU acceleration
US7295718B2 (en) Non-linear quantization and similarity matching methods for retrieving image data
Pan et al. An efficient encoding algorithm for vector quantization based on subvector technique
US7895201B2 (en) Information processing apparatus, methods, and program for searching sets for an element
JP3077765B2 (en) System and method for reducing search range of lexical dictionary
Kaukoranta et al. A fast exact GLA based on code vector activity detection
JPH06215029A (en) Retrieval method of text
US6973446B2 (en) Knowledge finding method
US7188097B2 (en) Optimal high-speed multi-resolution retrieval method on large capacity database
KR20030066582A (en) Palette-based histogram matching with recursive histogram vector generation
US6910030B2 (en) Adaptive search method in feature vector space
US6795578B1 (en) Image processing apparatus and method, and storage medium
KR100485819B1 (en) High speed searching devece for digital data and method thereof
KR100671099B1 (en) Method for comparing similarity of two images and method and apparatus for searching images using the same
CN110941730B (en) Retrieval method and device based on human face feature data migration
JPH05257982A (en) Character string recognizing method
KR19990016894A (en) How to search video database
JP5033285B2 (en) Method and system for video evaluation
JP3534471B2 (en) Merge sort method and merge sort device
JP2540899B2 (en) Sorter memory management method
US5559898A (en) Comparison inequality function based method for accelerated OCR correlation
Chaisorn et al. A bitmap indexing approach for video signature and copy detection
CN113536024B (en) ORB-SLAM relocation feature point retrieval acceleration method based on FPGA
CN106777131A (en) A kind of querying method of High dimensional space data, device and computer-readable medium
US6360013B1 (en) Fast method and system for template matching acquiring global optima

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080328

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee