1. Field of the Invention
The present invention relates to a method and apparatus for recording received digital data streams on a recording medium and creating and recording management information pertaining to the recorded digital data streams.
2. Description of the Related Art
In conventional analog television broadcast systems, video signals are transmitted over the air or through cables after being AM or FM modulated. With the recent advance of digital technologies such as digital image compression or digital modulation/demodulation, standardization for digital television broadcast is in rapid progress. Based upon the Moving Picture Experts Group (MPEG) format, satellite and cable broadcast industry also moves towards digital broadcast.
Digital broadcast offers several advantages that its analog counterpart cannot provide. For example, digital broadcast is capable of providing services with far more improved video/audio quality, transmitting several different programs within a fixed bandwidth, and offering enhanced compatibility with digital communication media or digital storage media.
In digital broadcast, a plurality of programs encoded based upon the MPEG format are multiplexed into a transport stream which is then transmitted. The transmitted transport stream is received by a set top box at the receiver and demultiplexed into a plurality of programs. If a program is chosen from the demultiplexed programs, the chosen program is decoded by a decoder in the set top box and original audio and video signals are retrieved. The retrieved audio and video signals can be presented by an A/V output apparatus such as a TV.
It is also possible to record the received digital broadcast signals on a storage medium instead of directly outputting the received broadcast signals to A/V output devices. The stored digital broadcast signals can be edited and retrieved afterwards. For example, a digital data stream received by a set top box can be stored in a streamer such as a digital video disk (DVD) recording apparatus after being transmitted through communication interfaces like an IEEE-1394 serial bus. Later, the stored digital data stream can be edited and transmitted back to the set top box so that the stored original digital audio and video data can be presented.
For the above-mentioned systems, it is necessary to develop a method for recording a received digital data stream on a recording medium by partitioning the received data stream into minimum presentation units, each minimum presentation unit being a data decoding unit. Unless the recorded data stream maps to random-accessible minimum presentation units, the initial reproduction of the recorded stream after search operations may be imperfect.
Accordingly, it is an object of the present invention to provide a method and apparatus that records a received digital data stream by partitioning the received digital data stream into random-accessible data units.
A method for recording digital data streams in accordance with an embodiment of the present invention includes: (a) checking the existence of presentation entry point information for data discrete reproduction in a received digital transport stream of digital transport stream units, the presentation entry point information having been selectively inserted into the digital transport stream; (b) creating and recording information regarding the location of data section based upon the checked result, the data section being separated by the presentation entry point information; and (c) creating and recording indication information for a stream object containing groups of transport stream units, the indication information indicating whether or not the information regarding the location of data sections separated by the presentation entry point information exists.
Another method for recording digital data streams in accordance with an embodiment of the present invention includes: recording a received digital transport stream containing digital transport stream units by grouping the digital transport stream units into stream object units; and creating and recording information indicating whether or not presentation entry point information for data discrete reproduction is included in the created stream object units.
A method for recording digital data streams on a recording medium according to an embodiment of the invention, includes checking the existence of entry point information in a received digital transport stream, and creating map information regarding the entry point information, wherein the map information includes time information and location information regarding the entry point information.
An apparatus for recording digital data streams on a recording medium according to an embodiment of the invention, includes a mechanism for checking the existence of entry point information in a received digital transport stream, and a mechanism for creating map information regarding the entry point information, wherein the map information includes time information and location information regarding the entry point information.
These and other objects of the present application will become more readily apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
The accompanying drawings, which are included to provide a further understanding of the invention, illustrate the preferred embodiments of the invention, and together with the description, serve to explain the principles of the present invention.
In the drawings:
In order that the invention may be fully understood, preferred embodiments thereof will now be described with reference to the accompanying drawings.
The set top box 100 receives transport streams encoded by system encoders and transmitted by a plurality of broadcast stations and demultiplexes the received transport streams. After a system decoder 120 decodes the transport stream of a program tuned by a tuning unit 110, a control unit 140 outputs the decoded transport stream to an A/V output device such as a TV set for presentation.
The set top box 100 may transmit a program chosen by a user to the streamer 200 through an interface such as the IEEE-1394 interface so that the transmitted program is recorded on a recording medium 230 such as a digital video disk by the streamer 200.
In addition, as requested by a user, the set top box 100 may receive a program retrieved from the recording medium 230 by the streamer 200 through the IEEE-1394 communication interface so that the received program can be presented on a TV set after being decoded by the decoder 120.
A transport stream packet of a program stream, as shown in, e.g.,
The method for recording digital data streams in accordance with an embodiment of the present invention will now be described with reference to
If a user's request for recording an incoming data stream tuned by the tuning unit 110 has been received, the control unit 140 of the set top box 100 informs a control unit 250 of the streamer 200 that a recording mode is set and begins to transfer the received digital stream to the streamer 200 through the interface such as the IEEE-1394 interface. The control unit 250 of the streamer 200 controls a stream recording unit 220 to record the received data stream on the recording medium 230. The transport stream packets (TS Pkt 1˜TS Pkt k) constituting the data stream are recorded on the recording medium 230 along with respective transport stream packet arrival times (TS APATs), wherein the transport stream packets with packet arrival times are organized in sectors on the recording medium 230.
Concurrently, the control unit 250 of the streamer 200 detects the random access indicator contained in a transport stream packet header. If a random access indicator is detected, previously received transport stream packets and the transport stream packet having the random access indicator are grouped into a stream object unit (SOBU). Likewise, transport stream packets received after the transport stream packet having the random access indicator and a transport stream packet having the next random access indicator are grouped into another stream object unit (SOBU). In this manner, the received data stream is recorded on the recording medium as a series of stream object units (SOBU 1˜SOBU q) as shown in
If a predetermined number, for example 20, of stream object units (SOBUs) are created by repeating the grouping task, the control unit 250 creates and records a stream object unit index number (SOBU_N), an accumulated presentation time (ACC_TM), and an accumulated size (ACC_SZ) for the 20 stream object units. The accumulated presentation time (ACC_TM) and accumulated size (ACC_SZ) for each of 20 stream object units are the presentation time and size accumulated from the start position (SOB2_OFF_ADDR) of the stream object (SOB2) containing the associated stream object units to each of 20 stream object units, respectively.
After the recording mode ends, the control unit 250 of the streamer 200 groups the created stream object units (SOBUs) into a stream object (SOB) and groups the recorded accumulated sizes (ACC_SZs) and stream object unit sizes (SOBU_SZs) into a map. The map is stored in the management information area of a memory 260 as stream object information (SOBI).
Subsequently, the control unit 250 of the streamer 200 creates a presentation sequence information (Cell) concerning the map and stores the cell as the presentation sequence information corresponding to the created record (RCD) or program (PG) in the management information area of the memory 260.
The method for a time search operation by a user will now be explained by assuming that digital data streams are recorded on the recording medium by the aforementioned method.
If a user enters a search time (HH:MM:SS:FF) in order to search for a specific position on the recording medium 230, the control unit 250 of the streamer 200 looks for a record (RCD) or program (PG) corresponding to the user's search time (HH:MM:SS:FF) with reference to the creation times (PG1_Create_TM, PG2_Create_TM, PG3_Create_TM) of records (RCD1˜RCD3) or programs (PG1˜PG3). Suppose the detected program is PG2 shown in FIG. 3. Then, the control unit 250 looks for a Cell (Cell 2 shown in
Referring to the stream object information (SOBI) of the stream object SOB2 associated with the detected presentation sequence information Cell 2, the control unit 250 detects a target accumulated entry (ACC Entry, the entry shaded in
The control unit 250 controls a stream reproducing unit 240 to reproduce transport stream packets from the first sector (Sector 1) in which the detected target stream object unit (SOBUg shown in
The method for recording digital data streams in accordance with another embodiment of the present invention will be described with reference to the flow diagrams shown in
If a user's request for recording an incoming data stream tuned by the tuning unit 110 has been received, the control unit 140 of the set top box 100 informs the control unit 250 of the streamer 200 that a recording mode is set and begins to transfer the received digital stream to the streamer 200 through the IEEE-1394 interface (S11).
The control unit 250 of the streamer 200 controls the stream recording unit 220 to record the data stream received through the IEEE-1394 interface on the recording medium 230 (S13). The transport stream packets (TS Pkt 1˜TS Pkt k) constituting the data stream are recorded on the recording medium 230 along with respective transport stream packet arrival times (TS APATs), wherein the transport stream packets with packet arrival times are organized in sectors on the recording medium 230.
Subsequently, the control unit 250 resets an internal register for storing the number of transport stream packets (TS_Pkt_N) to zero (S15) and searches for a random access indicator (RAI) in the header of the first transport stream packet of the input data stream (S17). And the control unit 250 increments the internal register value indicative of the number of transport stream packets (TS_Pkt_N) by 1 (S19) and checks if a random access indicator has been discovered in step S17 (S21).
In the instance where the existence of a random access indicator is confirmed in step S21, the transport stream packets received up to the transport stream packet having the random access indicator are grouped into a stream object unit (SOBU) as performed in the previous embodiment (S23). Likewise, transport stream packets received after the transport stream packet having the random access indicator and the transport stream packet having the next random access indicator are grouped into another stream object unit (SOBU).
If a stream object unit is created, the control unit 250 creates a stream object unit presentation time (SOBU_TM) and a stream object unit size (SOBU_SZ) for the stream object unit (SOBU) and stores such map information in the management information area of the memory 260 as management information regarding the stream object unit (SOBU).
The control unit 250 checks whether a request for terminating the recording mode has been received (S27) during the recording mode. If it is not received, the control unit 250 continues to search for a random access indicator in the input data stream and initializes the number of transport stream packets (TS_Pkt_N) (S29). And the flow returns to step S19.
If the terminating command is received, the control unit 250 reads the management information stored in the management information area of the memory 260 and records the information in the management information area of the recording medium 230 before terminating the recording mode (S31).
After the recording mode ends, the control unit 250 of the streamer 200 groups the created stream object units (SOBUs) into a stream object (SOB), and groups the recorded accumulated sizes (ACC_SZs), which have been generated during the recording mode as in the aforementioned embodiment, and stream object unit sizes (SOBU_SZs) into a map. The map is stored in the management information area of the memory 260 as stream object information (SOBI). In addition, the control unit 250 also creates presentation sequence information for the grouped stream object and records it as cell information for the stream object.
Additionally, the control unit 250 sets the value of a stream object unit grouping type indication flag contained in the stream object information (SOBI) to 1 for indicating that stream object units constituting the stream object are created based upon the random access indicator.
The value of the stream object unit grouping type indication flag implies that the stream object unit (SOBU) is created so that it is randomly accessible and thus the stream object unit (SOBU) is the basic group for a trick-play which means data-discrete reproduction. This fact also means that the stream object unit (SOBU) contains a random access entry point.
Stream object units can be created in many different ways. For example, it is possible to generate stream object units of a predetermined size without regard to the random access indicator. If a random access indicator is detected from a stream object unit, a flag indicative of the fact can be set to 1 for the stream object unit (SOBU) and recorded on the recording medium.
To be more specific, an n-bit data is created for a stream object including n stream object units (SOBU1˜SOBUn) and each bit of the data is associated with each stream object unit. Then, it can be examined whether a stream object unit (SOBU) has a random access indicator by simply checking the associated bit value.
In the meantime, if it is verified that a random access indicator is not discovered in step S21, the control unit 250 checks if the number of transport stream packets (TS_PKT_N) stored in the internal register is greater than a predetermined value K (S33). If not, the flow returns to step S17 and continues the aforementioned procedure.
The value K is determined in consideration of the minimum transfer rate of a data stream. For example, suppose that the desirable minimum time length of a stream object unit (SOBU) is 0.5 s (seconds) and the minimum transfer rate of an input data stream is 3 Mbps. In this case, the size of data received for 0.5 s exceeds 1875000 bytes and more than 997 transport stream packets are received for 0.5 s with each transport stream packet having 188 bytes. Considering the number of transport stream packets received for 0.5 s, it is desirable to set the value K greater than 997. It is because at least one packet among 997 transport stream packets should have a random access indicator if the data stream is supposed to contain random access indicators.
If the number of transport stream packets (TS_PKT_N) stored in the internal register is greater than the predetermined value K in step S33, the control unit 250 decides that random access indicators were not inserted into the data stream when the data stream was transmitted by the associated broadcast station. The flow continues to step S35.
With reference to time information contained in the transport stream packets, the control unit 250 records the received transport stream packets by grouping them into stream object units, with each stream object unit (SOBU) having a fixed time length, for example, 0.5 s (S35). Also, the control unit 250 creates a stream object unit size (SOBU_SZ) and a stream object unit presentation time (SOBU_TM) for each stream object unit (SOBU) and records the created information as management information for the associated stream object unit (SOBU) (S37). The stream object unit size (SOBU_SZ) of a stream object unit (SOBU) is expressed in terms of the number of sectors containing the stream object unit. If 20 stream object units (SOBUs) are created after 10 s elapses, the control unit 250 creates and records a stream object unit index number (SOBU_N), an accumulated presentation time (ACC_TM), and an accumulated size (ACC_SZ) for each stream object unit (SOBU). The accumulated presentation time (ACC_TM) and accumulated size (ACC_SZ) of a stream object unit are the presentation time and size accumulated from the start position (SOB2_OFF_ADDR) of the stream object (SOB2) containing the stream object unit to the stream object unit, respectively.
After the recording mode ends, the control unit 250 groups the created stream object units (SOBUs) into a stream object (SOB) and groups the recorded accumulated sizes (ACC_SZs) and stream object unit sizes (SOBU_SZs) into a map. The map is stored in the management information area of the memory 260 as stream object information (SOBI).
At this time, the control unit 250 sets the stream object unit grouping type indication flag contained in the stream object information (SOBI) to zero to inform that stream object units (SOBUs) constituting the stream object (SOB) have not been generated based upon random access indicators but generated based upon time.
Subsequently, the control unit 250 of the streamer 200 creates a presentation sequence information (Cell) concerning the map and stores it in the management information area of the memory 260 as the presentation sequence information corresponding to the record (RCD) or program (PG) which has been created by a single recording operation.
The control unit 250 checks whether a request for terminating the recording mode has been received (S39). If so, the flow branches to step S31 wherein the management information stored in the management information area of the memory 260 is recorded in the management information area of the recording medium 230 and the recording mode terminates. If not, the flow returns to step S35 to the aforementioned recording procedure.
If a user sets a time search mode in order to search for specific data recorded on the recording medium by the above-mentioned method described with reference to
If a user enters a search time (HH:MM:SS:FF) in order to search for a specific position on the recording medium 230 (S41), the control unit 250 of the streamer 200 looks for a record (RCD) or program (PG) corresponding to the user's search time (HH:MM:SS:FF) with reference to the creation times (PG1_Create_TM, PG2_Create_TM, PG3_Create_TM) of records (RCD1˜RCD3) or programs (PG1˜PG3). Suppose the detected program is PG2 shown in FIG. 3. Then, the control unit 250 looks for a Cell (Cell 2 shown in
Next, the control unit 250 reads stream object unit grouping type indication flag from the stream object information (SOBI) of the stream object SOB 2 corresponding to the detected Cell 2 (S45) and checks if the flag is 1 (S47). The flag value “1” indicates that stream object units constituting the stream object SOB 2 have been created based on random access indicators (S47).
If it is confirmed in step S47 that the flag is 1, the control unit 250 searches for a stream object unit (SOBUg in
If it is confirmed in step S47 that the flag is not 1, the control unit 250 detects a target accumulated entry (ACC Entry, the entry shaded in
As a next step, the control unit 250 detects the transport stream packet arrival time (TS APAT) of each transport stream packet from the first sector Sector 1 containing the detected stream object unit SOBUg and compares the packet arrival time with the user's search time (HH:MM:SS:FF). The control unit 250 starts to retrieve recorded data from the transport stream packet whose packet arrival time is after the user's search time and controls the stream reproducing unit 240 so that the retrieved data can be transferred to the set top box 100 through the IEEE-1394 interface 210 (S55).
The invention may be embodied in other specific forms. For example, the invention is not only applicable to the apparatus shown in
In the previous embodiments, the random access indicators contained in the received data stream were detected by the control unit of the streamer. It is also possible, however, for the control unit of the set top box to detect the random access indicators and transmit the detected random access indicators to the streamer through the IEEE-1394 interface. In this case, the control unit of the set top box detects random access indication information for each transport stream packet and adds a flag indicative of the existence of the random access indication information during time stamping of the associated transport stream packet. The control unit of the streamer checks the flag and determines the method for creating stream object units depending on the flag value.
According to the present invention, random access information contained in a received digital data stream is detected and stream object units are created based upon the detected random access information, which enables reproduction of recorded data to start from the transport stream packet having the random access information and prevents imperfect data reproduction after track seek or time seek operations.
Also, the received digital data stream is recorded on a recording medium by partitioning the received data stream into random-accessible minimum presentation units or presentation units of a fixed time length depending upon the existence of random access indication information, thereby not limiting the usage of the apparatus.
The invention may be embodied in other specific forms without departing from the sprit or essential characteristics thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Number | Date | Country | Kind |
---|---|---|---|
98-48096 | Nov 1998 | KR | national |
This application is a continuation of Application No. 09/435,608, filed on Nov. 8, 1999, now issued as U.S. Pat. No. 6,470,135 B1 on Oct. 22, 2002, the entire contents of which are hereby incorporated by reference and for which priority is claimed under 35 U.S.C. §120; and this application claims priority of Application No. 98-48096 filed in Korea on Nov. 8, 1998 under 35 U.S.C. §119.
Number | Name | Date | Kind |
---|---|---|---|
5621840 | Kawamura et al. | Apr 1997 | A |
5740307 | Lane | Apr 1998 | A |
5832085 | Inoue et al. | Nov 1998 | A |
5859949 | Yanagihara | Jan 1999 | A |
6002834 | Hirabayashi et al. | Dec 1999 | A |
6016382 | Yamagishi et al. | Jan 2000 | A |
6028726 | Yanagihara | Feb 2000 | A |
6065050 | DeMoney | May 2000 | A |
6115531 | Yanagihara | Sep 2000 | A |
6229801 | Anderson et al. | May 2001 | B1 |
6466733 | Kim | Oct 2002 | B1 |
6470135 | Kim et al. | Oct 2002 | B1 |
Number | Date | Country |
---|---|---|
7212768 | Aug 1995 | JP |
8163496 | Jun 1996 | JP |
9322111 | Dec 1997 | JP |
10243352 | Sep 1998 | JP |
Number | Date | Country | |
---|---|---|---|
20030002856 A1 | Jan 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09435608 | Nov 1999 | US |
Child | 10232706 | US |