Patent Publication Number: US-8126318-B2

Title: Recording device, system, integrated circuit, program, and recording method

Description:
TECHNICAL FIELD 
     The present invention belongs to a technical field of transcoding, i.e. conversion of a digital stream which has been converted according to one coding format and recorded on a recording medium, into another coding format. The present invention relates to a technique of applying such transcoding to a system that includes a recording device and an auxiliary device for aiding the recording device. 
     BACKGROUND ART 
     The aforementioned transcoding technique is essential when copying a digital stream recorded on a hard disk (HD), to an optical disc or a memory card. The transcoding technique is employed in various recording devices in areas of consumer product industries. 
     In transcoding, a digital stream that is compression-coded by MPEG2-TS (Transport Stream), MPEG2-PS (Program Stream), or the like needs to be returned to a decompressed form first. This requires real-time processing. The real-time processing referred to here is a process that takes a processing time equal to a playback time of the digital stream. For example, transcoding of a digital stream corresponding to two-hour video requires real-time processing of two-hours. 
     DISCLOSURE OF THE INVENTION 
     Problems the Invention is Going to Solve 
     In distributed processing, there is a problem of how to combine results of processing by a plurality of processing entities into one. When distributing one process among a plurality of processing entities and recording data obtained as a result of this distributed processing onto a single recording medium, two processing entities will end up competing for access to the medium. In such a case, according to typical access arbitration, one processing entity needs to wait until the access by the other processing entity ends. If one processing entity receives a lower priority in this way, despite that the transcoding is performed in a distributed manner, the processing time will not be reduced to ½. That is, a time delay occurs due to one device being forced to wait until the other device writes data. 
     The present invention aims to provide a system that can minimize a time delay caused by one device receiving a lower priority than the other device in accessing a recording medium, when transcoding is performed by distributed processing. 
     Means of Solving the Problems 
     The stated aim can be achieved by a recording device in a system that performs transcoding on a plurality of coded pieces through-distributed processing between the recording device and an auxiliary device, a sequence of the plurality of coded pieces forming a digital stream, the recording device including: a transcoding unit operable to transcode coded pieces; and a writing unit operable to write results of transcoding by the transcoding unit onto a single recording medium, wherein simultaneously with the transcoding unit transcoding one of the coded pieces, the writing unit writes a result of transcoding an immediately preceding coded piece by the transcoding unit onto the single recording medium, and after writing the results of transcoding by the transcoding unit onto the single recording medium, the writing unit receives results of transcoding by the auxiliary device from the auxiliary device and writes the received results onto the single recording medium. 
     Effects of the Invention 
     According to the above construction, the transcoding of each coded piece and the writing of a transcoding result of each coded piece can be executed in a pipeline. Hence the writing of transcoding results can be completed more speedily. 
     While the auxiliary device is executing transcoding, the recording device can obtain its own transcoding results on the target recording medium. Since the recording device writes its own transcoding results during when the auxiliary device is executing transcoding, the auxiliary device can write its own transcoding results onto the target medium as soon as the writing of the transcoding results by the recording device ends. This enables the writing of the transcoding results by the auxiliary device to be performed at an earlier stage, so that the transcoding results by both devices can be obtained on one target medium more speedily. In this way, an operation of copying between media, which involves transcoding, is accelerated. 
     Here, the recording device may further include: an allocation unit operable to allocate coded pieces which form a former part of the digital stream to the recording device, and coded pieces which form a latter part of the digital stream to the auxiliary device; and a transmission unit operable to transmit, to the auxiliary device, the coded pieces which form the latter part of the digital stream in sequence from a last coded piece, wherein the transcoding unit transcodes the coded pieces which form the former part of the digital stream, in sequence from a top coded piece, and the auxiliary device transcodes the transmitted coded pieces one by one. Since the coded pieces of the digital stream are sequentially transmitted from the last coded piece, when modifying the sharing of loads between the recording device and the auxiliary device, the boundary between the former part and the latter part of the digital stream can be changed easily. 
     Here, the allocation unit in the recording device may set a transcoding target for the recording device and a transcoding target for the auxiliary device, and notify the auxiliary device of the transcoding target for the auxiliary device, wherein the recording device further includes: a judgment unit operable to judge, when the recording device has reached the transcoding target for the recording device, whether the auxiliary device has reached the transcoding target for the auxiliary device, and the transcoding unit transcodes a coded piece that follows the transcoding target for the recording device, if the auxiliary device has not reached the transcoding target for the auxiliary device. 
     Even when the processing efficiency of the auxiliary device is low, the processing allocation can be made flexibly. Hence the effects of the present invention can be achieved despite the difference in performance between the main device and the auxiliary device. Thus, it is possible to improve the transcoding efficiency even for a hybrid system that is constituted by a variety of devices. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a home server system that is a use environment of a system according to the present invention. 
         FIG. 2  shows an internal structure of a recording device. 
         FIG. 3  shows a functional structure of specific means cooperatively realized by a hardware resource and a program constituting a microcomputer system  8 . 
         FIG. 4  shows an example of a GUI controlled by a GUI control unit  9 . 
         FIG. 5  shows transcoding by a transcoding control unit  10  when x=1, 2, 3, 4. 
         FIG. 6  is a flowchart showing an operation procedure of a main device in batch transmission. 
         FIG. 7  is a flowchart showing an operation procedure of the main device in handshake transmission. 
         FIG. 8  shows a common structure of a digital electric appliance. 
         FIG. 9  shows a functional structure of specific means cooperatively realized by a hardware resource and a program constituting a microcomputer system  17 . 
         FIG. 10  shows an example of a reservation menu. 
         FIG. 11  is a timing chart when a plurality of coded pieces are transmitted in a batch. 
         FIG. 12  is a timing chart when a plurality of coded pieces are transmitted in a handshake. 
         FIG. 13  is a timing chart when a scheduled number of coded pieces is changed from 4 to 2. 
         FIG. 14  is a flowchart showing an operation procedure of an auxiliary device in batch transmission. 
         FIG. 15  is a flowchart showing an operation procedure of the auxiliary device in handshake transmission. 
         FIG. 16  is a sequence chart showing a sequence between both devices, with specific values such as i=1, 2, 3, 4 and j=8, 7, 6, 5 being assigned to the flowcharts of  FIGS. 6 and 14 . 
         FIG. 17  is a sequence chart showing a sequence between both devices, with specific values such as i=1, 2, 3, 4 and j=8, 7, 6, 5 being assigned to the flowcharts of  FIGS. 7 and 15 . 
         FIG. 18  is a sequence chart when updating the scheduled number. 
       
         
           
             
                 
               
                 
                     
                 
                 
                   Description of Reference Numerals 
                 
                 
                     
                 
               
              
                 
                     
                 
              
             
             
                 
                 
              
                 
                   1 
                   tuner 
                 
                 
                   2 
                   source medium 
                 
                 
                   3 
                   target medium 
                 
                 
                   4 
                   transcoder 
                 
                 
                   5 
                   transmission/reception unit 
                 
                 
                   6 
                   buffer 
                 
                 
                   7 
                   buffer 
                 
                 
                   8 
                   microcomputer system 
                 
                 
                   9 
                   GUI control unit 
                 
                 
                   10 
                   transcoding control unit 
                 
                 
                   11 
                   auxiliary device detection unit 
                 
                 
                   12 
                   transmission/reception control unit 
                 
                 
                   13 
                   distributed processing allocation unit 
                 
                 
                   15 
                   digital electric appliance original hardware 
                 
                 
                   16 
                   transmission/reception unit 
                 
                 
                   17 
                   microcomputer system 
                 
                 
                   18 
                   EEPROM 
                 
                 
                   19 
                   plug-in 
                 
                 
                   20 
                   software transcoder 
                 
                 
                   21 
                   timer reservation setting unit 
                 
                 
                   22 
                   transcoding control unit 
                 
                 
                   100 
                   hybrid recorder 
                 
                 
                   200 
                   digital television 
                 
                 
                   300 
                   game machine 
                 
                 
                     
                 
              
             
           
         
       
     
    
    
     BEST MODE FOR CARRYING OUT THE INVENTION 
     The following describes an embodiment of a system according to the present invention. 
     Firstly, a form of use out of the forms of an act of working of the system according to the present invention is described below. The system according to the present invention is a home server system that is constituted by a recording device and a digital television, and is submitted for use in recording a digital stream which is broadcast by digital television broadcasting.  FIG. 1  shows the home server system according to the present invention. 
     The home server system is formed by connecting digital electric appliances each equipped with an IEEE 1394 digital interface, such as a hybrid recorder  100  which is a recording device, a digital television  200 , and a game machine  300 , with a network. 
     Each device connected with the network can output an MPEG2-TS (Transport Stream) digital stream received from a broadcast station to another device via IEEE 1394, and acquire a digital stream, which another device has received from a broadcast station, via IEEE 1394. A digital stream can be freely copied within a closed world that is the home server system. An exemplary form of use of the system according to the present invention is as described above. 
     To transfer an MPEG2-TS digital stream to another device on the network, the recording device uses a DTCP (Digital Transmission Content Protection) protocol. This DTCP protocol includes procedures such as mutual device authentication and TS packet encryption/decryption. Since the DTCP protocol is not a main feature of the present invention, its detailed explanation has been omitted here. A device that performs transmission/reception of TS packets according to DTCP rejects, at a mutual authentication stage, connection with a device which does not comply with copyright protection. This prevents a digital stream from being transferred to a drive device, such as Microdrive or CompactFlash, that has no copyright protection mechanism. 
     Note here that information as to whether or not a digital stream can be written to a DVD, an HD, and the like is shown in a DTCP-Descriptor prescribed by DTCP, and notified to another device. 
     Each device in the home server system is described below. 
     The hybrid recorder  100  is a device that receives a digital stream broadcast by digital television broadcasting, and writes the received digital stream onto an HD. The hybrid recorder  100  can play back the digital stream written on the HD. Also, the hybrid recorder  100  can copy the digital stream written on the HD to an SD card or a DVD. 
     The digital television  200  displays a playback output of the hybrid recorder  100 . 
     The game machine  300  executes a game application recorded on a BD-ROM, a DVD-ROM, and the like. 
     The digital stream broadcast by digital television broadcasting is an MPEG2-TS multiplexed stream generated by multiplexing a video stream and an audio stream. Each video frame in the video stream has a time length of about 33 msec (more precisely 1/29.97 sec), and constitutes picture data for displaying one screen of image. The picture data has types such as a Bidirectionally Predictive (B) picture that is interframe compression-coded relative to past and future reference pictures, a Predictive (P) picture that is interframe compression-coded relative to past reference pictures, and an Intra (I) picture that is intraframe compression-coded using spatial frequency characteristics within one frame without relative to other pictures. An I picture occurs approximately every 0.5 to 1.0 second. Hence the aforementioned interframe compression coding is conducted at intervals of about 0.5 to 1.0 second. One part of the digital stream that has undergone the interframe compression coding is called a “coded piece”. The digital stream is decoded with this coded piece as a minimum unit. In detail, the coded piece is made up of a GOP (Group of Pictures) defined by MPEG2 and an audio frame-read simultaneously with this GOP. With the provision of this coded piece, the above copying and playback by the hybrid recorder  100  can be performed using the coded piece as a minimum unit. 
     An exemplary form of use of each device according to the present invention is as described above. An exemplary form of production of the hybrid recorder that is the recording device is described next. The hybrid recorder  100  is roughly composed of parts that are an integrated circuit, a drive device, and a power supply circuit. The hybrid recorder  100  can be manufactured by mounting these parts on a cabinet and a substrate of the device. The integrated circuit is a circuit including various processing units for achieving the functions of the hybrid recorder  100 . The recording device manufactured in this way has an internal structure shown in  FIG. 2 . As shown in  FIG. 2 , the recording device includes a tuner  1 , a source medium  2 , a target medium  3 , a transcoder  4 , a transmission/reception unit  5 , a buffer  6 , a buffer  7 , and a microcomputer system  8 . Of these construction elements, the tuner  1 , the transcoder  4 , and the microcomputer system  8  are incorporated in the hybrid recorder  100  as one system LSI. 
     The tuner  1  receives a broadcast wave and obtains an MPEG2-TS digital stream. 
     The source medium  2  stores a digital stream. The digital stream referred to here is an MPEG2-TS digital stream obtained by multiplexing a video stream and an audio stream. Since access to the digital stream needs to be performed based on coded pieces, the digital stream stored on the source medium  2  is associated with an EP-map (EntryPoint-Map). In a digital stream, a coded piece corresponds to a GOP (Group of Pictures) in a video stream and an audio frame read simultaneously with this GOP. To enable playback to be performed from the beginning of each GOP in the digital stream, the EP-map shows a playback start time of an I picture located at the beginning of each GOP and an address of the I picture at the beginning of each GOP, in correspondence with each other. The playback start time of the I picture is expressed by a time stamp (Presentation Time Stamp) of the I picture. The address of the I picture, meanwhile, is expressed by a TS packet serial number (SPN (Source Packet Number)). By using this EP-map, it is possible to perform time to address conversion. Which is to say, an arbitrary playback point on a playback time axis of the digital stream can be converted to an address of a coded piece. Accordingly, access to an arbitrary coded piece in the digital stream can be made by using an arbitrary playback point on the playback time axis of the digital stream. 
     The target medium  3  is a portable recording medium such as a DVD or an SD card. A coding format used in the SD card is MPEG4-AVC, whereas-a coding format used in the DVD is MPEG2-PS (Program Stream). These coding formats differ from the coding format used in the HD. Because of this difference in coding format, when copying a digital stream recorded on the HD to the target medium, it is necessary to perform a process (transcoding) of converting one coding format to another. Transcoding is a process of returning a digital stream, which is recorded on a recording medium by some kind of coding format, first to a decompressed form and then compressing the digital stream by another coding format. Transcoding requires real-time processing. 
     The transcoder  4  is an entity for executing transcoding, and converts the coding format of the digital stream to be recorded on the target medium  3 . There are various types of coding formats that can be subjected to conversion by the transcoder  4 . These coding formats include not only MPEG2-TS, MPEG2-PS, and MPEG4-AVC, but also VC-1 and the like. For the simplicity&#39;s sake, the following description uses the example of the coding format for the DVD or the coding format for the SD card. 
     The transmission/reception unit  5  performs transmission/reception of coded pieces that constitute the digital stream. Through the transmission of coded pieces by the transmission/reception unit  5 , the digital stream recorded on the target medium such as the target medium  3  can be output to and played back by the digital television connected to the network. Also, through the reception of coded pieces by the transmission/reception unit  5 , coded pieces output from another device can be written to the target medium such as the target medium  3 . Such transmission/reception makes it possible for the recording device to operate in conjunction with another device connected by the network. 
     Upon transmitting a coded piece included in the digital stream, the transmission/reception unit  5  performs mutual authentication with a device in communication, to judge whether the device complies with copyright protection. If the device complies with copyright protection, the transmission/reception unit  5  generates a session key unique to a session of distributed processing, and shares the session key with the device. Subsequently, the transmission/reception unit  5  encrypts a coded piece using this session key and transmits the encrypted coded piece to the device. 
     The buffer  6  is a buffer for smoothing out speed discrepancies between a rate of reading from the source medium  2  and a rate of transcoding by the transcoder  4 . 
     The buffer  7  is a buffer for smoothing out speed discrepancies between a rate of writing to the target medium  3  and the rate of transcoding by the transcoder  4 . 
     The microcomputer system  8  is a typical computer system composed of a CPU, a RAM, and a ROM storing a program. As a result of the program stored on the ROM being read out to the CPU and operating in conjunction with hardware resources, operations or processing of information for intended use can be achieved. The intended use referred to here includes copying, interactive operations, and the like. As a result that specific means cooperatively realized by the program and the hardware resources performs processing or operations of information for the intended use, a specific information processing device (the hybrid recorder  100 ) corresponding to the intended use is implemented. 
       FIG. 3  shows a functional structure of the specific means cooperatively realized by the hardware resources and the program constituting the microcomputer system  8 . The microcomputer system  8  is functionally composed of a GUI control unit  9 , a transcoding control unit  10 , an auxiliary device detection unit  11 , a transmission/reception control unit  12 , and a distributed processing allocation unit  13 . 
     The GUI control unit  9  generates a GUI, and instructs the transmission/reception unit  5  to have the digital television  200  display the GUI. The GUI control unit  9  also exercises integrated control of the recording device, according to user operations. The GUI is a graphics representation of each target medium and a plurality of digital streams recorded on the HD.  FIG. 4  shows an example GUI controlled by the GUI control unit  9 . In  FIG. 4 , a GUI component having a character string “CONTENT 1 2002 11/3 CH3 PM8:00-PM8:45 STANDARD IMAGE QUALITY” shows a digital stream recorded on the HD. Also, buttons bn 1  and bn 2  show the target media (the DVD, the SD card) that can be copy destinations of digital streams. A GUI component showing a digital stream has three states that are normal, focus, and active. The normal state indicates that the digital stream is not selected by the user. The focus state indicates that the digital stream is, designated as a candidate for a copy target using an arrow key on a remote control. The active state indicates that the digital stream is determined as the copy target. By performing an operation on the GUI shown in  FIG. 4 , one of content  1  to content  5  recorded on the HD can be selected as the copy target. The GUI control unit  9  instructs the transcoding control unit  10  and the distributed processing allocation unit  13  to copy the digital stream which is in the active state in this GUI. 
     The transcoding control unit  10 , when instructed to copy the digital stream, exercises control to copy the digital stream in the recording device. Arrows rt 1 , rt 2 , and rt 3  in  FIG. 2  indicate a flow of a coded piece in the case where transcoding is performed in the recording device. As indicated by these arrows, the coded piece reaches the target medium through the route of the source medium  2 →the buffer  6 →the transcoder  4 →the buffer  7 . When an arbitrary coded piece in the digital stream is denoted by F(x), the control by the transcoding control unit  10  is composed of (i) a process of transcoding F(x) and (ii) a process of writing a transcoding result T(F(x)) to the target medium. This control by the transcoding control unit  10  has a property that the transcoding of F(x+1) is performed at the same time as the writing of T(F(x)) to the target medium. This means that a plurality of coded pieces are processed in a pipeline. 
       FIG. 5  shows the transcoding by the transcoding control unit  10  when x=1, 2, 3, 4.  FIG. 5  illustrates the transcoding of F( 1 ) and the writing of T(F( 1 )), the transcoding of F( 2 ) and the writing of T(F( 2 )), the transcoding of F( 3 ) and the writing of T(F( 3 )), and the transcoding of F( 4 ) and the writing of T(F( 4 )). 
     When viewing  FIG. 5  in a vertical direction, it can be understood that the writing of T(F( 1 )) and the transcoding of F( 2 ) are executed simultaneously. Likewise, the writing of T(F( 2 )) and the transcoding of F( 3 ) are executed simultaneously, and the writing of T(F( 3 )) and the transcoding of F( 4 ) are executed simultaneously. Since the writing of T(F(X)) and the transcoding of F(X+1) are executed simultaneously, a time taken for copying between media is “(a time required for transcoding a plurality of coded pieces)+(a time required for writing a transcoding result of a last coded piece)”. As a result of this pipeline control by the transcoding control unit  10 , the transcoding results are obtained on the target medium at an earlier stage. This completes the description of the transcoding control unit  10 . 
     The auxiliary device detection unit  11  detects, when the recording device launches some kind of process, which digital electric appliance is available for distributed processing of that process. This detection is made by broadcasting to each digital electric appliance on the network and receiving a response from each digital electric appliance. The response indicates whether the digital electric appliance is capable of aiding in distributed processing. The recording device recognizes a device which indicates to be capable of distributed processing, as a device (auxiliary device) that can aid the recording device. The detection by the auxiliary device detection unit  11  is performed periodically, such as every 5 minutes or every 10 minutes. Which digital electric appliance serves as an auxiliary device is updated each time the auxiliary device detection unit  11  performs the detection. Though the inquiry about which device is capable of distributed processing is made by broadcasting in this embodiment, instead each digital electric appliance may submit a voluntary notification. 
     The transmission/reception control unit  12 , when instructed to copy the digital stream, receives information about the most recently detected auxiliary device from the auxiliary device detection unit  11 , and exercises control to have the auxiliary device transcode the digital stream. This control is composed of a process of transmitting F(j) to the auxiliary device and a process of receiving T(F(j)) from the auxiliary device and writing it to the target medium. Arrows pt 1 , pt 2 , pt 3 , pt 8 , and pt 9  in  FIG. 2  indicate a flow of a coded piece in the case where transcoding is performed under control of the transmission/reception control unit  12 . From these arrows, it can be understood that the coded piece on the source medium  2  reaches the target medium  3  through the route of the buffer  6  →the transmission/reception unit  5 →the auxiliary device →the transmission/reception unit  5 →the buffer  7 . The transmission to the auxiliary device has two types that are batch transmission and handshake transmission. The batch transmission is to transmit coded pieces that constitute a latter part of the digital stream, to the auxiliary device at once. The handshake transmission is to transmit, only after being notified of the completion of transcoding a transmitted coded piece, a next coded piece. 
     The distributed processing allocation unit  13  performs allocation to the recording device and the auxiliary device. In principle, the distributed processing allocation unit  13  divides the digital stream into a former half and a latter half and allocates the former half and the latter half respectively to the recording device and the auxiliary device. Having allocated in this way, the distributed processing allocation unit  13  instructs the transcoding control unit  10  to transcode the former half, and the transmission/reception control unit  12  to transcode the latter half. In the case where the transmission by the transmission/reception control unit  12  is handshake transmission, the distributed processing allocation unit  13  modifies the allocation in accordance with the progress of transcoding by the auxiliary device. Suppose, although the former half and the latter half of the digital stream have been allocated respectively to the recording device and the auxiliary device, the progress of transcoding by the auxiliary device is slow and only one half of the scheduled part (¼ of the total digital stream) has been transcoded by the auxiliary device. In such a case, the distributed processing allocation unit  13  modifies the allocation, by allocating the former ¾ of the digital stream to the recording device and the latter ¼ of the digital stream to the auxiliary device. In this way, the burden on the auxiliary device can be alleviated. Since the need for such an allocation modification may arise, in the case of handshake transmission, the distributed processing allocation unit  13  transmits the coded pieces of the latter half of the digital stream in sequence from the last coded piece. By transmitting from the last coded piece, the boundary between the former part and the latter part can be changed easily. 
     The GUI control unit  9  to the distributed processing allocation unit  13  can be realized by describing an operation procedure of each of the flowcharts of  FIGS. 6 and 7  in a computer description language and having a computer execute the procedure.  FIGS. 6 and 7  are the flowcharts showing this operation procedure. In these flowcharts, value n denotes a total number of coded pieces constituting the digital stream, whilst value m denotes a scheduled number of coded pieces to be transcoded by the recording device. Which is to say, of the n coded pieces, coded pieces  1  to m are to be processed by the recording device and coded pieces m+1 to n are to be processed by the auxiliary device. Variable i specifies a coded piece to be currently transcoded by the recording device among the coded pieces allocated to the recording device, whilst variable j specifies a coded piece to be currently transcoded by the auxiliary device among the coded pieces allocated to the auxiliary device. 
       FIG. 6  shows the flowchart in the case of batch transmission. In this flowchart, the recording device calculates scheduled number m (step S 1 ), sets variable i to 1, variable j to m+1, and transmits n and m to the auxiliary device (step S 2 ). The recording device then transmits coded pieces F(m+1) to F(n) to the auxiliary device (step S 3 ). After this, the recording device executes a loop of steps S 4  to S 7 . This loop is performed by transcoding coded piece F(i) (step S 4 ), writing transcoding result T(F(i)) to the target medium (step S 5 ), judging whether variable i reaches the scheduled number (step S 6 ), and incrementing variable i if step S 6  results in NO (step S 7 ). If variable i reaches the scheduled number, the recording device waits for receiving T(F(m+1)) to T(F (n)) (step S 8 ), and, upon reception, writes T(F(m+1)) to T(F(n)) to the target medium (step S 9 ). 
       FIG. 7  is the flowchart in the case of handshake transmission. In this flowchart, the recording device calculates number m (step S 1 ), sets variable i to 1, variable j to n, and transmits n and m to the auxiliary device (step S 10 ). After this, the recording device repeatedly executes steps S 4  to S 7  and steps S 11  to S 14 . 
     This loop is performed by transcoding coded piece F(i) (step S 4 ), writing transcoding result T(F(i)) of coded piece F(i) to the target medium (step S 5 ), and incrementing variable (step S 7 ). The loop ends if both steps S 6  and S 14  result in YES. 
     Step S 11  is a judgment as to whether the transcoding of coded piece F(j) by the auxiliary device is completed. Only if the transcoding is completed, the recording device decrements variable j (step S 12 ) and transmits coded piece F(j) to the auxiliary device (step S 13 ). The recording device does not decrement variable j unless it receives the response indicating the completion of the transcoding of coded piece F(j). Accordingly, when the progress of transcoding by the auxiliary device is slow, the recording device refrains from transmitting a next coded piece. 
     Step S 14  is a judgment as to whether variable j reaches m+1. Step S 14  is performed when variable i reaches scheduled number m (step S 6 : YES). When variable i reaches m (step S 6 : YES) and variable j reaches m+1 (step S 14 : YES), the recording device performs steps S 8  and S 9  shown in  FIG. 6 , before ending the loop. 
     When variable i reaches m (step S 6 : YES) but variable j does not reach m+1 (step S 14 : NO), the recording device calculates ratio α between scheduled number n−m and actual number n−j+1 (step S 15 ), and adds a value obtained by multiplying number m by ratio α, to m (step S 16 ). As a result of updating number m in this way, the part allocated to the recording device increases, whereas the part allocated to the auxiliary device decreases. Thus, the amounts of allocation to the recording device and the auxiliary device can be dynamically modified. The recording device transmits updated number m to the auxiliary device (step S 17 ), and repeats the loop. 
     The internal structure of the hybrid recorder  100  which is the recording device is as described above. The following describes an internal structure of the other digital electric appliances (the digital television  200 , the game machine  300 ) that can each be the auxiliary device. The digital television  200  and the game machine  300  are each a network-connected digital electric appliance, and has a common internal structure shown in  FIG. 8 . As shown in  FIG. 8 , each digital electric appliance includes digital electric appliance original hardware  15 , a transmission/reception unit  16 , and a microcomputer system  17 . The microcomputer system  17  includes a CPU  17   a , a RAM  17   b , a ROM  17   c , and an EEPROM  18 . The EEPROM  18  contains a plug-in  19  downloaded from a WEB site. As a result that a program stored on the ROM  17   c  or the EEPROM  18  is read out to the CPU  17   a  and operates in conjunction with the hardware resources, operations or processing of information for intended use can be realized.  FIG. 9  shows specific means cooperatively realized by the hardware resources and the program in the microcomputer system  17 . 
     As shown in  FIG. 9 , the microcomputer system  17  is functionally composed of a software transcoder  20 , a timer reservation setting unit  21 , and a transcoding control unit  22 . 
     The software transcoder  20  is a transcoder realized by software. 
     The timer reservation setting unit  21  receives a timer reservation from the user. This timer reservation specifies a start time and an end time of a time period for transcoding. 
     The reservation of the time period for executing transcoding is made on a menu shown in  FIG. 10 .  FIG. 10  shows an example reservation menu. This reservation menu is made up of value fields nr 1 , nr 2 , nr 3 , and nr 4  for specifying a date and time at which transcoding is to start in units of “month”, “day”, “hour”, and “minute”, and value fields ur 1 , ur 2 , ur 3 , and ur 4  for specifying a date and time at which transcoding is to end in units of “month”, “day”, “hour”, and “minute”. By setting the reservation of the time period on this menu, the transcoding by the auxiliary device is carried out in this time period. Here, in the case where the auxiliary device is the digital television, the above time period may overlap with a time period that is timer-scheduled for displaying a program on time. In such a case, the timer reservation setting unit  21  displays a warning menu wr 1 , to notify the user that transcoding cannot be performed in the time period input by the user. 
     The transcoding control unit  22 , upon receiving the transcoding request and the coded pieces to be transcoded from the recording device, stores the coded pieces sequentially received from the transmission/reception unit  16  onto the RAM, and has the software transcoder  20  transcodes the coded pieces. The transcoding control unit  22  controls the transmission/reception unit  16  to transmit obtained transcoding results to the recording device. Arrows pt 4 , pt 5 , pt 6 , and pt 7  in  FIG. 8  indicate a flow of a coded piece in the case where this transcoding is executed. A coded piece transmitted to the auxiliary device passes through the route in the recording device. A coded piece transmitted from the auxiliary device is input to the recording device, passes through the route in the recording device, and reaches the target medium. From the arrows, it can be understood that the coded piece is sent back to the recording device through the route of the transmission/reception unit  16 →the software transcoder  20 →the transmission/reception unit  16 . 
     The transcoding by the recording device is carried out by performing the transcoding of each coded piece and the writing of a transcoding result of each coded piece in a pipeline. On the other hand, the transcoding by the software transcoder  20  in the auxiliary device is carried out by transcoding the coded pieces of the latter part in sequence and, once the transcoding of all coded pieces is completed, transmitting transcoding results of the coded pieces to the recording device in sequence.  FIG. 11  is a timing chart showing the transcoding by the recording device and the transcoding by the auxiliary device. The upper portion of  FIG. 11  shows the transcoding and writing by the recording device, whereas the lower portion of  FIG. 11  shows the transcoding and writing by the software transcoder  20  in the auxiliary device. The lower portion of  FIG. 11  is based on an assumption that j=5, 6, 7, 8. In the lower portion of  FIG. 11 , while F( 5 ) to F( 8 ) are being transcoded, transcoding results of these coded pieces are temporarily held on the RAM. Only after the transcoding of the last coded piece T(F( 8 )) is completed, T(F( 5 )) to T(F( 8 )) are read from the memory and transmitted to the recording device so as to be written to the target medium. 
     Meanwhile, in the timing chart corresponding to the recording device in the upper portion of  FIG. 11 , while F(S) to F( 8 ) are being transcoded, F( 1 ) to F( 4 ) are being transcoded. Since the recording device executes the transcoding and the writing in a pipeline, if T(F( 5 )) to T(F( 8 )) are transmitted to the recording device upon the completion of the transcoding of F( 8 ), the recording device can write T(F( 5 )) to T(F( 8 )) to the target medium as soon as the writing of T(F( 4 )) ends. 
     The recording device executes the transcoding and the writing in a pipeline, while the auxiliary device operates not in a pipeline manner. Therefore, the transcoding results by the auxiliary device can be written to the target medium, with there being only a slight time lag (the time required to write T(F( 4 )) in this example). Since a copy of the digital stream can be obtained on the target medium with only a slight time delay, the processing time in the case where the copying of the digital stream is distributed between the recording device and the auxiliary device is about ½ of the playback time of the digital stream. When there are two devices capable of distributed processing, the time required for copying the digital stream can be reduced to about ½ of the playback time. Therefore, an operation of copying between media having different coding formats can be conducted at high speed. 
       FIG. 11  is the timing chart when the plurality of coded pieces are transmitted in a batch. On the other hand,  FIG. 12  is a timing chart when the plurality of coded pieces are transmitted in a handshake. In the case of handshake transmission, the coded pieces are transmitted to the auxiliary device in the order of F( 8 ), F( 7 ), F( 6 ), and F( 5 ), beginning with the last coded piece.  FIG. 12  is the same as  FIG. 11  in that each transmitted coded piece is transcoded one by one and, once the transcoding of all coded pieces has completed, all transcoding results are transmitted to the recording device at once. In the case of handshake transmission, however, there is a possibility of changing the allocation of coded pieces.  FIG. 13  is a timing chart when the scheduled number of coded pieces is changed from 4 to 2. 
     The above processing by the transcoding control unit  22  can be realized by the CPU executing a program shown in each of the flowcharts of  FIGS. 14 and 15 . 
       FIG. 14  is a flowchart showing an operation procedure of the auxiliary device in batch transmission. 
     In this flowchart, the auxiliary device monitors whether a request to perform distributed processing of transcoding is made from the recording device (step S 21 ). If the request is made, the auxiliary device acquires numbers m and n (step S 22 ), and receives F(m+1) to F(n) (step S 23 ). The auxiliary device initializes variable j to m+1, and executes a loop of steps S 25  to S 30 . 
     This loop is performed by making judgments of steps S 25  to S 27 , transcoding F(j), and writing a transcoding result to the RAM. 
     Step S 25  is a judgment as to whether the current time is within the reserved time period or not. If the current time is not within the reserved time period, the auxiliary device ends the procedure of this flowchart. 
     Step S 26  is a judgment as to whether the digital electric appliance original processing has started. If the digital electric appliance original processing has started, the auxiliary device ends the procedure of this flowchart. 
     Step S 27  is a judgment as to whether a power-off operation is performed. If a power-off operation is performed, the auxiliary device ends the procedure of this flowchart. 
     Step S 29  is a judgment as to whether variable j reaches n. If variable j reaches n, the auxiliary device transmits T(F(m+1)) to T(F(n)) on the RAM to the recording device (step S 30 ), and ends the procedure. Otherwise, the auxiliary device increments variable j (step S 31 ). 
       FIG. 15  is a flowchart showing an operation procedure of the auxiliary device in handshake transmission. In this flowchart, the auxiliary device monitors whether a request to perform distributed processing of transcoding is made from the recording device (step S 21 ). If the request is made, the auxiliary device obtains numbers m and n (step S 22 ). The auxiliary device initializes variable j to n, and executes a loop of steps S 25  to S 30 . 
     This loop is performed by waiting for reception of coded piece F(j) (step S 33 ), performing the same judgments as in  FIG. 14  (steps S 25  to S 27 ) upon reception, transcoding F(j), and writing a transcoding result to the RAM (step S 2 . 8 ). Thus, each time transcoding is performed, the auxiliary device transmits a response indicating the acquisition of T(F(j)) to the recording device (step S 34 ), and returns to step S 33  through judgments of steps S 35  and S 37 . 
     Step S 35  is a judgment as to whether updated scheduled number m is received. If updated scheduled number m is received, the auxiliary device updates number m, and moves to step S 37  (step S 36 ). 
     Step S 37  is a judgment as to whether variable j reaches m+1. If variable j reaches m+1, the auxiliary device transmits T(F(m+1)) to T(F(n)) on the RAM to the recording device, and ends the procedure (step S 30 ). Otherwise, the auxiliary device decrements variable j (step S 38 ). 
     In the flowchart of  FIG. 6  showing batch transmission, the recording device executes the series of processes that are the transmission of n and m, the transmission of F(j), the transcoding of F(i), and the reception of T(F(j)). In the flowchart of  FIG. 14 , the auxiliary device executes the series of processes that are the reception of n and m, the transcoding of F(j), and the transmission of T(F(j)).  FIG. 16  shows a sequence between these devices, with specific values i=1, 2, 3, 4 and j=5, 6, 7, 8 being assigned to these flowcharts of  FIGS. 6 and 14 . 
     Since i=1, 2, 3, 4, after transmitting n and m (tt 1 ), the recording device transmits F( 5 ) to F( 8 ) (tt 2 ), and then sequentially performs the transcoding of F( 1 ) (tt 3 ), the transcoding of F( 2 ) (tt 4 ), the transcoding of F( 3 ) (tt 5 ), and the transcoding of F( 4 ) (tt 6 ). Each time transcoding is performed, the recording device writes an obtained transcoding result out of T(F( 1 )) to T(F( 4 )) to the target medium (DVD) (wt 1  to wt 4 ). Lastly, the recording device receives T(F( 5 )) to T(F( 8 )) (tt 7 ), and writes T(F( 5 )) to T(F( 8 )) to the target medium (DVD) (wt 5 ). 
     Since j=5, 6, 7, 8, after receiving n and m (jj 1 ), the auxiliary device receives F( 5 ) to F( 8 ) (jj 2 ), and then sequentially performs the transcoding of F(S) (jj 3 ), the transcoding of F( 6 ) (jj 4 ), the transcoding of F( 7 ) (jj 5 ), and the transcoding of F( 8 ) (jj 6 ). Each time transcoding is performed, the auxiliary device temporarily holds an obtained transcoding result out of T(F( 5 )) to T(F( 8 )) onto the RAM (rj 1  to rj 4 ). 
     After this, the auxiliary device transmits T(F( 8 )) to T(F( 5 )) on the RAM to the recording device (jj 7 ). 
     In the flowchart of  FIG. 7  showing handshake transmission, the recording device executes the series of processes that are the transmission of F(j), the transcoding of F(i), and the increment/decrement of j←j−1 and i i←1. On the other hand, the auxiliary device executes the series of processes that are the reception of F(j), the transcoding of F(j), and the transcoding completion response.  FIG. 17  shows a sequence between these devices when i=1, 2, 3, 4, and j=8, 7, 6, 5.  FIG. 17  includes a sequence sc 1  where i=1 and j=8, a sequence sc 2  where i=2 and j=7, a sequence sc 3  where i=3 and j=6, and a sequence sc 4  where i=4 and j=5.  FIG. 17  is the same as  FIG. 16  in that the transmission/reception of n and m and the transmission/reception of T(F( 5 )) to T(F( 8 )) are conducted respectively before and after these sequences. 
     If the transcoding by the auxiliary device is slower than that of the recording device, the recording device will not transmit a next coded piece unless it receives a transcoding completion response from the auxiliary device. This being so, the recording device repeats the sequence of the transmission of F(j), the transcoding of F(i), the transcoding of F(i−1), and the reception of a transcoding completion response. When the transcoding by the recording device reaches the scheduled number, the recording device updates the scheduled number, in order to process part of the coded pieces originally allocated to the auxiliary device, on the recording device side.  FIG. 18  is a sequence chart when the scheduled number is updated. This sequence chart includes a sequence sc 11  where j=8 and i=1, 2, and a sequence sc 12  where j=7 and i=3, 4. After executing these sequences, the recording device updates scheduled number m and transits it to the auxiliary device (ss 1 ), transcodes F( 5 ) and F( 6 ) (ss 2 , ss 3 ), and receives T(F( 7 )) and T(F( 8 )) (ss 4 ). 
     As described above, according to this embodiment, the recording device and the auxiliary device execute the transcoding of each coded piece and the writing of a transcoding result of each coded piece in parallel. Therefore, while the auxiliary device is performing transcoding, the recording device can obtain its own transcoding results on a target recording medium. Since the recording device writes its own transcoding results during when the auxiliary device is performing transcoding, the auxiliary device can write its own transcoding results to the target medium as soon as the writing of the transcoding results by the recording device ends. The writing of the transcoding results by the auxiliary device is conducted at an early stage, so that the transcoding results by both devices can be obtained on a single target medium speedily. Hence an operation of copying between media, that involves transcoding, can be accelerated. 
     SECOND EMBODIMENT 
     In the first embodiment, the auxiliary device transmits its own transcoding results to the recording device and the recording device writes the received transcoding results. In the second embodiment, on the other hand, the auxiliary device writes its own transcoding results to the target medium. 
     To realize such writing by the auxiliary device, the recording device, upon the completion of the writing of its own transcoding results, transmits write destination information to the auxiliary device. The write destination information contains a file path and a file pointer. 
     The file path is information uniquely identifying, in the network, a location of a file on the target medium mounted on the recording device. 
     The file pointer shows an address immediately following an address to which the recording device has written a transcoding result. The recording device transmits such a file path and file pointer to the auxiliary device, and the auxiliary device writes transcoding results to the target medium according to the file path and the file pointer, as a result of which transcoding results can be written into one file without fragmentation. 
     Such writing is advantageous when the target medium is a recording medium that can only be written sequentially, such as a DVD-R. 
     (Modifications) 
     The above description by no means represents all embodiments of the present invention. The present invention can be realized with any of the following modifications (A), (B), (C), (D), . . . . 
     (A) The information processing shown in the flowcharts and the information processing executed by the functional construction elements in the above embodiments are actually realized by hardware resources. In this sense, the information processing can be regarded as the creation of a technical idea utilizing natural laws. Hence these information processing meets the requirement as an “invention of a program”. 
     &lt;Production of the Program According to the Present Invention&gt; 
     The program according to the present invention can be produced in the following manner. First, a software developer creates source programs which realize the above flowcharts and functional construction elements using a programming language. When doing so, the software developer creates such source programs that realize the above flowcharts and functional construction elements, using class structures, variables, array variables, and calls for external functions according to a syntax of the programming language. 
     In detail, an iterative process in the flowcharts is described using, for example, a for statement defined by the above syntax. A judgment process is described using an if statement, a swith statement, or the like defined by the above syntax. Control for hardware, such as playback control of a decoder or access control of a drive device, is described by calling an external function supplied from a manufacturer of the hardware. 
     The created source programs are supplied to a compiler as files. The compiler translates these source programs to generate object programs. 
     The translation by the compiler is made up of processes such as syntax analysis, optimization, resource assignment, and code generation. In the syntax analysis, lexical analysis, syntax analysis, and semantic analysis of the source programs are performed to convert the source programs to intermediate programs. In the optimization, operations such as basic blocking, control flow analysis, and data flow analysis are performed on the intermediate programs. In the resource assignment, variables in the intermediate programs are assigned to registers or memories in a target processor, in order to adapt to an instruction set of the target processor. In the code generation, each intermediate instruction in the intermediate programs is converted to program code to thereby obtain the object programs. 
     The object programs generated in this way are made up of one or more pieces of program code for causing a computer to execute the individual steps of the flowcharts or functional construction elements in the above embodiments. There are various types of program code such as a processor&#39;s native code or JAVA byte code. Also, there are various methods for realizing the individual steps by program code. If each step can be realized using an external function, a call statement for calling the external function serves as program code. Also, there is a case where program code for realizing one step belongs to separate object programs. For an RISC processor which has a limited set of instructions, each step of the above flowcharts may be realized by combining an arithmetic instruction, a logic instruction, a branch instruction, and the like. 
     Having generated the object programs, a programmer activates a linker for the object programs. The linker assigns the object programs and relevant library programs to memory areas and links them together to generate a load module. Such a generated load module is assumed to be read by a computer, and causes the computer to execute the procedures of the flowcharts and the procedures of the functional construction elements in the above embodiments. As a result of the above processes, the program according to the present invention can be produced. 
     &lt;Example of Use of the Program According to the Present Invention&gt; 
     The program according to the present invention can be used as follows. 
     (i) Use as an Embedded Program 
     When using the program according to the present invention as an embedded program, the load module which is the program is written to an instruction ROM together with a basic input/output program (BIOS) and various types of middleware (operation system). The instruction ROM is then incorporated in a control unit and executed by a CPU. In this way, the program according to the present invention can be used as a control program of the recording device. 
     (ii) Use as an Application 
     When the recording device is equipped with a hard disk, the basic input/output program (BIOS) is included in an instruction ROM, and various types of middleware (operation system) are preinstalled in the hard disk. Also, a boot ROM for activating a system from the hard disk is provided in the recording device. 
     In this case, only the load module is supplied to the recording device via a portable recording medium or a network, and installed in the hard disk as one application. As a result, the recording device performs bootstrapping by the boot ROM to start the operation system, and has the CPU execute the application. In this way, the program according to the present invention is used. 
     The recording device equipped with a hard disk can use the program according to the present invention as one application. Therefore, the program according to the present invention can independently be assigned, leased, or provided via a network. 
     (B) The system LSI according to the present invention can be produced and used in the following way. 
     A system LSI is a circuit generated by mounting bare chips on a high-density substrate and packaging them. The system LSI includes a construction in which a plurality of bare chips have an external structure like one LSI, by mounting the plurality of bare chips on a high-density substrate and packaging them (such a system LSI is called a multi-chip module). 
     There are two types of packaging for a system LSI, i.e. QFP (Quad Flat Package) and PGA (Pin Grid Array). QFP is a system LSI with pins being attached to four side faces of a package. PGA is a system LSI with a large number of pins being attached to an entire bottom surface. 
     There pins serve as an input/output interface to a drive device, an input interface to a remote control device, an interface to a television, an IEEE 1394 interface, an interface to a PCI bus, and the like. Since pins in a system LSI have such interface functions, the system LSI can act as a core part of the hybrid recorder  100  when the circuits of the hybrid recorder  100 , the drive device, and the like are connected to the pins of the system LSI. 
     The bare chips packaged in the system LSI are an instruction ROM, a CPU, a decoder LSI, and the like that realize the functions of each construction element shown in the internal structure diagrams in the above embodiments. 
     As mentioned earlier in the above “use as an embedded program” section, the load module which corresponds to the program, the basic input/output program (BIOS), and the various types of middleware (operation system) are written in the instruction ROM. Since the above embodiments especially relate to the production of the load module which corresponds to the program, the system LSI according to the present invention can be produced by packaging the instruction ROM storing the load module which corresponds to the program as a bare chip. 
     Details of the production procedure are as follows. First, a circuit diagram of a part that is to be formed as a system LSI is created based on the structure diagrams shown in the above embodiments. 
     Having implemented each construction element, buses connecting circuit components, ICs, and LSIs, peripheral circuits, external interfaces, and the like are specified. Furthermore, connecting lines, power supply lines, ground lines, clock signal lines, and the like are specified. In this specification process, the circuit diagram is established while making adjustments, such as ensuring a bandwidth necessary for each construction element and adjusting an operation timing of each construction element in consideration of LSI specifications. 
     Once the circuit diagram has been completed, packaging design is carried out. The packaging design is a board layout creation operation for determining where, on a board, to position components (circuits components, ICs, LSIs) shown on the circuit diagram created by the circuit design or how to route, on the board, connecting lines shown on the circuit diagram. 
     The packaging design is composed of automatic placement and automatic routing. 
     In the case of using a CAD device, the automatic placement can be realized by using a dedicated algorithm called “centroid method”. The automatic routing specifies such connecting lines that connect pins of components on the circuit diagram to each other, using metal foil and vias. In the case of using a CAD device, this routing process can be achieved by using a dedicated algorithm called “maze method” or “line search method”. 
     Having performed the above packaging design and determined the layout on the board, a result of the packaging design is converted to CAM data and output to facilities such as an NC machine tool. The NC machine tool performs SoC implementation or SiP implementation based on this CAM data. SoC (System on Chip) is a technique of integrating multiple circuits into a single chip. SiP (System in Package) is a technique of combining multiple chips into a single package using a resin or the like. Through the above processes, the system LSI according to the present invention can be produced based on the internal structure diagrams of the hybrid recorder  100  shown in the above embodiments. 
     An integrated circuit generated in the above manner is called an IC, an LSI, a super LSI, or an ultra LSI, depending on the integration degree. 
     Further, some or all of the construction elements of the hybrid recorder  100  may be implemented as one chip. Also, the integration is not limited to the above SoC and SiP, but may be performed using a dedicated circuit or a general process. A FPGA (Field Programmable Gate Array) that can be programmed or a reconfigurable processor capable of reconfiguring connections and settings of circuit cells in an LSI may be used after producing the LSI. Also, if an integrated circuit technique that replaces an LSI emerges from advancement of semiconductor technology or other derivative technology, such a technique can be used for the integration of the functional blocks. For instance, biotechnology may be adapted in this way. 
     (C) The above embodiments describe the case where the HD is used as the source medium in the hybrid recorder  100 . However, the physical properties of the HD do not particularly contribute to the achievement of the operations and effects of the present invention. The present invention is applicable to any other recording medium that has a capacity of recording a broadcast program like the HD. Examples of such a recording medium include: an optical disc such as a DVD-R, a DVD-RW, a DVD-RAM, a DVD+R, a DVD+RW, a CD-R, a CD-RW, or a Blu-ray Disc; or a magneto-optical disk such as a PD or an MO. 
     Also, though the above embodiments describe the case where the DVD or the SD memory card is used as the target medium, the present invention is equally applicable to a semiconductor memory card such as a CompactFlash card, a SmartMedia card, a Memory Stick card, a MultiMediaCard, or a PCMCIA card; a magnetic disk such as a flexible disk, SuperDisk, Zip, or Clik!; and a removable hard disk drive such as ORB, Jaz, SparQ, SyJet, EZFley, or Microdrive. 
     (D) The digital stream in each of the above embodiments may be a digital stream obtained by encoding an analog video signal broadcast by analog broadcasting. 
     Alternatively, an analog/digital video signal recorded on a videotape may be encoded to obtain a digital stream. Also, an analog/digital video signal directly captured by a video camera may be encoded to obtain a digital stream. A digital work such as a movie distributed recorded on a recording medium or a digital work distributed by a distribution server is applicable too. 
     (E) In the case where copy generation information (CGI) is embedded in the digital stream, it is desirable to perform the backup from the HD to the DVD based on this copy generation information. The copy generation information includes “copy free” indicating that copying can be performed freely, “one generation copy” indicating that only a one-generation copy is permitted to be recorded, “no more copy” indicating that copying of a copy is prohibited, and “never copy” indicating that no copying is permitted. Only when the copy generation information embedded in the digital stream is “copy free” or “one generation copy”, the backup from the HD to the DVD is performed. When the copy generation information is “no more copy” or “never copy”, meanwhile, the backup is not performed. 
     (F) In the case where right management information is added to the digital stream, it is desirable to perform the backup from the HD to the DVD under a use condition defined by the right management information. If a copy permission condition is specified as a number of copies in the right management information, the backup is performed under this condition. If the copy permission condition is specified as a valid period (by year, month, and day), the backup is performed under this condition. 
     (G) When there are variations of copying such as move, migrate, and checkout, the backup may be performed based on a use condition defined for each variation. Move is a copy operation that involves deletion of a copy-source digital stream, and is used when moving a digital stream between a plurality of recording media. 
     Migrate is a copy operation which is based on a precondition that use condition information is generated on a copy-destination recording medium. 
     Checkout is a copy operation that is limited in number. In the checkout, the digital stream is copied after decrementing the number of permitted copies. The difference between the checkout and a general type of copying limited in number is that the number of permitted copies can be incremented in the checkout. The increment of the number of permitted copies is performed after a process (called “checkin”) of disabling playback of a digital stream which has been recorded on a recording medium by copying. 
     (H) The above embodiments describe the case where transcoding is distributed between two devices, but transcoding may be distributed among three or more devices. In such a case, the same effects as the first and second embodiments can be achieved by two of the devices. 
     (I) The above embodiments describe the case where the target medium is mounted on the recording device, but the target medium may be mounted on a third device different from the recording device and the auxiliary device. In this case, the recording device and the auxiliary device access the third device to write transcoding results. 
     As an alternative, the target medium may be mounted on the auxiliary device. 
     (J) The above embodiments describe the case where the recording device and the auxiliary device are connected to each other by IEEE-1394, but the recording device and the auxiliary device may instead be connected to each other by an optical fiber to thereby implement the system according to the present invention as a Cell computing system. 
     The interconnection by the optical fiber enables to reduce the latency of the interdevice communications to as close to 0 as possible. Hence the efficiency of the transcoding distribution can be further enhanced. 
     (K) The above embodiments describe the case where the auxiliary device performs transcoding using a transcoder realized by software. However, if a decoder realized by hardware is installed on the digital television  200  or the game machine  300 , transcoding may be performed using such a decoder function. 
     INDUSTRIAL APPLICABILITY 
     The above embodiments each disclose the internal structure of the recording device to which the present invention relates, and the recording device can be manufactured in volume based on the disclosed internal structure. In other words, the receiving device is capable of being industrially used. Hence the recording device according to the present invention has industrial applicability.