데이터 압축 알고리즘
데이터 압축 알고리즘 목록을 가지고 있는 사람이 있는지 궁금합니다.저는 기본적으로 데이터 압축에 대해 아무것도 모릅니다. 저는 다양한 알고리즘에 대해 더 많이 배우고 어떤 알고리즘이 최신이며 아직 많은 ASIC에서 개발되지 않았는지 알고 싶었습니다.
들어오는 데이터 유형(오디오, 비디오, 이미지 등)과 무관한 데이터 압축 ASIC을 구현하고 싶습니다.
제 질문이 너무 개방적이면 알려주시면 수정하겠습니다.감사해요.
수많은 압축 알고리즘이 존재합니다.여기서 필요한 것은 무손실 압축 알고리즘입니다.무손실 압축 알고리즘은 압축 전에 주어진 것을 정확히 달성하기 위해 압축을 해제할 수 있도록 데이터를 압축합니다.그 반대는 손실 압축 알고리즘입니다.손실 압축은 파일에서 데이터를 제거할 수 있습니다. PNG 이미지는 손실 없는 압축을 사용하는 반면 JPEG 이미지는 손실된 압축을 사용할 수 있으며 종종 사용합니다.
가장 널리 알려진 압축 알고리즘 중 일부는 다음과 같습니다.
ZIP 아카이브는 Huffman 코딩과 LZ77의 조합을 사용하여 빠른 압축 및 압축 해제 시간과 상당히 우수한 압축 비율을 제공합니다.
LZ77은 상당히 일반화된 형태의 RLE이며 종종 훨씬 더 나은 결과를 산출할 것입니다.
Huffman은 가장 반복적인 바이트가 최소 비트 수를 나타내도록 허용합니다.다음과 같은 텍스트 파일을 상상해 보십시오.
aaaaaaaabbbbbcccdd
일반적으로 Huffman을 구현하면 다음과 같은 맵이 생성됩니다.
Bits Character
0 a
10 b
110 c
1110 d
따라서 파일은 다음과 같이 압축됩니다.
00000000 10101010 10110110 11011101 11000000
^^^^^
Padding bits required
18바이트는 5바이트로 줄어듭니다.물론 테이블은 파일에 포함되어야 합니다.이 알고리즘은 더 많은 데이터에서 더 잘 작동합니다.p
알렉스 앨레인은 위키가 충분하지 않을 경우를 대비해 허프먼 압축 알고리즘에 대한 좋은 기사를 가지고 있습니다.
더 많은 정보를 언제든지 요청하세요.이 주제는 꽤 광범위합니다.
다음은 무손실 알고리즘(이러한 알고리즘을 사용하여 원래 데이터를 완벽하게 복구할 수 있음)입니다.
- 허프먼 부호
- LZ78(및 LZW 변형)
- LZ77
- 산술 부호화
- 시퀴터
- 부분 일치를 사용한 예측(부분 일치)
png 또는 gif와 같이 잘 알려진 많은 형식은 변형 또는 이들의 조합을 사용합니다.
다른 한편으로는 손실이 많은 알고리즘도 있습니다(데이터를 압축하기 위해 정확도가 저하되지만 종종 매우 잘 작동함).최첨단 손실 기술은 차등 코딩, 양자화, DCT 등의 아이디어를 결합합니다.
데이터 압축에 대해 자세히 알아보려면 https://www.elsevier.com/books/introduction-to-data-compression/sayood/978-0-12-809474-7 를 추천합니다.이것은 매우 접근하기 쉬운 소개 텍스트입니다.pdf 온라인의 세 번째 판.
주변에는 엄청나게 많은 데이터 압축 알고리즘이 있습니다.백과사전적인 것을 찾고 있다면 Salomon et al.의 데이터 압축 핸드북을 추천합니다. 이 핸드북은 여러분이 얻을 수 있는 것만큼 포괄적입니다(데이터 압축의 원리와 관행에 대한 좋은 섹션도 있습니다).
ASIC 기반 압축은 일반적으로 독립형 압축 칩이 아닌 특정 애플리케이션 또는 SoC의 특수 요소로 구현됩니다.저는 또한 "최신의 가장 훌륭한" 압축 형식을 찾는 것이 여기에 적합한 방법인지 의심스럽습니다. 저는 표준화, 성숙도 및 특정 목적에 대한 적합성이 더 중요할 것으로 기대합니다.
내 논문 캐시 및 메인 메모리 시스템의 데이터 압축을 위한 아키텍처 접근 방식 조사(여기서는 permallink)는 많은 압축 알고리즘과 현대 프로세서에서 이를 사용하기 위한 기술을 검토합니다.연구용 및 상업용 압축 알고리즘/기술을 모두 검토하므로 ASIC에서 아직 구현되지 않은 알고리즘/기술을 찾을 수 있습니다.
LZW 또는 Lempel Ziv 알고리즘은 뛰어난 무손실 알고리즘입니다.여기서 유사 코드: http://oldwww.rasip.fer.hr/research/compress/algorithms/fund/lz/lzw.html
언급URL : https://stackoverflow.com/questions/16469410/data-compression-algorithms
'programing' 카테고리의 다른 글
HttpClient "get" 메서드에서 URL 검색 매개 변수를 전달하는 방법 - Angular 5 (0) | 2023.07.17 |
---|---|
Excel 오류: 제거된 레코드: /xl/워크시트/sheet10.xml 부분에서 정렬 (0) | 2023.07.17 |
SQL Server에서 트랜잭션을 롤백하거나 커밋하는 방법 (0) | 2023.07.17 |
홈브루를 사용하여 이전 버전의 파이썬 3을 macOS에 설치하려면 어떻게 해야 합니까? (0) | 2023.07.17 |
중첩된 잠금으로 인해 교착 상태가 발생하지 않는 이유는 무엇입니까? (0) | 2023.07.17 |