Nothing Special   »   [go: up one dir, main page]

US20140105569A1 - System and method for play while recording processing - Google Patents

System and method for play while recording processing Download PDF

Info

Publication number
US20140105569A1
US20140105569A1 US14/140,269 US201314140269A US2014105569A1 US 20140105569 A1 US20140105569 A1 US 20140105569A1 US 201314140269 A US201314140269 A US 201314140269A US 2014105569 A1 US2014105569 A1 US 2014105569A1
Authority
US
United States
Prior art keywords
data file
file
computer
readable storage
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/140,269
Inventor
Jeffrey M. Chasen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US14/140,269 priority Critical patent/US20140105569A1/en
Publication of US20140105569A1 publication Critical patent/US20140105569A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B31/00Arrangements for the associated working of recording or reproducing apparatus with related apparatus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode

Definitions

  • the present system and method relate to the processing of data.
  • audio data for example, is being provided to the public through a wide variety of formats such as Compact Discs (CDs), Digital Video Discs (DVDs), MP3 files, WAV files, and so forth. This variety affords great flexibility for accessing audio data.
  • CDs Compact Discs
  • DVDs Digital Video Discs
  • MP3 files MP3 files
  • WAV files WAV files
  • Conventional recording approaches allow the user to convert a song from a CD to a variety of digital data formats that can then be stored on the user's computer. For example, a user may convert a song from an audio CD to an MP3 format using a variety of programs. It is common for a user to record a song from audio CD to digital data format. After the song has been recorded the user can listen to the song, for example, by using a computer and a program that plays the digital data format.
  • the present invention is a method for recording and playing data.
  • the method comprises incrementally recording a first set of data, and incrementally playing a second set of data wherein the incremental playing of the second set of data begins while incrementally recording the first set of data.
  • the play while record system comprises a first device, a second device, a record module configured to record on the second device a first stream representing a first set of data from the first device, and a play module configured to play a second stream representing a second set of data from the second device wherein the play module plays the second stream while the record module records the first stream.
  • Another embodiment of the present invention is a method for playing and simultaneously recording streams of audio data.
  • the method comprises receiving a first stream of audio data from a first set of audio data; encoding the first stream of audio data to produce a first encoded stream of audio data; encrypting the first encoded stream of audio data to produce a first encrypted, encoded stream of audio data; saving the first encrypted, encoded stream of data to a first data file in a first storage location; reading a second encrypted, encoded stream of audio data from a second data file in a second storage location wherein the reading of the second encrypted, encoded stream of audio data begins while encoding the first stream of audio data; decrypting the second encrypted, encoded stream of audio data to produce a second encoded stream of audio data; and using a streaming audio player to play the second encoded stream of audio data.
  • Another embodiment of the present invention is a method for playing and recording audio data at the same time.
  • the method comprises recording audio data and playing the recorded audio data wherein the playing of the recorded audio data begins while recording the audio data.
  • Another embodiment of the present invention is a method for processing audio data.
  • the method comprises stream recording audio data, and stream playing the recorded audio data wherein the stream playing of the stream recorded audio data begins before the stream recording of the audio data is finished.
  • Another embodiment of the present invention is a method for testing a CD-ROM drive to determine whether the CD-ROM drive can read fast enough to allow playable record, the method comprises, determining whether a CD-ROM drive has the capability to digitally extract data, determining whether the CD-ROM drive can digitally extract data above a threshold rate, and determining whether the CD-ROM drive can digitally extract without errors.
  • Another embodiment of the present invention is a method for testing a CD-ROM drive to determine whether the CD-ROM drive can digitally extract without errors.
  • the method comprises reading a set of data without using any error correction techniques and storing the first set of read data, reading the same set of data using at least one error correction technique and storing the second set of read data, comparing the first set of read data with the second set of read data, and determining whether differences between the first set of read data and the second set of read data exceed a threshold value.
  • FIG. 1 illustrates a high-level block diagram of one embodiment of the present invention.
  • FIG. 2 illustrates a high-level block diagram of one embodiment of the present invention showing the flow of information among the CD-ROM drive, the playable record module, and the encoded data database.
  • FIG. 3 illustrates a high-level block diagram of one embodiment of the present invention showing the flow of information at a single time instance among the CD-ROM drive, the playable record module, and the encoded data database.
  • FIG. 4 illustrates a flowchart of one embodiment of recording a file.
  • FIG. 5 illustrates a flowchart of one embodiment of playing a file.
  • FIG. 6 illustrates a flowchart of one embodiment of initializing the CD-ROM drive.
  • FIG. 7 illustrates a flowchart of one embodiment of determining whether to use error correction.
  • system and method are used to begin playing a recorded set of data before the recording of the set of data has been completed.
  • a playable record module 100 communicates with a CD-ROM drive 120 as well as an encoded data database (“EDD”) 130 .
  • the playable record module 100 includes two primary components, a record module 140 and a play module 150 .
  • the record module 140 includes a record process 145 ; and the play module 150 includes a play process 155 .
  • the playable record module 100 also includes a CD-ROM drive test process 160 . While the record module 140 and play module 150 are implemented as separate components, it is recognized that in other embodiments, the record module 140 and the play module 150 may be implemented as a single component. In addition, the playable record module 100 may also contain additional processes.
  • the present invention is not limited by the type of data to be played and recorded, and that the types of data include video, audio, audio-visual, slideshow, image, and text, the figures and descriptions relate to an embodiment of the invention using audio data.
  • the word module refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++.
  • a software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts.
  • Software instructions may be embedded in firmware, such as an EPROM.
  • hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
  • the modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
  • the playable record module 100 incrementally reads an audio CD file from the CD-ROM drive 120 ; converts the audio CD file into encoded data, incrementally stores the encoded data in the EDD 130 , and incrementally plays the encoded data.
  • the audio file is processed in incremental blocks.
  • the incremental blocks may vary in size and may be, for example, a set of 2358 bytes or 8192 bytes, as well as any other sizes of blocks.
  • FIG. 2 illustrates the flow of information for playing and recording a block of one audio file recorded from an audio CD file 210 .
  • the record module 140 reads a block of audio CD data 220 from the CD-ROM drive 120 .
  • the record module 140 encodes the block of data 230 .
  • the record module 140 encrypts the block of encoded data 240 .
  • the record module 140 writes the block of encrypted encoded data 250 to the EDD 130 .
  • the play module 150 in an event B 1 , reads the block of encrypted encoded data 260 from the EDD 130 .
  • the play module 150 decrypts the encrypted encoded block of data 270 .
  • the play module 150 “plays” the block of encoded data 280 .
  • FIG. 3 illustrates one embodiment of the playable record system at a single time instance that is recording an audio CD file 210 .
  • blocks 1-25 310 have already been recorded and written to the EDD 130 .
  • block 1 330 is being played by the play module 150 .
  • the user is listening to the song as it is being recorded.
  • This embodiment discloses a system that may begin playing after 25 blocks have been recorded. It will be recognized, however, that in other embodiments, the number of blocks that are recorded before the song begins “playing” may differ according to various factors such as CD-ROM drive speed, encoding type, encryption algorithm, file write speed, encoded database size and make, audio player type, as well as other factors.
  • the playable record module 100 may begin “playing” a block of the encoded data soon after the block has been recorded even if the entire audio CD file has not been completely recorded. This allows the play module 150 to play one block of encoded data as the record module 140 is recording another block of audio CD data. The system may play part of the same song it is recording.
  • the playable record module 100 is able to record an audio CD file in less time than it takes to play the encoded data file. Thus, by the time the encoded data file is finished playing, the record module 140 has finished recording the audio CD file, and, if desired, may have already begun recording another audio CD file.
  • the playable record module 100 allows the user to stop the recording of one audio CD file and begin the recording of another audio CD file.
  • the recorded portion of the first audio CD file is saved such that the user may resume recording the first audio CD file at a later time without having to “re-record” the portion of the audio CD file that has already been recorded.
  • the playable record module 100 determines what portion was already recorded and may resume recording where it left off.
  • the playable record module 100 does not require the user to wait as the songs are being recorded; the user has immediate and direct access to play the songs. For example, suppose a user chooses to listen to song A.
  • the playable record module 100 may play the encoded data file version of song A from the beginning as it resumes the recording where it left off. From the user's perspective, the recording occurs as the user listens to the music and does not require long periods of “wait” time.
  • the embodiment includes a playable record module 100 , a CD-ROM drive 120 , and an encoded data database 130 .
  • the playable record module 100 includes two primary modules, the record module 140 and the play module 150 . While the record module 140 and play module 150 are implemented as separate components, it is recognized that in other embodiments, the record module 140 and the play module 150 may be implemented as a single component.
  • FIG. 1 illustrates one embodiment of the record module 140 that records audio files from audio CD data to a variety of encoded data formats.
  • the record module 140 includes the record process 145 .
  • For a more detailed description on the record process 145 see the section below entitled “The Play While Recording Process—The Record Process.”
  • FIG. 1 illustrates one embodiment of the play module 150 that plays a song from an encrypted encoded data file.
  • the play module 150 includes the play process 155 .
  • For a more detailed description of the play process 155 see the section below entitled “The Play While Recording Process—The Play Process.”
  • the playable record module 100 records songs stored in audio files on a compact disc (CD) that is accessed through a standard CD-ROM drive 120 . While this embodiment records songs from a standard CD-ROM drive 120 , it is recognized that, in other embodiments, the songs may be recorded from other storage media such as, for example, a read/write CD drive, a Digital Video Disc (“DVD”) drive, a hard drive, remote storage via network or wireless connection, a download file connection, a streaming file connection, and so forth.
  • the data recorded may include other types of data in addition to audio data such as, for example, video, audio-visual, slide show, image, text, and so forth.
  • the system may include an encoded data database (“EDD”) 130 as illustrated in FIG. 1 .
  • EDD 130 maintains the encoded data files.
  • the EDD 130 may include information about the encoded data files, such as, for example, the name of the song, the size of the song, the artist name, the CD or album name, the playtime length, the encoded data format, the encryption type, and so forth.
  • the EDD 130 may include information about partially recorded data files, such as, for example, the name of the song, the size of the song, the number of bits/bytes/blocks recorded, the block size, the date of the last recording, and so forth.
  • the EDD 130 may include other information pertaining to the encoded data files.
  • the EDD 130 is implemented using CodeBase, a semi-relational database offered by Sequiter.
  • CodeBase is a high-speed xBase-compatible database engine that works with C/C++, Visual Basic, Delphi and Java under standalone and client/server environments.
  • the EDD 130 may be implemented using a different type of relational database, such as Sybase, Oracle, Microsoft® SQL Server, and so forth as well as other types of databases such as, for example, a flat file database, an entity-relationship database, and object-oriented database, a record-based database, and so forth.
  • the EDD 130 depicted in FIG. 1 is implemented as a single database, it is recognized that in other embodiments, the EDD 130 may be implemented as a set of databases or as other data structures well known in the art such as tables, trees, linked lists, and so forth.
  • the playable record module 100 includes a record module 140 with a record process 145 , a play module 150 with a play process 155 , and a CD-ROM drive test process 160 .
  • the record process 145 proceeds to an initialization state 420 .
  • the record Process 145 may obtain information about the CD-ROM drive 120 , the size of the music file, information about the song (e.g., title, artist, album, etc.), as well as other information.
  • This CD-ROM drive information may be obtained, for example, from the CD-ROM drive 120 , from a local database of CD-ROM drive information, from a remote database of CD-ROM drive information, from user input, and so forth.
  • the record process 145 may also calculate the number of blocks in the file, determine whether a portion of the file has already been recorded, determine the encoding format, determine the encryption format, and so forth.
  • the music file information may be obtained, for example, from the CD-ROM file, from a local database of CD information, from a remote database of CD information, from user input, and so forth.
  • the record process, 145 then proceeds to a get block state 430 , wherein the record process 145 reads the first block of audio CD data from the CD-ROM drive 120 and proceeds to an encode block state 440 .
  • the record process 145 may perform functions on the data (not shown). For example, the record process 145 may convert the block of data from analog to digital, use error correction techniques to condition the data, and so forth.
  • the record process 145 encodes the block using the appropriate encoding technique and proceeds to an encrypt block state 450 .
  • the encoding technique may be selected by the user, selected by the record process 145 , hard coded into the record module 140 , or determined by other modules.
  • the record process 145 translates the audio file into an encoded data format such as, for example, an MP3 file, a G2 file, a WAV file, an ACWMA file, and so forth.
  • the encoding process may use, for example, the Xing MP3 encoder, the RealProducer encoder, the WMA encoder, or a combination of various encoding techniques.
  • the encoding process may include encoding techniques that allow the record module 140 to encode in multiple file formats.
  • the user may elect to record into MP3 format for song A, G2 format for song B, and both MP3 format and G2 format for song C.
  • the record process 145 encrypts the block using the appropriate encryption technique and proceeds to a write block state 460 .
  • the encryption technique may be selected by the user, selected by the record process 145 , hard coded into the record module 140 ; or determined by other modules.
  • the record process 145 encrypts the encoded data to prevent unauthorized access. It is recognized that a variety of encryption techniques may be used. For example, the encryption process may use symmetric key encryption, asymmetric encryption, a combination of both symmetric encryption and asymmetric encryption, other methods of encryption, or no encryption at all. In addition, the encryption process may utilize multiple encryption techniques.
  • the encryption process uses well-known encryption algorithms such as the Counterpane Lab's Twofish encryption algorithm or Microsoft's Crypto API.
  • encryption For a detailed description on encryption, please refer to “Applied Cryptography: Protocols, Algorithms, and Source code in C, Second Edition,” by Bruce Schneier, published by John Wiley & Sons, 1996.
  • the record process 145 writes the block to a file in the EDD 130 and proceeds to a state 470 .
  • the record process 145 uses standard file writing techniques and identifies the portion of the encrypted encoded data that has been written to the file. It will be appreciated that a file pointer, byte offset, bit offset, or block offset, along with a file identifier may be used to identify the written portion. This information may be used by the record module 140 to finish recording a partially-recorded song.
  • the record process 145 determines whether it is at the end of the file. If not, the record process 145 proceeds to the get block state 430 and continues until it has recorded every block of the file. Once all blocks of the file have been recorded, the record process 145 proceeds to an end state 480 .
  • FIG. 4 illustrates a record process 145 that records an entire file
  • the record process 145 may be interrupted such that only a portion of the song is recorded.
  • the user may interrupt the record process 145 and the record process 145 may store information on the interrupted recording allowing the user to resume recording at a later time.
  • This interrupted recording information may include data such as, for example, the number of blocks recorded, the block size, the encoding technique, the encryption method, if any, the date recorded, and so forth.
  • FIG. 4 illustrates one embodiment of the record process 145 .
  • the record process 145 may be implemented in a different manner.
  • the record process 145 may be implemented in combination with one or more other process, and/or additional processes (not shown) may also be used by the record module 140 .
  • portions of the record process 145 may be omitted, such as, for example, the initialization state 420 and/or the encrypt block state 450 .
  • the play process 155 begins at a start state 510 . Beginning at a start state 510 , the play process 155 proceeds to a pre-roll state 520 . In the pre-roll state 520 , the play process 155 determines if enough blocks have been recorded such that the process may continue to an initialization state 530 . To determine whether enough blocks have been recorded to begin playback, the play process 155 may perform a database lookup of the type of encoding and encryption formats; the play process 155 may perform calculations in real-time; the play process 155 may attempt to fill a predesignated buffer; and so forth. In the initialization state 530 , the play process 155 retrieves information about the song such as, for example, the song title, artist, song length, CD, and so forth. Proceeding to a get block state 540 , the read process reads a block of data from the EDD 130 and proceeds to a decrypt block state 550 .
  • a pre-roll state 520 the play process 155 determines if enough blocks have been
  • the play process 155 decrypts the block of data using the appropriate decryption algorithm and proceeds to a play block state 560 .
  • the play process 155 may use one or more of a number of methods to determine the appropriate decryption algorithm that corresponds to the type of encryption algorithm used, such as, for example, storing the type of encryption used in the EDD 130 , naming the file with an encryption type code, implementing the playable record module 100 with a single encryption algorithm, and so forth.
  • the decryption process may utilize a variety of well-known decryption algorithms depending on how the data was encrypted.
  • the decryption process may use symmetric key decryption, asymmetric decryption, a combination of both symmetric decryption and 5 asymmetric decryption, other methods of decryption, or no decryption at all.
  • the decryption process may utilize multiple decryption techniques allowing the play module 150 to decrypt different types of encrypted data.
  • the decryption process uses well-known decryption algorithms such as the Counterpane Lab's Twofish decryption algorithm or Microsoft's Crypto API.
  • the play process 155 plays the encoded block of data using the appropriate audio file player and proceeds to a state 570 .
  • the play process 155 may use a number of methods to determine the appropriate audio file player that corresponds to the type of encoding technique used, such as, for example, storing the type of encoding technique used in the EDD 130 , naming the file with an encoding technique code, implementing the playable record module 100 with a single encoding technique, and so forth.
  • the play process 155 may recognize a variety of encoding formats and may utilize one or more encoded data players that decode and play different encoded formats. This allows the play process 155 to play songs that have been recorded in different formats.
  • the play process 155 may recognize various encoded data formats such as, for example, MP3, 02, WAV, ACWMA, and so forth. For example, the play process 155 may recognize that a song is in a G2 format and use the RealAudio Player, by RealNetworks, Inc., to decode and play the encoded data. While multiple encoding formats are utilized in this embodiment, it is recognized that in some embodiments a single encoding format may be used.
  • the play process 155 determines whether it has reached the end of the file. If not, the play process 155 proceeds to the get block state 540 and reads another block of data from the file. Once the entire song has been played, the play process 155 proceeds to an end state 580 .
  • FIG. 5 illustrates one embodiment of a play process 155 that plays an entire file.
  • the play process 155 may be interrupted by the user such that only a portion of the song is played.
  • FIG. 5 illustrates one embodiment of the play process 155 .
  • the play process 155 may be implemented in a different manner.
  • the play process 155 may be implemented in combination with one or more other processes, and/or additional processes (not shown) may also be used by the play module 150 .
  • portions of the play process 155 may be omitted, such as, for example, the decrypt block state 550 , the pre-roll state 520 , and/or the initialization block state 530 .
  • the play process 155 may be triggered by the record state 520 once enough blocks were recorded such that the pre-roll state 520 may be omitted.
  • the pre-roll process may be included as part of the record process 145 , as part of an independent process, or as part of a different module.
  • the initialization state 530 may be executed before the pre-roll state 520 .
  • the record module 140 may record blocks of size X while the play module 150 uses blocks of size Y. In another embodiment, both the record module 140 and the play module 150 may record and play blocks of size Z.
  • the playable record module 100 includes a CD-ROM drive test process (“test process”) 160 .
  • the test process 160 queries the CD-ROM drive 120 to determine whether or not the CD-ROM drive 120 is capable of providing data at a rate that allows the record process 145 to run at least as fast as the play process 155 .
  • the test process 160 may perform several tests to set various flags that can be used by the playable record module 100 . For example, the test process 160 determines whether or not the CD-ROM drive 120 can handle digital extraction. If so, then the record module 140 may perform as illustrated in FIG. 4 . If not, then the record module 140 may have to perform an analog to digital conversion before the block of data can be encoded and encrypted.
  • the record process 145 may, by default, attempt to convert from analog to digital until it recognizes the data as digital data, and so forth.
  • FIG. 6 is a flowchart representing states comprising one embodiment of the test process 160 .
  • the test process 160 proceeds to a state 620 , wherein the test process 160 determines whether the CD-ROM drive 120 is capable of handling digital extraction. Such determination may be made, for example, using a database look up of the CD-ROM drive 120 model and make, short run time tests, as well as a variety of other methods. If the CD-ROM drive 120 is capable of handling digital extraction, then the test process 160 proceeds to a state 630 ; if not, then the test process 160 sets the “Digital” flag to NO in a state 640 . In the state 630 , the test process 160 determines whether the CD-ROM drive 120 can extract fast enough to permit playing while recording.
  • test process 160 determines whether the CD-ROM drive 120 can extract without errors.
  • FIG. 7 One embodiment of an error determination process is illustrated in FIG. 7 and is described below. If the CD-ROM drive 120 can extract without errors, then the test process 160 proceeds to a state 670 , wherein the “Error Correction” flag is set to YES, and the test process 160 proceeds to an end state 690 . If the CD-ROM drive 120 cannot extract without errors, the test process 160 proceeds to a state 680 wherein the “Error Correction” flag is set to NO and the test process 160 then proceeds to the end state 690 .
  • FIG. 7 is a flow chart representing states comprising one embodiment of the error determination process. Beginning at a start state 710 , the error determination process proceeds to a state 720 wherein the error determination process reads N blocks of data without using any error correction mode and then proceeds to a state 730 . In the state 730 , the error determination process reads the same N blocks of data with error correction mode and proceeds to a state 740 . In the state 740 , the error determination process compares the first set of data with the second set of data and proceeds to a state 750 . In the state 750 , the error determination process checks to see if there is a difference between the first set of data and the second set of data.
  • the error determination process assumes that there is an error and proceeds to a state 760 wherein the “Error Correction” flag is set to YES, and the error determination process proceeds to an end state 780 . Otherwise, if there is no difference, then the error determination process assumes that there are no errors and proceeds to a state 770 wherein the “Error Correction” flag is set to NO. The error determination process then proceeds to an end state 780 . It is recognized other embodiments may use different methods of determining whether or not error correction should be used.
  • process 160 it will have been determined whether or not the CD-ROM drive 120 ban handle digital extraction fast enough and whether or not error correction is allowed. If the CD-ROM drive 120 can perform digital extraction fast enough and error correction is allowed, then the CD-ROM drive 120 may support the playable record process 145 . If the CD-ROM drive 120 can not perform digital extraction fast enough and error correction is not allowed, then the CD-ROM drive 120 may not support the playable record process 145 .
  • test process 160 may be run a single time prior to play and record operations, each time a new playable record module 100 is installed, and/or when a new CD-ROM drive 120 is added to the system. While, in this embodiment, the test process 160 is part of the playable record module 100 , it is recognized that in other embodiments the test process 160 may be part of another module such as the installation module and so forth.
  • test process for a CD-ROM drive
  • similar test processes may be used in conjunction with other types of CD-ROM drives as well as other media with the goal being to assess sufficient digital extraction speed and error corrections capability.
  • the other types of media may include, for example, read/write CD drives, DVD drives, hard disk, remote storage via network or wireless connection, and so forth.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

A system and method of the present invention allow the playback of recorded data as the data is being recorded. Data is read from a source location, converted into an encoded format and stored in a database. At the same time, the stored data is read from the database, and played as the data is being recorded.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 11/175,622 filed on Jul. 5, 2005 and issued on Apr. 12, 2011 as U.S. Pat. No. 7,925,137, which is a continuation of U.S. patent application Ser. No. 09/594,988, filed Apr. 14, 2000 and issued on Aug. 30, 2005 as U.S. Pat. No. 6,937,814, both of which are entitled “SYSTEM AND METHOD FOR PLAY WHILE RECORDING PROCESSING,” and which are herein incorporated by reference in their entirety.
  • FIELD OF THE INVENTION
  • The present system and method relate to the processing of data.
  • BACKGROUND
  • The increase in the use of digital technology as well as the vast improvements in encoding and decoding technology have led to a high demand for audio, video, and other types of data. In response to this demand, audio data, for example, is being provided to the public through a wide variety of formats such as Compact Discs (CDs), Digital Video Discs (DVDs), MP3 files, WAV files, and so forth. This variety affords great flexibility for accessing audio data.
  • While this flexibility allows users to listen to, receive, and use data, such as music data, using a variety of format systems, it is inconvenient for the user to obtain multiple copies of the same data in differing formats. For example, a user may have a song on an audio CD that he wants to listen to using his MP3 player. The user must first convert the song from CD to MP3 format or obtain a copy of the song in both formats.
  • Conventional recording approaches allow the user to convert a song from a CD to a variety of digital data formats that can then be stored on the user's computer. For example, a user may convert a song from an audio CD to an MP3 format using a variety of programs. It is common for a user to record a song from audio CD to digital data format. After the song has been recorded the user can listen to the song, for example, by using a computer and a program that plays the digital data format.
  • One common problem is that conventional recording approaches require tediously long time periods, forcing the user to wait for the recording to finish before being allowed to listen to the song. For a user that wants to record several of his audio CDs, it may take hours for the user to convert all of the songs on the audio CDs into digital data format.
  • Another common problem is that conventional approaches require the user to completely finish recording a song before beginning to record a different song or set of songs. If the user interrupts the recording before it is complete, all of the recorded data is lost and the user must start from the beginning
  • SUMMARY OF THE INVENTION
  • In one embodiment, the present invention is a method for recording and playing data. The method comprises incrementally recording a first set of data, and incrementally playing a second set of data wherein the incremental playing of the second set of data begins while incrementally recording the first set of data.
  • Another embodiment of the present invention is a play while record system. The play while record system comprises a first device, a second device, a record module configured to record on the second device a first stream representing a first set of data from the first device, and a play module configured to play a second stream representing a second set of data from the second device wherein the play module plays the second stream while the record module records the first stream.
  • Another embodiment of the present invention is a method for playing and simultaneously recording streams of audio data. The method comprises receiving a first stream of audio data from a first set of audio data; encoding the first stream of audio data to produce a first encoded stream of audio data; encrypting the first encoded stream of audio data to produce a first encrypted, encoded stream of audio data; saving the first encrypted, encoded stream of data to a first data file in a first storage location; reading a second encrypted, encoded stream of audio data from a second data file in a second storage location wherein the reading of the second encrypted, encoded stream of audio data begins while encoding the first stream of audio data; decrypting the second encrypted, encoded stream of audio data to produce a second encoded stream of audio data; and using a streaming audio player to play the second encoded stream of audio data.
  • Another embodiment of the present invention is a method for playing and recording audio data at the same time. The method comprises recording audio data and playing the recorded audio data wherein the playing of the recorded audio data begins while recording the audio data.
  • Another embodiment of the present invention is a method for processing audio data. The method comprises stream recording audio data, and stream playing the recorded audio data wherein the stream playing of the stream recorded audio data begins before the stream recording of the audio data is finished.
  • Another embodiment of the present invention is a method for testing a CD-ROM drive to determine whether the CD-ROM drive can read fast enough to allow playable record, the method comprises, determining whether a CD-ROM drive has the capability to digitally extract data, determining whether the CD-ROM drive can digitally extract data above a threshold rate, and determining whether the CD-ROM drive can digitally extract without errors.
  • Another embodiment of the present invention is a method for testing a CD-ROM drive to determine whether the CD-ROM drive can digitally extract without errors. The method comprises reading a set of data without using any error correction techniques and storing the first set of read data, reading the same set of data using at least one error correction technique and storing the second set of read data, comparing the first set of read data with the second set of read data, and determining whether differences between the first set of read data and the second set of read data exceed a threshold value.
  • For purposes of summarizing the invention, certain aspects, advantages, and novel features of the invention are described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a high-level block diagram of one embodiment of the present invention.
  • FIG. 2 illustrates a high-level block diagram of one embodiment of the present invention showing the flow of information among the CD-ROM drive, the playable record module, and the encoded data database.
  • FIG. 3 illustrates a high-level block diagram of one embodiment of the present invention showing the flow of information at a single time instance among the CD-ROM drive, the playable record module, and the encoded data database.
  • FIG. 4 illustrates a flowchart of one embodiment of recording a file.
  • FIG. 5 illustrates a flowchart of one embodiment of playing a file.
  • FIG. 6 illustrates a flowchart of one embodiment of initializing the CD-ROM drive.
  • FIG. 7 illustrates a flowchart of one embodiment of determining whether to use error correction.
  • DETAILED DESCRIPTION
  • A system and method which represent one embodiment and an example application of the invention will now be described with reference to the drawings.
  • Variations to the system and method which represent other embodiments will also be described. In one disclosed embodiment, the system and method are used to begin playing a recorded set of data before the recording of the set of data has been completed.
  • For purposes of illustration, one embodiment will be described in the context of playable record system that records files from a CD-ROM drive into an encoded data format and may begin playing the recorded files using an audio playback system, such as, for example, RealJukebox™, even before the recording has finished. While the inventors contemplate that the present invention is not limited by the type of data that is recorded and played and that the types of data may include video, audio, audio-visual, slideshow, image and text, and so forth, the figures and descriptions relate to an embodiment of the invention using audio data. Furthermore, the details of the playable record system and of specific implementations are set forth in order to illustrate, and not to limit, the invention. The scope of the invention is defined by the appended claims.
  • These and other features will now be described with reference to the drawings summarized above. The drawings and the associated descriptions are provided to illustrate embodiments of the invention, and not to limit the scope of the invention. Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. In addition, the first digit of each reference number indicates the figure in which the element first appears.
  • I. OVERVIEW
  • An overview of one embodiment of a playable record system is shown in FIG. 1. In that embodiment, a playable record module 100 communicates with a CD-ROM drive 120 as well as an encoded data database (“EDD”) 130. In addition, the playable record module 100 includes two primary components, a record module 140 and a play module 150. The record module 140 includes a record process 145; and the play module 150 includes a play process 155. The playable record module 100 also includes a CD-ROM drive test process 160. While the record module 140 and play module 150 are implemented as separate components, it is recognized that in other embodiments, the record module 140 and the play module 150 may be implemented as a single component. In addition, the playable record module 100 may also contain additional processes. As indicated above, while the inventors contemplate that the present invention is not limited by the type of data to be played and recorded, and that the types of data include video, audio, audio-visual, slideshow, image, and text, the figures and descriptions relate to an embodiment of the invention using audio data.
  • As used herein, the word module, whether in upper or lower case letters, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, C++. A software module may be compiled and linked into an executable program, or installed in a dynamic link library, or may be written in an interpretive language such as BASIC. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware.
  • In one embodiment, the playable record module 100 incrementally reads an audio CD file from the CD-ROM drive 120; converts the audio CD file into encoded data, incrementally stores the encoded data in the EDD 130, and incrementally plays the encoded data. In this embodiment, the audio file is processed in incremental blocks. The incremental blocks may vary in size and may be, for example, a set of 2358 bytes or 8192 bytes, as well as any other sizes of blocks.
  • FIG. 2 illustrates the flow of information for playing and recording a block of one audio file recorded from an audio CD file 210. With reference to an event A1, the record module 140 reads a block of audio CD data 220 from the CD-ROM drive 120. In an event A2, the record module 140 encodes the block of data 230. Next, in an event A3, the record module 140 encrypts the block of encoded data 240. In an event A4, the record module 140 writes the block of encrypted encoded data 250 to the EDD 130. At some time after the block has been recorded, the play module 150, in an event B1, reads the block of encrypted encoded data 260 from the EDD 130. Next, in an event B2, the play module 150 decrypts the encrypted encoded block of data 270. In an event B3, the play module 150 “plays” the block of encoded data 280.
  • FIG. 3 illustrates one embodiment of the playable record system at a single time instance that is recording an audio CD file 210. In that embodiment, blocks 1-25 310 have already been recorded and written to the EDD 130. As block 26 320 is being recorded by the record module 140, block 1 330 is being played by the play module 150. The user is listening to the song as it is being recorded. This embodiment discloses a system that may begin playing after 25 blocks have been recorded. It will be recognized, however, that in other embodiments, the number of blocks that are recorded before the song begins “playing” may differ according to various factors such as CD-ROM drive speed, encoding type, encryption algorithm, file write speed, encoded database size and make, audio player type, as well as other factors.
  • One benefit of this embodiment is that the playable record module 100 may begin “playing” a block of the encoded data soon after the block has been recorded even if the entire audio CD file has not been completely recorded. This allows the play module 150 to play one block of encoded data as the record module 140 is recording another block of audio CD data. The system may play part of the same song it is recording.
  • Another benefit of this embodiment is that the playable record module 100 is able to record an audio CD file in less time than it takes to play the encoded data file. Thus, by the time the encoded data file is finished playing, the record module 140 has finished recording the audio CD file, and, if desired, may have already begun recording another audio CD file.
  • An additional benefit of this embodiment is that the playable record module 100 allows the user to stop the recording of one audio CD file and begin the recording of another audio CD file. The recorded portion of the first audio CD file is saved such that the user may resume recording the first audio CD file at a later time without having to “re-record” the portion of the audio CD file that has already been recorded. When the user elects to return to the first audio CD file, the playable record module 100 determines what portion was already recorded and may resume recording where it left off.
  • Another benefit of this embodiment is that the playable record module 100 does not require the user to wait as the songs are being recorded; the user has immediate and direct access to play the songs. For example, suppose a user chooses to listen to song A.
  • As the user listens to song A, the user is actually listening to the encoded data file version of song A as song A is being recorded from the audio CD file version of song A to the encoded data file version of song A. Next, suppose the user chooses to stop listening to song A and selects song B instead. As the user listens to the song B, the user is actually listening to the encoded data file version of B as song B is being recorded from the audio CD file version Of song B to the encoded data file version of song B. If the user then returns to listen to song A, the playable record module 100 may play the encoded data file version of song A from the beginning as it resumes the recording where it left off. From the user's perspective, the recording occurs as the user listens to the music and does not require long periods of “wait” time.
  • II. IMPLEMENTATION OF A PLAYABLE RECORD MODULE
  • This section provides further description of one embodiment of a system that plays while recording as shown in FIG. 1. The embodiment includes a playable record module 100, a CD-ROM drive 120, and an encoded data database 130.
  • A. Playable Record Module
  • The playable record module 100 includes two primary modules, the record module 140 and the play module 150. While the record module 140 and play module 150 are implemented as separate components, it is recognized that in other embodiments, the record module 140 and the play module 150 may be implemented as a single component.
  • 1. Record Module
  • FIG. 1 illustrates one embodiment of the record module 140 that records audio files from audio CD data to a variety of encoded data formats. The record module 140 includes the record process 145. For a more detailed description on the record process 145, see the section below entitled “The Play While Recording Process—The Record Process.”
  • 2. Play Module
  • FIG. 1 illustrates one embodiment of the play module 150 that plays a song from an encrypted encoded data file. The play module 150 includes the play process 155. For a more detailed description of the play process 155, see the section below entitled “The Play While Recording Process—The Play Process.”
  • B. CD-ROM Drive
  • In one embodiment, the playable record module 100 records songs stored in audio files on a compact disc (CD) that is accessed through a standard CD-ROM drive 120. While this embodiment records songs from a standard CD-ROM drive 120, it is recognized that, in other embodiments, the songs may be recorded from other storage media such as, for example, a read/write CD drive, a Digital Video Disc (“DVD”) drive, a hard drive, remote storage via network or wireless connection, a download file connection, a streaming file connection, and so forth. In addition, the data recorded may include other types of data in addition to audio data such as, for example, video, audio-visual, slide show, image, text, and so forth.
  • C. Encoded Data Database
  • In one embodiment, the system may include an encoded data database (“EDD”) 130 as illustrated in FIG. 1. In this embodiment, EDD 130 maintains the encoded data files. Furthermore, the EDD 130 may include information about the encoded data files, such as, for example, the name of the song, the size of the song, the artist name, the CD or album name, the playtime length, the encoded data format, the encryption type, and so forth. In addition, the EDD 130 may include information about partially recorded data files, such as, for example, the name of the song, the size of the song, the number of bits/bytes/blocks recorded, the block size, the date of the last recording, and so forth. The EDD 130 may include other information pertaining to the encoded data files.
  • In connection with the EDD 130, in one embodiment, there may be several processes (not shown) such as ID generators, number generators, statistic generators, and so forth that work in concert with the database.
  • In one embodiment, the EDD 130 is implemented using CodeBase, a semi-relational database offered by Sequiter. CodeBase is a high-speed xBase-compatible database engine that works with C/C++, Visual Basic, Delphi and Java under standalone and client/server environments. It is recognized that the EDD 130 may be implemented using a different type of relational database, such as Sybase, Oracle, Microsoft® SQL Server, and so forth as well as other types of databases such as, for example, a flat file database, an entity-relationship database, and object-oriented database, a record-based database, and so forth. Moreover, while the EDD 130 depicted in FIG. 1 is implemented as a single database, it is recognized that in other embodiments, the EDD 130 may be implemented as a set of databases or as other data structures well known in the art such as tables, trees, linked lists, and so forth.
  • III. THE PLAYABLE RECORD MODULE PROCESSES
  • The playable record module 100 includes a record module 140 with a record process 145, a play module 150 with a play process 155, and a CD-ROM drive test process 160.
  • A. The Record Process
  • One embodiment of the record process 145 is illustrated in FIG. 4. Beginning at a start state 410, the record process 145 proceeds to an initialization state 420. During the initialization state 420, the record Process 145 may obtain information about the CD-ROM drive 120, the size of the music file, information about the song (e.g., title, artist, album, etc.), as well as other information. This CD-ROM drive information may be obtained, for example, from the CD-ROM drive 120, from a local database of CD-ROM drive information, from a remote database of CD-ROM drive information, from user input, and so forth. The record process 145 may also calculate the number of blocks in the file, determine whether a portion of the file has already been recorded, determine the encoding format, determine the encryption format, and so forth. The music file information may be obtained, for example, from the CD-ROM file, from a local database of CD information, from a remote database of CD information, from user input, and so forth. The record process, 145 then proceeds to a get block state 430, wherein the record process 145 reads the first block of audio CD data from the CD-ROM drive 120 and proceeds to an encode block state 440.
  • In one embodiment, the record process 145 may perform functions on the data (not shown). For example, the record process 145 may convert the block of data from analog to digital, use error correction techniques to condition the data, and so forth.
  • In the encode block state 440, the record process 145 encodes the block using the appropriate encoding technique and proceeds to an encrypt block state 450. The encoding technique may be selected by the user, selected by the record process 145, hard coded into the record module 140, or determined by other modules. In one embodiment, the record process 145 translates the audio file into an encoded data format such as, for example, an MP3 file, a G2 file, a WAV file, an ACWMA file, and so forth. In one embodiment, the encoding process may use, for example, the Xing MP3 encoder, the RealProducer encoder, the WMA encoder, or a combination of various encoding techniques. In addition, the encoding process may include encoding techniques that allow the record module 140 to encode in multiple file formats. For example, the user may elect to record into MP3 format for song A, G2 format for song B, and both MP3 format and G2 format for song C.
  • In the encrypt block state 450, the record process 145 encrypts the block using the appropriate encryption technique and proceeds to a write block state 460. The encryption technique may be selected by the user, selected by the record process 145, hard coded into the record module 140; or determined by other modules. In one embodiment, the record process 145 encrypts the encoded data to prevent unauthorized access. It is recognized that a variety of encryption techniques may be used. For example, the encryption process may use symmetric key encryption, asymmetric encryption, a combination of both symmetric encryption and asymmetric encryption, other methods of encryption, or no encryption at all. In addition, the encryption process may utilize multiple encryption techniques. In one embodiment, the encryption process uses well-known encryption algorithms such as the Counterpane Lab's Twofish encryption algorithm or Microsoft's Crypto API. For a detailed description on encryption, please refer to “Applied Cryptography: Protocols, Algorithms, and Source code in C, Second Edition,” by Bruce Schneier, published by John Wiley & Sons, 1996.
  • In the write block state 460, the record process 145 writes the block to a file in the EDD 130 and proceeds to a state 470. In one embodiment, the record process 145 uses standard file writing techniques and identifies the portion of the encrypted encoded data that has been written to the file. It will be appreciated that a file pointer, byte offset, bit offset, or block offset, along with a file identifier may be used to identify the written portion. This information may be used by the record module 140 to finish recording a partially-recorded song.
  • In the state 470, the record process 145 determines whether it is at the end of the file. If not, the record process 145 proceeds to the get block state 430 and continues until it has recorded every block of the file. Once all blocks of the file have been recorded, the record process 145 proceeds to an end state 480.
  • It is recognized that while FIG. 4 illustrates a record process 145 that records an entire file, in one embodiment, the record process 145 may be interrupted such that only a portion of the song is recorded. For example, the user may interrupt the record process 145 and the record process 145 may store information on the interrupted recording allowing the user to resume recording at a later time. This interrupted recording information may include data such as, for example, the number of blocks recorded, the block size, the encoding technique, the encryption method, if any, the date recorded, and so forth.
  • FIG. 4 illustrates one embodiment of the record process 145. In other embodiments, the record process 145 may be implemented in a different manner. For example, in other embodiments the record process 145 may be implemented in combination with one or more other process, and/or additional processes (not shown) may also be used by the record module 140. In addition, in other embodiments, portions of the record process 145 may be omitted, such as, for example, the initialization state 420 and/or the encrypt block state 450.
  • B. The Play Process
  • One embodiment of the play process 155 is illustrated in FIG. 5. Beginning at a start state 510, the play process 155 proceeds to a pre-roll state 520. In the pre-roll state 520, the play process 155 determines if enough blocks have been recorded such that the process may continue to an initialization state 530. To determine whether enough blocks have been recorded to begin playback, the play process 155 may perform a database lookup of the type of encoding and encryption formats; the play process 155 may perform calculations in real-time; the play process 155 may attempt to fill a predesignated buffer; and so forth. In the initialization state 530, the play process 155 retrieves information about the song such as, for example, the song title, artist, song length, CD, and so forth. Proceeding to a get block state 540, the read process reads a block of data from the EDD 130 and proceeds to a decrypt block state 550.
  • In the decrypt block state 550, the play process 155 decrypts the block of data using the appropriate decryption algorithm and proceeds to a play block state 560. The play process 155 may use one or more of a number of methods to determine the appropriate decryption algorithm that corresponds to the type of encryption algorithm used, such as, for example, storing the type of encryption used in the EDD 130, naming the file with an encryption type code, implementing the playable record module 100 with a single encryption algorithm, and so forth. In one embodiment, the decryption process may utilize a variety of well-known decryption algorithms depending on how the data was encrypted. For example, the decryption process may use symmetric key decryption, asymmetric decryption, a combination of both symmetric decryption and 5 asymmetric decryption, other methods of decryption, or no decryption at all. In addition, the decryption process may utilize multiple decryption techniques allowing the play module 150 to decrypt different types of encrypted data. In one embodiment, the decryption process uses well-known decryption algorithms such as the Counterpane Lab's Twofish decryption algorithm or Microsoft's Crypto API.
  • In the play block state 560, the play process 155 plays the encoded block of data using the appropriate audio file player and proceeds to a state 570. The play process 155 may use a number of methods to determine the appropriate audio file player that corresponds to the type of encoding technique used, such as, for example, storing the type of encoding technique used in the EDD 130, naming the file with an encoding technique code, implementing the playable record module 100 with a single encoding technique, and so forth. In one embodiment, the play process 155 may recognize a variety of encoding formats and may utilize one or more encoded data players that decode and play different encoded formats. This allows the play process 155 to play songs that have been recorded in different formats. The play process 155 may recognize various encoded data formats such as, for example, MP3, 02, WAV, ACWMA, and so forth. For example, the play process 155 may recognize that a song is in a G2 format and use the RealAudio Player, by RealNetworks, Inc., to decode and play the encoded data. While multiple encoding formats are utilized in this embodiment, it is recognized that in some embodiments a single encoding format may be used.
  • In the state 570, the play process 155 determines whether it has reached the end of the file. If not, the play process 155 proceeds to the get block state 540 and reads another block of data from the file. Once the entire song has been played, the play process 155 proceeds to an end state 580.
  • FIG. 5 illustrates one embodiment of a play process 155 that plays an entire file. In another embodiment, the play process 155 may be interrupted by the user such that only a portion of the song is played.
  • It is recognized that FIG. 5 illustrates one embodiment of the play process 155. In other embodiments, the play process 155 may be implemented in a different manner. For example, in other embodiments, the play process 155 may be implemented in combination with one or more other processes, and/or additional processes (not shown) may also be used by the play module 150. In addition, in other embodiments, portions of the play process 155 may be omitted, such as, for example, the decrypt block state 550, the pre-roll state 520, and/or the initialization block state 530. For example, the play process 155 may be triggered by the record state 520 once enough blocks were recorded such that the pre-roll state 520 may be omitted. In another embodiment, the pre-roll process may be included as part of the record process 145, as part of an independent process, or as part of a different module. Furthermore, the initialization state 530 may be executed before the pre-roll state 520.
  • It is also recognized that while both the record process 145 and the play process 155 process music files incrementally, it is not necessary that the increments of data are the same size. For example, in one embodiment, the record module 140 may record blocks of size X while the play module 150 uses blocks of size Y. In another embodiment, both the record module 140 and the play module 150 may record and play blocks of size Z.
  • C. CD-ROM Drive Test Process
  • In one embodiment, the playable record module 100 includes a CD-ROM drive test process (“test process”) 160. The test process 160 queries the CD-ROM drive 120 to determine whether or not the CD-ROM drive 120 is capable of providing data at a rate that allows the record process 145 to run at least as fast as the play process 155. The test process 160 may perform several tests to set various flags that can be used by the playable record module 100. For example, the test process 160 determines whether or not the CD-ROM drive 120 can handle digital extraction. If so, then the record module 140 may perform as illustrated in FIG. 4. If not, then the record module 140 may have to perform an analog to digital conversion before the block of data can be encoded and encrypted. While this embodiment uses “Digital” and “Error Correction” flags in the test process 160, it is recognized that in other embodiments, other flags and/or methods may be used. For example, the record process 145 may, by default, attempt to convert from analog to digital until it recognizes the data as digital data, and so forth.
  • FIG. 6 is a flowchart representing states comprising one embodiment of the test process 160. Beginning at a start state 610, the test process 160 proceeds to a state 620, wherein the test process 160 determines whether the CD-ROM drive 120 is capable of handling digital extraction. Such determination may be made, for example, using a database look up of the CD-ROM drive 120 model and make, short run time tests, as well as a variety of other methods. If the CD-ROM drive 120 is capable of handling digital extraction, then the test process 160 proceeds to a state 630; if not, then the test process 160 sets the “Digital” flag to NO in a state 640. In the state 630, the test process 160 determines whether the CD-ROM drive 120 can extract fast enough to permit playing while recording. If the CD-ROM drive 120 is not fast enough, the test process 160 proceeds to the state 640, sets the “Digital” flag to NO, and proceeds to a state 680. If the CD-ROM drive 120 is fast enough, the test process 160 proceeds to a state 650, sets the “Digital” flag to YES, and proceeds to a state 660. In state 660, the test process 160 determines whether the CD-ROM drive 120 can extract without errors.
  • One embodiment of an error determination process is illustrated in FIG. 7 and is described below. If the CD-ROM drive 120 can extract without errors, then the test process 160 proceeds to a state 670, wherein the “Error Correction” flag is set to YES, and the test process 160 proceeds to an end state 690. If the CD-ROM drive 120 cannot extract without errors, the test process 160 proceeds to a state 680 wherein the “Error Correction” flag is set to NO and the test process 160 then proceeds to the end state 690.
  • FIG. 7 is a flow chart representing states comprising one embodiment of the error determination process. Beginning at a start state 710, the error determination process proceeds to a state 720 wherein the error determination process reads N blocks of data without using any error correction mode and then proceeds to a state 730. In the state 730, the error determination process reads the same N blocks of data with error correction mode and proceeds to a state 740. In the state 740, the error determination process compares the first set of data with the second set of data and proceeds to a state 750. In the state 750, the error determination process checks to see if there is a difference between the first set of data and the second set of data. If there is a difference, then the error determination process assumes that there is an error and proceeds to a state 760 wherein the “Error Correction” flag is set to YES, and the error determination process proceeds to an end state 780. Otherwise, if there is no difference, then the error determination process assumes that there are no errors and proceeds to a state 770 wherein the “Error Correction” flag is set to NO. The error determination process then proceeds to an end state 780. It is recognized other embodiments may use different methods of determining whether or not error correction should be used.
  • At the end of the CD-ROM test, process 160, it will have been determined whether or not the CD-ROM drive 120 ban handle digital extraction fast enough and whether or not error correction is allowed. If the CD-ROM drive 120 can perform digital extraction fast enough and error correction is allowed, then the CD-ROM drive 120 may support the playable record process 145. If the CD-ROM drive 120 can not perform digital extraction fast enough and error correction is not allowed, then the CD-ROM drive 120 may not support the playable record process 145.
  • While this embodiment uses two flags in the test process 160, it is recognized that in other embodiments, additional, fewer, or different flags may be used to add to or modify the test process 160. In one embodiment, the test process 160 may be run a single time prior to play and record operations, each time a new playable record module 100 is installed, and/or when a new CD-ROM drive 120 is added to the system. While, in this embodiment, the test process 160 is part of the playable record module 100, it is recognized that in other embodiments the test process 160 may be part of another module such as the installation module and so forth.
  • While this embodiment depicts a test process for a CD-ROM drive, it is recognized that in other embodiments similar test processes may be used in conjunction with other types of CD-ROM drives as well as other media with the goal being to assess sufficient digital extraction speed and error corrections capability. The other types of media may include, for example, read/write CD drives, DVD drives, hard disk, remote storage via network or wireless connection, and so forth.
  • IV. CONCLUSION
  • While certain embodiments of the invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Accordingly, the breadth and scope of the present invention should be defined in accordance with the following claims and their equivalents.

Claims (38)

What is claimed is:
1. At least one computer-readable storage media having instructions stored thereon that, when executed by a system, cause the system to:
store a first data file as a first stored data file at a first computer-readable storage medium accessible to the system;
store a first portion of a second data file at the first computer-readable storage medium accessible to the system, the first and second data files representing media; and
render at least a portion of the media represented by the first stored data file while the first portion of the second data file is being stored, wherein the render includes a read of at least a portion of the first stored data file from the first computer-readable storage medium.
2. The at least one computer-readable storage media of claim 1, wherein the instructions further comprising instructions that, when executed, cause the system to further receive the first data file from a source that is different from the first computer-readable storage medium accessible to the system.
3. The at least one computer-readable storage media of claim 2, wherein the first data file is in a first file format that is different from a second file format of the first stored data file.
4. The at least one computer-readable storage media of claim 2, wherein the source is an optical disc drive.
5. The at least one computer-readable storage media of claim 2, wherein the source is a CD-ROM drive, a read/write CD drive, or a DVD drive.
6. The at least one computer-readable storage media of claim 1, wherein the instructions further comprise instructions that, when executed, cause the system to further receive the first data file from a remote source over a network connection.
7. The at least one computer-readable storage media of claim 1, wherein the instructions further comprise instructions that, when executed, cause the system to further receive the first data file from a remote source over a wireless connection.
8. The at least one computer-readable storage media of claim 1, wherein the instructions further comprise instructions that, when executed, cause the system to further receive the first data file from a download file connection.
9. The at least one computer-readable storage media of claim 1, wherein the instructions further comprise instructions that, when executed, cause the system to further receive the first data file from a streaming file connection.
10. The at least one computer-readable storage media of claim 1, wherein the media comprises audio or video.
11. The at least one computer-readable storage media of claim 1, wherein the render is performed in response to a receipt of a user-provided indication to render at least a portion of the media represented by the first stored data file.
12. A system comprising:
a record module to:
store a first data file as a first stored data file at an encoded data database; and
store a first portion of a second data file at the encoded data database, the first and second data files representing media; and
a play module to render at least a portion of the media represented by the first stored data file while the first portion of the second data file is being stored, the render including a read of at least a portion of the first stored data file from the encoded data database.
13. The system of claim 12, wherein the record module is to further receive the first data file from a source that is different from the encoded data database.
14. The system of claim 13, wherein the first data file is in a first file format that is different from a second file format of the first stored data file.
15. The system of claim 13, wherein the source is an optical disc drive.
16. The system of claim 13, wherein the source is a CD-ROM drive, a read/write CD drive, or a DVD drive.
17. The system of claim 12, wherein the record module is to further receive the first data file over a network connection.
18. The system of claim 11, wherein the record module is to further receive the first data file over a wireless connection.
19. The system of claim 11, wherein the record module is to further receive the first data file over a download file connection.
20. The system of claim 11, wherein the record module is to further receive the first data file over a streaming file connection.
21. The system of claim 11, wherein the media comprises audio or video.
22. The system of claim 11, wherein the play module is to perform the render in response to a receipt of a user-provided indication to render at least a portion of the media represented by the first stored data file.
23. A method comprising:
storing a first data file as a stored first data file at a computer-readable storage medium;
storing a first portion of a second data file at the computer-readable storage medium, the first and second data files representing media; and
rendering at least a portion of the media represented by the first stored data file while the first portion of the second data file is being stored, the rendering comprising reading at least a portion of the first stored data file from the computer-readable storage medium.
24. The method of claim 23, further comprising receiving the first data file from a source that is different from the computer-readable storage medium.
25. The method of claim 24, wherein the first data file received by the system is in a first file format that is different from a second file format of the first stored data file.
26. The method of claim 24, wherein the source is an optical disc drive, a CD-ROM drive, a read/write CD drive, a DVD drive, a remote source accessible over a network connection, a remote source accessible over a wireless connection, a remote source accessible over a download file connection, or a remote source accessible over a streaming file connection.
27. The method of claim 23, wherein the media comprises audio or video.
28. A system comprising:
means to store a first data file as a first stored data file at an encoded data database;
means to store a first portion of a second data file at the encoded data database, the first and second data files representing media; and
means to render at least a portion of the media represented by the first stored data file while the first portion of the second data file is being stored, the means to render including means to read at least a portion of the first stored data file from the encoded data database.
29. The system of claim 28, further comprising means to receive the first data file from a source that is different from the encoded data database.
30. The system of claim 29, wherein the first data file received by the system is in a first file format that is different from a second file format of the first stored data file.
31. The system of claim 29, wherein the source is an optical disc drive, a CD-ROM drive, a read/write CD drive, a DVD drive, a remote source accessible over a network connection, a remote source accessible over a wireless connection, a remote source accessible over a download file connection, or a remote source accessible over a streaming file connection.
32. The system of claim 28, wherein the media comprises audio or video.
33. A system comprising:
one or more processors;
one or more first computer-readable storage media comprising instructions stored thereon that, when executed, cause the one or more processors to:
store a first data file as a first stored data file at a second computer-readable storage medium accessible to the system;
store a first portion of a second data file at the second computer-readable storage medium accessible to the system, the first and second data files representing media; and
render at least a portion of the media represented by the first stored data file while the first portion of the second data file is being stored, where the render includes a read of at least a portion of the first stored data file from the second computer-readable storage medium.
34. The system of claim 33, wherein the instructions further comprise instructions that, when executed, cause the one or more processors to further receive the first data file from a source that is different from the second computer-readable storage medium accessible to the system.
35. The system of claim 34, wherein a first file format of the first stored file is different than a second file format of the received first data file.
36. The system of claim 34, wherein the source is an optical disc drive, a CD-ROM drive, a read/write CD drive, or a DVD drive, a remote source accessible over a network connection, a remote source accessible over a wireless connection, a remote source accessible over a download file connection, or a remote source accessible over a streaming file connection.
37. The system of at claim 33, wherein the media comprises audio or video.
38. The system of claim 31, wherein the second computer-readable medium is the same as at least one of the one or more first computer-readable storage media.
US14/140,269 2000-04-14 2013-12-24 System and method for play while recording processing Abandoned US20140105569A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/140,269 US20140105569A1 (en) 2000-04-14 2013-12-24 System and method for play while recording processing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/549,988 US6937814B1 (en) 2000-04-14 2000-04-14 System and method for play while recording processing
US11/175,622 US7925137B2 (en) 2000-04-14 2005-07-05 System and method for play while recording processing
US14/140,269 US20140105569A1 (en) 2000-04-14 2013-12-24 System and method for play while recording processing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/175,622 Continuation US7925137B2 (en) 2000-04-14 2005-07-05 System and method for play while recording processing

Publications (1)

Publication Number Publication Date
US20140105569A1 true US20140105569A1 (en) 2014-04-17

Family

ID=24195254

Family Applications (5)

Application Number Title Priority Date Filing Date
US09/549,988 Expired - Lifetime US6937814B1 (en) 2000-04-14 2000-04-14 System and method for play while recording processing
US11/175,622 Expired - Lifetime US7925137B2 (en) 2000-04-14 2005-07-05 System and method for play while recording processing
US13/042,180 Abandoned US20110150418A1 (en) 2000-04-14 2011-03-07 System and method for play while recording processing
US14/140,269 Abandoned US20140105569A1 (en) 2000-04-14 2013-12-24 System and method for play while recording processing
US14/140,266 Expired - Fee Related US10141028B2 (en) 2000-04-14 2013-12-24 System and method for play while recording processing

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US09/549,988 Expired - Lifetime US6937814B1 (en) 2000-04-14 2000-04-14 System and method for play while recording processing
US11/175,622 Expired - Lifetime US7925137B2 (en) 2000-04-14 2005-07-05 System and method for play while recording processing
US13/042,180 Abandoned US20110150418A1 (en) 2000-04-14 2011-03-07 System and method for play while recording processing

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/140,266 Expired - Fee Related US10141028B2 (en) 2000-04-14 2013-12-24 System and method for play while recording processing

Country Status (4)

Country Link
US (5) US6937814B1 (en)
AU (1) AU2001253504A1 (en)
GB (1) GB2377811A (en)
WO (1) WO2001080237A2 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2769736C (en) 1997-07-09 2013-05-14 Advanced Audio Devices, Llc Device for editing and non-volatile optical storage of digital audio
US6937814B1 (en) * 2000-04-14 2005-08-30 Realnetworks, Inc. System and method for play while recording processing
US7050376B2 (en) 2000-09-19 2006-05-23 Lg Electronics Inc. Optical disc player and method for reproducing thereof
JP4205312B2 (en) * 2001-03-13 2009-01-07 パイオニア株式会社 Information recording / reproducing apparatus, information recording / reproducing method, and program recording medium recording information recording / reproducing procedure program
FI115356B (en) * 2001-06-29 2005-04-15 Nokia Corp A method for processing audio-visual information in an electronic device, a system and an electronic device
FI115257B (en) * 2001-08-07 2005-03-31 Nokia Corp Method for Processing Information in an Electronic Device, System, Electronic Device, and Processor Block
GB2391687A (en) * 2002-08-09 2004-02-11 Tecton Ltd Digital video recorder with simultaneous record and playback capability
US20040098601A1 (en) * 2002-11-14 2004-05-20 Epstein Michael A. Secure local copy protection
JP4672645B2 (en) * 2003-02-20 2011-04-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Information carrier with access information
JP4459590B2 (en) * 2003-10-10 2010-04-28 パナソニック株式会社 DTV data processing device
US20050234985A1 (en) * 2004-04-09 2005-10-20 Nexjenn Media, Inc. System, method and computer program product for extracting metadata faster than real-time
US20060098945A1 (en) * 2004-11-08 2006-05-11 Samsung Electronics Co., Ltd. Method for storing audio data of audio and video (AV) device
US7756466B2 (en) * 2006-08-11 2010-07-13 Denso Corporation Audio control apparatus, audio system, and navigation apparatus
US8571384B2 (en) * 2007-03-16 2013-10-29 Realtek Semiconductor Corp. Digital video recorder, digital video system, and video playback method thereof
US20080225940A1 (en) * 2007-03-16 2008-09-18 Chen Ma Digital video apparatus and method thereof for video playing and recording
JP2009077044A (en) * 2007-09-19 2009-04-09 Toshiba Corp Broadcast receiving device and method
US8948574B2 (en) * 2008-11-24 2015-02-03 Mediatek Inc. Multimedia recording apparatus and method
US9253230B2 (en) * 2012-08-30 2016-02-02 Qualcomm Technologies International, Ltd. Reducing latency in multiple unicast transmissions
US9426159B2 (en) 2014-09-26 2016-08-23 Intel Corporation Securing sensor data
US10103872B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securing audio communications

Citations (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430726A (en) * 1981-06-18 1984-02-07 Bell Telephone Laboratories, Incorporated Dictation/transcription method and arrangement
US5355486A (en) * 1993-01-21 1994-10-11 Conner Peripherals, Inc. System for allocating tasks between two actuators servicing the same magnetic disk media in a single disk drive
US5371551A (en) * 1992-10-29 1994-12-06 Logan; James Time delayed digital video system using concurrent recording and playback
US5485447A (en) * 1993-07-22 1996-01-16 Sharp Kabushiki Kaisha High-speed data dubbing method
US5487035A (en) * 1993-08-26 1996-01-23 Nippon Telegraph And Telephone Corporation Method of multiplexed data reading/writing suitable for video-on-demand system
WO1996015497A1 (en) * 1994-11-10 1996-05-23 Dsp Group, Inc. Sound file playing unit
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
US5555229A (en) * 1993-07-16 1996-09-10 Sharp Kabushiki Kaisha Method and arrangement for recording/reproducing compressed program information on a recording medium containing a plurality of programs
US5687150A (en) * 1994-10-24 1997-11-11 Pioneer Electronic Corporation Apparatus for and method of recording information, and apparatus for recording and reproducing information
US5717663A (en) * 1995-12-08 1998-02-10 Sony Corportion Information data recording and reproduction apparatus
US5798991A (en) * 1995-03-15 1998-08-25 Sony Corporation Data processing method and data processing apparatus
US5832523A (en) * 1995-08-30 1998-11-03 Kabushiki Kaisha Toshiba Archiving device and data file server using data file recorded in division over recording media
JPH1166736A (en) * 1997-08-20 1999-03-09 Hitachi Ltd Recorder
GB2332772A (en) * 1998-07-29 1999-06-30 Samsung Electronics Co Ltd Audio player which downloads files from a server.
US6205104B1 (en) * 1991-02-08 2001-03-20 Sony Corporation Recording/reproducing apparatus for compressed data
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6240244B1 (en) * 1997-03-19 2001-05-29 Kabushiki Kaisha Toshiba Disk apparatus having a single recording head and capable of simultaneous recording and reproducing
US6239793B1 (en) * 1999-05-20 2001-05-29 Rotor Communications Corporation Method and apparatus for synchronizing the broadcast content of interactive internet-based programs
US6263411B1 (en) * 1996-09-20 2001-07-17 Matsushita Electric Industrial Co., Ltd. Video server scheduling for simultaneous read-write requests
US6298385B1 (en) * 1998-10-28 2001-10-02 Qwest Communications Int'l., Inc. Method and apparatus for optimizing playback of media files over a data network
US6304714B1 (en) * 1995-04-21 2001-10-16 Imedia Corporation In-home digital video unit with combine archival storage and high-access storage
US6385386B1 (en) * 1997-07-10 2002-05-07 Sony Corporation Recording/playback apparatus, recording/playback method and recording medium
US6389399B1 (en) * 1998-08-05 2002-05-14 Sanyo Electric Co., Ltd. Audio dubbing system for digital audio recorder
US6389223B1 (en) * 1997-07-10 2002-05-14 Sony Corporation Recording apparatus, recording method and recording medium
US20020057893A1 (en) * 1998-08-11 2002-05-16 Anthony Wood Digital recording and playback
US20020057892A1 (en) * 1997-09-30 2002-05-16 Yoshizumi Mano Video recording device including the ability to concurrently record and playback
US6408332B1 (en) * 1998-02-09 2002-06-18 Sony Corporation Recording and reproducing apparatus and terminal apparatus
US6446140B1 (en) * 1998-11-10 2002-09-03 Nec Corporation Data input/output device, data input/output method and storage medium
US6449668B1 (en) * 1998-01-16 2002-09-10 Matsushita Electric Industrial Co., Ltd. AV data input/output device
US6480667B1 (en) * 1997-12-23 2002-11-12 Intel Corporation Method of time shifting to simultaneously record and play a data stream
US6542870B1 (en) * 1998-10-27 2003-04-01 Sony Corporation Recording apparatus
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet
US6678227B1 (en) * 1998-10-06 2004-01-13 Matsushita Electric Industrial Co., Ltd. Simultaneous recording and reproduction apparatus and simultaneous multi-channel reproduction apparatus
US6690882B1 (en) * 1999-09-27 2004-02-10 Western Digital Technologies, Inc. Method of operating a disk drive for reading and writing audiovisual data on an urgent basis
US6760535B1 (en) * 2000-03-27 2004-07-06 Ati International Srl Method and apparatus for cache management for a digital VCR archive
US6766426B1 (en) * 1999-03-31 2004-07-20 Sony Corporation Apparatus and method for moving data among memories of networked devices
US6775803B1 (en) * 1998-05-01 2004-08-10 Samsung Electronics Co., Ltd Recording medium for storing real time recording/reproduction information, method and apparatus for recording and reproducing in real time, and file operating method using the same
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6791907B2 (en) * 1999-04-22 2004-09-14 Roxio, Inc. Automobile audio system for collection, management and playback of audio data
US6816846B1 (en) * 1999-11-12 2004-11-09 Xerox Corporation Method for generating rich sound environments using genetic or shaped algorithms
US6845398B1 (en) * 1999-08-02 2005-01-18 Lucent Technologies Inc. Wireless multimedia player
US20050060446A1 (en) * 1999-04-06 2005-03-17 Microsoft Corporation Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information
US6937813B1 (en) * 2000-03-31 2005-08-30 Intel Corporation Digital video storage and replay system
US7068913B1 (en) * 1997-02-03 2006-06-27 Matsushita Electric Industrial Co., Ltd. Data processing system, recording/reproducing device, data processing method and file management method
US7085205B1 (en) * 1999-02-25 2006-08-01 Sony Corporation Recording and/or reproducing apparatus
US7325145B1 (en) * 2000-02-18 2008-01-29 Microsoft Corporation Verifying the presence of an original data storage medium
US7529806B1 (en) * 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
US7925137B2 (en) * 2000-04-14 2011-04-12 Realnetworks, Inc. System and method for play while recording processing

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US695833A (en) * 1900-06-27 1902-03-18 Enoch S Perkins Truck.
JP3433811B2 (en) * 1992-09-30 2003-08-04 ソニー株式会社 Disk duplication device
DE69324760T2 (en) * 1992-10-19 1999-11-11 Koninklijke Philips Electronics N.V., Eindhoven Device for storing a data signal in a memory and for reproducing the data signal from this memory
US5577266A (en) * 1993-04-08 1996-11-19 Digital D.J. Inc. Broadcast system with associated data capabilities
KR0184313B1 (en) * 1993-04-09 1999-05-01 모리시타 요이찌 System for scrambling a digital video signal
JP3353382B2 (en) * 1993-04-23 2002-12-03 ソニー株式会社 Recording or reproducing device and memory control device
JPH0778412A (en) * 1993-07-13 1995-03-20 Sony Corp Device and method for recording/reproducing and device and method for reproducing
JPH07249271A (en) 1994-03-10 1995-09-26 Intec:Kk Test method for cd-rom record
US5457495A (en) * 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
JP3601034B2 (en) * 1994-08-19 2004-12-15 ソニー株式会社 Authoring system and disc authoring method
US6002832A (en) * 1995-02-09 1999-12-14 Matsushita Electric Industrial Co., Ltd. Apparatus and method for recording and reproducing data
JPH08292842A (en) * 1995-04-24 1996-11-05 Matsushita Electric Ind Co Ltd Video server device
US5914941A (en) * 1995-05-25 1999-06-22 Information Highway Media Corporation Portable information storage/playback apparatus having a data interface
US5724646A (en) * 1995-06-15 1998-03-03 International Business Machines Corporation Fixed video-on-demand
US5917910A (en) * 1995-10-16 1999-06-29 Sony Corporation Encrypting method and apparatus, recording method, decrypting method and apparatus, and recording medium
DE69627031T2 (en) * 1996-01-08 2003-12-04 International Business Machines Corp., Armonk FILE PROCESSOR FOR DISTRIBUTION OF MULTIMEDIA FILES
US5996022A (en) * 1996-06-03 1999-11-30 Webtv Networks, Inc. Transcoding data in a proxy computer prior to transmitting the audio data to a client
US5838678A (en) * 1996-07-24 1998-11-17 Davis; Joseph W. Method and device for preprocessing streams of encoded data to facilitate decoding streams back-to back
US7203415B2 (en) * 1996-08-12 2007-04-10 Sony Corporation Recording, reproducing, and recording/reproducing apparatuses for recording input data in a recording medium capable of non-linear access and methods therefor
KR100566049B1 (en) * 1996-09-16 2007-04-25 코닌클리케 필립스 일렉트로닉스 엔.브이. Recording and playback system for simultaneous recording and playback through information carriers
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6721491B1 (en) * 1999-12-22 2004-04-13 Sightsound Technologies, Inc. Method and system for manipulation of audio or video signals
EP0874368A3 (en) * 1997-04-25 2003-03-19 Sony Corporation Information recording apparatus and method, and information reproducing apparatus and method
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6327418B1 (en) * 1997-10-10 2001-12-04 Tivo Inc. Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data
KR100287366B1 (en) * 1997-11-24 2001-04-16 윤순조 Portable device for reproducing sound by mpeg and method thereof
US6769019B2 (en) * 1997-12-10 2004-07-27 Xavier Ferguson Method of background downloading of information from a computer network
US6259482B1 (en) 1998-03-11 2001-07-10 Matthew F. Easley Digital BTSC compander system
WO2000011871A1 (en) * 1998-08-23 2000-03-02 Open Entertainment, Inc. Transaction system for transporting media files from content provider sources to home entertainment devices
JP2000105598A (en) * 1998-08-24 2000-04-11 Saehan Information Syst Inc Recording/regenerating device for portable data, recording/regenerating method for digital data, and recording/regenerating system for computer music file data
US6298381B1 (en) * 1998-10-20 2001-10-02 Cisco Technology, Inc. System and method for information retrieval regarding services
DE69915213T2 (en) * 1998-11-09 2005-02-24 Matsushita Electric Industrial Co., Ltd., Kadoma Device and method for data conversion in a copyright protection system
US6212555B1 (en) * 1998-11-16 2001-04-03 William E. Brooks, Jr. Audio transfer, storage and playback system
JP4119025B2 (en) * 1998-12-10 2008-07-16 株式会社日立製作所 Broadcast video automatic recording device
KR100332763B1 (en) * 1999-02-10 2002-04-17 구자홍 Copy protection apparatus and method for digital data player
US6577735B1 (en) * 1999-02-12 2003-06-10 Hewlett-Packard Development Company, L.P. System and method for backing-up data stored on a portable audio player
US6233252B1 (en) * 1999-02-16 2001-05-15 Cyberstar, L.P. Transfer of very large digital data files via a fragmentation and reassembly methodology
JP4296624B2 (en) * 1999-03-01 2009-07-15 ソニー株式会社 Data receiver
TW529267B (en) * 1999-03-15 2003-04-21 Sony Corp Data processing system and method for mutual identification between apparatuses
US6401239B1 (en) * 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
JP3382176B2 (en) * 1999-03-26 2003-03-04 株式会社東芝 Request processing method and request processing device
US7665111B1 (en) * 1999-10-20 2010-02-16 Tivo Inc. Data storage management and scheduling system
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
US6922781B1 (en) * 1999-04-30 2005-07-26 Ideaflood, Inc. Method and apparatus for identifying and characterizing errant electronic files
US6160501A (en) * 1999-05-11 2000-12-12 Intel Corporation Storing packet data
WO2000076220A1 (en) * 1999-06-03 2000-12-14 Iviewit Holdings, Inc. System and method for streaming an enhanced digital video file
US6697365B1 (en) * 1999-06-10 2004-02-24 Charles Hayes Messenger Method of listener transmitted broadcasting
US6647417B1 (en) * 2000-02-10 2003-11-11 World Theatre, Inc. Music distribution systems
JP2001093226A (en) * 1999-09-21 2001-04-06 Sony Corp Information communication system and method, and information communication device and method
US6697944B1 (en) * 1999-10-01 2004-02-24 Microsoft Corporation Digital content distribution, transmission and protection system and method, and portable device for use therewith
US7548851B1 (en) * 1999-10-12 2009-06-16 Jack Lau Digital multimedia jukebox
US7191462B1 (en) * 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
JP2003514460A (en) 1999-11-10 2003-04-15 トムソン ライセンシング ソシエテ アノニム Fading function for DVD recorder
US7945284B1 (en) * 1999-11-23 2011-05-17 Agere Systems Inc. Cordless telephone with MP3 player capability
US6807550B1 (en) * 1999-12-01 2004-10-19 Microsoft Corporation Methods and systems for providing random access to structured media content
KR100346264B1 (en) * 1999-12-02 2002-07-26 엘지전자주식회사 Multimedia Feature Description System Using Weight And Reliability
US7149359B1 (en) * 1999-12-16 2006-12-12 Microsoft Corporation Searching and recording media streams
US7096481B1 (en) * 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
US6956833B1 (en) * 2000-02-08 2005-10-18 Sony Corporation Method, system and devices for wireless data storage on a server and data retrieval
US6442517B1 (en) 2000-02-18 2002-08-27 First International Digital, Inc. Methods and system for encoding an audio sequence with synchronized data and outputting the same
JP4019604B2 (en) * 2000-05-09 2007-12-12 日本電気株式会社 Digital broadcast recording and playback method and apparatus
US7457414B1 (en) * 2000-07-21 2008-11-25 The Directv Group, Inc. Super encrypted storage and retrieval of media programs with smartcard generated keys

Patent Citations (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430726A (en) * 1981-06-18 1984-02-07 Bell Telephone Laboratories, Incorporated Dictation/transcription method and arrangement
US6205104B1 (en) * 1991-02-08 2001-03-20 Sony Corporation Recording/reproducing apparatus for compressed data
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
US5371551A (en) * 1992-10-29 1994-12-06 Logan; James Time delayed digital video system using concurrent recording and playback
US5355486A (en) * 1993-01-21 1994-10-11 Conner Peripherals, Inc. System for allocating tasks between two actuators servicing the same magnetic disk media in a single disk drive
US5555229A (en) * 1993-07-16 1996-09-10 Sharp Kabushiki Kaisha Method and arrangement for recording/reproducing compressed program information on a recording medium containing a plurality of programs
US5485447A (en) * 1993-07-22 1996-01-16 Sharp Kabushiki Kaisha High-speed data dubbing method
US5487035A (en) * 1993-08-26 1996-01-23 Nippon Telegraph And Telephone Corporation Method of multiplexed data reading/writing suitable for video-on-demand system
US5687150A (en) * 1994-10-24 1997-11-11 Pioneer Electronic Corporation Apparatus for and method of recording information, and apparatus for recording and reproducing information
WO1996015497A1 (en) * 1994-11-10 1996-05-23 Dsp Group, Inc. Sound file playing unit
US5798991A (en) * 1995-03-15 1998-08-25 Sony Corporation Data processing method and data processing apparatus
US6304714B1 (en) * 1995-04-21 2001-10-16 Imedia Corporation In-home digital video unit with combine archival storage and high-access storage
US5832523A (en) * 1995-08-30 1998-11-03 Kabushiki Kaisha Toshiba Archiving device and data file server using data file recorded in division over recording media
US5717663A (en) * 1995-12-08 1998-02-10 Sony Corportion Information data recording and reproduction apparatus
US6263411B1 (en) * 1996-09-20 2001-07-17 Matsushita Electric Industrial Co., Ltd. Video server scheduling for simultaneous read-write requests
US7068913B1 (en) * 1997-02-03 2006-06-27 Matsushita Electric Industrial Co., Ltd. Data processing system, recording/reproducing device, data processing method and file management method
US6240244B1 (en) * 1997-03-19 2001-05-29 Kabushiki Kaisha Toshiba Disk apparatus having a single recording head and capable of simultaneous recording and reproducing
US6385386B1 (en) * 1997-07-10 2002-05-07 Sony Corporation Recording/playback apparatus, recording/playback method and recording medium
US6389223B1 (en) * 1997-07-10 2002-05-14 Sony Corporation Recording apparatus, recording method and recording medium
JPH1166736A (en) * 1997-08-20 1999-03-09 Hitachi Ltd Recorder
US20020057892A1 (en) * 1997-09-30 2002-05-16 Yoshizumi Mano Video recording device including the ability to concurrently record and playback
US6480667B1 (en) * 1997-12-23 2002-11-12 Intel Corporation Method of time shifting to simultaneously record and play a data stream
US6449668B1 (en) * 1998-01-16 2002-09-10 Matsushita Electric Industrial Co., Ltd. AV data input/output device
US6408332B1 (en) * 1998-02-09 2002-06-18 Sony Corporation Recording and reproducing apparatus and terminal apparatus
US6775803B1 (en) * 1998-05-01 2004-08-10 Samsung Electronics Co., Ltd Recording medium for storing real time recording/reproduction information, method and apparatus for recording and reproducing in real time, and file operating method using the same
GB2332772A (en) * 1998-07-29 1999-06-30 Samsung Electronics Co Ltd Audio player which downloads files from a server.
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6389399B1 (en) * 1998-08-05 2002-05-14 Sanyo Electric Co., Ltd. Audio dubbing system for digital audio recorder
US20020057893A1 (en) * 1998-08-11 2002-05-16 Anthony Wood Digital recording and playback
US6678227B1 (en) * 1998-10-06 2004-01-13 Matsushita Electric Industrial Co., Ltd. Simultaneous recording and reproduction apparatus and simultaneous multi-channel reproduction apparatus
US6542870B1 (en) * 1998-10-27 2003-04-01 Sony Corporation Recording apparatus
US6298385B1 (en) * 1998-10-28 2001-10-02 Qwest Communications Int'l., Inc. Method and apparatus for optimizing playback of media files over a data network
US6446140B1 (en) * 1998-11-10 2002-09-03 Nec Corporation Data input/output device, data input/output method and storage medium
US7085205B1 (en) * 1999-02-25 2006-08-01 Sony Corporation Recording and/or reproducing apparatus
US6766426B1 (en) * 1999-03-31 2004-07-20 Sony Corporation Apparatus and method for moving data among memories of networked devices
US20050060446A1 (en) * 1999-04-06 2005-03-17 Microsoft Corporation Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information
US6791907B2 (en) * 1999-04-22 2004-09-14 Roxio, Inc. Automobile audio system for collection, management and playback of audio data
US6239793B1 (en) * 1999-05-20 2001-05-29 Rotor Communications Corporation Method and apparatus for synchronizing the broadcast content of interactive internet-based programs
US6845398B1 (en) * 1999-08-02 2005-01-18 Lucent Technologies Inc. Wireless multimedia player
US6690882B1 (en) * 1999-09-27 2004-02-10 Western Digital Technologies, Inc. Method of operating a disk drive for reading and writing audiovisual data on an urgent basis
US7529806B1 (en) * 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
US6816846B1 (en) * 1999-11-12 2004-11-09 Xerox Corporation Method for generating rich sound environments using genetic or shaped algorithms
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet
US7325145B1 (en) * 2000-02-18 2008-01-29 Microsoft Corporation Verifying the presence of an original data storage medium
US6760535B1 (en) * 2000-03-27 2004-07-06 Ati International Srl Method and apparatus for cache management for a digital VCR archive
US6937813B1 (en) * 2000-03-31 2005-08-30 Intel Corporation Digital video storage and replay system
US7925137B2 (en) * 2000-04-14 2011-04-12 Realnetworks, Inc. System and method for play while recording processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Method for Digital Video Recording and Time Shifted Playback", Research Disclosure #416063, 12/1998 *

Also Published As

Publication number Publication date
US10141028B2 (en) 2018-11-27
GB0226072D0 (en) 2002-12-18
US20110150418A1 (en) 2011-06-23
US20050244134A1 (en) 2005-11-03
US6937814B1 (en) 2005-08-30
US20140104995A1 (en) 2014-04-17
AU2001253504A1 (en) 2001-10-30
GB2377811A (en) 2003-01-22
WO2001080237A3 (en) 2002-03-21
US7925137B2 (en) 2011-04-12
WO2001080237A2 (en) 2001-10-25

Similar Documents

Publication Publication Date Title
US10141028B2 (en) System and method for play while recording processing
KR100959306B1 (en) System and method for searching for duplicate data
CN1647188A (en) Copy protection system for data carriers
CN1308331A (en) Digital data copying controlling system and method and CD playback device and storage medium
WO2006079368A1 (en) Method for preparing dvd-video formatted data, method for reconstructing dvd-video data and dvd-video data structure
TW408312B (en) A method and device for storing audio-centered information by a table-of-contents (TOC) mechanism and also by a file-based access mechanism through a root directory that contains a highest level TOC directory, and a unitary storage medium containing such
WO2005083703A1 (en) Information recording medium and information processing device
US7295393B2 (en) Data converting apparatus, data converting method, and recording medium
CN100353430C (en) High-density optical disc, method for recording and reproducing encrypted data thereon
CN100359573C (en) High-density optical disc, method for recording and reproducing encrypted data thereon
US7050368B2 (en) Data copying managing method and device and copy managing system
US7013010B2 (en) Method and apparatus for optimally formatting media key blocks stored on media with high transfer latencies
CN1822172A (en) A recording medium and method of recording data on the recording medium
CN1866379B (en) Recording medium, and method and apparatus for reproducing data from the recording medium
KR20080067075A (en) Method for recording and reproducing data encryption of optical disc
EP0920013B1 (en) A combined set for digital audio distribution
US7227821B2 (en) Information recording, information reproducing and copying apparatuses, and information recording medium for recording and reproducing music
KR20050105180A (en) Data recording/reproduction method and recording/reproduction device
CN100336336C (en) Prevention of CD-audio piracy using sub-code channels
JP2004265570A (en) Recording method of data, recording device, reproducing method, reproducing device, and recording medium
RU2311693C2 (en) Reproduction method and data access method
WO2001073567A1 (en) Secure compact disc technology
CN1477523A (en) Method for recording and reproducing compacted voice file by using decryption key
KR20030093860A (en) High density read only optical disc, and method for recording and reproducing an encoded data on them
CN1372262A (en) Device and method for conversion duplicating data

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION