JPEG 헤더에서 불필요한 정보 제거

Posted at 2009/01/05 16:45 // in Note/ETC // by drDorothy
어제 미국에 있을때 찍었던 사진들을 백업하려고 DVD에 구우려 했는데..
딱 100메가 때문에 모두 넣을수가 없었다..

크기를 줄이려니.. 가슴이 아프고..
잘못 찍힌 사진들은 이미 다 골라내서 지울 사진도 없었다..

계속 생각하다가!!..
디카로 찍으면 무조건 따라붙는 JPEG 메타정보가 기억이 났다..!!

뭐 고민할거 있는가..

메타정보만 다 지워도 어느정도 용량확보가 되리라 확신을 하고..
관련 자료를 이리저리 뒤지다 여럿 비슷한 프로그램을 발견했는데..
모두 설치를 해야하는것 아닌가..!!

내 컴퓨터를 레지스트리의 오염과 잡다한 프로그램들로부터 지켜주기위해서..
내가 직접 만들기로 마음먹었다..

덕택에 JPEG 파일구조를 머리에 깨치게 되었다.. ㅡ_ㅡ;..
뭐.. 생각보다 간단했기에 만들기는 금방 만들었다..
(어차피 지우는게 목적이라 세세한건 볼 필요가 없었다..)

혹시 필요한 사람이 있을까봐 소스도 함께 첨부해 주는 센스..
(실행방법은 그냥 JPEG파일 끌어다가 exe파일위에 떨어뜨리면 됨..)

그냥 메타 정보만 지우는거라..
화질에는 눈꼽의 4759분의 1만큼의 영향을 준다..
여기서 더 무언가를 지우고 싶다면..
각종 추가 예약영역들 (윗쪽의 0xE1, 0xED, 0xEE 모두 예약영역임) 을 지우면 된다.

0xFF E0 - 0xFF EF (APPn) 어플리케이션 예약영역
0xFF F0 - 0xFF FD (JPGn) JPEG 확장 예약영역

여러말 하면 잔소리고.. 일단 작동 결과를 눈으로 확인해 보자..

사용자 삽입 이미지

저작권법에 안걸릴 직접찍은 사진..


이 사진의 원본 용량은 46.5kb..
이걸 드래그해서 컴파일한 exe파일 위에 떨어뜨리면..
.jpg가 하나 더 붙은 사진이 나온다..
그 사진의 용량은 29.7kb..

맙소사~ 많이도 줄었내~
(작은 파일이라 비율이 좀 사기성이 짙지만..)

사용자 삽입 이미지

비율은 믿으면 안됨..


실제론 카메라마다 저장하는 잡정보의 크기가 비슷비슷해서..
별로 안줄어든다 ㅡ_ㅡ;;..

아무튼..
난 백업에 실패했다.. ㅡ_ㅡ;;
줄어들긴 했는데.. 그래도 부족했다..

그래서..
동영상파일을 재인코딩했다 ㅡ_ㅡ;;..
(진작에 이렇게 할껄..)
2009/01/05 16:45 2009/01/05 16:45