Abstract:
A sink device for connection to a digital network comprising means for displaying a user interface for controlling a data source device connected to the network; characterized by: means for controlling network resource allocation and for automatically establishing, upon selection of a function of the source device by the user through the user interface, a connection between the data source device and the data sink device as default destination device of the connection, wherein said sink device has playback capability of the data of the source device.

Description:
FIELD OF THE INVENTION  
       [0001]     The invention relates to a home network and the establishment of connections between devices in this network. More particularly the invention concerns a network of multiple electronic devices, such as consumer electronic video source and video display devices, interconnected using for example digital data buses.  
       BACKGROUND OF THE INVENTION  
       [0002]     In a home network, electronic devices such as television receivers, display devices, video-cassette recorders (VCR), direct broadcast satellite (DBS) receivers, and home control devices (e.g., a security system or a temperature control device) may be interconnected via a data bus. Communication using a data bus occurs in accordance with a bus protocol. Examples of bus protocols include the Consumer Electronics Bus (CEBus) and the IEEE 1394 High Performance Serial Bus.  
         [0003]     A bus protocol typically provides for communicating both control information and data.  
         [0004]     Unlike analogue connections between two devices, in which the connection link itself defines the start and end points for a communication between the devices, a digital bus connection between devices may not obviously define how the devices are to communicate between each other. Therefore it is necessary to explicitly set which devices are to communicate between each other.  
         [0005]     The international patent application published under reference WO99/14946 relates to consumer electronic devices connected over a digital bus, i.e., the IEEE 1394 serial bus. Remote control commands given by a user through a display device are relayed to the controlled device over the serial bus. The display device may set up isochronous connections.  
         [0006]     The European patent application published under reference EP1056021 A2 relates to electronic equipment for use with a communication system connected by a communication bus such as an IEEE 1394 bus. Each of the equipment connected to an IEEE 1394 bus may include a register provided within a RAM to thereby set a transmission or reception default channel. If channels used in the transmission and the reception are not set when the transmission is started, then the default channel may be used.  
       SUMMARY OF THE INVENTION  
       [0007]     The invention concerns a sink device for connection to a digital network comprising:  
         [0008]     means for displaying a user interface for controlling a data source device connected to the network;  
         [0009]     characterized by:  
         [0010]     means for controlling network resource allocation and for automatically establishing, upon selection of a function of the source device by the user through the user interface, a connection between the data source device and the data sink device as default destination device of the connection, wherein said sink device has playback capability of the data of the source device.  
         [0011]     The sink device becomes the default destination of the data of the source device as soon as the source device is selected through the user interface of the sink device. Thus, the user does not have to explicitly select the display device he is watching as the sink device for the data to be transmitted.  
         [0012]     According to an embodiment of the invention, the connection is an isochronous transmission connection comprising allocation of a channel and of bandwidth.  
         [0013]     According to an embodiment of the invention, the controlling means of the sink device carry out a check for an existing connection from the source device to another sink device, and in the affirmative, do not automatically set up the connection between the source device and the sink device.  
         [0014]     According to an embodiment of the invention, the selected function is a playback function.  
         [0015]     This is advantageous in particular when the source device is a storage device requiring control of playback through start/stop type controls. Indeed, in such a case, it is not necessary to set up a connection before the actual playback starts (instead of setting up the connection earlier, for example when the source device is selected through the user interface).  
         [0016]     According to an embodiment, the function is a selection function of the source device. This case is more adapted to devices capable of continuously outputting data, such as a tuner.  
         [0017]     According to an embodiment of the invention, the sink device further comprises memory for storing software downloaded from the source device, wherein said software is adapted to control the automatic establishment of the connection between the source device and the sink device and wherein said user interface is derived from said software.  
         [0018]     Consequently, it becomes easy to adapt the connection set-up process to the device type, since different devices may include different software.  
         [0019]     The invention also concerns a method for setting up a data stream connection in a digital network comprising a source device and a sink device, said method comprising the steps of: 
        executing a user interface on the sink device;     selecting a function of the source device through the user interface;        
 
         [0022]     characterized by the step of: 
        establishing a connection for data transmission from the data source device to the data sink device as default destination device of the connection, wherein said sink device has playback capability of the data of the source device.        
 
         [0024]     The invention also concerns a data source device for connection to a communication network comprising at least one sink device, said data source device comprising software for downloading by a sink device, said software providing control functions of the data source device for access by a user through the sink device, characterized in that said software is adapted to the control of automatically establishing, upon selection of a data reproduction function by a user, a connection for transmission of data from the data source device to the sink device on which the reproduction function was selected. 
     
    
     BRIEF DESCRIPTION OF THE FIGURES  
       [0025]     A nonrestricting embodiment of the invention will now be described in greater detail with reference to the accompanying drawings, in which  
         [0026]      FIG. 1  contains a schematic representation of a digital home network according to the embodiment;  
         [0027]      FIG. 2  contains a flow chart illustrating a process for setting a data flow connection according to the embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0028]     One example of a home network in which the devices are connected over an IEEE 1394 digital bus is described in the HAVi digital AV networking initiative. HAVi is an industry standard that provides a home networking software specification for seamless interoperability among home electronic consumer devices, mainly digital audio and video devices. HAVi defines an operating-systerneutral middleware that manages multi-directional AV streams, event schedules, and registries. Furthermore HAVi provides Application Programming Interfaces (API) for creating software applications.  
         [0029]     As each device is added and connected to a HAVi network system, it is automatically registered by the system so that other devices know what it is capable of. A newly connected device may provide a Graphical User Interface (GUI) by means of a Havlet, i.e., a module of code which is downloaded from the newly connected device by devices already connected on the network. More precisely, a newly connected device may be controlled through any other connected device that executes the Havlet and possibly displays the corresponding GUI.  
         [0030]     As an example, a newly connected DVCR may provide a Havlet on a network which comprises a DTV. After automatic registration of the DVCR in the HAVi network system, the DVCR may be selected on the screen of the DTV. Subsequently the Havlet of the DVCR is downloaded to the DTV. The execution of the Havlet results in the corresponding GUI being displayed on the screen of the DTV. The GUI offers possibilities to control the operation of the DVCR. A user may for example through the GUI select to playback video information available through the DVCR.  
         [0031]     The Havlet on the DTV first checks for the existence of an isochronous connection between the DVCR and a target/sink device other than the DTV. If such a connection exists, then no further isochronous connection is automatically set up. Transmission over the existing channel and playback on the sink device can start.  
         [0032]     In order to play back video information from the DVCR, the Havlet on the DTV checks whether an isochronous data flow exists between the DVCR and the DTV. If this is the case, playback starts.  
         [0033]     In case there is no isochronous data flow set up between both devices, the Havlet uses a stream manager of the DTV that sends control information to the DVCR in order to establish an sochronous data flow connection between them. The stream manager requests allocation of an isochronous channel and of corresponding bandwidth, and then modifies the concerned output plug control register of the DVCR by asynchronous transactions on the IEEE 1394 serial bus. The stream manager thereby sets an oPCR of the DVCR to transmit over a determined channel, and an iPCR of the DTV to receive over the determined channel. The stream manager also instructs respective DCMs of the DVCR and of the DTV to set up the internal connections in these devices, between the plugs mentioned above, and the FCMs of the devices. Once the isochronous connection is in place, the playback starts.  
         [0034]     It has been described how to automatically establish an isochronous data flow between a device to be controlled, and between a device which has downloaded and is executing the Havlet from the device to be controlled. The described process assures that the device which executes the Havlet is considered as default device for communication with the device issuing the Havlet, in the absence of any indication to the contrary. Note that the default playback device is not predefined in the Havlet: it is the device executing the Havlet. The process eliminates the need to manually set an isochronous data flow between devices. The process may also overrun an initial default setting of the devices for using a default communication channel, the initial default settings existing before the concerned device is connected to the network.  
         [0035]     It has been further described to make use of an Havlet to produce a GUI that offers possibilities to control the operation of the DVCR.  
         [0036]     As an alternative, a proprietary GUI included in the DTV could offer similar possibilities to control the operation of the DVCR. In this case no Havlet is downloaded to the DTV. However, the Havlet solution is preferred: since the Havlet itself is in control of establishing the connection between the source device and the display device, it is possible to adapt the behaviour for each individual source device. I.e. one DVCR may comprise a Havlet creating automatically the connection, while a second DVCR may comprise a Havlet that does not create the connection.  
         [0037]     Moreover, the invention applies to other environments than HAVi: other downloadable executable programs than a Havlet may carry out similar functions in these environments.  
         [0038]     Referring to  FIG. 1 , a schematic representation of a digital home network  100  comprises a digital bus  101  to which a Consumer Electronic Device A (CED-A) is connected. The CED-A is capable of rendering Audio and Video type information such as for example movies or sound records. It comprises a display  102  and a memory  103  under the control of a microprocessor  104 . Microprocessor  104  runs programs stored in memory  103 . CED-A is for example a digital television receiver (DTV). CED-B is a storage device with playback capability, such as a digital video cassette recorder (DVCR). It comprises a Havlet  105  in a memory (not illustrated) accessible by other devices of the network.  
         [0039]     Referring to  FIG. 2 , a flow chart illustrates the establishment of a default connection between CED-A and CED-B. After CED-B is connected to the digital data bus, event messages are generated to announce the new software elements (e.g. functional component modules) of the new device. CED-A now knows that the device CED-B is connected to the network and makes its availability known to the user by displaying CED-B in a list on the TV screen (box  202 ). A user selecting CED-B (box  203 ) causes CED-A to download a Havlet  205  from CED-B. More precisely CED-A sends a request (box  206  and  207 ) to CED-B, that in answer returns (box  208 ) the Havlet  205 . The Havlet  205  is received and processed by CED-A (box  209 ). The processing of Havlet  205  results in the display of a Graphical User Interface for CED-B by CED-A (box  210  and  211 ). The GUI enables access to services offered by CED-B by producing a display of control functions accessible to the user at CED-A. Hence the user may send controls from CED-A to CED-B to control for example the playing of AV data.  
         [0040]     A user instruction  212  selected on the GUI  211  instructs to play AV data from CED-B. The instruction is processed by CED-A (box  213 ) and the necessary action to establish a data flow connection with CED-B is taken (box  214 ) by sending control data  215  to CED-B. Connection parameters are set in CED-A and CED-B as appropriate to create the connection as required by CED-A (box  216 ). Once the data flow connection is established, the user instruction is forwarded to CED-B (box  217 ) as a play instruction  218  that is in a format usable by CED-B (i.e. and appropriate API method call). The play instruction  218  is received and processed by CED-B (box  219 ), that in turn outputs (box  220 ) requested AV data  221 . The CED-A processes the AV data for rendering (box  222 ) and generates AV output  223 .  
         [0041]     Hence when CED-B is connected to the digital home network, and a data rendering function from CED-B is selected through a GUI displayed by CED-A, any AV output from CED-B is automatically directed to CED-A for rendering.  
         [0042]     It has been described to automatically establish a data flow connection after an instruction to play AV data from CED-B has been given. In an alternative embodiment of the invention, the data flow may well be established before an instruction to play AV data is given. In this case the connection is automatically established as a result of the processing in CED-A of the Havlet from CED-B. Note that this alternative embodiment is more adapted to functional component modules that do not have a start playback /stop playback feature, such as a tuner. For a functional component module having the start/stop feature, reservation should only be done when required (e.g. when reproduction of an A/V programme is requested) to avoid tying up the limited isochronous resources unnecessarily. A reserved channel and its associated bandwidth cannot be reallocated until they are released, even if the bandwidth is not used at all or not to its full extent. For a tuner, selection of the corresponding device (or launching of the corresponding Havlet) is sufficient to trigger the automatic channel set up, since no further command has to be given by the user to start the data transmission. Again, the fact that the Havlet controls the triggering of the automatic connection is an advantageous feature in such a case.  
         [0043]     The behaviour relative to a tuner type device compared to a DVCR type device is then the following:  
         [0044]     (a) No connection exists to the display device (e.g. the DTV)  
         [0045]     If the user selects the tuner, a connection is created from the tuner to the display device  
         [0046]     If the user activates playback of the DVCR, a connection is created from the DVCR to the display device  
         [0047]     (b) A connection exists between the tuner type device and the display device  
         [0048]     If the user selects the tuner, no further connection needs to be created.  
         [0049]     If the user activates playback of the DVCR, the display device indicates the existence of the connection with the tuner and asks the user whether he wants to cancel the existing connection. If the user agrees, the existing connection is cancelled and a new connection from the DVCR to the display device is established (and the playback is started)  
         [0050]     (c) A connection exists between the DVCR type device and the display device  
         [0051]     If the user selects the tuner, the display device indicates the existence of the connection with the DVCR and asks the user whether he wants to cancel the existing connection. If the user agrees, the existing connection is cancelled and a new connection from the tuner to the display device is established.  
         [0052]     If the user activates playback of the DVCR, no further connection needs to be created.  
         [0053]     If the user activates the stop function of the DVCR, the DVCR is disconnected from the DTV.  
         [0054]     (d) A connection exists between a further device and the display device  
         [0055]     If the user selects the tuner, the display device indicates the existence of the connection with the further device and asks the user whether the further device should be disconnected. If the user agrees, then the existing connection is cancelled and a new connection between the tuner and the display device is established.  
         [0056]     If the user activates the playback function of the DVCR device, the display device indicates the existence of the connection with the further device and asks the user whether the further device should be disconnected. If the user agrees, then the existing connection is cancelled and a new connection between the DVCR and the display device is established.  
         [0057]     The only tasks performed by the user are the choice of a function (tuner selection, playback . . . ) and, if necessary, the confirmation of the cancellation of a stream.  
         [0058]     The example described in relation to  FIG. 2  specifically makes use of a Havlet downloaded from CED-B to display a GUI at CED-A. Alternatively, a GUI may well be created by executing specific software in CED-A instead of the Havlet. The specific software may for example be supplied by a manufacturer of CED-A and be designed to make available functions of devices connected to the digital network. The specific software makes the functions of CED-B available once CED-B is registered with CED-A. In the case of executing the specific software instead of the Havlet, the method for establishing a default data flow connection remains similar to the method described in relation to  FIG. 2 . It is possible to adapt the behaviour of the software according to the source type.  
         [0059]     Referring again to  FIG. 1 , a further device CED-C is connected to the digital home network. CED-C is specialized in playback of Audio data. A similar process as previously described for CED-B may be applied to establish a default data flow connection between CED-C and CED-A in order to use CED-A for rendering Audio data when the play function of CED-C is activated. In this case CED-C registers with CED-A and a user may select CED-C on the display of CED-A. A Havlet is downloaded from CED-C to CED-A and a GUI displayed. The user may select functions of CED-C through this GUI. Any output from CED-C is automatically directed to the audio rendering in CED-A through the default data flow connection, since the user selection was made through CED-A, which also has the rendering or display capability. The same tests for pre-existing connections may apply in the present case.  
         [0060]     An optional device CED-D maybe connected to the digital data bus  101  to expand the digital home network. The CED-D is specialized in High Fidelity sound rendering.  
         [0061]     If CED-C is connected, a default data flow connection between CED-C and CED-D may be established to render audio data. The data flow connection is established in case the user selects a function of CED-D through an appropriate user interface on CED-D. The user interface may be the result of downloading and processing a Havlet from CED-C to CED-D. Alternatively CED-D may execute another user interface, for example a standardized user interface of the CED-D manufacturer that makes available functions of CED-C, without downloading a Havlet.  
         [0062]     A further advantage of the invention becomes apparent when a second AV rendering device CED-AA is connected to the digital home network (not shown in  FIG. 1 ), and CED-AA is located in a different room of the home than CED-A. In this case CED-B is also known to CED-AA and may therefore be selected by a user of CED-AA. Upon selection, the CED-B Havlet is downloaded to CED-AA to produce a GUI. The user sends a play instruction through the GUI and a default data flow connection is established between CED-B and CED-AA.  
         [0063]     Hence a default data connection is always automatically established between the rendering device being used by the user and the CED-B device. The user may select functions of CED-B on any rendering device, for example on anyone of a plurality of devices in different rooms of a home without explicitly setting up a data connection. The latter is automatically solved by the invention as described. The output of CED-B is rendered on the device currently used by the user.  
         [0064]     While the examples described herein concern electronic equipment connected via the IEEE 1394 bus the invention may be similarly applied to electronic equipment used in a system connected via another type of communication bus.  
         [0065]     While mainly playback type functions have been described in the embodiment, the invention is not limited to such functions. In the case a user wishes to record a stream on a recording device (such as the DVCR mentioned above), he may achieve automatic connection of the stream source to the display device, in order to be able to check what is being recorded. Similar conditions relating to pre-existing connection can be applied. The connection between the source device and the recording device can be established through other means (e.g. by selecting the DVCR as a target through the user interface).  
         [0066]     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 these precise embodiments and that various changes and modifications could be effected therein by a person skilled in the art without departing from the spirit or scope of the invention as defined in the appended claims.