Allegorithmic 사의 Substnce 라는 제품군에서 나온 Redux 라고 하는 텍스쳐 압축툴을 연구중입니다.
간단하게 설명하자면, 이 프로그램을 이용하면 기존의 텍스쳐 (dds 압축) 보다 더 획기적으로 용량을 줄여준다는 툴이며,
이미 압축되어 있는 dds도 더 압축시킬 수 있다는 장점을 가지고 있습니다.
개요는 다음과 같습니다.
- 원본 파일을 준비합니다. dds도 상관없고, 비압축 파일이면 더 좋습니다.
- 전용 툴을 이용해서 압축율을 세부조정한 후, Redux의 전용 포맷인 .rdxh 파일로 저장해서 배포합니다.(용량이 작습니다)
- 패치 (혹은 클라이언트) 인스톨 시에 rdxh파일을 다시 dds로 풀어서 저장하거나 SDK를 이용 게임 내에서 직접 rdxh파일을 실시간으로 풀어서 사용하기도 합니다.
여기서 테스트 할 수 있는 부분은 2번까지이며, 3번은 프로그램 파트의 도움으로 진행해야 하는 관계로 테스트하지 못했습니다.
Redux테스트 1
| 원본 : 768kb TGA |
그리드 형태의 TGA로 테스트하였습니다.
테스트 결과

위 표의 내용설명입니다.
세로 항목
일반압축 : 일반 알고리즘을 이용해서 DDS로 세이브 했을 때의 용량을 의미합니다. 단순한 비교자료임
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 좋은 퀄리티입니다.
압축 0.5 : 해당 Redux 압축 알고리즘에서 중간의 퀄리티입니다.
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 나쁜 퀄리티입니다.(0은 없더군요)
가로 항목
Reduxmode 1 : 손실이 없는 압축방법입니다. 리덕스 알고리즘으로 압축하지만 압축 정도를 조절해도 큰 차이를 느끼지 못합니다. Reduxmode 2 : 약 40% 정도 압축해주는 알고리즘입니다. 속도가 3보다 빠른 편이고 압축율이 적은 편입니다.
Reduxmode 3 : 약 50% 정도 압축해주는 알고리즘입니다. 속도가 4보다 빠른 편이고 압축율이 보통인 편입니다.
Reduxmode 4 : 약 60% 정도 압축해주는 알고리즘입니다. 속도가 가장 느리며, 압축율이 가장 좋습니다.
Image difference : 이미지가 원본 이미지와 비교했을 때 얼마나 깨지는지를 나타내는 % 입니다. 작을수록 좋습니다.
테스트 결과
결론
일반 DDS 압축 알고리즘을 사용할 때와 비교하여 , Redux 무손실 압축을 사용하면 (파란선)
퀄리티 저하 없이 약 40%정도의 용량을 줄일 수 있음을 확인하였습니다.
또한 기타 Redux 알고리즘을 이용한 손실압축법을 사용하면, 퀄리티를 절반 이상으로 떨어뜨려야 dds 압축 이상의 용량절약 효과를 얻을 수 있었음을 확인하였습니다.
일반적인 경우라면 무손실 압축을 사용하는 것 만으로 충분한 결과를 얻을 것으로 보입니다.
* 맵 자체가 패턴식으로 구성되어 있어, jpg 압축 알고리즘을 사용하는 프로그램 특성상 비효율적인 이미지라 판단하여 또 한번의 테스트를 진행하였습니다.
Redux테스트 2
원본 : 48KB DDS

이미 한 번 압축되어 있는 DDS 파일의 실험 결과입니다.
위 표의 내용설명입니다.
세로 항목
일반압축 : 일반 알고리즘을 이용해서 DDS로 세이브 했을 때의 용량을 의미합니다. 단순한 비교자료임
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 좋은 퀄리티입니다.
압축 0.5 : 해당 Redux 압축 알고리즘에서 중간의 퀄리티입니다.
압축 1.0 : 해당 Redux 압축 알고리즘에서 가장 나쁜 퀄리티입니다.(0은 없더군요)
가로 항목
Reduxmode 1 : 손실이 없는 압축방법입니다. 리덕스 알고리즘으로 압축하지만 압축 정도를 조절해도 큰 차이를 느끼지 못합니다. Reduxmode 2 : 약 40% 정도 압축해주는 알고리즘입니다. 속도가 3보다 빠른 편이고 압축율이 적은 편입니다.
Reduxmode 3 : 약 50% 정도 압축해주는 알고리즘입니다. 속도가 4보다 빠른 편이고 압축율이 보통인 편입니다.
Reduxmode 4 : 약 60% 정도 압축해주는 알고리즘입니다. 속도가 가장 느리며, 압축율이 가장 좋습니다.
Image difference : 이미지가 원본 이미지와 비교했을 때 얼마나 깨지는지를 나타내는 % 입니다. 작을수록 좋습니다.
테스트 결과 표
결론
일반 DDS 압축 알고리즘을 사용할 때와 비교하여 , Redux 무손실 압축을 사용하면 (파란선)
퀄리티 저하 없이 약 40%정도의 용량을 줄일 수 있는 것은 1차 테스트와 동일한 결과를 나타내 주었습니다.
그렇지만 1차 테스트와 다른 점은, Redux 알고리즘을 이용한 손실 압축 포맷을 사용했을 때, 복잡한 구조의 이미지일 수록 그 효과가 커진다는 것을 볼 수 있습니다. 0.25 정도를 사용한다면 이미지 형태를 유지하면서 최대의 압축률을 가져갈 수 있을 것으로 보입니다.