DIGITAL MEDIA FORMAT
TECHNICAL FIELD The present information relates to digital media format technology for use in recording media.
BACKGROUND ART Media content is presently stored on such recording media as compact discs and recordable compact discs. Audio compact discs only support the 44.1 kHz/16-bit audio resolution. Such recording media contains only data related to the audio files and is capable of recording information and data and playing the information and data back in the order that it was originally recorded. For example, if five seconds of silence are needed between songs on an audio CD, then five blank seconds are recorded onto the CD. However, these five seconds of silence consume an equal amount of space on the CD as do five seconds of music. In addition, songs on an audio CD may generally only be played back in the order in which they were recorded, and each track must adhere to the 44.1 kHz/ 16-bit audio resolution. Other such limitations also apply.
ISO-9660, an International Organization for Standardization standard, is described in detail in "ISO9660: 1998", a technical publication of the International
Organization for Standardization. This standard is entitled "Information Processing - Nolume and file structure of CD-ROM for information exchange." Various standards describe how the volume and files of a CD-ROM are organized. For example, AIFF, an Apple Computer file standard, is described in detail in "Inside Macintosh - Sound," a technical publication from Apple Computers. Additional information on these standards may be found in:
ISO 9660, Information Processing - Volume and file structure of CD-ROM for information interchange, 1988-09-01.
Audio Interchange File Format: "AIFF", A Standard for Sampled Sound Files, 1989-01-04.
Apple Extensions to ISO 9660, Technote FL 36, 1989-07.
Such standards are well known by those of ordinary skill in the art and are incorporated by reference herein in their entirety. What is desired in the professional audio community is an efficient, inexpensive, portable, robust, and ubiquitous method for transporting, delivering, and recording high-resolution audio and other media in a user-customizable manner.
SUMMARY OF THE INVENTION
The present invention provides an efficient, inexpensive, portable, robust, and ubiquitous file format and recording method for transporting, delivering, and recording high-resolution audio in a user-customizable manner. In an aspect of the invention, the file format and method supports audio resolutions sample rates such as 44.1 kHz, 48.0 kHz, 88.2 kHz, and 96.0 kHz, but can support sample rates ranging from 1 Hz to 4.3 GHz. The invention also supports exemplary word lengths such as 16-bit, 20-bit, and 24-bit word lengths, but can support word lengths ranging from 1- bit to 4.3 gigabit word lengths. In a further aspect of the invention, the file format and method may be recorded on an inexpensive CD-R. In another aspect of the invention, each piece of media content, such as a media file or track, of the recording medium of the invention may be recorded in any of the supported audio resolutions, regardless of the audio resolutions used in previously recorded tracks. In a further aspect of the invention, each track may then be played back in the same audio resolution at which it was recorded. In another aspect, a recording medium of the invention may include three types of information: volume and file structure information, audio or media information, and the system information. The volume and file structure information, while different on each disc, may be organized according to the ISO-9660 standard.
In a further aspect of the invention, audio pause times before each track or file on the recording medium of the invention may be programmed to efficiently create silence during playback without occupying significant recording medium space.
In another aspect of the invention, media information, such as audio information, while different for each piece of media content such as a song on a disc, may be organized according to the AIFF file format standard.
In another aspect, the system information on the recording medium of the invention allows for a device associated with the invention to determine characteristics such as but not limited to audio pause time, audio resolution, DSP settings, and the order that the media files were recorded onto the recording medium.
In a further aspect of the invention, the system information may. include two main blocks, the Track Record Area and the Playlist Record Area. In an aspect of the invention, only the Track Record Area information may be required for a valid recording medium of the invention; the Playlist Record Area may be optional.
1 DEFINITIONS
1.1 a-character
A character adhering to the ISO 646 specification of the following type: A-Z, 0-9, space, underscore, and separate characters such as [\"%&,()*+,-/:;o=?]. 1.2 application program
A program that processes the contents of the disc.
1.3 byte
A string of eight binary digits operated on as a unit.
1.4 d-character A character adhering to the ISO 646 specification of the following type: A-Z,
0-9, and underscore.
1.5 Data Field of a sector
A field containing the data of a sector.
1.6 float
A 32-bit number adhering to the IEEE 754/854 specification. 1.7 logical sector
A block of a number of bytes equal to 2048 or 2n, whichever is larger, where n is the largest integer such that 2" is less than or equal to the number of bytes in the Data Field of a sector.
1.8 m-character A character adhering to the ISO 646 specification of the following type: A-Z, a-z, 0-9, space, and underscore.
1.9 sector
The smallest addressable part of the recorded area on a CD-R/CD-ROM that can be accessed independently. 1.10 volume
A dismountable CD-R/CD-ROM. 2 NOTATION
2.1 Decimal and hexadecimal notations
Numbers in decimal notation shall be in decimal digits 0-9. Numbers in hexadecimal notation shall be in hexadecimal digits (0-9, A-F) in parentheses.
2.2 Other notation
BP Byte position (or positions) within a descriptor, starting with 1.
ZERO A single bit with value 0.
ONE A single bit with value 1.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows an exemplary layout of a track record area sector according to an embodiment of the invention.
Figure 2 shows a detailed view of an exemplary track record header block according to an embodiment of the invention.
Figure 3 shows a detailed view of an exemplary track record according to an embodiment of the invention.
Figure 4 shows an exemplary layout of a playlist record area sector. Figure 5 shows a detailed layout of an exemplary layout of a playlist record header block according to an embodiment of the invention.
Figure 6 shows a detailed layout for an exemplary playlist record for media content according to an embodiment of the invention.
Figure 7 shows a detailed layout of an exemplary primary volume descriptor for the data area of a recording medium according to an embodiment of the invention. Figure 8 shows a detailed layout of an exemplary supplementary volume descriptor for the data area of a recording medium according to an embodiment of the invention.
Figure 9 shows a detailed layout of a directory record according to an embodiment of the present invention. Figure 10 shows a detailed layout of a media file header according to an embodiment of the invention.
Figure 11 shows an exemplary overview of a volume structure of a recording medium according to an embodiment of the invention.
Figure 12 shows an exemplary overview of a system area of a recording medium according to an embodiment of the invention.
Figure 13 shows an exemplary overview of a data area of a recording medium according to an embodiment of the invention.
Figure 14 shows an exemplary embodiment of a system using the recording medium and format of the invention.
DETAILED DESCRIPTION OF THE INVENTION The present invention provides a method and apparatus for storing information on a recording medium. In the following description, numerous details are set forth in order to enable a thorough understanding of the present invention. However, it will be understood by those of ordinary skill in the art that these specific details are not required in order to practice the invention. Further, well-known elements, devices, process steps and the like are not set forth in detail in order to avoid obscuring the present invention.
Although the invention has been described in conjunction with particular embodiments, it will be appreciated that various modifications and alterations may be made by those skilled in the art without departing from the spirit and scope of the invention. The invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.
The method and system of the present invention provides a format for audio files to be stored on a recording medium, such as but not limited to CD-R/CD-ROM media, at multiple sample rates and word lengths. Each audio file may be recorded and played back at a different sample rate and word length. In an embodiment, the present invention fulfills the requirements of ISO 9660 in overall structure and uses the AIFF file format for individual media content, such as but not limited to audio files.
The recording medium of the invention supports exemplary audio resolution sample rates such as 44.1 kHz, 48.0 kHz, 88.2 kHz, and 96.0 kHz, but can support sample rates ranging from 1 Hz to 4.3 GHz. The invention also supports exemplary word lengths such as 16-bit, 20-bit, and 24-bit word lengths, but can support word lengths ranging from 1-bit to 4.3 gigabit word lengths.
In an embodiment of the invention, each track of the recording medium may be recorded in any of the supported audio resolutions, regardless of the audio
resolutions used in previously recorded tracks. Each track can then be played back in the same audio resolution at which it was recorded.
An Alesis MasterLink ML-9600, which is manufactured by the assignee of the present invention and is described in the MasterLink ML-9600 High-Resolution Master Disk Recorder Reference Manual, hereby incorporated by reference in its entirety, is a device capable of creating a recording medium, such as a CD24 disc, associated with the invention. A MasterLink uses an internal hard disk drive to record, edit and process audio information in structures known as playlists and tracks. Once playlist editing is complete, a user can decide to create a disc of the invention by selecting the disc as the desired output format, and then by pressing the "Create
CD" button on the front panel of the MasterLink. The MasterLink' s internal CD-R drive then creates a CD24 of the invention based upon the parameters of the active playlist.
When the disc creation process is complete, the disc may be inserted into any MasterLink, which scans the disc and determines that it is in fact a CD24. The
MasterLink determines that a recording medium is a CD24 by checking to see if the recording medium contains track record header block information, which contains organization data never previously contemplated by a standard audio CD. Once the MasterLink has completed that determination, the MasterLink can play the CD24 much in the same way that a standard audio disc is played in a CD player, but with the benefits of the features of the invention, such as the ability to playback tracks in any higher audio resolutions at which the tracks were recorded, and the ability to read programmed periods of silence preceding media content files.
CD24 discs may also be inserted into a computer with a CD-ROM drive. The volume name of the disc is the same as the playlist name from which the CD24 was created. The audio filenames are the same as the track name in the playlist from which the CD24 was created, and will have an extension of .AIF. The audio files
may be opened by any computer application that supports the AIFF file format. The playlist information may not visible to a computer user.
Figure 14 shows an exemplary embodiment of a system using the recording medium and format of the invention. Software 1402 running on microprocessor 1400, or a microcontroller, is communicated via an interface to CD-R Drive 1404 holding recording medium 1406, such as a CD-R having a file format of the present invention. Such a configuration allows writing to and reading from any of the address locations defined in the file format of the invention.
In an exemplary embodiment, the interface conforms to the well known ATA/ATAPI-4 interface protocol (also known as IDE or EIDE), which is comprised of an address bus 4108, a data bus 1410, and several control signals 1412. The combination of address bus 4108, data bus 1410, and control signals 1412 may also be generally referred to as a bus. The well known ATA specification determines how the writing and reading from the drive is timed and what internal registers within CD- R Drive 1404 must be written in order to write or read from the field on recording medium 1406, or CD-R.
The fields on recording medium 1406 may be read in any order, as dictated by software 1402. For example, to determine the amount of silence preceding a media file, such as audio in a playlist, software 1402 may be programmed to allow microprocessor 1400 to extract this information from recording medium 1406.
Referring again to Figure 3, Audio Pause Time 314 specifies the amount of silence preceding a media file, such as audio in a playlist. Audio Pause Time 314 may be a 32-bit unsigned integer that represents the number of sample pairs preceding the audio in a playlist. At 48,000 sample pairs per second, a 5-second silence would be represented as 5 X 48,000 = 240,000 or (0003 A980) in 32-bit hexadecimal notation.
Referring again to Figure 14, software 1402 directs CD-R Drive 1404 to read the content from the audio pause time field on recording medium 1406 to determine, for playback purposes, the amount of silence preceding the media file. It is well known
by one of ordinary skill in the art how to program software 1402 to read information from a recording medium 1406. Similarly, software 1402 may extract media organization information from any of the fields in the system area, which can include a track record area and a playlist area, and the data area of recording medium 1406. In an embodiment of the invention, a recording medium of the invention may have sample rates such as 44.1 kHz, 48.0 kHz, 88.2 kHz, 96.0 kHz, or other sample rates. Each sample rate may be associated with word lengths such as 16-bit, 20-bit, 24-bit, or other word lengths.
In an embodiment of the invention, once a recording medium, such as a CD24, is inserted into the system, the system scans the track record area or the playlist record area of the disc to recognize it as a CD24 and thereby play the CD24 as if it were a standard CD, but at the audio files' original sample rates and word lengths as indicated in field 316 and 318 in Figure 3. Each track in the recording medium may be recorded in with a different sample rate and word length, with playback of each track occurring at the audio resolution sample rate and word length at which it had been recorded.
A recording medium of the present invention includes three types of information: volume and file structure information, audio or media information, and system information. The volume and file structure information, while different on each disc, may be organized according to the ISO-9660 standard.
Media information, such as but not limited to audio information, while different for each piece of media content such as a song on a disc, may be organized according AIFF file format standard.
Figure 11 shows an exemplary overview of a volume structure 1100 of a recording medium according to an embodiment of the invention. Volume structure
1100 may be divided into system area 1102 and data area 1104. In an embodiment of the invention, system area 1102 occupies logical sector numbers 0 to 15. Data area 1104 occupies the remaining logical sectors.
The system information within system area 1102 of the present invention allows for a device associated with the invention, such as a MasterLink, to read organization information from the recording medium, including inter-song silence, audio resolution, DSP settings, etc. Specifically, the device may determine the audio resolution at which each track on the medium was recorded and playback each track at the resolution at which it was recorded. In an embodiment, audio resolutions are composed of a sample rate and a word length. Referring briefly to Figure 3, for a given track, such as an audio file, the device may read Sample Rate 316 to determine the sample rate audio resolution at which the particular track associated with Track Record 102 had been recorded. Similarly, the device may read Word Length 318 to determine the word length audio resolution at which the particular track associated with Track Record 102 had been recorded. In an embodiment, the device may then playback the track using the same Sample Rate 316 and Word Length 318 at which the particular track associated with Track Record 102 had been recorded. Each track may be recorded with a different sample rate and word length unique to that track. In an embodiment, the device performs playback of the media content in the same order that the media files were recorded onto the recording medium.
Figure 12 shows an exemplary overview of a system area 1102 of a recording medium according to an embodiment of the invention. The system information associated with a recording medium of the invention contains two main areas that have not been contemplated by pre-existing recording medium technology, the Track Record Area and the Playlist Record Area. Only the Track Record Area information may be required to set up a valid recording medium according to an embodiment of the invention; the Playlist Record Area may be optional. In an embodiment of the invention, fields in the System Area are represented in least significant byte first for each 32-bit word. The system area 1102 may be divided into a track record area 1200 and a playlist record area 1202. Track record
area 1200 may occupy logical sector numbers 1 to 4. Playlist record area 1202 may occupy logical sector numbers 6 to 14.
Figure 13 shows an exemplary overview of a data area 1104 of a recording medium according to an embodiment of the invention. Data area 1104 may contain volume descriptors 1302, directories 1304, and media data 1306. Volume descriptors
1302 may include a primary volume descriptor and a supplementary volume descriptor. The primary volume descriptor may occupy logical sector number 16. The supplementary volume descriptor may occupy logical sector number 17. Directories 1304 may include a root directory. The Root Directory may occupy logical sector numbers 21 to 24. Media data 1306, such as but not limited to audio data, may occupy logical sector numbers 25 and above. In an embodiment of the invention, the Audio Data conforms to the Audio Interchange File Format (AIFF).
Figure 1 shows an exemplary layout of a track record area sector 101 according to an embodiment of the invention. In an embodiment, a recording medium of the invention may contain four sectors, each of which contains one or more tracks. Each track is associated with media content, such as an audio file, recorded onto the recording medium. Each sector 101 of the track record area may contain a track record header block 100, one or more track records 102, and a checksum 104. The track record area allows for storage, retrieval, and use of information and capabilities such as programmable audio pause time and other features that are not allowed in pre-existing media file storage and playback technology. Track record header block 100 may occupy byte positions 1 to 64 and contain track header content. Track records 102 may occupy byte positions 65 to 2044 and contain track record content. Checksum 104 may occupy byte positions 2045 to 2048 and contain a numerical value, such as a 32-bit unsigned integer.
Figure 2 shows a detailed view of an exemplary track record header block 100 according to an embodiment of the invention. Track record header block 100 describes the organization of track records located within the particular sector
associated with the header block and may specify such information as the First Track In Sector 206, the Last Track In Sector 208, the Track Record Offset 210, the Track Record Size 212, and other information. Track Record Header 200 may occupy BP 1 to 4 and specifies an identification for a Track Record Header. The hexadecimal notation of the Track Record Header field 200 may be (A000000 A).
In an embodiment of the invention, Track Record Version 202 occupies BP 5 to 8 and specifies a Track Record version number. Track Record Version 202 may be recorded as a 32-bit float number adhering to the IEEE 754/854 specification. In an embodiment of the invention, a Track Record version may be 1.00, or (20000000). Number of Tracks on CD 204 may occupy BP 8 to 12 and specifies the number of files on the recording medium, such as the number of audio files on a disc. In an embodiment of the invention, Number of Tracks on CD 204 may be recorded as a 32- bit unsigned integer number.
First Track in Sector 206 may occupy BP 13 to 16 and specifies the first Track Record number located within the sector. In an embodiment of the invention,
Track Record numbers may start from zero and is recorded as a 32-bit unsigned integer number.
Last Track in Sector 208 may occupy BP 17 to 20 and specifies the last Track Record number located within the sector. Last Track in Sector 208 may be recorded as a 32-bit unsigned integer number. In an embodiment of the invention, Track
Record Offset 210 occupies BP 21 to 24 and specifies the number of 32-bit words the first Track Record of this sector is offset from the start of the sector. Track Record Offset 210 may be recorded as a 32-bit unsigned integer number.
Track Record Size 212 may occupy BP 25 to 28 and specifies the size of a Track Record by the number of 32-bit words. Track Record Size 212 may also be recorded as a 32-bit unsigned integer number. BP 29 to 64 may be Reserved For Future Specification 214, and bytes in this field may be set to (00).
Figure 3 shows a detailed view of an exemplary Track Record according to an embodiment of the invention. Track Record 102 provides data for a piece of media content, such as but not limited to a particular audio file. EAR Length 300 may occupy BP 1 to 4 and specifies the length, in the number of bytes, of an Extended Attribute Record. Track Record 102 may be recorded as a 32-bit unsigned integer number. Extent Location 302 may occupy BP 5 to 8 and specifies the logical sector number location of the media file. Extent Location 302 may be recorded as a 32-bit unsigned integer number.
Data Length 304 occupies BP 9 to 12 and specifies the length, in number of bytes, of the media file data. Data Length 304 may be recorded as a 32-bit unsigned integer number. File Name Low Word 306 may occupy BP 13 to 16 and specifies the low word of the file name. In an embodiment of the invention, the low word includes the first four characters of the name. File Name High Word 308 occupies BP 17 to 20 and specifies the high word of the file name. In an embodiment of the invention. the high word contains the last four characters of the name. Characters in the fields
File Name Low Word 306 and File Name High Word 308 may be recorded as d- characters.
Data Location 310 occupies BP 21 to 24 and specifies the logical sector number of the audio data location. Audio Data Length 312 occupies BP 25 to 28 and specifies the length, in number of sample pairs, of the audio data or media content.
Data Location 310 and Data Location 310 maybe recorded as 32-bit unsigned integer numbers.
Audio Pause Time 314 occupies BP 29 to 32 and specifies the length, in the number of sample pairs, of the audio pause time that precedes the audio data. Audio Pause Time 314 specifies, for example, the amount of silence preceding a media file, such as an audio file. As is well known by one of ordinary skill in the art, Audio Pause Time 314 may be a 32-bit unsigned integer that represents the number of sample pairs preceding the audio in a playlist. At 48,000 sample pairs per second, a
5-second silence would be represented as 5 X 48,000 = 240,000 or (0003A980) sample pairs in 32-bit hexadecimal notation.
Sample Rate 316 occupies BP 33 to 36 and specifies the sample rate, in the number of sample pairs per second, of the audio data or media content. Exemplary Sample Rates 316 include 44.1 kHz, 48.0 kHz, 88.2 kHz, 96.0 kHz, and other rates.
Each track in the recording medium may be recorded in a different sample rate. In an embodiment of the invention, playback of each track occurs in the sample rate at which the track had been recorded. In an embodiment, the invention supports sample rates between 1 Hz and 4.3 GHz (gigahertz), but most commonly uses sample rates between 4 kHz and 200 kHz.
Word Length 318 occupies BP 37 to 40 and specifies the number of bits per sample. Exemplary word lengths include 16-bit, 20-bit, 24-bit, and other word lengths. In an embodiment, the invention supports word lengths between 1-bit and 4.3 Gb (gigabits), but most commonly uses word lengths between 1-bit and 32-bits. Each track in the recording medium may be recorded in a different word length. In an embodiment of the invention, playback of each track occurs in the word length at which the track had been recorded. Audio Pause Time 314, Sample Rate 316, and Word Length 318 may be recorded as 32-bit unsigned integer numbers. In an embodiment of the invention, Reserved For Future Specification 320 occupies BP 41 to 64, with bytes in this field set to (00).
Referring again to Figure 1, Checksum 104 specifies a checksum of the logical sector. In an embodiment of the invention, the checksum is the sum of all 32- bit words other than the last 32-bit word in the logical sector. Checksum 104 may be recorded as a 32-bit unsigned integer number. Referring to Figure 12, Playlist Record Area 1202 may be used for playlist backups of the method and system of the present invention. The Playlist Record Area 1202 allows for storage, retrieval, and use of additional information and features that are not available in pre-existing media file storage and playback technology. Figure 4
shows an exemplary layout of a Playlist Record Area sector. In an embodiment of the invention, each sector of the Playlist Record Area includes a Playlist Record Header Block 402, one or more Playlist Records 404, and a Checksum 406. Playlist Record Header Block 402 may occupy BP 1 to 64. Playlist Records 404 may occupy BP 65 to 2044, and Checksum 406 may occupy BP 2045 to 2048.
Figure 5 shows a detailed layout of an exemplary layout of a Playlist Record Header Block 402 according to an embodiment of the invention. Playlist Record Header Block 402 may include organization information such as Number of Tracks in Sector 504, First Track in Sector 506, Last Track in Sector 408, Playlist Record Offset 510, Playlist Record Size 512, Number of Tracks in Playlist 518, CD Number of Playlist 520, Number of CDs in Playlist 522, and other information. In an embodiment of the invention, Playlist Record Header Block 402 describes the playlist records located within that particular sector. Playlist Record Header 500 occupies BP 1 to 4 and specifies an indication of a Playlist Record Header. Playlist Record Header 500 may be of the hexadecimal notation (B000000B). Playlist Record
Version 502 occupies BP 5 to 8 and specifies a Playlist Record version number. Playlist Record Header 500 may be recorded as a 32-bit float number adhering to the specification of IEEE 754/854.
Number of Tracks in Sector 504 occupies BP 8 to 12 and specifies the number of audio files in the sector. First Track in Sector 506 occupies BP 13 to 16 and specifies the first Playlist Record number located within the sector. In an embodiment of the invention, Playlist Record numbers start from zero. Last Track in Sector 508 occupies BP 17 to 20 and specifies the last Playlist Record number located within the sector. Playlist Record Offset 510 occupies BP 21 to 24 and specifies the number of 32-bit words the first Playlist Record of this sector is offset from the start of the sector. Playlist Record Size 512 occupies BP 25 to 28 and specifies the size of a Playlist Record in the number of 32-bit words. Number of Tracks in Sector 504,
First Track in Sector 506, Last Track in Sector 508, Playlist Record Offset 510, and Playlist Record Size 512 may be recorded as 32-bit unsigned integer numbers.
Playlist Name Low Word 514 occupies BP 29 to 32 and specifies a low word of the playlist name. In an embodiment of the invention, the low word includes the first four characters of the name. Playlist Name High Word 516 occupies BP 33 to
36 and specifies a high word of the playlist name. In an embodiment of the invention, the high word consists of the last four characters of the name. Playlist Name Low Word 514 and Playlist Name High Word 516 may be m-character fields. Number of Tracks in Playlist 518 occupies BP 37 to 40 and specifies the number of tracks in the playlist. CD Number of Playlist 520 occupies BP 41 to 44 and specifies the CD number of the playlist. In an embodiment of the invention, CD numbers may start from zero. Number of CDs in Playlist 522 may occupy BP 45 to 48 and specifies the number of CDs associated with the playlist. The fields Number of Tracks in Playlist 518, CD Number of Playlist 520, and Number of CDs in Playlist 522 may be recorded as 32-bit unsigned integer numbers. Reserved For Future
Specification 524 may occupy BP 49 to 64, with bytes in this field set to (00).
Figure 6 shows a detailed layout for an exemplary Playlist Record 600 for media content according to an embodiment of the invention. Playlist Record 600 describes the playlist parameters of a piece of media content, such as but not limited to a particular audio track or media file. In an embodiment of the invention, Playlist
Record 600 may contain information related to DSP settings for the media content, such as crop, fade, compressor, equalizer, limiter, normalizer, and other settings.
In an embodiment of the invention, a value in any field in Playlist Record 600 may be used as a pointer into a data lookup table to determine the programmed setting, for instance a DSP setting, mapped to the value. In an embodiment, a field in
Playlist Record 600 may also be used in numerical calculations. For example, the parameter Fade Start 624, an unsigned 32-bit integer, may describe a fade-in at the beginning of a media file, with each integer value representing 10 milliseconds of
fade time. Therefore, for a one second fade-in time, the value may be set to 1 Second/1 OmS = 100, which would equal (00000064) in hexadecimal notation.
In an embodiment of the invention, Track Number 602 occupies BP 1 to 4 and specifies a track number for the audio file within the playlist. In an embodiment of the invention, track numbers may start from zero. Track Section 604 occupies BP 5 to 8 and specifies the section number of the track. Section numbers may also start from zero. Track Number 602 and Track Section 604 may be recorded as 32-bit unsigned integer numbers.
File Name Low Word 606 occupies BP 9 to 12 and specifies a low word of the file name. In an embodiment of the invention, the low word contains the first four characters of the name. File Name High Word 608 occupies BP 13 to 16 and specifies a high word of the file name. The high word contains the last four characters of the name. The characters in File Name Low Word 606 and File Name High Word 608 may be m-characters. Crop Start 610 occupies BP 17 to 20 and specifies a crop start point of the audio file. Crop End 612 occupies BP 21 to 24 and specifies a crop end point of the audio file. Padded Words 614 occupies BP 25 to 28 and specifies a Padded Words value for the audio file. Crop Start 610, Crop End 612, and Padded Words 614 may be recorded as 32-bit unsigned integer numbers. Track Flags 616 occupies BP 29 to 32 and specifies track flags for the audio file. Reserved for future specification 619 occupies BP 33 to 40 and may be set to (00). Track Gain 620 occupies BP 41 to 44 and specifies the track gain of the audio file. Fade Type 622 occupies BP 45 to 48 and specifies the fade type of the audio file. Fade Start 624 occupies BP 49 to 52 and specifies the fade start value of the audio file. Fade End 626 occupies BP 53 to 56 and specifies the fade end value of the audio file. Compressor Threshold 628 occupies BP 57 to 60 and specifies the compressor threshold value of the audio file. Compressor Gain 630 occupies BP 61 to 64 and specifies the compressor gain value of the audio file. Compressor Ratio
632 occupies BP 65 to 68 and specifies the compressor ratio value of the audio file. Track Flags 616, Track Gain 620, Fade Type 622, Fade Start 624, Fade End 626, Compressor Threshold 628, Compressor Gain 630, and Compressor Ratio 632 may be numerical values, such as but not limited to 32-bit unsigned unsigned integer numbers.
Compressor Attack 634 occupies BP 69 to 72 and specifies a compressor attack value for the audio file. Compressor Release 636 occupies BP 73 to 76 and specifies the compressor release value of the audio file. Compressor Key 638 occupies BP 77 to 80 and specifies a compressor key setting for the audio file. Compressor Knee 640 occupies BP 81 to 84 and specifies a compressor knee setting for the audio file. Compressor Detect 642 occupies BP 85 to 88 and specifies a compressor detect setting for the audio file. Compressor Meter 644 occupies BP 89 to 92 and specifies a compressor meter setting for the audio file. Compressor Bypass 646 occupies BP 93 to 96 and specifies the compressor bypass setting for the audio file. Compressor Attack 634, Compressor Release 636, Compressor Key 638,
Compressor Knee 640, Compressor Detect 642, Compressor Meter 644, and Compressor Bypass 646 may be stored as numerical values, such as but not limited to 32-bit unsigned integer numbers.
Equalizer Frequency 0 648 occupies BP 97 to 100 and specifies a first equalizer frequency setting of the audio file. Equalizer Level 0 650 occupies BP 101 to 104 and specifies a first equalizer level setting of the audio file. Equalizer Q 0 652 occupies BP 105 to 108 and specifies a first equalizer Q setting of the audio file. Equalizer Frequency 1 654 occupies BP 109 to 112 and specifies a second equalizer frequency setting of the audio file. Equalizer Level 1 656 occupies BP 113 to 116 and specifies a second equalizer level setting of the audio file. Equalizer Q 1 658 occupies BP 117 to 120 and specifies a second equalizer Q setting of the audio file. Equalizer Frequency 2 660 occupies BP 121 to 124 and specifies a third equalizer frequency setting of the audio file. Equalizer Level 2 662 occupies BP 125 to 128
and specifies a third equalizer level setting of the audio file. Equalizer Q 2 664 occupies BP 129 to 132 and specifies a third equalizer Q setting of the audio file. Equalizer Frequency 0 648, Equalizer Level 0 650, Equalizer Q 0 652, Equalizer Frequency 1 654, Equalizer Level 1 656, Equalizer Q 1 658, Equalizer Frequency 2 660, Equalizer Level 2 662, and Equalizer Q 2 664 may be stored as numerical values, such as but not limited to 32-bit unsigned integer numbers.
Equalizer Bypass 666 occupies BP 133 to 136 and specifies an equalizer bypass setting of the audio file. Limiter Threshold 668 occupies BP 137 to 140 and specifies a limiter threshold setting of the audio file. Limiter Output 670 occupies BP 141 to 144 and specifies a limiter output level setting of the audio file. Limiter
Release 672 occupies BP 145 to 148 and specifies a limiter release value of the audio file. Limiter Bypass 674 occupies BP 149 to 152 and specifies a limiter bypass setting of the audio file. Normalizer Level 676 occupies BP 153 to 156 and specifies a normalizer level of the audio file. Normalizer Bypass 678 occupies BP 157 to 160 and specifies a normalizer bypass setting of the audio file. Equalizer Bypass 666,
Limiter Threshold 668, Limiter Output 670, Limiter Release 672, Limiter Bypass 674, and Normalizer Bypass 678 may be stored as numerical values, such as but not limited to 32-bit unsigned integer numbers.
In an embodiment, Normalizer Level 676 may be recorded as a 32-bit floating point number under the IEEE 754/854 standard.
Reserved for future specification 680 occupies BP 161 to 180 and maybe set to (00).
Referring again to Figure 4, Checksum 406 may specify a checksum for the logical sector. In an embodiment of the invention, the checksum may be the sum of all 32-bit words other than the last 32-bit word of the logical sector. Checksum 406 may be recorded as a 32-bit unsigned integer number.
Figure 7 shows a detailed layout of an exemplary primary volume descriptor for the data area of a recording medium according to an embodiment of the invention.
Primary Volume descriptor 700 identifies the volume of the recording medium, such as but not limited to a CD. In an embodiment of the invention, Primary Volume descriptor 700 and all fields therein fulfill ISO 9660 specifications. System identifier 702 occupies BP 9 to 40 and specifies the identification of the system that can recognize and process data with the method and system of the present invention.
Characters in the Primary Volume descriptor 700 may be compliant with the ML- 9600 specifications. Application Identifier 704 occupies BP 575 to 702 and identifies the application and the version number. In an embodiment of the invention, the first four characters in the Application Identifier 704 may be "CD24"; the next four characters may be version number of the recording medium written as "X.xx". For example, a present version of CD24 may be 2.00, with the Application Identifier 704 therefore stored as "CD242.00".
Figure 8 shows a detailed layout of an exemplary supplementary volume descriptor for the data area of a recording medium according to an embodiment of the invention. In an embodiment of the invention, Supplementary Volume Descriptor
800 identifies the volume of the recording medium, such as but not limited to a CD, and adheres to ISO 9660 specifications. Each field may adhere to the ISO 9660 standard. System Identifier 802 occupies BP 9 to 40 and specifies the identification of the system that can recognize and process data associated with the recording medium of the invention. Characters in System Identifier 802 may be ML-9600.
Volume Identifier 804 occupies BP 41 to 72 and identifies the volume and the version number of the recording medium. In an embodiment of the invention, characters in this field may be "ML-9600 CD24 VX CX". The version number may replace the "X-xt". For example, a current version of the invention may be 2.00; thus, the Volume Identifier 804 may be "ML-9600 CD24 v2.00". Application Identifier 806 occupies BP 575 to 702 and identifies the application and the version number of the recording medium. In an embodiment of the invention, the first four characters in Application Identifier 806 may be "CD24". The next four characters may be the
version number of the CD24 written as "X-xc ". For example, the present version of the invention may be 2.00; thus, the present Application Identifier 806 would be "CD242.00".
In an embodiment of the invention, a root directory of the invention adheres to the ISO 9660 standard. Figure 9 shows a detailed layout of a directory record according to an embodiment of the present invention. A separate directory record 900 may be entered for each audio file on the recording medium. Each field in the directory record 900 may adhere to the ISO 9660 standard. Length of Directory Record (LENJDR) 902 occupies byte position 1 and may be recorded as a numerical value. Extended Attribute Record Length 904 occupies byte position 2 and specifies the length of the extended attribute record in bytes. In an embodiment of the invention, the extended attribute record is not used by the invention, and the number in this field is 0. Location of Extent 906 occupies BP 3 to 10 and may be stored as a numerical value. Data Length 908 occupies BP 11 to 18 and may also be stored as a numerical value. Recording Data and Time occupies BP 19 to 25 and may also be stored as a numerical value.
File Flags 912 occupies byte position 26 and specifies the file flags for this directory record. In an embodiment of the invention, all flags may be set to 0 in this field, and thus the number in this field shall be 0. File Unit Size 914 occupies byte position 27 and specifies the File Unit size for this directory record. File Unit Size
914 may be associated with the Interleaved mode. In an embodiment of the invention, the invention does not use interleaved mode, and thus the number in this field may be set to 0. Interleave Gap Size 916 occupies BP 28 and specifies the Interleave Gap size for this directory record. Interleave Gap Size 916 is also associated with the interleaved mode. The invention does not use interleaved mode, so the number in this field may be set to 0.
Volume Sequence Number 918 occupies BP 29 to 32 and may be stored as a numerical value. Length of File Identifier (LEN_FI) 920 occupies byte position 33
and may also be stored as a numerical value. File Identifier 922 occupies BP 34 to (33 + LEN_FI) and may be stored as d-characters. Padding Field 924 occupies BP 34 + LENJFI) and may be set to 0.
In an embodiment of the invention, BP (LENJDR - 14 + 1) to LEN JDR may be employed for a system use, such as but not limited to an Apple Extension. Apple
Signature 926 occupies BP (LENJDR - 14 + 1) to (LENJDR - 14 + 2) and specifies the Apple Signature. Apple Signature 926 may be set to "AA" or (4141). Extension Length 928 occupies BP (LENJDR - 14 + 3) and specifies the length of the Apple Extension in bytes. Extension Length 928 may be set to (0E). System Use ID 930 occupies BP (LENJDR - 14 + 4) and specifies the identification of the system associated with the invention. In an embodiment of the invention, System Use ID 930 is set to (02).
File Type 932 occupies BP (LENJDR - 14 + 5) to (LENJDR - 14 + 8) and specifies the Apple File Type. In an embodiment of the invention, File Type 932 may be set to AIFF, or (41494646). File Creator 934 occupies BP (LENJDR - 14 +
9) to (LENJDR - 14 + 12) and specifies the Apple File Creator. File Creator 934 may be set to "????" or (3F3F3F3F). Finder Flags 936 occupies BP (LENJDR - 14 + 13) to (LENJDR - 14 + 14) and specifies the Apple Finder Flags. In an embodiment of the invention, all flags may be set to 0, and this field may be set to (0000). Figure 10 shows a detailed layout of a Media File Header according to an embodiment of the invention. An example of a Media File Header is an Audio File Header. For instance, an audio files may be divided into an Audio File Header and Audio Data. The Audio File Header may occupy the first sector of the audio file. The Audio Data may start at the beginning of the second sector of the audio file. In an embodiment of the invention, Media File Header 1000 conforms to the
Audio Interchange File Format (AIFF). Common chunks and sound data chunks are commonly used in the AIFF, along with other optional chunks. Form Chunk - ID 1002 occupies BP 1 to 4 and specifies the identification of the Form Chunk. Form
Chunk - ID 1002 may be set to FORM. Form Chunk - Size 1004 occupies BP 5 to 8 and specifies the size in bytes of the audio file. The size does not include the Form Chunk. Form Chunk - Size 1004 may be recorded as a 32-bit integer number.
Form Chunk - Form Type 1006 occupies BP 9 to 12 and specifies the type of audio file format. In an embodiment of the invention, Form Chunk - Form Type
1006 may be set to AIFF. Common Chunk - ED 1008 occupies BP 13 to 16 and specifies the identification of the Common Chunk. In an embodiment of the invention, Common Chunk - ID 1008 may be set to COMM. Common Chunk - Size 1010 occupies BP 17 to 20 and specifies the size in bytes of the Common Chunk. This size does not include the Common Chunk - ID and the Common Chunk - Size and is set to 18, or (00000012).
Common Chunk - Number of Channels 1012 occupies BP 21 to 22 and specifies the number of channels in the audio or media. Common Chunk - Number of Channels 1012 may be set to 2, or (0002). Common Chunk - Number of Sample Frames 1014 occupies BP 23 to 26 and specifies the number of sample frames (pairs) in the audio. Common Chunk - Number of Sample Frames 1014 may be recorded as a 32-bit integer number.
Common Chunk - Sample Size 1016 occupies BP 27 to 28 and specifies the number of bits in an audio or media sample. Common Chunk - Sample Size 1016 may be recorded as a 16-bit integer number. Common Chunk - Sample Rate 1018 occupies BP 29 to 38 and specifies the sample rate, in number of sample pairs per second, of the audio or media. Common Chunk - Sample Rate 1018 may be recorded as an 80-bit IEEE Standard 754 floating point number.
Annotation Chunk - ID 1020 occupies BP 39 to 42 and specifies the identification of the Annotation Chunk. Annotation Chunk - ID 1020 may be set to
ANNO. Annotation Chunk - Size 1022 occupies BP 43 to 46 and specifies the size in bytes of the Annotation Chunk. The size does not include the Annotation Chunk -ID and the Annotation Chunk - Size and may be recorded as a 32-bit integer number.
Annotation Chunk - Text 1024 occupies BP 47 to 2032 and describes the annotation data, for example to include ancillary information in the associated file. The annotation chunk allows the invention to line up the audio data along a sector boundary for efficient reading of the audio data. In an embodiment of the invention, all characters in this field may be set to space, or (20).
Sound Chunk - ID 1026 occupies BP 2033 to 2036 and specifies the identification of the Sound Chunk. Sound Chunk - ID 1026 may be set to SSND. Sound Chunk - Size 1028 occupies BP 2037 to 2040 and specifies the size in bytes of the audio data and the Sound Chunk. The size of the Sound Chunk does not include the Sound Chunk - ID and the Sound Chunk - Size. Sound Chunk - Size 1028 may be recorded as a 32-bit integer number.
Sound Chunk - Offset 1030 occupies BP 2041 to 2044 and specifies the offset in bytes of the audio data from the end of the Media File Header or Audio File Header. Sound Chunk - Offset 1030 may be set to 0. Sound Chunk - Block Size 1032 occupies BP 2045 to 2048 and specifies the size of the block to which the audio data should align if an offset is used. In an embodiment of the invention, Sound Chunk - Block Size 1032 may be set to ZERO.
In an embodiment, a recording medium of the invention holds audio data in sectors following the media file header, for example following the sound chunk field. For example, the format of the audio data may be specified by the AIFF format and by other fields in the invention, such as the sound chunk information.
Although the invention has been described in conjunction with particular embodiments, it will be appreciated that various modifications and alterations may be made by those skilled in the art without departing from the spirit and scope of the invention. The invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.