Способ сжатия и хранения трехмерных данных (варианты)
Владельцы патента RU 2753591:
Автономная некоммерческая образовательная организация высшего образования «Сколковский институт науки и технологий» (RU)
Изобретение относится к вычислительной технике для сжатия и хранения трехмерных данных. Технический результат заключается в сжатии больших трехмерных данных с минимальными потерями качества. Технический результат достигается за счет компьютерно-реализуемого способа сжатия и хранения трехмерных данных, содержащего следующие шаги. На вычислительное устройство получают трехмерные данные. Осуществляют предварительную обработку полученных трехмерных данных путем их конвертации в усеченную функцию расстояния на воксельной сетке. Далее осуществляют сжатие массива усеченной функции расстояния с помощью разложения в тензорный поезд (ТТ) или с помощью разложения Таккера. Сохраняют полученные сжатые трехмерные данные. 2 н. и 8 з.п. ф-лы, 4 ил.
ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники, в частности к вариантам компьютерно-реализуемого способа сжатия и хранения трехмерных данных.
УРОВЕНЬ ТЕХНИКИ
Из источника информации US 9,918,068 B2, опубликованного 13.03.2018, известен способ сжатия трехмерных данных. Согласно настоящему изобретению получают информацию о глубине, относящуюся к карте глубины, связанной с изображением текстуры, и затем обрабатывают изображение текстуры на основе полученной информации о глубине. Изобретение может применяться как на стороне кодера, так и на стороне декодера. Порядок кодирования или порядок декодирования для карт глубины и изображений текстур может быть основан на поблочном перемещении или перемещении по изображениям. Один аспект настоящего изобретения относится к разделению изображения текстуры на основе информации о глубине карты глубины. Другой аспект настоящего изобретения относится к обработке вектора движения или предсказателя вектора движения на основе информации о глубине.
Предлагаемое решение отличается от известных из уровня техники тем, что трехмерные данные конвертируются в усеченную функцию расстояния, а затем осуществляется сжатие данных с помощью малорангового разложения в тензорный поезд или разложения Таккера.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание вариантов компьютерно-реализуемого способа сжатия и хранения трехмерных данных, которые охарактеризованы в независимом пункте формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат заключается в сжатии больших трехмерных данных с минимальными потерями качества данных. Дополнительно технический результат заключается в реализации назначения.
Заявленный результат достигается за счет осуществления компьютерно-реализуемого способа сжатия и хранения трехмерных данных, который содержит этапы, на которых:
- на вычислительное устройство получают трехмерные данные;
- осуществляют предварительную обработку полученных трехмерных данных путем конвертации трехмерных данных в усеченную функцию расстояния на воксельной сетке;
- осуществляют сжатие полученной усеченной функции расстояния с помощью разложения в тензорный поезд;
- осуществляют хранение полученных сжатых трехмерных данных.
В частном варианте реализации предлагаемого решения, расстояние усечения задается не более чем 1/3 от диагонали сетки.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения в тензорный поезд осуществляется посредством метода TT-SVD.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения в тензорный поезд осуществляется посредством методов математической оптимизации по тензорным ядрам.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения в тензорный поезд осуществляется посредством методов из семейства алгоритмов крестовой аппроксимации.
Заявленный технический результат достигается также за счет осуществления варианта компьютерно-реализуемого способа сжатия и хранения трехмерных данных, который содержит этапы, на которых:
- на вычислительное устройство получают трехмерные данные;
- осуществляют предварительную обработку полученных трехмерных данных путем конверсии трехмерных данных в усеченную функцию расстояния на полигональной сетке;
- осуществляют сжатие полученной усеченной функции расстояния с помощью разложения Таккера;
- осуществляют хранение полученных сжатых трехмерных данных.
В частном варианте реализации предлагаемого решения, расстояние усечения задается не более чем 1/3 от диагонали сетки.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения Таккера осуществляют посредством метода HOSVD.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения Таккера осуществляют посредством метода HOOI.
В другом частном варианте реализации предлагаемого решения, сжатие с помощью разложения Таккера осуществляют посредством методов математической оптимизации.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг.1 иллюстрирует пример работы предлагаемого способа сжатия и хранения трехмерных данных.
Фиг.2 иллюстрирует пример получения явного (полигонального) трехмерного представления изоповерхности из сжатого неявного представления.
Фиг.3 иллюстрирует пример работы предлагаемого способа для сжатия трехмерных данных пористой породы в нефтегазовой отрасли.
Фиг.4 иллюстрирует общую схему работы вычислительного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Предлагаемое решение может быть использовано в робототехнике, нефтегазовой промышленности, в медицине, а также в любой области, которая предполагает использование трехмерных данных.
Варианты предлагаемого способа сжатия и хранения трехмерных данных выполняются на вычислительном устройстве.
На вычислительное устройство получают трехмерные данные от различных источников, например, но не ограничиваясь, с камеры глубины робота или с рентгеновского компьютерного томографа. Пользователь сам загружает трехмерные данные, либо данные передаются автоматически по известным, из уровня техники, каналам связи на вычислительное устройство. Трехмерные данные могут быть представлены, но не ограничиваясь, трехмерными скалярными данными на воксельной сетке, бинарным массивом на воксельной сетке или полигональной (сеточной) трехмерной моделью.
В зависимости от типа исходных трехмерных данных возможны различные сценарии прохождения этапов конвертации и сжатия данных. Эти сценарии проиллюстрированы на Фиг.1.
Этап 101
Получают трехмерные скалярные данные и сохраняют в виде трехмерного массива чисел на воксельной сетке. Трехмерные данные также могут получить в виде полигональной (сеточной) трехмерной модели.
Этап 102
На этом этапе данные конвертируются в один или несколько трехмерных бинарных массивов представления заселенности (occupancy grid).
В случае, если данному этапу предшествовали скалярные данные на воксельной сетке, данный этап проводится следующим образом:
- трехмерный массив на воксельной сетке бинаризуют по одному или более (k) числам отсечки (m1<m2<….<mk), например, следующим образом: для каждого вокселя со значением v(x,y,z) определяется номер j, такой что 0 <= j <= k и
mj < vj <= mj+1
Или
mj <= vj < mj+1 .
Здесь принимается m0 = -Inf, mk+1 = +Inf.
В случае, если данному сценарию предшествовали трехмерные данные в виде полигональной сеточной модели, данный этап проводится следующим образом:
- инициализируется массив размера (Nx,Ny,Nz);
- для каждого вокселя v в этом массиве вычисляется его центр в трехмерной системе координат p = [x,y,z]. Затем, для каждого центра вокселя p вычисляется доля б видимых полигонов, таких что точка p находится в положительном полупространстве относительно нормали к полигону. Если доля б > 0.5, точка p считается находящейся снаружи 3D объекта и соответствующий воксель заполняется значением равным 1, иначе равным 0.
Этап 103
В случае, если данному этапу предшествовали бинарные данные M на воксельной сетке, то SDF (Signed Distance Field (Function)) вычисляется следующим образом:
создается новый воксельный массив такого же размера, где в каждый воксель v записывается значение SDF(v) = EDT(M(v)) - EDT(1-M(v)), где EDT - евклидово преобразование расстояний (Euclidean distance transform). При данном преобразовании снаружи объекта расстояние берется со знаком “+”, внутри объекта – со знаком “-”. На поверхности объекта SDF равен нулю.
В случае, если данному этапу предшествовали данные, представленные в виде полигональной сетки, то SDF (Signed Distance Field (Function)) вычисляется следующим образом:
1. Допустим, задан трехмерный объект в виде полигональной сетки W, содержащей M полигонов и К вершин.
2. Для каждой точки P трехмерной воксельной сетки находят ближайшую точку на поверхности 3D-модели:
3. r = rho(P, W) = min(rho(P, F1), rho(P, F2), …, rho(P, FM)),
где rho(P, F) – расстояние до полигона – расстояние до плоскости (если точка P проецируется на полигон), до ребра (если проецируется на ребро), или до вершины этого полигона.
4. Если точка P лежит внутри объекта W, то расстояние r берется со знаком “-”.
Этап 104
Осуществляют подсчет усеченной функции расстояния (Truncated Signed Distance Field (Function)), TSDF) из бинарного массива данных заселенности на воксельной сетке (occupancy grid), либо из трехмерного массива SDF (поля расстояний), либо из полигонального (сеточного) представления трехмерной модели методом TSDF Fusion.
Создают трехмерный воксельный массив чисел, а также его отображение в декартовой системе координат.
1. В случае, если данному этапу предшествовали данные в виде полигональной сетки, данный этап проводится, например, методом TSDF Fusion. Под методом TSDF Fusion понимается метод синтеза TSDF из трехмерной модели с помощью рендеринга карт глубины c виртуальных камер и дальнейшая запись в трехмерный массив, раскрытого, например, в следующих статьях: B. Curless and M. Levoy, “A volumetric method for building complex models from range images,” SIGGRAPH , pp. 303–312, 1996. или R. Newcombe et al. “KinectFusion: Real-Time Dense Surface Mapping and Tracking,” in IEEE International Symposium on Mixed and Augmented Reality, pp. 127-136, 2011.
2. В случае, если данному этапу предшествовали бинарные данные M на воксельной сетке, то TSDF вычисляется, например, методом TSDF Fusion, с использованием объемного рендеринга (volumetric rendering) для получения карт глубины.
3. В случае, если данному этапу предшествовали данные в виде SDF, то TSDF вычисляется путем усечения данных из массива SDF по значениям +mu, -mu, где mu - число отсечки. Усеченную функцию расстояния также можно посчитать для объектов, которые заданы как изоповерхность некоторой функции: f(x,y,z)=rho. В этом случае вместо функции расстояния до изоповерхности берется сама функция f. При этом на воксельную сетку проецируют функцию f и получают воксельный массив v с объемными численными данными. Полученный воксельный массив бинаризуют с одним числом отсечки равным mu. Далее получается массив бинарных масок, где каждая маска обрабатывается методом, описанным выше.
При этом расстояние усечения, для всех вышеуказанных способов подсчета, задается не более чем 1/3 от диагонали воксельной сетки.
Для примера рассмотрим алгоритм получения поверхности:
exp(-(x^2 + y^2 + z^2)/2) - exp(-(x^2 + y^2 + z^2)) = 0,2 .
Вычисляют поле F. Для каждого вокселя в выбранных пределах вычисляют значение функции f(x, y, z). Результат хранится в виде трехмерного тензора - трехмерного массива чисел (Фиг.2).
Полученное поле сжимают с помощью разложения в Tensor Train для промежуточного хранения. Для хранения данного поля в сжатом виде достаточно малого ранга, что обеспечивает большой коэффициент сжатия при малых потерях качества.
Алгоритм TT-SVD сжатия трехмерного массива в тензорный поезд
Входные данные: d-мерный тензор А, необходимая точность е.
Необходимо: ядра G1,...,Gd TT-аппроксимации B тензора A в TT-формате с TT-рангом rk, равным д-рангам разверток Ak тензора A, где д = е/(d-1)^0.5 * ||A||_F .
Обозначения:
||A||_F – норма Фробениуса тензора А.
numel(А) - количество элементов тензора А.
reshape(A, shape) - составить новый тензор размера shape из элементов тензора А, перенося элементы по порядку.
SVD - Singular Value Decomposition (сингулярное разложение) матрицы А на матрицы U, S, V.
E – ошибка аппроксимации.
rank_д (A) - ранг аппроксимации матрицы А с точностью д.
Полученная аппроксимация должна удовлетворять неравенству:
||A - B||_F ≤ ε||A||_F.
1: Вычисляют параметр отсечки д = е/(d-1)^0.5 * ||A||_F.
2: Временный тензор C инициализируется тензором A, ранг r0 = 1.
3: for k = 1 to d - 1 do
4: C := reshape(C, [r_{k-1}n_k, numel(C)/r_{k-1}n_k]).
5: Вычислить д-усеченный SVD:
C = USV + E,
где E - ошибка аппроксимации, норма Фробениуса которой не больше д, а ранг r_k дает аппроксимацию тензора С с точностью не хуже д.
6: Новое ядро Gk := reshape(U, [r_{k-1}, n_k, r_k]).
7: C := S V^T.
8: end for
9: Gd = C.
10: Вернуть тензор B в TT-формате с ядрами G1,...,Gd.
TT-SVD сохраняется в оперативной памяти или в средствах хранения данных вычислительного устройства. При необходимости тензор F восстанавливается из ТТ-разложения:
F(i,j,k) = sum(p=1..r1, q=1..r2) ( G(1)(i, p) G(2)(p,j,q) G(3)(q,k) )
Изоповерхность в явном виде (полигональном) возможно восстановить из поля F с помощью Marching Cubes (Фиг.2).
Этап 105
Полученный трехмерный массив с усеченной функцией расстояния сжимают посредством разложения в тензорный поезд (Tensor Train, ТТ) или посредством разложения Таккера.
Под тензорным поездом понимается разложение, которое позволяет хранить тензор в компактном виде и эффективно применять к нему операции линейной алгебры. Разложение в тензорный поезд представляет собой массивы G^(1), G^(2), G^(3), такие что искомые воксельные данные V(i1, i2, i3) представляются так:
V(i1, i2, i3) = sum(k1=1..r1, k2=1..r2, k3=1..r3) G(1)(i1, k1) G(2)(k1, i2, k2) G(3)(k2, i3, k3), где равенство выполняется не точно, а с некоторой среднеквадратичной ошибкой epsilon.
Разложение в тензорный поезд может быть получено, например, но не ограничиваясь, методом TT-SVD (I.Oseledets, “Tensor-Train Decomposition,” SIAM Journal on Scientific Computing, vol. 33, no. 5, pp. 2295-2317, 2011), методами математической оптимизации по тензорным ядрам (например, как в статьях Alexander Novikov et al, “Tensor Train Decomposition on TensorFlow (T3F)”, Journal of Machine Learning Research 21 (2020) 1-7 или S.V. Dolgov, D.V. Savostyanov, Alternating minimal energy methods for linear systems in higher dimensions., SIAM J. SCI. COMPUT. Vol. 36, No. 5, pp. A2248-A2271).), или методом из семейства крестовой аппроксимации (I.Oseledets and E. Tyrtyshnikov, “TT-cross approximation for multidimensional arrays,” Linear Algebra and Its Applications, vol. 432, no. 1, pp. 70-88, 2010.
При альтернативном варианте реализации данного этапа полученный трехмерный массив с усеченной функцией расстояния сжимают посредством разложения Таккера. Разложение Таккера - это трехмерный массив Т (ядро) и три унитарные матрицы U(i), i=1..3, такие что искомые воксельные данные V(i1, i2, i3) представляются так:
V(i1, i2, i3) = sum(k1=1..r1, k2=1..r2, k3=1..r3) T(k1,k2,k3) U(1)(i1, k1) U(2)(i2, k3) U(3)(i3, k3), с некоторой среднеквадратичной ошибкой epsilon.
Разложение Таккера может быть получено, например, но не ограничиваясь, методом типа HOSVD: (Lathauwer et al., A Multilinear Singular Value Decomposition. SIAM Journal on Matrix Analysis and Applications, 2000, 21(4), 1253-12), методом типа HOOI (L. Lathauwer, et al, “On the Best Rank-1 and Rank-(R1 ,R2 ,. . .,RN) Approximation of Higher-Order Tensors”, SIAM Journal on Matrix Analysis and Applications, 2000, Vol. 21, No. 4 : pp. 1324-1342) или методами математической оптимизации по тензорным ядрам (A. Novikov et al. “Tensor Train Decomposition on TensorFlow (T3F)”, Journal of Machine Learning Research 21 (2020) 1-7 или R.Tomioka et al. Estimation of low-rank tensors via convex optimization, 2010, arXiv:1010.0789).
Полученные сжатые трехмерные данные сохраняются в оперативной памяти или в средствах хранения данных на вычислительном устройстве.
Далее рассмотрим пример сжатия трехмерных данных в контексте задачи трехмерного сканирования или трехмерного технического зрения.
На вычислительное устройство получают некоторое количество N изображений карт глубины (по меньшей мере одно) с устройства фиксации. Устройством фиксации может быть, но не ограничиваясь, TOF-камера, сенсор глубины или лидар.
Для каждого изображения карты глубины оценивают позицию устройства фиксации для каждого кадра. Оценку позиции устройства фиксации можно провести, например, но не ограничиваясь, используя совпадающие облака точек глубины или разреженные дескрипторы.
По каждому изображению карты глубины depth_image(k) и соответствующей гомогенной матрице положения камеры T(k) строится один объемный кадр усеченной функции расстояния (TSDF(k)) в соответствии с приведенным ниже стандартным алгоритмом TSDF-Fusion:
Для каждой карты глубины depth_image(k)(px, py), k=1..N:
Для каждого вокселя p трехмерном массиве TSDFframe:
[x; y; z] := dot( T(k)-1 , [p; 1] ),
px, py := ⌈x/z⌋, ⌈y/z⌋,
d := depth_image(k)(px, py),
TSDF(k)(p) := truncate(d – z, ±µ),
где dot - матрично-векторное произведение, ⌈x/z⌋ и ⌈y/z⌋ - округление до ближайшего целого числа, depth_image(k) - изображение с сенсора глубины, truncate - математическая функция усечения, µ - параметр усечения. Если индекс пикселей px или py находится за пределами изображения глубины, то полагается d = 0.
На каждом шаге алгоритма полученные объемные кадры TSDF(k) усеченной функции расстояния объединяются в массив F(k)
F(k)(p) := F(k-1)(p) + W(k)(p) ⊙ TSDF(k)(p);
M(k)(p) := M(k-1)(p) + W(k)(p);
Где ⊙ - поэлементное (Адамарово) произведение массивов, W(k) - трехмерный массив, хранящий поле зрения (усеченную пирамиду) сенсора глубины на k-том этапе (заполненный единицами внутри поля зрения сенсора глубины и нулями снаружи), M(k) - трехмерный массив, хранящий количество посещений каждого вокселя. При этом на каждой итерации массив F(k) хранится в ТТ-сжатом формате. А с каждой итерацией алгоритма его обновление осуществляется применением алгоритма TT-SVD с фиксированным рангом максимальным рангом R=40 к каждому следующему объемному кадру W(k)(p)⊙TSDF(k)(p).
Кроме того, массивы F(k)(p) и W(k)(p) хранятся в ТТ-сжатом формате отдельно, поскольку нет простого способа выполнить деление в формате Tensor Train. Итоговый трехмерный массив со значениями TSDF вычисляется по формуле: TSDF(p) = F(N)(p) / M(N)(p). Искомую поверхность трехмерного объекта возможно восстановить, например, методом Marching Cubes.
Важно отметить, что такой подход позволяет поддерживать в памяти очень большие динамически растущие трёхмерные карты объектов.
Далее рассмотрим пример использования метода сжатия для трехмерных данных пористой породы в нефтегазовой отрасли.
Получают трехмерные скалярные данные о плотности горной породы, например, средствами рентгеновской компьютерной томографии и сохраненные в виде трехмерного массива чисел на воксельной сетке.
Полученные данные бинаризуют по некоторому числу отсечки.
Из полученного трехмерного массива нулей и единиц вычисляется массив SDF.
Полученный массив усекается по расстоянием равным 5 шагам сетки, образуя трёхмерный массив X(i,j,k) с размерами (Nx, Ny, Nz), заполненный значениями усеченной функции расстояния (TSDF)
От полученного TSDF массива считаем разложение Таккера методом HOSVD:
а) Определим развертки массива X
M(X)_x = reshape(X, [Nx, Ny*Nz])
M(X)_y = reshape(X, [Ny, Nx*Nz])
M(X)_z = reshape(X, [Nz, Ny*Nz])
б) Пусть tSVD обозначает усеченное (truncated) SVD-разложение матрицы, где берутся только первые R сингулярных значений
Тогда вычислим (прямоугольные) матрицы U следующим образом:
U_x, S_x, V_x = tSVD (M(X)_x)
U_y, S_y, V_y = tSVD (M(X)_y)
U_z, S_z, V_z = tSVD (M(X)_z)
Вычислим трехмерный массив ядра S(x,y,z) по следующей формуле:
S(x,y,z) = sum(i=1..Nx, j=1..Ny, k=1..Nz) X(i,j,k) U_x(x, i) U_y(y, j) U_z(z, k).
Таким образом получают сжатое компактное представление TSDF массива в виде малого трехмерного массива S размерами (R, R, R) и трех матриц U_{x,y,z} размерами (Nx, R), (Ny, R) и (Nz,R) соответственно (Фиг. 3).
Исходный массив в любой точке может быть распакован, используя следующую формулу (разложение Таккера):
X(i,j,k) ⋍ sum_{x=1..R, y=1..R, z=1..R} S(x,y,z) U_x(x, i) U_y(y, j) U_z(z, k)
В данном случае произошло сжатие данных о пористой среде в 121 раз с незначительными потерями в деталях и сохранением основных статистических свойств породы (Фиг.3).
Далее (см. Фиг.4) будет представлена общая схема вычислительного устройства (400), обеспечивающего обработку данных, необходимую для реализации заявленного решения.
В общем случае устройство (400) содержит такие компоненты, как: один или более процессоров (401), по меньшей мере одну память (402), средство хранения данных (403), интерфейсы ввода/вывода (404), средство В/В (405), средства сетевого взаимодействия (406).
Процессор (401) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (400) или функциональности одного или более его компонентов. Процессор (401) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (402).
Память (402), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
Средство хранения данных (403) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (403) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
Интерфейсы (404) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п.
Выбор интерфейсов (404) зависит от конкретного исполнения устройства (400), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.
В качестве средств В/В данных (405) в любом воплощении системы, реализующей описываемый способ, должна использоваться клавиатура. Аппаратное исполнение клавиатуры может быть любым известным: это может быть, как встроенная клавиатура, используемая на ноутбуке или нетбуке, так и обособленное устройство, подключенное к настольному компьютеру, серверу или иному компьютерному устройству. Подключение при этом может быть, как проводным, при котором соединительный кабель клавиатуры подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором клавиатура осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо клавиатуры, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.
Средства сетевого взаимодействия (406) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (405) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
Компоненты устройства (400) сопряжены посредством общей шины передачи данных (410).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.
1. Компьютерно-реализуемый способ сжатия и хранения трехмерных данных, содержащий шаги, на которых:
на вычислительное устройство получают трехмерные данные;
осуществляют предварительную обработку полученных трехмерных данных путем их конвертации в усеченную функцию расстояния на воксельной сетке;
осуществляют сжатие полученной усеченной функции расстояния с помощью разложения в тензорный поезд;
сохраняют полученные сжатые трехмерные данные.
2. Способ по п.1, отличающийся тем, что расстояние усечения задается не более чем 1/3 от диагонали сетки.
3. Способ по п.1, отличающийся тем, что сжатие с помощью разложения в тензорный поезд осуществляется посредством метода TT-SVD.
4. Способ по п.1, отличающийся тем, что сжатие с помощью разложения в тензорный поезд осуществляется посредством методов математической оптимизации по тензорным ядрам.
5. Способ по п.1, отличающийся тем, что сжатие с помощью разложения в тензорный поезд осуществляется посредством методов из семейства крестовой аппроксимации.
6. Компьютерно-реализуемый способ сжатия и хранения трехмерных данных, содержащий шаги, на которых:
на вычислительное устройство получают трехмерные данные;
осуществляют предварительную обработку полученных трехмерных данных путем их конвертации в усеченную функцию расстояния на полигональной сетке;
осуществляют сжатие полученной усеченной функции расстояния с помощью разложения Таккера;
сохраняют полученные сжатые трехмерные данные.
7. Способ по п.6, отличающийся тем, что расстояние усечения задается не более чем 1/3 от диагонали сетки.
8. Способ по п.6, отличающийся тем, что сжатие с помощью разложения Таккера осуществляют посредством метода HOSVD.
9. Способ по п.6, отличающийся тем, что сжатие с помощью разложения Таккера осуществляют посредством метода HOOI.
10. Способ по п.6, отличающийся тем, что сжатие с помощью разложения Таккера осуществляют посредством методов математической оптимизации по тензорным ядрам.