IP Library › Granted Patent US 12,321,474
Granted Patent B2
US 12,321,474 · App. 17/896,922 · Granted Jun 3, 2025

Partitioning, processing, and protecting media data

Inventors: Donpaul C. Stephens (Houston, TX); Qiang Zhang (Bryan, TX); Zhiying Gu (Berkeley, CA); Feilian Huang (Atlanta, GA); Shiyao Shen (Atlanta, GA); Jiaxin Li (Houston, TX)
Assignee: AirMettle, Inc.
G06F21/6218H04N21/2312H04N21/8456
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 12,321,474
App. No.
17/896,922
Granted
Jun 3, 2025
Kind
B2
Abstract

A technique for managing data objects in a storage cluster includes splitting a media data object into multiple portions at boundaries within the media data object. The technique further includes transforming the portions of the media data object into segments that provide individually processable units and distributing the segments among multiple computing nodes of the storage cluster for storage therein.

Claims (42)

1. A method of managing media data, comprising:

splitting a media data object into multiple portions at boundaries within the media data object;

transforming the portions into segments that provide individually processable units of media data; and

distributing the segments among multiple computing nodes of a storage cluster for storage therein,

wherein splitting the media data includes providing an overlap region between two consecutive segments such that the consecutive segments contain respective regions having identical media data, the overlap region having a configurable size based at least in part on a type of processing to be performed individually on the consecutive segments.

2. The method of claim 1 , wherein splitting the media data object into portions includes defining multiple portions that contain video data corresponding to respective intervals of time.

3. The method of claim 2 , wherein the defined portions that contain video data contain no audio data.

4. The method of claim 2 , wherein splitting the media data object into portions further includes providing at least one portion that contains audio data but no video data.

5. The method of claim 2 , wherein splitting the media data object into portions further includes defining multiple portions that contain audio data corresponding to respective intervals of time but contain no video data.

6. The method of claim 5 , wherein the media data object includes audio data for multiple audio tracks, and wherein each of the portions that contain audio data includes audio data for all of the multiple audio tracks for the respective interval of time.

7. The method of claim 2 , wherein splitting the media data object into portions further includes providing at least one portion that contains subtitle data.

8. The method of claim 2 , wherein the two consecutive segments are of a same type, the type being one of video, audio, or subtitle.

9. The method of claim 8 , further comprising defining a size of the overlap region based on at least one of (i) a specified duration of time and (ii) a specified number of frames.

10. The method of claim 9 , wherein the media data object includes video data having a frame rate, and wherein defining the size of the overlap region is based on a longer of (i) the specified duration of time and (ii) the specified number of frames.

11. The method of claim 9 , wherein the size of the overlap regions is a user-definable setting.

12. The method of claim 8 , wherein splitting the media data object into portions at boundaries within the media data object includes:

identifying a first IDR (Instantaneous Decoder Refresh) frame at a first location in video data of the media data object;

identifying a second IDR frame at a second location in the video data, the second IDR frame corresponding to a later point in time than the first IDR frame;

ending a first portion of the media data object at the second location; and

beginning a second portion of the media data object at the first location, the first portion and the second portion thereby defining the overlapping region, which extends between the first location and the second location.

13. The method of claim 12 , wherein the video data of the media data object includes at least one intervening IDR frame between the first IDR frame and the second IDR frame.

14. The method of claim 2 , wherein transforming the portions into segments includes rendering the portions as standalone, playable media content.

15. The method of claim 14 , further comprising storing an AI (artificial intelligence) filter, configured to process one or more of the segments, among the computing nodes of the storage cluster.

16. The method of claim 15 , further comprising executing the Al filter on a single segment without reference to any other segments.

17. The method of claim 16 , wherein the Al filter includes a neural network configured to identify a specified class of objects or behavior.

18. The method of claim 14 , wherein rendering the portions as standalone, playable media content includes creating respective containers for the portions, the containers including metadata based on respective contents of the media data object.

19. The method of claim 2 , wherein the media data object includes multiple chunks, each chunk including contiguous, time-ordered data for one of (i) video data, (ii) audio data, or (iii) subtitle data, and wherein the method further comprises storing a metadata index that associates chunks with respective byte ranges within the media data object, the metadata index thereby enabling access to chunks based on byte range.

20. The method of claim 2 , wherein the media data object includes multiple chunks, each chunk including contiguous, time-ordered data for one of (i) video data, (ii) audio data, or (iii) subtitle data, and wherein the method further comprises storing a metadata index that associates chunks with respective time ranges within the media data object, the metadata index thereby enabling access to chunks based on time range.

21. The method of claim 1 , further comprising reconstructing the media data object from the distributed segments.

22. A computerized apparatus, comprising control circuitry that includes a set of processors coupled to memory, the control circuitry constructed and arranged to:

split a media data object into multiple portions at boundaries within the media data object;

transform the portions into segments that provide individually processable units of media data; and

distribute the segments among multiple computing nodes of a storage cluster for storage therein,

wherein the control circuitry constructed and arranged to split the media data is further constructed and arranged to provide an overlap region between two consecutive segments such that the consecutive segments contain respective regions having identical media data, the overlap region having a configurable size based at least in part on a type of processing to be performed individually on the consecutive segments.

23. A computer program product including a set of non- transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of managing media data, the method comprising:

splitting a media data object into multiple portions at boundaries within the media data object;

transforming the portions into segments that provide individually processable units of media data; and

distributing the segments among multiple computing nodes of a storage cluster for storage therein,

wherein splitting the media data includes providing an overlap region between two consecutive segments such that the consecutive segments contain respective regions having identical media data, the overlap region having a configurable size based at least in part on a type of processing to be performed individually on the consecutive segments.

24. The method of claim 2 , further comprising storing segment metadata that associates segments of the media data object with locations in the storage cluster where the respective segments are stored.

25. The method of claim 1 , wherein the two consecutive segments include video data and the type of processing to be performed individually on the consecutive segments includes video analytics processing.

26. The method of claim 25 , wherein the video analytics processing is performed using an Al (artificial intelligence) filter, and wherein the configurable size is defined based on a warm-up time of the Al filter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: STEPHENS, DONPAUL C.; ZHANG, QIANG; GU, ZHIYING; HUANG, FEILIAN; SHEN, SHIYAO; LI, JIAXIN
To: AIRMETTLE, INC.
Reel/Frame 061560/0984 →
Continuity (2)
Provisional Application 63237766 · Aug 27, 2021
Related Publication 20230076014A1 · Mar 9, 2023
References Cited (35)
US 9426219B1 · Keyser · 2016 [cited by applicant]
US 9477651B2 · Agarwal et al. · 2016 [cited by applicant]
US 9507843B1 · Madhavarapu et al. · 2016 [cited by applicant]
US 9965539B2 · D'Halluin et al. · 2018 [cited by applicant]
US 10270823B2 · Stockhammer et al. · 2019 [cited by applicant]
US 10469860B1 · Zhang et al. · 2019 [cited by applicant]
US 10983973B2 · Kunnatur et al. · 2021 [cited by applicant]
US 11030171B2 · Shahane et al. · 2021 [cited by applicant]
US 20040210948A1 · Jin et al. · 2004 [cited by applicant]
US 20120079364A1 · Agarwal et al. · 2012 [cited by applicant]
US 20120089562A1 · Deremigio et al. · 2012 [cited by applicant]
US 20190080723A1 · Ahsan et al. · 2019 [cited by applicant]
US 20190089967A1 · White · 2019 [cited by examiner]
US 20200125751A1 · Hariharasubrahmanian et al. · 2020 [cited by applicant]
US 20220321970A1 · Swanson · 2022 [cited by examiner]
US 20230065773A1 · Dimitriou · 2023 [cited by examiner]
AU 2015221573 · 2015 [cited by applicant]
WO WO2009137919A1 · 2009 [cited by examiner]
“ffmpeg Documentation”, downloaded Jul. 28, 2021 from https://www.ffmpeg.org/ffmpeg.html, 47 pages. [cited by applicant]
“MP4 File Format”, downloaded Nov. 1, 2022 from https://web.archive.org/web/20210124103047/https://docs.fileformat.com/video/mp4/, which provides an archived version dated Jan. 24, 2021, 3 pages. [cited by applicant]
Elements of the H.264 Video/ACC Audio MP4 Movie; Application Note AN101; Cimarron Systems, Apr. 28, 2014, 18 pages. [cited by applicant]
International Search Report and Written Opinion, International Application No. PCT/US2021/031965, dated Aug. 4, 2021, 16 pages. [cited by applicant]
Muhmud, Mohammad Sultan et al., “A survey of data partitioning and sampling methods to support big data analysis”, Big Data Mining and Analytics, vol. 3, No. 1, pp. 85-101, Feb. 27, 2020. [cited by applicant]
Armbrust, M., Das, T., Sun, L., Yavuz, B., Zhu, S., Murthy, M., Torres, J., Van Hovell, H., Ionescu, A., Luszczak, A., et al. “Delta Lake: high-performance acid table storage over cloud object stores”. Proceedings of th… [cited by applicant]
Armbrust, M., Ghodsi, A., Xin, R., and Zaharia, M. “Lakehouse: A new generation of open platforms that unify data warehousing and advanced analytics”. CIDR. [cited by applicant]
Barbalace, Antonio and Do, Jaeyoung, “Computational Storage: Where Are We Today?”, CIDR, 2021,http://cidrdb.org/cidr2021/papers/cidr2021_paper29.pdf. [cited by applicant]
Dageville, B., Cruanes, T., Zukowski, M., Antonov, V., Avanes, A., Bock, J., Claybaugh, J., Engovatov, D., Hentschel , M., Huang, J., et al. “The Snowflake Elastic Data Warehouse”. In SIGMOD (2016). [cited by applicant]
Do, J., Kee, Yang-Suk., Patel, J. M., Park, C., Park, K., and Dewitt, D. J. “Query Processing on Smart SSDs: Opportunities and Challenges”. In SIGMOD (2013). [cited by applicant]
Hunt, R. “S3 Select and Glacier Select—Retrieving Subsets of Objects”. https://aws.amazon.com/blogs/aws/s3-glacier-select, 2018. [cited by applicant]
Langdale, Geoff and Lemire, Daniel , “Parsing gigabytes of JSON per second”, The VLDB Journal, vol. 28, No. 6, p. 941-960, 2019, https://core.ac.uk/download/pdf/227192468.pdf. [cited by applicant]
Ge, Chang; Li, Yinan; Eilebrecht, Eric; Chandramouli, Badrish; and Kossmann, Donald, “Speculative distributed CSV data parsing for big data analytics”, Proceedings of the 2019 International Conference on Management of D… [cited by applicant]
Tan, J., Ghanem, T., Perron, M., Yu, X., Stonebraker, M., Dewitt, D., Serafini, M., Aboulnaga, A., and Kraska, T. “Choosing a cloud dbms: architectures and tradeoffs”. Proceedings of the VLDB Endowment 12, 12 (2019), 21… [cited by applicant]
Weiss, R. “A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server”. Oracle White Paper. Oracle Corporation, Redwood Shores (2012). [cited by applicant]
Yu, X., Youill, M., Woicik, M., Ghanem, A., Serafini, M., Aboulnaga, A., and Stonebraker, M. “PushdownDB: Accelerating a DBMS using S3 Computation”. In 2020 IEEE 36th International Conference on Data Engineering (ICDE) … [cited by applicant]
International Search Report and Written Opinion for application No. PCT/US2022/041719, dated Dec. 16, 2022, 16 pages. [cited by applicant]