IP Library Granted Patent US 9,129,348
Granted Patent B2
US 9,129,348 · App. 14/279,702 · Granted Sep 8, 2015

Container file for large format imagery and method of creating the container file and organizing data within the container file

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,129,348
App. No.
14/279,702
Granted
Sep 8, 2015
Kind
B2
Abstract

A method of creating a container file for large format imagery and organizing data within the container file are described. In one embodiment, the method of creating the container file includes validating user input parameters for the file container, and determining whether the container file already exists, the container file having file container metadata. If the file container does not exist, creating the container by creating one or more empty records in a storage device, the one or more empty records having an image file section reserved for storing an image, an image metadata section reserved for storing data about the image and a record metadata section having at least a mark indicating that the image file section is empty. A size of the image file section, a size of the image metadata section and a size of the record metadata section are determined using the user input parameters.

Claims (63)

1. A method of organizing data of a plurality of images, the method being implemented by a computer system that includes one or more processors configured to execute processing operations, the method comprising:

dividing each of the plurality of images into a matrix of a plurality of tiles, each tile in the plurality of tiles comprising a plurality of pixels; and

storing the plurality of tiles in a storage device such that for each column of the matrix of tiles, tiles at successive rows are stored adjacent to each other, wherein the plurality of images are temporally sequential.

2. The method according to claim 1 , wherein the plurality of pixels in each tile are organized as band-interleaved by pixel (BIP) by storing together bytes for all bands for a given pixel in the plurality of pixels.

3. The method according to claim 1 , wherein the plurality of pixels in each tile are organized as band-sequential (BSQ) by storing all pixels for a first band together followed by storing all pixels for a second band together.

4. The method according to claim 1 , wherein storing the plurality of tiles comprises storing successive tiles within a first column in the matrix of tiles adjacent to each other, followed by storing successive tiles within a second column adjacent to the first column in the matrix of tiles adjacent to each other.

5. The method according to claim 1 , wherein the plurality of images are reduced resolution dataset images of one or more original images.

6. A method of updating a container file for storing images, the method being implemented by a computer system that includes one or more processors configured to execute processing operations, the method comprising:

determining whether the container file already exists, the container file comprising container file metadata including information about the container file and a status mark indicating whether the container file is available or unavailable, and one or more records, each record of the one or more records comprising:

an image file section reserved for storing an image, an image metadata section reserved for storing data about the image, and a record metadata section including information about the record and at least a status mark indicating whether the record is empty, being updated, valid or invalid;

if the container file exists, setting the status mark of the container file metadata to unavailable or being updated;

modifying the container file by adding or inserting one or more records to the container file or replacing one or more records in the container file;

updating the container file metadata section to reflect a new count of records; and

resetting the status mark of the container file metadata to available, after updating the container file metadata to reflect the new count of records.

7. The method according to claim 6 , further comprising:

determining whether a desired record exists;

if the desired record exists, determining whether a status mark of the container file metadata of the container file that contains the desired record is set to available;

if the status mark of the container file metadata is set to available, setting the status mark of the record metadata section of the desired record to being updated; and

writing the image to the desired record in the container file.

8. The method according to claim 7 , further comprising marking the status mark of the record metadata section as valid if writing is successful or marking the status mark of the record metadata section as invalid if an error occurred during writing into the record.

9. The method according to claim 8 , further comprising writing first storage device block size (SDBS) bytes of the record metadata, the record metadata section starting from a location that is aligned to an integer multiple of the storage device block size (SDBS) of the storage device.

10. The method according to claim 9 , wherein a number of bytes in the record metadata section is contained within an integer multiple of the storage device block size (SDBS).

11. The method according to claim 6 , wherein the record metadata section further comprises compression data.

12. The method according to claim 6 , wherein the image comprises a plurality of tiles and the record metadata section further comprises relative offsets of each tile and sizes of each tile within the image.

13. The method according to claim 6 , wherein the record metadata section further comprises record creation time, record modification time, a name of the user who modified the record, or a computer application name used to modify the record, or any combination of two or more thereof.

14. A method of writing a record, the method being implemented by a computer system that includes one or more processors configured to execute processing operations, the method comprising:

determining whether a record exists in a container file, the record comprising:

an image file section reserved for storing an image,

an image metadata section reserved for storing data about the image, and

a record metadata section including information about the record and at least a status mark indicating whether the record is empty, being updated, valid or invalid;

if the record exists, determining whether a status mark of the container file metadata of the container file that contains the desired record is set to available;

if the status mark of the container file metadata is set to available, writing the image to the record in the container file; and

marking the status mark of the record metadata section as valid if writing is successful or marking the status mark of the record metadata section as invalid if an error occurred during writing the image to the record in the container file.

15. The method according to claim 14 , further comprising: if the status mark of the container file metadata is set to available, setting the status mark of the record metadata section to being updated.

16. The method according to claim 15 , further comprising writing first storage device block size (SDBS) bytes of the record metadata, the record metadata section starting from a location that is aligned to an integer multiple of the storage device block size (SDBS) of the storage device.

17. The method according to claim 16 , wherein a number of bytes in the record metadata section is contained within an integer multiple of the storage device block size (SDBS).

18. The method according to claim 16 , wherein the record metadata section further comprises compression data.

19. The method according to claim 16 , wherein the image comprises a plurality of tiles and the record metadata section further comprises relative offsets of each tile and sizes of each tile within the image.

20. The method according to claim 16 , wherein the record metadata section further comprises record creation time, record modification time, a name of a user who modified the record, or a computer application name used to modify the record, or any combination of two or more thereof.

21. A container file for storing images in a storage device, the container file comprising:

container file metadata including information about the container file and a status mark indicating whether the container file is available or unavailable; and

one or more records, each record of the one or more records comprising:

an image file section reserved for storing an image,

an image metadata section reserved for storing data about the image, and

a record metadata section including information about the record and at least a status mark indicating whether the record is empty, being updated, valid or invalid.

22. The container file according to claim 21 , wherein the information about the record comprises a format of the image file, a layout of tiles within the image, a list of relative tile position and tile size, or a compression state, or any combination of two or more thereof.

23. The container file according to claim 21 , wherein the image metadata section precedes or follows the image file section.

24. The container file according to claim 21 , wherein the record metadata section further comprises a status mark indicating a status of the one or more records.

25. The container file according to claim 21 , wherein the image metadata section includes acquisition time, creation time, modification time, security parameters, or geospatial information of the image, or any combination of two or more thereof.

26. The container file according to claim 21 , wherein the container file metadata includes information about the container file, type of data that the container file contains, the organization structure of the data, a number of the plurality records within the container file, or any combination of two or more thereof.

27. The container file according to claim 21 , wherein the container file is a fixed length record file such that a size of the record metadata section, a size of the image metadata section, and a size of the image file is the same for the one or more records within the container file.

28. The container file according to claim 21 , wherein the image metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device, and the image file section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

29. The container file according to claim 28 , wherein the record metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

30. The container file according to claim 29 , wherein a number of bytes in the record metadata section is contained within an integer multiple of the storage device block size (SDBS).

31. The container file according to claim 21 , wherein the record metadata section further comprises compression data.

32. The container file according to claim 21 , wherein the record metadata section further comprises relative offsets of each tile and sizes of each tile within the image.

33. The container file according to claim 21 , wherein the record metadata section further comprises record creation time, record modification time, a name of the user who modified the record, or a computer application name used to modify the record, or any combination of two or more thereof.

34. The container file according to claim 21 , wherein the image metadata includes UTC time of acquisition, geospatial information about the image, sensor parameters, parameters from a capturing device that captured the image, parameters on the environment in which the image is captured by the capturing device including elevation, pitch, yaw, or roll, or any combination thereof if the capturing device is airborne, original time and modification time of image file, folder in which file existed, or user notes, or any combination of two or more thereof.

35. The container file according to claim 21 , wherein a status of the container file metadata is set to unavailable when extending the container file by adding one or more records to the container file.

36. The container file according to claim 35 , wherein the container file metadata section is updatable to reflect a new count of records.

37. The container file according to claim 21 , wherein the status of the container file metadata is reset to available after updating the container file metadata to reflect a new count of records.

38. The container file according to claim 21 , wherein the container file metadata begins at a start of the container file and the container file metadata starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

39. The container file according to claim 21 , wherein the status mark in the container file metadata is located in first bytes of a storage device block size (SDBS) of the storage device.

Assignments (12)
SUPERPRIORITY PATENT SECURITY AGREEMENT Recorded Oct 6, 2025
From: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS INC.; CUBIC DIGITAL INTELLIGENCE INC.; CUBIC ITS, INC.; CUBIC SECURE COMMUNICATIONS, LLC; CUBIC TOTAL LEARNING PLATFORM, LLC; CUBIC TRANSPORTATION SYSTEMS, INC.; GATR TECHNOLOGIES INC.; NUVOTRONICS INC.
To: BARCLAYS BANK PLC
Reel/Frame 073008/0761 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2025
From: ALTER DOMUS (US) LLC
To: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL INTELLIGENCE, INC.
Reel/Frame 072278/0272 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2025
From: ALTER DOMUS (US) LLC
To: CUBIC CORPORATION; CUBIC DIGITAL SOLUTIONS LLC; NUVOTRONICS, INC.
Reel/Frame 072281/0176 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 056393/0281 Recorded Jul 28, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL SOLUTIONS LLC (FORMERLY PIXIA CORP.)
Reel/Frame 072282/0124 →
SECURITY INTEREST Recorded May 2, 2025
From: CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL INTELLIGENCE, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071161/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2024
From: PIXIA CORP.
To: CUBIC DIGITAL INTELLIGENCE, INC.
Reel/Frame 066816/0198 →
SECOND LIEN SECURITY AGREEMENT Recorded May 26, 2021
From: CUBIC CORPORATION; PIXIA CORP.; NUVOTRONICS, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 056393/0314 →
FIRST LIEN SECURITY AGREEMENT Recorded May 26, 2021
From: CUBIC CORPORATION; PIXIA CORP.; NUVOTRONICS, INC.
To: BARCLAYS BANK PLC
Reel/Frame 056393/0281 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2019
From: SILICON VALLEY BANK
To: PIXIA CORP.
Reel/Frame 049477/0358 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: PIXIA CORP.
To: SILICON VALLEY BANK
Reel/Frame 038372/0424 →
SECURITY INTEREST Recorded May 14, 2015
From: PIXIA CORP.
To: SILICON VALLEY BANK
Reel/Frame 035644/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2014
From: THAKKAR, RAHUL C.; PAKULA, SCOTT L.; ERNST, RUDOLF O.
To: PIXIA CORP.
Reel/Frame 032912/0832 →