`
`Patent
`
`SEGMENTATION AND TRANSMISSION OF AUDIO STREAMS
`
`TECHNICAL FIELD
`
`[1]
`
`The present application relates generally to the transmission of digital audio data, and in
`
`particular, to a system, method, and computer-readable code for the delivery of digital audio data
`
`on demand.
`
`BACKGROUND OF THE INVENTION
`
`[2]
`
`Traditionally, there have been two different approachesfor delivering digital audio data.
`
`In the first approach, the digital audio data is mass downloaded. More specifically, and as
`
`shown schematically in Fig. 1, one or more files corresponding to an entire audio stream 10 is
`
`transmitted one frame 12 at a time from the serverto the client. Once the entire audio stream 10
`
`has been received and reassembled to form a continuous, contiguous audio stream,it is stored in
`
`storage 14 prior to being transmitted to a media player 16.
`
`[3]
`
`In the second approach, streaming technologyis used to deliver the digital audio data
`
`‘just-in-time’. More specifically, and as shown schematically in Fig. 2, an entire audio stream
`
`20 is transmitted one frame 22 at a time from the serverto the client, where it is received and
`
`reassembled,in part, to provide a continuous, contiguous audio stream (1.¢e., a small portion of
`
`audio stream continuity is preserved). Once each frameis played by the media player 26, it is
`
`then discarded from the buffer.
`
`[4]
`
`Small audio streams, or audio-video streams, which for example correspond to individual
`
`songs, very short movies, and music videos, are typically transmitted using the first approach. In
`
`terms of the delivery of these smaller streams of media, the delays experienced by the users are
`
`generally tolerated because they are relatively short in nature. Typically, time delays are
`
`measured as one or two minutes, and although possible, tend not to exceedthis.
`
`[5]
`
`The delivery of larger audio streams, which for example include booksand radio shows,
`
`presents a problem for the user community. Whereasa single song that plays for 4 minutes may
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`take 1 minute to download, an audio bookthat plays for 12 hours may take 3 to 4 hours to
`
`download. Although the general performanceis relatively the same in terms of throughputrate,
`
`users of this media complain about the hours of waiting to receive and use the media selected.
`
`[6]
`
`While streaming technology obviates the waiting associated with mass download, any
`
`degradation experienced in the delivery of the content in real time introducesinterruptions in the
`
`audio stream, causing breaks andinterruptions in the users experience of that audio stream.
`
`Moreover, since the digital audio data is not stored, repositioning within the audio stream (e.g.,
`
`using rewind or fast forward functions) interrupts the just-in-time nature of content delivery, and
`
`thus, may introduce significant delays and/or be inefficient. For example, in the case of
`
`rewinding a streamed audio stream, the content associated with the new position selected in the
`
`audio stream will need to be downloaded a second time and the future content temporarily stored
`
`in the buffer will be discarded.
`
`[7]
`
`In both of the existing technologies, great effort is made to reassemble the audio stream
`
`into a continuous, contiguous audio stream prior to being presented to the media player. In the
`
`case of the mass download approach,the entire audio stream is downloaded and reassembled
`
`prior to use. In streaming technologies, a very small portion of the audio stream is downloaded
`
`and reassembled prior to use with additional content delivered and already played content
`
`discarded continuously, to maintain a very small portion of continuity in the audio stream.
`
`Notably, this reconstruction of the audio stream complicates the digital audio data delivery and
`
`increases delivery time.
`
`[8]
`
`In addition, in both of the existing technologies, the user has limited tracking options.
`
`For example, ‘The Godfather’ is an audio book that, as commercially released, contains 24 MP3
`
`files that require 80 megabytes of storage and plays at normal speed for a total of almost 9 hours.
`
`In order to use these files with existing mass download technology, the user must manually keep
`
`track of whichfile is currently being listened to and whereoneisin that particularfile.
`
`[9]
`
`Tracking problemsalso develop if the users audio player automatically changesfiles, if
`
`the useris listening to multiple audio streams and/orif the userlistens to audio streams on more
`
`than one client device(e.g. if a user is listening to the audio stream at work and wants to resume
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`play at home). It can be particularly difficult and time consumingfor the user to resumelistening
`
`to an audio stream at a specific position.
`
`SUMMARYOF THE INVENTION
`
`[10]
`
`The instant invention obviates some of the above-described disadvantages by segmenting
`
`an audio stream into a plurality of small digital audio files using gapsin the natural language of
`
`the audio stream. These small digital audio files are transmitted, loaded, and played, in a specific
`
`order, such that from the user’s perspective, the audio stream is reproduced in an apparently
`
`seamless manner. Advantageously, this is done without reassembling the audio stream, either in
`
`whole or in part. Further advantageously, since the small digital audio files are created using
`
`natural language gaps, they can be sufficiently small to ensure that a first small digital audio file
`
`is downloadedand played without significant delay, while successive small digital audio files are
`
`downloadedto be played in the future. Accordingly, the user receives the audio-on-demandin a
`
`timely manner.
`
`[11]
`
`The instant invention further obviates some of the above-described disadvantages by
`
`providing a virtual audio stream descriptor, which includesa record ofthe position of each small
`
`digital audio file in the audio stream,to increase tracking options. Morespecifically, the virtual
`
`audio stream descriptor and one or more predetermined time offsets into the audio stream are
`
`used to position or reposition the audio stream at will. The predeterminedtime offsets are
`
`typically provided via internal media marks, external media marks, and/or rewind/fast-forward
`
`functions.
`
`[12]
`
`In accordance with one aspect of the instant invention there is provided a method of
`
`providingfiles for storage in a network accessible library for use in the transmission ofdigital
`
`audio data, comprising the steps of: a) segmenting an audio stream into a plurality of small
`
`digital audio files using natural language gapsin the audio stream; b) determiningat least one of
`
`a start time, an end time, and a play time of each small digital audio file within the audio stream;
`
`and c) creating a descriptor for identifying the audio stream and for ordering the plurality of
`
`small digital audio files, the descriptor including theat least one ofa start time, an end time, and
`
`a play time of each small digital audio file within the audio stream.
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`[13]
`
`In accordance with another aspect of the instant invention there is provided a method for
`
`the transmission ofdigital audio data, comprising the steps of: a) selecting the audio stream from
`
`the network accessible library; b) determiningafirst small digital audio file in the plurality of
`
`small digital audio files to be transmitted; c) transmitting the first small digital audio file from
`
`the network accessible library to a client; and d) using a media player, playing the first small
`
`digital audiofile.
`
`[14]
`
`In accordance with another aspect of the instant invention there is provided a method for
`
`the transmission ofdigital audio data, comprising the steps of: a) selecting an audio stream, the
`
`audio stream stored as a plurality of small digital audio files, each small digital audio file
`
`corresponding to a segment of the audio stream boundedbynatural language gaps in the audio
`
`stream; b) determininga first small digital audiofile in the plurality of small digital audio files to
`
`be transmitted; c) transmitting the first small digital audio file from a server to a client; d) using a
`
`media player, playing the transmitted first small digital audio file; e) determining subsequent
`
`small digital audio files in the plurality of small digital audio files to be transmitted;f)
`
`transmitting the subsequent small digital audio files from a server to a client; and, g) using the
`
`media player, playing the transmitted subsequent small digital audio files such that, to a user, the
`
`transition therebetween is apparently seamless.
`
`[15]
`
`In accordance with another aspect of the instant invention there is provided a methodfor
`
`creating a bookmark for use in the transmission ofdigital audio data, comprising the steps of: a)
`
`listening to an audio stream; b) determining a current position within the audio stream;c)
`
`determining a time offset from a start of the audio stream to the current position; and, d) creating
`
`a bookmark for the current position including the time offset.
`
`[16]
`
`In accordance with another aspect of the instant invention there is provided a system for
`
`the transmission ofdigital audio data comprising: a server for storing audio streams, each audio
`
`stream stored as a plurality of small digital audiofiles, each small digital audio file
`
`corresponding to a segment of the corresponding audio stream boundedbynatural language gaps
`
`in the audio stream; a client for playing selected audio streams stored on the server; and a
`
`network for connecting the server and the client and facilitating transmission of the small digital
`
`audio files from the server to the client, wherein at least one of the server and the client provides
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`a descriptor for each audio stream stored on the server, each descriptor includingat least one of a
`
`start time, an end time, and a play timeofthe plurality of small digital audio files of the
`
`corresponding audio stream, each descriptor providing meansfor the client to begin play of the
`
`selected audio stream from any position therein without significant delay.
`
`[17]
`
`In accordance with another aspect of the instant invention there is provided a system a
`
`computer readable storage medium including computer readable code, which when executed by
`
`a computer, causes said computer to: downloadat least part of a selected audio stream stored on
`
`a network accessible server, the selected audio stream stored as a plurality of small digital audio
`
`files, each small digital audio file corresponding to a segment of the selected audio stream
`
`bounded by natural language gapsin the selected audio stream; and begin playing the
`
`downloaded audio stream using a media player without significant delay and such the transition
`
`between successive small digital audio files appears seamless to a user of the media player.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[18]|Further features and advantagesof the present invention will becomeapparent from the
`
`following detailed description, taken in combination with the appended drawings, in which:
`
`[19]
`
`FIG. 1 is a schematic diagram showingthe prior art mass download ofan audio stream;
`
`[20]
`
`FIG. 2 is a schematic diagram showingpriorart streaming of an audio stream;
`
`
`
`[21] FIG.3isa schematic diagram illustrating the transmission of an audio stream in
`
`accordance with one embodimentof the instant invention;
`
`[22]
`
`FIG. 4 isa schematic diagram of one embodiment of a network based library;
`
`[23]
`
`FIG. 5a shows an embodimentof an actual audio stream structure;
`
`[24]
`
`FIG. 5b shows an embodimentof a small digital audiofile structure;
`
`[25]
`
`FIG. 5c shows an embodimentof a virtual audio stream descriptor structure;
`
`[26]|FIG. 5d shows an embodimentofanillustration structure;
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`[27]
`
`FIG. 5e shows an embodimentof an advertising structure;
`
`[28]
`
`FIG. 5f shows an embodimentofa catalog index structure;
`
`[29]
`
`FIG. 5g shows an embodimentofa serverlist structure;
`
`[30]
`
`FIG. 6 is a schematic diagram showing card catalog index structure relationships;
`
`[31]
`
`FIG. 7 is a schematic diagram illustrating one embodimentofa library creation process;
`
`[32]
`
`FIG. 8 is a schematic diagram illustrating one embodiment of an audio stream splitter
`
`process;
`
`[33]
`
`FIG. 9 shows an embodiment of a bookmark structure;
`
`[34]
`
`FIG. 10 is a schematic diagram showingvirtual audio stream structure relationships;
`
`[35]
`
`FIG. 11 is a schematic diagram illustrating one embodimentof a performance
`
`management process;
`
`[36]
`
`FIG. 12 is a schematic diagram illustrating information transfer and client memory status;
`
`[37]
`
`FIG. 13 is a schematic diagram illustrating one embodiment of a bookmarked audio
`
`stream purge process;
`
`[38]
`
`FIG. 14 is a schematic diagram illustrating one embodimentof an active audio stream
`
`purging process;
`
`[39]
`
`FIG. 15 is a schematic diagram illustrating one embodiment of a memory manager
`
`process;
`
`[40]
`
`FIG. 16 is a schematic diagram illustrating one embodiment of a download manager
`
`process;
`
`
`
`[41] FIG. 171saflow diagram illustrating one embodimentof a process for using the software
`
`product;
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`[42]
`
`FIG. 18 is a flow diagram illustrating one embodimentofthe player control process; and
`
`[43]
`
`FIG. 19 is a flow diagram illustrating one embodimentof the general functional process._
`
`[44]
`
`It will be noted that throughout the appended drawings,like features are identified by like
`
`reference numerals.
`
`DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
`
`[45]
`
`Referring to Fig. 3, there is shown a system for transmitting digital audio data in
`
`accordance with one embodimentofthe instant invention. The system includesa server 100, a
`
`client 150, and a network (not shown) for connecting the server 100 andthe client 150.
`
`[46]
`
`On the server side 100, an audio stream analyser 115 is provided for analysing large
`
`digital audio files 110 frame by frame 112, and for segmenting the large digital audio files 110
`
`into a plurality of small audio files 122. More specifically, the audio stream analyser 115 locates
`
`areas of silence or low decibel levels, hereafter referred to as gaps, within the audio stream.
`
`Whenthese natural language gaps are found, and after more than a specific amount of content
`
`has been processed, that content is written to a small audio file. This parsing processis repeated
`
`until the entire audio stream has beensplit, or segmented, into the plurality of small audio files
`
`122. In general, the size of each small audio file is selected such that it can be transferred from
`
`the server 100 to the client 150 in a period oftime that that does not cause appreciable
`
`consternation on behalf of the user. For example, as a benchmark for success, this time frame is
`
`similar to that used in the telephone industry when a subscriberlifts a receiver and waits for a
`
`dial tone. Accordingly, a two second wait is considered to be close to the maximum tolerable
`
`delay, with the optimal target being in the sub-second range. The actual size range of the small
`
`audio files will be dependent on the network throughput rates. As a result, as network speed
`
`increases, the upper limit on the size of the segments will also increase.
`
`[47]
`
`The audio stream analyser 115 also analyses each small digital audio file to determine the
`
`start time, end time, and/or play time of the small digital audio file within the audio stream 110.
`
`This information is recorded in an indexfile 124 (e.g., an XML document). The indexfile 124,
`
`whichis a virtual description of the actual audio stream, provides the information needed by a
`
`media player to reproduce the experience of a contiguous audio stream for the user without
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`reconstructing the audio stream. The term ‘actual audio stream’ as used herein, refers to the
`
`plurality of small digital audio files that comprise the entire audio stream, and that when played
`
`sequentially, provide an apparently seamless audio experience. According to one embodiment,
`
`each of the small digital audio files is named using a number(e.g., eight-digit decimal number)
`
`that indicates its logical order in the actual audio stream.
`
`[48]
`
`In addition to providing actual stream details (i.¢., the information for locating and
`
`managingthe plurality of small digital audio files), the virtual audio stream descriptor 124 also
`
`typically includes descriptive details used to describe the content of the audio stream, such as the
`
`title and/or ISBN. Optionally, the virtual audio stream descriptor 124 also includesinternal
`
`media marks,illustrations related to the audio stream, and/or internal advertising. Internal media
`
`marksare used to identify a specific point in time in the audio stream thatis offset from the
`
`beginning of the audio stream. Morespecifically, they generally point to a time offset associated
`
`with some user readable tag such asa table of contents, an index,a list of tables, a list of figures,
`
`footnotes, quotations,alist of illustrations, etc. Illustrations related to the audio stream and/or
`
`internal advertising may include graphics, static images, moving images, and/or other audio-
`
`visual content that is displayed for a fixed duration.
`
`[49]
`
`In general, the virtual audio stream descriptor 124 and the actual audio stream 122 will be
`
`stored together in a same location 120 on the server 100. For example, according to one
`
`embodimentthe plurality of small audio files 122 and the virtual audio stream descriptor 124 are
`
`stored in a samedirectory ofa library residing on one or moreservers on the Internet. According
`
`to the embodimentillustrated in Fig. 4, the plurality of small audio files 122 and the virtual audio
`
`stream descriptor 124 are stored in the samelibrary, but in different areas. More specifically, the
`
`virtual audio stream descriptors 124 are stored in an area for administrative files 144, whereas
`
`the plurality of small audio files 122 is stored in an area for actual audio streams 140. The area
`
`for actual audio streams 140 includesn directories for storing ” audio streams, each with a
`
`corresponding coverart image. The cover art image, whichis a graphicfile, is intended to
`
`provide a user with a familiar look and feel of a book cover and/or to provide easy recognition.
`
`Optionally, one or more ofthe n directories is located at a remote URL.
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`[50]
`
`The administrative files, which include the virtual audio stream descriptors 124, typically
`
`use the electronic equivalent of a card catalog to provide a simple, easy to use method of
`
`navigation and accessofthe actual audio streams.
`
`In general, these card catalog indexfiles
`
`(e.g., XML documents) will include a hierarchical structure of cascading indexesthatrelate in
`
`various ways. For example, according to one embodimentthe card catalogue will include
`
`indices based on keywordssuchashistorical, detective, suspense, action, etc. The references
`
`contained in each index point to other index structures or to a specific virtual stream descriptor.
`
`Each index structure contains a referenceto its parent index structure, thus allowing navigation
`
`in both directions(i.e., up and down the branch of hierarchy). Each media entry may appear
`
`within the structure of the entire index multiple times, to allow reference and/or navigation from
`
`many points. The structure of the index is such that endless navigation loops caused by circular
`
`definitions are not possible.
`
`[51]|The administrative files also optionally include announcements, updates, and a serverlist
`
`(not shown). Announcements, which for example may be in an XMLfile, are typically
`
`informative or instructive in nature. The updates, which may include programs, datafiles,
`
`instruction files, setup files, and/or other text, typically contain information for providing a
`
`maintenance update. Theserverlist (not shown), which mayalso be an XML document,
`
`typically containsa list of servers that are available on the network and that can provide general
`
`library and content information. In general, each server listed will be a mirror of the primary
`
`server (also included inthelist).
`
`[52]
`
`Figs. 5a-g show examplesofdata structures of: a) an actual audio stream, b) a small
`
`digital audio file, c) a virtual stream descriptor, d) illustrations, e) advertising, f) a card catalog,
`
`and g) a serverlist, respectively. Fig. 6, which showsthe structure relationships, demonstrates
`
`that the actual audio stream,illustration, advertisement, and coverart image structure (not
`
`shown) are each referencedas a target structure from the virtual audio stream descriptor. Each
`
`of the actual audio stream,illustration, and cover art image structures also contain a reference
`
`identifier back to its parent structure.
`
`In contrast, the announcmentstructure (not shown)is
`
`functionally independent of other information bearing structures.
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`[53]
`
`An embodimentofa process used to create an audio book library is shown in Fig. 7. The
`
`audio stream, in raw form, is acquired from either a publisher or is imported from an audio
`
`media or conversion routine. The raw files are analysed using natural language gaps andare
`
`segmentedinto the plurality of small digital audio files (1.e., segment files) that form the actual
`
`audio stream. Book coverart is imported and formatted, if required. The plurality of small
`
`digital audio files and cover art image are placed in a unique directory, which is local or at some
`
`remote URL. Audio stream information that describes the audio stream is manually entered
`
`using the library administrator utility to create a virtual audio stream descriptor for each audio
`
`stream. Information that describes the location and structure of the actual audio stream is
`
`provided using the audio stream profiler. The administrator utility is also used to build a series of
`
`integrated index files that make up the card catalog for the library, and to providetools to
`
`maintain updates, server lists and announcements. Preferably, this master library is replicated on
`
`a numberof mirror sites that are also made available on the network. Following updatesto the
`
`master library, an automated verification utility ensures that network accessible copies ofthe
`
`library (i.¢e., the one or more mirrorsites) are also updated to ensure the integrity of the system.
`
`[54]
`
`Referring to Fig. 8, the segmentation of the raw files is discussed in further detail. In a
`
`first step, 200, the list of original raw audiofiles is built in logical order. Thesefiles are
`
`processed one at a time. More specifically, after confirming the existence of a raw file 202, the
`
`raw file is opened 204, a segmentfile is opened 206, and a frameis obtained from the raw file
`
`208. Assuming the frame doesnot correspondto the end of the raw file 210, and that the
`
`segmentfile has not reached an arbitrary minimum size 214 (e.g., 100 kilobytes), the frameis
`
`written to the segmentfile 216. After this limit is reached, audio frames are analysed looking for
`
`a period of silence or low decibel levels 218. If this period of silence is found,or if the upper
`
`size limit (e.g., 250 kilobytes) of the segmentfile is exceeded, the current segmentfile is closed
`
`220 and a new output small audiofile is opened 222. In the event that the unprocessed rawfile
`
`contentis less than a slack limit 212 (e.g., 25 kilobytes), the testing for silence and the upper
`
`limit testing is not performed and the remaining audio framesare written to the then current
`
`segmentfile. According to one embodiment, this methodis used to find periods ofsilence
`
`between chapters, paragraphs, sentences, phrases, words, and/or at punctuation marks.
`
`Optionally, the audio stream splitter/analyser 115 searches for long periods of silence, which are
`
`subsequently truncated. For example, periodsofsilence that exceed 2 secondsin length have
`
`10
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`been found to make users assumethat a problem exists in the delivery or replay of the audio
`
`stream. In order to eliminate these user concerns, periods ofsilence that exceed 2 secondsin
`
`length can be truncated, and the audio content that has been truncated, discarded.
`
`[55]
`
`Referring again to Fig. 3, the client side includes a memory manager 152, a download
`
`manager (not shown), a media coordinator 154, and a media player 156. The memory manager
`
`152 is a complex memory manager used to maintain the integrity of the actual audio stream,
`
`whichis transferred from the server 100 to the client 150 using a standardtransfer utility (e.g.,
`
`FTP). The function of the memory manager 152 is to ensure that there is sufficient memory
`
`available to receive large numbers of small digital audiofiles, to ensure that sufficient audio
`
`content is available when needed, and to ensure that a quantity of already heard audio contentis
`
`maintained (e.g., so a user can rewindthe audio stream to review recently heard content without
`
`repeated downloads). The download manageris responsible for obtaining the small audiofiles
`
`that make up the audio stream. The media coordinator 154 delivers the plurality of small digital
`
`audiofiles in the appropriate order to the media player 156. The memory manager152,
`
`download manager (not shown), and media coordinator 154, are all part of an integrated,
`
`network-based software product used to control the media player 156.
`
`[56]|According to one embodiment, the software productis a user-friendly interface that
`
`allowsthe user to select an audio stream, to download a small digital audio file representing a
`
`selected part of the selected audio stream,to play the small digital audio file relatively quickly
`
`(e.g., within 2 to 5 seconds), and to download andplay the logically next small digital audio file
`
`suchthat the transition between successive small audiofiles is apparently seamless.
`
`[57]
`
`According to one embodiment, the software product includes computer-readable code
`
`that allowsthe userto use a plurality of navigation buttons to access a network-based library card
`
`catalog, bookmarks, cover art images, and/or announcements/updates. As discussed above, a
`
`network-basedlibrary card catalog, which may index audio streamsin a hierarchical fashion
`
`such that there are many possible paths to reach a single audio stream,is typically stored on a
`
`network-basedlibrary for the navigation thereof. According to one embodiment, once the
`
`navigation button for the card catalogue is selected the user is able browse througha series of
`
`keywordsdescribing a plurality of audio streams, to select an audio stream from the network
`
`11
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`based card catalogue, to load a profile of the selected audio stream, and/or to download the
`
`selected audio stream. According to one embodiment, the profile includes information obtained
`
`from the descriptive details entered into the virtual audio stream descriptor.
`
`[58]|Bookmarksare external media marks(i.¢e., external to the virtual audio stream descriptor)
`
`that allow the user to identify and/or access an audio stream at any point within that audio
`
`stream. Similar to internal media marks, each bookmarkprovidesa time offset from the
`
`beginning of the audio stream. In other words, if an audio stream starts at time zero and
`
`continues for some elapsed time to a maximum duration, the bookmark identifies a specific point
`
`in time in the audio stream thatis offset from the beginning of that audio stream. The bookmark
`
`also identifies and/or points to the virtual audio stream descriptor of the target audio stream (e.g.,
`
`in a local directory or at some network address). Using the time offset and the information in the
`
`virtual audio stream descriptor, the software productis able to select the appropriate small audio
`
`file to be played. Moreover, the exact position within the small audio file can also be calculated
`
`as a local offset to ensure correct positioning within that small audiofile.
`
`[59]
`
`Bookmarksare typically, but not always, created by the client software. For example, if
`
`the media player is stopped in the middle of an audio stream, a bookmarkis created and stored.
`
`Alternatively, the user creates a bookmark using a ‘make bookmark’ command. More than one
`
`bookmark may be created for each audio stream. The bookmark identifies the bookmarked
`
`audio stream andthe time offset of the bookmarkedposition. Optionally, to assist the user of the
`
`audio stream in ‘picking up whereyouleft off’, a predetermined time (e.g., 30 seconds)is
`
`subtracted from the time offset of the bookmarked position and stored as the new timeoffset.
`
`Optionally, the predetermined timeis listener selectable. Fig. 9 shows an example ofa data
`
`structure for an external bookmark, whereas Fig. 10 illustrates the structure relationships.
`
`Notably, the virtual audio stream descriptor may be addressed from either the integrated card
`
`catalog or the bookmark. Optionally, the virtual audio stream descriptor is addressed in another
`
`manner.
`
`[60]|Since the bookmark only contains references to the audio stream, and does not contain
`
`any part of the audio stream itself, the bookmark can be transferred from client to client or from
`
`server to client without violating the copyright of the work product contained within the audio
`
`12
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`stream. For example, a user can bookmark an audio stream at an interesting point and e-mail
`
`that bookmark to friends without violating copyright. Clearly, the ability to position an audio
`
`stream at some arbitrary point without the need for that media to be resident provides great
`
`flexibility. Moreover, the nature of the bookmark makesit independent of the physical structure
`
`of the audio stream. This allows changes in media and format without corrupting the integrity of
`
`the mark or the audio stream. Examples of such changes include changing bit and scanrates in
`
`MP3files, changing from MP3 to .wav format, changesto the actual audio stream, small audio
`
`file structure, and/or reformatting of the audio stream itself. According to one embodiment, the
`
`bookmark is an XML document.
`
`
`
`[61] The bookmark navigation button allowsthe user to viewalist of bookmarks
`
`corresponding to open audio streams(e.g., a book that has been accessed andpartially read), to
`
`select a bookmark, and to play the audio stream at the bookmarked position. For example, the
`
`software product may list the bookmarked audio streams in the descending order of the date and
`
`time that the audio steam waslast read.
`
`[62]
`
`According to one embodiment, the software product includes computer-readable code
`
`that allows the user to use a plurality of standard player control buttons to begin playing the
`
`audio stream, stop playing the audio stream, and/or fast forward within the audio stream.
`
`Notably, the rewind and fast-forward control buttons do not actually act on the audio stream.
`
`Rather, these two functions are used to advanceorretard the time offset that indicates the then
`
`current position in the audio stream. For example, rewind will cause this offset to decrease to a
`
`minimum ofzero (e.g., seconds), whereas fast forward will increase the time offset to a
`
`maximum ofthe upperlimit of the audio stream duration. Accordingly, the useris able to fast
`
`forward and rewind through the audio stream, even if the audio contentis not resident. In
`
`particular, after the time offset has been adjusted to where the user desires, if the relevant small
`
`audiofile is not resident, it is obtained from the library, again in the 2 to 5 second range. The
`
`small audio file is then loaded, positioned and played.
`
`[63]|According to one embodiment, the software product includes computer-readable code
`
`that provides a numberofdifferent displays, including for example, a basic display, an
`
`introduction display, a bookmark display, a library card catalog display, a book details display, a
`
`13
`
`
`
`Doc. No. 141-1 US/PCT
`
`Patent
`
`book player display, and a book cover display. These displays provide appeal and/or familiarity
`
`to the user. For example, the basic display may provide a decorative skin or frame to standardize
`
`the appearance of the software product when played on different platforms(e.g., desktop, laptop,
`
`personaldata assistant, cell phone, dedicated device, etc), whereas the introduction display may
`
`appear during the start up of the program. Other displays, such as the bookmarkdisplay,library
`
`card catalog display, and/or book details displays may provide the navigation buttons. The
`
`book player display may show the book that is currently loaded into the player, the booktitle,
`
`author,



