Meta tags:
Headings (most frequently used words):
variants, variant, asymmetric, numeral, systems, contents, entropy, coding, basic, concepts, of, ans, remarks, patent, controversy, see, also, references, external, links, motivating, examples, uniform, binary, uabs, range, rans, and, streaming, tabled, tans, primary, sources,
Text of the page (most frequently used words):
the (157), displaystyle (123), for (67), and (53), log (38), #coding (36), with (34), number (28), bits (28), this (26), compression (26), from (25), ans (25), probability (25), information (24), then (23), symbol (23), encoding (20), entropy (19), state (18), google (18), distribution (18), edit (17), using (16), decoding (16), can (16), example (15), into (15), systems (14), symbols (14), natural (14), asymmetric (13), numeral (13), huffman (13), range (13), used (13), which (13), sequence (13), arithmetic (12), tans (12), are (12), patent (12), bit (11), duda (11), cdf (11), approx (11), data (10), compressor (10), variant (10), function (10), binary (10), standard (9), retrieved (9), rans (9), that (9), position (9), numbers (9), new_x (9), image (8), optimal (8), 2021 (8), final (8), variants (8), one (8), encode (8), add (7), wikipedia (7), non (7), use (7), shannon (7), new (7), system (7), would (7), start (7), some (7), usually (7), corresponding (7), table (6), was (6), finite (6), zstandard (6), implementation (6), after (6), its (6), application (6), facebook (6), given (6), them (6), hence (6), probabilities (6), renormalization (6), significant (6), large (6), cdot (6), row (6), toggle (5), code (5), text (5), page (5), sidebar (5), rate (5), concepts (5), methods (5), lz77 (5), lzfse (5), other (5), draco (5), 2019 (5), june (5), microsoft (5), domain (5), also (5), not (5), stored (5), first (5), alphabet (5), being (5), uniform (5), value (5), least (5), contains (5), only (5), containing (5), ceil (5), appearance (5), encoded (5), contents (4), search (4), may (4), description (4), different (4), dpcm (4), video (4), cram (4), jarek (4), arxiv (4), links (4), august (4), these (4), references (4), states (4), thomas (4), get (4), rejection (4), public (4), jpeg (4), format (4), zstd (4), called (4), uspto (4), file (4), instead (4), starting (4), contrast (4), way (4), assumed (4), choose (4), nbbits (4), bitstream (4), tabled (4), mask (4), such (4), here (4), previous (4), there (4), allows (4), subset (4), approximately (4), odd (4), uabs (4), lceil (4), rceil (4), 1000 (4), hide (4), move (4), view (3), quantization (3), prefix (3), theory (3), compressed (3), dwt (3), daubechies (3), wavelet (3), transform (3), dct (3), frame (3), rle (3), type (3), context (3), universal (3), library (3), institute (3), 2015 (3), high (3), jarosław (3), jagiellonian (3), university (3), october (3), compressors (3), speed (3), sources (3), office (3), march (3), time (3), 2018 (3), algorithm (3), mixed (3), apple (3), original (3), content (3), set (3), smaller (3), see (3), had (3), steps (3), having (3), storing (3), encoder (3), where (3), like (3), should (3), requires (3), multiplication (3), but (3), each (3), approximation (3), written (3), size (3), stream (3), nearly (3), appearances (3), their (3), every (3), could (3), entire (3), need (3), practice (3), directly (3), floor (3), current (3), chosen (3), formulas (3), retrieve (3), top (3), positions (3), generalizes (3), even (3), adding (3), single (3), basic (3), general (3), source (3), multiply (3), combinations (3), ones (3), alphabetic (3), history (3), arabic (3), tools (3), subsection (3), main (3), languages (2), legal (2), contact (2), about (2), privacy (2), policy (2), available (2), under (2), additional (2), terms (2), apply (2), trademark (2), profit (2), foundation (2), july (2), 2026 (2), categories (2), pages (2), short (2), wikidata (2), lossless (2), algorithms (2), index (2), community (2), grammar (2), motion (2), vector (2), estimation (2), compensation (2), parts (2), codec (2), quality (2), resolution (2), vbr (2), cbr (2), abr (2), spiht (2), deflate (2), texture (2), psychoacoustic (2), model (2), mdct (2), wlpc (2), lsp (2), lar (2), celp (2), acelp (2), lpc (2), fft (2), adpcm (2), law (2), discrete (2), lossy (2), bwt (2), mtf (2), lzss (2), pair (2), lempel (2), ziv (2), golomb (2), fano (2), adaptive (2), gst (2), gpu (2), decodable (2), supercompressed (2), textures (2), wolfram (2), demonstrations (2), project (2), open (2), media (2), part (2), samtools (2), dna (2), order (2), generation (2), coders (2), external (2), professor (2), theoretical (2), physics (2), krakow (2), pdf (2), list (2), accurate (2), replacement (2), primary (2), consideration (2), pilot (2), third (2), rejected (2), features (2), boolean (2), token (2), coefficient (2), overview (2), learning (2), based (2), eess (2), directstorage (2), better (2), divans (2), nvidia (2), version (2), pik (2), pixar (2), scene (2), 2016 (2), http (2), 2020 (2), android (2), chrome (2), september (2), 2017 (2), linux (2), already (2), ways (2), improved (2), faster (2), seeking (2), been (2), specifically (2), subsequently (2), author (2), others (2), published (2), help (2), controversy (2), required (2), needs (2), cost (2), initial (2), end (2), fixed (2), backward (2), direction (2), forward (2), decoder (2), store (2), buffer (2), more (2), static (2), case (2), frequencies (2), remarks (2), denominator (2), enumerate (2), assignment (2), ranges (2), powers (2), obtained (2), step (2), loop (2), behavior (2), machine (2), simple (2), produces (2), two (2), sometimes (2), integer (2), now (2), denote (2), all (2), since (2), subranges (2), uses (2), operation (2), proportions (2), streaming (2), imagine (2), purpose (2), choosing (2), corresponds (2), density (2), small (2), equivalent (2), above (2), while (2), division (2), subsets (2), densities (2), both (2), seen (2), rule (2), due (2), rational (2), consider (2), letters (2), performing (2), digit (2), motivating (2), examples (2), coder (2), however (2), zeros (2), zero (2), counting (2), east (2), asian (2), contemporary (2), notation (2), radices (2), bases (2), upload (2), changes (2), read (2), article (2), create (2), account (2), donate (2), menu (2), topic, mobile, cookie, statement, statistics, developers, conduct, safety, contacts, disclaimers, site, you, agree, registered, organization, wikimedia, inc, creative, commons, attribution, sharealike, license, rendered, parsoid, last, edited, utc, hidden, child, parameter, dmy, dates, articles, polish, inventions, positional, machines, https, org, php, title, asymmetric_numeral_systems, oldid, 1363605770, phil, katz, david, mark, adler, people, hutter, prize, smallest, problem, symmetry, redundancy, distortion, kolmogorov, complexity, timeline, suffix, array, structures, lapped, deblocking, filter, characteristics, interlace, types, display, ezw, klt, fractal, chain, test, psnr, pixel, macroblock, artifact, color, space, tree, unit, chroma, subsampling, sub, band, speech, sound, silence, sampling, nyquist, theorem, latency, dynamic, convolution, companding, audio, predictive, dst, cosine, bzip2, lzham, lzma, lha, lzh, brotli, lzs, lzx, hybrid, ppm, paq, ldct, sequitur, dmc, incremental, delta, ctw, snappy, lzwl, lzw, lzrw, lzo, lzjb, lz4, 842, byte, dictionary, levenshtein, gamma, fibonacci, exp, unary, tunstall, elias, modified, canonical, book, haecky, mcanlis, understanding, alliance, aom_dsp, aom, git, webp, vp10, european, bioinformatics, fast, james, bonfield, jkbonfield, rans_static, fabian, giesen, rygorous, ryg_rans, fse, yann, collet, najmabadi, wang, baroud, simon, ispa, throughput, hardware, architectures, possibly, earliest, mention, november, 2008, lattice, translational, invariant, constraints, statistical, 0710, 3861, poland, protest, implementations, materials, 1311, 2540, 2013, combining, tahboub, gadil, delp, picture, symposium, preceded, double, dagger, united, claburn, register, harm, tries, twice, past, skeptical, examiners, nazer, daniel, electronic, frontier, abandon, attempt, matt, mahoney, explained, cover, joy, 2006, 2nd, wiley, 978, 471, 24195, isbn, elements, esenlik, semih, zhang, kai, ascenso, joão, 2025, 2510, 13867, rhatushnyak, alexander, wassenberg, jan, sneyers, jon, alakuijala, jyrki, vandevenne, lode, versari, luca, obryk, robert, szabadka, zoltan, kliuchnikov, evgenii, comsa, iulia, maria, potempa, krzysztof, bruse, martin, firsching, moritz, khasanova, renata, ruud, van, asseldonk, boukortt, sami, gomez, sebastian, fischbacher, committee, draft, 1908, 03565, building, together, gpus, chen, elliott, 2150026, 34590992, pmid, 1142, s0219720021500268, doi, bioinform, comput, biol, population, genetic, through, specification, internet, usd, infoq, iana, hypertext, transfer, protocol, parameters, email, archived, release, 2024, 123, phoronix, btrfs, squashfs, within, december, scale, bleeping, computer, accused, trying, technology, lodged, issued, yet, gave, explanatory, filing, stating, applicant, respectfully, disagrees, rejections, overturn, program, reconsideration, granted, january, 2022, pleased, accidentally, discovering, intentions, clear, wanted, assisted, basis, filed, party, abandoned, novel, intended, his, work, freely, altruistic, reasons, has, sought, took, ensure, they, become, minefield, restricted, profited, worldwide, asked, intimately, aware, assisting, compensated, 10000, alternatively, checksum, testing, expected, performed, opposite, directions, making, inconvenience, resolved, done, dependence, perspective, later, adaptivity, find, will, predicted, buffered, markov, stack, lzna, memory, efficient, appropriate, dynamically, adapting, distributions, modifying, relatively, costly, mainly, situations, scheme, divided, blocks, independently, counted, block, header, tables, applying, approximate, fraction, spread, optionally, details, depend, cryptographic, key, simultaneous, encryption, amount, refill, youngests, return, specific, determined, assigning, proportional, abdacdac, assigned, lengths, 100, 101, aaaabcdd, encodingtable, send, writebits, readsymbol, decoded, writesymbol, transition, readbits, newx, decodingtable, finally, puts, including, yields, avoiding, automaton, always, 415, increasing, acts, fractional, 2048, 256, bytes, read16bits, refills, when, needed, avoid, enforce, sending, note, true, included, expression, represents, total, normal, definition, evaluated, operatorname, sum, cdots, cumulative, quantizing, sizes, intuitively, divides, splits, identical, 0100, takes, determines, column, empty, determine, found, taking, provides, middle, increase, because, pattern, repeats, ldots, amounts, inverted, becomes, lead, values, same, fract, else, let, want, analogues, getting, leads, following, functions, returns, assumption, condition, assuming, procedure, symmetric, make, any, between, replaced, occurrences, xp_, expansion, variable, shifts, places, added, successive, obtain, multiple, times, until, reversed, lfloor, rfloor, mathrm, mod, comparison, concept, left, right, generalizations, digits, optimized, most, goes, currently, presented, 01111, than, agreement, advantage, defining, approximates, real, exact, integers, express, remove, perform, input, letter, method, follows, construct, message, abc, 01011, varies, weighted, average, encodes, interpreted, increases, informational, per, assign, still, much, generally, sequences, length, asymptotic, stirling, suppose, 000, take, somehow, known, 999, sufficient, alternative, direct, mathematical, put, prevent, going, infinity, transferring, accumulated, split, disjoint, idea, appending, gives, process, arbitrary, sets, accompanying, appended, result, equivalently, contained, among, kernel, browser, operating, rfc, 8478, utilities, nvcomp, bcpack, long, term, dropbox, mime, family, introduced, 2014, performance, compared, combines, ratio, processing, similar, achieved, constructing, operate, without, hebrew, greek, glagolitic, georgian, geʽez, cyrillic, coptic, kaṭapayādi, āryabhaṭa, akṣarapallī, alphasyllabic, armenian, abjad, tally, marks, roman, proto, cuneiform, prehistoric, kharosthi, etruscan, egyptian, chuvash, brahmi, aztec, attic, aegean, tangut, rods, historic, vietnamese, korean, japanese, suzhou, hokkien, chinese, sign, complex, negative, factorial, balanced, ternary, signed, bijective, common, radix, base, iñupiaq, kaktovik, cherokee, rumi, quipu, pentadic, muisca, mayan, cistercian, post, classical, babylonian, ancient, thai, sundanese, mongolian, lao, khmer, javanese, burmese, balinese, tibetan, dzongkha, kannada, telugu, malayalam, tamil, sinhala, odia, gurmukhi, gujarati, devanagari, bengali, eastern, western, hindu, numerals, place, series, free, encyclopedia, item, projects, printable, download, print, export, switch, legacy, parser, shortened, url, cite, permanent, link, related, what, actions, english, talk, українська, русский, polski, فارسی, deutsch, العربية, personal, special, recent, portal, learn, contribute, random, events, navigation, jump,
Text of the page (random words):
nformation into a single natural number x displaystyle x interpreted as containing log 2 x displaystyle log _ 2 x bits of information adding information from a symbol of probability p displaystyle p increases this informational content to log 2 x log 2 1 p log 2 x p displaystyle log _ 2 x log _ 2 1 p log _ 2 x p hence the new number containing both information should be x x p displaystyle x approx x p 2 motivating examples edit consider a source with 3 letters a b c with probability 1 2 1 4 1 4 it is simple to construct the optimal prefix code in binary a 0 b 10 c 11 then a message is encoded as abc 01011 we see that an equivalent method for performing the encoding is as follows start with number 1 and perform an operation on the number for each input letter a multiply by 2 b multiply by 4 add 2 c multiply by 4 add 3 express the number in binary then remove the first digit 1 consider a more general source with k letters with rational probabilities n 1 n n k n displaystyle n_ 1 n n_ k n then performing arithmetic coding on the source requires only exact arithmetic with integers 1 in general ans is an approximation of arithmetic coding that approximates the real probabilities r 1 r k displaystyle r_ 1 r_ k by rational numbers n 1 n n k n displaystyle n_ 1 n n_ k n with a small denominator n displaystyle n 2 basic concepts of ans edit comparison of the concept of arithmetic coding left and ans right both can be seen as generalizations of standard numeral systems optimal for uniform probability distribution of digits into optimized for some chosen probability distribution arithmetic or range coding corresponds to adding new information in the most significant position while ans generalizes adding information in the least significant position its coding rule is x goes to x th appearance of subset of natural numbers corresponding to currently encoded symbol in the presented example sequence 01111 is encoded into a natural number 18 which is smaller than 47 obtained by using standard binary system due to better agreement with frequencies of sequence to encode the advantage of ans is storing information in a single natural number in contrast to two defining a range imagine there is some information stored in a natural number x displaystyle x for example as the bit sequence of its binary expansion to add information from a binary variable s displaystyle s we can use the coding function x c x s 2 x s displaystyle x c x s 2x s which shifts all bits one position up and places the new bit in the least significant position now the decoding function d x x 2 m o d x 2 displaystyle d x lfloor x 2 rfloor mathrm mod x 2 allows one to retrieve the previous x displaystyle x and this added bit d c x s x s c d x x displaystyle d c x s x s c d x x we can start with x 1 displaystyle x 1 initial state then use the c displaystyle c function on the successive bits of a finite bit sequence to obtain a final x displaystyle x number storing this entire sequence then using the d displaystyle d function multiple times until x 1 displaystyle x 1 allows one to retrieve the bit sequence in reversed order 2 the above procedure is optimal for the uniform symmetric probability distribution of symbols pr 0 pr 1 1 2 displaystyle pr 0 pr 1 1 2 ans generalizes it to make it optimal for any chosen asymmetric probability distribution of symbols pr s p s displaystyle pr s p_ s while s displaystyle s in the above example was choosing between even and odd c x s displaystyle c x s in ans this even odd division of natural numbers is replaced with division into subsets having densities corresponding to the assumed probability distribution p s s displaystyle p_ s _ s up to position x displaystyle x there are approximately x p s displaystyle xp_ s occurrences of symbol s displaystyle s 2 the coding function c x s displaystyle c x s returns the x displaystyle x th appearance from such subset corresponding to symbol s displaystyle s the density assumption is equivalent to the condition x c x s x p s displaystyle x c x s approx x p_ s assuming that a natural number x displaystyle x contains log 2 x displaystyle log _ 2 x bits of information log 2 c x s log 2 x log 2 1 p s displaystyle log _ 2 c x s approx log _ 2 x log _ 2 1 p_ s hence the symbol of probability p s displaystyle p_ s is encoded as containing log 2 1 p s displaystyle approx log _ 2 1 p_ s bits of information as is required from entropy coders 2 variants edit uniform binary variant uabs edit let us start with the binary alphabet and a probability distribution pr 1 p displaystyle pr 1 p pr 0 1 p displaystyle pr 0 1 p up to position x displaystyle x we want approximately p x displaystyle p cdot x analogues of odd numbers for s 1 displaystyle s 1 we can choose this number of appearances as x p displaystyle lceil x cdot p rceil getting s x 1 p x p displaystyle s lceil x 1 cdot p rceil lceil x cdot p rceil this variant is called uabs and leads to the following decoding and encoding functions 21 decoding s ceil x 1 p ceil x p 0 if fract x p 1 p else 1 if s 0 then new_x x ceil x p d x new_x 0 this is the same as new_x floor x 1 p if s 1 then new_x ceil x p d x new_x 1 encoding if s 0 then new_x ceil x 1 1 p 1 c x 0 new_x if s 1 then new_x floor x p c x 1 new_x for p 1 2 displaystyle p 1 2 it amounts to the standard binary system with 0 and 1 inverted for a different p displaystyle p it becomes optimal for this given probability distribution 21 for example for p 0 3 displaystyle p 0 3 these formulas lead to a table for small values of x displaystyle x c x s displaystyle c x s 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 s 0 displaystyle s 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 s 1 displaystyle s 1 0 1 2 3 4 5 6 the symbol s 1 displaystyle s 1 corresponds to a subset of natural numbers with density p 0 3 displaystyle p 0 3 which in this case are positions 0 3 6 10 13 16 20 23 26 displaystyle 0 3 6 10 13 16 20 23 26 ldots as 1 4 0 3 1 3 displaystyle 1 4 0 3 1 3 these positions increase by 3 or 4 because p 3 10 displaystyle p 3 10 here the pattern of symbols repeats every 10 positions the coding c x s displaystyle c x s can be found by taking the row corresponding to a given symbol s displaystyle s and choosing the given x displaystyle x in this row then the top row provides c x s displaystyle c x s for example c 7 0 11 displaystyle c 7 0 11 from the middle to the top row imagine we would like to encode the sequence 0100 starting from x 1 displaystyle x 1 first s 0 displaystyle s 0 takes us to x 2 displaystyle x 2 then s 1 displaystyle s 1 to x 6 displaystyle x 6 then s 0 displaystyle s 0 to x 9 displaystyle x 9 then s 0 displaystyle s 0 to x 14 displaystyle x 14 by using the decoding function d x displaystyle d x on this final x displaystyle x we can retrieve the symbol sequence using the table for this purpose x displaystyle x in the first row determines the column then the non empty row and the written value determine the corresponding s displaystyle s and x displaystyle x range variants rans and streaming edit the range variant also uses arithmetic formulas but allows operation on a large alphabet 2 intuitively it divides the set of natural numbers into ranges of size 2 n displaystyle 2 n and splits each of them in an identical way into subranges with proportions given by the assumed probability distribution we start by quantizing the probability distribution into steps of 2 n displaystyle 2 n where n is chosen usually 8 12 bits p s f s 2 n displaystyle p_ s approx f s 2 n for some natural numbers f s displaystyle f s sizes of subranges denote mask 2 n 1 displaystyle text mask 2 n 1 and a cumulative distribution function cdf s i s f i f 0 f s 1 displaystyle operatorname cdf s sum _ i s f i f 0 cdots f s 1 note here that the cdf s function is not a true cdf in that the current symbol s probability is not included in the expression s value instead cdf s represents the total probability of all previous symbols example instead of the normal definition of cdf 0 f 0 it is evaluated as cdf 0 0 since there are no previous symbols for y 0 2 n 1 displaystyle y in 0 2 n 1 denote the function usually tabled symbol y s such that cdf s y cdf s 1 now the coding function is c x s floor x f s n x f s cdf s decoding s symbol x mask d x f s x n x mask cdf s s this way we can encode a sequence of symbols into a large natural number x to avoid using large number arithmetic in practice stream variants are used which enforce x l b l 1 displaystyle x in l b cdot l 1 by renormalization sending the least significant bits of x to or from the bitstream usually l and b are powers of 2 2 in the rans variant x could be a 32 bit integer for example for 16 bit renormalization x 2 16 2 32 1 displaystyle x in 2 16 2 32 1 the decoder refills the least significant bits from the bitstream when needed if x 1 16 x x 16 read16bits tabled variant tans edit simple example of 4 state ans automaton for pr a 3 4 pr b 1 4 probability distribution symbol b contains lg 1 4 2 bits of information and so it always produces two bits in contrast symbol a contains lg 3 4 0 415 bits of information hence sometimes it produces one bit from state 6 and 7 sometimes 0 bits from state 4 and 5 only increasing the state which acts as buffer containing fractional number of bits lg x the number of states in practice is for example 2048 for 256 size alphabet to directly encode bytes tans variant puts the entire behavior including renormalization for x l 2 l 1 displaystyle x in l 2l 1 into a table which yields a finite state machine avoiding the need of multiplication 2 finally the step of the decoding loop can be written as t decodingtable x x t newx readbits t nbbits state transition writesymbol t symbol decoded symbol the step of the encoding loop s readsymbol nbbits x ns s r of bits for renormalization writebits x nbbits send the least significant bits to bitstream x encodingtable start s x nbbits a specific tans coding is determined by assigning a symbol to every l 2 l 1 displaystyle l 2l 1 position their number of appearances should be proportional to the assumed probabilities for example one could choose abdacdac assignment for pr a 3 8 pr b 1 8 pr c 2 8 pr d 2 8 probability distribution if symbols are assigned in ranges of lengths being powers of 2 we would get huffman coding for example a 0 b 100 c 101 d 11 prefix code would be obtained for tans with aaaabcdd symbol assignment 1 example of generation of tans tables for m 3 size alphabet and l 16 states then applying them for stream decoding first we approximate probabilities using fraction with denominator being the number of states then we spread these symbols in nearly uniform way optionally the details may depend on cryptographic key for simultaneous encryption then we enumerate the appearances starting with value being their amount for a given symbol then we refill the youngests bits from the stream to return to the assumed range for x renormalization remarks edit as for huffman coding modifying the probability distribution of tans is relatively costly hence it is mainly used in static situations usually with some lempel ziv scheme e g zstd 2 lzfse 9 in this case the file is divided into blocks for each of them symbol frequencies are independently counted then after approximation quantization written in the block header and used as static probability distribution for tans 1 in contrast rans is usually used as a faster replacement for range coding e g cram 13 lzna draco 10 it requires multiplication but is more memory efficient and is appropriate for dynamically adapting probability distributions 2 encoding and decoding of ans are performed in opposite directions making it a stack for symbols this inconvenience is usually resolved by encoding in backward direction after which decoding can be done forward 2 for context dependence like markov model the encoder needs to use context from the perspective of later decoding for adaptivity the encoder should first go forward to find probabilities which will be used predicted by decoder and store them in a buffer then encode in backward direction using the buffered probabilities 2 the final state of encoding is required to start decoding hence it needs to be stored in the compressed file this cost can be compensated by storing some information in the initial state of encoder for example instead of starting with 10000 state start with 1 state where are some additional stored bits which can be retrieved at the end of the decoding alternatively this state can be used as a checksum by starting encoding with a fixed state and testing if the final state of decoding is the expected one 2 patent controversy edit the author of the novel ans algorithm and its variants tans and rans specifically intended his work to be available freely in the public domain for altruistic reasons he has not sought to profit from them and took steps to ensure they would not become a legal minefield or restricted by or profited from by others 1 in 2015 google published a us and then worldwide patent for mixed boolean token ans coefficient coding 22 at the time professor duda had been asked by google to help it with video compression so was intimately aware of this domain having the original author assisting them duda was not pleased by accidentally discovering google s patent intentions given he had been clear he wanted it as public domain and had assisted google specifically on that basis 1 duda subsequently filed a third party application 5 to the us patent office seeking a rejection the uspto rejected its application in 2018 and google subsequently abandoned the patent 23 in june 2019 microsoft lodged a patent application called features of range asymmetric number system encoding and decoding 24 the uspto issued a final rejection of the application on 27 october 2020 24 yet on 2 march 2021 microsoft gave a uspto explanatory filing stating the applicant respectfully disagrees with the rejections 25 seeking to overturn the final rejection under the after final consideration pilot 2 0 program 26 after reconsideration the uspto granted the application on 25 january 2022 24 see also edit entropy encoding huffman coding arithmetic coding range encoding zstandard facebook compressor lzfse apple compressor references edit 1 2 3 google accused of trying to patent public domain technology bleeping computer 11 september 2017 1 2 smaller and faster data compression with zstandard facebook august 2016 5 ways facebook improved compression at scale with zstandard facebook december 2018 zstd compression for btrfs squashfs set for linux 4 14 already used within facebook phoronix september 2017 new in chrome 123 content encoding google march 2024 zstd in android p release archived from the original on 26 august 2020 retrieved 29 may 2019 zstandard compression and the application zstd media type email standard hypertext transfer protocol http parameters iana 1 2 apple open sources its new compression algorithm lzfse...
|