Patent Publication Number: US-2006018340-A1

Title: Transport stream processing apparatus

Description:
BACKGROUND OF THE INVENTION  
      1. Field of the Invention  
      The present invention relates to a transport stream processing apparatus and a transport stream processing method for processing data inputted by means of a transport stream packet format (hereinafter, referred to as TSP) and a digital broadcast receiver comprising the apparatus.  
      2. Description of the Related Art  
      The CS digital broadcast has been made available since 1995, and the BS digital broadcast has been made available since Dec. 1, 2000 in Japan. A broadcast station transmitting the foregoing broadcasts multiplexes image information and audio information obtained by compressing digital information and additional information appended to the informations such as program information according to the MPEG2 system standard to thereby generate a transport stream (TS), and digitally modulates and transmits the generated transport stream (TS). A digital broadcast receiver digitally demodulates the received signal to thereby obtain the transport stream (TS), and then separates the image, audio and other inforamtions from the obtained transport stream (TS) and reproduces them.  
      In the CS and BS digital broadcasts, the multiplexed data such as the image and audio is superposed on the transport stream (TS) as described, which is a data string having a fixed length generally called a transport stream packet (TSP), and then transmitted.  
       FIG. 3  is a schematic view illustrating a general format of the transport stream packet (TSP). The transport stream packet (TSP) is a packet having the fixed length of 188 bytes, the first four bytes of which are called a packet header. In the packet header, the first byte is a synchronous byte for synchronizing with a processing apparatus for processing the transport stream packet (TSP), in which a data value is always “47h” (h denotes a hexadecimal number). Subsequent to the first byte, a transport error indicator (TEI) bit for indicating “1” when a data error is detected in a digital demodulating circuit, a payload unit start indicator (PUSI) bit for denoting the presence of a section or a leading position of a packaged elementary stream (PES) packet, a transport scramble control (TSC) bit for indicating scramble information of the TSP, an adaptation field control (AFC) bit for indicating the presence/absence of an adaptation field, a continuity counter (CC) for indicating a packet continuity, and the like, are assigned in the packet header.  
      The fifth byte and thereafter of the transport stream packet (TSP) are comprised of an adaptation field of a variable length (N bytes) and a payload of a variable length (188-4-N bytes). The payload area stores the PES packet including the image, audio and subtitle, information for identifying a recipient, various service informations and the like.  
      The transport stream packet (TSP) is scrambled so that data can be viewed/listened by particular subscribers and then transmitted. Further, in the digital broadcast receiver, the received transport stream packet (TSP) is filtered so that only necessary data is retrieved therefrom. Accordingly, the digital broadcast receiver descrambles and filters the transport stream packet (TSP) and outputs the descrambled and filtered TSP. As examples of a destination of the output, a memory accessible by a processor (CPU), an AV decoder for retrieving the audio/image, a partial transport stream (partial TS) output port, and the like, can be mentioned. An apparatus, which applies the filtering process, descrambling process and the like to the transport stream packet (TSP) to thereby retrieve the desired data as in the described manner, is called a transport stream processing apparatus.  
      A conventional transport stream processing apparatus ranges in the following three constitutions. In one of them, all of the processing steps for the transport stream separation are executed by hardware. In the other two constitutions, all of the processing steps for the transport stream separation are executed by software, and the processing steps for the transport stream separation are divided between the hardware and the software.  
      Examples of the transport stream separating apparatus for executing all of a plurality of processing steps for the transport stream separation by the hardware are disclosed in No. H10-341419, No. 2000-13448 (P2000-13448A) and No. H11-239186 of the Publication of the Unexamined Japanese Patent Applications. An example of the transport stream separating apparatus for dividing the plurality of processing steps for the transport stream separation between the hardware and software is disclosed in No. H10-210461 of the Publication of the Unexamined Japanese Patent Applications. The cited reference No. 11-239186 further discloses an example of the transport stream separating apparatus for outputting a partial transport stream (PTS) obtained by applying a service information (SI) replacing process to the transport stream (TS).  
      The foregoing conventional transport stream processing apparatus have the following problems. The service information (SI) replacing process executed to the same transport stream (TS) ranges in different variations, which correspondingly generates a number of different situations and statuses in the output of the partial transport stream (PTS) and the like. Therefore, in an effort to deal with all the possible status and situations in the constitution for executing all of the processing steps using the hardware, a high operation frequency and an additional circuit are demanded. On the other hand, in an effort to deal with all the possible status and situations in the constitution for executing all of the processing steps using the software, a high power for the CPU is constantly required. In the case of the constitution in which the processing steps are divided, a maximum performance may not always be exerted because the processing steps are divided in a fixed manner  
     SUMMARY OF THE INVENTION  
      Therefore, a main object of the present invention is to provide a transport stream processing apparatus capable of efficiently utilizing processing performances of hardware and software.  
      In order to attain the foregoing object, a transport stream processing apparatus according to the present invention for executing a plurality of processing steps in order to separate desired data from a transport stream (TS) is constituted as follows.  
      The transport stream processing apparatus according to the present invention comprises a hardware transport stream separating device for executing a part of the plurality of processing steps using a hardware constitution, a software transport stream separating device for executing a residual processing of the plurality of processing steps not executed by the hardware transport stream separating device using a software constitution, and a processing switching device for switching the software transport stream separating device to be effective/ineffective in executing the residual processing.  
      According to the present invention, the software processing is added depending on the situations so that a new processing, which could not be conventionally added without adding a new hardware constitution, can be realized without adding the new hardware constitution. Further, execution/non-execution of the additional processing can be selected when necessary.  
      As a result, the transport stream processing apparatus capable of efficiently utilizing the processing performances of hardware and software and the digital broadcast receiver comprising the apparatus can be realized according to the present invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
      Other objects of the invention will become clear by the following description of preferred embodiments and explicit in the appended claims of the invention. Many other benefits of the invention, which are not recited in this specification, will come to the attention of those skilled in the art upon implementing the present invention.  
       FIG. 1  is a block diagram illustrating an entire constitution of a transport stream processing apparatus according to a preferred embodiment of the present invention.  
       FIG. 2  is a flow chart according to the preferred embodiment.  
       FIG. 3  shows a constitution of a transport stream packet.  
       FIG. 4  is a block diagram illustrating a basic constitution of a transport stream processing apparatus to which the present invention is implemented.  
       FIG. 5  is a flow chart in the basic constitution of the transport stream processing apparatus to which the present invention is implemented.  
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
      Prior to the description of a preferred embodiment of the present invention, an outline of a basic constitution relating to data reception in a digital broadcast receiver to which the present invention is implemented is described referring to  FIG. 4 .  
      In the digital broadcast receiver, a CPU (processor)  41 , a memory (memorizing device)  42 , a tuner  47  and a transport stream processing apparatus  43  are mainly responsible for the data reception.  
      The CPU  41  functions as a processor. The memory  42  is adapted to be accessible by software operated on the CPU  41 . The tuner  47  frequency-selects a targeted carrier wave from received electric waves, demodulates and error-corrects the carrier wave, and further selects a transport stream from the carrier wave to thereby output the transport stream. The transport stream processing apparatus  43  functions as described earlier. In  FIG. 4 , a data flow and a control flow are respectively shown in arrows.  
      The transport stream processing apparatus  43  comprises a synchronizing unit  401 , a PID filter  402 , a descrambler  403 , a section filter  404 , a CRC checking unit  405 , an output unit  406 , a PES packet filter  407 , a service information (SI) replacing unit  408  and a partial TS output unit  409 . Identification data (PID) refers to packet identification data and synonymous with a packet identifier.  
      The synchronizing unit  401  detects leading data from the inputted transport stream (TS), and then extracts and outputs a transport stream packet (TSP).  
      The PID filter  402  outputs only the necessary transport stream packet (TSP) as TS 401  and discards the unnecessary transport stream packet (TSP) based on identification data (PID) of the transport stream packet (TSP) inputted from the synchronizing unit  401 .  
      The descrambler  403  judges a transport scramble control (TSC) superposed on the transport stream packet (TSP) as the TS 401  inputted from the PID filter  402 , and descrambles the TS 401  and outputs it as TS 402  when the TS 401  is judged to be scrambled. The descrambler  403  dispenses with any processing with respect to the TS 401  and immediately outputs it as the TS 402  when the TS 401  is judged to be non-scrambled.  
      The section filter  404  retrieves a section from the inputted TS 402  (post-descrambling transport stream packet (TSP)) and filters a header part of the retrieved section to thereby output only the necessary section as TS 403  to the CRC checking unit  405  and discard the unnecessary section.  
      The CRC checking unit  405  checks a CRC error (cyclic redundancy check error) of the section in the inputted TS 403  to thereby append a result of the CRC check to the section and output it as TS 404  to the output unit  406 .  
      The output unit  406  outputs the inputted TS 404  to the memory  42 . However, the section including no CRC (section whose section syntax indicator (SSI)=0) is not subjected to the CRC check in the CRC checking unit  405  and outputted from the output unit  406 .  
      The PES packet filter  407  retrieves a PES packet from the inputted TS 402  and executes a filtering process in order to judge whether or not the retrieved PES packet is necessary. Then, the PES packet filter  407  outputs the PES packet judged to be necessary as TS 405  to the output unit  406 , while discarding the PES packet judged to be unnecessary. The output unit  406  outputs the inputted TS 405  to the memory  42 .  
      The service information (SI) replacing unit  408  and the partial TS output unit  409  are adapted to retrieve a necessary program from the inputted transport stream (TS) and output the retrieved program as a partial transport stream (PTS).  
      The service information (SI) replacing unit  408  synthesizes the inputted TS 402  and the transport stream packet (TSP) including the section required in the output of the partial transport stream (PTS) (in which program information is stored) to thereby output a result of the synthesis as TS 407 .  
      Data stored in the section as the program information includes PAT (program association table), PMT (program map table), SIT (selection information table), DIT (discontinuity information table) and the like.  
      The partial TS output unit  409  outputs the TS 407  outputted from the service information (SI) replacing unit  408  as the partial transport stream (PTS) outside of the transport stream processing apparatus.  
      Next is described an examplified processing of the digital broadcast receiver in the case of executing the service information (SI) replacing process referring to a flow chart of  FIG. 5 . The flow chart represents a service information (SI) replacing step s 51  using the hardware.  
      The step s 51  comprises a synchronizing step s 501 , a PID filtering step s 502 , a descrambling step s 503 , a SI replacing step s 504 , a partial TS output step s 505 .  
      The synchronizing step s 501  detects the leading data from the inputted transport stream (TS) and further extracts the transport stream packet (TSP) therefrom. The extracted transport stream packet (TSP) is provided with time stamp information indicating an arrival time thereof.  
      The PID filtering step s 502  identifies the necessary transport stream packet (TSP) and the unnecessary transport stream packet (TSP) based on the identification data (PID) of the transport stream packet (TSP) processed in the step s 501 . Then, the PID filtering step s 502  immediately outputs the necessary transport stream packet (TSP) and appends a discard log indicating that the unnecessary transport stream packet (TSP) is to be discarded to the relevant transport stream packet (TSP) and outputs it. In the step s 502 , the transport stream packet (TSP) to be subjected to the replacing process in the service information (SI) replacing step s 504  is selected, and the transport stream packet (TSP) to be replaced is provided with a replacing log indicating that the relevant transport stream packet (TSP) is to be replaced and outputted.  
      The descrambling step s 503  judges whether or not the relevant transport stream packet is scrambled based on the transport scramble control (TSC) stored in the transport stream packet (TSP) processed in the steps  502 . Then, the descrambling step s 503  descrambles the data when the data is judged to be scrambled, while omitting the descrambling process when the data is judged to be non-scrambled.  
      The service information (SI) replacing step s 504  generates the transport stream packet (TSP) including the section in which the program information of the relevant transport stream packet (TSP) is stored with respect to the transport stream packet (TSP) processed in the step s 53 . To be specific, the transport stream packet (TSP) which is supplied with the replacing log in the step s 502  is replaced with the desired transport stream packet (TSP), which is outputted, while the transport stream packet (TSP) which is supplied with the discard log in the step s 502  is overwritten with the transport stream packet (TSP) including the section in which the program information is stored, which is outputted. Any packet having the discard log, which remains non-replaced, is discarded.  
      The partial transport stream (PTS) output step s 505  outputs the transport stream packet (TSP) processed in the step s 504  as the partial transport stream (PTS) in accordance with the time stamp outside of the transport stream processing apparatus.  
      Next, a transport stream processing apparatus and a digital broadcast receiver comprising the transport stream processing apparatus according to the present embodiment are described in detail.  FIG. 1  is a block diagram illustrating a schematic constitution relating to data reception in the digital broadcast receiver according to the present embodiment.  
      In the digital broadcast receiver, a CPU (processor)  11 , a memory (memorizing device)  12 , a tuner  17  and a transport stream processing apparatus are mainly engaged in the data reception in the same manner as in the constitution of  FIG. 4 . The memory  12  is adapted to be accessible by software operated on the CPU  11 . The tuner  17  frequency-selects a targeted carrier wave from received electric waves, demodulates and error-corrects the carrier wave, and further selects a transport stream from the carrier wave and outputs the selected transport stream. In  FIG. 1 , single-lined arrows show a control flow and double-lined arrows show a data flow.  
      The transport stream processing apparatus is an apparatus for executing a plurality of processing steps in order to separate the desired data from the transport stream (TS).  
      The transport stream processing apparatus comprises a hardware transport stream separating device  13 , a software transport stream separating device  14  and a processing switching device  15 .  
      The hardware transport stream separating device  13  comprises a synchronizing unit  101 , a PID filter  102 , a descrambler  103 , a service information (SI) replacing unit  104 , partial transport stream (PTS) output units  105  and  110 , an output unit  106 , and an input unit  109 . In the present embodiment, the output unit  106  constitutes a first output unit, and the partial transport stream (PTS) output unit  110  constitutes a second output unit.  
      The synchronizing unit  101  detects the leading data of the inputted transport stream (TS), and further extracts the transport stream packet (TSP) from the inputted the transport stream (TS). In the extraction, the synchronizing unit  101  appends the time stamp information indicating the arrival time of the transport stream packet (TSP) to the transport stream packet (TSP).  
      The PID filter  102  identifies the necessary packet and the unnecessary packet with respect to the transport stream packet (TSP) inputted from the synchronizing unit  101 . The PID filter  102  then immediately outputs the necessary packet as TS 101 , while appending the discard log indicating that the relevant packet is to be discarded to the unnecessary packet and outputting it as the TS 101 .  
      The PID filter  102  judges the necessity of the transport stream packet (TSP) based on the identification data (PID) appended thereto. Further, the PID filter  102  appends the replacing log indicating that the relevant TSP is to be replaced to the transport stream packet (TSP) to be replaced by the service information (SI) replacing unit  104  disposed in a subsequent stage of the PID filter  102 , and outputs it as the TS 101 .  
      The descrambler  103  judges the transport scramble control (TSC) appended to the TS 101  to thereby judge whether or not the TS 101  is scrambled. Then, the descrambler  103  descrambles the TS 101  when the TS 101  is judged to be scrambled and outputs it as TS 102 , while outputting the TS 101  as the TS 102  without executing any processing thereto when the TS 101  is judged to be non-scrambled.  
      The service information (SI) replacing unit  104  synthesizes the transport stream packet (TSP) including the section containing the program information of the partial transport stream (PTS) into the TS 102 , and outputs it as TS 103 . More specifically, the transport stream packet (TSP) provided with the replacing log is replaced with the desired transport stream packet (TSP), which is outputted as the TS 103 . The transport stream packet (TSP) provided with the discard log is replaced with the transport stream packet (TSP) including the section in which the program information is stored, which is outputted. Any packet having the discard log, which remains non-replaced, is discarded.  
      The partial transport stream (PTS) output unit  105  outputs the TS 103  inputted from the service information (SI) replacing unit  104  as a partial TS 1  outside of the transport stream processing apparatus. The partial TS 1  is outputted in accordance with the time stamp written in the TS 103 .  
      The output unit  106  outputs the TS 102  inputted from the descrambler  103  to the memory  12 .  
      The input unit  109  reads the data from the memory  12 .  
      The partial transport stream (PTS) output unit  110  outputs TS 107  read by the input unit  109  as a partial TS 2  outside of the transport stream processing apparatus.  
      The software transport stream separating device  14  comprises a service information (SI) replacing unit  107  and a service information (SI) overwriting unit  108 .  
      The service information (SI) replacing unit  107  synthesizes the inputted TS 102  (post-descrambling transport stream packet (TSP)) and the relevant program information. More specifically, the transport stream packet (TSP) including the section required in the output of the partial transport stream (PTS) is synthesized into the TS 102 . Data stored in the required section is, for example, the program information. The synthesized data is outputted as TS 105  to the memory  12  or the service information (SI) overwriting unit  108 .  
      The program information stored in the section includes PAT (program association table), PMT (program map table), SIT (selection information table), DIT (discontinuity information table) and the like.  
      The service information (SI) overwriting unit  108  overwrites a part or all of the data in the sections (TS 105 , TS 103 ) subjected to the service information (SI) replacing process by the service information (SI) replacing units  107  and  104 . To describe the data overwriting, digital recording control data alone in a digital copy control descriptor as a descriptor included in the PMT (program map table), for example, is overwritten. The data whose service information (SI) is overwritten by the service information (SI) overwriting unit  108  is outputted and memorized in the memory  12  as TS 106 .  
      The service information (SI) replacing unit  107  and the service information (SI) overwriting unit  108  serve as the software whose processing is operated by the CPU  11 .  
      The processing switching device  15  switches the software transport stream separating device  14  to be ineffective/effective. More specifically, the processing switching device  15  generates a service information (SI) replacing switching flag  111  for switching to and from ineffective/effective of the service information (SI) replacing unit  107  and a service information (SI) overwriting switching flag  112  for switching to and from ineffective/effective of the service information (SI) overwriting unit  108 . In the present embodiment, the CPU  11  realizes the function of the processing switching device  15 .  
      Below is described an operation of the transport stream processing apparatus. The leading data of the transport stream (TS) inputted to the transport stream processing apparatus is detected, and further, the transport stream packet (TSP) is extracted therefrom by the synchronizing unit  101 . In extracting the transport stream packet (TSP), the transport stream packet (TSP) is supplied with the time stamp information indicating the arrival time thereof by the synchronizing unit  101 .  
      The transport stream packet (TSP) outputted from the synchronizing unit  101  is selectively identified as the necessary transport stream packet (TSP) and the unnecessary transport stream packet (TSP) in the PID filter  102 . The necessary transport stream packet (TSP) is immediately outputted as the TS 102  from the PID filter  102 , while the unnecessary transport stream packet (TSP) is supplied with the discard log by the PID filter  102  and outputted as the TS 102  from the PID filter  102 . Further, the transport stream packet (TSP) to be replaced in the subsequent service information (SI) replacing unit  104  is supplied with the replacing log by the PID filter  102  and then outputted as the TS 101 .  
      The TS 101  is descrambled in the descrambler  103  and then outputted as the TS 102 . The descrambling is executed only to the TS 101  which is scrambled.  
      A destination of the TS 102  outputted by the descrambler  103  is selectively controlled in accordance with the setting (effective/ineffective) of the service information (SI) replacing switching flag  111 . In other words, the setting of the service information (SI) replacing switching flag  111  (effective/ineffective) selectively controls ineffective/effective of the processing executed by the service information (SI) replacing unit  107 .  
      Further, a destination of the TS 103  outputted by the service information (SI) replacing unit  104  is selectively controlled in accordance with the setting (effective/ineffective) of the service information (SI) overwriting switching flag  112 . In other words, the setting of the service information (SI) overwriting switching flag  112  (effective/ineffective) selectively controls ineffective/effective of the processing executed by the service information (SI) overwriting unit  108 .  
      The service information (SI) replacing switching flag  111  and the service information (SI) overwriting switching flag  112  are previously set in the transport stream processing apparatus by an operator of the transport stream processing apparatus. The flags are set by the operator via an input device (input switch, keyboard or the like), which is not shown, provided in the transport stream processing apparatus. The inputted settings are inputted to the CPU  11  functioning as the processing switching device  15 . The CPU  11  sets the service information (SI) replacing switching flag  111  and the service information (SI) overwriting switching flag  112  based on the inputted settings.  
      The effective/ineffective of the processings in the service information (SI) replacing unit  104  (hardware constitution), service information (SI) replacing unit  107  and service information (SI) overwriting unit  108  are set depending on combinations of the settings of the flags  111  and  112 .  
      The settings range in the following patterns.  
      First Setting  
      flag  111 : ineffective, flag  112 : ineffective  
      In the first setting, the processing of the service information (SI) replacing unit  104  (hardware constitution) is effective, while the processing of the software transport stream separating device  14  (service information (SI) replacing unit  107  and service information (SI) overwriting unit  108 ) is ineffective.  
      Therefore, the TS 102  outputted from the descrambler  103  is inputted to the service information (SI) replacing unit  104  (hardware). The service information (SI) replacing unit  104  synthesizes the inputted TS 102  and the transport stream packet (TSP) including the section containing the program information and outputs the synthesizing result as the TS 103  to the partial transport stream (PTS) output unit  105 . The partial transport stream (PTS) output unit  105  outputs the inputted TS 103  as the partial TS 1  outside of the apparatus.  
      As described, in the first setting, the transport stream packet (TSP) is processed only in the hardware transport stream separating device  13  (PID filter  102 , descrambler  103  and service information (SI) replacing unit  104 ) and outputted as the partial TS 1  outside of the apparatus.  
      The setting is effective in the case in which the requested transport stream separation is completely executable using only the hardware transport stream separating device  13 .  
      Second Setting  
      flag  111 : ineffective, flag  112 : effective  
      In the second setting, the processing of the service information (SI) replacing unit  104  (hardware constitution) and the processing of the service information (SI) overwriting unit  108  (software constitution) are effective, while the processing of the service information (SI) replacing unit  107  is ineffective.  
      Therefore, the TS 102  outputted by the descrambler  103  is inputted to the service information (SI) replacing unit  104  (hardware). The service information (SI) replacing unit  104  synthesizes the inputted TS 102  and the transport stream packet (TSP) including the section containing the program information, and outputs the synthesizing result as the TS 103  to the output unit  106 . The output unit  106  outputs the inputted TS 103  to the memory  12 .  
      The service information (SI) overwriting unit  108  whose processing is effective in the software transport stream separating device  14  reads the TS 103  from the memory  12  and overwrites a part or all of the data therein. To describe the data overwriting, as mentioned earlier, the digital recording control data in the digital copy control descriptor as a descriptor included in the PMT (program map table), for example, is overwritten.  
      The service information (SI) overwriting unit  108  outputs the overwriting-processed data as the TS 106  to the memory  12 . The input unit  109  reads the TS 106  from the memory  12  and outputs the read TS 106  as TS 108  to the partial TS output unit  110 . The partial TS output unit  110  outputs the inputted TS 108  as the partial TS 2  outside of the apparatus.  
      As described, in the second setting, the transport stream packet (TSP) is processed in the hardware transport stream separating device  13  (PID filter  102 , descrambler  103 , and service information (SI) replacing unit  104 ), further, overwritten by the software in the service information (SI) overwriting unit  108  of the software transport stream separating device  14 , and then outputted as the partial TS 2  outside of the apparatus.  
      The setting is effective in the case in which the requested transport stream separation cannot be sufficiently executed by the hardware transport stream separating device  13 , and the service information (SI) overwriting process is additionally demanded.  
      Third Setting  
      flag  111 : effective, flag  112 : ineffective  
      In the third setting, the processing of the service information (SI) replacing unit  107  (software constitution) is effective, while the processing of the service information (SI) replacing unit  104  (hardware constitution) and the processing of the service information (SI) overwriting unit  108  (software constitution) are ineffective.  
      Therefore, the TS 102  outputted from the descrambler  103  is inputted to the service information (SI) replacing unit  107  (software constitution). The service information (SI) replacing unit  107  synthesizes the transport stream packet (TSP) including the section containing the program information into the inputted TS 102 , and outputs the synthesizing result as the TS 105  to the memory  12 . The input unit  109  reads the TS 105  from the memory  12  and outputs the read TS 105  as the TS 108  to the partial TS output unit  110 . The partial TS output unit  110  outputs the inputted TS 18  as the partial TS 2  outside of the apparatus.  
      As described, in the third setting, the transport stream packet (TSP) is processed only in the service information (SI) replacing unit  107  of the software transport stream separating device  14 , and then outputted as the partial TS 2  outside of the apparatus.  
      The setting is effective in the case in which the requested transport stream separation demands only the service information (SI) replacing process, and the replacing process can be more efficiently executed in the service information (SI) replacing unit  107  (software constitution) than in the service information (SI) replacing unit  104  (hardware constitution).  
      Fourth Setting  
      flag  111 : effective, flag  112 : effective  
      In the fourth setting, the processing of the entire constitution of the software transport stream separating device  14  (service information (SI) replacing unit  107  and service information (SI) overwriting unit  108 ) is effective, while the processing of the service information (SI) replacing unit  104  (hardware constitution) is ineffective.  
      Therefore, the TS 102  outputted from the descrambler  103  is inputted to the service information (SI) replacing unit  107  (software constitution). The service information (SI) replacing unit  107  synthesizes the transport stream packet (TSP) including the section containing the program information into the inputted TS 102 , and outputs the synthesizing result as the TS 105  to the service information (SI) overwriting unit  108 . The service information (SI) overwriting unit  108  overwrites a part or all of the inputted data. An example of the overwriting is as described earlier.  
      The service information (SI) overwriting unit  108  outputs the overwriting-processed data as the TS 106  to the memory  12 . The input unit  109  reads the TS 106  from the memory  12  and outputs the read TS 106  as the TS 108  to the partial TS output unit  110 . The partial TS output unit  110  outputs the inputted TS 108  as the partial TS 2  to outside of the apparatus.  
      As described, in the fourth setting, the transport stream packet (TSP) is PID-filtered (PID filter  102 ) and descrambled (first descrambler  103 ) in the hardware transport stream separating device  13 , and further processed in the software transport stream separating device  14  (service information (SI) replacing unit  107  and service information (SI) overwriting unit  108 ). Then, the processed data is outputted as the partial TS 2  outside of the apparatus.  
      The setting is effective in the case in which the requested transport stream separation demands the service information (SI) replacing process and the service information (SI) overwriting process, and further, the service information (SI) replacing process can be more efficiently executed in the service information (SI) replacing unit  107  (software constitution) than in the service information (SI) replacing unit  104  (hardware constitution).  
      Next is described respective steps of a transport stream processing method carried out by the transport stream processing apparatus referring to a flow chart of  FIG. 2 .  
      In the operation of the transport stream processing apparatus, a service information (SI) replacing switching step s 204  for switching to and from ineffective/effective of a service information (SI) replacing switching flag  111  is included as a processing switching step s 23 , and a service information (SI) replacing step s 208  is included as a software transport stream separating step s 22 .  
      A hardware transport stream separating step s 21  includes a synchronizing step s 201 , a PID filtering step s 202 , a descrambling step s 203 , a service information (SI) replacing step s 205  and a partial TS 1  outputs step s 207 .  
      Below is given a description based on the processing flow.  
      The step s 201  is the synchronizing step, in which the leading data of the inputted transport stream (TS) is detected, and further, the transport stream packet is extracted from the inputted transport stream (TS). In the extraction, the transport stream packet (TSP) is provided with the time stamp information indicating the arrival time thereof.  
      The step s 202  is the PID filtering step, in which the necessary packet and the unnecessary packet are identified with respect to the transport stream packet (TSP), and the necessary packet is directly outputted as the TS 101 , while the unnecessary packet is provided with the discard log indicating the discard and then outputted as the TS 101 .  
      The PID filtering process judges the necessity of the transport stream packet (TSP) based on the identification data (PID) appended to the packet. Further, in the replacing process, which is executed as the subsequent to the PID filtering, the replacing log indicating that the relevant transport stream packet (TSP) is to be replaced is appended to the transport stream packet (TSP) to be replaced.  
      The step  203  is the descrambling step, in which the transport scramble control (TSC) appended to the TS 101  generated in the step s 102  is judged so as to judge whether or not the TS 101  is scrambled. When it is judged that the TS 101  is scrambled, the TS 101  is descrambled and outputted as the TS 102 . When the TS 101  is judged to be non-scrambled, the TS 101  is not subjected to any processing and outputted as the TS 102 . Then, the step s 204  follows.  
      The step s 204  is the service information (S 19  replacing step, in which the service information (SI) replacing switching flag  111  is judged. When the flag  111  is judged to be ineffective, the processing proceeds to the hardware transport stream separating step s 21  (to be specific, step s 205 ). When the flag  111  is judged to be effective, the processing proceeds to a step s 212 .  
      The step s 205  is the hardware service information (SI) replacing step, in which the transport stream packet (TSP) including the section containing the program information is synthesized into the TS 102  descrambled in the step s 203 , and the synthesizing result is outputted as the TS 103 . In the step s 205 , the foregoing processing is hardware-executed.  
      In the step s 205 , the transport stream packet (TSP) having the replacing log is replaced with the desired transport stream packet (TSP), while the transport stream packet (TSP) having the discard log is used as a space for the replacing process with respect to the transport stream packet (TSP) including the section containing the program information with any unused portion being discarded.  
      A step s 206  is the service information (SI) overwriting switching step, in which the service information (SI) overwriting switching flag  112  is judged. When the flag  112  is judged to be ineffective, the processing proceeds to the step s 207  as a final step of the hardware transport stream separating steps  21 . When the flag  112  is judged to be effective, the processing leaves the hardware transport stream separating step s 21  and advances to a step s 208 .  
      The step s 207  carried out when the flag  112  is judged to be ineffective in the step s 206  is the partial TS 1  output step, in which the TS 103  generated in the step s 205  is outputted as the partial transport stream  1  (partial TS 1 ) outside of the transport stream processing apparatus in accordance with the time stamp. The time stamp is previously appended to the transport stream packet (TSP) in the synchronizing step s 201 . The processing flow is terminated in response to the execution of the processing of the step s 207 .  
      In contrast, the step s 208  carried out when the flag  112  is judged to be effective in the step s 206  is a memory storing step, in which the TS  103  generated in the step s 205  is temporarily stored in the memory  12 . Then, the processing proceeds to a step s 209 .  
      The step s 209  is the service information (SI) overwriting step, in which the TS 103  is read from the memory  12 , and a part or all of the data in the sections of the read TS 103  is overwritten so as to generate the TS 106 . More specifically, the digital recording control data alone in the digital copy control descriptor as a descriptor included in the PMT (program map table), for example, is overwritten. The step s 209  executes the processing using the software constitution. After the generation of the TS 106  in the step s 209 , the processing proceeds to a step s 210 .  
      The step s 210  is the memory storing step, in which the TS 105  generated in the step s 209  is stored in the memory  12  accessible by the CPU  12 . The memory storing steps s 208  and s 210  executed before and after the software service information (SI) overwriting step s 209  temporarily store the TS 103  and the TS 105  in the memory  12  accessible by the software operated on the CPU  11  so that the service information (SI) overwriting step s 209  as the software processing can be executed.  
      A step s 211  is a partial TS 2  output step, in which the TS 105  stored in the memory  12  is read and outputted as the partial transport stream  2  (partial TS 2 ) outside of the transport stream processing apparatus in accordance with the time stamp. The time stamp is previously appended to the transport stream packet (TSP) in the synchronizing step s 201 . The processing flow is terminated in response to the execution of the step s 211 .  
      The step s 212  carried out when the flag  111  is judged to be effective in the step s 204  is the memory storing step, in which the TS 102  generated in the step s 203  is stored in the memory  12  accessible by the CPU  11 . Then, the processing advances to a step s 213 .  
      The steps  213  is the service information (SI) replacing step, in which the transport stream packet (TSP) including the section containing the program information is synthesized into the TS 102  read from the memory  12 , and the synthesizing result is outputted as the TS 105 . The steps  213  executes the processing using the software constitution. The processing advances from the step s 213  to a step s 214 . The memory storing step s 212  executed prior to the software service information (SI) replacing step s 213  temporarily stores the TS 102  in the memory  12  accessible by the software operated on the CPU  11  so that the service information (SI) replacing step s 213  as the software processing can be executed.  
      The step s 214  is the service information (SI) overwriting switching step, in which the service information (SI) overwriting switching flag  112  is judged.  
      When the flag  112  is judged to be effective in the step s 214 , the processing of the step s 209  is executed so that a part or all of the data in the sections of the TS 105  are overwritten so as to generate the TS 106 .  
      After the execution of the step s 209 , the steps s 210  and s 211  are executed so that the partial TS 2  is generated. The generated partial TS 2  is outputted outside of the transport stream processing apparatus. The processing flow is terminated in response to the execution of the step s 211 .  
      When the flag  112  is judged to be ineffective in the step s 214 , the step s 209  (software service information (SI) overwriting process) is omitted, and the processing of the step s 210  and the processing of the step s 211  are executed so that the partial TS 2  is generated. The generated partial TS 2  is outputted outside of the transport stream processing apparatus. The processing flow is terminated in response to the execution of the processing of the step s 211 .  
      When the respective four settings are implemented, the processing shifts as follows in the flow chart of  FIG. 2 .  
      First Setting (flag  111 : ineffective, flag  112 : ineffective) start→step s 201  step s 202  step s 203 →step s 204  (flag  111  is judged to be ineffective) step s 205 →step s 206  (flag  112  is judged to be ineffective)→step s 207  end  
      Second Setting (flag  111 : ineffective, flag  112 : effective) start→step s 201 →step s 202 →step s 203 →step s 204  (flag  111  is judged to be ineffective)→step s 2 O 5 →step s 206  (flag  112  is judged to be effective)→step s 208  step  209 →step s 210 →step s 211 →end  
      Third Setting (flag  111 : effective, flag  112 : ineffective) start→step s 201 →step s 202 →step s 203 →step s 204  (flag  111  is judged to be effective)→step s 212 →step s 213 →step s 214  (flag  112  is judged to be ineffective)→step s 210 →step s 211 →end  
      Fourth Setting (flag  111 : effective, flag  112 : effective) start→step s 201 →step s 202 →step s 203 →step s 204  (flag  111  is judged to be effective)→step s 212  step s 213 →step s 214  (flag  112  is judged to be effective) step s 209 →step  210  step s 211 →end  
      When the partial TS 1  subjected to the hardware service information (SI) replacing process and the partial TS 2  subjected to the software service information (SI) replacing process are thus outputted, the constitution for outputting the partial transport streams (PTS) subjected to the service information (SI) replacing processes (replacing+overwriting) of the two types can be realized without an additional hardware service information (SI) replacing unit.  
      While there has been described what is at present considered to be preferred embodiments of this invention, it will be understood that various modifications may be made therein, and it is intended to cover in the appended claims all such modifications as fall within the true spirit and scope of this invention.