무손실 압축

Lossless compression

무손실 압축은 원래 데이터를 압축된 데이터에서 완벽하게 재구성할 수 있는 데이터 압축의 한 종류다.이와는 대조적으로, 손실 압축은 대개 크게 향상된 압축률(따라서 미디어 크기가 감소함)을 가지고 있지만, 원래 데이터의 근사치만 재구성할 수 있다.

비둘기 구멍 원리의 작동에 의해 어떤 무손실 압축 알고리즘도 가능한 모든 데이터를 효율적으로 압축할 수 없다.이러한 이유로, 특정 유형의 입력 데이터를 염두에 두거나 압축되지 않은 데이터에 어떤 종류의 중복성이 포함될 가능성이 있는지에 대한 구체적인 가정을 가지고 설계되는 많은 다른 알고리즘이 존재한다.따라서, 압축 비율은 인간 및 기계 판독이 가능한 문서와 코드에서 이방성 이진 데이터(랜덤 바이트)에 비해 더 강한 경향이 있다.[1]

무손실 데이터 압축은 많은 애플리케이션에서 사용된다.예를 들어, ZIP 파일 형식과 GNU 도구 gzip에서 사용된다.또한 손실성 데이터 압축 기술(예: MP3 인코더 및 기타 손실성 오디오 인코더에 의한 무손실 중/사이드 조인트 스테레오 사전 처리) 내의 구성 요소로 자주 사용된다.[2]

무손실 압축은 원본 데이터와 압축 해제된 데이터가 동일해야 하는 중요한 경우 또는 원본 데이터와의 편차가 불리한 경우에 사용된다.대표적인 예로 실행 가능한 프로그램, 텍스트 문서, 소스 코드가 있다.PNG 또는 GIF와 같은 일부 이미지 파일 형식은 무손실 압축만 사용하는 반면 TIFFMNG와 같은 이미지 파일 형식은 무손실 또는 무손실 방법을 사용할 수 있다.무손실 오디오 포맷은 보관이나 제작 목적으로 가장 많이 사용되는 반면, 소형 손실 오디오 파일은 일반적으로 휴대용 플레이어에서 사용되며 저장 공간이 제한적이거나 오디오의 정확한 복제가 필요하지 않은 다른 경우에서 사용된다.

무손실 압축 기술

대부분의 무손실 압축 프로그램은 순차적으로 두 가지를 수행한다. 첫 번째 단계는 입력 데이터에 대한 통계 모델을 생성하고, 두 번째 단계는 이 모델을 사용하여 입력 데이터를 비트 시퀀스에 매핑하여 "probable"(예: 자주 마주치는) 데이터가 "비정상적인" 데이터보다 더 짧은 출력을 생성하도록 한다.

비트 시퀀스를 생성하는 데 사용되는 1차 인코딩 알고리즘은 허프만 코딩(감압 알고리즘에서도 사용됨)과 산술 코딩이다.산술 코딩은 정보 엔트로피가 제공하는 특정 통계 모델에 대해 가능한 한 가장 좋은 압축률을 달성하는 반면, 허프먼 압축은 더 단순하고 빠르지만 1에 가까운 기호 확률을 다루는 모델의 경우 좋지 않은 결과를 산출한다.

통계적 모델을 구성하는 두 가지 주요한 방법이 있다: 정적 모델에서 데이터를 분석하고 모델을 구성한 다음, 이 모델은 압축된 데이터와 함께 저장된다.이 접근방식은 단순하고 모듈적이지만 모델 자체는 저장 비용이 많이 들 수 있고, 또한 압축되는 모든 데이터에 대해 단일 모델을 사용하도록 강제하고, 따라서 이기종 데이터가 포함된 파일에서는 성능이 떨어진다는 단점이 있다.적응형 모델은 데이터가 압축됨에 따라 모델을 동적으로 업데이트한다.인코더와 디코더 모두 초기 데이터를 제대로 압축하지 못하는 사소한 모델에서 시작하지만, 데이터에 대해 더 많이 알게 되면서 성능이 향상된다.실제로 사용되는 대부분의 인기 있는 압축 유형은 현재 적응형 코더를 사용한다.

무손실 압축 방법은 압축하도록 설계된 데이터 유형에 따라 분류할 수 있다.원칙적으로 모든 범용 무손실 압축 알고리즘(어떤 비트스트링도 수용할 수 있다는 범용적 의미)은 모든 데이터 유형에 사용할 수 있지만, 많은 데이터들은 압축하도록 설계된 형식이 아닌 데이터에 대해 상당한 압축을 달성할 수 없다.텍스트에 사용되는 많은 무손실 압축 기법들은 색인화된 이미지에 대해서도 상당히 잘 작동한다.

멀티미디어

이러한 기법은 유사한 톤의 연속적인 2-D 영역의 공통 현상과 같은 영상의 특정 특성을 활용한다.첫 번째 픽셀을 제외한 모든 픽셀은 왼쪽 이웃과의 차이로 대체된다.이는 작은 값이 큰 값보다 훨씬 높은 확률을 갖는 것으로 이어진다.이것은 사운드 파일에도 종종 적용되며, 대부분 낮은 주파수와 낮은 볼륨을 포함하는 파일을 압축할 수 있다.영상의 경우, 이 단계를 상단 픽셀에 취함으로써 반복할 수 있으며, 비디오에서는 다음 프레임의 픽셀에 대한 차이를 취할 수 있다.

이 기법의 계층적 버전은 인접한 데이터 점 쌍을 취하여 차이와 합을 저장하며, 낮은 분해능으로 높은 수준에서 합계를 계속한다.이것을 이산형 파장 변환이라고 한다.JPEG2000은 추가적으로 다른 쌍의 데이터 포인트와 이를 차이에 혼합하기 위해 곱셈 인자를 사용한다.이러한 요인은 정수여야 모든 상황에서 결과가 정수일 수 있다.따라서 값이 증가하여 파일 크기가 증가하지만, 값의 분포가 더 정점에 달하기를 바란다.[citation needed]

적응형 인코딩은 사운드 인코딩에서 이전 샘플의 확률, 이미지 인코딩에서 왼쪽 픽셀과 위쪽 픽셀, 비디오 인코딩에서 이전 프레임의 확률을 추가로 사용한다.파장 변환에서는 확률도 계층을 통해 전달된다.

역사적 법적 문제

이러한 방법들 중 많은 것들이 특히 LZW와 그것의 변형인 오픈 소스 및 독점 도구로 구현된다.일부 알고리즘은 미국 및 기타 국가에서 특허를 취득하고 있으며, 이들의 법적 사용은 특허권자의 허가를 필요로 한다.특정 종류의 LZW 압축에 대한 특허, 특히 많은 개발자들이 욕설이라고 여기는 특허 보유자 유니시스의 라이선스 관행 때문에 일부 오픈소스 지지자들은 사람들이 고정 이미지 파일을 압축하는 데 PNG(Portable Network Graphics)를 사용하지 않도록 권장했다.es 도메인별 예측 필터를 선택할 수 있는 LZ77 기반 감압 알고리즘.그러나 LZW에 대한 특허는 2003년 6월 20일에 만료되었다.[3]

텍스트에 사용되는 많은 무손실 압축 기법들은 색인화된 이미지에 대해서도 합리적으로 잘 작동하지만, 일부 이미지(특히 단순한 비트맵)에 유용한 일반적인 텍스트에 대해서는 효과가 없는 기법, 그리고 이미지의 특정 특성(예: c의 일반적인 현상)을 이용하는 기법 등이 있다.유사한 톤의 지속적 2-D 영역과 색상 이미지에서 대표할 수 있는 색상 범위 중 제한된 범위의 색상 우세(prependance)를 갖는다는 사실).

앞서 언급했듯이 무손실 음향 압축은 다소 특화된 영역이다.무손실 음향 압축 알고리즘은 데이터의 파동 같은 성질에 의해 나타나는 반복 패턴을 이용할 수 있다. – 본질적으로 자기 회귀 모델을 사용하여 "다음" 값을 예측하고 기대값과 실제 데이터 사이의 (희망적으로 작은) 차이를 인코딩한다.예측 데이터와 실제 데이터 사이의 차이(오차라고 함)가 작은 경향이 있으면 특정 차이 값(0, +1, -1 등)이 나타난다.샘플 값에서)는 매우 빈번하게 발생하며, 이는 몇 개의 출력 비트로 인코딩하여 이용할 수 있다.

때로는 파일의 두 버전 사이의 차이(또는 비디오 압축에서, 시퀀스 내의 연속적인 영상의 차이만 압축하는 것이 유익하다.이것을 델타 부호화(수학에서는 차이를 나타내는 그리스 문자 Δ에서)라고 부르지만, 일반적으로 이 용어는 두 버전이 모두 압축과 감압 밖에 의미 있는 경우에만 사용된다.예를 들어 위에서 언급한 무손실 오디오 압축 방식에서 오류를 압축하는 프로세스는 근사 음파에서 원음파까지의 델타 인코딩으로 설명할 수 있지만, 음파의 근사 버전은 다른 맥락에서 의미가 없다.

무손실 압축 방법

무손실 압축 알고리즘은 가능한 모든 데이터를 효율적으로 압축할 수 없다(자세한 내용은 아래 제한사항 섹션 참조).이러한 이유로, 특정 유형의 입력 데이터를 염두에 두거나 압축되지 않은 데이터에 어떤 종류의 중복성이 포함될 가능성이 있는지에 대한 구체적인 가정을 가지고 설계되는 많은 다른 알고리즘이 존재한다.

가장 일반적인 무손실 압축 알고리즘은 다음과 같다.

일반목적

오디오

래스터 그래픽스

  • AVIF – AOMEDIA 비디오 1 이미지 파일 형식
  • FLIF – 무손실 이미지 형식
  • HEIF – 고효율 이미지 파일 형식(HEVC를 사용한 무손실 압축 또는 손실 압축)
  • ILBM – (아미가 IFF 영상의 무손실 RLE 압축)
  • JBIG2 – (B&W 영상의 무손실 압축)
  • JPEG 2000 – (LeGall-Tabatabai 5/3[4][5][6] 가역 정수 파장 변환을 통한 무손실 압축 방법 포함)
  • JPEG-LS – (무손실/근손실 압축 표준)
  • JPEG XL – (무손실 압축 또는 손실 압축)
  • JPEG XR - 이전에 WMPhotoHD 사진에는 무손실 압축 방법이 포함되어 있음
  • LDCT – 무손실 이산 코사인 변환[7][8]
  • PCX – PiCture eXchange
  • PDF – 휴대용 문서 형식(무손실 압축 또는 손실 압축)
  • PNG – 휴대용 네트워크 그래픽
  • TGA – Truevision TGA
  • TIFF – 태그가 지정된 이미지 파일 형식(무손실 압축 또는 손실 압축)
  • WebP – (RGB 및 RGBA 영상의 무손실 압축)

3D 그래픽스

  • OpenCTM – 3D 삼각망 메쉬의 무손실 압축

비디오

무손실 비디오 코덱 목록 보기

암호학

암호 시스템은 추가 보안을 위해 암호화 전 데이터("플레인텍스트")를 압축하는 경우가 많다.적절하게 구현하면, 압축은 암호 분석을 용이하게 할 수 있는 패턴을 제거함으로써 단일성 거리를 크게 증가시킨다.[9]그러나 많은 일반적인 무손실 압축 알고리즘은 헤더, 래퍼, 테이블 또는 그 대신 암호 분석을 더 쉽게 만들 수 있는 다른 예측 가능한 출력을 생성한다.그러므로 암호 시스템은 출력에 이러한 예측 가능한 패턴을 포함하지 않는 압축 알고리즘을 활용해야 한다.

유전학과 게노믹스

유전적 압축 알고리즘(유전적 알고리즘과 혼동하지 않음)은 유전적 데이터에 적응한 특정 알고리즘과 기존의 압축 알고리즘을 모두 사용해 데이터(일반적으로 뉴클레오티드의 시퀀스)를 압축하는 무손실 알고리즘의 최신 세대다.2012년 존스홉킨스대 연구팀은 외부 유전자 데이터베이스에 의존하지 않는 최초의 유전자 압축 알고리즘을 발표했다.HAPZIPER는 HapMap 데이터에 맞게 설계되었으며 20배 이상의 압축(파일 크기 95% 감소)을 달성하여 범용 압축 유틸리티의 2배에서 4배 빠른 압축을 제공한다.[10]

유전자 시퀀스 압축 알고리즘은 DNA 시퀀스 압축기로도 알려져 있으며, DNA 시퀀스가 역반복과 같은 특성 특성을 가지고 있다는 사실을 탐구한다.가장 성공적인 압축기는 XM과 GeCo이다.[11]eukaryotes의 경우 XM이 압축비에서 약간 더 낫지만 100MB보다 큰 시퀀스의 경우 계산 요건은 비실용적이다.

실행 파일

자체 추출 실행 파일에는 압축된 응용 프로그램과 압축 해제기가 포함되어 있다.실행되면 압축 해제기는 원래 응용 프로그램을 투명하게 압축을 풀고 실행한다.이것은 특히 데모 코딩에서 종종 사용되는데, 1k만큼 작은 크기 제한의 데모를 위해 경기가 열린다.이러한 유형의 압축은 엄격히 바이너리 실행 파일에 국한되지 않고 자바스크립트와 같은 스크립트에도 적용할 수 있다.

무손실 압축 벤치마크

손실 없는 압축 알고리즘과 그 구현은 머리와 머리 사이의 벤치마크에서 정기적으로 테스트된다.더 잘 알려진 압축 벤치마크가 많이 있다.일부 벤치마크는 데이터 압축 비율만 다루기 때문에 상위 성과자의 속도가 느리기 때문에 이러한 벤치마크의 우승자는 일상적으로 사용하기에 적합하지 않을 수 있다.일부 벤치마크의 또 다른 단점은 데이터 파일이 알려져 있기 때문에 일부 프로그램 작성자는 특정 데이터 집합에서 최상의 성능을 위해 프로그램을 최적화할 수 있다는 것이다.이러한 벤치마크에서 승자는 종종 컨텍스트 믹싱 압축 소프트웨어 등급에서 나온다.

Matt Mahoney는 2010년 2월호 무료 책자 Data Compression Descripted에서 다음과 같은 내용을 추가로 열거한다.[12]

  • 1987년 이전의 캘거리 코퍼스는 크기가 작기 때문에 더 이상 널리 사용되지 않는다.맷 마호니는 레오니드 A가 1996년 5월 21일부터 2016년 5월 21일까지 만들고 유지한 캘거리 압축 챌린지를 유지했다.브루키스
  • Large Text Compression Benchmark와[13] 유사한 Hutter Prize는 모두 잘 다듬어진 위키백과 XML UTF-8 데이터 세트를 사용한다.
  • Matt Mahoney가 관리하는 [14]Generic Compression Benchmark는 랜덤 튜링 기계에서 생성된 데이터의 압축을 테스트한다.
  • Sami Runas(NanoZip의 저자)는 Maximum Compression multiple file test와 유사한 벤치마크인 Compression Rates를 유지했지만 최소 속도 요구 사항을 가지고 있었다.그것은 사용자가 속도와 압축비의 중요성에 무게를 둘 수 있는 계산기를 제공했다.최고 프로그램은 속도 요구로 인해 상당히 달랐다.2010년 1월 NanoZip이 1위를 차지했고 FreeArc, CCM, flashzip, 7-Zip이 그 뒤를 이었다.
  • Nania Francesco Antonio의 Monster of Compression 벤치마크는 40분 제한 시간인 1Gb의 공공 데이터에 대해 압축을 테스트했다.2009년 12월, 1위 보관기는 NanoZip 0.07a, 1위 단일 파일 압축기는 ccmx 1.30c이었다.

압축 등급 웹사이트는 압축 비율과 시간의 "프론티어"에 대한 차트 요약을 발표했다.[15]

압축 분석 툴은[16] 최종 사용자가 자신의 데이터를 이용해 LZF4, Deflate, ZLIB, GZIP, BZIP2, LZMA의 스트리밍 구현의 성능 특성을 벤치마킹할 수 있도록 하는 윈도 애플리케이션이다.사용자가 여러 압축 방법의 압축 속도, 감압 속도 및 압축 비율을 비교하고 압축 수준, 버퍼 크기, 플러싱 연산이 결과에 어떤 영향을 미치는지 살펴볼 수 있는 측정 및 차트를 제작한다.

제한 사항

손실 없는 데이터 압축 알고리즘(압축 ID 라벨을 출력 데이터 세트에 부착하지 않음)은 모든 입력 데이터 세트에 대한 압축을 보장할 수 없다.즉, 어떤 무손실 데이터 압축 알고리즘의 경우, 알고리즘에 의해 처리될 때 작아지지 않는 입력 데이터 세트가 있을 것이고, 적어도 하나의 파일을 더 작게 만드는 무손실 데이터 압축 알고리즘의 경우, 그것이 더 크게 만드는 파일이 적어도 하나 있을 것이다.이것은 다음과 같이 비둘기구멍 원리라고 하는 계수논리를 이용하여 기초 수학으로 쉽게 증명된다.[17][18]

  • 각 파일이 임의 길이의 비트 문자열로 표시된다고 가정해 보십시오.
  • 모든 파일을 원본 파일보다 더 이상 크지 않은 출력 파일로 변환하는 압축 알고리즘이 있으며, 적어도 하나의 파일이 원본 파일보다 짧은 출력 파일로 압축된다고 가정해 보자.
  • 길이 M 비트가 좀 더 짧은 것으로 압축되는 F 파일이 되도록 M을 최소로 한다.NF의 압축된 버전의 길이(비트 단위)가 되게 한다.
  • N<M> 때문에, 길이 N모든 파일은 압축하는 동안 그 크기를 유지한다.그러한 파일은 2개가N 가능하다.F와 함께, 이것은 모두N 2+1 파일을 길이 N의 2개N 파일 중 하나로 압축한다.
  • 그러나 2는N 2N+1보다 작기 때문에, 비둘기 구멍 원리에 의해 두 개의 다른 입력에서 압축함수의 출력이 동시에 되는 길이 N의 어떤 파일이 있어야 한다.그 파일은 신뢰성 있게 압축 해제될 수 없다(이 두 원본 중 어느 것을 산출해야 하는가). 이것은 알고리즘이 무손실이라는 가정과 모순된다.
  • 따라서 우리는 (압축함수가 더 이상 파일을 만들지 않는다는) 우리의 원래 가설은 반드시 사실이 아니라고 결론지어야 한다.

대부분의 실용적인 압축 알고리즘은 인코딩을 함으로써 더 길어질 파일에 대한 정상적인 코딩을 끌 수 있는 "탈출" 기능을 제공한다.이론적으로, 디코더에게 전체 입력에 대해 정상적인 코딩이 해제되었음을 알리는 데 오직 하나의 추가 비트만 필요하지만, 대부분의 인코딩 알고리즘은 이를 위해 적어도 하나의 전체 바이트(일반적으로 1바이트 이상)를 사용한다.예를 들어 압축 해제된 파일은 입력 65,535바이트당 5바이트 이상 증가할 필요가 없다.

우리가 될 수 있는 데이터의 속성에 대해 아무것도 모른다면 모든 파일 똑같이는 일부 파일의 크기가 줄어든 무손실 압축, 압축 파일(길이에 대한 모든 가능한 파일에 대해 N평균)및 기간을 반드시 N.[표창 필요한]그래서보다 커야 합니다 가능 실제로 우리가 N, 길이의 파일이라고 생각한다.e, 우리는 압축전혀 압축하지 않는 게 좋을 거야무손실 압축 알고리즘은 우리가 다른 파일들보다 특정 유형의 파일을 더 잘 압축할 가능성이 높을 때만 유용하다; 그러면 알고리즘은 그러한 유형의 데이터를 더 잘 압축하도록 설계될 수 있다.

그러므로, 논쟁의 주된 교훈은 큰 손실을 감수한다는 것이 아니라 단지 항상 이길 수 없다는 것이다.알고리즘을 선택한다는 것은 항상 유용하게 짧아질 모든 파일의 하위 집합을 선택한다는 것을 의미한다.이것이 우리가 다른 종류의 파일에 대해 다른 압축 알고리즘을 가져야 하는 이론적인 이유다: 모든 종류의 데이터에 좋은 알고리즘은 있을 수 없다.

이러한 파일을 보다 짧은 형태로 일관되게 압축하기 위해 설계한 데이터 형식에 사용되는 무손실 압축 알고리즘을 허용하는 "트릭"은 알고리즘이 모두 작용하도록 설계된 파일들이 알고리즘이 제거하도록 설계된 어떤 형태의 쉽게 모델링된 중복성을 가지고 있기 때문에, 따라서 파일의 서브셋에 속한다는 것이다.다른 파일들은 압축되거나 더 커지지 않는 반면 알고리즘은 더 짧아질 수 있다.알고리즘은 일반적으로 특정 유형의 파일에 매우 구체적으로 조정된다. 예를 들어, 무손실 오디오 압축 프로그램은 텍스트 파일에서 잘 작동하지 않으며, 그 반대의 경우도 마찬가지다.

특히, 랜덤 데이터의 파일은 상상할 수 있는 무손실 데이터 압축 알고리즘에 의해 일관성 있게 압축될 수 없다. 실제로, 이 결과는 Kolmogorov 복잡성의 무작위성의 개념을 정의하는 데 사용된다.[19]

어떤 데이터도 손실 없이 압축할 수 있는 알고리즘을 만드는 것은 분명히 불가능하다.임의의 수의 랜덤 비트 N항상 N - 1비트로 압축할 수 있는 "완벽한 압축"을 달성한 회사들은 여러 해 동안 많은 주장들이 있었지만, 이러한 종류의 주장들은 의도된 압축 방식과 관련하여 더 이상의 세부 사항도 살펴보지 않고도 안전하게 폐기될 수 있다.그러한 알고리즘은 수학의 기본 법칙과 모순된다. 왜냐하면 그것이 존재한다면, 그것은 어떤 파일도 손실 없이 길이 1로 줄이기 위해 반복적으로 적용될 수 있기 때문이다.[18]

한편, 콜모고로프 복잡성의 의미에서 파일을 압축할 수 없는지를 판단할 수 있는 알고리즘이 없다는 것도 증명되었다[citation needed].따라서 임의로 나타나는 경우에도 특정 파일이 압축 해제기의 크기를 포함하여 상당히 압축될 수 있다.수학적 상수 pi의 숫자가 그 예인데, 무작위로 나타나지만 아주 작은 프로그램에 의해 생성될 수 있다.그러나 특정 파일이 압축할 수 없는 것인지 여부를 판단할 수는 없지만, 압축할 수 없는 문자열에 대한 간단한 정리는 주어진 길이의 파일 중 99% 이상을 (압축기의 크기를 포함) 1바이트 이상으로 압축할 수 없음을 보여준다.

수학적 배경

추상적으로 압축 알고리즘은 시퀀스에 대한 함수로 볼 수 있다(일반적으로 8진수).결과 시퀀스가 원래 시퀀스(및 감압 맵에 대한 지침)보다 짧으면 압축이 성공한다.압축 알고리즘이 무손실로 되려면 압축 맵이 "플레인"에서 "압축된" 비트 시퀀스까지의 주입을 형성해야 한다.비둘기 구멍 원칙은 길이 N의 시퀀스 집합과 길이 N-1의 시퀀스 집합의 하위 집합 사이의 편차를 금지한다.따라서 가능한 모든 입력 시퀀스의 크기를 줄이는 무손실 알고리즘을 만들 수 없다.[20]

실제 압축 이론에서의 적용 지점

실제 압축 알고리즘 설계자는 높은 정보 엔트로피의 스트림은 압축할 수 없다는 것을 인정하며, 따라서 이 상태를 탐지하고 처리하기 위한 시설을 포함한다.분명한 탐지 방법은 원시 압축 알고리즘을 적용하고 그 출력이 입력보다 작은지 시험하는 것이다.때때로 발견은 경험에 의해 이루어진다. 예를 들어 압축 애플리케이션은 이름이 ".zip", ".arj" 또는 ".lha"로 끝나는 파일을 더 정교한 탐지 없이 압축할 수 없는 것으로 간주할 수 있다.이 상황을 처리하는 일반적인 방법은 압축 오버헤드를 최소화하면서 출력에서 입력 또는 압축할 수 없는 부분을 인용하는 것이다.예를 들어 zip 데이터 형식은 보관 파일에 복사된 입력 파일에 대해 '저장'의 '압축 방법'을 지정한다.[21]

백만 난수 도전

마크 넬슨은 compression에 나타나는 "마법적인" 압축 알고리즘의 주장에 대응하여, 매우 내향적인 내용의 41만5,241 바이트 바이너리 파일을 만들고, 그 입력과 함께, 자신이 제공한 바이너리 데이터보다 작지만 그것을 재구성할 수 있는 프로그램을 작성하도록 누구에게나 $100의 공공 도전을 발표했다.헛수고[22]보상금으로 5천 달러를 받는 비슷한 도전이 마이크 골드먼에 의해 발행되었다.[23]

참고 항목

참조

  1. ^ "beware's annoyances - image rars". Retrieved September 27, 2021.
  2. ^ Price, Andy (March 3, 2022). "Lossless Streaming – the future of high res audio". Audio Media International.
  3. ^ "LZW Patent Information". About Unisys. Unisys. Archived from the original on June 2, 2009.
  4. ^ Sullivan, Gary (December 8–12, 2003). "General characteristics and design considerations for temporal subband video coding". ITU-T. Video Coding Experts Group. Retrieved September 13, 2019.
  5. ^ Unser, M.; Blu, T. (2003). "Mathematical properties of the JPEG2000 wavelet filters" (PDF). IEEE Transactions on Image Processing. 12 (9): 1080–1090. Bibcode:2003ITIP...12.1080U. doi:10.1109/TIP.2003.812329. PMID 18237979. S2CID 2765169. Archived from the original (PDF) on October 13, 2019.
  6. ^ Bovik, Alan C. (2009). The Essential Guide to Video Processing. Academic Press. p. 355. ISBN 9780080922508.
  7. ^ Ahmed, Nasir; Mandyam, Giridhar D.; Magotra, Neeraj (April 17, 1995). "DCT-based scheme for lossless image compression". Digital Video Compression: Algorithms and Technologies 1995. International Society for Optics and Photonics. 2419: 474–478. Bibcode:1995SPIE.2419..474M. doi:10.1117/12.206386. S2CID 13894279.
  8. ^ Komatsu, K.; Sezaki, Kaoru (1998). "Reversible discrete cosine transform". Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181). 3: 1769–1772 vol.3. doi:10.1109/ICASSP.1998.681802. ISBN 0-7803-4428-6. S2CID 17045923.
  9. ^ Alfred J. Menezes; Jonathan Katz; Paul C. van Oorschot; Scott A. Vanstone (October 16, 1996). Handbook of Applied Cryptography. CRC Press. ISBN 978-1-4398-2191-6.
  10. ^ Chanda, P.; Elhaik, E.; Bader, J.S. (2012). "HapZipper: sharing HapMap populations just got easier". Nucleic Acids Res. 40 (20): 1–7. doi:10.1093/nar/gks709. PMC 3488212. PMID 22844100.
  11. ^ Pratas, D.; Pinho, A. J.; Ferreira, P. J. S. G. (2016). "Efficient compression of genomic sequences". Data Compression Conference (PDF). Snowbird, Utah.
  12. ^ Matt Mahoney (2010). "Data Compression Explained" (PDF). pp. 3–5.
  13. ^ "Large Text Compression Benchmark". mattmahoney.net.
  14. ^ "Generic Compression Benchmark". mattmahoney.net.
  15. ^ 압축 비율 및 시간 시각화
  16. ^ "Compression Analysis Tool". Free Tools. Noemax Technologies.
  17. ^ 사유드 2002 페이지 41.
  18. ^ a b Bell, Tim (September 28 – October 1, 2015). "Surprising Computer Science". 8th International Conference on Informatics in Schools: Situation, Evolution, and Perspectives. Lecture Notes in Computer Science. Springer. 9378: 8–9. doi:10.1007/978-3-319-25396-1. ISBN 978-3-319-25396-1. S2CID 26313283. Retrieved August 24, 2021.
  19. ^ 사유드 2002 페이지 38.
  20. ^ Joshi, Mark S. (March 18, 2015). "Chapter 3 – The Pigeonhole Principle". Proof Patterns. Springer. p. 21. doi:10.1007/978-3-319-16250-8_3. ISBN 978-3-319-16250-8. Retrieved August 24, 2021.
  21. ^ ".ZIP File Format Specification". PKWARE, Inc. chapter V, section J.
  22. ^ Nelson, Mark (June 20, 2006). "The Million Random Digit Challenge Revisited".
  23. ^ Craig, Patrick. "The $5000 Compression Challenge". Retrieved June 8, 2009.

추가 읽기

  • Sayood, Khalid (October 27, 2017). Introduction to Data Compression. The Morgan Kaufmann Series in Multimedia Information and Systems (5 ed.). Morgan Kaufmann. ISBN 978-0-12809474-7. (790페이지)
  • Sayood, Khalid, ed. (December 18, 2002). Lossless Compression Handbook (Communications, Networking and Multimedia) (1 ed.). Academic Press. ISBN 978-0-12390754-7. (488쪽)

외부 링크