RU2435214C2 - Method for fast search in codebook with vector quantisation - Google Patents
Method for fast search in codebook with vector quantisation Download PDFInfo
- Publication number
- RU2435214C2 RU2435214C2 RU2010103261/08A RU2010103261A RU2435214C2 RU 2435214 C2 RU2435214 C2 RU 2435214C2 RU 2010103261/08 A RU2010103261/08 A RU 2010103261/08A RU 2010103261 A RU2010103261 A RU 2010103261A RU 2435214 C2 RU2435214 C2 RU 2435214C2
- Authority
- RU
- Russia
- Prior art keywords
- interval
- vector
- search
- projections
- codebook
- Prior art date
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
Description
Изобретение относится к области радиотехники, а именно к методам кодирования декодирования и преобразования кода.The invention relates to the field of radio engineering, and in particular to methods of encoding decoding and code conversion.
Векторное квантование требует достаточно большого числа операций при реализации, что приводит к высокой вычислительной сложности данной процедуры в целом, ее уменьшение является актуальной задачей, особенно при больших объемах обрабатываемой информации.Vector quantization requires a sufficiently large number of operations during implementation, which leads to high computational complexity of this procedure as a whole; its reduction is an urgent task, especially for large volumes of processed information.
Известны способы векторного квантования для осуществления процедуры кодирования речи [Макхоул Д., Рукос С., Гиш Г. Векторное квантование при кодировании речи. // ТИИЭР. - 1985. - Т.73. - №11. - С.19-61]. Также известен способ поиска в глубину по алгебраической шифровальной книге [RU 2175454 С2 27.10.2001]. В нем для поиска предлагают некоторую древовидную структуру с заданным количеством уровней. В нем для осуществления процедуры поиска используют вероятностные методы, что может приводить к неверному выбору кодового вектора, также данный подход характеризуется большей вычислительной сложностью по сравнению со способом, представленным в [V. Ramasubramanian and Kuldip К. Paliwal «Fast Nearest-Neighbor Search Based on Voronoi Projections and Its Application to Vector Quantization Encoding» in Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing, vol.1, no.2, March 1999]. Описанный в статье метод характеризуется также достаточно большей вычислительной сложностью.Known methods of vector quantization for the implementation of the coding of speech [Makhol D., Rukos S., Guiche G. Vector quantization in speech coding. // TIIER. - 1985. - T.73. - No. 11. - S. 19-61]. Also known is a method of searching in depth by an algebraic cipher book [RU 2175454 C2 10.27.2001]. It offers a search for some tree structure with a given number of levels. It uses probabilistic methods to carry out the search procedure, which can lead to an incorrect choice of the code vector, and this approach is also characterized by greater computational complexity compared to the method presented in [V. Ramasubramanian and Kuldip K. Paliwal “Fast Nearest-Neighbor Search Based on Voronoi Projections and Its Application to Vector Quantization Encoding” in Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing, vol. 1, no.2, March 1999]. The method described in the article is also characterized by rather greater computational complexity.
Наиболее близким по технической сущности к заявленному способу является метод быстрого поиска ближайшего вектора в кодовой книге, характеризующийся более низкой вычислительной сложностью, по сравнению с существующими аналогами, описание которого представлено в [D.Y.Cheng, A.Gersho, В.Ramamurthi, and Y.Shoham, "Fast search algorithms for vector quantization and pattern matching," in Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing, Mar. 1984, vol. 1, pp.9.11.1-9.11.4]. Основным недостатком прототипа является экспоненциальный рост памяти при увеличении размерности пространства. Количество требуемой памяти при этом описывается выражением (2N-1)Kγ, где γ - средний размер памяти, требуемой для хранения итогового набора векторов кандидатов, N - общее количество кодовых векторов, а К - размерность пространства. Техническая реализация способа сопряжена с трудностями роста памяти, например, для 32 векторов в 10-мерном пространстве, при значении γ, равном двум байтам, необходимо 248 байт.The closest in technical essence to the claimed method is the method of quick search for the closest vector in the codebook, which is characterized by lower computational complexity compared to existing analogues, a description of which is presented in [DYCheng, A.Gersho, B. Ramamurthi, and Y.Shoham, "Fast search algorithms for vector quantization and pattern matching," in Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing, Mar. 1984, vol. 1, pp. 9.11.1-9.11.4]. The main disadvantage of the prototype is the exponential growth of memory with increasing dimensionality of space. The amount of required memory is described by the expression (2N-1) K γ, where γ is the average size of memory required to store the final set of candidate vectors, N is the total number of code vectors, and K is the dimension of space. The technical implementation of the method is associated with difficulties in memory growth, for example, for 32 vectors in 10-dimensional space, with a value of γ equal to two bytes, 2 48 bytes are needed.
Способ, описанный в прототипе, заключается в том, что К-мерное пространство разделяют на гиперпрямоугольные ячейки путем построения проекций многоугольника Вороного для каждого кодового вектора на координатную ось j, j=1, образующих N перекрывающих интервалов проекций, которые образуют 2N границ проекций , таких что , при этом границы разбивают j-ю координатную ось на (2N-1) последовательных интервала {Ij(1),Ij(2), … Ij(2N-1)}, где , m - номер интервала, причем каждому интервалу соответствует набор индексов многоугольников Вороного, чьи интервалы проекций частично или полностью перекрываются с Ij(m), а набор кодовых векторов кандидатов связывают с каждой из гиперпрямоугольных ячеек, полученных в процессе предварительной обработки и хранящихся в некоторой таблице, что и выбирают итоговым набором векторов кандидатов, на этом малом наборе далее проводят поиск, при котором для каждого компонента входного вектора определяют интервал, в который попадает данный компонент. Причем гиперпрямоугольники получаются при выполнении описанной операции построения проекций на все оси.The method described in the prototype is that K-dimensional space is divided into hyper-rectangular cells by constructing projections of the Voronoi polygon for each code vector on the coordinate axis j, j = 1, forming N overlapping projection intervals that form 2N projection boundaries such that , while the boundaries divide the j-th coordinate axis into (2N-1) consecutive intervals {I j (1), I j (2), ... I j (2N-1)}, where , m is the number of the interval, and each interval corresponds to a set of indices of Voronoi polygons whose projection intervals partially or completely overlap with I j (m), and the set of candidate code vectors is associated with each of the hyper-rectangular cells obtained during the preliminary processing and stored in some the table, which is chosen by the final set of candidate vectors, on this small set, a search is then carried out in which for each component of the input vector the interval into which this component falls . Moreover, hyper-rectangles are obtained by performing the described operation of constructing projections on all axes.
Опишем прототип более подробно. При его реализации осуществляется использование информации о проекциях многоугольников Вороного, при этом К-мерное пространство разделяют на (2N-1)K гиперпрямоугольных ячеек, содержащих набор итоговых кодовых векторов кандидатов. Многоугольник Вороного Vi, связанный с вектором кодовой книги содержит все точки в пространстве RK, наиболее близкие к , чем к какому либо другому кодовому вектору. Таким образом, если кодовый вектор находится в многоугольнике Vi, то связанный кодовый вектор будет ближайшим.We describe the prototype in more detail. When it is implemented, information on the projections of Voronoi polygons is used, and the K-dimensional space is divided into (2N-1) K hyper-rectangular cells containing a set of resulting candidate code vectors. Voronoi polygon V i associated with the codebook vector contains all points in the space R K closest to than to any other code vector. So if the code vector is in the polygon V i , then the associated code vector will be the closest.
Для построения структуры, на которой будет организован поиск, осуществляют предобработку в виде "разделения пространства RK на гиперпрямоугольные ячейки". Для этого строят проекции многоугольника Vi на координатную ось j (фиг.1), получают интервал , с начальной и конечной точкой . Данную процедуру построения проекций осуществляют для всех N многоугольников, получают N перекрывающих интервалов проекций многоугольников Вороного , i=1, …, N, которые образуют 2N границ проекций таких что . Эти границы делят j-ю координатную ось на (2N-1) последовательных интервала {Ij(1),Ij(2), … Ij(2N-1)}, где . Каждому интервалу ставят в соответствие набор Sj(m) индексов многоугольников Вороного, чьи интервалы проекций частично или полностью перекрываются с Ij(m).To build the structure on which the search will be organized, preprocessing is performed in the form of "dividing the space R K into hyper-rectangular cells". To do this, build the projection of the polygon V i on the coordinate axis j (figure 1), get the interval , with start and end point . This procedure for constructing projections is carried out for all N polygons; N overlapping intervals of projections of Voronoi polygons are obtained , i = 1, ..., N, which form 2N projection boundaries such that . These boundaries divide the jth coordinate axis into (2N-1) consecutive intervals {I j (1), I j (2), ... I j (2N-1)}, where . Each interval is assigned a set of S j (m) indices of Voronoi polygons whose projection intervals partially or completely overlap with I j (m).
Набор индексов Sj(mj), связанный с интервалом Ij(mj), определяет кодовые векторы кандидаты, которые могут быть ближайшими к входному вектору . Эту операцию разделения на интервалы повторяют для всех К осей. Далее определяют гиперпрямоугольную ячейку по формуле (1)The set of indices S j (m j ) associated with the interval I j (m j ) determines the candidate code vectors that may be closest to the input vector . This intervaling operation is repeated for all K axes. Next, determine the hyper-rectangular cell according to the formula (1)
Каждую ячейку связывают с итоговым набором кодовых векторов кандидатов , который получают по формуле (2):Each cell is associated with a final set of candidate code vectors , which is obtained by the formula (2):
Набор кодовых векторов кандидатов, связанных с каждой из (2N-1)K гиперпрямоугольных ячеек, полученных в процессе предварительной обработки, хранят в некоторой таблице.A set of candidate code vectors associated with each of the (2N-1) K hyper-rectangular cells obtained during the preprocessing is stored in a table.
Поиск осуществляют следующим образом. Для каждой компоненты входного вектора определяют интервал, в который она попадает , т.е. компонент вектора xj удовлетворяет условию , далее для всех К осей формируют интервалы Ij(mj), j=1, …, K, содержащие компоненты вектора . Далее определяют гиперпрямоугольную ячейку, в которой лежит входной вектор , по формуле (1), затем с таблицы считывают соответствующий ей набор кодовых векторов кандидатов.The search is as follows. For each component of the input vector determine the interval in which it falls , i.e. the component of the vector x j satisfies the condition , then for all K axes form intervals I j (m j ), j = 1, ..., K, containing the components of the vector . Next, determine the hyper-rectangular cell in which the input vector lies according to formula (1), then the corresponding set of candidate code vectors is read from the table.
На этом малом наборе далее проводят поиск методом полного перебора. Данная процедура требует всего Klog(2N) сравнений для нахождения итогового набора. Однако недостатком прототипа является большое количество памяти необходимой для хранения таблицы (2N-1)Kγ, а также достаточно высокая вычислительная сложность.On this small set, a search is then carried out using the exhaustive search method. This procedure requires all Klog (2N) comparisons to find the final set. However, the disadvantage of the prototype is the large amount of memory required to store the table (2N-1) K γ, as well as a fairly high computational complexity.
Целью изобретения является создание способа быстрого поиска в кодовой книге при векторном квантовании с вычислительной сложностью и требуемым объемом памяти ниже полученной в прототипе.The aim of the invention is to provide a quick search method in the codebook for vector quantization with computational complexity and the required memory capacity lower than that obtained in the prototype.
Техническим результатом предлагаемого способа является уменьшение требуемых объема устройств памяти и вычислительной сложности при осуществлении поиска в кодовой книге при векторном квантовании.The technical result of the proposed method is to reduce the required amount of memory devices and computational complexity when searching in the codebook with vector quantization.
Технический результат достигается тем, что в способе поиска в кодовой книге при векторном квантовании, используемом в прототипе, при построении проекций многоугольников Вороного на координатную ось j, j≠1 строят проекции для каждого интервала оси j-1 только тех многоугольников Вороного, которые входят в набор индексов этого интервала, т.е. для тех, чьи интервалы проекций частично или полностью перекрываются с рассматриваемым интервалом, далее на этапе поиска интервал, в который попадает компонент входного вектора, определяют последовательно для всех осей, а последний интервал определяет гиперпрямоугольную ячейку с итоговым набором векторов кандидатов.The technical result is achieved by the fact that in the method of searching in the codebook for vector quantization used in the prototype, when constructing projections of the Voronoi polygons on the coordinate axis j, j ≠ 1, projections for each interval of the j-1 axis are constructed only of those Voronoi polygons that are included in the set of indices for this interval, i.e. for those whose projection intervals partially or completely overlap with the considered interval, then at the search stage the interval into which the input vector component falls is determined sequentially for all axes, and the last interval defines a hyper-rectangular cell with the final set of candidate vectors.
Рассмотрим заявленный способ подробнее. На первую из рассматриваемых осей строят проекции всех N многоугольников Вороного Vi. Получают N перекрывающих интервалов проекций, , i=1, …, N, которые образуют 2N границ проекций таких что . Эти границы разделяют рассматриваемую координатную ось на (2N-1) последовательных интервалов {I1(1), I1(2), … I1(2N-1)}, где . Каждый интервал соответствует набору S1(m) индексов многоугольников Вороного, чьи интервалы проекций частично или полностью перекрываются с I1(m). Далее для каждого интервала I1(m) m=1…(2N-1) на следующую рассматриваемую ось строят только проекции многоугольников Вороного, чьи интервалы проекций частично или полностью перекрываются с I1(m), т.е. входящих в набор S1(m). Получают N1<N перекрывающих интервалов проекций , i=1, …, N1, где N1 - определяется количеством векторов, входящих в набор S1(m). В итоге получают 2N1 границ проекций таких, что . Эти границы разделяют рассматриваемую координатную ось на (2N1-1) последовательных интервалов {I2(1), I2(2), … I2(2N1-1)}, где . Каждому интервалу соответствует набор S2(m) индексов многоугольников Вороного, чьи интервалы проекций частично или полностью перекрываются с I2(m) и входят в набор S1(m).Consider the claimed method in more detail. The projections of all N Voronoi polygons V i are built on the first of the axes under consideration. Get N overlapping projection intervals, , i = 1, ..., N, which form 2N projection boundaries such that . These boundaries divide the coordinate axis in question into (2N-1) consecutive intervals {I 1 (1), I 1 (2), ... I 1 (2N-1)}, where . Each interval corresponds to a set of S 1 (m) indices of Voronoi polygons whose projection intervals partially or completely overlap with I 1 (m). Further, for each interval I 1 (m) m = 1 ... (2N-1), only the projections of Voronoi polygons, whose projection intervals partially or completely overlap with I 1 (m), are constructed on the next axis under consideration. included in the set S 1 (m). Get N 1 <N overlapping projection intervals , i = 1, ..., N 1 , where N 1 - is determined by the number of vectors included in the set S 1 (m). As a result, 2N 1 projection boundaries are obtained such that . These boundaries divide the coordinate axis in question into (2N 1 -1) consecutive intervals {I 2 (1), I 2 (2), ... I 2 (2N 1 -1)}, where . Each interval corresponds to a set of S 2 (m) indices of Voronoi polygons, whose projection intervals partially or completely overlap with I 2 (m) and are included in the set S 1 (m).
Процедуру повторяют для каждого интервала I2(m), m=1…(2N1-1) и на следующую ось строят только проекции многоугольников Вороного из набора S2(m). Так последовательно рассматривают все К осей. В результате получают структуру данных для поиска в виде дерева, как показано на фиг.2.The procedure is repeated for each interval I 2 (m), m = 1 ... (2N 1 -1) and only the projections of Voronoi polygons from the set S 2 (m) are built on the next axis. So all K axes are sequentially considered. As a result, a data structure for the search in the form of a tree is obtained, as shown in FIG.
Поиск реализуют в виде переходов по веткам дерева. Таким образом, входной вектор попадает в интервал , если компонент вектора . На следующем этапе рассматривают поддерево, порожденное узлом I1(m) (фиг.2), таким образом, анализируют каждый компонент входного вектора, на последнем этапе интервал IK(m), в который попадает компонент xK, определяет концевой узел, который определяет итоговый набор С'(х).The search is implemented as transitions on tree branches. So the input vector falls into the interval if the component of the vector . At the next stage, the subtree generated by the node I 1 (m) is considered (Fig. 2), thus, each component of the input vector is analyzed, at the last stage, the interval I K (m), into which the component x K falls, determines the end node, which defines the final set C ' (x).
Благодаря новой совокупности существенных признаков способа быстрого поиска в кодовой книге при векторном квантовании за счет последовательного исключения многоугольников Вороного при построении проекций на оси удается достичь снижения количества запоминающих устройств и уменьшения затрат вычислительных ресурсов при осуществлении быстрого поиска в кодовой книге при векторном квантовании.Thanks to the new set of essential features of the quick search method in the codebook during vector quantization due to the successive elimination of Voronoi polygons when constructing projections on the axis, it is possible to reduce the number of storage devices and reduce the cost of computing resources when performing a quick search in the code book during vector quantization.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного устройства условию патентоспособности "новизна".The analysis of the prior art made it possible to establish that analogues that are characterized by a set of features identical to all the features of the claimed technical solution are absent, which indicates the compliance of the claimed device with the patentability condition of "novelty".
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности "изобретательский уровень".Search results for known solutions in this and related fields of technology in order to identify features that match the distinctive features of the claimed object from the prototype showed that they do not follow explicitly from the prior art. The prior art also did not reveal the popularity of the impact provided by the essential features of the claimed invention, the transformations on the achievement of the specified technical result. Therefore, the claimed invention meets the condition of patentability "inventive step".
Заявленное техническое решение поясняется чертежами, на которых показаны:The claimed technical solution is illustrated by drawings, which show:
фиг.1 - диаграмма Вороного для шестнадцати точек на плоскости, жирными линиями выделен многоугольник Вороного;figure 1 is a Voronoi diagram for sixteen points on a plane, the Voronoi polygon is highlighted in bold lines;
фиг.2 - иллюстрация структуры данных для поиска в виде дерева;figure 2 - illustration of the data structure for the search in the form of a tree;
фиг.3 - функциональная схема осуществления процедуры формирования структуры данных и индексированной таблицы векторов кандидатов;figure 3 is a functional diagram of a procedure for generating a data structure and an indexed table of candidate vectors;
фиг.4 - функциональная схема осуществления процедуры поиска ближайшего кодового вектора.4 is a functional diagram of the implementation of the search procedure for the nearest code vector.
Функциональная схема осуществления процедуры формирования структуры данных и индексированной таблицы векторов кандидатов показана на фиг.3. Она состоит из блока 1 построения диаграммы Вороного, на который поступает набор кодовых векторов, выход блока 1 соединен со входом блока 2 определения проекций многоугольников Вороного, на вход которого поступает набор многоугольников Вороного по оси у, выход блока 2 соединен с входом блока 3 упорядочивания точек проекций многоугольников Вороного по оси у, на вход которого поступают проекции многоугольников с блока 2, выходы блока 3 соединены со входами блока 4 определения пересечения многоугольников Вороного с полученными интервалами, которые поступают на вход блока 4 с блока 3, выход блока 4 соединен со входом блока 2 и блока 5 создания индексированной таблицы векторов кандидатов, на вход которого поступают многоугольники Вороного. Выходом блока 5 является набор итоговых кодовых векторов.A functional diagram of the implementation of the procedure for generating a data structure and an indexed table of candidate vectors is shown in FIG. 3. It consists of a
Рассмотрим реализацию процедуры формирования структуры данных и индексированной таблицы векторов кандидатов. На блок 1 поступает информация о векторах кодовой книги, блок 1 выполняет построение диаграммы Вороного и формирует на выходе набор многоугольников Вороного, соответствующих кодовым векторам, информация о которых подается на блок 2, который формирует проекции каждого многоугольника на оси, далее они поступают на вход блока 3, который упорядочивает точки проекций по оси и формирует набор интервалов, который подается на блок 4. Блок 4 для каждого полученного интервала определяет набор многоугольников, чьи координаты проекций пересекают данный интервал, причем в первоначальный набор для определения входят только те многоугольники, которые образовали данный набор интервалов. На выходе блока 4 формируют информацию о наборе многоугольников Вороного для каждого интервала. Если набор интервалов был построен для последней из рассматриваемых осей, то полученный набор многоугольников является итоговым, если нет, то информацию о наборе многоугольников подают на блок 2.Consider the implementation of the procedure for generating a data structure and an indexed table of candidate vectors.
На фиг.4 показана функциональная схема осуществления процедуры поиска ближайшего кодового вектора. Она состоит из блока 101 определения интервала, на который поступают последовательно компоненты кодового вектора, выход блока 101 соединен со входом блока 102 определения ячейки таблицы конечных векторов, на который поступает последний определенный интервал, выход блока 102 соединен со входом блока 103 считывания с таблицы, выход блока 103 соединен с входом блока 104 хранения таблицы итоговых наборов кодовых векторов, а выход блока 104 соединен с входом блока 103, на выходе блока 103 - итоговый набор кодовых векторов кандидатов. Ее функционирование осуществляется следующим образом. На блок 101 последовательно поступают компоненты кодового вектора. Для каждой компоненты блок 101 последовательно определяет, в какой интервал она попадает, таким образом, происходит переход по узлам дерева (см. фиг.2). Последний определенный интервал поступает на блок 102 определения ячейки таблицы конечных векторов, где по данному интервалу определяется ячейка таблицы конечных векторов. Индекс определенной ячейки подается на блок 103 считывания с таблицы, который по данному индексу считывает из блока 104 хранения таблицы итоговых наборов кодовых векторов, в итоге на выходе блока 103 - итоговый набор кодовых векторов кандидатов.Figure 4 shows a functional diagram of the procedure for finding the nearest code vector. It consists of a block 101 for determining the interval for which the components of the code vector arrive sequentially, the output of block 101 is connected to the input of the block for determining the cell of the table of finite vectors, to which the last determined interval arrives, the output of block 102 is connected to the input of the block 103 for reading from the table, the output block 103 is connected to the input of block 104 for storing the table of final sets of code vectors, and the output of block 104 is connected to the input of block 103, and the output of block 103 is the final set of candidate code vectors. Its functioning is as follows. Block 101 sequentially receives the components of the code vector. For each component, block 101 sequentially determines at what interval it falls, thus, a transition occurs along the nodes of the tree (see figure 2). The last determined interval is supplied to the block determining the cell of the finite vector table, where the cell of the finite vector table is determined from this interval. The index of a specific cell is supplied to a table reading unit 103, which at this index reads from the table storage unit 104 of the table of final sets of code vectors, as a result, at the output of block 103, the final set of candidate code vectors.
К достоинствам способа следует отнести тот факт, что построение проекций многоугольников Вороного выполняется последовательно на каждую из осей измерения и впоследствии для каждого интервала строят только проекции тех многоугольников, проекции которых пересекают данный интервал. Применение предлагаемого подхода позволяет организовать структуру для поиска в виде дерева. Концевой узел которого однозначно определяет итоговый набор векторов кандидатов.The advantages of the method include the fact that the construction of the projections of Voronoi polygons is carried out sequentially on each of the measurement axes and subsequently for each interval only projections of those polygons whose projections intersect this interval are built. Application of the proposed approach allows you to organize the structure for the search in the form of a tree. The end node of which uniquely determines the final set of candidate vectors.
Промышленное применение способа обусловлено наличием элементной базы, на базе которой могут быть выполнены устройства, реализующие данный способ. Применение предлагаемого способа существенно уменьшит требуемый для реализации объем запоминающих устройств по сравнению с прототипом, а реализация процедуры перехода по узлам дерева сократит объем вычислительных затрат.Industrial application of the method is due to the presence of the element base, on the basis of which devices that implement this method can be made. The application of the proposed method will significantly reduce the amount of storage devices required for implementation in comparison with the prototype, and the implementation of the transition procedure through the tree nodes will reduce the amount of computational cost.
Вычислительная сложность предложенного метода Zn для поиска одного вектора находится с использованием следующего выражения:The computational complexity of the proposed method Z n for finding a single vector is found using the following expression:
где Ni изменяется, Ni=N…NK, N…NK - число векторов претендентов, оставшихся не исключенными после рассмотрения i-й оси, S - конечное число в С'(х) итоговом наборе векторов кандидатов, а δ - количество операций для вычисления расстояния до кодового вектора. Для сравнения вычислительная сложность Z, предложенного в прототипе:where N i varies, N i = N ... N K , N ... N K is the number of vectors of applicants that remained not excluded after considering the ith axis, S is the final number in C '(x) of the final set of candidate vectors, and δ is the number of operations to calculate the distance to the code vector. For comparison, the computational complexity Z proposed in the prototype:
Из выражения (3) и (4) получим выражение для полученного эффекта по вычислительной сложности:From expressions (3) and (4) we obtain the expression for the obtained effect with respect to computational complexity:
Количество памяти, необходимое для реализации прототипа, оценивается выражением:The amount of memory required to implement the prototype is estimated by the expression:
где γ - средний размер памяти, требуемой для хранения итогового набора векторов кандидатов.where γ is the average size of memory required to store the final set of candidate vectors.
Оценка использованной памяти предложенного способа Мn равна:Assessment of the used memory of the proposed method M n is equal to:
Из выражения (6) и (7) получим выражение для полученного эффекта по использованию памяти:From expressions (6) and (7) we obtain the expression for the obtained effect on the use of memory:
Рассмотрим пример, показывающий наглядно эффективность предложенного метода по отношению к прототипу для случая 32 векторов для четырехмерного пространства (N=32, К=4), по вычислительной сложности и использованию ресурсов памяти. По вычислительным ресурсам для прототипа:Consider an example that demonstrates the effectiveness of the proposed method in relation to the prototype for the case of 32 vectors for four-dimensional space (N = 32, K = 4), in terms of computational complexity and the use of memory resources. By computing resources for the prototype:
Z=d·log2·2·N+δ·S=4·6+δ·S=24+δ·S,Z = d · log 2 · 2 · N + δ · S = 4 · 6 + δ · S = 24 + δ · S,
для предложенного способа:for the proposed method:
Получим выигрыш по вычислительной сложности:We get the gain in computational complexity:
Ez=(Z/Zn)=2,18, т.е на кодирование одного входного вектора, вектором из кодовой книги, для разработанного метода требуется в среднем в 2,18 раза операций меньше, чем методом, описанным в прототипе.E z = (Z / Z n ) = 2.18, i.e., to encode one input vector with a vector from the codebook, the developed method requires an average of 2.18 times less operations than the method described in the prototype.
По использованию ресурсов памятиBy using memory resources
M=(2N-1)K γ=(2·32-1)4γ=15752961·γM = (2N-1) K γ = (2 · 32-1) 4 γ = 15752961 · γ
Получим выигрыш по вычислительной сложности:We get the gain in computational complexity:
Получим выигрыш по использованию ресурсов памяти:Get the gain on the use of memory resources:
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010103261/08A RU2435214C2 (en) | 2010-02-01 | 2010-02-01 | Method for fast search in codebook with vector quantisation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010103261/08A RU2435214C2 (en) | 2010-02-01 | 2010-02-01 | Method for fast search in codebook with vector quantisation |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010103261A RU2010103261A (en) | 2011-08-10 |
RU2435214C2 true RU2435214C2 (en) | 2011-11-27 |
Family
ID=44754117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010103261/08A RU2435214C2 (en) | 2010-02-01 | 2010-02-01 | Method for fast search in codebook with vector quantisation |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2435214C2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2504027C1 (en) * | 2012-07-03 | 2014-01-10 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Method of creating codebook and search therein during vector quantisation of data |
RU2622629C2 (en) * | 2015-03-31 | 2017-06-16 | Закрытое акционерное общество "Лаборатория Касперского" | Method of searching for the road by tree |
US11741977B2 (en) | 2012-03-29 | 2023-08-29 | Telefonaktiebolaget L M Ericsson (Publ) | Vector quantizer |
-
2010
- 2010-02-01 RU RU2010103261/08A patent/RU2435214C2/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741977B2 (en) | 2012-03-29 | 2023-08-29 | Telefonaktiebolaget L M Ericsson (Publ) | Vector quantizer |
RU2504027C1 (en) * | 2012-07-03 | 2014-01-10 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Method of creating codebook and search therein during vector quantisation of data |
RU2622629C2 (en) * | 2015-03-31 | 2017-06-16 | Закрытое акционерное общество "Лаборатория Касперского" | Method of searching for the road by tree |
Also Published As
Publication number | Publication date |
---|---|
RU2010103261A (en) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | ZipML: Training linear models with end-to-end low precision, and a little bit of deep learning | |
Dasgupta et al. | Random projection trees for vector quantization | |
CN112487168B (en) | Semantic question-answering method and device of knowledge graph, computer equipment and storage medium | |
CN109344242B (en) | Dialogue question-answering method, device, equipment and storage medium | |
Puleo et al. | Correlation clustering with constrained cluster sizes and extended weights bounds | |
Matoušek | Lecture notes on metric embeddings | |
CN112307168A (en) | Artificial intelligence-based inquiry session processing method and device and computer equipment | |
RU2435214C2 (en) | Method for fast search in codebook with vector quantisation | |
O'Connor et al. | Optimal transport for stationary Markov chains via policy iteration | |
Hirata et al. | Reconstructing state spaces from multivariate data using variable delays | |
Liu et al. | Minimax estimation of large precision matrices with bandable Cholesky factor | |
CN112509644A (en) | Molecular optimization method, system, terminal equipment and readable storage medium | |
CN112149424A (en) | Semantic matching method and device, computer equipment and storage medium | |
CN107944045B (en) | Image search method and system based on t distribution Hash | |
Jordan et al. | Estimating Jones and HOMFLY polynomials with one clean qubit | |
CN115168326A (en) | Hadoop big data platform distributed energy data cleaning method and system | |
CN112818098A (en) | Knowledge base-based dialog generation method and device, terminal and storage medium | |
Gutiérrez et al. | Genetic algorithm for the weight maximization problem on weighted automata | |
CN117035107B (en) | Media resource processing method and device, storage medium and electronic device | |
CN117235665B (en) | Self-adaptive privacy data synthesis method, device, computer equipment and storage medium | |
Gong et al. | Adaptive methods for center choosing of radial basis function interpolation: a review | |
CN115329158B (en) | Data association method based on multi-source heterogeneous power data | |
CN116610964B (en) | Text similarity matching method and device and computer equipment | |
CN117521658B (en) | RPA process mining method and system based on chapter-level event extraction | |
Gong et al. | AutoQNN: An End-to-End Framework for Automatically Quantizing Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20120202 |