{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:59:51Z","timestamp":1740099591859,"version":"3.37.3"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030336356"},{"type":"electronic","value":"9783030336363"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-33636-3_16","type":"book-chapter","created":{"date-parts":[[2019,10,19]],"date-time":"2019-10-19T10:02:20Z","timestamp":1571479340000},"page":"444-465","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Coding with Asymmetric Numeral Systems"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8426-9917","authenticated-orcid":false,"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2019,10,20]]},"reference":[{"key":"16_CR1","unstructured":"Alakuijala, J.: Google\u2019s compression projects, May 2019. https:\/\/encode.ru\/threads\/3108-Google-s-compression-projects#post60072"},{"key":"16_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-44833-4_1","volume-title":"Advanced Functional Programming","author":"R Bird","year":"2003","unstructured":"Bird, R., Gibbons, J.: Arithmetic coding with folds and unfolds. In: Jeuring, J., Peyton Jones, S. (eds.) AFP 2002. LNCS, vol. 2638, pp. 1\u201326. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/978-3-540-44833-4_1"},{"key":"16_CR3","volume-title":"Introduction to Functional Programming Using Haskell","author":"RS Bird","year":"1998","unstructured":"Bird, R.S.: Introduction to Functional Programming Using Haskell. Prentice-Hall, Upper Saddle River (1998)"},{"key":"16_CR4","volume-title":"An Introduction to Functional Programming","author":"RS Bird","year":"1988","unstructured":"Bird, R.S., Wadler, P.L.: An Introduction to Functional Programming. Prentice-Hall, Upper Saddle River (1988)"},{"key":"16_CR5","unstructured":"Bloom, C.: Understanding ANS, January 2014. http:\/\/cbloomrants.blogspot.com\/2014\/01\/1-30-14-understanding-ans-1.html"},{"key":"16_CR6","unstructured":"Brettle, J., Galligan, F.: Introducing Draco: compression for 3D graphics, January 2017. https:\/\/opensource.googleblog.com\/2017\/01\/introducing-draco-compression-for-3d.html"},{"key":"16_CR7","unstructured":"Cheplyaka, R.: Understanding asymmetric numeral systems, August 2017. https:\/\/ro-che.info\/articles\/2017-08-20-understanding-ans"},{"key":"16_CR8","unstructured":"Collet, Y., Turner, C.: Smaller and faster data compression with Zstandard, August 2016. https:\/\/code.fb.com\/core-data\/smaller-and-faster-data-compression-with-zstandard\/"},{"key":"16_CR9","unstructured":"De Simone, S.: Apple open-sources its new compression algorithm LZFSE. InfoQ, July 2016. https:\/\/www.infoq.com\/news\/2016\/07\/apple-lzfse-lossless-opensource"},{"key":"16_CR10","unstructured":"Duda, J.: Kodowanie i generowanie uk\u0142ad\u00f3wstatystycznych za pomoca\u0327 algorytm\u00f3w probabilistycznych (Coding and generation of statistical systems using probabilistic algorithms). Master\u2019s thesis, Faculty of Physics, Astronomy and Applied Computer Science, Jagiellonian University (2006)"},{"key":"16_CR11","unstructured":"Duda, J.: Optimal encoding on discrete lattice with translational invariant constrains using statistical algorithms. CoRR, abs\/0710.3861 (2007). English translation of [11]"},{"key":"16_CR12","unstructured":"Duda, J.: Asymmetric numeral systems. CoRR, 0902.0271v5 (2009)"},{"key":"16_CR13","unstructured":"Duda, J.: Asymmetric numeral systems: entropy coding combining speed of Huffman coding with compression rate of arithmetic coding. CoRR, 1311.2540v2 (2014)"},{"issue":"2","key":"16_CR14","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1016\/j.scico.2006.01.006","volume":"65","author":"J Gibbons","year":"2007","unstructured":"Gibbons, J.: Metamorphisms: streaming representation-changers. Sci. Comput. Program. 65(2), 108\u2013139 (2007)","journal-title":"Sci. Comput. Program."},{"key":"16_CR15","doi-asserted-by":"crossref","unstructured":"Gibbons, J.: Coding with asymmetric numeral systems (Haskell code), July 2019. http:\/\/www.cs.ox.ac.uk\/jeremy.gibbons\/publications\/asymm.hs","DOI":"10.1007\/978-3-030-33636-3_16"},{"key":"16_CR16","doi-asserted-by":"crossref","unstructured":"Gibbons, J.: Coding with asymmetric numeral systems (long version), July 2019. http:\/\/www.cs.ox.ac.uk\/jeremy.gibbons\/publications\/asymm-long.pdf","DOI":"10.1007\/978-3-030-33636-3_16"},{"key":"16_CR17","unstructured":"Giesen, F.: Simple rANS encoder\/decoder, February 2014. https:\/\/github.com\/rygorous\/ryg_rans"},{"issue":"9","key":"16_CR18","doi-asserted-by":"publisher","first-page":"1098","DOI":"10.1109\/JRPROC.1952.273898","volume":"40","author":"DA Huffman","year":"1952","unstructured":"Huffman, D.A.: A method for the construction of minimum-redundancy codes. Proc. IRE 40(9), 1098\u20131101 (1952)","journal-title":"Proc. IRE"},{"key":"16_CR19","unstructured":"Joint photographic experts group. Overview of JPEG XL. https:\/\/jpeg.org\/jpegxl\/"},{"key":"16_CR20","unstructured":"Lee, T.B.: Inventor says Google is patenting work he put in the public domain. Ars Technica, October 2018. https:\/\/arstechnica.com\/tech-policy\/2018\/06\/inventor-says-google-is-patenting-work-he-put-in-the-public-domain\/"},{"key":"16_CR21","volume-title":"The Haskell 98 Language and Libraries: The Revised Report","author":"S Peyton Jones","year":"2003","unstructured":"Peyton Jones, S.: The Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)"},{"key":"16_CR22","unstructured":"Reiter Horn, D., Baek, J.: Building better compression together with DivANS, June 2018. https:\/\/blogs.dropbox.com\/tech\/2018\/06\/building-better-compression-together-with-divans\/"},{"issue":"2","key":"16_CR23","doi-asserted-by":"publisher","first-page":"149","DOI":"10.1147\/rd.232.0149","volume":"23","author":"JJ Rissanen","year":"1979","unstructured":"Rissanen, J.J., Langdon, G.G.: Arithmetic coding. IBM J. Res. Dev. 23(2), 149\u2013162 (1979)","journal-title":"IBM J. Res. Dev."},{"key":"16_CR24","unstructured":"Seward, J.: bzip2 (1996). https:\/\/en.wikipedia.org\/wiki\/Bzip2"},{"key":"16_CR25","unstructured":"Stratford, B.: A formal treatment of lossless data compression algorithms. D. Phil. thesis, University of Oxford (2005)"},{"issue":"6","key":"16_CR26","doi-asserted-by":"publisher","first-page":"520","DOI":"10.1145\/214762.214771","volume":"30","author":"IH Witten","year":"1987","unstructured":"Witten, I.H., Neal, R.M., Cleary, J.G.: Arithmetic coding for data compression. Commun. ACM 30(6), 520\u2013540 (1987)","journal-title":"Commun. ACM"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-33636-3_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,12,9]],"date-time":"2019-12-09T17:27:35Z","timestamp":1575912455000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-33636-3_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030336356","9783030336363"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-33636-3_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"20 October 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"MPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Mathematics of Program Construction","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Porto","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 October 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 October 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"mpc2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.cs.nott.ac.uk\/~pszgmh\/mpc19.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"22","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"15","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"68% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}