전자책 eBook 특강
전자책 표준 ePub 그리고 전자책 디바이스
2009. 9 (주)한글과컴퓨터 연구 개발실 남동선
특강 내 용
전자책이란 무엇인가?
전자출판 산업
전자출판 성공 사례 ePub
표준• OCF (Open Container Format)
• OPF (Open Packaging Format)
• OPS (Open Publication Structure)
정리전자책에 대한 일반적인 내용과 주요 기술
전자책이란 무엇인가 ?
“ 전자책 이라는 용어 ”
eBook
• Electronic Book (generally)
• Electric Book
• e <- electr-
•
예전에는 소프트웨어 까지 포함된 형식을 말하기도 함.
dBook (today’s view – digital format)
• Digital Book
• Ex ) Digital Talking Book (DAISY)
“ 전자책 의 역사 ”
초기 전자책 특정 영역의 일부 독자 대상
유통이 가능한 문서 형식을 통한 대중화
• Adobe 등 주요 소프트웨어 업체의 지원 - 1993년 최초 출시
- 현재 PDF 1.7 ISO/IEC 32000-1:2008 국제 표준
• Open Source 개발자들의 지원 (각종 무료 Viewer)
2000년 열린 제52회 프랑크푸르트 국제도서전 : 50 여 개국 2,000개 출판사가 전자출판물 소개
2005년 Amazon 의 Mobipoket 인수
2006년 Sony e-ink 기반의 Sony Reader 전용 단말기 출시
2007년 Amazon 의 Kindle 시판 (미국), 네오럭스 NUTT 출시 (한국)
2008년 소니-어도비(DRM, Reader공유), Kindle2 출시
2008년 하반기 미국 대학 출판사 – Amazon Kindle 용 textbook 제공
2009년 Kindle DX 출시, 교보문고 전자책 단말기 출시, 아이리버
“ 전자책 문서 형식 별 특징 ”
형식 확장자
DRM
지원Image
지원
정렬 지원
(text
wrap)
개방된 형식 주석 포함일반
text .txt × × ○
국제 표준○ ×
HTML XHTML
.htm;.html
.xhtml × ○ ○ ○
국제 표준
×
EPUB .epub ○ ○ ○
○ IDPF(
Defacto
)
×
Amazon
Kindle .azw ○ ○ ○ × ×
Portable
Document .pdf ○ ○ × ○
국제 표준
○
Mobipocket .prc;.mobi × ○ ○ ○
HTML+OPF ×
PostScript .ps × ○ × ○
개방 형식
×
위 표에서 주석 정보를 포함하는
eBook
형식은 거의 없다.
표준 기반
EPUB, XHTML
에 주석을 추가할 수 있는 방안이 있다면?
그리고 간략한 예는?
“ 전자책 의 (De Facto) 표준 ”
De Facto –
사실상(by fact)
라는 의미를 갖는 라틴어•
법률에서는 어떤 사안에 대해 적용할 관련 조항이 없는 경우 보편적인 기준•
어떠한 제한이 없는 상황에서 일반적으로 생성되고 활용되고 있는 표준이나 기술 을 의미
전자책 형식의De Facto
표준: ePub +
자체DRM
• ePub
HTML -> XHTML (
콘텐츠 표현)
XML-> OPF, OPS (
구조적 정보 표현)
“ 전자책 ePub ” 표준 활용 예
Software
• Adobe Digital Edition – InDesign - Desktop
• I2Reader - eBook reader for the iPhone
• Aldiko – Android SmartPhone Application
• Stanza - iPhone, windows Application
•
아래한글ePub Plug-in (
지원 예정)
•
구글 전자책 서비스(ePub
제공)
•
교보문고, SK
텔레콤 등 전자책 서비스-ePub
제공 예정 Hardware
•
인터파크 전자책 단말기(
출시 예정)
•
소니 전자책 단말기 리더(
전 모델)
•
애플iPhone
•
네오룩스 누트(1,2)
• Android
기반의 모바일 폰전자출판의 산업 동향과
기술 동향
전자출판 산업
전자출판 산업의 기술 동향
전자출판 산업 필요 기술
• 전자책 표현 (Presentation) 기술
• 뷰어 /OS (Viewer/Reader) 기술
• 전자책 저작 (Authoring) 기술
• 전자책 단말 (Hardware Device) 기술
• 전자책 유통 (Distribution) 기술
?
?
?
?
퀴즈
:
전자출판 산업이 움직이기 위해 필요한 기술은 어떤 것이 있을까요? –
맞추면 선물이~
?
전자책 표현 기술
초기
• Text, Html 등 Plain or Hyper Text 기반의 문서
• 독자적인 자체 형식 (PDF, Flash)
• 콘텐츠 자체 + 구동 소프트웨어 통합 전자책
~ 현재
• 표준화를 통한 개방형 전자책 형식 채택
OEB(Open e-Book Standard)
• 한국은 2002 년 한국전자책컨소시움 – KS X 6100 제정
• 최근에는 OEB 기반한 ePub 을 채택 ( 전자책의 논리구조 포함 : 제 목 , 장 , 절 , 문단 , 저자 등 )
전자책 표현 기술은 개방성을 위해
XML
형식이어야 하며 상호운용성,
공개성,
응용성 및 저작권을 보호할 수 있는 보안 기술등이 잘 조화를 이룰 수 있어야 한다.
* KS X6100
의 경우 국내 업체들의 채택율이 낮고 채택하더라도 상호 교환 가능성 없음.
뷰어 /OS 기술
전자책을 읽을 수 있도록 지원하는 소프트웨어 기술
• 사용자 편의성을 고려한 화면 구성 기술
• 폰트 랜더링 기술 (MS 의 ClearType 기술 등 )
• 기타 편의 정보 연동 및 제공 기술 ( 다양한 형식의 콘텐츠 제공 – News, We ather 등
전자책 뷰어를 구동시킬 수 있는 실행 환경 – OS
• 다양한 OS 에 다양한 전자책 뷰어 존재 (Windows, MacOS, Mobile Wind ows, Linux, PalmOS 등 )
• 현재 출시되는 전용 Device 의 경우 Linux 기반의 OS 채택이 대부분 (Lin
ux + Custom Hardware Device)
저작 기술
기존 출판 환경•
저자-
내용 작성 ▶ 출판사–
책의 구성과 배치,
표지 작업 ▶ 인쇄소–
인쇄 ▶인쇄된 책의 유통
•
저작 주체-
출판사
전자책 출판 환경•
저자–
내용 작성 ▶ 저자,
출판사,
유통업체-
책의 구성과 배치,
표지 작업 ▶표준 형식으로 작성된 전자책
(ePub)
유통•
저작 주체–
저자,
출판사,
유통업체
주요 요구 기술• XML
처리 기술(Metadata, MathML, SVG, DOM, SMIL
등)
• XHTML
편집,
표현 기술(
스타일 처리 기술- CSS)
•
멀티미디어 콘텐츠 처리 기술(
동영상,
음악,
음성 등)
•
압축 처리 기술(zip)
저작 기술은 제한된 단말환경 하에 표현 가능한 전자책 콘텐츠를 쉽게 작성할 수 있도록 하는 기술 저작 기술을 통해 작성된 전자책 콘텐츠는
One Source – Multi Use
가 가능해야 함.
단말 기술
전자책 단말기 구성 요소
• 하드웨어 기술
• 뷰어 / 플레이어 소프트웨어 기술
• 하드웨어 구동 디바이스 드라이버 및 OS ( 전용 Device 의 경우 Lin ux 활용 )
기타 구성 기술
• 전자사전 ( 한영 , 영한 사전 연동 기술 )
• 폰트 데이터 및 렌더링 기술
• 터치 기술 ( 주 사용자 인터페이스 )
• 디스플레이 기술 (E-Ink, LCD 등 )
• Networking 기술 ( 다양한 웹 /CMS 연동 방법 필요 )
퀴즈
:
전자출판 산업이 움직이기 위해 필요한 기술은 어떤 것이 있을까요? –
맞추면 선물이~
유통 기술 동향
전자 출판물의 유통을 위한 필요 기술
• 전자책용 식별 체계
ISBN : 국제표준도서번호
ISSN : 국제표준연속간행물번호
DOI(Digital Object Identifier) – 저자권, 로얄티
• 메타데이터
유통 메타데이터
ONIX (ONline Information eXchange) – 출판 상품 정보와 유통 정보 메타데이터
KORMARK (KOrean MAchine Readable Cataloging) – 문헌정보자동화목록법
KORMARC ONIX ↔ 변환표 – 출판유통진훙원 제공
• 디지털 저작권 관리 (DRM기술)
디지털 콘텐츠 유통 전반에 가장 중요한 기술
한국 전자출판 산업 성장의 최대 걸림돌
각 전자책 개발사, 유통사마다 다른 표준(자체표준 포함) 활용으로 상호 운용성 없음
퀴즈
:
전자출판 산업이 움직이기 위해 필요한 기술은 어떤 것이 있을까요? –
맞추면 선물이~
Download파일관리 Sync 관리
Sound
뉴스
검색 viewer
사전 TTS 잡지
단말기 인증 Device
Identifier
User ID
DRM (암호화/인증키) Contents
DRM + ePub
Content 관리 시스템
DB Stor-
age
인증/구매
Download 전송 (구매연동)
전자책 유통 시스템 - DR M 활용 예
DRM
주요 키애플
iPhone
아마존Kindle
전자출판 성공 사례
OS X
기반 플랫폼으로PC
부터iPod, iPhone
등Personal Device
에 대한 매출 확 대를 궁극적 목표로 지향 HW
- 3G i-Phone의 Enterprise/Global 향 판매 확대 - 신규 제품 출시 : Tablet PC 예정
SW
- Application 강화 : iTunes의 ‘App Store’ 런칭
Service
- online : iTunes
- offline : Apple Store & Genius Bar에서 고객지 원
Apple does not make much money selling music on iTunes.
The goal is to "sell iPhones“.
Steve Jobs. International Herald Tribune, July 10, 2008
해 외 성공사례 1 ) Appl e i P h o n e
2009
년2
분기iPhone
판매 전년대비375 % 증가
2009 년4 월 ~7 월
eBook 사용자300%
Smartphone sales outnumber Mobile phones - Gartner's 2009 Q2 mobile phone report
단말기 판매를 통한 컨텐츠 판매 증가
(
컨텐츠+
단말기+
유통)
해외 성공사례 1) Apple iPhone
해 외 성공사례 2 ) Am a z o n Kindl e
Amazon은 Kindle 출시와 함께 Mobile 영역 진입으로 MVNO-Device-Contents 를 통합한 end-to-end service 제공 ’08년 Kindle의 Sales는 약 38만대로 전망되며, ’09 년 93만 대,
’10년 4백 만대 이상으로 성장할 것으로 예측됨
- ’07년 기준 55억 달러 규모에 이르는 대학생용 e-Book 시장 적극 추진으로 Sales Drive
- 현재 Princeton, Yale 및 Oxford 대학 e-Book 채택 하고 있음
킨들의 경쟁력 및 차별화 포인트
- 경쟁사의 Online D/L Model 대비 무선 접속 및 D/L (Data
Traffic 및 별도서비스 가입이 필요 없음)
- Newspaper, Magazine and Blog Contents 제공
- 19만 건의 Book Contents (vs. Sony Digital Reader 4만건)
- 256 MB Internal Memory 및 4 GB SD 외장 Mem- ory 확장
Contents
중심에서Device
와 결합한 서비(
네트웍+
컨텐츠스+
단말기+
유통)
해 외 성공사례 2 ) Am a z o n Kindl e
현재 전자책 단말기의 장단점에 대한 자유 토론
그리고 휴식
ePub Container (OCF) ePub Package (OPF) ePub Publication (OP
S)
ePub 표준
ePub 표준 구성
It’s completely open and free standard
(International Digital Publishing Forum : IDPF) ePub 을 구성하는 주요 Spec.
Open Container Format (OCF) 1.0
zip 형태의 물리적 저장
ePub 을 구성하는 파일들의 논리적 구성 정보
Open Packaging Format (OPF) 2.0
ePub 을 구성하는 다양한 요소들의 유기적 관계
추가적인 구조정보 포함 (Structure)
의미정보 포함 (Semantics)
Content 에 대한 목차정보 포함 (NCX – from DAISY)
Open Publication Structure (OPS) 2.0
내용 (Content) 을 표현하기위한 수단 정의
내용을 위한 요소 (markup files, images, navigation structure)
출판 관련 Metadata 제공
Reading Order 정의
Fallback 정보 ( 동일 내용의 다양한 형식 제공 시스템 )
ePub 표준의 기 본 구조
• Container
포함 주요 정보• Metadata – metadata.xml
• ODF 1.1
표준에 따름• ONIX
(ONline Information eXchange)
유럽,
영국,
출판 산업 협회,
미국 도서 스터디 그룹, Australia,
Canada, France, Germany,
Italy, the Netherlands, Norway, Spain, Republic of Korea
사용자 그룹.
• Digital Signatures – signatures.xml
• W3C – XML Signature Syntax and Processing
표준에 따름• Encryption – encryption.xml
• W3C – XML Encryption Syntax and Processing
표준에 따름• Rights Management – rights.xml
•
현재는 표준화되어 있지않으며 생성 툴에 따라 자체 표준에 따름ePub 콘텐츠 구성
일반적인 전자책 디바이스용 메인 콘텐츠 문서로 활용
(TOC 정보 및 전자책 메타데이터 제공 )
• TTS (Text to Speech)
• NCX 연동을 통한 정보접근소외자 지원
물리적 논리적묶음 생성 표준
O p e n C o n ta in e r Fo rm at
ODF 표준의 목적
용도
• 추상적 , 논리적 관계 속 파일들을 하나의 물리적인 표현법으로 통합 (Zip Archive)
목적
• 전송의 용이성 확보
• 관리의 용이성 확보
• 접근의 용이성 확보
• Single-file 형태의 활용 단위
• 다양한 형식의 콘텐츠 제공 (alternate rendition)
ODF 생성 조 건
모든XML
파일은Well-formed
이며, XML 선언
포함
모든XML
파일은XML 1.1 spec.
과 호환
모든XML
파일은UTF-8 또는 UTF-16
인코딩
모든XML
파일에 포함된MIME
형식XML
표준 적합추 상적 컨 테 이 너 와 물리적 컨 테 이터
추상적 컨테이너 :
컨테이너가 포함하는 콘텐츠의 파일 시스템 모델을 정의
물리적 컨테이너: 추상적 콘테이너의 물리적 명시정보 보관
• File System Container : 추상적 컨테이너를 특정 OS
하의 스토리지 파일 시 스템으로mapping
• Zip Container : 추상적 컨테이너 mapping
정보를Zip
압축한 컨테이너추 상적 컨 테 이 너 예
Abstract Container META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters …
파일시스템 컨 테 이 너 예
File System Container
… Some directory within the file system…/ (windows, MacOS etc) META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters …
Zip 컨 테 이 너 예
Zip Container –
추상적 컨테이너 정보를Zip
컨테이너에 저장mimetype
META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters …
압축파일각 구성 요소간의 연관관계
Abstract Container META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters …
Container.xml
Great Expectation- s.opf
Cover.html Chapers/chapter01.html
Al te rn ate Re ndi t i o n 방법
( f a ll back 개 념 )
Abstract Container META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters
…
Abstract Container META-INF/
container.xml [manifest.xml]
[metadata.xml]
[signatures.xml]
[encryption.xml]
[rights.xml]
OEBPS/
Great Expectations.opf cover.html
chapters/
chapter01.html chapter02.html
… other HTML files for the remaining chapters …
PDF/Greate Expectations.pdf
<?xml version="1.0"?>
<container version="1.0“ xmlns=“…opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/Great Expectations.opf" media- type="application/oebps-package+xml" />
</rootfiles>
</container>
<?xml version="1.0"?>
<container version="1.0“ xmlns=“…opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/Great Expectations.opf" media- type="application/oebps-package+xml" />
<rootfile full-path="PDF/Great Expectations.pdf" media- type="application/pdf" />
</rootfiles>
</container>
“mimetype” – application/epub+zip
“META-INF”
는 루트에 존재하며 예약된 이름으로 반드시 사용“container.xml”
예약된 이름으로META-INF
에 존재OP TI O NAL 구성 요소
META-INF/manifest.xml
• ODF 1.0 manifest
META-INF/metadata.xml
• Container와 연관된 metadata 포함
META-INF/signatures.xml
• W3C xmldsig-core-20020212 표준 사용
• Signatures.xml 파일은 제외
META-INF/encryption.xml
• W3C xmlenc-core-20021210 표준 사용
• Container 내의 어떤 콘텐츠든 encryption 가능
• Enctyption.xml 은 제외
암 호화 제 외 대상 구성 요소
mimetype
META-INF/container.xml
META-INF/manifest.xml
META-INF/metadata.xml
META-INF/signatures.xml
META-INF/encryption.xml
META-INF/rights.xml
OEBPS rootfile (package file)
ZI P 기술 활용 방법 ( . e p ub)
○ 여러 파일로 분할되어 압축 불가
○ZIP 압축 파일 내부에는 Flate compressed 파일이나 압축되지 않은 파일만 존재
○ZIP 형식에 정의되어 있는 encryption 특성 사용 불가
○ 뷰어는 ZIP 형식에 외부 파일 속성 및 추가 필드 정보 유지 불가
○ZIP file header table 의 version 필드는 10, 20, 45 값만 설정
○ZIP file header table 의 compression 필드는 0, 8 값만 설정
○ZIP file 내부에 Archive decryption header나 Archive extra data record 존재 불가
○ZIP 내부에 “mimetype" 이라는 이름으로 epub의 mimetype을 나타내는 아스키 파일이
존재
○ 설명된 제약사항을 준수하는 경우 아래와 같이 38이 라는 매직넘버를 활용 가능 “
○ PK” 가 ZIP 파일의 시작 부분에 나타난다. “
○ mimetype”은 시작에서 30byte offset 부분에 나타난다.
○MIME type(“application/epub+zip”)은 zip 파일의 38 byte offset 부분에 나타 남
제약사항
필수 사항
mimetype
활용 방 법다음시 간 내용
Open Packaging Format
Open Publication Structure
ePub
작성에 활용가능한 소프트웨어 소개
정리Thank you!
T o d a y’s h o m e w o r k
○ 자신만의 ePub 구성을 위한 콘텐츠를 선정한다.
○ 선정된 콘텐츠를 HTML 형식의 문서로 작성한다. (하나이상의 파일로 구성)
○mimetype, container.xml 파일을 구성한다.
○myebook.opf 파일을 기반으로 opf 파일을 구성한다.
○ 추상적인 구조를 특정 하드디스크에 생성하여 통째로 압축하여 .epub 파일을 생성
요구 사항
자신만의 ePub 파일 작성하기
(Zip Container 제외 )
<?xml version="1.0"?>
<!DOCTYPE package PUBLIC "+//ISBN 0-9673008-1-9//DTD OEB 1.2 Package//EN"
"http://openebook.org/dtds/oeb-1.2/oebpkg12.dtd">
<package unique-identifier=“사용자 정의 구분자">
<metadata>
<dc-metadata xmlns:dc="http://purl.org/dc/elements/1.0"
xmlns:oebpackage="http://openebook.org/namespaces/oeb-package/1.0">
<dc:Identifier id="Package-ID“>GUID 할당</dc:Identifier>
<dc:Title>책 제목</dc:Title>
<dc:Creator role="aut">저자명</dc:Creator>
<dc:Subject/> 주제
<dc:Type/> 형식 (잡지, 소설, 정보지 등)
<dc:Date event="publication">출판일</dc:Date>
<dc:Date event="copyright">저자권 날짜</dc:Date>
<dc:Identifier scheme="ISBN">ISBN이 있는 경우번호</dc:Identifier>
<dc:Publisher>출판사 정보</dc:Publisher>
<dc:Language/> 사용 언어
</dc-metadata>
</metadata>
<manifest>
<item id=“아이템 아이디1" href=“html 문서명" media-type="text/x-oeb1-document"/>
<item id=“아이템 아이디2" href=“html 문서명2" media-type="text/x-oeb1-document"/>
<item id=“아이템 아이디3“ href=“html 문서명3“ media-type="text/x-oeb1-document"/>
<item id=“아이템 아이디4" href=“html 문서명4" media-type="text/x-oeb1-document"/>
</manifest>
<spine> 책의뼈대 구성
<itemref idref=“아이템아이디1"/>
<itemref idref=“아이템아이디2"/>
<itemref idref=“아이템아이디3"/>
<itemref idref=“아이템아이디4"/>
</spine>
</package>