Abstract:
A method for extracting and decoding data stored in a DV format having sequential DIF blocks that include a header and a payload portion, where the stored data is not decodable under the DV format in which the data is stored. The data is sequentially extracted and decoded from the payload portions of respective DIF blocks.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a division of application Ser. No. 09/465,415, filed Dec. 16, 1999 now U.S. Pat. No. 7,298,959. 

   BACKGROUND OF THE INVENTION 
   The present invention relates to a digital video recorder and, more particularly, to a method and apparatus for storing a compressed MPEG-2 transport data stream with a conventional digital video recorder. 
   A conventional digital video (DV) recorder records a digitized version of an analog television signal. The analog signal may be the signal of the NTSC (National Television Systems Committee) color television system of the United States and Japan, the PAL (Phase Alteration Line Rate) television system of parts of Europe, or the SECAM (Se&#39;quentiel Couleur &#39;a Memoire) television system of France, Russia and eastern Europe. For example, to digitally record the analog television signal of the NTSC system, the separate luminance and chrominance signals of the video signal are first sampled and quantized. Intraframe compression is applied to the digital data representing the video signal using techniques such as adaptive quantization (AQ), discrete cosine transformation (DCT), and variable length coding (VLC). Following compression, error correction is added to the data. The audio portion of the signal is processed in a similar manner. The digital audio and video data are copied to data elements of a digital video (DV) frame data structure and the audio and video data elements of the DV frame structure are stored as separate segments of recording tracks on a magnetic tape. 
   The input and output of most DV recorders are by means of isochronous data transport as defined by the IEEE 1394-1995, STANDARD FOR A HIGH PERFORMANCE SERIAL BUS, incorporated herein by reference. The IEEE 1394 standard defines a basic mechanism for real time data transport including an isochronous data packet  10 , as illustrated in  FIG. 1 . However, the IEEE 1394 standard does not establish the protocols needed for specific application requirements such as sending DV data over the bus. The format of the data structure for isochronous transmission of DV data across the IEEE 1394 serial bus is described in the International Standards Organization (ISO)/International Electrotechnical Commission (IEC) standards for DIGITAL INTERFACE FOR CONSUMER ELECTRONIC AUDIO/VIDEO EQUIPMENT, ISO/IEC 61883-1 and 61883-2, incorporated herein by reference. ISO/IEC 61883 defines the Common Isochronous Packet (CIP) format that is the basis of the 1394 DV data packet  30 , illustrated in  FIG. 2 . The DV packet  30  comprises a CIP header  32  and a data field  34  of 480 bytes. For isochronous transmission on the IEEE 1394 bus, the DV data packet  30  is inserted into the data block of the IEEE 1394 isochronous data packet  10 . 
   The IEEE 1394 bus sequences through three general phases: a cycle initiation phase, an isochronous phase, and an asynchronous phase. At the completion of the cycle initiation phase, transfer of isochronous data packets  10  is enabled. Devices connected to the bus having an allocated isochronous channel arbitrate for the bus. When a device gains access to the bus, it locates the start of the DV video frame and buffers the next 250 valid data packets to collect a complete DV frame. The CIP headers are discarded and the remaining 120,000 bytes defines an NTSC DV frame. 
   A 525 lines, NTSC DV video frame  50  comprises odd and even video fields and is encoded into ten digital interface format (DIF) sequences  52 , as illustrated in  FIG. 3 . Each DIF sequence  54  comprises 150 DIF blocks  54  as illustrated in  FIGS. 3 and 4 . The 150 DIF blocks comprise a header (H) section  70 , a subcode (SC) section  72 , a video auxiliary (VAUX) section  74 , and an audio and video data section  75 . The audio data section  76  (indicated by a bracket in  FIG. 4 ) comprises nine (A 0 -A 8 ) audio DIF blocks. The video portion of the audio-video section  75  comprises 135 (V 0 -V 134 ) video DIF blocks  78  (indicated by a bracket in  FIG. 4 ). Referring to  FIG. 3  each DIF block  54  includes an ID section  56  and a data section  58 . 
   Digital recording of analog television signals provides a number of advantages over analog recording of those signals. However, television is in transition from an analog system to a digital system based on the MPEG-2 video compression standard. In the digital television (DTV) system, signals for each of the elements of a television program are digitized. The digital elementary data streams are compressed and then multiplexed into a single MPEG-2 transport data stream for transmission to a receiver. At the receiver, the transport stream is separated into the constituent elementary data streams which are decompressed and presented to the viewer. MPEG-2 transport data streams can be recorded with a dedicated MPEG video recorder. However, purchasing a dedicated video recorder to record MPEG video, particularly during the transition to DTV, is an undesirable additional expense. 
   What is desired, therefore, is a method of storing an MPEG transport data stream on a conventional DV format video recorder for playback on a DTV receiver. 
   SUMMARY OF THE INVENTION 
   The present invention overcomes the aforementioned drawbacks of the prior art by providing a method of processing data comprising the steps of copying the data to a data block formatted for digital video, and storing the data block on a storage medium in a digital video storage format. For example, packetized MPEG-2 transport stream data can be stored on a conventional digital video (DV) recorder by copying the transport stream data to one or more digital interface format (DIF) data blocks that are part of a digital video (DV) frame data structure. The DV frames containing the transport stream data are then recorded on video tape. The DV frames can be input to the video recorder by insertion into isochronous data transfer packets for transfer over an IEEE 1394 bus. On the other hand, if the data is formatted according to MPEG or another data formatting standard supported by IEEE 1394, the data may be transferred to the recorder before being inserted into a DV frame for storage. To present the stored data, the data is extracted from the DV frames and then decoded and presented using the customary applicable methods. 
   An apparatus for storing data with a digital video recorder is also disclosed comprising an accumulation buffer to accumulate a predetermined quantity of the data and a frame packetizer to copy the data to a data block of a digital video frame. 
   The foregoing and other objectives, features and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is an illustration of the data structure of an IEEE 1394 isochronous data packet. 
       FIG. 2  is an illustration of the data structure of a digital video data packet to be inserted into the data block of the IEEE 1394 isochronous data packet of  FIG. 1 . 
       FIG. 3  is an illustration of the data structure of a digital video frame. 
       FIG. 4  is an illustration of the data structure of a digital interface format (DIF) sequence of the digital video frame of  FIG. 3 . 
       FIG. 5  is a block diagram of a digital television (DTV) system, including a digital video recorder. 
       FIG. 6  is an illustration of the structure of a digital interface format (DIF) block of a DV frame in which MPEG transport stream data is stored. 
       FIG. 7  is an illustration of an embodiment of a header for the MPEG transport stream data stored in a digital interface format (DIF) block of a DV frame as illustrated in  FIG. 6 . 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   Referring to  FIG. 5 , a digital television system comprises, generally, a transmitter or emission station  100  (indicated by a bracket), a transmission channel  102  (indicated by a bracket), a receiver  104  (indicated by a bracket), and a monitor  106 . In the emission station  100 , separate video  108 , audio  110 , and data  112  elementary data streams are appropriately encoded and compressed in video  114 , audio  116 , and data  118  encoders. The compressed elementary data streams are input to a program multiplexer  120  that combines the separate elementary data streams into a single transport data stream  122 . The transport data stream  122  is transmitted to a receiver  104  over a transmission channel  102  such as a terrestrial or satellite broadcast system or a cable. At the receiver  104  which may be a set-top-box, the MPEG-2 transport data stream is separated into its constituent compressed video  124 , audio  126 , and data  128  elementary streams by a demultiplexer  130 . The individual elementary data streams are decompressed and decoded in video  132 , audio  134 , and data  136  application decoders. The decompressed and decoded video  138 , audio  140 , and data  142  elementary streams are input to a presentation system  144  for presentation to the viewer, usually by display on the monitor  106 . 
   The receiver  104  may be connected to a digital video (DV) format video recorder or camcorder  146  by a bus  148  conforming to the IEEE 1394-1995, STANDARD FOR A HIGH PERFORMANCE SERIAL BUS. In the present invention, the packetized MPEG-2 transport stream data  122  is inserted into a DV data packet by a frame packetizer  150 . The DV frame is, in turn, inserted into an IEEE 1394 isochronous transfer data packet by an IEEE 1394 isochronous data encoder  152  for transmission over the IEEE 1394 bus  148  to the video recorder  146 . In the video recorder  146 , the DV data packets are recovered from the transfer data packets by a depacketizer  153  and the DV formatted frames are stored on a storage medium  154 , usually a DV formatted magnetic videotape. At play time, the DV formatted data are inserted into an IEEE 1394 isochronous packet by an encoder  155  and transmitted over the bus  148  to the transmission channel  102  and to the receiver  104  where the MPEG data is extracted. The MPEG transport stream data are decoded by the application decoders  132 ,  134 , and  136  for display by the presentation system  144 . 
   The IEEE 1394 standard also provides a mechanism for transferring data in an MPEG format over the serial bus  148 . As an alternative embodiment, the transport stream data  122  could be encoded in the IEEE 1394 encoder as MPEG formatted data encapsulated in an IEEE 1394 packet. At the recorder  146 , the MPEG data would be extracted from the IEEE 1394 data packet in the depacketizer  153 . In this embodiment, the MPEG data would be inserted into the DV data format by a DV frame packetizer  157  in the recorder  146 . The DV formatted data would then be stored on the storage medium  154 . At play time, the DV formatted data would be copied from the storage medium  154  by the encoder  155 . In the encoder  155 , the MPEG data is extracted from the DV formatted data packets and then the MPEG data is inserted into an IEEE 1394 data packet for transmission over the serial bus  148 . In this alternative embodiment, the MPEG data would be recovered from the IEEE 1394 packet in the reconstruction depacketizer  159 . 
   The IEEE 1394 high speed serial bus  148  provides for both asynchronous and isochronous data transfer. Isochronous operation guarantees a bandwidth for devices, such as audio/video devices, that require constant data transfer rates. Isochronous transactions use a single isochronous data packet format to perform multicast or broadcast transfers to one or more nodes (attached devices) on the bus  148 . The format of an IEEE 1394 isochronous data packet is illustrated in  FIG. 1 . The packet comprises, generally, a header  12  and a data block  14 . The header  12  specifies the length of the data in the packet  16 , an isochronous channel number  18  that identifies the nodes to which the isochronous transfer is to be directed, a transaction code  20 , and a header cyclic redundancy check (CRC)  22 . A cyclic redundancy check (CRC)  24  is also provided for the data block  14 . The maximum data payload  26  (indicated by a bracket) of the isochronous data packet  10  varies with the data capacity of the specific IEEE 1394 serial bus. The maximum payload  26  of the smallest isochronous packet (for a 100 Mbit per sec. bus) is 1024 bytes. To transfer digital video format (DV) data over the serial bus, a DV data packet  30 , as illustrated in  FIG. 2 , is inserted into the data field of the IEEE 1394 isochronous data packet  10 . 
   The structure of the DV data packet  30  is defined by ISO/IEC 61833-1 and 61833-2, DIGITAL INTERFACE FOR CONSUMER ELECTRONIC AUDIO/VIDEO EQUIPMENT, and is illustrated in  FIG. 2 . The DV data packet  30  comprises a CIP (Common Isochronous Packet) header  32  and a 480 byte data field  34 . The CIP header  32  includes fields for source node identification (SID)  36 , data block size (DBS)  38 , function number (FN)  40 , quadlet packing count (QPC)  42 , source packet header (SPH)  44 , format identification (FMT)  46 , signal type (STYPE)  48 , and a time stamp (SYT)  49  for synchronization of video frames. 
   The data of a DV frame  50  for NTSC television is divided into ten digital interface format (DIF) sequences  52  as illustrated in  FIG. 3 . A DV frame for PAL television comprises 12 DIF sequences. As illustrated in  FIGS. 3 and 4 , each DIF sequence  52  comprises 150 DIF blocks  54 . A DIF sequence  52  includes a header section (DIF block H 0 )  70 , a subcode section (DIF blocks SC 0  and SC 1 )  72 , a video auxiliary section (DIF blocks VA 0 -VA 2 )  74 , and an audio-video section  75 . The audio-video section  75  comprises an audio section (DIF blocks A 0 -A 8 )  76  (indicated by a bracket in  FIG. 4 ), and a video section (DIF blocks V 0 -V 134 )  78  (indicated by a bracket in  FIG. 4 ). Referring again to  FIG. 3 , each DIF block comprises a three byte identification (ID)  56  and a 77 byte data section  58 . The DIF block ID  56  indicates the type of DIF block (for example, video), the subsequence number and the DIF block number ( 0  to  134 ). 
   In the present invention, MPEG-2 transport data stream packets are inserted into the last 76 bytes (the target data block) of the 77 byte data fields  58  of a plurality of video section DIF blocks  78  of one or more DV frames  50 . Data is not stored in the first byte of the data field  58  because the DV recorder may alter the value of this byte as an error indicator. When writing to the recorder this byte is usually set to zero indicating no error, although other values are possible. DV frame packets  30 , containing the DV formatted frames, are inserted into the payload of IEEE 1394 isochronous data transfer packets  10  for transfer over the IEEE 1394 bus. At the video recorder, the DV frames are extracted from the bus data stream and stored as DV formatted data on the videotape  154 . Referring to  FIG. 6 , in an embodiment of the invention, the first six bytes of the target data field (the last 76 bytes of the data field  58 ) are used for MPEG header information  80  and the remaining 70 bytes are used to store the packetized MPEG-2 transport stream data  82 . The MPEG header  80  is used by the decoder in extracting MPEG data from the DV frame structure  50  during playback. As illustrated in  FIG. 7 , the MPEG header comprises a length field  86  specifying the number of bytes of MPEG data in the DIF block starting from the MPEG ID byte  88  and ending at the last MPEG transport stream data byte of the DIF block  54 . If a DIF block contains no MPEG data, the final four fields of the MPEG header  80  will contain no data and the length field  86  will be zero. The MPEG-2 ID field  88  contains a unique number that indicates that the data block of the DIF block contains MPEG-2 data. For example, the unique number might be the ASCII character “M” that has the value  77 . The version field  90  contains a number indicating the version of the MPEG-2 standard and any MPEG-to-DV data storage specification applicable to the data in the block. On the other hand, the MPEG ID  88  and version  90  fields could be eliminated if the data is known to be MPEG-2 data or if the transport stream validity is checked by the MPEG decoder. 
   The redundancy field  92  of the DIF block contains an incrementing number indicating when new data is being stored in the DIF block. The DV format utilizes intraframe compression. The MPEG-2 compression process utilizes both intraframe and interframe data compression. The inventors realized that the 22.68 Mbps data capacity of the DV tape may substantially exceed the data rate of the MPEG transport stream  122 . For example, standard definition MPEG-2 video has a maximum data rate of six Mbps. When the data rate capacity of the tape exceeds the data rate of the MPEG transport stream, the MPEG data can be stored redundantly on the tape. At 30 frames per second, approximately 200,000 bits of MPEG data must be stored in each DV frame structure  50 . However, each DV frame  50  has a data capacity of 756,000 bits and the extra capacity can be used to redundantly store the MPEG data in multiple DIF blocks. If a DIF block is lost in transmission or storage, the data can be recovered from an identical DIF block in another DIF sequence. Further, when operating in a trick play mode the IEEE 1394 data stream may contain only fragments of each DV frame. Depending on trick play speed and data redundancy, it may be possible to reconstruct the original MPEG-2 transport stream from fragments of the DV frames. The redundancy value is a function of the DV frame structure capacity (756,000 bits) and the MPEG-2 data rate and can be expressed as: 
   
     
       
         
           
             Redundancy 
           
           = 
           
             
               floor 
             
             ⁡ 
             
               [ 
               
                 
                   DVC_frame 
                   ⁢ 
                   
                     _capacity 
                     · 
                     DVC_frame 
                   
                   ⁢ 
                   _rate 
                 
                 
                   MPEG2_bit 
                   ⁢ 
                   _rate 
                 
               
               ] 
             
           
         
       
     
   
   Referring to  FIG. 5 , to control the redundant storage of MPEG data, the receiver  104  accumulates 756,000 bits (one DV frame of data) in an accumulation buffer  158  as the MPEG transport stream data arrives at the receiver  104  from the emission station  100 . When this quantity of data has been accumulated, it is placed in the data section of a DV frame  50 . This data is repeatedly output to the frame packetizer  150  while the next 756,000 bits of data are received from the emission station  100  and accumulated. The DV packet  30  is sent to the video recorder  154  and the new accumulation of data is then placed in a new DV frame with a redundancy number incremented by one from that of the previous DV frame. The process is repeated until the entire MPEG transport stream is stored. 
   When the stored video is played, the data in the DV frames stored on the tape is sent from the recorder  154  to the receiver  104 . The MPEG ID field  88  of MPEG header  80  (see  FIG. 7 ) is used to identify the data in the DV frames as MPEG transport stream data. The offset field  94 , see  FIG. 7 , is used to reconstruct the MPEG-2 transport stream. The offset specifies the position of the MPEG data in the DIF block relative to the MPEG data from other DIF blocks of the current DV frame or in redundant frames. Preferably, the first DIF block of a DV frame has an offset of zero. If this DIF block contains 70 bytes of data, then the offset number of the next DIF block would be  70 . 
   The transport stream is reconstructed by extracting the MPEG data from the IEEE 1394 packets in a reconstruction depacketizer  159  and then placing the MPEG-2 data from each of the DIF blocks  54  into a reconstruction buffer  156 , illustrated in  FIG. 5 . The location of specific data in the reconstruction buffer  156  is the sum of the offset value  94  and a frame storage index equal to one byte past the last storage location used by the DVC frames having the previous redundancy value. The frame storage index is initially set to zero. If any DIF blocks are missing, redundant DIF blocks  54  from redundant DV frames can be placed into the reconstruction buffer  156 . When a frame with a new redundancy value is received, the frame storage index is set to one byte past the last byte stored with the previous redundancy value  92 . The MPEG data from the redundant frame is then stored at the location identified by the sum of the offset value  94  of the DIF block and the frame storage index. Data from each set of frames with a new redundancy value  92  is appended to the data in the reconstruction buffer  156 . A discontinuity in the redundancy value would indicate that a new or discontinuous MPEG-2 transport stream is being received. 
   The method and apparatus of the present invention may be used to store data other than MPEG-2 transport stream data on DV tape. For example, files from a. PC hard disk or other data that may or may not be related to stored MPEG transport stream data (such as web page uniform resource locators (URLs), recording time, or system information) could be stored on DV tape utilizing the method. Further, if the data rate capacity of the DV tape exceeds the data rate of the MPEG transport stream, ancillary data can be stored by the DV recorder utilizing the method. Such ancillary data could include trick play frames to aid in trick play operation (such as, fast forward or reverse operation) of the video recorder. The trick play mode data may include MPEG frames stored redundantly on the tape to ensure that data is can be retrieved during fast play modes. 
   All the references cited herein are incorporated by reference. 
   The terms and expressions that have been employed in the foregoing specification are used as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims that follow.