This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2004-185343, filed Jun. 23, 2004, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to an information storage medium (or data structure), an information recording/playback method, and an information recording/playback apparatus, which are suited to record/play back a digital stream signal used in digital TV broadcast or the like.
2. Description of the Related Art
In recent years, TV broadcast has entered the era of digital broadcasts having programs of high-definition AV information as principal broadcast contents. The current digital broadcast (and nascent terrestrial digital broadcast) adopts an MPEG2 transport stream (to be abbreviated as MPEG-TS hereinafter). In the field of digital broadcast using moving pictures, MPEG-TS will be used as a standard format in the future. At the start of such digital TV broadcast, market needs for a streamer that can directly record digital TV broadcast contents are increasing.
As an example of a streamer that utilizes an optical disc such as a DVD-RAM or the like, “a recording/playback apparatus” (Jpn. Pat. Appln. KOKAI Publication No. 6-225239) is known. Also, as an example of an apparatus that can record entry points in the recording contents, Jpn. Pat. Appln. KOKAI Publication No. 2000-322875 is known.
Different digital broadcast schemes are adopted in respective countries and broadcast stations: for example, DVB (Digital Video Broadcasting) in Europe; ATSC (Advanced Television Systems Committee) in U.S.A.; and ARIB (Association of Radio Industries and Businesses) in Japan.
In DVB, the video format is MPEG2, the resolutions are 1152*1440i, 1080*1920 (i, p), 1035*1920, 720*1280, (576, 480)*(720, 544, 480, 352), and (288, 240)*352, the frame frequencies are 30 Hz and 25 Hz, the audio format includes MPEG-1 audio and MPEG-2 Audio, and the sampling frequencies are 32 kHz, 44.1 kHz, and 48 kHz.
In ATSC, the video format is MPEG2, the resolutions are 1080*1920 (i, p), 720*1280p, 480*704 (i, p), and 480*640 (i, p), the frame frequencies are 23.976 Hz, 24 Hz, 29.97 Hz, 30 Hz, 59.94 Hz, and 60 Hz, the audio format includes MPEG1 Audio Layer 1 & 2 (DirecTV) and AC3 Layer 1 & 2 (Primstar), and the sampling frequencies are 48 kHz, 44.1 kHz, and 32 kHz.
In ARIB, the video format is MPEG2, the resolutions are 1080i, 720p, 480i, and 480p, the frame rates are 29.97 Hz and 59.94 Hz, the audio format includes AAC (MPEG-2 Advanced Audio Coding), and the sampling frequencies are 48 kHz, 44.1 kHz, 32 kHz, 24 kHz, 22.05 kHz, and 16 kHz.
In this manner, streams to be decoded by the apparatus side have many different variations for respective areas, and if all these variations are supported, the arrangement of a recording/playback apparatus (e.g., a DVD recorder) becomes considerably heavy (or complicated). As a result, the apparatus cost increases.
Also, various other broadcast formats may still emerge, and actual device (recorder) design cannot support all such formats. For this reason, a recorder must select and equip certain broadcast formats that it can support. Hence, a broadcast format which is not assumed cannot often be recorded as an uncognizable stream.
Furthermore, when the storage size of the storage medium becomes large, a long period of time is required to view the recorded title. Hence, user's convenience upon viewing the title is of utmost importance. Also, as for stream signals, when various formats or types are mixed, attribute information, identification information, and the like for various formats or types are required.
In case of an apparatus which records a digital stream signal transmitted via a communication means, the following problems may occur. That is, when a recorded signal is played back and is noisy, it cannot often be determined whether a playback apparatus has a trouble or the recorded signal itself has existing noise. Such case may invite user's misunderstanding.
As a recent use method of a recorder, markers (entry points) are put for respective commercial messages or at predetermined time intervals, and are used as references of skip processes upon playback or those for edit processes in many examples. For example, with increasing importance of markers, the use frequency of markers increases and the number of markers used per title increases.
An information storage medium according to an embodiment of the present invention (100 in
More specifically, even when entry point information (EPI) is set at the end in management information as a table (EPIT) independently of the playback order management information (PGCI) to add an entry point (EP), such addition does not influence other areas (other kinds of management information need not be rewritten due to addition of an EP).
In order to support recording/playback of stream signals, EPI, resume mark information indicating playback start information after pausing, and packet identification information (PID) of a stream to be played back as representative picture information can be set.
Also, stream management information can be generated in a PTM base in case of a cognizable stream (TYPE A), or a PATS (packet arrival time stamp) base in case of an uncognizable stream (TYPE B).
Marker (entry point) information (EPI) can be freely generated and added irrespective of the playback management information (PGCI).
Even when stream signals of various formats or types are mixed, they can be easily managed.
Preferred embodiments of an information storage medium, information recording method, information playback method, information recording apparatus, and information playback apparatus according to the present invention will be described hereinafter with reference to the accompanying drawings.
Disc 100 has lead-in area 110, volume/file structure information area 111, data area 112, and lead-out area 113 from its inner periphery side toward the outer periphery side (
Data area 112 is divided into areas 120 that record general computer data, and area 121 that records AV data. AV data recording area 121 includes AV data management information area 130 that stores a file (VMG file) used to manage AV data, ROM video object group recording area 131 that records read-only video object data, VR object group recording area 132 that records object data (RVOBS) files (VRO files) complying with the video recording standard, and Stream object group recording area 133 that records stream objects (ESOBS: Extended Stream Object Stream) compatible to digital broadcast (
Each stream object 141 is formed of one or more data units (ESOBU: Extended Stream OBject Unit) 143 each of which serves as an access unit to disc 100 (
In this embodiment, each packet group 147 includes, e.g., a group of 16 packs (or 16 LBs (Logical Blocks)). If one pack size (or one LB size) is 2 kbytes, the size of each packet group 140 is 32 kbytes. This size is equal to the ECC block size in the video recording standard.
Each packet group 147 forms packet recording area (DVD-TS packet recording area) 160 in stream recording (SR) (
Even when the user wants to start playback from the middle of either cell 13 on the stream recording side or cell 13 on the video recording side, he or she can designate the playback location using a playback time (PTS). That is, when playback is to start from the middle of cell 13 on the stream recording side using the playback time (PTS), stream object ESOB 141 in stream object layer 30 is designated via stream object information ESOBI 21 in stream object management information layer 20, and stream object unit ESOBU 143 in stream object layer 30 is designated via stream object unit information ESOBUI 22 in stream object management information layer 20. When ESOB 141 and its ESOBU 143 are designated, the playback start location is specified. (ESOBUI in this case may be restated as global information 22.) This ESOBU 143 is formed of one or more packet groups 147. ESOBU 143 is a data unit corresponding to, e.g., 1 or more GOPs. Alternatively, ESOBU 143 may be delimited into units each corresponding to a data size for a given playback time designated by a value in object management information. In this way, overflow of each information field is prevented.
Each packet group 147 includes 16 packs (or 16 LBs) (32768 bytes), and has packet group header 161 at its head position. After packet group header 161, a plurality of pairs (170 pairs in this example) of PAT 163 and TS packets 162 are allocated. These TS packets 162 store stream-recorded contents.
On the other hand, when playback is to start from the middle of cell 13 on the video recording side using the playback time (PTS), video object RVOB 140 in video object layer 35 is designated via video object information RVOBI 24 in video object (RVOB) management information layer 23, and video object unit RVOBU 142 in video object layer 35 is designated via video object unit information RVOBUI 25 in video object management information layer 23. When RVOB 140 and its RVOBU 142 are designated, the playback start location is specified. RVOBU 142 includes a plurality of packs, which store video-recorded contents.
When playback is to start from the middle of cell 13 on the stream recording side, the playback start location can be designated using a time in units of the number of fields by ESOBU_PB_TM (corresponding to SOBU_PB_TM in
The contents of
However, when the transfer rate is low, one GOP data cannot often be sent within 1 sec (is) (DVD-VR that MPEG-encodes an analog video input inside the apparatus can freely set the data unit configuration since it adopts internal encoding, but digital broadcast cannot specify the next incoming data since encoding is done by a broadcast station). On the other hand, the transfer rate may be high, and I-picture data may be sent frequently. In such case, ESOBU is delimited frequently, and ESOBU management information increases accordingly, thus ballooning the whole management information. For this reason, it is appropriate to delimit ESOBUs according to the embodiment of the present invention by a given time interval (a minimum limitation is to delimit ESOBUs by picture data except for the last ESOBU of the ESOB) or by one or more GOPs.
One ESOBU includes one or more packet groups, each of which is basically formed of 16 packs (one Pack=one sector: 2048-byte size). Each packet group includes a packet group header and (170) TS packets. The arrival time of each TS packet can be detected from PAT 163 which forms a pair with each TS packet 162.
The management information will be described below with reference to FIGS. 3 to 36.
Note that different directories are prepared in correspondence with formats (e.g., VIDEO-TS for DVD-Video (ROM Video) and DVD-RTAV for DVD-RTR (recordable/reproducible DVD), and the digital broadcast compatible DVD standard to be described below is recorded in, e.g., a DVD_HDVR directory.
That is, as shown in
In
As shown in
Note that the DVD_HDVR directory can store HR_THNL.DAT (not shown) as a thumbnail (reduced-scale picture) file which can be used in a chapter menu and the like. Furthermore, the DVD_HDVR directory can store an additional text file: HR_TEXT.DAT independent from item text (IT_TXT) (neither of them are shown).
The HDVR MG includes video manager information (HDVR_MGI), a stream file information table (ESTR_FIT), (original) program chain information (EX_ORG_PGC information), playlist information (EX_UD_PGC information), a text data manager (EX_TXTD_MG), a manufacturer information table (EX_MNFIT), and an entry point information table (EPIT) which is located at the end of the file.
In other words, a DVD recorder normally has time map information (TMAPI) as RVOB management information. This information is used to divide object data (RVOB/ESOB) for each data unit (RVOBU/ESOBU) and to implement playback, special playback, and the like for that unit, and one information is required per a maximum of 0.5s. For this reason, if the disc size increases in the future or a compression method with high compression efficiency is adopted, the number of pieces of time map information TMAPI increases, and complicated management is required when an edit process or the like is made. If this TMAPI is stored in the management information file (HR_MANGER.IFO in
Hence, in the embodiment of the present invention, in order to deal with such situation, ESTR_FI and TMAPI are recorded in independent fields (HR_SFIx.IFO, HR_VTMAP.IFO, HD_TMAPx.IFO, and the like in
Referring to
The disc resume information (DISC_RSM_MRKI) is resume information for the entire disc, and is a field for saving interrupt information when playback is interrupted upon playing back all titles by an original program chain (ORG_PGC). Upon next playback, playback is restarted based on this interrupt information.
For this purpose, the disc resume information (DISC_RSM_MRKI) sets, as playback start position information, a PGC number (PGCN), PG number (PGN), CELL number (CN), playback time information (MRK_PT), and a packet identifier (ES_PID) or GP number of a video to be played back, as shown in
The representative picture information (EX_DISC_REP_PICI) is a representative picture of the disc, and is used to display a menu and the like. For this purpose, the representative picture information (EX_DISC_REP_PICI) sets, as image position information, a PGC number (PGCN), PG number (PGN), CELL number (CN), playback time information (PIC_PT), and a packet identifier (ES_PID) or GP number of a video to be played back, as shown in
Different digital broadcast schemes are adopted in respective countries: for example, DVB (Digital Video Broadcasting) in Europe; ATSC (Advanced Television Systems Committee) in U.S.A.; and ARIB (Association of Radio Industries and Businesses) in Japan. [1] In DVB, the video format is MPEG2, the resolutions are 1152*1440i, 1080*1920 (i, p), 1035*1920, 720*1280, (576, 480)*(720, 544, 480, 352), and (288, 240)*352, the frame frequencies are 30 Hz and 25 Hz, the audio format includes MPEG-1 audio and MPEG-2 Audio, and the sampling frequencies are 32 kHz, 44.1 kHz, and 48 kHz. [2] In ATSC, the video format is MPEG2, the resolutions are 1080*1920 (i, p), 720*1280p, 480*704 (i, p), and 480*640 (i, p), the frame frequencies are 23.976 Hz, 24 Hz, 29.97 Hz, 30 Hz, 59.94 Hz, and 60 Hz, the audio format includes MPEG1 Audio Layer 1 & 2 (DirecTV) and AC3 Layer 1 & 2 (Primstar), and the sampling frequencies are 48 kHz, 44.1 kHz, and 32 kHz. [3] In ARIB, the video format is MPEG2, the resolutions are 1080i, 720p, 480i, and 480p, the frame rates are 29.97 Hz and 59.94 Hz, the audio format includes AAC (MPEG-2 Advanced Audio Coding), and the sampling frequencies are 48 kHz, 44.1 kHz, 32 kHz, 24 kHz, 22.05 kHz, and 16 kHz.
In this manner, since different decoders must be equipped in recorders depending on regions where the recorders are used, information (region code) indicating a recorder used to record a disc and its supported functions is saved in VMGI, thus identifying the recorder used to write data on a disc and its supported functions.
Stream management information to be described below with reference to
The ESTR_FI_GI in
ESOBI# pointed by ESOBI_SRP# of the corresponding # number includes ESOBI_GI (ESOBI General Information), one or more pieces of ESOB_ESI (ESOBI Elementary Stream Information)#, ESOB_DCNI (ESOB Discontinuity Information), ESOB_SMLI (ESOB Seamless Information), ESOB_AGAPI (ESOB Audio GAP Information), ESOB_TMAPI (ESOB Time Map Information), and ESOB_ES_GPI (ESOB Elementary Stream Group Information). Note that the ESOB_ESI further includes ESOB_V_ESI (ESOB Video ESI) and ESOB_A_ESI (ESOB Audio ESI) (see
The ESOBI_GI further includes SERVICE_ID (service ID), SERVICE_TYPE (service type), PMT_PID (PMT packet ID), NETWORK_ID (network ID), TS_ID (transport stream ID), PCR_PID (PCR packet ID), and ESOB_DEF_PID (ESOB default PID).
Moreover, the ESOBI_GI includes Format_ID (format ID), CP_CTRL_INFO (copy control information), ESOB_REC_TM (ESOB recording time), ESOB_REC_TM_SUB (ESOB recording sub time), ESOB_DURATION (TYPE A: a playback duration of an ESOB playback time, TYPE B: an arrival duration of an ESOB arrival time), ESOB_S_PTM (ESOB start time: in case of TYPE A)/PATS (ESOB arrival start time: in case of TYPE B), and ESOB_E_PTM (ESOB end time: in case of TYPE A)/PATS (ESOB arrival end time: in case of TYPE B).
In addition, the ESOBI_GI includes LOCAL_TM_ZONE (local time zone), ESOB_ES_Ns (the number of ESs of an ESOB), ESOB_V_ES_Ns (the number of video ESs of an ESOB), and ESOB_A_ES_Ns (the number of audio ESs of an ESOB). However, in case of TYPE B, fields PMT_PID to ESOB_A_ES_Ns are not available. There are two ESOB TYPEs: TYPE A, when ESOBI is generated in a PTM base by cognizing a cognizable title; TYPE B, when ESOBI is generated in a PATS base when a title cannot be cognized (or without cognizance). In case of TYPE B, no ESOB_ESI, ESOB_DCNI, ESOB_SMLI, and ESOB_GPI are available.
Note that ESOB_ES_Ns, ESOB_V_ES_Ns, ESOB_A_ES_Ns, and ES_TMAP_Ns have a relation indicated by the following inequality:
ESOB_ES_Ns≧ESOB_V_ES_Ns+ESOB_A_ES_Ns
ESOB_V_ES_Ns+ESOB_A_ES_Ns>ES_TMAP_Ns
Copy control for copyright protection or the like is done based on CP_CTRL_INFO.
Note that in ARIB the default PID (ESOB_DEF_PID) indicates a PID with a smaller component tag value (the value of a component group descriptor is preferentially used). ESOB_DURATION indicates an ESOB playback time and corresponds to a total of ESOBU_ENTs in case of TYPE A. Also, ESOB_DURATION is duration information from the ESOB arrival start time to ESOB arrival end time in case of TYPE B.
The contents of the CP_CTL_INFO are: CCI or CGMS (0=copy never; 1=copy free); APS (0=no APS, 1=append APS type 1, 2=append APS type 2, 3=append APS type 3); EPN (0=contents protection (Internet output protection), 1=no contents protection); and ICT (0=resolution constraint, 1=no constraint). Of these contents, Retention allows temporary storage only for a time indicated by Retention_State when Retention=0 and a copy inhibition mode is set, and the stored contents must be erased after an elapse of that time.
Each ES_TMAPI includes ES_PID (the PID of a target ES of this TMAP), ADR_OFS (logical address from the head of an ESOB file to the head of this ES), ES_S_PTM (start PTM), ES_E_PTM (end PTM), ES_ESOBU_ENT_Ns (the number of ESOBU_ENTs), LAST_ESOBU___PKT_POS (position of the last ESOBU in a Packet Group), and STMAP_SRPN (the number of a TMAP in the TMAPT, which belongs to this ES: this number may be omitted when the TMAPTs are recorded in independent areas for VR and SR or TMAPs are recorded in turn in each TMAPT).
Note that TMAPI information can be prevented from becoming extremely large by appropriately setting ESOBU_PB_TM_RNG even when a video recording time increases. However, in such case, since the time interval between neighboring ENTRIES broadens, it is more likely that smooth double-speed playback and the like are disturbed.
Referring to
<1> When video data is available, ESOBU entry information includes end address information (unit: LB) 1st_Ref_PIC_SZ of the first reference picture (I-picture or the like) in an entry from the head of the ESOBU, ESOBU playback time (the number of fields) ESOBU_PB_TM, ESOBU_SZ (the size expressed by the number of packet groups, i.e., the number of packet groups which belong to that ESOBU), and ESOBU_S_PKT_POS (the number of packets from the head of a packet group that stores the head of an ESOBU).
In this manner, in case of a time search, the ESOBU at a target timing is obtained by accumulating ESOBU_PB_TM data, and the playback start PTM can be calculated using the number of fields from the head of that ESOBU.
<2> When video data is not available and audio data is available, ESOBU entry information includes the end address information (the same as that described above) of the first audio frame in an entry from the head of an ESOBU, ESOBU playback time (the number of fields), and ESOBU size (the same as that described above).
<3> When only other kinds of information are available, since entry information cannot be formed, all data are padded with “FF”s.
PGC information as playback information has the same format as a normal VR format, and EX_ORG_PGC information is automatically generated by an apparatus (recorder) upon video recording and is set in the order of video recording. EX_UD_PGC information is generated according to a playback order which is freely added by the user, and is called a playlist. These two formats (original PGC information and playlist) have a common format in PGC level, and
Note that PG information (EX_PGI#) saves update date information of this PG. This information can identify when this PG was edited. A program name as text information uses PRM_TXT information, and an IT_TXT field saves other kinds of information (director name, leading actor name, . . .) to save other kinds of text information. This PGI is set with an SRP number of the IT_TXT field which saves these kinds of information to establish a link. Furthermore, a PG number is set in IT_TXT data. Note that the PG number is an absolute number from the beginning of recording on this disc, and is an index number which remains unchanged even after other PGs are deleted.
In order to use MNFI which is assured to implement functions unique to each manufacturer, the SRP number of such MNFI is set in PGI. Also, the PG number is set in the MNFI information to link with data in MNFI information.
Furthermore, PG update date information is set in both the MNFI and IT_TXT. By checking if these two times match upon displaying a menu, whether or not the contents have been edited by another manufacturer can be verified. Furthermore, in CELL information (EX_CI#), types, i.e., ESOB TYPE A and TYPE B are added to a CELL type to designate an ESOB number, start time, end time, and GP number to be played back. Note that the start and end times can be expressed by either of two methods, i.e., PTS units (playback time) and ATS units (transfer time).
When a time is designated by a playback time (real time upon playback), the same access method as in the conventional VR is allowed, and the user can designate a desired access position using a playback time. Hence, a user's desire can be perfectly reflected. However, this method can be designated only when the stream contents can be sufficiently cognizable. If the contents cannot be sufficiently cognizable, a time must be designated using a transfer time. (That is, if a time is designated using a playback time, playback cannot always be started from the head of I-picture data.) If a frame at the playback start position is not I, decoding starts from immediately preceding I, and display starts when the target frame is decoded, thus presenting a picture to the user as if playback started from the designated frame.
As for a reference ID, a method of setting the PID (or component tag value) of a representative one of streams to be played back, and a method of setting the ID of a component group in case of multi-view TV or the like are available. Also, in still another method, a reference GPI number may be set to switch groups (during playback). Unique ID numbers are assigned to PG and CELL data, so that PG and CELL data can be designated using numbers which remain unchanged even when middle PG and CELL data are deleted.
In DVD-VR used so far, entry point information (marker information) exists in CELL information. However, in the embodiment of the present invention, marker information (PG_RSM_IFO, PG_REP_MRKI, and the like) can exist not only in the CELL information (EX_CI) but also in the PGI and PGCI and/or HDVR_MGI.
The EX_PGCI_GI includes the number of programs and the number of cell search pointers. Each program information includes a program type, the number of cells in the program, primary text information, an item text search pointer number, representative picture information, an editor ID, program index number (program absolute number), program update date, and manufacturer's information number (MNFI number). Each cell information includes a cell type, ESFI number, corresponding ESOB number, reference ID, the number of pieces of cell entry point information, cell start PTS/PATS, cell end PTS/PATS, and cell entry point information (C_EPI). A program update date field saves date information (year, month, day, hour, minute, second) when the program management information is updated. Also, an MNFI number field describes the number of a manufacturer's information search pointer.
The EX_PGC information in
The program information (EX_PGI) saves update date information of that program (PG). This date information can identify when this program was edited. A program name as text information uses PRM_TXT information, and an IT_TXT field saves other kinds of information (director name, leading actor name, . . .) to save other kinds of text information. This PGI is set with an SRP number of the IT_TXT field which saves these kinds of information to establish a link. Furthermore, a PG number is set in IT TXT data. Note that the PG number is an absolute number from the beginning of recording on this disc, and is an index number which remains unchanged even after other PGs are deleted.
In order to use MNFI which is assured to implement functions (of the recorder) unique to each manufacturer, the search pointer number (MNFI number) of manufacturer's information MNFI is set in program information EX_PGI. Also, the PG number is set in the MNFI information to link data in EX PGCI with data in MNFI information. Furthermore, PG update date information is set in both the MNFI and IT_TXT. By checking if these two times match upon displaying a menu, whether or not the contents have been edited by another manufacturer can be verified.
In the cell information (EX_CI) in
If a time is designated using a playback time, playback cannot always be started from the head of I-picture data. If a frame at the playback start position is not I-picture, decoding starts from immediately preceding I-picture, and display starts when the target frame is decoded, thus presenting a picture to the user as if playback started from the designated frame.
As for the “reference ID” included in the cell information in
As a new concept, the “manufacturer ID (editor ID) of the last apparatus used to execute an edit process” is stored in EX_PGI, thus adding this information which indicates the manufacturer of an apparatus used to execute an edit process. With this information, the use state of information of MNFI used in respective manufacturers can be recognized. When the contents of an MNFI area are rewritten using an apparatus of another manufacturer, each apparatus may recognize that information in that MNFI has poor reliability. For this reason, after the edit process by the apparatus of the other manufacturer, new MNFI must be generated. Unique ID numbers are appended to PGs, and each PG can be designated by a number which remains unchanged even when a middle PG is deleted.
Unique ID numbers are assigned to PGs and CELLs, and PGs and CELLs can be designated by numbers which remain unchanged even when middle PG and CELL are deleted. Furthermore, an information area of a poor reception state may be added to cell entry point information C_EPI, EPs may be set at the start and end positions of poor reception, and its status may be additionally set in the information area of a poor reception state.
M_CELL_EPI_TY_A includes a PGC number, PG number, CELL number, and PTM with an EP, and M_CELL_EPI_TY_B further includes PRM_TXTI (text information) and REP_PIC_PTM (thumbnail pointer).
S_CELL_EPI_TY_A includes a PGC number, PG number, CELL number, and S_VOB_ENT number with an EP, and S_CELL_EPI_TY_B further includes PRM_TXTI (text information).
STR_A_CELL_EPI_TY_A (ESOB of TYPE A) includes a PGC number, PG number, CELL number, PTM with an EP, and PID (or group number) of an ES with that EP, and STR_A_CELL_EPI_TY_B further includes PRM_TXTI (text information) and REP_PIC_PTM (thumbnail pointer).
STR_PB CELL_EPI_TY_A (ESOB of TYPE B) includes a PGC number, PG number, CELL number, PATS with an EP, and PID of an ES with that EP, and STR_B_CELL_EPI_TY_B further includes PRM_TXTI (text information) and REP_PIC_PTM (thumbnail pointer).
Each packet group 147 includes packet group header (404 bytes) 161, one or more (170 in this case) packet arrival time PAT (4 bytes) data 162, and one or more (170 in this case) MPEG-TS packets (188 bytes) 163 as many as the PAT data. Each MPEG-TS packet 163 has PAT 162 to be paired at its head position, and this PAT allows to detect the arrival time of each MPEG-TS (at the apparatus).
Packet group header 161 includes a header ID (OOFFA5A5), packet group general information (PKT_GRP_GI), display control information (DCI) and copy generation management information (or copy control information CCI), extended bytes of a packet arrival time of the first packet (FIRST_PATS_EXT), and manufacturer's information (MNI) (or manufacturer's information MNFI).
One hundred eighty-eight-byte MPEG-TS packet 163 is paired with 4-byte PATS 162. One hundred twenty-eight-byte pack group header 161 and 170 pairs of PATS/MPEG-TS form a 32-kbyte packet group 147 (for 16 packs).
PKT_GRP_SS can have four different status values (ERR, STUF, WRAP, DISCON) (+reserve). ERR is status indicating if an error has occurred during a period from reception to recording of a packet group. STUF is status indicating if a packet group includes a stuffed field at its end. WRAP is status indicating if transfer time information (PATS) reaches the end in this packet group and starts from zero. DISCON is status indicating if discontinuity between playback times (PCR discontinuity) has occurred.
Four bytes are assigned to the display control information (DCI), and DCI for 32 streams is set for each ES. If no stream is available, this DCI field is padded with “0”s. In the contents of this DCI, aspect flags (“0” indicates an aspect ratio=4:3, “1” indicates an aspect ratio=16:9) of ES1 to ES32 are allocated in turn from the head.
The copy control information (CCI) may include, with the same contents as those in ESI, digital copy control (00=copy never, 01=copy once, 11=copy free), analog copy control (00=no APS, 01=APS type 1, 10=APS type 2, 11=APS type 3), EPN (0=contents protection, 1=no contents protection), and ICT (Image_Constraint_Token: 0=analog video output resolution constraint, 1=no constraint). Note that APS is an abbreviation for “Analog Protection System”, and this embodiment assumes Macrovision(R).
When a change in CCI/DCI may take place in a single packet group of a single ES, that packet group is temporarily delimited, and the remaining data of the packet group are padded with dummy data (PAT=0×01, TS packet=ALL0×00) to set the next packet group. In other words, an align process is executed to prevent CCI/DCI from changing in a packet group.
STB unit 83 decodes received digital broadcast data to generate an AV signal (digital). STB unit 83 sends the AV signal to TV 68 via encoder unit 79, decoder unit 59, and D/A converter 67 in the streamer, thus displaying the contents of the received digital broadcast. Alternatively, STB unit 83 directly sends the decoded AV signal (digital) to V-mixing unit 66, and can send an analog AV signal from it to TV 68 via D/A converter 67.
The apparatus shown in
Encoder unit 79 includes A/D converter 84, video encode unit 87, input selector 85 to video encode unit 87, audio encode unit 86, a sub-picture encode unit (as needed although not shown), formatter unit 90, and buffer memory unit 91.
Decode unit 59 comprises demultiplexer 60 which incorporates memory 60a, video decode unit 61 which incorporates memory 61a and reduced-scale picture (thumbnail or the like) generator 62, sub-picture (SP) decode unit 63, audio decode unit 64 which incorporates memory 64a, TS packet transfer unit 101, video processor (V-PRO) unit 65, and audio D/A converter 70. An analog output (monaural, stereo, or AAC 5.1CH surround) from this D/A converter 70 is input to an AV amplifier or the like (not shown) to drive a required number of loudspeakers 72.
In order to display contents, whose video recording is in progress, on TV 68, stream data to be recorded is sent to decoder unit 59 simultaneously with D-PRO unit 52, and can be played back. In this case, MPU unit 80 makes setups upon playback in decoder unit 59, which then automatically executes a playback process.
D-PRO unit 52 forms ECC groups by combining, e.g., every 16 packs (or 32 packs or 64 kbytes), appends ECC data to each group, and sends them to disc drive unit 51. When disc drive unit 51 is not ready to record on disc 100, D-PRO unit 52 transfers the ECC groups to temporary storage unit 53 and waits until disc drive unit 51 is ready to record. When disc drive unit 51 is ready, D-PRO unit 52 starts recording. As temporary storage unit 53, a large-capacity memory is assumed since it must hold recording data for several minutes or longer by high-speed access. Temporary storage unit 53 may be assured by using a given area of HDD 100a. Note that MPU unit 80 can make read/write access to D-PRO unit 52 via a dedicated microcomputer bus, so as to read/write the file management area and the like.
The apparatus shown in
These plurality of types of media can be used as follows. That is, stream recording is done on HDD 100a using the data structure (format) shown in FIGS. 1 to 41. Of stream recording contents which are recorded on HDD 100a, programs that the user wants to preserve directly undergo stream recording (direct copy or digital dubbing) on disc 100 (if copying is not inhibited by copy control information CCI). In this manner, only desired programs having quality equivalent to original digital broadcast data can be recorded together on disc 100. Furthermore, since the stream recording contents copied onto disc 100 exploit the data structure of the present invention, they allow easy special playback processes such as time search and the like, although they are recorded by stream recording.
A practical example of a digital recorder having the aforementioned features (a streamer/video recorder using a combination of DVD-RAM/-RW/-R/Blue media and HDD) is the apparatus shown in
Satellite digital TV broadcast data is delivered from a broadcast station via a communication satellite. The delivered digital data is received and played back by STB unit 83. This STB unit 83 expands and plays back scrambled data on the basis of a key code distributed from the broadcast station. At this time, scramble from the broadcast station is descrambled. Data is scrambled to prevent users who are not subscribers of the broadcast station from illicitly receiving broadcast programs.
In STB unit 83, the broadcast digital data is received by a tuner system (not shown). When the received data is directly played back, it is descrambled by a digital expansion unit and is decoded by an MPEG decoder unit. Then, the decoded received data is converted into a TV signal by a video encoder unit, and that TV signal is externally output via D/A converter 67. In this manner, the digital broadcast program received by STB unit 83 can be displayed on analog TV 68.
Terrestrial digital broadcast data is received and processed in substantially the same manner as satellite broadcast data except that it does not go through any communication satellite (and is not scrambled if it is a free broadcast program). That is, terrestrial digital broadcast data is received by terrestrial digital tuner unit 89, and the decoded TV signal is externally output via D/A converter 67 when it is directly played back. In this way, a digital broadcast program received by terrestrial digital tuner unit 89 can be displayed on analog TV 68. Terrestrial analog broadcast data is received by terrestrial tuner unit 82, and the received analog TV signal is externally output when it is directly played back. In this way, an analog broadcast program received by terrestrial tuner unit 82 can be displayed on analog TV 68.
An analog video signal input from external AV input 81 can be directly output to TV 68. Also, after the analog video signal is temporarily A/D-converted into a digital signal by A/D converter 84, and that digital signal is then re-converted into an analog video signal by D/A converter 67, that analog video signal may be output to the external TV 68 side. In this way, even when an analog VCR playback signal that includes many jitter components is input from external AV input 81, an analog video signal free from any jitter components (that has undergone digital time-base correction) can be output to the TV 68 side.
A digital video signal input from digital I/F (IEEE1394 interface) 74 is output to the external TV 68 side via D/A converter 67. In this way, a digital video signal input to digital I/F 74 can be displayed on TV 68.
A bitstream (MPEG-TS) input from satellite digital broadcast, terrestrial digital broadcast, or digital I/F 74 can undergo stream recording in stream object group recording area 133 (
Note that the apparatus may be configured to temporarily A/D-convert an analog video signal from terrestrial analog broadcast or AV input 81 into a digital signal, and to make stream recording of the digital signal in place of video recording. Conversely, the apparatus may be configured to make video recording of a bitstream (MPEG-TS) input from satellite digital broadcast, terrestrial digital broadcast, or digital I/F 74 (after it undergoes required format conversion) in place of stream recording.
Recording/playback control of stream recording or video recording is done by main MPU unit 80 (recording/playback controller 8OX) on the basis of firmware (control programs and the like corresponding to operations shown in FIGS. 43 to 68 to be described later) written in ROM 80C. MPU unit 80 has management data generation unit 80B for stream recording and video recording, generates various kinds of management information using work RAM 80A as a work area, and records the generated management information on AV data management information recording area 130 in
The features of medium 100 (100a) used in the apparatus of
The apparatus shown in
In the apparatus shown in
On the other hand, an analog signal input from the terrestrial tuner or line input is converted into a digital signal by the A/D converter. That digital signal is input to respective encoder units. That is, a video signal is input to the video encode unit, an audio signal is input to the audio encode unit, and text data of, e.g., teletext broadcasting is input to an SP encode unit (not shown). The video signal is compressed by MPEG, the audio signal is compressed by AC3 or MPEG audio, and the text data is compressed by runlength coding.
Each encoder unit packs compressed data (or segments into blocks) to form 2048-byte packets (or blocks) and inputs them to the formatter unit. The formatter unit multiplexes the packets (or blocks), and sends them to the D-PRO unit. The D-PRO unit forms ECC blocks for every 16 or 32 packets (16 or 32 blocks), appends error correction data to them, and records the packets (or blocks) on the disc via the disc drive unit.
When the disc drive unit is busy due to seek, track jump, and the like, data are stored in an HDD buffer unit, and wait until the disc drive unit is ready. Furthermore, the formatter unit generates segmentation information during video recording, and periodically sends it to the MPU unit (GOP head interrupt or the like). The segmentation information includes the number of packs (or the number of LBs) of RVOBU (ESOBU), the end address of I-picture data from the head of RVOBU (ESOBU), the playback time of RVOBU (ESOBU), and the like.
In the flow of signals upon recording, TS packet data received by the STB unit (or terrestrial digital tuner) are converted into packet groups by the formatter unit, and are saved in the work RAM. When data saved in the work RAM reach a predetermined size (CDA size or its integer multiple), they are recorded on the disc.
In the flow of signals upon playback, data are read out from the disc by the disc drive unit, undergo error correction by the D-PRO unit, and are then input to the decode unit. The MPU unit determines the type of input data (i.e., VR or SR data) (based on cell type), and sets that type in the decoder unit before playback. In case of SR data, the MPU unit determines the PMT_ID to be played back based on cell information CI to be played back, determines the PIDs of items (video, audio, and the like) to be played back based on that PMT, and sets them in the decoder unit. In the decoder unit, the demultiplexer sends TS packets to the respective decode units based on the PIDs. Furthermore, the TS packets are sent to the TS packet transfer unit, and are transmitted to the STB unit (1394 I/F) in the form of TS packets. The respective decode units execute decoding, and decoded data are converted into an analog signal by the D/A converter, thus displaying data on the TV. In case of VR data, the demultiplexer sends data to the respective decode unit according to the fixed IDs. The respective decode units execute decoding, and decoded data are converted into an analog signal by the D/A converter, thus displaying data on the TV.
Upon playback, pack data read out from the disc are interpreted by the demultiplexer. Packs that store TS packets are sent to the TS packet transfer unit, and are then sent to the decoders, thus playing back data. When pack data are transferred to the STB unit (or are transmitted to an external apparatus such as a digital TV or the like), the TS packet transfer unit transfers only TS packets at the same time intervals as they arrived. The STB unit makes decoding to generate an AV signal, which is displayed on the TV via the video encoder unit in the streamer.
An MPEG-TS scheme as a basic format common to broadcast schemes which broadcast (distribute) compressed moving picture data such as digital TV broadcast, broadcast that uses a wired network such as the Internet or the like, and so on is divided into a packet management data field and payload. The payload includes data to be played back in a scrambled state. According to ARIB, a PAT (Program Association Table), PMT (Program Map Table), and SI (Service Information) are not scrambled. Also, various kinds of management information can be generated using the PMT and SI (SDT: Service Description Table, EIT: Event Information Table, BAT: Bouquet Association Table).
The contents to be played back include MPEG video data, Dolby AC3 (R) audio data, MPEG audio data, data broadcast data, and the like. Also, the contents include information required upon playback (e.g., PAT, PMT, SI, and the like) although they are not directly related to the contents to be played back. The PAT includes the PID (Packet Identification) of the PMT for each program, and the PMT records the PIDs of video data and audio data.
A normal playback sequence of the STB (Set Top Box) is as follows. That is, when the user determines a program based on EPG information, the PAT is loaded at the start time of the target program. The PID of a PMT, which belongs to the desired program, is determined on the basis of that data, and the target PMT is read out in accordance with that PID. Then, the PIDs of video and audio packets to be played back, which are included in the PMT, are determined. Video and audio attributes are read out based on the PMT and SI and are set in respective decoders. The video and audio data are extracted and played back in accordance with their PIDs. Note that the PAT, PMT, SI, and the like are transmitted at intervals of several 100 ms since they are also used during playback.
In the flow of signals upon recording, TS packet data received by the STB unit (or terrestrial digital tuner) are converted into packet groups by the formatter unit, and are saved in the work RAM. When data saved in the work RAM reach a predetermined size, they are recorded on the disc. As the operations at that time, upon reception of TS packets, a group is formed every 170 packets, and a packet group header is generated.
An analog signal input from the terrestrial tuner or line input is converted into a digital signal by the A/D converter. That digital signal is input to respective encoder units. That is, a video signal is input to the video encode unit, an audio signal is input to the audio encode unit, and text data of, e.g., teletext broadcasting is input to an SP encode unit. The video signal is compressed by MPEG, the audio signal is compressed by AC3 or MPEG audio, and the text data is compressed by runlength coding.
Each encoder unit (for VR) packs compressed data to form 2048-byte packets and inputs them to the formatter unit. The formatter unit packs and multiplexes the packets, and sends them to the D-PRO unit.
The D-PRO unit forms ECC blocks for every 16 or 32 packs, appends error correction data to them, and records the ECC packets on the disc via the disc drive unit. When the disc drive unit is busy due to seek, track jump, and the like, data are stored in an HDD buffer unit, and wait until the disc drive unit is ready.
Furthermore, the formatter unit generates segmentation information during video recording, and periodically sends it to the MPU unit (GOP head interrupt or the like). The segmentation information includes the number of packs of RVOBU (ESOBU), the end address of I-picture data from the head of RVOBU (ESOBU), the playback time of RVOBU (ESOBU), and the like.
In the flow of signals upon playback, data are read out from the disc by the disc drive unit, undergo error correction by the D-PRO unit, and are then input to the decode unit. The MPU unit determines the type of input data (i.e., VR or SR data) (based on CELL TYPE), and sets that type in the decoder unit before playback. In case of SR data, the MPU unit determines the PMT_ID to be played back based on CELLI to be played back, determines the PIDs of items (video, audio, and the like) to be played back based on that PMT, and sets them in the decoder unit. In the decoder unit, the demultiplexer sends TS packets to the respective decode units based on the PIDS. Furthermore, the TS packets are sent to the TS packet transfer unit, and are transmitted to the STB unit (1394 I/F) in the form of TS packets. The respective decode units execute decoding, and decoded data are converted into an analog signal by the D/A converter, thus displaying data on the TV. In case of VR data, the demultiplexer sends data to the respective decode unit according to the fixed IDs. The respective decode units execute decoding, and decoded data are converted into an analog signal by the D/A converter, thus displaying data on the TV.
In order to display contents on the TV, data is sent to the decoder unit simultaneously with the D-PRO unit, and is played back. In this case, the MPU unit makes setups upon playback in the decoder unit, which then automatically executes a playback process. The D-PRO unit forms ECC groups by combining, e.g., every 16 packs, appends ECC data to each group, and sends them to the disc drive unit. When the disc drive unit is not ready to record on the disc, the D-PRO unit transfers the ECC groups to the temporary storage unit and waits until the disc drive unit is ready to record data. When the disc drive unit is ready, the D-PRO unit starts recording. As the temporary storage unit, a large-capacity memory is assumed since it must hold recording data for several minutes or longer by high-speed access. Also, a microcomputer can make high-speed read/write access to the D-PRO unit via a dedicated microcomputer bus, so as to read/write the file management area and the like.
Upon playback, pack data read out from the disc are interpreted by the demultiplexer. Packs that store TS packets are sent to the TS packet transfer unit, and are then sent to the decoders, thus playing back data. When pack data are transferred to the STB unit (or are transmitted to an external apparatus: a digital TV or the like), the TS packet transfer unit transfers only TS packets at the same time intervals as they arrived.
The STB unit makes decoding to generate an AV signal, which is displayed on the TV via the video encoder unit in the streamer.
For example, when the power switch of the apparatus in
That is, if the key input is, for example, a key operation made to set timer program recording, a program setting process starts (step ST20). If the key input is a key operation made to start video recording, a video recording process starts (step ST22). If the key input is a key operation made to start playback, a playback process starts (step ST24). If the key input is a key input made to output digital data to the STB, a digital output process starts (step ST26). If the key input is a key operation of an edit process, the edit process starts (step ST28).
The processes in steps ST20 to ST28 are parallelly executed as needed for respective tasks. For example, the process for outputting digital data to the STB (ST26) is parallelly executed during the playback process (ST24). Or a new program setting process (ST20) can be parallelly executed during the video recording process (ST22) which is not timer program recording. Or by utilizing the feature of disc recording that allows high-speed access, the playback process (ST24) and digital output process (ST26) can be parallelly executed during the video recording process (ST22). Also, the disc edit process (step ST28) can be executed during video recording on the HDD.
When one of program information PGI, cell information CI, or RVOB/ESOB data has been changed, this program update date may be set. When RVOBI and/or ESOBI have/has been changed, the edit times/time (EDIT_TIME) of the RVOBI and/or ESOBI can be set in ESOB_EDIT_TIME (not shown) or the like.
FIGS. 45 to 55 are flowcharts for explaining an example of the video recording operation of the apparatus in
d1) A program to be recorded is determined using EPG (Electronic Program Guide) in the program setting process, reception of that program starts, and the determined program is recorded.
d2) Upon reception of a recording command from the key input unit, the MPU unit loads management data from the disc drive unit and determines a write area. At this time, the MPU unit checks the file system (step ST100) to determine whether or not recording can be proceeded (step ST102). If recording can be proceeded, the MPU unit determines a recording position (step ST105); otherwise, the MPU unit displays a message that advises accordingly for the user (step ST104), thus aborting the recording process.
d3) If data to be recorded is digital broadcast data (step ST106) and if no error is found (step ST111), contents of the management area are set to write data in the determined area, and the write start address of video data is set in the disc drive unit, thus preparing for data recording (step ST112).
d4) It is checked if the stream of interest is cognizable (if it supports cognizance). If the stream of interest is cognizable (or it supports cognizance), the type of stream is determined as TYPE A and a video recording preparation starts; otherwise, the type of stream is determined as TYPE B and a video recording preparation is made.
d5) The time of the STC unit is reset. Note that the STC unit is a system timer, and recording/playback is done with reference to the count value of this timer.
d6) The PAT of a program to be recorded is loaded to determine the PID required to fetch the PMT of the target program. Then, the target PMT is loaded to determine the PIDs of data (video, audio) to be decoded (to be recorded). At this time, the PAT and PMT are saved in the work RAM of the MPU unit, and are written in the management information. VMG file data is written in the file system, and required information is written in VMGI.
d7) Video recording setups are made in respective units (step ST114). At this time, a segmentation setup of data and a reception setup of TS packets are made in the formatter unit. Also, the PID of data to be recorded is set to record only a target video stream. Furthermore, the buffer is set to start holding of TS packets (step ST116). Then, the formatter unit starts operation.
d8) ESOB_ESI is generated based on the PMT (step ST120; see
d9) If data stored in the buffer reaches a predetermined size, an ECC process is done via the D-PRO unit, thus recording the data on the disc (step ST130).
d10) During video recording, segmentation information is saved in the work RAM of the MPU unit periodically (before the buffer RAM of the formatter unit becomes full of data). The segmentation information to be saved is ESOBU segmentation information, i.e., the ESOBU start address, ESOBU pack length, I-picture end address, the ESOBU arrival time (PATS), or the like may be saved.
d11) It is checked if video recording is to end (if the user has pressed a video recording end key or if no recordable space remains). If video recording is to end, remaining segmentation information is fetched from the formatter unit, and is added to the work RAM. These data are recorded in management data (VMGI), and the remaining information is recorded in the file system.
d12) If video recording is not to end, the control returns to d9) to continue the data fetch and write processes.
a1) A TS packet is received (step ST1300).
a2) If the fetched TS packet includes a PCR, the STC unit is corrected.
a3) If the TS packet includes SCR data, and the discontinuity indicator in the adaptation field in the packet header is set (discontinuity: whether or not the SCR data is discontinuous). If the SCR data is discontinuous, its position information is set in ESOB_DCNI.
a4) If the packet of interest corresponds to the head of a packet group, Sync_Pattern: 00ffa5a5a is set (step ST1308).
a5) The arrival time of the TS packet is allocated before that TS packet as PAT data (step ST1308).
a6) The fetched TS packet is set in the TS packet data area.
a7) It is checked if a packet group is formed (if 170 TS packets are grouped) (step ST1322). If NO in step S1322, the control returns to a1); otherwise, a CCI process is executed (step ST1330), and the group data is temporarily saved in the buffer RAM (step ST1332).
c1) The stream type which is being recorded is checked (step ST1329A). If the stream type indicates a TS stream, “1”, is set in Packet TYPE (step ST1329B); otherwise, a value corresponding to each type is set (step ST1329C).
c2) Version information is set (step ST1329D).
c3) It is checked for each Packet on the basis of information from the tuner if a communication error has occurred (step ST1329E). If no error is found, the flow jumps to c5).
c4) If an error is found, the following three different error setting methods are available.
When 1 bit is set for the overall Packet Group: “1” is set in ERR (step ST1329G).
When 1 bit is set for each stream (a total of 32 bits are required): a stream that suffers an error is checked, and “1” is set in a bit in ERR corresponding to the errored stream (step ST1329H).
When 1 bit is set for each Packet (a total of 170 bits are required): a packet that suffers an error is checked, and “1” is set in a bit in ERR corresponding to the errored packet (step ST1329J).
c5) In this stage, since no dummy data is inserted, “0” is set in STUF (step ST1329K), and “170” (0×AA) is set in VALID_PKT_Ns.
c6) It is checked if the PATS reaches an end in this Packet Group (step ST1329L). If the PATS does not reach an end, “0” is set in WRAP (step ST1329M). If the PATS reaches an end, “1” is set in WRAP (step ST1329N). After that, “0×aa” is set in VALID_PKT_Ns (step ST1329P).
The CCI setting process (not shown) will be described below.
b1) It is checked if the latest PMT and EIT include copy information. If copy information is found, copy information is formed and set based on that information. After that, the control advances to b3).
b2) If the received TS packet does not include any copy information, the same information as that in the previous pack is formed as copy information.
b3) It is checked if the latest PMT and EIT include contents use descriptors. If contents use descriptors are found, the following process is made. That is, if the values of the contents use descriptors have changed in the middle of a packet group, dummy data is inserted in the previous packet group to form a new packet group after the changed position, and CCI is set based on that information.
b4) If the received TS packet does not include any copy information, CCI is formed as “copy free”.
f1) PSI and SI are examined to check the number of set streams (step ST1201).
f2) f4) and f5) are repeated in correspondence with the number of set streams.
f3) A stream type is checked based on PSI and SI (step ST1203) to determine if the stream of interest is a video/audio stream or another type of stream to branch the control to the next stream check processes.
f4) The stream type is categorized to MPEG1 video, MPEG2 video, MPEG1 audio, MPEG2 audio, . . , and internal data are checked depending on the determined type to read out respective kinds of attribute information.
f5) In case of a video stream, ES_TY=0 (step ST1213A), and respective kinds of attribute information are set (especially, resolution data, aspect information, and the like are extracted) to generate V_ATR (step ST1213B). The control then advances to f8).
f6) In case of an audio stream, ES_TY=0×40 (step ST1215A), and respective kinds of attribute information are set (especially, the sampling frequency, the number of channels, and the like are extracted) to generate A_ATR (step ST1215B). The control then advances to f8).
f7) In case of another kind of stream, ES_TY=0×80 (step ST1217A), and respective kinds of attribute information are set (step ST1217B). The control then advances to f8).
f8) Copy information is extracted to generate CP_CTL_INFO (step ST1220).
f9) New ESI is set based on the attribute information, and the control returns to check the next stream (step ST1230).
g1) The number of ESOBI_SRP# data is increased by one to add another ESOBI, an area for that ESOBI is assured, and 0: MPEG_TS is set in PKT_TY (step ST1501).
g2) The video recording time is set in ESOB_REC_TM (step ST1502). Note that the internal clock of the apparatus (
g3) Start and end PTMs are set (step ST1502).
g4) If the stream type is a TS stream (ARIB, DVB), “188” is set in AP_PKT_SZ and “16” is set in PKT_GRP_SZ (step ST1508); otherwise, values according to the broadcast scheme are set (step ST1510).
g5) MPEG_TS is set in PKT_TY.
g6) TS_ID, NETWORK_PID, and PMT_ID (the PID of the PMT used by this ESOB) are set based on the PAT (step ST1514)
g7) SERVICE_ID (Program Number in PMT) and PCR_PID are set based on the PMT (step ST1516). Furthermore, as for FORMAT_ID and VERSION, default values in the apparatus (in case of the built-in tuner) or Registration_Descriptor values sent via a digital input (in case of an external digital input) are set.
g8) Moreover, the number of recorded ESs is set. (The PMT is set with information: the number of all broadcasted ESs. However, since not all ESs are always recorded upon video recording, the number of recorded ESs is set.)
g9) The video recording start LB address is set in ADR_OFS (step ST1550), and a default PID is set. Note that the default video PID corresponds to that with a component tag value=00 or that of a stream corresponding to a component tag described in a main component group.
g10) A GPI setting process (to be described later) is executed (step ST1530), and TMAPI is generated for each stream on the basis of segmentation information (step ST1540).
g11) An edit date is set (step ST1554).
h1) A stream type is checked.
h2) If a plurality of programs form one stream (YES in step ST15300B), information indicating the presence of GPI is set in ESOB_TY, GP_TY =3, all GPs are set as main groups, different numbers are set in GP_NUM in correspondence with programs, and one GPI is generated per program, thus ending this process (store the PID to be played back) (step ST15302B).
h3) In case of rain attenuation broadcast (YES in step ST15304B), information indicating the presence of GPI is set in ESOB_TY, GP_TY=2, and the top layer is set as a main group and other layers are set as sub-groups. An identical number is set in GP_NUM, and one GPI is generated per layer, thus ending this process (store the PID to be played back) (step ST15306B).
h4) In case of multi-view broadcast (YES in step ST15308B), information indicating the presence of GPI is set in ESOB TY, GP_TY=1, and a MAIN group is set as a main group and other groups are set as sub-groups. An identical number is set in GP_NUM, and one GPI is generated per view. If no GP remains (NO in step ST15314B), this process ends (store the PID to be played back) (step ST15310B).
h5) Otherwise (NO in step ST15308B), information indicating the absence of GPI is set in ESOB_TY, and if no GP remains (NO in step ST15314B), this process ends (step ST15312B)
i1) The ESOB structure is determined (step ST15400).
i2) In case of TYPE A, ESs for this TMAP data are to be generated are determined in consideration of the number of GPs, the number of ESs is set as the number of TMAPs, and ES_PID is set for each TMAP (step ST15402). (However, one TMAP need not always be assigned to one GP. If no TMAP is available, the TMAP of MAIN_GP or GP with identical GP_NUM is used to implement playback, search, special playback, and the like.)
In case of TYPE B, a setting is made to add one TMAP.
i3) The ESOB start and end times (TYPE A: playback time, TYPE B: arrival time), the start and end times for each TMAP, the number of ENTRIES, and the like are set based on segmentation information (step ST15404).
i4) TMAPT data is added, and ENTRY information is generated based on segmentation information (step ST15406).
j1) The recorded time is checked (step S154001). If the recorded time is equal to or shorter than two hours, the control advances to j2); if it falls within the range from two to four hours, the control advances to j3); or if it is equal to or longer than four hours, the control advances to j4).
j2) “0” is set in RVOB/ESOB_PB_TM_RNG/ASOBU_TM, and RVOBU/ESOBU_ENT/ASOBU_ENT data are generated based on segmentation information (information of 0.4s to 1s) so that each ESOBU has a time range of 0.4s to 1s (step ST154002). The control then advances to j5).
j3) “1” is set in RVOB/ESOB_PB_TM_RNG/ASOBU_TM, and RVOBU/ESOBU_ENT/ASOBU_ENT data are generated based on segmentation information (information of 1s to 2s) so that each ESOBU has a time range of 1s to 2s (step ST154003). The control then advances to j5).
j4) “2” is set in RVOB/ESOB_PB TM_RNG/ASOBU_TM, and RVOBU/ESOBU_ENT/ASOBU_ENT data are generated based on segmentation information (information of 2.0s to 3.0s) so that each ESOBU has a time range of 2s to 3s (step ST154004). The control then advances to j5).
j5) This process ends.
k1) It is checked if the latest PMT and EIT include copy information (step ST12200). If copy information is found, copy information is generated based on that information (step ST12204, ST12206), and is set. The control then advances to k3).
k2) If no copy information is found, “copy free” is set (step ST12202).
k3) It is checked if the latest PMT and EIT include contents use descriptors (step ST12208). If the contents use descriptors are found, ICT and EPN are set based on their values (step ST12212, ST12214).
k4) If the received TS packet does not include any copy information, ICT and EPN are formed as “copy free”.
m1) It is checked if a disc of interest undergoes the first video recording (step ST1600). If the disc of interest undergoes the first video recording, ORG_PGC is generated (step ST1602); otherwise, a setup is made to add PG information after the ORG_PGC (step ST1604).
m2) Erase permission: 0 is set in PG_TY, and the number of cells is set in Cell_Ns (step ST1700Y).
m3) In case of ARIB, if language_code in a short event descriptor in EIT is “jpn”, “0×12” is set in text information CHR in management information VMG_MAT, EVENT_NAME is set in the second field of primary text information PRM_TXTI, and representative picture information is set in REP_PICTI.
m4) The manufacturer ID of this apparatus is set in LAST_MNF_ID (step ST1702Y). As for this value, when PGI, CI, or RVOB has been changed, the manufacturer ID of the apparatus used to change such information is set to identify the manufacturer of the last apparatus used to execute edit and record processes. In this way, when the apparatus of another manufacturer is used to change the recorded contents of a disc, a reaction can be easily taken.
m5) The absolute number of PG is set in PG_INDEX (step ST1702Y) to allow another application software or the like to refer to each PG. Furthermore, this PG update date information is recorded. At this time, if MNFI and IT_TXT (with the same manufacturer code) supported by this apparatus are found, the update date information of corresponding data is also set.
m6) Information unique to each manufacturer is set in MNFI.
m7) Information (CELLI) indicating a streamer is set in CELL_TY (step ST1704Y).
m8) The reference ESOB number is set, the representative (video) PID or Component_Group_Id is set as the ID to be played back, and the number of pieces of EPI, playback start and end PTMs, and EPs are set (step ST1704Y).
n1) The VMG file is loaded to determine programs to be played back (step ST207, ST208). The VMG information is stored in work RAM 80A in
n2) If a playback process in the recorded order is selected, playback is made according to ORG_PGCI; if a playback process for respective programs is to be made, playback is made according to UD_PGC with a number corresponding to the program to be played back.
n3) The value of PKT_TY is read out to check if the broadcast scheme is supported. If the broadcast scheme is unsupported, a message that advises accordingly is displayed, and the process ends (or the control advances to process the next CELL).
n4) The ESOB/RVOB to be played back and the PID of that ES to be played back are determined based on PG/PL_RSM_IFO and CELLI (step ST212A), and playback start file pointer (logical address) FP is determined based on the playback start PTM. Furthermore, respective decoder units are set based on STI values to prepare for playback. Also, APS setups (e.g., APS=ON/OFF, APS type, and the like) are set in the video decoder based on CCI in the packet group header at the head position, and CGMSA setups are made in the video recorder based on digital copy control. Furthermore, if a digital output (IEEE1394, Internet, or the like) is available, 0: scramble ON or output inhibition or 1: direct output is set in the output IC based on the EPN value. If ICT=0, the image resolution is constrained, i.e., HD (high-resolution) is converted into SD (standard resolution); if ICT=1, “direct output” is set in the output IC. At this time, if the playback start frame is not I-picture data, the immediately preceding I-picture is read out and decoding starts from that I-picture, and display starts when the target frame is decoded, thus initiating normal playback.
n5) A process upon playback start is executed (step ST212A)
n6) Setups of respective decoders (to be described later) are made (step ST217).
n7) A cell playback process (to be described later) is executed (step ST220), and it is then checked if playback is to end (step ST230). If playback is to end, an error check process is executed (step ST240). If any error is found, a message that advises accordingly is displayed (step ST242); otherwise, a playback end process is executed (step ST244), thus ending this operation.
n8) If playback is not to end, the next cell is determined based on PGCI (step ST232), and the control returns to n7).
p1) A group to be played back is determined first, and ESs to be played back are determined in accordance with GPI (step ST2171).
p2) Attribute information (STI or ESI) is loaded (step ST2172).
p3) It is checked if the recorder can support the format of the ESs to be played back (step ST2173, ST2176). If the recorder can support the format, corresponding setups are made (step ST2174, ST2177); otherwise, mute setups are made (step ST2175, ST2178).
p4) CCI is set (step S2179).
q1) Start file pointer FP (logical block number LBN) and end address FP of a CELL are determined on the basis of the contents of TMAPI. Furthermore, start ESOBU_ENTRY and end ESOBU_ENTRY are determined based on the start and end times in CELLI, and the data lengths of ENTRIES until target ESOBU_ENTRY are accumulated in ADR_OFS, thus obtaining a start address (LB=FP) and end address. The remaining cell length is calculated by subtracting the start address from the end address, and the playback start time is set in the STC (step ST2200). The PID to be played back is determined and is set in the decoder (STB, digital tuner).
q2) A read process during playback is executed to determine the read address and read size based on the start file pointer (step ST2206).
q3) The read unit size to be read out is compared with the remaining cell length (step ST2207). If the remaining cell length is larger than the read unit size, a value obtained by subtracting the read unit size to be read out from the remaining cell length is set as the remaining cell length (step ST2208). If the remaining cell length is smaller than the read unit size, the read unit size is set to be the remaining cell length, and the remaining cell length is set to be zero (step ST2209).
q4) The read length is set to be a read unit length, and the read address, read length, and read command are set in the disc drive unit (step ST2210).
q5) The control waits until data for one ESOBU are stored. If data for one ESOBU are stored, a buffer decoder transfer process is executed (step ST2220), and the control advances to the next step.
q6) It is checked if transfer is complete (step ST2226). If transfer is complete, the control advances to the next step.
q7) It is checked if an angle key or the like has been pressed (step ST2238). If the angle key has been pressed, it is checked if GPI is available (step ST2239). If GPI is available, a GP switching process is executed (step ST2240); otherwise, the control advances to the next process without any process.
q8) It is checked if a Skip sw has been pressed (step ST2246). If the Skip sw has been pressed, a Skip process is executed (step ST2250), and the control advances to the next step.
q9) If a Stop key has been pressed (YES in step ST2248), an end process (a save process of resume information and the like) is executed (step ST2252), thus ending this process.
q10) The remaining cell length is checked (step ST2228). If the remaining cell length is not “00”, the control returns to q2); if it is “00”, this process ends.
r1) The number of packet groups in the buffer RAM is checked. If no packet group is found, this process ends. If one or more packet groups are stored, a setup is made to process the first packet group (step ST22200).
r2) A target packet group is read out from the buffer RAM (step ST22201). The head of the packet group is detected based on the packet group length and Sync_Pattern.
r3) PATS data in the packet group header is read out to check if PATS data is available (step ST22202). If no PATS is found, one packet group is sent to the decoder unit (STB, digital tuner) immediately (irrespective of time).
r4) PAT data (6 bytes) is set as the transfer time of each TS packet intact, and each TS packet is sent to the decoder unit (STB unit) at that time (step ST22203).
r5) The control waits for the end of transfer (YES in step ST22204). If transfer of TS packets is complete, APS setups (setups of APS=ON/OFF; APS type; and the like) are made in the video decoder on the basis of CCI, and digital copy control is also made based on CCI (e.g., CGMSA is set in the video decoder). Furthermore, if a digital output (IEEE1394, Internet, or the like) is available, “scramble ON”, “output inhibition”, or the like is set based on the EPN value. Moreover, the output IC of the apparatus is set to constrain the image resolution, i.e., to convert HD (high-resolution) into SD (standard resolution) if ICT=0; or to output original data if ICT=1 (step ST22205). After this output IC setup, it is checked if the packet groups remain stored in the buffer RAM (step ST22206). If no packet group remains (NO in step ST22206), this process ends.
r6) A setup is made to process the next packet group (step ST22207), and the control returns to r2).
d1) ERR information in the Packet Group Header is checked (step ST22220B). If ERR is found, a message that advises accordingly is displayed for the user (step ST22220C; see 68A or 104A in
d2) If ERR is set for each Packet or stream, the number of errors in a video stream, playback of which is in progress, is counted, or if ERR is set for each Packet Group, the number of errors for each Packet Group is counted (step ST22220F).
d3) If the number of errors per unit time is equal to or larger than a predetermined value (YES in step ST22220G), and if a rain attenuation GP is available (YES in step ST22220H), the video stream is switched to its SUB video (or video of a lower layer) (step ST22220J). As a result, communication errors can be distinguished from disc errors. In case of a disc error, indications of exchange of discs and cleaning of a pickup head can be given. In case of a communication error, since the control shifts to low-layer broadcast, the user can continue to watch a video (although the resolution drops). Also, in case of a chronic communication error, an indication of antenna adjustment or the like can be given. The error contents may be displayed either on a monitor (TV) or the display unit of the recorder main body.
u1) The type of selector SW is checked (step ST22400D).
u2) GPI of the GP whose playback is currently in progress is loaded (step ST22401D).
u3) If the SW type is multi-channel broadcast (YES in step ST22402D), video attributes are likely to change, and the process ends without switching (in case of TY which does not support switching, the process ends without any process).
u4) If the SW type is not multi-channel broadcast (NO in step ST22402D), it is checked if GP_TY in the GP whose playback is currently in progress includes the SW type. If no SW type is available (NO in step ST22404D), the process ends without any process.
u5) If the SW type is included in GP_TY (YES in step ST22404D), it is checked if a GP with the same GP_NUM is present. If a GP with the same GP_NUM is found, GPI information is loaded to switch the current GP to that GP (step ST22405D), and a decoder setting process is executed (step ST22410).
e1) DCNI is read out (step ST22230A) to check if the DCNI is located at the currently decoded packet position (step ST22230B). If the DCNI is located at that position, the playback mode of the decoder is shifted to an internal clock mode (step ST22230C) (an operation mode that ignores PTS values to execute playback based on only internal clock values, sets the STC based on the PCR, and enables the PTS values again: external sync mode), thus ending this process.
e2) If the DCNI is not located at that position, this process ends without any process, to thereby achieve the playback of recording in which different titles are sequentially recorded.
f1) A PGC and PG in which an EP is to be set is selected (step ST282A-1).
f2) The selected PG is displayed as sub-window 68D, as shown in
f3) The control prompts the user to select a position where the EP is to be set (step ST282A-3).
f4) The selected position information (PGC number, PG number, CELL number, PTM, video PID) is set in EPIT (step ST282A-4, ST282A-5). In this case, if a text input is made, that value is set in PRM_TXT. Furthermore, if a thumbnail position is set, that value is set in REP_PIC_PTM. In this manner, the EP can be set.
v1) The VMG is read out (step ST300) to detect titles (PGs) that can be played back (step ST302).
v2) Playback preparations (decoder setups, etc.) are made (steps ST304 to ST308) to set the number of titles. REP_MRKI is loaded for each title, and a video of that playback time is displayed in reduced scale at a target window position (68 in
v3) After display for one window is made, a thumbnail (68E in
v4) The control prompts the user to select a title. If the user selects a next page button (68F in
v5) A setup is made to play back the selected title (YES in step ST334), thus ending this process. In this manner, the flexible control operation compatible to digital broadcast can be implemented.
<Summary of Embodiment>
1. EPIT is recorded on an area independent from CELLI to reduce the load upon PGCI playback. In this case, PID and REP_PIC_INFO are set together with the playback position.
2. EPI is skipped in turn using the SKIP key.
<Effect According to Embodiment>
Marker information corresponding to each ES can be provided in stream recording.
Since the marker information is recorded on an area independent from PGCI, the load can be reduced upon editing a CELL in the PGCI process.
Note that the present invention is not limited to the aforementioned embodiments, and various modifications may be made on the basis of techniques available at that time without departing from the scope of the invention when it is practiced at present or in the future. The respective embodiments may be combined as needed as much as possible, and combined effects can be obtained in such case. Furthermore, the embodiments include inventions of various stages, and various inventions can be extracted by appropriately combining a plurality of required constituent elements disclosed in this application. For example, even when some required constituent elements are omitted from all the required constituent elements disclosed in the embodiments, an arrangement from which those required constituent elements are omitted can be extracted as an invention.
Number | Date | Country | Kind |
---|---|---|---|
2004-185343 | Jun 2004 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | 11157914 | Jun 2005 | US |
Child | 11562439 | Nov 2006 | US |