Controller and associated mechanical characters operable for continuously performing received control data while engaging in bidirectional communications over a single communications channel
First Claim
1. A system for transferring a block of data elements from a first device to a second device over a communications channel, comprising:
- the first device operative to;
(a) initialize a last-encoded-data-element variable to a first logical value;
(b) select a data element from the block of data elements;
(c) if the logical values of the data element and the last-encoded-data-element variable are not equal, transmit a signal representing a first data symbol to the second device over the communications channel and equate the last-encoded-data-element to the logical value of the data element;
(d) if the logical values of the data element and the last-encoded-data-element variable are equal, select a next data element from the block of data elements, if the logical values of the data element and the next data element are equal, transmit a signal representing a second data symbol to the second device over the communications channel, and if the logical values of the data element and the next data element are not equal, transmit a signal representing a third data symbol to the second device over the communications channel and equate the logical value of the last-encoded-data element to the logical value of the next data element; and
(e) repeat the tasks (b)-(d) until each data element of the block of data elements have been transferred, the block of data elements comprising control data for causing the second device to respond in a manner dictated by the control data.
8 Assignments
0 Petitions
Accused Products
Abstract
A communications system that provides bandwidth efficient, bi-directional communications over a single communications channel, allowing a master device to control the operation of remote devices. A computer system continuously provides an audio/video presentation on a speaker and display device. During a first time period, the computer system also provides control and speech data, relevant to the presentation, to a link master controller. The link master controller encodes the control and speech data to reduce bandwidth requirements, and then transmits the encoded data to a remote device. The remote device receives and decodes the encoded data, places the data into a data buffer, and uses the data to control at least one motion servo motor and/or provide data to a speech synthesizer. During a second time period, the remote device continues to operate on the data in the data buffer while formulating a response message based on the status of at least one sensor device, encoding the response message, and transmitting the encoded response message to the link master controller. In response to receiving the encoded response message, the link master controller decodes the encoded response message, and provides the response message to the computer system. The computer system responds to the reception of the response data by altering the audio/video presentation in accordance with the response data.
199 Citations
28 Claims
-
1. A system for transferring a block of data elements from a first device to a second device over a communications channel, comprising:
-
the first device operative to;
(a) initialize a last-encoded-data-element variable to a first logical value;
(b) select a data element from the block of data elements;
(c) if the logical values of the data element and the last-encoded-data-element variable are not equal, transmit a signal representing a first data symbol to the second device over the communications channel and equate the last-encoded-data-element to the logical value of the data element;
(d) if the logical values of the data element and the last-encoded-data-element variable are equal, select a next data element from the block of data elements, if the logical values of the data element and the next data element are equal, transmit a signal representing a second data symbol to the second device over the communications channel, and if the logical values of the data element and the next data element are not equal, transmit a signal representing a third data symbol to the second device over the communications channel and equate the logical value of the last-encoded-data element to the logical value of the next data element; and
(e) repeat the tasks (b)-(d) until each data element of the block of data elements have been transferred, the block of data elements comprising control data for causing the second device to respond in a manner dictated by the control data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
initialize a last-decoded-data-element variable to the first logical value;
receive data symbols over the communication channel; and
convert the data symbols into a block of data elements by;
if a first data symbol is received, toggling the logical value of the last-decoded-data-element variable and equating a data element represented by the first data symbol to the logical value of the last-decoded-data-element variable;
if a second data symbol is received, equating the logical value of a first data element represented by the second data symbol to the logical value of the last-decoded-data-element, toggling the logical value of the last-decoded-data-element, equating a second data element represented by the second data symbol to the logical value of the last-decoded-data-element; and
if a third data symbol is received, equating the logical value of a first and second data element represented by the third data symbol to logical value of the last-decoded-data-element variable.
-
-
7. The system of claim 6, wherein the second device operates in one of two modes including a ready mode and an idle mode, and prior to the initialize a last-decoded-data-element variable step, is further operative to:
-
receive a synchronization symbol over the communication channel; and
if the synchronization symbol is received while the second device is operating in the idle mode, change the operation of the second device to the ready mode.
-
-
8. The system of claim 7, wherein if a synchronization symbol is received after the initialize a last-decoded-data-element variable step and N−
- 1 data elements of an N sized block of data elements has been received, the second device is further operative to equate the logical value of a data element represented by the synchronization symbol to the logical value of the last-decoded-data-element variable.
-
9. The system of claim 1, wherein the communications channel has a physical data transfer rate of X bits/second that translates into a standard pulse width of 1/X seconds/bit, and the average effective data rate is increased to greater than X bits/second by:
-
defining the first data symbol to be a pulse having a width of one standard pulse-width;
defining the second data symbol to be a pulse having a width of one and a half standard pulse-widths; and
defining the third data symbol to be a pulse having a width of two standard pulse-widths.
-
-
10. The system of claim 9, wherein the synchronization symbol is defined to be a pulse having a width of two and one half standard pulse-widths.
-
11. The system of claim 1, wherein the communications channel has a bandwidth of X bits/second that translates into a standard pulse width of 1/X seconds/bit, and the bandwidth required to transmit the signal is bound between 50% to 100% of the X bits/second bandwidth by:
-
defining the first data symbol to be a pulse having a width of one standard pulse-width;
defining the second data symbol to be a pulse having a width of one and a half standard pulse-widths; and
defining the third data symbol to be a pulse having a width of two standard pulse-widths.
-
-
12. A system operative for providing bi-directional communication between a first and a second device over a single communications channel, the first device and second device being capable of transmitting and receiving data at a transfer rate, the second device being capable of expending data at a consumption rate, the consumption rate being less than the transfer rate, comprising:
-
the first device operative for transmitting a first block of data to the second device over the single communications channel at the transfer rate, the first block of data comprising control data for causing the second device to respond in a manner dictated by the control data;
the second device operative for, while receiving the first block of data, storing the received data into a queue, and expending the received data from the queue at the consumption rate; and
the second device further operative for, after receiving the entire first block of data, transmitting a second block of data to the first device over the single communications channel at the transfer rate while expending the received data from the queue at the consumption rate. - View Dependent Claims (13, 14, 15)
-
-
16. A system for utilizing a single communications channel for bi-directional communication between two devices, comprising:
-
a first transceiver configured for transmitting control data for causing a remote device to respond in a manner dictated by the control data;
a second transceiver, functionally connected to the first transceiver by the single communications channel;
a data buffer, coupled to the second transceiver for storing the control data;
a means for expending the control data from the data buffer and delivering the control data for performance by the remote device;
during a time period TF, the first transceiver being operative to transmit the control data to the second transceiver over the single communications channel at a transfer rate RF, and the second transceiver being operative to receive the control data at the transfer rate RF, store the control data into the data buffer, and expend the control data from the data buffer at a consumption rate RC, the consumption rate RC being less than the transfer rate RF;
during a time period TR, the second transceiver being operative to transmit response data to the first transceiver over the single communications channel at a transfer rate RR, while expending the control data from the data buffer at the consumption rate RC to cause the remote device to continuously perform in response to the control data while the first and second transceivers engage in bidirectional communications. - View Dependent Claims (17, 18, 19)
-
-
20. A system for remotely controlling and receiving return data from a sound synthesizing device over a wireless communications channel, comprising:
-
a master device including;
a master processing unit;
a memory storage device and a transmitter, both coupled to the master processing unit;
a master program module, stored in the memory storage device of the master device, for providing instructions to the master processing unit;
a sound synthesizing device including;
a slave processing unit, a memory storage device, a speech synthesizer based on linear predictive coding techniques, and a receiver, all coupled to the slave processing unit;
a speaker coupled to the speech synthesizer;
a slave program module, stored in the memory storage device of the sound synthesizing device, for providing instructions to the slave processing unit;
the master processing unit, responsive to the instructions of the master program module, being operative to;
select a block of linear predictive coding coefficients, the set of linear predictive coding coefficients comprising data for providing sound synthesis for a fixed period of time; and
cause the transmitter to transmit the block of linear predictive coding coefficients to the sound synthesizing device over the communications channel;
the slave processing unit, responsive to the instructions of the slave program module, being operative to;
receive from the receiver, the block of linear predictive coding coefficients;
store the block of linear predictive coding coefficients in a queue; and
provide the linear predictive coding coefficients from the queue to the speech synthesizer during the fixed period of time;
the speech synthesizer, in response to receiving the linear predictive coding coefficients, being operative to;
convert the coefficients into audio signals; and
provide the audio signals to the speaker; and
the slave processing unit further operative to transmit the return data to the master device during the fixed period of time and while the speech synthesizer provides the audio signals to the speaker.
-
-
21. A method for a master device to control and receive return data from a remotely located speech synthesizing device, the speech synthesizing device including a receiver, a linear predictive coding (LPC) speech synthesizer, and a speaker, the method comprising the steps of:
-
(a) at the master device, selecting a block of LPC coefficients for causing the speech synthesizing device to generate an audio signal for a predefined period of time, and transmitting the of LPC coefficients to the speech synthesizing device;
(b) at the speech synthesizing device, receiving the block of LPC coefficients, storing the LPC coefficients in a queue, and during the predetermined period of time, reading the LPC coefficients out of the queue, converting the LPC coefficients into the audio signal, providing the audio signal to the speaker, and transmitting the return data to the master device; and
(c) periodically repeating steps (a) and (b) to cause the speech synthesizing device to continuously convert the LPC coefficients into the audio signal whicle the master device and the speech synthesizing device engage in bidirectional communications. - View Dependent Claims (22)
-
-
23. A communications system for providing bandwidth efficient, bidirectional communications over a single communications channel for controlling the operation of remote devices, comprising:
-
a computer system including a processing unit, a memory storage device coupled to the processing unit of the computer system, a master program module located in the memory storage device for providing instructions to the processing unit of the computer system, a speaker, and a display device, a link master controller, being functionally connected to the computer system and including a processing unit, and a transceiver system;
a remote device including a transceiver system, a speech synthesizer, a speaker, at least one motion servo motors, a data buffer, and at least one sensor device;
the computer system being operative to continuously provide an audio/video presentation on the speaker and display device;
during a first time period, the computer system being operative to;
retrieve control data from the memory storage device, the control data having a relationship with the current state of the audio/video presentation, and provide control data to the link master controller;
the link master controller being operative to;
receive the control data from the control system, encode the control data to reduce bandwidth requirements, and transmit the encoded control data to the remote device; and
the remote device being operative to;
receive the encoded control data, decode the encoded control data, place the control data into the data buffer, and operate on the control data in the data buffer by actuating at least one motion servo motor and providing data to the speech synthesizer; and
during a second time period, the remote device being operative to;
operate on the control data in the data buffer by actuating at least one motion servo motors and providing data to the speech synthesizer, formulate a response message based on the status of at least one sensor device, encode the response message, and transmit the encoded response message to the link master controller;
the link master controller being operative to;
receive the encoded response message from the remote device, decode the encoded response message, and provide the response message to the computer system; and
the computer system being operative to;
receive the response data from the link master controller, and alter the audio/video presentation in accordance with the response data. - View Dependent Claims (24, 25, 26, 27, 28)
initializing a last-encoded-data-element variable to a first logical value;
selecting a data element from the control data;
if the logical values of the data element and the last-encoded-data-element variable are not equal, encode the data element as a first data symbol and equate the last-encoded-data-element to the logical value of the data element;
if the logical values of the data element and the last-encoded-data-element variable are equal, select a next data element from the control data, if the logical values of the data element and the next data element are equal, encode the data element and the next data element as a second data symbol, and if the logical values of the data element and the next data element are not equal, encode the data element and the next data element as a third data symbol and equate the logical value of the last-encoded-data element to the logical value of the next data element; and
repeat the steps after the initialize step until each data element of the control data has been transferred.
-
-
27. The communications system of claim 23, wherein the link master controller and the remote device are operative to decode by:
-
initializing a last-decoded-data-element variable to the first logical value;
selecting a data symbol from the encoded data; and
converting the selected data symbol into one or more data elements by;
if the selected data symbol is a first data symbol, toggling the logical value of the last-decoded-data-element variable and equating a data element represented by the selected data symbol to the logical value of the last-decoded-data-element variable;
if the selected data symbol is a second data symbol, equating the logical value of a first data element represented by the selected data symbol to the logical value of the last-decoded-data-element, toggling the logical value of the last-decoded-data-element, equating a second data element represented by the selected data symbol to the logical value of the last-decoded-data-element; and
if the selected data symbol is a third data symbol, equating the logical value of a first and second data element represented by the selected data symbol to logical value of the last-decoded-data-element variable.
-
-
28. The communications system of claim 23, wherein the first time period and the second time period are selected to ensure that the data buffer in the remote device will contain enough control data to allow the remote device to operate on the control data in the data buffer during the entire second time period.
Specification