WO2005074504A2 - Method for communicating data via a data bus without a device connection - Google Patents

Method for communicating data via a data bus without a device connection Download PDF

Info

Publication number
WO2005074504A2
WO2005074504A2 PCT/US2005/002126 US2005002126W WO2005074504A2 WO 2005074504 A2 WO2005074504 A2 WO 2005074504A2 US 2005002126 W US2005002126 W US 2005002126W WO 2005074504 A2 WO2005074504 A2 WO 2005074504A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
signal receiving
television signal
data bus
consumer electronics
Prior art date
Application number
PCT/US2005/002126
Other languages
French (fr)
Inventor
Mark Alan Logan
Original Assignee
Thomson Licensing S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Publication of WO2005074504A2 publication Critical patent/WO2005074504A2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape

Definitions

  • the present invention generally relates to data communication via a data bus, and more particularly, to a technique for communicating data between devices via a data bus such as an IEEE-1394 bus without first establishing an isochronous connection.
  • a data bus can be utilized for communicating data among consumer electronic devices, such as television signal receivers, personal computers, display devices, VCRs, DVD players, DBS receivers, home control devices (e.g., security systems, temperature control devices, etc.), and/or other devices. Communication using a data bus typically occurs in accordance with a specified bus standard.
  • a bus standard includes the IEEE-1394 bus standard, which is generally known in the art.
  • an IEEE-1394 bus can provide interoperability among devices on the bus.
  • One aspect of an IEEE-1394 bus is that of an "isochronous" connection.
  • an isochronous connection may be used on a bus such as an IEEE-1394 to ensure successful timing coordination in data communications.
  • a protocol known as IEC-61883 defines a digital interface for consumer electronic audio/video devices using the IEEE-1394 standard and the transmission of multimedia data within isochronous IEEE-1394 data packets.
  • a method for communicating data comprises steps of establishing a communication link between a first device and a second device via a data bus according to a protocol, and communicating first data between the first device and a third device via the data bus without affecting the communication link between the first device and the second device.
  • a consumer electronics device comprises memory means for storing software code.
  • Processing means executes the software code to enable a communication link between the consumer electronics device and a second device via a data bus according to a protocol, and to enable communication of first data between the consumer electronics device and a third device via the data bus without affecting the communicating link with the second device.
  • a television signal receiving device comprises a memory operative to store software code.
  • a processor is operative to execute the software code to enable a communication link between the television signal receiving device and a second device via a data bus according to a protocol, and to enable communication of first data between the television signal receiving device and a third device via the data bus without affecting the communicating link with the second device.
  • FIG. 1 is an exemplary environment suitable for implementing the present invention
  • FIG. 2 is a block diagram illustrating further details of the television signal receiving device of FIG. 1 according to an exemplary embodiment of the present invention
  • FIG. 3 is a diagram illustrating different layers of software code according to an exemplary embodiment of the present invention
  • FIG. 4 is a flowchart illustrating further details of the isochronous connection and command dispatch layer of FIG. 3 according to an exemplary embodiment of the present invention.
  • the exemplifications set out herein illustrate preferred embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
  • FIG. 1 an exemplary environment 100 suitable for implementing the present invention is shown.
  • Environment 100 of FIG. 1 comprises a plurality of consumer electronic devices including a first device such as a television signal receiving device (TV) 20, a second device such as an audio/video disc device (AV DISC 1) 40, a third device such as another audio/video disc device (AV DISC 2) 60, and a fourth device such as a digital VCR device (D-VCR) 80.
  • the foregoing devices 20, 40, 60 and 80 are physically connected to one another via a data bus 30 such as an IEEE-1394 bus.
  • Other devices may also be physically connected on data bus 30.
  • data can be communicated between devices on data bus 30 including devices 20, 40, 60 and 80 without first establishing an isochronous connection with each device.
  • television signal receiving device 20 may establish an isochronous connection with audio/video disc device 40 in accordance with the IEC-61883 standard.
  • the bold portion of data bus 30 between television signal receiving device 20 and audio/video disc device 40 represents this isochronous connection. While this isochronous connection exists, television signal receiving device 20 may simultaneously and independently transmit control information, such as one or more AV/C commands, to audio/video disc devices 40 and 60 to thereby query each device for its respective table of contents data.
  • television signal receiving device 20 may simultaneously and independently transmit control information, such as one or more AV/C commands, to digital VCR device 80 and thereby cause digital VCR device 80 to turn on and rewind its tape.
  • control information such as one or more AV/C commands
  • digital VCR device 80 may turn on and rewind its tape.
  • television signal receiving device 20 can maintain an isochronous connection with audio/video disc device 40, and simultaneously and independently transmit data such as AV/C commands to devices 40, 60 and 80. In effect, the transmission of data to devices 40, 60, and 80 does not affect the isochronous connection with audio/video disc device 40.
  • the term "simultaneity" as used herein means that television signal receiving device 20 can establish the isochronous connection using a processor and transmit the control information using a different processor at the same time. If television signal receiving device 20 includes only one processor to perform the establishing and the transmitting steps, the term “simultaneity" means that these two steps are performed at the same time in two different tasks/processes under a multi-tasking/multi-processing operating system environment. Further details regarding these aspects of the present invention will be provided later herein.
  • FIG. 2 a block diagram illustrating further details of television signal receiving device 20 of FIG. 1 according to an exemplary embodiment of the present invention is shown.
  • Television signal receiving device 20 of FIG. 2 comprises front panel means such as front panel assembly (FPA) 21 , amplifying means such as amplifier 22, and input/output (I/O) means such as I/O block 23, processing means such as processor 24, and memory means such as memory 25.
  • FPA front panel assembly
  • I/O input/output
  • processing means such as processor 24, and memory means such as memory 25.
  • memory means such as memory 25.
  • FPA 21 is operative to receive user inputs from a user input device (not shown), and to output signals corresponding to the user inputs to amplifier 22.
  • FPA 21 receives signals, such as IR and/or RF signals, from the user input device and generates corresponding signals which are output to amplifier 22.
  • Amplifier 22 is operative to amplify the signals provided from FPA 21 for output to processor 24.
  • I/O block 23 is operative to perform I/O functions of television signal receiving device 20.
  • I/O block 23 is operative to receive signals such as audio, video and/or data signals in analog and/or digital modulation formats from one or more signal sources such as terrestrial, cable, satellite, internet and/or other signal sources.
  • I/O block 23 is also operative to output processed signals to devices 40, 60 and 80 via data bus 30, and to receive signals from devices 40, 60 and 80 via data bus 30.
  • Processor 24 is operative to perform various signal processing and control functions of television signal receiving device 20.
  • processor 24 processes the audio, video and/or data signals provided from I/O block 23 by performing functions including tuning, demodulation, forward error correction, and transport processing functions to thereby generate digital data representing audio, video and/or data content.
  • the digital data produced from such processing functions may be provided for further processing (e.g., MPEG decoding, etc.) and/or output via a local output device (not shown) and/or output via data bus 30.
  • Processor 24 is also operative to execute software code to enable data communication with devices 40, 60 and 80 via data bus 30 without first establishing an isochronous connection with each device, as previously described herein. Further details regarding this software code will be provided later herein. Processor 24 is also operative to perform and/or enable other functions of television signal receiving device 20 such as, but not limited to, enabling on-screen display menus for user setup and control of television signal receiving device 20, processing user inputs, reading and writing data from and to memory 25, and/or other operations.
  • Memory 25 is operative to perform data storage functions of television signal receiving device 20. According to an exemplary embodiment, memory
  • diagram 300 illustrating different layers of software code according to an exemplary embodiment of the present invention is shown.
  • diagram 300 illustrates three layers of software code that are stored in memory 25 and may be retrieved and executed by processor 24 of television signal receiving device 20 to enable data communication with devices on data bus 30 including devices 40, 60 and 80 of FIG. 1 without first establishing an isochronous connection with each device.
  • the three layers of software code include an interface application layer, a connection manager layer, and an isochronous connection and command dispatch layer.
  • the interface application layer comprises a dispatch to source/dispatch to sink module 310 and a dispatch command module 320.
  • the connection manager layer comprises a dispatch message module 330 and a find connection module 340.
  • the isochronous connection and command dispatch layer comprises isochronous connect [0] module 350, isochronous connect [index] module 360, isochronous connect [N] module 370, and command dispatcher module 380.
  • the aforementioned modules may be implemented using C++ programming language, or any other suitable programming language.
  • the aforementioned layers of software code and their respective modules are exemplary only, and are not intended to limit the present invention in any manner.
  • Dispatch to source/dispatch to sink module 310 is executed to generate a command for a device on data bus 30 if that device is part of an isochronous connection.
  • dispatch to source/dispatch to sink module 310 may be executed responsive to a user input to television signal receiving device 20 via a user input device (not shown in FIGS.) that selects a particular device connection on data bus 30 and a command for that device connection.
  • dispatch to source/dispatch to sink module 310 When executed, dispatch to source/dispatch to sink module 310 generates data indicating: (1 ) the selected command, (2) the selected device connection on data bus 30 that receives the command (e.g., by providing a connection index parameter), and (3) whether the selected device connection is a source connection or a sink connection (e.g., by providing a source index parameter or a sink index parameter). Also according to an exemplary embodiment, dispatch to source/dispatch to sink module 310 does not use a specific device identifier (e.g., device index parameter) in order to support multiple connections to one device on data bus 30 (e.g., multiple source/sink plugs on one device).
  • a specific device identifier e.g., device index parameter
  • Dispatch command module 320 is executed to generate a command for a device on data bus 30 if that device is not part of an isochronous connection.
  • dispatch command module 320 may be executed responsive to a user input to television signal receiving device 20 via a user input device (not shown in FIGS.) that selects a particular device on data bus 30 and a command for that device.
  • dispatch command module 320 When executed, dispatch command module 320 generates data indicating: (1) the selected command, (2) the selected device on data bus 30 that receives the command (e.g., by providing a device index parameter), and (3) whether the selected device is a source device or a sink device (e.g., by providing a source index parameter or a sink index parameter).
  • the commands generated by modules 310 and 320 are AV/C commands, although other command protocols such as HAVi could also be used.
  • Dispatch message module 330 is executed to enable a search for the selected device on data bus 30 using the aforementioned data generated by dispatch to source/dispatch to sink module 310 and dispatch command module 320.
  • dispatch message module 330 enables the search for the selected device on data bus 30 using data including the connection index parameter and the source index parameter or sink index parameter provided from dispatch to source/dispatch to sink module 310 if the selected device is part of an isochronous connection.
  • dispatch message module 330 enables the search for the selected device on data bus 30 using data including the device index parameter and the source index parameter or sink index parameter provided from dispatch message module 320 if the selected device is not part of an isochronous connection.
  • Find connection module 340 is executed to further enable the search for the selected device on data bus 30 using the aforementioned data provided from dispatch message module 330. According to an exemplary embodiment, find connection module 340 determines whether the selected device on data bus 30 is part of an isochronous connection based on whether a connection index parameter is provided from dispatch message module 330. As previously indicated herein, a connection index parameter is provided only if the selected device is part of an isochronous connection.
  • find connection module 340 determines that a selected device is part of an isochronous connection, it passes the selected command and the source index parameter or sink index parameter to the applicable isochronous connect module 350, 360 or 370. Alternatively, if find connection module 340 determines that a selected device is not part of an isochronous connection, it passes the selected command and the source index parameter or sink index parameter to command dispatcher 380.
  • Isochronous connect modules 350, 360 and 370 are executed to establish isochronous connections with connections [0], [index], and [N], respectively, and to transmit selected commands to those connections via data bus 30. It is noted that [index] and [N] are integer values. According to an exemplary embodiment, there are N isochronous connect modules where N is defined as a matter of design choice. Accordingly, the principles of the present invention may be applied to support up to N simultaneous isochronous connections over data bus 30. Moreover, as previously indicated herein, a given device on data bus 30 may include a plurality of connections (e.g., multiple source/sink plugs on one device). For purposes of example in FIG.
  • command dispatcher module 380 is executed to provide commands to devices on data bus 30 that are not part of an isochronous connection. According to an exemplary embodiment, command dispatcher module 380 receives a selected command and the applicable source index parameter or sink index parameter from find connection module 340 if the latter determines that a selected device is not part of an isochronous connection. Command dispatcher module 380 may then transmit this command to the selected device via data bus 30.
  • FIG. 4 a flowchart illustrating further details of the isochronous connection and command dispatch layer of FIG. 3 according to an exemplary embodiment of the present invention is shown.
  • FIG. 4 illustrates steps executed by isochronous connect modules 350, 360, 370 and command dispatcher module 380 of FIG. 3 when transmitting commands to devices via data bus 30.
  • the steps of FIG. 4 are exemplary only, and are not intended to limit the present invention in any manner.
  • the process starts in response to receiving data from find connection module 340 of FIG. 3.
  • the received data includes a selected command and a source index parameter or sink index parameter.
  • processor 24 is programmed to make the determination at step 420 by reading certain device identification data from memory 25.
  • step 430 a determination is made as to whether any sink index parameter provided from find connection module 340 is valid.
  • processor 24 is programmed to make the determination at step 430 by reading certain device identification data from memory 25. If the determination at step 430 is negative, process flow advances to step 450 where the process ends and an on-screen message may be displayed for the user to indicate that the selected device is not valid. If the determination at step 420 is positive, process flow advances to step 440 where the selected command is transmitted to the source device specified by the source index parameter provided from find connection module 340 via data bus 30.
  • step 440 the selected command is transmitted to the sink device specified by the sink index parameter provided from find connection module 340 via data bus 30.
  • the selected command is transmitted to the sink device specified by the sink index parameter provided from find connection module 340 via data bus 30.
  • the sink index parameter provided from find connection module 340 via data bus 30.
  • the present invention provides a technique for communicating data between devices via a data bus such as an IEEE-1394 bus without first establishing an isochronous connection.
  • the present invention may be applicable to various devices, either with or without an integrated display.
  • the phrases "television signal receiving device” and “consumer electronics device” as used herein may refer to devices, systems or apparatuses including, but not limited to, television sets, computers or monitors that include an integrated display, and devices or apparatuses such as set-top boxes, VCRs, DVD players, video game boxes, PVRs, computers or other devices that may not include an integrated display. While this invention has been described as having a preferred design, the present invention can be further modified within the spirit and scope of this disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method for communicating data between devices via a data bus (30) such as an IEEE-1394 bus enables data communication without first establishing an isochronous connection. According to an exemplary embodiment, a method for communicating data includes steps of establishing a communication link between a first device (20) and a second device (40) via a data bus (30) according to a protocol, communicating first data between the first device (20) and a third device (60) via the data bus (30), and wherein the communication link and the communication of the first data exist simultaneously and independently.

Description

ETHOD FOR COMMUNICATING DATA VIA A DATA BUS WITHOUT A DEVICE CONNECTION CROSS REFERENCE TO RELATED APPLICATION This application claims priority to and all benefits accruing from a provisional application filed in the United States Patent and Trademark Office on February 2, 2004, and there assigned serial number 60/541 ,146. BACKGROUND OF THE INVENTION
Field of the Invention The present invention generally relates to data communication via a data bus, and more particularly, to a technique for communicating data between devices via a data bus such as an IEEE-1394 bus without first establishing an isochronous connection.
Background Information A data bus can be utilized for communicating data among consumer electronic devices, such as television signal receivers, personal computers, display devices, VCRs, DVD players, DBS receivers, home control devices (e.g., security systems, temperature control devices, etc.), and/or other devices. Communication using a data bus typically occurs in accordance with a specified bus standard. An example of such a bus standard includes the IEEE-1394 bus standard, which is generally known in the art.
With a data bus, such as an IEEE-1394 bus, a network of physically connected devices can be created and a user may control one device on the bus through inputs to another device on the bus. Accordingly, an IEEE-1394 bus can provide interoperability among devices on the bus. One aspect of an IEEE-1394 bus is that of an "isochronous" connection. In particular, an isochronous connection may be used on a bus such as an IEEE-1394 to ensure successful timing coordination in data communications. A protocol known as IEC-61883 defines a digital interface for consumer electronic audio/video devices using the IEEE-1394 standard and the transmission of multimedia data within isochronous IEEE-1394 data packets.
With currently known devices supporting IEEE-1394 and IEC-61883, data is communicated from one device to another device over the bus only after an isochronous connection is established between the two devices. This requirement of establishing an isochronous connection between devices before communicating data can be particularly inconvenient and time consuming for users. For example, in order to send a command (e.g., on/off command, request for table of contents command, etc.) to a desired device over the bus, a user may be required to first wait for an isochronous connection with another device on the bus to be broken, and then wait for another isochronous connection to be established with the desired device. This process may be repeated each time the user switches to another device on the bus, thereby consuming even more of the user's time.
Accordingly, there is a need for a technique for communication data via a data bus such as an IEEE-1394 bus which avoids the foregoing problems, and thereby enables data communication between devices via the data bus without first establishing an isochronous connection. The present invention addresses these and/or other issues. SUMMARY OF THE INVENTION In accordance with an aspect of the present invention, a method for communicating data is disclosed. According to an exemplary embodiment, the method comprises steps of establishing a communication link between a first device and a second device via a data bus according to a protocol, and communicating first data between the first device and a third device via the data bus without affecting the communication link between the first device and the second device.
In accordance with another aspect of the present invention, a consumer electronics device is disclosed. According to an exemplary embodiment, the consumer electronics device comprises memory means for storing software code. Processing means executes the software code to enable a communication link between the consumer electronics device and a second device via a data bus according to a protocol, and to enable communication of first data between the consumer electronics device and a third device via the data bus without affecting the communicating link with the second device.
In accordance with yet another aspect of the present invention, a television signal receiving device is disclosed. According to an exemplary embodiment, the television signal receiving device comprises a memory operative to store software code. A processor is operative to execute the software code to enable a communication link between the television signal receiving device and a second device via a data bus according to a protocol, and to enable communication of first data between the television signal receiving device and a third device via the data bus without affecting the communicating link with the second device.
BRIEF DESCRIPTION OF THE DRAWINGS The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings, wherein: FIG. 1 is an exemplary environment suitable for implementing the present invention; FIG. 2 is a block diagram illustrating further details of the television signal receiving device of FIG. 1 according to an exemplary embodiment of the present invention; FIG. 3 is a diagram illustrating different layers of software code according to an exemplary embodiment of the present invention; FIG. 4 is a flowchart illustrating further details of the isochronous connection and command dispatch layer of FIG. 3 according to an exemplary embodiment of the present invention. The exemplifications set out herein illustrate preferred embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
DETAILED DESCRIPTION Referring now to the drawings, and more particularly to FIG. 1 , an exemplary environment 100 suitable for implementing the present invention is shown. Environment 100 of FIG. 1 comprises a plurality of consumer electronic devices including a first device such as a television signal receiving device (TV) 20, a second device such as an audio/video disc device (AV DISC 1) 40, a third device such as another audio/video disc device (AV DISC 2) 60, and a fourth device such as a digital VCR device (D-VCR) 80. According to an exemplary embodiment, the foregoing devices 20, 40, 60 and 80 are physically connected to one another via a data bus 30 such as an IEEE-1394 bus. Other devices (not shown in FIG. 1) may also be physically connected on data bus 30.
According to the principles of the present invention, data can be communicated between devices on data bus 30 including devices 20, 40, 60 and 80 without first establishing an isochronous connection with each device. In FIG. 1 , for example, television signal receiving device 20 may establish an isochronous connection with audio/video disc device 40 in accordance with the IEC-61883 standard. In FIG. 1 , the bold portion of data bus 30 between television signal receiving device 20 and audio/video disc device 40 represents this isochronous connection. While this isochronous connection exists, television signal receiving device 20 may simultaneously and independently transmit control information, such as one or more AV/C commands, to audio/video disc devices 40 and 60 to thereby query each device for its respective table of contents data. Also while this isochronous connection exists, television signal receiving device 20 may simultaneously and independently transmit control information, such as one or more AV/C commands, to digital VCR device 80 and thereby cause digital VCR device 80 to turn on and rewind its tape. In this manner, television signal receiving device 20 can maintain an isochronous connection with audio/video disc device 40, and simultaneously and independently transmit data such as AV/C commands to devices 40, 60 and 80. In effect, the transmission of data to devices 40, 60, and 80 does not affect the isochronous connection with audio/video disc device 40.
The term "simultaneity" as used herein means that television signal receiving device 20 can establish the isochronous connection using a processor and transmit the control information using a different processor at the same time. If television signal receiving device 20 includes only one processor to perform the establishing and the transmitting steps, the term "simultaneity" means that these two steps are performed at the same time in two different tasks/processes under a multi-tasking/multi-processing operating system environment. Further details regarding these aspects of the present invention will be provided later herein.
Referring to FIG. 2, a block diagram illustrating further details of television signal receiving device 20 of FIG. 1 according to an exemplary embodiment of the present invention is shown. Television signal receiving device 20 of FIG. 2 comprises front panel means such as front panel assembly (FPA) 21 , amplifying means such as amplifier 22, and input/output (I/O) means such as I/O block 23, processing means such as processor 24, and memory means such as memory 25. Some of the foregoing elements of FIG. 2 may be embodied using integrated circuits (ICs), and some elements may for example be included on one or more ICs. For clarity of description, certain conventional elements associated with television signal receiving device 20 such as certain control signals, power signals and/or other elements may not be shown in FIG. 2. Devices 40, 60 and 80 of FIG. 1 may also include the foregoing elements of FIG. 2. FPA 21 is operative to receive user inputs from a user input device (not shown), and to output signals corresponding to the user inputs to amplifier 22. According to an exemplary embodiment, FPA 21 receives signals, such as IR and/or RF signals, from the user input device and generates corresponding signals which are output to amplifier 22. Amplifier 22 is operative to amplify the signals provided from FPA 21 for output to processor 24.
I/O block 23 is operative to perform I/O functions of television signal receiving device 20. According to an exemplary embodiment, I/O block 23 is operative to receive signals such as audio, video and/or data signals in analog and/or digital modulation formats from one or more signal sources such as terrestrial, cable, satellite, internet and/or other signal sources. I/O block 23 is also operative to output processed signals to devices 40, 60 and 80 via data bus 30, and to receive signals from devices 40, 60 and 80 via data bus 30. Processor 24 is operative to perform various signal processing and control functions of television signal receiving device 20. According to an exemplary embodiment, processor 24 processes the audio, video and/or data signals provided from I/O block 23 by performing functions including tuning, demodulation, forward error correction, and transport processing functions to thereby generate digital data representing audio, video and/or data content. The digital data produced from such processing functions may be provided for further processing (e.g., MPEG decoding, etc.) and/or output via a local output device (not shown) and/or output via data bus 30.
Processor 24 is also operative to execute software code to enable data communication with devices 40, 60 and 80 via data bus 30 without first establishing an isochronous connection with each device, as previously described herein. Further details regarding this software code will be provided later herein. Processor 24 is also operative to perform and/or enable other functions of television signal receiving device 20 such as, but not limited to, enabling on-screen display menus for user setup and control of television signal receiving device 20, processing user inputs, reading and writing data from and to memory 25, and/or other operations.
Memory 25 is operative to perform data storage functions of television signal receiving device 20. According to an exemplary embodiment, memory
25 stores data including, but not limited to, software code, identification data for each device and connection on data bus 30, on-screen menu display data, user setup data and/or other data. Referring to FIG. 3, a diagram 300 illustrating different layers of software code according to an exemplary embodiment of the present invention is shown. According to an exemplary embodiment, diagram 300 illustrates three layers of software code that are stored in memory 25 and may be retrieved and executed by processor 24 of television signal receiving device 20 to enable data communication with devices on data bus 30 including devices 40, 60 and 80 of FIG. 1 without first establishing an isochronous connection with each device. As indicated in FIG. 3, the three layers of software code include an interface application layer, a connection manager layer, and an isochronous connection and command dispatch layer. Each of these layers of software code includes a plurality of software modules or objects. The interface application layer comprises a dispatch to source/dispatch to sink module 310 and a dispatch command module 320. The connection manager layer comprises a dispatch message module 330 and a find connection module 340. The isochronous connection and command dispatch layer comprises isochronous connect [0] module 350, isochronous connect [index] module 360, isochronous connect [N] module 370, and command dispatcher module 380. According to an exemplary embodiment, the aforementioned modules may be implemented using C++ programming language, or any other suitable programming language. The aforementioned layers of software code and their respective modules are exemplary only, and are not intended to limit the present invention in any manner.
Dispatch to source/dispatch to sink module 310 is executed to generate a command for a device on data bus 30 if that device is part of an isochronous connection. According to an exemplary embodiment, dispatch to source/dispatch to sink module 310 may be executed responsive to a user input to television signal receiving device 20 via a user input device (not shown in FIGS.) that selects a particular device connection on data bus 30 and a command for that device connection. When executed, dispatch to source/dispatch to sink module 310 generates data indicating: (1 ) the selected command, (2) the selected device connection on data bus 30 that receives the command (e.g., by providing a connection index parameter), and (3) whether the selected device connection is a source connection or a sink connection (e.g., by providing a source index parameter or a sink index parameter). Also according to an exemplary embodiment, dispatch to source/dispatch to sink module 310 does not use a specific device identifier (e.g., device index parameter) in order to support multiple connections to one device on data bus 30 (e.g., multiple source/sink plugs on one device). Dispatch command module 320 is executed to generate a command for a device on data bus 30 if that device is not part of an isochronous connection. According to an exemplary embodiment, dispatch command module 320 may be executed responsive to a user input to television signal receiving device 20 via a user input device (not shown in FIGS.) that selects a particular device on data bus 30 and a command for that device. When executed, dispatch command module 320 generates data indicating: (1) the selected command, (2) the selected device on data bus 30 that receives the command (e.g., by providing a device index parameter), and (3) whether the selected device is a source device or a sink device (e.g., by providing a source index parameter or a sink index parameter). Also according to an exemplary embodiment, the commands generated by modules 310 and 320 are AV/C commands, although other command protocols such as HAVi could also be used.
Dispatch message module 330 is executed to enable a search for the selected device on data bus 30 using the aforementioned data generated by dispatch to source/dispatch to sink module 310 and dispatch command module 320. According to an exemplary embodiment, dispatch message module 330 enables the search for the selected device on data bus 30 using data including the connection index parameter and the source index parameter or sink index parameter provided from dispatch to source/dispatch to sink module 310 if the selected device is part of an isochronous connection. Also according to an exemplary embodiment, dispatch message module 330 enables the search for the selected device on data bus 30 using data including the device index parameter and the source index parameter or sink index parameter provided from dispatch message module 320 if the selected device is not part of an isochronous connection. Data including the applicable command, any connection index parameter, and the source index parameter or sink index parameter is passed from dispatch message module 330 to find connection module 340. Find connection module 340 is executed to further enable the search for the selected device on data bus 30 using the aforementioned data provided from dispatch message module 330. According to an exemplary embodiment, find connection module 340 determines whether the selected device on data bus 30 is part of an isochronous connection based on whether a connection index parameter is provided from dispatch message module 330. As previously indicated herein, a connection index parameter is provided only if the selected device is part of an isochronous connection. If find connection module 340 determines that a selected device is part of an isochronous connection, it passes the selected command and the source index parameter or sink index parameter to the applicable isochronous connect module 350, 360 or 370. Alternatively, if find connection module 340 determines that a selected device is not part of an isochronous connection, it passes the selected command and the source index parameter or sink index parameter to command dispatcher 380.
Isochronous connect modules 350, 360 and 370 are executed to establish isochronous connections with connections [0], [index], and [N], respectively, and to transmit selected commands to those connections via data bus 30. It is noted that [index] and [N] are integer values. According to an exemplary embodiment, there are N isochronous connect modules where N is defined as a matter of design choice. Accordingly, the principles of the present invention may be applied to support up to N simultaneous isochronous connections over data bus 30. Moreover, as previously indicated herein, a given device on data bus 30 may include a plurality of connections (e.g., multiple source/sink plugs on one device). For purposes of example in FIG. 3, the bold line connecting find connection module 340 and isochronous connect [index] module 360 indicates that an isochronous connection is being established with connection [index] on data bus 30. Command dispatcher module 380 is executed to provide commands to devices on data bus 30 that are not part of an isochronous connection. According to an exemplary embodiment, command dispatcher module 380 receives a selected command and the applicable source index parameter or sink index parameter from find connection module 340 if the latter determines that a selected device is not part of an isochronous connection. Command dispatcher module 380 may then transmit this command to the selected device via data bus 30. Referring to FIG. 4, a flowchart illustrating further details of the isochronous connection and command dispatch layer of FIG. 3 according to an exemplary embodiment of the present invention is shown. In particular, FIG. 4 illustrates steps executed by isochronous connect modules 350, 360, 370 and command dispatcher module 380 of FIG. 3 when transmitting commands to devices via data bus 30. The steps of FIG. 4 are exemplary only, and are not intended to limit the present invention in any manner.
At step 410, the process starts in response to receiving data from find connection module 340 of FIG. 3. According to an exemplary embodiment, the received data includes a selected command and a source index parameter or sink index parameter.
At step 420, a determination is made as to whether any source index parameter provided from find connection module 340 is valid. According to an exemplary embodiment, processor 24 is programmed to make the determination at step 420 by reading certain device identification data from memory 25.
If the determination at step 420 is negative, process flow advances to step 430 where a determination is made as to whether any sink index parameter provided from find connection module 340 is valid. According to an exemplary embodiment, processor 24 is programmed to make the determination at step 430 by reading certain device identification data from memory 25. If the determination at step 430 is negative, process flow advances to step 450 where the process ends and an on-screen message may be displayed for the user to indicate that the selected device is not valid. If the determination at step 420 is positive, process flow advances to step 440 where the selected command is transmitted to the source device specified by the source index parameter provided from find connection module 340 via data bus 30.
Similarly, if the determination at step 430 is positive, process flow advances to step 440 where the selected command is transmitted to the sink device specified by the sink index parameter provided from find connection module 340 via data bus 30. In FIG. 4, it is noted that no determination is made as to whether the selected device is part of an isochronous connection, as this determination has been previously made by find connection module 340 of FIG. 3.
As described herein, the present invention provides a technique for communicating data between devices via a data bus such as an IEEE-1394 bus without first establishing an isochronous connection. The present invention may be applicable to various devices, either with or without an integrated display. Accordingly, the phrases "television signal receiving device" and "consumer electronics device" as used herein may refer to devices, systems or apparatuses including, but not limited to, television sets, computers or monitors that include an integrated display, and devices or apparatuses such as set-top boxes, VCRs, DVD players, video game boxes, PVRs, computers or other devices that may not include an integrated display. While this invention has been described as having a preferred design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.

Claims

CLAIMS 1. A method for communicating data, comprising: establishing a communication link between a first device (20) and a second device (40) via a data bus (30) according to a protocol; and communicating first data between said first device (20) and a third device (60) via said data bus (30), without affecting said communication link.
2. The method of claim 1 , wherein said establishing step and said communicating step are performed independently.
3. The method of claim 2, wherein said establishing step and said communicating step are performed simultaneously.
4. The method of claim 1 , wherein said step of establishing said communication link includes establishing an isochronous connection in accordance with the IEC-61883 standard.
5. The method of claim 4, wherein said step of communicating said first data includes providing first control information from said first device (20) to said third device (60) while maintaining said isochronous connection between said first device (20) and said second device (40).
6. The method of claim 5, further comprising the step of communicating second data between said first device (20) and a fourth device (80) via said data bus (30).
7. The method of claim 6, wherein said step of communicating said second data includes providing second control information from said first device (20) to said fourth device (80) while maintaining said isochronous connection between said first device (20) and said second device (40) and providing said first control information from said first device (20) to said third device (60).
8. The method of claim 7, wherein said data bus (30) includes an IEEE-1394 bus.
9. The method of claim 8, wherein said first and second control information includes AV/C commands.
10. A consumer electronics device (20), comprising: memory means (25) for storing software code; and processing means (24) for executing said software code to enable a communication link between said consumer electronics device (20) and a second device (40) via a data bus (30) according to a protocol, and to enable communication of first data between said consumer electronics device (20) and a third device (60) via said data bus (30) without affecting said communication link.
11. The consumer electronics device (20) of claim 10, wherein said processing means enable said communication link and said communication of said first data independently.
12. The consumer electronics device (20) of claim 11 , wherein said processing means enable said communication link and said communication of said first data simultaneously.
13. The consumer electronics device (20) of claim 10, wherein said communication link includes an isochronous connection in accordance with the IEC-61883 standard.
14. The consumer electronics device (20) of claim 13, wherein said communication of said first data includes providing first control information from said consumer electronics device (20) to said third device (60) while maintaining said isochronous connection between said consumer electronics device (20) and said second device (40).
15. The consumer electronics device (20) of claim 14, wherein said processing means (24) further enables communication of second data between said consumer electronics device (20) and a fourth device (80) via said data bus (30).
16. The consumer electronics device (20) of claim 15, wherein said communication of said second data includes providing second control information from said consumer electronics device (20) to said fourth device (80) while maintaining said isochronous connection between said consumer electronics device (20) and said second device (40) and providing said first control information from said consumer electronics device (20) to said third device (60).
17. The consumer electronics device (20) of claim 16, wherein said data bus (30) includes an IEEE-1394 bus.
18. The consumer electronics device (20) of claim 17, wherein said first and second control information includes AV/C commands.
19. A television signal receiving device (20), comprising: a memory (25) operative to store software code; and a processor (24) operative to execute said software code to enable a communication link between said television signal receiving device (20) and a second device (40) via a data bus (30) according to a protocol, and to enable communication of first data between said television signal receiving device (20) and a third device (60) via said data bus (30) without affecting said communication link.
20. The television signal receiving device (20) of claim 19, wherein said processing means enable said communication link and said communication of said first data independently.
21. The television signal receiving device (20) of claim 20, wherein said processing means enable said communication link and said communication of said first data simultaneously.
22. The television signal receiving device (20) of claim 21 , wherein said communication link includes an isochronous connection in accordance with the IEC-61883 standard.
23. The television signal receiving device (20) of claim 22, wherein said communication of said first data includes providing first control information from said television signal receiving device (20) to said third device (60) while maintaining said isochronous connection between said television signal receiving device (20) and said second device (40).
24. The television signal receiving device (20) of claim 23, wherein said processor (24) is further operative to enable communication of second data between said television signal receiving device (20) and a fourth device (80) via said data bus (30).
25. The television signal receiving device (20) of claim 24, wherein said communication of said second data includes providing second control information from said television signal receiving device (20) to said fourth device (80) while maintaining said isochronous connection between said television signal receiving device (20) and said second device (40) and providing said first control information from said television signal receiving device (20) to said third device (60).
26. The television signal receiving device (20) of claim 25, wherein said data bus (30) includes an IEEE-1394 bus.
27. The television signal receiving device (20) of claim 26, wherein said first and second control information includes AV/C commands.
PCT/US2005/002126 2004-02-02 2005-01-21 Method for communicating data via a data bus without a device connection WO2005074504A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54114604P 2004-02-02 2004-02-02
US60/541,146 2004-02-02

Publications (1)

Publication Number Publication Date
WO2005074504A2 true WO2005074504A2 (en) 2005-08-18

Family

ID=34837466

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/002126 WO2005074504A2 (en) 2004-02-02 2005-01-21 Method for communicating data via a data bus without a device connection

Country Status (1)

Country Link
WO (1) WO2005074504A2 (en)

Similar Documents

Publication Publication Date Title
US6907301B2 (en) Method and system for selecting and controlling devices in a home network
EP0957636B1 (en) On-screen electronic resources guide
US6694349B1 (en) Method and system for message dispatching in a home audio/video network
RU2427096C1 (en) Display system and display device
US7432909B2 (en) Communication system, communication apparatus, and communication method
EP1868324A2 (en) System and method for representing an infrared pass-through protocol in a home network
US7684671B2 (en) Control of information processing apparatus through a network
US20080228963A1 (en) Method and apparatus for transferring settings and other configuration information from one consumer electronics device to another
US9031386B2 (en) Recording system, receiving apparatus, recording apparatus, recording control method, and program
US8670569B2 (en) Method for checking audio interface in AV system and apparatus using the same
US6684401B1 (en) Method and system for independent incoming and outgoing message dispatching in a home audio/video network
US20060259266A1 (en) Method for the management of commands within a communication network, corresponding control device, computer program product and storage means
US7714940B2 (en) Method and apparatus for selecting devices on a data bus
EP1552651B1 (en) Method for establishing a default connection in a network, and associated source and sink devices
US8049593B2 (en) Universal remote control apparatus and method based on service profiles
JP2002044532A (en) Signal output device and signal output method
JP4211887B2 (en) Electronic program guide screen generating apparatus, digital broadcast receiving system, electronic program guide screen generating method, program, and recording medium
JP2001243676A (en) Device, method and medium for information processing
WO2005074504A2 (en) Method for communicating data via a data bus without a device connection
US7499107B2 (en) Method and apparatus for controlling an external device by remapping keys on a user input device
JP2000196637A (en) Data transmission and reception processing method, electronic equipment and program supplying medium supplying data transmission and reception processing program
JP2000278294A (en) Communication apparatus and communication method
KR20020023025A (en) Channel module in modular television apparatus and control method thereof
KR20080060931A (en) Display apparatus and control method thereof
MXPA06006994A (en) Method for automatically setting up data connections between network subscriber stations in a network of distributed stations, and network subscriber station as a user interface appliance for carrying out the method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WA Withdrawal of international application
WWW Wipo information: withdrawn in national office

Ref document number: 2005211340

Country of ref document: AU

NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE