IP Library › Granted Patent US 12,277,737
Granted Patent B2
US 12,277,737 · App. 17/757,532 · Granted Apr 15, 2025

Method for encoding a digital image in order to compress same

Inventors: Amaury Darsch (Lorient, FR); Lucas Clarté (Gagny, FR)
Assignee: SHADOW
G06T9/00H04N19/90G06V10/44
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,277,737
App. No.
17/757,532
Granted
Apr 15, 2025
Kind
B2
Abstract

The disclosure relates to a method of encoding a digital image in order to compress same, the digital image being defined as a point cloud associating a set of N pixels, designated as vertices, to a scalar intensity value. The method aims at establishing triangulation vertices of the digital image and implements the principles of algorithmic topology.

Claims (35)

1. A method for encoding a digital image formed by a set of N pixels (p ij ) for compression thereof, the digital image being defined as a cloud of N points (i, j, f ij ), designated as vertices (v k ), associating the set of N pixels (p ij ) with a scalar intensity value (f ij ), the method comprising the following steps:

a) ordering N vertices (v k ) in increasing order of scalar intensity values (f ij ) in a vertex table, wherein the ordering step comprises applying a discrimination rule so as to order, in the vertex table, two vertices having the same scalar intensity value;

b) initializing an iteration index i and a class index c to 0, initializing a starting simplicial complex (K 0 ) to an empty set and repeating the sequence of the following operations until the iteration index i reaches N:

incrementing the iteration index i;

extracting the vertex of rank i (v i ) from the vertex table and checking whether the vertex of rank i (v i ) is in the neighborhood of a vertex comprised in the simplicial complex of rank i−1 (K i−1 ); and

if no vertex of the simplicial complex of rank i (K i ) is in the neighborhood of the vertex of rank i (v i ), incrementing the rank of class c, forming the simplicial complex of rank i (K i ) by adding a new class (C c ) composed of the vertex of rank i (v i ) to the simplicial complex of rank i−1 (K i−1 ), and assigning rank c to the new class (C c );

if at least one vertex of a single class of the simplicial complex of rank i (K i ) is in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by adding the vertex of rank i (v i ) to the simplicial complex of rank i−1 (K i−1 ) in this one class;

if several vertices of a plurality of classes of the simplicial complex of rank i (K i ) are in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by grouping together, in the simplicial complex of rank i−1 (K i−1 ), the vertices forming this plurality of classes and the vertex of rank i (v i ) in the class of lowest rank and forming a persistence pair comprising:

i. the first vertex (v ic ) corresponding to the lowest rank vertex in the lowest rank class of the plurality of classes of the simplicial complex of rank i (K i ), this rank being called the appearance rank of the persistence pair (ic); and

ii. the second vertex (v id ) corresponding to the vertex of rank of index i (v i ), this rank i being called the disappearance rank of the persistence pair (id); and

in a decimation step, calculating, for each persistence pair (v ic , v id ) identified, a lifetime associated with the persistence pair (v ic , v id ) calculated as a difference between the disappearance rank of the persistence pair (id) and the appearance rank of the persistence pair (ic), and retaining, in a restricted list, some of the persistence pairs (v ic , v id ) exhibiting the longest lifetimes;

the encoded digital image comprising at least some pixels (p ij ) corresponding to the vertices constituting the persistence pairs (v ic , v id ) of the restricted list.

2. A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one processor, cause the at least one processor to perform the encoding method according to claim 1 .

3. An encoding device, comprising:

at least one processor; and

a non-transitory computer-readable medium storing instructions thereon that, when executed by the at least one processor, cause the at least one processor to perform the encoding method according to claim 1 .

4. The method of claim 1 , wherein the following steps are also carried out: an iteration index i to N+1 and a class index c are initialized to 0, a starting simplicial complex (K N ) is initialized to the empty set and the sequence of the following operations is repeated until the iteration index i reaches 1:

decrementing the iteration index i;

extracting the vertex of rank i (v i ) from the vertex table and checking whether the vertex of rank i (v i ) is in the neighborhood of a vertex comprised in the simplicial complex of rank i+1 (K i+1 ); and

if no vertex of the simplicial complex of rank i+1 (K i+1 )is in the neighborhood of the vertex of rank i (v i ), incrementing the rank of class c, forming the simplicial complex of rank i (K i ) by adding a new class (C c ) composed of the vertex of rank i (v i ) to the simplicial complex of rank i+1 (K i+1 ), and assigning rank c to the new class (C c );

if at least one vertex of a single class of the simplicial complex of rank i+1 (K i+1 ) is in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by adding the vertex of rank i (v i ) to the simplicial complex of rank i+1 (K i+1 ) in this one class; and

if several vertices of a plurality of classes of the simplicial complex of rank i+1 (K i+1 ) are in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by grouping together, in the simplicial complex of rank i+1 (K i+1 ), the vertices forming this plurality of classes and the vertex of rank i (v i ) in the class of lowest rank.

5. The method of claim 1 , wherein a first vertex v 1 , corresponding to a point with indices i 1 , j 1 of the digital image, is in the neighborhood of a second vertex v 2 , corresponding to a point with indices i 2 , j 2 of the digital image, if i 1 =i 2 +1, and/or if j 1 =j 2 +1.

6. The method of claim 5 , further comprising determining a plurality of triangles from triangulation vertices.

7. The method of claim 1 , wherein the scalar intensity value (f ij ) of the digital image results from the combination of a plurality of color intensities of a raw color image.

8. The method of claim 7 , further comprising determining a plurality of triangles from triangulation vertices.

9. The method of claim 1 , wherein the following steps are also carried out: an iteration index i to N+1 and a class index c are initialized to 0, a starting simplicial complex (K N ) is initialized to the empty set and the sequence of the following operations is repeated until the iteration index i reaches 1:

decrementing the iteration index i;

extracting the vertex of rank i (v i ) from the vertex table and checking whether the vertex of rank i (v i ) is in the neighborhood of a vertex comprised in the simplicial complex of rank i+1 (K i+1 ); and

if no vertex of the simplicial complex of rank i+1 (K i+1 ) is in the neighborhood of the vertex of rank i (v i ), incrementing the rank of class c, forming the simplicial complex of rank i (K i ) by adding a new class (C c ) composed of the vertex of rank i (v i ) to the simplicial complex of rank i+1 (K i+1 ), and assigning rank c to the new class (C c );

if at least one vertex of a single class of the simplicial complex of rank i+1 is in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by adding the vertex of rank i (v i ) to the simplicial complex of rank i+1 (K i+1 ) in this one class; and

if several vertices of a plurality of classes of the simplicial complex of rank i+1 (K i+1 ) are in the neighborhood of the vertex of rank i (v i ), forming the simplicial complex of rank i (K i ) by grouping together, in the simplicial complex of rank i+1 (K i+1 ), the vertices forming this plurality of classes and the vertex of rank i (v i ) in the class of lowest rank.

10. The method of claim 9 , wherein a first vertex v 1 , corresponding to a point with indices i 1 , j 1 of the digital image, is in the neighborhood of a second vertex v 2 , corresponding to a point with indices i 2 , j 2 of the digital image, if i 1 =i 2 +1, and/or if j 1 =j 2 +1.

11. The method of claim 10 , wherein the scalar intensity value (f ij ) of the digital image results from the combination of a plurality of color intensities of a raw color image.

12. The method of claim 11 , further comprising determining a plurality of triangles from triangulation vertices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2022
From: DARSCH, AMAURY; CLARTÉ, LUCAS
To: SHADOW
Reel/Frame 060579/0989 →
Priority Claims (1)
FR 1914826 · Dec 19, 2019 · national
Continuity (1)
Related Publication 20230009035A1 · Jan 12, 2023
References Cited (20)
US 7230616B2 · Taubin · 2007 [cited by examiner]
US 8207965B2 · Vinchon · 2012 [cited by examiner]
US 8502815B2 · Stefanoski · 2013 [cited by examiner]
US 8654146B2 · Fenney · 2014 [cited by examiner]
US 11631218B2 · Vytyaz · 2023 [cited by examiner]
US 12125249B2 · Joshi · 2024 [cited by examiner]
Edelsbrunner, Letscher, and Zomorodian. “Topological persistence and simplification.” Discrete & computational geometry 28 (2002): 511-533. (Year: 2002). [cited by examiner]
Vidal, Jules, Pierre Guillou, and Julien Tierny. “A progressive approach to scalar field topology.” IEEE Transactions on Visualization and Computer Graphics 27.6 (2021): 2833-2850. (Year: 2021). [cited by examiner]
Durand, Fredo, George Drettakis, and Claude Puech. “Fast and accurate hierarchical radiosity using global visibility.” ACM Transactions on Graphics (TOG) 18.2 (1999): 128-170. (Year: 1999). [cited by examiner]
Hofer, Christoph D., Roland Kwitt, and Marc Niethammer. “Learning representations of persistence barcodes.” Journal of Machine Learning Research 20.126 (2019): 1-45. (Year: 2019). [cited by examiner]
Biasotti S, De Floriani L, Falcidieno B, Frosini P, Giorgi D, Landi C, Papaleo L, Spagnuolo M. Describing shapes by geometrical-topological properties of real functions. ACM Computing Surveys (CSUR). Oct. 15, 2008;40(4)… [cited by examiner]
Neves JM, Persiano RM. Visualizing scalar fields represented by adaptive square triangulations. InProceedings X Brazilian Symposium on Computer Graphics and Image Processing Oct. 14, 1997 (pp. 95-102). IEEE. (Year: 1997… [cited by examiner]
Carlsson et al., On the Local Behavior of Spaces of Natural Images, Int J Comput Vis, (2008), vol. 36, pp. 1-12. [cited by applicant]
Chittajallu et al., Vectorized Persistent Homology Representations for Characterizing Glandular Architecture in Histology Images, 2018 IEEE 15th International Symposium on Biomedical Imaging (ISBI 2018), Apr. 4-7, 2018,… [cited by applicant]
Cuadros-Vargas et al., Generating Segmented Quality Meshes from Images, J Math Imaging Vis, (2009), vol. 33, pp. 11-23. [cited by applicant]
Edelsbrunner et al., Computational Topology—an Introduction, Semantic Scholar, Published Dec. 8, 2009. [cited by applicant]
International Search Report for International Application No. PCT/FR2020/052464 dated Mar. 29, 2021, 2 pages. [cited by applicant]
International Written Opinion for International Application No. PCT/FR2020/052464 dated Mar. 29, 2021, 9 pages. [cited by applicant]
Lehner et al., Image Compression Using Data-Dependent Triangulations, Advances in Visual Computing, (2007), pp. 351-362. [cited by applicant]
Marwood et al., Representing Images in 2000 Bytes: Compression via Triangulation, Computer Science, (Sep. 7, 2018), pp. 405-409. [cited by applicant]