jpg vs png 그리고 EPUB에서 사용할 수 있는 이미지

Tip&Tech 2017.08.24 11:03

전자책을 만들때 가장 많이 이용하는 태그 중 하나가 img입니다. img는 이미지를 삽입할 때 쓰는 태그예요.


전자책(EPUB2.0기준)에 사용할 수 있는 이미지는 4종이 있습니다. 웹브라우저에서 표시 되는 이미지면 사용해도 문제는 없지만  IDPF에서 권하는 이미지는 아래처럼 4종류예요. 가장 최신 문서인 EPUB3.0.1에서도 이 4종의 포멧은 반드시(must) 지원하도록 하고 있습니다. 


img/gif

img/jpg

img/png

img/svg+xml

http://www.idpf.org/epub/20/spec/OPS_2.0.1_draft.htm#Section1.3.7

http://www.idpf.org/epub/301/spec/epub-publications.html#sec-core-media-types


IDPF의 EPUB 문서를 보면 must나 should가 붙은 항목이 있어요. 이 항목들도 must가 붙어있습니다. 그래서 문서를 대충 보신 분들은 이 4개 포멧만 사용할 수 있다고 오해하시더라구요. 말 그대로 '오해'입니다. 이 포멧 외에도 bmp, tiff같은 다른 이미지를 사용할 수도 있습니다.


단!!! 뷰어가 지원을 하느냐에 따라 이 4가지 포멧 이외의 다른 이미지들은 뷰어에서 표시되지 않을 수 있습니다. 

무슨 말이냐~


IDPF의 Core Media Type은 EPUB 전자책 뷰어라면 반드시(MUST) 이 미디어 타입의 포멧을 표시할 수 있어야 한다는 가이드입니다. 그래서 표준을 지키는 EPUB 전자책 뷰어는 gif, jpg, png, svg를 제대로 표시해야 합니다. 그런데 EPUB3.0.1을 발표한 이후에 엄청나게 효율적인 이미지 포멧이 개발되고, 모든 디지털 카메라나 디지이너들이 이 포멧을 사용하면 어떻게 해야할까요?


IDPF가 표준을 수정하는데 시간이 오래 걸립니다. 그럼 표준을 수정하기 전까지 기다려야 하느냐? 아닙니다. IDPF의 문서는 최소 권고사항입니다. 반드시 이 '최소' 기준은 지켜야 한다는거지요. 그래서 뷰어 개발자는 이 4가지 포멧에 추가로 최신 이미지 포멧도 보이도록 뷰어를 개발할 수 있습니다. 물론 모든 뷰어가 최신 이미지 포멧을 지원하는건 아니기 때문에 일부 뷰어에서는 안보일 수도 있겠지만, 전자책을 통해 수익을 내는 유통사라면 IDPF의 권고안 + 새로운 기능을 추가하겠지요.


위 내용은 그냥 잊으셔도 되고, 어째든 현재 공식적으로 사용 가능한 이미지 포멧은 jpg, png, gif, svg 이렇게 4종류가 있습니다.


그런데 이미지마다 특성이 조금씩 다르다는거 알고 계신가요?


이 특성을 잘 활용하면 전자책을 보다 효율적으로 제작할 수 있습니다.


1. GIF

많은 분들이 전자책을 제작할 때 jpg나 png를 사용합니다. GIF를 사용하는 분은 별로 없어요. 왜 그럴까요?

그냥 습관적으로 남들 하니까... 해서 gif를 사용하지 않는 분도 계시지만 이미지 해상도 때문에 사용하지 않을거예요. 

gif는 8비트 256컬러만 지원합니다. 기술적인 문제(기술적으로는 24비트도 가능)는 떠나서 표준이 그렇습니다. 컴퓨터에서 사용 가능한 색은 1600만 컬러입니다. 여러분들이 FFFFFF하며 쓰는 색의 조합이 1600만개라는 얘기예요. 빨간색 256단계, 초록색 256단계, 파란색 256단계를 조합한게 FFFFFF예요. 그러니 256*256*256 가지 색을 표현할 수 있는거지요.


그런데 gif는 246가지 색밖에 표현을 할 수 없습니다. 이미지의 품질이 떨어질 수 밖에 없어요. 간단한 도형이나 이모티콘 같은 단순한 이미지는 압축율이 높아(파일 크기가 작아) gif가 효율적일 수 있는데 사진같이 복잡한 이미지는 제대로 색을 표현할 수 없습니다.


그럼 gif대신 jpg만 쓰면 되는데 왜 이 포멧을 계속 사용할까요?

gif는 강력한 장점이 있습니다. 이미지인데 몇초정도는 동영상 효과를 낼 수 있다는거지요. '움짤'이라는 인터넷 용어 들어보셨나요? 움직이는 이미지를 줄인 말인데 gif는 이미지 여러장을 파일 하나에 담아 영상처럼 움직이게 만들 수 있어요. 비교적 용량도 작고 동영상 플레이어 없이 이미지 뷰어(브라우저나 전자책 뷰어)로 바로 실행이 가능해 인터넷에서 많이 쓰입니다. 전자책에도 gif로 움직이는 이미지를 넣을 수 있어요. 전구에 불이 켜졌다 꺼졌다를 반복하는 이미지가 필요하다면 gif를 써야하지요.


2. svg

svg는 벡터 이미지 포멧입니다. 벡터 이미지는 좌표로 그림을 그려서 이미지를 확대해도 깨지지 않는 장점이 있어요.


https://upload.wikimedia.org/wikipedia/commons/0/02/SVG_logo.svg


svg파일을 메모장으로 열어보면 HTML같은 코드가 보입니다. 이미지처럼 보이지 않아요. 


<?xml version="1.0"?>

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-50 -50 100 100">

<rect id="background" x="-50" y="-50" width="100" height="100" rx="4" fill="#f90"/>

<rect id="top-left" x="-50" y="-50" width="50" height="50" rx="4" fill="#ffb13b"/>

<rect id="bottom-right" width="50" height="50" rx="4" fill="#de8500"/>

<use stroke="#f90" stroke-width="22.6" xlink:href="#a"/>

<circle r="26"/>

<use stroke="#000" stroke-width="12" xlink:href="#a"/>

<g id="a">

<g id="b">

<g id="c">

<circle id="n" cy="-31.6" r="7.1" fill="#fff"/>

<path d="m0 31.6v-63.2" stroke="#fff" stroke-width="10"/>

<use y="63.2" xlink:href="#n"/>

</g>

<use transform="rotate(90)" xlink:href="#c"/>

</g>

<use transform="rotate(45)" xlink:href="#b"/>

</g>

<path id="text-backdrop" d="m44.68 0v40c0 3.333-1.667 5-5 5h-79.38c-3.333 0-5-1.667-5-5v-40"/>

<path id="shine" d="m36 4.21c2.9 0 5.3 2.4 5.3 5.3v18c-27.6-3.4-54.9-8-82-7.7v-10.2c0-2.93 2.4-5.3 5.3-5.3z" fill="#3f3f3f"/>

<use stroke="#000" stroke-width="7.4" xlink:href="#s"/>

<g id="svg-text" stroke="#fff" stroke-width="6.4">

<g id="s">

<path fill="none" d="m-31.74 31.17a8.26 8.26 0 1 0 8.26 -8.26 8.26 8.26 0 1 1 8.26 -8.26M23.23 23h8.288v 8.26a8.26 8.26 0 0 1 -16.52 0v-16.52a8.26 8.26 0 0 1 16.52 0"/>

<g stroke-width=".5" stroke="#000">

<path d="m4.76 3h6.83l-8.24 39.8h-6.85l-8.26-39.8h6.85l4.84 23.3z" fill="#fff"/>

<path d="m23.23 19.55v6.9m4.838-11.71h6.9m-70.16 16.43h6.9m9.62-16.52h6.9" stroke-linecap="square"/>

</g>

</g>

</g>

</svg>


SVG도 gif처럼 색이 복잡한 이미지를 만들기는 어렵습니다. 하지만 확대/축소가 자유롭다는 큰 장점이 있습니다.

전자책에 '도면'같이 단순한 이미지를 넣는데 아주 디테일한 부분까지 표현을 해야되서 이미지 사이즈가 10000px이상 된다 하면 이럴 때 svg를 사용할 수 있습니다.


그리고 폰트에는 없는 글자를 넣을 때도 활용할 수 있어요. svg폰트는 진짜 폰트처럼 아무리 확대를 해도 깨지지 않기 때문에 이미지로 글자를 넣을 때 보다 깔끔해 보입니다. 다만, svg로 글자 모양을 만드는게 쉽지 않다는 단점이 있지요. 


그리고 svg는 html같은 코드로 되어 있기 때문에 애니메이션 표현이 가능합니다. IDPF에서 제공하는 EPUB3 샘플 중 Tree라는 샘플이 있는데 svg로 프랙탈을 이용해 나무를 표현했어요. 


지금 당장은 쓸 일이 없는 포멧이지만 EPUB3가 활성화 되면 아주 많이 사용하게 될 이미지 포멧입니다.


4, 5. JPG vs PNG


이 내용이 핵심인데 엄청 길게 돌아왔네요.


많은 분들이 전자책에 이미지를 넣을 때 jpg나 png 파일을 사용할거예요.

이 두포멧을 생각 없이 사용하셨다면 앞으로는 특성을 살려 사용해 보세요.

jpg와 png는 아래같은 장단점이 있습니다. 둘을 정밀하게 비교한건 인터넷에서 찾아보시고, 여기서는 전자책 제작에 필요한 장단점만 정리하겠습니다. 


 구분

 jpg

 png

 장점

용량이 작다

용량 대비 이미지 품질이 좋다

투명한 배경이 가능하다

무손실 압축을 한다

 단점

이미지 손실(품질저하)문제가 있다

투명 배경이 불가능하다. 

용량이 크다


jpg와 png는 작은 아이콘부터 고품질 사진까지 다양한 이미지를 표현할 수 있습니다. 둘 다 이미지 품질이 좋지요.


그런데 jpg는 용량이 작습니다. 비슷한 품질의 png파일과 비교하면 5~10배정도 용량이 더 작습니다. 3Mb짜리 png 이미지를 비슷한 품질의 jpg로 만든다면 0.3Mb까지 용량을 줄일 수 있다는 의미지요.


png 3Mb짜리 이미지가 100장 들어간 전자책이라면 용량이 300Mb를 넘게 되는데 이미지를 jpg로 변경하면 최소 30Mb까지 줄어들 수 있습니다. 물론 이론상의 수치라 좀 더 크겠지만, 50Mb ~ 100Mb까지는 줄일 수 있지요.


용량이 이렇게 차이나면 PNG보다 JPG가 좋은거 아닌가?


JPG는 PNG와 비교했을 때 두가지 단점이 있어요.


첫째는 '손실 압축'이라는 거예요. 기술적인 설명 빼고, 이미지 용량을 줄일 수록 이미지 품질이 심하게 떨어진다는 정도로 이해하면 되요. 그래서 이미지 품질이 정말 중요하고, 전자책을 보관용으로 만든다면 JPG보다는 PNG가 좋습니다.


예를 들면, 제가 전자책을 제작할 때 2개 파일을 준비하는 경우가 있어요. 여행서 처럼 고품질 이미지가 많은 책은 이미지 원본을 그대로 담은 보관용 전자책과 이미지 용량을 줄인 유통용 전자책을 만들어 제공합니다.


이미지 원본을 그대로 담으면 EPUB파일이 1Gb를 넘기도 해요. 이를 유통용으로 압축하면 100Mb 밑으로 용량이 줄어듭니다. 왜 원본 파일을 보관해야 하는지는 설명 안해도 되겠지요? 이럴 때 JPG보다 PNG파일이 좋습니다. PNG는 무손실 파일이기 때문에 나중에 이미지를 다시 편집해야 할 때 JPG보다 좋아요.


두번째는 배경색입니다.

JPG는 배경을 없앨 수 없어요. 배경색이 필요 없으면 보통 흰색으로 배경을 두지요.  바탕화면이 흰색이면 문제가 없는데 바탕화면 색이 바뀌면 문제가 생기지요. 

바탕화면 색이 바뀔 일이 있을까요?

당연히 있지요. 뷰어에서 사용자가 바탕색을 마음대로 변경할 수 있습니다.


아래 이미지를 보세요..

같은 이미지인데 왼쪽은 jpg이고 오른쪽은 배경색을 투명으로 한 png입니다. 이미지를 편집하면서 여백도 없애 png 이미지가 좀 더 커보이지만 둘은 같은 이미지예요. png 파일은 


바탕색이 흰색일때는 아무 문제 없지만 바탕색을 넣는 순간 png의 투명 배경과 jpg의 차이를 확인할 수 있습니다. 



* 이 이미지는 '강같은평화' 출판사의 '아빠가 들려주는 성경태교동화' 목차 부분에서 발췌했습니다.


투명배경의 쓰임은 아주 다양합니다. 위에처럼 본문에 배경색이 들어갈 때 이지의 배경을 맞추지 않아도 되고, 사용자가 뷰어 배경색을 바꿔도 자연스럽게 보입니다. 


이미지로 글자를 넣는 방법을 설명드린 적이 있는데(http://www.epubguide.net/231) 이때도 이미지 글자의 배경을 없애면 진짜 글자와 구분이 가지 않을 정도로 자연스러워집니다.



JPG와 PNG는 각각 장단점이 있습니다.

JPG는 용량이 작아 사진이 많이 들어간 전자책이라면 JPG를 사용하는게 좋아요.

PNG는 손실이 없어 보관용 전자책을 만들 때 좋고 배경색을 없앨 수 있어 책에 배경색이 들어가거나 독자가 배경을 바꿨을 때 자연스러워 보입니다.


전자책 용량을 줄이거나 배경 편집시 자연스러운 이미지 삽입을 원할 때 이 두가지 특성을 잘 활용하면 도움이 될거예요.



설정

트랙백

댓글


티스토리 툴바