{"id":"image-jphc","mimeType":"image/jphc","name":"High-Throughput JPEG 2000 Codestream","shortName":"HTJ2K-Codestream","category":"Professional \u0026 Archival","extensions":[".jhc"],"description":"The image/jphc MIME type represents a raw High-Throughput JPEG 2000 (HTJ2K) codestream. Unlike the JPH container format (image/jph), which includes file-level metadata and boxes, a JPHC file contains only the bare JPEG 2000 Part 15 compressed image data, optimized for ultra-fast, parallelized encoding and decoding.","seo":{"title":"image/jphc MIME Type | Complete Developer Reference \u0026 Magic Bytes","description":"Complete reference for the image/jphc MIME type: magic bytes, browser support, HTTP headers, developer snippets, and technical specifications for raw HTJ2K codestreams.","faqs":[{"question":"What is the difference between image/jph and image/jphc?","answer":"image/jph represents a High-Throughput JPEG 2000 image encapsulated within a standard container (complete with metadata, color profiles, and boxes). image/jphc represents the raw, stripped-down HTJ2K codestream without any container metadata."},{"question":"What is the magic byte for an HTJ2K codestream?","answer":"Like standard JPEG 2000 codestreams, an HTJ2K codestream begins with the SOC (Start of Codestream) marker FF 4F, followed immediately by the SIZ marker FF 51. The unique HTJ2K capabilities are signaled deeper within the codestream header markers."},{"question":"Can I use .jhc files on a website?","answer":"No. Modern web browsers do not natively support High-Throughput JPEG 2000 codestreams. They are strictly utilized in backend pipelines, medical systems, and professional archival workflows."}]},"index":{"compression":["Lossy","Lossless"],"browserSupport":{"score":1,"label":"None"},"commonUses":["Medical Imaging Pipelines","Geospatial Data Streaming","Digital Cinema","Embedded Systems"]},"technical":{"magicBytes":{"hex":"FF 4F FF 51","ascii":".O.Q"},"container":"None (Raw Codestream)","compressionAlgorithm":["High-Throughput JPEG 2000 (HTJ2K)"],"colorDepth":["8-bit","16-bit","32-bit","38-bit"],"transparency":true,"animation":false,"metadata":{"exif":false,"xmp":false,"iccProfile":false},"alphaChannel":true,"progressiveLoading":true,"hdrSupport":true},"history":{"developer":"Joint Photographic Experts Group (JPEG)","released":"2019","specification":"ISO/IEC 15444-15 (JPEG 2000 Part 15)"},"browserSupport":{"chrome":false,"chromeVersion":"None","firefox":false,"firefoxVersion":"None","safari":false,"safariVersion":"None","edge":false,"edgeVersion":"None","internetExplorer":false},"softwareSupport":[{"name":"OpenJPH","logo":""},{"name":"Kakadu Software","logo":""},{"name":"Grok","logo":""}],"conversion":{"convertTo":["jph","jp2","jpeg","png","tiff"],"convertFrom":["jph","jp2"]},"developer":{"httpHeaders":[{"header":"Content-Type","value":"image/jphc"}],"htmlAccept":"image/jphc, .jhc","fileDetection":["Check the first 4 bytes for the standard JPEG 2000 codestream signature (FF 4F FF 51)","Parse the COD (Coding style default) or CAP (Capabilities) marker segments to verify the presence of the High-Throughput (HT) block coder profile"]},"prosCons":{"pros":["Extremely fast encoding and decoding capabilities due to the parallelizable block coder","Minimal file overhead since it lacks container headers and metadata","Ideal for streaming applications or embedded systems where parsing a full container is unnecessary"],"cons":["Lacks standard metadata support (like EXIF, XMP, or ICC color profiles) since there is no container structure","Zero native web browser compatibility","Difficult to distinguish from standard JPEG 2000 codestreams without deeply parsing the internal marker segments"]},"specifications":{"url":"https://htj2k.com/","rfc":"","mimeAliases":["image/x-jphc"]},"developerSnippets":{"python":"import magic\nprint(magic.from_file('codestream.jhc', mime=True)) # May default to generic 'image/jp2' or 'application/octet-stream'","nodejs":"const FileType = require('file-type');\nconst type = await FileType.fromFile('codestream.jhc');\nconsole.log(type?.mime); // Standard libraries may struggle to differentiate between a standard J2K codestream and an HTJ2K one","go":"import \"net/http\"\n// Custom codestream parsing is required to read the CAP marker indicating HTJ2K usage.","php":"$mime = mime_content_type('codestream.jhc');\necho $mime; // Standard implementations often map this to application/octet-stream"},"relatedFormats":[]}
