WO2012165847A9 - 사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법 - Google Patents

사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법 Download PDF

Info

Publication number
WO2012165847A9
WO2012165847A9 PCT/KR2012/004245 KR2012004245W WO2012165847A9 WO 2012165847 A9 WO2012165847 A9 WO 2012165847A9 KR 2012004245 W KR2012004245 W KR 2012004245W WO 2012165847 A9 WO2012165847 A9 WO 2012165847A9
Authority
WO
WIPO (PCT)
Prior art keywords
book
user
annotation
bookmark
dimensional
Prior art date
Application number
PCT/KR2012/004245
Other languages
English (en)
French (fr)
Other versions
WO2012165847A2 (ko
WO2012165847A3 (ko
Inventor
이해성
Original Assignee
주식회사 내일이비즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 내일이비즈 filed Critical 주식회사 내일이비즈
Publication of WO2012165847A2 publication Critical patent/WO2012165847A2/ko
Publication of WO2012165847A3 publication Critical patent/WO2012165847A3/ko
Publication of WO2012165847A9 publication Critical patent/WO2012165847A9/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/14Electronic books and readers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/30Control of display attribute

Definitions

  • the present invention implements a user annotation on an e-book including a plurality of electronic documents, and allows the user to integrate and search the user annotation implemented in his or her entire e-book regardless of the device.
  • an e-book includes an electronic document (eg, a doc document, a PowerPoint (ppt) document, a pdf document, etc.) having a multi-stage layout, and the single-page document composed of one end includes letters, tables, drawings, It consists of formulas, chemical formulas and the like.
  • an electronic document eg, a doc document, a PowerPoint (ppt) document, a pdf document, etc.
  • the single-page document composed of one end includes letters, tables, drawings, It consists of formulas, chemical formulas and the like.
  • users write their own information in a paper book or paper document, such as 'add bookmarks to a page so that you can easily see the pages you see most often' (bookmark function), Paste on a specific page (note function), mark on a specific area with a highlighter pen (highlight a pen), underline a specific area (wrap a line), write on a paper, that is, directly on the page, Drawing ”(free doodle function).
  • the user annotation can be processed in the same way as an e-book including an electronic document, thereby increasing user convenience.
  • E-books unlike paper books, use a method similar to displaying a single document on a two-dimensional plane. That is, the e-book is actually composed of several pages, similar to a paper book, but is displayed on the screen in a two-dimensional form that looks like a single document as shown in FIG.
  • the left and right thicknesses of the unfolded book vary as the current reading position changes, the e-book can be confirmed through FIG. 2 that the left and right thicknesses remain unchanged.
  • the left side shows an ebook in EPUB format on iPAD
  • the right side shows an ebook in EPUB format on iPhone.
  • the pattern of the unique pattern is slightly different for each book on the side part of the paper book, the e-books can be seen in FIG. 2.
  • e-books do not support user annotation features such as bookmarks, memos, highlighters, line breaks, and free graffiti, and only support some functions.
  • a three-dimensional codex format e-book with the same ratio (or even typeface) of a paper book and a horizontal-vertical-thickness distribution ratio, page layout, and the like is implemented. If it supports the same user annotation function as the paper book, the user's convenience, which is a natural effect of the user annotation, can be increased in addition to the realism of the paper book.
  • An object of the present invention is to provide a user annotation processing apparatus that can realistically implement a user annotation in a three-dimensional e-book that the user can intuitively recognize.
  • another object of the present invention is an e-book service system and method that allows a user to integrate and search user annotations implemented in their entire e-book (e-books purchased or loaned by individual users) regardless of the device To provide.
  • a user annotation processing apparatus that can realistically implement a user annotation in a three-dimensional e-book that the user can intuitively recognize.
  • the size of the bookmark to be inserted into the e-book based on the size of the text on the screen, the position of the bookmark on the side of the e-book, and then displays the bookmark on the e-book .
  • the marker is displayed on the e-book.
  • the thickness of the pen to be displayed in the e-book is determined based on the thickness of the at least one pen among the highlighter, the scribing pen, and the free doodle pen, the width of the pixel, and the screen magnification.
  • at least one user annotation of the highlighter, underline, and free graffiti processed on a predetermined portion of the e-book is displayed on the e-book.
  • an e-book service system and method for allowing a user to integrate and search user annotations implemented in their entire e-books (e-books purchased or loaned by individual users) regardless of the device This is disclosed.
  • a unique number of an entire e-book is stored in a database management system (DBMS), and annotation information processed in the e-book for each user and storage time information in which the annotation information is stored are unique to the e-book in the personalization area.
  • DBMS database management system
  • annotation information processed in the e-book for each user and storage time information in which the annotation information is stored are unique to the e-book in the personalization area.
  • the corresponding annotation information mapped to the e-book unique number of the personalization area is retrieved from the DBMS and provided.
  • the e-book is distinguished based on the unique number, and the annotation information is synchronized based on the storage time information.
  • an electronic book including an electronic document has an advantage that the user annotation can be realistically implemented as in a paper document or a paper book.
  • the present invention has the advantage of implementing a three-dimensional codex (e-book) in the form of e-books, and in the three-dimensional intuition e-books support the same user annotation function as the paper book to increase user convenience.
  • e-book three-dimensional codex
  • the present invention has the advantage that the user annotation processed in some devices can be synchronized to other devices.
  • the present invention has the advantage that can be searched by integrating user annotations implemented in their entire e-books (e-books purchased or loaned by individual users) regardless of the device.
  • the present invention has the advantage of protecting the privacy of the individual from the risk of hacking by transmitting encrypted by transmitting the user annotation for synchronization.
  • 1 to 3 is a view showing a conventional e-book.
  • FIG. 4 schematically illustrates the configuration of an exemplary e-book service system in which the present invention may be practiced.
  • FIG. 5 is a diagram illustrating a configuration of a user terminal according to an embodiment of the present invention.
  • FIG. 6 is a view showing a display conversion process using a two-dimensional graphics function according to an embodiment of the present invention.
  • FIG. 7 is a view showing a display conversion process using a three-dimensional graphics function according to an embodiment of the present invention.
  • FIG 8 to 10 are views showing a state in which the read mode image is displayed through the user terminal according to an embodiment of the present invention.
  • FIG. 11 is a diagram showing the configuration of a user annotation processing apparatus according to an embodiment of the present invention.
  • FIG. 12 illustrates an e-book with a bookmark inserted according to an embodiment of the present invention.
  • FIG 13 and 14 are views showing an example in which the user sets the font size according to an embodiment of the present invention.
  • 15 is a view showing a side portion of the book lying at an angle in accordance with an embodiment of the present invention.
  • 16 is a view showing a bookmark inserted into the side portion of the book lying at an angle in accordance with an embodiment of the present invention.
  • 17 is a diagram illustrating a process of inserting a memo into an e-book according to an embodiment of the present invention.
  • FIG. 18 is a view showing the shape, size and position of the marker indicating that there is a memo according to an embodiment of the present invention.
  • 19 is a view showing an example of implementing a line break function in an e-book according to an embodiment of the present invention.
  • 21 is a view showing an example of implementing a highlighter function in an e-book according to an embodiment of the present invention.
  • 22 is a flowchart illustrating a procedure for synchronizing user annotations according to an embodiment of the present invention.
  • 23 is a flowchart illustrating a procedure for retrieving user annotations in accordance with an embodiment of the present invention.
  • FIG. 4 is a diagram schematically illustrating a configuration of an exemplary e-book service system in which the present invention may be implemented.
  • the e-book service system environment 100 stores unique numbers of all e-books (e-books in the personalization area and e-books in the non-personalization area), and annotation information processed in the e-book for each user.
  • a database management system (DBMS) 120 for mapping and managing the storage time information in which the annotation information is stored to the e-book unique number of the personalization area, and in response to the annotation retrieval request, the DBMS 120 displays the electronic information of the personalization area.
  • a search server 130 for searching and providing corresponding annotation information mapped to a book unique number
  • an annotation synchronization server 140 for distinguishing an e-book based on the unique number and synchronizing the annotation information based on the storage time information.
  • the annotation search request may be a name (annotation name) of a comment arbitrarily input by a user during annotation processing, or may be a request for all annotation information processed by a user annotation among e-books in the personalization area.
  • E-books purchased or loaned by users are called 'e-books in the personalization area', and other e-books in the e-book library are called 'e-books in the non-personalization area'.
  • the e-book service system environment 100 displays the e-book in three dimensions so that the user can intuitively recognize the user's terminal (the e-book displayed as a three-dimensional codex format e-book).
  • 110 may further include.
  • the user terminal 110 displays an e-book in a 3D codec format that the user can intuitively recognize. A process of displaying an e-book in 3D codec format will be described later.
  • the user terminal 110 When the user executes the e-book application in the terminal 110, the user terminal 110 attempts to access the annotation synchronization server 140.
  • the annotation synchronization server 140 controls the synchronization of annotation information in which changes have occurred so that user annotations of the e-book processed by the user terminal 110 can be shared. That is, when the annotation synchronization server 140 browses the e-book purchased or loaned by the user using the various user terminals 1110, the user annotations generated, modified, or deleted on any device are read by all other devices (eg, Synchronize the annotation information so that it can be shared by the user terminals 2 and 3 (110).
  • the user terminal 110 is connected to the search server 130 and the database management system (DBMS) 120 through the network 150, the e-book (in this case, e-books are subject to e-books in the personalized and non-personalized areas) Search and user annotations processed in a particular ebook, where the ebook may be an ebook in the personalization area that the user has purchased or loaned.
  • the retrieval of the user annotation may be annotation information (single annotation information of a single e-book) through direct input of the annotation name, and an annotation list through request of all annotation information processed by the user annotation among e-books in the personalization area. (Single or multiple annotation information of a single or multiple e-books).
  • basic bibliographic information eg, author, publisher, title, etc.
  • the type of the user terminal 110 can be replaced by not only a PC, but also a notebook, a hand-held PC, a PDA, a mobile communication terminal, a portable Internet terminal, a broadcast receiver, a DMB phone, and the like.
  • the e-book service can be used through any wired or wireless Internet connection using any computing device.
  • the network 150 may include all wired communication media such as LAN or WAN, and wireless communication media such as WiFi / WiBro and mobile communication systems.
  • it can be any kind of Internet-enabled device, such as an MS Windows-based computer, a Mac OS X-based computer, an iOS-based device, or an Android-based device.
  • the user may search the user annotations processed in the e-book as well as the e-book by interworking with the search server 130 through the user terminal 110 and the network 150.
  • the 'user annotation processed in the e-book' is, e-books purchased or loaned by the user through a certain user terminal 1 (110) through a certain annotation, for example, insert a bookmark, writing a note on a specific page Pasting on, marking a specific area with a highlighter, underlining a specific area, or writing a pen, writing or drawing directly on a page.
  • the user annotations processed in the e-book can be searched for not only a single e-book in the user terminals 2 and 3 (110), but also integrated in the entire e-book purchased or loaned by the user. Search is also possible.
  • the search server 120 searches for e-books (e-books in the personalization and non-personalization areas), and integrates user annotations processed by the user into all e-books (e-books in the personalization area) purchased or loaned by each user. Search.
  • the search server 130 may receive a search word (eg, an e-book name, an author name, a text search word, etc.) to be an e-book (ie, an e-book in a non-personalized area and an entire e-book in a personalized area). ) Can be configured to perform a search.
  • a search word eg, an e-book name, an author name, a text search word, etc.
  • the e-books purchased or loaned by the user from the entire e-books through the search that is, the e-books in the personalization area, are stored and managed for each user in the DBMS 120.
  • the search server 130 may be configured to perform a search (single search or integrated search) of user annotations processed in the electronic book of the personalization area.
  • the user annotation information processed by the user in the electronic book in the personalization area through any user terminal 110 is stored and managed for each user in the DBMS 120.
  • the search server 130 searches the DBMS 120 for the corresponding comment.
  • Annotation information (single annotation information of a single e-book) is transmitted to the user terminal 110.
  • the search server 130 inquires the DBMS 120 to display all annotations of the user.
  • An annotation list including information is transmitted to the user terminal 110.
  • the DBMS 120 stores e-books (e-books in the personalization area) purchased or loaned by individual users through the network 150 for each user, and are processed in a 3D codex format e-book on the user terminal 110.
  • Annotation information (bookmark information, memo information, highlighter information, line drawing information, free doodle information, etc.) is stored and managed for each user.
  • the DBMS 120 maps the user annotation information processed to the e-books in the personalization area and any of the e-books, and stores and manages them for each user.
  • the unique number of the e-book and the user annotation information is mapped and managed.
  • the DBMS 120 stores the e-book unique number and user annotation information, as well as storage time information in which the annotation information is stored in the DBMS 120 through the annotation synchronization server 120. And, it manages by further mapping the unique number of the user terminal 110, the annotation information processed in the e-book sent.
  • the annotation synchronization server 140 controls the search server 130 to display the annotation list on the user terminal. Provided by 110. At this time, whether to receive a list of annotations is made by the user.
  • the user terminal 110 may not only search and integrate the annotation information of the e-book stored in its terminal, but also the annotation information of the e-book stored in the DBMS 120 without being stored in the terminal based on the annotation list. You can also search for the integrated.
  • the functions of the DBMS 120 and the search server 130 for storing the user annotation information processed in any of the e-books of the personalization area and the single or integrated search of the user annotation information are stored in the user terminal. The same is also implemented inside 110. A detailed description will be made later with reference to FIG. 5.
  • FIG. 5 is a diagram illustrating a configuration of a user terminal 110 according to an embodiment of the present invention.
  • the user terminal 110 includes a storage unit 510, a controller 520, an input unit 530, and a display unit 540.
  • the e-book in the personalization area is stored and managed in the storage unit 510.
  • the user annotation information processed by the electronic book in the personalization area is also stored and managed in the storage unit 510.
  • the storage unit 510 stores and manages e-books in the personalization area and user annotation information processed in any of them.
  • the unique number of the e-book and the user annotation information is mapped and managed.
  • the storage unit 510 additionally maps and manages time information for recording the annotation information in the annotation synchronization server 120 together with the e-book unique number and user annotation information.
  • the controller 520 may perform a search (single search or integrated search) of user annotations processed in the electronic book of the personalization area.
  • the e-book of the personalization area stored in the storage unit 510 includes an e-book file having a predetermined data structure.
  • the e-book file may include a data structure including an image area (e-book image information) showing an entire image of each page, an area of code values of letters existing in each page, and an internal letter area.
  • the image area (e-book image information) of the e-book file according to the embodiment may be an area in which an image, a photo, or a command for allowing a computer to immediately generate an image of each page is actually collected.
  • the internal text area is a logical area and includes an object including "letter”, “image”, “table letter”, etc. as a minimum unit that constitutes the content of the electronic document.
  • the letter is a meaningful character
  • the image includes a photograph, a picture, an equation represented by an image, a table, and the like.
  • a table letter is a letter that describes an image and usually means a hidden letter that is not displayed on the screen.
  • Each object in the e-book file contains "letter code,” “letter property” and "coordinates on the screen” information.
  • the character code is a code for displaying the character on the screen of the display unit 540, and the character attribute is information about font of the character, for example, bold, underline, and italics.
  • the coordinate information on the screen includes size information of each letter in the original of the e-book file. You can use this information to keep track of where and what text or images occupy the entire image area of the page.
  • text search can be performed on tables, photographs, formulas, etc., which are represented in the form of images in e-books such as electronic documents by using table letters. The table letters also have coordinate values on the screen as objects. You can search where it is on the page.
  • the internal character area includes a line which is a collection of objects.
  • the minimum unit constituting the internal character area of the e-book file is an object, which exists on the same horizontal straight line (for writing books) or vertical straight line (for writing books) among these objects. When you collect the objects, it becomes a line. In other words, a line represents a set of objects on the same line.
  • the internal character area includes a group which is a set of predetermined lines.
  • a group represents a set of lines in which contents are naturally connected when reading out the contents.
  • the group may set the group by analyzing the coordinate values of the objects included in the at least one line and obtaining a cluster distribution of the at least one object and clustering the clusters by cluster.
  • the group may be similar to the paragraph.
  • the internal character area includes a page which is a set of groups.
  • a group can consist of several pages, but a page can also be a group. That is, the page and the group may be the same. However, in order for a page and a group to be the same, the page must be a document with one paragraph. If a page consists of multiple paragraphs, the page must be organized into groups. This is because, in a document composed of multiple paragraphs, there may be lines that exist on the same line but cannot be connected if read as they are. Sequential reading of lines within a group must satisfy the constraint that the content must be correctly concatenated.
  • the internal text area contains a book, which is a collection of pages. That is, the e-book file is stored in the storage unit 510 as a "book> page> group> line> object", that is, a hierarchical structure in the order of book, page, group, line, object.
  • the above-described image area that is, the e-book image information may include a left side image, a right side image, a left e-book image, and a right e-book image of the e-book.
  • the left and right side images may represent images for indicating the left and right sides of the e-book
  • the left and right e-book images may represent left and right images for representing the main content of the e-book.
  • the controller 520 may form a read mode image and a fast movement mode image.
  • the reading mode indicates a mode generally used when a user reads an e-book using the user terminal 110, and the quick moving mode is used to quickly move to a desired page of the e-book with a simple operation of the user. Indicates the mode.
  • the controller 520 performs display conversion of the left side image and the right side image included in the e-book image information stored in the storage unit 510, and displays the converted left and right side images and the left and right e-book images.
  • the image may be synthesized to form a read mode image.
  • the controller 520 performs a perspective transform, that is, a display transformation, of a two-dimensional left side image and a right side image included in the e-book image information stored in the storage unit 510, and thus, read mode image. Can be formed.
  • a perspective transform that is, a display transformation
  • two methods of performing display conversion may exist.
  • One is to use two-dimensional graphics functions supported by the operating system, and the other is to use three-dimensional graphics functions supported by the operating system.
  • the display conversion of the left and right side images using only two-dimensional graphics functions is performed. Can be done.
  • operating systems such as Mac OS X and iOS
  • controller 520 performs display conversion of the two-dimensional left and right e-book images included in the e-book image information stored in the storage unit 510, and converts the converted left and right e-book images and the e-book.
  • Two-dimensional left and right side images included in the image information may be synthesized to form a fast moving mode image.
  • the input unit 530 receives a user input and forms an image switching signal for switching an image between the read mode image and the fast moving mode image.
  • the input unit 530 may include a mouse, a touch pad, and the like, but is not limited thereto.
  • the controller 520 may perform image switching between the read mode image and the fast moving mode image displayed on the display unit 540 when the image switching signal is input. That is, the controller 520 may control to display the fast moving mode image when the image change signal is input while the read mode image is displayed on the display unit 540. In addition, the controller 520 may control to divide the screen of the display 540 into four regions in order to display the fast moving mode image.
  • the display unit 540 displays the read mode image or the fast moving mode image formed by the controller 520.
  • the display unit 540 may perform a function of the input unit 530 for receiving a user input, including a touch pad.
  • the display unit 540 may include a cathode ray tube (CRT) display, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, or the like.
  • FIG. 6 is a view illustrating a display conversion process using a 2D graphic function according to an embodiment of the present invention.
  • Equation 1 the horizontal coordinate Y in the 3D image 3D may be expressed by Equation 1 below.
  • W represents the length in the horizontal direction in the rectangular two-dimensional image (2D)
  • L1 represents the length in the longitudinal direction in the rectangular two-dimensional image (2D) and the length of the base side in the trapezoidal three-dimensional image (3D)
  • L2 represents the length of the upper side in the trapezoidal three-dimensional image (3D).
  • the vertical coordinate V in the 3D image 3D may be expressed as in Equation 2 below.
  • pixel information of an image corresponding to a position (Y, V) in a 3D image (3D) obtain a horizontal coordinate X value using Equation 1, and obtain a vertical coordinate U value using Equation 2
  • the pixel information corresponding to the (X, U) positions of the 2D image 2D may be used as the pixel information of the corresponding positions (Y, V) of the 3D image 3D.
  • the origin O of the 2D image 2D is a position passing through the center point of the rectangle.
  • FIG. 7 is a diagram illustrating a display conversion process using a 3D graphic function according to an embodiment of the present invention.
  • do. 7 may be interpreted as obtaining a trapezoidal three-dimensional image 3D ′ on the right side by rotating the two-dimensional image 2D ′ using the left vertical side as the rotation axis.
  • the origin is located at the center of the left vertical side (O ') of the 2D image (2D'), and the eye (Eye), the observation point, is located at a distance E apart from the origin (O ') to apply the 3D graphic function.
  • the distance between the eye and the projection plane is D
  • the rotation angle is theta (Theta)
  • the horizontal length of the two-dimensional image (2D ') A
  • the vertical length is B, 2D '
  • the left and right edge coordinates of the axis of rotation are (A, B / 2) and (A,-B / 2), respectively.
  • 6 and 7 may be represented using variables of the 2D graphic function and the variables of the 3D graphic function, as shown in Equation 5 below.
  • FIG 8 to 10 are views illustrating a read mode image displayed through the user terminal 110 according to an exemplary embodiment of the present invention.
  • the left and right side images of the left and right side images of the e-book are changed according to the page position of the e-book currently being read.
  • the way to implement this is as follows.
  • the controller 520 forms the left side image of the e-book, and the trapezoidal direction is formed in the opposite direction to the trapezoid of the 3D images 3D and 3D ′ of FIGS. 6 and 7. That is, in contrast to FIGS. 6 and 7, the length of the left vertical side is shorter than the length of the right vertical side.
  • the width W ′ of the left side image may be expressed as in Equation 6 below.
  • W represents the overall thickness of the e-book.
  • the controller 520 forms the right side image of the e-book, and the trapezoidal direction is formed in the same shape as the trapezoid of the 3D images 3D and 3D ′ of FIGS. 6 and 7. That is, as shown in FIGS. 6 and 7, the length of the right vertical side is shorter than the length of the left vertical side.
  • the width W ′′ of the right side image may be expressed as in Equation 7 below.
  • W represents the overall thickness of the e-book.
  • the controller 520 may synthesize the left side image formed by the above method on the left side of the left e-book image and synthesize the right side image on the right side of the right e-book image to form a read mode image.
  • a user annotation function shows a bookmark, a memo, a highlighter, a line break, a free doodle, and the like.
  • FIG. 11 is a diagram illustrating a configuration of a user annotation processing apparatus 500 according to an embodiment of the present invention.
  • the user annotation processing apparatus may be provided in the controller 520 of the user terminal 110 or may be implemented as a separate module.
  • the user annotation processing apparatus 500 includes a bookmark processing unit 51, a memo processing unit 52, a highlight pen processing unit 53, a scribing processing unit 54, and a free doodle processing unit 55.
  • the bookmark processor 51 includes a vertical width determiner 511, a horizontal width determiner 512, a side vertical position determiner 513, and a side horizontal position determiner 514.
  • Each of the annotation processing units 51 to 55 of the user annotation processing apparatus 500 may be independently performed, or may be performed by some or all combinations thereof.
  • the display unit 540 displays user annotations based on the processing results of the annotation processing units 51 to 55.
  • the bookmark processor 51 determines the size of the bookmark to be inserted into the e-book based on the size of the letter on the screen, and determines the position of the bookmark in the side portion of the e-book.
  • the font size on the screen is the size (height) of the character selected by the user in terms of pixels, and is the size of the font actually displayed on the screen.
  • the size of the bookmark includes the vertical width and the horizontal width of the bookmark
  • the position of the bookmark includes the horizontal position and the vertical position of the bookmark in the side portion of the book.
  • the bookmark whose size and position are determined by the bookmark processing unit 51 is inserted into the e-book and output through the display unit 540.
  • FIG. 12 illustrates a bookmark in which a size and a position of a bookmark determined based on a size of a letter selected by a user is inserted into an e-book in a 3D codex format.
  • the vertical length of the bookmark which is appropriately used on a monitor of resolution A and size A, has a resolution of B and a size of B. There is no guarantee that the monitor will be suitable.
  • the appropriate size means that the user can easily identify that the user has a bookmark in view, and it is difficult to select the bookmark with various pointing devices such as stylus, finger, mouse, etc. in order to go directly to the page where the bookmark is inserted. It means 'easy size'.
  • the user can be easily identified with the smallest Be sure to select the letters. If the user knows the font size of the character selected by the user, the size (height) of the character selected by the user can be converted in units of pixels. Looking at this in detail.
  • the user may arbitrarily set the size of the characters displayed on the screen of the display unit 540 by selecting the font size setting mode through the input unit 530.
  • the controller 520 controls the display unit 540 to display the font setting interface on the screen.
  • the user may input information on the minimum size of the text that can be read by the user through the text setting interface.
  • the size of the characters actually displayed may be different depending on the screen resolution of the display unit 540, it is necessary to calculate the size of the characters actually displayed.
  • the size of the text on the actual screen may be calculated as follows. That is, the user selects the size of the character that can be arbitrarily set, for example, the size of the minimum character that can be read as X (point), and the screen resolution of the display unit 540 is Y (ppi (pixel per inch) ), And the magnification of the character set in the operating system is Z (pixels / point, 1 for Mac OS X and 4/3 for MS-Windows).
  • the actual size of S R can be calculated as shown in Equation 8.
  • the symbol ⁇ denotes an operation symbol rounded off to one decimal place.
  • FIGS. 13 and 14 are diagrams illustrating examples of setting a text size by a user, and show an example of a screen for setting a minimum text size that a user can read in the user terminal 110 equipped with a touch screen.
  • the size of a text may be set by drag input using a finger, a stylus, etc. on predetermined portions 131 and 141 on the touch screen of the user terminal 110.
  • the size of the letter may be adjusted according to the drag length, and example sentences 132 and 142 showing letters of the size corresponding to the drag length may also be displayed together on the screen.
  • the configuration of setting the size of the text to the length of the drag input on the touch screen has been described, but the text size is not limited thereto.
  • the user may directly set the font size by using a keyboard or provide a font size on the screen of the display unit 540 as a pull-down or pull-up menu, and select the same by using a mouse pointer.
  • the size can be configured to be selected using a radio button or the like.
  • the controller 520 reads the e-book file from the storage unit 510 and enlarges the e-book file at a predetermined magnification. Then, the magnification ratio for displaying the e-book file on the screen of the display unit 540 is selected by comparing the text size in the e-book file of each magnification and the set readable text size.
  • the magnification may have the following eight magnifications.
  • the first magnification is an enlargement ratio that displays both the main body of both pages of the e-book and the side portions of the book.
  • the second magnification is an enlargement magnification displaying only two pages of both sides of the book without the side portion of the e-book
  • the third magnification is an enlargement magnification of displaying both pages of the ebook but no margin of text is displayed.
  • the fourth magnification is an enlargement magnification in which one page and side portions of the e-book are displayed
  • the fifth magnification is magnification magnification in which only one page of the e-book is displayed but no side portions are displayed
  • the sixth magnification is magnification.
  • the seventh enlargement magnification is an enlargement magnification in which the entire page is not displayed but is grouped by an appropriate number and displayed in group units, and the eighth magnification is divided into one group so that only a part of the group is displayed on the screen. It is an enlargement magnification.
  • the controller 520 enlarges the e-book file read from the storage 510 at the first to eighth magnifications.
  • the controller 520 compares the text size in the e-book adjusted to each enlargement magnification with the minimum readable text size selected by the user, and displays the text in the enlarged e-book equal to or larger than the minimum readable text size.
  • the enlargement magnifications are selected, and an enlargement magnification that the entire outline of the e-book can display the most among the selected magnification magnifications.
  • the physical size of the characters displayed on the screen of the display unit 140 may be displayed differently depending on the screen resolution of the display unit 540.
  • the controller 520 calculates the first physical size when the corresponding character is displayed on the screen of the display unit 540 based on the font size set by the input of the input unit 530, and expands the predetermined size.
  • the second physical size is calculated when the letters of the electronic book of the magnification are displayed on the screen of the display unit 540, and the electronic book is displayed on the display unit 540 by comparing the first physical size and the second physical size. Select the magnification.
  • the screen size (in pixels) of the 'minimum size selected by the user' obtained through the above method is linked with the 'vertical width of the bookmark'.
  • the vertical width determining unit 511 may determine the vertical width of the bookmark through Equation 9 below.
  • C is any constant for determining the vertical width of the bookmark.
  • the horizontal width determiner 512 may determine the horizontal width of the bookmark through Equation 10 below.
  • D is any constant for determining the width of the bookmark in the horizontal direction.
  • the side vertical positioning unit 513 determines the vertical position of the bookmark in the side portion of the book. For example, the 'vertical position of the bookmark at the side of the book' can be arbitrarily determined. In an embodiment, when a new bookmark is to be inserted, the vertical position of the bookmark may be determined by Equation 11 below.
  • the reason for randomly determining the vertical position of the bookmark in the side of the book is that, in general, the probability distribution of random numbers that can be generated on the computer shows a flat probability distribution with the same occurrence frequency probability value for each band. Because. This is because the method of the present invention can minimize the probability that the vertical heights of the bookmarks coincide even when inserting a large number of bookmarks over several pages. If the vertical heights of specific bookmarks coincide with each other, when the user selects a specific one among the bookmarks inserted by the user, the same vertical position causes the area to overlap on the screen, thereby reducing the inconvenience of incorrectly selecting the bookmark. to be.
  • the user may arbitrarily change the 'vertical position of the bookmark in the book side portion' determined by the side vertical position determiner 513 through the input unit 530.
  • the side horizontal positioning unit 514 determines the horizontal position of the bookmark in the side portion of the book. In one embodiment, if the page number into which the bookmark is inserted is E, the page number currently expanded on the screen is F, and if E ⁇ F and the e-book grows from left to right, the bookmark is opened. Located on the left side of the book 'the horizontal position of the bookmark in the left side of the book' can be determined by the following equation (12).
  • the bookmark is located on the right side of the open book.
  • the horizontal position of the bookmark in the right side of the book can be determined by the following equation (13).
  • bookmarks selected by the user are located in the left part of the book, the bookmark with the largest number of pages among the selected bookmarks is selected, and if the bookmarks selected by the user are located in the right part of the book, among the selected bookmarks. You can select a bookmark with the smallest number of pages. This method is valid because, when the book is opened, as shown in the bookmark inserted in the side section of the obliquely lying book of FIG. 16, the bookmark with the large number of pages covers the top of the bookmark with the small number of pages. Similarly, when the book is opened, a bookmark with a small number of pages covers the top of the bookmark with a large number of pages on the right side of the book.
  • the memo processing unit 52 determines the size and position of the mark based on the form of the mark indicating that there is a memo inserted in the e-book and the distance of the object between the lines.
  • the display unit 540 indicates that there is a memo based on the mark type and the size and position of the mark determined by the memo processor 52.
  • 18 is indicated by a rectangle of a suitable size in a position that does not disturb the reading on the e-book as shown in FIG.
  • a user may insert a desired text by inserting a desired text through a input unit 530 on a specific portion of an e-book using a memo function.
  • FIG. 18a shows that it exists, and shows, edits, or deletes all the notes in the memo only when the user selects the marker 18a with a pointing device. Apply.
  • each of the three small rectangles 18a between the first line and the second line marks memos inserted. If the user selects the rectangles 18a, the screen switches to a screen where the contents of the corresponding memo input in FIG. 17 can be viewed, edited or removed.
  • the memo processing unit 52 tracks the objects displayed on the screen of the e-book that the user is viewing at the moment of inserting the memo, and sequentially assigns the positions of these objects as the positions of the markers.
  • the guide area a portion of the e-book that a user reads is highlighted and shown, and the guide area may be a line unit, a group unit, a page unit, or the like.
  • objects have an order. If the user inserts the first memo in the guide area, the position of the marker indicating that the first memo is present is assigned to the position of the first object in the guide area. Similarly, when the user inserts a second memo in the guide area, the position of the marker indicating that this second memo is present is assigned to the position of the second object belonging to the guide area. This way, you can insert as many notes as the total number of objects shown on the entire screen, but that's not a problem because you don't actually insert so many notes.
  • the memo processing unit 52 determines the position of the mark indicating that there is a memo, and then determines the size of the mark. At this time, the basic constraint is that the objects in the body of the e-book should not be hidden due to the corresponding markers (squares).
  • the memo processor 52 tracks a line in the area where the reference object that determines the position of the mark (ie, the same position as the mark) exists, searches all objects existing in the line and the next line, Measure the distance between objects and the reference object. And, the smallest value among the distances is set as the vertical height value A of the mark (square).
  • the reference object is located on the 6th line, measure all the distances between all objects on the 7th line and the reference object, and then use the shortest distance among them as the height of the marker. .
  • a value slightly smaller than the vertical height value A is utilized to make the user more visible.
  • the horizontal width of the marker (square) is obtained by multiplying the vertical height by a specific constant. If this constant value is 1, the shape of the marker (square) becomes square. If the value is less than 1, the vertical rectangle is long. If the value is greater than 1, the horizontal rectangle is long.
  • the mark (the rectangle) never covers the objects appearing in the body of the e-book, so that the user can read without being disturbed by the mark (the rectangle).
  • the position of the marker (square) indicating that there is a memo should also be corrected. That is, the viewpoint conversion process as shown in FIG. 6 is required, and the exact position can be obtained by using Equation 1 above.
  • the highlighter processor 53 identifies the start and end points of the highlighter, collects location information due to the movement of the pointing device to implement the highlighter function, and displays the thickness of the highlighter, the physical width represented by one pixel, and the e-book file.
  • the thickness of the pen used to paint the highlighter to be displayed on the e-book is determined based on the magnification to be displayed on the screen of 540.
  • the display unit 540 displays the highlighter painted on a specific portion of the e-book on the e-book by the thickness of the highlighter determined by the highlighter processing unit 53.
  • 21 is a diagram illustrating an example of implementing a highlighter function in an e-book according to an embodiment of the present invention.
  • the line processing unit 54 checks the start point and the end point of the line segment to be drawn on the body of the e-book, and displays the thickness of the pen to draw the line segment, the physical width represented by one pixel, and the e-book file on the screen of the display unit 540.
  • the thickness of the pen drawing a line segment is determined based on the magnification to be done.
  • the display unit 540 displays the underline drawn on a specific portion of the e-book on the e-book with the thickness of the scribe pen determined by the squeeze processing unit 54.
  • 19 is a diagram illustrating an example of implementing a line break function in an e-book according to an embodiment of the present invention.
  • the free doodle processing unit 55 checks the start and end points of the free doodle, such as writing or drawing in the text of the e-book, collects location information due to the movement of the pointing device, and implements the free doodle.
  • the thickness of the pen for free grading is determined based on the thickness of the pen, the physical width represented by one pixel, and the magnification to display the e-book file on the screen of the display unit 540.
  • the display unit 540 displays the user annotation of a text or a picture processed on a specific portion of the e-book on the e-book by the thickness of the free scribble pen determined by the free scribble processor 55.
  • 20 is a diagram illustrating an example of implementing a free doodle function in an e-book according to an embodiment of the present invention.
  • the scribing function draws a line segment in the body of an e-book. To create a line segment, you need to know the start and end points of the line segment. This is done by using the input start position of the pointing device as the start point and the input end position. However, in addition to the start point and the end point, the free graffiti and the highlighter must collect all the position information input, that is, sampled at regular intervals each time the pointing device moves. In addition, treating the collected sequence information as control points of splines, respectively, can implement a free doodle and highlighter function.
  • FIGS. 22 is a flowchart illustrating a procedure for synchronizing user annotations according to an embodiment of the present invention. For better understanding, the following description will be made with reference to FIGS. 4 and 5.
  • annotation synchronization There are two important issues with annotation synchronization. One is that when you make changes to user annotations on different devices at the same time for the same e-book, they are reflected on all devices. On the other hand, if one device has failed to access the annotation synchronization server 140, and if the user annotation of the e-book is changed and the subsequent connection of the annotation synchronization server 140 is successful, the user annotation changed in the corresponding e-book is written. How to handle it.
  • a unique number (ebook unique number) is assigned to all the e-books so that the annotation synchronization server 140 can synchronize the annotations of the e-books.
  • a unique number for each e-book is used to distinguish each e-book from the annotation synchronization server 140.
  • the information stored and managed by the annotation synchronization server 140 in the DBMS 120 includes e-book unique numbers in the personalization area, user annotation information, time information in which annotation information is recorded in the annotation synchronization server 120, And the unique number of the user terminal 110 to which the annotation information processed in the e-book is sent.
  • the user annotation information includes annotation data (e.g. bookmark data, memo data, highlighter data, scribble data, free doodle data, etc.) and annotation name information (e.g.
  • bookmarks a, b, ..., n memo a, b, ..., n, highlighters a, b, ..., n, lines a, b, ..., n, free doodles a, b, ..., n, etc.).
  • Annotation names are not limited to the forms of letters (Korean or English), numbers, special characters, etc., as long as they can be identified.
  • the comment name may be composed of letters, numbers, or special characters, or a combination of some or all of them.
  • the user terminal 110 may not be able to access the annotation synchronization server 140 due to a network failure, and thus may not receive annotation information stored in the DBMS 120.
  • the user terminal 110 executes any e-book, if the annotation information of the e-book is not obtained from the DBMS 120, then the contents of the user annotation written in the e-book by the user and the annotation stored in the DBMS 120 Problems arise in which information can vary. In this case, it is difficult to determine what annotation information the user really wants among the annotation information 1 present in the user terminal 110 and the annotation information 2 present in the DBMS 120. The answer is that each user can be different.
  • annotation information 1 stored in DBMS 120
  • past annotation information [A] and other users will give priority to annotation information 2 currently stored in user terminal 110.
  • [B] another user may wish to integrate both pieces of information (comment information 1 and 2) [C].
  • the present invention can give the user the following options.
  • One is a 'manual mode' for querying which method to select A, B, or C when the user accesses the annotation synchronization server 140, and the other is an automatic mode in which annotation information 1 and annotation information 2 are unconditionally integrated.
  • the A method is to maintain the annotation information 1 of the DBMS 120
  • the B method is to reflect (update or newly store) the annotation information 2 to the DBMS 120
  • the C method is to integrate the annotation information 1, 2 It is.
  • the manual mode when the user closes the e-book, it is checked whether the annotation information 2 is reflected (updated or newly stored) in the DBMS 120, and in the automatic mode, the annotation information 2 is unconditionally reflected in the annotation information 1.
  • the user terminal 110 attempts to connect to the annotation synchronization server 140 when the e-book application is executed (S201). If the connection to the annotation synchronization server 140 fails (S202), the annotation list from the DBMS 120 is displayed. The electronic book file is executed in a state in which the single or multiple annotation information of the single or multiple e-books is not transmitted and the annotation synchronization server 140 is not connected (this is referred to as a 'local state' for convenience) (S203). The user can freely process the annotation on the e-book in the local state (S204). If the user terminates the e-book application (S205), the process proceeds to step S210. The annotation information processed in the local state is called local annotation information.
  • step S210 if the user wants to store the local annotation information processed in the local state in the DBMS 120, check whether the annotation synchronization server 140 is connected, and if not connected to only the user terminal 110 local If the annotation information is stored and connected, the annotation information is stored in the DBMS 120 as well as the user terminal 110 (S211). In this case, in the 'manual mode', the annotation synchronization server 140 confirms to the user whether to store the local annotation information in the DBMS 120 and reflects the confirmation matter. However, in the 'auto mode', the annotation synchronization server 140 reflects the local annotation information processed by the user terminal 110 to the DBMS 120 without undergoing confirmation to the user.
  • the annotation synchronization server 140 in the 'manual mode' whether or not to import the user annotation information existing in the DBMS 120 to the user Check and reflect the check as it is.
  • the annotation synchronization server 140 controls the search server 130 without checking the user, and the annotation list (single or single of a single or multiple e-books) in the DBMS 120 is controlled.
  • a plurality of annotation information is transmitted to the user terminal 110, so that the annotation information can be synchronized in the user terminal 110 (S206).
  • the annotation synchronization server 140 maps the time A at which the annotation information is transmitted to the user terminal 110 to the corresponding annotation information and records the same in the DBMS 120.
  • step S207 the user can freely process the annotation on the e-book. If the user terminates the e-book application (S209), the process proceeds to step S210.
  • step S210 in the "manual mode" annotation synchronization server 140 confirms to the user whether to store the local annotation information in the DBMS 120, and reflects the confirmation. However, in the 'auto mode', the annotation synchronization server 140 reflects the local annotation information processed by the user terminal 110 to the DBMS 120 without undergoing confirmation to the user (S212).
  • the annotation synchronization server 140 reflects local annotation information in the DBMS 120, first confirms the annotation storage location of the e-book. Then, the annotation information and the final storage time (B) of the e-book are checked. As a result of the check, if A and B are not the same, local annotation information processed by the user terminal 110 is reflected in the annotation information of the DBMS 120.
  • the counterpart device Since the annotation information (including the comment list) transmitted between the user terminal 110 and the annotation synchronization server 140 is encrypted and transmitted, the counterpart device performs a decoding process before execution.
  • 23 is a flowchart illustrating a procedure for retrieving user annotations according to an embodiment of the present invention.
  • the annotation list may consist of information about user annotations for which the user may utilize text search.
  • bookmarks, notes, and the like among user annotations are useful for utilizing text search. Since this annotation list is provided when the user terminal 110 accesses the annotation synchronization server 140, the user can search not only the e-book through the currently open text search, but also all the e-books stored in his terminal 110. The user annotation may be searched, and the user annotation may be integrated and searched even for an e-book not stored in the own terminal 110.
  • the annotation synchronization server 140 controls the search server 130 to display the annotation list in the DBMS 120.
  • the bibliographic information is transmitted to the user terminal 110 together with the single or plural annotation information of the single or multiple e-books (S303).
  • the annotation list is encrypted and transmitted.
  • the user terminal 110 accessing the annotation synchronization server 140 requests all annotation information in which user annotations are processed among electronic books in the personalization area (S302).
  • the user terminal 110 decrypts the received annotation list (eg, bookmark information related to the memo) and then searches for a character input by the user (S304). In this case, the character input for searching is performed through the input unit 530. Then, the control unit 520 of the user terminal 110 finds user annotations (bookmarks and memos) that match the characters entered by the user, and lists their contents and basic bibliographic information of the e-books corresponding to them. The output is collectively output to the display unit 540 (S305). At this time, if the user wants to read a specific ebook among each ebook list displayed on the screen, if the ebook file selected by the user exists in the user terminal 110 currently being used, the corresponding ebook is executed and the corresponding user annotation is executed.
  • the received annotation list eg, bookmark information related to the memo
  • the user terminal 110 downloads the e-book file from the DBMS 120 and executes the corresponding user annotation (for example, Go to the location of the note or bookmark).
  • Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the art to which the present invention belongs.
  • the present invention can be used in an e-book service system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사용자가 직관적으로 인식할 수 있는 3차원 전자책에서 사용자 주석을 사실감 있게 구현할 수 있는 사용자 주석 처리 장치가 개시되는데, 일실시예에 의하면, 화면상의 글자 크기에 기초하여 전자책에 삽입될 책갈피의 크기를 결정하고, 전자책의 측면 부위에서 책갈피의 위치를 결정한 후, 해당 책갈피를 전자책 상에 디스플레이한다.

Description

사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법
본 발명은 다단의 전자문서를 포함하는 전자책에 사용자 주석을 구현하고, 사용자가 기기에 무관하게 자신의 전체 전자책에 구현된 사용자 주석을 통합하여 검색할 수 있도록 하는 것이다.
본 발명에서 전자책은 다단으로 구성된 레이아웃을 갖는 전자문서(예컨대, 워드(doc) 문서, 파워포인트(ppt) 문서 또는 pdf 문서 등)를 포함하고, 일단으로 구성된 단단 문서는 글자, 표, 그림, 수식, 화학식 등으로 구성된다.
최근 멀티미디어 기술의 발전과 함께 수많은 정보들이 디지털화되었으며, 다양한 디지털 입력 장치와 저장 장치의 발달로 인해 많은 양의 멀티미디어 데이터가 만들어지고 있다. 또한, 인터넷의 확산은 멀티미디어의 양적 팽창을 돕는데 큰 역할을 하고 있다. 이러한 멀티미디어 기술의 발달과 인터넷의 보급으로 전자문서를 포함하는 전자책 등의 사용이 증가하고 있다.
일반적으로 종이책이나 종이문서에 자신이 스스로 정보를 기입하는 사용자 주석의 종류로는, '자주 보는 페이지를 나중에 쉽게 볼 수 있도록 책갈피를 페이지에 달아놓기'(책갈피 기능), '메모지에 글을 써서 특정 페이지에 붙여넣기'(메모 기능), '형광펜으로 특정 부분에 표시'(형광펜 기능), '특정 부분에 밑줄을 긋기'(줄긋기 기능), '종이 지면, 즉 페이지에 직접적으로 펜으로 글쓰기나 그림 그리기'(자유낙서 기능) 등이 있다. 사용자 주석은 전자문서를 포함하는 전자책에도 동일하게 처리할 수 있어 사용자의 편의성을 증대시킬 수 있다.
그런데, 전자책을 화면에 표시하는 경우, (실제 종이책은 3차원의 입체임에도 불구하고) 종래의 전자책은 평면상의 한 페이지 문서와 같이 표시된다. 전자책은 종이책과는 달리 2차원의 평면에 문서를 한 장 보여주는 것과 유사한 방식을 사용한다. 즉, 전자책은 종이책과 유사하게 실제로 여러 페이지로 구성되어 있지만, 화면상에는 도 1에 도시된 바와 같이 단 한 장의 문서처럼 보이는 2차원 형태로 표시된다.
또한, 언뜻 보기에 2차원이 아닌 3차원의 입체 형태로 표시되는 전자책들도 있지만, 자세히 살펴보면 실제로는 3차원 형태를 제대로 구현하지 못하고 있다. 즉, 도 2를 참조하면 왼쪽에 표시된 전자책과 오른쪽에 표시된 전자책은 페이지 수가 크게 차이가 나지만, 각 전자책의 오른쪽 측면 부위의 두께와 무늬가 동일하게 표시된다. 그리고, 종이책은 독서를 진행함에 따라 페이지 수가 증가하며 왼쪽에서 오른쪽으로 읽어가는 책이라면 책의 왼쪽 측면 두께는 점차 두꺼워지고 오른쪽 측면 두께는 점차 얇아지지만, PDF나 이펍(EPUB) 형식의 전자책은 왼쪽과 오른쪽 측면의 두께가 일정하게 표시된다. 즉, 종이책은 현재 읽고 있는 위치가 변함에 따라서 펼쳐진 책의 왼쪽 두께와 오른쪽 두께가 달라지지만, 전자책은 왼쪽 두께와 오른쪽 두께가 변하지 않고 그대로 유지되는 것을 도 2를 통해 확인할 수 있다. 도 2에서 왼쪽은 EPUB 형식의 전자책을 iPAD에서 보여준 것이고, 오른쪽은 EPUB 형식의 전자책을 iPhone에서 보여준 것이다. 그리고, 종이책의 측면 부분에는 각각의 책마다 약간씩 다른 고유한 무늬의 패턴이 보이지만, 전자책들은 그렇지 못한 것을 도 2에서 확인할 수 있다.
또한, 도 3을 참조하면, 현재 책의 페이지 위치는 제일 앞표지임에도 불구하고, 측면 부위를 보면 마치 책의 가운데 부분을 보고 있는 듯한 착각을 불러 일으킨다. 이와 같은 전자책은 언뜻 보기에는 3차원 형태의 전자책으로 보이지만, 실제로는 사용자의 직관에 큰 혼란을 주는 문제점이 있다(즉, 비직관적임).
특히, 비직관적인 전자책에 사용자 주석(책갈피, 메모, 형광펜, 줄긋기, 자유낙서 등)을 천편일률적으로 처리하는 경우, 종이책의 사용자 주석에 비해 사실감이 더욱 떨어진다. 더욱이, 전자책에서는 책갈피, 메모, 형광펜, 줄긋기, 자유낙서 등의 사용자 주석 기능을 모두 지원하지 못하고 있고, 일부분 기능만을 지원할 뿐이다.
따라서, 종이책과 가로-세로-두께의 배판 비율, 페이지 레이아웃 등이 동일한(심지어는 글자체까지 일치시킴) 3차원 코덱스(codex) 형식의 전자책을 구현하고, 이러한 3차원 직관성을 갖는 전자책에서 종이책과 동일한 사용자 주석 기능을 지원한다면 종이책이 갖는 사실감에 더하여 사용자 주석이 갖는 본연의 효과인 사용자 편의성을 증대시킬 수 있을 것이다.
그리고, 종래의 전자책 서비스 시스템에서는 임의의 인터넷 지원기기들(예를 들어 MS Windows 기반 컴퓨터, Mac OS X 기반 컴퓨터, iOS 기반 단말기, Android 기반 단말기 등)에서 개별적으로 처리한 사용자 주석이 다른 기기들에서 공유되거나 사용자 개개인이 구매하거나 대출한 전체 전자책을 대상으로 통합하여 검색할 수 없다. 즉, 종래의 전자책 서비스 시스템에서는 단일 전자책을 대상으로 사용자 주석을 검색할 수 있을 뿐이다. 따라서, 만약 사용자의 현재 소유하고 있는 전자책들, 예컨대 구매나 대출한 전자책들이 100종인 경우, 사용자가 어떠한 전자책에 특정한 주석(예를 들면, 책갈피 삽입, 메모지에 글을 써서 특정 페이지에 붙여넣기, 형광펜으로 특정 부분에 표시하기, 특정 부분에 밑줄을 긋기, 페이지에 직접적으로 펜이나 글쓰기나 그림 그리기 등)을 처리했는지를 기억해내지 못한다면, 이 사용자는 해당 주석을 찾기 위해서 자신의 전체 전자책을 일일이 열어서 검색을 수행해야만 하는 불편함이 있다.
본 발명의 목적은 사용자가 직관적으로 인식할 수 있는 3차원 전자책에서 사용자 주석을 사실감 있게 구현할 수 있는 사용자 주석 처리 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은 사용자가 기기에 무관하게 자신의 전체 전자책(사용자 개개인이 구매나 대출한 전자책들)에 구현된 사용자 주석을 통합하여 검색할 수 있도록 하는 전자책 서비스 시스템 및 방법을 제공하는 것이다.
본 발명의 일 특징에 따르면, 사용자가 직관적으로 인식할 수 있는 3차원 전자책에서 사용자 주석을 사실감 있게 구현할 수 있는 사용자 주석 처리 장치가 개시된다. 이 장치의 일실시예에 의하면, 화면상의 글자 크기에 기초하여 전자책에 삽입될 책갈피의 크기를 결정하고, 전자책의 측면 부위에서 책갈피의 위치를 결정한 후, 해당 책갈피를 전자책 상에 디스플레이한다. 다른 실시예에 의하면, 전자책에 삽입된 메모가 있음을 알려주는 표식의 형태와, 라인 간 객체의 거리에 기초하여 해당 표식의 크기와 위치를 결정한 후, 해당 표식을 전자책 상에 디스플레이한다. 또 다른 실시예에 따르면, 형광펜, 줄긋기 펜, 자유낙서 펜 중 적어도 하나의 펜의 두께, 픽셀의 너비, 화면 확대 배율에 기초하여 전자책에 표시될 펜의 굵기를 결정한 후, 해당 펜의 굵기로, 전자책의 소정 부위에 처리된 형광펜, 밑줄, 자유낙서 중 적어도 하나의 사용자 주석을 전자책 상에 디스플레이한다.
본 발명의 다른 특징에 따르면, 사용자가 기기에 무관하게 자신의 전체 전자책(사용자 개개인이 구매나 대출한 전자책들)에 구현된 사용자 주석을 통합하여 검색할 수 있도록 하는 전자책 서비스 시스템 및 방법이 개시된다. 이 시스템 및 방법에 의하면, 데이터베이스 관리 시스템(DBMS)에 전체 전자책의 고유번호를 저장하고, 사용자별로 전자책에 처리된 주석정보와, 주석정보가 저장되는 저장시간정보를 개인화 영역의 전자책 고유번호에 맵핑시켜 관리한다. 그리고, 주석 검색 요청에 응답하여, DBMS로부터 개인화 영역의 전자책 고유번호에 맵핑된 해당 주석정보를 검색하여 제공한다. 또한, 고유번호에 의거하여 전자책을 구별하고, 저장시간정보에 기초하여 주석정보를 동기화시킨다.
본 발명에 의하면, 전자문서를 포함하는 전자책에서도 종이문서나 종이책에 기입하는 것과 동일하게 사용자 주석을 사실감 있게 구현할 수 있는 이점이 있다.
또한, 본 발명은 3차원 코덱스(codex) 형식의 전자책을 구현하고, 이러한 3차원 직관성을 갖는 전자책에서 종이책과 동일한 사용자 주석 기능을 지원하여 사용자 편의성을 증대시킬 수 있는 이점이 있다.
또한, 본 발명은 일부 기기에서 처리한 사용자 주석을 다른 기기에서도 동기화시킬 수 있는 이점이 있다.
또한, 본 발명은 기기에 무관하게 자신의 전체 전자책(사용자 개개인이 구매나 대출한 전자책들)에 구현된 사용자 주석을 통합하여 검색할 수 있는 이점이 있다.
또한, 본 발명은 동기화를 위한 사용자 주석의 전송시 암호화하여 전송함으로써, 해킹의 위험으로부터 개인의 프라이버시를 보호할 수 있는 이점이 있다.
도 1 내지 도 3은 종래의 전자책을 도시한 도면.
도 4는 본 발명이 실시될 수 있는 예시적인 전자책 서비스 시스템의 구성을 개략적으로 도시한 도면.
도 5는 본 발명의 실시예에 따라 사용자 단말기의 구성을 도시한 도면.
도 6은 본 발명의 실시예에 따라 2차원 그래픽 함수를 이용한 디스플레이 변환 과정을 보여주는 도면.
도 7은 본 발명의 실시예에 따라 3차원 그래픽 함수를 이용한 디스플레이 변환 과정을 보여주는 도면.
도 8 내지 도 10은 본 발명의 실시예에 따라 사용자 단말기를 통하여 읽기 모드 영상이 디스플레이된 모습을 보여주는 도면.
도 11은 본 발명의 실시예에 따라 사용자 주석 처리 장치의 구성을 도시한 도면.
도 12는 본 발명의 실시예에 따라 책갈피가 삽입된 전자책을 보여주는 도면.
도 13 및 도 14는 본 발명의 실시예에 따라 사용자가 글자 크기를 설정하는 예를 보여주는 도면.
도 15는 본 발명의 실시예에 따라 비스듬히 누운 책의 측면 부위를 보여주는 도면.
도 16은 본 발명의 실시예에 따라 비스듬히 누운 책의 측면 부위에 삽입된 책갈피를 보여주는 도면.
도 17은 본 발명의 실시예에 따라 전자책에 메모를 삽입하는 과정을 보여주는 도면.
도 18은 본 발명의 실시예에 따라 메모가 있음을 알려주는 표식의 형태와 크기 및 위치를 보여주는 도면.
도 19는 본 발명의 실시예에 따라 전자책에 줄긋기 기능을 구현하는 예를 보여주는 도면.
도 20은 본 발명의 실시예에 따라 전자책에 자유낙서 기능을 구현하는 예를 보여주는 도면.
도 21은 본 발명의 실시예에 따라 전자책에 형광펜 기능을 구현하는 예를 보여주는 도면.
도 22는 본 발명의 실시예에 따라 사용자 주석을 동기화하는 절차를 나타낸 흐름도.
도 23은 본 발명의 실시예에 따라 사용자 주석을 검색하는 절차를 나타낸 흐름도.
이하 첨부된 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
도 4는 본 발명이 실시될 수 있는 예시적인 전자책 서비스 시스템의 구성을 개략적으로 도시한 도면이다.
도 4에 도시된 바와 같이, 전자책 서비스 시스템 환경(100)은 전체 전자책(개인화 영역의 전자책 및 비개인화 영역의 전자책)의 고유번호를 저장하고, 사용자별로 전자책에 처리된 주석정보와, 주석정보가 저장되는 저장시간정보를 개인화 영역의 전자책 고유번호에 맵핑시켜 관리하는 데이터베이스 관리 시스템(DBMS)(120)과, 주석 검색 요청에 응답하여, DBMS(120)로부터 개인화 영역의 전자책 고유번호에 맵핑된 해당 주석정보를 검색하여 제공하는 검색 서버(130)와, 고유번호에 의거하여 전자책을 구별하고, 저장시간정보에 기초하여 주석정보를 동기화시키는 주석 동기화 서버(140)를 포함한다.
여기서, 주석 검색 요청은, 주석 처리시 사용자가 임의로 입력한 주석의 명칭(주석명)이 될 수 있고, 개인화 영역의 전자책들 중 사용자 주석이 처리된 모든 주석정보의 요청이 될 수도 있다. 사용자가 구매하거나 대출한 전자책을 '개인화 영역의 전자책'이라 하고, 그외 전자책 도서관의 전자책을 '비개인화 영역의 전자책'이라 한다.
또한, 전자책 서비스 시스템 환경(100)은 사용자가 직관적으로 인식할 수 있도록 전자책을 3차원으로 표시하는(이렇게 표시된 전자책을 '3차원 코덱스(codex) 형식의 전자책'이라 한다) 사용자 단말기(110)를 더 포함할 수 있다. 사용자 단말기(110)를 통해 사용자가 직관적으로 인식할 수 있는 3차원 코덱스 형식의 전자책이 디스플레이된다. 3차원 코덱스 형식의 전자책을 디스플레이하는 과정에 대해서는 후술하기로 한다.
사용자가 단말기(110)에서 전자책 어플리케이션을 실행하면, 사용자 단말기(110)는 주석 동기화 서버(140)로의 접속을 시도한다.
주석 동기화 서버(140)는 사용자 단말기(110)에서 처리한 전자책의 사용자 주석을 공유할 수 있도록, 변동사항이 발생한 주석정보의 동기화를 제어한다. 즉, 주석 동기화 서버(140)는 사용자가 구매하거나 대출한 전자책을 여러 사용자 단말기1(110)를 사용하여 열람할 때, 임의의 기기에서 생성되거나 수정, 삭제된 사용자 주석을 다른 모든 기기(예컨대 사용자 단말기2,3(110))에서 공유할 수 있도록 주석정보를 동기화시킨다.
또한, 사용자 단말기(110)는 네트워크(150)를 통해 검색 서버(130) 및 데이터베이스 관리 시스템(DBMS)(120)과 연동하여 전자책(이때, 전자책은 개인화 및 비개인화 영역의 전자책이 대상이 될 수 있음)의 검색 및 특정 전자책(이때, 전자책은 사용자가 구매나 대출한 개인화 영역의 전자책이 될 수 있음)에 처리된 사용자 주석을 검색할 수 있다. 이때, 사용자 주석의 검색은 주석명의 직접 입력을 통한 주석정보(단일 전자책의 단일 주석정보)가 될 수 있고, 개인화 영역의 전자책들 중 사용자 주석이 처리된 모든 주석정보의 요청을 통한 주석 리스트(단일 또는 복수 전자책의 단일 또는 복수 주석정보)가 될 수 있다. 일실시예에 있어서, 주석 리스트 전송시에는 DBMS(120)에 저장된 기본적인 서지 정보들(예를 들면, 저자, 출판사, 제목 등)이 함께 전송될 수 있다.
일실시예에 있어서, 사용자 단말기(110)의 종류로는 PC 뿐만 아니라, 노트북, 핸드헬드(Hand-held) PC, PDA, 이동통신 단말기, 휴대 인터넷 단말기, 방송 수신기, DMB폰 등으로 대체 가능하며, 임의의 컴퓨팅 장치를 이용하여 유무선 인터넷 접속을 통해 전자책 서비스가 가능한 한, 그 종류에 구애받지 않음에 유의해야 한다. 또한, 네트워크(150)는 LAN 또는 WAN 등의 유선통신매체, WiFi/WiBro, 이동통신 시스템 등의 무선통신매체를 모두 포함할 수 있다. 일예로, MS Windows 기반 컴퓨터, Mac OS X 기반 컴퓨터, iOS 기반 단말기, Android 기반 단말기 등 모든 종류의 인터넷 지원 기기가 될 수 있다.
일실시예에 있어서, 사용자는 사용자 단말기(110) 및 네트워크(150)를 통해 검색 서버(130)와 연동하여 전자책의 검색과 더불어, 전자책에 처리된 사용자 주석을 검색할 수도 있다. 이때 '전자책에 처리된 사용자 주석'이라 함은, 사용자가 구매하거나 대출한 전자책들에서 임의의 사용자 단말기1(110)를 통해 특정한 주석, 예를 들면 책갈피 삽입, 메모지에 글을 써서 특정 페이지에 붙여넣기, 형광펜으로 특정 부분에 표시하기, 특정 부분에 밑줄을 긋기, 페이지에 직접적으로 펜이나 글쓰기나 그림 그리기 등을 처리한 것을 의미한다. 전자책에 처리된 사용자 주석은, 사용자 단말기1(110) 외에, 사용자 단말기2,3(110)에서도 단일 전자책을 대상으로 검색이 가능할 뿐만 아니라, 사용자가 구매나 대출한 전체 전자책을 대상으로 통합 검색도 가능하다.
검색 서버(120)는 전자책(개인화 및 비개인화 영역의 전자책)을 검색하고, 사용자 개개인이 구매나 대출한 전체 전자책들(개인화 영역의 전자책들)에 처리된 사용자 주석을 사용자별로 통합하여 검색한다.
즉, 검색 서버(130)는 검색용 단어(예컨대, 전자책명, 저자명, 본문 검색용 단어 등)를 입력받아서 전자책(즉, 비개인화 영역의 전자책 및 개인화 영역의 전체 전자책이 될 수 있음)의 검색을 수행하도록 구성할 수 있다. 이때, 검색을 통해 전체 전자책 중에서 사용자가 구매나 대출한, 즉 개인화 영역의 전자책은 DBMS(120)에 사용자별로 저장ㆍ관리된다.
또한, 검색 서버(130)는 개인화 영역의 전자책에 처리한 사용자 주석의 검색(단일 검색 또는 통합 검색)을 수행하도록 구성할 수 있다. 사용자가 임의의 사용자 단말기(110)를 통해 개인화 영역의 전자책에서 처리한 사용자 주석정보는 DBMS(120)에 사용자별로 저장ㆍ관리된다. 일실시예에 있어서, 사용자 단말기(110)로부터 사용자 주석의 검색을 위해 주석명(주석 처리시 사용자가 입력한 주석의 명칭)이 입력되면, 검색 서버(130)는 DBMS(120)를 조회하여 해당 주석정보(단일 전자책의 단일 주석정보)를 사용자 단말기(110)로 전송한다. 다른 실시예에 있어서, 사용자 단말기(110)로부터 개인화 영역의 전자책들 중 사용자 주석이 처리된 모든 주석정보의 요청을 받으면, 검색 서버(130)는 DBMS(120)를 조회하여 해당 사용자의 모든 주석정보(단일 또는 복수 전자책의 단일 또는 복수 주석정보)를 포함하는 주석 리스트를 사용자 단말기(110)로 전송한다.
DBMS(120)는 네트워크(150)를 통해 사용자 개개인이 구매나 대출한 전자책(개인화 영역의 전자책)을 사용자별로 저장하고, 사용자 단말기(110) 상에서 3차원 코덱스 형식의 전자책에 처리된 사용자 주석정보(책갈피 정보, 메모 정보, 형광펜 정보, 줄긋기 정보, 자유낙서 정보 등)를 사용자별로 저장ㆍ관리한다.
즉, DBMS(120)는 개인화 영역의 전자책들과 이들 중 임의의 전자책에 처리된 사용자 주석정보를 맵핑시켜 사용자별로 저장ㆍ관리한다. 일실시예에 있어서, 전자책의 고유번호와 사용자 주석정보를 맵핑시켜 관리한다. 다른 실시예에 있어서, 주석정보의 동기화를 위해서, DBMS(120)는 전자책 고유번호 및 사용자 주석정보와 더불어, 주석정보가 주석 동기화 서버(120)를 통해 DBMS(120)에 저장되는 저장시간정보와, 전자책에 처리된 주석정보가 발송된 사용자 단말기(110)의 고유번호를 추가적으로 맵핑시켜 관리한다.
다른 실시예에 있어서, 사용자 단말기(110)가 전자책 어플리케이션을 실행하여 주석 동기화 서버(140)로의 접속에 성공하면, 주석 동기화 서버(140)는 검색 서버(130)를 제어하여 주석 리스트를 사용자 단말기(110)로 제공한다. 이때, 주석 리스트를 제공받을지 여부는 사용자의 확인에 의해 이루어진다.
사용자 단말기(110)는 자신의 단말기에 저장된 전자책의 주석정보를 통합하여 검색할 수 있을 뿐만 아니라, 주석 리스트를 바탕으로 자신의 단말기에 저장되어 있지 않고 DBMS(120)에 저장된 전자책의 주석정보에 대해서도 통합하여 검색할 수 있다.
상기에서, 개인화 영역의 전자책들과 이들 중 임의의 전자책에 처리된 사용자 주석정보를 저장해두고 사용자 주석정보를 단일 또는 통합 검색하기 위한 DBMS(120) 및 검색 서버(130)의 기능은 사용자 단말기(110) 내부에도 동일하게 구현된다. 자세한 설명은 도 5에서 후술하기로 한다.
이하에서는 우선 3차원 코덱스 형식의 전자책을 디스플레이하는 과정(도 6 ~ 도 10)에 대해 살펴보고, 이후 3차원 코덱스 형식의 전자책에 사용자 주석을 처리하는 과정(도 11 ~ 도 21)과 사용자 주석을 동기화하고 검색하는 과정(도 22 및 도 23)을 순차적으로 살펴보기로 한다.
도 5는 본 발명의 실시예에 따른 사용자 단말기(110)의 구성을 도시한 도면이다.
사용자 단말기(110)는 저장부(510), 제어부(520), 입력부(530) 및 디스플레이부(540)를 포함한다.
사용자가 전자책을 구매하거나 대출하는 경우, 해당 개인화 영역의 전자책은 저장부(510)에 저장ㆍ관리된다. 또한, 개인화 영역의 전자책에서 처리한 사용자 주석정보 역시 저장부(510)에 저장ㆍ관리된다.
저장부(510)는 개인화 영역의 전자책들과 이들 중 임의의 전자책에 처리된 사용자 주석정보를 맵핑시켜 저장ㆍ관리한다. 일실시예에 있어서, 전자책의 고유번호와 사용자 주석정보를 맵핑시켜 관리한다. 다른 실시예에 있어서, 주석정보의 동기화를 위해서, 저장부(510)는 전자책 고유번호와 사용자 주석정보와 더불어, 주석정보를 주석 동기화 서버(120)에 기록하는 시간정보를 추가적으로 맵핑시켜 관리한다. 따라서, 제어부(520)는 개인화 영역의 전자책에 처리한 사용자 주석의 검색(단일 검색 또는 통합 검색)을 수행할 수 있다.
상기 저장부(510)에 저장되는 개인화 영역의 전자책은, 소정의 데이터 구조를 갖는 전자책 파일을 포함한다.
참고적으로, 전자책 파일은 각 페이지의 전체 이미지를 보여주는 이미지 영역(전자책 영상 정보), 각 페이지에 존재하는 글자들의 코드값의 영역과 내부 글자 영역을 포함하는 데이터 구조로 구성될 수 있다. 실시예에 따른 전자책 파일의 이미지 영역(전자책 영상 정보)은 실제 각 페이지의 이미지, 사진 또는 컴퓨터가 각 페이지의 이미지를 즉시 생성할 수 있도록 해주는 명령어들이 집합된 영역일 수 있다.
여기서, 내부 글자 영역은 논리적 영역으로 전자 문서의 컨텐츠를 구성하는 최소 단위로 "글자", "이미지", "테이블 글자" 등을 포함하는 객체를 포함한다. 여기서, 글자는 의미가 있는 문자이며, 이미지는 사진, 그림, 이미지로 표현된 수식, 표 등을 포함한다. 테이블 글자는 이미지를 설명하는 글자로 일반적으로 화면에 표시되지 않는 숨은 글자를 의미한다. 전자책 파일의 각 객체는 "글자 코드," "글자 속성"과 "화면에서의 좌표" 정보를 포함한다. 글자 코드는 해당 글자를 디스플레이부(540)의 화면상에 표시하기 위한 코드이고, 글자 속성은 글자의 폰트 정보, 예를 들어, 볼드, 언더라인, 이탤릭체 등에 관한 정보이다. 또한, 화면에서의 좌표 정보는 전자책 파일의 원본에서 각 글자의 크기 정보를 포함한다. 이 정보들을 활용하여 글자나 이미지가 해당 페이지의 전체 이미지 영역에서 어디에 위치하고 어떤 영역을 점유하는지를 추적할 수 있다. 또한, 테이블 글자를 활용하여 전자문서 등의 전자책에서 이미지 형식으로 표현되는 표, 사진, 수식 등에 대해서도 문자 검색을 할 수 있으며, 테이블 글자도 객체로서 화면에서의 좌표값을 가지므로 해당 그림이 해당 페이지에서 어디에 위치하는지를 검색할 수 있다.
또한, 내부 글자 영역은 객체들의 집합인 라인을 포함한다. 전술한 바와 같이, 전자책 파일의 내부 글자 영역을 구성하는 최소 단위는 객체이며, 이 객체들 가운데 동일한 수평 직선(가로쓰기 책의 경우), 또는 수직 직선(세로쓰기 책의 경우) 상에 존재하는 객체들을 모으면 라인이 된다. 즉, 라인은 동일선 상에 있는 객체들의 집합을 나타낸다.
또한, 내부 글자 영역은 소정 라인들의 집합인 그룹을 포함한다. 전자책에서 각각의 페이지에서 본문 내용이 적절히 연결되는 라인들을 묶어서 그룹을 설정할 수 있다. 즉, 그룹은 해당 내용을 읽어 나갈 때 내용의 연결이 자연스럽게 진행되는 각 라인들의 집합을 나타낸다. 예컨대, 그룹은 적어도 하나의 라인에 포함된 객체들의 좌표값들을 분석하여 적어도 하나의 객체들의 군집 분포를 획득하고 군집 별로 클러스터링하여 그룹을 설정할 수 있다. 여기서, 그룹은 문단과 유사할 수 있다.
또한, 내부 글자 영역은 그룹들의 집합인 페이지를 포함한다. 그룹은 여러 페이지로 구성할 수 있지만, 하나의 페이지를 그룹을 구성할 수도 있다. 즉, 페이지와 그룹이 같을 수도 있다. 그런데, 페이지와 그룹이 같기 위해서 해당 페이지는 반드시 문단이 하나인 문서이어야만 한다. 만약에 페이지가 복수 개의 문단으로 구성되어 있다면 해당 페이지는 여러 개의 그룹으로 구성될 수밖에 없다. 복수 개의 문단으로 구성된 문서에서는 동일선 상에 존재하지만 그대로 따라 읽으면 내용의 연결이 안 되는 라인이 존재할 수 있기 때문이다. 그룹 내부의 라인을 순차적으로 읽어 나가면 반드시 내용이 정확하게 연결되어야만 한다는 제약을 만족해야만 한다. 내부 글자 영역은 페이지의 집합인 책을 포함한다. 즉, 전자책 파일은 "책 > 페이지 > 그룹 > 라인 > 객체"로, 즉 책, 페이지, 그룹, 라인, 객체의 순서로 계층화된 구조로 구성되어 저장부(510)에 저장된다.
전술한 이미지 영역, 즉 전자책 영상 정보는, 전자책의 좌측 측면 영상, 우측 측면 영상, 좌측 전자책 영상 및 우측 전자책 영상을 포함할 수 있다. 좌측 및 우측 측면 영상은 전자책의 좌,우측 측면을 나타내기 위한 영상을 나타내고, 좌측 및 우측 전자책 영상은 전자책의 본문 내용을 나타내기 위한 좌,우측의 영상을 나타낼 수 있다.
제어부(520)는 읽기 모드 영상과 빠른 이동 모드 영상을 형성할 수 있다. 읽기 모드는 사용자가 일반적으로 사용자 단말기(110)를 이용하여 전자책을 읽을 경우에 사용되는 모드를 나타내고, 빠른 이동 모드는 사용자의 간단한 조작으로 전자책의 원하는 페이지로 빠르게 이동하기 위한 경우에 사용되는 모드를 나타낸다. 제어부(520)는 저장부(510)에 저장되어 있는 전자책 영상 정보가 포함하는 좌측 측면 영상과 우측 측면 영상의 디스플레이 변환을 수행하고 디스플레이 변환된 좌측 및 우측 측면 영상과 좌측 및 우측 전자책 영상을 합성하여 읽기 모드 영상을 형성할 수 있다. 예컨대, 제어부(520)는 저장부(510)에 저장되어 있는 전자책 영상 정보가 포함하는 2차원의 좌측 측면 영상과 우측 측면 영상의 시점 변환(perspective transform), 즉 디스플레이 변환을 수행하여 읽기 모드 영상을 형성할 수 있다.
여기서, 디스플레이 변환을 수행하는 방법은 두 가지가 존재할 수 있다. 하나는 운영체제에서 지원하는 2차원 그래픽 함수를 이용하는 방법이고, 다른 하나는 운영체제에서 지원하는 3차원 그래픽 함수를 이용하는 방법이다. 예를 들어, 마이크로소프트 윈도우즈(MS-Windows) 운영체제에서는 2차원 그래픽 함수와 3차원 그래픽 함수를 혼합하여 사용하기가 어렵기 때문에 2차원 그래픽 함수만을 사용하여 좌측 측면 영상과 우측 측면 영상의 디스플레이 변환을 수행할 수 있다. 그리고 Mac OS X나 iOS와 같은 운영체제에서는 2차원 그래픽 함수와 3차원 그래픽 함수를 혼합하여 사용하는 것이 편리하기 때문에, 2차원 그래픽 함수를 바탕으로 좌측 측면 영상과 우측 측면 영상의 디스플레이 변환을 수행하는 것보다는 3차원 그래픽 함수만을 이용하여 좌측 및 우측 측면 영상을 표현하는 것이 화면 출력 속도 면에서 유리하다.
이해를 돕기 위하여, 이하에서는 2차원 그래픽 함수를 이용하는 방법과 3차원 그래픽 함수를 이용하여 디스플레이 변환을 수행하는 방법에 대해서 설명하고, 2차원 그래픽 함수와 3차원 그래픽 함수에서 이용되는 변수들 사이의 관계식에 대해서도 설명하기로 한다.
아울러, 제어부(520)는 저장부(510)에 저장되어 있는 전자책 영상 정보가 포함하는 2차원의 좌측 및 우측 전자책 영상의 디스플레이 변환을 수행하고, 변환된 좌측 및 우측 전자책 영상과 전자책 영상 정보가 포함하는 2차원의 좌측 및 우측 측면 영상을 합성하여 빠른 이동 모드 영상을 형성할 수 있다.
입력부(530)는 사용자 입력을 받아서 읽기 모드 영상과 빠른 이동 모드 영상 간의 영상 전환을 위한 영상 전환 신호를 형성한다. 예로서, 입력부(530)는 마우스(mouse), 터치 패드(touch pad) 등을 포함할 수 있지만, 이들에 제한되는 것은 아니다.
한편, 제어부(520)는 영상 전환 신호를 입력받을 경우 디스플레이부(540)에 디스플레이되는 읽기 모드 영상과 빠른 이동 모드 영상 간의 영상 전환을 수행할 수 있다. 즉, 제어부(520)는 디스플레이부(540)에 읽기 모드 영상이 디스플레이되어 있는 상태에서 영상 전환 신호가 입력되면, 빠른 이동 모드 영상을 디스플레이하도록 제어할 수 있다. 아울러, 제어부(520)는 빠른 이동 모드 영상을 디스플레이하기 위해서 디스플레이부(540)의 화면을 4개의 영역으로 분할하도록 제어할 수 있다.
디스플레이부(540)는 제어부(520)에서 형성한 읽기 모드 영상 또는 빠른 이동 모드 영상을 디스플레이한다. 아울러, 디스플레이부(540)는 터치 패드 등을 포함하여 사용자 입력을 받기 위한 입력부(530)의 기능을 함께 수행할 수 있다. 디스플레이부(540)는 CRT(Cathode Ray Tube) 디스플레이, LCD(Liquid Crystal Display), OLED(Organic Light Emit Diode) 디스플레이 등을 포함할 수 있다.
도 6은 본 발명의 실시예에 따라 2차원 그래픽 함수를 이용한 디스플레이 변환 과정을 보여주는 도면이다.
도 6을 참조하여 왼쪽 직사각형 형태의 2차원 영상(2D)의 (X, U)라는 특정 위치를 디스플레이 변환하면 오른쪽 사다리꼴 형태의 3차원 영상(3D)의 (Y, V)라는 위치로 변환된다고 가정하면, 3차원 영상(3D)에서의 가로 좌표 Y는 다음의 수학식 1과 같이 표현될 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 1
Figure WO-DOC-MATHS-1
여기서, W는 직사각형 형태의 2차원 영상(2D)에서 가로 방향의 길이를 나타내고, L1은 직사각형 형태의 2차원 영상(2D)에서 세로 방향의 길이 및 사다리꼴 3차원 영상(3D)에서 밑변의 길이를 나타내며, L2는 사다리꼴 3차원 영상(3D)에서 윗변의 길이를 나타낸다.
한편, 3차원 영상(3D)에서의 세로 좌표 V는 다음의 수학식 2와 같이 표현될 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 2
Figure WO-DOC-MATHS-2
3차원 영상(3D)에서 (Y, V) 위치에 해당되는 영상의 픽셀 정보를 얻어 오려면 수학식 1을 이용하여 가로 좌표 X 값을 구하고, 수학식 2를 이용하여 세로 좌표 U 값을 구하여 해당되는 2차원 영상(2D)의 (X, U) 위치에 해당하는 픽셀 정보를 이용하여 3차원 영상(3D)의 대응 위치 (Y, V)의 픽셀 정보로 사용할 수 있다. 도 6에서 2차원 영상(2D)의 원점(O)은 직사각형의 가운데 점을 통과하는 위치라고 가정할 수 있다.
도 7은 본 발명의 실시예에 따라 3차원 그래픽 함수를 이용한 디스플레이 변환 과정을 보여주는 도면이다.
도 7을 참조하면, 3차원 그래픽 함수를 이용하여 2차원 영상(2D')을 3차원 영상(3D')으로 디스플레이 변환하려면 2차원 영상(2D')의 한쪽 세로변을 축으로 삼아서 회전을 해야 한다. 도 7은 2차원 영상(2D')을 왼쪽 세로변을 회전축으로 삼아서 회전시켜 오른쪽의 사다리꼴 3차원 영상(3D')을 얻은 것으로 해석할 수도 있다. 원점의 위치는 2차원 영상(2D') 왼쪽 세로변 가운데(O')에 위치하고, 3차원 그래픽 함수를 적용하기 위해서 관측점인 눈(Eye)은 원점(O')으로부터 E만큼 이격된 거리에 위치하고, 눈과 사영평면(Projection Plane) 사이의 거리는 D, 회전하는 각도를 세타(Theta, θ), 2차원 영상(2D')의 가로 길이를 A, 세로 길이를 B라고 가정하면, 2차원 영상(2D')의 회전축인 왼쪽 세로변 맞은 편 모서리 좌표들은 각각 (A, B/2)와 (A, - B/2)가 된다. 이와 같이, 2차원 영상(2D')의 왼쪽 세로변을 축으로 삼아서 회전을 하면 디스플레이 변환된 3차원 영상(3D')을 얻을 수 있다. 2차원 영상(2D')과 3차원 영상(3D') 사이에는 다음의 관계식이 성립한다. 2차원 영상(2D')의 가로 좌표값을 Q, 세로 좌표값을 R이라고 하면 대응하는 3차원 영상(3D')의 가로 좌표 S, 세로 좌표 T는 다음의 수학식 3 및 수학식 4와 같이 표현될 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 3
Figure WO-DOC-MATHS-3
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 4
Figure WO-DOC-MATHS-4
한편, 도 6 및 도 7의 π는 다음의 수학식 5에서와 같이 2차원 그래픽 함수의 변수와 3차원 그래픽 함수의 변수를 이용하여 나타낼 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 5
Figure WO-DOC-MATHS-5
도 8 내지 도 10은 본 발명의 실시예에 따라 사용자 단말기(110)를 통하여 읽기 모드 영상이 디스플레이된 모습을 보여주는 도면이다.
도 8 내지 도 10을 참조하면 현재 읽고 있는 전자책의 페이지 위치에 따라서 전자책 좌,우측 측면 영상의 좌우 배분과 모양이 달라진다. 이를 구현하기 위한 방법은 다음과 같다. 우선, 제어부(520)에서 전자책의 좌측 측면 영상을 형성하는데 사다리꼴의 방향은 도 6 및 도 7의 3차원 영상(3D, 3D') 사다리꼴의 반대 방향으로 형성된다. 즉, 도 6 및 도 7과는 반대로 왼쪽 세로변의 길이가 오른쪽 세로변의 길이보다 짧은 사다리꼴 형태를 나타낸다. 좌측 측면 영상의 폭(W')은 다음의 수학식 6과 같이 나타낼 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 6
Figure WO-DOC-MATHS-6
여기서, W는 전자책의 전체 두께를 나타낸다.
이후, 제어부(520)는 전자책의 우측 측면 영상을 형성하는데 사다리꼴의 방향은 도 6 및 도 7의 3차원 영상(3D, 3D') 사다리꼴과 동일한 형태로 형성된다. 즉, 도 6 및 도 7에서처럼 오른쪽 세로변의 길이가 왼쪽 세로변의 길이보다 짧은 사다리꼴 형태를 나타낸다. 우측 측면 영상의 폭(W'')은 다음의 수학식 7과 같이 나타낼 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 7
Figure WO-DOC-MATHS-7
여기서, W는 전자책의 전체 두께를 나타낸다.
제어부(520)는 이러한 방법으로 형성한 좌측 측면 영상을 좌측 전자책 영상의 왼쪽에 합성하고, 우측 측면 영상을 우측 전자책 영상의 오른쪽에 합성하여 읽기 모드 영상을 형성할 수 있다.
이와 같은 과정을 통해서 종이책과 가로-세로-두께의 배판 비율, 페이지 레이아웃 등이 동일한(심지어는 글자체까지 일치시킴) 3차원 코덱스(codex) 형식의 전자책을 구현(디스플레이)할 수 있다.
이제, 사용자 단말기(110)의 화면상에 디스플레이된 3차원 직관성을 갖는 전자책에서 종이책과 동일한 사용자 주석 기능을 처리하는 과정을 구체적으로 살펴보기로 한다. 본 발명의 실시예에서는 사용자 주석 기능으로 책갈피, 메모, 형광펜, 줄긋기, 자유낙서 등을 보여준다.
도 11은 본 발명의 실시예에 따라 사용자 주석 처리 장치(500)의 구성을 도시한 도면이다. 사용자 주석 처리 장치는 사용자 단말기(110)의 제어부(520) 내에 구비되거나 별도의 모듈로 구현될 수 있다.
사용자 주석 처리 장치(500)는 책갈피 처리부(51), 메모 처리부(52), 형광펜 처리부(53), 줄긋기 처리부(54) 및 자유낙서 처리부(55)를 포함한다. 책갈피 처리부(51)는 세로 너비 결정부(511), 가로 너비 결정부(512), 측면 세로 위치 결정부(513) 및 측면 가로 위치 결정부(514)를 포함한다. 사용자 주석 처리 장치(500)의 각 주석 처리부(51~55)는 독립적으로 수행될 수 있고, 일부 또는 전체의 조합으로도 수행될 수 있다. 그리고, 디스플레이부(540)는 각 주석 처리부(51~55)의 처리 결과에 기초하여 사용자 주석을 디스플레이한다.
책갈피 처리부(51)는 화면상의 글자 크기에 기초하여 전자책에 삽입될 책갈피의 크기를 결정하고, 전자책의 측면 부위에서 책갈피의 위치를 결정한다. 화면상의 글자 크기는, 사용자가 선택한 글자의 크기(높이)를 픽셀 단위로 환산한 것으로, 실제 해당 화면에 나타난 글자의 크기이다. 여기서, 책갈피의 크기는 책갈피의 세로 방향 너비와 가로 방향 너비를 포함하고, 책갈피의 위치는 책 측면 부위에서 책갈피의 가로 위치와 세로 위치를 포함한다. 책갈피 처리부(51)에서 크기와 위치가 결정된 책갈피는 전자책에 삽입되어 디스플레이부(540)를 통해 화면 출력된다. 도 12는 사용자가 선택한 글자의 크기에 기초하여 크기와 위치가 결정된 책갈피가 3차원 코덱스(codex) 형식의 전자책에 삽입된 모습을 보여준다.
3차원 코덱스(codex) 형식의 전자책은 실제 종이책과 거의 똑같은 모습을 지니고 있기 때문에, 기술적으로 해결해야 할 중요한 문제들로 '책갈피의 세로 방향 너비 결정', '책갈피의 가로 방향 너비 결정', 그리고 '책 측면 부위에서 책갈피의 세로 위치', '책 측면 부위에서 책갈피의 가로 위치' 등이 있다. 그리고, 전자책에 책갈피를 하는 근본적인 이유는 해당 책갈피를 통하여 책갈피가 꽂힌 페이지로 곧 바로 이동하기 위해서인데, 이를 제대로 수행하기 위해서는 사용자가 선택한 위치가 어떤 책갈피에 해당되는지를 결정하기 위한 기술이 필요하다. 이는 사용자가 선택한 위치에 여러 개의 책갈피가 겹쳐 있을 수도 있기 때문이다.
'책갈피의 세로 방향 너비'를 고정하는 것은 전자책의 편리한 사용을 고려할 때 별로 좋은 방법이 아니다. 왜냐하면 전자책이 구현되는 화면의 크기는 제각각이기 때문에, A라는 해상도와 '갑'이라는 크기를 가진 모니터에서 적절하게 통용되는 '책갈피의 세로 방향 크기'가 B라는 해상도와 '을'이라는 크기를 가진 모니터에서도 적절하리라는 보장은 없기 때문이다. 여기서, 적절한 크기란 '사용자가 보기에 책갈피가 꽂혀 있음을 눈으로 쉽게 식별할 수 있고, 해당 책갈피가 꽂힌 페이지로 곧바로 이동하기 위해서 그 책갈피를 각종 스타일러스, 손가락, 마우스 등의 포인팅 장치로 선택하기가 쉬운 크기'를 의미한다. 이 문제를 해결하기 위해서, 본 발명에서는 사용자들에게 여러 가지의 크기를 가진 글자들(예를 들어, 5폰트에서 100폰트 사이의 크기를 가지는 여러 글자들) 가운데, 사용자가 편안하게 식별 가능한 최소의 글자를 선택하도록 한다. 이렇게 사용자가 선택한 글자의 폰트 크기를 알면 사용자가 선택한 글자의 크기(높이)를 픽셀 단위로 환산할 수 있다. 이를 구체적으로 살펴보면 다음과 같다.
사용자는 입력부(530)를 통하여 글자 크기 설정 모드를 선택하여 디스플레이부(540)의 화면상에 표시되는 글자의 크기를 임의적으로 설정할 수 있다. 입력부(530)를 통하여 글자 크기 설정 모드가 설정되면, 제어부(520)는 글자 설정 인터페이스가 화면상에 표시되도록 디스플레이부(540)를 제어한다. 사용자는 글자 설정 인터페이스를 통하여 사용자가 판독할 수 있는 글자의 최소 크기에 대한 정보를 입력할 수 있다.
한편, 디스플레이부(540)의 화면 해상도에 따라서 실제로 표시되는 글자의 크기가 서로 다를 수 있으므로 실제 표시된 글자의 크기를 산출하는 것이 필요하다. 사용자가 선택한 읽을 수 있는 최소 크기의 글자가 화면에 표시되었을 때 실제 화면상에서의 글자 크기는 다음과 같이 산출할 수 있다. 즉, 사용자가 임의적으로 설정할 수 있는 글자의 크기, 예컨대 자신이 판독할 수 있는 최소 글자의 크기를 X(point)라고 선택하였고, 해당 디스플레이부(540)의 화면 해상도가 Y(ppi(pixel per inch))이고, 운영체제에서 설정한 글자의 확대 배율이 Z(pixels/point, 참고로, Mac OS X에서는 1, MS-Windows에서는 4/3을 사용함)라고 하면, 화면상에서 실질적으로 표시되는 판독 가능한 글자의 실제 크기(SR)는 다음 수학식 8과 같이 산출할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 8
Figure WO-DOC-MATHS-8
여기서, 기호 { }는 소수 첫째 자리에서 반올림하는 연산 기호를 의미이다.
도 13 및 도 14는 사용자가 글자 크기를 설정하는 예를 보여주는 도면으로, 터치스크린이 장착된 사용자 단말기(110)에서 사용자가 자신이 판독할 수 있는 최소 글자 크기를 설정하는 화면의 예를 보여준다. 도 13 및 도 14에 도시된 바와 같이, 사용자 단말기(110)의 터치스크린상에서 소정 부분(131, 141)에서 손가락, 스타일러스(stylus) 등을 이용하여 드래그 입력으로 글자의 크기를 설정할 수 있다. 드래그 길이에 따라서 글자의 크기를 조절할 수 있으며, 해당 드래그 길이에 대응하는 크기의 글자를 보여주는 예문(132, 142)도 함께 화면상에 함께 표시될 수 있다.
전술한 실시예에서 글자의 크기 설정을 터치스크린 상에서 드래그 입력의 길이로 설정하는 구성을 설명하였지만, 글자 크기 설정은 이에 국한되지 않는다. 다른 실시예로, 키보드를 이용하여 사용자가 직접 글자 크기를 설정하거나 디스플레이부(540)의 화면상에 글자 크기를 풀다운 또는 풀업 메뉴 등으로 제공하여 마우스 포인터를 이용하여 선택할 수 있으며, 또한 다수의 글자 크기를 라디오 버튼 등을 이용하여 선택할 수 있게 구성할 수 있다.
예컨대, 사용자가 입력부(530)를 통하여 사용자가 설정한 판독 가능한 최소 글자 크기를 선택하면, 제어부(520)는 저장부(510)로부터 전자책 파일을 독출하여 소정의 확대 배율로 전자책 파일을 확대하고 각 확대 배율의 전자책 파일에서의 글자 크기와 설정된 판독 가능한 글자 크기를 비교하여 전자책 파일을 디스플레이부(540)의 화면상에 표시할 확대 배율을 선택한다. 일실시예에 있어서, 확대 배율은 다음 8가지의 확대 배율이 존재할 수 있다.
제1 확대 배율은 전자책의 양쪽 두 페이지의 본문을 비롯하여 책의 측면 부위까지 모두 표시하는 확대 비율이다. 제2 확대 배율은 전자책의 측면 부분 없이 책의 양쪽 두 페이지만을 표시하는 확대 배율이고, 제3 확대 배율은 전자책의 양쪽 두 페이지를 표시하되, 글자가 없는 여백부분이 표시되지 않는 확대 배율이다. 또한, 제4 확대 배율은 전자책의 한 페이지와 측면 부위가 표시되는 확대 배율이고, 제5 확대 배율은 전자책의 한 페이지만 표시하되, 측면 부위가 표시되지 않는 확대 배율이며, 제6 확대 배율은 전자책의 한 페이지만 표시하되, 글자가 없는 여백이 표시되지 않는 확대 배율이다. 또한, 제7 확대 배율은 한 페이지 전체가 표시되지 않고 해당 페이지 내의 그룹들을 적절한 개수만큼 묶여서 그룹 단위로 표시하는 확대 배율이고, 제8 확대 배율은 하나의 그룹을 분할하여 그룹의 일부분만 화면에 표시하는 확대 배율이다.
제어부(520)는 저장부(510)로부터 독출한 전자책 파일을 전술한 제1 확대 배율 내지 제8 확대 배율로 확대한다. 또한, 제어부(520)는 각 확대 배율로 조절된 전자책에서의 글자 크기와 사용자가 선택한 판독 가능한 최소 글자 크기를 비교하여, 확대된 전자책에서의 글자가 판독 가능한 최소 글자 크기보다 같거나 크게 표시되는 확대 배율들을 선택하고, 선택된 확대 배율들 중에서 전자책의 전체 윤곽이 가장 많이 표시할 수 있는 확대 배율을 선택한다. 한편, 전술한 바와 같이, 디스플레이부(540)의 화면 해상도에 따라서 실질적으로 디스플레이부(140)의 화면에 표시되는 글자의 물리적인 크기가 서로 다르게 표시될 수 있다. 따라서, 전술한 8가지 확대 배율들 중 어떤 확대 배율에 따른 전자책들이 판독 가능한 최소 글자 크기 보다 같거나 큰지를 판단하기 위해서는 각 확대 배율마다 화면에 보이는 글자의 실제 물리적 크기를 고려한다. 일실시예에 있어서, 제어부(520)는 입력부(530)의 입력으로 설정된 글자 크기에 기초하여 디스플레이부(540)의 화면에 해당 글자가 표시되었을 때의 제1 물리적 크기를 산출하고, 소정의 확대 배율의 전자책의 글자가 디스플레이부(540)의 화면에 표시되었을 때의 제2 물리적 크기를 산출하고, 제1 물리적 크기와 제2 물리적 크기를 비교하여 디스플레이부(540)에 전자책을 표시할 확대 배율을 선택한다.
한편, 상기와 같은 방식을 통해 구한 '사용자가 선택한 최소 크기 글자'의 화면 크기(픽셀 단위)와 '책갈피의 세로 방향 너비'를 연계한다.
세로 너비 결정부(511)는 다음의 수학식 9를 통해 책갈피의 세로 방향 너비를 결정할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 9
Figure WO-DOC-MATHS-9
여기서, C는 책갈피의 세로 방향 너비를 결정하기 위한 임의의 상수이다.
가로 너비 결정부(512)는 다음의 수학식 10을 통해 책갈피의 가로 방향 너비를 결정할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 10
Figure WO-DOC-MATHS-10
여기서, D는 책갈피의 가로 방향 너비를 결정하기 위한 임의의 상수이다.
측면 세로 위치 결정부(513)는 책 측면 부위에서 책갈피의 세로 위치를 결정한다. 예컨대, '책 측면 부위에서 책갈피의 세로 위치'는 임의로 결정할 수 있다. 일실시예에 있어서, 새로운 책갈피를 삽입하고자 할 때 해당 책갈피의 세로 위치를 다음의 수학식 11을 통해 결정할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 11
Figure WO-DOC-MATHS-11
이처럼 책 측면 부위에서 책갈피의 세로 위치를 임의로 결정할 수 있는 이유는, 일반적으로 컴퓨터상에서 발생시킬 수 있는 난수들의 확률분포는 각 대역별로 모두 똑같은 발생 빈도 확률값이 나오는 평활화된(flat) 확률분포 모습을 보이기 때문이다. 본 발명의 방식을 사용하면 여러 페이지에 걸쳐서 수많은 책갈피들을 삽입하는 경우에도 각 책갈피들의 세로 높이들이 일치할 확률이 최소화될 수 있기 때문이다. 만약, 특정 책갈피들의 세로 높이가 서로 일치하면 이후 사용자가 자신이 삽입한 책갈피들 가운데 특정한 하나를 선택할 때 동일한 세로 위치로 인하여 화면상에서 그 영역이 겹쳐서 보이고 이로 인해서 책갈피를 잘못 선택하는 불편함을 줄이기 위함이다.
추가적으로, 사용자는 측면 세로 위치 결정부(513)에서 결정된 '책 측면 부위에서 책갈피의 세로 위치'를 입력부(530)를 통해 임의적으로 변경시킬 수도 있다.
측면 가로 위치 결정부(514)는 책 측면 부위에서 책갈피의 가로 위치를 결정한다. 일실시예에 있어서, 만약 책갈피가 삽입된 페이지 번호가 E, 현재 화면에 펼쳐져 있는 페이지 번호가 F이고, 만약 E < F 이고 해당 전자책이 왼쪽에서 오른쪽으로 페이지 수가 커지는 경우라면, 해당 책갈피는 펼쳐진 책의 왼쪽에 위치하고 '책 왼쪽 측면 부위에서 책갈피의 가로 위치'는 다음의 수학식 12를 통해 결정할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 12
Figure WO-DOC-MATHS-12
한편, 책갈피가 삽입된 페이지 번호가 E, 현재 화면에 펼쳐져 있는 페이지 번호가 F이고, 만약 E > F 이고 해당 전자책이 왼쪽에서 오른쪽으로 페이지 수가 커지는 경우라면, 해당 책갈피는 펼쳐진 책의 오른쪽에 위치하고 '책 오른쪽 측면 부위에서 책갈피의 가로 위치'는 다음의 수학식 13을 통해 결정할 수 있다.
[규칙 제91조에 의한 정정 04.07.2012] 
수학식 13
Figure WO-DOC-MATHS-13
하지만, 이와 같은 방식으로 계산하면 도 12와 같은 전자책의 화면에서는 잘 적용될 수 있지만, 도 16과 같은 전자책의 화면에서는 오차가 심하여 적용이 어려울 수 있다. 도 15와 같은 비스듬히 누운 책의 측면에는 전자책이 펼쳐진 모습이 보이는데, 책의 측면부위는 수학적으로 시점 변환(perspective transform)된 형태로 보이게 된다. 따라서, 책의 측면 부위가 시점 변환된 경우라면 이를 반영하여 앞에서 구한 '책 측면 부위에서 책갈피의 가로 위치'도 보정해 주어야 한다. 즉, 도 6과 같은 시점 변환 과정이 필요하고, 정확한 위치는 상기 수학식 1을 활용하여 정확한 위치를 구할 수 있다.
책갈피와 관련하여 또 한가지 해결해야 할 문제는 사용자가 포인팅 장치를 이용하여 선택한 위치에 만약 여러 개의 책갈피가 동시에 존재한다면 과연 이 가운데 어떤 책갈피를 선택해야 하는가의 문제이다. 일실시예에 있어서, 예컨대 만약 사용자가 선택한 책갈피들이 책의 좌측 부분에 위치하면 선택된 책갈피들 가운데 페이지 수가 가장 큰 책갈피를 선택하고, 만약 사용자가 선택한 책갈피들이 책의 우측 부분에 위치하면 선택된 책갈피들 가운데 페이지 수가 가장 작은 책갈피를 선택할 수 있다. 이런 방식이 유효한 이유는 도 16의 비스듬히 누운 책의 측면 부위에 삽입된 책갈피에서 보이는 것과 같이 책이 펼쳐져 있을 때 책의 왼쪽 측면에서는 페이지 수가 큰 책갈피가 페이지 수가 작은 책갈피의 위를 덮게 되기 때문이다. 이와 마찬가지로 책이 펼쳐져 있을 때 책의 오른쪽 측면에서는 페이지 수가 작은 책갈피가 페이지 수가 큰 책갈피의 위를 덮게 된다.
메모 처리부(52)는 전자책에 삽입된 메모가 있음을 알려주는 표식의 형태와, 라인 간 객체의 거리에 기초하여 해당 표식의 크기와 위치를 결정한다. 일실시예에 있어서, 도 17과 같이 전자책에 메모를 삽입한 경우, 디스플레이부(540)는 메모 처리부(52)에서 결정한 표식 형태와 표식의 크기와 위치에 기초하여 메모가 있음을 알려주는 표식을 도 18에서와 같이 전자책 상에서 독서를 방해하지 않는 위치에 적당한 크기의 사각형으로 표시한다. 도 17에 도시된 바와 같이, 사용자는 메모 기능을 이용하여 전자책의 특정 부위에 입력부(530)를 통해 자신이 원하는 글을 타이핑하여 삽입할 수 있다. 그런데, 만약 이렇게 삽입된 메모의 내용이 항상 화면에 나타난다면 전자책 본문에 있는 글자나 그림을 가려 버려서 사용자의 독서를 방해하게 될 것이다. 따라서, 본 발명에서는 삽입된 메모가 사용자의 독서를 방해하지 않도록 사용자가 전자책을 읽을 때에도 메모의 모든 내용을 화면에 보여주기보다는, 도 18에 도시된 바와 같이 단지 해당 페이지의 특정 부위에 메모가 존재한다는 것을 표식(사각형 모양)(18a)을 통해 보여주고, 사용자가 해당 표식(18a)을 포인팅 장치를 이용하여 선택했을 때만 메모의 모든 내용을 보여주거나, 편집하거나, 아니면 해당 메모를 삭제하는 방식을 적용한다. 도 18에서 첫 번째 라인과 두 번째 라인 사이의 조그만 3개의 사각형(18a) 각각이 삽입된 메모들이 있음을 표식하여 준다. 만약, 사용자가 이들 사각형(18a)을 선택하면 도 17에서 입력한 해당 메모의 내용을 볼 수도 있고, 편집할 수도 있고, 제거할 수도 있는 화면으로 전환된다.
사용자의 독서를 방해하지 않도록, 전자책에서는 삽입된 메모를 나타내는 표식(사각형)의 크기와 위치를 결정하는 것이 중요하다. 따라서, 메모 처리부(52)에서는 사용자가 메모를 삽입하는 순간에 보고 있던 전자책 화면에 나타난 객체들을 추적하고 이들 객체의 위치를 순차적으로 표식의 위치로 할당한다. 즉, 사용자가 메모를 삽입하기 직전에 보고 있던 화면에서 사용자가 독서하도록 가이드 해주는 화면 영역에는 객체들(그림과 글자들)이 존재한다. 가이드 영역의 일 예로, 전자책에서 사용자가 읽을 부분을 하이라이트하여 보여주고, 가이드 영역은 라인 단위, 그룹 단위, 페이지 단위 등이 될 수 있다.
또한, 객체들에는 순서가 존재한다. 만약 사용자가 가이드 영역에서 첫 번째 메모를 삽입하면, 이 첫 번째 메모가 있음을 알려주는 표식의 위치는 가이드 영역에 속하는 첫 번째 객체의 위치로 할당된다. 마찬가지로, 사용자가 가이드 영역에서 두 번째 메모를 삽입하면, 이 두 번째 메모가 있음을 알려주는 표식의 위치는 가이드 영역에 속하는 두 번째 객체의 위치로 할당된다. 이와 같은 방식을 사용하면 전체 화면에 나타난 객체의 총 수만큼 메모를 삽입할 수 있지만, 실제로 현실에서는 그렇게 많은 수의 메모를 삽입하는 경우는 없기 때문에 문제가 되지 않는다.
메모 처리부(52)는 메모가 있음을 알려주는 표식의 위치를 결정한 다음, 해당 표식의 크기를 결정한다. 이때, 기본적인 제약 조건은 해당 표식(사각형)으로 인해서 전자책 본문의 객체들이 가려져서는 안 된다는 점이다. 메모 처리부(52)는 표식의 위치를 결정해 준(즉, 표식과 위치가 같은) 기준객체가 존재하는 영역의 라인을 추적하고, 해당 라인과 그 다음 라인에 존재하는 객체들을 모두 검색하여 각각의 객체들과 기준객체 사이의 거리를 측정한다. 그리고, 그 거리들 가운데 가장 작은 값을 해당 표식(사각형)의 세로 높이값(A)으로 설정한다. 예를 들면, 기준객체가 6번째 줄에 위치한다면 7번째 줄에 있는 모든 객체들과 기준객체 사이의 간격을 모두 측정한 다음, 그 가운데 가장 짧은 간격을 해당 표식(사각형)의 높이값으로 활용한다. 일실시예에 있어서, 사용자가 보기에 더욱 좋도록 상기 세로 높이값(A) 보다 약간 더 작은 값을 활용한다. 그리고, 해당 표식(사각형)의 가로 너비 값은 세로 높이값에 특정 상수를 곱하여 구한다. 이 상수 값이 1이 되면 해당 표식(사각형)의 형태는 정사각형이 되고, 1보다 작은 값이면 세로가 긴 사각형이 되며, 1보다 큰 값이면 가로가 긴 사각형이 된다.
이와 같은 방식으로 표식의 크기를 구현하면 해당 표식(사각형)은 결코 전자책의 본문에 나타나는 객체들을 덮는 경우가 없기 때문에, 사용자는 해당 표식(사각형)에 방해받지 않고 독서를 할 수 있다.
만약 도 12와 같이 전자책의 본문 부분이 시점 변환(perspective transform)되어 표시되는 경우에는, 메모가 있음을 알려주는 표식(사각형)의 위치도 보정해 주어야 한다. 즉, 도 6과 같은 시점 변환 과정이 필요하고, 정확한 위치는 상기 수학식 1을 활용하여 정확한 위치를 구할 수 있다.
형광펜 처리부(53)는 형광펜의 시작점과 끝점을 확인하고, 형광펜 기능 구현을 위해 포인팅 장치의 이동으로 인한 위치 정보를 수집하며, 형광펜의 두께, 한 픽셀이 나타내는 물리적인 너비, 전자책 파일을 디스플레이부(540)의 화면상에 표시할 확대 배율에 기초하여 전자책에 표시될 형광펜을 칠할 때 사용되는 펜의 굵기를 결정한다. 그리고, 디스플레이부(540)는 형광펜 처리부(53)에서 결정된 형광펜의 굵기로, 전자책의 특정 부위에 칠해진 형광펜을 전자책 상에 디스플레이한다. 도 21은 본 발명의 실시예에 따라 전자책에 형광펜 기능을 구현하는 예를 보여주는 도면이다.
줄긋기 처리부(54)는 전자책의 본문에 긋는 선분의 시작점과 끝점을 확인하고, 선분을 긋는 펜의 두께, 한 픽셀이 나타내는 물리적인 너비, 전자책 파일을 디스플레이부(540)의 화면상에 표시할 확대 배율에 기초하여 선분을 긋는 펜의 굵기를 결정한다. 그리고, 디스플레이부(540)는 줄긋기 처리부(54)에서 결정된 줄긋기 펜의 굵기로, 전자책의 특정 부위에 그어진 밑줄을 전자책 상에 디스플레이한다. 도 19는 본 발명의 실시예에 따라 전자책에 줄긋기 기능을 구현하는 예를 보여주는 도면이다.
자유낙서 처리부(55)는 전자책의 본문에 글쓰기나 그림을 그리는 등의 자유낙서의 시작점과 끝점을 확인하고, 자유낙서 기능 구현을 위해 포인팅 장치의 이동으로 인한 위치 정보를 수집하며, 자유낙서를 하는 펜의 두께, 한 픽셀이 나타내는 물리적인 너비, 전자책 파일을 디스플레이부(540)의 화면상에 표시할 확대 배율에 기초하여 자유낙서를 하는 펜의 굵기를 결정한다. 그리고, 디스플레이부(540)는 자유낙서 처리부(55)에서 결정된 자유낙서 펜의 굵기로, 전자책의 특정 부위에 처리된 글이나 그림의 사용자 주석을 전자책 상에 디스플레이한다. 도 20은 본 발명의 실시예에 따라 전자책에 자유낙서 기능을 구현하는 예를 보여주는 도면이다.
줄긋기 기능은 전자책 본문에 선분을 긋는 것인데, 선분을 만들기 위해서는 선분의 시작점과 끝점을 알면 된다. 이는 포인팅 장치의 입력 시작 위치를 시작점, 입력 끝 위치를 끝점으로 하면 된다. 그러나, 자유낙서와 형광펜은 시작점과 끝점 이외에도 포인팅 장치가 이동할 때마다 일정 간격으로 입력되는, 즉 샘플링(sampling)되는 위치 정보들도 모두 수집해야 한다. 그리고, 이렇게 수집된 위치 정보들의 수열을 각각 스플라인(spline)의 제어점(control points)으로 취급하면 보기 좋은 자유낙서와 형광펜 기능을 구현할 수 있다.
그런데, 줄을 긋거나 자유롭게 낙서를 하거나 형광펜을 칠할 때, 사용되는 펜의 굵기를 결정하는 것이 중요하다. 만약 실상에서 0.5mm의 펜으로 선을 그린다고 가정하면, 이 펜의 굵기가 전자책의 지면에는 어떤 크기의 픽셀로 나타나야 하는지가 문제이다. 만약 전자책의 각 페이지 그림들이 S ppi(Pixel Per Inch)로 생성되었고 이 그림들을 배율 100%로 화면에 구현하였다고 가정하는 경우, 한 픽셀이 나타내는 물리적인 너비는 1/S(inch)가 되고, 이를 mm로 환산하면 "25.4/S(mm)"가 된다. 따라서, 사용자가 원하는 펜의 두께가 T(mm)라고 가정하면, 이 경우 화면에는 (T*S)/25.4 픽셀의 크기로 나타난다. 그리고, 화면 확대 배율이 U라면, 최종적으로 화면에는 [(S*T*U)/25.4] 픽셀의 두께로 해당 펜을 표현한다. 여기서, 기호 [ ]는 소수 첫째 자리에서 반올림하라는 의미이다.
이상에서 설명한 본 발명을 이용하면 전자책에서도 종이책에서 가능한 모든 종류의 사용자 주석을 구현할 수 있다. 또한, 3차원 코덱스(codex) 형식의 전자책에서도 사실감 있게 사용자 주석을 구현할 수 있다.
그런데, 전자책이 종이책에 비하여 가질 수 있는 장점 가운데 하나가 바로 동일한 책을 여러 가지 기기에서 볼 수 있다는 것이다. 예를 들면 자신이 보유하고 있는 특정 전자책을 MS-Windows 기반의 PC, Mac OS X 기반의 컴퓨터, iOS 기반의 휴대폰이나 태블릿, Android 기반의 휴대폰이나 태블릿 등에서 모두 사용 가능하다. 이때, 사용자의 일 기기(예컨대 사용자 단말기1)에서 사용자가 삽입한 주석이 사용자의 타 기기(예컨대 사용자 단말기2,3)에서도 공통으로 공유되어 적용되면 매우 편리할 것이다. 이를 본 발명에서는 주석 동기화 서버(140)를 통해 구현한다.
도 22는 본 발명의 실시예에 따라 사용자 주석을 동기화하는 절차를 나타낸 흐름도이다. 이해를 돕기 위하여, 도 4 및 도 5를 참조하여 설명한다.
주석 동기화에서는 두 가지 중요한 문제가 있다. 하나는, 동일한 전자책에 대해서 동시에 서로 다른 기기에서 사용자 주석에 변경을 가했을 때, 이들을 모든 기기에 반영하는 것이다. 다른 하나는, 일 기기가 주석 동기화 서버(140)의 접속에 실패한 상태에서 만약 전자책의 사용자 주석을 변경하였고 이후에 주석 동기화 서버(140)의 접속에 성공한 경우, 해당 전자책에서 변경된 사용자 주석을 어떻게 처리할 것인가에 대한 것이다.
본 발명에서는 주석 동기화 서버(140)에서 전자책의 주석을 동기화할 수 있도록 모든 전자책에 대해서 고유한 번호(전자책 고유번호)를 할당한다. 각 전자책별로 고유한 번호는 주석 동기화 서버(140)에서 각각의 전자책을 구별하는데 사용된다.
주석 동기화 서버(140)에 의해 DBMS(120)에 저장ㆍ관리되는 정보로는 개인화 영역의 전자책 고유번호와, 사용자 주석정보와, 주석정보가 주석 동기화 서버(120)에 기록되는 시간정보와, 전자책에 처리된 주석정보가 발송된 사용자 단말기(110)의 고유번호 등이 있다. 사용자 주석정보는, 주석 데이터(예컨대, 책갈피 데이터, 메모 데이터, 형광펜 데이터, 줄긋기 데이터, 자유낙서 데이터 등)와 주석명 정보(예컨대, 책갈피a,b,...,n, 메모a,b,...,n, 형광펜a,b,...,n, 줄긋기a,b,...,n, 자유낙서a,b,...,n 등)를 포함하도록 구성할 수 있다. 사용자는 전자책에 주석 처리시에 향후 검색에 용이하도록 주석명을 임의적 지정할 수 있는데, 각 주석명은 중복되지 않도록 구성하는 것이 바람직하다. 주석명은 식별이 가능한 한, 글자(한글 또는 영어), 숫자, 특수문자 등의 형태에 제한되지 않는다. 예컨대, 글자나 숫자 또는 특수문자로 구분하거나, 또는 이들의 일부 또는 전부의 조합으로 주석명을 구성할 수도 있다.
사용자 단말기(110)는 네트워크 장애 등으로 인해서 주석 동기화 서버(140)에 접속할 수 없어 DBMS(120)에 저장된 주석정보를 전송받지 못할 수도 있다. 사용자 단말기(110)에서 임의의 전자책을 실행할 때 해당 전자책의 주석정보를 DBMS(120)에서 가져오지 못한다면, 이후 사용자가 해당 전자책에 기입한 사용자 주석의 내용과 DBMS(120)에 저장된 주석정보가 달라질 수 있는 문제가 발생한다. 이 경우, 사용자 단말기(110) 내에 존재하는 주석정보1와 DBMS(120)에 존재하는 주석정보2 중 사용자가 진정으로 원하는 주석정보가 무엇인가를 결정해야 하는 어려운 문제가 발생한다. 이에 대한 해답은 각 사용자마다 달라질 수 있다는 점이다. 즉, 어떤 사용자는 비록 과거의 주석정보이지만 DBMS(120)에 저장된 주석정보1에 우선순위를 둘 것이고[A], 다른 사용자는 현재 사용자 단말기(110)에 저장된 주석정보2에 우선순위를 둘 것이며[B], 또 다른 사용자는 두 가지 정보들(주석정보1,2)을 모두 통합하고 싶어할 수도 있다[C].
이를 위해, 본 발명에서는 사용자에게 다음과 같은 옵션을 줄 수 있다. 하나는 사용자가 주석 동기화 서버(140)에 접속할 때, A, B, C 중 어느 방식을 선택할지를 질의하는 '수동 모드'이고, 다른 하나는 주석정보1과 주석정보2를 무조건 통합하는 자동 모드이다. 즉, A 방식은 DBMS(120)의 주석정보1을 유지하는 것이고, B 방식은 주석정보2를 DBMS(120)에 반영(갱신 또는 신규 저장)하는 것이며, C 방식은 주석정보1,2를 통합하는 것이다. 수동 모드에서는 사용자가 전자책을 닫을 때 주석정보2를 DBMS(120)에 반영(갱신 또는 신규 저장)할 것인지를 확인하고, 자동 모드에서는 무조건적으로 주석정보2를 주석정보1에 반영한다.
그리고, 본 발명에서는 동시간대에 동일 전자책에 대해서 주석이 서로 다른 기기에서 수정되었을 때 이를 다음과 같은 방식으로 해결한다.
사용자 단말기(110)는 전자책 어플리케이션이 실행될 때 주석 동기화 서버(140)로의 접속을 시도하는데(S201), 만약 주석 동기화 서버(140)로의 접속에 실패하면(S202), DBMS(120)로부터 주석 리스트(단일 또는 복수 전자책의 단일 또는 복수 주석정보)를 전송받지 못하고, 주석 동기화 서버(140)에 접속하지 못한 상태(이를 편의상 '로컬 상태'라 함)에서 전자책 파일을 실행한다(S203). 사용자는 로컬 상태에서 전자책에 자유롭게 주석을 처리할 수 있다(S204). 만약 사용자가 전자책 어플리케이션을 종료하면(S205), 단계 S210으로 천이한다. 로컬 상태에서 처리된 주석정보를 로컬 주석정보라 한다.
단계 S210에서는, 사용자가 로컬 상태에서 처리된 로컬 주석정보를 DBMS(120)에 저장하고자 하는 경우, 주석 동기화 서버(140)의 접속 여부를 확인하고, 만약 접속되지 않았으면 사용자 단말기(110)에만 로컬 주석정보를 저장하고, 접속되었으면 사용자 단말기(110) 뿐만 아니라 DBMS(120)에도 동일하게 주석정보를 저장한다(S211). 이때, '수동 모드'인 경우 주석 동기화 서버(140)는 로컬 주석정보를 DBMS(120)에 저장할 것인지 여부를 사용자에게 확인하고, 확인사항을 반영한다. 그러나, '자동 모드'인 경우, 주석 동기화 서버(140)는 사용자에게 확인하는 과정을 거치지 않고 사용자 단말기(110)에서 처리된 로컬 주석정보를 DBMS(120)에 반영한다.
상기 단계 S202에서, 만약 주석 동기화 서버(140)로의 접속에 성공하면(S202), 주석 동기화 서버(140)는 '수동 모드'인 경우 사용자에게 DBMS(120)에 존재하는 사용자 주석정보를 가져올 것인지 아닌지를 확인하고, 확인사항을 그대로 반영한다. 그리고, '자동 모드'인 경우에는 사용자에게 확인하는 과정을 거치지 않고, 주석 동기화 서버(140)는 검색 서버(130)를 제어하여 DBMS(120)에 있는 주석 리스트(단일 또는 복수 전자책의 단일 또는 복수 주석정보)를 사용자 단말기(110)로 전송하여, 사용자 단말기(110)에서 주석정보를 동기화시킬 수 있도록 한다(S206). 이때, 주석 동기화 서버(140)는 사용자 단말기(110)로 주석정보를 송신한 시간(A)을 해당 주석정보에 맵핑시켜 DBMS(120)에 기록해둔다.
이후, 사용자는 전자책에 자유롭게 주석을 처리할 수 있다(S207). 만약 사용자가 전자책 어플리케이션을 종료하면(S209), 단계 S210으로 천이한다.
단계 S210에서, '수동 모드'인 경우 주석 동기화 서버(140)는 로컬 주석정보를 DBMS(120)에 저장할 것인지 여부를 사용자에게 확인하고, 확인사항을 반영한다. 그러나, '자동 모드'인 경우, 주석 동기화 서버(140)는 사용자에게 확인하는 과정을 거치지 않고 사용자 단말기(110)에서 처리된 로컬 주석정보를 DBMS(120)에 반영한다(S212).
주석 동기화 서버(140)가 DBMS(120)에 로컬 주석정보를 반영하는 과정을 살펴보면, 우선 해당 전자책의 주석 저장 위치를 확인한다. 그리고, 해당 전자책의 주석정보와 최종 저장 시간(B)을 확인한다. 확인 결과, 만약 A와 B가 동일하지 않으면, 사용자 단말기(110)에서 처리된 로컬 주석정보를 DBMS(120)의 주석정보에 반영한다.
상기에서 사용자 단말기(110)와 주석 동기화 서버(140) 간에 전송되는 주석정보(주석 리스트 포함)는 암호화되어 전송되므로, 상대방 기기에서는 실행 전에 디코딩 과정을 수행한다.
도 23은 본 발명의 실시예에 따라 사용자 주석을 검색하는 절차를 나타낸 흐름도이다.
일실시예에 있어서, 주석 리스트는 사용자가 문자 검색을 활용할 수 있는 사용자 주석에 대한 정보로 구성될 수 있다. 일실시예에 있어서, 사용자 주석 중 책갈피, 메모 등이 문자 검색을 활용하는데 유용하다. 이 주석 리스트는 사용자 단말기(110)가 주석 동기화 서버(140)에 접속할 때 제공되기 때문에, 사용자는 현재 열려 있는 문자 검색을 통해 전자책 뿐만 아니라, 자신의 단말기(110)에 저장된 모든 전자책에 대해서도 사용자 주석을 검색할 수 있고, 나아가 자신의 단말기(110)에 저장되지 않은 전자책에 대해서도 사용자 주석을 통합하여 검색할 수 있다.
사용자 단말기(110)가 전자책 어플리케이션을 실행하여 주석 동기화 서버(140)로 접속을 시도하면(S301), 주석 동기화 서버(140)는 검색 서버(130)를 제어하여 DBMS(120)에 있는 주석 리스트(단일 또는 복수 전자책의 단일 또는 복수 주석정보)와 더불어 서지 정보를 사용자 단말기(110)로 전송한다(S303). 이때, 주석 리스트는 암호화되어 전송된다.
여기서, 주석 동기화 서버(140)에 접속하는 사용자 단말기(110)는 개인화 영역의 전자책들 중 사용자 주석이 처리된 모든 주석정보를 요청한다(S302).
이후, 사용자 단말기(110)는 전송받은 주석 리스트(예컨대 책갈피, 메모에 관련된 주석정보임)를 암호 해제한 다음, 사용자가 입력한 문자를 검색한다(S304). 이때 검색을 위한 문자 입력은 입력부(530)를 통해 이루어진다. 그러면, 사용자 단말기(110)의 제어부(520)는 사용자가 입력한 문자와 일치하는 사용자 주석(책갈피와 메모)을 찾아, 이들의 내용과 이들 각각에 해당되는 전자책의 기본 서지 정보들을 같이 리스트로 정리하여 디스플레이부(540)로 출력한다(S305). 이때, 화면에 출력된 각 전자책 리스트 가운데 사용자가 특정한 전자책을 열람하고자 하는 경우, 사용자가 선택한 전자책 파일이 현재 사용중인 사용자 단말기(110)에 존재하면 해당 전자책을 실행하고, 해당 사용자 주석(예컨대, 메모나 책갈피)이 있는 위치로 이동한다. 한편, 사용자가 선택한 전자책 파일이 현재 사용중인 사용자 단말기(110)에 존재하지 않으면, 사용자 단말기(110)는 해당 전자책 파일을 DBMS(120)로부터 다운로드받아 실행한 후, 해당 사용자 주석(예컨대, 메모나 책갈피)가 있는 위치로 이동한다.
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 당업자가 이해할 수 있는 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
본 발명은 전자책 서비스 시스템 등에 이용될 수 있다.

Claims (20)

  1. 전자책의 사용자 주석 처리 장치로서,
    화면상의 글자 크기에 기초하여 전자책에 삽입될 책갈피의 크기를 결정하고, 전자책의 측면 부위에서 책갈피의 위치를 결정하는 책갈피 처리부와,
    상기 책갈피 처리부의 처리 결과에 기초하여 책갈피를 상기 전자책 상에 디스플레이하는 디스플레이부를 포함하는 사용자 주석 처리 장치.
  2. 제1항에 있어서,
    상기 화면상의 글자 크기는, 사용자가 선택한 글자의 크기를 픽셀 단위로 환산한 것으로, 실제 해당 화면에 나타난 글자의 크기인, 사용자 주석 처리 장치.
  3. 제1항에 있어서,
    상기 책갈피의 크기는, 책갈피의 세로 방향 너비와 가로 방향 너비를 포함하고,
    상기 책갈피의 위치는, 책 측면 부위에서 책갈피의 가로 위치와 세로 위치를 포함하는, 사용자 주석 처리 장치.
  4. [규칙 제91조에 의한 정정 04.07.2012]
    제3항에 있어서,
    상기 화면상의 글자 크기 SR는, 사용자가 설정한 글자의 크기(X)와, 화면 해상도(Y), 글자의 확대 배율(Z)을 하기 수학식1에 의거하여 산출하고,
    상기 화면상의 글자 크기에 기초하여 상기 책갈피의 세로 방향 너비와 가로 방향 너비를 구하는, 사용자 주석 처리 장치.
    (수학식1)
    Figure WO-DOC-c4
    (여기서, 기호 { }는 소수 첫째 자리에서 반올림하는 연산 기호임)
  5. 제3항에 있어서,
    상기 책 측면 부위에서 책갈피의 세로 위치는, 난수 확률분포를 이용하여 산출하되, 하기 수학식1에 의거하여 산출하는, 사용자 주석 처리 장치.
    (수학식1)
    책 측면 부위에서 책갈피의 세로 위치 = {(현재 발생시킨 난수)/(난수의 최대값 - 난수의 최소값)} * (해당 전자책의 세로 높이)
  6. 제3항에 있어서,
    상기 책 측면 부위에서 책갈피의 가로 위치 중,
    책갈피가 삽입된 페이지 번호가 E, 현재 화면에 펼쳐져 있는 페이지 번호가 F이고, 만약 E < F 이고 해당 전자책이 왼쪽에서 오른쪽으로 페이지 수가 커지는 경우, 책 왼쪽 측면 부위에서 책갈피의 가로 위치를 하기 수학식1에 의거하여 산출하는, 사용자 주석 처리 장치.
    (수학식1)
    책 왼쪽 측면 부위에서 책갈피의 가로 위치 = (E / F) * (해당 전자책 측면 부위의 원래 너비) * (F / 해당 전자책의 총 페이지 수)
  7. 제3항에 있어서,
    상기 책 측면 부위에서 책갈피의 가로 위치 중,
    책갈피가 삽입된 페이지 번호가 E, 현재 화면에 펼쳐져 있는 페이지 번호가 F이고, 만약 E > F 이고 해당 전자책이 왼쪽에서 오른쪽으로 페이지 수가 커지는 경우, 책 오른쪽 측면 부위에서 책갈피의 가로 위치를 하기 수학식1에 의거하여 산출하는, 사용자 주석 처리 장치.
    (수학식1)
    책 오른쪽 측면 부위에서 책갈피의 가로 위치 = {(E-F) / (해당 전자책의 총 페이지 수 - F)} * (해당 전자책 측면 부위의 원래 너비) * {1 - (F / 해당 전자책의 총 페이지 수)}
  8. 전자책의 사용자 주석 처리 장치로서,
    전자책에 삽입된 메모가 있음을 알려주는 표식의 형태와, 라인 간 객체의 거리에 기초하여 해당 표식의 크기와 위치를 결정하는 메모 처리부와,
    상기 메모 처리부의 처리 결과에 기초하여 상기 표식을 상기 전자책 상에 디스플레이하는 디스플레이부를 포함하는 사용자 주석 처리 장치.
  9. 제8항에 있어서,
    상기 표식의 위치는, 메모 삽입시 화면에 나타난 객체들을 추적하고 해당 객체의 위치를 순차적으로 할당하고,
    상기 표식의 위치를 결정해 준 기준객체가 존재하는 라인의 다음 라인에 존재하는 객체와 기준객체 사이의 간격 중 가장 짧은 간격을 표식의 높이로 활용하는, 사용자 주석 처리 장치.
  10. 전자책의 사용자 주석 처리 장치로서,
    형광펜, 줄긋기 펜, 자유낙서 펜 중 적어도 하나의 펜의 두께, 픽셀의 너비, 화면 확대 배율에 기초하여 전자책에 표시될 펜의 굵기를 결정하는 주석 처리부와,
    상기 주석 처리부에서 결정된 해당 펜의 굵기로, 전자책의 소정 부위에 처리된 형광펜, 밑줄, 자유낙서 중 적어도 하나의 사용자 주석을 상기 전자책 상에 디스플레이하는 디스플레이부를 포함하는 사용자 주석 처리 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 전자책은, 직사각형 형태의 2차원 측면 영상을 2차원 그래픽 함수를 이용하여 사다리꼴 형태의 3차원 측면 영상으로 변환된 3차원 코덱스(codex) 형식의 전자책인, 사용자 주석 처리 장치.
  12. [규칙 제91조에 의한 정정 04.07.2012]
    제11항에 있어서,
    상기 2차원 측면 영상의 좌표가 (X, U), (X, U)에 대응하는 상기 3차원 측면 영상의 좌표가 (Y, V)라고 표현될 때,
    상기 2차원 그래픽 함수를 하기 수학식2 및 수학식3으로 정의하는, 사용자 주석 처리 장치.
    (수학식 2)
    Figure WO-DOC-c12
    (수학식 3)
    Figure WO-DOC-c121
    (여기서, W는 상기 2차원 측면 영상에서 가로 방향의 길이를 나타내고, L1은 2차원 측면 영상에서 세로 방향의 길이 및 3차원 측면 영상에서 밑변의 길이를 나타내며, L2는 3차원 측면 영상(3D)에서 윗변의 길이를 의미함)
  13. 제12항에 있어서,
    상기 책측면 부위에서 책갈피의 가로 위치와 상기 표식의 위치를 상기 수학식2로 보정하는, 사용자 주석 처리 장치.
  14. 전자책 서비스 시스템으로서,
    전체 전자책의 고유번호를 저장하고, 사용자별로 전자책에 처리된 주석정보와, 상기 주석정보가 저장되는 저장시간정보를 개인화 영역의 전자책 고유번호에 맵핑시켜 관리하는 데이터베이스 관리 시스템(DBMS)와,
    주석 검색 요청에 응답하여, 상기 DBMS로부터 개인화 영역의 전자책 고유번호에 맵핑된 해당 주석정보를 검색하여 제공하는 검색 서버와,
    상기 고유번호에 의거하여 전자책을 구별하고, 상기 저장시간정보에 기초하여 상기 주석정보를 동기화시키는 주석 동기화 서버를 포함하는 전자책 서비스 시스템.
  15. 제14항에 있어서,
    상기 전자책은, 직사각형 형태의 2차원 측면 영상을 2차원 그래픽 함수를 이용하여 사다리꼴 형태의 3차원 측면 영상으로 변환된 3차원 코덱스(codex) 형식의 전자책인, 전자책 서비스 시스템.
  16. 제14항에 있어서,
    상기 주석 검색 요청은, 주석 처리시 사용자가 임의로 입력한 주석의 명칭이거나, 개인화 영역의 전자책들 중 사용자 주석이 처리된 모든 주석정보의 요청인, 전자책 서비스 시스템.
  17. 제14항에 있어서,
    상기 DBMS는, 개인화 영역의 전자책을 사용자별로 저장하고, 사용자 단말기 상에서 3차원 코덱스 형식의 전자책에 처리된 주석정보를 사용자별로 저장ㆍ관리하는, 전자책 서비스 시스템.
  18. 제14항에 있어서,
    상기 검색 서버는, 개인화 및 비개인화 영역의 전자책을 검색하고, 사용자 개개인이 구매나 대출한 개인화 영역의 전자책들에 처리된 사용자 주석을 사용자별로 통합하여 검색하는, 전자책 서비스 시스템.
  19. 전자책 서비스 방법으로서,
    데이터베이스 관리 시스템(DBMS)에 전체 전자책의 고유번호를 저장하고, 사용자별로 전자책에 처리된 주석정보와, 상기 주석정보가 저장되는 저장시간정보를 개인화 영역의 전자책 고유번호에 맵핑시켜 관리하는 단계와,
    주석 검색 요청에 응답하여, 상기 DBMS로부터 개인화 영역의 전자책 고유번호에 맵핑된 해당 주석정보를 검색하여 제공하는 단계와,
    상기 고유번호에 의거하여 전자책을 구별하고, 상기 저장시간정보에 기초하여 상기 주석정보를 동기화시키는 단계를 포함하는 전자책 서비스 방법.
  20. 제19항에 있어서,
    상기 전자책은, 직사각형 형태의 2차원 측면 영상을 2차원 그래픽 함수를 이용하여 사다리꼴 형태의 3차원 측면 영상으로 변환된 3차원 코덱스(codex) 형식의 전자책인, 전자책 서비스 방법.
PCT/KR2012/004245 2011-05-30 2012-05-30 사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법 WO2012165847A2 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2011-0051421 2011-05-30
KR20110051421 2011-05-30
KR20120045504 2012-04-30
KR10-2012-0045504 2012-04-30
KR1020120057087A KR101397562B1 (ko) 2011-05-30 2012-05-30 사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법
KR10-2012-0057087 2012-05-30

Publications (3)

Publication Number Publication Date
WO2012165847A2 WO2012165847A2 (ko) 2012-12-06
WO2012165847A3 WO2012165847A3 (ko) 2013-03-28
WO2012165847A9 true WO2012165847A9 (ko) 2013-05-23

Family

ID=47260068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/004245 WO2012165847A2 (ko) 2011-05-30 2012-05-30 사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101397562B1 (ko)
WO (1) WO2012165847A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015037776A1 (ko) 2013-09-10 2015-03-19 주식회사 청담러닝 플래시카드 제공 방법 및 이를 수행하는 장치들
KR20180066582A (ko) * 2016-12-09 2018-06-19 주식회사 하이딥 터치 입력 장치에서 디스플레이되는 객체에 메모를 삽입하는 방법
KR102238011B1 (ko) 2019-11-08 2021-04-08 주식회사 디알엠인사이드 주석공유가 가능한 전자책 drm 시스템 및 서비스 방법
CN111611038B (zh) * 2020-05-09 2023-06-30 掌阅科技股份有限公司 电子书阅读页面中视图对象的插入方法及计算设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3593473B2 (ja) * 1999-08-16 2004-11-24 日本電信電話株式会社 電子ブックコンテンツとメモ情報の共有方法および電子ブック閲覧用プログラムの記録媒体
US7366979B2 (en) * 2001-03-09 2008-04-29 Copernicus Investments, Llc Method and apparatus for annotating a document
US8321470B2 (en) * 2003-06-20 2012-11-27 International Business Machines Corporation Heterogeneous multi-level extendable indexing for general purpose annotation systems
KR100905865B1 (ko) * 2004-03-15 2009-07-02 야후! 인크. 사용자 주석이 통합된 검색 시스템 및 방법
KR101443404B1 (ko) * 2006-09-15 2014-10-02 구글 인코포레이티드 페이퍼 및 전자 문서내의 주석의 캡처 및 디스플레이
KR101604717B1 (ko) * 2009-06-22 2016-03-18 엘지전자 주식회사 이동 단말기 및 그 제어 방법
KR20130013292A (ko) * 2011-07-28 2013-02-06 한국과학기술원 전자책 단말 장치, 전자책 디스플레이 방법, 및 전자책 디스플레이 방법을 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체

Also Published As

Publication number Publication date
WO2012165847A2 (ko) 2012-12-06
KR20120134054A (ko) 2012-12-11
WO2012165847A3 (ko) 2013-03-28
KR101397562B1 (ko) 2014-05-30

Similar Documents

Publication Publication Date Title
WO2014119967A1 (en) Page search method and electronic device supporting the same
US9628423B2 (en) Electronic sticky note system, information processing terminal, method for processing electronic sticky note, medium storing program, and data structure of electronic sticky note
US9274704B2 (en) Electronic apparatus, method and storage medium
WO2011108797A1 (en) Mobile terminal and control method thereof
WO2011007994A2 (en) Scrolling method of mobile terminal and apparatus for performing the same
WO2014011009A1 (en) Portable terminal using touch pen and handwriting input method using the same
JPH09505422A (ja) テキストドキュメント及びイメージドキュメントを同期化、ディスプレイ、及び操作するための方法及び装置
WO2013141464A1 (ko) 터치 기반의 입력제어 방법
WO2012165847A9 (ko) 사용자 주석 처리 장치 및 그를 위한 전자책 서비스 시스템 및 방법
EP2757450A1 (en) Device and method for processing write-in information of electronic sticky note
CN111859856A (zh) 信息显示方法、装置、电子设备及存储介质
US20240143163A1 (en) Digital ink processing system, method, and program
US20150098653A1 (en) Method, electronic device and storage medium
JP2004013318A (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
JP6100013B2 (ja) 電子機器および手書き文書処理方法
WO2019107799A1 (ko) 입력 필드의 이동 방법 및 장치
JP6679828B2 (ja) 情報処理装置、情報処理プログラムおよび記録媒体
CN109445900B (zh) 用于图片显示的翻译方法和装置
CN111581922A (zh) 基于文档编辑软件的文档处理方法、装置、设备及介质
JP2014052746A (ja) 表示装置、および表示プログラム
WO2015108229A1 (ko) 전자 문서의 첨삭을 위한 단말의 동작 방법
JP2013077231A (ja) 文書データの表示方法、携帯端末の表示装置
KR20200017858A (ko) 온라인상 문서를 사용자가 보기 편리한 문서로 가공하는 방법
WO2021002586A1 (ko) 다양한 입력 방식 전환을 통한 전자문서 표시 방법 및 장치
WO2014148850A1 (ko) 터치스크린을 구비한 디바이스에서 화면 표시 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12793982

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12793982

Country of ref document: EP

Kind code of ref document: A2