Grok (JPEG 2000)

{{Short description|JPEG 2000 image encoder and decoder}}

{{Infobox software

| name = Grok

| logo =

| screenshot =

| caption =

| collapsible =

| author =

| developer = Aaron Boxer

| released = {{Start date and age|2016|01|01}}

| latest release version = 14.3.0

| latest release date = {{Start date and age|2025|01|23}}{{cite web

| url = https://github.com/GrokImageCompression/grok/releases

| title = Releases · GrokImageCompression/grok

| website = github.com

| access-date = 2025-02-13

}}

| programming language = C++

| operating system = macOS, Windows, POSIX

| platform = x86-64, AArch64

| replaces = libopenjp2

| size =

| language = English

| genre = Graphics software

| license = AGPL v3

| website = {{URL|github.com/GrokImageCompression/grok}}

}}

Grok is a computer software library to encode and decode images in the JPEG 2000 format. It is designed for stability, high performance, and low memory usage. Grok is free and open-source software released under the GNU Affero General Public License (AGPL) version 3.

Grok was forked from OpenJPEG's libopenjp2 in April 2016 by Aaron Boxer under a copyleft license.https://openjpeg.narkive.com/xHDPBR7a/grok-jpeg-2000-discussion-group One of his goals was to close the performance gap with the more efficient but proprietary Kakadu.https://encode.su/threads/2477-Grok-JPEG-2000-Codechttps://chafey.blogspot.com/2016/09/jpeg2000-decoding-performance.html

Grok fully implements the ISO/IEC 15444-1 technical standard. As of 2024, the newer, complexity-reduced High-Throughput JPEG 2000 standard (HTJ2K, ISO/IEC 15444-15, ITU-T T.814) has been implemented, with both encoding and decoding support available.

Features

  • support for High-Throughput JPEG 2000 (HTJ2K) encode/decode
  • fast random-access sub-image decoding using TLM markers
  • full encode/decode support for ICC colour profiles
  • full encode/decode support for XML, IPTC, XMP and EXIF meta-data
  • full encode/decode support for monochrome, sRGB, palette, YCC, extended YCC, CIELab and CMYK colour spaces
  • full encode/decode support for JPEG, PNG, BMP, TIFF, RAW, PNM and PAM image formats
  • full encode/decode support for 1–16 bit precision images
  • supported platforms: Linux x86-64, Linux AArch64, Windows, macOS and WebAssembly

Integration

Grok has been integrated into a number of other open source projects, including:

  • [https://cantaloupe-project.github.io/ Cantaloupe] image server
  • [http://iipimage.sourceforge.net/ IIPSrv] image server
  • [https://horosproject.org/ Horos] medical image viewer

References

{{Reflist}}

Further reading

  • "JPEG2000 Image Compression Fundamentals, Standards and Practice", by David S. Taubman, Michael W. Marcellin. {{ISBN|0-7923-7519-X}}
  • {{cite journal|url=http://www.dlib.org/dlib/may11/vanderknijff/05vanderknijff.html|doi=10.1045/may2011-vanderknijff|title=JPEG 2000 for Long-term Preservation: JP2 as a Preservation Format|author= Johan van der Knijff|journal=D-Lib Magazine |year=2011 |volume=17 |issue=5/6 |doi-access=free}}
  • {{cite journal|url=https://www.bitsgalore.org/2022/03/30/generating-lossy-access-jp2s-from-lossless-preservation-masters|title=Generating lossy access JP2s from lossless preservation masters|author= Johan van der Knijff|year=2022}}