정의
런 렝스 부호화(Run‑Length Encoding, RLE)는 연속된 동일한 값(런)의 길이를 기록하여 데이터를 압축하는 무손실 압축 기법이다. 원본 데이터에서 같은 기호가 연속적으로 나타나는 구간을 “기호 + 반복 횟수” 형태로 변환한다.
원리
- 입력 스트림을 순차적으로 읽는다.
- 현재 기호와 동일한 기호가 연속해서 나타나는 횟수를 셈한다.
- 기호와 그 횟수를 순서대로 출력한다.
- 새로운 기호가 등장하면 2번 단계로 돌아간다.
예시(바이너리 데이터)
- 원본:
11111000→1 5 0 3(기호 1이 5번, 기호 0이 3번)
주요 특징
| 특징 | 내용 |
|---|---|
| 압축 방식 | 무손실 (복원 시 원본과 동일) |
| 적용 조건 | 동일 값이 연속되는 구간이 길수록 높은 압축률 |
| 장점 | 구현이 간단하고 연산 비용이 낮음 |
| 단점 | 데이터에 반복 패턴이 적을 경우 오히려 부피가 증가할 수 있음 |
| 사용 예 | 흑백 이미지(특히 팩스, 비트맵), 그림 파일 포맷(TIFF의 일부 압축 옵션), 텍스트 파일의 간단한 압축, 비디오 프레임의 색상값 연속 등 |
변형 및 응용
- Byte‑Oriented RLE: 하나의 바이트(8비트)를 하나의 기호 단위로 처리한다.
- Bit‑Oriented RLE: 비트 단위로 압축한다. 흑백 이미지에서 흔히 사용된다.
- PackBits: Apple이 정의한 RLE 변형으로, Mac OS의 일부 파일 포맷에 적용된다.
- 그룹화된 RLE: 한 번에 여러 채널(RGB 등)을 동시에 인코딩해 압축 효율을 높인다.
역사적 배경
런 렝스 부호화는 19세기 초 전신 통신 분야에서 연속된 신호를 간소화하기 위해 고안된 것으로 알려져 있다. 디지털 컴퓨터 시대에는 1960‑1970년대 초반부터 이미지 및 텍스트 파일 압축에 널리 활용되었다. 현재는 JPEG, PNG 등 고도화된 압축 알고리즘에 보조적인 전처리 단계로 사용되기도 한다.
표준 및 참고 자료
- ISO/IEC 10918‑1 (JPEG) – 일부 모드에서 RLE를 사용
- TIFF 6.0 Specification – “PackBits” 압축 방식 명시
- ITU‑T Recommendation T.4 – 팩스 전송에 RLE 적용
한계와 최신 동향
단순히 연속된 동일값만을 압축 대상으로 삼기 때문에, 랜덤하거나 복잡한 데이터에 대해서는 효과가 제한적이다. 최근에는 RLE을 사전 처리 단계로 활용하고, 이후 LZ77, Huffman 코딩 등 더 복합적인 알고리즘과 결합하는 하이브리드 압축 방식이 연구되고 있다.
요약
런 렝스 부호화는 동일한 데이터가 연속적으로 나타나는 구간을 길이와 함께 기록함으로써 간단하고 빠른 무손실 압축을 제공한다. 반복 패턴이 뚜렷한 바이너리·이미지 데이터에 적합하지만, 패턴이 적은 경우에는 효율이 낮다. 다양한 변형 및 하이브리드 형태가 존재하며, 현대 파일 포맷 및 통신 표준에서도 보조 압축 기법으로 채택되고 있다.