IP Library Granted Patent US 9,123,092
Granted Patent B2
US 9,123,092 · App. 14/279,785 · Granted Sep 1, 2015

Method of creating or updating a container file for storing image files

Inventors: Rahul C. Thakkar (Sterling, VA); Scott L. Pakula (Chantilly, VA); Rudolf O. Ernst (Leesburg, VA)
Assignee: PIXIA CORP.
G06T1/00G06F17/3028G06F17/30247G06T7/0079
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,123,092
App. No.
14/279,785
Granted
Sep 1, 2015
Kind
B2
Abstract

A method of creating or updating a container file for storing images is provided. The method includes determining whether the container file already exists in a storage device, the container file having a container file metadata section. If the container file does not exist in the storage device, the method creates the container file by creating one or more empty records in the storage device. Each record of the one or more empty records includes an image file section reserved for storing an image, an image metadata section reserved for storing data about the image, a record metadata section including information about the record and having at least a record status mark indicating that the record is empty. The method further includes setting a container status mark in the container file metadata section to available, after creating the container file.

Claims (62)

1. A method of managing 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 in a storage device, the container file having a container file metadata section; and

if the container file does not exist in the storage device, creating the container file by creating one or more empty records in the storage device, each record of the one or more empty records comprising:

an image file section reserved for storing an image,

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

a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, and

setting a container status mark in the container file metadata section to available, after creating the container file.

2. The method according to claim 1 , further comprising defining a size of the image file section, a size of the image metadata section, a size of the record metadata section, and a size of the container metadata section using user input parameters.

3. The method according to claim 2 , wherein defining the size of the image file comprises defining the size of the image file according to a size of the image that is anticipated to be stored in the container file.

4. The method according to claim 3 , wherein the size of the image depends on a pixel height of the image, a pixel width of the image, a band-count, or a band data type, or any combination of two or more thereof.

5. The method according to claim 2 , wherein defining the size of the image metadata section comprises defining the size of the image metadata section according to a size of image metadata that is anticipated to be generated for an associated image.

6. The method according to claim 2 , wherein defining the size of the record metadata section comprises defining the size of the record metadata section according to a size of metadata that is anticipated to be generated for an associated record.

7. The method according to claim 2 , wherein defining the size of the container metadata section comprises defining the size of the container metadata section according to a size of metadata that is anticipated to be generated for the container.

8. The method according to claim 1 , wherein the image metadata section includes a time of acquisition of the image, geospatial information about the image, parameters of a sensor device that captured the image, parameters on an environment in which the image is captured, a creation time of the image, geospatial information of the image, a modification time of the image, a file name of the image, or user notes, or any combination of two or more thereof.

9. The method according to claim 8 , wherein parameters of the sensor device that captured the image include elevation, pitch, yaw, or roll, or any combination of two or more thereof, if the sensor device is airborne.

10. The method according to claim 1 , wherein the record metadata section includes a compression parameter of an image in the record, a number of tiles of the image within the record, a size of each tile in the image, a relative offset of each tile in the image, a creation time of the record, a modification time of the record, an application name that created or modified the record, an identification of a computer that created or modified the record, or user notes, or any combination of two or more thereof.

11. The method according to claim 1 , wherein the container metadata section includes a format of the image stored in the container file, a compression type applied to the image, owner information of the container file, security features for the container file, information about a user that processed the container file, a number of records, or user notes, or any combination of two or more thereof.

12. The method according to claim 1 , further comprising:

if the container file exists in the storage device, setting the container status mark to unavailable or being updated;

setting the record status mark of the one or more empty records to being updated;

writing one or more records into the one or more empty records within the container file;

if writing the one or more records is successful, resetting the record status mark to valid after writing the one or more records;

updating the container file metadata to reflect a number of records in the container file; and

resetting the container status mark to available, after updating the container file metadata.

13. The method according to claim 12 , wherein writing the one or more records comprises writing the one or more records sequentially into the one or more empty records within the container file.

14. The method according to claim 12 , wherein writing the one or more records comprises writing the one or more records in parallel into the one or more empty records within the container file.

15. The method according to claim 12 , wherein writing the one or more records comprises writing the one or more records via a distributed computing system.

16. The method according to claim 1 , further comprising validating user input parameters for the container file, wherein the user input parameters comprise a width of the image in pixels, a height of the image in pixels, a band-count, a band data type of the image, image source data, or number of images to be stored in the container file, or user notes, or any combination of two or more thereof.

17. The method according to claim 1 , wherein the image metadata section precedes or follows the image file section.

18. The method according to claim 1 , 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 each record of the one or more records within the container file.

19. The method according to claim 1 , 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, 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.

20. The method according to claim 19 , 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.

21. The method according to claim 20 , wherein the record metadata section is contained within an integer multiple of the storage device block size (SDBS).

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

23. The method according to claim 1 , further comprising setting the container status mark to unavailable or being updated and extending the container file by adding one or more records to the container file.

24. The method according to claim 23 , further comprising updating the container file metadata section to reflect a new number of records, after adding the one or more records to the container file.

25. The method according to claim 24 , further comprising resetting the status of the container file metadata to available, after updating the container file metadata to reflect the new number of records.

26. A method of managing a container file for data files, 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 in a storage device, the container file having a container file metadata section; and

if the container file does not exist in the storage device, creating the container file by creating one or more empty records in the storage device, each record of the one or more empty records comprising:

a data file section reserved for storing a data file,

a metadata section reserved for storing metadata about the data file,

a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, and

setting a container status mark in the container file metadata section to available, after creating the container file.

27. The method according to claim 26 , further comprising:

if the container file exists in the storage device, setting the container status mark to unavailable or being updated;

setting the record status mark of the one or more empty records to being updated;

writing one or more records into the one or more empty records within the container file;

if writing the one or more records is successful, resetting the record status mark to valid after writing the one or more records;

updating the container file metadata to reflect a number of records in the container file; and

resetting the container status mark to available, after updating the container file metadata.

28. The method according to claim 27 , wherein writing the one or more records comprises writing the one or more records sequentially into the one or more empty records within the container file.

29. The method according to claim 27 , wherein writing the one or more records comprises writing the one or more records in parallel into the one or more empty records within the container file.

30. The method according to claim 27 , wherein writing the one or more records comprises writing the one or more records via a distributed computing system.

31. The method according to claim 26 , wherein the metadata section precedes or follows the data file section.

32. The method according to claim 26 , wherein the metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device, the data file section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

33. The method according to claim 32 , 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.

34. The method according to claim 33 , wherein the record metadata section is contained within an integer multiple of the storage device block size (SDBS).

35. The method according to claim 26 , further comprising setting the container status mark to unavailable or being updated and extending the container file by adding one or more records to the container file.

36. The method according to claim 35 , further comprising updating the container file metadata section to reflect a new number of records, after adding the one or more records to the container file.

37. The method according to claim 36 , further comprising resetting the status of the container file metadata to available, after updating the container file metadata to reflect the new number of records.

38. The method according to claim 26 , wherein the data file is an image and the metadata about the file is an image metadata.

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 032913/0562 →
Continuity (4)
Continuation 13963727 · Aug 9, 2013
Continuation 13233647 · Sep 15, 2011
Provisional Application 61383566 · Sep 16, 2010
Related Publication 20140248002A1 · Sep 4, 2014