Data transmission system and method

Abstract: The data transmission method employs IEEE P1394 protocol. The data header of the transmitted isochronous packet is added with a node identifier identifying the transmitter node, so that the receiver node can immediately identify the transmitter node, and can thereby request the transmitter node to maintain transmission. A Broadcast channel is a default channel used for isochronous packet transmission, unless a different channel number is otherwise specified. Thus, it is not necessary for the user to coordinate the channel number used by the transmitting and receiver nodes. It is also not necessary for the transmitter node to notify the receiver node, or the receiver node to notify the transmitter node, of the channel number used.

Description: BACKGROUND OF THE INVENTION 1. Field of the invention The present invention relates to a system for transmitting audio signals and/or video signals as a digital signal in such applications as a digital video cassette recorder (VCR) whereby audio signals and/or video signals are recorded and reproduced as digital signals, and also to a method thereof. 2. Description of the prior art Devices for transmitting audio signals and/or video signals via a digital signal transmission path are being continually developed. Transmitting audio signals and/or video signals as a digital signal, however, requires sending and receiving to be synchronized to the processing speed of the apparatus, and therefore requires a transmission path capable of isochronous transmission. A bus connection is even more preferable considering the potential need for two-way communications on a single transmission path whereby plural device can receive a signal transmitted from a single device. The Institute of Electrical and Electronic Engineers, Inc. (IEEE) is currently studying a next-generation high speed serial bus protocol under the title P1394 (see "High Performance Serial Bus"). Under the proposed IEEE P1394 standard, isochronous transmission data, including audio signals, video signals, and other real-time data, can be transmitted by isochronous transmission using isochronous packets, which are sent and received every 125 µ sec (= 1 cycle) to achieve isochronous transmission, cf. Teener M: "A Bus on a diet - the serial bus alternative - an introduction to the P1394 high performance serial bus" intellectual leverage, San Francisco, Feb.24- 28, 1992, no. Conf. 37, 24 February 1992, pages 316-321, Institute of Electrical an Electronics Engineers. The isochronous transmission control method of IEEE P1394 is described next. When the bus is initialized according to IEEE P1394, a node identifier is automatically assigned to each device connected to the bus (each 'node') as a means of identifying each node. A maximum 64 isochronous packets per cycle can also be sent over the bus. As a result, each isochronous packet is also assigned a channel number ranging in value from 0 to 63 to identify each isochronous packet. To achieve isochronous transmission on plural channels, one of the plural nodes connected to the bus is used for isochronous transmission management; this node is called the "bus manager" below. The bus manager manages the channel numbers used for isochronous transmission, and the time remaining in each cycle usable for isochronous transmission. The time sharing rate, or the time slot width, required for each node to transmit an isochronous packet in one cycle is referred to as a bandwidth below. To achieve isochronous transmission, the bus manager must reserve the channel number and the bandwidth to be used. It should be noted that communications not essential to isochronous transmission and information that does not require isochronous transmission are transmitted by asynchronous transmission using asynchronous packets. Asynchronous communication is accomplished using cycle time not used for isochronous transmission. The bus is also immediately reinitialized whenever a node is connected or disconnected from the bus, or whenever any node on the bus is turned off, to enable active bus configuration. The first problem addressed by the present invention is described next. When the IEEE P1394 high performance serial bus is applied to isochronous transmission between consumer audiovisual (A/V) devices using the conventional isochronous packet described above, it is not possible for the node receiving the isochronous packet to identify the node sending that isochronous packet. Because of this node identification problem, the node receiving the isochronous packet cannot request the node sending the isochronous packet to continue isochronous packet transmission when it is necessary to prevent interruption of isochronous transmission due to an unexpected user action, and it is therefore not possible to set the transmission node to a protected state. This is described below referring to a system comprising nodes A, B, and C with node B assumed to be receiving and recording the isochronous packet sent by node A. If the user then performs some action causing node C to transmit an isochronous packet, node C must request node A to stop transmitting the isochronous packet. If node A responds to this request by stopping transmission, the recording operation of node B will be interrupted. It is therefore possible by this conventional data transmission method to interrupt the transmission of isochronous packets between communicating nodes when one node not associated with that isochronous packet transmission is accidentally or improperly operated. The second problem is described next. As described above, the IEEE P1394 protocol enables plural channels of real-time data to be output during one cycle. It is therefore necessary for the receiver node(s) to determine the channel numbers of the real-time data that should be received by that node. One method of enabling the receiver node to determine the channel numbers to be received is for the user to inform the receiver node of the channel numbers to be received. To do this, however, the user must determine and inform the receiver node of the channel numbers of the real-time data that should be received, and this increases the burden on the user. SUMMARY OF THE INVENTION The above identified problems are solved according to the present invention by a data transmission method for transmitting, in response to a transmission command produced from a control node, real-time data over a bus between a first node and a second node, the real-time data being combined with a channel identifier, reserving - by the control node - a preselected channel from among a plurality of channels, setting - by the control node - a required bandwidth for the preselected channel, confirming - by the control node - that the preselected channel with the required bandwidth has been reserved, and transmitting data between the first node and the second node using the preselected channel with the required bandwidth. The objects of the present inventions are also solved by a data transmission system for transmitting, in response to a transmission command produced from a control node, real-time data over a bus between a first node and a second node, the real-time data being combined with a channel identifier, the data transmission system according to the present invention comprising: means for reserving - by the control node - a preselected channel from among a plurality of channels, means for setting - by the control node - a required bandwidth for the preselected channel, means for confirming - by the control node - that the preselected channel with the required bandwidth has been reserved, and means for transmitting data between the first node and the second node using the preselected channel with the required bandwidth. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will become more fully understood from the detailed description given below and the accompanying diagrams wherein: Fig. 1 is a block diagram of plural audio/visual devices connected to a bus according to the IEEE P1394 protocol; Fig. 2 is a block diagram of the internal configuration of each audio/visual device shown in Fig. 1; Fig. 3 shows the isochronous packet format defined by IEEE P1394; Fig. 4 shows the format of the packet header of the isochronous packet defined by IEEE P1394; Fig. 5 shows the asynchronous packet format defined by IEEE P1394; Fig. 6 shows the format of the packet header of the asynchronous packet defined by IEEE P1394; Fig. 7 is a flow chart of the communications management block when isochronous transmission to another node is commanded by the invention; and Figs. 8 and 9 are flow charts of the communications management block when isochronous transmission is commanded by another node according to the invention. DESCRIPTION OF PREFERRED EMBODIMENTS The present invention relates to a transmission procedure for transmitting real-time data such as audio/visual data using the P1394 protocol currently being considered by the Institute of Electrical and Electronic Engineers, Inc. Fig. 1 shows a plurality of audio/visual devices connected to a bus according to the IEEE P1394 protocol. In this example, four audio/visual devices are connected to a common bus, and the devices are referred to as nodes. A/V devices 101, 102, 103, and 104 are connected by a cable 105 which serves as a bus structure. The A/V devices 101 - 104 have a similar control arrangement which is shown in Fig. 2 by way of example for A/V device 102. Each A/V device comprises an interface block 201, an A/V signal processing block 202, and a control block 203. Signals from the other nodes are input to one A/V device 102 through the interface block 201. In the interface block 201, the input signals have their waveform shaped, and the waveform-shaped signals are output to the next A/V device 103. The interface block 201 is capable of transmitting the output signals from any other A/V device, i.e., any other node when connected according to the IEEE P1394 protocol as shown in Fig. 1, to all other A/V devices (nodes). In the IEEE P1394 protocol, real-time data is transmitted using isochronous packets, the format of which is shown in Fig. 3 as defined by IEEE P1394. Each isochronous packet comprises a 4-byte packet header 301; a 4-byte header CRC 302 for checking for transmission errors in the packet header 301; a data block 303; and a 4-byte data CRC 304 for checking for transmission errors in the real-time data. The format of the packet header 301 is shown in Fig. 4. As shown in Fig. 4, the packet header 301 includes the channel number 401. According to the IEEE P1394 protocol, plural A/V devices (nodes) can transmit plural isochronous packets on a time-share basis approximately every 125 µ sec (= 1 cycle). The channel number 401 is added to the isochronous packets for identifying each packet transmitted during the same cycle. When transmitting real-time data, the control block 203 instructs the A/V signal processing block 202 to output the real-time data, including the audio/visual data. Based on the instructions from the control block 203, the A/V signal processing block 202 therefore outputs the real-time data. The control block 203 also adds the channel number used and other information, and controls isochronous packet output to the interface block 201. Based on the instructions from the control block 203, the interface block 201 packetizes the real-time data from the A/V signal processing block 202 as the data block 303 shown in Fig. 3 according to the packet format also shown in Fig. 3. The interface block 201 then outputs the isochronous packet to the other nodes (A/V devices). When receiving real-time data, the control block 203 informs the interface block 201 of the channel number of the isochronous packets to be received. The interface block 201 then detects the channel number of each isochronous packet from the packet header. If the detected channel number is the specified channel number, the interface block 201 outputs to the A/V signal processing block 202 the real-time data contained in the data block 303 from the isochronous packet shown in Fig. 3. The control block 203 also controls input of the real-time data to the A/V signal processing block 202, which signal processes the input data. It is therefore possible for plural nodes to transmit plural isochronous packets during the same cycle by the IEEE P1394 protocol as described above, i.e., plural isochronous transmission between plural nodes can be accomplished in an apparently simultaneous manner. It is necessary, however, to reserve sufficient bandwidth for the internal processing speed of each node with each isochronous transmission. Here, the bandwidth means a width of a reserved time slot in each cycle of 125 µ sec, and various time slots in each cycle are distinguished by different channel numbers. According to the IEEE P1394 protocol, it is possible to use, at the maximum, 64 different channel numbers, from 0 to 63. Because the maximum transmittable bandwidth is limited (obviously less than 125 µ sec), it is necessary to manage the bandwidth used by each node. In addition, a channel number is added to each isochronous packet to identify each isochronous packet and thereby enable isochronous transmission of data on plural channels. Managing the channel numbers used by each node is necessary to prevent the same channel number from being assigned to packets on different channels when plural nodes simultaneously output isochronous packets. This channel number duplication is prevented in the IEEE P1394 protocol by dedicating one node as a bus manager for centrally controlling bandwidth and channel numbers. A/V devices or other node devices executing isochronous transmission must receive from the bus manager the specific bandwidth and channel number used by that node for isochronous transmission. Note that the "used bandwidth" defines the amount of time in each cycle that the node outputting the isochronous packet can monopolize the bus to send the isochronous packets. Communications other than the isochronous transmission described above, e.g., communications for obtaining the used bandwidth and channel number, are accomplished by asynchronous transmission using asynchronous packets. Asynchronous transmission is accomplished using the cycle time remaining after isochronous transmission is completed in each cycle. Fig. 5 shows the asynchronous packet format defined by IEEE P1394. Each asynchronous packet comprises a 16-byte packet header 501; a 4-byte header CRC 502 for checking for transmission errors in the packet header 501; an asynchronous data body 503; and a 4-byte data CRC 504 for checking for transmission errors in the asynchronous transmission data. The packet header 501 comprises a receiver node identifier 601, which is the identifier of the node to which the transmitted asynchronous packet is addressed, and a transmitter node identifier 602, which is the identifier of the node transmitting the packet. The receiver node identifier 601 and the transmitter node identifier 602 in the packet header are each two bytes long. The receiver node receives all asynchronous packets in which the value of the receiver node identifier 601 is equal to the node identifier of the receiver node. The receiver node can also determine by the transmitter node identifier 602 in the received asynchronous packets which node sent the asynchronous packet by reading the transmitter node identifier 602. The procedure for asynchronous transmission is described next. To send an asynchronous packet, the control block 203 instructs the interface block 201 to asynchronously transmit the asynchronous transmission data after appending the receiver node identifier identifying the addressed node. The interface block 201 thus generates and outputs the asynchronous packets from the asynchronous data, receiver node identifier, and other information input from the control block 203. When an asynchronous packet is received, the interface block 201 identifies the asynchronous packets addressed to that node by evaluating the receiver node identifier 601 contained in the packet header 501, and outputs the asynchronous data 503 and the transmitter node identifier 602 from the received asynchronous packet to the control block 203. The control block 203 then executes the required processing based on the asynchronous data input thereto. The present invention is described below. The invention relates to a method whereby: node A, such as a central control device, notifies node B, such as a play device, of the channel number to be used, and instructs node B to execute isochronous transmission using the assigned channel number; and node A notifies node C, such as a monitor device, of the channel number to be used, and instruct node C to receive isochronous packets using the assigned channel number from node B. If this invention was not employed, there will be a bus traffic increase, as explained. When node A notifies node B of the channel number to be used between nodes B and C, and instructs node B to execute isochronous transmission between nodes B and C, node B negotiates with the bus manager via asynchronous transmission to obtain the specified channel number and the bandwidth to use. When node B successfully obtains the bandwidth and channel number, node B begins output immediately. If, for example, node B is unable to obtain the channel number specified by node A, a change of channel number must be requested from node A, and bus traffic due to communications between nodes A and B increases. The procedure in node A for specifying the channel number and issues an output command to node B according to the invention is described below. Node A issues an output command to node B in response to user operation of node A. The user command is passed through the command interpreter 1501 to the communications manager. Fig. 7 is a flow chart of the operation of the communications manager of node A when node A specifies the channel number to be used between nodes B and C. The communications manager in step 2301 instructs the interface block 201 to reserve a channel number other than the Broadcast channel and its bandwidth. More specifically, the interface block 201 communicates asynchronously with the bus manager as instructed by the communications manager to reserve one open channel number other than the Broadcast channel and the bandwidth to use, and reports the reserved channel number and bandwidth to the communications manager. The communications manager then determines in step 2302 whether the channel number and bandwidth were successfully reserved; if they were obtained, control advances to step 2303. The communications manager then outputs an output command to the interface block 201 causing node B to begin transmitting data through the reserved channel number (step 2303). The interface block 201 thus sends the output command and channel number to use to node B via asynchronous transmission as instructed by the communications manager. Similarly, the communications manager then outputs an receiving command to the interface block 201 causing node C to begin receiving data through the reserved channel number (step 2304). The interface block 201 thus sends the receiving command and channel number to use to node C via asynchronous transmission as instructed by the communications manager. The procedure in node B for transmitting data through the reserved channel number specified by node A under isochronous transmission is described next. The node 3 interface block 201 receives an asynchronous packet containing the output command and the channel number to be used between nodes B and C. The presence of the output command and the channel number to be used are then relayed to the communications manager of node B. Fig. 8 is a flow chart of the operation of the node B communications manager during this operation. The communications manager detects the output command from node A in step 2401, and passes control to step 2402 when the output command is detected. In step 2402, the communications manager instructs the A/V signal processing block 202 to output the real-time data to the interface block 201. The communications manager then instructs the interface block 201 to execute isochronous transmission from node B to Node C using the reserved channel number specified by node A. The A/V signal processing block 202 therefore outputs the real-time data to the interface block 201, which thus transmits the real-time data input from the A/V signal processing block 202 using isochronous packets assigned to the channel number specified by node A, according to the instructions from the communications manager. The procedure in node C for receiving data through the reserved channel number specified by node A under isochronous transmission is described next. The node C interface block 201 receives an asynchronous packet containing the receiving command and the channel number to be used between nodes B and C. The presence of the receiving command and the channel number to be used are then relayed to the communications manager of node C. Fig. 9 is a flow chart of the operation of the node C communications manager during this operation. The communications manager detects the receiving command from node A in step 2501, and passes control to step 2502 when the receiving command is detected. In step 2502, the communications manager instructs the A/V signal processing block 202 to receive the real-time data to the interface block 201. The communications manager then instructs the interface block 201 to execute isochronous transmission from node B to Node C using the reserved channel number specified by node A. The A/V signal processing block 202 therefore receives the real-time data from the interface block 201. By this invention thus described, the node outputting the output command and receiving command (node A in the present embodiment) reserves the bandwidth and the channel number to be used between nodes B and C. As a result, when the channel number and bandwidth cannot be reserved, asynchronous transmission between nodes A and B does not occur. Furthermore, when the channel number is specified for another node according to the invention, the reserved channel number will not be the Broadcast channel. As a result, nodes other than nodes A, B and C can execute isochronous transmission using the Broadcast channel.

Claims: A data transmission method for transmitting, in response to a transmission command produced from a control node, real-time data over a bus between a first node and a second node, the real-time data being combined with a channel identifier, the data transmission method comprising the steps of: reserving (2301) by the control node a preselected channel from among a plurality of channels; setting (2301) by the control node, a required bandwidth for the preselected channel; confirming (2302) by the control node that the preselected channel with the required bandwidth has been reserved; and transmitting (2402, 2502) data between the first node and the second node using the preselected channel with the required bandwidth. A data transmission method according to claim 1, wherein the step of reserving a preselected channel comprises reserving a channel other than a Broadcast channel, which is a prefixed channel. A data transmission system for transmitting, in response to a transmission command produced from a control node, real-time data over a bus between a first node and a second node, the real-time data being combined with a channel identifier, the data transmission system comprising: means for reserving (2301) by the control node a preselected channel from among a plurality of channels; means for setting (2301) by the control node, a required bandwidth for the preselected channel; means for confirming (2302) by the control node that the preselected channel with the required bandwidth has been reserved; and means for transmitting (2402, 2502) data between the first node and the second node using the preselected channel with the required bandwidth.

Inventors: HAMAI SHINJI, IITSUKA HIROYUKI, KAWAKAMI YASUNORI, NISHIMURA TAKUYA, SAHARA YASUYUKI, HAMAI, SHINJI, IITSUKA, HIROYUKI, KAWAKAMI, YASUNORI, NISHIMURA, TAKUYA, SAHARA, YASUYUKI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1995
Main classification: H04L12
IPC codes: H04L12, H04L29, H04M3, H04N7, H04M7