MULTI-FORMAT PERSONAL DIGITAL AUDIO PLAYER

Abstract: An apparatus and a method for playing back audio files encoded using one of a plurality of encoding formats, such as MP3 and Real Networks G2. The present invention is a portable audio playback device that allows a user to playback an encoded audio data file, which audio data file has been encoded using a particular encoding format, by transferring the encoded audio data file and an associated decoder file to a digital signal processor in response to a user input. The digital signal processor decodes the encoded audio data file in accordance with the associated decoder file to provide a data file suitable for reproduction. By transferring both the audio data file and the associated decoder file, the present apparatus allows the user to playback a plurality of audio data files encoded using respective ones of a plurality of encoding formats. Advantageously, the audio data files and the decoder files are stored on a solid state data storage medium, such as a compactflash memory card.

Description: MULTI-FORMAT PERSONAL DIGITAL AUDIO PLAYER The present invention relates to an apparatus and a method for processing digitally encoded data, and in particular, to a portable apparatus and a method for processing digitally encoded audio data that has been encoded using a selected one of a plurality of encoding/decoding formats. The present invention is particularly advantageous in handheld applications. The use of portable audio devices capable of playing digitally encoded data is becoming commonplace. In particular, relatively small handheld devices that can process digitally encoded audio data stored on solid state memory devices are becoming popular. Such portable audio devices include those adapted to play digital data that has been encoded, or compressed, and stored on memory chips included within the audio player or on relatively small removable storage media, such as a compactflash™ memory card. The solid state memory based devices are particularly advantageous for use while exercising, or other physical activity, because such devices are not susceptible to skips and other similar problems associated with moving data storage media, such as CDs. In a solid state memory based device, the digital audio data is loaded onto the memory device by, for example, downloading the data from the internet or from another digital audio player. The data is usually compressed and loaded onto the memory device through a personal computer having appropriate software loaded thereon. The memory device may also include preloaded audio data. The data is compressed prior to loading onto the memory device and decompressed during playback according to a selected encoding format. A variety of encoding formats for compressing and decompressing audio data is available. As used hereinafter, the term encoding format refers to any encoding/decoding scheme that specifies the syntax and semantics of a compressed bitstream and how the bitstream must be decompressed for reproduction. Such encoding formats include, but are not limited to, MP3 and Real Networks G2. Additionally, new encoding formats are being developed and expected to be available in the future. However, a disadvantage of current portable audio devices that playback digitally encoded audio data is that a user cannot adjust the operation of the portable audio devices to accommodate a variety of encoding formats. Current portable audio devices, particularly handheld devices, are generally designed and manufactured to work with a pre-selected encoding format. As such, the user cannot choose a different encoding format as the need arises. Such a limitation is problematic because it is desirable to be able to playback a variety of audio data files, wherein different audio data files may have been encoded using different encoding formats. For example, a person's collection may include various audio data files that have been encoded using different encoding formats, certain recordings may only be available in certain encoding formats, and newer encoding formats may make a current encoding format undesirable or obsolete. Therefore, it is desirable to provide a portable playback apparatus and a method for playing back data files, in particular audio data files, encoded using one of a plurality of encoding formats. It is particularly desirable to provide a handheld playback apparatus for playing back audio data files encoded using one of a plurality of encoding formats. It is also desirable to provide a portable playback apparatus and a method for playing back data files, in particular audio data files, encoded using a pre-existing encoding format or an encoding format that may be introduced in the future, without adding additional processing elements. That is, a portable playback apparatus and a method that is both forward and backward compatible with existing and future data encoding formats. The present invention overcomes the above-noted limitation of current portable audio players, particularly handheld audio players, by providing a portable audio playback device that allows a user to playback audio data files using appropriate ones of a plurality of encoding formats, including new formats that become available in the future. According to the present invention, decoder files are loaded directly onto the memory device along with the audio data file. The decoder files comprise programs for causing a digital signal processor to process a selected audio data file according to a particular encoding format. When a user selects a particular audio data file, the portable audio player according to the present invention transfers both the selected audio data file and its associated decoder file to a digital signal processor, and thereafter, the digital signal processor decodes the selected audio data file in accordance with the associated decoder file. In this manner, the present portable audio player can be adapted to playback a variety of audio data files using appropriate ones of a plurality of encoding formats. In one respect, the present invention is a portable audio playback system, comprising: user input means for receiving user commands; data input means for receiving digital data; a data storage device adapted to be removably coupled to the data input means; a digital signal processor; and a microcontroller, coupled to the user input means, the data input means, and the signal processor, for identifying a selected audio data file and an associated decoder file stored on the data storage device in response to a user input, the micro-controller transferring the selected audio data file and the associated decoder file to the digital signal processor, the digital signal processor decoding the selected audio data file in accordance with the associated decoder file. In another respect, the present invention is, in a portable audio playback device, a method for playing back an audio data file, the audio data file being encoded in accordance with a selected one of a plurality of encoding formats, the method comprising the steps of: identifying a selected audio data file in response to a user input; identifying a decoder file associated with the selected audio data file; transferring the selected audio data file and the associated decoder file to a digital signal processor; decoding the selected audio data file in accordance with the decoder file in the digital signal processor; and providing the decoded audio data file to an output device. In another respect, the present invention is a method for storing audio data onto a compact data storage device, the compact memory device adapted to be removably coupled to a handheld audio playback device, the method comprising the steps of: encoding audio data in accordance with a selected encoding format to generate an encoded audio data file; storing, in the compact memory device, the encoded audio data file; storing, in the compact memory device, a decoder file for decoding the encoded audio data file in accordance with the selected encoding format; and storing, in the compact memory device, an identifier file that indicates the correspondence between the encoded audio data file and the decoder file. The present invention is described in more detail with reference to the figures, wherein: Fig. 1 is a block diagram of a portable audio device according to the present invention; Figs. 2A-B illustrate a handheld audio apparatus according to the present invention; Figs. 3-4 are flowcharts illustrating the steps for playing back an audio track using a portable audio device according to the present invention; and Fig. 5 is a memory map diagram illustrating the various data blocks that are loaded into and processed within the DSP. Detailed Description of an Exemplary Embodiment Fig. 1 shows a block diagram of portable audio device 1 0 according to the present invention. The arrangement and operation of the various elements are described hereinbelow. However, the details of the various elements of audio device 1 0 are well known to those skilled in the art and will not be discussed here. Audio device 1 0 comprises micro-controller 22 that controls the various elements and the overall operation of audio device 1 0, including the transferring data from memory card 32 to DSP 1 2. Micro-controller 22 includes a suitable amount of memory 23, in this case 48 KB of ROM, which includes various instruction sets, decryption programs, key files and a security code for controlling the operation of audio player 1 0 stored thereon. Suitable micro- controllers include, but are not limited to, μPC78A4036 manufactured by NEC Corporation. Audio device 1 0 also includes digital signal processor ("DSP") 1 2 that may be programmed to perform a variety of signal processing functions during playback of a selected audio data file. In this case, the functions that DSP 1 2 performs during playback includes, but is not limited to, decrypting a decryption program using a security code, decrypting a decoder file with the decryption program using a first key, decrypting an audio data file with the decryption program using a second key and a unique identifier associated with memory card 32, and decoding the audio data file using the decoder file. Other functions include volume control, digital sound equalizer, and sample conversion. In that regard, DSP 1 2 includes on-board memory 1 1 , in this case 64 KW of RAM, wherein the decryption program, key files, security code, decoder files and audio data files, and various other required data are loaded during playback. The decoder files comprise programs that control the decoding operations of DSP 1 2 and the audio data files include data associated with the audio content. Both the audio data files and the decoder files are stored in memory card 32 in encrypted form. The decoder file is transferred to DSP RAM 1 1 from memory card 32 and decrypted as described further below. Suitable DSP units, include, but are not limited to, TMS320NC541 0 manufactured by Texas Instruments, Inc. of Dallas, Texas. As a selected audio data file is decoded, DSP 1 2 provides the decoded data stream to digital to analog converter 1 4. D/A converter 14 converts the digital output of DSP 1 2 into an analog signal and provides the analog signal to headphone amplifier 1 6. The analog signals are amplified by headphone amplifier 1 6 and provided to headphone 1 8 via output jacks disposed on the housing of audio player 10. In the preferred embodiment, audio player 1 0 is adapted to operate with memory card 32. Memory card 32 is a solid state data storage device that can be used to store various data files, including encoded audio data files and decoder files for controlling the decoding operation of DSP 1 2. Memory card 32 may be removably coupled to audio player 1 0 via memory card port 38 and a large amount of data can be readily transferred from memory card 32 to audio player 1 0 through data bus 33. The solid state nature of memory card 32 allows large amount of data to be transferred to audio player 10 without skips and other similar disadvantages associated with media, such as CDs, that require precise moving parts. Suitable memory cards include, but are not limited to, CompactFlash™ type I and II of the CompactFlash Association (CFA) standard (IDE Mode) . Also, hard drive type media, such as Microdrive™ manufactured by IBM Corporation of Armonk, New York, may be used. Using the present invention, several decoder files and relatively large amounts of audio data can be stored on currently available flash memory cards. For example, a 64 MB compactflash™ card provides approximately 68 minutes of audio at MP3 bit-rate of 1 28 Kbps, wherein approximately 60-70KB are required for the decoder programs and approximately 1 MB is required for each minute of music output. Audio data files and associated decoder files are loaded onto memory card 32 using a PC, or other similar device, having music management software loaded thereon. The music management software is designed to load the desired audio data files along with the associated decoder files onto memory card 32. The music management software is implemented using programming methods known in the art. Alternatively, the required data may be downloaded through another source, for example, through the Internet or another player, wherein the downloaded data includes the desired audio data files and their associated decoder files. Keyboard 26 comprises a plurality of keys disposed on the housing of audio player 1 0 for allowing a user to select a particular audio data file for playback and to control playback settings. LCD display module 20 is coupled to micro-controller 22 and provides a listing of the selections available on memory card 32 and also status information regarding audio player 1 0. Figs. 2A-B illustrate the displays and buttons disposed on the housing of audio player 1 0. As shown in Fig. 2A, audio player 1 0 includes display 21 that displays the audio data files stored on memory card 32 and various status information associated with audio player 1 0. PLAY button 46 allows a user to begin play of a selected data file. STOP/OFF button 42 allows a user to stop play and turn audio player 1 0 OFF. SKIP/FOR. button 44 and SKIP/REV. button 43 allow a user to scroll between different audio data files displayed on display 21 . Mode button 45 allows a user to a particular playback mode, including NORMAL, REPEAT PLAYBACK and SHUFFLE. DSP button 40 allows a user to select one of a plurality of DSP modes, including FLAT, BASS, BOOST, ROCK, POP, JAZZ, and EQ. Fig. 2B shows memory card port 38 having memory card 32 inserted therein, and ejector lever 47 for ejecting memory card 32 from memory card port 38. After insertion of memory card 32 into memory card port 38 of audio player 1 0 and prior to beginning playback, micro-controller 22 reads memory card 32, in particular a configuration file stored therein, to identify and display the audio data files stored on memory card 32, and their associated encoding formats. When the user selects a particular audio data file for playback, micro-controller 22 loads the selected audio data file and the appropriate decoder file into DSP RAM 1 1 , wherein DSP 1 2 decrypts both the data and decoder files, and then decodes the selected audio data file using the decoder file. Thus, the decoder files on memory card 32 allow audio player 1 0 to be adapted to process the various encoding formats associated with the audio data files stored on memory card 32. In effect, portable audio player 1 0 is software upgraded, as necessary, by the decoder files stored on memory card 32 when the user selects a particular audio data file stored on memory card 32. The steps associated with processing a selected audio data file from memory card 32 using audio player 10 is shown in the flowcharts of Figs. 3 and 4, and described below. Figs. 3 and 4 show flowcharts illustrating the steps for processing a selected audio data file in accordance with the present invention. After powering UP in step 100, micro-controller 22 of audio player 10 checks for the presence of memory card 32 in flash card port 38 in step 1 02. If memory card 32 is not detected in flash card port 38, audio player 10 powers DOWN in step 1 04. If memory card 32 is detected, audio player 10 turns ON the power to memory card 32 in step 106. In step 1 08, micro-controller 22 transfers the decryption program stored in micro-controller ROM 23 to DSP RAM 1 1 . In step 1 1 0, micro-controller 22 issues a diagnostic check command to cause memory card 32 to perform a set of self-diagnostic checks. If memory card 32 is determined to be in a faulty condition in step 1 1 2, micro-controller 22 indicates that an error condition exists and powers DOWN memory card 32 in step 1 1 4. If memory card 32 is determined to be in an acceptable condition, micro-controller 22 reads the unique ID number embedded in memory card 32. In step 1 1 6, micro-controller 22 transfers the unique ID number of memory card 32, and a private key file and a security code stored in micro-controller ROM 23 to DSP RAM 1 1 . Following this transfer, in step 1 1 8, DSP 1 2 decrypts the decryption program using the security code. The decryption program specifies certain keys using a pointer that specifies the memory location of DSP RAM 1 1 wherein the desired keys are stored, from the key file to be used during subsequent decryption operations as noted below. In step 1 20, micro-controller 22 determines whether a configuration file is present in memory card 32. In step 1 22, if a configuration file is not found, micro-controller 22 causes an error indication to be displayed on display 21 and powers DOWN memory card 32. In step 1 24, if a configuration file is present, micro-controller 22 reads the configuration file and identifies the various file formats that need to be supported for the data files stored on memory card 32. The configuration file also includes information that equates the file extension of the audio data files with particular decoder files stored in memory card 32. In step 1 26, micro-controller 22 reads the file attribute table stored on memory card 32 and causes display 21 to display the file/folders stored in memory card 32. At this point, the user may select a desired one of the displayed audio data files, or music tracks, for playback. When an audio data file is selected for playback in step 1 28, microcontroller 22 and DSP 1 1 perform a number of steps, including several concurrent steps to provide audio playback. First, micro-controller 22 identifies and transfers the corresponding decoder file from memory card 32 to DSP RAM 1 1 in step 1 30. For example, if the user selects an MP3 file, micro-controller 22 transfers the MP3 decoder file from memory card 32 to DSP RAM 1 1 . At this point, the MP3 decoder file is encrypted and must be decrypted before it can be used to control the decoding operation of DSP 1 2. In step 1 31 , DSP 1 2 decrypts the decoder file loaded in DSP RAM 1 1 using the decryption program that was decrypted in step 1 1 8 and a first key in the key file specified by the decryption program. In step 1 34, micro-controller 22 begins streaming the selected audio data file from memory card 32 to DSP 1 2. In step 1 32, DSP 1 2 uses the decryption program to decrypt the streaming audio data file. An additional security layer with regard to the decryption of the audio data file is provided as follows. A second key from the private key file that is specified by the decryption program and the unique ID number of memory card 32 are used to generate a final key, wherein the final key is used by the decryption program to decrypt the audio data file. The music management software is designed to use the unique ID number of memory card 32 to encrypt the audio data file when the audio data file is stored in memory card 32. As such, the use of the unique ID number of memory card 32 to generate the final key prevents audio player 1 0 from playing an audio data file that was copied from another memory card. In step 1 33, DSP 1 2 uses the decrypted decoder file to decode the decrypted audio data file in accordance with the appropriate encoding format. The decoded audio data is provided to D/A converter 14 and headphone amp 1 6 for reproduction. In step 1 36, it is determined whether all of the data in the selected audio data file has been transferred to DSP RAM 1 1 . If not, micro-controller 22 continues to stream data from memory card 32 to DSP RAM 1 1 . If the transfer of data is complete as determined in step 1 36, micro-controller 22 determines in step 140 whether the next audio data file is encoded using the same format as the previous audio data file. If the encoding format of the next audio data file is the same as the previous encoding format, micro-controller 22 returns to step 1 34 and starts streaming the data from the next audio data file, which data is subsequently decrypted and decoded in steps 1 32 and 1 33 as before. If the encoding format of the next audio data file differs from the encoding format of the previous audio data file, micro-controller 22 returns to step 1 30. In this case, a new decoder file associated with the next audio data file is transferred to DSP RAM 1 1 , and the steps of decrypting the decoder file, streaming the audio data file, decrypting the data file, and decoding the data file using the newly loaded decoder file is repeated. In this manner, audio player 10 is able to playback audio data files encoded using any one of a plurality of encoding formats, as long as the decoder file associated with the selected encoding format is available and can be downloaded onto DSP RAM 1 1 . In the present embodiment, the necessary decoder files are stored in memory card 32 along with the audio data files. As such, audio player 1 0 can be updated to play different encoding formats by software updating of the DSP via decoder files stored along with the audio data files in memory card 32. Thus, audio player 10 is capable of playing back data files encoded using a variety of encoding formats, including encoding formats that become available in the future. In the present invention, audio data files are loaded onto memory card 32 using music management software that encodes the audio data files in accordance with a selected encoding format, such as MP3, encrypts the encoded data files, and then stores the encrypted, encoded data files. Various encryption and decryption methods known to those skilled in the art for generating an encrypted file using a selected key, and then decrypting the encrypted file using the selected key may be used. In the present invention, the decoder files are encrypted using a first key, and the audio data files are encrypted using another key that is generated using the unique identifier on memory card 32. The music management software stores the encrypted audio data files and appropriate encrypted decoder files onto memory card 32. The music management software also generates, and modifies as necessary, a configuration file and a file attribute table to provide information regarding the various data files and decoder files stored on memory card 32. Using the configuration file and the file attributes table, audio player 1 0 is able to determine the correct encoding format for each content file, display the available file on display 21 and download appropriate decoder file for each content file in response to a user selection. Fig. 4 is a memory map associated with DSP RAM 1 1 illustrating the various data files that are transferred to DSP RAM 1 1 and interactions therebetween. Initially, the unique ID number associated with memory card 32 is stored in memory portion 49. The security code and private key files that are stored in micro-controller ROM 23 are transferred to DSP RAM 1 1 and stored in respective memory portions 50 and 51 . Also, the decryption program is read into memory portion 52 from micro-controller ROM 23. The decoder file associated with a selected audio data file is stored in memory portion 54, and the audio data files are stored in memory portion 56. It is to be understood that the transfer of the various data blocks and the actual arrangement of the data blocks in DSP RAM may be programmed as desired using any one of programming techniques known to those skilled in the art. As described above, the security code in block 50 is used to decrypt the decryption program in block 52. The decryption program is used to decrypt the decoder file in block 54 and the audio data file in block 56. The decryption program includes a pointer that is used to specify a first key to be used during decryption of the decoder file. Also, a second key specified by the decryption program and the unique ID number of memory card 32 in block 49 are used to generate a final key, and the final key is used by the decryption program to decrypt the selected audio data file. The decoder file is then used to decode the decrypted audio data file. It can be seen that different keys may be selected in the private key file by changing the pointers to the memory locations where the private key file is stored or by changing the locations where the private key file is stored. It will be apparent to those skilled in the art that although the present invention has been described in terms of an exemplary embodiment, modifications and changes may be made to the disclosed embodiment without departing from the essence of the invention. For example, although the present invention has been described with reference to a memory card that is adapted to be removably coupled to audio player 10, the present invention may be implemented using a memory chip that is fixedly disposed within audio player 1 0, wherein the decoder program and audio data files are loaded onto the fixed memory chip by the music management software. Also, it is herein recognized that the present feature of loading the appropriate decoder programs and the audio data files may be implemented in the music management software using any one of a number of conventionally known programming methods, or combination of programming methods. Also, although the above is described in reference to an audio data player, the present invention may be extended to any portable data processing device, for example, video display devices, wherein the data may be encoded using one of a plurality of data encoding formats. Also, the audio data files and decoder files may be stored and read from magnetic or optical media. Therefore, it is to be understood that the present invention is intended to cover all modifications as defined in the appended claims.

Claims: WHAT IS CLAIMED: 1 . In a portable audio playback device, a method for playing back an audio data file, the audio data file being encoded in accordance with a selected one of a plurality of encoding formats, the method comprising the steps of: identifying a selected audio data file in response to a user input; identifying a decoder file associated with the selected audio data file; transferring the selected audio data file and the associated decoder file to a digital signal processor; decoding the selected audio data file in accordance with the decoder file in the digital signal processor; and providing the decoded audio data file to an output device. 2. The method according to claim 1 , further comprising the step of reading a configuration file that associates each one of a plurality of audio data files with a particular one of a plurality of decoder files, and the identifying the decoder file step comprises identifying the decoder file using the configuration file. 3. The method according to claim 1 , wherein the transferring step comprises transferring the selected audio data file from a compact data storage device to the digital signal processor. 4. The method according to claim 3, wherein the compact data storage device is a solid state data storage device. 5. The method according to claim 3, wherein the compact data storage device is a solid state data storage device adapted to be removably coupled to the portable audio playback device. 6. A method for storing audio data onto a compact data storage device, the compact memory device adapted to be removably coupled to a handheld audio playback device, the method comprising the steps of: encoding audio data in accordance with a selected encoding format to generate an encoded audio data file; storing, in the compact memory device, the encoded audio data file; storing, in the compact memory device, a decoder file for decoding the encoded audio data file in accordance with the selected encoding format; and storing, in the compact memory device, an identifier file that indicates the correspondence between the encoded audio data file and the decoder file. 7. A portable audio playback apparatus for playing back an audio data file encoded in accordance with a selected one of a plurality of encoding formats, the apparatus comprising: user input means for receiving user commands; data input means for receiving digital data; a digital signal processor; a micro-controller, coupled to the user input means, the data input means, the output means and the digital signal processor, for identifying a user selected audio data file and a decoder file associated with the user selected audio data file and for transferring the user selected audio data file and the associated decoder file to the digital signal processor in response to a user selection, the digital signal processor decoding the user selected audio data file in accordance with the associated decoder file. 8. The portable audio playback apparatus according to claim 7, further comprising a solid state data storage device coupled to the micro-controller, the user selected audio data file and the associated decoder file being stored in the solid state data storage device. 9. A portable audio playback system, comprising: user input means for receiving user commands; data input means for receiving digital data; a data storage device adapted to be removably coupled to the data input means; a digital signal processor; and a micro-controller, coupled to the user input means, the data input means, and the signal processor, for identifying a selected audio data file and an associated decoder file stored on the data storage device in response to a user input, the micro-controller transferring the selected audio data file and the associated decoder file to the digital signal processor, the digital signal processor decoding the selected audio data file in accordance with the associated decoder file. 10. The system according to claim 9, wherein the data storage device comprises a solid state data storage device. 1 1 . The system according to claim 1 0, wherein the data storage device is a compactflash memory card. 1 2. The system according to claim 10, wherein the data storage device includes a configuration file for identifying a plurality of stored audio data files and the decoder file associated with each one of the plurality of stored audio data files. 1 3. A compact memory device for storing digital data, the memory device adapted to be coupled to a handheld audio playback device, the memory device comprising: a plurality of memory cells, the memory cells having stored therein: a unique identifier associated with the compact memory device; an audio data file having audio data encoded in accordance with a selected one of a plurality of encoding formats; a decoder file associated with the selected one of a plurality of encoding formats, the decoder file being adapted to be transferred to a digital signal processor for causing the digital signal processor to decode the audio data file in accordance with the selected one of a plurality of encoding formats; and an identifier data file for identifying the correspondence between the audio data file and the associated decoder file. 14. The memory device according to claim 1 3, further comprising a connector for removably coupling the memory device to the handheld audio playback device.

Inventors: CHEAH SIN HUI, CSICSATKA TIBOR, DICK ROBERT JAMES SR, CHEAH, SIN, HUI, CSICSATKA, TIBOR, DICK, ROBERT, JAMES, SR.
Applicants: CHEAH SIN HUI, CSICSATKA TIBOR, DICK ROBERT JAMES SR, THOMSON LICENSING SA, CHEAH, SIN, HUI, CSICSATKA, TIBOR, DICK, ROBERT, JAMES, SR., THOMSON LICENSING S.A.
Application year: 2000
Main classification: G11C7
IPC codes: G06F12, G06K17, G10L19, G11B20, G11C7