IP Library Granted Patent US 9,530,226
Granted Patent B2
US 9,530,226 · App. 14/625,587 · Granted Dec 27, 2016

Systems and methods for optimizing N dimensional volume data for transmission

Inventors: Mark Kozak (Deerfield, NY); Jimmy Wu (Rome, NY); Jeffrey Downs (Rochester, NY)
Assignee: PAR TECHNOLOGY CORPORATION
G06T9/40G06K9/36G06K9/46G06T9/00H04N1/64
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,530,226
App. No.
14/625,587
Granted
Dec 27, 2016
Kind
B2
Abstract

A method and system for optimizing N dimensional volume data for transmission is disclosed. The device and method including organizing points based on XYZ location, into volumes, which are recursively divided by N into smaller volumes, where N is greater than 1, and decompressing each volume, by encoding a reference volume then encoding the remaining volumes as a distance from the reference cuboid or the most recently recorded cuboid.

Claims (55)

1. A method of preparing a plurality of data points for transmission, comprising:

receiving a plurality of data points defining an N dimensional volume, such that each data point exists within a location in the volume;

ordering the received data points into a data structure dividing the N dimensional volume into a plurality of parent cuboids, wherein each parent cuboid further contains a plurality of child cuboids;

encoding the origin of at least a first parent cuboid, of the plurality of parent cuboids, as a first reference cuboid;

encoding a distance from the first reference cuboid to a second parent cuboid containing a data point;

encoding each remaining parent cuboid, of the plurality of parent cuboids, containing a data point as a distance from the most recently encoded parent cuboid;

encoding, for each encoded parent cuboid, the origin of a child reference cuboid;

encoding the distance from the child reference cuboid to another child cuboid containing a data point for each encoded parent cuboid; and

encoding each remaining child cuboid containing a data point as a distance from the most recently encoded child cuboid, wherein each encoded child cuboid having a negative distance from the previously encoded cuboid is encoded as a distance from a predetermined position having a positive distance value.

2. The method of claim 1 , wherein the origin of the second parent cuboid is encoded as a distance from the origin of the first parent cuboid.

3. The method of claim 1 , wherein each remaining parent cuboid is encoded in ascending order according to its position in the N dimensional volume.

4. The method of claim 1 , wherein each remaining child cuboid is encoded in ascending order according to its position in the parent cuboid.

5. The method of claim 1 , further comprising the step of transmitting the encoded data.

6. The method of claim 1 , further comprising the step of encoding, for each data point, remaining location data in the child cuboid wherein the data point is mapped.

7. The method of claim 1 , further comprising the step of further encoding the intensity of the data point, the number of returns of the data point, and the scan angle of the data point.

8. A method of preparing a plurality of data points for transmission, comprising:

receiving a plurality of data points defining an N dimensional volume, such that each data point exists within a location in the volume;

ordering the received data points into a data structure dividing the N dimensional volume into a plurality of parent cuboids, wherein each parent cuboid further contains a plurality of child cuboids;

encoding the origin of at least a first parent cuboid, of the plurality of parent cuboids, as a first reference cuboid;

encoding a distance from the first reference cuboid to a second parent cuboid, of the plurality of parent cuboids, containing a data point;

encoding each remaining parent cuboid containing a data point as a distance from the most recently encoded parent cuboid;

encoding, for each encoded parent cuboid, the origin of a child reference cuboid;

encoding the distance from the child reference cuboid to another child cuboid containing a data point for each encoded parent cuboid; and

encoding each remaining child cuboid containing a data point as a distance from the most recently encoded child cuboid;

encoding, for each data point, the intensity of the data point, the number of returns of the data point, and the scan angle of the data point.

9. The method of claim 8 , wherein the step of ordering the received data points, comprises the steps of:

parsing the N dimensional volume into a plurality of parent cuboids of a first predetermined dimension;

parsing each parent cuboid into a plurality of child cuboids of a second predetermined dimension, wherein the second predetermined dimension is a factor of the first predetermined dimension; and

mapping each data point to the child cuboid containing the location of the data point in the N dimensional volume.

10. The method of claim 8 , wherein the data structure is an octree data structure.

11. The method of claim 8 , wherein the origin of the second parent cuboid is encoded as a distance from the origin of the first parent cuboid.

12. The method of claim 8 , wherein each remaining parent cuboid is encoded in ascending order according to its position in the N dimensional volume.

13. The method of claim 8 , wherein each remaining child cuboid is encoded in ascending order according to its position in the parent cuboid.

14. The method of claim 8 , further comprising the step of transmitting the recorded data.

15. The method of claim 8 , wherein for each encoded child cuboid having a negative distance from the previously encoded cuboid is encoded as a distance from a predetermined position having a positive distance value.

16. The method of claim 8 , further comprising the step of encoding, for each data point, remaining location data in the child cuboid wherein the data point is mapped.

17. A nontransitory storage medium storing program code configured to prepare a plurality of data points for transmission, comprising:

program code for receiving a plurality of data points defining an N dimensional volume, such that each data point exists within a location in the volume;

program code ordering the received data points into a data structure dividing the N dimensional volume into a plurality of parent cuboids, wherein each parent cuboid further contains a plurality of child cuboids;

program code for encoding the origin of at least a first parent cuboid, of the plurality of parent cuboids, as a first reference cuboid;

program code for encoding a distance from the first reference cuboid to a second parent cuboid, of the plurality of parent cuboids, containing a data point;

program code for encoding each remaining parent cuboid containing a data point as a distance from the most recently encoded parent cuboid;

program code for encoding, for each encoded parent cuboid, the origin of a child reference cuboid;

program code for encoding the distance from the child reference cuboid to another child cuboid containing a data point for each encoded parent cuboid; and

program code for encoding each remaining child cuboid containing a data point as a distance from the most recently encoded child cuboid, wherein each encoded child cuboid having a negative distance from the previously encoded cuboid is encoded as a distance from a predetermined position having a positive distance value.

18. A nontransitory storage medium storing program code configured to prepare a plurality of data points for transmission, comprising:

program code for receiving a plurality of data points defining an N dimensional volume, such that each data point exists within a location in the volume;

program code ordering the received data points into a data structure dividing the N dimensional volume into a plurality of parent cuboids, wherein each parent cuboid further contains a plurality of child cuboids;

program code for encoding the origin of at least a first parent cuboid, of the plurality of parent cuboids, as a first reference cuboid;

program code for encoding a distance from the first reference cuboid to a second parent cuboid, of the plurality of parent cuboids, containing a data point;

program code for encoding each remaining parent cuboid containing a data point as a distance from the most recently encoded parent cuboid;

program code for encoding, for each encoded parent cuboid, the origin of a child reference cuboid;

program code for encoding the distance from the child reference cuboid to another child cuboid containing a data point for each encoded parent cuboid;

program code for encoding each remaining child cuboid containing a data point as a distance from the most recently encoded child cuboid; and

program code for encoding, for each data point, the intensity of the data point, the number of returns of the data point, and the scan angle of the data point.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 8, 2024
From: ROYAL BANK OF CANADA
To: ROME RESEARCH, LLC
Reel/Frame 068838/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: PAR TECHNOLOGY CORPORATION
To: PAR GOVERNMENT SYSTEMS CORPORATION
Reel/Frame 068240/0283 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: PAR GOVERNMENT SYSTEMS CORPORATION
To: BOOZ ALLEN HAMILTON INC.
Reel/Frame 068241/0188 →
SECURITY AGREEMENT Recorded Jul 5, 2024
From: ROME RESEARCH, LLC
To: ROYAL BANK OF CANADA, AS AGENT
Reel/Frame 068093/0328 →
RELEASE OF SECURITY INTEREST Recorded Sep 22, 2021
From: OWL ROCK FIRST LIEN MASTER FUND, L.P.
To: PAR TECHNOLOGY CORPORATION; PARTECH, INC.; PUNCHH INC.
Reel/Frame 057564/0591 →
SECURITY INTEREST Recorded Apr 8, 2021
From: PAR TECHNOLOGY CORPORATION; PARTECH, INC.; PUNCHH INC.
To: OWL ROCK FIRST LIEN MASTER FUND, L.P., AS COLLATERAL AGENT
Reel/Frame 055870/0710 →
RELEASE OF SECURITY INTEREST RECORDED ON JUNE 5, 2018 AT REEL/FRAME 045991/0151 Recorded Apr 22, 2019
From: CITIZENS BANK, N.A.
To: PAR TECHNOLOGY CORPORATION; PAR GOVERNMENT SYSTEMS CORPORATION
Reel/Frame 050164/0843 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2018
From: JPMORGAN CHASE BANK, N.A.
To: PAR TECHNOLOGY CORPORATION; PARTECH, INC.; PAR SPRINGER-MILLER SYSTEMS, INC.; PAR GOVERNMENT SYSTEMS CORPORATION; ROME RESEARCH CORPORATION; PAR-SIVA CORPORATION; AUSABLE SOLUTIONS, INC.; SPRINGER-MILLER INTERNATIONAL, LLC; PAR LOGISTICS MANAGEMENT SYSTEMS CORPORATION
Reel/Frame 046455/0658 →
SECURITY INTEREST Recorded Jun 5, 2018
From: PAR TECHNOLOGY CORPORATION; PAR GOVERNMENT SYSTEMS CORPORATION
To: CITIZENS BANK, N.A.
Reel/Frame 045991/0151 →
SECURITY INTEREST Recorded Dec 1, 2016
From: PAR TECHNOLOGY CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 040479/0467 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2015
From: KOZAK, MARK; WU, JIMMY; DOWNS, JEFFREY
To: PAR TECHNOLOGY CORPORATION
Reel/Frame 035099/0480 →
Continuity (2)
Provisional Application 61941301 · Feb 18, 2014
Related Publication 20150235385A1 · Aug 20, 2015