# Patent

## Title
System and method for linking page content with a media file and displaying the links

## Abstract

A method and system link page content with a media file and display these links during playback of the media file. In other words, the present invention can link notes stored in an electronic document with media such as audio stored in an audio file. As media is played back from the media file, the present invention can display visual indicators adjacent to or over page content so that a user can see how page content relates to the media file. According to one exemplary aspect of the present invention, page content can be highlighted when the page content has a relationship with the media that is being played. That is, page content can be highlighted at different times as the recorded live information from a media file such as audio from an audio file is being played back.

## Background
TECHNICAL FIELD
A present invention relates to creating page content in electronic documents through typewritten text or handwritten text, and more specifically, it relates to creating page content and linking this page content with a media file such as an audio file.
BACKGROUND OF THE INVENTION
One of the simplest methods of recording and communicating information is the traditional method of writing the information down on a piece of paper with a writing instrument such as a pen. Writing information by hand on a piece of paper is inexpensive and can be done quickly and easily with little preparation. The traditional method is also flexible in that a writer can generally write in any format anywhere on the page. One of the limitations with handwritten work is that it is not easily manipulated or transferred to other contexts. In other words, changing or transferring a piece of handwritten text typically requires rewriting the text on another medium.
Handwritten notes are often rewritten with personal computers. Specifically, with the widespread use of personal computers, textual information often is recorded using word processing software running on a personal computer. The advantage of such electronic methods for recording information is that the information can be easily stored and transferred to other remote computing devices and electronic media. Such electronically recorded text can also be easily corrected, modified, and manipulated in a variety of different ways.
Typical computer systems, especially computer systems using graphical user interface (GUI) systems such as Microsoft WINDOWS, are optimized for accepting user input from one or more discrete input devices. Common input devices include a keyboard for entering text and a pointing device, such as a mouse with one or more buttons, for controlling the user interface. The keyboard and mouse interface facilitates creation and modification of electronic documents including text, spreadsheets, database fields, drawings, and photos.
One of the limitations with conventional GUI systems of computers is that a user must generally type the text they are entering into the personal computer using the keyboard. Entering text using a keyboard is generally slower and more cumbersome than handwriting. Although recent advances have been made in reducing the size of personal computers, they are still not as portable and easily accessible as traditional paper and pen. Furthermore, traditional pen and paper provide the user with considerable flexibility for editing a document, writing notes in the margin, and drawing figures and shapes. In some instances, a user may prefer to use a pen to mark-up a document rather than review the document on-screen because of the ability to freely make notes outside of the confines of the keyboard and mouse interface.
To address the shortcomings of traditional keyboard and mouse interfaces, there have been various attempts to create an electronic tablet that can record handwriting. Such electronic tablets typically comprise a screen and a handheld device that is similar to a pen (also referred to as a stylus). A user can manipulate the pen to write on the electronic tablet in a manner similar to the use of traditional pen and paper. The electronic tablet can “read” the strokes of the user's handwriting with the handheld device and render the handwriting in electronic form on the tablet's screen and/or the computer's display as “electronic ink”. This electronic tablet approach can be employed in a variety of ways including, on a personal computer and on a handheld computing device.
While the electronic tablet approach has overcome many of the shortcomings of traditional keyboard and mouse interfaces, the electronic tablet approach has not overcome some of the problems often associated with conventional handwritten techniques that employ pen and paper. For example, when handwritten notes are taken during a meeting by a user, the information being presented during the meeting may be conveyed beyond the speed of the user in order to take accurate and reliable notes. When information during a meeting is being presented beyond the speed of the user, valuable or important information may not be captured in the notes taken by the user.
Another problem with the electronic tablet approach that is common with conventional handwriting techniques is a user may not comprehend the information being presented during a meeting, a lecture, or other type of presentation because the user may be too focused on taking notes instead of listening and comprehending the information or material being presented. Another problem that the electronic tablet approach shares with conventional handwriting techniques is that notes are often personalized to the user and sometimes may not make sense to another user who did not make the notes. In other words, notes can be of such a personal nature that people other than a user taking the notes may not understand the notes when reading them.
An additional problem that the electronic tablet approach shares with the conventional handwritten techniques is both technologies are not very helpful when a user taking notes does not understand the information or material being presented. In such circumstances, a user may not be able to capture any information by note taking since the user does not understand any of the material being presented.
A further problem shared by the electronic tablet approach and conventional handwriting techniques is in some circumstances a user may not be permitted to read his or her notes while creating them. For example, during a job interview, an employer conducting an interview with a potential employee may miss important body language of the potential employee if the employer did not maintain eye contact with the potential employee. In such circumstances, the user or employer may not be able to capture the substance of the interview with handwriting techniques because eye contact must be maintained. Another problem occurs when reviewing notes. The context of a meeting or class is often forgotten when reviewing handwritten or typed notes.
In order to address some of the problems mentioned above, a user can capture information being presented by combining handwritten note taking techniques and using a media recorder such as an audio recorder or an audio/visual recorder. While recording information with a media device does preserve the entire contents of the information being presented to a user, conventional technology does not provide a way to connect handwritten notes with the medium used to record the information.
In other words, conventional technology does not provide any links between handwritten materials and the media recorder such that a user can easily navigate between information captured with handwriting and information captured with the media recorder. Often, when using a media recorder, a user must listen or view the captured information with a media player and stop, start, rewind, and fast forward through portions of a media file in order to synchronize the written word with the recorded word.
Accordingly, there is a need in the art for a method and system for linking page content with a media file such that a user can easily navigate between the page content and the media file as necessary. There is also a need in the art for a method and system for linking page content with a media file where visual indicators are provided to allow a user to see the connection between the written word and the recorded spoken word in a media file. A further need exists in the art for a method and system that can link page content with a media file such that a user can point to page content and the corresponding recorded medium would be synchronized with the selected written material. In other words, there is a need in the art for visually displaying a link that informs when the notes were taken during the course of a meeting or lecture.
SUMMARY OF THE INVENTION
The present invention can comprise a method and system for linking and displaying page content with a media file. In other words, the present invention can link notes stored in an electronic document with media such as audio stored in an audio file. As media is played back from the media file, the present invention can display visual indicators adjacent to or over page content so that a user can see how page content relates to the media file.
According to one exemplary aspect of the present invention, page content can be highlighted when the page content has a relationship with the media that is being played. That is, page content can be highlighted at different times as the recorded live information from a media file such as audio from an audio file is being played back. For example, if audio information is recorded while a user is taking notes, then during play back of the audio file, the notes derived from parts of the audio content can be highlighted and then un-highlighted as the playback from the audio file progresses.
The present invention can link page content of an electronic document with a media file by using a media link. A media link can comprise a time stamp and a global universal identifier (GUID) that tracks a media file that can be generated simultaneously with page content. The page content can be created by a user in response to visual, audio, or audio visual information being presented that is stored in the media file. The time stamp can be produced by a media recorder/player as information is being stored on or played back from a media file.
According to one exemplary aspect of the present invention, the media recorder/player can comprise an audio recorder/player that uses audio files. However, other media recorders/players such as video and audio/visual player/recorders such as video cameras are not beyond the scope and spirit of the present invention.
To display the connection or link between page content and a media file, the present invention can build an index that comprises media links that were stored adjacent to page content in document files. A document editor supporting the visual link between the page content and media can produce the index prior to displaying the visual links. The index can be used to determine which portions of the page content stored in the document files should be highlighted at specific times during playback of the media from the media file.
The present invention can also employ a set of rules to follow when displaying visual links corresponding to play back of a media file. This set of rules can prevent random navigation through an electronic document for notes that may be recorded out of sequence relative to other notes and where such random notes may not be essential for display to the user during play back of a media file. Generally, the present invention can be designed to display a majority of media links in a logical and sequential fashion so that a user is not confused if random notes were taken out of sequence such as on different or earlier pages that may have been displayed during a visual presentation of the links to the media file by a document editing program.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating an exemplary operating environment for implementing various embodiment of the present invention.
FIG. 2 is a block diagram depicting primary functional components of an exemplary free-form document editor and related input devices used to create notes.
FIG. 3 is a functional block diagram illustrating some additional details of some key components according to one exemplary embodiment of the present invention.
FIG. 4 is a functional block diagram illustrating a relationship between page content files and media files according to one exemplary embodiment of the present invention.
FIG. 5 illustrates an exemplary file architecture where page groups correspond with groups of media files according to one exemplary embodiment of the present invention.
FIG. 6 illustrates an alternate exemplary embodiment of a file architecture where page group files correspond with a single media file according to an alternate exemplary embodiment of the present invention.
FIGS. 7A-7C are exemplary displays illustrating visual links between a media tool bar and page content according to one exemplary embodiment of the present invention.
FIG. 8 is a logic flow diagram illustrating an overview of an exemplary process for linking page content with a media file according to one exemplary embodiment of the present invention.
FIG. 9 is a logic flow diagram illustrating a sub-method of FIG. 8 for saving or storing a time stamp and media file identifier to a page file according to one exemplary embodiment of the present invention.
FIG. 10 is a logic flow diagram illustrating an overview of an exemplary process for displaying links between page content and a media file according to one exemplary embodiment of the present invention.
FIG. 11 is a logic flow diagram illustrating a sub-method of FIG. 10 for building an index of time stamps for a page grouping according to one exemplary embodiment of the present invention.
FIG. 12 is a logic flow diagram illustrating a sub-method of FIG. 10 for displaying visual indicators adjacent to outline elements linked to a media file according to one exemplary embodiment of the present invention.
FIG. 13 is a logic flow diagram illustrating a sub-method of FIG. 12 for identifying outline elements in a time stamp indexed that are nearest to a current time stamp according to one exemplary embodiment of the present invention.



DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT
The present invention can link page content with a media file and display these links during playback. In other words, the present invention can link notes stored in an electronic document with media such as audio information stored in an audio file. As media is played back from the media file, the present invention can display visual indicators adjacent to or over page content so that a user can see how page content relates to the media file.
Exemplary Operating Environment
Exemplary embodiments of the present invention will hereinafter be described with reference to the drawings, in which like numerals represent like elements throughout the several figures. FIG. 1 illustrates an exemplary operating environment for implementation of the present invention.
The exemplary operating environment includes a general-purpose computing device in the form of a conventional personal computer 120. Generally, the personal computer 120 includes a processing unit 121, a system memory 122, and a system bus 123 that couples various system components including the system memory 122 to the processing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes a read-only memory (ROM) 124 and a random access memory (RAM) 125. A basic input/output system (BIOS) 126, containing the basic routines that help to transfer information between elements within personal computer 120, such as during start-up, is stored in ROM 124.
Personal computer 120 further includes a hard disk drive 127 for reading from and writing to a hard disk, not shown, a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129, and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD-ROM or other optical media. Hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 are connected to system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical disk drive interface 134, respectively.
Although the exemplary environment described herein employs hard disk 127, removable magnetic disk 129, and removable optical disk 131, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, and the like, may also be used in the exemplary operating environment. The drives and their associated computer readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules, and other data for personal computer 120.
A number of program modules may be stored on hard disk 127, magnetic disk 129, optical disk 131, ROM 124, or RAM 125, including an operating system 135, an ink processing module 225, a stylus and ink module 228, and an electronic document 220. Program modules include routines, sub-routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. Aspects of the present invention may be implemented in the form of an ink processing module 225 that can operate in concert with a stylus and ink module 228 to edit an electronic document 220.
A user may enter commands and information into personal computer 120 through input devices, such as a keyboard 140 and a pointing device 142. Pointing devices may include a mouse, a trackball, and an electronic pen that can be used in conjunction with an electronic tablet. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to processing unit 122 through a serial port interface 146 that is coupled to the system bus 123, but may be connected by other interfaces, such as a parallel port, game port, a universal serial bus (USB), or the like. A display device 147 may also be connected to system bus 123 via an interface, such as a video adapter 148. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
The personal computer 120 may operate in a networked environment using logical connections to one or more remote computers 149. Remote computer 149 may be another personal computer, a server, a client, a router, a network PC, a peer device, or other common network node. While a remote computer 149 typically includes many or all of the elements described above relative to the personal computer 120, only a memory storage device 150 has been illustrated in the Figure. The logical connections depicted in the Figure include a local area network (LAN) 151 and a wide area network (WAN) 152. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
When used in a LAN networking environment, the personal computer 120 is often connected to the local area network 151 through a network interface or adapter 153. When used in a WAN networking environment, the personal computer 120 typically includes a modem 154 or other means for establishing communications over WAN 152, such as the Internet. Modem 154, which may be internal or external, is connected to system bus 123 via serial port interface 146. In a networked environment, program modules depicted relative to personal computer 120, or portions thereof, may be stored in the remote memory storage device 150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Moreover, those skilled in the art will appreciate that the present invention may be implemented in other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network person computers, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments, where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Referring to FIG. 2, an exemplary architecture 200 is illustrated for editing electronic ink in accordance with an embodiment of the present invention. FIG. 2 shows typical hardware and software components used in operating the invention from a functional perspective. Conventional input devices are represented by the keyboard 260 and the pointing device (mouse) 265. A user can enter commands and information into the computer 120 using the input devices. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, and scanner.
A conventional output device, such as monitor 270, is used to display information from the computer 120. Other output devices (not shown) can include a printer or speaker. Other hardware components shown in FIG. 2 include an electronic tablet 250 and an accompanying stylus 255. The tablet 250 and stylus 255 are used to input handwriting strokes which are converted to collections of data that can be represented as electronic ink. The electronic ink may be incorporated into an electronic document 220 and may be displayed on either the electronic tablet 250, the monitor 270, or both.
Although the electronic tablet 250 and the monitor 270 are illustrated as being distinct, in the preferred embodiment they are either coupled or form a single component. The joint tablet/monitor component has the ability to display information and receive input from the stylus 255. Also shown among the hardware components is a conventional electronic storage device such as a hard drive 127 or RAM 125.
In the representative architecture 200, all of the hardware components are coupled to an ink processing software module 225. It should be understood by those skilled in the art that FIG. 2 is merely representative and that in practice the hardware components typically are coupled to the elements shown in FIG. 1. The ink processing module 225 is operable for receiving data from the electronic tablet 250 and/or the stylus 255 and rendering that data as electronic ink. In the preferred and exemplary embodiment, the ink processing module 225 is a collection of software modules that perform different tasks for rendering handwriting strokes as electronic ink.
For example, the stylus and ink module 228 can receive data describing the positions and angles of the stylus for a series of handwriting strokes. The stylus and ink module 228 can interpret the data for rendering electronic ink. Other software modules, such as a gesture recognizer 230 and word recognizer 235 can be designed to identify certain handwriting strokes and assign them a particular significance. For example, certain gestures such as a cross-out may be recognized and associated with other editing processes. The ink processing module 225 can also include an erasing functions module 240 for removing electronic ink that has been previously rendered.
Although ink processing modules are known in the art and necessary for an electronic tablet to function, what is needed is a document editing module 205, such as the one shown in FIG. 2, that enhances the performance of an electronic tablet. Specifically, document editing module 205 facilitates the manipulation of electronic ink so that a user can create and manipulate an electronic document 220 with greater ease and sophistication.
The document editing module 205 communicates with the windows media services of the windows operating system 135. The document editing module 205 can control the operation of the media player/recorder 211 through issuing commands to the windows media services. In turn, the windows media services of the windows operating system 135 as well as the direct show module 207 communicate with the media player/recorder 211 in order to control the operation thereof.
The media player/recorder 211 can communicate to the document editing module 205. The media/player recorder 211 can comprise an audio player/recorder, a video player/recorder, or an audio visual player/recorder, or other like media capturing devices. The media player/recorder 211 typically communicates time stamps to the document editing module 205 as needed by the document editing module. The windows media services of the windows operating system 135 can format and store the live event information received from the media player/recorder 211. Similarly, the document editing module 205 can format and store the page group files of the electronic document 220 on the storage medium 127.
The page group files 290 and the audio files 295 can be both stored on the same storage medium 127. And in one exemplary embodiment, the page group files 290 and the audio files 295 are stored within close proximity to one another in an exemplary file architecture as will be discussed below in further detail with respect to FIGS. 5 and 6.
The document editing module 205 may further comprise a collection of software modules for controlling and manipulating electronic ink rendered on the monitor 270. For example, a parsing module 210 can be used to identify handwriting strokes that are selected by the user for editing. Selected strokes may by highlighted or shaded to assist the user in identifying which strokes are to be edited. A classifier module 215 can identify certain handwriting strokes as being part of a word or drawing. Software modules such as the layout module 216 and the insert space module 217 can be designed to control how electronic ink is rendered and moved. Other modules can include a selection manager 280, a context menu manager 285, a text input manager 295, and a user interface language input processor 297.
The selection manager 280 can monitor how converted text or electronic ink is selected for editing by the user. The context menu manager 285 can monitor the selection of a list of alternate words that can be displayed when a user edits a word in converted text. The text input manager 295 can operate as an interface for a user interface language input processor 297 that uses language rules to assist in the recognition of words through context.
The modules shown in FIG. 2 are representative and those skilled in the art should understand that other modules may also be part of or coupled to the document editing module 205. For example, the document editing module 205 may also work with a rich edit module 275 that provides added functionality such as monitoring and controlling the selection of text and word wrapping.
The present invention includes multiple computer programs which embodies the functions described herein and illustrated in the exemplary display screens and the appended flow chart. However, it should be apparent that there could be many different ways of implementing the invention in computer programming, and the invention should not be construed as limited to any one set of computer program instructions. Further, a skilled programmer would be able to write such a computer program to implement the disclosed invention without difficulty based on the exemplary display screens and flow charts and associated description in the application text, for example.
Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding how to make and use the invention. The inventive functionality of the claimed computer program will be explained in more detail in the following description in conjunction with the remaining Figures illustrating the functions and program flow.
Exemplary Components of the Page Content Media Linking System
Referring now to FIG. 3, this figure is a functional block diagram illustrating some key components of the media linking system and further details of the files maintained by the document editing module 205 and the media services of the window operating system 135. As noted above, the document editing module 205 can store files 290 comprising page groups 300 while the media services of the windows operating system 135 stores media files 295 on the storage medium 127. The storage medium 127 can comprise a hard disk drive as illustrated in FIG. 1. However those skilled in the art will recognize that page groups 300 and media files 295 could be stored in memory such as random access memory 125. Alternatively, in a web based environment, the client document editing modules 205 and media services of the windows operating system 135 of the client computer could store the page groups 300 and the media files 295 on a server remote from the client document editing module 205. Those skilled in the art will appreciate that other types of storage devices 127 are not beyond the scope and spirit of the present invention.
The page groups 300 can comprise a collection of related electronic pages. For the page group 300 illustrated in FIG. 3, the page group 300 only comprise a single page. Each page of a page group 300 can comprise outline elements 305. Outline elements can comprise, but are not limited to, typed text, electronic ink, drawings, and pasted material from an electronic clip board. Adjacent to each outline element can be a link 307 that can comprise a time stamp 310 and a global unique identifier (GUID) 315 that corresponds to a media file.
The media link 307 is used by the document editing module 205 to identify a specific media file 295 associated with a particular outline element 305 as well as a specific portion of a media file 295 associated with a particular outline element 305. Further details of the media link 307 relative to the outline elements 305 and the audio files 295 will be discussed in further detail below.
Exemplary File System for Page Groups and Media Files
Referring now to FIG. 4, this figure illustrates some exemplary relationships between page groups 300 and media files 295. As noted above, the page group 300 is maintained by the document editing module 205 while the media files 295 are maintained by media services of the windows operating system 135. In FIG. 4, a first page group 300A can comprise 6 pages of page content. Page content of a sixth page of the first page group 300A can comprise a first outline element 305A and a second outline element 305B. The first outline element 305A can comprise electronic ink. Meanwhile the second outline element can comprise typewritten text.
Each page group 300 can comprise any number of pages. And similarly, each media file 295 can comprise any number of media subfiles 405. However, according to a preferred exemplary embodiment of the present invention, each media file 295 only comprises a single file structure without any distinct sub files as known to those of ordinary skill in the art.
The first page group 300A can be assigned to a first media file group 295A. Similarly, a second page group 300B can be assigned to a second media file group 295B. The first outline element 305A can be assigned to a first media link 307A. A first media link 307A can comprise a first time stamp 310A and a first GUID 315A. The first time stamp 310A and first GUID 315A can refer to a first media file 295A and more specifically to a first media subfile 405A.
Similarly, the second outline element 305B can be assigned a second media link 307B. The second media link 307B can comprise a second time stamp 310B and a second GUID 315B. However, the second time stamp 310B and the second GUID 315B can correspond or refer to a second media file group 295B.
This figure demonstrates that each page group 300 is assigned to a single media file 295. However, the page content comprising outline elements 305 can refer to more than one media file 295. This relationship will be more fully explained below with respect to the flow charts discussed in FIGS. 8 through 13.
Exemplary File Architectures
Referring now to FIG. 5, this figure illustrates an exemplary file architecture 500 that can be navigated by a user. The exemplary file architecture 500 can comprise a tree structure where the page group 300 is typically positioned in the tree structure in a manner similar to the media files 295. Also, each media file 295 in one preferred and exemplary embodiment has a file name that corresponds with a corresponding page group name. Such a file naming system allows for easy navigation between page groups 300 and corresponding media files 295.
Referring now to FIG. 6, this figure illustrates another exemplary file architecture 600 according to an alternative and preferred exemplary embodiment of the present invention. In this particular file architecture 600, each page group 300 corresponds with a single media file 295. In this way, any changes to the pages within a page group 300 would only be reflected in a single audio file 295.
Referring now to FIG. 7A, this figure illustrates a visual link between a media tool bar 700 and page content 705 of a page in a page group 300. The page content 705 comprises first, second, and third outline elements 305A, 305B, and 305C. As noted above, the outline elements 305 can comprise any one of typewritten text, handwritten text in the form of electronic ink, a drawing made with electronic ink or material pasted with an electronic clipboard. Other forms of content for the outline elements are not limited to those illustrated and are not beyond the scope and spirit of the present invention.
Each outline element can have a corresponding visual indicator 707 that can alert a user that a media file is linked to a particular outline element 305 positioned adjacent to the visual indicator. The visual indicator 707 can comprise an icon that has a shape corresponding to the media file type. According to one exemplary embodiment, audio files make up the media files and therefore a visual indicator 707 can be shaped in the form of a speaker to alert a user that audio content is associated with a particular outline element 305.
Each outline element 305 may or may not have a corresponding visual indicator 707. For those outline elements 305 which may not have a visual indicator 707, such as the first outline element 305A, it is possible that a media file was not associated with the first outline element 305A for any one of numerous reasons. For example, a user could have paused or stopped the recording of a media file when creating the first outline element 305A. The user could have then activated recording of live event information to the media file when the second outline element 305B was created.
The second outline element 305B can be enclosed or circumscribed by a second visual indicator such as a highlight bar 709 to indicate the current position of an insertion point. Those skilled in the art will appreciate an insertion point corresponds to a position within an electronic document where additional data can be added or “inserted”.
Since the insertion point for the current exemplary embodiment display illustrated in FIG. 7A is on the second outline element 305B and because the second outline element 305B comprises a media link 307B (not shown) as evidenced by the visual indicator 707, the media tool bar 700 comprises a time line 715A that includes a position indicator 720A that corresponds with the relative position of the data presented by the second outline element 305B. In other words, a position indicator 720A maps or displays the relative position of the insertion point (that corresponds with the highlight bar 709) within the media file 295 associated with a current page group 300. The media tool bar 700 can further comprise additional features for manipulating a media file 295 corresponding with the current page group 300.
For example, the media tool bar can comprise a play button 725, a stop button 730, a pause button 735, a record button 740, a rewind button 745, a fast forward button 750, and a “See Playback” button 755. The corresponding functionality of the aforementioned buttons will not be discussed for buttons where the names imply the functionality of the buttons to one of ordinary skill in the art. For the “See Playback” button 755, this button can be used to “toggle on” and “toggle off” the second visual indicator 709 that comprises the highlight bar.
The time line or slider bar 715 can be manipulated by a user where the position indicator 720 can be moved backwards or forwards depending upon where a user may want to start retrieving information from a media file corresponding to the page group 300. By moving the position indicator 720A and when the “See Playback” feature is activated by the “See Playback” button 755, the corresponding insertion point will also move in a manner such that outline elements 305 corresponding with the position indicator 720 will be displayed to the user.
Play back of a media file 295 can be activated by the playback button 725, or by activating the first visual indicator 707. Activating the first visual indicators 707 can be achieved by “double clicking” with an appropriate mouse pointer or stylus.
Referring now to FIG. 7B, this figure illustrates another exemplary display of the media tool bar 725B and an exemplary page group 300A. This figure illustrates that the first page of page group 300A is still displayed however a position of the insertion point corresponding to the second visual indicator 709 comprising the highlight bar has changed. As illustrated in this exemplary embodiment, the third outline element 305C was created after the second outline element 305B while the media player/recorder 211 was recording to the media file 295.
Therefore, the media link 307C corresponding to the third outline element 305C has a time stamp that occurs later or after the time stamp corresponding to the second outline element 305B. Accordingly, the position indicator 720 has been moved further in time along the time line or slider bar 715B relative to the position indicator 720A illustrated in FIG. 7A. However, those skilled in the art recognize that outline elements can be created out of sequence during the recording made by the media player/recorder 211.
Therefore, it is possible that the media links 307 (not visible to the user) can be in various sequences or positions on a particular page of a page group 300A. However, in the examples illustrated in FIGS. 7A and 7B, the outline elements 305 were created in sequence meaning that that one outline element 305 was created after the next in a sequential fashion down the page, and, therefore, the corresponding media link comprising the time stamp also correspond to this logical sequencing.
Referring now to FIG. 7C, this figure illustrates a media tool bar 715C and a first page of a second page group instead of a first page of the first page group 300A. The position indicator 720C has been displaced relative to the position indicator 720A, 720B to inform the user that page 2 of the page group 300A has outline elements 305 that occur after and time during play back of the media file 295 relative to the outline elements 305 on the first page of the page group 300A.
FIG. 7C also illustrates that the present invention automatically navigates through pages of content within a page group 300A and across different page groups (not illustrated) when the “See Play back” button 755 has been activated. At any time during play back of the media file 295 corresponding to the current page group 300A, a user can toggle out of the “See Playback” mode by inserting content onto the current page during playback of the media file 295. Other ways to stop or to toggle out of the “see Playback” mode will be discussed in further detail below. FIGS. 7A-7C demonstrate how a second visual indicator 709 can be used to help a user navigate through a media file 295 by displaying the relative position of an outline element 305 within the media file 295.
Exemplary Method for Linking Page Content with a Media File
Certain steps in the processes described below must naturally precede others for the present invention to function as described. However, the present invention is not limited to the order of the steps described if such order or sequence does not alter the functionality of the present invention. That is, it is recognized that some steps may be performed before or after other steps or in parallel with other steps without departing from the scope and spirit of the present invention.
Referring now to FIG. 8, this figure illustrates an exemplary method 800 for linking page content with a media file 295. Method 800 starts with decision step 805 in which it is determined whether a media record command is received by the document editing module 205. As noted above, a media record command can be activated with the record button 725A. However, other ways of activating the media record command such as from a drop down menu and other techniques are not beyond the scope and spirit of the present invention.
If the inquiry to decision step 805 is negative, then the “no” branch is followed back to step 805 for a continuous loop. If the inquiry to decision step 805 is positive, then the “yes” branch is followed to step 810 in which a location of the current insertion point is identified relative to an outlined element 305. In this step, the document editing module determines what particular outline element 305 and its corresponding page in a page group 300 have been selected by a user.
Next, in decision step 815, the document editing module 205 determines if the insertion point is linked to an existing media file. If the inquiry to decision step 815 is positive, the “yes” branch is followed to step 820 in which a document editing module 205 instructs the media services of the windows operating system 135 to append information to the media file linked to the current insertion point.
If the inquiry to decision 815 is negative, then the “no” branch is followed to decision step 825. In decision step 825, the document editing module 305 determines if the current page selected by a user is linked to a media file. If the inquiry to decision step 825 is positive, then the “yes” branch is followed to step 830 in which a document editing module 205 instructs media services of the window operating system 135 to append media input to the media file linked to the current selected page.
If the inquiry to decision step 825 is negative, then the “no” branch is followed to step 835. In step 835, a document editing module 205 instructs media services of the windows operating system 135 to create a media file with a current page group title as the title for the media file and having a specific global universal identifier (GUID).
In step 840, a document editing module 205 displays the first visual indicator 707 such as the “speaker” icon adjacent to the outlined element 305 corresponding to the insertion point to indicate a media file corresponds with the current outline element 305 In routine 850, the document editing module 205 creates and saves a media link 307 comprising the time stamp 310 and GUID 315 to the current page file and corresponding to the current selected outline element 305. Further details of routine 850 will be discussed below with respect to FIG. 9.
Next, in decision step 855, the document editing module 205 determines whether a creation content event has been detected. A creation content event can comprise any one of or a combination of typewritten text, handwritten text in the form of electronic ink, a drawing in the form of electronic ink, and the pasting of material with an electronic clip board. Other creation content events are not beyond the scope and spirit of the present invention.
According to one exemplary embodiment, a creation event generally occurs when a user creates a new outline element with electronic ink or typewritten text. This means that the user starts a new line of electronic ink or a new line of typewritten text by hitting a hard return. Alternatively, a user could select a different page to start generating handwritten notes in the form of electronic ink or typewritten notes. Such navigation to a different page could also constitute a creation content event.
If the inquiry to decision step 855 is positive, then the “yes” branch is followed back to step 810 in which the document editing module 205 identifies a location of the insertion point relative to a current selected outline element. If the inquiry to decision step 855 is negative, then the “no” branch is followed to decision step 860.
In decision step 860, the document editing module 205 determines if a stop or pause command has been received. For example, the document editing module monitors the media tool bar 700 to determine if the stop button 730 or pause button 735 have been activated. If the inquiry to decision step 860 is positive, then the “yes” branch is followed to step 870 in which the document editing module issues a command to the media services of the windows operating system 135 to further instruct the media player/recorder 211 to stop recording or creating the current media file 295. Next, in step 875, the process returns to decision step 805.
If the inquiry to decision step 860 is negative, then the “no” branch is followed to decision step 880 in which the document editing module 205 determines if a close document editor command has been received. If the inquiry to decision step 880 is positive then the “yes” branch is followed in which the process ends. If the inquiry to decision step 880 is negative, then the “no” branch is followed back to decision step 855 in which a document editing module 205 determines if a creation content event has been detected.
Referring now to FIG. 9, this figure illustrates an exemplary sub-method for routine 850 of FIG. 8 in which the document editing module 205 creates and saves a media link 307 to the currently active page of a page group 300. Step 905 is the first step of the sub-method 850 in which the document editing module receives a time stamp from the media player/recorder 211 for the current media being recorded by the media player/recorder 211. Next, in step 910, the document editing module 205 obtains the global universal identifier (GUID) for the current media file from the media player/recorder 211.
In step 915, the document editing module 205 saves the media link 307 comprising the time stamp 310 and GUID 215 to the page file for the current outline element that is active. Next, in step 920, the process returns to decision step 855 of FIG. 8.
Referring now to FIG. 10, this figure illustrates an exemplary method 1000 for displaying page content associated with a media file 295. Step 1005 is the first step in the process in which a document editing module 205 determines the position of current insertion point relative to an entire length of a media file 295. In this step, the document editing module 205 can look for the closest outline element 305 that has a media link 307.
With this media link 307, the document editing module 205 can calculate a position of a current insertion point if the current insertion point and corresponding outline element has a media link 307 to the media file 295. If the current outline element and current insertion point do not have a media link 307, then the document editing module 205 usually cannot determine the position of the current insertion point relative to the entire length of the media file 295.
In step 1010 the document editing module 205 can display the media tool bar 700 indicating the position of the current insertion point relative to the length of the media file 295. According to this step, the document editing module can display the position indicator 720 at an appropriate position on the time line 115 that comprises a slider bar. However, alternative ways of graphically displaying the relative position or the current insertion point with respect to a corresponding media file are not beyond the scope and spirit of the present invention. For example, the position of the current insertion point could be indicated with a bar graph indicating a percentage complete of a corresponding media file.
In decision step 1015, the document editing module 205 can determine whether a play command has been received. In this step, the document editing module 205 can monitor input that can be received with the media tool bar 700. Further, the document editing module can determine if a play command has been received through other ways such as a drop down menu present within the document editing module 205 (not illustrated).
In routine 1020, the document editing module 205 can build an index of media links for the current page group 300 that is active. Further details of routine 1020 will be discussed below with respect to FIG. 11.
Next, in decision step 1025, the document editing module 205 can determine whether visual indicators such as the highlight bar 709 are desired. In other words, a document editing module step 205 can determine whether a user has activated the “See Playback” button 755. If the inquiry to decision step 1025 is negative, then the “no” branch is followed to decision step 1035. If the inquiry to decision step 1025 is positive, then the “yes” branch is followed to routine 1030 in which the document editing module 205 can display visual indicators such as the highlight bar 709 adjacent to or circumscribing the outline elements linked to the current media file 295. Further details of routine 1030 will be discussed below with respect to FIG. 12.
Next, in decision step 1035, it is determined whether this is a first play of a media file 295. If the inquiry to decision step 1035 is positive, then the “yes” branch is followed to decision step 1040 in which play of the media file 295 is started at a position corresponding to the media link associated with the current insertion point. The process then continues back to decision step 1025. If the inquiry to decision step 1035 is negative, then the “no” branch is followed to step 1045.
In step 1045, play back of the current media file is continued. Next, in decision step 1050, the document editing module 205 determines whether an event has occurred in which the visual indicators such as the highlight bar 709 should be stopped. Exemplary events which are monitored by the document editing module 205 in this step can include, but are not limited to, creation of a new outline element, navigating to a different page or different page grouping, cutting or pasting of material to or from a current page. Other events that can stop the presentation of the link between the page content and media file are not beyond the scope and spirit of the present invention.
If the inquiry to decision step 1050 is positive, then the “yes” branch is followed to step 1055 in which the presentation of visual indicators by the document editing module 205 is stopped. If the inquiry to decision step 1050 is negative, then the “no” branch is followed to decision step 1060 in which the document editing module 205 determines if a start visual indicators command has been issued. In other words, the document editing module determines if the “See Playback” command button 755 has been activated. If the inquiry to decision step 1060 is positive, then the “yes” branch is followed back to routine 1030. If the inquiry to decision step 1060 is negative, then the “no” branch is followed to decision step 1065.
In decision step 1065, the document editing module 205 determines if a close document editor, stop media playback, or pause media playback command has been issued. If the inquiry to decision step 1065 is negative, then the “no” branch is followed back to step 1045 in which playback of the media is continued. If the inquiry to decision step 1065 is positive, then the “yes” branch is followed to step 1070 in which the document editing module 205 stops displaying the second visual indicators comprising the highlight bars 709 and the document editing module 205 issues a command to the media services of the window operating system 135 to stop playback of the media file 295. The process then ends.
Referring now to FIG. 11, this figure illustrates an exemplary routine or sub-method 1020 for building an index of media links 307 for a current page group 300. The first step of routine 1020 is step 1105 in which the document editing module 205 accesses the current page group file 290. In this step 1105, the document editing module 205 can access each page of the page group 300. Next, in step 1110, the document editing module 205 can identify each outline element in each of the page files that has a media link comprising a time stamp 310 and a GUID 315.
In step 1115, the media link 307 for a current outline element 305 can be added to the index in a relative position based upon the time stamp 310 of the media link 307. The process then returns to step 1025 of FIG. 10.
Referring now to FIG. 12, this figure illustrates an exemplary routine or sub-method 1030 of FIG. 10 for displaying visual indicators such as highlight bars 709 adjacent to the outline element identified in the index. Decision step 1205 is the first step of routine 1030 in which it is determined whether this is a first iteration of accessing the index. The inquiry to decision step 1205 is negative, then the “no” branch is followed to routine 1220. If the inquiry to decision step 1205 is positive, then the “yes” branch is followed to step 1210.
In step 1210, the document editing module 205 displays the second visual indicator such as the highlight bar 709 adjacent to the outline element 305 corresponding to the current insertion point. Next, in step 1215, the document editing module 205 issues a command to the media services of the windows operating system 135 to start play back of the media file corresponding to the media link of the current insertion point. The process then returns to step 1035 of FIG. 10.
In routine 1220, the document editing module 205 identifies the outline element in the index that is nearest to the current time stamp being received from the media player/recorder 211. Further details of routine 1220 will be discussed below with respect to FIG. 13.
In step 1225, the document editing module 205 displays the second visual indicator comprising the highlight bar 709 adjacent to or surrounding the outline element identified in the index. The process then returns to step 1035 of FIG. 10.
Referring now to FIG. 13, this figure illustrates an exemplary sub-method or routine 1220 for identifying an outline element 305 in the index that is nearest to the current time stamp 310 being evaluated by the document editing module 205. A first step of routine 1220 and step 1305 in which the document editing module 205 receives the current time stamp 310 of the media file 295 being played.
In step 1310, the document editing module 205 compares the time stamp 310 of the current media link 307 of a current insertion point with a media link 307 of the next media link 307 in the index.
In decision step 1315, a document editing module determines 205 if the comparison between the current media link 307 and a subsequent media link 307 in the index meets a predetermined threshold. In other words, in decision step 1315, the document editing module 205 can determine if the current media link 307 being evaluated meets a predetermined period of time.
In other words, it is recognized that when notes are created from presented information, notes typically lag the presented live event information by a certain amount of time such as fifteen seconds. However, the present invention is not limited to this predetermined threshold of fifteen seconds and other values smaller or larger than fifteen seconds are not beyond the scope and spirit of the present invention. If the inquiry to decision step 1315 is negative, then the “no” branch is followed to step 1320 in which playback of the current media file is continued. The process then returns to step 1305.
If the inquiry to decision step 1315 is positive, then the “yes” branch is followed to decision step 1325 in which the document editing module 205 determines if the current media link 307 in the index has more than one corresponding outline element 305. In other words, the document editing module 205 determines if a current media link 307 may be associated with more than one line of electronic ink or typewritten text. If the inquiry to decision step 1325 is negative, then the “no” branch is followed to decision step 1340. If the inquiry to step 1325 is positive, then the “yes” branch is followed to decision step 1330.
In decision step 1330, the document editing module 205 determines if the multiple outline elements 305 associated with the current media link 307 are on different pages. If the inquiry to decision step 1330 is negative, then the “no” branch is followed to step 1332 in which the display of multiple outline elements 305 on a same page is continued. Next in step 1334, the process returns to step 1225 of FIG. 12.
If the inquiry to decision step 1330 is positive, then the “yes” branch is followed to step 1335 in which a document editing module 205 only identifies for display the closest outline element 305 relative to the current page. In other words, the document editing module 205 drops other outline elements 305 that are on different pages relative to an outline element that 305 is present on a current page that is active.
In decision step 1340, the document editing module 205 determines if a subsequent media link 307 after the current media link 307 being evaluated is on a new page. In other words, the document editing module 205 is determined if the current media link 307 is a random note on a random page that is out of sequence with the current presentation of visual indicators. The present invention is designed to minimize page flipping and to minimize random navigation between pages for isolated notes that may have been added during the recording of information by a user.
If the inquiry to decision step 1340 is negative (meaning that more than one media link exists on the next page corresponding to the current media link 307), the “no” branch is followed to step 1370. If the inquiry to decision step 1340 is positive, then the “yes” branch is followed to decision step 1045.
In decision step 1345, it is determined if the current media link 307 is on a new page is the only media link 307 on the new page. In other words, the document editing module 205 is trying to determine the relative importance of a random note as will be evidenced from the decision steps that follow this decision step. If the inquiry to decision step 1345 is negative (meaning that there is more than one media link on the new page containing the current media link) the “no” branch is followed to step 1360.
If the inquiry to decision step 1345 is positive, then the “yes” branch is followed to decision step 1350 in which the document editing module 205 determines if the current media link 307 on the new page refers to a page that was previously viewed or displayed to a user. If the inquiry to decision step 1350 is negative, then the “no” branch is followed to step 1360. If the inquiry to decision step 1350 is positive, then the “yes” branch is followed to step 1355 in which the document editing module 205 skips the current media link 307 and proceeds back to step 1320 in which play back of the media file 295 is continued.
In step 1360 the time stamp 315 of the current media link 307 is compared with the time stamp 315 of a subsequent media link 307. Next, in decision step 1365, the document editing module 205 determines if the comparison between the time stamps 315 of media links 307 meets a predetermined threshold. In other words, the document editing module is determining if there could be additional notes on the page containing the media link that may not have media links associated with the media file 295.
If the time stamp 315 indicates that the current media link is referring to an outline element 305 that is very short, then the document editing module 205 will skip the current media link 307. That is, if the inquiry to decision step 1365 is negative, then the “no” branch will be followed to step 1355 in which the current media link is skipped. If the inquiry to decision step 1365 is positive, then the “yes” branch is followed to step 1370 in which a document editing module 205 continues with identifying the current media link 307 for display. In step 1375, the process returns to step 1225 of FIG. 12.
Alternate Embodiments (not Illustrated)
When a user is playing back a media file and viewing the corresponding links between the media file and the page content, the user can disengage or stop the display of links while the media file is played if the user attempts to insert new page content during this play back. According to an alternate exemplary embodiment, the document editing module 205 can create a media link for this added material made during playback. In this way, during a second playback, the additional material added by the user could be displayed with an appropriate visual indicator 709 to demonstrate the newly formed media link with the media file.
CONCLUSION
Accordingly, the present invention provides a method and system for linking page content with a media file such that a user can easily navigate between the page content and the media file as necessary. The present invention also links page content with a media file where visual indicators are provided to allow a user to see the connection between the written word and the recorded spoken word in a media file. The invention also links page content with a media file such that a user can point to page content and the corresponding recorded medium will be synchronized with the selected page content.
It should be understood that the foregoing relates only to illustrative embodiments of the present invention, and that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims.

## Claims

1. A method for linking page content with a media file comprising:
recording media in the media file;
receiving page content associated with the media in an electronic document;
receiving a time stamp and a global unique identifier corresponding to the media during recording of the media file;
generating a media link comprising the time stamp and the global unique identifier; and
storing the media link adjacent to the page content in the electronic document wherein when the page content in the electronic document is selected, the media corresponding to the media link is synchronized with the page content selected for playback;
identifying a position of an insertion point within the page content in the electronic document;
determining whether the insertion point is linked to the media file or another media file;
appending media input at the insertion point to any media file linked to the insertion point in response to determining that the insertion point is linked to the media file or another media file;
in response to determining that the insertion point is not linked to any media file, determining whether a current page selected is linked to the media file or another media file; and
in response to determining that the current page selected is linked to the media file or another media file, appending media input at the insertion point to any media file linked to the current page;
wherein the insertion point corresponds to a position within the electronic document where additional data can be added.

2. The method of claim 1, wherein recording media on a media file further comprises recording audio to an audio file.

3. The method of claim 1, wherein recording media on a media file further comprises recording one of video to a video file or audio/video to an audio/visual file.

4. The method of claim 1, wherein receiving page content associated with the media in an electronic document further comprises receiving at least one of electronic ink, typed text, a drawing made with electronic ink, or information pasted from an electronic clip board.

5. The method of claim 1, further comprising displaying at least one visual indicator in the electronic document adjacent to, over, or circumscribing a portion of the page content to signify that a media link has been generated for the portion of the page content.

6. The method of claim 5, further comprising:
playing the media wherein displaying the visual indicator comprises:
highlighting the portion of the page content as a portion of the media associated with the portion of the page content is played; and
un-highlighting the portion of the page content as the media is played away from the portion of the media associated with the portion of the page content.

7. The method of claim 6, further comprising:
displaying a media tool bar comprising a timeline with a position indicator wherein a location of the position indicator on the timeline corresponds to a relative position within the media file of the portion of the page content highlighted comprising the insertion point.

8. The method of claim 5, further comprising:
receiving a selection of the visual indicator; and
in response to receiving the selection, playing a portion of the media linked to the portion of the page content associated with the visual indicator.

9. The method of claim 1, further comprising:
receiving a selection of a portion of the page content in the electronic document;
synchronizing the media with the portion of the page content selected; and
playing the media beginning at a portion of the media synchronized with the portion of the page content selected in response to receiving the selection.

10. A method for linking a media file with page content on a page of an electronic document and displaying links visually, comprising:
receiving input to display links between page content and the media file;
playing the media file;
identifying a position of an insertion point within the page content in the electronic document;
determining whether the insertion point is linked to the media file or another media file;
appending media input at the insertion point to any media file linked to the insertion point in response to determining that the insertion point is linked to the media file or another media file;
in response to determining that the insertion point is not linked to any media file, determining whether a current page selected is linked to the media file or another media file; and
in response to determining that the current page selected is linked to the media file or another media file, appending media input at the insertion point to any media file linked to the current page;
wherein the insertion point corresponds to a position within the electronic document where additional data can be added; and
displaying visual indicators on the page at least one of adjacent to, over, or enclosing portions of the page content for predetermined periods of time during playback of the media file therein illustrating how the portions of the page content relate to portions of the media file.

11. The method of claim 10, wherein displaying visual indicators on the page at least one of adjacent to, over, or enclosing portions of the page content further comprises displaying visual indicators on the page at least one of adjacent to, over, or enclosing portions of the page content that have been assigned a media link.

12. The method of claim 11, wherein the media link comprises at least one of a time stamp or a global unique identifier corresponding to the media file.

13. The method of claim 10, wherein playing a media file further comprises playing at least one of an audio, visual, or an audio/visual file.

14. The method of claim 10, wherein displaying visual indicators further comprises highlighting page content at predetermined intervals.

15. The method of claim 10, further comprising navigating through pages of the electronic document as the media file is being played.

16. The method of claim 10, further comprising building an index of media links.

17. A computer system for linking page content with a media file and for displaying links to the media file, comprising:
a processing unit;
a memory storage device;
a display device coupled to the processing unit for displaying data; and
a program stored in the memory storage device for providing instructions to the processing unit,
the processing unit responsive to the instructions of the program, operable for:
recording media;
receiving page content on a page in an electronic document;
generating a media link that associates the page content and the media, the media link comprising a time stamp;
playing the media;
identifying a position of an insertion point within the page content in the electronic document;
determining whether the insertion point is linked to the media file or another media file;
appending media input at the insertion point to any media file linked to the insertion point in response to determining that the insertion point is linked to the media file or another media file;
in response to determining that the insertion point is not linked to any media file, determining whether a current page selected is linked to the media file or another media file; and
in response to determining that the current page selected is linked to the media file or another media file, appending media input at the insertion point to any media file linked to the current page;
wherein the insertion point corresponds to a position within the electronic document where additional data can be added; and
displaying one or more visual indicators on the page adjacent to page content at intervals during playback of the media each visual indicator representing a media link between the page content and the media.

18. The system of claim 17, wherein the program stored in the memory storage device for providing instructions to the processing unit comprises a document editing module.

19. The system of claim 17, wherein the processing unit is further operable for building an index of media links associated with page content prior to displaying the visual indicators wherein the index is used to determine which portions of the page content is highlighted at specific times during playback of the media.