이미지 글리치 기법
이미지 글리치 아트를 생성하는 다양한 방법이 제시되었습니다.
-
직접 편집: 텍스트 또는 바이너리 에디터를 사용하여 파일을 직접 열고 내용을 수정하여 저장하는 기본적인 방법입니다. 이는 프로그래밍 지식이 없는 초보자도 쉽게 시도할 수 있습니다.
-
명령어 활용:
cat및sed와 같은 터미널 명령어를 사용하여 파일을 손상시키는 방법입니다. 이는 필요할 때 빠르게 글리치 이미지를 얻을 수 있는 실용적인 접근법입니다. - 루비 코드 작성:
- 몬키 글리치 (Monkey Glitch): 루비의
File.open과gsub을 사용하여 파일 내의 특정 숫자 값을 무작위로 변경하는 간단한 방법입니다. 그러나 이 방법은 헤더나 체크섬을 손상시켜 이미지가 완전히 표시되지 않을 수 있는 단점이 있습니다. - 안전한 글리치: 파일 포맷의 사양(예: PNG의 Zlib 압축 및 CRC32 체크섬)을 이해하고 이에 따라 데이터를 압축 해제, 글리치, 재압축, 체크섬 재계산하는 방식으로 안전하게 글리치 효과를 생성합니다.
- JPEG 헤더 글리치: JPEG 파일의 헤더 사양을 분석하여 특정 바이트만 변경함으로써 효과적인 글리치를 구현합니다.
- JPEG 인코더 글리치: 발표자가 직접 작성한 루비 기반 JPEG 인코더에서
zigzag스캔 순서를 섞어(shuffle) 압축 방식을 의도적으로 왜곡하여 독특한 글리치 효과를 만듭니다.
- 몬키 글리치 (Monkey Glitch): 루비의
- 새로운 루비 라이브러리
photoship(예정): 다양한 이미지 포맷을 열고 글리치한 후 다른 포맷으로 저장할 수 있는 유연한 루비 라이브러리가 개발 중임을 발표했습니다.
비디오 글리치 기법
비디오 글리치 아트는 비디오 파일의 구조적 특성을 활용합니다.
-
비디오 파일 구조: 비디오는 키프레임(I-프레임)과 차이 프레임(P-프레임)으로 구성됩니다. 키프레임은 전체 이미지 정보를 포함하고, 차이 프레임은 이전 프레임과의 차이점만을 저장하여 압축 효율을 높입니다.
-
데이터 모싱 (Datamoshing): 모든 키프레임을 제거하여 차이 프레임이 참조할 기준 정보를 잃게 만드는 기법입니다. 이로 인해 비디오가 의도치 않은 방식으로 왜곡되고 시각적 오류가 발생합니다.
-
avi_glitch루비 Gem: 발표자가 개발한 루비 라이브러리로, AVI 파일의 데이터 모싱을 쉽게 구현할 수 있습니다. AVI는 구조가 단순하여 글리치하기 용이하며, XVID 코덱을 통해 MPEG-4와 유사한 차이 프레임 메커니즘을 활용할 수 있습니다.avi_glitch.open(file).glitch(keyword: :keyframe) { nil }과 같은 코드를 통해 키프레임을 삭제할 수 있습니다.datamosh라는 CLI 도구도 제공되어 명령줄에서 손쉽게 데이터 모싱을 실행할 수 있습니다.- 여러 파일을 연결하여 데이터 모싱 효과를 확장하는 것도 가능합니다.