1. Field of the Invention
The present invention relates to a communication method and a communication apparatus for use in executing data communication among devices connected by an IEEE (Institute of Electrical and Electronics Engineers) 1394 bus line, for example.
2. Description of the Related Art
Heretofore, there have been developed AV (audio-visual) devices capable of transmitting information to each other through a network using an IEEE 1394 serial data bus. When data is transmitted through this IEEE 1394 serial data bus, there are available an isochronous transfer mode used to transmit data of a relatively large capacity such as video data and audio data in real time and an asynchronous transfer mode used to transmit images, data and commands such as still pictures, text data and control commands highly-reliably, and exclusive bands for the isochronous transfer mode and the asynchronous transfer mode are available and used in transmission.
When data is transmitted between the source device a and the target device b as described above, there can be applied a control command transmission system called an AV/C command (AV/C Command Transaction Set) which is applied to AV devices, or the like, for example. Details of the AV/C command are described in the AV/C Digital Interface Command Set General Specification which has been laid open in the 1394 Trade Association.
First, the controller issues a command prescribed by the AV/C command to respective devices connected to the bus to determine if video data can be dubbed on the respective devices. Specifically, the controller transmits a subunit info command, which inquires a processing function section of a device, to the audio deck (step S71) and obtains data indicating that the video deck is a disc recorder/player by a response from the video deck (step 72).
Next, the controller transmits the same subunit info command to the first video deck (step S73) and obtains data indicating that the first video deck is a tape recorder/player from a response from the first video deck (step S74). When the controller obtains the response of the tape recorder/player, there is a possibility that this tape recorder/player will be a device on which video data can be dubbed. Hence, the controller transmits a tape playback format command inquiring a playback format to the first video deck (step S75) and obtains data indicating that the playback format is an MPEG video format from a response from the first video deck (S76).
The controller transmits the subunit info command to the second video deck (step S77) and obtains data indicating that the second video deck is a tape recorder/player from a response of the second video deck. When the controller obtains the response of this tape recorder/player, there is a possibility that this tape recorder/player will be a device on which video data can be dubbed. Hence, the controller transmits a tape playback format command inquiring a tape playback format to the second video deck (step 79) and obtains data indicating that the tape playback format is an MPEG video format from a response of the second video deck (step S80).
Next, the controller sends a tape recording format command inquiring a tape recording format to the second video deck (step S81) and obtains data indicating that the tape recording format is an MPEG video format from a response of the second video deck (step S82). Consequently, the controller can determine that the second video deck is a recording device.
After these commands had been exchanged so far, the controller can execute the dubbing processing in which the controller can determine that the first video deck is the reproducing device and that the second video deck is the recording device and video data reproduced from the magnetic tape of the first video deck is transmitted to the second video deck and recorded on the magnetic tape by the second video deck.
Since it is determined by the controller based on the processing executed so far that the MPEG video data can be dubbed between the first and second video decks, a point-to-point connection for connecting the two devices is established under control of the controller such that data can be transmitted between the two devices by the isochronous transfer channel on the IEEE 1394 bus.
After the point-to-point connection has been established and the transmission line on the bus has been secured, the controller transmits a record command for starting the recording to the second video deck (step S83) and receives from the second video deck a response indicating that the above command processing was accepted (step S84). The controller transmits a playback command for starting the playback to the first video deck (step S85) and receives from the first video deck a response indicating that the above command processing was accepted (step S86). After the above processing has been executed so far, MPEG video data (stream data) played back from the first video deck can be transmitted to the second video deck by the isochronous transfer channel secured on the bus and thereby recorded on the magnetic tape by the second video deck.
With the above processing executed so far as shown in
However, in the transmission processing on this kind of network according to the related art, it is impossible to check in detail whether or not the communicated device is able to handle the transmitted stream data.
In view of the aforesaid aspect of the present invention, it is an object of the present invention to provide a communication method and a communication apparatus in which when stream data is transmitted in a network such as an IEEE 1394 network, other device on the network can easily determine whether or not an output device side is ready to output stream data and whether or not an input device side is ready to receive transmitted stream data.
According to an aspect of the present invention, when an input device receives stream data outputted from an output device connected to a predetermined network, if the output device or other devices transmit a command for requesting the input device to enable its data input section to input outputted data of the output device, then data indicating that input setting is temporarily disabled is prepared as a response issued from the input device to the above command. When the source device which issues the above command receives the data indicating that the input setting is temporarily disabled, the source device executes corresponding processing.
According to the such first invention, when the input device side cannot execute input setting of stream data due to some causes, the device side which controls transmission of stream data on the network can understand the status in which the input device side is placed at present and can execute corresponding processing.
According to the second invention, when an input device receives stream data outputted from an output device connected to a predetermined network, if the output device or other devices transmit a first command for requesting the input device to enable its data input section to input outputted data of the output device, then after it has been confirmed by a response based on the first command whether or not a connection within the input device has been completed such that the input device can stream data and whether or not a connection between the output device and the input device on the network has been completed, the output device or other devices transmit a second command for executing predetermined confirmation concerning that the input device is ready to input the outputted data. If it is determined by the response based on the second command that the input device is ready to input the outputted data, then the output device starts transmitting stream data.
According to the such second invention, the device side which controls transmission of stream data on the network can understand that the input device side is ready to input stream data and can properly control transmission of stream data.
A communication method and a communication apparatus according to a first embodiment of the present invention will be described below with reference to
An example of an arrangement of a network system to which the present invention is applied will be described with reference to
Each of the devices 1, 2, 3 can be regarded as a device which includes a subunit for executing processing to realize each function and a plug section for inputting and outputting data between the bus 9 and the internal subunit from a functional standpoint prescribed by the AV/C command. Specifically, the IRD 1, for example, includes a tuner subunit 1a for receiving broadcasting, the audio deck 2 includes a disc subunit 2a for recording audio data on the disk and reproducing audio data from the disk, and the control device 3 includes a control unit 3a for executing a control function. The respective devices 1, 2, 3 include plug sections 1b, 2b, 3b. The respective plug sections 1b, 2b, 3b implement a plurality of plugs thereon so that the plug sections 1b, 2b, 3b can be connected to a plurality of channels on the bus 9. A relationship between the plug and the channel will be described later on.
The video data separated from the multiplexed data by the data separating circuit 104 is supplied to an MPEG video decoder 105, in which it is decoded according to the MPEG system. The video data thus decoded by the MPEG video decoder 105 is supplied to a digital-to-analog converter (D/A converter) 106, in which it is converted into an analog video signal. The resultant analog video signal is supplied to an output terminal 107. The audio data separated from the multiplexed data by the data separating circuit 104 is supplied to an MPEG audio decoder 108, in which it is decoded according to the MPEG system. The audio data thus decoded by the MPEG audio decoder 108 is supplied to a digital-to-analog converter (D/A converter) 109, in which it is converted into an analog audio signal. The resultant analog audio signal is supplied to an output terminal 110.
The IRD 1 according to this embodiment includes an IEEE 1394 interface section 111 from which received MPEG video data and audio data can be transmitted to the bus 9 connected thereto. When the IRD 1 receives a broadcast wave of a channel in which ATRAC (Adaptive Transform Acoustic Coding) audio data can be obtained, the received ATRAC audio data that has been separated by the data separating section 104 can be transmitted from the IEEE 1394 interface section 111 to the bus 9. When the IRD 1 receives data of other data broadcasting channels, the IRD 1 can transmit the data thus received from the IEEE 1394 interface section 111 to the bus 9.
The IRD 1 receives data and transmits received data to the bus 9 under control of a central processing unit (CPU) 112. The IRD 1 transmits data from the IEEE 1394 interface section 111 to the bus 9 and receives data at the IEEE 1394 interface section 111 from the bus 9 under control of the CPU 112. The CPU 112 has a memory 113 connected thereto and which can store therein data necessary for control, or the like.
Specifically, as shown in
The arrangement of the recording system of this audio deck 2 will be described next. As shown in
Playback operation and recording operation in these circuits are executed under control of a central processing unit (CPU) 213. Moreover, data can be transmitted from the IEEE 1394 interface section 212 to the bus 9 and data can be received at the IEEE 1394 interface section 212 from the bus 9 under control of the CPU 213. The CPU 213 has a memory 214 connected thereto and which can store therein data necessary for control. Connection information such as point-to-point connection information may be stored in a part of storage area of this memory 214.
Next, the manner in which data is transmitted through the IEEE 1394 bus 9 with the above respective devices connected thereto will be described.
When a predetermined node transfers data in the isochronous transfer mode, such node has to be corresponding to the isochronous function. At least one of the nodes corresponding to the isochronous function has to have a cycle master function. Further, at least one of the nodes connected to the IEEE 1394 serial bus has to have an isochronous resource manager function.
Data transmitted from the output plug of the data transmission source device to the bus is set so as to be received at the input plug of the data reception device by using the channel thus secured. Processing for creating a connection by setting the channel and the plug is executed under control of the predetermined device (controller) connected to the bus.
In this manner, data is transmitted among the devices connected by the IEEE 1394 serial bus. The system according to this embodiment can control the respective devices and can judge the states by using the AV/C command prescribed as commands for controlling the devices connected through the IEEE 1394 serial bus. Data used in this AV/C command will be described below.
The CTS shows a command set ID and CTS=“0000” in the AV/C command set. A ctype/response field shows a command function type when the packet is the command and shows a processed result of a command when the packet is the response.
Roughly classified, there are defined four types of commands wherein (1) a command (CONTROL) for controlling the functions from the outside, (2) a command (STATUS) for inquiring the status from the outside, (3) a command (GENERAL INQUIRY (whether or not the support of op code exists) and (SPECIFIC INQUIRY (whether or not the support of op code and operands exists)) for inquiring the existence of the support of the control command from the outside and (4) a command (NOTIFY) for notifying the change of the status to the outside.
Response messages are returned in response to the type of the command. Response messages for the CONTROL command are NOT IMPLEMENTED (not implemented), ACCEPTED (accepted), REJECTED (rejected) and INTERIM (interim). Response messages for the STATUS command are NOT IMPLEMENTED, REJECTED, IN TRANSITION (in transition) and STABLE (stable). Response messages for the GENERAL INQUIRY command and the SPECIFIC INQUIRY command are IMPLEMENTED (implemented) and NOT IMPLEMENTED (not implemented). Response messages for the NOTIFY command are NOT IMPLEMENTED, REJECTED, INTERIM and CHANGED (changed). Other commands and response messages than the above ones may be defined depending upon circumstances.
A subunit type is provided in order to specify functions within the device. For example, a tape recorder/player, tuner and the like are allocated to the subunit type. In order to discriminate a plurality of subunits of the same type, the addressing is executed by using the subunit id as a discrimination number. An op code (operation code) expresses a command and an operand expresses a parameter of a command. Additional operands are fields which should be added if necessary. A padding also is a field which should be added if necessary. A data CRC (Cyclic Redundancy Check) is used to check errors when data is transmitted.
The devices connected to the bus are controlled by using the AV/C command thus prescribed, and data is transmitted between the devices connected by the bus under control using the AV/C command. In this embodiment, a command for controlling the input selecting state is prepared for an input device (target device) to which stream data can be inputted. This command packet may be transmitted from the output device which outputs corresponding stream data or the control device which controls data transmission between the output device and the input device.
Because the input plug ID of the input device is determined by the input device which received this command, a device which transmits this command (i.e., output device or control device) cannot identify the input plug ID of the input device at the stage in which the command is being transmitted. Hence, data with the maximum value is located at the input plug ID. At the output plug ID of the output device, there is located ID data of a plug by which stream data is outputted from the output device.
Path change data is data required when the controller instructs the change of a transmission line in somewhere of transmission of stream data. For example, when it becomes necessary to change data outputted from the output device in the form of digital data to an analog signal, the transmission line using the bus should be changed (i.e., path change) to an external analog transmission line. At that time, the controller instructs that the input device selects input by using this path change data when the path change occurs. To be more concrete, as shown in
When the packet of the command shown in
Data that has been located at the command is located at the area of [operands (1) to (3)] as it is. Data that had been located at the command is similarly located at the section ranging from 1 to 4 bits in the area of [operand (4)] as it is. When the input device sets an input plug, ID of its input plug is located at the area of [operand (0)].
The status data [result status] indicative of the status of the input device is defined as shown in
Let us describe the respective response types from above of
1. [succeeded] Data:
This data can indicate that the instruction of the command succeeded.
2. [ready] Data:
This data can indicate that the input device is placed in the standby mode due to some cause although a connection has been completed in the inside of the input device such that stream data can be inputted to the input device.
3. [busy] Data:
This data can indicate that data cannot be inputted due to other causes of the input device after the connection has already been completed in the inside of the input device such that stream data can be inputted to the input device and after a connection between the output device and the input device on the network has already been completed.
4. [failed] Data:
This data can indicate that a connection between the output device and the input device on the network is failed although a connection has already been completed in the inside of the input device such that stream data can be inputted.
In the case of responses [REJECTED] which reject the instruction of the command, there are available the following 8 data.
1. [disabled] Data:
This data can indicate that a mode for prohibiting the input setting from being executed by a command from other device.
2. [locked] Data:
This data can indicate that operation of the input device is locked due to some causes (e.g., during recording) so that the input setting cannot be made.
3. [p-to-p] Data:
This data can indicate that an input plug has no vacant space and a connection cannot be established because a connection has already been established under control of other device.
4. [insufficient resource] Data:
This data can indicate that a connection cannot be established because a band (channel) on the bus is insufficient.
5. [source not found] Data:
This data can indicate that the designated output plug of the output device (source device) cannot be found.
6. [not selected] Data:
This data can indicate that a designated path cannot be set. This data is used when a path cannot be changed to the path designated by the path change data.
7. [not registered] Data:
This data can indicate that the designated path has already been registered. This data also is used when a designated plug is not available for designated path change data.
8. [any other reason] Data:
This data is used to reject a command due to any other reason.
In the case of response [INTERIM] which is the interim response to the command, there are available the following two data.
1. [no information] Data:
This data is data temporarily transmitted when a response cannot be made due to some cause within a time period (e.g., 100 milliseconds) prescribed by the AV/C command.
2. [busy] Data:
This data is data temporarily transmitted when a response cannot be made due to some causes within a time period (e.g., 100 milliseconds) prescribed by the AV/C command. If this data is received, then it can be determined that the device is placed in the normal state after a previously-determined constant time (e.g., 10 seconds) has passed.
In addition to the control command shown in
When the packet of the command shown in
The status data [status] indicative of the status of the input device is defined as shown in
Next, transmission processing examples using the input select command having the above arrangement will be described with reference to
In this example, a stream data output device (source device) assumes an audio reproducing apparatus and an input device (target device) assumes a recording apparatus for recording audio data (stream data) reproduced and transmitted from the above audio reproducing apparatus. The above audio reproducing apparatus and the above recording apparatus correspond to the audio deck 2 shown in
First, referring to
When the recording is started as described above, the input device becomes able to receive and record data such as the audio data outputted from the source device without missing data. Therefore, it is possible to prevent a starting portion of audio data from being missed upon recording.
In this example, the input device executes the connection management under control of a controller (e.g., control device 3 shown in
The controller transmits the input select status command to the input device (step S29). If it is determined by the controller based on the response (S30) from the input device to the above command that the connection was completed, then the controller transmits a recording command to the input device (step S31) and transmits a playback command to the source device (step S329 successively to start transmission of stream data such as audio data from the source device and enables the input device to record the stream data (step S33). The source device may serve as the controller as well.
When the recording is started as described above, the input device becomes able to receive and record stream data such as audio data outputted from the source device without missing data while the connection is being executed under management of the input device. Therefore, similarly to the processing example 1, it is possible to prevent a starting portion of audio data from being missed upon recording.
In this example, it is assumed that stream data such as audio data is transmitted from an output device (source device) to an input device (target device). Then, the input device side executes a connection management under control of the source device and the source device transmits the stream data through the transmission line set by the above connection management.
Referring to
When the source device receives this response, the source device executes polling operation to successively inquire the status of the input device. Specifically, the source device successively transmits an input select status command to the input device at an interval of a certain period of time (step S36). Then, the response from the input device is confirmed by the source device (step S37). While this polling operation is being repeated, the input device is changed to the receivable state. At that time, if the source device can confirm the status change based on the response (step S39) to the input select status command (step S38) obtained after the input device had been changed to the receivable state, then the source device starts transmitting stream data through the available band (step S40).
When the stream data is transmitted like the processing example 3, if the input device side cannot temporarily receive data due to some causes and later on, the input device side becomes ready to receive data, then data can immediately be transmitted from the source device and transmitted to the input device. Therefore, data can satisfactorily be transmitted under the condition that the starting portion of transmitted stream data can be prevented from being missed.
While the input device executes the connection management in accordance with the command from the source device in the case of the processing example 3, the present invention is not limited thereto, and data can similarly be processed when the input device executes the connection management in accordance with command from other controller.
While the response is issued for the input select control command and the status is [busy] data in the processing example 3, the present invention is not limited thereto, and data can similarly be processed when the status is [failed] data. Specifically, when the status is [failed] data, this indicates the status that the connection within the input device has been completed such that the input device can input stream data but a connection between the output device and the input device on the network is failed. When the source device (or controller) judges that the status is [failed] data, it is repeatedly determined by the source device (or the controller) based on polling whether or not the connection between the output device and the input device on the network succeeded. If it is determined by the source device (or controller) that the connection between the output device and the input device on the network succeeded, then the source device can start transmitting stream data.
When the source device executes the polling operation, a predetermined time period in which the polling operation is repeated may be determined. If the predetermined time period elapsed, then the transmission may be judged as impossible and the transmission may be ended.
Further, instead of the polling operation, after a certain time period such as a time period required until the status of the input device becomes stable elapsed since the response for the status data [busy] has been issued, the source device side may start transmitting stream data without confirming the status of the input device.
In this example, let us assume that the output device (source device) transmits stream data such as audio data to the input device (target device). Then, under control of the source device, the input device executes the connection management and the output device transmits the stream data through the transmission line set by such connection management.
Referring to
When the source device receives this response, the source device transmits input select notify command to the input device as a [NOTIFY] command which is the command for notifying that the source device becomes able to receive stream data (step S43). When the input device receives the input select notify command from the source device, the input device transmits [INTERIM] data which is the response notifying the reception of the input select notify command (step S44). At that time, the status data is allocated to [busy].
After the transmission has been executed so far, let it be assumed that the input device is changed to the receivable state. Then, the input device transmits to the source device the [ACTIVE] response for notifying that the input device is ready to receive data (step S45). At that time, a processed result of the [CHANGED] command indicating that the status was changed is added to the above response. If the source device confirms by this response the change of the status, then the transmission of stream data in the available band is started (step S46).
If the stream data is transmitted like the processing example 4, then when the input device side cannot temporarily receive data due to some cause, immediately after the input device becomes ready to receive data, data can be outputted from the source device and transmitted to the input device. In the case of the processing example 4, the source device need not monitor the status of the source device side. When the status of the input device is changed, there can be obtained the response automatically, and hence the processing on the source device side can be simplified.
While the input device executes the connection management under control based on the command issued from the source device in the case of the processing example 4, data may be processed similarly when the input device executes the connection management under control of command issued from other controllers different from the source device.
While the status data of the response to the input select control command is set to [busy] data in the processing example 4, the present invention can cope with the case in which status data is [failed] data by similar processing. Specifically, when status data is [failed] data, this is the status in which the connection between the output device and the input device on the network is failed although the connection within the input device has already been completed such that the input device can input stream data. If it is determined by the source device (or controller) that the above connection is failed, then the [NOTIFY] command is transmitted to notify that the status is changed. Then, if it is determined by the source device based on the response that the connection can be established, then the source device starts transmitting stream data.
In this example, the input device executes a variety of controls (connection management, etc.) by transmitting some command from the controller to the input device (target device).
First, the controller transmits to the input device a control command having any instruction (step S51). If the input device cannot answer the instruction immediately, then the response of the controller is set to [INTERIM] data which is the interim response and its status data is set to [no information] data (step S52). Then, when the input device can answer the control command, the input device transmits the [ACCEPTED] response to the controller (step S53).
T1 assumes a time period required by the input device to transmit the [ACCEPTED] response since the input device has transmitted the [INTERIM] response. This time T1 assumes to be 2 seconds, for example. At that time, the controller predicts that the time T1 in which the input device transmits the [ACCEPTED] response since the input device has transmitted the [INTERIM] response is about 2 seconds in advance. Based on this time T1, other controls such as transmission of stream data from the source device can be executed.
In this example, the input device can execute a variety of controls (connection management, etc.) by transmitting some command from the controller to the input device (target device) similarly to the processing example 5.
First, the controller transmits to the input device the control command having any instruction (step S61). If the input device cannot answer the above instruction immediately, then the response to the controller is set to [INTERIM] data which is interim answer and status data is set to [busy] data (step S62). The state in which this [busy] status data is added to the response is the state in which it takes a time longer than the ordinary time for executing processing corresponding to the instruction of the command. This state corresponds to the case in which it takes plenty of time to energize the input device which has been in the de-energized state. Then, when the input device can answer the control command, the input device transmits the [ACCEPTED] response to the controller (step S63).
In this case, T2 assumes a time period required by the input device to transmit the [ACCEPTED] response after the input device has transmitted the [INTERIM] response. This time T2 assumes to be about 10 seconds, for example. At that time, the controller predicts that the time T2 in which the input device transmits the [ACCEPTED] response since the input device has transmitted the [INTERIM] response in which the status data is [busy] is about 10 seconds in advance and executes other controls such as transmission of stream data from the source device based on the time T2. Accordingly, by executing the processing examples 5, 6, a proper control based on the status of the target device becomes possible.
Next, a communication method and a communication apparatus according to a second embodiment of the present invention will be described with reference to
An example of an arrangement of a network system according to this embodiment will be described with reference to
From a standpoint of functions prescribed by the AV/C command, the respective devices 2, 4, 5 can be regarded as arrangements including subunits for executing processing to realize respective functions and plug sections for inputting and outputting data between the bus 9 and the internal subunits. Specifically, the audio deck 2 includes the disk subunit 2a for recording data on the disk and reproducing data from the disk. The amplifying apparatus 4 includes a control section 4a for executing the control function and an audio subunit 4b for outputting an audio signal. Speaker apparatus 4d, 4e are connected to the audio subunit 4b. The audio reproducing apparatus 5 includes a disk reproducing subunit 5a for reproducing data from the disk. The respective devices 2, 4, 5 include plug sections 2b, 4c, 5b. The respective plug sections 2b, 4c, 5b include a plurality of plugs by which the respective plug sections 2b, 4c, 5b can be connected to a plurality of channels on the bus 9. A relationship between the plug and the channel is the same as that of the first embodiment that has already been described so far with reference to
Digital audio data outputted from the signal processing section 403 is supplied to a digital-to-analog converter (D/A converter) 404, in which it is converted into an analog audio signal. The analog audio signal from the D/A converter 404 is supplied to a power amplifying section 405, in which it is amplified to power to such an extent that speaker apparatus can be driven. The output from the power amplifying section 405 is supplied to a speaker apparatus connected through speaker terminals 406, 407.
The amplifying apparatus 4 according to this embodiment includes an IEEE 1394 interface section 408 so that, when audio data transmitted through the bus 9 is received by the interface section 408, the received audio data can be supplied through the input selecting section 402 to the signal processing section 403.
Signal processing operation within the amplifying apparatus 4 a and receiving operation through the bus 9 are executed under control of a central processing unit (CPU) 409. The CPU 409 has a memory 410 connected thereto and in which there are stored data necessary for controlling.
Reproducing operation within the audio reproducing apparatus 5 and data transmission through the bus 9 are executed under control of a central processing unit (CPU) 510. A memory 511 for storing therein data necessary for controlling is connected to the CPU 510.
The arrangement that had been described so far in the first embodiment with reference to
Fundamental operation for transmitting data through the IEEE 1394 bus 9 with the respective devices connected thereto is the same as fundamental operation that has already been described in the first embodiment. Specifically, the data transmission structure on the bus 9 is the same as the arrangement shown in
The respective devices connected to the bus 9 can be controlled and the statuses of these devices can be judged by the AV/C command prescribed that had been described so far with reference to
4 bits of the first half of [operand (1)] are reserved and a constant value (“1111”, i.e., maximum value F of 4 bits in hexadecimal notation) is located at the 4 bits of the second half of [operand (1)]. A node ID of the output device is located at the area of [operand (2) (3)], and an output plug ID of the output device is located at the area of [operand (4)]. An input plug ID of the input device is located at the area of [operand (5)]. Data on signal destination (signal destination) is located at the area of [operand (6) (7)]. The area of [operand (8)] is reserved. At the stage in which the control command is transmitted, the input plug ID is determined by the input device which received this control command, and hence the maximum value data (FF16), for example, is located at the input plug ID.
With respect to the subfunction located at the area of [operand (0)], as shown in
When the data in the area of [operand (6)] designates the subunit type of destination except the maximum value FF, as shown in
The side which received the input select control command having the above arrangement is adapted to transmit input select control response to a command transmitting source as an answer to the control command.
4 bits of the first half of [operand (1)] are reserved and result status which is data of processed result is located at the 4 bits of the second half of [operand (1)]. The same data as those of the control command are located at the areas following [operand (2)]. However, with respect to data such as the input plug ID notified to the control command transmitting source from the response transmitting side, corresponding data are located at corresponding areas.
In the case of response of [REJECTED] which rejects the control command, when value of data is 1, this indicates that a corresponding device is disabled to receive this control command. When value of data is 2, this indicates that present operation is locked and hence processing is impossible. When value of data is 3, this indicates that a corresponding device is not the owner device of the point-to-point connection set currently (because the connection is set by other device) and hence processing concerning setting of the connection is impossible. When value of data is 4, this indicates that the resource is insufficient and hence processing is impossible. When value of data is 5, this indicates that a designated source device cannot be found and hence processing is impossible. When value of data is 6, this indicates that a designated device is not selected and hence processing is impossible. When value of data is 7, this indicates that a designated device is not registered and hence processing is impossible. Further, when value of data is E, this indicates that processing is impossible for any other reason. When the command type is [INTERIM] response which is an interim response, value of data is F.
Apart from setting processing of transmission line obtained when the input select control command and the response are transmitted, according to this embodiment, there is prepared a signal source status command which inquires the status and the response to the command.
Next, transmission processing examples using the input select control command and the signal source status command having the above arrangements will be described with reference to
In this example, a stream data output device (source device) assumes an audio reproducing apparatus, and an input device (target device) assumes an amplifying apparatus for receiving audio data (stream data) reproduced and transmitted from the reproducing apparatus and which outputs the processed audio data from speakers. The above reproducing apparatus and amplifying apparatus are corresponding to the disk reproducing apparatus 5 shown in
In this example, first, the amplifying apparatus 4 transmits output preset control command to register the amplifying apparatus 4 Deserving as the input device connected to the bus 9 as a destination to which the input select control command is transmitted from the disk reproducing apparatus 5 serving as the source device to the disk reproducing apparatus 5 (step S101). When the amplifying apparatus receives response to the transmitted command (step S102), the amplifying apparatus 4 confirms that it was registered on the disk reproducing apparatus 5.
Thereafter, let it be assumed that the disk reproducing apparatus 5 reproduced the disk. At that time, if the disk reproducing apparatus 5 is not energized, then the reproducing apparatus 5 may be energized by this reproducing operation. If the amplifying apparatus 4 which is the target to which the reproduced signal is outputted is not energized, then the disk reproducing apparatus 5 transmits a power-supply energizing command through the bus 9 to the amplifying apparatus 4 (step S103). When receiving this power-supply energizing command, the amplifying apparatus 4 is energized. The power-supply de-energized state represents the state in which the device is placed in the standby mode under the condition that it can be energized by the supply of some controlling signal (i.e., so-called standby mode). In this standby mode, the amplifying apparatus 4 and the disk reproducing apparatus 5 are able to receive data transmitted thereto through the bus 9. The disk reproducing apparatus 5 according to this example includes a pilot lamp concerning the reproducing operation. In the standby mode until the playback is started by the reproducing operation, the pilot lamp can blink. When the playback starts, after the pilot lamp begins to blink, the pilot lamp may be lit continuously.
After the power-supply energizing processing has been ended, the reproducing apparatus transmits the input select control command to the amplifying apparatus 4 (step S104) so that the amplifying apparatus 4 executes setting so that audio data reproduced by the disk reproducing apparatus 5 may be transmitted to the amplifying apparatus 4 through the bus 9. At that time, without the power-supply energizing command, the amplifying apparatus 4 whose power-supply is in the de-energized state may receive this input select control command and thereby energized. This input select control command is the command having the arrangement shown in
When the above connection is established, response indicating that processing for the command is executed normally is transmitted from the amplifying apparatus 4 to the disk reproducing apparatus 5 (step S106). This response is the input select control response having the arrangement shown in
Next, the disk reproducing apparatus 5 transmits the signal source status command to the amplifying apparatus 4 to confirm whether or not the amplifying apparatus 4 is ready to process audio data (step S107). This signal source status command is the command having the arrangement shown in
When the disk reproducing apparatus 5 serving as the source device receives this response, after a certain time period elapsed (e.g., after several seconds), the disk reproducing apparatus 5 again transmits the signal source status command to the amplifying apparatus 4 to confirm whether or not the amplifying apparatus 4 becomes ready to process audio data (step S109). In this case, let it be assumed that data [effective] indicating that the output status is effective for receiving inputted data is obtained as the response to this signal source status command (step S110). At that time, if the response is [not effective], then the signal source status command is repeatedly transmitted from the disk reproducing apparatus 5 to the amplifying apparatus 4 at an arbitrary interval until [effective] response is obtained. If the disk reproducing apparatus 5 has to understand that the point-to-point connection that has been established by the previous input select control command is changed during the response of the signal source status command is [not effective], then the input select status command is transmitted from the disk reproducing apparatus 5 to the amplifying apparatus 4. When receiving this input select status command, the amplifying apparatus 4 transmits response based on the status concerning the point-to-point connection of the amplifying apparatus 4 to the disk reproducing apparatus 5. Thus, the disk reproducing apparatus 5 can confirm the status of the point-to-point connection of the amplifying apparatus 4.
When the disk reproducing apparatus 5 confirms that the response to the signal source status command is the response [effective], the disk reproducing apparatus 5 starts reproducing the disk loaded thereon and starts transmitting resultant reproduced audio data to the amplifying apparatus 4 through the transmission line set at the step S105 (step S111). At the stage in which this disk reproducing apparatus 5 starts reproducing the disk, the pilot lamp that the disk reproducing apparatus 5 includes for displaying playback operation is changed from the blinking state to the continuous lighting state.
With the above processing, while the connection on the bus is being executed under management of the input device, data such as audio data outputted from the source device can be processed by the input device side without being missed. To be concrete, since the source device starts outputting data such as audio data at the stage in which audio data can be outputted from the speakers connected to the amplifying apparatus after the source device (disk reproducing apparatus) had executed the playback operation, it is possible to prevent the starting portion of the audio data from being missed. In particular, in the case of the example shown in
While the point-to-point connection in the plug has been described in the above example, if the amplifying apparatus 4 can recognize its external terminal which physically connects the amplifying apparatus 4 to an external terminal of the disk reproducing apparatus 5 to transmit audio data, the present invention can also be applied to the external terminal. For example, the present invention can be applied to the case in which a device connected to the external terminal of the amplifying apparatus 4 can be registered by user's operation.
According to the case of the processing example 1, since the input device is energized at the stage in which the reproducing apparatus side is energized after the reproducing operation was executed, even when the input device side is placed in the de-energized state (standby mode), audio data can reliably be transmitted and processed without operating a power switch of the input device.
Furthermore, since the source device side includes the pilot lamp concerning the playback operation in which the pilot lamp blinks to indicate that the source device is placed in the playback standby state and the pilot lamp is being continuously light to indicate that the playback is started, it is convenient for a user who executes playback operation on the source device to easily understand the transmission state by only visually confirming the state of the pilot lamp. While the playback standby state and the start of reproduction can be discriminated from each other by the blinking of the pilot lamp and the continuous lighting of the pilot lamp as described above, the present invention is not limited thereto, and similar notification can be executed by other reprocessing such as the change of colors of the pilot lamp.
In this example, after the input device has executed the connection management between it and the source device under control of the controller (e.g., amplifying apparatus 4 shown in
Referring to
When the controller receives the [ACCEPTED] response, the controller transmits a recording pause standby command to the audio deck 2 (step S123) and also transmits a playback pause command to the disk reproducing apparatus 5 (step S124). When receiving this recording pause command, the audio deck 2 transmits [ACCEPTED] response indicating the acceptance of processing to the controller (step S125), and the point-to-point connection between the disk reproducing apparatus 5 and the audio deck 2 on the bus 9 is established (step S127). When receiving the playback pause command, the disk reproducing apparatus 5 transmits to the controller [ACCEPTED] response indicating that it received processing (step S126).
The controller, which has received these responses, transmits the input select status command to the audio deck 2 (step S128) to confirm the status of the point-to-point connection established between the audio deck 2 and the disk reproducing apparatus 5. When receiving this input select status command, the audio deck 2 transmits to the controller the response based on the status concerning the point-to-point connection of the audio deck 2 (step S129). At that time, assuming that the point-to-point connection between the disk reproducing apparatus 5 and the audio deck 2 is established, then the status becomes [active] which indicates that the point-to-point connection was already established.
Next, the controller transmits the signal source status command to the audio deck 2 in order to confirm whether or not the audio deck 2 is ready to record audio data (step S130). This signal source status command is the command having the arrangement shown in
Instead of transmitting these signal source status commands, there may be transmitted signal source notify command as [NOTIFY] command which is command for notifying the change of the status to the outside. A device, which received the signal source notify command, transmits [INTERIM] data which is response indicating the acceptance of the signal source notify command. At that time, the output status is set to [not effective]. Thereafter, when the audio deck 2 becomes ready to record audio data and the disk reproducing apparatus 5 becomes ready to output audio data, the respective devices 2 and 5 transmit [changed] data which is response indicating that the status was changed. At that time, the output status is [effective].
When the controller confirms the response in which the output status is [effective] from the response of the signal source status command transmitted to the audio deck 2 and the disk reproducing apparatus 5, the controller transmits a recording start command to the audio deck 2 (step S134). Simultaneously, the controller transmits a playback start command to the disk reproducing apparatus 5 (step S135). The controller can confirm based on the responses (steps S136, S137) to the respective commands that the recording start and the playback start are executed. In this manner, processing for transmitting stream data (audio data) reproduced from the disk by the disk reproducing apparatus 5 to the audio deck 2 is started (step S138).
Also in this case of the processing example 2, if the reproducing apparatus includes the pilot lamp concerning the playback state, then the pilot lamp is blinked at the same time the playback pause command is transmitted to the disk reproducing apparatus 5 at the step S124. Then, when the disk reproducing apparatus 5 starts playback in response to the playback command received at the step S135, the pilot lamp that has been blinking is lit continuously. If the reproducing apparatus is served also as the controller, then when dubbing processing is started, the disk reproducing apparatus 5 is placed in the playback pause mode so that the pilot lamp is blinked.
With the above processing, since it is confirmed that the input device side is ready to input data while the connection on the bus is being executed by the input device under control of the controller, it becomes possible for the input device side to process data such as audio data outputted from the source device without missing data. Further, since it is confirmed that the source device side is ready to output data and then the output is started, a timing at which the input device side inputs data can be controlled to be optimum. In the case of the processing example 3, since it is confirmed that the source device side is ready to output data and then the recording (step S134) and the playback (step S135) are started, the recording can be started under the condition that audio data is outputted reliably. The source device or the input device may be served as the controller as well.
In this example, after the connection management between the input device and the source device had been executed under controller of the controller (e.g., amplifying apparatus 4 shown in
Referring to
When the controller receives these commands, the controller transmits the input select control command to the audio deck 2 (step S145) and starts establishing the internal connection within the audio deck 2 and the point-to-point connection between the disk reproducing apparatus 5 and the audio deck 2 on the bus 9 such that audio data reproduced by the disk reproducing apparatus 5 can be received and recorded by the audio deck 2 (step S146).
After the above connections had been established, the audio deck 2 transmits to the controller [ACCEPTED] response indicating that processing to the command is executed normally (step S147).
Next, in order to confirm whether or not the audio deck 2 is ready to record audio data, the controller transmits the signal source status command to the audio deck 2 (step S148). This signal source status command has the arrangement shown in
Further, in order confirm whether or not the disk reproducing apparatus 5 is ready to output audio data, the controller transmits the signal source status command to the disk reproducing apparatus 5 (step S150). When receiving this signal source status command, the disk reproducing apparatus 5 returns response based on the status of the disk reproducing apparatus 5 to the controller (step S151). At that time, assuming that the disk reproducing apparatus 5 is ready to output audio data, then the output status becomes [effective] (data having the value 0 shown in
Instead of transmitting the signal source status command, there may be transmitted signal source notify command as [NOTIFY] command which is command for notifying the change of the status to the outside. The device, which has received the signal source notify command, transmits [INTERIM] data which is response to notify the reception of the transmitted signal source notify command. At that time, the output status is set to [not effective]. Thereafter, when the audio deck 2 becomes ready to record audio data and when the 2 disk reproducing apparatus 5 becomes ready to output audio data, the respective devices transmit [changed] data indicative of the change of the status. At that time, its output status is [effective].
When the controller confirms by the responses to the signal source status commands transmitted to the audio deck 2 and the disk reproducing apparatus 5 the response in which the output status is [effective], the controller transmits a recording start command to the audio deck 2 (step S152), and the controller transmits a playback start command to the disk reproducing apparatus 5 (step S153). The controller can confirm by the responses (steps S154, S155) to the respective command that the audio deck 2 starts the recording and the disk reproducing apparatus 5 starts the playback. In this manner, processing for transmitting stream data (audio data) reproduced from the disk by the disk reproducing apparatus 5 to the audio deck 2 is started (step S156).
Also in the case of the processing example 3, if the reproducing apparatus includes the pilot lamp concerning the playback state, then the pilot lamp is blinked at the same time the playback pause command is transmitted from the controller to the disk reproducing apparatus 5. When the disk reproducing apparatus 5 receives the playback command at the step S153 and starts playback, the pilot lamp that had been blinking is started being continuously lit. If the reproducing apparatus is served also as the controller, then when the dubbing is started, the reproducing apparatus is placed in the playback pause mode and the pilot lamp is blinked.
With the above processing, by confirming that the input device side is ready to input data while the input device is executing the connection on the bus under control of the controller, it becomes possible for the input device side to process data such as audio data outputted from the source device side without missing the data. Further, an optimum input timing can be controlled by outputting data after it has been confirmed that the source device side is ready to output data. In the case of the processing example 3, after it has been confirmed that the source device side is ready to output data, the recording (step S152) and the playback (step S153) are started so that the recording can be started under the condition that audio data is outputted reliably. The source device of the input device may be served as the controller as well.
While audio data and video data have been described so far as transmitted stream data in the above first and second embodiments, the present invention is not limited thereto, and can be applied to the case in which other stream data is transmitted. Moreover, devices that can be applied to the source device, the input device and the controller also are not limited to those described in the above first and second embodiments.
While the network comprised of the IEEE 1394 bus has been described so far in the above first and second embodiments, the present invention is not limited thereto, and can be applied to the case in which data is similarly transmitted between devices in other network arrangement.
While the functions for executing the above processing are set to the respective devices in the above first and second embodiments, the present invention is not limited thereto, and the following variant is also possible. That is, some a program for executing similar processing may be distributed to a user by using a distribution medium and the user may implement the program stored in the above medium in a suitable means such as a computer connected to a bus (IEEE 1394 bus, etc.) thereby to execute similar functions. A distribution medium in this case is not limited to a physical recording medium such as an optical disk and a magnetic disk and may be a medium which is supplied to a user by a communication means such as the internet.
According to the present invention, when the input device side cannot execute the input setting of stream data due to some cause, the device side which controls transmission on the network can understand that the input device side is unable to execute the input setting and can cope with such trouble. Therefore, the output device side of the stream data can temporarily delay the output of the stream data so that the input device side can receive perfect stream data whose starting portion is not dropped.
In this case, since the data indicating that the input setting cannot be executed temporarily is data indicating that the input device side is placed in the standby mode although the connection within the input device has been completed such that the input device can input stream data, when the input device is set to other mode that the standby mode, the output device becomes able to transmit stream data.
Since the data indicating that the input setting cannot be executed temporarily is data indicating that the input device cannot input stream data due to other cause although the connection within the input device has already been completed such that the input device can input stream data and the connection between the output device and the input device has already been completed, when a countermeasure for removing the cause that the input device is unable to input stream data becomes clear, the output device becomes able to transmit stream data. For example, it is confirmed by polling at any time whether or not the input device becomes possible to input stream data. If it is determined that the input device becomes able to input stream data, then the output device starts transmitting stream data so that stream data can be transmitted reliably. Alternatively, if the output device starts transmitting stream data when command notifying that the input device becomes able to input stream data is transmitted and command notifying that the status of the input device is changed is received by the output device, then the output device becomes able to transmit stream data reliably.
Since the data indicating that the input setting cannot be executed temporarily is data indicating that the connection between the output device and the input device on the network is failed although the connection within the input device has already been completed such that the input device can input stream data, a countermeasure for trying to establish the connection on the network one more time becomes possible.
Since the data indicating that the input setting cannot be executed temporarily is data indicating that a time required when the input device becomes able to process stream data in its inside is longer than an ordinary constant time, when the output device receives this data, the output device becomes able to transmit stream data at a satisfactory timing by delaying a timing at which the output device transmits stream data by a corresponding time. For example, when it takes a certain time period to energize the input device which is placed in the de-energized state, if the above processing is executed, then stream data can be transmitted after the input device becomes able to input stream data correctly since the input device has been energized. Therefore, the transmission processing can be executed satisfactorily without the starting portion of data being dropped.
According to the present invention, the first command for executing the setting such that the data input section of the input device becomes able to input data and the second command for executing the predetermined setting concerning the state that the data input section of the input device become ready to input data are transmitted from the control device side to the input device. Then, if it is determined by the response based on the second command that the data input section of the input device becomes able to input data, then the transmission of stream data is started, Therefore, the device side which controls the transmission on the network can understand that the input device side is ready to input stream data, and the transmission of stream data can be controlled properly.
In this case, since the second command is transmitted from the control device side to the input device one more time if it is determined by the response based on the second command that the input device is not yet ready to input data, the device side which controls the transmission on the network can judge that the status is changed to the state in which stream data can be transmitted.
Further, since the command for energizing the input device is transmitted before the first command is transmitted, the device which controls the transmission can properly manage the control of the power-supply of the input device.
Furthermore, since the display processing for notifying that the transmission of stream data is paused is executed until it is determined by the response based on the second command that the input device is ready to input stream data, those who had operated the communication apparatus to transmit stream data become able to learn the transmission state by visually confirming the display.
Having described preferred embodiments of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments and that various changes and modifications could be effected therein by one skilled in the art without departing from the spirit or scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
P11-328764 | Nov 1999 | JP | national |
P2000-066966 | Mar 2000 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4855730 | Venners et al. | Aug 1989 | A |
6360287 | Kawamura | Mar 2002 | B1 |
6466971 | Humpleman et al. | Oct 2002 | B1 |
6519701 | Kawamura et al. | Feb 2003 | B1 |
6546419 | Humpleman et al. | Apr 2003 | B1 |