One conventional data transfer method adopts the IEEE1394 standard (IEEE: The Institute of Electrical and Electronics Engineers, Inc.). (Reference: IEEE Std 1394: 1995, High Performance Serial Bus.) In data transfer specified by the IEEE 1394 standard, there are two methods of communication. One is isochronous communication, which is suitable for transferring synchronous data such as digital video signals and digital audio signals. The other is asynchronous communication, which is suitable for transferring asynchronous data such as control signals. Both methods of communication are applicable on the IEEE 1394 bus network. Isochronous communication is what is called “Broadcast communication, and an isochronous packet output from one device coupled to the IEEE 1394 bus is receivable by all the other devices coupled to the same bus. On the other hand, asynchronous communication is applicable to both one-to-one communication and one-to-N broadcast communication. Each asynchronous packet output from one device coupled to the bus contains an identifier specifying the device(s) to which that packet is addressed. If this identifier specifies a particular device, only the device specified by the identifier receives the asynchronous packet. If the identifier specifies broadcast, all the devices coupled to the same bus receive the asynchronous packet.
At present, the IEC (International Electrotechnical Commission) is preparing to stipulate the IEC1883 standard (hereafter referred to as AV protocol) for transferring digital audio signals and digital video signals or transmitting data between devices coupled to an IEEE 1394 bus, employing the data transfer method conforming to the IEEE 1394 standard. In the AV protocol, video and audio data is located in the isochronous packet as shown in FIG. 5 and transferred. The isochronous packet includes a CIP (Common Isochronous Packet) header. The CIP header carries information that includes the type of AV data, the identification number of the device which is sending the isochronous packet, and the like.
FIG. 5 shows the format of the isochronous packet used in the AV protocol. The isochronous packet comprises an isochronous packet header 900, header CRC 901, isochronous payload 902, and data CRC 903. The isochronous packet header 900 contains a tag 907. The tag 907 shows that the isochronous packet conforms to the AV protocol when its value is 1. When the value of the tag 907 is 1, which means that the isochronous packet conforms to the AV protocol, the isochronous payload 902 has a CIP header 904 at its beginning. The CIP header 904 comprises a source ID 906 which identifies the device transmitting the isochronous packet. The CIP header 904 also comprises FMT 908 and FDF 909 which specify the type of actual data 905 in the isochronous payload 902. Digital AV data is contained in the actual data 905, but the actual data 905 is not always contained in the isochronous payload 902. Some packets may have an isochronous payload 902 which contains only the CIP header 904 without the actual data 905.
There is a group of commands called the AV/C Command Set for controlling devices in accordance with the AV protocol (Reference: 1394 TRADE ASSOCIATION Specification for AV/C Digital Interface Command Set Version 1.0, Sep. 13, 1996). These commands and their responses are transferred by means of asynchronous communication.
In the conventional data transfer method as described above, compatibility with conventional devices which are not designed for transferring an encrypted isochronous payload 902 cannot be secured when an encrypted isochronous packet, which contains the isochronous payload 902 which has been encrypted for copy protection, is sent. More specifically, conventional devices are designed with the precondition that the CIP header 904 is normally positioned at the beginning of the isochronous payload 902. Accordingly, if the isochronous payload 902 is encrypted, conventional devices cannot correctly read out the encrypted CIP header 904, and decide that the isochronous packet does not conform to the AV protocol. A device receiving encrypted isochronous packets thus may not operate properly. In other words, such receiving devices cannot determine the type of data contained in the actual data 905, resulting in an inability to identify the device transmitting the isochronous packet. In addition, asynchronous communication such as queries to the sending device are disabled. Accordingly, normal receiving operations cannot be carried out.
Furthermore, if the isochronous packet output from the sending device is encrypted while the receiving device is receiving the data, some conventional devices may not be able to correctly read out the CIP header 904 as soon as encryption starts, resulting in inability to receive data properly.
In order to send AV information encrypted for copy protection from the sending device and decrypt the encrypted AV data by the authorized receiving device, the sending device needs to give decrypting information to the authorized receiving device. In the conventional data transfer method, however, the sending device may be required to execute extremely complicated procedures in order to specify the receiving device. More specifically, each isochronous packet contains the source ID 906 which is the identifier of the sending device, but these packets do not contain information that identifies which device is authorized to receive these packets. The sending device thus cannot check which device is receiving the isochronous packets during transmission of the isochronous packets. In order to find which of the devices coupled to the IEEE 1394 bus is receiving the data, the sending device may require to query the data receiving status of every device coupled to the same bus. This makes the procedures for giving key information for decryption extremely complicated.