`
`
`Brenneman et al.
`
`
`
`[19]
`
`
`
`[54] METHOD AND APPARATUS FOR AUDIBLY
`
`
`
`
`
`
`INDICATING WHEN A PREDETERMINEI)
`
`
`
`LOCATION HAS BEEN ENCOUNTERED IN
`
`
`
`
`
`
`STORED DATA
`
`[75]
`
`
`
`
`
`
`
`
`Inventors: Scott A. Brenneman, Menlo Park,
`
`
`
`
`Cahfé Timothy Mott» K9tChum> Id~§
`D S
`l M l P k C If
`L
`
`
`
`
`
`eon
`en 9
`a 1 ‘
`'
`ega >
`ar >
`t
`.
`.
`
`
`
`
`
`
`
`[73] Asslgnee Audlble’ Inc" Wayne’ NJ’
`
`
`
`
`
`
`
`
`
`[21] APPL N9‘: 8749413
`
`
`
`
`
`Filed:
`Jun_ 13, 1997
`[22]
`
`
`
`
`
`
`
`
`Int. CL6 .......................... .. G05B 19/42; G11B 17/22
`[51]
`
`
`
`
`
`
`
`[52] U.S. Cl.
`.............................. .. 364/193; 369/32; 369/98
`
`
`
`
`
`
`[58] Field of Search ............................. .. 364/193; 369/32,
`
`
`369/33, 96, 98
`
`[56]
`
`
`
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`US005872712A
`
`
`
`[11] Patent Number:
`
`
`
`
`
`
`[45] Date of Patent:
`
`5,872,712
`
`
`Feb. 16, 1999
`
`
`
`
`5,557,541
`9/1996 Schulhoh et al.
`
`
`
`5,572,442 11/1996 Schulhoh et al.
`
`
`
`
`
`
`
`................. .. 364/514 R
`
`
`................. .. 364/514 C
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`“PC Today Features News Article on Information Highway
`
`
`
`
`
`
`Media Coipoiationrz 1 pg., 76 PC Today , Jan. 1985.
`
`
`
`
`
`
`“Aural Hygiene ”, 1 pg., AutoWeek (No Date).
`
`
`
`
`
`
`
`“Listen Up audio system and Audio on Demand”, 1 pg.,
`Electronic Entertainment (No Date).
`
`
`
`
`
`
`
`
`
`“The Captive Audience Network”, 1 pg. Popular Science,
`Feb. 1995.
`
`
`
`
`
`
`
`
`“Silicon Valley Start—up to Create New On—ramp to the
`
`
`
`
`
`
`Inform:ti:ndSupgrhig$1way bits Listen—SUp Audio3 Sys-
`
`
`
`
`
`u 1o— n— eman
`u scr1pt1on
`ervice”,
`tem an
`pp.,
`
`Information ,
`
`
`
`
`
`
`
`“Information Highway Media Corp. Retains Von Gehr Inter-
`
`
`
`
`
`national As Investment Banker”, 1 pg., Information High-
`
`
`
`
`
`way Media Corporation (No Date).
`
`
`
`Primary Examiner—Paul P. Gordon
`
`
`
`
`
`
`Attorney, Agent, or Firm—Blakely, Sokoloff, Taylor &
`Zafmaii LL13
`
`
`
`
`
`
`
`
`
`
`
`
`
`[57]
`
`
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`
`
`
`4,499,568
`2/1985 Gremillet
`................................ .. 369/30
`7/1987 Takahashi
`.... .. 455/38
`4,682,368
`.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`4,698,776
`10/1987 Shibata ............................... .. 364/513.5
`A method and apparatus for audibly indicating when a
`
`
`
`
`
`
`
`
`
`
`
`
`
`4,725,977
`2/1988 Izumi et al.
`.......................... .. 364/900
`predetermined ieeatiee has been eeeeuetered in etered data
`4,772,873
`9/1988 Duncan ....... ..
`341/110
`~
`~
`~
`~
`~
`~
`~
`
`
`
`
`
`
`
`
`4,851,931
`7/1989 Parker et al.
`15 gl:)e1e.ee(e' Apreeetefmlreeefleatflen leifiret 1eeҤ1?ee'
`360/15
`.
`
`
`
`
`
`
`
`
`
`
`
`
`4,989,179
`1/1991 Simko . . . . . . . . . . . . . . .
`. . . . .. 365/45
`3“ 1
`e 1“ mater asseelate W“ ‘ epre e‘.e”m“e
`°."a“°.“
`
`
`
`
`
`
`
`
`
`
`
`
`5,008,872
`4/1991 Tomoda etal.
`......................... .. 369/32
`15 the“ generated When the Predetermmed leeatlen 15
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,042,070
`8/1991 Linna et al.
`............................ .. 381/59
`€HC911Ht€r€d~
`The Predétermlned 10Cat10I1 Can be an 6160-
`5,099,422
`3/1992 Foresman et a1.
`364/401
`tronic bookmark, a section boundary or a program boundary.
`
`
`
`
`
`
`
`
`
`
`
`
`.
`9/1993 Hamilton et al.
`The invention includes a method and apparatus for audibly
`369/32
`5,249,166
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`395/2-1
`5,359,698 10/1994 G01dbeTg et a1~ -
`setting an electronic bookmark in stored data by selecting a
`
`
`
`
`
`
`
`
`
`
`
`
`
`5365502 11/1994 M15090 - - - - - - - - -
`- - - - -- 369/18
`location within the stored data, associating an electronic
`
`
`
`
`
`
`
`
`
`
`
`Eleneeisewi’ "
`""“3935e/3/33
`bookmark with the location, and generating an audible
`orris e a .
`..
`..
`.
`,
`,
`-
`
`
`
`
`
`
`
`3/1996 Ito et al.
`369/32
`message fer the eleetreme beekmafle
`5,499,221
`6/1996 Ryan
`5,524,051
`380/9
`
`
`
`
`
`
`6 Claims, 8 Drawing Sheets
`5,541,638
`7/1996 Story ......................................... .. 348/7
`
`
`
`
`
`
`
`
`
`
`
`320
`"§3%%’?1M
`
`
`
`
`
`
`FORWARD
`BUTTON
`
`
`
`
`
`REVERSE
`BUTTON
`310
`
`
`
`
`
`
`':
`
`
`
`BOOKMARK
`BUTTON /,
`305
`
`
`
`
`
`
`
`
`PLAY/STOP
`BUTFON
`// 325
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16,1999
`
`
`
`
`
`Sheet 1 of 8
`
`5,872,712
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16,1999
`
`
`
`Sheet 2 of 8
`
`
`5,872,712
`
`
`
`
`
`<._.<n_
`
`m_o<m_O._.w
`
`s5_om__>_
`
`
`
`wm<_>_
`
`m__o<mO._.w
`
`m_o_>m_n_
`
`zzo9mm
`
`Eosm_s_
`
`z_<_>_
`
`Eo_2m_s_
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Na.
`
`mommmoomm
`
`
`
`Em
`
`E0252
`
`
`
`
`
`N
`
`
`
`AIR
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16,1999
`
`
`
`
`Sheet 3 of 8
`
`5,872,712
`
`
`
`
`
`
`
`
`
`
`
`
`
`FORWMRD
`
`BUTTON
`315
`
`
`PLNWS
`BUTT
`325
`
`
`
`
`
`
`
`
`
`VOLUME
`DML
`
`///K/330
`
`
`
`
`
`
`
`REVE
`BUTT
`310
`
`
`
`
`
`KMARK
`
`TTON
`305
`
`
`
`
`
`
`
`
`
`
`
`PLAYER;£fl
`
`
`
`FIG. 3
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16,1999
`
`
`
`Sheet 4 of 8
`
`
`5,872,712
`
`
`
`Nxm_<_2xOOm__.v_m<_§oom
`
`
`
`ozEézaom
`
`
`
`
`
`_>_<m_oOm_n_Efizaomzo_._.om_w
`
`
`
`TVweEH2822¢ 'N9._2§ooEAIIV
`
`‘ cs.<53Bmoa
`
`
`in.wiri
`
`
`
`
`
`
`
`
`
`‘I'VE.zocomm‘IVAIVE.zozomm
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`U.S. Patent
`
`Feb. 16,1999
`
`Sheet 5 of 8
`
`5,872,712
`
`
`
`meaogm9%.2923B.853::28
`
`magmas:
`
`
`
`emumgE285o_n=m2$E_on_
`
`0595:55ofia2$E_on_
`
`moa
`
`5%
`
`
`
`was5:55o_n=m2Ego;59m
`
`35%
`
`memam
`
`EE
`
`vemgm
`
`memgmmm
`
`W.65:
`
`Netflix, Inc. Exhibit 1037
`
`
`
`m_.
`
`m_.
`
`om
`
`8E
`
`
`
`
`
`
`
`m:3o::m9%5.._.m__x8_m_..m_._v_oo_p
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`
`
`U.S. Patent
`
`Feb. 16,1999
`
`Sheet 6 of 8
`
`5,872,712
`
`
`
`I2.2a,__§_o_2.<fig
`
`
`
`
`
`_aeoio_c=m.2.oa__ommuo_o=<
`
`III
`
`
`
`
`
`caeoio_u=m.2Bazommuo_u=< !
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16,1999
`
`
`
`
`Sheet 7 of 8
`
`5,872,712
`
`
`
`BEGIN
`
`
`
`
`
`
`AUDIO PROMPT REQUESTED OR IDENTIFIED
`
`
`
`fl
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LOOKUP AUDIO PROMPT IN AUDIO PROMPT TABLE
`
`
`M DOES AUDIO PROMPT ID
`MATCH APID ?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PLAY AUDIO PROMPT
`
`
`
`
`
`
`606
`
`
`
`FIG. 6B
`
`
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`U.S. Patent
`
`
`
`Feb. 16,1999
`
`
`
`
`
`Sheet 8 of 8
`
`
`5,872,712
`
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`5,872,712
`
`10
`
`15
`
`20
`
`
`1
`METHOD AND APPARATUS FOR AUDIBLY
`
`
`
`
`
`INDICATING WHEN A PREDETERMINED
`
`
`
`LOCATION HAS BEEN ENCOUNTERED IN
`
`
`
`
`STORED DATA
`
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`The present invention relates generally to audio informa-
`
`
`
`
`
`
`
`tion playback systems. Specifically, the present invention
`
`
`
`
`
`
`
`pertains to a method and apparatus for audibly indicating
`
`
`
`
`
`
`when a predetermined location has been encountered in
`stored data.
`
`
`DESCRIPTION OF RELATED ART
`
`
`
`
`
`
`
`
`
`
`Digital information playback systems today include sys-
`
`
`
`
`
`
`
`
`
`tems such as cassette and compact disk (CD) players. These
`
`
`
`
`
`
`
`
`types of systems are becoming increasingly popular as
`
`
`
`
`
`
`
`growing numbers of products and services emerge to cater
`
`
`
`
`
`
`
`
`
`to this market. One example of an emerging market for
`
`
`
`
`
`
`digital information playback systems is the “book-on-tape”
`
`
`
`
`
`
`for
`product market. With a book-on-tape, a commuter,
`
`
`
`
`
`
`
`
`example, can audibly “read,” or more accurately listen to, a
`
`
`
`
`
`
`
`book while commuting to work. The commuter simply
`inserts the cassette tape or the CD into a cassette deck or CD
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`player and listens to the audio version of the tape. All the
`25
`
`
`
`
`
`
`functionality of the cassette deck or CD player is available
`to the commuter.
`
`
`
`
`
`
`
`
`
`
`
`FIG. 1 illustrates a prior art CD player that allows a user
`
`
`
`
`
`
`
`to playback recorded audio data such as a book-on-tape. As
`30
`
`
`
`
`
`
`
`
`illustrated, CD player 100 includes numerous buttons that
`
`
`
`
`
`
`
`correspond to a variety of functions. For example, PLAY
`
`
`
`
`
`
`
`
`button 102 allows a user to begin playing of the content on
`
`
`
`
`
`
`
`
`
`the audio CD inserted in CD player 100 and STOP button
`
`
`
`
`
`
`
`
`
`
`108 allows the user to stop listening to the played audio.
`
`
`
`
`
`
`
`
`
`Similarly, the SKIP button 104 allows a user to skip forward
`through tracks on the CD, while the BACK button 106
`
`
`
`
`
`
`
`
`
`
`allows a user to rewind or skip backwards on a CD. MODE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`button 110 allows the user to specify specific modes of
`
`
`
`
`
`
`
`execution, for example “continuous play.” LOAD button
`112 allows a user to specify a track to be loaded for
`
`
`
`
`
`
`
`
`
`
`execution. Finally, TRACK TIME button 114 allows a user
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to visually determine which track is currently executing and
`how long the track is.
`
`
`
`
`
`
`
`
`
`
`
`
`These functions are not, however, necessarily optimized
`
`
`
`
`
`
`
`for a conventional book-on-tape product. For example, the
`
`
`
`
`
`
`
`
`
`
`prior art CD player in FIG. 1 lacks the ability to audibly
`inform the user of various actions. When a user skips
`
`
`
`
`
`
`
`
`
`forward a number of tracks on the CD player, the user is
`
`
`
`
`
`
`
`
`
`unaware of the track at which the read mechanism of the CD
`
`
`
`
`
`
`
`50
`
`
`
`
`
`
`
`
`player is currently located unless the user visually observes
`
`
`
`
`
`
`
`
`
`the track movement or stops the skipping to listen to the
`current audio track. This limitation can prove to be a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`problem in a portable system wherein the user may wish to
`perform a number of functions, be aware of the functions
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`being performed, but not wish to or be able to visually
`monitor the player at all times.
`
`
`
`
`
`
`
`
`
`
`Additionally, in the conventional book-on-tape example,
`
`
`
`
`
`
`
`
`
`if the user decides to stop reading (i.e., listening) at a certain
`
`
`
`
`
`
`
`
`
`
`point, there is no ability in any current system to place an
`electronic “bookmark” to identify a location in the content
`
`
`
`
`
`
`
`
`
`
`
`
`
`on a digital information playback system, similar to how a
`
`
`
`
`
`
`user would physically place a bookmark in a conventional
`book.
`
`
`
`
`
`
`
`
`It is therefore desirable to provide a method and apparatus
`
`
`
`
`
`
`
`for audibly indicating when a predetermined location has
`been encountered in stored data. A user should be able to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`navigate through stored audio data and receive audible
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`
`
`
`
`
`feedback of predetermined data locations. Audible naviga-
`
`
`
`
`
`
`
`tion would allow a user to navigate without constantly
`
`
`
`
`
`
`having to visually monitor the playback device.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`The present invention discloses a method and apparatus
`
`
`
`
`
`
`for audibly indicating when a predetermined location has
`
`
`
`
`
`been encountered in stored data. Apredetermined boundary
`is first identified. An audible indicator associated with the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`predetermined location is then generated when the prede-
`termined location is encountered.
`
`
`
`
`
`
`
`
`
`
`Other objects, features and advantages of the present
`
`
`
`
`
`
`invention will be apparent from the accompanying drawings
`
`
`
`
`
`and from the detailed description.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`The present
`invention is illustrated in the following
`
`
`
`
`
`
`
`drawings,
`in which known circuits are shown in block-
`
`
`
`
`
`
`
`
`diagram form for clarity. These drawings are for explanation
`
`
`
`
`
`
`
`
`and for aiding the reader’s understanding. The present
`
`
`
`
`
`
`
`
`
`
`invention should not be taken as being limited to the
`
`
`
`
`
`
`preferred embodiments and design alternatives illustrated.
`
`
`
`
`
`
`FIG. 1 illustrates a prior art CD player.
`
`
`
`
`
`
`FIG. 2 illustrates a typical system within which one
`
`
`
`
`
`
`embodiment of the present invention may be practiced.
`
`
`
`
`
`
`FIG. 3 illustrates an alternative system within which one
`
`
`
`
`
`
`embodiment of the present invention may be practiced.
`
`
`
`
`
`
`FIG. 4 illustrates the an example of one embodiment of
`
`
`
`the present invention.
`
`
`
`
`
`
`FIG. 5 illustrates a Flash header data structure according
`
`
`
`
`
`
`to one embodiment of the present invention.
`FIG. 6A illustrates an audio prompt table data structure
`
`
`
`
`
`
`
`
`
`
`
`
`
`according to one embodiment of the present invention.
`FIG. 6B is a flow chart according to one embodiment of
`
`
`
`
`
`
`
`
`
`the present invention.
`FIG. 7 illustrates an audio descriptor data structure
`
`
`
`
`
`
`
`
`
`
`
`
`according to one embodiment of the present invention.
`DETAILED DESCRIPTION OF THE
`
`
`PREFERRED EMBODIMENT
`
`
`
`
`
`
`
`
`
`The present invention relates to a method and apparatus
`
`
`
`
`
`
`
`for audibly indicating when a predetermined location has
`been encountered in stored data. “Stored data” in the context
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of the present invention refers to any type of stored audible
`
`
`
`
`
`
`
`
`data, including digitized and/or compressed audio data. In
`
`
`
`
`
`
`
`the following detailed description, numerous specific details
`
`
`
`
`
`
`
`are set forth in order to provide a thorough understanding of
`
`
`
`
`
`
`
`the present invention. It will be apparent to one of ordinary
`skill in the art, however, that these specific details need not
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be used to practice the present invention. In other instances,
`well-known structures, interfaces and processes have not
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`been shown in detail in order not to unnecessarily obscure
`
`
`
`the present invention.
`
`
`
`
`
`
`FIG. 2 illustrates a system 200 in which the present
`
`
`
`
`
`invention operates. It will be apparent to those of ordinary
`skill in the art that alternative architectures may also be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`employed. In general, the system comprises a bus 201 for
`
`
`
`
`
`communicating information, a processor 202 coupled with
`
`
`
`
`
`
`
`
`the bus 201 for processing information, main memory 203
`
`
`
`
`
`
`
`
`coupled with the bus 201 for storing information and
`
`
`
`
`
`
`
`instructions for the processor 202, a read-only memory 204
`
`
`
`
`
`
`
`
`
`coupled with the bus 201 for storing static information and
`
`
`
`
`
`
`
`
`instructions for the processor 202, and a mass storage device
`207, such as a magnetic disk and associated disk drive,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`
`
`5,872,712
`
`
`3
`
`
`
`
`
`
`
`
`
`coupled with the bus 201 for storing information and
`
`
`
`
`
`
`instructions. A data storage medium 208 containing digital
`
`
`
`
`
`
`
`information is configured to operate with mass storage
`
`
`
`
`
`
`
`
`device 207 to allow processor 202 access to the digital
`
`
`
`
`
`
`
`information on data storage medium 208 via bus 201.
`
`
`
`
`
`
`
`
`Processor 202 may be any of a wide variety of general
`
`
`
`
`
`
`purpose processors or microprocessors. Mass storage device
`
`
`
`
`
`
`
`
`207 may be a conventional hard disk drive, floppy disk
`
`
`
`
`
`
`
`
`drive, CD-ROM drive, or other magnetic or optical data
`
`
`
`
`
`
`
`
`storage device for reading and writing information stored on
`
`
`
`
`
`
`
`
`a hard disk, a floppy disk, a CD-ROM a magnetic tape, or
`
`
`
`
`
`
`
`
`other magnetic or optical data storage medium. Data storage
`
`
`
`
`
`
`
`
`medium 208 may be a hard disk, a floppy disk, a CD-ROM,
`
`
`
`
`
`
`
`
`a magnetic tape, or other magnetic or optical data storage
`medium.
`
`
`
`
`
`
`
`
`In general, processor 202 retrieves processing instructions
`
`
`
`
`
`
`
`
`
`
`and data from a data storage medium 208 using mass storage
`device 207 and downloads this information into random
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`then
`access memory 203 for execution. Processor 202,
`
`
`
`
`
`
`
`executes an instruction stream from random access memory
`
`
`
`
`203 or read-only memory 204.
`
`
`
`
`
`
`
`
`FIG. 3 illustrates an alternative system on which one
`
`
`
`
`
`
`
`embodiment of the present invention operates. Player 300 is
`
`
`
`
`
`
`
`
`
`a mobile playback device that allows digitized audio content
`
`
`
`
`
`
`
`
`to be downloaded to the player, and later replayed. A user
`
`
`
`
`
`
`
`
`can utilize the buttons on player 300 to audibly navigate
`
`
`
`
`
`
`
`through stored data according to the following embodiments
`
`
`
`
`
`
`
`
`
`of the present invention. Player 300 includes buttons 305,
`310, 315, 320 and 325 and volume dial 330. Further details
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of player 300 can be found in related patent application Ser.
`
`
`
`
`
`
`
`
`No. 08/710,114, filed on Sep. 12, 1996. In summary, player
`
`
`
`
`
`
`
`300 includes a processor containing internal Random Access
`
`
`
`
`
`
`
`Memory
`External to the processor are conventional
`
`
`
`
`
`
`Read-Only Memory (ROM) and a memory storage device
`
`
`
`
`
`
`
`
`such as Flash memory. The ROM contains the operating
`
`
`
`
`
`
`
`
`software, while the Flash memory (or other memory storage
`
`
`
`
`
`
`
`device) contains audio data. The following description of
`one embodiment of the present invention is based on this
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`alternative system utilizing player 300. The following
`
`
`
`
`
`
`
`
`description may, however, also be modified for the computer
`
`
`
`
`system 200 described above.
`
`
`
`
`
`
`
`According to one embodiment, audio prompts are played
`
`
`
`
`
`
`
`
`when predetermined locations in the stored data are encoun-
`
`
`
`
`
`
`
`tered. These audio prompts indicate a variety of information,
`
`
`
`
`
`
`including end of all audio, beginning of a program, end of
`
`
`
`
`
`
`
`
`
`a program and beginning of a section. Users can also add
`
`
`
`
`
`
`
`
`their own temporary pointers anywhere in the content with
`
`
`
`
`
`
`
`audio prompts associated with these temporary pointers.
`
`
`
`
`
`
`
`These temporary pointers are known as “bookmarks” and
`are illustrated by bookmark 1 and bookmark 2 in FIG. 4. The
`
`
`
`
`
`
`
`number of bookmarks that a user can set may be limited to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a predetermined number. Bookmarks are described in fur-
`ther detail below.
`
`
`
`According to one embodiment, as illustrated in FIG. 4, the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`present invention recognizes three levels of hierarchy in
`
`
`
`
`
`
`
`
`
`stored data 400, namely programs 402 (e.g. books), sections
`
`
`
`
`
`
`
`404 (e.g. chapters), and raw (low-level, undifferentiated)
`
`
`
`
`
`
`
`
`content 406. Some programs will lack segmentation, and
`
`
`
`
`
`
`
`others may have subsections. As illustrated, program 402
`
`
`
`
`
`
`
`
`
`
`has two sections (403 and 404), with section boundary 408.
`
`
`
`
`
`
`
`
`Program 402 ends at program boundary 410. Programs that
`
`
`
`
`
`
`
`lack sections will be structurally indistinguishable from raw
`
`
`
`
`
`
`
`
`content. The programs and sections are reachable by jumps
`
`
`
`
`
`
`
`requested by the user via single clicks of the forward, rewind
`
`
`
`
`
`
`
`
`or program buttons, for example, while raw content
`is
`traversed in a direct, but accelerated fashion. Jumps are
`
`
`
`
`
`
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`
`
`
`
`
`4
`
`
`
`
`
`
`described in further detail below. As predetermined loca-
`
`
`
`
`
`
`tions (programs, sections, bookmarks, etc.) are encountered
`
`
`
`
`
`
`
`
`
`in the stored data, audio prompts associated with the pre-
`
`
`
`
`
`
`determined locations are generated. The functionality of the
`
`
`
`
`
`
`audio prompts is described in further detail below.
`
`
`
`
`
`
`According to one embodiment,
`two data structures,
`
`
`
`
`
`
`
`
`namely Program Headers and Table of Content (TOC)
`
`
`
`
`
`
`
`
`
`nodes, are utilized to jump to programs and sections. Pro-
`
`
`
`
`
`
`
`
`gram Headers are linked together in a linked list. AProgram
`Header has associated with it a linked list of one or more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`TOC nodes. A section jump is equivalent to using a different
`
`
`
`
`
`
`
`TOC node. Aprogram jump is equivalent to using a different
`
`
`
`
`
`
`
`
`Program Header. Locations within the audio data are
`
`
`
`
`
`
`
`
`
`detected via a virtual file system that is based on the current
`
`
`
`
`
`
`
`
`
`
`Program Header and TOC node. The list
`in the audio
`
`
`
`
`
`
`
`
`
`descriptor in the TOC node is used to describe the virtual file
`
`
`
`
`
`
`
`
`stored in flash. A logical file position is created using these
`data structures.
`
`
`
`
`
`
`
`
`According to one embodiment of the present invention,
`data structures are indexed by a header data structure that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`may be found at the beginning of the first valid block of data
`
`
`
`
`
`
`
`
`storage medium. The following sections refer to Flash
`
`
`
`
`
`
`
`memory as the data storage medium of one embodiment.
`
`
`
`
`
`
`
`
`Other data storage media may also be utilized according to
`
`
`
`
`
`
`
`alternative embodiments of the present invention. The Flash
`
`
`
`
`
`
`
`
`header data structure of one embodiment of the present
`invention is illustrated in Flash Header Table 500 in FIG. 5.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The offset
`in FIG. 5 (and in following FIGS. 6 and 7)
`
`
`
`
`
`
`
`
`
`
`represents the byte offset for each field in each structure.
`One data structure which is indexed in the Flash header is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the audio prompt table. According to one embodiment, all
`
`
`
`
`
`
`
`
`
`audio prompts are accessed through the audio prompt table.
`
`
`
`
`
`
`
`
`
`The audio prompt table consists of audio prompt entries.
`
`
`
`
`
`
`
`Each audio prompt entry consists of an ID number and a
`
`
`
`
`
`
`
`
`
`generic audio descriptor. The audio prompt table data struc-
`ture of one embodiment of the present invention is illus-
`
`
`
`
`
`
`
`
`trated in Audio Prompt Table 600 in FIG. 6A. The ID
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`number is a unique ID for each audio prompt. The IDs need
`
`
`
`
`
`
`
`
`
`only be unique for each Flash image and do not need to be
`
`
`
`
`
`
`
`unique throughout the set of all audio prompts. According to
`one embodiment, the ID numbers 0 to 1,023 are reserved for
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`system use (i.e. for system audio prompts). All other IDs
`
`
`
`
`
`
`
`may be freely assigned. When a prompt is requested or
`
`
`
`
`
`
`
`identified, the prompt is looked up in Audio Prompt Table
`
`
`
`
`
`
`
`
`600 of FIG. 6A. The ID number of the prompt request is
`
`
`
`
`
`
`
`
`matched with the apID<n> and if a prompt is found, that
`
`
`
`
`
`
`prompt is played. Otherwise, execution continues without a
`prompt.
`
`FIG. 6B is a flow chart illustrating this embodiment of the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`presently claimed invention. As illustrated, in step 602, an
`
`
`
`
`
`
`
`prompt is requested or identified. The audio prompt is then
`
`
`
`
`
`
`
`
`looked up in an audio prompt table in step 604. If the audio
`
`
`
`
`
`
`
`
`prompt ID matches an apID in the audio prompt table, then
`
`
`
`
`
`
`
`
`the audio prompt is played in step 606. Otherwise,
`the
`execution continues without a prompt.
`
`
`
`
`
`
`
`
`
`
`
`
`The generic audio descriptor is a data structure that
`
`
`
`
`
`
`
`
`describes audio in general terms: length of audio time, a
`linked list data structure to locate audio in the Flash, and a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`compression algorithm ID. The audio descriptor data struc-
`ture of one embodiment of the present invention is illus-
`
`
`
`
`
`
`
`
`trated in Audio Descriptor Table 700 in FIG. 7. Some audio
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`prompts may be expressed with a single ID (e.g., a title
`
`
`
`
`
`
`
`
`prompt consisting of all the words which make up the title).
`
`
`
`
`
`
`
`
`Other audio prompts may be composed of multiple IDs (e.g.,
`
`
`
`
`
`the status prompt, see below).
`
`
`
`
`
`According to one embodiment, program and section
`
`
`
`
`
`
`boundaries are implemented using program header data
`
`
`
`
`Netflix, Inc. Exhibit 1037
`
`Netflix, Inc. Exhibit 1037
`
`
`
`5,872,712
`
`
`
`
`
`5
`
`structures and their associated TOC node data structures. A
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Program Header corresponds to program 402. ATOC node
`
`
`
`
`
`
`
`
`corresponds to a section 404 within program 402. Each TOC
`node has some audio data associated with it. When the
`
`
`
`
`
`
`
`
`software runs out of audio to play, more audio data is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`retrieved. Moving from one TOC node to the next represents
`
`
`
`
`
`
`
`
`a section boundary crossing. Moving from one program
`
`
`
`
`
`
`
`header to the next represents a program boundary crossing.
`
`
`
`
`
`
`According to one embodiment of the present invention,
`there are several boundaries that, when detected in the audio
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`content, result in an audio prompt. As described above, the
`
`
`
`
`
`
`
`
`boundaries are detected according to the list of Program
`
`
`
`
`
`
`
`
`
`headers, the list of TOC nodes within each program header
`
`
`
`
`
`
`
`
`
`
`
`and the virtual file system residing on top the these data
`structures. These boundaries are:
`
`
`
`
`
`
`Beginning of all audio
`End of all audio
`
`
`
`Beginning of a program
`
`
`End of a program
`
`Beginning of a section
`End of a section
`
`
`
`
`
`
`
`
`
`
`The audio prompt indicating beginning of all audio is
`
`
`
`
`
`
`
`“Beginning of audio”. This prompt is played at the begin-
`
`
`
`
`
`
`
`
`ning of all audio content. The audio prompt indicating end
`
`
`
`
`
`
`
`
`of all audio is “End of audio”. This prompt is played when
`
`
`
`
`
`
`
`
`the end of all audio is reached while playing back audio
`
`
`
`
`
`
`
`content. The audio prompt for beginning of a program is
`
`
`
`
`
`
`“Beginning of Program”. This prompt is played when the
`
`
`
`
`
`
`beginning of a program is reached while navigating through
`
`
`
`
`
`
`
`
`
`
`raw content
`in reverse. The audio prompt for end of a
`
`
`
`
`
`
`
`program is “End of program”. This prompt is played when
`
`
`
`
`
`
`
`the end of a program is reached while navigating through
`raw content in the forward direction. If during audio content
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`playback a program boundary is crossed, the title and author
`
`
`
`
`
`
`
`prompts are played automatically. Audio content playback
`then continues.
`
`
`
`
`
`
`
`
`
`Optional audio prompts are the beginning of a section
`announcement or the end of a section announcement. The
`
`
`
`
`
`
`section announcements are played back when a section
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`boundary is crossed during audio content playback. The
`
`
`
`
`
`
`announcements are composed of up to four audio prompts.
`
`
`
`
`
`
`
`
`
`
`These audio prompts are not part of the system audio
`prompts. Thus, as described above, the IDs for these non-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`system audio prompts must fall outside the range 0 to 1,023.
`
`
`
`
`
`
`According to one embodiment of the present invention,
`the user may request title and author information. The title
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and author prompts are accessed through a program header
`data structure. This data structure contains the audio prompt
`
`
`
`
`
`
`
`
`
`IDs for the title and author. Only one ID is used for each
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`item. The title and author prompts may be used by them-
`
`
`
`
`
`
`
`selves or as part of a compound prompt such as the status
`
`
`
`prompt (described below).
`
`
`
`
`
`
`
`
`According to one embodiment, the user may also request
`
`
`
`
`
`
`
`
`
`
`an audible listing of all stored data. When requested, the
`
`
`
`
`
`
`
`
`following audible indicator is heard: <program title 1>
`
`
`
`
`
`
`
`
`
`<program title 2> .
`. <program title n> where n is a
`.
`
`
`
`
`
`
`predetermined number. According to one embodiment, the
`
`
`
`predetermined number is 16.
`
`
`
`
`
`
`According to one embodiment of the present invention,
`the user may play raw content, with audible announcements
`
`
`
`
`
`
`
`
`
`when section and program boundaries are encountered. If
`
`
`
`
`
`
`
`the user wishes to jump forward, and there are one or more
`
`
`
`
`
`
`
`
`
`
`sections in the program in the forward direction, the user is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`moved to the next section (according to the jump technique
`
`
`
`
`
`
`
`described above) and the section number is audibly
`
`
`
`
`
`
`
`
`
`announced (see below). For example, if the user is at the first
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`
`6
`section 402 and wishes to jump to the next section, then the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`user will be moved to section boundary 408. If there are no
`more sections forward, an audible “There are no other
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`sections” announcement
`is played. The last program is
`
`
`
`
`
`
`
`
`marked by the last program header data structure found in
`the Flash. Thus, in FIG. 4, the audible announcement will be
`
`
`
`
`
`
`
`
`heard when the user reaches the end of stored data 400.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Similarly, if the user wishes to jump backwards, and there
`
`
`
`
`
`
`
`
`
`are one or more sections in the program in the reverse
`
`
`
`
`
`
`
`
`
`direction, then the user is moved to the previous section and
`
`
`
`
`
`
`
`
`the section number is audibly announced. If there are no
`more sections in the reverse direction,
`the user is then
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`returned to the beginning of the program and an audible
`“There are no other sections” announcement is heard.
`
`
`
`
`
`
`
`
`
`
`
`
`According to another embodiment of the invention, the
`bookmarks are sorted in the order in which the user sets each
`
`
`
`
`
`
`
`
`
`
`
`
`
`bookmark. According to another embodiment, bookmarks
`
`
`
`
`
`
`
`
`are sorted in temporal order as opposed to the order in which
`the user sets each bookmark. When a bookmark is set by the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`user, the physical Flash address is stored in a serial electri-
`
`
`
`
`
`
`cally erasable programmable Read-Only Memory (serial
`
`
`
`
`EEPROM or SEEPROM). EEPROMs/SEEPROMs are well
`
`
`
`
`
`
`
`
`
`
`known to those of ordinary skill in the art. The data in the
`
`
`
`
`
`
`
`SEEPROM is sorted in temporal order. Thus, the order in
`
`
`
`
`
`
`
`
`which the user jumps from one bookmark to another may be
`different from the order in which the user set each book-
`
`
`
`
`
`
`
`
`
`
`mark.
`
`In order to set a bookmark, the user selects a location and
`
`
`
`
`
`
`
`
`
`sets a mark. The mark is stored as an address in an
`
`
`
`
`
`
`
`
`
`
`SEEPROM, as described above. A mark and number may
`
`
`
`
`
`
`
`
`
`
`
`
`
`then be audibly announced unless no bookmarks are avail-
`
`
`
`
`
`
`
`able. Thus, “bookmark 1” will be audibly announced when
`the user sets the mark. In the case where no bookmarks are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`available, i.e. a predetermined maximum number of marks
`has been reached, a “no more bookmarks” announcement
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`may be heard instead of the previous “mark” and number
`announcement.
`
`
`
`
`
`
`
`
`
`The user may also merely wish to jump to a predeter-
`
`
`
`
`
`
`
`
`mined bookmark. If for example, the user wishes to jump
`from bookmark 1 to bookmark 2 within stored data 400 in
`
`
`
`
`
`
`
`FIG. 4, “bookmark 2” is audibly announced when the user
`
`
`
`
`
`
`selects the location of “bookmark 2.” If, on the other hand,
`
`
`
`
`
`
`
`
`
`the user is already at the location of bookmark 2 and wishes
`
`
`
`
`
`
`
`
`to jump to the “next” bookmark,
`then a “no marks”
`
`
`
`
`
`
`
`
`announcement may be heard because there are no more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`bookmarks in stored data 400. Alternatively, according to
`anoth