압축 알고리즘 추천 좀 부탁드립니다.
글쓴이: elecguy / 작성시간: 금, 2004/08/20 - 7:32오후
안녕하세요.
압축알고리즘 좀 추천해주세요.
PC상에서 데이터를 압축해서 전송하면
임베디드시스템에서 압축을 풀면서 처리하게 됩니다.
데이터는 이미지종류의 바이너리 데이터이고 압축하는 용량은 수십에서 수백kb 입니다.
따라서 압축은 리소스를 어느정도 사용해도 상관없지만
해제는 리소스를 적게 쓰면서도 고속인 알고리즘이어야 할 것으로 생각됩니다.
제품에 사용할 것이기 때문에 오픈소스이구 라이센스에 문제가 없었으면 합니다.^_^;;
추천 부탁드립니다.
PS. 욕심이지만 제가 포팅해야 되기 땜시롱 비교적 간단했으면 합니다.
Forums:
zlib, bzip 등이 있습니다.
압축 알고리즘은 모르고요
공개용으로 나온것중에
zlib : http://www.gzip.org/zlib/
bzip : http://sources.redhat.com/bzip2/
joinc에서 퍼왔습니다. zlib 프로그래밍에 참고 하세요
http://www.joinc.co.kr/modules.php?name=News&file=article&sid=143
lzo 어떨까요?upx를 개발한 곳에서 만든 것인데, 빠릅니다. 포팅
lzo 어떨까요?
upx를 개발한 곳에서 만든 것인데, 빠릅니다. 포팅도 쉽다고 주장합니다. GPL이고 상업용 라이센스도 존재합니다. 셸 스크립으로 받아다 풀고 하려면 lzop라는 프로그램도 있습니다.
http://www.oberhumer.com/opensource/lzo/
LZO is a portable lossless data compression library written in ANSI C.
Offers pretty fast compression and *extremly* fast decompression. [Screenshot]
Includes slower compression levels achieving a quite competitive compression ratio while still decompressing at this very high speed.
Distributed under the terms of the GNU General Public License. Commercial licenses available on request.
Military-grade stability and robustness.
memcpy(): ~60 MB/sec
LZO1X decompression in C: ~16 MB/sec
LZO1X decompression in optimized assembler: ~20 MB/sec
LZO1X-1 compression: ~5 MB/sec
Portability
LZO has been successfully built and tested on a variety of platforms including DOS (16 + 32 bit), Windows 3.x (16-bit), Windows 95/98/ME/NT/2000/XP/2003, Linux, HPUX and a DEC Alpha (64-bit).
LZO is also reported to work under AIX, AmigaOS, ConvexOS, CrayOS, Dreamcast, FreeBSD, IRIX, Mac Classic, MacOSX, MiNT, NetBSD, Nintendo64, OpenBSD, PalmOS (Pilot), PSX, PS2, OpenBSD, OS/400, QNX, Solaris, SunOS, TOS, WinCE, VMS, VxWorks and XBOX.
And finally it would be much fun to translate the decompressors to ancient CPUs like Z-80 or 6502 assembly.
임베디드에서 오픈소스를 쓰면 소스 공개해야 하는 부분이 생길텐데 괜찮으신가요?
rommance.net
아, 그리고 이미지 종류의 바이너리면 bmp가 아닌 경우라면 압축해도 용
아, 그리고 이미지 종류의 바이너리면 bmp가 아닌 경우라면 압축해도 용량차가 별로 없을 텐데요..
rommance.net
답변에 감사감사..
먼저 답변 감사드립니다.
RAW 형태의 이미지 바이너리 데이터을 압축하는 건데..
전송속도가 비교적 느리기 때문에 압축율이 높은 것을 찾는 중입니다.
RLE 나 허프만은 구현은 단순하지만 원하는 압축률이 나오질 않는군요.
다른 압축알고리즘 더 없나요?
폐인, 노가다 그 끝은..?
zlib가 정말 free하고 사용하기 적당했는거 같은데요..저도 게임
zlib가 정말 free하고 사용하기 적당했는거 같은데요..
저도 게임 리소스 관리자 만들때 가공된 현태의 RAW를 zlib를 써서 압축했죠..
압축율은 꽤 괜찮았던 것으로 기억합니다.
ㅡ_ㅡ;
댓글 달기