CharLS는 무손실 및 거의 무손실 이미지 압축 및 압축 해제를 위한 JPEG-LS 표준의 C++ 구현입니다. JPEG-LS는 JPEG 2000 압축 비율과 일치하는 복잡성이 낮은 이미지 압축 표준입니다.
JPEG-LS(ISO/IEC 14495-1:1999 / ITU-T.87)는 Hewlett Packard LOCO 알고리즘에서 파생된 이미지 압축 표준입니다. JPEG-LS는 JPEG 2000 무손실 비율과 유사하게 복잡도가 낮고(빠른 압축을 의미) 압축 비율이 높습니다. JPEG-LS는 JPEG 2000보다 기존 무손실 JPEG와 더 유사하지만 흥미롭게도 두 가지 기술로 인해 성능 특성이 크게 달라집니다. 무손실 JPEG 및 JPEG-LS에 대한 Wikipedia: https://en.wikipedia.org/wiki/Lossless_JPEG
팁: ITU는 JPEG-LS 표준(ITU-T.87) 버전을 무료로 다운로드할 수 있도록 합니다. 텍스트는 ISO 버전과 동일합니다.
이 프로젝트의 목표는 ISO/IEC 14495-1:1999, "연속 톤 정지 이미지의 무손실 및 거의 무손실 압축: 기준" 표준의 완전한 구현을 제공하는 것입니다. 이 라이브러리는 이식 가능한 C++로 처음부터 작성되었습니다. 메인 브랜치는 C++17을 사용합니다. 2.x 분기는 C++14에서 유지됩니다. 모든 주류 JPEG-LS 기능은 이 라이브러리에 의해 구현됩니다. https://imagecompression.info/gralic에 게시된 예비 테스트 결과에 따르면 CharLS는 원래 HP 코드보다 약 2배 빠르며 JPEG-XR과 JPEG 2000을 모두 3배 이상 능가합니다.
다음 JPEG-LS 옵션은 CharLS 구현에서 지원되지 않습니다. 이러한 옵션의 대부분은 실제로 거의 사용되지 않습니다.
원래 기본 JPEG-LS 표준 ISO 14495-1:1999를 발표한 후 ISO는 ISO/IEC 14495-2:2003이라는 JPEG-LS 표준에 대한 확장을 발표했습니다. "연속 톤 정지 이미지의 무손실 및 거의 무손실 압축: 확장자". 현재 CharLS는 이러한 확장을 지원하지 않습니다.
코드는 Windows 및 64비트 Linux에서 정기적으로 컴파일/테스트됩니다. 또한 코드는 Linux Intel/AMD 32/64비트(slackware, debian, gentoo), Solaris SPARC 시스템, Intel 기반 Mac 및 Windows CE(ARM CPU, 에뮬레이트됨)에서 성공적으로 테스트되었습니다. 코드 편집. C++ 언어 기능(템플릿, 특성)을 활용하여 일반적으로 최신 컴파일러에서 가장 잘 수행되는 최적화된 코드를 생성합니다.
차원 | 지원되는 버전 |
---|---|
C 버전 | >= 17 |
C++ 버전 | >= 17 |
CMake | >= 3.16 |
GCC | >= 9.1 |
그 소리 | >= 7.0.0 |
MSVC | >= 2019 |
애플 클랭 | >= 12 |
Windows에서 vcpkg 사용
PS > vcpkg install charls charls:x64 - windows
Linux 또는 macOS에서 vcpkg 사용
~ /$ ./vcpkg install charls
다른 플랫폼의 경우 추가 설치 옵션, 소스에서 빌드하는 방법 등에 대한 자세한 내용은 설명서를 참조하세요.
라이브러리가 있으면 샘플 폴더에서 시작하는 데 도움이 되는 몇 가지 코드 샘플을 제공합니다.
이 저장소는 소스 코드로 제공되며 특히 바이너리 릴리스를 제공하지 않습니다. 대신, "live at head"(최신 버전에서 빌드하거나 필요한 경우 LTS(Long Term Support) 분기라고 알려진 알려진 지원 분기에 대해 빌드하는 것이 좋습니다. 이전 컴파일러 버전에 대한 지원은 다음과 같습니다. 해당 컴파일러의 최신 버전이 출시된 후 5년이 지나면 단계적으로 폐지됩니다. 최소 필수 C++ 언어 버전에도 동일하게 적용됩니다.
API 및/또는 ABI의 주요 변경 사항이 발생하기 전에 해당 스냅샷을 LTS 분기로 고정하기 위해 기본 분기가 생성됩니다.
CharLS는 GDCM DICOM 툴킷에서 사용되고 있습니다. Linux에서 CharLS를 시작할 수 있게 해준 Mathieu Malaterre에게 감사드립니다. Kato Kanryu는 CharLS를 사용하는 irfanview 플러그인용 색상 변환 및 DIB 출력 형식 코드의 초기 버전을 작성했습니다.
이 프로젝트의 코드는 BSD 스타일 라이센스를 통해 제공되므로 원하는 경우 상용 폐쇄 소스 애플리케이션에서 코드를 사용할 수 있습니다. 이 프로젝트의 모든 코드는 처음부터 작성되었으며 다른 JPEG-LS 구현을 기반으로 하지 않습니다. Hewlett Packard는 JPEG-LS 구현에 적용되는 특허를 소유하고 있다고 주장하지만 JPEG-LS 구현을 준수하려면 무료로 라이선스를 부여합니다. 이러한 특허 중 일부는 귀하의 국가에서 이미 만료되었을 수 있습니다. 이 코드를 상업적 목적으로 사용하는 경우 사용하기 전에 https://hpl.hp.com/loco/에서 자세한 내용을 읽어 보십시오.