The present invention relates to a technique of realizing a special type of movie playback operation such as fast forward playback or fast rewind operation. More particularly, the present invention relates to a technique of enabling a client device, which is doing a streaming playback of a movie that is being recorded by a server device in a network environment, to make such a special type of playback operation.
Recently, devices for recording a telecast program, for example, on a hard disk or an optical disk have become increasingly popular. Hard disks and optical disks are randomly accessible storage media. By utilizing such capability, the majority of those devices allow the user to record a program and play back, watch and listen to recorded portions of that program at the same time.
Some of those devices have a server function, i.e., the function of distributing movie data to other devices when connected to a network. A device with such a server function will be referred to herein as a “server device”, while a device that receives the distributed program data will be referred to herein as a “client device”. The client device can play back a movie while receiving the data of the movie from a server device over a network. A playback operation of this type will be referred to herein as a “streaming playback operation”.
The client device can also do a streaming playback of a recorded movie that is stored on the server device. This streaming playback includes special types of playback operations such as a fast forward playback and a fast rewind playback. For example, Patent Document No. 1 discloses a technique of enabling a special playback while carrying out a streaming playback over a network. According to the technique disclosed in Patent Document No. 1, the server device records a movie on a hard disk and then analyzes the movie, generates management information that is needed to make a special playback, and stores that information on the HDD, too. In doing a streaming playback of the movie, the client device gets the management information from the server device in advance and then gets the movie data from the server device by reference to the management information got. Thus, even if a special playback were carried out during a streaming playback, the storage capacity of a memory for accumulating the movie data can be reduced on the client device side.
Problems to be Solved by the Invention
According to the network movie playback method, however, it is impossible to make a special playback of portions of the movie that has been recorded after the movie data has started to be distributed. This is because the management information that was got by the client device does not include the management information of those portions of the movie that have been recorded after the movie started to be distributed. Consequently, according to this method, no special playback can be carried out while a streaming playback of a movie being recorded is being performed.
In addition, the management information includes description about the attributes of the movie such as the resolution thereof. Accordingly, if the attributes changed after the movie data started to be distributed, those portions of the movie that have been recorded after the movie started to be distributed could not be played back, either, which is also a problem.
Means for Solving the Problems
An object of the present invention is to enable a special playback of those portions of the movie that have been recorded after a streaming playback was started.
A server device according to the present invention is used with a client device in a movie distribution system. The server device includes: a video recording processing section for recording a movie and generating not only movie data, made up of predetermined data units, but also management information in which a playback duration and a data size are associated with each other with respect to each said data unit; a storage medium to store the movie data and the management information thereon; a receiving section, which receives a request to get the management information and a request to transmit the data unit from the client device; a request processing section for reading the management information and the data unit in response to the request to get and the request to transmit, respectively, and instructing that the management information and the data unit be transmitted; and a transmitting section for transmitting the management information and data unit selected. If the request to transmit the data unit has been received after the management information was transmitted, the request processing section instructs that at least a piece of the newest management information be transmitted with the data unit selected by the request to transmit.
The request processing section may instruct that a piece of the management information, which has been updated after the management information was transmitted and until the at least one data unit selected by the request to transmit is transmitted, be transmitted.
When the video recording processing section stops recording the movie, the request processing section may instruct that a notification of the stop of recording be sent and the transmitting section may send the notification with the data unit selected by the request to transmit.
The transmitting section may transmit at least two of: the data unit; at least the piece of the newest management information; and the notification, that are stored in separate sections of a message so as to be distinguished from each other.
The movie data may concern a stream compliant with one of the MPEG standards and the data unit may be a video object unit.
The video recording processing section may generate management information in which playback-related attributes of the movie are further associated with each said data unit.
A client device according to the present invention is used with a server device in a movie distribution system. The server device records a movie and stores not only movie data, made up of predetermined data units, but also management information in which a playback duration and a data size are associated with each other with respect to each said data unit. The client device includes: a transmitting section for sending the server device a request to get the management information and a request to transmit the data unit; a receiving section for receiving the management information and the data unit from the server device that has responded to the request to get and the request to transmit, respectively; a playback control section for finding a data unit that is needed to make a streaming playback by reference to the management information and instructing that the request to transmit be sent; and a movie output processing section for playing back the movie based on the data unit received. The receiving section receives not only the data unit but also at least the piece of the newest management information from the server device.
The receiving section may receive a piece of the management information, which has been updated after the server device transmitted the management information in response to the request to get and until the at least one data unit selected by the request to transmit is transmitted.
The receiving section may receive not only the data unit but also a notification of stop of recording from the server device.
The receiving section may receive a message, in which at least two of: the data unit; at least the piece of the newest management information; and the notification, are stored, and may identify and retrieve the at least two of them.
The movie data may concern a stream compliant with one of the MPEG standards and the data unit may be a video object unit.
The receiving section may receive management information in which playback-related attributes of the movie are further associated with each said data unit, and the movie output processing section may play back the movie in accordance with the attributes and the data units.
A movie distribution system according to the present invention allows a client device to receive movie data, made up of predetermined data units, from a server device and to make a streaming playback of the movie. The server device of the movie distribution system includes: a video recording processing section for recording a movie and generating not only movie data, made up of predetermined data units, but also management information in which a playback duration and a data size are associated with each other with respect to each said data unit; a storage medium to store the movie data and the management information thereon; a server receiving section, which receives a request to get the management information and a request to transmit the data unit from the client device; a request processing section for reading the management information and the data unit in response to the request to get and the request to transmit, respectively, and instructing that the management information and the data unit be transmitted; and a server transmitting section for transmitting the management information and data unit selected. The client device of the distribution system includes: a client transmitting section for sending the server device the request to get the management information and the request to transmit the data unit; a client receiving section for receiving the management information and the data unit from the server device that has responded to the request to get and the request to transmit, respectively; a playback control section for finding a data unit that is needed to make the streaming playback by reference to the management information and instructing that the request to transmit be sent; and a movie output processing section for playing back the movie based on the data unit received. If the request to transmit the data unit has been received after the management information was transmitted, the request processing section of the server device instructs that at least a piece of the newest management information be transmitted with the data unit selected by the request to transmit and the client receiving section receives not only the data unit but also at least the piece of the newest management information from the server device.
A method according to the present invention is carried out by a server device for use with a client device in a movie distribution system. The method includes the steps of: recording a movie and generating not only movie data, made up of predetermined data units, but also management information in which a playback duration and a data size are associated with each other with respect to each said data unit; storing the movie data and the management information; receiving a request to get the management information from the client device; transmitting the management information in response to the request to get; receiving a request to transmit the data unit that has been selected by the client device by reference to the management information transmitted; and reading the selected data unit in response to the request to transmit and transmitting the data unit. If the request to transmit the data unit has been received after the management information was transmitted, the step of transmitting the data unit includes transmitting at least a piece of the newest management information with the data unit selected by the request to transmit.
Another method according to the present invention is carried out by a client device for use with a server device in a movie distribution system. The server device records a movie and stores not only movie data, made up of predetermined data units, but also management information in which a playback duration and a data size are associated with each other with respect to each said data unit. The method includes the steps of: sending the server device a request to get the management information; receiving the management information from the server device that has responded to the request to get; finding a data unit that is needed to make a streaming playback by reference to the management information and instructing that a request to transmit be sent; receiving the data unit from the server device that has responded to the request to transmit; and playing back the movie based on the data unit received. The step of receiving the data unit includes receiving not only the data unit but also at least a piece of the newest management information from the server device.
Effects of the Invention
In a movie distribution system according to the present invention, a server device transmits not only the movie data but also the difference of the newest management information to a client device. That is why when making a streaming playback of the movie being recorded, the client device can carry out a special playback of those portions that have been updated after the streaming playback was started. Also, even if the attribute information of the movie being recorded changed during the recording operation, the client device can also continue the streaming playback operation.
Portions (a) to (d) of
Portions (a) through (e) of
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
A movie distribution system, which is designed to make a server device distribute movie data to a client device over a network, will be described as a first specific preferred embodiment of the present invention. First of all, the data structure of the movie data to distribute will be described, and then the functions and operations of respective components of the movie distribution system will be described. In the following description, the “movie” will refer to a content that includes both video and audio (i.e., a broadcast program). However, the data to be distributed over the network needs to include at least one of video and audio, not necessarily both.
In this preferred embodiment, an MPEG-2 program stream compliant with the DVD Video Recording standard (which will be referred to herein as the “VR standard”) will be described as exemplary movie data. The VR-compliant MPEG-2 program stream has a data structure that can be used effectively to record a movie in real time on a recordable/rewritable DVD, for example. Thus, the server device is supposed to record a movie and distribute the recorded movie both as a VR-compliant MPEG-2 program stream.
The program stream 1 includes a plurality of video objects (VOBs) #1, #2, . . . , and #k (all of which are collectively identified by the reference numeral 2). Supposing the program stream 1 is a recorded content, for example, each VOB stores movie data that was generated during a single video recording session (i.e., since the user started recording the video and until he or she stopped doing it).
Each VOB includes a plurality of VOB units (VOBUs) #1, #2, . . . , and #n (all of which are collectively identified by the reference numeral 10). Each VOBU is a data unit containing data with a video playback duration of about 0.4 second to about 1 second. Hereinafter, the data structure of VOBUs will be described with the first and second video object units VOBU #1 and VOBU #2 taken as an example.
VOBU #1 is composed of a number of packs. In the program stream 50, each pack has a fixed data length (also called a “pack length”) of 2 kilobytes (i.e., 2,048 bytes). At the top of the VOBU, a real time information pack (RDI pack) 11 is positioned as indicated by “R” in
Each pack stores the following information. The RDI pack 11 stores various information for controlling the playback of the program stream 1, e.g., information representing the playback timing of the VOBU and information for controlling copying of the program stream 1. The video packs 12a, 12b store MPEG2-compressed video data thereon. The audio packs 13 store audio data that was compressed so as to comply with the MPEG2 Audio standard, for example. In adjacent video and audio packs, video and audio data to be played back synchronously with each other may be stored. However, those packs may be arranged in any order.
VOBU #2 is also made up of a plurality of packs. An RDI pack 14 is placed at the top of VOBU #2, and then followed by a plurality of video packs 15 and a plurality of audio packs 16. The contents of the information to be stored in each of these packs are similar to those of VOBU #1.
The video data 12a-1 of the video pack 12a shown in
The video data 12a-1 further includes a sequence header 17 and a GOP header 18. The MPEG2 standard defines a “group of pictures (GOP)” as a group of video pictures. The GOP header 18 indicates the top of each GOP. The first picture of each GOP is always an I-picture.
Next, a network configuration according to this preferred embodiment will be described with reference to
One of the prime features of this movie distribution system 100 lies in that in an environment where the server device 101 is recording a movie while the client device 102 is making a streaming playback of the movie, the server device 101 sends not only the movie data but also the difference of the management information that is needed to make a special playback to the client device 102. As used herein, the “difference of the management information” refers to portions of the management information that have been updated after the movie data was transmitted last time and until movie data is transmitted next time. As a result, the client device 102 can make a special playback (such as a fast forward playback or a fast rewind playback) of the movie being recorded. In addition, the client device 102 may have a reduced RAM capacity, which is also advantageous when the client device 102 is actually set up.
The respective components of the server device 101, and eventually the overall device itself, can be operated mainly by making the CPU 201 expand the program stored in the ROM 203 on the RAM 202 and then execute it. Their functions will be described more fully later with reference to
The TV tuner 204 receives an analog TV signal, for example, and extracts only a signal transmitted from a particular TV station. This TV signal ordinarily includes respective signal components representing video and audio (i.e., movie). The extracted signal is an analog signal.
The A/D converter 205 converts the extracted analog signal into a digital signal. The MPEG-2 encoder 206 compresses and encodes the digital signal so as to comply with the MPEG-2 standard, thereby generating a program stream 1. As to video data, the MPEG-2 encoder 304 compresses and encodes the digital video signal following the MPEG-2 standard, thereby obtaining picture data. Then, the MPEG-2 encoder 206 turns that picture data into packs with the data structure shown in
The HDD 207 sequentially stores the generated program stream 1 onto a hard disk. The network interface 208 is a network terminal for connecting this device to Ethernet™, for example, and connects the server device 101 to the network 103.
When the user inputs his or her command to be executed by the server device 101 using the remote controller transmitter 210, the remote controller transmitter 210 outputs a command signal representing the user's command. On receiving the command signal, the remote controller receiver 209 passes that signal to the CPU 201. In response, the CPU 201 instructs a type of processing to be done in accordance with the command signal. Optionally, the remote controller transmitter 210 may be replaced with an input button on the server device 101. Even by pressing the input button, a command signal representing the user's command can also be input to the server device 101.
The respective components of the client device 102, and eventually the overall device itself, can be operated mainly by making the CPU 301 expand the program stored in the ROM 303 on the RAM 302 and then execute it. Their functions will be described more fully later with reference to
The MPEG-2 decoder 304 extracts video data and audio data from the program stream, decodes those data, and then outputs them as a movie. As to video data, the MPEG-2 decoder 304 extracts picture data from the program stream according to the hierarchy shown in
When the user inputs his or her command to be executed by the client device 102 using the remote controller transmitter 309, the remote controller transmitter 308 outputs a command signal representing the user's command. On receiving the command signal, the remote controller receiver 308 passes that signal to the CPU 301. In response, the CPU 301 instructs a type of processing to be done in accordance with the command signal. Optionally, the remote controller transmitter 309 may be replaced with an input button on the client device 102. Even by pressing the input button, a command signal representing the user's command can also be input to the client device 102.
The server device 101 includes a request reception processing section 401, a request processing section 402, a transmission processing section 403, and a movie recording processing section 404. Management information 405 and MPEG-2 movie data 406 are stored on an HDD 207. Meanwhile, the client device 102 includes a request sending processing section 407, a streaming playback control section 408, a reception processing section 409, and a movie output processing section 410. A management information buffer 411 and an MPEG-2 data buffer 412 are provided in the RAM 302 of the client device 102. In
First, it will be described how the server device 101 performs video recording processing. When the user inputs a command to start video recording, the movie recording processing section 404 gets the received TV signal converted into an analog movie signal by the TV tuner 204 and then gets the analog movie signal converted into a digital movie signal by the A/D converter 205. Thereafter, the digital movie signal is compressed by the MPEG-2 encoder 206 into MPEG-2 data, which is then stored as MPEG-2 movie data 406 on the HDD 207. A series of operations of this video recording processing are repeatedly carried out until the user inputs a command to stop video recording.
In addition, the movie recording processing section 404 stores not only the MPEG-2 movie data 406 but also information needed to make a special playback of the MPEG-2 movie data 406 (i.e., the management information 405) on the HDD 207.
The entries included in the management information 405 are provided for all VOBUs of the MPEG-2 movie data 406. That is to say, if the MPEG-2 movie data 406 includes a number n of VOBUs, then the management information 405 also includes the same number n of entries. Every time a VOBU of the MPEG-2 movie data 406 is generated, the movie recording processing section 404 sequentially records the VOBU playback duration 501 and the GOP data size 502 of that VOBU on the HDD 207. Optionally, the management information 405 may be TMAP information included in navigation data defined by the VR standard.
Each entry of this management information 405 contains information about its associated VOBU. However, this is just an example. Alternatively, the information about a VOBU may be replaced with information about a group of pictures (GOP) as shown in
Hereinafter, it will be described how the client device 102 can make a streaming playback of a movie that is being recorded by the server device 101.
On receiving the request, the request reception processing section 401 of the server device 101 instructs the request processing section 402 to read the management information 405 from the HDD 207. In accordance with this instruction, the request processing section 402 reads the management information 405 and transfers it to the transmission processing section 403. At this point in time, the management information 405 is supposed to include Entries #1 through # (k−1). The request processing section 402 memorizes the last entry number (k−1) at this point in time. Thereafter, the transmission processing section 403 transmits the management information 405 as the response of the GET method to the reception processing section 409 of the client device 102 (in Step S02). On receiving the management information 405, the reception processing section 409 of the client device 102 stores the management information 405 on the management information buffer 411 (in Step S03).
After that, the streaming playback control section 408 of the client device 102 starts to get the MPEG-2 movie data 406. It should be noted that in this processing step, the streaming playback control section 408 cannot get all of the MPEG-2 movie data 406 at a time. By reference to the management information 405 stored in the management information buffer 411, the streaming playback control section 408 calculates the address of each VOBU included in the MPEG-2 movie data 406 based on the VOBU playback duration 501 and the VOBU data size 502. Then, the streaming playback control section 408 instructs the request sending processing section 407 to get required VOBUs for playback at appropriate presentation times on a VOBU basis. As used herein, the “address of each VOBU” is a piece of data storage location information showing at what bit location each VOBU starts as counted from the beginning of the MPEG-2 movie data 406.
The request sending processing section 407 sends out a request to get the VOBU to the request reception processing section 401 of the server device 101 by the HTTP GET method (in Step S04). In this processing step, the address of the VOBU is specified by the RANGE header of the GET method.
This VOBU getting process is applicable for use in various playback methods. For example, if the user wants to play back a movie being recorded from the beginning, then the streaming playback control section 408 instructs that the movie data be got from the very first VOBU. On the other hand, if the user wants to play back a movie being recorded from a particular scene, then the streaming playback control section 408 instructs that the movie data be got from a VOBU including that scene. Furthermore, if the user wants to play back a movie at 2× rate, the streaming playback control section 408 instructs that the next VOBU be got when a half of the scheduled playback duration of a given VOBU is gone. The first and second examples are normal playback operations but the third example is a so-called special playback. In the third example, the playback rate is supposed to be 2×. However, any other playback rate may be adopted, too, and the streaming playback control section 408 may request VOBUs intermittently at an interval corresponding to the playback rate adopted.
As can be seen easily from these examples, any VOBU may be got at any time according to the user's command. As a result, a special type of playback operation may be carried out during the streaming playback.
On receiving the request to get a VOBU from the request sending processing section 407 of the client device 102, the request reception processing section 401 of the server device 101 instructs the request processing section 402 to read MPEG-2 data corresponding to the VOBU from the HDD 207. In accordance with this instruction, the request processing section 402 reads the MPEG-2 data and then transfers it to the transmission processing section 403. In response, the transmission processing section 403 generates transmission data 413 as a response message of the GET method and adds the MPEG-2 data as the MPEG-2 data 414 to the transmission data 413 (in Step S05).
Hereinafter, it will be described how to make a streaming playback of the MPEG-2 movie data 406 being recorded. The MPEG-2 movie data 406 being recorded is updated over and over again until the video recording operation is stopped in response to a user's command, for example. Accordingly, the management information 405 associated with the MPEG-2 movie data 406 also continues to be updated a number of times. In the example shown in
Meanwhile, only the non-updated management information 405 of Entry #(k−1) is stored in the management information buffer 411 of the client device 102. The streaming playback control section 408 requests the MPEG-2 data 414 by reference to the management information stored in the management information buffer 411. That is why the streaming playback control section 408 cannot request portions of the MPEG-2 movie data 406 that have been updated after the streaming playback was started.
To overcome this problem, when the management information 405 is updated, the request processing section 402 transmits not only the MPEG-2 data 414 but also the update difference of the management information 405 to the transmission processing section 403 of the client device 102. As used herein, the “update difference” of the management information 405 refers to a portion of the management information, which has entry number(s) following the last entry number of the management information 405 that was transmitted to the client device 102 last time till the last entry number just before the MPEG-2 data 414 is transmitted to the reception processing section 409 of the client device 102. In the example shown in
The transmission processing section 403 adds the update difference as the management information update difference 415 to the transmission data 413 (in Step S06). Also, when the video recording operation is stopped, the request processing section 402 notifies the transmission processing section 403 of the event of stopped video recording. In response to this notification, the transmission processing section 403 adds information showing the stop of recording as event information 416 to the transmission data 413 (in Step S07). In this case, the transmission data 413 becomes a multipart message. As used herein, the “multipart message” is a message to be transmitted in multiple parts. In the multipart message, the border between two adjacent parts is defined by a declared predetermined character string called a “boundary”, and one part is distinguishable from the other parts. The transmission processing section 403 transmits the update difference of the management information and the movie data as a mixture in a single TCP session. Thus, there is no need to have processing(s) for the reception processing section 409 of the client device 102 to manage a plurality of TCP sessions in connection with the update difference processing. As a result, the RAM capacity that is usually reserved for this type of processing can be cut down. Having added those data to the transmission data 413, the transmission processing section 403 of the server device 101 transmits the transmission data 413 to the reception processing section 409 (in Step S08).
On receiving the transmission data 413, the reception processing section 409 of the client device 409 extracts the MPEG-2 data 414 from the transmission data 413 and stores it on the MPEG-2 data buffer 411 (in Step S09). Also, when identified the transmission data 413 as a multipart message and sensed that the management information update difference 415 is included in the message, the reception processing section 409 extracts the management information update difference 415 from the transmission data 413 and adds the management information update difference 415 to the management information buffer 411, thereby updating the management information 405 stored in the management information buffer 411 (in Step S10) As a result, the streaming playback control section 408 can also request to get the MPEG-2 data 414 for those portions of the MPEG-2 movie data 406 that have been updated after the streaming playback operation was started. Also, if the event information 416 is included in the transmission data 413, then the streaming playback control section 408 extracts the event information 416 from the transmission data 413 and transfers it to the streaming playback control section 408.
The streaming playback control section 408 transfers the MPEG-2 data 414 from the MPEG-2 data buffer 411 to the movie output processing section 410. In response, the movie output processing section 410 performs predetermined processing on the MPEG-2 data 414, thereby outputting video and audio (i.e., movie) to the external display 310 (in Step S11). The processing of the movie output processing section 410 is actually done by getting the MPEG-2 data 414 expanded by the MPEG-2 decoder 304 into a digital movie signal, getting the digital movie signal converted into an analog movie signal by the D/A converter 305, getting the analog movie signal drawn by the movie output section 306 and then outputting it to the external display 310.
In the streaming playback, the processing steps S04 through S11 are repeatedly carried out over and over again until the user inputs a command to stop the streaming playback or until the end of the MPEG-2 movie data 406 is reached. If the MPEG-2 movie data 406 is being recorded when the streaming playback is started, then the streaming playback control section 408 of the client device 402 senses, by the event information 416, that the recording of the MPEG-2 movie data 406 has been stopped, thereby detecting the end of the MPEG-2 movie data 406. Even when the recording operation is brought to a brief pause, the streaming playback control section 408 also receives a similar notification, thereby recognizing that state.
In the foregoing description, the server device 101 does not have the function of playing back the MPEG-2 movie data 406 that is stored on the HDD 207. However, the server device 101 may have that function. The client device 102 does not have the function of recording the MPEG-2 movie on a storage medium such as a HDD, either, but may have that function.
A process of handling distributed movie data even when the video being recorded changes its resolutions will be described as a second preferred embodiment of the present invention.
The movie distribution system 100 of this preferred embodiment also has the same overall configuration as that shown in
When the movie recording processing section 404 is writing an analog broadcast signal, for example, as MPEG-2 movie data 406, the attributes of the movie such as the resolution and the number of audio channels may change. Particularly if the movie changes its attributes before and after the management information is updated by the client device 102, then the client device 102 cannot sense the change and the decoding process may fail.
That is why the movie recording processing section 404 of the server device 101 generates movie attribute information 703 and sequentially writes it as pieces of the management information on the HDD 207.
The sequence in which the client device 102 makes a streaming playback of a movie being recorded by the server device 101 is basically the same as that shown in
In the preferred embodiments of the present invention described above, the video recording operation by the server device 101 is supposed to be realized by generating an MPEG-2 program stream from an analog TV signal, for example, and writing it on the HDD 207. Optionally, however, the server device 101 may receive an MPEG-2 transport stream, which is adopted in a digital telecasting, subject the stream to a predetermined process, and then write it on either the HDD 207 or a Blu-ray disc (BD). A BD is an optical disk from/on which data can be read and written using a laser beam with a wavelength of about 405 nm and which has a capacity of about 25 GB per storage layer.
In this case, the MPEG-2 transport stream is written while maintaining its packet structure. In the following description, the MPEG-2 transport stream is supposed to be written on the HDD 207.
Thus, the data structure of an MPEG-2 transport stream to be transmitted as a digital broadcasting wave will be described with reference to FIGS. 10 to 13. It should be understood from the following description that what was described for the first and second preferred embodiments that use the program stream 1 is also applicable to an MPEG-2 transport stream. In the following description, the “MPEG-2 transport stream” will be simply referred to herein as a “transport stream” or “TS”.
Hereinafter, the video TS packets and audio TS packets contributing to the processing of the present invention will be described.
As can be seen from this example, a TS packet usually consists of a transport packet header of 4 bytes and elementary data of 184 bytes. In the packet header, a packet identifier (PID) showing the type of that packet is described. For example, the PID of a video TS packet is 0x0020, while that of an audio TS packet is 0x0021. The elementary data may be content data such as video data or audio data or control data for controlling the playback. The type of the data stored there changes according to the type of the packet.
Hereinafter, a correlation between video data and pictures that make up the video will be described as an example. Portions (a) to (d) of
A packetized elementary stream is made up of the video data of respective video TS packets such as the video data 40a-2. Portion (b) of
Each PES payload 41a-2 includes the data of a single picture. An elementary stream is made up of those PES payloads 41a-2. Portion (c) of
In the picture header 42a shown in portion (c) of
The picture data 42b, 42d, etc. is data corresponding to a single frame, which may consist of either that data only or that data and preceding/succeeding data to be decoded before and/or after the former data. For example, portion (d) of
A transport stream of digital broadcasting may include video, audio and other TS packets of multiple programs in combination. That is why in recording a program, the packets needed to play back the program should be extracted. Thus, it will be described with reference to
Portions (a) through (e) of
The partial TS 51 may include the TS packets about the program X, for example.
Portion (c) of
Portion (d) of
Portion (e) of
It should be noted that the clip AV stream 52 shown in portion (c) of
The clip AV stream 52 written on the HDD 207 of the server device 101 corresponds to the MPEG-2 movie data 406 of the first preferred embodiment described above. Meanwhile, to carry out the processing of the present invention, management information for the clip AV stream 52 is also needed. Thus, management information for the clip AV stream 52 will be described with reference to
As to video, the presentation time stamp (PTS) represents the PTS of each I-picture arranged at the top of a GOP compliant with the MPEG standard shown in
It should be understood that if the description about the management information and MPEG-2 movie data for the first and second preferred embodiments (e.g., the description about
The movie output processing section 410 of the client device 102 can make a special playback operation in the following manner. The “special playback” is to shift the presentation time of a picture either forward or backward by increasing the playback rate by the factor of 2 or ½, for example. Thus, to make the special playback, it is only necessary to specify the presentation time earlier or later than the normal mode.
Thus, when starting a playback operation from a picture other than the I-picture at the top of a GOP, the movie output processing section 410 of the client device 102 begins the decoding process with the I-picture designated by the management information (EP_map) and starts outputting the movie from the picture at the specified time while analyzing and decoding the pictures that follow the I-picture. As a result, not only can the playback operation be started from any arbitrary point but also can the playback/output operation be started from any picture.
In
By setting up a movie distribution system consisting of server and client devices according to the present invention, even if the server device is recording, a special playback operation can still be carried out during a streaming playback. Also, even if the attribute information of a movie being recorded changes during the recording operation, the client device can still continue the streaming playback operation.
Number | Date | Country | Kind |
---|---|---|---|
2003422508 | Dec 2003 | JP | national |
2004243350 | Aug 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP04/18637 | 12/14/2004 | WO | 6/19/2006 |