책을 스캔하면서...

연습 2015. 10. 17. 14:04

 공간을 많이 차지한다고 책을 없애기 위해서, 책을 스캔하고 있다.

 스캔하는데 느낀점은 뒷쪽에 비춰진다는 것과 책이 제대로 펼쳐져야되는데, 오래되지 않은 책은 잘 안펴진다는 점이다.(잘 안펴져서 책의 거슬리는 점이 있다는 점을 보면...)


 그래서 영상처리를 배워야 될 것 같다.


 영상처리를 대충 배웠는데, 이번 기회에 제대로 배워질지도 모르겠다.

Posted by JunkMam
,

 현재, 집에서 쓸데없는 책(억울하다. 집에서 내 물건들은 내가 아버지 다음으로 가장 적게있다!)과 물건들을 다 치우라고 뭐라 들었다.


 CD에 있는 데이터를 백업하여 DVD로 옮기고, 책을 DVD로 옮긴다고 해도, 문제는 DVD로 바꾼 데이터는 책자로 만든 데이터보다 안정성이 떨어진다.

 그렇다고 책을 가지고 있자고하니, 공간을 차지하는 걸 줄이라고 하니...(분가한 누나의 책을 없애봐라. 모자란 공간이 남아도는데, 빌어먹을...)

 무튼, 최대한 데이터를 유지하면서 공간을 줄이는 방법으로 DVD(전자화)를 시키는걸로 할려고한다.


 지금 생각하는 방법으론, DVD로 말곤 없다고 생각했지만, 다른 방법을 생각해봤다.


 QR코드와 BASE64는 어떨까 생각한다.

 BASE64는 문자로 표현이 가능한걸로 변환하기 때문이다. 문자는 곰팡이가 펴도 읽을 수만 있으면 됀다.

 문자를 읽을 수 있다면, 그대로 타자를 친 후에 변환 프로그램으로 변환을 하게되면, 데이터를 그대로 얻을 수 있다.(BASE64의 원래 목적은 데이터를 그대로 문자로 표현하는 방법이다.)


 QR코드는 바코드형태를 2차원으로 표현한 것이다.

 바코드는 검은바와 흰색의 차이로 데이터를 만든다. 하지만, 최대 표현할 수 있는 능력이 제한되며, 데이터가 손실되기 쉽다는 특징이 있다고한다.


 하지만, QR코드는 2차원으로 1차원 바코드보다 데이터 표현량이 커진다.

 이걸 이용해서 DVD에 대한 데이터를 넣을 수 있다면, 안전한 데이터표현법이 되지 않을까 생각이 든다.


 하지만, 해보지 않아서 정말 가능한지 모른다. 그리고 DVD가 4.7Gb가량이 된다고 하면, QR코드는 고작 8bit는 2953Byte 가량 밖에 안되기 때문이다.

Posted by JunkMam
,

 집에 도배, 도장, 장판등 작업한다고, 개고생하고 컴퓨터 말아 먹었다.

 더 짜증나는 것은 내 책을 다 없애야된다는 점이다.

 CD도 다 없애라는 말 듣고 와서 지금 CD도 빽업 할 예정이다.


 조사해보니, 2004년부터 2014년에 항상 말하는 300Gb 저장되는 광디스크를 개발되는 중인데, 왜 상용화 못하는지 모르겠다.


 무튼, 그래서 관련 포스팅을 못할 것 같다.

Posted by JunkMam
,

 개인적으로 궁금한 점이 생겨서 구글 포토스에 이것 저것 시켜봤다.


 포스팅에서 75Mb까지 사진을 지원해준다고 한다.

 그래서 궁금해서 BMP(Not Compress)로 64Mb 파일을 강제로 만든 후(그림판으로 흰색 단일 처리로 순수 Pixel로 처리) 올려 봤다.

 처리가 빠르길래, 한번 보니, BMP가 JPEG로 변환하는 상황일 발생하였다.

 순수한 파일이 아니라는 뜻이기도 하면서, 75Mb를 제대로 지원해주지 않는 말이 되기도 한다.

 75Mb을 제대로 지원 받을려면, PNG로 변환 하는 방법 말곤 없다.

 그런데, 웃긴 이야기는 전체 픽셀을 1600만화소라는데

 1600만화소를 제대로 지원해줄려면,

 2048x7168 이상은 가야된다.

 그런데, 2048x7168을 순수 BMP으로 맞춰서 만들어내면, 10Mb에서 20Mb가량 밖에 안된다.

 

 과연, 75Mb는 어디에서 나오는 수치이란 말인가?


 모든 실험은 BMP 24bit에서 이루어진 실험입니다.

Posted by JunkMam
,

 어제 테스트해서 보니, 압축 방식을 어떻게 하느냐에 따라서 압축률이 증가한다는걸 알아 냈다.


 답은 TAR로 한번 폴더와 파일을 한 파일로 몰아 넣은 후에 압축하면, 상대적으로 엄청 많은 압축률을 보여준다.


 ZIP이나 ZIPX는 압축률이 높은 알고리즘을 사용한다.

 특히, ZIPX는 최근에 발전된 방식의 압축 방식이다.

 여기서 ZIP과 ZIPX의 공통점은 LZ77을 이용한다는 점이다.(ZIP은 DEFLATE, ZIPX는 LZMA)

 여기서 압축률이 가장 높은것은 LZMA이다.

 그런데, LZMA의 압축률이 높은 것은 LZ77의 사전의 크기가 크기 때문에 그런 것이다.


 LZ77의 사전 크기는 압축률을 뜻하고.

 사전를 빠르게 탐색하는 것은 압축 속도를 높이는 장치이다.


 즉, 검색 알고리즘이 발전하면, 압축속도가 높아진다.

 사전 크기(저장하는 데이터)가 커지면, 압축률이 높고, 이 사전에 검색을 빠르게 하는 알고리즘을 적용하면, 빠르고 압축률이 높은 알고리즘이 생긴다.


 일단, ZIP은 LZ77의 최대 사전 크기가 32kb이다.

 하지만, ZIPX는 LZ77의 최대 사전 크기가 4Gb이다.


 그래서 LZMA(LZ77의 사전 크기가 4Gb)가 압축률이 가장 높다.


 그럼, 왜 TAR을 했던것과 그냥 하는 것과 압축률이 엄청 차이나는가?


 TAR을 이용하여, ZIPX을 적용하면, 사전을 전부다 적용 시킬 수 있기 때문이다.


 ZIPX는 각 파일마다 LZMA 압축을 하기 때문에 제대로된 압축이 되지 않는다.


 7Z는 TAR처럼 한번 압축을 거치기 때문인지 ZIPX보다 압축률이 높을때가 높다.

 TAR+ZIPX을 한것과 비슷하거나 조금더 압축이 된다.

 그래서 7Z을 사용하거나 TAR+ZIPX을 쓰는게 더 이득이다.

Posted by JunkMam
,

 현재, 테스트 해본 소스에서 단일 처리가 빠르다.


 파일에서 추출하고, 다중 처리하기 위해서 데이터를 분할하는 과정이 있어서인지 오히려, 다중 처리가 단일 처리보다 느린 점을 보였다.


 다른 사람들은 어떻게 하는가 설명을 보니, 큐 구조를 이용해서 자료를 저장하고, 그 데이터를 각 스레드에 연결해서 큐을 추출해서 처리하는 방식을 취한다고한다.


 나는 그냥 각 변수에 연결하는 방식이기 때문에, 그 변수가 종료 될때까지 멈춰있는 문제점이 있었다.

 그래서 다중 처리자가 늘수록 빠르게 작동은 되지만, 단일 처리보다 못 미치게 되는 것 같다.


 자료 구조가 중요하다는 걸 깨달은 날이다.

'연습' 카테고리의 다른 글

- 잡소리 - 압축 프로그램 이용 방법  (0) 2015.10.07
Google Brotli - Brotli.exe -  (0) 2015.10.06
base64 -1 : base64 응용 -  (0) 2015.10.04
base64 - 0 : 이론 -  (0) 2015.10.03
OpenCL 프로그래밍 공부 -시작-  (0) 2015.10.02
Posted by JunkMam
,