US 11,755,640 B2
DNA-based image storage and retrieval
Chao Pan, Urbana, IL (US); S. M. Hossein Tabatabaei Yazdi, Upland, CA (US); SeyedKasra Tabatabaei, Urbana, IL (US); Alvaro G. Hernandez, Champaign, IL (US); Charles M. Schroeder, Urbana, IL (US); and Olgica Milenkovic, Urbana, IL (US)
Assigned to The Board of Trustees of the University of Illinois, Urbana, IL (US)
Filed by The Board of Trustees of the University of Illinois, Urbana, IL (US)
Filed on Nov. 23, 2020, as Appl. No. 17/102,143.
Claims priority of provisional application 62/951,105, filed on Dec. 20, 2019.
Prior Publication US 2021/0191970 A1, Jun. 24, 2021
Int. Cl. G06F 16/583 (2019.01); G06T 5/00 (2006.01); H04N 19/176 (2014.01); H04N 19/186 (2014.01); G06T 1/00 (2006.01); G06F 16/50 (2019.01); G06F 16/56 (2019.01); H04N 19/124 (2014.01); G06V 40/16 (2022.01); G06T 1/60 (2006.01); H04N 19/86 (2014.01); H04N 19/423 (2014.01)
CPC G06F 16/5838 (2019.01) [G06F 16/50 (2019.01); G06F 16/56 (2019.01); G06T 1/0007 (2013.01); G06T 1/60 (2013.01); G06T 5/005 (2013.01); G06V 40/168 (2022.01); H04N 19/124 (2014.11); H04N 19/176 (2014.11); H04N 19/186 (2014.11); G06T 2207/10024 (2013.01); G06T 2207/20081 (2013.01); H04N 19/423 (2014.11); H04N 19/86 (2014.11)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
obtaining an image composed of color channels including a red color channel, a green color channel, and a blue color channel, wherein each of the color channels represents colors therein with n bits per pixel;
quantizing each of the color channels to be represented by m bits per pixel, wherein m is less than n;
using a space-filling curve to convert each of the color channels as quantized into respective vectors including a red channel vector, a green channel vector, and a blue channel vector, wherein entries in each of the respective vectors are represented by m bits;
generating, for each of the respective vectors, a respective set of m arrays, wherein the m arrays for a particular vector of the respective vectors contain indices of where a fixed value selected from a range of 0 to m−1 is found in the particular vector, and wherein the indices are in increasing order;
applying, to each of the m arrays for each of the respective vectors, differential encoding of the indices therein;
compressing each of the m arrays for each of the respective vectors;
mapping each of the m arrays for each of the respective vectors to blocks of nucleotides, wherein each block contains a unique block identifier representing a location in the m arrays of the respective vectors;
synthesizing the blocks of nucleotides; and
storing, in a DNA-based storage medium, the blocks of nucleotides.