1. Field of the Invention
The present invention relates to recording and/or playback of digital data, and more particularly, to a method for generating additional information for guaranteeing seamless playback between data streams which are composed of packetized data, a recording medium for storing the information, and a recording, editing and/or playback apparatus using the same.
2. Description of the Related Art
Packet data is usually used in digital satellite broadcasting, digital terrestrial broadcasting, digital cable broadcasting and asynchronous transfer mode (ATM) transmission networks.
In digital broadcasting, packet data is transmitted at irregular time intervals. The transmitted packet data is usually received by a receiving party having a decoder. In the receiving party, the transmitted data is input into the decoder via a buffer and decoded by the decoder so that users can watch the broadcasting.
When a user sets a playback mode to reproduce, at a desired time, packet data, which has been temporarily stored in a recording medium, the packet data is sent to the decoder by a playback apparatus. When sending the data to the decoder, the irregular time intervals at which the packet data was originally transmitted to the receiving party are significant because the buffer of the receiving party overflows or underflows if the irregular time intervals are not obeyed. This is because, when transmitting data, an original transmitting party (a broadcasting station) adjusts the time intervals between packet data taking into account the state of the buffer of a receiving party having a decoder. For this reason, it is assumed that information on the arrival time of each packet of data is added to each corresponding packet of input data when a recording apparatus records data, and each packet of data is output by a playback apparatus based on the arrival time information thereof.
An ATS generator 104 adds an ATS to each packet of input data. The input packet data together with the added ATSs is converted into a signal suitable for recording by a recording controller 106 and then recorded in a recording medium 108. A playback controller 110 plays back the packet data, to which ATSs have been added, which is recorded in the recording medium 108, and sends the playback data to an ATS processor 112. The ATS processor 112 outputs the data according to the added ATS of the playback data. Here, the ATS generator 104 and the ATS processor 112 each includes an internal buffer. Alternately, the buffers of the ATS generator 104 and the ATS processor 112 may be separately provided on the outside.
In the method of adding an ATS, during recording, the ATS generator 104 reads a count value of the counter 102 at the time when packet data is input, and adds the count value to the packet as an ATS. The packet data with the added ATS is temporarily stored in the internal buffer of the ATS generator 104 and then recorded in the recording medium 108 via the recording controller 106. As mentioned above, the internal buffer can be separately provided on the outside.
During playback, the playback controller 110 plays back the packet data with the added ATS from the recording medium 108 and sends the playback data to the ATS processor 112. The ATS processor 112, which includes a buffer of a predetermined size, temporarily stops reading data when the buffer overflows, and restarts the reading when the buffer is empty, repeatedly. The ATS processor 112 reads the ATS and corresponding packet data of a first packet, from its internal buffer, and sets the counter 102 based on the ATS while outputting the packet data. The output data of the ATS processor 112 is pure packet data from which the ATS has been removed. Thereafter, packet data is output only when the added ATS of the packet is determined to have the same value as the count value of the counter 102 by comparing the ATS with the count value. The buffer included in the ATS processor 112 may also be separately provided on the outside. Due to such configuration and operation as described above, data can be transmitted to a receiving party having a decoder while the original time intervals of packet data are maintained during playback so that decoding can be smoothly performed.
As shown in
An ATS is important in an apparatus for recording packet data. Generally, ATSs are added to a data stream, independently from those which are added to other data streams. The independent method is possible when seamless playback is required only with respect to a single data stream. However, when a user desires to seamlessly reproduce two or more data streams, additional information for defining the seamless playback between the data streams is needed.
In the operation of sequentially reproducing the two data streams, SOB 1 and SOB 2, information for defining the seamless playback between the SOB 1 and the SOB 2, for example, the time interval between the end of playback of the SOB 1 and the start of playback of the SOB 2, is not defined. In other words, as shown in
When sequentially reproducing SOBs, the time intervals between SOBs cannot be equally fixed because the time intervals depend on internal data states. Accordingly, information on playback time control in accordance with the internal data states is needed. Without this information, seamless playback cannot be guaranteed and a small time delay appears between two SOBs.
For example, if a portion of SOB 2 is deleted at the boundary between the SOB 1 and the SOB 2, output of data, as shown in
In another method, as shown in
In brief, when sequentially reproducing the two data streams, SOB 1 and SOB 2, to which the ATSs are independently added as shown in
Even if the ATS generator 104 generates ATSs for allowing seamless playback when recording the SOB 2 after completing the recording of the SOB 1 as shown in
To solve the above problems, it is an objective of the present invention to provide a method for generating additional information for guaranteeing that a plurality of data streams composed of packet data, which is used in digital satellite broadcasting, digital terrestrial broadcasting, digital cable broadcasting and asynchronous transfer mode (ATM) networks, are recorded in a storage medium such as an optical disk and that the data streams are seamlessly reproduced.
It is another objective of the present invention to provide a recording medium in which updated additional information is stored so as to guarantee that seamless playback of a plurality of data streams, each of which is composed of packet data, is easily achieved even after editing, such as performing a partial deletion of the plurality of data streams.
It is yet another objective of the present invention to provide a recording apparatus for recording additional information, which guarantees seamless playback of a plurality of data streams composed of packet data, during recording operation.
It is still yet another objective of the present invention to provide an editing apparatus for easily updating additional information, which guarantees seamless playback of a plurality of data streams composed of packet data, during an editing operation such as partial deletion.
It is another objective of the present invention to provide a playback apparatus for performing seamless playback at the boundaries between a plurality of data streams composed of packet data, using additional information for guaranteeing seamless playback during playback operation.
It is further another objective of the present invention to provide a recording and playback apparatus for recording additional information, which guarantees seamless playback of a plurality of data streams composed of packet data, and performing seamless playback at the boundaries between the plurality of data streams based on the additional information.
Accordingly, to achieve the above objectives, there is provided a method for generating additional information. The method includes a step of generating data stream information for each of two or more data streams, which includes packet data to which information on an arrival time of the respective packet data is added. The data stream information includes seamless playback information, which indicates whether a corresponding data stream is to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced.
In another aspect of the present invention, there is provided a recording medium including a first area including a plurality of data streams composed of packet data to which information on the arrival time of the respective packet data is added; and a second area including data stream information comprising seamless information, which indicates whether a corresponding data stream is to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced.
In yet another aspect, there is provided a recording apparatus including an arrival time information generator for adding arrival time information on an arrival time of input packet data to each input packet data; a data stream information generator for generating data stream information for each of two or more data streams including the packet data to which the arrival time information of the respective packet data is added, the data stream information having seamless playback information, which indicates whether a corresponding data stream to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced; and a recording controller for performing control such that the data stream is recorded in a first area of a recording medium and the data stream information is recorded in a second area of the recording medium.
In still yet another aspect, there is provided an editing apparatus for editing data recorded in a recording medium including a first area having a plurality of data streams composed of packet data to which information on the arrival time of the respective packet data is added; and a second area including data stream information including seamless information, which indicates whether a corresponding data stream is to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced. The editing apparatus includes a data information updator for, after editing by the editing apparatus, analyzing the data stream information and updating the seamless time control information so that data at either side of the boundary between data streams, at which seamless playback is not guaranteed, can be seamlessly played back; and an editing controller for performing control such that edited data streams are recorded in a first area of the recording medium and updated data stream information is recorded in a second area of the recording medium.
In another aspect, there is provided a playback apparatus for reproducing data recorded in a recording medium including a first area including a plurality of data streams composed of packet data to which information on the arrival time of the respective packet data is added; and a second area including data stream information including seamless information, which indicates whether a corresponding data stream is to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced. The playback apparatus includes a playback controller for reproducing the data streams and data stream information which are recorded in the recording medium; a counter which is driven by a system clock signal and reset according to arrival time information which has been added to a packet that is first reproduced by the playback controller; a first processor for modifying original arrival time information of a corresponding data stream to be seamlessly reproduced so as to provide modified arrival time information or for providing a control signal indicating a time when the counter is to be reset, based on data stream information provided from the playback controller; and a second processor for controlling output by removing the original arrival time information which is added to the packet data in the corresponding data stream, which is provided from the playback controller, in response to an output of the first processor.
In further another aspect, there is provided a recording and playback apparatus including an arrival time information generator for adding arrival time information on an arrival time of input packet data to each input packet data; a data stream information generator for generating data stream information for each of two or more data streams including the packet data to which the arrival time information of the respective packet data is added, the data stream information having seamless playback information, which indicates whether a corresponding data stream to be seamlessly reproduced after playback of a preceding data stream, and/or seamless time control information for controlling an output time of the corresponding data stream to be seamlessly reproduced; a recording controller for performing control such that the data stream is recorded in a first area of a recording medium and the data stream information is recorded in a second area of the recording medium; a playback controller for reproducing the data streams and data stream information which are recorded in the recording medium; a counter which is driven by a system clock signal, the counter being reset at the moment when each data stream is input and performing counting operation to provide a count value to the arrival time information generator, during recording, the counter being reset according to arrival time information which is added to a packet which is first reproduced by the playback controller, during playback; a first processor for modifying original arrival time information of a corresponding data stream to be seamlessly reproduced so as to provide modified arrival time information or for providing a control signal indicating a time when the counter is to be reset, based on data stream information provided from the playback controller; and a second processor for controlling output by removing the original arrival time information which is added to the packet data in the corresponding data stream, which is provided from the playback controller, in response to an output of the first processor.
The above objectives and advantages of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the attached drawings in which:
The present invention relates to a method for generating additional information while recording data streams composed of packet data, a recording medium for storing the generated additional information along with the data streams, a recording apparatus for recording the additional information along with the data streams, an editing apparatus for updating the additional information to guarantee seamless playback after editing, and a playback apparatus for performing seamless playback based on the additional information. In describing packet data in the present invention, for illustrative purpose, an input data stream is assumed to be in an MPEG2-TS format. Meanwhile, since the present invention guarantees accurate transfer timing at boundaries between data streams for seamless playback, the present invention can be referred to as “seamless transfer” for seamless playback. The seamless transfer is essential to seamlessly reproduce data streams composed of packet data.
The seamless information indicates whether seamless playback between two data streams, SOB 1 and SOB 2, is to be guaranteed, that is, whether the seamless time control information (RT/offset/gap length) is to be used. The seamless information may be represented by a one bit flag in the simplest form or may be implied by the value of the seamless time control information without a particular form of information. For example, if the values of the seamless time control information are all “0,” non-seamless playback is implied. If not, seamless playback is implied. In addition, when seamless playback can be performed without the seamless time control information, just the seamless information may be used to indicate whether seamless playback is guaranteed for corresponding data streams.
In playback, when the seamless information indicates “seamless playback,” after reproducing the preceding data stream, SOB 1, a playback apparatus modifies the values of ATSs of the succeeding data stream, SOB 2, based on the seamless time control information (RT/offset/gap length) and reads the properly modified values so as to reproduce SOB 2. The values of RT/offset/gap length are used to sequentially continue ATSs when seamlessly reproducing SOB 1 and SOB 2. The correlation among the three values is expressed as follows:
Offset=RT−ATS of first packet of SOB 2
Gap length=RT−ATS of last packet of SOB 1.
For example, when the count value of a counter is maintained, i.e., not reset, after completing the playback of SOB 1, an output time of the first packet of the SOB 2 may be determined based on the RT which indicates a time when the first packet of SOB 2 must be output. Alternately, assuming that the difference between the original value of the ATS of the first packet of SOB 2 and a modified value of the ATS is an offset, the time when the first packet of the SOB 2 must be output is determined based on the offset value. The offset value may be a positive or negative number. Thereafter, the offset value is added to the original values of the ATSs of the packets in SOB 2 so that the original values of the ATSs are modified into new values. Alternately, when the count value of the counter is reset after the completion of the playback of the SOB 1, the value of the gap length from the completion of output of the last packet of the SOB 1 to the start point of the output of the first packet of the SOB 2, may be used. No matter which of the three values of the seamless time control information is used, the same output time is obtained for the first packet of the SOB 2.
In
The seamless time control information (RT/offset/gap length) is used only when the seamless information has a value indicating “seamless playback.” In other words, when sequentially reproducing two data streams, SOB 1 and SOB 2, the seamless time control information is used for indicating an accurate output time of SOB 2 for the purpose of guaranteeing seamless playback at the boundary between the SOB 1 and the SOB 2. For example, when the counting operation of a counter, which has performed the counting operation during the playback of SOB 1, is to be maintained during playback of SOB 2, a time at which the first packet of the SOB 2 must be output, that is, a RT, is used, or a value (offset) of the difference between an ATS corresponding to the RT and an original ATS of the first packet of SOB 2 is used to determine the accurate output time of SOB 2. Alternately, a gap length, which indicates a time interval from a time when the last packet of SOB 1 is output through a time when the counter is reset to an arrival time of the first packet of SOB 2, may be used.
During recording, the controller 202 resets the counter 204 when starting the recording. Thereafter, packet data is received and recorded. At the time when packet data is received, the ATS generator 206 establishes the count value of the counter 204 as the ATS of the corresponding packet data and adds the ATS to the packet data. The packet data with the added ATS is stored in the recording medium 212 via the recording controller 210. Other additional information may be recorded together with the packet data and ATS to comply with the characteristics of a recording medium.
For example, when the characteristics of a recording medium require the management of data in units of 2048 bytes (a pack), to record packet data with an ATS while complying with the characteristics of the recording medium, extra header data will be added and recorded. For clarity, extra header data other than the ATS will not be presented in the description of the present invention. Meanwhile, for use in personal computers, a plurality of recorded SOBs may be all combined into a single file or they may be individually made into a plurality of files.
As shown in
In short, during a recording operation, the SOBI generator 208 generates SOBI and records it in a recording medium along with a corresponding SOB. Thereafter, editing may be performed using an editing apparatus and SOBI may be modified to guarantee seamless playback. The editing apparatus has the same structure as the recording apparatus. The SOBI generator corresponds to a SOBI updator in the editing apparatus. After editing by the editing apparatus, the SOBI updator analyzes the data stream information and updates seamless time control information so that data at either side of the boundary between data streams, at which seamless playback is not guaranteed, can be seamlessly played back. The recording controller 210 corresponds to an editing controller in the editing apparatus. The editing controller performs control such that edited data streams are recorded in a first area of a recording medium and updated data stream information is recorded in a second area of the recording medium.
More specifically, during playback, SOBs which have been recorded in a recording medium are sequentially read. Read packet data to which ATSs have been added is provided to the ATS processor 312. The ATS processor 312 resets the counter 304 to a value of the ATS of packet data which is first received and, simultaneously, outputs the corresponding first packet data. Thereafter, the ATS processor 312 compares the values of the ATSs of packet data with the count value of the counter 304 and outputs a corresponding packet data when the count value is equal to the value of the ATS of the corresponding packet data.
Once output of a single SOB is completed, the SOBI processor 310 reads the SOBI of a succeeding SOB. When it is determined from seamless information and seamless time control information that a value indicating “seamless playback” has been established, as described in
ATS and PCR, which are respectively shown in
When seamless time control information for guaranteeing seamless playback of two SOBs is to be obtained, primarily, the meaning of seamless playback must be defined. In a case of reproducing MPEG video data, seamless playback means that a last picture P1 of a preceding data stream, SOB 1, must be immediately followed by a first picture P2 of a succeeding data stream, SOB 2, so that the picture P2 can be sequentially output following the picture P1. A new PTS of the picture P2 can be obtained by adding a duration of one frame of the picture P1 to the PTS of the picture P1. Assuming that the difference between the PTS of the picture P2 and the PCR of the first packet of the SOB 2 is represented by Δ, a new PCR of the picture P2 must arrive at the buffer of the receiving party in advance of the new PTS of the picture P2, by an amount of time Δ. Accordingly, the value (4000 in
Since PCR values and ATS values are in a one-to-one correspondence in the predetermined intervals δ in SOB 1, a new value of the ATS of the first packet of SOB 2 can be obtained from the new PCR of the picture P2 and the value δ, that is, the new value of the first ATS of SOB 2 is obtained by adding the value δ to the value of the new PCR of the picture P2. The new value of the first ATS of SOB 2 is a counter value at which the first packet data of the SOB 2 is to be output to sequentially output the picture P2, when the counting operation of the counter 304 is maintained after the last packet data of SOB 1 is output. The counter value corresponding to the new value of the first ATS of the SOB 2 is referred to as a RT in this description. An offset value is a value of the difference between the RT and the value of the ATS of the first packet of SOB 2. A gap length value is a value of the difference between the RT and a value of the ATS of the last packet of SOB 1. Just one value among the RT, offset and gap length values may be used to derive the other values.
As shown in
In the above description, a recording/editing apparatus and a playback apparatus are separately implemented as shown in
According to the present invention, data streams can be seamlessly reproduced without interruption between the data streams by using data stream information which includes seamless information and/or seamless time control information (RT/offset/gap length). Particularly, by using the information structure according to the present invention, even if data streams are edited, the data streams can be seamlessly reproduced in such a simple manner of just modifying data stream information, instead of directly rewriting or modifying ATSs, which are added to packet data.
Number | Date | Country | Kind |
---|---|---|---|
98-55500 | Dec 1998 | KR | national |
99-840 | Jan 1999 | KR | national |
This application is a continuation application of U.S. patent application Ser. No. 09/461,292, filed Dec. 15, 1999, now U.S. Pat. No. 6,996,327, which claims the benefit of Korean Application Nos. 98-55500, filed Dec. 16, 1998 and Korean Application No. 99-840, filed Jan. 14, 1999, in the Korean Patent Office, the disclosures of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5854873 | Mori et al. | Dec 1998 | A |
5870523 | Kikuchi et al. | Feb 1999 | A |
5923869 | Kashiwagi et al. | Jul 1999 | A |
6137834 | Wine et al. | Oct 2000 | A |
6181870 | Okada et al. | Jan 2001 | B1 |
6252873 | Vines | Jun 2001 | B1 |
6996327 | Park et al. | Feb 2006 | B1 |
20020150392 | Yoo et al. | Oct 2002 | A1 |
Number | Date | Country |
---|---|---|
1197573 | Oct 1998 | CN |
0634867 | Jun 1995 | EP |
0731606 | Sep 1996 | EP |
0847195 | Jun 1998 | EP |
0847195 | Jun 1998 | EP |
05-054388 | Mar 1993 | JP |
08-195072 | Jul 1996 | JP |
09-139914 | May 1997 | JP |
10-164512 | Jun 1998 | JP |
1997-5029 | Jan 1997 | KR |
Number | Date | Country | |
---|---|---|---|
20060029366 A1 | Feb 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09461292 | Dec 1999 | US |
Child | 11242887 | US |