PAQ

PAQ
PAQ8 샘플세션o

PAQ는 일련의 무손실 데이터 압축 아카이브로 압축률을 측정하는 여러 벤치마크에서 공동 개발을 통해 상위 순위에 올랐습니다(단, 속도와 메모리 사용량은 희생).PAQ의 전문 버전은 허터상캘거리 [1]챌린지를 수상했다.PAQ는 GNU General Public [2]License에 따라 배포되는 무료 소프트웨어입니다.

알고리즘.

PAQ는 컨텍스트 혼합 알고리즘을 사용합니다.콘텍스트 믹싱은 압축기가 프레딕터와 산술적 코더로 분할된다는 에서 부분 매칭(PPM)에 의한 예측과 관련되지만, 다른 콘텍스트에서 조건부 다수의 모델로부터 확률 추정치의 가중치 조합을 사용하여 넥스트 심볼 예측을 계산한다는 점에서 다르다.PPM과 달리 컨텍스트는 연속적일 필요가 없습니다.대부분의 PAQ 버전에서는 다음 컨텍스트의 다음 심볼 통계 정보를 수집합니다.

  • n-gs. 콘텍스트는 마지막입니다.n예측 기호 이전의 바이트 수(PM);
  • 전체 단어 n-그램, 대소문자 및 알파벳 이외의 문자 무시(텍스트 파일에 포함)
  • 예를 들어 예측 기호 앞의 두 번째 및 네 번째 바이트(일부 바이너리 형식에서 제외됨)와 같은 "context" 컨텍스트.
  • 이전 8비트 또는 16비트 워드의 상위 비트(멀티미디어 파일용)로 구성된 "하이엔드" 컨텍스트
  • 2차원 컨텍스트(이미지, 테이블 및 스프레드시트에 적용).행 길이는 반복 바이트 패턴의 스트라이드 길이를 구함으로써 결정됩니다.
  • x86 실행 파일, BMP, TIFF 또는 JPEG 이미지 등의 특수 모델.이러한 모델은, 특정의 파일 타입이 검출되었을 경우에만 액티브하게 됩니다.

모든 PAQ 버전은 한 번에 1비트를 예측하고 압축하지만 모델의 세부사항과 예측이 결합되고 후처리되는 방식이 다릅니다.다음 비트 확률이 결정되면 산술 부호화에 의해 부호화됩니다.예측 조합에는 버전에 따라 세 가지 방법이 있습니다.

  • PAQ1 ~ PAQ3 에서는 각 예측은비트카운트의 , 1)으로 displaystyle ({ 0 , n _ { }}이러한 카운트는 가중치 합계에 의해 조합되며 긴 컨텍스트에 가중치가 부여됩니다.
  • PAQ4에서 PAQ6까지는 예측이 이전과 같이 결합되지만 각 모형에 할당된 가중치는 보다 정확한 모형을 선호하도록 조정됩니다.
  • PAQ7 이후에서는 각 모델이 카운트의 쌍이 아닌 확률을 출력합니다.확률은 인공 신경망을 사용하여 결합된다.

PAQ1SSE 이후 버전은 2차 기호 추정(SSE)을 사용하여 예측을 후처리합니다.결합된 예측과 작은 컨텍스트는 테이블에서 새로운 예측을 검색하는 데 사용됩니다.비트가 부호화된 후 예측 오류를 줄이기 위해 테이블 엔트리가 조정됩니다.SSE 스테이지에서는, 다른 콘텍스트로 파이프 라인을 설정하거나, 평균 출력과 병행해 계산할 수 있습니다.

산술 부호화

문자열 s는 P(r < s) < x < P(r ), s)가 되도록 [0, 1] 범위의 base-256 빅 엔디언 번호 x를 나타내는 최단 바이트 문자열로 압축된다.여기서 P(r < s)는 s와 같은 길이의 랜덤 문자열 r이 사전 편찬적으로 s보다 작을 확률이다.x의 길이Shannon 한계인 -logP2(r = s) 비트보다 최대 1바이트 더 긴 x를 항상 찾을 수 있습니다.의 길이는 아카이브 헤더에 저장됩니다.

PAQ의 산술 코더는 각 예측에 대해 x의 하한과 상한을 유지함으로써 구현됩니다. 초기에는 [0, 1]입니다.각 예측 후, 현재 범위는 P(0)와 P(1)에 비례하여 두 부분으로 분할되며, 이전 s 비트가 주어졌을 때 다음 s 비트가 각각 0 또는 1이 될 확률입니다.다음으로 대응하는 서브 범위를 새로운 범위로 선택하여 다음 비트를 부호화합니다.

숫자 x는 (의 이전 비트가 알려져 있기 때문에) 동일한 일련의 비트 예측을 함으로써 문자열로 압축 해제됩니다.범위는 압축과 마찬가지로 분할됩니다.x가 포함된 부분이 새 범위가 되고 대응하는 비트가 에 추가됩니다.

PAQ에서는 범위의 하한과 상한이 3부분으로 표시됩니다.최상위 base-256 자리수는 동일하기 때문에 x의 선두 바이트로 쓸 수 있습니다.다음 4바이트는 선두 바이트가 다르도록 메모리에 저장됩니다.후행 비트는 하한의 경우 모두 0, 상한의 경우 모두 1로 간주됩니다.압축은 하한에서1바이트를 더 쓰는 것으로 종료됩니다.

적응형 모델 가중치

PAQ 버전부터 PAQ6까지의 각 모델에서는 개별 컨텍스트세트가 0비트 0과 1비트 11의 쌍에 매핑됩니다.최근 이력을 개선하기 위해 반대 비트가 관찰되면 2를 초과하는 카운트의 절반이 폐기됩니다.예를 들어 컨텍스트와 관련된 현재 상태가( 0 ) ( ){}=( 경우 카운트는 (7,4)로 업데이트됩니다.

비트는 확률에 비례하는 공간으로 산술적으로 부호화됩니다(P(1) 또는 P(0) = 1 - P(1)).확률은 0과 1 카운트의 가중치를 더하여 계산됩니다.

  • S0 = Ωii w n0i,
  • S1 = Ωii w n1i,
  • S = S0 + S1,
  • P(0) = S0/S,
  • P(1) = S1/S,

여기i w는 i번째 모델의 무게입니다.PAQ3을 통해 가중치는 애드혹 방식으로 고정되고 설정되었습니다(Order-n 컨텍스트의 가중치는 n이었습니다2).PAQ4에서 시작하여, 가중치는 동일한 컨텍스트 집합에서 향후 오류를 줄일 수 있는 방향으로 적응적으로 조정되었다.코드화할 비트가 y인 경우 가중치 조정은 다음과 같습니다.

  • ni = n0i + n1i,
  • 오류 = y – P(1)
  • wiwi + [(S1i n - S1i n) / (S01 S)] 오류입니다.

뉴럴 네트워크 혼합

PAQ7부터 각 모델은 (카운트 쌍 대신) 예측을 출력합니다.이러한 예측은 로지스틱 영역에서 평균화됩니다.

  • xi = 스트레치(Pi(1)),
  • P(1) = 스쿼시(), wiii x),

여기서 P(1)는 다음 비트가 1일 확률이고 Pi(1)는 i번째 모델에 의해 추정된 확률입니다.

  • 스트레치(x) = ln(x / (1 - x),
  • 스쿼시(x) = 1 / (1 + ex) (스트레칭의 약자)

각 예측 후 가중치를 조정하여 코딩 비용을 최소화하여 모형을 업데이트합니다.

  • wiwi + µi x (y - P(1)),

여기서 θ는 학습 속도(일반적으로 0.002 ~ 0.01), y는 예측 비트, (y - P(1))는 예측 오차입니다.가중치 갱신 알고리즘은 P(1)P(0)라는 용어가 폐기된다는 점에서 역전파와는 다릅니다.이는 뉴럴 네트워크의 목적이 코딩 비용을 최소화하는 것이지 루트 평균 제곱 오차를 최소화하는 것이 아니기 때문입니다.

PAQ의 대부분의 버전은 뉴럴네트워크의 가중치 세트 중에서 선택하기 위해 작은 컨텍스트를 사용합니다.일부 버전에서는 SSE 단계 전에 출력이 1개 이상의 네트워크와 조합된 여러 네트워크를 사용합니다.또, 각 입력 예측에 대해서, 스트레치(P(1))에 가세해 P(1)의 비선형i 함수인 복수의 입력이 있어도 좋다.

콘텍스트 모델링

각 모델은 의 기존 비트를 콘텍스트세트로 분할하고 각 콘텍스트를 8비트 상태로 나타나는 비트 이력에 매핑합니다.PAQ6 이후 버전에서는 상태는 카운터 쌍(n0, n1)을 나타냅니다.특정 조건에서의 PAQ7 이후 버전에서는 스테이트는 마지막 비트 값 또는 시퀀스 전체의 값도 나타냅니다.상태는 각 모델에 대해 256 엔트리 테이블을 사용하여 확률에 매핑됩니다.모형에 의한 예측 후 예측 오차를 줄이기 위해 표 항목을 약간(일반적으로 0.4%) 조정합니다.

모든 PAQ8 버전에서 표시되는 상태는 다음과 같습니다.

  • 최대 4비트의 정확한 비트시퀀스
  • 5 ~ 15비트 시퀀스에 대한 카운트 쌍 및 최신 비트 표시기.
  • 16 ~ 41비트 시퀀스의 카운트 쌍.

상태 수를 256으로 유지하기 위해 (41, 0), (40, 1), (12, 2), (5, 3), (4, 4), (3, 5), (2, 12), (1, 40), (0, 41)의 대표 가능한 카운트에 대한 제한이 설정됩니다.카운트가 이 제한을 초과할 경우 다음 상태는 n 대 n1 비율0 같도록 선택됩니다.따라서 현재 상태가 (n0 = 4, n1 = 4, 마지막 비트 = 0)이고 1이 관찰되면 새 상태는 그렇지 않습니다0(n1 = 4, n = 5, 마지막 비트 = 1).오히려 (n0 = 3, n1 = 4, 마지막 비트 = 1)입니다.

대부분의 컨텍스트 모델은 해시 테이블로 구현됩니다.일부 작은 컨텍스트는 직접 검색 테이블로 구현됩니다.

텍스트 전처리

PAQ의 일부 버전, 특히 PAsQDa, PAQAR(양쪽 PAQ6 파생 모델) 및 PAQ8HP1~PAQ8HP8(PAQ8 파생상품 및 Hutter 수상자)은 외부 사전에서 단어를 찾아 1~3바이트 코드로 대체하여 텍스트 파일을 사전 처리합니다.또한 대문자는 특수문자와 소문자로 인코딩됩니다.PAQ8에서는HP 시리즈, 사전은 구문과 의미에 관련된 단어들을 함께 그룹화하여 구성되어 있습니다.이를 통해 모델은 사전 코드의 최상위 비트만 컨텍스트로 사용할 수 있습니다.

비교

다음 표는 Matt Mahoney의 Large Text Compression Benchmark의 샘플로, 영어 Wikipedia 텍스트의 10바이트(1GB 또는 0.931 GiB)로 구성되어9 있습니다.

프로그램. 압축 크기(바이트) 원래 크기의 % 압축시간(ns/B) 메모리(MiB)
PAQ8HP8 133,423,109 13.34 64 639 1849
PPMd 183,976,014 18.4 880 256
bzip2 254,007,875 25.4 379 8
정보 ZIP 322,649,703 32.26 104 0.1

파일 압축 벤치마크 목록은 무손실 압축 벤치마크를 참조하십시오.

역사

다음으로 PAQ 알고리즘의 주요 기능 확장을 나타냅니다.또한, 다수의 점진적인 개선이 있었지만, 이러한 개선은 생략되었습니다.

  • PAQ1은 2002년 1월 6일 Matt Mahoney에 의해 출시되었습니다.고정 가중치를 사용했으며 아날로그 또는 스파스 모델은 포함하지 않았다.
  • PAQ1SSE/PAQ2는 Serge Osnach에 의해 2003년 5월 11일에 출시되었습니다.프레딕터와 인코더 사이에 Secondary Symbol Estimation(SSE; 2차 기호 추정) 단계를 추가하여 압축을 대폭 개선했습니다.SSE는 짧은 컨텍스트와 현재 예측을 입력하고 표에서 새로운 예측을 출력합니다.그런 다음 테이블 엔트리가 실제 비트 값을 반영하도록 조정됩니다.
  • 2003년 10월9일에 출시된 PAQ3N에서는 스파스 모델이 추가되었습니다.
  • 2003년 11월 15일 Matt Mahoney에 의해 발표된 PAQ4는 적응 가중치를 사용했다.PAQ5(2003년 12월 18일)와 PAQ6(2003년 12월 30일)는 새로운 아날로그 모델을 포함한 약간의 개량점입니다.이 시점에서 PAQ는 최고의 PPM 압축기와 경쟁했으며 데이터 압축 커뮤니티의 관심을 끌었으며, 이는 2004년 4월까지 많은 수의 점진적인 개선으로 이어졌습니다.Berto Destasio는 모델을 조정하고 비트 수 할인 일정을 조정했습니다.Johan de Bock은 사용자 인터페이스를 개선했습니다.데이비드 A.스콧은 산술 부호화를 개선했다.파비오 부포니는 속도를 향상시켰다.
  • 2004년 5월 20일부터 2004년 7월 27일까지 Alexander Ratushnyak은 7가지 버전의 PAQAR를 출시했습니다.이는 많은 새로운 모델, 컨텍스트에 의해 선택된 가중치를 가진 다중 믹서, 각 믹서 출력에 SSE 단계를 추가하고 인텔 실행 파일 f의 압축을 개선하기 위해 프리프로세서를 추가함으로써 상당한 압축 향상을 이루었습니다.PAQAR은 2004년 말까지 최상위 압축기였지만 이전 PAQ 버전보다 상당히 느렸습니다.
  • 2005년 1월 18일부터 2005년 2월 7일까지의 기간 동안 Przemyslaw Skibinski는 PAQ6 및 PAQ를 기반으로 4가지 버전의 PASqDa를 출시했습니다.영어 사전 프리프로세서가 추가된 AR.캘거리 말뭉치에서는 1위를 차지했지만 다른 벤치마크에서는 1위를 차지하지 못했다.
  • PAQ6의 변형 버전은 2004년 1월 10일 Matt Mahoney에 의해 캘거리 챌린지에서 우승했습니다.이는 PAQ의 10가지 후속 버전에 의해 개선되었습니다.Alexander Ratushnyak의 AR.최신 정보는 2006년 6월 5일에 제출되었으며, 압축 데이터와 프로그램 소스 코드의 합계 589,862바이트로 구성되어 있습니다.
  • PAQ7은 Matt Mahoney에 의해 2005년 12월에 출시되었습니다.PAQ7은 PAQ6 및 배리언트(PAQAR, PaaSQDa)의 완전한 개서입니다.압축비는 PAQ와 비슷했습니다.AR은 3배 빨라요그러나 x86과 사전이 부족하여 Windows 실행 파일과 영어 텍스트 파일 및 PaaSQDa를 압축하지 않았습니다.컬러 BMP, TIFF 및 JPEG 파일 모델이 포함되어 있기 때문에 이러한 파일을 보다 잘 압축할 수 있습니다.PAQ6와의 주요 차이점은 경사로 하강 믹서가 아닌 모델을 결합하기 위해 신경망을 사용한다는 것이다.또 다른 기능은 Excel 파일, Word 파일 및 PDF 파일에 내장된 JPEG 및 비트맵 이미지를 압축하는 PAQ7의 기능입니다.
  • PAQ8A는 2006년 1월 27일에, PAQ8C는 2006년 2월 13일에 출시되었습니다.이것들은 예상되는 PAQ8의 실험적인 프리 릴리즈였습니다.PAQ7의 몇 가지 문제(경우에 따라서는 압축 불량)를 수정했습니다.PAQ8A에는 (x86) 실행 파일을 압축하는 모델도 포함되어 있습니다.
  • PAQ8F는 2006년 2월 28일에 출시되었습니다.PAQ8F는 PAQ8A보다 3가지 기능이 향상되었습니다.즉, 메모리 효율이 높은 컨텍스트 모델, 압축을 개선하기 위한 새로운 간접 컨텍스트 모델, Windows에서 드래그 앤 드롭을 지원하는 새로운 사용자 인터페이스입니다.PAQ8B/C/D/E 변종과 같은 영어 사전을 사용하지 않습니다.
  • PAQ8G는 Przemyslaw Skibinski에 의해 2006년 3월 3일에 출시되었습니다.PAQ8G는 PAQ8F로 사전이 추가되고 재설계된 TextFilter로서 기타 기능이 향상되었습니다(텍스트 이외의 파일에서는 압축 퍼포먼스가 저하되지 않습니다).
  • PAQ8H는 Alexander Ratushnyak에 의해 2006년 3월 22일에 출시되었으며 2006년 3월 24일에 업데이트되었습니다.PAQ8H는 PAQ8G에 기반하고 있으며 모델이 일부 개선되었습니다.
  • PAQ8I는 2006년 8월 18일 Pavel L에 의해 출시되었습니다.Holoborodko, 8월 24일, 9월 4일, 9월 13일 버그 수정 포함.PGM 파일의 그레이스케일 이미지 모델을 추가했습니다.
  • PAQ8J는 2006년 11월 13일 Bill Pettis에 의해 출시되었습니다.PAQ8F에 기반하여 PAQ8에서 일부 텍스트모델을 개선하였습니다.HP5. 따라서 PAQ8G의 텍스트 사전이나 PAQ8I의 PGM 모델은 포함되지 않았습니다.
  • Serge Osnach는 2006년 11월 16일 PAQ8JA, 11월 21일 PAQ8JBPAQ8의 일련의 모델 개선 사항을 발표했습니다.11월 28일 JC.
  • PAQ8JD는 2006년 12월 30일 Bill Pettis에 의해 출시되었습니다.이후 이 버전은 여러 프로세서의 경우 32비트 Windows로, 32비트 및 64비트 Linux로 이식되었습니다.
  • PAQ8K는 2007년 2월 13일 Bill Pettis에 의해 출시되었습니다.이진 파일에 대한 추가 모델이 포함되어 있습니다.
  • PAQ8L은 Matt Mahoney에 의해 2007년 3월 8일에 출시되었습니다.PAQ8을 기반으로 합니다.JD 및 DMC 모델을 추가합니다.
  • PAQ8O는 Andreas Morphis에 의해 2007년 8월 24일에 출시되었습니다.PAQ8L보다 개선된 BMP JPEG 모델을 포함합니다.SSE2 지원 및 64비트 Linux용으로 컴파일할 수도 있습니다.이 알고리즘은 64비트 OS에서 현저한 성능 이점을 제공합니다.
  • PAQ8P는 2008년 8월 25일 Andreas Morphis에 의해 출시되었습니다.개량된 BMP 모델을 포함하고 WAV 모델을 추가합니다.
  • PAQ8PX는 2009년 4월 25일 Jan Ondrus에 의해 출시되었습니다.보다 나은 WAV 압축 및 EXE 압축 등 다양한 개선사항이 포함되어 있습니다.
  • PAQ8KX는 Jan Ondrus에 의해 2009년 7월 15일에 출시되었습니다.PAQ8K와 PAQ8PX의 조합입니다.
  • PAQ8PF는 2009년9월 9일 소스 코드 없이 LovePimple에 의해 출시되었습니다(GPL 라이선스에 필요).PAQ8PX v66(1MB 영문 텍스트로 측정)에 비해 압축은 7% 이상 빠릅니다.
  • PAQ9A는 Matt Mahoney에 의해 2007년 12월 31일에 출시되었습니다.새로운 실험 버전입니다.특정 파일 형식에 대한 모델은 포함되지 않으며 LZP 프리프로세서가 있으며 2GB 이상의 파일을 지원합니다.
  • ZPAQ는 Matt Mahoney에 의해 2009년 3월 12일에 출시되었습니다.현재 ZPAQ 프로그램이 향후 ZPAQ 버전에서[3] 생성된 아카이브를 압축 해제할 수 있도록 설계된 새로운 아카이브 형식을 사용합니다(위의 다양한 PAQ 변형은 이러한 방식으로 정방향 호환성이 없습니다).생성된 각 아카이브 [4]파일에 저장되는 바이트 코드 프로그램에서 압축 해제 알고리즘을 지정함으로써 이를 실현합니다.

허터상

시리즈 PAQ8HP1 ~ PAQ8HP8은 Alexander Ratushnyak에 의해 2006년 8월 21일부터 2007년 1월 18일까지 Hutter Prize 출품작으로 출시되었습니다.허터상은 위키피디아 소스로부터 파생된 100MB의 영어와 XML 데이터 세트를 사용한 텍스트 압축 대회입니다.PAQ8HP 시리즈는 PAQ8H에서 분기되었습니다.프로그램에는 텍스트 사전 처리 및 벤치마크에 맞게 조정된 모델이 포함됩니다.텍스트 이외의 모든 모델이 제거되었습니다.사전은 구문 및 의미론적으로 관련된 단어들을 그룹화하고 공통 접미사로 단어들을 그룹화하도록 구성되었다.전자의 전략은 사전 코드의 상위 비트를 기반으로 관련 단어(유사 컨텍스트에 나타날 수 있음)를 모델링할 수 있기 때문에 압축을 개선합니다.후자의 전략은 사전을 압축하기 쉽게 만듭니다.압축 해제 프로그램과 압축된 사전의 크기는 콘테스트 랭킹에 포함됩니다.

2006년 10월 27일, PAQ8은[5]HP5인간 지식의 무손실 압축으로 3,416유로의 허터상을 수상했습니다.

2007년 6월 30일, Ratushnyak의 PAQ8은HP12는 이전 기록보다 3.46%[6] 향상된 1732유로의 두 번째 Hutter 상을 받았습니다.

PAQ 도출

PAQ는 프리 소프트웨어이므로 복사본을 가진 모든 사용자가 수정 및 재배포할 수 있습니다.이것에 의해, 다른 작성자는 PAQ 압축 엔진을 포크 해, 그래피컬 유저 인터페이스나 고속화등의 신기능을 추가할 수 있게 되었습니다(압축비를 희생하고 있습니다).주목할 만한 PAQ 파생상품은 다음과 같습니다.

  • WinUDA 0.291(PAQ6 이상[7])
  • UDA 0.301, PAQ8I[7] 알고리즘에 근거한
  • KGB, PAQ6[8] 기반(베타 버전은 PAQ7 기반).
  • PAQ6[9] 기반 Emilcont
  • Peazip GUI 프런트 엔드(Windows 및 Linux용),[10] ZPAQ 및 다양한 PAQ8* 알고리즘용[11]
  • PWCM(PAQ Weighted Context Mixing)은 WinRK에서 [12]사용되는 PAQ 알고리즘의 독립적으로 개발된 클로즈드소스 구현입니다
  • PAQCompress는 PAQ8PX, PAQ8PXD 및 PAQ8PXV의 최신 릴리스를 포함한 여러 새로운 버전의 PAQ용 그래피컬사용자 인터페이스입니다.새 버전이 출시될 때마다 업데이트됩니다.소프트웨어는 올바른 PAQ 버전을 사용하여 파일 압축 해제에 사용할 수 있는 확장자를 파일 이름에 지능적으로 추가합니다.소프트웨어는 오픈 소스.[13]
  • PerfectCompress[14] UCA(Ultra Compressed Archive) 기능을 갖춘 압축 소프트웨어입니다.PAQ8PX v42 ~v65를 특징으로 하는 압축 형식.이 압축 형식에서는 PAQ8PF, PAQ8KX 또는 PAQ8PXPRE를 기본 UCA 컴프레서로 사용할 수 있습니다.또한 PerfectCompress는 파일을 PAQ8PX v42에서 v67로 압축할 수 있으며 ZPAQ 및 버전 6.0에서는 파일을 LPAQ 및 PAQ8로 압축할 수 있습니다.PF 베타 1부터 베타 3까지PerfectCompress v6.10에서는 최근 출시된 PAQ8PXPRE에 대한 압축 지원이 도입되었습니다.PerfectCompress 6.12에는 PAQ8KX [15]시리즈 지원이 도입되어 있습니다.
  • FrontPAQ, PAQ용 작은 GUI최신 버전은 전면PAQ8PX, PAQ8PF 및 FP8을 지원하는 PAQ v8소프트웨어는 갱신되지 않고 최신 PAQ [16]릴리스를 구현하는 PAQCompress 사용을 권장합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "The Compression/SHA-1 Challenge". Mailcom.com. Retrieved 2010-05-19.
  2. ^ "Homepage of the PAQ compressors". Retrieved 2007-07-10. You may download, use, copy, modify, and distribute these programs under the terms of the GNU general public license
  3. ^ "Ubuntu zpaq(1) man page".
  4. ^ "ZPAQ Level 1 Specification" (PDF). Retrieved 2010-09-03.
  5. ^ 제임스 보워리.알렉산더 라투쉬냐크, 퍼스트 허터상 수상2006년 10월 27일 발행.2006년 [dead link]10월 30일 취득.
  6. ^ http://prize.hutter1.net/award2.gif[베어 URL 이미지 파일]
  7. ^ a b dwing 홈페이지 2007년 2월 24일 Wayback Machine에 보관
  8. ^ "KGB Archiver homepage". Kgbarchiver.net. Retrieved 2010-05-19.
  9. ^ "EmilCont Ultracompression". Freewebs.com. Archived from the original on 2010-09-10. Retrieved 2010-05-19.
  10. ^ Matt Mahoney (2007). "LPAQ". Retrieved 2013-12-29.
  11. ^ "PeaZip". PeaZip. Retrieved 2013-10-06.
  12. ^ "Single file data compression benchmark, sorted on compression ratio". Maximumcompression.com. 2007-04-14. Retrieved 2010-05-19.
  13. ^ "PAQCompress". Moisés Cardona. 2019-01-10. Retrieved 2019-03-05.
  14. ^ "PerfectCompress Official Website". Moises-studios.110mb.com. 2010-04-03. Retrieved 2010-05-19.
  15. ^ "PerfectCompress Official Facebook Page". Facebook.com. Retrieved 2010-05-19.
  16. ^ "FrontPAQ - GUI frontend for PAQ8PF and PAQ8PX". encode.su. Retrieved 2019-07-26.

추가 정보

  • David Salomon, Giovanni Motta, 데이터 압축 핸드북, 제5판, Springer, 2009, ISBN 1-84882-902-7, 5.15 PAQ, 페이지 314-319
  • Byron Knoll, Nando de Freitas, PAQ, 캐나다 밴쿠버 브리티시컬럼비아 대학, 2011년 8월 17일, 예측 코딩에 관한 머신 러닝 전망

외부 링크