CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part of U.S. Non-Provisional patent application Ser. No. 09/659,693 entitled “Apparatus And Method For Recording And Reproducing Digital Data,” filed Sep. 11, 2000, the disclosure thereof incorporated by reference herein in its entirety.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application Ser. No. 60/211,874, entitled “Method And Apparatus For Recording And Reproducing Digital Data,” filed Jun. 14, 2000, the disclosure thereof incorporated by reference herein in its entirety.
BACKGROUND The present invention relates generally to an apparatus for recording and reproducing digital data. More particularly, the present invention relates to a media player/recorder, having a miniature hard disk drive for storing the digital data.
FIG. 1 is an example of a conventional MP3 player. MP3 player includes aninterface106, nonvolatilesolid state memory102, adecoder110, a digital-to-analog (D/A)converter147, anaudio output116, akey pad108, adisplay112, acontroller104,RAM144 andROM145.
Controller104 controls the operation of the MP3 player in accordance with a set of programmed instructions. Programmed instructions forcontroller104 are stored in nonvolatile memory orROM145, andRAM144 is provided as the working memory forcontroller104
Typically, MP3 data, which is a digital compressed format representing music data, is initially stored on apersonal computer50 and is subsequently transferred to the MP3 player viainterface106, under control ofcontroller104. The MP3 data is stored in nonvolatilesolid state memory102.Interface50 can implemented by a standard parallel port, serial port, USB and the like. Nonvolatilesolid state memory102 may be implemented as flash memory. Generally, for a music quality recording, a nonvolatile solid state memory having 64 Mbytes can store about 1 hour of music. Flash memory provides the capability of retaining the stored digital data even when the MP3 player is powered down. Once the digital data has been transferred to the MP3 player, it no longer needs to be connected topersonal computer50, and the MP3 player can play back the MP3 data autonomously frompersonal computer50.
Decoder110 functions to decode and decompress the MP3 data file stored in nonvolatilesolid state memory102.Decoder110 decompresses the MP3 music file inaccordance controller104 according to the MP3 format, and decodes the decompressed music file into a bit stream form. The bit stream is then converted into analog form by digital toanalog converter147 for connection to a speaker, earphone and the like. A decoding program for the MP3 decoder function is stored in theROM145 and loaded toRAM144 bycontroller104 as required.
The MP3 player comprises akeypad108 for allowing user control and interaction with the MP3 player. Such control may include power on/power off, music selection and volume. The MP3 also comprises adisplay112 for displaying characters or graphics, such as a battery indicator, a play mode indicator, a volume indicator, available memory size and the title of the music being played.
SUMMARY In general, in one aspect, the invention features an integrated circuit to control a media player/recorder having a wireless receiver, a storage device, and an output circuit, wherein the wireless receiver receives a signal representing encoded media data, and a method and computer program product for same. It comprises a processor comprising a digital signal processor, and a storage controller responsive to the digital signal processor to store the encoded media data in the storage device; a read channel responsive to the storage controller to read the encoded media data from the storage device; wherein the digital signal processor comprises a decoder to decode the retrieved encoded media data; and a digital-to-analog converter to convert the media data decoded by the decoder to an analog signal, wherein the analog signal is output to the output circuit.
Particular implementations can include one or more of the following features. The media data is encoded by a process that compresses the media data; and the encoded media data is decoded by a process that decompresses the encoded media data. The storage device stores a process for decoding the encoded media data for a selected code. The digital signal processor determines a code of the encoded media data retrieved by the digital signal processor; the process for decoding the encoded media data is retrieved from the storage device in accordance with the determined code; and the decoder decodes the encoded media data in accordance with the retrieved process. The media player/recorder has an input circuit to receive unencoded media data, the digital signal processor comprises an encoder to encode the unencoded media data; and the encoded media data encoded by the digital signal processor is stored on the storage device. The media player/recorder has a wireless transmitter, and wherein the digital signal processor causes the wireless transmitter to transmit the encoded media data while the analog signal is output to the output circuit. the storage device stores a list of identifiers of desired encoded media selections; the wireless receiver receives a signal representing an identifier of an offered encoded media selection; and the digital signal processor causes the storage device to store the offered encoded media selection when the identifier of the offered encoded media selection corresponds to the identifier of one of the desired encoded media selections. The media player/recorder has a wireless transmitter, and wherein the digital signal processor causes the wireless transmitter to transmit a signal representing the identifiers of the desired encoded media selections. The media player/recorder has a wireless transmitter, wherein the storage device stores a list of identifiers of shared encoded media selections stored on the storage device; wherein the wireless receiver receives a signal representing a request for a sought encoded media selection, the request including an identifier of the sought encoded media selection; wherein the digital signal processor causes the wireless transmitter to transmit one of the shared encoded media selections when the identifier of the sought encoded media selection corresponds to the identifier of the one of the shared encoded media selections. The digital signal processor causes the wireless transmitter to transmit a signal representing the identifiers of the shared encoded media selections. The media player/recorder receives a signal representing biometric data; and the digital signal processor causes the storage device to store the biometric data. The media player/recorder has an interface, and wherein the digital signal processor causes the interface to transmit a signal representing the biometric data stored on the storage device. The media player/recorder has a display unit, the storage device stores a list of desired items of interest; the wireless receiver receives a signal representing an offered item of interest; the digital signal processor causes the display unit to indicate a match when the offered item of interest corresponds to one of the desired items of interest. The media player/recorder has a directional antenna, wherein the digital signal processor uses the directional antenna to determine a direction to a transmitter of the signal representing the offered item of interest; and wherein the digital signal processor causes the display unit to display the direction. The media player/recorder has a wireless transmitter, and wherein the digital signal processor causes the wireless transmitter to transmit contact information to the transmitter of the signal representing the offered item of interest. The digital signal processor causes the wireless transmitter to transmit a signal representing the desired items of interest. The integrated circuit is implemented within a digital camera having an image sensor; the digital signal processor encodes image data representing an image captured by the image sensor; and the storage controller stores the encoded image data on the storage device. The digital camera further comprises a display; the storage controller retrieves the encoded image data from the storage device; the digital signal processor decodes the retrieved encoded image data; and the media player/recorder sends a signal representing the decoded image data to the display. The digital camera is a digital motion picture camera and the encoded image data represents a motion picture.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGSFIG. 1 is a block diagram of a conventional MP3 player.
FIG. 2 is a block diagram of a first embodiment of a media player/recorder in accordance with the present invention.
FIG. 3 is a more detailed block diagram of a first embodiment of the media player/recorder ofFIG. 2.
FIG. 4 is a block diagram of a second embodiment of a media player/recorder in accordance with the present invention.
FIG. 5 is a more detailed block diagram of the media player/recorder ofFIG. 4.
FIG. 6 shows an exemplary data format of a magnetic disk having a plurality of concentric tracks comprised of a plurality of user data sectors and embedded servo data sectors.
FIG. 7 is a schematic representation ofmemory202.
FIG. 8 is a memory map ofmemory202.
FIG. 9 is flow chart of an energization/deenergization procedure according to a first embodiment of the present invention.
FIG. 10 is flow chart of an energization/deenergization procedure according to a second embodiment of the present invention.
FIG. 11 is flow chart of an energization/deenergization procedure according to a third embodiment of the present invention.
FIG. 12 is flow chart of an operating procedure according to the present invention.
FIG. 13 shows a variation of the first embodiment of the media player/recorder ofFIG. 2.
FIG. 14 shows a variation of the second embodiment of the media player/recorder ofFIG. 2.
FIG. 15 is a block diagram of a third embodiment of a media player/recorder in accordance with the present invention.
FIG. 16 is a block diagram of a fourth embodiment of a media player/recorder in accordance with the present invention.
FIG. 17 illustrates a mode of some implementations referred to as “local radio mode.”
FIG. 18 shows an implementation where a media player/recorder is implemented within a digital camera.
FIG. 19 shows automobiles equipped with a media player/recorder in accordance with the present invention.
FIG. 20 shows an implementation where a media player/recorder communicates with a biometric sensor over a cable.
FIG. 21 show a biometric sensor worn on a finger and transmitting biometric data over a cable.
FIG. 22 shows a process for a media player/recorder to acquire shared media.
FIG. 23 shows a process for a media player/recorder to share media.
FIG. 24 shows a process for a media player/recorder to match items of interest.
The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. Like reference numerals refer to like parts.
DETAILED DESCRIPTION The present invention is directed to a media player/recorder apparatus, and in particular one that is portable. As used herein the term media player/recorder apparatus refers to an audio and/or video play back and recording apparatus. In general, audio and/or video analog data is first digitized and compressed using one of a variety of formats and recorded in the media player/recorder for subsequent play back thereby. During playback the digitized data is decompressed and converted to an analog signal. Additionally while the preferred format for compressing audio data is known as MP3, the present invention is independent of the compression format and not limited to MP3. The compression format therefore may include any other suitable compression format, such as, by way of example, EPAC™, QDesign Music playback, AAC, Liquid Audio, MS Audio, Dolby Digital, and the like.
While implementation of the present invention are discussed in terms of data compression such as MP3, the invention is not limited to data compression, but includes other forms of data encoding that may or may not include data compression. In implementations where the data encoding includes data compression, the media data is encoded by a process that compresses the media data, and the encoded media data is decoded by a process that decompresses the encoded media data.
Referring toFIG. 2 there is shown the first embodiment of media player/recorder of the present invention. The media player/recorder includes awired interface206, awireless interface210,memory202, aprocessor300, anoutput216, akeypad208, adisplay212, a storage device (the storage device may utilize, for example, a magnetic media (such as a hard disk drive), magneto-optical media, an optical media (such as a CD ROM, CDR, CDRW or the like), and the like) such as, adisk drive230, apreamp232 and a voice coil motor (VCM)234.Wireless interface210 includes awireless transmitter209 and a wireless receiver211.
The operation of the media player/recorder is as follows. Operation of the media player/recorder is controlled by the user throughkeypad208. Status of the media player/recorder is provided to the user bydisplay212.
Media data, which was previously digitized, may be obtained (downloaded) from a personal computer, network appliance, local area network,Internet50 and the like, including wireless networks with infrastructure, such as a designated access point, peer-to-peer wireless networks, and the like. Such external devices communicate with the media player/recorder viawired interface206 andwireless interface210, which are controlled byprocessor300.Wired interface206 may be implemented, for example, as a parallel interface, serial interface, USB, Ethernet connection, IEEE 1394 (a.k.a. Firewire), and the like.Wireless interface210 may be implemented, for example, as an infrared interface, IEEE 802.15, IEEE 802.11, Bluetooth™ and the like. Again the present invention is independent of the interface selected. Media data is then stored on the storage device such as,disk drive230 in accordance withprocessor300.Disk drive230 is preferably a miniature drive with a capacity of 1 Gbyte of data storage, which is particularly suitable for a portable device. Of course, any other appropriate sized disk drive may be employed.
Alternatively, media data may be obtained directly from an external analog source, such as a microphone or video camera, connected to input214.Input214 takes the input signal from external device and sets the analog signal to an appropriate level. The analog signal is then converted to a digital signal and compressed using a selected format byprocessor300, as will be described herein below. The compressed digital data is similarly stored ondisk drive230.
When the user chooses a selection of media data to be played back withkeypad208,processor300 powers updisk drive230 and retrieves the selected data which is then transferred tomemory202. It is noted that the powering up of the device is done in a sequential manner so as to minimize energy consumption of the device. A more detailed description is provided below.
Memory202 comprises a solid state memory, such as, for example dynamic random access memory (solid state memory), flash memory, EEPROM, or the like. It is not necessary formemory202 to be nonvolatile since the media data is stored in a nonvolatile manner on storage device ordisk drive230. The quantity of solid state memory required is less than is required in a conventional MP3 player. The quantity of solid state memory contemplate is about 2 Mbytes, which is sufficient to store about 2 minutes of MP3 data. Of course, as will be appreciated by one of ordinary skill in the art, when dealing with video data, more solid state memory may be required. The amount of solid state memory supplied is selected to minimize energy consumption.
After the selected data is stored inmemory202,disk drive230 is then powered down. In this manner, duringplayback disk drive230 is powered up only during the transfer of the selected media data fromdisk drive230 tomemory202, which results in lower energy consumption. A more detailed description of the powering down ofdisk drive230 is provided herein below. The media data is retrieved frommemory202.Processor300 determines the format of data compression from the retrieved data.Disk drive230, also stores the data compression/decompression algorithms. The data is decompressed in accordance with the determined format and converted to an analog signal byprocessor300. The analog signal is set to an appropriate level byoutput circuit216. If the analog signal contains audio data,output circuit216 is connected to a speaker, headphone and the like for playback, and if the analog signal contains video data,output circuit216 is connected to a display device for playback.
Additionally, media data recorded ondisk drive230 or stored inmemory202 may be transferred (uploaded) to a personal computer, network appliance, local area network,internet50 or another media player/recorder throughinterfaces206 and210 under the control ofprocessor300.
FIG. 3 is a detailed block diagram ofprocessor300.Processor300 is preferably implemented as a single integrated circuit. A media playback/recorder apparatus having a processor implemented as a single integrated circuit can be fabricated at lower cost and have lower energy consumption. Alternatively,processor300 may be implemented by discrete components.Processor300 comprises aread channel341, storage controller orhard disk controller342, digital signal processor/microprocessor unit (DSP/MPU)343, random access memory (RAM)344, a non volatile memory such as read only memory (ROM)345, digital to analog converter (DAC)346 and analog to digital converter (ADC)347. DSP/MPU343 comprisesservo controller349 andCodec348. In a preferred embodiment, DSP/MPU343 is implemented as a single integrated circuit. In another embodiment, MPU may be implemented as one integrated circuit and the DSP may be implemented as another integrated circuit.
It is noted that DSP/MPU343 may comprise a microprocessor unit, a digital signal processor, or any combination thereof.ROM345 stores programmed instructions forprocessor300 and DSP/MPU343 to control the operation of both the disk drive230 (and associated circuitry) and the signal processing of the media data.RAM345 is provided as a working memory for DSP/MPU343. For each of the various compression formats discussed above, the decompression and compression algorithms forCodec348 are stored ondisk drive230. Storing the decompression and compression algorithms ondisk drive230 minimizes the size ofROM345 and its energy consumption. Additionally, this feature allows future compression and decompressions formats to be easily implemented for the media player/recorder.
In the implementation ofFIG. 3,wireless interface210 is implemented separately fromprocessor300, and includes anantenna356, awireless unit354, abaseband processor352, and a media access controller (MAC)350.Antenna356 is a conventional antenna for receiving and transmitting wireless signals.Wireless unit354 converts wireless signals received byantenna356 to analog baseband signals, and converts analog baseband signals received frombaseband processor352 to wireless signals for transmission byantenna356.Baseband processor352 converts analog baseband signals received fromwireless unit354 to a digital bitstream, and converts a digital bitstream received fromMAC350 to analog baseband signals, both according to well-known methods.MAC350 frames the digital bitstream produced bybaseband processor352, and filters the frames to select the frames addressed toprocessor300, both according to well-known methods.MAC350 also converts frames received fromprocessor300 to a digital bitstream forbaseband processor352, also according to well-known methods. In some implementations,MAC350 includes an embedded microprocessor.
Prior to discussing the operation ofprocessor300, reference is made toFIG. 6.FIG. 6 shows an exemplary data format of a magnetic media used indisk drive230, comprising a series of concentric data tracks13 wherein eachdata track13 comprises a plurality ofsectors15 with embeddedservo wedges17.Servo controller349 processes the servo data inservo wedges17 and, in response thereto, positions the read/write head over a desired track. Additionally,servo controller349 processes servo bursts withinservo wedges17 to keep a disk head ofdisk drive230 aligned over a centerline of the desired track while writing and reading data.Servo wedges17 may be detected by the discrete time sequence detector implemented in DSP/MPU343. It is important to note that DSP/MPU343 is utilized only during the time period for detectingservo wedges17; during other periods DSP/MPU343 is available to perform other functions as described below, such as signal processing for media data playback and recording. By using only one DSP rather than two, the cost of fabrication and the amount of energy consumption can be reduced.
As described above, the powering up of the device is done in a sequential manner so as to minimize energy consumption of the device. More specifically, the mechanical or motor portions of the storage device are energized first. After the motor reaches operating speed,VCM234 is energized, followed by the energization ofread channel341 andHDC342.
The operation ofprocessor300 is as follows. DSP/MPU343 controls the entire operation of the media player/recorder. DSP/MPU343 is coupled tohard disk controller342. When writing data todisk drive230,hard disk controller342 receives a write instruction and write data from DSP/MPU343. The write data is temporarily stored in a cache memory (not shown) which is used as a buffer memory. Based on a clock from a clock generator (not shown), DSP/MPU343 controls voice coil motor (VCM) andspindle motor234 viaservo unit349. As a result, the magnetic head is moved to a desired track position on the magnetic disk by the head arm, and the magnetic disk is rotated at a rated rotational speed by the spindle, which is driven byspindle motor234. The data is read from the cache memory and supplied to readchannel341 viahard disk controller342. Readchannel341 encodes the write data under the control of DSP/MPU343, and supplies the encoded write data topreamplifier232. The magnetic head writes the encoded write data on the magnetic disk in accordance with a signal frompreamplifier232.
When reading data from the magnetic disk,hard disk controller342 receives a read instruction from DSP/MPU343. Based on a clock signal, DSP/MPU343 controls voice coil motor andspindle motor234 viaservo unit349. Hence, the magnetic head is moved to a desired track position on the magnetic disk by the head arm, and the magnetic disk is rotated byspindle motor234.
The data read from the magnetic disk by the magnetic head is supplied to readchannel341 viapreamplifier232. Readchannel341 decodes the read data under the control of DSP/MPU343, and generates read data. The read data are supplied fromread channel341 tohard disk controller342 under the control of DSP/MPU343, and are temporarily stored in the cache memory. The read data read from the cache memory are supplied to DSP/MPU343 fromhard disk controller342.
As noted above, operation of the media player/recorder is controlled by the user throughkeypad208, which is in communication with DSP/MPU343. Status of the media player/recorder is provided to the user bydisplay212 in accordance with DSP/MPU343. When either uploading or downloading data, the media player/recorder is in communication with personal computer, network appliance, local area network,Internet50. Otherwise the media player/recorder can be operated independently. The user selects the file to be downloaded from personal computer, network appliance, local area network,Internet50 by way ofkeypad208. Alternatively the user can select the file to be downloaded from the personal computer. DSP/MPU343 controls the flow of data throughinterfaces206 and/or210 and stores the data ontohard disk230 in accordance with the method described above. When uploading data to personal computer, network appliance, local area network,Internet50 the process is reversed.
To record data directly input into media player/recorder from an external analog source, the external device is placed in communication withinput214.Input214 takes the input signal from the external device and sets the analog signal to an appropriate level. The analog signal is then converted to a digital signal byADC347 ofprocessor300.Codec348 of DSP/MPU343 compresses the digitized data using a default compression format or one selected by the user by way ofkeypad208. The default or selected compression program is transferred fromhard disk230 to RAM344 and provided toCodec348 for encoding. The compressed digital data is similarly stored ondisk drive230 under the control of DSP/MPU343.
When the user chooses a selection of media data to be played back withkeypad208, DSP/MPU343 powers updisk drive230 and retrieves the selected data as described above. The retrieved data is then written tomemory202. After the selected data is stored inmemory202,disk drive230 is then powered down by DSP/MPU343. In this manner, duringplayback disk drive230 is powered up only during the transfer of the selected media data fromdisk drive230 tomemory202, which results in lower energy consumption. A single song stored in MP3 format may take approximately one second to retrieve fromdisk drive230. The media data is retrieved frommemory202 by DSP/MPU343 and the compression format is then determined.
If the decompression program has already been transferred toRAM344, the program is provided toCodec348. Otherwise the decompression algorithm is retrieved fromhard disk230 and transferred toRAM344. The data is then decompressed byCodec348 and converted to an analog signal byDAC346. The analog signal is set to an appropriate level byoutput circuit216. If the analog signal contains audio data,output circuit216 is connected to a speaker, headphone and the like for playback, and if the analog signal contains video data,output circuit216 is connected to a display device for playback.
It is noted that the capacity ofdisk drive230 is selected to hold a desired amount of media data, and the amount ofsolid state memory202 is selected to minimize energy consumption. A disk drive having a capacity of 1 Gbyte can store approximately 30 hours of MP3 compressed music.
This section will described the power management control of the device by CPU/MPU343.
Referring now toFIGS. 3, 7 and9, when the user turns on the media player and selects a file to be played (step912), the various components of media player are powered up in a sequential manner so as to minimize energy consumption of the device. More specifically, the mechanical or motor portions of the storage device ordisk drive230 are energized first (step914). After the motor reaches its operating speed (step916),VCM234,preamp232, readchannel341 andHDC342 are energized, since these components are only functional afterdisk drive230 becomes operational. Energy would be unnecessarily expended ifpreamp232, readchannel341 andHDC342 were energized beforedisk drive230 becomes operational. Therefore,VCM234,preamp232, readchannel341 andHDC342 are energized only afterdisk drive230 becomes operational (step918).Preamp232, readchannel341 andHDC342 can be referred to as a storage circuit and include circuits to transform data stored on a storage device to a digital signal.
FIG. 7 is a schematic representation ofmemory202. User data is first stored fromlocation724 tolocation702 in a sequential manner inmemory202. In one embodiment, DSP/MPU343 uses a pointer system in connection withmemory202 to determine when the amount of data stored the amount data stored reaches an upper threshold value (step922). When the amount of data stored inmemory202 reaches the upper threshold value,HDC342, readchannel341,preamp232,disk drive230 andVCM234 are powered down or deenergized (step924). Of course, as will be appreciated by one of ordinary skill in the art, while data is being tomemory202, data may also be read contemporaneously therefrom by DSP/MPU343 for decompression and playback. Data is then read out frommemory202 starting atlocation702 towardslocation724 by DSP/MPU343 (step926). When the data file has been completely read from memory (step928), the user can select another file. The data is continually read frommemory202, until the amount of data remaining is below a low threshold value (step930). When the data remaining inmemory202 is below the threshold value,disk drive230,VCM234,preamp232, readchannel341 andHDC342 are sequentially energized as noted above, and data is transferred from the storage device tomemory202.
FIG. 10 is an alternate embodiment toFIG. 9. Instead of utilizing a pointer system, the amount of data transferred tomemory202 is counted (step1020) by a counter incorporated in DSP/MPU343. The sequential energization of thedisk drive230,VCM234,preamp232, readchannel341 andHDC342 is similar to that of the embodiment ofFIG. 9 (steps1012,1014,1016 and1018). When amount of data transfer tomemory202 is greater than or equal to an upper limit U (step1022),HDC342, readchannel341,preamp232,disk drive230 andVCM234 are powered down or deenergized (step1024). As data is read from memory, the counter decrements the count, and when the count is less than or equal to a lower limit 1 (step1030),disk drive230,VCM234,preamp232, readchannel341 andHDC342 are sequentially energized as noted above, and data is transferred from the storage device tomemory202.
FIG. 11 is another alternate embodiment toFIG. 9. The embodiment inFIG. 9 utilizes a timer incorporated in DSP/MPU343 to approximate the amount of data transferred tomemory202 in accordance with the data transfer rate ofdisk drive230. The sequential energization ofdisk drive230,VCM234,preamp232, readchannel341 andHDC342 is similar to that of the embodiment ofFIG. 9 (steps1112,1114,1116 and1118). The timer is started (step1119) as data is transferredform disk drive230 tomemory202. When the timer times out,HDC342, readchannel341,preamp232,disk drive230 andVCM234 are powered down or deenergized (step1124). As data is read from memory, the timer is started (1125), and when the timer times out (step1130),disk drive230,VCM234,preamp232, readchannel341 andHDC342 are sequentially energized as noted above, and data is transferred from the storage device tomemory202.
In the simplest implementation, media data representing one selection (such as a single song) is transferred fromdisk drive230 tomemory202 for playback.FIG. 8 is a schematic representation ofmemory202, andFIG. 12 is a flow chart illustrating an alternate implementation. As shown therein, instead of retrieving just one selection, first portions of multiple selections are transferred fromdisk drive230 tomemory202. These multiple selections may include the user's favorite selections, random selections from an external source, or the like (step1204). When the user starts playing back the selection, a timer is started (step1208) and the first selection is played back (step1210). If a user instruction is received (step1212) to continue playing that selection is received within a predetermined time (step1214), the remaining portion of the selection is transferred fromdisk drive230 to memory202 (step1216) for continued play back (step1218). If the timer times out (step1214), the first portion of the next selection (step1206) is played back and the process is repeated for each remaining first portion. Alternatively, instead of using a timer, a memory threshold, as shown inFIG. 8, may be utilized permit playback of the entire current selection if the user instruction is received before the memory being read out goes below the current selection threshold. Otherwise the first portion of the next selection is played back. Of course, the play back of portions ofselections 1 through N may be in any order, such as sequential, random and predetermined. If the play back is in sequential order new selections may be transferred fromdisk drive230 tomemory202 to replace previously played back selections.
FIGS. 4 and 5 show a second embodiment of the present invention. The second embodiment is similar to the first embodiment except the second embodiment does not includememory202. In this embodiment media data is recorded in a similar manner as the first embodiment and no further discussion is provided herein. For playback operation, the media data is retrieved directly fromdisk drive230 for playback throughoutput216. The other portions of the playback operation are similar to the first embodiment. In the secondembodiment disk drive230 will be powered on any time media data is recorded or played back. As such this embodiment is particularly applicable when the power supply is external. For example the media player/recorder of the second embodiment may be a portable device used in an automobile supply by energy therefrom. In some implementations,MAC350 includes an embedded microprocessor.
FIG. 13 shows a variation of the first embodiment. According to this variation,baseband processor352 andMAC350 are implemented withinprocessor300, preferably as a single integrated circuit.Wireless interface210 includesantenna356′ andwireless unit354. This variation operates as described for the first embodiment. In some implementations,MAC350 includes an embedded microprocessor.
FIG. 14 shows a variation of the second embodiment. According to this variation,baseband processor352 andMAC350 are implemented withinprocessor300, preferably as a single integrated circuit.Wireless interface210 includesantenna356 andwireless unit354. This variation operates as described for the first embodiment. In some implementations,MAC350 includes an embedded microprocessor.
FIG. 15 is a block diagram of a third embodiment of a media player/recorder in accordance with the present invention. According to this embodiment, aMAC1550 is implemented withinprocessor300, which is preferably implemented as a single integrated circuit, and includes an embedded digital signal processor and microprocessor unit (DSP/MPU)1551. DSP/MPU1551 includescodec348, and communicates withmemory202,display212,keypad208,wired interface206,RAM344,DAC346, andADC347, which function as described above with reference toFIG. 3. DSP/MPU343 has been replaces with DSP/MPU1543, which controlsdisk drive230, readchannel341, andHDC342 as described above.
FIG. 16 is a block diagram of a fourth embodiment of a media player/recorder in accordance with the present invention. This embodiment is similar to the above embodiments, but has no hard drive. Some implementations of this embodiment optionally include a non-volatile memory1602 such as a flash memory instead of a hard drive. Consequently the circuits associated with the hard drive are also eliminated, resulting in a less-expensive media player/recorder. In the depicted implementation,baseband processor352 andMAC350 are implemented withinprocessor300, which is preferably implemented as a single integrated circuit. In other implementations,baseband processor352 andMAC350 are implemented separately fromprocessor300, for example, withinwireless interface210. In some implementations,MAC350 includes an embedded DSP/MPU. These implementations operate in a manner similar to that described for the implementations ofFIG. 15.
The implementations using non-volatile memory instead of a hard drive are especially useful for receiving streaming media from broadcasts such as internet radio stations and other media player recorders. Some implementations feature a “broadcast” mode where the media player/recorder plays a media selection and wirelessly transmits the media selection, either compressed or uncompressed, or in analog form, such that other media player/recorders can receive the broadcast media and play it at the same time as the broadcasting player/recorder.
The implementations with no hard drive or non-volatile memory are especially useful in a “local radio” mode where the media to be played is stored on a personal computer, server, or the like that is separate from the media player/recorder.FIG. 17 illustrates the local radio mode. In this mode, the media is wirelessly streamed to the media player/recorder1704, which decompresses and plays the media without storing the media. Because the media player/recorder never stores a copy of the media, it is ideal for playing media for which only a single copy is licensed. The single copy is stored on a personal computer (PC)1702, and is streamed to media player/recorder1704 for playback. Because only a single copy of the media is stored, the single-copy license is satisfied.
FIG. 18 shows an implementation where a media player/recorder1804 is implemented within adigital camera1802. In recording mode, animage sensor1806 withincamera1802 captures one or more images, and passes a signal representing the image to media player/recorder1804. If the signal is analog, a analog-to-digital converter within media player/recorder1804 converts the analog signal to a digital signal. A digital signal processor within media player/recorder1804 then encodes the digital signal. The encoding can include image compression, image manipulation, and the like. A storage controller within media player/recorder1804 stores the encoded image data on a storage device. In some implementations,digital camera1802 is a digital motion picture camera and the encoded image data represents a motion picture.
In playback mode, the storage controller retrieves the encoded image data from the storage device. The digital signal processor decodes the retrieved encoded image data. Media player/recorder1804 sends a signal representing the decoded image data to adisplay1808, which displays the image(s) captured byimage sensor1806. The media player/recorder described herein can be implemented as a portable unit, as a permanently mounted unit within a vehicle such as an automobile, and the like.FIG. 19 showsautomobiles1902A and1902B equipped with such a media player/recorder. In this implementation, the antenna of the automobile can serve as the antenna of the media player/recorder. The media player/recorders in the automobiles1902 can communicate with each other, without user intervention, while traveling near each other, while stopped at intersections, and in other similar scenarios, to share media data, items of interest, and the like. The media player/recorders in the automobiles1902 can also communicate with portable media player/recorders1904 in a similar fashion. The vehicular and portable media player/recorders can communicate with astationary base station1906 to share media over a network such as the Internet. For example, a homeowner can equip his garage with such abase station1906 so the media player/recorder in his automobile can share media and items of interest while parked in the garage during the night. Similarly, a user of a portable player/recorder1904 can equip his home with abase station1906 so the media player/recorder1904 can share media and items of interest while not otherwise in use, for example while the user sleeps.
Some implementations receive and store data other than media data. In some implementations the media player/recorder records biometric data collected by a biometric sensor disposed near, upon, or within a human body or other organism. The biometric data can represent biological functions such as breathing, heart function, body temperature, blood pressure, and the like. Such devices and methods are well-know in the relevant arts, and are described in U.S. Pat. No. 6,023,662 entitled “Measurement Device, Portable Electronic Instrument, And Measurement Method,” issued Feb. 8, 2000; U.S. Pat. No. 6,030,342 entitled “Device For Measuring Calorie Expenditure And Device For Measuring Body Temperature,” issued Feb. 29, 2000; U.S. Pat. No. 6,036,653 entitled “Pulsimeter,” issued Mar. 14, 2000; and U.S. Pat. No. 6,081,742 entitled “Organism State Measuring Device and Relaxation Instructing Device,” issued Jun. 27, 2000, the disclosures thereof incorporated by reference herein in their entirety.
FIG. 18 shows an implementation where a media player/recorder1802 communicates with abiometric sensor1804 over acable1806. The biometric data collected bybiometric sensor1804 is passed to media player/recorder1802 overcable1806. Alternatively, the biometric data can be passed to media/player recorder1802 wirelessly. The data can be passed in analog or digital form, and is received and stored by media/player recorder1802 according to the methods described above. InFIG. 18 the biometric sensor is worn on the leg. Of course, the biometric sensor can be worn in other locations.FIG. 21 show abiometric sensor2104 worn on a finger and transmitting biometric data over acable2106.
According to these implementations, a user of the media player/recorder can record biometric data for later use in diagnosis and treatment of intermittently occurring medical conditions such as heart arrhythmia. When the user subsequently visits a doctor, the media player/recorder can transmit the stored biometric data to the doctor's computer for analysis, by wire or wirelessly.
Some implementations feature a “share” mode in which media stored on one media player/recorder can be shared with other media player recorders using wireless data transmissions overwireless interface210.FIGS. 22 and 23 show methods for such sharing. Of course, media can be shared overwired interface206 as well using similar methods. However, these methods are well-suited for the relatively lower data rates of wireless links because they require little user intervention. These methods can be used not only to share media between player/recorder units, but also with other repositories of media, such as remote network servers and the like.
FIG. 22 shows aprocess2200 for a media player/recorder to acquire shared media. A list of identifiers of desired media selections, such as song titles, is stored within the player/recorder (step2202). A user can generate the list using the keypad, download the list from a computer, or the like. Optionally, the wireless transmitter can transmit a signal representing the list (step2204). Other player/recorder units receive the list, and respond by offering media selections on the list. The wireless receiver receives the titles of the offered media selections (step2206). The offered titles are compared to the desired titles (step2208). The player/recorder optionally transmits a signal requesting the selections having matching titles (step2210). Other player/recorders respond by transmitting the requested selections. The player/recorder receives the requested selections, and stores the received selections (step2212).
The player/recorder can obtain selections shared by a broadcaster that simply transmits a title of a media selection, and then transmits the selection, without first waiting to receive lists of desired titles or requests for media selections having matching titles. In this caseoptional steps2204 and2210 are not needed.
FIG. 23 shows aprocess2300 for a media player/recorder to share media. A list of identifiers of shared media selections, such as song titles, is stored within the player/recorder (step2302). A user can generate the list using the keypad, download the list from a computer, or the like. Optionally, the wireless transmitter can transmit a signal representing the list (step2304). Other player/recorder units receive the list, and respond by requesting media selections on the list. The wireless receiver receives the titles of the sought media selections (step2306). The sought titles are compared to the shared titles (step2308). The player/recorder transmits the selections having matching titles (step2310).
Some implementations feature an “interest matching” mode in which items of interest stored on one media player/recorder can be shared with other media player recorders using wireless data transmissions over wireless interface220. Items of interest include interests such as hobbies and sports, items for sale or rent, requests for items for sale or rent, musical preferences and the like. When a match is made, the display units indicate the match, and the media player/recorders can wirelessly exchange contact information such as email addresses, telephone numbers and the like. Some implementations include a directional antenna to allow the users having matched items of interest to locate each other. Of course, interests can be matched overwired interface216 as well using similar methods.FIG. 24 shows methods for such interest matching.
FIG. 24 shows aprocess2400 for a media player/recorder to match items of interest. A list of desired items of interest is stored within the player/recorder (step2402). A user can generate the list using the keypad, download the list from a computer, or the like. Optionally, the wireless transmitter can transmit a signal representing the list (step2404). The wireless receiver receives offered items of interest, from other player/recorders (step2406). The offered items of interest are compared to the desired items of interest (step2408). When compared items of interest match, the display unit indicates a match (step2410). Optionally the player/recorder transmits contact information to the transmitter of the offered item of interest (step2412). Optionally, the player/recorder determines and displays a direction to the transmitter of the offered item of interest (step2414). The player/recorder can also include a range finder circuit to determine a range to the transmitter of the offered item of interest, which is then displayed.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application specific integrated circuits).
A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.